(57)【要約】      （修正有）【課題】外部と通信できない状態でも、ＦＡ用コントローラが接続デバイスの同一性、正当性等を認証する。【解決手段】ＦＡ用コントローラ１００に接続予定のデバイスが示されるデバイス情報に管理端末２００が製造メーカ秘密鍵２０２により製造メーカ署名を付加して構成データとし、製造メーカ証明書２０３とともに送信し、ＦＡ用コントローラは、製造メーカ証明書を用いて構成データを検証し、検証成功の場合、ＴＰＭ１０８内の鍵ＳＲＫ１０９を用いて構成データ１０７に署名を付加し、製造メーカ証明書２０３とともに通常ファイル記憶部１１６に格納する。ＦＡ用コントローラ１００にデバイスが接続されると、暗号化されている機器認証プログラム１０５が鍵ＳＲＫを用いて復号され、接続デバイスを検証し、通常ファイル記憶部１１６内の構成データ１０７を署名、製造メーカ署名により検証し、接続デバイスから得た情報と構成データ１０７を照合する。【選択図】図３
2010182070.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のデバイスに接続される情報処理装置であって、
前記情報処理装置に接続するデバイスとして指定されている指定接続デバイスを識別するための指定接続デバイス情報と、前記情報処理装置の製造者の秘密鍵に基づいて指定接続デバイス情報に対して生成された第１のデジタル署名と、前記情報処理装置の製造者に対する証明書とを受信する受信部と、
前記受信部により受信された第１のデジタル署名と証明書とに基づいて、指定接続デバイス情報の検証を行う検証部と、
秘密情報を記憶する耐タンパ記憶部と、
前記検証部の検証が成功した場合に、前記耐タンパ記憶部に記憶されている耐タンパ秘密情報に基づいて、指定接続デバイス情報及び第１のデジタル署名に対して第２のデジタル署名を生成するデジタル署名生成部と、
第２のデジタル署名と、指定接続デバイス情報及び第１のデジタル署名と、証明書を対応付けて記憶する情報記憶部とを有することを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、更に、
前記情報処理装置に接続されたデバイスの認証処理を行う暗号化された認証プログラムを有し、
前記情報処理装置は、
前記情報処理装置にデバイスが接続された際に、耐タンパ秘密情報に基づいて、暗号化されている認証プログラムを復号し、復号後の認証プログラムを実行して、接続している接続デバイスの認証を行い、前記接続デバイスから、前記接続デバイスを識別するためのデバイス情報を取得し、
前記検証部は、
耐タンパ秘密情報と前記情報記憶部に記憶されている第２のデジタル署名に基づいて、前記情報記憶部に記憶されている指定接続デバイス情報及び第１のデジタル署名の検証を行い、前記情報記憶部に記憶されている指定接続デバイス情報と前記接続デバイスから取得した取得デバイス情報とを照合して、前記接続デバイスが前記指定接続デバイスに一致するか否かを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記検証部は、
耐タンパ秘密情報と第２のデジタル署名を用いた指定接続デバイス情報及び第１のデジタル署名の検証とともに、前記情報記憶部に記憶されている第１のデジタル署名と証明書に基づいて、前記情報記憶部に記憶されている指定接続デバイス情報の検証を行うことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、
認証プログラムの実行による前記接続デバイスの認証に成功し、前記検証部による検証に成功し、前記検証部による照合において指定接続デバイス情報と取得デバイス情報が一致している場合に、前記接続デバイスに対する操作を可能にすることを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記情報処理装置は、更に、
耐タンパ秘密情報により暗号化されている暗号鍵と復号鍵を暗号化第２のデジタル署名用暗号鍵と暗号化第２のデジタル署名用復号鍵として管理し、前記デジタル署名生成部が指定接続デバイス情報及び第１のデジタル署名に対して第２のデジタル署名を生成する際に、耐タンパ秘密情報を用いて暗号化第２のデジタル署名用暗号鍵の復号を行い、前記検証部が第２のデジタル署名を用いて指定接続デバイス情報及び第１のデジタル署名の検証を行う際に、耐タンパ秘密情報を用いて暗号化第２のデジタル署名用復号鍵の復号を行う鍵管理部を有し、
前記デジタル署名生成部は、
前記鍵管理部により復号された第２のデジタル署名用暗号鍵を用いて指定接続デバイス情報及び第１のデジタル署名に対して第２のデジタル署名を生成し、
前記検証部は、
前記鍵管理部により復号された第２のデジタル署名用復号鍵と前記情報記憶部に記憶されている第２のデジタル署名を用いて、前記情報記憶部に記憶されている指定接続デバイス情報及び第１のデジタル署名の検証を行うことを特徴とする請求項２〜４のいずれかに記載の情報処理装置。
【請求項６】
前記鍵管理部は、
認証プログラムの暗号化に用いられた暗号鍵に対応する復号鍵であって耐タンパ秘密情報により暗号化されている復号鍵を暗号化認証プログラム用復号鍵として管理し、暗号化されている認証プログラムの復号が行われる際に、耐タンパ秘密情報を用いて暗号化認証プログラム用復号鍵の復号を行い、
前記情報処理装置は、
前記鍵管理部により復号された認証プログラム用復号鍵を用いて、暗号化されている認証プログラムを復号することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記情報処理装置は、更に、
接続デバイスの物理的特徴量を取得するＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）部を有し、
前記情報処理装置は、
前記ＰＵＦ部により取得された接続デバイスの物理的特徴量を用いて、接続デバイスの認証を行うことを特徴とする請求項２〜６のいずれかに記載の情報処理装置。
【請求項８】
前記受信部は、
第２のデジタル署名と指定接続デバイス情報及び第１のデジタル署名と証明書が前記情報記憶部に記憶された後に、新たな指定接続デバイス情報と、前記情報処理装置の製造者の秘密鍵に基づいて新たな指定接続デバイス情報に対して生成された新たな第１のデジタル署名を入力し、
前記検証部は、
前記受信部により受信された新たな第１のデジタル署名と前記情報記憶部に記憶されている証明書とに基づいて、新たな指定接続デバイス情報の検証を行い、
前記デジタル署名生成部は、
前記検証部の検証が成功した場合に、耐タンパ秘密情報に基づいて、新たな指定接続デバイス情報及び新たな第１のデジタル署名に対して新たな第２のデジタル署名を生成し、
前記情報記憶部は、
新たな第２のデジタル署名と、新たな指定接続デバイス情報及び新たな第１のデジタル署名と、証明書を対応付けて記憶することを特徴とする請求項１〜７のいずれかに記載の情報処理装置。
【請求項９】
１つ以上のデバイスに接続されるコンピュータが行う情報処理方法であって、
前記コンピュータが、前記コンピュータに接続するデバイスとして指定されている指定接続デバイスを識別するための指定接続デバイス情報と、前記コンピュータの製造者の秘密鍵に基づいて指定接続デバイス情報に対して生成された第１のデジタル署名と、前記コンピュータの製造者に対する証明書とを受信する受信ステップと、
前記コンピュータが、前記受信ステップにより受信された第１のデジタル署名と証明書とに基づいて、指定接続デバイス情報の検証を行う検証ステップと、
前記検証ステップの検証が成功した場合に、前記コンピュータが、前記コンピュータの耐タンパ記憶領域に記憶されている耐タンパ秘密情報に基づいて、指定接続デバイス情報及び第１のデジタル署名に対して第２のデジタル署名を生成するデジタル署名生成ステップと、
前記コンピュータが、第２のデジタル署名と、指定接続デバイス情報及び第１のデジタル署名と、証明書を対応付けて記憶する情報記憶ステップとを有することを特徴とする情報処理方法。
【請求項１０】
１つ以上のデバイスに接続されるコンピュータに、
前記コンピュータに接続するデバイスとして指定されている指定接続デバイスを識別するための指定接続デバイス情報と、前記コンピュータの製造者の秘密鍵に基づいて指定接続デバイス情報に対して生成された第１のデジタル署名と、前記コンピュータの製造者に対する証明書とを受信する受信処理と、
前記受信処理により受信された第１のデジタル署名と証明書とに基づいて、指定接続デバイス情報の検証を行う検証処理と、
前記検証処理の検証が成功した場合に、前記コンピュータの耐タンパ記憶領域に記憶されている耐タンパ秘密情報に基づいて、指定接続デバイス情報及び第１のデジタル署名に対して第２のデジタル署名を生成するデジタル署名生成処理と、
第２のデジタル署名と、指定接続デバイス情報及び第１のデジタル署名と、証明書を対応付けて記憶する情報記憶処理とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスの認証技術に関し、例えば、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）用コントローラにおいてデバイスを認証する技術に関する。
【背景技術】
【０００２】
ＴＰＭ（Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ）を用いた機器認証技術として、ＴＰＭチップなどの耐タンパー性を有するチップを用いて対象機器の各ユニットの同一性、正当性を保証した上で、遠隔地からの保守管理、使用または最新プログラムのダウンロード等を可能にする技術（例えば、特許文献１参照）がある。
【０００３】
また、機器のＩＤを判定することによって真贋判定する技術として、機器に装着可能な交換部品の使用に当たり、純正品および非純正品を簡単かつ正しく認識でき、交換部品の流通を管理しやすい方法を提供する技術（例えば、特許文献２参照）や、作業機械に取り付けられる部品が正規部品であるか否かを監視し、模造品等の使用を防止する技術（例えば、特許文献３参照）、さらに、車両に搭載された部品を多の車両に流用できないようにすることで、窃盗犯に対して車両を盗難しようとする意欲をなくさせ、車両の盗難の発生率を低下させる技術（例えば、特許文献４参照）がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２２００７０号公報
【特許文献２】特開２００２−２０２６９７号公報
【特許文献３】特開２００８−２７２４１号公報
【特許文献４】特開２００５−１９６５６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、対象機器、認証装置がネットワークを介して、対象機器から認証装置へ対象機器の機器情報を送信し、認証装置から対象機器へ評価結果を送信する必要がある。
このため、対象機器と認証装置とが通信できない状態になった場合に、対象機器が評価結果を取得できない、または別の手段を使って評価結果を対象機器に入力しなければ、対象機器自身は認証結果を知ることができない、という課題がある。
【０００６】
また、特許文献２、特許文献３、特許文献４では、機器のＩＤをあらかじめ登録されたＩＤと照合することで、機器の正当性を確認する方法が示されているが、登録されているＩＤの情報が改竄された場合は、不正な機器を正しい機器と誤認識する可能性がある。
【０００７】
本発明は、このような課題を解決することを主な目的とし、機器の構成を示すデータの改竄を検知可能で、かつ対象機器がネットワークを介して外部装置と通信できない状態であっても、機器自身が自分に接続されているデバイスの同一性、正当性、およびそれらの構成を認証できるようにすることを主な目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る情報処理装置は、
１つ以上のデバイスに接続される情報処理装置であって、
前記情報処理装置に接続するデバイスとして指定されている指定接続デバイスを識別するための指定接続デバイス情報と、前記情報処理装置の製造者の秘密鍵に基づいて指定接続デバイス情報に対して生成された第１のデジタル署名と、前記情報処理装置の製造者に対する証明書とを受信する受信部と、
前記受信部により受信された第１のデジタル署名と証明書とに基づいて、指定接続デバイス情報の検証を行う検証部と、
秘密情報を記憶する耐タンパ記憶部と、
前記検証部の検証が成功した場合に、前記耐タンパ記憶部に記憶されている耐タンパ秘密情報に基づいて、指定接続デバイス情報及び第１のデジタル署名に対して第２のデジタル署名を生成するデジタル署名生成部と、
第２のデジタル署名と、指定接続デバイス情報及び第１のデジタル署名と、証明書を対応付けて記憶する情報記憶部とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、指定接続デバイス情報の改竄を検知可能であり、情報処理装置がネットワークを介して外部装置と通信できない状態であっても、情報処理装置が自装置に接続されているデバイスの同一性、正当性、およびそれらの構成を認証できる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１におけるシステム構成の概要を示す。
【図２】実施の形態１における構成データの概要を示すブロック図。
【図３】実施の形態１における構成データ初期登録方法のデータフローおよびシステム構成の概要を示す。
【図４】実施の形態１における構成データ初期登録方法を示すフローチャート。
【図５】実施の形態１における構成データ初期登録方法を示すフローチャート。
【図６】実施の形態１における構成認証方法のデータフローおよびシステム構成の概要を示す。
【図７】実施の形態１における構成認証方法を示すフローチャート。
【図８】実施の形態１における構成認証方法を示すフローチャート。
【図９】実施の形態１における構成データ更新方法のデータフローおよびシステム構成の概要を示す。
【図１０】実施の形態１における構成データ更新方法を示すフローチャート。
【図１１】実施の形態１における構成データ更新方法を示すフローチャート。
【図１２】実施の形態２におけるシステム構成の概要を示す。
【図１３】実施の形態３における構成認証方法のデータフローおよびシステム構成の概要を示す。
【図１４】実施の形態１〜３におけるＦＡ用コントローラ装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１１】
実施の形態１．
図１は、実施の形態１におけるシステム構成の概要を示す図である。
図２は、実施の形態１における構成データの内容を示すブロック図である。
図３は、実施の形態１の構成データ初期登録方法におけるデータフローおよびシステム構成の概要を示す図である。
図４及び図５は、実施の形態１における構成データ初期登録方法を示すフローチャートである。
まず、実施の形態１の構成データ初期登録方法におけるシステム構成について図１から図５に基づき説明する。
【００１２】
本実施の形態に係るＦＡ用コントローラ装置１００（以下、ＦＡ用コントローラ１００ともいう）では、製造直後に図１のような状態になっていることを前提にしている。
ＦＡ用コントローラ１００は、耐タンパ性があり、公開鍵対生成機能、公開鍵暗号機能、などをもつチップ（以下では例としてＴＰＭ（Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ）１０８を用いて説明する）、電子機器等の物理的な特徴量を取得するためのＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）１１５、通常ファイル記憶部１１６、暗号化ファイル記憶部１１７等を備えている。
また、鍵管理部１１４、構成データ生成部１０１、構成データ格納部１０２、構成データ検証部１０３、構成データ受信部１０４を備え、暗号化ファイル記憶部１１７には、機器認証プログラム１０５が書き込まれている。
また、ＴＰＭ１０８の初期化が行われ、内部に保管される公開鍵対ＳＲＫ（Ｓｔｏｒａｇｅ  Ｒｏｏｔ  Ｋｅｙ）１０９、その下位に公開鍵対ＳＫａ（Ｓｔｏｒａｇｅ  Ｋｅｙ）１１０、公開鍵対ＳＫｂ１１１を生成しておく。公開鍵対ＳＫａ１１０の秘密鍵及び公開鍵、公開鍵対ＳＫｂ１１１の秘密鍵及び公開鍵は、それぞれ、公開鍵対ＳＲＫの暗号鍵で暗号化されており、利用時に公開鍵対ＳＲＫの復号鍵で復号される。
また、ＦＡ用コントローラ１００は、運用時に、１つ以上のデバイスに接続される。
ＦＡ用コントローラ１００の構成の詳細は、後述する。
なお、ＦＡ用コントローラ１００は情報処理装置の例である。
【００１３】
管理端末２００は、例えば通常のパーソナルコンピュータ等であり、内部に構成データ生成部１０１、構成データ送信部２０１を持ち、さらに製造メーカ秘密鍵２０２、製造メーカ証明書２０３を生成しておく。
管理端末２００の構成の詳細も、後述する。
【００１４】
デバイス情報データベース３００は、管理端末２００からアクセス可能とし、ＦＡ用コントローラ１００に接続可能なすべてのデバイスのデバイス情報のテーブルを持っている。
デバイス情報は、ＦＡ用コントローラ１００に接続するデバイスとして指定されているデバイス（指定接続デバイス）を識別するための情報であり、例えば、デバイスのＩＤ等が示される。
デバイス情報により識別されるデバイス以外のデバイスがＦＡ用コントローラ１００に接続された場合には、ＦＡ用コントローラ１００は当該デバイスの受け入れを拒否することになる。
デバイス情報データベース３００に格納されているデバイス情報３０１〜３０３は、指定接続デバイス情報の例である。
【００１５】
次に、管理端末２００の構成要素について説明する。
【００１６】
管理端末２００は、ＦＡ用コントローラ１００の製造メーカが生成した製造メーカ秘密鍵２０２と製造メーカに対して認証局から発行された製造メーカ証明書２０３を保有している。
製造メーカ秘密鍵２０２は情報処理装置の製造者の秘密鍵の例であり、製造メーカ証明書２０３は情報処理装置の製造者に対する証明書の例である。
なお、本実施の形態では、ＦＡ用コントローラ１００の製造メーカの秘密鍵と証明書を用いる例を説明するが、ＦＡ用コントローラ１００の製造者を広く解釈し、ＦＡ用コントローラ１００の製造メーカの下請け業者やＦＡ用コントローラ１００のソフトウェアを生成したソフトウェア業者等をＦＡ用コントローラ１００の製造者とし、これら製造者の秘密鍵及び証明書を利用するようにしてもよい。
また、構成データ生成部２０４は、ＦＡ用コントローラ１００に接続予定のデバイスのデバイス情報をデバイス情報データベース３００から取得し、図２に示すように、取得したデバイス情報にヘッダ情報３０４を付加するとともに、製造メーカ秘密鍵２０２を用いて製造メーカ署名６００（第１のデジタル署名）を生成し、ヘッダ情報３０４、デバイス情報、製造メーカ署名６００を合わせて構成データ１０７とする。
構成データ送信部２０１は、構成データ生成部２０４で生成された構成データ１０７及び製造メーカ証明書２０３をＦＡ用コントローラ１００に送信する。
なお、構成データ生成部２０４及び構成データ送信部２０１は回路であってもよいし、プログラムであってもよい。
構成データ生成部２０４及び構成データ送信部２０１がプログラムである場合は、図示を省略している記憶媒体（磁気ディスク装置、フラッシュメモリ等）に記憶され、実行時にＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリにロードされ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）により実行される。
【００１７】
次に、ＦＡ用コントローラ１００の構成要素について説明する。
【００１８】
構成データ受信部１０４は、管理端末２００から送信された構成データ１０７と製造メーカ証明書２０３を受信する。つまり、デバイス情報（指定接続デバイス情報）と、製造メーカ署名６００（第１のデジタル署名）と、製造メーカ証明書２０３とを受信する。
構成データ受信部１０４は受信部の例である。
【００１９】
構成データ検証部１０３は、構成データ受信部１０４により受信された製造メーカ署名６００と製造メーカ証明書２０３とに基づいて、構成データ１０７内のデバイス情報の検証を行う。
また、構成データ検証部１０３は、ＦＡ用コントローラ１００にデバイス（デバイスＡ４００、デバイスＢ４０１、デバイスＣ４０２）が接続された際に、通常ファイル記憶部１１６に記憶されている構成データ１０７に付加されている署名（第２のデジタル署名）に基づいて、構成データ１０７内のデバイス情報（指定接続デバイス情報）及び製造メーカ署名６００（第１のデジタル署名）の検証を行い、通常ファイル記憶部１１６に記憶されている製造メーカ署名６００（第１のデジタル署名）と製造メーカ証明書２０３に基づいて、構成データ１０７内のデバイス情報の検証を行う。更に、構成データ検証部１０３は、検証に成功したデバイス情報（指定接続デバイス情報）と、ＦＡ用コントローラ１００に接続した接続デバイス（デバイスＡ４００、デバイスＢ４０１、デバイスＣ４０２）から取得したデバイス情報（取得デバイス情報）とを照合して、接続デバイスが接続予定のデバイス（指定接続デバイス）に一致するか否かを判定する。
構成データ検証部１０３の検証方法は、通常のデジタル署名の検証方法と同様でよい。
構成データ検証部１０３は検証部の例である。
【００２０】
構成データ格納部１０２は、構成データ検証部１０３の検証が成功した場合に、ＴＰＭ１０８に記憶されているＳＲＫ１０９（耐タンパ秘密情報）に基づいて、構成データ１０７内のデバイス情報及び製造メーカ署名６００に対してデジタル署名（第２のデジタル署名）を生成し、構成データ１０７とデジタル署名とを対応付けて通常ファイル記憶部１１６に格納する。
より具体的には、構成データ格納部１０２は、ＳＲＫ１０９により復号されたＳＫａの秘密鍵を用いてデジタル署名を行う。
構成データ格納部１０２はデジタル署名生成部の例である。
【００２１】
構成データ生成部１０１は、ＦＡ用コントローラ１００にデバイス（デバイスＡ４００、デバイスＢ４０１、デバイスＣ４０２）が接続された際に、接続した接続デバイスから取得したデバイス情報にヘッダ情報を付加して構成データを生成する。
【００２２】
通常ファイル記憶部１１６は、構成データ１０７とデジタル署名を対応付けて記憶する。
通常ファイル記憶部１１６は情報記憶部の例である。
【００２３】
暗号化ファイル記憶部１１７は、機器認証プログラム１０５を格納する。
機器認証プログラム１０５は、ＦＡ用コントローラ１００に接続された接続デバイスの認証処理を行う認証プログラムであり、ＴＰＭ１０８に記憶されているＳＲＫ１０９（耐タンパ秘密情報）に基づいて暗号化されている。
より具体的には、機器認証プログラム１０５は、ＳＫｂ１１１の秘密鍵により暗号化されている。前述したように、ＳＫｂ１１１の秘密鍵及び公開鍵はＳＲＫ１０９により暗号化されている。
【００２４】
ＴＰＭ１０８は、耐タンパ性があり、ＳＲＫ１０９を格納しており、耐タンパ記憶部の例である。
【００２５】
鍵管理部１１４は、ＳＲＫ１０９、暗号化されている公開鍵対ＳＫａ１１０、暗号化されている公開鍵対ＳＫｂ１１１を管理するとともに、暗号化されている公開鍵対ＳＫａ１１０、暗号化されている公開鍵対ＳＫｂ１１１の復号を行う。
より具体的には、鍵管理部１１４は、構成データ格納部１０２によるデジタル署名の生成時に、ＳＲＫ１０９の復号鍵を用いて、暗号化されているＳＫａ１１０の秘密鍵を復号する。また、鍵管理部１１４は、構成データ検証部１０３によるデジタル署名を用いた構成データ１０７の検証時に、ＳＲＫ１０９の復号鍵を用いて、暗号化されているＳＫａ１１０の公開鍵を復号する。
なお、暗号化されたＳＫａ１１０の秘密鍵は、暗号化第２のデジタル署名用暗号鍵の例であり、暗号化されたＳＫａ１１０の公開鍵は、暗号化第２のデジタル署名用復号鍵の例である。
また、鍵管理部１１４は、機器認証プログラム１０５を用いたデバイスの認証時に、ＳＲＫ１０９の復号鍵を用いて、暗号化されているＳＫｂ１１１の公開鍵を復号する。
なお、暗号化されたＳＫｂ１１１の公開鍵は、暗号化認証プログラム用復号鍵の例である。
【００２６】
なお、構成データ生成部１０１、構成データ格納部１０２、構成データ検証部１０３、構成データ受信部１０４及び鍵管理部１１４は回路であってもよいし、プログラムであってもよい。
構成データ生成部１０１、構成データ格納部１０２、構成データ検証部１０３、構成データ受信部１０４及び鍵管理部１１４がプログラムである場合は、図示を省略している記憶媒体（磁気ディスク装置、フラッシュメモリ等）に記憶され、実行時にＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリにロードされ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）により実行される。
【００２７】
上記（図１参照）を前提とし、実施の形態１における構成データ初期登録方法の概要について、図２〜図４に基づいて説明する。
【００２８】
まず、ＦＡ用コントローラ１００に電源を投入すると、鍵管理部１１４によりＰＵＦ１１５から得られた情報（図４：Ｓ１００）に基づきＴＰＭ１０８で保護されている鍵のＰＩＮ（Ｐｅｒｓｏｎａｌ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ）が生成され（図４：Ｓ１０１）、構成データ１０７へのデジタル署名に用いる公開鍵対ＳＫａ１１０がロードされる（図４：Ｓ１０２）。つまり、暗号化されている公開鍵対ＳＫａ１１０が復号される。
【００２９】
次に、管理端末２００内の構成データ生成部１０１がデバイス情報データベース３００から対象のＦＡ用コントローラ１００に接続予定のデバイスのデバイス情報（デバイス情報Ａ３０１、デバイス情報Ｂ３０２）を取得する（図４：Ｓ１０４）。
構成データ生成部１０１は、デバイス情報を元に、構成データ１０７を生成する。この時、構成データ１０７にＦＡ用コントローラ１００の製造メーカ秘密鍵２０２により、デジタル署名（以下、製造メーカ署名）６００を付与する（図４：Ｓ１０５）。
構成データ生成部１０１は、生成した構成データ１０７を構成データ送信部２０１に渡す（図４：Ｓ１０６）。
【００３０】
管理端末２００内の構成データ送信部２０１からＦＡ用コントローラ１００内の構成データ受信部１０４に構成データ１０７および製造メーカ証明書２０３が送信される（図４：Ｓ１０７）。
【００３１】
構成データ受信部１０４は、構成データ送信部２０１から送信された構成データ１０７および製造メーカ証明書２０３を受信し（受信ステップ）、受信した構成データ１０７および製造メーカ証明書２０３を構成データ検証部１０３に渡す（図４：Ｓ１０８）。
構成データ検証部１０３は、製造メーカ証明書２０３及び製造メーカ署名６００を使い、構成データ１０７を検証する（図５：Ｓ１０９）（検証ステップ）。
署名検証に成功した場合（図５：Ｓ１１０でＹＥＳ）、構成データ検証部１０３が構成データ１０７および製造メーカ証明書２０３を構成データ格納部１０２に渡す（図５：Ｓ１１１）。
構成データ格納部１０２は、受け取った構成データ１０７に鍵管理部１１４によってあらかじめロードされていた公開鍵対ＳＫａ１１０の秘密鍵でデジタル署名を付与し（図５：Ｓ１１２）（デジタル署名生成ステップ）、デジタル署名が付与された構成データ１０７を製造メーカ証明書２０３とともに通常ファイル記憶部１１６内に格納する（図５：Ｓ１１３）（情報記憶ステップ）。
格納に成功した場合は、構成データ格納部１０２は、成功したことを構成データ受信部１０４に通知する（図５：Ｓ１１４）。
構成データ検証部１０３による製造メーカ署名６００の署名検証が失敗した場合（図５：Ｓ１１０でＮＯ）は、構成データ検証部１０３が、検証に失敗したことを構成データ受信部１０４に通知する（図５：Ｓ１１６）。
構成データ受信部１０４は通知された結果を管理端末２００内の構成データ送信部２０１に返す（図５：Ｓ１１５）。
【００３２】
以上で構成データ初期登録方法が完了である。
【００３３】
このように構成された構成データ初期登録方法においては、管理端末内の構成データ生成部により構成データを生成する際に、ヘッダ情報およびデバイス情報のリストに対して製造メーカの秘密鍵でデジタル署名を付与することによって、ＦＡ用コントローラ内部の構成データ検証部において構成データの検証を実施する際に改竄検知が可能となる。したがって製造メーカでない第三者がＦＡ用コントローラ内の構成データを不正に更新することが困難となる。
【００３４】
また、構成データをＦＡ用コントローラ内に保管する際に、ＴＰＭによって保護されているＳＫａの秘密鍵でデジタル署名を付与することで、保管されている構成データがＴＰＭと関連づけられ、特定のコントローラ上でしか検証できないため、他のＦＡ用コントローラに構成データを流用することは困難となる。
【００３５】
図６は、実施の形態１における構成認証方法におけるネットワークシステムのデータフローおよびシステム構成の概要を示す図である。
図７及び図８は、実施の形態１におけるネットワークシステムの構成認証方法を示すフローチャートである。
実施の形態１における構成認証方法の概要について、図６〜図８に基づいて説明する。
【００３６】
ＦＡ用コントローラ１００の電源をＯＮにすると鍵管理部１１４がＰＵＦ１１５から測定値を取得し（図７：Ｓ２００）、ＳＲＫ  ＰＩＮ１１３、ＳＫａ  ＰＩＮ１１２、ＳＫｂ  ＰＩＮ５００を生成する（図７：Ｓ２０１）。
そして、鍵管理部１１４が、これらのＰＩＮをＴＰＭ１０８に入力することによって構成データの署名用の公開鍵対ＳＫａ１１０、暗号化ファイル記憶部１１７用の公開鍵対ＳＫｂ１１１をロードし（図７：Ｓ２０２）、暗号化ファイル記憶部１１７をマウントする（図７：Ｓ２０３）。
つまり、鍵管理部１１４が、暗号化されている公開鍵対ＳＫａ１１０の公開鍵及び公開鍵対ＳＫｂ１１１の公開鍵を復号し、また、復号後の公開鍵対ＳＫｂ１１１の公開鍵を用いて、暗号化されている暗号化ファイル記憶部１１７内の機器認証プログラム１０５を復号する。
【００３７】
そして、ＦＡ用コントローラ１００は、復号後の機器認証プログラム１０５を実行して機器認証を実施する（図７：Ｓ２０４）。
この機器認証は、例えば、既存のＩＤ照合やチャレンジ＆レスポンスによる。
機器認証に成功した場合（図７：Ｓ２０５でＹＥＳ）は、ＦＡ用コントローラ１００に接続されているデバイス（例えば、図６のデバイスＡ４００、デバイスＢ４０１）からデバイス情報を取得する（図７：Ｓ２０６）。
機器認証に失敗した場合は、ＦＡ用コントローラ１００は、その後の操作を拒否する（図８：Ｓ２１６）。
【００３８】
次に、構成データ生成部１０１が、接続デバイスから取得したデバイス情報（取得デバイス情報）に基づき構成データ１０７を生成し、構成データ検証部１０３に渡す（図７：Ｓ２０７）。なお、ここで構成データ１０７が生成する構成データ１０７は、図２の構成から製造メーカ署名６００を除外したものである。
構成データ検証部１０３は、あらかじめ通常ファイル記憶部１１６に格納されている構成データ１０７を取得し（図７：Ｓ２０８）、製造メーカ署名６００を用いて、この構成データ１０７内のデバイス情報の検証を行う（図７：Ｓ２０９）。
製造メーカ署名を用いたデバイス情報の検証に成功した場合は、次に、通常ファイル記憶部１１６に格納されている構成データ１０７をデジタル署名とＳＫａ１１０の公開鍵を用いて検証する（図７：Ｓ２１１）。
この検証に成功した場合（図７：Ｓ２１２でＹＥＳ）は、構成データ検証部１０３は、構成データ生成部１０１から渡された構成データ１０７と照合する（図８：Ｓ２１３）。つまり、通常ファイル記憶部１１６に格納されていた構成データ１０７内のデバイス情報（指定接続デバイス情報）と、接続デバイスから取得したデバイス情報（取得デバイス情報）が一致するかの照合を行う。
一方、製造メーカ署名の検証、ＳＫａ１１０の署名の検証、または構成データの照合のどれか一つでも失敗した場合（図７：Ｓ２０５でＮＯ、図７：Ｓ２１０でＮＯ、図７：Ｓ２１２でＮＯ、図８：Ｓ２１４でＮＯ）は、その後のＦＡ用コントローラ１００に対する操作を拒否する状態にする（図８：Ｓ２１６）。
製造メーカ署名の検証、ＳＫａ１１０の署名の検証、または構成データの照合がすべて成功した場合（図７：Ｓ２０５でＹＥＳ、図７：Ｓ２１０でＹＥＳ、図７：Ｓ２１２でＹＥＳ、図８：Ｓ２１４でＹＥＳ）は、正規のデバイスであって接続が予定されているデバイスが接続したと判定でき、また、通常ファイル記憶部１１６に格納されているデバイス情報が改竄されていないと判定できるので、その後のＦＡ用コントローラ１００のデバイスに対する操作を許可する状態にする（図８：Ｓ２１５）。
【００３９】
以上で構成認証方法が完了である。
【００４０】
このように構成された構成認証方法においては、ＦＡ用コントローラがネットワークを通じて外部のサーバ等と通信する必要はなく、ＦＡ用コントローラ単体で自身の構成を検証することで、構成対象外のデバイスが接続された状態では、その後のＦＡ用コントローラに対する操作を拒否することができる。
【００４１】
図９は、実施の形態１における構成データ更新方法におけるネットワークシステムのデータフローおよびシステム構成の概要を示す図である。
図１０及び図１１は、実施の形態１におけるネットワークシステムの構成データ更新方法を示すフローチャートである。
実施の形態１における構成データ更新方法の概要について、図９〜図１１に基づいて説明する。
【００４２】
まずＦＡ用コントローラ１００に電源を投入すると、鍵管理部１１４によりＰＵＦ１１５から得られた情報（図１０：Ｓ３００）に基づきＴＰＭ１０８で保護されている鍵のＰＩＮが生成され（図１０：Ｓ３０１）、構成データ１０７へのデジタル署名に用いる公開鍵対ＳＫａ１１０、および暗号化ファイル記憶部１１７に用いる公開鍵対ＳＫｂ１１１がロードされる（図１０：Ｓ３０２）。このＳＫｂ１１１を使い暗号化ファイル記憶部１１７がマウントされる（図１０：Ｓ３０３）。
【００４３】
次に、管理端末２００内の構成データ生成部１０１がデバイス情報データベース３００から必要なデバイス情報（例えば、図９のデバイス情報Ａ３０１、デバイス情報Ｂ３０２、およびデバイス情報Ｃ３０３）を取得し（図１０：Ｓ３０４）、取得したデバイス情報に製造メーカ署名６００を付与して構成データ１０７を生成する（図１０：Ｓ３０５）。
次に、構成データ生成部１０１は、新しく生成した構成データ１０７を構成データ送信部２０１に渡す（図１０：Ｓ３０６）。
構成データ送信部２０１は、ＦＡ用コントローラ１００内の構成データ受信部１０４に構成データ１０７を送信する（図１０：Ｓ３０７）。
【００４４】
ＦＡ用コントローラ内の構成データ受信部は構成データ１０７を受信し、構成データ検証部１０３に渡す（図１０：Ｓ３０８）。
構成データ検証部１０３は、通常ファイル記憶部１１６に保管されている製造メーカ証明書２０３を使い構成データの製造メーカ署名６００を検証する（図１１：Ｓ３０９）。
署名検証に失敗した場合（図１１：Ｓ３１０でＮＯ）は、構成データ検証部１０３は、その結果を構成データ受信部１０４に通知する（図１１：Ｓ３１６）。
検証に成功した場合（図１１：Ｓ３１０でＹＥＳ）、構成データを構成データ格納部１０２に渡す（図１１：Ｓ３１１）。
次に、構成データ格納部１０２は、構成データを受け取ったら、ＳＫａ１１０の秘密鍵で構成データにデジタル署名を付与（図１１：Ｓ３１２）した後、通常ファイル記憶部１１６に上書き保存し（図１１：Ｓ３１３）、結果を構成データ受信部１０４に通知する（図１１：Ｓ３１４）。
構成データ受信部１０４は通知された結果を管理端末２００内の構成データ送信部２０１に返す（図１１：Ｓ３１５）。
【００４５】
以上で構成データ更新方法が完了である。
【００４６】
このように構成された構成データ更新方法においては、管理端末内の構成データ生成部が、新しい構成に対応した構成データを生成し、コントローラ内の構成データ受信部に送信し、コントローラ内の構成データ検証部が構成データの製造メーカのデジタル署名を検証することによって、悪意の第三者が偽造または改竄した構成データをコントローラに送り込むことが困難となる。さらにその上で構成データにＳＫａでデジタル署名を付与して保管することで他のコントローラへの流用を防ぐことが可能な点は、構成データ初期登録方法におけるのと同様である。
【００４７】
このように、本実施の形態により、ＦＡ用コントローラに接続可能なデバイスの構成を認証することで偽のデバイスや構成対象外のデバイスをＦＡ用コントローラに接続して使用することが困難となる。
【００４８】
以上、本実施の形態では、デバイス情報データベース、デバイスの組み合わせを記述した構成データの生成および送信機能を備えた管理端末、構成認証結果を取得する機能を備えた設定端末、構成認証結果を取得する機能を備えた運用端末、耐タンパー性をもつ暗号チップを備え、かつ構成データの正当性を検証および格納する機能を備えたＦＡ用コントローラ、ＦＡ用コントローラに接続可能でデバイス情報を提供する機能を備えたデバイス、およびこれらを組み合わせることにより構成データに記述されたデバイスのみをＦＡ用コントローラに接続可能とする構成認証システム及び構成認証方法を説明した。
【００４９】
なお、上記の説明では、図７のＳ２０９で製造メーカ署名を用いた検証を行い、Ｓ２１１でデジタル署名と鍵ＳＫａを用いた検証を行っているが、Ｓ２０９の検証を省略し、Ｓ２１１の検証のみとすることもできる。
【００５０】
実施の形態２．
図１２は、実施の形態２におけるシステム構成の概要を示す図である。
システムの動作については、各ＰＩＮをＰＵＦから得られた測定値から生成するのではなく、固定のＰＩＮを使用する以外は実施の形態１と同じである。
固定のＰＩＮを使用するので、製造メーカはＦＡ用コントローラ１００にＰＵＦを組み込まなくてよい（ＰＵＦが不要となる）。
【００５１】
実施の形態３．
図１３は、実施の形態３における構成認証方法におけるネットワークシステムのデータフローおよびシステム構成の概要を示す図である。
構成認証を実施する際に、既存のＩＤ照合やチャレンジ＆レスポンスによる機器認証を実施するのではなく、ＰＵＦ１１５によって機器認証を実施する。
つまり、本実施の形態では、ＦＡ用コントローラ１００は、接続予定のデバイスの物理的特徴量を予め保持しておき、ＦＡ用コントローラ１００にデバイスが接続した際に、ＰＵＦ１１５が接続デバイスの物理的特徴量を取得し、ＦＡ用コントローラ１００は、ＰＵＦ１１５により取得された接続デバイスの物理的特徴量と予め保持している物理的特徴量を照合して、接続デバイスの認証を行う。
それ以外の動作は実施の形態１と同じである。
これにより、機器のＩＤを提示する機能のないデバイスや、チャレンジ＆レスポンス機能のない既存のデバイスを、ハードウェアおよびソフトウェアとも変更することなく利用可能である。
【００５２】
最後に、実施の形態１〜３に示したＦＡ用コントローラ１００のハードウェア構成例について説明する。
図１４は、実施の形態１〜３に示すＦＡ用コントローラ１００のハードウェア資源の一例を示す図である。
なお、図１４の構成は、あくまでもＦＡ用コントローラ１００のハードウェア構成の一例を示すものであり、ＦＡ用コントローラ１００のハードウェア構成は図１４に記載の構成に限らず、他の構成であってもよい。
【００５３】
図１４において、ＦＡ用コントローラ１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード９１５は、入力装置の一例である。
また、通信ボード９１５、表示装置９０１などは、出力装置の一例である。
【００５４】
通信ボード９１５は、図１に示すように、ネットワークに接続されている。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されていても構わない。
【００５５】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１を利用しながら実行する。
【００５６】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００５７】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
ＦＡ用コントローラ１００の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００５８】
上記プログラム群９２３には、実施の形態１〜３の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００５９】
ファイル群９２４には、実施の形態１〜３の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の照合」、「〜の検証」、「〜の認証」、「〜の生成」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１〜３で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、磁気ディスク装置９２０の磁気ディスク等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００６０】
また、実施の形態１〜３の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１〜３の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１〜３の「〜部」の手順や方法をコンピュータに実行させるものである。
【００６１】
このように、実施の形態１〜３に示すＦＡ用コントローラ１００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たる通信ボード、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００６２】
１００  ＦＡ用コントローラ装置、１０１  構成データ生成部、１０２  構成データ格納部、１０３  構成データ検証部、１０４  構成データ受信部、１０５  機器認証プログラム、１０７  構成データ、１０８  ＴＰＭ、１０９  ＳＲＫ、１１０  ＳＫａ、１１１  ＳＫｂ、１１２  ＳＫａ  ＰＩＮ、１１３  ＳＲＫ  ＰＩＮ、１１４  鍵管理部、１１５  ＰＵＦ、１１６  通常ファイル記憶部、１１７  暗号化ファイル記憶部、２００  管理端末、２０１  構成データ送信部、２０２  製造メーカ秘密鍵、２０３  製造メーカ証明書、２０４  構成データ生成部、３００  デバイス情報データベース、３０１  デバイス情報Ａ、３０２  デバイス情報Ｂ、３０３  デバイス情報Ｃ、３０４  ヘッダ情報、４００  デバイスＡ、４０１  デバイスＢ、４０２  デバイスＣ、５００  ＳＫｂ  ＰＩＮ、６００  製造メーカ署名。
【図１】
2010182070.tif 000003
【図２】
2010182070.tif 000004
【図３】
2010182070.tif 000005
【図４】
2010182070.tif 000006
【図５】
2010182070.tif 000007
【図６】
2010182070.tif 000008
【図７】
2010182070.tif 000009
【図８】
2010182070.tif 000010
【図９】
2010182070.tif 000011
【図１０】
2010182070.tif 000012
【図１１】
2010182070.tif 000013
【図１２】
2010182070.tif 000014
【図１３】
2010182070.tif 000015
【図１４】
2010182070.tif 000016