HU225077B1 - Method and apparatus for providing for the recovery of a cryptographic key - Google Patents

Method and apparatus for providing for the recovery of a cryptographic key Download PDF

Info

Publication number
HU225077B1
HU225077B1 HU9902892A HUP9902892A HU225077B1 HU 225077 B1 HU225077 B1 HU 225077B1 HU 9902892 A HU9902892 A HU 9902892A HU P9902892 A HUP9902892 A HU P9902892A HU 225077 B1 HU225077 B1 HU 225077B1
Authority
HU
Hungary
Prior art keywords
key
decryption
values
value
agents
Prior art date
Application number
HU9902892A
Other languages
English (en)
Inventor
Donald Byron Johnson
Paul Ashley Karger
Charles William Kaufman Jr
Stephen Michael Matyas Jr
David Robert Safford
Marcel Mordechay Yung
Nevenko Zunic
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of HUP9902892A2 publication Critical patent/HUP9902892A2/hu
Publication of HUP9902892A3 publication Critical patent/HUP9902892A3/hu
Publication of HU225077B1 publication Critical patent/HU225077B1/hu

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

A találmány tárgya általánosságban rejtjelkulcs-helyreállító rendszerre, ezen belül olyan rendszerre vonatkozik, amely egymással kommunikáló felek közötti kulcsok létrehozására szolgáló meglévő rendszerekkel együtt tud működni. Pontosabban a találmány tárgya egy eljárás és egy berendezés rejtjelkulcs visszafejtésére, a rejtjelkulcs birtokosa által ellenőrizhető módon, több együttműködő kulcsvisszafejtő ügynök felhasználásával.
Az adatfeldolgozás területén számos adatrejtjelező rendszer ismert. Ezek a rendszerek általánosságban úgy működnek, hogy a normálszövegként bevitt adatot egy rejtjelkulcs segítségével rejtjelezett szövegből álló kimenőadattá alakítják. Ennek a rejtjelezett üzenetnek a címzettje egy visszafejtő kulcs segítségével megfelelő visszafejtést végezve jut hozzá az eredeti normálszöveg formátumú adathoz.
A rejtjelező rendszereket két nagy csoportra oszthatjuk. A szimmetrikus (vagy privát kulcsos) rejtjelező rendszerek, mint például a „Data Encryption Standard” (DES)-rendszer ugyanazt a titkos kulcsot használja az üzenetek rejtjelezéséhez és visszafejtéséhez. A DESrendszerben 56 egymástól függetlenül specifikálható bites kulcsot használnak 64 bites normálszövegblokkok rejtjelezett blokkokká alakítására, és vissza.
Az aszimmetrikus (vagy nyilvános kulcsú) rejtjelező rendszerek különböző kulcsokat használnak a rejtjelezéshez és a visszafejtéshez, amelyek nem vezethetők le egymásból. Aki üzenetet szeretne kapni, az egy rejtjelező- és visszafejtő kulcspárt állít elő, amelyek közül a rejtjelezőkulcs nyilvános, míg az ahhoz tartozó visszafejtő kulcs titkos marad. Mindenki, aki kommunikálni kíván a kulcsokat előállító személlyel, üzenetét a nyilvános kulccsal kell kódolja. Ezt az üzenetet azonban kizárólag az azt létrehozó tudja visszafejteni, mivel egyedül ő rendelkezik a privát kulccsal. Véleményünk szerint a Rivest, Shamir és Adleman megalkotóiról RSA rejtjelezési rendszernek nevezett aszimmetrikus rendszer a legismertebb és legelterjedtebb. Az aszimmetrikus rejtjelezési rendszerek általánosságban számításigényesebbek, mint a szimmetrikus rejtjelezési rendszerek, de előnyük, hogy nem használnak külön biztonsági csatornát a rejtjelkulcs elküldésére. Ezért az aszimmetrikus rejtjelezési rendszereket gyakran használják nagy fontosságú adatok, például szimmetrikus rejtjelkulcsok egyszeri továbbítására.
A különböző típusú adatrejtjelező rendszerek magukra vonták a hírszerző szervek és a törvényhozók figyelmét, mivel ugyanaz a rejtjelezési tulajdonság, amely megakadályozza a jogosulatlan harmadik személyek általi visszafejtést, a hírszerző vagy nyomozó hatóságok általi visszafejtést is lehetetlenné teszi, melyeknek azonban meghatározott esetekben törvényes okuk lehet a rejtjelezés nélküli, normálszövegadatok megismerésére. Ilyen megfontolások alapján egyes kormányok vagy egyszerűen megtiltották az ilyen nagy teljesítményű rejtjelező rendszerek használatát vagy exportját, vagy pedig hozzájárulásukat lekorlátozták olyan gyengített rejtjelkulcsok használatára, amelyek védtelenebbek a kimerítő támadásokkal szemben (például az összes rejtjelkulcs szisztematikus végigkeresésével a tényleges rejtjelkulcs megtalálásáig). Az ilyen gyengített rejtjelezési rendszerek nyilvánvaló hátránya, hogy éppolyan sérülékenyek a jogosulatlan harmadik személyek általi támadásokkal szemben, mint a felhatalmazás alapján eljáró államhatalmi szervek tevékenységével szemben.
Az utóbbi időben számos rejtjelkulcs-helyreállító rendszert javasoltak, mint kompromisszumos megoldást az elektronikus kommunikációban részt vevő felek kommunikáció bizalmassága iránti igénye és a nyomozó-bűnüldöző hatóságok bűnüldözési és nemzetbiztonsági okokból szükséges adatokhoz való hozzáférési igénye között. Ez általánosságban annyit jelent, hogy az ilyen rejtjelkulcs-helyreállító rendszerek esetében a kommunikációban részt vevő felek által használt mindegyik rejtjelkulcs, vagy a rejtjelkulcsok egy része eleve hozzáférhető a kódvisszafejtő ügynök vagy ügynökök számára, vagy úgy, hogy a rejtjelkulcsokra vonatkozó adatokat közük az ügynökökkel (pontosabban jogi szempontból tekintve letétbe helyezik náluk), vagy magába a kommunikációba foglalnak elegendő információt ahhoz, hogy a visszafejtő ügynökök a rejtjelkulcsot előállíthassák. A rejtjelkulcs-visszaállító ügynökök ezt a letétbe helyezett vagy általuk előállított rejtjelkulcsot kizárólag jogszabályban rögzített esetekben, például bírósági határozatra adhatják át az azt kérelmező nyomozóhatóságnak. Több visszafejtő ügynök révén, akiknek kényszerű együttműködése szükséges a teljes rejtjelkulcs-helyreállításához, ha nem is kizárható, de erősen lecsökkenthető annak a veszélye, hogy a nyomozóhatóság például egy korrupt visszafejtő ügynökön keresztül jogosulatlanul hozzáféljen egy rejtjelkulcshoz.
A rejtjelkulcs-helyreállító rendszerek a kommunikációban részt vevőknek a kommunikáció bizalmassága iránti igényét elégítik ki, mivel rejtjelező rendszereik harmadik féllel szemben teljes biztonságot nyújtanak, és nem kell lerontani ahhoz, hogy rejtjelezési korlátozásoknak tegyenek eleget, vagy exportfeltételeket elégítsenek ki. Más oldalról, a rejtjelkulcs-helyreállító rendszerek a nemzetbiztonsági, nyomozószervek igényeit is kielégítik azáltal, hogy lehetővé teszik a rejtjelezett kommunikációk visszafejtését olyan esetekben, amelyekben korábban nem rejtjelezett kommunikációkat (például bírósági határozat alapján) megfigyeltek.
HU 225 077 Β1
A bűnüldöző, nemzetbiztonsági hatóságok igényeinek kielégítése mellett a rejtjelkulcs-helyreállító rendszerek tisztán magánjellegű kontextusban is felhasználásra kerülnek. így például gazdasági szervezetek előírhatják munkavállalóik számára, hogy a döntő fontosságú fájlokat rejtjelezzék, hiszen a rejtjelkulcs helyreállíthatatlansága esetén a kulcs elvesztése vagy sérülése ezeknek a döntő fontosságú, eltárolt adatoknak az elveszését is jelentené.
Egy rejtjelkulcs-helyreállító rendszer kapcsán annak számos tulajdonságát, funkcióját sorolják a fontosabbak közé. így kezdve a nagyobb elsőbbséget élvező tulajdonságokkal, egy rejtjelkulcs-helyreállító rendszert mind szoftveresen, mind hardveresen meg kell tudni valósítani. Nem igényelhet kommunikációt harmadik féllel sem üzenetlétrehozás, sem kapcsolatfelépítés során. Biztosítania kell, hogy különböző országokban lévő felhasználók tudják megfelelően használni. A használt algoritmusoknak nyilvánosnak kell lenniük, és működésének algoritmustól függetlennek kell lennie. Nyitott típusú legyen, azaz a nyilvánosságra hozott, közzétett specifikáción alapulva számos gyártó létre tudja hozni. Rejtjelkulcs-helyreállítási képességet kell biztosítania minden egyes országban egymástól függetlenül. Egyetlen rendszerben biztosítania kell a különböző környezetekben jelen lévő különböző biztonsági szintekhez igazodó rugalmasságot, és biztosítania kell a törvény által engedélyezett legmagasabb szintű rejtjelezési biztonságot. A már meglévő rejtjelezési rendszerekhez modulárisan bővíthető legyen. Lehetővé kell tennie bármilyen kulcskicserélési mechanizmus használatát, olyan ellenőrzési pont biztosítása mellett, amely biztosítja a helyreállíthatóság feltételeit. A kicserélt rejtjelkulcsok biztonsági tulajdonságainak a helyreállítás lehetővé tételét kivéve változatlanul fenn kell maradniuk.
A felsoroltakon kívül számos más - jóllehet kisebb prioritású - tulajdonság is kívánatosnak tűnhet. Egy rejtjelkulcs-helyreállító rendszernek támogatnia kell mind a továbbítás előtt adattároló, mind pedig az interaktív környezeteket. Telepítéséhez nem lehet szükség egy harmadik féllel folytatott kommunikációra. Támogatnia kell annak a lehetőségét, hogy a rejtjelkulcs helyreállításához feltétlenül több visszafejtő ügynök együttműködésére legyen szükség (korrupt visszafejtő ügynökök elleni védekezésként). Egy külső ellenőrzés számára (a rejtjelkulcs-helyreállító kulcsokhoz való hozzáférés nélkül) lehetővé kell tennie bizonyos szintű meggyőződést, hogy a felek a rendszer eredeti forráskódú változatát használják. (Interaktív környezetben, amennyiben mindkét fél ugyanazokat a nyilvános rejtjelkulcsokat és rejtjelkulcs-helyreállító információt használja, harmadik fél számára lehetőség van a kódolt szövegek azonosságának az ellenőrzésére.) Meg kell akadályoznia, hogy egy megváltoztatott forráskódú („huncut”) változat együttműködhessen egy változtatás nélküli („tiszta”) változattal. Meg kell nehezítenie, hogy eredeti céljától eltérően tömeges titkosításra használják fel.
Különböző típusú rejtjelkulcs-helyreállító rendszereket ismertet D. E. Denning, D. K. Branstad: „A Taxanomy fór Key Escrow Encryption Systems” című cikke, amely a Communications of the ACM folyóirat 39. évfolyamának 3. számában, a 34-40. oldalon jelent meg 1996. márciusában, és amelyet leírásunkban referenciaként tekintünk. Ezenkívül két meghatározott rejtjelkulcs-helyreállító rendszert külön is megemlítünk.
Az EP 0 801478 számú szabadalmi leírás részleges rejtjelkulcs-helyreállító rendszert ismertet, amely több kulcsvisszafejtő ügynökre épül. A rendszer egyik változatánál a küldő P, Q és (opcionálisan) R kulcshelyreállító érték- (vagy kulcsrész) készletet állít elő. Az adott folyamat kulcsát úgy hozza létre, a P és Q értékeket kizárólagos VAGY művelettel kombinálja, az eredményt R-rel összefűzi, és ennek az eredményét tördeli. A P és Q értékeket ezután az egyes kulcsvisszafejtő ügynökök nyilvános kulcsának segítségével kódolja, és a kódolt P és Q értékeket (egyéb helyreállítási információval együtt) beépíti a kódolt üzenethez kapcsolt esemény- (session) élőfejbe. Az R értéket, ha létrehozza, nem teszi hozzáférhetővé a kulcsvisszafejtő ügynök számára, hanem titkosan tartja, hogy ezzel egy nem triviális tevékenységi tényezőt állítson a rejtjelkulcsot visszafejteni kívánó nyomozóhatóság elé.
Mint a fentiekből látható, a dokumentumból megismerhető rejtjelkulcs-helyreállító műveletnél az üzenet rejtjelezéséhez használt titkos eseménykulcsot magának a rejtjelkulcs-helyreállító műveletnek a segítségével hozzák létre. Mivel a felhasználók nem tudják ettől függetlenül specifikálni az eseménykulcsot, a vázolt helyreállító rendszer nem kompatibilis a létező kulcsegyeztető eljárásokkal.
A WO 96/05673 számú szabadalmi leírás olyan rejtjelkulcs-helyreállító rendszerre vonatkozik, amelyben a küldő egy eseménykulcsot egy első és egy második eseménykulcsrészre vág ketté úgy, hogy az első eseménykulcsrészt véletlen számmal, a második eseménykulcsrészt pedig a véletlen szám és az eseménykulcs KIZÁRÓLAGOS VAGY művelettel előállított eredményével teszi egyenlővé. A küldő ezenkívül egy - az egyszerűség kedvéért nevezzük így - hatóságihozzáférés-mezőt (LEAF) is létrehoz az egyes eseménykulcsrészeknek az első és második kulcsvisszafejtő ügynök nyilvános rejtjelkulcsaival végzett rejtjelezése és a két rejtjelezett résztermék összetűzése révén. A küldő ezenkívül ezt a hatóságihozzáférés-mezőt ellenőrző karaktersorozatot (LVS) is előállít az eredeti eseménykulcsrészek összetűzésével és ennek az eseménykulcs felhasználásával végzett rejtjelezésével egy rejtjelezett hatóságihozzáférésmező-ellenőrző karaktersorozatot (ELVS) állít elő. Végül pedig a rejtjelezett üzenetet a kódolt ellenőrző karaktersorozattal és hatóságihozzáférés-mezővel együtt elküldi a vevőhöz.
A vevő a rejtjelezett üzenet visszafejtését megelőzően helyreállítja a hatóságihozzáférés-mezőt, annak ellenőrzésére, hogy a küldő olyan megfelelő hatóságihozzáférés-mezőt állított elő, amely minden további nélkül lehetővé tenné az eseménykulcs helyreállítását a kulcsvisszafejtő ügynökök számára. Ez úgy történik, hogy a kódolt ellenőrző karaktersorozat helyreállításával megkapja az eseménykulcsrészeket, majd ezeket
HU 225 077 Β1 az eseménykulcsrészeket az első és a második kulcsvisszafejtő ügynök nyilvános rejtjelkulcsával rejtjelezi. Ha a vevő ily módon eredményesen helyre tudja állítani a részére megküldött hatóságihozzáférés-mezőt, abból láthatja, hogy az hibátlan, és folytathatja az üzenet visszafejtését. Egyéb esetben azt a következtetést vonja le, hogy a hatóságihozzáférés-mező sérült, és az üzenet további helyreállításához nem kezd hozzá.
Ez a rejtjelkulcs-helyreállítási rendszer ugyan lehetővé teszi tetszőlegesen előállított eseménykulcsok használatát, azonban ehhez egy olyan további titkos paramétert (a véletlen számot) vezet be, amely a rejtjelkulcs-felbontó művelet során nem áll a vevő rendelkezésére. Emiatt a járulékos titkos paraméter miatt a vevő nem képes a rejtjelkulcsrészeket függetlenül visszaállítani (a hatóságihozzáférés-mező ellenőrzéséhez), hanem azokat (a rejtjelezett ellenőrző karaktersorozat révén) járulékos információként kell a küldőtől megkapnia.
A kitűzött feladat megoldása során olyan eljárást vettünk alapul, amely egy rejtjelkulcs birtokosa által ellenőrizhető a kulcs visszafejtésére, több együttműködő kulcsvisszafejtő ügynök felhasználásával. Ezt a találmány értelmében úgy fejlesztettük tovább, hogy több megosztott kulcsvisszafejtési értéket állítunk elő, amelyekből a rejtjelkulcs visszafejthető, oly módon, hogy a kulcsvisszafejtési értékeket kizárólag a kulcs és nyilvános információ függvényeként állítjuk elő; majd a megosztott kulcsvisszafejtési értékeket az egyes kulcsvisszafejtő ügynökök kulcsaival rejtjelezett visszafejtési értékek létrehozására rejtjelezzük; majd a rejtjelezett kulcsvisszafejtési értékeket kommunikációs csatornán át továbbítjuk és azokat a kulcsvisszafejtő ügynökök számára hozzáférhetővé tesszük, ahol a megosztott kulcsvisszafejtési értékek a kulcs birtokosa számára a kulcsból és a nyilvános információból helyreállíthatok.
A találmány szerinti eljárás egy előnyös foganatosítási módja értelmében a kulcsból a megosztott kulcsvisszafejtési értékeket helyreállítjuk; a helyreállított megosztott kulcsvisszafejtési értékeket a kulcsvisszafejtési ügynökök rejtjelkulcsaival rejtjelezzük, ezzel összehasonlítási rejtjelezett visszafejtési értékeket állítunk elő; majd a továbbított rejtjelezett kulcsvisszafejtési értékeket összehasonlítjuk az összehasonlító rejtjelezett visszanyerési értékekkel, hogy ellenőrizzük a továbbított rejtjelezett visszafejtési értékeket.
A találmány szerinti eljárás egy további előnyös foganatosítási módja értelmében egymással kommunikáló párok esetében a kommunikációhoz a rejtjelkulcsot használjuk.
Ugyancsak előnyös a találmány értelmében, ha a kulcsot az egymással kommunikáló párok egyik résztvevőjénél állítjuk elő, és kommunikáció útján juttatjuk el a másik résztvevőhöz.
Előnyös továbbá, ha a kulcsot az egymással kommunikáló pár résztvevői együttműködve hozzák létre.
Fentieken túlmenően előnyös, ha a kulcsot teljes egészében a megosztott kulcsvisszafejtési értékekkel határozzuk meg.
Ugyancsak előnyös, ha a létrehozás során a kulcs függvényében olyan osztatlan kulcsvisszafejtési értéket állítunk elő, amelyet nem osztunk meg egyetlen kulcsvisszafejtő ügynökkel sem, és amelyet teljes egészében a megosztott kulcsvisszafejtési értékek és az osztatlan kulcsvisszafejtési érték alapján határozunk meg.
A találmány szerinti eljárás egy további előnyös foganatosítási módja értelmében a létrehozás során a kulcs első invertálható függvényeként első bemeneti értéket állítunk elő; az első bemeneti érték legalább egy részét egy második bemeneti értékkel összefűzzük, és ezzel növelt hosszúságú bemeneti értéket állítunk elő; a növelt hosszúságú bemeneti érték egy második invertálható függvényeként kimeneti értéket állítunk elő; és a kimeneti értéket alrészekre osztjuk, és ezzel létrehozzuk az osztott kulcsvisszafejtési értékeket.
Előnyös továbbá, ha a második bemeneti értéket a kulcs függvényében állítjuk elő.
Ugyancsak előnyös a találmány értelmében, ha az első bemeneti értéknek csupán egy részét fűzzük össze a második bemeneti értékkel a növelt hosszúságú bemeneti érték létrehozásához, míg az első bemeneti érték maradék részét a kulcsvisszafejtő ügynökök számára hozzáférhetetlen, osztatlan kulcsvisszafejtési érték előállításához használjuk.
Fentieken túlmenően előnyös, ha a második bemeneti értéket a bemeneti érték maradék részének függvényében állítjuk elő.
Továbbá előnyös, ha az első invertálható függvény pszeudovéletlen függvény.
Ugyancsak előnyös a találmány értelmében, ha az első invertálható függvényt úgy használjuk, hogy az első bemeneti érték minden egyes bitjét a kulcs minden egyes bitjétől függővé tesszük.
A találmány szerinti eljárás egy további előnyös foganatosítási módja értelmében a második invertálható függvény pszeudovéletlen függvény.
Fentieken túlmenően előnyös, ha a második invertálható függvényben a kimeneti érték minden egyes bitjét a meghosszabbított bemeneti érték minden egyes bitjétől függővé tesszük.
Ugyancsak előnyös a találmány értelmében, ha az első bemeneti értéket teljes egészében összefűzzük a második bemeneti értékkel a meghosszabbított bemeneti érték létrehozásához.
Előnyös továbbá, ha az első invertálható függvényt nem pszeudovéletlen függvényként alkalmazzuk.
Ugyancsak előnyös, ha a kimeneti érték egyik alrészét a kulcsvisszafejtő ügynökök számára hozzáférhetetlen, osztatlan kulcsvisszafejtési értékként kezeljük.
A kitűzött feladat megoldása során olyan berendezést vettünk alapul egy rejtjelkulcs birtokosa által ellenőrizhető módon a kulcs visszafejtésére, több együttműködő kulcsvisszafejtő ügynök felhasználásával, amelynek a találmány értelmében több megosztott kulcsvisszafejtési értéket előállító szerve van, amely értékekből a rejtjelkulcs visszafejthető, oly módon, hogy a kulcsvisszafejtési értékeket kizárólag a kulcs és nyilvános információ függvényeként állítjuk elő; a megosztott
HU 225 077 Β1 kulcsvisszafejtési értékeket az egyes kulcsvisszafejtő ügynökök kulcsaival rejtjelezett visszafejtési értékek létrehozására rejtjelezőegységet tartalmaz; a rejtjelezett kulcsvisszafejtési értékeket kommunikációs csatornán át továbbító és azokat a kulcsvisszafejtő ügynökök számára hozzáférhetővé tevő szerve van, ahol a megosztott kulcsvisszafejtési értékek a kulcs birtokosa számára a kulcsból és a nyilvános információból helyreállíthatók.
A találmány szerinti berendezés egy előnyös kiviteli alakja értelmében a kulcsból a megosztott kulcsvisszafejtési értékeket helyreállító szerve; a helyreállított megosztott kulcsvisszafejtési értékeket a kulcsvisszafejtési ügynökök rejtjelkulcsaival rejtjelező és ezzel összehasonlítási rejtjelezett visszafejtési értékeket előállító szerve; és a továbbított rejtjelezett kulcsvisszafejtési értékeket az összehasonlító rejtjelezett visszanyerési értékekkel a továbbított rejtjelezett visszafejtési értékek ellenőrzésére összehasonlító szerve van.
A találmány szerinti berendezés egy további előnyös kiviteli alakja értelmében a létrehozás során a kulcs függvényében egyetlen kulcsvisszafejtő ügynökkel sem megosztott osztatlan kulcsvisszafejtési értéket előállító szerve, és azt teljes egészében a megosztott kulcsvisszafejtési értékek és az osztatlan kulcsvisszafejtési érték alapján meghatározó szerve van.
Ugyancsak végül a találmány értelmében, ha a létrehozás során a kulcs első invertálható függvényeként első bemeneti értéket előállító szerve; az első bemeneti érték legalább egy részét egy második bemeneti értékkel összefűző és ezzel növelt hosszúságú bemeneti értéket előállító szerve; a növelt hosszúságú bemeneti érték egy második invertálható függvényeként kimeneti értéket előállító szerve; és a kimeneti értéket alrészekre osztó és ezzel az osztott kulcsvisszafejtési értékeket létrehozó szerve van.
Találmányunk tehát annyiban megy túl a bevezetőben említett EP 0 801 478 számú szabadalmi leírásból megismerhető rendszeren, hogy lehetővé teszi a felhasználók számára az eseménykulcs létrehozását bármilyen rejtjelkulcselosztó vagy -egyeztető eljárás felhasználásával (például a tökéletes továbbítási titkosításnak megfelelő eljárásokat). Az eseménykulcs előállítására használt mechanizmus teljesen független és átjárható a rejtjelkulcs-helyreállító eljárás számára. Találmányunk ugyanakkor rejtjelkulcselosztó eljárást is biztosít, amennyiben az hiányzik.
A találmányt a továbbiakban a csatolt rajz segítségével ismertetjük részletesebben, amelyen
1. ábra a találmány szerinti eljárást és berendezést felhasználó kommunikációs rendszer vázlatos felépítése, a
2. ábrán egy meghatározott országra szabott találmány szerinti általános kulcsinvertáló elrendezés tömbvázlata látható, a
3A. ábra egy eseménykulcsból kulcshelyreállító értékeket előállító kulcsinvertáló elrendezés tömbvázlata, a
3B. ábrán egy eseménykulcsból kulcshelyreállító érték előállítására szolgáló további példaként! kulcsinvertáló elrendezés tömbvázlata, a
4. ábrán egy fogadóhoz függetlenül létrehozott eseménykulcs felhasználásával rejtjelezett üzenetet küldeni kívánó küldő által végrehajtott eljárás folyamatábrája látható, az
5. ábrán az egy fogadó által egy küldőtől fogadott üzenetcsomag vételét követően végrehajtott eljárás folyamatábrája látható, a
6. ábra egy üzenetélőfej-esemény kontextusrészének vázlata, a
7. ábra egy üzenetcsomag eseményélőfejének a vázlata, a
8. ábra egy üzenetcsomag vázlata, a
9. ábra egy eseménykontextusban lévő helyreállítási információ vázlata, a
10. ábra a 9. ábra szerinti eseménykontextusban lévő kulcsvisszafejtő ügynök kulcsélőfej vázlata, a
11. ábrán megosztott kulcs-helyreállítási értékek kódolására vonatkozó eljárás vázlata látható, a
12. ábrán a találmány szerinti eljárásban alkalmazott globális kommunikációs előírás táblázat egy lehetséges kialakítását mutatja, a
13. ábra a találmány szerinti eljárás egy lehetséges rendszerbeli megvalósításának tömbvázlata, a
14. ábra a 3A. ábra kulcsinvertáló eljárásában alkalmazott megkeverőfunkció vázlata, a
15. ábra a 14. ábrán bemutatott megkeverőfunkció inverzének a vázlata és a
16. ábrán a 14. ábrán vázolt megkeverőfunkcióban használt blokkok egyikének továbbosztását mutatjuk be.
Az 1. ábrán a javasolt rejtjelkulcs-helyreállító rendszer egy lehetséges felhasználási környezetét tüntettük fel. Kommunikációs 100 rendszerben x országban lévő 102 küldő y országban lévő 104 fogadóval kommunikál 106 kommunikációs csatornán keresztül, egy kommunikációs eseményt megvalósító, egy vagy több rejtjelezett üzenet váltása révén. A 102 küldő és a 104 fogadó a később részletezésre kerülő rejtjelezési és rejtjelkulcs-helyreállítási funkciók megvalósítására alkalmasan programozott számítógép-munkaállomással rendelkezhet. Jóllehet az 1. ábrából az derül ki, hogy a 102 küldő és a 104 fogadó két különböző, x és y országban van, a találmány természetesen egyazon országon belül is éppúgy megvalósítható.
Az elküldött üzeneteket a 102 küldő egy eseményrejtjelkulcs használatával kódolja, a 104 fogadó pedig egy megfelelő eseménymegfejtő kulcs segítségével dekódolja. Szimmetrikus rejtjelezési eljárás (például DES használata esetén az eseményrejtjelkulcs, ami egyben az eseménymegfejtő kulcs is) a tulajdonképpeni „titkos” eseménykulcs a kulcshelyreállítás céljára. Másrészt azonban, aszimmetrikus rejtjelezési eljárás (például RSA) használata esetén a privát esemény5
HU 225 077 Β1 megfejtő kulcs az a „titkos” eseménykulcs, amelyet a kulcshelyreállítás céljára használhatunk és amelyet az alábbiakban részletesebben is bemutatunk.
A bemutatott esetben x országban egy pár kulcsvisszafejtő 108, 110 ügynök, y országban pedig egy pár kulcsvisszafejtő 112, 114 ügynök van kiválasztva. A bemutatás során úgy tekintjük, hogy a 108,110,112, 114 ügynökök bekapcsolása egy általános nyilvánoskulcs-infrastruktúra megvalósításának részeként történhet.
A 106 kommunikációs csatornán keresztül folytatott kommunikáció harmadik fél számára is hozzáférhető, beleértve a harmadik fél fogalmába x országban 116 hatósági ügynököt, y országban pedig 118 hatósági ügynököt. A rejtjelezett kommunikációt lehallgató, nem kormányzati harmadik fél tehát nem képes a kommunikációt visszafejteni, amennyiben nem használ egy vagy több megfelelő rejtjelmegfejtő eljárást. Ezen túlmenően a megfelelő felhatalmazással rendelkező 116 vagy 118 hatósági ügynök az x vagy y országbeli 108, 110 vagy 112, 114 ügynökök révén az alábbi módon meg tudja szerezni a kérdéses eseménykulcsot.
A 2. ábrán egy általános kulcsinvertáló 200 műveletet vázoltunk, például mondjuk x országra igazítva. A 102 küldő 204 kulcsinvertáló függvényt hív meg, hogy azokkal egy pár megosztott kulcs-helyreállítási P 206 értéket és Q 208 értéket hozzon létre, valamint opcionálisan - egy titkos 202 K kulcs és nyilvános információ függvényében egy nem megosztott kulcs-helyreállítási R 210 értéket állítson elő.
Mint azt majd ismertetjük, a 102 küldő a megosztott kulcs-helyreállítási P 206 értéket és Q 208 értéket az x ország vonatkozásában hozzáférhetővé teszi az első és a második kulcs-helyreállítási 108,110 ügynök számára azzal, hogy rejtjelezett kulcs-helyreállítási P’ és Q’ értékek létrehozásához kódolja azokat a kulcs-helyreállítási 108, 110 ügynökök egy-egy nyilvános helyreállítási kulcsával. A 102 küldő a kulcs-helyreállítási P’ érték és Q’ értékeket legalább egy első üzenethez tartozó élőfejbe építi, és küldi el a 104 fogadóhoz a 106 kommunikációs csatornán keresztül. Másrészt, a nem megosztott kulcs-helyreállítási R 210 érték - amennyiben egyáltalán előállításra került - harmadik fél számára nem hozzáférhető.
A 204 kulcsinvertáló függvény olyan értelemben invertálható, hogy
1. egy az egyben leképezést valósít meg a 202 K kulcs és a létrehozott kulcs-helyreállítási 206, 208 értékek között;
2. a 202 K kulcsot könnyen újraépíthetjük a funkció invertálásával a létrehozott kulcs-helyreállítási P, Q 206, 208 értékekből. Ha a létrehozás során a 102 küldő nem hozott létre R 210 értéket, akkor a 202 K kulcsot a P és Q 206, 208 értékek teljesen meghatározzák és ezek ismeretében triviális módon újraépíthetők. Ha az előreállított kulcs-helyreállítási 206, 208 értékek R 210 értéket is magukban foglalják, akkor a 202 K kulcsot teljesen kizárólag mindhárom 206, 208, 210 érték felhasználásával tudjuk újraépíteni, és a P, Q 206, 208 értékekből triviális módon nem állítható helyre.
Azonban a 204 kulcsinvertáló függvény által létrehozott lehetséges R 210 értékek száma olyan kicsi, hogy a P és Q 206, 208 értékeket ismerő hatósági ügynök valószínűleg újra tudja építeni a 202 K kulcsot úgy, hogy az alább ismertetésre kerülő módon a lehetséges R 210 értékek helyét kimerítően feldolgozza. Az R 210 érték megtudásához szükséges munka mennyisége azonban még abban az esetben is elkedvetleníti az üzeneteket rutinszerűen visszafejteni szándékozó hatósági oldalt, ha birtokában van a P és Q 206, 208 értékeknek.
Egy elfogott üzenet visszafejtéséhez egy hatósági 116 ügynök az eseményélőfejből kiszedi a rejtjelezett kulcs-helyreállítási P’ és Q’ értékeket, és a mindenkori eljárásban jogszabályban meghatározott feljogosítottság (például bírósági határozat) igazolásával együtt átadja a kulcsvisszafejtő 108, 110 ügynököknek. Miután meggyőződnek a hatósági 116 ügynök törvényes fellépéséről, a 108, 110 ügynökök a rendelkezésükre álló privát helyreállító kulcsuk használatával visszafejtik a rejtjelezett kulcs-helyreállítási P és Q 206 és 208 értékeket és átadják a hatósági 116 ügynöknek. Utóbbi ezt követően egy kísérleti- 210 érték-sorozat előállításával ezeket a kísérleti 210 értékeket a helyreállított P és Q 206, 208 értékekkel együtt bemeneti paraméterként a 204 kulcsinvertáló függvénybe táplálja mindaddig, amíg meg nem kapja az eredeti esemény 202 K kulcsot.
A 3A. ábrán egy példaként! 300 kulcsinvertáló függvény vázlatát tüntettük fel, amelynek segítségével egy esemény 202 K kulcsból kulcs-helyreállítási P, Q és R 206, 208 és 210 értékeket tudunk előállítani, és fordítva. Míg a példaként! 300 kulcsinvertáló függvény felhasználónként két kulcsvisszafejtési 108, 110 ügynök számára tud P és Q 206, 208 értékeket előállítani, bármennyi kimeneti értéket képes előállítani olyan esetekre, amikor a 102 küldőhöz, illetve a 104 fogadóhoz kettőnél több, vagy csupán egyetlen kulcsvisszafejtő 108, 110, 112, 114 ügynök tartozik.
300 kulcsinvertáló függvény a következő bemeneti paramétereket kéri:
1. a 202 K kulcsot;
2. a 202 K kulcs hosszát bitekben;
3. az R 210 érték hosszát bitekben, amelyeket leírásunkban r jellel jelölünk, és
4. a 9. ábra kapcsán ismertetésre kerülő 610 helyreállítási információt, beleértve a kommunikációban részt vevő 102 küldő és 104 fogadó első és második kulcsvisszafejtő ügynök 912, 916, 922, 926 azonosítóit.
Az eredeti 202 K kulcsot már előzetesen feldolgoztuk azzal, hogy egy n bitből álló feldolgozott 302 kulcs kialakítása céljából, ahol n 16 többszöröse, a legnagyobb helyi értékű bitpozíciókat 0 bitekkel feltöltöttük. A 3A. ábra esetében egy 102 küldő x országban r bites R 210 értéket használ, míg az / országban a 104 fogadó 0 bites R 210 értéket használ.
Az n bitesre feltöltött 302 kulcsot (később még részletezendő) első invertálható 304 megkeverőlépésben (shuffling) feldolgozva F (P, Q, R) függvényként jelzett n bites kimeneti 306 értéket állítunk elő. Az F (P, Q, R)
HU 225 077 Β1 függvény minden egyes bitje pszeudovéletlen módon függ az összes kulcsbittől. Az F (P, Q, R) függvény tehát a 202 K kulcs képviselője vagy megváltoztatott alakja.
A 102 küldő 108, 110 ügynökeinek Px és Qx 320, 322 értékeit az F (P, Q, R) függvényből a következőképpen állítjuk elő. Az F (P, Q, R) függvény bármely r bitjét (például a legkisebb helyi értékű r biteket) R 308 értékként definiáljuk. Az F (P, Q, R) függvény maradék n-r bitjét (például a legnagyobb helyi értékű n-r biteket) a később bemutatásra kerülő megkeverőfunkció F (Px, Qx) első bemeneti 310 értékeként definiáljuk. Egy (n+r) bites Hx második bemeneti 316 értéket előtagként hozzáillesztünk az (n-r) bites F (Px, Qx) első bemeneti 310 értékhez és ezzel létrehozunk egy 2n bites hosszúságú bemeneti 317 értéket. Ezt a meghosszabbított bemeneti 317 értéket azután egy második invertálható 318 megkeverőlépésben feldolgozva 2n bites kimeneti 319 értéket állítunk elő. Végül a kimeneti 319 értéket egy n bites Px 320 értékből és egy n bites Qx 322 értékből álló alrészekre bontjuk. A 318 megkeverőlépés hasonlít a 304 megkeverőlépéshez, azzal az eltéréssel, hogy más a bemeneti 317 értékek és a kimeneti 319 értékek hossza, továbbá a Hx bemeneti 316 érték bitjeinek száma garantálja, hogy a 318 megkeverőlépés végső bemeneti paraméterei minden esetben páros számú bitből állnak (függetlenül a kulcsvisszafejtő 108,110 ügynökök számától).
Az (n+r) bites Hx bemeneti 316 értéket a következőképpen számítjuk ki: A 102 küldő első és második kulcsvisszafejtő 108, 110 ügynökének a 9. ábrán bejelölt 912 és 916 azonosítóját, az ugyancsak a 9. ábrán feltüntetett T1 610 helyreállítási információ alapján kiszámított H(T1) hasítási értéket, az F (P, Q, R) függvényt, valamint egy nyilvános élőfejet előre meghatározott sorrendben (például a fenti sorrendben) egyesítünk, hogy D1 adatblokkot kapjunk:
D1=(102 küldő első kulcsvisszafejtő 108 ügynökének 912 azonosítója || 102 küldő második kulcsvisszafejtő 110 ügynökének 916 azonosítója || H(T1) || F (P, Q, R) I, nyilvános élőfej).
A T1 610 helyreállítási információt a 9. ábra kapcsán mutatjuk be; a 102 küldő első és második visszafejtő 108, 110 ügynökének 912, 916 azonosítója része ennek a kulcs- 610 helyreállítási információnak. Az említett nyilvános élőfej az alábbi felépítésű nyolcbájtos szerkezettel rendelkezik:
bájt azonosító: a hasítandó adat, azaz „PQ kulcsvisszafejtő 108, 110 ügynök 912, 916 azonosítói” bájt számláló: 0,1,2, és így tovább, bájt tartalék: 0-ra állítva.
A D1 adatblokkot (a nyilvános élőfejben az 1 bájtos számlálót kiinduláskor nullára állítva) kettébontva hasított H(D1) értéket hozunk létre. Ha a H(D1) érték hossza kisebb, mint (n+r), akkor az egymást követő H(D1) értékeket egyesítjük (miközben az 1 bájtos számlálóértékét minden egyes rá következő hasítás során megnöveljük) mindaddig, amíg az eredő hosszúság egyenlő lesz, vagy meghaladja (n+r) értékét. Hx bemeneti értéket a legkisebb helyi értékű (n+r) bitként definiáljuk. Ezzel a módszerrel elkerüljük, hogy nagy R hosszúságok esetén csökkenjen a szükséges munkamennyiség.
A Px 320 érték, illetve a Qx 322 érték a legnagyobb helyi értékű, illetve a legkisebb helyi értékű n bit a
318 megkeverőlépésben előállított 2n bites kimeneti
319 értékben. A Px 320 érték a 102 küldő első kulcsvisszafejtő 108 ügynökének nyilvános kulcsával rejtjelezett 320 érték, míg a Qx 322 érték a 102 küldő második kulcsvisszafejtő 110 ügynökének a nyilvános kulcsával rejtjelezett 322 érték.
A 104 fogadó 112, 114 ügynökeinek 330, 332 értékeit az eredeti kulcsból hasonlóképpen állítjuk elő. Mivel (legalábbis ebben a példában) a 104 fogadó nem használ R 210 értéket, az egész F (P, Q, R) kimeneti 306 értéket mint egy n bites első bemeneti F (Py, Qy) 324 értéket definiáljuk. Ehhez az n bites első bemeneti F (Py, Qy) 324 értékhez előtagként egy n bites második bemeneti Hy 326 értéket illesztünk, és ezzel egy növelt hosszúságú 327 bemeneti értéket állítunk elő. A növelt hosszúságú 327 bemeneti értéket (hasonlóképpen a korábban ismertetett 318 megkeverőlépéshez) egy újabb 328 megkeverőlépésben feldolgozva olyan 2n bites 329 kimeneti értéket állítunk elő, amelyet egy n bites Py 330 értékre és egy n bites Qy 332 értékre particionálunk. Hy bemeneti 326 értéket hasonlóképpen számítjuk ki, mint a Hx bemeneti 316 értéket, azzal az eltéréssel, hogy (itt D2 jellel jelölt) adatblokk kialakításánál a 104 fogadó első és második kulcsvisszafejtő 112, 114 ügynökének a 9. ábrán bejelölt 922, 926 azonosítóját használjuk a 102 küldő első és második kulcsvisszafejtő 108, 110 ügynökének a 912, 916 azonosítója helyett.
Azt a meghatározott kulcsvisszafejtő 108, 110, illetve 112, 114 ügynököt, aki első vagy második kulcsvisszafejtő 108, 110, illetve 112, 114 ügynökként került egy adott fél számára kijelölésre, az a sorrend határozza meg, ahogyan 912, 916, 922, 926 azonosítójuk a TI 610 helyreállítási információban megjelenik. A 102 küldő első és második kulcsvisszafejtő 108, 110 ügynökének 912, 916 azonosítója és a 104 fogadó első és második kulcsvisszafejtő 112, 114 ügynökének a 922, 926 azonosítója a 610 helyreállítási információban sorba rendezetten jelenik meg. így tehát a P, Q, R 206, 208,210 értékek, valamint a később bemutatásra kerülő töltelék („salt”) értékek létrehozásának és az adatstruktúrák felépítésének az eljárása teljes egészében a kezdeti állapottól és a bemeneti adatoktól meghatározott művelet.
A 300 kulcsinvertáló függvény egy entrópiamegőrző funkció, amelyben az általa létrehozott P, Q, R 206, 208, 210 értékeket a titkos 202 K kulcsból, és más, a nyilvánosság számára hozzáférhető információból vezetjük le. Ez azt jelenti, hogy a kulcskombinációk száma ugyanannyi, mint a P, Q, R 206, 208, 210 értékek kombinációinak a száma. Egy titkos megosztósémában az entrópia az eredeti kulcs helyreállításához szükséges hasítások számával arányosan növekszik.
A 300 kulcsinvertáló függvény a P, Q és R 206, 208, 210 értékek kiszámítási folyamatába a teljes
HU 225 077 Β1
202 K kulcsot bevonja. így még abban az esetben is, ha valaki valamilyen módon megismerné mondjuk a P 206 értéket, nem tudná végrehajtani a 300 kulcsinvertáló függvényt sem előre, sem visszafelé, hogy kimerítően meghatározza a Q 208 értéket annál kisebb ráfordított munkával, mint amekkora munka ahhoz kell, hogy kimerítő módon meghatározza magát a 202 K kulcsot.
Nincs szükség arra sem, hogy a 102 küldő valamilyen titkos protokollinformációt közöljön a 104 fogadóval. A104 fogadó által ahhoz igényelt egyedüli titkos érték, hogy érvényesítse a rejtjelezett P és Q 206, 208 értékeket, kizárólag a 202 K kulcs. Opcionális esetben a 102 küldő egy titkosaié írás-létrehozó kulccsal is rendelkezik, és a 104 fogadónak pedig van egy érvényesített másolata a 102 küldő nyilvános érvényesítő kulcsáról. Ezen túlmenően a 102 küldő és a 104 fogadó számára nincs szükség semmilyen közöttük létrehozandó más speciális kulcsra ahhoz, hogy a találmány szerinti rejtjelezési eljárás közöttük végbemehessen.
Találmányunk minden rejtjelkulcstípus esetére egyenlő szükséges munkamennyiséget idéz elő, és a szükséges munka is a rejtjelező algoritmusok összes típusa esetében konzisztensnek tekinthető. Más szóval ez annyit jelent, hogy egy 40 bites munkamennyiség konzisztensen 40 bitet jelent akár a DES-rejtjelezés esetében, akár a nyilvános kulcsoknál, akár az RC2/4/5 eljárásnál, vagy bármilyen más algoritmus esetében.
A 300 kulcsinvertáló függvénynek ezenkívül előnye még, hogy olyan helyzeteket is lekezel, ahol a titkos 202 K kulcs nem független véletlen változó (például RSA titkos kulcs). Például ha a nyilvános kulcs egy rögzített állandó (például 216—1), akkor a titkos 202 K kulcs egy függő változó. Ilyen titkos 202 K kulcsot nem lehetne előállítani az egymástól független P, Q és R 206, 208, 210 értékekből, hanem 300 kulcsinvertáló függvény felhasználásával a titkos 202 K kulcsból kellene a P, Q és R 206, 208 és 210 értékeket létrehozni.
A 3A. ábrán bemutatott 300 kulcsinvertáló függvényt ki tudjuk bővíteni, hogy tetszőleges számú kulcsvisszafejtő 108, 110, 112, 114 ügynök esetében használható legyen. Például ha a 102 küldőhöz három kulcsvisszafejtő 108, 110 ügynök tartozik, akkor 2n+r bites Hx bemeneti 316 értéket előtétként hozzákapcsoljuk az F (Px, Qx) bemeneti 317 értékhez. Ilyen esetben a D1 adatblokknak nem kettő, hanem három egymással egyesített kulcshelyreállító 108, 110 ügynök 912, 916 azonosítója van. Általánosságban, ha k számú kulcsvisszafejtő 108, 110 ügynök van, akkor az F (Px, Qx) bemeneti 317 értékhez (k—1 )n+r bitet illesztünk előtagként. Ilyen esetben a D1 adatblokknak nem kettő, hanem k számú kulcsvisszafejtő 108, 110 ügynök 912, 916 azonosítója van, amelyek egymással egyesítettek. Hasonlóképpen, ha nem a 102 küldőhöz, hanem a 104 fogadóhoz van például három kulcsvisszafejtő 112, 114 ügynök rendelve, akkor az F (Py, Qy) 327 bemeneti érték elé előtétként 2n bites Hy 326 értéket illesztünk; r az összefüggésben nem jelenik meg, mivel a 104 fogadóhoz nem tartozik R 210 érték. Általánosítva, ha a 104 fogadóhoz k számú kulcsvisszafejtő 112, 114 ügynök tartozik, akkor az F (Py, Qy) 327 bemeneti érték elé előtétként (k—1 )n bites Hy 326 bemeneti értéket illesztünk. Ilyen esetben a 104 fogadó D2 adatblokkját is módosítani kell, hogy tartalmazza a szükséges járulékos kulcsvisszafejtő 112, 114 ügynök 922, 926 azonosítókat.
Ha csupán egyetlen kulcsvisszafejtő 108 ügynök van (például a 102 küldő x országban csupán egyetlen kulcsvisszafejtő 108 ügynököt vehet igénybe), akkor az eddig ismertetett eljárás némiképp módosul. A P és Q 206, 208 értékeket ugyanúgy számítjuk ki, mintha két kulcsvisszafejtő 108, 110 ügynök lenne, azzal az eltéréssel, hogy az F (Px, Qx) bemeneti 317 érték elé előtétként illesztett Hx bemeneti 316 értéket kissé eltérő módon számítjuk ki. Ebben az esetben tudniillik a D1 adatblokk=(az első kulcsvisszafejtő 108 ügynök 912 azonosítója || az első kulcsvisszafejtő 108 ügynök 912 azonosítója || H(T1) || F (P, Q, R) || nyilvános élőfej) és ezt egy 160 bites hasított H(D1) érték előállítása céljából felhasítjuk. Ha a H(D1) érték kisebb, mint n, akkor egy számlálót használunk, és a fent leírt módon a H(D1) értéket egymás után felhasítjuk mindaddig, amíg az eredő hosszúság eléri, vagy meghaladja n értéket. Ez a módszer nem teszi lehetővé, hogy nagy R hosszak esetén a szükséges munkamennyiség lecsökkenthető legyen. Ugyanezt az eljárást alkalmazhatjuk abban az esetben is, ha nem a 102 küldő, hanem a 104 fogadó van egyetlen kulcsvisszafejtő 112 ügynökkel társítva. Ebben az esetben a Hy bemeneti 326 értéket számítjuk ki a Hx bemeneti 316 értékhez hasonló módon, csak az összefüggésekben nem a 102 küldő, hanem a 104 fogadó kulcsvisszafejtő 112 ügynökének a 922 azonosítóját helyettesítjük be.
A kulcsvisszafejtő 108, 110, 112, 114 ügynökök száma országról országra, vagy alkalmazásról alkalmazásra változhat. Például a 102 küldő adott esetben két kulcsvisszafejtő 108, 110 ügynökkel, a 104 fogadó pedig egy, vagy akár három kulcsvisszafejtő 112, 114 ügynökkel kell együttműködjön.
Ahhoz, hogy helyre lehessen állítani egy esemény 202 K kulcsot, az 1. ábrán vázolt 116 vagy 118 ügynöknek végre kell hajtania a 300 kulcsinvertáló függvényt annak fordítottjaként, ahogy a P és Q 206,208 értékekből magát a 202 K kulcsot létrehoztuk. Ehhez az szükséges, hogy a 304, 318, 328 megkeverőlépéseket az alábbiak szerint fordított irányban hajtsuk végre. Az ezt követő feldolgozást a helyreállított Hx vagy Hy bemeneti 316, 326 értékekkel végezzük. Miután a 202 K kulcsot helyreállítottuk, újra kiszámítjuk a P és Q 206, 208 értékek rejtjelezéséhez használt töltelék értékeket, majd a rejtjelezett P és Q 206, 208 értékeket újból előállítjuk, és megvizsgáljuk, hogy egyeznek-e az elfogott rejtjelezett P és Q 206, 208 értékekkel.
A kulcs-helyreállítási eljárást a továbbiakban x ország példaként! kiemelésével ismertetjük. Még mindig a 3A. ábrára tekintettel az első végrehajtandó művelet a Px 320 érték és a Qx 322 érték „visszakeverése” (vagyis a 318 megkeverőlépés fordított irányú végrehajtása), hogy megkapjuk a Hx bemeneti 316 értéket és az F (Px, Qx) bemeneti 310 értéket. A következő lé8
HU 225 077 Β1 pés az R 308 érték kimerítő kutatását igényli. A helyes és megfelelő R 308 értéket rendkívül nagy valószínűséggel úgy ismerhetjük meg, hogy a Hx bemeneti 316 értéket a jelölt R 308 értéket alapul véve kiszámítjuk és ennek az eredményét összepárosítjuk a visszakevert Hx bemeneti 316 értékkel. Amennyiben már adott az F (Px, Qx) bemeneti 310 érték és az R 308 érték, akkor F (P, Q, R) kimeneti 306 értéket a 304 megkeverőlépés ellenkező irányú végrehajtásával „visszakeverjük”, hogy megkapjuk a feltöltött 302 kulcsot.
A 3B. ábrán 350 kulcsinvertáló függvény vázlatát tüntettük fel, amely a 300 kulcsinvertáló függvény egy alternatívája, ahol minden egyes x, y országra csupán egyetlen megkeverési művelet létezik, és amelyben mindhárom kulcs-helyreállítási P, Q, R 206, 208, 210 értéket az eljárásnak ugyanabban a szakaszában állítjuk elő.
Ennek az alternatív megvalósításnak a során a 102 küldő kulcsvisszafejtő 108,110 ügynökeinek Px és Qx értékeit egy eredeti n bites 352 K kulcsból állítjuk elő a következőképpen. A 3A. ábrán bemutatott Hx bemeneti 316 értékkel azonos módon kiszámított (n+r+s) bites Hx 354 értéket előtétként hozzáillesztjük az n bites 352 K kulcshoz, és az így kapott (2n+r+s) bites bemeneti 356 értéket 358 megkeverőlépésben feldolgozva létrehozunk egy (2n+r+s) bites kimeneti 360 értéket, ahol s 0-15 között választott racionális egész szám úgy, hogy (2n+r+s) értéke mindig 16 többszörösét adja ki. A 360 kimeneti értéket ezt követően egy r bites R 362 értékre, egy (n+s/2) bites Q 364 értékre, valamint egy (n+s-s/2) bites P 366 értékre osztjuk, ahol s/2-t úgy definiáljuk, mint egy frakcionális érték racionális egész összetevőjét. Gyakorlati célokból P 366 érték jelzi azokat a kimeneti biteket, amelyek Q 364 érték és R 362 érték extrahálása után megmaradnak. Az extrahálási módszer garantálja, hogy az összes kimeneti bit felosztásra kerül a P, Q és R 366, 364, 362 értékek között, és hogy a P 366 érték és a Q 364 érték hossza legfeljebb egy bitnyivel térjen el egymástól.
A 102 küldő kulcsvisszafejtő 108, 110 ügynökeinek Py és Qy értékeit az eredeti 352 K kulcsból a következők szerint állítjuk elő: Egy (n+s) bites Hy 368 értéket (amit ugyanúgy számítunk ki, ahogy a fent vázolt módon a Hy 326 értéket kiszámítottuk) előtétként hozzáillesztünk az n bites 352 K kulcshoz, és az így kapott (2n+s) bites bemeneti 370 értéket 372 megkeverőlépésben feldolgozva (n+s) bites kimeneti 374 értéket hozunk létre, r változót az egyenletekből elhagyjuk, mivel r=0, míg b 0-15 közötti egész szám, így 2n+s értéke 16 többszöröse lesz. A kimeneti 374 értéket ezután egy (n+s/2) bites Q 376 értékre, valamint egy (n+s-s/2) bites P 378 értékre osztjuk, ahol s/2-t a fent vázolt módon határozzuk meg. Gyakorlati okokból P jelzi azokat a kimeneti biteket, amelyek Q érték kivonása után maradnak. A kivonási módszer garantálja, hogy a kimeneti 360 értékben lévő összes bitet fel tudjuk osztani P és Q értékek között, és hogy P és Q érték legfeljebb egyetlen bitnyit tér el egymástól hosszúságában.
A 4. ábrán vázolt 400 eljárásmodult az 1. ábrán feltüntetett 102 küldő használja x országban, aki rejtjelezett üzeneteket kíván az y országban lévő 104 fogadónak küldeni egy függetlenül specifikált eseménykulcs felhasználásával. A 400 eljárásmódul bemeneti paraméterei:
1. egy titkos 202 K kulcs,
2. a helyreállítási információ alkalmazásspecifikus része, és
3. egy opcionális titkos véletlen töltelék. A töltelék nem más, mint egy olyan véletlenszerűen előállított érték, amelyet egy sima szöveg véletlenszerűségének a növelésére alkalmazunk, és csupán egyszer alkalmazunk. Ha az eljárás számára egy titkos véletlen töltelék értéket hozunk létre, azt az ábrákon is SALT 0 jelöléssel jelöljük. Egyébként a SALT 0 értéket pszeudovéletlen módon vezetjük le az alábbiak szerint a meghatározott titkos 202 K kulcsból. A 102 küldő és a 104 fogadó először is 402 lépésben létrehoz egy titkos esemény 202 K kulcsot. A 102 küldő és a 104 fogadó ehhez tetszése szerinti kulcsszétosztó vagy kulcsegyeztető eljárást használhat. Az esemény 202 K kulcs jellemzően olyan szimmetrikus kódolókulcs, amelyet mind a 102 küldő használ a 104 fogadónak szánt üzenetei kódolására, mind pedig a 104 fogadó használ, hogy dekódolni tudja a 102 küldőtől érkezett üzeneteit. Ha ilyen esemény 202 K kulcsként nyilvános kulcsokat használunk, akkor a módszert K=(PKa, SKa) definiálásával használhatjuk, ahol PKa a 102 küldő által használt nyilvános kódolókulcs, SKa pedig a 104 fogadó által használt megfelelő titkos dekódoló kulcs.
A102 küldő ezután 404 lépésben előállítja a P és Q értékeket az x országban lévő első és második kulcsvisszafejtő 108, 110 ügynökök számára (akik tehát a 102 küldő kulcsvisszafejtő 108, 110 ügynökei), valamint az y országban lévő első és második kulcsvisszafejtő 112, 114 ügynök számára (akik így a 104 fogadó 112, 114 ügynökei lesznek), a titkos esemény 202 K kulcs és a már vázolt 300 kulcsinvertáló függvény felhasználásával. Jóllehet a bemutatott példa országonként csupán két kulcsvisszafejtő 108, 110, 112, 114 ügynököt ábrázol, a 300 kulcsinvertáló függvény ismertetésénél már jelzett módon akárhány ügynököt bevonhatunk. A 102 küldő ezután 406 lépésben különböző töltelék értékeket állít elő a titkos esemény 202 K kulcs felhasználásával, az alább részletezendő módon.
A 4. és a 6. ábrán megfigyelhető, hogy a 102 küldő 410 lépésben létrehozott töltelék értékeket használja a kulcsvisszafejtő 108-114 ügynökök nyilvános kulcsaival és más információval együtt ahhoz, hogy az x ország vonatkozásában létrehozza a rejtjelezett P és Q 602, 604 értékeket, és - még mindig 408 lépésben - az y ország vonatkozásában létrehozza a rejtjelezett P és Q 606 és 608 értékeket. Ezt az információt felhasználva a 102 küldő létrehoz egy olyan 612 eseménykontextust (lásd a 6. ábrát), amely a rejtjelezett P és Q 602-608 értékek összefűzéséből, valamint 610 helyreállítási információból tevődik össze.
A 7. ábrára hivatkozva, a 102 küldő ezt követően a 412 lépésben létrehoz egy digitális opcionális 614 aláírást a 612 eseménykontextushoz egy privát aláírókulcs használatával. Ez a szokásos módon történik, a
HU 225 077 Β1
612 eseménykontextus hasításával, valamint ennek a hasításnak a rejtjelezésével, amelyhez a 102 küldő privát aláírási kulcsát használjuk. Ezt követően a 612 eseménykontextust és a 614 aláírást 414 lépésben összefűzzük, hogy ezzel egy 616 eseményélőfejet hozzunk létre. A digitális 614 aláírás lehetővé teszi a 104 fogadó számára, hogy a 612 eseménykontextust a 102 küldő nyilvános ellenőrző kulcsának egy érvényesített másolatával érvényesítse, ellenőrizze. Megjegyezzük, hogy a digitális 614 aláírás csupán opcionális, amennyiben úgy tetszik, el is hagyható a 616 eseményélőfejből.
A 8. ábrán látható, hogy a 102 küldő ezt követően egy első üzenetet rejtjelez az esemény 202 K kulccsal 416 lépésben, hogy létrehozzon egy első 618 rejtjelezett üzenetet, majd végül 418 lépésben a 104 fogadóhoz a 616 eseményélőfejből, valamint az első 618 rejtjelezett üzenetből álló csomagban 620 üzenetet küld.
Az 5. ábra olyan 500 eljárásmodult mutat, amely lépéseket a 104 fogadó végzi el, miután a 620 elküldött üzenet megérkezik hozzá a 102 küldőtől.
Ha a 616 eseményélőfej tartalmaz digitális 614 aláírást a 612 eseménykontextushoz, akkor a 104 fogadó először ellenőrzi a 614 aláírás érvényességét 502 lépésben a 102 küldő nyilvános ellenőrzési kulcsa segítségével. Ez a szokásos módon történik úgy, hogy a 612 eseménykontextust a 102 küldőjével azonos hasító függvénnyel hasítja, ezt követően a 614 aláírást a 102 küldő nyilvános ellenőrzési kulcsa segítségével visszafejti, és a két eredmény azonosságát összehasonlítja. Ha 504 lépésben az derül ki, hogy a két eredmény nem egyezik meg, ez azt jelenti, hogy vagy a 612 eseménykontextus vagy a 614 aláírás az átvitel során megsérült, és a 104 fogadó az üzenet további feldolgozása nélkül 518 lépésben megszakítja a műveletet. Egyébként, vagy ha nem használnak 614 aláírást, a 104 fogadó a következő lépésben folytatja a műveleteket.
Az aláírás ellenőrzését követően tehát a 104 fogadó ellenőrzi a vett rejtjelezett P és Q 602-608 értékek érvényességét azzal, hogy megkettőzi a 102 küldő által végrehajtott lépéseket. Ez azt jelenti, hogy előbb 506 lépésben létrehozza a titkos esemény 202 K kulcsból a P, Q és R értékeket, 508 lépésben a K kulcsból létrehozza a töltelék értékeket és 510 lépésben a töltelék értékekből létrehozza a rejtjelezett P és Q értéket. Látható, hogy az 506-510 lépések lényegében azonosak a 102 küldő által elvégzett 404-408 lépésekkel. Ezt követően a 104 fogadó 512 lépésben összehasonlítja az így létrehozott rejtjelezett P és Q értéket a 102 küldőtől érkezett rejtjelezett P és Q 602-608 értékkészlettel az egyezőség szempontjából, majd megvizsgálja a 102 küldőtől kapott 610 helyreállítási információt, hogy konzisztens-e a 104 fogadó által karbantartott hasonló információval.
Ha a rejtjelezett P és Q 602-608 értékek, valamint a 610 helyreállítási információ ellenőrzése 514 lépésben sikeresnek bizonyul, a 104 fogadó az utolsó 516 lépésben folytatva az eljárást és engedélyezi, hogy a titkos esemény 202 K kulcs felhasználásra kerüljön az első 618 rejtjelezett üzenet helyreállításánál. Egyébként a 104 fogadó az eljárást a 618 rejtjelezett üzenet további feldolgozása nélkül 518 lépésben befejezi, mivel nem tud megbizonyosodni arról, hogy sikeresen megérkeztek-e a kulcshelyreállításhoz szükséges 602-610 értékek.
A 4. és 5. ábra segítségével fent vázolt eljárásnál abból indultunk ki, hogy a 102 küldő és 104 fogadó azt megelőzően megállapodott egy titkos esemény 202 K kulcsban, valamilyen ismert kulcstovábbító vagy kulcsegyeztető eljárás felhasználásával. Alternatív esetben a 202 K kulcsot a 102 küldő is létrehozhatja a 104 fogadó bevonása nélkül és a 620 elküldött üzenetbe annak részeként is beillesztheti. A 202 K kulcs vonatkozásában vázolt módosításokat az alábbiakban mutatjuk be, tekintettel az eddig leírtakra.
Itt abból indulunk ki, hogy a 102 küldő és a 104 fogadó között nincs megosztott titkos érték. A rendszer bemeneti paraméterei tehát
1. a 104 fogadó nyilvános kulcsa, amelyet a 102 küldőtől a 104 fogadóhoz történő kulcstovábbításhoz használunk, és
2. a helyreállítási információnak egy alkalmazásspecifikus része. Ebben az esetben a kulcshelyreállító rendszer a titkos esemény 202 K kulcsot, valamint egy véletlen titkos SALT 0 töltelék értéket állít elő.
A 102 küldő az esemény 202 K kulcsot a 104 fogadó nyilvános kulcsának a felhasználásával rejtjelezi, és a rejtjelezett eseménykulcsot a 612 eseménykontextus (az ábrán nem látható) járulékos részeként illeszti be. Az esemény 202 K kulcs az alábbi értékként kerül kódolásra:
K-ePUb(H(T1)); K; SALT 0; SALT) ahol K' a rejtjelezett eseménykulcs;
PUb: a 104 fogadó nyilvános kulcsa;
H(T 1), K és SALT 0 értékek a korábbiak szerint határozandók meg; és
SALT egy járulékos 160 bites titkos véletlen érték, amely nem korrelál sem SALT 0, sem K értékkel. A SALT érték biztosítja a felek között kicserélt K és SALT 0 értékek biztonságát. Előnyösen K értéket az (alább ismertetésre kerülő) rejtjelezési eljárással rejtjelezzük, amelyet egyébként a kulcshelyreállító P és K értékek rejtjelezéséhez is használunk.
A 104 fogadó a 612 eseménykontextusból saját privát visszafejtő kulcsát használva helyreállítja az eseménykulcsot az aláírás érvényességét ellenőrző 504, 506 lépéseket követően, egyébként ugyanazt az eljárást alkalmazza, amelyet a 4. és 5. ábrán bemutattunk.
A 9. ábrán a 610 helyreállítási információ felépítését és tartalmát vázoljuk egy lehetséges példa segítségével. A 610 helyreállítási információt úgy alakítjuk ki, hogy egyrészt a 104 fogadó minden egyes kulcsvisszafejtő 108, 110, 112, 114 ügynök esetében ellenőrizni tudja a kódolt P és Q 602, 604, 606, 608 értékeket, másrészt, hogy a kulcsvisszafejtő 108, 110, 112, 114 ügynökök a megfejtett P és Q 602, 604, 606, 608 értékek konzisztenciáját le tudják ellenőrizni.
Egy küldő- 902 azonosító lehetővé teszi a 104 fogadó számára, hogy a 102 küldő által a 612 esemény10
HU 225 077 Β1 kontextushoz generált opcionális 614 aláírás érvényesítéséhez szükséges nyilvánoskulcs-bizonyítványt megkapja. Egy fogadó- 906 azonosító lehetővé teszi a 104 fogadó számára, hogy megállapítsa, vajon a 620 elküldött üzenet valóban neki szól-e. Egy küldőország- 904 azonosító, valamint egy fogadóország908 azonosító lehetővé teszi a 104 fogadó számára, hogy a 612 eseménykontextus tartalmát azonosan rejtjelezett P és Q 602, 604, 606, 608 értékek reprodukálása, és azoknak a vett rejtjelezett P és Q 602, 604, 606, 608 értékekkel való azonosságának az összehasonlítása révén ellenőrizze.
A 102 küldő kulcsvisszafejtő 108, 110 ügynök 910 csoportja a 102 küldő első kulcsvisszafejtő ügynök 912 azonosítójából, a 102 küldő első kulcsvisszafejtő ügynök 914 élőfejéből, a 102 küldő második kulcsvisszafejtő ügynök 916 azonosítójából, valamint a 102 küldő második kulcsvisszafejtő ügynök 918 élőfejéből tevődik össze. A 104 fogadó kulcsvisszafejtő 112, 114 ügynök 920 csoportja a 104 fogadó első kulcsvisszafejtő ügynök 922 azonosítójából, a 104 fogadó első kulcsvisszafejtő ügynök 924 élőfejéből, a 104 fogadó második kulcsvisszafejtő ügynök 926 azonosítójából és a 104 fogadó második kulcsvisszafejtő ügynök 928 élőfejéből tevődik össze.
A 102 küldő és a 104 fogadó első és második kulcsvisszafejtő ügynök 912, 916, 922 és 926 azonosítói ellenőrizhetővé teszik a 104 fogadó számára, hogy a kulcs-helyreállítási művelet során valóban jóindulatú kulcsvisszafejtő 112, 114 ügynökök működtek közre. A 912, 916, 922, 926 azonosítók lehetővé teszik továbbá az egyes kulcsvisszafejtő 108, 110, 112, 114 ügynökökhöz tartozó nyilvánoskulcs-bizonyítványok beszerzését is. A 912, 916, 922, 926 azonosítók a hatóságok számára megismerhetővé teszik, mely kulcsvisszafejtő 108, 110, 112, 114 ügynökök alkalmasak a felhasználói P és Q 602, 604, 606, 608 értékek megfejtésére. Az egyes felhasználókhoz hozzárendelt kulcsvisszafejtő ügynök 912, 916, 922, 926 azonosítókat a X.509 jelzésű (3. változat) bizonyítvány bővítményébe is bevehetjük.
A 102 küldő és a 104 fogadó első és második kulcsvisszafejtő ügynök 914, 918, 924, 928 élőfejei tartalmazzák az információt a 108, 110, 112, 114 kulcsvisszafejtő ügynökökhöz tartozó nyilvános kulcsokról. Ha megnézzük a 10. ábrát, azon látható, hogy minden egyes 914, 918, 924, 928 élőfej tartalmazza a használandó nyilvánoskulcs-algoritmust meghatározó rejtjelező algoritmus- 946 azonosítót, a nyilvános kulcs bitekben megadott 948 hosszúságát, valamint 950 azonosítóját. A kulcs- 950 azonosító lehetővé teszi a 104 fogadó számára, hogy meghatározza azokat a nyilvános kulcsokat, amelyek segítségével eredetileg a P és Q 602, 604, 606, 608 értékek rejtjelezve lettek. A 104 fogadónak ezekre a nyilvános kulcsokra azért van szüksége, hogy ellenőrizni tudja a rejtjelezett P és Q 602, 604 értékeket. A kulcs- 950 azonosító lehetővé teszi továbbá a 108,110,112, 114 ügynökök számára, hogy meghatározzák azokat a nyilvános kulcsokat, amelyek segítségével a P és Q 602, 604 értékek rejtjelezve lettek, mivel ezekre a nyilvános kulcsokra szükség van a P és Q 602, 604 értékek megfejtéséhez.
A egyedi esemény- 930 azonosító pedig lehetővé teszi a 102 küldő és a 104 fogadó számára az esemény beazonosítását.
A 202 K kulcsrejtjel 932 időtartamát a 202 K kulcs használatára vonatkozó kezdő- és végződő dátum és időpont határozza meg. A P vagy Q 602, 604 értékek mindaddig nem kerülnek nyilvánosságra, amíg a bírósági határozat időtartama a 202 K kulcs rejtjel- 932 időtartamát részben valamennyire is átfedi. A rejtjelkulcs-helyreállító rendszer viszonylag rövid rejtjel932 időtartamokat (például egy napnál is rövidebbet) kényszerít ki, amely egy adott x, y ország politikai döntése lehet. Ez biztosíthatja, hogy a 612 eseménykontextus dinamikusan kerül felépítésre, és így kerül közvetítésre a 102 küldő és a 104 fogadó között. Ezenkívül a gyakori kulcscsere következtében nagyobb biztonságot is jelent.
A 934 létrehozásdátum és -időpont (UTC kódolt formában) azt a dátumot és időpontot adja meg, amikor a 612 eseménykontextust létrehozták. A 104 fogadó a 934 létrehozás dátumát és időpontját a konzisztenciavizsgálat részeként ellenőrzi, és itt a 934 létrehozás dátumának és időpontjának a bírósági határozatban rögzített időtartamon belülre kell esnie annak érdekében, hogy a P vagy Q 602, 604 értékekhez hozzá lehessen férni.
Az eseménykulcs- 936 élőfej tartalmazza az esemény-rejtjelezési algoritmus 938 azonosítóját, az eseménykulcs 940 hosszát bitekben megadva, valamint az eseménykulcs 942 azonosítóját. Az eseménykulcs940 hosszra a hatóságnak van szüksége, olyan esetben, ha a 202 K kulcsot a P és Q 602, 604 értékekből kell kiszámítania. Az esemény-rejtjelezési algoritmus938 azonosítóra pedig szintén a hatóságnak abban az esetben lehet szüksége, ha kimerítő jelleggel ki kell számítania R 210 értéket.
Az eseményrejtjelezési algoritmus 938 azonosítója lehetővé teszi a kulcs-helyreállítási művelet paraméterezését, vagyis P, Q és R 206, 208, 210 értékek nagyságát az adat rejtjelezéséhez használt rejtjelező algoritmustól függővé tehetjük.
A 610 helyreállítási információ számos forrásból származhat. így a 914, 918, 924, 928 élőfejeket és a rejtjel- 932 időtartamot a 12. ábrán vázolt módon, valamint később részletezésre és bemutatásra kerülően egy 1200 táblázatban tárolhatjuk. A 934 létrehozás dátuma és időpontja magából a rejtjelezési rendszertől származhat. A kulcsvisszafejtő ügynök 912, 916, 922, 926 azonosítók, valamint a tördelési 944 azonosító vagy az alkalmazástól származik, vagy előre konfigurált, a maradék bejegyzések pedig az alkalmazástól eredhetnek.
A következőben vázoljuk a rejtjelezett P és Q 602, 604, 606, 608 értékek 408 és 510 lépések szerinti előállításának a folyamatát.
A bemutatásban X bemenőadat 202 K kulccsal történő rejtjelezését eK(X)-ként jelöljük, ahol „e” a rejtjelezést jelenti, amelynek eK(X)=Y kimenőadata lesz. Y
HU 225 077 Β1 adat K kulccsal végzett megfejtését dK(Y)-ként jelöljük, ahol „d” a megfejtésre utal. A nyilvánoskulcs-rejtjelezésben a rejtjelezés, valamint a megfejtés céljára egy nyilvános és egy privát PU, PR kulcspárt használunk. X bemenőadat PU nyilvános kulccsal végzett rejtjelezését ePU(X)-ként jelöljük, mtg Y adat PR privát kulccsal végzett megfejtését dPR(Y)-ként jelöljük.
A rejtjelezett P és Q 602, 604, 606, 608 értékeket az alábbi összefüggésekkel határozhatjuk meg:
Px- ePUx1 (H(T1); Px; SALT<Px-hez>)
Qx’= ePUx2 (H(T1); Qx; SALT<Qx-hez>)
Py- ePUyl (H(T1); Py; SALT<Py-hoz>)
Qy- ePUy2 (H(T1); Qy; SALT<Qy-hoz>) ahol:
PUx1: x ország első kulcsvisszafejtő 108 ügynökének a nyilvános kulcsa;
PUx2: x ország második kulcsvisszafejtő 110 ügynökének a nyilvános kulcsa;
PUy1: y ország első kulcsvisszafejtő 112 ügynökének a nyilvános kulcsa;
PUy2: y ország második kulcsvisszafejtő 114 ügynökének a nyilvános kulcsa;
H(T 1): egy 160 bites, nem titkos tördelési érték,
T1: ugyancsak nem titkos, 9. ábrában vázolt felépítésű 610 helyreállítási információ,
Px, Qx: x ország felhatalmazással bíró kulcsvisszafejtő 108, 110 ügynökei számára „hozzáférhetővé tett” P és Q 602, 604 értékek,
Py, Qy: y ország felhatalmazással rendelkező kulcsvisszafejtő 112, 114 ügynökei számára „hozzáférhetővé tett” P és Q 606, 608 értékek,
Px’, Qx’, Py’ és Qy’: Px, Qx, Py és Qy rejtjelezett változatai, és
SALT<Px-hez>, SALT<Qx-hez>, SALT<Py-hoz>, SALT<Qy-hoz> pedig 160 bites titkos levezetett értékek.
Az alkalmazott rejtjelezési művelet előnyösen az a javított tulajdonságokkal rendelkező, optimális aszimmetrikus rejtjelezési eljárás (angol elnevezésének rövidítésével EOAE), amely megtalálható az ANSI X9.44 RSA kulcs továbbításról szóló szabványtervezetben, valamint D. B. Johnson és S. M. Mátyás, „Enhanced Optimál Asymmetric Encryption: Reverse Signatures and ANSI X9.44” című művében, amely a „Proceedings of the 1996 RSA Data Securíty Conference elnevezésű, 1996-ban San Franciscóban rendezett konferencián hangzott el, és leírásunkban referenciaként tekintjük és hivatkozunk rá. Természetesen a találmányi gondolaton és az oltalmi körön beiül másfajta rejtjelezési eljárások is használhatók.
H(T 1) egy, egy nyilvános egyszeri tördelőfüggvény alkalmazásával a 610 helyreállítási információból számított tördelési érték. H(T1) a 610 helyreállítási információban (T1 információban) szükséges „fordított aláírás” egy formáját biztosítja, amely az információt szorosan összekapcsolja egy titkos adattal. Míg ilyen fordított aláírást bárki ki tud számolni, csupán azok képesek egy ilyen fordított aláírást ellenőrizni, akik birtokában vannak a rejtjelezett blokkon belül lévő összes titoknak, és ezért azt a nyilvános kulcs felhasználásával újratudják építeni, vagy pedig akik ismerik a privát kulcsot, és így a titkos információt közvetlenül képesek helyreállítani. A fordított aláírásokról további információ található a legutoljára említett publikációban.
SALT 0 olyan 160 bites titkos véletlen szám, amelyet vagy járulékos bemeneti adatként specifikálunk a rejtjelezési eljáráshoz, vagy pedig a titkos esemény K kulcsból pszeudovéletlen módon állítunk elő. Találmányunk lehetővé teszi a 102 küldő és a 104 fogadó számára, hogy a SALT 0 titkos értéket az esemény K kulcstól függetlenül hozza létre. Például a kommunikációban részt vevő felek a SALT 0 értéket előállíthatják úgy, hogy azokat a biteket használják fel a Diffie—Hellman-procedúrából, amelyeket nem használtak fel a K kulcs előállításához. A SALT 0 értéknek az eseményK kulcstól független, ilyen módon történő előállítása járulékos védelmet biztosít bizonyos rejtjelelemző támadási módozatok ellen.
Ha a SALT 0 értéket a titkos esemény- K kulcsból állítjuk elő, ezt úgy tesszük, hogy (K || H(T1) || Nyilvános élőfej) kifejezést SHA-1-gyel tördeljük, ahol H(T1) a fenti módon kerül meghatározásra, míg a nyilvános élőfej az alábbi felépítésű nyolcbájtos szerkezet:
bájt az azonosító: „SALT 0” bájt pedig tartalékolt: értéke 0-ra állítva.
Mint itt, vagy leírásunkban bárhol használjuk, SHA-1 alatt azt a biztonságos tördelőalgoritmust (Secure Hash Algorithm) értjük, amely egy rejtjelezés szempontjából erős tördelőalgoritmusként ismeretes, de az SHA-1 algoritmus helyett bármely más, a célnak megfelelő erős rejtjelező tördelőfüggvényt is felhasználhatunk.
A SALT 0 értéket bemenőértékként használjuk, egy nyilvános egyirányú függvényhez, hogy további SALT értékeket állítsunk elő: ezek az értékek pedig a SALT<Px-hez>, SALT<Qx-hez>, SALT<Py-hoz> és SALT<Qy-hoz>. Az egyirányú függvény egyszerűvé teszi a SALT<Px-hez>, SALT<Qx-hez>, SALT<Py-hoz> és SALT<Qy-hoz> értékek kiszámítását a SALT 0 értékből, de ezekből a levezetett SALT értékekből a SALT 0 érték előállítása a gyakorlatban szándékosan szinte egyáltalán nem számítható ki.
A SALT<Px-hez>, SALT<Qx-hez>, SALT<Py-hoz> és SALT<Qy-hoz> értékek a rejtjelezett P és Q 602, 604, 606, 608 értékek védelmére szolgálnak, és határozottan egymástól különbözőre vannak kiképezve. Olyan esetben, ahol SALT 0 egy olyan titkos véletlen szám, amelyet a rejtjelezési eljárás bemenőparamétereként adunk meg, ez garantálja, hogy minden egyes, egy kulcsvisszafejtő 108,110,112,114 ügynök számára rejtjelezendő blokk függeni fog a SALT 0 értéktől (amely így tehát a K kulcstól független titkos véletlen 160 bites érték). Abban az esetben, ha a SALT 0 értéket pszeudovéletlen módon a K kulcsból generáljuk, ez garantálni fogja, hogy minden egyes, egy kulcsvisszafejtő 108, 110, 112, 114 ügynök számára rejtjelezésre kerülő blokk a teljes K kulcstól pszeudovéletlen módon fog függeni.
H(T1) a rejtjelezett P és Q 602, 604, 606, 608 értékekbe van beépítve, hogy a 610 helyreállítási infomná12
HU 225 077 Β1 ciót erősen függővé tegyük a rejtjelezett P vagy Q 602, 604, 606, 608 értékektől, és ezzel a kulcsvisszafejtő 108, 110, 112, 114 ügynököket megfelelő eszközzel lássuk el ahhoz, hogy meg tudják határozni, vajon a rejtjelezett P vagy Q 602, 604, 606, 608 érték eleget tesz-e az aktuális bírósági határozatban lefektetett feltételeknek.
A rejtjelezett P és Q 602, 604, 606, 608 értékek ezenkívül egy olyan további jelzőt is tartalmaznak, amely megadja, hogy a rejtjelezett érték egy P vagy egy Q 602, 604, 606, 608 érték-e.
A 11. ábrán azt tüntettük fel, hogy H(T1) a P vagy Q 602, 604,606,608 értéket, az említett jelzőt, valamint a tölteléket 1102 blokká fogjuk össze, amelyben szükség szerint bal oldalon a rendelkezésre álló helyet feltöltjük 0 bitekkel, majd az egészet a kulcsvisszafejtő 108, 110, 112, 114 ügynök nyilvános kulcsával rejtjelezzük, előnyösen a korábban említett publikációban részletezett, javított tulajdonságokkal rendelkező optimális aszimmetrikus rejtjelezési eljárás (EOAE) segítségével. Mint a cikkben olvasható, ez az eljárás először megpróbálja a formázott 1102 blokkot 1104 maszkolómenetekben feldolgozni, melyek során az egyik fél bemenetét váltakozva arra használja, hogy azzal a másik fél bemenetet maszkolja, mielőtt az 1104 maszkolómenetek eredményét 1106 lépésben rejtjelezné.
A rejtjelezett Px, Qx, Py és Qy értékekben használt, véletlenül megjelenő töredékeket oly módon hozzuk létre, amely lehetővé teszi a 104 fogadó számára azok helyességének a leellenőrzését. Mivel a 104 fogadó nem ismeri a kuicsvisszanyerő 108, 110, 112,114 ügynökökhöz tartozó privát kulcsokat, ezt az ellenőrzést úgy hajtja végre, hogy a közönséges szöveg értékeket a kulcsvisszafejtő 108, 110, 112, 114 ügynökök nyilvános kulcsa segítségével rejtjelezi, majd azokat összehasonlítja, hogy megegyeznek-e a kapott értékekkel. Ez azáltal válik lehetővé, hogy a rejtjelezett Px, Qx, Py, Qy értékek töredékeit a SALT 0 értékből vezettük le.
Tételezzük fel, hogy a Px, Qx, Py, Qy készletben lévő valamelyik P és Q 602, 604, 606, 608 értéket Uv jelenti. Az Uv érték rejtjelezése során használt töredék értéket, amelyet SALT<Uv-hez>-ként jelölünk, úgy határozzuk meg, mint az (SALT 0 || Uv || kulcsvisszafejtő ügynök azonosító || küldő- vagy fogadóazonosító || nyilvános élőfej) adat (SHA-1 töredékét. A küldő azonosítóját akkor használjuk, ha a töredéket a 102 küldő kulcsvisszafejtő 108, 110 ügynöke részére folytatott rejtjelezés során kívánjuk használni, egyébként a 104 fogadó azonosítóját használjuk. Az említett nyilvános élőfej az alábbi részekből összeállított nyolcbájtos szerkezet:
bájt azonosító: „SALT” azonosító (a SALT 0 érték kivételével az összes töredékre) bájt láncérték: 0 1 stb., amely több blokk esetén a rejtjelezett blokk sorrendjét jelöli, bájt utolsó láncszem: az utolsó láncérték számát jelöli, bájt tartalék: 0 értékre beállítva.
Ebben a megközelítésben a rejtjelezett Px, Qx, Py és Qy készletben minden egyes levezetett töredék érték függetlenül jelentkezik; egy megvesztegethető kulcsvisszafejtő 108, 110, 112, 114 ügynök nem tud felhasználni ilyen levezetett töredék értéket arra, hogy ezzel csökkentse a többi rejtjelezett P vagy Q 602, 604, 606, 608 érték biztonságát. Amellett, hogy a kulcsvisszafejtő 108, 110, 112, 114 ügynök egy arra feljogosított kérelmezőt el tud látni a kért P vagy Q 602, 604, 606, 608 értékkel, a levezetett használt töredéket is továbbítani tudja úgy, hogy a felhatalmazott kérelmező a kulcshelyreállító nyilvános kulcs használatával ellenőrizni tudja, hogy a kulcsvisszafejtő 108, 110, 112, 114 ügynök helyes módon végezte a megfejtést.
Ha P vagy Q 602, 604, 606, 608 érték hossza nagyobb, mint m, ahol m P vagy Q 602, 604, 606, 608 érték azon legnagyobb hossza, amelyet a kiszemelt kulcsvisszafejtő 108, 110, 112, 114 ügynök nyilvános kulcsa segítségével még rejtjelezni tud, a P vagy Q 602, 604, 606, 608 értéket m bitekből álló blokkokra osztjuk fel. Az utolsó blokk értelemszerűen egy rövid blokk is lehet. Ha „i” ilyen blokkunk van, akkor „i” különböző töredék értéket számítunk ki, biztosítva ezzel, hogy minden egyes, rejtjelezendő m bites blokkhoz egy-egy különböző, de megjósolható töredék értéket számítsunk ki. Például tegyük fel, hogy m=256, és P 602 érték hossza 512 bit. Ebben az esetben P 602 értéket két 256 bit nagyságú blokkra osztjuk, és a fent leírt algoritmus segítségével két töredék értéket számítunk ki. Az első töredék értéket olyan élőfejjel számítjuk ki, amelyben a láncérték 0, a második töredék értéket pedig olyan élőfej segítségével számítjuk ki, amelyben a láncérték 1. Ebben az esetben a két élőfej - természetesen a láncértékek kivételével - megegyezik egymással. Az „utolsó lánc” az utolsó láncérték száma. Például ha „i” blokkot kell láncolnunk, akkor az „utolsó lánc” érték i-1 lesz. Az „utolsó lánc” mező biztosítja, hogy egy adott lánc összes rejtjelezett blokkját figyelembe vesszük.
A találmány szerinti, javított tulajdonságú optimális aszimmetrikus rejtjelezési eljárás eltér az ismert, korábbi, M. Bellare- és P. Rogaway-féle eljárástól (amelyet a D. B. Johnson és társai cikkében olvashatunk) annyiban, hogy az ismert eljárás nemnyújthatóságbitjeit az ellenőrző információ töredékével helyettesítjük. A bemutatott esetben ezeket a nemnyújthatóságbiteket H(T 1) értékkel, vagyis a 9. ábrán bemutatott T1 610 helyreállítási információ töredékével helyettesítjük.
Az EOAE eljárás itt bemutatott megvalósítása más vonatkozásban is különbözik az ismert OAE eljárástól. Az OAE eljárásban X bemenőadatot úgy dolgozunk fel, hogy ahhoz egy titkos RN véletlen számot csatolunk, ezzel létrehozzuk X || RN formátumot, ahol RN véletlen szám hossza megegyezik az alkalmazott tördelőalgoritmus hosszával (például 128 bit ND5 esetében, vagy 160 bit SHA-1 esetében). A kulcshelyreállító rendszer által rejtjelezendő X értékek azonban már tartalmaznak egy titkos véletlen töredék értéket, amely minden egyes X érték jobb szélső (azaz legkisebb helyértékű, legkevésbé lényeges) részét képezi. Ezért nincs szükség arra, hogy a bevitt X adathoz további titkos véletlen értéket csatoljunk, így ha X adat alkotja az EOAE eljá13
HU 225 077 Β1 rással feldolgozandó bemeneti adatot, akkor X értéket először újraírjuk, mint X=X’ || töredék érték, ahol X’ az OAE bemeneti adat, és a töredék az OAE eljárással létrehozott és az X’ értékhez hozzáadott véletlen szám. Ezt követően az X’ || töredék értéket a szokásos módon feldolgozzuk az OAE eljárással (vagyis a töredéket használjuk fel arra, hogy X’ érték maszkolásához egy maszkolóértéket állítsunk elő, majd ezt a maszkolt X’ értéket SHA-1 módszerrel tördeljük, hogy ezzel olyan tördelési értéket állítsunk elő, amelyet aztán a töredék maszkolásához használunk fel). Az EOAE eljárás és az OAE eljárás maszkolórészének meghatározó részleteit a megkeverőfunkció részletesebb leírásánál találhatjuk meg. Számos kommunikációs szcenárió képzelhető el, ezek közül megpróbálunk néhányat körvonalazni.
Számos esetben a mobil felhasználó a helyreállítási információt hozzáférhetővé szeretné tenni mind a végfelhasználók visszafejtő 108, 110, 112, 114 ügynökei, mind pedig a bázisok, például a vezeték nélküli, valamint a vezetékes hálózat infrastrukturális funkcionális kapcsolatai) ügynökei számára.
Egy olyan rendszerben, ahol a kulcs terítését szimmetrikus kulcsrejtjelezés segítségével hajtják végre, például a Kerberos rendszerben, egy kulcsterjesztő központ (KDC) ugyanazt az információt tárolja el és bocsátja rendelkezésre. Ez a kulcsszétosztó rendszer állíthatja elő a rejtjelezett P és Q 602, 604,606,608 értékeket is. Azonban a Kerberos rendszernek egy speciális kulcsvisszafejtő verziójára volna szükség ahhoz, hogy a rejtjelezett P és Q értékek konzisztenciáját ellenőrizni tudja.
Egy Multicast típusú szcenárióban egy 102 küldő és sok 104 fogadó van. Ez akár egy egyedi esemény duplikációjaként, akár 104 fogadók gyűjteményeként is felfogható. Az első esetben minden egyes 104 fogadó kap egy másolatot a 102 küldő kulcsvisszafejtő 108, 110 ügynökeinek szóló rejtjelezésből, valamint saját 112, 114 ügynökeinek szóló rejtjelezésekből. A második esetben minden egyes 104 vevő megkapja az összes P, Q értékű rejtjelezést, és az egyes 104 fogadóknak kell a saját rejtjelezésüket, valamint a 102 küldő rejtjelezését leellenőriznie. A skálázhatóság elősegítése érdekében olyan speciális ügynökök is alkalmazhatók a Multicast típusú üzenetszórás céljára, amelyek több X, Y ország kiszolgálására is képesek.
Áttérve a 12. ábrára, a találmány szerinti kulcshelyreállító rendszer által igényelt információt olyan 1200 táblázatban tároljuk, amelyet globális kommunikációs előírás táblázatnak nevezünk. Az ábrán látható 1200 táblázat természetesen csak a találmány megértését elősegítő példa, és egy tényleges megvalósítás esetén az adatokat ennek megfelelően tárolnánk el, valószínűleg külön-külön táblázatokban, ahol az egyik táblázat tartalmazná a kulcsvisszafejtő 108, 110, 112, 114 ügynökök nyilvános kulcsait, míg a másik táblázat határozná meg a szabályokat. Az 1200 táblázat olyan információt tartalmaz, amely lehetővé teszi a rendszer számára, hogy a 202 K kulcsok méretét, valamint a P, Q és R értékeket a különböző X, Y országokban lévő speciális algoritmusokhoz és felhasználókhoz kiszámítsa. Tartalmazhatja továbbá az egyes X, Y országokban engedélyezett kulcsvisszafejtő 108, 110, 112, 114 ügynökök nyilvános kulcsait is. Az 1200 táblázat csupán a találmány rugalmassága által biztosított lehetőségeket bemutató példákat tartalmaz. A variációk szemmel láthatólag korlátlanok, ezen belül elsősorban és különösen minden X, Y ország több kulcsvisszafejtő 108,110, 112,114 ügynököt alkalmazhat.
Országok közötti kommunikációk esetében a javasolt kulcshelyreállító rendszer meg tudja határozni a 104 fogadó ország 908 azonosítóját (9. ábra) a nyilvánoskulcs-bizonyítványa, vagy azzal összehasonlító rendszerkonfigurációs információ segítségével. A 102 küldő anyaországának azonosítóját, valamint a 104 fogadó fél országazonosítóját, valamint a 102 küldő és a 104 fogadó által használandó kiválasztott rejtjelező algoritmus azonosítóját felhasználva a kulcshelyreállító rendszer meghatározza a következőket:
1. azt a legnagyobb 202 K kulcshosszúságot, amelyet a 102 küldő és a 104 fogadó használhat,
2. az engedélyezett R értékeket, amelyek eltérőek lehetnek a 102 küldő és a 104 fogadó vonatkozásában, és
3. a kulcsinvertáló függvény által igényelt kulcsvisszafejtő ügynök azonosítókat.
A kulcshelyreállító rendszer ezt az információt továbbítja a kulcsinvertáló funkciónak/függvénynek, és a 202 K kulcs hossza a két kulcshosszúságérték közül a kisebb lesz. Például X és Y országok esetében a 202 K kulcsértékek DES-rejtjelezés esetén 64 és 128 bit, mely esetben a 64 bites értéket használjuk.
A találmány szerinti „PQR” kulcshelyreállító rendszer korlátozott interoperabilitást biztosít saját maga és más, nem PQR típusú rendszer között. így a 102 küldő rejtjelezett üzeneteket tud küldeni a 104 fogadónak, ha:
1. mindketten ugyanazt a PQR rendszert használják;
2. ha mindketten nem PQR rendszert használnak; vagy
3. ha a 102 küldő egy PQR rendszert használ, és a
104 fogadó egy nem PQR rendszert használ.
A 102 küldő nem tud rejtjelezett üzeneteket továbbítani a 104 fogadóhoz, ha ő nem PQR rendszert használ, miközben a 104 fogadó PQR rendszert alkalmaz. Alapvetően a 104 fogadó PQR rendszere megkísérli annak a leellenőrzését, hogy a 102 küldő rendszere érvényes PQR „kulcspecsétet” állított elő. Ha ez nem bizonyosodik be, a 104 fogadó PQR rendszere a kulcsot nem teszi hozzáférhetővé a 104 fogadó alkalmazásai számára olyan formában, hogy azok azt fel tudják használni a 102 küldőtől kapott adatok megfejtéséhez.
Egy arra felhatalmazott 116, 118 hatósági ügynök utasítást vagy bírósági határozatot kap arra, hogy egy meghatározott időtartamon keresztül egy meghatározott gyanúsított rejtjelezett adathoz hozzáférjen. A 116, 118 hatósági ügynök ilyen esetben a gyanúval érintett esemény, vagy a gyanúsítottat érintő összes rejtjelezett információjához hozzáférhet, beleértve az összes 612 eseménykontextust. A 116, 118 hatósági ügynök ellenőrizni tudja, hogy a felhasználó azonosítója vagy
HU 225 077 Β1 azonosítói, és a dátum-idő értékek érvényesek-e, vagyis, hogy megfelelnek-e az utasításban vagy a bírósági határozatban lefektetett adatoknak. Ha szükséges, egyéb nyilvános információt is leellenőrizhet, és ez a 116, 118 hatósági ügynök a 612 eseménykontextust az utasítással, vagy bírósági határozattal együtt továbbítja aztán a megfelelő 108,110, 112, 114 ügynöknek vagy ügynököknek.
A kulcsvisszafejtő 108, 110, 112, 114 ügynök ellenőrizni fogja a helyreállítási információt, beleértve a felhasználóazonosítót és a dátumot-időtartamot, annak biztosítására, hogy az utasítás vagy bírósági határozat összes feltétele teljesült-e. Ez úgy történik, hogy megvizsgálja a megfejtett H(T1) és a kapott helyreállítási információ (T1) töredékének az azonosságát. A kulcsvisszafejtő 108, 110, 112, 114 ügynök ezt követően helyreállítja a P vagy Q 602, 604, 606, 608 értéket, és azt, valamint az azzal társított töredéket visszajuttatja a 116, 118 hatósági ügynöknek.
A kulcsvisszafejtő 108, 110, 112, 114 ügynökök ezt a megfejtett információt kibocsátása előtt alá is írhatják, rögzítve ezzel azt az időpontot és dátumot, amikor a kulcs helyreállítása megtörtént.
A 116, 118 hatósági ügynök meggyőződhet arról, hogy a kulcsvisszafejtő 108, 110, 112, 114 ügynök a helyes P vagy Q 602, 604, 606, 608 értéket, valamint töredék értékeket küldte-e vissza úgy, hogy az egyszerű szövegértékekből újra létrehozza a rejtjelezett P vagy Q 602, 604, 606, 608 értéket. Ha a 116,118 hatósági ügynök az összes szükséges P és Q 602, 604, 606, 608 értéket összeállította, végrehajthatja a kulcsinvertáló függvényt, hogy újra előállítsa az F (PQ) függvényt, és végrehajtson egy kimerítően részletes kutatást R értékre nézve, hogy megkapja a kulcsot és megfejtse az információt. Ha az R értékre vonatkozó részletes kutatást kell végrehajtani, a 202 K kulcs helyreállításának a költsége igen tetemes lesz, abban az esetben is, ha a kulcsvisszafejtő 108, 110, 112, 114 ügynökök együttműködnek.
A 13. ábrán a bemutatott 1300 kulcsvisszanyerő rendszer egy lehetséges megvalósítását vázoltuk egy rejtjelező rendszeren belül. Abból indultunk ki, hogy az 1300 kulcsvisszanyerő rendszer egy alkalmazás programozási interfészen, angolul Application Programming Interface-en, API-n keresztül meghívott rejtjelező/megfejtő függvénnyel működik együtt. Ez annyit tesz, hogy az 1300 kulcsvisszanyerő rendszer által feldolgozott esemény- vagy fájlkulcs egy olyan adatkulcs, amelyet kizárólag ebben a rejtjelező/megfejtő funkcióban történő használatra engedélyezünk. Az engedélyezési műveletet kizárólag az 1300 kulcsvisszanyerő rendszer révén engedélyezzük.
A 13. ábrán négy rejtjelezési szolgáltatást tüntettünk fel: 1310 PQR generálást, 1320 PQR ellenőrzést, 1330 PQR rejtjelezést és 1340 PQR visszafejtést. Az 1310 PQR generálással 202 K kulcs bemeneti adatból létrehozzuk PQ és R 206, 208, 210 értékek készletét, valamint a 202 K kulcsot olyan K’ alakra transzformáljuk, amelyet aztán az 1330 PQR rejtjelezés szolgáltatásban használhatunk. Az 1320 PQR ellenőrzés szolgáltatás segítségével ellenőrizzük PQ és R 206, 208, 210 értékkészletet, és ha az ellenőrzés sikeres, a 202 K kulcsot K’ alakra alakítjuk át, amelyet aztán az 1340 PQR visszafejtés szolgáltatás során használunk fel. Az 1330 PQR rejtjelezés és az 1340 PQR visszafejtés szolgáltatások hasonlóak a hagyományos rejtjelező és megfejtő adatszolgáltatásokhoz, azzal az eltéréssel, hogy a bevitt 202 K kulcsnak egy speciálisan átalakított formában kell lennie ahhoz, hogy az 1330 PQR rejtjelező és az 1340 PQR visszafejtő szolgáltatások azt mint olyat, felismerjék. A 202 K kulcs nem működik megfelelően az 1330 PQR rejtjelezés és az 1340 PQR visszafejtés szolgáltatásokban mindaddig, amíg át nem alakítjuk az említett K’ alakra.
A 14. ábrán a 3A. ábra kapcsán bemutatott 300 kulcsinvertáló függvényben alkalmazott 304 megkeverőlépés magas szintű tömbvázlata. Mint korábban említettük, a 304 megkeverőlépéssel egy n bites X bemenőadatot egy „megkevert” vagy „összekavart” n bites Y kimenőadattá alakíthatunk át.
Az n bites X bemenőadatot (amely páros számú oktetből áll), egy bal fél XL 1402 értékre és egy jobb fél XR 1404 értékre osztjuk, ahol mind az XL 1402 érték, mind az XR 1404 érték n/2 bitet tartalmaz. A 14. ábrán bemutatott példán az XL 1402 érték és az XR 1404 érték bithosszúsága ugyanakkora, mint a használt tördelőfüggvény által előállított tördelési értéké, azaz 160 bit. Az XL 1402 értékre és az XR 1404 értékre más bithosszúságokkal érvényes műveletet alább még részletezzük.
XR 1404 értéket első 1406 tördelőiteráció során tördelve létrehozunk egy 160 bites H(XR) tördelési 1408 értéket, amelyen XL 1402 értékkel 1410 KIZÁRÓLAGOS VAGY műveletet elvégezve létrehozunk egy egyszer maszkolt kimeneti mXL 1412 értéket. Második 1414 tördelőiteráció során ezt az mXL értéket tördelve létrehozunk egy 160 bites H(mXL) tördelési 1416 értéket, amelyen XR 1404 értékkel 1418 kizárólagos VAGY műveletet végezve létrehozunk egy maszkolt kimeneti mXR 1420 értéket. Harmadik 1422 tördelőiteráció során az mXR 1420 értéket tördeljük, hogy létrehozzunk egy olyan 160 bites H(mXR) tördelési 1424 értéket, amelyen az egyszer maszkolt kimeneti mXL 1412 értékkel 1426 kizárólagos VAGY műveletet végezve egy kétszer maszkolt kimeneti mmXL 1428 értéket állítunk elő. Az Y kimenőadat az egyszer maszkolt kimeneti mXR 1420 értékkel egybefűzött kétszer maszkolt kimeneti mmXL 1428 értékből áll:
Y=mmXL |j mXR
A 15. ábrán 1500 inverz megkeverőlépés vázlata látható, amellyel az mmXL || mXR kimenőadatot „visszakeverve vissza tudjuk állítani az eredeti bemenő- XL || XR adatot. Az 1500 inverz megkeverőlépés során a 304 megkeverőlépés fent vázolt első, második, harmadik 1406, 1414, 1422 tördelőiterációit fordított sorrendben hajtjuk végre, mint harmadik, második, illetve első 1406, 1414, 1422 tördelőiterációt. Harmadik 1502 tördelőiteráció során a mXR 1420 értéket tördeljük, hogy visszanyerjük a 160 bites H(mXR) tördelési 1504 értéket, amelyen az mmXL 1428 értékkel 1506 KIZÁRÓLAGOS VAGY műveletet végezve megkapjuk
HU 225 077 Β1 mXL 1508 értéket. A második 1510 tördelőiteráció során az mXL 1508 értéket tördeljük, hogy visszanyerjük a 160 bites H(mXL) tördelési 1512 értéket, amelyen mXR 1420 értékkel 1514 KIZÁRÓLAGOS VAGY műveletet végrehajtva megkapjuk az eredeti bemeneti XR 1516 értéket. Az első 1518 tördelőiteráció során az XR 1516 értéket tördeljük, hogy visszanyerjük a 60 bites H(XR) tördelési 1520 értéket, amelyen mXL 1508 értékkel 1522 KIZÁRÓLAGOS VAGY műveletet elvégezve visszaállítjuk az eredeti bemenő- XL 1524 értéket.
Az alábbiakban az abban az esetben követendő tennivalót ismertetjük, amikor XL és XR értékek közül nem mindegyik 160 bites érték.
Az eljárás lényegében hasonló az eddig bemutatotthoz. Az n bites X bemenőadatot, amely páros számú oktetet tartalmaz, bal fél XL értékre és jobb fél XR értékre bontjuk, ahol XL és XR értékek n/2-n/2 bitből állnak. XR értéket használjuk fel XL érték maszkolására, hogy egy egyszer maszkolt XL értéket állítsunk elő, amelyet aztán felhasználunk XR érték maszkolására. Ezt a maszkolt XR értéket használjuk fel aztán az egyszer maszkolt XL érték további maszkolására, hogy ezzel egy kétszer maszkolt XL értéket kapjunk. Azonban XL és XR értékeket egymást követő lépésekben dolgozzuk fel, hogy eleget tegyünk a tördelőalgoritmus blokkméret-követelményének.
A 16. ábrán látható, hogy XL érték XR érték felhasználásával végrehajtott maszkolásához az XL értéket először i számú k, vagy annál is kevesebb bitből álló blokkra osztjuk, ahol k-t a tördelő blokkméreteként definiáljuk. Például ha SHA-1 a tördelőalgoritmus, akkor k=160. Ha tördelőalgoritmusként MD5-öt választunk, akkor k=128. Ha leírásunkban másként nem jelezzük, a 304 megkeverőlépés során használt tördelőalgoritmus mindig az SHA-1 algoritmus. Ha n k többszöröse, akkor minden egyes blokk k bitet tartalmaz. Ha n k-nak nem többszöröse, akkor XL érték egy rövid i blokkból fog állni, (amely k-nál kevesebb bitből áll, és opcionálisan egy vagy több k bit nagyságú blokkból. Ha létezik ilyen rövid blokk, azt XL érték legfontosabb helyértékű bitjeiből hozzuk létre.
A tördelendő bemenőadatot az alábbiak szerint határozzuk meg.
Bemenőadat=XR || nyilvános élőfej, ahol a nyilvános élőfej egy olyan 10 bájtos rejtjelezett struktúra, amely az alábbiak szerint épül fel:
bájt azonosító: ez a 304 megkeverőlépés azonosítója, bit iteráció: 1 -ez az első iteráció, bit algoritmus: a tördelőalgoritmus azonosítója, bájt számláló: 1, 2 stb. A számláló megegyezik az
XL értékben lévő maszkolandó blokkok számával.
bájt hosszúság: a kulcs hosszúsága bitekben (amely azt is jelzi, hogy k=páratlan szám esetén megtörtént-e 0 betöltése. A maximális kulcshosszúság élőfejenként 232 bit.
A maszkolási műveletet az alábbiak szerint hajtjuk végre. A számlálót kiinduláskor 1-re állítjuk be, és az (XR || nyilvános élőfej) bemenőadatot SHA-1 tördelőalgoritmussal tördelve előállítunk egy 160 bites H1 tördelési értéket. Ezt a H1 tördelési értéket KIZÁRÓLAGOS VAGY művelettel egyesítjük az XL érték 1 blokkjával, hogy ezzel létrehozzuk az első maszkolt blokkot (amelyet 1 mblokk-ként jelölünk). A számláló tartalmát ezt követően 2-re növeljük, majd az XR || nyilvános élőfej bemenőadatot SHA-1 tördelőalgoritmussal tördelve, létrehozunk egy 160 bites H2 tördelési értéket, amelyet az XL érték második blokkjával együtt KIZÁRÓLAGOS VAGY művelet alá helyezve, létrehozunk egy 2 mblokk-ként jelzett maszkolt második blokkot.
A műveletet ezen a módon folytatjuk mindaddig, amíg az utolsó blokkot (azaz i blokkot) is maszkoltuk. Ha az utolsó blokk egy olyan rövid blokk, amelyik j<k bitet tartalmaz, akkor az i blokkot úgy maszkoljuk, hogy H1 tördelési érték legkisebb helyértékű j bitjét az i blokkal KIZÁRÓLAGOS VAGY műveletben egyesítve létrehozzuk a maszkolt i blokkot (i mblokk-ként jelölve). A maszkolt 1-i blokkok egymáshoz fűzése révén előállított maszkolt XL érték lesz a jelölt mXL érték.
Az XR értéknek a (mXL-ként jelölt) maszkolt XL értékkel történő maszkolását hasonló módon végezzük. XR értéket ugyanúgy két blokkra osztjuk, ahogy azt az XL érték esetében tettük. Az aktuális maszkolási műveleteket szintén ugyanúgy hajtjuk végre, azzal a kivétellel, hogy a nyilvános élőfejben az iterációszámot 2-re állítjuk be („második tördelőiteráció”-ként jelöltük). Ebben az esetben a nyilvános élőfejet utólagosan rögzítjük mXL értékhez.
A tördelendő bemenőadat.
Bemenőadat=mXL || nyilvános élőfej, ahol az iterációszámot a nyilvános élőfejben 2-re állítottuk „és második tördelőiteráció néven neveztük. A számlálót nulláztuk, és hasonlóan az előzőhöz 1, 2 stb. lépésenként növeljük. A maszkolási művelet során a bemenőadatot tördeljük, és az így előállított tördelési értékeket az XR értékben lévő blokkokkal KIZÁRÓLAGOS VAGY műveletnek vetjük alá. A (maszkolt 1-i blokkok egymáshoz fűzése révén előállított) maszkolt XR értéket mXR-ként jelöltük.
A mXL értéket a mXL értékkel ugyanolyan módon maszkoljuk, ahogy XL értéket maszkoltuk az XR értékkel, azzal az eltéréssel, hogy a nyilvános élőfejben az iterációszámot 3-ra állítjuk be (ezt „harmadik tördelőiteráció’’ néven neveztük). A maszkolt mXL értéket ebben az esetben mmXL értékként jelöltük.
A 304 megkeverőlépés kimenőadata pedig mmXL || mXR lesz.
A leírásunkban említett minden egyes nyilvános élőfejnek van egy egybájtos azonosító mezője, amelyet az alábbi módon definiálunk:
ΧΌ1’ „SALT0”
ΧΌ2’ a SALT O-tól eltérő egyéb töredék ΧΌ3’ „PQ kulcsvisszafejtő ügynök azonosítók
ΧΌ4’ „megkeverőlépés”
Feltételezzük, hogy az egyes felhasználók részére szolgáló nyilvánoskulcs-bizonyítvány illeszkedik az X.509/harmadik verziós bizonyítványszabványhoz, és hogy egy ilyen harmadik verziós bővítmény alkalmas
HU 225 077 Β1 arra, hogy a kulcs-helyreállítási eljárásról bizonyos szükséges információkat, például felhasználóazonosítót, országazonosítót, első kulcsvisszafejtő ügynök azonosítót, második kulcsvisszafejtő ügynök azonosítót hordozzon. Azt is feltételezzük, hogy a 102 küldő, valamint a 104 fogadó nyilvánoskulcs-bizonyítványai a kulcshelyreállító rendszer részére rendelkezésre állnak. így, ha a felhasználók nyilvános kulcsai egy hatékony kulcs szétterítése céljából rendelkezésre állnak, a kulcshelyreállítás elvégzéséhez szükséges információ is elérhetővé válik, és érvényesíthető. A bizonyítványok tűnnek olyan eszköznek, amelyek természetszerűleg alkalmasak az ilyen jellegű információ tárolására és hordozására. Ha egy felhasználó kulcs-helyreállítási információját beépítjük a nyilvánoskulcs-bizonyítványába, kevesebb alkalom nyílik akár a szóban forgó felhasználó számára a helyreállítási rendszer helytelen, rendeltetésellenes használatára, például úgy, hogy egy előnyösebb kulcs-helyreállítási opciókat biztosító idegen országazonosítót ad meg.
A bemutatott kulcshelyreállító rendszert érintő számos különböző támadás és támadástípus képzelhető el, melyek némelyike korrupt kulcsvisszafejtő ügynökökön keresztül válik lehetővé.
Ha egyetlen kulcsvisszafejtő 108, 110, 112, 114 ügynök válik korrupttá és fedi fel egy felhasználó P 206 értékét, ez nem okozna problémát, mivel az ugyanahhoz a felhasználóhoz tartozó 208 Q érték a támadó előtt továbbra is ismeretlen marad. A 208 Q érték vagy a 210 R érték ismeretének a hiánya a támadó számára azzal egyenértékű problémát jelentene, mintha a teljes kulcsot kellene meghatároznia. Ez a részleges helyreállítási megoldás ezért olyan esetekben előnyös, ahol a teljes kulcsot a kulcsvisszafejtő 108, 110, 112, 114 ügynökök állítják helyre.
Egy korrupt kulcsvisszafejtő 108, 110, 112, 114 ügynök nem használhatja a rejtjelezett P 206 értékkel, vagy Q 208 értékkel társított töltelék értéket sem másik rejtjelezett P vagy Q 206, 208 érték elemzése céljából, hiszen minden egyes töltelék értéket úgy vezetünk le, hogy a SALT 0 értéket egy egyszeri függvényen vezetjük le. Minden egyes töredék, töltelék érték ezért egymástól függetlennek tekinthető.
Abban az esetben, ha (n-r) kis értékű, egy korrupt kulcsvisszafejtő 108, 110, 112, 114 ügynök megkísérelheti kipróbálni az összes előremenő 304 megkeverőlépést az összes F (Px, Qx) függvényt érintően, hogy megtalálja azok megfejtett P értékének az egyezését. Ezt a támadást meg tudjuk állítani azzal, hogy F (PQR) függvényt bevesszük Hx érték levezetésébe.
A többi támadás korrupt rosszindulatú felhasználóktól indul ki. Ha mind a 102 küldő, mind a 104 fogadó korrupt, mindkettő használhatja saját rejtjelező eljárását, vagy megkerülheti a létező szoftveresrendszer-ellenőrzéseket. Találmányunk nem tűzte ki célul olyan esetek megoldását, mely esetekben mindkét fél, mindkét felhasználó rosszindulatú, vagy korrupt, jóllehet ez elismerten alapvető leegyszerűsített kiindulási alap.
Ha a 102 küldő korrupt, és nem küldi el a kulcs helyreállításához szükséges 610 helyreállítási információt (lásd a 6. és 9. ábrát), a 104 fogadó nem tudja azokat ellenőrizni. Egy korrupt átvitel detektálása esetén a megfejtési műveletet letiltjuk.
Ha nem a 102 küldő, hanem a 104 fogadó korrupt, és ez abban nyilvánul meg, hogy az elején nem ellenőrzi a kulcs-helyreállítási értékeket, a 102 küldő azért még el tudja küldeni azokat, lehetővé téve az azokhoz történő hozzáférést.
A dinamikus és gyakori események korlátozzák a rejtjelezési periódust, és elősegítik annak a biztosítását, hogy egy eseménykontextus hozzáférhető legyen.
További támadásokat is megfontolhatunk, az egyik ezek között az úgynevezett „pumpoló támadás”. Y. Frankéi és M. Yung, „Escrow Encryption Systems Visited: Attacks, Analysis and Designs” című előadásában, amely 1995 augusztusában hangzott el a „Crypto ’95 Conference Proceedings” során, bemutatták, hogyan kell továbbítani a kulcsokat az események között úgy, hogy az eseményélőfejet más felhasználók is be tudják azonosítani. Az ilyen támadások kivédése érdekében célszerű, ha a felhasználók aktív kulcselosztó eljárásokat használnak, például a Diffie-Hellman kulcscserén alapuló eljárásokat, ha attól félnek, hogy a kulcsot valaki illetéktelenül használja. Ennek során aláírásukkal láthatják el a cserét, az eseményinformációt, a felek azonosítóit, valamint az üzeneteket annak érdekében, hogy azok forrását beazonosíthatóan megadják, és ezeket a helyreállító ügynökök ne nyissák meg mindaddig, amíg a felhasználók maguk nem válnak illetéktelen lehallgatókká. Ennek során az üzenetek és az üzenetforrások között egyértelmű kapcsolat és összefüggés adódik, bizonyítva azt a tényt, hogy egy illetéktelen lehallgatóforrástól származó üzeneteket nem tekintik érvényesnek, ahogy az követelményként szerepel a megcsapolás minimalizáló elve szerint (vagyis csak a gyanúsítottakat hallgatják le). Egyes alkalmazások azt is megkövetelhetik, hogy a másik fél is szignálja, aláírja az eseményélőfejet, és így tovább, hogy biztosítsa ezzel mindkét végpont jogosítottságát. Ezek a kommunikációs alkalmazások védettek, mivel az aláírásokat a két fél egyedi módon hozhatja csak létre.
Egy kulcsvisszafejtő ügynök kulcsának egy „megtévedt ügynök” általi replikálása is lehetővé tesz bizonyos támadásokat. Ezért megoldásunk létrehozása és bemutatása során abból indulunk ki, hogy az ügynöki kulcsokat tartalmazó táblázat valóban olyan kulcsokat tartalmaz, amelyek bizonyítottan az aktuális ország aktuális kulcsvisszafejtő ügynökéhez tartoznak.
A kulcskezelő eljárásokba „nem friss” kulcsokat is beilleszthetünk. Célszerű ezért, hogy az interaktív alkalmazásokban az eseményazonosítókat vagy „friss” információból, vagy a dátum és időpont alapján határozzuk meg. Ha megfelelő „kulcselosztó” mechanizmust használunk, ez önmagában biztosítja az említett adatok mindenkori frissességét. Nem interaktív verzió esetén az eseményazonosítót megkaphatjuk a dátumból és időből, illetve az azonosító vonatkozhat a dátumra és időre, és a fogadó alkalmazása is ellenőrizheti (az alkalmazás által elfogadott beszámított késést is figyelembe véve).
HU 225 077 Β1
Ahhoz, hogy a kulcshelyreállításhoz használt rejtjelezés egy támadót minél kevésbé segítsen az előre létrehozott kulcsszcenárióban, a nyilvános kulcsoknak az ügynöki kulcsok segítségével történő rejtjelezése mind különbözőképpen történik, és vagy egy 160 bites véletlen értéket jelentő SALT 0 értéktől, valamint a kulcs egyes részeitől függ, vagy pedig a „teljes kulcstól függ, a töredékek pszeudovéletlen deriválása révén, abban az esetben, ha a kulcs az egyetlen bemeneti lehetőség az eljáráshoz. Ez biztosítja, hogy amennyiben lehetséges, az ügynököknek szóló rejtjelezések ne hozzanak létre egy esetleges támadó számára egy olyan „kutatási sávot”, amely keskenyebb, mint maga a kulcs. Az optimális aszimmetrikus rejtjelezési eljárás változtathatósága és alkalmazása biztosítja, hogy az ügynököknek szóló különböző sima szövegek pszeudovéletlen módon függetlenek lesznek egymástól.
A találmány szerinti rejtjelkulcs-helyreállító rendszer előnyei ismételten abban foglalhatók össze, hogy támogatja a többszörös algoritmusokat, támogat bármely rejtjelkulcselosztó módszert, és ilyen hiányában biztosít egyet. Támogatja továbbá több kulcsvisszafejtő ügynök bevonását, az országok közötti üzenetküldést, ahol alkalmas az egy-egy ország által támasztott speciális követelmények lekezelésére. Az eljárás önvégrehajtó, a fogadó érvényesíti azokat az értékeket, amelyek a kulcsvisszafejtő ügynökök számára „hozzáférhetők”. Az ismert rejtjelezési megoldásokkal szemben (például a 40 bites kulcsokkal szemben) a felhasználó erősebb rejtjelkulcs-hatékonyságot kap egy felhatalmazott entitás kivételével mindenkivel szemben annak árán, hogy a rendszere erősebben le lesz terhelve, de ezért a törvények által megengedett legnagyobb biztonságot kapja. A hatóság oldaláról is ellenőrizni lehet, hogy egy kulcsvisszafejtő ügynök korrekt információt szolgáltat-e a számukra, ez eloszlathatja egy magát nem teljes biztonságban érző kulcsvisszafejtő ügynök esetleges félelmeit is. Amíg egy olyan letéti rendszernél, amelyben a rejtjelkulcsokat egy letéteményes ügynöknél kell minden esetben elhelyezni, a költségek egyenesen arányosak az egyes események számával, a találmány szerinti eljárásnál a költségek a hozzáférések számával arányosak, ami kedvezőbb.
A „hozzáférhetővé tett” kulcsok eseményszintű kulcsok. Ez kategóriákra tagolást és megfelelő hozzáférést tesz lehetővé. A kategóriákra tagolás azt jelenti, hogy a kulcsnak időbeli természetes határa van, amely szorosan egybeesik egy jogosított kulcshelyreállítás időtartamával. A megfelelő hozzáférés alatt pedig azt értjük, hogy a rejtjelezett adatok felfedéséhez szükséges kulcs kerül helyreállításra, nem pedig egy állandó kulcs vagy egy másik felhasználónak szánt kulcs. Ezzel ellentétben egy nyilvánoskulcs-algoritmus privát kulcsainak a helyreállítása nem tűnik jó ötletnek, mivel hozzáférést enged a mástól érkezett rejtjelezett üzenetekhez ahelyett, hogy a másnak küldött üzenetekhez férhetnénk hozzá. Ezeket az általában hosszú életű kulcsokat igen gyakran kell változtatni is, hogy a megfelelő kategóriákra sorolást végre lehessen hajtani. Ezekre a gondolatokra további információt találhatunk
Frankéi és Yung fent megnevezett, és jelen leírásunkban referenciaként tekintett publikációjában.
Szakember számára találmányunk számos változata elgondolható. A találmány megvalósítható hardveresen, szoftveresen, vagy a kettő kombinációjaként. Az alkalmazott megkeverési, hasítási és rejtjelezési eljárások is eltérhetnek a találmányunkat csupán megértés szintjén és céljából bemutatott példától. Olyan módosítások is az oltalmi körbe esnek, amelyek járulékos adatfüzéreket és állandókat tartalmaznak, illetve további, a szakterületen jártas személy által kigondolt és megvalósított módosításokat rejtenek magukban.

Claims (22)

1. Eljárás rejtjelkulcs visszafejtésére, a rejtjelkulcs birtokosa által ellenőrizhető módon, több együttműködő kulcsvisszafejtő ügynök (108, 110, 112, 114) felhasználásával, azzal jellemezve, hogy több megosztott kulcsvisszafejtési (Px, Qx; Py, Qy) értéket (320, 322; 330, 332) állítunk elő, amelyekből a rejtjelkulcs visszafejthető, oly módon, hogy a kulcsvisszafejtési értékeket kizárólag a kulcs és nyilvános információ függvényeként állítjuk elő; majd a megosztott kulcsvisszafejtési értékeket (320, 322; 330, 332) az egyes kulcsvisszafejtő ügynökök (108, 110, 112, 114) kulcsaival rejtjelezett visszafejtési értékek (206, 208) létrehozására rejtjelezzük; majd a rejtjelezett kulcsvisszafejtési értékeket (206, 208) kommunikációs csatornán (106) át továbbítjuk, és azokat a kulcsvisszafejtő ügynökök (108, 110, 112, 114) számára hozzáférhetővé tesszük, ahol a megosztott kulcsvisszafejtési értékek (320, 322; 330, 332) a kulcs birtokosa számára a kulcsból és a nyilvános információból helyreállíthatok.
2. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a kulcsból a megosztott kulcsvisszafejtési értékeket (320, 322; 330, 332) helyreállítjuk; a helyreállított megosztott kulcsvisszafejtési értékeket (320, 322; 330, 332) a kulcsvisszafejtési ügynökök (108, 110, 112, 114) rejtjelkulcsaival rejtjelezzük, ezzel összehasonlítási rejtjelezett visszafejtési értékeket állítunk elő; majd a továbbított rejtjelezett kulcsvisszafejtési értékeket (206, 208) összehasonlítjuk az összehasonlító rejtjelezett visszanyerési értékekkel, hogy ellenőrizzük a továbbított rejtjelezett visszafejtési értékeket (206, 208).
3. Az 1. vagy 2. igénypont szerinti eljárás, azzal jellemezve, hogy egymással kommunikáló párok esetében a kommunikációhoz a rejtjelkulcsot használjuk.
4. A 3. igénypont szerinti eljárás, azzal jellemezve, hogy a kulcsot az egymással kommunikáló párok egyik résztvevőjénél állítjuk elő, és kommunikáció útján juttatjuk el a másik résztvevőhöz.
5. A 3. igénypont szerinti eljárás, azzal jellemezve, hogy a kulcsot az egymással kommunikáló pár résztvevői együttműködve hozzák létre.
6. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a kulcsot teljes egészében a megosztott kulcsvisszafejtési értékekkel (320, 322; 330, 332) határozzuk meg.
HU 225 077 Β1
7. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a létrehozás során a kulcs függvényében olyan osztatlan kulcsvisszafejtési értéket (210) állítunk elő, amelyet nem osztunk meg egyetlen kulcsvisszafejtő ügynökkel (108, 110, 112, 114) sem, és amelyet teljes egészében a megosztott kulcsvisszafejtési értékek (320, 322; 330, 332) és az osztatlan kulcsvisszafejtési érték (210) alapján határozunk meg.
8. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a létrehozás során a kulcs első invertálható függvényeként első bemeneti értéket (310) állítunk elő; az első bemeneti érték legalább egy részét egy második bemeneti értékkel (316) összefűzzük, és ezzel növelt hosszúságú bemeneti értéket (317) állítunk elő; a növelt hosszúságú bemeneti érték (317) egy második invertálható függvényeként kimeneti értéket (319) állítunk elő; és a kimeneti értéket (319) alrészekre osztjuk, és ezzel létrehozzuk a megosztott kulcsvisszafejtési értékeket (320, 322).
9. A 8. igénypont szerinti eljárás, azzal jellemezve, hogy a második bemeneti értéket (316) a kulcs függvényében állítjuk elő.
10. A 8. igénypont szerinti eljárás, azzal jellemezve, hogy az első bemeneti értéknek (310) csupán egy részét fűzzük össze a második bemeneti értékkel (316) a növelt hosszúságú bemeneti érték (317) létrehozásához, míg az első bemeneti érték (310) maradék részét a kulcsvisszafejtő ügynökök (108, 110, 112, 114) számára hozzáférhetetlen, osztatlan kulcsvisszafejtési érték (210) előállításához használjuk.
11. A 10. igénypont szerinti eljárás, azzal jellemezve, hogy a második bemeneti értéket (316) a bemeneti érték maradék részének függvényében állítjuk elő.
12. A 8. igénypont szerinti eljárás, azzal jellemezve, hogy az első invertálható függvény pszeudovéletlen függvény.
13. A 8. igénypont szerinti eljárás, azzal jellemezve, hogy az első invertálható függvényt úgy használjuk, hogy az első bemeneti érték (310) minden egyes bitjét a kulcs minden egyes bitjétől függővé tesszük.
14. A 8. igénypont szerinti eljárás, azzal jellemezve, hogy a második invertálható függvény pszeudovéletlen függvény.
15. A 8. igénypont szerinti eljárás, azzal jellemezve, hogy a második invertálható függvényben a kimeneti érték (319) minden egyes bitjét a növelt hosszúságú bemeneti érték (317) minden egyes bitjétől függővé tesszük.
16. A 8. igénypont szerinti eljárás, azzal jellemezve, hogy az első bemeneti értéket (310) teljes egészében összefűzzük a második bemeneti értékkel (316) a növelt hosszúságú bemeneti érték (317) létrehozásához.
17. A 8. igénypont szerinti eljárás, azzal jellemezve, hogy az első invertálható függvényt nem pszeudovéletlen függvényként alkalmazzuk.
18. A 8. igénypont szerinti eljárás, azzal jellemezve, hogy a kimeneti érték (319) egyik alrészét a kulcsvisszafejtő ügynökök (108, 100, 112, 114) számára hozzáférhetetlen, osztatlan kulcsvisszafejtési értékként (210) kezeljük.
19. Berendezés rejtjelkulcs visszafejtésére, a rejtjelkulcs birtokosa által ellenőrizhető módon, több együttműködő kulcsvisszafejtő ügynök (108, 110, 112, 114) felhasználásával, azzal jellemezve, hogy több megosztott kulcsvisszafejtési (Px, Qx; Py, Qy) értéket (320, 322; 330, 332) előállító szerve van, amely értékekből (320, 322; 330, 332) a rejtjelkulcs visszafejthető, oly módon, hogy a kulcsvisszafejtési értékeket kizárólag a kulcs és nyilvános információ függvényeként állítjuk elő; a megosztott kulcsvisszafejtési értekeket (320, 322; 330, 332) az egyes kulcsvisszafejtő ügynökök (108, 110, 112, 114) kulcsaival rejtjelezett visszafejtési értékek létrehozására rejtjelezőegységet tartalmaz; a rejtjelezett kulcsvisszafejtési értékeket (206, 208) kommunikációs csatornán (106) át továbbító, és azokat a kulcsvisszafejtő ügynökök (108, 110, 112, 114) számára hozzáférhetővé tevő szerve van, ahol a megosztott kulcsvisszafejtési értékek (320, 322; 330, 332) a kulcs birtokosa számára a kulcsból és a nyilvános információból helyreállíthatók.
20. A 19. igénypont szerinti berendezés, azzal jellemezve, hogy a kulcsból a megosztott kulcsvisszafejtési értékeket (320, 322; 330, 332) helyreállító szerve; a helyreállított megosztott kulcsvisszafejtési értékeket a kulcsvisszafejtési ügynökök (108, 110, 112, 114) rejtjelkulcsaival rejtjelező, és ezzel összehasonlítási rejtjelezett visszafejtési értékeket előállító szerve; és a továbbított rejtjelezett kulcsvisszafejtési értékeket (206, 208) az összehasonlító rejtjelezett visszanyerési értékekkel a továbbított rejtjelezett visszafejtési értékek (206, 208) ellenőrzésére összehasonlító szerve van.
21. A 19. igénypont szerinti berendezés, azzal jellemezve, hogy a létrehozás során a kulcs függvényében egyetlen kulcsvisszafejtő ügynökkel (108, 110, 112, 114) sem megosztott osztatlan kulcsvisszafejtési értéket (210) előállító szerve, és azt teljes egészében a megosztott kulcsvisszafejtési értékek (320, 322; 330, 332) és az osztatlan kulcsvisszafejtési érték (210) alapján meghatározó szerve van.
22. A 19. igénypont szerinti berendezés, azzal jellemezve, hogy a létrehozás során a kulcs első invertálható függvényeként első bemeneti értéket (310) előállító szerve; az első bemeneti érték (310) legalább egy részét egy második bemeneti értékkel (316) összefűző, és ezzel növelt hosszúságú bemeneti értéket (317) előállító szerve; a növelt hosszúságú bemeneti érték (317) egy második invertálható függvényeként kimeneti értéket (319) előállító szerve; és a kimeneti értéket (319) alrészekre osztó, és ezzel a megosztott kulcsvisszafejtési értékeket (320, 322) létrehozó szerve van.
HU9902892A 1996-07-29 1997-07-23 Method and apparatus for providing for the recovery of a cryptographic key HU225077B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/681,679 US5796830A (en) 1996-07-29 1996-07-29 Interoperable cryptographic key recovery system
PCT/GB1997/001982 WO1998005143A1 (en) 1996-07-29 1997-07-23 Cryptographic key recovery system

Publications (3)

Publication Number Publication Date
HUP9902892A2 HUP9902892A2 (hu) 1999-12-28
HUP9902892A3 HUP9902892A3 (en) 2000-02-28
HU225077B1 true HU225077B1 (en) 2006-06-28

Family

ID=24736294

Family Applications (1)

Application Number Title Priority Date Filing Date
HU9902892A HU225077B1 (en) 1996-07-29 1997-07-23 Method and apparatus for providing for the recovery of a cryptographic key

Country Status (7)

Country Link
US (2) US5796830A (hu)
EP (1) EP0916209B1 (hu)
JP (1) JP3872107B2 (hu)
DE (1) DE69706867T2 (hu)
HU (1) HU225077B1 (hu)
PL (1) PL331313A1 (hu)
WO (1) WO1998005143A1 (hu)

Families Citing this family (140)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
GB9507885D0 (en) * 1995-04-18 1995-05-31 Hewlett Packard Co Methods and apparatus for authenticating an originator of a message
WO1997005720A2 (en) * 1995-07-27 1997-02-13 Nextlevel Systems, Inc. Cryptographic system with concealed work factor
US6026163A (en) * 1995-12-13 2000-02-15 Micali; Silvio Distributed split-key cryptosystem and applications
US6226383B1 (en) * 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
US7567669B2 (en) 1996-05-17 2009-07-28 Certicom Corp. Strengthened public key protocol
US5901227A (en) * 1996-06-20 1999-05-04 Novell, Inc. Method and apparatus for implementing partial and complete optional key escrow
US5937066A (en) * 1996-10-02 1999-08-10 International Business Machines Corporation Two-phase cryptographic key recovery system
US5818939A (en) * 1996-12-18 1998-10-06 Intel Corporation Optimized security functionality in an electronic system
US5907618A (en) * 1997-01-03 1999-05-25 International Business Machines Corporation Method and apparatus for verifiably providing key recovery information in a cryptographic system
US5920630A (en) * 1997-02-25 1999-07-06 United States Of America Method of public key cryptography that includes key escrow
US6249585B1 (en) * 1998-04-08 2001-06-19 Network Associates, Inc Publicly verifiable key recovery
US6289451B1 (en) * 1997-04-18 2001-09-11 Sun Microsystems, Inc. System and method for efficiently implementing an authenticated communications channel that facilitates tamper detection
US6335972B1 (en) * 1997-05-23 2002-01-01 International Business Machines Corporation Framework-based cryptographic key recovery system
US6122742A (en) * 1997-06-18 2000-09-19 Young; Adam Lucas Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
US6243466B1 (en) 1997-08-29 2001-06-05 Adam Lucas Young Auto-escrowable and auto-certifiable cryptosystems with fast key generation
US6282295B1 (en) 1997-10-28 2001-08-28 Adam Lucas Young Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers
US6389136B1 (en) 1997-05-28 2002-05-14 Adam Lucas Young Auto-Recoverable and Auto-certifiable cryptosystems with RSA or factoring based keys
US6061741A (en) * 1997-05-28 2000-05-09 International Business Machines Corporation Method and apparatus for synchronization of connectionless applications across a network by using simple encryption tokens
US6202150B1 (en) 1997-05-28 2001-03-13 Adam Lucas Young Auto-escrowable and auto-certifiable cryptosystems
US6314190B1 (en) 1997-06-06 2001-11-06 Networks Associates Technology, Inc. Cryptographic system with methods for user-controlled message recovery
US6775382B1 (en) * 1997-06-30 2004-08-10 Sun Microsystems, Inc. Method and apparatus for recovering encryption session keys
US6144744A (en) * 1997-06-30 2000-11-07 International Business Machines Corporation Method and apparatus for the secure transfer of objects between cryptographic processors
WO1999004530A1 (en) * 1997-07-15 1999-01-28 V-One Corporation File encryption with key recovery
US6549626B1 (en) * 1997-10-20 2003-04-15 Sun Microsystems, Inc. Method and apparatus for encoding keys
JP3812123B2 (ja) * 1998-02-12 2006-08-23 富士ゼロックス株式会社 認証方法および装置
US6181795B1 (en) * 1998-02-27 2001-01-30 International Business Machines Corporation Portable cryptographic key
US6848050B1 (en) * 1998-04-16 2005-01-25 Citicorp Development Center, Inc. System and method for alternative encryption techniques
US6539092B1 (en) * 1998-07-02 2003-03-25 Cryptography Research, Inc. Leak-resistant cryptographic indexed key update
JP2000124887A (ja) * 1998-10-14 2000-04-28 Fuji Xerox Co Ltd グループ単位の暗号化・復号方法および署名方法ならびに装置
US7215773B1 (en) * 1998-10-14 2007-05-08 Certicom.Corp. Key validation scheme
US6535607B1 (en) 1998-11-02 2003-03-18 International Business Machines Corporation Method and apparatus for providing interoperability between key recovery and non-key recovery systems
JP2000165373A (ja) * 1998-11-25 2000-06-16 Toshiba Corp 暗号装置、暗号通信システム及び鍵復元システム並びに記憶媒体
US6473508B1 (en) 1998-12-22 2002-10-29 Adam Lucas Young Auto-recoverable auto-certifiable cryptosystems with unescrowed signature-only keys
US6877092B2 (en) 1998-12-31 2005-04-05 International Business Machines Corporation Apparatus, method, and computer program product for achieving interoperability between cryptographic key recovery enabled and unaware systems
US6396929B1 (en) * 1998-12-31 2002-05-28 International Business Machines Corporation Apparatus, method, and computer program product for high-availability multi-agent cryptographic key recovery
US6636968B1 (en) 1999-03-25 2003-10-21 Koninklijke Philips Electronics N.V. Multi-node encryption and key delivery
AU4213600A (en) * 1999-04-09 2000-11-14 General Instrument Corporation Key management between a cable telephony adapter and associated signaling controller
EP1183816A4 (en) * 1999-05-26 2005-09-14 Ascom Hasler Mailing Sys Inc TECHNIQUE FOR ESTABLISHING DOUBLE DISTRIBUTED KNOWLEDGE AND RECOVERING AN ENCRYPTION KEY
US6367010B1 (en) * 1999-07-02 2002-04-02 Postx Corporation Method for generating secure symmetric encryption and decryption
DE19946127A1 (de) * 1999-09-20 2001-04-12 Deutsche Telekom Ag Verfahren zur Entschlüsselung von mit einem hybriden Verschlüsselungsverfahren verschlüsselten Dokumenten nach Verlust des privaten kryptografischen Schlüssels
US7461022B1 (en) 1999-10-20 2008-12-02 Yahoo! Inc. Auction redemption system and method
WO2001041357A1 (en) * 1999-12-03 2001-06-07 Cipheractive Communication Security Ltd. Encryption of partitioned data blocks utilizing public key methods and random numbers
US6823070B1 (en) * 2000-03-28 2004-11-23 Freescale Semiconductor, Inc. Method for key escrow in a communication system and apparatus therefor
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
JP2002049310A (ja) * 2000-08-04 2002-02-15 Toshiba Corp 暗復号装置、認証装置及び記憶媒体
WO2002015081A1 (en) * 2000-08-14 2002-02-21 Yahoo! Inc. Offline-online incentive points system and method
US6907524B1 (en) 2000-10-13 2005-06-14 Phoenix Technologies Ltd. Extensible firmware interface virus scan
US7362868B2 (en) * 2000-10-20 2008-04-22 Eruces, Inc. Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US20030021417A1 (en) * 2000-10-20 2003-01-30 Ognjen Vasic Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US7113900B1 (en) 2000-10-24 2006-09-26 Microsoft Corporation System and method for logical modeling of distributed computer systems
US6907395B1 (en) * 2000-10-24 2005-06-14 Microsoft Corporation System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model
US7606898B1 (en) 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US20020164020A1 (en) * 2001-05-04 2002-11-07 Shakeel Mustafa System and method for encrypting and decrypting information through the use of random numbers
US20030018917A1 (en) * 2001-07-23 2003-01-23 Brown Matthew W. Method and apparatus for delivering digital media using packetized encryption data
US20030028786A1 (en) * 2001-07-26 2003-02-06 Shakeel Mustafa System and method for software anti-piracy licensing and distribution
EP1286349A1 (en) * 2001-08-21 2003-02-26 Canal+ Technologies Société Anonyme File and content management
US20030112970A1 (en) * 2001-08-26 2003-06-19 Arindam Mitra How to generate unbreakable key through any communication channel
US8117450B2 (en) * 2001-10-11 2012-02-14 Hewlett-Packard Development Company, L.P. System and method for secure data transmission
US7333616B1 (en) * 2001-11-14 2008-02-19 Omniva Corp. Approach for managing access to messages using encryption key management policies
US7242768B2 (en) 2002-01-14 2007-07-10 Lenovo (Singapore) Pte. Ltd. Super secure migratable keys in TCPA
US20030149876A1 (en) * 2002-02-01 2003-08-07 Secure Choice Llc Method and system for performing perfectly secure key exchange and authenticated messaging
US20060034456A1 (en) * 2002-02-01 2006-02-16 Secure Choice Llc Method and system for performing perfectly secure key exchange and authenticated messaging
GB2390270A (en) * 2002-06-27 2003-12-31 Ericsson Telefon Ab L M Escrowing with an authority only part of the information required to reconstruct a decryption key
AU2003271594A1 (en) * 2002-09-11 2004-04-23 Giesecke And Devrient Gmbh Protected cryptographic calculation
KR100456599B1 (ko) * 2002-11-12 2004-11-09 삼성전자주식회사 병렬 디이에스 구조를 갖는 암호 장치
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7072807B2 (en) * 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US20040210623A1 (en) * 2003-03-06 2004-10-21 Aamer Hydrie Virtual network topology generation
US8122106B2 (en) * 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7689676B2 (en) * 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US7567504B2 (en) 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7636917B2 (en) * 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US7613822B2 (en) 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US7590736B2 (en) * 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7606929B2 (en) * 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation
US7552093B2 (en) * 2003-12-04 2009-06-23 Black Duck Software, Inc. Resolving license dependencies for aggregations of legally-protectable content
US9489687B2 (en) * 2003-12-04 2016-11-08 Black Duck Software, Inc. Methods and systems for managing software development
US8700533B2 (en) * 2003-12-04 2014-04-15 Black Duck Software, Inc. Authenticating licenses for legally-protectable content based on license profiles and content identifiers
US7778422B2 (en) 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US7467303B2 (en) * 2004-03-25 2008-12-16 International Business Machines Corporation Grid mutual authorization through proxy certificate generation
US7730207B2 (en) * 2004-03-31 2010-06-01 Microsoft Corporation Routing in peer-to-peer networks
US7899190B2 (en) 2004-04-16 2011-03-01 Research In Motion Limited Security countermeasures for power analysis attacks
US8015211B2 (en) * 2004-04-21 2011-09-06 Architecture Technology Corporation Secure peer-to-peer object storage system
US20050240765A1 (en) * 2004-04-22 2005-10-27 International Business Machines Corporation Method and apparatus for authorizing access to grid resources
US7380129B2 (en) * 2004-04-22 2008-05-27 International Business Machines Corporation Method and apparatus for detecting grid intrusions
US20050246529A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US7848514B2 (en) 2004-05-24 2010-12-07 Research In Motion Limited Table masking for resistance to power analysis attacks
US7644409B2 (en) * 2004-06-04 2010-01-05 Sun Microsystems, Inc. Techniques for accessing a shared resource using an improved synchronization mechanism
US7594234B1 (en) 2004-06-04 2009-09-22 Sun Microsystems, Inc. Adaptive spin-then-block mutual exclusion in multi-threaded processing
US7681042B2 (en) * 2004-06-17 2010-03-16 Eruces, Inc. System and method for dis-identifying sensitive information and associated records
US7475397B1 (en) 2004-07-28 2009-01-06 Sun Microsystems, Inc. Methods and apparatus for providing a remote serialization guarantee
US7995758B1 (en) * 2004-11-30 2011-08-09 Adobe Systems Incorporated Family of encryption keys
US7797245B2 (en) * 2005-03-18 2010-09-14 Black Duck Software, Inc. Methods and systems for identifying an area of interest in protectable content
US7802144B2 (en) 2005-04-15 2010-09-21 Microsoft Corporation Model-based system monitoring
US7797147B2 (en) 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US8682795B2 (en) * 2005-09-16 2014-03-25 Oracle International Corporation Trusted information exchange based on trust agreements
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7606769B2 (en) * 2005-10-12 2009-10-20 Kabushiki Kaisha Toshiba System and method for embedding user authentication information in encrypted data
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US9704174B1 (en) 2006-05-25 2017-07-11 Sean I. Mcghie Conversion of loyalty program points to commerce partner points per terms of a mutual agreement
US7703673B2 (en) 2006-05-25 2010-04-27 Buchheit Brian K Web based conversion of non-negotiable credits associated with an entity to entity independent negotiable funds
US8684265B1 (en) 2006-05-25 2014-04-01 Sean I. Mcghie Rewards program website permitting conversion/transfer of non-negotiable credits to entity independent funds
US10062062B1 (en) 2006-05-25 2018-08-28 Jbshbm, Llc Automated teller machine (ATM) providing money for loyalty points
US8668146B1 (en) 2006-05-25 2014-03-11 Sean I. Mcghie Rewards program with payment artifact permitting conversion/transfer of non-negotiable credits to entity independent funds
EP1873960B1 (en) * 2006-06-29 2013-06-05 Incard SA Method for session key derivation in a IC card
US20080040613A1 (en) * 2006-08-14 2008-02-14 David Carroll Challener Apparatus, system, and method for secure password reset
CA2662166A1 (en) * 2006-09-06 2008-03-13 Sslnext, Inc. Method and system for establishing real-time authenticated and secured communications channels in a public network
US8144875B2 (en) * 2006-09-06 2012-03-27 Paul McGough Method and system for establishing real-time authenticated and secured communications channels in a public network
US8116243B2 (en) * 2006-10-05 2012-02-14 Electronics And Telecommunications Research Institute Wireless sensor network and adaptive method for monitoring the security thereof
US8010803B2 (en) 2006-10-12 2011-08-30 Black Duck Software, Inc. Methods and apparatus for automated export compliance
US7681045B2 (en) * 2006-10-12 2010-03-16 Black Duck Software, Inc. Software algorithm identification
US8744076B2 (en) * 2007-04-04 2014-06-03 Oracle International Corporation Method and apparatus for encrypting data to facilitate resource savings and tamper detection
US8156332B2 (en) * 2007-05-29 2012-04-10 Apple Inc. Peer-to-peer security authentication protocol
US20100146294A1 (en) * 2008-03-17 2010-06-10 Anthony Sneed BEST2000C: platform-independent, acrostic database encryption of biometrically-inert transgression-ciphers for up to 90% reduction of the $50 billion annual fictitious-identity transgressions
US8099599B2 (en) * 2008-08-29 2012-01-17 Microsoft Corporation Controlling access to data streams
US8892881B2 (en) * 2009-03-03 2014-11-18 The Governing Council Of The University Of Toronto Split key secure access system
US8934625B2 (en) * 2009-03-25 2015-01-13 Pacid Technologies, Llc Method and system for securing communication
WO2010111440A2 (en) 2009-03-25 2010-09-30 Pacid Technologies, Llc Token for securing communication
US8539241B2 (en) 2009-03-25 2013-09-17 Pacid Technologies, Llc Method and system for securing communication
TW201040781A (en) 2009-03-25 2010-11-16 Pacid Technologies Llc System and method for protecting a secrets file
WO2010111448A1 (en) 2009-03-25 2010-09-30 Pacid Technologies, Llc Method and system for securing communication
US8869024B2 (en) * 2009-07-20 2014-10-21 Facebook, Inc. Monitoring a background process in a web browser and providing status of same
US8769288B2 (en) * 2011-04-22 2014-07-01 Alcatel Lucent Discovery of security associations
US9754130B2 (en) 2011-05-02 2017-09-05 Architecture Technology Corporation Peer integrity checking system
US8479021B2 (en) 2011-09-29 2013-07-02 Pacid Technologies, Llc Secure island computing system and method
US9197422B2 (en) * 2013-01-24 2015-11-24 Raytheon Company System and method for differential encryption
US9967319B2 (en) * 2014-10-07 2018-05-08 Microsoft Technology Licensing, Llc Security context management in multi-tenant environments
DE102015200279A1 (de) * 2015-01-12 2016-07-14 Siemens Aktiengesellschaft Einwegübertragungseinrichtung, Vorrichtung undVerfahren zum rückwirkungsfreien Erfassen von Daten
US10237073B2 (en) 2015-01-19 2019-03-19 InAuth, Inc. Systems and methods for trusted path secure communication
EP3981103A4 (en) * 2019-06-10 2023-06-21 tZERO IP, LLC KEY RECOVERY USING ENCRYPTED SECRET SHARES
CN114651251A (zh) * 2019-11-22 2022-06-21 惠普发展公司,有限责任合伙企业 恢复密钥
US11870898B2 (en) * 2020-05-21 2024-01-09 Workday, Inc. Split keys for wallet recovery
US11405200B1 (en) 2020-05-21 2022-08-02 Workday, Inc. Multilevel split keys for wallet recovery
US11611435B2 (en) 2021-01-15 2023-03-21 Servicenow, Inc. Automatic key exchange
US11991400B2 (en) 2022-07-15 2024-05-21 Bank Of America Corporation Device for executing audio cryptology in real-time for audio misappropriation prevention

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276737B1 (en) * 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
US5315658B1 (en) * 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
JPH09507729A (ja) * 1994-01-13 1997-08-05 バンカーズ・トラスト・カンパニー キー寄託機能付き暗号システムおよび方法
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5557765A (en) * 1994-08-11 1996-09-17 Trusted Information Systems, Inc. System and method for data recovery
US5557346A (en) * 1994-08-11 1996-09-17 Trusted Information Systems, Inc. System and method for key escrow encryption
WO1996005674A1 (en) * 1994-08-12 1996-02-22 Frank Thomson Leighton Failsafe key escrow system
US5633928A (en) * 1995-03-10 1997-05-27 Bell Communications Research, Inc. Key escrow method with warrant bounds
US5761305A (en) * 1995-04-21 1998-06-02 Certicom Corporation Key agreement and transport protocol with implicit signatures
GB9510035D0 (en) * 1995-05-18 1995-08-02 Cryptech Systems Inc Strengthened public key protocols
JPH0918601A (ja) * 1995-06-30 1997-01-17 Murata Mach Ltd 通信方法
US5901227A (en) * 1996-06-20 1999-05-04 Novell, Inc. Method and apparatus for implementing partial and complete optional key escrow

Also Published As

Publication number Publication date
WO1998005143A1 (en) 1998-02-05
JPH11514188A (ja) 1999-11-30
US6052469A (en) 2000-04-18
HUP9902892A3 (en) 2000-02-28
JP3872107B2 (ja) 2007-01-24
DE69706867T2 (de) 2002-04-11
EP0916209B1 (en) 2001-09-19
EP0916209A1 (en) 1999-05-19
DE69706867D1 (de) 2001-10-25
HUP9902892A2 (hu) 1999-12-28
PL331313A1 (en) 1999-07-05
US5796830A (en) 1998-08-18

Similar Documents

Publication Publication Date Title
HU225077B1 (en) Method and apparatus for providing for the recovery of a cryptographic key
US11818262B2 (en) Method and system for one-to-many symmetric cryptography and a network employing the same
CA2197915C (en) Cryptographic key recovery system
KR100233979B1 (ko) 2-상태 암호화 키 회복 시스템
Barsoum et al. Enabling dynamic data and indirect mutual trust for cloud computing storage systems
US6819766B1 (en) Method and system for managing keys for encrypted data
Housley Cryptographic message syntax (CMS) algorithms
US6535607B1 (en) Method and apparatus for providing interoperability between key recovery and non-key recovery systems
CN112738051B (zh) 数据信息加密方法、系统及计算机可读存储介质
EP3596651A1 (en) Symmetric cryptographic method and system and applications thereof
Abo-Alian et al. Auditing-as-a-service for cloud storage
Gennaro et al. Two-phase cryptographic key recovery system
KR100388059B1 (ko) 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법
Geihs et al. Propyla: privacy preserving long-term secure storage
Gennaro et al. Secure key recovery
CN113141248B (zh) 基于同态加密的门限解密方法、系统及可读存储介质
Housley RFC3370: Cryptographic Message Syntax (CMS) Algorithms
Mitchell Developments in security mechanism standards