Yazılım

Otomatik Kriptokod Jeneratörü; web’in Güvenliğini Sağlamaya Yardımcı Oluyor

Sistem; Google Chrome tarayıcılarındaki ve web uygulamalarındaki verileri şifrelemek için, otomatik olarak optimize edilmiş algoritmalar yazıyor.

Sistem; Google Chrome tarayıcılarındaki ve web uygulamalarındaki verileri şifrelemek için, otomatik olarak optimize edilmiş algoritmalar yazıyor.

Neredeyse güvenli bir Google Chrome tarayıcısı açtığımızda; MIT tarafından geliştirilen yeni bir şifreleme sistemi verilerinizi daha iyi korumanıza yardımcı oluyor.

En son IEEE Güvenlik ve Gizlilik Sempozyumu’nda sunulan bir makalede, MIT araştırmacıları; ilk kez, genellikle elle yazılmış bir şifreleme kodunu otomatik olarak üreten bir sistemi ayrıntılı olarak anlatıyor. 2018 yılının başlarında konuşlandırılan sistem; şimdi Google ve diğer teknoloji firmaları tarafından yaygın olarak kullanılıyor.

Rapor, kripto kod oluştururken insan kaynaklı hataların önlenmesi için; otomatik yöntemlerin nasıl uygulanabileceğini ve sistemin bileşenlerinde yapılan temel ayarların daha yüksek performans elde etmesine nasıl yardımcı olabileceğini göstermektedir.

Çevrimiçi iletişimleri güvence altına almak için; şifreleme protokolleri çok sayıda üzerinde bazı karmaşık aritmetik işlem yapan karmaşık matematiksel algoritmalar kullanır. Ancak; perde arkasında küçük bir uzman grubu bu algoritmaları elle yeniden yazar. Her bir algoritmada; performansı optimize etmek için çeşitli matematiksel teknikleri ve çip mimarilerini tartmaları gerekir. Temel matematik veya mimari değiştiğinde, aslında sıfırdan baştan başlarlar. İşgücü-yoğun olmasının yanı sıra; bu el ile işlem en iyi olmayan algoritmalar da üretebilir ve sıklıkla daha sonra yakalanan ve düzeltilen hataları ortaya çıkarır.

Bilgisayar Bilimi ve Yapay Zeka Laboratuvarı (CSAIL) araştırmacıları bunun yerine; tüm donanım platformları için optimize edilmiş şifreleme algoritmaları otomatik olarak üreten ve aynı anda doğrulayan, bir sistem olan “Fiat Şifreleme” tasarladı. Testlerde, araştırmacılar; kendi sistemlerinin en iyi el yazısı kodunun performansını karşılayan, ancak çok daha hızlı olan algoritmalar üretebileceklerini buldular.

Araştırmacıların otomatik olarak oluşturulan kodu; Google’ın açık kaynaklı bir şifreleme kitaplığı olan BoringSSL’yi doldurdu. Google Chrome, Android uygulamaları ve diğer programlar; verileri şifrelemek ve şifresini çözmek için kullanılan çeşitli anahtarlar ve sertifikalar oluşturmak için BoringSSL’i kullanır. Araştırmacılara göre; güvenli Chrome iletişiminin yaklaşık yüzde 90’ı şu anda bu kodları kullanıyor.

CSAIL Araştırmacı ve Elektrik Mühendisliği Profesörü ve Bilgisayar Bilimi ve Programlama Dilleri ve Doğrulama Grubu Başkanı Adam Chlipala: “Şifreleme, çok sayıda aritmetik işlem yaparak gerçekleştirilir. Fiat Şifreleme; matematiksel algoritmaların uygulanmasını daha kolay hale getiriyor… Çünkü kodun yapımını otomatikleştiriyoruz ve kodun doğru olduğuna dair kanıtlar sunuyoruz. Temel olarak, insan beyninde çalışan bir süreci almak ve bu süreci taklit eden kodu yazmak için yeterince iyi anlamak gibi…”

Microsoft Research Uzman Jonathan Protzenko: “BoringSSL’de kullanılan Fiat Şifreleme; tüm şifreleme topluluğuna fayda sağlıyor. Zamanların değiştiğinin ve büyük yazılım projelerinin güvensiz kriptografinin bir sorumluluk olduğunun farkına vardığının bir işaretidir. Doğrulanmış yazılımın ana akıma girebilecek kadar gelişmiş olduğunu gösteriyor. Umarım gittikçe daha fazla sayıda yerleşik yazılım projesi; doğrulanmış şifreleme işlemine geçmeyi başarır. Belki önümüzdeki birkaç yıl içinde; doğrulanmış yazılım sadece kriptografik algoritmalar için değil, diğer uygulama alanları için de kullanılabilir hale gelecektir. ”

Bitleri bölmek

Şifreleme protokolleri; temelde uzun bir bit dizisi olan ortak ve özel anahtarlar üretmek için matematiksel algoritmalar kullanır. Algoritmalar; bir tarayıcı ile bir sunucu arasında güvenli iletişim kanalları sağlamak için bu tuşları kullanır. En popüleri verimli ve güvenli şifreleme algoritma aileleri arasında Eliptik Eğri Şifreleme (ECC) denir. Temel olarak; bir grafik üzerinde numaralandırılmış bir eğri çizgi boyunca rasgele nümerik noktaları seçerek, kullanıcılar için çeşitli boyutlarda anahtarlar üretir.

Çoğu çipler; bu kadar büyük sayıları tek bir yerde saklayamaz. Bu nedenle bunları kısaca “Kayıtlar” adı verilen birimlerde depolanan daha küçük rakamlara böler. Ancak; kayıt sayısı ve sağladıkları depolama miktarı bir çipten diğerine değişmektedir.

Chlipala: “Bitleri bir sürü farklı yere bölmek zorundasınız, ancak bitleri nasıl böldüğünüzün farklı performans sonuçları olduğu ortaya çıkıyor.”

Geleneksel olarak, ECC algoritmaları yazan uzmanlar bu bit bölme kararlarını; kodlarında manuel olarak uygular. MIT araştırmacıları, çalışmalarında; herhangi bir donanım için otomatik olarak optimize edilmiş ECC algoritmaları kütüphanesi oluşturmak için bu uzman kararlarından yararlandı.

Araştırmacıları ilk olarak; C programlama ve montaj dillerinde mevcut el yazısı ECC algoritmalarının uygulamalarını araştırdılar ve bu teknikleri kod kitaplıklarına aktardılar. Bu; her mimari için en iyi performans gösteren algoritmaların bir listesini oluşturur. Daha sonra, bir derleyici kullanır: Programlama dillerini kod; bilgisayarların anladığı kodlara dönüştüren bir program… “Coq” olarak adlandırılan bir prova aracıyla doğru olarak kanıtlanmıştır.

Temel olarak; bu derleyici tarafından üretilen tüm kodlar her zaman matematiksel olarak doğrulanacaktır. Daha sonra her bir algoritmayı simüle eder ve her bir çip mimarisi için en iyi performansı gösteren yöntemi seçer.
Daha sonra araştırmacılar; optimize edilmiş algoritmalar ararken derleyicilerini daha hızlı çalıştırma yolları üzerinde çalışıyor.

Optimize edilmiş derleme

Sistemin en iyi bit bölme uygulamalarını hızlıca seçmesini sağlayan ilave bir yenilik var. Araştırmacılar; Coq tabanlı derleyicilerini, hesaplama sırasında işleri hızlandırmak için temelde bazı değişkenleri önceden hesaplayan “Kısmi Değerlendirme” adı verilen bir optimizasyon tekniği ile donattılar.

Araştırmacıların sisteminde; tüm bit bölme yöntemlerini önceden hesaplar. Onları belirli bir çip mimarisiyle eşleştirirken, o mimari için çalışmayan tüm algoritmaları derhal atar. Bu; kütüphaneyi aramak için harcanan zamanı önemli ölçüde azaltır. Sistem optimum algoritmayı sıfırladıktan sonra kod derlemeyi sonlandırır.

Bundan sonra, araştırmacılar; çeşitli çip mimarileri için ECC algoritmalarını bölmenin en iyi yollarından oluşan bir kütüphaneyi topladılar. Artık BoringSSL’de uygulanmaktadır. Bu nedenle kullanıcılar; çoğunlukla araştırmacıların kodundan yararlanmaktadır. Yeni mimariler ve yeni matematik türleri için kütüphane; benzer şekilde otomatik olarak güncellenebilir.

Chlipala: “Esasen, sayıları bölebileceğiniz her yol için doğru olan bir ve tümüyle doğru olan bir kitaplık yazdık. Büyük sayıların olası temsil alanını otomatik olarak keşfedebilir, performansı ölçmek için her bir gösterimi derleyebilir ve verilen senaryo için hangisinin en hızlı şekilde çalıştığını alabilirsiniz.”

Kaynak:
MIT
Etiketler
1 Oy2 Oy3 Oy4 Oy5 Oy (1 oy verildi, Ortalama: 5 üzerinden 5,00 oy )
Loading...

Benzer Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

Close
Close