JP6511443B2 - ネットワークにわたって暗号鍵を更新するためのシステムおよび方法 - Google Patents

ネットワークにわたって暗号鍵を更新するためのシステムおよび方法 Download PDF

Info

Publication number
JP6511443B2
JP6511443B2 JP2016530855A JP2016530855A JP6511443B2 JP 6511443 B2 JP6511443 B2 JP 6511443B2 JP 2016530855 A JP2016530855 A JP 2016530855A JP 2016530855 A JP2016530855 A JP 2016530855A JP 6511443 B2 JP6511443 B2 JP 6511443B2
Authority
JP
Japan
Prior art keywords
current
key
encryption key
client device
derivation
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2016530855A
Other languages
English (en)
Other versions
JP2016537888A (ja
Inventor
マイケル デメテル,
マイケル デメテル,
スティーブン チャスコ,
スティーブン チャスコ,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Landis and Gyr Innovations Inc
Original Assignee
Landis and Gyr Innovations Inc
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 Landis and Gyr Innovations Inc filed Critical Landis and Gyr Innovations Inc
Publication of JP2016537888A publication Critical patent/JP2016537888A/ja
Application granted granted Critical
Publication of JP6511443B2 publication Critical patent/JP6511443B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/061Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Description

関連出願
本願は、参照により本明細書に組み込まれている、2013年11月15日に出願された、System and Method for Updating an Encription Key Across a Networkという名称の米国特許出願第61/904,829号の優先権を主張する。
本開示は、概してネットワーク内のデバイスにわたって暗号鍵を更新することに関し、より詳細には、デバイスで生成された鍵を更新された暗号鍵として使用することを対象とする。
暗号鍵は、ネットワーク内のデバイスの間で安全に通信するために使用することができる。安全性を高めるために、暗号鍵は、現在の暗号鍵からは容易に判らない方式で定期的に変更される必要がある。いくつかのネットワークで、認証サーバは、デバイスに最初の暗号鍵を提供し、次いで、各デバイスに更新された暗号鍵を送信することによって、鍵を定期的に更新する。他のネットワークで、認証サーバは、デバイスに最初の暗号鍵を提供し、次いで、ネットワーク内のデバイスにコマンドを定期的に送信して、所定の方式で暗号鍵を更新するようにデバイスに指示する。これらの状況のいずれでも、暗号鍵の更新は、認証サーバからネットワークをわたってすべてのデバイスに至る通信を必要とする。大きなネットワークで、これは、大きな帯域幅を必要とし、ネットワークの性能に悪影響を及ぼす。
暗号鍵を生成し、クライアント・デバイスによってそれを更新するためのシステムおよび方法が開示される。暗号鍵は、定期的な間隔で各クライアント・デバイスによって独立して生成および更新されるが、それらの暗号鍵は、ネットワーク上のクライアント・デバイスにわたって共通であり続ける。
例示的な方法で、各クライアント・デバイスは、導出方法および導出インデックス調整を含む鍵生成情報を提供される。安全なチャネルが、認証サーバとクライアント・デバイスとの間に確立される。認証サーバは、導出鍵、導出インデックス、最初の満了期間、および満了間隔を含む、鍵セットアップ情報を安全なチャネルを介して送信する。クライアント・デバイスは、それぞれの鍵生成情報および鍵セットアップ情報を保持および記憶するが、この情報は、クライアント・デバイスと認証サーバとの間の追加の通信なしにネットワーク内のデバイスにわたる安全な通信のために使用される後続の暗号鍵の生成を可能にするために、ネットワーク内のデバイスにわたり共通であり続ける。
クライアント・デバイスが鍵セットアップ情報を受信するのに応答して、クライアント・デバイスは、提供された導出方法と、導出鍵および導出インデックスを含む認証サーバから前もって受信された鍵セットアップ情報と、の少なくとも一部に基づいて、最初の暗号鍵を生成する。最初の暗号鍵は、ネットワークにわたる複数のクライアント・デバイスに共通であり、認証サーバから前もって受信された最初の満了期間の終了まで有効である。
最初の満了期間が終了したというクライアント・デバイスの判定に応答して、クライアント・デバイスは、認証サーバから前もって受信された導出インデックスおよび導出インデックス調整に基づいて現在の導出インデックスを生成する。また、クライアント・デバイスは、最初の満了期間と認証サーバから受信された満了間隔とに基づいて、現在の満了期間を生成する。ここで、後続の暗号鍵が、提供された導出方法、認証サーバから前もって受信された導出鍵、および現在の導出インデックス、の少なくとも一部に基づいて、クライアント・デバイスによって生成される。各々の後続の暗号鍵は、暗号鍵がそのネットワークにわたるクライアント・デバイスに共通であり、現在の満了期間が終了するまで有効であるように、同様の方式で生成される。
クライアント・デバイスが現在の満了期間が終了したと判定するのに応答して、クライアント・デバイスは、現在の満了期間および認証サーバから前もって受信された満了間隔に基づく値に現在の満了期間をリセットする。加えて、現在の導出インデックスが、現在の導出インデックスおよび導出インデックス調整に基づいて更新される。次の後続の暗号鍵が、更新された現在の導出インデックスを使用して生成され、現在の満了期間の終了まで有効である。
また、認証サーバへのまたは認証サーバからの通信なしにクライアント・デバイスによって現在の暗号鍵を回復するための方法も開示される。例示的な方法は、クライアント・デバイスが、有効な現在の暗号鍵を生成するために、ネットワーク上のデバイスによって現在使用されている有効な現在の導出インデックスおよび有効な現在の満了期間にクライアント・デバイスの現在の導出インデックスおよびクライアント・デバイスの現在の満了期間を同期させるステップを含む。別の例示的な方法は、クライアント・デバイスが、現在の時間を含むメッセージを受信することによって、有効な現在の導出インデックス、現在の満了期間、および有効な現在の暗号鍵を生成するステップを含む。
これらの例示的な態様および特徴は、本発明を限定または定義するためにではなくて、本願で開示される本発明の概念の理解を助けるための例を提供するために記載される。本発明の他の態様、利点、および特徴は、本願全体を検討した後に明らかとなろう。
本開示のこれらのおよび他の特徴、態様、および利点は、以下のような添付の図面を参照して下記の発明を実施するための形態を読むときに、より深く理解される。
ネットワークを介する認証サーバおよびクライアント・デバイスの構成を示す図である。 暗号鍵の生成および保持において認証サーバおよびクライアント・デバイスによって使用される情報を示す図である。 最初の暗号鍵および後続の暗号鍵の生成を示すフローチャートである。 クライアント・デバイスが暗号鍵を回復するステップを示すフローチャートである。 クライアント・デバイスが暗号鍵を回復するステップを示す図4Aのフローチャートの続きを示す図である。 クライアント・デバイスが停電の後に暗号鍵を回復するステップを示すフローチャートである。
ネットワーク内のすべてのデバイスによって使用され得る、ネットワーク内のデバイスで最初の暗号鍵および後続の暗号鍵を生成するためのシステムおよび方法が提供される。ネットワーク上のこれらのデバイスの構成は、ネットワークを介して複数のクライアント・デバイスと通信する認証サーバを含む。ネットワークのデバイス(すなわち、認証サーバおよびクライアント・デバイス)は、有線および無線接続の両方を含む任意の既知の方式で接続することができ、IPプロトコルなどの任意の種類の通信プロトコルを使用することができる。
複数のクライアント・デバイスは、ネットワークを介して互いにおよび認証サーバと通信する。ネットワーク内のデバイスは、同じ暗号鍵を使用し、したがって、デバイスにわたり共通の暗号鍵が、デバイス間の通信の安全性のために使用される。暗号鍵はまた、任意のクライアント・デバイスと認証サーバとの間の安全な通信のために使用され得る。
暗号鍵生成
ネットワーク内の各々のクライアント・デバイスは、プロセッサおよびメモリを備える。各クライアント・デバイスには、導出アルゴリズムまたは方法および導出インデックス調整を含むがこれらに限定されない鍵生成情報が提供される。一つの実装形態では、導出方法は、NIST SP 800−108に基づく。他の実装形態では、導出方法は、FIPS 198−1に記載されるようなSHA−256ベースのHMACであることができる、疑似ランダム関数を使用することができる。しかし、他の疑似ランダム関数は、それらが暗号鍵の判定を困難にするのに十分なランダム化を提供する限り、使用され得る。たとえば、導出方法は、暗号鍵を生成するときにランダム化を導入するために、ストリングなどのラベルを使用することができる。鍵生成情報は、クライアント・デバイスの初期化の間にまたは製造中に提供されることができる。鍵生成情報は、各デバイスによってそれぞれのメモリ内に記憶される。
ネットワーク上の認証サーバは、導出鍵、導出インデックス、最初の満了期間、および満了間隔を含む鍵セットアップ情報を、安全なチャネルを介して各クライアント・デバイスに送信する。提供された鍵生成情報のように、各クライアント・デバイスによって受信される鍵セットアップ情報もまた、各デバイスによってそれぞれのメモリに記憶される。
クライアント・デバイスが鍵セットアップ情報を受信するのに応答して、クライアント・デバイスは、独立して、最初の暗号鍵を生成する。最初の暗号鍵は、クライアント・デバイスに提供された導出方法と、導出鍵および認証サーバから前もって受信された導出インデックスを含むがこれらに限定されない鍵セットアップ情報と、の少なくとも一部に基づいて、各クライアント・デバイスによって生成される。
各クライアント・デバイスは、同じ導出方法および同じ鍵セットアップ情報を提供されたので、各デバイスによって生成される最初の暗号鍵は、すべてのクライアント・デバイスについて共通または同一である。最初の暗号鍵は、各クライアント・デバイスに提供された最初の満了期間の終了まで有効である。直近に生成された暗号鍵は、メッセージを検証するために、そしてまたメッセージを暗号化および復号化するために、デバイスによって使用されるものであり、したがって、最初の暗号鍵が現在の暗号鍵でもよいことに留意されたい。「最初の暗号鍵」という専門用語が、異なる時間に生成される暗号鍵の生成の説明において容易に参照できるように本願では使用されている。
認証サーバは、プロセッサおよびメモリを備え、各クライアント・デバイスによって独立して生成される最初の暗号鍵と、生成されるときに同一である最初の暗号鍵もまた生成する。これを行うために、認証サーバは、各クライアント・デバイスに提供される同じ鍵生成情報を提供される。認証サーバは、それ自体のメモリに鍵生成情報を記憶する。加えて、認証サーバは、それ自体のメモリに同じ鍵セットアップ情報を保持する。したがって、認証サーバは、提供された導出方法および鍵セットアップ情報の少なくとも一部に基づいて、最初の暗号鍵を生成することができる。認証サーバによって生成される最初の暗号鍵は、各クライアント・デバイスによって生成されるのと同一であり、最初の満了期間の終了まで有効である。
複数のクライアント・デバイスおよび認証サーバを含むネットワーク上の各デバイスは、最初の暗号鍵を独立して生成する。各デバイスがそれぞれの最初の暗号鍵を独立して生成するが、すべてのデバイスの最初の暗号鍵は同一である。すべてのクライアント・デバイスによって受信され、認証サーバによって保持される最初の満了期間もまた同一であり、したがって、ネットワーク上のすべてのデバイスは同期され、最初の満了期間の最後まで最初の暗号鍵を使用して安全に通信することに留意されたい。
デバイス、クライアント・デバイスまたは認証サーバのいずれかのデバイスが、最初の満了期間が終了したと判定するのに応答して、そのデバイスは、新しい暗号鍵を生成する。すべてのデバイスが、同一の最初の満了期間を使用して満了を判定するので、すべてのデバイスは、最初の満了期間が終了したと同時に判定する。最初の満了期間が終了すると、後続の暗号鍵を生成するために、いくつかのステップがデバイスによって実行される。現在の導出インデックスが、認証サーバから前もって受信された導出インデックスおよび提供された導出インデックス調整を使用し、各デバイスによって生成される。後続の暗号鍵の現在の満了期間が、最初の満了期間および認証サーバから前もって受信された満了間隔に基づいて生成される。
現在の導出インデックスが生成されると、後続の暗号鍵が、提供された導出方法、認証サーバから前もって受信された導出鍵、および現在の導出インデックスの少なくとも一部に基づいて生成される。最初の暗号鍵のように、後続の暗号鍵が各デバイスによって独立して生成されたとしても、後続の暗号鍵はそのネットワーク内のデバイスにわたり同じである。直近に生成された後続の暗号鍵が、現在の暗号鍵になり得る。
最初の暗号鍵と同様に、現在の暗号鍵は、現在の満了期間の最後まで有効である。すべてのデバイスによって生成される現在の満了期間は、最初の満了期間と認証サーバによって提供された満了間隔とを使用して生成されることに留意されたい。この情報は、各デバイスによって独立して記憶および保持されるが、それはネットワーク上のクライアント・デバイスに認証サーバによって提供されるため、その情報はデバイスにわたって同じである。したがって、ネットワーク上のすべてのデバイスは同期化され、現在の満了期間の最後まで現在の暗号鍵を使用して安全に通信する。
デバイスが現在の満了期間が終了したと判定するのに応答して、そのデバイスは、前述と同じ方法を使用して別の新しい暗号鍵を生成する。これは導出インデックス調整によって現在の導出インデックスを更新するステップと、満了間隔によって現在の満了期間を更新するステップと、および導出方法、導出鍵、および更新された導出インデックスに基づいて次の後続の暗号鍵を生成するステップとを含む。次の後続の暗号鍵が現在の暗号鍵になり、更新された現在の満了期間まで有効になる。そして、再び、デバイスが更新された現在の満了期間が終了したと判定したとき、そのデバイスは、前述のように現在の暗号鍵になる次の後続の暗号鍵を生成する。
各デバイスが、鍵生成情報と、鍵セットアップ情報と、現在の導出インデックスおよび現在の満了期間などの各デバイスによって生成されるその他の情報とを記憶および保持するため、現在の暗号鍵になり、現在の満了期間まで有効な後続の暗号鍵の生成のこの反復は、無期限に継続することができ、各デバイスによって独立して実行される。
いくつかの実施形態で、最初の暗号鍵であっても後続の暗号鍵であっても、暗号鍵は、導出方法に基づいて生成される。すべてのデバイスは、一の導出方法を使用して共通の暗号鍵を生成することができる。当技術分野では知られているように、実行する反復の回数または生成する鍵の長さなど、追加情報が導出方法に提供され得る。使用される導出方法は、たとえ現在の暗号鍵が知られていても後続の暗号鍵の判定を困難にするのに十分なランダム化を提供しなくてはならない。追加情報が導出方法に提供される場合、各デバイスが暗号鍵を生成するために導出方法に提供することになる追加情報は、同一の暗号鍵がネットワーク上の複数のデバイスによって生成されることを保証するようなものでなければならない。
他の実施形態で、導出方法の出力の長さが暗号鍵の所望の長さを超える場合、そのとき、クライアント・デバイスは、その導出方法の出力の一部のみを使用することができる。たとえば、所望の長さが128ビットであり、導出方法からの出力が256ビットである場合、そのとき、最初の128ビットが暗号鍵として使用され得る。所望の長さがあらかじめ定められており、導出方法および導出インデックス調整とともにデバイスに提供することができる。
暗号鍵の回復
クライアント・デバイスのうちの1つが、現在の暗号鍵を使用して別のクライアント・デバイスからのメッセージを検証することができない場合、そのデバイスは現在の導出インデックスを同期させて有効な現在の暗号鍵を生成しようと試みることができる。現在の導出インデックスを同期させることによって、クライアント・デバイスは、認証サーバとのやり取りを必要とせずに、自身の現在の暗号鍵がその他のクライアント・デバイスの現在の暗号鍵と一致することを確実にすることができる。
たとえば、デバイスAがメッセージをデバイスBに送信し、デバイスBがデバイスAからのメッセージを検証することができない場合、以下のステップが実行されてデバイスAおよびデバイスBの現在の導出インデックスを同期させることができる。本例では、現在の導出インデックスは、導出インデックス調整の値によってインクリメントされ、したがって、後続の暗号鍵の生成の反復ごとに、現在の導出インデックスは所定の量によってインクリメントする。この所定の量が、導出インデックス調整である。ステップは、以下のとおりである:
* デバイスBが、デバイスAからメッセージを受信する。
* デバイスBは、デバイスBの現在の暗号鍵を使用してデバイスAからのメッセージを検証することができない。
* デバイスBは、導出インデックス調整によってインクリメントされた自身の現在の導出インデックスを使用して生成されたトライアル暗号鍵を使用して、メッセージの検証を試みる。したがって、デバイスBは、導出インデックス調整によってインクリメントされたそれ自体の導出インデックスを使用してトライアル暗号鍵を生成する。デバイスAからのメッセージの検証が、トライアル暗号鍵を使用して成功した場合、デバイスBは、それ自身の現在の暗号鍵としてトライアル暗号鍵を採用し、自身の現在の導出インデックスとしてインクリメントされた導出インデックスを採用する。デバイスBがデバイスAから受信したメッセージが、Bの現在の導出インデックスを更新するための情報を含む場合、デバイスBは、デバイスAから受信されたメッセージの処理を停止する。
* Aからのメッセージの検証が、Bの現在の導出インデックスをインクリメントすることによって生成されたトライアル暗号鍵を使用して成功しない場合、次いで、デバイスBは、導出インデックス調整によってデクリメントされた自身の現在の導出インデックスを使用して異なるトライアル暗号鍵を生成する。したがって、Bは、導出インデックス調整によってデクリメントされたそれ自身の導出インデックスを使用してトライアル暗号鍵を生成する。このトライアル暗号鍵を使用するデバイスAからのメッセージの検証の成功は、デバイスAが、自身の現在の導出インデックスとして導出インデックスの前の値を使用していることを示す。デバイスBは、デバイスBの現在の暗号鍵で暗号化されたメッセージをデバイスAに送信することになる。デバイスAがこのメッセージをデバイスBから受信するとき、デバイスAはこのメッセージを検証することができないことになり、デバイスAはそれ自身の暗号鍵回復を開始することになる。
* Aからのメッセージの検証が、Bの現在の導出インデックスをデクリメントすることによって生成されたトライアル暗号鍵を使用して成功しない場合、次いで、デバイスBは、前の導出鍵およびそれの現在の導出インデックスを使用して異なるトライアル暗号鍵を生成する。デバイスBが前の導出鍵を有さない場合、デバイスBは、デバイスAからのメッセージを無視する。デバイスAからのメッセージの検証が、前の導出鍵を使用して生成されたトライアル暗号鍵を使用して成功した場合、デバイスAは、前の導出鍵を使用していることとなる。デバイスBは、トライアル暗号鍵を使用して暗号化された自身の導出鍵を更新するために、デバイスAにメッセージを送信し、従って、デバイスAは、このメッセージを検証することができる。
* Aからのメッセージの検証が、前の導出鍵および自身の現在の導出インデックスを使用して生成されたトライアル暗号鍵を使用して成功しなかった場合、デバイスBは、デバイスAからのメッセージを無視する。
また、クライアント・デバイスが電源喪失を経験した場合、暗号鍵回復を実行することができる。デバイスが電源喪失を経験すると、それの内部クロックは現在のデバイス時間をもはや有していないことがある。一実施形態では、機能停止を経験し、オンラインになったクライアント・デバイスは、現在の時間を含むメッセージを受信した場合、暗号化を回復することができる。そのようなメッセージは、現在の暗号鍵を使用して検証することができる認証コードを含むビーコン・メッセージでもよい。
オンラインになるデバイスが、ビーコン・メッセージを受信するとき、そのデバイスは、自身の現在の暗号鍵を使用してビーコン・メッセージの認証コードを検証しようと試みることになる。検証が成功した場合、そのデバイスは、自身の現在のデバイス時間としてビーコン・メッセージで指定された時間を受け入れることができる。それにより、そのデバイスは、現在の導出鍵、現在の導出インデックス、現在の満了期間および現在の暗号鍵を有する。
ビーコン・メッセージの検証が失敗した場合、デバイスは、そのデバイスが電力を失って以降に終了した満了間隔の数を計算する。これは、ビーコン・メッセージ内の時間、現在の満了期間および満了間隔を使用して計算することができる。ビーコン・メッセージが時間を含まない場合、デバイスは、それが電力を失って以降に終了した満了間隔の数として1を使用することができる。
現在の導出インデックスが、デバイスが電力を失って以降に終了した間隔の数によってインクリメントされる。後続の暗号鍵が、現在の導出鍵と停電以降に終了した間隔の数によってインクリメントされた現在の導出インデックスとを使用して生成される。ビーコン・メッセージの検証が、生成された後続の暗号鍵を使用して成功した場合、デバイスは、そのビーコン内の時間を受け入れる。加えて、そのデバイスは、現在の満了期間および満了間隔に基づいて現在の満了期間を生成する。そのデバイスはまた、現在の導出インデックスおよび現在の暗号鍵の自身の現在の値を生成されたばかりのものに更新する。
ビーコン・メッセージの検証が、生成されたばかりの後続の暗号鍵で失敗した場合、そのビーコン・メッセージは無視される。本例では、デバイスはビーコン・メッセージを受信したので、そのデバイスは、隣接するデバイスが存在することを理解している。所定の時間(すなわち、30秒)の後に、デバイスが有効な時間を取得することができない場合、そのデバイスは、その後の24時間にわたりランダムな時間を生成することができる。その生成された時間に、デバイスは、認証サーバと認証を開始する。すべてのデバイスが同時に認証をしようとしないように、認証サーバと認証を開始する時間は、ランダムである。
示された前の例では、クライアント・デバイスは、消費者による資源の消費を監視、制御、および測定するために公益事業会社および他の資源提供者によって使用され得るネットワーク内のメータでもよい。ここで、本発明の例示的実施形態が示された添付の図面を参照して、本発明を説明する。
図1は、ネットワークを介する認証サーバおよびクライアント・デバイスの構成の一例である。認証サーバ120は、ネットワーク110を介して様々なクライアント・デバイス131〜134と通信する。任意のクライアント・デバイス131〜134は、ネットワーク110を介して任意の他のクライアント・デバイス131〜134または認証サーバ120と通信することができる。通信は、任意の適切なプロトコルおよび任意の適切なネットワーク構成を使用し、進めることができる。プロトコルは、802.15.4、PRIME、G3、およびTCP/IPおよびUDP/IPプロトコルを含むが、これらに限定されない。
ネットワーク上のデバイスは、認証サーバ120およびクライアント・デバイス131〜134を含むが、これらに限定されない。ネットワーク110内のデバイス120、131〜134の間の安全な通信のために、デバイスは、暗号鍵を使用して、送信されるメッセージを暗号化し、受信されたメッセージを復号化する。さらなる安全性を実現するために、暗号鍵は、各デバイスによって、定期的に更新される。しかし、更新された暗号鍵は、ネットワーク110内のすべてのデバイス120、131〜134にわたりメッセージの暗号化および復号化を可能にするために、デバイス120、131〜134にわたり同じである。
図2を参照すると、認証サーバ120は、プロセッサ211およびメモリ213を備える。認証サーバ120のプロセッサ211は、メモリ213に記憶された命令を実行する。認証サーバ120は、暗号鍵を生成するために自身のメモリ情報を保持する。その情報は、導出方法246および導出インデックス調整243を含むがこれらに限定されない鍵生成情報を含む。鍵生成情報は、インストールまたは製造時に認証サーバに提供され得る。
加えて、認証サーバは、暗号鍵を生成するための追加情報を自身のメモリに保持する。この追加情報は、導出鍵241、導出インデックス242、満了期間244および満了間隔245を含むがこれらに限定されない、鍵セットアップ情報を含む。鍵生成情報のように、鍵セットアップ情報は、インストールまたは製造時に認証サーバに提供され得る。認証サーバはまた、認証サーバの現在のデバイス時間を保持するクロック251を備える。認証サーバの現在のデバイス時間を保持するクロックは、認証サーバの初期化またはインストール中にセットすることができる。加えて、クロックは、現在の時間を含むメッセージの受信時にセットまたはリセットすることができる。
ネットワーク上に複数のクライアント・デバイス131〜133が存在してもよい。各クライアント・デバイス131〜133は、それぞれ、プロセッサ221、222、223およびメモリ231、232、233を備える。各プロセッサ221〜223は、クライアント・デバイス131〜133のそれぞれのメモリ231〜233に記憶された命令を実行する。本例では、クライアント・デバイス131、クライアント・デバイス132およびクライアント・デバイス133は同様であると仮定する。したがって、1つのクライアント・デバイスに関する説明は、すべてのクライアント・デバイス131〜133に適用可能である。
各クライアント・デバイス131〜133は、導出方法246’、246’’、および246’’’、導出インデックス調整243’、243’’、および243’’を含むがこれらに限定されない鍵生成情報が提供される。認証サーバ120に提供される導出方法246、クライアント・デバイス131に提供される導出方法246’、クライアント・デバイス132に提供される導出方法246’’、およびクライアント・デバイス133に提供される導出方法246’’’は同一であることに留意されたい。同様に、認証サーバ120に提供される導出インデックス調整243、および、クライアント・デバイス131〜133の各々によって提供される導出インデックス調整243’、243’’、および243’’’は、同一である。各デバイス120、131、132、133は、ネットワーク110上のデバイス120、131、132、133にわたり共通である鍵生成情報を独立して記憶および保持する。加えて、各クライアント・デバイスは、各クライアント・デバイスの現在のデバイス時間を保持するクロック251’、251’’、および251’’’を備える。各デバイスの現在のデバイス時間は、クライアント・デバイスのインストールまたは初期化中に、最初にセットすることができる。また、各デバイスの現在のデバイス時間は、現在の時間を含むメッセージを受信したときに、セットすることができる。このメッセージは、認証サーバまたは別のクライアント・デバイスから受信することができる。現在の時間を含むメッセージの種類の一例は、ビーコン・メッセージである。
さらなる参照のために、図2のハッシュ・マークを有する共通の参照番号は、各デバイスに独立して記憶および保持された共通の情報を示す。たとえば、図2を参照すると、認証サーバ内の導出鍵241、クライアント・デバイス131の導出鍵241’、クライアント・デバイス132の導出鍵241’’、および、クライアント・デバイス133の導出鍵241’’’は、すべて同一である。しかし、各デバイスは、それぞれのメモリ231〜233にこの情報のそれぞれ自身のコピーを保持する。
ネットワーク110内のデバイスに共通の暗号鍵を生成するために、ネットワーク上の任意のクライアント・デバイス131〜133は、クライアント・デバイス131〜133と認証サーバ120との間の安全なチャネルの確立を要求する。たとえば、クライアント・デバイス131は、それ自体と認証サーバ120との間に安全なチャネルが確立されることを要求し得る。認証サーバ120は、次いで、クライアント・デバイス131にメッセージを送信する。このメッセージは、導出鍵241、導出インデックス242、満了期間244、および満了間隔245を含むがこれらに限定されない、鍵セットアップ情報を含む。クライアント・デバイス131は、自身のメモリ231に、この情報を導出鍵241’、導出インデックス242’、満了期間244’および満了間隔245’として、独立して記憶および保持する。認証サーバ120から任意のデバイス131〜133に送信される鍵セットアップ情報は同一であることに留意されたい。言い換えれば、各デバイスによって記憶および保持される鍵セットアップ情報は、すべてのデバイスに共通である。鍵生成情報のように、各デバイス120、131、132、133は、ネットワーク110上のデバイス120、131、132、133にわたり共通な鍵セットアップ情報を独立して記憶および保持する。
クライアント・デバイス131が、鍵セットアップ情報を受信したと判定すると、クライアント・デバイス131は、提供された導出方法246’と導出鍵241’および導出インデックス242’を含む前もって受信された鍵セットアップ情報との少なくとも一部に基づいて、最初の暗号鍵248’を生成する。最初の暗号鍵250’を生成するこのプロセスは、すべてのクライアント・デバイス131〜133に共通であり、したがって、クライアント・デバイス131〜133の各々が、認証サーバ120から鍵セットアップ情報を受信したと独立して判定すると、そのデバイスは、すべてのデバイス131〜133に共通のそれ自身の最初の暗号鍵250’、250’’、および250’’’を生成することになる。言い換えれば、クライアント・デバイス131によって独立して生成される最初の暗号鍵250’は、クライアント・デバイス132によって生成される最初の暗号鍵250’’と同一であり、クライアント・デバイス133によって生成される最初の暗号鍵250’’’と同一であることになる。各クライアント・デバイス131〜133は、それぞれ、それ自身のメモリ231〜233にそれ自身の最初の暗号鍵250’、250’’、および250’’’を記憶する。
最初の暗号鍵250’、250’’、および250’’’が現在の暗号鍵になることに留意されたい。すなわち、最初の暗号鍵は、満了期間244’、244’’、および244’’’まで、すべてのデバイスによって現在使用される暗号鍵である。各デバイスは、現在の暗号鍵248’、248’’、および248’’’と別個に最初の暗号鍵250’、250’’、および250’’’を記憶することができる。別法として、デバイスは、現在の暗号鍵として最初の暗号鍵を記憶および保持することができる。本実施形態では、図示はされていないが、最初の暗号鍵が現在の暗号鍵として記憶および保持されることになるので、デバイスのメモリは、最初の暗号鍵を含まないことになる。
認証サーバ120はまた、クライアント・デバイスがそれらの最初の暗号鍵を生成するのと同一の方法で、それ自身の最初の暗号鍵250を生成することができる。最初の暗号鍵を生成するために必要とされる情報はデバイスにわたり同一であるので、認証サーバによって生成される最初の暗号鍵250は、各クライアント・デバイス131〜133によって独立して生成される最初の暗号鍵250’、250’’、250’’’と同じ値を有する。同様に、認証サーバ120は、最初の暗号鍵を現在の暗号鍵として記憶および保持することができる。
最初の暗号鍵250は、それぞれ、認証サーバ120から受信され、各クライアント・デバイス11〜133によってそれ自身のメモリ231〜233に244’、244’’、244’’’として別個に記憶された、満了期間244の終了まで有効である。したがって、任意のクライアント・デバイス131〜133は、満了期間244が終了したかを判定することができる。クライアント・デバイス131が、満了期間244’が終了したと判定するとき、クライアント・デバイス131は、前もって提供された導出インデックス調整243’によって認証サーバ120から前もって受信された導出インデックス242’を修正することにより、現在の導出インデックス247’を生成することになる。他のクライアント・デバイス132、133もまた、それら自身の満了期間244’’、244’’’を使用し、いつ満了期間244が終了するかを判定することができ、それらはまた、デバイス131〜133にわたり同一であることになる現在の導出インデックス247’’および247’’’を生成することになる。
認証サーバ120はまた、自身の満了期間244が終了したかを判定することによって、いつ自身の最初の暗号鍵250が失効するかを判定することができる。したがって、満了期間244、244’、244’’、および244’’’は同一であるので、すべてのデバイスの最初の暗号鍵250、250’、250’’、および250’’’は、同時に失効する。
現在の導出インデックス247’の生成に加えて、クライアント・デバイス131は、認証サーバ120から前もって受信された満了期間244’および満了間隔245’に基づいて、現在の満了期間249’を生成することになる。同様に、認証サーバ120および他のデバイス132〜133はまた、同じ方式でそれらの現在の満了期間249、249’’、および249’’’を生成することになり、したがって、すべてのデバイスにわたり生成される現在の満了期間は、同じである。
現在の導出インデックス247’および現在の満了期間249’の生成とともに、満了期間244’が終了したと判定したとき、クライアント・デバイス131は、提供された導出方法246’、認証サーバ120から前もって受信された導出鍵241’、および、現在の導出インデックス247’の少なくとも一部に基づいて、後続の暗号鍵を生成する。最近に生成されたこの後続の暗号鍵は、現在の暗号鍵248’になり、現在の満了期間249’まで有効である。この同じ手順が、ネットワーク上のすべてのその他のデバイスによって実行されて、現在の満了期間249、249’’、および249’’’まで有効であることになるそれぞれの現在の暗号鍵248、248’’、248’’’を生成する。
認証サーバ120およびクライアント・デバイス131〜133を含むネットワーク110上のデバイスは、すべてのデバイスに共通な情報を有することにより、同期させられて暗号鍵を生成する。この共通の情報は、導出鍵241、導出インデックス242、導出インデックス調整243、満了期間244、満了間隔245、導出方法246、現在の導出インデックス247、現在の満了期間249を含むが、これらに限定されない。この情報は、各デバイスによって独立して保持されるが、デバイスの間で共通である。共通の情報の使用を介するこの同期化により、各デバイスは、ネットワーク内のデバイスの間で共通の現在の暗号鍵を独立して生成することができる。
現在の暗号鍵248は、現在の満了期間249まで有効である。デバイスが、現在の満了期間249が終了したと判定するとき、後続の暗号鍵が生成される。各後続の暗号鍵は、それぞれの満了期間について有効である。たとえば、デバイス131が、現在の満了期間が達せられたので、現在の暗号鍵248’はもはや有効でないと判定するとき、クライアント・デバイス131は、次の後続の暗号鍵と、生成された次の後続の暗号鍵のそれぞれの満了期間とを生成することになる。次の後続の暗号鍵が、現在の暗号鍵248’になり、それぞれの満了期間が、現在の満了期間249’になる。
次の後続の暗号鍵を生成するために、デバイス131は、それが導出インデックス調整243’によって自身のメモリ231に保持する現在の導出インデックス247’を修正することによって、新しい導出インデックスを生成する。たとえば、導出インデックス調整243’の値が1である場合、そのとき、新しい導出インデックスの値は、1インクリメントされた現在の導出インデックス247’の値であることになる。現在の導出インデックス247’は、新しい導出インデックスの値に更新され得る。したがって、クライアント・デバイス131は、次の後続の暗号鍵の生成で使用されることになる更新された現在の導出インデックス247’を有する。
加えて、デバイス131は、次の後続の暗号鍵のそれぞれの満了期間を生成する。それぞれの満了期間は、デバイス131が自身のメモリ231に保持する現在の満了期間249’と、認証サーバから前もって受信され、デバイス131のメモリ231に保持された満了間隔245’とに基づいて生成される。それぞれの満了期間は、以下に説明されるように、生成されることになる次の後続の暗号鍵の満了期間である。したがって、現在の満了期間249’は、それぞれの満了期間の値に更新される。ここで、クライアント・デバイス131は、更新された現在の導出インデックス247’および現在の満了期間249’を有する。
クライアント・デバイス131は、提供された導出方法246’、認証サーバから受信された導出鍵241’、および、クライアント・デバイスによって計算された現在の導出インデックス247’の少なくとも一部に基づいて、次の後続の暗号鍵を生成する。現在の暗号鍵248’の値が、次の後続の暗号鍵の値によって置き換えられる。言い換えれば、現在の暗号鍵248’が次の後続の暗号鍵に更新される。ここで、クライアント・デバイス131は、現在の満了期間249’が終了するまで有効な更新された現在の暗号鍵248’を有する。
現在の満了期間が終了すると、現在の導出インデックス247’の更新、現在の満了期間249’の更新、および現在の暗号鍵248’になる次の後続の暗号鍵の生成のサイクルが、繰り返される。ネットワーク上のあらゆるデバイスは、現在の満了期間249、249’、249’’および249’’’が終了するたびに、それ自身の現在の暗号鍵248、248’、248’’、および248’’の生成の本手順を踏む。これにより、ネットワーク上のデバイスが、それらのデバイスに共通であり、デバイスの間の安全な通信のために使用することができる、現在の暗号鍵248、248’、248’’、および248’’’を独立して生成することを可能にする。
図2は、導出インデックス242、242’、242’’、および242’’’と現在の導出インデックス247、247’、247’’、および247’’’とを有する各デバイスを示す。デバイスは、現在の暗号鍵を生成するために現在使用される導出インデックスであることになる1つの導出インデックスのみを記憶および保持することができることに留意されたい。したがって、導出インデックスが更新されるたびに、それは現在の導出インデックスとして記憶され、その結果、前の現在の導出インデックスを置き換えることになる。同様に、各デバイスは、満了期間244、244’、244’’、および244’’’と現在の満了期間249、249’、249’’、および249’’’との両方を保持してもしなくてもよい。本実施形態では、認証サーバから前もって受信された最初の満了期間は、現在の満了期間として記憶および保持され得る。また、満了期間が生成されるたびに、それは、前の現在の満了期間を置き換える現在の満了期間として記憶および保持されることになる。各デバイスはまた、現在の暗号鍵248、248’、248’’、および248’’’のみを記憶および保持することができる。同様に、各デバイスは、最初の暗号鍵250、250’、250’’、および250’’’と現在の暗号鍵248、248’、248’’、および248’’’とを保持してもしなくてもよい。本実施形態では、最初の暗号鍵は、現在の暗号鍵として記憶および保持することができる。後続の暗号鍵が生成されるとき、それは現在の暗号鍵を置き換えることになる。
図3は、ネットワーク上のデバイスに共通の最初の暗号鍵および後続の暗号鍵を生成するためのプロセス300を示す。認証サーバとクライアント・デバイスとの間の安全なチャネルが、ステップ310で確立される。そのチャネルを確立するための要求は、サーバまたはクライアント・デバイスによって起こすことができる。
安全なチャネルが確立された後、認証サーバが、ステップ320で、導出鍵、導出インデックス、満了期間、および満了間隔を含むがこれらに限定されないセットアップ情報を安全なチャネルを介してクライアント・デバイスに送信する。
クライアント・デバイスが鍵セットアップ情報を受信するのに応答して、ステップ330で、クライアント・デバイスは、提供された導出方法と、ステップ320で認証サーバから受信された導出鍵および導出インデックスに基づいて、最初の暗号鍵を生成する。最初の暗号鍵は、満了期間の終了まで、有効であり、ネットワーク上のデバイスをわたる安全な通信のために使用することができる。
ステップ340で、クライアント・デバイスが、満了期間が終了したかを判定する。
満了期間が終了していない場合、最初の暗号鍵は有効であり、そのクライアント・デバイスは、ステップ350で最初の暗号鍵を使用し続ける。
満了期間が終了した場合、ステップ360で、クライアント・デバイスは、導出インデックス調整によって認証サーバから前もって受信された導出インデックスを修正することによって、現在の導出インデックスを生成する。加えて、クライアント・デバイスは、満了期間とステップ320で認証サーバから前もって受信された満了間隔の少なくとも一部に基づいて、ステップ370で現在の満了期間を生成する。ステップ360での現在の導出インデックスの生成のステップと、ステップ370での現在の満了期間の生成のステップは、異なる順番で実行することができる。一実施形態では、満了期間は、現在の導出インデックスの生成の前または後に生成することができる。
ステップ380では、最初の暗号鍵はもはや有効でないので、後続の暗号鍵が生成される。後続の暗号鍵は、提供された導出方法、ステップ320で認証サーバから前もって受信された導出鍵、および現在の導出インデックスの少なくとも一部に基づいて、生成される。各後続の暗号鍵は、ネットワークをわたってデバイスに共通であり、現在の満了期間の終了まで有効である。直近に生成された後続の暗号鍵が、現在の暗号鍵である。現在の暗号鍵になるこの最新の後続の暗号鍵は、現在の満了期間が終了するまで有効である。
クライアント・デバイスが、現在の満了期間が終了したと判定するとき、ステップ360〜380が繰り返されて後続の暗号鍵を定期的に生成する。後続の暗号鍵を生成するためにクライアント・デバイスによって必要とされるすべての情報は、クライアント・デバイスによって記憶および保持されるので、クライアント・デバイスは、ネットワーク上の他のデバイスとの安全な通信のために使用するのに有効な後続の暗号鍵を独立して生成する。
図4A〜4Bは、ネットワーク内のデバイスの間で現在使用されている暗号鍵を回復するためのプロセス400を示す。本プロセスは、トライアル暗号鍵を生成することによって認証サーバへのまたは認証サーバからの任意の通信が必要ない、クライアント・デバイスによる現在の暗号鍵の回復を目的とする。トライアル暗号鍵の使用を介して、デバイスは、有効な現在の暗号鍵を生成するために、自身の現在の導出インデックスおよび自身の現在の満了期間を、ネットワーク上のデバイスによって現在使用される有効な現在の導出インデックスおよび有効な現在の満了期間と同期させることができる。
たとえば、ステップ410で、デバイスBは、デバイスAからメッセージを受信する。デバイスBは、デバイスBの現在の暗号鍵を使用してデバイスAから受信されたメッセージを検証することができない。
本例では、デバイスBが自身の現在の暗号鍵を使用して受信されたメッセージを検証することができないことに応答して、デバイスBは、ステップ420でトライアル暗号鍵を生成する。トライアル暗号鍵は、トライアル導出インデックスを使用して生成される。トライアル導出インデックスは、導出インデックス調整によって導出インデックスをインクリメントすることによって生成される。したがって、このトライアル暗号鍵は、現在の満了期間が終了するとデバイスBが生成することになる後続の暗号鍵である。
ステップ430でのトライアル暗号鍵を使用するデバイスBによるメッセージの検証の成功は、デバイスBが、ステップ470で示すように、自身の現在の暗号鍵をそのトライアル暗号鍵で置き換え、自身の現在の導出インデックスをそのトライアル導出インデックスで置き換え、その満了間隔に基づいて自身の現在の満了期間を調整することを示す。ステップ430で、トライアル暗号鍵を使用するメッセージの検証が失敗した場合、デバイスBは、ステップ440で第2のトライアル暗号鍵を生成することになる。第2のトライアル暗号鍵は、トライアル導出インデックスを使用して生成される。このトライアル導出インデックスは、導出インデックス調整によって導出インデックスをデクリメントすることによって生成される。したがって、このトライアル暗号鍵は、デバイスBが生成した前の暗号鍵である。言い換えれば、このトライアル暗号鍵は、現在の暗号鍵が使用されるより前にデバイスBによって使用された暗号鍵である。図4Aのステップ440の後、プロセス400は、図4Bのステップ450で継続する。
図4Bを参照すると、ステップ450での第2のトライアル暗号鍵を使用するデバイスBによるメッセージの検証の成功は、デバイスAが前の暗号鍵を使用している可能性を示す。したがって、デバイスBは、ステップ480でデバイスBの現在の暗号鍵で暗号化されたメッセージをデバイスAに送信する。デバイスAがデバイスBからこのメッセージを受信するとき、デバイスAは、それ自体の暗号鍵回復プロセスを開始することができる。第2のトライアル暗号鍵を使用するメッセージの検証が失敗した場合、ステップ460で、デバイスBは、前の導出鍵を使用して第3のトライアル暗号鍵を生成することになる。前の導出鍵は、現在使用される導出鍵の前にデバイスBによって使用された導出鍵でもよい。デバイスBが前の導出鍵を記憶しない場合、デバイスAからのメッセージは、無視または省略され得る。
ステップ490での第3のトライアル暗号鍵を使用するデバイスBによるメッセージの検証の成功は、デバイスAが前の導出鍵を使用している可能性を示す。したがって、デバイスBは、ステップ495に示すように、デバイスBの現在の導出鍵の値、デバイスBの現在の導出インデックス、およびデバイスBの現在の満了期間を含むメッセージをデバイスAに送信する。デバイスBからのこのメッセージは、第3のトライアル暗号鍵を使用して暗号化することができる。デバイスAがこのメッセージを受信するとき、デバイスAは、それを復号化してデバイスAに示す値を取得して、自身の現在の導出鍵、自身の現在の導出インデックス、および自身の現在の満了期間をデバイスBからのメッセージで受信されたものに更新する。
第3のトライアル暗号鍵を使用するデバイスBによるメッセージの検証の成功がない場合、デバイスBは、ステップ485に示すように、メッセージを無視することができる。
図5は、デバイスが、停電、またはデバイスが現在のデバイス時間を保持させないであろうその他の状態を経験したときに、暗号鍵を回復するためのプロセス500を示す。本例では、ステップ510で、デバイスは、機能停止の後に電源を投入し、現在のデバイス時間を有さない。そのデバイスは、現在の時間を含むメッセージを受信する。このメッセージは、ビーコン・メッセージで受信されてもよい。ビーコン・メッセージは、現在の暗号鍵を使用して検証することができる認証コードを含む。
ステップ520で、オンラインになったデバイスがビーコン・メッセージを受信するとき、そのデバイスは、自身の現在の暗号鍵を使用してビーコン・メッセージを検証しようと試みることになる。検証が成功した場合、ステップ570で、デバイスは、そのデバイスの現在の時間として、ビーコン・メッセージで指定された時間を受け入れることができる。また、検証が成功したので、そのデバイスは、現在の導出鍵、現在の導出インデックス、現在の満了期間および現在の暗号鍵を有する。
ステップ530で、ビーコン・メッセージの検証が失敗した場合、デバイスは、それが電力を失って以降に終了した満了間隔の数を計算する。これは、ビーコン・メッセージで受信された時間、現在の満了期間および満了間隔を使用して計算することができる。ビーコン・メッセージがその時間を含まない場合、デバイスは、それが電力を失って以降に終了した満了間隔の数として1を使用することができる。
ステップ540で、デバイスは、それが電力を失って以降に終了した満了間隔の数によって、自身の現在の導出インデックスを調整する。現在の導出インデックスは、そのデバイスが電力を失って以降に終了した間隔の数によってインクリメントすることによって調整することができる。デバイスは、次いで、現在の導出鍵と調整されたばかりの現在の導出インデックスとを使用して後続の暗号鍵を生成する。ビーコン・メッセージの検証が、生成された後続の暗号鍵を使用して成功した場合、デバイスは、ステップ580で、自身の現在のデバイス時間としてビーコン・メッセージ内の時間を受け入れることができる。加えて、デバイスは、現在の満了期間および満了間隔に基づいて、現在の満了期間を生成することができる。デバイスは、現在の導出インデックスおよび現在の暗号鍵の自身の現在の値を生成されたばかりのものに更新する。
ビーコン・メッセージの検証が、生成されたばかりの後続の現在の暗号鍵で失敗した場合、ビーコン・メッセージは無視される。本例では、ステップ560で、デバイスはビーコン・メッセージを受信したので、そのデバイスは、隣接するデバイスが存在することを理解している。所定の時間(すなわち、30秒)の後に、有効な時間を取得することができない場合、そのデバイスは、その後の24時間にわたりランダムな時間を生成する。生成された時間に、そのデバイスは、認証サーバと認証を開始して鍵セットアップ情報を受信して現在の暗号鍵を生成する。認証サーバと認証を開始する時間は、すべてのデバイスが同時に認証をしようとしないように、ランダムであるべきである。
概論
与えられたこれらの例は、単に例示を目的とし、本発明をこれらのデバイスに限定するものではない。本主題は、特定の態様に関して詳細に説明されているが、当業者は、前述を理解したときに、そのような態様の改変形態、変更形態および同等物を容易に生み出し得ることが、理解されよう。したがって、本開示は、限定ではなくて例示を目的として提示されており、当業者に容易に明らかになるであろう本主題へのそのような修正形態、変更形態、および/または追加の包含を排除しない。特に、導出インデックスまたは満了期間または暗号鍵を生成するために実行されるステップは、必ずしも指定された順番で実行される必要はない。たとえば、満了期間は、導出インデックスが生成される前または後に生成または更新されてもよい。また、導出インデックスは、満了期間の終了時に生成または更新されてもよく、あるいは、暗号鍵が生成された後の任意の時間に生成または更新されてもよい。導出インデックス調整は、インクリメントまたはデクリメントに限定されず、他の方法で導出インデックスを調整してもよい。

Claims (16)

  1. クライアント・デバイスによって暗号鍵を生成するための方法であって、前記クライアント・デバイスが、ネットワーク内の複数のクライアント・デバイスのうちの1つであり、各クライアント・デバイスが、導出方法および導出インデックス調整を実行するためのコンピュータ実行可能命令を含む鍵生成情報を提供され、
    認証サーバと前記クライアント・デバイスとの間に安全なチャネルを確立するステップと、
    導出鍵、導出インデックス、満了したことが前記クライアント・デバイスが有するデバイス時間に基づき判断される最初の満了期間および満了間隔を含む、鍵セットアップ情報を前記安全なチャネルを介して前記認証サーバから受信するステップと、
    前記クライアント・デバイスが前記鍵セットアップ情報を受信するのに応答して、前記クライアント・デバイスのプロセッサが、前記導出方法を行うための前記コンピュータ実行可能命令を実行すると共に、前記導出鍵、および前記導出インデックスを使用して最初の暗号鍵を生成するステップであり、前記クライアント・デバイスが、前記最初の暗号鍵を使用して、前記最初の満了期間の終了に先立って前記ネットワークにわたる前記複数のクライアント・デバイスのうちの少なくとも1つへのメッセージを暗号化する、ステップと、
    前記クライアント・デバイスが前記最初の満了期間が終了したと判定するのに応答して、
    前記導出インデックス調整によって前記認証サーバから前もって受信された前記導出インデックスを調整することによって現在の導出インデックスを生成するステップと、
    前記最初の満了期間および前記認証サーバから前もって受信された前記満了間隔に基づいて現在の満了期間を生成するステップと、
    前記導出方法、前記認証サーバから前もって受信された前記導出鍵、および前記現在の導出インデックスを使用して後続の暗号鍵を生成するステップであり、前記後続の暗号鍵が、前記現在の満了期間が終了するまで有効である、ステップと
    を含む、方法。
  2. 前記現在の満了期間が終了したと前記クライアント・デバイスが判定するのに応答して、
    前記導出インデックス調整によって前記現在の導出インデックスを調整するステップと、
    前記認証サーバから前もって受信された前記満了間隔によって前記現在の満了期間を更新するステップと、
    前記導出方法、前記認証サーバから前もって受信された前記導出鍵、および前記現在の導出インデックスを使用して次の後続の暗号鍵を生成するステップであり、前記次の後続の暗号鍵が、前記現在の満了期間が終了するまで有効である、ステップと
    をさらに含む、請求項1に記載の方法。
  3. 前記クライアント・デバイスが、公共事業メータである、請求項1に記載の方法。
  4. 前記導出方法および前記導出インデックス調整が、インストールまたは製造中に各々の前記クライアント・デバイスに提供される、請求項1に記載の方法。
  5. 前記導出方法が、疑似ランダム関数に基づく、請求項1に記載の方法。
  6. 前記最初の暗号鍵および前記後続の暗号鍵が、それらが所定の長さを超えるときに、前記クライアント・デバイスによって前記所定の長さに切り詰められる、請求項1に記載の方法。
  7. 前記鍵セットアップ情報が、反復の回数をさらに含み、前記最初の暗号鍵または前記後続の暗号鍵を生成するステップが、前記反復の回数前記疑似ランダム関数を繰り返すステップをさらに含む、請求項5に記載の方法。
  8. 前記疑似ランダム関数が、SHA−256ベースのHMACである、請求項7に記載の方法。
  9. 前記導出インデックスが整数であり、前記クライアント・デバイスが、前記導出方法で前記導出インデックスを使用する前に前記整数を2進列に変換する、請求項1に記載の方法。
  10. 前記最初の暗号鍵を生成するステップが、前記導出方法でラベルを使用するステップをさらに含む、請求項1に記載の方法。
  11. 停電を経験し、現在のデバイス時間を有さないクライアント・デバイスによって現在の暗号鍵を更新するための方法であって、前記クライアント・デバイスが、導出方法および導出インデックス調整を実行するためのコンピュータ実行可能命令を含む鍵生成情報と、導出鍵、現在の導出インデックス、満了したことが前記クライアント・デバイスが有するデバイス時間に基づき判断される現在の満了期間および満了間隔を含む鍵セットアップ情報とを記憶し、
    現在の時間を含む暗号化されたメッセージを受信するステップと、
    前記暗号化されたメッセージが、前記現在の暗号鍵を使用して検証できないという判定に応答して、
    受信された前記現在の時間、前記現在の満了期間、および前記満了間隔を使用して、前記停電以降に経験された間隔の数を判定するステップと、
    前記停電以降に終了した前記間隔の数によって前記現在の導出インデックスを調整するステップと、
    前記クライアント・デバイスのプロセッサが、前記導出方法を行うための前記コンピュータ実行可能命令を実行すると共に、前記導出鍵および前記現在の導出インデックスを使用して後続の暗号鍵を生成するステップと、
    前記暗号化されたメッセージが、前記後続の暗号鍵を使用して検証することができたという判定に応答して、前記現在のデバイス時間を受信された前記現在の時間にセットするステップと、前記現在の暗号鍵を前記後続の暗号鍵に更新するステップと、終了した前記間隔の数に基づいて前記現在の満了期間を調整するステップと
    を含む、方法。
  12. 前記暗号化されたメッセージが、前記後続の暗号鍵を使用して検証できないという判定に応答して、
    ランダムな時間に前記クライアント・デバイスと認証サーバとの間に安全なチャネルを確立するステップと、
    前記安全なチャネルを介して鍵セットアップ情報を前記認証サーバから受信するステップと、
    前記認証サーバから受信された前記鍵セットアップ情報を使用して前記現在の暗号鍵を生成するステップと
    をさらに含む、請求項11に記載の方法。
  13. プロセッサおよびプロセッサ・ユニット・メモリを含むプロセッサ・ユニットであり、前記プロセッサ・ユニット・メモリが、クライアント・デバイスの初期化のためのコンピュータ実行可能命令と導出方法および導出インデックス調整を実行するためのコンピュータ実行可能命令を含む鍵生成情報とを含み、
    前記プロセッサが、
    認証サーバからの鍵セットアップ情報であり、導出鍵、導出インデックス、満了したことが当該プロセッサ・ユニットが有するデバイス時間に基づき判断される最初の満了期間、および満了間隔を含む前記鍵セットアップ情報を含む通信であって、ネットワーク上の安全なチャネルを介する前記通信を受信することと、
    鍵セットアップ情報の受信に応答して、前記プロセッサが、前記導出方法を行うための前記コンピュータ実行可能命令を実行すると共に、前記導出鍵、および前記導出インデックスを使用して、前記最初の満了期間の終了に先立って前記ネットワークにわたる複数のクライアント・デバイスのうちの少なくとも1つのクライアント・デバイスへのメッセージを暗号化するために使用される最初の暗号鍵を生成することと、
    前記最初の満了期間が終了したという判定に応答して、
    前記導出インデックス調整によって前記認証サーバから前もって受信された導出インデックスを調整することによって現在の導出インデックスを生成することと、
    前記最初の満了期間および前記認証サーバから前もって受信された前記満了間隔に基づいて、満了したことが前記クライアント・デバイスが有するデバイス時間に基づき判断される現在の満了期間を生成することと、
    前記導出方法、前記認証サーバから前もって受信された前記導出鍵、および前記現在の導出インデックスを使用して、前記現在の満了期間が終了するまで有効な後続の暗号鍵を生成することと
    を行うために前記プロセッサ・ユニット・メモリからの前記導出方法および前記導出インデックス調整を行うためのコンピュータ実行可能命令を実行するように動作可能である、クライアント・デバイス。
  14. 前記現在の満了期間が終了したという判定に応答して、
    前記導出インデックス調整によって前記現在の導出インデックスを調整することと、
    前記認証サーバから前もって受信された前記満了間隔によって前記現在の満了期間を更新することと、
    前記現在の満了期間が終了するまで有効な次の後続の暗号鍵を、前記導出方法、前記認証サーバから前もって受信された前記導出鍵、および前記現在の導出インデックスを使用して生成することと
    をさらに備える、請求項13に記載のクライアント・デバイス。
  15. 前記導出インデックス調整が1であり、前記現在の導出インデックスが、前記導出インデックス調整による前記現在の導出インデックスのインクリメントに基づく、請求項14に記載のクライアント・デバイス。
  16. 前記鍵生成情報が、前記クライアント・デバイスの初期化または製造のいずれかで提供される、請求項13に記載のクライアント・デバイス。
JP2016530855A 2013-11-15 2014-11-11 ネットワークにわたって暗号鍵を更新するためのシステムおよび方法 Active JP6511443B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361904829P 2013-11-15 2013-11-15
US61/904,829 2013-11-15
PCT/US2014/064989 WO2015073422A2 (en) 2013-11-15 2014-11-11 System and method for updating an encryption key across a network

Publications (2)

Publication Number Publication Date
JP2016537888A JP2016537888A (ja) 2016-12-01
JP6511443B2 true JP6511443B2 (ja) 2019-05-15

Family

ID=52450553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016530855A Active JP6511443B2 (ja) 2013-11-15 2014-11-11 ネットワークにわたって暗号鍵を更新するためのシステムおよび方法

Country Status (7)

Country Link
US (1) US9425968B2 (ja)
JP (1) JP6511443B2 (ja)
AU (1) AU2014348876B2 (ja)
BR (1) BR112016010845B1 (ja)
CA (1) CA2928456C (ja)
MX (1) MX352389B (ja)
WO (1) WO2015073422A2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747733B2 (en) 2004-10-25 2010-06-29 Electro Industries/Gauge Tech Power meter having multiple ethernet ports
GB201105765D0 (en) 2011-04-05 2011-05-18 Visa Europe Ltd Payment system
US10862784B2 (en) 2011-10-04 2020-12-08 Electro Industries/Gauge Tech Systems and methods for processing meter information in a network of intelligent electronic devices
US10303860B2 (en) * 2011-10-04 2019-05-28 Electro Industries/Gauge Tech Security through layers in an intelligent electronic device
US10275840B2 (en) 2011-10-04 2019-04-30 Electro Industries/Gauge Tech Systems and methods for collecting, analyzing, billing, and reporting data from intelligent electronic devices
US10771532B2 (en) 2011-10-04 2020-09-08 Electro Industries/Gauge Tech Intelligent electronic devices, systems and methods for communicating messages over a network
US9166958B2 (en) * 2012-07-17 2015-10-20 Texas Instruments Incorporated ID-based control unit-key fob pairing
US11816465B2 (en) 2013-03-15 2023-11-14 Ei Electronics Llc Devices, systems and methods for tracking and upgrading firmware in intelligent electronic devices
US9425968B2 (en) 2013-11-15 2016-08-23 Landis+Gyr Innovations, Inc. System and method for updating an encryption key across a network
CN105830107A (zh) 2013-12-19 2016-08-03 维萨国际服务协会 基于云的交易方法和系统
US9922322B2 (en) 2013-12-19 2018-03-20 Visa International Service Association Cloud-based transactions with magnetic secure transmission
WO2015136876A1 (ja) * 2014-03-11 2015-09-17 日本電気株式会社 無線通信装置、無線通信装置の周波数決定方法およびそのプログラム
EP3146747B1 (en) 2014-05-21 2020-07-01 Visa International Service Association Offline authentication
US11734396B2 (en) 2014-06-17 2023-08-22 El Electronics Llc Security through layers in an intelligent electronic device
US9775029B2 (en) 2014-08-22 2017-09-26 Visa International Service Association Embedding cloud-based functionalities in a communication device
US20160218866A1 (en) * 2015-01-27 2016-07-28 Qualcomm Incorporated Group key announcement and distribution for a data link group
CZ306210B6 (cs) * 2015-07-07 2016-09-29 Aducid S.R.O. Způsob přiřazení alespoň dvou autentizačních zařízení k účtu jednoho uživatele pomocí autentizačního serveru
US10958435B2 (en) 2015-12-21 2021-03-23 Electro Industries/ Gauge Tech Providing security in an intelligent electronic device
US10430263B2 (en) 2016-02-01 2019-10-01 Electro Industries/Gauge Tech Devices, systems and methods for validating and upgrading firmware in intelligent electronic devices
US10601793B2 (en) * 2016-03-11 2020-03-24 Pss, Llc Systems and methods for securing electronic data with embedded security engines
BR112018076196A2 (pt) 2016-07-11 2019-03-26 Visa International Service Association método, e, dispositivos de comunicação portátil e de acesso.
US10313123B1 (en) * 2016-12-14 2019-06-04 Amazon Technologies, Inc. Synchronizable hardware security module
US10425225B1 (en) 2016-12-14 2019-09-24 Amazon Technologies, Inc. Synchronizable hardware security module
WO2018212978A1 (en) * 2017-05-17 2018-11-22 Kwourz Research Llc Time-based encryption key derivation
CN110166227B (zh) * 2018-02-12 2024-03-26 开利公司 与非联网控制器的无线通信
US11754997B2 (en) 2018-02-17 2023-09-12 Ei Electronics Llc Devices, systems and methods for predicting future consumption values of load(s) in power distribution systems
US11686594B2 (en) 2018-02-17 2023-06-27 Ei Electronics Llc Devices, systems and methods for a cloud-based meter management system
US11734704B2 (en) 2018-02-17 2023-08-22 Ei Electronics Llc Devices, systems and methods for the collection of meter data in a common, globally accessible, group of servers, to provide simpler configuration, collection, viewing, and analysis of the meter data
US11863589B2 (en) 2019-06-07 2024-01-02 Ei Electronics Llc Enterprise security in meters
CN112153642B (zh) * 2019-06-26 2022-02-22 天地融科技股份有限公司 一种办公环境中的设备认证方法、办公设备及系统
KR102274285B1 (ko) * 2019-07-01 2021-07-07 에스지에이 주식회사 동적 공유 시크릿 분배 방식의 otp 보안관리 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001203682A (ja) * 2000-01-24 2001-07-27 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 省演算型排他的鍵共有法
US7657036B2 (en) * 2004-09-21 2010-02-02 Qualcomm Incorporated Determining a session encryption key during a broadcast/multicast service session using secure real-time transport protocol
US9838365B2 (en) * 2007-07-10 2017-12-05 Qualcomm Incorporated Peer to peer identifiers
JP5288901B2 (ja) * 2008-06-23 2013-09-11 三菱電機株式会社 鍵管理サーバ、端末、通信システム、鍵配信方法、鍵配信プログラム、鍵受信方法及び鍵受信プログラム
US8670946B2 (en) 2010-09-28 2014-03-11 Landis+Gyr Innovations, Inc. Utility device management
US9161216B2 (en) * 2010-12-08 2015-10-13 Lg Electronics Inc. Traffic encryption key management for machine to machine multicast group
US9425968B2 (en) 2013-11-15 2016-08-23 Landis+Gyr Innovations, Inc. System and method for updating an encryption key across a network

Also Published As

Publication number Publication date
AU2014348876B2 (en) 2018-11-15
WO2015073422A2 (en) 2015-05-21
WO2015073422A3 (en) 2015-09-03
AU2014348876A1 (en) 2016-06-02
BR112016010845B1 (pt) 2022-11-16
CA2928456C (en) 2020-06-02
MX2016005800A (es) 2016-08-11
BR112016010845A2 (pt) 2020-08-18
MX352389B (es) 2017-11-22
US20150143108A1 (en) 2015-05-21
US9425968B2 (en) 2016-08-23
JP2016537888A (ja) 2016-12-01
CA2928456A1 (en) 2015-05-21

Similar Documents

Publication Publication Date Title
JP6511443B2 (ja) ネットワークにわたって暗号鍵を更新するためのシステムおよび方法
WO2016098303A1 (ja) 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法
CN112217794A (zh) 计算机实施的物联网数据报传输轻型认证系统和方法
Dowling et al. Authenticated network time synchronization
US20200153625A1 (en) Time-based encryption key derivation
JP5744231B2 (ja) Ptpプロトコル用の鍵を配布するための方法および装置
JP6328152B2 (ja) 共有鍵を導出するよう構成されたネットワークデバイス
CN109698744B (zh) 一种卫星组网会话密钥的协商方法及装置
US20020199102A1 (en) Method and apparatus for establishing a shared cryptographic key between energy-limited nodes in a network
JP2016184892A (ja) 認証方法、認証システム及び通信機器
JP2021536712A (ja) 低電力モードにおけるIoTデバイスのメモリに格納されるデータの保護
KR20210126319A (ko) 키 관리 장치 및 방법
JP5835162B2 (ja) 暗号通信システム及び暗号通信方法
CN115549983A (zh) 一种基于时间同步的IPv6网络传输设备的安全认证装置及方法
WO2018126783A1 (zh) 一种密钥传输方法及装置、计算机存储介质
US20220141199A1 (en) Method and system for transmitting data in a network
JP2010068396A (ja) 暗号化装置、端末装置、暗号化プログラム及び方法、情報処理プログラム及び方法
Wang et al. Session key agreement for end-to-end security in time-synchronized networks
CN113169872A (zh) 安全时间同步
JP2007317091A (ja) ワンタイムパスワード生成システムおよびワンタイムパスワード生成方法、ワンタイムパスワード生成装置、制御サーバおよびその制御方法
JP6653484B2 (ja) 認証装置、認証システム及び認証方法
JP2008177815A (ja) ブロードキャスト暗号方式およびブロードキャスト暗号装置
JP6609212B2 (ja) 暗号化通信チャネル確立システム、方法、プログラム及びコンピュータ読取り可能なプログラム記録媒体
Boudguiga et al. Server assisted key establishment for WSN: A MIKEY-Ticket approach
CN117527302A (zh) 一种基于密钥同步更新算法的安全通信方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160714

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20161130

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20161201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170223

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180911

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190408

R150 Certificate of patent or registration of utility model

Ref document number: 6511443

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250