Puncte:0

Este RSA în ciphersuites sigur?

drapel us

Site-ul web Ciphersuite spune că TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 este sigur, dar de unde știu ce RSA este folosit pentru generarea semnăturii? Dacă este cea cu hash, unde ai hash mesajul înainte de a-l semna, un atacator nu poate genera semnături valide în care calculează: (mesaj, semnătură):( hash(m)^e , hash(m) ) și este valid. semnătură?

kelalaka avatar
drapel in
Este semnătura ta, așa că poți alege orice vrei, reține că poți avea [timout](https://ciphersuite.info/cs/TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384/). Semnătura efectuată pe cheia dumneavoastră privată, nu pe cheia dumneavoastră publică!
drapel us
@kelalaka Adică, un atacator ar putea falsifica acea semnătură folosind cheia publică, deoarece: (m^e, m) = (m^e, m^e*d mod n). El nu are nevoie de cheia privată, deoarece știe că rezultatul adăugării cheii private la m^e ar fi m
kelalaka avatar
drapel in
În semnături, RSA folosește padding special, [RSA-PSS](https://en.wikipedia.org/wiki/Probabilistic_signature_scheme), este sigur. Ceea ce ați descris se numește manual-semnătură RSA.
drapel us
@kelalaka mulțumesc, dar de unde știu ce RSA este folosit în acest anumit ciphersuite? Unde pot citi despre asta?
kelalaka avatar
drapel in
RFC prietenul tău: https://datatracker.ietf.org/doc/html/rfc5246/#page-45
Maarten Bodewes avatar
drapel in
Rețineți că în TLS 1.2 RFC specifică semnăturile PKCS#1 v1.5, nu PSS, mai multe informații [aici](https://crypto.stackexchange.com/a/79669/1172). Dar semnăturile PKCS#1 v1.5 sunt încă considerate sigure, deci nicio schimbare în acest sens.
drapel us
@MaartenBodewes care este diferența dintre PSS și PKCS#1 v1.5? Este PSS „mai sigur”, că este folosit atât de bine în TLS 1.3? Este folosit PSS în ECDSA?
Maarten Bodewes avatar
drapel in
Este randomizat și are o dovadă de securitate (pe umplutură, nu RSA, se presupune că RSA este securizat). Ca diferențe în detaliu, citiți RFC pentru RSA / PKCS#1 v2.2
Puncte:2
drapel my

Dacă este cea cu hash, unde ai hash mesajul înainte de a-l semna, un atacator nu poate genera semnături valide în care calculează: (mesaj, semnătură):( hash(m)^e , hash(m) ) și este valid. semnătură?

De fapt, $hash(m)$ este extrem de puțin probabil să fie o semnătură validă pentru ceva. Când TLS folosește RSA pentru a semna, ceea ce facem este hash transcrierea (adică secvența de înregistrări care a avut loc înainte de semnătură), aplică padding la hash și apoi calculăm $pad(hash(transcriere))^d$. Adică, când TLS verifică semnătura, ia semnătura, calculează $semnătură^e$, și vedeți dacă se întâmplă $pad(transcriere)$. Este destul de puțin probabil ca $hash(m)^e$ se va întâmpla să aibă un model de umplutură valid; octeții de $hahs(m)^e$ ar trebui să fie valorile 00 01 FF FF FF ... FF 00 <DER al funcției hash>

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.