TPM ve Volume Encryption

May 22, 2008
Ar-Ge, Crypto | Yorum Yok

Dizüstü bilgisayarınız kaybolursa bulan kişinin içindeki bilgilere erişmesini engellemek için kullanabileceğiniz bir program Bitlocker. Peki bunu nasıl yapıyor, hangi aşamada ne amaçla TPM (Trusted Platform Module) kullanıyor ?

Öncelikle kısaca TPM’den bahsedelim. TPM anakart üzerinde bulunan “Trusted Computing” uygulamaları için kullanılan küçük bir çip.Asimetrik şifreleme, rasgele sayı üretimi, özet değeri hesaplama (SHA-1) TPM’in yapabildikleri arasında. TPM içinde geçici (volatile) ve geçici olmayan (non-volatile) olmak üzere 2 çeşit hafıza bulunuyor. Geçici olmayan hafızada EK (Endorsement Key), SRK (Storage Root Key) ve EK ve SRK kullanımı için tanımlama bilgisi bulunuyor. Geçici hafızada ise kullanılacak anahtarın yükleneceği yer olan anahtar bölümleri (key slots), sistem durumunun ölçüm sonuç değerlerinin tutulduğu PCR (Platform Configuration Registers) bulunuyor.

TPM ve PCR’lara veri kaydetme özelliği kullanarak sistemin istediğimiz durumda olup olmadığını kontrol ederek belli bilgileri şifreleyerek saklayabiliriz ki buna SEAL deniyor. Örneğin herhangi bir anda çalışan bir kodun özet (hash; algoritma SHA-1) değerini istediğimiz bir PCR’a yazıyoruz. Daha sonra seçtiğimiz bir anahtar ve PCR değeri ile bir dosyayı şifreliyoruz (tabiri cayizse SEAL ediyoruz). Daha sonra bu dosyaya erişmek istediğimizde TPM ilgili PCR’daki değeri kontrol edecek ve dosyayı şifrelediğimiz zamankiyle aynı ise dosyayı deşifre edecektir. Buradaki amaç dosyayı bilgisayarın güvenli olduğunu bildiğimiz bir durumda şifrelemek ve ancak bu durumda iken deşifre edilip kullanılmasını sağlamak.

Bu noktada biraz da TPM’deki anahtar hiyerarşisinden bahsetmek istiyorum. TPM üretildiğinde içinde üreten firma tarafından konmuş 2048 bitlik bir RSA anahtarı (açık (public) ve özel (private) kısımları) bulunuyor ve EK (Endorsement Key) olarak adlandırılıyor. Biz TPM’i kullanmaya başladığımızda Take Ownership komutunu veriyoruz ve SRK (Storage Root Key) ve SRK’ya erişmek için bir şifre oluşturuyoruz. SRK’nın özel kısmı, EK’nın açık kısmı ile şifreleniyor ve hafızada saklanıyor. Daha sonra gerektiğinde şifrelenmiş SRK, TPM’e yükleniyor. Burada EK’nın özel kısmı ile deşifre ediliyor. EK ve SRK’yı veri şifrelemek yerine kullanacağımız anahtarları şifrelemek için kullanıyoruz. Her anahtarın gizli kısmı, bir üstündeki (parent) anahtarın açık kısmı ile şifreleniyor, böylece bir anahtar ağacı oluşturuluoyr ve bu ağaç hafızada saklanıyor.

Burayı tıklayarak ulaşabileceğiniz döküman bu yapıyı anlamanıza yardımcı olacaktır.

Pekala tüm bunların bilgisayarımızın hafızasını şifrelememiz ile ne ilgisi var ?

Bilgisayarımızın hafızasını şifrelerken kullandığımız anahtarların güvenliğini ve bilgisayarımızın güvenilir durumda olup olmadığının kontrolünü yaparken TPM’den faydalanacağız. Burada örnek olarak Bitlocker programının kullandığı yapıyı temel alacağım.

Bitlocker öncelikle simetrik bir anahtar ve AES + Elephant Diffuser algoritmasını kullanarak tüm hafızayı şifreliyor ve bu anahtarı FVEK (Full Volume Encryption Key) olarak adlandırıyor. Daha sonra bu anahtarı VMK (Volume Master Key) olarak adlandırdığı başka bir anahtar ile şifreliyor.Son olarak VMK’yı boot esnasında ROM’daki bilgilerin özet değerinin kayıtlı olduğu PCR değerini kullanarak SEAL ediyor. VMK’nın şifrelenmiş halini boot bölümünde saklıyor. Dolayısıyla bilgisayar açılırken boot bölümünü okuyor, gerekli ölçümleri yapıp PCR’a kaydediyor. Eğer kaydedilen PCR değeri ve VMK’nın şifrelendiği andaki PCR değeri aynı ise VMK’yı deşifre (UNSEAL) ediyor. VMK kullanılarak FVEK deşifre edliyor ve FVEK ile de tüm hafıza deşifre ediliyor.

Ancak Microsoft kullanıcıları bu yöntemi donanım ataklarına karşı dayanıksız olduğunu düşünüyor ve usb ya da pin gibi diğer güvenlik önlemlerinin alınmasının gerekli olduğunu savunuyor. Elbette her yöntemin iyi olduğu kadar kötü yönleri de var. TPM kullanmak yazılım ataklarına karşı savunma sağlarken, sistemi daha güvenli hale getirmek için kullanacağımız usb’nin ise kaybolma riski sistemi hatta belki de şirketi tehlikeye atabilir.

Ayrıca google amca da bize bu konuda bir çok faydalı pdf ve sunum dosyası sonucu getiriyor :-)

Yorumlar

Yorumunuzu ekleyin.