Page name: ARRSProjekti / 2021 / Kriptografsko varen generator naključnih štrevil

Kriptografsko varen generator naključnih štrevil

Nazaj na seznam za leto 2021


Oznaka in naziv projekta

V1-2119 Kriptografsko varen generator naključnih štrevil
V1-2119 Cryptographically secure random number generator

Logotipi ARRS in drugih sofinancerjev

© Javna agencija za raziskovalno dejavnost Republike Slovenije

Projektna skupina

Vodja projekta: Rok Žitko

Sodelujoče raziskovalne organizacije: Institut Jožef Stefan

Sestava projektne skupine: Peter Jeglič, Erik Zupanič, Matjaž Depolli, Roman Novak

Vsebinski opis projekta

Analizirali bomo stanje na področju implementacij kriptografsko varnih generatorjev naključnih števil, pri čemer bomo upoštevali tudi grožnje, ki jih predstavljajo kvantni računalniki, zlasti pospešeno ugotavljanje notranjega stanja generatorja psevdo-naključnih števil iz niza generiranih vrednosti. Na tej podlagi bomo pripravili splošna priporočila za kriptografsko varen generator ter metodologije za preverjanje pravilnosti implementacij, ter specifična priporočila za kriptografsko varen generator za uporabo na področju tajnih podatkov za različne stopnje tajnosti ter pripadajoče metodologije za preverjanje pravilnosti implementacij. Ocenili bomo tudi smiselno časovnico za prehod na bolj varne ("post-kvantne") metode, pri čemer bomo upoštevali verjetnost za izgradnjo zadosti zmogljivega kvantnega računalnika v bližnji prihodnosti. Razvili bomo tri optične demonstracijske prototipe za generiranje pravih (povsem nepredvidljivih) naključnih števil na fizikalnih osnovah kvantne mehanike (QRNG). Vir naključnosti bo v prvem prototipu spontana emisija v svetleči diodi (LED), v drugem proces fotovzbuditve v enofotonski plazovni diodi (SPAD), v tretjem prototipu pa bomo združili oba vira kvantne naključnosti, LED in SPAD. Za obdelavo in osnovno preverjanje naključnosti bodo uporabljeni napredni ekstraktorji, v sisteme bo vgrajeno nenehno preverjanje in monitoring stanja generatorja, kar bo zagotavljalo pravilnost delovanja v realnem času. Izmed treh razvitih modulov bomo izbrali najbolj primerno tehnologijo (z vidika zanesljivosti in možnosti proizvodnje) ter izdelali prenosno napravo, ki se jo bo priključilo na računalnik preko standardnih vodil. Za prenosni prototip bomo izdelali natančen mikroskopski model delovanja naprave, ki bo omogočil jasno ovrednotiti princip delovanja in določiti minimalno generirano entropijo, tako da bo vir dokazljivo varen. Upoštevali bomo vse nepopolnosti realne naprave. Naprava bo ustvarila vsaj 1 Mbit entropije na sekundo, izhodni niz bo prestal vse standardne statistične teste (po NIST SP800-90A/B/C, NIST SP800/22 in DieHarder). Izdelali bomo kriptografsko varen generator pravih (true random) naključnih števil (TRNG) v tehnologiji programabilne logike FPGA (field programmable gate array). Kot primarni vir entropije bomo uporabili fluktuacije v frekvencah delovanja oscilatorjev (tresenje oz. jitter) ter metastabilnost digitalnih vezij. Izdelali bomo skalabilno implementacijo vira na podlagi Fibonaccijevih in Galoisovih krožnih oscilatorjev. Izvedbo bo možno ustrezno paralelizirati in poganjati na večjem vezju FPGA. Cilj za referenčno implementacijo je zasičenost vodila ob prenosu generiranih števil preko gigabitne Ethernet povezave. Natančno bomo ovrednotili minimalno entropijo, ki jo proizvaja primarni generator entropije, primerno izbrali število krožnih oscilatorjev ter njihove dolžine, ter ustrezno nastavili del vezja za postprocesiranje (ekstrakcijo naključnosti). Na izhodu bo niz obdelan s kriptografsko hash funkcijo, tako da bo v primeru popolne odpovedi vira entropije naprava generirala psevdonaključna števila namesto pravih naključnih števil. Vgrajen bo nadzor nad stanjem generatorja, ki bo preverjal pravilnost delovanja. Na voljo bo izvorna koda v jeziku Verilog, kar bo omogočilo neodvisno verifikacijo implementacije. Razvili bomo programski modul za uporabo na mobilnih napravah, ki bo implementiral kriptografsko varno generiranje psevdo-naključnih števil. Modul bo v namene generiranja naključnosti omogočal zajemanje entropije iz virov, ki jih ponuja operacijski sistem, iz strojne opreme mobilne naprave ter iz akcij uporabnika. Pri tem bomo črpali znanje tako iz raziskav znotraj projekta ter iz trenutnega stanja raziskav na področju. Na strojni opremi, ki bo to omogočala, bomo zagotovili entropijo iz kvantnih virov, kot je na primer CCD senzor vgrajene kamere ali pa drugih kvalitetnih fizičnih virov, kot je pospeškomer.

Delovni sklopi

1. Analiza implementacij generatorjev naključnih števil in priprava priporočil

2. Preverjanje skladnosti implementacij generatorjev z javno dostopno dokumentacijo o njihovem predvidenem načinu delovanja

3. Priprava priporočil in metodologije za preverjanje

4. Izdelava kvantnih generatorjev naključnih števil na osnovni optičnih naprav

5. Izdelava generatorja naključnih števil v tehnologiji programabilne logike FPGA

6. Progamski modul za generiranje psevdo-naključnih števil za uporabo na mobilnih napravah

7. Razvoj metodologije za testiranje lastnih rešitev


Nazaj na seznam projektov po letih