(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-26
(45)【発行日】2023-11-06
(54)【発明の名称】セキュアデータ処理
(51)【国際特許分類】
G06F 21/57 20130101AFI20231027BHJP
G06F 21/62 20130101ALI20231027BHJP
G06F 21/51 20130101ALI20231027BHJP
G06F 21/52 20130101ALI20231027BHJP
G06F 21/44 20130101ALI20231027BHJP
【FI】
G06F21/57
G06F21/62
G06F21/51
G06F21/52
G06F21/44
(21)【出願番号】P 2020548761
(86)(22)【出願日】2019-03-13
(86)【国際出願番号】 FR2019000033
(87)【国際公開番号】W WO2019175482
(87)【国際公開日】2019-09-19
【審査請求日】2022-02-28
(32)【優先日】2018-03-14
(33)【優先権主張国・地域又は機関】FR
(73)【特許権者】
【識別番号】520230950
【氏名又は名称】レッジェ,エスアーエス
【氏名又は名称原語表記】LEDGER,SAS
(74)【代理人】
【識別番号】100080447
【氏名又は名称】太田 恵一
(72)【発明者】
【氏名】トマ,オリヴィエ
(72)【発明者】
【氏名】バッカ,ニコラ
【審査官】岸野 徹
(56)【参考文献】
【文献】米国特許出願公開第2014/0137178(US,A1)
【文献】米国特許出願公開第2004/0187006(US,A1)
【文献】特開2008-165758(JP,A)
【文献】特開2017-028654(JP,A)
【文献】特表2013-531284(JP,A)
【文献】NILSSON, Andreas,Key Management with Trusted Platform Modules,Master's Thesis in Computer Science (20 credits) at the School of Engineering Physics Royal Institute of Technology year 2006,スウェーデン,2006年12月31日,https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=469c17f0e799acf294d7797c761523b44ef7f1b4
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/57
G06F 21/62
G06F 21/51
G06F 21/52
G06F 21/44
(57)【特許請求の範囲】
【請求項1】
セキュリティプロセッサ(PS)を含むセキュアデータ処理アセンブリ(ETS)の枠内で、セキュアな形で一連のオペレーションを自動的に実行する方法であって、
セキュリティプロセッサ(PS)が、読取り専用メモリ(ROM)と
、ランダムアクセスメモリ(RAM)と
、暗号機能を果たす能力を有する
暗号計算機(UE)と
、少なくとも1つの単調カウンタ(CM)
および前記単調カウンタ(CM)に結び付けられた単調カウンタ管理ユニット(UG)と、
公開鍵アルゴリズムを用いた暗号モジュールとを少なくとも含み、
セキュリティプロセッサ(PS)が他のいかなる記憶用メモリも含まず、そのためセキュリティプロセッサ(PS)は
コンテクストデータを含むいかなるプログラム
も永久的に記憶
できないようになっており、
該方法が、
-
1名の初期登録管理者(AI)を認
証する
ために提供される公開鍵(CP)
を、その最初の使用の前に読取り専用メモリ(ROM)内に記憶
すること、
- 前記セキュリティプロセッサ(PS)の外部の少なくとも1つのメモリ(ME)および、セキュリティプロセッサ(PS)の外部の少なくとも1つのメモリ(ME)を前記セキュリティプロセッサ(PS)に接続する能力を有する少なくとも1つの接続手段(CO)を提供すること、
- 前記セキュリティプロセッサ(PS)の外部のメモリ(ME)にセキュリティプロセッサ(PS)により実行されることを目的とするコンテクストデータを含む少なくとも1つのプログラムを記憶すること、
- セキュリティプロセッサ(PS)の外部のメモリ(ME)に前記セキュリティプロセッサ(PS)を接続すること、
- コンテクストデータを含む前記プログラムをセキュリティプロセッサ(PS)のランダムアクセスメモリ(RAM)内にロードすること、
- 公開鍵アルゴリズムを用いた暗号モジュールによってコンテクストデータを含むプログラムを認証すること、
- セキュリティプロセッサ(PS)のランダムアクセスメモリ(RAM)内に一時的にロードされたコンテクストデータを含む前記プログラムのセキュリティプロセッサ(PS)による先行する実行の結果としての認証されたファイルを受信し記憶することであって、コンテクストデータは、セキュリティプロセッサ(PS)が単調カウンタ(CM)の最終状態とのコンテクストデータの同期化を確認できるようにする基準値を含み、
- 単調カウンタ(CM)の最終状態とのコンテクストデータの同期化をセキュリティプロセッサ(PS)によって確認すること、
- 暗号計算機(UE)を使用してランダムアクセスメモリ(RAM)にロードされた命令を実行し、認証後、単調カウンタ(CM)をインクリメントすること
を含む、方法。
【請求項2】
セキュリティプロセッサ(PS)がバーチャルマシンとしてエミュレートされていることを特徴とする、請求項1に記載の
方法。
【請求項3】
セキュリティプロセッサ(PS)に接続された複数
の外部メモリ(ME)を
提供することを含むことを特徴とする、請求項
1に記載の
方法。
【請求項4】
セキュリティプロセッサ(PS)によって外部メモリ(ME)
を認証
することを
含むことを特徴とする、請求項
1に記載の
方法。
【請求項5】
複数
のセキュリティプロセッサ(PS)、および少なくとも1つの外部メモリ(ME)を含む
セキュアデータ処理インフラストラクチャ(ITS)において使用され、複数のセキュリティプロセッサ(PS)の各セキュリティプロセッサ(PS)
が外部メモリ(ME)に接続されていることを特徴とする、
請求項1に記載の方法。
【請求項6】
複数のセキュリティプロセッサ(PS)および複数
の外部メモリ(ME)を含
むセキュアデータ処理インフラストラクチャ(ITS)において使用され、複数のセキュリティプロセッサ(PS)の各々のセキュリティプロセッサ(PS)が、複数の外部メモリ(ME)のうちの少なくとも1つの外部メモリ(ME)に接続されていることを特徴とする、請求項
1に記載の
方法。
【請求項7】
後続管理者を登録するための一連のオペレーション
の実行
を含み、一連のオペレーションが、
- A:
後続管理者が、セキュリティプロセッサ(PS)に接続された外部メモリ(ME)にアクセス可能
なセキュリティプロセッサ(PS)を活動化させるステップ、
- B:セキュリティプロセッサ(PS)が、ひとたび活動化された時点で、外部メモリ(ME)内の公開鍵(CP)を回収して、公開鍵暗号モジュール(MC)により
後続管理者を認証できるようになるステップ、
- C:セキュリティプロセッサ(PS)が、それを活動化した管理者を後続登録管理者(AU)として認証
し、この後続登録管理者(AU)によって認証されたデータおよび命令セットをロードし、それを実行するステップ、
- D:セキュリティプロセッサ(PS
)が、認証され得るデータをいくつか含むデータセットを生成し、前記データセットが、セキュリティプロセッサ(PS)によってひとたび生成された時点で、後続登録管理者(AU)によって使用される外部メモリ(ME)内に記憶されるステップ、
を含むことを特徴とする
、請求項1に記載の方法。
【請求項8】
各々1つの外部メモリ(ME)を有する2名の後続登録管理者(AU)
に外部メモリ(ME)
を帰属させることを含む、請求項
7に記載
の方法。
【請求項9】
- A’:読取り専用メモリ(ROM)内に記憶された公開鍵(CP)によって認証され確認された最初のデータおよび命令セットが、セキュリティプロセッサ(PS)のランダムアクセスメモリ内にロードされて、別のデータおよび命令セットをロードしこのセットをセキュリティプロセッサ(PS)により実行させる後続登録管理者(AU)の資格付与プログラムを実行することを
セキュリティプロセッサ(PS)が可能にするステップ、
- B’
:セキュリティプロセッサ(PS
)が、
最初のデータおよび命令セットを実行し、暗号化され署名された後続登録管理者(AU)の認証要素を含むファイルを生成するステップであって、署名されたファイルが後続登録管理者(AU)によってセキュリティプロセッサ(PS)の外部のメモリ(ME)上にセーブされ記憶される
、ステップ、
- C’:最初のデータおよび命令セットのセキュリティプロセッサ(PS)による実行が、同時に、単調カウンタ(CM)のインクリメンテーションをひき起こすステップ、
という登録ステップの実行を含むことを特徴とする、請求項
7に記載
の方法。
【請求項10】
後続登録管理者(AU)の異なるグループを登録できるよ
うな形で
、ステップA’、B’およびC’を複数回反復す
ることを特徴とする、請求項
9に記載
の方法
。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セキュアデータ処理に関する。本発明は、より厳密には、読取り専用メモリ、ランダムアクセスメモリ、暗号機能を果たす能力を有する計算機、および少なくとも1つの単調カウンタに結び付けられた単調カウンタ管理ユニットを含むタイプのセキュリティプロセッサ、このようなセキュリティプロセッサそして接続手段を伴って外部メモリを含むセキュアデータ処理アセンブリ、複数のセキュリティプロセッサを含むセキュアデータ処理インフラストラクチャ、そして最後にこのようなセキュアデータ処理アセンブリの使用方法を目的とする。
【背景技術】
【0002】
本発明の枠内で、セキュア化とは、命令および関連するコンテクストで構成されたプログラム、ならびに前記プログラムの実行指令を与える人物の認証の無欠性の維持および制御、を意味する。「コンテクスト」なる用語は、その下でプログラムを使用することができるパラメータ、命令および条件のセット、そしてより広義には、命令、コードまたはデータのセット全体として理解されるべきものである。「管理者」なる用語は、一方では初期登録管理者を、そして他方では、他のあらゆる後続登録管理者を指す。「登録された」とは、記録された、登記されたまたは換言すると、命令を与えることを認可されたという意味に理解すべきである。「1名の登録管理者の認証」とは、命令を与える1名の人物が登録管理者であることを確認し、セキュリティプロセッサによる当該の命令の実行を認可するプロセスを意味する。「複数登録管理者の認証」とは、複数の人物および登録管理人に対して個別に適用される類似のプロセスを意味する。
【0003】
仏国特許第2906380号明細書は、物理的媒体上に記憶されたデータセキュア化システムおよびその使用方法について記述している。データセキュア化システムは、キーボード、スクリーン、マイクロホン、スピーカ、電子カード、データ送受信用モジュール、加入者識別モジュールおよび給電用バッテリを備えたケースを特に含む携帯電話などのデバイス内に搭載されている。電子カードは、少なくとも1つのマイクロコントローラ、ランダムアクセスメモリ、フラッシュメモリおよびバスシステムを含む。電話の利用は、オペレーティングシステムおよび、例えばこの電話のメモリ内にロードされるアプリケーションセットによって管理される。セキュア化システムは、場合によってはランダムアクセスメモリなどのシステムリソースを伴う計算エンティティ(例えばマイクロプロセッサ)、単調カウンタ(一単位ずつインクリメントすることのみ可能)、システムキー(システムによって認可された唯一のエンティティがアクセスできる暗号鍵)および情報処理データの持続的記憶を保証する物理的データ媒体(例えばハードディスク、フラッシュメモリなど)を一体として含む。この物理的データ媒体は、少なくとも1つのデータブロックおよび2つのマスタブロックを含み、これらのブロックのサイズは設定可能である。実施方法は、認証鍵を使用する。仏国特許第2906380号明細書のデータセキュア化システムおよびその使用方法は、一方ではリプレイ(データ管理システムの以前のコンテンツを不正にコピーすることによるデータに対する不正なアクセス)、そして他方では、特に急激なサービス中断(例えば電源の電流遮断またはシステムの時ならぬ再始動)によって誘発される改変または修正に対するセキュア化の問題を解決することを目指している。この文書は、管理者の認証を保証していない。
【0004】
米国特許出願公開第2004/0187006号明細書は、データセキュリティの分野に関し、より詳細には、セキュアな環境の外に位置するためにセキュアではない外部メモリからのデータの信頼性の高い回収の分野に関する。データセキュア化システムは、計算エンティティおよび、外部メモリに向けての要求が最新のデータを返送しているか否かをセキュアな環境内で決定するための単調カウンタの使用を含んでいる。単調カウンタは、主要な要素がメモリ内に書き込まれる毎にインクリメントされる。制御入力が、主要要素に関係する要素の最終修正時刻を記録する。単調カウンタの値は、メモリ内のデータの次の書込みまで同じに保たれる。この文書は、単調カウンタの使用を考慮に入れているものの、その目的は、本発明の目的であるセキュア化ではない。
【0005】
米国特許出願公開第2014/0137178号は、保護されたオブジェクト内に格納された情報にアクセスするために情報処理デバイスのプログラムが発出するデマンドを、情報処理デバイスのセキュアプラットフォームモジュールTPMによって受理するステップ;プログラムが情報にアクセスするのを許可する条件が満たされているか否かを決定するステップ;条件が満たされたことに応えてプログラムに情報へのアクセスを許可するステップ;条件が満たされなかったことに応えて、プログラムに対し情報へのアクセスを拒絶するステップ;およびプログラムに由来するデマンドの閾値数について1つの条件が満たされないことに応えて、不確定期間にわたり情報をロックしてプログラムが情報にアクセスするのを妨げるステップを含む方法に関する。オブジェクトは、セキュアなプラットフォームモジュールによって維持される。各オブジェクトは情報を記憶し、プログラムが情報にアクセスできるようになるためにプログラムが満たさなくてはならない条件を識別する1つのポリシーに結び付けられている。各々のオブジェクトについて、セキュアなプラットフォームモジュールは、オブジェクトに結び付けられた単調カウンタを管理する。単調カウンタは、オブジェクトに結び付けられた方策の条件を満たさないオブジェクトの情報に対するアクセスの要求の閾値数が実現されるかを決定するために使用される。セキュアなプラットフォームモジュールは、情報処理デバイスに対してセキュアな処理機能および/またはセキュアな記憶を提供する。セキュアな記憶は、セキュアなプラットフォームモジュールの特定の機能または他のコンポーネントによって保護された不揮発性メモリに関わるものであり、このメモリによってしかアクセスできない。情報は、データ構造内またはモジュールによって保護されているオブジェクトの名前で呼称されるオブジェクト内に記憶され、暗号鍵などのさまざまな形態をとることができる。情報に対するアクセスは、情報の読取り、その書込みまたはその修正などの異なる形態をとることができる。不揮発性メモリは、単数または複数の単調カウンタおよび単数または複数の保護されたオブジェクトを含む(該文書の
図1を参照のこと)。
【0006】
KTH CSC刊行、Andreas Nilsson著「Key Management with Trusted Platform Modules」は、コンピューティングプラットフォームをより信頼性の高いものにすることを目指した概念に関する。これは、Trusted Platform Module(TPM)と呼ばれるチップに基づいている。TPMは、RSA暗号化およびセキュアな鍵記憶などの暗号機能を提供するチップである。各TPMモジュールは、製造後、ただし顧客への発送前にTPMによって内部で作成される検証鍵と呼ばれる一意的鍵ペアを有する。鍵ペアはTPMを一意的に識別し、二度と変更できない。プライベートパートは、決してTPMから出ることがなく、公開パートは、認証証明書中で使用される。不揮発性メモリおよび揮発性メモリが想定される。不揮発性メモリは、同一性および状態の持続的データおよび内部鍵を記憶するために使用される。所有者の認証と共に、持続的かつ不透明なデータ(TPMがアクセスできないか使用できないもの)を、TPMに向けておよびTPMから、書込みおよび読取りすることが可能である。揮発性メモリは、主としてTPMにより内部で使用される。
【0007】
Luis F.G.Sarmentaら著、「Virtual Monotonic Counters and Count-Limited Objects using a TPM without a trusted OS」は、セキュアなプラットフォームモジュールTPMによる信頼性を有するものでないマシンを用いた仮想単調カウンタの開発について説明している。
【先行技術文献】
【特許文献】
【0008】
【文献】仏国特許第2906380号明細書
【文献】米国特許出願公開第2004/0187006号明細書
【文献】米国特許出願公開第2014/0137178号明細書
【非特許文献】
【0009】
【文献】KTH CSC刊行、Andreas Nilsson著「Key Management with Trusted Platform Modules」
【文献】Luis F.G.Sarmentaら著、「Virtual Monotonic Counters and Count-Limited Objects using a TPM without a trusted OS」
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明の基礎にある問題は、読取り専用メモリ、ランダムアクセスメモリ、暗号機能を果たす能力を有する計算機、および少なくとも1つの単調カウンタに結び付けられた単調カウンタ管理ユニットを含むセキュリティプロセッサにおいて、その使用のセキュア化、つまりこのセキュリティプロセッサが実行するプログラムおよびそれに関連するコンテクスト、ならびに前記プログラムの実行指令を与える登録管理者の認証の無欠性の維持および制御を保証することにある。
【課題を解決するための手段】
【0011】
本発明は、特にプロセッサがいかなるほかの記憶用メモリも含まず、こうしてプロセッサが外部プログラムまたはデータを全く記憶しないことを想定することによって、この問題を解決する。こうして、記憶はプロセッサとの関係において「外在化」され、実行システムは、完璧な無欠性を保つような形で、実行すべきデータから分離され隔離される。
【0012】
以下で、本発明について説明する。
【0013】
第1の態様によると本発明は、読取り専用メモリと、ランダムアクセスメモリと、暗号機能を果たす能力を有する計算機と、少なくとも1つの単調カウンタに結び付けられた単調カウンタ管理ユニットとを少なくとも含むセキュリティプロセッサを目的とする。このセキュリティプロセッサは、
- 他のいかなる記憶用メモリも含まず、そのためセキュリティプロセッサは、いかなるプログラム、コンテクスト(命令、コード、データ)または外部データも記憶しないようになっており、
- 少なくとも1名の初期登録管理者を認証できるようにする公開鍵が、その最初の使用の前に読取り専用メモリ内に記憶され、
- ランダムアクセスメモリが、公開鍵暗号モジュールにより認証され得るコンテクストなどのデータおよび命令のセットをロードする能力を有し、
- 該命令が初期登録管理者により認証された後の、計算機によるいくつかの命令の実行が、単調カウンタの1つをインクリメントするようなものである。
【0014】
このようなセキュリティプロセッサは、このようなセキュリティプロセッサおよび外部メモリを含むセキュアデータ処理アセンブリの枠内で、セキュアな形で一連のオペレーションを自動的に実行することを可能にする。
【0015】
一実施形態において、セキュリティプロセッサは、バーチャルマシンとしてエミュレートされる。
【0016】
第2の態様によると、本発明は、上述のセキュリティプロセッサ、そしてさらにこのセキュリティプロセッサの外部の少なくとも1つのメモリおよび、特に電子通信ネットワークを介するような、この少なくとも1つの外部メモリをセキュリティプロセッサに接続する能力を有する少なくとも1つの接続手段を含む、セキュアデータ処理アセンブリを目的とする。
【0017】
1つの特徴および1つの実施形態によると、セキュリティ上の理由から、セキュアデータ処理アセンブリは、セキュリティプロセッサに接続された複数の、つまり少なくとも2つの外部メモリを含む。
【0018】
1つの特徴によると、セキュアデータ処理アセンブリの少なくとも1つの外部メモリは、セキュリティプロセッサに対して認証される。
【0019】
一実施形態によると、セキュアデータ処理アセンブリの外部メモリは、
- セキュリティプロセッサのランダムアクセスメモリ内にロードされることを目的とする少なくとも1つのプログラムおよび少なくとも1つのコンテクスト(命令、コード、データ)を記憶し、
- かつセキュリティプロセッサのランダムアクセスメモリ内に一時的にロードされた少なくとも1つのプログラムおよび少なくとも1つのコンテクストのセキュリティプロセッサによる実行の結果としての認証された全てのファイルを受信し記憶できる、
能力を有しかつ特にそれを目的とするために構成されており、
一方で、少なくとも1つのコンテクストは、単調カウンタの最終状態との少なくとも1つのコンテクストの同期化をセキュリティプロセッサが確認できるようにする能力を有する基準値を含み得る。
【0020】
第3の態様によると、本発明は、上述のもののような複数の、つまり少なくとも2つのセキュリティプロセッサと、セキュアデータ処理アセンブリとの関係において前述したもののような少なくとも1つの外部メモリとを含むセキュアデータ処理インフラストラクチャにおいて、複数のセキュリティプロセッサの各々のセキュリティプロセッサが少なくとも1つの外部メモリに接続されている、セキュアデータ処理インフラストラクチャを目的とする。
【0021】
一実施形態によると、セキュアデータ処理インフラストラクチャは、複数の、つまり少なくとも2つの外部メモリを含み、複数のセキュリティプロセッサの各々のセキュリティプロセッサが、複数の外部メモリのうちの少なくとも1つの外部メモリに接続されている。
【0022】
考えられる一実施形態によると、セキュアデータ処理インフラストラクチャは、複数の、つまり少なくとも2つの互いに同期化された外部メモリを含み、複数セキュリティプロセッサのうちの各々のセキュリティプロセッサは、複数の外部メモリのうちのどちらかの外部メモリを無差別に使用することができる。
【0023】
考えられる一実施形態によると、セキュアデータ処理インフラストラクチャは、外部メモリのいくつかのペア、トリオ、カルテットまたはそれ以上の組を含み、各々のセキュリティプロセッサは、互いに同期化された外部メモリのペア、トリオ、カルテットまたはそれ以上の組に結び付けられている。
【0024】
したがって、このままの状態のセキュリティプロセッサは、他の記憶用メモリを含まない。単数または複数のこのような記憶用メモリは、セキュリティプロセッサの外部にあって、セキュアデータ処理アセンブリまたはセキュアデータ処理インフラストラクチャを形成する。
【0025】
第4の態様によると、本発明は、セキュアデータ処理アセンブリによる一連のオペレーションのセキュアな実行方法において、
- A:セキュリティプロセッサに接続された外部メモリにアクセス可能な管理者が、セキュリティプロセッサを活動化させるステップ、
- B:セキュリティプロセッサが、ひとたび活動化された時点で、外部メモリ内の公開鍵を回収して、公開鍵暗号モジュールによりこの公開鍵を認証できるようになるステップ、
- C:セキュリティプロセッサが、それを活動化した管理者を後続登録管理者として認証する場合、セキュリティプロセッサは、この後続登録管理者によって認証されたデータおよび命令セットをロードし、それを実行するステップ、
- D:セキュリティプロセッサによるこの実行が、認証され得るデータをいくつか含むデータセットを生成し、このデータセットは、セキュリティプロセッサによってひとたび生成された時点で、後続登録管理者によって使用される外部メモリ内に記憶されるステップ、
の実行を少なくとも含む方法を目的とする。
【0026】
1つの特徴および1つの実施形態によると、セキュリティ上の理由から、上述の方法は、各々1つの外部メモリにアクセス可能な2名の後続登録管理者、より一般的には複数の少なくとも2名の後続登録管理者により実行される。
【0027】
該方法は、初期登録管理者がセキュアデータ処理アセンブリを有し後続登録管理者を登録する初期ステップの実行を同様に含む。
【0028】
このとき、該方法は、
- A’:読取り専用メモリ内に記憶された公開鍵によって認証され確認された最初のデータおよび命令セットが、セキュリティプロセッサのランダムアクセスメモリ内にロードされて、別のデータおよび命令セットをロードしこのセットをセキュリティプロセッサにより実行させる後続登録管理者の資格付与プログラムを実行することを可能にするステップ、
- B’:最初のデータおよび命令セットのセキュリティプロセッサによる実行が、後続登録管理者によってセキュリティプロセッサの外部のメモリ上にセーブされ記憶される、暗号化され署名された後続登録管理者の認証要素を含むファイルを生成するステップ、
- C’:最初のデータおよび命令セットのセキュリティプロセッサによる実行が、同時に、単調カウンタのインクリメンテーションをひき起こすステップ、
という登録ステップの実行を含む。
【0029】
1つの特徴および1つの実施形態によると、セキュリティ上の理由から上述の登録ステップは、初期登録管理者が、少なくとも2名の後続登録管理者、より一般的には複数の少なくとも2名の後続登録管理者を登録するようなものである。
【0030】
一実施形態によると、全ては、一連のオペレーションをセキュリティプロセッサにより実行させあらゆる電子デバイスまたは外部ネットワークに伝送できることを目的として、後続登録管理者の異なるグループを登録できるようにし、異なるデータおよび命令セットをロードし自ら実行させるような形で、上述の3つのステップA’、B’およびC’を複数回反復することができる。
【0031】
該方法は同様に、
- 先行する登録ステップの際に登録された後続登録管理者が、データおよび命令セットをセキュリティプロセッサのランダムアクセスメモリ内にロードできるようになる前に、電子署名などの信頼性の高いアクセス制御方法により、現状のままの実行コンテクストに照らしてセキュリティプロセッサに対して自己認証するステップ、
- データおよび命令セットのセキュリティプロセッサによる実行が、単数または複数の単調カウンタのインクリメンテーションを生成でき、かつセキュリティプロセッサの外部で、外部メモリ内にこれらの後続登録管理者の各々によってのみセーブされ記憶される、コードの実行に関係するデータを含む暗号化され署名された第2のファイルを生成するステップ、
という後続ステップの実行を含むこと、を特徴とする。
【0032】
セキュリティ上の理由から、データおよび命令セットは、ひとたびセキュリティプロセッサのランダムアクセスメモリ内にロードされた時点で、先行するデータおよび命令セットにより全ての後続登録管理者の認証をセキュリティプロセッサが検証した後にのみ実行可能であること、を想定することができる。
【0033】
ここで、図面について簡単に説明する。
【図面の簡単な説明】
【0034】
【
図1】本発明に係る基本的なセキュリティプロセッサを構成する異なるコンポーネントを概略的に表現する。この図は、セキュリティプロセッサが、読取り専用メモリ、ランダムアクセスメモリ、計算機、単調カウンタに結び付けられた単調カウンタ管理ユニットしか含まず、他のいかなる記憶用メモリも含まず、したがっていかなるプログラムも外部データも記憶しないことを例示している。
【
図2】
図1のもののようなセキュリティプロセッサ、セキュリティプロセッサの外部のメモリ、および例えば電子通信ネットワークを介してこのセキュリティプロセッサとこの外部メモリとを接続する能力を有する接続手段、を含む本発明に係る基本的なセキュアデータ処理アセンブリを構成する異なるコンポーネントを概略的に表現する。
【
図3】本発明に係るセキュアデータ処理インフラストラクチャを構成するコンポーネントを概略的に表現する。
図3の場合、インフラストラクチャは、
図1および2のもののような2つのセキュリティプロセッサおよび、互いに同期化された
図2のもののような3つの外部メモリを含み、各々のセキュリティプロセッサは3つの外部メモリのうちの1つを無差別に使用できる。
【
図4】本発明に係るセキュアデータ処理インフラストラクチャを構成するコンポーネントを概略的に表現する。
図4の場合、インフラストラクチャは、
図1および2のもののような2つのセキュリティプロセッサおよび、
図2のもののような2つの外部メモリペアを含み、各々のセキュリティプロセッサは、互いに同期化された外部メモリペアに結び付けられる。
【
図5】本発明に係るセキュアデータ処理アセンブリの実行ステップの全体図を提示する。
【
図6】2名の後続登録管理者の異なる登録ステップを提示する。
【発明を実施するための形態】
【0035】
本発明に係るセキュリティプロセッサPS(
図1)は、読取り専用メモリROM、ランダムアクセスメモリRAM、暗号機能を果たす能力を有する計算機UE、少なくとも1つの単調カウンタCMに結び付けられた単調カウンタ管理ユニットUGを含む。
【0036】
少なくとも1名の初期登録管理者AIを認証できるようにする公開鍵CPが、その最初の使用の前に読取り専用メモリROM内に記憶される。ランダムアクセスメモリRAMは、セキュリティプロセッサPSが含む公開鍵暗号モジュールMCにより認証され得る(コンテクストなどの)データおよび命令のセットをロードする能力を有する。
【0037】
該命令が認証された後の、計算機UEによるいくつかの命令の実行は、1つの単調カウンタCMをインクリメントすることができる。
【0038】
一実施形態において、セキュリティプロセッサPSは、バーチャルマシンとしてエミュレートされている。
【0039】
セキュリティプロセッサPSの1つの特徴によると、セキュリティプロセッサPSは、セキュリティプロセッサPSがいかなるプログラム、コンテクスト(命令、コード、データ)または外部データも永久的に記憶しないように、永久的な他のいかなる記憶用メモリも含まない。
【0040】
したがって、セキュリティプロセッサPSは、読取り専用メモリROM、ランダムアクセスメモリRAM、計算機UE、管理ユニットUG、少なくとも1つの単調カウンタCMおよび暗号モジュールMCで構成されている。
【0041】
ただし、セキュアデータ処理のためには少なくとも1つのこのような記憶用メモリMEが想定されるものの、この記憶用メモリはセキュリティプロセッサPSの外部にあり、その一部を成さず、物理的にそれに統合されているものではない。
【0042】
こうして、このようなセキュリティプロセッサPSおよび少なくとも1つのこのような記憶用メモリMEならびに適切な通信手段を用いて、セキュアデータ処理アセンブリETSまたはセキュアデータ処理インフラストラクチャITSが形成される(
図2、3および4)。
【0043】
セキュリティプロセッサPSは、このようなセキュアデータ処理アセンブリETS内またはこのようなセキュアデータ処理インフラストラクチャITS内で、セキュアな形で一連のオペレーションを自動的に実行することができる。これはすなわち、先に定義された意味合いにおいて、プログラムおよびそれに関連するコンテクスト、ならびに登録管理者の認証の無欠性の維持および制御が保証されることを意味する。
【0044】
「セキュリティプロセッサの外部の」記憶用メモリというのは、セキュリティプロセッサPSが構成する物理的ユニットの中に含まれないメモリとして理解しなければならない。この理由から、このメモリは「外部メモリ」と命名され、MEとして言及される。
【0045】
メモリMEがセキュリティプロセッサPSの外部にあるという特徴には、セキュリティプロセッサPSとの関係において記憶を外在化させる役割、または換言すると、データから実行システム(プロセッサPS)を分離し隔離する役割がある。
【0046】
常設の外部固定メモリはセキュリティプロセッサPSそれ自体に対して効果または影響を及ぼさないことから、メモリMEがセキュリティプロセッサPSの外部にあるという特徴は、一方ではプロセッサPSのデータ処理能力を制限しないという結果を、そして他方ではプロセッサの処理の不変性、したがって無欠性を保証するという結果をもたらす。
【0047】
本発明は同様に、上述の通り外部記憶用メモリMEとは異なるものの、上述のものと同じ役割を果たし類似の結果を提供する他の全ての手段をも目的とする。
【0048】
セキュアデータ処理アセンブリETSは、先に定義された意味合いにおいて、上述の通りのセキュリティプロセッサPSと、さらには外部メモリMEを含む(
図2)。アセンブリETSは同様に、例えば特に電子通信ネットワークを介して、外部メモリMEをセキュリティプロセッサPSに接続する能力を有する少なくとも1つの接続手段COをも含む。
【0049】
セキュアデータ処理アセンブリETSは、唯一の外部メモリMEしか含まなくてよい。ただし、セキュリティ上の理由から、いかなる適用決定も唯一の人物によって実行することができないようにすることが所望される場合には、セキュアデータ処理アセンブリETSが、少なくとも2名の後続登録管理者AUのための少なくとも2つの外部メモリMEを含むことが想定される。
【0050】
以下の説明は、2つの外部メモリMEをもつ実施形態に関連するものである。ただし、外部メモリMEの数についてのこの特徴は限定的なものではない。詳細には、3つ以上の外部メモリMEを想定することが可能である。この理由から、複数の、つまり少なくとも2つの外部メモリME(外部メモリMEの数はさらに大きいものであり得る)および複数の、つまり少なくとも2名の後続登録管理者AU(後続登録管理者AUの数はさらに大きいものであり得る)を基準にすることもできる。
【0051】
接続手段COは、セキュリティプロセッサPSから外部メモリMEへの方向では暗号化された記憶を、そして外部メモリMEからセキュリティプロセッサPSへの方向では暗号化された回収を可能にし得る。
【0052】
セキュアデータ処理アセンブリETSの単数または複数の外部メモリMEのコンテンツは、セキュリティプロセッサPSに対して認証される。
【0053】
外部メモリMEは、セキュリティプロセッサPSのランダムアクセスメモリRAM内にロードされることを目的とする少なくとも1つのプログラムおよび少なくとも1つのコンテクスト(命令、コード、データ)を記憶し、かつ以上で説明されたようにランダムアクセスメモリRAM内に一時的にロードされたこのようなプログラムおよびこのようなコンテクストのセキュリティプロセッサPSによる実行の結果としての認証された全てのデータセットを受信し記憶できる能力を有し、かつ特にそれを目的とするために構成されている。
【0054】
コンテクスト(その下でプログラムを使用できるパラメータおよび条件セット)は、コンテクストと単調カウンタCMの最終状態との同期化をセキュリティプロセッサPSが確認できるようにする能力を有する基準値を含み得る。
【0055】
セキュアデータ処理インフラストラクチャITSは、上述の通りの少なくとも2つのセキュリティプロセッサPS、例えばPS1およびPS2、そしてさらには上述の通りの少なくとも1つの外部メモリMEを含む(
図3および4)。
【0056】
しかしながら、セキュアデータ処理アセンブリETSの場合と同様に、セキュアデータ処理インフラストラクチャITSが、複数の、すなわち少なくとも2つ(またはより多数)の外部メモリMEを含むことを想定することができる。
【0057】
インフラストラクチャITSは同様に、アセンブリETSのように、外部メモリMEをセキュリティプロセッサPSに接続する能力を有する少なくとも1つの接続手段COを含む。
【0058】
このようなセキュアデータ処理インフラストラクチャITSの構造は、多数の実施形態の対象となり得、これらの実施形態の各々は、各セキュリティプロセッサPSが少なくとも1つの外部メモリMEに接続されているようなものである。したがって、場合によって、1つのセキュリティプロセッサPSが、唯一の外部メモリMEまたは反対に複数の外部メモリMEに接続され、1つの外部メモリMEが、唯一のセキュリティプロセッサPSまたは反対に複数のセキュリティプロセッサPSに接続される。
【0059】
したがって、場合によっては、単数または複数のセキュリティプロセッサPSおよび/または単数または複数の外部メモリMEを有する互いに組合わされた複数のセキュアデータ処理アセンブリETSの構造化として、セキュアデータ処理インフラストラクチャITSを考えることができる。
【0060】
考えられる一実施形態(
図3)において、セキュアデータ処理インフラストラクチャITSは、複数のセキュリティプロセッサPS1、PS2、および互いに同期化された複数の外部メモリME1、ME2、ME3を含み、こうして各セキュリティプロセッサPS1、PS2は外部メモリME1、ME2、ME3のいずれかを無差別で使用することができるようになっている。
【0061】
このような構造には、高い耐障害性を有するという利点がある。
【0062】
考えられる別の実施形態(
図4)において、セキュアデータ処理インフラストラクチャITSは、複数のセキュリティプロセッサPS1、PS2、および、外部メモリMEの複数のペア、例えば一方ではME1aおよびME2aそして他方ではME2aおよびME2b、あるいは複数のトリオ、カルテットまたはそれ以上の組を含み、こうしてセキュリティプロセッサPS1、PS2の各々が、互いに同期化された外部メモリMEの1つのペア、トリオ、カルテット....に対して結び付けられるようになっている。
【0063】
このような構造には、分割によりデータ群を作成することによってシステムの性能を改善するという利点がある。
【0064】
ここで、連続的ステップの実行を含む、上述のセキュアデータ処理アセンブリETSの使用方法について説明する。
【0065】
本発明に係る方法の枠内では、これらの方法を使用する単数または複数の登録管理者AI、AUを基準とすることになる。これらの管理者は、初期登録管理者AIおよび他の全ての後続登録管理者AUである。
【0066】
先に説明された通り、セキュリティ上の理由から、いかなる適用決定も唯一の人物によって実行され得ないことが望まれる場合、少なくとも2名の後続登録管理者AUが想定される。
【0067】
方法についての以下の説明は、それぞれAU1およびAU2という2名の後続登録管理者AUを有する実施形態に関連するものである。しかしながら、後続登録管理者AUの数に関するこの特徴は限定的ではない。詳細には、3名以上の後続登録管理者を想定することができる。
【0068】
ここで
図5を参照して、2名の後続登録管理者AU1およびAU2の場合におけるセキュアデータ処理アセンブリETSの実行について一般的に説明する。
【0069】
ステップAにおいて、セキュリティプロセッサPSに接続された外部メモリMEに各々アクセス可能な2名の後続登録管理者AU1またはAU2は、前記セキュリティプロセッサPSを活動化させる。したがってこのステップAは、以下のオペレーションを含む。
- A1:登録管理者AU1のコンテクストの回収、
- A2:登録管理者AU2のコンテクストの回収、
- A3:登録管理者AU1によるセキュリティプロセッサPSの活動化、
- A4:登録管理者AU2によるセキュリティプロセッサPSの活動化。
【0070】
ステップBにおいて、セキュリティプロセッサPSは、ひとたび活動化された時点で、1つのメモリ内の1つの公開鍵CPを回収して、公開鍵アルゴリズムを使用する暗号モジュールMCによってそれらを認証できるようにする。
【0071】
ステップCにおいて、セキュリティプロセッサPSが登録管理者AU1およびAU2を認証した場合、このセキュリティプロセッサPSは、これらの登録管理者AU1およびAU2により認証されたデータおよび命令セットをロードし(登録管理者AU1およびAU2についてのオペレーションC1およびC2)、それを実行する(オペレーションC3)。
【0072】
ステップDにおいて、セキュリティプロセッサPSによるこの実行(オペレーションC3)は、認証され得るものをいくつか含むデータセットを生成する。このデータセットは、ひとたびセキュリティプロセッサPSにより生成されると、登録管理者AU1、AU2によって使用された単数または複数の外部メモリME内に記憶される。したがって、このステップDは、以下のオペレーションを含む。
- D1:登録管理者AU1に関係するデータの回収、
- D2:登録管理者AU2に関係するデータの回収、
- D3:登録管理者AU1に関係するデータの、外部メモリME内への記憶、
- D4:登録管理者AU2に関係するデータの、外部メモリME内への記憶。
【0073】
該方法は同様に、初期登録管理者AIがセキュアデータ処理アセンブリETSを有し、少なくとも1人の後続登録管理者を登録する、以下の初期登録ステップも含んでいる。先に説明した通り、セキュリティ上の理由から、いかなる適用決定も唯一の人物によって実行され得ないことが望まれる場合には、初期登録管理者AIは、2名の後続登録管理者としてそれぞれAU1およびAU2という2人のまたは少なくとも2名の後続登録管理者AUを登録する。登録方法は、2名の後続登録管理者AU1およびAU2を有する実施形態に関して説明されている。しかしながら、指摘された通り、後続登録管理者の数についてのこの特徴は限定的なものではない。同様に、より一般的には、初期登録管理者AIは、少なくとも2名の複数の後続登録管理者(AU)を登録することができる。
【0074】
それぞれAU1およびAU2というこれら2名の後続登録管理者AUの登録は、後続する実行のために使用される最初の認証コンテクストの定義に参与する最初のセットを構成する。
【0075】
初期登録管理者AIは、先に登録されているいずれかの後続登録管理者AUを後続して変更することができる。初期登録管理者AIは、単数または複数の後続登録管理者AUを追加することができる。初期登録管理者AIは、単数または複数の後続登録管理者AUを削除することができる。初期登録管理者AIは、単数または複数の後続登録管理者AUの権利を修正することができる。先に登録されているいずれかの後続登録管理者AUが後続して変更される場合、初期登録管理者AIは、対応する適応方法を使用する。このとき、更新されたコンテクストおよび、単数または複数のインクリメントされた単調カウンタが回収される。
【0076】
ここで、
図6を参照して、2名の後続登録管理者AU1およびAU2の異なる登録ステップを説明する。これらの登録ステップは、AU1およびAU2と呼ばれる最初の2名の登録管理者の場合、
図5について説明され図示された実行ステップに先行する初期ステップである。最初の登録管理者AU1およびAU2のうちのいずれかの後続の変更の場合、または先に登録されたいずれかの後続管理者AUの変更の場合、先行するコンテクストの枠内で他の管理者について、セキュアデータ処理アセンブリETSは先に命令を実行できたのに対し、登録ステップは管理者の変更の際に介入する。
【0077】
ステップA’において、読取り専用メモリROM内に記憶された公開鍵CPによって認証され確認された最初のデータおよび命令セットが、セキュリティプロセッサPSのランダムアクセスメモリRAM内にロードされて、他のデータおよび命令セットをロードしセキュリティプロセッサPSによりそれらを実行させる2名の後続登録管理者AU1およびAU2の資格付与プログラムをそれが実行できるようにする。
【0078】
したがって、このステップA’は、以下のオペレーションを含む。
- A’1:外部メモリMEからの初期管理人AIによる資格付与プログラムの回収、
- A’2:後続管理者AU1の認証要素の回収、
- A’3:類似の要領での、後続管理者AU2の認証要素の回収、
- A’4:セキュリティプロセッサPSに対する資格付与プログラムおよび認証要素の伝送。
【0079】
ステップB’において、最初のデータおよび命令セットのセキュリティプロセッサPSによる実行は、後続登録管理者AU1およびAU2の認証要素を含む暗号化され署名されたファイルを生成し、このファイルは、前記後続登録管理者AU1、AU2の各々によってセキュリティプロセッサPSの外部のメモリME上にセーブされ記憶される。
【0080】
したがって、このステップB’は、以下のオペレーションを含む。
- B’1:以下で問題にされるステップCと同時の、最初のデータおよび命令セットのセキュリティプロセッサPSによる実行、
- B’2:後続管理者AU1に関係する暗号化され署名されたデータの伝送、
- B’3:これらのデータの後続管理者AU1による外部メモリME内への記憶、
- B’4:類似の要領での、後続管理者AU2に関係する暗号化され署名されたデータの伝送、
- B’5:および、類似の要領での、これらのデータの後続管理者AU2による外部メモリME内への記憶。
【0081】
ステップC’において、最初のデータおよび命令セットのセキュリティプロセッサPSによる実行(オペレーションB’1)は、同時に単調カウンタCMのインクリメンテーションをひき起こす。
【0082】
後続登録管理者AUの異なるグループに、異なるデータおよび命令セットをロードし自ら実行させる資格を付与することを可能にするような形で、先に説明した3つのステップA’、B’およびC’を複数回反復することができ、これは全て、セキュリティプロセッサPSにより実行させ全ての電子デバイスまたは外部ネットワークに対し一連のオペレーションを伝送することを目的としている。
【0083】
2人の後続管理者AU1およびAU2がひとたび登録されると、これらの管理者は、
図5を参照して先に説明したように、後続ステップの実行に着手することができる。
【0084】
先行する登録ステップの際に登録された後続登録管理者AU1およびAU2は、セキュリティプロセッサPSのランダムアクセスメモリRAM内にデータおよび命令セットをロードすることができる前に、電子署名などの信頼性の高いアクセス制御方法によって、現状のままの実行コンテクストに照らして、セキュリティプロセッサPSに対し自己認証する。
【0085】
このデータおよび命令セットは、ひとたびセキュリティプロセッサPSのランダムアクセスメモリRAM内にロードされると、先行するデータおよび命令セットによる2名の後続登録管理者AU1およびAU2の認証をセキュリティプロセッサPSが検証した後でないと実行できない。このステップは義務的なものではなく、任意のものであるにすぎない。このステップは、ダブルセキュリティを保証することを目的とする。セキュリティを倍増したい場合には、このステップが実施される。
【0086】
セキュリティプロセッサPSによるデータおよび命令セットの実行は、セキュリティプロセッサPSの外部で、外部メモリME内にコードの実行に関係するデータを含み、これらの後続登録管理者AU1およびAU2の各々によってのみセーブされ記憶され、かつ単数または複数の単調カウンタCMのインクリメンテーションを生成し得る第2の暗号化され署名されたファイルを生成する。
【符号の説明】
【0087】
PS セキュリティプロセッサ
ROM 読取り専用メモリ
RAM ランダムアクセスメモリ
UE 計算機
CM 単調カウンタ
CP 公開鍵
UG 単調カウンタ管理ユニット
MC 公開鍵暗号モジュール
ME 記憶用メモリ・外部メモリ・外部記憶用メモリ
ETS セキュアデータ処理アセンブリ
ITS セキュアデータ処理インフラストラクチャ
CO 接続手段
AI 初期登録管理者
AU 後続登録管理者
A ステップ
B ステップ
C ステップ
D ステップ