JP2006209703A - プログラム実行保護プロセッサ - Google Patents
プログラム実行保護プロセッサ Download PDFInfo
- Publication number
- JP2006209703A JP2006209703A JP2005024561A JP2005024561A JP2006209703A JP 2006209703 A JP2006209703 A JP 2006209703A JP 2005024561 A JP2005024561 A JP 2005024561A JP 2005024561 A JP2005024561 A JP 2005024561A JP 2006209703 A JP2006209703 A JP 2006209703A
- Authority
- JP
- Japan
- Prior art keywords
- task
- program
- information
- private
- page
- 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.)
- Granted
Links
Images
Abstract
【解決手段】タスクを実行するタスク実行手段と、タスクからの要求に応じて、復号鍵が暗号化された暗号情報を取得する暗号情報取得手段4と、暗号情報取得手段4によって取得された暗号情報を復号化し、この復号化で得られた復号鍵をもって、暗号化されたプログラムコードおよび/またはデータを復号化する復号化手段5と、タスクからの要求に応じて割り当てられ、少なくとも復号化手段5によって復号化されたプログラムコードおよび/またはデータを記憶するプライベートページを有する内部メモリ7と、タスクによる上記プライベートページへのアクセスを許可するか否かを判断するアクセス判断手段8とを備える。
【選択図】図2
Description
図1は、プログラム実行保護プロセッサ(1)を含むプログラム実行装置(10)のハードウェア構成を例示したブロック図である。また図2は、第1の実施形態に関するプログラム実行保護プロセッサ(1)の内部構成を示したブロック図である。
メインメモリ(11)は、タスクプログラムコード、およびタスクプログラムコードに基づいて実行される命令によって利用されるデータが記憶されるページ(30)を有している。また、メインメモリ(11)は、OSカーネルなどの特権タスクからは秘匿化しない情報であってタスクを管理するためのタスク管理情報が記憶されるタスク管理情報格納領域(31)を有し、タスク管理情報は、タスク実行手段(2)によって起動されているタスク毎に、タスク管理情報格納領域(31)に記憶される。
タスクプライベート情報メモリ(7)のタスクプライベート情報格納領域(40)に記憶されるタスクプライベート情報には、メインメモリ(11)におけるタスク管理情報格納領域(31)の記憶アドレスを表すタスク管理情報ポインタ(41)と、タスク毎に生成されるタスク秘密情報(44)と、鍵ペア生成手段(3)によって生成された秘密鍵(42)および公開鍵(43)とが含まれる。また、タスクプライベート情報は、タスク実行手段(2)によって起動されているタスク毎に、タスクプライベート情報格納領域(40)に記憶される。
ページメモリ(6)は、上記のとおりプライベートページ(50)を有しており、また、各プライベートページ(50)に対応して、各プライベートページ(50)に関する情報を記憶するページヘッダ(51)を有している。ページヘッダ(51)には、プライベートページ(50)を割り当てられたタスクのタスク識別子(32)と同じ値が設定される所属タスク識別子(52)と、プライベートページ(50)が割り当てられたタスクのタスクプライベート情報に含まれるタスク秘密情報(44)と同じ値が設定されるタスク秘密情報(53)が記憶される。
図5は、プログラム実行保護プロセッサ(1)におけるタスク起動動作を示すフローチャートである。
まず、タスク実行手段(2)は、実行タスクに対応するタスク管理情報格納領域(31)のページテーブル(33)を構成するあるページテーブルエントリが、ページ(30)を示すものであるか、あるいはプライベートページ(50)を示すものであるかを、ページメモリレジスタ(9)に記憶されたマップ情報に基づいて判断する(S30、S31)。
まず、タスクプライベート情報メモリ(7)に記憶されたあるタスクプライベート情報格納領域(40)のタスク管理情報ポインタ(41)に基づいて、メインメモリ(11)におけるタスク管理情報格納領域(31)のタスク管理情報を取得する(S40、S41)。
ステップS44において、全てのタスクプライベート情報格納領域(40)について上記ステップの処理がなされたと判断されたら、続く下記のステップに移行する。
まず、ページメモリ(6)に記憶されたあるページヘッダ(51)の所属タスク識別子(52)に基づいて、タスクプライベート情報メモリ(7)におけるタスクプライベート情報格納領域(40)のタスクプライベート情報を取得する(S45、S46)。
図10は、本発明の第2の実施形態に係るプログラム実行保護プロセッサ(61)を含むプログラム実行装置(60)の構成を示すブロック図である。なお、本発明の第2の実施形態におけるプログラム実行装置(60)においては、上述した第1の実施形態におけるプログラム実行装置(10)の構成要素と同一の構成要素に同一の符号を付して、その説明を省略する。
アクセス制御情報(72)は、プライベートページ(50)などのリソースに対するアクセスを要求するタスクが記述されたタスクプログラムコードを識別するためのプログラム識別子(74)と、アクセス対象のリソース(75)と、読み出し、書込み、および実行などを表すアクセス種別(76)と、リソースにアクセスするタスクの実行ユーザの属性や実行環境などの環境情報の制約を表す付加条件(77)と、アクセスの可否を表すアクセス可否(78)を含む複数のアクセス条件(73)によって構成される。なお、ここで実行環境とは、タスクが実行される特権レベル、割り込み許可条件、ハードウェア構成情報などを含むものである。
図13は、プログラム証明書のデータ構成図である。
なお、以下に説明するプログラム実行保護プロセッサ(61)の動作において、タスク起動動作、プログラムコード要求動作、タスク終了動作、および不要情報消去動作については、第1の実施形態で説明したものと同様であるためその説明を省略する。
判断される(S75)。タスク管理情報格納領域(31)の記憶アドレスと実行タスクレジスタ(13)に記憶される記憶アドレスと等しいと判断された場合には、ステップS74において取得された記憶アドレスに示されるタスク管理情報格納領域(31)のタスク識別子(32)とページヘッダ(51)の所属タスク識別子(52)とが等しいか否かを判断する(S76)。
2 タスク実行手段
3 鍵ペア生成手段
4 暗号情報取得手段
5 復号化手段
6 ページメモリ
7、62 タスクプライベート情報メモリ
8、63 アクセス判断手段
9 ページメモリレジスタ
10、60 プログラム実行装置
11 メインメモリ
13 実行タスクレジスタ
14 プロセッサ状態レジスタ
30 ページ
31 タスク管理情報格納領域
32 タスク識別子
33 ページテーブル
40、70 タスクプライベート情報格納領域
41 タスク管理情報ポインタ
42 秘密鍵
43 公開鍵
44 タスク秘密情報
50 プライベートページ
51 ページヘッダ
52 所属タスク識別子
53 タスク秘密情報
64 プログラム証明書検証手段
71 第1プログラム識別子
72 アクセス制御情報
73 アクセス条件
74 プログラム識別子
75 リソース
76 アクセス種別
77 付加条件
78 アクセス可否
80 プログラム証明書
81 プログラム識別子
82 プログラムフィンガープリント
83 証明条件情報
84 発行日時
85 有効期間
86 属性情報
87 アクセス制御情報
88 発行機関
89 署名情報
Claims (9)
- タスクを実行するタスク実行手段と、
タスク実行手段によって実行されるタスクからの要求に応じて、復号鍵が暗号化された暗号情報を取得する暗号情報取得手段と、
暗号情報取得手段によって取得された暗号情報を復号化し、この復号化で得られた復号鍵をもって、暗号化されたプログラムコードおよび/またはデータを復号化する復号化手段と、
タスク実行手段によって実行されるタスクからの要求に応じて割り当てられ、少なくとも復号化手段によって復号化されたプログラムコードおよび/またはデータを記憶するプライベートページを有する内部メモリと、
タスク実行手段によって実行されるタスクによる上記プライベートページへのアクセスを許可するか否かを判断するアクセス判断手段と、
を備えたことを特徴とするプログラム実行保護プロセッサ。 - 暗号情報取得手段が、タスク実行手段によって実行されるタスクからの要求に応じて、プログラムコードおよび/またはデータが暗号化された暗号情報を取得するものであり、
復号化手段が、暗号情報取得手段によって取得された暗号情報を復号化するものである
ことを特徴とする請求項1に記載のプログラム実行保護プロセッサ。 - アクセス判断手段が、
タスク実行手段によって実行されるタスクが、アクセス要求されるプライベートページを割り当てられたタスクか否かに基づき、タスク実行手段によって実行されるタスクによるプライベートページへのアクセスを許可するか否かを判断するものである
ことを特徴とする請求項1または2に記載のプログラム実行保護プロセッサ。 - 内部メモリが、
プライベートページを割り当てられたタスクを識別するための所属タスク識別子を記憶し、
アクセス判断手段が、
上記所属タスク識別子に基づき、タスク実行手段によって実行されるタスクによるプライベートページへのアクセスを許可するか否かを判断するものである
ことを特徴とする請求項1または3に記載のプログラム実行保護プロセッサ。 - 内部メモリが、
タスクが記述されたタスクプログラムコードを識別するためのプログラム識別子と、
タスク実行手段によって実行されるタスクからプライベートページへのアクセス条件が記述されたアクセス制御情報と
を記憶し、
アクセス判断手段が、
上記プログラム識別子が上記アクセス制御情報に記述されるアクセス条件を満たすものであるか否かに基づき、タスク実行手段によって実行されるタスクによるプライベートページへのアクセスを許可するか否かを判断するものである
ことを特徴とする請求項1から請求項4のいずれかに記載のプログラム実行保護プロセッサ。 - タスクプログラムコードとプログラム識別子との関係を証明するプログラム証明書を検証するプログラム証明書検証手段を備えた請求項5に記載のプログラム実行保護プロセッサ。
- 公開鍵および秘密鍵よりなる鍵ペアを、タスク毎に生成する鍵ペア生成手段を備え、
暗号情報取得手段が、鍵ペア生成手段によって生成された公開鍵をもって暗号化された暗号情報を取得するものであり、
復号化手段が、鍵ペア生成手段によって生成された秘密鍵をもって、暗号情報取得手段によって取得された暗号情報の復号を行うものである
ことを特徴とする請求項1から請求項6のいずれかに記載のプログラム実行保護プロセッサ。 - 内部メモリは、
メモリ上の指定された情報単位それぞれに対応する、外部からの読み出し手段を有しない秘密情報格納領域を1つ以上有し、
各秘密情報格納領域は、
A.未定義値が格納されている秘密情報格納領域に、未定義値ではない値であり新たに発生させた乱数を格納する、
B.秘密情報格納領域に格納されている値を、未定義値が格納されている別の秘密情報格納領域に複写する、
C.2つの秘密情報格納領域に格納される値を比較し、この比較結果を得る、
D.メモリ上の情報単位が開放される場合に、これに対応する秘密情報格納領域に未定義値を格納する、
の処理のみがなされるものである
ことを特徴とする請求項1から請求項7のいずれかに記載のプログラム実行保護プロセッサ。 - タスクに対応する秘密情報格納領域に、そのタスクを表す乱数であるタスク秘密情報を格納し、
プライベートページに対応する秘密情報格納領域に、そのプライベートページを割り当てられたタスクを表す乱数であるタスク秘密情報を格納する
ことを特徴とする請求項8に記載のプログラム実行保護プロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005024561A JP4551231B2 (ja) | 2005-01-31 | 2005-01-31 | プログラム実行保護システム、プログラム実行保護方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005024561A JP4551231B2 (ja) | 2005-01-31 | 2005-01-31 | プログラム実行保護システム、プログラム実行保護方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006209703A true JP2006209703A (ja) | 2006-08-10 |
JP4551231B2 JP4551231B2 (ja) | 2010-09-22 |
Family
ID=36966445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005024561A Expired - Fee Related JP4551231B2 (ja) | 2005-01-31 | 2005-01-31 | プログラム実行保護システム、プログラム実行保護方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4551231B2 (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008090791A (ja) * | 2006-10-05 | 2008-04-17 | Nippon Telegr & Teleph Corp <Ntt> | 仮想端末を利用した検疫ネットワークシステム、仮想端末を検疫する方法、及び、仮想端末を検疫するためのプログラム |
JP2009104380A (ja) * | 2007-10-23 | 2009-05-14 | Ihi Corp | ロボット不正使用防止装置およびロボット不正使用防止方法 |
JP2011525653A (ja) * | 2008-06-24 | 2011-09-22 | ナグラビジョン エス アー | 安全なメモリ管理システム及び方法 |
GB2494512A (en) * | 2011-09-06 | 2013-03-13 | Ibm | Protecting application programs from malicious software or malware by protecting objects from external code |
US8954752B2 (en) | 2011-02-23 | 2015-02-10 | International Business Machines Corporation | Building and distributing secure object software |
US9223965B2 (en) | 2013-12-10 | 2015-12-29 | International Business Machines Corporation | Secure generation and management of a virtual card on a mobile device |
US9235692B2 (en) | 2013-12-13 | 2016-01-12 | International Business Machines Corporation | Secure application debugging |
US9298894B2 (en) | 2009-06-26 | 2016-03-29 | International Business Machines Corporation | Cache structure for a computer system providing support for secure objects |
US9954875B2 (en) | 2009-06-26 | 2018-04-24 | International Business Machines Corporation | Protecting from unintentional malware download |
US10007793B2 (en) | 2009-06-26 | 2018-06-26 | International Business Machines Corporation | Secure object having protected region, integrity tree, and unprotected region |
JP2019149763A (ja) * | 2018-02-28 | 2019-09-05 | オムロン株式会社 | データの処理方法、制御システム、制御装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002182984A (ja) * | 2000-12-15 | 2002-06-28 | Toshiba Corp | データ処理装置 |
JP2003242030A (ja) * | 2001-12-14 | 2003-08-29 | Matsushita Electric Ind Co Ltd | メモリ管理装置及びメモリ管理方法 |
JP2003280989A (ja) * | 2002-03-20 | 2003-10-03 | Toshiba Corp | 内部メモリ型耐タンパプロセッサおよび秘密保護方法 |
WO2004060575A1 (en) * | 2002-12-18 | 2004-07-22 | 3M Innovative Properties Company | Drop-in filter for spray gun reservoir |
-
2005
- 2005-01-31 JP JP2005024561A patent/JP4551231B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002182984A (ja) * | 2000-12-15 | 2002-06-28 | Toshiba Corp | データ処理装置 |
JP2003242030A (ja) * | 2001-12-14 | 2003-08-29 | Matsushita Electric Ind Co Ltd | メモリ管理装置及びメモリ管理方法 |
JP2003280989A (ja) * | 2002-03-20 | 2003-10-03 | Toshiba Corp | 内部メモリ型耐タンパプロセッサおよび秘密保護方法 |
WO2004060575A1 (en) * | 2002-12-18 | 2004-07-22 | 3M Innovative Properties Company | Drop-in filter for spray gun reservoir |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008090791A (ja) * | 2006-10-05 | 2008-04-17 | Nippon Telegr & Teleph Corp <Ntt> | 仮想端末を利用した検疫ネットワークシステム、仮想端末を検疫する方法、及び、仮想端末を検疫するためのプログラム |
JP2009104380A (ja) * | 2007-10-23 | 2009-05-14 | Ihi Corp | ロボット不正使用防止装置およびロボット不正使用防止方法 |
JP2011525653A (ja) * | 2008-06-24 | 2011-09-22 | ナグラビジョン エス アー | 安全なメモリ管理システム及び方法 |
US9875193B2 (en) | 2009-06-26 | 2018-01-23 | International Business Machines Corporation | Cache structure for a computer system providing support for secure objects |
US10362045B2 (en) | 2009-06-26 | 2019-07-23 | International Business Machines Corporation | Protecting from unintentional malware download |
US9298894B2 (en) | 2009-06-26 | 2016-03-29 | International Business Machines Corporation | Cache structure for a computer system providing support for secure objects |
US9471513B2 (en) | 2009-06-26 | 2016-10-18 | International Business Machines Corporation | Cache structure for a computer system providing support for secure objects |
US10785240B2 (en) | 2009-06-26 | 2020-09-22 | International Business Machines Corporation | Protecting from unintentional malware download |
US9954875B2 (en) | 2009-06-26 | 2018-04-24 | International Business Machines Corporation | Protecting from unintentional malware download |
US10007793B2 (en) | 2009-06-26 | 2018-06-26 | International Business Machines Corporation | Secure object having protected region, integrity tree, and unprotected region |
US8954752B2 (en) | 2011-02-23 | 2015-02-10 | International Business Machines Corporation | Building and distributing secure object software |
GB2494512B (en) * | 2011-09-06 | 2014-02-19 | Ibm | Protecting application programs from malicious software or malware |
US9846789B2 (en) | 2011-09-06 | 2017-12-19 | International Business Machines Corporation | Protecting application programs from malicious software or malware |
GB2494512A (en) * | 2011-09-06 | 2013-03-13 | Ibm | Protecting application programs from malicious software or malware by protecting objects from external code |
US10007808B2 (en) | 2011-09-06 | 2018-06-26 | International Business Machines Corporation | Protecting application programs from malicious software or malware |
US9223965B2 (en) | 2013-12-10 | 2015-12-29 | International Business Machines Corporation | Secure generation and management of a virtual card on a mobile device |
US9235692B2 (en) | 2013-12-13 | 2016-01-12 | International Business Machines Corporation | Secure application debugging |
US9477845B2 (en) | 2013-12-13 | 2016-10-25 | International Business Machines Corporation | Secure application debugging |
JP2019149763A (ja) * | 2018-02-28 | 2019-09-05 | オムロン株式会社 | データの処理方法、制御システム、制御装置 |
Also Published As
Publication number | Publication date |
---|---|
JP4551231B2 (ja) | 2010-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4551231B2 (ja) | プログラム実行保護システム、プログラム実行保護方法 | |
US11550962B2 (en) | Secure processor and a program for a secure processor | |
RU2295834C2 (ru) | Инициализация, поддержание, обновление и восстановление защищенного режима работы интегрированной системы, использующей средство управления доступом к данным | |
KR101397637B1 (ko) | 다중 사용자 감응 코드 및 데이터를 보호하는 아키텍처를 포함하는 방법 및 장치 | |
JP4982825B2 (ja) | コンピュータおよび共有パスワードの管理方法 | |
US8307215B2 (en) | System and method for an autonomous software protection device | |
US20010018736A1 (en) | Tamper resistant microprocessor | |
KR20200085724A (ko) | 호스트 시스템과 데이터 처리 가속기 사이의 보안 통신을 제공하기 위한 방법 및 시스템 | |
US20110016330A1 (en) | Information leak prevention device, and method and program thereof | |
JP2010510574A (ja) | セキュアデバイス・システムにおけるフラッシュメモリ・ブロックの保護と方法 | |
JP2002202720A (ja) | 耐タンパプロセッサにおける暗号化データ領域のプロセス間共有方法 | |
Meijer et al. | Self-encrypting deception: weaknesses in the encryption of solid state drives | |
JP4724107B2 (ja) | リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ | |
Meijer et al. | Self-encrypting deception: weaknesses in the encryption of solid state drives (SSDs) | |
KR101320739B1 (ko) | 휴대용 단말의 메모리 보안 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20061225 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100413 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100614 |
|
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: 20100629 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100709 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4551231 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130716 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |