JP7337763B2 - 通信システム、通信方法およびプログラム - Google Patents

通信システム、通信方法およびプログラム Download PDF

Info

Publication number
JP7337763B2
JP7337763B2 JP2020153219A JP2020153219A JP7337763B2 JP 7337763 B2 JP7337763 B2 JP 7337763B2 JP 2020153219 A JP2020153219 A JP 2020153219A JP 2020153219 A JP2020153219 A JP 2020153219A JP 7337763 B2 JP7337763 B2 JP 7337763B2
Authority
JP
Japan
Prior art keywords
communication system
random number
server
unit
external 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.)
Active
Application number
JP2020153219A
Other languages
English (en)
Other versions
JP2022047350A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2020153219A priority Critical patent/JP7337763B2/ja
Priority to US17/185,642 priority patent/US11616789B2/en
Publication of JP2022047350A publication Critical patent/JP2022047350A/ja
Application granted granted Critical
Publication of JP7337763B2 publication Critical patent/JP7337763B2/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/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key

Description

本発明の実施形態は、通信システム、通信方法およびプログラムに関する。
遠隔にある通信システムと通信する際、その通信システムが想定の通信相手であるかに加え、想定の状態であるかを検証する仕組みとしてリモートアテステーション(Remote Attestation)という技術が知られている。想定の状態を表す属性として、例えばハードウェアバージョンおよびソフトウェアバージョンが挙げられる。リモートアテステーションにより、通信相手が不正に改造されている場合であっても、不正に改造されていることを検出することができる。
特開2014-048800号公報
The Entity Attestation Token (EAT) draft-ietf-rats-eat-03、[2020年8月12日検索]、インターネット(URL:https://tools.ietf.org/html/draft-ietf-rats-eat-03)
リモートアテステーションにより通信相手の状態が正しいことが検証された場合、例えば暗号鍵を用いて通信相手との間で通信が行われる。通信システム(通信装置)間の通信に用いられる暗号鍵の交換などの手続きがより効率的に実行されることが望ましい。
実施形態の通信システムは、送信部と、受信部と、通信制御部と、を含む。送信部は、乱数を暗号化した暗号乱数を外部通信システムに送信する。受信部は、暗号乱数および外部通信システムの属性情報を用いて外部通信システムが生成する、外部通信システムを検証するための検証情報を受信する。通信制御部は、乱数に基づく暗号鍵を用いて、検証情報により検証された外部通信システムとの間の通信を行う。
第1の実施形態にかかる通信システムのブロック図。 第1の実施形態のサーバのブロック図。 クライアント情報のデータ構造の一例を示す図。 第1の実施形態のクライアントのブロック図。 第1の実施形態における検証処理のシーケンス図。 第2の実施形態にかかる通信システムのブロック図。 第2の実施形態の代表ノードの構成のブロック図。 第3の実施形態にかかる通信システムのブロック図。 第3の実施形態のサーバのブロック図。 第3の実施形態のトークン検証サーバのブロック図。 第3の実施形態における検証処理のシーケンス図。 第4の実施形態のサーバのブロック図。 第4の実施形態のトークン検証サーバのブロック図。 第4の実施形態における検証処理のシーケンス図。 第5の実施形態のサーバのブロック図。 第5の実施形態のクライアントのブロック図。 第1から第5の実施形態にかかる装置のハードウェア構成図。
以下に添付図面を参照して、この発明にかかる通信システムの好適な実施形態を詳細に説明する。
最初に、リモートアテステーションの概要について説明する。説明の便宜上、通信システムに含まれる2つのノードの一方をクライアント、他方をサーバと呼ぶ。クライアントは、検証を受けるノードである。サーバは、リモートアテステーションによりクライアントを検証するノードである。双方向に検証を行う場合は、各ノードが、サーバとクライアントの両方の機能を備えればよい。
まずサーバは、クライアントに属性情報を要求する。このときサーバは、リプレイ攻撃防止のためのnonce(乱数)をクライアントに送信する。クライアントは、自身の属性情報を収集し、自身の秘密情報(公開鍵または共通鍵暗号方式の暗号鍵)により認証データを生成し、収集した属性情報、nonceおよび認証データを使用してトークンを生成する。トークンは、サーバがクライアントを検証するための検証情報に相当する。クライアントは、トークンをサーバへ送信する。サーバは、事前に送信したnonceと受信したトークンに含まれるnonceとが一致することを確認するとともに、認証データを検証する。サーバは、認証データの検証が成功した場合、クライアントから得た属性情報を確認し、このクライアントを受け入れるか否かなど何らかの判断処理を実行する。
以下の実施形態では、サーバは、クライアントの秘密情報で暗号化される乱数をnonceとしてクライアントへ送信する。クライアントは、属性情報をサーバへ送った後、nonceを自身の秘密情報で復号し、暗号化前の乱数を得る。以降、この乱数を暗号鍵とし、サーバとの通信の保護に使用する。サーバはクライアントの属性情報を確認し当該クライアントを受け入れることを判断したら、最初に生成した乱数をクライアントとの通信に使用する暗号鍵とし、クライアントとの通信の保護に使用する。このような処理により、ノード間の通信に用いられる暗号鍵の交換を効率的に実行可能となる。
(第1の実施形態)
図1は、第1の実施形態にかかる通信システムの構成の一例を示すブロック図である。図1に示すように、本実施形態の通信システムは、サーバ100と、クライアント200とが、ネットワーク300により接続される構成となっている。
サーバ100とクライアント200とは、ネットワーク300を介して通信できる。ネットワーク300は、典型的にはインターネットなどのオープンな広域ネットワークであるが、これに限られず、どのようなネットワークであってもよい。例えばネットワーク300は、閉域網でもよいし、ローカルエリアネットワークでもよい。
サーバ100は、クライアント200の属性情報に対する期待値を持つ。属性情報は、例えば、クライアント200の製造元、現在の構成情報、および、稼働状態である。そしてサーバ100は、アプリケーション通信などに先立ち、クライアント200の状態が期待値に合致するかどうかを検証する。このような検証処理をリモートアテステーションと呼ぶ。
なお図1では、サーバ100およびクライアント200をそれぞれ1個記載しているが、各装置の個数は2以上であってもよい。複数のクライアント200が備えられる場合、サーバ100は、クライアント200ごとにリモートアテステーションを行う。また、ネットワーク300は、複数の異なる形態のネットワークを含んでもよい。例えば、複数のサーバ100と複数のクライアント200とを備える構成の場合、各サーバ100および各クライアント200が、複数のネットワークのいずれかを用いるように構成してもよい。
図2は、サーバ100の機能構成例を示すブロック図である。図2に示すように、サーバ100は、記憶部121と、乱数生成部101と、暗号処理部102と、検証部104と、通信制御部110と、を備えている。
記憶部121は、サーバ100による各種処理で使用する各種情報を記憶する。例えば記憶部121は、クライアント200に関する情報(以下、クライアント情報)を記憶する。クライアント情報は、例えば、以下のような情報である。
・想定されるクライアント200の属性情報(属性情報の期待値)
・乱数生成部101が生成した乱数(リモートアテステーションによる検証後に暗号鍵として使用される情報)
・クライアント200の秘密情報(公開鍵暗号方式の公開鍵、または、共通鍵暗号方式の暗号鍵)
・クライアント200の秘密情報で暗号化された乱数(nonceとしてクライアント200へ送信される値)
・検証部104によるトークンの検証結果
図3は、記憶部121に記憶されるクライアント情報のデータ構造の一例を示す図である。図3に示すように、クライアント情報は、クライアント200を識別する情報(クライアント)と、トークンの検証結果と、暗号鍵と、暗号鍵の有効期限と、を含む。暗号鍵は、乱数生成部101が生成した乱数である。なお、図3のデータ構造は一例であり、これに限られるものではない。例えばクライアント情報は、上記のような情報および他の情報をさらに含んでもよい。
記憶部121、および、以下で説明する各記憶部は、フラッシュメモリ、メモリカード、RAM(Random Access Memory)、HDD(Hard Disk Drive)、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
乱数生成部101は、乱数を生成する。乱数の生成方法はどのような方法であってもよい。
暗号処理部102は、情報の暗号化処理および復号処理を実行する。例えば暗号処理部102は、クライアント200に事前に設定される秘密情報を用いて、乱数生成部101により生成された乱数を暗号化する。以下では、暗号化された乱数を暗号乱数という場合がある。
検証部104は、クライアント200から受信したトークンを検証する。トークンの検証方法は、リモートアテステーションで使用されるどのような方法であってもよい。
通信制御部110は、クライアント200などの外部通信システムとの間の通信を制御する。通信制御部110は、送信部111と、受信部112と、を備えている。なお、送信部111および受信部112の少なくとも一方は、通信制御部110の外部に備えられてもよい。
送信部111は、外部通信システムに対して情報を送信する。例えば送信部111は、暗号乱数を、リプレイ攻撃防止のためのnonceとしてクライアント200(外部通信システムの一例)に送信する。
受信部112は、外部通信システムから情報を受信する。例えば受信部112は、クライアント200からトークン(検証情報の一例)を受信する。
また、トークンにより検証された場合、通信制御部110は、乱数に基づく暗号鍵を用いてクライアント200との間の通信を行う。本実施形態では、通信制御部110は、乱数自体を暗号鍵として用いて通信を行う。
上記各部(乱数生成部101、暗号処理部102、検証部104、および、通信制御部110)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
図4は、クライアント200の機能構成例を示すブロック図である。図4に示すように、クライアント200は、記憶部221と、通信制御部210と、生成部202と、暗号処理部203と、を備えている。
記憶部221は、クライアント200による各種処理で使用する各種情報を記憶する。例えば記憶部221は、事前に設定される秘密情報(公開鍵暗号方式の鍵ペア、および、共通鍵暗号方式の暗号鍵の少なくとも一方)を記憶する。記憶部221は、典型的には耐タンパー性を持つハードウェアで実装される。これにより、秘密情報は安全に記憶される。
公開鍵暗号方式の鍵ペア、または、共通鍵暗号方式の暗号鍵が、リモートアテステーションで使用される。以下では、主に公開鍵暗号方式の鍵ペアが使用される場合を例に説明する。
通信制御部210は、サーバ100などの外部通信システムとの間の通信を制御する。通信制御部210は、送信部211と、受信部212と、を備えている。なお、送信部211および受信部212の少なくとも一方は、通信制御部210の外部に備えられてもよい。
送信部211は、外部通信システムに対して情報を送信する。例えば送信部211は、生成部202により生成されたトークンをサーバ100に送信する。
受信部212は、外部通信システムから情報を受信する。例えば受信部212は、サーバ100から暗号乱数であるnonceを受信する。
また、トークンにより検証された場合、通信制御部210は、乱数に基づく暗号鍵を用いてサーバ100との間の通信を行う。本実施形態では、通信制御部210は、乱数自体を暗号鍵として用いて通信を行う。
生成部202は、クライアント200を検証するためのトークン(検証情報)を生成する。例えば生成部202は、サーバ100からの指示に応じて、必要な属性情報を収集し、収集した属性情報と、サーバ100から受信したnonce(暗号乱数)とを使用してトークンを生成する。生成部202は、認証データを付与したトークンを生成してもよい。認証データは、例えば、例えば記憶部221に記憶された公開鍵により生成される署名であってもよい。
暗号処理部203は、情報の暗号化処理および復号処理を実行する。例えば暗号処理部203は、サーバ100から送信された暗号乱数を復号して乱数を得る。
上記各部(通信制御部210、生成部202、暗号処理部203)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPUなどのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
次に、このように構成された第1の実施形態にかかる通信システムによる検証処理について説明する。図5は、第1の実施形態における検証処理の一例を示すシーケンス図である。
まずサーバ100の乱数生成部101は、乱数を生成する(ステップS101)。暗号処理部102は、生成された乱数をクライアント200の公開鍵で暗号化する(ステップS102)。送信部111は、暗号処理の結果である暗号乱数をnonceとし、クライアント200へ送信する(ステップS103)。
クライアント200の生成部202は、クライアント200自身の属性情報と、nonceと、クライアント200の公開鍵で生成した認証データと、を含むトークンを生成する(ステップS104)。送信部211は、生成されたトークンをサーバ100へ送信する(ステップS105)。
サーバ100の検証部104は、受信部112により受信されたトークンを検証する(ステップS106)。例えば検証部104は、トークンに含まれる認証データとnonceとが正しいか否かを検証する。そして検証部104は、認証データとnonceとが正しい場合に、トークンに含まれる属性情報が、想定されるクライアント200の属性情報に合致するか否かを検証する。
一方、クライアント200の暗号処理部203は、nonceをクライアント200の秘密鍵で復号し、乱数を取り出す(ステップS107)。
以上の処理により、サーバ100およびクライアント200は、乱数を共有できる。以降、サーバ100とクライアント200は、共有した乱数を共通鍵暗号方式の暗号鍵として使用し、サーバ100とクライアント200間の通信を保護できるようになる。すなわち、リモートアテステーションの中で共有された暗号鍵を持つクライアント200でなければサーバ100にアプリケーションデータを送信できないように制御できる。
なお、クライアント200は、一般的なコンピュータ、携帯端末(携帯電話、スマートフォンなど)、カメラデバイス、および、センサデバイスなどの、どのような機器であってもよい。
サーバ100は、クラウドサービス上のサーバ、オンプレミス環境のサーバ、および、携帯電話網内の計算ノード(いわゆるMEC:Multi-access Edge Computing)などの、どのような形態のサーバであってもよい。
上記のようにクライアント200の秘密情報は、耐タンパー性を持つハードウェアに記憶されてもよいし、一般のメモリ(ストレージ)に記憶されてもよい。一実施形態として、SIM(Subscriber Identity Module)カードのようなICチップ内に秘密情報が記憶されてもよい。
また上記のように、双方向に検証を行う場合は、サーバ100とクライアント200とが役割を入れ替えてリモートアテステーションを実行する。この場合、図5で示すような処理が双方向で(2回)実行され、2回のリモートアテステーションにより2つの暗号鍵が共有される。通信の方向に応じて、2つの暗号鍵を使い分けるように構成してもよい。例えば、乱数(暗号鍵)を生成したノード、すなわち、サーバ100として機能するノードに対して情報を送信する場合に、このサーバ100で生成された暗号鍵を用いるように構成してもよい。
クライアント200が送信する属性情報は、例えば、製造元、ハードウェアバージョン、ハードウェア構成、ハードウェアのファームウェアバージョン、BIOS(Basic Input/Output System)、OS(オペレーティングシステム)、アプリケーションのソフトウェアバージョン、および、現在の稼働状態を含む。属性情報は、これらのすべてを含んでもよいし、これらのうち一部を含んでもよい。
公開鍵暗号方式の鍵ペアの代わりに、共通鍵暗号方式の暗号鍵が使用される場合、例えばステップS102では、乱数がクライアント200の暗号鍵で暗号化される。また、ステップS107では、nonceがクライアント200の暗号鍵で復号される。
このように、第1の実施形態にかかる通信システムは、乱数を暗号化した暗号乱数をリモートアテステーションのnonceとして用いるとともに、暗号乱数を復号して得られる乱数を暗号鍵として、以降の通信の保護に使用する。これにより、ノード間の通信に用いられる暗号鍵の交換を効率的に実行可能となる。
(第2の実施形態)
第2の実施形態にかかる通信システムは、クライアント200の代わりに、クライアントシステム200-2を備える。クライアントシステム200-2は、単一のデバイスではなく、複数の構成要素(デバイス、システム、ノードなど)を含む。
図6は、第2の実施形態にかかる通信システムの構成の一例を示すブロック図である。図6に示すように、本実施形態の通信システムは、サーバ100と、クライアントシステム200-2とが、ネットワーク300により接続される構成となっている。
第2の実施形態では、クライアント200の代わりにクライアントシステム200-2を備えることが第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかる通信システムのブロック図である図1と同様であるので、同一符号を付し、ここでの説明は省略する。
クライアントシステム200-2は、代表ノード400(代表通信システムの一例)と、ターゲットデバイス410aと、ターゲットシステム410bと、を備えている。
代表ノード400は、サーバ100との間の通信を行うノードである。ターゲットデバイス410aおよびターゲットシステム410bは、リモートアテステーションの対象となるデバイスおよびシステム(内部システムの一例)である。ターゲットデバイス410aおよびターゲットシステム410bは、それぞれ複数含まれてもよい。また、ターゲットデバイス410aおよびターゲットシステム410bのうち、いずれか一方が備えられてもよい。
ターゲットデバイス410aおよびターゲットシステム410bは、代表ノード400と、シリアル通信、および、ローカルエリアネットワークなどにより接続される。
ターゲットシステム410bは、複数のデバイスを含むシステムである。ターゲットシステム410bに含まれるデバイス、および、ターゲットデバイス410aは、どのようなデバイスであってもよいが、例えば、コンピュータ、携帯端末、カメラデバイス、および、センサデバイスなどである。
図7は、代表ノード400の構成の一例を示すブロック図である。図7に示すように、代表ノード400は、記憶部221と、通信制御部210と、生成部202-2と、暗号処理部203と、を備えている。代表ノード400の生成部202-2以外の構成は、第1の実施形態のクライアント200と同じであるため同一の符号を付し説明を省略する。
生成部202-2は、代表ノード400自身、ターゲットデバイス410a、および、ターゲットシステム410bのうち一部または全部から必要な属性情報を収集し、クライアントシステム200-2としてのトークンを生成する点が、第1の実施形態の生成部202と異なっている。
本実施形態の検証処理は、クライアント200がクライアントシステム200-2に置き換えられる以外は、第1の実施形態における検証処理を示す図5のシーケンス図と同様である。
ターゲットデバイス410aおよびターゲットシステム410bは、代表ノード400を経由してサーバ100と通信するか、または、サーバ100とは直接通信を行わない。いずれにしても、代表ノード400、ターゲットデバイス410aおよびターゲットシステム410bがサーバ100との間で送受信するデータは、検証処理で共有された暗号鍵(乱数)を用いて保護される。
このように、第2の実施形態では、複数の構成要素を含むクライアントシステムが備えられる通信システムに対して、第1の実施形態と同様の機能を実現できる。
(第3の実施形態)
第3の実施形態では、トークンの検証を実行するトークン検証サーバを備える例を説明する。
図8は、第3の実施形態にかかる通信システムの構成の一例を示すブロック図である。図8に示すように、本実施形態の通信システムは、サーバ100-3と、クライアント200と、トークン検証サーバ500-3とが、ネットワーク300により接続される構成となっている。
図9は、サーバ100-3の機能構成例を示すブロック図である。図9に示すように、サーバ100-3は、記憶部121-3と、乱数生成部101と、依頼部105-3と、通信制御部110と、を備えている。
第3の実施形態では、暗号処理部102および検証部104が削除されたこと、依頼部105-3が追加されたこと、並びに、記憶部121-3の機能が、第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかる通信システムのブロック図である図1と同様であるので、同一符号を付し、ここでの説明は省略する。
記憶部121-3は、トークンの検証に用いる情報を記憶する必要がない点が、上記実施形態の記憶部121と異なっている。トークンの検証に用いる情報は、例えば、想定されるクライアント200の属性情報である。
依頼部105-3は、トークン検証サーバ500-3に対する処理を依頼する。例えば依頼部105-3は、生成された乱数の暗号化をトークン検証サーバ500-3に依頼する。また依頼部105-3は、クライアント200から受信したトークンの検証をトークン検証サーバ500-3に依頼する。
図10は、トークン検証サーバ500-3の機能構成例を示すブロック図である。図10に示すように、トークン検証サーバ500-3は、記憶部521-3と、通信制御部510-3と、暗号処理部102と、検証部104と、を備えている。
暗号処理部102および検証部104は、第1の実施形態のサーバ100が備える暗号処理部102および検証部104と同様であるため、同一の符号を付し説明を省略する。
記憶部521-3は、トークン検証サーバ500-3による各種処理で使用する各種情報を記憶する。例えば記憶部521-3は、トークンの検証に用いる情報を記憶する。
通信制御部510-3は、サーバ100-3などの外部通信システムとの間の通信を制御する。例えば通信制御部510-3は、サーバ100-3からトークンの検証の依頼を受信する。また通信制御部510-3は、トークンの検証結果、および、暗号処理部102により暗号化された暗号乱数をサーバ100-3に送信する。
次に、このように構成された第3の実施形態にかかる通信システムによる検証処理について説明する。図11は、第3の実施形態における検証処理の一例を示すシーケンス図である。
サーバ100の乱数生成部101は、乱数を生成する(ステップS201)。依頼部105-3は、生成された乱数の暗号化をトークン検証サーバ500-3に依頼する(ステップS202)。
トークン検証サーバ500-3の暗号処理部102は、生成された乱数をクライアント200の公開鍵で暗号化する(ステップS203)。暗号処理部102は、クライアント200の公開鍵をサーバ100-3から受信してもよいし、記憶部521-3から読み出してもよい。通信制御部510-3は、暗号処理の結果である暗号乱数をサーバ100-3へ送信する(ステップS204)。
サーバ100-3の送信部111は、暗号乱数をnonceとし、クライアント200へ送信する(ステップS205)。
クライアント200による処理であるステップS206、ステップS207、ステップS211は、図5のステップS104、ステップS105、ステップS107と同様である。
サーバ100-3の依頼部105-3は、クライアント200から受信したトークンの検証をトークン検証サーバ500-3に依頼する(ステップS208)。
トークン検証サーバ500-3の検証部104は、受信されたトークンを検証する(ステップS209)。通信制御部510-3は、トークンの検証結果をサーバ100-3へ送信する(ステップS210)。
このように、本実施形態では、サーバ100-3により生成された乱数をトークン検証サーバが暗号化し、その結果をサーバ100-3に返送する。また、サーバ100-3は、返送された乱数(暗号乱数)をnonceとしてクライアント200に送信する。また、クライアント200から受信したトークンの検証は、サーバ100-3からトークン検証サーバ500-3に依頼される。トークン検証サーバ500-3の検証部104が、依頼されたトークンの検証を行う。
このように、第3の実施形態では、乱数の暗号化処理およびトークンの検証を、サーバとは異なるトークン検証サーバで実行可能となる。
(第4の実施形態)
第4の実施形態では、トークン検証サーバがさらに乱数の生成を実行する例を説明する。
第4の実施形態の通信システムの構成は、第3の実施形態の通信システムの構成を示す図8と同様である。第4の実施形態では、図8のサーバ100-3およびトークン検証サーバ500-3が、それぞれサーバ100-4およびトークン検証サーバ500-4に置き換えられる。
図12は、サーバ100-4の機能構成例を示すブロック図である。図12に示すように、サーバ100-4は、記憶部121-3と、依頼部105-4と、通信制御部110と、を備えている。
第4の実施形態では、乱数生成部101を削除したこと、および、依頼部105-4の機能が、第3の実施形態と異なっている。その他の構成および機能は、第3の実施形態にかかるサーバ100-3のブロック図である図9と同様であるので、同一符号を付し、ここでの説明は省略する。
依頼部105-4は、nonceの生成をトークン検証サーバ500-4に依頼する点が、第3の実施形態の依頼部105-3と異なっている。
図13は、トークン検証サーバ500-4の機能構成例を示すブロック図である。図13に示すように、トークン検証サーバ500-4は、記憶部521-3と、通信制御部510-3と、乱数生成部101と、暗号処理部102と、検証部104と、を備えている。
乱数生成部101、暗号処理部102および検証部104は、第1の実施形態のサーバ100が備える乱数生成部101、暗号処理部102および検証部104と同様であるため、同一の符号を付し説明を省略する。
第3の実施形態のトークン検証サーバ500-3と比較して、本実施形態のトークン検証サーバ500-4は、乱数生成部101が追加されている。乱数生成部101は、サーバ100-4からのnonce生成の依頼に応じて乱数を生成する。
次に、このように構成された第4の実施形態にかかる通信システムによる検証処理について説明する。図14は、第4の実施形態における検証処理の一例を示すシーケンス図である。
サーバ100の依頼部105-4は、nonceの生成をトークン検証サーバ500-4に依頼する(ステップS301)。
トークン検証サーバ500-4の乱数生成部101は、依頼に応じて乱数を生成する(ステップS302)。
以降のステップS303~S309、ステップS311は、第3の実施形態の検証処理を示す図11のステップS203~S209、ステップS211と同様である。なお、ステップS310ではステップS210と異なり、通信制御部510-3はトークンの検証結果に加えて暗号化前の乱数(暗号鍵)をサーバ100-4へ送信する(ステップS310)。
このように、第4の実施形態では、乱数の生成、乱数の暗号化処理およびトークンの検証を、サーバとは異なるトークン検証サーバで実行可能となる。
(第5の実施形態)
上記実施形態では、生成された乱数自体が暗号鍵として通信に用いられる例を説明した。第5の実施形態では、生成された乱数を鍵生成鍵(鍵生成のための鍵情報)として使用し、鍵生成鍵により生成された暗号鍵が通信に用いられる。
第5の実施形態の通信システムの構成は、第1の実施形態の通信システムの構成を示す図1と同様である。第5の実施形態では、図1のサーバ100およびクライアント200が、それぞれサーバ100-5およびクライアント200-5に置き換えられる。
図15は、サーバ100-5の機能構成例を示すブロック図である。図15に示すように、サーバ100-5は、記憶部121と、乱数生成部101と、暗号処理部102と、検証部104と、通信制御部110と、鍵生成部107-5と、を備えている。
第5の実施形態では、鍵生成部107-5を追加したことが第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかるサーバ100のブロック図である図2と同様であるので、同一符号を付し、ここでの説明は省略する。
鍵生成部107-5は、クライアント200-5との間で共有した乱数を鍵生成鍵として、クライアント200-5との間の通信で用いる暗号鍵を生成する。暗号鍵の生成方法はどのような方法であってもよいが、例えば、ハッシュ関数を用いたHMAC(Hash-based Message Authentication Code)を使用した方法を用いることができる。
図16は、クライアント200-5の機能構成例を示すブロック図である。図16に示すように、クライアント200-5は、記憶部221と、通信制御部210と、生成部202と、暗号処理部203と、鍵生成部207-5と、を備えている。
第5の実施形態では、鍵生成部207-5を追加したことが第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかるクライアント200のブロック図である図4と同様であるので、同一符号を付し、ここでの説明は省略する。
鍵生成部207-5は、サーバ100-5との間で共有した乱数を鍵生成鍵として、サーバ100-5との間の通信で用いる暗号鍵を生成する。暗号鍵の生成方法は、サーバ100-5の鍵生成部107-5と同じ生成方法とする。例えば、鍵生成鍵から暗号鍵を生成するための関数は、サーバ100-5とクライアント200-5との間で事前に共有されてもよいし、サーバ100-5とクライアント200-5との間の通信により設定されてもよい。
このような構成により、用途ごとに異なる暗号鍵を使用すること、および、リモートアテステーションの有効期限よりも短い暗号鍵を多数生成すること、などが可能となる。
また、暗号鍵を生成するために鍵生成鍵と組み合わせるデータは、例えば用途ごとに事前に設定されたデータを使用してもよいし、サーバ100-5とクライアント200-5との間の通信により設定されてもよいし、サーバ100-5とクライアント200-5とが独立に管理する時刻などの値を使用してもよいし、それらを組み合わせてもよい。
このように、第5の実施形態にかかる通信システムでは、サーバとクライアントとの間で共有した乱数を鍵生成鍵として用いることができる。
以上説明したとおり、第1から第5の実施形態によれば、リモートアテステーションにより想定の状態であると検証された通信相手とのみ安全な通信を行うための暗号鍵の交換を、より効率的に行うことができる。
次に、第1から第5の実施形態にかかる通信システムの各装置(クライアント、サーバ、トークン検証サーバ)のハードウェア構成について図17を用いて説明する。図17は、第1から第5の実施形態にかかる装置のハードウェア構成例を示す説明図である。
第1から第5の実施形態にかかる装置は、CPU51などの制御装置と、ROM(Read Only Memory)52やRAM53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
第1から第5の実施形態にかかる装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
第1から第5の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、第1から第5の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1から第5の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
第1から第5の実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した通信システムの各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100、100-4、100-5 サーバ
101 乱数生成部
102 暗号処理部
104 検証部
105-3、105-4 依頼部
107-5 鍵生成部
110 通信制御部
111 送信部
112 受信部
121、121-3 記憶部
200、200-5 クライアント
200-2 クライアントシステム
202 生成部
203 暗号処理部
207-5 鍵生成部
210 通信制御部
211 送信部
212 受信部
221 記憶部
300 ネットワーク
400 代表ノード
410a ターゲットデバイス
410b ターゲットシステム
500-3、500-4 トークン検証サーバ
510-3 通信制御部
521-3 記憶部

Claims (8)

  1. 乱数を暗号化した暗号乱数を外部通信システムに送信する送信部と、
    前記暗号乱数および前記外部通信システムの属性情報を用いて前記外部通信システムが生成する、前記外部通信システムを検証するための検証情報を受信する受信部と、
    前記乱数に基づく暗号鍵を用いて、前記検証情報により検証された前記外部通信システムとの間の通信を行う通信制御部と、
    を備える通信システム。
  2. 前記外部通信システムは、1以上の内部システムと、代表通信システムと、を含み、
    前記受信部は、前記代表通信システムが生成した前記検証情報を受信し、
    前記通信制御部は、前記暗号鍵を用いて、前記検証情報により検証された前記外部通信システムに含まれる前記代表通信システムとの間の通信を行う、
    請求項1に記載の通信システム。
  3. 前記外部通信システムから受信した前記検証情報を用いた検証処理を検証サーバに依頼する依頼部をさらに備え、
    前記通信制御部は、前記暗号鍵を用いて、前記検証情報を用いて前記検証サーバにより検証された前記外部通信システムとの間の通信を行う、
    請求項1に記載の通信システム。
  4. 乱数を生成すること、および、生成した乱数を暗号化した前記暗号乱数を生成することを検証サーバに依頼する依頼部をさらに備え、
    前記送信部は、前記検証サーバにより生成された前記暗号乱数を前記外部通信システムに送信する、
    請求項1に記載の通信システム。
  5. 前記乱数を鍵生成のための鍵情報として暗号鍵を生成する鍵生成部をさらに備え、
    前記通信制御部は、前記鍵生成部により生成された前記暗号鍵を用いて、前記検証情報により検証された前記外部通信システムとの間の通信を行う、
    請求項1に記載の通信システム。
  6. 乱数を暗号化した暗号乱数を外部通信システムに送信する送信ステップと、
    前記暗号乱数および前記外部通信システムの属性情報を用いて前記外部通信システムが生成する、前記外部通信システムを検証するための検証情報を受信する受信ステップと、
    前記乱数に基づく暗号鍵を用いて、前記検証情報により検証された前記外部通信システムとの間の通信を行う通信制御ステップと、
    を含む通信方法。
  7. コンピュータに、
    乱数を暗号化した暗号乱数を外部通信システムに送信する送信ステップと、
    前記暗号乱数および前記外部通信システムの属性情報を用いて前記外部通信システムが生成する、前記外部通信システムを検証するための検証情報を受信する受信ステップと、
    前記乱数に基づく暗号鍵を用いて、前記検証情報により検証された前記外部通信システムとの間の通信を行う通信制御ステップと、
    を実行させるためのプログラム。
  8. 通信システムであって、
    乱数を暗号化した暗号乱数を外部通信システムから受信する受信部と、
    前記暗号乱数および前記通信システムの属性情報を用いて、前記通信システムを検証するための検証情報を生成する生成部と、
    前記検証情報を前記外部通信システムに送信する送信部と、
    前記検証情報により検証された場合、前記乱数に基づく暗号鍵を用いて、前記外部通信システムとの間の通信を行う通信制御部と、
    を備える通信システム。
JP2020153219A 2020-09-11 2020-09-11 通信システム、通信方法およびプログラム Active JP7337763B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020153219A JP7337763B2 (ja) 2020-09-11 2020-09-11 通信システム、通信方法およびプログラム
US17/185,642 US11616789B2 (en) 2020-09-11 2021-02-25 Communication system, communication method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020153219A JP7337763B2 (ja) 2020-09-11 2020-09-11 通信システム、通信方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2022047350A JP2022047350A (ja) 2022-03-24
JP7337763B2 true JP7337763B2 (ja) 2023-09-04

Family

ID=80627284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020153219A Active JP7337763B2 (ja) 2020-09-11 2020-09-11 通信システム、通信方法およびプログラム

Country Status (2)

Country Link
US (1) US11616789B2 (ja)
JP (1) JP7337763B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301550A (ja) 2004-04-09 2005-10-27 Internatl Business Mach Corp <Ibm> プラットフォーム構成測定装置、プログラム及び方法、プラットフォーム構成認証装置、プログラム及び方法、プラットフォーム構成証明装置、プログラム及び方法、並びに、プラットフォーム構成開示装置、プログラム及び方法
JP2013508821A (ja) 2009-10-15 2013-03-07 インターデイジタル パテント ホールディングス インコーポレイテッド 加入方式のサービスにアクセスするための登録および資格証明ロールアウト
JP2019517080A (ja) 2016-05-24 2019-06-20 マイクロソフト テクノロジー ライセンシング,エルエルシー ハードウェアーベースのセキュアーな分離された領域を使用して電子デバイス上での著作権侵害および不正行為を防止すること

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5861597B2 (ja) 2012-08-30 2016-02-16 トヨタ自動車株式会社 認証システムおよび認証方法
US9565172B2 (en) * 2015-06-17 2017-02-07 Telefonaktiebolaget Lm Ericsson (Publ) Method for enabling a secure provisioning of a credential, and related wireless devices and servers
US10728249B2 (en) * 2016-04-26 2020-07-28 Garrett Transporation I Inc. Approach for securing a vehicle access port
WO2019036756A1 (en) * 2017-08-21 2019-02-28 Johnston Nigel Luke ECOSYSTEM CERTIFIED NUMERICALLY

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301550A (ja) 2004-04-09 2005-10-27 Internatl Business Mach Corp <Ibm> プラットフォーム構成測定装置、プログラム及び方法、プラットフォーム構成認証装置、プログラム及び方法、プラットフォーム構成証明装置、プログラム及び方法、並びに、プラットフォーム構成開示装置、プログラム及び方法
JP2013508821A (ja) 2009-10-15 2013-03-07 インターデイジタル パテント ホールディングス インコーポレイテッド 加入方式のサービスにアクセスするための登録および資格証明ロールアウト
JP2019517080A (ja) 2016-05-24 2019-06-20 マイクロソフト テクノロジー ライセンシング,エルエルシー ハードウェアーベースのセキュアーな分離された領域を使用して電子デバイス上での著作権侵害および不正行為を防止すること

Also Published As

Publication number Publication date
JP2022047350A (ja) 2022-03-24
US20220086171A1 (en) 2022-03-17
US11616789B2 (en) 2023-03-28

Similar Documents

Publication Publication Date Title
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
US10554393B2 (en) Universal secure messaging for cryptographic modules
US6389533B1 (en) Anonymity server
KR101130415B1 (ko) 비밀 데이터의 노출 없이 통신 네트워크를 통해 패스워드 보호된 비밀 데이터를 복구하는 방법 및 시스템
CN101394399B (zh) 使用严格约束网络访问控制协议的网络访问控制信息交换
TWI288552B (en) Method for implementing new password and computer readable medium for performing the method
US10594479B2 (en) Method for managing smart home environment, method for joining smart home environment and method for connecting communication session with smart device
US20100195824A1 (en) Method and Apparatus for Dynamic Generation of Symmetric Encryption Keys and Exchange of Dynamic Symmetric Key Infrastructure
US8904195B1 (en) Methods and systems for secure communications between client applications and secure elements in mobile devices
JP2009529832A (ja) 発見不可能、即ち、ブラック・データを使用するセキュアなデータ通信
US7266705B2 (en) Secure transmission of data within a distributed computer system
JP2012005129A (ja) 通信データの保護方法、セキュリティ・システム
CN110868291B (zh) 一种数据加密传输方法、装置、系统及存储介质
JP2008250931A (ja) 分散情報復元システム、情報利用装置、および、検証装置
US20160204933A1 (en) Personal information management system, method and service
KR20150135032A (ko) Puf를 이용한 비밀키 업데이트 시스템 및 방법
JP4794970B2 (ja) 秘密情報の保護方法及び通信装置
CN115473655B (zh) 接入网络的终端认证方法、装置及存储介质
JP7337763B2 (ja) 通信システム、通信方法およびプログラム
CN113824713B (zh) 一种密钥生成方法、系统及存储介质
JP2005175992A (ja) 証明書配布システムおよび証明書配布方法
KR102539418B1 (ko) Puf 기반 상호 인증 장치 및 방법
JP2008048166A (ja) 認証システム
KR100401063B1 (ko) 패스워드 기반 키교환 방법 및 그 시스템
JP2003169050A (ja) 鍵管理装置、鍵管理方法、これを用いた記憶媒体およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230630

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230823

R151 Written notification of patent or utility model registration

Ref document number: 7337763

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151