JP6919523B2 - セキュアエレメント、クライアント端末、情報処理方法及び情報処理プログラム - Google Patents

セキュアエレメント、クライアント端末、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
JP6919523B2
JP6919523B2 JP2017225014A JP2017225014A JP6919523B2 JP 6919523 B2 JP6919523 B2 JP 6919523B2 JP 2017225014 A JP2017225014 A JP 2017225014A JP 2017225014 A JP2017225014 A JP 2017225014A JP 6919523 B2 JP6919523 B2 JP 6919523B2
Authority
JP
Japan
Prior art keywords
secure element
server
client terminal
communication
terminal
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
JP2017225014A
Other languages
English (en)
Other versions
JP2019097032A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2017225014A priority Critical patent/JP6919523B2/ja
Publication of JP2019097032A publication Critical patent/JP2019097032A/ja
Application granted granted Critical
Publication of JP6919523B2 publication Critical patent/JP6919523B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

暗号化通信にセキュアなICチップを利用する技術分野に関する。
近年、普及し始めているIoT(Internet of Things)製品は、例えば、IoT製品が備えるセンサーで測定したデータをサーバ装置(以下、「サーバ」という場合がある)で取得すること、IoT製品をサーバにより遠隔管理することなどを目的として利用されることがある。そのため、IoT製品はインターネット等のネットワークを通じてサーバと接続されるが、安全に通信することが当然に求められる。安全に通信することを目的として一般的に用いられるTLS(Transport Layer Security)では、サーバと、IoT製品等のクライアント端末(以下、「端末」という場合がある)が初めて接続される場合であっても通信できるように、公開鍵暗号を使って相手を確認しつつ共通鍵を双方で共有してから、共通鍵暗号を使って相手と暗号化したデータを送受信するという手法を採用する。
IoT製品に限らず、サーバとTLS通信を行う端末は、TLS通信を行うために鍵情報を生成する処理や鍵情報を用いた処理など、複数種類の処理を行う。ところが、端末に対する攻撃によりこうした処理に係る鍵などの情報が流出し、安全な通信を阻害されるおそれがある。
特許文献1には、安全な通信経路を確立することを目的として、端末にセキュリティチップを接続して、セキュリティチップがクライアント証明書を記憶したり、サーバから受信した暗号化セッション鍵を復号化して、記憶したりする技術が開示されている。
特開2006−129143号公報
しかしながら、特許文献1に記載の技術は、セキュリティチップに、安全な通信経路を確立するために必要な一部のデータを記憶させたり、一部の処理を実行させたりしているが、必ずしも高度なセキュリティを確保できるわけではない。
また一方で、セキュリティチップとされるICチップが備えるCPUやメモリは、一般的にPC(Personal Computer)などが備えるそれらよりもロースペックのものであり、TLS通信のための全ての処理を実行すると処理時間が長くなるという問題がある。
そこで、本発明は、クライアント端末に接続されるセキュアエレメントであって、クライアント端末がサーバとの間で行う暗号化通信において、クライアント端末側について充分なセキュリティを確保することができるセキュアエレメント等を提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、サーバとの間で暗号化通信を行うクライアント端末に接続されるセキュアエレメントであって、前記クライアント端末が前記暗号化通信のために記憶する複数種類のデータのうち、前記クライアント端末と前記サーバとの間の通信の危険度に応じた少なくとも一部の種類のデータを、当該クライアント端末の代わりに記憶する記憶手段と、前記クライアント端末が前記暗号化通信のために行う複数の処理のうち、前記通信の危険度に応じた少なくとも一部の処理を、当該クライアント端末の代わりに行う処理手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載のセキュアエレメントであって、前記複数種類のデータは、プリマスターシークレット、マスターシークレット及びセッション鍵であることを特徴とする。
請求項3に記載の発明は、請求項1又は2に記載のセキュアエレメントであって、前記複数の処理は、プリマスターシークレットの生成処理、当該プリマスターシークレットの暗号化処理、署名の生成処理、マスターシークレットの生成処理、及び、セッション鍵の生成処理であることを特徴とする。
請求項4に記載の発明は請求項2に記載のセキュアエレメントであって、前記記憶手段は、前記危険度が所定のレベル以上である場合には、前記複数種類のデータを全て記憶することを特徴とする。
請求項5に記載の発明は、請求項3に記載のセキュアエレメントであって、前記処理手段は、前記危険度が第1レベルである場合には、前記複数の処理を全て行うことを特徴とする。
請求項6に記載の発明は、請求項5に記載のセキュアエレメントであって、前記処理手段は、前記危険度が前記第1レベルより低い第2レベルである場合には、前記複数の処理のうち、プリマスターシークレットの生成処理、当該プリマスターシークレットの暗号化処理、マスターシークレットの生成処理、及び、セッション鍵の生成処理を行うことを特徴とする。
請求項7に記載の発明は、請求項6に記載のセキュアエレメントであって、前記処理手段は、前記危険度が前記第2レベルより低い第3レベルである場合には、前記複数の処理のうち、署名の生成処理を行うことを特徴とする。
請求項8に記載の発明は、請求項4に記載のセキュアエレメントであって、前記記憶手段は、前記危険度が前記所定のレベルより低い場合には、前記複数種類のデータのうち、前記セッション鍵のみを記憶することを特徴とする。
請求項9に記載の発明は、サーバとの間で暗号化通信を行うとともに、セキュアエレメントが接続されたクライアント端末であって、前記暗号化通信のために記憶する複数種類のデータのうち、前記サーバとの間の通信の危険度に応じた少なくとも一部の種類のデータを、前記セキュアエレメントに送信して記憶させる第1制御手段と、前記暗号化通信のために行う複数の処理のうち、前記通信の危険度に応じた少なくとも一部の処理を前記セキュアエレメントに行わせる第2制御手段と、を備えることを特徴とする。
請求項10に記載の発明は、サーバとの間で暗号化通信を行うクライアント端末に接続され、記憶手段と処理手段を備えるセキュアエレメントによる情報処理方法であって、前記記憶手段が、前記クライアント端末が前記暗号化通信のために記憶する複数種類のデータのうち、前記クライアント端末と前記サーバとの間の通信の危険度に応じた少なくとも一部の種類のデータを、当該クライアント端末の代わりに記憶する記憶工程と、前記処理手段が、前記クライアント端末が前記暗号化通信のために行う複数の処理のうち、前記通信の危険度に応じた少なくとも一部の処理を、当該クライアント端末の代わりに行う処理工程と、を含むことを特徴とする。
請求項11に記載の発明は、サーバとの間で暗号化通信を行うクライアント端末に接続され、前記クライアント端末が前記暗号化通信のために記憶する複数種類のデータのうち、前記クライアント端末と前記サーバとの間の通信の危険度に応じた少なくとも一部の種類のデータを、当該クライアント端末の代わりに記憶する記憶手段を備えるセキュアエレメントに含まれるコンピュータを、前記クライアント端末が前記暗号化通信のために行う複数の処理のうち、前記通信の危険度に応じた少なくとも一部の処理を、当該クライアント端末の代わりに行う処理手段、として機能させることを特徴とする。
本発明によれば、クライアント端末がサーバとの暗号化通信のために記憶する複数種類のデータや、クライアント端末がサーバとの暗号化通信のために行う複数の処理について、セキュアエレメントがクライアント端末とサーバとの間の通信の危険度に応じた、一部の種類のデータを記憶したり、一部の処理を行ったりすることにより、クライアント端末がサーバとの間で行う暗号化通信において、クライアント端末側について充分なセキュリティを確保することができる。
本実施形態に係る通信システムSの概要構成例を示すブロック図である。 本実施形態に係る端末1の概要構成例を示すブロック図である。 本実施形態に係る端末1の記憶部12に記憶される危険度判定テーブルTの構成例を示す図である。 本実施形態に係るセキュアエレメント18の概要構成例を示すブロック図である。 は本実施形態に係るサーバ2の概要構成例を示すブロック図である。 本実施形態に係る端末1の制御部11による危険度判定処理の一例を示すフローチャートである。 本実施形態に係る通信システムSの動作例(危険度「3」の場合)を示すシーケンス図である。 本実施形態に係る通信システムSの動作例(危険度「2」の場合)を示すシーケンス図である。 本実施形態に係る通信システムSの動作例(危険度「1」の場合)を示すシーケンス図である。 変形例1に係る通信システムSの動作例を示すシーケンス図である。 変形例2に係る端末1の記憶部12に記憶される危険度判定テーブルT2の構成例を示す図である。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、端末とサーバを含む通信システムにおいて、端末に搭載されるICチップ(「セキュアエレメント(SE)」という)に対して本発明を適用した場合の実施の形態である。
まず、図1等を参照して、本実施形態に係る通信システムSと端末1の構成及び機能概要を説明する。
[1.通信システムSの構成]
図1は、本実施形態に係る通信システムSの概要構成例を示すブロック図である。通信システムSは、端末1とセキュアエレメント18とサーバ2−1、2−2、2−3(サーバ2−1、2−2、2−3をまとめてサーバ2という場合がある)を含んで構成され、端末1と各サーバ2は、ネットワークNWを介して相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、LAN(Local Area Network)、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
端末1は、温度センサーを備えており、周囲の温度を測定して得た温度データを記録するIoTデバイスである。サーバ2−1は、端末1の属するLAN外に設置されたサーバであり、端末1の保持する鍵情報を更新するサーバである。サーバ2−2は、端末1の属するLAN外に設置されたサーバであり、端末1の保持する鍵情報を更新しないサーバである。サーバ2−3は、端末1の属するLAN内に設置されたサーバである。
[2.端末1の構成]
図2は、本実施形態に係る端末1の概要構成例を示すブロック図である。図2に示すように、端末1は、制御部11、記憶部12、無線通信部13、表示部14、入力部15、SE(セキュアエレメント)インターフェース16等を備えて構成され、これらの構成要素はバス17を介して相互に接続される。また、セキュアエレメント18は、SEインターフェース16に接続されており、端末1とデータの送受信が可能となっている。
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、及びRAM(Random Access Memory)等により構成される。記憶部12は、例えばフラッシュメモリ等の不揮発性メモリにより構成される。上記ROMまたは記憶部12には、OS(Operating System)及びミドルウェアが記憶される。また、記憶部12には、端末1にインストールされたアプリケーションソフトウェア(アプリケーションプログラム言語から構成されるソフトウェア)等が記憶される。
また、記憶部12には危険度判定テーブルTが記憶される。図3は、危険度判定テーブルTの概要構成例を示す図である。危険度判定テーブルTには、「接続するサーバのアドレス」と、これに対応する「危険度」を示す情報が規定されている。具体的には、「鍵情報を更新する外部サーバのアドレス」と対応付けて「3(高)」が規定され、「その他の外部サーバのアドレス」と対応付けて「2(中)」が規定され、「同一LAN内のサーバのアドレス」と対応付けて「1(低)」が規定されている。なお、例えば、サーバ2−1は、「鍵情報を更新する外部サーバ」に該当し、サーバ2−2は、「その他の外部サーバ」に該当し、サーバ2−3は、「同一LAN内のサーバ」に該当する。
更に、記憶部12には、サーバ2−1との通信に利用するクライアント証明書、サーバ2−2との通信に利用するクライアント証明書、クライアント秘密鍵、サーバ2−3との通信に利用するクライアント証明書、サーバ公開鍵が記憶される。
無線通信部13は、アンテナを有し、無線LANルータ(又は移動体通信網における基地局)との間で行われる無線通信を制御する。表示部14は、例えば液晶パネルを有し、液晶パネルの表示制御を行うことにより、操作画面等を表示する。入力部15は、ユーザからの操作指示を受け付ける操作ボタンを有し、操作指示に応じた信号を制御部11に出力する。SEインターフェース16は、制御部11とセキュアエレメント18との間のインターフェースを担う。
[3.セキュアエレメント18の構成]
図4は、本実施形態に係るセキュアエレメント18の概要構成例を示すブロック図である。図4に示すように、セキュアエレメント18は、耐タンパー性を備えたICチップであり、CPU181、RAM182、フラッシュメモリ183、及びI/O回路184等を備え、これらの構成要素はバス185を介して相互に接続される。
RAM182には、例えばOS、ミドルウェア、各種アプリケーションが機能するうえで一時的に必要となるデータが記憶される。
フラッシュメモリ183は、例えばNOR型フラッシュメモリであって、OS、ミドルウェア及びアプリケーション等を記憶する。
また、フラッシュメモリ183は、サーバ2−1との通信に利用するサーバ公開鍵、クライアント秘密鍵、サーバ2−2との通信に利用するサーバ公開鍵、サーバ2−3との通信に利用するクライアント秘密鍵が記憶される。
I/O回路184は、ISO7816等によって定められた、C1〜C8の8個の接続端子を有する。ここで、C1端子は電源端子(VCC)であり、C5端子はグランド端子(GND)である。また、C2端子は、リセット端子(RST)であり、C3端子は、クロック端子(CLK)である。また、C7端子は、CPU181と制御部11との間の通信のために用いられる。
CPU181は、制御部11からコマンドを受信すると、当該コマンドに応じた処理を実行し、コマンドに対する応答を制御部11に対して行う。なお、CPU181は、端末1の制御部11に含まれるCPUより処理速度が遅いものが使用されている。
[4.サーバ2の構成]
次に、サーバ2の構成について説明する。図5に示すように、サーバ2は、大別して、制御部211、記憶部212、通信部213、表示部214及び操作部215を含んで構成されている。
記憶部212は、例えばハードディスクドライブ等により構成されており、OS(Operating System)、サービス提供プログラム、及び各種データを記憶する。
通信部213は、ネットワークNWに接続して、端末1等との通信状態を制御する。
表示部214は、例えば、液晶ディスプレイ等により構成されており、文字や画像等の情報を表示するようになっている。
操作部215は、例えば、キーボード、マウス等により構成されており、オペレータからの操作指示を受け付け、その指示内容を指示信号として制御部211に出力するようになっている。
制御部211は、CPU、ROM、RAM等により構成されている。そして、CPUが、ROMや記憶部212に記憶された各種プログラムを読み出し実行することにより各種機能を実現する。
[5.通信システムSの動作]
次に、通信システムSにおいて、端末1がサーバ2に接続して、暗号化通信(TLS通信)を行う際のフローについて説明する。まずは、図6を用いて、端末1が通信の危険度を判定する処理について説明し、次いで、図7−図9を用いて、危険度に応じたハンドシェイク(通信データを共通鍵により暗号化して通信を行うための事前処理)について説明する。
[5.1.端末1の動作]
図6を用いて、端末1がサーバ2に接続する際に行う危険度判定処理について説明する。なお、図6は、端末1の制御部11による危険度判定処理の一例を示すフローチャートである。
端末1の制御部11は、サーバ2に接続を開始する際、接続するサーバ2のアドレスを取得する(ステップS1)。
次に、制御部11は、危険度判定テーブルTを参照し、ステップS1の処理で取得したアドレスに基づいて危険度を判定し(ステップS2)、危険度判定処理を終了する。
すなわち、制御部11は、危険度判定処理により、接続するサーバ2に応じて、端末1とサーバ2の間の通信の危険度が「1」〜「3」の何れであるかを判定する。
[5.2.危険度「3」である場合の通信システムSの動作]
次に、図7を用いて、危険度判定処理により危険度が「3」と判定された場合における通信システムSの動作フローについて説明する。
まず、端末1の制御部11は、後述するマスターシークレットを生成するための乱数Aを生成する(ステップS101B)。次いで、制御部11は、ステップS101Bで生成した乱数Aを含むメッセージ「Client Hello」をサーバ2に送信する(ステップS102B)。また、制御部11は、ステップS101で生成した乱数Aをセキュアエレメント18に送信する(ステップS103B)。
メッセージ「Client Hello」を受信したサーバ2の制御部211は、後述するマスターシークレットを生成するための乱数Bを生成する(ステップS101A)。次いで、制御部11は、ステップS101Aで生成した乱数Bを含むメッセージ「Server Hello」を端末1に送信する(ステップS102A)。
メッセージ「Server Hello」を受信した端末1の制御部11は、メッセージ「Server Hello」に含まれる乱数Bをセキュアエレメント18に送信する(ステップS104B)。
次に、セキュアエレメント18のCPU181は、プリマスターシークレットと呼ばれる乱数を生成する(ステップS101C)。次いで、CPU181は、ステップS101Cで生成したプリマスターシークレットを、サーバ公開鍵により暗号化し(ステップS102C)、端末1に送信する(ステップS103C)。なお、CPU181は、プリマスターシークレットをフラッシュメモリ183に記憶させておく。
一方、サーバ2の制御部211は、ステップS102Aの終了後、メッセージ「Certificate Request」を端末1に送信する(ステップS103A)。メッセージ「Certificate Request」は、端末1に対してクライアント認証用の証明書(クライアント証明書)の送信を要求するメッセージである。次いで、制御部211は、メッセージ「Server Hello Done」を端末1に送信する(ステップS104A)。端末1はこれを受けると、メッセージを送信する側になる。
端末1の制御部11は、メッセージ「Certificate Request」に対して、クライアント証明書を含むメッセージ「Client Certficate」をサーバ2に送信する(ステップS105B)。なお、クライアント証明書は予め端末1の記憶部12に記憶しておくものとする。
これに対して、サーバ2の制御部211は、メッセージ「Client Certficate」を端末1から受信すると、これに含まれるクライアント証明書を検証し、クライアント公開鍵を取得する(ステップS105A)。
また、制御部11は、セキュアエレメント18から、暗号化されたプリマスターシークレットを受信すると、当該暗号化されたプリマスターシークレットを含むメッセージ「Client Key Exchange」をサーバ2に送信する(ステップS106B)。これに対して、サーバ2の制御部211は、暗号化されたプリマスターシークレットをサーバ秘密鍵で復号化して、プリマスターシークレットを取得する(ステップS106A)。
端末1の制御部11は、ステップS106Bの終了後、署名作成用データをセキュアエレメント18に送信する(ステップS107B)。なお、署名作成用データは、例えば、それまでにサーバ2との間でやり取りしたコマンドの総ハッシュ値である。
これに対して、セキュアエレメント18のCPU181は、署名作成用データとクライアント秘密鍵を用いて署名を生成し(ステップS104C)、端末1に送信する(ステップS105C)。
また、CPU181は、ステップS103Bで受信した乱数A、ステップS104Bで受信した乱数B、ステップS101Cで生成したプリマスターシークレットを用いて、マスターシークレットを生成し(ステップS106C)、次いで、セッション鍵を生成する(ステップS107C)。このとき、CPU181は、セッション鍵を生成したことを端末1に報告する。なお、CPU181は、マスターシークレット及びセッション鍵をフラッシュメモリ183に記憶させておく。
一方、端末1の制御部11は、セキュアエレメント18から署名を受信すると、当該署名を含むメッセージ「Certificate Verify」をサーバ2に送信する(ステップS108B)。また、制御部11は、セキュアエレメント18からセッション鍵を生成したことの報告を受けると、メッセージ「Client Finished」をサーバ2に送信する(ステップS109B)。
他方、サーバ2の制御部211は、端末1からメッセージ「Certificate Verify」を受信すると、これに含まれる署名の検証を、ステップS105Aの処理で取得したクライアント公開鍵を用いて行う。
次いで、制御部211は、ステップS102Bで受信した乱数A、ステップS101Aで生成した乱数B、ステップS106Aで取得したプリマスターシークレットを用いて、マスターシークレットを生成し(ステップS108A)、次いで、セッション鍵を生成する(ステップS109A)。そして、制御部211は、メッセージ「Server Finished」を端末1に送信する(ステップS110A)。
以降、端末1とサーバ2はセッション鍵(共通鍵)を用いてデータを暗号化して通信を行う。但し、端末1は、セッション鍵をセキュアエレメント18に記憶させているので、サーバ2から暗号化データを受信した際には、暗号化データをセキュアエレメント18に送信し、セキュアエレメント18にセッション鍵で復号化してもらったデータを受信する。また、端末1がサーバ2にデータ(例えば、温度データ)を送信する際には、当該データをセキュアエレメント18に送信し、セキュアエレメント18にセッション鍵で暗号化してもらった暗号化データを受信して、これをサーバ2に送信する。
[5.3.危険度「2」である場合の通信システムSの動作]
次に、図8を用いて、危険度判定処理により危険度が「2」と判定された場合における通信システムSの動作フローについて説明する。但し、一部の処理を除き、危険度判定処理により危険度が「3」と判定された場合における通信システムSの動作フローと同様であるため、ここでは相違点を中心に説明する。なお、図8では、図7の処理内容と同様の処理について図7と同じ符号(ステップ番号)を付している。
危険度が「3」の場合と危険度が「2」の場合の相違点は、危険度が「3」の場合、セキュアエレメント18のCPU181が署名を生成(ステップS104C)するのに対して、危険度が「2」の場合、端末1の制御部11が署名を生成する点である。
すなわち、端末1の制御部11は、ステップS106Bの終了後、署名作成用データとクライアント秘密鍵を用いて署名を生成し(ステップS201B)、端末1に送信する(ステップS108B)。
一方、セキュアエレメント18のCPU181は、ステップS103Cの終了後、ステップS106Cに移行する。
このように、危険度判定処理により危険度が「2」と判定された場合、署名生成をセキュアエレメント18のCPU181ではなく、端末1の制御部11で行うため、危険度判定処理により危険度が「3」と判定された場合と比較して、署名生成に要する処理時間を短縮することができる。なお、危険度が「2」と判定された場合、フラッシュメモリ183に記憶されるのは、プリマスターシークレット、クライアント秘密鍵、マスターシークレット及びセッション鍵のうち、プリマスターシークレット、マスターシークレット及びセッション鍵の3つのデータである。
[5.4.危険度「1」である場合の通信システムSの動作]
次に、図9を用いて、危険度判定処理により危険度が「1」と判定された場合における通信システムSの動作フローについて説明する。但し、一部の処理を除き、危険度判定処理により危険度が「3」と判定された場合における通信システムSの動作フローと同様であるため、ここでは相違点を中心に説明する。なお、図9では、図7の処理内容と同様の処理について図7と同じ符号(ステップ番号)を付している。
危険度が「3」の場合と危険度が「1」の場合の相違点は、危険度が「3」の場合、セキュアエレメント18のCPU181が、プリマスターシークレットの生成及び暗号化(ステップS101C、ステップS102C)、及び、マスターシークレットの生成(ステップS106C)及びセッション鍵の生成(ステップS107C)を行うのに対して、危険度が「1」の場合、端末1の制御部11がこれらの処理を行う点である。
すなわち、端末1の制御部11は、ステップS101Bの処理で乱数Aを生成し、サーバ2から乱数Bを受信すると、プリマスターシークレットと呼ばれる乱数を生成し(ステップS301B)、次いでこれをサーバ公開鍵により暗号化する(ステップS302B)。そして、制御部11は、当該暗号化されたプリマスターシークレットを含むメッセージ「Client Key Exchange」をサーバ2に送信する(ステップS106B)。
また、端末1の制御部11は、プリマスターシークレットを生成すると、ステップS101Bで生成した乱数A、ステップS102Aで受信した乱数B、ステップS301Bで生成したプリマスターシークレットを用いて、マスターシークレットを生成し(ステップS303B)、次いで、セッション鍵を生成する(ステップS304B)。そして、制御部11は、当該セッション鍵を記憶部12に記憶させる。
一方、セキュアエレメント18のCPU181は、端末1から署名作成用データを受信するまで待機しており、署名作成用データを受信すると、ステップS104C及びステップS105Cを実行する。
このように、危険度判定処理により危険度が「1」と判定された場合、プリマスターシークレットの生成及び暗号化や、マスターシークレット及びセッション鍵の生成をセキュアエレメント18のCPU181ではなく、端末1の制御部11で行うため、危険度判定処理により危険度が「3」や「2」と判定された場合と比較して、これらの処理に要する処理時間を短縮することができる。
以上説明したように、本実施形態のセキュアエレメント18は、サーバ2との間で暗号化通信を行う端末1(「クライアント端末」の一例)に接続され、フラッシュメモリ183(「記憶手段」の一例)が、端末1が暗号化通信のために記憶するプリマスターシークレット、マスターシークレット、セッション鍵(「複数種類のデータ」の一例)のうち、端末1とサーバ2との間の通信の危険度に応じた少なくとも一部の種類のデータを、端末1の代わりに記憶し、CPU181(「処理手段」の一例)が、端末1が暗号化通信のために行うプリマスターシークレットの生成処理、当該プリマスターシークレットの暗号化処理、署名の生成処理、マスターシークレットの生成処理、及び、セッション鍵の生成処理(「複数の処理」の一例)のうち、通信の危険度に応じた少なくとも一部の処理を、端末1の代わりに行う。
したがって、本実施形態のセキュアエレメント18によれば、端末1がサーバ2との暗号化通信のために記憶するプリマスターシークレット、マスターシークレット及びセッション鍵や、端末1がサーバ2との暗号化通信のために行うプリマスターシークレットの生成処理、当該プリマスターシークレットの暗号化処理、署名の生成処理、マスターシークレットの生成処理、及び、セッション鍵の生成処理について、セキュアエレメント18が端末1とサーバ2との間の通信の危険度に応じた、一部の種類のデータを記憶したり、一部の処理を行ったりすることにより、端末1がサーバ2との間で行う暗号化通信において、端末1側について充分なセキュリティを確保することができる。
また、CPU181は、危険度が「3(高)」である場合には、プリマスターシークレットの生成処理、当該プリマスターシークレットの暗号化処理、署名の生成処理、マスターシークレットの生成処理、及び、セッション鍵の生成処理を行う。
更に、セキュアエレメント18のフラッシュメモリ183は、危険度が「3(高)」又は「2(中)」(「所定のレベル以上」の一例)である場合には、プリマスターシークレット、マスターシークレット及びセッション鍵を記憶する。また、CPU181は、危険度が「2(中)」である場合には、プリマスターシークレットの生成処理、当該プリマスターシークレットの暗号化処理、マスターシークレットの生成処理、及び、セッション鍵の生成処理を行う。
更にまた、CPU181は、危険度が「1(低)」である場合には、署名の生成処理を行う。
このように、本実施形態のセキュアエレメント18は、危険度が高いほど、暗号化通信のために記憶するデータを多く記憶し、また、危険度が高いほど、暗号化通信のために行う処理を多く行う。これにより、端末1がサーバ2との間で行う暗号化通信において、端末1側について充分なセキュリティを確保することができる。また、セキュアエレメント18のCPU181は、端末1側について必要以上にセキュリティを確保しないため、端末1の制御部11と比較して処理速度の落ちるセキュアエレメント18のCPU181が不要な処理を行うことによる時間の無駄を削減することができる。
[6.変形例]
次に、上記実施形態の変形例について説明する。なお、以下に説明する変形例は適宜組み合わせることができる。
[6.1.変形例1]
次に、図10を用いて、危険度判定処理により危険度が「1」と判定された場合における通信システムSの動作の変形例1について説明する。変形例1では、図10に示すように、図9におけるセキュアエレメント18のCPU181が行う署名生成を、図8と同様に、端末1の制御部11が行うものである。なお、図10では、図8、図9の処理内容と同様の処理について図8、図9と同じ符号(ステップ番号)を付している。
変形例1は、危険度判定処理により危険度が「2」と判定された場合(図8参照)と、危険度判定処理により危険度が「1」と判定された場合(図9参照)の組み合わせ例であるが、端末1の制御部11はステップS304Bの処理で生成したセッション鍵を、セキュアエレメント18に送信して、記憶させる。つまり、端末1の制御部11はセッション鍵の生成までの処理を行うが、セッション鍵は端末1の記憶部12ではなくセキュアエレメント18に記憶される。なお、変形例1において危険度が「1」(「所定のレベルより低い」の一例)と判定された場合、フラッシュメモリ183に記憶されるのは、プリマスターシークレット、マスターシークレット及びセッション鍵のうち、セッション鍵だけである。
なお、変形例1では、図10の処理を危険度が「1」と判定された場合における例として説明したが、例えば、危険度判定処理において危険度を「1」〜「4」の4段階で判定することとし(危険度判定テーブルTも危険度「4」の行を追加しておくこととする)、図7の処理を危険度が「4」と判定された場合に実行し、図8の処理を危険度が「3」と判定された場合に実行し、図9の処理を危険度が「2」と判定された場合に実行し、図10の処理を危険度が「1」と判定された場合に実行することとしてもよい。
[6.2.変形例2]
上記実施形態では、図6の危険度判定処理における危険度判定に、図3の危険度判定テーブルTを参照することとしたが、これに代えて、図11の危険度判定テーブルT2を参照することとしてもよい。図11は、危険度判定テーブルT2の概要構成例を示す図である。危険度判定テーブルT2には、「通信の目的」と、これに対応する「危険度」を示す情報が規定されている。具体的には、「端末ソフトウェアの更新」と対応付けて「3(高)」が規定され、「温度データの送信」と対応付けて「2(中)」が規定され、「テストデータの送信」と対応付けて「1(低)」が規定されている。
[6.3.変形例3]
上記実施形態では、端末1とサーバ2の間の通信の危険度を端末1の制御部11が判定することとしたが、サーバ2の制御部211やセキュアエレメント18のCPU181が判定することとしてもよい。
サーバ2の制御部211が危険度を判定する場合であれば、危険度判定テーブルTの代わりに、例えば、「接続するクライアント端末のアドレス」と危険度を3段階(「3(高)」、「2(中)」、「1(低)」)で規定する危険度判定テーブル(図示しない)を記憶部212に記憶させる。このとき、危険度判定テーブルは、例えば、「鍵情報の更新対象である外部端末のアドレス」と対応付けて「3(高)」を規定し、「その他の外部端末のアドレス」と対応付けて「2(中)」を規定し、「同一LAN内の端末のアドレス」と対応付けて「1(低)」を規定するようにする。そして、制御部211は、端末1と接続する際に、端末1のアドレスを取得し、当該危険度判定テーブルを参照して危険度を判定することとする。
また、セキュアエレメント18のCPU181が危険度を判定する場合であれば、危険度判定テーブルTをフラッシュメモリ183に記憶させておき、端末1がサーバ2に接続する際に、制御部11がセキュアエレメント18に危険度判定処理を依頼し、判定結果を受け取ることとする。具体的には、制御部11は、サーバ2と接続する際に、サーバ2のアドレスを取得し、当該アドレスとともに危険度判定処理の依頼をセキュアエレメント18に対して行う。そして、セキュアエレメント18のCPU181は、フラッシュメモリ183に記憶させている危険度判定テーブルTを参照して、端末1から受け取ったアドレスに基づいて危険度判定を行い、危険度を端末1に返信する。
[6.4.変形例4]
上記実施形態では、端末1が温度センサーを備えており、端末1が温度データをサーバ2に送信する通信システムSについて説明したが、例えば、端末1の代わりである水道メーターに通信機能を持たせるとともにセキュアエレメントを設け、サーバ2に水道使用量データを送信する通信システムとしてもよい。そして、例えば、水道メーターが水道使用量データを送信する場合には危険度「低」として通信を行い、水道メーターのソフトウェアをアップデートするための通信を行う場合には危険度「高」として通信を行うこととしてもよい。
また、セキュアエレメントとしてのUSIMカードを備えるスマートフォンとサーバ2の通信システムにおいて、スマートフォンがブラウザでwebページを表示するための通信を行う場合には危険度「低」として通信を行い、スマートフォンのファームウェアのアップデートや、クレジット決済に係る通信を行う場合には危険度「高」として通信を行うこととしてもよい。
なお、上記実施形態では、危険度を3段階に分けることとしたが、用途やセキュリティポリシーに従い、4段階以上に分けてもよいし、2段階にしてもよい。
1 端末
11 制御部
12 記憶部
13 無線通信部
14 表示部
15 入力部
16 SEインターフェース
17 バス
18 セキュアエレメント
181 CPU
182 RAM
183 フラッシュメモリ
184 I/O回路
185 バス
2 サーバ

Claims (11)

  1. サーバとの間で暗号化通信を行うクライアント端末に接続されるセキュアエレメントであって、
    前記クライアント端末が前記暗号化通信のために記憶する複数種類のデータのうち、前記クライアント端末と前記サーバとの間の通信の危険度に応じた少なくとも一部の種類のデータを、当該クライアント端末の代わりに記憶する記憶手段と、
    前記クライアント端末が前記暗号化通信のために行う複数の処理のうち、前記通信の危険度に応じた少なくとも一部の処理を、当該クライアント端末の代わりに行う処理手段と、
    を備えることを特徴とするセキュアエレメント。
  2. 請求項1に記載のセキュアエレメントであって、
    前記複数種類のデータは、プリマスターシークレット、マスターシークレット及びセッション鍵であることを特徴とするセキュアエレメント。
  3. 請求項1又は2に記載のセキュアエレメントであって、
    前記複数の処理は、プリマスターシークレットの生成処理、当該プリマスターシークレットの暗号化処理、署名の生成処理、マスターシークレットの生成処理、及び、セッション鍵の生成処理であることを特徴とするセキュアエレメント。
  4. 請求項2に記載のセキュアエレメントであって、
    前記記憶手段は、前記危険度が所定のレベル以上である場合には、前記複数種類のデータを全て記憶することを特徴とするセキュアエレメント。
  5. 請求項3に記載のセキュアエレメントであって、
    前記処理手段は、前記危険度が第1レベルである場合には、前記複数の処理を全て行うことを特徴とするセキュアエレメント。
  6. 請求項5に記載のセキュアエレメントであって、
    前記処理手段は、前記危険度が前記第1レベルより低い第2レベルである場合には、前記複数の処理のうち、プリマスターシークレットの生成処理、当該プリマスターシークレットの暗号化処理、マスターシークレットの生成処理、及び、セッション鍵の生成処理を行うことを特徴とするセキュアエレメント。
  7. 請求項6に記載のセキュアエレメントであって、
    前記処理手段は、前記危険度が前記第2レベルより低い第3レベルである場合には、前記複数の処理のうち、署名の生成処理を行うことを特徴とするセキュアエレメント。
  8. 請求項4に記載のセキュアエレメントであって、
    前記記憶手段は、前記危険度が前記所定のレベルより低い場合には、前記複数種類のデータのうち、前記セッション鍵のみを記憶することを特徴とするセキュアエレメント。
  9. サーバとの間で暗号化通信を行うとともに、セキュアエレメントが接続されたクライアント端末であって、
    前記暗号化通信のために記憶する複数種類のデータのうち、前記サーバとの間の通信の危険度に応じた少なくとも一部の種類のデータを、前記セキュアエレメントに送信して記憶させる第1制御手段と、
    前記暗号化通信のために行う複数の処理のうち、前記通信の危険度に応じた少なくとも一部の処理を前記セキュアエレメントに行わせる第2制御手段と、
    を備えることを特徴とするクライアント端末。
  10. サーバとの間で暗号化通信を行うクライアント端末に接続され、記憶手段と処理手段を備えるセキュアエレメントによる情報処理方法であって、
    前記記憶手段が、前記クライアント端末が前記暗号化通信のために記憶する複数種類のデータのうち、前記クライアント端末と前記サーバとの間の通信の危険度に応じた少なくとも一部の種類のデータを、当該クライアント端末の代わりに記憶する記憶工程と、
    前記処理手段が、前記クライアント端末が前記暗号化通信のために行う複数の処理のうち、前記通信の危険度に応じた少なくとも一部の処理を、当該クライアント端末の代わりに行う処理工程と、
    を含むことを特徴とする情報処理方法。
  11. サーバとの間で暗号化通信を行うクライアント端末に接続され、前記クライアント端末が前記暗号化通信のために記憶する複数種類のデータのうち、前記クライアント端末と前記サーバとの間の通信の危険度に応じた少なくとも一部の種類のデータを、当該クライアント端末の代わりに記憶する記憶手段を備えるセキュアエレメントに含まれるコンピュータを、
    前記クライアント端末が前記暗号化通信のために行う複数の処理のうち、前記通信の危険度に応じた少なくとも一部の処理を、当該クライアント端末の代わりに行う処理手段、
    として機能させることを特徴とする情報処理プログラム。
JP2017225014A 2017-11-22 2017-11-22 セキュアエレメント、クライアント端末、情報処理方法及び情報処理プログラム Active JP6919523B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017225014A JP6919523B2 (ja) 2017-11-22 2017-11-22 セキュアエレメント、クライアント端末、情報処理方法及び情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017225014A JP6919523B2 (ja) 2017-11-22 2017-11-22 セキュアエレメント、クライアント端末、情報処理方法及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2019097032A JP2019097032A (ja) 2019-06-20
JP6919523B2 true JP6919523B2 (ja) 2021-08-18

Family

ID=66972092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017225014A Active JP6919523B2 (ja) 2017-11-22 2017-11-22 セキュアエレメント、クライアント端末、情報処理方法及び情報処理プログラム

Country Status (1)

Country Link
JP (1) JP6919523B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4000111B2 (ja) * 2003-12-19 2007-10-31 株式会社東芝 通信装置および通信方法
JP2006129143A (ja) * 2004-10-29 2006-05-18 Toppan Printing Co Ltd 秘密情報送受信システム及び方法、サーバー装置及びプログラム、並びに鍵情報保持装置
JP2006261802A (ja) * 2005-03-15 2006-09-28 Ricoh Co Ltd 情報処理装置、画像処理装置及び画像形成装置
US9176838B2 (en) * 2012-10-19 2015-11-03 Intel Corporation Encrypted data inspection in a network environment
JP5992632B2 (ja) * 2012-11-21 2016-09-14 アップル インコーポレイテッド アクセス制御を管理するためのポリシーベース技法
EP2819057B1 (en) * 2013-06-24 2017-08-09 Nxp B.V. Data processing system, method of initializing a data processing system, and computer program product
KR101684076B1 (ko) * 2015-03-18 2016-12-20 문종섭 사물인터넷에서 스마트 디바이스 또는 스마트 센서와 네트워크 게이트웨이 사이의 안전한 데이터 전달을 위한 통신 시스템

Also Published As

Publication number Publication date
JP2019097032A (ja) 2019-06-20

Similar Documents

Publication Publication Date Title
US10547605B2 (en) Communication device, communication method, communication system, and non-transitory computer readable medium
CN110855791B (zh) 一种区块链节点部署方法及相关设备
WO2019120091A1 (zh) 身份认证方法、系统及计算设备
EP3255832B1 (en) Dynamic encryption method, terminal and server
US11303431B2 (en) Method and system for performing SSL handshake
WO2018090763A1 (zh) 一种终端主密钥的设置方法和装置
EP3782062B1 (en) Password reset for multi-domain environment
US11803398B2 (en) Computing device and associated methods providing browser launching of virtual sessions in an application
CN109842616B (zh) 账号绑定方法、装置及服务器
US20150271170A1 (en) Information processing apparatus, information processing system, information processing method, and recording medium
WO2017091987A1 (zh) 一种终端间的安全交互方法及装置
CN113301537B (zh) 用于建立通信连接的方法、装置、电子设备以及存储介质
JP6919523B2 (ja) セキュアエレメント、クライアント端末、情報処理方法及び情報処理プログラム
WO2020049754A1 (ja) 情報処理方法、情報処理プログラム、情報処理装置及び情報処理システム
US11212178B2 (en) Control system, electronic device, and control method
US20220014358A1 (en) Private key cloud storage
JP6965790B2 (ja) 電子情報記憶媒体、コマンド処理方法、及びプログラム
CN112242989A (zh) 信息处理装置以及记录媒体
US11924286B2 (en) Encrypted communication processing apparatus, encrypted communication processing system, and non-transitory recording medium
EP4092957A1 (en) Secure and trusted peer-to-peer offline communication systems and methods
JP6334275B2 (ja) 認証装置、認証方法、認証プログラム、及び認証システム
WO2022257928A1 (zh) 安全加速服务部署方法、装置、介质及设备
JP6801448B2 (ja) 電子情報記憶媒体、認証システム、認証方法、及び認証アプリケーションプログラム
JP2019062395A (ja) 管理装置、管理方法、およびコンピュータプログラム
WO2022177613A1 (en) Computing device and associated methods providing browser launching of virtual sessions in an application

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210528

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210705

R150 Certificate of patent or registration of utility model

Ref document number: 6919523

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150