JP7412835B1 - 演算処理装置、演算処理システム、演算処理方法、及び演算処理プログラム - Google Patents
演算処理装置、演算処理システム、演算処理方法、及び演算処理プログラム Download PDFInfo
- Publication number
- JP7412835B1 JP7412835B1 JP2023546151A JP2023546151A JP7412835B1 JP 7412835 B1 JP7412835 B1 JP 7412835B1 JP 2023546151 A JP2023546151 A JP 2023546151A JP 2023546151 A JP2023546151 A JP 2023546151A JP 7412835 B1 JP7412835 B1 JP 7412835B1
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic processing
- program
- secure
- processing device
- hypervisor
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 143
- 238000003672 processing method Methods 0.000 title claims description 17
- 238000012546 transfer Methods 0.000 claims abstract description 27
- 238000012795 verification Methods 0.000 description 38
- 238000004364 calculation method Methods 0.000 description 32
- 238000007726 management method Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 23
- 238000000034 method Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000013508 migration Methods 0.000 description 5
- 230000005012 migration Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012417 linear regression Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012549 training 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明の第4の態様の演算処理システムは、第3態様の演算処理装置において、前記セキュアプログラムとしてセキュアハイパバイザを転送することを特徴とする。
本発明の第1実施形態に係る演算処理装置、演算処理システム、演算処理方法、及び演算処理プログラムについて、図1~図5を参照して説明する。まず、図1~図3を用いて、演算処理システムの一例として、セキュアハイパバイザ24の下で演算処理を行う仮想演算処理装置50を挙げて説明する。なお、本実施形態では、セキュアプログラム54として、セキュアハイパバイザ24を例に挙げて説明するが、本発明はこれに限定されるものではなく、第2実施形態で説明するように、セキュアプログラム54としては、例えばOS自体、ゲーム等、さまざまなプログラムが含まれる。
例えばセキュアプログラム管理部31から提供された演算処理装置用プログラムに基づき、OSが管理している資源を排他的に管理することができる。例えば、後述の図4のような仮想演算処理システムの場合、演算処理装置20のハードウェア61を管理するハイパバイザ60が信頼できないようなシステムにおいても、セキュアハイパバイザ24を、各仮想演算処理装置50にインストールしておくことで、管理サーバ30により統制が取れた環境を維持し、セキュアな仮想演算処理装置50を提供することができる。
(a)演算処理装置20において演算処理プログラムに許容される演算処理の範囲や使用制限の条件を規定した権限情報、例えば権限リスト
(b)検証用データ
(c)演算処理検証に用いられる検証用演算結果データ
(d)要求データ(実際の演算に用いられるデータ)
管理サーバ30のセキュアプログラム管理部31により管理されたセキュア環境において、情報提供装置10から提供された提供情報が悪用されることがないように管理しながら、演算処理装置20において提供情報を利用した演算処理を実行して、その演算結果を活用することができるようにする。このために、演算処理装置20の管理者は、各仮想演算処理装置50にブートローダ53及びセキュアハイパバイザ24をインストールするために、管理者ユーザインターフェイス63からの入力により、管理サーバ30に対してハードウェア61の情報をセキュアプログラム管理部31に登録する(S1)。管理者ユーザインターフェイス63からの登録要求時の通信を暗号通信とした場合には、セキュアプログラム管理部31がハードウェア61が真正なものかどうかを判別することができる。例えば、仮想演算処理装置50毎にメモリ52を暗号化できる機能を持つCPU、具体的にはAMDのSEVでは、ハードウェア61(CPU)の公開鍵を登録する。ハードウェア61を登録するための情報は、管理者ユーザインターフェイス63から、ハイパバイザ60、ハードウェア61を介して、セキュアプログラム管理部31に送信される。
S2では、演算処理装置20の管理者は、管理者ユーザインターフェイス63から、セキュアプログラム管理部31に対して、ハイパバイザ60、ハードウェア61を介して、ブートローダ53の転送要求を行う。具体的には、ハイパバイザ60がハードウェア61の公開鍵を用いて、ハードウェア61を介し、セキュアプログラム管理部31に対して、ブートローダ53の転送要求を行う。
S4では、管理者ユーザインターフェイス63から、ハイパバイザ60を介して、ハードウェア61に仮想演算処理装置50の起動要求を行う。
S4において、管理者ユーザインターフェイス63から、ハイパバイザ60を介して、ハードウェア61に仮想演算処理装置50の起動要求が行われると、S5の後に、S6では、ハードウェア61は、ブートローダ53をメモリ52毎に展開する。このとき、ハイパバイザ60は、メモリ52毎に展開される第1秘密鍵を含むブートローダ53のプログラムを読むことはできない。
S7では、ブートローダ53が、セキュアプログラム管理部31に対して、ゲストOS51立上げ要求を送信する。ゲストOS51立上げ要求は、ブートローダ53からハードウェア61を介して、セキュアプログラム管理部31に送信される。S8では、このゲストOS51立上げ要求を受け取ると、セキュアプログラム管理部31はメモリ52へゲストOS51を転送する。ゲストOS51は、セキュアプログラム管理部31から、ハードウェア61を介して、メモリ52に送信される。このとき、ブートローダ53は第1秘密鍵を用いて、仮想演算処理装置50毎にゲストOS51を立ち上げる。すなわち、セキュアプログラム管理部31がメモリ52にゲストOS51を転送する際の暗号通信は、第1公開鍵によって暗号化されており、第1秘密鍵がないと復号できないため、ハイパパイザから監視されることはない。この暗号通信には、例えば、TLS1.3を用いることができる。
ゲストOS51は第2秘密鍵を用いた暗号通信によりセキュアプログラム管理部31からセキュアプログラム54を取得し、メモリ52に格納する。S9にて、ゲストOS51は、セキュアプログラム54の取得要求を、ハードウェア61を介して、セキュアプログラム管理部31に送信する。セキュアプログラム54の取得要求を受け取ると、セキュアプログラム管理部31は、S10にて、セキュアプログラム54をハードウェア61を介して、メモリ52に送信する。このセキュアプログラム54を転送する際の暗号通信は、第2公開鍵によって暗号化されており、また、暗号化されたメモリ52にセキュアプログラム54が格納されるため、仮想演算処理装置50はハイパバイザ60により監視されることなく、セキュアプログラム54を取得することができる。この暗号通信には、例えば、TLS1.3を用いることができる。
S11にて、ゲストOS51は、手順5で取得されてメモリ52に保存されているセキュアプログラム54を起動し、S12ではセキュアハイパバイザ24が実行され、これにより、仮想演算処理装置50において、セキュアハイパバイザ24が有効化される。図4は、セキュアハイパバイザ24が有効となっている場合のブロック図である。ゲストOS51は、セキュアハイパバイザ24による管理のもと、秘密鍵を用いた暗号通信により、管理サーバ30により管理されている情報提供装置10から提供情報を取得し、付加情報によって規定された使用条件の範囲内で演算処理を行う。なお、図4には省略されているが、仮想演算処理装置50には、図2で説明したように、演算処理プログラム実行部21、データ要求部22及びプログラム検証部23が設けられており、セキュアハイパバイザ24により管理された状態で、提供情報の取得及び演算処理が行われる。
本発明の第2実施形態に係る演算処理装置、演算処理システム、演算処理方法、及び演算処理プログラムについて説明する。第1実施形態では、セキュアプログラム54がセキュアハイパバイザ24である例を説明したが、本実施形態では、セキュアプログラム54がセキュアハイパバイザ24以外の例について説明する。本実施形態のように、仮想環境のもとでは、セキュアプログラム54として、OS自体、ゲーム、データサイエンスの処理基盤、AI、リバースエンジニアリングを防ぎたいような知的財産的価値が含まれるプログラム等、他にも様々なプログラムを利用することができる。例えば、データサイエンスの処理基盤としては、データ収集、データ蓄積、データ加工、及びデータ分析等が含まれる。AIの例としては、機械学習等が挙げられる。また、リバースエンジニアリングを防ぎたいような知的財産的価値が含まれるプログラムとは、プログラムに使用されているアルゴリズムに発明が含まれているもの、プログラムで使用するデータ構造に発明や著作権が含まれているもの、プログラムで使用するデータに営業秘密ないし不正競争法で保護される情報が含まれているもの、機械学習の学習済みモデルや学習データが含まれているもの等であり、プログラム自体又は当該プログラムが使用するデータに、発明、著作権、営業秘密、不正競争防止法で保護される情報等が含まれているプログラムを意味する。いずれのセキュアプログラム54をメモリ52に転送する際にも、第1実施形態と同様に、ハイパバイザ60に監視されることがない。そのため、ハイパバイザ60が信頼できない環境であっても、各仮想演算処理装置50に安全にセキュアプログラム54をメモリ52に転送することが可能である。
11…検証データ作成部
12…データベース
20…演算処理装置
21…演算処理プログラム実行部
22…データ要求部
23…プログラム検証部
24…セキュアハイパバイザ
25…メモリ
27…ライブラリ
28…関数
29…データ
30…管理サーバ
31…セキュアプログラム管理部
40…情報ネットワーク
50…仮想演算処理装置
51…ゲストOS
52…メモリ
53…ブートローダ
54…セキュアプログラム
60…ハイパバイザ
61…ハードウェア
62…ホストOS
63…管理者ユーザインターフェイス
Claims (10)
- 外部からセキュアプログラムを取得可能な演算処理装置であって、
CPU、入出力装置及び記憶装置を少なくとも含むハードウェアと、前記ハードウェアを管理するハイパバイザと、前記ハイパバイザにより仮想的な演算処理環境を提供された1つ以上の仮想演算処理装置と、を少なくとも備え、
前記仮想演算処理装置が、ゲストOSと、メモリと、を少なくとも有し、
前記ハードウェアが前記仮想演算処理装置のみから利用できる形で、外部から仮想演算処理装置毎に前記メモリにブートローダを転送し、
前記ブートローダが、前記仮想演算処理装置において、前記セキュアプログラムを起動し、
前記ブートローダが、前記ゲストOS、又は前記セキュアプログラムの少なくともいずれか1つを取得し、
前記ゲストOSが、前記ブートローダによって取得され、起動されたものであり、
前記ゲストOSが、前記セキュアプログラムを取得することを特徴とする演算処理装置。 - 前記ゲストOSが、前記セキュアプログラムとしてセキュアハイパバイザを取得することを特徴とする請求項1に記載の演算処理装置。
- 前記ブートローダの転送と共に、前記ゲストOS、又は前記セキュアプログラムの少なくともいずれか1つを転送することを特徴とする請求項1に記載の演算処理装置。
- 前記セキュアプログラムとしてセキュアハイパバイザを転送することを特徴とする請求項3に記載の演算処理装置。
- 前記仮想演算処理装置が前記セキュアハイパバイザにより管理され、
前記セキュアハイパバイザが、外部の情報提供装置から取得した提供情報に添付された付加情報によって規定された使用条件の範囲内で演算処理が行われるように管理することを特徴とする請求項2又は4に記載の演算処理装置。 - 前記セキュアプログラムは、セキュアハイパバイザ、OS、ゲーム、データサイエンスの処理基盤、AI、及び、リバースエンジニアリングを防ぎたいような知的財産的価値が含まれるプログラムのいずれか少なくとも1つを含むプログラムであることを特徴とする請求項1に記載の演算処理装置。
- 請求項1記載の演算処理装置と、前記演算処理装置を管理する管理サーバと、を少なくとも備えた演算処理システムであって、
前記管理サーバが前記仮想演算処理装置に提供する前記セキュアプログラムを管理するセキュアプログラム管理部を少なくとも有することを特徴とする演算処理システム。 - 外部からセキュアプログラムを取得可能な演算処理装置による演算処理方法であって、
前記演算処理装置は、CPU、入出力装置及び記憶装置を少なくとも含むハードウェアと、前記ハードウェアを管理するハイパバイザと、前記ハイパバイザにより仮想的な演算処理環境を提供された1つ以上の仮想演算処理装置と、を少なくとも備え、
前記仮想演算処理装置が、ゲストOSと、メモリと、を少なくとも有し、
前記ハードウェアが前記仮想演算処理装置のみから利用できる形で、外部から仮想演算処理装置毎に前記メモリにブートローダを転送するステップと、
前記ブートローダが、前記仮想演算処理装置において、前記セキュアプログラムを起動するステップと、
前記ブートローダが、前記ゲストOS、又は前記セキュアプログラムの少なくともいずれか1つを取得するステップと、
前記ゲストOSが、前記ブートローダによって取得され、起動されるステップと、
前記ゲストOSが、前記セキュアプログラムを取得するステップと、
を含むことを特徴とする演算処理方法。 - 前記セキュアプログラムは、セキュアハイパバイザ、OS、ゲーム、データサイエンスの処理基盤、AI、及び、リバースエンジニアリングを防ぎたいような知的財産的価値が含まれるプログラムのいずれか少なくとも1つを含むプログラムであることを特徴とする請求項8に記載の演算処理方法。
- 請求項8又は9に記載の演算処理方法の各ステップをコンピュータにより実行することを特徴とする演算処理プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022104907 | 2022-06-29 | ||
JP2022104907 | 2022-06-29 | ||
PCT/JP2023/024185 WO2024005143A1 (ja) | 2022-06-29 | 2023-06-29 | 演算処理装置、演算処理システム、演算処理方法、及び演算処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2024005143A1 JPWO2024005143A1 (ja) | 2024-01-04 |
JP7412835B1 true JP7412835B1 (ja) | 2024-01-15 |
Family
ID=89382498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023546151A Active JP7412835B1 (ja) | 2022-06-29 | 2023-06-29 | 演算処理装置、演算処理システム、演算処理方法、及び演算処理プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7412835B1 (ja) |
WO (1) | WO2024005143A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170032119A1 (en) | 2014-04-16 | 2017-02-02 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | System for executing code with blind hypervision mechanism |
US20190034218A1 (en) | 2016-01-29 | 2019-01-31 | British Telecommunications Public Limited Company | Disk encryption |
JP2021124992A (ja) | 2020-02-06 | 2021-08-30 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、メモリー管理プログラム及びブートプログラム |
JP2022522643A (ja) | 2019-03-08 | 2022-04-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 初期プログラムロード機構を用いたセキュア・ゲストの起動 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9584517B1 (en) * | 2014-09-03 | 2017-02-28 | Amazon Technologies, Inc. | Transforms within secure execution environments |
-
2023
- 2023-06-29 JP JP2023546151A patent/JP7412835B1/ja active Active
- 2023-06-29 WO PCT/JP2023/024185 patent/WO2024005143A1/ja unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170032119A1 (en) | 2014-04-16 | 2017-02-02 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | System for executing code with blind hypervision mechanism |
US20190034218A1 (en) | 2016-01-29 | 2019-01-31 | British Telecommunications Public Limited Company | Disk encryption |
JP2022522643A (ja) | 2019-03-08 | 2022-04-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 初期プログラムロード機構を用いたセキュア・ゲストの起動 |
JP2021124992A (ja) | 2020-02-06 | 2021-08-30 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、メモリー管理プログラム及びブートプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2024005143A1 (ja) | 2024-01-04 |
JPWO2024005143A1 (ja) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11693951B2 (en) | Method and apparatus for applying application context security controls for software containers | |
EP3376378B1 (en) | Container license management method, and apparatus | |
US8909940B2 (en) | Extensible pre-boot authentication | |
US8856544B2 (en) | System and method for providing secure virtual machines | |
EP2913956B1 (en) | Management control method and device for virtual machines | |
US9300640B2 (en) | Secure virtual machine | |
US8474032B2 (en) | Firewall+ storage apparatus, method and system | |
US8595483B2 (en) | Associating a multi-context trusted platform module with distributed platforms | |
US20210209221A1 (en) | System for securing software containers with encryption and embedded agent | |
JP4089171B2 (ja) | 計算機システム | |
US7694121B2 (en) | System and method for protected operating system boot using state validation | |
KR101281678B1 (ko) | 이동 저장 장치에서 호스트 인증 방법, 호스트 인증을 위한정보 제공 방법, 장치, 및 기록매체 | |
JP5565040B2 (ja) | 記憶装置、データ処理装置、登録方法、及びコンピュータプログラム | |
CN109634619B (zh) | 可信执行环境实现方法及装置、终端设备、可读存储介质 | |
US20070079120A1 (en) | Dynamic creation and hierarchical organization of trusted platform modules | |
US20110246778A1 (en) | Providing security mechanisms for virtual machine images | |
US8839451B1 (en) | Activation and security of software | |
EP2819048B1 (en) | Virtualized host ID key sharing | |
US11288377B1 (en) | Virtual machine-based trusted execution environment | |
KR20140051350A (ko) | 디지털 서명 권한자 의존형 플랫폼 기밀 생성 기법 | |
US20160004859A1 (en) | Method and system for platform and user application security on a device | |
US10754979B2 (en) | Information management terminal device | |
CN114296873B (zh) | 一种虚拟机镜像保护方法、相关器件、芯片及电子设备 | |
JP2008171076A (ja) | ジョブ実行装置及びその制御方法 | |
US20220159004A1 (en) | Method for granting access to objects in a computerized system, computer program product, and field device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230728 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20230728 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230919 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231114 |
|
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: 20231121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231220 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7412835 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |