NO20100116A1 - A method and apparatus for establishing keys for use in strong encryption - Google Patents

A method and apparatus for establishing keys for use in strong encryption Download PDF

Info

Publication number
NO20100116A1
NO20100116A1 NO20100116A NO20100116A NO20100116A1 NO 20100116 A1 NO20100116 A1 NO 20100116A1 NO 20100116 A NO20100116 A NO 20100116A NO 20100116 A NO20100116 A NO 20100116A NO 20100116 A1 NO20100116 A1 NO 20100116A1
Authority
NO
Norway
Prior art keywords
key
key generator
data
crypto
handler
Prior art date
Application number
NO20100116A
Other languages
Norwegian (no)
Other versions
NO331204B1 (en
Inventor
Ivar Jorstad
Tor Anders Johansen
Original Assignee
Ivar Jorstad
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ivar Jorstad filed Critical Ivar Jorstad
Priority to NO20100116A priority Critical patent/NO331204B1/en
Publication of NO20100116A1 publication Critical patent/NO20100116A1/en
Publication of NO331204B1 publication Critical patent/NO331204B1/en

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Description

EN METODE OG EN ANORDNING FOR ETABLERING AV NØKLER FOR BRUK I STERK KRYPTERING A METHOD AND DEVICE FOR ESTABLISHING KEYS FOR USE IN STRONG ENCRYPTION

Oppfinnelsens område Field of the invention

Denne oppfinnelsen gjelder sterk kryptering av brukerdata (for eksempel tekstdokumenter, fotografier etc.) lagret på minneenheter (for eksempel USB Flash minneenhet, PC harddisk etc.), og den benytter seg av en nøkkelgenerator på en separat dataenhet (for eksempel en mobiltelefon) som utsteder krypterings- og dekrypteringsnøkler. This invention relates to strong encryption of user data (for example, text documents, photographs, etc.) stored on memory devices (for example, USB Flash memory device, PC hard disk, etc.), and it makes use of a key generator on a separate data device (for example, a mobile phone) which issues encryption and decryption keys.

Teknisk bakgrunn Technical background

Nesten enhver bedrift i dagens konkurranseutsatte marked er sårbare for industrispionasje og tyveri av konfidensiell informasjon, for eksempel gjennom uautorisert tilgang til elektroniske dokumenter. For å forhindre slik tilgang, eller for å gjøre det veldig vanskelig (dvs. at det kreves en veldig motivert angriper og mye ressurser), så må ansatte ofte forsikre seg om at konfidensielt materiale er kryptert på en forsvarlig måte både under kommunikasjon over nettverk så vel som når sensitive dokumenter er lagret midlertidig eller permanent på minneenheter som ikke i seg selv støtter konfidensialitet. Almost every company in today's competitive market is vulnerable to industrial espionage and the theft of confidential information, for example through unauthorized access to electronic documents. To prevent such access, or to make it very difficult (ie requiring a highly motivated attacker and a lot of resources), employees often have to make sure that confidential material is properly encrypted both during communication over networks so as well as when sensitive documents are stored temporarily or permanently on memory devices that do not inherently support confidentiality.

For å forhindre uautorisert tilgang til konfidensiell informasjon så er det veldig viktig at enkle og samtidig effektive datakrypteringsløsninger er lett tilgjengelige for ansatte og konsumenter. Det er lett å forestille seg frustrasjonen som oppstår når personlige bilder av kjære familiemedlemmer kommer på avveie, kritiske dokumenter om en unik forretningsmulighet blir stjålet eller informasjon om en fremtidig hemmelig operasjon som skal utføres av politi eller militære styrker blir hentet ut fra en USB Flash minneenhet som uheldigvis har blitt mistet. Hver av disse situasjonene vil bli opplevd som kritisk for de respektive interessehaverne. In order to prevent unauthorized access to confidential information, it is very important that simple and at the same time effective data encryption solutions are easily accessible to employees and consumers. It is easy to imagine the frustration that occurs when personal photos of loved family members are lost, critical documents about a unique business opportunity are stolen, or information about a future covert operation to be carried out by police or military forces is extracted from a USB Flash memory drive. which has unfortunately been lost. Each of these situations will be experienced as critical for the respective stakeholders.

Sterke datakrypteringsalgoritmer og teknologier eksisterer, og disse vil ved korrekt bruk beskytte data på en sikker måte over lang tid. Strong data encryption algorithms and technologies exist, and when used correctly, these will protect data securely over a long period of time.

Dessverre så fører mangel på rimelige og praktiske løsninger for sluttbrukeren til mindre bruk av slike datakrypteringsteknologier. Resultatet er selvsagt mindre sikkerhet for interessehaverne. Unfortunately, the lack of affordable and practical solutions for the end user leads to less use of such data encryption technologies. The result is of course less security for the stakeholders.

Kjente løsninger Known solutions

Datakrypteringsteknologier eksisterer i mange varianter i dag. De enkleste benytter seg av brukerdefinerte passord som krypteringsnøkler. Andre krever maskinvareenheter for å foreta krypteringen ved å bruke nøkler lagret på "tamper-resistant" enheter. Andre løsninger igjen baserer seg på brukerens fingeravtrykk (brukt som nøkler) for å kryptere. Data encryption technologies exist in many varieties today. The simplest ones use user-defined passwords as encryption keys. Others require hardware devices to perform the encryption using keys stored on "tamper-resistant" devices. Other solutions rely on the user's fingerprints (used as keys) to encrypt.

Det eksisterer flere løsninger i dag som er sterke og som gir god sikkerhet. Allikevel, ingen av dem er både brukervennlige og kostnadseffektive, dermed støtter de ikke oppunder en bred markedsadopsjon. Several solutions exist today that are strong and provide good security. Still, none of them are both user-friendly and cost-effective, thus they do not support widespread market adoption.

Mange løsninger eksisterer som kun er basert på programvare, dvs. at de utfører kryptering av brukerdata basert på en nøkkel som er utledet fra en PIN-code, passord eller passfrase som brukeren velger. "Low-end" eksempler inkluderer TrueCrypt [1], som er en open-source løsning og USB Stick Encryption [2]. High-end løsninger som også benytter seg av maskinvare inkluderer Sony Micro Vault med fingeravtrykksleser [3]. Many solutions exist that are based only on software, i.e. they perform encryption of user data based on a key derived from a PIN code, password or passphrase that the user chooses. "Low-end" examples include TrueCrypt [1], which is an open-source solution, and USB Stick Encryption [2]. High-end solutions that also use hardware include the Sony Micro Vault with a fingerprint reader [3].

I [15] presenteres en oppfinnelse for å beskytte data som er lagret på en mobil enhet ved å benytte seg av nøkler som er fjernadministrert. I denne oppfinnelsen foreslår vi i stedet en løsning for å benytte den mobile enheten for etablering av nøkler brukt for å beskytte data primært lagret på en annen enhet, for eksempel en personlig datamaskin, laptop etc, selv om de krypterte data også kan lagres på den mobile enheten. Den nevnte oppfinnelsen beskriver ikke kryptering av data på en annen enhet enn mobiltelefonen, og den gir ingen løsning for etablering av nøkler av den mobile enheten. In [15], an invention is presented to protect data stored on a mobile device by using keys that are remotely administered. In this invention, we instead propose a solution to use the mobile device for the establishment of keys used to protect data primarily stored on another device, for example a personal computer, laptop etc, although the encrypted data can also be stored on it mobile device. The aforementioned invention does not describe encryption of data on a device other than the mobile phone, and it does not provide a solution for establishing keys for the mobile device.

Så langt oppfinneren vet, eksisterer det i dag ingen As far as the inventor knows, none currently exist

løsning for kryptering av brukerdata som benytter seg av et mobilt håndsett for generering av krypteringsnøkler, verken ved å bruke GSM SIM [4], UMTS USIM [5] eller ved å bruke en mobilapplikasjon på det mobile håndsettet. solution for encryption of user data that uses a mobile handset to generate encryption keys, either by using GSM SIM [4], UMTS USIM [5] or by using a mobile application on the mobile handset.

Oppsummering av oppfinnelsen Summary of the invention

Denne oppfinnelsen foreslår en krypteringsløsning som benytter seg av tofaktor autentisert tilgang til krypterings-/dekrypteringsnøklene, og ved dette øker den totale styrken på krypteringen. Ved å bruke eksisterende mobiltelefoner for nøkkelgenerering så er løsningen brukervennlig og lett å ta i bruk for brukerne, ettersom ingen ny eller spesialisert enhet (for eksempel en spesiell USB Flash minneenhet) er nødvendig. This invention proposes an encryption solution that makes use of two-factor authenticated access to the encryption/decryption keys, thereby increasing the overall strength of the encryption. By using existing mobile phones for key generation, the solution is user-friendly and easy to use for users, as no new or specialized device (for example a special USB Flash memory device) is required.

Den foreliggende oppfinnelsen vil la enhver bruker, enten profesjonell i et bedriftsmiljø eller for personlig bruk, å enkelt og kostnadseffektivt sikre nødvendig beskyttelse av konfidensiell og sensitiv informasjon, for eksempel under reise mellom to steder med lagring på en hvilken som helst USB Flash minneenhet eller liknende. The present invention will allow any user, whether professional in a business environment or for personal use, to easily and cost-effectively ensure the necessary protection of confidential and sensitive information, for example during travel between two places with storage on any USB Flash memory device or similar .

Den foreliggende oppfinnelsen gir en løsning for bruk av mobilteknologi (spesielt GSM SIM og UMTS USIM) for å utstede den endelige nøkkelen som brukes sammen med datakrypteringsalgoritmer (for eksempel AES [6]), ved å bruke denne for å kryptere data som deretter er lagret sikkert på en minneenhet som kan være en av følgende: The present invention provides a solution for using mobile technology (in particular GSM SIM and UMTS USIM) to issue the final key used in conjunction with data encryption algorithms (for example AES [6]), using this to encrypt data that is then stored securely on a memory device which can be one of the following:

• Harddisk i personlig datamaskin • Hard drive in personal computer

Ekstern USB harddisk External USB hard drive

USB Flash minneenhet USB Flash memory device

Minne på mobiltelefon (internt eller eksternt) Mobile phone memory (internal or external)

Etc. Etc.

GSM SIM-kort og UMTS USIM-kort er for tiden (og i henhold til globalt aksepterte spesifikasjoner) i stand til å generere sesjonsnøkler for bruk med stream ciphers for å kryptere mobilkommunikasjon mellom Mobile Equipment i mobiltelefonen og mobile basestasjoner (for eksempel BTS i GSM SIM cards and UMTS USIM cards are currently (and according to globally accepted specifications) capable of generating session keys for use with stream ciphers to encrypt mobile communications between Mobile Equipment in the mobile phone and mobile base stations (such as BTS in

GSM/GPRS). GSM/GPRS).

Nyheten i den foreliggende oppfinnelsen ligger i fremgangsmåten å gjenbruke slike personlige sesjonsnøkler og gi brukeren mulighet til å bruke de som generelle krypteringsnøkler for å kryptere og dekryptere brukerdata, lagret på en brukers minneenheter. The novelty of the present invention lies in the method of reusing such personal session keys and giving the user the opportunity to use them as general encryption keys to encrypt and decrypt user data, stored on a user's memory devices.

Denne oppfinnelsen foreslår en slik løsning som gir en sterk krypteringsløsning med tofaktor autentisert tilgang til krypteringsnøkkelen. This invention proposes such a solution which provides a strong encryption solution with two-factor authenticated access to the encryption key.

Oppfinnelsens omfang fremgår av de vedlagte patentkravene. The scope of the invention appears from the attached patent claims.

Kort beskrivelse av tegningene Brief description of the drawings

Oppfinnelsen vil nå bli beskrevet i detalj med referanse til de vedlagte tegningene, hvor: Figur 1 viser en generell arkitektur av oppfinnelsen. Figur 2 viser oppfinnelsen med bruk av GSM SIM-kort [7] for å etablere en tilstrekkelig krypterings-/dekrypteringsnøkkel. Figur 3 viser oppfinnelsen med bruk av UMTS USIM-kort [8] for å etablere en tilstrekkelig krypterings-/dekrypteringsnøkkel. Figur 4 viser oppfinnelsen med bruk av en mobilapplikasjon for å etablere en tilstrekkelig krypterings-/dekrypteringsnøkkel. Figur 5 viser oppfinnelsen med bruk av persistent lagring på mobiltelefonen for å lagre brukerdata. Figur 6 viser et generelt meldingssekvensdiagram for oppfinnelsen for nøkkelgenerering og The invention will now be described in detail with reference to the attached drawings, where: Figure 1 shows a general architecture of the invention. Figure 2 shows the invention using a GSM SIM card [7] to establish a sufficient encryption/decryption key. Figure 3 shows the invention using UMTS USIM cards [8] to establish a sufficient encryption/decryption key. Figure 4 shows the invention using a mobile application to establish a sufficient encryption/decryption key. Figure 5 shows the invention using persistent storage on the mobile phone to store user data. Figure 6 shows a general message sequence diagram of the invention for key generation and

kryptering/dekryptering. encryption/decryption.

Figur 7 viser et meldingssekvensdiagram for oppfinnelsen med bruk av et GSM SIM-kort for å etablere en tilstrekkelig krypteringsnøkkel og deretter utføre kryptering og dekryptering av brukerdata. Figure 7 shows a message sequence diagram for the invention using a GSM SIM card to establish a sufficient encryption key and then perform encryption and decryption of user data.

Detaljert beskrivelse Detailed description

Oppfinnelsen består av følgende hoveddeler: The invention consists of the following main parts:

• Metoden for å etablere nøkler for sterk kryptering og dekryptering av brukerdata. • Anordningen som muliggjør etableringen av nøkler for sterk kryptering og dekryptering av brukerdata. • The method for establishing keys for strong encryption and decryption of user data. • The device that enables the creation of keys for strong encryption and decryption of user data.

Figur 1 viser de generelle komponentene i oppfinnelsen. En programvarekomponent kalt Kryptohåndterer (3) er introdusert, og denne formidler kommunikasjon mellom de andre komponentene, som er Nøkkelgenerator (4) og Persistent Lagring(5). Kryptohåndterer (3) består av programvare som kan spørre brukeren om inndata gjennom et brukergrensesnitt Brukergrensesnitt (6) (for eksempel en PIN-kode, passfrase etc.) som er påkrevd som inndata til Nøkkelgenerator (4) for å kunne etablere en nøkkel. Kryptohåndterer (3) har også den nødvendige funksjonaliteten for å gjennomføre kryptering og dekryptering av brukerdata. Figure 1 shows the general components of the invention. A software component called Crypto Handler (3) is introduced, and this mediates communication between the other components, which are Key Generator (4) and Persistent Storage (5). Crypto handler (3) consists of software that can ask the user for input through a user interface User interface (6) (for example a PIN code, passphrase etc.) which is required as input to the Key Generator (4) in order to establish a key. Crypto handler (3) also has the necessary functionality to carry out encryption and decryption of user data.

Den generelle prosedyren for generering av nøkkel av Nøkkelgenerator (4) er: The general procedure for generating a key by Key Generator (4) is:

<K>enc (<=>Kdec)<=>A(<K>seCret, PASSPHRASE) <K>enc (<=>Kdec)<=>A(<K>seCret, PASSPHRASE)

Hvor PASSPHRASE er valgfri brukerinput til Where PASSPHRASE is optional user input to

nøkkelgenereringsalgoritmen A (videre diskutert senere), og Ksecreter en hemmelig nøkkel som allerede er utelukkende tilgjengelig for Nøkkelgenerator (4). the key generation algorithm A (further discussed later), and Ksecreter a secret key already exclusively available to Key Generator (4).

Kryptohåndterer (3) er i stand til å motta data som input og produsere en kryptert versjon av disse data som output, ved å benytte den etablerte nøkkelen Kencfor kryptering. Tilsvarende så er den i stand til å motta krypterte data som input og produsere en dekryptert versjon av disse data, ved å benytte den etablerte nøkkelen Kdecfor dekryptering. Kryptohåndterer (3) kommuniserer med Nøkkelgenerator (4) over grensesnittet Ia, og den kommuniserer med Persistent Lagring(5) over grensesnittet Ib og med brukeren gjennom Brukergrensesnitt (Ul) (6) over grensesnittet Ic. Figur 2 viser komponentene i oppfinnelsen, hvor en GSM Subscriber Identity Module (SIM) er benyttet for å generere krypteringsnøkler (representert ved NøkkelgeneratorSIMkomponenten (4) ) . I dette tilfellet refererer Ksecrettil Ki og Kencrefererer til Kcsom definert av ETSI/3GPP i spesifikasjonene [7]. Figur 3 viser komponentene i oppfinnelsen, hvor en UMTS Subscriber Identity Module (USIM) er benyttet for å generere krypteringsnøkler (representert ved NøkkelgeneratorUSIMkomponenten (4)). I dette tilfellet refererer KseCrettil Ki og Kencrefererer til Kcsom definert av ETSI/3GPP i spesifikasjonene [8] sammen med konverteringsfunksjonene definert i [9]. Figur 4 viser komponentene i oppfinnelsen, hvor en mobilapplikasjon er benyttet for å generere krypteringsnøkler (representert ved NøkkelgeneratorM0BAPPcomponent (4)). I dette tilfellet refererer KseCrettil en hemmelig nøkkel etablert gjennom en tidligere nøkkelgenereringsprosedyre, for eksempel ved bruk av en høy-entropi pseudo-random number generator (PRNG) eller annen kilde til høyt tilfeldige data. KseCretkan være lagret enten i Record Management Store (RMS) (8) [14] eller Persistent Lagring (9) . I dette tilfellet kan KseCretogså bli generert ved å aksessere GSM SIM eller UMTS USIM (U/SIM) (7). Figur 5 viser komponentene i oppfinnelsen, hvor lagring av data er gjort på selve mobiltelefonen (representert ved Persistent Lagring (5)). Crypto handler (3) is able to receive data as input and produce an encrypted version of this data as output, by using the established key Kencfor encryption. Correspondingly, it is able to receive encrypted data as input and produce a decrypted version of this data, by using the established key Kdecfor decryption. Crypto handler (3) communicates with Key Generator (4) over interface Ia, and it communicates with Persistent Storage (5) over interface Ib and with the user through User Interface (Ul) (6) over interface Ic. Figure 2 shows the components of the invention, where a GSM Subscriber Identity Module (SIM) is used to generate encryption keys (represented by the Key generator SIM component (4)). In this case, Ksecret refers to Ki and Kencrerefers to Kc as defined by ETSI/3GPP in the specifications [7]. Figure 3 shows the components of the invention, where a UMTS Subscriber Identity Module (USIM) is used to generate encryption keys (represented by the Key generator USIM component (4)). In this case, KseCrettil Ki and Kenrefers to Kc as defined by ETSI/3GPP in the specifications [8] together with the conversion functions defined in [9]. Figure 4 shows the components of the invention, where a mobile application is used to generate encryption keys (represented by Key generatorM0BAPPcomponent (4)). In this case, KseCrettil references a secret key established through a previous key generation procedure, such as using a high-entropy pseudo-random number generator (PRNG) or other source of highly random data. KseCret can be stored either in Record Management Store (RMS) (8) [14] or Persistent Storage (9) . In this case, KseCretogså can be generated by accessing GSM SIM or UMTS USIM (U/SIM) (7). Figure 5 shows the components of the invention, where data is stored on the mobile phone itself (represented by Persistent Storage (5)).

Når en bruker krever kryptering eller dekryptering av data så initialiserer brukeren Kryptohåndterer (3) komponenten, som kan kreve noen eller alle av de følgende inngangsverdiene fra brukeren gjennom Brukergrensesnitt (6)(Ul): • PIN-kode (for å låse opp U/SIM hvis Card Holder Verification (CHV) er aktivert) When a user requires encryption or decryption of data, the user initializes the Crypto Handler (3) component, which may require some or all of the following input values from the user through the User Interface (6)(Ul): • PIN code (to unlock U/ SIM if Card Holder Verification (CHV) is enabled)

• Passfrase/passord (valgfritt) • Passphrase/password (optional)

• Input data lokasjon (dvs. filplassering) • Input data location (ie file location)

• Output data lokasjon (dvs. filplassering) • Output data location (ie file location)

Etter at brukeren har oppgitt alle nødvendige inngangsverdier så kommuniserer Kryptohåndterer (3) med Nøkkelgenerator over grensesnittet Ia. Ia kan være implementert over et av følgende fysiske grensesnitt: After the user has entered all the necessary input values, the Crypto Handler (3) communicates with the Key Generator over the interface Ia. Ia can be implemented over one of the following physical interfaces:

• Bluetooth • Bluetooth

• USB • USB

• WiFi/WLAN • WiFi/WLAN

En hvilken som helst annen trådløs kommunikasjonsteknologi som er støttet av Datainnretninger (1) og (2), og hvor Datainnretning (2) inneholder Nøkkelgenerator (4) (for eksempel ZigBee, IrDA, seriell forbindelse som RS232). Any other wireless communication technology supported by Data Devices (1) and (2), and where Data Device (2) contains Key Generator (4) (for example, ZigBee, IrDA, serial connection such as RS232).

Som et eksempel (ikke normativt), ved bruk av GSM SIM-kort for etablering av krypteringsnøkkelen, så kan en 128-bit nøkkel for bruk med AES-128 bli beregnet som følger (hvor A38 representerer kombinasjonen av A3 og A8 som definert i As an example (not normative), when using a GSM SIM card to establish the encryption key, a 128-bit key for use with AES-128 can be calculated as follows (where A38 represents the combination of A3 and A8 as defined in

[7]) : [7]) :

[Kc, SRES]=A38(Ki, SHA-1 (PASSPHRASE) ) [Kc, SRES]=A38(Ki, SHA-1 (PASSPHRASE) )

En SHA-1 kontrollsum kan bli beregnet over passfrasen (PASSPHRASE) så tidlig som mulig etter at brukeren har skrevet den inn, slik at det opprinnelige innholdet i passfrasen blir minimert eksponert: A SHA-1 checksum can be calculated over the passphrase (PASSPHRASE) as early as possible after the user has entered it, so that the original content of the passphrase is minimally exposed:

SHA-1([KcI SRES I SHA-1(PASSPHRASE)]) SHA-1([KcI SRES I SHA-1(PASSPHRASE)])

Ettersom AES-128 krever en 128-bit nøkkel kan de høye/lave 32 bits av den endelige SHA-1 hashen bli utelatt. Andre arrangement som gir lengre nøkler er også mulig (for eksempel 256 bit for AES-256). As AES-128 requires a 128-bit key, the high/low 32 bits of the final SHA-1 hash may be omitted. Other arrangements that provide longer keys are also possible (eg 256 bits for AES-256).

Passfrasen PASSPHRASE er valgfri; den bidrar til ytterligere styrke i løsningen, men kan bli erstattet av standardverdier (for eksempel en 0-paddet byte array eller liknende). Den resulterende krypteringsnøkkelen vil fortsatt være direkte knyttet til den private nøkkelen Ksecret (i tilfellet GSM SIM så vil dette være Ki) . The passphrase PASSPHRASE is optional; it contributes to additional strength in the solution, but can be replaced by default values (eg a 0-padded byte array or similar). The resulting encryption key will still be directly linked to the private key Ksecret (in the case of the GSM SIM this will be Ki).

Komponentenes funksjonalitet The functionality of the components

Datainnretning ( 1) Computer device ( 1)

Denne komponenten representerer en enhet som brukeren benytter for å få tilgang til sine data, for eksempel en personlig datamaskin, en bærbar datamaskin, en PDA etc. This component represents a device that the user uses to access their data, for example a personal computer, a laptop, a PDA, etc.

Datainnretning ( 2) Computer device ( 2)

Denne komponenten representerer en andre enhet som brukeren har til disposisjon, for eksempel en GSM/UMTS mobiltelefon, en PDA eller en hvilken som helst dataenhet med integrerte muligheter for ekstern kommunikasjon, en sentral prosesseringsenhet (CPU), dynamisk minne (RAM) og persistent lagring, i stand til å inneholde og kjøre en programvarekomponent som Nøkkelgenerator (4). This component represents a second device at the user's disposal, such as a GSM/UMTS mobile phone, a PDA or any computing device with integrated capabilities for external communication, a central processing unit (CPU), dynamic memory (RAM) and persistent storage , capable of containing and running a software component such as Key Generator (4).

Kryptohåndterer ( 3) Crypto Manager ( 3)

Denne komponenten representerer en programvarekomponent som valgfritt tar en passfrase som inndata fra brukeren gjennom Brukergrensesnitt (6), videresender denne passfrasen til Nøkkelgenerator (4) og deretter mottar en krypterings-eller dekrypteringsnøkkel tilbake. Kryptohåndterer (3) tar også som inndata fra brukeren gjennom Brukergrensesnitt (6) brukerdata for å bli kryptert/dekryptert, eller en referanse til disse (for eksempel et filnavn). Kryptohåndterer (3) bruker "state-of-the-art" algoritmer for kryptering/dekryptering av brukerdata, for eksempel AES-128, AES-256 [6], TwoFish [10] etc. De kryptert/dekrypterte brukerdata kan bli lagret i henhold til spesifiseringen av brukeren gjennom Brukergrensesnitt (6) . This component represents a software component that optionally takes a passphrase as input from the user through the User Interface (6), forwards this passphrase to the Key Generator (4) and then receives an encryption or decryption key back. Crypto handler (3) also takes as input from the user through the User interface (6) user data to be encrypted/decrypted, or a reference to these (for example a file name). Crypto handler (3) uses "state-of-the-art" algorithms for encryption/decryption of user data, for example AES-128, AES-256 [6], TwoFish [10] etc. The encrypted/decrypted user data can be stored in according to the specification of the user through the User Interface (6) .

For at dekrypteringen skal være vellykket må Kryptohåndterer (3) benytte samme nøkkel i For the decryption to be successful, Kryptohanterer (3) must use the same key i

dekrypteringsfasen som den som ble benyttet i krypteringsfasen, dvs. at passfrasen (hvis benyttet) må være identisk med den som ble oppgitt i krypteringsfasen, og Nøkkelgenerator (4) må være i besittelse av den samme hemmelige nøkkelen Ksecretsom den var i krypteringsf asen. the decryption phase as the one used in the encryption phase, i.e. the passphrase (if used) must be identical to the one entered in the encryption phase, and Key Generator (4) must be in possession of the same secret key Ksecret as it was in the encryption phase.

Instansen av Nøkkelgenerator (4) må også implementere samme algoritme som ble benyttet i krypteringsfasen. The instance of Key Generator (4) must also implement the same algorithm that was used in the encryption phase.

Nøkkelgenerator ( 4) Key Generator ( 4)

Nøkkelgenerator (4) er enten en maskinvareenhet, som et GSM SIM-kort, UMTS USIM-kort, Smart Card etc, eller den er en programvarekomponent som kjører på Datainnretning (2) , for eksempel en Java eller "native"/C++ applikasjon som er installert på en mobiltelefon. Key generator (4) is either a hardware device, such as a GSM SIM card, UMTS USIM card, Smart Card etc, or it is a software component running on the Data Device (2), such as a Java or "native"/C++ application that is installed on a mobile phone.

Nøkkelgenerator (4) eksponerer grensesnittet Ia. Key generator (4) exposes the interface Ia.

Grensesnitt Ia Interface Ia

Dette grensesnittet er benyttet av Kryptohåndterer (3) for å motta krypterings- og dekrypteringsnøkler. This interface is used by Kryptohänterer (3) to receive encryption and decryption keys.

I tilfellet når Nøkkelgenerator (4) er et GSM SIM-kort så støtter Ia kommandoene som spesifisert i [11]. Disse kommandoene kan bli utstedt over ulike fysiske bærere, for eksempel over en trådbasert seriell forbindelse eller over en trådløs Bluetooth forbindelse ved bruk av SIM Access Profile (SAP) [12] . In the case when Key Generator (4) is a GSM SIM card, Ia supports the commands as specified in [11]. These commands can be issued over different physical carriers, for example over a wired serial connection or over a wireless Bluetooth connection using the SIM Access Profile (SAP) [12] .

I tilfellet når Nøkkelgenerator (4) er et UMTS USIM så støtter Ia kommandoene som spesifisert i [5]. Disse kommandoene kan bli utstedt over ulike fysiske bærere, for eksempel over en trådbasert seriell forbindelse eller over en trådløs Bluetooth forbindelse ved bruk av SIM Access Profile (SAP) [12] . In the case when the Key Generator (4) is a UMTS USIM then Ia supports the commands as specified in [5]. These commands can be issued over different physical carriers, for example over a wired serial connection or over a wireless Bluetooth connection using the SIM Access Profile (SAP) [12] .

I tilfellet når Nøkkelgenerator (4) er en In the case when Key Generator (4) is one

programvarekomponent (for eksempel en mobilapplikasjon) så støtter Ia følgende metode, som kan være kalt over ulike fysiske bærere, for eksempel en USB forbindelse, en seriell forbindelse, en Bluetooth forbindelse etc: K[ enc\ dec] generatéKey( PASSPHRASE) - Denne metoden er benyttet for å generere krypterings/dekrypteringsnøkkelen for brukeren. Programvarekomponenten kan generere krypteringsnøkkelen enten ved å kommunisere med GSM SIM eller UMTS USIM (ved å utstede kommandoer som spesifisert i software component (for example a mobile application) then Ia supports the following method, which can be called over different physical carriers, for example a USB connection, a serial connection, a Bluetooth connection etc: K[ enc\ dec] generatéKey( PASSPHRASE) - This method is used to generate the encryption/decryption key for the user. The software component can generate the encryption key either by communicating with the GSM SIM or the UMTS USIM (by issuing commands as specified in

[11][5] over SATSA-APDU [13] eller ved bruk av "native"/C++ biblioteker), eller den kan utlede krypteringsnøkkelen basert på en hemmelig nøkkel lagret enten i Record Management Store (RMS) (8) i J2ME/JavaME eller lagret andre steder i Persistent Lagring (9) på Datainnretning (2). Hvis en passfrase er spesifisert i metodekallet så er den brukt sammen med den hemmelige nøkkelen KseCretfor å generere krypteringsnøkkelen. Bruk av passfrase er valgfritt, men bidrar til ytterligere styrke i den etablerte nøkkelen. [11][5] over SATSA-APDU [13] or using "native"/C++ libraries), or it can derive the encryption key based on a secret key stored either in the Record Management Store (RMS) (8) in J2ME/ JavaME or stored elsewhere in Persistent Storage (9) on Data Device (2). If a passphrase is specified in the method call, it is used together with the secret key KseCret to generate the encryption key. Use of a passphrase is optional, but contributes to further strength in the established key.

Persistent Lagring ( 5) Persistent Storage ( 5)

Denne komponenten representerer persistent, fysisk lagring, koblet til Datainnretning (1), for eksempel: This component represents persistent, physical storage, connected to Data device (1), for example:

- USB Flash minneenheter - USB Flash memory devices

- Intern harddisk - Internal hard drive

- Ekstern harddisk - External harddrive

- CD-R/W - CD-R/W

- DVD-R/W - DVD-R/W

- Etc. - Etc.

Brukergrensesnitt ( Ul) ( 6) User interface ( Ul) ( 6)

Denne komponenten representerer et brukergrensesnitt for å motta input fra brukeren, for eksempel for å motta en PIN-kode for å gjennomføre CHV på GSM SIM-kort/UMTS USIM-kort, passfrase, lokasjon for inndata for kryptering og lokasjon for utdata etc. This component represents a user interface to receive input from the user, for example to receive a PIN code to perform CHV on GSM SIM card/UMTS USIM card, passphrase, location for input data for encryption and location for output data etc.

U/ SIM ( 7) Without SIM ( 7)

Denne komponenten representerer en standard GSM SIM eller UMTS USIM. Komponenten eksponerer grensesnittet Ie som definert i [4][5][7][8][9][11]. This component represents a standard GSM SIM or UMTS USIM. The component exposes the interface Ie as defined in [4][5][7][8][9][11].

Record Management Store ( RMS) ( 8) Record Management Store ( RMS) ( 8)

Denne komponenten representerer Record Management Store (RMS) i J2ME/JavaME-støttede enheter. Komponenten eksponerer grensesnittet Id som definert i [14]. This component represents the Record Management Store (RMS) in J2ME/JavaME supported devices. The component exposes the interface Id as defined in [14].

Persistent Lagring ( 9) Persistent Storage ( 9)

Denne komponenten representerer persistent, fysisk lagring, koblet til Datainnretning (2), for eksempel: This component represents persistent, physical storage, connected to Data device (2), for example:

- Flash minne koblet til enheten - Flash memory connected to the device

- MemoryStick koblet til enheten - MemoryStick connected to the device

- Intern lagring på enheten - Internal storage on the device

- Etc. - Etc.

Meldingssekvensdiagrammer Message Sequence Diagrams

Figur 6 viser et UML meldingssekvensdiagram som illustrerer den generelle prosessen for å etablere en krypteringsnøkkel for deretter å bruke den til kryptering av brukerdata. I dette tilfellet så er Datainnretning (2) en hvilken som helst dataenhet med en programvarekomponent Nøkkelgenerator (4) installert. Figure 6 shows a UML message sequence diagram illustrating the general process for establishing an encryption key and then using it to encrypt user data. In this case, Data Device (2) is any data device with a software component Key Generator (4) installed.

Meldingene i Figur 6 (for kryptering av brukerdata) er som følger: 1: specifyData( Filename) - Brukeren spesifiserer data som skal bli kryptert og Brukergrensesnitt (Ul) (6) videresender denne informasjonen til Kryptohåndterer (3). 2: specifyPassphrase( PASSPHRASE) - Brukeren (ikke påkrevd) spesifiserer en passfrase og Brukergrensesnitt (Ul) (6) videresender denne til Kryptohåndterer (3). 2. 1: generateKey( PASSPHRASE) - Kryptohåndterer (3) forespør nøkkelgenerering av Nøkkelgenerator (4) og (ikke påkrevd) videresender den brukerspesifiserte passfrasen. 2. 1. 1: generateKey ( Ksecret, PASSPHRASE) - Nøkkelgenerator (4) genererer en nøkkel basert på en hemmelig nøkkel KseCretog (ikke påkrevd) den brukerspesifiserte passfrasen. 2. 1. 2: returnKey ( Kenc)~Nøkkelgenerator (4) returnerer den genererte krypteringsnøkkelen til Kryptohåndterer (3). 2. 1. 2. 1: readData( Filename) - Kryptohåndterer (3) forespør brukerdata fra Persistent Lagring (5). 2. 1. 2. 1. 1: returnData ( Data) - Persistent Lagring (5) returnerer forespurte data. 2. 1. 2. 1. 1. 1: en cryp tData ( Data, Kenc, PASSPHRASE) - Kryptohåndterer (3) krypterer de brukerspesifiserte data ved å bruke den utstedte krypteringsnøkkelen. 2. 1. 2. 1. 1. 2: saveEncryptedData ( EncryptedData) - Kryptohåndterer (3) lagrer de krypterte data til Persistent Lagring (5). The messages in Figure 6 (for encryption of user data) are as follows: 1: specifyData( Filename) - The user specifies data to be encrypted and User Interface (Ul) (6) forwards this information to Kryptohänderer (3). 2: specifyPassphrase( PASSPHRASE) - The user (not required) specifies a passphrase and User Interface (Ul) (6) forwards this to Kryptohandlerer (3). 2. 1: generateKey( PASSPHRASE) - CryptoHandler (3) requests key generation by Key Generator (4) and (not required) forwards the user-specified passphrase. 2. 1. 1: generateKey ( Ksecret, PASSPHRASE) - Key generator (4) generates a key based on a secret key KseCretog (not required) the user-specified passphrase. 2. 1. 2: returnKey ( Kenc)~Key generator (4) returns the generated encryption key to Kryptohandler (3). 2. 1. 2. 1: readData( Filename) - Crypto handler (3) request user data from Persistent Storage (5). 2. 1. 2. 1. 1: returnData ( Data) - Persistent Storage (5) returns the requested data. 2. 1. 2. 1. 1. 1: en cryp tData ( Data, Kenc, PASSPHRASE) - CryptoHandler (3) encrypts the user-specified data using the issued encryption key. 2. 1. 2. 1. 1. 2: saveEncryptedData ( EncryptedData) - Crypto handler (3) saves the encrypted data to Persistent Storage (5).

Meldingene i Figur 6 (for dekryptering av brukerdata) er som følger: 3: specifyData( Filename) - Brukeren spesifiserer data som skal dekrypteres, og Brukergrensesnitt (Ul) (6) videresender denne informasjonen til Kryptohåndterer (3). 4: specifyPassphrase( PASSPHRASE) - Brukeren (ikke påkrevd) spesifiserer en passfrase og Brukergrensesnitt (Ul) (6) videresender denne informasjonen til Kryptohåndterer(3). 4. 1: generateKey( PASSPHRASE) - Kryptohåndterer (3) forespør nøkkelgenerering av Nøkkelgenerator (4), og (ikke påkrevd) videresender den brukerspesifiserte passfrasen. 4. 1. 1: generateKey ( Ksecret, PASSPHRASE) - Nøkkelgenerator (4) genererer en nøkkel basert på den hemmelige nøkkelen KseCretog (ikke påkrevd) den brukerspesifiserte passfrasen. 4. 1. 2: returnKey ( Kdec) - Nøkkelgenerator (4) returnerer den genererte dekrypteringsnøkkelen til Kryptohåndterer (3). 4. 1. 2. 1: readData( Filename) - Kryptohåndterer (3) forespør brukerdata fra Persistent Lagring (5). 4. 1. 2. 1. 1: returnData ( EncryptedData) - Persistent Lagring The messages in Figure 6 (for decryption of user data) are as follows: 3: specifyData( Filename) - The user specifies data to be decrypted, and User Interface (Ul) (6) forwards this information to Kryptohänderer (3). 4: specifyPassphrase( PASSPHRASE) - The user (not required) specifies a passphrase and User Interface (Ul) (6) forwards this information to Kryptohandlerer(3). 4. 1: generateKey( PASSPHRASE) - CryptoHandler (3) requests key generation by Key Generator (4), and (not required) forwards the user-specified passphrase. 4. 1. 1: generateKey ( Ksecret, PASSPHRASE) - Key generator (4) generates a key based on the secret key KseCretog (not required) the user-specified passphrase. 4. 1. 2: returnKey ( Kdec) - Key Generator (4) returns the generated decryption key to Crypto Handler (3). 4. 1. 2. 1: readData( Filename) - Crypto handler (3) request user data from Persistent Storage (5). 4. 1. 2. 1. 1: returnData ( EncryptedData) - Persistent Storage

(5) returnerer de forespurte data. (5) returns the requested data.

4. 1. 2. 1. 1. 1: decryptData ( EncryptedData, Kdec, PASSPHRASE) - Kryptohåndterer (3) dekrypterer de brukerspesifiserte data ved å benytte den utstedte dekrypteringsnøkkelen. 4. 1. 2. 1. 1. 2: saveDecryptedData ( Data) - Kryptohåndterer (3) lagrer de dekrypterte data til persistent lagring. 4. 1. 2. 1. 1. 1: decryptData ( EncryptedData, Kdec, PASSPHRASE) - Crypto handler (3) decrypts the user-specified data using the issued decryption key. 4. 1. 2. 1. 1. 2: saveDecryptedData ( Data) - Crypto handler (3) saves the decrypted data to persistent storage.

Disse meldingssekvensene illustrerer de generelle nøkkelgenererings- og krypteringsprosessene. I praksis vil Nøkkelgenerator (4) være instansiert som et GSM SIM-kort, UMTS USIM-kort, Smart Card, mobilapplikasjon etc. These message sequences illustrate the general key generation and encryption processes. In practice, Key Generator (4) will be instantiated as a GSM SIM card, UMTS USIM card, Smart Card, mobile application etc.

Figur 7 viser et UML meldingssekvensdiagram for situasjonen hvor GSM SIM benyttes. Meldingene i Figur 7 (for kryptering av brukerdata) er som følger: Figure 7 shows a UML message sequence diagram for the situation where GSM SIM is used. The messages in Figure 7 (for encryption of user data) are as follows:

1: specifyData( Filename) - Brukeren spesifiserer data som skal krypteres og Brukergrensesnitt (Ul) (6) videresender denne informasjonen til Kryptohåndterer (3). 2: specifyPIN( PIN) - Brukeren (ikke påkrevd) spesifiserer PIN-kode for å gjennomføre Card Holder Verification (CHV) mot GSM SIM-kortet. 3: specifyPassphrase( PASSPHRASE) - Brukeren (ikke påkrevd) spesifiserer en passfrase og Brukergrensesnitt (Ul) (6) videresender denne til Kryptohåndterer (3). 3. 1: checkCHV( PIN) - Kryptohåndterer (3) forespør tilgang til GSM SIM-kortet ved å gjennomføre CHV-funksjonen med den brukerspesifiserte PIN-koden. 3. 1. 1: chvOK() - GSM SIM-kortet svarer med suksess hvis PIN-koden var korrekt. 3. 1. 1. 1: runA38( PASSPHRASE) - Kryptohåndterer (3) forespør GSM SIM-kortet om å kjøre A38 algoritmen med den brukerspesifiserte passfrasen PASSPHRASE som inndata. 3. 1. 1. 1. 1: runA38( Ki, PASSPHRASE) - GSM SIM-kortet kjører A38-algoritmen med den brukerspesifiserte passfrasen PASSPHRASE og den hemmelige nøkkelen Ki som inndata. 3. 1. 1. 1. 2: runA38Response ( Kc, SRES) - GSM SIM-kortet returnerer resultatet av A38 algoritmen (Kcand SRES) til Kryptohåndterer (3). 3. 1. 1. 1. 2. 1: readData ( Filename) - Kryptohåndterer (3) forespør brukerspesifiserte data fra Persistent Lagring (5) . 3. 1. 1. 1. 2. 1. 1: returnData ( Data) - Persistent Lagring (5) returnerer de brukerspesifiserte data. 3. 1. 1. 1. 2. 1. 1. 1: encryptData ( Data, Kc, SRES, PASSPHRASE) - Kryptohåndterer (3) krypterer de spesifiserte data ved å bruke en kombinasjon av Kc, SRES og PASSPHRASE. 3. 1. 1. 1. 2. 1. 1. 2: saveEncryptedData( EncryptedData) - Kryptohåndterer (3) lagrer de krypterte data til Persistent Lagring (5). 1: specifyData( Filename) - The user specifies data to be encrypted and the User Interface (Ul) (6) forwards this information to the Crypto Handler (3). 2: specifyPIN( PIN) - The user (not required) specifies the PIN code to carry out Card Holder Verification (CHV) against the GSM SIM card. 3: specifyPassphrase( PASSPHRASE) - The user (not required) specifies a passphrase and User Interface (Ul) (6) forwards this to Kryptohandlerer (3). 3. 1: checkCHV( PIN) - Crypto handler (3) request access to the GSM SIM card by executing the CHV function with the user specified PIN code. 3. 1. 1: chvOK() - The GSM SIM card responds successfully if the PIN code was correct. 3. 1. 1. 1: runA38( PASSPHRASE) - Crypto handler (3) request the GSM SIM card to run the A38 algorithm with the user-specified passphrase PASSPHRASE as input. 3. 1. 1. 1. 1: runA38( Ki, PASSPHRASE) - The GSM SIM runs the A38 algorithm with the user-specified passphrase PASSPHRASE and the secret key Ki as input. 3. 1. 1. 1. 2: runA38Response ( Kc, SRES) - The GSM SIM card returns the result of the A38 algorithm (Kcand SRES) to Kryptohandlerer (3). 3. 1. 1. 1. 2. 1: readData ( Filename) - CryptoHandler (3) request user-specified data from Persistent Storage (5) . 3. 1. 1. 1. 2. 1. 1: returnData ( Data) - Persistent Storage (5) returns the user-specified data. 3. 1. 1. 1. 2. 1. 1. 1: encryptData ( Data, Kc, SRES, PASSPHRASE) - CryptoHandler (3) encrypts the specified data using a combination of Kc, SRES and PASSPHRASE. 3. 1. 1. 1. 2. 1. 1. 2: saveEncryptedData( EncryptedData) - Crypto handler (3) saves the encrypted data to Persistent Storage (5).

Meldingen i Figur 7 (for dekryptering av brukerdata) er som følger: 4: specifyData( Filename) - Brukeren spesifiserer data som skal dekrypteres og Brukergrensesnitt (Ul) (6) videresender denne informasjonen til Kryptohåndterer (3) 5: specifyPIN( PIN) - Brukeren (ikke påkrevd) spesifiserer PIN-kode for å gjennomføre Card Hold Verification (CHV) mot GSM SIM-kortet. 6: specifyPassphrase( PASSPHRASE) - Brukeren (ikke påkrevd) spesifiserer en passfrase og Brukergrensesnitt (Ul) (6) videresender denne til Kryptohåndterer (3) 6. 1: checkCHV( PIN) - Kryptohåndterer (3) forespør tilgang til GSM SIM-kortet ved å gjennomføre CHV-funksjonen med brukerspesifisert PIN-kode. 6. 1. 1: chvOK() - GSM SIM-kortet svarer med suksess hvis PIN-koden var korrekt. 6. 1. 1. 1: runA38( PASSPHRASE) - Kryptohåndterer (3) forespør GSM SIM-kortet om å kjøre A38-algoritmen med brukerspesifisert passfrase PASSPHRASE som inndata. 6. 1. 1. 1. 1: runA38( Kir PASSPHRASE) - GSM SIM-kortet kjører A38-algorimen med brukerspesifisert passfrase PASSPHRASE og hemmelig nøkkel Ki som inndata. 6. 1. 1. 1. 2: runA38Response ( Kc, SRES) - GSM SIM-kortet returnerer resultatene av A38-algoritmen (Kcog SRES) til Kryptohåndterer (3) 6. 1. 1. 1. 2. 1: readData ( Filename) - Kryptohåndterer (3) forespør de brukerspesifisert data fra Persistent Lagring (5) . 6. 1. 1. 1. 2. 1. 1: returnData ( EncryptedData) - Persistent Lagring (5) returnerer de brukerspesifiserte data. 6. 1. 1. 1. 2. 1. 1. 1: decryptData ( EncryptedData, Kc/SRES, PASSPHRASE) - Kryptohåndterer (3) dekrypterer de spesifiserte data ved å bruke en kombinasjon av Kc, SRES og The message in Figure 7 (for decryption of user data) is as follows: 4: specifyData( Filename) - The user specifies data to be decrypted and User Interface (Ul) (6) forwards this information to Kryptohandlerer (3) 5: specifyPIN( PIN) - The user (not required) specifies the PIN code to carry out Card Hold Verification (CHV) against the GSM SIM card. 6: specifyPassphrase( PASSPHRASE) - The user (not required) specifies a passphrase and User Interface (Ul) (6) forwards this to Kryptohandler (3) 6. 1: checkCHV( PIN) - Kryptohandler (3) requests access to the GSM SIM card by implementing the CHV function with a user-specified PIN code. 6. 1. 1: chvOK() - The GSM SIM card responds successfully if the PIN code was correct. 6. 1. 1. 1: runA38( PASSPHRASE) - Crypto handler (3) request the GSM SIM card to run the A38 algorithm with user-specified passphrase PASSPHRASE as input. 6. 1. 1. 1. 1: runA38( Kir PASSPHRASE) - The GSM SIM card runs the A38 algorithm with user-specified passphrase PASSPHRASE and secret key Ki as input. 6. 1. 1. 1. 2: runA38Response ( Kc, SRES) - The GSM SIM card returns the results of the A38 algorithm (Kcog SRES) to CryptoHandler (3) 6. 1. 1. 1. 2. 1: readData ( Filename) - Crypto handler (3) request the user-specified data from Persistent Storage (5). 6. 1. 1. 1. 2. 1. 1: returnData ( EncryptedData) - Persistent Storage (5) returns the user-specified data. 6. 1. 1. 1. 2. 1. 1. 1: decryptData ( EncryptedData, Kc/SRES, PASSPHRASE) - Crypto handler (3) decrypts the specified data using a combination of Kc, SRES and

PASSPHRASE. PASS PHRASE.

6. 1. 1. 1. 2. 1. 1. 2: saveDecryptedData ( Data) - Kryptohåndterer (3) lagrer de dekrypterte brukerdata til Persistent Lagring (5) . 6. 1. 1. 1. 2. 1. 1. 2: saveDecryptedData ( Data) - Crypto handler (3) saves the decrypted user data to Persistent Storage (5) .

For andre instansieringer av Nøkkelgenerator (4) (for eksempel UMTS USIM, mobilapplikasjon etc.) vil sekvensen av meldinger være tilsvarende. For other instantiations of Key Generator (4) (for example UMTS USIM, mobile application etc.) the sequence of messages will be similar.

Informasjonskilder med referanser Information sources with references

[1] TrueCrypt, http:// www. truecrypt. org/ [1] TrueCrypt, http://www. truecrypt. org/

[2] GiliSoft, http:// www. gilisoft. com/ [2] GiliSoft, http:// www. gilisoft. com/

[3] Sony Micro Vault, [3] Sony Micro Vault,

http://www.sony.net/Products/Media/Microvault/ http://www.sony.net/Products/Media/Microvault/

[4] ETSI/3GPP TS 100.922 V8.0.0, "Digital cellular telecommunications system (Phase 2+) (GSM); Subscriber Identity Modules (SIM); Functional characteristics (GSM 02.17 version 8.0.0 Release 1999)" [4] ETSI/3GPP TS 100.922 V8.0.0, "Digital cellular telecommunications system (Phase 2+) (GSM); Subscriber Identity Modules (SIM); Functional characteristics (GSM 02.17 version 8.0.0 Release 1999)"

[5] ETSI/3GPP TS 131.102 V8.7.0, "Universal Mobile Telecommunications System (UMTS); LTE; Characteristics of the Universal Subscriber Identity Module (USIM) application (3GPP TS 31.102 version 8.7.0 Release 8)" [5] ETSI/3GPP TS 131.102 V8.7.0, "Universal Mobile Telecommunications System (UMTS); LTE; Characteristics of the Universal Subscriber Identity Module (USIM) application (3GPP TS 31.102 version 8.7.0 Release 8)"

[6] Federal Information Processing Standards, "Announcing the Advanced Encryption Standard (AES)", online: http:// csrc. nist. gov/ publications/ fips/ fips! 97/ fips- 197. pdf [6] Federal Information Processing Standards, "Announcing the Advanced Encryption Standard (AES)", online: http:// csrc. nist. gov/ publications/ fips/ fips! 97/ fips- 197. pdf

[7] ETSI/3GPP TS 100.929, "Digital cellular telecommunications system (Phase 2+); Security-related network functions (3GPP TS 03.20 version 8.6.0 Release 1999)" [7] ETSI/3GPP TS 100.929, "Digital cellular telecommunications system (Phase 2+); Security-related network functions (3GPP TS 03.20 version 8.6.0 Release 1999)"

[8] ETSI/3GPP TS 131.900, "Universal Mobile Telecommunications System (UMTS); LTE; SIM/USIM internal and external interworking aspects (3GPP TR 31.900 version 8.0.0 Release 8)" [8] ETSI/3GPP TS 131.900, "Universal Mobile Telecommunications System (UMTS); LTE; SIM/USIM internal and external interworking aspects (3GPP TR 31.900 version 8.0.0 Release 8)"

[9] ETSI/3GPP TS 133.102, "Universal Mobile Telecommunications System (UMTS); LTE; 3G security; Security architecture (3GPP TS 33.102 version 8.4.0 Release 8) " [9] ETSI/3GPP TS 133.102, "Universal Mobile Telecommunications System (UMTS); LTE; 3G security; Security architecture (3GPP TS 33.102 version 8.4.0 Release 8) "

[10] B. Schneier, J. Kelsey, D. Whiting, D. Wagner, C. Hall, N. Ferguson, "Twofish: A 128-Bit Block Cipher", June 1998, http://www.schneier.com/paper-twofish-paper.html [10] B. Schneier, J. Kelsey, D. Whiting, D. Wagner, C. Hall, N. Ferguson, "Twofish: A 128-Bit Block Cipher", June 1998, http://www.schneier.com /paper-twofish-paper.html

[11] ETSI/3GPP, TS 11.11, "Digital cellular telecommunications system (Phase 2) (GSM); Specification of the Subscriber Identity Module - Mobile Equipment (SIM - ME) interface (GSM 11.11 version 4.21.1)" [11] ETSI/3GPP, TS 11.11, "Digital cellular telecommunications system (Phase 2) (GSM); Specification of the Subscriber Identity Module - Mobile Equipment (SIM - ME) interface (GSM 11.11 version 4.21.1)"

[12] PaloWireless, "SIM Access Profile", [12] PaloWireless, "SIM Access Profile",

http:// www. palowireless. com/ infotooth/ tutorial/ nl2 sap. asp http://www. palowireless. com/ infotooth/ tutorial/ nl2 sap. aspen

[13] Java Community Process (JCP), "JSR 177: Security and Trust Services API for J2ME (SATSA)", [13] Java Community Process (JCP), "JSR 177: Security and Trust Services API for J2ME (SATSA)",

http:// j cp. org/ en/ j sr/ summary?id=17 7 http://jcp. org/ en/ j sr/ summary?id=17 7

[14] Java Community Process (JCP), "JSR 118: Mobile Information Device Profile 2.0", [14] Java Community Process (JCP), "JSR 118: Mobile Information Device Profile 2.0",

http://j cp.org/en/j sr/summary?id=118 http://j cp.org/en/j sr/summary?id=118

[15] United States Patent Application Publication, "Systems and methods for controlling access to encrypted data stored on a mobile device", Pub. No: US 2010/005296 Al, January 7th, 2010 [15] United States Patent Application Publication, "Systems and methods for controlling access to encrypted data stored on a mobile device", Pub. No: US 2010/005296 Al, January 7th, 2010

Claims (23)

1. En metode for å generere en nøkkel for bruk i kryptering og dekryptering av brukerdata,karakterisert vedat nevnte nøkkelgenerering inneholder følgende trinn: En programvarekomponent Kryptohåndterer (3) på en Datainnretning (1) forespør en nøkkel fra en Nøkkelgenerator (4) på en andre Datainnretning (2); Nevnte Nøkkelgenerator (4) benytter en algoritme A og en hemmelig nøkkel KseCretfor å generere en nøkkel K; Nevnte Nøkkelgenerator (4) returnerer nevnte nøkkel K til nevnte Kryptohåndterer (3).1. A method for generating a key for use in encryption and decryption of user data, characterized in that said key generation contains the following steps: A software component Crypto Handler (3) on a Data Device (1) request a key from a Key Generator (4) on a second Computer equipment (2); Said Key Generator (4) uses an algorithm A and a secret key KseCret to generate a key K; Said Key Generator (4) returns said key K to said Crypto Handler (3). 2. Metoden i krav 1,karakterisert vedat nevnte Nøkkelgenerator (4) benytter en predefinert verdi S og en hemmelig verdi KseCretallerede i nevnte Nøkkelgenerators (4) besittelse, som inngangsverdier til nevnte algoritme A for å generere nevnte nøkkel K.2. The method in claim 1, characterized in that said Key Generator (4) uses a predefined value S and a secret value KseCretalled in said Key Generator's (4) possession, as input values to said algorithm A to generate said key K. 3. Metoden i krav 1,karakterisert vedat nevnte nøkkelgenerering inneholder følgende trinn: Nevnte Nøkkelgenerator (4) mottar en predefinert verdi V fra nevnte Kryptohåndterer (3); Nevnte Nøkkelgenerator (4) benytter nevnte verdi V og en hemmelig verdi Ksecretallerede i nevnte Nøkkelgenerators (4) besittelse som inngangsverdier til nevnte algoritme A for å generere nevnte nøkkel K.3. The method in claim 1, characterized in that said key generation contains the following steps: Said Key Generator (4) receives a predefined value V from said Crypto Handler (3); Said Key Generator (4) uses said value V and a secret value K secreted in said Key Generator's (4) possession as input values to said algorithm A to generate said key K. 4. Metoden i krav 1,karakterisert vedat nevnte nøkkelgenerering inneholder følgende trinn: Brukeren spesifiserer en passfrase P, bestående av en rekke av tegn eller bytes, til nevnte Kryptohåndterer (3) gjennom et brukergrensesnitt Brukergrensesnitt (6); Nevnte Kryptohåndterer (3) sender nevnte passfrase P til nevnte Nøkkelgenerator (4); Nevnte Nøkkelgenerator (4) bruker nevnte passfrase P og en hemmelig verdi Ksecretallerede i nevnte Nøkkelgenerators (4) besittelse som inngangsverdi til nevnte algoritme A for å generere nevnte nøkkel K.4. The method in claim 1, characterized in that said key generation contains the following steps: The user specifies a passphrase P, consisting of a series of characters or bytes, to said Crypto Handler (3) through a user interface User interface (6); Said Crypto Handler (3) sends said passphrase P to said Key Generator (4); Said Key Generator (4) uses said passphrase P and a secret value K secreted in said Key Generator's (4) possession as an input value to said algorithm A to generate said key K. 5. Metoden i krav 1 til 4,karakterisert vedat nevnte Nøkkelgenerator (4) er et GSM SIM-kort, nevnte algoritme A er GSM A3/8-funksjonene, og nevnte Ksecreter Ki som spesifisert av 3GPP i "ETSI/3GPP TS 100.922 V8.0.0" og "ETSI/3GPP TS 100.929".5. The method in claims 1 to 4, characterized in that said Key Generator (4) is a GSM SIM card, said algorithm A is the GSM A3/8 functions, and said Ksecreter Ki as specified by 3GPP in "ETSI/3GPP TS 100.922 V8 .0.0" and "ETSI/3GPP TS 100.929". 6. Metoden i krav 1 til 4,karakterisert vedat nevnte Nøkkelgenerator (4) er et UMTS USIM-kort, nevnte algoritme A er UMTS f2K, f3Kand f4Kmed konverteringsfunksjoner c2 og c3, og nevnte KseCreter Kifsom definert av 3GPP i "ETSI/3GPP TS 131.102 V8.7.0".6. The method in claims 1 to 4, characterized in that said Key Generator (4) is a UMTS USIM card, said algorithm A is UMTS f2K, f3Kand f4K with conversion functions c2 and c3, and said KseCreter Kif as defined by 3GPP in "ETSI/3GPP TS 131.102 V8.7.0". 7. Metoden i krav 1 til 4,karakterisert vedat nevnte Nøkkelgenerator (4) er et Smart Card, nevnte algoritme A er en nøkkelgenereringsalgoritme implementert på nevnte Smart Card og nevnte hemmelige nøkkel KseCreter lagret på nevnte Smart Card.7. The method in claims 1 to 4, characterized in that said Key Generator (4) is a Smart Card, said algorithm A is a key generation algorithm implemented on said Smart Card and said secret key KseCreter stored on said Smart Card. 8. Metoden i krav 1 til 4,karakterisert vedat nevnte Nøkkelgenerator (4) er en programvarekomponent, nevnte algoritme A er en nøkkelgenereringsalgoritme implementert i nevnte programvarekomponent, nevnte programvarekomponent og nevnte hemmelige nøkkel KseCret er lagret på den andre Datainnretning (2).8. The method in claims 1 to 4, characterized in that said Key Generator (4) is a software component, said algorithm A is a key generation algorithm implemented in said software component, said software component and said secret key KseCret are stored on the second Data Device (2). 9. Metoden i krav 1,karakterisert vedat nevnte Datainnretning (2) er en dataenhet med integrerte egenskaper for ekstern kommunikasjon, en sentral prosesseringsenhet og persistent lagring med evne til å inneholde nevnte Nøkkelgenerator (4).9. The method in claim 1, characterized in that said Data Device (2) is a data unit with integrated features for external communication, a central processing unit and persistent storage with the ability to contain said Key Generator (4). 10. Metoden i krav 1 til 8,karakterisert vedat krypteringsprosessen inneholder følgende trinn: Brukeren spesifiserer data M for å bli kryptert til nevnte Kryptohåndterer (3) gjennom Brukergrensesnitt (6); Nevnte Kryptohåndterer (3) forespør en krypteringsnøkkel fra nevnte Nøkkelgenerator (4); Nevnte Nøkkelgenerator (4) returnerer nevnte krypteringsnøkkel K til nevnte Kryptohåndterer (3); Nevnte Kryptohåndterer (3) benytter nevnte krypteringsnøkkel K sammen med en algoritme E for å kryptere nevnte data M til E(M); Nevnte Kryptohåndterer (3) lagrer nevnte krypterte data E(M) på Persistent Lagring (5).10. The method in claims 1 to 8, characterized in that the encryption process contains the following steps: The user specifies data M to be encrypted to said Crypto Handler (3) through User Interface (6); Said Crypto Handler (3) requests an encryption key from said Key Generator (4); Said Key Generator (4) returns said encryption key K to said Crypto Handler (3); Said crypto-handler (3) uses said encryption key K together with an algorithm E to encrypt said data M to E(M); Said Crypto Handler (3) stores said encrypted data E(M) on Persistent Storage (5). 11. Metoden i krav 1 til 8,karakterisert vedat dekrypteringsprosessen inneholder følgende trinn: Brukeren spesifiserer de krypterte data E(M) for å bli dekryptert til nevnte Kryptohåndterer (3); Nevnte Kryptohåndterer (3) forespør en dekrypteringsnøkkel fra nevnte Nøkkelgenerator (4); Nevnte Nøkkelgenerator (4) benytter en algoritme A for å generere en dekrypteringsnøkkel K; Nevnte Nøkkelgenerator (4) returnerer nevnte dekrypteringsnøkkel K til nevnte Kryptohåndterer (3); Nevnte Kryptohåndterer (3) benytter nevnte genererte dekrypteringsnøkkel K sammen med en dekrypteringsalgoritme D for å dekryptere nevnte data E(M) til M (M = D(E(M))); Nevnte Kryptohåndterer (3) lagrer nevnte dekrypterte data M på Persistent Lagring (5).11. The method in claims 1 to 8, characterized in that the decryption process contains the following steps: The user specifies the encrypted data E(M) to be decrypted to said Crypto Handler (3); Said Crypto Handler (3) requests a decryption key from said Key Generator (4); Said Key Generator (4) uses an algorithm A to generate a decryption key K; Said Key Generator (4) returns said decryption key K to said Crypto Handler (3); Said Crypto Handler (3) uses said generated decryption key K together with a decryption algorithm D to decrypt said data E(M) to M (M = D(E(M))); Said Crypto Handler (3) stores said decrypted data M on Persistent Storage (5). 12. En anordning for å generere en nøkkel for bruk i kryptering og dekryptering av brukerdata,karakterisert vedat nevnte anordning inneholder: En programvarekomponent Kryptohåndterer (3) befinnende seg på en første Datainnretning (1), nevnte Kryptohåndterer (3) er utstyrt for å kryptere og dekryptere data spesifisert av en bruker; En Nøkkelgenerator (4) befinnende seg på en andre Datainnretning (2), nevnte Nøkkelgenerator (4) er utstyrt med en algoritme A for å generere en nøkkel K for bruk i kryptering og dekryptering av brukerdata; Nevnte Nøkkelgenerator (4) er utstyrt med et grensesnitt Ia, nevnte Kryptohåndterer (3) er tilpasset til å forespørre nøkler over nevnte grensesnitt Ia.12. A device for generating a key for use in encryption and decryption of user data, characterized in that said device contains: A software component Crypto Handler (3) located on a first Data Device (1), said Crypto Handler (3) is equipped to encrypt and decrypt data specified by a user; A Key Generator (4) located on a second Data Device (2), said Key Generator (4) is equipped with an algorithm A to generate a key K for use in encryption and decryption of user data; Said Key Generator (4) is equipped with an interface Ia, said Crypto Handler (3) is adapted to request keys via said interface Ia. 13. En anordning som i krav 12,karakterisertved at: Nevnte Nøkkelgenerator (4) er et GSM SIM-kort; Nevnte algoritme A er GSM A3/8 algoritmen som definert av 3GPP i "ETSI/3GPP TS 100.929"; Nevnte grensesnitt Ia støtter kommandoene som definert av 3GPP i "ETSI/3GPP, TS 11.11".13. A device as in claim 12, characterized in that: Said Key Generator (4) is a GSM SIM card; Said algorithm A is the GSM A3/8 algorithm as defined by 3GPP in "ETSI/3GPP TS 100.929"; Said interface Ia supports the commands as defined by 3GPP in "ETSI/3GPP, TS 11.11". 14. En anordning som i krav 12,karakterisertved at: Nevnte Nøkkelgenerator (4) er et UMTS USIM-kort; Nevnte grensesnitt Ia støtter kommandoene som definert av 3GPP i "ETSI/3GPP TS 131.102 V8.7.0" og "ETSI/3GPP, TS 11.11"; Nevnte algoritme A er UMTS f2K, f3Kand f4Kmed konverteringsfunksjoner c2 og c3 som definert av 3GPP i "ETSI/3GPP TS 131.102 V8.7.0".14. A device as in claim 12, characterized in that: Said Key Generator (4) is a UMTS USIM card; Said interface Ia supports the commands as defined by 3GPP in "ETSI/3GPP TS 131.102 V8.7.0" and "ETSI/3GPP, TS 11.11"; Said algorithm A is UMTS f2K, f3Kand f4K with conversion functions c2 and c3 as defined by 3GPP in "ETSI/3GPP TS 131.102 V8.7.0". 15. En anordning som i krav 12,karakterisertved at nevnte Nøkkelgenerator (4) er et Smart Card.15. A device as in claim 12, characterized in that said Key Generator (4) is a Smart Card. 16. En anordning som i krav 12,karakterisertved at nevnte Nøkkelgenerator (4) er en programvarekomponent.16. A device as in claim 12, characterized in that said Key Generator (4) is a software component. 17. En anordning som i krav 12,karakterisertved at: Nevnte Nøkkelgenerator (4) er tilpasset å kommunisere med et GSM SIM-kort eller UMTS USIM-kort satt inn i nevnte Datainnretning (2), nevnte Nøkkelgenerator (4) bruker JSR-177 SATSA API eller operativsystem APIer for å kommunisere med nevnte SIM-kort eller UMTS USIM-kort.17. A device as in claim 12, characterized in that: Said Key Generator (4) is adapted to communicate with a GSM SIM card or UMTS USIM card inserted in said Data Device (2), said Key Generator (4) uses JSR-177 SATSA API or operating system APIs to communicate with said SIM card or UMTS USIM card. 18. En anordning som i krav 12,karakterisertved at nevnte Kryptohåndterer (3) er tilpasset å kommunisere med nevnte Nøkkelgenerator (4) over nevnte grensesnitt Ia ved bruk av en Bluetooth-forbindelse.18. A device as in claim 12, characterized in that said Crypto Handler (3) is adapted to communicate with said Key Generator (4) over said interface Ia using a Bluetooth connection. 19. En anordning som i krav 12,karakterisertved at nevnte Kryptohåndterer (3) er tilpasset å kommunisere med nevnte Nøkkelgenerator (4) over nevnte grensesnitt Ia ved bruk av en USB-forbindelse.19. A device as in claim 12, characterized in that said Crypto Handler (3) is adapted to communicate with said Key Generator (4) over said interface Ia using a USB connection. 20. En anordning som i krav 12,karakterisertved at nevnte Kryptohåndterer (3) er tilpasset å kommunisere med nevnte Nøkkelgenerator (4) over nevnte grensesnitt Ia ved bruk av en WiFi-forbindelse.20. A device as in claim 12, characterized in that said Crypto Handler (3) is adapted to communicate with said Key Generator (4) over said interface Ia using a WiFi connection. 21. En anordning som i krav 12,karakterisertved at nevnte grensesnitt Ia er implementert over en trådbasert eller trådløs kommunikasjonsteknologi.21. A device as in claim 12, characterized in that said interface Ia is implemented over a wire-based or wireless communication technology. 22. En anordning som i krav 12,karakterisert vedat nevnte Datainnretning (2) er en dataenhet med integrerte kommunikasjonsegenskaper, en sentral prosesseringsenhet (CPU), dynamisk minne og persistent lagring, nevnte Datainnretning (2) er i stand til å inneholde og eksekvere nevnte Nøkkelgenerator (4).22. A device which in claim 12, characterized in that said Data Device (2) is a data unit with integrated communication features, a central processing unit (CPU), dynamic memory and persistent storage, said Data Device (2) is able to contain and execute said Key generator (4). 23. En anordning som i krav 12,karakterisert vedat nevnte Datainnretning (1) og nevnte Datainnretning (2) er den samme fysiske enheten.23. A device as in claim 12, characterized in that said Data Device (1) and said Data Device (2) are the same physical unit.
NO20100116A 2010-01-22 2010-01-22 A method and apparatus for establishing keys for use in strong encryption NO331204B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
NO20100116A NO331204B1 (en) 2010-01-22 2010-01-22 A method and apparatus for establishing keys for use in strong encryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NO20100116A NO331204B1 (en) 2010-01-22 2010-01-22 A method and apparatus for establishing keys for use in strong encryption

Publications (2)

Publication Number Publication Date
NO20100116A1 true NO20100116A1 (en) 2011-07-25
NO331204B1 NO331204B1 (en) 2011-10-31

Family

ID=44534939

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20100116A NO331204B1 (en) 2010-01-22 2010-01-22 A method and apparatus for establishing keys for use in strong encryption

Country Status (1)

Country Link
NO (1) NO331204B1 (en)

Also Published As

Publication number Publication date
NO331204B1 (en) 2011-10-31

Similar Documents

Publication Publication Date Title
CN106656476B (en) Password protection method and device and computer readable storage medium
EP3291481B1 (en) Decrypting encrypted data on an electronic device
US8331567B2 (en) Methods and apparatuses for generating dynamic pairwise master keys using an image
EP3337088B1 (en) Data encryption method, decryption method, apparatus, and system
Cheng Security attack safe mobile and cloud-based one-time password tokens using rubbing encryption algorithm
EP1700444B1 (en) Method and system for protection data, related communication network and computer program product
US7913096B2 (en) Method and system for the cipher key controlled exploitation of data resources, related network and computer program products
CN101621794A (en) Method for realizing safe authentication of wireless application service system
CN107026824A (en) A kind of message encryption, decryption method and device
CN101720071A (en) Short message two-stage encryption transmission and secure storage method based on safety SIM card
CN102024123A (en) Method and device for importing mirror image of virtual machine in cloud calculation
US20140079219A1 (en) System and a method enabling secure transmission of sms
WO2010023506A1 (en) Methods, apparatuses, computer program products, and systems for providing secure pairing and association for wireless devices
Hufstetler et al. Nfc unlock: Secure two-factor computer authentication using nfc
CN106357678A (en) Cloud encryption storage method for intelligent terminal and intelligent terminal
KR101281099B1 (en) An Authentication method for preventing damages from lost and stolen smart phones
WO2015143827A1 (en) Method, apparatus and communication system for address book protection
WO2015124798A2 (en) Method &amp; system for enabling authenticated operation of a data processing device
KR101329789B1 (en) Encryption Method of Database of Mobile Communication Device
CN109492359A (en) A kind of secure network middleware and its implementation and device for authentication
NO20100116A1 (en) A method and apparatus for establishing keys for use in strong encryption
CN112637140A (en) Password transmission method, terminal, server and readable storage medium
Singh et al. Peer to peer secure communication in mobile environment: A novel approach
Markovski et al. A protocol for secure sms communication for android os
Kao et al. Mobile encryption for laptop data protection (MELP)

Legal Events

Date Code Title Description
MM1K Lapsed by not paying the annual fees