Studies on the design of robust and fully-digital random number generators

thumbnail.default.alt
Tarih
2020
Yazarlar
Acar, Burak
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Yayınevi
Fen Bilimleri Enstitüsü
Özet
The random number generator is a module that produces unpredictable bit sequences with various statistical properties. Multiple tools such as dice and metal coins have been used since ancient times to make random choices. Today, even in a football game, a coin is used to decide which team will start the game. Random number generation is one of today's popular topics in information security. Random Number Generators (RNGs) are at the core of cryptosystems with producing unpredictable secret keys. The weaknesses of the random number generator of a cryptosystem can cause confidential data to fall into undesirable third parties' hands. Therefore, random number generation mechanisms should be based on physical entropy sources. RNGs are used not only for cryptography but also in Monte Carlo simulations, learning algorithms, science, art, gaming, scrambling, etc. Random number generators are classified into two main groups, Pseudo Random Number Generators (PRNGs) and True Random Number Generators (TRNGs). PRNGs generate new values from seed using certain functions. These bit sequences, which have a statistically random appearance, repeat themselves after a certain period of time. Therefore, the generated bit sequences are periodic and predictable. On the other hand, true random number generators use physical quantities as an entropy source. They generate random numbers that do not repeat themselves, where the generated bit is independent of the previous bit. Random number generators can be implemented using software or hardware. Hardware based random number generators can be implemented on an FPGA platform or ASIC chip. Designers prefer FPGA platforms because of their features, such as rapid prototyping, reprogrammable, low production cost. Besides, FPGA platforms have low noise sources since they are designed to work in digital circuits. Therefore, generating random numbers on an FPGA requires some design requirements. The designs made as ASIC allow the entropy source to be designed with the desired features more easily. ASIC designs are more preferred in designs to be mass-produced due to their high production costs and high design costs. Random number generators are designed on FPGA or ASIC according to the desired features and application restrictions. In this study, some state-of-the-art designs of TRNGs especially implemented digitally are examined, and some new improvements and design techniques are proposed. First of all, a three-dimensional no-equilibrium chaos-based RNG published in the literature is implemented on an FPGA. The master-slave synchronization method is tried to be achieved by implementing a clone of the target circuit on the FPGA. Although the initial conditions of the attacked circuit are unknown, it is experimentally shown that the same bit sequence can be produced in the clone circuit as a result of listening to an output of the attack circuit. Thus, it is shown that RNGs based on deterministic sources are vulnerable to possible attacks and should not be used without any noise source. A ring oscillator-based random number generator cannot be used in applications requiring low power consumption due to their high power consumption. For low power consumption, a random number generation technique is proposed by engaging and disengaging SR latch structures at specified intervals. The fact that the digital gates used are active only at certain times and require fewer digital gates has reduced power consumption. Immunity of the SR latch structure against correlation-based attacks was investigated in the earlier studies. The method of sampling this structure at irregular time was also proposed in the previous studies. In this study, an ASIC version of these structures is explained. A fully digital random number generator with low power consumption, which can be used for different applications of different chips, is designed as an ASIC in TSMC 180 nm technology. The created custom IP occupies 120 μm * 114 μm. This study is important for summarizing current works in digital random number generators, for comparing their security and performance.
Rastgele sayı üreteci çeşitli istatiksel özelliklere sahip, tahmin edilemeyen bit dizileri üreten bir modüldür. Eski zamanlardan beri rastgele seçimler yapmak için zar ve metal paralar gibi çeşitli araçlar kullanılmıştır. Günümüzde bir futbol müsabakasında dahi hangi takımın oyuna başlayacağına karar vermek için bir bozuk para kullanılır. Rastgele sayı üretimi, günümüzde bilgi güvenliğinin popüler konularından biridir. Rastgele sayı üreteçleri tahmin edilemeyen anahtar üretmesi nedeni ile bilgi güvenliği sistemlerinin temel taşıdır. Bir kripto sistemin rastgele sayı üretecinin zaafları, gizli verilerin istenilmeyen üçüncü kişilere aktarılmasına sebep olabilir. Bu nedenle rastgele sayı üretim mekanizmaları fiziksel entropi kaynaklarına dayandırılmalıdır. Rastgele sayı üreteçleri sadece kriptografi için değil aynı zamanda Monte Carlo simülasyonları, öğrenme algoritmaları, bilim, sanat, oyun, karıştırma, vb. alanlarda da kullanılır. Rastgele sayı üreteçleri basit rastgele sayı üreteci ve gerçek rastgele sayı üreteçleri olmak üzere iki ana grupta sınıflandırılır. Basit rastgele sayı üreteçleri belirli fonksiyonlarla bir ilk değerden yeni değerler üretilir. İstatiksel olarak rastgele görünüme sahip olan bu bit dizileri belirli bir süre sonunda kendilerini tekrar ederler. Dolayısıyla üretilen bit dizileri periyodiktir ve tahmin edilebilir. Gerçek rastgele sayı üreteçleri ise entropi kaynağı olarak gerçek fiziksel kaynakları kullanır. Oluşturulan bitin önceki bitten bağımsız olduğu, kendilerini tekrarlamayan rastgele sayılar oluştururlar. Bir rastgele sayı üretecinin gerçek rastgele sayı üreteci olabilmesi için uluslararası otoriteler tarafından belirlenen birtakım standart testlerden başarılı olması gerekir. Ancak, testleri geçen her rastgele sayı üreteci, bunun bir gerçek rastgele sayı üreteci olduğunu göstermez. Testler yalnızca bu rastgele sayı üretecinin rastgele sayılar üretmediğini ve bir gerçek rastgele sayı üreteci olmadığını kanıtlar. Rastgele sayı üreteçleri yazılım veya donanım olarak gerçeklenebilir. Donanımsal rastgele sayı üreteçleri FPGA platformunda veya ASIC çip olarak gerçeklenebilir. FPGA platformu hızlı prototipleme, tekrar tekrar programlanabilme, düşük üretim maliyeti gibi özellikleri nedeniyle tasarımcılar tarafından tercih edilir. Bunun yanında FPGA platformları sayısal devrelerde çalışması için tasarlandığından düşük gürültü kaynağına sahiptir. Dolayısıyla FPGA üzerinde rastgele sayı üretmek birtakım tasarım gereksinimleri gerektirir. ASIC olarak yapılan tasarımlar ise entropi kaynağının daha kolay istenilen özelliklerde tasarlanabilmesine imkân sağlar. ASIC tasarımlar üretim maliyetlerinin yüksek olması sebebi ve yüksek tasarım maliyeti nedeniyle seri üretim yapılacak tasarımlarda daha çok tercih edilir. İstenilen özelliklere ve uygulama kısıtlamalarına göre rastgele sayı üreteçleri FPGA üzerinde veya ASIC olarak tasarlanır. Bu çalışmada literatürde popüler olan bazı tamamen sayısal rastgele sayı üreteci çalışmaları incelenmiş ve bazı yeni geliştirmeler ve teknikler önerilmiştir. Öncelikle, daha önce literatürde yayımlanan üç boyutlu denge noktası olmayan bir kaos tabanlı RNG, bir FPGA üzerinde gerçeklenmiştir. FPGA üzerinde aynı devrenin bir kopyası uygulanarak iki devrenin senkronizasyonu sağlanmaya çalışılmıştır. Saldırıya uğrayan devrenin başlangıç koşulları bilinmemekle birlikte, aynı bit dizisinin saldırı devresinin sadece bir çıkışının dinlenmesinin bir sonucu olarak klon devresinde de üretilebileceği deneysel olarak gösterilmiştir. Böylece deterministik kaynaklara dayalı RNG'lerin olası saldırılara karşı savunmasız olduğu ve herhangi bir gürültü kaynağı olmadan kullanılmaması gerektiği gösterilmiştir. Halka osilatör tabanlı rastgele sayı üreteci, yüksek güç tüketiminden dolayı düşük güç tüketimi gerektiren uygulamalarda kullanılamaz. Bu çalışmada düşük güç tüketimi için, belirli aralıklarla SR mandal yapıları devreye alınarak ve devre dışı bırakılarak rastgele bir sayı üretme tekniği kullanılmıştır. Kullanılan sayısal kapıların sadece belirli zamanlarda aktif olması ve daha az dijital kapı gerektirmesi güç tüketimini azaltır. SR mandal yapısının korelasyon tabanlı saldırılara karşı bağışıklığı önceki çalışmalarda araştırılmıştır. Bu yapıyı düzensiz zamanda örnekleme yöntemi de önceki çalışmalarda önerilmiştir. Bu çalışmada, SR mandallı yapının tümdevre gerçeklemesi yapılmıştır. Daha önce FPGA'da doğrulanan yapı, 180 nm TSMC teknolojisi kullanılarak tamamen sayısal olarak ASIC olarak tasarlanmıştır. SR mandalları FPGA veya ASIC üzerinde gerçeleme bölgesine göre kötü bir entropi kaynağı olarak davranabilir. Bu tür durumlara karşı, SR mandallarının sayısı yüksek tutulur. Her bir SR mandal hücresinin çıktısını XOR işlemine sokulur. Böylece entropi artırılır. Bu çalışmada, alan ve güç tasarrufu için SR mandallarının sayısı en aza indirilmeye çalışılmıştır. SR mandallarının sayısında FPGA üzerinde yapılan denemeler baz alınmıştır. Ancak gelecekteki bir çalışma olarak çip üretiminden sonra daha ayrıntılı analizlere yer verilecektir. Kritik uygulamalarda, SR mandallarının sayısı oldukça yüksek seçilebilir. Böylece bazı SR mandallarının FPGA üzerinde zayıf uygulanmasıyla bile sistem hâlâ iyi bir şekilde çalışacaktır. Ayrıca önerilen RNG daha önce düşük teknoloji düğümlerinde üretilmiş modern bir FPGA üzerinde gerçeklenmiştir ve tüm rastgelelik testlerinden başarı ile geçmiştir. Düşük teknolojilere geçildikçe gürültü miktarı da azalmaktadır. Dolayısıyla, önerilen RNG 180 nm'lik teknolojide bir ASIC olarak uygulandığında, entropi daha yüksek olacak ve metastabilite daha baskın olacaktır. Bu nedenle, 180 nm'de ASIC olarak tasarlanan RNG'nin entropi bakımından daha güvenli olacağı düşünülmektedir. Sayısal bir tümdevre tasarımının bir fikirden çipe giden yolculuğu bu çalışmada özetlenmiştir. ASIC tasarım akışı, bir tasarım konseptiyle başlar. Bu aşamada bir soruna çözüm sunan bir fikir düşünülerek kabaca bir blok diyagram oluşturulur. İstenilen özellikler, kullanılacak mimari, kullanılacak arayüzler, kısıtlamalar (zaman, alan, güç, hız) belirlenir. Daha sonra bu tasarım konsepti, sayısal araçların anlayabilmesi için RTL koduna dönüştürülmelidir. VHDL, Verilog veya Sistem Verilog dili donanım tasarım dili olarak kullanılabilir. İkinci adım, RTL kodunu, çip üretim fabrikasının anlayabileceği ve kullanıcıların kendi tümdevresini (GDSII düzeni olan) ürettirebileceği bir formata dönüştürmektir. Bazı durumlarda, kullanıcılar RTL kodunu yazmadan önce yazılım modeli oluşturabilir. Ayrıca çoğu zaman kullanıcılar üretime gitmeden ve üretim hizmetlerine çok para harcamadan önce tasarımlarını FPGA platformunda prototip olarak denerler. RTL tasarımı hazır olduktan ve tasarımın fiziksel bir sistemde düzgün çalışıp çalışmadığı kontrol edildikten sonra RTL kodunun çip üretici firmaların anlayabileceği bir formata yani GDSII'ye dönüştürülmesi gerekir. Bir RTL kodunu bir GDSII dosyasına dönüştürme akışının üç ana adımı vardır. İlk olarak, RTL kodu sentezlenir ve teknolojiye özgü hücrelerden oluşan bir dosya formatına dönüştürülür. İkinci olarak, bu teknolojiye özgü hücreler, tümdevre tasarımının herhangi bir fiziksel yönü dikkate alınarak fiziksel olarak gerçeklenir. Son adım olarak, doğrulama işlemi yapılır. Doğrulama aşaması tümdevre tasarımlarını üretime göndermeden önce hataları önceden fark edebilmek açısından kullanışlıdır. Doğrulama aşaması, üretimden sonra çalışmayan çiplerini geri almak istemeyen tasarımcılar için çok önemlidir. Doğrulama aşaması doğru bir şekilde yapılırsa, fazladan üretim gerektirmediği için zaman ve para tasarrufu sağlayabilir. Bu çalışmada farklı yongaların farklı uygulamaları için kullanılabilen, düşük güç tüketimine sahip tamamen sayısal bir rastgele sayı üreteci, TSMC 180 nm teknolojisinde ASIC olarak tasarlanmıştır. Tasarlanan özel IP 120 μm * 114 μm yer kaplamaktadır. Daha önce FPGA üzerinde başarılı sonuçlar alınan 3,125 Mb/sn bit üretim hızı hedeflenmiştir. Önerilen tasarımın toplam alanı 13623 μm2'dir. Ortalama koşullarda (25 C, 1,8 V besleme, tipik işlem) anahtarlama etkinliğini %20 alırken toplam güç tüketimi 0,44 mW'tır. Bu çalışma, sayısal rastgele sayı üreticilerindeki güncel çalışmaları özetlemek, güvenliklerini ve performanslarını karşılaştırmak için önemlidir. Gelecekteki bir çalışma olarak, önerilen RNG yapısı tümdevre olarak üretilecek ve çip üzerinden rastgele bitler okunarak rastgelelik testleri yapılacaktır. Üretim sonrası ölçümlere göre bit üretim hızı arttırılabilir.
Açıklama
Tez (Yüksek Lisans)-- İTÜ Fen Bilimleri Enstitüsü, 2020
Anahtar kelimeler
analog electronic systems, analog elektronik sistemler, linear integrated circuits, doğrusal bütünleşmiş devreler
Alıntı