JP2002353960A - コード実行装置およびコード配布方法 - Google Patents
コード実行装置およびコード配布方法Info
- Publication number
- JP2002353960A JP2002353960A JP2001162271A JP2001162271A JP2002353960A JP 2002353960 A JP2002353960 A JP 2002353960A JP 2001162271 A JP2001162271 A JP 2001162271A JP 2001162271 A JP2001162271 A JP 2001162271A JP 2002353960 A JP2002353960 A JP 2002353960A
- Authority
- JP
- Japan
- Prior art keywords
- code
- secure
- task
- processor
- normal
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 57
- 238000012795 verification Methods 0.000 claims description 57
- 230000008569 process Effects 0.000 claims description 21
- 238000012546 transfer Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 abstract description 3
- 230000008520 organization Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 23
- 238000003860 storage Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 7
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3674—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】 既存OSを大幅に変更することなく、電子署
名と暗号化が施されたコードを効率よく実行することが
課題である。 【解決手段】 セキュアプロセッサ24と通常プロセッ
サ22を含むヘテロなマルチプロセッサシステムを構築
し、セキュアタスクと非セキュアタスクを各プロセッサ
へ振り分ける。セキュアタスクの暗号化コードは、セキ
ュアメモリ23に格納され、セキュアメモリ23は、認
証局の公開鍵で署名を検証して、暗号化コードが有効で
あることをセキュアプロセッサ24に通知する。セキュ
アプロセッサ24は、セキュアメモリ23から暗号化命
令をフェッチし、復号して実行する。
名と暗号化が施されたコードを効率よく実行することが
課題である。 【解決手段】 セキュアプロセッサ24と通常プロセッ
サ22を含むヘテロなマルチプロセッサシステムを構築
し、セキュアタスクと非セキュアタスクを各プロセッサ
へ振り分ける。セキュアタスクの暗号化コードは、セキ
ュアメモリ23に格納され、セキュアメモリ23は、認
証局の公開鍵で署名を検証して、暗号化コードが有効で
あることをセキュアプロセッサ24に通知する。セキュ
アプロセッサ24は、セキュアメモリ23から暗号化命
令をフェッチし、復号して実行する。
Description
【0001】
【発明の属する技術分野】本発明は、コード化されたプ
ログラムのような、実行可能なコードを実行する装置お
よびそのようなコードを配布する方法に関する。
ログラムのような、実行可能なコードを実行する装置お
よびそのようなコードを配布する方法に関する。
【0002】
【従来の技術】電子署名と暗号化が施された実行可能な
コード(以下では、単にコードと記す)を、署名を検証
した上で復号しながら実行することで、認証されたコー
ドのみが安全に動作する環境が実現できる。実行可能な
コードには、コード化されたプログラムの一部または全
体が含まれる。このような動作環境の実現方法として、
署名検証機能と復号機能を持つプロセッサ(セキュアプ
ロセッサ)をメモリマップドの入出力装置(I/O装
置)として見せかける方法が考えられる。この方法で
は、暗号化コードをデータとしてそのI/O装置に渡
し、実行させて、実行結果を取得する。
コード(以下では、単にコードと記す)を、署名を検証
した上で復号しながら実行することで、認証されたコー
ドのみが安全に動作する環境が実現できる。実行可能な
コードには、コード化されたプログラムの一部または全
体が含まれる。このような動作環境の実現方法として、
署名検証機能と復号機能を持つプロセッサ(セキュアプ
ロセッサ)をメモリマップドの入出力装置(I/O装
置)として見せかける方法が考えられる。この方法で
は、暗号化コードをデータとしてそのI/O装置に渡
し、実行させて、実行結果を取得する。
【0003】
【発明が解決しようとする課題】しかしながら、上述し
た従来のコード実行方法には、次のような問題がある。
このコード実行方法では、I/O装置のメモリ量の制限
からサイズの大きなコード全体を一度に渡すことができ
ない。また、一旦コードを渡して実行を開始すると、終
わるまで他の制御を行うことができないため、署名検証
や復号等のセキュア処理をマルチタスクで実行すること
ができない。このため、セキュア処理を伴う複数のタス
クを効率よく実行することができない。
た従来のコード実行方法には、次のような問題がある。
このコード実行方法では、I/O装置のメモリ量の制限
からサイズの大きなコード全体を一度に渡すことができ
ない。また、一旦コードを渡して実行を開始すると、終
わるまで他の制御を行うことができないため、署名検証
や復号等のセキュア処理をマルチタスクで実行すること
ができない。このため、セキュア処理を伴う複数のタス
クを効率よく実行することができない。
【0004】このうち、後者の問題は、I/O装置をマ
ルチタスク処理が可能なように設計し、そのI/O装置
専用のタスク管理モジュールをオペレーティングシステ
ム(OS)内に用意することで解決できる。しかし、O
Sが、I/O装置(セキュアプロセッサ)専用のタスク
管理モジュールを、通常プロセッサ用のタスク管理モジ
ュールと重複して持つことになり、効率上好ましくな
い。
ルチタスク処理が可能なように設計し、そのI/O装置
専用のタスク管理モジュールをオペレーティングシステ
ム(OS)内に用意することで解決できる。しかし、O
Sが、I/O装置(セキュアプロセッサ)専用のタスク
管理モジュールを、通常プロセッサ用のタスク管理モジ
ュールと重複して持つことになり、効率上好ましくな
い。
【0005】さらに、セキュリティ上の観点から、OS
そのものがセキュアプロセッサ上で動作することが望ま
しいが、既存OSをいきなりセキュアプロセッサ用に書
き換えることは簡単ではないという問題もある。
そのものがセキュアプロセッサ上で動作することが望ま
しいが、既存OSをいきなりセキュアプロセッサ用に書
き換えることは簡単ではないという問題もある。
【0006】本発明の課題は、既存OSを大幅に変更す
ることなく、電子署名と暗号化が施されたコードを効率
よく実行する装置と、そのような装置に対してコードを
配布する方法を提供することである。
ることなく、電子署名と暗号化が施されたコードを効率
よく実行する装置と、そのような装置に対してコードを
配布する方法を提供することである。
【0007】
【課題を解決するための手段】図1は、本発明のコード
実行装置の原理図である。図1のコード実行装置は、マ
ルチプロセッサシステムを用いて実現され、セキュアメ
モリ手段11、セキュアプロセッサ手段12、通常メモ
リ手段13、通常プロセッサ手段14、および制御手段
15を備える。
実行装置の原理図である。図1のコード実行装置は、マ
ルチプロセッサシステムを用いて実現され、セキュアメ
モリ手段11、セキュアプロセッサ手段12、通常メモ
リ手段13、通常プロセッサ手段14、および制御手段
15を備える。
【0008】セキュアメモリ手段11は、セキュアタス
クの暗号化コードと、その暗号化コードが正当であるこ
とを検証するための検証用情報とを格納する。セキュア
プロセッサ手段12は、検証用情報により暗号化コード
が正当であると検証されたとき、その暗号化コードを実
行する。通常メモリ手段13は、通常タスクのコードを
格納し、通常プロセッサ手段14は、通常タスクのコー
ドを実行する。
クの暗号化コードと、その暗号化コードが正当であるこ
とを検証するための検証用情報とを格納する。セキュア
プロセッサ手段12は、検証用情報により暗号化コード
が正当であると検証されたとき、その暗号化コードを実
行する。通常メモリ手段13は、通常タスクのコードを
格納し、通常プロセッサ手段14は、通常タスクのコー
ドを実行する。
【0009】制御手段15は、セキュアタスクと通常タ
スクの振り分けを行って、暗号化コードをセキュアメモ
リ手段11に格納し、通常タスクのコードを通常メモリ
手段13に格納する。
スクの振り分けを行って、暗号化コードをセキュアメモ
リ手段11に格納し、通常タスクのコードを通常メモリ
手段13に格納する。
【0010】検証用情報としては、例えば、電子署名、
パリティコード、CRC(Cyclic Redundancy Check )
ビットが用いられる。また、制御手段15は、例えば、
マルチプロセッサシステムのOSに対応する。
パリティコード、CRC(Cyclic Redundancy Check )
ビットが用いられる。また、制御手段15は、例えば、
マルチプロセッサシステムのOSに対応する。
【0011】セキュアタスクを実行する場合、制御手段
15は、その暗号化コードを検証用情報とともにセキュ
アメモリ手段11に格納する。そして、検証用情報を用
いて暗号化コードが正当であると検証されると、セキュ
アプロセッサ手段12が、その暗号化コードを実行す
る。
15は、その暗号化コードを検証用情報とともにセキュ
アメモリ手段11に格納する。そして、検証用情報を用
いて暗号化コードが正当であると検証されると、セキュ
アプロセッサ手段12が、その暗号化コードを実行す
る。
【0012】また、通常タスクを実行する場合、制御手
段15は、そのコードを通常メモリ手段13に格納す
る。そして、通常プロセッサ手段14は、そのコードを
実行する。
段15は、そのコードを通常メモリ手段13に格納す
る。そして、通常プロセッサ手段14は、そのコードを
実行する。
【0013】このように、マルチプロセッサシステム内
でセキュアタスクと通常タスクの共存を許し、制御手段
15がそれらのタスクをセキュアプロセッサ手段12と
通常プロセッサ手段14に振り分けることで、タスク管
理が簡単になる。したがって、OSを大幅に変更するこ
となく、セキュアタスクのコードを効率よく実行するこ
とができる。
でセキュアタスクと通常タスクの共存を許し、制御手段
15がそれらのタスクをセキュアプロセッサ手段12と
通常プロセッサ手段14に振り分けることで、タスク管
理が簡単になる。したがって、OSを大幅に変更するこ
となく、セキュアタスクのコードを効率よく実行するこ
とができる。
【0014】また、このようなマルチプロセッサシステ
ムに対してコードを配布する方法としては、例えば、以
下の2通りの方法がある。 (1)コード作成者が、コード認証機関に実行可能なコ
ードを提供し、コード認証機関が、コードが正当である
ことを検証するための検証用情報をコードに付加して、
マルチプロセッサシステムのユーザに配布する。 (2)コード作成者が、コード認証機関に実行可能なコ
ードを提供して、手数料を支払い、コード認証機関が、
検証用情報をコードに付加する。その後、コード作成者
が、コードをマルチプロセッサシステムのユーザに配布
して、ユーザが支払う対価を受領する。
ムに対してコードを配布する方法としては、例えば、以
下の2通りの方法がある。 (1)コード作成者が、コード認証機関に実行可能なコ
ードを提供し、コード認証機関が、コードが正当である
ことを検証するための検証用情報をコードに付加して、
マルチプロセッサシステムのユーザに配布する。 (2)コード作成者が、コード認証機関に実行可能なコ
ードを提供して、手数料を支払い、コード認証機関が、
検証用情報をコードに付加する。その後、コード作成者
が、コードをマルチプロセッサシステムのユーザに配布
して、ユーザが支払う対価を受領する。
【0015】
【発明の実施の形態】以下、図面を参照しながら、本発
明の実施の形態を詳細に説明する。本実施形態では、マ
ルチプロセッサシステム中の1つのプロセッサをセキュ
アプロセッサに置き換え、ヘテロなマルチプロセッサシ
ステムを構築する。そして、セキュアなタスクと非セキ
ュアなタスクの各プロセッサへの割り当てを、OSが制
御する。このように、セキュアプロセッサを含むヘテロ
なマルチプロセッサシステムを構築することで、OSが
2種類のタスク管理モジュールを重複して持つ必要がな
くなる。
明の実施の形態を詳細に説明する。本実施形態では、マ
ルチプロセッサシステム中の1つのプロセッサをセキュ
アプロセッサに置き換え、ヘテロなマルチプロセッサシ
ステムを構築する。そして、セキュアなタスクと非セキ
ュアなタスクの各プロセッサへの割り当てを、OSが制
御する。このように、セキュアプロセッサを含むヘテロ
なマルチプロセッサシステムを構築することで、OSが
2種類のタスク管理モジュールを重複して持つ必要がな
くなる。
【0016】また、セキュアタスクと非セキュアタスク
の共存を許すことで、可能な部分からセキュアタスク化
していき、最終的にOSの全タスクをセキュア化すると
いうマイグレーションが可能となる。このようなマイグ
レーションは、OSが細かなタスクの集合体として実現
されているような場合に限られるが、これにより、既存
OSをいきなりセキュアプロセッサ用に書き換える必要
がなくなる。
の共存を許すことで、可能な部分からセキュアタスク化
していき、最終的にOSの全タスクをセキュア化すると
いうマイグレーションが可能となる。このようなマイグ
レーションは、OSが細かなタスクの集合体として実現
されているような場合に限られるが、これにより、既存
OSをいきなりセキュアプロセッサ用に書き換える必要
がなくなる。
【0017】しかし、このようなシステムにおいては、
セキュアプロセッサが暗号化コードを1命令ずつ取り出
して(フェッチして)実行するため、コード全体をセキ
ュアプロセッサにまとめて渡すことはできない。したが
って、暗号化コード全体に署名をつけたのでは、署名の
検証ができないという問題が発生する。そこで、本実施
形態では、メモリ割り当ての最小単位であるページ(例
えば、4Kバイト等)単位に署名を付与した形で暗号化
コードを作成し、メモリ割り当て時にメモリ自身が署名
を検証する構成を採用する。
セキュアプロセッサが暗号化コードを1命令ずつ取り出
して(フェッチして)実行するため、コード全体をセキ
ュアプロセッサにまとめて渡すことはできない。したが
って、暗号化コード全体に署名をつけたのでは、署名の
検証ができないという問題が発生する。そこで、本実施
形態では、メモリ割り当ての最小単位であるページ(例
えば、4Kバイト等)単位に署名を付与した形で暗号化
コードを作成し、メモリ割り当て時にメモリ自身が署名
を検証する構成を採用する。
【0018】さらに、このシステムに対して配布すべき
コードを収集し、収集したコードに署名をつけて配布す
る機関を設ける。これにより、コード作成者は、コード
を広範囲に配布することが可能となり、ユーザは、安心
してコードを利用することが可能となる。
コードを収集し、収集したコードに署名をつけて配布す
る機関を設ける。これにより、コード作成者は、コード
を広範囲に配布することが可能となり、ユーザは、安心
してコードを利用することが可能となる。
【0019】図2は、このようなマルチプロセッサシス
テムの構成図である。図2のシステムは、通常メモリ2
1、通常プロセッサ22、セキュアメモリ23、セキュ
アプロセッサ24、およびセキュアドライブ/メディア
25を含む。これらの装置はシステムバス26により互
いに接続されているが、通常プロセッサ22は、セキュ
アメモリ23から命令をフェッチすることはなく、セキ
ュアプロセッサ24は、通常メモリ21から命令をフェ
ッチすることはない。
テムの構成図である。図2のシステムは、通常メモリ2
1、通常プロセッサ22、セキュアメモリ23、セキュ
アプロセッサ24、およびセキュアドライブ/メディア
25を含む。これらの装置はシステムバス26により互
いに接続されているが、通常プロセッサ22は、セキュ
アメモリ23から命令をフェッチすることはなく、セキ
ュアプロセッサ24は、通常メモリ21から命令をフェ
ッチすることはない。
【0020】通常プロセッサ22は、通常メモリ21を
用いて通常のタスク(非セキュアタスク)の通常のコー
ドを実行し、セキュアプロセッサ24は、セキュアメモ
リ23を用いてセキュアタスクの暗号化コードを実行す
る。セキュアドライブ/メディア25は、セキュアタス
ク用の暗号化コードを格納する格納装置である。図2で
は、通常プロセッサ22とセキュアプロセッサ24が1
つずつ設けられているが、各プロセッサを複数設けても
よい。
用いて通常のタスク(非セキュアタスク)の通常のコー
ドを実行し、セキュアプロセッサ24は、セキュアメモ
リ23を用いてセキュアタスクの暗号化コードを実行す
る。セキュアドライブ/メディア25は、セキュアタス
ク用の暗号化コードを格納する格納装置である。図2で
は、通常プロセッサ22とセキュアプロセッサ24が1
つずつ設けられているが、各プロセッサを複数設けても
よい。
【0021】図3は、セキュアメモリ23とセキュアプ
ロセッサ24の構成例を示している。図3のセキュアメ
モリ23は、認証局公開鍵31、署名検証部32、署名
保持部33、ページ34を有する。ページ34は、物理
メモリ(実メモリ)割り当ての最小単位であり、例え
ば、4Kバイトの容量を持つ。また、署名保持部33
は、ページ毎に、ページに対する署名データを格納する
領域を持つ。署名検証部32は、例えば、ハードウェア
またはMPU(Micro Processing Unit )を用いて実装
され、ページ単位で署名を用いて暗号化コードを検証す
る。
ロセッサ24の構成例を示している。図3のセキュアメ
モリ23は、認証局公開鍵31、署名検証部32、署名
保持部33、ページ34を有する。ページ34は、物理
メモリ(実メモリ)割り当ての最小単位であり、例え
ば、4Kバイトの容量を持つ。また、署名保持部33
は、ページ毎に、ページに対する署名データを格納する
領域を持つ。署名検証部32は、例えば、ハードウェア
またはMPU(Micro Processing Unit )を用いて実装
され、ページ単位で署名を用いて暗号化コードを検証す
る。
【0022】署名としては、例えば、認証局(Certific
ate Authority ,CA)の秘密鍵によって作成され、セ
キュアメモリ23にあらかじめ格納されたCAの公開鍵
によって検証可能なX.509証明書が用いられる。
ate Authority ,CA)の秘密鍵によって作成され、セ
キュアメモリ23にあらかじめ格納されたCAの公開鍵
によって検証可能なX.509証明書が用いられる。
【0023】セキュアプロセッサ24は、復号鍵設定部
41、復号鍵保持部42、復号部43、およびプロセッ
サ44を有する。このうち、復号鍵設定部41、復号鍵
保持部42、および復号部43は、命令を実行するプロ
セッサ44の命令入力部の前段に設けられ、復号部43
は、例えば、ハードウェアまたはMPUを用いて実装さ
れる。
41、復号鍵保持部42、復号部43、およびプロセッ
サ44を有する。このうち、復号鍵設定部41、復号鍵
保持部42、および復号部43は、命令を実行するプロ
セッサ44の命令入力部の前段に設けられ、復号部43
は、例えば、ハードウェアまたはMPUを用いて実装さ
れる。
【0024】署名を含む暗号化コードは、セキュアドラ
イブ/メディア25より読み出され、署名と暗号化コー
ドに分離された後、それぞれ署名保持部33とページ3
4に格納される。
イブ/メディア25より読み出され、署名と暗号化コー
ドに分離された後、それぞれ署名保持部33とページ3
4に格納される。
【0025】これらの格納が終了すると、署名検証部3
2は、署名を作成した認証局の公開鍵で署名を検証し、
問題がなければ、署名に含まれる暗号化コードのハッシ
ュ値を、ページ34上の暗号化コードから再計算したハ
ッシュ値と比較する。
2は、署名を作成した認証局の公開鍵で署名を検証し、
問題がなければ、署名に含まれる暗号化コードのハッシ
ュ値を、ページ34上の暗号化コードから再計算したハ
ッシュ値と比較する。
【0026】これらのハッシュ値が一致し、暗号化コー
ドが改竄されていないことを確認すると、ページ34上
の暗号化コードが有効である(正当なコードである)こ
とをセキュアプロセッサ24に通知する。また、ハッシ
ュ値が一致しなければ、ページ34上の暗号化コードが
無効である(正当なコードでない)ことをセキュアプロ
セッサ24に通知する。
ドが改竄されていないことを確認すると、ページ34上
の暗号化コードが有効である(正当なコードである)こ
とをセキュアプロセッサ24に通知する。また、ハッシ
ュ値が一致しなければ、ページ34上の暗号化コードが
無効である(正当なコードでない)ことをセキュアプロ
セッサ24に通知する。
【0027】セキュアプロセッサ24の復号部43は、
有効の通知を受け取ると、ページ34上のメモリアドレ
スから必要な暗号化命令をフェッチし、復号鍵保持部4
2の復号鍵を用いて暗号化命令を順次復号する。そし
て、プロセッサ44は、復号された命令を順次実行す
る。復号に必要な復号鍵は、復号鍵設定部41により、
あらかじめ復号鍵保持部42に設定されている。
有効の通知を受け取ると、ページ34上のメモリアドレ
スから必要な暗号化命令をフェッチし、復号鍵保持部4
2の復号鍵を用いて暗号化命令を順次復号する。そし
て、プロセッサ44は、復号された命令を順次実行す
る。復号に必要な復号鍵は、復号鍵設定部41により、
あらかじめ復号鍵保持部42に設定されている。
【0028】さらに、セキュアプロセッサ24に複数の
復号鍵を格納しておき、どの復号鍵を使用して復号する
かを外部より指定可能とすることもできる。図4は、こ
のようなセキュアプロセッサ24の構成図である。
復号鍵を格納しておき、どの復号鍵を使用して復号する
かを外部より指定可能とすることもできる。図4は、こ
のようなセキュアプロセッサ24の構成図である。
【0029】図4のセキュアプロセッサ24は、複数の
復号鍵保持部42を持つ点と、これらの保持部42に格
納された複数の復号鍵のうちのどれを使用するかを指示
する復号鍵指示部45が追加されている点が、図3のセ
キュアプロセッサ24とは異なる。復号鍵指示部45
は、例えば、ハードウェアまたはMPUを用いて実装さ
れる。どの復号鍵を使用するかは、例えば、現在実行中
のセキュアタスクに応じて、OSが復号鍵指示部45に
指示する。
復号鍵保持部42を持つ点と、これらの保持部42に格
納された複数の復号鍵のうちのどれを使用するかを指示
する復号鍵指示部45が追加されている点が、図3のセ
キュアプロセッサ24とは異なる。復号鍵指示部45
は、例えば、ハードウェアまたはMPUを用いて実装さ
れる。どの復号鍵を使用するかは、例えば、現在実行中
のセキュアタスクに応じて、OSが復号鍵指示部45に
指示する。
【0030】図5は、図2のマルチプロセッサシステム
の動作を制御するセキュアOSの構成図である。図5の
セキュアOS51は、セキュアプロセッサ24または/
および通常プロセッサ22上で動作し、セキュアタスク
管理52、セキュアメモリ管理53、およびセキュアフ
ァイルシステム54を含む。
の動作を制御するセキュアOSの構成図である。図5の
セキュアOS51は、セキュアプロセッサ24または/
および通常プロセッサ22上で動作し、セキュアタスク
管理52、セキュアメモリ管理53、およびセキュアフ
ァイルシステム54を含む。
【0031】セキュアタスク管理52とセキュアメモリ
管理53は、セキュアタスクと非セキュアタスクの振り
分けを行う。これにより、セキュアタスクの暗号化コー
ドはセキュアメモリ23に格納され、非セキュアタスク
のコードは通常メモリ21に格納される。また、セキュ
アタスク管理52は、セキュアタスクと非セキュアタス
クの両方のマルチタスク処理を制御する。以下、対象と
するタスクがセキュアタスクの場合の動作を説明する。
管理53は、セキュアタスクと非セキュアタスクの振り
分けを行う。これにより、セキュアタスクの暗号化コー
ドはセキュアメモリ23に格納され、非セキュアタスク
のコードは通常メモリ21に格納される。また、セキュ
アタスク管理52は、セキュアタスクと非セキュアタス
クの両方のマルチタスク処理を制御する。以下、対象と
するタスクがセキュアタスクの場合の動作を説明する。
【0032】セキュアタスク管理52は、複数のタスク
のコンテキストを管理し、コンテキスト切り替え時に、
セキュアプロセッサ24のプログラムカウンタの変更等
の通常処理のほか、セキュアプロセッサ24内に保持さ
れている復号鍵のうちどれを使用するかを指示する。
のコンテキストを管理し、コンテキスト切り替え時に、
セキュアプロセッサ24のプログラムカウンタの変更等
の通常処理のほか、セキュアプロセッサ24内に保持さ
れている復号鍵のうちどれを使用するかを指示する。
【0033】セキュアメモリ管理53は、必要に応じ
て、セキュアタスクへのセキュアメモリ23の割り当て
を行う。なお、セキュアメモリ23からセキュアプロセ
ッサ24への暗号化命令の転送は、CPU(Central Pr
ocessing Unit )のフェッチ動作であるので、セキュア
メモリ管理53を経由しない。
て、セキュアタスクへのセキュアメモリ23の割り当て
を行う。なお、セキュアメモリ23からセキュアプロセ
ッサ24への暗号化命令の転送は、CPU(Central Pr
ocessing Unit )のフェッチ動作であるので、セキュア
メモリ管理53を経由しない。
【0034】セキュアファイルシステム34は、セキュ
アドライブ/メディア25に格納された暗号化コードの
ファイルを管理する。そして、セキュアメモリ管理53
からの要求に応じて、セキュアドライブ/メディア25
から暗号化コードを読み出し、セキュアメモリ管理53
に渡す。
アドライブ/メディア25に格納された暗号化コードの
ファイルを管理する。そして、セキュアメモリ管理53
からの要求に応じて、セキュアドライブ/メディア25
から暗号化コードを読み出し、セキュアメモリ管理53
に渡す。
【0035】次に、図6から図9までを参照しながら、
セキュアタスク管理52、セキュアメモリ管理53、お
よびセキュアファイルシステム54の処理をより詳細に
説明する。
セキュアタスク管理52、セキュアメモリ管理53、お
よびセキュアファイルシステム54の処理をより詳細に
説明する。
【0036】図6は、セキュアタスク管理52の処理の
フローチャートである。図6の処理は、セキュアプロセ
ッサ24上で現在実行中のセキュアタスクのタイムスラ
イスが切れ、タイマ割り込みが発生して、セキュアタス
ク管理52に制御が移ったときに開始される。
フローチャートである。図6の処理は、セキュアプロセ
ッサ24上で現在実行中のセキュアタスクのタイムスラ
イスが切れ、タイマ割り込みが発生して、セキュアタス
ク管理52に制御が移ったときに開始される。
【0037】セキュアタスク管理52は、まず、スケジ
ューリングアルゴリズムに従って、次に実行するセキュ
アタスクAを決定し(ステップS1)、セキュアタスク
Aのコンテキストを復元する(ステップS2)。このと
き、セキュアプロセッサ24のプログラムカウンタおよ
びスタックポインタの復元や、セキュアプロセッサ24
とセキュアメモリ23の間に存在するMMU(Memory M
anagement Unit)内のTLB(Translation Look aside
Buffer︶)の復元等が行われる。
ューリングアルゴリズムに従って、次に実行するセキュ
アタスクAを決定し(ステップS1)、セキュアタスク
Aのコンテキストを復元する(ステップS2)。このと
き、セキュアプロセッサ24のプログラムカウンタおよ
びスタックポインタの復元や、セキュアプロセッサ24
とセキュアメモリ23の間に存在するMMU(Memory M
anagement Unit)内のTLB(Translation Look aside
Buffer︶)の復元等が行われる。
【0038】次に、プログラム復号鍵としてセキュアタ
スクA用のものを使用することを、セキュアプロセッサ
24に指示する(ステップS3)。そして、セキュアタ
スクAのタイムスライス(例えば、100ms)をタイ
マに設定し(ステップS4)、セキュアプロセッサの動
作を再開する(ステップS5)。
スクA用のものを使用することを、セキュアプロセッサ
24に指示する(ステップS3)。そして、セキュアタ
スクAのタイムスライス(例えば、100ms)をタイ
マに設定し(ステップS4)、セキュアプロセッサの動
作を再開する(ステップS5)。
【0039】図7は、セキュアメモリ管理53の処理の
フローチャートである。図7の処理は、セキュアタスク
実行中にページフォルトが起き、割り込みが発生して、
セキュアメモリ管理53に制御が移ったときに開始され
る。
フローチャートである。図7の処理は、セキュアタスク
実行中にページフォルトが起き、割り込みが発生して、
セキュアメモリ管理53に制御が移ったときに開始され
る。
【0040】セキュアメモリ管理53は、まず、セキュ
アメモリ23内に未使用の実メモリ領域があるか否かを
チェックし(ステップS11)、実メモリがあれば、そ
れを1ページ割り当てる(ステップS13)。未使用の
実メモリがない場合は、実メモリ解放処理のサブルーチ
ンを呼び出して(ステップS12)、空きを作った後に
実メモリを割り当てる。
アメモリ23内に未使用の実メモリ領域があるか否かを
チェックし(ステップS11)、実メモリがあれば、そ
れを1ページ割り当てる(ステップS13)。未使用の
実メモリがない場合は、実メモリ解放処理のサブルーチ
ンを呼び出して(ステップS12)、空きを作った後に
実メモリを割り当てる。
【0041】次に、割り当てた実メモリのアドレスと仮
想アドレスの対応表を作成し、MMU内のTLBに格納
する(ステップS14)。そして、割り当てた実メモリ
に配置するコードをセキュアファイルシステム54に要
求し、受け取ったコードを実メモリに配置して(ステッ
プS15)、セキュアプロセッサ24の動作を再開する
(ステップS16)。
想アドレスの対応表を作成し、MMU内のTLBに格納
する(ステップS14)。そして、割り当てた実メモリ
に配置するコードをセキュアファイルシステム54に要
求し、受け取ったコードを実メモリに配置して(ステッ
プS15)、セキュアプロセッサ24の動作を再開する
(ステップS16)。
【0042】図8は、図7のステップS12において呼
び出されたサブルーチンが行う実メモリ解放処理のフロ
ーチャートである。サブルーチンは、まず、実メモリ解
放アルゴリズムに従って、ページアウトの対象となる実
メモリを決定する(ステップS21)。次に、対象とな
った実メモリ上のコードを、セキュアドライブ/メディ
ア25にページアウトする(書き出す)(ステップS2
2)。そして、呼び出し元に復帰する(ステップS2
3)。
び出されたサブルーチンが行う実メモリ解放処理のフロ
ーチャートである。サブルーチンは、まず、実メモリ解
放アルゴリズムに従って、ページアウトの対象となる実
メモリを決定する(ステップS21)。次に、対象とな
った実メモリ上のコードを、セキュアドライブ/メディ
ア25にページアウトする(書き出す)(ステップS2
2)。そして、呼び出し元に復帰する(ステップS2
3)。
【0043】図9は、セキュアファイルシステム54の
処理のフローチャートである。図9の処理は、図7のス
テップS15においてセキュアメモリ管理53からコー
ドの要求を受けたときに開始される。
処理のフローチャートである。図9の処理は、図7のス
テップS15においてセキュアメモリ管理53からコー
ドの要求を受けたときに開始される。
【0044】セキュアファイルシステム54は、まず、
対象となるプログラムの先頭からのオフセットを受け取
り(ステップS31)、セキュアドライブ/メディア2
5内で指定位置までシークする(ステップS32)。そ
して、指定位置より1ページ分のコードを読み出し、セ
キュアメモリ管理53に渡す(ステップS33)。
対象となるプログラムの先頭からのオフセットを受け取
り(ステップS31)、セキュアドライブ/メディア2
5内で指定位置までシークする(ステップS32)。そ
して、指定位置より1ページ分のコードを読み出し、セ
キュアメモリ管理53に渡す(ステップS33)。
【0045】ところで、セキュアメモリ23とセキュア
プロセッサ24が相互認証を行ってセッション鍵を共有
することで、暗号化コードをより安全にやり取りするこ
とも可能である。この場合、セキュアメモリ23は、暗
号化コードをセッション鍵でさらに暗号化した上でセキ
ュアプロセッサ24に転送する。
プロセッサ24が相互認証を行ってセッション鍵を共有
することで、暗号化コードをより安全にやり取りするこ
とも可能である。この場合、セキュアメモリ23は、暗
号化コードをセッション鍵でさらに暗号化した上でセキ
ュアプロセッサ24に転送する。
【0046】図10は、このようなセキュアメモリ23
とセキュアプロセッサ24の構成図である。図10のセ
キュアメモリ23は、図3の構成に加えて、さらに相互
認証/セッション鍵共有部61および暗号部62を有
し、セキュアプロセッサ24は、図4の構成に加えて、
さらに相互認証/セッション鍵共有部71および復号部
72を有する。
とセキュアプロセッサ24の構成図である。図10のセ
キュアメモリ23は、図3の構成に加えて、さらに相互
認証/セッション鍵共有部61および暗号部62を有
し、セキュアプロセッサ24は、図4の構成に加えて、
さらに相互認証/セッション鍵共有部71および復号部
72を有する。
【0047】まず、相互認証/セッション鍵共有部61
と相互認証/セッション鍵共有部71は、相互に信頼で
きる相手であることを認証した上で、セッション鍵を生
成/共有する。相互認証の方法は、公開鍵を用いた証明
書ベースの方法でもかまわないし、共通鍵を用いた方法
でもかまわない。また、セッション鍵は、例えば、乱数
を用いて生成される。
と相互認証/セッション鍵共有部71は、相互に信頼で
きる相手であることを認証した上で、セッション鍵を生
成/共有する。相互認証の方法は、公開鍵を用いた証明
書ベースの方法でもかまわないし、共通鍵を用いた方法
でもかまわない。また、セッション鍵は、例えば、乱数
を用いて生成される。
【0048】その後、セキュアメモリ23の暗号部62
は、ページ34上の暗号化命令をセッション鍵でさらに
暗号化して、セキュアプロセッサ24に転送する。セキ
ュアプロセッサ24の復号部72は、受け取った暗号化
命令をセッション鍵で復号した後、復号部43に渡す。
その後、図4に示したように、暗号化命令が対応する復
号鍵で復号されて実行される。
は、ページ34上の暗号化命令をセッション鍵でさらに
暗号化して、セキュアプロセッサ24に転送する。セキ
ュアプロセッサ24の復号部72は、受け取った暗号化
命令をセッション鍵で復号した後、復号部43に渡す。
その後、図4に示したように、暗号化命令が対応する復
号鍵で復号されて実行される。
【0049】また、同様にして、セキュアドライブ/メ
ディア25とセキュアメモリ23が相互認証を行ってセ
ッション鍵を共有することで、暗号化コードをより安全
にやり取りすることも可能である。
ディア25とセキュアメモリ23が相互認証を行ってセ
ッション鍵を共有することで、暗号化コードをより安全
にやり取りすることも可能である。
【0050】図11は、このようなセキュアドライブ/
メディア25とセキュアメモリ23の構成図である。図
11のセキュアドライブ/メディア25は、格納媒体8
1、格納装置固有鍵82、相互認証/セッション鍵共有
部83、復号部84、および暗号部85を有し、セキュ
アメモリ23は、図10の構成に加えて、さらに復号部
63を有する。
メディア25とセキュアメモリ23の構成図である。図
11のセキュアドライブ/メディア25は、格納媒体8
1、格納装置固有鍵82、相互認証/セッション鍵共有
部83、復号部84、および暗号部85を有し、セキュ
アメモリ23は、図10の構成に加えて、さらに復号部
63を有する。
【0051】セキュアドライブ/メディア25は、暗号
化コードを格納装置固有鍵82または格納媒体固有鍵8
6でさらに暗号化して、格納媒体81に格納する。格納
媒体81としては、磁気ディスク、光ディスク、光磁気
ディスク、磁気テープ等が用いられる。また、格納装置
固有鍵82は、セキュアドライブ/メディア25固有の
鍵であり、格納媒体固有鍵86は、格納媒体81固有の
鍵である。
化コードを格納装置固有鍵82または格納媒体固有鍵8
6でさらに暗号化して、格納媒体81に格納する。格納
媒体81としては、磁気ディスク、光ディスク、光磁気
ディスク、磁気テープ等が用いられる。また、格納装置
固有鍵82は、セキュアドライブ/メディア25固有の
鍵であり、格納媒体固有鍵86は、格納媒体81固有の
鍵である。
【0052】相互認証/セッション鍵共有部83と相互
認証/セッション鍵共有部61は、図10の場合と同様
にして、相互に信頼できる相手であることを認証した上
で、セッション鍵を生成/共有する。
認証/セッション鍵共有部61は、図10の場合と同様
にして、相互に信頼できる相手であることを認証した上
で、セッション鍵を生成/共有する。
【0053】セキュアドライブ/メディア25の復号部
84は、格納媒体81上に格納された暗号化コード87
を、格納装置固有鍵82または格納媒体固有鍵86で復
号して、暗号部85に渡す。暗号部85は、相互認証/
セッション鍵共有部83が保持しているセッション鍵に
より暗号化コードをさらに暗号化して、セキュアメモリ
23に転送する。セキュアメモリ23の復号部63は、
受け取った暗号化コードをセッション鍵で復号して、元
の暗号化コードの形に戻した上で、ページ34に格納す
る。
84は、格納媒体81上に格納された暗号化コード87
を、格納装置固有鍵82または格納媒体固有鍵86で復
号して、暗号部85に渡す。暗号部85は、相互認証/
セッション鍵共有部83が保持しているセッション鍵に
より暗号化コードをさらに暗号化して、セキュアメモリ
23に転送する。セキュアメモリ23の復号部63は、
受け取った暗号化コードをセッション鍵で復号して、元
の暗号化コードの形に戻した上で、ページ34に格納す
る。
【0054】このとき、図5のセキュアファイルシステ
ム54は、セキュアドライブ/メディア25とセキュア
メモリ23の間のセッション鍵の共有を仲介する。その
後、セキュアファイルシステム54は、このセッション
鍵によって暗号化された暗号化コードを、格納媒体81
上の論理フォーマットに従ってセキュアドライブ/メデ
ィア25から読み出し、セキュアメモリ23に転送す
る。
ム54は、セキュアドライブ/メディア25とセキュア
メモリ23の間のセッション鍵の共有を仲介する。その
後、セキュアファイルシステム54は、このセッション
鍵によって暗号化された暗号化コードを、格納媒体81
上の論理フォーマットに従ってセキュアドライブ/メデ
ィア25から読み出し、セキュアメモリ23に転送す
る。
【0055】ここで、1つのセキュアタスクが実行され
る場合の処理の流れを説明する。この場合、セキュアタ
スクには現在セキュアメモリが1ページだけ割り当てら
れており、プログラムカウンタはそのページ上の暗号化
コードの最後の暗号化命令を指しているものとする。ま
た、各エンティティ(セキュアメモリ23、セキュアプ
ロセッサ24、セキュアドライブ/メディア25)間の
相互認証処理、セッション鍵の共有処理、セッション鍵
による暗号化/復号処理については、説明を省略する。 (1)セキュアプロセッサ24は、セキュアメモリ23
より暗号化コードをフェッチし、復号した後に実行す
る。 (2)セキュアプロセッサ24は、プログラムカウンタ
をインクリメントし、次の命令のフェッチ動作を実行す
る。 (3)実メモリが未割り当てであるため、セキュアメモ
リ23は、ページフォルト例外をセキュアタスク管理5
2に対して発生する。 (4)セキュアタスク管理52は、実行中のセキュアタ
スクをスリープ状態に設定した後、セキュアメモリ管理
53に新たな実メモリの割り当てを依頼する。 (5)セキュアメモリ管理53は、新たな実メモリ1ペ
ージをセキュアタスクに割り当てる。 (6)セキュアタスク管理52は、暗号化コードの続き
を読み出すように、セキュアファイルシステム54に依
頼する。 (7)セキュアファイルシステム54は、暗号化コード
の続きをセキュアドライブ/メディア25より読み出
し、新たに割り当てられた実メモリに格納する。 (8)セキュアタスク管理52は、スリープ状態のセキ
ュアタスクを実行状態に設定する。 (9)セキュアプロセッサ24は、新たに割り当てられ
たページ上の次の命令をフェッチして実行する。
る場合の処理の流れを説明する。この場合、セキュアタ
スクには現在セキュアメモリが1ページだけ割り当てら
れており、プログラムカウンタはそのページ上の暗号化
コードの最後の暗号化命令を指しているものとする。ま
た、各エンティティ(セキュアメモリ23、セキュアプ
ロセッサ24、セキュアドライブ/メディア25)間の
相互認証処理、セッション鍵の共有処理、セッション鍵
による暗号化/復号処理については、説明を省略する。 (1)セキュアプロセッサ24は、セキュアメモリ23
より暗号化コードをフェッチし、復号した後に実行す
る。 (2)セキュアプロセッサ24は、プログラムカウンタ
をインクリメントし、次の命令のフェッチ動作を実行す
る。 (3)実メモリが未割り当てであるため、セキュアメモ
リ23は、ページフォルト例外をセキュアタスク管理5
2に対して発生する。 (4)セキュアタスク管理52は、実行中のセキュアタ
スクをスリープ状態に設定した後、セキュアメモリ管理
53に新たな実メモリの割り当てを依頼する。 (5)セキュアメモリ管理53は、新たな実メモリ1ペ
ージをセキュアタスクに割り当てる。 (6)セキュアタスク管理52は、暗号化コードの続き
を読み出すように、セキュアファイルシステム54に依
頼する。 (7)セキュアファイルシステム54は、暗号化コード
の続きをセキュアドライブ/メディア25より読み出
し、新たに割り当てられた実メモリに格納する。 (8)セキュアタスク管理52は、スリープ状態のセキ
ュアタスクを実行状態に設定する。 (9)セキュアプロセッサ24は、新たに割り当てられ
たページ上の次の命令をフェッチして実行する。
【0056】次に、2つのセキュアタスクA、Bが実行
される場合の処理の流れを説明する。この場合、セキュ
アタスクAおよびBともに、十分なセキュアメモリが割
り当てられており、ページフォルトは起きないものとす
る。 (1)セキュアプロセッサ24は、セキュアタスクAの
暗号化命令をフェッチして実行する。 (2)セキュアタスク管理52は、タイムスライスが切
れ、タイマ割り込みが発生したため、セキュアタスクA
をスリープ状態に設定する。 (3)セキュアタスク管理52は、スケジューリングア
ルゴリズムに従って、次に動作させるタスクをセキュア
タスクBに決定し、セキュアタスクBを動作状態に設定
する。 (4)セキュアタスク管理52は、セキュアタスクBの
復号に必要な鍵をセキュアプロセッサ24に対して指示
する。 (5)セキュアタスク管理52は、プログラムカウン
タ、スタックポインタ、TLBのアドレス対応表等をセ
キュアタスクB用に設定する。 (6)セキュアプロセッサ24は、セキュアタスクBの
暗号化命令をフェッチして実行する。
される場合の処理の流れを説明する。この場合、セキュ
アタスクAおよびBともに、十分なセキュアメモリが割
り当てられており、ページフォルトは起きないものとす
る。 (1)セキュアプロセッサ24は、セキュアタスクAの
暗号化命令をフェッチして実行する。 (2)セキュアタスク管理52は、タイムスライスが切
れ、タイマ割り込みが発生したため、セキュアタスクA
をスリープ状態に設定する。 (3)セキュアタスク管理52は、スケジューリングア
ルゴリズムに従って、次に動作させるタスクをセキュア
タスクBに決定し、セキュアタスクBを動作状態に設定
する。 (4)セキュアタスク管理52は、セキュアタスクBの
復号に必要な鍵をセキュアプロセッサ24に対して指示
する。 (5)セキュアタスク管理52は、プログラムカウン
タ、スタックポインタ、TLBのアドレス対応表等をセ
キュアタスクB用に設定する。 (6)セキュアプロセッサ24は、セキュアタスクBの
暗号化命令をフェッチして実行する。
【0057】以上の説明は、セキュアOSがセキュアプ
ロセッサ24上で動作するものと考えると容易に理解で
きる。しかし、セキュアプロセッサ24の実行を一時停
止する機能や、セキュアプロセッサ24のプログラムカ
ウンタの変更等のようなコンテキストを切り替える機能
がセキュアプロセッサ24に用意されていれば、セキュ
アOS自身は通常プロセッサ22上で動作させることも
可能である。
ロセッサ24上で動作するものと考えると容易に理解で
きる。しかし、セキュアプロセッサ24の実行を一時停
止する機能や、セキュアプロセッサ24のプログラムカ
ウンタの変更等のようなコンテキストを切り替える機能
がセキュアプロセッサ24に用意されていれば、セキュ
アOS自身は通常プロセッサ22上で動作させることも
可能である。
【0058】図2のマルチプロセッサシステムでは、セ
キュアメモリ23と通常メモリ21が別々に設けられて
いるが、セキュアメモリ23と通常メモリ21の一部ま
たは全部がオーバーラップした形態も考えられる。
キュアメモリ23と通常メモリ21が別々に設けられて
いるが、セキュアメモリ23と通常メモリ21の一部ま
たは全部がオーバーラップした形態も考えられる。
【0059】図12および図13は、このようなマルチ
プロセッサシステムの構成例を示している。ただし、こ
こではセキュアドライブ/メディア25は省略されてい
る。図12において、セキュアプロセッサ24と通常プ
ロセッサ22は同一のシステムバス92(データバス、
アドレスバス)を介して、セキュアメモリ91に接続さ
れている。この場合、セキュアメモリ91は、図2のセ
キュアメモリ23と通常メモリ21の機能を兼ね備えて
いる。
プロセッサシステムの構成例を示している。ただし、こ
こではセキュアドライブ/メディア25は省略されてい
る。図12において、セキュアプロセッサ24と通常プ
ロセッサ22は同一のシステムバス92(データバス、
アドレスバス)を介して、セキュアメモリ91に接続さ
れている。この場合、セキュアメモリ91は、図2のセ
キュアメモリ23と通常メモリ21の機能を兼ね備えて
いる。
【0060】また、図13において、セキュアプロセッ
サ24は、システムバス94を介して固有のセキュアメ
モリ23に接続されており、システムバス95を介して
共有メモリ93に接続されている。また、通常プロセッ
サ22は、システムバス96を介して固有の通常メモリ
21に接続されており、システムバス95を介して共有
メモリ93に接続されている。共有メモリ93は、セキ
ュアプロセッサ24と通常プロセッサ22に共通のメモ
リであり、セキュアメモリ23または/および通常メモ
リ21の機能を備えている。
サ24は、システムバス94を介して固有のセキュアメ
モリ23に接続されており、システムバス95を介して
共有メモリ93に接続されている。また、通常プロセッ
サ22は、システムバス96を介して固有の通常メモリ
21に接続されており、システムバス95を介して共有
メモリ93に接続されている。共有メモリ93は、セキ
ュアプロセッサ24と通常プロセッサ22に共通のメモ
リであり、セキュアメモリ23または/および通常メモ
リ21の機能を備えている。
【0061】図12の構成は、システムバスおよびメモ
リが1つずつしかないため、図13の構成よりコストが
低いという利点がある。しかし、セキュアプロセッサ2
4と通常プロセッサ22の両方がセキュアメモリ91に
アクセス可能なため、図13の構成よりセキュリティレ
ベルが低くなる。逆に、図13の構成は、図12の構成
よりコストが増加するが、セキュリティレベルも向上す
る。
リが1つずつしかないため、図13の構成よりコストが
低いという利点がある。しかし、セキュアプロセッサ2
4と通常プロセッサ22の両方がセキュアメモリ91に
アクセス可能なため、図13の構成よりセキュリティレ
ベルが低くなる。逆に、図13の構成は、図12の構成
よりコストが増加するが、セキュリティレベルも向上す
る。
【0062】以上の実施形態では、セキュアプロセッサ
24がコードをフェッチして実行しているが、コードの
一部または全部を用いて、暗号化命令をフェッチし復号
した上で実行する論理回路を自動的に生成することも考
えられる。この場合、汎用論理回路を特定の回路状態に
固定する装置がシステム内に設けられる。
24がコードをフェッチして実行しているが、コードの
一部または全部を用いて、暗号化命令をフェッチし復号
した上で実行する論理回路を自動的に生成することも考
えられる。この場合、汎用論理回路を特定の回路状態に
固定する装置がシステム内に設けられる。
【0063】セキュアメモリ23が正当なコードである
ことを検証した後、セキュアプロセッサ24は、そのコ
ードを用いて論理回路の一部または全部を、回路状態と
して不揮発的に固定する。このとき、前の回路状態を消
去して、新しく上書きする。
ことを検証した後、セキュアプロセッサ24は、そのコ
ードを用いて論理回路の一部または全部を、回路状態と
して不揮発的に固定する。このとき、前の回路状態を消
去して、新しく上書きする。
【0064】図14は、このような回路生成処理のフロ
ーチャートである。セキュアプロセッサ24は、まず、
暗号化命令をフェッチして復号し(ステップS41)、
コードを演算処理回路構成情報に翻訳する(ステップS
42)。次に、回路構成情報を配線情報に翻訳し(ステ
ップS43)、配線情報を不揮発的に焼き付ける(ステ
ップS44)。配線情報の焼き付け方法としては、例え
ば、以下の2通りが考えられる。 (1)図15に示すように、複数の基本回路を配列(ア
レイ)状に並べ、配線情報に基づいて回路間を不揮発的
に接続し、演算器を構成する。 (2)図16に示すように、構成済みの基本演算器を多
種用意しておき、配線情報に基づいて必要な演算器間を
不揮発的に接続する。
ーチャートである。セキュアプロセッサ24は、まず、
暗号化命令をフェッチして復号し(ステップS41)、
コードを演算処理回路構成情報に翻訳する(ステップS
42)。次に、回路構成情報を配線情報に翻訳し(ステ
ップS43)、配線情報を不揮発的に焼き付ける(ステ
ップS44)。配線情報の焼き付け方法としては、例え
ば、以下の2通りが考えられる。 (1)図15に示すように、複数の基本回路を配列(ア
レイ)状に並べ、配線情報に基づいて回路間を不揮発的
に接続し、演算器を構成する。 (2)図16に示すように、構成済みの基本演算器を多
種用意しておき、配線情報に基づいて必要な演算器間を
不揮発的に接続する。
【0065】このように、処理部分をハードウェア化す
ることで処理速度が向上する。また、ハードウェアとソ
フトウェア処理を併用すれば、暗号化命令を階層化し
て、セキュリティレベルを向上させることもできる。例
えば、特に重要な部分の命令は、厳重な認証ステップを
経てハードウェア化しておき、それ以外の命令は、ユー
ザの利便性を図るため、軽い認証で毎回ソフトウェア処
理する。
ることで処理速度が向上する。また、ハードウェアとソ
フトウェア処理を併用すれば、暗号化命令を階層化し
て、セキュリティレベルを向上させることもできる。例
えば、特に重要な部分の命令は、厳重な認証ステップを
経てハードウェア化しておき、それ以外の命令は、ユー
ザの利便性を図るため、軽い認証で毎回ソフトウェア処
理する。
【0066】以上の実施形態では、署名を用いてコード
が正当か否かが検証されているが、コードが正当である
ことを検証するための情報(検証用情報)としては、他
の任意の情報を用いることができる。例えば、パリティ
コード、CRC(Cyclic Redundancy Check )ビット等
を付加しておくことで、コードが壊れているか否かを検
証することができる。そこで、以下では、署名の代わり
に検証用情報という言葉を用い、この情報をコードに付
加する機関をコード認証機関と呼ぶことにする。
が正当か否かが検証されているが、コードが正当である
ことを検証するための情報(検証用情報)としては、他
の任意の情報を用いることができる。例えば、パリティ
コード、CRC(Cyclic Redundancy Check )ビット等
を付加しておくことで、コードが壊れているか否かを検
証することができる。そこで、以下では、署名の代わり
に検証用情報という言葉を用い、この情報をコードに付
加する機関をコード認証機関と呼ぶことにする。
【0067】次に、図17から図22までを参照しなが
ら、検証用情報が付加されたコードの配布方法について
説明する。図17は、ユーザへのコード配布方法を示し
ている。図17において、コード作成者101は、コー
ド認証機関102にコードを提供する(P1)。コード
認証機関102は、受け取ったコードの正当性を確認し
た上で、検証用情報を付加し、認証済みコードをコード
利用者103(ユーザ)に提供する(P2)。コード利
用者103は、例えば、上述したマルチプロセッサシス
テムを保有しており、受け取ったコードに付加された検
証用情報を用いてコードの正当性を確認した後に、その
コードを利用する。
ら、検証用情報が付加されたコードの配布方法について
説明する。図17は、ユーザへのコード配布方法を示し
ている。図17において、コード作成者101は、コー
ド認証機関102にコードを提供する(P1)。コード
認証機関102は、受け取ったコードの正当性を確認し
た上で、検証用情報を付加し、認証済みコードをコード
利用者103(ユーザ)に提供する(P2)。コード利
用者103は、例えば、上述したマルチプロセッサシス
テムを保有しており、受け取ったコードに付加された検
証用情報を用いてコードの正当性を確認した後に、その
コードを利用する。
【0068】このとき、コード認証機関102は、コー
ド作成者101に対して対価を提示してコードを収集
し、収集に際して対価を支払う。そして、コード利用者
103に対してコードの対価を提示し、検証用情報を付
加した後、コード利用者103に対してコードを提供す
ると同時に対価を徴収する。
ド作成者101に対して対価を提示してコードを収集
し、収集に際して対価を支払う。そして、コード利用者
103に対してコードの対価を提示し、検証用情報を付
加した後、コード利用者103に対してコードを提供す
ると同時に対価を徴収する。
【0069】図18は、このような対価の支払いを示し
ている。図18において、コード作成者101は、コー
ド認証機関102にコードを提供し(P11)、その対
価をコード認証機関102から受け取る(P12)。コ
ード認証機関102は、コード利用者103に認証済み
コードを提供し(P13)、コード利用者103は、そ
れに対する対価をコード認証機関102に支払う(P1
4)。
ている。図18において、コード作成者101は、コー
ド認証機関102にコードを提供し(P11)、その対
価をコード認証機関102から受け取る(P12)。コ
ード認証機関102は、コード利用者103に認証済み
コードを提供し(P13)、コード利用者103は、そ
れに対する対価をコード認証機関102に支払う(P1
4)。
【0070】コード利用者103およびコード認証機関
102が支払う対価は、コード提供時に一度に課金され
てもかまわないし、コードの利用/提供状況に応じて従
量課金されてもかまわない。後者の場合、例えば、コー
ド利用者103が受領したコード数に応じて課金が行わ
れる。
102が支払う対価は、コード提供時に一度に課金され
てもかまわないし、コードの利用/提供状況に応じて従
量課金されてもかまわない。後者の場合、例えば、コー
ド利用者103が受領したコード数に応じて課金が行わ
れる。
【0071】また、コード作成者101がコード認証機
関102に手数料を支払うことで、コードに検証用情報
を付加してもらい、コード利用者103が支払う対価を
受領することも可能である。
関102に手数料を支払うことで、コードに検証用情報
を付加してもらい、コード利用者103が支払う対価を
受領することも可能である。
【0072】図19は、このようなコード配布方法を示
している。図19において、コード作成者101は、コ
ード認証機関102にコードを提供し(P21)、検証
用情報を付加してもらうのに必要な手数料を支払って
(P22)、認証済みコードを取得する(P23)。次
に、認証済みコードをコード利用者103に提供して
(P24)、その対価を受け取る(P25)。
している。図19において、コード作成者101は、コ
ード認証機関102にコードを提供し(P21)、検証
用情報を付加してもらうのに必要な手数料を支払って
(P22)、認証済みコードを取得する(P23)。次
に、認証済みコードをコード利用者103に提供して
(P24)、その対価を受け取る(P25)。
【0073】コード利用者103が支払う対価は、コー
ド提供時に一度に課金されてもかまわないし、コードの
利用/提供状況に応じて従量課金されてもかまわない。
また、コード作成者101が支払う手数料も、同様に、
一括課金でもかまわないし、従量課金でもかまわない。
ド提供時に一度に課金されてもかまわないし、コードの
利用/提供状況に応じて従量課金されてもかまわない。
また、コード作成者101が支払う手数料も、同様に、
一括課金でもかまわないし、従量課金でもかまわない。
【0074】また、コード作成者101の代わりに、コ
ード認証機関102がコードを配布してもよい。この場
合、コード認証機関102が、認証済みコードをコード
利用者103に提供して対価を徴収し、徴収した対価を
コード作成者101に支払う。
ード認証機関102がコードを配布してもよい。この場
合、コード認証機関102が、認証済みコードをコード
利用者103に提供して対価を徴収し、徴収した対価を
コード作成者101に支払う。
【0075】また、図17のコード配布方法において、
コード認証機関102は、受け取ったコードを2つ以上
の部分に分割し、最初に一部を配布し、その後、コード
利用者103の要求に応じて、残りの部分を配布するこ
とも可能である。この場合、最初の配布は、例えば、以
下のいずれかの方法で行われる。 (1)複数のユーザにコードを放送する。 (2)各ユーザに、ネットワーク上からコードを自由に
ダウンロードさせる。 (3)コードを可搬記録媒体に収納して、その記録媒体
をユーザに配布する。
コード認証機関102は、受け取ったコードを2つ以上
の部分に分割し、最初に一部を配布し、その後、コード
利用者103の要求に応じて、残りの部分を配布するこ
とも可能である。この場合、最初の配布は、例えば、以
下のいずれかの方法で行われる。 (1)複数のユーザにコードを放送する。 (2)各ユーザに、ネットワーク上からコードを自由に
ダウンロードさせる。 (3)コードを可搬記録媒体に収納して、その記録媒体
をユーザに配布する。
【0076】図20は、このようなコード配布方法を示
している。図20において、コード作成者101は、コ
ード認証機関102にコードを提供する(P31)。コ
ード認証機関102は、コードの正当性を確認した後、
検証用情報を付加して、コード利用者103に認証済み
コードの一部を提供する(P32)。コード利用者10
3は、提供された一部のコードが正当であることを検証
用情報を用いて確認した後、そのコードを利用する。さ
らに、必要であれば、残りの認証済みコードをコード認
証機関102より入手して利用する(P33)。
している。図20において、コード作成者101は、コ
ード認証機関102にコードを提供する(P31)。コ
ード認証機関102は、コードの正当性を確認した後、
検証用情報を付加して、コード利用者103に認証済み
コードの一部を提供する(P32)。コード利用者10
3は、提供された一部のコードが正当であることを検証
用情報を用いて確認した後、そのコードを利用する。さ
らに、必要であれば、残りの認証済みコードをコード認
証機関102より入手して利用する(P33)。
【0077】最初に提供されるコードは、例えば、印刷
機能に制限を設けた年賀状作成ソフトや、最初の画面デ
ータのみを収録したゲームソフト等である。残りのコー
ドは、例えば、すべての機能制限を取り除いた年賀状作
成ソフトや、第2画面以降を収録したゲームソフト等で
ある。
機能に制限を設けた年賀状作成ソフトや、最初の画面デ
ータのみを収録したゲームソフト等である。残りのコー
ドは、例えば、すべての機能制限を取り除いた年賀状作
成ソフトや、第2画面以降を収録したゲームソフト等で
ある。
【0078】このとき、コード認証機関102は、コー
ド作成者101に対して対価を提示してコードを収集
し、収集に際して対価を支払う。次に、コード利用者1
03に対して残しておいた部分のコードの対価を提示
し、検証用情報を付加した後、コードを提供すると同時
に対価を徴収する。
ド作成者101に対して対価を提示してコードを収集
し、収集に際して対価を支払う。次に、コード利用者1
03に対して残しておいた部分のコードの対価を提示
し、検証用情報を付加した後、コードを提供すると同時
に対価を徴収する。
【0079】図21は、このような対価の支払いを示し
ている。図21において、P41およびP42の処理
は、図18のP11およびP12の処理と同様である。
次に、コード認証機関102は、認証済みコードの一部
を、例えば、雑誌付録のCD−ROM(compact disk r
ead only memory )やインターネットを通じて、無償で
配布する(P43)。これを入手して利用したコード利
用者103は、さらに残りのコードを利用したい場合に
は、コード認証機関102に対価を支払い(P45)、
残りのコードの提供を受ける(P44)。
ている。図21において、P41およびP42の処理
は、図18のP11およびP12の処理と同様である。
次に、コード認証機関102は、認証済みコードの一部
を、例えば、雑誌付録のCD−ROM(compact disk r
ead only memory )やインターネットを通じて、無償で
配布する(P43)。これを入手して利用したコード利
用者103は、さらに残りのコードを利用したい場合に
は、コード認証機関102に対価を支払い(P45)、
残りのコードの提供を受ける(P44)。
【0080】また、図19と同様に、コード作成者10
1がコード認証機関102に手数料を支払うことで、コ
ードに検証用情報を付加してもらうことも可能である。
この場合、コード作成者101がコード利用者103に
対して残りの部分のコードの対価を提示し、コード利用
者103に対してコードを提供すると同時に対価を徴収
する。
1がコード認証機関102に手数料を支払うことで、コ
ードに検証用情報を付加してもらうことも可能である。
この場合、コード作成者101がコード利用者103に
対して残りの部分のコードの対価を提示し、コード利用
者103に対してコードを提供すると同時に対価を徴収
する。
【0081】図22は、このようなコード配布方法を示
している。図22において、P51、P52、およびP
53の処理は、図19のP21、P22、およびP23
の処理と同様である。次に、コード作成者101は、認
証済みコードの一部を、例えば、上述したような方法で
無償配布する(P54)。これを入手して利用したコー
ド利用者103が残りのコードを利用したい場合には、
対価を支払い(P56)、残りのコードを入手する(P
55)。
している。図22において、P51、P52、およびP
53の処理は、図19のP21、P22、およびP23
の処理と同様である。次に、コード作成者101は、認
証済みコードの一部を、例えば、上述したような方法で
無償配布する(P54)。これを入手して利用したコー
ド利用者103が残りのコードを利用したい場合には、
対価を支払い(P56)、残りのコードを入手する(P
55)。
【0082】また、コード作成者101の代わりに、コ
ード認証機関102がコードを配布してもよい。この場
合、コード認証機関102が、コード利用者103に対
して残りの部分のコードの対価を提示し、コード利用者
103に対してコードを提供すると同時に対価を徴収
し、徴収した対価をコード作成者101に支払う。
ード認証機関102がコードを配布してもよい。この場
合、コード認証機関102が、コード利用者103に対
して残りの部分のコードの対価を提示し、コード利用者
103に対してコードを提供すると同時に対価を徴収
し、徴収した対価をコード作成者101に支払う。
【0083】以上説明したようなコード配布方法によれ
ば、コード認証機関による認証済みのコードが配布され
るので、ユーザは、安心してコードを利用することがで
きる。これにより、コードを利用するユーザが増加し、
コードを広範囲に配布することが可能となる。
ば、コード認証機関による認証済みのコードが配布され
るので、ユーザは、安心してコードを利用することがで
きる。これにより、コードを利用するユーザが増加し、
コードを広範囲に配布することが可能となる。
【0084】ところで、図5のセキュアOS51は、例
えば、セキュアドライブ/メディア25にあらかじめ格
納され、必要に応じてメモリにロードされて、動作を開
始する。また、セキュアOS51を外部に保存してお
き、必要に応じてシステムにインストールすることも可
能である。
えば、セキュアドライブ/メディア25にあらかじめ格
納され、必要に応じてメモリにロードされて、動作を開
始する。また、セキュアOS51を外部に保存してお
き、必要に応じてシステムにインストールすることも可
能である。
【0085】図23は、セキュアOS51を含むプログ
ラムとデータをマルチプロセッサシステムに供給するこ
とのできるコンピュータ読み取り可能な記録媒体を示し
ている。
ラムとデータをマルチプロセッサシステムに供給するこ
とのできるコンピュータ読み取り可能な記録媒体を示し
ている。
【0086】サーバ111のデータベース112や可搬
記録媒体113に保存されたプログラムとデータは、マ
ルチプロセッサシステムのメモリ114にロードされ
る。このとき、サーバ111は、プログラムとデータを
搬送する搬送信号を生成し、ネットワーク上の任意の伝
送媒体を介してマルチプロセッサシステムに送信する。
そして、マルチプロセッサシステムは、そのデータを用
いてそのプログラムを実行し、必要な処理を行う。
記録媒体113に保存されたプログラムとデータは、マ
ルチプロセッサシステムのメモリ114にロードされ
る。このとき、サーバ111は、プログラムとデータを
搬送する搬送信号を生成し、ネットワーク上の任意の伝
送媒体を介してマルチプロセッサシステムに送信する。
そして、マルチプロセッサシステムは、そのデータを用
いてそのプログラムを実行し、必要な処理を行う。
【0087】可搬記録媒体113としては、メモリカー
ド、フロッピー(登録商標)ディスク、CD−ROM、
光ディスク、光磁気ディスク等、任意のコンピュータ読
み取り可能な記録媒体が用いられる。また、メモリ11
4は、図2の通常メモリ21またはセキュアメモリ2
3、図12のセキュアメモリ91、あるいは図13の共
有メモリ93に対応する。 (付記1) マルチプロセッサシステムを用いたコード
実行装置であって、セキュアタスクの暗号化コードと、
該暗号化コードが正当であることを検証するための検証
用情報とを格納するセキュアメモリ手段と、前記検証用
情報により前記暗号化コードが正当であると検証された
とき、該暗号化コードを実行するセキュアプロセッサ手
段と、通常タスクのコードを格納する通常メモリ手段
と、前記通常タスクのコードを実行する通常プロセッサ
手段と、前記セキュアタスクと通常タスクの振り分けを
行って、前記暗号化コードを前記セキュアメモリ手段に
格納し、前記通常タスクのコードを前記通常メモリ手段
に格納する制御手段とを備えることを特徴とするコード
実行装置。 (付記2) 前記セキュアメモリ手段は、物理メモリ割
り当ての単位毎に前記暗号化コードを格納し、該単位毎
の暗号化コードに対する検証用情報を格納し、該検証用
情報を用いて該単位毎の暗号化コードを検証し、前記セ
キュアプロセッサ手段は、正当であると検証された暗号
化コードに含まれる暗号化命令をフェッチし、復号して
実行することを特徴とする付記1記載のコード実行装
置。 (付記3) 前記セキュアプロセッサ手段は、複数の復
号鍵を保持し、該複数の復号鍵のうち指示された復号鍵
を用いて、前記暗号化命令を復号することを特徴とする
付記2記載のコード実行装置。 (付記4) 前記セキュアメモリ手段とセキュアプロセ
ッサ手段は、相互認証を行ってセッション鍵を共有し、
該セキュアメモリ手段は、前記暗号化命令を該セッショ
ン鍵でさらに暗号化して該セキュアプロセッサ手段に転
送することを特徴とする付記2記載のコード実行装置。 (付記5) 前記暗号化コードを固有鍵でさらに暗号化
して格納するセキュアドライブ手段をさらに備え、該セ
キュアドライブ手段と前記セキュアメモリ手段は、相互
認証を行ってセッション鍵を共有し、該セキュアドライ
ブ手段は、前記制御手段からの読み出し指示に基づい
て、該暗号化コードを該固有鍵で復号し、該セッション
鍵で暗号化して、該セキュアメモリ手段に転送すること
を特徴とする付記1記載のコード実行装置。 (付記6) 前記セキュアメモリ手段と通常メモリ手段
の領域の少なくとも一部がオーバーラップしていること
を特徴とする付記1記載のコード実行装置。 (付記7) 前記セキュアプロセッサ手段は、前記暗号
化コードを用いて、該暗号化コードを実行する論理回路
の少なくとも一部を、回路状態として不揮発的に固定す
ることを特徴とする付記1記載のコード実行装置。 (付記8) 前記セキュアプロセッサ手段は、前記論理
回路の前の回路状態を消去して、新しく上書きすること
を特徴とする付記7記載のコード実行装置。 (付記9) 物理メモリ割り当ての単位毎に暗号化コー
ドを格納する手段と、該単位毎の暗号化コードが正当で
あることを検証するための検証用情報を格納する手段
と、該検証用情報を用いて該単位毎の暗号化コードを検
証する手段とを備えることを特徴とするメモリ。 (付記10) 暗号化コードを格納するメモリから、該
暗号化コードが正当であることを示す通知を受け取る手
段と、前記通知を受け取ったとき、前記暗号化コードに
含まれる暗号化命令をフェッチして復号する手段と、復
号された命令を実行する手段とを備えることを特徴とす
るプロセッサ。 (付記11) コンピュータのためのプログラムを記録
した記録媒体であって、該プログラムは、セキュアタス
クを実行するセキュアプロセッサと、通常タスクを実行
する通常プロセッサを含むマルチプロセッサシステムに
おいて、該セキュアタスクと通常タスクの振り分けを行
い、前記セキュアタスクの暗号化コードと、該暗号化コ
ードが正当であることを検証するための検証用情報と
を、セキュアメモリに格納し、前記検証用情報により前
記暗号化コードが正当であると検証されたとき、該暗号
化コードをセキュアプロセッサに実行させる処理を前記
コンピュータに実行させることを特徴とするコンピュー
タ読み取り可能な記録媒体。 (付記12) セキュアタスクを実行するセキュアプロ
セッサと、通常タスクを実行する通常プロセッサを含む
マルチプロセッサシステムにおいて、該セキュアタスク
と通常タスクの振り分けを行い、前記セキュアタスクの
暗号化コードと、該暗号化コードが正当であることを検
証するための検証用情報とを、セキュアメモリに格納
し、前記検証用情報により前記暗号化コードが正当であ
ると検証されたとき、該暗号化コードをセキュアプロセ
ッサに実行させる処理をコンピュータに実行させるため
のプログラム。 (付記13) コンピュータのためのプログラムを該コ
ンピュータに搬送する搬送信号であって、該プログラム
は、セキュアタスクを実行するセキュアプロセッサと、
通常タスクを実行する通常プロセッサを含むマルチプロ
セッサシステムにおいて、該セキュアタスクと通常タス
クの振り分けを行い、前記セキュアタスクの暗号化コー
ドと、該暗号化コードが正当であることを検証するため
の検証用情報とを、セキュアメモリに格納し、前記検証
用情報により前記暗号化コードが正当であると検証され
たとき、該暗号化コードをセキュアプロセッサに実行さ
せる処理を前記コンピュータに実行させることを特徴と
する搬送信号。 (付記14) コード作成者が、コード認証機関に実行
可能なコードを提供し、前記コード認証機関が、前記コ
ードが正当であることを検証するための検証用情報を該
コードに付加して、マルチプロセッサシステムのユーザ
に配布し、前記マルチプロセッサシステムは、前記コー
ドを用いてセキュアタスクを実行するセキュアプロセッ
サと、通常タスクを実行する通常プロセッサを含み、該
セキュアタスクと通常タスクの振り分けを行い、前記検
証用情報を用いて該コードが正当であることを検証し、
該コードを実行することを特徴とするコード配布方法。 (付記15) 前記コード認証機関は、前記コード作成
者に対して対価を提示して前記コードを収集し、収集に
際して対価を支払い、前記ユーザに対して該コードの対
価を提示し、前記検証用情報を付加した後、該ユーザに
対して該コードを提供すると同時に対価を徴収すること
を特徴とする付記14記載のコード配布方法。 (付記16) 前記コード認証機関は、前記コードを2
つ以上の部分に分割し、最初に一部を配布し、その後、
前記ユーザの要求に応じて、残りの部分を配布すること
を特徴とする付記14記載のコード配布方法。 (付記17) 前記コード認証機関は、前記コード作成
者に対して対価を提示してコードを収集し、収集に際し
て対価を支払い、前記ユーザに対して前記残りの部分の
対価を提示し、検証用情報を付加した後、コードを提供
して対価を受領することを特徴とする付記16記載のコ
ード配布方法。 (付記18) コード作成者が、コード認証機関に実行
可能なコードを提供して、手数料を支払い、前記コード
認証機関が、前記コードが正当であることを検証するた
めの検証用情報を該コードに付加し、前記コード作成者
が、前記コードをマルチプロセッサシステムのユーザに
配布して、該ユーザが支払う対価を受領し、前記マルチ
プロセッサシステムは、前記コードを用いてセキュアタ
スクを実行するセキュアプロセッサと、通常タスクを実
行する通常プロセッサを含み、該セキュアタスクと通常
タスクの振り分けを行い、前記検証用情報を用いて該コ
ードが正当であることを検証し、該コードを実行するこ
とを特徴とするコード配布方法。 (付記19) 前記コード作成者は、前記コードを2つ
以上の部分に分割し、最初に一部を配布し、その後、前
記ユーザの要求に応じて、残りの部分の対価を提示し、
コードを提供して対価を受領することを特徴とする付記
18記載のコード配布方法。
ド、フロッピー(登録商標)ディスク、CD−ROM、
光ディスク、光磁気ディスク等、任意のコンピュータ読
み取り可能な記録媒体が用いられる。また、メモリ11
4は、図2の通常メモリ21またはセキュアメモリ2
3、図12のセキュアメモリ91、あるいは図13の共
有メモリ93に対応する。 (付記1) マルチプロセッサシステムを用いたコード
実行装置であって、セキュアタスクの暗号化コードと、
該暗号化コードが正当であることを検証するための検証
用情報とを格納するセキュアメモリ手段と、前記検証用
情報により前記暗号化コードが正当であると検証された
とき、該暗号化コードを実行するセキュアプロセッサ手
段と、通常タスクのコードを格納する通常メモリ手段
と、前記通常タスクのコードを実行する通常プロセッサ
手段と、前記セキュアタスクと通常タスクの振り分けを
行って、前記暗号化コードを前記セキュアメモリ手段に
格納し、前記通常タスクのコードを前記通常メモリ手段
に格納する制御手段とを備えることを特徴とするコード
実行装置。 (付記2) 前記セキュアメモリ手段は、物理メモリ割
り当ての単位毎に前記暗号化コードを格納し、該単位毎
の暗号化コードに対する検証用情報を格納し、該検証用
情報を用いて該単位毎の暗号化コードを検証し、前記セ
キュアプロセッサ手段は、正当であると検証された暗号
化コードに含まれる暗号化命令をフェッチし、復号して
実行することを特徴とする付記1記載のコード実行装
置。 (付記3) 前記セキュアプロセッサ手段は、複数の復
号鍵を保持し、該複数の復号鍵のうち指示された復号鍵
を用いて、前記暗号化命令を復号することを特徴とする
付記2記載のコード実行装置。 (付記4) 前記セキュアメモリ手段とセキュアプロセ
ッサ手段は、相互認証を行ってセッション鍵を共有し、
該セキュアメモリ手段は、前記暗号化命令を該セッショ
ン鍵でさらに暗号化して該セキュアプロセッサ手段に転
送することを特徴とする付記2記載のコード実行装置。 (付記5) 前記暗号化コードを固有鍵でさらに暗号化
して格納するセキュアドライブ手段をさらに備え、該セ
キュアドライブ手段と前記セキュアメモリ手段は、相互
認証を行ってセッション鍵を共有し、該セキュアドライ
ブ手段は、前記制御手段からの読み出し指示に基づい
て、該暗号化コードを該固有鍵で復号し、該セッション
鍵で暗号化して、該セキュアメモリ手段に転送すること
を特徴とする付記1記載のコード実行装置。 (付記6) 前記セキュアメモリ手段と通常メモリ手段
の領域の少なくとも一部がオーバーラップしていること
を特徴とする付記1記載のコード実行装置。 (付記7) 前記セキュアプロセッサ手段は、前記暗号
化コードを用いて、該暗号化コードを実行する論理回路
の少なくとも一部を、回路状態として不揮発的に固定す
ることを特徴とする付記1記載のコード実行装置。 (付記8) 前記セキュアプロセッサ手段は、前記論理
回路の前の回路状態を消去して、新しく上書きすること
を特徴とする付記7記載のコード実行装置。 (付記9) 物理メモリ割り当ての単位毎に暗号化コー
ドを格納する手段と、該単位毎の暗号化コードが正当で
あることを検証するための検証用情報を格納する手段
と、該検証用情報を用いて該単位毎の暗号化コードを検
証する手段とを備えることを特徴とするメモリ。 (付記10) 暗号化コードを格納するメモリから、該
暗号化コードが正当であることを示す通知を受け取る手
段と、前記通知を受け取ったとき、前記暗号化コードに
含まれる暗号化命令をフェッチして復号する手段と、復
号された命令を実行する手段とを備えることを特徴とす
るプロセッサ。 (付記11) コンピュータのためのプログラムを記録
した記録媒体であって、該プログラムは、セキュアタス
クを実行するセキュアプロセッサと、通常タスクを実行
する通常プロセッサを含むマルチプロセッサシステムに
おいて、該セキュアタスクと通常タスクの振り分けを行
い、前記セキュアタスクの暗号化コードと、該暗号化コ
ードが正当であることを検証するための検証用情報と
を、セキュアメモリに格納し、前記検証用情報により前
記暗号化コードが正当であると検証されたとき、該暗号
化コードをセキュアプロセッサに実行させる処理を前記
コンピュータに実行させることを特徴とするコンピュー
タ読み取り可能な記録媒体。 (付記12) セキュアタスクを実行するセキュアプロ
セッサと、通常タスクを実行する通常プロセッサを含む
マルチプロセッサシステムにおいて、該セキュアタスク
と通常タスクの振り分けを行い、前記セキュアタスクの
暗号化コードと、該暗号化コードが正当であることを検
証するための検証用情報とを、セキュアメモリに格納
し、前記検証用情報により前記暗号化コードが正当であ
ると検証されたとき、該暗号化コードをセキュアプロセ
ッサに実行させる処理をコンピュータに実行させるため
のプログラム。 (付記13) コンピュータのためのプログラムを該コ
ンピュータに搬送する搬送信号であって、該プログラム
は、セキュアタスクを実行するセキュアプロセッサと、
通常タスクを実行する通常プロセッサを含むマルチプロ
セッサシステムにおいて、該セキュアタスクと通常タス
クの振り分けを行い、前記セキュアタスクの暗号化コー
ドと、該暗号化コードが正当であることを検証するため
の検証用情報とを、セキュアメモリに格納し、前記検証
用情報により前記暗号化コードが正当であると検証され
たとき、該暗号化コードをセキュアプロセッサに実行さ
せる処理を前記コンピュータに実行させることを特徴と
する搬送信号。 (付記14) コード作成者が、コード認証機関に実行
可能なコードを提供し、前記コード認証機関が、前記コ
ードが正当であることを検証するための検証用情報を該
コードに付加して、マルチプロセッサシステムのユーザ
に配布し、前記マルチプロセッサシステムは、前記コー
ドを用いてセキュアタスクを実行するセキュアプロセッ
サと、通常タスクを実行する通常プロセッサを含み、該
セキュアタスクと通常タスクの振り分けを行い、前記検
証用情報を用いて該コードが正当であることを検証し、
該コードを実行することを特徴とするコード配布方法。 (付記15) 前記コード認証機関は、前記コード作成
者に対して対価を提示して前記コードを収集し、収集に
際して対価を支払い、前記ユーザに対して該コードの対
価を提示し、前記検証用情報を付加した後、該ユーザに
対して該コードを提供すると同時に対価を徴収すること
を特徴とする付記14記載のコード配布方法。 (付記16) 前記コード認証機関は、前記コードを2
つ以上の部分に分割し、最初に一部を配布し、その後、
前記ユーザの要求に応じて、残りの部分を配布すること
を特徴とする付記14記載のコード配布方法。 (付記17) 前記コード認証機関は、前記コード作成
者に対して対価を提示してコードを収集し、収集に際し
て対価を支払い、前記ユーザに対して前記残りの部分の
対価を提示し、検証用情報を付加した後、コードを提供
して対価を受領することを特徴とする付記16記載のコ
ード配布方法。 (付記18) コード作成者が、コード認証機関に実行
可能なコードを提供して、手数料を支払い、前記コード
認証機関が、前記コードが正当であることを検証するた
めの検証用情報を該コードに付加し、前記コード作成者
が、前記コードをマルチプロセッサシステムのユーザに
配布して、該ユーザが支払う対価を受領し、前記マルチ
プロセッサシステムは、前記コードを用いてセキュアタ
スクを実行するセキュアプロセッサと、通常タスクを実
行する通常プロセッサを含み、該セキュアタスクと通常
タスクの振り分けを行い、前記検証用情報を用いて該コ
ードが正当であることを検証し、該コードを実行するこ
とを特徴とするコード配布方法。 (付記19) 前記コード作成者は、前記コードを2つ
以上の部分に分割し、最初に一部を配布し、その後、前
記ユーザの要求に応じて、残りの部分の対価を提示し、
コードを提供して対価を受領することを特徴とする付記
18記載のコード配布方法。
【0088】
【発明の効果】本発明によれば、セキュアプロセッサを
含むヘテロなマルチプロセッサシステムを構築して、セ
キュアタスクと非セキュアタスクを振り分けることで、
OSによる制御が簡単になり、セキュア処理を効率よく
実行することができる。また、セキュアタスクのコード
に署名を施す際に、メモリに読み込む部分毎に署名を付
与することで、コードを効率よく実行することが可能と
なる。
含むヘテロなマルチプロセッサシステムを構築して、セ
キュアタスクと非セキュアタスクを振り分けることで、
OSによる制御が簡単になり、セキュア処理を効率よく
実行することができる。また、セキュアタスクのコード
に署名を施す際に、メモリに読み込む部分毎に署名を付
与することで、コードを効率よく実行することが可能と
なる。
【図1】本発明のコード実行装置の原理図である。
【図2】第1のマルチプロセッサシステムの構成図であ
る。
る。
【図3】セキュアメモリとセキュアプロセッサの第1の
構成図である。
構成図である。
【図4】セキュアプロセッサの構成図である。
【図5】セキュアOSの構成図である。
【図6】セキュアタスク管理の処理のフローチャートで
ある。
ある。
【図7】セキュアメモリ管理の処理のフローチャートで
ある。
ある。
【図8】実メモリ解放処理のフローチャートである。
【図9】セキュアファイルシステムの処理のフローチャ
ートである。
ートである。
【図10】セキュアメモリとセキュアプロセッサの第2
の構成図である。
の構成図である。
【図11】セキュアドライブ/メディアとセキュアメモ
リの構成図である。
リの構成図である。
【図12】第2のマルチプロセッサシステムの構成図で
ある。
ある。
【図13】第3のマルチプロセッサシステムの構成図で
ある。
ある。
【図14】回路生成処理のフローチャートである。
【図15】基本回路の配列を示す図である。
【図16】演算器群を示す図である。
【図17】第1のコード配布方法を示す図である。
【図18】第1の対価の支払いを示す図である。
【図19】第2のコード配布方法を示す図である。
【図20】第3のコード配布方法を示す図である。
【図21】第2の対価の支払いを示す図である。
【図22】第4のコード配布方法を示す図である。
【図23】記録媒体を示す図である。
11 セキュアメモリ手段 12 セキュアプロセッサ手段 13 通常メモリ手段 14 通常プロセッサ手段 15 制御手段 21 通常メモリ 22 通常プロセッサ 23、91 セキュアメモリ 24 セキュアプロセッサ 25 セキュアドライブ/メディア 26、92、94、95、96 システムバス 31 認証局公開鍵 32 署名検証部 33 署名保持部 34 ページ 41 復号鍵設定部 42 復号鍵保持部 43、63、72、84 復号部 44 プロセッサ 45 復号鍵指示部 51 セキュアOS 52 セキュアタスク管理 53 セキュアメモリ管理 54 セキュアファイルシステム 61、71、83 相互認証/セッション鍵共有部 62、85 暗号部 81 格納媒体 82 格納装置固有鍵 86 格納媒体固有鍵 87 暗号化コード 93 共有メモリ 101 コード作成者 102 コード認証機関 103 コード利用者 111 サーバ 112 データベース 113 可搬記録媒体 114 メモリ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 15/16 610 G06F 9/06 660G 5J104 H04L 9/08 9/30 320C Fターム(参考) 5B017 AA03 BA07 CA15 5B033 BB03 5B045 DD01 GG06 GG09 5B076 FA01 FD04 5B098 AA10 GA04 GC01 5J104 AA09 EA06 LA03 NA02
Claims (10)
- 【請求項1】 マルチプロセッサシステムを用いたコー
ド実行装置であって、 セキュアタスクの暗号化コードと、該暗号化コードが正
当であることを検証するための検証用情報とを格納する
セキュアメモリ手段と、 前記検証用情報により前記暗号化コードが正当であると
検証されたとき、該暗号化コードを実行するセキュアプ
ロセッサ手段と、 通常タスクのコードを格納する通常メモリ手段と、 前記通常タスクのコードを実行する通常プロセッサ手段
と、 前記セキュアタスクと通常タスクの振り分けを行って、
前記暗号化コードを前記セキュアメモリ手段に格納し、
前記通常タスクのコードを前記通常メモリ手段に格納す
る制御手段とを備えることを特徴とするコード実行装
置。 - 【請求項2】 前記セキュアメモリ手段は、物理メモリ
割り当ての単位毎に前記暗号化コードを格納し、該単位
毎の暗号化コードに対する検証用情報を格納し、該検証
用情報を用いて該単位毎の暗号化コードを検証し、前記
セキュアプロセッサ手段は、正当であると検証された暗
号化コードに含まれる暗号化命令をフェッチし、復号し
て実行することを特徴とする請求項1記載のコード実行
装置。 - 【請求項3】 前記暗号化コードを固有鍵でさらに暗号
化して格納するセキュアドライブ手段をさらに備え、該
セキュアドライブ手段と前記セキュアメモリ手段は、相
互認証を行ってセッション鍵を共有し、該セキュアドラ
イブ手段は、前記制御手段からの読み出し指示に基づい
て、該暗号化コードを該固有鍵で復号し、該セッション
鍵で暗号化して、該セキュアメモリ手段に転送すること
を特徴とする請求項1記載のコード実行装置。 - 【請求項4】 前記セキュアプロセッサ手段は、前記暗
号化コードを用いて、該暗号化コードを実行する論理回
路の少なくとも一部を、回路状態として不揮発的に固定
することを特徴とする請求項1記載のコード実行装置。 - 【請求項5】 物理メモリ割り当ての単位毎に暗号化コ
ードを格納する手段と、 該単位毎の暗号化コードが正当であることを検証するた
めの検証用情報を格納する手段と、 該検証用情報を用いて該単位毎の暗号化コードを検証す
る手段とを備えることを特徴とするメモリ。 - 【請求項6】 暗号化コードを格納するメモリから、該
暗号化コードが正当であることを示す通知を受け取る手
段と、 前記通知を受け取ったとき、前記暗号化コードに含まれ
る暗号化命令をフェッチして復号する手段と、 復号された命令を実行する手段とを備えることを特徴と
するプロセッサ。 - 【請求項7】 コンピュータのためのプログラムを記録
した記録媒体であって、該プログラムは、 セキュアタスクを実行するセキュアプロセッサと、通常
タスクを実行する通常プロセッサを含むマルチプロセッ
サシステムにおいて、該セキュアタスクと通常タスクの
振り分けを行い、 前記セキュアタスクの暗号化コードと、該暗号化コード
が正当であることを検証するための検証用情報とを、セ
キュアメモリに格納し、 前記検証用情報により前記暗号化コードが正当であると
検証されたとき、該暗号化コードをセキュアプロセッサ
に実行させる処理を前記コンピュータに実行させること
を特徴とするコンピュータ読み取り可能な記録媒体。 - 【請求項8】 セキュアタスクを実行するセキュアプロ
セッサと、通常タスクを実行する通常プロセッサを含む
マルチプロセッサシステムにおいて、該セキュアタスク
と通常タスクの振り分けを行い、 前記セキュアタスクの暗号化コードと、該暗号化コード
が正当であることを検証するための検証用情報とを、セ
キュアメモリに格納し、 前記検証用情報により前記暗号化コードが正当であると
検証されたとき、該暗号化コードをセキュアプロセッサ
に実行させる処理をコンピュータに実行させるためのプ
ログラム。 - 【請求項9】 コード作成者が、コード認証機関に実行
可能なコードを提供し、 前記コード認証機関が、前記コードが正当であることを
検証するための検証用情報を該コードに付加して、マル
チプロセッサシステムのユーザに配布し、 前記マルチプロセッサシステムは、前記コードを用いて
セキュアタスクを実行するセキュアプロセッサと、通常
タスクを実行する通常プロセッサを含み、該セキュアタ
スクと通常タスクの振り分けを行い、前記検証用情報を
用いて該コードが正当であることを検証し、該コードを
実行することを特徴とするコード配布方法。 - 【請求項10】 コード作成者が、コード認証機関に実
行可能なコードを提供して、手数料を支払い、 前記コード認証機関が、前記コードが正当であることを
検証するための検証用情報を該コードに付加し、 前記コード作成者が、前記コードをマルチプロセッサシ
ステムのユーザに配布して、該ユーザが支払う対価を受
領し、 前記マルチプロセッサシステムは、前記コードを用いて
セキュアタスクを実行するセキュアプロセッサと、通常
タスクを実行する通常プロセッサを含み、該セキュアタ
スクと通常タスクの振り分けを行い、前記検証用情報を
用いて該コードが正当であることを検証し、該コードを
実行することを特徴とするコード配布方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001162271A JP2002353960A (ja) | 2001-05-30 | 2001-05-30 | コード実行装置およびコード配布方法 |
US10/042,262 US20020184046A1 (en) | 2001-05-30 | 2002-01-11 | Code execution apparatus and code distributing method |
EP06016244A EP1739591A2 (en) | 2001-05-30 | 2002-01-22 | Code distributing method |
EP02250415A EP1278114A3 (en) | 2001-05-30 | 2002-01-22 | Code execution apparatus and code distribution method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001162271A JP2002353960A (ja) | 2001-05-30 | 2001-05-30 | コード実行装置およびコード配布方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002353960A true JP2002353960A (ja) | 2002-12-06 |
Family
ID=19005432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001162271A Withdrawn JP2002353960A (ja) | 2001-05-30 | 2001-05-30 | コード実行装置およびコード配布方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20020184046A1 (ja) |
EP (2) | EP1278114A3 (ja) |
JP (1) | JP2002353960A (ja) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005034422A1 (ja) * | 2003-09-30 | 2005-04-14 | Sony Corporation | 信号処理システム |
JP2005182774A (ja) * | 2003-11-28 | 2005-07-07 | Matsushita Electric Ind Co Ltd | データ処理装置 |
EP1632835A2 (en) | 2004-06-30 | 2006-03-08 | Fujitsu Limited | A secure processor and a program for a secure processor |
JP2006065851A (ja) * | 2004-08-27 | 2006-03-09 | Microsoft Corp | アドレスビットを使用してアドレス空間におけるデータのセキュリティ属性を通知するシステムおよび方法 |
JP2006164184A (ja) * | 2004-12-10 | 2006-06-22 | Ntt Docomo Inc | プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法 |
JP2006277487A (ja) * | 2005-03-30 | 2006-10-12 | Hitachi Ltd | ディスクアレイ装置およびその制御方法 |
WO2007011001A1 (ja) * | 2005-07-22 | 2007-01-25 | Matsushita Electric Industrial Co., Ltd. | 実行装置 |
JP2007524883A (ja) * | 2003-02-07 | 2007-08-30 | ブロードオン コミュニケーションズ コーポレーション | 下位互換性のあるセキュアプロセッサとそれによるセキュアソフトウェアの実行方法 |
JP2007226481A (ja) * | 2006-02-22 | 2007-09-06 | Fujitsu Ltd | セキュアプロセッサ |
US7325137B2 (en) | 2003-03-25 | 2008-01-29 | Fuji Xerox Co., Ltd. | Apparatus and method for securely realizing cooperative processing |
US7330973B2 (en) | 2002-11-06 | 2008-02-12 | Fujitsu Limited | Safety judgment method, safety judgment system, safety judgment apparatus, first authentication apparatus, and computer program product |
JP2008242948A (ja) * | 2007-03-28 | 2008-10-09 | Toshiba Corp | 情報処理装置および同装置の動作制御方法 |
US7461288B2 (en) | 2004-01-13 | 2008-12-02 | Sony Corporation | Computer apparatus and process controlling method |
JP2008293033A (ja) * | 2003-09-18 | 2008-12-04 | Apple Inc | インクリメンタルなコード署名の方法及び装置 |
US7590869B2 (en) | 2003-09-24 | 2009-09-15 | Kabushiki Kaisha Toshiba | On-chip multi-core type tamper resistant microprocessor |
US7681044B2 (en) | 2005-06-17 | 2010-03-16 | Fujitsu Microelectronics Limited | Secure processor and system |
KR101037006B1 (ko) | 2003-11-28 | 2011-05-25 | 파나소닉 주식회사 | 데이터 처리장치 |
JP2012530961A (ja) * | 2009-12-22 | 2012-12-06 | インテル・コーポレーション | セキュアなアプリケーションの実行を提供する方法および装置 |
US8364965B2 (en) | 2006-03-15 | 2013-01-29 | Apple Inc. | Optimized integrity verification procedures |
JP2013535725A (ja) * | 2010-07-22 | 2013-09-12 | ナグラビジョン エス アー | ソフトウェアの完全性を保証するためのプロセッサにより実施される方法 |
JP2013541783A (ja) * | 2010-10-20 | 2013-11-14 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 多ユーザ機密コードおよびデータを保護するためのアーキテクチャを含む方法および装置 |
US8976585B2 (en) | 2010-04-27 | 2015-03-10 | Robert Bosch Gmbh | Memory module for simultaneously providing at least one secure and at least one insecure memory area |
US9087200B2 (en) | 2009-12-22 | 2015-07-21 | Intel Corporation | Method and apparatus to provide secure application execution |
KR20160150401A (ko) * | 2015-06-22 | 2016-12-30 | 엘에스산전 주식회사 | Plc 시스템 |
US9672350B2 (en) | 2008-03-04 | 2017-06-06 | Apple Inc. | System and method of authorizing execution of software code based on at least one installed profile |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100017627A1 (en) | 2003-02-07 | 2010-01-21 | Broadon Communications Corp. | Ensuring authenticity in a closed content distribution system |
AU2004213886A1 (en) * | 2003-02-21 | 2004-09-02 | Research In Motion Limited | System and method of multiple-level control of electronic devices |
US7257718B2 (en) * | 2003-05-12 | 2007-08-14 | International Business Machines Corporation | Cipher message assist instructions |
US7356710B2 (en) * | 2003-05-12 | 2008-04-08 | International Business Machines Corporation | Security message authentication control instruction |
US7159122B2 (en) | 2003-05-12 | 2007-01-02 | International Business Machines Corporation | Message digest instructions |
JP4062441B2 (ja) * | 2003-07-18 | 2008-03-19 | 日本電気株式会社 | 並列処理システム及び並列処理プログラム |
US20050204155A1 (en) * | 2004-03-09 | 2005-09-15 | Nec Laboratories America, Inc | Tamper resistant secure architecture |
JP2005309957A (ja) * | 2004-04-23 | 2005-11-04 | Denso Corp | マイクロコンピュータ、車載システム |
US7818574B2 (en) | 2004-09-10 | 2010-10-19 | International Business Machines Corporation | System and method for providing dynamically authorized access to functionality present on an integrated circuit chip |
US20060059369A1 (en) * | 2004-09-10 | 2006-03-16 | International Business Machines Corporation | Circuit chip for cryptographic processing having a secure interface to an external memory |
WO2006129641A1 (ja) * | 2005-06-01 | 2006-12-07 | Matsushita Electric Industrial Co., Ltd. | コンピュータシステム及びプログラム生成装置 |
EP1742152B1 (en) * | 2005-07-07 | 2012-09-12 | Texas Instruments Inc. | Method and system for a multi-sharing memory access control |
JP4116024B2 (ja) * | 2005-07-29 | 2008-07-09 | 株式会社ソニー・コンピュータエンタテインメント | ペリフェラルの使用管理方法、電子システム及びその構成装置 |
KR101123742B1 (ko) * | 2005-12-23 | 2012-03-16 | 삼성전자주식회사 | 사용자 인터페이스와 소프트웨어 간의 신뢰 경로 설정 방법및 장치 |
GB2442023B (en) * | 2006-09-13 | 2011-03-02 | Advanced Risc Mach Ltd | Memory access security management |
KR20080067774A (ko) * | 2007-01-17 | 2008-07-22 | 삼성전자주식회사 | 허가되지 않은 메모리 접근으로부터 비밀 영역을 보호하기위한 방법 및 시스템 |
JP4912921B2 (ja) * | 2007-02-27 | 2012-04-11 | 富士通セミコンダクター株式会社 | セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法 |
US8515080B2 (en) * | 2007-12-19 | 2013-08-20 | International Business Machines Corporation | Method, system, and computer program product for encryption key management in a secure processor vault |
US8650399B2 (en) * | 2008-02-29 | 2014-02-11 | Spansion Llc | Memory device and chip set processor pairing |
WO2009111405A1 (en) * | 2008-03-04 | 2009-09-11 | Apple Inc. | System and method of authorizing execution of software code based on a trusted cache |
US20090228868A1 (en) * | 2008-03-04 | 2009-09-10 | Max Drukman | Batch configuration of multiple target devices |
WO2009111409A1 (en) * | 2008-03-04 | 2009-09-11 | Apple Inc. | System and method of authorizing execution of software code based on accessible entitlements |
EP2250601B1 (en) * | 2008-03-04 | 2017-12-27 | Apple Inc. | System and method of authorizing execution of software code in a device based on entitlements granted to a carrier |
US8438385B2 (en) * | 2008-03-13 | 2013-05-07 | Fujitsu Limited | Method and apparatus for identity verification |
US8165286B2 (en) * | 2008-04-02 | 2012-04-24 | Apple Inc. | Combination white box/black box cryptographic processes and apparatus |
US8990582B2 (en) * | 2010-05-27 | 2015-03-24 | Cisco Technology, Inc. | Virtual machine memory compartmentalization in multi-core architectures |
US8812871B2 (en) * | 2010-05-27 | 2014-08-19 | Cisco Technology, Inc. | Method and apparatus for trusted execution in infrastructure as a service cloud environments |
US20120110348A1 (en) * | 2010-11-01 | 2012-05-03 | International Business Machines Corporation | Secure Page Tables in Multiprocessor Environments |
US9015481B2 (en) * | 2011-02-22 | 2015-04-21 | Honeywell International Inc. | Methods and systems for access security for dataloading |
US8930715B2 (en) * | 2011-05-26 | 2015-01-06 | International Business Machines Corporation | Address translation unit, device and method for remote direct memory access of a memory |
US9703733B2 (en) * | 2014-06-27 | 2017-07-11 | Intel Corporation | Instructions and logic to interrupt and resume paging in a secure enclave page cache |
US10044695B1 (en) | 2014-09-02 | 2018-08-07 | Amazon Technologies, Inc. | Application instances authenticated by secure measurements |
US9491111B1 (en) | 2014-09-03 | 2016-11-08 | Amazon Technologies, Inc. | Securing service control on third party hardware |
US9584517B1 (en) | 2014-09-03 | 2017-02-28 | Amazon Technologies, Inc. | Transforms within secure execution environments |
US9246690B1 (en) | 2014-09-03 | 2016-01-26 | Amazon Technologies, Inc. | Secure execution environment services |
US10061915B1 (en) | 2014-09-03 | 2018-08-28 | Amazon Technologies, Inc. | Posture assessment in a secure execution environment |
US9754116B1 (en) | 2014-09-03 | 2017-09-05 | Amazon Technologies, Inc. | Web services in secure execution environments |
US10079681B1 (en) * | 2014-09-03 | 2018-09-18 | Amazon Technologies, Inc. | Securing service layer on third party hardware |
US9577829B1 (en) | 2014-09-03 | 2017-02-21 | Amazon Technologies, Inc. | Multi-party computation services |
US10181027B2 (en) * | 2014-10-17 | 2019-01-15 | Intel Corporation | Interface between a device and a secure processing environment |
US10534724B2 (en) * | 2015-12-24 | 2020-01-14 | Intel Corporation | Instructions and logic to suspend/resume migration of enclaves in a secure enclave page cache |
US10587412B2 (en) * | 2017-11-07 | 2020-03-10 | International Business Machines Corporation | Virtual machine structure |
US10761996B2 (en) * | 2018-09-28 | 2020-09-01 | Intel Corporation | Apparatus and method for secure memory access using trust domains |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5146575A (en) * | 1986-11-05 | 1992-09-08 | International Business Machines Corp. | Implementing privilege on microprocessor systems for use in software asset protection |
US5134700A (en) * | 1987-09-18 | 1992-07-28 | General Instrument Corporation | Microcomputer with internal ram security during external program mode |
CA2000006C (en) * | 1989-01-23 | 1994-07-12 | Walter W. Chang | Combinatorial signatures for data encoding and searching |
JP2519390B2 (ja) * | 1992-09-11 | 1996-07-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | デ―タ通信方法及び装置 |
US5579520A (en) * | 1994-05-13 | 1996-11-26 | Borland International, Inc. | System and methods for optimizing compiled code according to code object participation in program activities |
US6789197B1 (en) * | 1994-10-27 | 2004-09-07 | Mitsubishi Corporation | Apparatus for data copyright management system |
CN100365535C (zh) * | 1995-02-13 | 2008-01-30 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
US5805702A (en) * | 1995-09-29 | 1998-09-08 | Dallas Semiconductor Corporation | Method, apparatus, and system for transferring units of value |
US5734822A (en) * | 1995-12-29 | 1998-03-31 | Powertv, Inc. | Apparatus and method for preprocessing computer programs prior to transmission across a network |
US5805880A (en) * | 1996-01-26 | 1998-09-08 | Dell Usa, Lp | Operating system independent method for avoiding operating system security for operations performed by essential utilities |
US6732141B2 (en) * | 1996-11-29 | 2004-05-04 | Frampton Erroll Ellis | Commercial distributed processing by personal computers over the internet |
US6581162B1 (en) * | 1996-12-31 | 2003-06-17 | Compaq Information Technologies Group, L.P. | Method for securely creating, storing and using encryption keys in a computer system |
US5995628A (en) * | 1997-04-07 | 1999-11-30 | Motorola, Inc. | Failsafe security system and method |
US6081876A (en) * | 1997-09-22 | 2000-06-27 | Hewlett-Packard Company | Memory error containment in network cache environment via restricted access |
US6415144B1 (en) * | 1997-12-23 | 2002-07-02 | Ericsson Inc. | Security system and method |
JP2002526822A (ja) * | 1998-09-25 | 2002-08-20 | ヒューズ・エレクトロニクス・コーポレーション | セキュリティ処理環境を提供するための装置 |
US6968384B1 (en) * | 1999-09-03 | 2005-11-22 | Safenet, Inc. | License management system and method for commuter licensing |
-
2001
- 2001-05-30 JP JP2001162271A patent/JP2002353960A/ja not_active Withdrawn
-
2002
- 2002-01-11 US US10/042,262 patent/US20020184046A1/en not_active Abandoned
- 2002-01-22 EP EP02250415A patent/EP1278114A3/en not_active Withdrawn
- 2002-01-22 EP EP06016244A patent/EP1739591A2/en not_active Withdrawn
Cited By (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8032929B2 (en) | 2002-11-06 | 2011-10-04 | Fujitsu Limited | Safety judgment method, safety judgment system, safety judgment apparatus, first authentication apparatus, and computer program product |
US7330973B2 (en) | 2002-11-06 | 2008-02-12 | Fujitsu Limited | Safety judgment method, safety judgment system, safety judgment apparatus, first authentication apparatus, and computer program product |
JP2007524883A (ja) * | 2003-02-07 | 2007-08-30 | ブロードオン コミュニケーションズ コーポレーション | 下位互換性のあるセキュアプロセッサとそれによるセキュアソフトウェアの実行方法 |
JP4646900B2 (ja) * | 2003-02-07 | 2011-03-09 | イグウエア インコーポレイテッド | 下位互換性のあるセキュアプロセッサとそれによるセキュアソフトウェアの実行方法 |
US7325137B2 (en) | 2003-03-25 | 2008-01-29 | Fuji Xerox Co., Ltd. | Apparatus and method for securely realizing cooperative processing |
JP2008293033A (ja) * | 2003-09-18 | 2008-12-04 | Apple Inc | インクリメンタルなコード署名の方法及び装置 |
US8880897B2 (en) | 2003-09-18 | 2014-11-04 | Apple Inc. | Method and apparatus for incremental code signing |
US8341422B2 (en) | 2003-09-18 | 2012-12-25 | Apple Inc. | Method and apparatus for incremental code signing |
JP4664398B2 (ja) * | 2003-09-18 | 2011-04-06 | アップル インコーポレイテッド | インクリメンタルなコード署名の方法及び装置 |
US7590869B2 (en) | 2003-09-24 | 2009-09-15 | Kabushiki Kaisha Toshiba | On-chip multi-core type tamper resistant microprocessor |
WO2005034422A1 (ja) * | 2003-09-30 | 2005-04-14 | Sony Corporation | 信号処理システム |
JP4629416B2 (ja) * | 2003-11-28 | 2011-02-09 | パナソニック株式会社 | データ処理装置 |
JP2005182774A (ja) * | 2003-11-28 | 2005-07-07 | Matsushita Electric Ind Co Ltd | データ処理装置 |
KR101037006B1 (ko) | 2003-11-28 | 2011-05-25 | 파나소닉 주식회사 | 데이터 처리장치 |
US7461288B2 (en) | 2004-01-13 | 2008-12-02 | Sony Corporation | Computer apparatus and process controlling method |
EP2490148A2 (en) | 2004-06-30 | 2012-08-22 | Fujitsu Semiconductor Limited | Programm for a secure processor |
EP2490146A2 (en) | 2004-06-30 | 2012-08-22 | Fujitsu Semiconductor Limited | A secure processor |
US8886959B2 (en) | 2004-06-30 | 2014-11-11 | Fujitsu Semiconductor Limited | Secure processor and a program for a secure processor |
EP1632835A2 (en) | 2004-06-30 | 2006-03-08 | Fujitsu Limited | A secure processor and a program for a secure processor |
US9536110B2 (en) | 2004-06-30 | 2017-01-03 | Socionext Inc. | Secure processor and a program for a secure processor |
US9652635B2 (en) | 2004-06-30 | 2017-05-16 | Socionext Inc. | Secure processor and a program for a secure processor |
US9141829B2 (en) | 2004-06-30 | 2015-09-22 | Socionext Inc. | Secure processor and a program for a secure processor |
US9672384B2 (en) | 2004-06-30 | 2017-06-06 | Socionext Inc. | Secure processor and a program for a secure processor |
EP2482222A2 (en) | 2004-06-30 | 2012-08-01 | Fujitsu Semiconductor Limited | Program for a secure processor |
EP2490147A2 (en) | 2004-06-30 | 2012-08-22 | Fujitsu Semiconductor Limited | A secure processor and a program for a secure processor |
US11550962B2 (en) | 2004-06-30 | 2023-01-10 | Socionext Inc. | Secure processor and a program for a secure processor |
US7865733B2 (en) | 2004-06-30 | 2011-01-04 | Fujitsu Semiconductor Limited | Secure processor and a program for a secure processor |
US10685145B2 (en) | 2004-06-30 | 2020-06-16 | Socionext Inc. | Secure processor and a program for a secure processor |
US10095890B2 (en) | 2004-06-30 | 2018-10-09 | Socionext Inc. | Secure processor and a program for a secure processor |
US10303901B2 (en) | 2004-06-30 | 2019-05-28 | Socionext Inc. | Secure processor and a program for a secure processor |
JP2006065851A (ja) * | 2004-08-27 | 2006-03-09 | Microsoft Corp | アドレスビットを使用してアドレス空間におけるデータのセキュリティ属性を通知するシステムおよび方法 |
JP2006164184A (ja) * | 2004-12-10 | 2006-06-22 | Ntt Docomo Inc | プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法 |
JP4664055B2 (ja) * | 2004-12-10 | 2011-04-06 | 株式会社エヌ・ティ・ティ・ドコモ | プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法 |
JP2006277487A (ja) * | 2005-03-30 | 2006-10-12 | Hitachi Ltd | ディスクアレイ装置およびその制御方法 |
US7681044B2 (en) | 2005-06-17 | 2010-03-16 | Fujitsu Microelectronics Limited | Secure processor and system |
WO2007011001A1 (ja) * | 2005-07-22 | 2007-01-25 | Matsushita Electric Industrial Co., Ltd. | 実行装置 |
US8468364B2 (en) | 2006-02-22 | 2013-06-18 | Fujitsu Semiconductor Limited | Secure processor |
US8788840B2 (en) | 2006-02-22 | 2014-07-22 | Fujitsu Semiconductor Limited | Secure processor |
JP2007226481A (ja) * | 2006-02-22 | 2007-09-06 | Fujitsu Ltd | セキュアプロセッサ |
US8364965B2 (en) | 2006-03-15 | 2013-01-29 | Apple Inc. | Optimized integrity verification procedures |
US8886947B2 (en) | 2006-03-15 | 2014-11-11 | Apple Inc. | Optimized integrity verification procedures |
JP2008242948A (ja) * | 2007-03-28 | 2008-10-09 | Toshiba Corp | 情報処理装置および同装置の動作制御方法 |
US9672350B2 (en) | 2008-03-04 | 2017-06-06 | Apple Inc. | System and method of authorizing execution of software code based on at least one installed profile |
US10102380B2 (en) | 2009-12-22 | 2018-10-16 | Intel Corporation | Method and apparatus to provide secure application execution |
KR101457355B1 (ko) * | 2009-12-22 | 2014-11-04 | 인텔 코포레이션 | 보안 애플리케이션 실행을 제공하는 방법 및 장치 |
US9087200B2 (en) | 2009-12-22 | 2015-07-21 | Intel Corporation | Method and apparatus to provide secure application execution |
US10885202B2 (en) | 2009-12-22 | 2021-01-05 | Intel Corporation | Method and apparatus to provide secure application execution |
JP2012530961A (ja) * | 2009-12-22 | 2012-12-06 | インテル・コーポレーション | セキュアなアプリケーションの実行を提供する方法および装置 |
US8976585B2 (en) | 2010-04-27 | 2015-03-10 | Robert Bosch Gmbh | Memory module for simultaneously providing at least one secure and at least one insecure memory area |
KR101687439B1 (ko) | 2010-07-22 | 2016-12-16 | 나그라비젼 에스에이 | 소프트웨어 무결성을 보장하기위한 프로세서 실행 방법 |
JP2013535725A (ja) * | 2010-07-22 | 2013-09-12 | ナグラビジョン エス アー | ソフトウェアの完全性を保証するためのプロセッサにより実施される方法 |
KR20130120985A (ko) * | 2010-07-22 | 2013-11-05 | 나그라비젼 에스에이 | 소프트웨어 무결성을 보장하기위한 프로세서 실행 방법 |
JP2013545182A (ja) * | 2010-10-20 | 2013-12-19 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 機密コードおよびデータを保護するためのアーキテクチャを含む方法および装置 |
JP2013541783A (ja) * | 2010-10-20 | 2013-11-14 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 多ユーザ機密コードおよびデータを保護するためのアーキテクチャを含む方法および装置 |
KR101870492B1 (ko) * | 2015-06-22 | 2018-06-22 | 엘에스산전 주식회사 | Plc 시스템 |
US10324440B2 (en) | 2015-06-22 | 2019-06-18 | Lsis Co., Ltd. | Programmable logic controller system |
KR20160150401A (ko) * | 2015-06-22 | 2016-12-30 | 엘에스산전 주식회사 | Plc 시스템 |
JP2017010556A (ja) * | 2015-06-22 | 2017-01-12 | エルエス産電株式会社Lsis Co., Ltd. | Plcシステム |
Also Published As
Publication number | Publication date |
---|---|
EP1278114A2 (en) | 2003-01-22 |
EP1739591A2 (en) | 2007-01-03 |
EP1278114A3 (en) | 2004-12-01 |
US20020184046A1 (en) | 2002-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002353960A (ja) | コード実行装置およびコード配布方法 | |
US11783081B2 (en) | Secure public cloud | |
US11520611B2 (en) | Secure public cloud using extended paging and memory integrity | |
KR102323763B1 (ko) | 호스트 시스템과 데이터 처리 가속기 사이의 보안 통신을 제공하기 위한 방법 및 시스템 | |
JP4498735B2 (ja) | オペレーティングシステムおよびカスタマイズされた制御プログラムとインタフェースする安全なマシンプラットフォーム | |
CN111638943B (zh) | 具有受保护的访客机验证主机控制的装置和方法 | |
US10303901B2 (en) | Secure processor and a program for a secure processor | |
CN102549576B (zh) | 审核设备 | |
JP4288209B2 (ja) | システム・オン・チップのためのセキュリティ・アーキテクチャ | |
CN102708333B (zh) | 用于执行安全环境初始化指令的处理器 | |
CN103136468B (zh) | 协助用于硬件保护的应用程序的系统服务请求交互 | |
US6449720B1 (en) | Public cryptographic control unit and system therefor | |
EP1283458A2 (en) | Tamper resistant microprocessor using fast context switching | |
US20110289294A1 (en) | Information processing apparatus | |
US8307215B2 (en) | System and method for an autonomous software protection device | |
CN102122327B (zh) | 使用多个认证代码模块进入安全计算环境 | |
CN1678967A (zh) | 多令牌密封和解封 | |
KR20120099472A (ko) | 보안 애플리케이션 실행을 제공하는 방법 및 장치 | |
JP4055393B2 (ja) | データ処理装置およびその方法とプログラム | |
TW200813746A (en) | A method and system for memory protection and security using credentials | |
JP4551231B2 (ja) | プログラム実行保護システム、プログラム実行保護方法 | |
JP5797666B2 (ja) | 計算リソースの安全な実行 | |
Lascu et al. | IBM z15 (8561) Technical Guide | |
WO2020226054A1 (ja) | 情報処理方法、情報処理装置及び記憶媒体 | |
JP2003076663A (ja) | データ処理装置およびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060721 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090422 |