RU2004114666A - Способ выполнения управляемой программы посредством портативного носителя данных - Google Patents

Способ выполнения управляемой программы посредством портативного носителя данных Download PDF

Info

Publication number
RU2004114666A
RU2004114666A RU2004114666/09A RU2004114666A RU2004114666A RU 2004114666 A RU2004114666 A RU 2004114666A RU 2004114666/09 A RU2004114666/09 A RU 2004114666/09A RU 2004114666 A RU2004114666 A RU 2004114666A RU 2004114666 A RU2004114666 A RU 2004114666A
Authority
RU
Russia
Prior art keywords
counter
value
managed
program
module
Prior art date
Application number
RU2004114666/09A
Other languages
English (en)
Other versions
RU2295756C2 (ru
Inventor
Дитер ВАЙСС (DE)
Дитер ВАЙСС
Original Assignee
ГИЗЕКЕ ЭНД ДЕВРИЕНТ ГмбХ (DE)
ГИЗЕКЕ ЭНД ДЕВРИЕНТ ГмбХ
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 ГИЗЕКЕ ЭНД ДЕВРИЕНТ ГмбХ (DE), ГИЗЕКЕ ЭНД ДЕВРИЕНТ ГмбХ filed Critical ГИЗЕКЕ ЭНД ДЕВРИЕНТ ГмбХ (DE)
Publication of RU2004114666A publication Critical patent/RU2004114666A/ru
Application granted granted Critical
Publication of RU2295756C2 publication Critical patent/RU2295756C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting

Claims (20)

1. Способ управляемого выполнения программы посредством портативного носителя данных (10), содержащего программную память (26), системное ядро (14) и, по крайней мере, один счетчик состояния (ZZ), отличающийся тем, что программная память (26) содержит, по крайней мере, одну программу (30), выполняемую посредством системного ядра (14) и множества управляемых блоков (36.х), а также отличающийся тем, что в ходе функционирования каждого управляемого блока (36.х) показатель счетчика состояния (ZZ) изменяется с тем, чтобы отразить обработку соответствующих управляемых блоков (36.х), во время выполнения команды перехода (42.х), в результате которой один или несколько управляемых блоков (36.х) пропускаются, показатель счетчика состояния (ZZ) изменяется, как если бы пропущенные управляемые блоки (36.х) были задействованы, показатель счетчика состояния (ZZ) сравнивается, по крайней мере, с одним допустимым значением, по меньшей мере, в одной из точек проверки (38, 60, 72), в результате чего в случае соответствия выполнение программы продолжается, а в случае отличия происходит обработка ошибок (50, 64, 76).
2. Способ по п.1, отличающийся тем, что счетчик состояния (ZZ) настраивается как дифференциальный счетчик состояния, значение которого соответствует разнице между значениями активного счетчика (AZ) и базового счетчика (BZ).
3 Способ по п.1 или 2, отличающийся тем, что программа (30) имеет конфигурацию цикла, включающего блок запуска (34), множество управляемых блоков (36.х) и блок обработки событий (40), точки проверки (38) или одной из точек проверки, локализованных между последним управляемым блоком (36.N) и блоком обработки событий (40).
4 Способ по п.2, отличающийся тем, что базовый счетчик (BZ) настраивается на соответствующее значение активного счетчика (AZ) перед задействованием управляемых блоков (36.х).
5. Способ по п.3, отличающийся тем, что базовый счетчик (BZ) настраивается на соответствующее значение активного счетчика (AZ) перед задействованием управляемых блоков (36.х).
6. Способ по любому из пп.1, 2, 4 и 5, отличающийся тем, что программа (30) содержит, по крайней мере, один модуль (56), включающий один или несколько управляемых блоков (36.х).
7. Способ по п.3, отличающийся тем, что программа (30) содержит, по крайней мере, один модуль (56), включающий один или несколько управляемых блоков (36.х).
8. Способ по п.6, отличающийся тем, что модуль (56) является управляемым модулем, в котором изменение счетчика состояния (ZZ) в модуле (56) сравнивается в точке проверки (60), по крайней мере, с одним допустимым значением.
9 Способ по п.7, отличающийся тем, что модуль (56) является управляемым модулем, в котором изменение счетчика состояния (ZZ) в модуле (56) сравнивается в точке проверки (60), по крайней мере, с одним допустимым значением.
10 Способ по п.8 или 9, отличающийся тем, что до первого соответствующего изменения счетчика состояния (ZZ) в управляемом модуле (56) показатель счетчика состояния (ZZ) или связанное с ним значение, сохраняется в буфере локального базового счетчика (LBZ).
11 Способ по любому из пп.1, 2, 4, 5, 7, 8 и 9, отличающийся тем, что, по меньшей мере, один из управляемых блоков (36.х) содержит множество управляемых подблоков (68.х), причем значение локального счетчика (LZ) изменяется во время функционирования каждого управляемого подблока (68.х) с тем, чтобы отразить обработку соответствующего управляемого подблока (68.х), а значение локального счетчика (LZ) сравнивается, по крайней мере, в одной из точек проверки (72) как минимум с одним допустимым значением.
12. Способ по п.3, отличающийся тем, что, по меньшей мере, один из управляемых блоков (36.х) содержит множество управляемых подблоков (68.х), причем значение локального счетчика (LZ) изменяется во время функционирования каждого управляемого подблока (68.х) с тем, чтобы отразить обработку соответствующего управляемого подблока (68.х), а значение локального счетчика (LZ) сравнивается, по крайней мере, в одной из точек проверки (72) как минимум с одним допустимым значением.
13. Способ по п.6, отличающийся тем, что, по меньшей мере, один из управляемых блоков (36.х) содержит множество управляемых подблоков (68.х), причем значение локального счетчика (LZ) изменяется во время функционирования каждого управляемого подблока (68.х) с тем, чтобы отразить обработку соответствующего управляемого подблока (68.х), а значение локального счетчика (LZ) сравнивается, по крайней мере, в одной из точек проверки (72) как минимум с одним допустимым значением.
14. Способ по п.10, отличающийся тем, что, по меньшей мере, один из управляемых блоков (36.х) содержит множество управляемых подблоков (68.х), причем значение локального счетчика (LZ) изменяется во время функционирования каждого управляемого подблока (68.х) с тем, чтобы отразить обработку соответствующего управляемого подблока (68.х), а значение локального счетчика (LZ) сравнивается, по крайней мере, в одной из точек проверки (72) как минимум с одним допустимым значением.
15. Способ по любому из пп.1, 2, 4, 5, 7, 8, 9, 12, 13 и 14, отличающийся тем, что способ применяется в целях противодействия попыткам вторжения с помощью светового воздействия, при которых происходит манипулирование значением программного счетчика (16) системного ядра (14) посредством светового воздействия.
16. Способ по п.3, отличающийся тем, что способ применяется в целях противодействия попыткам вторжения с помощью светового воздействия, при которых происходит манипулирование значением программного счетчика (16) системного ядра (14) посредством светового воздействия.
17. Способ по п.6, отличающийся тем, что способ применяется в целях противодействия попыткам вторжения с помощью светового воздействия, при которых происходит манипулирование значением программного счетчика (16) системного ядра (14) посредством светового воздействия.
18. Способ по п.10, отличающийся тем, что способ применяется в целях противодействия попыткам вторжения с помощью светового воздействия, при которых происходит манипулирование значением программного счетчика (16) системного ядра (14) посредством светового воздействия.
19. Способ, соответствующий формуле 11, отличающийся тем, что способ применяется в целях противодействия попыткам вторжения с помощью светового воздействия, при которых происходит манипулирование значением программного счетчика (16) системного ядра (14) посредством светового воздействия.
20. Портативный носитель данных (10), в частности, плата (чип-карта) или микросхемный модуль (чип-модуль), содержащий программную память (26), системное ядро (14) и, по крайней мере, один счетчик состояния (ZZ), отличающийся тем, что программная память (26) содержит, как минимум, одну программу (30), выполняемую системным ядром (14) и множеством управляемых блоков (36.х), при этом программная память (26) содержит команды, заставляющие системное ядро (14) выполнять способ по любому из пп.1-19.
RU2004114666/09A 2001-11-16 2002-10-29 Способ выполнения управляемой программы посредством портативного носителя данных RU2295756C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10156394A DE10156394A1 (de) 2001-11-16 2001-11-16 Kontrollierte Programmausführung durch einen tragbaren Datenträger
DE10156394.9 2001-11-16

Publications (2)

Publication Number Publication Date
RU2004114666A true RU2004114666A (ru) 2005-10-27
RU2295756C2 RU2295756C2 (ru) 2007-03-20

Family

ID=7706025

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2004114666/09A RU2295756C2 (ru) 2001-11-16 2002-10-29 Способ выполнения управляемой программы посредством портативного носителя данных

Country Status (9)

Country Link
US (1) US7441111B2 (ru)
EP (1) EP1449084B1 (ru)
JP (1) JP4708703B2 (ru)
CN (1) CN1296819C (ru)
AU (1) AU2002363665A1 (ru)
DE (1) DE10156394A1 (ru)
ES (1) ES2414435T3 (ru)
RU (1) RU2295756C2 (ru)
WO (1) WO2003042547A2 (ru)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2864655B1 (fr) * 2003-12-31 2006-03-24 Trusted Logic Procede de controle d'integrite de programmes par verification d'empreintes de traces d'execution
DE102004021088A1 (de) * 2004-04-29 2005-11-17 Giesecke & Devrient Gmbh Verfahren zum Schützen von Daten eines Datenträgers gegen DFA-Angriffe
EP1605333B1 (fr) * 2004-06-07 2008-12-10 Proton World International N.V. Contrôle de l'exécution d'un programme
FR2886027A1 (fr) * 2005-05-20 2006-11-24 Proton World Internatinal Nv Detection d'erreur de sequencement dans l'execution d'un programme
JP2007004456A (ja) * 2005-06-23 2007-01-11 Toshiba Corp 携帯可能電子装置及び携帯可能電子装置のデータ出力方法
GB2435531A (en) * 2006-02-27 2007-08-29 Sharp Kk Control Flow Protection Mechanism
JP2008152452A (ja) * 2006-12-15 2008-07-03 Toshiba Corp 携帯可能電子装置、携帯可能電子装置の制御方法およびicカード
DE102007015369A1 (de) * 2006-12-29 2008-07-03 Endress + Hauser Gmbh + Co. Kg Verfahren zur Überwachung des logischen Programmablaufs von kritischen Funktionen in Programmen eines Feldgeräts der Prozess- und Automatisierungstechnik
JP2008243097A (ja) 2007-03-29 2008-10-09 Toshiba Corp 情報記憶媒体
JP5018199B2 (ja) * 2007-04-10 2012-09-05 大日本印刷株式会社 携帯用セキュリティデバイス
DE102007038763A1 (de) * 2007-08-16 2009-02-19 Siemens Ag Verfahren und Vorrichtung zur Sicherung eines Programms gegen eine Kontrollflussmanipulation und gegen einen fehlerhaften Programmablauf
JP4701260B2 (ja) * 2008-03-31 2011-06-15 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法、および、情報処理プログラム
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
DE102013001143A1 (de) 2013-01-23 2014-07-24 Giesecke & Devrient Gmbh Verfahren zur Ausvührung eines Programms über einen Mikroprozessor auf einem Sicherheitsmodul
EP3040895A1 (en) * 2014-12-30 2016-07-06 Gemalto Sa System and method for protecting a device against return-oriented programming attacks
FR3035240B1 (fr) * 2015-04-15 2018-04-06 Rambus Inc. Procede de securisation de l'execution d'un programme

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5276852A (en) * 1975-12-22 1977-06-28 Hitachi Ltd Error detection circuit
JPS59200344A (ja) * 1983-04-27 1984-11-13 Hitachi Ltd マイクロプログラム暴走検出方式
US4939353A (en) * 1987-01-22 1990-07-03 Kabushiki Kaisha Toshiba Processing system for enabling data communication with a self-diagnose device
JPH01258142A (ja) * 1988-04-08 1989-10-16 Natl Space Dev Agency Japan<Nasda> 故障容認計算機装置
US5357627A (en) * 1989-03-28 1994-10-18 Olympus Optical Co., Ltd. Microcomputer having a program correction function
US4939393A (en) 1989-10-02 1990-07-03 Motorola Inc. ECL to TTL/CMOS translator using a single power supply
JPH04160642A (ja) * 1990-10-25 1992-06-03 Nec Corp コンピュータシステム
DE4036765A1 (de) * 1990-11-17 1992-05-21 Angewandte Digital Elektronik Kodierte chipkartenaktivierung
US5732272A (en) * 1995-07-31 1998-03-24 Apple Computer, Inc. Subroutine execution time tracer
JP2752929B2 (ja) * 1995-08-30 1998-05-18 日本電気アイシーマイコンシステム株式会社 プログラム暴走検出装置および暴走検出方法
US5784607A (en) * 1996-03-29 1998-07-21 Integrated Device Technology, Inc. Apparatus and method for exception handling during micro code string instructions
JPH10240522A (ja) * 1997-02-26 1998-09-11 Matsushita Electric Works Ltd 演算装置
JPH11184735A (ja) * 1997-12-19 1999-07-09 Nec Corp プログラム暴走検出方法および暴走検出ルーチンを含む記録媒体
US6148437A (en) * 1998-05-04 2000-11-14 Hewlett-Packard Company System and method for jump-evaluated trace designation
US6353924B1 (en) * 1999-02-08 2002-03-05 Incert Software Corporation Method for back tracing program execution
FR2790844B1 (fr) * 1999-03-09 2001-05-25 Gemplus Card Int Procede et dispositif de surveillance du deroulement d'un programme, dispositif programme permettant la surveillance de son programme
US6453430B1 (en) * 1999-05-06 2002-09-17 Cisco Technology, Inc. Apparatus and methods for controlling restart conditions of a faulted process
JP2000339188A (ja) 1999-05-27 2000-12-08 Harness Syst Tech Res Ltd プログラム実行異常検出装置
US6625725B1 (en) * 1999-12-22 2003-09-23 Intel Corporation Speculative reuse of code regions
US6915416B2 (en) * 2000-12-28 2005-07-05 Texas Instruments Incorporated Apparatus and method for microcontroller debugging

Also Published As

Publication number Publication date
RU2295756C2 (ru) 2007-03-20
EP1449084B1 (de) 2013-04-10
WO2003042547A3 (de) 2004-05-27
ES2414435T3 (es) 2013-07-19
DE10156394A1 (de) 2003-06-12
US7441111B2 (en) 2008-10-21
CN1636186A (zh) 2005-07-06
JP2005509936A (ja) 2005-04-14
CN1296819C (zh) 2007-01-24
JP4708703B2 (ja) 2011-06-22
WO2003042547A2 (de) 2003-05-22
AU2002363665A1 (en) 2003-05-26
US20050033943A1 (en) 2005-02-10
EP1449084A2 (de) 2004-08-25

Similar Documents

Publication Publication Date Title
RU2004114666A (ru) Способ выполнения управляемой программы посредством портативного носителя данных
KR20060046312A (ko) 기억장치
JP2007193905A (ja) 半導体記憶装置
CN113672260A (zh) 一种处理器cpu初始化方法
JP2930259B2 (ja) 携帯可能電子装置
JP3077911B2 (ja) 携帯可能電子装置
KR100875540B1 (ko) 플래시 메모리 카드
JP2005157684A (ja) メモリカード及びメモリ判別方法
JP2945193B2 (ja) Icカードのテスト方法ならびにこの方法の実施に適したicカードおよびテスト装置
JP7397402B2 (ja) 電子情報記憶媒体、データ送信方法、及びプログラム
ATE388455T1 (de) Dynamisches dateninterpretationsverfahren für eine chipkarte
JP4810108B2 (ja) Icカードとその制御方法
JP2006172005A (ja) 携帯可能電子装置
JPH04148384A (ja) 辞書照合方式
JP6326835B2 (ja) 情報処理装置、icカード、コマンド処理方法、及びコマンド処理プログラム
JP2567111B2 (ja) マイクロプログラム制御装置
CN117850917A (zh) 一种安全启动出厂部署方法及装置
JP2000322533A (ja) Pcカード及びカード情報準備方法
JPS636690A (ja) 携帯可能電子装置
JP2004185290A (ja) フラッシュメモリに対するリード・ライト方法
JP5022589B2 (ja) 情報処理装置、icカード、および電子マネーシステム
CN115037589A (zh) 一种配置下发方法及装置
JP2005018563A (ja) マイクロコントローラ装置
JP2008152452A (ja) 携帯可能電子装置、携帯可能電子装置の制御方法およびicカード
JP2019040631A (ja) 回路検証装置、回路検証方法、および、コンピュータ・プログラム

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20180111

MM4A The patent is invalid due to non-payment of fees

Effective date: 20201030