Puncte:3

DIY TRNG pe un sistem încorporat pentru generarea cheii private Ethereum

drapel cn

Încerc să construiesc acest portofel hardware Ethereum pe un sistem integrat personalizat și nu sunt un expert. Căutând pe Google pe Google am găsit asta Generare de numere aleatoare robuste, cu costuri reduse, auditabile pentru securitatea sistemului încorporat hârtie. Pe măsură ce am citit propunerea din această lucrare, a sunat destul de sigur; un adevărat TRNG. Cu toate acestea, în timp ce mă străduiam să simulez circuitul în orice constructor de circuite online, m-am gândit că poate nu am nevoie de un sistem atât de complicat. Poate folosind niște senzori (umiditate, lumină, vibrații, sunet) aș putea aduna date externe, să le folosesc pentru a însămânța un PRNG și ar fi suficient de sigur. Dar nu sunt expert nici în criptografie, nici în practicile de generare a cheilor private.

Tu ce crezi? Este suficient de sigur să folosiți senzori externi simpli pentru a aduna entropia și a genera un PRNG? Sau ar trebui să construiesc acest TRNG indiferent de luptă? Care sunt dezavantajele folosirii unuia față de celălalt? Care sunt beneficiile?

Diego Hernandez Herrera avatar
drapel cn
@PaulUszak Când iti simulez circuitul de 9V, cum ar trebui să măsoare terminalul de „entropie”? Am încercat să folosesc un voltmetru, dar cel puțin la simulare, nu s-a schimbat.
Paul Uszak avatar
drapel cn
Să fie lăudați zeii că ne permit să vorbim despre niște electronice aici. (În caz contrar, putem sări pe forumul de electronice dacă doriți). Simulatoarele tipice nu au un model de zgomot Zener/Avalanche. De aceea, nimic nu se schimbă. Trebuie să injectați pseudozgomot extern, de obicei prin cuplaj capacitiv/rezistiv. Consultați https://electronics.stackexchange.com/q/55233/56469. Adăugați să spunem 100mVpp.
Paul Uszak avatar
drapel cn
Ceva noroc......?
Puncte:1
drapel mu
Dan

Concluzie în față: nu o faceți.

În primul rând, ce modelare a amenințărilor ați făcut? Cu alte cuvinte, dacă cineva are fizic portofelul (dispozitivul) și îl deschide, sursa de entropie este atacabilă (deoarece este un circuit extern alimentat în microcontroler). Și majoritatea acestor circuite au probleme precum:

  • ușor influențat sau atacat prin atac fizic/de mediu (temperatură, glitch de tensiune, EMI etc.)

  • îmbătrânire. Multe dintre aceste circuite au probleme în care, chiar și după numai luni, entropia poate scădea cu un ordin de mărime.

În plus, se pare că (din PDF-ul pe care l-ați citat), fără a include costurile NRE, costul pe unitate este de aproximativ 1,44 dolari SUA sau cam așa ceva? La aceasta este QTY 10K. Atmel (acum Microchip) produce cipuri RNG (și altele) care sunt total validate, rezistă la atacuri fizice (mesh) și sunt ca 0,50 USD în QTY 1 (vezi ATSHA204 ca doar un exemplu). Cred că cipul Atmel scade la ~ 30 de cenți SUA în QTY 10K.

Dacă doriți să vă jucați cu acest tip de circuit pe banca de laborator și în LTSPICE, bine, dar dacă doriți să faceți acest lucru într-un produs de securitate, există căi mai bune de ales.

Notă: un MCU cu HRNG/TRNG încorporat este și mai greu de atacat, deși este încă posibilă putere/temp/glitch etc. Dar atacatorul ar trebui să decupleze cipul pentru a modifica interfața de la RNG la CPU-ul microntrollerului.

Paul Uszak avatar
drapel cn
1) Aveți exemple de punctul 2? Niciuna dintre cele nouă surse de entropie ale mele nu variază cu mai mult de câteva procente din cauza variației de temperatură. Și asta este irelevant dacă măsurați corect Hmin.
Paul Uszak avatar
drapel cn
2) Cum vă propuneți să validăm cipurile Microchip, având în vedere indistinguirea computațională? Să le credeți (NSA) pe cuvânt?
Paul Uszak avatar
drapel cn
3) Având în vedere un preț al monedei de 3.314,01 GBP, de ce vă concentrați pe costuri de 0,30 USD?
drapel mu
Dan
@PaulUszak - wow, se pare că te-am animat cu adevărat. Apreciez politețea ta (sincer) cu privire la votul pozitiv la întrebare, am avut doar câteva minute să răspund și pur și simplu am uitat să votez în favoarea întrebării. i
drapel mu
Dan
@PaulUszak Re 3) ce legătură are asta cu prețul ouălor din China? Dacă o soluție este de 20% din preț și este, de asemenea, superioară (partea aceea este subiectivă, clar că s-ar putea să nu fim de acord), nu contează dacă protejezi o minge de scame sau un bitcoin, nu-i așa? Ca să nu mai vorbim de NRE. Îmi pare rău, nu știu dacă proiectați electronice încorporate pentru o carieră.
drapel mu
Dan
@PaulUszak: Eu nu propun asta. Nu sunt sigur că există o problemă de înțelegere a lecturii acolo. Nu am menționat niciodată NSA. Sunteți la curent cu vreun atac asupra acestui cip care ar fi mai ușor decât circuitul furnizat? De asemenea, vă proiectați propriile ALU și procesoare? Sau crezi pe cuvânt NSA pentru asta. Linie ciudată de întrebări.
drapel mu
Dan
@PaulUszak re: punctul 2 - întrebare corectă. Am văzut asta de două ori în cariera mea cu companii cu care am lucrat (ei bine, le-am văzut datele, nu le-am verificat) și cred că am văzut acest lucru raportat pe un proiect open source, voi încerca să-l dezgroape.
drapel mu
Dan
@PaulUszak - doar câteva citate, nu cred că găsesc sursa pe care am citit-o cu câțiva ani în urmă... dar : 1) (https://emergent.unpythonic.net/01257868826) „Zgomotul digital este părtinitoare, dar fără o corelație în exces (după câțiva ani de îmbătrânire, ~ 80% biți „1”, limita superioară a entropiei (entropia Shannon) de aproximativ 0,74 biți pe bit)” și 2) (https://betrusted. io/avalanche-noise.html) „Se știe că unele generatoare de avalanșă sunt vulnerabile la îmbătrânire”.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.