Puncte:3

De ce să verificați punctul la infinit în timpul verificării ECDSA?

drapel kr

Standardul ECDSA impune ca în timpul verificării să verificăm dacă un calcul intermediar nu duce la punctul-la-infinit (vezi Pasul 5. în acest rezumat privind Wikipedia ). Dar De ce verificăm asta? Adică, cum declanșați, ca atacator, acest eveniment fără a cunoaște cheia privată?

În cele de mai sus presupun că toate celelalte verificări ale ECDSA sunt în vigoare ($r,s \in [1,n-1]$, cheia publică este pe curbă și așa mai departe...)

Puncte:3
drapel ng

Într-adevăr, cel specificația standard industrială a ECDSA are o etapă (5) care necesită respingerea semnăturii dacă este întâlnit punctul de la infinit.

Această condiție se poate întâmpla cel puțin

  1. Dacă deținătorul cheii private a generat o semnătură adecvată (invalidă), cu $r=-e\,q_u^{-1}\bmod n$ sau ceva pe melodia aia. Desigur, asta dezvăluie cheia privată și (astfel) un atacator care nu deține cheia privată nu poate genera în mod intenționat o astfel de semnătură adecvată.
  2. Accidental pentru intrare aleatorie la verificarea semnăturii. Desigur, probabilitatea este atât de mică încât poate fi redusă, dar apoi noroc să convingi unii deținători de ștampile de cauciuc despre asta.
  3. Din cauza unei erori de implementare a software-ului sau a unei erori de execuție în 5 sau mai devreme, accidentală de injectie defect.

S-a constatat că orice poate merge prost pe mare, în general, merge prost mai devreme sau mai târziu
Alfred Holt, în 1877-78 proces-verbal al Institution of Civil Engineers, publicat la Londra.

și care se generalizează bine la alte activități umane, inclusiv cripto. În timpul unei evaluări de conformitate sau de securitate bine administrate, cazul în cauză ar trebui chiar să fie testat, prin metoda 1. Deci trebuie făcut ceva în acest caz și nu trebuie să ducă la acceptarea semnăturii. Continuarea netulburată cu restul calculului ar duce la un comportament nedefinit, deoarece nu există așa ceva ca X coordonata punctului la infinit. O acțiune sigură, simplă și inacceptabilă este respingerea semnăturii și oprirea.

Nu există niciun risc de scurgere a canalului lateral (prin sincronizare sau DPA) în conformitate cu ipoteza standard (și de obicei adevărată) că mesajul, semnătura și cheia publică sunt publice.

Maarten Bodewes avatar
drapel in
Ai putea argumenta că aceasta este o apărare în profunzime. Este întotdeauna oarecum controversat să trebuiască să verifici o valoare care, în principiu, nu poate fi greșită cu un grad ridicat de certitudine, dar care presupune un sistem perfect.
R.. GitHub STOP HELPING ICE avatar
drapel cn
Încă nu înțeleg bine de ce ați verifica un caz excepțional care se poate întâmpla doar întâmplător pe date nevalide cu o probabilitate egală sau mai mică decât probabilitatea ca atacatorul să ghicească o semnătură validă sau să ghicească cheia privată.
fgrieu avatar
drapel ng
@R..GitHubSTOPHELPINGICE: ce zici de motivul 3? De asemenea, ce zici: este obligatoriu și testabil, astfel va fi testat și poate că ar fi mai degrabă să nu-i explicăm omului cu ștampila că da, semnătura de test a provocat o eroare care necesită resetare, deoarece extragerea coordonatei X a punctului la infinitul a provocat o excepție cu noua lansare a cadrului ECC, când cea anterioară tocmai a returnat zero; dar asta a fost doar un test, într-adevăr, nu se poate întâmpla pe teren; suuuuure hai sa-ti explic, e usoara matematica...
R.. GitHub STOP HELPING ICE avatar
drapel cn
@fgrieu: Am citit întrebarea ca întrebând de ce standardul o impune, nu ca întrebând de ce un implementator ar urma standardul așa cum este specificat.

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.