Ana Sayfa

GNU Kriptografisi: Kötü Tasarımın Bir İşareti mi?

1 dk okuma

Yazar, sistem tasarımında "GNU" harflerini içeren ve kriptografi ile kesişen projelerin genellikle endişe verici derecede kötü tasarlandığını iddia ediyor. GnuPG (ve genel olarak PGP), GNU Name System (GNS) ve GnuTLS, libgcrypt gibi kriptografik kütüphaneler bu duruma örnek olarak gösteriliyor. Yazar, GNU markalı tek bir kriptografi projesi bile hatırlamadığını ve bunların "kükreyen bir çöp yangını" olduğunu belirtiyor.

Makale, özellikle GNU Name System'in (GNS) kriptografik seçimlerini ele alıyor. GNS, bölgeler için asimetrik kriptografi olarak ECDSA anahtar çiftlerini kullanıyor ve Curve25519'un bükülmüş Edwards gösteriminin parametrelerini tercih ediyor. Ancak, RFC 7748'deki Ed25519 imza algoritmasını kullanmak yerine, deterministik ECDSA (RFC 6979) kullanmayı seçiyor. Bu durum, yazar tarafından "tuhaf" olarak nitelendiriliyor, zira Curve25519, Ed25519 için tasarlanmış bir eğridir. GNS yazarları bu tercihin geleneksel ECDSA eğrilerinin sorunlu olmasından kaynaklandığını ve EdDSA'nın özel anahtar üzerinde bir hash fonksiyonu kullanması nedeniyle GNS'nin dayandığı doğrusallığı bozduğunu savunuyor. Ancak yazar, bu savunmanın anlamsız olduğunu, çünkü RFC 6979'un da deterministik nonce'lar oluşturmak için HMAC-SHA2 kullandığını ve bunun GNS'nin belirtilen hedefiyle çeliştiğini belirtiyor. Ayrıca, ECDSA'nın EdDSA'dan daha az güvenli ve daha yavaş olduğunu, aynı eğriler kullanılsa bile algoritma uygulamalarındaki farklılıklar nedeniyle bu durumun geçerli olduğunu vurguluyor.

İçgörü

Açık kaynaklı projelerde bile kriptografik tasarım seçimlerinin güvenlik ve performans açısından ciddi sonuçları olabilir.

Kaynak