JP4732651B2 - プログラム実行を保護するための方法 - Google Patents

プログラム実行を保護するための方法 Download PDF

Info

Publication number
JP4732651B2
JP4732651B2 JP2001525524A JP2001525524A JP4732651B2 JP 4732651 B2 JP4732651 B2 JP 4732651B2 JP 2001525524 A JP2001525524 A JP 2001525524A JP 2001525524 A JP2001525524 A JP 2001525524A JP 4732651 B2 JP4732651 B2 JP 4732651B2
Authority
JP
Japan
Prior art keywords
program
checksum
subprogram
called
return address
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.)
Expired - Fee Related
Application number
JP2001525524A
Other languages
English (en)
Japanese (ja)
Other versions
JP2003510684A5 (enExample
JP2003510684A (ja
Inventor
バルディシュヴァイラー,ミヒァエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Giesecke and Devrient GmbH
Original Assignee
Giesecke and Devrient GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Publication of JP2003510684A publication Critical patent/JP2003510684A/ja
Publication of JP2003510684A5 publication Critical patent/JP2003510684A5/ja
Application granted granted Critical
Publication of JP4732651B2 publication Critical patent/JP4732651B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Detection And Correction Of Errors (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
JP2001525524A 1999-09-20 2000-09-18 プログラム実行を保護するための方法 Expired - Fee Related JP4732651B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE19944991A DE19944991B4 (de) 1999-09-20 1999-09-20 Verfahren zur Sicherung eines Programmablaufs
DE19944991.0 1999-09-20
PCT/EP2000/009131 WO2001022223A1 (de) 1999-09-20 2000-09-18 Verfahren zur sicherung eines programmablaufs

Publications (3)

Publication Number Publication Date
JP2003510684A JP2003510684A (ja) 2003-03-18
JP2003510684A5 JP2003510684A5 (enExample) 2007-11-08
JP4732651B2 true JP4732651B2 (ja) 2011-07-27

Family

ID=7922630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001525524A Expired - Fee Related JP4732651B2 (ja) 1999-09-20 2000-09-18 プログラム実行を保護するための方法

Country Status (8)

Country Link
US (1) US6934887B1 (enExample)
EP (1) EP1224546B1 (enExample)
JP (1) JP4732651B2 (enExample)
CN (1) CN1144126C (enExample)
AU (1) AU7288400A (enExample)
DE (1) DE19944991B4 (enExample)
RU (1) RU2254608C2 (enExample)
WO (1) WO2001022223A1 (enExample)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002340566A1 (en) 2001-10-17 2003-04-28 Infineon Technologies Ag Method and device for guaranteeing a calculation in a cryptographic algorithm
WO2003034268A2 (de) 2001-10-17 2003-04-24 Infineon Technologies Ag Verfahren und vorrichtung zum absichern einer exponentiations-berechnung mittels dem chinesischen restsatz (crt)
CN1682484B (zh) * 2002-09-11 2012-03-21 德国捷德有限公司 受保护的密码计算
FR2857473B1 (fr) * 2003-07-11 2005-09-16 Oberthur Card Syst Sa Procede de securisation de l'execution d'un programme informatique, notamment dans une carte a microcircuit
DE102004021088A1 (de) * 2004-04-29 2005-11-17 Giesecke & Devrient Gmbh Verfahren zum Schützen von Daten eines Datenträgers gegen DFA-Angriffe
JP2006018765A (ja) * 2004-07-05 2006-01-19 Infocom Corp ソフトウエアの一時的な修正方法およびプログラム
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8887287B2 (en) * 2004-10-27 2014-11-11 Alcatel Lucent Method and apparatus for software integrity protection using timed executable agents
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8464348B2 (en) * 2004-11-15 2013-06-11 Microsoft Corporation Isolated computing environment anchored into CPU and motherboard
US8176564B2 (en) 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US8353046B2 (en) 2005-06-08 2013-01-08 Microsoft Corporation System and method for delivery of a modular operating system
EP1739519A1 (en) * 2005-06-30 2007-01-03 Axalto SA Method to secure the execution of a program against attacks by radiation or other
JP4844102B2 (ja) * 2005-11-30 2011-12-28 富士ゼロックス株式会社 サブプログラム及びそのサブプログラムを実行する情報処理装置
JP4783163B2 (ja) * 2006-01-19 2011-09-28 Okiセミコンダクタ株式会社 マイクロコントローラ
WO2008040377A1 (en) * 2006-10-06 2008-04-10 Agere Systems Inc. Protecting secret information in a programmed electronic device
FR2910144A1 (fr) * 2006-12-18 2008-06-20 St Microelectronics Sa Procede et dispositif de detection errones au cours de l'execution d'un programme.
CN102183896B (zh) * 2010-12-07 2015-11-25 北京广利核系统工程有限公司 一种利用Matlab测试核电站保护逻辑的系统
FR2990533B1 (fr) * 2012-05-09 2015-02-13 Morpho Procede de suivi d'execution d'un logiciel et logiciel pour la mise en oeuvre du procede
DE102014018208A1 (de) * 2014-12-08 2016-06-09 Giesecke & Devrient Gmbh Verfahren zum Betreiben eines Sicherheitsmoduls
FR3030084B1 (fr) 2014-12-12 2018-02-09 Oberthur Technologies Procede d’execution d’un programme par un processeur et entite electronique comportant un tel processeur
RU2591020C1 (ru) * 2015-06-01 2016-07-10 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" (Госкорпорация "Росатом") Способ контроля хода выполнения программы пользователя, исполняющейся на вычислительных узлах вычислительной системы
WO2017071763A1 (en) * 2015-10-29 2017-05-04 Hewlett-Packard Development Company, L.P. Checking a security value calculated for a part of a program code
FR3134907A1 (fr) 2022-04-26 2023-10-27 STMicroelectronics (Grand Ouest) SAS Procédé de surveillance d’une exécution d’une portion de code programme et système sur puce correspondant

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1191912A1 (ru) * 1984-05-16 1985-11-15 Рыбинский Авиационный Технологический Институт Устройство дл контрол хода программ
DE3502387A1 (de) * 1985-01-25 1986-07-31 Klöckner-Moeller Elektrizitäts GmbH, 5300 Bonn Verfahren zur ueberwachung von mikroprozessorsystemen und speicherprogrammierbaren steuerungen
JPH04127340A (ja) * 1990-09-19 1992-04-28 Canon Inc 電子機器
JP2721294B2 (ja) * 1993-01-29 1998-03-04 本田技研工業株式会社 コンピュータシステムのオンライン監視システム
JPH0784786A (ja) * 1993-09-09 1995-03-31 Casio Comput Co Ltd プログラム実行制御方法
EP0686916A1 (en) 1994-06-07 1995-12-13 Digital Equipment Corporation Method and apparatus for testing software
US5768591A (en) 1995-09-08 1998-06-16 Iq Systems Method of de-bugging host-processor software in a distributed processing system having a host processor and at least one object oriented processor
US5757914A (en) * 1995-10-26 1998-05-26 Sun Microsystems, Inc. System and method for protecting use of dynamically linked executable modules
JPH09160807A (ja) 1995-12-06 1997-06-20 Mitsuba Corp マイクロプロセッサの誤動作検出方法
US5909580A (en) 1996-02-08 1999-06-01 Inprise Corporation Development system and methods with direct compiler support for detecting invalid use and management of resources and memory at runtime
JP3683031B2 (ja) * 1996-04-17 2005-08-17 株式会社リコー プログラム保護装置
DE19701166A1 (de) * 1997-01-15 1998-07-23 Siemens Ag Verfahren zur Überwachung der bestimmungsgemäßen Ausführung von Softwareprogrammen
JPH11215120A (ja) * 1998-01-27 1999-08-06 Fujitsu Ltd 通信装置
US6654954B1 (en) * 1998-02-17 2003-11-25 International Business Machines Corporation Computer system, program product and method utilizing executable file with alternate program code attached as a file attribute
US6314532B1 (en) * 1998-12-04 2001-11-06 Lucent Technologies Inc. Method and system for recovering from a software failure
US6766458B1 (en) * 2000-10-03 2004-07-20 Networks Associates Technology, Inc. Testing a computer system

Also Published As

Publication number Publication date
WO2001022223A1 (de) 2001-03-29
RU2254608C2 (ru) 2005-06-20
AU7288400A (en) 2001-04-24
US6934887B1 (en) 2005-08-23
EP1224546B1 (de) 2015-09-02
CN1144126C (zh) 2004-03-31
CN1375084A (zh) 2002-10-16
DE19944991A1 (de) 2001-04-12
JP2003510684A (ja) 2003-03-18
DE19944991B4 (de) 2004-04-29
EP1224546A1 (de) 2002-07-24

Similar Documents

Publication Publication Date Title
JP4732651B2 (ja) プログラム実行を保護するための方法
CN102483781B (zh) 数据验证方法
JPH11506240A (ja) スマートカードのデータを安全に変更する方法
US9471758B2 (en) Method, a device and a computer program support for verification of checksums for self-modified computer code
WO2001050230A3 (en) Electronic security technique for gaming software
US11232194B2 (en) Method for executing a binary code of a secure function with a microprocessor
KR101443405B1 (ko) 데이터를 안전하게 보호하기 위한 시스템 및 방법
US11461476B2 (en) Method for executing a binary code of a function secured by a microprocessor
EP2978159A1 (en) Nonce generation for encryption and decryption
US9262631B2 (en) Embedded device and control method thereof
JP4693245B2 (ja) 外部からの不正操作に対するコンピュータコアの保護
EP3649553B1 (en) Data protection
CN115221477A (zh) 授权许可方法、许可证制作方法、芯片装置及存储介质
EP0962850A2 (en) A method for protecting embedded system software and embedded system
CN119783115A (zh) 安全启动方法和装置、存储介质及电子设备
JP2001195247A (ja) ソフトウェアの安全性を検証し保証するシステム及び方法
US8484484B2 (en) Method of sending an executable code to a reception device and method of executing this code
CN101324914A (zh) 一种防盗版的方法和装置
CN110311773B (zh) 一种高级加密标准协处理器防注入式攻击的方法
JP2006259848A (ja) プログラム実行装置、プログラム実行方法、および、プログラム
CN113094708A (zh) 电子文件处理方法及装置、存储介质和处理器
RU2007117505A (ru) Защищенные загрузка и хранение данных в устройстве обработки данных
US10242183B2 (en) Method of executing a program by a processor and electronic entity comprising such a processor
JP2009080515A (ja) セキュアなロードシーケンスを提供する方法および装置
JP5200686B2 (ja) 情報処理装置、正常処理判別方法、及び情報処理プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070918

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100922

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110215

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: 20110322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110421

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4732651

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees