JP6187251B2 - データ通信方法、およびデータ通信装置 - Google Patents

データ通信方法、およびデータ通信装置 Download PDF

Info

Publication number
JP6187251B2
JP6187251B2 JP2013271364A JP2013271364A JP6187251B2 JP 6187251 B2 JP6187251 B2 JP 6187251B2 JP 2013271364 A JP2013271364 A JP 2013271364A JP 2013271364 A JP2013271364 A JP 2013271364A JP 6187251 B2 JP6187251 B2 JP 6187251B2
Authority
JP
Japan
Prior art keywords
random number
data communication
communication device
key
server
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
JP2013271364A
Other languages
English (en)
Other versions
JP2015126485A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013271364A priority Critical patent/JP6187251B2/ja
Priority to US14/582,286 priority patent/US20150188704A1/en
Publication of JP2015126485A publication Critical patent/JP2015126485A/ja
Application granted granted Critical
Publication of JP6187251B2 publication Critical patent/JP6187251B2/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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Description

本発明は、データ通信方法、およびデータ通信装置に関する。
通信機能を持った端末(データ通信装置)同士が互いに通信をおこなうことで、メッシュ状の通信ネットワークを形成したメッシュネットワークが知られている。メッシュネットワークでの通信は、ある端末から隣の端末へ、更に隣の端末へとデータがバケツリレー方式で伝送されて、目的の端末まで送信される。メッシュネットワークでは、個々の端末は、隣の端末と通信できればよいので、端末の破損等が発生しても代替経路を確保しやすく、障害に強いといわれている。そのため、通信インフラの設営が困難な地域でのインフラや、センサネットワーク、BEMS/HEMS(Building/Home Energy Management System)等への利用が期待されている。
一方で、メッシュネットワークでは、各端末が他の端末間の通信を中継するため、中継をおこなう端末での通信内容の盗聴が容易であり、通信の暗号化等による通信路のセキュリティ確保は重要な課題である。また、メッシュネットワークでは、ネットワークへの端末の参加・離脱が容易なため、不正な端末の追加を防ぐために、端末の認証も重要な課題である。さらに、センサネットワーク等では、端末の盗難の可能性もあり、盗まれた端末が解析されて、内部情報が漏洩することも考慮されなければならない。
たとえば、センサネットワーク構築に、端末の認証や通信路の暗号化をマスタ鍵方式の共通鍵暗号を利用する提案がある。この方式の最も基本的な利用では、すべての端末が同じ共通鍵を保持しており、安全性の担保はマスタ鍵を安全に保持することを安全性の担保として、同じ鍵(マスタ鍵)を用いて端末の認証と通信路の暗号化をおこなう。
特表2013−503565号公報 特開平11−109854号公報
ZigBee Alliance,「ZigBeeテクニカル概要」https://docs.zigbee.org/zigbee-docs/dcn/08/docs-08-0127-00-0mwg-zigbee-technical-overview-don-sturek.pdf W. Du, J. Deng, Y. Han and P. Varshney, "A Pairwise Key Pre-distribution Scheme for Wireless Sensor Networks," ACM Conf. CCS, pp.42-51, 2003 Dan Boneh, Matthew K. Franklin, Identity-Based Encryption from the Weil Pairing Advances in Cryptology - Proceedings of CRYPTO 2001 (2001) M. Huang "Identity-Based Encryption (IBE) Cipher Suites for Transport Layer Security", RFC Draft 2009年7月3日
しかしながら、マスタ鍵方式は、端末の盗難等により端末内のマスタ鍵が漏洩した場合、ネットワーク全体のセキュリティが低下するクラスブレーク(Class break)を生じる。
これに対して、任意の2つの端末間で異なる鍵をあらかじめ共通鍵として共有する方式(共通鍵共有方式)がある。共通鍵共有方式は、クラスブレークを防止できるが、端末数の増大につれて管理しなければならない鍵の数が膨大になるという問題がある。また、ある端末の盗難により端末内の情報が漏えいした場合、その端末に関する通信は、内部情報が漏洩した時点以降だけでなく、それ以前のすべての通信内容についても、情報が漏洩してしまうおそれがあり、これをPFS(Perfect Forward Secrecy)がないという。
そこで、クラスブレークの危険性があり、PFSを実現できない共通鍵を安全性の担保とする方式に代えて、公開鍵暗号ベースの技術によりセキュリティを確保する。公開鍵暗号ベースの認証・鍵共有プロトコルとして、たとえば、IPsec/IKE(Internet Protocol security / Internet Key Exchange)やSSL/TLS(Secure Sockets Layer / Transport Layer Security)がある。しかしながら、IPsec/IKEやSSL/TLSは、十分なリソースや通信環境を持つ端末やサーバ向けのものであり、センサネットワークを代表とするメッシュネットワークを構成する端末には不向きである。たとえば、メッシュネットワークは、十分なリソースを有しない端末でマルチホップ通信をおこなうため、公開鍵暗号処理が行われる鍵共有通信(ハンドシェーク:hand shake)の回数や、その通信量が小さいことが望ましい。また、メッシュネットワークは、公開鍵暗号処理の計算回数も少ない方が望ましい。
しかしながら、従来から提案されている公開鍵暗号ベースの技術は、ハンドシェークに4回以上の通信(4way hand shake)を必要とし、また、3回の通信(3way hand shake)であっても、公開鍵暗号処理の負荷や通信データ量が多い。
1つの側面では、本発明は、鍵共有通信におけるネットワーク負荷および/または処理負荷を低減できるデータ通信方法、およびデータ通信装置を提供することを目的とする。
上記目的を達成するために、以下に示すような、データ通信方法が提供される。データ通信方法は、第1の乱数が第1の公開鍵で暗号化された第1の暗号を他のデータ通信装置から受信し、第1の暗号を第1の秘密鍵で復号し、第2の乱数を生成して、第2の乱数を第2の公開鍵で暗号化した第2の暗号を他のデータ通信装置に送信し、第1の乱数と第2の秘密鍵で復号された第2の乱数とから生成された第1のハッシュ値を他のデータ通信装置から受信し、第1の秘密鍵で復号した第1の乱数と生成した第2の乱数とから生成した第2のハッシュ値と、第1のハッシュ値とを比較し、第1のハッシュ値と第2のハッシュ値とが同じである場合に、第1の乱数と第2の乱数とにもとづいてセッション鍵を生成する。
また、以下に示すような、データ通信装置が提供される。データ通信装置は、第1の乱数受信部と、第2の乱数送信部と、ハッシュ値受信部と、セッション鍵生成部とを備える。第1の乱数受信部は、第1の乱数が第1の公開鍵で暗号化された第1の暗号を他のデータ通信装置から受信する。第2の乱数送信部は、第1の暗号を第1の秘密鍵で復号し、第2の乱数を生成して、第2の乱数を第2の公開鍵で暗号化した第2の暗号を他のデータ通信装置に送信する。ハッシュ値受信部は、第1の乱数と第2の秘密鍵で復号された第2の乱数とから生成された第1のハッシュ値を他のデータ通信装置から受信する。セッション鍵生成部は、第1の秘密鍵で復号した第1の乱数と生成した第2の乱数とから生成した第2のハッシュ値と、第1のハッシュ値とを比較し、第1のハッシュ値と第2のハッシュ値とが同じである場合に、第1の乱数と第2の乱数とにもとづいてセッション鍵を生成する。
1態様によれば、データ通信方法、およびデータ通信装置において、鍵共有通信におけるネットワーク負荷および/または処理負荷を低減できる。
第1の実施形態のデータ通信装置におけるデータ通信方法の一例を示す図である。 第1の実施形態の鍵共有通信方式と従来方式との性能比較表の一例を示す図である。 第2の実施形態のセンサネットワークの構成の一例を示す図である。 第2の実施形態の端末装置の機能構成の一例を示す図である。 第2の実施形態の端末装置のハードウェア構成の一例を示す図である。 第2の実施形態のサーバ側端末装置とクライアント側端末装置との鍵共有通信シーケンスの一例を示す図である。 第2の実施形態のハンドシェークフェーズにおけるサーバ側端末装置の処理の一例を示す図である。 第2の実施形態のハンドシェークフェーズにおけるクライアント側端末装置の処理の一例を示す図である。 第2の実施形態のデータ転送フェーズにおけるサーバ側端末装置の処理とクライアント側端末装置の処理の一例を示す図である。 第3の実施形態のデータ通信装置におけるデータ通信方法の一例を示す図である。 第4の実施形態のサーバ側端末装置とクライアント側端末装置との鍵共有通信シーケンスの一例を示す図である。 第4の実施形態のハンドシェークフェーズにおけるサーバ側端末装置の処理の一例を示す図である。 第4の実施形態のハンドシェークフェーズにおけるクライアント側端末装置の処理の一例を示す図である。 第4の実施形態のデータ転送フェーズにおけるサーバ側端末装置の処理とクライアント側端末装置の処理の一例を示す図である。 第5の実施形態のサーバ側端末装置とクライアント側端末装置との鍵共有通信の一例を示す図である。
以下、図面を参照して実施の形態を詳細に説明する。
[第1の実施形態]
まず、第1の実施形態のデータ通信装置におけるデータ通信方法について図1を用いて説明する。図1は、第1の実施形態のデータ通信装置におけるデータ通信方法の一例を示す図である。
データ通信装置1とデータ通信装置2は、有線または無線により通信可能に接続し、相互にデータ通信をおこなう。データ通信装置1とデータ通信装置2は、直接に接続してもよいし、1または2以上の中継装置を介してマルチホップに接続してもよい。データ通信装置2は、データ通信装置1にとって他のデータ通信装置であり、またデータ通信装置1は、データ通信装置2にとって他のデータ通信装置である。
データ通信装置1は、第1の乱数受信部3と、第2の乱数送信部4と、ハッシュ値受信部5と、セッション鍵生成部6とを備える。第1の乱数受信部3は、データ通信装置2から第1の暗号16を受信する。なお、第1の暗号16は、通信路中において不正に書き換えられていなければ、データ通信装置2が送信する第1の暗号9と同じである。データ通信装置2は、第1の乱数8を生成し、第1の乱数8を第1の公開鍵7を用いて第1の暗号9に暗号化して、データ通信装置1に第1の暗号9を送信する(図示しない第1の乱数送信部に相当)。
第2の乱数送信部4は、第1の暗号16から第1の秘密鍵15を用いて第1の乱数18を復号する。第2の乱数送信部4は、第2の乱数19を生成する。第2の乱数送信部4は、第2の乱数19を第2の公開鍵17を用いて第2の暗号20に暗号化する。第2の乱数送信部4は、第2の暗号20をデータ通信装置2に送信する。なお、第2の暗号11は、通信路中において不正に書き換えられていなければ、データ通信装置1が送信する第2の暗号20と同じである。データ通信装置2は、第2の暗号11を受信する(図示しない第2の乱数受信部に相当)。データ通信装置2は、第2の公開鍵17と対になる第2の秘密鍵10を用いて第2の乱数12を復号する。データ通信装置2は、第1の乱数8と第2の乱数12とから第1のハッシュ値13を生成する。データ通信装置2は、データ通信装置1に第1のハッシュ値13を送信する(図示しないハッシュ値送信部に相当)。データ通信装置2は、第1の乱数8と第2の乱数12とからセッション鍵14を生成する。
ハッシュ値受信部5は、第1のハッシュ値22をデータ通信装置2から受信する。なお、第1のハッシュ値22は、通信路中において不正に書き換えられていなければ、データ通信装置2が送信する第1のハッシュ値13と同じである。
セッション鍵生成部6は、第1の公開鍵7と対となる第1の秘密鍵15で復号した第1の乱数18と第2の乱数19とから第2のハッシュ値21を生成する。セッション鍵生成部6は、第1のハッシュ値22と第2のハッシュ値21とを比較し、第1のハッシュ値22と第2のハッシュ値21とが同じである場合に、第1の乱数18と第2の乱数19とにもとづいてセッション鍵23を生成する。データ通信装置1が生成するセッション鍵23は、第1の乱数18と第1の乱数8とが一致し、第2の乱数19と第2の乱数12とが一致する場合に、データ通信装置2が生成するセッション鍵14と一致する。なお、データ通信装置1とデータ通信装置2は、共通のセッション鍵生成方法によりセッション鍵を生成する。
このようにして、データ通信装置1は、データ通信装置2が保持するセッション鍵14と共通のセッション鍵23を保持することができる。このような鍵共有通信において、データ通信装置1とデータ通信装置2は、3回の通信(3ウェイハンドシェーク)を実現している。また、データ通信装置1は、1回目の通信において第1の暗号16を受信し、2回目の通信において第2の暗号20を送信することから、3回の通信における公開鍵暗号のデータ数は、「2」である。また、公開鍵暗号の処理回数は、データ通信装置1とデータ通信装置2のそれぞれにおいて「2」であり、データ通信装置1とデータ通信装置2とで「4」である。また、このような鍵共有通信において、データ通信装置1は、クラスブレークの危険性を有さず、PFSを実現する。すなわち、データ通信装置1は、データ通信装置2との通信方法において、鍵共有通信におけるネットワーク負荷および処理負荷を低減できる。
ここで、第1の実施形態の鍵共有通信方式と従来方式との性能比較について図2を用いて説明する。図2は、第1の実施形態の鍵共有通信方式と従来方式との性能比較表の一例を示す図である。
性能比較表200は、第1の実施形態の鍵共有通信方式の性能と従来方式の性能とを比較可能に示す。性能比較表200は、縦方向に第1の実施形態の鍵共有通信方式と従来方式と並べ、横方向に各方式の性能値を並べる。「新規」は、第1の実施形態の鍵共有通信方式を示す。従来方式は、「IKE(RSA)」、「TLS(RSA)client認証付」、「TLS(DHE−RSA)」、「TLS(RSA)」、および「TLS(IBE−HU)」がある。
性能評価項目は、ハンドシェーク、PFS、公開鍵暗号処理回数、公開鍵暗号データ数、クラスブレークである。ハンドシェークは鍵共有通信の回数を示し、PFSはPFSの有無を示し、公開鍵暗号処理回数は公開鍵暗号処理の回数を示し、公開鍵暗号データ数は送受信される公開鍵暗号のデータ数を示し、クラスブレークはクラスブレークの危険の有無を示す。
これによれば、「新規」は、ハンドシェーク「3」であり、他の従来方式と比較して最小である。このハンドシェーク「3」は、理論的に最小とされる値である。また、「新規」は、公開鍵暗号処理回数「4」であり、他の従来方式と比較して十分に小さい。また、「新規」は、公開鍵暗号データ数「2」であり、他の従来方式と比較して十分に小さい。このように、「新規」は、鍵共有通信におけるネットワーク負荷および処理負荷が他の従来方式と比較して小さい。なお、「TLS(RSA)」は、ハンドシェーク「3」、公開鍵暗号処理回数「3」、公開鍵暗号データ数「2」であり、数値データにおいて「新規」より優れ、クラスブレークの危険がないもののPFSを実現できていない。これに対して、「新規」は、クラスブレークの危険がなく、さらにPFSを実現するものであり、このような鍵共有通信方式は、従来方式の中に見当たらない。
[第2の実施形態]
次に、第1の実施形態の鍵共有通信方式をセンサネットワークに適用した第2の実施形態について説明する。まず、第2の実施形態のセンサネットワークについて図3を用いて説明する。図3は、第2の実施形態のセンサネットワークの構成の一例を示す図である。
センサネットワーク30は、複数の端末装置40を含んで構成される。端末装置40は、1以上の他の端末装置40と通信可能に接続する。センサネットワーク30は、たとえば、任意の2つの端末装置40をマルチホップ通信で接続するメッシュネットワークである。
センサネットワーク30は、1以上の端末装置40がゲートウェイ31と接続し、ゲートウェイ31を介してネットワーク32(たとえば、インターネット)と接続する。
次に、端末装置40の機能構成について図4を用いて説明する。図4は、第2の実施形態の端末装置の機能構成の一例を示す図である。
端末装置40は、制御部41と、通信部42と、セッション確立部45と、記憶部46と、データ通信部47と、暗号処理部48とを備える。制御部41は、端末装置40を統括的に制御する。通信部42は、他の端末装置40との通信をおこなうインタフェースである。通信部42は、送信部43と、受信部44を備え、送信部43を介して他の端末装置40にデータの送信をおこない、受信部44を介して他の端末装置40からデータの受信をおこなう。
セッション確立部45は、他の端末装置40とのセッション確立をおこなう。セッション確立部45は、ハンドシェークフェーズにおける通信を制御する。記憶部46は、セッション確立に用いる情報や、データ通信に用いる情報など、所要の情報を記憶する。データ通信部47は、他の端末装置40とのセッション確立後のデータ転送フェーズにおいてデータ通信を制御する。
暗号処理部48は、暗号に関する処理をおこなう。暗号処理部48は、IDベース暗号処理部49と、乱数生成部50と、共通鍵暗号処理部51を備える。IDベース暗号処理部49は、IDベース暗号処理を実行する。IDベース暗号処理部49は、ハンドシェークフェーズにおいて、他の端末装置40のID(IDentification)を公開鍵として暗号化対象データを暗号化し、自らのIDと対となる秘密鍵で復号対象データを復号する。IDは、端末装置40を一意に特定可能な識別情報である。IDは、たとえば、端末装置40に固有の名前、番号、アドレス、あるいはこれらの組み合わせなどである。乱数生成部50は、所定の乱数生成アルゴリズムを用いて乱数を生成する。共通鍵暗号処理部51は、データ転送フェーズにおいて、他の端末装置40との間で共通する共通鍵(セッション鍵)を用いて、暗号化対象データの暗号化と復号対象データの復号とをおこなう。
次に、端末装置40のハードウェア構成について図5を用いて説明する。図5は、第2の実施形態の端末装置のハードウェア構成の一例を示す図である。
端末装置40は、プロセッサ52によって装置全体が制御されている。プロセッサ52には、バス56を介してROM(Read Only Memory)53と、RAM(Random Access Memory)54と、インタフェース55と、複数の周辺機器が接続されている。プロセッサ52は、マルチプロセッサであってもよい。プロセッサ52は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ52は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
ROM53は、端末装置40の電源遮断時においても記憶内容を保持する。ROM53は、たとえば、EEPROM(Electrically Erasable Programmable Read-Only Memory)やフラッシュメモリなどの半導体記憶装置や、HDD(Hard Disk Drive)などである。また、ROM53は、端末装置40の補助記憶装置として使用される。ROM53には、OS(Operating System)のプログラムやファームウェア、アプリケーションプログラム、および各種データが格納される。
RAM54は、端末装置40の主記憶装置として使用される。RAM54には、プロセッサ52に実行させるOSのプログラムやファームウェア、アプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM54には、プロセッサ52による処理に必要な各種データが格納される。また、RAM54は、各種データの格納に用いるメモリと別体にキャッシュメモリを含むものであってもよい。バス56に接続されている周辺機器としては、インタフェース55、通信部42、暗号処理部48がある。インタフェース55は、入出力装置と接続して入出力をおこなう。
以上のようなハードウェア構成によって、第2の実施形態の端末装置40の処理機能を実現することができる。なお、第1の実施形態に示したデータ通信装置1,2も、図5に示した端末装置40と同様のハードウェアにより実現することができる。また、第3の実施形態に示すデータ通信装置101,102、第4の実施形態として示す端末装置、第5の実施形態として示す端末装置も、図5に示した端末装置40と同様のハードウェアにより実現することができる。
端末装置40は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、実施の形態の処理機能を実現する。端末装置40に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、端末装置40に実行させるプログラムをROM53に格納しておくことができる。プロセッサ52は、ROM53内のプログラムの少なくとも一部をRAM54にロードし、プログラムを実行する。また端末装置40に実行させるプログラムを、図示しない光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。メモリ装置は、インタフェース55あるいは図示しない機器接続インタフェースとの通信機能を搭載した記録媒体である。たとえば、メモリ装置は、メモリリーダライタによりメモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなうことができる。メモリカードは、カード型の記録媒体である。
可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ52からの制御により、ROM53にインストールされた後、実行可能となる。またプロセッサ52が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
なお、第1の実施形態または第3の実施形態に示したデータ通信装置1,2,101,102、第4の実施形態または第5の実施形態として示す端末装置も、図5に示した端末装置40と同様にプログラムを実行ことにより、実施の形態の処理機能を実現する。
次に、第2の実施形態のサーバ側端末装置とクライアント側端末装置との鍵共有通信シーケンスについて、図6を用いて説明する。図6は、第2の実施形態のサーバ側端末装置とクライアント側端末装置との鍵共有通信シーケンスの一例を示す図である。
2つの端末装置40の一方がクライアント(クライアント側端末装置)57であり、他方がサーバ(サーバ側端末装置)58である。
第2の実施形態のサーバ側端末装置とクライアント側端末装置との鍵共有通信シーケンスは、クライアント57がサーバ58に対して証明書を送付することを要しないので、サーバ58からの通信となる。
[ステップS11]サーバ58は、クライアント57のIDベース公開鍵で乱数Rsを暗号化した暗号E(Rs)を、クライアント57に送信する。乱数Rsは、サーバ58が生成する乱数である。
[ステップS12]クライアント57は、サーバ58のIDベース公開鍵で乱数Rcを暗号化した暗号E(Rc)を、サーバ58に送信する。乱数Rcは、クライアント57が生成する乱数である。
[ステップS13]サーバ58は、サーバ58の秘密鍵で暗号E(Rc)を復号し、復号した乱数Rcと、乱数Rsとから生成したハッシュ値(Hash)を、クライアント57に送信する。
クライアント57は、クライアント57の秘密鍵で暗号E(Rs)を復号し、復号した乱数Rsと、乱数Rcとから生成したハッシュ値と、サーバ58から受信したハッシュ値とを照合し、2つのハッシュ値が一致した場合にセッションを確立する。
以上、ステップS11からステップS13が3回の鍵共有通信からなるハンドシェークフェーズである。以降、クライアント57とサーバ58は、それぞれが乱数Rcと乱数Rsとから生成するセッション鍵を用いてデータ通信(Data通信)をおこなう(ステップS14)。ステップS14以降は、保護されたデータ通信が可能なデータ転送フェーズである。
次に、クライアント57とサーバ58がおこなう各処理について図7から図9を用いて説明する。まず、ハンドシェークフェーズにおけるサーバ側端末装置の処理について図7を用いて説明する。図7は、第2の実施形態のハンドシェークフェーズにおけるサーバ側端末装置の処理の一例を示す図である。
[ステップS21]サーバ58は、所定の乱数生成アルゴリズムにしたがい乱数Rs60を生成する。
[ステップS22]サーバ58は、クライアント57の公開鍵としてIDベースの公開鍵であるClientID61を取得する。ClientID61は、たとえば、クライアント57の通信アドレスである。ClientID61は、サーバ58にとって既知の情報であり、たとえば、サーバ58の記憶部46が保持する情報である。そのため、サーバ58は、クライアント57からClientID61を取得することを要さない。
[ステップS23]サーバ58は、ClientID61を用いて乱数Rs60を暗号化して暗号E(Rs)62を得る。
[ステップS24]サーバ58は、暗号E(Rs)62をクライアント57に送信する。
[ステップS25]サーバ58は、暗号E(Rc)63をクライアント57から受信する。暗号E(Rc)63は、クライアント57がサーバ58の公開鍵で乱数Rcを暗号化した情報である。
[ステップS26]サーバ58は、サーバ58の公開鍵と対となる秘密鍵であるサーバ秘密鍵64を取得する。サーバ秘密鍵64は、サーバ58にとって既知の情報であり、たとえば、サーバ58の記憶部46が保持する情報である。
[ステップS27]サーバ58は、サーバ秘密鍵64で暗号E(Rc)63を復号し、乱数Rc65を得る。
[ステップS28]サーバ58は、乱数Rs60と乱数Rc65を結合した結合値(Rs,Rc)66を生成する。結合値(Rs,Rc)66は、乱数Rs60と乱数Rc65を並べた情報である。
[ステップS29]サーバ58は、ハッシュ関数を用いたハッシュ値計算により、結合値(Rs,Rc)66からハッシュ値(メッセージダイジェスト)67を得る。ハッシュ関数は、たとえば、SHA−1やMD5などがある。
[ステップS30]サーバ58は、ハッシュ値67をクライアント57に送信する。
次に、ハンドシェークフェーズにおけるクライアント側端末装置の処理について図8を用いて説明する。図8は、第2の実施形態のハンドシェークフェーズにおけるクライアント側端末装置の処理の一例を示す図である。
[ステップS31]クライアント57は、暗号E(Rs)68をサーバ58から受信する。なお、暗号E(Rs)68は、通信路中において不正に書き換えられていなければ、サーバ58が送信する暗号E(Rs)62と同じである。
[ステップS32]クライアント57は、クライアント57の公開鍵(ClientID61)と対となる秘密鍵であるクライアント秘密鍵69を取得する。クライアント秘密鍵69は、クライアント57にとって既知の情報であり、たとえば、クライアント57の記憶部46が保持する情報である。
[ステップS33]クライアント57は、クライアント秘密鍵69で暗号E(Rs)68を復号し、乱数Rs70を得る。
[ステップS34]クライアント57は、所定の乱数生成アルゴリズムにしたがい乱数Rc71を生成する。
[ステップS35]クライアント57は、サーバ58の公開鍵としてIDベースの公開鍵であるServerID72を取得する。ServerID72は、たとえば、サーバ58の通信アドレスである。ServerID72は、クライアント57にとって既知の情報であり、たとえば、クライアント57の記憶部46が保持する情報である。そのため、クライアント57は、サーバ58からServerID72を取得することを要さない。
[ステップS36]クライアント57は、ServerID72を用いて乱数Rc71を暗号化して暗号E(Rc)73を得る。
[ステップS37]クライアント57は、暗号E(Rc)73をサーバ58に送信する。
[ステップS38]クライアント57は、ハッシュ値74をサーバ58から受信する。なお、ハッシュ値74は、通信路中において不正に書き換えられていなければ、サーバ58が送信するハッシュ値67と同じである。
[ステップS39]クライアント57は、サーバ58が乱数Rs60と乱数Rc65から結合値(Rs,Rc)66を生成したのと同様にして、乱数Rs70と乱数Rc71を結合した結合値(Rs,Rc)75を生成する。
[ステップS40]クライアント57は、サーバ58と同様のハッシュ関数を用いたハッシュ値計算により、結合値(Rs,Rc)75からハッシュ値76を得る。
[ステップS41]クライアント57は、ハッシュ値74とハッシュ値76を比較、照合して照合結果77を得る。照合結果77は、ハッシュ値74とハッシュ値76が一致した場合に照合成功であり、ハッシュ値74とハッシュ値76が一致しない場合に照合失敗である。クライアント57は、照合成功によりサーバ58とのセッションを確立する。
次に、データ転送フェーズにおけるサーバ側端末装置の処理とクライアント側端末装置の処理について図9を用いて説明する。図9は、第2の実施形態のデータ転送フェーズにおけるサーバ側端末装置の処理とクライアント側端末装置の処理の一例を示す図である。
[ステップS45]サーバ58は、ステップS30の実行後に、乱数Rs60と乱数Rc65とにもとづいて所定の鍵生成アルゴリズムにしたがいセッション鍵78を生成する。
[ステップS46]クライアント57は、ステップS41におけるハッシュ値の照合成功後に、乱数Rs70と乱数Rc71とにもとづいてサーバ58と同様の鍵生成アルゴリズムにしたがいセッション鍵79を生成する。
クライアント57とサーバ58は、セッション鍵78(セッション鍵79)を用いて保護されたデータ通信をおこなう(ステップS47、ステップS48)。サーバ58は、クライアント57と正常なデータ通信をおこなえることを確認することにより認証とする。
このように、クライアント57とサーバ58がおこなう鍵共有通信は、クライアント57からサーバ58への証明書の送付を不要にして、3ウェイハンドシェークを実現している。また、クライアント57とサーバ58がおこなう鍵共有通信は、公開鍵暗号処理回数が「4」であり、他の従来方式と比較して十分に小さく、公開鍵暗号データ数が「2」であり、他の従来方式と比較して十分に小さい。また、クライアント57とサーバ58がおこなう鍵共有通信は、クラスブレークの危険がなく、さらにPFSを実現するものでありながら、鍵共有通信におけるネットワーク負荷および処理負荷を低減できる。
[第3の実施形態]
次に、第3の実施形態のデータ通信装置におけるデータ通信方法について図10を用いて説明する。図10は、第3の実施形態のデータ通信装置におけるデータ通信方法の一例を示す図である。
第3の実施形態は、第1の実施形態の鍵共有通信方式をもとにしたTLSタイプのハンドシェークプロトコルである。
データ通信装置101とデータ通信装置102は、有線または無線により通信可能に接続し、相互にデータ通信をおこなう。データ通信装置101とデータ通信装置102は、直接に接続してもよいし、1または2以上の中継装置を介してマルチホップに接続してもよい。データ通信装置102は、データ通信装置101にとって他のデータ通信装置であり、またデータ通信装置101は、データ通信装置102にとって他のデータ通信装置である。
データ通信装置101は、第1の乱数受信部103と、第2の乱数送信部104と、完了メッセージ受信部105と、完了メッセージ確認部106とを備える。第1の乱数受信部103は、データ通信装置102から第1の暗号118を受信する。なお、第1の暗号118は、通信路中において不正に書き換えられていなければ、データ通信装置102が送信する第1の暗号109と同じである。データ通信装置102は、第1の乱数108を生成し、第1の乱数108を第1の公開鍵107を用いて第1の暗号109に暗号化して、データ通信装置101に第1の暗号109を送信する(図示しない第1の乱数送信部に相当)。
第2の乱数送信部104は、第1の暗号118から第1の秘密鍵117を用いて第1の乱数119を復号する。第2の乱数送信部104は、第2の乱数121を生成する。第2の乱数送信部104は、第2の公開鍵120を用いて第1の乱数119と第2の乱数121を第2の暗号122に暗号化する。第2の乱数送信部104は、第2の暗号122をデータ通信装置102に送信する。なお、第2の暗号111は、通信路中において不正に書き換えられていなければ、データ通信装置101が送信する第2の暗号122と同じである。データ通信装置102は、第2の暗号111を受信する(図示しない第2の乱数受信部に相当)。データ通信装置102は、第2の公開鍵120と対になる第2の秘密鍵110を用いて第1の乱数112と第2の乱数113を復号する。データ通信装置102は、第1の乱数108と第1の乱数112を比較する。データ通信装置102は、第1の乱数108と第1の乱数112が一致する場合に第1の乱数108と第2の乱数113とからセッション鍵114を生成する。データ通信装置102は、セッション鍵114を用いて完了メッセージ115を暗号化し、第3の暗号116を得る。なお、完了メッセージ115は、データ通信装置102がデータ通信装置101にセッション確立の完了を通知するメッセージである。データ通信装置102は、データ通信装置101に第3の暗号116を送信する(図示しない完了メッセージ送信部に相当)。
完了メッセージ受信部105は、第3の暗号124をデータ通信装置102から受信する。なお、第3の暗号124は、通信路中において不正に書き換えられていなければ、データ通信装置102が送信する第3の暗号116と同じである。
完了メッセージ確認部106は、第1の乱数119と第2の乱数121とからセッション鍵123を生成する。完了メッセージ確認部106は、セッション鍵123を用いて第3の暗号124を復号し、完了メッセージ125を得る。完了メッセージ確認部106は、完了メッセージ125を正しく復号することにより、データ通信装置102とセッション鍵を共有するセッション確立を確認する。
このようにして、データ通信装置101は、データ通信装置102が保持するセッション鍵114と共通のセッション鍵123を保持することができる。このような鍵共有通信において、データ通信装置101とデータ通信装置102は、3回の通信(3ウェイハンドシェーク)を実現している。また、データ通信装置101は、1回目の通信において第1の暗号118を受信し、2回目の通信において第2の暗号122を送信することから、3回の通信における公開鍵暗号のデータ数は、「2」である。また、公開鍵暗号の処理回数は、データ通信装置101とデータ通信装置102のそれぞれにおいて「2」であり、データ通信装置101とデータ通信装置102とで「4」である。また、このような鍵共有通信において、データ通信装置101は、クラスブレークの危険性を有さず、PFSを実現する。すなわち、データ通信装置101は、データ通信装置102との通信方法において、鍵共有通信におけるネットワーク負荷および処理負荷を低減できる。
したがって、第3の実施形態の鍵共有通信方式は、第1の実施形態および第2の実施形態の鍵共有通信方式と同等の性能を有する。
また、第3の実施形態の鍵共有通信方式は、クライアント57とサーバ58とで同じ種類の処理をおこなうため、端末装置40がクライアント57とサーバ58の両機能の実現が要求されるメッシュネットワークに適している。
[第4の実施形態]
次に、第3の実施形態の鍵共有通信方式をセンサネットワークに適用した第4の実施形態について説明する。センサネットワーク30の構成や端末装置40の機能構成、ハードウェア構成は、第2の実施形態と同様であるため説明を省略する。また、第2の実施形態と同様の構成については、符号を同じにして説明を省略する。
まず、第4の実施形態のサーバ側端末装置とクライアント側端末装置との鍵共有通信シーケンスについて、図11を用いて説明する。図11は、第4の実施形態のサーバ側端末装置とクライアント側端末装置との鍵共有通信シーケンスの一例を示す図である。
第4の実施形態のサーバ側端末装置とクライアント側端末装置との鍵共有通信シーケンスは、クライアント57がサーバ58に対して証明書を送付することを要しないので、第2の実施形態と同様にサーバ58からの通信となる。
[ステップS51]サーバ58は、クライアント57のIDベース公開鍵で乱数Rsを暗号化した暗号E(Rs)を、クライアント57に送信する。乱数Rsは、サーバ58が生成する乱数である。
[ステップS52]クライアント57は、サーバ58のIDベース公開鍵で乱数Rcと乱数Rsの結合値(Rs||Rc)を暗号化した暗号E(Rs||Rc)を、サーバ58に送信する。乱数Rcは、クライアント57が生成する乱数である。
[ステップS53]サーバ58は、サーバ58の秘密鍵で暗号E(Rs||Rc)を復号し、復号した結合値(Rs||Rc)から取り出した乱数Rcと、乱数Rsとからセッション鍵を生成する。サーバ58は、セッション鍵を用いて完了メッセージを暗号化した暗号E(完了msg)を、クライアント57に送信する。
クライアント57は、乱数Rcと乱数Rsとからセッション鍵を生成し、セッション鍵で暗号E(完了msg)を復号し、完了メッセージが正しく復号されることにより、サーバ58とセッション鍵を共有するセッション確立を確認する。
以上、ステップS51からステップS53が3回の鍵共有通信からなるハンドシェークフェーズである。以降、クライアント57とサーバ58は、それぞれが乱数Rcと乱数Rsとから生成するセッション鍵を用いてデータ通信(Data通信)をおこなう(ステップS54)。ステップS54以降は、保護されたデータ通信が可能なデータ転送フェーズである。
次に、クライアント57とサーバ58がおこなう各処理について図12から図14を用いて説明する。まず、ハンドシェークフェーズにおけるサーバ側端末装置の処理について図12を用いて説明する。図12は、第4の実施形態のハンドシェークフェーズにおけるサーバ側端末装置の処理の一例を示す図である。
[ステップS61]サーバ58は、所定の乱数生成アルゴリズムにしたがい乱数Rs130を生成する。
[ステップS62]サーバ58は、クライアント57の公開鍵としてIDベースの公開鍵であるClientID131を取得する。ClientID131は、たとえば、クライアント57の通信アドレスである。ClientID131は、サーバ58にとって既知の情報であり、たとえば、サーバ58の記憶部46が保持する情報である。そのため、サーバ58は、クライアント57からClientID131を取得することを要さない。
[ステップS63]サーバ58は、ClientID131を用いて乱数Rs130を暗号化して暗号E(Rs)132を得る。
[ステップS64]サーバ58は、暗号E(Rs)132をクライアント57に送信する。
[ステップS65]サーバ58は、暗号E(Rs||Rc)133をクライアント57から受信する。暗号E(Rs||Rc)133は、クライアント57がサーバ58の公開鍵で乱数Rsと乱数Rcの結合値を暗号化した情報である。
[ステップS66]サーバ58は、サーバ58の公開鍵と対となる秘密鍵であるサーバ秘密鍵134を取得する。サーバ秘密鍵134は、サーバ58にとって既知の情報であり、たとえば、サーバ58の記憶部46が保持する情報である。
[ステップS67]サーバ58は、サーバ秘密鍵134で暗号E(Rs||Rc)133を復号し、結合値(Rs,Rc)135を得る。
[ステップS68]サーバ58は、結合値(Rs,Rc)135から乱数Rs136と乱数Rc137を抽出する。結合値(Rs,Rc)135は、乱数Rs136と乱数Rc137を並べた情報である。
[ステップS69]サーバ58は、乱数Rs130と乱数Rs136を照合し、照合結果138を得る。サーバ58は、照合結果138が失敗の場合にクライアント57とのセッション確立に失敗したと判断する。一方、サーバ58は、照合結果138が成功の場合にステップS70にすすむ。
[ステップS70]サーバ58は、乱数Rs130と乱数Rc137とにもとづいて所定の鍵生成アルゴリズムにしたがいセッション鍵139を生成する。
[ステップS71]サーバ58は、セッション鍵139を用いて完了msg(完了メッセージ)を暗号化し、暗号E(完了msg)140を得る。なお、完了メッセージは、サーバ58がクライアント57にセッション確立の完了を通知するメッセージである。
[ステップS72]サーバ58は、クライアント57に暗号E(完了msg)140を送信する。
次に、ハンドシェークフェーズにおけるクライアント側端末装置の処理について図13を用いて説明する。図13は、第4の実施形態のハンドシェークフェーズにおけるクライアント側端末装置の処理の一例を示す図である。
[ステップS81]クライアント57は、暗号E(Rs)141をサーバ58から受信する。なお、暗号E(Rs)141は、通信路中において不正に書き換えられていなければ、サーバ58が送信する暗号E(Rs)132と同じである。
[ステップS82]クライアント57は、クライアント57の公開鍵(ClientID131)と対となる秘密鍵であるクライアント秘密鍵142を取得する。クライアント秘密鍵142は、クライアント57にとって既知の情報であり、たとえば、クライアント57の記憶部46が保持する情報である。
[ステップS83]クライアント57は、クライアント秘密鍵142で暗号E(Rs)141を復号し、乱数Rs143を得る。
[ステップS84]クライアント57は、所定の乱数生成アルゴリズムにしたがい乱数Rc144を生成する。
[ステップS85]クライアント57は、サーバ58の公開鍵としてIDベースの公開鍵であるServerID145を取得する。ServerID145は、たとえば、サーバ58の通信アドレスである。ServerID145は、クライアント57にとって既知の情報であり、たとえば、クライアント57の記憶部46が保持する情報である。そのため、クライアント57は、サーバ58からServerID145を取得することを要さない。
[ステップS86]クライアント57は、乱数Rs143と乱数Rc144を結合し、結合値(Rs,Rc)146を生成する。
[ステップS87]クライアント57は、ServerID145を用いて結合値(Rs,Rc)146を暗号化して暗号E(Rs||Rc)147を得る。
[ステップS88]クライアント57は、乱数Rs143と乱数Rc144とにもとづいてサーバ58と同様の鍵生成アルゴリズムにしたがいセッション鍵148を生成する。
[ステップS89]クライアント57は、暗号E(Rs||Rc)147をサーバ58に送信する。
[ステップS90]クライアント57は、暗号E(完了msg)149をサーバ58から受信する。なお、暗号E(完了msg)149は、通信路中において不正に書き換えられていなければ、サーバ58が送信する暗号E(完了msg)140と同じである。
[ステップS91]クライアント57は、セッション鍵148で暗号E(完了msg)149を復号し、完了msg150を得る。
[ステップS92]クライアント57は、完了msg150が正しく復号されたことにより、サーバ58とセッション鍵を共有するセッション確立を確認する。
次に、データ転送フェーズにおけるサーバ側端末装置の処理とクライアント側端末装置の処理について図14を用いて説明する。図14は、第4の実施形態のデータ転送フェーズにおけるサーバ側端末装置の処理とクライアント側端末装置の処理の一例を示す図である。
クライアント57とサーバ58は、セッション鍵148(セッション鍵139)を用いて保護されたデータ通信をおこなう(ステップS101、ステップS102)。サーバ58は、クライアント57と正常なデータ通信をおこなえることを確認することにより認証とする。
このように、クライアント57とサーバ58がおこなう鍵共有通信は、クライアント57からサーバ58への証明書の送付を不要にして、3ウェイハンドシェークを実現している。また、クライアント57とサーバ58がおこなう鍵共有通信は、公開鍵暗号処理回数が「4」であり、他の従来方式と比較して十分に小さく、公開鍵暗号データ数が「2」であり、他の従来方式と比較して十分に小さい。また、クライアント57とサーバ58がおこなう鍵共有通信は、クラスブレークの危険がなく、さらにPFSを実現するものでありながら、鍵共有通信におけるネットワーク負荷および処理負荷を低減できる。
[第5の実施形態]
次に、第4の実施形態の鍵共有通信方式を、TLSのハンドシェークプロトコルに適用した第5の実施形態の鍵共有通信方式について図15を用いて説明する。図15は、第5の実施形態のサーバ側端末装置とクライアント側端末装置との鍵共有通信の一例を示す図である。
2つの端末装置40の一方がクライアント(クライアント側端末装置)57であり、他方がサーバ(サーバ側端末装置)58である。
[ステップS111]クライアント57は、ClientHelloメッセージをサーバ58に送信する。なお、ClientHelloメッセージは、証明書の送付を要するものではなく、形式的にTLSのハンドシェークプロトコルに適合させるものであることから、鍵共有通信にカウントしない。
[ステップS112]サーバ58は、ServerHelloメッセージをクライアント57に送信する。
[ステップS113]サーバ58は、ServerKeyExchangeメッセージをクライアント57に送信する。サーバ58は、ServerKeyExchangeメッセージに、第4の実施形態で説明した暗号E(Rs)132を含ませることができる。
[ステップS114]サーバ58は、ServerHelloDoneメッセージをクライアント57に送信する。なお、このステップS112のServerHelloメッセージからステップS114のServerHelloDoneメッセージまでを一連のメッセージとすることができるので、鍵共有通信の1回(1回目)にカウントする。
[ステップS115]クライアント57は、ClientKeyExchangeメッセージをサーバ58に送信する。クライアント57は、ClientKeyExchangeメッセージに、第4の実施形態で説明した暗号E(Rs||Rc)147を含ませることができる。
[ステップS116]クライアント57は、ChangeCipherSpecメッセージをサーバ58に送信する。
[ステップS117]クライアント57は、Finishedメッセージをサーバ58に送信する。なお、このステップS115のClientKeyExchangeメッセージからステップS117のFinishedメッセージまでを一連のメッセージとすることができるので、鍵共有通信の1回(2回目)にカウントする。
[ステップS118]サーバ58は、ChangeCipherSpecメッセージをクライアント57に送信する。クライアント57は、ChangeCipherSpecメッセージに、第4の実施形態で説明した暗号E(完了msg)140を含ませることができる。
[ステップS119]サーバ58は、Finishedメッセージをクライアント57に送信する。なお、このステップS118のChangeCipherSpecメッセージからステップS119のFinishedメッセージまでを一連のメッセージとすることができるので、鍵共有通信の1回(3回目)にカウントする。
このようにして、第5の実施形態の鍵共有通信方式は、TLSのハンドシェークプロトコルに適合する3ウェイハンドシェークを実現することができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、データ通信装置1,2,101,102、端末装置40が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。
以上の実施の形態に関し、更に以下の付記を開示する。
(付記1) 第1の乱数が第1の公開鍵で暗号化された第1の暗号を他のデータ通信装置から受信し、前記第1の暗号を第1の秘密鍵で復号し、
第2の乱数を生成して、前記第2の乱数を第2の公開鍵で暗号化した第2の暗号を前記他のデータ通信装置に送信し、
前記第1の乱数と第2の秘密鍵で復号された前記第2の乱数とから生成された第1のハッシュ値を前記他のデータ通信装置から受信し、前記第1の秘密鍵で復号した前記第1の乱数と前記生成した前記第2の乱数とから生成した第2のハッシュ値と、前記第1のハッシュ値とを比較し、
前記第1のハッシュ値と前記第2のハッシュ値とが同じである場合に、前記第1の乱数と前記第2の乱数とにもとづいてセッション鍵を生成する、
ことを特徴とするデータ通信方法。
(付記2) 前記第1の公開鍵は、前記他のデータ通信装置の識別情報であり、
前記第2の公開鍵は、前記データ通信装置の識別情報である、
ことを特徴とする付記1記載のデータ通信方法。
(付記3) 前記データ通信装置は、前記データ通信装置の記憶部に前記第1の公開鍵をあらかじめ保持し、
前記他のデータ通信装置は、前記他のデータ通信装置の記憶部に前記第2の公開鍵をあらかじめ保持する、
ことを特徴とする付記2記載のデータ通信方法。
(付記4) 第1の乱数が第1の公開鍵で暗号化された第1の暗号を他のデータ通信装置から受信する第1の乱数受信部と、
前記第1の暗号を第1の秘密鍵で復号し、第2の乱数を生成して、前記第2の乱数を第2の公開鍵で暗号化した第2の暗号を前記他のデータ通信装置に送信する第2の乱数送信部と、
前記第1の乱数と第2の秘密鍵で復号された前記第2の乱数とから生成された第1のハッシュ値を前記他のデータ通信装置から受信するハッシュ値受信部と、
前記第1の秘密鍵で復号した前記第1の乱数と前記生成した前記第2の乱数とから生成した第2のハッシュ値と、前記第1のハッシュ値とを比較し、
前記第1のハッシュ値と前記第2のハッシュ値とが同じである場合に、前記第1の乱数と前記第2の乱数とにもとづいてセッション鍵を生成するセッション鍵生成部と、
を備えることを特徴とするデータ通信装置。
(付記5) 第1のデータ通信装置と第2のデータ通信装置とのデータ通信方法において、
前記第1のデータ通信装置は、
第1の乱数を生成し、前記第1の乱数を第1の公開鍵で暗号化した第1の暗号を前記第2のデータ通信装置に送信し、
前記第2のデータ通信装置は、
前記第1のデータ通信装置から受信した前記第1の暗号から第1の秘密鍵で前記第1の乱数を復号し、第2の乱数を生成して、前記第2の乱数を第2の公開鍵で暗号化した第2の暗号を前記第1のデータ通信装置に送信し、
前記第1のデータ通信装置は、
前記第2のデータ通信装置から受信した前記第2の暗号から第2の秘密鍵で前記第2の乱数を復号し、生成した前記第1の乱数と復号した前記第2の乱数とから第1のハッシュ値を生成して前記第2のデータ通信装置に送信し、
前記第2のデータ通信装置は、
生成した前記第2の乱数と復号した前記第1の乱数とから生成した第2のハッシュ値と、前記第1のハッシュ値とを比較し、前記第1のハッシュ値と前記第2のハッシュ値とが同じである場合に、前記第1の乱数と前記第2の乱数とにもとづいてセッション鍵を生成する、
ことを特徴とするデータ通信方法。
(付記6) 第1の乱数が第1の公開鍵で暗号化された第1の暗号を他のデータ通信装置から受信し、前記第1の暗号を第1の秘密鍵で復号し、
第2の乱数を生成して、前記第2の乱数と前記復号した前記第1の乱数とを第2の公開鍵で暗号化した第2の暗号を前記他のデータ通信装置に送信し、
前記他のデータ通信装置が生成した前記第1の乱数と復号した前記第1の乱数とが同じである場合に前記第1の乱数と前記第2の乱数とから生成されたセッション鍵で暗号化された完了メッセージを受信し、
前記復号した前記第1の乱数と前記生成した前記第2の乱数とから前記セッション鍵を生成し、受信した前記セッション鍵で暗号化された完了メッセージを前記セッション鍵で復号して前記他のデータ通信装置との前記セッション鍵の共有を確認する、
ことを特徴とするデータ通信方法。
(付記7) 前記第1の公開鍵は、前記他のデータ通信装置の識別情報であり、
前記第2の公開鍵は、前記データ通信装置の識別情報である、
ことを特徴とする付記6記載のデータ通信方法。
(付記8) 前記データ通信装置は、前記データ通信装置の記憶部に前記第1の公開鍵をあらかじめ保持し、
前記他のデータ通信装置は、前記他のデータ通信装置の記憶部に前記第2の公開鍵をあらかじめ保持する、
ことを特徴とする付記7記載のデータ通信方法。
(付記9) 第1の乱数が第1の公開鍵で暗号化された第1の暗号を他のデータ通信装置から受信する第1の乱数受信部と、
前記第1の暗号を第1の秘密鍵で復号し、第2の乱数を生成して、前記第2の乱数と前記復号した前記第1の乱数とを第2の公開鍵で暗号化した第2の暗号を前記他のデータ通信装置に送信する第2の乱数送信部と、
前記他のデータ通信装置が生成した前記第1の乱数と復号した前記第1の乱数とが同じである場合に前記第1の乱数と前記第2の乱数とから生成されたセッション鍵で暗号化された完了メッセージを受信する完了メッセージ受信部と、
前記復号した前記第1の乱数と前記生成した前記第2の乱数とから前記セッション鍵を生成し、受信した前記セッション鍵で暗号化された完了メッセージを前記セッション鍵で復号して前記他のデータ通信装置との前記セッション鍵の共有を確認する完了メッセージ確認部と、
を備えることを特徴とするデータ通信装置。
(付記10) 第1のデータ通信装置と第2のデータ通信装置とのデータ通信方法において、
前記第1のデータ通信装置は、
第1の乱数を生成し、前記第1の乱数を第1の公開鍵で暗号化した第1の暗号を前記第2のデータ通信装置に送信し、
前記第2のデータ通信装置は、
前記第1のデータ通信装置から受信した前記第1の暗号から第1の秘密鍵で前記第1の乱数を復号し、第2の乱数を生成して、前記第1の乱数と前記第2の乱数とを第2の公開鍵で暗号化した第2の暗号を前記第1のデータ通信装置に送信し、
前記第1のデータ通信装置は、
前記第2のデータ通信装置から受信した前記第2の暗号から第2の秘密鍵で前記第1の乱数と前記第2の乱数とを復号し、生成した前記第1の乱数と復号した前記第1の乱数とが同じである場合に前記第1の乱数と前記第2の乱数とからセッション鍵を生成し、完了メッセージを前記セッション鍵で暗号化した第3の暗号を前記第2のデータ通信装置に送信し、
前記第2のデータ通信装置は、
復号した前記第1の乱数と生成した前記第2の乱数とから前記セッション鍵を生成し、受信した前記第3の暗号を前記セッション鍵で復号して、前記第1のデータ通信装置との前記セッション鍵の共有を確認する、
ことを特徴とするデータ通信方法。
1,2,101,102 データ通信装置
3,103 第1の乱数受信部
4,104 第2の乱数送信部
5 ハッシュ値受信部
6 セッション鍵生成部
30 センサネットワーク
31 ゲートウェイ
32 ネットワーク
40 端末装置
57 クライアント
58 サーバ
105 完了メッセージ受信部
106 完了メッセージ確認部

Claims (5)

  1. データ通信装置が、
    第1の乱数が第1の公開鍵で暗号化された第1の暗号を他のデータ通信装置から受信し、前記第1の暗号を第1の秘密鍵で復号し、
    第2の乱数を生成して、前記第2の乱数を第2の公開鍵で暗号化した第2の暗号を前記他のデータ通信装置に送信し、
    前記第1の乱数と第2の秘密鍵で復号された前記第2の乱数とから生成された第1のハッシュ値を前記他のデータ通信装置から受信し、前記第1の秘密鍵で復号した前記第1の乱数と前記生成した前記第2の乱数とから生成した第2のハッシュ値と、前記第1のハッシュ値とを比較し、
    前記第1のハッシュ値と前記第2のハッシュ値とが同じである場合に、前記第1の乱数と前記第2の乱数とにもとづいてセッション鍵を生成す
    ことを特徴とするデータ通信方法。
  2. 前記第1の公開鍵は、前記データ通信装置の識別情報であり、
    前記第2の公開鍵は、前記他のデータ通信装置の識別情報であ
    ことを特徴とする請求項1記載のデータ通信方法。
  3. 前記データ通信装置は、前記データ通信装置の記憶部に前記第1の公開鍵をあらかじめ保持し、
    前記他のデータ通信装置は、前記他のデータ通信装置の記憶部に前記第2の公開鍵をあらかじめ保持す
    ことを特徴とする請求項2記載のデータ通信方法。
  4. 第1の乱数が第1の公開鍵で暗号化された第1の暗号を他のデータ通信装置から受信する第1の乱数受信部と、
    前記第1の暗号を第1の秘密鍵で復号し、第2の乱数を生成して、前記第2の乱数を第2の公開鍵で暗号化した第2の暗号を前記他のデータ通信装置に送信する第2の乱数送信部と、
    前記第1の乱数と第2の秘密鍵で復号された前記第2の乱数とから生成された第1のハッシュ値を前記他のデータ通信装置から受信するハッシュ値受信部と、
    前記第1の秘密鍵で復号した前記第1の乱数と前記生成した前記第2の乱数とから生成した第2のハッシュ値と、前記第1のハッシュ値とを比較し、
    前記第1のハッシュ値と前記第2のハッシュ値とが同じである場合に、前記第1の乱数と前記第2の乱数とにもとづいてセッション鍵を生成するセッション鍵生成部
    を備えることを特徴とするデータ通信装置。
  5. 第1のデータ通信装置と第2のデータ通信装置とのデータ通信方法において、
    前記第1のデータ通信装置は、
    第1の乱数を生成し、前記第1の乱数を第1の公開鍵で暗号化した第1の暗号を前記第2のデータ通信装置に送信し、
    前記第2のデータ通信装置は、
    前記第1のデータ通信装置から受信した前記第1の暗号から第1の秘密鍵で前記第1の乱数を復号し、第2の乱数を生成して、前記第2の乱数を第2の公開鍵で暗号化した第2の暗号を前記第1のデータ通信装置に送信し、
    前記第1のデータ通信装置は、
    前記第2のデータ通信装置から受信した前記第2の暗号から第2の秘密鍵で前記第2の乱数を復号し、生成した前記第1の乱数と復号した前記第2の乱数とから第1のハッシュ値を生成して前記第2のデータ通信装置に送信し、
    前記第2のデータ通信装置は、
    生成した前記第2の乱数と復号した前記第1の乱数とから生成した第2のハッシュ値と、前記第1のハッシュ値とを比較し、前記第1のハッシュ値と前記第2のハッシュ値とが同じである場合に、前記第1の乱数と前記第2の乱数とにもとづいてセッション鍵を生成す
    ことを特徴とするデータ通信方法。
JP2013271364A 2013-12-27 2013-12-27 データ通信方法、およびデータ通信装置 Expired - Fee Related JP6187251B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013271364A JP6187251B2 (ja) 2013-12-27 2013-12-27 データ通信方法、およびデータ通信装置
US14/582,286 US20150188704A1 (en) 2013-12-27 2014-12-24 Data communication method and data communication apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013271364A JP6187251B2 (ja) 2013-12-27 2013-12-27 データ通信方法、およびデータ通信装置

Publications (2)

Publication Number Publication Date
JP2015126485A JP2015126485A (ja) 2015-07-06
JP6187251B2 true JP6187251B2 (ja) 2017-08-30

Family

ID=53483148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013271364A Expired - Fee Related JP6187251B2 (ja) 2013-12-27 2013-12-27 データ通信方法、およびデータ通信装置

Country Status (2)

Country Link
US (1) US20150188704A1 (ja)
JP (1) JP6187251B2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419213B2 (en) * 2015-01-16 2019-09-17 Nippon Telegraph And Telephone Corporation Key exchange method, key exchange system, key device, terminal device, and program
JP2017004133A (ja) * 2015-06-08 2017-01-05 株式会社リコー サービス提供システム、情報処理システム、情報処理装置、サービス提供方法、及びプログラム
EP3119031A1 (en) * 2015-07-16 2017-01-18 ABB Schweiz AG Encryption scheme using multiple parties
CN105119900B (zh) * 2015-07-17 2019-02-26 北京奇虎科技有限公司 信息安全传输方法、联网接入方法及相应的终端
CN106411504B (zh) * 2015-07-31 2020-10-09 腾讯科技(深圳)有限公司 数据加密系统、方法及装置
US10218698B2 (en) * 2015-10-29 2019-02-26 Verizon Patent And Licensing Inc. Using a mobile device number (MDN) service in multifactor authentication
US10231123B2 (en) * 2015-12-07 2019-03-12 GM Global Technology Operations LLC Bluetooth low energy (BLE) communication between a mobile device and a vehicle
WO2017096596A1 (zh) * 2015-12-10 2017-06-15 深圳市大疆创新科技有限公司 无人机认证方法,安全通信方法及对应系统
CN105933119B (zh) * 2015-12-24 2019-01-29 中国银联股份有限公司 一种认证方法及设备
JP6613909B2 (ja) * 2016-01-15 2019-12-04 富士通株式会社 相互認証方法、認証装置および認証プログラム
JP6253725B1 (ja) * 2016-07-12 2017-12-27 株式会社東芝 データベースシステム、データ結合方法、統合サーバ、データ結合プログラム、データベースシステム連携方法、および、データベースシステム連携プログラム
EP3748900A1 (en) * 2017-03-01 2020-12-09 Apple Inc. System access using a mobile device
US10361852B2 (en) 2017-03-08 2019-07-23 Bank Of America Corporation Secure verification system
US10425417B2 (en) 2017-03-08 2019-09-24 Bank Of America Corporation Certificate system for verifying authorized and unauthorized secure sessions
US10432595B2 (en) * 2017-03-08 2019-10-01 Bank Of America Corporation Secure session creation system utililizing multiple keys
US10374808B2 (en) 2017-03-08 2019-08-06 Bank Of America Corporation Verification system for creating a secure link
EP3454502B1 (en) * 2017-09-07 2020-08-05 Nxp B.V. Transceiver system
KR101886367B1 (ko) * 2017-10-12 2018-08-09 (주)티엔젠 사물 간 통신 네트워크에서의 기기 개별 세션키 생성 및 이를 이용한 기기 간의 암호화 및 복호화 기능 검증 방법
JP6818220B2 (ja) * 2017-10-19 2021-01-20 三菱電機株式会社 鍵共有装置、鍵共有方法及び鍵共有プログラム
CN108632250B (zh) * 2018-03-27 2020-12-08 北京安御道合科技有限公司 指令操控会话主密钥生成、操作指令传输的方法及设备
CN108718233B (zh) * 2018-03-27 2021-04-13 北京安御道合科技有限公司 一种加密方法、计算机设备及存储介质
CN108809643B (zh) * 2018-07-11 2021-04-27 飞天诚信科技股份有限公司 一种设备与云端协商密钥的方法、系统及设备
CN109068321B (zh) * 2018-07-19 2021-07-02 飞天诚信科技股份有限公司 协商会话密钥的方法、系统、移动终端及智能家居设备
CN108847938A (zh) * 2018-09-29 2018-11-20 郑州云海信息技术有限公司 一种连接建立方法及装置
CN109379740B (zh) * 2018-10-10 2022-03-04 北京智芯微电子科技有限公司 无线协作通信安全交互方法
CN111163035A (zh) * 2018-11-07 2020-05-15 中国电信股份有限公司 家庭网关远程连接的管理方法、装置和系统
EP3912023A4 (en) * 2019-01-18 2022-10-12 ZeU Technologies, Inc. METHOD OF GENERATION OF RANDOM NUMBERS IN INTELLIGENT BLOCKCHAIN CONTRACTS
US20220123947A1 (en) * 2019-01-18 2022-04-21 Zeu Technologies, Inc. A Method for Generating Random Numbers in Blockchain Smart Contracts
CN111771357B (zh) * 2019-01-31 2022-05-24 深圳市汇顶科技股份有限公司 Tls证书认证方法、装置、设备及存储介质
US11750399B2 (en) 2019-12-06 2023-09-05 Motional Ad Llc Cyber-security protocol
US20220255735A1 (en) * 2021-02-08 2022-08-11 Visa International Service Association Blinding techniques for post-quantum public keys
JP2023042375A (ja) * 2021-09-14 2023-03-27 Kddi株式会社 無線通信端末装置、認証及び鍵共有方法、プログラム、認証及び鍵共有システム
CN114785529B (zh) * 2022-06-20 2022-10-04 广东名阳信息科技有限公司 基于区块链的建立可信通信链路的方法和系统
CN115987634A (zh) * 2022-12-22 2023-04-18 深信服科技股份有限公司 获取明文数据、密钥获取方法、装置、电子设备及介质
CN116866029B (zh) * 2023-07-07 2024-02-09 深圳市东信时代信息技术有限公司 随机数加密数据传输方法、装置、计算机设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981523A (ja) * 1995-09-12 1997-03-28 Toshiba Corp 認証方法
WO2001084761A1 (en) * 2000-04-28 2001-11-08 Swisscom Mobile Ag Method for securing communications between a terminal and an additional user equipment
US7480939B1 (en) * 2000-04-28 2009-01-20 3Com Corporation Enhancement to authentication protocol that uses a key lease
JP2004282295A (ja) * 2003-03-14 2004-10-07 Sangaku Renkei Kiko Kyushu:Kk ワンタイムidの生成方法、認証方法、認証システム、サーバ、クライアントおよびプログラム
US7506161B2 (en) * 2003-09-02 2009-03-17 Authernative, Inc. Communication session encryption and authentication system
US8892887B2 (en) * 2006-10-10 2014-11-18 Qualcomm Incorporated Method and apparatus for mutual authentication
JP5132222B2 (ja) * 2007-08-13 2013-01-30 株式会社東芝 クライアント装置、サーバ装置及びプログラム
JP2009296190A (ja) * 2008-06-04 2009-12-17 Panasonic Corp 秘匿通信方法
US8850203B2 (en) * 2009-08-28 2014-09-30 Alcatel Lucent Secure key management in multimedia communication system
US8467532B2 (en) * 2010-01-04 2013-06-18 Tata Consultancy Services Limited System and method for secure transaction of data between a wireless communication device and a server

Also Published As

Publication number Publication date
US20150188704A1 (en) 2015-07-02
JP2015126485A (ja) 2015-07-06

Similar Documents

Publication Publication Date Title
JP6187251B2 (ja) データ通信方法、およびデータ通信装置
US10757083B2 (en) Method, apparatus, and system for quantum key distribution
Bonetto et al. Secure communication for smart IoT objects: Protocol stacks, use cases and practical examples
WO2018045817A1 (zh) 移动网络的认证方法、终端设备、服务器和网络认证实体
CN101981885B (zh) 使用ipsec esp以支持用于基于udp的oma使能者的安全功能的方法和实体
Sathyadevan et al. Protean authentication scheme–a time-bound dynamic keygen authentication technique for iot edge nodes in outdoor deployments
US20160269176A1 (en) Key Configuration Method, System, and Apparatus
Zamfir et al. A security analysis on standard IoT protocols
EP3633949A1 (en) Method and system for performing ssl handshake
CN103155512A (zh) 用于对服务提供安全访问的系统和方法
WO2018177905A1 (en) Hybrid key exchange
CN110690966B (zh) 终端与业务服务器连接的方法、系统、设备及存储介质
CN107172001B (zh) 网站代理服务器的控制方法及装置、密钥代理服务器
CN105119894A (zh) 基于硬件安全模块的通信系统及通信方法
CN110808834A (zh) 量子密钥分发方法和量子密钥分发系统
JP2012100206A (ja) 暗号通信中継システム、暗号通信中継方法および暗号通信中継用プログラム
KR101448866B1 (ko) 웹 보안 프로토콜에 따른 암호화 데이터를 복호화하는 보안 장치 및 그것의 동작 방법
EP3340530B1 (en) Transport layer security (tls) based method to generate and use a unique persistent node identity, and corresponding client and server
JP6501701B2 (ja) システム、端末装置、制御方法、およびプログラム
JP5622668B2 (ja) アプリケーション認証システム、アプリケーション認証方法
CN110719169A (zh) 传输路由器安全信息的方法及装置
Gao et al. SecT: A lightweight secure thing-centered IoT communication system
CN103312671B (zh) 校验服务器的方法和系统
CN114245332A (zh) 一种物联网设备的dtls连接建立方法及系统
Naoui et al. Collaborative and verifiable key derivation protocol for smart home security: CV-KDP

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170502

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170606

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170717

R150 Certificate of patent or registration of utility model

Ref document number: 6187251

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees