KR19990008381A - 개선된 집적회로 및 이러한 타입의 집적회로를 사용하는 방법 - Google Patents
개선된 집적회로 및 이러한 타입의 집적회로를 사용하는 방법 Download PDFInfo
- Publication number
- KR19990008381A KR19990008381A KR1019970707908A KR19970707908A KR19990008381A KR 19990008381 A KR19990008381 A KR 19990008381A KR 1019970707908 A KR1019970707908 A KR 1019970707908A KR 19970707908 A KR19970707908 A KR 19970707908A KR 19990008381 A KR19990008381 A KR 19990008381A
- Authority
- KR
- South Korea
- Prior art keywords
- program
- clock
- sequence
- execution
- random number
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 19
- 230000010363 phase shift Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 8
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 claims description 7
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 4
- 238000000926 separation method Methods 0.000 claims description 2
- 238000005034 decoration Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- DOMHZVJNLCAZSA-UYSNGIAKSA-N (2s,3r,5s,6r)-2,3,4,5,6-pentachlorocyclohexan-1-ol Chemical compound OC1[C@H](Cl)[C@@H](Cl)C(Cl)[C@@H](Cl)[C@@H]1Cl DOMHZVJNLCAZSA-UYSNGIAKSA-N 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/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; CALCULATING OR 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/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/0806—Details of the card
- G07F7/0813—Specific details related to card security
- G07F7/082—Features insuring the integrity of the data on or in the card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
Abstract
본 발명은 개선된 집적회로 및 이 형태의 회로를 사용하는 프로세스에 관한 것이다.
본 발명의 개선된 집적회로는, 집적회로의 내외 전기신호로부터 프로그램의 적어도 하나의 명령 시퀀스의 실행을 분리할 수 있는 수단을 갖는다.
Description
[도면의 간단한 설명]
도 1은 본 발명의 제 1 실시예에 따른 전자회로의 개략도,
도 2는 본 발명의 제 2 실시예에 따른 단순화된 변형예를 보여주는 전자회로의 개략도,
도 3A는 교정회로의 실시예를 보여주는 회로도,
도 3B는 교정회로의 논리 시퀀스도,
도 4A는 위상 이동회로의 실시예를 보여주는 논리 회로도,
도 4B는 위상 이동회로의 신호 시퀀스도,
도 5는 본 발명에 따른 제 3 변형 실시예를 보여주는 블록도,
도 6은 내부 클럭의 실시예를 보여주는 논리 회로도,
도 7A는 난수 발생기의 실시예를 보여주는 논리도,
도 7B는 난수 발생기의 각 셀에 대한 실시예를 보여주는 논리도,
도 8은 2차 프로그램의 랜덤하게 선택된 시퀀스의 예를 보여주는 개략도이다.
[발명의 상세한 설명]
[발명의 목적]
[발명이 속하는 기술분야 및 그 분야의 종래기술]
본 발명은 개선된 집적회로 및 이를 사용하는 방법에 관한 것이다. 본 발명은 특히 마이크로프로세서와 마이크로컴퓨터에 적용 가능하며 또한 보호를 필요로 하는 고정배선 논리회로에 관한 것이다.
마이크로프로세서와 마이크로컴퓨터는 내부 또는 외부로부터 마이크로프로세서 또는 마이크로컴퓨터에 공급된 클럭신호 중 하나에 대하여 기준이 이루어진 하나 또는 그 이상의 타이밍 신호와 동기하여 메모리 내에 기억된 프로그램의 연속적인 명령을 순차적으로 실행하는 것은 주지된 사실이다.
따라서, 각 특정 명령의 실행이 하나 또는 그 이상의 연속적인 클럭펄스에 의해 시간이 맞추어진 몇개의 스텝으로 나누어지기 때문에 이러한 프로그램 실행의 각종 위상을 클럭신호와 상관시키는 것은 가능하다. 실제로 종래의 마이크로프로세서에서 동작은 특히 기준클럭에 상대적인 신호의 위상 이동(phase shift)에 의해 필요한 전기적인 펄스를 발생하는 시퀀스 회로로부터 일반적으로 인가되는 클럭신호에 맞추어지는 것이 정상이다. 더욱이, 동작의 순서화는 각종 레지스터, 메모리 및 내부장치를 억세스하는데 필요한 시간의 요소이어야 하며 뿐만 아니라 특히 버스 및 각종 논리회로를 통한 신호 전파 시간의 요소이어야 한다. 결과적으로 각 명령의 시작과 종료 시간은 완전하게 알려지며 실행되고 있는 프로그램은 소정 시퀀스의 명령으로 구성되기 때문에 주어진 순간에 프로세서의 처리장치에서 어떤 명령이 실행되고 있는지를 아는 것은 이론적으로 가능하다.
예를 들어, 프로그램의 시작 또는 처리장치의 리셋트 이후에 전달된 클럭펄스의 수 또는 어떤 이벤트 또는 외부 또는 내부 기준신호 이후에 경과된 시간 조차도 판단하는 것이 가능하다.
마이크로프로세서 또는 마이크로컴퓨터에서 프로그램의 실행을 관찰할 수 있는 이러한 능력은 마이크로프로세서 또는 마이크로컴퓨터가 높은 보안 어플리케이션에 사용될 때 중요한 결점이 된다. 실제로 나쁜 생각을 가진 사람이 프로세서의 연속적인 상태를 알 수 있으며 어떤 내부 출력 데이터를 알려고 하는데 이러한 정보를 사용할 수 있다.
예를 들어, 메세지의 해독 또는 비밀 내부 정보의 테스트, 또는 심지어 어떤 정보의 무결성 검사와 같은 결정된 보안동작의 결과의 함수로서 상이한 순간에 외부 신호에 대한 주어진 동작이 일어날 수 있다는 것을 상상할 수 있다. 문제의 순간에 따라서 이러한 외부신호가 출력 데이터 또는 정보의 비밀 내용, 및 암호 계산의 경우에는 사용된 비밀 암호키에 대한 정보를 공급할 수 있다.
더욱이 난수 발생기를 내장한 마이크로프로세서로 구성되는 참조번호 ST16XT의 SGS 톰슨사로부터 입수 가능한 마이크로프로세서 또는 마이크로컴퓨터가 주지되어 있으며, 이에 대한 판독은 예를 들어, 암호와 해독의 계산에 사용된 난수를 얻는 것을 가능하게 한다.
[발명이 이루고자 하는 기술적 과제]
본 발명의 목적 중 하나는 상기한 종류의 조사를 방지하며, 좀더 일반적으로는 회로 내부 행동의 불법 여부를 관찰하는 것을 방지하기 위한 수단을 갖는 회로를 구비하는 것이다.
본 발명의 다른 목적은 집적회로를 사용하는 방법을 제공하는 것이다.
[발명의 구성 및 작용]
이러한 목적은 개선된 집적회로(IC)가 회로의 내부 또는 외부 신호로부터 프로그램의 적어도 하나의 명령 시퀀스의 실행을 분리시키기 위한 수단을 구비함으로써 달성된다.
본 발명의 다른 특징에 따르면, 회로의 전기신호는 타이밍, 동기 또는 상태 신호이다.
본 발명의 다른 특징에 따르면, 분리수단은 랜덤한 시간에 공급되는 타이밍 펄스 또는 클럭의 시퀀스를 발생하는 하나 또는 그 이상의 회로로 구성된다.
본 발명의 다른 특징에 따르면, 분리수단은 프로세서에서 프로그램 시퀀스의 실행을 동기가 어긋나게 하는 난수 발생기로 구성된다.
본 발명의 다른 특징에 따르면, 분리수단은 너무 짧은 타이밍 펄스를 제거하는 것을 가능하게 하는 클럭 교정회로로 구성된다.
본 발명의 다른 특징에 따르면, 분리수단은 랜덤 인터럽트 발생 시스템으로 구성된다.
본 발명의 다른 특징에 따르면, 분리수단은 명령과 실행 시간이 다르며 랜덤하게 선택되는 제 2 시퀀스의 실행을 포함한다.
본 발명의 다른 특징에 따르면, 제 2 프로세스의 가변시간은 난수 발생기에 의해 공급되는 값에 종속한다.
본 발명의 다른 특징에 따르면, 제 2 프로세스는 메인 프로그램의 전체적인 연산 문맥을 수정하지 않으며, 따라서 이러한 문맥을 재개설할 필요 없이 후자로 리턴할 수 있게 한다.
본 발명의 다른 특징에 따르면, 제 2 프로세스는 프로세서의 제어를 그 곳으로 리턴하기 전에 메인 프로그램의 문맥을 재개설한다.
본 발명의 다른 특징에 따르면, 메인 프로그램은 하나 또는 그 이상의 분리수단을 인에이블 또는 디스에이블 시킬 수 있다.
본 발명의 다른 특징에 따르면, 프로세서의 타이밍, 동기 또는 상태신호를 위상 이동시키기 위한 수단을 구비한다.
본 발명의 다른 특징에 따르면, 위상 편이수단은 프로세서의 타이밍, 동기 또는 상태신호의 랜덤 위상 이동을 발생한다.
본 발명의 다른 특징에 따르면, 위상 편이수단은 프로그램의 실행 동안 외부 클럭으로부터 프로세서의 동작을 부분적 또는 완전하게 동기분리시킨다.
본 발명의 다른 특징에 따르면, 난수 발생기는 루프로 구성되거나 또는 구성되지 않으며, 랜덤값으로 초기화되는 카운터를 사용한다.
본 발명의 다른 특징에 따르면, 초기화값은 비휘발성 메모리로부터 인가된다.
본 발명의 다른 특징에 따르면, 초기화값은 프로그램의 실행동안 수정된다.
본 발명의 다른 특징에 따르면, 난수 발생기는 초기화 값으로 초기화된 해시 함수 또는 암호 타입의 알고리즘을 사용한다.
본 발명의 다른 특징에 따르면, 동작의 순서화는 각종 레지스터, 메모리 및 내부장치를 억세스하는데 필요한 시간의 요소이며 뿐만 아니라 특히 버스 및 각종 논리회로를 통한 신호 전파 시간의 요소이다.
상기한 집적회로를 사용하는 방법은 랜덤 펄스 클럭을 사용하여 하나 또는 그 이상의 명령 또는 동작의 순서화를 트리거하는 단계와;
인터럽트 시퀀스를 랜덤하게 트리거하는 단계와;
메인 시퀀스의 명령 또는 동작의 실행동안 랜덤 시퀀스의 명령 또는 동작의 처리를 트리거하는 단계와;
상기한 가능성의 적어도 2개를 조합하는 단계로 구성되는 방법에 의해 달성된다.
본 발명의 다른 특징과 이점은 첨부 도면을 참고하여 이루어지는 다음 설명에 따라 명확하게 될 것이다.
[실시예]
상세한 설명에서 용어 마이크로컴퓨터는 예를 들어, 밧데리 백업을 갖는 RAM, ROM, PROM, EPROM, EEPROM, 또는 플래시 타입의 RAM, 또는 이들 메모리들의 조합과 같이 프로그램 가능하거나 또는 프로그램이 가능하지 않은 적어도 하나의 비휘발성 메모리와 연관된 RAM 타입의 읽기-쓰기 메모리를 가진 마이크로프로세서를 포함하는 1칩 집적회로를 의미한다.
도 1을 참고하여 이하에 본 발명을 설명하면, CPU(1)는 내부클럭(11)에 따라 동작하는 난수 발생기(2)로 구성된다. 상기한 바와 같이 이러한 타입의 프로세서는 ST16XY 패밀리의 마이크로컴퓨터를 통하여 특히 알려져 있다. 그러나, 이러한 마이크로컴퓨터 또는 마이크로프로세서는 병렬 입/출력이 적어도 하나의 입력으로 루프백 되는 시프트 레지스터를 사용하며, 이동은 내부클럭에 따라 이루어지고, 난수 발생기를 구성하기 위하여 마이크로프로세서의 머신 사이클을 순서화시키는 외부클럭을 사용하여, 레지스터의 내용을 읽기 위한 명령을 실행한다. 본 발명은 외부 클럭으로부터 다중 주파수를 갖는 난수 발생기의 내부클럭이 후자에 대하여 상대적으로 랜덤하게 위상 이동되는 사실에 기초하며, 의사-랜덤하지 않은 난수를 발생하는 것을 가능하게 한다.
본 발명은 난수 발생기를 갖는 이러한 타입의 마이크로프로세서의 원리를 이용하여, 바람직하게는 선택된 실시예에 따라서 동일한 명령이 몇 개의 시간에 실행될지라도 주어진 명령의 실행시간이 더이상 동일하지 않으며, 동일한 시퀀스가 메인 프로그램에 의해 몇개의 시간에 재실행될지라도 명령 시퀀스의 실행기간이 가변적이고, 명령의 실행기간이 가변적이라도 동일한 명령 그 자체의 실행시간이 가변적인 비상관 동작에 대하여 메인 프로그램을 실행하는 마이크로프로세서가 정확하게 위상이 맞고 외부 시퀀스 클럭에 상관된 동작을 할 수 있게 하는 소정수의 소자를 마이크로프로세서에 부가하는 것으로 구성된다.
이것은 도 1에 도시된 회로에 의해 얻어지며, 이 회로는 난수 발생기(2)에 부가하여 내부클럭(11)이 마이크로프로세서 또는 마이크로컴퓨터의 외부클럭(CLKE)에 상대적으로 위상 이동되며 동기가 어긋난 자유 고정 주파수 발진기에 의해 구체화되었다. 종래 기술에서는 당분야의 통상의 지식을 가진자가 비정상 클럭을 갖는 마이크로컴퓨터 또는 마이크로프로세서의 동작에 타이밍을 맞추는 것을 고려하고 있지 않았다. 반대로, 모든 것은 특히 기준 클럭에 대하여 상대적으로 신호를 위상 이동시킴에 의해 필요한 전기 펄스를 발생하는 시퀀스 회로로부터 일반적으로 발생하는 클럭신호에 정상적으로 시간을 맞추는 것을 보장하도록 되어 있다.
이것은 동작의 순서화가 각종 레지스터, 메모리 및 내부장치를 억세스하는데 필요한 시간의 요소이어야 하며 뿐만 아니라 특히 버스 및 각종 논리회로를 통한 신호전파 시간의 요소이어야 한다. 본 발명에서 난수 발생기(2)는 데이터 버스(3)를 통하여 다음에 설명할 각종 장치로 임의값(random value)을 공급하여 로딩시키거나 또는 그것의 출력에 가변 주기의 펄스신호를 발생하도록 사용된다.
본 발명의 마이크로프로세서 또는 마이크로프로세서에서 명령의 로딩과 실행에 필요한 신호는 따라서 랜덤하게 공급되는 클럭 펄스로부터 발생될 수 있으나, 이들 펄스는 프로세서(1)가 각종 동작을 실행하는데 충분한 시간을 갖도록 최소한의 사이클 시간으로 고정되어야 한다. 이 신호는 마이크로프로세서(1)에 대한 클럭으로서 작용을 하도록 교정회로(9)에 보내져야 한다. 이 교정회로의 출력(95)은 멀티플렉싱 회로(18)에 공급되며, 멀티플렉싱 회로의 멀티플렉싱을 제어하는 입력(19)은 난수 발생기(2)에 의해 또는 메인 프로그램(5)에 의해 결정되는 값으로 로딩될 수 있는 레지스터(8)의 하나 또는 그 이상 비트의 신호를 수신한다. 이 레지스터(8)가 임의 값으로 로딩될 때 프로세서에 송부된 클럭신호를 선택하는 결정은 랜덤하게 이루어지며, 이 레지스터(8)가 프로그램에 의해 결정되는 값으로 로딩될 때 마이크로프로세서를 순서화시키는 클럭이 외부클럭(CLKE) 또는 비상관 클럭(CLK2)으로 되는지를 선택하는 것은 메인 프로그램이다. 유사하게 레지스터(8)의 하나 또는 그 이상의 비트가 링크(82)를 통하여 논리회로(28)로 송부되며, 논리회로(28)는 레지스터(8)의 비트 또는 비트들의 함수로서 난수 발생기(2)에 내부 클럭신호(11)의 전송을 유효화 시키거나 또는 유효화시키지 않도록 한다.
이러한 난수 발생기는 그 후 링크(26)와 논리회로(28)를 통하여 그것의 신호를 수신함에 의해 외부클럭(CLKE)에 따라 실행될 수 있다. 이러한 후자의 경우에 발생된 값은 의사-랜덤 값으로 된다. 난수 발생기(2)는 레지스터(8)의 비트 또는 비트들에 의해 회로(28)를 통하여 유효화되는 내부클럭(11)을 사용하여 동작할 수 있고, 이 경우에 발생된 값은 임의값이 된다. 난수 발생기(2)의 출력(22)에서 발생되어 교정회로(9)에 수신된 신호(I)는 펄스신호에 대응하며, 그것의 주기는 랜덤하게 또는 의사-랜덤 방식으로 가변한다. 주기가 의사-랜덤 방식으로 가변한다는 사실은 하기와 같이 교정회로(9)가 상이한 주파수와, 외부 클럭신호(CLKE)에 상대적으로 그 결과 이러한 외부클럭신호에 동기된 의사-랜덤 클럭신호에 상대적으로 위상 이동을 통하여 비상관을 그 자체로 재도입하는 내부 클럭신호(FRC)를 도입하기 때문에 거의 관련이 없다.
또한 이 장치는 난수 발생기(2)에 의한 임의값 또는 메인 프로그램에 의한 프로그램에 의해 결정되는 값으로 로딩되는 레지스터(R2)를 포함한다. 이 레지스터(R2)는 인터럽트를 트리거시키기 위한 논리회로(4)에 의해 전체적으로 또는 부분적으로 사용되며, 이 논리회로(4)는 그것의 일입력에 교정회로(9)의 출력(95)으로부터 발생한 비상관 클럭신호(CLK2)를 수신한다. 논리회로(4)의 출력은 레지스터(8)의 비트 또는 비트들에 의해 제어되는 게이트(48)를 통하여 CPU의 인터럽트 입력(12)에 보내진다. 이러한 레지스터(8)의 비트 또는 비트들은 어떤 마이크로프로세서의 표준이라고 할 수 있는 인터럽트 마스크 제어 역할을 한다. 인터럽트가 프로세서의 인터럽트 입력(12)에 수신될 때 예를 들어, 오퍼레이팅 시스템 또는 2차 프로그램에 포함된 인터럽트 처리 프로그램은 메인 프로그램의 인터럽트 된 시퀀스에 대하여 상이한 처리시간을 도입한다. 이는 인터럽트 모드의 동작에 2개의 위상이 존재한다는 것으로 이해되어야 한다.
제 1 위상일 때 소위 메인 프로그램에 의해 제어되는 마이크로프로세서는 예를 들어 인터럽트를 차단하지 않음에 비해 비상관 동작을 승인한다.
제 2 위상일 때 인터럽트는 2차 프로그램에 대한 동작을 자동적으로 재루팅한다. 이러한 동작은 메인 프로그램의 중재 없이 실제로 발생할 수 있다.
마지막으로 본 발명의 장치는 또한 다음에 알 수 있는 바와 같이 2차 프로그램(6)이 메인 프로그램(5)에 의해 호출될 때마다 변하는 가변지속 시간을 발생할 수 있는 2차 프로그램(6)을 포함한다. 따라서, 도 1에 도시된 실시예의 변형예는 메인 프로그램(5)이 비상관 클럭(CLK2)의 도움으로 하나 또는 그 이상의 명령의 실행 시퀀스를 트리거함에 의해, 또는 인터럽트 시퀀스의 실행동안 랜덤하게 트리거되는 인터럽트 핸들러를 도입 또는 도입하지 않을 것인지를 결정함에 의해, 또는 시퀀스의 실행동안 가변시간으로 처리를 또한 발생하는 2차 프로그램(6)에 대한 점프를 도입 또는 도입하지 않을 것인지를 결정함에 의해, 또는 이러한 각종 가능성을 조합함에 의해 원하는 보호의 정도를 변경할 수 있게 한다.
따라서 본 발명의 변형예에서 이러한 2차 프로그램(6)은 랜덤하게 호출되는 다수의 시퀀스(61,62,63,...,6n)에 의해 도 8에 도시된 바와 같이 구성될 수 있으며; 각 시퀀스(0,1,2 또는 2n-1)는 각 브랜치에 가변 처리시간과 마이크로프로세서의 상이한 행동을 야기하는 상이한 세트의 명령을 구현한다. 이 시퀀스는 랜덤하게 호출될 수 있다; 예를 들어, 메인 프로그램이 2차 프로그램에 대한 접프를 실행한 후에 후자가 단계(64,65)에서 메모리(7)로부터 발생한 임의값(V)을 마이크로프로세서(1)의 레지스터 예를 들어 R10과 R11로 로딩시킨다. 2차 프로그램은 이 값(V)을 증분시켜, 그 후 프로그램은 단계(66)에서 비휘발성 메모리(NVM;7)로 이 증분된 값(V+1)의 기억을 명령한다. 비휘발성 메모리(7)에 기억된 이 값은 후에 사용된다. 그 후 단계(67)에서 2차 프로그램은 2차 프로그램 시퀀스(61,62,63,...,6n) 중에서 어떤 프로그램 시퀀스가 실행되어야 하는지를 지시할 수 있게 하는 값(r)을 얻도록 R10에서 n 고차 또는 저차 비트를 추출한다.
각 2차 프로그램 시퀀스는 상이한 프로세서를 생성한다: 예를 들어, 시퀀스(10)는 먼저 마이크로프로세서의 레지스터(R11)의 내용을 레지스터(R12)로 이송하는 단계(611)로 이루어진다. 단계(612)에서 R12의 내용은 캐리값(CARRY)에 가산된 후 그 후 단계(613)에서 익스클루시브 OR가 레지스터(R11)의 내용과 레지스터(R12)의 내용 사이에서 실행되며, 그 결과는 레지스터(R12)로 이송된다. 단계(614)에서 프로세서는 R12를 감분하고; 단계(615)에서 R12가 제로인지 여부를 판단하기 위하여 R12의 값에 대한 테스트가 이루어진다. R12=0인 경우 프로세서는 메인 프로그램의 실행으로 리턴한다. 반대의 경우는 단계(616)에서 2차 프로그램(61)은 레지스터(R10)의 내용이 회전을 실행한다.
다음 단계는 레지스터(R10)로부터 결정된 순서의 n비트를 추출하여 그 후 2차 프로그램에서 값(r)에 의해 결정되는 시퀀스 중의 하나를 억세스한다. 따라서, 예를 들어, 단계(6n1)에서 R10과 R11의 값의 승산결과를 R13과 R14로 이송하는 시퀀스(2n-1)를 억세스 하는 것이 가능하다. 단계(6n2)에서, 이 시퀀스는 R13과 R14의 회전을 실행하여, 그 후 단계(6n3)에서 R13의 내용을 R11로 이송한다. 단계(6n4)에서 R11은 감분되어 그 후 단계(6n5)에서 값(R11)에 대한 테스트를 수행한다. 이 테스트는 R11=3인지를 판단한다. 만약 R11=3인 경우는 프로세스는 메인 프로그램으로 리턴하고, 만약 R11=3이 아닌 경우 프로그램은 단계(6n6)로 진행하여 R10을 좌로 회전시키고 그 후 명령(67)을 실행하여 새로운 2차 프로그램 시퀀스를 억세스한다.
2차 프로그램이 비상관 클럭 또는 인터럽트 핸들러와 결합하게 되는 경우, 이러한 타입의 결합으로 하나의 2차 프로그램 그 자체로 제한하여 따라서 좀더 간단한 처리를 하는 것이 가능하다. 이러한 타입의 단순화된 2차 프로그램은 다음 명령에 의해 구성될 수 있다.
MOV B, R2 ; 레지스터(R2)를 마이크로프로세서 레지스터(B)로 로딩
LOOP DCX B ; 레지스터(B)를 값(A)으로 감분
JNZ B LOOP ; 레지스터(B)의 값에 대한 테스트를 수행하여 이 값이 제로와 다른 경우 라벨(LOOP)로 루프백.
이 시퀀스는 메인 프로그램의 명령으로 리턴시키는 명령으로 종료하며 바로 이를 뒤따라 마지막 명령이 2차 프로그램(6)으로 점프하기 전에 실행된다. 레지스터(R2)는 난수 발생기(2)에 의해 임의값이 공급된 상태에서 2차 프로그램(6)으로 점프하기 전에 메인 프로그램(5)의 명령으로 프리 로딩한다. 따라서, 위에서 정의된 2차 프로그램의 실행은 항상 가변 지속기간을 발생한다.
가변 지속시간의 2차 프로그램의 다른 실시예는 한세트의 명령이 기억되는 2차 프로그램(6)에 대응하는 프로그램 기억의 영역을 정의하는 것으로 이루어진다. 바람직하게는 선택된 명령은 상이한 갯수의 머신 사이클을 요구하며 예를 들어, ADC, SUB, ANA, MOV 등과 같은 많은 더 짧은 머신 사이클을 필요로 하는 명령과 관련하여 명령 J, CALL, RET, RST, PCHL, INX에 따라 실행이 이루어진다. 따라서, 이러한 기억영역에서 머신 사이클의 숫자에 대하여 서로 상이한 실행 지속시간을 갖는 어떤 수의 유용한 명령이 존재한다.
메인 프로그램(6)은 그것의 인덱스가 레지스터(R2)의 내용에 대응하여, 그것의 어드레스는 영역(6)의 제 1 어드레스에 대응하는 인덱스 어드레스로 점프하는 명령으로 구성되어 있다. 메인 프로그램(5)의 이러한 명령의 실행은 그것의 실행 지속시간이 어드레스된 위치에 따라 다르게 되는 프로세서(1)에 의한 랜덤방식으로 명령의 어드레싱이 이루어진다. 주지된 방법으로, 난수 발생기(2)는 시동시에 변수로 초기화된다. 이러한 초기 변수는 비휘발성 메모리(7)에 포함되어 있고 예를 들어 마이크로프로세서(1)의 정지전에 발생기(2)에 의해 발생된 마지막 임의값에 의해 구성된다. 따라서, 그것이 실행할 프로그램에 의해 제어되는 마이크로프로세서는 이 프로그램을 사용하여 예를 들어, 레지스터(R2 또는 8)를 로딩하거나 또는 2차 프로그램을 호출함에 의해 이 프로그램의 명령 실행 시퀀싱을 비상관화시키는 수단을 활성화시킬 수 있게 된다.
도 2는 본 발명의 단순화된 실시예의 다른 변형예를 나타내며, 여기서 레지스터(8)의 내용은 외부클럭(CLKE)이 프로세서(1)로 송부되는지 또는 단순히 비상관화된 클럭(CLK)이 CPU(1)에 의해 사용되는지를 결정하도록 멀티플렉서(18)를 명령한다. 이 레지스터(8)는 메인 프로그램(5)의 명령의 실행시에 버스(30)에 의해 로딩되며, 상기 메인 프로그램(5)은 가변 지속기간의 명령 실행 시퀀스를 발생함에 의해 주어진 순간에 보호된 모드를 트리거하는 것을 결정하도록 설계되어 있다. 난수 발생기(2)는 버스(31)를 통하여 비휘발성 메모리(7)와 통신을 하며, 메모리는 예를 들어, 발생된 마지막 값을 기억하여 단일칩 회로를 새로 접속할 때 난수 발생기가 이전의 초기값과 다른 값으로 재초기화 되도록 한다. 이 버스(31)는 프로세서(1)에 의해 제어될 수도 있다. 다른 변형예에서 메모리(7)에 대한 기입은 고정배선 논리장치에 의해 제어될 수 있다.
다른 실시예에서, 도 4A에 도시된 바와 같이 클럭회로의 출력에 가변 위상 이동회로(45)를 도입하는 것도 가능하다. 위상 이동회로는 예를 들어, 회로(11)로부터 발생되는 신호(FRC) 또는 회로(9)의 출력(95)에 의해 공급되는 재교정된 FRC에 따라 동작되는 시프트 레지스터(D1-D5)에 의해 구성되며, 출력(22)에 의해 공급되는 신호(I)를 위상 이동시키며, 이는 제산기(452)에서 슬로우다운 요소에 의해 분할된다. 위상 이동회로(45)의 출력은 멀티플렉서(451)(MUX)의 도움으로 생성될 수 있으며, 이는 버스(3)를 통하여 난수 발생기(2)에 의해 직접 또는 메인 프로그램(5)에 의한 간접, 또는 2차 프로그램(6)에 의해 로딩되는 레지스터(RM)의 내용이 함수로서 시프트 레지스터로부터 임의의 출력신호(Q1,Q2,...,Q5)를 추출할 수 있게 한다. 이 경우 출력으로서 전달되는 클럭 리딩 에지(S)는 난수에 따른 값에 의해 시프트 레지스터의 중앙 레벨로 공급되는 중간 펄스에 상대적으로 지연되거나 또는 빠르게 되게 하여 따라서 진행중에 프로그램의 명령 실행 시퀀싱을 비례적으로 지연하거나 또는 빠르게 할 수 있다.
다른 실시예에서, 난수 발생기와 위상 이동회로는 어떤 특정 감지기간 동안 계속적으로 사용될 수 있고; 이들 위상동안 프로세서는 클럭펄스를 분리하는 시간 인터벌이 가변이고 표준 프로세서의 경우와 같이 일정하지 않기 때문에 완전하게 랜덤방식으로 작동된다.
프로세서에 의해 실행되는 프로그램의 조직은 프로세서(1)의 동작이 머신에 의해 실행되는 프로그램 타입의 함수로서 사용될 스크램블링의 종류를 선택하는 진정으로 보호되는 오퍼레이팅 시스템에 의해 제어되는 방식으로 실현될 수 있다. 이 경우에 오퍼레이팅 시스템은 난수 발생기, 교정기로부터 발생하는 각종 신호, 위상 이동회로의 인터럽트 또는 명령, 및 메인과 2차 프로그램의 기동을 관리한다. 2차 프로그램은 특히 메인 프로그램에 필요한 프로세스를 실행함에 의해 단순한 타임아웃 이외의 기능을 수행하도록 사용될 수 있으며, 2차 프로그램에 제공된 시간을 이용하여, 예를 들어 메인 프로그램에 의해 순차적으로 사용된 계산준비에 의해 프로세스가 구성될 수 있다. 본 발명의 장치는 프로세서가 멀티프로그래밍에 사용될 때 쉽게 일반화될 수 있으며, 이 경우에 애플리케이션 프로그램은 다수의 메인 프로그램인 것으로 고려된다는 점을 이해해야 한다. 상기한 난수 발생기와 클럭 위상 이동회로는 임의의 특별한 제조 문제를 제기하지 않으며 본 발명과 관련되지 않은 다른 사용을 위해 별도로 분리된 때 당업자에게 알려져 있다.
또한 인터럽트를 사용하지 않는 본 발명의 제 5 단순화된 실시예를 제공하는 것도 가능하다. 메인 프로그램이 보호될 필요가 있을 때 그것은 독립적으로 2차 프로그램을 활성화시키며, 이는 각종 시퀀스를 스크램블하도록 기동 또는 실행동안 그것이 선택한 순간에 임의 길이의 프로세스를 발생한다.
본 발명의 실시예에 의한 각종 회로를 다른 도면을 참조하여 설명한다. 이에 의해, 도 7A 및 7B에 보인 난수 발생기는 예컨대, 1조의 셀(B0~B7)로 구성되고 이 셀의 각각은 D형 스위치(24)에 연결된 두 입력을 갖는 배타적 OR게이트(23)으로 형성되며, 이 때 상기 스위치의 출력(Q)은 다음 셀의 배타적 OR게이트의 두 입력중 하나에 접속된다. 상기 배타적 OR게이트의 제 2 입력은, 셀(B0) 및 (B3)에 대한, 예컨대 마지막 셀(B7)로 부터 발해지는 루프백(loop-back) 신호(25) 또는 초기 로딩을 허용하기 위해 버스(3)로부터 발해지는 데이타의 입력신호를 수신한다. 상기 마지막 셀(B7)의 출력(22)은 또한, 주기적으로 랜덤하게 가변되는 펄스신호(I)를 방출하는 출력을 구성한다. 이 신호(I)S는 도 3A에 보인 교정회로(9)에 사용되며 도 3B는 도 3A에 보인 교정회로(9)의 입출력 신호의 순서를 나타낸다. 상기 교정회로는 3개의 입력을 갖는 두개의 NAND게이트(90,91)로 형성되며, 이들의 각각은 난수 발생기(2)의 출력(22)으로부터 발해지는 신호(I)를 하나의 입력에서 수신한다. 제 1 NAND게이트(91)는 JK형의 토글의 출력(Q2)을 수신하고, 타방의 게이트(90)는 상기 토글(93)의 반전출력(NQ2)을 수신한다. 상기 토글(93)은 그의 클력 입력에서 회로의 내부 클럭을 구성하는 클럭신호 FRC를 수신한다. 이 내부 클럭은 예컨대, 도 6에 보인 회로에 의해 발생된다. 상기 토글(93)의 입력 J, K는 논리레벨 1을 나타내는 전원전압에 연결된다. 상기 내부 클럭신호 FRC는 NAND게이트(90,91)의 3입력의 각각에 반전회로(92)에 의해 보내진다. 상기 제 1 NAND게이트(90)의 출력은 제 2 논리 토글(94)을 1로 세트하기 위해 상기 입력에 연결되고, 상기 제 2 NAND게이트(90)의 출력은 제 2 토글(94)을 제로로 리셋하기 위해 상기 입력에 연결된다. 상기 제 2 토글(94)의 클럭입력 및 입력(J)은 레벨(1)을 나타내는 전원전압에 연결되고 상기 입력(K)는 레벨 제로를 나타내는 전원전압에 연결된다. 상기 제 2 토글(94)의 출력(Q1)은 링크(95)에 의해 공급된 신호 CLK2를 멀티플렉서(18)로 보낸다. 상기 내부 클럭 FRC는 링크(111)를 통해, 도 6에 보인 회로에 의해 정의되는 최소 펄스폭 Tm을 갖는 주기적 펄스 신호를 발한다. 이 회로(11)는 예컨대, 50나노초의 펄스를 출력 FRC를 얻을 수 있도록, 예컨대 10나노초 동안 확정 전파 시간을 각각 갖는 이 경우에는 5개인 직렬 인버터(111~115)로 구성된다. 상기 출력 FRC는 상기 링크(116)을 통해 제 1 인버터(111)로 귀환되며, 상기 제 1 인버터(111)의 입력도 5V의 전원전압에 의해 레지스터(117)를 통해 공급된다. 선택된 펄스폭은 50나노초이나, 인버터 게이트의 수의 변화는 값 Tm을 변화시킨다. 상기 값 Tm은, 랜덤하게 가변적인 주기의 펄스신호로부터, 그의 가변적 펄스폭이 최소치 Tm을 갖고 그의 주기도 가변적이며 외부 클럭 CLKE에 대해 비동기화되는 펄스신호 CLK2를 발생하기 위해 도 3A에 보인 논리회로(9)에 의해 도 3B에 보인 바와 같이 사용된다. 실제로, 내부 클럭은 집적회로가 통전되는 대로 기능하도록 개시되기 때문에, 상기 클럭의 초기 주기와 외부 클럭의 주기가 다를 경우, 스타트시에 클럭을 동기화시킬 기회가 없게 된다. 상기 교정기(9)로 부터의 신호는 프로세서가 내부 사이클을 실행하기에 필요한 최소 시간 Tm의 적어도 2배의 주기를 갖는다. 신호 CLK의 모든 리딩 에지는 적어도 상기 값 Tm에 의해 분리되나, 그들의 위치 및 정확한 존속기간은 랜덤하게 된다.
상기와 같은 본 발명의 변형예에 의하면, 이 변형에 의해, 메인 프로그램의 실행이, 난수 발생기와, 랜덤 클럭과, 2차 프로그램과, 랜덤 인터럽트, 또는 이들 중 적어도 2개의 조합에 따른 예측 불가능한 순서로 발생되는 것을 알 수 있다. 주 프로그램이 보안의 관점으로부터 민감하지 않은 기능을 실행할 때, 처리 시간을 최적화하기 위해 예컨대, 분리 인터럽트를 마스크하거나 또는 외부 세계로 데이타를 방출하기 위해 외부 클럭 CLKE로 되돌아갈 수 있다. 보안 기능이 실행되는 대로, 메인 프로그램(5)은, 특히 이 메인 프로그램에 관한 클럭을 비동기화하거나 또는 2차 프로그램을 호출함으로써, 각종 동작신호를 스크램블하기 위해 랜덤 클럭 또는 분리 인터럽트(또는 양자 모두)를 확정하여 임의 모드의 동작을 허가한다.
난수 발생기(2)에 있어서는, 예컨대, 상이한 주기를 갖는 루프 카운터를 사용할 수 있으며, 상기 카운터는 비휘발성 메모리(7)에 기억된 씨(seed)(정보)에 의해 초기화된다. 프로세서가 시동되면, 카운터 계수는 기억된 값을 초기치로 된다. 계산시, 또는 계산의 말기에 있어서, 비휘발성 메모리(7)은 새로운 값으로 갱신되며 이 값은 카운터의 다음의 초기화를 위한 씨(seed)로 작용한다. 인터럽트 발생 회로(4)는, 상기 인터럽트 펄스의 발생이 예컨대, 발생된 수가 소정 특성을 가질 때 프로그램의 소정 데이타와의 동일성 등을 발생하도록 설계될 수 있다. 상기 회로(4)는 또한, 하나 이상의 카운터의 하나 이상의 비트의 값을 취할 수도 있다. 또한, 전술한 씨(seed)(정보)에 의해 초기화되는 해쉬 기능 또는 도 5에 보인 바와 같이 암호화 알고리즘(69)을 사용하는 매우 양호한 난수 발생기를 제조하는 것도 가능하다. 이 경우, 상기 발생기는 프로세서(1)에 의해 실행되는 알고리즘 및 예컨대, 버퍼 레지스터(41)에 기억된 출력을 발생하기 위한 키 및 비휘발성 메모리(7)에 기억된 변수를 수취함으로써 상기 알고리즘을 실행하는 프로그램의 형태로 될 수 있다. 다음, 상기 버퍼 레지스터(41)에 기억된 출력은 프로세서(1)를 인터럽트시키기 위한 신호 또는 분리 클럭 신호 CLK2를 발생하기 위한 하드웨어 및 소프트웨어 디코딩 장치(42)에 의해 처리된다. 이 난수 발생기는 상기 각종 난수를 발생하기 위해 사용될 수 있음을 쉽게 알 수 있을 것이다. 이 형태의 발생기를 제조하기 위한 다른 방법은 소위 노이즈 다이오드의 단자에서 발생되는 전압을 증폭하고 또한 지나치게 빠른 노이즈 펄스가 동작을 방해하지 않도록 하기 위해 로패스 필터링 후 신호를 정형하는 것이다.
클럭 위상 시프트 회로에 있어서는, 전술한 것 이외의 다른 가능한 것이 있다. 예컨대, 상기 프로세서보다 10배 빠른 클럭에 의해 구동되는 시프트 레지스터가 있다. 이 레지스터는 10개의 토글을 구비하는 것으로 생각되며, 서로 다른 위상을 갖는 10개의 펄스로 행해지고, 이들은 10개의 입력과 1개의 출력을 갖는 멀티플렉서의 도움으로 프로세서에 의해 선택될 수 있다. 상기 멀티플렉서의 출력은 프로세서의 내부 클럭신호를 제공하기 위해 사용된다.
다른 실시형태는, 카운터의 상이한 레벨에서 펄스들을 추출하고, 상기한 난수발생기와 동일한 형태의 회로를 사용하는 것이다. 이 경우, 프로세서는 실제로 임의의 시간에 디스패치되는 펄스에 의해 타이밍이 맞추어진다.
다른 실시형태는, 상기 난수 발생기로부터의 신호를 사용하여 시프트 레지스터로부터 펄스를 추출하는 것이다. 이들 장치들을 구현하기 위해서는 많은 조합들이 가능하나, 본 발명의 원리들은 여전히 유효하다.
도 1에 보인 실시예의 변형예는 가장 완벽하고, 가장 명백하며, 마이크로프로세서 또는 마이크로컴퓨터 형태의 모놀리식 회로가 단지 하나 또는 수개의 또는 임의로 조합된 소자들을 사용할 수 있다.
따라서, 한 변형예에 의하면, 상기 모놀리식 회로는, 마이크로프로세서, 난수 발생기, 내부 클럭(FRC), 및 비상관 클럭을 형성하는 교정회로를 채용할 수 있다.
다른 변형예에 있어서, 상기 모놀리식 회로는, 마이크로프로세서, 난수 발생기, 내부 클럭(FRC), 및 인터럽트 발생회로를 채용할 수 있다.
다른 변형예에 있어서, 상기 모놀리식 회로는, 마이크로프로세서, 2차 프로그램과 비상관 및 교정 클럭 회로를 채용할 수 있다.
다른 변형예에 있어서, 상기 모놀리식 회로는, 마이크로프로세서, 분리 및 교정 클럭 회로, 및 인터럽트 회로를 채용할 수 있다.
상기 모놀리식 회로의 다른 변형예에 있어서, 마이크로프로세서는 마이크로컴퓨터로 대체될 수 있다.
상기 모놀리식 집적회로의 다른 변형예에 있어서, 마이크로프로세서는 특정 응용의 한정된 다수의 명령을 실행할 수 있도록 조합된 논리 소자로 대체될 수 있다. 이와 같은 경우, 집적회로에는 동일한 보안 장치들이 적용될 수 있다.
당업자들은 상기 본 발명의 정신과 범위내에서 여러가지로 변형하여 실시할 수 있을 것이며, 이들로 모두 본 발명의 범위내에 있음을 유의해야 할 것이다.
Claims (24)
- 집적회로의 내외 전기신호로부터 프로그램의 적어도 하나의 명령 시퀀스의 실행을 비상관적으로 분리(decorrelating)하기 위한 수단을 갖는 것을 특징으로 하는 개선된 집적회로.
- 제1항에 있어서,마이크로프로세서 또는 마이크로컴퓨터의 전기 신호가 타이밍, 동기화 또는 상태 신호인 것을 특징으로 하는 집적회로.
- 제1항에 있어서,상기 분리 수단(decorrelation means)은 임의의 시간에 공급되는 클록 또는 타이밍 펄스의 시퀀스를 발생하는 하나 이상의 회로를 구비하는 것을 특징으로 하는 집적회로.
- 제1항에 있어서,상기 분리 수단은 프로세서에 있어서 프로그램 시퀀스의 실행을 비동기화할 수 있도록 하는 난수 발생기(random number generaror)를 구비하는 것을 특징으로 하는 집적회로.
- 제4항에 있어서,상기 분리 수단은 너무 짧은 타이밍 펄스를 제거할 수 있는 클럭 교정 회로를 구비하는 것을 특징으로 하는 개선된 집적회로.
- 제1항에 있어서,상기 분리 수단은 랜덤 인터럽트 발생 시스템을 구비하는 것을 특징으로 하는 집적회로.
- 제1항에 있어서,상기 분리 수단은 명령과 실행 시간이 상이하고 랜덤하게 선택되는 제 2 시퀀스의 실행을 포함하는 것을 특징으로 하는 집적회로.
- 제7항에 있어서,상기 제 2 프로세스의 가변 시간이 난수 발생기에 의해 공급되는 값에 의존하는 것을 특징으로 하는 집적회로.
- 제7항에 있어서,상기 제 2 프로세스는 메인 프로그램의 전체적인 연산 문맥을 변경시키지 않으며, 이에 따라 상기 문맥을 재설정하지 않고 메인 프로그램으로 리턴시킬 수 있도록 하는 것을 특징으로 하는 집적회로.
- 제7항에 있어서,상기 제 2 프로세스는 프로세서의 제어를 리턴하기 전에 메인 프로그램의 문맥을 재설정하는 것을 특징으로 하는 집적회로.
- 제1항에 있어서,상기 메인 프로그램은 하나 이상의 분리 수단을 인에이블 또는 디스에이블 시킬 수 있는 것을 특징으로 하는 집적회로.
- 제1항에 있어서,상기 프로세스의 타이밍, 동기화 또는 상태신호를 위상 시프트시키기 위한 수단을 갖는 것을 특징으로 하는 집적회로.
- 제12항에 있어서,상기 위상 시프트 수단은 상기 프로세스의 타이밍, 동기화 또는 상태신호의 랜덤한 위상 시프트를 발생하는 것을 특징으로 하는 집적회로.
- 제13항에 있어서,상기 랜덤 위상 시프트 수단은 프로그램의 실행시 외부 클럭으로 부터의 프로세서의 동작을 부분적으로 또는 전체적으로 비동기화하는 것을 특징으로 하는 집적회로.
- 제4항에 있어서,상기 난수 발생기는 루프화되거나 루프화되지 않을 수 있고, 또한 임의의 치로 초기화되는 카운터를 사용하는 것을 특징으로 하는 집적회로.
- 제15항에 있어서,상기 초기화 치는 비휘발성 메모리로부터 인가되는 것을 특징으로 하는 집적회로.
- 제16항에 있어서,상기 초기화 치는 프로그램의 실행시 변경되는 것을 특징으로 하는 집적회로.
- 제15항에 있어서,상기 난수 발생기는 초기화 치로 초기화되는 해시(hash) 함수 또는 암호화 형태의 알고리즘을 사용하는 것을 특징으로 하는 집적회로.
- 제1항에 있어서,상기 시간들에 있어서의 동작 계수의 시퀀스는 각종 레지스터, 메모리 및 내부 소자를 액세스하기 위해 필요한 시간의 요소임은 물론, 특히 버스 및 각종 논리 회로를 통한 신호 전파 시간의 요소인 것을 특징으로 하는 집적회로.
- 상기 집적회로의 내외 전기신호로부터 프로그램의 적어도 하나의 명령 시퀀스의 실행을 비상관적으로 분리하는 수단을 갖는 집적회로를 사용하기 위한 방법에 있어서,랜덤 펄스 클럭의 도움으로 하나 이상의 명령 또는 연산의 시퀀스를 트리거하는 스텝;인터럽트 시퀀스를 랜덤하게 트리거하는 스텝;주 시퀀스의 명령 또는 연산의 실행시 명령 또는 연산의 랜덤한 시퀀스의 처리를 트리거하는 스텝; 또는상기 스텝들 중 적어도 두개의 스텝을 결합하는 이루어지는 스텝을 포함하는 것을 특징으로 하는 집적회로를 사용하기 위한 방법.
- 적어도 하나의 프로그램에 의해 제어되는 마이크로프로세서 및 상기 프로그램 명령실행시의 시퀀스를 분리하기 위한 수단을 구비하며, 상기 프로그램의 일부가 상기 분리 수단의 동작을 허가, 변경 또는 디스에이블 할 수 있는 것을 특징으로 하는 집적회로.
- 제21항에 있어서,상기 분리 수단은, 제 2 시퀀스의 실행을 트리거하기 위한 수단 또는 랜덤하게 인터럽트를 발생하기 위한 수단과 결합되고, 임의의 시간에 공급되는 일련의 클럭펄스, 또는 타이밍 신호를 발생하기 위한 수단을 구비하는 것을 특징으로 하는 집적회로.
- 명령을 실행하기 위한 수단 또는 마이크로프로세서를 구비하는 집적회로로서, 상기 명령을 실행하기 위한 수단 또는 마이크로프로세서의 타이밍을 위해 클럭을 선택하기 위한 수단을 구비하고, 상기 선택 수단은 집적회로 외부의 클럭 CLKE 또는 임의의 클럭 CLK2 또는 F중 어느 일방을 선택할 수 있도록 하는 것을 특징으로 하는 집적회로.
- 제23항에 있어서,상기 임의의 클럭은 내부 클럭(FRC) 또는 외부 클럭(CLKE)이 인가되는 난수 발생기로부터 발생되는 것을 특징으로 하는 집적회로.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR96-02903 | 1996-03-07 | ||
FR9602903A FR2745924B1 (fr) | 1996-03-07 | 1996-03-07 | Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990008381A true KR19990008381A (ko) | 1999-01-25 |
KR100463814B1 KR100463814B1 (ko) | 2005-05-27 |
Family
ID=9489969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970707908A KR100463814B1 (ko) | 1996-03-07 | 1997-03-07 | 개선된집적회로및그의사용방법 |
Country Status (15)
Country | Link |
---|---|
US (1) | US5944833A (ko) |
EP (1) | EP0826169B1 (ko) |
JP (2) | JP3713515B2 (ko) |
KR (1) | KR100463814B1 (ko) |
CN (1) | CN1236370C (ko) |
AR (1) | AR006138A1 (ko) |
AU (1) | AU725888B2 (ko) |
BR (1) | BR9702118A (ko) |
CA (1) | CA2221880C (ko) |
DE (1) | DE69717028T2 (ko) |
FR (1) | FR2745924B1 (ko) |
HK (1) | HK1009684A1 (ko) |
NO (1) | NO317448B1 (ko) |
TW (1) | TW491978B (ko) |
WO (1) | WO1997033217A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150142623A (ko) * | 2014-06-12 | 2015-12-22 | 나그라비젼 에스에이 | 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템 |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2557399A (en) | 1998-01-02 | 1999-07-26 | Cryptography Research, Inc. | Leak-resistant cryptographic method and apparatus |
US7587044B2 (en) | 1998-01-02 | 2009-09-08 | Cryptography Research, Inc. | Differential power analysis method and apparatus |
TW380344B (en) * | 1998-02-04 | 2000-01-21 | Admtek Co | Multiple output single crystal device for not generating simultaneous switch output |
ES2660057T3 (es) * | 1998-05-18 | 2018-03-20 | Giesecke + Devrient Mobile Security Gmbh | Soporte de almacenamiento de datos de acceso protegido |
EP1090480B1 (en) | 1998-06-03 | 2019-01-09 | Cryptography Research, Inc. | Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems |
EP1926241A3 (en) * | 1998-06-03 | 2009-03-11 | Cryptography Research Inc. | Using unpredictable information to minimize leakage from smartcards and other cryptosystems |
EP1084543B1 (en) | 1998-06-03 | 2008-01-23 | Cryptography Research Inc. | Using unpredictable informaion to minimize leakage from smartcards and other cryptosystems |
AU5458199A (en) | 1998-07-02 | 2000-01-24 | Cryptography Research, Inc. | Leak-resistant cryptographic indexed key update |
DE19834076A1 (de) * | 1998-07-29 | 2000-02-10 | Philips Corp Intellectual Pty | Anordnung zur elektronischen Verarbeitung von Datensignalen |
KR100672097B1 (ko) | 1998-07-31 | 2007-01-19 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 데이터 처리 장치 및 데이터 처리 장치용 회로 |
US6046616A (en) * | 1998-08-07 | 2000-04-04 | Tritech Microelectronics, Ltd. | Two dimensional random pulse generator |
DE19837808A1 (de) * | 1998-08-20 | 2000-02-24 | Orga Kartensysteme Gmbh | Verfahren zur Ausführung eines Verschlüsselungsprogramms zur Verschlüsselung von Daten in einem mikroprozessorgestützten, tragbaren Datenträger |
DE59912804D1 (de) * | 1998-09-30 | 2005-12-22 | Philips Intellectual Property | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse |
FR2784763B1 (fr) * | 1998-10-16 | 2001-10-19 | Gemplus Card Int | Composant electronique et procede pour masquer l'execution d'instructions ou la manipulation de donnees |
US6408075B1 (en) | 1998-11-30 | 2002-06-18 | Hitachi, Ltd. | Information processing equipment and IC card |
JP2000165375A (ja) * | 1998-11-30 | 2000-06-16 | Hitachi Ltd | 情報処理装置、icカード |
JP4317607B2 (ja) | 1998-12-14 | 2009-08-19 | 株式会社日立製作所 | 情報処理装置、耐タンパ処理装置 |
FR2787900B1 (fr) * | 1998-12-28 | 2001-02-09 | Bull Cp8 | Circuit integre intelligent |
IL128007A (en) * | 1999-01-11 | 2003-02-12 | Milsys Ltd | Enhancements on compact logic devices and also for accelerating and securing computations in modular arithmetic especially for use in public key cryptographic co-processors designed for elliptic curve and rsa type computations |
FR2790347B1 (fr) * | 1999-02-25 | 2001-10-05 | St Microelectronics Sa | Procede de securisation d'un enchainement d'operations realisees par un circuit electronique dans le cadre de l'execution d'un algorithme |
DE19911673A1 (de) * | 1999-03-09 | 2000-09-14 | Deutsche Telekom Ag | Verfahren und Anordnung für den Schutz der Daten auf einer Smartcard |
JP3827050B2 (ja) * | 1999-03-09 | 2006-09-27 | 株式会社ルネサステクノロジ | Icカードと半導体集積回路装置 |
FR2793571B1 (fr) * | 1999-05-11 | 2003-10-31 | Gemplus Card Int | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete et dynamique |
FR2793904B1 (fr) * | 1999-05-21 | 2001-07-27 | St Microelectronics Sa | Procede et dispositif de gestion d'un circuit electronique |
JP2001094550A (ja) * | 1999-09-17 | 2001-04-06 | Toshiba Corp | 信号処理装置 |
UA72944C2 (uk) * | 1999-12-02 | 2005-05-16 | Інфінеон Текнолоджіз Аг | Мікропроцесорний пристрій з кодуванням |
FR2802669B1 (fr) * | 1999-12-15 | 2002-02-08 | St Microelectronics Sa | Procede non deterministe de transfert securise de donnees |
DE10000503A1 (de) * | 2000-01-08 | 2001-07-12 | Philips Corp Intellectual Pty | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb |
EP2352120B1 (en) * | 2000-01-13 | 2016-03-30 | Digimarc Corporation | Network-based access to auxiliary data based on steganographic information |
ATE249664T1 (de) * | 2000-01-18 | 2003-09-15 | Infineon Technologies Ag | Mikroprozessoranordnung mit verschlüsselung |
FR2807591B1 (fr) * | 2000-04-06 | 2003-08-08 | Gemplus Card Int | Procede de contre-mesure pour un micro-controleur base sur une architecture avec "pipeline" |
FR2808360B1 (fr) * | 2000-04-28 | 2002-06-28 | Gemplus Card Int | Procede de contre mesure dans un microcircuit mettant en oeuvre le procede et carte a puce comportant ledit microcircuit |
DE50010164D1 (de) * | 2000-05-22 | 2005-06-02 | Infineon Technologies Ag | Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren |
FR2818772A1 (fr) * | 2000-12-21 | 2002-06-28 | Bull Cp8 | Procede de securisation d'un operateur logique ou mathematique implante dans un module electronique a microprocesseur, ainsi que le module electronique et le systeme embarque associes |
FR2818766A1 (fr) * | 2000-12-21 | 2002-06-28 | Bull Cp8 | Procede de securisation de l'execution d'un programme implante dans un module electronique a microprocesseur, ainsi que le module electronique et la carte a microcircuit associes |
US9323955B2 (en) * | 2000-12-21 | 2016-04-26 | Gemalto Sa | Method for protecting a logic or mathematical operator installed in an electronic module with a microprocessor as well as the associated embedded electronic module and the system |
FR2819070B1 (fr) * | 2000-12-28 | 2003-03-21 | St Microelectronics Sa | Procede et dispositif de protection conte le piratage de circuits integres |
DE10101956A1 (de) * | 2001-01-17 | 2002-07-25 | Infineon Technologies Ag | Verfahren zur Erhöhung der Sicherheit einer CPU |
US7197160B2 (en) | 2001-03-05 | 2007-03-27 | Digimarc Corporation | Geographic information systems using digital watermarks |
DE10128573A1 (de) * | 2001-06-13 | 2003-01-02 | Infineon Technologies Ag | Verhindern der unerwünschten externen Erfassung von Operationen in integrierten Digitalschaltungen |
JP4173297B2 (ja) * | 2001-09-13 | 2008-10-29 | 株式会社ルネサステクノロジ | メモリカード |
EP1293856A1 (fr) | 2001-09-18 | 2003-03-19 | EM Microelectronic-Marin SA | Circuit Intégré sécurisé comprenant des parties à caractère confidentiel, et procédé pour sa mise en action |
FR2832824A1 (fr) * | 2001-11-28 | 2003-05-30 | St Microelectronics Sa | Blocage du fonctionnement d'un circuit integre |
EP1486026A1 (en) * | 2002-03-07 | 2004-12-15 | Axalto SA | Method for making safe an electronic cryptography assembly with a secret key |
DE10213142A1 (de) | 2002-03-23 | 2003-10-02 | Clariant Gmbh | Stabile Dispersionskonzentrate |
FR2844896A1 (fr) * | 2002-09-19 | 2004-03-26 | St Microelectronics Sa | Alimentation d'un circuit de traitement asynchrone de donnees |
DE10254657A1 (de) * | 2002-11-22 | 2004-06-03 | Philips Intellectual Property & Standards Gmbh | Mikrocontroller und zugeordnetes Verfahren zum Abarbeiten der Programmierung des Mikrocontrollers |
GB2406684B (en) * | 2002-12-12 | 2005-08-24 | Advanced Risc Mach Ltd | Processing activity masking in a data processing system |
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 |
DE10310781A1 (de) * | 2003-03-12 | 2004-09-30 | Infineon Technologies Ag | Verfahren zum Betreiben eines Mikroprozessors und eine Mikroprozessoranordnung |
US6926768B2 (en) | 2003-04-14 | 2005-08-09 | Sun Chemical Corporation | Treatment of high performance pigments |
US8065532B2 (en) * | 2004-06-08 | 2011-11-22 | Hrl Laboratories, Llc | Cryptographic architecture with random instruction masking to thwart differential power analysis |
US20060002479A1 (en) * | 2004-06-22 | 2006-01-05 | Fernandes Felix C A | Decoder for H.264/AVC video |
US8953908B2 (en) | 2004-06-22 | 2015-02-10 | Digimarc Corporation | Metadata management and generation using perceptual features |
TWI251837B (en) * | 2004-10-13 | 2006-03-21 | Via Tech Inc | Method and related apparatus for adjusting timing of memory signals |
US7702942B2 (en) * | 2005-09-12 | 2010-04-20 | Northern Lights Semiconductor Corp. | Method for generating adjustable MRAM timing signals |
US7372290B2 (en) * | 2005-10-04 | 2008-05-13 | Stmicroelectronics, Inc. | System and method for using dummy cycles to mask operations in a secure microcontroller |
JP2007128184A (ja) * | 2005-11-01 | 2007-05-24 | Sharp Corp | 消費電力解析対策機能付き半導体装置 |
US7647486B2 (en) * | 2006-05-02 | 2010-01-12 | Atmel Corporation | Method and system having instructions with different execution times in different modes, including a selected execution time different from default execution times in a first mode and a random execution time in a second mode |
FR2910658B1 (fr) * | 2006-12-22 | 2009-02-20 | Trusted Logic Sa | Systemes electroniques securises,procedes de securisation et utilisations de tels systemes |
FR2925968B1 (fr) * | 2007-12-26 | 2011-06-03 | Ingenico Sa | Procede de securisation d'un microprocesseur, programme d'ordinateur et dispositif correspondants |
CN102725737B (zh) | 2009-12-04 | 2016-04-20 | 密码研究公司 | 可验证防泄漏的加密和解密 |
US8659954B1 (en) * | 2011-09-14 | 2014-02-25 | Adesto Technologies Corporation | CBRAM/ReRAM with improved program and erase algorithms |
US9141809B2 (en) | 2012-07-23 | 2015-09-22 | Qualcomm Incorporated | Method and apparatus for deterring a timing-based glitch attack during a secure boot process |
JP6323065B2 (ja) * | 2014-02-26 | 2018-05-16 | セイコーエプソン株式会社 | マイクロコンピューター及び電子機器 |
EP3147774A1 (fr) * | 2015-09-25 | 2017-03-29 | Gemalto Sa | Generateur d'horloge aleatoire |
TWI638298B (zh) | 2015-12-31 | 2018-10-11 | 禾瑞亞科技股份有限公司 | 觸控方法、觸控處理系統與電子裝置 |
US10579197B2 (en) | 2015-12-31 | 2020-03-03 | Egalax_Empia Technology Inc. | Touch sensitive processing method |
DE102017114526A1 (de) * | 2017-06-29 | 2019-01-03 | Hanon Systems | Verfahren zur Ansteuerung von Leistungshalbleitern in einem Inverter |
US20190097785A1 (en) * | 2017-09-27 | 2019-03-28 | Silicon Laboratories Inc. | Apparatus for Clock-Frequency Variation in Electronic Circuitry and Associated Methods |
CN109245883A (zh) * | 2018-09-21 | 2019-01-18 | 深圳市德名利电子有限公司 | 一种随机数发生器及随时数产生方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4125763A (en) * | 1977-07-15 | 1978-11-14 | Fluke Trendar Corporation | Automatic tester for microprocessor board |
JPS5857778B2 (ja) * | 1978-12-08 | 1983-12-21 | カシオ計算機株式会社 | 乱数の初期値設定方式 |
JPS58114134A (ja) * | 1981-12-28 | 1983-07-07 | Hitachi Electronics Eng Co Ltd | 乱数発生器 |
JPS62237592A (ja) * | 1986-04-08 | 1987-10-17 | Casio Comput Co Ltd | Icカ−ドにおけるクロツク切換方式 |
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 |
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 |
JPH04199234A (ja) * | 1990-11-26 | 1992-07-20 | Nagano Oki Denki Kk | プログラムテスト方式 |
JP2757714B2 (ja) * | 1992-09-03 | 1998-05-25 | 日本電気株式会社 | フレームパルス生成回路 |
US5404402A (en) * | 1993-12-21 | 1995-04-04 | Gi Corporation | Clock frequency modulation for secure microprocessors |
-
1996
- 1996-03-07 FR FR9602903A patent/FR2745924B1/fr not_active Expired - Fee Related
- 1996-03-15 TW TW085103120A patent/TW491978B/zh not_active IP Right Cessation
-
1997
- 1997-03-07 JP JP53153497A patent/JP3713515B2/ja not_active Expired - Lifetime
- 1997-03-07 AR ARP970100908A patent/AR006138A1/es not_active Application Discontinuation
- 1997-03-07 DE DE69717028T patent/DE69717028T2/de not_active Expired - Lifetime
- 1997-03-07 CN CNB971901635A patent/CN1236370C/zh not_active Expired - Lifetime
- 1997-03-07 AU AU20314/97A patent/AU725888B2/en not_active Expired
- 1997-03-07 US US08/945,845 patent/US5944833A/en not_active Expired - Lifetime
- 1997-03-07 KR KR1019970707908A patent/KR100463814B1/ko not_active IP Right Cessation
- 1997-03-07 CA CA002221880A patent/CA2221880C/fr not_active Expired - Lifetime
- 1997-03-07 WO PCT/FR1997/000406 patent/WO1997033217A1/fr active IP Right Grant
- 1997-03-07 BR BR9702118A patent/BR9702118A/pt not_active Application Discontinuation
- 1997-03-07 EP EP97908320A patent/EP0826169B1/fr not_active Expired - Lifetime
- 1997-11-06 NO NO19975116A patent/NO317448B1/no not_active IP Right Cessation
-
1998
- 1998-09-08 HK HK98110514A patent/HK1009684A1/xx not_active IP Right Cessation
-
2001
- 2001-02-21 JP JP2001045649A patent/JP4015811B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150142623A (ko) * | 2014-06-12 | 2015-12-22 | 나그라비젼 에스에이 | 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
HK1009684A1 (en) | 1999-09-10 |
CA2221880A1 (fr) | 1997-09-12 |
NO317448B1 (no) | 2004-11-01 |
JPH10507561A (ja) | 1998-07-21 |
FR2745924A1 (fr) | 1997-09-12 |
AU725888B2 (en) | 2000-10-26 |
FR2745924B1 (fr) | 1998-12-11 |
AR006138A1 (es) | 1999-08-11 |
DE69717028D1 (de) | 2002-12-19 |
KR100463814B1 (ko) | 2005-05-27 |
DE69717028T2 (de) | 2003-05-08 |
CN1236370C (zh) | 2006-01-11 |
CA2221880C (fr) | 2006-05-09 |
EP0826169A1 (fr) | 1998-03-04 |
JP3713515B2 (ja) | 2005-11-09 |
JP4015811B2 (ja) | 2007-11-28 |
US5944833A (en) | 1999-08-31 |
EP0826169B1 (fr) | 2002-11-13 |
AU2031497A (en) | 1997-09-22 |
NO975116L (no) | 1998-01-06 |
CN1181823A (zh) | 1998-05-13 |
BR9702118A (pt) | 1999-01-26 |
TW491978B (en) | 2002-06-21 |
NO975116D0 (no) | 1997-11-06 |
JP2001296935A (ja) | 2001-10-26 |
WO1997033217A1 (fr) | 1997-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100463814B1 (ko) | 개선된집적회로및그의사용방법 | |
US11308217B2 (en) | Randomized execution countermeasures against fault injection attacks during boot of an embedded device | |
US8046574B2 (en) | Secure boot across a plurality of processors | |
US7779273B2 (en) | Booting a multiprocessor device based on selection of encryption keys to be provided to processors | |
US7774616B2 (en) | Masking a boot sequence by providing a dummy processor | |
US8046573B2 (en) | Masking a hardware boot sequence | |
US5576650A (en) | Reset circuit of electronic device | |
EP0721157A1 (en) | Microprocessor with selectable clock frequency | |
KR100578459B1 (ko) | 예측 불가능 마이크로프로세서 또는 마이크로컴퓨터 | |
US20070288739A1 (en) | System and method for masking a boot sequence by running different code on each processor | |
JP3904472B2 (ja) | 1又は複数のクロック信号から出力信号を選択的に生成するための回路 | |
US8732806B2 (en) | Method and system for hardware enforced virtualization in an integrated circuit | |
JP3827050B2 (ja) | Icカードと半導体集積回路装置 | |
US6477658B1 (en) | Microprocessor with variable clock operation | |
US5224103A (en) | Processing device and method of programming such a processing device | |
JP3788881B2 (ja) | Icカードと半導体集積回路装置 | |
US20030120941A1 (en) | Apparatus for protecting code ROM data in code ROM test | |
US20230069651A1 (en) | Processing device and method for secured boot | |
JP6516097B2 (ja) | 演算装置、icカード、演算方法、及び演算処理プログラム | |
KR0157925B1 (ko) | 시스템의 리세트 시간 가변 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121203 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20131209 Year of fee payment: 10 |
|
EXPY | Expiration of term |