JP2017157018A - 情報処理装置、情報処理方法、情報処理プログラム、及びトラステッド・プラットフォーム・モジュール - Google Patents
情報処理装置、情報処理方法、情報処理プログラム、及びトラステッド・プラットフォーム・モジュール Download PDFInfo
- Publication number
- JP2017157018A JP2017157018A JP2016040055A JP2016040055A JP2017157018A JP 2017157018 A JP2017157018 A JP 2017157018A JP 2016040055 A JP2016040055 A JP 2016040055A JP 2016040055 A JP2016040055 A JP 2016040055A JP 2017157018 A JP2017157018 A JP 2017157018A
- Authority
- JP
- Japan
- Prior art keywords
- encryption key
- information processing
- tpm
- processing apparatus
- key
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 55
- 238000003672 processing method Methods 0.000 title claims description 4
- 238000003860 storage Methods 0.000 claims abstract description 17
- 238000004364 calculation method Methods 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 15
- 101150043385 Tpm3 gene Proteins 0.000 abstract description 76
- 238000010586 diagram Methods 0.000 description 30
- 238000000034 method Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 26
- 230000004913 activation Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 14
- 238000003752 polymerase chain reaction Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 101100519158 Arabidopsis thaliana PCR2 gene Proteins 0.000 description 3
- 101100163897 Caenorhabditis elegans asic-2 gene Proteins 0.000 description 2
- 101150102573 PCR1 gene Proteins 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Abstract
Description
このようなシステムを構築する上では、通信を行う際に、通信相手が適切か、又は送信されてくる情報が改竄されていないかといったことを確認することが重要である。また、機密情報を送信する場合、その内容を他のコンピュータに漏洩させないようにする必要もある。
このような要求に応える通信プロトコルの一例としてSSL(Secure Socket Layer)が開発されており、広く用いられている。SSLにおいては、公開鍵暗号方式と共通鍵暗号方式とを組み合わせて通信相手の認証を行うと共に、情報を暗号化することにより情報の改竄及び盗聴の防止を図ることができる。
第1のレベルの認証を行う場合は、予め一定の基準を満たす機器に共通の公開鍵証明書(以下、「共通証明書」という。)と私有鍵のセットを記憶させておき、SSL通信の際にこれを用いて認証を行い、通信相手が確かにその公開鍵証明書の発行対象の装置であると確認する。第2のレベルの認証を行う場合は、例えば上記の第1のレベルの認証の場合と同様な鍵を用いて安全な通信経路を確立した後で、機器の個体を特定する識別情報が付されている個別証明書の発行を要求し、その個別証明書を受け取って記録し、以後の第2のレベルの認証に用いる。
なお、「共通証明書」とは、装置の識別情報が付されていないデジタル証明書のことであり、「私有鍵」とは、公開鍵暗号方式で使用される一対の鍵の組のうち、一般に公開されない鍵のことである。
1のレベルで判断するために、予め機器に記憶させた共通証明書および私有鍵を用いて認証している。しかし、共通証明書および私有鍵が漏洩した場合には、第2のレベルの認証に多大な悪影響を与えてしまう。
本発明は上述の事情に鑑みてなされたものであり、共通証明書および私有鍵等の保護対象データをより安全に管理することを目的とする。
上記特徴について、以下の図面を用いて具体的に解説する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
<ハードウェア構成図>
図1(a)は本発明による情報処理装置の一実施例のハードウェア構成図であり、(b)はTPMのハードウェア構成図である。
図1(a)に示す情報処理装置は、CPU(Central Processing Unit)1、ASIC(Application Specific Integrated Circuit)2、揮発性メモリ3、エンジンコントローラ4、TPM(Trusted Platform Module:トラステッド・プラットフォーム・モジュール)5(判定手段、生成手段、アクセス制御手段)、不揮発メモリ6、ネットワークデバイス7、SDカードI/F(Secure Digital Memory Card Inter Face)8を有するように構成される。
CPU1は、メインバス9を介してASIC2、エンジンコントローラ4に接続されている。ASIC2は揮発性メモリ3と接続されると共に、ローカルバス10を介してTPM5、不揮発メモリ6、ネットワークデバイス7、SDカードI/F8に接続される。
図1(b)に示すように、TPM5は、ローカルバス10との間でデータの送受信を行うI/O501、デバイス暗号鍵等を記憶するNVRAM(Non-Volatile RAM)502、ハッシュ値を記憶するPCR(Platform Configuration Resister)503、プラットフォーム認証に利用されるAIK(Attestation Identity Key、認証識別キー)504、TPM5が実行する認証用等のプログラムを記憶したROM505、ROM505に記憶されたプログラムを展開するメインメモリ及びプログラムを実行するプロセッサを含む実行エンジン506(判定手段、アクセス制御手段)を備える。また、TPM5は、乱数を生成する乱数生成器507、ハッシュ関数エンジン508、デバイス暗号鍵を生成する鍵生成器509(生成手段)、暗号鍵ブロブの生成等を行うRSA(Rivest-Shamir-Adleman アルゴリズム)エンジン510、TPM5をオン状態またはオフ状態にするオプトインコンポーネント511等を備える。
なお、図示するTPMにおいては、乱数の生成及び鍵の生成等をハードウェアで実現する構成としているが、乱数生成器507や鍵生成器509が実行する手順をコード化したプログラムをROM505に記憶させて、乱数の生成及び鍵の生成等をソフトウェア処理により実現させてもよい。
図2は、本発明による情報処理装置の一実施例のソフトウェア構成図である。図2の情報処理装置は、BIOS(Basic Input / Output System)20、基本パッケージ21、アプリケーションパッケージ22、アプリケーションパッケージ23を有するように構成される。
また、基本パッケージ21は、ネットワーク更新モジュール31、Flashメディア更新モジュール32、基本アプリケーション(コピー)33、システム管理モジュール34、システム起動モジュール35、システム更新モジュール36(更新手段)、ファームウェア認証モジュール37、暗号鍵管理モジュール38(暗号化復号手段)、TPM管理モジュール(TSS:TCG Software Stack)39、オペレーティングシステム40の各プログラムを有する構成である。なお、オペレーティングシステム40はファイルシステム41、不揮発メモリドライバ42、TPMドライバ43を有する構成である。
アプリケーションパッケージ22は、基本アプリケーション(プリンタ)44、基本アプリケーション(ネットワーク)45の各プログラムを有する構成である。アプリケーションパッケージ23は基本アプリケーション(スキャナ)46、基本アプリケーション(ブラウザ)47の各プログラムを有する構成である。
情報処理装置の起動時、BIOS20はオペレーティングシステム40を起動する。オペレーティングシステム40の起動後は、システム内の他のソフトウェアを起動する為のシステム起動モジュール35が起動される。システム起動モジュール35は、他のソフトウェア(モジュール)を規定された順に起動する。
BIOS20、オペレーティングシステム40、ファイルシステム41等のモジュールは、CPU1により揮発性メモリ3等へ読み込まれて実行される。以下の説明では、説明の便宜上、BIOS20、オペレーティングシステム40、ファイルシステム41等のモジュールを処理主体として説明する。なお、図1及び図2に示した情報処理装置の動作の詳細は後述する。
ここで、TPM5を用いた情報の暗号化及び復号について簡単に説明する。図3は、TPMの起動時の動作を表した模式図である。
プラットフォーム50では、まず、BIOS20が自身のハッシュ値を計算し、TPM5内のPCR(Platform Configuration Registers)51へ登録する。BIOS20は例えば原文から固定長の疑似乱数を生成する演算手法によって計算されるハッシュ値をPCR51へ登録する。
次に、BIOS20は基本パッケージ21のハッシュ値を計算し、TPM5内のPCR52へ登録した後、基本パッケージ21を起動する。また、基本パッケージ21は、アプリケーションパッケージ22のハッシュ値を計算し、TPM5内のPCR52へ登録した後、アプリケーションパッケージ22を起動する。
このように、TPM5のPCR51〜53には、情報処理装置の起動に伴い、BIOS20、基本パッケージ21及びアプリケーションパッケージ22から計算されるハッシュ値が登録される。TPM5はNV(Non Volatile)領域(記憶手段)と呼ばれる不揮発領域を有している。NV領域は記憶しているデータのアクセスコントロール(アクセスの可否の制御)が可能である。したがって、NV領域に記憶されているデータは改竄が困難である。
図4は、NV領域の特徴を表した模式図である。図4のTPM5は、2つのNV領域54a及び54bを有する例である。なお、以下の説明において2つのNV領域54a及び54bを特に区別しない場合は、単にNV領域54と呼ぶ。
NV領域54はTPM5のオーナのみが定義、変更、破棄できる。NV領域54はPCR、オーナ認証、領域固有の認証情報(パスワード)など、様々な要因でアクセスコントロールできる。また、NV領域54はデータの読み出し(read)又はデータの書き込み(write)の双方に対して、それぞれ要因構成の異なるアクセスコントロールができる。さらにTPM5は、インデックスによって識別される1つ以上のNV領域54ごとにアクセスコントロールの定義を規定できる。
NV領域54aは、インデックス(index)及びサイズ(size)からなる情報55a、読み出し許可の定義(read permission)56a、書き込み許可の定義(write permission)57a、実データ58aを有する。
インデックスは何番目のNV領域54であるかを表す。サイズはどれだけのデータを配置できるかを表す。読み出し許可の定義56aは、PCR、オーナ認証(OwnerAuth)、領域固有の認証情報(AuthData)を要因として規定されている。書き込み許可の定義57aは、PCR、オーナ認証、領域固有の認証情報を要因として規定されている。また、実データ58aは、NV領域54a内に実際に配置され、アクセスコントロールが掛かる対象となるデータである。
なお、読み出し許可の定義56a及び書き込み許可の定義57aは、オーナの所在を物理的手段で伝えられた場合にのみアクセスを許可することや、特定のアクセス経路からのアクセスのみ許可することなどを要因として規定することもできる。特定のアクセス経路からのアクセスのみ許可することなどを要因として規定する例としては、例えばハードやカーネルレベルのアクセスのみを許可し、ユーザランドからのアクセスを許可しない、などの規定方法が考えられる。
オーナ認証(OwnerAuth)はデータへのアクセスのためにオーナ認証を必要とするか否かを表すものであり、データへのアクセス時にオーナであるかを認証するためのものである。領域固有の認証情報(AuthData)はデータへのアクセスのために領域固有の認証を必要とするか否か、及び認証情報を表すものであり、データへのアクセス時にオーナ認証とは別の認証を掛けるものである。なお、NV領域54bはNV領域54aと同様であるため、その説明を省略する。
上記のように、NV領域54aは読み出し許可の定義56a及び書き込み許可の定義57aに従って、実データ58aの読み出し又は書き込み双方でアクセスコントロールを実現できる。
図5は、起動時にデバイス暗号鍵を取得する処理を表した模式図である。
本発明による情報処理装置においては、プラットフォーム50内のファイルシステム41にデバイス暗号鍵71(第一の暗号鍵)によって暗号化された秘密情報72が含まれ、TPM5内のNV領域54に秘密情報72を復号するためのデバイス暗号鍵71が含まれる。デバイス暗号鍵71のTPM5からの取得可否は、図4に示すように、PCR51〜53に登録されているハッシュ値と、読み出し許可の定義56aに規定されている値とにより制御される。図5に示すように、デバイス暗号鍵71は、ファイルシステム41上に配置された秘密情報73の暗号化又は暗号化された秘密情報72の復号に用いられる。
TPM5においては、情報処理装置の起動時にBIOS20、基本パッケージ21及びアプリケーションパッケージ22から計算された3つのハッシュ値「X」〜「Z」がそれぞれ「PCR0」〜「PCR2」へ登録されている。一方、NV領域54の読み出し許可の定義56には値「X」〜「Z」が「PCR0」〜「PCR2」に対応してそれぞれ登録されている。
図5の場合、読み出し許可の定義56に規定されているハッシュ値の組み合わせが、PCR51〜53に登録されているハッシュ値の組み合わせと一致するため、TPM5は実データ58に含まれるデバイス暗号鍵71の読み出しを許可する。暗号鍵管理モジュール38(図2参照)は、デバイス暗号鍵71を用いて、暗号化された秘密情報72から秘密情報73を復号できる。
図6は、起動時にデバイス暗号鍵を取得する処理を表したシーケンス図である。
ステップS1に進み、BIOS20は自身のハッシュ値を計算し、TPM5内のPCR51へ登録する。次に、ステップS2へ進み、BIOS20は基本パッケージ21のハッシュ値を計算する。ステップS3に進み、BIOS20は基本パッケージ21を展開する。ステップS4に進み、BIOS20は基本パッケージ21のハッシュ値を、TPM5内のPCR52へ登録する。ステップS5に進み、BIOS20はオペレーティングシステム40を起動する。
ステップS6に進み、オペレーティングシステム40はシステム起動モジュール35を起動する。ステップS7に進み、システム起動モジュール35はシステム管理モジュール34を起動する。また、ステップS8に進み、システム起動モジュール35は基本アプリケーション33を起動する。
ステップS9に進み、システム起動モジュール35はアプリケーションパッケージ22のハッシュ値を計算する。ステップS10に進み、システム起動モジュール35はアプリケーションパッケージ22のハッシュ値を、TPM5内のPCR53へ登録する。
ステップS11に進み、システム起動モジュール35は暗号鍵管理モジュール38を起動する。そして、ステップS12に進み、暗号鍵管理モジュール38は前述のようにNV領域54からデバイス暗号鍵71を取得する。暗号鍵管理モジュール38はデバイス暗号鍵71を用いて、暗号化された秘密情報72から秘密情報73を復号できる。
図7はNV領域からのデータの読み出し処理又はNV領域へのデータの書き込み処理を表したフローチャートである。
ステップS21に進み、TPM5はプラットフォーム50側からオペレーションリクエスト(データの読み出し処理又は書き込み処理等)を受け付ける。ステップS22に進み、TPM5は受け付けたオペレーションリクエストに対応するインデックスのNV領域54が存在するかを判定する。
受け付けたオペレーションリクエストに含まれるインデックスのNV領域54が存在すれば、TPM5はステップS23に進み、オペレーションリクエストに含まれる認証情報が読み出し許可の定義56、書き込み許可の定義57に矛盾していないかを判定する。
オペレーションリクエストに含まれる認証情報が読み出し許可の定義56、書き込み許可の定義57に矛盾していなければ、TPM5はステップS24に進み、オーナ認証によるアクセスコントロールをクリアしているかを確認する。
なお、受け付けたオペレーションリクエストに含まれるインデックスのNV領域54が存在しない場合、オペレーションリクエストに含まれる認証情報が読み出し許可の定義56又は書き込み許可の定義57に矛盾している場合、オーナ認証によるアクセスコントロールをクリアしていない場合、又はPCR値の条件をクリアしていない場合、TPM5はステップS26に進み、オペレーションリクエストを実行せず、そのオペレーション結果をプラットフォーム50側に通知する。
図8は、NV領域を定義する処理を表したフローチャートである。
ステップS31に進み、TPM5はプラットフォーム50側からNV領域54を定義するオペレーションリクエストを受け付ける。
ステップS32に進み、TPM5はオーナ認証によるアクセスコントロールをクリアしているかを確認する。オーナ認証によるアクセスコントロールをクリアしていれば、TPM5はステップS33に進み、オペレーションリクエストに対応するインデックスが定義可能かを確認する。
なお、オーナ認証によるアクセスコントロールをクリアしていない場合、定義できないインデックスである場合、オペレーションリクエストで指定されたNV領域54の認証情報が書き込み許可の定義57に矛盾している場合、NV領域54の確保に失敗した場合、TPM5はステップS36に進み、オペレーションリクエストを実行できなかったというオペレーション結果をプラットフォーム50側に通知する。
図9は、情報処理装置の初回起動時にデバイス暗号鍵を生成する処理を表したシーケンス図である。なお、図6と同一のステップには同一のステップ番号を付して説明する。
ステップS1に進み、BIOS20は自身のハッシュ値を計算し、TPM5内のPCR51へ登録する。次に、ステップS2へ進み、BIOS20は基本パッケージ21のハッシュ値を計算する。ステップS3に進み、BIOS20は基本パッケージ21を展開する。ステップS4に進み、BIOS20は基本パッケージ21のハッシュ値を、TPM5内のPCR52へ登録する。ステップS5に進み、BIOS20はオペレーティングシステム40を起動する。
ステップS6に進み、オペレーティングシステム40はシステム起動モジュール35を起動する。ステップS7に進み、システム起動モジュール35はシステム管理モジュール34を起動する。また、ステップS8に進み、システム起動モジュール35は基本アプリケーション33を起動する。
ステップS9に進み、システム起動モジュール35はアプリケーションパッケージ22のハッシュ値を計算する。ステップS10に進み、システム起動モジュール35はアプリケーションパッケージ22のハッシュ値を、TPM5内のPCR53へ登録する。
そしてステップS101に進み、暗号鍵管理モジュール38は前述のようにNV領域54からデバイス暗号鍵71を取得する動作を実行する。このデバイス暗号鍵は証明書用のデバイス暗号鍵とする。しかし初回起動時はNV領域が未定義であるため、ステップS102でTPM5はインデックスなし(異常、又は使用可能なデバイス暗号鍵が存在しない)と判定し、オペレーション結果を暗号鍵管理モジュール38に通知する。また実データがNULLであってもTPM5は異常(又は使用可能なデバイス暗号鍵が存在しない)と判断し、オペレーション結果を暗号鍵管理モジュール38に通知する。その後、暗号鍵管理モジュール38はステップS103でTPM5を使ってデバイス暗号鍵を生成し、ステップS104でデバイス暗号鍵71を取得する。このデバイス暗号鍵は、例えばTPM5が作る乱数から生成される。
ステップS106に進み、暗号鍵管理モジュール38はTPM5を用いて、ステップS104で得られたデバイス暗号鍵71をNV領域に書き込む。
そしてステップS107において、暗号鍵管理モジュール38はデバイス暗号鍵71を使用して共通証明書および私有鍵を暗号化して不揮発メモリ6に格納する。
なお、初期状態において共通証明書および私有鍵は暗号化されていない状態で不揮発メモリ6に格納されていてもよい。この場合、暗号鍵管理モジュール38は不揮発メモリ6から共通証明書および私有鍵を読み出して、デバイス暗号鍵71を使用してこれらを暗号化して不揮発メモリ6に再び格納する。
以上の処理を実行することによって、不揮発メモリ6に書き込まれた共通証明書および私有鍵を復号するデバイス暗号鍵71は、BIOS20、基本パッケージ21及びアプリケーションパッケージ22から計算されるハッシュ値がTPM5のPCR51〜53に登録されたあとでなければ読み出すことはできなくなる。従って、共通証明書および私有鍵の漏えいを防ぐことができる。
デバイス暗号鍵にて暗号化された共通証明書および私有鍵を基本アプリケーションが取得する処理について説明する。図10は、基本アプリケーション(ブラウザ)が共通証明書および私有鍵を取得する処理を表したシーケンス図である。
ますステップS201にてユーザがブラウザ47を起動する。続いてステップS202に進み、ブラウザ47は遠隔管理を行うサーバに対してSSLサーバ認証を開始する。
ステップS203へ進み、SSLクライアント認証に先立ち、ブラウザ47は暗号鍵管理モジュール38に対してデバイス暗号鍵71を要求する。続いてステップS204にてブラウザ47は暗号鍵管理モジュール38からデバイス暗号鍵を取得する。
ステップS205に進み、ブラウザ47はデバイス暗号鍵71を使って不揮発メモリ6に格納されている共通証明書および私有鍵の復号を行う。ステップS206にてブラウザ47は共通証明書および私有鍵を取得する。
ステップS207にて、ブラウザ47は取得した共通証明書および私有鍵を用いてSSLクライアント認証を行う。
ステップS208に進み、認証OKであればブラウザ47は遠隔管理サーバに接続を開始し、URL(Uniform Resource Locator)ページロードを始める。
図11は、共通証明書および私有鍵の更新処理を表したシーケンス図である。この更新処理は、共通証明書および私有鍵が有効期限切れとなった場合や、これらの強度変更を行う場合等に実行される。
本シーケンス図には、SDカード等のメディアに記憶された共通証明書および私有鍵を用いて、不揮発メモリ6に記憶されている共通証明書および私有鍵を更新する例を示している。メディアを利用した共通証明書および私有鍵の更新は、例えば、共通証明書および私有鍵を提供する管理サーバに対して通信ネットワークを介した接続が行えない場合等に有効である。なお、メディアを用いた共通証明書および私有鍵の更新処理を行う場合、共通証明書および私有鍵は、予め管理サーバからネットワークを介してダウンロードし、メディアに記憶させておく必要がある。管理サーバからメディアへの共通証明書および私有鍵のファイルダウンロードは、ユーザ認証によって証明されたユーザのみが行えるものとする。
ステップS302に進み、SDカードI/F8はシステム更新モジュール36にSDカードの挿入通知を行う。
続いてステップS303にてシステム更新モジュール36は、SDカードに記憶されている共通証明書および私有鍵のフォーマットが正しいか、その正当性を確認する。SDカードに書き込まれている共通証明書および私有鍵は暗号化されていない状態であってもよいし、暗号鍵管理モジュール38の知りうる初期暗号鍵で暗号化されていてもよい。後者の場合、システム更新モジュール36は、暗号鍵管理モジュール38に暗号化された共通証明書および私有鍵を初期暗号鍵にて復号させ、復号された共通証明書および私有鍵のフォーマットが正しいか、その正当性を確認する。
ステップS304にて、フォーマットが正しいと確認された場合、システム更新モジュール36は、ステップS305でSDカードから共通証明書および私有鍵を取得して、ステップS306で共通証明書および私有鍵を不揮発メモリ6にコピーする。
デバイス暗号鍵を無効化する(破棄する)。続いてステップS308にてSDカード抜き出し要求表示を行う。
それを受け、ステップS309でユーザがSDカードI/F8からSDカードを抜きだすと、ステップS310でSDカードI/F8はSDカード抜き出し通知をシステム更新モジュール36に行う。ステップS312でシステム更新モジュール36は、システム管理モジュール34にリブート要求を行う。
ステップS312に進み、システム管理モジュール34は機器をリブートして再起動が開始される。
図12は、本発明の情報処理装置におけるデータ/プログラムの一例の配置図である。図12に示す情報処理装置においては、揮発性メモリ3(図1参照)等のプログラム配置用デバイス150にBIOS20、基本パッケージ21及びアプリケーションパッケージ22が配置されている。また不揮発メモリ6(図1参照)等のデータ配置用デバイスには、デバイス暗号鍵71によって暗号化された秘密情報72が配置されている(図5参照)。更に、TPM5には、PCR51〜53及びNV領域54が配置され、領域152は空き領域として予約されている。
NV領域54は、実データ58と管理情報59とを有する。実データ58は、オーナパスワード112、デバイス暗号鍵71及びPCR値リポジトリ111を含む。また、管理情報59は、インデックス及びサイズからなる情報55、読み出し許可の定義56及び書き込み許可の定義57を含む。
暗号鍵ブロブ70の復号可否は図14に示すように、NV領域54の実データ58に含まれるSRK(Storage Root Key)パスワード75により制御される。また、SRKパスワード75の取得可否は、図14に示すように、PCR51〜53に登録されているハッシュ値と、読み出し許可の定義56に規定されている値とにより制御される。SRKパスワード75はファイルシステム41上に配置された暗号鍵ブロブ70の復号に用いられる。デバイス暗号鍵71はファイルシステム41上に配置された秘密情報73の暗号化又は暗号化された秘密情報72の復号に用いられる。TPM5の暗号処理部(SRK)74は、SRKパスワード75によって暗号鍵ブロブ70の復号を行う。
図14の場合、読み出し許可の定義56に規定されているハッシュ値の組み合わせが、PCR51〜53に登録されているハッシュ値の組み合わせと一致する為、TPM5は実データ58に含まれるSRKパスワード75の読み出しを許可する。
SRK74はSRKパスワード75を用いて、暗号鍵ブロブ70からデバイス暗号鍵71を復号できる。暗号鍵管理モジュール38(図2参照)は、デバイス暗号鍵71を用いて、暗号化された秘密情報72から秘密情報73を復号できる。
図15は、TPM内のデータ構成を表した他の例の模式図である。図15のTPM5はPCR51〜53、インデックス「index:1」によって識別されるNV領域54及びSRK74を有している。
NV領域54は、実データ58と管理情報59とを有する。実データ58は、オーナパスワード112、SRKパスワード75及びPCR値リポジトリ111を含む。また、管理情報59は、インデックス及びサイズからなる情報55、読み出し許可の定義56及び書き込み許可の定義57を含む。また、SRK74は復号許可の定義76を含む。図15の復号許可の定義76は、領域固有の認証情報(AuthData)を要因として復号の可否をコントロールする例を示している。
以上のように、SRK74内に復号許可の定義76を規定することにより、SRKパスワード75を用いたデータの復号の可否を種々の要因に基づいてコントロールできる。
以上、本発明に係る情報処理装置は、初回起動時にTPMを用いてデバイス暗号鍵を乱数等により生成して共通証明書および私有鍵を暗号化し、先のデバイス暗号鍵を自身のファームウェアの真正性によってのみ取り出し可能となるようにTPMをセットアップするので、共通証明書および私有鍵の漏えいリスクを軽減することができる。
即ち、情報処理装置は、初回起動時にNV領域を定義し、BIOS、基本パッケージおよびアプリケーションパッケージのファームウェアのハッシュ値を計算して、この値を読み出し許可の定義および書き込み許可の定義としてNV領域に規定する。また、情報処理装置は乱数等に基づいて生成したデバイス暗号鍵により共通証明書および私有鍵を暗号化して不揮発メモリに格納する。更に、デバイス暗号鍵をTPMのNV領域に格納する。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
<第一の実施態様>
本態様は、暗号鍵を用いて保護対象となる保護対象データ(共通証明書、私有鍵)を暗号化又は復号する暗号化復号手段(暗号鍵管理モジュール38)を備えた情報処理装置であって、第一の暗号鍵(デバイス暗号鍵71)が有効に存在するか否かを判定する判定手段(TPM5、実行エンジン506)と、第一の暗号鍵が有効に存在していない場合に、第一の暗号鍵を生成する生成手段(TPM5、鍵生成器509)と、生成された第一の暗号鍵を記憶する記憶手段(NV領域54)と、ファームウェアの構成を示す固有値(ハッシュ値)を算出する算出手段(BIOS20、基本パッケージ21)と、第一の暗号鍵の生成時における固有値が、現在の固有値に一致するか否かに基づいて、記憶手段に記憶されている第一の暗号鍵に対するアクセスの可否を制御するアクセス制御手段(TPM5、実行エンジン506)と、を備えたことを特徴とする。
具体的には、情報処理装置の初回起動時でNV領域が未定義の場合や第一の暗号鍵の更新のために一時的にNV領域中の実データがNULLとなっている場合等、第一の暗号鍵が有効に存在していない場合には、生成手段は第一の暗号鍵を乱数等により生成して記憶手段に記憶させる。暗号化復号手段は、生成した第一の暗号鍵により保護対象データを暗号化するが、暗号化したデータの復号に必要な第一の暗号鍵の取り出しには、第一の暗号鍵の生成時におけるファームウェアの構成を示す固有値(ハッシュ値)との同一性が要求される。即ち、第一の暗号鍵の取り出しには自装置のファームウェアが真正であること(第一の暗号鍵の生成以降、改竄されていないこと)が必要となる。
本態様によれば、情報処理装置が改竄されると第一の暗号鍵が取り出し不能となり、暗号化された保護対象データを復号できなくなるから、情報処理装置の改竄による保護対象データの漏洩を防止できる。本態様は、ファームウェアが一定の基準を満たしていることを証明するような証明書の漏洩リスクの低減に特に効果的である。
本態様に係る情報処理装置は、生成手段(TPM5、鍵生成器509)が第一の暗号鍵(デバイス暗号鍵71)を生成すると、暗号化復号手段(暗号鍵管理モジュール38)は保護対象データ(共通証明書、私有鍵)を第一の暗号鍵により暗号化することを特徴とする。
本態様において暗号化復号手段は第一の暗号鍵が生成されると保護対象データを第一の暗号鍵により暗号化する。第一の暗号鍵の取り出しには、第一の暗号鍵の生成時におけるファームウェアと同一の構成であることが要求される。本態様によれば、共通証明書および私有鍵等の保護対象データをより安全に管理することができる。
本態様に係る情報処理装置において、保護対象データ(共通証明書、私有鍵)は予め第一の暗号鍵(デバイス暗号鍵71)とは異なる第二の暗号鍵(初期暗号鍵)により暗号化されており、生成手段(TPM5、鍵生成器509)が第一の暗号鍵を生成すると、暗号化復号手段(暗号鍵管理モジュール38)は第二の暗号鍵により復号した保護対象データを第一の暗号鍵により暗号化することを特徴とする。
情報処理装置にインストールする保護対象データを予め初期的な暗号鍵で暗号化しておくことで、保護対象データのインストール前の段階における保護対象データの漏洩を防止することができる。また、第一の暗号鍵が生成された段階で、暗号化復号手段が初期的な暗号鍵で復号した保護対象データを第一の暗号鍵により暗号化するので、効果的に保護対象データの漏洩リスクを低減できる。
本態様に係る情報処理装置において、記憶手段(NV領域54)は、夫々第一の暗号鍵(デバイス暗号鍵71)を記憶する複数の領域(NV領域54a,54b)を有し、アクセス制御手段(TPM5、実行エンジン506)は、領域毎に各第一の暗号鍵へのアクセスの可否を制御することを特徴とする。
アクセス制御手段は、保護対象データへのアクセスの可否について領域毎に定義することができる。従って、アクセス制御手段は種々の保護対象データへのアクセスを様々な要因に基づいて制御することができる。
本態様に係る情報処理装置は、保護対象データ(共通証明書、私有鍵)を更新する更新手段(システム更新モジュール36)を備え、更新手段は、保護対象データを更新用の保護対象データに置き換えると第一の暗号鍵(デバイス暗号鍵71)を破棄することを特徴とする。
本態様において更新手段は、第一の暗号鍵により暗号化されている保護対象データを更新用の保護対象データに更新する(置き換える)場合に、保護対象データを暗号化する第一の暗号鍵を破棄する。これにより、更新用の保護対象データは、古い保護対象データとは異なる暗号鍵により暗号化される。
本態様に係る情報処理装置において、更新手段(システム更新モジュール36)は、第一の暗号鍵(デバイス暗号鍵71)を破棄した後に、自装置を再起動させることを特徴とする。
第一の暗号鍵が破棄されると、第一の暗号鍵が有効に存在していない状態となる。情報処理装置が再起動することにより、生成手段(TPM5、鍵生成器509)が第一の暗号鍵を新たに生成するので、更新された保護対象データ(共通証明書、私有鍵)は、新たに生成された第一の暗号鍵により暗号化される。
Claims (9)
- 暗号鍵を用いて保護対象となる保護対象データを暗号化又は復号する暗号化復号手段を備えた情報処理装置であって、
第一の暗号鍵が有効に存在するか否かを判定する判定手段と、
前記第一の暗号鍵が有効に存在していない場合に、前記第一の暗号鍵を生成する生成手段と、
生成された前記第一の暗号鍵を記憶する記憶手段と、
ファームウェアの構成を示す固有値を算出する算出手段と、
前記第一の暗号鍵の生成時における前記固有値が、現在の前記固有値に一致するか否かに基づいて、前記記憶手段に記憶されている前記第一の暗号鍵に対するアクセスの可否を制御するアクセス制御手段と、を備えたことを特徴とする情報処理装置。 - 前記生成手段が前記第一の暗号鍵を生成すると、前記暗号化復号手段は前記保護対象データを前記第一の暗号鍵により暗号化することを特徴とする請求項1に記載の情報処理装置。
- 前記保護対象データは予め前記第一の暗号鍵とは異なる第二の暗号鍵により暗号化されており、
前記生成手段が前記第一の暗号鍵を生成すると、前記暗号化復号手段は前記第二の暗号鍵により復号した前記保護対象データを前記第一の暗号鍵により暗号化することを特徴とする請求項1又は2に記載の情報処理装置。 - 前記記憶手段は、夫々前記第一の暗号鍵を記憶する複数の領域を有し、
前記アクセス制御手段は、前記領域毎に前記各第一の暗号鍵へのアクセスの可否を制御することを特徴とする請求項1乃至3の何れか一項に記載の情報処理装置。 - 前記保護対象データを更新する更新手段を備え、
前記更新手段は、前記保護対象データを更新用の保護対象データに置き換えると前記第一の暗号鍵を破棄することを特徴とする請求項1乃至4の何れか一項に記載の情報処理装置。 - 前記更新手段は、前記第一の暗号鍵を破棄した後に、自装置を再起動させることを特徴とする請求項5に記載の情報処理装置。
- 暗号鍵を用いて保護対象となる保護対象データを暗号化又は復号する情報処理装置において実行される情報処理方法であって、
第一の暗号鍵が有効に存在するか否かを判定するステップと、
前記第一の暗号鍵が有効に存在していない場合に、前記第一の暗号鍵を生成するステップと、
生成された前記第一の暗号鍵を記憶手段に記憶させるステップと、
ファームウェアの構成を示す固有値を算出するステップと、
前記第一の暗号鍵の生成時における前記固有値が、現在の前記固有値に一致するか否かに基づいて、前記記憶手段に記憶されている前記第一の暗号鍵に対するアクセスの可否を制御するステップと、を実行することを特徴とする情報処理方法。 - 暗号鍵を用いて保護対象となる保護対象データを暗号化又は復号する情報処理装置に、
第一の暗号鍵が有効に存在するか否かを判定するステップと、
前記第一の暗号鍵が有効に存在していない場合に、前記第一の暗号鍵を生成するステップと、
生成された前記第一の暗号鍵を記憶手段に記憶させるステップと、
ファームウェアの構成を示す固有値を算出するステップと、
前記第一の暗号鍵の生成時における前記固有値が、現在の前記固有値に一致するか否かに基づいて、前記記憶手段に記憶されている前記第一の暗号鍵に対するアクセスの可否を制御するステップと、を実行させるための情報処理プログラム。 - 暗号鍵を用いて保護対象となる保護対象データを暗号化又は復号する暗号化復号手段を備えた情報処理装置に搭載されて、セキュリティ関連の処理を実行するトラステッド・プラットフォーム・モジュールであって、
第一の暗号鍵が有効に存在するか否かを判定する判定手段と、
前記第一の暗号鍵が有効に存在していない場合に、前記第一の暗号鍵を生成する鍵生成器と、
生成された前記第一の暗号鍵を記憶するNV領域と、
前記情報処理装置のフォームウェアの構成を示す固有値が、前記第一の暗号鍵の生成時と現在との間で一致するか否かに基づいて、前記NV領域に記憶されている前記第一の暗号鍵に対するアクセスの可否を制御するアクセス制御手段と、を備えたことを特徴とするトラステッド・プラットフォーム・モジュール。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016040055A JP6720581B2 (ja) | 2016-03-02 | 2016-03-02 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016040055A JP6720581B2 (ja) | 2016-03-02 | 2016-03-02 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017157018A true JP2017157018A (ja) | 2017-09-07 |
JP6720581B2 JP6720581B2 (ja) | 2020-07-08 |
Family
ID=59810711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016040055A Expired - Fee Related JP6720581B2 (ja) | 2016-03-02 | 2016-03-02 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6720581B2 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109583214A (zh) * | 2018-11-28 | 2019-04-05 | 北京可信华泰信息技术有限公司 | 一种安全控制方法 |
CN109583197A (zh) * | 2018-11-28 | 2019-04-05 | 北京可信华泰信息技术有限公司 | 一种可信叠层文件加解密方法 |
CN109583196A (zh) * | 2018-11-28 | 2019-04-05 | 北京可信华泰信息技术有限公司 | 一种密钥生成方法 |
CN109583169A (zh) * | 2018-11-28 | 2019-04-05 | 北京可信华泰信息技术有限公司 | 一种安全认证方法 |
CN109598150A (zh) * | 2018-11-28 | 2019-04-09 | 北京可信华泰信息技术有限公司 | 一种密钥使用方法 |
CN109598154A (zh) * | 2018-11-28 | 2019-04-09 | 北京可信华泰信息技术有限公司 | 一种可信全盘加解密方法 |
CN109598119A (zh) * | 2018-11-28 | 2019-04-09 | 北京可信华泰信息技术有限公司 | 一种可信加解密方法 |
CN109598125A (zh) * | 2018-11-28 | 2019-04-09 | 北京可信华泰信息技术有限公司 | 一种安全启动方法 |
CN109614799A (zh) * | 2018-11-28 | 2019-04-12 | 北京可信华泰信息技术有限公司 | 一种信息权鉴方法 |
JP2020036169A (ja) * | 2018-08-29 | 2020-03-05 | 日本電気株式会社 | 情報処理装置、情報処理方法、およびプログラム |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008234217A (ja) * | 2007-03-19 | 2008-10-02 | Ricoh Co Ltd | 情報処理装置、情報保護方法及び画像処理装置 |
JP2009089390A (ja) * | 2007-09-27 | 2009-04-23 | Intel Corp | 信用済基盤区画(tpm)のための更新可能な鍵束縛を提供する方法及び装置 |
JP2009104445A (ja) * | 2007-10-24 | 2009-05-14 | Seiko Epson Corp | データ管理装置、データ管理システム及びプログラム |
JP2009294859A (ja) * | 2008-06-04 | 2009-12-17 | Ricoh Co Ltd | 機器、機器管理装置、機器管理システム及び機器管理方法、並びにプログラム及び記憶媒体 |
JP2010182296A (ja) * | 2009-01-08 | 2010-08-19 | Panasonic Corp | プログラム実行装置、制御方法、制御プログラム及び集積回路 |
WO2014204862A1 (en) * | 2013-06-20 | 2014-12-24 | Amazon Technologies, Inc. | Multiple authority data security and access |
-
2016
- 2016-03-02 JP JP2016040055A patent/JP6720581B2/ja not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008234217A (ja) * | 2007-03-19 | 2008-10-02 | Ricoh Co Ltd | 情報処理装置、情報保護方法及び画像処理装置 |
JP2009089390A (ja) * | 2007-09-27 | 2009-04-23 | Intel Corp | 信用済基盤区画(tpm)のための更新可能な鍵束縛を提供する方法及び装置 |
JP2009104445A (ja) * | 2007-10-24 | 2009-05-14 | Seiko Epson Corp | データ管理装置、データ管理システム及びプログラム |
JP2009294859A (ja) * | 2008-06-04 | 2009-12-17 | Ricoh Co Ltd | 機器、機器管理装置、機器管理システム及び機器管理方法、並びにプログラム及び記憶媒体 |
JP2010182296A (ja) * | 2009-01-08 | 2010-08-19 | Panasonic Corp | プログラム実行装置、制御方法、制御プログラム及び集積回路 |
WO2014204862A1 (en) * | 2013-06-20 | 2014-12-24 | Amazon Technologies, Inc. | Multiple authority data security and access |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020036169A (ja) * | 2018-08-29 | 2020-03-05 | 日本電気株式会社 | 情報処理装置、情報処理方法、およびプログラム |
JP7077872B2 (ja) | 2018-08-29 | 2022-05-31 | 日本電気株式会社 | 情報処理装置、情報処理方法、およびプログラム |
CN109598150B (zh) * | 2018-11-28 | 2021-01-08 | 北京可信华泰信息技术有限公司 | 一种密钥使用方法 |
CN109583196B (zh) * | 2018-11-28 | 2021-01-08 | 北京可信华泰信息技术有限公司 | 一种密钥生成方法 |
CN109598150A (zh) * | 2018-11-28 | 2019-04-09 | 北京可信华泰信息技术有限公司 | 一种密钥使用方法 |
CN109598154A (zh) * | 2018-11-28 | 2019-04-09 | 北京可信华泰信息技术有限公司 | 一种可信全盘加解密方法 |
CN109598119A (zh) * | 2018-11-28 | 2019-04-09 | 北京可信华泰信息技术有限公司 | 一种可信加解密方法 |
CN109598125A (zh) * | 2018-11-28 | 2019-04-09 | 北京可信华泰信息技术有限公司 | 一种安全启动方法 |
CN109614799A (zh) * | 2018-11-28 | 2019-04-12 | 北京可信华泰信息技术有限公司 | 一种信息权鉴方法 |
CN109583196A (zh) * | 2018-11-28 | 2019-04-05 | 北京可信华泰信息技术有限公司 | 一种密钥生成方法 |
CN109583214A (zh) * | 2018-11-28 | 2019-04-05 | 北京可信华泰信息技术有限公司 | 一种安全控制方法 |
CN109583169A (zh) * | 2018-11-28 | 2019-04-05 | 北京可信华泰信息技术有限公司 | 一种安全认证方法 |
CN109598154B (zh) * | 2018-11-28 | 2021-03-16 | 北京可信华泰信息技术有限公司 | 一种可信全盘加解密方法 |
CN109614799B (zh) * | 2018-11-28 | 2021-03-16 | 北京可信华泰信息技术有限公司 | 一种信息权鉴方法 |
CN109598119B (zh) * | 2018-11-28 | 2021-03-16 | 北京可信华泰信息技术有限公司 | 一种可信加解密方法 |
CN109583197B (zh) * | 2018-11-28 | 2021-05-14 | 北京可信华泰信息技术有限公司 | 一种可信叠层文件加解密方法 |
CN109583214B (zh) * | 2018-11-28 | 2021-05-14 | 北京可信华泰信息技术有限公司 | 一种安全控制方法 |
CN109598125B (zh) * | 2018-11-28 | 2021-05-14 | 北京可信华泰信息技术有限公司 | 一种安全启动方法 |
CN109583169B (zh) * | 2018-11-28 | 2021-05-14 | 北京可信华泰信息技术有限公司 | 一种安全认证方法 |
CN109583197A (zh) * | 2018-11-28 | 2019-04-05 | 北京可信华泰信息技术有限公司 | 一种可信叠层文件加解密方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6720581B2 (ja) | 2020-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6720581B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
JP5116325B2 (ja) | 情報処理装置、ソフトウェア更新方法及び画像処理装置 | |
JP4099039B2 (ja) | プログラム更新方法 | |
TWI567579B (zh) | 用於對硬體裝置提供金鑰的方法和設備 | |
US9602282B2 (en) | Secure software and hardware association technique | |
JP4890309B2 (ja) | 情報処理装置及び情報保護方法 | |
JP4994903B2 (ja) | 暗号鍵復旧方法、情報処理装置及び暗号鍵復旧プログラム | |
JP2009294859A (ja) | 機器、機器管理装置、機器管理システム及び機器管理方法、並びにプログラム及び記憶媒体 | |
JP2013003786A (ja) | 情報処理装置、正当性検証方法、及びプログラム | |
JP6756056B2 (ja) | 身元検証による暗号チップ | |
JP2016146618A (ja) | 情報処理装置 | |
JP6199712B2 (ja) | 通信端末装置、通信端末関連付け方法、及びコンピュータプログラム | |
JP6930884B2 (ja) | Bios管理装置、bios管理システム、bios管理方法、及び、bios管理プログラム | |
JP2011150524A (ja) | ソフトウェア実行システム | |
JP5582231B2 (ja) | 情報処理装置、真正性確認方法、及び記録媒体 | |
KR101711024B1 (ko) | 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치 | |
JP5617981B2 (ja) | 機器、管理装置、機器管理システム、及びプログラム | |
JP2008234079A (ja) | 情報処理装置、ソフトウェア正当性通知方法及び画像処理装置 | |
JP2007159009A (ja) | チケット保護方法およびクライアント | |
JP5574007B2 (ja) | 情報処理装置及び情報保護方法 | |
JP5278520B2 (ja) | 情報処理装置、情報保護方法 | |
JP5234217B2 (ja) | 情報処理装置、ソフトウェア更新方法及びプログラム | |
JP5500232B2 (ja) | 情報処理装置及び情報保護方法 | |
JP5310897B2 (ja) | 情報処理装置、ソフトウェア更新方法及び記録媒体 | |
JP2013191226A (ja) | 情報処理装置、ソフトウェア更新方法及び画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200129 |
|
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: 20200519 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200601 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6720581 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |