(57)【要約】  方法は、デバイス（２００）のファームウェアが信頼されており、かつ信頼ルートを含むことを検証すること（４０２）を含む。方法はまた、デバイスの保護記憶域（２１４）が、デバイスの固定記憶域（２０４、２１０、２１２）内に格納されているデバイス証明書（ＤｅｖＣｅｒｔ）と関連付けられたプライベート鍵又は秘密鍵を含むことを検証すること（４０６）も含む。本方法は、信頼ルートを使用してデバイスのデバイス証明書を検証すること（４１４）を更に含む。加えて、方法は、保護記憶域がデバイス証明書と関連付けられたプライベート鍵又は秘密鍵を含むことの検証、及びデバイス証明書の検証に応答して、デバイスが正規デバイスであることを決定することを含む。信頼ルートは、信頼された証明書又は信頼された公開鍵を含み得る。【選択図】図１
2020504583.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
装置（２００）のファームウェアが信頼されており、かつ信頼ルートを含むことを検証すること（４０２）と、
前記デバイスの保護記憶域（２１４）が、前記デバイスの固定記憶域（２０４、２１０、２１２）内に格納されているデバイス証明書（ＤｅｖＣｅｒｔ）と関連付けられたプライベート鍵又は秘密鍵を含むことを検証すること（４０６）と、
前記信頼ルートを使用して前記デバイスの前記デバイス証明書を検証すること（４１４）と、
前記保護記憶域が前記デバイス証明書と関連付けられた前記プライベート鍵又は秘密鍵を含むことの検証、及び前記デバイス証明書の検証に応答して、前記デバイスが正規デバイスであることを決定することと、を含む、方法。
【請求項２】
前記保護記憶域が、前記デバイス証明書と関連付けられた前記プライベート鍵又は秘密鍵を含むことを検証することが、
前記保護記憶域にチャレンジ値（Ｒ）を提供すること（４０８）と、
前記保護記憶域から、前記チャレンジ値及び前記保護記憶域に格納された鍵を使用して生成された署名（Ｓ）を受信すること（４１０）と、
前記署名を使用して、前記保護記憶域に格納された前記鍵が前記デバイス証明書と関連付けられた前記プライベート鍵又は秘密鍵であるか否かを決定すること（４１２）と、を含む、請求項１に記載の方法。
【請求項３】
前記保護記憶域が、セキュリティ集積回路を含む、請求項１に記載の方法。
【請求項４】
前記デバイスの前記ファームウェアが信頼されていることを検証することが、セキュアブートプロセスを実施すること（４０２）を含む、請求項１に記載の方法。
【請求項５】
前記信頼ルートを使用して前記デバイスの前記デバイス証明書を検証することが、
中間認証局の証明書（ＩｎｔｅｒＣｅｒｔ）を使用して前記デバイス証明書の有効性を判断すること（４１６）と、
前記信頼ルートを使用して前記中間認証局の証明書の有効性を判断すること（４１８）と、を含む、請求項１に記載の方法。
【請求項６】
前記信頼ルートが、信頼された証明書及び信頼された公開鍵のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項７】
前記デバイスが正規デバイスであるという決定に応答して、前記デバイスが通常動作に置かれることを可能にすること（４２０）を更に含む、請求項１に記載の方法。
【請求項８】
デバイスであって、
デバイス証明書（ＤｅｖＣｅｒｔ）を格納するように構成された固定記憶域（２０４、２１０、２１２）と、
前記デバイス証明書と関連付けられたプライベート鍵又は秘密鍵を格納するように構成された、保護記憶域（２１４）と、
少なくとも１つの処理デバイス（２０２）であって、
前記デバイスのファームウェアが信頼されており、かつ信頼ルートを含むことを検証することと、
前記保護記憶域が、前記デバイス証明書と関連付けられた前記プライベート鍵又は秘密鍵を含むことを検証し、
前記信頼ルートを使用して前記デバイス証明書を検証し、かつ
前記保護記憶域が前記デバイス証明書と関連付けられた前記プライベート鍵又は秘密鍵を含むことの検証、及び前記デバイス証明書の検証に応答して、前記デバイスが正規デバイスであることを決定するように構成された、少なくとも１つの処理デバイス（２０２）と、を備える、デバイス。
【請求項９】
前記保護記憶域が、前記デバイス証明書と関連付けられた前記プライベート鍵又は秘密鍵を含むことを検証するために、前記少なくとも１つの処理デバイスが、
前記保護記憶域にチャレンジ値（Ｒ）を提供し、
前記保護記憶域から、前記チャレンジ値及び前記保護記憶域に格納された鍵を使用して生成された署名（Ｓ）を受信し、かつ
前記署名を使用して、前記保護記憶域に格納された前記鍵が前記デバイス証明書と関連付けられた前記プライベート鍵又は秘密鍵であるか否かを決定するように構成されている、請求項８に記載のデバイス。
【請求項１０】
前記固定記憶域が、不揮発性メモリを含み、
前記保護記憶域が、セキュリティ集積回路を含む、請求項８に記載のデバイス。
【請求項１１】
前記デバイスの前記ファームウェアが信頼されていることを検証するために、前記少なくとも１つの処理デバイスが、セキュアブートプロセスを実施するように構成されている、請求項８に記載のデバイス。
【請求項１２】
前記信頼ルートを使用して前記デバイスの前記デバイス証明書を検証するために、前記少なくとも１つの処理デバイスが、
中間認証局の証明書（ＩｎｔｅｒＣｅｒｔ）を使用して前記証明書デバイスの有効性を判断し、
前記信頼ルートを使用して前記中間認証局の証明書の有効性を判断するように構成されている、請求項８に記載のデバイス。
【請求項１３】
前記信頼ルートが、信頼された証明書及び信頼された公開鍵のうちの少なくとも１つを含む、請求項８に記載のデバイス。
【請求項１４】
前記保護記憶域が、耐タンパ性又はタンパ防止暗号集積回路チップを含む、請求項８に記載のデバイス。
【請求項１５】
実行されたとき、装置（２００）の少なくとも１つの処理デバイス（２０２）に請求項１〜７のいずれか一項に記載の方法を実施させる命令を含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照及び優先権主張）
本出願は、米国特許法第１１９条（ｅ）の下で、２０１７年１月１２日に出願された米国仮特許出願第６２／４４５，６３４号に基づく優先権を主張する。この仮出願は、参照によりその全体が本明細書に組み込まれる。
【０００２】
（発明の分野）
本開示は、概して、コンピューティング及びデバイスセキュリティに関する。より具体的には、本開示は、証明書を使用して識別及び信頼を確立することによる、正規デバイス保証のための技術に関する。
【背景技術】
【０００３】
産業用制御システム（Ｉｎｄｕｓｔｒｉａｌ  ｃｏｎｔｒｏｌ  ｓｙｓｔｅｍｓ、ＩＣＳ）は、複雑な工業プロセスを監視及び制御するために日常的に使用される。セキュリティ防衛機構のレベルが向上することは、これらのシステムが、１９９０年代早期に閉じた固有システムから、長年にわたって便利で接続されたオープンシステムに進化したため、必要とされている。オープンシステムは、利便性の向上、接続性の向上、及び生産性の向上に対するトレンドシフトに適合された。しかしながら、これらのシステムは、オープンシステム脆弱性に関する広範な知識に起因する悪用に対して、より脆弱になる。
【０００４】
これらの懸念を軽減するために、セキュリティアーキテクチャは、周辺セキュリティ及びセキュリティ強化ノードの使用を命令し始めた。残念ながら、仮想プラットフォーム及びリモートアクセスサポートのその後の導入は、侵入者による不正アクセス及びシステム特権獲得を防止するために、追加のセキュリティ対策を更に必要とした。セキュリティアーキテクチャ及び解決策は、したがって、システム能力に基づいて、システム脆弱性の外部悪用を防止する共通テーマと共に進化し続けた。
【０００５】
２０１０年には、ＳｔｕｘＮｅｔワームが、特定のプログラマブルロジックコントローラ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｃｏｎｔｒｏｌｌｅｒｓ、ＰＬＣ）を明確に標的化し、イランの核プラントに対する内部者攻撃を通じて産業制御システム内のセキュリティランドスケープを変化させた。ＳｔｕｘＮｅｔに続いて、組み込みデバイスが、セキュリティ議論の最前線に移動した。ベンダーは、内部者攻撃を軽減するために、少なくとも特権設計、職務分掌、及び多重防護等の、それらのデバイス内のより多くのセキュリティ制御を含むことを開始した。
【０００６】
「Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ」（ＩｏＴ）及び「Ｉｎｄｕｓｔｒｉａｌ  Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ」（ＩＩｏＴ）の出現により、新しいセキュリティ課題が表面化している。これは、ＩＣＳベンダーの組み込みデバイスの展開シナリオの変化に起因するものである。ＩｏＴ及びＩＩｏＴデバイスは、顧客に価値をもたらすために、インターネット接続、及び「クラウド」に情報を公開する能力を必要とする。
【発明の概要】
【０００７】
本開示は、証明書を使用して識別及び信頼を確立することによって、正規デバイス保証のための技術を提供する。
【０００８】
第１の実施形態では、方法は、デバイスのファームウェアが信頼されており、信頼ルートを含むことを検証することを含む。この方法はまた、デバイスの保護記憶域が、デバイスの固定記憶域内に格納されているデバイス証明書と関連付けられたプライベート鍵又は秘密鍵を含むことを検証することも含む。方法は、信頼ルートを使用してデバイスのデバイス証明書を検証することを更に含む。加えて、方法は、保護記憶域がデバイス証明書と関連付けられたプライベート鍵又は秘密鍵を含むことの検証、及びデバイス証明書の検証に応答して、デバイスが正規デバイスであることを決定することを含む。
【０００９】
第２の実施形態では、デバイスは、デバイス証明書を格納するように構成された固定記憶域と、デバイス証明書と関連付けられたプライベート鍵又は秘密鍵を格納するように構成された保護記憶域と、を含む。デバイスはまた、デバイスのファームウェアが信頼されており、かつ信頼ルートを含むことを検証し、保護記憶域がデバイス証明書と関連付けられたプライベート鍵又は秘密鍵を含むことを検証し、かつ信頼ルートを使用してデバイス証明書を検証するように構成された、少なくとも１つの処理デバイスも含む。少なくとも１つの処理デバイスはまた、保護記憶域がデバイス証明書と関連付けられたプライベート鍵又は秘密鍵を含むことの検証、及びデバイス証明書の検証に応答して、デバイスが正規デバイスであることを決定するように構成されている。
【００１０】
第３の実施形態では、非一時的コンピュータ可読媒体は、実行されたとき、装置の少なくとも１つの処理デバイスに、装置のファームウェアが信頼されており、かつ信頼ルートを含むことを検証させる命令を含む。媒体はまた、実行されたとき、装置の少なくとも１つの処理デバイスに、装置の保護記憶域が、装置の固定記憶域に格納されているデバイス証明書と関連付けられたプライベート鍵又は秘密鍵を含むことを検証させる命令も含む。媒体は、実行されたとき、装置の少なくとも１つの処理デバイスに、信頼ルートを使用して装置のデバイス証明書を検証させる命令を更に含む。加えて、媒体は、実行されたとき、装置の少なくとも１つの処理デバイスに、保護記憶域がデバイス証明書と関連付けられたプライベート鍵又は秘密鍵を含むことの検証、及びデバイス証明書の検証に応答して、装置が正規デバイスであることを決定させる命令を更に含む。
【００１１】
当業者には、以下の図、説明、及び請求項から他の技術的特徴が容易に明らになるであろう。
【図面の簡単な説明】
【００１２】
ここでは、本開示をより完全に理解するために、添付の図面と共に以下の説明を参照する。
【００１３】
【図１】本開示による、例示の産業用プロセス制御及び自動化システムを示す。
【図２】本開示による、証明書を使用して識別及び信頼を確立することによる正規デバイス保証のための技術をサポートする例示のデバイスを示す。
【図３】本開示による、識別及び信頼を確立することによる正規デバイス保証のための例示の技術を示す。
【図４】本開示による、証明書を使用して識別及び信頼を確立することによる正規デバイス保証のための例示の方法を示す。
【発明を実施するための形態】
【００１４】
以下で説明する図１〜図４及び本特許文献で本発明の原則を説明するために使用される様々な実施形態は、実例としてのものであり、いかなる方法においても本発明の範囲を制限するものとして解釈されるべきではない。当業者は、本発明の原則が任意の種類の好適に配置されたデバイス又はシステムで実施されてよいことを理解するであろう。
【００１５】
上記のように、新しいセキュリティ課題は、「Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ」（ＩｏＴ）及び「Ｉｎｄｕｓｔｒｉａｌ  Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ」（ＩＩＯＴ）デバイスに関与して表面化している。ＩｏＴは、インターネットの「第３の波」と見なされており、顕著なグローバル経済への影響が期待されている。しかしながら、この波は、実現が遅く、実装が困難であった。この緩慢な採用の理由としては、信頼の欠如、適切な識別の欠如、並びにデバイスに関するイベント時間及び保護チェーンの知識の欠如が挙げられる。この文脈における信頼は、特定のデバイスが正しい他のデバイスと通信していることを確認することを示す。この文脈における識別は、入力データが正しいデバイスと関連付けられていること、及び出力データが正しいデバイスにアドレス指定されていることを示す。この特許文献は、ｘ．５０９（ｖ３）証明書を使用すること等によって、信頼及び識別の因子が証明書に基づく正規デバイス保証試験を介して達成され得る技術を記載する。
【００１６】
図１は、本開示による、例示の産業用プロセス制御及び自動化システム１００を示す。図１に示すように、システム１００は、少なくとも１つの製品又は他の材料の製造又は加工を容易にする様々な構成要素を含む。例えば、システム１００は、１つ又は複数のプラント１０１ａ〜１０１ｎ内の構成要素の制御を容易にするためにここで使用される。各プラント１０１ａ〜１０１ｎは、少なくとも１つの製品又は他の材料を製造するための１つ以上の製造設備など１つ以上の加工設備（又はその１つ以上の部分）を示す。一般に、各プラント１０１ａ〜１０１ｎは、１つ以上のプロセスを実施してよく、個別に、又は総じてプロセスシステムと呼ばれ得る。プロセスシステムは、１つ以上の製品又は他の材料を何らかの方法で加工するように構成されている、任意のシステム又はその一部を概ね示す。
【００１７】
図１では、システム１００は、Ｐｕｒｄｕｅモデルのプロセス制御を用いて実施される。Ｐｕｒｄｕｅモデルでは、「レベル０」は、１つ以上のセンサ１０２ａと、１つ以上のアクチュエータ１０２ｂと、を含んでよい。センサ１０２ａ及びアクチュエータ１０２ｂは、多種多様な機能のいずれかを実行し得る、プロセスシステム内の構成要素を示す。例えば、センサ１０２ａは、プロセスシステム内の温度、圧力、又は流速など多種多様な特性を測定し得る。また、アクチュエータ１０２ｂは、プロセスシステム内の多種多様な特性を変更し得る。センサ１０２ａ及びアクチュエータ１０２ｂは、任意の好適なプロセスシステム内の任意の他の又は追加の構成要素を示し得る。センサ１０２ａのそれぞれは、プロセスシステム内の１つ以上の特性を測定するための任意の好適な構造を含む。アクチュエータ１０２ｂのそれぞれは、プロセスシステム内の１つ以上の条件で動作する、又はこれらに影響を及ぼすための任意の好適な構造を含む。
【００１８】
１つ以上のネットワーク１０４は、センサ１０２ａ及びアクチュエータ１０２ｂに接続される。ネットワーク１０４は、センサ１０２ａ及びアクチュエータ１０２ｂとの相互作用を容易にする。例えば、ネットワーク１０４は、センサ１０２ａからの測定データを伝送し、アクチュエータ１０２ｂに制御信号を提供し得る。ネットワーク１０４は、任意の好適なネットワーク又はネットワークの組み合わせを示し得る。特定の例として、ネットワーク１０４は、Ｅｔｈｅｒｎｅｔ（登録商標）ネットワーク、電気信号ネットワーク（ＨＡＲＴ又はＦＯＵＮＤＡＴＩＯＮ  ＦＩＥＬＤＢＵＳネットワークなど）、空気制御信号ネットワーク、又は任意の他の、若しくは追加の種類のネットワークを示し得る。
【００１９】
Ｐｕｒｄｕｅモデルでは、「レベル１」は、ネットワーク１０４に接続されている、１つ以上のコントローラ１０６を含む。特に、各コントローラ１０６は、１つ以上のセンサ１０２ａからの測定値を使用して、１つ以上のアクチュエータ１０２ｂの動作を制御してよい。各コントローラ１０６は、１つ以上の態様のプロセスシステムを制御するために、任意の好適な構造を含む。特定の例として、各コントローラ１０６は、リアルタイムのオペレーティングシステムを実行しているコンピューティングデバイスを示し得る。
【００２０】
冗長ネットワーク１０８は、コントローラ１０６に接続される。ネットワーク１０８は、コントローラ１０６とデータをやり取りすることなどによって、コントローラ１０６との相互作用を容易にする。ネットワーク１０８は、任意の好適な冗長ネットワークを示し得る。特定の例として、ネットワーク１０８は、Ｅｔｈｅｒｎｅｔ（登録商標）ネットワークペア、ＨＯＮＥＹＷＥＬＬ  ＩＮＴＥＲＮＡＴＩＯＮＡＬ  ＩＮＣ．からのＦＡＵＬＴ  ＴＯＬＥＲＡＮＴ  ＥＴＨＥＲＮＥＴ（登録商標）（ＦＴＥ）ネットワークなどＥｔｈｅｒｎｅｔ（登録商標）ネットワークの冗長ペアを示し得る。
【００２１】
少なくとも１つのスイッチ／ファイアウォール１１０は、ネットワーク１０８を２つのネットワーク１１２に接続する。スイッチ／ファイアウォール１１０は、あるネットワークから別のネットワークにトラフィックを転送してよい。スイッチ／ファイアウォール１１０はまた、あるネットワーク上のトラフィックが別のネットワークに達しないように遮断してよい。スイッチ／ファイアウォール１１０は、ＨＯＮＥＹＷＥＬＬ  ＣＯＮＴＲＯＬ  ＦＩＲＥＷＡＬＬ（ＣＦ９）デバイスなどネットワーク間の通信を提供するための、任意の好適な構造を含む。ネットワーク１１２は、Ｅｔｈｅｒｎｅｔ（登録商標）ネットワークペア又はＦＴＥネットワークなど任意の好適なネットワークを示し得る。
【００２２】
Ｐｕｒｄｕｅモデルでは、「レベル２」は、ネットワーク１１２に接続されている、１つ以上のマシンレベルのコントローラ１１４を含んでよい。マシンレベルのコントローラ１１４は、様々な機能を実行して、特定の産業機器（ボイラー又は他のマシンなど）と関連付けられ得る、コントローラ１０６、センサ１０２ａ、及びアクチュエータ１０２ｂの動作及び制御をサポートする。例えば、マシンレベルのコントローラ１１４は、センサ１０２ａからの測定データ又はアクチュエータ１０２ｂ用の制御信号など、コントローラ１０６によって収集された、又は生成された情報を記録し得る。マシンレベルのコントローラ１１４はまた、コントローラ１０６の動作を制御し、それによってアクチュエータ１０２ｂの動作を制御するアプリケーションを実行し得る。加えて、マシンレベルのコントローラ１１４は、コントローラ１０６へのセキュアアクセスを提供し得る。マシンレベルのコントローラ１１４のそれぞれは、マシン又は他の独立した機器へのアクセス、それらの制御、又はそれらに関連する動作を提供するための、任意の好適な構造を含む。マシンレベルのコントローラ１１４のそれぞれは、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステム又は他のオペレーティングシステムを実行しているサーバコンピューティングデバイスを示し得る。図示されていないが、異なるマシンレベルのコントローラ１１４が使用されて、プロセスシステム内の異なる機器（各機器は、１つ以上のコントローラ１０６、センサ１０２ａ、及びアクチュエータ１０２ｂと関連付けられている）を制御し得る。
【００２３】
１つ以上のオペレータステーション１１６は、ネットワーク１１２に接続されている。オペレータステーション１１６は、マシンレベルのコントローラ１１４へのユーザアクセスを提供するコンピューティングデバイス又は通信デバイスを示し、次いで、コントローラ１０６（そして、場合によってはセンサ１０２ａ及びアクチュエータ１０２ｂ）へのユーザアクセスを提供する。特定の例として、オペレータステーション１１６は、ユーザが、コントローラ１０６及び／又はマシンレベルのコントローラ１１４によって収集された情報を使用して、センサ１０２ａ及びアクチュエータ１０２ｂの動作履歴を確認できるようにし得る。オペレータステーション１１６はまた、ユーザが、センサ１０２ａ、アクチュエータ１０２ｂ、コントローラ１０６、又はマシンレベルのコントローラ１１４の動作を調整できるようにし得る。加えて、オペレータステーション１１６は、コントローラ１０６又はマシンレベルのコントローラ１１４によって生成された警告、アラート、又は他のメッセージ若しくは表示を受信し、表示し得る。オペレータステーション１１６のそれぞれは、システム１００内の１つ以上の構成要素のユーザアクセス及び制御をサポートするための、任意の好適な構造を含む。オペレータステーション１１６のそれぞれは、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステム又は他のオペレーティングシステムを実行しているコンピューティングデバイスを示し得る。
【００２４】
少なくとも１つのルーター／ファイアウォール１１８は、ネットワーク１１２を２つのネットワーク１２０に接続する。ルーター／ファイアウォール１１８は、セキュアなルーター又はルーター／ファイアウォールの組み合わせなどネットワーク間の通信を提供するための、任意の好適な構造を含む。ネットワーク１２０は、Ｅｔｈｅｒｎｅｔ（登録商標）ネットワークペア又はＦＴＥネットワークなど任意の好適なネットワークを示し得る。
【００２５】
Ｐｕｒｄｕｅモデルでは、「レベル３」は、ネットワーク１２０に接続されている、１つ以上のユニットレベルのコントローラ１２２を含んでよい。各ユニットレベルのコントローラ１２２は、通常、連動して少なくともプロセスの一部を実施する、一連の異なるマシンを示す、プロセスシステム内のユニットと関連付けられる。ユニットレベルのコントローラ１２２は、様々な機能を実行して、下位レベルの構成要素の動作及び制御をサポートする。例えば、ユニットレベルのコントローラ１２２は、下位レベルの構成要素によって収集又は生成された情報を記録し、下位レベルの構成要素を制御するアプリケーションを実行し、下位レベルの構成要素へのセキュアアクセスを提供し得る。ユニットレベルのコントローラ１２２のそれぞれは、プロセスユニット内の１つ以上のマシン又は他の機器へのアクセス、これらの制御、又はこれらに関する動作を提供するための、任意の好適な構造を含む。ユニットレベルのコントローラ１２２のそれぞれは、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステム又は他のオペレーティングシステムを実行しているサーバコンピューティングデバイスを示し得る。図示されていないが、異なるユニットレベルのコントローラ１２２が使用されて、プロセスシステム内の異なるユニット（各ユニットは、１つ以上のマシンレベルのコントローラ１１４、コントローラ１０６、センサ１０２ａ、及びアクチュエータ１０２ｂと関連付けられている）を制御し得る。
【００２６】
ユニットレベルのコントローラ１２２へのアクセスは、１つ以上のオペレータステーション１２４によって提供されてよい。オペレータステーション１２４のそれぞれは、システム１００内の１つ以上の構成要素のユーザアクセス及び制御をサポートするための、任意の好適な構造を含む。オペレータステーション１２４のそれぞれは、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステム又は他のオペレーティングシステムを実行しているコンピューティングデバイスを示し得る。
【００２７】
少なくとも１つのルーター／ファイアウォール１２６は、ネットワーク１２０を２つのネットワーク１２８に接続する。ルーター／ファイアウォール１２６は、セキュアなルーター又はルーター／ファイアウォールの組み合わせなどネットワーク間の通信を提供するための、任意の好適な構造を含む。ネットワーク１２８は、ＥＴＨＥＲＮＥＴ（登録商標）ネットワークペア又はＦＴＥネットワークなど任意の好適なネットワークを示し得る。
【００２８】
Ｐｕｒｄｕｅモデルでは、「レベル４」は、ネットワーク１２８に接続されている、１つ以上のプラントレベルのコントローラ１３０を含んでよい。各プラントレベルのコントローラ１３０は、通常、同一の、類似の、又は異なるプロセスを実施する１つ以上のプロセスユニットを含んでよい、プラント１０１ａ〜１０１ｎのうちの１つと関連付けられている。プラントレベルのコントローラ１３０は、様々な機能を実行して、下位レベルの構成要素の動作及び制御をサポートする。特定の例として、プラントレベルのコントローラ１３０は、１つ以上の製造実行システム（ｍａｎｕｆａｃｔｕｒｉｎｇ  ｅｘｅｃｕｔｉｏｎ  ｓｙｓｔｅｍ、ＭＥＳ）アプリケーション、スケジューリングアプリケーション、又は他の若しくは追加のプラント若しくはプロセス制御アプリケーションを実行し得る。プラントレベルのコントローラ１３０のそれぞれは、プロセスプラント内の１つ以上のプロセスユニットへのアクセス、これらの制御、又はこれらに関する動作を提供するための、任意の好適な構造を含む。プラントレベルのコントローラ１３０のそれぞれは、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステム又は他のオペレーティングシステムを実行しているサーバコンピューティングデバイスを示し得る。
【００２９】
プラントレベルのコントローラ１３０へのアクセスは、１つ以上のオペレータステーション１３２によって提供されてよい。オペレータステーション１３２のそれぞれは、システム１００内の１つ以上の構成要素のユーザアクセス及び制御をサポートするための、任意の好適な構造を含む。オペレータステーション１３２のそれぞれは、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステム又は他のオペレーティングシステムを実行しているコンピューティングデバイスを示し得る。
【００３０】
少なくとも１つのルーター／ファイアウォール１３４は、ネットワーク１２８を１つ以上のネットワーク１３６に接続する。ルーター／ファイアウォール１３４は、セキュアなルーター又はルーター／ファイアウォールの組み合わせなどネットワーク間の通信を提供するための、任意の好適な構造を含む。ネットワーク１３６は、企業規模のＥｔｈｅｒｎｅｔ（登録商標）ネットワーク若しくは他のネットワーク、又はより大規模なネットワーク（インターネットなど）の全体若しくは一部など任意の好適なネットワークを示し得る。
【００３１】
Ｐｕｒｄｕｅモデルでは、「レベル５」は、ネットワーク１３６に接続されている、１つ以上のプラントレベルのコントローラ１３８を含んでよい。各企業レベルのコントローラ１３８は、通常、複数のプラント１０１ａ〜１０１ｎの計画業務を実行し、プラント１０１ａ〜１０１ｎの様々な態様を制御できる。企業レベルのコントローラ１３８はまた、様々な機能を実行して、プラント１０１ａ〜１０１ｎ内の構成要素の動作及び制御をサポートできる。特定の例として、企業レベルのコントローラ１３８は、１つ以上の注文処理アプリケーション、企業資源管理（ｅｎｔｅｒｐｒｉｓｅ  ｒｅｓｏｕｒｃｅ  ｐｌａｎｎｉｎｇ、ＥＲＰ）アプリケーション、先進的計画及びスケジューリング（ａｄｖａｎｃｅｄ  ｐｌａｎｎｉｎｇ  ａｎｄ  ｓｃｈｅｄｕｌｉｎｇ、ＡＰＳ）アプリケーション、又は任意の他の若しくは追加の企業管理アプリケーションを実行し得る。企業レベルのコントローラ１３８のそれぞれは、１つ以上のプラントへのアクセス、これらの制御、又はこれらに関する動作を提供するための、任意の好適な構造を含む。企業レベルのコントローラ１３８のそれぞれは、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステム又は他のオペレーティングシステムを実行しているサーバコンピューティングデバイスを示し得る。本明細書では、「企業」という用語は、管理対象の１つ２つ以上のプラント又は他の加工設備を有する組織を指す。単一のプラント１０１ａが管理対象である場合、企業レベルのコントローラ１３８の機能は、プラントレベルのコントローラ１３０に組み込まれ得ることに留意されたい。
【００３２】
企業レベルのコントローラ１３８へのアクセスは、１つ以上のオペレータステーション１４０によって提供されてよい。オペレータステーション１４０のそれぞれは、システム１００内の１つ以上の構成要素のユーザアクセス及び制御をサポートするための、任意の好適な構造を含む。オペレータステーション１４０のそれぞれは、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステム又は他のオペレーティングシステムを実行しているコンピューティングデバイスを示し得る。
【００３３】
この例では、ヒストリアン１４２もネットワーク１３６に接続されている。ヒストリアン１４２は、システム１００に関する様々な情報を格納する構成要素を示し得る。ヒストリアン１４２は、例えば、製造スケジューリング及び最適化中に使用される情報を格納し得る。ヒストリアン１４２は、情報を格納し、検索を容易にするための、任意の好適な構造を示す。ネットワーク１３６に接続されている単一の集中型構成要素として示されているが、ヒストリアン１４２は、システム１００内の他の場所に位置し得る、又は多数のヒストリアンがシステム１００内の異なる場所に分散し得る。
【００３４】
図１に示されるデバイスのうちの１つ以上は、信頼及び識別の確立を助けるために、１つ以上の正規デバイス保証試験をサポートし得る。例えば、保証試験は、正しいファームウェアが正しいデバイス上のみで実行することを検証し得る。この技術を使用して、製造業者又はベンダーは、偽造デバイスが正規ファームウェアを実行することを防止し得る。これらの技術に関する追加の詳細が以下に提供される。
【００３５】
図１は産業用プロセス制御及び自動化システム１００の一例を示すが、図１には、様々な変更が加えられ得る。例えば、制御及び自動化システムは、任意の数のセンサ、アクチュエータ、コントローラ、サーバ、オペレータステーション、ネットワーク、及び他の構成要素を含み得る。また、図１のシステム１００の構成及び配置は、例示のみのためのものである。特定の必要性に従って、任意の好適な構成での構成要素の追加、除外、結合、又は配置が行われ得る。更に、特定の機能は、システム１００の特定の構成要素によって実施されるものとして記載されている。これは、例示のみのためのものである。一般に、制御及び自動化システムは、高度に構成可能であり、特定の必要性に応じて任意の好適な様式で構成され得る。加えて、図１は、正規デバイス保証のための技術が使用され得る例示の環境を示す。この機能は、任意の他の好適なデバイス又はシステムで使用され得、そのデバイス又はシステムは、産業用プロセス制御及び自動化に使用される必要はない。
【００３６】
図２は、本開示による、証明書を使用して識別及び信頼を確立することによる正規デバイス保証のための技術をサポートする例示のデバイス２００を示す。デバイス２００は、例えば、図１に示され、かつ上記に記載されたデバイスのうちのいずれかを表し得る。しかしながら、デバイス２００は、産業用プロセス制御及び自動化に使用されているか否かにかかわらず、正規デバイス保証のための１つ以上の技術を実装する任意の他の好適なデバイス又はシステムを表してもよい。
【００３７】
図２に示されるように、デバイス２００は、少なくとも１つのプロセッサ２０２、少なくとも１つの記憶デバイス２０４、少なくとも１つの通信ユニット２０６、及び少なくとも１つの入出力（ｉｎｐｕｔ／ｏｕｔｐｕｔ、Ｉ／Ｏ）ユニット２０８を含む。各プロセッサ２０２は、メモリ２１０内にロードされ得る命令等の、命令を実行し得る。各プロセッサ２０２は、１つ以上のマイクロプロセッサ、マイクロコントローラ、中央処理ユニット（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔｓ、ＣＰＵ）、デジタル信号プロセッサ、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ、ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙｓ、ＦＰＧＡ）、又はディスクリート回路等の任意の好適な処理デバイスを示す。
【００３８】
メモリ２１０及び固定記憶域２１２は、情報（一時的又は永続的なデータ、プログラムコード、及び／又は他の好適な情報）を格納し、容易に検索できる任意の構造を示す、記憶デバイス２０４の例である。メモリ２１０は、ランダムアクセスメモリ又は任意の他の好適な揮発性若しくは不揮発性記憶デバイスを示し得る。固定記憶域２１２は、読み取り専用メモリ（ＥＥＰＲＯＭのような）、ハードドライブ、フラッシュメモリ、又は光ディスクなどデータのより長期間の格納をサポートする、１つ以上の構成要素又はデバイスを含み得る。
【００３９】
通信ユニット２０６は、他のシステム又はデバイスとの通信をサポートする。例えば、通信ユニット２０６は、少なくとも１つの有線又は無線ネットワーク上での通信を容易にする少なくとも１つのネットワークインターフェースカード又は無線送受信機を含み得る。通信ユニット２０６は、任意の好適な物理的通信リンク又は無線通信リンクを介した通信をサポートし得る。しかしながら、通信ユニット２０６は、意図されるように機能するために、正規デバイス保証に必ずしも必要とされないことに留意されたい。
【００４０】
Ｉ／Ｏユニット２０８は、データの入出力を可能にする。例えば、Ｉ／Ｏユニット２０８は、キーボード、マウス、キーパッド、タッチスクリーン、又は他の好適な入力デバイスを介したユーザ入力に接続を提供し得る。Ｉ／Ｏユニット２０８はまた、ディスプレイ、プリンタ、又は他の好適な出力デバイスに出力を送信し得る。しかしながら、Ｉ／Ｏユニット２０８は、意図されるように機能するために、正規デバイス保証に必ずしも必要とされないことに留意されたい。
【００４１】
プロセッサ２０２はまた、セキュリティ集積回路（ｓｅｃｕｒｉｔｙ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＳＩＣ）２１４に接続され得る。ＳＩＣ２１４は、デバイス２００に対する様々なセキュリティ関連動作を実施する。例えば、ＳＩＣ２１４は、１つ以上の暗号非対称プライベート／秘密鍵等の、１つ以上の暗号鍵をセキュアに格納し得る。ＳＩＣ２１４はまた、１つ以上の鍵を用いて署名動作又は他の動作も実施し得る。ＳＩＣ２１４は、セキュアな様式で１つ以上の動作を実施する任意の好適な集積回路を含む。例えば、ＳＩＣ２１４は、処理回路及び少なくとも１つの内部メモリを含む暗号チップを表し得る。処理回路は、様々な暗号動作を実施するように構成され得、計算の少なくともいくつかは、内部メモリに格納された１つ以上の暗号鍵を伴い得る。暗号チップはまた、内部メモリに格納されたデータへのアクセスを制限又は防止するために、耐タンパ性又はタンパ防止とすることができる。デバイス２００がＳＩＣ２１４を含まない場合、デバイス２００は、プライベート／秘密鍵等の、その暗号材料のためのいくつかの他の形態の保護記憶域を含む。
【００４２】
図２は、証明書を使用して識別及び信頼を確立することによる正規デバイス保証のための技術をサポートするデバイス２００の一例を示しているが、様々な変更が図２になされ得る。例えば、図２の様々な構成要素は、組み合わせられるか、更に細分化されるか、又は省略されてもよく、追加の構成要素が、特定の必要性に従って追加されてもよい。また、正規デバイス保証試験を実施するコンピューティングデバイス及び他のデバイスは、多種多様な構成で提供され得、図２は、本開示をデバイスの任意の特定の構成に限定しない。
【００４３】
図３は、本開示による、識別及び信頼を確立することによる正規デバイス保証のための例示の技術３００を示す。技術３００では、信頼された証明書又は信頼された公開鍵等の信頼ルート（ｒｏｏｔ  ｏｆ  ｔｒｕｓｔ、ＲｏＴ）が、正規デバイス保証試験に使用される。説明を容易にするために、図３に示される技術３００は、図２のデバイス２００に関して説明される。しかしながら、技術３００は、任意の他の好適なデバイス又はシステムと共に使用され得る。
【００４４】
本特許文献に記載される正規デバイス保証技術は、デバイスが正規であることを検証するのみならず、そのデバイスのデバイス証明書完全性も保証し得る。それゆえに、正規デバイス保証技術は、（ｉ）デバイスが正規であること、及び（ｉｉ）デバイスが正規ファームウェア３０２を使用していることの両方を保証することを助ける。いくつかの実施形態では、これは、ＣＰＵ（プロセッサ２０２等）及び外部不揮発性記憶域（ＥＥＰＲＯＭ又は他の記憶デバイス２０４等）を有するデバイスを使用して行われ得る。デバイスはまた、専用のＳＩＣ（ＳＩＣ２１４等）を有するが、ＳＩＣの使用は、上記のように必須ではない。デバイスは、それ自体のファームウェア３０２を信頼し、ファームウェア３０２は、信頼ルートを含む。デバイスは、その固定記憶域２１２内に格納されたデバイス証明書を検証するために信頼ルートを使用し、デバイスは、ＳＩＣ２１４がデバイス証明書に関連するプライベート／秘密鍵を含むことを検証する。デバイスが有効なデバイス証明書を含み、かつデバイスのＳＩＣ２１４がそのデバイス証明書用の有効なプライベート／秘密鍵を含む場合、デバイスは、デバイス証明書を取得し、かつそれを固定記憶域２１２内に格納することができた正当な工場で製造されたため、それが正規であると決定する。
【００４５】
デバイスは、信頼された鍵によって署名された正規ファームウェア３０２のみをロードするという点で、セキュアブートを実施する。それゆえ、デバイスは、それ自体のファームウェア３０２を信頼し、ファームウェア３０２が信頼ルートを含むとき、デバイスは、ファームウェア３０２に含まれた信頼ルートを信頼する。デバイスのプライベート／秘密鍵は、ＳＩＣ２１４によって生成又は格納され得、ＳＩＣ２１４は、プライベート／秘密鍵を保護するために耐タンパ性又はタンパ防止とすることができる。したがって、デバイスは、そのファームウェア３０２内の信頼ルート、及びそのＳＩＣ２１４に格納されたプライベート／秘密鍵を使用して、その正規性を検証し得る。
【００４６】
いくつかの実施形態では、証明書階層は、以下のように設定され得る。ルート認証局（ｃｅｒｔｉｆｉｃａｔｅ  ａｕｔｈｏｒｉｔｙ、ＣＡ）は、証明書ＲｏｏｔＣｅｒｔを有し、中間ＣＡはルートＣＡによって署名された証明書ＩｎｔｅｒＣｅｒｔを有する。デバイスの証明書ＤｅｖＣｅｒｔは、中間ＣＡによって署名されたリーフ証明書であり、これは、ＳＩＣ格納プライベート／秘密鍵ＤｅｖＳＫ用の証明書である。ＤｅｖＣｅｒｔ及びＩｎｔｅｒＣｅｒｔ証明書は、ＳＩＣ２１４に格納され得る情報に対するサイズ制限等に起因して、不揮発性記憶デバイス２０４に格納され得る。ルートＣＡ及び中間ＣＡのプライベート／秘密鍵は、高度に保護され、それらの使用は、適切な証明及び認証を必要とし得る。署名されたファームウェア３０２は、デバイスにとって共通であり、これは、それぞれ個々のデバイスに対してパーソナライズされないことを意味する。デバイス証明書ＤｅｖＣｅｒｔが各デバイスに対して固有であるため、それは、署名されたファームウェア３０２の一部ではない場合があり、他の場所に格納され得る。不揮発性記憶デバイス２０４内に格納されたデータの機密性又は完全性が存在しない場合がある。
【００４７】
以下に記載されるように、ｘ．５０９証明書（又は他の証明書）が、信頼チェーンを確立するために使用される。証明書は、実体とその公開鍵との間の接続を確立する。それぞれのプライベート／秘密鍵の保持者は、証明書の「対象」フィールドによって説明され得、証明書の発行者は、証明書の「発行者」フィールドによって説明され得る。両方のフィールドは、それらの区別された名前によって実体を説明し得る。証明書はまた、証明書の発行者のデジタル署名も含み得る。このデジタル署名により、発行者は、証明書の公開鍵が証明書の対象に属することを明示する。一般的に、ｘ．５０９証明書は、セキュリティプロトコル及び標準（ＴＬＳ、ＩＰＳｅｃ、及びＳＭＩＭＥ等）で使用され、いくつかの用途を挙げると、実体証明、デジタル署名、又は鍵共有に使用され得る。
【００４８】
正規性試験用のデバイスを準備するために、以下の工程が実施され得る。デバイスは、そのＳＩＣ２１４に格納されているプライベート／秘密鍵ＤｅｖＳＫを生成するか、又はそうでなければ取得する。デバイスのプライベート／秘密鍵ＤｅｖＳＫは、対応する公開鍵ＤｅｖＰＫを有する。また、デバイスは、その公開鍵ＤｅｖＰＫ用のデバイス証明書ＤｅｖＣｅｒｔを取得し、デバイス証明書ＤｅｖＣｅｒｔは、中間ＣＡによって署名される。中間ＣＡ用の証明書ＩｎｔｅｒＣｅｒｔもまた、取得され得る。これは、信頼されたエージェントを使用することによって起こり得る。加えて、ＤｅｖＣｅｒｔ及びＩｎｔｅｒＣｅｒｔ証明書は、デバイスのＥＥＰＲＯＭ又は他の記憶デバイス２０４内に格納される。これらの工程は、例えば、信頼されたエージェントが、デバイス証明書を発行する公開鍵基盤（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ、ＰＫＩ）サービスに対する相互認証された接続を有する製造ステーションである、デバイス製造中に行われ得る。別の選択肢は、デバイスが中間ＣＡによって収集及び署名される証明書署名要求を生成し、かつ結果として得られた証明書がデバイスに格納される、バッチ証明書プロビジョニングである。
【００４９】
以下は、信頼ルートとしてＲｏｏｔＣｅｒｔ証明書の使用に依存する例示の技術であり、これは、署名されたファームウェア３０２の一部であり得、デバイスが有効なデバイス証明書ＤｅｖＣｅｒｔ及び関連するプライベート／秘密鍵を有することを検証する。これは、証明書プロビジョニングを通過するデバイスのみが保証試験を合格することを確実にすることを助ける。検証の信頼アンカーが、署名されたファームウェア３０２からのＲｏｏｔＣｅｒｔ証明書であるため、一度、デバイスが動作すると、デバイスは、それ自体のファームウェア３０２を信頼し、それゆえ、ＲｏｏｔＣｅｒｔ証明書を信頼する。ＲｏｏｔＣｅｒｔ証明書の代わりに、信頼された公開鍵又は他の信頼された証明書が、信頼ルートとして使用され得ることに留意されたい。
【００５０】
その正規性を検証するために、デバイスは、図３に図示される以下の工程を実施し得る。第１の動作中、プロセッサ２０２は、不揮発性記憶デバイス２０４からデバイス証明書ＤｅｖＣｅｒｔを読み出す。第２の動作中、プロセッサ２０２は、不揮発性記憶デバイス２０４から中間ＣＡの証明書ＩｎｔｅｒＣｅｒｔを読み取る。これらの２つの動作は、連続的に又は並列に起こり得る。
【００５１】
一連の動作が実施されて、検索されたデバイス証明書ＤｅｖＣｅｒｔが、ＳＩＣ２１４に格納された、関連付けられたプライベート／秘密鍵を有することを検証する。図３に示される例では、これは、プロセッサ２０２がランダムチャレンジ値（Ｒで示される）を生成し、第３の動作中にランダムチャレンジ値をＳＩＣ２１４に送信することを含む。ＳＩＣ２１４は、プライベート／秘密鍵ＤｅｖＳＫを使用してランダムチャレンジ値を署名して署名（Ｓで示される）を生成し、これは、第４の動作中にプロセッサ２０２に返される。第５の動作中、プロセッサ２０２は、公開鍵ＤｅｖＰＫを使用して、デバイス証明書ＤｅｖＣｅｒｔからの署名を検証する。署名が検証されると仮定すると、これは、デバイス証明書ＤｅｖＣｅｒｔと関連付けられたプライベート／秘密鍵ＤｅｖＳＫが不揮発性記憶デバイス２０４に格納されている指示をプロセッサ２０２に提供する。
【００５２】
プロセッサ２０２はまた、署名されたファームウェア３０２に含まれた信頼ルートに基づいて、デバイス証明書ＤｅｖＣｅｒｔを検証する。図３では、これは、プロセッサ２０２が第６の動作中に、中間ＣＡの証明書ＩｎｔｅｒＣｅｒｔを使用してデバイス証明書ＤｅｖＣｅｒｔを検証することによって、かつプロセッサ２０２が第７の動作中に、署名されたファームウェア３０２からのルート証明書ＲｏｏｔＣｅｒｔを使用して中間ＣＡの証明書ＩｎｔｅｒＣｅｒｔを検証することによって行われる。それゆえに、ルート証明書ＲｏｏｔＣｅｒｔは、デバイス証明書ＤｅｖＣｅｒｔを検証するための基準を形成する。ルート証明書ＲｏｏｔＣｅｒｔは、デバイス証明書ＤｅｖＣｅｒｔの有効性を判断するために使用される任意の下位（中間）証明書の有効性を判断するために使用され得るか、又はルート証明書ＲｏｏｔＣｅｒｔのみ若しくは中間ＣＡの証明書ＩｎｔｅｒＣｅｒｔのみが、デバイス証明書ＤｅｖＣｅｒｔの有効性を判断するために使用され得る。
【００５３】
ＳＩＣ２１４にプライベート／秘密鍵ＤｅｖＳＫを格納することにより、プライベート／秘密鍵は、非正規デバイスにコピーされることができず、これは、デバイス偽造の生成を防止する。更に、ＳＩＣ２１４がランダムチャレンジ値を署名することを可能にすることは、それが、対応するプライベート／秘密鍵を保有する証明を表す。ＲｏｏｔＣｅｒｔ公開鍵のみが、署名されたファームウェアの一部であり、かつ任意の下位証明書を検証するために使用されるとき等に、この手法の変形例もまた使用され得る。
【００５４】
この手法が、この技術を使用する偽造デバイス製造を回避することをどのように助けるかを示すために、以下の実施例を検討する。悪意のある会社ＡＢＣが偽デバイスを製造しようとし、かつそれらを正当なファームウェアと共に正当なデバイスとして販売しようとすることを仮定する。会社ＡＢＣは、正規デバイスを購入し、ファームウェアを正規デバイスの不揮発性メモリから読み出すことができると仮定する。また、会社ＡＢＣは、そのデバイスを、署名されたファームウェアを実行するように構成することができるとも仮定する。ファームウェア検証プロセスは、不正ファームウェアが正当なデバイス上で動作することを防止し得るが、認証されたファームウェアを偽造デバイス上で動作させることを防止することができない。しかしながら、会社ＡＢＣは、ルートＣＡ又は中間ＣＡのプライベート／秘密鍵へのアクセスを有さないため、正当なデバイス証明書を取得することができない。それゆえ、会社ＡＢＣは、プライベート／秘密鍵及びＲｏｏｔＣｅｒｔでルート化された関連証明書を有するデバイスを製造することができない。会社ＡＢＣはまた、プライベート／秘密鍵が正規デバイスのＳＩＣ２１４に格納されているため、デバイス証明書ＤｅｖＣｅｒｔに関するプライベート／秘密鍵を正規デバイスからそのデバイスにコピーすることもできない。会社ＡＢＣはまた、認証されたファームウェアがデバイス証明書ＤｅｖＣｅｒｔ内の公開鍵を使用して正常に検証することができる、任意のデータ（ランダムチャレンジ）を署名することができないため、ＳＩＣ動作を装うこともできない。結果として、会社ＡＢＣのデバイスは、上記の正規性試験を合格しないことになる。
【００５５】
それゆえに、この手法は、ＩｏＴ又はＩＩｏＴ設計のための２つの因子に対処する。２つの因子は、信頼及び識別である。提案された技術は、ＰＫＩへの適切な認証能力の欠如に起因して、かつ正規デバイスからのプライベート／秘密鍵をコピーする能力の欠如に起因して、デバイス偽造の製造を防止することを助ける。更に、提案された技術は、署名されたファームウェア及びセキュアブートプロセスの使用を通じて、正規デバイス保証をサポートする。これらの解決策が、埋め込みデバイスのための保護の時間及びチェーンを確立することを助ける解決策と組み合わせられたとき、ＩｏＴ解決策の採用は、産業用空間に対するＩｏＴによる約束された価値の創造を実現することを助けるために大幅に増加し得る。
【００５６】
図３は、識別及び信頼を確立することによる正規デバイス保証のための技術３００の一例を示しているが、様々な変更が図３になされ得る。例えば、本明細書の正規デバイス保証技術は、上記のデバイスアーキテクチャに限定されない。以下は、使用され得る他のアーキテクチャの非限定的な例である。記載される技術は、産業用制御システムに限定されず、ＩｏＴデバイス等の他のシステムでも使用され得る。更に、記載される技術は、２段階の証明書階層に限定されない。例えば、ルートＣＡ証明書ＲｏｏｔＣｅｒｔの代わりに中間ＣＡ証明書ＩｎｔｅｒＣｅｒｔを使用してもよく、１つの中間ＣＡの代わりにいくつかの中間ＣＡを使用してもよく、又は中間ＣＡを使用しなくてもよい。記載される技術は、公開鍵及びそれらの署名のみを使用して、ｘ．５０９（ｖ３）証明書の代わりに信頼チェーンを確立するように修正されてもよい。記載される技術は、鍵共有（ＥＣ）ディフィーヘルマン（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ、ＤＨ）鍵、又はＣＰＵの内部セキュア鍵記憶／暗号コプロセッサ等の、署名を実施することができない鍵に容易に拡張され得る。記載される技術は、プライベート／秘密鍵がＳＩＣ  ２１４にインポートされるシナリオで適用され得る。記載される技術は、セキュア記憶域を有する及びそれを有していないデバイス、並びに証明書を格納することができるＳＩＣを有するか又はそれを有していないデバイスに対しても機能する。記載される技術は、不揮発性メモリ内で利用可能な格納されたデータの機密性又は完全性が存在するか、又はそれらが存在しない場合でも機能する。
【００５７】
図４は、本開示による、証明書を使用して識別及び信頼を確立することによる正規デバイス保証のための例示の方法４００を示す。説明を容易にするために、図４に示される方法４００は、図２のデバイス２００及び図３に示される動作を伴うものとして説明される。しかしながら、デバイス４００は、任意の他の好適なデバイス又はシステムと共に使用され得る。
【００５８】
図４に示されるように、デバイスのファームウェアが信頼されており、かつ信頼ルートを含むことの検証が、工程４０２でなされる。これは、例えば、プロセッサ２０２がセキュアブートプロセスを実行することを含み得る。セキュアブートプロセスの一部として、プロセッサ２０２は、不揮発性記憶デバイス２０４又は他のメモリからファームウェア３０２を検索し、かつファームウェア３０２が適切な実体によってデジタル署名されているか否かを確認し得る。ファームウェア３０２は、ルートＣＡの証明書ＲｏｏｔＣｅｒｔ、中間ＣＡの証明書ＩｎｔｅｒＣｅｒｔ、又はいくつかの他の信頼された証明書若しくは信頼された鍵等の信頼ルートを含む。この検証を行うことができない場合、ブートプロセスは、終了することができ、デバイスが使用されることを防止する。
【００５９】
デバイス証明書及び任意の中間証明書が工程４０４で取得される。これは、例えば、プロセッサ２０２が、デバイス証明書ＤｅｖＣｅｒｔ、及び場合によっては、１つ以上の中間ＣＡの証明書ＩｎｔｅｒＣｅｒｔｓを、デバイスの不揮発性記憶デバイス２０４から取得することを含み得る。上記のように、中間証明書の使用は、必須ではなく、そのため、この工程中に任意の中間証明書を検索する必要がない場合がある。
【００６０】
デバイス証明書と関連付けられたプライベート／秘密鍵がデバイスに格納されることの検証が、工程４０６でなされる。上記のように、これを行うための技術の一例は、工程４０８でランダムチャンレンジ値を生成することと、工程４１０でデバイスのプライベート／秘密鍵を使用してランダムチャレンジ値を署名することと、工程４１２でデバイスの公開鍵を使用して署名を検証することと、を伴う。これは、例えば、プロセッサ２０２がランダム値を生成し、かつランダム値をＳＩＣ２１４に提供することを含み得る。これはまた、ＳＩＣ２１４が、ＳＩＣ２１４にセキュアに格納されているプライベート／秘密鍵ＤｅｖＳＫを使用してランダム値をデジタル署名することを含み得る。これは、ＳＩＣ２１４がデジタル署名をプロセッサ２０２に提供することを更に含み得る。加えて、これは、プロセッサ２０２が、デバイス証明書ＤｅｖＣｅｒｔに含まれるか、又はそうでなければそれと関連付けられた公開鍵ＤｅｖＰＫを使用して、デジタル署名を検証することを含み得る。しかしながら、デバイス証明書と関連付けられたプライベート／秘密鍵を検証するための他の手法が使用されてもよいことに留意されたい。繰り返しになるが、この検証を行うことができない場合、プロセスは、終了することができ、デバイスが使用されることを防止する。
【００６１】
デバイス証明書は、工程４１４で、信頼されたファームウェアに含まれた信頼ルートに基づいて有効性を判断される。例えば、デバイス証明書は、工程４１６で１つ以上の中間証明書を使用して検証され得、中間証明書は、工程４１８で信頼ルートを使用して検証され得る。これは、例えば、プロセッサ２０２が、中間ＣＡの証明書ＩｎｔｅｒＣｅｒｔ内の公開鍵を使用して、デバイス証明書ＤｅｖＣｅｒｔが中間ＣＡによって署名されたか否かを検証することを含み得る。これはまた、プロセッサ２０２が、信頼ルートを使用して、中間ＣＡの証明書ＩｎｔｅｒＣｅｒｔがルートＣＡによって署名されたか否かを検証することを含み得る。ルートＣＡ及び複数の中間ＣＡに関連する署名チェーンを有することが可能であるか、又はデバイス証明書ＤｅｖＣｅｒｔは、他の署名が使用されずに、ルートＣＡ又は中間ＣＡによって直接、署名され得る。しかしながら、デバイス証明書が署名され、プロセッサ２０２は、信頼ルートとデバイス証明書との間の全ての署名が有効であることを検証し得る。もう一度繰り返しになるが、この検証を行うことができない場合、プロセスは、終了することができ、デバイスが使用されることを防止する。
【００６２】
有効性の判断及び検証の全てが行われると仮定すると、ブートプロセスが継続して、デバイスが工程４２０で使用されることを可能にし得る。これは、例えば、ブートプロセスを完了すること、任意のアプリケーション又は他の機能をロードすること、及びデバイスが通常動作に入ることを可能にすることを含み得る。このプロセスで以前に実施された有効性の判断及び検証は、（ｉ）ファームウェア３０２が正規であり、かつ（ｉｉ）ファームウェア３０２が、正規デバイス上で実行され、偽造ではないことを保証することを助ける。
【００６３】
図４は、証明書を使用して識別及び信頼を確立することによる正規デバイス保証のための方法４００の一例を例示するが、様々な変更が図４になされ得る。例えば、一連の工程として示されているが、図４の様々な工程は、重複してもよく、並行して生じてもよく、異なる順序で生じてもよく、又は任意の回数生じてもよい。
【００６４】
いくつかの実施形態では、本特許文献に記載した様々な機能は、コンピュータ可読プログラムコードから形成され、コンピュータ可読媒体において具現化されるコンピュータプログラムによって実施される、又はサポートされる。「コンピュータ可読プログラムコード」という語句は、ソースコード、オブジェクトコード、及び実行可能コードなど、任意の種類のコンピュータコードを含む。「コンピュータ可読媒体」という語句は、読み取り専用メモリ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ、ＲＯＭ）、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）、ハードディスクドライブ、コンパクトディスク（ｃｏｍｐａｃｔ  ｄｉｓｃ、ＣＤ）、デジタルビデオディスク（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｄｉｓｃ、ＤＶＤ）、又は任意の他の種類のメモリなど、コンピュータによってアクセスされ得る任意の種類の媒体を含む。「非一時的」なコンピュータ可読媒体は、一時的な電気信号又は他の信号を搬送する有線リンク、無線リンク、光リンク、又は他の通信リンクを除外する。非一時的なコンピュータ可読媒体は、再書き込み可能光ディスク又は消去可能記憶デバイスなど、データが永続的に格納され得る媒体、及びデータが格納されて後に上書きされ得る媒体を含む。
【００６５】
本特許文献を通じて使用される特定の単語及び語句の定義を説明することは有益となろう。「アプリケーション」及び「プログラム」という用語は、１つ以上のコンピュータプログラム、ソフトウェアコンポーネント、命令のセット、プロシージャ、関数、オブジェクト、クラス、インスタンス、関連データ、又は（ソースコード、オブジェクトコード、又は実行可能コードなど）好適なコンピュータコードにおいて実施するために適合された、これらの一部を指す。「通信する」という用語並びにその派生語は、直接通信及び間接通信の両方を含む。「含む（ｉｎｃｌｕｄｅ）」及び「含む（ｃｏｍｐｒｉｓｅ）」という用語並びにその派生語は、限定的ではない包含を意味する。「又は」という用語は、包括的であり、「及び／又は」を意味する。「〜と関連付けられる」という語句、並びにその派生語は、含むこと、中に含まれること、相互接続すること、包含すること、中に包含されること、相互に接続すること、相互に結合すること、通信可能であること、協調すること、交互配置すること、並列すること、近接すること、相互に結び付けられること、有すること、属性を有すること、相互に関係を有することなどを含むことを意味してもよい。「〜のうちの少なくとも１つ」という語句は、項目のリストと共に使用される場合、リストされている項目の１つ以上の様々な組み合わせが使用されてもよく、リスト内の１つの項目のみが必要とされ得ることを意味する。例えば、「Ａ、Ｂ、及びＣの少なくとも１つ」は、Ａ、Ｂ、Ｃ、Ａ及びＢ、Ａ及びＣ、Ｂ及びＣ、並びにＡ及びＢ及びＣという組み合わせのいずれかを含む。
【００６６】
本出願における記載は、任意の特定の要素、工程、又は機能が、特許請求の範囲に含まれなければいけない本質的な要素、又は重大な要素であることを暗示すると読まれるべきではない。特許発明の主題の範囲は、許可された請求項によってのみ規定される。更に、「〜のための手段」又は「〜のための工程」という正にその語句が特定の請求項で明示的に使用され、機能を特定する分詞句がそれに続かない限り、請求項は、添付の請求項又は請求項要素のいずれに関しても米国特許法第１１２条（ｆ）を発動させることはない。請求項内における「機構」、「モジュール」、「デバイス」、「ユニット」、「構成要素」、「要素」、「部材」、「デバイス」、「機械」、「システム」、「プロセス」、又は「コントローラ」などの用語（ただし、これらに限定されない）の使用は、当業者に既知であり、請求項自体の特徴によって更に変更、又は強化される構造を指すことが理解され、意図されており、米国特許法第１１２条（ｆ）の発動は意図されていない。
【００６７】
本開示は、特定の実施形態及び一般に関連する方法について記載してきたが、これらの実施形態及び方法の改変及び変更は、当業者に明らかであろう。したがって、例示の実施形態の上記の説明は、本開示を定義又は制約することはない。他の変更、代替、及び改変はまた、添付の特許請求の範囲により定義される本開示の趣旨及び範囲を逸脱しない範囲で可能である。
【図１】
2020504583.tif 000003
【図２】
2020504583.tif 000004
【図３】
2020504583.tif 000005
【図４】
2020504583.tif 000006
【国際調査報告】
2020504583.tif 000007
2020504583.tif 000008
2020504583.tif 000009
2020504583.tif 000010
2020504583.tif 000011