Digitale handtekeningen
Aangezien elektronische handel groeit, neemt ook de noodzaak van een bewijsbaar hoge mate van verificatie. Denk aan Alice handtekening op een contract met Bob. Bob heeft niet alleen te weten dat Alice is de andere ondertekenaar en is ondertekening; hij ook moet kunnen aantonen aan een belangeloze derde partij (een zogenaamde rechter) dat Alice is ondertekend en dat de opdracht hij presenteert is niet gewijzigd sinds Alice ondertekend. Een dergelijke constructie wordt een digitale handtekening.
Het "bewijs" eis introduceert een subtiliteit. Laat m een bericht. Stel dat Alice en Bob hebben een geheime sleutel k. Alice stuurt Bob m | | (m) k (dat is de boodschap en de codering onder k). Is dit een digitale handtekening? Ten eerste heeft Alice gewaarmerkte de inhoud van de boodschap, want Bob ontcijfert (m) k en kan controleren of het overeenkomt met de boodschap ontcijferd is. Omdat alleen Bob en Alice weet k, en Bob weet dat hij niet het bericht te verzenden, concludeert hij dat het afkomstig is van Alice. Hij heeft geauthenticeerd het bericht herkomst en integriteit. Echter, gebaseerd op de wiskunde alleen, Bob kan niet bewijzen dat hij niet de boodschap te maken, omdat hij de sleutel die wordt gebruikt om het te maken weet. Daarom is dit niet een digitale handtekening. Publieke sleutel cryptografie lost dit probleem. Laat dAlice en eAlice worden Alice's private en publieke sleutels, respectievelijk. Alice stuurt Bob het bericht m | | (m) dAlice. Zoals al eerder kan, Bob authenticiteit van de herkomst en de inhoud van m, maar in deze situatie een rechter moeten bepalen dat Alice de ondertekening van de boodschap, want alleen Alice de private sleutel waarmee het bericht is ondertekend weet. De rechter krijgt slechts eAlice en berekent ((m) dAlice) eAlice. Als het resultaat is m, Alice ondertekend. Dit is in feite een digitale handtekening. Een digitale handtekening biedt de dienst van nonrepudiation. Als Alice beweert dat ze nooit stuurde de boodschap, de rechter wijst erop dat de opdrachtgever ondertekend het bericht met haar prive-sleutel, die alleen zij kende. Alice op dat punt kan beweren dat haar prive-sleutel is gestolen, of dat haar identiteit onjuist was gebonden in het certificaat. Het begrip "nonrepudiation" die hier is strikt abstract. In feite zou de belangrijkste Alice's zijn gestolen, en ze misschien niet hebben dit gerealiseerd voordat het zien van de digitale handtekening. Een dergelijke vordering zou vereisen bijkomende bewijzen, en een rechter of andere juridische instantie nodig zou hebben om het te verwerken. Voor de toepassing van deze paragraaf beschouwen we de dienst van nonrepudiation als het onvermogen om te ontkennen dat je cryptografische sleutel werd gebruikt voor de productie van de digitale handtekening. Klassieke HandtekeningenAlle klassieke digitale handtekening regelingen beroep doen op een vertrouwde derde partij. De rechter moet het vertrouwen van de derde partij. Regeling Merkle is typisch. Laat Cathy worden de vertrouwde derde partij. Alice aandelen een cryptografische sleutel kAlice met Cathy. Ook Bob aandelen kBob met Cathy. Wanneer Alice wil sturen Bob een overeenkomst m, ze berekent (m) kAlice en stuurt deze naar Bob. Bob stuurt dit naar Cathy, die ontcijfert m, codeert met kBob, en retourneert (m) kBob naar Bob. Hij kan nu ontcijferen is. Om te controleren dat Alice stuurde de boodschap, de rechter heeft de omstreden berichten kAlice (m) en (m) kBob Cathy ontcijferen en heeft ze met behulp van Alice en Bob's toetsen. Als ze overeenkomen, het verzenden wordt gecontroleerd, zo niet, een van hen is een vervalsing. Public Key SignaturesIn ons eerdere voorbeeld, hadden we Alice vercijferen het bericht met haar prive-sleutel een digitale handtekening te produceren. We gaan nu in een specifieke digitale handtekening regeling gebaseerd op de RSA-systeem. We zien dat het gebruik van RSA een bericht te verifiëren produceert een digitale handtekening. Maar we ook kunnen constateren dat de kracht van het systeem is gebaseerd op het protocol wordt beschreven hoe RSA wordt gebruikt, alsmede op de RSA-cryptosysteem zelf. In de eerste plaats veronderstellen dat Alice wil Bob verleiden tot het ondertekenen van een bericht m. Ze berekent twee andere berichten M1 en M2 zodanig dat m1m2 mod nBob = m. Ze heeft Bob teken M1 en M2. Alice vervolgens vermenigvuldigt de twee handtekeningen bij elkaar en vermindert mod nBob, en ze heeft de handtekening van Bob op m.The verdediging is niet om willekeurige documenten ondertekenen en, bij de ondertekening, nooit ondertekenen het document zelf, ondertekenen een cryptografische hash van het document.
Een tweede probleem toont aan dat berichten die zowel gecodeerd en ondertekend eerst dient te worden ondertekend en vervolgens gecodeerd. Stel dat Alice stuurt Bob haar handtekening op een vertrouwelijke overeenkomst m. Ze codeert voor het eerst, vervolgens de borden het en stuurt het resultaat naar Bob. Echter, Bob wil beweren dat Alice stuurde hem de opdracht M. Bob berekent een aantal r zodanig dat de heer mod nBob = M. Hij republishes dan zijn publieke sleutel als (reBob, nBob). Merk op dat de modulus niet verandert. Nu beweert hij dat Alice zond hem M. De rechter controleert dit met zijn huidige openbare sleutel. De eenvoudigste manier om deze correctie is te eisen dat alle gebruikers dezelfde exponent gebruiken, maar de modules variëren.
Deze aanval zal niet werken als een tekenen en vervolgens codeert. De reden is dat Bob niet de informatie die nodig is voor de bouw van een nieuwe publieke sleutel toegang, omdat hij zou moeten publieke sleutel van Alice veranderen. een artikel afkomstig van Bill Kuriko
|
|||||||
|