(57)【要約】【課題】起動に必要な複数のソフトウェアを下位のソフトウェアから上位のソフトウェアの順番に起動する際、不正なソフトウェアの起動を抑止できる情報処理装置、ソフトウェア起動方法及び画像処理装置を提供することを目的とする。【解決手段】起動に必要なソフトウェア２１〜２４を下位から上位のソフトウェアの順番に起動する情報処理装置であって、起動済みのソフトウェアのうち最上位のソフトウェアを選択し、選択したソフトウェアの領域から、選択したソフトウェアより１つ上位の正当性のあるソフトウェアから一意に計算された第１の格納値を取得する取得手段と、選択したソフトウェアより１つ上位のソフトウェアを起動させる前に、１つ上位のソフトウェアから一意に計算される第１の算出値を算出する算出手段と、第１の格納値及び第１の算出値の比較結果に基づき、１つ上位のソフトウェアの正当性を確認する確認手段とを有することで上記課題を解決する。【選択図】図５
2008234220.tif 000002
【特許請求の範囲】
【請求項１】
起動に必要な複数のソフトウェアを下位のソフトウェアから上位のソフトウェアの順番に起動する情報処理装置であって、
起動済みのソフトウェアのうち最上位のソフトウェアを選択し、選択したソフトウェアの領域から、選択したソフトウェアより１つ上位の正当性のあるソフトウェアから一意に計算された第１の格納値を取得する取得手段と、
選択したソフトウェアより１つ上位のソフトウェアを起動させる前に、１つ上位のソフトウェアから一意に計算される第１の算出値を算出する算出手段と、
前記第１の格納値及び第１の算出値の比較結果に基づき、１つ上位のソフトウェアの正当性を確認する確認手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記確認手段は、
前記第１の格納値及び第１の算出値が一致するとき、選択したソフトウェアより１つ上位のソフトウェアを起動し、
前記第１の格納値及び第１の算出値が一致しないとき、１つ上位のソフトウェアを起動しないことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記確認手段は、前記第１の格納値及び第１の算出値が一致しないとき、異常通知手段を用いてユーザに異常を通知することを特徴とする請求項２記載の情報処理装置。
【請求項４】
最下位のソフトウェアの領域は前記第１の格納値以外で暗号化されており、最下位以外のソフトウェアの領域は１つ下位の正当性のあるソフトウェアから一意に計算された第２の算出値で暗号化されていることを特徴とする請求項１記載の情報処理装置。
【請求項５】
更新したいソフトウェアの１つ上位の正当性のあるソフトウェアから一意に計算された第３の算出値を取得し、更新したいソフトウェアの領域に前記第３の算出値を格納し、１つ下位の正当性のあるソフトウェアから一意に計算された第２の算出値で更新したいソフトウェアの領域を暗号化し、更新したいソフトウェアの１つ下位のソフトウェアの領域に更新したいソフトウェアから一意に計算した第１の格納値を格納したあと、更新したいソフトウェアで更新前のソフトウェアを更新する更新手段
を更に有することを特徴とする請求項１記載の情報処理装置。
【請求項６】
最下位のソフトウェアの領域は、１つ上位の正当性のあるソフトウェアから一意に計算された第１の格納値と、ネットワーク経由で他の装置と通信する為の正当性のあるネットワーク制御部ソフトウェアから一意に計算された第２の格納値とが格納されており、
前記算出手段はネットワーク制御部ソフトウェアを起動させる前に、ネットワーク制御部ソフトウェアから一意に計算される第４の算出値を算出し、
前記確認手段は前記第２の格納値及び第４の算出値の比較結果に基づき、ネットワーク制御部ソフトウェアの正当性を確認すること
を特徴とする請求項１記載の情報処理装置。
【請求項７】
前記確認手段は、前記第２の格納値及び第４の算出値が一致するとき、ネットワーク制御部ソフトウェアを起動したあと、前記他の装置から起動に必要な複数のソフトウェアのうちの一部をダウンロードし、
前記第２の格納値及び第４の算出値が一致しないとき、ネットワーク制御部ソフトウェアを起動しないことを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記確認手段は、前記第２の格納値及び第４の算出値が一致するとき、ネットワーク制御部ソフトウェアを起動したあと、前記他の装置の公開鍵により暗号化されている起動に必要な複数のソフトウェアを前記他の装置に復号させ、
前記第２の格納値及び第４の算出値が一致しないとき、ネットワーク制御部ソフトウェアを起動しないことを特徴とする請求項６記載の情報処理装置。
【請求項９】
起動に必要な複数のソフトウェアを下位のソフトウェアから上位のソフトウェアの順番に起動する情報処理装置のソフトウェア起動方法であって、
起動済みのソフトウェアのうち最上位のソフトウェアを選択し、選択したソフトウェアの領域から、選択したソフトウェアより１つ上位の正当性のあるソフトウェアから一意に計算された第１の格納値を取得する取得ステップと、
選択したソフトウェアより１つ上位のソフトウェアを起動させる前に、１つ上位のソフトウェアから一意に計算される第１の算出値を算出する算出ステップと、
前記第１の格納値及び第１の算出値の比較結果に基づき、１つ上位のソフトウェアの正当性を確認する確認ステップと
を有することを特徴とするソフトウェア起動方法。
【請求項１０】
起動に必要な複数のソフトウェアを、下位のソフトウェアから上位のソフトウェアの順番に起動する、スキャナ部およびプロッタ部の少なくとも一方を有している画像処理装置であって、
起動済みのソフトウェアのうち最上位のソフトウェアを選択し、選択したソフトウェアの領域から、選択したソフトウェアより１つ上位の正当性のあるソフトウェアから一意に計算された第１の格納値を取得する取得手段と、
選択したソフトウェアより１つ上位のソフトウェアを起動させる前に、１つ上位のソフトウェアから一意に計算される第１の算出値を算出する算出手段と、
前記第１の格納値及び第１の算出値の比較結果に基づき、１つ上位のソフトウェアの正当性を確認する確認手段と
を有することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ソフトウェア起動方法及び画像処理装置に係り、特に起動に必要な複数のソフトウェアを、下位のソフトウェアから上位のソフトウェアの順番に起動する情報処理装置、ソフトウェア起動方法及び画像処理装置に関する。
【背景技術】
【０００２】
セキュリティを重視するＰＣ等の情報処理装置や複合機（ＭＦＰ）等の画像処理装置においては、自装置内の秘密情報を保護する必要がある。近年、ＰＣ等の情報処理装置や複合機等の画像処理装置ではセキュリティ意識の高まりに伴い、盗聴等を防ぐため、装置内部に保存している秘密情報の暗号化が可能となった。
【０００３】
例えば特許文献１にはＴＣＰＡ（Trusted Computing Platform Alliance）の仕様に基づいたＰＣにおいて、ＴＰＭ（Trusted Platform Module ）を用いた情報の暗号化について記載されている。ＴＰＭを用いることにより、情報処理装置や画像処理装置は秘密情報を暗号化できる。ＴＰＭは例えばマザーボードに直付けされるチップで実現される。特許文献２には秘密情報を様々な脅威から保護することが記載されている。
【０００４】
また、情報処理装置や画像処理装置で自装置内の秘密情報を保護する場合には、起動時に装置内の構成（システム）の真正性を確認する必要がある。この為、ＴＰＭ内にあるＰＣＲ（Platform Configuration Register）へファームウェアから計算したハッシュ値を登録し、ＰＣＲに登録されたハッシュ値を秘密情報の復号条件とすることで、情報処理装置や画像処理装置は自装置内の秘密情報を、不正なシステムによるデータ窃取から保護していた。
【０００５】
例えばＴＰＭ内にあるＰＣＲへファームウェアから計算したハッシュ値を登録し、ＰＣＲに登録されたハッシュ値を秘密情報の復号条件とする従来の情報処理装置や画像処理装置は、ＢＩＯＳ，ブートローダ，カーネル，ルートファイルシステム等のファームウェアを起動するときに、ＴＰＭ内にあるＰＣＲへファームウェアから計算したハッシュ値を登録する。
【０００６】
そして、従来の情報処理装置や画像処理装置は正しいＢＩＯＳ，ブートローダ，カーネル，ルートファイルシステム等のファームウェアのハッシュ値でしか復号できない領域を持ち、その中に秘密情報を格納している。このように、従来の情報処理装置や画像処理装置は正しい組み合わせのファームウェアで起動した場合にしか秘密情報を取得できない仕組みを提供している。
【特許文献１】特開２００４−２８２３９１号公報
【特許文献２】特開２００１−２４９９０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の情報処理装置や画像処理装置では、例えばカーネルが不正なものであっても、ＢＩＯＳ，ブートローダ，カーネル，ルートファイルシステム等のファームウェアの起動が全て完了したあと、ファームウェアのどこかに不正なファームウェアがあることを検知し、秘密情報を保護していた。
【０００８】
したがって、従来の情報処理装置や画像処理装置では、ファームウェアの起動が全て完了したあと、不正なファームウェアがあることを検知するため、不正なファームウェアが起動されてしまい、セキュリティ上、好ましくないという問題があった。
【０００９】
本発明は、上記の点に鑑みなされたもので、起動に必要な複数のソフトウェアを下位のソフトウェアから上位のソフトウェアの順番に起動する際、不正なソフトウェアの起動を抑止できる情報処理装置、ソフトウェア起動方法及び画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明は、起動に必要な複数のソフトウェアを下位のソフトウェアから上位のソフトウェアの順番に起動する情報処理装置であって、起動済みのソフトウェアのうち最上位のソフトウェアを選択し、選択したソフトウェアの領域から、選択したソフトウェアより１つ上位の正当性のあるソフトウェアから一意に計算された第１の格納値を取得する取得手段と、選択したソフトウェアより１つ上位のソフトウェアを起動させる前に、１つ上位のソフトウェアから一意に計算される第１の算出値を算出する算出手段と、前記第１の格納値及び第１の算出値の比較結果に基づき、１つ上位のソフトウェアの正当性を確認する確認手段とを有することを特徴とする。
【００１１】
また、本発明は、起動に必要な複数のソフトウェアを下位のソフトウェアから上位のソフトウェアの順番に起動する情報処理装置のソフトウェア起動方法であって、起動済みのソフトウェアのうち最上位のソフトウェアを選択し、選択したソフトウェアの領域から、選択したソフトウェアより１つ上位の正当性のあるソフトウェアから一意に計算された第１の格納値を取得する取得ステップと、選択したソフトウェアより１つ上位のソフトウェアを起動させる前に、１つ上位のソフトウェアから一意に計算される第１の算出値を算出する算出ステップと、前記第１の格納値及び第１の算出値の比較結果に基づき、１つ上位のソフトウェアの正当性を確認する確認ステップとを有することを特徴とする。
【００１２】
また、本発明は、起動に必要な複数のソフトウェアを、下位のソフトウェアから上位のソフトウェアの順番に起動する、スキャナ部およびプロッタ部の少なくとも一方を有している画像処理装置であって、起動済みのソフトウェアのうち最上位のソフトウェアを選択し、選択したソフトウェアの領域から、選択したソフトウェアより１つ上位の正当性のあるソフトウェアから一意に計算された第１の格納値を取得する取得手段と、選択したソフトウェアより１つ上位のソフトウェアを起動させる前に、１つ上位のソフトウェアから一意に計算される第１の算出値を算出する算出手段と、前記第１の格納値及び第１の算出値の比較結果に基づき、１つ上位のソフトウェアの正当性を確認する確認手段とを有することを特徴とする。
【００１３】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１４】
本発明によれば、起動に必要な複数のソフトウェアを下位のソフトウェアから上位のソフトウェアの順番に起動する際、不正なソフトウェアの起動を抑止できる情報処理装置、ソフトウェア起動方法及び画像処理装置を提供可能である。
【発明を実施するための最良の形態】
【００１５】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例ではＰＣ等の情報処理装置を例に説明しているが、複合機等の画像処理装置やＰＣ周辺機器全般であってもよい。また、以下の実施例ではファームウェアとしてＢＩＯＳ，ブートローダ，カーネル，ルートファイルシステムを例に説明しているが、他のソフトウェアであってもよい。
【００１６】
本発明による情報処理装置では、ＢＩＯＳ，ブートローダ，カーネル及びルートファイルシステムを順番に起動するとき、後述のように異常を検出できるので、不正なファームウェアの起動を抑止することが可能である。
【実施例１】
【００１７】
図１は本発明による情報処理装置の一実施例のハードウェア構成図である。図１の情報処理装置１は、ＣＰＵ１１，ＲＯＭ１２，ＲＡＭ１３及びＴＰＭ１４を有するように構成される。ＣＰＵ１１は、バス１５を介してＲＯＭ１２，ＲＡＭ１３及びＴＰＭ１４に接続されている。
【００１８】
図１の情報処理装置１は、バス１５上にＴＰＭ１４が搭載されており、秘密情報の暗号化や復号、プラットフォームの真正性を確認するプラットフォーム検証の機能を提供できる構成となっている。
【００１９】
図２は本発明による情報処理装置の一実施例のソフトウェア構成図である。図２の情報処理装置１は、ＢＩＯＳ２１，ブートローダ２２，カーネル２３，ルートファイルシステム２４及びアプリケーション２５を有するように構成される。
【００２０】
情報処理装置の起動時、ＢＩＯＳ２１はブートローダ２２をＲＯＭ１２からＲＡＭ１３に読み込んで起動する。ブートローダ２２はカーネル２３及びルートファイルシステム２４をＲＯＭ１２からＲＡＭ１３に読み込み、カーネル２３及びルートファイルシステム２４を起動する。カーネル２３は、ルートファイルシステム２４の管理している起動プログラム（図示せず）をＲＯＭ１２からＲＡＭ１３に読み込んで起動する。そして、起動プログラムは、ルートファイルシステム２４の管理しているアプリケーション２５をＲＯＭ１２からＲＡＭ１３に読み込んで起動する。
【００２１】
このように、図２の情報処理装置１は、ＢＩＯＳ２１，ブートローダ２２，カーネル２３，ルートファイルシステム２４及びアプリケーション２５の順番に起動する。なお、ＢＩＯＳ２１，ブートローダ２２，カーネル２３，ルートファイルシステム２４及びアプリケーション２５等は、ＣＰＵ１１によりＲＯＭ１２からＲＡＭ１３へ読み込まれて実行される。以下では説明の便宜上、ＢＩＯＳ２１，ブートローダ２２，カーネル２３，ルートファイルシステム２４及びアプリケーション２５等を処理主体として説明する。なお、図１及び図２に示した情報処理装置１の起動時の動作の詳細は後述する。
【００２２】
次に、ＴＰＭ１４の仕組みについて説明する。ここでは、ブートローダ２２がカーネル２３を起動する例を説明する。
【００２３】
図３はＴＰＭにハッシュ値を格納する処理手順を表した模式図である。ステップＳ１１に進み、ブートローダ２２がＲＯＭ１２からＲＡＭ１３へカーネル２３を読み込む。ステップＳ１２に進み、ＴＰＭ７はカーネル２３の例えば原文から固定長の疑似乱数を生成する演算手法によって計算されるハッシュ値をＰＣＲへ格納する。例えば図３では、カーネル２３のハッシュ値「０ｘ３ａ」が「ＰＣＲ３」へ格納されている。そして、ステップＳ１３に進み、ブートローダ２２はカーネル２３を起動する。
【００２４】
このように、ＴＰＭ１４は、ＢＩＯＳ２１，ブートローダ２２，カーネル２３，ルートファイルシステム２４，アプリケーション２５等を起動する際、上記のように計算されたハッシュ値をＰＣＲへ格納する。
【００２５】
図４はＴＰＭを用いた領域の復号を表す模式図である。ＴＰＭ１４には情報処理装置１を起動する際に、ＢＩＯＳ２１，ブートローダ２２，カーネル２３，ルートファイルシステム２４の４つのハッシュ値が「ＰＣＲ１」〜「ＰＣＲ４」へ格納されている。ＴＰＭ１４を用いて暗号化された領域４１，４２は「ＰＣＲ３」により暗号化されている。
【００２６】
領域４１は「ＰＣＲ３＝０ｘ３ａ」で暗号化されている。領域４２は「ＰＣＲ３＝０ｘ３ｂ」で暗号化されている。なお、ＴＰＭ１４には、「ＰＣＲ１」〜「ＰＣＲ４」に「０ｘｅ９」，「０ｘ１２」，「０ｘ３ａ」，「０ｘ０６」が設定されている。
【００２７】
図４の領域４１の場合、ＴＰＭ１４の「ＰＣＲ３」に格納されているのと同じハッシュ値「０ｘ３ａ」で暗号化されているため、ＴＰＭ１４は領域４１からの内容物の取り出しを許可する。また、領域４２の場合、ＴＰＭ１４の「ＰＣＲ３」格納されているのと異なるハッシュ値「０ｘ３ｂ」が格納されているため、ＴＰＭ１４は領域４２からの内容物の取り出しを許可しない。
【００２８】
本発明による情報処理装置１はＴＰＭ１４を用いることで、後述するように、次に起動するファームウェアの正当性を確認できるので、不正なファームウェアの起動を抑止することが可能である。
【００２９】
図５は本発明による情報処理装置の起動時の動作を表した模式図である。図５のＴＰＭ１４はセキュアな領域に秘密鍵「ＳＰＫ」を有している。また、情報処理装置１はＢＩＯＳ２１，ブートローダ２２，カーネル２３及びルートファイルシステム２４の順番に起動されるものとする。なお、情報処理装置１は下位のソフトウェアから上位のソフトウェアの順番に起動するものである。
【００３０】
ＢＩＯＳ２１は、ＴＰＭ１４の秘密鍵「ＳＰＫ」により暗号化された領域５１を有している。領域５１には次に起動するブートローダ２２から事前に算出したハッシュ値「Ｈｂｌ」が格納されている。領域５１に格納するためのハッシュ値「Ｈｂｌ」は、正当性のあるブートローダ２２から算出されたものとする。
【００３１】
まず、情報処理装置１ではＢＩＯＳ２１が起動される。ステップＳ５１に進み、ＢＩＯＳ２１は領域５１をＴＰＭ１４の秘密鍵「ＳＰＫ」により復号させたあと、領域５１からハッシュ値「Ｈｂｌ」を取得する。ステップＳ５２に進み、ＢＩＯＳ２１は次に起動するブートローダ２２のハッシュ値「Ｈｂｌ」を算出する。
【００３２】
ＢＩＯＳ２１は、領域５１から取得したハッシュ値「Ｈｂｌ」と、次に起動するブートローダ２２から算出したハッシュ値「Ｈｂｌ」とを比較する。ＢＩＯＳ２１は、比較結果が一致でなければ、ブートローダ２２が不正であると判定して、起動を停止する。ＢＩＯＳ２１は、比較結果が一致であれば、ブートローダ２２が正当であると判定して、ブートローダ２２を起動する。ステップＳ５３に進み、ＢＩＯＳ２１は自身のハッシュ値「Ｈｂｉ」を算出し、ＴＰＭ１４内にある「ＰＣＲ１」にハッシュ値「Ｈｂｉ」を格納する。
【００３３】
ブートローダ２２は、ＢＩＯＳ２１から事前に算出したハッシュ値「Ｈｂｉ」により暗号化された領域５２を有している。領域５２には次に起動するカーネル２３から事前に算出したハッシュ値「Ｈｋ」が格納されている。領域５２に格納するためのハッシュ値「Ｈｋ」は、正当性のあるカーネル２３から算出されたものとする。
【００３４】
ステップＳ５４に進み、ブートローダ２２は、領域５２をＴＰＭ１４の「ＰＣＲ１」に格納されているハッシュ値「Ｈｂｉ」によりＴＰＭ１４に復号させたあと、領域５２からハッシュ値「Ｈｋ」を取得する。ステップＳ５５に進み、ブートローダ２２は次に起動するカーネル２３のハッシュ値「Ｈｋ」を算出する。
【００３５】
ブートローダ２２は領域５２から取得したハッシュ値「Ｈｋ」と次に起動するカーネル２３から算出したハッシュ値「Ｈｋ」とを比較する。ブートローダ２２は、比較結果が一致でなければ、カーネル２３が不正であると判定して、起動を停止する。ブートローダ２２は、比較結果が一致であれば、カーネル２３が正当であると判定して、カーネル２３を起動する。ステップＳ５６に進み、ブートローダ２２は自身のハッシュ値「Ｈｂｌ」をＴＰＭ１４内にある「ＰＣＲ２」に格納する。
【００３６】
以下、同様にして、カーネル２３及びルートファイルシステム２４は１つ上位のソフトウェアの正当性を確認し、正当性があるときに１つ上位のソフトウェアを起動する。このように実施例１の情報処理装置１では、ＢＩＯＳ２１，ブートローダ２２，カーネル２３及びルートファイルシステム２４を順番に起動するとき、１つ上位のファームウェアの正当性を確認できるので、不正なファームウェアの起動を抑止することが可能である。
【００３７】
図６は本発明による情報処理装置においてソフトウェアを更新する動作を表した模式図である。図６ではカーネル２３をカーネル２３ａに更新する例を表している。
【００３８】
ステップＳ６１に進み、カーネル２３ａは更新時に１つ上位のルートファイルシステム２４のハッシュ値「Ｈｓ」を算出し、自身の暗号化したい領域６１に書き込む。ステップＳ６２に進み、カーネル２３ａは１つ下位のブートローダ２２のハッシュ値「Ｈｂｌ」により暗号化を行う。なお、ＢＩＯＳ２１を更新する場合は、１つ下位のファームウェアのハッシュ値に代えて、ＴＰＭ１４の秘密鍵「ＳＰＫ」により暗号化を行う。
【００３９】
ステップＳ６３に進み、カーネル２３ａは自身のハッシュ値「Ｈｋ'」をブートローダ２２の暗号化された領域５２に格納する。そして、ステップＳ６４に進み、カーネル２３はカーネル２３ａに更新される。
【００４０】
このように実施例１の情報処理装置１では、ＢＩＯＳ２１，ブートローダ２２，カーネル２３及びルートファイルシステム２４の何れかを更新する場合であっても、上記したようなファームウェアの正当性を確認する機構を保持し続けることができる。
【実施例２】
【００４１】
図７は本発明による情報処理装置の一実施例のハードウェア構成図である。図７の情報処理装置２は、ＣＰＵ１１，ＲＯＭ１２，ＲＡＭ１３，ＮＶＲＡＭ１６および暗号ハードウェア（暗号Ｈ／Ｗ）１７を有するように構成される。ＣＰＵ１１は、バス１５を介してＲＯＭ１２，ＲＡＭ１３，ＮＶＲＡＭ１６および暗号Ｈ／Ｗ１７に接続されている。
【００４２】
図７の情報処理装置２は、バス１５上に暗号Ｈ／Ｗ１７が搭載されており、秘密情報の暗号化や復号、プラットフォームの真正性を確認するプラットフォーム検証の機能を提供できる構成となっている。なお、ソフトウェア構成は図２と同様である。
【００４３】
図８は、本発明による情報処理装置の起動時の動作を表した模式図である。図８のＮＶＲＡＭ１６は、秘密鍵「ＫＥＹ」を有している。ＢＩＯＳ２１は、ＮＶＲＡＭ１６の秘密鍵「ＫＥＹ」により暗号化されている領域８１を有している。領域８１には次に起動するブートローダ２２から事前に算出したハッシュ値「Ｈｂｌ」が格納されている。領域８１に格納するためのハッシュ値「Ｈｂｌ」は、正当性のあるブートローダ２２から算出されたものとする。
【００４４】
まず、情報処理装置２ではＢＩＯＳ２１が起動される。ステップＳ８１に進み、ＢＩＯＳ２１はＮＶＲＡＭ１６から秘密鍵「ＫＥＹ」を取り出す。ステップＳ８２に進み、ＢＩＯＳ２１は秘密鍵「ＫＥＹ」を利用して暗号Ｈ／Ｗ１７に領域８１を復号させ、領域８１からハッシュ値「Ｈｂｌ」を取得する。ステップＳ８３に進み、ＢＩＯＳ２１は次に起動するブートローダ２２のハッシュ値「Ｈｂｌ」を算出する。
【００４５】
ＢＩＯＳ２１は、領域８１から取得したハッシュ値「Ｈｂｌ」と、次に起動するブートローダ２２から算出したハッシュ値「Ｈｂｌ」とを比較する。ＢＩＯＳ２１は、比較結果が一致でなければ、ブートローダ２２が不正であると判定して、起動を停止する。ＢＩＯＳ２１は、比較結果が一致であれば、ブートローダ２２が正当であると判定して、ブートローダ２２を起動する。
【００４６】
ブートローダ２２は、ＢＩＯＳ２１から事前に算出したハッシュ値「Ｈｂｉ」により暗号化された領域８２を有している。領域８２には次に起動するカーネル２３から事前に算出したハッシュ値「Ｈｋ」が格納されている。領域８２に格納するためのハッシュ値「Ｈｋ」は、正当性のあるカーネル２３から算出されたものとする。
【００４７】
ステップＳ８４に進み、ブートローダ２２はＢＩＯＳ２１のハッシュ値「Ｈｂｉ」を算出し、ＢＩＯＳ２１のハッシュ値「Ｈｂｉ」を利用して暗号Ｈ／Ｗ１７に領域８２を復号させ、領域８２からハッシュ値「Ｈｋ」を取得する。ブートローダ２２はステップＳ８５に進み、次に起動するカーネル２３のハッシュ値「Ｈｋ」を算出する。
【００４８】
ブートローダ２２は領域８２から取得したハッシュ値「Ｈｋ」と次に起動するカーネル２３から算出したハッシュ値「Ｈｋ」とを比較する。ブートローダ２２は、比較結果が一致でなければ、カーネル２３が不正であると判定して、起動を停止する。ブートローダ２２は、比較結果が一致であれば、カーネル２３が正当であると判定して、カーネル２３を起動する。
【００４９】
以下、同様にして、カーネル２３及びルートファイルシステム２４は１つ上位のソフトウェアの正当性を確認し、正当性があるときに１つ上位のソフトウェアを起動する。実施例２の情報処理装置２ではＴＰＭ１４を搭載しないハードウェア構成であっても、ＮＶＲＡＭ１６及び暗号Ｈ／Ｗ１７を利用して、上記したようなファームウェアの正当性を確認する機構を実現できる。
【実施例３】
【００５０】
図９は本発明による情報処理装置の一実施例のハードウェア構成図である。図９の情報処理装置３は、ＣＰＵ１１，ＲＯＭ１２，ＲＡＭ１３，ＴＰＭ１４及びネットワーク制御部（ＮＩＣ）１８を有するように構成される。ＣＰＵ１１は、バス１５を介してＲＯＭ１２，ＲＡＭ１３，ＴＰＭ１４及びＮＩＣ１８に接続されている。
【００５１】
情報処理装置３はインターネットやＬＡＮなどのネットワーク８を介してネットワークブートサーバ７に接続されている。図９の情報処理装置３は、バス１５上にＴＰＭ１４が搭載されており、秘密情報の暗号化や復号、プラットフォームの真正性を確認するプラットフォーム検証の機能を提供できる構成となっている。情報処理装置３は、ネットワークブートによる起動が可能である。なお、ソフトウェア構成は図２と同様である。
【００５２】
図１０は本発明による情報処理装置の起動時の動作を表した模式図である。図１０の情報処理装置３は装置内部にＢＩＯＳ２１が搭載されている。ＢＩＯＳ２１以外のファームウェアは、ネットワークブートサーバ７から情報処理装置３にダウンロードされる。ＢＩＯＳ２１以外のファームウェアをダウンロードした後、情報処理装置３は起動される。
【００５３】
図１０のＴＰＭ１４はセキュアな領域に秘密鍵「ＳＰＫ」を有している。ＢＩＯＳ２１は、ＴＰＭ１４の秘密鍵「ＳＰＫ」により暗号化された領域１０１を有している。領域１０１には、次に起動するブートローダ２２から事前に算出したハッシュ値「Ｈｂｌ」及びネットワークブートに使用するＮＩＣ１８のプログラム１９のハッシュ値「Ｈｎｉｃ」が格納されている。
【００５４】
領域１０１に格納するためのハッシュ値「Ｈｂｌ」は正当性のあるブートローダ２２から算出されたものとする。また、領域１０１に格納するためのハッシュ値「Ｈｎｉｃ」は正当性のあるＮＩＣ１８のプログラム１９から算出されたものとする。
【００５５】
まず、情報処理装置３ではＢＩＯＳ２１が起動される。ステップＳ１０１に進み、ＢＩＯＳ２１は領域１０１をＴＰＭ１４の秘密鍵「ＳＰＫ」により復号させたあと、領域１０１からハッシュ値「Ｈｂｌ」およびハッシュ値「Ｈｎｉｃ」を取得する。ステップＳ１０２に進み、ＢＩＯＳ２１はＮＩＣ１８のプログラム１９のハッシュ値「Ｈｎｉｃ」を算出する。
【００５６】
ＢＩＯＳ２１は、領域１０１から取得したハッシュ値「Ｈｎｉｃ」と、ＮＩＣ１８のプログラム１９から算出したハッシュ値「Ｈｎｉｃ」とを比較する。ＢＩＯＳ２１は、比較結果が一致でなければ、ＮＩＣ１８のプログラム１９が不正であると判定して、起動を停止する。ＢＩＯＳ２１は、比較結果が一致であれば、ＮＩＣ１８のプログラム１９が正当であると判定して、ステップＳ１０３に進む。
【００５７】
ステップＳ１０３では、ＢＩＯＳ２１がネットワークブートサーバ７からブートローダ２２，カーネル２３，ルートファイルシステム２４をダウンロードする。なお、図１０ではルートファイルシステム２４を省略している。ステップＳ１０４に進み、ＢＩＯＳ２１は次に起動するブートローダ２２のハッシュ値「Ｈｂｌ」を算出する。
【００５８】
ＢＩＯＳ２１は領域１０１から取得したハッシュ値「Ｈｂｌ」と、次に起動するブートローダ２２から算出したハッシュ値「Ｈｂｌ」とを比較する。ＢＩＯＳ２１は、比較結果が一致でなければ、ブートローダ２２が不正であると判定して、起動を停止する。ＢＩＯＳ２１は、比較結果が一致であれば、ブートローダ２２が正当であると判定して、ブートローダ２２を起動する。ステップＳ１０５に進み、ＢＩＯＳ２１は自身のハッシュ値「Ｈｂｉ」を算出し、ＴＰＭ１４内の「ＰＣＲ１」にハッシュ値「Ｈｂｉ」を格納する。
【００５９】
ブートローダ２２は、ＢＩＯＳ２１から事前に算出したハッシュ値「Ｈｂｉ」により暗号化された領域１０２を有している。領域１０２には次に起動するカーネル２３から事前に算出したハッシュ値「Ｈｋ」が格納されている。領域１０２に格納するためのハッシュ値「Ｈｋ」は、正当性のあるカーネル２３から算出されたものとする。
【００６０】
ステップＳ１０６に進み、ブートローダ２２は、暗号化されている領域１０２をＴＰＭ１４の「ＰＣＲ１」に格納されているハッシュ値「Ｈｂｉ」によりＴＰＭ１４に復号させたあと、領域１０２からハッシュ値「Ｈｋ」を取得する。ブートローダ２２はステップＳ１０７に進み、次に起動するカーネル２３のハッシュ値「Ｈｋ」を算出する。
【００６１】
ブートローダ２２は領域１０２から取得したハッシュ値「Ｈｋ」と次に起動するカーネル２３から算出したハッシュ値「Ｈｋ」とを比較する。ブートローダ２２は比較結果が一致でなければ、カーネル２３が不正であると判定して、起動を停止する。ブートローダ２２は比較結果が一致であれば、カーネル２３が正当であると判定して、カーネル２３を起動する。その後、ブートローダ２２はステップＳ１０８に進み、自身のハッシュ値「Ｈｂｌ」をＴＰＭ１４内にある「ＰＣＲ２」に格納する。
【００６２】
以下、同様にして、カーネル２３及びルートファイルシステム２４は１つ上位のソフトウェアの正当性を確認し、正当性があるときに１つ上位のソフトウェアを起動する。このように実施例３の情報処理装置３では、ネットワークブートによる起動においても、上記したようなファームウェアの正当性を確認する機構を実現できる。
【実施例４】
【００６３】
図１１は本発明による情報処理装置の一実施例のハードウェア構成図である。図１１の情報処理装置４は、ＣＰＵ１１，ＲＯＭ１２，ＲＡＭ１３及びＮＩＣ１８を有するように構成される。ＣＰＵ１１は、バス１５を介してＲＯＭ１２，ＲＡＭ１３及びＮＩＣ１８に接続されている。
【００６４】
情報処理装置４はネットワーク８を介してサーバＰＣ９に接続されている。図１１の情報処理装置４は、バス１５上にＴＰＭ１４又は暗号Ｈ／Ｗ１７が搭載されておらず、公開鍵暗号機能を有するサーバＰＣ９と通信可能なＮＩＣ１８との組み合わせで秘密情報の暗号化や復号、プラットフォームの真正性を確認するプラットフォーム検証の機能を提供できる構成となっている。なお、ソフトウェア構成は図２と同様である。
【００６５】
図１２は本発明による情報処理装置の起動時の動作を表した模式図である。図１２の情報処理装置４は
ＢＩＯＳ２１は、次に起動するブートローダ２２から事前に算出したハッシュ値「Ｈｂｌ」及びネットワークブートに使用するＮＩＣ１８のプログラム１９のハッシュ値「Ｈｎｉｃ」が格納された領域１２１を有している。
【００６６】
領域１２１に格納するためのハッシュ値「Ｈｂｌ」は正当性のあるブートローダ２２から算出されたものとする。また、領域１２１に格納するためのハッシュ値「Ｈｎｉｃ」は正当性のあるＮＩＣ１８のプログラム１９から算出されたものとする。
【００６７】
まず、情報処理装置４ではＢＩＯＳ２１が起動される。ＢＩＯＳ２１は、領域１０１からハッシュ値「Ｈｎｉｃ」を取得する。ステップＳ１２１に進み、ＢＩＯＳ２１はＮＩＣ１８のプログラム１９のハッシュ値「Ｈｎｉｃ」を算出する。
【００６８】
ＢＩＯＳ２１は、領域１２１から取得したハッシュ値「Ｈｎｉｃ」と、ＮＩＣ１８のプログラム１９から算出したハッシュ値「Ｈｎｉｃ」とを比較する。ＢＩＯＳ２１は、比較結果が一致でなければ、ＮＩＣ１８のプログラム１９が不正であると判定して、起動を停止する。ＢＩＯＳ２１は、比較結果が一致であれば、ＮＩＣ１８のプログラム１９が正当であると判定して、ステップＳ１２２に進む。
【００６９】
ステップＳ１２２では、ＢＩＯＳ２１が、サーバＰＣ９により配布されている公開鍵によりファームウェア全体が暗号化されたブートローダ２２をサーバＰＣ９に送信する。すると、サーバＰＣ９は自身の秘密鍵によりブートローダ２２を復号したあと、情報処理装置４に送信する。このとき、サーバＰＣ９による復号が正しく行えなければブートローダ２２は不正と判定される。
【００７０】
ステップＳ１２３に進み、ＢＩＯＳ２１は、次に起動するブートローダ２２のハッシュ値「Ｈｂｌ」を算出する。ＢＩＯＳ２１は、領域１２１からハッシュ値「Ｈｂｌ」を取得する。ＢＩＯＳ２１は、領域１２１から取得したハッシュ値「Ｈｂｌ」と、次に起動するブートローダ２２から算出したハッシュ値「Ｈｂｌ」とを比較する。
【００７１】
ＢＩＯＳ２１は、比較結果が一致でなければ、ブートローダ２２が不正であると判定して、起動を停止する。ＢＩＯＳ２１は、比較結果が一致であれば、ブートローダ２２が正当であると判定して、ブートローダ２２を起動する。起動されたブートローダ２２は次に起動するカーネル２３から事前に算出したハッシュ値「Ｈｋ」が格納された領域１２２を有している。領域１２２に格納するためのハッシュ値「Ｈｋ」は正当性のあるカーネル２３から算出されたものとする。
【００７２】
ステップＳ１２４に進み、ブートローダ２２はサーバＰＣ９により配布されている公開鍵によりファームウェア全体が暗号化されたカーネル２３をサーバＰＣ９に送信する。すると、サーバＰＣ９は自身の秘密鍵によりカーネル２３を復号したあと、情報処理装置４に送信する。このとき、サーバＰＣ９による復号が正しく行えなければカーネル２３は不正と判定される。
【００７３】
ステップＳ１２５に進み、ブートローダ２２は、次に起動するカーネル２３のハッシュ値「Ｈｋ」を算出する。ブートローダ２２は、領域１２２からハッシュ値「Ｈｋ」を取得する。ブートローダ２２は、領域１２２から取得したハッシュ値「Ｈｋ」と、次に起動するカーネル２３から算出したハッシュ値「Ｈｋ」とを比較する。
【００７４】
ブートローダ２２は、比較結果が一致でなければ、カーネル２３が不正であると判定して、起動を停止する。ブートローダ２２は、比較結果が一致であれば、カーネル２３が正当であると判定して、カーネル２３を起動する。
【００７５】
以下、同様にして、カーネル２３及びルートファイルシステム２４は１つ上位のソフトウェアの正当性を確認し、正当性があるときに１つ上位のソフトウェアを起動する。このように実施例４の情報処理装置３ではＴＰＭ１４又は暗号Ｈ／Ｗ１７を搭載しないハードウェア構成であったとしても、公開鍵暗号機能を有するサーバＰＣ９と通信可能なＮＩＣ１８との組み合わせにより、上記したようなファームウェアの正当性を確認する機構を実現できる。
【実施例５】
【００７６】
図１３は本発明による情報処理装置の一実施例のハードウェア構成図である。図１３の情報処理装置５は、ＣＰＵ１１，ＲＯＭ１２，ＲＡＭ１３，ＮＶＲＡＭ１６およびＣＰＵ１１ａを有するように構成される。ＣＰＵ１１は、本体の起動用ＣＰＵである。ＣＰＵ１１ａは、暗号を制御する暗号ソフトの起動用ＣＰＵである。
【００７７】
ＣＰＵ１１及びＣＰＵ１１ａは、バス１５を介してＲＯＭ１２，ＲＡＭ１３，ＮＶＲＡＭ１６に接続されている。図１３の情報処理装置５はバス１５上に暗号を制御する暗号ソフトの起動用のＣＰＵ１１ａが搭載され、秘密情報の暗号化や復号、プラットフォームの真正性を確認するプラットフォーム検証の機能を提供できる構成となっている。なお、ソフトウェア構成は図２と同様である。
【００７８】
図１４は、本発明による情報処理装置の起動時の動作を表した模式図である。図１４のＮＶＲＡＭ１６は、秘密鍵「ＫＥＹ」を有している。ＢＩＯＳ２１は、ＮＶＲＡＭ１６の秘密鍵「ＫＥＹ」により暗号化されている領域１４２を有している。領域１４２には次に起動するブートローダ２２から事前に算出したハッシュ値「Ｈｂｌ」および暗号ソフト１４１のハッシュ値「Ｈｅｎｃ」が格納されている。
【００７９】
領域１４２に格納するためのハッシュ値「Ｈｂｌ」は、正当性のあるブートローダ２２から算出されたものとする。領域１４２に格納するためのハッシュ値「Ｈｅｎｃ」は、正当性のある暗号ソフト１４１から算出されたものとする。
【００８０】
まず、情報処理装置５ではＢＩＯＳ２１が起動される。ステップＳ１４１に進み、ＢＩＯＳ２１はＮＶＲＡＭ１６から秘密鍵「ＫＥＹ」を取り出す。ＢＩＯＳ２１はステップＳ１４２に進み、秘密鍵「ＫＥＹ」を利用して暗号ソフト１４１に領域１４２を復号させたあと、領域１４２からハッシュ値「Ｈｂｌ」及びハッシュ値「Ｈｅｎｃ」を取得する。ステップＳ１４３に進み、暗号ソフト１４１のハッシュ値を算出する。
【００８１】
ＢＩＯＳ２１は、領域１４２から取得したハッシュ値「Ｈｅｎｃ」と、暗号ソフト１４１から算出したハッシュ値「Ｈｅｎｃ」とを比較する。ＢＩＯＳ２１は、比較結果が一致でなければ、暗号ソフト１４１が不正であると判定して、起動を停止する。ＢＩＯＳ２１は比較結果が一致であれば、暗号ソフト１４１が正当であると判定して、ステップＳ１４４に進む。そして、ステップＳ１４４では、ＢＩＯＳ２１が、次に起動するブートローダ２２のハッシュ値「Ｈｂｌ」を算出する。
【００８２】
ＢＩＯＳ２１は、領域１４２から取得したハッシュ値「Ｈｂｌ」と次に起動するブートローダ２２から算出したハッシュ値「Ｈｂｌ」とを比較する。ＢＩＯＳ２１は、比較結果が一致でなければ、ブートローダ２２が不正であると判定して、起動を停止する。ＢＩＯＳ２１は、比較結果が一致であれば、ブートローダ２２が正当であると判定して、ブートローダ２２を起動する。
【００８３】
ブートローダ２２は、ＢＩＯＳ２１から事前に算出したハッシュ値「Ｈｂｉ」により暗号化された領域１４３を有している。領域１４３には次に起動するカーネル２３から事前に算出したハッシュ値「Ｈｋ」が格納されている。領域１４３に格納するためのハッシュ値「Ｈｋ」は、正当性のあるカーネル２３から算出されたものとする。
【００８４】
ステップＳ１４５に進み、ブートローダ２２はＢＩＯＳ２１のハッシュ値「Ｈｂｉ」を算出し、ＢＩＯＳ２１のハッシュ値「Ｈｂｉ」を利用して暗号ソフト１４１に領域１４３を復号させ、領域１４３からハッシュ値「Ｈｋ」を取得する。ブートローダ２２はステップＳ１４６に進み、次に起動するカーネル２３のハッシュ値「Ｈｋ」を算出する。
【００８５】
ブートローダ２２は領域１４３から取得したハッシュ値「Ｈｋ」と次に起動するカーネル２３から算出したハッシュ値「Ｈｋ」とを比較する。ブートローダ２２は、比較結果が一致でなければ、カーネル２３が不正であると判定して、起動を停止する。ブートローダ２２は、比較結果が一致であれば、カーネル２３が正当であると判定して、カーネル２３を起動する。
【００８６】
以下、同様にして、カーネル２３及びルートファイルシステム２４は１つ上位のソフトウェアの正当性を確認し、正当性があるときに１つ上位のソフトウェアを起動する。実施例５の情報処理装置５ではＴＰＭ１４又は暗号Ｈ／Ｗ１７を搭載しないハードウェア構成であったとしても、暗号を制御する暗号ソフト１４１と起動用ＣＰＵ１１ａとの組み合わせにより、上記したようなファームウェアの正当性を確認する機構を実現できる。
【実施例６】
【００８７】
図１５は本発明による情報処理装置の一実施例のハードウェア構成図である。図１５の情報処理装置６は、ＣＰＵ１１，ＲＯＭ１２，ＲＡＭ１３，ＴＰＭ１４及びＬＥＤ２０を有するように構成される。ＣＰＵ１１は、バス１５を介してＲＯＭ１２，ＲＡＭ１３，ＴＰＭ１４及びＬＥＤ２０に接続されている。
【００８８】
図１５のハードウェア構成は、図１のハードウェア構成にＬＥＤ２０が追加されたものである。なお、前述した実施例２〜５のハードウェア構成にＬＥＤ２０を追加するようにしてもよい。
【００８９】
図１５の情報処理装置６は、バス１５上にＴＰＭ１４が搭載されており、秘密情報の暗号化や復号、プラットフォームの真正性を確認するプラットフォーム検証の機能を提供できる構成となっている。ＬＥＤ２０は、ファームウェアが不正であると判定して、起動を停止したとき、点滅などでユーザに異常を通知するものである。なお、ソフトウェア構成は図２と同様である。
【００９０】
図１６は本発明による情報処理装置の起動時の動作を表した模式図である。ステップＳ１６１に進み、ＢＩＯＳ２１は領域５１をＴＰＭ１４の秘密鍵「ＳＰＫ」により復号させたあと、領域５１からハッシュ値「Ｈｂｌ」を取得する。ステップＳ１６２に進み、ＢＩＯＳ２１は次に起動するブートローダ２２のハッシュ値「Ｈｂｌ」を算出する。
【００９１】
ＢＩＯＳ２１は、領域５１から取得したハッシュ値「Ｈｂｌ」と、次に起動するブートローダ２２から算出したハッシュ値「Ｈｂｌ」とを比較する。ＢＩＯＳ２１は、比較結果が一致であるので、ブートローダ２２が正当であると判定して、ブートローダ２２を起動する。ステップＳ１６３に進み、ＢＩＯＳ２１は自身のハッシュ値「Ｈｂｉ」を算出してＴＰＭ１４内にある「ＰＣＲ１」にハッシュ値「Ｈｂｉ」を格納する。
【００９２】
ブートローダ２２は、ＢＩＯＳ２１から事前に算出したハッシュ値「Ｈｂｉ」により暗号化された領域５２を有している。領域５２には次に起動するカーネル２３から事前に算出したハッシュ値「Ｈｋ」が格納されている。領域５２に格納するためのハッシュ値「Ｈｋ」は、正当性のあるカーネル２３から算出されたものとする。
【００９３】
ステップＳ１６４に進み、ブートローダ２２は領域５２をＴＰＭ１４の「ＰＣＲ１」に格納されているハッシュ値「Ｈｂｉ」によりＴＰＭ１４に復号させたあと、領域５２からハッシュ値「Ｈｋ」を取得する。ステップＳ１６５に進み、ブートローダ２２は次に起動するカーネル２３のハッシュ値「Ｈｋ'」を算出する。
【００９４】
ブートローダ２２は領域５２から取得したハッシュ値「Ｈｋ」と次に起動するカーネル２３から算出したハッシュ値「Ｈｋ'」とを比較する。ブートローダ２２は、比較結果が一致でないので、カーネル２３が不正であると判定して、起動を停止する。そして、ブートローダ２２は例えばコントローラボード上にあるＬＥＤ２０を点灯させる。なお、ＬＥＤ２０を点灯するタイミングなどで、どのファームウェアが不正であったかをユーザに通知することもできる。
【００９５】
このように実施例６の情報処理装置１では、ファームウェアが不正であると判定して起動を停止したとき、点滅などでユーザに異常を通知できる。
【図面の簡単な説明】
【００９６】
【図１】本発明による情報処理装置の一実施例のハードウェア構成図である。
【図２】本発明による情報処理装置の一実施例のソフトウェア構成図である。
【図３】ＴＰＭにハッシュ値を格納する処理手順を表した模式図である。
【図４】ＴＰＭを用いた領域の復号を表す模式図である。
【図５】本発明による情報処理装置の起動時の動作を表した模式図である。
【図６】本発明による情報処理装置においてソフトウェアを更新する動作を表した模式図である。
【図７】本発明による情報処理装置の一実施例のハードウェア構成図である。
【図８】本発明による情報処理装置の起動時の動作を表した模式図である。
【図９】本発明による情報処理装置の一実施例のハードウェア構成図である。
【図１０】本発明による情報処理装置の起動時の動作を表した模式図である。
【図１１】本発明による情報処理装置の一実施例のハードウェア構成図である。
【図１２】本発明による情報処理装置の起動時の動作を表した模式図である。
【図１３】本発明による情報処理装置の一実施例のハードウェア構成図である。
【図１４】本発明による情報処理装置の起動時の動作を表した模式図である。
【図１５】本発明による情報処理装置の一実施例のハードウェア構成図である。
【図１６】本発明による情報処理装置の起動時の動作を表した模式図である。
【符号の説明】
【００９７】
１〜６    情報処理装置
７    ネットワークブートサーバ
８    ネットワーク
９    サーバＰＣ
１１，１１ａ    ＣＰＵ
１２    ＲＯＭ
１３    ＲＡＭ
１４    ＴＰＭ
１５    バス
１６    ＮＶＲＡＭ
１７    暗号Ｈ／Ｗ
１８    ネットワーク制御部（ＮＩＣ）
１９    プログラム
２０    ＬＥＤ
２１    ＢＩＯＳ
２２    ブートローダ
２３    カーネル
２４    ルートファイルシステム
２５    アプリケーション
１４１    暗号ソフト
【図１】
2008234220.tif 000003
【図２】
2008234220.tif 000004
【図３】
2008234220.tif 000005
【図４】
2008234220.tif 000006
【図５】
2008234220.tif 000007
【図６】
2008234220.tif 000008
【図７】
2008234220.tif 000009
【図８】
2008234220.tif 000010
【図９】
2008234220.tif 000011
【図１０】
2008234220.tif 000012
【図１１】
2008234220.tif 000013
【図１２】
2008234220.tif 000014
【図１３】
2008234220.tif 000015
【図１４】
2008234220.tif 000016
【図１５】
2008234220.tif 000017
【図１６】
2008234220.tif 000018