[go: up one dir, main page]

SE534384C2 - Förfarande för att alstra en krypterings-/dekrypteringsnyckel - Google Patents

Förfarande för att alstra en krypterings-/dekrypteringsnyckel Download PDF

Info

Publication number
SE534384C2
SE534384C2 SE0900918A SE0900918A SE534384C2 SE 534384 C2 SE534384 C2 SE 534384C2 SE 0900918 A SE0900918 A SE 0900918A SE 0900918 A SE0900918 A SE 0900918A SE 534384 C2 SE534384 C2 SE 534384C2
Authority
SE
Sweden
Prior art keywords
data set
node
temporary data
bit
key
Prior art date
Application number
SE0900918A
Other languages
English (en)
Other versions
SE0900918A1 (sv
Inventor
Elise Revell
Original Assignee
Kelisec Ab
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 Kelisec Ab filed Critical Kelisec Ab
Priority to SE0900918A priority Critical patent/SE534384C2/sv
Priority to CN201080003360.7A priority patent/CN102227887B/zh
Priority to BRPI1014192A priority patent/BRPI1014192A2/pt
Priority to AU2010266760A priority patent/AU2010266760B2/en
Priority to JP2012517459A priority patent/JP2012532486A/ja
Priority to CA2747891A priority patent/CA2747891C/en
Priority to SG2011090362A priority patent/SG176707A1/en
Priority to PL10794465T priority patent/PL2361462T3/pl
Priority to US13/129,682 priority patent/US8433066B2/en
Priority to EP10794465.4A priority patent/EP2361462B1/en
Priority to ES10794465.4T priority patent/ES2566160T3/es
Priority to KR1020117015215A priority patent/KR101747888B1/ko
Priority to EG2012010007A priority patent/EG26868A/xx
Priority to MX2012000104A priority patent/MX2012000104A/es
Priority to EA201100887A priority patent/EA019411B1/ru
Priority to NZ596935A priority patent/NZ596935A/xx
Priority to DK10794465.4T priority patent/DK2361462T3/en
Priority to PCT/SE2010/050780 priority patent/WO2011002412A1/en
Publication of SE0900918A1 publication Critical patent/SE0900918A1/sv
Priority to ZA2011/03163A priority patent/ZA201103163B/en
Publication of SE534384C2 publication Critical patent/SE534384C2/sv
Priority to HK11112317.8A priority patent/HK1157972A1/xx
Priority to IL216897A priority patent/IL216897A/en
Priority to JP2015001958A priority patent/JP2015092745A/ja
Priority to CY20161100226T priority patent/CY1117345T1/el
Priority to JP2016191229A priority patent/JP2017022773A/ja

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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Facsimile Transmission Control (AREA)
  • Computer And Data Communications (AREA)

Description

25 30 35 534 384 publicera sin publika nyckel samtidigt som han behåller sin privata nyckel hemlig, vilket möjliggör att alla kan sända ett krypterat meddelande till denna användare.
För att en nyckel skall betraktas som ”säker” i samband med symmetriska krypteringsalgoritmer anses en längd på 80 bitar allmänt vara ett minimum och 128 bitars nycklar anses vanligtvis som mycket starka. Nycklama som används vid kryptering med publika nycklar har någon matematisk struktur. Till exempel är de publika nycklar som används inom RSA-systemet produkten av två primtal. System som använder publika nycklar kräver därför större nyckellångder än symmetriska system för att få en liknande säkerhetsnivå. 3072 bitar föreslås som nyckellängd för system som baserar sig på utbrytnings- och diskreta heltalslogaritmer vars syfte är att ha en säkerhetsnivå som är likvärdig med ett 128 bitars symmetriskt chiffer.
Såsom nämnts ovan är det möjligt att alstra nycklar med en hög säkerhetsnivå om de är tillräckligt långa, både för nycklar baserade på symmetriska och asymmetriska algoritmer. Det finns emellertid ett problem vid nyckeldistributionen. Om t.ex. två parter önskar att kommunicera med varandra med användning av symmetriskt krypto måste de först bestämma vilken nyckel som skall användas och sedan distribuera den på ett säkert sätt från den ena parten till den andra. Nyckeln måste vidare hållas hemlig av båda parter. Risken att en inkräktare kan ta reda på nyckeln ökar med den tid som nyckeln används. Det är därför normalt att dessa endast är giltiga under en begränsad tid, t.ex. sex eller tolv månader. Efter denna tid måste en ny nyckel distribueras.
Också distributionen av nycklar med asymmetrisk kryptering har problem med nyckeldistributionen när två parter vill kommunicera med varandra. För att kunna sända information i båda riktningama behöver de utbyta publika nycklar med varandra. Också i detta fall har nycklama ofta en begränsad tidperiod under vilka de är giltiga. För en part som kommunicerar med många olika parter kan hanterandet och distributionen av giltiga publika nycklar vara enerverande. Ett typiskt exempel är att nyckelns giltighet har löpt ut när du behöver skicka någon hemlig information brådskande till en annan part eller att man ännu inte har utbytt publika nycklar.
En annan typ av kryptografi är kvantkryptering, som använder kvantmeka- nismer för att garantera säker kommunikation. Det möjliggör att två parter kan fram- ställa en delad slumpmässig bitsträng som endast är känd av dem själva och som kan användas som nyckel för att kryptera och dekryptera meddelanden. En viktig och unik egenskap hos kvantkryptering är möjligheten för de två kommunicerande användarna att detektera närvaron av någon tredje part som försöker få reda på nyckeln. Detta är resultatet av en fundamental aspekt inom kvantmekaniken, dvs. processen att mäta ett 10 15 20 25 30 35 534 384 kvantsystem kommer att påverka systemet. Eftersom en tredje part försöker avlyssna nyckeln så måste de på något sätt mäta den och därigenom bli detekterbar. Säkerheten hos kvantkryptering vilar sålunda på grundema inom kvantrnekaniken i motsats till traditionell nyckelkryptering som förlitar sig på svårigheten att beräkna vissa mate- matiska funktioner och som inte kan ge några indikationer på avlyssning eller garantera nyckelsäkerhet.
Kvantkryptering används endast för att framställa och distribuera en nyckel och inte för att överföra något meddelandedata. Denna nyckel kan sedan användas för någon vald krypteringsalgoritm för att kryptera och dekryptera ett meddelande, som sedan kan sändas över en vanlig kommunikationskanal. Även om nyckelalstringen vid kvantkryptering ger ett mycket säkert sätt att alstra och distribuera en nyckel har det också en påtaglig nackdel. Avståndet över vilken en kvantnyckel kan distribueras är begränsad till omkring 100 kilometer beroende på kvantmekanikens egenskaper.
I ljuset av ovannämnda problem finns ett behov för att på ett enkelt sätt alstra och distribuera en krypteringsnyckel.
Sammanfattning av uppfinningen Problemet som den föreliggande uppfinningen avser lösa är att alstra en krypteringsnyckel, som inte behöver distribueras till nodema som vill kommunicera med varandra, dvs. där nyckeln kan alstras av nodema själva.
Enligt en första aspekt av uppfinningen löses detta problem av ett förfarande för att alstra en krypterings-/dekrypteringsnyckel, som är användbar för säker kommu- nikation mellan en första nod och en andra nod. F örfarandet innefattar stegen: att sända en begäran från den första noden A till en central server för att sätta upp en förbindelse med den andra noden, att från den centrala servem skicka en första nyckelalstrande fil till den första noden och andra nyckelalstrande fil till den andra noden i gensvar på begäran från den första noden, bearbeta den första nyckelalstringsfilen vid den första noden och den andra nyckelalstringsfilen vid den andra noden, alstra en första tillfálli g datauppsättning vid den första noden och en andra tillfällig datauppsättning vid den andra noden, skicka den första tillfälliga datauppsättningen från den första till den andra noden, lO 15 20 25 30 534 384 jämföra bitama i den första tillfälliga datauppsättningen med motsvarande bitar i den andra tillfälliga datauppsättningen, i skapa en ny tredje tillfällig datauppsättning baserad på en bit för bit jämförelse mellan den första och den andra tillfälliga datauppsättningen genom att sätta ett första värde om det jämförda bitama är lika och ett andra värde om de jämförda bitarna är olika, skicka den tredje tillfälliga datauppsättningen från den andra noden till den första noden, jämföra bitarna i den tredje tillfälliga datauppsättningen med motsvarande bitar i den första tillfälliga datauppsättningen, alstra en första krypteringsnyckel baserad på en bit för bit jämförelse mellan den tredje och den första tillfälliga datauppsättningen genom att behålla värdet hos biten hos den första datauppsättningen om motsvarande bit hos den tredje tillfälliga data- uppsättningen är satt till det första värdet och ignorera biten hos den första tillfälliga datauppsättningen om den motsvarande biten hos den tredje tillfälliga datauppsättningen är satt till det andra värdet, alstra en andra krypteringsnyckel baserad på en bit för bit jämförelse mellan den första och den andra tillfälliga datauppsättningen genom att behålla värdet hos den bit av den andra datauppsättningen om motsvarande bit hos den första tillfälliga datauppsättningen är lika och ignorera denna bit hos den andra tillfälliga datauppsättningen om de jämförda bitarna är olika, varvid den första och den andra krypteringsnyckeln är desamma.
Enligt en andra aspekt av den föreliggande uppfinningen löses problemet genom ett förfarande för att alstra en krypterings/dekrypteringsnyckel i en första nod, vilken är användbar för säker kommunikation mellan den första noden och en andra nod. Förfarandet enligt den andra aspekten innefattar följande steg att: skicka en begäran till en central server för att sätta upp en säker kommuni- kation med den andra noden, motta en första nyckelalstringsfil från den centrala servem i gensvar på denna begäran, bearbeta den första nyckelalstrande filen, alstra en första tillfällig datauppsättning, skicka den första tillfälliga datauppsättningen till den andra noden, motta en tredje tillfällig datauppsättningen från den andra noden, 10 15 20 25 30 534 384 jämföra bitarna hos den tredje tillfälliga datauppsättningen med motsvarande bitar i den första tillfälliga datauppsättningen, alstra en första krypteringsnyckel baserad på en bit för bit jämförelse mellan den tredje och den första tillfälliga datauppsättningen genom att behålla värdet hos biten av den första datauppsättningen om den motsvarande biten hos den tredje tillfälliga datauppsättningen är satt till ett första värde och ignorera biten hos den första tillfälliga datauppsättningen om motsvarande bit hos den tredje tillfälliga datauppsättningen är satt till ett andra värde.
Enligt en tredje aspekt av den föreliggande uppfinningen löses problemet av ett förfarande för att alstra en krypterings/dekrypteringsnyckel i en andra nod, vilken är användbar för säker kommunikation mellan en första och en andra nod. Enligt denna tredje aspekt innefattar förfarandet följande steg att: motta en andra nyckelalstrande fil från en central server i gensvar på en begäran från den första noden att starta säker kommunikation mellan den första noden och den andra noden, bearbeta den andra nyckelalstrande filen, alstra en andra tillfällig datauppsättning, motta en första tillfällig datauppsättning från den första noden, jämföra bitarna hos den första tillfälliga datauppsättningen med motsvarande bitar hos den andra tillfälliga datauppsättningen, skapa en ny tredje tillfällig datauppsättning baserad på en bit för bit jämförelse mellan de första och den andra tillfälliga datauppsättningen genom att sätta ett första värde om de jämfórda bitarna är lika och ett andra värde i fall de jämförda bitarna är olika, skicka den tredje tillfälliga datauppsättningen till den första noden, alstra en andra krypteringsnyckel baserad på en bit för bit jämförelse mellan den första och den andra tillfälliga datauppsättningen genom att behålla värdet hos biten i den andra datauppsättningen om motsvarande bit hos den första tillfälliga data- uppsättningen är lika och ignorera biten hos den andra tillfälliga datauppsättningen om de jämfórda bitama är olika.
Enligt en fóredragen utföringsfonn av den föreliggande uppfinningen innefattar steget att skicka den första och den andra nyckelalstrande filen också skickande av metadata som är bifogat varje nyckelalstringsfil. 10 15 20 25 30 35 534 384 l ytterligare en föredragen utföringsform av den föreliggande uppfinningen innefattar metadatat en konstant som kan användas för alstríng av både den första och den andra krypteringsnyckeln. Metadatat kan också innefatta information om krypteringsnyckelns längd.
I en annan utföringsform kan nyckellängden alstras slumpmässigt inom ett på förhand fastställt intervall.
Enligt en fjärde aspekt av den föreliggande uppfinningen tillhandahålles ett dataprogram som innefattar kod för att utföra stegen i förfarandet när programmet körs på en dator.
Enligt en femte aspekt av uppfinningen tillhandahålles en datorprogramprodukt som innefattar programkod lagrad på ett datorläsbait media för att utföra stegen i förfarandet när produkten körs på en dator.
Den stora fördelen med den föreliggande uppfinningen är att nyckeln alstras vid nodema som vill kommunicera med varandra och sålunda finns det inget behov av att distribuera nycklar.
Kort beskrivning av ritningarna Uppfinningen kommer att beskrivas nedan med hänvisning till de bifogade ritningarna, i vilka F ig. l är ett flödesschema som visar förfarandet för att alstra en krypterings- nyckel enligt den föreliggande uppfinningen, Fig. 2 är ett exempel på en nyckelalstringsfil som sänds från den centrala servern till nodema som vill kommunicera, Fig. 3 är ett exempel på en konstant som används för att alstra den första och den andra tillfälliga datauppsättningen, Fig. 4 är ett exempel på den första tillfälliga datauppsättningen i den första noden A och den andra tillfälliga datauppsättningen vid den andra noden B, Fig. 5 är ett exempel på en matchningsprocess mellan den första och den andra tillfälliga datauppsättningen och alstringen av en krypteringsnyckel för den andra noden B, och Fig. 6 är ett exempel på alstringen av en krypteringsnyckel för den första noden A. 10 15 20 25 30 35 534 384 Detaljerad beskrivning av uppfinningen Den föreliggande uppfinningen kommer nu att beskrivas i detalj med hjälp av olika utföringsfomier därav. Utföringsformerna skall ses som exempel och förklarande för att förstå den föreliggande uppfinningen och inte som begränsande.
Fig. 1 visar förfarandet för att alstra en krypteringsnyckel enligt den föreliggande uppfinningen. Det övergripande förfarandet exekveras av två noder A och B som vill sätta upp en säker kommunikation med varandra genom att använda en säker krypterings/dekrypteringsnyckel. Förfarandet exekveras vidare med hjälp av en central server 2. I Fig. 1 visas den första noden A på den vänstra sidan och den andra noden B på den högra sidan, dvs. det steg som utförs av den första noden A visas på den vänstra sidan av den streckade linjen och de steg som utförs av den andra noden B visas på den högra sidan av den streckade linjen. I praktiken kan den första noden A vara en dator vars användare vill påbörja en säker kommunikation med en dator, den andra noden B, hos sin bank. Vilket är uppenbart för fackmannen på området kan både den första noden A och den andra noden B kan vara någon kommunikationsanordning som vill kommunicera med någon annan.
Den centrala servern 2 kan vara någon kommunikationsanordning som är kapabel att motta och skicka data på ett säkert sätt med hjälp av någon typ av säkerhets- certifikat. För att en nod skall kunna använda nyckelalstringsförfarandet enligt den föreliggande uppfinningen måste noden vara auktoriserad att kommunicera med den centrala servem 2. Den centrala servem 2 håller sålunda reda på alla användare som är auktoriserade för att använda nyckelalstringsförfarandet. Såsom nämnts ovan kan kom- munikation mellan den centrala servem 2 och nodema eller vice versa göras säker genom att använda någon typ av säkerhetscertifikat. Företrädesvis används ett X509 certifikat eller liknande för den säkra kommunikationen.
F örfarandet för att alstra en krypteringsJdekrypteringsnyckel enligt den föreliggande uppfinningen kommer nu att beskrivas med hjälp av ett exempel.
Förfarandet börjar med att en nod, i detta exempel den första noden A, skickar en begäran till den centrala servem 2 för att sätta upp förbindelse med den andra noden B.
Den centrala servem 2 kontrollerar först om den första noden A är auktoriserad att kommunicera med den andra noden B och också om den andra noden B är auktoriserad att kommunicera med den centrala servem 2 och den första noden A. Om båda nodema är auktoriserade att starta kommunikation med varandra kommer den centrala servem 2 i gensvar på begäran från den första noden A att skicka en första nyckelalstringsfil till den första noden A och en andra nyckelalstringsfil till den andra noden B. 10 15 20 25 30 35 534 384 Fig. 2 visar ett exempel på en nyckelalstringsfil som sänds från den centrala servern till den första noden A och den andra noden B. Filen innefattar en bearbet- ningsfil som när den exekveras av den första noden A och andra noden B kommer att alstra krypterings/dekrypteringsnyckeln. Eñersom bearbetningen vid den första noden A och den andra noden B skiljer sig åt, vilket kommer att beskrivas nedan, skiljer sig bearbetningsfilen som skickas till den första noden A från den bearbetningsfilen som skickas till den andra noden B. Såsom framgår av Fig. 2 innefattar nyckelalstringsfilen också metadata M1, M2. .. Mn. Metadatat kan innehålla information som används för att alstra krypterings/dekrypteringsnyckeln och samma metadata kommer att skickas både till den första noden A och till den andra noden B. Exempel på metadata är en konstant som används för att alstra nycklama. Fig. 3 visar ett exempel på en sådan konstant som används för att alstra en första och en andra tillfällig datauppsättning som används under nyckelalstringen. Metadatat kan också innefatta en tidmärkning som används för att jämföra om de båda nyckelalstringsfilema har samma ursprung.
Metadatat kan vidare också innefatta information om den nyckellängd som skall användas eller vilka bitar hos nyckeln som skall användas för att alstra nyckeln.
Såsom är uppenbart för fackmannen på området så finns det en mängd annat metadata som kan användas för att ytterligare öka säkerheten hos nyckelalstringsprocessen.
När nyckelalstringsfilen har mottagits av den första noden A och den andra noden B, kommer varje nod att påbörja bearbetningen av filen. Nod A kommer först att alstra en första tillfällig datauppsättning och den andra noden B kommer att alstra en andra tillfällig datauppsättning genom att använda värdet på konstanten, såsom visas i Fig. 3. Konstanten innefattar i detta fall fyra binära bitar som hör ihop med en bokstav.
Längden hos konstanten kan variera godtyckligt och bitama som hör ihop därmed kan vara bokstäver, figurer, grekiska symboler etc.
Ett exempel på den första tillfälliga datauppsättningen för den första noden A och den andra tillfälliga datauppsättningen fór den andra noden B visas i Fig. 4. De tillfälliga datauppsättningarna alstras genom att använda någon typ av känd pseudoslurnptalsgenerator, med användning av sådana pseudoslumpalgoritmer såsom Blum Blum Shub, Fortuna eller Mersenne twister, för att alstra en godtycklig sekvens av i detta fall bokstävema A-D. Den slumpmässiga sekvensen av bokstäver visas i huvudet av den första och den andra tillfälliga datauppsättningen i Fig.4. För att alstra den tillfälliga datauppsättningen fastställs sekvensen hos bokstävema pseudoslump- mässigt och därefter kommer det korrekta tillhörande värdet till bokstävema tilldelas i överensstämmelse med konstanten i Fig. 3. Om tilldelningen resulterar i alstringen av 10 15 20 25 30 534 384 exempelvis endast nollor eller endast ettor för den tillfälliga datauppsättningen kommer detta resultat att filtreras bort och en ny slumpmässig sekvens kommer att alstras.
Eftersom både den första och den andra tillfälliga datauppsättningen alstras pseudoslumpmässigt kommer de aldrig att vara desamma. Längden hos de tillfälliga datauppsättningama i detta exempel är endast åtta bitar för att på ett enkelt sätt illustrera den föreliggande uppfinningen i ett exempel. I praktiken är emellertid längden hos de tillfälliga datauppsättningarna typiskt mellan 64 till 2048 bitar. Längden kan vara en del av metadatat såsom nämns ovan och kan sättas godtyckligt av den centrala servem 2 varje gång en ny begäran görs från en nod.
Efter alstringen av den första och den andra tillfälliga datauppsättningen kommer den första noden att skicka den första tillfälliga datauppsättningen till den andra noden B utan något skydd, dvs. publikt.
Den andra noden B kommer att jämföra den första och den andra tillfälliga datauppsättningen med varandra. Resultatet av denna järnförelse kallas Match 1 i tabellen som visas i F ig. 5. Värdet A och värdet B motsvarar den första respektive den andra tillfälliga datauppsättningen. Jämförelsen är en bit för bit jämförelse och resulterar i Sant om värdet för den första och den andra datauppsättningsbiten är lika och Falskt om de är olika. Resultatet, Match l, av jämförelsen används för att skapa en ny tredje tillfällig clatauppsättning, Värde 1, genom att sätta ett första värde om de jämförda bitama är lika och ett andra värde om de jämförda bitarna är olika. I detta fall används l när de jämförda bitarna är lika och 0 används om de jämförda bitarna är olika. Det bör emellertid förstås att det även kan vara tvärtom utan att man awiker från den föreliggande uppfinningen.
Den tredje tillfälliga datauppsättningen skickas sedan publikt från den andra noden B till den första noden A. Den första noden A alstrar sedan en första krypte- ringsnyckel baserad på en bit för bit jämförelse mellan den tredje och den första till- fälliga datauppsättningen genom att behålla värdet på biten hos den första dataupp- sättningen om motsvarande bit hos den tredje tillfälliga datauppsättningen är satt till det första värdet och ignorera biten hos den första tillfälliga datauppsättningen om mot- svarande bit hos den tredje tillfälliga datauppsättningen är satt till det andra värdet. I detta fall, såsom visas i Fig. 6, motsvarar det första värdet en 1 och det andra värdet en O. Såsom framgår av F ig. 6 innefattar nyckeln fyra bitar i stället för de ursprungliga åtta bitarna efiersom fyra bitar har ignorerats under alstringen av nyckeln. 10 15 20 25 30 35 534 384 10 Såsom nämnts ovan skickas både den första tillfälliga datauppsättningen och den tredje tillfälliga datauppsättningen publikt. Även om de skulle avlyssnas så finns det inget sätt fór en tredje part att alstra en nyckel genom användning av dessa data efiersom värdet hos en 1 i en tredje datauppsättning i verkligheten inte betyder värdet 1, utan endast att den första datauppsättningen och den andra datauppsättningen har samma värde. En l i den tredje datauppsättningen kan sålunda faktiskt betyda antingen en l eller en 0.
I nod B alstras den andra krypteringsnyckeln baserad på en bit för bit jäm- förelse mellan den första och den andra tillfälliga datauppsättningen, se F ig. 5, genom att behålla värdet på biten hos den andra datauppsättningen om den motsvarande hos den första tillfälliga datauppsättningen är lika och ignorera biten hos den andra tillfälliga datauppsättningen om de jämförda bitarna är olika. Såsom framgår av figur 5 och 6 är den första och den andra krypteringsnyckeln samma nycklar. Nycklama kan sedan användas för kryptering/dekryptering av information som sänds mellan den första noden A och den andra noden B. Varje känd krypteringsmetod kan användas tillsammans med nyckeln som alstras av förfarandet enligt den föreliggande uppfinningen. Den föreliggande uppfinningen är sålunda inte inriktad på hur krypteringen/dekrypteríngen görs men är i stället inriktad på hur krypteringsnycklama alstras. Den alstrade nyckeln kommer att vara giltig så länge som kommunikationen pågår mellan den första och den andra noden. När nyckeln har alstrats av den första noden A och den andra noden B, kommer nyckelalstringsfilema som mottas av den centrala servem att raderas i respektive nod.
Det övergripande förfarandet för den föreliggande uppfinningen har nu be- skrivits i detalj. Den föreliggande uppfinningen hänför sig emellertid också till ett för- farande för att alstra en kryptering/dekrypteringsnyckel vid den första noden A. Detta forfarande är en del av det övergripande förfarandet som beskrivits ovan och kommer därför endast att beskrivas kort. Förfarandet som exekveras av den första noden startar med att en begäran skickas till den centrala servem 2 för att sätta upp en säker kom- munikation med den andra noden B. Den första noden mottar sedan den första nyckel- alstringsfilen från den centrala servem och börjar bearbeta den. Detta kommer att alstra den första tillfälliga datauppsättningen, som såsom nämnts ovan skickas till den andra noden B.
Den forsta noden A kommer sedan att motta den tredje tillfälliga datauppsätt- ningen från den andra noden B och jämföra bitama hos den tredje tillfälliga datauppsätt- ningen med motsvarande bitar hos den första tillfälliga datauppsättningen. Den första 10 15 20 25 30 534 384 ll noden A kommer att alstra den första krypteringsnyckeln baserad på en bit för bit jämförelse mellan den tredje och den första tillfälliga datauppsättníngen genom att behålla värdet på biten hos den första datauppsättníngen om motsvarande bit hos den tredje tillfälliga datauppsättníngen är satt till det första värdet och ignorera biten hos den första tillfälliga datauppsättníngen om motsvarande bit hos den tredje tillfälliga data- uppsättníngen är satt till det andra värdet.
Också den andra noden B kommer att exekvera en del av det övergripande för- farandet, som nu kommer att beskrivas kort. Förfarandet för att alstra en krypterings- /dekrypteringsnyckel i den andra noden B börjar med att den andra noden B mottar den andra nyckelalstringsfilen från den centrala servem 2 och påbörjar bearbetning därav.
Detta kommer att alstra den andra tillfälliga datauppsättníngen. Den andra noden B kommer därefter att motta den första tillfälliga datauppsättníngen från den första noden A och jämföra bitarna hos den första tillfälliga datauppsättníngen med motsvarande bitar hos den andra tillfälliga datauppsättníngen. Därefter kommer den andra noden B att skapa en ny tredje tillfällig datauppsättning baserad på en bit för bit jämförelse mellan den första och den andra tillfälliga datauppsättníngen genom att sätta det första värdet om de jänrförda bitama är lika och det andra värdet om de jämförda bitama är olika. Den tredje tillfälliga datauppsättníngen skickas sedan till den första noden A.
Den andra noden B alstrar sedan den andra krypteringsnyckeln baserad på en bit för bit jämförelse mellan den första och den andra tillfälliga datauppsättníngen genom att behålla värdet för biten hos den andra datauppsättníngen om motsvarande bit hos den första tillfälliga datauppsättníngen är lika och ignorera biten hos den andra tillfälliga datauppsättníngen om den jämförda biten är olika.
Med förfarandet som beskrivits ovan är det sålunda möjligt att på ett enkelt och säkert sätt alstra krypteringsnycklar där de används, dvs. vid nodema. Detta är särskilt fördelaktigt eftersom behovet att distribuera nycklar inte längre finns. Nyckeln är av en- gångstyp och kommer att vara giltig endast för en kommunikationssession och så länge som den är aktiv. Nycklarna alstras vidare i två oberoende processer vid två separata noder. Även om det anses att det ovan beskrivna förfarandet är mycket säkert så kan säkerheten höjas ytterligare genom att använda metadata som bifogas nyckelalstrings- filen. Till exempel kan metadata fastställa att endast var tredje eller varannan bit av resultatet i nyckelalstringsprocessen skall användas som en nyckel. På liknande sätt kan metadata användas också för att fastställa att endast var tredje eller vararman bit skall 534 384 12 läsas när den första noden A och andra noden B kommunicerar med varandra under nyckelalstringsprocessen.
Det skall förstås att även om uppfinningen har beskrivits med hänvisning till föredragna utíöringsfonner så är inte uppfinningen begränsad till detta. Det finns många olika utfóringsforrner och varianter som likväl ligger inom uppfinningens omfattning som definieras bäst av de bifogade patentkraven.

Claims (15)

10 15 20 25 30 35 534 384 13 PATENTKRAV
1. Ett ßrfarande för att alstra en krypterings-/delcrypteringsnyckeL vilken är användbar för säker kommunikation mellan en första nod (A) och en andra nod (B), varvid förfarandet innefattar följande steg: skicka en begäran från den första noden (A) till en central server (2) för att sätta upp en förbindelse med den andra noden (B), skicka en första nyckelalstringsfil från den centrala servern (2) till den första noden (A) och en andra nyckelalstringsfil till den andra noden (B) i gensvar på begäran från den första noden (A), påbörja bearbetandet av den första nyckelalstringsfilen i den ßrsta noden (A) och den andra nyckelalstringsfilen i den andra noden (B), alstra en första tillfällig datauppsättning vid den ßrsta noden (A) och en andra tillfällig datauppsättning vid den andra noden (B), skicka den första tillfälliga datauppsättningen från den första noden (A) till den andra noden (B), jämföra bitarna i den första tillfälliga datauppsättningen med motsvarande bitar i den andra tillfälliga datauppsättningen, skapa en ny tredje tillfällig datauppsättning baserad på en bit för bit jämförelse mellan den första och den andra tillfälliga datauppsättningen genom att sätta ett första värde om de jämfórda bitarna är lika och ett andra värde om de jämförda bitama är olika, skicka den tredje tillfälliga datauppsättningen från den andra noden (B) till den första noden (A), jämßra bitarna hos den tredje tillfälliga datauppsättningen med motsvarande bitar hos den första tillfälliga datauppsättningen, alstra en första krypteringsnyekel baserad på en bit för bit jämförelse mellan den tredje och den första tillfälliga datauppsättningen genom att behålla värdet hos biten hos den första datauppsättningen om motsvarande bit hos den tredje tillfälliga datauppsättningen är satt till det första värdet och ignorera biten för den första tillfälliga datauppsätmingen om motsvarande bit hos den tredje tillfälliga datauppsättningen är satt till det andra värdet, alstra en andra krypteringsnyckel baserad på en bit fór bit jämförelse mellan den första och den andra tillfälliga datauppsättriingen genom att behålla värdet hos biten hos den andra datauppsätmingen om motsvarandet bit hos den ßrsta tillfälliga dataupp- sättningen är lika och ignorera biten hos den andra tillfälliga datauppsättningen om de 10 15 20 25 30 534 384 14 jämförda bitama är olika, varvid den första och den andra krypteringsnyckeln är desamma.
2. Ett ßrfarande enligt patentkrav 1, i vilket steget att skicka den första nyckelalstringsfilen till den första noden (A) och den andra nyckelalstringsfilen till den andra noden (B) också innefattar skickandet av metadata bifogat i respektive nyckel- alstringsfil.
3. Ett förfarande enligt patentkrav 2, i vilket metadatat innefattar en konstant som används för att alstra både den första och den andra krypteringsnyckeln.
4. Ett förfarande enligt patentkrav 2 eller 3, i vilket metadatat innefattar information om krypteringsnyckelns längd.
5. Ett förfarande enligt patentkrav 4, ytterligare innefattande steget att inom ett på förhand fastställt intervall slumpmässigt alstra krypteringsnyckelns längd.
6. Ett förfarande för att alstra en krypterings-/dekrypteringsnyckel i en första nod (A), vilken är användbar för säker kommunikation mellan den första noden (A) och en andra nod (B), varvid förfarandet innefattar stegen att skicka en begäran till en central server (2) för att sätta upp en förbindelse med den andra noden (B), motta en första nyckelalstringsfil från den centrala servern (2) i gensvar på begäran, bearbeta den första nyckelalstringsfilen, alstra en första tillfällig datauppsättning, skicka den första tillfälliga datauppsättningen till den andra noden (B), motta en tredje tillfällig datauppsättning från den andra noden (B), jämföra bitarna hos den tredje tillfälliga datauppsättningen med motsvarande bitar hos den första tillfälliga datauppsättningen, alstra en ñrsta krypteringsnyckel baserad på en bit för bit jämförelse mellan den tredje och den första tillfälliga datauppsättningen genom att behålla värdet i den första datauppsättningen om motsvarande bit i den tredje tillfälliga datauppsâttningen är satt till ett första värde och ignorera biten i den första tillfälliga datauppsättningen om motsvarande bit i den tredje tillfälliga datauppsättningen är satt till ett andra värde.
7. Ett förfarande enligt patentkrav 6, i vilket steget att motta den första nyckelalstringsfilen också innefattar mottagandet av metadata bifogat i filen.
8. Ett förfarande enligt patentkrav 7, i vilket metadatat innefattar en konstant som används för alstring av den första krypteringsnyckeln. 10 15 20 25 30 534 384 15
9. Ett förfarande enligt patentkrav 7 eller 8, i vilket metadatat innefattar infonnation om krypteringsnyckelns längd.
10. Ett ñrfarande för att alstra en krypterings-/delcrypteringsnyckel i en andra nod (B), vilken är användbar ñr säker kommunikation mellan en första nod (A) och den andra noden (B), varvid förfarandet innefattar stegen: att motta en andra nyckelalstringsfil fi-ån en central server (2) i gensvar på en begäran från den första noden (A) för att påbörja säker kommunikation mellan den första noden (A) och den andra noden (B), bearbeta den andra nyckelalstringsfilen, alstra en andra tillfällig datauppsättning, motta en första tillfällig datauppsättning från den första noden (A), jämföra bitama hos den första tillñlliga datauppsättningen med motsvarande bitar hos den andra tillfälliga datauppsättningen, skapa en ny tredje tillfällig datauppsättning baserad på en bit ßr bit jämförelse mellan den ßrsta och den andra tillfälliga datauppsättningen genom att sätta ett första värde om de jämßrda bitama är lika och ett andra värde om de jämförde bitama är olika, skicka den tredje tillfälliga datauppsättningen till den första noden (A), alstra en andra krypteringsnyckel baserad på en bit för bit jämförelse mellan den ßrsta och den andra tillfälliga datauppsättningen genom att behålla värdet hos biten för den andra datauppsättningen om motsvarande bit för den första tillfälliga dataupp- sättningen är lika och ignorera biten hos den andra tillfälliga datauppsättningen om de jämfórda bitama är olika.
11. Ett förfarande enligt patentkrav 10, i vilket steget att motta den andra nyckelalstringsfilen också innefattar mottagandet av metadata bifogat i filen.
12. Ett förfarande enligt patentkrav ll, i vilket metadatat innefattar en konstant som används ñr att alstra den andra krypteringsnyckeln.
13. Ett ßrfarande enligt patentkrav ll eller 12, i vilket metadatat innefattar information om krypteringsnyckelns längd.
14. Ett datorprogram innefattande kod för att utföra stegen enligt något av patentkraven l - 13, när programmet körs på en dator.
15. En datorprogramprodukt innefattande programkod lagrad i ett datorläsbart media för att utföra förfarandet enligt något av patentlcraven 1 - 13, när produkten körs på en dator.
SE0900918A 2009-07-03 2009-07-03 Förfarande för att alstra en krypterings-/dekrypteringsnyckel SE534384C2 (sv)

Priority Applications (24)

Application Number Priority Date Filing Date Title
SE0900918A SE534384C2 (sv) 2009-07-03 2009-07-03 Förfarande för att alstra en krypterings-/dekrypteringsnyckel
KR1020117015215A KR101747888B1 (ko) 2009-07-03 2010-07-05 암호화/복호화 키의 생성 방법
MX2012000104A MX2012000104A (es) 2009-07-03 2010-07-05 Metodo para generar una clave de encriptacion/desencriptacion.
AU2010266760A AU2010266760B2 (en) 2009-07-03 2010-07-05 Method for generating an encryption/decryption key
JP2012517459A JP2012532486A (ja) 2009-07-03 2010-07-05 暗号化/復号化キーを生成する方法
CA2747891A CA2747891C (en) 2009-07-03 2010-07-05 Method for generating an encryption/decryption key
SG2011090362A SG176707A1 (en) 2009-07-03 2010-07-05 Method for generating an encryption/decryption key
PL10794465T PL2361462T3 (pl) 2009-07-03 2010-07-05 Sposób generowania klucza szyfrującego/deszyfrującego
US13/129,682 US8433066B2 (en) 2009-07-03 2010-07-05 Method for generating an encryption/decryption key
EP10794465.4A EP2361462B1 (en) 2009-07-03 2010-07-05 Method for generating an encryption/decryption key
ES10794465.4T ES2566160T3 (es) 2009-07-03 2010-07-05 Método para generar una clave de cifrado/descifrado
CN201080003360.7A CN102227887B (zh) 2009-07-03 2010-07-05 生成加密/解密密钥的方法
BRPI1014192A BRPI1014192A2 (pt) 2009-07-03 2010-07-05 "método para gerar uma chave de criptografia/descriptografia"
NZ596935A NZ596935A (en) 2009-07-03 2010-07-05 Generating an encryption/decryption key by comparing data sets received from a central server
EG2012010007A EG26868A (en) 2009-07-03 2010-07-05 Method for generating an encryption/decryption key
EA201100887A EA019411B1 (ru) 2009-07-03 2010-07-05 Способ формирования шифровального/дешифровального ключа
DK10794465.4T DK2361462T3 (en) 2009-07-03 2010-07-05 METHOD FOR GENERATING an encryption / decryption
PCT/SE2010/050780 WO2011002412A1 (en) 2009-07-03 2010-07-05 Method for generating an encryption/decryption key
ZA2011/03163A ZA201103163B (en) 2009-07-03 2011-04-29 Method for generating an encryption/decryption key
HK11112317.8A HK1157972A1 (en) 2009-07-03 2011-11-15 Method for generating an encryption decryption key
IL216897A IL216897A (en) 2009-07-03 2011-12-11 Method to create an encrypted / decrypted key
JP2015001958A JP2015092745A (ja) 2009-07-03 2015-01-08 暗号化/復号化キーを生成する方法
CY20161100226T CY1117345T1 (el) 2009-07-03 2016-03-17 Μεθοδος για τη δημιουργια ενος κλειδιου κρυπτογραφησης/αποκρυπτογραφησης
JP2016191229A JP2017022773A (ja) 2009-07-03 2016-09-29 暗号化/復号化キーを生成する方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0900918A SE534384C2 (sv) 2009-07-03 2009-07-03 Förfarande för att alstra en krypterings-/dekrypteringsnyckel

Publications (2)

Publication Number Publication Date
SE0900918A1 SE0900918A1 (sv) 2011-01-04
SE534384C2 true SE534384C2 (sv) 2011-08-02

Family

ID=43411294

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0900918A SE534384C2 (sv) 2009-07-03 2009-07-03 Förfarande för att alstra en krypterings-/dekrypteringsnyckel

Country Status (21)

Country Link
US (1) US8433066B2 (sv)
EP (1) EP2361462B1 (sv)
JP (3) JP2012532486A (sv)
KR (1) KR101747888B1 (sv)
CN (1) CN102227887B (sv)
AU (1) AU2010266760B2 (sv)
BR (1) BRPI1014192A2 (sv)
CA (1) CA2747891C (sv)
DK (1) DK2361462T3 (sv)
EA (1) EA019411B1 (sv)
EG (1) EG26868A (sv)
ES (1) ES2566160T3 (sv)
HK (1) HK1157972A1 (sv)
IL (1) IL216897A (sv)
MX (1) MX2012000104A (sv)
NZ (1) NZ596935A (sv)
PL (1) PL2361462T3 (sv)
SE (1) SE534384C2 (sv)
SG (1) SG176707A1 (sv)
WO (1) WO2011002412A1 (sv)
ZA (1) ZA201103163B (sv)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103679495B (zh) * 2012-09-18 2018-08-10 星贝瑞有限公司 一种印花发放方法及系统
US10277559B2 (en) * 2014-05-21 2019-04-30 Excalibur Ip, Llc Methods and systems for data traffic control and encryption
SE538279C2 (sv) 2014-09-23 2016-04-19 Kelisec Ab Förfarande och system för att fastställa förekomst av
SE542460C2 (sv) 2014-10-09 2020-05-12 Kelisec Ab Improved security through authenticaton tokens
SE538304C2 (sv) 2014-10-09 2016-05-03 Kelisec Ab Improved installation of a terminal in a secure system
SE539602C2 (sv) 2014-10-09 2017-10-17 Kelisec Ab Generating a symmetric encryption key
SE540133C2 (sv) * 2014-10-09 2018-04-10 Kelisec Ab Improved system for establishing a secure communication channel
SE539271C2 (sv) 2014-10-09 2017-06-07 Kelisec Ab Mutual authentication
CN106161402B (zh) * 2015-04-22 2019-07-16 阿里巴巴集团控股有限公司 基于云环境的加密机密钥注入系统、方法及装置
US10397195B2 (en) 2015-07-17 2019-08-27 Robert Bosch Gmbh Method and system for shared key and message authentication over an insecure shared communication medium
DE102015219991A1 (de) * 2015-10-15 2017-04-20 Robert Bosch Gmbh Verfahren und Vorrichtung zum Etablieren eines gemeinsamen Geheimnisses
EP3373505A1 (en) * 2017-03-06 2018-09-12 Koninklijke Philips N.V. Device and method for sharing a matrix for use in a cryptographic protocol
US20200106787A1 (en) * 2018-10-01 2020-04-02 Global Data Sentinel, Inc. Data management operating system (dmos) analysis server for detecting and remediating cybersecurity threats
FR3104357B1 (fr) * 2019-12-04 2022-08-12 Sangle Ferriere Bruno Renouvellement de clés à usage unique
JP2023514736A (ja) * 2020-02-21 2023-04-07 エスディーエスイー ネットワークス インコーポレイテッド 安全な通信のための方法及びシステム
EP4189573A4 (en) * 2020-07-28 2024-08-14 Geneial LLC SECURE DATA EXCHANGE

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960086A (en) * 1995-11-02 1999-09-28 Tri-Strata Security, Inc. Unified end-to-end security methods and systems for operating on insecure networks
US20020159598A1 (en) 1997-10-31 2002-10-31 Keygen Corporation System and method of dynamic key generation for digital communications
US7043633B1 (en) * 2000-08-28 2006-05-09 Verizon Corporation Services Group Inc. Method and apparatus for providing adaptive self-synchronized dynamic address translation
IL144369A (en) * 2001-07-17 2009-06-15 Eli Yanovsky Secure communication system and method using shared random source for key changing
CN101288260A (zh) * 2005-01-27 2008-10-15 美商内数位科技公司 使用未由他人分享联合随机衍生秘钥方法及系统
JP5424008B2 (ja) * 2006-12-19 2014-02-26 日本電気株式会社 共有情報の管理方法およびシステム
GB2447674B (en) * 2007-03-21 2011-08-03 Lancaster University Generation of a cryptographic key from device motion

Also Published As

Publication number Publication date
EA019411B1 (ru) 2014-03-31
JP2017022773A (ja) 2017-01-26
CN102227887B (zh) 2014-07-09
ES2566160T3 (es) 2016-04-11
AU2010266760B2 (en) 2014-04-10
EP2361462A4 (en) 2011-11-23
US20120087495A1 (en) 2012-04-12
JP2015092745A (ja) 2015-05-14
MX2012000104A (es) 2012-06-25
WO2011002412A1 (en) 2011-01-06
EP2361462A1 (en) 2011-08-31
EG26868A (en) 2014-11-10
IL216897A0 (en) 2012-02-29
NZ596935A (en) 2013-02-22
BRPI1014192A2 (pt) 2016-10-25
EP2361462B1 (en) 2016-01-27
IL216897A (en) 2015-07-30
CN102227887A (zh) 2011-10-26
KR20120040127A (ko) 2012-04-26
CA2747891A1 (en) 2011-01-06
KR101747888B1 (ko) 2017-06-15
DK2361462T3 (en) 2016-02-15
JP2012532486A (ja) 2012-12-13
US8433066B2 (en) 2013-04-30
SE0900918A1 (sv) 2011-01-04
EA201100887A1 (ru) 2011-10-31
HK1157972A1 (en) 2012-07-06
ZA201103163B (en) 2012-08-29
AU2010266760A1 (en) 2011-01-06
SG176707A1 (en) 2012-01-30
PL2361462T3 (pl) 2016-06-30
CA2747891C (en) 2014-09-02

Similar Documents

Publication Publication Date Title
SE534384C2 (sv) Förfarande för att alstra en krypterings-/dekrypteringsnyckel
JP6528008B2 (ja) 秘密共有のための楕円曲線暗号化を利用したパーソナルデバイスセキュリティ
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
CN105468986B (zh) 一种保密信息检索方法及系统
CA2921740C (en) Enabling access to data
JP6950745B2 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム
CN101359991A (zh) 基于标识的公钥密码体制私钥托管系统
CN103414690A (zh) 一种可公开验证云端数据持有性校验方法
CN105763331A (zh) 一种数据加密方法和数据解密方法及装置
CN113711564A (zh) 用于加密数据的计算机实现的方法和系统
TW202002564A (zh) 資料加解密的方法及裝置
TW202025666A (zh) 用於共享公共秘密之電腦實施系統及方法
CN114760047A (zh) 一种量子密钥管理方法、装置及系统
CN113486324A (zh) 基于sm2算法实现三因素匿名身份认证的方法
CN106549757B (zh) Web服务的数据真伪识别方法、服务端和客户端
CN103117850A (zh) 一种基于随机序列数据库的密码系统
CN108933659A (zh) 一种智能电网的身份验证系统及验证方法
JP6270683B2 (ja) 暗号システム、暗号方法、普遍再暗号化鍵生成装置及び再暗号化鍵生成装置
CN107534552A (zh) 交易完整性密钥的分发和验证
KR101864213B1 (ko) 바이오 정보를 이용한 개인키 관리 장치 및 그 방법
Kumar et al. Hybridization of Cryptography for Security of Cloud Data
WO2023198036A1 (zh) 一种密钥生成方法、装置及设备
Sharma et al. Evaluation of an Enhanced Secure Quantum Communication Approach
Nagde et al. New Approach for Data Encryption using Two Way Crossover
Nagy et al. Technical Report No. 2007-531 Authenticated Quantum Key Distribution without Classical Communication

Legal Events

Date Code Title Description
NUG Patent has lapsed