ಲಿನಕ್ಸ್‌ನಲ್ಲಿ /dev/tpm0, /dev/tpmrm0, ಮತ್ತು tpm2_pcrread ಮತ್ತು tpm2_pcr_extend ಆಜ್ಞೆಗಳಿಗೆ ಸಂಪೂರ್ಣ ಮಾರ್ಗದರ್ಶಿ.

  • TPM 2.0 ಅಳತೆ ಮಾಡಿದ ಬೂಟ್ ಮತ್ತು LUKS ಕೀಗಳನ್ನು PCR ಗಳಿಗೆ ಜೋಡಿಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಇದು PBA PIN ನೊಂದಿಗೆ ಸೂಕ್ತವಾಗಿದೆ.
  • PCR ಗಳನ್ನು ನಿರ್ವಹಿಸಲು /dev/tpmrm0 ಮತ್ತು tpm2_pcrread/tpm2_pcrextend ಬಳಸಿ.
  • ಯುಕೆಐ + ಪಿಸಿಆರ್ ನೀತಿಗೆ ಸಹಿ ಹಾಕಲಾಗಿದ್ದು, ಭದ್ರತೆಯನ್ನು ಕಳೆದುಕೊಳ್ಳದೆ ನವೀಕರಣಗಳನ್ನು ಸ್ಥಿರಗೊಳಿಸುತ್ತದೆ.
  • PBA ಮತ್ತು ಪ್ಯಾರಾಮೀಟರ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್‌ನೊಂದಿಗೆ ಕೋಲ್ಡ್ ಬೂಟ್ ಮತ್ತು ಸ್ನಿಫಿಂಗ್ ಅನ್ನು ತಗ್ಗಿಸಿ; ಚೇತರಿಕೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳಿ.

ಲಿನಕ್ಸ್‌ನಲ್ಲಿ TPM ಮತ್ತು tpm2 ಆಜ್ಞೆಗಳು

ಇತ್ತೀಚಿನ ವರ್ಷಗಳಲ್ಲಿ, TPM 2.0 ಮಾಡ್ಯೂಲ್‌ಗಳು ಹಾರ್ಡ್‌ವೇರ್ ರಹಸ್ಯದಿಂದ UEFI ಮತ್ತು ಸೆಕ್ಯೂರ್ ಬೂಟ್‌ನೊಂದಿಗೆ ಯಾವುದೇ ಆಧುನಿಕ ಕಂಪ್ಯೂಟರ್‌ನ ಸಾಮಾನ್ಯ ಭಾಗವಾಗಿದೆ. ಈ ಲೇಖನವು /dev/tpm0 ಮತ್ತು /dev/tpmrm0 ಎಂದರೇನು ಮತ್ತು tpm2_pcrread ಮತ್ತು tpm2_pcrextend ಗಳನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ. (ಹಾಗೆಯೇ tpm2-tools ನಲ್ಲಿ ಅದರ ನಿಜವಾದ ಆಜ್ಞೆ), ಹಾಗೆಯೇ ಅವು Linux ನಲ್ಲಿ ಅಳತೆ ಮಾಡಲಾದ ಬೂಟ್, ಡಿಸ್ಕ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಮತ್ತು ಸಹಿ ಮಾಡಿದ PCR ನೀತಿಗಳಿಗೆ ಹೇಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತವೆ ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ.

ಉಪಯುಕ್ತ ದಸ್ತಾವೇಜನ್ನು ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ, ಆದರೆ ಅದು systemd ಮ್ಯಾನ್ ಪುಟಗಳು, ವಿಕಿ ನಮೂದುಗಳು ಮತ್ತು ಬಹಳ ದಟ್ಟವಾದ ಪೋಸ್ಟ್‌ಗಳಲ್ಲಿ ಹರಡಿಕೊಂಡಿದೆ; ಇಲ್ಲಿ ನಾವು ಎಲ್ಲಾ ಪ್ರಮುಖ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುತ್ತೇವೆ (PCR ಗಳು, ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳು, ಅಪಾಯಗಳು ಮತ್ತು ರಕ್ಷಣೆಗಳು) ಇದರಿಂದ ತಾಂತ್ರಿಕ ಜನರು, ಅವರು TPM ತಜ್ಞರಲ್ಲದಿದ್ದರೂ ಸಹ, ಅಸ್ಪಷ್ಟ ವಿವರಗಳಲ್ಲಿ ಕಳೆದುಹೋಗದೆ ಈ ಪರಿಕರಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಬಹುದು.

TPM 2.0 ಎಂದರೇನು ಮತ್ತು ನೀವು ಏಕೆ ಕಾಳಜಿ ವಹಿಸಬಹುದು?

ಟ್ರಸ್ಟೆಡ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಮಾಡ್ಯೂಲ್ ಎನ್ನುವುದು ನಿಮ್ಮ ಮದರ್‌ಬೋರ್ಡ್‌ನಲ್ಲಿ (ಅಥವಾ fTPM/Intel PTT ನಂತಹ CPU ಒಳಗೆ) ವಾಸಿಸುವ ಭದ್ರತಾ ಚಿಪ್ ಆಗಿದ್ದು, ಸುರಕ್ಷಿತ ಅಂಗಡಿ, ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆ ಜನರೇಟರ್ ಮತ್ತು ವ್ಯವಸ್ಥೆಗೆ ನಂಬಿಕೆಯ ಮೂಲವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಅದು ನಿಷ್ಕ್ರಿಯ: ನೀವು ಅದನ್ನು ಬಳಸದಿದ್ದರೆ, ಅದು ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ., ಆದರೆ ನೀವು ಅದನ್ನು ನಿಮ್ಮ ಬೂಟ್ ಫ್ಲೋ ಮತ್ತು ಡಿಸ್ಕ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್‌ಗೆ ಸಂಯೋಜಿಸಿದಾಗ, ಅದು ಸಮಗ್ರತೆಯ ಪರಿಶೀಲನೆ ಮತ್ತು ಹಾರ್ಡ್‌ವೇರ್-ರಕ್ಷಿತ ಕೀಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.

ಪ್ರಾಯೋಗಿಕವಾಗಿ, TPM 2.0 ಡಿಸ್ಕ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್‌ನಲ್ಲಿ ಎರಡು ಪ್ರಮುಖ ವಿಧಾನಗಳನ್ನು ಬಳಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ: a) ಬಲವಾದ ಕೀಲಿಯನ್ನು ರಚಿಸಿ/ಉಳಿಸಿ ಮತ್ತು ಆಂಟಿ-ಬ್ರೂಟ್ ಫೋರ್ಸ್ ಲಾಕ್‌ನೊಂದಿಗೆ PIN ನೊಂದಿಗೆ ಅದರ ಬಳಕೆಯನ್ನು ರಕ್ಷಿಸಿ; b) ಅಳತೆ ಮಾಡಲಾದ ಬೂಟ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ, ಅಲ್ಲಿ ಪ್ರತಿಯೊಂದು ಬೂಟ್ ಘಟಕವನ್ನು PCR ದಾಖಲೆಗಳಲ್ಲಿ ಅಳೆಯಲಾಗುತ್ತದೆ., ಆದ್ದರಿಂದ ಸಿಸ್ಟಮ್ ಅನ್ನು ಟ್ಯಾಂಪರ್ ಮಾಡದಿದ್ದರೆ (ಮತ್ತು ಐಚ್ಛಿಕವಾಗಿ ಪೂರ್ವ-ಬೂಟ್ ಪಿನ್‌ನೊಂದಿಗೆ) ಮಾತ್ರ ಕೀಲಿಯನ್ನು "ಬಿಚ್ಚಲಾಗುತ್ತದೆ".

/dev/tpm0 ಮತ್ತು /dev/tpmrm0: ವ್ಯತ್ಯಾಸಗಳು ಮತ್ತು ಪ್ರತಿಯೊಂದನ್ನು ಯಾವಾಗ ಬಳಸಬೇಕು

TPM 2.0 ಲಭ್ಯವಿರುವಾಗ Linux ನಲ್ಲಿ ನೀವು ಎರಡು ಅಕ್ಷರ ಸಾಧನಗಳನ್ನು ನೋಡುತ್ತೀರಿ. /dev/tpm0 ಎಂಬುದು TPM ನ "ಕಚ್ಚಾ" ಇಂಟರ್ಫೇಸ್ ಆಗಿದೆ.ಹಾಗೆಯೇ /dev/tpmrm0 ಸಂಪನ್ಮೂಲ ವ್ಯವಸ್ಥಾಪಕರ ಮೂಲಕ ಪ್ರವೇಶವನ್ನು ಬಹಿರಂಗಪಡಿಸುತ್ತದೆ (ಕ್ಲೈಂಟ್‌ಗಳನ್ನು ಗುಣಿಸುವ, ಅವಧಿಗಳು ಮತ್ತು ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿರ್ವಹಿಸುವ ವ್ಯವಸ್ಥಾಪಕ), ಹೆಚ್ಚಿನ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ tpm2-ಟೂಲ್ಸ್‌ನಿಂದ ಶಿಫಾರಸು ಮಾಡಲ್ಪಟ್ಟ ಒಂದಾಗಿದೆ.

TPM ಅಸ್ತಿತ್ವದಲ್ಲಿದೆಯೋ ಇಲ್ಲವೋ ಎಂದು ನಿಮಗೆ ಖಚಿತವಿಲ್ಲದಿದ್ದರೆ, ನೀವು ಅದನ್ನು ಹಾಟ್-ಟೆಸ್ಟ್ ಮಾಡಬಹುದು. /sys/class/tpm/ ಖಾಲಿಯಾಗಿದ್ದರೆ ಅಥವಾ ವಿಕಿ ಆಜ್ಞೆಯು ಏನನ್ನೂ ಹಿಂತಿರುಗಿಸದಿದ್ದರೆ, ಯಾವುದೇ TPM ಗೋಚರಿಸುವುದಿಲ್ಲ: ಇದು ಭೌತಿಕವಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದಿರಬಹುದು ಅಥವಾ ಫರ್ಮ್‌ವೇರ್‌ನಲ್ಲಿ ನಿಷ್ಕ್ರಿಯಗೊಂಡಿರಬಹುದು.

# ¿Hay TPM 2.0?
ls /sys/class/tpm/
cat /sys/class/tpm/tpm*/tpm_version_major
# Dispositivos
ls -l /dev/tpm*

ಎರಡೂ ಸಾಧನ ನೋಡ್‌ಗಳು ಇದ್ದಾಗ, tpm2-ಪರಿಕರಗಳು ಸಾಮಾನ್ಯವಾಗಿ /dev/tpmrm0 ಅನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತವೆ ಮತ್ತು ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬಳಸುತ್ತವೆ. ನೀವು ಸಾಧನವನ್ನು ಒತ್ತಾಯಿಸಬೇಕಾದರೆ, ಹೆಚ್ಚಿನ ಉಪಕರಣಗಳು -tcti ಅನ್ನು ಸ್ವೀಕರಿಸುತ್ತವೆ ಅಥವಾ TCTI ಪರಿಸರ ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ಬಳಸಿ, ಆದರೆ ಸಾಮಾನ್ಯ ಕಾರ್ಯಗಳಿಗೆ ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಅಗತ್ಯವಿಲ್ಲ.

ಟಿಪಿಎಂ ಪಿಸಿಆರ್‌ಗಳು: ಅವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಮತ್ತು ಅವು ಏನನ್ನು ಅಳೆಯುತ್ತವೆ

ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಕಾನ್ಫಿಗರೇಶನ್ ರಿಜಿಸ್ಟರ್‌ಗಳು ಪ್ರತಿ ಬೂಟ್ ಹಂತದಲ್ಲಿ ನಿರ್ಣಾಯಕ ಘಟಕಗಳ ಸ್ಥಿತಿಯ ಹ್ಯಾಶ್‌ಗಳನ್ನು (ಸಾಮಾನ್ಯವಾಗಿ SHA-256) ಸಂಗ್ರಹಿಸುವ ದಾಖಲೆಗಳಾಗಿವೆ. ಅವುಗಳನ್ನು ಪವರ್-ಅಪ್ ಚಕ್ರದಲ್ಲಿ ಶೂನ್ಯಕ್ಕೆ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅವುಗಳನ್ನು "ವಿಸ್ತರಿಸಬಹುದು".: ಎಂದಿಗೂ ಪುನಃ ಬರೆಯಬೇಡಿ ಅಥವಾ ಅಳಿಸಬೇಡಿ (PCR 16 ನಂತಹ ಡೀಬಗ್ ಪ್ರಕರಣಗಳನ್ನು ಹೊರತುಪಡಿಸಿ).

ಮೂಲಭೂತ ಕಾರ್ಯಾಚರಣೆಯು ವಿಸ್ತರಣೆಯಾಗಿದೆ: ಹೊಸ_ಮೌಲ್ಯ = SHA256(ಪ್ರಸ್ತುತ_ಮೌಲ್ಯ || SHA256(ಡೇಟಾ))ಅವಕಾಶವಾದಿ ಮರುಹೊಂದಿಕೆಗಳನ್ನು ಅನುಮತಿಸದೆ ಅಳತೆಗಳನ್ನು ಒಟ್ಟಿಗೆ ಜೋಡಿಸುವುದು ಹೀಗೆ. ಈ ಮಾದರಿಯನ್ನು ಫರ್ಮ್‌ವೇರ್, ಕಾನ್ಫಿಗರೇಶನ್, ಸೆಕ್ಯೂರ್ ಬೂಟ್, ಕರ್ನಲ್, ಇನಿಟ್ರಡ್ ಮತ್ತು ಕರ್ನಲ್ ನಿಯತಾಂಕಗಳನ್ನು ಅಳೆಯಲು ಬಳಸಲಾಗುತ್ತದೆ.

ಆಧುನಿಕ ಉಪಕರಣಗಳಲ್ಲಿ ನೀವು 24 PCR ಗಳನ್ನು ನೋಡುತ್ತೀರಿ (0–23). systemd ನೊಂದಿಗೆ UEFI ಬೂಟ್‌ನಲ್ಲಿ ಅತ್ಯಂತ ಪ್ರಸ್ತುತವಾದವುಗಳು:
– PCR 0: ಫರ್ಮ್‌ವೇರ್ ಕೋಡ್.
– PCR 1: ಫರ್ಮ್‌ವೇರ್ ಕಾನ್ಫಿಗರೇಶನ್ (UEFI ಸೆಟ್ಟಿಂಗ್‌ಗಳು).
– PCR 7: ಸುರಕ್ಷಿತ ಬೂಟ್ ಸ್ಥಿತಿ ಮತ್ತು ಅದು ನಂಬುವ ಪ್ರಮಾಣಪತ್ರಗಳು.
– PCR 9: ಕರ್ನಲ್‌ನಿಂದ ಅಳೆಯಲಾದ initrd(ಗಳು).
– PCR 11: UKI (ಯೂನಿಫೈಡ್ ಕರ್ನಲ್ ಇಮೇಜ್) ಮತ್ತು systemd-stub/systemd-pcrphase ಮೂಲಕ ಹಂತದ ಗುರುತುಗಳು.
– PCR 12: ಕರ್ನಲ್ ಕಮಾಂಡ್ ಲೈನ್.

tpm2-ಪರಿಕರಗಳೊಂದಿಗೆ PCR ಗಳನ್ನು ಓದಿ ಮತ್ತು ವಿಸ್ತರಿಸಿ: tpm2_pcrread ಮತ್ತು tpm2_pcr_extend

tpm2-ಟೂಲ್‌ಗಳಲ್ಲಿ ಓದುವಿಕೆಯನ್ನು ಇದರೊಂದಿಗೆ ಮಾಡಲಾಗುತ್ತದೆ tpm2_pcrread ಮತ್ತು ಇದರೊಂದಿಗೆ ವಿಸ್ತರಣೆ tpm2_pcrextend ನಲ್ಲಿ. ನೀವು ಕೆಲವೊಮ್ಮೆ "tpm2_pcr_extend" ಅನ್ನು ವಿಸ್ತರಿಸುವ ಪರಿಕಲ್ಪನಾ ಕಾರ್ಯಾಚರಣೆ ಎಂದು ಉಲ್ಲೇಖಿಸುವುದನ್ನು ನೋಡುತ್ತೀರಿ, ಆದರೆ ನಿಜವಾದ ಸೂಟ್ ಆಜ್ಞೆಯು tpm2_pcrextend ಆಗಿದೆ..

ಪಿಸಿಆರ್‌ಗಳ ಪ್ರಸ್ತುತ ಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಲು SHA-256, ಇದು ಸರಳವಾಗಿದೆ:

# Leer PCRs en SHA-256 (ejemplos de índices habituales)
sudo tpm2_pcrread sha256:0,1,7,9,11,12

# O todos los PCRs SHA-256 disponibles
tpm2_pcrread sha256:all

ಅನಿಯಂತ್ರಿತ ಡೇಟಾದ ಹ್ಯಾಶ್‌ನೊಂದಿಗೆ PCR ಅನ್ನು ವಿಸ್ತರಿಸಲು (ಶಿಕ್ಷಣದ ಉದಾಹರಣೆಯಾಗಿ, /etc/passwd ನ ಹ್ಯಾಶ್), SHA-256 ಅನ್ನು ಲೆಕ್ಕಹಾಕಿ ಮತ್ತು ಅದನ್ನು ವಿಸ್ತರಿಸಿ. ನೆನಪಿಡಿ: TPM ದೈತ್ಯಾಕಾರದ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸುವುದಿಲ್ಲ, ಆದರೆ ಅದರ ಹ್ಯಾಶ್, ಮಿತಿಗಳು ಮತ್ತು ವಿನ್ಯಾಸದಿಂದ.

# 1) Guardar el hash de /etc/passwd
echo -n $(sha256sum /etc/passwd | cut -d' ' -f1) > passwd.sha

# 2) Extender PCR 7 (ejemplo) con el hash previo
sudo tpm2_pcrextend 7:sha256=$(cat passwd.sha)

# 3) Ver el nuevo valor del PCR 7
tpm2_pcrread sha256:7

ನೀವು TPM ಹೊರಗೆ ವಿಸ್ತರಣಾ ಗಣಿತವನ್ನು ಪುನರುತ್ಪಾದಿಸಲು ಬಯಸಿದರೆ, ನೀವು ಪ್ರಸ್ತುತ PCR ಮೌಲ್ಯವನ್ನು (ಬೈನರಿ) ಹೊಸ ಹ್ಯಾಶ್‌ನೊಂದಿಗೆ ಸಂಯೋಜಿಸುತ್ತೀರಿ. ಮತ್ತು ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸಲು ನೀವು ಮತ್ತೊಮ್ಮೆ SHA-256 ಅನ್ನು ಅನ್ವಯಿಸುತ್ತೀರಿ.

PCR ಅನ್ನು ಮರುಹೊಂದಿಸಬಹುದೇ?

ಸಾಮಾನ್ಯ ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ, ಇಲ್ಲ. ಪಿಸಿಆರ್ ವಿಸ್ತರಣೆಗಳೊಂದಿಗೆ ಮಾತ್ರ ಬೆಳೆಯುತ್ತದೆ ಎಂಬುದು ತತ್ವಶಾಸ್ತ್ರ.ಒಂದು ಅಪವಾದವಿದೆ: PCR 16 ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ "ಡೀಬಗ್" ಗಾಗಿ ಕಾಯ್ದಿರಿಸಲಾಗಿದೆ ಮತ್ತು ಕೆಲವು ಹರಿವುಗಳಲ್ಲಿ ಮರುಹೊಂದಿಸಬಹುದು, ಆದರೆ ಇದು ನಿಮ್ಮ ನೀತಿಯ ಭದ್ರತಾ ಮೂಲವಾಗಿ ಉಪಯುಕ್ತವಲ್ಲ.

ಅಳತೆ ಮಾಡಿದ ಬೂಟ್, LUKS, ಮತ್ತು systemd-cryptenroll: ತುಣುಕುಗಳನ್ನು ಒಟ್ಟಿಗೆ ಸೇರಿಸುವುದು

ನೀವು TPM ಅನ್ನು ನಿಮ್ಮ ಡಿಸ್ಕ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್‌ಗೆ ಸಂಯೋಜಿಸಿದಾಗ, ನೀವು ಕೀ ಅನ್‌ಲಾಕ್ ಅನ್ನು PCR ಗಳ ಗುಂಪಿಗೆ "ಬೈಂಡ್" ಮಾಡಬಹುದು. ಪ್ರಸ್ತುತ ಬೂಟ್‌ನಲ್ಲಿ ಆ PCR ಗಳು ನೀವು ಕೀಲಿಯನ್ನು ನೋಂದಾಯಿಸಿದಾಗ ಅದೇ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, TPM ಅನ್ನು ಅನ್‌ಸೀಲ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು LUKS ವಾಲ್ಯೂಮ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತೆರೆಯಲ್ಪಡುತ್ತದೆ (ನಿಮ್ಮ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಅವಲಂಬಿಸಿ, ಪೂರ್ವ-ಬೂಟ್ ಪಿನ್‌ನೊಂದಿಗೆ ಅಥವಾ ಇಲ್ಲದೆ).

ಇದನ್ನು systemd-cryptenroll ಮತ್ತು systemd-cryptsetup ನೊಂದಿಗೆ ಬಹಳ ಚೆನ್ನಾಗಿ ಮಾಡಲಾಗುತ್ತದೆ. ನಿಮ್ಮ ವಾಲ್ಯೂಮ್ ಅನ್ನು ರಚಿಸುವುದು, TPM ಕೀಲಿಯನ್ನು ನೋಂದಾಯಿಸುವುದು ಮತ್ತು ಮರುಪಡೆಯುವಿಕೆ ಕೀಲಿಯನ್ನು ಸೇರಿಸುವುದು ಇದರ ಉದ್ದೇಶವಾಗಿದೆ. ಆದ್ದರಿಂದ ಅಳತೆಗಳು ಬದಲಾದರೆ (ಉದಾಹರಣೆಗೆ, ಫರ್ಮ್‌ವೇರ್ ಅಥವಾ ಕರ್ನಲ್ ಅನ್ನು ನವೀಕರಿಸಿದ ನಂತರ) ನೀವು ಹೊರಗುಳಿಯುವುದಿಲ್ಲ.

# Ejemplo: crear LUKS, matricular TPM y añadir recuperación (pseudoflujo)
# 1) Crear el volumen con contraseña temporal
sudo cryptsetup luksFormat /dev/nvme0n1p2

# 2) Matricular TPM en LUKS usando PCRs concretos y PIN
sudo systemd-cryptenroll \
  --tpm2-device=auto \
  --tpm2-with-pin=yes \
  --tpm2-pcrs=1+2+3+4 \
  --wipe-slot=empty \
  /dev/nvme0n1p2

# 3) Añadir clave de recuperación aleatoria
sudo systemd-cryptenroll --recovery-key /dev/nvme0n1p2

# 4) Abrir con TPM o con recovery cuando proceda
systemd-cryptsetup attach root /dev/nvme0n1p2 - tpm2-device=auto

ನೀವು ವ್ಯತ್ಯಾಸವನ್ನು ಒತ್ತಾಯಿಸಿದರೆ (ಉದಾಹರಣೆಗೆ, ನೀವು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ PCR 4 ಅನ್ನು ವಿಸ್ತರಿಸುತ್ತಿದ್ದೀರಿ.), TPM ಇನ್ನು ಮುಂದೆ ಕೀಲಿಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡುವುದಿಲ್ಲ ಮತ್ತು ನೀವು ಮರುಪಡೆಯುವಿಕೆ ಕೀಲಿಯನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ. ನಂತರ ನೀವು ಹೊಸ ಪ್ರಸ್ತುತ ಮೌಲ್ಯಗಳೊಂದಿಗೆ TPM ಅನ್ನು ಮರು-ನೋಂದಣಿ ಮಾಡಿಕೊಳ್ಳಬಹುದು –ವೈಪ್-ಸ್ಲಾಟ್=tpm2 ಮತ್ತು systemd-cryptenroll ನ ಮತ್ತೊಂದು ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆ.

ಯಾವ ಪಿಸಿಆರ್‌ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಬೇಕು ಮತ್ತು ಏಕೆ

ನೀವು ಹೆಚ್ಚು ಪ್ರಸ್ತುತವಾದ PCR ಗಳನ್ನು ಲಿಂಕ್ ಮಾಡಿದಷ್ಟೂ, ನೀವು ಮೇಲ್ಮೈ ವಿಸ್ತೀರ್ಣವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತೀರಿ, ಆದರೆ ಕಾನೂನುಬದ್ಧ ಬದಲಾವಣೆಗಳ ನಂತರ ನೀವು ಹೆಚ್ಚಾಗಿ ಮರು-ನೋಂದಣಿ ಮಾಡಿಕೊಳ್ಳಬೇಕಾಗುತ್ತದೆ. ಕೆಲವು ಪ್ರಾಯೋಗಿಕ ಮಾನದಂಡಗಳು:
– PCR 7 (ಸುರಕ್ಷಿತ ಬೂಟ್): ನಿಮ್ಮ ಕೀಸೆಟ್ ಬದಲಾಗದಿದ್ದರೆ ಅದು ತುಂಬಾ ಸ್ಥಿರವಾಗಿರಬೇಕು.
– PCR 0/1 (ಫರ್ಮ್‌ವೇರ್ ಮತ್ತು ಕಾನ್ಫಿಗರೇಶನ್): ಇವು ವಿರಳವಾಗಿ ಬದಲಾಗುತ್ತವೆ; ಫರ್ಮ್‌ವೇರ್ ಅನ್ನು ನವೀಕರಿಸಿದ ನಂತರ ಅಥವಾ BIOS/UEFI ಅನ್ನು ಬದಲಾಯಿಸಿದ ನಂತರ ಅವುಗಳಿಗೆ ಮರು-ನೋಂದಣಿ ಅಗತ್ಯವಿರುತ್ತದೆ.
– PCR 9/11/12 (ಕರ್ನಲ್, initrd, UKI ಮತ್ತು cmdline): ನೀವು UKI ಅಥವಾ ಸ್ಥಿರ ಸಹಿ/ನೀತಿಯನ್ನು ಬಳಸದಿದ್ದರೆ ಇವು ಆಗಾಗ್ಗೆ ಬದಲಾಗುತ್ತವೆ.

ಕೆಲವು ಪರಿಸರಗಳಲ್ಲಿ, ಸೆಕ್ಯೂರ್ ಬೂಟ್ ಕರ್ನಲ್ ಮತ್ತು ಇನಿಟ್ರಾಡಿಯನ್ನು ಪರಿಶೀಲಿಸುವ ಮೂಲಕ ಮತ್ತು ಸಿಗ್ನೇಚರ್ಡ್ ಯುಕೆಐ ಆಗಿ ಪ್ರಾರಂಭಿಸಿದ್ದರೆ ಮತ್ತು ಸಿಸ್ಟಮ್‌ಡಿ-ಬೂಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಪಿಸಿಆರ್ 7 ಅನ್ನು ಮಾತ್ರ ಲಿಂಕ್ ಮಾಡುವುದು ಕಂಡುಬಂದಿದೆ, ಇದು SB ಸಕ್ರಿಯವಾಗಿದ್ದಾಗ ಕರ್ನಲ್ ನಿಯತಾಂಕಗಳನ್ನು ಸಂಪಾದಿಸಲು ಅನುಮತಿಸುವುದಿಲ್ಲ.. ಅದು ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಆದರೆ ನಿಮ್ಮ ಸೆಕ್ಯೂರ್ ಬೂಟ್ ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಕೀಗಳನ್ನು (ಮೈಕ್ರೋಸಾಫ್ಟ್ 3 ನೇ ವ್ಯಕ್ತಿಯಂತಹ) ಅವಲಂಬಿಸಿದ್ದರೆ, PCR 7 ಅನ್ನು ಸಂರಕ್ಷಿಸುವ ಪರ್ಯಾಯ ಬೂಟ್ ಅನ್ನು ಆರ್ಕೆಸ್ಟ್ರೇಟ್ ಮಾಡುವುದು ಸುಲಭ ಮತ್ತು ಆದ್ದರಿಂದ ಇದು ಅತ್ಯಂತ ನಿರ್ಬಂಧಿತ ಆಯ್ಕೆಯಲ್ಲ..

ಯುಕೆಐ ಮತ್ತು ಪಿಸಿಆರ್ ನೀತಿಗಳಿಗೆ ಸಹಿ ಹಾಕಲಾಗಿದೆ: ಭದ್ರತೆಯನ್ನು ಕಳೆದುಕೊಳ್ಳದೆ ಸ್ಥಿರತೆ

ನೀವು ಪ್ರತಿ ಬಾರಿ ಕರ್ನಲ್ ಅನ್ನು ನವೀಕರಿಸಿದಾಗ ಮರು-ನೋಂದಣಿ ಮಾಡುವುದನ್ನು ತಪ್ಪಿಸಲು ಒಂದು ಪ್ರಾಯೋಗಿಕ ಪರಿಹಾರವೆಂದರೆ ಯುಕೆಐ (ಏಕೀಕೃತ ಕರ್ನಲ್ ಇಮೇಜ್) ಮತ್ತು ಸಹಿ ಮಾಡಿದ ಪಿಸಿಆರ್ ನೀತಿನೀವು ಒಂದು ಕೀ ಜೋಡಿಯನ್ನು ರಚಿಸಿ, ನೋಂದಣಿಯ ನಂತರ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು TPM ಗೆ ಬಂಧಿಸಿ, ಮತ್ತು ಪ್ರತಿ ನವೀಕರಣದ ನಂತರ ನಿಮ್ಮ UKI ಗೆ ಸಹಿ ಮಾಡಿ. TPM ಆ ಸಹಿಯನ್ನು ನಂಬುತ್ತದೆ ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಕರ್ನಲ್ ಹ್ಯಾಶ್ ಬದಲಾದರೂ ಅನ್‌ಲಾಕ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.

systemd-ಅಳತೆ ಉಪಕರಣ ಮತ್ತು systemd-ukify ಸಹಾಯಕ ಇದನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ: ukify ಪ್ಯಾಕೇಜುಗಳು ಕರ್ನಲ್, initrd ಮತ್ತು cmdline ಅನ್ನು UKI ಗೆ ಪರಿವರ್ತಿಸಿ (ಸಾಮಾನ್ಯವಾಗಿ PCR 11 ರಲ್ಲಿ ಅಳೆಯಲಾಗುತ್ತದೆ) ಮತ್ತು systemd-ಅಳತೆ ನೀತಿಯನ್ನು ಸಹಿ ಮಾಡುತ್ತದೆ. mkinitcpio ನೊಂದಿಗೆ, ukify ಅನ್ನು ಸಂಯೋಜಿಸಬಹುದು ಆದ್ದರಿಂದ ಅನುಸ್ಥಾಪನೆಯ ನಂತರ ಸಹಿ ಸ್ವತಃ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತದೆ.

# Esquema típico (pseudocomandos)
# 1) Crear claves para política PCR firmada
openssl genpkey -algorithm RSA -out /etc/kernel/pcr-initrd.key.pem -pkeyopt rsa_keygen_bits:3072
openssl req -new -x509 -key /etc/kernel/pcr-initrd.key.pem -out /etc/kernel/pcr-initrd.pub.pem -subj "/CN=UKI PCR Policy"

# 2) Configurar ukify/mkinitcpio para generar UKI y firmar política
# (consultar man ukify y systemd-measure para parámetros)

# 3) Matricular en LUKS atando PCRs y clave pública de la política
sudo systemd-cryptenroll \
  --tpm2-device=auto \
  --wipe-slot=tpm2 \
  --tpm2-with-pin=yes \
  --tpm2-pcrs=0+1+2+7 \
  --tpm2-public-key=/etc/kernel/pcr-initrd.pub.pem \
  --tpm2-public-key-pcrs=11 \
  /dev/nvme0n1p2

ಈ ರೀತಿಯಾಗಿ, ನೀವು ನಿಮ್ಮ ಕೀಲಿಯೊಂದಿಗೆ UKI ಗೆ ಸಹಿ ಮಾಡುವುದನ್ನು ಮುಂದುವರಿಸುವವರೆಗೆ, ಕರ್ನಲ್/initrd ಬದಲಾವಣೆಗಳ ವಿರುದ್ಧ ನಿಮ್ಮ ನೀತಿಯು ಸ್ಥಿರವಾಗಿರುತ್ತದೆ.ನೀವು ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ನವೀಕರಿಸಿದರೆ ಅಥವಾ ನಿಮ್ಮ PCR ಸೆಟ್ ಅನ್ನು ಬದಲಾಯಿಸಿದರೆ, ನೀವು ಮರು-ನೋಂದಣಿ ಮಾಡಿಕೊಳ್ಳಬೇಕಾಗುತ್ತದೆ.

systemd ಯೊಂದಿಗೆ ಅಳತೆ ಸರಪಳಿಗಳ ಉದಾಹರಣೆಗಳು

ಬೂಟ್ ಸಮಯದಲ್ಲಿ, systemd-stub ಮತ್ತು systemd-pcrphase ನಿರ್ದಿಷ್ಟ ಸಮಯಗಳಲ್ಲಿ PCR ಗಳನ್ನು ವಿಸ್ತರಿಸುತ್ತವೆ. ಉದಾಹರಣೆಗೆ, “enter-initrd” ಅನ್ನು PCR 11 ರಲ್ಲಿ ದಾಖಲಿಸಲಾಗಿದೆ., ಅನ್‌ಲಾಕ್ ಅನ್ನು initrd ಒಳಗೆ ಮಾತ್ರ ಮಾನ್ಯವಾಗಿಡಲು ಅನುಮತಿಸುತ್ತದೆ (ಆಕ್ರಮಣಕಾರನು ನಂತರ ಕೀಲಿಯನ್ನು ಮರುಬಳಕೆ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿದಾಗ ವೆಕ್ಟರ್‌ಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ).

UKI ಇರುವ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, UKI ವಿಷಯವನ್ನು PCR 11 ರಲ್ಲಿ ಅಳೆಯಲಾಗುತ್ತದೆ; UKI ಇಲ್ಲದ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಕರ್ನಲ್ PCR 9 ರಲ್ಲಿ initrd ಗಳನ್ನು ಅಳೆಯುತ್ತದೆ. ಮತ್ತು ಬೂಟ್‌ಲೋಡರ್ PCR 12 ರಲ್ಲಿ cmdline ಅನ್ನು ಅಳೆಯಬಹುದು. ನಿಮ್ಮ ಪಾಲಿಸಿಯಲ್ಲಿ initrd ಮತ್ತು cmdline ಅನ್ನು ಒಳಗೊಳ್ಳುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ, ಇಲ್ಲದಿದ್ದರೆ ಯಾರಾದರೂ ಮಾಡಬಹುದು ಹಿಂಬಾಗಿಲಿನವನು initrd ಅಥವಾ ದುರುದ್ದೇಶಪೂರಿತ cmdline ನಂತಹ ಬೂಟ್ init=/ಬಿನ್/ಬ್ಯಾಷ್.

ನಿಜವಾದ ಅಪಾಯಗಳು: ಕೋಲ್ಡ್ ಬೂಟ್, TPM ಸ್ನಿಫಿಂಗ್, ಮತ್ತು ಇನ್ನಷ್ಟು

ಏನು ತಪ್ಪಾಗಬಹುದು? ಬೆದರಿಕೆಗಳನ್ನು ಮಾಡೆಲಿಂಗ್ ಮಾಡುವಾಗ ತಿಳಿದುಕೊಳ್ಳಬೇಕಾದ ಹಲವಾರು ವಿಷಯಗಳು. ಕೋಲ್ಡ್ ಬೂಟ್ ದಾಳಿಗಳು ಇನ್ನೂ ಕಾರ್ಯಸಾಧ್ಯವಾಗಿವೆ: ಅನ್‌ಲಾಕ್ ಸಂಪೂರ್ಣವಾಗಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿದ್ದರೆ, ಆಕ್ರಮಣಕಾರರು ಅನಿಯಮಿತ ಪ್ರಯತ್ನಗಳನ್ನು ಪುನರಾವರ್ತಿಸಬಹುದು. ಸ್ಪಷ್ಟವಾದ ತಗ್ಗಿಸುವಿಕೆಯು ಪೂರ್ವ-ಬೂಟ್ ಪಿನ್ (PBA) ಅಗತ್ಯವಿರುತ್ತದೆ, ಇದು ಪ್ರತಿ ಪವರ್ ಸೈಕಲ್‌ಗೆ ಒಂದಕ್ಕೆ ಪ್ರಯತ್ನಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.

ಇನ್ನೊಂದು ವರ್ಗವೆಂದರೆ ಟಿಪಿಎಂ ಬಸ್ ಮೇಲೆ ದಾಳಿಗಳುCPU ಕೀಲಿಯನ್ನು ವಿನಂತಿಸುತ್ತದೆ, TPM ಅದನ್ನು ಕಳುಹಿಸುತ್ತದೆ; ಲಿಂಕ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿದರೆ, ಕೀಲಿಯನ್ನು ಸೋರಿಕೆ ಮಾಡಬಹುದು. ಈ ಉದ್ದೇಶಕ್ಕಾಗಿ, systemd "ಪ್ಯಾರಾಮೀಟರ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್" ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ ಇದರಿಂದ ವಿನಿಮಯವು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಆಗುತ್ತದೆ; ಪರ್ಯಾಯವಾಗಿ, fTPM/Intel PTT ಅಥವಾ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಮೆಮೊರಿಯನ್ನು ಬಳಸುವುದರಿಂದ ಮಾನ್ಯತೆ ಕಡಿಮೆಯಾಗುತ್ತದೆ. ಪ್ರಮುಖ ಬ್ರಾಂಡ್ ಲ್ಯಾಪ್‌ಟಾಪ್‌ಗಳಲ್ಲಿನ ಕಾರ್ಯಸಾಧ್ಯತೆಯನ್ನು ವಿವರಿಸುವ ತುಲನಾತ್ಮಕವಾಗಿ ಕೈಗೆಟುಕುವ ಸಾರ್ವಜನಿಕ ಪ್ರದರ್ಶನಗಳು (ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್‌ಗಳೊಂದಿಗೆ ಸಹ) ಇವೆ.

ಶೈಕ್ಷಣಿಕ ಮತ್ತು ಪ್ರಾಯೋಗಿಕ ದುರ್ಬಲತೆಗಳೂ ಇವೆ: TPM-ವಿಫಲತೆ, ದೋಷTPM (AMD ಮೇಲೆ ಗಮನಾರ್ಹ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ) ಮತ್ತು ಪ್ರಕರಣ ಬಿಟ್‌ಪಿಕ್ಸಿ (CVE-2023-21563)ಇದರರ್ಥ TPM ನಿಷ್ಪ್ರಯೋಜಕ ಎಂದು ಅರ್ಥವಲ್ಲ, ಆದರೆ ನೀವು ನಿಮ್ಮ ಫರ್ಮ್‌ವೇರ್ ಅನ್ನು ನವೀಕೃತವಾಗಿರಿಸಿಕೊಳ್ಳಬೇಕು, ನಿಮ್ಮ ಬೆದರಿಕೆ ಮಾದರಿಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕು ಮತ್ತು ಅದನ್ನು ಕುರುಡಾಗಿ ನಂಬಬಾರದು.

ಈ ಬೆದರಿಕೆಗಳ ವಿರುದ್ಧ ಬಿಟ್‌ಲಾಕರ್ ಸ್ಥಿತಿ

ವಿಂಡೋಸ್ ಜಗತ್ತಿನಲ್ಲಿ, ಅತ್ಯಂತ ವ್ಯಾಪಕವಾಗಿ ನಿಯೋಜಿಸಲಾದ ಡಿಸ್ಕ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಬಿಟ್‌ಲಾಕರ್ ಆಗಿದೆ. ಇದನ್ನು ಈಗ ಗಮನಿಸಲಾಗಿದೆ ಅದರ ಡೀಫಾಲ್ಟ್ ಕಾನ್ಫಿಗರೇಶನ್ (TPM ನಲ್ಲಿ ಮಾತ್ರ ಸ್ವಯಂ ಅನ್‌ಲಾಕ್) ಇದು systemd-ಶೈಲಿಯ ಪ್ಯಾರಾಮೀಟರ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸದ ಕಾರಣ, ಕೋಲ್ಡ್ ಬೂಟ್ ಮತ್ತು TPM ಚಾನೆಲ್ ಸ್ನಿಫಿಂಗ್ ಎರಡಕ್ಕೂ ಬಾಗಿಲು ತೆರೆದಿಡುತ್ತದೆ. ಇದು ಕೆಲವು ಕಾರ್ಪೊರೇಟ್ ಕಂಪ್ಯೂಟರ್‌ಗಳನ್ನು ನಿಮಿಷಗಳಲ್ಲಿ ದಾಳಿಗೆ ಗುರಿಯಾಗಿಸುತ್ತದೆ.

ಸಕ್ರಿಯಗೊಳಿಸುವುದು ಶಿಫಾರಸು. ಪೂರ್ವ-ಬೂಟ್ ದೃಢೀಕರಣ ನೀತಿಗಳು/ನೋಂದಣಿ ಅಥವಾ CLI ಮೂಲಕ, ಸರಾಸರಿ ಬಳಕೆದಾರರಿಗೆ ಸಾಕಷ್ಟು ಒಡ್ಡಿಕೊಳ್ಳದ ವಿಷಯ. ಅಲ್ಲದೆ, ಮರುಪಡೆಯುವಿಕೆ ಕೀಲಿಯನ್ನು ಎಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಲು ಮರೆಯದಿರಿ: ಇದು ಹೆಚ್ಚಾಗಿ ಬಳಕೆದಾರರ Microsoft ಖಾತೆಯಲ್ಲಿ ಇರುತ್ತದೆ, ಅದು ಇದು ಮತ್ತೊಂದು ಅಪಾಯದ ಕೋನ. ನಿಯಂತ್ರಿಸದಿದ್ದರೆ.

ಆಕ್ರಮಣಕಾರಿ/ರಕ್ಷಣಾತ್ಮಕ ತಂತ್ರ: ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಒತ್ತಾಯಿಸಲು LUKS ರೂಟ್ ಅನ್ನು ಬದಲಾಯಿಸಿ

ಪೂರ್ವ-ಬೂಟ್ ದೃಢೀಕರಣವಿಲ್ಲದಿದ್ದಾಗ ಆಸಕ್ತಿದಾಯಕ ವೆಕ್ಟರ್ ಇರುತ್ತದೆ. ಆಕ್ರಮಣಕಾರನು ನಿಜವಾದ LUKS ವಿಭಾಗವನ್ನು ಕ್ಲೋನ್ ಮಾಡಬಹುದು, ಅದನ್ನು ಅದೇ UUID ಮತ್ತು ಅವನಿಗೆ ತಿಳಿದಿರುವ ಪಾಸ್‌ವರ್ಡ್‌ನೊಂದಿಗೆ ಮತ್ತೊಂದು LUKS ನೊಂದಿಗೆ ಬದಲಾಯಿಸಿ., ಮತ್ತು ಕಂಪ್ಯೂಟರ್ ಅನ್ನು ಬೂಟ್ ಮಾಡಿ. PCR ಅಳತೆಗಳು ಹೊಂದಿಕೆಯಾಗುವುದರಿಂದ, TPM ಕೀಲಿಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡುತ್ತದೆ, ಆದರೆ ಅದು ನಕಲಿ LUKS ಗೆ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ initrd "ಮರುಪಡೆಯುವಿಕೆ" ಕೀಲಿಯನ್ನು ಕೇಳುತ್ತದೆ. ದಾಳಿಕೋರರಿಗೆ ತಿಳಿದಿರುವ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸುವ ಮೂಲಕ, ನಿಮ್ಮ ಸಿಸ್ಟಮ್ initrd ನಲ್ಲಿ ರೂಟ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ನಂತರ ನೀವು ಮೂಲ ಕೀಲಿಯ ಕಳ್ಳತನವನ್ನು ಆಯೋಜಿಸಬಹುದು (ಉದಾಹರಣೆಗೆ, ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ನಿಜವಾದ ನಕಲನ್ನು ಆರೋಹಿಸುವ ಮೂಲಕ ಮತ್ತು systemd-cryptsetup ಅನ್ನು ಬಳಸುವ ಮೂಲಕ).

ತಗ್ಗಿಸುವಿಕೆಗಳನ್ನು ತೆರವುಗೊಳಿಸಿ: ಪೂರ್ವ-ಬೂಟ್ ದೃಢೀಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ, ಅನ್‌ಲಾಕಿಂಗ್ ಅನ್ನು initrd ಹಂತಕ್ಕೆ ಕಟ್ಟುನಿಟ್ಟಾಗಿ ಬಂಧಿಸಲು systemd-pcrphase ಅನ್ನು ಬಳಸಿಕೊಳ್ಳಿ ಮತ್ತು ಗುರಿ LUKS ಪರಿಮಾಣವನ್ನು ಅಳೆಯುವುದನ್ನು/ಬಂಧಿಸುವುದನ್ನು ಸಹ ಪರಿಗಣಿಸಿ (ದುಷ್ಟ ವೃತ್ತಗಳನ್ನು ತಪ್ಪಿಸಲು ಎಚ್ಚರಿಕೆಯಿಂದ ವಿನ್ಯಾಸದ ಅಗತ್ಯವಿದೆ).

ವಿಭಜನೆ ಮತ್ತು ಎರಡನೇ ಕೀಲಿಯನ್ನು ಆರಿಸುವುದು: ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು

ಕೀಪ್ ಮರುಪಡೆಯುವಿಕೆ ಕೀ ಇದು ಕಡ್ಡಾಯವಾಗಿದೆ: TPM ಅಥವಾ ಮದರ್‌ಬೋರ್ಡ್ ಸತ್ತರೆ, TPM ಗೆ ಕಟ್ಟಲಾದ ನಿಮ್ಮ ಕೀ ನಿಷ್ಪ್ರಯೋಜಕವಾಗಿರುತ್ತದೆ. LUKS ಬಹು ಸ್ಲಾಟ್‌ಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ (TPM ಒಂದನ್ನು ಬಳಸುತ್ತದೆ, ಚೇತರಿಕೆ ಇನ್ನೊಂದನ್ನು ಬಳಸುತ್ತದೆ). ಹೆಚ್ಚುವರಿಯಾಗಿ, / ಮತ್ತು /home ವಿಭಾಗಗಳನ್ನು ಬೇರ್ಪಡಿಸುವುದು ಪ್ರಯೋಜನಗಳನ್ನು ಹೊಂದಿದೆ: ನೀವು ಅರ್ಜಿ ಸಲ್ಲಿಸಬಹುದು TPM a/ ನೊಂದಿಗೆ ಕಟ್ಟುನಿಟ್ಟಾದ ಅಳತೆ ಮತ್ತು /home ಗಾಗಿ ಬಲವಾದ ಕೀ ಅಥವಾ FIDO2/YubiKey ಸಾಧನವನ್ನು ಬಳಸಿ, ಒಂದೇ ಕಾರ್ಯವಿಧಾನದಲ್ಲಿ ಒಟ್ಟಾರೆ ನಂಬಿಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.

ನೀವು ಫರ್ಮ್‌ವೇರ್ ಅಥವಾ ಕರ್ನಲ್ ಅನ್ನು ನವೀಕರಿಸಿದಾಗ ಏನಾಗುತ್ತದೆ?

ನೀವು ಫರ್ಮ್‌ವೇರ್ ಬದಲಾಯಿಸಿದರೆ ಅಥವಾ UEFI ಆಯ್ಕೆಗಳನ್ನು ಸ್ಪರ್ಶಿಸಿದರೆ, 0/1 ನಂತಹ PCR ಗಳು ಬದಲಾಗುತ್ತವೆ ಮತ್ತು ನೀವು ಮರು-ನೋಂದಣಿ ಮಾಡಿಕೊಳ್ಳುವವರೆಗೆ TPM ಕೀಲಿಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡುವುದಿಲ್ಲ. ಫಾರ್ ಕರ್ನಲ್ ಮತ್ತು ಇನಿಟ್ರಡ್, ಬದಲಾವಣೆಗಳು ಆಗಾಗ್ಗೆ ಆಗುತ್ತವೆನೀವು ಸಹಿ ಮಾಡಿದ ನೀತಿಯೊಂದಿಗೆ UKI ಬಳಸದಿದ್ದರೆ, ಪ್ರತಿ ನವೀಕರಣವು ನಿಮ್ಮನ್ನು ಮರುಪ್ರಾಪ್ತಿ ಆಯ್ಕೆಯನ್ನು ಬಳಸಲು ಮತ್ತು ನಂತರ ಮರು ನೋಂದಾಯಿಸಲು ಒತ್ತಾಯಿಸಬಹುದು. ಸಹಿ ಮಾಡಿದ UKI ಯೊಂದಿಗೆ, ನೀವು ಅದಕ್ಕೆ ಸಹಿ ಮಾಡಿದರೆ ಸಾಕು.

ಸಮುದಾಯ ಟಿಪ್ಪಣಿಗಳು ಮತ್ತು ಅವಲೋಕನಗಳು

ಕೆಲವು ವಿತರಣೆಗಳ ಕೆಲವು ಜನಪ್ರಿಯ ಮಾರ್ಗದರ್ಶಿಗಳಲ್ಲಿ ಇದನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ UKI ಮತ್ತು systemd-boot ಬಳಸುವಾಗಲೆಲ್ಲಾ PCR 7 ಅನ್ನು ಮಾತ್ರ ಬಂಧಿಸಿ., ಸೆಕ್ಯೂರ್ ಬೂಟ್‌ನ ಸುರಕ್ಷತಾ ಕ್ರಮಗಳನ್ನು ಅವಲಂಬಿಸಿದೆ ಮತ್ತು cmdline ಅನ್ನು ಸಂಪಾದಿಸಲು ಅಸಮರ್ಥತೆ. ಇದು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ ನೀವು ಮೂರನೇ ವ್ಯಕ್ತಿಗಳನ್ನು ಅವಲಂಬಿಸಿದರೆ ಅಪಾಯಗಳಿವೆ. ಅನ್‌ಲಾಕ್ ಮಾಡಿದ ನಂತರ Enter ಅನ್ನು ಒತ್ತುವುದರಿಂದ ಚೇತರಿಕೆ ಶೆಲ್ ಕಾಣಿಸಿಕೊಳ್ಳುವ ದೋಷವನ್ನು ಹಿಂದೆ ದಾಖಲಿಸಲಾಗಿದೆ; ಆಶ್ಚರ್ಯಗಳನ್ನು ತಪ್ಪಿಸಲು ನಿಮ್ಮ ಆವೃತ್ತಿಗಳನ್ನು ನವೀಕೃತವಾಗಿರಿಸುವುದು ಒಳ್ಳೆಯದು.

2025/06 ರಲ್ಲಿ ಹಂಚಿಕೊಳ್ಳಲಾದ ಆಸಕ್ತಿದಾಯಕ ಕಾಮೆಂಟ್‌ಗಳು: TPM ದೋಷವು AMD ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುತ್ತಲೇ ಇದೆ. ಸ್ವಲ್ಪ ಮಟ್ಟಿಗೆ; ವಿಕಿಗಳು ಸಹಿ ಮಾಡಿದ PCR ನೀತಿಗಳ ಮೇಲೆ ನಿರ್ದಿಷ್ಟ ವಿಭಾಗಗಳನ್ನು ಸೇರಿಸಿವೆ; ಮತ್ತು ಪ್ರಾಯೋಗಿಕ ವೈಶಿಷ್ಟ್ಯವಾಗಿ TPM ನೊಂದಿಗೆ FDE ಅನ್ನು ನೀಡುವ ವಿತರಣೆಯ ಸ್ಥಾಪಕವನ್ನು ಪರೀಕ್ಷಿಸಲಾಯಿತು, ಕೆಲವು ಪ್ರಾಯೋಗಿಕ ತೊಂದರೆಗಳೊಂದಿಗೆ (ಮೊದಲ ಬೂಟ್‌ನಲ್ಲಿ ಚೇತರಿಕೆ ಅಗತ್ಯ, ಸ್ನ್ಯಾಪ್‌ಗಳ ಮೇಲಿನ ಅವಲಂಬನೆ, ಡಬಲ್ ಡಿಸ್ಕ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್), ಈ ಸಮಸ್ಯೆ ಹೆಚ್ಚು ಆಳವಾದ ಪರಿಶೀಲನೆಗೆ ಅರ್ಹವಾಗಿದೆ.

ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಡಿಸ್ಕ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಿದ ಒಂದು ಅನುಸರಣೆಯನ್ನು 2025/07 ರಲ್ಲಿ ಪ್ರಕಟಿಸಲಾಯಿತು. ಒಟ್ಟಾರೆ ತೀರ್ಮಾನವು PBA ಮತ್ತು TPM ಚಾನಲ್ ಅನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡುವ ಅಗತ್ಯವನ್ನು ಬಲಪಡಿಸುತ್ತದೆ., ಹಾಗೆಯೇ ಸೆಕ್ಯೂರ್ ಬೂಟ್‌ನಲ್ಲಿ ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಕೀಗಳ ಮೇಲಿನ ಅವಲಂಬನೆಯನ್ನು ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ.

tpm2-ಟೂಲ್ಸ್ ಮತ್ತು systemd ನೊಂದಿಗೆ ಕಾರ್ಯಾಚರಣೆಯ ಸಲಹೆಗಳು

ದಿನನಿತ್ಯದ ಬಳಕೆಗಾಗಿ: tpm2-ಟೂಲ್‌ಗಳು ಮತ್ತು tpm2-tss ಅನ್ನು ಸ್ಥಾಪಿಸಿ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ /dev/tpmrm0 ಅನ್ನು ಬಳಸುತ್ತದೆ, ಮತ್ತು PCR ಗಳನ್ನು ಪರೀಕ್ಷಿಸಲು ಮತ್ತು ಪ್ರಯೋಗಿಸಲು tpm2_pcrread/tpm2_pcrextend. ಅನಿಯಂತ್ರಿತ ಡೇಟಾದೊಂದಿಗೆ ಉತ್ಪಾದನಾ PCR ಗಳನ್ನು ವಿಸ್ತರಿಸುವುದನ್ನು ತಪ್ಪಿಸಿ: ಇದನ್ನು ಪ್ರಯೋಗಾಲಯಗಳಲ್ಲಿ ಮಾಡಿ ಅಥವಾ ಪರೀಕ್ಷೆಗೆ PCR 16 ಬಳಸಿ.

systemd-cryptenroll ನೊಂದಿಗೆ ನೋಂದಾಯಿಸುವಾಗ: –tpm2-ಸಾಧನ=ಸ್ವಯಂ TPM ಅನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತದೆ; –tpm2-ವಿತ್-ಪಿನ್ PBA ಸೇರಿಸುತ್ತದೆ; –ಟಿಪಿಎಂ2-ಪಿಸಿಆರ್ಎಸ್=… ನಿಮ್ಮ PCR ಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ; –tpm2-public-key=… ಮತ್ತು –tpm2-public-key-pcrs=… ಸಹಿ ಮಾಡಿದ PCR ನೀತಿಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ (ಉದಾ., UKI ಗಾಗಿ PCR 11 ಗೆ ಸಂಬಂಧಿಸಿದೆ). ಮರೆಯಬೇಡಿ –ವೈಪ್-ಸ್ಲಾಟ್ ನೀವು ಹಿಂದಿನ ಸ್ಲಾಟ್ ಅನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸಲು ಬಯಸಿದಾಗ.

ನಿಮ್ಮಲ್ಲಿ TPM ಇಲ್ಲದಿದ್ದರೆ ಮತ್ತು systemd ನಿಮ್ಮನ್ನು ಬೂಟ್ ಆಗುವವರೆಗೆ ಕಾಯುವಂತೆ ಮಾಡುತ್ತದೆ

ಸಾಂದರ್ಭಿಕವಾಗಿ, ನವೀಕರಣದ ನಂತರ, ನಿಮ್ಮ ಯಂತ್ರವು ಗೋಚರಿಸದಿದ್ದರೂ ಸಹ ಸೇವೆಯು TPM ಅನ್ನು ಬಳಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಬೂಟ್‌ನಲ್ಲಿ ಸಮಯ ಮೀರುತ್ತದೆ. ಮೊದಲು /dev/tpm* ಕಾಣಿಸುತ್ತಿಲ್ಲವೇ ಎಂದು ಪರಿಶೀಲಿಸಿ. ಅಥವಾ /sys/class/tpm ನಲ್ಲಿ ನಮೂದುಗಳನ್ನು ಸಹ ಬಳಸುವುದಿಲ್ಲ.

# Verificación rápida
ls /dev/tpm*
ls /sys/class/tpm/

TPM ಇಲ್ಲದಿದ್ದರೆ, ನಿಮ್ಮ /etc/crypttab ಅನ್ನು ಪರಿಶೀಲಿಸಿ tpm2-device=auto ನಂತಹ ಆಯ್ಕೆಗಳು ಇಲ್ಲ.ಅವು ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ, ಅವುಗಳನ್ನು ಅಳಿಸಿ ಮತ್ತು ನಿಮ್ಮ initrd ಅನ್ನು ಪುನರ್ನಿರ್ಮಿಸಿ. TPM ಇಲ್ಲದೆಯೇ ನೀವು ಕಂಪ್ಯೂಟರ್‌ಗಳಲ್ಲಿ ಮಾಪನ ಹಂತವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು:

# 1) Eliminar referencias TPM en /etc/crypttab y regenerar initrd
sudo mkinitcpio -P    # (o dracut/rebuildinitrd según distro)

# 2) Evitar carga de módulos TPM si el firmware publica algo extraño
echo -e "blacklist tpm\nblacklist tpm_tis\nblacklist tpm_crb" | sudo tee /etc/modprobe.d/no-tpm.conf

# 3) Opcional: evitar pcrphase si te da problemas
sudo systemctl mask systemd-pcrphase.service

ನಿಮ್ಮ ಉಪಕರಣಗಳಲ್ಲಿ TPM ಇಲ್ಲದಿದ್ದರೆ ಅನಗತ್ಯ ಕಾಯುವಿಕೆಯನ್ನು ಇದು ನಿವಾರಿಸುತ್ತದೆ. ನೀವು ನಂತರ BIOS/UEFI ನಲ್ಲಿ TPM ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ, ಕಪ್ಪುಪಟ್ಟಿಯನ್ನು ತೆಗೆದುಹಾಕಿ ಮತ್ತು ಅಳತೆಗಳನ್ನು ಮರುಪಡೆಯಲು ಘಟಕದ ಮುಖವಾಡವನ್ನು ತೆಗೆದುಹಾಕಿ.

ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು ಮತ್ತು ನಂಬಿಕೆಯ ನಿರ್ಧಾರಗಳು

ಕೆಲವು ಜನರು TPM ಬಗ್ಗೆ ಎಚ್ಚರದಿಂದಿರುತ್ತಾರೆ ಏಕೆಂದರೆ ಅದು ಸ್ವಯಂ-ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡುವ ಡಿಸ್ಕ್‌ಗಳಂತೆ "ಕಪ್ಪು ಪೆಟ್ಟಿಗೆ"ಯಾಗಿದೆ. ಇದು ಸಮಂಜಸವಾದ ಅನುಮಾನ. ನಿಮ್ಮ ಬೆದರಿಕೆ ಮಾದರಿಯನ್ನು ನಿರ್ಣಯಿಸಿ ಮತ್ತು ಉಪಯುಕ್ತತೆ, ಗೌಪ್ಯತೆ ಮತ್ತು ನಿರ್ವಹಣೆಯನ್ನು ಸಮತೋಲನಗೊಳಿಸುತ್ತದೆ. ಅನೇಕ ಜನರಿಗೆ, TPM+PBA+ ಸಹಿ ಮಾಡಿದ UKI ಅತಿಯಾದ ಘರ್ಷಣೆಯಿಲ್ಲದೆ ಒಂದು ದೊಡ್ಡ ಭದ್ರತಾ ಅಧಿಕವಾಗಿದೆ.

ಅನುಮತಿಸುವ ಹಾರ್ಡ್‌ವೇರ್‌ನಲ್ಲಿ, ಸೇರಿಸಿ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಮೆಮೊರಿ ಮತ್ತು ಸೆಕ್ಯೂರ್ ಬೂಟ್‌ನಲ್ಲಿ ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಕೀಗಳನ್ನು ಅವಲಂಬಿಸುವುದನ್ನು ತಪ್ಪಿಸಿ; ಸಾಧ್ಯವಾದಾಗಲೆಲ್ಲಾ ಸರಪಣಿಯನ್ನು ನಿಮ್ಮ ಸ್ವಂತ ಕೀಗಳಿಗೆ ಸೀಮಿತಗೊಳಿಸಿ. ಪ್ರಕಟಿತ ದುರ್ಬಲತೆಗಳಿಗೆ ಪರಿಹಾರಗಳನ್ನು ಸಂಯೋಜಿಸಲು ಫರ್ಮ್‌ವೇರ್ ಮತ್ತು ಕರ್ನಲ್ ಅನ್ನು ನವೀಕರಿಸಿ.

/dev/tpm0, /dev/tpmrm0, ಮತ್ತು tpm2_pcrread/tpm2_pcr_extend ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಮಾಸ್ಟರಿಂಗ್ ಮಾಡುವುದರಿಂದ ಲಿನಕ್ಸ್‌ನಲ್ಲಿ ಅಳತೆ ಮಾಡಿದ ಬೂಟ್ ಮತ್ತು ದೃಢವಾದ ಡಿಸ್ಕ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್‌ಗೆ ಬಾಗಿಲು ತೆರೆಯುತ್ತದೆ; UKI ಮತ್ತು ಸಹಿ ಮಾಡಿದ PCR ನೀತಿಯೊಂದಿಗೆ, ನೀವು ಕಾರ್ಯಾಚರಣೆಯ ಸ್ಥಿರತೆಯನ್ನು ಸಾಧಿಸುತ್ತೀರಿ ಮತ್ತು ಪೂರ್ವ-ಬೂಟ್ ಪಿನ್ ಅನ್ನು ಸೇರಿಸುವುದರಿಂದ ಹೆಚ್ಚು ಪ್ರಾಯೋಗಿಕ ದಾಳಿಗಳಿಂದ ನಿಮ್ಮನ್ನು ರಕ್ಷಿಸುತ್ತದೆ. ಮುಖ್ಯ ವಿಷಯವೆಂದರೆ PCR ಗಳನ್ನು ಚೆನ್ನಾಗಿ ಆರಿಸುವುದು, ಆಗಾಗ್ಗೆ ಏನು ಬದಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಸಹಿ ಮಾಡುವುದು ಮತ್ತು ಯಾವಾಗಲೂ ಉತ್ತಮ ಚೇತರಿಕೆ ಕೀಲಿಯನ್ನು ಇಟ್ಟುಕೊಳ್ಳುವುದು..

ಉಬುಂಟು 25.10 ಬೀಟಾ ಲಿನಕ್ಸ್ 6.17 ಕರ್ನಲ್‌ನೊಂದಿಗೆ ಬರುತ್ತದೆ
ಸಂಬಂಧಿತ ಲೇಖನ:
ಉಬುಂಟು 25.10 ಬೀಟಾ ಲಿನಕ್ಸ್ 6.17 ಮತ್ತು ಪ್ರಮುಖ ಬದಲಾವಣೆಗಳೊಂದಿಗೆ ಬರುತ್ತದೆ