Donanım rastgele sayı üreteci - Hardware random number generator

Bu TLS hızlandırıcı bilgisayar kartı , bilgisayar ağları üzerinden gönderilen verileri şifrelemek için şifreleme anahtarları oluşturmak için bir donanım rastgele sayı üreteci kullanır .

Olarak işlem , bir donanım rasgele sayı üreteci ( HRNG ) ya da gerçek rasgele sayı üreteci ( TRNG ) bir cihazdır rasgele sayılar üreten bir gelen fiziksel bir işlem yerine bir yardımıyla daha algoritması . Bu tür cihazlar genellikle , termal gürültü , bir ışın ayırıcı içeren fotoelektrik etki ve diğer kuantum fenomenleri gibi düşük seviyeli, istatistiksel olarak rastgele " gürültü " sinyalleri üreten mikroskobik fenomenlere dayanır . Bu stokastik süreçler, teoride, bu tür fenomenleri yöneten bir denklem bilinmediği veya hesaplanamaz olduğu sürece tamamen tahmin edilemez ve teorinin tahmin edilemezlik iddiaları deneysel teste tabidir . Bu, bilgisayar programlarında yaygın olarak uygulanan sözde rastgele sayı üretme paradigmasının aksine .

Bir donanım rastgele sayı üreteci tipik olarak, fiziksel fenomenin bazı yönlerini bir elektrik sinyaline dönüştürmek için bir dönüştürücüden , rastgele dalgalanmaların genliğini ölçülebilir bir seviyeye yükseltmek için bir yükselticiden ve diğer elektronik devrelerden ve bir tür analog-to-analogdan oluşur. çıkışı dijital bir sayıya dönüştürmek için dijital dönüştürücü , genellikle basit bir ikili basamak 0 veya 1. Rastgele değişen sinyali tekrar tekrar örnekleyerek, bir dizi rastgele sayı elde edilir.

Elektronik donanım, rastgele sayı üreteçleri için ana uygulama içinde kriptografi rastgele oluşturmak için kullanılan, şifreleme anahtarları güvenli veri iletimi için. Aktarım Katmanı Güvenliği (TLS) gibi İnternet şifreleme protokollerinde yaygın olarak kullanılırlar .

Rastgele sayı üreteçleri, bozuk para çevirme , zar , rulet çarkı ve piyango makineleri gibi cihazlar kullanılarak "rastgele" makroskopik işlemlerden de oluşturulabilir . Bu fenomenlerde öngörülemezliğin varlığı, kararsız dinamik sistemler teorisi ve kaos teorisi ile doğrulanabilir . Newton mekaniği altında makroskopik süreçler deterministik olsa da , rulet tekerleği gibi iyi tasarlanmış bir cihazın çıktısı pratikte tahmin edilemez, çünkü her kullanımın başlangıç ​​koşullarının hassas, mikro detaylarına bağlıdır .

Zar çoğunlukla kumarda ve oyunlarda "rastgele" öğeler (örneğin rol yapma oyunları ) olarak kullanılmasına rağmen , Viktorya dönemi bilim adamı Francis Galton , 1890'da bilimsel amaçlar için açıkça rastgele sayılar üretmek için zar kullanmanın bir yolunu tanımladı.

Donanım rastgele sayı üreteçleri genellikle saniyede yalnızca sınırlı sayıda rastgele bit üretir. Kullanılabilir çıktı veri hızını artırmak için, genellikle daha hızlı kriptografik olarak güvenli bir sözde rastgele sayı üreteci için " tohum " oluşturmak için kullanılırlar , bu daha sonra çok daha yüksek bir veri hızında bir sözde rastgele çıktı dizisi oluşturur .

kullanır

Tahmin edilemeyen rasgele sayılar ilk olarak kumar bağlamında araştırılmış ve zarlar , oyun kartlarının karıştırılması ve rulet çarkları gibi birçok rasgeleleştirme cihazı ilk olarak bu tür kullanım için geliştirilmiştir. Oldukça üretilen rastgele sayılar elektronik kumar için hayati öneme sahiptir ve bunları oluşturma yolları bazen devlet kumar komisyonları tarafından düzenlenir.

Rastgele sayılar aynı zamanda kumar dışı amaçlar için de kullanılır; hem kullanımlarının kamuoyu yoklamaları için örnek alma gibi matematiksel olarak önemli olduğu yerlerde hem de askeri taslak piyangolar ve jüri üyelerinin seçilmesi gibi adaletin rastgeleleştirme ile yaklaşık olduğu durumlarda .

kriptografi

Donanım rasgele sayı üreteçlerinin başlıca kullanımı , örneğin verileri şifrelemek ve imzalamak için gereken rasgele şifreleme anahtarları ve nonce'ler oluşturmak için veri şifreleme alanındadır . Bunlar, bilgisayarlarda yaygın olarak "rastgele" sayılar oluşturmak için kullanılan yazılım programları olan sözde rasgele sayı üreteçlerine (PRNG'ler) daha güvenli bir alternatiftir . PRNG'ler sayısal diziler üretmek için deterministik bir algoritma kullanır. Bu sözde rasgele diziler rastgelelik için istatistiksel model testlerini geçse de , algoritmayı ve "tohum" olarak adlandırılan onu başlatmak için kullanılan koşulları bilerek, çıktı tahmin edilebilir. Bir PRNG tarafından üretilen sayı dizisi prensipte tahmin edilebilir olduğundan, sözde rasgele sayılarla şifrelenmiş veriler potansiyel olarak kriptanalize karşı savunmasızdır . Donanım rastgele sayı üreteçleri, tahmin edilebilir olmadığı varsayılan sayı dizileri üretir ve bu nedenle verileri şifrelemek için kullanıldığında en yüksek güvenliği sağlar.

Erken iş

Rastgele sayılar üretmenin ilk yollarından biri, keno oynamak veya piyango numaralarını seçmek için kullanılan aynı makinelerin bir varyasyonuydu . Bunlar, muhtemelen mekanik çalkalama ile birleştirilmiş, hava üflenmiş karışık, numaralandırılmış pinpon toplarını içeriyordu ve topları karıştırma odasından çekmek için bazı yöntemler kullandı ( ABD Patenti 4,786,056 ). Bu yöntem, bazı açılardan makul sonuçlar verir, ancak bu yolla üretilen rasgele sayılar pahalıdır. Yöntem, doğası gereği yavaştır ve çoğu bilgi işlem uygulaması için kullanılamaz.

29 Nisan 1947'de RAND Corporation , sabit frekans darbesiyle saniyede bir kez kapılanan ve beş bitlik bir ikili sayıcıya beslenen, saniyede yaklaşık 100.000 darbelik bir rastgele frekans darbe kaynağından oluşan bir "elektronik rulet çarkı" ile rastgele rakamlar üretmeye başladı. . Douglas Aircraft, bir gürültü kaynağı için Cecil Hasting'in önerisini (RAND P-113) uygulayarak ekipmanı inşa etti (büyük olasılıkla, bir manyetik alana yerleştirildiğinde 6D4 minyatür gaz tiratron tüpünün iyi bilinen davranışı ). 32 olası sayaç değerinden 20'si 10 ondalık basamağa eşlendi ve diğer 12 sayaç değeri atıldı.

Filtrelenen ve test edilen RAND makinesinden uzun bir çalışmanın sonuçları, 1955'te 100.000 Normal Sapma ile Bir Milyon Rastgele Basamak kitabında yayınlanan bir tabloya dönüştürüldü . RAND tablosu, rasgele sayıların sağlanmasında önemli bir atılımdı çünkü bu kadar büyük ve özenle hazırlanmış bir tablo daha önce hiç mevcut değildi. Sabitlerin kötü amaçla seçilmediğini göstermek için simülasyonlar, modelleme ve kriptografik algoritmalarda rastgele sabitlerin türetilmesi için yararlı bir kaynak olmuştur. Blok şifreler Khufu ve Khafre , RAND tablosunu kullanan uygulamalar arasındadır. Bakınız: Kol numaralarımda hiçbir şey yok .

Rastgele özelliklere sahip fiziksel olaylar

Kuantum rastgele özellikleri

Pratik kuantum mekaniksel fiziksel rastgeleliğin iki temel kaynağı vardır : atomik veya atom altı seviyedeki kuantum mekaniği ve termal gürültü (bazıları kuantum mekanik kökenlidir). Kuantum mekaniği , atomların nükleer bozunması gibi belirli fiziksel olayların temelde rastgele olduğunu ve prensipte tahmin edilemeyeceğini tahmin eder (kuantum tahmin edilemezliğinin ampirik doğrulaması tartışması için Bell test deneylerine bakınız ). Ve dünya mutlak sıfırın üzerinde bir sıcaklıkta var olduğu için , her sistemin durumunda rastgele bir varyasyon vardır; örneğin, havayı oluşturan gaz molekülleri sürekli olarak birbirlerinden rastgele bir şekilde sıçrarlar ( bkz. istatistiksel mekanik .) Bu rastgelelik de bir kuantum fenomenidir ( bkz. fonon ).

Kuantum-mekanik olayların sonucu prensipte bile tahmin edilemediğinden, bunlar rastgele sayı üretimi için ' altın standart'tır . Rastgele sayı üretimi için kullanılan bazı kuantum fenomenleri şunları içerir:

Klasik rastgele özellikler

Termal fenomenleri tespit etmek daha kolaydır. Çoğu sistem gürültüyü iki kat azaltacak kadar düşük sıcaklıklarda çalışmayı durduracak olsa da (örneğin, ~150 K) sistemin sıcaklığını düşürerek saldırılara karşı biraz savunmasızdırlar. Kullanılan termal olaylardan bazıları şunlardır:

Kuantum etkilerinin veya termal gürültünün yokluğunda, rastgele olma eğiliminde olan diğer fenomenler, fizik yasalarıyla kolayca karakterize edilemeyen şekillerde kullanılabilir. Bu tür birkaç kaynak dikkatli bir şekilde birleştirildiğinde (örneğin, Yarrow algoritması veya Fortuna CSPRNG'lerde olduğu gibi ), genellikle sınırlı oranlarda olsa da kriptografik anahtarların ve nonce'ların oluşturulması için yeterli entropi toplanabilir . Avantajı, bu yaklaşımın prensipte özel bir donanım gerektirmemesidir. Dezavantajı, yeterince bilgili bir saldırganın yazılımı veya girdilerini gizlice değiştirebilmesi ve böylece çıktının rastgeleliğini belki de önemli ölçüde azaltabilmesidir. Bu tür yaklaşımlarda tipik olarak kullanılan birincil rastgelelik kaynağı, klavyeler ve disk sürücüleri , çeşitli sistem bilgi sayaçları vb. gibi mekanik giriş/çıkış aygıtlarının neden olduğu kesintilerin kesin zamanlamasıdır .

Bu son yaklaşım dikkatli bir şekilde uygulanmalıdır ve uygulanmadığı takdirde saldırılara maruz kalabilir. Örneğin, Linux 2.6.10 çekirdeğindeki oluşturucunun ileri güvenliği, 2 64 veya 2 96 zaman karmaşıklığı ile kırılabilir .

Saat kayması

Ölçülmesi kolay olan diğer bir değişken fiziksel fenomen, saat kaymasıdır. Bir rastgelelik kaynağı olarak saat kaymasını ölçmenin ve kullanmanın birkaç yolu vardır.

Intel 82802 Firmware Hub (FWH) çip iki serbest koşu osilatörler kullanarak donanım RNG, bir hızlı ve bir yavaş dahil. Yavaş osilatörün frekansını modüle etmek için bir termal gürültü kaynağı (iki diyottan gelen ortak mod olmayan gürültü) kullanılır ve bu daha sonra hızlı osilatörün bir ölçümünü tetikler. Bu çıktı daha sonra bir von Neumann tipi korelasyon adımı kullanılarak önyargısız hale getirilir (aşağıya bakın). Bu aygıtın çıkış hızı 100.000 bit/s'den biraz daha azdır. Bu yonga, daha önceki bir Intel veri yolunu destekleyen 840 yonga seti ailesinin isteğe bağlı bir bileşeniydi. Modern bilgisayarlara dahil değildir.

2003'ten beri tüm VIA C3 mikroişlemcileri işlemci çipine bir donanım RNG'si eklemiştir. Termal gürültü kullanmak yerine, farklı hızlarda çalışacak şekilde tasarlanmış dört serbest çalışan osilatör kullanılarak ham bitler üretilir. İkisinin çıkışı, ham biti üretmek için çıkışı dördüncü osilatörün çıkışını saatleyen üçüncü bir osilatör üzerindeki önyargıyı kontrol etmek için XOR'lanır. Sıcaklık, silikon özellikleri ve yerel elektrik koşullarındaki küçük değişimler, sürekli osilatör hızı değişimlerine neden olur ve böylece ham bitlerin entropisini üretir. Rastgeleliği daha da sağlamak için, her bir çip üzerinde, her biri farklı ortamlarda konumlandırılmış ve silikon üzerinde döndürülmüş iki tür RNG vardır. Nihai çıktı, bu iki jeneratörün bir karışımıdır. Ham çıktı hızı saniyede onlarca ila yüzlerce megabittir ve beyazlatma oranı saniyede birkaç megabittir. Kullanıcı yazılımı, yeni ayrıcalıklı olmayan makine dili talimatlarını kullanarak oluşturulan rastgele bit akışına erişebilir.

Sıradan bir donanım üzerinde ilgili bir fikrin bir yazılım uygulaması, bir kriptografik rutin kitaplık olan CryptoLib'e dahil edilmiştir. Algoritma truerand olarak adlandırılır . Modern bilgisayarların çoğunda, biri gerçek zamanlı saat ve diğeri birincil CPU saati için olmak üzere iki kristal osilatör bulunur; truerand bu gerçeği kullanır. Gerçek zamanlı saati çalıştıran bir alarm ayarlayan bir işletim sistemi hizmeti kullanır. Bir alt program, bu alarmı bir saat tikinde (genellikle saniyenin 1/60'ı) çalmaya ayarlar. Bir diğeri, alarmın tetiklenmesini bekleyen bir süre döngüsüne girer. Alarm her zaman tam olarak tek bir tıklamayla tetiklenmeyeceğinden, alarmın ayarlanması ile tetikleyicisi arasındaki döngü yinelemelerinin en az anlamlı bitleri, muhtemelen bazı kullanımlar için yeterli olacak şekilde rastgele değişecektir. Truerand ek donanım gerektirmez, ancak çok görevli bir sistemde diğer işlemlerden rastgele olmayan müdahaleyi önlemek için büyük özen gösterilmelidir (örneğin, işletim sistemi planlayıcısı çeşitli işlemleri başlatıp durdururken sayma döngüsü işleminin askıya alınmasında) ).

İşlem RDRANDkodu, yerleşik bir donanım rastgele sayı üretecinden değerler döndürür. 2015'ten beri Intel Ivy Bridge işlemcilerinde ve AMD64 işlemcilerinde bulunur.

Önyargı ile başa çıkmak

Bu tür sistemlerden gelen bit akışı, 1'ler veya 0'lar baskın olmak üzere, önyargılı olmaya eğilimlidir. Önyargı ve diğer yapay nesnelerle başa çıkmak için iki yaklaşım vardır. Birincisi, RNG'yi, jeneratörün çalışmasına özgü önyargıyı en aza indirecek şekilde tasarlamaktır. Bunu düzeltmeye yönelik bir yöntem, üretecin sapmasını ayarlamak için düşük geçişli bir filtre tarafından filtrelenen oluşturulan bit akışını geri besler. By merkezi limit teoremi , geribesleme döngüsü 'iyi ayarlanmış olma eğiliminde olacaktır neredeyse her zaman '. Ultra yüksek hızlı rastgele sayı üreteçleri genellikle bu yöntemi kullanır. O zaman bile, üretilen sayılar genellikle biraz taraflıdır.

Yazılım beyazlatma

Önyargı ile başa çıkmak için ikinci bir yaklaşım, nesilden sonra (yazılım veya donanımda) azaltmaktır. İlişkili bir sinyalden beyaz gürültü üretme sorununa benzer şekilde , genellikle " beyazlatma " algoritmaları olarak adlandırılan yanlılığı ve korelasyonu azaltmak için çeşitli teknikler vardır .

John von Neumann, basit önyargıyı düzeltmek ve korelasyonu azaltmak için basit bir algoritma icat etti. Bir seferde iki biti dikkate alır (örtüşmeyen), üç eylemden birini gerçekleştirir: birbirini izleyen iki bit eşit olduğunda, bunlar atılır; 1,0 dizisi 1 olur; ve 0,1 dizisi sıfır olur. Bu nedenle , 1 ile düşen kenarı ve 0 ile yükselen kenarı temsil eder. Bu, basit önyargıyı ortadan kaldırır ve bir bilgisayar programı veya dijital mantıkta uygulanması kolaydır. Bu teknik, bitlerin nasıl üretildiğine bakılmaksızın çalışır. Bununla birlikte, çıktısında rastgeleliği garanti edemez. Yapabileceği şey (önemli sayıda atılan bit ile), taraflı bir rastgele bit akışını tarafsız bir akışa dönüştürmektir.

Yakın bir rastgele bit akımı geliştirmek için başka bir teknik olan dışlamalı veya yüksek kaliteli çıkışı ile bit akımı kriptografik olarak güvenli bir rasgele uydurma sayı üreteci gibi Blum Blum Shub ya da güçlü bir akış şifresi . Bu, düşük maliyetle korelasyonu ve rakam sapmasını iyileştirebilir; FPGA gibi bir donanım tarafından yapılabilir ve bu, yazılım tarafından yapmaktan daha hızlıdır.

Rastgele yakın bir bit akışındaki yanlılığı azaltan ilgili bir yöntem, iki veya daha fazla ilişkisiz yakın rasgele bit akışını ve özel veya bunları birlikte almaktır . Bir bit akışının 0 üretme olasılığı 1/2 +  e olsun , burada −1/2 ≤  e  ≤ 1/2. O zaman e , bit akışının yanlılığıdır. Önyargı iki ilintisiz bit akışları durumunda e dışlamalı veya-ed birlikte, daha sonra sonuç yanlılık 2 olacak e 2 . Bu (bakınız ayrıca daha bit akışları ile tekrarlanabilir yığılması lemma ).

Bazı tasarımlar , bit akışının tamamına veya bir kısmına MD5 , SHA-1 veya RIPEMD-160 gibi kriptografik karma işlevleri veya hatta bir CRC işlevi uygular ve ardından çıktıyı rastgele bit akışı olarak kullanır. Bu, kısmen nispeten hızlı olduğu için çekici.

Pek çok fiziksel olay, yüksek oranda önyargılı bitler oluşturmak için kullanılabilir, ancak her bit diğerlerinden bağımsızdır. Bir Geiger sayacı (tüp kurtarma süresinden daha uzun bir numune süresine sahip) veya yarı saydam bir ayna foton dedektörü, çoğunlukla "0" (sessiz veya iletim) olan ve ara sıra "1" (tıklama veya yansıma) olan bit akışları üretir. Her bir bit diğerlerinden bağımsızsa, Von Neumann stratejisi, böyle yüksek oranda önyargılı bir bit akışındaki nadir "1" bitlerin her biri için bir rastgele, tarafsız çıktı biti üretir. Gelişmiş Çok Düzeyli Strateji (AMLS) gibi beyazlatma teknikleri, bu kadar yüksek önyargılı bir bit akışından daha fazla çıktı biti - tıpkı rastgele ve tarafsız çıktı bitleri - çıkarabilir.

Periyodik olarak yenilenen rastgele anahtarlı PRNG

Diğer tasarımlar , şifrelenmiş çıktıyı rastgele bit akışı olarak alarak, yüksek kaliteli bir blok şifreleme algoritmasının anahtarı olarak gerçek rastgele bitler olduğuna inanılanları kullanır . Bununla birlikte, bu durumlarda uygun bir blok modu seçmek için özen gösterilmelidir . Bazı uygulamalarda, PRNG sınırlı sayıda basamak için çalıştırılırken, donanım üreten cihaz yeni bir tohum üretir.

Gözlenen olayları kullanma

Gerçek rasgele sayı üreteçleri olmayan yazılım mühendisleri, genellikle yazılım için mevcut olan fiziksel olayları ölçerek bunları geliştirmeye çalışırlar. Bir örnek, kullanıcı tuş vuruşları arasındaki süreyi ölçmek ve ardından sayımın en az anlamlı bitini (veya iki veya üçünü) rastgele bir rakam olarak almaktır. Benzer bir yaklaşım, görev zamanlamayı, ağ isabetlerini, disk kafası arama sürelerini ve diğer dahili olayları ölçer. Bir Microsoft tasarımı, bu tür dahili değerlerin çok uzun bir listesini, kriptografik olarak güvenli bir sahte rasgele sayı üreteci biçimi içerir . Lavarand sisteminde olduğu gibi lav lambaları da izlenecek fiziksel cihazlar olarak kullanılmıştır .

Akıllı, kötü niyetli bir saldırgan harici olayları kontrol ederek bir şifreleme anahtarını tahmin edebileceğinden, yöntem bilgisayar kontrollü olayları kullandığında risklidir. Aynı zamanda risklidir, çünkü varsayılan kullanıcı tarafından oluşturulan olay (örneğin, tuş vuruşları) yeterince usta bir saldırgan tarafından yanıltılabilir , bu da kriptografi tarafından kullanılan "rastgele değerlerin" kontrolüne izin verir.

Bununla birlikte, yeterli özenle, modern bir bilgisayarda bulunan rastgelelik kaynaklarından kriptografik olarak güvenli rastgele sayılar üreten bir sistem tasarlanabilir. Temel tasarım, bir saldırgan tarafından bilinmediği varsayılan rastgele bitlerin bir "entropi havuzunu" korumaktır. Kullanılabilir olduğunda (örneğin, kullanıcı bir tuşa bastığında) yeni rastgelelik eklenir ve havuzdaki bir saldırgan tarafından bilinemeyen bit sayısı tahmini tutulur. Kullanılan stratejilerden bazıları şunlardır:

  • Rastgele bitler istendiğinde, entropi havuzundan türetilen o kadar çok biti döndürün (örneğin, bir kriptografik karma işlevi tarafından) ve havuzda kalan rastgele bit sayısının tahminini azaltın. Yeterli bilinmeyen bit mevcut değilse, yeterli olana kadar bekleyin. Bu, Linux'ta Theodore Ts'o tarafından yazılan ve Unix benzeri birçok işletim sisteminde kullanılan " /dev/random " aygıtının en üst düzey tasarımıdır . Girdi rastgeleliği tahminleri yeterince dikkatli olduğu sürece yüksek kaliteli rastgele sayılar sağlar. Linux "/dev/urandom" aygıtı, girdi rastgeleliği tahminlerini göz ardı eden ve bu nedenle sonuç olarak yüksek entropiye sahip olma olasılığı daha düşük olan basit bir değişikliktir.
  • Bir entropi havuzundan elde edilen bir anahtar ve başlatma vektörü (IV) ile bir akış şifresini koruyun . Yeterli entropi biti toplandığında, hem anahtarı hem de IV'ü yeni rastgele değerlerle değiştirin ve havuzda kalan tahmini entropiyi azaltın. Bu, civanperçemi kütüphanesinin aldığı yaklaşımdır . Bazı saldırılara karşı direnç sağlar ve elde edilmesi zor entropiyi korur.

(De)merkezi olmayan sistemler

Gerçek bir rastgele sayı üreteci (de)merkezi bir hizmet olabilir. Rastgele bir sayının elde edilebildiği merkezi bir sisteme bir örnek , Ulusal Standartlar ve Teknoloji Enstitüsü'nün rastgelelik işaret hizmetidir ; başka bir örnek, rastgele ikili rakamlar (bitler) oluşturmak için atmosferik gürültü kullanan bir hizmet olan Random.org'dur .

Merkezi olmayan bir sisteme örnek olarak, Cardano platformu, rastgele sayılar üretmek için merkezi olmayan hisse kanıtı protokolünün katılımcılarını kullanır .

sorunlar

Rastgele sayılar üretmeye çalışan donanım veya yazılım aygıtlarını yanlış yapılandırmak çok kolaydır. Ayrıca, çoğu sessizce 'kırılır', genellikle bozuldukça azalan rasgele sayılar üretir. Fiziksel bir örnek, bu kaynak doğrudan kullanılmışsa, daha önce bahsedilen duman dedektörlerinin hızla azalan radyoaktivitesi olabilir. Bu tür cihazlarda arıza modları çoktur ve karmaşık, yavaş ve tespit edilmesi zordur. Birden çok entropi kaynağını birleştiren yöntemler daha sağlamdır.

Birçok entropi kaynağı genellikle oldukça kırılgan olduğundan ve sessizce başarısız olduğundan, çıktıları üzerinde istatistiksel testler sürekli olarak yapılmalıdır. Bu tür cihazların çoğu, ancak hepsi değil, bu tür testleri cihazı okuyan yazılıma dahil eder.

saldırılar

Bir kriptografi sisteminin diğer bileşenlerinde olduğu gibi, belirli saldırılara direnmek için bir yazılım rastgele sayı üreteci tasarlanmalıdır . Bir donanım entropi kaynağı olmadan bu saldırılara karşı savunma yapmak zordur.

entropi tahmini

Bir sembol dizisinin entropisini tahmin etmek için matematiksel teknikler vardır . Hiçbiri, tahminlerine tam olarak güvenilebilecek kadar güvenilir değildir; her zaman doğrulanması çok zor olabilecek varsayımlar vardır. Bunlar, örneğin bir tohum havuzunda yeterli entropi olup olmadığını belirlemek için kullanışlıdır, ancak genel olarak gerçek bir rastgele kaynak ile sahte rastgele bir üretici arasında ayrım yapamazlar. Bu sorun, donanım entropi kaynaklarının muhafazakar kullanımıyla önlenir.

Performans testi

Donanım rasgele sayı üreteçleri, düzgün çalışması için sürekli olarak izlenmelidir. RFC 4086, FIPS Pub 140-2 ve NIST Özel Yayın 800-90b bunun için kullanılabilecek testleri içerir. Ayrıca Yeni Zelanda şifreleme yazılımı kitaplığı cryptlib belgelerine bakın .

Birçok pratik tasarım girdi olarak bir donanım kaynağına dayandığından, en azından kaynağın hala çalışıp çalışmadığını kontrol etmek faydalı olacaktır. İstatistiksel testler, örneğin boş olduğu düşünülen bir kanalda yayın yapan bir radyo istasyonu gibi bir gürültü kaynağının arızasını sıklıkla tespit edebilir. Gürültü üreteci çıkışı, bir "beyazlatıcı"dan geçirilmeden önce test için örneklenmelidir. Bazı beyazlatıcı tasarımları, rastgele girdi olmadan istatistiksel testleri geçebilir. Mükemmellikten büyük bir sapmayı tespit etmek, gerçek bir rastgele gürültü kaynağının bozulduğunun bir işareti olsa da, küçük sapmalar normaldir ve doğru çalışmanın bir göstergesi olabilir. Bir jeneratör tasarımına girişlerdeki yanlılığın diğer parametrelerle (örn., dahili sıcaklık, bara voltajı) korelasyonu, ilave bir kontrol olarak ek olarak faydalı olabilir. Ne yazık ki, şu anda mevcut (ve öngörülen) testlerle, bu tür testleri geçmek, çıktı dizilerinin rastgele olduğundan emin olmak için yeterli değildir. Dikkatle seçilmiş bir tasarım, üretilen cihazın bu tasarımı uyguladığının doğrulanması ve kurcalamaya karşı sürekli fiziksel güvenlik, yüksek değerli kullanımlar için testlere ek olarak gerekli olabilir.

Ayrıca bakınız

Referanslar

Genel referanslar

Dış bağlantılar