Kerckhoffs İlkesi

Kriptografide, Kerckhoffs ilkesi (Kerckhoffs sanısı, aksiyomu ya da yasası) olarak adlandırılan ve 19.yy'ın başlarında Auguste Kerckhoffs tarafından belirtilmiş olan bir ilke vardır: bir kriptosistem, anahtar hariç, sistemle ilgili her şey bilinse bile güvenli olmalıdır.Kerckhoffs ilkesi (muhtemelen bağımsız olarak) Claude Shannon tarafından "düşman sistemi biliyor." biçiminde yeniden ifade edilmiştir. Bu biçimiyle Shannon'un özdeyişi olarak adlandırılır. "gizlilik yoluyla güvenlik karşı kriptografi uzmanları tarafından yaygın olarak kabul görmüştür.Kerckhoffs ilkesiyle uyumlu olarak, sivil kriptografinin büyük çoğunluğu kamuya açık algoritmalarla çalışır. Aksine, gizli devlet veya askeri bilgileri şifrelemek için kullanılan yöntemler gizlidir (bkz. Tip 1 şifreleme).Bu ilke, askeri şifreleyiciler için Kerckhoffs'un ortaya koyduğu altı tasarım ilkesinden biridir. Fransızca'dan çevirildiğinde, bunlar:Anahtar yazılı notlara gerek duyulmadan iletilebilmeli ve elde tutulabilmelidir, tarafların isteğiyle değiştirilebilmelidir;Son olarak, uygulaması göz önünde bulundurulduğunda, kullanımı kolay olmalı, zihinsel zorlamayı veya uzun kural serilerinin bilinmesini gerektirmemelidir.Bruce Schneier bu ilkeye, bütün güvenlik sistemlerinin zarif şekilde batışa uygun olarak tasarlanmasını söyleyecek kadar bağlıdır:"Kerckhoffs ilkesi kodların ve şifreleyicilerin ötesinde güvenlik sistemleri genelinde geçerlidir: her sır potansiyel bir başarısızlık noktasına yol açar. Gizlilik, diğer bir kelimeyle, kırılganlığın ana nedenidir—ve dolayısıyla sistemi katastrofik bir çöküşe yatkın kılmaktadır. Aksine, açıklık uysallığı getirir."Her güvenlik sistemi kaçınılmaz olarak bazı şeylerin gizliliğine dayanır. Ancak, Kerckhoffs ilkesi gizlenmesi gereken şeylerin bir dikkatsizlik sonucu açığa çıkması durumunda değiştirilebilmesi en az maliyetli olan şeyler olması gerektiğine dikkat çeker. Bir şifreleme algoritması donanımsal ve yazılımsal olarak uygulanabilir ve kullanıcılarına geniş bir şekilde dağıtılmış olabilir; eğer güvenliği bu sistemin gizliliğine dayanıyorsa, bir açık yeni algoritmanın geliştirilmesi, test edilmesi ve dağıtılmasında büyük baş ağrılarına yol açacaktır—ki bu "kırılgan"dır. Oysa eğer algoritmanın gizliliği önemli değilse, fakat sadece algoritmada kullanılan anahtarların gizliliği önemliyse, anahtarların açığa çıkması çok daha az bir maliyetle yenilerinin dağıtılmasını gerektirecektir.Diğer bir deyişle, sistemin güvenliğini sağlamak adına ne kadar basit ve az şey gizlenirse, güvenliğin sürdürülmesi o kadar kolay olacaktır.Düşmanın kaynak kodunu elinde bulundurmadığını varsayan hiçbir güvenlik yazılımı tasarımı zaten güvenilmezdir; dolayısıyla, *kapalı koda hiçbir zaman güvenmeyin*.Or in other words, the fewer and simpler the things one needs to keep secret in order to ensure the security of the system, the easier it is to maintain that security.Açık kaynak yazılımların içsel olarak kapalı kaynaktan daha güvenli olduğunu iddia eden tartışmalı açık kaynak yazılım güvenliği fikri şeffaflıkla güvenlik kavramı ile desteklenmektedir.Gizliliğe dayanan bir teknoloji örneği Çin hükümetinin ortaya koyduğu bir kablosuz ağ güvenlik standardı olan WLAN Kimlik doğrulama ve Gizlilik Altyapısı (WLAN Authentication and Privacy Infrastructure - WAPI) olarak verilebilir.