IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ クラリオン株式会社の特許一覧

<>
  • 特許-鍵管理装置および鍵管理方法 図1
  • 特許-鍵管理装置および鍵管理方法 図2
  • 特許-鍵管理装置および鍵管理方法 図3
  • 特許-鍵管理装置および鍵管理方法 図4
  • 特許-鍵管理装置および鍵管理方法 図5
  • 特許-鍵管理装置および鍵管理方法 図6
  • 特許-鍵管理装置および鍵管理方法 図7
  • 特許-鍵管理装置および鍵管理方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-07
(45)【発行日】2023-08-16
(54)【発明の名称】鍵管理装置および鍵管理方法
(51)【国際特許分類】
   H04L 9/08 20060101AFI20230808BHJP
【FI】
H04L9/08 A
【請求項の数】 12
(21)【出願番号】P 2019206363
(22)【出願日】2019-11-14
(65)【公開番号】P2021082872
(43)【公開日】2021-05-27
【審査請求日】2022-07-13
(73)【特許権者】
【識別番号】000001487
【氏名又は名称】フォルシアクラリオン・エレクトロニクス株式会社
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】落合 亨介
(72)【発明者】
【氏名】緒畑 智史
【審査官】平井 誠
(56)【参考文献】
【文献】米国特許出願公開第2013/0326233(US,A1)
【文献】米国特許第10303621(US,B1)
【文献】特開2005-144055(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
(57)【特許請求の範囲】
【請求項1】
メッセージの暗号処理に用いる鍵データを管理する鍵管理装置であって、
鍵データが記憶されている場所を示すアドレスを含む鍵アドレス管理情報を用いて前記鍵データを管理する鍵管理部と、
前記鍵管理部により管理されている前記鍵データを用いてメッセージを暗号処理する暗号処理部と、
を備え、
前記鍵管理部は、管理している前記鍵データを所定のタイミングで前記鍵データが記憶されている場所を示す第1のアドレスとは異なる第2のアドレスに記憶し、前記鍵アドレス管理情報の前記第1のアドレスを前記第2のアドレスに更新し、
前記暗号処理部は、所定のメッセージを暗号処理するために前記鍵データのアドレスを要求するアドレス要求情報を前記鍵管理部に送信し、
前記鍵管理部は、前記アドレス要求情報を受信すると、前記鍵アドレス管理情報から、前記鍵データのアドレスを取得して前記暗号処理部に送信し、
前記暗号処理部は、前記アドレスを受信すると、前記アドレスにアクセスし、前記鍵データを用いて前記メッセージを暗号処理する、
鍵管理装置。
【請求項2】
前記鍵管理部は、前記鍵データを記憶する先の場所をランダムに変更する、
請求項1に記載の鍵管理装置。
【請求項3】
前記暗号処理部は、難読化された鍵データを前記鍵管理部に送信し、
前記鍵管理部は、前記難読化された鍵データの難読化を解除して鍵データとし、前記鍵データを所定の場所に記憶し、前記場所のアドレスを鍵アドレス管理情報に登録する、
請求項1に記載の鍵管理装置。
【請求項4】
前記暗号処理部は、外部との通信を行うタスクから、前記タスクに対応する識別情報と、前記タスクのソースコードに記述されている難読化された鍵データとを受信すると、前記識別情報と前記難読化された鍵データとを前記鍵管理部に送信し、
前記鍵管理部は、前記難読化された鍵データの難読化を解除して鍵データとし、前記鍵データを所定の場所に記憶し、前記識別情報と前記場所のアドレスとを対応付けて鍵アドレス管理情報に登録し、
前記暗号処理部は、前記タスクの識別情報と、通信に係るメッセージとを前記タスクから受信すると、前記識別情報を前記アドレス要求情報として前記鍵管理部に送信し、
前記鍵管理部は、前記識別情報を受信すると、前記鍵アドレス管理情報から、前記識別情報に対応する前記アドレスを取得して前記暗号処理部に送信し、
前記暗号処理部は、前記アドレスを受信すると、前記アドレスにアクセスし、前記鍵データを用いて前記メッセージを暗号処理して前記タスクに送信する、
請求項1に記載の鍵管理装置。
【請求項5】
前記鍵管理部は、前記第1のアドレスにある前記鍵データを前記第2のアドレスに記憶後に削除する、
請求項1に記載の鍵管理装置。
【請求項6】
前記鍵管理部は、前記鍵データを前記第2のアドレスに記憶してから所定の時間が経過したと判断したとき、前記第1のアドレスにある前記鍵データを削除する、
請求項5に記載の鍵管理装置。
【請求項7】
メッセージの暗号処理に用いる鍵データを管理する鍵管理方法であって、
鍵管理部が、鍵データが記憶されている場所を示すアドレスを含む鍵アドレス管理情報を用いて前記鍵データを管理することと、
暗号処理部が、前記鍵管理部により管理されている前記鍵データを用いてメッセージを暗号処理することと、
を備え、
前記鍵管理部は、管理している前記鍵データを所定のタイミングで前記鍵データが記憶されている場所を示す第1のアドレスとは異なる第2のアドレスに記憶し、前記鍵アドレス管理情報の前記第1のアドレスを前記第2のアドレスに更新し、
前記暗号処理部は、所定のメッセージを暗号処理するために前記鍵データのアドレスを要求するアドレス要求情報を前記鍵管理部に送信し、
前記鍵管理部は、前記アドレス要求情報を受信すると、前記鍵アドレス管理情報から、前記鍵データのアドレスを取得して前記暗号処理部に送信し、
前記暗号処理部は、前記アドレスを受信すると、前記アドレスにアクセスし、前記鍵データを用いて前記メッセージを暗号処理する、
鍵管理方法。
【請求項8】
前記鍵管理部は、前記鍵データを記憶する先の場所をランダムに変更する、
請求項7に記載の鍵管理方法。
【請求項9】
前記暗号処理部は、難読化された鍵データを前記鍵管理部に送信し、
前記鍵管理部は、前記難読化された鍵データの難読化を解除して鍵データとし、前記鍵データを所定の場所に記憶し、前記場所のアドレスを鍵アドレス管理情報に登録する、
請求項7に記載の鍵管理方法。
【請求項10】
前記暗号処理部は、外部との通信を行うタスクから、前記タスクに対応する識別情報と、前記タスクのソースコードに記述されている難読化された鍵データとを受信すると、前記識別情報と前記難読化された鍵データとを前記鍵管理部に送信し、
前記鍵管理部は、前記難読化された鍵データの難読化を解除して鍵データとし、前記鍵データを所定の場所に記憶し、前記識別情報と前記場所のアドレスとを対応付けて鍵アドレス管理情報に登録し、
前記暗号処理部は、前記タスクの識別情報と、通信に係るメッセージとを前記タスクから受信すると、前記識別情報を前記アドレス要求情報として前記鍵管理部に送信し、
前記鍵管理部は、前記識別情報を受信すると、前記鍵アドレス管理情報から、前記識別情報に対応する前記アドレスを取得して前記暗号処理部に送信し、
前記暗号処理部は、前記アドレスを受信すると、前記アドレスにアクセスし、前記鍵データを用いて前記メッセージを暗号処理して前記タスクに送信する、
請求項7に記載の鍵管理方法。
【請求項11】
前記鍵管理部は、前記第1のアドレスにある前記鍵データを前記第2のアドレスに記憶後に削除する、
請求項7に記載の鍵管理方法。
【請求項12】
前記鍵管理部は、前記鍵データを前記第2のアドレスに記憶してから所定の時間が経過したと判断したとき、前記第1のアドレスにある前記鍵データを削除する、
請求項11に記載の鍵管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、暗号処理に用いる鍵を管理する技術に関する。
【背景技術】
【0002】
従来、機器の制御情報、企業の機密情報、個人情報等を通信する際、盗聴、傍受等によって第三者に内容を知られたり、改ざんされたりすることを防ぐために、鍵データを用いてデータの暗号処理が行われている。以下では、正規のユーザのふりをして不正な行動等を行う第三者を「なりすましユーザ」という。なりすましユーザに鍵データが渡ることで暗号文の秘匿性が失われてしまうことになるので、鍵データの管理は非常に重要となる。
【0003】
この点、制御通信を行う装置およびシステムにおいて、鍵データの更新および鍵データの世代管理を各装置が自律的に実行することができる鍵管理装置が開示されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2015-142301号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の技術では、鍵データを順次に変更する必要があり、鍵データの管理が複雑になってしまう。
【0006】
本発明は以上の点を考慮してなされたもので、鍵データを変更することなく、鍵データを適切に管理する鍵管理装置等を提案しようとするものである。
【課題を解決するための手段】
【0007】
かかる課題を解決するため、本発明においては、メッセージの暗号処理に用いる鍵データを管理する鍵管理装置であって、鍵データが記憶されている場所を示すアドレスを含む鍵アドレス管理情報を用いて前記鍵データを管理する鍵管理部と、前記鍵管理部により管理されている前記鍵データを用いてメッセージを暗号処理する暗号処理部と、を備え、前記鍵管理部は、管理している前記鍵データを所定のタイミングで前記鍵データが記憶されている場所を示す第1のアドレスとは異なる第2のアドレスに記憶し、前記鍵アドレス管理情報の前記第1のアドレスを前記第2のアドレスに更新し、前記暗号処理部は、所定のメッセージを暗号処理するために前記鍵データのアドレスを要求するアドレス要求情報を前記鍵管理部に送信し、前記鍵管理部は、前記アドレス要求情報を受信すると、前記鍵アドレス管理情報から、前記鍵データのアドレスを取得して前記暗号処理部に送信し、前記暗号処理部は、前記アドレスを受信すると、前記アドレスにアクセスし、前記鍵データを用いて前記メッセージを暗号処理する、ようにした。
【発明の効果】
【0008】
本発明によれば、暗号処理に用いる鍵データを適切に管理することができる。
【図面の簡単な説明】
【0009】
図1】第1の実施の形態に関わる鍵管理装置の構成の一例を示す図である。
図2】鍵アドレス管理情報の一例を示す図である。
図3】鍵管理装置における一連の処理の流れの一例を示す図である。
図4】鍵登録処理に係るフローチャートの一例を示す図である。
図5】鍵移動処理に係るフローチャートの一例を示す図である。
図6】鍵アドレス取得処理に係るフローチャートの一例を示す図である。
図7】暗号処理に係るフローチャートの一例を示す図である。
図8】鍵データの移動を説明するための図である。
【発明を実施するための形態】
【0010】
以下、図面を用いて、本発明の実施の形態を詳述する。
【0011】
(1)第1の実施の形態
本実施の形態は、暗号処理に用いる鍵データを適切に管理する技術に関する。暗号処理とは、メッセージを暗号化または復号化する処理をいう。メッセージは、命令、応答等、通信においてやり取りされる如何なるデータ(通信に係るデータ)であってもよい。
【0012】
例えば、本実施の形態の鍵管理装置は、暗号処理に用いる鍵データを記憶する場所を所定のタイミングで変更する。かかる構成によれば、なりすましユーザが鍵データを見つけることを困難にすることができる。
【0013】
なお、以下の説明では、同種の要素を区別しないで説明する場合には、枝番を含む参照符号のうちの共通部分(枝番を除く部分)を使用し、同種の要素を区別して説明する場合は、枝番を含む参照符号を使用することがある。例えば、期間を特に区別しないで説明する場合には、「期間800」と記載し、個々の期間を区別して説明する場合には、「期間800-1」、「期間800-2」のように記載することがある。
【0014】
図1は、鍵管理装置100の構成の一例を示す図である。
【0015】
鍵管理装置100は、例えば、パーソナルコンピュータ、サーバ装置、電気製品の基板に設けられる制御装置、ECU(Electronic Control Unit)等である。鍵管理装置100は、制御部110と、記憶部120と、通信部130とを含んで構成される。
【0016】
制御部110は、1以上のプロセッサである。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。少なくとも1つのプロセッサは、シングルコアでもよいし、マルチコアでもよい。少なくとも1つのプロセッサは、処理の一部または全部を行うハードウェア回路(例えば、FPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit))といった広義のプロセッサでもよい。
【0017】
記憶部120は、1以上のメモリであり、典型的には主記憶デバイスでよい。メモリ部における少なくとも1つのメモリは、RAM(Random Access Memory)等の揮発性メモリであってもよいし、ROM(Read Only Memory)等の不揮発性メモリであってもよい。
【0018】
記憶部120は、OS空間121と、鍵管理空間122と、ユーザ空間123とを含んで構成される。
【0019】
OS空間121は、鍵管理装置100に設けられるOS(Operating System)が使用する記憶部120の記憶領域である。OS空間121上のデータについては、OSがアクセスでき、OS上(ユーザ空間123上)で動作するプログラムは、アクセスできない構成となっている。例えば、OSは、鍵管理部124を備える。なお、OSのその他の機能については、図示は省略する。
【0020】
鍵管理部124は、OS空間121上に記憶される鍵アドレス管理情報125を用いて鍵管理空間122に記憶される鍵データ126を管理する。
【0021】
鍵データ126は、例えば、後述のメッセージの暗号処理において用いられるデータ(符号)であり、暗号アルゴリズムの処理を制御するためのデータである。鍵データ126は、共通鍵暗号方式で用いられる鍵データであってもよいし、公開鍵暗号方式で用いられる鍵データであってもよいし、その他の暗号化方式で用いられる鍵データであってもよい。なお、鍵アドレス管理情報125については、図2を用いて後述する。
【0022】
鍵管理空間122は、鍵データ126を記憶するために、記憶部120の空き記憶領域から所定の大きさが確保された記憶領域(メモリプール)である。鍵管理空間122では、所定の場所に1つ以上の鍵データ126が記憶される。
【0023】
ユーザ空間123は、OS上でプログラム(タスク127、暗号処理部128等)が起動された際、OSの管理のもと展開される記憶部120の記憶領域である。
【0024】
タスク127は、所定の処理を行うアプリケーションプログラムであり、鍵管理装置100において1つ以上実行される。タスク127には、送信側プログラム、受信側プログラム、その他のプログラムがある。送信側プログラムは、タスク127の外部と通信するために暗号化が必要なメッセージを暗号化するように暗号処理部128に依頼するプログラムである。受信側プログラムは、タスク127の外部から受信した暗号化されたメッセージを復号化するように暗号処理部128に依頼するプログラムである。その他のプログラムは、タスク127の外部との通信が行われないプログラムである。
【0025】
本実施の形態では、タスク127が送信側プログラムであり、暗号処理部128が行う暗号処理が暗号化であるケースを例に挙げて説明する。なお、タスク127が受信側プログラムであり、暗号処理部128が行う暗号処理が復号化であるケースについては、鍵データ126の管理方法は、基本的に同じであるので、以下では、説明を省略する。
【0026】
タスク127の外部(以下、「外部」と記す)とは、鍵管理装置100内の他の機能(他のタスク127、暗号処理部128、OS等)、鍵管理装置100外の装置等、当該タスク127とは異なる対象を指す。
【0027】
付言するならば、鍵データ126は、各タスク127に対応して設けられてもよいし、複数のタスク127に共通して設けられてもよい。本実施の形態では、各タスク127に対応して鍵データ126が設けられるケースを例に挙げて説明する。
【0028】
暗号処理部128は、なりすましユーザによる攻撃、盗聴、改ざん等の干渉を受けないように技術的に保護されているセキュアなプログラムである。暗号処理部128は、正規のプログラムと判断したタスク127と通信を行う。例えば、暗号処理部128は、タスク127が起動した際に、タスク127の識別情報(OSで割り振られて管理されるタスクID)を保持(登録)し、タスク127から接続が要求されたときに当該識別情報を用いて正規のプログラムであるかの認証を行い、認証に成功した場合に当該タスク127との通信を行う。
【0029】
また、暗号処理部128は、鍵データ126を用いて、タスク127から依頼されたメッセージを暗号化し、暗号化したメッセージを、暗号化を依頼したタスク127に応答する。なお、鍵管理部124は、セキュアなプログラムである暗号処理部128と通信するが、タスク127とは通信を行わない。
【0030】
通信部130は、LAN(Local Area Network)、CAN(Controller Area Network)、MOST(Media Oriented Systems Transport)等に対応した通信インタフェースデバイスであり、鍵管理装置100とは異なる所定の装置との通信を制御する。
【0031】
図2は、鍵アドレス管理情報125の一例を示す図である。
【0032】
鍵アドレス管理情報125には、ID201と鍵アドレス202とが対応付けられた情報が含まれる。
【0033】
ID201は、タスク127を識別可能な識別情報である。ID201は、例えば、鍵管理部124が鍵データ126を管理(鍵管理)するために、鍵管理部124によりタスク127毎に割り振られている。
【0034】
鍵アドレス202は、鍵データ126が記憶される鍵管理空間122における場所を示す情報である。鍵アドレス202は、例えば、暗号処理部128が鍵データ126にアクセスするために使用する物理アドレス(例えば、番地)である。なお、詳細については後述するが、アクセス先の鍵データ126は、例えば、鍵管理部124により所定のタイミングで場所が変更(例えば、移動)されるので、鍵アドレス202の情報は、鍵管理部124により所定のタイミングで更新される。
【0035】
図3は、鍵管理装置100における一連の処理の流れの一例を示す図である。
【0036】
(鍵登録処理)
まず、ステップS301~ステップS304を用いて鍵登録処理を説明する。
【0037】
鍵管理装置100が起動すると(ステップS301)、タスク127は、鍵管理部124での鍵管理のためにタスク127に割り振られているIDと、ハードコーディング(タスク127のソースコードに予め記述)されている難読化されている鍵データ126(以下、「難読化鍵データ」と記す)とを暗号処理部128に送信する(ステップS302)。
【0038】
暗号処理部128は、タスク127から送信されたIDおよび難読化鍵データを受信すると、IDおよび難読化鍵データを鍵管理部124に送信する(ステップS303)。
【0039】
鍵管理部124は、暗号処理部128から送信されたIDおよび難読化鍵データを受信すると、鍵登録処理を行う(ステップS304)。鍵登録処理では、難読化鍵データの難読化が解除されて鍵データ126とされ、記憶部120の鍵管理空間122上に記憶される。なお、鍵登録処理については、図4を用いて後述する。
【0040】
(鍵移動処理)
次に、ステップS311を用いて鍵移動処理を説明する。
【0041】
鍵管理部124は、記憶部120の鍵管理空間122において鍵データ126を記憶すると、所定のタイミングで鍵移動処理を行う(ステップS311)。鍵移動処理では、鍵データ126が移動される。なお、鍵移動処理については、図5を用いて後述する。
【0042】
(暗号処理)
次に、ステップS321~ステップS326を用いて、暗号処理について説明する。
【0043】
タスク127は、外部にメッセージを送信する際、タスク127に割り振られているIDとメッセージとを暗号処理部128に送信する(ステップS321)。
【0044】
暗号処理部128は、タスク127から送信されたIDおよびメッセージを受信すると、IDを、鍵データ126のアドレス(以下、「鍵アドレス」と記す)を要求するアドレス要求情報として鍵管理部124に送信する(ステップS322)。なお、暗号処理部128は、例えば、タスク127(鍵データ126)が1つしかない場合は、IDを送信しなくてもよい。
【0045】
鍵管理部124は、暗号処理部128から送信されたID(アドレス要求情報)を受信すると、鍵アドレス取得処理を行う(ステップS323)。鍵アドレス取得処理では、鍵アドレスが取得される。なお、鍵アドレス取得処理については、図6を用いて後述する。
【0046】
鍵管理部124は、取得した鍵アドレスを暗号処理部128に送信する(ステップS324)。
【0047】
暗号処理部128は、鍵管理部124から送信された鍵アドレスを受信すると、暗号処理を行う(ステップS325)。暗号処理では、例えば、メッセージが暗号化される。なお、暗号処理については、図7を用いて後述する。
【0048】
暗号処理部128は、暗号化したメッセージ(以下、「暗号化メッセージ」と記す)をタスク127に送信する(ステップS326)。なお、タスク127は、暗号化メッセージを外部に送信する。
【0049】
図4は、鍵管理部124が行う鍵登録処理に係るフローチャートの一例を示す図である。
【0050】
ステップS401では、鍵管理部124は、タスク127からIDと難読化鍵データとを受信する。
【0051】
ステップS402では、鍵管理部124は、難読化ツールを用いて難読化鍵データの難読化を解除し、鍵データ126として記憶部120の鍵管理空間122における所定の場所(例えば、ランダムに選んだ場所)に記憶する。
【0052】
ステップS403では、鍵管理部124は、受信したIDと、受信した難読化鍵データの難読化が解除された鍵データ126が記憶された所定の場所を示すアドレス(鍵アドレス)とを対応付けて鍵アドレス管理情報125に登録する。
【0053】
図5は、鍵管理部124が行う鍵移動処理に係るフローチャートの一例を示す図である。鍵移動処理は、各鍵データ126について繰り返し行われる。
【0054】
ステップS501では、鍵管理部124は、鍵データ126が同じ場所(第1の記憶領域)に記憶(保持)されている時間(以下、「保持時間」と記す)が第1の時間に達したか否かを判定する。鍵管理部124は、保持時間が第1の時間に達したと判定した場合、ステップS502に処理を移し、保持時間が第1の時間に達していないと判定した場合、処理を終了する。なお、第1の時間は、鍵管理装置100の管理者(以下、「システム管理者」と記す)により設定可能に構成されている。また、第1の時間は、タスク127の特性に応じて、タスク127毎に設定可能な構成であってもよい。かかる構成によれば、タスク127による通信の秘匿の度合いに応じて第1の時間を設定したり、タスク127による通信の頻度に応じて第1の時間を設定したりすることができる。
【0055】
ステップS502では、鍵管理部124は、鍵データ126を他の場所(第1の記憶領域とは異なる第2の記憶領域)にランダムにコピーする。
【0056】
ステップS503では、鍵管理部124は、他の場所(第2の記憶領域)のアドレスで鍵アドレス管理情報125を更新する。なお、第1の記憶領域は、コピー元であり、第2の記憶領域はコピー先である。
【0057】
ステップS504では、鍵管理部124は、鍵データ126が重複して鍵管理空間122に存在している時間(以下、「重複時間」と記す)が第2の時間に達したか否かを判定する。鍵管理部124は、重複時間が第2の時間に達したと判定した場合、ステップS505に処理を移し、重複時間が第2の時間に達していないと判定した場合、ステップS504に処理を戻す。なお、第2の時間は、システム管理者により設定可能に構成されている。また、第2の時間は、タスク127毎に設定可能な構成であってもよい。
【0058】
ステップS505では、鍵管理部124は、コピー元(第1の記憶領域)の鍵データ126を削除し、処理を終了する。
【0059】
図6は、鍵管理部124が行う鍵アドレス取得処理に係るフローチャートの一例を示す図である。
【0060】
ステップS601では、鍵管理部124は、暗号処理部128からIDを受信する。
【0061】
ステップS602では、鍵管理部124は、鍵アドレス管理情報125を参照し、受信したIDに対応する鍵アドレスを取得する。
【0062】
ステップS603では、鍵管理部124は、取得した鍵アドレスを暗号処理部128に送信する。
【0063】
図7は、暗号処理部128が行う暗号処理(本例では、暗号化)に係るフローチャートの一例を示す図である。
【0064】
ステップS701では、暗号処理部128は、タスク127からIDとメッセージとを受信する。
【0065】
ステップS702では、暗号処理部128は、受信したIDをアドレス要求情報として鍵管理部124に送信する。
【0066】
ステップS703では、暗号処理部128は、鍵管理部124から鍵アドレスを受信する。
【0067】
ステップS704では、暗号処理部128は、鍵アドレスを用いて鍵データ126にアクセスし、メッセージを暗号化する。
【0068】
ステップS705では、暗号処理部128は、暗号化メッセージを、受信したIDに対応するタスク127に送信する。
【0069】
図8は、鍵データ126の移動を説明するための図である。
【0070】
図8に示すように、鍵データ126が記憶される場所(番地)は、一定の時間(例えば、5秒)毎に、ランダムに変更される。
【0071】
ここで、期間800-1は、鍵データ126が番地「1000」に記憶されている時間(保持時間)を示す。時間811は、鍵データ126が番地「1000」に記憶されたときの時間を示す。時間812は、時間811から一定の時間(第1の時間)が経過したときの時間を示す。時間813は、時間812から一定の時間(第2の時間)が経過したときの時間を示す。
【0072】
また、期間800-2は、鍵データ126が番地「400」に記憶されている時間を示す。
【0073】
時間812から時間813までの時間(重複時間)は、鍵データ126が番地「1000」と番地「400」とに存在している。重複時間は、暗号処理部128が時間812にアドレス要求情報を送信して番地「1000」を取得し、番地「1000」を用いて鍵データ126にアクセスする際に、番地「1000」に鍵データ126がないことにより、鍵データ126のアクセスに失敗してしまう事態を回避するために設けられている。
【0074】
ただし、番地「1000」に鍵データ126を記憶したままにすると、なりすましユーザが番地「1000」を盗聴した場合に、鍵データ126を取得してしまうおそれがある。そこで、第2の時間が経過したときに、番地「1000」の鍵データ126を削除するようにしている。なお、第2の時間は、システム管理者の経験により設定されてもよいし、タスク127がアドレス要求情報を送信してから暗号化を終えるまでの時間の平均が自動的に計算されて設定されてもよい。
【0075】
本実施の形態によれば、鍵データを変更することなく、鍵データを適切に管理することができる。
【0076】
(2)付記
上述の実施の形態には、例えば、以下のような内容が含まれる。
【0077】
上述の実施の形態においては、本発明を鍵管理装置に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のシステム(例えば、カーナビゲーションシステム)、装置(例えば、車載装置)、方法、プログラムに広く適用することができる。
【0078】
また、上述の実施の形態において、OS空間121と鍵管理空間122とは、異なる空間として説明したが、本発明は、この構成に限るものではない。例えば、鍵管理空間122の一部または全部がOS空間121に含まれていてもよい。
【0079】
上述の実施形態において、暗号処理部128は、ユーザ空間123に設けられる場合について説明したが、本発明は、この構成に限るものではない。例えば、暗号処理部128は、OSが備える機能であってもよく、OS空間121に設けられてもよい。
【0080】
また、上述の実施の形態において、各テーブルは、情報の一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部または一部が1つのテーブルであってもよい。また、上述の実施の形態において、少なくとも一部の情報は、どのような構造の情報でもよいし(例えば、構造化データでもよいし非構造化データでもよいし)、入力に対する出力を発生するニューラルネットワークのような学習モデルでもよい。
【0081】
また、上述の実施の形態において、「kkk部」の表現にて機能が説明されたが、機能は、1以上のコンピュータプログラムが制御装置(プロセッサ)によって実行されることで実現されてもよいし、1以上のハードウェア回路(例えばFPGAまたはASIC)によって実現されてもよいし、それらの組合せによって実現されてもよい。1以上のプログラムが制御装置によって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置および/または通信装置等を用いながら行われるため、機能は制御装置の少なくとも一部とされてもよい。機能を主語として説明された処理は、制御装置或いはその制御装置を有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機または計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が1つの機能にまとめられたり、1つの機能が複数の機能に分割されたりしてもよい。
【0082】
また、上記の説明において、各機能に関わるプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD等の記憶装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0083】
上述した実施の形態は、例えば、以下の特徴的な構成を有する。
【0084】
メッセージ(例えば、通信に係るデータ)の暗号処理(暗号化、復号化等)に用いる鍵データを管理する鍵管理装置(例えば、鍵管理装置100)であって、鍵データ(例えば、鍵データ126)が記憶されている場所を示すアドレス(例えば、物理アドレス)を含む鍵アドレス管理情報(例えば、鍵アドレス管理情報125)を用いて鍵データを管理する鍵管理部(例えば、鍵管理部124)と、鍵管理部により管理されている鍵データを用いてメッセージを暗号処理する暗号処理部(例えば、暗号処理部128)と、を備え、鍵管理部は、管理している鍵データを所定のタイミングで鍵データが記憶されている場所を示す第1のアドレスとは異なる第2のアドレスに記憶し(例えば、ステップS502)、鍵アドレス管理情報の第1のアドレスを第2のアドレスに更新し(例えば、ステップS503)、暗号処理部は、所定のメッセージを暗号処理するために鍵データのアドレスを要求するアドレス要求情報を鍵管理部に送信し(例えば、ステップS702)、鍵管理部は、アドレス要求情報を受信すると、鍵アドレス管理情報から、鍵データのアドレスを取得して暗号処理部に送信し(例えば、ステップS601~ステップS603)、暗号処理部は、アドレスを受信すると、アドレスにアクセスし、鍵データを用いてメッセージを暗号処理する(例えば、ステップS704)。
【0085】
上記構成では、鍵データの使用時に当該鍵データのアドレスにアクセスしてメッセージの暗号処理を行うと共に、当該鍵データのアドレスを変更するので、なりすましユーザは、鍵データのアドレスを把握し難くなる。例えば、メッセージの暗号処理時に鍵データのアドレスにアクセスする構成において、鍵データのアドレスを変更して管理することにより、例えば、なりすましユーザがメモリのダンプを取得したとしても、どこに鍵データがあるのか、どこからどこまでが鍵データであるのかを分かりにくくすることができる。このように、上記構成によれば、鍵データ自体を変更することなく、なりすましユーザが鍵データを得てしまう事態を低減することができる。
【0086】
鍵管理部は、鍵データを記憶する先の場所(記憶先)を、ランダムに変更してもよいし、システム管理者により予め指定された順番、規則的(例えば、番地「100」、番地「200」、番地「300」というように特定の順序)に変更してもよい。
【0087】
鍵管理部は、鍵データを記憶する場所を変更するタイミング(鍵データを記憶する場所を異ならせるタイミング)は、定期的であってもよいし、不規則であってもよいし、鍵データにアクセスされた直後(例えば、鍵データを用いてメッセージが暗号処理された後)であってもよい。
【0088】
鍵管理部は、変更前のアドレスにある鍵データを、削除または変更することが好適である。変更前のアドレスにある鍵データを削除する構成によれば、なりすましユーザは、鍵データのアドレスを取得したとしても、変更前のアドレスには鍵データはないので、基本的には、鍵データを取得できない。他方、変更前のアドレスにある鍵データを変更する構成によれば、なりすましユーザは、鍵データのアドレスを取得したとしても、変更前のアドレスから鍵データとは異なるデータを取得することになるので、基本的には、鍵データを取得できない。
【0089】
上記構成において、鍵データは、難読化されていてもよいし、難読化されていなくてもよい。
【0090】
鍵管理部は、鍵データを記憶する先の場所をランダムに変更する(例えば、ステップS502、図8)。
【0091】
上記構成では、例えば、鍵データが記憶されている場所がランダムに変更されるので、なりすましユーザが過去のアドレスから鍵データを推測して見つけることを困難にでき、情報セキュリティを保つことができる。
【0092】
暗号処理部は、難読化された鍵データを鍵管理部に送信し(例えば、ステップS303)、鍵管理部は、難読化された鍵データの難読化を解除して鍵データとし、鍵データを所定の場所に記憶し(例えば、ステップS402)、場所のアドレスを鍵アドレス管理情報に登録する(例えば、ステップS403)。
【0093】
上記構成では、メッセージの暗号処理に必要な鍵データは、暗号処理部から難読化された状態で鍵管理部に送信され、鍵管理部において難読化が解除されて鍵データが登録される。このように、暗号処理部が難読化された鍵データを鍵管理部に渡すことで、なりすましユーザが鍵データの受け渡し時に鍵データを取得したとしても、鍵データを容易に使用することができなくなる。
【0094】
上記構成では、暗号処理部のソースコードには、外部との通信を行う複数のタスクで共通して用いられる難読化された鍵データが記述されていてもよいし、外部との通信を行う各タスクに対応した難読化された鍵データが記述されていていてもよいし、外部との通信を行う各タスクから難読化された鍵データが送信されてもよい。
【0095】
暗号処理部は、外部との通信を行うタスク(例えば、タスク127)から、タスクに対応する識別情報(例えば、ID)と、タスクのソースコードに記述されている難読化された鍵データとを受信すると、識別情報と難読化された鍵データとを鍵管理部に送信し(例えば、ステップS303)、鍵管理部は、難読化された鍵データの難読化を解除して鍵データとし、鍵データを所定の場所に記憶し、識別情報と場所のアドレスとを対応付けて鍵アドレス管理情報に登録し(例えば、ステップS402、ステップS403)、暗号処理部は、タスクの識別情報と、通信に係るメッセージとをタスクから受信すると(例えば、ステップS701)、識別情報をアドレス要求情報として鍵管理部に送信し(例えば、ステップS702)、鍵管理部は、識別情報を受信すると(例えば、ステップS601)、鍵アドレス管理情報から、識別情報に対応するアドレスを取得して暗号処理部に送信し(例えば、ステップS602、ステップS603)、暗号処理部は、アドレスを受信すると(例えば、ステップS703)、アドレスにアクセスし、鍵データを用いてメッセージを暗号処理してタスクに送信する(例えば、ステップS704、ステップS705)。
【0096】
上記構成では、タスクによる通信においてメッセージの暗号処理に必要な鍵データは、タスクから難読化された状態で、暗号処理部を介して鍵管理部に送信され、鍵管理部において難読化が解除されて鍵データが登録される。このように、難読化された鍵データをタスクが鍵管理部に渡すことで、なりすましユーザが鍵データの受け渡し時に鍵データを取得したとしても、鍵データを容易に使用することができなくなる。また、タスク毎に鍵データを管理することで、タスクに共通の鍵データを管理する場合と比べて、なりすましユーザが所望のタスクの鍵データを取得することをより困難にすることができる。
【0097】
鍵管理部は、第1のアドレスにある鍵データを第2のアドレスに記憶後に削除する(例えば、ステップS502、ステップS505)。
【0098】
上記構成では、例えば、なりすましユーザが変更前のアドレスを取得したとしても、当該アドレスの鍵データは削除されているので、なりすましユーザが鍵データを取得してしまう事態を低減することができる。
【0099】
第1のアドレスにある鍵データを削除するタイミングについては適宜のタイミングを採用することができる。例えば、鍵管理部は、変更前のアドレスにある鍵データを、直ちに削除してもよい。この場合、暗号処理部は、例えば、アドレスの変更のタイミングに鍵データにアクセスして、鍵データの取得に失敗したときは、リトライするようにしてもよい。また、例えば、鍵管理部は、同じ内容の鍵データの個数が、規定の個数(例えば、2個)になったと判定した場合、変更前のアドレスにある鍵データを削除してもよい。
【0100】
鍵管理部は、鍵データを第2のアドレスに記憶してから所定の時間(例えば、第2の時間)が経過したと判断したとき、第1のアドレスにある鍵データを削除する(例えば、ステップS504、ステップS505、図8参照)。
【0101】
ここで、暗号処理部がアドレスを取得してから暗号処理するまでの間に、鍵データが記憶される場所が変更された場合、暗号処理部は、鍵データにアクセスできなくなってしまう。この点、上記構成では、変更前のアドレスと変更後のアドレスとの両方に鍵データを記憶する期間を設けることで、例えば、暗号処理部が鍵データにアクセスできない事態を回避することができる。
【0102】
また上述した構成については、本発明の要旨を超えない範囲において、適宜に、変更したり、組み替えたり、組み合わせたり、省略したりしてもよい。
【符号の説明】
【0103】
100……鍵管理装置、124……鍵管理部、128……暗号処理部。
図1
図2
図3
図4
図5
図6
図7
図8