RU2013104050A - Способ обеспечения целостности программного обеспечения - Google Patents
Способ обеспечения целостности программного обеспечения Download PDFInfo
- Publication number
- RU2013104050A RU2013104050A RU2013104050/08A RU2013104050A RU2013104050A RU 2013104050 A RU2013104050 A RU 2013104050A RU 2013104050/08 A RU2013104050/08 A RU 2013104050/08A RU 2013104050 A RU2013104050 A RU 2013104050A RU 2013104050 A RU2013104050 A RU 2013104050A
- Authority
- RU
- Russia
- Prior art keywords
- command
- key
- encrypted
- current
- command key
- Prior art date
Links
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
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
1. Способ обеспечения целостности программного обеспечения в памяти для хранения программ, реализуемый посредством процессора, причем программное обеспечение содержит набор зашифрованных команд, включающих по меньшей мере код операции, а способ предусматривает использование инициализированного ключа команды и включает следующие шаги:- считывают текущую зашифрованную команду;- используют указанный ключ команды для дешифрования по меньшей мере части текущей зашифрованной команды;- обновляют ключ команды при помощи вычисления, основанного на дайджесте текущего значения ключа команды и дайджесте текущей команды так, чтобы следующую считываемую зашифрованную команду можно было дешифровать при помощи обновленного ключа команды;- исполняют текущую команду.2. Способ по п.1, отличающийся тем, что первая команда в памяти для хранения программ не зашифрована.3. Способ по п.1, отличающийся тем, что текущая команда содержит аутентификационный признак, используемый для аутентификации указанной команды перед исполнением.4. Способ по п.1, отличающийся тем, что ключ команды подвергают модификации, позволяющей осуществить дешифрование следующей зашифрованной команды при помощи указанного модифицированного ключа команды для получения исполняемой команды.5. Способ по п.4, отличающийся тем, что текущая команда содержит модифицирующее значение, используемое при указанной модификации, причем указанное модифицирующее значение извлекают из значения команды и используют на шаге обновления при определении следующего ключа команды.6. Способ по п.1, отличающийся тем, что все или любые процессы дешифрования зашифрованной коман
Claims (12)
1. Способ обеспечения целостности программного обеспечения в памяти для хранения программ, реализуемый посредством процессора, причем программное обеспечение содержит набор зашифрованных команд, включающих по меньшей мере код операции, а способ предусматривает использование инициализированного ключа команды и включает следующие шаги:
- считывают текущую зашифрованную команду;
- используют указанный ключ команды для дешифрования по меньшей мере части текущей зашифрованной команды;
- обновляют ключ команды при помощи вычисления, основанного на дайджесте текущего значения ключа команды и дайджесте текущей команды так, чтобы следующую считываемую зашифрованную команду можно было дешифровать при помощи обновленного ключа команды;
- исполняют текущую команду.
2. Способ по п.1, отличающийся тем, что первая команда в памяти для хранения программ не зашифрована.
3. Способ по п.1, отличающийся тем, что текущая команда содержит аутентификационный признак, используемый для аутентификации указанной команды перед исполнением.
4. Способ по п.1, отличающийся тем, что ключ команды подвергают модификации, позволяющей осуществить дешифрование следующей зашифрованной команды при помощи указанного модифицированного ключа команды для получения исполняемой команды.
5. Способ по п.4, отличающийся тем, что текущая команда содержит модифицирующее значение, используемое при указанной модификации, причем указанное модифицирующее значение извлекают из значения команды и используют на шаге обновления при определении следующего ключа команды.
6. Способ по п.1, отличающийся тем, что все или любые процессы дешифрования зашифрованной команды, обновления ключа команды, аутентификации текущей команды или исполнения текущей команды выполняют в модуле безопасности.
7. Способ по п.1, отличающийся тем, что указанный дайджест представляет собой результат функции, применяемой ко всей указанной текущей команде или ее части, причем указанную функцию выбирают из функций, включающих логические, арифметические, криптографические и односторонние функции.
8. Способ по п.1, отличающийся тем, что обновление ключа команды основано также на модифицирующем значении, которое используют для доведения ключа команды до известного значения.
9. Способ по п.1, отличающийся тем, что для инициализации ключа команды используют главный ключ.
10. Устройство, содержащее счетчик программы (PC) и память (РМЕМ) для хранения зашифрованной программы, причем указанная зашифрованная программа содержит набор зашифрованных команд (INST), включающих по меньшей мере код операции, а указанное устройство содержит модуль дешифрования (DECR) и блок обработки данных (SCPU) и имеет доступ к инициализированному ключу команды (KI), отличающееся тем, что содержит средство рекурсивного обновления ключа команды (KI) на основе всего указанного ключа команды или его части и дайджеста по меньшей мере одной предыдущей исполненной команды.
11. Устройство по п.10, отличающееся тем, что средство рекурсивного обновления ключа команды реализовано с помощью аппаратных средств.
12. Устройство по п.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 |
---|---|
RU2013104050A true RU2013104050A (ru) | 2014-08-27 |
RU2541196C2 RU2541196C2 (ru) | 2015-02-10 |
Family
ID=43297003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2013104050/08A RU2541196C2 (ru) | 2010-07-22 | 2010-07-22 | Способ обеспечения целостности программного обеспечения |
Country Status (6)
Country | Link |
---|---|
JP (1) | JP5616528B2 (ru) |
KR (1) | KR101687439B1 (ru) |
CN (1) | CN102959556B (ru) |
BR (1) | BR112012031052B1 (ru) |
RU (1) | RU2541196C2 (ru) |
WO (1) | WO2012010205A1 (ru) |
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 | 腾讯科技(深圳)有限公司 | 代码摘要的生成方法、装置和存储介质 |
CN111565002B (zh) * | 2020-05-22 | 2024-07-12 | 北京合康新能变频技术有限公司 | 一种变频器的控制系统 |
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 CN CN201080067681.3A patent/CN102959556B/zh active Active
- 2010-07-22 JP JP2013519968A patent/JP5616528B2/ja active Active
- 2010-07-22 WO PCT/EP2010/060603 patent/WO2012010205A1/en active Application Filing
- 2010-07-22 RU RU2013104050/08A patent/RU2541196C2/ru not_active IP Right Cessation
- 2010-07-22 KR KR1020127031855A patent/KR101687439B1/ko active IP Right Grant
- 2010-07-22 BR BR112012031052-6A patent/BR112012031052B1/pt active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
CN102959556B (zh) | 2015-12-16 |
KR20130120985A (ko) | 2013-11-05 |
WO2012010205A1 (en) | 2012-01-26 |
RU2541196C2 (ru) | 2015-02-10 |
BR112012031052A2 (pt) | 2016-10-25 |
JP5616528B2 (ja) | 2014-10-29 |
KR101687439B1 (ko) | 2016-12-16 |
BR112012031052B1 (pt) | 2020-12-01 |
CN102959556A (zh) | 2013-03-06 |
JP2013535725A (ja) | 2013-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2013104050A (ru) | Способ обеспечения целостности программного обеспечения | |
US20240031158A1 (en) | Secure unlock systems for locked devices | |
Wichelmann et al. | Microwalk: A framework for finding side channels in binaries | |
US10019601B2 (en) | Method and apparatus for securely saving and restoring the state of a computing platform | |
Delaune et al. | Formal analysis of protocols based on TPM state registers | |
Zhao et al. | Providing root of trust for ARM TrustZone using on-chip SRAM | |
US9842212B2 (en) | System and method for a renewable secure boot | |
US8904189B1 (en) | System and method for validating program execution at run-time using control flow signatures | |
CN102509047B (zh) | 校验机顶盒中程序代码的方法和系统 | |
TW202137011A (zh) | 用於記憶體位址範圍的支持可組態安全性級別的處理器、方法及電腦可讀取非暫態儲存媒體 | |
RU2007138019A (ru) | Безопасная загрузка | |
US20120144208A1 (en) | Indexed table based code encrypting/decrypting device and method thereof | |
CN107273723B (zh) | 一种基于so文件加壳的Android平台应用软件保护方法 | |
JP2019517080A5 (ru) | ||
CN114124364B (zh) | 密钥安全处理方法、装置、设备及计算机可读存储介质 | |
Cyr et al. | Low-cost and secure firmware obfuscation method for protecting electronic systems from cloning | |
US20170046280A1 (en) | Data processing device and method for protecting a data processing device against attacks | |
Averbuch et al. | Truly-protect: An efficient VM-based software protection | |
Sinharoy et al. | Advanced features in IBM POWER8 systems | |
Kumar et al. | Towards designing a secure RISC-V system-on-chip: ITUS | |
CN114817931A (zh) | 基于星型信任链的终端安全防护方法、装置、设备及介质 | |
Wang et al. | Trust beyond border: lightweight, verifiable user isolation for protecting in-enclave services | |
ES2855749T3 (es) | Procedimiento de cifrado, procedimiento de cifrado, dispositivos y programas correspondientes | |
CN114816549B (zh) | 一种保护bootloader及其环境变量的方法及系统 | |
CN106372464A (zh) | 一种嵌入式系统中静态库文件的防盗版加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20180723 |