JP4732651B2 - プログラム実行を保護するための方法 - Google Patents
プログラム実行を保護するための方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/51—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/82—Protecting input, output or interconnection devices
- G06F21/83—Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2101—Auditing as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2151—Time stamp
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (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)
Description
本発明は、特許請求項1にしたがう、プログラム実行を保護するための方法に関する。
【0002】
例えばICカード分野におけるような、保全関連アプリケーションでは特に、プログラム実行を不正操作から保護する必要がある。秘密データ、例えば秘密キーデータを保護するには、権限のない人間による読出しを防止するために、保護されるべきデータを暗号化形態で格納することが知られている。
【0003】
しかし、秘密データへのアクセスは、プログラム実行に選択的に割込をかけ、選択的割込の繰返しにより秘密データが推定され得るエラーを暗号化ルーチンに生じさせることで達成することもできる。
【0004】
そのような攻撃を避けるため、プログラム実行のエラーまたは妨害を確実に認知する必要がある。ドイツ国特許第DE37 09 524 C2号は、コンピュータのプログラムメモリのメモリセル内容をチェックするための方法を開示している。この特許では、様々なアドレス及びデータメモリ領域のメモリセル内容からつくられる、いくつかのチェックサムが格納される。チェックサムはコンピュータの作動開始時及び/または作動中に決定され、格納されたチェックサムと比較される。違いが確認されると、エラー信号が出力される。
【0005】
ドイツ国特許第DE37 09 524 C2号により知られる方法は、主として、プログラムで用いられるデータの正しさをチェックするに適している。この特許は、プログラム実行の不正操作が特にプログラム呼出し時、すなわちサブプログラムまたは関数プログラムの実行時にも、あるいはその時に、なされ得るという事実を考慮していない。
【0006】
したがって、本発明の課題はモジュール構成のプログラムの、特にサブプログラム呼出し時に、確実なチェックを可能にする方法を提示することである。
【0007】
上記課題は、本発明にしたがい、呼出しプログラムから渡されるべきデータの確実な転送を確認するデータチェックを、呼び出されたプログラムが実行することより解決される。
【0008】
本発明によりさらに、個々のプログラム部分が確実かつ完全に実行されることだけでなく、全プログラム実行が妨害されないこと及び不正操作を受けつけないことを保証する、保全性が達成される。
【0009】
本発明の有利な実施形態は、呼出しプログラムが呼出しプログラムから呼び出されるプログラムに渡されるパラメータについてチェックサムを初めにつくり、このチェックサムが専用に用意されたメモリ領域に格納される。パラメータが渡された後に、呼び出されたプログラムも受け取ったパラメータについてチェックサムをつくる。呼出しプログラムと呼び出されたプログラムによりつくられたチェックサムが異なっていれば、プログラムは終了させられる。
【0010】
このようにすれば、関数プログラム、特に保全関連データを実行する関数プログラムは開始時に不正操作に対して既に検査されており、よって不完全なパラメータをもつ呼び出されたプログラムの実行開始を阻止でき、エラーのあるデータの評価を行うことは許されない。
【0011】
チェックサムを格納するために用意されるメモリ領域はRAMまたはレジスタ領域につくられることが好ましい。
【0012】
渡されるべきパラメータについてチェックサムをつくるための、別の、すなわち代替の実施形態は、リターンアドレスのチェックにより得られる。呼出し関数のリターンアドレスがテーブルに入れられ、呼び出されたプログラムはこのテーブルにより、呼出しプログラムから送られたリターンアドレスがテーブルにあるか否かをチェックできる。報告されたリターンアドレスが誤っている場合には、プログラムを中断できる。
【0013】
別の代替の、すなわちさらなる保全チェックは、サブプログラムまたは関数プログラムの呼出し時にタイマーをスタートさせることにより行うことができる。
【0014】
タイマーはプログラムの実行に必要なクロックサイクルをカウントする。正規のサブプログラム実行に必要なクロックサイクル数が、タイマーに対する限界値として初めにプリセットされる。プリセットされたクロック数をこえてもサブプログラムが終了しなければ、プログラムは終了させられる。
【0015】
以下で、図1〜3を参照して本発明をさらに詳細に説明する。
【0016】
図1は、サブプログラム呼出し、特に関数呼出しの実行を説明しており、機能ステップ1〜3は呼び出されるべきプログラムに関係し、機能ステップ4〜8はサブプログラムの評価に関係する。
【0017】
呼び出されるべきプログラムにおいて、初めにサブプログラムの実行に必要なパラメータがステップ1で与えられる。このパラメータについて、最も単純な場合にはパリティチェックからなる、チェックサムがステップ2でつくられる。一般的なチェックサム作成方法、例えばCRC(巡回冗長検査)またはEDCも用い得ることは当然である。そのようにして決定されたチェックサムは専用に用意されたメモリ領域に書き込まれる。このメモリ領域は、揮発性メモリ(RAM)または不揮発性で書換可能なメモリ(例えばEEPROM)とすることができる。
【0018】
チェックサム1の作成及び格納に続いて、サブプログラム呼出しがステップ3で行われる。ステップ4はサブプログラムの実行の開始である。このサブプログラムでは、渡されたパラメータについてチェックサム2が初めにつくられる。チェックサム2は、呼出しプログラムにおいてチェックサム1を決定するために用いられた方法と同じ方法でつくられる。
【0019】
次いで、チェックサムPS1及びPS2の一致についてのチェックがステップ6で行われる。2つのチェックサムが一致しないことがステップ6で確認されると、プログラムパラメータが渡されるときにエラーが生じたと想定することができ、これは秘密データの決定を目的とする意図的妨害の表れであり得る。一手段として、プログラムをステップ7で終了させることができ、あるいは対応する別の手段、例えばメインプログラムへのエラーメッセージがとられる。
【0020】
チェックサムPS1及びPS2が一致することがステップ6で確認されれば、実際の関数実行が開始される。
【0021】
図2は、リターンアドレスをチェックすることによりプログラム保護が可能であることを示す。リターンアドレスは、関数呼出し時にハードウエアによりスタックされる。本事例においても上述と同様に、サブプログラム呼出し時に、ステップ11で呼出しプログラムからサブプログラムに情報(例えばリターンアドレス)が渡される。本発明にしたがえば、リターンアドレスはテーブル17に管理され、サブプログラムの実行時に−リターンアドレスがステップ12でRAMに格納されている限りにおいて−ステップ13でテーブル17に基づいてチェックされるべきリターンアドレスが一致について初めに検査される。渡されたリターンアドレスがテーブルにないことがステップ14で確認されると、ステップ15でプログラムが終了させられる。そうでなければ関数プログラムの実行がステップ16で開始される。
【0022】
図3は、正しいプログラムの実行、すなわち妨害されていないプログラムの実行がタイマーを用いてチェックされる実施形態を示す。ステップ21におけるサブプログラムの開始直後に、ステップ22でタイマーがスタートされる。このタイマーは、サブプログラムの実行に必要な時間の測定、すなわちクロックサイクル数のカウントを行うように構成される。ステップ22におけるタイマーのスタートに続いて、サブプログラムの関数がステップ23で実行され、関数の終了後にステップ24でタイマーが停止される。ステップ25で、関数プログラムの実行に必要なクロック数がプリセットされたクロックサイクル数に一致するか否かがチェックされる。一致しなければ、プログラムはステップ26で終了させられる。そうでなければプログラム実行がステップ27で、例えばメインプログラムにジャンプして戻ることにより、続けられる。
【0023】
図3は、関数または関数プログラムの実行後にタイマーが停止されてチェックされることを示す。実際上、タイマーがさらにチェックされる一定のポイントを関数プログラムに与えることにより保全性を高めることができる。これにより、エラーまたは攻撃があるにもかかわらず、関数プログラムの大部分が実行されてしまうことを防止できる。
【0024】
あるいは、開始後、タイマー値を継続的に限界値と比較し、限界値に達するか限界値をこえた場合にプログラムを終了させるようにすることもできる。
【0025】
図1〜3による個々の例を、独立した、互換的手段として示した。これらの例を併用することにより保全性を高めることができる。チェックサム、リターンアドレス及びタイマーによるチェックを並行して行うことにより、最大の保全性が得られる。
【図面の簡単な説明】
【図1】 チェックサムを用いるチェックに対するフローチャートを示す
【図2】 リターンアドレステーブルを用いるチェックに対するフローチャートを示す
【図3】 タイマーを用いるチェックに対するフローチャートを示す
Claims (4)
- コンピュータを用いてサブプログラムの呼出し時におけるプログラムの実行を保護するための、呼び出されたサブプログラムが、呼出しプログラムから直接または間接的に渡されるデータのチェックを、前記呼び出されたサブプログラムの実行前または実行中に行う方法において:
− コンピュータが、前記呼出しプログラムから前記呼び出されたサブプログラムに渡されるべきパラメータについて第1のチェックサムをつくるステップ(ステップ2)と;
− コンピュータが、前記第1のチェックサムを専用に用意されたメモリ領域に格納するステップと;
− コンピュータが、前記呼び出されたサブプログラムの実行の前に、該呼び出されたサブプログラムが受け取った前記パラメータについて第2のチェックサムをつくり(ステップ5)、前記第2のチェックサムと前記第1のチェックサムとが一致するか否かについてチェックするステップ(ステップ6)と;
− コンピュータが、前記第1のチェックサムと前記第2のチェックサムとが一致しない場合には、前記プログラムを終了させるか(ステップ7)、またはエラーメッセージを出力するステップと;
を含むことを特徴とする方法。 - コンピュータが、前記第1のチェックサムを格納するステップにおいて、前記第1のチェックサムをRAMまたはレジスタ領域に格納することを特徴とする請求項1記載の方法。
- コンピュータが、呼出し関数のリターンアドレスを管理するテーブルにリターンアドレスが存在するか否かをチェックし、前記テーブル格納されたリターンアドレスと呼出しプログラムにより報告されたリターンアドレスとを比較し、前記テーブルに格納されたリターンアドレスが前記呼出しプログラムにより報告されたリターンアドレスとが異なるとき、前記プログラムを終了させるか、またはエラーメッセージを出力するステップを更に有する請求項1または2記載の方法。
- コンピュータが、サブプログラムの呼出し時に前記サブプログラムの実行に要するクロックサイクル数をカウントするタイマーをスタートさせ(ステップ22)、前記タイマー値が、あらかじめ設定されたクロックサイクル数を超えると(ステップ26)、前記プログラムを終了させるか、またはエラーメッセージを出力するステップを更に有する請求項1から3のいずれか1項記載の方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE19944991.0 | 1999-09-20 | ||
| DE19944991A DE19944991B4 (de) | 1999-09-20 | 1999-09-20 | Verfahren zur Sicherung eines Programmablaufs |
| 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 (ja) | 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 (ja) |
| EP (1) | EP1224546B1 (ja) |
| JP (1) | JP4732651B2 (ja) |
| CN (1) | CN1144126C (ja) |
| AU (1) | AU7288400A (ja) |
| DE (1) | DE19944991B4 (ja) |
| RU (1) | RU2254608C2 (ja) |
| WO (1) | WO2001022223A1 (ja) |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1442391B1 (de) | 2001-10-17 | 2005-08-31 | Infineon Technologies AG | Verfahren und vorrichtung zum absichern einer berechnung in einem kryptographischen algorithmus |
| 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 | Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" (Госкорпорация "Росатом") | Способ контроля хода выполнения программы пользователя, исполняющейся на вычислительных узлах вычислительной системы |
| EP3369028B1 (en) * | 2015-10-29 | 2021-01-20 | Hewlett-Packard Development Company, L.P. | Checking a security value calculated for a part of a program code |
| FR3134907B1 (fr) * | 2022-04-26 | 2026-04-17 | 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)
| 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 |
-
1999
- 1999-09-20 DE DE19944991A patent/DE19944991B4/de not_active Expired - Lifetime
-
2000
- 2000-09-18 CN CNB008131139A patent/CN1144126C/zh not_active Expired - Fee Related
- 2000-09-18 RU RU2002109465/09A patent/RU2254608C2/ru not_active IP Right Cessation
- 2000-09-18 AU AU72884/00A patent/AU7288400A/en not_active Abandoned
- 2000-09-18 EP EP00960677.3A patent/EP1224546B1/de not_active Expired - Lifetime
- 2000-09-18 US US10/070,444 patent/US6934887B1/en not_active Expired - Lifetime
- 2000-09-18 WO PCT/EP2000/009131 patent/WO2001022223A1/de not_active Ceased
- 2000-09-18 JP JP2001525524A patent/JP4732651B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| WO2001022223A1 (de) | 2001-03-29 |
| RU2254608C2 (ru) | 2005-06-20 |
| JP2003510684A (ja) | 2003-03-18 |
| CN1375084A (zh) | 2002-10-16 |
| AU7288400A (en) | 2001-04-24 |
| EP1224546A1 (de) | 2002-07-24 |
| DE19944991A1 (de) | 2001-04-12 |
| EP1224546B1 (de) | 2015-09-02 |
| DE19944991B4 (de) | 2004-04-29 |
| US6934887B1 (en) | 2005-08-23 |
| CN1144126C (zh) | 2004-03-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4732651B2 (ja) | プログラム実行を保護するための方法 | |
| CN102483781B (zh) | 数据验证方法 | |
| JPH11506240A (ja) | スマートカードのデータを安全に変更する方法 | |
| EP2378452B1 (en) | Method, device and computer program support for verification of checksums for self-modified computer code | |
| US11232194B2 (en) | Method for executing a binary code of a secure function with a microprocessor | |
| WO2001050230A3 (en) | Electronic security technique for gaming software | |
| KR101443405B1 (ko) | 데이터를 안전하게 보호하기 위한 시스템 및 방법 | |
| CN109445705B (zh) | 固件认证方法及固态硬盘 | |
| US11461476B2 (en) | Method for executing a binary code of a function secured by a microprocessor | |
| CN119783115B (zh) | 安全启动方法和装置、存储介质及电子设备 | |
| JP4693245B2 (ja) | 外部からの不正操作に対するコンピュータコアの保護 | |
| EP3649553B1 (en) | Data protection | |
| CN120781342A (zh) | 基于影子栈的程序控制流保护方法、装置及计算机设备 | |
| CN115221477A (zh) | 授权许可方法、许可证制作方法、芯片装置及存储介质 | |
| EP0962850A2 (en) | A method for protecting embedded system software and embedded system | |
| JP2000322253A (ja) | セキュリティ・システム | |
| JP2001195247A (ja) | ソフトウェアの安全性を検証し保証するシステム及び方法 | |
| CN115688120A (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 | |
| CN120217328B (zh) | 终端软件保护方法、装置、终端设备及计算机存储介质 | |
| 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 |