FOSDEM 24: Linux altında veri kasası olarak TPM-2 yongası

celeron

Global Mod
Global Mod
Linux altında verileri korumak için şifreleme teknikleri konusunda hiçbir eksiklik yoktur: dosya kapları, şifrelenmiş bölümler veya tek tek dosyaların şifrelenmesi, güvenli dosya depolama sağlar. Donanım belirteci için akıllı kart araçları da vardır. Neden şifreleme için halihazırda mevcut olan özel bir donanım bileşenini kullanmıyorsunuz? Güvenilir Platform Modülü sürüm 2 (TPM 2), son dokuz yılın çoğu anakartında ve dizüstü bilgisayarlarında kripto işlemci olarak ayrı bir çip olarak veya ürün yazılımının bir parçası olarak bulunabilir. IBM Research'ten ve SCSI alt sisteminin Linux çekirdek bakım sorumlusu James Bottomley, bir konuşmasında TPM 2'nin SSH ve GnuPG ile Linux altında özel anahtarlar için veri kasası olarak nasıl hizmet verebileceğini gösterdi.

Reklamcılık



TPM 2 yeni bir spesifikasyon değildir ancak tarihi 2014'e dayanmaktadır. Ancak Linux topluluğunun artık geçerliliğini yitirmiş TPM 1.2'nin halefi olan TPM 2'ye ısınması zaman aldı. Spesifikasyon orijinal olarak Microsoft'tan gelmiştir, BSD lisansı altındadır ve referans uygulaması Github'da yayınlanmıştır. Ancak TPM'nin gerçekten güvenli olup olmadığı veya üreticiler ya da yetkililer tarafından arka kapıyla kapatılıp kapatılmadığı konusunda bazı şüpheler vardı. Ancak artık TPM 2 donanım yazılımı için, TPM yongası üreticilerinin açıkça uyması gereken, tekrarlanabilir yapılar biçiminde standart bir model var.

TPM 2, Linux kullanıcıları için cazip hale geliyor


James Bottomley'e göre bu, tehlikeye atılan uygulamalarla ilgili şüpheleri ortadan kaldırıyor. TPM standardının bakımı artık IBM, Intel, AMD, IBM, Microsoft ve Cisco'nun da aralarında bulunduğu endüstriyel bir konsorsiyum olan Trusted Computing Group'un sorumluluğundadır. Başlangıçtaki şüphecilik yerine, Linux topluluğu artık genellikle zaten mevcut olan TPM-2 yongasını akıllı kart tarzında mantıklı bir şekilde kullanma arzusuna sahip. Bu yılki FOSDEM programı, Güvenilir Platform modülünün Linux altında kullanımına ilişkin neredeyse bir düzine konuşma içeriyor.

TPM-2 şifreleme işlemcisi genellikle, örneğin Microsoft Windows'ta, aşağıdaki beş görev için kullanılır: sistemin önyükleme sürecini izlemek (ölçülen önyükleme), lisans anahtarlarını depolamak, anahtarları belirli koşullar altında serbest bırakmak, anahtar çiftleri oluşturmak ve son olarak İmzalama orijinalliğini doğrulamak için depolanan veriler. Bu kripto özelliklerinin çoğu Linux'ta da kullanışlıdır ve akıllı kartlar ve şifreli USB bellekler gibi ayrı donanımların yerini alabilir. Sürüm 3.2'den bu yana, Linux çekirdeği, aşağıdaki gibi bir aygıt dosyası aracılığıyla mevcut bir TPM-2 yongasını sağlamıştır. /dev/tpm0 hazır. Ancak başlangıçta Linux altında TPM 2 ile başa çıkmak için uygun araçlar yoktu. En azından şimdi yapabilir systemd-cryptsetup Sürüm 248'den itibaren Systemd'nin bir bileşeni olarak, Linux sistemi Microsoft'un Bitlocker tarzında önyüklendiğinde otomatik kilit açma işlemi için LUKS bölümlerine ait bir anahtar kripto işlemcide saklanır. James Bottomley iki kriptografik Linux aracı daha sunuyor: Özel anahtarların mühürlenmesi ve yüklenmesi için GPG'ye yönelik bir TPM-2 alt sistemi halihazırda günlük kullanıma uygundur. Ve OpenSSH, daha önce TPM-2 çipi tarafından kilidi açılmış olan özel anahtarları bir dolambaçlı yoldan yükleyebilir.

Alıştırma: GnuPG ve OpenSSH


GPG özel anahtarını güvence altına almak için GnuPG, James Bottomley'in kendisinden gelen 2.3 sürümünden itibaren gerekli yamaları aldı. GnuPG'de komut şu şekilde çalışır: keytotpm TPM-2 çipindeki anahtarları yeni belirlenen parolayla dönüştürmek ve mühürlemek için. Anahtarlar daha sonra GnuPG'de her zamanki gibi imzalama ve şifreleme için kullanılmaya devam edebilir, ancak artık kripto işlemlerini de yürüten kripto işlemciye sıkı sıkıya bağlıdırlar. Bir dizüstü bilgisayarın devredilmesi veya atılması durumunda TPM-2 yongasını tamamen silmek için silme komutu da kullanılır. Bir dezavantaj, TPM 2'nin artık bunları serbest bırakmayacağından, orijinal anahtarları güvenli bir depolama ortamında yedek olarak saklama ihtiyacıdır.




TPM 2 aracılığıyla GPG anahtarının kilidini açın



Yavaş yavaş tüm Linux dağıtımlarına ulaşan GnuPG 2.3, anahtarları depolamak için zaten akıllı karta benzer bir TPM-2 yongası kullanabiliyor.


(Resim: FOSDEM / James Bottomley)



OpenSSH'yi kripto işlemciyle çalışmaya ikna etme görevi daha zordu. Çünkü OpenSSH, SSH aracısıyla anahtar yöneticisi olarak TPM 2 ile uyumlu olmayan bir şekilde iletişim kurar. James Bottomley, SSH aracısının daha önce TPM-2 aracılığıyla kilidi açılmış bir anahtar dosyasını doğrudan yükleyebilmesi için OpenSSH sürümlerini manuel olarak yamalar. Ancak OpenSSH geliştiricileri bu yamayı içermeyecek. Bunun yerine, oluşturulan bir SSH anahtarını hem Linux hem de OpenSSH için mevcut TPM 2 araçlarını işleyebilen PKCS#11 formatına dönüştürmek mümkündür. Kurulum, Python betiği tpm2-pkcs11.py için Github web sitesinde açıklanmaktadır. Bu durumda, anahtar dosyası kripto çipinde değil, bilgisayarın veri taşıyıcısında şifrelenmiştir. Ancak bu sistemde yalnızca TPM 2 kullanılarak şifreleri çözülebilir.


(DMK)



Haberin Sonu