(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-24
(45)【発行日】2024-06-03
(54)【発明の名称】検証装置、検証方法及び検証プログラム
(51)【国際特許分類】
G06F 21/57 20130101AFI20240527BHJP
H04L 9/32 20060101ALI20240527BHJP
【FI】
G06F21/57 370
H04L9/32 200D
(21)【出願番号】P 2021122406
(22)【出願日】2021-07-27
【審査請求日】2023-07-20
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【氏名又は名称】林 一好
(72)【発明者】
【氏名】清本 晋作
(72)【発明者】
【氏名】福島 和英
(72)【発明者】
【氏名】仲野 有登
(72)【発明者】
【氏名】長谷川 健人
【審査官】小林 秀和
(56)【参考文献】
【文献】特表2014-534531(JP,A)
【文献】中国特許出願公開第112231776(CN,A)
【文献】米国特許出願公開第2008/0282209(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/57
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
予め定義された特徴量抽出手順により回路データから抽出された特徴量を、前記回路データを識別するためのメタ情報と共に当該回路データの保有端末から受信する入力部と、
前記特徴量抽出手順に対応して設けられた、不正回路の有無を確認するための検証手順によって、前記回路データの安全性を検証する検証部と、
前記検証部による検証結果を、前記メタ情報と対応付けて公開する出力部と、を備え
、
前記特徴量は、前記回路データを構成する素子毎の、当該素子の近傍にある素子の種類及び距離を含むデータである検証装置。
【請求項2】
前記特徴量抽出手順は、公開された所定のツールにより提供される請求項1に記載の検証装置。
【請求項3】
前記所定のツールは、当該ツールに埋め込まれた固有の鍵により前記抽出された特徴量を不可逆に変換させる請求項2に記載の検証装置。
【請求項4】
前記検証部は、前記抽出された特徴量を、予め定義された特徴量と照合することで前記不正回路の有無を確認する請求項1から請求項
3のいずれかに記載の検証装置。
【請求項5】
前記出力部は、前記検証結果にタイムスタンプを付与して公開する請求項1から請求項
4のいずれかに記載の検証装置。
【請求項6】
前記出力部は、前記検証結果に検証者の署名を付与して公開する請求項1から請求項
5のいずれかに記載の検証装置。
【請求項7】
前記入力部は、前記メタ情報として、前記回路データのハッシュ値を受信する請求項1から請求項
6のいずれかに記載の検証装置。
【請求項8】
予め定義された特徴量抽出手順により回路データから抽出された特徴量を、前記回路データを識別するためのメタ情報と共に当該回路データの保有端末から受信する入力ステップと、
前記特徴量抽出手順に対応して設けられた、不正回路の有無を確認するための検証手順によって、前記回路データの安全性を検証する検証ステップと、
前記検証ステップにおける検証結果を、前記メタ情報と対応付けて公開する出力ステップと、をコンピュータが実行
し、
前記特徴量は、前記回路データを構成する素子毎の、当該素子の近傍にある素子の種類及び距離を含むデータである検証方法。
【請求項9】
請求項1から請求項
7のいずれかに記載の検証装置としてコンピュータを機能させるための検証プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、回路データのセキュリティを検証するためのシステムに関する。
【背景技術】
【0002】
ハードウェア(回路)の設計及び製造の工程は、効率化のため、あるいは、回路の大規模化等に伴って、一部を外部委託することでサプライチェーンが形成されることが多い。他者の関与により、設計段階で故意に又は偶然に、不正なデータ又は機能を実現する回路(ハードウェアトロイ)が挿入されるおそれがあった。
このため、回路の設計データにハードウェアトロイが混入していることを検知する手法が研究されている(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【文献】Mohammad Tehranipoor et al., "Hardware Trojan Detection Solutions and Design-for-Trust Challenges," <https://static.googleusercontent.com/media/research.google.com/ja//pubs/archive/37395.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の手法は、回路データを所持している事業者が自ら検証することを想定した技術である。回路データは、一般的に機密性の高い情報であり、第三者に提供することができないため、客観的な検証結果を得ることは難しかった。
【0005】
本発明は、回路データそのものの提供を受けることなく、不正回路が含まれていないことを検証できる検証装置、検証方法及び検証プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る検証装置は、予め定義された特徴量抽出手順により回路データから抽出された特徴量を、前記回路データを識別するためのメタ情報と共に当該回路データの保有端末から受信する入力部と、前記前記特徴量抽出手順に対応して設けられた、不正回路の有無を確認するための検証手順によって、前記回路データの安全性を検証する検証部と、前記検証部による検証結果を、前記メタ情報と対応付けて公開する出力部と、を備える。
【0007】
前記特徴量抽出手順は、公開された所定のツールにより提供されてもよい。
【0008】
前記所定のツールは、当該ツールに埋め込まれた固有の鍵により前記抽出された特徴量を不可逆に変換させてもよい。
【0009】
前記特徴量は、前記回路データを構成する素子毎の、当該素子の近傍にある素子の種類及び距離を含むデータであってもよい。
【0010】
前記検証部は、前記抽出された特徴量を、予め定義された特徴量と照合することで前記不正回路の有無を確認してもよい。
【0011】
前記出力部は、前記検証結果にタイムスタンプを付与して公開してもよい。
【0012】
前記出力部は、前記検証結果に検証者の署名を付与して公開してもよい。
【0013】
前記入力部は、前記メタ情報として、前記回路データのハッシュ値を受信してもよい。
【0014】
本発明に係る検証方法は、予め定義された特徴量抽出手順により回路データから抽出された特徴量を、前記回路データを識別するためのメタ情報と共に当該回路データの保有端末から受信する入力ステップと、前記特徴量抽出手順に対応して設けられた、不正回路の有無を確認するための検証手順によって、前記回路データの安全性を検証する検証ステップと、前記検証部による検証結果を、前記メタ情報と対応付けて公開する出力ステップと、をコンピュータが実行する。
【0015】
本発明に係る検証プログラムは、前記検証装置としてコンピュータを機能させるためのものである。
【発明の効果】
【0016】
本発明によれば、回路データそのものの提供を受けることなく、不正回路が含まれていないことを検証できる。
【図面の簡単な説明】
【0017】
【
図1】実施形態における検証システムの全体構成を示す図である。
【
図2】実施形態における検証サーバの機能構成を示す図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態の一例について説明する。
図1は、本実施形態における検証システム1の全体構成を示す図である。
検証システム1は、データ保有端末10と、検証サーバ20(検証装置)と、レポジトリ30とを備える。
【0019】
データ保有端末10は、回路データを保有する設計業者の端末である。回路データから抽出された特徴量を第三者の検証サーバ20に送信し検証を依頼することで、検証サーバ20は、ハードウェアトロイ等の不正回路の有無を検証し、検証結果が証明書としてレポジトリ30に公開される。
【0020】
このとき、特徴量には、回路データを識別可能なメタ情報が付与され、検証サーバ20は、このメタ情報と検証者の署名とを含む検証結果の証明書に、タイムスタンプを付与して公開する。
なお、レポジトリ30は、検証サーバ20に統合されていてもよい。
【0021】
図2は、本実施形態における検証サーバ20の機能構成を示す図である。
検証サーバ20は、制御部21及び記憶部22の他、各種データの入出力デバイス及び通信デバイス等を備えた情報処理装置である。
【0022】
制御部21は、検証サーバ20の全体を制御する部分であり、記憶部22に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部21は、CPUであってよい。
具体的には、制御部21は、入力部211と、検証部212と、出力部213とを備える。
【0023】
記憶部22は、ハードウェア群を検証サーバ20として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。具体的には、記憶部22は、本実施形態の各機能を制御部21に実行させるためのプログラム(検証プログラム)の他、不正回路の検出モデル(検出ルール)、端末へ配布(公開)するための特徴量抽出ツール等を記憶する。
【0024】
入力部211は、予め定義された特徴量抽出手順により回路データから抽出された特徴量を、回路データを識別するためのメタ情報と共にデータ保有端末10から受信する。
【0025】
特徴量抽出手順は、検証者から所定の特徴量抽出ツール(プログラム)として提供されてよく、特徴量抽出ツールは、例えば、検証サーバ20又は外部のシステム上に保存して公開される。検証サービスの利用者(データ保有端末10)は、特徴量抽出ツールをダウンロードして利用することにより、所定のルールに従った特徴量を抽出できる。
【0026】
特徴量は、例えば、回路データを構成する素子と、この素子の近傍にある素子の種類及び距離を含むデータである。
例えば、ある素子に関する特徴量は、(A,B1,B2,B3,2,3,4)のような構成となる。ここで、Aは対象素子の種類、B1,B2,B3は対象素子の近傍にある素子の種類、数字は対象素子と近傍素子との距離である。
このように、回路データが特徴量として細かく分割されることで、各素子がどのように繋がっていたのかが特徴量からは推測され難い。
【0027】
また、特徴量は、回路データの全体から、例えば全素子について抽出されてよいが、所定のルールに従って、必要な部分の特徴のみが抽出されてもよい。例えば、予め定められた重要な素子及びその周辺のみが抽出されてもよい。なお、重要な素子とは、例えば、外部(センサ等)からの入力に近い素子等が該当する。
このようなルールは、予め定められ、ツール(プログラム)として公開される。
【0028】
ここで、特徴量抽出ツールには、固有の鍵が埋め込まれ、この鍵により、抽出された特徴量は不可逆に変換されてもよい。これにより、検証サーバ20は、正規の特徴量抽出ツールを用いて抽出された特徴量のみを正常に受け付けて処理することができる。
【0029】
回路データを識別するためのメタ情報は、例えば、回路データの作成者、作成日、ID等を含む。
さらに、入力部211は、メタ情報の一部として、回路データのハッシュ値を受信してもよい。
【0030】
検証部212は、特徴量抽出ツールに固有の特徴量の種類に対応して設計された、不正回路の有無を確認するための検証手順によって、回路データの安全性を検証する。
例えば、検証部212は、抽出された特徴量を、予め定義された特徴量と照合することで不正回路の有無を確認する。具体的には、既知の不正回路サンプルから抽出された特徴量とのパターンマッチングにより、対象の回路データに不正回路が混入していることを判定可能である。
【0031】
出力部213は、検証部212による検証結果をメタ情報と対応付け、検証時刻及び検証結果が改ざんできないことを保証するために、タイムスタンプを付与してレポジトリ30に公開する。
このとき、出力部213は、検証結果に検証者の署名を付与し、証明書として公開することにより、サプライチェーンの各事業者が検証結果を閲覧し確認できる。
【0032】
本実施形態によれば、検証システム1は、予め定義された特徴量抽出手順によりデータ保有端末10が回路データから所定の種類の特徴量を抽出する。この特徴量を第三者の検証サーバ20に提供して検証を依頼することにより、検証サーバ20は、特徴量抽出手順に対応して設けられた検証手順により、対象の回路データの安全性を検証し、レポジトリ30にメタ情報と対応付けて公開する。
したがって、検証サーバ20は、機密性の高い回路データそのものの提供を受けることなく、対象の回路データに不正回路が含まれていないことを検証できる。
【0033】
また、特徴量抽出手順を提供するための特徴量抽出ツールが公開されることにより、いずれの端末で誰が実行しても同様に特徴量が抽出され、検証サーバ20は、このツールと対応付けられた検証手順により、正しくツールにより抽出された特徴量から適切に不正回路の有無を検証できる。
この結果、回路情報を漏洩させることなく、信頼できる第三者による検証が可能となるため、従来の自己評価よりも信頼性の高い検証を実現できる。
【0034】
抽出される特徴量は、回路を構成する素子毎に、近傍にある素子の種類及び距離を含むデータとすることにより、細かなデータの組み合わせとなり、特徴量に回路全体の情報を含めつつ、元の回路データへの復元が困難となる。
【0035】
さらに、特徴量抽出ツールには、固有の鍵が埋め込まれ、特徴量は不可逆に変換される。これにより、他のプログラムでは、検証手順の入力となる特徴量を生成できないことが保証され、検証サーバ20は、正規のツールを用いて特徴量が抽出されたことを確認でき、安全性が向上する。
【0036】
検証サーバ20は、検証手順として、例えば、既知の不正回路から抽出した特徴量等、予め定義された特徴量と照合することにより、容易に不正回路の有無を確認できる。
【0037】
検証サーバ20は、検証結果にタイムスタンプを付与して公開することにより、検証時刻及び検証結果が改ざんされていないことを証明でき、また、検証結果に検証者の署名を付与して公開することにより、信頼度の高い証明書を発行できる。
【0038】
また、検証サーバ20は、メタ情報として、回路データのハッシュ値を含めることにより、レポジトリ30に公開された検証結果がどの回路に対するものであるかを確実に識別させることができる。
【0039】
このように、レポジトリ30において検証結果が公開されることにより、回路データが検証されたこと、及び検証結果をサプライチェーンの各事業者が適宜閲覧することができる。
この結果、例えば、検証の実施を義務付けた流通ルールとすることで、不正回路を混入させることができないフレームワークが構築される。
【0040】
なお、前述の実施形態により、例えば、ハードウェア設計における安全性を向上できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【0041】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【0042】
検証サーバ20による検証方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【0043】
1 検証システム
10 データ保有端末
20 検証サーバ
21 制御部
22 記憶部
30 レポジトリ
211 入力部
212 検証部
213 出力部