特許第6408536号(P6408536)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧
特許6408536通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム
<>
  • 特許6408536-通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム 図000002
  • 特許6408536-通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム 図000003
  • 特許6408536-通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム 図000004
  • 特許6408536-通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム 図000005
  • 特許6408536-通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム 図000006
  • 特許6408536-通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム 図000007
  • 特許6408536-通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム 図000008
  • 特許6408536-通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム 図000009
  • 特許6408536-通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム 図000010
  • 特許6408536-通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム 図000011
  • 特許6408536-通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム 図000012
  • 特許6408536-通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム 図000013
  • 特許6408536-通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6408536
(24)【登録日】2018年9月28日
(45)【発行日】2018年10月17日
(54)【発明の名称】通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラム
(51)【国際特許分類】
   H04L 9/08 20060101AFI20181004BHJP
   H04L 9/10 20060101ALI20181004BHJP
   H04L 9/32 20060101ALI20181004BHJP
   H04L 9/14 20060101ALI20181004BHJP
   G06F 21/44 20130101ALI20181004BHJP
【FI】
   H04L9/00 601B
   H04L9/00 621A
   H04L9/00 675A
   H04L9/00 641
   G06F21/44
【請求項の数】13
【全頁数】28
(21)【出願番号】特願2016-224583(P2016-224583)
(22)【出願日】2016年11月17日
(65)【公開番号】特開2018-82362(P2018-82362A)
(43)【公開日】2018年5月24日
【審査請求日】2017年9月5日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106909
【弁理士】
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100064908
【弁理士】
【氏名又は名称】志賀 正武
(74)【代理人】
【識別番号】100146835
【弁理士】
【氏名又は名称】佐伯 義文
(72)【発明者】
【氏名】竹森 敬祐
(72)【発明者】
【氏名】磯原 隆将
(72)【発明者】
【氏名】本間 輝彰
【審査官】 金木 陽一
(56)【参考文献】
【文献】 特開2005−117207(JP,A)
【文献】 特開2014−53675(JP,A)
【文献】 特開2015−233201(JP,A)
【文献】 特表2015−532791(JP,A)
【文献】 特開2016−92811(JP,A)
【文献】 特開2016−127598(JP,A)
【文献】 特表2016−513899(JP,A)
【文献】 国際公開第2009/004411(WO,A1)
【文献】 国際公開第2010/039445(WO,A1)
【文献】 米国特許出願公開第2016/0127132(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
G06F 21/44
H04L 9/10
H04L 9/14
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
通信装置とサーバ装置との間の通信を行う通信システムであり、
前記サーバ装置と、前記通信装置に搭載される第1演算処理装置と、前記通信装置に搭載されるセキュアエレメントである第2演算処理装置とを備え、
前記第2演算処理装置は、
前記通信装置と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納する通信装置鍵記憶部と、
前記第1鍵を使用して前記サーバ装置との間で認証処理を行う通信装置認証処理部と、
前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する通信装置鍵送受部と、を備え、
前記第1演算処理装置は、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信装置通信部を備え、
前記サーバ装置は、
前記通信装置と同じ前記第1鍵及び前記第2鍵を格納するサーバ鍵記憶部と、
前記第1鍵を使用して前記通信装置の前記通信装置認証処理部との間で認証処理を行うサーバ認証処理部と、
前記第2鍵を使用する暗号通信により、前記通信装置の前記通信装置鍵送受部との間で前記第3鍵を送信又は受信するサーバ鍵送受部と、
前記第3鍵を使用して、前記通信装置の前記通信装置通信部との間で暗号通信を行うサーバ通信部と、を備える、
通信システム。
【請求項2】
通信装置とサーバ装置との間の通信を行う通信システムであり、
前記サーバ装置と、前記通信装置に搭載される第1演算処理装置と、前記通信装置に搭載されるセキュアエレメントである第2演算処理装置とを備え、
前記第2演算処理装置は、
前記通信装置と前記サーバ装置との間の通信に使用される第1鍵を格納する第2通信装置鍵記憶部と、
前記第1鍵を使用して前記サーバ装置との間で認証処理を行う通信装置認証処理部と、を備え、
前記第1演算処理装置は、
前記通信装置と前記サーバ装置との間の通信に使用される第2鍵を格納する第1通信装置鍵記憶部と、
前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する通信装置鍵送受部と、
前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信装置通信部と、を備え、
前記サーバ装置は、
前記通信装置と同じ前記第1鍵及び前記第2鍵を格納するサーバ鍵記憶部と、
前記第1鍵を使用して前記通信装置の前記通信装置認証処理部との間で認証処理を行うサーバ認証処理部と、
前記第2鍵を使用する暗号通信により、前記通信装置の前記通信装置鍵送受部との間で前記第3鍵を送信又は受信するサーバ鍵送受部と、
前記第3鍵を使用して、前記通信装置の前記通信装置通信部との間で暗号通信を行うサーバ通信部と、を備える、
通信システム。
【請求項3】
前記第2演算処理装置は、
マスタ鍵を格納する通信装置マスタ鍵記憶部と、
前記マスタ鍵と前記通信装置に対応する通信装置対応識別子とを使用して前記第1鍵及び前記第2鍵を生成する通信装置鍵生成部と、
をさらに備える請求項1又は2のいずれか1項に記載の通信システム。
【請求項4】
前記サーバ装置は、
前記通信装置と同じマスタ鍵を格納するサーバマスタ鍵記憶部と、
前記マスタ鍵と前記通信装置に対応する通信装置対応識別子とを使用して前記第1鍵及び前記第2鍵を生成するサーバ鍵生成部と、
をさらに備える請求項1から3のいずれか1項に記載の通信システム。
【請求項5】
前記第1演算処理装置は、前記通信装置対応識別子を前記第2演算処理装置と前記サーバ装置とに通知する通信装置対応識別子通知部、
をさらに備える請求項3又は4のいずれか1項に記載の通信システム。
【請求項6】
サーバ装置と通信を行う通信装置であり、
第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、
前記第2演算処理装置は、
前記通信装置と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納する通信装置鍵記憶部と、
前記第1鍵を使用して前記サーバ装置との間で認証処理を行う通信装置認証処理部と、
前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する通信装置鍵送受部と、を備え、
前記第1演算処理装置は、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信装置通信部を備える、
通信装置。
【請求項7】
サーバ装置と通信を行う通信装置であり、
第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、
前記第2演算処理装置は、
前記通信装置と前記サーバ装置との間の通信に使用される第1鍵を格納する第2通信装置鍵記憶部と、
前記第1鍵を使用して前記サーバ装置との間で認証処理を行う通信装置認証処理部と、を備え、
前記第1演算処理装置は、
前記通信装置と前記サーバ装置との間の通信に使用される第2鍵を格納する第1通信装置鍵記憶部と、
前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する通信装置鍵送受部と、
前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信装置通信部と、を備える、
通信装置。
【請求項8】
通信装置と通信を行うサーバ装置であり、
前記通信装置と同じ第1鍵及び第2鍵を格納するサーバ鍵記憶部と、
前記第1鍵を使用して前記通信装置のセキュアエレメントである第2演算処理装置の通信装置認証処理部との間で認証処理を行うサーバ認証処理部と、
前記第2鍵を使用する暗号通信により、前記通信装置の通信装置鍵送受部との間で第3鍵を送信又は受信するサーバ鍵送受部と、
前記第3鍵を使用して、前記通信装置の通信装置通信部との間で暗号通信を行うサーバ通信部と、
を備えるサーバ装置。
【請求項9】
通信装置とサーバ装置との間の通信方法であり、
前記通信装置は、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、
前記第2演算処理装置が、前記通信装置と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納する鍵記憶ステップと、
前記第2演算処理装置が、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う認証処理ステップと、
前記第2演算処理装置が、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する鍵送受ステップと、
前記第1演算処理装置が、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信ステップと、
を含む通信方法。
【請求項10】
通信装置とサーバ装置との間の通信方法であり、
前記通信装置は、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、
前記第2演算処理装置が、前記通信装置と前記サーバ装置との間の通信に使用される第1鍵を格納する第1鍵記憶ステップと、
前記第2演算処理装置が、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う認証処理ステップと、
前記第1演算処理装置が、前記通信装置と前記サーバ装置との間の通信に使用される第2鍵を格納する第2鍵記憶ステップと、
前記第1演算処理装置が、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する鍵送受ステップと、
前記第1演算処理装置が、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信ステップと、
を含む通信方法。
【請求項11】
サーバ装置と通信を行う通信装置に備わる、セキュアエレメントである第2コンピュータに、
前記通信装置と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納する通信装置鍵記憶機能と、
前記第1鍵を使用して前記サーバ装置との間で認証処理を行う通信装置認証処理機能と、
前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する通信装置鍵送受機能と、を実現させ、
前記通信装置に備わる第1コンピュータに、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信装置通信機能を実現させるためのコンピュータプログラム。
【請求項12】
サーバ装置と通信を行う通信装置に備わる、セキュアエレメントである第2コンピュータに、
前記通信装置と前記サーバ装置との間の通信に使用される第1鍵を格納する第2通信装置鍵記憶機能と、
前記第1鍵を使用して前記サーバ装置との間で認証処理を行う通信装置認証処理機能と、を実現させ、
前記通信装置に備わる第1コンピュータに、
前記通信装置と前記サーバ装置との間の通信に使用される第2鍵を格納する第1通信装置鍵記憶機能と、
前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する通信装置鍵送受機能と、
前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信装置通信機能と、を実現させるためのコンピュータプログラム。
【請求項13】
通信装置と通信を行うサーバ装置のコンピュータに、
前記通信装置と同じ第1鍵及び第2鍵を格納するサーバ鍵記憶機能と、
前記第1鍵を使用して前記通信装置のセキュアエレメントである第2演算処理装置の通信装置認証処理部との間で認証処理を行うサーバ認証処理機能と、
前記第2鍵を使用する暗号通信により、前記通信装置の通信装置鍵送受部との間で第3鍵を送信又は受信するサーバ鍵送受機能と、
前記第3鍵を使用して、前記通信装置の通信装置通信部との間で暗号通信を行うサーバ通信機能と、
を実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システム、通信装置、サーバ装置、通信方法、及びコンピュータプログラムに関する。
【背景技術】
【0002】
信号機、気象観測センサー等の特定用途の組込み機器が、社会の至る所に設置されている。これらの組込み機器に搭載されているIoTデバイスは、インターネットに接続され、情報を送受信することができる。こうしたモノのインターネット(Internet of Things:IoT)の世界では、IoTシステムは、多種多様で膨大な数の非力なIoTデバイスを含む。IoTシステムに含まれるサーバは、IoTデバイスが送信した情報を取得すると、該情報を処理する。
通信データの秘匿を図る技術の一つとして公開鍵暗号方式が知られている。公開鍵暗号方式では、一般に、PKI(Public Key Infrastructure、公開鍵基盤)を利用して公開鍵(公開鍵証明書)がやり取りされる(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】ITpro、“情報セキュリティ入門 − PKI(後編)−−−X.509証明書とPKIの仕組み”、[平成28年11月15日検索]、インターネット<URL:http://itpro.nikkeibp.co.jp/article/COLUMN/20060725/244233/>
【発明の概要】
【発明が解決しようとする課題】
【0004】
インターネットに偽のIoTデバイスが接続され、該偽のIoTデバイスから誤った情報がサーバへ送信されることが想定される。この場合、サーバが処理した結果は誤ったものになってしまう。しかしながら、インターネットに接続されるIoTデバイスが真のIoTデバイスであるか偽のIoTデバイスであるかの真贋を判定することは難しい。
また、IoTデバイスのセキュリティが侵害されるおそれがある。しかしながら、非力なIoTデバイスに高度なセキュリティ対策機能を追加することは難しい。
本発明は、上記問題を解決すべくなされたもので、IoTシステム等の通信システムに含まれるIoTデバイス等の通信装置のセキュリティを向上させることを目的とする。
【課題を解決するための手段】
【0005】
(1)本発明の一態様は、通信装置とサーバ装置との間の通信を行う通信システムであり、前記サーバ装置と、前記通信装置に搭載される第1演算処理装置と、前記通信装置に搭載されるセキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置は、前記通信装置と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納する通信装置鍵記憶部と、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う通信装置認証処理部と、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する通信装置鍵送受部と、を備え、前記第1演算処理装置は、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信装置通信部を備え、前記サーバ装置は、前記通信装置と同じ前記第1鍵及び前記第2鍵を格納するサーバ鍵記憶部と、前記第1鍵を使用して前記通信装置の前記通信装置認証処理部との間で認証処理を行うサーバ認証処理部と、前記第2鍵を使用する暗号通信により、前記通信装置の前記通信装置鍵送受部との間で前記第3鍵を送信又は受信するサーバ鍵送受部と、前記第3鍵を使用して、前記通信装置の前記通信装置通信部との間で暗号通信を行うサーバ通信部と、を備える、通信システムである。
【0006】
(2)本発明の一態様は、通信装置とサーバ装置との間の通信を行う通信システムであり、前記サーバ装置と、前記通信装置に搭載される第1演算処理装置と、前記通信装置に搭載されるセキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置は、前記通信装置と前記サーバ装置との間の通信に使用される第1鍵を格納する第2通信装置鍵記憶部と、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う通信装置認証処理部と、を備え、前記第1演算処理装置は、前記通信装置と前記サーバ装置との間の通信に使用される第2鍵を格納する第1通信装置鍵記憶部と、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する通信装置鍵送受部と、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信装置通信部と、を備え、前記サーバ装置は、前記通信装置と同じ前記第1鍵及び前記第2鍵を格納するサーバ鍵記憶部と、前記第1鍵を使用して前記通信装置の前記通信装置認証処理部との間で認証処理を行うサーバ認証処理部と、前記第2鍵を使用する暗号通信により、前記通信装置の前記通信装置鍵送受部との間で前記第3鍵を送信又は受信するサーバ鍵送受部と、前記第3鍵を使用して、前記通信装置の前記通信装置通信部との間で暗号通信を行うサーバ通信部と、を備える、通信システムである。
【0007】
(3)本発明の一態様は、上記(1)又は(2)のいずれかの通信システムにおいて、前記第2演算処理装置は、マスタ鍵を格納する通信装置マスタ鍵記憶部と、前記マスタ鍵と前記通信装置に対応する通信装置対応識別子とを使用して前記第1鍵及び前記第2鍵を生成する通信装置鍵生成部と、をさらに備える通信システムである。
(4)本発明の一態様は、上記(1)から(3)のいずれかの通信システムにおいて、前記サーバ装置は、前記通信装置と同じマスタ鍵を格納するサーバマスタ鍵記憶部と、前記マスタ鍵と前記通信装置に対応する通信装置対応識別子とを使用して前記第1鍵及び前記第2鍵を生成するサーバ鍵生成部と、をさらに備える通信システムである。
(5)本発明の一態様は、上記(3)又は(4)のいずれかの通信システムにおいて、前記第1演算処理装置は、前記通信装置対応識別子を前記第2演算処理装置と前記サーバ装置とに通知する通信装置対応識別子通知部、をさらに備える通信システムである。
【0008】
(6)本発明の一態様は、サーバ装置と通信を行う通信装置であり、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置は、前記通信装置と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納する通信装置鍵記憶部と、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う通信装置認証処理部と、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する通信装置鍵送受部と、を備え、前記第1演算処理装置は、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信装置通信部を備える、通信装置である。
【0009】
(7)本発明の一態様は、サーバ装置と通信を行う通信装置であり、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置は、前記通信装置と前記サーバ装置との間の通信に使用される第1鍵を格納する第2通信装置鍵記憶部と、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う通信装置認証処理部と、を備え、前記第1演算処理装置は、前記通信装置と前記サーバ装置との間の通信に使用される第2鍵を格納する第1通信装置鍵記憶部と、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する通信装置鍵送受部と、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信装置通信部と、を備える、通信装置である。
【0010】
(8)本発明の一態様は、通信装置と通信を行うサーバ装置であり、前記通信装置と同じ第1鍵及び第2鍵を格納するサーバ鍵記憶部と、前記第1鍵を使用して前記通信装置のセキュアエレメントである第2演算処理装置の通信装置認証処理部との間で認証処理を行うサーバ認証処理部と、前記第2鍵を使用する暗号通信により、前記通信装置の通信装置鍵送受部との間で第3鍵を送信又は受信するサーバ鍵送受部と、前記第3鍵を使用して、前記通信装置の通信装置通信部との間で暗号通信を行うサーバ通信部と、を備えるサーバ装置である。
【0011】
(9)本発明の一態様は、通信装置とサーバ装置との間の通信方法であり、前記通信装置は、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置が、前記通信装置と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納する鍵記憶ステップと、前記第2演算処理装置が、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う認証処理ステップと、前記第2演算処理装置が、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する鍵送受ステップと、前記第1演算処理装置が、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信ステップと、を含む通信方法である。
【0012】
(10)本発明の一態様は、通信装置とサーバ装置との間の通信方法であり、前記通信装置は、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置が、前記通信装置と前記サーバ装置との間の通信に使用される第1鍵を格納する第1鍵記憶ステップと、前記第2演算処理装置が、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う認証処理ステップと、前記第1演算処理装置が、前記通信装置と前記サーバ装置との間の通信に使用される第2鍵を格納する第2鍵記憶ステップと、前記第1演算処理装置が、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する鍵送受ステップと、前記第1演算処理装置が、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信ステップと、を含む通信方法である。
【0013】
(11)本発明の一態様は、サーバ装置と通信を行う通信装置に備わる、セキュアエレメントである第2コンピュータに、前記通信装置と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納する通信装置鍵記憶機能と、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う通信装置認証処理機能と、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する通信装置鍵送受機能と、を実現させ、前記通信装置に備わる第1コンピュータに、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信装置通信機能を実現させるためのコンピュータプログラムである。
【0014】
(12)本発明の一態様は、サーバ装置と通信を行う通信装置に備わる、セキュアエレメントである第2コンピュータに、前記通信装置と前記サーバ装置との間の通信に使用される第1鍵を格納する第2通信装置鍵記憶機能と、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う通信装置認証処理機能と、を実現させ、前記通信装置に備わる第1コンピュータに、前記通信装置と前記サーバ装置との間の通信に使用される第2鍵を格納する第1通信装置鍵記憶機能と、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する通信装置鍵送受機能と、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う通信装置通信機能と、を実現させるためのコンピュータプログラムである。
【0015】
(13)本発明の一態様は、通信装置と通信を行うサーバ装置のコンピュータに、前記通信装置と同じ第1鍵及び第2鍵を格納するサーバ鍵記憶機能と、前記第1鍵を使用して前記通信装置のセキュアエレメントである第2演算処理装置の通信装置認証処理部との間で認証処理を行うサーバ認証処理機能と、前記第2鍵を使用する暗号通信により、前記通信装置の通信装置鍵送受部との間で第3鍵を送信又は受信するサーバ鍵送受機能と、前記第3鍵を使用して、前記通信装置の通信装置通信部との間で暗号通信を行うサーバ通信機能と、を実現させるためのコンピュータプログラムである。
【発明の効果】
【0016】
本発明によれば、IoTシステム等の通信システムに含まれるIoTデバイス等の通信装置のセキュリティを向上させることができる。
【図面の簡単な説明】
【0017】
図1】一実施形態に係る通信システムの構成例1(通信システム1)を示す図である。
図2】一実施形態に係るサーバ装置2000の構成例を示すブロック図である。
図3】一実施形態に係るIoTデバイス1040のハードウェア構成例を示すブロック図である。
図4】一実施形態に係る通信モジュール1051のハードウェア構成例を示すブロック図である。
図5】一実施形態に係る通信システムの構成例2(通信システム2)を示す図である。
図6】一実施形態に係る通信ゲートウェイ装置1050のハードウェア構成例を示すブロック図である。
図7】一実施形態に係る通信システムの構成例3(通信システム3)を示す図である。
図8】一実施形態に係る第1演算処理装置500の機能構成例を示す図である。
図9】一実施形態に係る第2演算処理装置600の機能構成例を示す図である。
図10】一実施形態に係る通信方法の例1を示すシーケンスチャートである。
図11】一実施形態に係る通信方法の例2を示すシーケンスチャートである。
図12】一実施形態に係る通信方法の例3を示すシーケンスチャートである。
図13】一実施形態に係る通信方法の例4を示すシーケンスチャートである。
【発明を実施するための形態】
【0018】
以下、図面を参照し、本発明の実施形態について説明する。
【0019】
[通信システムの構成例]
本実施形態に係る通信システムの構成例を説明する。
【0020】
(通信システムの構成例1)
図1は、本実施形態に係る通信システムの構成例1(通信システム1)を示す図である。図1において、通信システム1は、サーバ装置2000とIoTデバイス1040とを備える。サーバ装置2000とIoTデバイス1040とは、インターネット等の通信網3000を介して接続される。
【0021】
IoTデバイス1040は通信装置である。IoTデバイス1040は、通信モジュール1051を備える。通信モジュール1051は、無線通信ネットワークを利用して無線通信を行う。通信モジュール1051は、SIM(Subscriber Identity Module)1052を備える。SIM1052は、無線通信ネットワークを利用するための情報が書き込まれたSIMである。通信モジュール1051は、SIM1052を使用することにより該無線通信ネットワークに接続して無線通信を行うことができる。なお、SIM1052として、eSIM(Embedded Subscriber Identity Module)を使用してもよい。SIM及びeSIMはセキュアエレメント(Secure Element:SE)の例である。SIM及びeSIMは耐タンパー性(Tamper Resistant)を有する。
【0022】
図2は、本実施形態に係るサーバ装置2000の構成例を示すブロック図である。図2において、サーバ装置2000は、通信部11と、記憶部12と、鍵生成部15と、鍵送受部16と、認証処理部18とを備える。通信部11は、通信回線を介して、他の装置と通信を行う。記憶部12は、データを記憶する。鍵生成部15は、鍵を生成する。鍵送受部16は、他の通信装置との間で鍵の送信又は受信を行う。認証処理部18は、他の通信装置との間で認証処理を行う。
【0023】
サーバ装置2000の機能は、該サーバ装置2000が備えるCPU(Central Processing Unit:中央演算処理装置)がコンピュータプログラムを実行することにより実現される。なお、サーバ装置2000として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。
【0024】
図3は、本実施形態に係るIoTデバイス1040のハードウェア構成例を示すブロック図である。図3において、IoTデバイス1040は、CPU110と、記憶部112と、インタフェース部116と、通信モジュール1051とを備える。これら各部はデータを交換できるように構成されている。
【0025】
CPU110はIoTデバイス1040の制御を行う。この制御機能は、CPU110がコンピュータプログラムを実行することにより実現される。記憶部112は、CPU110で実行されるコンピュータプログラムや各種のデータを記憶する。記憶部112は、IoTデバイス1040の各種の機能を実現させるためのコンピュータプログラムを記憶する。CPU110が該コンピュータプログラムを実行することにより、IoTデバイス1040の各種の機能が実現される。
【0026】
インタフェース部116は、自IoTデバイス1040の外部の装置とデータを送受する。インタフェース部116は、ブルートゥース(Bluetooth)(登録商標)、ワイファイ(WiFi)(登録商標)、近距離無線通信技術(Near Field Communication:NFC)等の無線通信技術で無線通信を行う無線デバイスを備えてもよい。インタフェース部116は、通信網3000と接続する無線又は有線の通信インタフェースを備えてもよい。
【0027】
通信モジュール1051は、SIM1052を備える。通信モジュール1051は、SIM1052を使用することにより該SIM1052に対応する無線通信ネットワークに接続して無線通信を行うことができる。IoTデバイス1040は、通信モジュール1051を使用して、外部の装置と通信を行う。例えば、IoTデバイス1040は、通信モジュール1051を使用して、サーバ装置2000と通信を行ってもよい。
【0028】
なお、IoTデバイス1040は、必要に応じて、図3に示されないセンサデバイス等のデバイスを備えてもよい。
【0029】
図4は、本実施形態に係る通信モジュール1051のハードウェア構成例を示すブロック図である。図4において、通信モジュール1051は、CPU1053と、記憶部1054と、インタフェース部1055と、SIM1052とを備える。これら各部はデータを交換できるように構成されている。通信モジュール1051は通信装置である。
【0030】
CPU1053は通信モジュール1051の制御を行う。この制御機能は、CPU1053がコンピュータプログラムを実行することにより実現される。記憶部1054は、CPU1053で実行されるコンピュータプログラムや各種のデータを記憶する。記憶部1054は、通信モジュール1051の各種の機能を実現させるためのコンピュータプログラムを記憶する。CPU1053が該コンピュータプログラムを実行することにより、通信モジュール1051の各種の機能が実現される。
【0031】
インタフェース部1055は、自通信モジュール1051の外部の装置とデータを送受する。SIM1052は自SIM1052の各種の機能を実現させるためのコンピュータプログラムを実行することにより、SIM1052の各種の機能が実現される。
【0032】
(通信システムの構成例2)
図5は、本実施形態に係る通信システムの構成例2(通信システム2)を示す図である。図5において図1の各部に対応する部分には同一の符号を付している。図5に示す通信システム2は、サーバ装置2000とIoTデバイス1040と通信ゲートウェイ装置1050とを備える。サーバ装置2000と通信ゲートウェイ装置1050とは通信網3000を介して接続される。通信ゲートウェイ装置1050とIoTデバイス1040とは通信網3000を介して接続される。通信ゲートウェイ装置1050は、IoTデバイス1040が通信網3000を介して外部の装置と行う通信を監視する。通信ゲートウェイ装置1050は通信装置である。通信ゲートウェイ装置1050は、通信モジュール1051を備える。通信モジュール1051は、SIM1052を備える。
【0033】
図6は、本実施形態に係る通信ゲートウェイ装置1050のハードウェア構成例を示すブロック図である。図6において、通信ゲートウェイ装置1050は、CPU210と、記憶部212と、インタフェース部216と、通信モジュール1051とを備える。これら各部はデータを交換できるように構成されている。通信モジュール1051は、SIM1052を備える。
【0034】
CPU210は通信ゲートウェイ装置1050の制御を行う。この制御機能は、CPU210がコンピュータプログラムを実行することにより実現される。記憶部212は、CPU210で実行されるコンピュータプログラムや各種のデータを記憶する。記憶部212は、通信ゲートウェイ装置1050の各種の機能を実現させるためのコンピュータプログラムを記憶する。CPU210が該コンピュータプログラムを実行することにより、通信ゲートウェイ装置1050の各種の機能が実現される。
【0035】
インタフェース部216は、自通信ゲートウェイ装置1050の外部の装置とデータを送受する。インタフェース部216は、通信網3000と接続する無線又は有線の通信インタフェースを備えてもよい。通信モジュール1051及びSIM1052は上述した通りである。
【0036】
(通信システムの構成例3)
図7は、本実施形態に係る通信システムの構成例3(通信システム3)を示す図である。図7において図1及び図5の各部に対応する部分には同一の符号を付している。図7に示す通信システム3は、サーバ装置2000とIoTデバイス1040と通信ゲートウェイ装置1050とを備える。サーバ装置2000と通信ゲートウェイ装置1050とは通信網3000を介して接続される。通信ゲートウェイ装置1050とIoTデバイス1040とは通信路3010を介して接続される。通信路3010は、通信網3000とは独立した通信路である。通信路3010は、無線通信路であってもよく、又は、有線通信路であってもよい。通信路3010は、無線又は有線のLAN(Local Area Network)であってもよい。
【0037】
IoTデバイス1040は、通信ゲートウェイ装置1050を介して、通信網3000に接続されるサーバ装置2000等の装置と通信を行う。通信ゲートウェイ装置1050は、IoTデバイス1040が通信網3000を介して外部の装置と行う通信を監視する。通信ゲートウェイ装置1050は、通信モジュール1051を備える。通信モジュール1051は、SIM1052を備える。
【0038】
以上が本実施形態に係る通信システムの構成例の説明である。
【0039】
図8は、本実施形態に係る第1演算処理装置500の機能構成例を示す図である。図8において、第1演算処理装置500は、通信部501と、記憶部502と、鍵送受部503と、識別子通知部504とを備える。通信部501は、第1演算処理装置500の外部の装置との間で通信を行う。記憶部502は、データを記憶する。鍵送受部503は、サーバ装置2000との間で鍵の送信又は受信を行う。識別子通知部504は、通信装置対応識別子の通知を行う。
【0040】
本実施形態では、通信システム1のIoTデバイス1040若しくは通信モジュール1051が第1演算処理装置500の機能を備えてもよい。又は、通信システム2の通信ゲートウェイ装置1050若しくは通信モジュール1051が第1演算処理装置500の機能を備えてもよい。又は、通信システム3の通信ゲートウェイ装置1050若しくは通信モジュール1051が第1演算処理装置500の機能を備えてもよい。
【0041】
図9は、本実施形態に係る第2演算処理装置600の機能構成例を示す図である。図9において、第2演算処理装置600は、鍵生成部601と、記憶部602と、鍵送受部603と、認証処理部604とを備える。鍵生成部601は、鍵を生成する。記憶部602は、データを記憶する。鍵送受部603は、サーバ装置2000との間で鍵の送信又は受信を行う。認証処理部604は、サーバ装置2000との間で認証処理を行う。
【0042】
第2演算処理装置600はセキュアエレメントである。第2演算処理装置600は、耐タンパー性を有する半導体製品であってもよい。例えば、SIM、eSIM、又はIC(Integrated Circuit)チップを使用して第2演算処理装置600を構成してもよい。
【0043】
本実施形態では、通信システム1のIoTデバイス1040の通信モジュール1051のSIM1052が第2演算処理装置600の機能を備えてもよい。又は、通信システム2の通信ゲートウェイ装置1050の通信モジュール1051のSIM1052が第2演算処理装置600の機能を備えてもよい。又は、通信システム3の通信ゲートウェイ装置1050の通信モジュール1051のSIM1052が第2演算処理装置600の機能を備えてもよい。SIM1052はセキュアエレメントである。SIM1052は耐タンパー性を有する。又は、通信システム1,2,3のIoTデバイス1040若しくは通信ゲートウェイ装置1050にセキュアエレメントであり耐タンパー性を有するICチップを備え、該ICチップが第2演算処理装置600の機能を備えてもよい。
【0044】
[第1演算処理装置と第2演算処理装置との構成例]
本実施形態に係る第1演算処理装置と第2演算処理装置との構成例を説明する。
【0045】
(第1演算処理装置と第2演算処理装置との構成例1)
第1演算処理装置と第2演算処理装置との構成例1では、通信システム1において、第1演算処理装置500の一例としてIoTデバイス1040が第1演算処理装置500の機能を備え、第2演算処理装置600の一例としてIoTデバイス1040の通信モジュール1051のSIM1052が第2演算処理装置600の機能を備える。IoTデバイス1040のCPU110が第1演算処理装置500の機能を実現させるためのコンピュータプログラムを実行することにより、第1演算処理装置500の機能が実現される。IoTデバイス1040の通信モジュール1051のSIM1052が第2演算処理装置600の機能を実現させるためのコンピュータプログラムを実行することにより、第2演算処理装置600の機能が実現される。
【0046】
(第1演算処理装置と第2演算処理装置との構成例2)
第1演算処理装置と第2演算処理装置との構成例2では、通信システム2,3において、第1演算処理装置500の一例として通信ゲートウェイ装置1050が第1演算処理装置500の機能を備え、第2演算処理装置600の一例として通信ゲートウェイ装置1050の通信モジュール1051のSIM1052が第2演算処理装置600の機能を備える。通信ゲートウェイ装置1050のCPU210が第1演算処理装置500の機能を実現させるためのコンピュータプログラムを実行することにより、第1演算処理装置500の機能が実現される。通信ゲートウェイ装置1050の通信モジュール1051のSIM1052が第2演算処理装置600の機能を実現させるためのコンピュータプログラムを実行することにより、第2演算処理装置600の機能が実現される。
【0047】
(第1演算処理装置と第2演算処理装置との構成例3)
第1演算処理装置と第2演算処理装置との構成例3では、通信システム1,2,3において、第1演算処理装置500の一例として通信モジュール1051が第1演算処理装置500の機能を備え、第2演算処理装置600の一例として通信モジュール1051のSIM1052が第2演算処理装置600の機能を備える。通信モジュール1051のCPU1053が第1演算処理装置500の機能を実現させるためのコンピュータプログラムを実行することにより、第1演算処理装置500の機能が実現される。通信モジュール1051のSIM1052が第2演算処理装置600の機能を実現させるためのコンピュータプログラムを実行することにより、第2演算処理装置600の機能が実現される。
【0048】
[通信装置対応識別子の構成例]
本実施形態に係る通信装置対応識別子の構成例を説明する。通信装置対応識別子は、通信装置に対応する識別子である。
【0049】
(通信装置対応識別子の構成例1)
通信装置対応識別子の構成例1では、通信装置対応識別子は、通信装置の識別情報(通信装置識別情報)を使用して構成される。通信装置識別情報には、通信装置の製造番号又はシリアル番号を適用してもよい。通信装置対応識別子に使用される通信装置識別情報として、例えば、IoTデバイス1040の識別情報、通信モジュール1051の識別情報、通信ゲートウェイ装置1050の識別情報などの通信装置の通信装置識別情報を適用できる。また、それら各通信装置の通信装置識別情報のうち一つ又は複数の通信装置識別情報を使用して通信装置対応識別子を構成してもよい。通信装置対応識別子は、通信装置識別情報であってもよく、又は、通信装置識別情報と他の情報とから構成される情報であってもよい。
【0050】
(通信装置対応識別子の構成例2)
通信装置対応識別子の構成例2では、通信装置対応識別子は、通信装置に搭載されるSIM1052に格納されるIMSI(International Mobile Subscriber Identity)又はICCID(Integrated Circuit Card ID)を使用して構成される。通信装置対応識別子は、IMSIであってもよく、若しくは、IMSIと他の情報とから構成される情報であってもよい。又は、通信装置対応識別子は、ICCIDであってもよく、若しくは、ICCIDと他の情報とから構成される情報であってもよい。例えば、通信装置対応識別子は、IMSIとICCIDと通信装置識別情報とのうち複数を含む情報であってもよい。
【0051】
[鍵生成方法の例]
本実施形態に係る鍵生成方法の例を説明する。本実施形態では、鍵の例として、MAC鍵K_mac_genとENC鍵K_enc_genとを生成する。MAC鍵K_mac_genは、認証処理に使用される鍵である。ENC鍵K_enc_genは、鍵の送信又は受信における暗号通信に使用される鍵である。本実施形態では、MAC鍵K_mac_genは第1鍵に対応し、ENC鍵K_enc_genは第2鍵に対応する。
【0052】
本実施形態では、所定の鍵生成関数を使用して共通鍵を生成する。鍵生成関数の例を以下に説明する。
【0053】
(鍵生成関数の例1)
共通鍵=ダイジェスト(Master_Secret、UNID、Key_ID(Nk))
但し、Master_Secretはマスタ鍵である。UNIDは通信装置対応識別子である。Key_ID(Nk)は鍵種別識別子である。Nkは鍵の種別を表す変数である。ダイジェスト(Master_Secret、UNID、Key_ID(Nk))は、マスタ鍵Master_Secretと通信装置対応識別子UNIDと鍵種別識別子Key_ID(Nk)とから生成されるダイジェスト値である。ダイジェスト値として、例えば、ハッシュ(hash)関数により算出される値、又は、排他的論理和演算により算出される値などが挙げられる。例えば、共通鍵は、マスタ鍵Master_Secretと通信装置対応識別子UNIDと鍵種別識別子Key_ID(Nk)とを入力値に使用して算出されるハッシュ関数値である。
【0054】
鍵種別識別子Key_ID(Nk)の値が異なれば、ダイジェスト値は異なる。鍵種別識別子Key_ID(Nk)の値を変えることによって、同じマスタ鍵Master_Secretと通信装置対応識別子UNIDとから、異なる共通鍵を生成することができる。例えば、MAC鍵の鍵種別識別子をKey_ID(mac)とし、ENC鍵の鍵種別識別子をKey_ID(enc)とする。この場合、マスタ鍵Master_Secretと、通信装置対応識別子UNIDと、鍵種別識別子Key_ID(mac),Key_ID(enc)とを使用して、
MAC鍵K_mac_gen=ダイジェスト(Master_Secret、UNID、Key_ID(mac))、
ENC鍵K_enc_gen=ダイジェスト(Master_Secret、UNID、Key_ID(enc))、
により、MAC鍵K_mac_genとENC鍵K_enc_genとを異なる鍵として生成することができる。
【0055】
(鍵生成関数の例2)
鍵生成関数の例2では、共通鍵としてCMAC(Cipher-based Message Authentication Code)を生成する。
共通鍵=CMAC(Master_Secret;UNID、Key_ID(Nk))
但し、CMAC(A;B)において、鍵AはCMACの生成に使用される鍵であり、データBはCMACの生成対象のデータである。これにより、鍵生成関数の例2では、共通鍵は、鍵Aを使用して生成される「データBのCMAC」である。CMAC(Master_Secret;UNID、Key_ID(Nk))において、マスタ鍵Master_SecretはCMACの生成に使用される鍵であり、通信装置対応識別子UNIDと鍵種別識別子Key_ID(Nk)との連結データはCMACの生成対象のデータである。これにより、鍵生成関数の例2では、共通鍵は、マスタ鍵Master_Secretを使用して生成される「通信装置対応識別子UNIDと鍵種別識別子Key_ID(Nk)との連結データ、のCMAC」である。
【0056】
鍵生成関数の例2において、鍵種別識別子Key_ID(Nk)の値が異なればCMACは異なる。このため、鍵生成関数の例2においても、鍵生成関数の例1と同様に、鍵種別識別子Key_ID(Nk)の値を変えることによって、同じマスタ鍵Master_Secretと通信装置対応識別子UNIDとから、異なる共通鍵を生成することができる。
【0057】
[通信方法の例]
次に、図10図11図12図13を参照して本実施形態に係る通信方法の例を説明する。図10図11図12図13において、通信装置1001は第1演算処理装置500と第2演算処理装置600とを備える。
【0058】
また、サーバ装置2000と第1演算処理装置500との間の通信路として、暗号化通信路を使用してもよい。例えば、サーバ装置2000と第1演算処理装置500は、暗号化通信路の一例として、https(hypertext transfer protocol secure)通信を行ってもよい。また、サーバ装置2000と第1演算処理装置500は、VPN(Virtual Private Network)回線等の専用回線を使用して通信を行ってもよい。例えば、サーバ装置2000と通信モジュール1051との間をVPN回線等の専用回線で接続し、該専用回線でデータを送受してもよい。例えば、SIM1052に対応する無線通信ネットワークによって、VPN回線等の専用回線が提供されてもよい。
【0059】
<通信方法の例1>
図10を参照して本実施形態に係る通信方法の例1を説明する。図10は、本実施形態に係る通信方法の例1を示すシーケンスチャートである。
【0060】
図10において、サーバ装置2000は、マスタ鍵Master_Secretを予め記憶部12に格納する。第2演算処理装置600は、マスタ鍵Master_Secretを予め記憶部602に格納する。サーバ装置2000が記憶部12に格納するマスタ鍵Master_Secretと、第2演算処理装置600が記憶部602に格納するマスタ鍵Master_Secretとは、同じである。記憶部12はサーバマスタ鍵記憶部に対応する。記憶部602は通信装置マスタ鍵記憶部に対応する。
【0061】
第2演算処理装置600の一例としてのSIM1052には、例えば、SIM1052の製造工場でマスタ鍵Master_SecretがSIM1052に格納される。又は、通信モジュール1051若しくは通信モジュール1051が搭載される通信装置の製造工場などで、マスタ鍵Master_SecretがSIM1052に格納されてもよい。
【0062】
通信方法の例1は、通信装置1001の生産又は設置の段階(生産設置フェーズ)と、通信装置1001の一般の運用の段階(市場運用フェーズ)とから構成される。
【0063】
(生産設置フェーズ)
通信方法の例1の生産設置フェーズを説明する。生産設置フェーズは、通信装置1001の生産時、又は、通信装置1001の設置時に実施される。
【0064】
(ステップS1)第1演算処理装置500は、通信装置1001の通信装置対応識別子UNIDを取得する。通信装置1001の通信装置対応識別子UNIDは、予め第1演算処理装置500に格納されてもよく、又は、所定の契機で外部から第1演算処理装置500に通信装置対応識別子UNIDが通知されてもよい。
【0065】
例えば、第1演算処理装置500は、通信装置1001が保持する通信装置対応識別子UNIDを取得してもよい。
【0066】
又は、通信装置1001の通信装置対応識別子UNIDは、例えば通信装置1001の製造会社や販売店などで管理されている通信装置対応識別子UNIDが第1演算処理装置500に供給されてもよい。例えば、通信装置1001の製造会社が通信装置対応識別子のデータベースを備え、該データベースから通信により通信装置1001の通信装置対応識別子UNIDを第1演算処理装置500に通知してもよい。
【0067】
(ステップS2)第1演算処理装置500の識別子通知部504は、通信装置1001の通信装置対応識別子UNIDを第2演算処理装置600に通知する。
【0068】
(ステップS3)第2演算処理装置600の鍵生成部601は、記憶部602に格納するマスタ鍵Master_Secretと、第1演算処理装置500から通知された通信装置1001の通信装置対応識別子UNIDと、鍵種別識別子Key_ID(mac),Key_ID(enc)とを使用して、MAC鍵K_mac_genとENC鍵K_enc_genとを生成する。この鍵生成方法には、上述した鍵生成方法の例を適用する。鍵生成関数は、予め、鍵生成部601に設定される。鍵種別識別子Key_ID(mac),Key_ID(enc)は、予め、鍵生成部601に設定される。鍵生成部601は通信装置鍵生成部に対応する。
【0069】
鍵生成部601は、鍵生成関数の一例として鍵生成関数の例1「共通鍵=ダイジェスト(Master_Secret、UNID、Key_ID(Nk))」を使用して、
MAC鍵K_mac_gen=ダイジェスト(Master_Secret、UNID、Key_ID(mac))、
ENC鍵K_enc_gen=ダイジェスト(Master_Secret、UNID、Key_ID(enc))、
により、MAC鍵K_mac_genとENC鍵K_enc_genとを生成する。ここでは、ダイジェスト値は、その一例として、ハッシュ関数により算出される値である。
【0070】
記憶部602は、MAC鍵K_mac_genとENC鍵K_enc_genとを格納する。通信方法の例1では、記憶部602は通信装置鍵記憶部に対応する。
【0071】
なお、第2演算処理装置600は、MAC鍵K_mac_genとENC鍵K_enc_genとを生成した後に、記憶部602からマスタ鍵Master_Secretを削除してもよい。これにより、マスタ鍵Master_Secretが漏洩する可能性を低減することができる。
【0072】
以上が通信方法の例1の生産設置フェーズの説明である。
【0073】
(市場運用フェーズ)
通信方法の例1の市場運用フェーズを説明する。市場運用フェーズは、通信装置1001の一般の運用の段階において、例えば、通信装置1001の電源投入時や、通信装置1001とサーバ装置2000との通信の開始時などに実施される。
【0074】
(ステップS11)第1演算処理装置500は、通信装置1001の通信装置対応識別子UNIDとチャレンジ(乱数c)とをサーバ装置2000に送信する。第1演算処理装置500は、乱数cを発生し、該乱数cをチャレンジに使用する。第1演算処理装置500は、該チャレンジ(乱数c)を保持しておく。
【0075】
(ステップS12)サーバ装置2000の鍵生成部15は、記憶部12に格納するマスタ鍵Master_Secretと、第1演算処理装置500から受信した通信装置1001の通信装置対応識別子UNIDと、鍵種別識別子Key_ID(mac),Key_ID(enc)とを使用して、MAC鍵K_mac_genとENC鍵K_enc_genとを生成する。この鍵生成方法は、上記したステップS3における第2演算処理装置600の鍵生成部601の鍵生成方法と同じである。鍵生成関数は、予め、鍵生成部15に設定される。鍵種別識別子Key_ID(mac),Key_ID(enc)は、予め、鍵生成部15に設定される。鍵生成部15はサーバ鍵生成部に対応する。
【0076】
記憶部12は、MAC鍵K_mac_genとENC鍵K_enc_genとを通信装置1001の通信装置対応識別子UNIDに対応付けて格納する。記憶部12はサーバ鍵記憶部に対応する。
【0077】
(ステップS13)サーバ装置2000の認証処理部18は、記憶部12に格納されるMAC鍵K_mac_genと、第1演算処理装置500から受信したチャレンジ(乱数c)とを使用して、レスポンスK_mac_gen(乱数c)を生成する。このレスポンス生成方法は、予め、認証処理部18に設定される。レスポンスK_mac_gen(乱数c)は、本実施形態に係る一例として、MAC鍵K_mac_genで乱数cを暗号化した暗号化データである。
【0078】
なお、レスポンスK_mac_gen(乱数c)は、本実施形態に係る一例として、CMAC(K_mac_gen;乱数c)、つまり、MAC鍵K_mac_genを使用して生成される「乱数cのCMAC」であってもよい。
【0079】
(ステップS14)サーバ装置2000の認証処理部18は、レスポンスK_mac_gen(乱数c)とチャレンジ(乱数s)とを通信装置1001の第1演算処理装置500に送信する。認証処理部18は、乱数sを発生し、該乱数sをチャレンジに使用する。認証処理部18は、該チャレンジ(乱数s)を保持しておく。
【0080】
(ステップS15)第1演算処理装置500は、サーバ装置2000に送信したチャレンジ(乱数c)と、サーバ装置2000から受信したレスポンスK_mac_gen(乱数c)及びチャレンジ(乱数s)とを第2演算処理装置600に送信する。
【0081】
(ステップS16)第2演算処理装置600の認証処理部604は、第1演算処理装置500から受信したレスポンスK_mac_gen(乱数c)の検証を行う。このレスポンス検証方法として、サーバ装置2000の認証処理部18におけるレスポンス生成方法に対応する方法が、予め、認証処理部604に設定される。レスポンスK_mac_gen(乱数c)の検証において、認証処理部604は、第1演算処理装置500から受信したチャレンジ(乱数c)と、記憶部602に格納されるMAC鍵K_mac_genと、を使用する。
【0082】
例えば、レスポンスK_mac_gen(乱数c)がMAC鍵K_mac_genによる乱数cの暗号化データである場合、認証処理部604は、記憶部602に格納されるMAC鍵K_mac_genを使用して、第1演算処理装置500から受信したチャレンジ(乱数c)を暗号化し、該暗号化により生成した暗号化データとレスポンスK_mac_gen(乱数c)とを比較する。この比較の結果、両者が一致する場合にはレスポンスK_mac_gen(乱数c)の検証が合格であり、両者が不一致の場合にはレスポンスK_mac_gen(乱数c)の検証が不合格である。
【0083】
なお、レスポンスK_mac_gen(乱数c)がMAC鍵K_mac_genによる乱数cの暗号化データである場合の他の検証方法として、認証処理部604は、記憶部602に格納されるMAC鍵K_mac_genを使用して、第1演算処理装置500から受信したレスポンスK_mac_gen(乱数c)を復号し、該復号の結果と第1演算処理装置500から受信したチャレンジ(乱数c)とを比較してもよい。この比較の結果、両者が一致する場合にはレスポンスK_mac_gen(乱数c)の検証が合格であり、両者が不一致の場合にはレスポンスK_mac_gen(乱数c)の検証が不合格である。
【0084】
例えば、レスポンスK_mac_gen(乱数c)がCMAC(K_mac_gen;乱数c)である場合、認証処理部604は、記憶部602に格納されるMAC鍵K_mac_genを使用して、第1演算処理装置500から受信したチャレンジ(乱数c)のCMACを生成し、生成したCMACとレスポンスK_mac_gen(乱数c)とを比較する。この比較の結果、両者が一致する場合にはレスポンスK_mac_gen(乱数c)の検証が合格であり、両者が不一致の場合にはレスポンスK_mac_gen(乱数c)の検証が不合格である。
【0085】
レスポンスK_mac_gen(乱数c)の検証が合格である場合には、ステップS17に進む。一方、レスポンスK_mac_gen(乱数c)の検証が不合格である場合には、図10の処理を終了する。レスポンスK_mac_gen(乱数c)の検証が不合格である場合には、第2演算処理装置600は所定のエラー処理を実行してもよい。
【0086】
(ステップS17)第2演算処理装置600の認証処理部604は、記憶部602に格納されるMAC鍵K_mac_genと、第1演算処理装置500から受信したチャレンジ(乱数s)とを使用して、レスポンスK_mac_gen(乱数s)を生成する。このレスポンス生成方法は、予め、認証処理部604に設定される。レスポンスK_mac_gen(乱数s)は、本実施形態に係る一例として、MAC鍵K_mac_genで乱数sを暗号化した暗号化データである。
【0087】
なお、レスポンスK_mac_gen(乱数s)は、本実施形態に係る一例として、CMAC(K_mac_gen;乱数s)、つまり、MAC鍵K_mac_genを使用して生成される「乱数sのCMAC」であってもよい。
【0088】
(ステップS18)第2演算処理装置600の認証処理部604は、レスポンスK_mac_gen(乱数s)を第1演算処理装置500に送信する。
【0089】
(ステップS19)第1演算処理装置500は、第2演算処理装置600から受信したレスポンスK_mac_gen(乱数s)をサーバ装置2000に送信する。
【0090】
(ステップS20)サーバ装置2000の認証処理部18は、通信装置1001の第1演算処理装置500から受信したレスポンスK_mac_gen(乱数s)の検証を行う。このレスポンス検証方法として、通信装置1001の第2演算処理装置600の認証処理部604におけるレスポンス生成方法に対応する方法が、予め、認証処理部18に設定される。レスポンスK_mac_gen(乱数s)の検証において、認証処理部18は、通信装置1001の第1演算処理装置500に送信したチャレンジ(乱数s)と、記憶部12に格納されるMAC鍵K_mac_genと、を使用する。
【0091】
例えば、レスポンスK_mac_gen(乱数s)がMAC鍵K_mac_genによる乱数sの暗号化データである場合、認証処理部18は、記憶部12に格納されるMAC鍵K_mac_genを使用して、通信装置1001の第1演算処理装置500に送信したチャレンジ(乱数s)を暗号化し、該暗号化により生成した暗号化データとレスポンスK_mac_gen(乱数s)とを比較する。この比較の結果、両者が一致する場合にはレスポンスK_mac_gen(乱数s)の検証が合格であり、両者が不一致の場合にはレスポンスK_mac_gen(乱数s)の検証が不合格である。
【0092】
なお、レスポンスK_mac_gen(乱数s)がMAC鍵K_mac_genによる乱数sの暗号化データである場合の他の検証方法として、認証処理部18は、記憶部12に格納されるMAC鍵K_mac_genを使用して、通信装置1001の第1演算処理装置500から受信したレスポンスK_mac_gen(乱数s)を復号し、該復号の結果と第1演算処理装置500に送信したチャレンジ(乱数s)とを比較してもよい。この比較の結果、両者が一致する場合にはレスポンスK_mac_gen(乱数s)の検証が合格であり、両者が不一致の場合にはレスポンスK_mac_gen(乱数s)の検証が不合格である。
【0093】
例えば、レスポンスK_mac_gen(乱数s)がCMAC(K_mac_gen;乱数s)である場合、認証処理部18は、記憶部12に格納されるMAC鍵K_mac_genを使用して、通信装置1001の第1演算処理装置500に送信したチャレンジ(乱数s)のCMACを生成し、生成したCMACとレスポンスK_mac_gen(乱数s)とを比較する。この比較の結果、両者が一致する場合にはレスポンスK_mac_gen(乱数s)の検証が合格であり、両者が不一致の場合にはレスポンスK_mac_gen(乱数s)の検証が不合格である。
【0094】
レスポンスK_mac_gen(乱数s)の検証が合格である場合には、ステップS21に進む。一方、レスポンスK_mac_gen(乱数s)の検証が不合格である場合には、図10の処理を終了する。レスポンスK_mac_gen(乱数s)の検証が不合格である場合には、サーバ装置2000は所定のエラー処理を実行してもよい。
【0095】
サーバ装置2000の認証処理部18はサーバ認証処理部に対応する。通信装置1001の第2演算処理装置600の認証処理部604は通信装置認証処理部に対応する。
【0096】
(ステップS21)サーバ装置2000の鍵送受部16は、セッション鍵K_comを生成する。例えば、鍵送受部16は、乱数を発生し、該乱数に基づいてセッション鍵K_comを生成してもよい。記憶部12は、セッション鍵K_comを通信装置1001の通信装置対応識別子UNIDに対応付けて格納する。セッション鍵K_comは第3鍵に対応する。
【0097】
(ステップS22)サーバ装置2000の鍵送受部16は、記憶部12に格納されるENC鍵K_enc_genを使用してセッション鍵K_comを暗号化し、暗号化セッション鍵K_enc_gen(K_com)を生成する。鍵送受部16は、暗号化セッション鍵K_enc_gen(K_com)を通信装置1001の第1演算処理装置500に送信する。
【0098】
(ステップS23)第1演算処理装置500は、サーバ装置2000から受信した暗号化セッション鍵K_enc_gen(K_com)を第2演算処理装置600に送信する。
【0099】
(ステップS24)第2演算処理装置600の鍵送受部603は、第1演算処理装置500から受信した暗号化セッション鍵K_enc_gen(K_com)を、記憶部602に格納されるENC鍵K_enc_genで復号する。この復号の結果としてセッション鍵K_comが取得される。これにより、サーバ装置2000と通信装置1001とは同じセッション鍵K_comを保持する。
【0100】
(ステップS25)第2演算処理装置600の鍵送受部603は、セッション鍵K_comを第1演算処理装置500に送信する。第1演算処理装置500の記憶部502は、第2演算処理装置600から受信したセッション鍵K_comを格納する。
【0101】
通信方法の例1では、通信装置1001の第2演算処理装置600の鍵送受部603は通信装置鍵送受部に対応する。サーバ装置2000の鍵送受部16はサーバ鍵送受部に対応する。
【0102】
(ステップS26)サーバ装置2000の通信部11と、通信装置1001の第1演算処理装置500の通信部501とは、セッション鍵K_comを使用して暗号通信を行う。この暗号通信では、セッション鍵K_comを使用してデータが暗号化された暗号化データK_com(データ)が、サーバ装置2000の通信部11と、通信装置1001の第1演算処理装置500の通信部501との間で送受される。これにより、サーバ装置2000の通信部11と、通信装置1001の第1演算処理装置500の通信部501との間で、セッション鍵K_comを使用した暗号通信路が構築される。
【0103】
サーバ装置2000の通信部11は、サーバ通信部に対応する。通信装置1001の第1演算処理装置500の通信部501は、通信装置通信部に対応する。
【0104】
なお、通信装置1001の第2演算処理装置600の鍵送受部603がセッション鍵K_comを生成してサーバ装置2000に供給してもよい。
【0105】
以上が通信方法の例1の市場運用フェーズの説明である。
【0106】
上述した通信方法の例1によれば、サーバ装置2000と通信装置1001の第2演算処理装置600とは、MAC鍵K_mac_gen(第1鍵)を使用して認証処理を行い、ENC鍵K_enc_gen(第2鍵)を使用する暗号通信によりセッション鍵K_com(第3鍵)を送受する。これにより、サーバ装置2000と通信装置1001の第1演算処理装置500との間の暗号通信に使用されるセッション鍵K_com(第3鍵)の安全性が向上する。このことは、通信装置1001が外部のサーバ装置2000と通信を行う際の安全性を向上させる効果を奏する。
【0107】
また、サーバ装置2000と通信装置1001との間の認証処理に使用されるMAC鍵K_mac_gen(第1鍵)は、通信装置1001においてセキュアエレメントである第2演算処理装置600で保管される。これにより、サーバ装置2000と通信装置1001との間の認証の信頼性を向上させることができる。
【0108】
<通信方法の例2>
図11を参照して本実施形態に係る通信方法の例2を説明する。図11は、本実施形態に係る通信方法の例2を示すシーケンスチャートである。図11において図10の各ステップに対応する部分には同一の符号を付している。
【0109】
図11において、サーバ装置2000は、マスタ鍵Master_Secretを予め記憶部12に格納する。第2演算処理装置600は、マスタ鍵Master_Secretを予め記憶部602に格納する。サーバ装置2000が記憶部12に格納するマスタ鍵Master_Secretと、第2演算処理装置600が記憶部602に格納するマスタ鍵Master_Secretとは、同じである。記憶部12はサーバマスタ鍵記憶部に対応する。通信方法の例2では、記憶部602は通信装置マスタ鍵記憶部及び第2通信装置鍵記憶部に対応する。
【0110】
第2演算処理装置600の一例としてのSIM1052には、例えば、SIM1052の製造工場でマスタ鍵Master_SecretがSIM1052に格納される。又は、通信モジュール1051若しくは通信モジュール1051が搭載される通信装置の製造工場などで、マスタ鍵Master_SecretがSIM1052に格納されてもよい。
【0111】
通信方法の例2は、通信方法の例1と同様に生産設置フェーズと市場運用フェーズとから構成される。
【0112】
(生産設置フェーズ)
通信方法の例2の生産設置フェーズを説明する。通信方法の例2の生産設置フェーズにおいて、ステップS1、ステップS2及びステップS3が実行される。ステップS1、ステップS2及びステップS3は、通信方法の例1と同じである。次いでステップS4が実行される。
【0113】
(ステップS4)第2演算処理装置600は、ENC鍵K_enc_genを第1演算処理装置500に送信する。第1演算処理装置500の記憶部502は、第2演算処理装置600から受信したENC鍵K_enc_genを格納する。通信方法の例2では、記憶部502は第1通信装置鍵記憶部に対応する。
【0114】
以上が通信方法の例2の生産設置フェーズの説明である。
【0115】
(市場運用フェーズ)
通信方法の例2の市場運用フェーズを説明する。通信方法の例2の市場運用フェーズにおいて、ステップS11からステップS22までが実行される。ステップS11からステップS22までは、通信方法の例1と同じである。
【0116】
(ステップS24a)第1演算処理装置500の鍵送受部503は、サーバ装置2000から受信した暗号化セッション鍵K_enc_gen(K_com)を、記憶部502に格納されるENC鍵K_enc_genで復号する。この復号の結果としてセッション鍵K_comが取得される。これにより、サーバ装置2000と通信装置1001とは同じセッション鍵K_comを保持する。第1演算処理装置500の記憶部502は、セッション鍵K_comを格納する。
【0117】
通信方法の例2では、通信装置1001の第1演算処理装置500の鍵送受部503は通信装置鍵送受部に対応する。サーバ装置2000の鍵送受部16はサーバ鍵送受部に対応する。
【0118】
なお、通信装置1001の第1演算処理装置500の鍵送受部503がセッション鍵K_comを生成してサーバ装置2000に供給してもよい。
【0119】
次いでステップS26が実行される。ステップS26は通信方法の例1と同じである。
【0120】
以上が通信方法の例2の市場運用フェーズの説明である。
【0121】
上述した通信方法の例2によれば、サーバ装置2000と通信装置1001の第2演算処理装置600とは、MAC鍵K_mac_gen(第1鍵)を使用して認証処理を行う。また、サーバ装置2000と通信装置1001の第1演算処理装置500とは、ENC鍵K_enc_gen(第2鍵)を使用する暗号通信によりセッション鍵K_com(第3鍵)を送受する。これにより、サーバ装置2000と通信装置1001の第1演算処理装置500との間の暗号通信に使用されるセッション鍵K_com(第3鍵)の安全性が向上する。このことは、通信装置1001が外部のサーバ装置2000と通信を行う際の安全性を向上させる効果を奏する。
【0122】
また、サーバ装置2000と通信装置1001との間の認証処理に使用されるMAC鍵K_mac_gen(第1鍵)は、通信装置1001においてセキュアエレメントである第2演算処理装置600で保管される。これにより、サーバ装置2000と通信装置1001との間の認証の信頼性を向上させることができる。
【0123】
また、サーバ装置2000と通信装置1001との間の暗号通信に使用されるENC鍵K_enc_gen(第2鍵)は、通信装置1001において第1演算処理装置500で保管される。セキュアエレメントに限定されない第1演算処理装置500には、比較的処理能力の高いCPUを使用することにより、サーバ装置2000と通信装置1001との間の暗号通信の通信速度を向上させることができる。
【0124】
<通信方法の例3>
図12を参照して本実施形態に係る通信方法の例3を説明する。図12は、本実施形態に係る通信方法の例3を示すシーケンスチャートである。図12において図10の各ステップに対応する部分には同一の符号を付している。
【0125】
通信方法の例3は、通信方法の例1と同様に生産設置フェーズと市場運用フェーズとから構成される。通信方法の例3では、生産設置フェーズにおいてサーバ装置2000が鍵を生成する。以下、通信方法の例1と異なる点を主に説明する。
【0126】
サーバ装置2000と第2演算処理装置600とは、通信方法の例1と同様に、同じマスタ鍵Master_Secretを予め格納する。
【0127】
(生産設置フェーズ)
通信方法の例3の生産設置フェーズを説明する。通信方法の例3の生産設置フェーズにおいて、ステップS1、ステップS2及びステップS3が実行される。ステップS1、ステップS2及びステップS3は、通信方法の例1と同じである。また、ステップS2aが実行される。
【0128】
(ステップS2a)第1演算処理装置500の識別子通知部504は、通信装置1001の通信装置対応識別子UNIDをサーバ装置2000に送信する。通信方法の例3では、識別子通知部504は通信装置対応識別子通知部に対応する。
【0129】
次いでステップS12が実行される。該ステップS12は、通信方法の例1の市場運用フェーズのステップS12と同じである。サーバ装置2000の記憶部12は、MAC鍵K_mac_genとENC鍵K_enc_genとを通信装置1001の通信装置対応識別子UNIDに対応付けて格納する。
【0130】
以上が通信方法の例3の生産設置フェーズの説明である。
【0131】
(市場運用フェーズ)
通信方法の例3の市場運用フェーズを説明する。通信方法の例3の市場運用フェーズにおいて、ステップS11及びステップS13からステップS26までが実行される。ステップS11及びステップS13からステップS26までは、通信方法の例1と同じである。
【0132】
なお、通信方法の例1と同様に、通信装置1001の第2演算処理装置600の鍵送受部603がセッション鍵K_comを生成してサーバ装置2000に供給してもよい。
【0133】
以上が通信方法の例3の市場運用フェーズの説明である。
【0134】
上述した通信方法の例3によれば、サーバ装置2000と通信装置1001の第2演算処理装置600とは、MAC鍵K_mac_gen(第1鍵)を使用して認証処理を行い、ENC鍵K_enc_gen(第2鍵)を使用する暗号通信によりセッション鍵K_com(第3鍵)を送受する。これにより、サーバ装置2000と通信装置1001の第1演算処理装置500との間の暗号通信に使用されるセッション鍵K_com(第3鍵)の安全性が向上する。このことは、通信装置1001が外部のサーバ装置2000と通信を行う際の安全性を向上させる効果を奏する。
【0135】
また、通信方法の例3によれば、サーバ装置2000は生産設置フェーズにおいてMAC鍵K_mac_gen(第1鍵)及びENC鍵K_enc_gen(第2鍵)を生成する。これにより、市場運用フェーズにおける処理時間の短縮を図ることができる。
【0136】
また、サーバ装置2000と通信装置1001との間の認証処理に使用されるMAC鍵K_mac_gen(第1鍵)は、通信装置1001においてセキュアエレメントである第2演算処理装置600で保管される。これにより、サーバ装置2000と通信装置1001との間の認証の信頼性を向上させることができる。
【0137】
<通信方法の例4>
図13を参照して本実施形態に係る通信方法の例4を説明する。図13は、本実施形態に係る通信方法の例4を示すシーケンスチャートである。図13において図11の各ステップに対応する部分には同一の符号を付している。
【0138】
通信方法の例4は、通信方法の例2と同様に生産設置フェーズと市場運用フェーズとから構成される。通信方法の例4では、通信方法の例3と同様に、生産設置フェーズにおいてサーバ装置2000が鍵を生成する。以下、通信方法の例2と異なる点を主に説明する。
【0139】
サーバ装置2000と第2演算処理装置600とは、通信方法の例2と同様に、同じマスタ鍵Master_Secretを予め格納する。
【0140】
(生産設置フェーズ)
通信方法の例4の生産設置フェーズを説明する。通信方法の例4の生産設置フェーズにおいて、ステップS1、ステップS2、ステップS3及びステップS4が実行される。ステップS1、ステップS2、ステップS3及びステップS4は、通信方法の例2と同じである。また、ステップS2a及びステップS12が実行される。ステップS2a及びステップS12は、通信方法の例3と同じである。サーバ装置2000の記憶部12は、MAC鍵K_mac_genとENC鍵K_enc_genとを通信装置1001の通信装置対応識別子UNIDに対応付けて格納する。
【0141】
以上が通信方法の例4の生産設置フェーズの説明である。
【0142】
(市場運用フェーズ)
通信方法の例4の市場運用フェーズを説明する。通信方法の例4の市場運用フェーズにおいて、ステップS11と、ステップS13からステップS22までと、ステップS24aと、ステップS26とが実行される。ステップS11と、ステップS13からステップS22までと、ステップS26とは、通信方法の例1と同じである。ステップS24aは、通信方法の例2と同じである。
【0143】
なお、通信方法の例2と同様に、通信装置1001の第1演算処理装置500の鍵送受部503がセッション鍵K_comを生成してサーバ装置2000に供給してもよい。
【0144】
以上が通信方法の例4の市場運用フェーズの説明である。
【0145】
上述した通信方法の例4によれば、サーバ装置2000と通信装置1001の第2演算処理装置600とは、MAC鍵K_mac_gen(第1鍵)を使用して認証処理を行う。また、サーバ装置2000と通信装置1001の第1演算処理装置500とは、ENC鍵K_enc_gen(第2鍵)を使用する暗号通信によりセッション鍵K_com(第3鍵)を送受する。これにより、サーバ装置2000と通信装置1001の第1演算処理装置500との間の暗号通信に使用されるセッション鍵K_com(第3鍵)の安全性が向上する。このことは、通信装置1001が外部のサーバ装置2000と通信を行う際の安全性を向上させる効果を奏する。
【0146】
また、通信方法の例4によれば、サーバ装置2000は生産設置フェーズにおいてMAC鍵K_mac_gen(第1鍵)及びENC鍵K_enc_gen(第2鍵)を生成する。これにより、市場運用フェーズにおける処理時間の短縮を図ることができる。
【0147】
また、サーバ装置2000と通信装置1001との間の認証処理に使用されるMAC鍵K_mac_gen(第1鍵)は、通信装置1001においてセキュアエレメントである第2演算処理装置600で保管される。これにより、サーバ装置2000と通信装置1001との間の認証の信頼性を向上させることができる。
【0148】
また、サーバ装置2000と通信装置1001との間の暗号通信に使用されるENC鍵K_enc_gen(第2鍵)は、通信装置1001において第1演算処理装置500で保管される。セキュアエレメントに限定されない第1演算処理装置500には、比較的処理能力の高いCPUを使用することにより、サーバ装置2000と通信装置1001との間の暗号通信の通信速度を向上させることができる。
【0149】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0150】
通信装置対応識別子の一例としてIMSI又はICCIDを使用する場合、例えば通信装置対応識別子がIMSIである場合には、SIM1052は、IMSIを格納した時点以降であれば任意のタイミングで、MAC鍵K_mac_genとENC鍵K_enc_genとを生成し、生成したMAC鍵K_mac_genとENC鍵K_enc_genとを保持してもよい。例えば、SIM1052の製造時に、該SIM1052にIMSIを書き込んで、該SIM1052がMAC鍵K_mac_genとENC鍵K_enc_genとを生成して保持してもよい。
【0151】
また、通信装置対応識別子の一例としてIMSI又はICCIDを使用する場合、例えば通信装置対応識別子がIMSIである場合には、SIM1052は、自己のIMSIを第1演算処理装置500に通知する。第1演算処理装置500の識別子通知部504は、SIM1052から通知されたIMSIをサーバ装置2000に通知する。
【0152】
また、通信装置対応識別子の一例としてIMSI又はICCIDを使用する場合、例えば通信装置対応識別子がIMSIである場合においてSIM1052が別の通信装置1001で再利用されるときには、該SIM1052が保持しているMAC鍵K_mac_genとENC鍵K_enc_genとを、該別の通信装置1001で使用してもよい。
【0153】
なお、上述した実施形態では、第2演算処理装置600がマスタ鍵Master_Secretを保持するが、第2演算処理装置600はマスタ鍵Master_Secretを保持しなくてもよい。第2演算処理装置600は、マスタ鍵Master_Secretを保持せず、外部で生成されたMAC鍵K_mac_genとENC鍵K_enc_genとを保持してもよい。例えば、第2演算処理装置600としてSIM1052を使用する場合、SIM1052の製造工場の鍵生成装置が、サーバ装置2000と同じマスタ鍵Master_Secretを保持する。該鍵生成装置は、該マスタ鍵Master_Secretを使用してMAC鍵K_mac_genとENC鍵K_enc_genとを生成し、生成したMAC鍵K_mac_genとENC鍵K_enc_genとをSIM1052に書き込む。この場合、通信装置対応識別子には、SIM1052のIMSI又はICCIDを使用してもよい。
【0154】
なお、第1演算処理装置500がJTAG(Joint Test Action Group)等のデバッグポートを備える場合、該デバッグポートに対してID(識別子)による認証機能を設けてもよい。これにより、第1演算処理装置500に対するメモリダンプやタッピング攻撃などの攻撃によってセッション鍵K_comが漏洩することを抑制することができる。例えば、IoTデバイス1040や通信ゲートウェイ装置1050のデバッグポートに対してIDによる認証機能を設けてもよい。
【0155】
また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0156】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0157】
1,2,3…通信システム、11,501…通信部、12,112,212,502,602,1054…記憶部、15,601…鍵生成部、16,503,603…鍵送受部、18,604…認証処理部、110,210,1053…CPU、116,216,1055…インタフェース部、504…識別子通知部、1001…通信装置、1040…IoTデバイス、1050…通信ゲートウェイ装置、1051…通信モジュール、1052…SIM、2000…サーバ装置、3000…通信網、3010…通信路
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13