JP5616528B2 - ソフトウェアの完全性を保証するためのプロセッサにより実施される方法 - Google Patents
ソフトウェアの完全性を保証するためのプロセッサにより実施される方法 Download PDFInfo
- Publication number
- JP5616528B2 JP5616528B2 JP2013519968A JP2013519968A JP5616528B2 JP 5616528 B2 JP5616528 B2 JP 5616528B2 JP 2013519968 A JP2013519968 A JP 2013519968A JP 2013519968 A JP2013519968 A JP 2013519968A JP 5616528 B2 JP5616528 B2 JP 5616528B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- key
- value
- encrypted
- current
- 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
Images
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/54—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 adding security routines or objects to programs
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
- G06F9/30178—Runtime instruction translation, e.g. macros of compressed or encrypted instructions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Description
現行の暗号化された命令を読み込むステップ、
現行の暗号化された命令を解読するために命令キーを使用するステップ、
読み込まれる次の暗号化された命令が更新された命令キーで解読されることができるように、命令キーの現行値及び現行命令のダイジェストに基づいて算出を使用して命令キーを更新するステップ、
現行命令を実行するステップ。
Claims (12)
- プログラムメモリ内のソフトウェアの完全性を保証するためのプロセッサにより実施される方法において、前記ソフトウェアは複数の暗号化された命令を含み、1つの命令は命令値及び少なくとも1つの演算コードを含み、前記方法は初期化された命令キーを使用する方法であって、
現行の暗号化された命令を読み込むステップと、
前記現行の暗号化された命令の少なくとも一部を解読するために前記命令キーを使用するステップと、
前記命令キーの現行値のダイジェスト及び前記現行命令のダイジェストに基づいて算出を使用して前記命令キーを更新するステップであって、その結果、読み込まれた前記次の暗号化される命令は前記更新された命令キーで解読することができるステップと、
前記現行命令を実行するステップと、
を含む方法。 - 前記プログラムメモリ内の第1の命令が暗号化されていない請求項1に記載の方法。
- 前記現行命令が認証タグを更に含み、前記認証タグは実行の前に前記命令を認証するために用いる請求項1又は2に記載の方法。
- 変更が前記命令キーに対して行われ、前記変更によって、実行可能な命令を与えるために前記変更された命令キーを使用して前記次の暗号化された命令の解読が可能になる請求項1〜3のいずれか1項に記載の方法。
- 前記現行命令が前記変更を達成する際に使われる変更値を更に含み、前記変更値は前記命令値から抽出され、そして前記命令キーを更新するステップに作用する請求項4に記載の方法。
- 暗号化された命令を解読すること、前記命令キーを更新すること、前記現行命令を認証すること、又は前記現行命令を実行するプロセスのいずれか又は全部が、セキュリティ・モジュール内で実行される請求項1〜5のいずれか1項に記載の方法。
- 前記ダイジェストが前記現行命令の全部又は一部に適用された関数の結果であり、前記関数は、論理関数、数学関数、暗号関数、又は一方向性関数から選択される請求項1〜6のいずれか1項に記載の方法。
- 前記命令キーの前記更新が変更値に更に基づき、前記変更値は前記命令キーを公知の値にするために用いる請求項1〜7のいずれか1項に記載の方法。
- マスターキーが前記命令キーを初期化するために用いられる請求項1〜8のいずれか1項に記載の方法。
- プログラム・カウンタ(PC)と、暗号化されたプログラムを格納するためのプログラムメモリ(PMEM)とを備える装置であって、前記暗号化されたプログラムは複数の暗号化された命令(INST′)を含み、前記命令は少なくとも1つの演算コードを含み、前記装置は解読モジュール(DECR)及びデータ処理ユニット(SCPU)を更に備え、前記装置は初期化された命令キー(KI)にアクセスする装置において、前記命令キーの全部又は一部及び少なくとも1つの前に実行された命令のダイジェストに基づいて、前記命令キー(KI)を再帰的に更新する手段を更に備えることを特徴とする装置。
- 前記命令キーを再帰的に更新するための前記手段がハードウェアにおいて実現される請求項10に記載の装置。
- 前記命令キーの前記更新が変更値に更に基づき、前記変更値は前記命令キーを周知の値にするために用いる請求項10又は11に記載の装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2010/060603 WO2012010205A1 (en) | 2010-07-22 | 2010-07-22 | A processor-implemented method for ensuring software integrity |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013535725A JP2013535725A (ja) | 2013-09-12 |
JP5616528B2 true JP5616528B2 (ja) | 2014-10-29 |
Family
ID=43297003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013519968A Active JP5616528B2 (ja) | 2010-07-22 | 2010-07-22 | ソフトウェアの完全性を保証するためのプロセッサにより実施される方法 |
Country Status (6)
Country | Link |
---|---|
JP (1) | JP5616528B2 (ja) |
KR (1) | KR101687439B1 (ja) |
CN (1) | CN102959556B (ja) |
BR (1) | BR112012031052B1 (ja) |
RU (1) | RU2541196C2 (ja) |
WO (1) | WO2012010205A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902858A (zh) * | 2013-12-25 | 2014-07-02 | 武汉安天信息技术有限责任公司 | 一种apk应用加固的方法及系统 |
JP6478724B2 (ja) * | 2015-03-09 | 2019-03-06 | Kddi株式会社 | 情報処理装置、情報処理方法、及びコンピュータプログラム |
US10552619B2 (en) * | 2015-07-20 | 2020-02-04 | Intel Corporation | Technologies for secure trusted I/O access control |
US10073977B2 (en) * | 2015-07-20 | 2018-09-11 | Intel Corporation | Technologies for integrity, anti-replay, and authenticity assurance for I/O data |
CN106789006A (zh) * | 2016-11-28 | 2017-05-31 | 范睿心 | 一种解密方法及系统 |
KR101953444B1 (ko) * | 2016-12-26 | 2019-05-17 | 포항공과대학교 산학협력단 | 하드웨어 수준 보안을 보장하는 가상화 기반 소프트웨어 보안 방법 및 이를 이용하는 장치 |
FR3071121B1 (fr) | 2017-09-14 | 2020-09-18 | Commissariat Energie Atomique | Procede d'execution d'un code binaire d'une fonction securisee par un microprocesseur |
FR3071122B1 (fr) | 2017-09-14 | 2019-09-13 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Procede d'execution d'un code binaire d'une fonction securisee par un microprocesseur |
RU179302U1 (ru) * | 2017-11-21 | 2018-05-07 | Александра Владимировна Харжевская | Устройство динамического контроля выполнения специальных вычислений |
FR3094107B1 (fr) | 2019-03-21 | 2021-02-26 | Commissariat Energie Atomique | Procédé d'exécution d'un code binaire d'une fonction sécurisée par un microprocesseur |
CN110515652B (zh) * | 2019-08-30 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 代码摘要的生成方法、装置和存储介质 |
CN111565002A (zh) * | 2020-05-22 | 2020-08-21 | 北京合康新能变频技术有限公司 | 一种变频器的控制系统 |
CN111881467B (zh) * | 2020-06-12 | 2022-10-28 | 海光信息技术股份有限公司 | 利用安全处理器保护文件的方法、装置、cpu和计算机设备 |
EP4002165A1 (en) * | 2020-11-18 | 2022-05-25 | Thales DIS France SA | Code flow protection with error propagation |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675645A (en) * | 1995-04-18 | 1997-10-07 | Ricoh Company, Ltd. | Method and apparatus for securing executable programs against copying |
US6061449A (en) * | 1997-10-10 | 2000-05-09 | General Instrument Corporation | Secure processor with external memory using block chaining and block re-ordering |
JP2002353960A (ja) * | 2001-05-30 | 2002-12-06 | Fujitsu Ltd | コード実行装置およびコード配布方法 |
US6715085B2 (en) * | 2002-04-18 | 2004-03-30 | International Business Machines Corporation | Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function |
US6948067B2 (en) * | 2002-07-24 | 2005-09-20 | Qualcomm, Inc. | Efficient encryption and authentication for data processing systems |
US7370319B2 (en) * | 2003-02-11 | 2008-05-06 | V.I. Laboratories, Inc. | System and method for regulating execution of computer software |
US7103779B2 (en) * | 2003-09-18 | 2006-09-05 | Apple Computer, Inc. | Method and apparatus for incremental code signing |
EP1855476A3 (en) * | 2006-05-11 | 2010-10-27 | Broadcom Corporation | System and method for trusted data processing |
KR100922862B1 (ko) * | 2007-11-14 | 2009-10-20 | 성균관대학교산학협력단 | 명령어의 부호화를 통한 시스템 보안방법 |
CN101452514B (zh) * | 2007-12-06 | 2011-06-29 | 中国长城计算机深圳股份有限公司 | 一种安全计算机的用户数据保护方法 |
JP2009211292A (ja) * | 2008-03-03 | 2009-09-17 | Oki Electric Ind Co Ltd | 暗号化方法、復号化方法、暗号化装置、復号化装置 |
EP2196937A1 (en) * | 2008-12-15 | 2010-06-16 | Thomson Licensing | Methods and devices for instruction level software encryption |
-
2010
- 2010-07-22 RU RU2013104050/08A patent/RU2541196C2/ru not_active IP Right Cessation
- 2010-07-22 BR BR112012031052-6A patent/BR112012031052B1/pt active IP Right Grant
- 2010-07-22 KR KR1020127031855A patent/KR101687439B1/ko active IP Right Grant
- 2010-07-22 CN CN201080067681.3A patent/CN102959556B/zh active Active
- 2010-07-22 WO PCT/EP2010/060603 patent/WO2012010205A1/en active Application Filing
- 2010-07-22 JP JP2013519968A patent/JP5616528B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
BR112012031052A2 (pt) | 2016-10-25 |
BR112012031052B1 (pt) | 2020-12-01 |
CN102959556A (zh) | 2013-03-06 |
WO2012010205A1 (en) | 2012-01-26 |
RU2541196C2 (ru) | 2015-02-10 |
RU2013104050A (ru) | 2014-08-27 |
CN102959556B (zh) | 2015-12-16 |
KR101687439B1 (ko) | 2016-12-16 |
JP2013535725A (ja) | 2013-09-12 |
KR20130120985A (ko) | 2013-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5616528B2 (ja) | ソフトウェアの完全性を保証するためのプロセッサにより実施される方法 | |
US8683224B2 (en) | Processor-implemented method for ensuring software integrity | |
CN111052115B (zh) | 取决于调用路径的认证的数据处理装置和方法 | |
US10354064B2 (en) | Computer implemented method and a system for controlling dynamically the execution of a code | |
KR101256149B1 (ko) | 프로그램 카운터 인코딩을 이용한 간접 함수 호출 보호 방법 및 보호 장치 | |
Werner et al. | Sponge-based control-flow protection for IoT devices | |
KR101216995B1 (ko) | 인덱스 테이블 기반 코드 암호화 및 복호화 장치 및 그 방법 | |
US8745408B2 (en) | Instruction encryption/decryption arrangement and method with iterative encryption/decryption key update | |
US9892661B2 (en) | Steganographic embedding of hidden payload | |
CN1969500B (zh) | 防护软件 | |
US20140337639A1 (en) | Steganographic embedding of executable code | |
US20110271350A1 (en) | method for protecting software | |
CN102163268A (zh) | 在执行期间验证软件代码的完整性的方法和设备 | |
JP2006107274A (ja) | ハッシュ関数演算システム、暗号化システムおよび不正解析・改竄防止システム | |
US10862682B2 (en) | Nonce generation for encryption and decryption | |
US10120987B2 (en) | Device and method for executing protected iOS software modules | |
US9177111B1 (en) | Systems and methods for protecting software | |
JP2009169489A (ja) | 暗号化方法、復号化方法、暗号化装置、復号化装置 | |
EP0962850A2 (en) | A method for protecting embedded system software and embedded system | |
CN107205001A (zh) | python脚本的更新方法及装置、客户端、服务器 | |
EP3662613A1 (en) | Method to secure a software code performing accesses to look-up tables | |
KR100978605B1 (ko) | 시스템 보안용 침해탐지방법 및 침해 탐지기 | |
Forte | Automatic Binary Analysis and Instrumentation of Embedded Firmware for a Control-Flow Integrity Solution | |
EP3451214A1 (en) | Computing device with computer program bounded thereto | |
Centenaro et al. | Type-based Analysis of Financial APIs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130614 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140328 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140430 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140725 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140801 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140819 |
|
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: 20140909 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140911 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5616528 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |