JP6043738B2 - 鍵管理装置および鍵管理方法 - Google Patents

鍵管理装置および鍵管理方法 Download PDF

Info

Publication number
JP6043738B2
JP6043738B2 JP2014015044A JP2014015044A JP6043738B2 JP 6043738 B2 JP6043738 B2 JP 6043738B2 JP 2014015044 A JP2014015044 A JP 2014015044A JP 2014015044 A JP2014015044 A JP 2014015044A JP 6043738 B2 JP6043738 B2 JP 6043738B2
Authority
JP
Japan
Prior art keywords
key
encryption
time
update
data
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
JP2014015044A
Other languages
English (en)
Other versions
JP2015142301A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2014015044A priority Critical patent/JP6043738B2/ja
Priority to PCT/JP2014/073602 priority patent/WO2015114871A1/ja
Publication of JP2015142301A publication Critical patent/JP2015142301A/ja
Application granted granted Critical
Publication of JP6043738B2 publication Critical patent/JP6043738B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、制御システム、および制御システムを構成するコンポーネント向けのセキュリティ技術に関する。
情報処理装置向けセキュリティ技術として、鍵管理技術がある。
暗号処理やデジタル署名など暗号技術は、各端末が保持する鍵によって実現される。この鍵は、暗号アルゴリズムの手続きを制御するデータであり、各端末やネットワークグループ毎で秘密に共有される。
各端末は、端末間で共通の暗号アルゴリズムと秘密に共有された鍵によって、データの暗号化や復号、デジタル署名の作成や検証などを実現でき、結果的に各端末やシステムのセキュリティを向上化できる。
一方、鍵は適切に管理されなければ、これらセキュリティ技術の安全性が低下する恐れがある。
一つの暗号鍵を長期間使用していると、何らかの手段で悪意ある第三者に鍵を解読されるリスクが高くなり、セキュリティ低下に繋がる。すなわち、高い安全性を維持するためには、定期的に鍵を更新する必要がある。その一方、鍵の更新を含めた鍵管理を人手で実施することは、管理コストが増大する原因となる。
したがって、鍵を自動的かつ定期的に更新する鍵管理技術が必要となる。
近年、電力やガスなどのインフラを支える産業制御システムや、システムを構成する制御サーバやコントローラなどの制御装置(以下、装置)において、セキュリティ対策が注目されている。
たとえば、特定装置を制御するパケットが、悪意ある第三者により改ざんされ、意図しない制御処理をその装置が実行する恐れがある。このような脅威に対応するため、制御システムにおいても、セキュリティ技術が求められる。
一方、従来の制御システムやシステムを構成する装置は、セキュリティ対策を意図した設計をされていなかったため、拡張性に乏しい。たとえば、制御装置は、開発コストや熱設計の観点から、組み込みプロセッサや低用量メモリから構成されている。
従来のセキュリティ技術は、OAパソコンやWebサーバなどの高性能コンピュータ向けに設計されており、計算資源の制約が多い制御装置で従来のセキュリティ技術を適用することは、システム可用性の低下を招く。
以上を踏まえ、処理性能が低い制御装置向けのセキュリティ技術を開発する必要がある。
非特許文献1の技術は、IPsec(Security Architecture for Internet Protocol)と呼ばれ、端末間で鍵更新を実現する仕組みである。この技術は、各装置間で生成した暗号化鍵 (共通鍵)を、Diffie-Hellman鍵交換アルゴリズムにより装置間で鍵を交換し、再度双方で認証したのちに、交換後の鍵で暗号通信を開始するためのトンネリング処理を実行する。
特許文献1の技術は、事前に複数の鍵を装置間で共有し、暗号化鍵を識別する情報とともに送信する手段を送信側装置に設ける。また、識別情報から解読鍵を決定する手段を受信側装置に設ける。
特開2005-159780公報
RFC 4301 "Security Architecture for Internet Protocol"(2005)
(非特許文献1)非特許文献1の技術で用いられるDiffie-Hellman鍵交換アルゴリズムは、巨大な素数を用いた計算を扱うため、計算量が非常に大きい。そのため、鍵更一回あたりの処理負荷は非常に大きく、これを制御装置上で実行した場合、制御装置の計算資源を圧迫し、制御処理のリアルタイム性を保証できない。
加えて、交換した鍵を用いた再認証の実行時間も含めると、鍵交換開始から暗号通信開始までの時間が非常に長くなる。この間、暗号通信を実行することができず、制御通信のリアルタイム性までも保証できない。
また、制御システム内ネットワークは、ブロードキャストを多用しており、P2P通信を前提とした非特許文献1の技術では、制御システムの要件を満足する性能を実現できない。
(特許文献1)特許文献1の技術は、各装置で常に複数バージョンの鍵を保有し、送信データに暗号化に使用した暗号鍵のバージョン情報を含める。受信側では、受信データに含まれる暗号鍵バージョン情報を参照し、対応する鍵で復号する。
特許文献1の技術によると、暗号鍵更新に伴う鍵不一致をなくし、鍵更新に伴うダウンタイム低減や通信データ漏れを防止できる。
しかし、特許文献1の技術は、鍵管理サーバとの通信や鍵配送処理による通信負荷増大や、受信時の暗号鍵復号処理に伴う各装置の処理負荷増大を招く。
また、鍵管理サーバがダウンした場合や、鍵管理サーバと装置間の通信が何らかの原因で途絶えた場合、鍵の適切な管理を維持できない。加えて、鍵管理サーバの維持コストや、通信発生に伴うネットワーク負荷の観点から、鍵管理サーバを用いた構成は望ましくない。
以上を踏まえ、本発明は、コントローラや制御サーバなど、制御通信を行う装置およびシステムにおいて、鍵の更新や世代管理を各装置が自律的に、実行することができる鍵管理装置を提供する。
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、データの暗号化又は復号化に用いる暗号鍵であって、所定のタイミングで順次更新される複数の暗号鍵の情報と、前記暗号鍵の更新順序及び現在暗号化に用いるべき現鍵がいずれであるかを示す情報を含む世代情報と、を記憶する記憶部と、データ送信時には、前記世代情報を参照して前記複数の暗号鍵から前記現鍵を抽出し、抽出した前記現鍵用いて送信データに暗号処理を実行し、暗号化に用いた前記現鍵の識別情報を送信データに付して通信パケットを生成して他の装置へ送信する処理と、データ受信時には、受信した通信パケットから暗号化に用いた暗号鍵の識別情報を抽出し、当該識別情報が示す暗号鍵が、前記現鍵から所定の更新回数前まで、あるいは、所定の更新回数後までの範囲内の暗号鍵であるか前記世代情報を参照して判別し、範囲内であった場合に当該暗号鍵を用いて受信データを復号化する処理と、を実行する処理部と、を備えることを特徴とする。
本発明は、コントローラや制御サーバなど、制御通信を行う装置およびシステムにおいて、鍵の更新や世代管理を各装置が自律的に、実行することができる鍵管理装置を提供することができる。
本発明における送信側装置100の構成を示す図。 本発明における受信側装置200の構成を示す図。 送信側装置100における暗号データ送信処理のフローチャートを示す図。 平文データ400を暗号パケット430へ変換するイメージを示す図。 送信側装置100、および受信側装置200における鍵切り替え処理のフローチャートを示す図。 暗号化鍵リスト110における鍵の世代更新処理を示す図。 受信側装置200における暗号データ受信処理のフローチャートを示す図。 二装置間で鍵の更新時刻を補正するタイミングチャートを示す図。 二装置間で鍵を世代更新する際の、暗号化鍵および復号鍵の切り替えるタイミングチャートを示す図。 旧鍵の有効期限を制限する一方式のフローチャートを示す図。 本発明の一適用例を示す図。 本発明を実装した専用チップ1110の構成を示す図。 本発明の効果例をタイミングチャートで示す図。 本発明の作用をタイミングチャートで示す図。
以下、図面を用いて本発明を説明する。
(構成の説明)
図1および図2は、本発明を適用した装置の構成例である。
図1に示す装置100は、本発明を適用した装置の内、送信側装置である。一方、図2に示す装置200は、本発明を適用した装置の内、受信側装置である。以下、図1及び図2を用いて、送信側の機能と受信側の機能とを分けて説明するが、実際には、これらは1つの装置内で送信時,受信時に実行される。
図1は、送信側装置を示した図である。本発明を適用した送信側装置100は、鍵の使用世代および有効期限が定められたIDを有する三世代以上の鍵情報と鍵データを管理する暗号化鍵テーブル110と、暗号対象となるデータを取得し、そのデータをバッファリングする暗号対象データ保持部120と、暗号対象データ保持部120がデータを受け取った際、暗号化鍵テーブル110から暗号化すべき鍵を取得する現鍵取得部130と、更新指令を受け取ったときや特定の鍵を無効化するときに、暗号化鍵テーブル110内の世代情報を書き換える世代管理部140と、装置内部の固有時計である内部時計150と、暗号鍵テーブル110に登録さえた有効期限と内部時計150とを比較し、有効期限が満了している場合、更新指令を世代管理部140に通知する鍵更新可否判断部160と、暗号対象データ保持部120と現鍵取得部130から暗号化に用いる鍵を取得し、ヘッダ情報に暗号化鍵を識別する情報を付与し、暗号処理を実行して外部装置へ送信する暗号処理部170とを有する。
暗号化鍵テーブル110は、装置を次に完全停止するまでの十分量の鍵を有し、その鍵一覧を事前に共有する。ここで十分量とは、予定外の更新処理発生を踏まえ、保持する予備の鍵を含めた鍵の数を意味する。
たとえば、次にシステムがサービス提供を停止までに必要な鍵の更新回数をMとした場合、暗号鍵テーブル110のエントリ数は、予備として保持する鍵数を含めるため、M以上となる。予備として保持する鍵数は、本発明を導入する装置のメモリ資源に応じて決定する。
暗号化鍵テーブル110が有する鍵一覧は、安全な方法によって装置間で共有される。
この方法は、オンラインまたはオフラインで実施する。たとえば、各装置にソフトイメージを書き込むときと同時に、鍵一覧情報を書き込む方法や、制御処理未実施中に既存の暗号化鍵を用いて新規生成した鍵一覧を暗号化し、それを送信する方法などがある。
図2は、受信側装置を示した図である。本発明を適用した受信側装置200は、鍵の使用世代および有効期限が定められたIDを有する三世代以上の鍵情報と鍵データを管理する復号鍵テーブル210と、取得した暗号データをバッファリングする受信データ保持部220と、受信データ保持部230がデータを受け取った際、暗号データのヘッダに含まれる鍵のIDを取得し、復号鍵テーブル210から復号に用いる鍵を取得する復号鍵取得部230と、更新指令を受け取ったときや、特定の鍵を無効化するときに、暗号化鍵テーブル210内の世代情報を書き換える世代管理部240と、装置内部の固有時計である内部時計250と、復号鍵テーブル210に登録さえた有効期限と内部時計250とを比較し、有効期限が満了している場合、更新指令を世代管理部240に通知する鍵更新可否判断部260と、復号鍵が変更されたことを検知し、変更時刻をもとに内部時計250を補正する内部時計補正部270と、復号データ保持部220と復号取得部230から復号に用いる鍵を取得し、復号処理を実行して暗号データを復元する復号処理部280とを有する。
復号鍵テーブル210のエントリ数は、暗号化鍵テーブル110のエントリ数と同値とする。また、鍵のIDから一意に暗号化鍵または復号鍵と関連付けされているものとする。
内部時計補正部270は、復号鍵取得部230が復号鍵テーブル210から取得した復号鍵が、装置200が現在使用する復号鍵と異なる場合、受信時刻を取得し、復号鍵テーブル210内の有効期限と比較することで自装置の内部時計の誤差を算出する。算出した誤差は、内部時計250へ反映される。内部時計250は、受け取った誤差情報をもとに時刻を補正する。
(処理概要説明)
以下、本発明の具体的な処理を説明する。
図3に、送信側装置100における暗号データ送信時のフローチャートを示す。
暗号対象データ保持部120は、常時暗号対象となるデータを待ち受ける状態にある。
現鍵取得部130は、暗号対象データ保持部120がデータを受信したことを検知し、世代が「現鍵」である暗号化鍵を取得する(S310)。
暗号化鍵の世代属性値は、鍵の使用状況に応じて、「使用不可」、「旧鍵」、「現鍵」、「次鍵」、「未使用」の五種類あり、「使用不可」は、暗号化鍵として使用不可能な状態、「旧鍵」は、現在使用中の暗号化鍵に切り替える前に使用していた鍵、「現鍵」は、暗号化鍵として現在使用中の鍵、「次鍵」は、現鍵の次に切り替えた時に現鍵となる鍵、「未使用」は、暗号化鍵として未使用で、前記四属性のいずれの状態でないものを示す。
現鍵取得部130が現鍵取得した後、現鍵および暗号対象データを暗号処理部170へ転送し、暗号処理を実行する(S320)。データは、ネットワークのMTU(Maximum Trasmission Unit)値に従って分割される。
暗号処理完了後、現鍵として使用した鍵のIDをヘッダとして付与し、暗号パケットデータを生成する(S330)。パケットデータの生成後、ネットワークのプロトコルスタックに従ったヘッダを付与し、他装置へ送信される。
具体的なパケット生成イメージを図4に示す。MTUの値に従って分割された平文データ400は、暗号処理によって暗号データ410に変換される。暗号データ410は、暗号化に用いた現鍵のID情報(421)がヘッダとして付与される。外部送信時は、通信プロトコルのヘッダ付与処理に従い、IP(Internet Protocol)ヘッダなどのヘッダが付与されて外部へ送信される。
なお、ID付与は、通信プロトコルのヘッダ内の領域を用いることが可能である。たとえば、IPヘッダの予約値など、通常の通信で使用されない部分などを利用できる。
図5に、鍵の世代更新実行時のフローチャートを示す。
鍵の世代更新処理は、周期的に呼び出され、内部時計の時刻取得(S510)、現在使用中の暗号化鍵(現鍵)の有効期限の取得(S520)、および世代更新をすべきか否かの有効性の確認(S530)を更新可否判断部140で行い、世代管理部140にて、世代更新を実行する(S540)。
現鍵の有効期限は、時刻情報、または残時間として管理される。時刻情報として管理される場合、内部時計と時刻を比較することで有効期限超過有無を判定する。残時間として管理される場合、前回時刻取得時からの経過時間を取得し、現鍵の残時間と差分をとる。
その差分が0以下であれば、有効期限切れと判断する。また、鍵の世代更新処理は、暗号化鍵の寿命、すなわち、暗号化鍵の長さに応じて決められる。
更新鍵判断部160が、有効期限切れと判断した場合、世代更新を実行する。
図6は、世代更新処理のイメージを示した図である。
図に示すように、世代更新処理を実行すると、旧鍵として割り当てられた鍵の属性値を使用不可とし、現鍵の属性値を旧鍵、次鍵の属性値を現鍵、未使用の鍵のうち一本の属性値を次鍵とする。未使用の鍵が割り当てられる順序は、各装置間で事前に定められているものとする。
このうち、新たに旧鍵として属性値が割り当てられたものは、その中でさらに有効期限は設定される。この有効期限は、ネットワーク全体で鍵更新が完了する十分時間を考慮し、決定される。 こうすることで、期限切れとなった旧鍵を早めに破棄でき、セキュリティ強度を維持できる。
以上の鍵世代更新処理は、受信側装置200でも同様に実行される。
図7に、受信側装置200の暗号パケット受信時のフローチャートを示す。
暗号パケット受信時、受信側装置200内の受信データ保持部220で、パケットデータがバッファされ、復号鍵取得部230にて、パケットに含まれる鍵のID情報を取得する(S710)。ID取得後、復号鍵取得部230は、復号鍵テーブル210から、IDに該当する鍵を取得し、世代の属性値を確認する(S720)。
世代の属性値が旧鍵、現鍵、次鍵のいずれにも該当しない場合、受信データを破棄する(S730、S780)。属性値が旧鍵である場合、図6に示した有効期限を確認し、旧鍵の有効期限が切れている場合、受信データを破棄する(S790)。
属性値が現鍵、または次鍵の場合や、旧鍵で有効期限内である場合、復号処理を実行する(S740)。
また、復号鍵が次鍵である場合、時刻を取得し、内部時計の補正処理を実行する(S750、S760)。この時刻補正により、ネットワーク内の時刻誤差が最適化され、NTP(Network Time Protocol)などを用いた時刻同期処理など、冗長な処理が不要となる。
補正処理のタイミングチャートを図8に示す。本発明を適用した装置Xと装置Yがあり、装置Xが暗号パケットを送信、装置Yが暗号パケットを受信する場合を考える。装置Xが先に世代更新を実行し、IDが03の鍵で暗号パケットを生成し送信する。装置Yでは、自身の世代切り替え前の時刻にIDが03の鍵で暗号化されたパケットを受信し、装置Xとの更新時間の差分を検知する。そして、次鍵で暗号化されたパケットの受信時刻と、現鍵の有効期限とを比較し、差分を算出する。この差分を自身の内部時計、もしくは現鍵の有効期限へ反映させることで、装置間の鍵更新時間の誤差を補正する。
この補正処理によって、旧鍵の有効期限を一定値としても、誤差が一定値を超えないことを保障でき、自律的な鍵の世代管理をメンテナンスフリーで長期的に実現できる。
復号完了後、鍵のIDなどの不要なデータを破棄し、平文データを必要とするアプリケーションなどへ受け渡す(S770)。
以上の処理が実現する機能を表したタイミングチャートを図9に示す。
図9は、装置Xおよび装置Y間における鍵世代の更新処理を各装置が自律的に実行する時のフローを示す例である。この例では、装置Xおよび装置Yの現鍵IDは02とし、世代更新が発生する度に1ずつ加算されるものとする。
また、各装置は、独立した鍵の更新タイミングを有しており、図9に示すタイミングで鍵の世代更新を実行するものとする。
図9の例では、装置Xが先に鍵の世代更新を実行する。この世代更新では、現鍵のIDは02から03、次鍵のIDは03から04へ変更される。装置Xは、世代更新の実行後、新たに現鍵となったIDが03の鍵で暗号を送信する。
IDが03の鍵で暗号化された鍵を受信した装置Yは、次鍵として登録されているIDが03の鍵で当該暗号データを復号する。そして、内部時計の補正を実行し、直ちに世代更新を実行する。
装置X、装置Yともに世代更新実行後、旧鍵(ID:02)の有効期間を一定時間設ける。
この期間中に限り、旧鍵で暗号化された暗号データを復号可能とする。
一定時間経過し、装置Yが先に世代更新処理を実行し、装置Xが世代更新前の暗号化鍵(ID:03)で暗号化した暗号データを装置Yへ送信した場合、装置Yは、旧鍵(ID:03)で復号する。装置Yは、一定期間経過後、旧鍵(ID:03)を無効化する。
この後、装置Yから装置Xへ暗号パケット送信する場合、装置Yは現鍵(ID:04)で暗号化し、装置Xへ送信する。
(旧鍵の利用制限)
装置Xは、鍵のIDが04の鍵で暗号化されたパケットを受信した場合、次鍵として登録されてある鍵で復号処理を実行し、世代更新を実行する。世代更新実行後、旧鍵を一定時間有効化し、その後無効化する。
以上の処理によって、本発明が意図する効果を実現できる。
以下、旧鍵での復号処理を許可する期間について述べる。
第一の例は、復号期間を固定値にする方法である。
この方法は、ネットワーク内の全装置の鍵更新完了する十分時間を固定値として設定し、世代更新時は、旧鍵の有効期限として、その固定値を割り当てる方式である。簡便な方式であるが、その固定値をシステム設計時に定める必要がある。
第二の例は、世代切り替え実行後の装置からみて現鍵に対応する識別情報をもつ鍵で送信する装置数をカウントし、その数が規定数超えたところで旧鍵を無効化する方式である。特に制御システムでは、制御周期毎で通信する装置が一意化される傾向があり、この方法は効果的である。
図10は、旧鍵の有効期限を制限する一方式のフローチャートを示す図である。この処理は世代管理部240にて実行される。
この処理は、世代更新完了後において、ある装置からみて現鍵として登録されている鍵で暗号化された暗号パケットを受信する毎に呼び出され、暗号パケット送信元を特定し(S1010)、送信元が新規であるか判定する(S1020)。新規と判定された場合、現鍵を利用した装置の台数(現鍵利用装置数)をカウントする(S1030)。この利用台数が、規定数以上を超えた場合、旧鍵を利用した通信は完了したものとみなし、旧鍵を無効化する(S1040、S1050)。これによって、自装置から見て通信対象となる全ての装置の鍵更新を確認した後に、旧鍵を無効化できるため、旧鍵による復号化を許容する時間を最適な時間に制限できる。
また、この例では、旧鍵利用装置数をカウントしたが、装置数に限らず、装置のアドレスなど、装置を識別する情報で判別してもよい。
第三の方法は、旧鍵を使用した暗号パケットの受信毎で、旧鍵の有効期限を一定期間延長する方法である。
この方法は、 旧鍵を利用した暗号パケットを受信して、ある固定期間だけ復号を許可する期間を延長し、それを受信がなくなるまで繰り返す方式である。 また、この方法によって加算される延長期間は、上限を設けてもよい。
上記に示した第一の方法および第三の方法の固定期間を変動させてもよい。これは、システム動作時、旧鍵を用いた通信の状況から、旧鍵を無効化する期間の値を決定するものである。この方法では、前回の世代更新処理の結果を反映でき、自動的に旧鍵を無効化すべき時間を最適化できる。
この発明の適用形態は、装置内部に実装するだけでなく、装置外部でネットワーク間接続する専用モジュールとしても適用できる。
図11に適用例を示す。この例では、送信側装置100および受信側装置200に示した処理ブロックを実装した専用ハードウェアやSoC(System on Chip)を含む専用チップ1110を通信インタフェース1120間に設ける構成である。ここで通信インタフェース1120は、Ethernet(登録商標)やシリアル通信など、汎用的に利用されるものとする。
専用チップ1110の内部構成を図12に示す。
暗号データ送信処理部1210は、図1に示した送信側装置100が有する本発明の各処理部を内部に有する。同様に、暗号データ受信処理部1220は、図2に示した受信処理装置200が有する本発明の各処理部を内部に有する。ただし、内部時計に限り、暗号データ送信処理部1210、または暗号データ受信処理部1220のいずれか一方が有する構成、もしくは暗号データ送信処理部1210、および暗号データ受信処理部1220の外部に有する構成でもよい。
暗号化鍵・復号鍵テーブル1230は、暗号化鍵テーブル110および復号鍵テーブル210が結合した構成である。暗号化鍵・復号鍵テーブル1230は、暗号データ送信処理部1210、および暗号データ受信処理部1220の双方から参照、管理される。
この構成によると、既存の装置に対して、容易に本発明の機能を実現できる。
(次鍵の利用制限)
本発明は、前鍵の利用終了期間を調節するほか、次鍵の利用開始期間を調整する機能を提供できる。
本発明の構成によると、現鍵を使用開始と同時に次鍵は復号可能となる。次鍵は、それ自身は暗号化として用いられず、暗号文サンプルを得ることができないため、旧鍵や現鍵と比べ、セキュリティ上のリスクは低い。
しかし、次鍵を用いた暗号通信が可能な期間中は、復号可能な鍵のパターン数が増えてしまうため、総当たり攻撃などの被害を受ける確率が少なからず増加する。たとえば、現鍵のみを復号許可する構成と比べて、現鍵および次鍵の両方を復号許可する構成は、総当たり攻撃の被害を受ける確率は二倍高い。
この課題に対し、次鍵の利用開始期間を調整することで、総当たり攻撃を受ける被害を最小化できる。具体的には、次鍵に関して、利用開始期間を設けることで、本効果を実現できる。
次鍵の利用開始期間を調整したときの効果について、図13にイメージを示す。
図13の例では、双方の装置は現鍵としてIDが02の鍵、次鍵としてIDが03の鍵が設定されている。次鍵(ID:03)は、IDが02の鍵が現鍵として設定された時点で、復号許可はないものとし、次の世代更新の予定時刻の所定時間前になったとき、次鍵による復号を許可する。
この所定時間は、ネットワーク内の装置のうち、1台でも世代更新を開始する時刻を考慮した時間とする。
図13の例の場合、次鍵利用可能になる前に、攻撃者1310が暗号鍵の総当たり攻撃を仕掛け、次鍵によって暗号化、もしくは署名された不正パケット1320の生成に成功した場合であっても、復号を許可しない期間であるため、装置Yは不正パケット1320を受理しない。
この構成により、鍵の不一致期間の発生を防ぎつつ、総当たり攻撃などのセキュリティリスクを最小化できる。
次鍵による復号を許可する期間を定める方法例を以下に示す。
第一の例は、次鍵が復号可能となる所定時間を固定値とする方法である。
これは、ネットワーク内のいずれかの装置が世代更新を実行し、世代更新前に次鍵である鍵を用いた暗号文を送信開始する時間を予測できる場合、その時間を固定値とする。
この方法は簡素な方式であり、各装置の内部時計の誤差が所定範囲以内であることが保証される場合において、効果的である。
第二の例は、前回の世代更新開始処理時において、最初に次鍵で暗号化された暗号パケットを受信した時間から、次鍵の復号を許可する期間を決定する方式である。
制御システムのような周期的な処理を実行するシステムの場合、世代更新処理も周期的になる傾向があり、前回の世代更新開始期間からの時間差はそれほど大きくない。
この例の応用として、初期は次鍵による復号許可期間を長めに設定し、二回目の世代更新以降、最適化された復号許可期間を取得する(図14)。図14におけるパケット1410は、次鍵で暗号化された暗号パケットのうち、最初に受信したもの、期間1420は、最適化されたことによって次鍵の利用可能期間が制限された期間を示す。
また、この所定時間内に次鍵を用いて暗号化されたデータを受信した際、同時に内部時計補正部270を介して内部時計250を補正することもできる。こうすることで、各装置間で内部時計の誤差を小さくできる。
以上の方式を採用することで、よりセキュリティを向上化できる。
(旧鍵、および次鍵双方の利用制限)
以上に示した旧鍵および次鍵の利用期限を制限する構成を双方採用することで、復号可能な鍵を最小化することができ、制御システムのセキュリティをより向上化できる。
以上のとおり、本実施例では、制御情報を送信または受信する複数の装置からなるシステムであって、各装置は、鍵の使用世代および有効期限が定められた識別情報(以下、ID)を有する複数の鍵を所有する。送信側装置は、データ暗号化時、暗号鍵のIDをデータに付与し、受信側装置は、データ受信時、IDに対応する鍵で復号する。
そして、各装置が持つ鍵の世代は少なくとも三世代有し、鍵の暗号化する場合、三世代のうち中間世代の鍵で暗号化して送信する。受信側は、中間世代から、ちょうど前後世代の鍵に限り、復号を許可する。
これによって、本実施例のシステムでは、暗号鍵を管理する特別なサーバを要することなく、各装置が自律的に暗号鍵の更新した場合においても、鍵不一致により通信できない期間の発生を防ぎセキュアなシステムを提供することができる。
また上記構成に加え、各装置は内部時計を有しており、この時計を用いて暗号鍵の有効期限を管理する。さらには、中間世代の鍵から見て、ちょうど前後世代の鍵を有効にする期間を制限する。
これによって、有効な鍵数およびそれらの有効期限を最小化できるため、セキュリティを向上化できる。 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明した ものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くこと ができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
100:送信側装置
110:暗号化鍵テーブル
120:暗号対象データ保持部
130:現鍵取得部
140:世代管理部
150:内部時計
160:更新可否判断部
170:暗号処理部
200:受信側装置
210:復号鍵テーブル
220:受信データ保持部
230:復号鍵取得部
240:世代管理部
250:内部時計
260:更新可否判断部
270:内部時計補正部
280:復号処理部
400:暗号化対象の平文データ
410:平文データ400を暗号化した暗号データ
420:暗号データ400に現鍵IDを付与したペイロードデータ
430:ペイロードデータ420から生成されたパケットデータ
1110:本発明の機能を実装した専用チップ
1120:制御装置の通信インタフェース
1210:専用チップ1110内の暗号データ送信処理部
1220:専用チップ1110内の暗号データ受信処理部
1230:専用チップ1110内の暗号化鍵・復号鍵テーブル
1310:不正パケットを送信する攻撃者
1320:不正パケット
1410:受信側装置において次鍵で暗号化されたパケットデータ430
1420:最適化により削減された次鍵の復号許可期間
装置X,装置Y:本発明を適用した鍵管理装置
Sxxx:フローチャート内の処理ステップ

Claims (10)

  1. データの暗号化又は復号化に用いる暗号鍵であって、所定のタイミングで順次更新され
    る複数の暗号鍵の情報と、前記暗号鍵の更新順序及び現在暗号化に用いるべき現鍵がいず
    れであるかを示す情報を含む世代情報と、を記憶する記憶部と、
    データ送信時には、前記世代情報を参照して前記複数の暗号鍵から前記現鍵を抽出し、
    抽出した前記現鍵用いて送信データに暗号処理を実行し、暗号化に用いた前記現鍵の識別
    情報を送信データに付して通信パケットを生成して他の装置へ送信する処理と、
    データ受信時には、受信した通信パケットから暗号化に用いた暗号鍵の識別情報を抽出
    し、当該識別情報が示す暗号鍵が、前記現鍵から所定の更新回数前まで、あるいは、所定
    の更新回数後までの範囲内の暗号鍵であるか前記世代情報を参照して判別し、範囲内であ
    った場合に当該暗号鍵を用いて受信データを復号化する処理と、を実行する処理部と、を
    え、
    前記世代情報には、前回の暗号鍵更新時まで暗号化に用いていた旧鍵及び次回の暗号鍵
    更新後に暗号化に用いる次鍵がいずれであるかを示す情報が含まれ、
    前記処理部は、自装置内の内部時計を基準として、使用していない前記暗号鍵を新規に
    前記次鍵に割り当てて暗号鍵の更新を行い、
    前記受信データの暗号化に用いた暗号鍵が、前記旧鍵または前記次鍵であった場合には、前記受信データの受信時刻に基づいて自装置内の前記内部時計を補正することを特徴とする鍵管理装置。
  2. 請求項1に記載の鍵管理装置において、
    前記暗号鍵の情報は、通信を行う他の装置と共有化されており、暗号化に用いる暗号化
    鍵と、復号化に用いる復号鍵とが対応付けて記憶されることを特徴とする鍵管理装置。
  3. 請求項1に記載の鍵管理装置において、
    受信データの暗号化に用いた暗号鍵が、前記次鍵であった場合には自装置の前記暗号鍵
    の更新を実行することを特徴とする鍵管理装置。
  4. 請求項1に記載の鍵管理装置において
    前記旧鍵には、有効期限が定められており、受信データの暗号化に用いた暗号鍵が前記
    旧鍵であった場合には、さらに前記旧鍵が前記有効期限内であった場合に当該暗号鍵を用
    いて受信データを復号化することを特徴とする鍵管理装置。
  5. 請求項4に記載の鍵管理装置において
    前記暗号鍵の更新によって、前記現鍵が前記旧鍵へ割当てられると所定の前記有効期限
    を当該旧鍵へ定めることを特徴とする鍵管理装置。
  6. 請求項4に記載の鍵管理装置において、
    規定台数以上の装置から、前記現鍵を用いて暗号された受信データを受信した場合には
    、前記旧鍵による復号を無効化することを特徴とする鍵管理装置。
  7. 請求項1に記載の鍵管理装置において、
    前記次鍵は、次回の鍵更新予定時刻より一定時間前から、次回の鍵更新予定時刻までの
    時間帯に限り復号する権限が与えられ、
    前記一定時間は、当該鍵管理装置を含むネットワークやシステムの構成情報、またはシ
    ステムの処理実行周期から決定されることを特徴とする鍵管理装置。
  8. 請求項7に記載の鍵管理装置において、
    前記次鍵は、次回の鍵更新予定時刻より特定の時間前から、次回の鍵更新予定時刻まで
    の時間帯に限り復号権限が与えられ、
    前記特定の時間は、前回の鍵更新処理完了時の時刻と、その後最初に前記次鍵で復号可
    能な通信パケットを受信した時刻との差から、決定されることを特徴とする鍵管理装置。
  9. 請求項8に記載の鍵管理装置において、
    前記次鍵は、次回の鍵更新予定時刻より特定の時間前から、次回の鍵更新予定時刻まで
    の時間帯に限り復号権限が与えられ、
    前記特定の時間は、前回の鍵更新処理完了時の時刻と、その後最初に前記次鍵で復号可
    能な通信パケットを受信した時刻との差から、次回鍵更新時において、次鍵で復号可能な
    通信パケットを受信する時刻を割り出し、当該時刻と次回の鍵更新予定時刻の時間差分が
    、現在設定されている前記特定の時間より短い場合に限り、前記時間差分を前記特定の時
    間として設定することを特徴とする鍵管理装置。
  10. データの暗号化又は復号化に用いる暗号鍵であって、所定のタイミングで順次更新され
    る複数の暗号鍵の情報と、前記暗号鍵の更新順序及び現在暗号化に用いるべき現鍵がいず
    れであるかを示す情報を含む世代情報と、を用いて、
    データ送信時には、前記世代情報を参照して前記複数の暗号鍵から前記現鍵を抽出し、
    抽出した前記現鍵用いて送信データに暗号処理を実行し、暗号化に用いた前記現鍵の識別
    情報を送信データに付して通信パケットを生成して他の装置へ送信する処理と、
    データ受信時には、受信した通信パケットから暗号化に用いた暗号鍵の識別情報を抽出
    し、当該識別情報が示す暗号鍵が、前記現鍵から所定の更新回数前まで、あるいは、所定
    の更新回数後までの範囲内の暗号鍵であるか前記世代情報を参照して判別し、範囲内であ
    った場合に当該暗号鍵を用いて受信データを復号化する処理と、を行い、
    前記世代情報には、前回の暗号鍵更新時まで暗号化に用いていた旧鍵及び次回の暗号鍵
    更新後に暗号化に用いる次鍵がいずれであるかを示す情報が含まれ、
    自装置内の内部時計を基準として、使用していない前記暗号鍵を新規に前記次鍵に割り
    当てて暗号鍵の更新を行い、
    前記受信データの暗号化に用いた暗号鍵が、前記旧鍵または前記次鍵であった場合には
    、前記受信データの受信時刻に基づいて自装置内の前記内部時計を補正することを特徴とする鍵管理方法。
JP2014015044A 2014-01-30 2014-01-30 鍵管理装置および鍵管理方法 Active JP6043738B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014015044A JP6043738B2 (ja) 2014-01-30 2014-01-30 鍵管理装置および鍵管理方法
PCT/JP2014/073602 WO2015114871A1 (ja) 2014-01-30 2014-09-08 鍵管理装置および鍵管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014015044A JP6043738B2 (ja) 2014-01-30 2014-01-30 鍵管理装置および鍵管理方法

Publications (2)

Publication Number Publication Date
JP2015142301A JP2015142301A (ja) 2015-08-03
JP6043738B2 true JP6043738B2 (ja) 2016-12-14

Family

ID=53756471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014015044A Active JP6043738B2 (ja) 2014-01-30 2014-01-30 鍵管理装置および鍵管理方法

Country Status (2)

Country Link
JP (1) JP6043738B2 (ja)
WO (1) WO2015114871A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9929863B2 (en) * 2015-10-30 2018-03-27 Palo Alto Research Center Incorporated System and method for efficient and semantically secure symmetric encryption over channels with limited bandwidth
MY181840A (en) * 2016-11-04 2021-01-08 Thomson Licensing Devices and methods for client device authentication
WO2020093398A1 (zh) 2018-11-09 2020-05-14 华为技术有限公司 空中下载升级的方法及相关装置
JP7300845B2 (ja) * 2019-02-15 2023-06-30 三菱重工業株式会社 制御装置、産業用制御システムおよび暗号鍵寿命延長方法
CN113517983B (zh) * 2021-05-20 2023-10-20 支付宝(杭州)信息技术有限公司 生成安全计算密钥、进行安全计算的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002290396A (ja) * 2001-03-23 2002-10-04 Toshiba Corp 暗号鍵更新システムおよび暗号鍵更新方法
JP2007104310A (ja) * 2005-10-04 2007-04-19 Hitachi Ltd ネットワーク装置、ネットワークシステム及び鍵更新方法
JP2010087888A (ja) * 2008-09-30 2010-04-15 Onkyo Corp 暗号鍵配信システム、暗号鍵配信サーバ、コンテンツ配信サーバ、及びクライアント
JP5077186B2 (ja) * 2008-10-17 2012-11-21 富士通株式会社 通信装置、通信方法及び通信プログラム
US8245037B1 (en) * 2009-02-17 2012-08-14 Amazon Technologies, Inc. Encryption key management

Also Published As

Publication number Publication date
JP2015142301A (ja) 2015-08-03
WO2015114871A1 (ja) 2015-08-06

Similar Documents

Publication Publication Date Title
CN110636062B (zh) 设备的安全交互控制方法、装置、电子设备及存储介质
EP2677682B1 (en) Key management system
US8694787B2 (en) Apparatus and method for securing digital data with a security token
JP6043738B2 (ja) 鍵管理装置および鍵管理方法
JP6573880B2 (ja) 更新プログラム及び方法、及び、管理プログラム及び方法
JP7292263B2 (ja) デジタル証明書を管理するための方法および装置
CN101296086B (zh) 接入认证的方法、系统和设备
US8948397B2 (en) Major management apparatus, authorized management apparatus, electronic apparatus for delegated key management, and key management methods thereof
JP2007082216A (ja) 一対一でデータを安全に送受信する方法及び装置
JP2012050066A (ja) セキュアなフィールドプログラマブルゲートアレイ(fpga)アーキテクチャ
CN103686717A (zh) 一种物联网传感系统的密钥管理方法
WO2013094018A1 (ja) 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム
JP2013026747A (ja) 情報処理装置、サーバ装置およびプログラム
JP5133850B2 (ja) ストレージノード用再暗号化システム及びネットワークストレージ
US10630466B1 (en) Apparatus and method for exchanging cryptographic information with reduced overhead and latency
CN104125239A (zh) 一种基于数据链路加密传输的网络认证方法和系统
JP6366883B2 (ja) 属性連携装置、転送システム、属性連携方法及び属性連携プログラム
JP2005303676A (ja) 画像形成装置、鍵ペア生成方法及びコンピュータプログラム
CN116155491A (zh) 安全芯片的对称密钥同步方法及安全芯片装置
KR102609578B1 (ko) 양자 암호키 관리 장치, 방법 및 컴퓨터 프로그램
JP2009055428A (ja) 情報処理装置、サーバ装置、情報処理プログラム及び方法
JP5691549B2 (ja) ポリシ管理サーバ装置、サーバ装置、クライアント装置、及びこれらを有する暗号アルゴリズム切換システム
JP2010068396A (ja) 暗号化装置、端末装置、暗号化プログラム及び方法、情報処理プログラム及び方法
JP2011114799A (ja) セキュリティシステム、中継装置、セキュリティ方法、及びプログラム
JP2004135195A (ja) 情報機器登録方法、その方法をコンピュータに実行させるプログラム、情報機器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160930

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161114

R151 Written notification of patent or utility model registration

Ref document number: 6043738

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151