US7036002B1 - System and method for using multiple working memories to improve microprocessor security - Google Patents
System and method for using multiple working memories to improve microprocessor security Download PDFInfo
- Publication number
- US7036002B1 US7036002B1 US09/242,974 US24297499A US7036002B1 US 7036002 B1 US7036002 B1 US 7036002B1 US 24297499 A US24297499 A US 24297499A US 7036002 B1 US7036002 B1 US 7036002B1
- Authority
- US
- United States
- Prior art keywords
- program
- memory
- microcomputer according
- microprocessor
- main
- 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
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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/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/75—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 by inhibiting the analysis of circuitry or operation
- G06F21/755—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 by inhibiting the analysis of circuitry or operation with measures against power attack
-
- 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
Definitions
- microprocessor or microcomputer which comprises a processor, an initial working memory, a main memory containing an operating system, a main program and a secondary program, is characterized in that it also has:
- the operation of the process can then be controlled by the secondary program (P 2 ) which, for example, can trigger a waiting loop of which the length of time depends on a random number derived from the generator ( 2 ).
- the secondary program can be executed using the parts of the memory unused by the main program so that the latter can resume its normal process as soon as the secondary program transmits the new control to it, or yet again, on the next interruption, or once again, using the timer as previously, or using a combination of the two.
- the secondary program can also use the shared resources as long as it reestablishes the context of the main program before transferring control back to it.
- a fourth embodiment also illustrated in FIG. 1 allows the use of RAMs ( 51 ) and ( 52 ) simultaneously. Indeed, if it is assumed that it is possible to detect the switching of the memories and the associated registers, it might be possible to carry out analyses by eliminating the sequences using the dummy memory ( 52 ). To avoid this eventuality, this embodiment means that the memories ( 51 ) and ( 52 ) can be validated in parallel during an initial phase. Obviously, this presupposes that memory ( 52 ) in the case at hand, has a size equal to at least that of the zone used by program (P 1 ) in memory ( 51 ) when working with the latter.
- Step ( 45 ) by writing into the switching register ( 53 ) to change over to the dummy mode so as to modify the values of lines ( 535 ) and ( 532 ) to enable the use of register stack ( 55 ) and of the dummy memory while locking the circuits under control by ( 531 ) and ( 534 ).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Microcomputers (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR9707995A FR2765361B1 (fr) | 1997-06-26 | 1997-06-26 | Microprocesseur ou microcalculateur imprevisible |
| PCT/FR1998/001343 WO1999000718A1 (fr) | 1997-06-26 | 1998-06-25 | Microprocesseur ou microcalculateur imprévisible |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US7036002B1 true US7036002B1 (en) | 2006-04-25 |
Family
ID=9508464
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US09/242,974 Expired - Fee Related US7036002B1 (en) | 1997-06-26 | 1998-06-25 | System and method for using multiple working memories to improve microprocessor security |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US7036002B1 (https=) |
| EP (1) | EP0920660B1 (https=) |
| JP (2) | JP2000501541A (https=) |
| KR (1) | KR100578459B1 (https=) |
| CN (1) | CN1239973C (https=) |
| DE (1) | DE69839958D1 (https=) |
| FR (1) | FR2765361B1 (https=) |
| TW (1) | TW457453B (https=) |
| WO (1) | WO1999000718A1 (https=) |
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040162993A1 (en) * | 2003-02-13 | 2004-08-19 | Yannick Teglia | Antifraud method of an algorithm executed by an integrated circuit |
| US20040162991A1 (en) * | 2003-02-13 | 2004-08-19 | Yannick Teglia | Antifraud method and circuit for an integrated circuit register containing data obtained from secret quantities |
| US20060117167A1 (en) * | 2002-12-12 | 2006-06-01 | Evrard Christophe J | Processing activity masking in a data processing system |
| WO2008145561A1 (en) * | 2007-05-29 | 2008-12-04 | Gemalto Sa | Electronic token comprising several microprocessors and method of managing command execution on several microprocessors |
| ITMI20102476A1 (it) * | 2010-12-30 | 2012-07-01 | Incard Sa | Metodo per de-correlare segnali elettrici emessi da una carta a circuito integrato |
| US9378363B1 (en) * | 2014-10-08 | 2016-06-28 | Amazon Technologies, Inc. | Noise injected virtual timer |
| US9491112B1 (en) | 2014-12-10 | 2016-11-08 | Amazon Technologies, Inc. | Allocating processor resources based on a task identifier |
| US20170046539A1 (en) * | 2004-06-30 | 2017-02-16 | Socionext Inc. | Secure processor and a program for a secure processor |
| US9703951B2 (en) | 2014-09-30 | 2017-07-11 | Amazon Technologies, Inc. | Allocation of shared system resources |
| US9754103B1 (en) | 2014-10-08 | 2017-09-05 | Amazon Technologies, Inc. | Micro-architecturally delayed timer |
| US9864636B1 (en) | 2014-12-10 | 2018-01-09 | Amazon Technologies, Inc. | Allocating processor resources based on a service-level agreement |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2787900B1 (fr) * | 1998-12-28 | 2001-02-09 | Bull Cp8 | Circuit integre intelligent |
| JP2001094550A (ja) * | 1999-09-17 | 2001-04-06 | Toshiba Corp | 信号処理装置 |
| MX2009012134A (es) * | 2007-05-11 | 2009-11-25 | Echostar Technologies Llc | Aparato para controlar la ejecucion de un procesador en un ambiente seguro. |
| CN103164384B (zh) * | 2011-12-15 | 2016-05-18 | 中国银联股份有限公司 | 多机系统共享内存的同步实现方法及其系统 |
| CN120653503B (zh) * | 2025-08-20 | 2025-11-07 | 沐曦集成电路(南京)有限公司 | 一种多模式的开关系统 |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5012409A (en) * | 1988-03-10 | 1991-04-30 | Fletcher Mitchell S | Operating system for a multi-tasking operating environment |
| US5029069A (en) * | 1987-06-30 | 1991-07-02 | Mitsubishi Denki Kabushiki Kaisha | Data processor |
| US5127098A (en) * | 1989-04-12 | 1992-06-30 | Sun Microsystems, Inc. | Method and apparatus for the context switching of devices |
| US5249294A (en) * | 1990-03-20 | 1993-09-28 | General Instrument Corporation | Determination of time of execution of predetermined data processing routing in relation to occurrence of prior externally observable event |
| US5280618A (en) * | 1989-02-27 | 1994-01-18 | Motorola, Inc. | Interrupt test circuit for microprocessor system |
| US5357617A (en) * | 1991-11-22 | 1994-10-18 | International Business Machines Corporation | Method and apparatus for substantially concurrent multiple instruction thread processing by a single pipeline processor |
| US5361337A (en) * | 1989-08-03 | 1994-11-01 | Sun Microsystems, Inc. | Method and apparatus for rapidly switching processes in a computer system |
| US5613114A (en) * | 1994-04-15 | 1997-03-18 | Apple Computer, Inc | System and method for custom context switching |
| US5694604A (en) * | 1982-09-28 | 1997-12-02 | Reiffin; Martin G. | Preemptive multithreading computer system with clock activated interrupt |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4575817A (en) * | 1983-06-27 | 1986-03-11 | International Business Machines Corporation | Switching of programming routine supporting storage stacks |
| US4591982A (en) * | 1983-08-29 | 1986-05-27 | International Business Machines Corporation | Storage selection override apparatus for a multimicroprocessor implemented data processing system |
| JPH02163834A (ja) * | 1988-12-16 | 1990-06-25 | Mitsubishi Electric Corp | マルチ・タスク処理方式 |
| EP0417817B1 (en) * | 1989-09-15 | 1998-11-11 | Digital Equipment Corporation | System and method for reducing the bandwidth of timing channels in a digital data processing system |
| CA2037857C (en) * | 1990-03-20 | 2001-01-16 | Roy Allen Griffin, Iii | Prevention of determination of time of execution of predetermined data processing routine in relation to occurrence of prior observable external event |
| JP2697254B2 (ja) * | 1990-06-06 | 1998-01-14 | 松下電器産業株式会社 | リアルタイム処理装置 |
| JPH0454652A (ja) * | 1990-06-25 | 1992-02-21 | Nec Corp | マイクロコンピュータ |
| US5404402A (en) * | 1993-12-21 | 1995-04-04 | Gi Corporation | Clock frequency modulation for secure microprocessors |
-
1997
- 1997-06-26 FR FR9707995A patent/FR2765361B1/fr not_active Expired - Fee Related
-
1998
- 1998-06-19 TW TW087109859A patent/TW457453B/zh not_active IP Right Cessation
- 1998-06-25 CN CNB988010259A patent/CN1239973C/zh not_active Expired - Fee Related
- 1998-06-25 US US09/242,974 patent/US7036002B1/en not_active Expired - Fee Related
- 1998-06-25 JP JP11505328A patent/JP2000501541A/ja active Pending
- 1998-06-25 DE DE69839958T patent/DE69839958D1/de not_active Expired - Lifetime
- 1998-06-25 WO PCT/FR1998/001343 patent/WO1999000718A1/fr not_active Ceased
- 1998-06-25 KR KR1019997001613A patent/KR100578459B1/ko not_active Expired - Fee Related
- 1998-06-25 EP EP98933715A patent/EP0920660B1/fr not_active Expired - Lifetime
-
2001
- 2001-06-22 JP JP2001190336A patent/JP2002055883A/ja active Pending
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5694604A (en) * | 1982-09-28 | 1997-12-02 | Reiffin; Martin G. | Preemptive multithreading computer system with clock activated interrupt |
| US5029069A (en) * | 1987-06-30 | 1991-07-02 | Mitsubishi Denki Kabushiki Kaisha | Data processor |
| US5012409A (en) * | 1988-03-10 | 1991-04-30 | Fletcher Mitchell S | Operating system for a multi-tasking operating environment |
| US5280618A (en) * | 1989-02-27 | 1994-01-18 | Motorola, Inc. | Interrupt test circuit for microprocessor system |
| US5127098A (en) * | 1989-04-12 | 1992-06-30 | Sun Microsystems, Inc. | Method and apparatus for the context switching of devices |
| US5361337A (en) * | 1989-08-03 | 1994-11-01 | Sun Microsystems, Inc. | Method and apparatus for rapidly switching processes in a computer system |
| US5249294A (en) * | 1990-03-20 | 1993-09-28 | General Instrument Corporation | Determination of time of execution of predetermined data processing routing in relation to occurrence of prior externally observable event |
| US5357617A (en) * | 1991-11-22 | 1994-10-18 | International Business Machines Corporation | Method and apparatus for substantially concurrent multiple instruction thread processing by a single pipeline processor |
| US5613114A (en) * | 1994-04-15 | 1997-03-18 | Apple Computer, Inc | System and method for custom context switching |
Non-Patent Citations (1)
| Title |
|---|
| InstantWeb. "On-line Computing Dictionary". http://www.instantweb.com/foldoc/foldoc.cgi?computer+dictionary Search terms: Random Access Memory; Buffer; Random. * |
Cited By (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060117167A1 (en) * | 2002-12-12 | 2006-06-01 | Evrard Christophe J | Processing activity masking in a data processing system |
| US20040162993A1 (en) * | 2003-02-13 | 2004-08-19 | Yannick Teglia | Antifraud method of an algorithm executed by an integrated circuit |
| US20040162991A1 (en) * | 2003-02-13 | 2004-08-19 | Yannick Teglia | Antifraud method and circuit for an integrated circuit register containing data obtained from secret quantities |
| US7373463B2 (en) * | 2003-02-13 | 2008-05-13 | Stmicroelectronics S.A. | Antifraud method and circuit for an integrated circuit register containing data obtained from secret quantities |
| US10095890B2 (en) * | 2004-06-30 | 2018-10-09 | Socionext Inc. | Secure processor and a program for a secure processor |
| US10303901B2 (en) | 2004-06-30 | 2019-05-28 | Socionext Inc. | Secure processor and a program for a secure processor |
| US10685145B2 (en) | 2004-06-30 | 2020-06-16 | Socionext Inc. | Secure processor and a program for a secure processor |
| US20170046539A1 (en) * | 2004-06-30 | 2017-02-16 | Socionext Inc. | Secure processor and a program for a secure processor |
| US11550962B2 (en) | 2004-06-30 | 2023-01-10 | Socionext Inc. | Secure processor and a program for a secure processor |
| WO2008145561A1 (en) * | 2007-05-29 | 2008-12-04 | Gemalto Sa | Electronic token comprising several microprocessors and method of managing command execution on several microprocessors |
| US20100250962A1 (en) * | 2007-05-29 | 2010-09-30 | Gemalto Sa | Electronic token comprising several microprocessors and method of managing command execution on several microprocessors |
| EP2000936A1 (en) * | 2007-05-29 | 2008-12-10 | Gemplus | Electronic token comprising several microprocessors and method of managing command execution on several microprocessors |
| US8934628B2 (en) * | 2010-12-30 | 2015-01-13 | Stmicroelectronics International Nv | Method to de-correlate electric signals emitted by an IC card |
| US20120170742A1 (en) * | 2010-12-30 | 2012-07-05 | STMicroelectronics, NV | Method to de-correlate electric signals emitted by an ic card |
| ITMI20102476A1 (it) * | 2010-12-30 | 2012-07-01 | Incard Sa | Metodo per de-correlare segnali elettrici emessi da una carta a circuito integrato |
| US9703951B2 (en) | 2014-09-30 | 2017-07-11 | Amazon Technologies, Inc. | Allocation of shared system resources |
| US9898601B2 (en) | 2014-09-30 | 2018-02-20 | Amazon Technologies, Inc. | Allocation of shared system resources |
| US9378363B1 (en) * | 2014-10-08 | 2016-06-28 | Amazon Technologies, Inc. | Noise injected virtual timer |
| US10146935B1 (en) * | 2014-10-08 | 2018-12-04 | Amazon Technologies, Inc. | Noise injected virtual timer |
| US9754103B1 (en) | 2014-10-08 | 2017-09-05 | Amazon Technologies, Inc. | Micro-architecturally delayed timer |
| US10104008B1 (en) | 2014-12-10 | 2018-10-16 | Amazon Technologies, Inc. | Allocating processor resources based on a task identifier |
| US9864636B1 (en) | 2014-12-10 | 2018-01-09 | Amazon Technologies, Inc. | Allocating processor resources based on a service-level agreement |
| US9491112B1 (en) | 2014-12-10 | 2016-11-08 | Amazon Technologies, Inc. | Allocating processor resources based on a task identifier |
Also Published As
| Publication number | Publication date |
|---|---|
| FR2765361A1 (fr) | 1998-12-31 |
| WO1999000718A1 (fr) | 1999-01-07 |
| EP0920660B1 (fr) | 2008-09-03 |
| CN1234883A (zh) | 1999-11-10 |
| FR2765361B1 (fr) | 2001-09-21 |
| KR20000068373A (ko) | 2000-11-25 |
| CN1239973C (zh) | 2006-02-01 |
| KR100578459B1 (ko) | 2006-05-10 |
| JP2002055883A (ja) | 2002-02-20 |
| TW457453B (en) | 2001-10-01 |
| JP2000501541A (ja) | 2000-02-08 |
| DE69839958D1 (de) | 2008-10-16 |
| HK1022756A1 (en) | 2000-08-18 |
| EP0920660A1 (fr) | 1999-06-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5944833A (en) | Integrated circuit and method for decorrelating an instruction sequence of a program | |
| US7036002B1 (en) | System and method for using multiple working memories to improve microprocessor security | |
| JP4030719B2 (ja) | インテリジェントic | |
| US5237616A (en) | Secure computer system having privileged and unprivileged memories | |
| US4558176A (en) | Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software | |
| US8555015B2 (en) | Multi-layer content protecting microcontroller | |
| US8341475B2 (en) | Microprocessor comprising signature means for detecting an attack by error injection | |
| US5704039A (en) | Mask programmable security system for a data processor and method therefor | |
| US6195752B1 (en) | Electronic data processing circuit | |
| JPH0719231B2 (ja) | 改良されたアクセス安全装置を備える集積回路 | |
| CN110968254A (zh) | 一种非易失性存储器的分区保护方法及装置 | |
| JP2003521034A (ja) | マイクロプロセッサシステムおよびそれを操作する方法 | |
| US11295826B1 (en) | OTP control logic with randomization for sensing and writing fuse values | |
| KR20000076351A (ko) | 집적 회로 및 상기 회로의 테스트 방법 | |
| US20080228989A1 (en) | Method and device for securing the reading of a memory | |
| US6915247B1 (en) | Computer system | |
| JPH0231256A (ja) | 外部メモリとそれを用いる情報処理装置 | |
| US8127120B2 (en) | Secured processing unit | |
| US11934529B2 (en) | Processing device and method for secured boot | |
| CN207319238U (zh) | 用于保护集成电路的至少一个功能的保护模块 | |
| JPS63266533A (ja) | デ−タ処理装置 | |
| KR20020062432A (ko) | 스마트 카드 방지 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: BULL CP8, FRANCE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:UGON, MICHEL;REEL/FRAME:010500/0989 Effective date: 19971126 |
|
| AS | Assignment |
Owner name: CP8 TECHNOLOGIES, FRANCE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BULL CP8;REEL/FRAME:014981/0001 Effective date: 20001230 |
|
| CC | Certificate of correction | ||
| FEPP | Fee payment procedure |
Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| FPAY | Fee payment |
Year of fee payment: 8 |
|
| FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.) |
|
| LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.) |
|
| STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
| FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20180425 |