RU2004114666A - Способ выполнения управляемой программы посредством портативного носителя данных - Google Patents
Способ выполнения управляемой программы посредством портативного носителя данных Download PDFInfo
- 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
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
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting 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.
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)
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)
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 |
-
2001
- 2001-11-16 DE DE10156394A patent/DE10156394A1/de not_active Ceased
-
2002
- 2002-10-29 ES ES02790306T patent/ES2414435T3/es not_active Expired - Lifetime
- 2002-10-29 RU RU2004114666/09A patent/RU2295756C2/ru not_active IP Right Cessation
- 2002-10-29 JP JP2003544345A patent/JP4708703B2/ja not_active Expired - Fee Related
- 2002-10-29 AU AU2002363665A patent/AU2002363665A1/en not_active Abandoned
- 2002-10-29 US US10/495,569 patent/US7441111B2/en not_active Expired - Fee Related
- 2002-10-29 WO PCT/EP2002/012074 patent/WO2003042547A2/de active Application Filing
- 2002-10-29 CN CNB028227719A patent/CN1296819C/zh not_active Expired - Fee Related
- 2002-10-29 EP EP02790306.1A patent/EP1449084B1/de not_active Expired - Lifetime
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 |