JP7231051B2 - 端末、サーバ、方法及びプログラム - Google Patents

端末、サーバ、方法及びプログラム Download PDF

Info

Publication number
JP7231051B2
JP7231051B2 JP2021550916A JP2021550916A JP7231051B2 JP 7231051 B2 JP7231051 B2 JP 7231051B2 JP 2021550916 A JP2021550916 A JP 2021550916A JP 2021550916 A JP2021550916 A JP 2021550916A JP 7231051 B2 JP7231051 B2 JP 7231051B2
Authority
JP
Japan
Prior art keywords
short
server
key
terminal
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021550916A
Other languages
English (en)
Other versions
JPWO2021064978A1 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2021064978A1 publication Critical patent/JPWO2021064978A1/ja
Application granted granted Critical
Publication of JP7231051B2 publication Critical patent/JP7231051B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • 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/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • 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
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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
    • H04L9/3273Cryptographic 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 for mutual authentication
    • 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/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、端末、サーバ、方法及びプログラムに関する。
IoT(Internet of Things)機器が普及するにつれて、互いに通信を行う機器同士が互いに正当な機器であることを保証する認証技術が重要になってきている。このような認証技術の1つとして、TLS(Transport Layer Security)1.2が従来から知られている。また、TLS1.2の後継として、TLS1.3も知られており、HTTP(Hypertext Transfer Protocol)やMQTT(Message Queuing Telemetry Transport)等による通信をセキュアに行うために利用されている。
ところで、IoT機器は一般的なPC(Personal Computer)等と比較してハードウェア資源が限られているため、IoT機器での通信に対してTLSを適用した場合、証明書利用のための処理性能と通信量が課題となる。この課題に対して、IDベース暗号を用いた相互認証付き鍵交換をTLS1.2に適用したTLSが提案されている(例えば、非特許文献1)。非特許文献1で提案されているTLSでは、TLS1.2の仕様を変更せずに、TLS1.2の仕様の中でIDベース暗号を用いた認証と鍵交換を実現している。また、IDベース暗号を用いることで、証明書利用のための通信が不要となっている。
酒見由美, 武仲正彦, 金岡晃, "IDベース暗号によるIoT向け相互認証方式の提案", SCIS2015
しかしながら、TLS1.3はTLS1.2とは仕様が異なるため、TLS1.3では、上記の非特許文献1で提案されているTLSと同様にIDベース暗号を提供することができない。これは、TLS1.3の仕様では、ハンドシェイクの中のClientHelloとServerHelloとが行われた後にそれ以降のメッセージが暗号化されるため、1ラウンドで暗号化のための鍵交換を行う必要があるためである。
本発明の実施形態は、上記の点に鑑みてなされたもので、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3を実現することを目的とする。
上記目的を達成するため、本実施形態に係る端末は、通信ネットワークを介して接続されるサーバとの間でTLS1.3による認証を行う端末であって、IDベース暗号を用いた相互認証付き鍵交換によって前記TLS1.3のハンドシェイク中のメッセージを暗号化するための共有鍵の生成に必要な第1の識別子と第1の短期公開鍵とが含まれるClientHelloメッセージを前記サーバに送信する送信手段と、前記共有鍵の生成に必要な第2の識別子と第2の短期公開鍵とが含まれるServerHelloメッセージを前記サーバから受信する受信手段と、前記第1の識別子と前記第1の短期公開鍵と前記第2の識別子と前記第2の短期公開鍵とを用いて、前記共有鍵を生成する生成手段と、を有することを特徴とする。
IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3を実現することができる。
本実施形態に係る認証システムの全体構成の一例を示す図である。 本実施形態に係る端末のハードウェア構成の一例を示す図である。 本実施形態に係るサーバのハードウェア構成の一例を示す図である。 本実施形態に係る端末及びサーバの機能構成の一例を示す図である。 実施例1における認証処理の一例を示すシーケンス図である。 実施例2における認証処理の一例を示すシーケンス図である。 実施例3における認証処理の一例を示すシーケンス図である。
以下、本発明の実施形態について説明する。本実施形態では、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3を実現する認証システム1について説明する。
上述したように、TLS1.3はTLS1.2とは仕様が異なる。具体的には、以下の参考文献1に記載されているように、TLS1.2ではハンドシェイクが暗号化されるまでに2ラウンドの通信が行われるのに対して、TLS1.3ではハンドシェイクが暗号化されるまでに1ラウンドの通信(すなわち、ClientHello及びServerHello)しか行われない。
[参考文献1]
"SSL/TLS暗号設定ガイドライン~安全なウェブサイトのために(暗号設定対策編)~", インターネット<URL:https://www.ipa.go.jp/security/ipg/documents/ipa-cryptrec-gl-3001-2.0.pdf>
このため、IDベース暗号を用いた相互認証付き鍵交換をTLS1.3に適用するためには、1ラウンドで鍵交換に必要な情報を交換する必要がある。例えば、MB方式と呼ばれるIDベース暗号を用いた相互認証付き鍵交換プロトコルでは、鍵交換に必要な情報を交換するために1.5ラウンドを要する。これは、MB方式では短期公開鍵を生成するために通信相手の識別子(ID)を必要とするためである。なお、MB方式については以下の参考文献2を参照されたい。
[参考文献2]
N. McCullagh and P. S. L. M. Barreto, "A New Two-Party Identity-Based Authenticated Key Agreement", CT-RSA 2005, LNCS 3376, pp. 262-274, Springer-Verlag, 2005.
したがって、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3を実現するためには、1ラウンドで鍵交換に必要な情報を交換可能なIDベース暗号を用いた相互認証付き鍵交換プロトコルをTLS1.3に適用する必要がある。
そこで、本実施形態に係る認証システム1では、1ラウンドで鍵交換に必要な情報を交換可能なIDベース暗号を用いた相互認証付き鍵交換プロトコルをTLS1.3に適用する。これにより、TLS1.3の仕様の中でIDベース暗号を用いた認証と鍵交換を行って、この鍵交換で得られた鍵を用いて、ClientHello及びServerHelloよりも後のメッセージを暗号化することが可能となる。
なお、上記のMB方式であっても、例えば、通信相手の識別子(ID)が事前に得られている場合等には1ラウンドで鍵交換に必要な情報を交換することが可能であるが、本実施形態では、通信相手の識別子は事前に(つまり、通信を開始する前に)得ることはできないものとする。これは、実際には通信相手の識別子を事前に得ることができない場合が多く、また、仮に得られたとしても、通信相手が常に同じ識別子を使用するとは限らないためである。
<全体構成>
まず、本実施形態に係る認証システム1の全体構成について、図1を参照しながら説明する。図1は、本実施形態に係る認証システム1の全体構成の一例を示す図である。
図1に示すように、本実施形態に係る認証システム1には、1以上の端末10と、サーバ20とが含まれる。また、各端末10とサーバ20とは、例えばインターネット等の通信ネットワークNを介して通信可能に接続されている。
端末10は、例えば、各種センサデバイス、組み込み機器、ウェアラブルデバイス、デジタル家電、監視カメラ、照明機器、医療機器、産業用機器等の種々のIoT機器である。すなわち、端末10は、一般的なPC等と比較してハードウェア資源(例えば、プロセッサの処理性能やメモリ容量、通信性能等)が限られているIoT機器であるものとする。ただし、これに限られず、端末10がIoT機器以外(例えば、PC、スマートフォン、タブレット端末等)であっても、本実施形態を同様に適用することが可能である。
サーバ20は、例えば、端末10との間でデータ通信を行うコンピュータ又はコンピュータシステムである。サーバ20としては、例えば、端末10がセンサデバイスである場合に、端末10からセンシングデータを収集するコンピュータ等が挙げられる。
本実施形態に係る認証システム1では、端末10とサーバ20との間でTLS1.3による認証及び暗号化通信を行う際に、IDベース暗号を用いた相互認証付き鍵交換プロトコルによって暗号化のための鍵交換を行う場合について説明する。ただし、本実施形態は、異なる端末10間でTLS1.3による認証及び暗号化通信を行う際についても同様に適用することが可能である。
なお、図1に示す認証システム1の構成は一例であって、他の構成であってもよい。例えば、鍵生成局(KGC:Key Generation Center)として機能する装置又はシステムが認証システム1に含まれていてもよい。
<ハードウェア構成>
次に、本実施形態に係る端末10及びサーバ20のハードウェア構成について説明する。
≪端末10≫
以降では、本実施形態に係る端末10のハードウェア構成について、図2を参照しながら説明する。図2は、本実施形態に係る端末10のハードウェア構成の一例を示す図である。
図2に示すように、本実施形態に係る端末10は、通信I/F11と、プロセッサ12と、メモリ装置13とを有する。これら各ハードウェアは、それぞれバス14を介して通信可能に接続されている。
通信I/F11は、端末10を通信ネットワークNに接続するためのインタフェースである。端末10は、通信I/F11を介して、サーバ20や他の端末10等との間でデータ通信を行うことができる。
プロセッサ12は、例えばMPU(Micro Processing Unit)やCPU(Central Processing Unit)等であり、メモリ装置13からプログラムやデータを読み出して各種処理を実行する演算装置である。
メモリ装置13は、例えばRAM(Random Access Memory)やROM(Read Only Memory)、フラッシュメモリ等であり、各種データやプログラム等を記憶する記憶装置である。
本実施形態に係る端末10は、図2に示すハードウェア構成を有することにより、後述する認証処理を実現することができる。なお、図2に示すハードウェア構成は一例であって、端末10は、他のハードウェア構成を有していてもよい。例えば、端末10は、複数のプロセッサ12を有していてもよいし、複数のメモリ装置13を有していてもよい。
≪サーバ20≫
以降では、本実施形態に係るサーバ20のハードウェア構成について、図3を参照しながら説明する。図3は、本実施形態に係るサーバ20のハードウェア構成の一例を示す図である。
図3に示すように、本実施形態に係るサーバ20は、入力装置21と、表示装置22と、外部I/F23と、通信I/F24と、プロセッサ25と、メモリ装置26とを有する。これら各ハードウェアは、それぞれがバス27を介して通信可能に接続されている。
入力装置21は、例えばキーボードやマウス、タッチパネル等であり、サーバ20に対して各種操作を入力するのに用いられる。表示装置22は、例えばディスプレイ等であり、サーバ20の各種処理結果等を表示するのに用いられる。なお、サーバ20は、入力装置21及び表示装置22のうちの少なくとも一方を有していなくてもよい。
外部I/F23は、外部装置とのインタフェースである。外部装置には、記録媒体23a等がある。サーバ20は、外部I/Fを介して、記録媒体23aの読み取りや書き込み等を行うことができる。なお、記録媒体23aとしては、例えば、CD(Compact Disk)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
通信I/F24は、サーバ20を通信ネットワークNに接続するためのインタフェースである。サーバ20は、通信I/F24を介して、端末10等との間でデータ通信を行うことができる。
プロセッサ25は、例えばCPU等であり、メモリ装置26からプログラムやデータを読み出して各種処理を実行する演算装置である。
メモリ装置26は、例えばRAMやROM、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)等であり、各種データやプログラム等を記憶する記憶装置である。
本実施形態に係るサーバ20は、図3に示すハードウェア構成を有することにより、後述する認証処理を実現することができる。なお、図3に示すハードウェア構成は一例であって、サーバ20は、他のハードウェア構成を有していてもよい。例えば、サーバ20は、複数のプロセッサ25を有していてもよいし、複数のメモリ装置26を有していてもよい。
<機能構成>
次に、本実施形態に係る端末10及びサーバ20の機能構成について、図4を参照しながら説明する。図4は、本実施形態に係る端末10及びサーバ20の機能構成の一例を示す図である。
≪端末10≫
図4に示すように、本実施形態に係る端末10は、認証処理部101と、記憶部102とを有する。認証処理部101は、端末10にインストールされた1以上のプログラムがプロセッサ12に実行させる処理により実現される。また、記憶部102は、例えば、メモリ装置13等を用いて実現可能である。
認証処理部101は、サーバ20との間でTLS1.3による認証及び暗号化通信を行う。このとき、認証処理部101は、IDベース暗号を用いた相互認証付き鍵交換プロトコルによってサーバ20との間で暗号化のための鍵交換を行う。
記憶部102は、各種データを記憶する。記憶部102に記憶されているデータとしては、例えば、当該端末10の識別子やユーザ秘密鍵等がある。また、サーバ20との間でTLS1.3による認証及び暗号化通信を行う際の一時的なデータも記憶部102に記憶される。
なお、端末10の識別子としては、任意の識別子を用いることが可能である。例えば、端末10の識別子として、ユーザID、氏名、メールアドレス、電話番号、当該端末10の製造固有番号、IP(Internet Protocol)アドレス、物理アドレス等を用いることが可能である。
≪サーバ20≫
図4に示すように、本実施形態に係るサーバ20は、認証処理部201と、記憶部202とを有する。認証処理部201は、サーバ20にインストールされた1以上のプログラムがプロセッサ25に実行させる処理により実現される。また、記憶部202は、例えば、メモリ装置26等を用いて実現可能である。なお、記憶部202は、例えば、サーバ20と通信ネットワークNを介して接続される記憶装置等を用いて実現されていてもよい。
認証処理部201は、端末10との間でTLS1.3による認証及び暗号化通信を行う。このとき、認証処理部201は、IDベース暗号を用いた相互認証付き鍵交換プロトコルによって端末10との間で暗号化のための鍵交換を行う。
記憶部202は、各種データを記憶する。記憶部202に記憶されているデータとしては、例えば、当該サーバ20の識別子やユーザ秘密鍵等がある。また、端末10との間でTLS1.3による認証及び暗号化通信を行う際の一時的なデータも記憶部202に記憶される。
なお、サーバ20の識別子としては、任意の識別子を用いることが可能である。例えば、サーバ20の識別子として、当該サーバ20の製造固有番号、IPアドレス、物理アドレス、Webサイト名、メールアドレス、電話番号等を用いることが可能である。
<処理の詳細>
次に、本実施形態に係る認証システム1の処理の詳細について説明する。本実施形態では、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3による認証処理の実施例1~実施例3について説明する。実施例1~実施例3はいずれもその安全性は同じであるが、計算効率は実施例3が最も良い。なお、実施例1~実施例3で説明する方式以外にも、1ラウンドで鍵交換に必要な情報を交換可能なIDベース暗号を用いた相互認証付き鍵交換プロトコルであれば、TLS1.3に適用可能である。
≪記号の定義≫
まず、以降の各実施例で共通に使用する記号を次のように定義する。
ID:端末10の識別子
ID:サーバ20の識別子
k:セキュリティパラメータ
p,q:p≠qを満たす素数
:有限体F上の楕円曲線をEとして、楕円曲線E上の群E(F)の部分群
:有限体Fのk次拡大体上の楕円曲線をEとして、楕円曲線E上の群
Figure 0007231051000001
の部分群
:Gの生成元
:Gの生成元
e:G×G上で定義されたペアリング
:qを法とする剰余類
||:文字列の連結
H:鍵導出関数
K:共有鍵
≪認証処理(実施例1)≫
以降では、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3による認証処理の実施例1について、図5を参照しながら説明する。図5は、実施例1における認証処理の一例を示すシーケンス図である。
実施例1では、鍵生成局のマスター秘密鍵をz∈Z、マスター公開鍵をZ=zg及びZ=zgとする。また、端末10のユーザ秘密鍵をDA,1=zQA,1=zH(ID)∈G、サーバ20のユーザ秘密鍵をDB,2=zQB,2=zH(ID)∈Gとする。ここで、Hは文字列からG上の元を生成する関数であり、Hは文字列からG上の元を生成する関数である。H及びHは公開情報である。なお、ユーザ秘密鍵DA,1及びDB,2は鍵生成局で生成され、それぞれ任意の方法で端末10及びサーバ20に配布される。
端末10の認証処理部101は、短期秘密鍵x∈Zをランダムに選択した上で、短期公開鍵XA,1=x∈G及びXA,2=x∈Gを生成する(ステップS101)。なお、短期秘密鍵xと短期公開鍵XA,1及びXA,2は、記憶部102に保存される。
サーバ20の認証処理部201は、短期秘密鍵x∈Zをランダムに選択した上で、短期公開鍵XB,1=x∈G及びXB,2=x∈Gを生成する(ステップS102)。なお、短期秘密鍵xと短期公開鍵XB,1及びXB,2は、記憶部202に保存される。
次に、端末10の認証処理部101は、ClientHelloをサーバ20に送信する(ステップS103)。このとき、認証処理部101は、当該端末10の識別子IDと短期公開鍵XA,1及びXA,2とが含まれるClientHelloをサーバ20に送信する。ここで、識別子IDと短期公開鍵XA,1及びXA,2は、例えば、ClientHelloの拡張領域(Extensionフィールド)に格納することができる。
次に、サーバ20の認証処理部201は、ServerHelloを端末10に送信する(ステップS104)。このとき、認証処理部201は、当該サーバ20の識別子IDと短期公開鍵XB,1及びXB,2とが含まれるServerHelloを端末10に送信する。ここで、識別子IDと短期公開鍵XB,1及びXB,2は、例えば、ServerHelloの拡張領域(Extensionフィールド)に格納することができる。
上記のステップS103~ステップS104により鍵交換に必要な情報(つまり、通信相手の識別子と短期公開鍵)が交換される。すなわち、鍵交換に必要な情報が1ラウンドで交換される。
続いて、端末10の認証処理部101は、XB,1及びXB,2がそれぞれ楕円曲線E及びE上の点であること及びe(XB,1,g)=e(g,XB,2)であることを確認する(ステップS105)。
なお、上記のステップS105で「XB,1が楕円曲線E上の点でない」、「XB,2が楕円曲線E上の点でない」及び「e(XB,1,g)≠e(g,XB,2)」の少なくとも1つを満たす場合、認証処理が失敗したものとして、処理を終了するか又は上記のステップS101からやり直す。以降では、XB,1及びXB,2がそれぞれ楕円曲線E及びE上の点であり、かつ、e(XB,1,g)=e(g,XB,2)であることが確認されたものとする。
同様に、サーバ20の認証処理部201は、XA,1及びXA,2がそれぞれ楕円曲線E及びE上の点であること及びe(XA,1,g)=e(g,XA,2)であることを確認する(ステップS106)。
なお、上記のステップS106で「XA,1が楕円曲線E上の点でない」、「XA,2が楕円曲線E上の点でない」及び「e(XA,1,g)≠e(g,XA,2)」の少なくとも1つを満たす場合、認証処理が失敗したものとして、処理を終了するか又は上記のステップS101からやり直す。以降では、XA,1及びXA,2がそれぞれ楕円曲線E及びE上の点であり、かつ、e(XA,1,g)=e(g,XA,2)であることが確認されたものとする。
次に、端末10の認証処理部101は、以下により共有値σ,σ,σ,σを計算する(ステップS107)。
σ=e(DA,1,QB,2
σ=e(DA,1+x,QB,2+XB,2
σ=xB,1
σ=xB,2
同様に、サーバ20の認証処理部201は、以下により共有値σ,σ,σ,σを計算する(ステップS108)。
σ=e(QA,1,DB,2
σ=e(QA,1+XA,1,DB,2+x
σ=xA,1
σ=xA,2
次に、端末10の認証処理部101は、以下によりsidを計算する(ステップS109)。なお、sidはセッションIDを意味する。
sid=(ID||ID||XA,1||XA,2||XB,1||XB,2
同様に、サーバ20の認証処理部201は、以下によりsidを計算する(ステップS110)。
sid=(ID||ID||XA,1||XA,2||XB,1||XB,2
そして、端末10の認証処理部101は、以下により共有鍵Kを計算する(ステップS111)。
K=H(σ||σ||σ||σ||sid)
なお、この共有鍵Kは記憶部102に保存される。
同様に、サーバ20の認証処理部201は、以下により共有鍵Kを計算する(ステップS112)。
K=H(σ||σ||σ||σ||sid)
なお、この共有鍵Kは記憶部202に保存される。
これにより、端末10とサーバ20は、共有鍵Kを用いて以降のメッセージ(つまり、ClientHello及びServerHelloよりも後のメッセージ)を暗号化してTLS1.3の処理を行うことができる(ステップS113)。
≪認証処理(実施例2)≫
以降では、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3による認証処理の実施例2について、図6を参照しながら説明する。図6は、実施例2における認証処理の一例を示すシーケンス図である。
実施例2では、鍵生成局のマスター秘密鍵をy∈Z及びz∈Z、マスター公開鍵をY=yg,Y=yg,Z=zg及びZ=zgとする。また、端末10のユーザ秘密鍵をDA,1=zQA,1=zH(ID)∈G、サーバ20のユーザ秘密鍵をDB,2=zQB,2=zH(ID)∈Gとする。ここで、Hは文字列からG上の元を生成する関数であり、Hは文字列からG上の元を生成する関数である。H及びHは公開情報である。なお、ユーザ秘密鍵DA,1及びDB,2は鍵生成局で生成され、それぞれ任意の方法で端末10及びサーバ20に配布される。
端末10の認証処理部101は、短期秘密鍵x∈Zをランダムに選択した上で、短期公開鍵XA,1=x∈Gを生成する(ステップS201)。なお、短期秘密鍵xと短期公開鍵XA,1は、記憶部102に保存される。
サーバ20の認証処理部201は、短期秘密鍵x∈Zをランダムに選択した上で、短期公開鍵XB,2=x∈Gを生成する(ステップS202)。なお、短期秘密鍵xと短期公開鍵XB,2は、記憶部202に保存される。
次に、端末10の認証処理部101は、ClientHelloをサーバ20に送信する(ステップS203)。このとき、認証処理部101は、当該端末10の識別子IDと短期公開鍵XA,1とが含まれるClientHelloをサーバ20に送信する。ここで、識別子IDと短期公開鍵XA,1は、例えば、ClientHelloの拡張領域(Extensionフィールド)に格納することができる。
次に、サーバ20の認証処理部201は、ServerHelloを端末10に送信する(ステップS204)。このとき、認証処理部201は、当該サーバ20の識別子IDと短期公開鍵XB,2とが含まれるServerHelloを端末10に送信する。ここで、識別子IDと短期公開鍵XB,2は、例えば、ServerHelloの拡張領域(Extensionフィールド)に格納することができる。
上記のステップS203~ステップS204により鍵交換に必要な情報(つまり、通信相手の識別子と短期公開鍵)が交換される。すなわち、鍵交換に必要な情報が1ラウンドで交換される。
次に、端末10の認証処理部101は、以下により共有値σ,σ,σを計算する(ステップS205)。
σ=e(DA,1,QB,2
σ=e(DA,1+x,QB,2+XB,2
σ=e(Z+x,XB,2
同様に、サーバ20の認証処理部201は、以下により共有値σ,σ,σを計算する(ステップS206)。
σ=e(QA,1,DB,2
σ=e(QA,1+XA,1,DB,2+x
σ=e(XA,1,Z+x
そして、端末10の認証処理部101は、以下により共有鍵Kを計算する(ステップS207)。
K=H(σ,σ,σ,ID,ID,XA,1,XB,2
なお、この共有鍵Kは記憶部102に保存される。
同様に、サーバ20の認証処理部201は、以下により共有鍵Kを計算する(ステップS208)。
K=H(σ,σ,σ,ID,ID,XA,1,XB,2
なお、この共有鍵Kは記憶部202に保存される。
これにより、端末10とサーバ20は、共有鍵Kを用いて以降のメッセージ(つまり、ClientHello及びServerHelloよりも後のメッセージ)を暗号化してTLS1.3の処理を行うことができる(ステップS209)。
≪認証処理(実施例3)≫
以降では、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3による認証処理の実施例3について、図7を参照しながら説明する。図7は、実施例3における認証処理の一例を示すシーケンス図である。
実施例3では、鍵生成局のマスター秘密鍵をz∈Z、マスター公開鍵をZ=zgとする。また、端末10のユーザ秘密鍵をD=zQ=zH(ID)∈G、サーバ20のユーザ秘密鍵をD=zQ=zH(ID)∈Gとする。ここで、Hは文字列からG上の元を生成する関数であり、公開情報である。なお、ユーザ秘密鍵D及びDは鍵生成局で生成され、それぞれ任意の方法で端末10及びサーバ20に配布される。
端末10の認証処理部101は、r∈Zをランダムに選択した上で、短期秘密鍵x=H(D||r)を生成すると共に、短期公開鍵X=x∈Gを生成する(ステップS301)。ここで、Hは文字列からZ上の元を生成する関数であり、公開情報である。なお、短期秘密鍵xと短期公開鍵Xは、記憶部102に保存される。
サーバ20の認証処理部201は、r∈Zをランダムに選択した上で、短期秘密鍵x=H(D||r)を生成すると共に、短期公開鍵X=x∈Gを生成する(ステップS302)。なお、短期秘密鍵xと短期公開鍵Xは、記憶部202に保存される。
次に、端末10の認証処理部101は、短期秘密鍵xを記憶部102から削除する(ステップS303)。同様に、サーバ20の認証処理部201は、短期秘密鍵xを記憶部202から削除する(ステップS304)。
なお、上記のステップS303で短期秘密鍵xを記憶部102から削除しているが、これは、識別子ID及び短期公開鍵Xをサーバ20から受信するまでの間に短期秘密鍵xが流出してしまう事態を防止するためである。同様に、上記のステップS304で短期秘密鍵xを記憶部202から削除しているのは、識別子ID及び短期公開鍵Xを端末10から受信するまでの間に短期秘密鍵xが流出してしまう事態を防止するためである。
次に、端末10の認証処理部101は、ClientHelloをサーバ20に送信する(ステップS305)。このとき、認証処理部101は、当該端末10の識別子IDと短期公開鍵Xとが含まれるClientHelloをサーバ20に送信する。ここで、識別子IDと短期公開鍵Xは、例えば、ClientHelloの拡張領域(Extensionフィールド)に格納することができる。
次に、サーバ20の認証処理部201は、ServerHelloを端末10に送信する(ステップS306)。このとき、認証処理部201は、当該サーバ20の識別子IDと短期公開鍵Xとが含まれるServerHelloを端末10に送信する。ここで、識別子IDと短期公開鍵Xは、例えば、ServerHelloの拡張領域(Extensionフィールド)に格納することができる。
上記のステップS305~ステップS306により鍵交換に必要な情報(つまり、通信相手の識別子と短期公開鍵)が交換される。すなわち、鍵交換に必要な情報が1ラウンドで交換される。
続いて、端末10の認証処理部101は、短期秘密鍵x=H(D||r)を再度生成する(ステップS307)。なお、短期秘密鍵xは、記憶部102に保存される。
同様に、サーバ20の認証処理部201は、短期秘密鍵x=H(D||r)を再度生成する(ステップS308)。なお、短期秘密鍵xは、記憶部202に保存される。
次に、端末10の認証処理部101は、以下により共有値σ,σ,σを計算する(ステップS309)。
σ=e(X,D
σ=e(xZ,Q
σ=x
同様に、サーバ20の認証処理部201は、以下により共有値σ,σ,σを計算する(ステップS310)。
σ=e(xZ,Q
σ=e(X,D
σ=x
次に、端末10の認証処理部101は、以下によりsidを計算する(ステップS311)。
sid=(ID||ID||X||X
同様に、サーバ20の認証処理部201は、以下によりsidを計算する(ステップS312)。
sid=(ID||ID||X||X
そして、端末10の認証処理部101は、以下により共有鍵Kを計算する(ステップS313)。
K=H(σ||σ||σ||sid)
なお、この共有鍵Kは記憶部102に保存される。
同様に、サーバ20の認証処理部201は、以下により共有鍵Kを計算する(ステップS314)。
K=H(σ||σ||σ||sid)
なお、この共有鍵Kは記憶部202に保存される。
これにより、端末10とサーバ20は、共有鍵Kを用いて以降のメッセージ(つまり、ClientHello及びServerHelloよりも後のメッセージ)を暗号化してTLS1.3の処理を行うことができる(ステップS315)。
<評価>
最後に、本実施形態に係る認証システム1が実行する認証処理(IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3による認証処理)の評価について説明する。一例として、上記の実施例3で説明した認証処理と、従来のTLSとを比較した。比較対象としては、既存の暗号スイートの中で比較的通信量が少ないTLS1.3-X25519-Ed25519を採用した。
TLSのハンドシェイク中の各メッセージのパケットサイズを観測した結果とその合計とを以下の表1に示す。なお、表1では、IDベース暗号に用いられる識別子のデータサイズは20バイトとしている。また、表1では、参考として、TLS1.3-P256-RSAにおける各メッセージのパケットサイズとその合計も記載している。
Figure 0007231051000002
上記の表1に示すように、実施例3は、TLS1.3-X25519-Ed25519と比較して通信量を約34%に削減できていることがわかる。このため、実施例3は、例えば、IoT機器向けの通信規格であるRoLaWANやSigfox等でTLSを使用する場合にも有効であることがわかる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更等が可能である。
1 認証システム
10 端末
20 サーバ
101 認証処理部
102 記憶部
201 認証処理部
202 記憶部
N 通信ネットワーク

Claims (7)

  1. 通信ネットワークを介して接続されるサーバとの間でTLS1.3による認証を行う端末であって、
    IDベース暗号を用いた相互認証付き鍵交換によって前記TLS1.3のハンドシェイク中のメッセージを暗号化するための共有鍵の生成に必要な第1の識別子と第1の短期公開鍵とが含まれるClientHelloメッセージを前記サーバに送信する送信手段と、
    前記共有鍵の生成に必要な第2の識別子と第2の短期公開鍵とが含まれるServerHelloメッセージを前記サーバから受信する受信手段と、
    前記第1の識別子と前記第1の短期公開鍵と前記第2の識別子と前記第2の短期公開鍵とを用いて、前記共有鍵を生成する生成手段と、
    を有することを特徴とする端末。
  2. 前記第1の識別子は前記端末を識別する識別情報、前記第2の識別子は前記サーバを識別する識別情報であり、
    前記第1の短期公開鍵は前記端末が生成した第1の短期秘密鍵と楕円曲線上の部分群の生成元とから生成され、前記第2の短期公開鍵は前記サーバが生成した第2の短期秘密鍵と楕円曲線上の部分群の生成元とから生成される、ことを特徴とする請求項1に記載の端末。
  3. 通信ネットワークを介して接続される端末との間でTLS1.3による認証を行うサーバであって、
    IDベース暗号を用いた相互認証付き鍵交換によって前記TLS1.3のハンドシェイク中のメッセージを暗号化するための共有鍵の生成に必要な第1の識別子と第1の短期公開鍵とが含まれるClientHelloメッセージを前記端末から受信する受信手段と、
    前記共有鍵の生成に必要な第2の識別子と第2の短期公開鍵とが含まれるServerHelloメッセージを前記端末に送信する送信手段と、
    前記第1の識別子と前記第1の短期公開鍵と前記第2の識別子と前記第2の短期公開鍵とを用いて、前記共有鍵を生成する生成手段と、
    を有することを特徴とするサーバ。
  4. 前記第1の識別子は前記端末を識別する識別情報、前記第2の識別子は前記サーバを識別する識別情報であり、
    前記第1の短期公開鍵は前記端末が生成した第1の短期秘密鍵と楕円曲線上の部分群の生成元とから生成され、前記第2の短期公開鍵は前記サーバが生成した第2の短期秘密鍵と楕円曲線上の部分群の生成元とから生成される、ことを特徴とする請求項3に記載のサーバ。
  5. 通信ネットワークを介して接続されるサーバとの間でTLS1.3による認証を行う端末が、
    IDベース暗号を用いた相互認証付き鍵交換によって前記TLS1.3のハンドシェイク中のメッセージを暗号化するための共有鍵の生成に必要な第1の識別子と第1の短期公開鍵とが含まれるClientHelloメッセージを前記サーバに送信する送信手順と、
    前記共有鍵の生成に必要な第2の識別子と第2の短期公開鍵とが含まれるServerHelloメッセージを前記サーバから受信する受信手順と、
    前記第1の識別子と前記第1の短期公開鍵と前記第2の識別子と前記第2の短期公開鍵とを用いて、前記共有鍵を生成する生成手順と、
    を実行することを特徴とする方法。
  6. 通信ネットワークを介して接続される端末との間でTLS1.3による認証を行うサーバが、
    IDベース暗号を用いた相互認証付き鍵交換によって前記TLS1.3のハンドシェイク中のメッセージを暗号化するための共有鍵の生成に必要な第1の識別子と第1の短期公開鍵とが含まれるClientHelloメッセージを前記端末から受信する受信手順と、
    前記共有鍵の生成に必要な第2の識別子と第2の短期公開鍵とが含まれるServerHelloメッセージを前記端末に送信する送信手順と、
    前記第1の識別子と前記第1の短期公開鍵と前記第2の識別子と前記第2の短期公開鍵とを用いて、前記共有鍵を生成する生成手順と、
    を実行することを特徴とする方法。
  7. コンピュータを、請求項1若しくは2に記載の端末における各手段、又は、請求項3若しくは4に記載のサーバにおける各手段、として機能させるためのプログラム。
JP2021550916A 2019-10-04 2019-10-04 端末、サーバ、方法及びプログラム Active JP7231051B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/039253 WO2021064978A1 (ja) 2019-10-04 2019-10-04 端末、サーバ、方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2021064978A1 JPWO2021064978A1 (ja) 2021-04-08
JP7231051B2 true JP7231051B2 (ja) 2023-03-01

Family

ID=75337937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021550916A Active JP7231051B2 (ja) 2019-10-04 2019-10-04 端末、サーバ、方法及びプログラム

Country Status (3)

Country Link
US (1) US20220337403A1 (ja)
JP (1) JP7231051B2 (ja)
WO (1) WO2021064978A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100031042A1 (en) 2007-10-26 2010-02-04 Telcordia Technologies, Inc. Method and System for Secure Session Establishment Using Identity-Based Encryption (VDTLS)
EP2173055A1 (en) 2007-12-14 2010-04-07 Huawei Technologies Co., Ltd. A method, a system, a client and a server for key negotiating

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160140240A (ko) * 2015-05-29 2016-12-07 한밭대학교 산학협력단 Wave 시스템을 위한 에러제어 기능을 개선한 보안통신 프로토콜을 이용한 데이터통신 방법 및 그 장치
JP6613909B2 (ja) * 2016-01-15 2019-12-04 富士通株式会社 相互認証方法、認証装置および認証プログラム
CN108111467B (zh) * 2016-11-24 2021-04-09 华为技术有限公司 身份认证方法与设备及系统
US10721219B2 (en) * 2018-06-28 2020-07-21 Nxp B.V. Method for establishing a secure communication session in a communications system
WO2020223319A1 (en) * 2019-05-01 2020-11-05 Nix John A Distributed eap-tls authentication for wireless networks with concealed subscriber identities

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100031042A1 (en) 2007-10-26 2010-02-04 Telcordia Technologies, Inc. Method and System for Secure Session Establishment Using Identity-Based Encryption (VDTLS)
EP2173055A1 (en) 2007-12-14 2010-04-07 Huawei Technologies Co., Ltd. A method, a system, a client and a server for key negotiating

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HUANG, M.,Identity-Based Encryption (IBE) Cipher Suites for Transport Layer Security (TLS) draft-huang-tls-ibe,Internet-Draft,IETF,2009年07月03日,pp.1-16,[令和2年6月11日検索], インターネット:<URL:http://tools.ietf.org/html/draft-huang-tls-ibe-00>
酒見 由美 ほか,IDベース認証機能付鍵交換のTLS適用とその実装評価,2016 Symoposium on Cryptography and Information Security,日本,一般社団法人電子情報通信学会,2016年01月19日,pp.1-8
酒見 由美 ほか,事前共有鍵に基づくTLSのIDベース暗号による拡張,研究報告コンピュータセキュリティ(CSEC),日本,情報処理学会,2013年07月11日,Vol.2013-CSEC-62, No.7,pp.1-7

Also Published As

Publication number Publication date
JPWO2021064978A1 (ja) 2021-04-08
WO2021064978A1 (ja) 2021-04-08
US20220337403A1 (en) 2022-10-20

Similar Documents

Publication Publication Date Title
RU2542911C2 (ru) Установление однорангового сеанса с малым временем ожидания
US9237133B2 (en) Detecting matched cloud infrastructure connections for secure off-channel secret generation
EP3205048B1 (en) Generating a symmetric encryption key
US20200195446A1 (en) System and method for ensuring forward &amp; backward secrecy using physically unclonable functions
JP5829574B2 (ja) 認証システム、認証装置、認証方法、及びプログラム
Srikanth et al. An efficient Key Agreement and Authentication Scheme (KAAS) with enhanced security control for IIoT systems
Djellali et al. User authentication scheme preserving anonymity for ubiquitous devices
US11791993B2 (en) Shared key system, information processing apparatus, equipment, shared key method and program
JP2022539458A (ja) エンティティに参加するためにネットワーク識別子を使用してブロックチェーンに関連するトランザクションを実現するためのコンピュータ実施システム及び方法
Chien et al. Efficient MQTT platform facilitating secure group communication
US20210051006A1 (en) Blind key generator and exchange
Nicholson et al. Lokey: Leveraging the sms network in decentralized, end-to-end trust establishment
JP4924943B2 (ja) 認証付鍵交換システム、認証付鍵交換方法およびプログラム
JP7231051B2 (ja) 端末、サーバ、方法及びプログラム
JP7298686B2 (ja) 鍵交換システム、通信装置及びプログラム
CN110572788B (zh) 基于非对称密钥池和隐式证书的无线传感器通信方法和系统
WO2021010444A1 (ja) 鍵交換システム、通信装置、鍵交換方法及びプログラム
Tsai et al. High-efficient multi-key exchange protocol based on three-party authentication
JP7289478B2 (ja) 鍵交換システム、機器、情報処理装置、鍵交換方法及びプログラム
JP7377495B2 (ja) 暗号システム及び方法
JP2011254146A (ja) 通信内容監査方法および通信内容監査システム
CN116112152B (zh) 跨企业网络的数据共享安全加密方法和装置
Belej et al. The features of security of transfer and storage data for the Internet of Things in Cloud Database
JP2023175540A (ja) 鍵交換システム、情報処理装置、方法、及びプログラム
CN115001705A (zh) 一种基于加密设备的网络协议安全提升方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220311

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230130

R150 Certificate of patent or registration of utility model

Ref document number: 7231051

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150