Puncte:3

Este sigur să dezvălui un punct EC arbitrar înmulțit cu o cheie secretă?

drapel jp

Avem un grup EC de ordin primar. Trebuie să efectuați un (un fel de) protocol DH, în timp ce cheia este permanentă, nu o nonce (cheie efemeră cu o singură utilizare).

Așadar, primim un element de grup arbitrar (punct EC) de la o parte care nu are încredere și îl dezvăluim înmulțit cu cheia secretă.

Este întotdeauna sigur să faci asta? Adică, poate atacatorul să creeze punctul EC într-un fel pentru a extrage câteva informații despre cheie? Ne asigurăm că punctul EC este într-adevăr pe curbă și, așa cum am menționat, este un grup de ordin primar.

Maarten Bodewes avatar
drapel in
Cred că puteți deduce acest lucru din faptul că DH-ul efemer-static ar fi extrem de stricat dacă nu ar fi așa. Dacă îmi amintesc bine, nu există nicio altă verificare pe cheia publică efemeră, în afară de aceea că este pe curbă.
drapel jp
@MaartenBodewes: în mod normal, în DH, egalul nu are stimulente să-ți extragă nonce.
fgrieu avatar
drapel ng
@valdo: Descrierea dvs. nu are două detalii importante: ar putea adversarii să efectueze multe (să zicem $2^{24}$) interogări? Și ar fi acestea interogări _iterate_ sau nu? Asta face diferența, deoarece $k$ interogări repetate permit să calculeze $(d^{k+1})\,G$ unde $d$ este o cheie privată și $d\,G$ este o cheie publică cunoscută, în timp ce $k\ge1$ interogări prestabilite ar permite să se calculeze $(d^2)\,G$ dar nu $(d^j)\,G$ pentru $j\ge3$ indiferent de $k$. În mod independent: dacă rezultatul DH (înainte de funcția de derivare a cheii) a devenit public, atunci adversarii din DH efemer ar fi aproximativ în poziția pe care o descrieți.
drapel jp
@fgrieu: Da și da. Deci adversarul poate calcula cu ușurință `(d^n)G` pentru puterea arbitrară `n`. Ce mai conteaza? Permite acest lucru adversarului să extragă informații despre cheie?
fgrieu avatar
drapel ng
@valdo: dacă $k$ împarte $p-1$ și adversarul are $G, d\,G, (d^k)\,G$, atunci conform citirii mele din rezumatul _Analiza de securitate a lui Jung Hee Cheon problema Strong Diffie-Hellman_ (în [proceedings of Eurocrypt 2006](https://doi.org/10.1007/11761679_1)), există un atac de $\sqrt k$ ori mai rapid decât Baby Step/Giant Step pentru a recupera $d$ . Așa cum în rezumat, atacul necesită practic multă memorie, dar la fel și BSGS, totuși căutarea de coliziuni rezolvă acest lucru și permite distribuția; deci ar putea deveni practic. Notă: _nu_ ar trebui să primesc meritul pentru că am venit cu această idee pentru această întrebare.
drapel jp
@MaartenBodewes: da, dar depinde ce vrei să spui prin „rupt”. Scopul principal al AFAIK DH nu este protejarea cheii secrete, ci deducerea unui secret comun cu o parte cooperantă printr-un canal de comunicare public, nu?
Maarten Bodewes avatar
drapel in
Am putea folosi „cheie privată (efemeră/statică) în loc de „nonce” sau „cheie secretă”? Acești termeni încurcă apa. În timp ce suntem la asta, rezultatul este într-adevăr un „secret partajat” sau „cheie secretă” derivată "s după folosirea unui KDF. Pentru *static* DH, desigur, totul despre protejarea cheilor private. Dacă aveți cheia privată, veți divulga și secretul partajat, de exemplu, deoarece cheile publice (sau punctele cheii publice) ar trebui luate în considerare public. Dacă este folosit și pentru autentificarea unei părți - așa cum este obișnuit în DH efemer-static - atunci scurgerea cheii private statice distruge acea autenticitate.
drapel jp
@fgrieu: multumesc mult! Acesta este un punct excelent. Bine de stiut. Cred că în cazul meu particular, acest lucru este încă în regulă. Practic, adversarul poate invoca acest protocol de câteva milioane de ori, poate chiar miliarde, dar nu trilioane. Vorbim de ordinul p de 2^256. Deci complexitatea atacului este redusă cu 30/2 = 15 biți. de la 128 de biți la ceva de genul 113 de biți. Încă suficient de bun pentru cazul nostru particular.
fgrieu avatar
drapel ng
@valdo: veți fi interesat de informații [acolo](https://chat.stackexchange.com/transcript/message/59152377#59152377) (și în [materialul legat](https://mailarchive.ietf.org) /arch/msg/cfrg/YDVS5Trpr6suig_VCFEOH6SOn8Q/)). Înțeleg că în mare parte confirmă ceea ce bănuiam mai sus, dar sunt prea departe de zona mea de confort pentru a scrie un răspuns.
Puncte:2
drapel kr

Presupunând că prin „ordine primară” vă referiți la „ordine principală”, aceasta se numește problema statică Diffie-Hellman și există câteva atacuri cunoscute împotriva acesteia. Principalele pe care trebuie să le iau în considerare din capul meu ar fi:

  • Cheonul DLP cu intrări auxiliare atac: există mai multe variante, dar de exemplu dacă ordinul principal $p$ din curbele eliptice satisface asta $d$ este un divizor al $p-1$, apoi un atacator care face mulți interogările pot rezolva problema jurnalului discret în timp $\widetilde{O}(\sqrt{p/d} + \sqrt{d})$, care în cel mai rău caz $d = \Theta(p^{1/2})$ este $\widetilde{O}(p^{1/4})$. Acest lucru ar putea fi destul de rău în principiu, dar există diverse motive pentru care atacul nu este extrem de amenințător în acest cadru. În primul rând, datorită cerințelor de memorie ale atacului și faptului că majoritatea valorilor $p$ ar fi destul de departe de cel mai rău caz, este probabil să fie greu de montat în practică în majoritatea scenariilor. În al doilea rând, dacă $\alpha$ este cheia secretă, atacatorul trebuie să obțină cumva ambele $\alpha G$ și $\alpha^d G$ pentru $G$ generatorul de grup și singura modalitate de a face acest lucru pare să fie $d$ interogări adaptive secvențiale $G \la \alpha G \la \alpha^2 G \la \cdots \la \alpha^d G$. Este mult de așteptat de la oracol și din moment ce este nevoie de timp $O(d)$, aceasta reduce optimul $d$ la $\Theta(p^{1/3})$ și crește complexitatea rezultată la $\widetilde{O}(p^{1/3})$ (presupunând din nou că $p-1$ are forma cerută). Nu există multe setări în care oracolul ar răspunde $2^{85}$ întrebări din partea adversarului. Acesta este motivul pentru care atacul Cheon este de obicei mai relevant în setările în care grupează elemente ale formei $\alpha^j G$ sunt ușor disponibile ca material de cheie publică, mai degrabă decât obținute folosind interogări secvențiale;

  • Grangerul câmp de extensie atac dacă se întâmplă să utilizați curbe peste câmpuri de extensie de grad $\geq 3$ (ceea ce cel mai probabil nu este cazul).


Mulțumesc lui @fgrieu pentru că a subliniat în mod corect că mai multe comentarii pe care le-am făcut despre acest lucru au fost incorecte și, de asemenea, au indicat discuții relevante pe o listă de corespondență IETF.

fgrieu avatar
drapel ng
Nu văd de ce atacul Cheon pe care îl menționați nu ar funcționa într-o anumită măsură, când întrebarea folosește interogări repetate și $p-1$ are un factor prim moderat.
drapel jp
@fgrieu: în cazul meu, numărul excesiv de interogări nu este foarte practic. După cum am spus, limita superioară a numărului de interogări este de ordinul unui milion.
drapel jp
P.S. pentru a fi concret: avem o aplicație care numește „plugin”. Acest plugin nu poate avea acces direct la o cheie, dar îi permitem să-și obțină imaginea (k*G). Recent am decis să îi permitem să obțină (k*P), în timp ce P este un element de grup arbitrar. Durata de rulare a pluginului este limitată (adică nu poate rula zile). Utilizatorul poate extrage orice informații oricum dacă dorește. Deci este vorba despre protejarea unui utilizator împotriva unui plugin rău intenționat.
fgrieu avatar
drapel ng
@valdo: Am înțeles. Deși s-ar putea să fi văzut doar recent [comentarul meu de mai sus](https://crypto.stackexchange.com/posts/comments/206590), este unul vechi, care precede [pe acesta pe care l-ați făcut](https://crypto.stackexchange). .com/posts/comments/206603) clarificând numărul de interogări pe care le poate face un adversar.

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.