லினக்ஸில் /dev/tpm0, /dev/tpmrm0, மற்றும் tpm2_pcrread மற்றும் tpm2_pcr_extend கட்டளைகளுக்கான முழுமையான வழிகாட்டி.

  • TPM 2.0 ஆனது PCRகளுடன் இணைக்கப்பட்ட அளவிடப்பட்ட பூட் மற்றும் LUKS விசைகளை அனுமதிக்கிறது, PBA PIN உடன் சிறந்தது.
  • PCR களை நிர்வகிக்க /dev/tpmrm0 மற்றும் tpm2_pcrread/tpm2_pcrextend ஐப் பயன்படுத்தவும்.
  • கையொப்பமிடப்பட்ட UKI + PCR கொள்கை பாதுகாப்பை இழக்காமல் புதுப்பிப்புகளை உறுதிப்படுத்துகிறது.
  • PBA மற்றும் அளவுரு குறியாக்கத்துடன் குளிர் பூட் மற்றும் ஸ்னிஃபிங்கைத் தணிக்கவும்; மீட்டெடுப்பைப் பராமரிக்கவும்.

லினக்ஸில் TPM மற்றும் tpm2 கட்டளைகள்

சமீபத்திய ஆண்டுகளில், TPM 2.0 தொகுதிகள் ஒரு வன்பொருள் மர்மமாக இருந்து UEFI மற்றும் Secure Boot கொண்ட எந்த நவீன கணினியின் பொதுவான பகுதியாக மாறியுள்ளன. இந்தக் கட்டுரை /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 பதிவுகளில் அளவிடப்படுகிறது., எனவே கணினி சேதப்படுத்தப்படாவிட்டால் (மற்றும் விருப்பப்படி முன்-துவக்க PIN உடன்) மட்டுமே சாவி "அவிழ்க்கப்படும்".

/dev/tpm0 மற்றும் /dev/tpmrm0: வேறுபாடுகள் மற்றும் ஒவ்வொன்றையும் எப்போது பயன்படுத்த வேண்டும்

லினக்ஸில் TPM 2.0 கிடைக்கும்போது இரண்டு எழுத்து சாதனங்களைக் காண்பீர்கள். /dev/tpm0 என்பது TPM இன் "raw" இடைமுகமாகும்.போது /dev/tpmrm0 வள மேலாளர் மூலம் அணுகலை வெளிப்படுத்துகிறது. (வாடிக்கையாளர்களைப் பெருக்கும், அமர்வுகள் மற்றும் வளங்களை நிர்வகிக்கும் ஒரு மேலாளர்), பெரும்பாலான சூழ்நிலைகளில் tpm2-tools ஆல் பரிந்துரைக்கப்படும் ஒன்றாகும்.

TPM இருக்கிறதா இல்லையா என்பது உங்களுக்குத் தெரியாவிட்டால், நீங்கள் அதைச் சோதித்துப் பார்க்கலாம். /sys/class/tpm/ காலியாக இருந்தால் அல்லது விக்கி கட்டளை எதையும் தரவில்லை என்றால், எந்த TPM-ம் தெரியவில்லை: இது இயற்பியல் ரீதியாக இல்லாமல் இருக்கலாம் அல்லது firmware-இல் முடக்கப்பட்டிருக்கலாம்.

# ¿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 சூழல் மாறிகளைப் பயன்படுத்தலாம், ஆனால் பொதுவான பணிகளுக்கு இது பொதுவாக அவசியமில்லை.

TPM PCRகள்: அவை எவ்வாறு செயல்படுகின்றன, அவை எதை அளவிடுகின்றன

பிளாட்ஃபார்ம் உள்ளமைவுப் பதிவேடுகள் என்பது ஒவ்வொரு துவக்க கட்டத்திலும் முக்கியமான கூறுகளின் நிலையின் ஹாஷ்களை (பொதுவாக SHA-256) சேமிக்கும் பதிவுகளாகும். அவை பவர்-அப் சுழற்சியில் பூஜ்ஜியத்திற்கு துவக்கப்படுகின்றன, மேலும் அவற்றை "நீட்டிக்க" மட்டுமே முடியும்.: ஒருபோதும் மீண்டும் எழுதவோ அல்லது அழிக்கவோ வேண்டாம் (PCR 16 போன்ற பிழைத்திருத்த நிகழ்வுகளைத் தவிர).

அடிப்படை செயல்பாடு நீட்டிப்பு ஆகும்: புதிய_மதிப்பு = SHA256(தற்போதைய_மதிப்பு || SHA256(தரவு))சந்தர்ப்பவாத மீட்டமைப்புகளை அனுமதிக்காமல் அளவீடுகள் எவ்வாறு ஒன்றாக இணைக்கப்படுகின்றன என்பது இதுதான். இந்த முறை ஃபார்ம்வேர், உள்ளமைவு, பாதுகாப்பான துவக்கம், கர்னல், initrd மற்றும் கர்னல் அளவுருக்கள் போன்றவற்றை அளவிடப் பயன்படுகிறது.

நவீன உபகரணங்களில் நீங்கள் 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_pcreextend (புதிய பதிப்பு). நீங்கள் சில நேரங்களில் "tpm2_pcr_extend" என்பது நீட்டிப்பின் கருத்தியல் செயல்பாடு என்று குறிப்பிடப்படுவதைக் காண்பீர்கள், ஆனால் உண்மையான சூட் கட்டளை tpm2_pcrextend ஆகும்..

PCR-களின் தற்போதைய நிலையை ஆய்வு செய்ய எஸ்எச்எ 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

தன்னிச்சையான தரவின் ஹாஷுடன் (ஒரு கற்பித்தல் எடுத்துக்காட்டாக, /etc/passwd இன் ஹாஷ்) PCR ஐ நீட்டிக்க, 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 வளரும் என்பது தத்துவம்.ஒரு விதிவிலக்கு உள்ளது: PCR 16 பொதுவாக "பிழைத்திருத்தத்திற்காக" ஒதுக்கப்பட்டுள்ளது மற்றும் சில ஓட்டங்களில் மீட்டமைக்கப்படலாம், ஆனால் அது உங்கள் கொள்கையின் பாதுகாப்பு மூலப்பொருளாகப் பயனுள்ளதாக இருக்காது.

அளவிடப்பட்ட பூட், LUKS மற்றும் systemd-cryptenroll: துண்டுகளை ஒன்றாக இணைத்தல்

உங்கள் வட்டு குறியாக்கத்தில் TPM-ஐ ஒருங்கிணைக்கும்போது, ​​நீங்கள் விசை திறப்பை PCR-களின் தொகுப்போடு "பிணைக்க" முடியும். தற்போதைய துவக்கத்தில் அந்த PCRகள் நீங்கள் விசையைப் பதிவு செய்தபோது இருந்த அதே மதிப்புகளைக் கொண்டிருந்தால், TPM சீல் நீக்கப்பட்டு LUKS வால்யூம் தானாகவே திறக்கப்படும் (உங்கள் உள்ளமைவைப் பொறுத்து, முன்-துவக்க PIN உடன் அல்லது இல்லாமல்).

இது 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-கள் எவ்வளவு அதிகமாக இருக்கிறதோ, அவ்வளவு அதிகமாக மேற்பரப்புப் பகுதியைக் குறைக்கிறீர்கள், ஆனால் சட்டப்பூர்வமான மாற்றங்களுக்குப் பிறகு நீங்கள் அடிக்கடி மீண்டும் பதிவு செய்ய வேண்டியிருக்கும். சில நடைமுறை அளவுகோல்கள்:
– PCR 7 (பாதுகாப்பான துவக்கம்): உங்கள் கீசெட் மாறவில்லை என்றால் மிகவும் நிலையானதாக இருக்க வேண்டும்.
– PCR 0/1 (நிலைபொருள் மற்றும் உள்ளமைவு): இவை அரிதாகவே மாறுகின்றன; நிலைபொருளைப் புதுப்பித்த பிறகு அல்லது BIOS/UEFI ஐ மாற்றிய பின் அவற்றுக்கு மறுபதிவு தேவைப்படுகிறது.
– PCR 9/11/12 (கர்னல், initrd, UKI மற்றும் cmdline): நீங்கள் UKI அல்லது நிலையான கையொப்பம்/கொள்கையைப் பயன்படுத்தாவிட்டால் இவை அடிக்கடி மாறும்.

சில சூழல்களில், இது PCR 7 ஐ மட்டுமே இணைப்பதாகக் காணப்படுகிறது, செக்யூர் பூட்டைச் சார்ந்து, கர்னல் மற்றும் initrd ஆகியவற்றைச் சரிபார்த்து, அவை கையொப்பமிடப்பட்ட UKI ஆகத் தொடங்கப்பட்டதா என்பதைச் சார்ந்து, systemd-boot ஐப் பயன்படுத்துகிறது, இது SB செயலில் இருக்கும்போது கர்னல் அளவுருக்களைத் திருத்த அனுமதிக்காது.. அது வேலை செய்கிறது, ஆனால் உங்கள் செக்யூர் பூட் மூன்றாம் தரப்பு விசைகளை (மைக்ரோசாப்ட் 3வது கட்சி போன்றவை) நம்பியிருந்தால், PCR 7 ஐப் பாதுகாக்கும் மாற்று துவக்கத்தை ஒழுங்கமைப்பது எளிது, எனவே இது மிகவும் கட்டுப்படுத்தப்பட்ட விருப்பம் அல்ல..

UKI மற்றும் PCR கொள்கைகள் கையெழுத்திடப்பட்டன: பாதுகாப்பை இழக்காமல் நிலைத்தன்மை

நீங்கள் கர்னலைப் புதுப்பிக்கும் ஒவ்வொரு முறையும் மீண்டும் பதிவு செய்வதைத் தவிர்ப்பதற்கான ஒரு நடைமுறை தீர்வு UKI (ஒருங்கிணைந்த கர்னல் படம்) மற்றும் கையொப்பமிடப்பட்ட PCR கொள்கைநீங்கள் ஒரு விசை ஜோடியை உருவாக்கி, பதிவு செய்யும் போது பொது விசையை TPM உடன் பிணைத்து, ஒவ்வொரு புதுப்பித்தலுக்குப் பிறகும் உங்கள் UKI ஐ கையொப்பமிடுங்கள். TPM அந்த கையொப்பத்தை நம்புகிறது மற்றும் குறிப்பிட்ட கர்னல் ஹாஷ் மாறினாலும் திறக்க அனுமதிக்கிறது.

systemd-அளவீட்டு கருவி மற்றும் systemd-ukify உதவியாளர் இதை எளிதாக்குகின்றன: kernel, initrd மற்றும் cmdline தொகுப்புகளை UKI இல் ukify செய்யவும். (பொதுவாக 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-யில் கையொப்பமிடும் வரை, உங்கள் கொள்கை kernel/initrd மாற்றங்களுக்கு எதிராக நிலையானதாக இருக்கும்.உங்கள் கடவுச்சொற்களைப் புதுப்பித்தால் அல்லது உங்கள் PCR தொகுப்பை மாற்றினால், நீங்கள் மீண்டும் பதிவு செய்ய வேண்டும்.

systemd உடன் அளவீட்டு சங்கிலிகளின் எடுத்துக்காட்டுகள்

துவக்கத்தின் போது, ​​systemd-stub மற்றும் systemd-pcrphase ஆகியவை குறிப்பிட்ட நேரங்களில் PCRகளை நீட்டிக்கின்றன. உதாரணமாக, “enter-initrd” என்பது PCR 11 இல் பதிவு செய்யப்பட்டுள்ளது., initrd-க்குள் மட்டுமே ஒரு திறப்பை செல்லுபடியாகும்படி அனுமதிக்கிறது (தாக்குபவர் பின்னர் விசையை மீண்டும் பயன்படுத்த முயற்சிக்கும் திசையன்களைக் குறைக்கிறது).

UKI உள்ள அமைப்புகளில், UKI உள்ளடக்கம் PCR 11 இல் அளவிடப்படுகிறது; UKI இல்லாத அமைப்புகளில், PCR 9 இல் கர்னல் துவக்கிகளை அளவிடுகிறது. மேலும் பூட்லோடர் PCR 12 இல் cmdline ஐ அளவிட முடியும். உங்கள் பாலிசியில் initrd மற்றும் cmdline ஐ உள்ளடக்கியுள்ளீர்களா என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள், இல்லையெனில் யாராவது செய்யலாம் பின்கதவுப் பணியாளர் தீங்கிழைக்கும் cmdline போன்ற initrd அல்லது boot ஐப் பயன்படுத்தவும். init=/bin/bash.

உண்மையான அபாயங்கள்: கோல்ட் பூட், TPM மோப்பம் மற்றும் பல

என்ன தவறு நடக்கலாம்? அச்சுறுத்தல்களை மாதிரியாக்கும்போது தெரிந்து கொள்ள வேண்டிய பல விஷயங்கள். குளிர் பூட் தாக்குதல்கள் இன்னும் சாத்தியமானவை: திறத்தல் முழுமையாக தானியங்கியாக இருந்தால், தாக்குபவர் வரம்பற்ற முயற்சிகளை மீண்டும் செய்யலாம். தெளிவான தணிப்பு என்னவென்றால், முன்-துவக்க PIN (PBA) தேவை, இது ஒரு சக்தி சுழற்சிக்கு ஒன்றுக்கு முயற்சிகளைக் குறைக்கிறது.

மற்றொரு வகை TPM பேருந்து மீது மோப்பம் பிடிக்கும் தாக்குதல்கள்CPU சாவியைக் கோருகிறது, TPM அதை அனுப்புகிறது; இணைப்பு தட்டப்பட்டால், சாவி கசியப்படலாம். இதற்காக, systemd "அளவுரு குறியாக்கத்தை" செயல்படுத்துகிறது, இதனால் பரிமாற்றம் குறியாக்கம் செய்யப்படுகிறது; மாற்றாக, fTPM/Intel PTT அல்லது மறைகுறியாக்கப்பட்ட நினைவகத்தைப் பயன்படுத்துவது வெளிப்பாட்டைக் குறைக்கிறது. முக்கிய பிராண்ட் மடிக்கணினிகளில் சாத்தியக்கூறுகளை விளக்கும் ஒப்பீட்டளவில் மலிவு விலையில் பொது ஆர்ப்பாட்டங்கள் (மைக்ரோகண்ட்ரோலர்களுடன் கூட) உள்ளன.

கல்வி மற்றும் நடைமுறை பாதிப்புகளும் உள்ளன: TPM-தோல்வி, faultTPM (AMD இல் குறிப்பிடத்தக்க தாக்கத்தை ஏற்படுத்தியது) மற்றும் வழக்கு பிட்பிக்சி (CVE-2023-21563)இது TPM பயனற்றது என்று அர்த்தமல்ல, ஆனால் நீங்கள் உங்கள் firmware ஐ புதுப்பித்த நிலையில் வைத்திருக்க வேண்டும், உங்கள் அச்சுறுத்தல் மாதிரியைப் புரிந்து கொள்ள வேண்டும், அதை குருட்டுத்தனமாக நம்பக்கூடாது.

இந்த அச்சுறுத்தல்களுக்கு எதிரான BitLocker நிலை

விண்டோஸ் உலகில், மிகவும் பரவலாகப் பயன்படுத்தப்படும் வட்டு குறியாக்கம் பிட்லாக்கர் ஆகும். இது இப்போது குறிப்பிடப்பட்டுள்ளது அதன் இயல்புநிலை உள்ளமைவு (TPM உடன் மட்டும் தானியங்கி திறத்தல்) இது systemd-style parameter encryption-ஐ செயல்படுத்தாததால், cold boot மற்றும் TPM சேனல் ஸ்னிஃபிங் இரண்டிற்கும் கதவைத் திறந்து விடுகிறது. இது சில நிறுவன கணினிகளை சில நிமிடங்களில் தாக்குதலுக்கு ஆளாக்குகிறது.

அங்குள்ள பரிந்துரை என்னவென்றால், முன்-துவக்க அங்கீகாரம் கொள்கைகள்/பதிவேடு அல்லது CLI வழியாக, சராசரி பயனருக்கு போதுமான அளவு வெளிப்படுத்தப்படாத ஒன்று. மேலும், மீட்பு விசை எங்கே சேமிக்கப்படுகிறது என்பதை சரிபார்க்க நினைவில் கொள்ளுங்கள்: இது பெரும்பாலும் பயனரின் மைக்ரோசாஃப்ட் கணக்கில் இருக்கும், இது இது இன்னொரு ஆபத்து கோணம். கட்டுப்படுத்தப்படாவிட்டால்.

தாக்குதல்/தற்காப்பு தந்திரம்: உங்கள் கடவுச்சொல்லை கட்டாயப்படுத்த 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 விசையை வெளியிடாது. இதற்காக கர்னல் மற்றும் initrd, மாற்றங்கள் அடிக்கடி நிகழ்கின்றனகையொப்பமிடப்பட்ட கொள்கையுடன் கூடிய UKI-ஐ நீங்கள் பயன்படுத்தவில்லை என்றால், ஒவ்வொரு புதுப்பிப்பும் உங்களை மீட்பு விருப்பத்தைப் பயன்படுத்தி பின்னர் மீண்டும் பதிவு செய்ய கட்டாயப்படுத்தக்கூடும். கையொப்பமிடப்பட்ட UKI-யுடன், நீங்கள் அதில் கையொப்பமிட்டால் போதும், அவ்வளவுதான்.

சமூக குறிப்புகள் மற்றும் அவதானிப்புகள்

சில விநியோகங்களின் சில பிரபலமான வழிகாட்டிகளில் இது பரிந்துரைக்கப்பட்டுள்ளது UKI மற்றும் systemd-boot ஐப் பயன்படுத்தும் போதெல்லாம் PCR 7 ஐ மட்டும் பிணைக்கவும்., Secure Boot இன் பாதுகாப்புகளை நம்பியிருப்பது மற்றும் cmdline ஐத் திருத்த இயலாமை. இது வேலை செய்கிறது, ஆனால் நீங்கள் மூன்றாம் தரப்பினரை நம்பினால் ஆபத்துகள் உள்ளன. Enter ஐ அழுத்துவது திறந்த பிறகு மீட்பு ஷெல்லைக் கொண்டுவரும் ஒரு பிழை கடந்த காலத்தில் ஆவணப்படுத்தப்பட்டுள்ளது; ஆச்சரியங்களைத் தவிர்க்க உங்கள் பதிப்புகளைப் புதுப்பித்த நிலையில் வைத்திருப்பது நல்லது.

2025/06 இல் பகிரப்பட்ட சுவாரஸ்யமான கருத்துகள்: TPM தவறு AMD-ஐ தொடர்ந்து பாதிக்கிறது. ஓரளவிற்கு; விக்கிகள் கையொப்பமிடப்பட்ட PCR கொள்கைகளில் குறிப்பிட்ட பிரிவுகளைச் சேர்த்துள்ளன; மேலும் TPM உடன் FDE ஐ ஒரு சோதனை அம்சமாக வழங்கும் ஒரு விநியோகத்திற்கான நிறுவி சோதிக்கப்பட்டது, சில நடைமுறை சிக்கல்கள் (முதல் துவக்கத்தில் மீட்பு தேவை, ஸ்னாப்களைச் சார்ந்திருத்தல், இரட்டை வட்டு குறியாக்கம்), ஒரு சிக்கல் இன்னும் ஆழமான தணிக்கைக்கு தகுதியானது.

விண்டோஸில் வட்டு குறியாக்கத்தை மையமாகக் கொண்ட ஒரு தொடர்ச்சி 2025/07 இல் வெளியிடப்பட்டது. ஒட்டுமொத்த முடிவு PBA மற்றும் TPM சேனலை குறியாக்கம் செய்வதற்கான தேவையை வலுப்படுத்துகிறது., அத்துடன் செக்யூர் பூட்டில் மூன்றாம் தரப்பு விசைகளை நம்பியிருப்பதைக் கட்டுப்படுத்துகிறது.

tpm2-tools மற்றும் systemd உடன் செயல்பாட்டு குறிப்புகள்.

அன்றாட பயன்பாட்டிற்கு: tpm2-கருவிகள் மற்றும் tpm2-tss ஐ நிறுவவும். முன்னிருப்பாக /dev/tpmrm0 ஐப் பயன்படுத்துகிறது., மற்றும் PCR-களை சோதிப்பதற்கும் பரிசோதனை செய்வதற்கும் tpm2_pcrread/tpm2_pcrextend. தன்னிச்சையான தரவுகளுடன் உற்பத்தி PCR-களை நீட்டிப்பதைத் தவிர்க்கவும்: இதைச் ஆய்வகங்களில் செய்யுங்கள் அல்லது சோதனைக்கு PCR 16 ஐப் பயன்படுத்தவும்.

systemd-cryptenroll உடன் பதிவுசெய்யும்போது: –tpm2-சாதனம்=தானியங்கி TPM ஐக் கண்டறிகிறது; –tpm2-உடன்-பின் PBA ஐ சேர்க்கிறது; –tpm2-பிசிஆர்எஸ்=… உங்கள் 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 செயல்பாடுகளை மாஸ்டரிங் செய்வது Linux இல் அளவிடப்பட்ட பூட் மற்றும் வலுவான வட்டு குறியாக்கத்திற்கான கதவைத் திறக்கிறது; UKI மற்றும் கையொப்பமிடப்பட்ட PCR கொள்கையுடன், நீங்கள் செயல்பாட்டு நிலைத்தன்மையை அடைகிறீர்கள், மேலும் முன்-துவக்க PIN ஐச் சேர்ப்பது மிகவும் நடைமுறை தாக்குதல்களிலிருந்து உங்களைப் பாதுகாக்கிறது. முக்கியமானது PCR-களை நன்றாகத் தேர்ந்தெடுப்பது, அடிக்கடி என்ன மாறுகிறது என்பதைக் கையொப்பமிடுவது மற்றும் எப்போதும் ஒரு நல்ல மீட்பு விசையை வைத்திருப்பது..

உபுண்டு 25.10 பீட்டா லினக்ஸ் 6.17 கர்னலுடன் வருகிறது.
தொடர்புடைய கட்டுரை:
உபுண்டு 25.10 பீட்டா லினக்ஸ் 6.17 மற்றும் முக்கிய மாற்றங்களுடன் வருகிறது