JP5432999B2 - 暗号鍵配布システム - Google Patents

暗号鍵配布システム Download PDF

Info

Publication number
JP5432999B2
JP5432999B2 JP2011519917A JP2011519917A JP5432999B2 JP 5432999 B2 JP5432999 B2 JP 5432999B2 JP 2011519917 A JP2011519917 A JP 2011519917A JP 2011519917 A JP2011519917 A JP 2011519917A JP 5432999 B2 JP5432999 B2 JP 5432999B2
Authority
JP
Japan
Prior art keywords
node
authentication server
nonce
session key
information
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.)
Expired - Fee Related
Application number
JP2011519917A
Other languages
English (en)
Other versions
JPWO2010150813A1 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=43386582&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP5432999(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2011519917A priority Critical patent/JP5432999B2/ja
Publication of JPWO2010150813A1 publication Critical patent/JPWO2010150813A1/ja
Application granted granted Critical
Publication of JP5432999B2 publication Critical patent/JP5432999B2/ja
Expired - Fee Related 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/321Cryptographic 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 a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、コンピュータ通信においてノード間の通信に用いるセッション鍵を認証サーバから各ノードに配布する暗号鍵配布システムに関する。
一般に、セッション鍵の配布を行うプロトコルとしては、通信の開始者と応答者との2個のノード間で認証を行う2者キー配布プロトコル(2PKDP=2 Party Key Distribution Protocol)と、通信の開始者と応答者との2者に認証者としての認証サーバを加えた3者キー配布プロトコル(3PKDP=3 Party Key Distribution Protocol)とが知られている(たとえば、特許第3078841号公報参照)。
2PKDPでは、通信を開始する開始者のノードが応答者のノードに対してセッション鍵の配布を要求し、応答者のノードが開始者のノードにセッション鍵を配布する。ここでは、開始者のノードと応答者のノードとは共通の秘密鍵を事前に保有するものとする。
特許第3078841号公報に記載された2PKDPの技術では、開始者のノードは、セッション鍵の配布を要求するにあたってノンスを生成し、開始者のノードの識別情報(アドレスなど)とノンスとを応答者のノードに送信する。応答者のノードは、開始者のノードから鍵配布の要求を受けると、セッション鍵を生成するとともに、ノンスとセッション鍵と応答者のノードの識別情報(アドレスなど)とをメッセージとし秘密鍵を用いてメッセージ認証コードの値(MAC値)を算出し、さらに、セッション鍵とMAC値とを暗号化した暗号文を生成する。
応答者のノードは、当該暗号文にMAC値を付加して開始者のノードに送信し、開始者のノードでは、秘密鍵を用いて暗号文を復号化することによりセッション鍵を取得する。また、MAC値が付加されていることにより、暗号文の正真性(改竄されていないこと)を確認することができる。
一方、3PKDPでは、通信の開始者となるノードと通信の応答者となるノードとの一方が他方のデータを中継して認証サーバと通信することにより、認証サーバが生成したセッション鍵を両ノードで共有することが可能になっている。3PKDPにおいては、開始者のノードと応答者のノードとのどちらが認証サーバと通信するかに応じてプッシュシナリオとプルシナリオとが考えられている。
プッシュシナリオでは、開始者のノードが、応答者のノードと通信した後に認証サーバと通信することにより、認証サーバから開始者のノードに宛てた暗号文と応答者のノードに宛てた暗号文とを受け取って、開始者のノードに宛てた暗号文からセッション鍵を取得するとともに、応答者のノードに宛てた暗号文を応答者のノードに引き渡して応答者のノードにセッション鍵を取得させる。
一方、プルシナリオでは、開始者のノードが応答者のノードと通信すると、応答者のノードが、認証サーバと通信することにより、認証サーバから開始者のノードに宛てた暗号文と応答者のノードに宛てた暗号文とを受け取って、応答者のノードに宛てた暗号文からセッション鍵を取得するとともに、開始者のノードに宛てた暗号文を開始者のノードに引き渡して開始者のノードにセッション鍵を取得させる。
プッシュシナリオとプルシナリオとのいずれのプロトコルを用いるかにかかわらず、セッション鍵を含む暗号文の正真性(改竄されていないこと)を保証するために、暗号文にはMAC値を付加している。また、認証サーバから各ノードに宛てた暗号文は、認証サーバと各ノードとにおいて事前に登録されている秘密鍵を用いて暗号化および復号化している。
ただし、3PKDPの認証サーバは、2PKDPにおける応答者のノードと同様に、各ノードで生成されたノンスとセッション鍵と各ノードの識別情報とをメッセージとし秘密鍵を用いてMAC値を算出し、各ノードに宛ててセッション鍵とMAC値を含めて暗号化した暗号文を送信する。
3PKDPにおけるプッシュシナリオの一例を図13に示す。図示例では、ノードAが開始者であり、ノードBが応答者になる。ここでは、各ノードA,Bが、それぞれ認証サーバSと共通の秘密鍵(共通鍵)Kas,Kbsを事前に保有しているものとする。
まず、ノードAは、ノンスNasおよびノンスNabを生成し、ノードBに対して、ノードAの識別情報IDaおよびノードBの識別情報IDbとともに、生成したノンスNas,Nabを送信する(P1)。また、ノードBは、ノンスNbsを生成し、ノードAから受け取った識別情報IDaとノンスNasとに加えて、ノードBの識別情報IDbとノンスNbsとを認証サーバSに送信する(P2)。
認証サーバSでは、ノードBからノンスNas,Nbsを受け取ると、セッション鍵Ksを生成する。また、ノードAと共通の秘密鍵Kasを用いて、ノンスNasとセッション鍵KsとノードBの識別情報IDbと所要の付加情報αとでメッセージ認証コードの値(MAC値)MAC〔Kas〕(Nas,α,Ks,IDb)を計算する。さらに、当該MAC値をノンスNsaに用い、ノンスNsaとセッション鍵Ksとを暗号化した暗号文ENC〔Kas〕(Nsa,Ks)を生成する。
加えて、認証サーバSでは、ノードBと共通の秘密鍵Kbsを用いて、ノンスNbsとセッション鍵KsとノードAの識別情報IDaと所要の付加情報βとでMAC値MAC〔Kbs〕(Nbs,β,Ks,IDa)を計算するとともに、当該MAC値をノンスNsbに用い、ノンスNsbとセッション鍵Ksとを暗号化した暗号文ENC〔Kbs〕(Nsb,Ks)を生成する。
上述した付加情報α,βは、各ノードA,Bに宛てた情報であって、たとえば、セッション鍵Ksの有効期間などを示す情報として用いる。
認証サーバSにおいてセッション鍵Ksを含む2つの暗号文は、それぞれMAC値と付加情報α,βとが付加されてノードBに送信される(P3)。ノードBでは、認証サーバSから暗号文を受け取ると、秘密鍵Kbsで暗号化された暗号文を復号化して、ノンスNsbとセッション鍵Ksとを取得する。また、ノンスNsbは、MAC値MAC〔Kbs〕(Nbs,β,Ks,IDa)であるから、既知のノンスNbsおよび識別情報IDaと取得したセッション鍵Ksおよび付加情報βとを用いてMAC値を計算し、受信したMAC値と照合することにより、暗号文の正真性を確認する。
次に、ノードBは、認証サーバSから受け取ったノードAへの暗号文ENC〔Kas〕(Nsa,Ks)とMAC値MAC〔Kas〕(Nas,α,Ks,IDb)と付加情報αとをノードAに転送する。ただし、ノードBを通過したことを保証するために、ノードBは新たなノンスNbaを生成するとともに、セッション鍵KsによるMAC値MAC〔Ks〕(Nab,Nba,IDb)を計算し、このMAC値とノンスNbaとを付加してノードAに送信する(P4)。
ノードAでは、ノードBから暗号文ENC〔Kas〕(Nsa,Ks)を受信すると、暗号鍵Kasを用いて復号化し、ノンスNsaとセッション鍵Ksとを取得する。また、ノードBと同様に、MAC値MAC〔Kas〕(Nas,α,Ks,IDb)、MAC〔Ks〕(Nab,Nba,IDb)を計算し、受信したMAC値と照合することにより、暗号文の正真性を確認する。
その後、ノードAは、秘密鍵KasによるMAC値MAC〔Kas〕(Nas,Ks)と、セッション鍵KsによるMAC値MAC〔Ks〕(Nab,Nba)とを算出し、ノードBに返送する(P5)。ノードBでは、MAC値MAC〔Ks〕(Nab,Nba)を算出することにより、ノードAからの応答であることを確認する(P5)。
さらに、ノードBでは、秘密鍵KbsによるMAC値MAC〔Kbs〕(Nbs,Ks)を算出し、当該MAC値をノードAから受け取ったMAC値MAC〔Kas〕(Nas,Ks)とともに認証サーバSに送信する(P6)。認証サーバSでは、これらのMAC値によりノードBからの応答であることを確認することができる。
上述したように、特許第3078841号公報に記載された鍵配布の技術では、ノードないし認証サーバが、セッション鍵を生成した後に、ノンスを含むMAC値を算出し、セッション鍵とMAC値とを暗号化した暗号文にMAC値を付加してセッション鍵を配布している。
すなわち、特許第3078841号公報に記載された鍵配布の技術では、暗号文はノンスを含むMAC値とセッション鍵とを含んでおり、セッション鍵を受け取るノードにとって既知ではない付加情報を送信する場合には、暗号文とMAC値とともに付加情報を暗号化せずに送信することになる。
したがって、付加情報を第三者に盗聴される可能性があり、3PKDPの場合には、認証サーバとの通信を中継する一方のノードにおいて他方のノードの付加情報が取得されるから、付加情報を秘密裏に送信することができないという問題が生じる。
本発明は上記事由に鑑みて為されたものであり、その目的は、セッション鍵を配布するにあたり、正真性の確認が可能であるのはもちろんのこと、セッション鍵以外の付加情報も暗号化して送信することも可能にした暗号鍵配布システムを提供することにある。
本発明に係る暗号鍵配布システムは、第1ノードと、第2ノードと、上記第1ノードと上記第2ノードとの間の暗号化通信に使用されるセッション鍵を生成する認証サーバと、を備える。上記第1ノードと上記認証サーバとは、上記第1ノードと上記認証サーバとの間の暗号化通信に使用される第1秘密鍵を保持するように構成される。上記第2ノードと上記認証サーバとは、上記第2ノードと上記認証サーバとの間の暗号化通信に使用される第2秘密鍵を保持するように構成される。上記第1ノードは、上記セッション鍵の発行を上記認証サーバに要求するにあたっては、第1ノンスを生成して上記認証サーバに送信するように構成される。上記第2ノードは、上記セッション鍵の発行を上記認証サーバに要求するにあたっては、第2ノンスを生成して上記認証サーバに送信するように構成される。上記認証サーバは、上記第1ノンスと上記第2ノンスとを受け取ると上記セッション鍵を新たに生成し、上記受け取った第1ノンスと上記新たに生成されたセッション鍵と所定の第1付加情報とを含む第1メッセージと上記第1秘密鍵とを用いて第1メッセージ認証コードの値を計算し、上記受け取った第1ノンスと上記新たに生成されたセッション鍵と上記第1付加情報とを上記第1秘密鍵を用いて暗号化して第1暗号文を作成し、上記第1暗号文と上記第1メッセージ認証コードの値とを上記第1ノードに送信し、上記受け取った第2ノンスと上記新たに生成されたセッション鍵と所定の第2付加情報とを含む第2メッセージと上記第2秘密鍵とを用いて第2メッセージ認証コードの値を計算し、上記受け取った第2ノンスと上記新たに生成されたセッション鍵と上記第2付加情報とを上記第2秘密鍵を用いて暗号化して第2暗号文を作成し、上記第2暗号文と上記第2メッセージ認証コードの値とを上記第2ノードに送信するように構成される。上記第1ノードは、上記第1暗号文および上記第1メッセージ認証コードの値を受け取ると、上記第1秘密鍵を用いて上記第1暗号文を復号して上記セッション鍵と上記第1付加情報とを取得し、上記第1ノードが記憶する上記第1ノンスと、上記第1暗号文を復号して得られた上記セッション鍵および上記第1付加情報と、上記第1秘密鍵とを用いて上記第1メッセージ認証コードの値を計算し、上記第1ノードが計算した上記第1メッセージ認証コードの値が上記認証サーバから受け取った上記第1メッセージ認証コードの値に一致するか否かを判定することで上記認証サーバから受け取った上記セッション鍵の認証を行うように構成される。上記第2ノードは、上記第2暗号文および上記第2メッセージ認証コードの値を受け取ると、上記第2秘密鍵を用いて上記第2暗号文を復号して上記セッション鍵と上記第2付加情報とを取得し、上記第2ノードが記憶する上記第2ノンスと、上記第2暗号文を復号して得られた上記セッション鍵および上記第2付加情報と、上記第2秘密鍵とを用いて上記第2メッセージ認証コードの値を計算し、上記第2ノードが計算した上記第2メッセージ認証コードの値が上記認証サーバから受け取った上記第2メッセージ認証コードの値に一致するか否かを判定することで上記認証サーバから受け取った上記セッション鍵の認証を行うように構成される。
また、上記第1付加情報および上記第2付加情報は、アクセス制御の許可情報である。
さらに、上記認証サーバは、上記第1ノードまたは上記第2ノードからアクセス制御の要求情報を受け取ると、受け取った上記アクセス制御の要求情報とあらかじめ登録されたアクセス制御の登録情報とを比較し、上記受け取ったアクセス制御の要求情報が上記アクセス制御の登録情報に含まれていない場合、上記アクセス制御の登録情報を上記アクセス制御の許可情報として用いるように構成される。
別の好ましい形態では、上記暗号鍵配布システムは、第1ノードと、第2ノードと、上記第1ノードと上記第2ノードとの間の暗号化通信に使用されるセッション鍵を生成する認証サーバと、を備える。上記第1ノードと上記認証サーバとは、上記第1ノードと上記認証サーバとの間の暗号化通信に使用される第1秘密鍵を保持するように構成される。上記第2ノードと上記認証サーバとは、上記第2ノードと上記認証サーバとの間の暗号化通信に使用される第2秘密鍵を保持するように構成される。上記第1ノードは、上記セッション鍵の発行を上記認証サーバに要求するにあたっては、第1ノンスを生成して上記認証サーバに送信するように構成される。上記第2ノードは、上記セッション鍵の発行を上記認証サーバに要求するにあたっては、第2ノンスを生成して上記認証サーバに送信するように構成される。上記認証サーバは、上記第1ノンスと上記第2ノンスとを受け取ると上記セッション鍵を新たに生成し、上記受け取った第1ノンスと上記新たに生成されたセッション鍵と所定の第1付加情報とを含む第1メッセージと上記第1秘密鍵とを用いて第1メッセージ認証コードの値を計算し、上記受け取った第1ノンスと上記新たに生成されたセッション鍵と上記第1付加情報とを上記第1秘密鍵を用いて暗号化して第1暗号文を作成し、上記第1暗号文と上記第1メッセージ認証コードの値とを上記第1ノードに送信し、上記受け取った第2ノンスと上記新たに生成されたセッション鍵と所定の第2付加情報とを含む第2メッセージと上記第2秘密鍵とを用いて第2メッセージ認証コードの値を計算し、上記受け取った第2ノンスと上記新たに生成されたセッション鍵と上記第2付加情報とを上記第2秘密鍵を用いて暗号化して第2暗号文を作成し、上記第2暗号文と上記第2メッセージ認証コードの値とを上記第2ノードに送信するように構成される。上記第1ノードは、上記第1暗号文および上記第1メッセージ認証コードの値を受け取ると、上記第1秘密鍵を用いて上記第1暗号文を復号して上記セッション鍵と上記第1付加情報とを取得し、上記第1ノードが記憶する上記第1ノンスと、上記第1暗号文を復号して得られた上記セッション鍵および上記第1付加情報と、上記第1秘密鍵とを用いて上記第1メッセージ認証コードの値を計算し、上記第1ノードが計算した上記第1メッセージ認証コードの値が上記認証サーバから受け取った上記第1メッセージ認証コードの値に一致するか否かを判定することで上記認証サーバから受け取った上記セッション鍵の認証を行うように構成される。上記第2ノードは、上記第2暗号文および上記第2メッセージ認証コードの値を受け取ると、上記第2秘密鍵を用いて上記第2暗号文を復号して上記セッション鍵と上記第2付加情報とを取得し、上記第2ノードが記憶する上記第2ノンスと、上記第2暗号文を復号して得られた上記セッション鍵および上記第2付加情報と、上記第2秘密鍵とを用いて上記第2メッセージ認証コードの値を計算し、上記第2ノードが計算した上記第2メッセージ認証コードの値が上記認証サーバから受け取った上記第2メッセージ認証コードの値に一致するか否かを判定することで上記認証サーバから受け取った上記セッション鍵の認証を行うように構成される。また、上記第1付加情報および上記第2付加情報は、アクセス制御の許可情報である。さらに、上記第1ノードと上記第2ノードとの間の通信を中継するプロキシノードを有する。上記認証サーバは、上記プロキシノードに上記アクセス制御の許可情報を送信するように構成される。上記プロキシノードは、上記認証サーバから受け取った上記アクセス制御の許可情報に基づいて上記第1ノードと上記第2ノードとの間の通信を中継するように構成される。
この場合、さらに好ましい形態では、上記第1ノードおよび上記第2ノードにはグループ識別子が付与される。上記第1付加情報および上記第2付加情報は、グループ識別子を含む。上記プロキシノードは、上記グループ識別子を用いてアクセス制御を行うように構成される。
実施形態1の暗号鍵配布システムの動作説明図である。 同上の暗号鍵配布システムの構成図である。 同上の暗号鍵配布システムの他例の動作説明図である。 実施形態2の暗号鍵配布システムの動作説明図である。 同上の暗号鍵配布システムの構成図である。 実施形態3の暗号鍵配布システムの動作説明図である。 同上の暗号鍵配布システムの構成図である。 実施形態4の暗号鍵配布システムの動作説明図である。 同上の暗号鍵配布システムの要部の動作説明図である。 本発明の2者キー配布プロトコルを示す動作説明図である。 本発明の3者キー配布プロトコルを示す動作説明図である。 本発明の3者キー配布プロトコルの他例を示す動作説明図である。 従来の3者キー配布プロトコルを示す動作説明図である。
背景技術において説明したように、セッション鍵の認証配布の技術には、2者間で行う2PKDP(2 Party Key Distribution Protocol)と、3者間で行う3PKDP(3 Party Key Distribution Protocol)とが知られている。以下に説明する実施形態では、本発明の技術思想を3PKDPに適用した場合を例示するが、下記の2PKDPにおいても本発明の技術思想を適用することは可能である。また、以下に説明する認証サーバおよびノードは、いずれも通信機能を備えるコンピュータを用いて構成され、広域情報通信網(インターネットなど)やローカル情報通信網を用いて通信可能であるものとする。
(1)2PKDP
まず、2PKDPの場合について、基本的な手順を示すために、図10に示すように、2個のノードA,Bの間でセッション鍵Ksを共有する場合を例として示す。ここでは、ノードAがノードBに対してセッション鍵Ksの配布を要求し、ノードBがセッション鍵KsをノードAに配布するものとする。また、セッション鍵Ksを配布するノードBと、セッション鍵Ksの配布を要求するノードAとは、共通の秘密鍵(すなわち、共通鍵)Kabを事前に保有しているものとする。言い換えると、ノードBはノードAの通信相手であるとともに、認証サーバとしても機能していることになる。
ただし、ノードA,Bが共通の秘密鍵Kabを持つ代わりに、セッション鍵Ksを配布するノードBが、セッション鍵Ksの配布を要求するノードAの識別情報(アドレスなど)IDaと、ノードAが保有する秘密鍵Kabとを対応付けて事前に保有していてもよい。
ノードAは、セッション鍵Ksの配布を要求するにあたり、ノンスNabを生成し、ノードAの識別情報IDaとノンスNabとをノードBに送信する(P1)。
一方、ノードBは、ノードAから鍵配布の要求を受けると、セッション鍵Kbaを生成するとともに、秘密鍵Kabを用いて、ノンスNabとセッション鍵Ksとを暗号化した暗号文ENC〔Kab〕(Nab,Ks)を生成する。また、ノードBでは、ノードAの秘密鍵Kabを用いたメッセージ認証コードの値(MAC値)MAC〔Kab〕(Nab,Ks,IDb)を計算し、暗号文にMAC値を付加してノードAに送信する(P2)。
ノードAでは、ノードBから送信された情報を受け取ると、秘密鍵Kabを用いて、ノンスNabとセッション鍵KsとノードBの識別情報(アドレスなど)IDbとを復号化する。また、秘密鍵KabによるMAC値MAC〔Kab〕(Nab,Ks)を計算し、MAC値をノードBに返送する(P3)。
ノードBでは、ノードAからのMAC値MAC〔Kab〕(Nab,Ks)を受け取ると、既知の秘密鍵KabとノンスNabとセッション鍵Ksとを用いてMAC値を計算し、計算したMAC値とノードAから受け取ったMAC値とを比較することにより、セッション鍵KsがノードAに対して安全に伝送されたことを確認する。
セッション鍵Ksを含む暗号文ENC〔Kab〕(Nab,Ks)としては、たとえば、ノンスNabを一方向性関数に代入した結果を秘密鍵Kabで暗号化したメッセージと、セッション鍵Ksとの排他的論理和を用いることができる。なお、ノードBでのセッション鍵Ksの暗号化の際に、ノードBの識別情報IDbを含めるようにしてもよい。
(2)3PKDP
次に、3PKDPの場合について、基本的な手順を示すために、図11に示すように、2個のノードA,Bと認証サーバSとを用い、2個のノードA,Bが互いに通信する際に用いるセッション鍵Ksを、認証サーバSが配布する場合を例として説明する。各ノードA,Bは、それぞれ認証サーバSと共通の秘密鍵(共通鍵)Kas,Kbsを事前に保有しているものとする。
ただし、2PKDPの場合と同様に、認証サーバSと各ノードA,Bとが共通の秘密鍵Kas,Kabを持つ代わりに、認証サーバSが、各ノードA,Bの識別情報IDa,IDbと秘密鍵Kas,Kbsとを対応付けた情報を事前に保有していてもよい。
図11の動作例では、ノードAが通信の開始者になり、応答者であるノードBがノードAと認証サーバSとの間の通信を中継する動作を採用している。したがって、認証サーバSが発行したセッション鍵Ksは、ノードBを介してノードAに引き渡される。
この動作例では、まずノードAは、認証サーバSに対するノンスNasを生成し、ノードAの識別情報IDaとノンスNasとをノードBに送信する(P1)。
一方、ノードBは、ノードAからノンスNasを受け取ると、ノンスNbsを生成し、ノードAから受け取った識別情報IDaとノンスNasとに加えて、ノードBの識別情報IDbとノンスNbsとを認証サーバSに送信する(P2)。
認証サーバSは、ノードBから識別情報IDa,IDbとノンスNas,Nbsとを受け取ると、セッション鍵Ksを生成し、ノードAに対応する秘密鍵Kasを用いて、ノンスNasとセッション鍵Ksとを暗号化した暗号文ENC〔Kas〕(Nas,Ks)を生成するとともに、ノードBに対応する秘密鍵Kbsを用いて、ノンスNbsとセッション鍵Ksとを暗号化した暗号文ENC〔Kbs〕(Nbs,Ks)を生成する。
また、認証サーバSでは、ノードAに対応する秘密鍵Kasを用いたMAC値MAC〔Kas〕(Nas,Ks,IDb)を計算するとともに、ノードBに対応する秘密鍵Kbsを用いたMAC値MAC〔Kbs〕(Nbs,Ks,IDa)を計算する。認証サーバSにおいてセッション鍵Ksを暗号化した2つの暗号文は、それぞれMAC値が付加されて、ノードBに送信される(P3)。
ノードBでは、認証サーバSから暗号文ENC〔Kbs〕(Nbs,Ks)を受け取ると、秘密鍵Kbsを用いてノンスNbsとセッション鍵Ksとを復号化し、セッション鍵Ksを取得するとともに、MAC値を用いてセッション鍵Ksの正真性を確認する。
さらに、ノードBでは、認証サーバSからノードAへの暗号文ENC〔Kas〕(Nas,Ks)およびMAC値MAC〔Kas〕(Nas,Ks,IDb)をノードAに転送する。このとき、ノードBを通過したことを保証するために、新たなノンスNbaを生成するとともに、セッション鍵KsによるMAC値MAC〔Ks〕(Nas,Nba,IDb)を計算し、当該MAC値とノンスNbaとを付加してノードAに送信する(P4)。
ノードAでは、ノードBから暗号文ENC〔Kas〕(Nas,Ks)を受け取ると、秘密鍵Kasを用いてノンスNasとセッション鍵Ksとを複合化し、セッション鍵Ksを取得するとともに、MAC値を用いてセッション鍵Ksが認証サーバSで発行されノードBを経由して伝送されたものであることを確認する。
セッション鍵Ksを受け取ったノードAは、セッション鍵KsによるMAC値MAC〔Ks〕(Nas,Nba)とを計算し、ノードBに返送する(P5)。ノードBでは、このMAC値MAC〔Ks〕(Nas,Nba)を用いることにより、ノードAがセッション鍵Ksを受け取ったことを確認することができる。
上述の動作例において、セッション鍵Ksを暗号化した暗号文ENC〔Kas〕(Nas,Ks)、ENC〔Kbs〕(Nbs,Ks)としては、たとえば、各ノンスNas,Nbsをそれぞれ一方向性関数に代入した結果をそれぞれ秘密鍵Kas,Kbsで暗号化したメッセージと、セッション鍵Ksとの排他的論理和を用いることができる。
上述した各手順P1〜P5には、さまざまなデータをオプションとして付加することができる。図12にオプションを付加した動作例を示す。図示例では、まずノードAからノードBにノンスNasを送信する手順P1において、ノードBの識別情報IDbと、ノードAからノードBに対するノンスNabとを付加している。
また、認証サーバSからノードBに対してセッション鍵Ksを含む暗号文を送信する手順P3と、ノードBからノードAに対してセッション鍵Ksを含む暗号文を送信する手順P4とにおいて、それぞれ暗号文の中に通信相手となるノードA,Bの識別情報IDa,IDbを含めている。すなわち、ノードAが受け取る暗号文にはノードBの識別情報IDbを含め、ノードBが受け取る暗号文にはノードAの識別情報IDaを含めている。
さらに、ノードAからノードBに確認応答を送信する手順P5において、ノードBに宛てたMAC値MAC〔Ks〕(Nab,Nba)だけではなく、認証サーバSに宛てた秘密鍵KasによるMAC値MAC〔Kas〕(Nas,Ks)も送信している。
ノードBは、この確認応答を受け取ると、秘密鍵Kbsを用いたMAC値MAC〔Kbs〕(Nbs,Ks)を計算し、ノードAから受け取った秘密鍵KasによるMAC値MAC〔Kas〕(Nas,Ks)とともに、MAC値MAC〔Kbs〕(Nbs,Ks)を認証サーバSに送信する(P6)。認証サーバSでは、これらのMAC値をノードBから受け取って照合することによって、ノードA,Bがセッション鍵Ksを受け取ったことを確認する。
以下では、秘密鍵の認証を3者間で行う図11または図12に示した動作に基づいて、種々の動作例を説明する。ただし、以下に説明する動作例は、図11または図12の動作と図10の動作との関係に基づいて2PDKPに適用することも可能である。すなわち、2PDKPの場合、ノードBが認証サーバSとしても機能する。言い換えれば、認証サーバSの処理がノードBの内部で行われていると考えることができる。また、図12に示した手順に基づいて説明している動作についても、図12の動作と図11の動作との関係に基づいて図12の動作で示したオプションを除去した動作とすることが可能である。
(実施形態1)
本例では、まず、図1に示すように、図11に示した基本の動作に加え、各ノードA,Bへのセッション鍵Ksの配布に伴って、各ノードA,Bに対する付加情報α,βも併せて送信する例について説明する。付加情報α,βとしては、鍵の有効期限、アクセス回数、課金などの情報を持たせることができ、セッション鍵Ksの配布と同様に付加情報α,βも暗号化して送信される。
付加情報α、βは、具体的には、セッション鍵Ksの有効期限、セッション鍵Ksを用いた通信回数(アクセス回数)、セッション鍵Ksを用いた通信によりサービスを享受する場合の課金情報のうちの少なくとも一つの情報として用いる。
セッション鍵Ksの有効期限は、セッション鍵Ksを配布した時点のタイムスタンプと有効期間とを付加情報α,βに用い、タイムスタンプで記述された日時から有効期間が経過した時点で、当該セッション鍵Ksを無効にする。また、アクセス回数は、セッション鍵Ksの有効期限と同様に、セッション鍵Ksの寿命を規定する情報であり、セッション鍵Ksを用いた通信の有効回数を付加情報α,βに用い、セッション鍵Ksを用いて行った通信の回数が有効回数を超えると、当該セッション鍵Ksを無効にする。
さらに、課金情報としては課金金額を用い、この場合、ノードA,Bにおいて付加情報α,βとしての課金金額を受信すると、ノードA,Bが保持している予算と比較してセッション鍵Ksを用いた通信を行うか否かを判断する。また、付加情報α,βとして、セッション鍵Ksの有効期間とともに課金金額を用いることにより、有効期間の満了時において徴収する課金金額を通知することも可能である。
付加情報α,βについては、上述した用途以外にも適宜に用いることが可能であり、ノードA,Bを用いて構築するシステムの動作に応じて、付加情報α,βの取り扱いを規定すればよい。
本実施形態の暗号鍵配布システムは、図2に示すように、ノード(第1ノード)Aと、ノード(第2ノード)Bと、ノードAとノードBとの間の暗号化通信に使用されるセッション鍵を生成する認証サーバSと、を備える。
ノードAは、通信ユニット(第1通信ユニット)10と、記憶ユニット(第1記憶ユニット)11と、ノンス生成ユニット(第1ノンス生成ユニット)12と、セッション鍵要求ユニット(第1セッション鍵要求ユニット)13と、を備える。
通信ユニット10は、情報通信網を通じて認証サーバSおよびノードBと通信するように構成される。
記憶ユニット11は、秘密鍵(第1秘密鍵)Kasを記憶するように構成される。また、記憶ユニット11は、ノードAの識別情報IDaを記憶するように構成される。
ノンス生成ユニット12は、ノンス(第1ノンス)Nasを生成するように構成される。
セッション鍵要求ユニット13は、セッション鍵Ksの発行を認証サーバSに要求する際に、ノンス生成ユニット12に第1ノンスNasを生成させるように構成される。ノンス生成ユニット12が第1ノンスNasを生成すると、セッション鍵要求ユニット13は、ノンス生成ユニット12が生成した第1ノンスNasを記憶ユニット11に記憶させるように構成される。第1ノンスNasは、ノードAが認証サーバSからセッション鍵Ksを受け取る手順が終了するまでは、記憶ユニット11に記憶される。
また、ノンス生成ユニット12が第1ノンスNasを生成すると、セッション鍵要求ユニット13は、通信ユニット10を制御して、ノンス生成ユニット12が生成した第1ノンスNasを認証サーバSに送信するように構成される。
本実施形態の場合、セッション鍵要求ユニット13は、ノンス生成ユニット12が生成した第1ノンスNasと、記憶ユニット11に記憶された識別情報IDaとを、ノードBを経由して、認証サーバSに送信するように構成される。すなわち、セッション鍵要求ユニット13は、ノンス生成ユニット12が生成した第1ノンスNasと、記憶ユニット11に記憶された識別情報IDaとを、ノードBに送信するように構成される。
ノードBは、通信ユニット(第2通信ユニット)20と、記憶ユニット(第2記憶ユニット)21と、ノンス生成ユニット(第2ノンス生成ユニット)22と、セッション鍵要求ユニット(第2セッション鍵要求ユニット)23と、を備える。
通信ユニット20は、情報通信網を通じて認証サーバSおよびノードAと通信するように構成される。
記憶ユニット21は、秘密鍵(第2秘密鍵)Kbsを記憶するように構成される。また、記憶ユニット21は、ノードBの識別情報IDbを記憶するように構成される。
ノンス生成ユニット22は、ノンス(第2ノンス)Nbsを生成するように構成される。
セッション鍵要求ユニット23は、セッション鍵Ksの発行を認証サーバSに要求する際に、ノンス生成ユニット22に第2ノンスNbsを生成させるように構成される。ノンス生成ユニット22が第2ノンスNbsを生成すると、セッション鍵要求ユニット23は、ノンス生成ユニット22が生成した第2ノンスNbsを記憶ユニット21に記憶させるように構成される。第2ノンスNbsは、ノードBが認証サーバSからセッション鍵Ksを受け取る手順が終了するまでは、記憶ユニット21に記憶される。
また、ノンス生成ユニット22が第2ノンスNbsを生成すると、セッション鍵要求ユニット23は、通信ユニット20を制御して、ノンス生成ユニット22が生成した第2ノンスNbsを認証サーバSに送信するように構成される。
本実施形態の場合、セッション鍵要求ユニット23は、ノードAから第1ノンスNasと識別情報IDaとを受け取ると、ノンス生成ユニット22が生成した第2ノンスNbsと、記憶ユニット21に記憶された識別情報IDbとを、ノードAから受け取った第1ノンスNasおよび識別情報IDaとともに、認証サーバSに送信するように構成される。
認証サーバSは、通信ユニット(第3通信ユニット)30と、秘密鍵記憶ユニット31と、セッション鍵生成ユニット32と、演算ユニット(第3演算ユニット)33と、暗号文生成ユニット34と、暗号文送信ユニット35と、を備える。
通信ユニット30は、情報通信網を通じて各ノードA,Bと通信するように構成される。
秘密鍵記憶ユニット31は、ノードAの秘密鍵(第1秘密鍵)Kasと、ノードBの秘密鍵(第2秘密鍵)Kbsと、を記憶するように構成される。より詳細には、秘密鍵記憶ユニット31は、ノードごとに識別情報と秘密鍵との対応関係が登録された鍵データベースを記憶している。例えば、ノードAについては、識別情報IDaに秘密鍵Kasが対応付けられ、ノードBについては、識別情報IDbに秘密鍵Kbsが対応付けられている。
このように、ノードAと認証サーバSとは、ノードAと認証サーバSとの間の暗号化通信に使用される第1秘密鍵Kasを保持する。また、ノードBと認証サーバSとは、ノードBと認証サーバSとの間の暗号化通信に使用される第2秘密鍵Kbsを保持する。
セッション鍵生成ユニット32は、通信ユニット30が第1ノンスNasと第2ノンスNbsとを受け取るとセッション鍵Ksを新たに生成するように構成される。
演算ユニット33は、通信ユニット30が受け取った第1ノンスNasとセッション鍵生成ユニット32が新たに生成したセッション鍵Ksと所定の第1付加情報αとを含むメッセージ(第1メッセージ)と秘密鍵記憶ユニット31に記憶された第1秘密鍵Kasとを用いてメッセージ認証コードの値(第1メッセージ認証コードの値)MAC[Kas](Nas,α,Ks,IDb)を計算するように構成される。本実施形態では、第1メッセージは、第1ノンスNasと、セッション鍵Ksと、第1付加情報αと、ノードAと通信するノードBの識別情報IDbと、を含んでいる。
また、演算ユニット33は、通信ユニット10が受け取った第2ノンスNbsとセッション鍵生成ユニット32が新たに生成したセッション鍵Ksと所定の第2付加情報βとを含むメッセージ(第2メッセージ)と秘密鍵記憶ユニット31に記憶された第2秘密鍵Kbsとを用いてメッセージ認証コードの値(第2メッセージ認証コードの値)MAC[Kbs](Nbs,β,Ks,IDa)を計算するように構成される。本実施形態では、第1メッセージは、第2ノンスNbsと、セッション鍵Ksと、第2付加情報βと、ノードBと通信するノードAの識別情報IDbと、を含んでいる。
暗号文生成ユニット34は、通信ユニット30が受け取った第1ノンスNasとセッション鍵生成ユニット32が新たに生成したセッション鍵Ksと第1付加情報αとを秘密鍵記憶ユニット31に記憶された第1秘密鍵Kasを用いて暗号化して暗号文(第1暗号文)ENC[Kas](Nas,α,Ks)を作成するように構成される。また、暗号文生成ユニット34は、通信ユニット30が受け取った第2ノンスNbsとセッション鍵生成ユニット32が新たに生成したセッション鍵Ksと第2付加情報βとを秘密鍵記憶ユニット31に記憶された第2秘密鍵Kbsを用いて暗号化して暗号文(第2暗号文)ENC[Kbs](Nbs,β,Ks)を作成するように構成される。
暗号文送信ユニット35は、通信ユニット30を制御して、暗号文生成ユニット34が生成した第1暗号文ENC[Kas](Nas,α,Ks)と演算ユニット33が計算した第1メッセージ認証コードの値MAC[Kas](Nas,α,Ks,IDb)とをノードAに送信するように構成される。また、暗号文送信ユニット35は、通信ユニット30を制御して、暗号文生成ユニット34が生成した第2暗号文ENC[Kbs](Nbs,β,Ks)と演算ユニット33が計算した第2メッセージ認証コードの値MAC[Kbs](Nbs,β,Ks,IDa)とをノードBに送信するように構成される。
ノードAは、さらに、復号ユニット(第1復号ユニット)14と、演算ユニット(第1演算ユニット)15と、認証ユニット(第1認証ユニット)16と、を備える。
復号ユニット14は、通信ユニット10が第1暗号文ENC[Kas](Nas,α,Ks)および第1メッセージ認証コードの値MAC[Kas](Nas,α,Ks,IDb)を受け取ると、記憶ユニット11に記憶された第1秘密鍵Kasを用いて第1暗号文ENC[Kas](Nas,α,Ks)を復号して第1ノンスNasとセッション鍵Ksと第1付加情報αとを取得するように構成される。
演算ユニット15は、記憶ユニット11に記憶された第1ノンスNasと、復号ユニット14が第1暗号文ENC[Kas](Nas,α,Ks)を復号して得られたセッション鍵Ksおよび第1付加情報αと、記憶ユニット11に記憶された第1秘密鍵Kasとを用いて第1メッセージ認証コードの値MAC[Kas](Nas,α,Ks,IDb)を計算するように構成される。
認証ユニット16は、演算ユニット15が計算した第1メッセージ認証コードの値MAC[Kas](Nas,α,Ks,IDb)が認証サーバSから受け取った第1メッセージ認証コードの値MAC[Kas](Nas,α,Ks,IDb)に一致するか否かを判定することで認証サーバSから受け取ったセッション鍵Ksの認証を行うように構成される。
認証ユニット16は、演算ユニット15が計算した第1メッセージ認証コードの値MAC[Kas](Nas,α,Ks,IDb)が認証サーバSから受け取った第1メッセージ認証コードの値MAC[Kas](Nas,α,Ks,IDb)に一致しなければ、セッション鍵Ksに異常があると判断するように構成される。この場合、認証ユニット16は、例えば、セッション鍵Ksを破棄する。
認証ユニット16は、演算ユニット15が計算した第1メッセージ認証コードの値MAC[Kas](Nas,α,Ks,IDb)が認証サーバSから受け取った第1メッセージ認証コードの値MAC[Kas](Nas,α,Ks,IDb)に一致すれば、セッション鍵Ksが正常であると判断するように構成される。この場合、認証ユニット16は、例えば、認証サーバSから受け取ったセッション鍵Ksを記憶ユニット11に記憶させるように構成される。
なお、認証ユニット16は、復号ユニット14が得た第1ノンスNasと記憶ユニット11に記憶された第1ノンスNasとを比較するように構成される。認証ユニット16は、復号ユニット14が得た第1ノンスNasが記憶ユニット11に記憶された第1ノンスNasに一致しなければ、セッション鍵Ksの認証を行わないように構成される。
このようにしてノードBが認証サーバSからセッション鍵Ksを取得すると、通信ユニット10は、ノードBと通信する際には、認証サーバSより受け取ったセッション鍵Ksを用いて、ノードBに送信するデータの暗号化およびノードBから受け取ったメッセージ(データ)の復号を行うように構成される。
ノードBは、さらに、復号ユニット(第2復号ユニット)24と、演算ユニット(第2演算ユニット)25と、認証ユニット(第2認証ユニット)26と、を備える。
復号ユニット24は、通信ユニット20が第2暗号文ENC[Kbs](Nbs,β,Ks)および第2メッセージ認証コードの値MAC[Kbs](Nbs,β,Ks,IDa)を受け取ると、記憶ユニット21に記憶された第2秘密鍵Kbsを用いて第2暗号文ENC[Kbs](Nbs,β,Ks)を復号して第2ノンスNbsとセッション鍵Ksと第2付加情報βとを取得するように構成される。
演算ユニット25は、記憶ユニット21に記憶された第2ノンスNbsと、復号ユニット24が第2暗号文ENC[Kbs](Nbs,β,Ks)を復号して得られたセッション鍵Ksおよび第2付加情報βと、記憶ユニット21に記憶された第2秘密鍵Kbsとを用いて第2メッセージ認証コードの値MAC[Kbs](Nbs,β,Ks,IDa)を計算するように構成される。
認証ユニット26は、演算ユニット25が計算した第2メッセージ認証コードの値MAC[Kbs](Nbs,β,Ks,IDa)が認証サーバSから受け取った第2メッセージ認証コードの値MAC[Kbs](Nbs,β,Ks,IDa)に一致するか否かを判定することで認証サーバSから受け取ったセッション鍵Ksの認証を行うように構成される。
認証ユニット26は、演算ユニット25が計算した第2メッセージ認証コードの値MAC[Kbs](Nbs,β,Ks,IDa)が認証サーバSから受け取った第2メッセージ認証コードの値MAC[Kbs](Nbs,β,Ks,IDa)に一致しなければ、セッション鍵Ksに異常があると判断するように構成される。この場合、認証ユニット26は、例えば、セッション鍵Ksを破棄する。
認証ユニット26は、演算ユニット25が計算した第2メッセージ認証コードの値MAC[Kbs](Nbs,β,Ks,IDa)が認証サーバSから受け取った第2メッセージ認証コードの値MAC[Kbs](Nbs,β,Ks,IDa)に一致すれば、セッション鍵Ksが正常であると判断するように構成される。この場合、認証ユニット26は、例えば、認証サーバSから受け取ったセッション鍵Ksを記憶ユニット21に記憶させるように構成される。
なお、認証ユニット26は、復号ユニット24が得た第2ノンスNbsと記憶ユニット21に記憶された第2ノンスNbsとを比較するように構成される。認証ユニット26は、復号ユニット24が得た第2ノンスNbsが記憶ユニット21に記憶された第2ノンスNbsに一致しなければ、セッション鍵Ksの認証を行わないように構成される。
このようにしてノードBが認証サーバSからセッション鍵Ksを取得すると、通信ユニット20は、ノードAと通信する際には、認証サーバSより受け取ったセッション鍵Ksを用いて、ノードAに送信するデータの暗号化およびノードAから受け取ったメッセージ(データ)の復号を行うように構成される。
以下に説明する動作例では、ノードAを通信の開始者(サブジェクト=主体)とし、ノードBを通信の応答者(オブジェクト=客体)とする。主体と客体とのノードA,Bは、セッション鍵Ksの配布によって暗号化したメッセージによる通信が可能になったとき、主体(ノードA)が客体(ノードB)を制御することが可能になる。
主体のノードAと客体のノードBとが暗号を用いて通信を行うには、認証サーバSからノードA,B間で共通の秘密鍵(セッション鍵Ks)を得て、セッション鍵Ksをメッセージの暗号化に用いる必要がある。
ノードA,Bが認証サーバSからセッション鍵Ksを受け取るには、図11に示した動作と同様に、まず、ノードAからノードBに対して、ノードAの識別情報IDaとノンスNasとを送信する(P1)。
ノードAからノードBに送信するメッセージには、ノードBの識別情報IDbと、ノードBに対して生成したノンスNabとをオプションとして付加してもよい(図3参照)。ノンスNasおよびノンスNabは、ノードAにおいて、セッション鍵Ksの配布を要求するたびに(ノンス生成ユニット12によって)生成され、セッション鍵Ksの配布手順が完了するまで一時的に(記憶ユニット11に)記憶される。
ノードAがオプションとしてノードBの識別情報IDbを付加する場合の例としては、ノードAが同報通信を行う場合がある。同報通信を行う場合には、ノードB以外の他のノードもノードAからのメッセージを受信するから、ノードBと他のノードとを区別してノードBにメッセージを受け取らせるために、ノードBの識別情報IDbをオプションとして用いるのである。
また、ノードAでは、認証サーバSからの応答を保証するためにノンスNasを用いており、ノードAとノードBとの間でセッション鍵Ksを確認する手順でもこのノンスNasを使い回すことにより手順を簡略化しているが、鍵配布をより安全に行うには、経路別に異なるノンスを用いることが望ましい。
すなわち、ノンスは1回性が原則であり、同じノンスを繰り返して送信しないのが理想であるが、実際には通信経路やノードA,Bの障害などにより再送によって同じノンスを再送する場合があるから、再送攻撃(リプレイ攻撃)により鍵配布に障害を生じる場合がある。そこで、リプレイ攻撃に対する耐性を高めて鍵配布の安全性を高めるには、ノードAとノードBとの間でセッション鍵Ksを確認する手順で用いるノンスNabを、ノードAが認証サーバSからの応答を保証するために用いるノンスNasとは別にオプションで生成し、経路別のノンスNab,Nasを用いるのが望ましい。
ノードBは、ノードAから手順P1のメッセージを受け取ると、ノードAの識別情報IDa、ノンスNas(オプションが付加されていれば、ノードBの識別情報IDb、ノンスNab)を抽出するとともに、ノンスNbsを生成する。さらに、ノードAの識別情報IDa、ノンスNas(オプションが付加されていれば、ノードBの識別情報IDb、ノンスNab)に、ノードBの識別情報IDb、ノンスNbsを付加したメッセージ(鍵配布要求)を、認証サーバSに宛てて送信する(P2)。ノンスNbsは、ノードBにおいて、認証サーバSにセッション鍵Ksの配布を要求するたびに(ノンス生成ユニット22によって)生成され、セッション鍵Ksの配布手順が完了するまで一時的に(記憶ユニット21に)記憶される。手順P1,P2は、図11に示した3PKDPの基本の手順と同様である。
認証サーバSでは、ノードBから手順P2のメッセージを受け取ると、ノードA,Bが通信に用いるセッション鍵Ksを生成する。認証サーバSには、各ノードA,Bごとに識別情報IDa,IDbと秘密鍵Kas,Kbsとを対応付けて記憶した鍵データベース(図示せず)を備えており、ノードBから鍵配布要求のメッセージを受け取ると、メッセージから抽出したノードA、Bの識別情報IDa、IDbを鍵データベースに照合し、各ノードA,Bごとの秘密鍵Kas,Kbsを抽出する。
さらに、認証サーバSでは、各ノードA,Bに対応する各秘密鍵Kas,Kbsをそれぞれ用いて、各ノードA,Bがそれぞれ生成したノンスNas,Nbs、付加情報α,β、セッション鍵Ksを暗号化した暗号文ENC〔Kas〕(Nas,α,Ks)、ENC〔Kbs〕(Nbs,β,Ks)を生成する。また、各メッセージに対して、各ノードA,Bに対応する秘密鍵Kas,Kbsを用いたMAC値MAC〔Kas〕(Nas,α,Ks,IDb)、MAC〔Kbs〕(NBs,β,Ks,IDa)も生成する。
ここに、暗号文ENC〔Kas〕(Nas,α,Ks)とMAC値MAC〔Kas〕(Nas,α,Ks,IDb)との組は、ノードBを経由してノードAに宛てて送信されるデータであり、暗号文ENC〔Kbs〕(Nbs,β,Ks)とMAC値MAC〔Kbs〕(NBs,β,Ks,IDa)との組は、ノードBに宛てて送信されるデータである。したがって、ノードA,Bごとにデータを受け取ることができるように、データの並び順が決められる。ここでは、前に並ぶ組がノードAに宛てたデータであり、後に並ぶ組がノードBに宛てたデータになっている。上述のようにして認証サーバSにおいて生成されたデータは、ノードBに宛てて送信される(P3)。
認証サーバSにおいて、各ノードA,Bに配布するセッション鍵Ksを暗号化したメッセージを生成する際に、各ノードA,Bがセッション鍵Ksを用いて互いに通信する相手のノードA,Bの識別情報IDa,IDbをオプションとして含めてもよい(図3参照)。つまり、ノードAに宛てるメッセージをENC〔Kas〕(Nas,α,Ks,IDb)とし、ノードBに宛てるメッセージをENC〔Kbs〕(Nbs,β,Ks,IDa)とする。
このように、オプションを含めると、ノードAでは、ノードBの識別情報IDbを事前に認識せずに鍵配布要求を行うことが可能になる。つまり、ノードAでは、認証サーバSからセッション鍵Ksを含むメッセージを受け取ることにより、通信相手となるノードBの識別情報IDbを知ることができる。また、識別情報IDbによって相応の相手かどうかを判断して、以後の通信を継続するか否かを判定することが可能になる。あるいはまた、認証サーバSがセッション鍵Ksを配布した通信相手の識別情報IDa,IDbを確認することができるから、ノードA,Bにおいて通信相手の識別情報IDa,IDbを互いに確認することによって、ノードAからノードBへのメッセージあるいはノードBから認証サーバSへのメッセージの改竄の有無を確認することが可能になる。
ノードBは、鍵認証サーバSから手順P3によるデータを受信すると、データの順番を用いてノードB宛ての暗号文の組(暗号文ENC〔Kbs〕(Nbs,β,Ks)とMAC値MAC〔Kbs〕(NBs,β,Ks,IDa)との組)を抽出し、暗号文ENC〔Kbs〕(Nbs,β,Ks)を復号してセッション鍵Ksなどを取り出す。ここで、メッセージから取り出したノンスNbsをノードB(記憶ユニット21)が記憶しているノンスNbsと比較することにより、メッセージの改竄の有無を確認し、受信したノンスNbsと記憶しているノンスNbsとが不一致の場合には、異常とみなして以後の処理を行わない。
さらに、ノードBが記憶しているノンスNbsと、メッセージから復号した付加情報βと、メッセージから復号したセッション鍵Ksと、通信相手であるノードAの識別情報IDaと、ノードBが保有している秘密鍵Kbsとを用いて、認証サーバSと同じアルゴリズムを用いてMAC値MAC〔Kbs〕(Nbs,β,Ks,IDa)を計算し、認証サーバSから受け取ったMAC値MAC〔Kbs〕(Nbs,β,Ks,IDa)と比較することにより、メッセージの改竄の有無を確認する。ここでも、受信したMAC値が計算したMAC値と不一致であれば、異常とみなして以後の処理を行わない。
通信相手であるノードAの識別情報IDaは、ノードBにおいてあらかじめ記憶しておけばよいが、識別情報IDaがメッセージにオプションとして含まれているときには、メッセージから抽出した識別情報IDaを用いる(図3参照)。
ノードBが認証サーバSから異常なくデータを受信できている場合には、認証サーバSから受け取ったセッション鍵Ksと、手順P1でノードAから受け取ったノンスNasと、ノードBが生成したノンスNbsと、ノードBの識別情報IDbとを用いてMAC値MAC〔Ks〕(Nas,Nbs,IDb)を(演算ユニット25で)計算する。
また、ノードBでは、認証サーバSから受け取ったノードAに宛てた暗号文ENC〔Kas〕(Nas,α,Ks)とMAC値MAC〔Kas〕(Nas,α,Ks,IDb)との組を抽出するとともに、このデータの後にMAC値MAC〔Ks〕(Nas,Nbs,IDb)とノードBが生成したノンスNbsとを付加し、ノードAに宛てて送信する(P4)。ノンスNbsを付加しているのは、MAC値をノードAにおいて計算する際に必要になるからである。
ここで、ノードAからノードBに送信するデータにおいて、オプションとしてノンスNabを用いるのと同様の理由で、ノードBからノードAに送信するデータにおいて、ノンスNbsを用いる代わりに、ノードBにおいてノードAへのデータの送信にのみ用いるノンスNbaを(ノンス生成ユニット22で)新たに生成し、手順P4においてノンスNbsに代えてノンスNbaを用いてもよい。また、手順P1においてノンスNabを用いている場合には、手順P4においてもMAC〔Ks〕(Nas,Nbs,IDb)におけるノンスNasに代えてノンスNabを用いることができる。すなわち、MAC値として、MAC〔Ks〕(Nab,Nba,IDb)を用いる。この場合、ノードBからノードAに対してノンスNbsではなくノンスNbaを付加して送信する。
ノードAは、ノードBから手順P4によるデータを受信すると、暗号文ENC〔Kas〕(Nas,α,Ks)を抽出して復号することにより、セッション鍵Ksなどを取り出す。ここに、復号するメッセージはデータの並び順により認識する。ここで、メッセージ
から取り出したノンスNasをノードAが記憶しているノンスNasと比較することにより、メッセージの改竄の有無を確認し、受信したノンスNasと記憶しているノンスNasとが不一致であれば、異常とみなして以後の処理を行わない。
さらに、ノードAが記憶しているノンスNasと、メッセージから復号した付加情報αと、メッセージから復号したセッション鍵Ksと、通信相手であるノードBの識別情報IDbと、ノードAが保有している秘密鍵Kasとを用いて、認証サーバSと同じアルゴリズムを用いてMAC値MAC〔Kas〕(Nas,α,Ks,IDb)を計算し、ノードBから受け取ったMAC値MAC〔Kas〕(Nas,α,Ks,IDb)と比較することにより、メッセージの改竄の有無を確認する。ここでも、受信したMAC値が計算したMAC値と不一致であれば、異常とみなして以後の処理を行わない。
通信相手であるノードBの識別情報IDbは、ノードAにおいてあらかじめ記憶しておけばよいが、識別情報IDbがメッセージにオプションとして含まれているときには、メッセージから抽出した識別情報IDbを用いる。
また、ノードAが記憶しているノンスNasと、ノードBから送信されたノンスNbsと、通信相手であるノードBの識別情報IDbと、メッセージから復号したセッション鍵Ksとを用いてMAC値MAC〔Ks〕(Nas,Nbs,IDb)を(演算ユニット15で)計算し、(認証ユニット16で)ノードBから受け取ったMAC値MAC〔Ks〕(Nas,Nbs,IDb)と比較することにより、メッセージの改竄の有無を確認する。この場合も、受信したMAC値と計算したMAC値とが不一致であれば、異常とみなして以後の処理を行わない。
上述のようにして、ノードAがノードBから異常なくセッション鍵Ksを受け取った場合には、ノードAではノードBから受け取ったセッション鍵Ksを保持する。また、ノンスNasとノンスNbsとセッション鍵Ksとによって、ノードBに対する確認応答のためのMAC値MAC〔Ks〕(Nas,Nbs)を(演算ユニット15によって)生成し、このMAC値をノードBに宛てて送信する(P5)。
手順P4において、ノンスNas,Nbsに代えてオプションであるノンスNab,Nbaを用い、MAC値としてMAC〔Ks〕(Nab,Nba,IDb)を用い、ノンスNbaをノードAにおいて受信しているときには(図3参照)、ノードAにおいても異常の検出にMAC値MAC〔Ks〕(Nab,Nba,IDb)を用いる。
ところで、図1に示すように、認証サーバSは、セッション鍵KsをノードA,Bに配布した後に、ノードBから応答を受けることをもって鍵配布の手順を終了させることができるが、図3に示すように、ノードA,Bが認証サーバSに対して確認応答を行うようにしてもよい。この場合、認証サーバSは、確認応答を受け取った後にノードA,Bに対して受取確認を返送する。以下に認証サーバSにおいて確認応答を受け取る場合の動作を説明する。
すなわち、ノードAでは、手順P5において、ノードBに対する確認応答だけではなく、認証サーバSに対しても確認応答を送信するために、ノードBに送信するMAC値を、MAC〔Ks〕(Nas,Nbs)に代えてMAC〔Ks〕(Nab,Nba)とし、さらに、認証サーバSに宛てた確認応答のためのMAC値MAC〔Kas〕(Nas,Ks)を付加する(図3の手順P5参照)。
また、認証サーバSへの確認応答を行うにあたっては、ノードAにおいて新たなノンスNas′を(ノンス生成ユニット12で)生成し、認証サーバSからの応答が得られるまでノンスNas′を一時的に(記憶ユニット11に)記憶するのが望ましい。ノンスNas′を生成した場合には、ノンスNas′を併せてノードBに送信する。
手順P5によりノードAからのデータを受信したノードBでは、データの並び順に基づいてノードBに宛てられたMAC値MAC〔Ks〕(Nas,Nbs)を分離するとともに、保持しているセッション鍵Ksと、一時的に記憶しているノンスNbsおよびノンスNasとを用いてMAC値MAC〔Ks〕(Nas,Nbs)を(演算ユニット25で)計算し、受信したMAC値と計算したMAC値とを(認証ユニット26で)比較する。両MAC値が一致していれば、セッション鍵Ksをそのまま保持する。
さらに、ノードBでは、新たなノンスNbs′を(ノンス生成ユニット22で)生成するとともに、認証サーバSに宛てたMAC値MAC〔Kbs〕(Nbs,Ks)を(演算ユニット25で)計算し、ノードAから認証サーバSに宛てたMAC値MAC〔Kas〕(Nas,Ks)およびノンス値Nas′とともに、MAC値MAC〔Kbs〕(Nbs,Ks)およびノンスNbs′を認証サーバSに送信する(P6)。ノンスNbs′は認証サーバSからの受取確認があるまで一時的に(記憶ユニット21に)保持される。
ここで、認証サーバSへの確認応答のためにノンスNas′およびノンスNbs′を新たに生成しているのは、手順P1について説明した理由と同様に、ノンスの1回性を担保して通信の安全性を高めるためである。ただし、新たなノンスNas′,Nbs′の送信に伴ってトラフィックが増加するから、トラフィックの増加を好まない場合には、手順P2で受け取ったノンスNas,Nbsを確認応答に用いてもよい。
認証サーバS(演算ユニット33)は、ノードBから手順P6によって確認応答を受け取ると、鍵データベースに記憶している秘密鍵Kas,Kbsと、保持しているセッション鍵Ksと、ノンスNas,Nbsとを用いて、MAC値MAC〔Kas〕(Nas,Ks),MAC〔Kbs〕(Nbs,Ks)を計算する。認証サーバSでは、手順P6により受信したMAC値と、計算したMAC値とを比較し、両者が一致していなければ、セッション鍵Ksの配布に異常があったと(演算ユニット33によって)判断し、ノードA,Bへの受取応答を行わずに処理を終了する。
この場合、ノードA,Bではセッション鍵Ksの受け取りに失敗したと(認証ユニット16,26によって)判断する。セッション鍵Ksの受け取りに失敗したときには、保持しているセッション鍵Ksを廃棄し、必要があればあらためてセッション鍵Ksの配布を要求する。認証ユニット16,26は、規定の制限時間内に認証サーバSから受取応答が得られなければ、セッション鍵Ksの受け取りに失敗したと判断する。
一方、認証サーバSにおいて、手順P6で受け取ったMAC値と計算したMAC値とが一致している場合には、各ノードA,Bの秘密鍵Kas,Kbsと、各ノードA,Bで生成され手順P2で受け取ったノンスNas′,Nbs′とを用い、各ノードA,Bに宛てたMAC値MAC〔Kas〕(Nas′),MAC〔Kbs〕(Nbs′)を(演算ユニット33で)計算し、ノードBに宛てて受取確認を送信する(P7)。
ノードBは、手順P7によるデータを認証サーバSから受信すると、データの並び順によりノードBに対応するMAC値MAC〔Kbs〕(Nbs′)を分離して抽出する。また、秘密鍵Kbsおよび一時的に記憶しているノンスNbs′を用いてMAC値MAC〔Kbs〕(Nbs′)を(演算ユニット25によって)計算し、受信したMAC値と計算したMAC値とを(認証ユニット26によって)比較する。
両者が一致していれば、保持しているセッション鍵KsをノードAとの通信に用いることを確定し、さらに、認証サーバSから受信したMAC値MAC〔Kas〕(Nas′)をノードAに宛てて送信する(P8)。また、ノードBでは、認証サーバSから手順P7で受信したMAC値と、手順P7に対応して計算したMAC値とが不一致である場合には、ノードBが保持しているセッション鍵Ksを破棄し、ノードAへのMAC値の送信を行わずに処理を終了する。
ノードAは、ノードBから手順P8によりMAC値MAC〔Kas〕(Nas′)を受け取ると、秘密鍵KasとノンスNasとを用いてMAC値MAC〔Kas〕(Nas′)を(演算ユニット15によって)計算し、受信したMAC値と計算したMAC値とを(認証ユニット16によって)比較し、両MAC値が一致していれば、ノードAが保持しているセッション鍵KsをノードBとの通信に用いることを確定する。
一方、両MAC値が不一致である場合、あるいはまた手順P5でノードBに対してデータを送信した後に規定の制限時間内に、手順P8によるMAC値MAC〔Kas〕(Nas′)をノードBから受け取らない場合には、保持しているセッション鍵Ksを破棄し、必要に応じてセッション鍵Ksの配布要求をあらためて行う。
以上説明したように、図1に示す手順P1〜P5または図3に示す手順P1〜P8を用いることにより、セッション鍵Ksを安全に配布することが可能になる。なお、図1はオプションを含まない動作例を示しており、図3はすべてのオプションを含む場合の動作例を示している。ただし、オプションは上述した説明に従って必要に応じて適宜に選択することが可能である。
また、上述した手順P3,P4のように、暗号化したメッセージとMAC値との組を送信するに際して、RFC4309で提唱されているAES−CCMという暗号化方式を用い、メッセージの暗号化にはAESを用い、MAC値としてCCMのMACを利用してもよい。
以上述べた本実施形態の暗号鍵配布システムが採用する鍵配布方法は、複数のノードからなるグループ内での通信に使用されるセッション鍵をコンピュータ通信システム内で配布する方法である。ここで、セッション鍵を生成する機能およびセッション鍵をグループ内の各ノードに配布する機能を有する認証サーバが各ノードと秘密鍵を共有している。上記鍵配布方法は、グループ内のいずれかのノードの識別情報と当該ノードが生成したノンスとグループ内の他のノードの識別情報とを認証サーバに送信するステップと、認証サーバがグループ内の各ノードが共通に用いるセッション鍵を生成するステップと、認証サーバが第1のノードから受け取ったノンスと生成したセッション鍵と適宜の付加情報とをメッセージとし各ノードの秘密鍵を用いてメッセージ認証コードの値を算出するステップと、認証サーバが少なくとも第1のノードから受け取ったノンスと生成したセッション鍵と前記付加情報とを各ノードの秘密鍵を用いて暗号化した各ノード宛ての暗号文に、各ノードごとの秘密鍵を用いて生成したメッセージ認証コードの値を付加して各ノードに送るステップと、前記グループ内の各ノードにおいて認証サーバから受け取った暗号化されたデータを復号化することによりセッション鍵を抽出するステップと、前記グループ内の各ノードが秘密鍵と復号化したデータとを用いて前記メッセージ認証コードの値を算出し、算出したメッセージ認証コードの値が認証サーバから受け取ったメッセージ認証コードの値と一致するときに、抽出したセッション鍵が認証されたとみなすステップとを含む。
上記鍵配布方法を実現するために、本実施形態の暗号鍵配布システムは、第1ノードAと、第2ノードBと、第1ノードAと第2ノードBとの間の暗号化通信に使用されるセッション鍵を生成する認証サーバSと、を備える。
第1ノードAと認証サーバSとは、第1ノードAと認証サーバSとの間の暗号化通信に使用される第1秘密鍵を保持するように構成される。第2ノードBと認証サーバSとは、第2ノードBと認証サーバSとの間の暗号化通信に使用される第2秘密鍵を保持するように構成される。
第1ノードAは、セッション鍵の発行を認証サーバSに要求するにあたっては、第1ノンスを生成して認証サーバSに送信するように構成される。第2ノードBは、セッション鍵の発行を認証サーバSに要求するにあたっては、第2ノンスを生成して認証サーバSに送信するように構成される。
認証サーバSは、第1ノンスと第2ノンスとを受け取るとセッション鍵を新たに生成するように構成される。
認証サーバSは、受け取った第1ノンスと新たに生成されたセッション鍵と所定の第1付加情報とを含む第1メッセージと第1秘密鍵とを用いて第1メッセージ認証コードの値を計算するように構成される。認証サーバSは、受け取った第1ノンスと新たに生成されたセッション鍵と第1付加情報とを第1秘密鍵を用いて暗号化して第1暗号文を作成するように構成される。認証サーバSは、第1暗号文と第1メッセージ認証コードの値とを第1ノードに送信するように構成される。
認証サーバSは、受け取った第2ノンスと新たに生成されたセッション鍵と所定の第2付加情報とを含む第2メッセージと第2秘密鍵とを用いて第2メッセージ認証コードの値を計算するように構成される。認証サーバSは、受け取った第2ノンスと新たに生成されたセッション鍵と第2付加情報とを第2秘密鍵を用いて暗号化して第2暗号文を作成するように構成される。認証サーバSは、第2暗号文と第2メッセージ認証コードの値とを第2ノードに送信するように構成される。
第1ノードAは、第1暗号文および第1メッセージ認証コードの値を受け取ると、第1秘密鍵を用いて第1暗号文を復号してセッション鍵と第1付加情報とを取得するように構成される。第1ノードAは、第1ノードAが記憶する第1ノンスと、第1暗号文を復号して得られたセッション鍵および第1付加情報と、第1秘密鍵とを用いて第1メッセージ認証コードの値を計算するように構成される。第1ノードAは、第1ノードが計算した第1メッセージ認証コードの値が認証サーバSから受け取った第1メッセージ認証コードの値に一致するか否かを判定することで認証サーバから受け取ったセッション鍵の認証を行うように構成される。
第2ノードBは、第2暗号文および第2メッセージ認証コードの値を受け取ると、第2秘密鍵を用いて第2暗号文を復号してセッション鍵と第2付加情報とを取得するように構成される。第2ノードBは、第2ノードBが記憶する第2ノンスと、第2暗号文を復号して得られたセッション鍵および第2付加情報と、第2秘密鍵とを用いて第2メッセージ認証コードの値を計算するように構成される。第2ノードBは、第2ノードが計算した第2メッセージ認証コードの値が認証サーバSから受け取った第2メッセージ認証コードの値に一致するか否かを判定することで認証サーバSから受け取ったセッション鍵の認証を行うように構成される。
本実施形態の構成によれば、認証サーバSが、少なくとも第1のノードから受け取ったノンスと生成したセッション鍵と付加情報とを各ノードの秘密鍵を用いて暗号化した各ノード宛ての暗号文に、第1のノードから受け取ったノンスと生成したセッション鍵と付加情報とから算出したメッセージ認証コードの値を付加し、各ノードに宛てて暗号文とメッセージ認証コードとを送信するから、認証サーバがセッション鍵を各ノードに配布するにあたり、メッセージ認証コードの値を用いて正真性の確認が可能であるのはもちろんのこと、セッション鍵以外の付加情報も暗号化して送信することも可能になる。言い換えると、認証サーバが各ノードに対して付加情報を送信するにあたって、付加情報を暗号化することにより、他のノードで付加情報が盗聴されることがない。しかも、メッセージ認証コードの値を算出するのに必要な情報を含む暗号文をノードに送信しているから、セッション鍵を受け取ったノードでは、付加情報を含むメッセージ認証コードの値を算出することができ、セッション鍵および付加情報が改竄されていないこと(つまり、正真性)を確認することができる。
(実施形態2)
本実施形態の暗号鍵配布システムは、図5に示すように、主に認証サーバSがアクセス情報生成ユニット36と、アクセス情報記憶ユニット37とを備えている点で実施形態1の暗号鍵配布システムと異なる。
本実施形態の暗号鍵配布システムでは、アクセス制御の情報(ノード間のアクセスの可否を示す情報)として、アクセス制御の要求情報(アクセス要求情報)と、アクセス制御の登録情報(アクセス登録情報)と、アクセス制御の許可情報(アクセス許可情報)とが用いられる。アクセス要求情報は、ノードが要求するアクセス権限を示す情報である。アクセス登録情報は、ノードの製造者や管理者によって予めノードに与えられたアクセス権限を示す情報である。アクセス許可情報は、実際にノードに与えられるアクセス権限を示す情報である。本実施形態では、アクセス許可情報は、アクセス要求情報とアクセス登録情報とに基づいて生成される。
アクセス情報記憶ユニット37は、アクセス制御の登録情報を記憶するように構成される。
アクセス情報生成ユニット36は、アクセス制御の許可情報を生成するように構成される。アクセス情報生成ユニット36は、たとえば、ノードA(B)からアクセス制御の要求情報Pas(Pbs)を受け取ったときに、受け取ったアクセス制御の要求情報Pas(Pbs)とアクセス制御の登録情報との共通部分(言い換えれば積集合)を求めるように構成される。アクセス情報生成ユニット36は、求められた共通部分をアクセス制御の許可情報Psa(Psb)として用いるように構成される。
本実施形態では、暗号文生成ユニット34は、第1付加情報αとしてアクセス情報生成ユニット36が生成したノードAに関するアクセス制御の許可情報を用いるように構成される。また、暗号文生成ユニット34は、第2付加情報βとしてアクセス情報生成ユニット36が生成したノードBに関するアクセス制御の許可情報を用いるように構成される。
本実施形態の場合、セッション鍵要求ユニット13は、ノンス生成ユニット12が生成したノンスNas,Nabと、記憶ユニット11に記憶された識別情報IDa,IDbと、アクセス要求情報Pasとを、ノードBを経由して、認証サーバSに送信するように構成される。すなわち、セッション鍵要求ユニット13は、ノンスNas,Nabと、識別情報IDa,IDbと、アクセス要求情報Pasとを、ノードBに送信するように構成される。また、セッション鍵要求ユニット23は、ノードAからノンスNas,Nabと識別情報IDa,IDbと、アクセス要求情報Pasとを受け取ると、ノンス生成ユニット22が生成した第2ノンスNbsと、アクセス要求情報Pbsとを、ノードAから受け取ったノンスNasと識別情報IDa,IDbとアクセス要求情報Pasとともに、認証サーバSに送信するように構成される。
本動作例では、実施形態1の動作に加えてアクセス制御を行う場合について説明する。すなわち、実施形態1では付加情報α、βとしてセッション鍵Ksの有効期間、アクセス回数、課金情報を例示したが、本実施形態では、付加情報α,βをアクセス制御に利用する例について説明する。アクセス制御には、各ノードA,Bが保有する情報を他のノードA,Bに提供するか否か(提供)と、各ノードA,Bが他のノードA,Bの提供している情報に加える操作(読出、書込、実行)とが含まれる。つまり、アクセス制御の情報は、各ノードA,Bが保有する情報からどの情報を提供可能かを決定し、また提供される情報に対してどのような操作を行うかを決定する。
以下の説明では、実施形態1におけるオプションを含む図3の動作例に対してアクセス制御を可能にするように変更を加えた例を説明する。ただし、図1に示した動作例に対してもアクセス制御を可能にするように変更を加えることが可能である。また、2PDKPの場合には、図10に従って認証サーバSを除いた動作に変更することが可能である。
本動作例では、アクセス制御のために、図4に示すように、手順P1においてノードAからノードBに送信するデータにアクセス制御の要求情報(アクセス要求情報)Pasを含め、手順P2においてノードBから認証サーバSに送信するデータにアクセス制御の要求情報Pas,Pbsを含めている。本動作例では、アクセス制御の要求情報Pas,Pbsは、必要に応じて採用されるオプションであるが、本動作例ではアクセス制御を行う動作について説明するから、アクセス制御の要求情報Pas,Pbsを用いる動作についてのみ説明する。
認証サーバSは、ノードBからアクセス制御の要求情報Pas,Pbsを受け取ると、ノードAに対するアクセス制御の許可情報PsaとノードBに対するアクセス制御の許可情報Psbとを(アクセス情報生成ユニット36によって)生成し、手順P3,P4で用いる付加情報α,βの内容を、それぞれアクセス制御の許可情報Psa,Psbとする。
本動作例では、手順P4においてノードBから認証サーバSへのアクセス制御の要求情報Pbsを用い、手順P5,P6においてアクセス制御の要求情報Pas,PbsをMAC値に含めて用いている。
認証サーバSは、ノードA,Bに対してセッション鍵Ksを発行することによりノードA,Bの間で通信を許可する機能を備えるだけでなく、ノードA,Bの保有する情報について一方から他方へのアクセスを制限する機能を備える。認証サーバSが発行するアクセス制御の許可情報Psa,Psbには、以下の各種類があり、認証サーバSでは、アクセス制御の要求情報Pas,Pbsを受け取ると、あらかじめ定めた規則に従って、以下のいずれかの許可情報Psa,Psbを(アクセス情報生成ユニット36によって)発行する。
アクセス制御の要求情報Pas,Pbsおよびアクセス制御の許可情報Psa,Psbでは、ノードA,Bの保有する情報について、読出、書込、実行、提供の4種類の操作が選択可能であり、それぞれ”read”、”write”、”execute”、”provide”と記述する。たとえば、ノードBが保有する情報をRBで表すとき、ノードAが情報RBの読出を行うことを要求するときには、「A read RB」と記述する。また、ノードBが情報RBを提供するときには、「B provide RB」と記述する。さらに、複数の操作を並記する場合には、並記する各操作の間を縦線(|)で仕切る。たとえば、ノードAが情報RBの読出と書込との操作を要求するときには、「A read|write RB」と記述する。
まず、ノードBが複数種類の情報を保有している場合であって、ノードBが保有する複数種類の情報に関して、ノードAがアクセス可能な情報の種類を制限するために、認証サーバS(アクセス情報生成ユニット36)がアクセス制御の許可情報Psa,Psbを発行する場合を例示する。つまり、認証サーバSは、ノードAからノードBへのアクセスの要求と、ノードBが提供を許可する情報とに基づいて、ノードA,Bに対するアクセス制御の許可情報Psa,Psbを発行する。
ここでは、ノードBが3種類の情報RB1〜RB3を保有し、ノードAはノードBのすべての情報RB1〜RB3にアクセスするとともに読出、書込、実行のすべての操作を要求し、ノードBは1種類の情報RB1の提供のみを許可する場合を例示する。
すなわち、ノードAからのアクセス制御の要求情報Pasは、「A read |write |execute RB1,RB2,RB3」であり、ノードAは、ノードBを経由して当該要求情報Pasを認証サーバSに送信する(P1)。一方、ノードBは、アクセス制御の要求情報Pbsとして、「B provide RB1」を認証サーバSに送信する(P2)。
一方、認証サーバSは、各ノードA,Bごとのアクセス制御に関して登録情報(アクセス制御の登録情報)を保有している。アクセス制御の登録情報は、各ノードA,Bごとに、ノードA,Bの製造者や管理者によって、認証サーバSに設けたアクセス情報記憶部(アクセス情報記憶ユニット)37に事前に登録される。アクセス制御の登録情報は、ノードAに関して「A read |write |execute RB1,RB2」であり、ノードBに関して「B provide RB1,RB2」であるものとする。
認証サーバSでは、ノードBからアクセス制御の要求情報Pas,Pbsを受け取ったときに、各ノードA,Bごとに、アクセス制御の要求情報Pas,Pbsとアクセス制御の登録情報との共通部分(積集合)を(アクセス情報生成ユニット36によって)求める。
上述の例では、ノードAからのアクセス制御の要求情報Pasが「A read |write |execute RB1,RB2,RB3」であり、ノードAに関するアクセス制御の登録情報が「A read |write |execute RB1,RB2」であるから、ノードAに関しては、共通部分は「A read |write |execute RB1,RB2」になる。また、ノードBからのアクセス制御の要求情報Pbsが「B provide RB1」であり、ノードBに関するアクセス制御の登録情報が「B provide RB1,RB2」であるから、ノードBに関しては、共通部分は「B provide RB1」になる。
認証サーバS(アクセス情報生成ユニット36)は、各ノードA,Bに対してそれぞれ求めた共通部分をアクセス制御の許可情報Psa,Psbとする。すなわち、ノードAに対するアクセス制御の許可情報Psaは「A read |write |execute RB1,RB2」になり、ノードBに対するアクセス制御の許可情報Psbは「B provide RB1」になる。
上述したように、これらのアクセス制御の許可情報Psa,Psbは、(暗号文生成ユニット34によって)手順P3,P4における付加情報α,βとして用いられ、さらに手順P4〜P6においても用いられる。つまり、認証サーバSは、アクセス制御の許可情報Psa,Psbを各ノードA,Bに対してそれぞれ引き渡す。
アクセス制御の許可情報Psa,Psbが渡された各ノードA,Bでは、通信の開始者であるノードAからのアクセス制御の要求情報のうち、通信の応答者であるノードBからのアクセス制御の要求情報に対応する範囲内の操作のみが可能になる。
ここにおいて、認証サーバSからノードAに引き渡されるアクセス制御の許可情報Psaは「A read |write |execute RB1,RB2」であり、ノードBの情報RB1,RB2に対して、読出、書込、実行の操作を要求しているが、ノードBに引き渡されるアクセス制御の許可情報Psbは「B provide RB1」であり、ノードAがノードBから享受可能なサービスは、ノードBが提供している情報RB1に限られる。すなわち、ノードAはノードBの保有する情報RB1についてのみ読出、書込、実行の操作が可能になる。
上述の動作例では、アクセス制御の許可情報Psa,Psbを、認証サーバSがノードA,Bから受信したアクセス制御の要求情報Pas,Pbsと、あらかじめ認証サーバSが保有しているアクセス制御の登録情報との共通部分(積集合)として生成しているが、共通部分ではなく合成(和集合)とすることも可能である。
すなわち、積集合を用いると、ノードA,Bからの要求情報よりも制限が強められることで厳しいポリシーを提供することになるが、和集合を用いると、ノードA,Bからの要求情報よりも制限が弱められることになる。
ところで、認証サーバSに登録されるアクセス制御の登録情報は適宜に更新され、ノードA,Bではアクセス制御の登録情報が更新されたことを認識していない場合がある。このような場合に備えて、認証サーバSでは、ノードA,Bから受信したアクセス制御の要求情報が、アクセス制御の登録情報に含まれていない場合には、アクセス制御の登録情報をアクセス制御の許可情報として、ノードA,Bへの付加情報α,βに含めてノードA,Bに送信する。したがって、ノードA,Bでは、アクセス制御の登録情報として認証サーバSに登録された新たなアクセス制御の許可情報を受け取ることが可能になる。
このとき、アクセス制御の許可情報は、ノードA,Bへの暗号文に含まれるとともに、メッセージ認証コードの値の演算にも用いられ、アクセス制御の許可情報を他者に知られることなくノードA,Bに受け取らせることができ、しかも、メッセージ認証コードにより正真性も確認できるから、ノードA,Bに対してアクセス制御の許可情報を安全に受け取らせることが可能になる。しかも、この構成では、認証サーバSにおいてアクセス制御の登録情報を変更すれば、ノードA,Bに与えるアクセス制御の許可情報を変更することができるから、アクセス制御の変更を簡単に行うことができる。
上述の例のように、ノードAからのアクセス制御の要求情報Pasが「A read |write |execute RB1,RB2,RB3」であり、ノードAに関するアクセス制御の登録情報が「A read |write |execute RB1,RB2」であるから、ノードAに対するアクセス制御の許可情報Psaは「A read |write |execute RB1,RB2,RB3」になる。また、ノードBからのアクセス制御の要求情報Pbsが「B provide RB1」であり、ノードBに関するアクセス制御の登録情報が「B provide RB1,RB2」であるから、ノードBに対するアクセス制御の許可情報Psbは「B provide RB1,RB2」になる。
この場合、ノードAはノードBの保有する情報RB1,RB2について読出、書込、実行の操作が可能になる。
認証サーバSにおいて、各ノードA,Bに提供するアクセス制御の許可情報Psa,Psbとして、アクセス制御の要求情報Psa,Psbとアクセス制御の登録情報との和集合を用いるのが有効な例としては、たとえば、ノードAによりすべての情報に対する操作を可能にする場合が考えられる。
この場合、認証サーバSにおいてノードAに対するアクセス制御の登録情報として、すべての情報を指定するワイルドカード(*)を設定しておけば(すなわち、アクセス制御の登録情報として「A read |write |execute *」を設定しておけば)、ノードAからのアクセス制御の要求情報Pasの内容にかかわらず、認証サーバSはノードAに対するアクセス制御の許可情報Psaを「A read |write |execute *」とするから、ノードAは他のノードが提供するすべての情報に対する操作を行うことが可能になる。
ここで、アクセス制御の許可情報Psaを、アクセス制御の要求情報Pasとアクセス制御の登録情報との積集合とする場合であれば、情報を指定するためにワイルドカード(*)を用いようとすれば、アクセス制御の要求情報Pasとアクセス制御の登録情報との両方について、ワイルドカード(*)を用いることが必要になる。これに対して、上述のように和集合を用いることにより、認証サーバSが保有するアクセス制御の登録情報のみについてワイルドカード(*)を用いることで、ノードAに対するアクセス制御の許可情報Psaにワイルドカード(*)を用いることが可能になる。
ただし、和集合を用いる場合でも、ノードAが操作することができる情報は、他のノードが提供する範囲内の情報に限られる。
上述の動作例では、認証サーバSにおいてノードA,Bからのアクセス制御の要求情報Pas,Pbsと、認証サーバSが保有するアクセス制御の登録情報との積集合または和集合をアクセス制御の許可情報Psa,Psbに用いる例を説明したが、差集合を用いることも可能である。さらに、複数種類の集合の組み合わせを用いることも可能であり、各ノードA,Bごとに異なる集合を用いることも可能である。どの集合をどのノードA,Bへのアクセス制御の許可情報Psa,Psbとして用いるかは、任意に選択することが可能である。
上述の動作例では、手順P1,P2において、ノードA,Bから認証サーバSに対して送信するデータにアクセス制御の要求情報Pas,Pbsを含んでいるが、手順P1,P2においてノードA,Bが送信するデータにアクセス制御の許可情報Psa,Psbを含まない場合には、サーバSではアクセス制御の登録情報をアクセス制御の許可情報Psa,Psbとして各ノードA,Bに送信する。
なお、本動作例では、各ノードA,Bは、セッション鍵Ksを受け取る際にアクセス制御の許可情報Psa,Psbを受け取るのであって、その後、セッション鍵Ksを用いた通信を行う際に、アクセス制御の許可情報Psa,Psbで指定された情報に対する操作が可能になる。実施形態1で説明した付加情報α,βが必要であれば、アクセス制御の許可情報Psa,Psbの前後のいずれかに付加情報α,βを付加してもよい。他の構成および動作は実施形態1と同様である。
本動作例では、手順P1,P2においてノードA,Bから認証サーバSに対してアクセス制御の要求情報Pas,Pbsを付加情報として送信しても、アクセス制御の許可情報Psa,Psbは暗号化されることによって秘匯されることになる。なお、アクセス制御の要求情報Pas,Pbsは、必要がなければ送信しなくてもよい。
以上述べた本実施形態の暗号鍵配布システムが採用する鍵配布方法は、複数のノードからなるグループ内での通信に使用されるセッション鍵をコンピュータ通信システム内で配布する方法である。ここで、セッション鍵を生成する機能およびセッション鍵をグループ内の各ノードに配布する機能を有する認証サーバが各ノードと秘密鍵を共有している。上記鍵配布方法は、グループ内のいずれかのノードの識別情報と当該ノードが生成したノンスとグループ内の他のノードの識別情報とを認証サーバに送信するステップと、認証サーバがグループ内の各ノードが共通に用いるセッション鍵を生成するステップと、認証サーバが第1のノードから受け取ったノンスと生成したセッション鍵とアクセス制御の許可情報を含む付加情報とをメッセージとし各ノードの秘密鍵を用いてメッセージ認証コードの値を算出するステップと、認証サーバが少なくとも第1のノードから受け取ったノンスと生成したセッション鍵とアクセス制御の許可情報とを各ノードの秘密鍵を用いて暗号化した各ノード宛ての暗号文に、各ノードごとの秘密鍵を用いて生成したメッセージ認証コードの値を付加して各ノードに送るステップと、前記グループ内の各ノードにおいて認証サーバから受け取った暗号化されたデータを復号化することによりセッション鍵およびアクセス制御の許可情報を抽出するステップと、前記グループ内の各ノードが秘密鍵と復号化したデータとを用いて前記メッセージ認証コードの値を算出し、算出したメッセージ認証コードの値が認証サーバから受け取ったメッセージ認証コードの値と一致するときに、抽出したセッション鍵が認証されたとみなすステップとを含む。
上記鍵配布方法を実現するために、本実施形態の暗号鍵配布システムでは、第1付加情報αおよび第2付加情報βは、アクセス制御の許可情報である。
本実施形態の構成によれば、付加情報がアクセス制御の許可情報を含む点を除いて実施形態1の構成と同様であり、同様の効果を奏する。ここに、背景の技術として説明した従来技術では、アクセス制御の許可情報が暗号化されずにノードに送信されているのに対して、アクセス制御の許可情報を暗号文に含めて送信するとともに、メッセージ認証コードの値を付加しているので、アクセス制御の許可情報が他者に漏洩することを防止でき、しかも、アクセス制御の許可情報についても正真性の確認が可能になる。
なお、認証サーバは、ノードからアクセス制御の要求情報を受信すると、アクセス制御の要求情報とあらかじめ登録されたアクセス制御の登録情報とを比較し、アクセス制御の要求情報がアクセス制御の登録情報に含まれていない場合、アクセス制御の登録情報をアクセス制御の許可情報に用い、アクセス制御の許可情報を含む暗号文に、メッセージ認証コードの値を付加してグループ内の各ノードに送信してもよい。
すなわち、認証サーバS(アクセス情報生成ユニット36)は、第1ノードAまたは第2ノードBからアクセス制御の要求情報を受け取ると、受け取ったアクセス制御の要求情報とあらかじめ登録されたアクセス制御の登録情報とを比較し、受け取ったアクセス制御の要求情報がアクセス制御の登録情報に含まれていない場合、アクセス制御の登録情報をアクセス制御の許可情報として用いるように構成されていてもよい。
このように、認証サーバにおいて、アクセス制御の登録情報があり、ノードからのアクセス制御の要求情報にはアクセス制御の登録情報が含まれていない場合、アクセス制御の登録情報をアクセス制御の許可情報とし、かつアクセス制御の許可情報を暗号文に含め、かつメッセージ認証コードの値を付加して送信する構成を採用すると、認証サーバにおいてアクセス制御の登録情報を最新のものにしておくことで、ノードにおけるアクセス制御の許可情報を最新のものに更新することができる。言い換えると、認証サーバにおいてアクセス制御の登録情報を変更するだけで、アクセス制御の許可情報を簡単に変更することができる。
また、認証サーバS(アクセス情報生成ユニット36)は、変更可能なアクセス制御の登録情報に基づいてアクセス制御の許可情報を生成するように構成されていてもよい。
また、認証サーバS(アクセス情報生成ユニット36)は、ノードからアクセス制御の要求情報を受信すると、受け取ったアクセス制御の要求情報とあらかじめ登録されたアクセス制御の登録情報との論理演算によりアクセス制御の許可情報を生成するように構成されていてもよい。
このように、認証サーバにアクセス制御の登録情報を持たせると、ノードにおいてアクセス制御の情報を変更しなくとも、認証サーバにおいてアクセス制御の登録情報を変更するだけで、アクセス制御の変更を簡単に行うことができる。
また、認証サーバにアクセス制御の登録情報を持たせるとともに、ノードからのアクセス制御の要求情報とアクセス制御の登録情報との論理演算により、アクセス制御の許可情報を生成する技術を採用すれば、ノードにおいてアクセス制御の情報を変更しなくとも、認証サーバに登録したアクセス制御の登録情報と認証サーバにおける論理演算の内容とのいずれかを変更するだけで、アクセス制御の変更を簡単に行うことができる。
(実施形態3)
本実施形態の暗号鍵配布システムは、図7に示すように、主として第1ノードAと第2ノードBとの間の通信を中継するプロキシノードCを有する点で実施形態2の暗号鍵配布システムと異なる。
本実施形態において、ノードは、プロキシノードCを通じて間接的に別のノードと通信するように構成される。
本実施形態において、認証サーバSは、プロキシノードCにアクセス制御の許可情報を送信するように構成される。
プロキシノードCは、通信ユニット(第4通信ユニット)40と、許可情報記憶ユニット41と、アクセス制御ユニット42と、を備えている。
通信ユニット40は、情報通信網を通じて各ノードA,Bおよび認証サーバSと通信可能に構成される。
許可情報記憶ユニット41は、認証サーバSから受け取ったアクセス制御の許可情報を記憶するように構成される。
アクセス制御ユニット42は、許可情報記憶ユニット41に記憶されたアクセス制御の許可情報を参照して、ノードA,B間のアクセス制御を行うように構成される。
本動作例では、実施形態2のようにノードA,Bにおいてアクセス制御を行うとともに、プロキシノードCを付加したときの動作例について説明する。プロキシノードCは、図6に示すように、通信の開始者であるノードAと通信の応答者であるノードBとの通信を中継する機能を有する。
言い換えると、ノードAとノードBとは直接に通信を行うのではなく、プロキシノードCを介して通信を行うことになる。また、図示例において、開始者であるノードAは、認証サーバSとの間でも直接に通信を行わず、プロキシノードCが認証サーバSと通信を行っている。一方、応答者であるノードBは、認証サーバSとプロキシノードCとのどちらとも直接に通信を行う。
図6を参照して、さらに具体的に説明する。ここでは、通信の開始者であるノードAがプロキシノードCに対してアクセス制御の要求情報を送信すると、プロキシノードCが認証サーバSにアクセスする(図6の矢印はデータの送信を示している)。
以下の動作例では、ノードAからのアクセス制御の要求情報が「A read |write |execute RB1,RB2,RB3」、ノードBからのアクセス制御の要求情報が「B provide RB1」、プロキシノードCからのアクセス制御の要求情報が「C read |write |execute |provide *」であるものとする。
また、認証サーバSの保有しているアクセス制御の登録情報が、ノードAに対して「Aread |write |execute RB1,RB2」、ノードBに対して「B provide RB1,RB2」、プロキシノードCに対して「C read |write |execute |provide *」であるものとする。さらに、認証サーバS(アクセス情報生成ユニット36)では、各ノードA,BとプロキシノードCとに対するアクセス制御の許可情報を、各ノードA,BとプロキシノードCとのそれぞれのアクセス制御の要求情報とアクセス制御の登録情報との共通部分(積集合)としてそれぞれ生成するものとする。
図6の上部の8本の矢印と下部の8本の矢印とは、それぞれ図4における手順P1〜P8に対応している。すなわち、上部の8本の矢印では、ノードAとプロキシノードCと認証サーバSとを、図4におけるノードAとノードBと認証サーバSとの関係で示している。また、下部の8本の矢印では、プロキシノードCとノードBと認証サーバSとを、図4におけるノードAとノードBと認証サーバSとの関係で示している。
図6に示す動作では、認証サーバSからプロキシノードCに「C provide *」を手順P3で送信し、プロキシノードCからノードAに「A read |write |execute RB1,RB2」を手順P4で送信している。また、認証サーバSからノードBに「B provide RB1」を手順P3で送信し、ノードBからプロキシノードCに「C read |write |execute *」を手順P4で送信している。
したがって、図6に示しているように、ノードAに対するアクセス制御の許可情報は「A read |write |execute RB1,RB2」になり、ノードBに対するアクセス制御の許可情報は「B provide RB1」になり、プロキシノードCに対するアクセス制御の許可情報は「C read |write |execute |provide *」になる(プロキシノードCについては、読出、書込、実行と、提供とを分離して記載している)。なお、認証サーバSからプロキシノードCに「C read |write |execute *」を手順P3で送信し、ノードBからプロキシノードCに「C provide *」を手順P4で送信してもよい。要するに、最終的に、プロキシノードCに対するアクセス制御の許可情報は「C read |write |execute |provide *」になればよい。
ノードA,BとプロキシノードCとに対して、上述のようにアクセス制御の許可情報を与えると、プロキシノードC(アクセス制御ユニット42)は(許可情報記憶ユニット41に記憶されたアクセス制御の許可情報を参照して)ノードAからノードBへのアクセスを中継する。つまり、ノードAがプロキシノードCにアクセスすると、プロキシノードCがノードBにアクセスし、ノードBからの応答がプロキシノードCを介してノードAに返される。
ここで、プロキシノードCにはアクセス制限がないが、ノードAからノードBに対するアクセスは、「A read |write |execute RB1,RB2」の制限があり、さらにノードBでは、「B provide RB1」の制限があるから、結果として、プロキシノードがノードAからノードBへのアクセスを中継した場合、ノードAはノードBの情報RB1にしかアクセスすることができないことになる。
このように、プロキシノードCに対してアクセス制御の許可情報として「C read |write |execute |provide *」が与えられるから、ノードAが情報RB1の操作(読出、書込、実行)の要求を行った場合には、プロキシノードCが情報RB1に対する操作を引き受け、ノードAに代わってプロキシノードCがノードBの情報RB1への操作の要求を行うことで、ノードBはアクセス制御の許可情報に基づいて情報RB1を提供する。したがって、プロキシノードCは情報RB1を取得することができる。プロキシノードCが取得した情報RB1は、プロキシノードCからノードAに提供される。
一方、プロキシノードCは、ノードAが情報RB2の操作を要求した場合にもノードBへ当該要求を行うが、ノードBに対するアクセス制御の許可情報には情報RB2の提供が含まれていないから、ノードBからプロキシノードCに対して情報RB2の提供は行われず、ノードAは情報RB2の操作は行えないことになる。
ここで、ノードBによるアクセス制御の要求情報が「B provide RB1,RB2」である場合には、ノードAによる情報RB2の操作が可能になる。また同様に、認証サーバSにおいて、アクセス制御の許可情報として、アクセス制御の要求情報とアクセス制御の登録情報との共通部分(積集合)ではなく和集合を用いる場合にも、ノードBは情報RB2を提供することができる。プロキシノードCを設けている点を除けば、他の構成および動作は実施形態2と同様である。
以上述べたように本実施形態の暗号鍵配布システムでは、グループ内のノード間の通信を中継するプロキシノードCを設け、認証サーバからプロキシノードにアクセス制御の許可情報を送信する構成を採用している。
すなわち、本実施形態の暗号鍵配布システムは、第1ノードAと第2ノードBとの間の通信を中継するプロキシノードCを有する。認証サーバSは、プロキシノードCにアクセス制御の許可情報を送信するように構成される。プロキシノードCは、認証サーバSから受け取ったアクセス制御の許可情報に基づいて第1ノードAと第2ノードBとの間の通信を中継するように構成される。
このように、アクセス制御を行う場合にプロキシノードを用いると、ノードにおいてアクセス制御の情報を変更しなくとも、プロキシノードにおいてアクセス制御に関する情報を変更するだけで、アクセス制御の変更を簡単に行うことが可能になる。
(実施形態4)
本動作例は、複数個のノードに対してグループを設定し、グループ別にノードのアクセス制御を行う場合について説明する。説明を簡単にするために、図8のように、4台のノードA,B,D,EとプロキシノードCとが通信可能であって、上述した実施形態3と同様に、鍵配布の機能を有した認証サーバSを用いるものとする。図8に示す動作は、上から8本ずつの矢印が、それぞれ図4における手順P1〜P8に対応している。また、以下では、ノードA,BとノードD,Eとを別のグループに区分する技術について説明する。ここでは、ノードEがノードAと同様に情報の要求を行い、ノードDがノードBと同様に情報の提供を行う場合を想定する。
ノードA,B,D,Eを複数のグループに区分することが必要になるのは、情報の種類別に識別子を設定し、かつ同種の情報を提供するノードが複数存在する場合である。たとえば、RB1という識別子を温度情報に対応付け、ノードB,Dのいずれもが温度情報を提供可能である場合に、2個のノードA,Eが情報RB1に対する操作の要求を行ったときに、プロキシノードCでは、ノードB,Dのどちらの情報RB1に対する操作の要求かを区別することができない。
このような場合に、ノードA,BとノードD,Eとを異なるグループに区分することによって、ノードAが情報RB1を要求しているときにはノードBから提供し、ノードEが情報RB1を要求しているときにはノードDから提供することが可能になる。本動作例では、図9に示すように、実施形態1において説明した手順P3,P4で送信する付加情報α,βに、グループを区分するグループ識別子を含めている。以下では、ノードA,BとノードD,Eとを異なるグループとし、各グループごとにグループ識別子としてG1,G2を付与する。
いま、手順P3,P4において、付加情報としてグループ識別子G1を送信するものとする。プロキシノードCは、認証サーバSから同じセッション鍵Ksが配布されたノードごとにグループ識別子G1,G2を記憶しておき、プロキシノードCが受信したデータに含まれるグループ識別子G1,G2が記憶したグループ識別子G1,G2と一致しないか、プロキシノードCが受信したデータにグループ識別子G1,G2が含まれない場合には、受信したデータの中継を行わない。
すなわち、本実施形態では、許可情報記憶ユニット41は、認証サーバSから同じセッション鍵Ksが配布されたノードごとにグループ識別子G1,G2を記憶するように構成される。また、アクセス制御ユニット42は、通信ユニット40が受信したデータに含まれるグループ識別子G1,G2が、許可情報記憶ユニット41に記憶されたグループ識別子G1,G2と一致しないか、通信ユニット40が受信したデータにグループ識別子G1,G2が含まれない場合には、受信したデータの中継を行わないように構成される。
なお、1個のノードが複数のグループに属している場合には、手順P1,P2においてグループ識別子を用い、どのグループに属するかを指定することができる。この場合、1個のノードが複数のグループに属している場合に、認証サーバSにおいてアクセス制御の許可情報をグループ識別子の和集合として生成することで、プロキシノードCは和集合に含まれるすべてのグループにアクセスを許可することができる。
たとえば、ノードA,Bがグループ1(グループ識別子G1)に属し、ノードD,Eがグループ2(グループ識別子G2)に属しているときに、プロキシノードCでは、ノードAとの間で通信する手順P1の際にはグループ識別子G1がセットされ、ノードDとの間で通信する手順P2の際にはグループ識別子G2がセットされ、ノードBとの間で通信する手順P3の際にはグループ識別子G1がセットされ、ノードEとの間で通信する手順P4の際にはグループ識別子G2がセットされる。
プロキシノードC(アクセス制御ユニット42)は、どの手順においてどのグループ識別子をセットするかを対応付けたデータテーブルを(たとえば許可情報記憶ユニット41に)有しており、当該データテーブルを参照することにより、ノード間でデータの中継を行うか否かを決定する。同様に、情報ごとにグループ識別子を対応付けておき、情報を受け取ったノードにおいて、グループ識別子で情報を選別することも可能である。
本実施形態の動作例を図8を用いて説明する。図8では、ノードAがノードBから情報RB1を取得し、ノードEがノードDから情報RB1を取得する例を示している。ノードAに対しては、手順P3において認証サーバSが「C provide *」をプロキシノードCに送信するとともに、手順P4において、プロキシノードCを介して認証サーバSからの「A read|write|execute RB1」をノードAに送信する。また、ノードBに対しては、手順P3において認証サーバSが「B provide RB1」をノードBに送信するとともに、手順P4において、ノードBを介して認証サーバSからの「C read|write|execute *」をプロキシノードCに送信する。
ノードEに対しては、手順P3において認証サーバSが「C provide *」をプロキシノードCに送信するとともに、手順P4において、プロキシノードCを介して認証サーバSからの「E read|write|execute RB1」をノードEに送信する。また、ノードDに対しては、手順P3において認証サーバSが「D provide RB1」をノードDに送信するとともに、手順P4において、ノードDを介して認証サーバSからの「C read|write|execute *」をプロキシノードCに送信する。
ノードA,B,D,EとプロキシノードCとに対して、上述のようにアクセス制御の許可情報を与えると、プロキシノードCは、ノードAからノードBへのアクセスを中継し、ノードEからノードDへのアクセスを中継することになる。つまり、ノードAがプロキシノードCにアクセスすると、プロキシノードCがノードBにアクセスし、ノードBからの応答がプロキシノードCを介してノードAに返され、一方、ノードEがプロキシノードCにアクセスすると、プロキシノードCがノードDにアクセスし、ノードDからの応答がプロキシノードCを介してノードEに返される。
ここで、プロキシノードCにはセッション鍵に対応付けてグループ識別子が登録されており、ノードAが情報RB1へのアクセス制御の要求を行うと、同じグループ識別子G1を有するノードBの情報RB1がノードAに返される。また、ノードEが情報RB1へのアクセス制御の要求を行うと、同じグループ識別子G2を有するノードDの情報RB1がノードEに返される。
他の構成および動作は実施形態2と同様である。また、図9に示す動作例は、実施形態1においてオプションを付加した図3の動作例に対応付けているが、オプションを持たない図1の動作例に対応付けることも可能である。
以上述べた本実施形態の鍵認証システムでは、ノードにグループ識別子を付与し、前記付加情報にグループ識別子を含め、グループ識別子を用いてアクセス制御を行う。
すなわち、各ノードA,B,D,Eにはグループ識別子が付与される。また、第1付加情報αおよび第2付加情報βは、グループ識別子を含む。そして、プロキシノードC(アクセス制御ユニット42)は、グループ識別子を用いてアクセス制御を行うように構成される。
このように、アクセス制御を行う場合にグループ識別子を用いると、アクセス制御の及ぶ範囲をグループ識別子により制限することが可能になる。言い換えると、暗号文の到達範囲をグループ識別子により制限することが可能になる。

Claims (3)

  1. 第1ノードと、
    第2ノードと、
    上記第1ノードと上記第2ノードとの間の暗号化通信に使用されるセッション鍵を生成する認証サーバと、を備え、
    上記第1ノードと上記認証サーバとは、上記第1ノードと上記認証サーバとの間の暗号化通信に使用される第1秘密鍵を保持するように構成され、
    上記第2ノードと上記認証サーバとは、上記第2ノードと上記認証サーバとの間の暗号化通信に使用される第2秘密鍵を保持するように構成され、
    上記第1ノードは、上記セッション鍵の発行を上記認証サーバに要求するにあたっては、第1ノンスを生成して上記認証サーバに送信するように構成され、
    上記第2ノードは、上記セッション鍵の発行を上記認証サーバに要求するにあたっては、第2ノンスを生成して上記認証サーバに送信するように構成され、
    上記認証サーバは、
    上記第1ノンスと上記第2ノンスとを受け取ると上記セッション鍵を新たに生成し、
    上記受け取った第1ノンスと上記新たに生成されたセッション鍵と所定の第1付加情報とを含む第1メッセージと上記第1秘密鍵とを用いて第1メッセージ認証コードの値を計算し、
    上記受け取った第1ノンスと上記新たに生成されたセッション鍵と上記第1付加情報とを上記第1秘密鍵を用いて暗号化して第1暗号文を作成し、
    上記第1暗号文と上記第1メッセージ認証コードの値とを上記第1ノードに送信し、
    上記受け取った第2ノンスと上記新たに生成されたセッション鍵と所定の第2付加情報とを含む第2メッセージと上記第2秘密鍵とを用いて第2メッセージ認証コードの値を計算し、
    上記受け取った第2ノンスと上記新たに生成されたセッション鍵と上記第2付加情報とを上記第2秘密鍵を用いて暗号化して第2暗号文を作成し、
    上記第2暗号文と上記第2メッセージ認証コードの値とを上記第2ノードに送信するように構成され、
    上記第1ノードは、
    上記第1暗号文および上記第1メッセージ認証コードの値を受け取ると、上記第1秘密鍵を用いて上記第1暗号文を復号して上記セッション鍵と上記第1付加情報とを取得し、
    上記第1ノードが記憶する上記第1ノンスと、上記第1暗号文を復号して得られた上記セッション鍵および上記第1付加情報と、上記第1秘密鍵とを用いて上記第1メッセージ認証コードの値を計算し、
    上記第1ノードが計算した上記第1メッセージ認証コードの値が上記認証サーバから受け取った上記第1メッセージ認証コードの値に一致するか否かを判定することで上記認証サーバから受け取った上記セッション鍵の認証を行うように構成され、
    上記第2ノードは、
    上記第2暗号文および上記第2メッセージ認証コードの値を受け取ると、上記第2秘密鍵を用いて上記第2暗号文を復号して上記セッション鍵と上記第2付加情報とを取得し、
    上記第2ノードが記憶する上記第2ノンスと、上記第2暗号文を復号して得られた上記セッション鍵および上記第2付加情報と、上記第2秘密鍵とを用いて上記第2メッセージ認証コードの値を計算し、
    上記第2ノードが計算した上記第2メッセージ認証コードの値が上記認証サーバから受け取った上記第2メッセージ認証コードの値に一致するか否かを判定することで上記認証サーバから受け取った上記セッション鍵の認証を行うように構成され
    上記第1付加情報および上記第2付加情報は、アクセス制御の許可情報であって、
    上記認証サーバは、
    上記第1ノードまたは上記第2ノードからアクセス制御の要求情報を受け取ると、受け取った上記アクセス制御の要求情報とあらかじめ登録されたアクセス制御の登録情報とを比較し、上記受け取ったアクセス制御の要求情報が上記アクセス制御の登録情報に含まれていない場合、上記アクセス制御の登録情報を上記アクセス制御の許可情報として用いるように構成される
    ことを特徴とする暗号鍵配布システム。
  2. 第1ノードと、
    第2ノードと、
    上記第1ノードと上記第2ノードとの間の暗号化通信に使用されるセッション鍵を生成する認証サーバと、を備え、
    上記第1ノードと上記認証サーバとは、上記第1ノードと上記認証サーバとの間の暗号化通信に使用される第1秘密鍵を保持するように構成され、
    上記第2ノードと上記認証サーバとは、上記第2ノードと上記認証サーバとの間の暗号化通信に使用される第2秘密鍵を保持するように構成され、
    上記第1ノードは、上記セッション鍵の発行を上記認証サーバに要求するにあたっては、第1ノンスを生成して上記認証サーバに送信するように構成され、
    上記第2ノードは、上記セッション鍵の発行を上記認証サーバに要求するにあたっては、第2ノンスを生成して上記認証サーバに送信するように構成され、
    上記認証サーバは、
    上記第1ノンスと上記第2ノンスとを受け取ると上記セッション鍵を新たに生成し、
    上記受け取った第1ノンスと上記新たに生成されたセッション鍵と所定の第1付加情報とを含む第1メッセージと上記第1秘密鍵とを用いて第1メッセージ認証コードの値を計算し、
    上記受け取った第1ノンスと上記新たに生成されたセッション鍵と上記第1付加情報とを上記第1秘密鍵を用いて暗号化して第1暗号文を作成し、
    上記第1暗号文と上記第1メッセージ認証コードの値とを上記第1ノードに送信し、
    上記受け取った第2ノンスと上記新たに生成されたセッション鍵と所定の第2付加情報とを含む第2メッセージと上記第2秘密鍵とを用いて第2メッセージ認証コードの値を計算し、
    上記受け取った第2ノンスと上記新たに生成されたセッション鍵と上記第2付加情報とを上記第2秘密鍵を用いて暗号化して第2暗号文を作成し、
    上記第2暗号文と上記第2メッセージ認証コードの値とを上記第2ノードに送信するように構成され、
    上記第1ノードは、
    上記第1暗号文および上記第1メッセージ認証コードの値を受け取ると、上記第1秘密鍵を用いて上記第1暗号文を復号して上記セッション鍵と上記第1付加情報とを取得し、
    上記第1ノードが記憶する上記第1ノンスと、上記第1暗号文を復号して得られた上記セッション鍵および上記第1付加情報と、上記第1秘密鍵とを用いて上記第1メッセージ認証コードの値を計算し、
    上記第1ノードが計算した上記第1メッセージ認証コードの値が上記認証サーバから受け取った上記第1メッセージ認証コードの値に一致するか否かを判定することで上記認証サーバから受け取った上記セッション鍵の認証を行うように構成され、
    上記第2ノードは、
    上記第2暗号文および上記第2メッセージ認証コードの値を受け取ると、上記第2秘密鍵を用いて上記第2暗号文を復号して上記セッション鍵と上記第2付加情報とを取得し、
    上記第2ノードが記憶する上記第2ノンスと、上記第2暗号文を復号して得られた上記セッション鍵および上記第2付加情報と、上記第2秘密鍵とを用いて上記第2メッセージ認証コードの値を計算し、
    上記第2ノードが計算した上記第2メッセージ認証コードの値が上記認証サーバから受け取った上記第2メッセージ認証コードの値に一致するか否かを判定することで上記認証サーバから受け取った上記セッション鍵の認証を行うように構成され
    上記第1付加情報および上記第2付加情報は、アクセス制御の許可情報であって、
    上記第1ノードと上記第2ノードとの間の通信を中継するプロキシノードを有し、
    上記認証サーバは、上記プロキシノードに上記アクセス制御の許可情報を送信するように構成され、
    上記プロキシノードは、上記認証サーバから受け取った上記アクセス制御の許可情報に基づいて上記第1ノードと上記第2ノードとの間の通信を中継するように構成される
    ことを特徴とする請求項1記載の暗号鍵配布システム。
  3. 上記第1ノードおよび上記第2ノードにはグループ識別子が付与され、
    上記第1付加情報および上記第2付加情報は、グループ識別子を含み、
    上記プロキシノードは、上記グループ識別子を用いてアクセス制御を行うように構成される
    ことを特徴とする請求項2記載の暗号鍵配布システム。
JP2011519917A 2009-06-23 2010-06-23 暗号鍵配布システム Expired - Fee Related JP5432999B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011519917A JP5432999B2 (ja) 2009-06-23 2010-06-23 暗号鍵配布システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009148961 2009-06-23
JP2009148961 2009-06-23
PCT/JP2010/060635 WO2010150813A1 (ja) 2009-06-23 2010-06-23 暗号鍵配布システム
JP2011519917A JP5432999B2 (ja) 2009-06-23 2010-06-23 暗号鍵配布システム

Publications (2)

Publication Number Publication Date
JPWO2010150813A1 JPWO2010150813A1 (ja) 2012-12-10
JP5432999B2 true JP5432999B2 (ja) 2014-03-05

Family

ID=43386582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011519917A Expired - Fee Related JP5432999B2 (ja) 2009-06-23 2010-06-23 暗号鍵配布システム

Country Status (6)

Country Link
US (1) US8817985B2 (ja)
EP (1) EP2448170A4 (ja)
JP (1) JP5432999B2 (ja)
CN (1) CN102804676A (ja)
SG (1) SG178015A1 (ja)
WO (1) WO2010150813A1 (ja)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10181953B1 (en) 2013-09-16 2019-01-15 Amazon Technologies, Inc. Trusted data verification
US9237155B1 (en) 2010-12-06 2016-01-12 Amazon Technologies, Inc. Distributed policy enforcement with optimizing policy transformations
US8769642B1 (en) 2011-05-31 2014-07-01 Amazon Technologies, Inc. Techniques for delegation of access privileges
US9197409B2 (en) 2011-09-29 2015-11-24 Amazon Technologies, Inc. Key derivation techniques
US9203613B2 (en) 2011-09-29 2015-12-01 Amazon Technologies, Inc. Techniques for client constructed sessions
US9178701B2 (en) 2011-09-29 2015-11-03 Amazon Technologies, Inc. Parameter based key derivation
DE102012201164B4 (de) * 2012-01-26 2017-12-07 Infineon Technologies Ag Vorrichtung und verfahren zur erzeugung eines nachrichtenauthentifizierungscodes
US9215076B1 (en) 2012-03-27 2015-12-15 Amazon Technologies, Inc. Key generation for hierarchical data access
US8892865B1 (en) 2012-03-27 2014-11-18 Amazon Technologies, Inc. Multiple authority key derivation
US8739308B1 (en) 2012-03-27 2014-05-27 Amazon Technologies, Inc. Source identification for unauthorized copies of content
JP6050950B2 (ja) * 2012-05-11 2016-12-21 パナソニックIpマネジメント株式会社 暗号鍵設定システム、端末装置
US9258118B1 (en) 2012-06-25 2016-02-09 Amazon Technologies, Inc. Decentralized verification in a distributed system
US9660972B1 (en) 2012-06-25 2017-05-23 Amazon Technologies, Inc. Protection from data security threats
EP2893734B1 (en) * 2012-09-06 2016-04-27 Koninklijke KPN N.V. Establishing a device-to-device communication session
US9444851B2 (en) 2012-10-29 2016-09-13 Koninklijke Kpn N.V. Intercepting device-to-device communication
US9407440B2 (en) 2013-06-20 2016-08-02 Amazon Technologies, Inc. Multiple authority data security and access
US9521000B1 (en) 2013-07-17 2016-12-13 Amazon Technologies, Inc. Complete forward access sessions
US9237019B2 (en) 2013-09-25 2016-01-12 Amazon Technologies, Inc. Resource locators with keys
US9311500B2 (en) 2013-09-25 2016-04-12 Amazon Technologies, Inc. Data security using request-supplied keys
JP6230866B2 (ja) * 2013-10-10 2017-11-15 株式会社オートネットワーク技術研究所 通信システム及び照合方法
US10243945B1 (en) 2013-10-28 2019-03-26 Amazon Technologies, Inc. Managed identity federation
US9420007B1 (en) 2013-12-04 2016-08-16 Amazon Technologies, Inc. Access control using impersonization
US9292711B1 (en) 2014-01-07 2016-03-22 Amazon Technologies, Inc. Hardware secret usage limits
US9374368B1 (en) 2014-01-07 2016-06-21 Amazon Technologies, Inc. Distributed passcode verification system
US9369461B1 (en) 2014-01-07 2016-06-14 Amazon Technologies, Inc. Passcode verification using hardware secrets
US9262642B1 (en) 2014-01-13 2016-02-16 Amazon Technologies, Inc. Adaptive client-aware session security as a service
US10771255B1 (en) 2014-03-25 2020-09-08 Amazon Technologies, Inc. Authenticated storage operations
US9369474B2 (en) * 2014-03-27 2016-06-14 Adobe Systems Incorporated Analytics data validation
US10148736B1 (en) * 2014-05-19 2018-12-04 Amazon Technologies, Inc. Executing parallel jobs with message passing on compute clusters
GB2526367A (en) * 2014-05-23 2015-11-25 Ibm Password-based authentication
CN103997405B (zh) * 2014-05-28 2017-10-17 大唐移动通信设备有限公司 一种密钥生成方法及装置
CN103986723B (zh) * 2014-05-28 2017-12-05 大唐移动通信设备有限公司 一种保密通信控制、保密通信方法及装置
US9258117B1 (en) 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
US10326597B1 (en) 2014-06-27 2019-06-18 Amazon Technologies, Inc. Dynamic response signing capability in a distributed system
WO2016017324A1 (ja) 2014-07-28 2016-02-04 エンクリプティア株式会社 ユーザ情報管理システム、ユーザ情報管理方法、管理サーバ用プログラム及びこれを記録した記録媒体、ユーザ端末用プログラム及びこれを記録した記録媒体、サービスサーバ用プログラム及びこれを記録した記録媒体
KR20160056551A (ko) * 2014-11-12 2016-05-20 삼성전자주식회사 잠금 해제 수행 방법 및 사용자 단말
US10285053B2 (en) * 2015-04-10 2019-05-07 Futurewei Technologies, Inc. System and method for reducing authentication signaling in a wireless network
US20180123784A1 (en) * 2015-04-24 2018-05-03 Pcms Holdings, Inc. Systems, methods, and devices for device credential protection
US10122689B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Load balancing with handshake offload
US10122692B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Handshake offload
US9660803B2 (en) * 2015-09-15 2017-05-23 Global Risk Advisors Device and method for resonant cryptography
CN106161449A (zh) * 2016-07-19 2016-11-23 青松智慧(北京)科技有限公司 无密钥认证传输方法及***
US10116440B1 (en) 2016-08-09 2018-10-30 Amazon Technologies, Inc. Cryptographic key management for imported cryptographic keys
EP3282638A1 (en) * 2016-08-11 2018-02-14 Gemalto Sa A method for provisioning a first communication device by using a second communication device
US9722803B1 (en) * 2016-09-12 2017-08-01 InfoSci, LLC Systems and methods for device authentication
US10419226B2 (en) 2016-09-12 2019-09-17 InfoSci, LLC Systems and methods for device authentication
JP2018142823A (ja) * 2017-02-27 2018-09-13 Kddi株式会社 通信システム、及び、通信方法
US11025596B1 (en) * 2017-03-02 2021-06-01 Apple Inc. Cloud messaging system
JP6408627B2 (ja) * 2017-03-14 2018-10-17 Kddi株式会社 遠隔機器制御システム、及び、遠隔機器制御方法
US11463439B2 (en) 2017-04-21 2022-10-04 Qwerx Inc. Systems and methods for device authentication and protection of communication on a system on chip
CN108200104A (zh) * 2018-03-23 2018-06-22 网宿科技股份有限公司 一种进行ssl握手的方法和***
US20200394651A1 (en) * 2019-06-13 2020-12-17 Gridplus, Inc. Dynamic off-chain digital currency transaction processing
WO2021158229A1 (en) 2020-02-06 2021-08-12 Google, Llc Verifying display of third party content at a client device
AU2020260457B2 (en) * 2020-02-06 2021-10-21 Google, Llc Verifying user interactions on a content platform
CN115348583B (zh) * 2022-10-18 2023-01-03 中国民航信息网络股份有限公司 一种高速移动场景下的通信方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3078841B2 (ja) * 1993-07-27 2000-08-21 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 通信システムの安全なキー配布を提供するための方法およびシステム
JP2002051036A (ja) * 2000-08-01 2002-02-15 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd キーエスクロー方式
JP2004015813A (ja) * 2002-06-10 2004-01-15 Microsoft Corp 相互認証を使用した安全な鍵交換方法およびコンピュータ読取り可能媒体
JP2004253967A (ja) * 2003-02-19 2004-09-09 Nippon Telegr & Teleph Corp <Ntt> セッション制御サーバおよび通信装置と通信方法、ならびにそのプログラムと記録媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6136204A (ja) 1984-07-27 1986-02-20 Mitsui Petrochem Ind Ltd 歯牙用硬化性樹脂組成物
JP2002108710A (ja) * 2000-07-24 2002-04-12 Sony Corp 情報処理システム、情報処理方法、および情報処理装置、並びにプログラム提供媒体
US7233664B2 (en) * 2003-03-13 2007-06-19 New Mexico Technical Research Foundation Dynamic security authentication for wireless communication networks
EP1900245B1 (en) * 2005-07-06 2012-09-19 Nokia Corporation Secure session keys context
US8023478B2 (en) * 2006-03-06 2011-09-20 Cisco Technology, Inc. System and method for securing mesh access points in a wireless mesh network, including rapid roaming
US20110071929A1 (en) * 2008-01-30 2011-03-24 Honeywell International Inc. Systems and methods for managing building services
KR20090126166A (ko) * 2008-06-03 2009-12-08 엘지전자 주식회사 트래픽 암호화 키 생성 방법 및 갱신 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3078841B2 (ja) * 1993-07-27 2000-08-21 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 通信システムの安全なキー配布を提供するための方法およびシステム
JP2002051036A (ja) * 2000-08-01 2002-02-15 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd キーエスクロー方式
JP2004015813A (ja) * 2002-06-10 2004-01-15 Microsoft Corp 相互認証を使用した安全な鍵交換方法およびコンピュータ読取り可能媒体
JP2004253967A (ja) * 2003-02-19 2004-09-09 Nippon Telegr & Teleph Corp <Ntt> セッション制御サーバおよび通信装置と通信方法、ならびにそのプログラムと記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6013023473; A. J. Menezes et al.: HANDBOOK of APPLIED CRYPTOGRAPHY , 1997, pp. 497-504, CRC Press *

Also Published As

Publication number Publication date
JPWO2010150813A1 (ja) 2012-12-10
US8817985B2 (en) 2014-08-26
CN102804676A (zh) 2012-11-28
EP2448170A4 (en) 2015-06-24
EP2448170A1 (en) 2012-05-02
WO2010150813A1 (ja) 2010-12-29
US20120106735A1 (en) 2012-05-03
SG178015A1 (en) 2012-03-29

Similar Documents

Publication Publication Date Title
JP5432999B2 (ja) 暗号鍵配布システム
US11394561B2 (en) Digital transaction signing for multiple client devices using secured encrypted private keys
US10848315B2 (en) Contract agreement method, agreement verification method, contract agreement system, agreement verification device, contract agreement device, contract agreement program and agreement verification program
CN113691560B (zh) 数据传送方法、控制数据使用的方法以及密码设备
US7734913B2 (en) Content transmission control device, content distribution device and content receiving device
US20200320178A1 (en) Digital rights management authorization token pairing
CN108650028B (zh) 基于量子通信网络与真随机数的多次身份认证***和方法
US20070266249A1 (en) Implicit trust of authorship certification
CN102036242A (zh) 一种移动通讯网络中的接入认证方法和***
CN105049877A (zh) 一种用于直录播互动***的加密方法及装置
CN111080299B (zh) 一种交易信息的防抵赖方法及客户端、服务器
CN104468074A (zh) 应用程序之间认证的方法及设备
US20140181516A1 (en) Detection method for fraudulent mail, detection program therefor, and detection device therefor
CN115174277B (zh) 基于区块链的数据通信和档案交换方法
CN102077542A (zh) 安全数字通信
CN112035820B (zh) 一种用于Kerberos加密环境下的数据解析方法
US11570008B2 (en) Pseudonym credential configuration method and apparatus
CN114866244A (zh) 基于密文分组链接加密的可控匿名认证方法、***及装置
WO2021019782A1 (ja) 所有者同一性確認システムおよび所有者同一性確認方法
CN113545025A (zh) 用于信息传输的方法和***
JP2005311531A (ja) デジタル署名処理方法及びそのためのプログラム
WO2021019781A1 (ja) 所有者同一性確認システム、認証局サーバおよび所有者同一性確認方法
CN109104393B (zh) 一种身份认证的方法、装置和***
TWI824239B (zh) 透過伺服器檢核密碼錯誤次數以完成作業之系統、裝置及方法
KR101512891B1 (ko) 컨텐츠 제공을 위한 서버 및 이의 동작 방법과 이에 관한 단말

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130521

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131021

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: 20131112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131206

R150 Certificate of patent or registration of utility model

Ref document number: 5432999

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees