[go: up one dir, main page]

HK1100110B - Systems and methods to securely generate shared keys - Google Patents

Systems and methods to securely generate shared keys Download PDF

Info

Publication number
HK1100110B
HK1100110B HK07107891.8A HK07107891A HK1100110B HK 1100110 B HK1100110 B HK 1100110B HK 07107891 A HK07107891 A HK 07107891A HK 1100110 B HK1100110 B HK 1100110B
Authority
HK
Hong Kong
Prior art keywords
key
public key
new
user
shared secret
Prior art date
Application number
HK07107891.8A
Other languages
English (en)
French (fr)
Chinese (zh)
Other versions
HK1100110A (en
Inventor
Michael K. Brown
Herbert A. Little
David Victor Macfarlane
Michael S. Brown
Dinah Lea Marie Davis
Original Assignee
Blackberry Limited
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 Blackberry Limited filed Critical Blackberry Limited
Publication of HK1100110A publication Critical patent/HK1100110A/xx
Publication of HK1100110B publication Critical patent/HK1100110B/en

Links

Claims (19)

  1. Ein Verfahren, das von einem ersten System ausgeführt wird, zum Herstellen eines sicheren bidirektionalen Kommunikationspfads zwischen dem ersten System und einem zweiten System für einen Austausch von einer oder mehreren Nachricht(en), wobei das Verfahren aufweist:
    Erzeugen (108, 204, 210) eines ersten Schlüsselpaares mit einem ersten öffentlichen Schlüssel und einem ersten privaten Schlüssel;
    Erzeugen (108, 204, 210) eines zweiten Schlüsselpaares mit einem zweiten öffentlichen Schlüssel und einem zweiten privaten Schlüssel, wobei der zweite öffentliche Schlüssel basierend auf einem gemeinsamen Geheimnis erzeugt wird, das dem ersten System und dem zweiten System bekannt ist;
    wobei der erste öffentliche Schlüssel unabhängig von dem gemeinsamen Geheimnis ist;
    Senden (110, 206) des zweiten öffentlichen Schlüssels und des ersten öffentlichen Schlüssels an das zweite System;
    Empfangen (118, 208, 214) eines dritten öffentlichen Schlüssels und eines vierten öffentlichen Schlüssel, die durch das zweite System erzeugt werden, wobei der vierte öffentliche Schlüssel basierend auf dem gemeinsamen Geheimnis erzeugt wird; wobei der dritte öffentliche Schlüssel unabhängig von dem gemeinsamen Geheimnis ist;
    Berechnen (120, 212, 216) eines ersten Hauptschlüssels basierend auf dem ersten privaten Schlüssel, dem zweiten privaten Schlüssel, dem dritten öffentlichen Schlüssel und dem vierten öffentlichen Schlüssel, wobei der erste Hauptschlüssel konfiguriert ist, bei der Verschlüsselung von einer oder mehreren Nachricht(en) verwendet zu werden;
    Erzeugen (432, 462) eines neuen zweiten Schlüsselpaares mit einem neuen zweiten öffentlichen Schlüssel und einem neuen zweiten privaten Schlüssel; wobei der neue zweite öffentliche Schlüssel unabhängig von dem gemeinsamen Geheimnis ist;
    Empfangen (446, 460) eines neuen vierten öffentlichen Schlüssels von dem zweiten System; wobei der neue vierte öffentliche Schlüssel unabhängig von dem gemeinsamen Geheimnis ist; und
    Berechnen (440, 464) eines neuen Hauptschlüssels basierend auf dem ersten privaten Schlüssel, dem neuen zweiten privaten Schlüssel, dem drit-ten öffentlichen Schlüssel und dem neuen vierten öffentlichen Schlüssel unter Verwendung einer elliptischen Kurvenberechnung.
  2. Das Verfahren gemäß Anspruch 1, das weiter aufweist:
    Erzeugen (212, 470) eines ersten Test-Strings;
    Senden (122, 212, 218, 472) des ersten Test-Strings an das zweite System;
    Empfangen (214) eines zweiten Test-Strings, der durch das zweite System erzeugt wird; und
    Authentifizieren (124, 216, 220, 446, 474) des zweiten Systems mit dem zweiten Test-String und entweder dem ersten Hauptschlüssel oder dem neuen Hauptschlüssel.
  3. Das Verfahren gemäß Anspruch 2, das weiter aufweist einen Schritt eines Empfangens einer Datennutzlast mit einem UDDI (Universal Description, Discovery and Integration)-Diensteintrag vor dem Schritt des Empfangens eines zweiten Test-Strings, der durch das zweite System erzeugt wird.
  4. Das Verfahren gemäß Anspruch 1, wobei das erste System eine drahtlose mobile Vorrichtung (30, 32, 46, 48) ist.
  5. Das Verfahren gemäß Anspruch 4, wobei das zweite System ein Hostsystem ist, das Dienste (22) anbietet.
  6. Das Verfahren gemäß Anspruch 4, wobei das gemeinsame Geheimnis über einen sicheren Außerband-Kanal (34, 38, 50, 66) kommuniziert wird.
  7. Das Verfahren gemäß Anspruch 6, wobei das gemeinsame Geheimnis eine persönliche Identifikationsnummer PIN (Personal Identification Number) ist, die automatisch von dem Hostsystem erzeugt wird.
  8. Das Verfahren gemäß Anspruch 6, wobei das gemeinsame Geheimnis von dem zweiten System über eine Web-Schnittstelle nachfolgend auf eine Anforderung durch das erste System empfangen wird.
  9. Das Verfahren gemäß Anspruch 5, wobei der Austausch von einer oder mehreren Nachricht(en) einen Austausch von Email-Nachrichten, http-basierten XML-Nachrichten oder http-basierten WML-Nachrichten aufweist.
  10. Das Verfahren gemäß Anspruch 5, wobei die drahtlose mobile Vorrichtung (30) und das Hostsystem (20, 22, 102) mit Email-Adressen oder IP-Adressen adressiert sind.
  11. Das Verfahren gemäß Anspruch 5, wobei eine elliptische Kurvenberechnung bei einem Berechnen des ersten Hauptschlüssels verwendet wird.
  12. Das Verfahren gemäß Anspruch 1, wobei das erste System ein Hostsystem ist, das Dienste (20, 22) anbietet, und wobei das zweite System eine mobile drahtlose Vorrichtung (30, 32) ist.
  13. Das Verfahren gemäß Anspruch 1, wobei das Berechnen des ersten Hauptschlüssels einen sicheren Hash-Algorithmus SHA (Secure Hash Algorithm) verwendet.
  14. Das Verfahren gemäß Anspruch 1, wobei das Berechnen des neuen Hauptschlüssels einen Menezes-Qu-Vanstone(MQV)-Algorithmus verwendet.
  15. Das Verfahren gemäß Anspruch 2, wobei das Erzeugen des ersten Test-Strings einen Hash-Nachrichtenauthentifizierungscode HMAC (Hashed Message Authentication Code) verwendet.
  16. Das Verfahren gemäß Anspruch 1, das weiter ein Verschlüsseln von einer oder mehreren Nachricht(en) unter Verwendung entweder des ersten Hauptschlüssels oder des neuen Hauptschlüssels aufweist.
  17. Ein Computerprogramm zum Anweisen eines Computers, das Verfahren gemäß Anspruch 1 durchzuführen.
  18. Ein erstes System zum Herstellen eines sicheren bidirektionalen Kommunikationspfads zu einem zweiten System für einen Austausch von einer oder mehreren Nachricht(en), das aufweist:
    Mittel zum Erzeugen (108, 204, 210) eines ersten Schlüsselpaares mit einem ersten öffentlichen Schlüssel und einem ersten privaten Schlüssel;
    Mittel zum Erzeugen (108, 204, 210) eines zweiten Schlüsselpaares mit einem zweiten öffentlichen Schlüssel und einem zweiten privaten Schlüssel, wobei der zweite öffentliche Schlüssel basierend auf einem gemeinsamen Geheimnis erzeugt wird, das dem ersten System und dem zweiten System bekannt ist; wobei der erste öffentliche Schlüssel unabhängig von dem gemeinsamen Geheimnis erzeugt wird;
    Mittel zum Senden (110, 206) des zweiten öffentlichen Schlüssels und des ersten öffentlichen Schlüssels an das zweite System;
    Mittel zum Empfangen (118, 208, 214) eines dritten öffentlichen Schlüssels und eines vierten öffentlichen Schlüssel, die durch das zweite System erzeugt werden, wobei der vierte öffentliche Schlüssel basierend auf dem gemeinsamen Geheimnis erzeugt wird; wobei der dritte öffentliche Schlüssel unabhängig von dem gemeinsamen Geheimnis ist;
    Mittel zum Berechnen (120, 212, 216) eines ersten Hauptschlüssels basierend auf dem ersten privaten Schlüssel, dem zweiten privaten Schlüssel, dem dritten öffentlichen Schlüssel und dem vierten öffentlichen Schlüssel, wobei der erste Hauptschlüssel konfiguriert ist, bei der Verschlüsselung von einer oder mehreren Nachricht(en) verwendet zu werden;
    Mittel zum Erzeugen (432, 462) eines neuen zweiten Schlüsselpaares mit einem neuen zweiten öffentlichen Schlüssel und einem neuen zweiten privaten Schlüssel; wobei der neue zweite öffentliche Schlüssel unabhängig von dem gemeinsamen Geheimnis erzeugt wird;
    Mittel zum Empfangen (446, 460) eines neuen vierten öffentlichen Schlüssels von dem zweiten System; wobei der neue vierte öffentliche Schlüssel unabhängig von dem gemeinsamen Geheimnis ist; und
    Mittel zum Berechnen (440, 464) eines neuen Hauptschlüssels basierend auf dem ersten privaten Schlüssel, dem neuen zweiten privaten Schlüssel, dem dritten öffentlichen Schlüssel und dem neuen vierten öffentlichen Schlüssel unter Verwendung einer elliptischen Kurvenberechnung.
  19. Ein erstes System zum Herstellen eines sicheren bidirektionalen Kommunikationspfads zu einem zweiten System für einen Austausch von einer oder mehreren Nachricht(en), das aufweist:
    einen Speicher; und
    eine Verarbeitungseinheit, die mit dem Speicher gekoppelt ist, wobei die Verarbeitungseinheit konfiguriert ist, die Schritte auszuführen:
    Erzeugen (108, 204, 210) eines ersten Schlüsselpaares mit einem ersten öffentlichen Schlüssel und einem ersten privaten Schlüssel;
    Erzeugen (108, 204, 210) eines zweiten Schlüsselpaares mit einem zweiten öffentlichen Schlüssel und einem zweiten privaten Schlüssel, wobei der zweite öffentliche Schlüssel basierend auf einem gemeinsamen Geheimnis erzeugt wird, das dem ersten System und dem zweiten System bekannt ist;
    wobei der erste öffentliche Schlüssel unabhängig von dem gemeinsamen Geheimnis erzeugt wird;
    Senden (110, 206) des zweiten öffentlichen Schlüssels und des ersten öffentlichen Schlüssels an das zweite System;
    Empfangen (118, 208, 214) eines dritten öffentlichen Schlüssels und eines vierten öffentlichen Schlüssel, die durch das zweite System erzeugt werden, wobei der vierte öffentliche Schlüssel basierend auf dem gemeinsamen Geheimnis erzeugt wird; wobei der dritte öffentliche Schlüssel unabhängig von dem gemeinsamen Geheimnis ist;
    Berechnen (120, 212, 216) eines ersten Hauptschlüssels basierend auf dem ersten privaten Schlüssel, dem zweiten privaten Schlüssel, dem dritten öffentlichen Schlüssel und dem vierten öffentlichen Schlüssel, wobei der erste Hauptschlüssel konfiguriert ist, bei der Verschlüsselung von einer oder mehreren Nachricht(en) verwendet zu werden;
    Erzeugen (432, 462) eines neuen zweiten Schlüsselpaares mit einem neuen zweiten öffentlichen Schlüssel und einem neuen zweiten privaten Schlüssel; wobei der neue zweite öffentliche Schlüssel unabhängig von dem gemeinsamen Geheimnis erzeugt wird;
    Empfangen (446, 460) eines neuen vierten öffentlichen Schlüssels von dem zweiten System; wobei der neue vierte öffentliche Schlüssel unabhängig von dem gemeinsamen Geheimnis ist; und
    Berechnen (440, 464) eines neuen Hauptschlüssels basierend auf dem ersten privaten Schlüssel, dem neuen zweiten privaten Schlüssel, dem dritten öffentlichen Schlüssel und dem neuen vierten öffentlichen Schlüssel unter Verwendung einer elliptischen Kurvenberechnung.
HK07107891.8A 2004-04-30 2005-05-02 Systems and methods to securely generate shared keys HK1100110B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US60/566,790 2004-04-30

Publications (2)

Publication Number Publication Date
HK1100110A HK1100110A (en) 2007-09-07
HK1100110B true HK1100110B (en) 2017-11-10

Family

ID=

Similar Documents

Publication Publication Date Title
US8693695B2 (en) Systems and methods to securely generate shared keys
EP1747638B1 (de) Systeme und Verfahren zum sicheren Erzeugen gemeinsam benutzter Schlüssel
US8090107B2 (en) Key agreement and re-keying over a bidirectional communication path
EP2399361B1 (de) Identitätsbasiertes und authentifiziertes schlüsselvereinbarungsprotokoll
EP2073430B1 (de) Verfahren und Systeme zur sicheren Kanalinitialisierungstransaktionssicherheit auf der Basis eines gemeinsamen Geheimnisses mit niedriger Entropie
US20020025046A1 (en) Controlled proxy secure end to end communication
US20090164774A1 (en) Methods and systems for secure channel initialization
EP1905186A2 (de) Kryptographische authentifizierung und/oder festlegung gemeinsamer kryptographischer schlüssel unter verwendung eines mit einer non-one-time-pad-verschlüsselung verschlüsselten signierungsschlüssels einschliesslich (aber nicht beschränkt auf) verfahren mit erhöhter sicherheit gegen malleabilitätsangriffe
EP2073484B1 (de) Verfahren und Systeme zur sicheren Kanalinitialisierung
HK1100110B (en) Systems and methods to securely generate shared keys
AU2012202300B2 (en) Re-keying over a bidirectional communication path
HK1095950B (en) Deploying and provisioning wireless handheld devices