JP7050503B2 - 完全性検証装置、完全性検証システム、完全性検証方法、及び、完全性検証プログラム - Google Patents

完全性検証装置、完全性検証システム、完全性検証方法、及び、完全性検証プログラム Download PDF

Info

Publication number
JP7050503B2
JP7050503B2 JP2018012302A JP2018012302A JP7050503B2 JP 7050503 B2 JP7050503 B2 JP 7050503B2 JP 2018012302 A JP2018012302 A JP 2018012302A JP 2018012302 A JP2018012302 A JP 2018012302A JP 7050503 B2 JP7050503 B2 JP 7050503B2
Authority
JP
Japan
Prior art keywords
information processing
information
configuration
processing apparatus
processing device
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
JP2018012302A
Other languages
English (en)
Other versions
JP2019133220A (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.)
NEC Platforms Ltd
Original Assignee
NEC Platforms 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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2018012302A priority Critical patent/JP7050503B2/ja
Publication of JP2019133220A publication Critical patent/JP2019133220A/ja
Application granted granted Critical
Publication of JP7050503B2 publication Critical patent/JP7050503B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本願発明は、情報処理装置を構成するプラットフォームの完全性を検証する技術に関する。
近年、サーバ装置、あるいはIoT(Internet of Things)等において用いられる情報処理装置には、より高い信頼性や完全性(情報処理装置が使用する情報に対する不正な改ざんが行なわれていない状態であること、即ち、情報処理装置が使用する情報が正当であること)が求められている。この完全性を確保するための技術の1つとして、TPM(Trusted Platform Module)を用いたTrusted Bootが知られている。
TPMは、TCG(Trusted Computing Group)によって定義されたセキュリティの仕様に準拠したハードウェアに関する耐タンパー性(内部情報および内部構造の解析を目的とした攻撃に対する安全性)を持つセキュリティチップである。TPMは、通常、PC(Personal Computer)などのマザーボードに直付けされており、SPI(Serial Peripheral Interface)やLPC(Low Pin Count)インタフェースを経由してアクセス可能なコプロセッサとして動作する。そして、TPMは、暗号化や署名などの様々なセキュリティに関する機能を提供する。
TPMは、PCR(Platform Configuration Register)と呼ばれるバンクを備えている。このバンクは、記憶領域として、情報処理装置がPOST(Power On Self-Test)を実行しているときやOS(Operating System)を起動しているときに参照するデータ(設定値やプログラム等)のハッシュ値を、完全性保証情報として記録することができる。このデータのハッシュ値は、TPMが備えるExtendと呼ばれる機能(操作)によって、PCRに登録される。上述したTrusted Bootでは、この機能を利用することによって、情報処理装置の完全性が保証されているときに取得したハッシュ値を、ハッシュ値の期待値として取得する。そして、Trusted Bootでは、情報処理装置を新たに起動したときに取得したハッシュ値と、事前に取得して管理しているハッシュ値の期待値とを比較することによって、情報処理装置が起動時に用いるデータに対する改ざんの有無を判別することができる。そして、このようなTPMを用いた情報処理装置の完全性に関する検証をより確実かつ効率的に行なうことを実現する技術への期待が高まってきている。
このような技術に関連する技術として、特許文献1には、システムの起動時間の遅延を引き起こすことなく、Trusted Bootによりプラットフォームの完全性に関する検証を行えるようにしたプラットフォーム完全性検証システムが開示されている。このシステムにおけるプラットフォーム計測装置は、次回起動時のためのプラットフォームの完全性に関する検証を、シャットダウンシーケンスの最後のタイミングで計測を実行し、その結果をシステムの電源状態に関わらず外部のコンピュータから取得可能な不揮発性記憶領域に記録する。その後、このシステムにおける完全性検証コンピュータは、不揮発性記憶領域に記憶された計測値を、ネットワークを介して取得し、取得した計測値と、予め用意した期待される計測値との比較を行うことにより完全性を検証する。
また、特許文献2には、ネットワークサービスに接続する際のセキュリティを強化した情報処理システムが開示されている。このシステムでは、ユーザは、端末を操作して起動プロセス変更サーバにアクセスし、盗難された携帯端末の起動プロセスの一部の変更を要求する。起動プロセス変更サーバは、この要求に応じて携帯端末の起動プロセスの一部の変更有りを示すフラグを登録する。携帯端末は、起動プロセス中に、起動プロセス変更サーバにアクセスし、フラグ情報を確認する。そして携帯端末は、フラグ情報が起動プロセスの一部の変更有りを示す場合、起動プロセスの一部を変更し、一部が変更された起動プロセスの処理過程を計測して、その計測結果をTPMに保存する。
また、特許文献3には、アプリケーションの動作環境を提供するプラットフォームを有した本体装置と、当該本体装置のTrusted Bootを実現するセキュリティデバイスと間の通信を保護するようにした信号レベル変換装置が開示されている。この装置は、アプリケーションの動作環境を提供するプラットフォームを有した本体装置と接続する第1インタフェース手段を備える。この装置は、真正性が確認されたプラットフォームを特定するハッシュ値をPCR情報として予め保持し、当該PCR情報と本体装置の起動時のプラットフォームのハッシュ値とが一致した場合に、本体装置の起動を許可する信号を本体装置に送信するセキュリティデバイスと接続する第2インタフェース手段を備える。そしてこの装置は、第1インタフェース手段と第2インタフェース手段との間で授受される信号をレベルシフトする。
特開2012-032925号公報 特開2014-078185号公報 特開2012-008642号公報
"TCG PC Client Platform Firmware Profile Specification Family "2.0" Level 00 Revision 1.03 v51 May 1, 2017"、[Online]、[2018年1月26日検索]、インターネット<URL: https://trustedcomputinggroup.org/wp-content/uploads/PC-ClientSpecific_Platform_Profile_for_TPM_2p0_Systems_v51.pdf>
前述したTPMを用いたTrusted Bootについて、詳細に説明する。例えば非特許文献1に示されているTCGによって定義されたTPM2.0では、PCRとして24個のバンクが存在する。これらの24個のPCRに登録される各ハッシュ値(完全性保証情報)のカテゴリは、非特許文献1に示す通りである。
例えば、24個のPCRのうちのPCR0は、S-CRTM(Static Core Root of Trust Measurement)と呼ばれ、BIOSの実装に依存して装置や機種ごとに異なる値が登録される。また、PCR1には、情報処理装置の構成情報等を示すハッシュ値が登録される。例えば、BIOS(Basic Input Output System)の設定によってネットワークデバイスのOption ROM展開を無効にした場合、PCR1の値が変わることが知られている。但し、情報処理装置の構成に関するどの設定を変更したときに、どのPCRに登録されるハッシュ値が変更されるかについては、例えば装置開発ベンダーに依存する場合がある。
非特許文献1に示されているPCRは、また、BIOS等のファームウェア(FW(Firmware))によりハッシュ値が登録されるPCR0-7と、OSやアプリケーションによりハッシュ値が登録されるPCR8-23とに大別される。また、各PCRには、複数のハッシュ値が登録可能であるが、各PCRを参照した際に見える値は1つである。即ち、各PCRを参照した際に見える値は、既に登録されているハッシュ値と新たに登録するハッシュ値とが連結(合算)された値となる。
情報処理装置の完全性の検証に用いられる、PCRに登録されるハッシュ値の期待値は、一般的に、運用前に事前に取得した(検証した)値を用いている。例えば、組み込み用途として出荷され、出荷後に構成変更が行なわれないような情報処理装置の場合、その固定された装置構成において取得されたハッシュ値を、その期待値として管理している。また、運用中にある程度の構成変更が見込まれる情報処理装置の場合、各構成に関してハッシュ値の期待値を事前に計測し、装置構成ごとに計測された期待値をホワイトリストとして管理している。
しかしながら、サーバなどの情報処理装置では、運用開始後に例えば不具合を解消するためのファームウェアの更新が行われ、これによってファームウェアに関するデータ(設定値やプログラム等)を表すハッシュ値が変わる場合がある。このような場合、変更されたハッシュ値を、運用開始時点において事前に計測しておくことは困難である。また、運用中に装置構成を変更したり、プロセッサやメモリ等に発生した障害などによって、一部のモジュールを縮退したりすることもある。
そして、装置構成やファームウェアに関する変更等によって、PCRに登録されるハッシュ値がどのように変更されるかを示す情報は、一般的に、プラットフォームベンダー等から提供されることはない。したがって、装置構成やファームウェアに関する変更等が行なわれた場合、ユーザ(システムの設計者や管理者等)は、期待値となるPCRに登録されるハッシュ値を計測する必要がある。しかしながら、上述した通り、多様な構成を採り得る情報処理装置において、全ての構成に関してPCRに登録される多数のハッシュ値の期待値をユーザが計測することは、ユーザに対する負担が大きくなることから困難である。特許文献1乃至3は、この問題について言及していない。本願発明の主たる目的は、この問題を解決する完全性検証装置等を提供することである。
本願発明の一態様に係る完全性検証装置は、情報処理装置が採り得る構成ごとに、前記構成を実現する、前記情報処理装置に対する設定情報が格納された記憶手段と、前記情報処理装置に関する完全性が保証されているときに、前記設定情報を用いて前記情報処理装置に対する設定を行ったのち、前記情報処理装置を起動することを、複数の前記設定情報のうち選択する設定情報を変更しながら個々の前記設定情報に関して実行する起動手段と、前記情報処理装置に関する完全性が保証されているときに、前記情報処理装置が起動する際に使用する起動制御情報に基づいて生成される完全性保証情報の期待値を前記情報処理装置から取得し、取得した前記完全性保証情報の期待値を前記構成と関連付けて前記記憶手段に格納することを、前記起動手段によって前記情報処理装置が起動される度に実行する取得手段と、を備える。
上記目的を達成する他の見地において、本願発明の一態様に係る完全性検証方法は、第一の情報処理装置が採り得る構成ごとに、前記構成を実現する、前記第一の情報処理装置に対する設定情報が記憶手段に格納されている場合に、第二の情報処理装置によって、前記第一の情報処理装置に関する完全性が保証されているときに、前記設定情報を用いて前記第一の情報処理装置に対する設定を行ったのち、前記第一の情報処理装置を起動することを、複数の前記設定情報のうち選択する設定情報を変更しながら個々の前記設定情報に関して実行し、前記第一の情報処理装置に関する完全性が保証されているときに、前記第一の情報処理装置が起動する際に使用する起動制御情報に基づいて生成される完全性保証情報の期待値を前記第一の情報処理装置から取得し、取得した前記完全性保証情報の期待値を前記構成と関連付けて前記記憶手段に格納することを、前記第一の情報処理装置が起動される度に実行する。
また、上記目的を達成する更なる見地において、本願発明の一態様に係る完全性検証プログラムは、情報処理装置が採り得る構成ごとに、前記構成を実現する、前記情報処理装置に対する設定情報が格納された記憶手段にアクセス可能なコンピュータに、前記情報処理装置に関する完全性が保証されているときに、前記設定情報を用いて前記情報処理装置に対する設定を行ったのち、前記情報処理装置を起動することを、複数の前記設定情報のうち選択する設定情報を変更しながら個々の前記設定情報に関して実行する起動処理と、前記情報処理装置に関する完全性が保証されているときに、前記情報処理装置が起動する際に使用する起動制御情報に基づいて生成される完全性保証情報の期待値を前記情報処理装置から取得し、取得した前記完全性保証情報の期待値を前記構成と関連付けて前記記憶手段に格納することを、前記起動処理によって前記情報処理装置が起動される度に実行する取得処理と、を実行させるためのプログラムである。
更に、本願発明は、係る完全性検証プログラム(コンピュータプログラム)が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
本願発明は、情報処理装置の構成によって値が異なる、情報処理装置の完全性を検証する際に使用する完全性保証情報の期待値を、効率的に取得することを可能とする。
本願発明の第1の実施形態に係る完全性検証システム1の構成を概念的に示すブロック図である。 本願発明の第1の実施形態に係る設定情報113の構成を概念的に例示する図である。 本願発明の第1の実施形態に係る完全性保証情報の期待値115の構成を概念的に例示する図である。 本願発明の第1の実施形態に係る完全性保証情報の期待値115と完全性保証情報の計測値とを比較した結果を例示する図である。 本願発明の第1の実施形態に係る情報処理装置10の動作を示すフローチャート(1/2)である。 本願発明の第1の実施形態に係る情報処理装置10の動作を示すフローチャート(2/2)である。 本願発明の第1の実施形態の変形例に係る完全性検証システム1Aの構成を概念的に示すブロック図である。 本願発明の第1の実施形態の変形例に係る設定情報413の構成を概念的に例示する図である。 本願発明の第2の実施形態に係る完全性検証装置50の構成を概念的に示すブロック図である。
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
<第1の実施形態>
図1は、本願発明の第1の実施の形態に係る完全性検証システム1の構成を概念的に示すブロック図である。完全性検証システム1は、大別して、情報処理装置10、及び、管理端末装置(アテステーション端末装置)20を含んでいる。情報処理装置10と管理端末装置20とは、通信可能に接続されている。
情報処理装置10は、例えばサーバ装置であり、記憶部11、CPU(Central Processing Unit)12、主記憶13、IO(Input Output)コントローラ14、ハードディスク15、CD(Compact Disc)/DVD(Digital Versatile Disc)ドライブ16、入出力装置17、拡張機器18、及び、TPM19を備えている。CPU12は、主記憶13及びIOコントローラ14の間でデータ(情報)を入出力する。CPU12は、また、IOコントローラ14を介して、ハードディスク15、CD/DVDドライブ16、入出力装置17、拡張機器18、及び、TPM19との間でデータを入出力することが可能である。入出力装置17は、例えば、キーボード、マウス、ディスプレイ等の、ユーザインタフェース機能を備えた装置である。拡張機器18は、例えばPCI(Peripheral Component Interconnect)バスに接続可能な、情報処理装置10の機能を拡張するデバイスである。ハードディスク15は、大容量記憶装置の一例である。CD/DVDドライブ16は、記録媒体160からのデータの読み出しや記録媒体160へのデータの書き込みを行なう装置の一例である。
情報処理装置10は、TPM19を用いたTrusted Bootを行なうことが可能な装置である。即ち、情報処理装置10は、自装置の完全性を検証する完全性検証装置としての機能を有する。本願では、以降、本実施形態に係る情報処理装置10が有する完全性検証装置としての機能について、その詳細を説明する。
記憶部11は、BIOS110、設定情報113、現在の設定情報114、完全性保証情報の期待値115、起動モードフラグ116、及び、起動制御情報117を格納した、不揮発性のフラッシュメモリである。CPU12はBIOS110を実行することによって、後述する起動処理111及び取得処理112を実行する。即ち、BIOS110は、CPU12が起動処理111及び取得処理112を実行するためのプログラムを含んでいる。尚、本願では以降、CPU12が起動処理111及び取得処理112を実行することによって行なう動作に関して、起動処理111及び取得処理112を、その動作を行なう主体として記載することとする。
起動処理111は、記憶部11に格納されている設定情報113を用いて情報処理装置10に対する設定を行ったのち、情報処理装置10を起動する。但し、情報処理装置10に対する設定を行なうとは、例えば、情報処理装置10の動作環境を制御する情報を保持するメモリ(レジスタ)等に、値を設定することである。
図2は、本実施形態に係る設定情報113の構成を概念的に例示する図である。図2に例示する通り、設定情報113は、少なくとも、構成番号、登録フラグ、運用モード、PCIデバイス構成、第1ブートエントリ、第2ブートエントリという項目を含み、これらの項目を関連付ける情報である。
構成番号は、情報処理装置10が採り得る構成を識別可能な識別子である。運用モードは、情報処理装置10が採り得る構成ごとに、その運用ポリシーを示す項目である。図2に例示する設定情報113では、例えば、構成番号が「1」である構成(以降、本願では「構成1」と称する)に関する運用モードは「高性能」である。即ち、設定情報113は、構成1を有する情報処理装置10は性能が高いことを優先した運用を行なうことを示している。構成1に関して、拡張機器18に関する構成を表す拡張機器構成は、「全て有効」に設定されている。また、構成1に関して、起動用デバイスとしての優先順位が最も高い第1ブートエントリは「HDD」(即ちハードディスク15)に設定され、起動用デバイスとしての優先順位が2番目に高い第2ブートエントリは「CD/DVD」(即ちCD/DVDドライブ16)に設定されている。
図2に例示する設定情報113では、例えば、構成番号が「2」である構成(以降、本願では「構成2」と称する)に関する運用モードは「省電力」である。即ち、設定情報113は、構成2を有する情報処理装置10は、省電力を優先した運用を行なうことを示している。構成2では、構成1とは異なり、拡張機器構成は「GPGPU無効」に設定されている。その理由は、省電力を優先する構成2では、消費電力が高いデバイスであるGPGPU(General-Purpose computing on Graphics Processing Units)を無効にする必要があるからである。
図2に例示する設定情報113では、例えば、構成番号が「3」である構成(以降、本願では「構成3」と称する)に関する運用モードは「保守」である。即ち、設定情報113は、構成3を有する情報処理装置10は、保守性を優先した運用を行なうことを示している。構成3では、構成1及び2とは異なり、第1ブートエントリは「Network」に設定されている。その理由は、保守性を優先する構成3では、ネットワーク上から保守用ツールを組み込んだOS等を起動する必要があるからである。
また、設定情報113に含まれる登録フラグは、その構成に関する、図1に示す完全性保証情報の期待値115が、後述する取得処理112によって記憶部11に登録済みであるか否かを示す項目である。本実施形態に係る登録フラグは、完全性保証情報の期待値115が記憶部11に登録済みである場合に「1」を示すこととする。
起動処理111は、記憶部11に格納されている起動モードフラグが示す値により、情報処理装置10の起動に関して異なる制御を行う。起動モードフラグ116は、情報処理装置10の起動に関して、情報処理装置10を通常通りに起動するモードであるのか、あるいは後述する通り、情報処理装置10が採り得る構成ごとの完全性保証情報の期待値115を生成するモードであるのかを示すフラグである。本実施形態では、起動モードフラグ116が「0」である場合、情報処理装置10を通常に立ち上げるモードであることを示し、起動モードフラグ116が「1」である場合、完全性保証情報の期待値115を生成するモードであることを示すこととする。そして、起動モードフラグ116は、例えば、管理端末装置20を介してユーザによりその値が設定される。そしてユーザは、情報処理装置10に関する完全性が保証されていることが事前に確認できており、かつ、情報処理装置10に関する新たな構成が発生した場合などに、起動モードフラグ116を「1」に設定することとする。
起動処理111は、起動モードフラグ116が示す値が「0」である場合、現在の設定情報114を用いて情報処理装置10を通常通りに起動する(立ち上げる)。現在の設定情報114は、情報処理装置10の複数の構成に関する設定情報を表す設定情報113のうち、情報処理装置10の現在の運用構成を実現するために使用される設定情報を表し、例えば、設定情報113において、現在の運用構成を示すフラグを設けることによって示されるようにしてもよい。
起動処理111は、起動モードフラグ116が示す値が「1」である場合、設定情報113において、登録フラグが「0」である情報処理装置10の構成に関して、設定情報113を用いて情報処理装置10に対する設定を行ったのち情報処理装置10を起動(リブート)するという一連の処理を、選択する構成を変更しながら繰り返し実行する
図1に示す取得処理112は、情報処理装置10が起動する際に使用する起動制御情報117に基づいて生成される完全性保証情報を、情報処理装置10から取得する。但し、起動制御情報117は、情報処理装置10が起動する(POSTを実行する、OSを起動する等)際に情報処理装置10が参照するデータ(各設定値やプログラム等)を表す。起動制御情報117は、例えば、当該データが記憶部11あるいは主記憶13に格納されているアドレスを示すようにしてもよい。また、当該完全性保証情報は、TPM19によるExtend機能によって、例えばTPM19が備えるPCRに非特許文献1に示す通り格納される、起動制御情報117に基づくハッシュ値である。
取得処理112は、起動モードフラグ116が「1」であることによって、上述した起動処理111が、選択する設定情報113が示す構成を変更しながら繰り返し情報処理装置10を起動するのに応じて、完全性保証情報(ハッシュ値)を、情報処理装置10から取得する。取得処理112は、この完全性保証情報を、設定情報113における選択した構成の構成番号と関連付けて、完全性保証情報の期待値115として、記憶部11に格納する。即ち、完全性保証情報の期待値115は、完全性保証情報のホワイトリストである。
図3は、本実施形態に係る完全性保証情報の期待値115の構成を概念的に例示する図である。図3おいてPCR0乃至PCR7等は、非特許文献1に示すPCRの構成に基づくこととする。
図3において、例えばPCR0に関しては、完全性保証情報の期待値115は、構成1乃至構成3とも同じ値を示している。これは、PCR0に関する完全性保証情報は、BIOS110に固有の値であることに基づく。尚、BIOS110自体が更新された場合、PCR0に関する完全性保証情報の期待値115も更新される。
図3において、例えばPCR1に関しては、完全性保証情報の期待値115は、構成1乃至構成3において値が互いに異なる。これは、PCR1に関する完全性保証情報は、情報処理装置10の構成ごとに異なる値を採ることに基づく。
図3において、例えばPCR4、PCR5に関しては、完全性保証情報の期待値115は、構成1及び構成2において値が同じであり、構成3において構成1及び構成2とは異なる値を示している。これは、PCR4、PCR5に関する完全性保証情報は、情報処理装置10におけるブートプログラム、パーティション構成等が異なる値を採り、図2に例示する通り、構成3が第1ブートエントリに関して構成1及び構成2とは異なることに基づく。
尚、本願では説明の便宜上、完全性保証情報の期待値115を図3に示す通り省略した態様で記載している。完全性保証情報の期待値115は、TPM19が用いるハッシュ値の生成アルゴリズム(ハッシュ関数)に基づく値である。TPM19がハッシュ値の生成アルゴリズムとして、例えばSHA(Secure Hash Algorithm)-1を用いる場合、各PCRに関する完全性保証情報は20バイトのデータとなる。また、TPM19がハッシュ値の生成アルゴリズムとして、例えばSHA-2を用いる場合、各PCRに関する完全性保証情報は32バイトのデータとなる。
取得処理112は、設定情報113における選択した構成の構成番号と関連付けて、完全性保証情報の期待値115として記憶部11に格納したのち、設定情報113における当該構成に関する登録フラグを「0」から「1」に更新する。
図1に示す管理端末装置20は、情報処理装置10の運用ポリシーの変更、あるいは情報処理装置10における障害の発生等によって、情報処理装置10の構成を変更する場合に、ユーザが使用する例えばパーソナルコンピュータ等の端末装置である。管理端末装置20は、また、情報処理装置10が新たに起動する際に、取得処理112がTPM19から読み出した完全性保証情報の計測値と、情報処理装置10が起動した構成に関する完全性保証情報の期待値115とを比較する。
図4は、本実施形態に係る完全性保証情報の期待値115と完全性保証情報の計測値とを比較した結果を例示する図である。図4に示す例では、PCR1に関して、完全性保証情報の期待値115と完全性保証情報の計測値とが異なることを示している。この場合、管理端末装置20は、起動制御情報117が不正に改ざんされたと判定し、その判定結果を、例えば管理端末装置20の表示画面(図1に不図示)に表示することによってユーザに提示する。
情報処理装置10は、完全性保証情報の期待値115と完全性保証情報の計測値とを管理端末装置20へ送信する際に、これらの情報が送信される過程において改ざんされないように、例えばこれらの情報を、TPM19を用いて暗号化して送信するようにしてもよい。この場合、管理端末装置20は、暗号化されたこれらの情報を復号可能な復号キーを保持していることとする。
次に、図5A及び図5Bのフローチャートを参照して、本実施形態に係る情報処理装置10(完全性検証装置)の動作(処理)について詳細に説明する。
情報処理装置10は、POSTを実行する(ステップS101)。取得処理112は、TPM19のPCRに登録された完全性保証情報の計測値を取得する(ステップS102)。起動処理111は、起動モードフラグ116を確認する(ステップS103)。
起動モードフラグ116が「1」でない(即ち「0」である)場合(ステップS104でNo)、起動処理111は、現在の設定情報114に基づき、情報処理装置10を通常通りに起動し(ステップS105)、全体の処理は終了する。
起動モードフラグ116が「1」である場合(ステップS104でYes)、起動処理111は、設定情報113において、登録フラグが「0」である構成を検索する(ステップS106)。登録フラグが「0」である構成が存在する場合(ステップS107でYes)、起動処理111は、設定情報113において、登録フラグが「0」である構成のいずれかを選択する(ステップS108)。
起動処理111は、選択した構成に関する設定情報113に基づいて、情報処理装置10に対する設定を行なう(ステップS109)。起動処理111は、情報処理装置10をリブートすることにより、POSTを実行する(ステップS110)。取得処理112は、完全性保証情報の計測値を取得し、取得した完全性保証情報の計測値を、選択した構成に関する完全性保証情報の期待値115として、記憶部11に格納する(ステップS111)。取得処理112は、設定情報113における選択した構成に関する登録フラグを「0」から「1」に更新し(ステップS112)、処理はステップS106へ戻る。
登録フラグが「0」である構成が存在しない場合(ステップS107でNo)、取得処理112は、更新した完全性保証情報の期待値115を、管理端末装置20へ送信する(ステップS113)。取得処理112は、起動モードフラグ116を「1」から「0」に更新する(ステップS114)。
起動処理111は、現在の設定情報114に基づいて情報処理装置10に対する設定を行なう(ステップS115)。起動処理111は、情報処理装置10をリブートし(ステップS116)、処理はステップS101へ戻る。
本実施形態に係る情報処理装置10(完全性検証装置)は、情報処理装置の構成によって値が異なる、情報処理装置の完全性を検証する際に使用する完全性保証情報の期待値を、効率的に取得することができる。その理由は、情報処理装置10は、情報処理装置10に関する完全性が保証されているときに、設定情報113における選択する構成を変更しながら情報処理装置10を起動するとともに、その際に取得した完全性保証情報の期待値を選択した構成と関連付けて記憶部11に記憶することを、繰り返し実行するからである。
以下に、本実施形態に係る情報処理装置10によって実現される効果について、詳細に説明する。
例えばTPM用いたTrusted Bootを行なう情報処理装置において、運用開始後にファームウェアの更新が行われたり、あるいは装置構成が変更されたりすることによって、TPMのPCRに登録される完全性保証情報(ハッシュ値)が変わる場合がある。このような装置構成やファームウェアに関する変更等が行なわれた場合、ユーザは、期待値となるPCRに登録される完全性保証情報を計測する必要がある。しかしながら、多様な構成を採り得る情報処理装置において、全ての構成に関してPCRに登録される完全性保証情報の期待値をユーザが計測することは、情報処理装置の運用に関する効率性(コスト)の観点から、現実的でないという問題がある。
このような問題に対して、本実施形態に係る情報処理装置10(完全性検証装置)は、記憶部11を備えるとともに、起動処理111と取得処理112とを実行することによって、例えば図1乃至図5(図5A及び5B)を参照して上述した通り動作する。即ち、記憶部11は、情報処理装置10が採り得る構成ごとに、当該構成を実現する、情報処理装置10に対する設定情報113を格納している。起動処理111は、情報処理装置10に関する完全性が保証されているときに、設定情報113を用いて情報処理装置10に対する設定を行ったのち、情報処理装置10を起動することを、選択する設定情報113における情報処理装置10の構成を変更しながら個々の設定情報に関して実行する。取得処理112は、情報処理装置10に関する完全性が保証されているときに、情報処理装置10が起動する際に使用する起動制御情報117に基づいて生成される完全性保証情報の期待値115を情報処理装置10から取得する。そして、取得処理112は、取得した完全性保証情報の期待値115を当該構成と関連付けて記憶部11に格納することを、起動処理111によって情報処理装置10が起動される度に実行する。
即ち、本実施形態に係る情報処理装置10(完全性検証装置)は、多様な構成を採り得る情報処理装置において、採り得る構成に関してPCRに登録される完全性保証情報の期待値を、ユーザの手作業による計測ではなく自動で取得する。これにより、本実施形態に係る情報処理装置10は、情報処理装置の構成によって値が異なる、情報処理装置の完全性を検証する際に使用する完全性保証情報の期待値を、効率的に取得することができる。
また、本実施形態に係る情報処理装置10は、上述した完全性保証情報と同等な情報を取得することを実現する、TPMとは異なる構成を、TPM19の代わりに備えるようにしてもよい。
また、本実施形態に係る起動処理111及び取得処理112が実現する機能は、CPU12がBIOS110を実行する構成以外の構成によっても実現可能である。情報処理装置10は、例えば、起動処理111及び取得処理112と同等の機能を実現するハードウェアである起動部及び取得部を備えてもよい。
また、本実施形態に係る完全性検証システム1では、情報処理装置10が、自装置の完全性を検証する完全性検証装置としての機能を有するが、完全性検証システム1は、情報処理装置10の完全性を検証する完全性検証装置を、情報処理装置10とは異なる装置として備えるようにしてもよい。
また、本実施形態に係る起動処理111及び取得処理112を実現する、BIOS110等のファームウェア(コンピュータプログラム)の供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、CD-ROM等の各種記録媒体160を介して情報処理装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体160によって構成されると捉えることができる。
<第1の実施形態の変形例>
図6は、本願発明の第1の実施形態の変形例に係る完全性検証システム1Aの構成を概念的に示すブロック図である。尚、本変形例において、上述した第1の実施形態と機能あるいは内容が同等である構成に関しては、第1の実施形態と同じ番号を付与することによって、その詳細な説明を省略する。
完全性検証システム1Aは、大別して、情報処理装置30、管理端末装置20、及び、BMC(Baseboard Management Controller)40を含んでいる。BMC40は、情報処理装置30に関する、構成管理や障害処理等を含むシステム管理全般を制御するデバイスである。管理端末装置20は、BMC40と通信可能に接続されており、ユーザが管理端末装置20を使用して操作入力した情報は、BMC40を介して情報処理装置30へ入力される。また、ユーザは、管理端末装置20を使用してBMC40へアクセスすることによって、情報処理装置30のシステム管理に関する情報を確認可能である。本変形例では、情報処理装置30とBMC40とによって、完全性検証装置10Aを構成すると見なすことができる。
本変形例に係る情報処理装置30は、記憶部31を除く構成に関しては、上述した第1の実施形態に係る情報処理装置10と同等の構成を備える。記憶部31は、BIOS310、及び、起動制御情報317を格納した、不揮発性のフラッシュメモリである。本変形例に係る起動制御情報317は、上述した第1の実施形態に係る起動制御情報117に相当する。
BMC40は、記憶部41を備えている。本変形例では、情報処理装置30が実行するOSによる記憶部41に対するアクセスは不能であることとする。記憶部41は、記憶部41は、現在のBIOS設定情報411、現在のBMC設定情報412、設定情報413、完全性保証情報の期待値415、起動モードフラグ116を格納した、不揮発性のフラッシュメモリである。本変形例に係る現在のBIOS設定情報411、及び、現在のBMC設定情報412は、上述した第1の実施形態に係る現在の設定情報114に相当する。即ち、本変形例に係る記憶部41は、第1の実施形態に係る現在の設定情報114に相当する情報を、BIOS310に関する設定情報を表す現在のBIOS設定情報411と、BMC40に関する設定情報を表す現在のBMC設定情報412として格納している。本変形例に係る完全性保証情報の期待値415は、上述した第1の実施形態に係る完全性保証情報の期待値115に相当する。
本変形例に係る設定情報413は、上述した第1の実施形態に係る設定情報113に相当する。図7は、本変形例に係る設定情報413の構成を概念的に例示する図である。図7に例示する通り、設定情報413は、図2に例示する第1の実施形態に係る設定情報113に加えて、CPU構成という項目を含んでいる。このCPU構成は、CPU12に障害が発生したことによるCPUの縮退構成等を表す項目であり、CPUの縮退制御はBMC40が備える機能である。尚、図6には説明の便宜上、CPUに関してはCPU12のみを記載しているが、情報処理装置30は、CPU12に加えて図示しないCPUも備えていることとする。
図6に示す本変形例に係る起動処理311は、第1の実施形態に係る起動処理111と同等の処理を行い、本変形例に係る取得処理312は、第1の実施形態に係る取得処理112と同等の処理を行う。但し、起動処理311及び取得処理312は、CPU12がBIOS310を実行することと、BMC40が備える機能とによって実現される。尚、本変形例に係るBIOS310は、BMC40からの指示に基づいて情報処理装置30に対する設定を行なう機能、情報処理装置30の起動やシャットダウンを行なう機能、及び、TPM19によるExtend機能によって完全性保証情報(ハッシュ値)を取得する機能を備えることとする。以上のことから、起動処理311及び取得処理312は、BMC40における記憶部41に格納されている上述した情報を使用して、第1の実施形態に係る起動処理111及び取得処理112と同等の処理を行うことが可能である。
本変形例に係る完全性検証装置10Aは、情報処理装置の構成によって値が異なる、情報処理装置の完全性を検証する際に使用する完全性保証情報の期待値を、効率的に取得することができる。その理由は、第1の実施形態において説明した通りである。
また、本変形例に係る完全性検証装置10Aは、完全性を検証するために使用する設定情報413や完全性保証情報の期待値415等の情報を、情報処理装置30が実行するOSによるアクセスが不能である、BMC40における記憶部41に格納して管理する。OSのような通信ネットワークを介して外部からアクセス可能であって、複数のプログラム(アプリケーション)が動作する環境は、一般的に、不正アクセスによる攻撃を受けやすいと考えられる。本変形例に係る完全性検証装置10Aは、上述した通り、完全性を検証するために使用する情報を、OSから独立した環境において管理するので、より安全性が高いシステムを構築することができる。
<第2の実施形態>
図8は、本願発明の第2の実施形態に係る完全性検証装置50の構成を概念的に示すブロック図である。
本実施形態に係る完全性検証装置50は、記憶部51、起動部52、及び、取得部53を備えている。
記憶部51には、情報処理装置60が採り得る構成ごとに、当該構成を実現する、情報処理装置60に対する設定情報511が格納されている。
起動部52は、情報処理装置60に関する完全性が保証されているときに、設定情報511を用いて情報処理装置60に対する設定を行ったのち、情報処理装置60を起動することを、設定情報511が示す複数の設定情報のうち選択する設定情報を変更しながら個々の設定情報に関して実行する。
取得部53は、情報処理装置60に関する完全性が保証されているときに、情報処理装置60が起動する際に使用する起動制御情報601に基づいて生成される完全性保証情報の期待値512を情報処理装置60から取得する。そして取得部53は、取得した完全性保証情報の期待値512を当該構成と関連付けて記憶部51に格納することを、起動部52によって情報処理装置60が起動される度に実行する。
本実施形態に係る完全性検証装置50は、情報処理装置60の構成によって値が異なる、情報処理装置60の完全性を検証する際に使用する完全性保証情報の期待値を、効率的に取得することができる。その理由は、完全性検証装置50は、情報処理装置60に関する完全性が保証されているときに、設定情報511を変更しながら情報処理装置60を起動するとともに、その際に取得した完全性保証情報の期待値512を、選択した設定情報511に関する構成と関連付けて記憶部51に記憶することを、繰り返し実行するからである。
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
1 完全性検証システム
10 情報処理装置
10A 完全性検証装置
11 記憶部
110 BIOS
111 起動処理
112 取得処理
113 設定情報
114 現在の設定情報
115 完全性保証情報の期待値
116 起動モードフラグ
117 起動制御情報
12 CPU
13 主記憶
14 IOコントローラ
15 ハードディスク
16 CD/DVDドライブ
160 記録媒体
17 入出力装置
18 拡張機器
19 TPM
20 管理端末装置
30 情報処理装置
310 BIOS
311 起動処理
312 取得処理
317 起動制御情報
40 BMC
41 記憶部
411 現在のBIOS設定情報
412 現在のBMC設定情報
413 設定情報
415 完全性保証情報の期待値
50 完全性検証装置
51 記憶部
511 設定情報
512 完全性保証情報の期待値
52 起動部
53 取得部
60 情報処理装置
601 起動制御情報

Claims (9)

  1. 情報処理装置が採り得る構成ごとに、前記構成を実現する、前記情報処理装置に対する設定情報が格納された記憶手段と、
    前記情報処理装置に関する完全性が保証されているときに、前記設定情報を用いて前記情報処理装置に対する設定を行ったのち、前記情報処理装置を起動することを、複数の前記設定情報のうち選択する前記設定情報を変更しながら個々の前記設定情報に関して実行する起動手段と、
    前記情報処理装置に関する完全性が保証されているときに、前記情報処理装置が起動する際に使用する起動制御情報に基づいて生成される完全性保証情報の期待値を前記情報処理装置から取得し、取得した前記完全性保証情報の期待値を前記構成と関連付けて前記記憶手段に格納することを、前記起動手段によって前記情報処理装置が起動される度に実行する取得手段と、
    を備え
    前記完全性保証情報は、前記情報処理装置が備えるTPM(Trusted Platform Module)に登録される、前記起動制御情報に基づいて生成されるハッシュ値を表す、
    全性検証装置。
  2. 前記記憶手段は、前記情報処理装置に関する完全性が保証されていることを示す起動モード情報を記憶し、
    前記起動手段は、前記起動モード情報によって、前記情報処理装置に関する完全性が保証されていることが示されている場合に、前記設定情報を用いて前記情報処理装置に対する設定を行ったのち、前記情報処理装置を起動することを、複数の前記設定情報のうち選択する前記設定情報を変更しながら個々の前記設定情報に関して実行する、
    請求項1に記載の完全性検証装置。
  3. 前記起動手段及び前記取得手段は、BIOS(Basic Input Output System)を実行する前記情報処理装置によって実現される、
    請求項1または請求項2に記載の完全性検証装置。
  4. 前記起動手段及び前記取得手段は、BIOSを実行する前記情報処理装置と、BMC(Baseboard Management Controller)とによって実現される、
    請求項1または請求項2に記載の完全性検証装置。
  5. 前記記憶手段は、前記情報処理装置が実行するOS(Operating System)によるアクセスが不能であるBMCに具備されている、
    請求項に記載の完全性検証装置。
  6. 前記情報処理装置が採り得る前記構成は、前記情報処理装置に関する性能を優先する前記構成、前記情報処理装置に関する省電力を優先する前記構成、及び、前記情報処理装置に関する保守性を優先する前記構成の少なくともいずれかを含む、
    請求項1乃至請求項のいずれか一項に記載の完全性検証装置。
  7. 請求項1乃至請求項6のいずれか一項に記載の完全性検証装置と、
    前記完全性検証装置と通信可能に接続された管理端末装置と、
    を有し、
    前記取得手段は、特定の前記構成に設定された前記情報処理装置が起動したときに、前記完全性保証情報の計測値を取得し、
    前記管理端末装置は、前記完全性検証装置から得られた、前記完全性保証情報の計測値と、特定の前記構成に関連付けられた前記完全性保証情報の期待値とを比較して、前記計測値と前記期待値とが一致しない場合、前記起動制御情報が改ざんされたと判定する、
    全性検証システム。
  8. 第一の情報処理装置が採り得る構成ごとに、前記構成を実現する、前記第一の情報処理装置に対する設定情報が記憶手段に格納されている場合に、
    第二の情報処理装置によって、
    前記第一の情報処理装置に関する完全性が保証されているときに、前記設定情報を用いて前記第一の情報処理装置に対する設定を行ったのち、前記第一の情報処理装置を起動することを、複数の前記設定情報のうち選択する前記設定情報を変更しながら個々の前記設定情報に関して実行し、
    前記第一の情報処理装置に関する完全性が保証されているときに、前記第一の情報処理装置が起動する際に使用する起動制御情報に基づいて生成される完全性保証情報の期待値を前記第一の情報処理装置から取得し、取得した前記完全性保証情報の期待値を前記構成と関連付けて前記記憶手段に格納することを、前記第一の情報処理装置が起動される度に実行する方法であって
    前記完全性保証情報は、前記第一の情報処理装置が備えるTPM(Trusted Platform Module)に登録される、前記起動制御情報に基づいて生成されるハッシュ値を表す、
    完全性検証方法。
  9. 情報処理装置が採り得る構成ごとに、前記構成を実現する、前記情報処理装置に対する設定情報が格納された記憶手段にアクセス可能なコンピュータに、
    前記情報処理装置に関する完全性が保証されているときに、前記設定情報を用いて前記情報処理装置に対する設定を行ったのち、前記情報処理装置を起動することを、複数の前記設定情報のうち選択する前記設定情報を変更しながら個々の前記設定情報に関して実行する起動処理と、
    前記情報処理装置に関する完全性が保証されているときに、前記情報処理装置が起動する際に使用する起動制御情報に基づいて生成される完全性保証情報の期待値を前記情報処理装置から取得し、取得した前記完全性保証情報の期待値を前記構成と関連付けて前記記憶手段に格納することを、前記起動処理によって前記情報処理装置が起動される度に実行する取得処理と、
    を実行させるためのプログラムであって、
    前記完全性保証情報は、前記情報処理装置が備えるTPM(Trusted Platform Module)に登録される、前記起動制御情報に基づいて生成されるハッシュ値を表す、
    完全性検証プログラム。
JP2018012302A 2018-01-29 2018-01-29 完全性検証装置、完全性検証システム、完全性検証方法、及び、完全性検証プログラム Active JP7050503B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018012302A JP7050503B2 (ja) 2018-01-29 2018-01-29 完全性検証装置、完全性検証システム、完全性検証方法、及び、完全性検証プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018012302A JP7050503B2 (ja) 2018-01-29 2018-01-29 完全性検証装置、完全性検証システム、完全性検証方法、及び、完全性検証プログラム

Publications (2)

Publication Number Publication Date
JP2019133220A JP2019133220A (ja) 2019-08-08
JP7050503B2 true JP7050503B2 (ja) 2022-04-08

Family

ID=67546180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018012302A Active JP7050503B2 (ja) 2018-01-29 2018-01-29 完全性検証装置、完全性検証システム、完全性検証方法、及び、完全性検証プログラム

Country Status (1)

Country Link
JP (1) JP7050503B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7393226B2 (ja) 2020-01-29 2023-12-06 キヤノン株式会社 情報処理装置とその起動方法
JP7313395B2 (ja) 2021-04-21 2023-07-24 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338554A (ja) 2005-06-03 2006-12-14 Ntt Docomo Inc サービス利用方法及び端末
WO2010113282A1 (ja) 2009-03-31 2010-10-07 富士通株式会社 構成変更の検証機能を有した情報処理装置及びその制御方法
JP2012104132A (ja) 2010-06-02 2012-05-31 Minoru Yoshida 情報生成システム及びその方法
WO2012117556A1 (ja) 2011-03-03 2012-09-07 富士通株式会社 情報処理装置及び情報処理装置制御方法
US20150074387A1 (en) 2013-09-12 2015-03-12 Insyde Software Corp. System and method for auto-enrolling option roms in a uefi secure boot database

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338554A (ja) 2005-06-03 2006-12-14 Ntt Docomo Inc サービス利用方法及び端末
WO2010113282A1 (ja) 2009-03-31 2010-10-07 富士通株式会社 構成変更の検証機能を有した情報処理装置及びその制御方法
JP2012104132A (ja) 2010-06-02 2012-05-31 Minoru Yoshida 情報生成システム及びその方法
WO2012117556A1 (ja) 2011-03-03 2012-09-07 富士通株式会社 情報処理装置及び情報処理装置制御方法
US20150074387A1 (en) 2013-09-12 2015-03-12 Insyde Software Corp. System and method for auto-enrolling option roms in a uefi secure boot database

Also Published As

Publication number Publication date
JP2019133220A (ja) 2019-08-08

Similar Documents

Publication Publication Date Title
CN109446815B (zh) 基本输入输出系统固件的管理方法、装置和服务器
TWI530810B (zh) 提供多階鎖步完整性報告機構之技術
JP4433401B2 (ja) 情報処理システム、プログラム、及び情報処理方法
US7853804B2 (en) System and method for secure data disposal
CN103299311B (zh) 用于可信引导优化的方法和设备
JP5745061B2 (ja) 起動プロセスの際の対話型コンポーネントの使用の認証
US8943491B2 (en) Systems and methods for maintaining CRTM code
JP4093494B2 (ja) 秘密情報へのアクセスを制御するシステムおよびその方法
US20150007313A1 (en) Attesting a Component of a System During a Boot Process
US9990255B2 (en) Repairing compromised system data in a non-volatile memory
US10776493B2 (en) Secure management and execution of computing code including firmware
US8751817B2 (en) Data processing apparatus and validity verification method
US20120131334A1 (en) Method for Attesting a Plurality of Data Processing Systems
JP6391439B2 (ja) 情報処理装置、サーバ装置、情報処理システム、制御方法及びコンピュータプログラム
US20120233449A1 (en) Methods and systems for measuring trustworthiness of a self-protecting drive
JP7050503B2 (ja) 完全性検証装置、完全性検証システム、完全性検証方法、及び、完全性検証プログラム
US8140835B2 (en) Updating a basic input/output system (‘BIOS’) boot block security module in compute nodes of a multinode computer
CN113190880B (zh) 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作
US11977640B2 (en) Systems and methods for authenticating the identity of an information handling system
Sailer et al. The role of TPM in enterprise security
US11914717B2 (en) Information handling systems and related methods to cryptographically verify information handling system platform components and track events associated with the platform components
TW202318196A (zh) 韌體映像檢查系統、韌體映像檢查方法及電腦系統
US11113399B2 (en) Electronic apparatus and control method of electronic apparatus
US12019752B2 (en) Security dominion of computing device
KR102369874B1 (ko) 무결성 검증 대상 디바이스에 대한 os 및 무결성 정보의 통합 업데이트 방법 및 원격 검증 시스템, os 배포 서버 및 무결성 검증 대상 디바이스

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211022

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211110

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220329

R150 Certificate of patent or registration of utility model

Ref document number: 7050503

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150