215E225 TÜBİTAK 3001 PROJESİ SONUÇ RAPORU
Rastgele Sayı Üreteçleri ile İlgili Çalışmalar
Rastgele sayı üreticisi (RSÜ), güvenlik ve iletişim gibi birçok sensör ağı sistemi ve uygulamasında önemli bir rol oynamaktadır. Soto’nun çalışmasında (Soto, 1999), kriptografik RSÜ'lerin rastgeleliklerini araştırmak ve böylece rastgele sayı üreteçlerinin istatistiksel bir bakış açısı ile kabul edilebilir olduğuna dair ek bir güven kazanmak için kullanılabilecek yeni metrikler gösterilmiştir. İstatistiksel test kaynakları tanımlanmış, NIST istatistiksel testlerini kullanarak gösterilen sayısal deneylerin sonuçları analiz edilmiştir. RSÜ'lerin yüksek kalitede olduğuna dair kanıt toplamak için yeni istatistiksel testlerin sürekli geliştirilmesi gerekmektedir. NIST İstatistik Test Paketinin hem yazılım hem de donanım tabanlı RSÜ'ler için geçerli olabileceğini, buna ek olarak, istatistiksel testlerin kullanımı, şifreleme algoritmalarının yazılımda doğru uygulanmasında güvence elde etmek için kullanılabileceği görülmüştür.
Ayrıca, sayıların rastgeleliğini değerlendirmek için kullanılan yaklaşımlardan söz edilmiştir. Bu yaklaşımlar aşağıdaki gibidir:
• Eşik değeri: Test istatistiği hesabı belli bir değer ile karşılaştırılmalıdır.
• Sabit aralıklar (Fixed Ranges): Test istatistiğinin karar kuralı belli değer aralığında olmalıdır.
• Olasılık değeri: Olasılık değeri belli bir olasılık değerinden küçük olmalıdır.
Voris ve arkadaşları 2011 yılında yaptıkları çalışmada (Voris, Saxena ve Halevi, 2011), ivmeölçerin diğer sensörlere göre daha iyi bir entropi kaynağı olduğunu öne sürmüşler ve WISP RFID etiketinde de aynı durumun söz konusu olduğunu ifade etmişlerdir. Duran ve hareketli durumda veri elde etmişler ve bu verilerin kriptografik açıdan rastgele sayı gereksinimlerini karşıladığını iddia etmişlerdir.
Mitra’nın 2012’de yaptığı çalışmada (Mitra, 2012), tohum (seed) değerlerinin üretilmesi için uygun olan bir gerçek rastgele sayı üreteci önerilmiştir. Gerçek rastgele sayı üreteci, çift beslemeli işlemsel yükseltici ile gerçekleştirilmiştir. Bu, aynı zamanda, RFID etiketleri için yaygın olarak kullanılan bir MSP430 mikro denetleyicisinin tek beslemeli işlemsel yükselteçleri ile gerçekleştirilmiştir. Veriler, NIST testini geçmiştir. Orta güç tüketimi ve düşük veri hızı nedeniyle, veri sözde rastgele sayı üretecinin tohum değeri olarak uygun görülmüştür. Jeneratörün, yerleşik MSP430 mikro denetleyicilere sahip WISP RFID etiketlerinde kullanılabileceği öne sürülmüştür.
Fujdiak ve arkadaşları yaptıkları çalışmada (Fujdiak vd., 2013), ultra düşük güçlü mikro denetleyici ailesi olan MSP430x5xx üzerinde bir rastgele sayı üreteci ve bu ailenin bir üyesi olan MSP430f5438A'da bu üretecin bir uygulamasını analiz etmişlerdir. Rastgele sayı üreteci başarıyla test edilmiş ve jeneratörün rastgele sayılar üretmek için pratik cihazlarda kullanılabileceği sonucuna varılmıştır.
Hennebert ve arkadaşları yaptıkları çalışmada (Hennebert, Hossayni ve Lauradoux, 2013), olası bir entropi kaynağı olarak sensörlerin bir koleksiyonunu değerlendirilmişlerdir. Entropi üretmek için en iyi adayların ivmeölçer, manyetometre, titreşim sensörü ve dâhili saat sensörü olduğunu göstermişlerdir. Sıcaklık veya hava basıncı gibi yüksek ataletle olayları ölçen diğer sensörlerin çok az entropi sağladığı görülmüştür. Çalışmada, şartlı ortalama entropi tahmincisine ihtiyaç duyulduğu belirtilmiştir. Bir şifreleme anahtarı üretmek, kaynaklardan birçok örnek toplamayı gerektirmektedir. Bunun için koşullu ortalama entropi tahmincisinin, kaynak analizini iyileştirmek için değerli bir araç olacağı sonucuna varılmıştır.
Xu ve Potkonjak yaptıkları çalışmada (Xu ve Potkonjak, 2014), ilk olarak GRSÜ geliştirilmişler ve Alanda Programlanabilir Kapı Dizileri (Field Programmable Gate Arrays - FPGA) uygulamasını doğrudan hedef alan yeni bir özyinelemeli yapı kullanılmışlardır. Çalışmalarındaki temel fikir, FPGA yapılandırma bitlerine rastgele değerler yerleştirmek ya da çıkarmak ve yapı taşlarını rastgele bağlamaktır. Bu çalışmada ayrıca güvenli genel anahtar iletişimi için protokoller tanıtılmış ve GRSÜ'nün çıktı akışının NIST rastgelelik testini geçtiği gösterilmiştir.
Loutfi ve arkadaşlarının yaptığı çalışmada (Loutfi vd., 2014), akıllı telefonlarda bulunan üç hareket sensörü potansiyel olarak nondeterministik olmayan GRSÜ olarak değerlendirilmiştir. Akıllı telefonlar söz konusu olduğunda, ivmeölçerlerin rastgele bit üretimi için mümkün olan tek kaynak olmadığı, ayrıca jiroskopların ve manyetik sensörlerin de rastgele sayı kaynağı olarak kullanılabileceği gösterilmiştir.
Bedekar ve Shee yaptıkları çalışmada mikro elektromekanik sistem (MEMS) sensörleri (ivmeölçer, jiroskop ve pusula) kullanarak gerçek rastgele sayı üretimi için pratik bir yaklaşım sunmuşlardır (Bedekar ve Shee, 2015). Bu çalışmada, MEMS sensörü tamamen dinlendiğinde, yüksek kalitede rastgele sayı dizileri oluştuğu görülmüştür. Bu, MEMS sensörleri için algılama mekanizmalarındaki ilk gürültü kullanılarak gerçekleştirilmiştir. Pusulanın ürettiği veri akışı NIST testi sonuçları değerlendirildiğinde en başarılı sonuçları vermiştir: durağan olduğunda 15 testin 11’inden hareketli iken ise 15 testin 14’ünden geçmiştir. Kısa patlama (<1 sn) dizileri 15 NIST testinden 13'ünü geçmişken Barak-Impagliazzo-Wigderson özyinelemeli ayıklayıcıyı uygulayarak 15 NIST testinin tamamında başarılı sonuçlar elde edilmiştir.
Westlund’ın çalışmasında (Westlund, 2006), MSP430F2xx cihaz ailesi üzerinde bulunan her biri kendi zamanlama kaynağına sahip iki bağımsız saat (çok düşük frekanslı osilatör (Very Low-frequency Oscillator - VLO) ve dijital kontrollü osilatör (Digitally Controlled Oscillator - DCO)) kullanılarak rastgele sayılar üretilmiştir. Saatler bağımsız olduğu için, bu iki saat kaynağının kenar geçişleri arasındaki zaman farkı değişmektedir. Bu iki saat sistemi arasındaki zamanlama farkları rastgele bit akışını oluşturmak için kullanılmıştır. İki saat kaynağının birbirinden bağımsız olarak değişmesi nedeniyle, darbe sayısının eşit olup olmadığı tahmin edilememektedir. DCO zaman darbelerinin sayısı, zamanlayıcı tarafından bir yakalama / karşılaştırma yazmacı (capture/compare Register - CCR) içine kaydedilmektedir. Yakalama / karşılaştırma yazmacından gelen en düşük anlamlı bit (least significant bit – LSB), her defasında 1 sağa kaydırılarak R12 yazmacına (register) yazılmaktadır. Bu işlem, 16 LSB kaydedilene kadar tekrarlanmakta ve rastgele 16 bit sonuç oluşmaktadır. Rastgelelik için bir dizi istatistiksel test Federal Bilgi İşleme Standardı (Federal Information Processing Standards - FIPS) tarafından tanımlanmıştır. Bu rastgele sayı üretecinin kaynak koduyla birlikte 'Fips_test.c' adlı bir C dosyası bulunmaktadır. Bu kaynak kodu FIPS 140-2 sınamaları rastgelelik için uygulamaktadır.
Ayrıca, sayıların rastgeleliğini değerlendirmek için kullanılan yaklaşımlardan söz edilmiştir. Bu yaklaşımlar aşağıdaki gibidir:
• Eşik değeri: Test istatistiği hesabı belli bir değer ile karşılaştırılmalıdır.
• Sabit aralıklar (Fixed Ranges): Test istatistiğinin karar kuralı belli değer aralığında olmalıdır.
• Olasılık değeri: Olasılık değeri belli bir olasılık değerinden küçük olmalıdır.
Voris ve arkadaşları 2011 yılında yaptıkları çalışmada (Voris, Saxena ve Halevi, 2011), ivmeölçerin diğer sensörlere göre daha iyi bir entropi kaynağı olduğunu öne sürmüşler ve WISP RFID etiketinde de aynı durumun söz konusu olduğunu ifade etmişlerdir. Duran ve hareketli durumda veri elde etmişler ve bu verilerin kriptografik açıdan rastgele sayı gereksinimlerini karşıladığını iddia etmişlerdir.
Mitra’nın 2012’de yaptığı çalışmada (Mitra, 2012), tohum (seed) değerlerinin üretilmesi için uygun olan bir gerçek rastgele sayı üreteci önerilmiştir. Gerçek rastgele sayı üreteci, çift beslemeli işlemsel yükseltici ile gerçekleştirilmiştir. Bu, aynı zamanda, RFID etiketleri için yaygın olarak kullanılan bir MSP430 mikro denetleyicisinin tek beslemeli işlemsel yükselteçleri ile gerçekleştirilmiştir. Veriler, NIST testini geçmiştir. Orta güç tüketimi ve düşük veri hızı nedeniyle, veri sözde rastgele sayı üretecinin tohum değeri olarak uygun görülmüştür. Jeneratörün, yerleşik MSP430 mikro denetleyicilere sahip WISP RFID etiketlerinde kullanılabileceği öne sürülmüştür.
Fujdiak ve arkadaşları yaptıkları çalışmada (Fujdiak vd., 2013), ultra düşük güçlü mikro denetleyici ailesi olan MSP430x5xx üzerinde bir rastgele sayı üreteci ve bu ailenin bir üyesi olan MSP430f5438A'da bu üretecin bir uygulamasını analiz etmişlerdir. Rastgele sayı üreteci başarıyla test edilmiş ve jeneratörün rastgele sayılar üretmek için pratik cihazlarda kullanılabileceği sonucuna varılmıştır.
Hennebert ve arkadaşları yaptıkları çalışmada (Hennebert, Hossayni ve Lauradoux, 2013), olası bir entropi kaynağı olarak sensörlerin bir koleksiyonunu değerlendirilmişlerdir. Entropi üretmek için en iyi adayların ivmeölçer, manyetometre, titreşim sensörü ve dâhili saat sensörü olduğunu göstermişlerdir. Sıcaklık veya hava basıncı gibi yüksek ataletle olayları ölçen diğer sensörlerin çok az entropi sağladığı görülmüştür. Çalışmada, şartlı ortalama entropi tahmincisine ihtiyaç duyulduğu belirtilmiştir. Bir şifreleme anahtarı üretmek, kaynaklardan birçok örnek toplamayı gerektirmektedir. Bunun için koşullu ortalama entropi tahmincisinin, kaynak analizini iyileştirmek için değerli bir araç olacağı sonucuna varılmıştır.
Xu ve Potkonjak yaptıkları çalışmada (Xu ve Potkonjak, 2014), ilk olarak GRSÜ geliştirilmişler ve Alanda Programlanabilir Kapı Dizileri (Field Programmable Gate Arrays - FPGA) uygulamasını doğrudan hedef alan yeni bir özyinelemeli yapı kullanılmışlardır. Çalışmalarındaki temel fikir, FPGA yapılandırma bitlerine rastgele değerler yerleştirmek ya da çıkarmak ve yapı taşlarını rastgele bağlamaktır. Bu çalışmada ayrıca güvenli genel anahtar iletişimi için protokoller tanıtılmış ve GRSÜ'nün çıktı akışının NIST rastgelelik testini geçtiği gösterilmiştir.
Loutfi ve arkadaşlarının yaptığı çalışmada (Loutfi vd., 2014), akıllı telefonlarda bulunan üç hareket sensörü potansiyel olarak nondeterministik olmayan GRSÜ olarak değerlendirilmiştir. Akıllı telefonlar söz konusu olduğunda, ivmeölçerlerin rastgele bit üretimi için mümkün olan tek kaynak olmadığı, ayrıca jiroskopların ve manyetik sensörlerin de rastgele sayı kaynağı olarak kullanılabileceği gösterilmiştir.
Bedekar ve Shee yaptıkları çalışmada mikro elektromekanik sistem (MEMS) sensörleri (ivmeölçer, jiroskop ve pusula) kullanarak gerçek rastgele sayı üretimi için pratik bir yaklaşım sunmuşlardır (Bedekar ve Shee, 2015). Bu çalışmada, MEMS sensörü tamamen dinlendiğinde, yüksek kalitede rastgele sayı dizileri oluştuğu görülmüştür. Bu, MEMS sensörleri için algılama mekanizmalarındaki ilk gürültü kullanılarak gerçekleştirilmiştir. Pusulanın ürettiği veri akışı NIST testi sonuçları değerlendirildiğinde en başarılı sonuçları vermiştir: durağan olduğunda 15 testin 11’inden hareketli iken ise 15 testin 14’ünden geçmiştir. Kısa patlama (<1 sn) dizileri 15 NIST testinden 13'ünü geçmişken Barak-Impagliazzo-Wigderson özyinelemeli ayıklayıcıyı uygulayarak 15 NIST testinin tamamında başarılı sonuçlar elde edilmiştir.
Westlund’ın çalışmasında (Westlund, 2006), MSP430F2xx cihaz ailesi üzerinde bulunan her biri kendi zamanlama kaynağına sahip iki bağımsız saat (çok düşük frekanslı osilatör (Very Low-frequency Oscillator - VLO) ve dijital kontrollü osilatör (Digitally Controlled Oscillator - DCO)) kullanılarak rastgele sayılar üretilmiştir. Saatler bağımsız olduğu için, bu iki saat kaynağının kenar geçişleri arasındaki zaman farkı değişmektedir. Bu iki saat sistemi arasındaki zamanlama farkları rastgele bit akışını oluşturmak için kullanılmıştır. İki saat kaynağının birbirinden bağımsız olarak değişmesi nedeniyle, darbe sayısının eşit olup olmadığı tahmin edilememektedir. DCO zaman darbelerinin sayısı, zamanlayıcı tarafından bir yakalama / karşılaştırma yazmacı (capture/compare Register - CCR) içine kaydedilmektedir. Yakalama / karşılaştırma yazmacından gelen en düşük anlamlı bit (least significant bit – LSB), her defasında 1 sağa kaydırılarak R12 yazmacına (register) yazılmaktadır. Bu işlem, 16 LSB kaydedilene kadar tekrarlanmakta ve rastgele 16 bit sonuç oluşmaktadır. Rastgelelik için bir dizi istatistiksel test Federal Bilgi İşleme Standardı (Federal Information Processing Standards - FIPS) tarafından tanımlanmıştır. Bu rastgele sayı üretecinin kaynak koduyla birlikte 'Fips_test.c' adlı bir C dosyası bulunmaktadır. Bu kaynak kodu FIPS 140-2 sınamaları rastgelelik için uygulamaktadır.