SE526070C2 - Synchronizing method of communication session between e.g. enterprise and employees, involves performing handshake procedure to synchronize session counters of communication units by successively communicated signatures - Google Patents
Synchronizing method of communication session between e.g. enterprise and employees, involves performing handshake procedure to synchronize session counters of communication units by successively communicated signaturesInfo
- Publication number
- SE526070C2 SE526070C2 SE0302524A SE0302524A SE526070C2 SE 526070 C2 SE526070 C2 SE 526070C2 SE 0302524 A SE0302524 A SE 0302524A SE 0302524 A SE0302524 A SE 0302524A SE 526070 C2 SE526070 C2 SE 526070C2
- Authority
- SE
- Sweden
- Prior art keywords
- unit
- key
- session
- signature
- synchronization
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 90
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000001360 synchronised effect Effects 0.000 claims abstract description 27
- 230000015654 memory Effects 0.000 claims abstract description 24
- 230000005540 biological transmission Effects 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 25
- 238000012795 verification Methods 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000002085 persistent effect Effects 0.000 claims description 3
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 4
- PXHVJJICTQNCMI-UHFFFAOYSA-N Nickel Chemical compound [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H04L29/08576—
-
- H04L29/08621—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/12—Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
20 25 30 35 526 070 2 väldefinierade kommunicerande parter. Sådana miljöer är t.ex. företag och dess fältarbetare, bank och dess kunder, VPN, o.s.v. 20 25 30 35 526 070 2 well-defined communicating parties. Such environments are e.g. companies and their field workers, bank and its customers, VPN, etc.
Den internationella patentansökan nummer WO 01/74007 (införlivad häri genom referens) avslöjar en metod och ett system för krypterad transmission eller autenticitetskontroll mellan åtminstone två enheter via en osäker kommunikationskanal. Metoden innefattar stegen att i en initieringsprocedur erhålla ett gemensamt värde, erhålla ett gemensamt utgångsvärde för användning i respektive enhet, synkronisera ett räknarvärde i varje enhet; generera en nyckel baserad på utgångsvärdet och räknarvärdet i varje enhet oberoende av andra enheter; och använda således genererade nycklar i en efterföljande krypterad transmission eller autenticitetskontrollsoperation.International Patent Application No. WO 01/74007 (incorporated herein by reference) discloses a method and system for encrypted transmission or authentication between at least two devices via an insecure communication channel. The method includes the steps of obtaining a common value in an initialization procedure, obtaining a common initial value for use in each unit, synchronizing a counter value in each unit; generate a key based on the output value and the counter value in each unit independently of other units; and thus using generated keys in a subsequent encrypted transmission or authentication operation.
SKG kan implementeras som mjukvara eller hårdvara eller en kombination av de två.SKG can be implemented as software or hardware or a combination of the two.
SKG kan använda 160 bitars symmetriska nycklar. Det finns inget behov för en tredje förtroende verifierande part för kommunikationsuppsättningen. SKG kan implementeras som mjukvara på olika typer av hårdvaror eller endast som mjukvarulösning. Implementering som hårdvara tillhandahåller den högsta säkerhetsnivån. På grund av mjukvarans natur och dess "intrångsbarhet" kan en lösning endast baserad på mjukvara inte rekommenderas vid en klientnodposition.SKG can use 160 bit symmetric keys. There is no need for a third trust verifying party for the communication set. SKG can be implemented as software on different types of hardware or only as a software solution. Implementation as hardware provides the highest level of security. Due to the nature of the software and its "intrusiveness", a software-only solution may not be recommended at a client node location.
Emellertid är en mjukvaruserver skyddat på annat sätt och kan anses som en säker miljö.However, a software server is otherwise protected and can be considered a secure environment.
SKG har låga krav på bandbredd och hög säkerhet och är lämplig för handhållna trådlösa utrustningar (t.ex. PDA) och mobiltelefoner så väl som traditionella datorrelaterade utrustningar. Andra besläktade områden med stor potential är telematik och radiokommunikation ("Bluetooth"), WLAN (Wireless Local Area Network).SKG has low bandwidth requirements and high security and is suitable for handheld wireless equipment (eg PDA) and mobile phones as well as traditional computer-related equipment. Other related areas with great potential are telematics and radio communication ("Bluetooth"), WLAN (Wireless Local Area Network).
WO 03/026198 avser en sekvens av transmissioner krypterade som en uppsättning av efterföljare, där varje efterföljare har olika sessionsnycklar. Den sändande enheten avgör när varje ny sessionsnyckel ska verka och sänder denna schemalagda ny- nyckel-start-tiden till den mottagande anordningen. I en fördelaktig utföringsform sänder den sändande anordningen även en förberedd-ny-nyckel instruktion till den mottagande anordningen för att tillhandahålla en tillräcklig utföringstid för den mottagande anordningen för att beräkna den nya sessionsnyckeln. Varje ny nyckel genereras genom att använda en hash-funktion av en räknarindex och en uppsättning nycklar som bestämmes under en initial nyckelbytes session mellan den sändande och 10 15 20 25 30 35 526 070 3 mottagande anordningen. Räknarindexen ökas vid varje schemalagd ny-nyckel-start- tid, vilken producerar en ny sessionsnyckel.WO 03/026198 relates to a sequence of transmissions encrypted as a set of successors, each successor having different session keys. The sending unit determines when each new session key should operate and sends this scheduled new key start time to the receiving device. In an advantageous embodiment, the transmitting device also sends a prepared-new-key instruction to the receiving device to provide a sufficient execution time for the receiving device to calculate the new session key. Each new key is generated using a hash function of a counter index and a set of keys determined during an initial key exchange session between the transmitting and receiving device. The counter index is increased at each scheduled new key start time, which produces a new session key.
I US 6,377,692 förbereds två nycklar, vilka uppdateras i samma uppdateringscykel vid olika tider som signaturnycklar (huvudnyckel och extra nyckel) för elektronik signatur och uppdateringscykeln av varje nyckel för är delad i t.ex. tre perioder. De första och sista perioderna efter uppdateringen används för den extra nyckeln medan mellanperioden används för huvudnyckeln. Den elektroniska signaturen konfirmeras med endera två konfirmeringsnycklar, vilka uppdateras synkront med uppdatering av de två nycklar som användes som signaturnycklar. Detta eliminerar behovet av att stoppa utfärdandet av den elektroniska signaturen eller begränsning av ett serviceerbjudande vid uppdatering av signaturnycklar.US 6,377,692 prepares two keys, which are updated in the same update cycle at different times as signature keys (master key and extra key) for electronics signature and the update cycle of each key for is divided into e.g. three periods. The first and last periods after the update are used for the extra key while the intermediate period is used for the master key. The electronic signature is confirmed with either two confirmation keys, which are updated synchronously with updating of the two keys used as signature keys. This eliminates the need to stop the issuance of the electronic signature or restrict a service offer when updating signature keys.
Enligt US 20020110245 upprätthålles säkerhetsnyckelsynkroniseringen mellan noder i ett optiskt kommunikationssystem genom användning av den bandlösa signaleringen för att indikera att en ny nyckel används för att kryptera nästa informationsblock vid sändningspunkten och att den nya nyckeln borde användas för att dekryptera nästa informationsblock vid mottagningspunkten. En byt-till-ny-nyckel kod kan väljas av en grupp av oanvända koder i en åtta till tio bitars kodningsschema. Koden för byt-till-ny- nyckel kan ersätta en vilande kod som användes för att generera tillräckligt avstånd mellan informationsblocken. Mottagningen av koden för byt-till-ny-nyckel indikerar att den nya nyckeln användes för att kryptera nästa informationsblock vid sändningspunkten och triggar en byt-till-ny-nyckel för dekryptering av nästa informationsblock vid mottagningspunkten.According to US 20020110245, the security key synchronization between nodes in an optical communication system is maintained by using the bandless signaling to indicate that a new key is used to encrypt the next information block at the transmission point and that the new key should be used to decrypt the next information block at the reception point. A switch-to-new key code can be selected from a group of unused codes in an eight to ten bit encryption scheme. The change-to-new key code can replace a dormant code that was used to generate sufficient distance between the information blocks. The receipt of the switch-to-new key code indicates that the new key was used to encrypt the next information block at the transmission point and triggers a switch-to-new key to decrypt the next information block at the reception point.
Amerikanska patentpublikationen nr. 20030003896 visar utföranden innefattande en metod för synkronisering av ett kryptosystem. I ett utförande använder metoden existerande styrdata som sändes som en del av en uppkopplingsetableringsprocess i ett trådlöst kommunikationssystem. I ett utförande analyseras meddelanden som normalt sändes mellan en basstation och en fjärrenhet under uppställning av både utgående och terminerande samtal för att upptäcka ett visst styrmeddelande som indikerar början av telefoni datasändning. Detektering av detta meddelande indikerar en punkt där kryptering/dekryptering kan börja och användes för att synkronisera kryptosystemet. Synkronisering av ett kryptosystem involverar generering av ett RC4- tillståndsutrymme i ett nycklad-autonycklat ("KEK") krypteringssystem. I ett utförande används ett lägre mediums en accesskanal ("LMAC") meddelanden av ett lägre medium i enlighet med ett trådlöst kommunikationsprotokoll. Detta är lämpligt 10 15 20 25 30 35 526 070 4 eftersom LMAC meddelandet passeras genom samma "samhörande styrkanal" ("ACC") behandling som krypterar och dekrypterar telefonidatan.U.S. Patent Publication No. 20030003896 shows embodiments comprising a method for synchronizing a cryptosystem. In one embodiment, the method uses existing control data that is transmitted as part of a connection establishment process in a wireless communication system. In one embodiment, messages normally transmitted between a base station and a remote unit are analyzed while setting up both outgoing and terminating calls to detect a particular control message indicating the beginning of telephony data transmission. Detection of this message indicates a point where encryption / decryption can begin and be used to synchronize the cryptosystem. Synchronizing a cryptosystem involves the generation of an RC4 state space in a key-auto-key ("KEK") encryption system. In one embodiment, an access channel ("LMAC") of a lower medium uses a lower medium in accordance with a wireless communication protocol. This is convenient because the LMAC message is passed through the same "associated control channel" ("ACC") processing that encrypts and decrypts the telephony data.
Enligt WO 02/47319 innefattar ett kommunikationssystem vid ena änden av en kommunikationskanal en första chiffergenerator för generering av en succession av chiffrer, vilken generator innefattar en första slumptalsgenerator för generering av en sekvens av slumptal, varvid varje chiffer av succession av chiffrer baseras på respektive del av en sekvens av chiffrer baserade på respektive successiva del av en sekvens av slumptal, och en symmetrisk krypterare för kryptering av successiva mängder av en information för överföring till den andra änden av kanalen. Varvid varje mängd av informationen krypteras medelst respektive en av successionen av chiffrer. Vid den andra änden av kanalen inkluderar systemet en andra chiffergenerator för synkront generering med den första chiffergeneratorn samma succession av chiffrer som den första chiffergeneratorn, varvid den andra chiffergeneratorn innefattar en andra slumptalsgenerator för generering av samma sekvens av slumptal som den första slumptalsgeneratorn och symmetrisk dekryptor för dekryptering av krypterade successiva mängder av information mottagen från den ena änden av kanalen, varvid varje mängd av information krypteras genom användning av samma respektive en av succession av chiffrer som användes för att kryptera den medelst kryptorn vid ena änden av kanalen.According to WO 02/47319, a communication system at one end of a communication channel comprises a first cipher generator for generating a succession of ciphers, which generator comprises a first random number generator for generating a sequence of random numbers, each cipher of succession of ciphers being based on the respective part of a sequence of ciphers based on the respective successive part of a sequence of random numbers, and a symmetric encryptor for encrypting successive amounts of an information for transmission to the other end of the channel. Wherein each amount of the information is encrypted by means of each one of the succession of ciphers. At the other end of the channel, the system includes a second cipher generator for synchronous generation with the first cipher generator the same succession of ciphers as the first cipher generator, the second cipher generator comprising a second random number generator for generating the same sequence of random numbers as the first random number generator and symmetric decryptic decrypting encrypted successive amounts of information received from one end of the channel, each amount of information being encrypted using the same and one of succession of ciphers used to encrypt it by the encryptor at one end of the channel.
Alla de tidigare nämnda dokumenten visar olika typer av metoder för kommunicering av säker data inom uppfinningens tekniska område. De visar exempel på känd teknik, t.ex. användning av hash-algoritmer, synkroniserings nyckelgeneratorer, signaturlösningar, symmetriska nycklar och synkronisering i allmänhet. Emellertid motsvarar inga av dokumenten i helhet alla kännetecknen enligt föreliggande uppfinning.All the previously mentioned documents show different types of methods for communicating secure data within the technical field of the invention. They show examples of known technology, e.g. use of hash algorithms, synchronization key generators, signature solutions, symmetric keys and synchronization in general. However, none of the documents as a whole correspond to all the features of the present invention.
Sammanfattning av uppfinningen Föreliggande uppfinnings syfte är att tillhandahålla en effektiv metod medelst vilken synkronisering och autenticitetskontroll utföres huvudsakligen simultant. Andra ändamål är säker kommunikation utan behov av att sända information om den verkliga nyckel som användes.SUMMARY OF THE INVENTION The object of the present invention is to provide an efficient method by means of which synchronization and authentication are performed substantially simultaneously. Other purposes are secure communication without the need to send information about the real key used.
Således är det ett ändamål med uppfinningen att tillhandahålla synkroniseringsmetod som garanterar total synkroniserade noder samtidigt som utför autenticitetskontroll. 10 15 20 25 30 35 526 070 5 System SKG är idealiskt för upprätthållande av en hög säkerhetsnivå för autenticitet och kryptering för system i stängda miljöer, såsom BZB ("Business to Business"), VPN (”Virtual Private Network"), telematik, Internet tunnel o.s.v. Dess ringa storlek och låga bandbreddskrav gör det idealiskt för handdatorer ("PDA"), telekommunikation, WAP ("Wireless Application Protoco|”), radiokommunikationsenheter (Bluetooth), WLAN o.s.v. Att systemet är mycket lämpligt för dessa typer av applikationer gör det inte begränsat till dessa utan kan självklart även användas i större antal applikationer så som traditionell Internetsäkerhet.Thus, it is an object of the invention to provide a synchronization method which guarantees total synchronized nodes while performing authentication. 10 15 20 25 30 35 526 070 5 System SKG is ideal for maintaining a high level of security for authenticity and encryption for systems in closed environments, such as BZB ("Business to Business"), VPN ("Virtual Private Network"), telematics, Internet tunnel, etc. Its small size and low bandwidth requirements make it ideal for PDAs, telecommunications, WAP (Wireless Application Protoco |), radio communication devices (Bluetooth), WLANs, etc. The fact that the system is very suitable for these types of applications does not limit it to these, but can of course also be used in a larger number of applications such as traditional Internet security.
Av dessa skäl är en metod tillhandahållen för synkronisering av en kommunikationssession för krypterad överföring och/eller autenticitetskontroll mellan åtminstone två kommunicerande enheter, en första enhet och en andra enhet, varvid varje enhet innefattar en sessionsräknare via en kommunikationskanal. Metoden innefattar en handskakningsprocedur varmed synkronisering av sesslonsräknarna erhålles genom successivt kommunicerade signaturer mellan nämnda kommunicerande enheterna.For these reasons, a method is provided for synchronizing a communication session for encrypted transmission and / or authentication between at least two communicating units, a first unit and a second unit, each unit comprising a session counter via a communication channel. The method comprises a hand-shaking procedure whereby synchronization of the session counters is obtained by successively communicated signatures between said communicating units.
Företrädesvis genereras identiska och synkrona nycklar i fysiskt separerade platser utan att ange information om nycklarna online eller fristående. Initialt, initieras varje enhet med ett gemensamt frö, en nyckel för synkronisering. Den gemensamma nyckeln används endast i ett initialt steg och kan ersättas när som helst, t.ex. om den förstörs.Preferably, identical and synchronous keys are generated in physically separated locations without providing information about the keys online or stand-alone. Initially, each device is initialized with a common seed, a key for synchronization. The common key is used only in an initial step and can be replaced at any time, e.g. if it is destroyed.
Metoden innefattar ytterliggare steg: a. den första enheten initierar kommunikationen genom att sända en datauppsättning innefattande nämnda första enhets identitet, en aktuell sessionsräknare och en första signatur till nämnda andra enhet, b. mottagning av data av den andra enheten, c. verifiering av nämnda signatur för att utföra synkroniseringen, d. hämtning av nämnda första signatur av den andra enheten och sändning av dess identitet, en andra sessionsräknare och nämnda första signatur, e. verifiering av den första signaturen från den andra enheten av den första enheten, f. utföra en synkronisering medelst den första enheten, g. erhållande av en nu nyckel för kryptering medelst den första enheten, om båda enheterna är synkroniserade, h. generering av en ny signatur medelst den första enheten och tillhandahållande av den till den andra enheten, i. verifiering medelst den andra enheten av nämnda andra signatur, och j. generering av en ny nyckel medelst den andra enheten vid positiv verifikation av nämnda andra signatur.The method comprises further steps: a. The first unit initiates the communication by sending a data set comprising said first unit identity, a current session counter and a first signature to said second unit, b. Receiving data of the second unit, c. Verifying said signature to perform the synchronization, d. retrieving said first signature of the second device and sending its identity, a second session counter and said first signature, e. verifying the first signature from the second device of the first device, f. performing a synchronization by the first device, g. obtaining a now key for encryption by the first device, if both devices are synchronized, h. generating a new signature by the first device and providing it to the second device, i. verification by means of the second unit of said second signature, and j. generating a new key by means of the second unit in case of positive ve verification of said second signature.
Företrädesvis krypterar nämnda första enhet data och sänder data efter steg h och 10 15 20 25 30 35 526 070 6 nämnda andra enhet avkodar data erhållen från den första enheten efter steg j.Preferably, said first unit encrypts data and transmits data after step h and said second unit decodes data obtained from the first unit after step j.
Företrädesvis men inte exklusivt genereras signaturerna som ett HASH-värde av vilken storlek som helst. Signaturerna genereras genom att använda en eller flera av algoritmerna SHA-1, SHA-256 MDS etc. En nyckel återanvänds aldrig genom att komma överens om vilken enhet som har nyckeln med högsta index och använda denna nyckel som en bas för beräkning av nästa sessionsnyckel.Preferably but not exclusively, the signatures are generated as a HASH value of any size. The signatures are generated using one or more of the algorithms SHA-1, SHA-256 MDS etc. A key is never reused by agreeing on which device has the key with the highest index and using this key as a basis for calculating the next session key.
Uppfinningen avser även ett kommunikationsnätverk innefattande åtminstone två kommunicerande enheter kommunicerande via en kommunikationskanal, varje enhet innefattande medel för synkronisering av en kommunikationssession för krypterad överföring och/eller autenticitetskontroll mellan nämnda åtminstone två kommunicerande enheterna, en första enhet och en andra enhet. Varje enhet innefattar medel för en handskakningsprocedur varmed en signatur och en synkroniseringsprocedur utföres genom successivt kommunicerade signaturer mellan nämnda kommunicerande enheterna.The invention also relates to a communication network comprising at least two communicating units communicating via a communication channel, each unit comprising means for synchronizing a communication session for encrypted transmission and / or authentication between the at least two communicating units, a first unit and a second unit. Each unit comprises means for a handshake procedure whereby a signature and a synchronization procedure are performed by successively communicated signatures between said communicating units.
Medlen kan innefatta ett icke-manipulerbart område, ett applikationskodsminne, en processorenhet och ett minne för sessionsnyckel lagring. Medlen består av ett smartkort, mjukvaruapplikation, en USB-nyckel, Bluetooth-enhet, radioenhet, WLAN eller en biometrisk enhet. I den mest föredragna utföringen innefattar mjukvaruapplikation en krypterad datauppsättning innefattande en nyckelmotor och register.The means may include a non-manipulable area, an application code memory, a processor unit and a session key storage memory. The means consists of a smart card, software application, a USB key, Bluetooth device, radio device, WLAN or a biometric device. In the most preferred embodiment, the software application comprises an encrypted data set comprising a key engine and register.
Dessutom hanterar nämnda medel fler än en nyckelgenerator, var och en fungerande som en separat kommunikationskanal.In addition, said means handles more than one key generator, each acting as a separate communication channel.
Uppfinningen avser även ett arrangemang för hantering av en synkron nyckelgenerator (SKG), vilket arrangemang kan användas som en gemensam åtkomstspunkt för flera synkrona nyckelgeneratorer installerade i ett system för synkronisering av en kommunikationssession för krypterad överföring och/eller autenticitetskontroll mellan åtminstone två kommunicerande enheter, en första enhet och en andra enhet, var och en innefattande en sessionsräknare, varvid arrangemanget innefattar åtminstone ett kommunikationsgränssnitt med en viss typ av SKG~enhet, varvid varje enhet innefattar medel för initiering av en handskakningsprocedur varmed synkronisering av sessionsräknarna erhålles genom successivt kommunicering av signaturer mellan nämnda kommunicerande enheter. 10 15 20 25 30 35 526 070 7 Företrädesvis använder en applikation nämnda arrangemang genom att ladda en drivrutin. Hanteringsarrangernanget hanterar ett antal moduler, vilka representerar olika typer av enheter. Varje SKG-enhet innefattar en nyckelgenerator. Företrädesvis är en enhet en av ett smartkort, en USB-nyckel, en fil på en disk eller en databastabell eller andra minnesbaserade enheter.The invention also relates to an arrangement for handling a synchronous key generator (SKG), which arrangement can be used as a common access point for several synchronous key generators installed in a system for synchronizing a communication session for encrypted transmission and / or authentication between at least two communicating units, a first unit and a second unit, each comprising a session counter, the arrangement comprising at least one communication interface with a certain type of SKG ~ unit, each unit comprising means for initiating a handshake procedure whereby synchronization of the session counters is obtained by successively communicating signatures between said communicating units. Preferably, an application uses said arrangement by loading a driver. The management arrangement handles a number of modules, which represent different types of devices. Each SKG unit includes a key generator. Preferably, a device is one of a smart card, a USB key, a file on a disk or a database table or other memory based devices.
Företrädesvis innefattar en enhet olika gränssnitt: ett accessgränssnitt, innefattande funktioner för formatering, in-/utloggning, låsning av enhet, ett SKG-gränssnitt innehållande funktioner som hanterar nyckelgeneratorer såsom allokering, initiering, generering och synkronisering, ett registreringsgränssnitt implementerande ett register som används för applikationer för att säkert lagra och återhämta konfiguration och andra typer av beständig data i SKG-enheten, och ett kryptogränssnitt tillhandahållande funktionaliteten för användning av genererade nycklar i kryptering och dekryptering av datablock och även generering av kryptografiskt säkra slumptal. En SKG-enhet stödjer ett åtkomstsgränssnitt och SKG- gränssnitt.Preferably, a device comprises different interfaces: an access interface, including functions for formatting, logging in / logging out, locking the device, a SKG interface containing functions that handle key generators such as allocation, initialization, generation and synchronization, a registration interface implementing a register used for applications for securely storing and retrieving configuration and other types of persistent data in the SKG device, and a crypto interface providing the functionality for using generated keys in encrypting and decrypting data blocks and also generating cryptographically secure random numbers. A SKG device supports an access interface and SKG interface.
Dessutom avser uppfinningen en metod för synkronisering av en kommunikationssession för krypterad överföring och/eller autenticitetskontroll genom användning av ett arrangemang, innefattande stegen: ett första huvudsteg av initiering från den första enheten, ett andra huvudsteg av verifiering av nämnda andra enhet, ett tredje huvudsteg av verifiering av nämnda första enhet, och ett fjärde huvudsteg av komplettering av synkronisering i nämnda andra enhet.In addition, the invention relates to a method for synchronizing a communication session for encrypted transmission and / or authentication by using an arrangement, comprising the steps: a first main step of initialization from the first unit, a second main step of verification of said second unit, a third main step of verifying said first device, and a fourth main step of completing synchronization in said second device.
Nämnda första steg innefattar dessutom: definiering av en första nyckelgeneratoridentitet (SID) genom den första enheten, generera med den första enheten en första signatur, överföra med den fösta enheten nämnda nyckelgeneratoridentitet och nämnda första signatur till den andra enheten.Said first step further comprises: defining a first key generator identity (SID) by the first unit, generating with the first unit a first signature, transmitting with the first unit said key generator identity and said first signature to the second unit.
Företrädesvis lagras nämnda nyckelgeneratoridentitet i ett enhetsregister eller en lokal databas.Preferably, said key generator identity is stored in a device register or a local database.
Nämnda andra huvudsteg innefattar dessutom: mottaga nämnda nyckelgeneratoridentitet och första signatur av den andra enheten, hitta en nyckelgenerator medelst den andra enheten initierad av den fösta nyckelgeneratoridentiteten, verifiera nämnda första signatur, om verifikationen misslyckas avbryta synkroniseringen och återgå till sitt ursprungliga läge, 10 15 20 25 30 35 526 070 8 om verifikationen lyckas synkronisera nyckelgeneratorn i den andra enheten, generera en första signatur med den andra enheten och sända den tillsammans med en andra nyckelgeneratoridentifierare till nämnda första enhet.Said second main step further comprises: receiving said key generator identity and first signature of the second unit, finding a key generator by means of the second unit initiated by the first key generator identity, verifying said first signature, if the verification fails to interrupt the synchronization, and return to its original position. If the verification succeeds in synchronizing the key generator in the second unit, generating a first signature with the second unit and sending it together with a second key generator identifier to said first unit.
I ovan steg undersökes alla kända moduler och enheter av den andra enheten tills en matchande nyckelgeneratoridentitet hittas. En funktion anropas för att hitta en identitet i ett SKG hanterargränssnitt och ett resultat cachas och används som en referens till alla vidare anrop under sessionen.In the above steps, all known modules and devices are examined by the other device until a matching key generator identity is found. A function is called to find an identity in a SKG handler interface and a result is cached and used as a reference for all further calls during the session.
Metoden innefattar dessutom eftersökning i lokala enheter för en nyckelgenerator kopplad med en specifik fjärridentitet.The method also includes searching local units for a key generator coupled with a specific remote identity.
Det tredje steget innefattar dessutom: a. mottagning med den första enheten SID och den andra signaturen genererad i den andra enheten, b. verifiera och synkronisera med den första enheten dess nyckelgenerator om verifikationen lyckas, c. generera en nästa sessionsnyckel med den första enheten, d. generera en andra signatur med den första enheten, och e. sända resultatet till nämnda andra enhet.The third step further comprises: a. Receiving with the first unit SID and the second signature generated in the second unit, b. Verifying and synchronizing with the first unit its key generator if the verification is successful, c. Generating a next session key with the first unit, d. generate a second signature with the first device, and e. send the result to said second device.
I steg e startar den första enheten användning av sessionsnyckeln och sänder krypterad data.In step e, the first device starts using the session key and sends encrypted data.
Det fjärde huvudsteget innefattar dessutom: mottaga med den andra enheten nämnda andra signatur, verifiera nämnda andra signatur, hämta en nästa nyckel från nämnda nyckelgenerator och använda den som sessionsnyckel, och använda sessionsnyckeln för kryptering.The fourth main step further comprises: receiving with the second device said second signature, verifying said second signature, retrieving a next key from said key generator and using it as a session key, and using the session key for encryption.
Uppfinningen avser även en metod för synkronisering av en kommunikationssession för krypterad överföring och/eller autenticitetskontroll mellan åtminstone två enheter via en osäker kommunikationskanal, innefattande stegen att: i en initieringsprocedur erhålla en gemensam utgångsvärde för att användas i respektive enhet, en handskakningsprocedur varmed en synkronisering uppnås genom successivt kommunicerade signaturer mellan nämnda kommunicerande enheter, generera en nyckel baserad på utgångsvärdet (frö), nuvarande nyckel och sessionsräknarvärde i varje enhet, oberoende av andra enheter, och öka sessionsräknaren med ett tal, använda således generade nycklar i nästa krypterade överföring och/eller autenticitetskontroll. Enligt detta utförande lagras utgångsvärdet på ett dynamiskt och utbytbart sätt åtminstone i en av enheterna och företrädesvis i alla enheterna.The invention also relates to a method for synchronizing a communication session for encrypted transmission and / or authentication control between at least two units via an insecure communication channel, comprising the steps of: in an initialization procedure obtaining a common initial value for use in each unit, a handshake procedure with which a synchronization is performed. by successively communicating signatures between said communicating units, generate a key based on the output value (seed), current key and session counter value in each unit, independently of other units, and increase the session counter by a number, thus using generated keys in the next encrypted transmission and / or authentication. According to this embodiment, the initial value is stored in a dynamic and interchangeable manner in at least one of the units and preferably in all the units.
Räknarvärdet genereras i en räknare i varje enhet, varvid synkronisering av 10 15 20 25 30 35 526 070 9 räknarvärdet innefattar synkronisering av räknarna. Efter initieringssynkroniseringen av räknarna exekverar enheterna extra synkroniseringssteg endast vid behov.The counter value is generated in a counter in each unit, wherein synchronization of the counter value includes synchronization of the counters. After the initial synchronization of the counters, the devices execute additional synchronization steps only when needed.
Uppfinningen avser även ett datorprogram för synkronisering av en kommunikationssession för krypterad överföring och/elier autenticitetskontroll mellan åtminstone två kommunicerande enheter, en första enhet och en andra enhet, varvid varje enhet innefattar en sessionsräknare via en kommunikationskanal, vilket datorprogram innefattar en uppsättning instruktioner för en handskakningsprocedur, en uppsättning instruktioner för synkronisering av sessionsräknarna erhållna genom successivt kommunicerade signaturer mellan nämnda kommunicerande enheterna.The invention also relates to a computer program for synchronizing a communication session for encrypted transmission and / or authentication between at least two communicating units, a first unit and a second unit, each unit comprising a session counter via a communication channel, which computer program comprises a set of instructions for a handshake procedure , a set of instructions for synchronizing the session counters obtained by successively communicated signatures between said communicating units.
En andra aspekt av uppfinningen avser ett minne för användning i ett system för synkronisering av en kommunikationssession för krypterad överföring och/eller autenticitetskontroll mellan åtminstone två kommunicerande enheter, en första enhet och en andra enhet, varvid varje enhet innefattar en sessionsräknare via en kommunikationskanal, vilket minne innefattar en datastruktur för en handskakningsprocedur, en datastruktur för synkronisering av sessionsräknarna erhållna genom successivt kommunicerade signaturer mellan nämnda kommunicerande enheterna.A second aspect of the invention relates to a memory for use in a system for synchronizing a communication session for encrypted transmission and / or authentication between at least two communicating units, a first unit and a second unit, each unit comprising a session counter via a communication channel, which memory comprises a data structure for a handshake procedure, a data structure for synchronizing the session counters obtained by successively communicated signatures between said communicating units.
Uppfinningen avser även ett datorprogram läsbart medium lagrad därpå ett Applikations Program Interface (API) för synkronisering av en kommunikationssession för krypterad överföring och/eller autenticitetskontroll mellan åtminstone två kommunicerande enheter, en första enhet och en andra enhet, varvid varje enhet innefattar en sessionsräknare via en kommunikationskanal, vilket medium innefattar en uppsättning instruktioner för en handskakningsprocedur, en uppsättning instruktioner för synkronisering av sessionsräknarna erhållna genom successivt kommunicerade signaturer mellan nämnda kommunicerande enheterna.The invention also relates to a computer program readable medium stored thereon, an Application Program Interface (API) for synchronizing a communication session for encrypted transmission and / or authentication between at least two communicating units, a first unit and a second unit, each unit comprising a session counter via a communication channel, which medium comprises a set of instructions for a handshake procedure, a set of instructions for synchronizing the session counters obtained by successively communicated signatures between said communicating units.
Uppfinningen avser även en metod för en nätverksenhet för att synkronisera en kommunikationssession för krypterad överföring och/eller autenticitetskontroll med en andra enhet varje enhet innefattande en sessionsräknare, via en kommunikationskanal, vilken metod innefattar en handskakningsprocedur för synkronisering av sessionsräknarna erhållen genom successivt kommunicerade signaturer mellan nämnda kommunicerande enheterna. 10 15 20 25 30 35 526 070 10 Kort beskrivning av ritningarna I det följande kommer uppfinningen att beskrivas med hänvisning till de bifogade schematiska ritningarna som åskådliggör de föredragna utföringsformerna på ett icke- begränsande sätt: Fig. 1 visar ett diagram som illustrerar synkroniseringen mellan två noder i ett kommunikationsnätverk implementerande föreliggande uppfinning, Fig. 2 visar en schematisk illustration av meddelandeöverföringen mellan noderna i Fig. 1, Fig. 3 visar synkroniseringsstegen i noderna A och B i Fig. 1, Fig. 4 visar ett blockdiagram av ett smartkort, som använder uppfinningens läror, Fig. 5 visar ett annat kommunikationsnätverk implementerande föreliggande uppfinning, Fig. 6 visar ett hierarkiskt blockdiagram över ett kontrollsystem enligt föreliggande uppfinning, Fig. 7 visar ett blockdiagram över en gränssnittsenhet implementerande uppfinningen, Fig. 8 visar synkroniseringsstegen i noderna A och B i Fig. 1 i relation till styrsystemet, och Fig. 9 visar schematiskt ett system som använder föreliggande uppfinning.The invention also relates to a method for a network unit for synchronizing a communication session for encrypted transmission and / or authentication control with a second unit each unit comprising a session counter, via a communication channel, which method comprises a handshake procedure for synchronizing the session counters obtained by successive communication. communicating units. BRIEF DESCRIPTION OF THE DRAWINGS In the following, the invention will be described with reference to the accompanying schematic drawings which illustrate the preferred embodiments in a non-limiting manner: Fig. 1 shows a diagram illustrating the synchronization between two nodes in a communication network implementing the present invention, Fig. 2 shows a schematic illustration of the message transmission between the nodes in Fig. 1, Fig. 3 shows the synchronization steps in nodes A and B in Fig. 1, Fig. 4 shows a block diagram of a smart card, which uses the teachings of the invention, Fig. 5 shows another communication network implementing the present invention, Fig. 6 shows a hierarchical block diagram of a control system according to the present invention, Fig. 7 shows a block diagram of an interface unit implementing the invention, Fig. 8 shows the synchronization steps in nodes A and B in Fig. 1 in relation to the control system, and Fig. 9 show is schematically a system utilizing the present invention.
Detaljerad beskrivning av de föredragna utföringsformerna Traditionellt används i regel någon sort av klocka för att synkronisera två oberoende noder med kunskap om att klockan alltid måste vara synkroniserad. För att lösa besvären med liknande problem tillhandahåller uppfinningen en "handskakningsmetod". Varje uppstart av en ny kommunikationssession innebär en handskakningsprocess enligt uppfinningen för att verifiera att kommunikationen är delvis det som det antas vara (korrekt signatur) och att samma nyckel genereras på varje sida. Om alla parametrar är korrekta genereras en ny nyckel för användning annars utföres inte kommunikationen.Detailed description of the preferred embodiments Traditionally, some kind of clock is usually used to synchronize two independent nodes with the knowledge that the clock must always be synchronized. To solve the problems with similar problems, the invention provides a "handshake method". Each start of a new communication session involves a handshake process according to the invention to verify that the communication is in part what it is assumed to be (correct signature) and that the same key is generated on each page. If all parameters are correct, a new key is generated for use, otherwise the communication is not performed.
Enligt uppfinningen är nycklarna algoritmiskt genererade med hjälp av vida accepterade och testade säkra HASH-algoritmer, såsom SHA-1, FIPS 180-1, för att säkerställa högsta säkerhet i systemet. 10 15 20 25 30 35 526 070 11 Fig. 1 visar ett nyckeltransaktionsflöde mellan två noder A och B. Dessa noder genererar nycklarna 0-n, där n är ett heltal, och sänder data krypterad med den skapade nyckeln. När en kommunikationssession startar måste man vara säker att nyckelgeneratorerna på båda sidorna är synkroniserade, d.v.s. de kommer att generera samma nyckel.According to the invention, the keys are algorithmically generated using widely accepted and tested secure HASH algorithms, such as SHA-1, FIPS 180-1, to ensure maximum security in the system. Fig. 1 shows a key transaction flow between two nodes A and B. These nodes generate the keys 0-n, where n is an integer, and send data encrypted with the created key. When a communication session starts, one must be sure that the key generators on both sides are synchronized, i.e. they will generate the same key.
Vilken krypteringsmetod som helst kan användas eftersom SKG är endast en nyckelgenerator och - hanterare. Nyckel anropas medelst ett kommando, här kallat GetKey, t.ex. till ett API ("Application Protocol Interface").Any encryption method can be used because SKG is only a key generator and handler. Key is called by means of a command, here called GetKey, e.g. to an API ("Application Protocol Interface").
Fig. 2 visar hur synkroniseringen utförs när t.ex. nod A initierar kommunikationen.Fig. 2 shows how the synchronization is performed when e.g. node A initiates the communication.
SKG måste initieras med en gemensam nyckel (frö) för synkroniseringen enligt föreliggande uppfinning. Detta frö används endast i början och kan ersättas när helst men kan inte nås av en utomstående, t.ex. genom begränsningar att accessa hårdvaran.SKG must be initiated with a common key (seed) for the synchronization according to the present invention. This seed is used only in the beginning and can be replaced at any time but can not be reached by an outsider, e.g. through restrictions on accessing the hardware.
Synkroniseringen enligt uppfinningen är en metod som använder signaturer för att garantera synkronisering av sessionsräknarna X och Y. A' och B' är SIDn (unik identitet) för varje sida. Funktionen S(KAB) och R(K) är signaturgeneratorfunktioner som beskrivs nedan.The synchronization according to the invention is a method that uses signatures to guarantee synchronization of the session counters X and Y. A 'and B' are the SID (unique identity) for each page. Functions S (KAB) and R (K) are signature generator functions described below.
Synkroniseringsprocessens syfte är att garantera att en nyckel aldrig används genom att komma överens vilken sida, A eller B, som har nyckeln med det högsta Indexet och använda denna nyckel som en bas för beräkning av nästa sessionsnyckel. I Fig. 2: 1. A genererar ett meddelande [A'XS(KxA'B')] bestående av A's identitet "A"' sammanlänkad med A's nyckelindex ”X” sammanlänkad med ett hashvärde "S". S-värdet beräknas genom att hasha nyckeln "Kx" med index "X" sammanlänkat med A's identitet ”A"' och B's identitet "B”'. Meddelandet sändes till B. 2. B mottager meddelandet och jämför det med sitt nyckelindex Y med det mottagna X. Om X är större än Y, vet B att den måste generera nycklar upp till index X för att vara synkroniserad. Om X är mindre eller lika med Y, vet B att A måste generera nycklar upp till index Y. S-värdet kan beräknas av B och jämföras med det avsända S-värdet. Om S-värden är lika kan B vara säkert på kravet att A's nuvarande nyckelindex är X, eftersom endast A och B kan genera det rätta S-värdet för en viss nyckel. Om inte, avbrytes synkroniseringsprocessen och B återvänder till dess originella första nyckel Ky. 10 15 20 25 30 35 526 070 12 3. B genererar nu nycklar upp till index X om X var större än Y och därmed etablerar att Y är större eller lika med X. Meddelandet [B'YS(KyB'A')] bestående av B's identitet "B"' sammanlänkat med B's nyckelindex ”Y” sammanlänkat med ett hash-värde "S" genereras. S-värdet beräknas genom hashning av nyckeln ”Ky” med index Y sammanlänkat med B's identitet "B"' och A's identitet Detta meddelande sändes sedan tillbaka till A. 4. A mottager meddelandet och jämför det med sitt nyckelindex X med det mottagna Y. Om A's nyckelindex X är mindre än Y måste A då generera nycklar upp till index Y och därmed etablera ett nyckelindex där X är lika med Y. Detta utföres endast om det mottagna S-värdet kan jämföras med det genererade S- värdet och därmed bekräfta att B's krav att vara vid nyckelindex Y is korrekt. 5. Här är A och B vid samma nyckelindex. A kan generera nästa nyckel (Kx där indexet X ökas med 1), som kommer att användas som sessionsnyckel. Ett R- värde beräknas genom hashning av nyligen genererade nyckel och sändes till B (valfritt tillsammans med det första meddelandet, DO, krypterad med den nya nyckeln genom att använda funktionen Ckx(D0)). Meddelandet [R(Kx)Ckx(D0)] sändes till B. 6. B mottager R-värdet, genererar nästa nyckel och beräknar dess R-värde. R- värdet jämföres och om lika, behåller B detta tillstånd (nyckelindex) i des nyckelgenerator och kan nu avkoda det första meddelandet. Om R-värdet skiljer sig finns då ett fel och hela processen avbrytes och B återgår till dess ursprungliga första nyckel Ky.The purpose of the synchronization process is to ensure that a key is never used by agreeing on which side, A or B, has the key with the highest Index and using this key as a basis for calculating the next session key. In Fig. 2: 1. A generates a message [A'XS (KxA'B ')] consisting of A's identity "A"' linked to A's key index "X" linked to a hash value "S". The S-value is calculated by hashing the key "Kx" with index "X" linked to A's identity "A" 'and B's identity "B"'. The message is sent to B. 2. B receives the message and compares it with its key index Y with the received X. If X is greater than Y, B knows that it must generate keys up to index X in order to be synchronized. If X is less than or equal to Y, B knows that A must generate keys up to index Y. The S value can be calculated by B and compared with the sent S value. If S-values are equal, B can be sure of the requirement that A's current key index is X, since only A and B can generate the correct S-value for a certain key. If not, the synchronization process is interrupted and B returns to its original first key Ky. 10 15 20 25 30 35 526 070 12 3. B now generates keys up to index X if X was greater than Y and thus establishes that Y is greater than or equal to X. The message [B'YS (KyB'A ')] consisting of B's identity "B" 'linked to B's key index "Y" linked to a hash value "S" is generated. The S-value is calculated by hashing the key "Ky" with index Y linked to B's identity "B" 'and A's identity. This message is then sent back to A. 4. A receives the message and compares it with its key index X with the received Y. If A's key index X is less than Y, A must then generate keys up to index Y and thereby establish a key index where X is equal to Y. This is done only if the received S-value can be compared with the generated S-value and thus confirm that B's requirement to be at key index Y is correct. 5. Here are A and B at the same key index. A can generate the next key (Kx where the index X is increased by 1), which will be used as the session key. An R-value is calculated by hashing a newly generated key and sent to B (optionally together with the first message, DO, encrypted with the new key using the Ckx (D0) function). The message [R (Kx) Ckx (D0)] is sent to B. 6. B receives the R-value, generates the next key and calculates its R-value. The R-value is compared and if equal, B retains this state (key index) in its key generator and can now decode the first message. If the R-value differs then an error occurs and the whole process is interrupted and B returns to its original first key Ky.
Följande är ett exempel, som visas med hänvisning till Fig. 3, illustrerande synkroniseringsmetoden enligt uppfinningen: ø Sida A initierar kommunikationen genom att sända sin identitet A' (SID), nuvarande sessionsräknare X och S-signaturen till B. S signaturen beräknas genom att anropa GetSSig() i API:et.The following is an example, shown with reference to Fig. 3, illustrating the synchronization method according to the invention: ø Page A initiates the communication by sending its identity A '(SID), the current session counter X and the S signature to B. The signature is calculated by call GetSSig () in the API.
~ Sidan B anropa också GetSSig () och sänder sin identitet B', sessionsräknare Y och S-signatur. o Sidan A verifierar S-signaturen från B. A anropar VerSSig() för att utföra synkroniseringen. o A vet att A och B är synkroniserade och kallar GetNextKey() för att erhålla nästa nyckel för kryptering. v Sidan A anropar GetRSig() (efter anropet för att erhålla nästa nyckel) och sänder denna signatur till B. A kan nu kryptera data och sända den. 10 15 20 25 30 35 526 070 13 o B kontrollerar denna signatur med dess Ky+1 genom att anropa VerRSig() och om dessa matchar anropar B GetNextKey(). o B vet nu att A och B är synkroniserade och kan avkoda data.~ Page B also calls GetSSig () and sends its identity B ', session counter Y and S signature. o Page A verifies the S signature from B. A calls VerSSig () to perform the synchronization. o A knows that A and B are synchronized and calls GetNextKey () to obtain the next key for encryption. v Page A calls GetRSig () (after the call to obtain the next key) and sends this signature to B. A can now encrypt the data and send it. 10 15 20 25 30 35 526 070 13 o B checks this signature with its Ky + 1 by calling VerRSig () and if these match, B calls GetNextKey (). o B now knows that A and B are synchronized and can decode data.
De ovan nämnda funktionerna kan med fördel men inte exklusivt definieras i en nyckelgenerator i API och har följande funktioner: GetS$ig(): hämtar S signatur Tar som parameter SID som identifierar nyckelgeneratorn och en pekare till en buffert innehållande X ll S(KXAB).The above functions can advantageously but not exclusively be defined in a key generator in API and have the following functions: GetS $ ig (): retrieves S signature Takes as parameter SID which identifies the key generator and a pointer to a buffer containing X ll S (KXAB) .
VerSSig(): Verifierar S-signaturen.VerSSig (): Verifies the S-signature.
Tar SID kopplad till en nyckelgenerator och en pekare till en buffert innehållande Y ll S(KYBA).Takes SID connected to a key generator and a pointer to a buffer containing Y ll S (KYBA).
GetRSigO: Hämtar R-signaturen.GetRSigO: Retrieves the R signature.
Tar SID som identifierar nyckelgeneratorn och en pekare till en buffert innehållande R(KXAB).Takes SID that identifies the key generator and a pointer to a buffer containing R (KXAB).
VerRSig(): Verifierar R-signaturen.VerRSig (): Verifies the R signature.
Tar SID kopplad till en nyckelgenerator och en pekare till en buffert innehållande R(Kv+1BA)- GetNextKeyO: hämtar nästa nickel från nyckelgeneratorn med erhållen SID.Takes SID connected to a key generator and a pointer to a buffer containing R (Kv + 1BA) - GetNextKeyO: retrieves the next nickel from the key generator with the obtained SID.
Tar SID som identifierar nyckelgeneratorn och en referens till nästa nyckel.Takes SID that identifies the key generator and a reference to the next key.
Hashning av signaturfunktionsparametern skapar signaturen. Algoritmen SHA-1, till exempel, användes för att hasha olika indata och för att beräkna en koncentrerad representation av ett meddelande eller en datafil. Andra algoritmer kan användas, såsom SHA-256, MDS och liknande.Hashing the signature function parameter creates the signature. The SHA-1 algorithm, for example, was used to hash various input data and to compute a concentrated representation of a message or a data file. Other algorithms can be used, such as SHA-256, MDS and the like.
För att SKG ska kunna implementeras i andra existerande utföranden av maskinvara såsom substratet till smarta kort, några komponenter behövs.In order for SKG to be implemented in other existing embodiments of hardware such as the substrate for smart cards, some components are needed.
Ett exempel på en sådan miljö är ATMELs AT90SC kisel för smarta kort, i vilket SKG kan implementeras som en autenticitetskontroll och krypteringsmetod, t.ex. för säker chatt ändamål. 10 15 20 25 30 35 526 070 » 14 Fig. 4 visar ett exempel, såsom ett smartkort 400 i vilket uppfinningen är implementerad. Smartkortet innefattar ett icke manipulerbart område 410, ett applikationskodsminne 420, en processorenhet 430 och ett minne 440 för sessionsnyckellagring. Processorenheten styr minnet enheternas funktion och kodminnet och kommunikationen. Det bör förstås att smartkortet och dess funktionella enheter är givna endast som ett exempel och andra förekomster och applikationer kan förekomma. Genom att använda SKG i smartkort förenklas möjligheten att integrera SKG i de existerande miljöerna. För att implementera SKG i en smartkortsmiljö behöver man utvecklingsplattformen för processorkärnan och programmeringsverktyg för det aktuella smartkortet. Smartkortet bör ha icke påverkbart minne (EEPROM/Flash). Detta minnes storlek sätter begränsningen på hur många nycklar som kan genereras. Det är önskvärt att använda hög säkerhetsklassificerad smartkort för bästa säkerhet (EAL 4+).An example of such an environment is ATMEL's AT90SC silicon for smart cards, in which SKG can be implemented as an authentication check and encryption method, e.g. for secure chat purposes. Fig. 4 shows an example, such as a smart card 400 in which the invention is implemented. The smart card includes a non-manipulable area 410, an application code memory 420, a processor unit 430 and a session key storage memory 440. The processor unit controls the memory function of the units and the code memory and communication. It should be understood that the smart card and its functional devices are given as an example only and other instances and applications may occur. Using SKG in smart cards simplifies the possibility of integrating SKG into existing environments. To implement SKG in a smart card environment, you need the development platform for the processor core and programming tools for the current smart card. The smart card should have non-removable memory (EEPROM / Flash). The size of this memory puts the limit on how many keys can be generated. It is desirable to use a high security rated smart card for best security (EAL 4+).
Enligt ett exempel som illustreras i Fig. 5 kan säker kommunikation uppnås mellan fältklienter S10a-510d och deras företag 520 genom att använda t.ex. ett SKG smartkort 530 som beskrevs tidigare, vid klientnoderna och en WSKG applikation 540 vid företagsnoden. Kommunikationen utföres genom, t.ex. Internet 560 eller annat kommunikationsnätverk. Genom att använda applikationen vid företagsnoden är det möjligt att hantera ett stort antal klienter. Vid klientsidan kan SKG även implementeras som: - Mjukvara - USB programvarunyckel (godtycklig USB-minnesnyckel) 570 ~ Bluetoothenhet 580 - Radioenhet (580) - WLAN enhet - RFID - Biometrisk enhet (580) Alla enheter kan kommunicera via en moduldrivrutin till dess applikation. Dessa drivrutiner kan utvecklas specifikt för enheten. Mjukvara, smartkort och USB nyckelenheter existerar redan på marknaden.According to an example illustrated in Fig. 5, secure communication can be achieved between field clients S10a-510d and their companies 520 by using e.g. a SKG smart card 530 as previously described, at the client nodes and a WSKG application 540 at the corporate node. The communication is performed by, e.g. Internet 560 or other communication network. By using the application at the company node, it is possible to handle a large number of clients. On the client side, SKG can also be implemented as: - Software - USB software key (arbitrary USB memory key) 570 ~ Bluetooth device 580 - Radio device (580) - WLAN device - RFID - Biometric device (580) All devices can communicate via a module driver to its application. These drivers can be developed specifically for the device. Software, smart cards and USB key devices already exist on the market.
En stark krypterad fil innehållande nyckelmotorn och register kan representera mjukvarumodulen. Detta är vanligast förekommande på serversidan och kan även användas på klienten. 10 15 20 25 30 35 526 070 15 USB nyckeln 579 kan vara antingen ett flashminne eller en mer kraftfull enhet som är mycket lik ett smartkort men med ett USB gränssnitt. Fördelen är att det inte finns behov att använda en specifik läsare för USB-enheten eftersom USB är en gemensam standard i de flesta datorer.A strong encrypted file containing the key engine and register can represent the software module. This is most common on the server side and can also be used on the client. 10 15 20 25 30 35 526 070 15 The USB key 579 can be either an fl memory or a more powerful device that is very similar to a smart card but with a USB interface. The advantage is that there is no need to use a specific reader for the USB device because USB is a common standard in most computers.
Bluetooth-området lider av tillfredsställande säkerhet. SKG kan enkelt modifieras för att ta hand om nyckelhantering för att bringa Bluetooth till en hög säkerhetsnivå som informationsbärare.The Bluetooth area suffers from satisfactory security. SKG can be easily modified to take care of key management to bring Bluetooth to a high level of security as an information carrier.
WLAN enligt 802.11, 802.11b o.s.v. lider också av otillfredsställande säkerhet. SKG kan med lätthet anpassas för att ta hand om nyckelhantering.WLAN according to 802.11, 802.11b and so on. also suffers from unsatisfactory security. SKG can easily be adapted to take care of key management.
RF enheter används oftast inom vitt skilda områden men oftast som identifierlngsbrickor i passagesystem. Ett problem är att brickidentitet är en statisk nyckel som ser likadana ut varje gång. Genom implementering av SKG är det möjligt att tillåta brickan trigga SKG som genererar en ny nyckel varje gång en person passerar grinden.RF devices are most often used in widely differing areas, but most often as identification tags in passage systems. One problem is that badge identity is a static key that looks the same every time. By implementing SKG, it is possible to allow the tag to trigger SKG, which generates a new key every time a person passes the gate.
Biometriska enheter är mycket lämpliga för identifiering av användaren och som sådana kan de öka SKG-teknikens värde. Men som en fristående enhet lider den av samma problem som RF, nämligen samma identitet varje gång (ett fingeravtryck).Biometric devices are very suitable for user identification and as such can increase the value of SKG technology. But as a stand-alone unit, it suffers from the same problem as RF, namely the same identity every time (a fingerprint).
Genom att låta fingeravtrycket trigga SKG att generera en ny nyckel varje gång en person identifierar sig själv, uppnås högsta säkerhetsnivån.By letting the av imprint trigger SKG to generate a new key every time a person identifies himself, the highest level of security is achieved.
Genom att konfigurera SKG för att hantera fler än en nyckelgenerator kommer varje sådan generator att agera som en separat kommunikationskanal. Således är det möjligt att använda en enda SKG-enhet för flera kommunikationsändamål/- applikationer. Ett smartkort kan t.ex. användas för passagesystem, datorinloggning, banköverföring o.s.v., där varje applikation använder dess egen SKG kanal. Genom att använda endast en SKG-enhet, såsom ett smartkort, behöver användarna endast _ identifiera sig själva endast mot en enhet genom att använda endast en identifiering, såsom en PIN-kod.By configuring SKG to handle more than one key generator, each such generator will act as a separate communication channel. Thus, it is possible to use a single SKG unit for several communication purposes / applications. A smart card can e.g. be used for access control systems, computer login, bank transfer, etc., where each application uses its own SKG channel. By using only one SKG device, such as a smart card, users only need to _ identify themselves to only one device by using only one identification, such as a PIN code.
Dessutom kan en SKG försedd enhet ha flera användbarhets lager, t.ex. en användarnivå där användaren kan ändra PIN-kod och en administratörsnivå där uppsättningen för flera kanaler o.s.v. hanteras. Varje lager kan skyddas medelst en krypterad inloggningsrutin. 10 15 20 25 30 35 526 070 16 Fig. 6 visar en SKG hanterare (SKGM) 600, vilken kan användas som en gemensam accesspunkt till alla SKG-motorer installerade i systemet. Dess moduler 610a-610c och ett sub-objekt av SKGM definierar en SKG-motor. Modulen implementerar ett kommunikationsgränssnitt med en viss typ av SKG-enhet 620a-620f. Alla applikationer som vill tillträda dessa motorer kan använda SKG hanteraren som sedan' hanterar resurser.In addition, a SKG-equipped unit can have your usability layers, e.g. a user level where the user can change the PIN code and an administrator level where the set for several channels and so on. handled. Each layer can be protected by an encrypted login routine. Fig. 6 shows a SKG handler (SKGM) 600, which can be used as a common access point to all SKG motors installed in the system. Its modules 610a-610c and a sub-object of SKGM define a SKG motor. The module implements a communication interface with a certain type of SKG unit 620a-620f. All applications that want to access these engines can use the SKG manager which then 'manages resources'.
I den mest fördelaktiga utföringsformen kan en applikation använda SKGM, t.ex. genom att ladda ett Dynamiskt LänkBibliotek (DLL) eller en enhetsdrivare antingen implicit eller explicit. De medföljande startfilerna innehåller definitionerna och deklarationerna som krävs för att använda DLL.In the most advantageous embodiment, an application can use SKGM, e.g. by loading a Dynamic Link Library (DLL) or a device driver either implicitly or explicitly. The included startup files contain the definitions and declarations required to use the DLL.
SKGM är en implementering av system SKG på en datorenhet. Hanteraren hanterar ett antal moduler som representerar olika typer av enheter. I SKG-enheten finns nyckelgeneratorerna. En enhet kan vara av olika typer, ett smartkort, en USB-nyckel, en fil på en disk, en databastabell, o.s.v. Enheten 700 som visas i Fig. 7 har fyra olika gränssnitt (funktionalitetsg rupper): - Accessgränssnittet 710 innefattar funktioner för formatering, in-/utloggning, låsning av enhet o.s.v.SKGM is an implementation of system SKG on a computer unit. The manager handles a number of modules that represent different types of devices. The SKG unit contains the key generators. A device can be of different types, a smart card, a USB key, a file on a disk, a database table, and so on. The unit 700 shown in Fig. 7 has four different interfaces (functionality groups): - The access interface 710 includes functions for formatting, logging in / out, locking the unit, and so on.
- SKG-gränssnittet 720 innehåller alla funktioner som hanterar nyckelgeneratorer såsom allokering, initiering, generering och synkronisering.- The SKG interface 720 contains all functions that handle key generators such as allocation, initialization, generation and synchronization.
- Registreringsgränssnittet 730 implementerar ett mindre register som används för applikationer för att säkert lagra och återhämta konfiguration och andra typer av beständig data i SKG-enheten.The registration interface 730 implements a smaller register used for applications to securely store and retrieve configuration and other types of persistent data in the SKG unit.
- Kryptogränssnittet 740 tillhandahåller funktionaliteten för användning av genererade nycklar i kryptering och dekryptering av datablock och även generering av kryptografiskt säkra slumptal.- The crypto interface 740 provides the functionality for the use of generated keys in encryption and decryption of data blocks and also the generation of cryptographically secure random numbers.
En SKG-enhet behöver inte stödja alla fyra gränssnitt och det finns ett sätt att fråga den för de stödda gränssnitten. Emellertid måste access- och SKG-gränssnitten alltid vara tillgängliga.A SKG device does not have to support all four interfaces and there is a way to query it for the supported interfaces. However, the access and SKG interfaces must always be available.
I följande hänvisas till figurerna 1 och 8.In the following, reference is made to Figures 1 and 8.
När en kommunikationssession ska starta måste nyckelgeneratorerna på båda sidorna synkroniseras, d.v.s. de kommer att generera samma nycklar. 10 15 20 25 30 35 5-26 070 17 För att uppnå detta utför SKG-gränssnittet av SKG hanteraren några användbara API anrop. För att göra en säker synkronisering av de två nyckelgeneratorerna utföres synkroniseringsmetoden enligt uppfinningen.When a communication session is to start, the key generators on both sides must be synchronized, i.e. they will generate the same keys. 10 15 20 25 30 35 5-26 070 17 To achieve this, the SKG interface of the SKG manager performs some useful API calls. To ensure a secure synchronization of the two key generators, the synchronization method is performed according to the invention.
Varje nod A och B (Fig. 1) har en nyckelgeneratoridentifierare (SID) som speciellt dediceras för kommunikation med andra noder.Each node A and B (Fig. 1) has a key generator identifier (SID) which is specially dedicated for communication with other nodes.
Antaga att nod A bestämmer att initiera synkroniseringen.Assume that node A decides to initiate the synchronization.
Steg 1: initiering från nod A (Fig. 8) Applikationen vid nod A måste veta identiteten av nyckelgeneratorn (SID), vilken den använder för kommunikation med nod B. Denna kan lagras i enhetsregistret eileri någon annan lokal databas. När nod A vet vilken nyckelgeneratoridentifierare (SID) den ska använda genererar den en unik signatur (S-signatur) genom att anropa funktionen GetSSig(). Data är nu redo att överföras över applikationsprotokollet som används. Nod A sänder SID och S-signatur (som innefattar inkrementräknaren) till nod B.Step 1: initialization from node A (Fig. 8) The application at node A must know the identity of the key generator (SID), which it uses for communication with node B. This can be stored in the device register or any other local database. When node A knows which key generator identifier (SID) to use, it generates a unique signature (S-signature) by calling the GetSSig () function. Data is now ready to be transferred over the application protocol used. Node A sends the SID and S-signature (which includes the increment counter) to node B.
Steg2: Verifiering i nod B Applikationen vid nod B mottager SID och S-signaturen genererad i nod A. Ur nod Bs synvinkel är nyckelgeneratoridentifieraren (SID) från nod A, SID-B. Nod B behöver hitta sin egen nyckelgenerator (SID-A) initierad med SID-B och anropar (API-) funktionen GetSidAFromSidB(). Alla kända moduler och enheter måste undersökas tills en matchande SID-A hittas. Ett alternativt sätt är att anropa en funktion FindRemotSID i SKGM-interfacet. En bra utformningsregel är att "cacha" resultatet från denna operation eftersom den returnerade SID-A kommer att användas som en referens till alla API anrop under sessionen. Nod B anropar nu funktionen VerSSig() med S-signaturen erhållen från nod A. Om GetSidAFromSidB() eller VerSSig() misslyckas bör synkroniseringen avbrytas och nod B återgår till dess ursprungliga tillstånd. Det är upp till applikationen om nod A borde meddelas att ingen synkronisering är möjligt. Efter ett lyckat anrop till VerSSig() vet nod B korrekt inkrementräknarvärde och nyckelgenerator är synkroniserad. Emellertid vet inte nod A vilken nyckel som ska användas för denna session och nod B vet inte om A är synkroniserad. Nod B anropar GetSSig() och sänder dessa kända nyckelgeneratoridentifierare (SID) tillsammans med resultatet till nod A. 10 15 20 25 30 35 526 070 18 FindRemoteSid söker de lokala enheterna för en nyckelgenerator kopplad med en specificerad avlägsen SID, även kallad Sidß i vissa funktioner. Den lokala SIDn av nyckelgeneratorn och enheten på vilken denna finns returneras om den hittas.Step 2: Verification in node B The application at node B receives the SID and the S-signature generated in node A. From node B's point of view, the key generator identifier (SID) from node A is SID-B. Node B needs to find its own key generator (SID-A) initiated with SID-B and calls the (API) function GetSidAFromSidB (). All known modules and devices must be examined until a matching SID-A is found. An alternative way is to call a FindRemotSID function in the SKGM interface. A good design rule is to "cache" the result of this operation because the returned SID-A will be used as a reference for all API calls during the session. Node B now calls the function VerSSig () with the S-signature obtained from node A. If GetSidAFromSidB () or VerSSig () fails, the synchronization should be interrupted and node B returns to its original state. It is up to the application if node A should be notified that no synchronization is possible. After a successful call to VerSSig (), node B knows the correct increment counter value and the key generator is synchronized. However, node A does not know which key to use for this session and node B does not know if A is synchronized. Node B calls GetSSig () and sends these known key generator identifiers (SIDs) together with the result to node A. 10 15 20 25 30 35 526 070 18 FindRemoteSid searches the local units for a key generator connected to a specified remote SID, also called Sidß in some functions. The local SID of the key generator and the device on which it is located will be returned if found.
Steg 3: verifiering i nod A Applikationen vid nod A mottager SIDn och S-signaturen genererad i nod B. Genom att anropa funktionen VerSSig() synkroniserar nod A dess nyckelgenerator om verifieringen lyckas. Nod A vet nu att både A och B är synkroniserade. Det är säkert att generera den nästa sessionsnyckeln genom att anropa funktionen, GetNetxKey().Step 3: verification in node A The application at node A receives the SID and the S-signature generated in node B. By calling the function VerSSig (), node A synchronizes its key generator if the verification is successful. Node A now knows that both A and B are synchronized. It is safe to generate the next session key by calling the function, GetNetxKey ().
Nod A måste nu bevisa för nod B att den är synkroniserad. Nod A anropar GetRSig() och sänder resultatet till nod B. Det är även möjligt för applikationen vid nod A att starta använda sessionsnyckeln och sänd krypterad data.Node A must now prove to Node B that it is synchronized. Node A calls GetRSig () and sends the result to node B. It is also possible for the application at node A to start using the session key and send encrypted data.
Steg 4: slutföra synkroniseringen i nod B Applikationen vid nod B mottager R-signaturen och för vidare den till funktionen VerRSig(). Denna funktion verifierar för nod B att nod A är synkroniserad och att nod A har framställt rätt nästa nyckel. Nod B vet att denna borde hämta nästa nyckel från nyckelgeneratorn och använda den som nästa sessionsnyckel. Nod B anropar funktionen GetNextKey() och startar användningen av sessionsnyckeln för kryptering.Step 4: complete the synchronization in node B The application at node B receives the R-signature and forwards it to the function VerRSig (). This function verifies for node B that node A is synchronized and that node A has produced the correct next key. Node B knows that it should retrieve the next key from the key generator and use it as the next session key. Node B calls the GetNextKey () function and starts using the session key for encryption.
Fig. 9 visar ett fördelaktigt utförande som använder uppfinningen, vilket avser ett system för säker krypterad överföring/autenticitetskontroll mellan två enheter via en säker kommunikationskanal. Kommunikationskanalen kan vara vilken kanal som helst via vilken data kan överföras och i synnerhet kunde kanalen vara stationär så väl som trådlös. Varje sådan enhet innefattar en nyckelgeneratorenhet 900.Fig. 9 shows an advantageous embodiment using the invention, which relates to a system for secure encrypted transmission / authentication control between two units via a secure communication channel. The communication channel can be any channel through which data can be transmitted and in particular the channel could be stationary as well as wireless. Each such unit includes a key generator unit 900.
Nyckelgeneratorenheterna innefattar ett minne 910 i vilket identiska utgångsvärden SID, så kallade frön, har lagrats företrädesvis på ett dynamiskt/fast och utbytbart sätt. Lagringen av utgångsvärden utföres med fördel i samband med den inledande initieringen av enheterna och den kan med fördel utföras via en säker kanal. Möjligen behöver de utgångsvärden inte överföras fysiskt utan användarna av de avsedda enheterna kan ange dem själva som ett förbestämt värde. Dessutom kan de utgångsvärden utväxlas vid behov men alternativt används samma utgångsvärden under hela nyckelgeneratorenhetens livscykel. I detta fall behöver de utgångsvärden inte lagras i ett dynamiskt minne utan permanenta minnen kan istället användas.The key generator units comprise a memory 910 in which identical output values SID, so-called seeds, have preferably been stored in a dynamic / fixed and exchangeable manner. The storage of output values is advantageously performed in connection with the initial initialization of the units and it can advantageously be performed via a secure channel. The output values may not need to be physically transferred but the users of the intended devices can specify them as a predetermined value. In addition, the output values can be exchanged if necessary, but alternatively the same output values are used during the entire life cycle of the key generator unit. In this case, the output values do not need to be stored in a dynamic memory but permanent memories can be used instead.
Dessutom innefattar nyckelgeneratorenheterna en räknare X som representerar antalet genererade nycklar. 10 15 20 25 30 35 526 070 19 Antaget att samma utgångsvärden är lagrade i minnet 910 och att räknarna är synkroniserade att leverera samma räknarvärde kan identiska nycklar genereras i flera nyckelgeneratorenheter oberoende av varandra.In addition, the key generator units comprise a counter X which represents the number of keys generated. Assuming that the same output values are stored in the memory 910 and that the counters are synchronized to deliver the same counter value, identical keys can be generated in several key generator units independently of each other.
Dessa nycklar kan sedan användas för krypterings- eller autenticitetskontrollsändamål mellan enheterna.These keys can then be used for encryption or authentication purposes between the devices.
Vidare är nyckelgeneratorenheterna med fördel anpassade för att känna av huruvida de är synkroniserade eller inte och i detta fall är de inte, för att implementera denna synkronisering. Avkänning kan utföras medelst en speciell synkroniseringstest som utföres före nyckelgenereringen.Furthermore, the key generator units are advantageously adapted to detect whether they are synchronized or not and in this case they are not, to implement this synchronization. Sensing can be performed by means of a special synchronization test which is performed before the key generation.
Alternativt kan dessutom ett behov av synkronisering identifieras när olika nycklar användes och endast därefter omstart av synkronisering kan ske. Synkronisering kan ske t.ex. genom utbyte av räknarvärden mellan enheterna.Alternatively, in addition, a need for synchronization can be identified when different keys are used and only then can synchronization be restarted. Synchronization can take place e.g. by exchanging counter values between the units.
Beräkningsenheten innefattar en beräkningsalgoritm F, som hashar utgångsvärdet (frö), närvarande nyckel och räknarvärde som inparametrar. Sedan ökas räknarvärdet med ett tal, d.v.s. "count=count+1". Denna beräkningsalgoritm är med fördel implementerad i hårdvaran i beräkningsenheten eller alternativt är den lagrad i ett icke-dynamiskt och oföränderligt minne. Beräkningsalgoritmen genererar med fördel en 160 bitars nyckel, men nycklar av andra längder är självklart också tänkbara. Varje gång en order ges nyckelgeneratorn för att producera en ny nyckel genereras därför ett nytt pseudoslumpat 160 bitars ord, vilket genereras baserad på "fröet" och räknarvärdet.The calculation unit comprises a calculation algorithm F, which hashs the output value (seed), present key and counter value as input parameters. Then the counter value is increased by a number, i.e. "count = count + 1". This calculation algorithm is advantageously implemented in the hardware of the calculation unit or alternatively it is stored in a non-dynamic and immutable memory. The calculation algorithm advantageously generates a 160-bit key, but keys of other lengths are of course also conceivable. Each time an order is given to the key generator to produce a new key, a new pseudo-random 160 bit word is generated, which is generated based on the "seed" and the counter value.
Nyckelgeneratorenheten 900 innefattar vidare en gränssnittsdel 912 som möjliggör kommunikation mellan kommunikationsenheten och nyckelgeneratorenheten.The key generator unit 900 further comprises an interface part 912 which enables communication between the communication unit and the key generator unit.
Företrädesvis består denna kommunikation av utsändning av instruktioner till nyckelgeneratorenheten att generera en nyckel och överföringen av en således genererade nyckel tillbaka till kommunikationsenheten.Preferably, this communication consists of sending instructions to the key generator unit to generate a key and the transmission of a key thus generated back to the communication unit.
Med fördel är nyckelgeneratorenheten implementerad i hårdvara och utförs i form av en integrerad krets, vilket gör det svårare att manipulera. Denna krets kan läggas till och användas tillsammans med huvudsakligen alla typer av kommunikativa enheter.Advantageously, the key generator unit is implemented in hardware and is designed in the form of an integrated circuit, which makes it more difficult to manipulate. This circuit can be added and used together with mainly all types of communication devices.
Det är t.ex. möjligt att använda nyckelgeneratorenheten i enlighet med uppfinningen tillsammans med laddningsbara kort, så kallade smartkort, i bärbara eller stationära 10 15 20 25 30 35 526 070 20 datorer, i mobiltelefoner, elektroniska kalendrar och liknande elektronisk utrusning som kan kommunicera.It is e.g. It is possible to use the key generator unit in accordance with the invention together with rechargeable cards, so-called smart cards, in laptops or desktops, in mobile telephones, electronic calendars and similar electronic equipment that can communicate.
Emellertid är det likaledes möjligt att implementera nyckelgeneratorenheten i mjukvara, t.ex. i en konventionell dator, och använda existerande minne och liknande.However, it is also possible to implement the key generator unit in software, e.g. in a conventional computer, and use existing memory and the like.
Detta alternativ är speciellt fördelaktigt för implementering i stationära enheter och speciellt i enheter som används som centralenheter.This option is particularly advantageous for implementation in stationary units and especially in units used as central units.
Nyckelgeneratorenheten enligt uppfinningen kan användas antingen för punkt-till- punkt kommunikation eller autenticitetskontroll, d.v.s. mellan två enheter, eller mellan en centralenhet, en server, eller flera användare, klienter. En sådan centralenhet innefattar ett antal olika nyckelgeneratorenheter, en för varje klient i kommunikation med centralenheten. Alternativt kan en nyckelenhet bestå av flera olika utgångsvärden, i vilket fall kommandot till nyckelgeneratorenheten att generera en nyckel även innefattar information avseende vilket ursprungligt värde som ska användas. Det är således möjligt för flera enheter att kommunicera med centralenheten för att ha identiska nyckelgeneratorenheter, vilket låter dem att kommunicera med samma nyckelgeneratorenhet i centralenheten.The key generator unit according to the invention can be used for either point-to-point communication or authentication, i.e. between two devices, or between a central device, a server, or multiple users, clients. Such a central unit comprises a number of different key generator units, one for each client in communication with the central unit. Alternatively, a key unit may consist of olika your different output values, in which case the command to the key generator unit to generate a key also includes information regarding which initial value is to be used. It is thus possible for enheter your units to communicate with the central unit to have identical key generator units, which allows them to communicate with the same key generator unit in the central unit.
I detta fall innefattar en centralenhet anordnad att kommunicera med flera enheter företrädesvis medel för implementering av nyckelgeneratorenhet i mjukvara medan klienten har medel implementerat i hårdvara. Klienten kan t.ex. ha smartkort eller mobiltelefoner, datorer och liknande. Således kan systemet enligt uppfinningen användas mellan en bank och dess kunder, mellan företag och dessa anställda, mellan bolag och dessa dotterbolag, o.s.v. Vidare kan systemet användas för att kontrollera access till hemsidor via Internet eller liknande, t.ex. genom att ansluta dess smartkort till en läsare avsedd för detta ändamål och på så sätt blir det möjligt att även kontrollera tillgång till elektronisk utrustning som kommunicerar trådlöst, t.ex. via Bluetooth eller WLAN. Även enheter som inte är centralenheter kan innefatta flera ursprungsvärden i samma nyckelgeneratorenhet eller i en separat enhet för att kommunicera via flera separata kanaler. På så sätt kan enheten användas för kommunikation med flera olika centralenheter. Ett smartkort kan t.ex. användas för kommunikation med flera olika banker eller andra anläggningar.In this case, a central unit arranged to communicate with your units preferably comprises means for implementing the key generator unit in software while the client has means implemented in hardware. The client can e.g. have smart cards or mobile phones, computers and the like. Thus, the system according to the invention can be used between a bank and its customers, between companies and these employees, between companies and these subsidiaries, and so on. Furthermore, the system can be used to control access to websites via the Internet or the like, e.g. by connecting its smart card to a reader intended for this purpose and in this way it becomes possible to also control access to electronic equipment that communicates wirelessly, e.g. via Bluetooth or WLAN. Devices that are not central units can also include several origin values in the same key generator unit or in a separate unit for communicating via several separate channels. In this way, the unit can be used for communication with several different central units. A smart card can e.g. be used for communication with olika your various banks or other facilities.
I det följande kommer en krypterad transmission eller autenticitetskontroll med hjälp av systemet i Fig. 9 att beskrivas. I ett första steg initieras enheter avsedda för 10 15 20 25 30 35 526 070 21 kommande interkommunikation, under vilken process förses de med identiska utgångsvärden och företrädesvis synkroniseras. Systemet är nu klart för användning och vid ett senare tillfälle som kan förkomma efter slutet av en godtycklig tidsperiod efter initieringen, sammankopplas enheterna via en säker kommunikationskanal och åtminstone en av enheterna identifierar sig själv för den andra. I nästa steg bestämmer den andra enheten huruvida den givna identiteten är känd och huruvida den har tillhörande nyckelgeneratorenhet, d.v.s. en nyckelgeneratorkrets som beskrevs tidigare och med ett tillhörande utgångsvärde. Om så är fallet fortsätter processen till nästa steg, annars avbryts processen.In the following, an encrypted transmission or authentication check using the system in Fig. 9 will be described. In a first step, units intended for incoming intercommunication are initiated, during which process they are provided with identical output values and are preferably synchronized. The system is now ready for use and at a later time which may occur after the end of an arbitrary period of time after initialization, the units are interconnected via a secure communication channel and at least one of the units identifies itself to the other. In the next step, the second unit determines whether the given identity is known and whether it has an associated key generator unit, i.e. a key generator circuit previously described and having an associated output value. If so, the process continues to the next step, otherwise the process is interrupted.
Enheterna kommer sedan överens att exekvera krypterad överföring och/eller autenticitetskontroll varmed var och en beräknar nycklar separat i respektive nyckelgeneratorenhet. Innan detta sker kan en synkroniseringstest ha utförts för att undersöka huruvida räknarna i varje respektive nyckelgeneratorenhet är synkroniserade. Om detta är fallet fortsätter processen direkt till nästa steg i annat fall ett synkroniseringssteg som beskrevs i samband med de tidigare utförandena (Fig. 3 och 8) exekveras först för att nollställa synkroniseringen mellan enheterna.The units will then agree to execute encrypted transmission and / or authentication with which each calculates keys separately in the respective key generator unit. Before this happens, a synchronization test may have been performed to check whether the counters in each respective key generator unit are synchronized. If this is the case, the process proceeds directly to the next step, otherwise a synchronization step described in connection with the previous embodiments (Figs. 3 and 8) is executed first to reset the synchronization between the units.
De beräknade nycklarna används sedan för exekvera krypterad överföring och/eller autenticitetskontroll. Emellertid bör det förstås att krypterad transmission och autenticitetskontroll kan självklart utföras samtidigt och i samma process. Kryptering och autenticitetskontroll kan utföras med hjälp av huvudsakligen vilken krypteringsalgoritm som helst som använder nycklar, såsom den kända DES, RC6 och så vidare.The calculated keys are then used to execute encrypted transmission and / or authentication. However, it should be understood that encrypted transmission and authentication can of course be performed simultaneously and in the same process. Encryption and authentication can be performed using essentially any encryption algorithm that uses keys, such as the known DES, RC6 and so on.
Uppfinningen kan användas för autenticitetskontroll, d.v.s. verifiera att enheten med vilken man kommunicerar med är den som den påstår vara, så väl som för nyckelgenerering för krypterad överföring. Enheterna som används i samband med föreliggande uppfinning, såsom smartkort, telefoner och liknande kan emellertid med fördel förses med medel anordnade för att försäkra att enhetsanvändaren är korrekt.The invention can be used for authentication, i.e. verify that the device with which you are communicating is the one it claims to be, as well as for key generation for encrypted transmission. However, the devices used in connection with the present invention, such as smart cards, telephones and the like, may advantageously be provided with means provided to ensure that the device user is correct.
D.v.s. autenticitetskontroll mellan användare och kommunikationsenheten. Sådan autenticitetskontroll kan utföras med hjälp av ingivning av en kod, identifiering av fingeravtryck och liknande.I.e. authentication between the user and the communication device. Such authentication can be performed by entering a code, identifying fingerprints and the like.
Flera typer av system och metod beskrivna ovan är möjliga. T.ex. beror metoden och systemet av kryptering eller generade nycklar och således kan det användas tillsammans med de flesta kända liknande metoder. Dessutom är nyckelgeneratorenheten med fördel implementerad hårdvaran, vilket gör 10 15 526 070 22 nyckelgenereringsprocessen helt dold för användaren. Det är emellertid möjligt att implementera nyckelgeneratorenheten i mjukvara i en vanlig dator eller processorenhet. Därtill kan enheterna i systemet vara huvudsakligen vilken kommunikativ elektronisk enhet som helst. Räknarna som används för att generera räknarvärden för nyckelgeneratorenheterna kan också vara av vilken typ som helst förutsatt att de genererar räknarvärden som varierar med tiden. Det är likaledes möjligt att utelämna räknarna i en eller flera enheter och i detta fall ersättes synkroniseringssteget med ett steg att utväxla räknarvärden mellan enheterna, i.e. synkronisera räknarvärden före varje nyckelgenereringsoperatlon. Sådana och andra uppenbara varianter måste anses falla inom skyddsomfånget för uppfinningen såsom det senare definieras i de bifogade kraven.Several types of systems and methods described above are possible. For example. depends on the method and system of encryption or generated keys and thus it can be used in conjunction with most known similar methods. In addition, the key generator unit is advantageously implemented in the hardware, which makes the key generation process completely hidden from the user. However, it is possible to implement the key generator unit in software in a standard computer or processor unit. In addition, the devices in the system can be essentially any communicative electronic device. The counters used to generate counter values for the key generator units can also be of any type provided they generate counter values that vary with time. It is also possible to omit the counters in one or more units and in this case the synchronization step is replaced by a step of exchanging counter values between the units, i.e. synchronize counter values before each key generation operation. Such and other obvious variants must be considered to fall within the scope of the invention as the latter is defined in the appended claims.
Uppfinningen är inte begränsad till de beskrivna och visade utföringsformerna.The invention is not limited to the described and shown embodiments.
Uppfinningen kan modifieras inom omfattningen av de bifogade kraven på många olika sätt beroende på applikationerna/kraven och önskemål.The invention can be modified within the scope of the appended claims in many different ways depending on the applications / requirements and desires.
Claims (9)
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE0302524A SE526070C2 (en) | 2003-09-22 | 2003-09-22 | Synchronizing method of communication session between e.g. enterprise and employees, involves performing handshake procedure to synchronize session counters of communication units by successively communicated signatures |
EP04775468A EP1673898A1 (en) | 2003-09-22 | 2004-09-22 | Data communication security arrangement and method |
JP2006527945A JP2007506392A (en) | 2003-09-22 | 2004-09-22 | Data communication security mechanisms and methods |
PCT/SE2004/001367 WO2005029763A1 (en) | 2003-09-22 | 2004-09-22 | Data communication security arrangement and method |
CNA2004800344278A CN1883156A (en) | 2003-09-22 | 2004-09-22 | Data communication security device and method |
US10/953,501 US20050154896A1 (en) | 2003-09-22 | 2004-09-30 | Data communication security arrangement and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE0302524A SE526070C2 (en) | 2003-09-22 | 2003-09-22 | Synchronizing method of communication session between e.g. enterprise and employees, involves performing handshake procedure to synchronize session counters of communication units by successively communicated signatures |
Publications (3)
Publication Number | Publication Date |
---|---|
SE0302524D0 SE0302524D0 (en) | 2003-09-22 |
SE0302524L SE0302524L (en) | 2005-03-23 |
SE526070C2 true SE526070C2 (en) | 2005-06-28 |
Family
ID=29212520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE0302524A SE526070C2 (en) | 2003-09-22 | 2003-09-22 | Synchronizing method of communication session between e.g. enterprise and employees, involves performing handshake procedure to synchronize session counters of communication units by successively communicated signatures |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN1883156A (en) |
SE (1) | SE526070C2 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257304B (en) * | 2008-04-03 | 2011-11-09 | 北京大学 | Method for tuning gross adjustment loop circuit of double-loop circuit frequency synthesizer |
CN101626373B (en) * | 2008-07-11 | 2012-06-06 | 华为技术有限公司 | Method, device and system for message processing of ultra wide band system |
CN101420306B (en) * | 2008-12-12 | 2010-12-08 | 肖佐楠 | Automobile mounted automatic diagnosis method based on RSA ciphering and signature algorithm |
JPWO2014147934A1 (en) * | 2013-03-21 | 2017-02-16 | パナソニックIpマネジメント株式会社 | COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD |
US9763086B2 (en) * | 2013-08-27 | 2017-09-12 | Qualcomm Incorporated | Owner access point to control the unlocking of an entry |
CN105721395B (en) * | 2014-12-03 | 2019-03-01 | 华为数字技术(苏州)有限公司 | Data synchronous configuration method, equipment and system |
FR3046000B1 (en) * | 2015-12-21 | 2018-02-16 | Oberthur Technologies | METHOD FOR RECEIVING DATA WITHIN AN ELECTRONIC ENTITY AND ELECTRONIC ENTITY THEREFOR |
CN108600231B (en) * | 2018-04-27 | 2020-10-27 | 广东复安科技发展有限公司 | Network security transmission method based on synchronization technology |
CN110768691B (en) * | 2019-09-30 | 2022-03-04 | 星微科技(天津)有限公司 | Intelligent waist-worn terminal for hearing-impaired people and implementation method |
CN113315632B (en) * | 2021-07-29 | 2021-11-02 | 北京紫光青藤微***有限公司 | Method, system, device and communication equipment for determining key generator |
-
2003
- 2003-09-22 SE SE0302524A patent/SE526070C2/en not_active IP Right Cessation
-
2004
- 2004-09-22 CN CNA2004800344278A patent/CN1883156A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN1883156A (en) | 2006-12-20 |
SE0302524D0 (en) | 2003-09-22 |
SE0302524L (en) | 2005-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050154896A1 (en) | Data communication security arrangement and method | |
US9647836B2 (en) | Secure storage for shared documents | |
US8484480B2 (en) | Transmitting information using virtual input layout | |
US11546348B2 (en) | Data service system | |
US10984052B2 (en) | System and method for multiple-character wildcard search over encrypted data | |
CN106980794A (en) | TrustZone-based file encryption and decryption method and device and terminal equipment | |
CN107078899B (en) | Method of obfuscating data | |
US11025415B2 (en) | Cryptographic operation method, method for creating working key, cryptographic service platform, and cryptographic service device | |
CN107689869A (en) | The method and server of user password management | |
EP2743842A1 (en) | Secure search processing system and secure search processing method | |
US11784815B2 (en) | Method of time-delay encryption with keyword search and system using the same | |
JP4876169B2 (en) | Method, system, and computer program for securely storing data | |
CN109347839A (en) | Centralized password management method and centralized password management, device, electronic equipment and computer storage medium | |
GB2574458A (en) | Methods and Systems For Secure Data Transmission | |
CN112073192B (en) | Data processing method and device and cipher machine | |
SE526070C2 (en) | Synchronizing method of communication session between e.g. enterprise and employees, involves performing handshake procedure to synchronize session counters of communication units by successively communicated signatures | |
CN117561508A (en) | Cross-session issuance of verifiable credentials | |
US20200145200A1 (en) | Attribute-based key management system | |
JP2006189925A (en) | Private information management system, private information management program, and private information protection method | |
US10050943B2 (en) | Widely distributed parameterization | |
CN117118598A (en) | Data sharing method, electronic equipment and computer cluster | |
US11502840B2 (en) | Password management system and method | |
CN113642009A (en) | Block chain based printing method and device, computer equipment and storage medium | |
Usharani et al. | Secure Data Storage and Retrieval Operations Using Attribute-Based Encryption for Mobile Cloud Computing | |
WO2022224213A1 (en) | Method and system for secure confidential digital content exchange |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NUG | Patent has lapsed |