JP5012173B2 - 暗号通信処理方法及び暗号通信処理装置 - Google Patents

暗号通信処理方法及び暗号通信処理装置 Download PDF

Info

Publication number
JP5012173B2
JP5012173B2 JP2007116573A JP2007116573A JP5012173B2 JP 5012173 B2 JP5012173 B2 JP 5012173B2 JP 2007116573 A JP2007116573 A JP 2007116573A JP 2007116573 A JP2007116573 A JP 2007116573A JP 5012173 B2 JP5012173 B2 JP 5012173B2
Authority
JP
Japan
Prior art keywords
encryption
encryption key
information
nodes
communication
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
JP2007116573A
Other languages
English (en)
Other versions
JP2008277956A (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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2007116573A priority Critical patent/JP5012173B2/ja
Priority to US12/107,279 priority patent/US20080267395A1/en
Publication of JP2008277956A publication Critical patent/JP2008277956A/ja
Application granted granted Critical
Publication of JP5012173B2 publication Critical patent/JP5012173B2/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/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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • 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/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/3271Cryptographic 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 challenge-response
    • 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
    • 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

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークを構成するノードとしての暗号通信処理装置の間で、暗号通信を行うための暗号通信処理方法、及び暗号通信処理装置に関する。
近年、ネットワークを構成する任意のノード間で自由にデータの送受信を行うような通信形態を有するネットワークが盛んに利用されるようになってきた。
代表的な形態として、P2P(Peer to Peer)と呼ばれる通信ネットワークの形態がある。P2Pは不特定多数のノード間で直接情報のやり取りを行なうネットワークの利用形態であり、技術的に中央サーバの媒介を要するものやバケツリレー式にデータを運ぶものがある。
こういった分散処理のネットワーク形態では、ノードを探索したり、ログを収集したり、データを問い合わせたりする場合に、マルチキャストのように任意の複数のノードに同時送信するような通信形態が多用される。
しかしながら、任意のノード間で直接接続してデータの送受信を行う度に、そのための手続きが必要であり、手続きのやり方によっては、通信の効率低下とともに、一般にマルチキャストのような通信形態が困難となることもあった。また一方、任意のノード間で自由に接続して通信を行うための手続きをできるだけ簡略化し、マルチキャスト方式の通信も可能な状態にしようとすると、第三者による通信の傍受など安全面においての危険性が増してくるという傾向があった。
例えば、インターネットで用いられる代表的な通信プロトコルとして、TCP(Transmission Control Protocol)やUDP(User Datagram Protocol)があるが、やはり上記のような一長一短の傾向が見られる。すなわちTCPでは、安全性、信頼性において優れるが、その手続きのためにマルチキャスト通信は実施できない。またUDPについては、マルチキャスト通信は可能であるが、手続きが簡略化されているので、通信の安全性、信頼性は低い。
通信の安全性を高めるためには、一般に暗号化処理がよく用いられる。UDPのようなマルチキャスト通信が可能なプロトコルにおいて、暗号化処理を付加することで通信の安全性を高めることも考えられる。
暗号化通信のプロトコルとして、一般によく使用されているのは、IPsec(Security Architecture for Internet Protocol)やSSL(Secure Socket Layer)等であるが、これらは何れもマルチキャスト通信のできないTCPのプロトコル上で機能するものである。
マルチキャスト通信を可能としながら、効果的な暗号処理を行うのは難しく、暗号化を用いず安全性を高めるための技術も提案されている(例えば、特許文献1参照)。
特許文献1に開示された技術においては、通信のために接続した相手ノードのIDを確認し、所定のID以外は拒否することで、通信相手を特定しようとするものである。しかしながら、総当たりの試みやパケットをキャプチャすることによりIDを取得し、なりすますことが比較的簡単にできてしまう。また、暗号化処理ではないため、なりすましにより簡単に通信内容に入り込むことができてしまう。
UDPのようなマルチキャスト通信の可能なプロトコルでも、手続きを複雑化してマルチキャスト方式を不可能にすることなく機能する暗号化処理が望ましい。そのような暗号化処理の方法としては、従来、固定共通鍵を用いた暗号化処理が用いられてきた。
固定共通鍵を用いた暗号化処理技術は、送信側と受信側のノードが共通の暗号化鍵(すなわち、暗号化と復号化に同じ鍵を用いる)を保持しており、その鍵は固定的で変わらない、というものである。
しかしながら、この固定共通鍵を使用する暗号化処理方法では、その共通鍵は常に同じであるため容易に推測されやすく、また暗号化処理ソフトを用いることで簡単に傍受できてしまうという問題がある。
暗号化通信のために、手続きを複雑化せずに、つまりマルチキャスト通信が可能な状態を損なわずに、より安全性を向上できるような暗号化処理技術が望まれる。
特開2005−303784号公報
上述したように、ネットワークにおけるノード間の通信において、マルチキャスト通信とセキュリティ(安全性)は、なかなか両立しがたいものがある。セキュリティのためには暗号化処理を行って通信することが望ましいが、マルチキャスト通信可能な状態を維持しながら、効果的な暗号通信の処理を行うことは困難であった。
本発明の目的は、上記の課題を解決し、ネットワークにおけるノード間の通信において、セキュリティ(安全性)を向上した効果的な暗号通信によるマルチキャストが可能である暗号通信処理方法、及びノードとしての暗号通信処理装置を提供することである。
上記の課題を解決するために、本発明は以下の特徴を有するものである。
1. ネットワークシステムを構成する複数のノード間で、マルチキャスト方式で暗号通信を行うための暗号通信処理方法であって、マルチキャスト方式で暗号通信を行う送信側の第1のノードと受信側の複数の第2のノードの間で、メッセージナンバーを交換する接続工程と、前記複数の第2のノードが、それぞれ認証のための情報を含むメッセージを送信し、それらを受信した前記第1のノードが、該情報に基づき、前記複数の第2のノードをそれぞれ認証する認証工程と、前記認証工程において、それぞれの認証が成功した場合に、前記第1のノードと前記複数の第2のノードの間で、それぞれ暗号鍵を作成するための情報を含むメッセージを通信し、それぞれ該情報に基づき暗号鍵を作成し、両ノードで共有化する暗号鍵作成工程と、前記第1のノードが、前記暗号鍵作成工程において作成、共有化された暗号鍵に基づき暗号化した情報を含むメッセージを、前記複数の第2のノードにマルチキャスト送信する暗号化工程と、を有し、前記暗号鍵作成工程では、前記暗号鍵を作成するための情報に基づき、前記複数の第2のノードに共通である暗号鍵が作成され、前記暗号化工程では、前記第1のノードが、前記複数の第2のノードのそれぞれに対して、前記複数の第2のノードに共通である暗号鍵を用いて送信する情報を暗号化し、メッセージナンバーを付与してマルチキャスト送信することを特徴とする暗号通信処理方法。
2. 前記暗号鍵作成工程では、前記暗号鍵を作成するための情報に基づき、前記複数の第2のノードに共通である暗号鍵とは異なる暗号鍵を作成し、前記暗号化工程では、暗号化した情報に、暗号化に用いた暗号鍵を識別するための情報を含む送信属性情報を付与して送信することを特徴とする1に記載の暗号通信処理方法。
3. 前記接続工程において交換されるメッセージナンバーは、送信ノード毎に、あるいは送受信するノードの組み合わせ毎に一意に設定され、前記第1のノードから前記複数の第2のノードのどのノードに送信されるどのメッセージにも、同一のメッセージナンバーが付与されることを特徴とする1または2に記載の暗号通信処理方法。
4. 前記メッセージナンバーは、所定のタイミングで破棄され、破棄されたメッセージナンバーに対応するノードが関わる暗号通信処理は、前記接続工程からやり直すことを特徴とする3に記載の暗号通信処理方法。
5. 前記接続工程では、前記第1のノードと前記複数の第2のノードの間で、通信プロトコルのバージョン情報と暗号化アルゴリズム設定のための情報を含む暗号通信のための設定情報が交換されることを特徴とする1乃至4の何れか1項に記載の暗号通信処理方法。
6. 前記認証工程における認証のための情報には、当該情報を送信したノードの公開鍵の情報が含まれ、前記暗号鍵作成工程における暗号鍵を作成するための情報は、前記公開鍵を用いて暗号化され、送信されることを特徴とする1乃至5の何れか1項に記載の暗号通信処理方法。
7. 任意のノードが複数の他のノードに対してマルチキャスト方式で暗号通信を行うネットワークシステムにおける、ノードとしての暗号通信処理装置であって、マルチキャストで暗号通信する複数の他のノードとの間で、メッセージナンバーを交換する接続手段と、前記複数の他のノードから、それぞれ認証のための情報を含むメッセージを受信し、受信した該情報に基づき、前記複数の他のノードをそれぞれ認証する認証手段と、前記認証手段により認証した前記複数の他のノードと、暗号鍵を作成するための情報を含むメッセージを通信し、それぞれ該情報に基づき暗号鍵を作成、共有化する暗号鍵作成手段と、前記暗号鍵作成手段により作成、共有化された暗号鍵に基づき暗号化した情報を含むメッセージを、前記複数の他のノードにマルチキャスト送信する暗号化手段と、を有し、前記暗号鍵作成手段は、前記暗号鍵を作成するための情報に基づき、前記複数の他のノードに共通である暗号鍵を作成、共有化し、前記暗号化手段は、前記複数の他のノードのそれぞれに対して、前記複数の他のノードに共通である暗号鍵を用いて送信する情報を暗号化し、メッセージナンバーを付与してマルチキャスト送信することを特徴とする暗号通信処理装置。
8. 前記暗号鍵作成手段は、前記暗号鍵を作成するための情報に基づき、前記複数の他のノードに共通である暗号鍵とは異なる暗号鍵を作成し、前記暗号化手段は、暗号化した情報に、暗号化に用いた暗号鍵を識別するための情報を含む送信属性情報を付与して送信することを特徴とする7に記載の暗号通信処理装置。
9. 前記接続手段により交換されるメッセージナンバーは、送信ノード毎に、あるいは送受信するノードの組み合わせ毎に一意に設定されたものであり、前記複数の他のノードのどのノードに送信するどのメッセージにも、同一のメッセージナンバーを付与することを特徴とする7または8に記載の暗号通信処理装置。
10. 前記メッセージナンバーは、所定のタイミングで破棄し、破棄した後の暗号通信処理は前記接続手段によるメッセージナンバーの交換からやり直すことを特徴とする9に記載の暗号通信処理装置。
11. 前記接続手段は、前記複数の他のノードとの間で、通信プロトコルのバージョン情報と暗号化アルゴリズム設定のための情報を含む暗号通信のための設定情報を交換することを特徴とする7乃至10の何れか1項に記載の暗号通信処理装置。
12. 前記認証手段により送信する認証のための情報は、送信するノードの公開鍵の情報を含み、前記暗号鍵作成手段により送信する暗号鍵を作成するための情報は、前記公開鍵を用いて暗号化することを特徴とする7乃至11の何れか1項に記載の暗号通信処理装置。
本発明の暗号通信処理装置、及び暗号通信処理方法によれば、ネットワークにおけるノード間のマルチキャスト通信において、最初に一つ以上の共通の暗号鍵を設定しておくことで、暗号鍵固定ではなく、かつ暗号通信のための手続きでマルチキャスト通信の可能な状態を損なうこともなくなる。従ってセキュリティ(安全性)を向上した効果的な暗号通信によるマルチキャストが可能となる。
以下に、図を参照して本発明に係る実施形態を説明する。
(ネットワークの全体構成)
図1は本実施形態に係る暗号通信処理方法、及び暗号通信処理装置により構成されるネットワーク1の全体的な構成の例を示す図である。図1を用いて本発明の実施形態に係るネットワーク1について、その全体構成を説明する。
本発明の実施形態に係るネットワーク1は、図1に示すように、複数台の端末装置2(21、22、…、2n)、スイッチングハブ3、ルータ4、及び認証サーバ5などのノードによって構成されるLAN(Local Area Network)である。これらの端末装置2は、スイッチングハブ3にツイストペアケーブルによってスター型に繋がれている。
ネットワークを構成するノードとしての端末装置2は、本発明に係る暗号通信処理装置であり、パーソナルコンピュータ、ワークステーション、またはプリンタなどのような、他の装置との間で暗号通信によるデータの入出力の処理を実行する装置である。以下、ノードといえば単にこの端末装置のことを指し、暗号通信処理装置としてのパーソナルコンピュータが用いられるものとして説明する。
また本実施形態では、P2P(Peer to Peer)と呼ばれる通信ネットワークの形態を採っている。P2Pは不特定多数のノード間で直接情報のやり取りを行なうネットワークの利用形態であり、技術的に中央サーバの媒介を要するものと、バケツリレー式にデータを運ぶものの2種類がある。中央サーバを要する場合にも、中央サーバはファイル検索データベースの提供とノードの接続管理のみを行っており、データ自体のやり取りはノード間の直接接続によって行われている。
また、中央サーバがホストとして集中処理するような形態であっても、任意のクライアントが中央サーバとしての機能を果たすよう随時変更可能なシステムもあり、実質的には不特定多数の任意のノード間で直接情報のやり取りを行なうP2Pのシステムと同等機能を有すると見なせるようなネットワーク形態もある。
本実施形態では、中央サーバは用いず、後で図3の接続トポロジーを説明するが、予め関連付けられたノード(暗号通信処理装置)2間では直接接続を行い、通信する。その他のノードとは、直接接続したノードを介して間接的に接続することになる。認証サーバ5は認証のための証明書に関わる管理のみを担い、通信のための接続には直接関わらない。またルータ4もノード(暗号通信処理装置)間の通信には直接関与しない。
P2Pでは、直接ノード同士が通信するため、如何にお互いの正当性を認証するか、不正の入り込む余地を抑制するかというセキュリティが重要である。そのために認証サーバ5の発行するディジタル証明書を用いる。後述する暗号通信処理においては、X.509仕様のディジタル証明書が使用される。
ディジタル証明書の有効期間を過ぎたり、秘密鍵の紛失や盗難などでそのディジタル証明書の信頼性が損なわれと、認証局は証明書失効リスト(CRL:Certificate Revocation List)に掲載し、公開することにより失効させる。
以下、上記の観点から、本実施形態に係るネットワークにおいて、これらのノード2同士が暗号通信のための接続を確立し、各ノード間で暗号による情報の送受信を行う場合について説明する。
(暗号通信処理装置の構成)
図2はノード(暗号通信処理装置)2のハードウェア構成の例を示す図である。
ノード2は、図2に示すように、CPU20a、RAM20b、ROM20c、ハードディスク20d、通信インタフェース20e、画像インタフェース20f、入出力インタフェース20g、その他の種々の回路または装置などによって構成される。
通信インタフェース20eは、例えばNIC(Network Interface Card)であって、ツイストペアケーブルを介してスイッチングハブ3のいずれかのポートに繋がれている。画像インタフェース20fは、モニタと繋がれており、画面を表示するための映像信号をモニタに送出する。
入出力インタフェース20gは、キーボード若しくはマウスなどの入力装置またはCD−ROMドライブなどの外部記憶装置などと繋がれている。そして、ユーザが入力装置に対して行った操作の内容を示す信号を入力装置から入力する。または、CD−ROMなどの記録媒体に記録されているデータを外部記憶装置に読み取らせ、これを入力する。または、記録媒体に書き込むためのデータを外部記憶装置に出力する。
ハードディスク20dには、後で機能ブロック図(図5)を用いて説明するが、接続テーブル保持部201、接続テーブル管理部202、データ保持部203、データ操作部204、認証部205、ネットワーク申請部206、データ受信部207、データ解析部208、データ作成部209、およびデータ送信部210などの機能を実現するためのプログラムおよびデータが格納されている。これらのプログラムおよびデータは必要に応じてRAM20bに読み出され、CPU20aによってプログラムが実行される。
各ノード2には、それぞれ、他のノード2との識別のために、ホスト名(マシン名)、IPアドレス、およびMACアドレスが与えられている。ホスト名は、ネットワーク1の管理者などが自由に付けることができる。IPアドレスは、ネットワーク1の規則に従って与えられる。MACアドレスは、そのノード2の通信インタフェース10eに対して固定的に与えられているアドレスである。
本実施形態では、ノード(暗号通信処理装置)21、22、…ごとに「PC1」、「PC2」、…のようなホスト名が付されているものとする。以下、これらのノード2をホスト名によって記載することがある。
(ノードの接続形態)
図3はノードの接続形態、すなわちノード2の論理的なトポロジーの例を示す図である。図3を用いてノード(暗号通信処理装置)の接続形態を説明する。
ノード2は、図3に示すように、仮想空間に配置されているものと仮想されている。そして、点線で示すように、仮想空間内の近隣の少なくとも1台の他のノード2と関連付けられている。かつ、これらの関連付けによって、すべてのノード2が互いに直接的にまたは間接的に関連するようになっている。
なお、「直接的に関連」とは、図3において1本の点線で繋がれていること(例えば、図3のPC1とPC2またはPC9とのような関係)を言い、「間接的に関連」とは、2本以上の点線および1つ以上のノードで繋がれていること(例えば、図3のPC1とPC4とのような関係)を言う。ノード2は、自らに直接的に関連付けられている他のノード2に対してデータを送信する。
図4は、図3のように関連付けられたノード2の接続テーブルTLの例を示す図である。各ノード2毎に、直接データ送信可能な、「直接的に関連」付けられている他のノード2との接続のための情報のリストをテーブル化して保持している。
例えば、図3におけるPC1、PC2、PC6、PC7、PC8、およびPC9には、それぞれ図4に示すような接続テーブルTL1、TL2、TL6、TL7、TL8、およびTL9が保持されている。
(暗号通信処理装置の各部の機能)
図5(a)はノード(暗号通信処理装置)2の機能的構成の例を示すブロック図である。図5(a)を用いてノード2の各部の処理機能について説明する。
接続テーブル保持部201は、そのノード2自身に直接的に関連付けられている他のノード2のホスト名、IPアドレス、およびMACアドレスなどの属性の一覧を示す接続テーブルTLを保存している。例えば、それぞれのノードの接続テーブル保持部201に保持されている接続テーブルの例を、図4を用いて既述した。これらの接続テーブルTLの内容は、各ノード2の関連付けに基づいて管理者によって予め作成される。
接続テーブル管理部202は、上記接続テーブル保持部201に保持される接続テーブルTLの管理を行う。
データ保持部203は、そのノード2またはユーザなどの属性を示す属性データ、そのノード2自身のディジタル証明書、失効リスト(CRL)、オペレーティングシステム(OS)またはアプリケーションソフトなどが使用するデータ、ユーザがアプリケーションソフトによって作成したデータ、暗号通信処理のために必要なデータ、その他種々のデータを、ファイルとして保存している。
ディジタル証明書は、ノード2の要請により認証サーバ5が発行し、当該ノード2が保持し、ノード2同士の通信時に互いを認証するのに利用される。失効リスト(CRL)は、ノードの脱退などによるディジタル証明書の失効を登録記載するもので、認証サーバ5が管理する。
データ操作部204は、データ保持部203にデータを保存し、またはデータ保持部203に保存されているデータを更新するなどの処理を行う。例えば、ノード2の環境または設定内容が変わるごとに、属性データを更新する。
またデータ操作部204は、他のノードから取得したデータ(情報)の処理と一時保存も行う。
認証部205は、他のノード2から送信されて来たディジタル証明書などに基づいて当該他のノード2の認証の処理を行う。また送信されて来たディジタル証明書が失効していないかどうかを、認証サーバ5に問い合わせるなどして確認する。
また認証部205は、他のノードとの暗号通信確立のための処理、及び暗号通信処理を行う。詳細は後述する。
ネットワーク申請部206は、当該ノード2が新たにネットワークに参加、もしくは脱退しようとする場合の処理を行う。
データ操作部204、認証部205、ネットワーク申請部206は、必要に応じてデータ受信部207、データ送信部210を介してネットワーク1の他のノード2とデータ通信を行い、また必要に応じて接続テーブル保持部201、データ保持部203のデータを参照、あるいは更新する。
図5(b)は、認証部205の機能の内部構成を示す図である。図5(b)を用いて認証部205の機能、すなわち他のノードとの暗号通信確立のための処理と暗号化の処理機能について説明する。
認証部205には、メッセージナンバーを交換する接続手段として機能する接続設定部205aと、各ノードの認証のために必要な情報を送受信し、認証を行う認証手段として機能する認証処理部205bが含まれる。
また認証部205には、暗号鍵を作成するための情報を送受信し、暗号鍵を作成、共有化する暗号鍵作成手段として機能する暗号鍵作成部205cと、暗号鍵に基づき暗号化処理したデータ通信を行う暗号化手段として機能する暗号化処理部205dが含まれる。
接続設定部205a、認証処理部205b、暗号鍵作成部205c、そして暗号化処理部205dの各機能の詳細については、後述する暗号通信処理のフローで合わせて説明する。
図5(a)に戻り、ノード(暗号通信処理装置)2の各部の説明を続ける。
データ受信部207は、他のノード2とデータ通信を行うための制御処理を行う。データ受信部207は、ネットワーク1を流れるパケットのうち、そのノード2に必要なものを受信する。
データ解析部208は、データ受信部207が受信した受信データから必要な情報を抽出してその内容を解析することによって、その受信データの種類を判別する。
データ作成部209は、データ操作部204、認証部205、またはネットワーク申請部206などの指示に基づいて、他のノード2に送信するための送信データを作成する。
データ送信部210は、送信データ作成部209によって生成され、パケット化された送信データを他のノード2に送信する。
(ノード間のSSL通信)
ところで、本実施形態におけるノード2は、直接的にまたは間接的に関連付けられた複数のノード2に対して、マルチキャスト通信を維持するため、例えばUDPのようにセッションを張らない簡略的な通信形態を想定している。従って既述したように、一般的なSSL(Secure Sockets Layer)通信を行うことはできない。しかしながらSSLは、ディジタル証明書を用いて認証し、暗号化を行うことにより、ネットワーク上でデータを安全に送受信するためのプロトコルであり、本実施形態における暗号通信を確立する処理の流れとも関連する。
まず、SSL通信のコネクション確立の処理について、以下に説明する。
なお、一般的なディジタル証明書および失効リスト(CRL)の標準仕様は、ITU(International Telecommunication Union)によってX.509として定められている。以下のSSL通信の説明においては、ディジタル証明書をX.509証明書と呼称する。
図6はSSL通信のコネクションを確立する際の処理の流れの例を説明するための図である。図3のノード、例えばPC1とPC2とが目的の通信を行おうとする場合を例に、図6を参照しながらさらに詳細に説明する。
SSL通信のコネクションを確立する前段階として、接続自体の確立が行われる。まず、例えばPC1において、PC2と通信を行いたい旨のコマンドをユーザがキーボードなどを操作して入力したとする。すると、データ作成部209は接続要求データを作成し、データ送信部210はその接続要求データを他方のノードPC2に対して送信する。
そうすると、PC2において、データ受信部207はPC1からの接続要求データを受信し、データ解析部208はそのデータの種類を解析する。ここでは、当然、接続要求データであると解析される。データ作成部209は接続を許可する旨を示す接続許可データを生成し、データ送信部210がPC1に送信する。
PC1のデータ受信部207によって接続許可データが受信され、その後所定の処理が行われると、PC1とPC2とが接続される。但し、この時点では、まだSSL通信のコネクションは確立されておらず、この後SSL通信のコネクション確立のフローに入る。
まず、PC1およびPC2のうちのいずれか一方において、データ作成部209は対応可能なSSLのバージョンを示すSSLバージョンデータを生成し、データ送信部210はこれを他方に送信する(ステップS1)。図6では、PC1がPC2に対してSSLバージョンデータを送信したものとする。
すると、PC2において、データ受信部207がSSLバージョンデータを受信し、データ解析部208はそのデータの種類を解析し、データ作成部209はSSLバージョンデータに示されるバージョンのうちPC2で対応可能なバージョンを1つ選択し、これを示すSSLバージョン選択データを生成する。そして、データ送信部210は、これをPC1に送信する(ステップS2)。
PC1において、PC2からのSSLバージョン選択データがデータ受信部207によって受信されると、それに示されるバージョンのSSLを、目的の通信のためのプロトコルとして採用することに決定する。PC2においても、同様に決定する。
次いでPC2において、X.509ディジタル証明書をPC1に送信する。このX.509証明書が周知の認証サーバ5によって署名されたものでなければ、そこに達するまでの証明書のチェーンも送信する。PC1においては認証サーバ5自身を証明するルート証明書を予め保持しており、そのなかにPC2から受信したX.509証明書を署名したものがあるかどうかを検証する。また当該証明書が、その署名を行った認証サーバ5の発行した証明書失効リスト(CRL)に記載がないかどうかを確認し、もし記載があればこの時点で通信を終了する(ステップS3)。
上記認証処理をクリアすれば、この後、PC2は、応答終了の旨をPC1に対して通知する(ステップS4)。
PC2からの応答終了の通知を受けて、PC1は、SSL通信で使用する共通鍵を生成するために、384ビットのランダムな値であるプリマスターキーを生成する。PC1のデータ作成部209は、プリマスターキーを、PC2より受け取ったX.509証明書に含まれるPC2の公開鍵によって暗号化してPC2に送信する(ステップS5)。
また、PC1はこのプリマスターキーを基に、実際にデータの暗号化に使用する共通鍵を生成して、通信用の暗号鍵をその共通鍵に切り替えるように制御を行う。また暗号鍵を切り替える旨の暗号切り替え通知をPC2に送信する(ステップS6)。
PC1からの暗号切り替え終了の通知を受けると(ステップS7)、PC2においても、暗号鍵の切り替えを行うべく、PC1に暗号切り替えの通知を送信する(ステップS8)。PC2のデータ受信部207は、PC1から受信した自らの公開鍵で暗号化されたプリマスターキーを、対応する自らの秘密鍵で復号する。データ解析部208がこれを解析することによってデータの種類がプリマスターキーであることを確認すると、データ操作部204は、受信したプリマスターキーを基に共通鍵を生成し、以後、PC1との間ではその共通鍵による暗号化通信が行われるように制御を行う。つまり、暗号鍵の切替えを行う。
PC2は、上記暗号鍵の切り替えを終了すると、PC1に暗号切り替え終了の通知を送信する(ステップS9)。
以上の処理によって、PC1とPC2との間でSSL通信のコネクションが確立される。これにより、目的の通信を安全に行うことができる。
なお、上述したコネクションの確立は、PC2のX.509証明書をPC1が確認する場合を示したが、同時にPC1のX.509証明書をPC2が確認する場合もある。これをSSLクライアント認証通信と呼ぶ。
このSSLクライアント認証通信をPC同士、および認証サーバとの間で行うためには、各々がX.509証明書を保持している必要があり、また証明書を検証するためにルート証明書も保持している必要がある。
このようにして、ネットワーク1の各ノード2は、互いに認証されたノードとして安全に通信する動作を果たすことができる。
(暗号通信処理)
既述したように、本実施形態におけるノード2は、直接的にまたは間接的に関連付けられた複数のノード2に対して、マルチキャスト通信を維持するため、例えばUDPのようにセッションを張らない簡略的な通信形態を想定している。そういった簡略的な手続きを維持して、暗号通信を確立する、本実施形態の暗号通信処理の流れについて、図7を用いて以下に説明する。
図7は本実施形態における暗号通信処理方法の流れを示すフローチャートである。
図7のステップS101は、接続工程であり、メッセージナンバーを交換する。送信側ノード(PC1)が複数の受信側ノード(その任意のノードをPCNとする)に対してマルチキャスト送信を行おうとする場合を例に、図8を参照しながら接続工程の詳細を述べる。
この接続工程は、すべての受信側ノード(任意のPCN)に対して独立して行ってもよい。引き続く、ステップS102の認証工程、ステップS103の暗号鍵作成工程も同様である。但し、ステップS104の暗号化工程はマルチキャストであり、すべての受信側ノード(すべてのPCN)に対して同時に行われる。従ってそれまでにすべての受信側ノードで上記3工程が終了していなければならない。
<接続工程>
図8には、図7のステップS101の接続工程における詳細な処理の流れを示す。接続工程は、認証部205の接続設定部205aによって実行される。
まず図18のステップS11で、暗号通信確立のための処理に入る。PC1はメッセージナンバー(以降、メッセージNoとも呼称する)、及び暗号通信のための設定情報を含むメッセージをPCNに送信する。
暗号通信のための設定情報とは、通信プロトコルのバージョン、そして暗号アルゴリズムに関する設定を含む。暗号アルゴリズムに関する設定には、後述するプリマスター鍵から暗号鍵を作成するのに必要な情報(暗号鍵作成用乱数など)も含まれている。
メッセージNoは、後述するように破棄されるまで、以後PC1から送信されるすべてのメッセージに付与される番号であり、ここではメッセージNo1であるとする。従って任意のPCNは、このメッセージNo1を受け取って以後は、受信するメッセージに付与されているメッセージNoを確認し、このメッセージNo1であればPC1から送信されてきたメッセージであることが分かる。これにより、メッセージを送受信する都度のハンドシェイクを簡略化することができる。
メッセージNoは、送信ノード毎に一意の番号とするか、または送受信するノードの組み合わせ毎に一意となるようにすることが望ましい。あるいは、この暗号通信によるマルチキャスト送信のハンドシェーク単位で一意であるようにしてもよい。本実施形態においては、送信ノード毎に一意の番号としている。
ステップS12で、暗号通信のための設定情報を受信したPCNは、受信した通信プロトコルのバージョンデータに基づき、PCNで対応できるバージョンを選択、設定する。また、受信した暗号化アルゴリズムの設定に基づき、PCNでサポートしているアルゴリズムを選択し、設定する。
ステップS13で、それぞれのPCNは暗号通信のための設定選択を含むメッセージをPC1に送信する。暗号通信のための設定選択としては、選択した通信プロトコルのバージョンと暗号化アルゴリズムの設定情報を含む。そしてメッセージにはメッセージNoが付与される。
それぞれのPCNからメッセージNoNとともに受信した暗号化アルゴリズムの設定情報には、それぞれ暗号鍵作成用乱数が含まれている。しかしながら、どの任意のPCNからの受信にも、一つ以上の共通の暗号鍵作成用乱数が含まれていることが望ましい。
なお上記のメッセージNoの付与は、PC1の送信メッセージにメッセージNo1が付与されるのと同じ理由によるものであり、ここではメッセージNoNであるとする。以後任意のPCNから送信されるすべてのメッセージには、それぞれメッセージNoNが付与される。PC1のメッセージNo1と同様に、メッセージに付与されたこのメッセージNoNにより、それぞれ任意のPCNから送信されてきたメッセージであることが分かる。
ステップS14で、暗号通信のための設定選択を受信したPC1は、受信した通信プロトコルのバージョン設定に基づき、PC1で用いるバージョンを設定する。また、受信した暗号化アルゴリズムの設定に基づき、PC1でのアルゴリズムを設定する。また、メッセージNoNを、この後の暗号通信に備えて、それぞれのPCNからの送信メッセージを代表する番号として記憶する。
図7の説明に戻る。ステップS101の接続工程に続くステップS102は認証工程であり、各ノードの認証のために必要な情報を送受信し、認証を行う。送信側ノード(PC1)が受信側ノード(任意のPCN)の認証を行おうとする場合を例に、図9を参照しながら認証工程の詳細を述べる。
<認証工程>
図9には、図7のステップS102の認証工程における詳細な処理の流れを示す。認証工程は、認証部205の認証処理部205bによって実行される。
図9のステップS21で、まず任意のPCNは認証のための情報を含むメッセージを、それぞれのPCNのメッセージNoNとともにPC1に送信する。認証のための情報とは、それぞれのPCNのX.509ディジタル証明書であり、それぞれのPCNの公開鍵の情報を含む。
公開鍵は、次の暗号鍵作成工程でプリマスター鍵を安全に送受信するために用いるものである。X.509証明書を送信する理由とそれによる認証方法は、既述したSSL通信の場合と同様である。X.509証明書は、周知の認証サーバ5によって署名されたものでなければ、そこに達するまでの証明書のチェーンも送信する。
次のステップS22では、PC1が受信したそれぞれのX.509証明書に基づいて、それぞれのPCNの認証を行う。
PC1においては認証サーバ5自身を証明するルート証明書を予め保持しており、そのなかにそれぞれのPCNから受信したX.509証明書を署名したものがあるかどうかを検証する。また当該証明書が、その署名を行った認証サーバ5の発行した証明書失効リスト(CRL)に記載がないかどうかを確認し、もし記載があればこの時点で通信を終了する。
以上はPC1がそれぞれのPCNのX.509証明書に基づいて、それぞれのPCNの認証を行ったが、合わせて任意のPCNもPC1のX.509証明書に基づいてPC1の相互認証を行ってもよい。その場合はPC1と任意のPCNの双方がX.509証明書とそれぞれの証明書を検証するためのルート証明書を持っている必要がある。
次のステップS23とステップS24は省略してもよいが、任意のPCNがPC1の認証を行う工程である。
ステップS23では、今度はPC1が認証のための情報を含むメッセージを、PC1のメッセージNo1とともにそれぞれのPCNに送信する。認証のための情報は、同じくPC1のX.509ディジタル証明書であり、PC1の公開鍵の情報を含む。
公開鍵は、次の暗号鍵作成工程でプリマスター鍵を安全に送受信するために用いるものである。X.509証明書は、周知の認証サーバ5によって署名されたものでなければ、そこに達するまでの証明書のチェーンも送信する。
次のステップS24では、任意のPCNが受信したX.509証明書に基づいてPC1の認証を行う。認証方法は、PC1によるPCNの認証(ステップS21、S22)と同様である。
ステップS25では、上記認証処理をクリアした後、それぞれのPCNは応答終了の旨をPC1に対して通知する。それぞれのPCNの応答終了を受けて、PC1は次の暗号鍵作成工程に入る。
図7の説明に戻る。ステップS102の認証工程に続くステップS103は暗号鍵作成工程であり、暗号鍵を作成するための情報を送受信し、暗号通信に用いる暗号鍵を作成、共有化する。送信側ノード(PC1)が受信側ノード(任意のPCN)に対してマルチキャストで暗号通信を行う際の共通鍵としての暗号鍵を作成、共有化する場合を例に、図10を参照しながら暗号鍵作成工程の詳細を述べる。
<暗号鍵作成工程>
図10には、図7のステップS103の暗号鍵作成工程における詳細な処理の流れを示す。暗号鍵作成工程は、認証部205の暗号鍵作成部205cによって実行される。
図10のステップS31で、まずPC1は任意のPCNに対する暗号鍵を作成するためのランダムなプリマスター鍵を生成する。
このプリマスター鍵と、接続工程で送信した暗号通信のための設定情報に含まれていた暗号鍵作成用乱数情報とを用いて、暗号鍵が作成されるのである。
ここでは任意のPCNに対するプリマスター鍵として、複数のプリマスター鍵1−1、1−2が作成されたとする。このプリマスター鍵をPCNに送信して、PC1とPCNで同じ暗号鍵1−1、1−2を作成し、保持しようとするものである。
但し、プリマスター鍵から作成される暗号鍵の少なくとも1つ以上が、それぞれのPCNに対して共通となるように、プリマスター鍵は設定しなければならない。これは、後で暗号化データのマルチキャスト通信を行うためである。ここではプリマスター鍵1−1により作成される暗号鍵1−1が、それぞれのPCNに対して共通の暗号鍵であるとする。
次のステップS32で、PC1は暗号鍵を作成するための情報を含むメッセージをPCNに送信する。暗号鍵を作成するための情報とは、ステップS31で生成した複数のプリマスター鍵1−1、1−2を含む。
ここで複数のプリマスター鍵は、それぞれ送信先であるPCNの公開鍵を用いて暗号化されている。PCNの公開鍵は、認証工程においてPC1が取得したPCNの認証のための情報に含まれている。
ステップS33では、任意のPCNが受信した(PCN自身の公開鍵で暗号化されている)複数のプリマスター鍵1−1、1−2を、PCN自身の保持している秘密鍵を用いて解読する。さらに、復号化された複数のプリマスター鍵1−1、1−2と、接続工程ステップS11でPC1から受領した暗号鍵作成用乱数に基づいて、それぞれ暗号鍵1−1、1−2を作成する。
作成された複数の暗号鍵は、PC1とPCNとで同じ鍵を所持し、暗号化と復号化に共通して用いる。また上記したように、少なくとも1つはそれぞれのPCNに共通の暗号鍵であり、ここでは暗号鍵1−1が該当するものとする。もちろんPC1においても、同じプリマスター鍵と暗号作成用乱数を用いて、同じ暗号鍵1−1、1−2が作成され、それぞれのPCNと共有化される。
これらの暗号鍵1−1、1−2とその暗号鍵Noは、基になったプリマスター鍵に付与されてきたメッセージNo1と関連付けられて、PC1とそれぞれのPCNのデータ保持部203に記憶され、共有化される。
メッセージを送信するPC1は、メッセージNo(すなわち暗号通信の送信元であるPC1)と暗号鍵Noを指定することで、暗号化に用いる暗号鍵を特定し、参照することができる。またメッセージを受信するそれぞれのPCNは、メッセージNo(同じく暗号通信の送信元のPC1)と暗号鍵Noを指定することで、復号化に用いる暗号鍵を特定し、参照することができる。
なお上記は、同じプリマスター鍵と暗号鍵作成用乱数により、任意のPCNとPC1とで、それぞれ同じ暗号鍵を作成する形態を述べたが、暗号鍵を作成するのは一方のノードだけであってもよい。例えば任意のPCNで作成した暗号鍵を、PC1の公開鍵を用いて暗号化し、PC1へメッセージNoとともに返信し、PC1で復号化することにより、PC1と任意のPCNとで同じ暗号鍵を共有するようにしてもよい。
以上はPC1がPCNに暗号鍵を作成するための情報を送信し、それぞれのPCNに暗号鍵を作成させて、PC1からPCNへのマルチキャスト暗号通信に備えたものである。またそれぞれのPCNからPC1への暗号通信にも同じ暗号鍵を用いてもよい。しかし、上記のPC1からPCNへの暗号通信とは異なる暗号鍵を用いて、さらに安全性を向上するようにしてもよい。例えば、PCNの側からもPC1に暗号鍵を作成するための情報を送信し、PCNからPC1への暗号通信による返信に備えた別の暗号鍵を作成させる手順を加えてもよい。
すなわち、以下のステップS34、S35、そしてS36は、上述したステップS31、S32、そしてS33の逆の工程であり、マルチキャスト送信とそれに対する返信とで異なる暗号鍵を使用することで、より強固な安全性を得ることができる。返信用の暗号鍵作成は省略してもよいが、その場合は、任意のPCNからPC1への返信においても、上記暗号鍵1−1、1−2を用いることになる。
ステップS34では、ステップS31と同様に、PCNの方で暗号鍵を作成するためのランダムなプリマスター鍵を生成する。但し、それぞれのPCNで生成されるプリマスター鍵は、少なくとも1つ以上はそれぞれのPCNに共通であることが望ましい。PC1からのマルチキャスト送信に対する返信であるという共通性を維持するためである。共通のプリマスター鍵を生成するには、例えば、受信した日付を利用するなどの方法がある。
ここでは共通のプリマスター鍵として、プリマスター鍵N−1が一つだけ作成されたとする。このプリマスター鍵をPC1に送信して、PCNとPC1で同じ暗号鍵N−1を作成し、共有しようとするものである。
次のステップS35で、それぞれのPCNは暗号鍵を作成するための情報を含むメッセージを、それぞれのPCNのメッセージNoNとともにPC1に送信する。暗号鍵を作成するための情報は、ステップS34で生成したプリマスター鍵N−1を含む。
またステップS32と同様に、送信するプリマスター鍵は、それぞれ送信先であるPC1の公開鍵を用いて暗号化されている。PC1の公開鍵は、認証工程においてPCNが取得したPC1の認証のための情報に含まれている。
ステップS36では、PC1が受信した(PC1自身の公開鍵で暗号化されている)プリマスター鍵N−1を、PC1自身の保持している秘密鍵を用いて解読する。さらに、復号化されたプリマスター鍵N−1と、前述した暗号鍵作成用乱数に基づいて、暗号鍵N−1を作成する。
もちろんPCNにおいても、同じプリマスター鍵と暗号鍵作成用乱数を用いて、同じ暗号鍵2−1が作成されている。あるいは、前述したように一方のノード、すなわちPC1だけで暗号鍵を作成し、PC1からPCNへ暗号化送信して、共有化するようにしてもよい。
作成された暗号鍵N−1の暗号鍵Noは、基になったプリマスター鍵に付与されてきたメッセージNoNと関連付けられて、それぞれのPCNとPCとで、データ保持部203に記憶され、共有化される。
PC1に暗号メッセージを返信するPCNは、メッセージNo(すなわち暗号通信の送信元であるPCN)と暗号鍵Noを指定することで、暗号化に用いる暗号鍵を特定し、参照することができる。また暗号メッセージを受信するPC1は、メッセージNo(同じく暗号通信の送信元のPCN)と暗号鍵Noを指定することで、復号化に用いる暗号鍵を特定し、参照することができる。
上記は、PC1と任意のPCNとの間での送信方向により異なる暗号鍵を共有化する形態を述べたが、そのためにPC1とPCNとで異なるプリマスター鍵を用いた。しかし、同じプリマスター鍵を用いて、暗号鍵作成用乱数のみを異ならせることにより、異なる暗号鍵を作成するようにしてもよい。
その場合、プリマスター鍵は同じものを用いればよいので、上述したステップS34、S35は不要となる。その代わり、ステップS36において、PC1は、プリマスター鍵1−1と、接続工程ステップS13でそれぞれのPCNから受領した暗号鍵作成用乱数(ステップS33でPCNの用いた乱数とは異なる)に基づいて、暗号鍵N−1を作成する。但し、それぞれのPCNから受信する暗号作成用乱数は、少なくとも1つは共通でなければならない。ステップS34で共通のプリマスター鍵を生成するのに用いた日付利用などの方法で、ステップS13でも、それぞれのPCNで共通の暗号鍵作成用乱数を生成し、PC1に送信すればよい。
この暗号鍵N−1は、もちろんPCNにおいても作成される、あるいはPC1からPCNに送信されることで、それぞれのノードで、それぞれ暗号鍵N−1として、データ保持部203に記憶され、共有化される。
ステップS37では、PC1はマルチキャスト通信用の暗号鍵を上記のように作成されたそれぞれのPCNに対して共通の、少なくとも1つ以上の暗号鍵に切り替えるように制御を行う。また通信用の暗号鍵を切り替える旨の暗号切り替え通知を任意のPCNに送信する。またPC1は、上記暗号鍵の切り替えを終了すると、任意のPCNに暗号切り替え終了の通知を送信する。
PC1からの暗号切り替え終了の通知を受けると、それぞれのPCNにおいても、暗号鍵の切り替えを行うべく、PC1に暗号切り替えの通知を送信するとともに、暗号通信に用いる暗号鍵の切り替えを行う。またPCNは、上記暗号鍵の切り替えを終了すると、PC1に暗号切り替え終了の通知を送信する。
それぞれのPCNすべてに対する、以上の暗号切り替え終了により、暗号通信の確立を終えて、実際のマルチキャスト送信データの暗号通信処理に入る。
図7の説明に戻る。ステップS103の暗号鍵作成工程に続くステップS104は暗号化工程であり、暗号鍵に基づき暗号化処理したデータ通信を行う。送信側ノード(PC1)が複数の受信側ノード(PCN)に、暗号化されたデータ送信をマルチキャストで行う場合を例に、図11を参照しながら暗号化工程の詳細を述べる。
<暗号化工程>
図11には、図7のステップS104の暗号化工程における詳細な処理の流れを示す。暗号化工程は、認証部205の暗号化処理部205dによって実行される。
図11のステップS42で、PC1は暗号化してマルチキャスト送信するデータに対して、PC1のメッセージNo1と関連付けた暗号鍵(少なくとも1つ以上あるはずのそれぞれのPCNに対して共通の暗号鍵)を選択する。ここでは、暗号鍵No1、すなわち、データ保持部203から、暗号鍵鍵1−1が参照される。
次にステップS43で、PC1はマルチキャスト送信するデータに対して、選択した暗号鍵を用いて暗号化処理を行う。すなわち、送信データは暗号鍵1−1で暗号化処理される。
次にステップS44で、PC1は暗号化されたデータを、暗号化情報として、送信元PC1のメッセージNo1とともに、複数の受信側ノード(すべてのPCN)にマルチキャスト送信する。この送信は、例えばUDPのような簡略な通信プロトコルで行われる。暗号鍵は事前に共有化しているため、通信の速度を低下させるようなハンドシェイクも必要なく、マルチキャスト通信を行うことができる。また複数の共通の暗号鍵を定めておけば、マルチキャスト通信を行う都度、暗号鍵を変更して、安全性を向上することも可能である。
送信する暗号化情報には、暗号化処理したデータに送信属性情報、すなわちそのデータの暗号化に使用した暗号鍵の番号(例えばここでは暗号鍵No1)が付与されている。上記暗号化情報のサイズは、例えばUDPなど、送信に用いるプロトコルで一度に送信できるサイズ内とすることが望ましい。
ステップS45で、それぞれのPCNは受け取った暗号化情報の送信属性情報(暗号鍵番号)とメッセージNoとからデータ保持部203を検索し、そのデータの暗号化処理に使用された暗号鍵を特定し、参照する。例えば、付与されているメッセージNo1と暗号鍵の番号(暗号鍵No1)とから暗号鍵1−1を検索する。
PCNは、このように検索した暗号鍵を用いて、受信した暗号化情報に含まれている暗号化データを解読する。
図7の説明に戻る。ステップS104の暗号化工程を終えると、次の暗号通信の機会を待つのみである。本実施形態では、複数の受信側ノードに対して共通の暗号鍵を予め設定し、マルチキャスト送信するデータにその共通の暗号鍵を適用することにより、マルチキャスト通信が可能な通信形態を維持しながら、かつ安全性向上を実現している。しかしながら、予め設定した共通の暗号鍵自体も適切なタイミングで変更することにより、さらに安全性を向上することができる。そのため、ステップS104の暗号化工程を終えた時点で、保持されている共通の暗号鍵を変更するかどうかをチェックする処理手順とした。
<暗号通信の再確立処理>
ステップS111で、PC1はメッセージNoを破棄するかどうかを判定する。メッセージNoを破棄するということは、そのメッセージNoに関連付けられた暗号鍵を破棄するということである。暗号通信処理を行うためには、再度接続工程から実施し、新たなメッセージNoを設定する所からやり直す必要がある。
メッセージNoを破棄するかどうかは、所定の条件を満たすかどうかで判断する。破棄するタイミングを決定する条件としては、以下のような条件が考えられる。
1. 上述した暗号通信確立のためのハンドシェイク後、一定時間経過後に破棄する。
2. PC1の電源OFF時に破棄する。
3. ハンドシェイクした相手PCが不通になったとき、破棄する。
4. ハンドシェイクした相手PCの暗号が解読できなかったとき、破棄する。
5. ユーザの指示により破棄する。
上記の条件、あるいはその他の条件から適切な条件を選んで設定することが望ましい。
設定した条件に照らして、破棄するという判定の場合(ステップS111:YES)は、上記処理で確立した暗号通信の設定はこれで一旦終了である。次に暗号通信を行う局面になれば、図7のStartから、もう一度上述した暗号通信の確立をやり直すことになる。すなわち、上記設定条件を満たす場合には、安全のために暗号鍵も再度作り直すことになる。
設定した条件に照らして、破棄しないという判定の場合(ステップS111:NO)は、ステップS112に進み、暗号化する送信データを待つ。すなわち、ステップS112では暗号化する次の送信データがあるかどうかを判定し、ある場合(ステップS112:YES)は、ステップS104に戻り、暗号化工程から繰り返す。
暗号化する次の送信データがない場合(ステップS112:NO)は、ステップS111へ戻り、メッセージNoを破棄するタイミングかどうかをチェックしながら、ステップS111とステップS112を繰り返し、次の暗号化処理する送信データを待つことになる。
このように、ハンドシェイクをやり直す、すなわち暗号鍵自体も適切なタイミングで変更することにより、さらに安全性を向上することができる。
以下に、マルチキャスト送信の事例を説明する。
<暗号化データのマルチキャスト送信例1>
図12は、本暗号通信処理による実際のデータ送信の事例1を示す説明図である。
PC1からPC4までがネットワーク接続されており、送信側ノードとしてのPC1が受信側ノードであるPC2とPC3に対して、UDP通信で暗号化データをマルチキャスト送信するものとする。
上述した説明において、任意のPCNが、それぞれPC2及びPC3であることになる。PC2及びPC3に対して、上記ハンドシェイクが以下のように行われ、暗号通信のコネクションが確立する。
接続工程では、暗号通信のための設定情報を交換する。すなわち、通信プロトコルのバージョン、暗号アルゴリズム設定を選択し、双方のメッセージNoを互いに記憶する。
メッセージNoは各ノードに一意の番号であり、通信時に必ず付与されることで、メッセージ送信元を識別する手段にもなり、また使用された暗号鍵を検索するための情報でもある。ここでは送信側ノードのPC1についてはメッセージNo1であり、受信側の各ノード(PC2及びPC3)については、それぞれメッセージNo2とメッセージNo3である。
認証工程では、それぞれのディジタル証明書により、受信側の各ノード(PC2及びPC3)を認証する。また送信側のPC1と受信側のPC2及びPC3は、お互いの公開鍵を交換する。
暗号鍵作成工程では、送信側のPC1が受信側のPC2及びPC3に、それぞれの送信先の公開鍵を用いて暗号化したプリマスター鍵を送信する。受信したPC2及びPC3は、それぞれの秘密鍵を用いてプリマスター鍵を解読する。
PC2及びPC3は、それぞれ解読したプリマスター鍵に基づいて暗号鍵を作成する。但し、PC2及びPC3で作成される暗号鍵の少なくとも1つは、PC2及びPC3で共通である。そうなるように設定したプリマスター鍵を、PC1はPC2及びPC3にそれぞれ送信している。ここでは、作成される暗号鍵は一つ(暗号鍵1とする)であり、それがPC2及びPC3に共通であるとする。
このようにして暗号通信のためのハンドシェイクは終了し、次の暗号化工程でデータの暗号化とマルチキャスト送信が行われる(図12参照)。
PC1は、送信データを暗号鍵1を用いて暗号化し、暗号化情報(暗号化されたデータ)にメッセージNo1を付与して、PC2及びPC3にマルチキャスト送信する。この場合受信側との共通の暗号鍵は一つだけなので暗号鍵Noは送信していない。
暗号化情報を受信したPC2及びPC3では、それぞれがメッセージNo1に関連付けられた暗号鍵1を利用して、この暗号化されたデータを解読する。
また、例えばPC3からPC1に返信する場合、同じ暗号鍵1を用いて暗号化したデータをその暗号鍵1が対応づけられているメッセージNo1と合わせて送信する。返信を受けたPC1は、暗号鍵1を特定し、返信された暗号化データを解読する。
あるいは、PC3からメッセージNo3に対応した別の暗号鍵3が作成されていた場合、図13に示すように、メッセージNo3に対応づけられた暗号鍵3を用いて暗号化したデータをメッセージNo3と合わせてPCに送信すればよい。
このようにPC3からの返信メッセージに、別の暗号鍵を利用すれば、より安全性を向上した暗号通信が可能になる。
<暗号化データのマルチキャスト送信例2>
図14は、本暗号通信処理による実際のデータ送信の事例2を示す説明図である。
送信の事例1と同様に、PC1からPC4までがネットワーク接続されており、送信側ノードとしてのPC1が受信側ノードであるPC2とPC3に対して、UDP通信で暗号化データをマルチキャスト送信するものとする。
PC2及びPC3に対して、事例1と同様に暗号通信のコネクションを確立する。
接続工程では、同様に暗号通信のための設定情報を交換する。
メッセージNoは、送信側ノードのPC1についてはメッセージNo1であり、受信側の各ノード(PC2及びPC3)については、それぞれメッセージNo2とメッセージNo3である。
認証工程では、それぞれのディジタル証明書により、受信側の各ノード(PC2及びPC3)を認証する。またお互いの公開鍵を交換する。
暗号鍵作成工程では、送信側のPC1が受信側のPC2及びPC3に、それぞれの送信先の公開鍵を用いて暗号化したプリマスター鍵を送信する。受信したPC2及びPC3は、それぞれの秘密鍵を用いてプリマスター鍵を解読する。
PC2及びPC3は、それぞれ解読したプリマスター鍵に基づいて暗号鍵を作成する。但し、この例ではPC2及びPC3で作成される暗号鍵はそれぞれ複数あり、そのうち3つがPC2及びPC3で共通の暗号鍵1−1、1−2、そして1−3であるとする。PC2及びPC3は、この暗号鍵に暗号鍵Noを付けてメッセージNo1とともにメモリに記憶しておく(図15参照)。
このようにして暗号通信のコネクションを確立すると、次の暗号化工程でデータの暗号化とマルチキャスト送信が行われる(図14参照)。
PC1は、送信データに対して利用する暗号鍵を上記共通の暗号鍵1−1、1−2、そして1−3から選択する。例えば選択した暗号鍵No2(暗号鍵2−1)を用いて暗号化し、暗号化情報(暗号化されたデータ)にメッセージNo1と暗号鍵No2を付与して、PC2及びPC3にマルチキャスト送信する。
暗号化情報を受信したPC2及びPC3では、それぞれがメッセージNo1に関連付けられた暗号鍵No2をメモリ参照し、特定した暗号鍵1−2を利用して、この暗号化されたデータを解読することができる。
ここでは暗号鍵No2を用いたが、暗号化に用いる暗号鍵をマルチキャストの度に変更すれば、利用している暗号の推察をより困難にできる。また、そのために新たにハンドシェイクを行う必要がなく、パフォーマンスも低下しない。
上述したような実施形態により、ネットワークにおけるノード間のマルチキャスト通信において、複数の受信側ノードに共通の暗号鍵を最初に設定しておき、マルチキャスト送信するパケット毎に適用することで、マルチキャスト可能な通信形態を維持しながら、セキュリティ(安全性)を向上した効果的な暗号通信を行うことができる。
なお本発明の範囲は、上記実施形態に限定されるものではない。本発明の趣旨を逸脱しない限り、それらの変更された形態もその範囲に含むものである。
ネットワーク1の全体構成例を示す図である。 ネットワーク1を構成するノード(暗号通信処理装置)2のハードウェア構成例を示す図である。 ネットワーク1を構成する各ノード2の接続形態、すなわちノードの論理的なトポロジーの例を示す図である。 図3のように関連付けられたノード2の接続テーブルTL例を示す図である。 ノード(暗号通信処理装置)2の機能構成例を示すブロック図(a)、および認証部205の機能の内部構成を示す図(b)である。 SSL通信のコネクションを確立する際の処理例を説明するためのシーケンス図である。 暗号通信の確立からデータの暗号化処理とマルチキャスト送信に至るまでの代表的な暗号通信処理の流れを示すフローチャートである。 図7の接続工程の処理例の詳細な流れを示すシーケンス図である。 図7の認証工程の処理例の詳細な流れを示すシーケンス図である。 図7の暗号鍵作成工程の処理例の詳細な流れを示すシーケンス図である。 図7の暗号化工程の処理例の詳細な流れを示すシーケンス図である。 PC1からPC2及びPC3へ、共通の暗号鍵で暗号化処理したデータをマルチキャスト送信する事例を示す説明図である。 PC3からPC1へ暗号化処理した返信データを送信する例を示す説明図である。 PC1からPC2及びPC3へ、選択された共通の暗号鍵で暗号化処理したデータをマルチキャスト送信する事例を示す説明図である。 PC1からPC2及びPC3へのマルチキャスト送信の場合に、メッセージNoと共通の暗号鍵がメモリに記憶される様子を示す図である。
符号の説明
1 ネットワーク
2 暗号通信処理装置(ノード)
3 スイッチングハブ
4 ルータ
5 認証サーバ
201 接続テープ保持部
202 接続テーブル管理部
203 データ保持部
204 データ操作部
205 認証部
205a 接続設定部
205b 認証処理部
205c 暗号鍵作成部
205d 暗号化処理部
206 ネットワーク申請部
207 データ受信部
208 データ解析部
209 データ作成部
210 データ送信部
TL 接続テーブル

Claims (12)

  1. ネットワークシステムを構成する複数のノード間で、マルチキャスト方式で暗号通信を行うための暗号通信処理方法であって、
    マルチキャスト方式で暗号通信を行う送信側の第1のノードと受信側の複数の第2のノードの間で、メッセージナンバーを交換する接続工程と、
    前記複数の第2のノードが、それぞれ認証のための情報を含むメッセージを送信し、それらを受信した前記第1のノードが、該情報に基づき、前記複数の第2のノードをそれぞれ認証する認証工程と、
    前記認証工程において、それぞれの認証が成功した場合に、前記第1のノードと前記複数の第2のノードの間で、それぞれ暗号鍵を作成するための情報を含むメッセージを通信し、それぞれ該情報に基づき暗号鍵を作成し、両ノードで共有化する暗号鍵作成工程と、
    前記第1のノードが、前記暗号鍵作成工程において作成、共有化された暗号鍵に基づき暗号化した情報を含むメッセージを、前記複数の第2のノードにマルチキャスト送信する暗号化工程と、を有し、
    前記暗号鍵作成工程では、前記暗号鍵を作成するための情報に基づき、前記複数の第2のノードに共通である暗号鍵が作成され、
    前記暗号化工程では、前記第1のノードが、前記複数の第2のノードのそれぞれに対して、前記複数の第2のノードに共通である暗号鍵を用いて送信する情報を暗号化し、メッセージナンバーを付与してマルチキャスト送信する
    ことを特徴とする暗号通信処理方法。
  2. 前記暗号鍵作成工程では、前記暗号鍵を作成するための情報に基づき、前記複数の第2のノードに共通である暗号鍵とは異なる暗号鍵を作成し、
    前記暗号化工程では、暗号化した情報に、暗号化に用いた暗号鍵を識別するための情報を含む送信属性情報を付与して送信する
    ことを特徴とする請求項1に記載の暗号通信処理方法。
  3. 前記接続工程において交換されるメッセージナンバーは、
    送信ノード毎に、あるいは送受信するノードの組み合わせ毎に一意に設定され、
    前記第1のノードから前記複数の第2のノードのどのノードに送信されるどのメッセージにも、同一のメッセージナンバーが付与される
    ことを特徴とする請求項1または2に記載の暗号通信処理方法。
  4. 前記メッセージナンバーは、所定のタイミングで破棄され、破棄されたメッセージナンバーに対応するノードが関わる暗号通信処理は、前記接続工程からやり直す
    ことを特徴とする請求項3に記載の暗号通信処理方法。
  5. 前記接続工程では、
    前記第1のノードと前記複数の第2のノードの間で、通信プロトコルのバージョン情報と暗号化アルゴリズム設定のための情報を含む暗号通信のための設定情報が交換される
    ことを特徴とする請求項1乃至4の何れか1項に記載の暗号通信処理方法。
  6. 前記認証工程における認証のための情報には、当該情報を送信したノードの公開鍵の情報が含まれ、
    前記暗号鍵作成工程における暗号鍵を作成するための情報は、前記公開鍵を用いて暗号化され、送信される
    ことを特徴とする請求項1乃至5の何れか1項に記載の暗号通信処理方法。
  7. 任意のノードが複数の他のノードに対してマルチキャスト方式で暗号通信を行うネットワークシステムにおける、ノードとしての暗号通信処理装置であって、
    マルチキャストで暗号通信する複数の他のノードとの間で、
    メッセージナンバーを交換する接続手段と、
    前記複数の他のノードから、それぞれ認証のための情報を含むメッセージを受信し、受信した該情報に基づき、前記複数の他のノードをそれぞれ認証する認証手段と、
    前記認証手段により認証した前記複数の他のノードと、暗号鍵を作成するための情報を含むメッセージを通信し、それぞれ該情報に基づき暗号鍵を作成、共有化する暗号鍵作成手段と、
    前記暗号鍵作成手段により作成、共有化された暗号鍵に基づき暗号化した情報を含むメッセージを、前記複数の他のノードにマルチキャスト送信する暗号化手段と、を有し、
    前記暗号鍵作成手段は、前記暗号鍵を作成するための情報に基づき、前記複数の他のノードに共通である暗号鍵を作成、共有化し、
    前記暗号化手段は、前記複数の他のノードのそれぞれに対して、前記複数の他のノードに共通である暗号鍵を用いて送信する情報を暗号化し、メッセージナンバーを付与してマルチキャスト送信する
    ことを特徴とする暗号通信処理装置。
  8. 前記暗号鍵作成手段は、前記暗号鍵を作成するための情報に基づき、前記複数の他のノードに共通である暗号鍵とは異なる暗号鍵を作成し、
    前記暗号化手段は、暗号化した情報に、暗号化に用いた暗号鍵を識別するための情報を含む送信属性情報を付与して送信する
    ことを特徴とする請求項7に記載の暗号通信処理装置。
  9. 前記接続手段により交換されるメッセージナンバーは、
    送信ノード毎に、あるいは送受信するノードの組み合わせ毎に一意に設定されたものであり、
    前記複数の他のノードのどのノードに送信するどのメッセージにも、同一のメッセージナンバーを付与する
    ことを特徴とする請求項7または8に記載の暗号通信処理装置。
  10. 前記メッセージナンバーは、所定のタイミングで破棄し、破棄した後の暗号通信処理は前記接続手段によるメッセージナンバーの交換からやり直す
    ことを特徴とする請求項9に記載の暗号通信処理装置。
  11. 前記接続手段は、
    前記複数の他のノードとの間で、通信プロトコルのバージョン情報と暗号化アルゴリズム設定のための情報を含む暗号通信のための設定情報を交換する
    ことを特徴とする請求項7乃至10の何れか1項に記載の暗号通信処理装置。
  12. 前記認証手段により送信する認証のための情報は、送信するノードの公開鍵の情報を含み、
    前記暗号鍵作成手段により送信する暗号鍵を作成するための情報は、前記公開鍵を用いて暗号化する
    ことを特徴とする請求項7乃至11の何れか1項に記載の暗号通信処理装置。
JP2007116573A 2007-04-26 2007-04-26 暗号通信処理方法及び暗号通信処理装置 Expired - Fee Related JP5012173B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007116573A JP5012173B2 (ja) 2007-04-26 2007-04-26 暗号通信処理方法及び暗号通信処理装置
US12/107,279 US20080267395A1 (en) 2007-04-26 2008-04-22 Apparatus and method for encrypted communication processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007116573A JP5012173B2 (ja) 2007-04-26 2007-04-26 暗号通信処理方法及び暗号通信処理装置

Publications (2)

Publication Number Publication Date
JP2008277956A JP2008277956A (ja) 2008-11-13
JP5012173B2 true JP5012173B2 (ja) 2012-08-29

Family

ID=39886994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007116573A Expired - Fee Related JP5012173B2 (ja) 2007-04-26 2007-04-26 暗号通信処理方法及び暗号通信処理装置

Country Status (2)

Country Link
US (1) US20080267395A1 (ja)
JP (1) JP5012173B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515996B2 (en) * 2008-05-19 2013-08-20 Emulex Design & Manufacturing Corporation Secure configuration of authentication servers
JP5412120B2 (ja) * 2009-01-27 2014-02-12 ソフトバンクモバイル株式会社 電子署名装置
US9525999B2 (en) * 2009-12-21 2016-12-20 Blackberry Limited Method of securely transferring services between mobile devices
US9264227B2 (en) * 2012-01-12 2016-02-16 Blackberry Limited System and method of lawful access to secure communications
US9413530B2 (en) 2012-01-12 2016-08-09 Blackberry Limited System and method of lawful access to secure communications
GB2500720A (en) * 2012-03-30 2013-10-02 Nec Corp Providing security information to establish secure communications over a device-to-device (D2D) communication link
JP5612748B2 (ja) * 2013-10-07 2014-10-22 ソフトバンクモバイル株式会社 通信端末装置
CN105516249A (zh) * 2015-11-25 2016-04-20 深圳市网心科技有限公司 共享流量的收益分配方法及其后台服务器和系统
US20230028642A1 (en) * 2021-07-26 2023-01-26 Verizon Patent And Licensing Inc. Systems and methods for application security utilizing centralized security management

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10037500A1 (de) * 2000-08-01 2002-02-28 Deutsche Telekom Ag Verfahren zur Schlüsselvereinbarung für eine kryptographisch gesicherte Punkt-zu-Multipunktverbindung
JP2002252607A (ja) * 2000-12-22 2002-09-06 Nippon Telegr & Teleph Corp <Ntt> 情報配送方法及びその実施装置並びにその処理プログラムと記録媒体
JP4239802B2 (ja) * 2003-11-27 2009-03-18 株式会社日立製作所 マルチキャスト送信方法
US20060126836A1 (en) * 2004-12-10 2006-06-15 Hector Rivas System and method for dynamic generation of encryption keys
US7716730B1 (en) * 2005-06-24 2010-05-11 Oracle America, Inc. Cryptographic offload using TNICs
US8095787B2 (en) * 2006-08-21 2012-01-10 Citrix Systems, Inc. Systems and methods for optimizing SSL handshake processing
US20080253562A1 (en) * 2007-04-12 2008-10-16 Nokia Corporation Handshake procedure
JP4962117B2 (ja) * 2007-04-25 2012-06-27 コニカミノルタホールディングス株式会社 暗号通信処理方法及び暗号通信処理装置

Also Published As

Publication number Publication date
JP2008277956A (ja) 2008-11-13
US20080267395A1 (en) 2008-10-30

Similar Documents

Publication Publication Date Title
JP4962117B2 (ja) 暗号通信処理方法及び暗号通信処理装置
JP5012173B2 (ja) 暗号通信処理方法及び暗号通信処理装置
Asokan et al. Key agreement in ad hoc networks
US7234063B1 (en) Method and apparatus for generating pairwise cryptographic transforms based on group keys
JP4339184B2 (ja) サーバ装置、通信機器、通信システム、通信方法、プログラム及び記録媒体
JP4961798B2 (ja) 暗号化通信方法及びシステム
US11736304B2 (en) Secure authentication of remote equipment
US20060206616A1 (en) Decentralized secure network login
WO2019178942A1 (zh) 一种进行ssl握手的方法和系统
JP2005303485A (ja) 暗号化通信のための鍵配付方法及びシステム
CN111740964B (zh) 远程同步通信方法、拟态虚拟终端、异构执行体及介质
JP2008508573A (ja) セキュア通信に関連する改良
CN111800467B (zh) 远程同步通信方法、数据交互方法、设备及可读存储介质
JP5023804B2 (ja) 認証方法及び認証システム
US8046820B2 (en) Transporting keys between security protocols
WO2016134631A1 (zh) 一种OpenFlow报文的处理方法及网元
Palomar et al. Secure content access and replication in pure p2p networks
JP4837470B2 (ja) Vpnサーバホスティングシステム、vpn構築方法、およびコンピュータプログラム
JP2005304093A (ja) 暗号化通信のための鍵配付方法及びシステム
Alhumrani et al. Cryptographic protocols for secure cloud computing
WO2004001630A1 (ja) ネットワークシステムおよびプログラム
JP3911697B2 (ja) ネットワーク接続機器、ネットワーク接続方法、ネットワーク接続用プログラムおよびそのプログラムを記憶した記憶媒体
Khan et al. A key management scheme for Content Centric Networking
Zhao et al. Neoman: Negotiation management method for ike protocol based on x. 509
Arnedo-Moreno et al. A security framework for JXTA-overlay

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100324

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120420

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120521

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees