Puncte:1

Semnătura datelor cu entropie scăzută: pot fi falsificate?

drapel cn

Lucrez la o aplicație în care am o etichetă fizică de identificare a produsului care conține un bloc de public, date cu entropie scăzută (~50 de octeți), cum ar fi numărul de serie și alte informații, toate disponibile chiar pe etichetă. Aș dori să folosesc un algoritm de semnătură bazat pe hash pentru a oferi o verificare a autenticității că produsul este valid.

  1. Este aceasta o idee rezonabilă? Datele cu entropie scăzută cauzează probleme?
  2. Câte dintre aceste etichete de produse ar trebui să obțină cineva pentru a obține cheia secretă?

EDIT: O întrebare mai bună ar putea fi, această semnătură poate fi falsificată fără a avea cheia secretă?

  1. Există o modalitate de a face acest lucru în siguranță cu doar 256 de biți de date de ieșire?
poncho avatar
drapel my
„Există o modalitate de a face acest lucru în siguranță cu doar 256 de biți de date de ieșire?”; vrei să spui „semnătura de numai 256 de biți de date de ieșire” (nu o problemă) sau de a avea o semnătură care are doar 256 de biți lungime (acesta este dificil - BLS se apropie cel mai mult, totuși obținerea unui nivel de securitate de aproximativ 128 de biți necesită încă semnături de aproximativ 384 de biți? )
drapel cn
Mă refeream la a avea o semnătură care are doar 256 de biți. Înțeleg că fac un compromis de securitate aici, dar aș dori să înțeleg cât de rău este acest compromis.
poncho avatar
drapel my
Ei bine, BLS bazat pe curbe precum BN256I sau BN254N ar avea semnături de aproximativ 256 de biți și sunt estimate în prezent ca oferind securitate de aproximativ 100 de biți; prin urmare, dacă nu vă deranjează să reduceți oarecum securitatea, pare fezabil...
poncho avatar
drapel my
Securitatea de aproximativ 100 de biți este probabil suficient de bună dacă adversarul tău nu este un TLA cu adevărat motivat (nimeni altcineva nu poate compila nicăieri aproape de atât de mult calcul; nu sunt sigur despre TLA); este doar o marjă de securitate mai mică decât ceea ce ne-am obișnuit. Desigur, BLS nu este deloc sigur dacă adversarul are un computer cuantic...
Puncte:3
drapel my
  1. Este aceasta o idee rezonabilă?

Sună bine, atâta timp cât:

  • Utilizați o cheie RSA puternică (de exemplu, cel puțin 2048 de biți)

  • Folosiți o metodă bună de completare a semnăturii RSA

  • Îți împiedici cumva atacatorul să modifice cheia publică RSA pe care o folosești pentru a verifica

Datele cu entropie scăzută cauzează probleme?

Nu, datele cu entropie scăzută nu prezintă o problemă.

  1. Câte dintre aceste etichete de produse ar trebui să obțină cineva pentru a obține cheia secretă?

Nu există o modalitate cunoscută de a recupera cheia privată RSA, chiar dacă îi oferi atacatorului un Oracle pentru a semna un număr arbitrar de mesaje arbitrare (care este un scenariu de atac mult mai puternic decât ceea ce aveți).

fgrieu avatar
drapel ng
Adăugare: „metoda bună de completare a semnăturii RSA” ar putea fi [RSASSA-PSS din PKCS#1](https://pkcs1.grieu.fr/#page=27) sau ISO/IEC 9796-2 schema 2 sau 3 ( ceea ce are avantajul că unul cu cheia publică poate extrage datele cu entropie joasă din semnătură în sine), atât cu SHA-256, cât și cu MGF1+SHA-256. Puteți scăpa cu [RSASSA-PKCS1-v1_5 din PKCS#1](https://pkcs1.grieu.fr/#page=31) care nu are o reducere de securitate, dar este neîntreruptă, sau ISO/IEC 9796-2 schema 1 (care este stricat, dar nu practic în situația actuală), ambele cu SHA-256.
Puncte:0
drapel ng

După cum se spune în alt raspuns: da, aceasta este o idee rezonabilă, RSA permite semnarea securizată a datelor publice cu entropie joasă, care pot fi verificate în mod deschis ca se potrivesc cu datele respective, dar nu pot fi generate fără cheia privată.Exemplele de semnături valide și cheia publică nu vor dezvălui cheia privată sau modalitățile de a produce alte semnături. Mai multe scheme de semnături standardizate fac acest lucru în mod obișnuit (dar desigur că nu există nimic care să împiedice copierea datelor publice și a semnăturii acesteia).

Acum întrebarea adaugă:

Există o modalitate de a face acest lucru în siguranță cu doar 256 de biți de date de ieșire?

Nu cu RSA. O semnătură RSA pe 256 de biți ar fi nesigură, deoarece acestea sunt (în câțiva biți) la fel de largi ca modulul public, iar 256 de biți este mult prea mic (384 de biți era deja prea mic în anii 1990 și s-au înregistrat progrese considerabile). de atunci, vezi acest).

256 de biți este aproape, și mai degrabă pe partea greșită, a ceea ce schemele de semnătură bine verificate pot oferi cu securitate ridicată. eu recent intrebat despre asta, făcând un inventar a ceea ce știu printre standardizate scheme, fără nimic sub 384 de biți la nivelul de securitate de 128 de biți recomandat în mod obișnuit pentru securitate înaltă în următoarele decenii.

Pe de altă parte, dacă cineva este mulțumit de securitatea pe 90 de biți (care ar pune în continuare costul proiectat de atac folosind mijloacele de astăzi în miliarde de euro) și nu are nevoie de ceva standardizat, este posibil să se utilizeze semnătură scurtă Schnorr (care ar fi nominal de 270 de biți) și câteva trucuri pentru a tranzacționa un timp mai lung de generare a semnăturii și/sau de verificare cu câțiva biți mai puțini de semnătură. Pot detalia asta dacă este nevoie.

O altă variantă ar fi Semnătura BLS de exemplu. pe curba BN254 sau BN256, care se potrivește obiectivului de dimensiune și ar fi cel puțin la fel de sigur în funcție de aceste comentarii, dar asta este în afara zonei mele de confort.

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.