KR100743804B1 - 데이터 처리 장치 및 그 동작 방법 - Google Patents

데이터 처리 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR100743804B1
KR100743804B1 KR1020010000485A KR20010000485A KR100743804B1 KR 100743804 B1 KR100743804 B1 KR 100743804B1 KR 1020010000485 A KR1020010000485 A KR 1020010000485A KR 20010000485 A KR20010000485 A KR 20010000485A KR 100743804 B1 KR100743804 B1 KR 100743804B1
Authority
KR
South Korea
Prior art keywords
sub
operations
cryptographic
cryptographic operation
data processing
Prior art date
Application number
KR1020010000485A
Other languages
English (en)
Other versions
KR20010070409A (ko
Inventor
빌레토마스
하스볼프강
Original Assignee
코닌클리즈케 필립스 일렉트로닉스 엔.브이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 코닌클리즈케 필립스 일렉트로닉스 엔.브이. filed Critical 코닌클리즈케 필립스 일렉트로닉스 엔.브이.
Publication of KR20010070409A publication Critical patent/KR20010070409A/ko
Application granted granted Critical
Publication of KR100743804B1 publication Critical patent/KR100743804B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms 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/10Mechanisms 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/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/72Protecting 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 in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/75Protecting 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/755Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/77Protecting 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 in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment 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/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms 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/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

본 발명은, 집적 회로가 중앙 처리 장치(CPU)(10)와 하나 이상의 코프로세서(12)를 포함하고 있는 데이터 처리 장치(특히, 칩 카드 혹은 스마트 카드) 및, 이 장치를 동작시키는 방법에 관한 것이다. 상기 집적 회로는, 암호 동작시 적어도 두 개의 프로세서가 암호 동작을 동시에 병렬로 수행하도록 프로세서, 즉 CPU(10)와 코프로세서(12)를 제어하는 제어 유닛(18, 30)을 포함한다.

Description

데이터 처리 장치 및 그 동작 방법{DATA-PROCESSING DEVICE AND METHOD OF OPERATING SAID DEVICE}
도 1은 발명에 따른 데이터 처리 장치 집적 회로의 일부 블록도.
도면의 주요 부분의 부호 설명
10 : CPU 12 : 코프로세서
14 : 데이터 입력 16 : 데이터 출력
18 : 스플리터 20 : 제 1 데이터부
22 : 제 2 데이터부 24 : 랜덤 입력
26 : 제 1 결과 28 : 제 2 결과
30 : 재결합기
32 : 스플리터와 재결합기 사이의 접속
34 : 시간축
본 발명은 데이터 처리 장치를 동작시키는 방법에 관한 것으로, 특히, 집적 회로가 중앙 처리 장치(CPU)와 하나 이상의 코프로세서(co-processor)를 포함하는 칩 카드 혹은 스마트 카드를 동작시키는 방법에 관한 것으로, 이 때 집적 회로는 청구항 제 1 항의 전제부(pre-characterizing part)에 정의된 것과 같은 암호 동작을 수행한다. 또한, 본 발명은 데이터 처리 장치에도 관련된 것으로, 특히 집적 회로가 청구항 제 10 항의 전제부에 정의된 것처럼 중앙 처리 장치(CPU)와 하나 이상의 코프로세서를 포함하는 칩 카드 혹은 스마트 카드에 관한 것이다.
집적 회로를 갖는 많은 데이터 처리 장치에서, 예를 들면, 암호화 동작은 이들 장치의 동작을 보호하거나 혹은 장치에 기억된 데이터를 보호하는 역할을 한다. 이를 위해 필요한 연산 동작은 일반적인 처리 장치(CPU)에 의해, 그리고 전용의 암호 처리 장치(코프로세서)에 의해 수행된다. 전형적인 예는, 예컨대, 스마트 카드같은 칩 카드와 IC 카드이다. 이와 관련한 데이터 혹은 중간 결과는 흔히 암호 키(cryptographic keys) 혹은 오퍼랜드(operands)와 같은 보안 관련 정보(security-relevant information)이다.
예를 들어, 암호 알고리즘을 연산하기 위해 집적 회로에 의해 수행되는 처리 동작시에는, 오퍼랜드와 중간 결과간의 논리 조합이 수행된다. 이용되는 기술에 따라서, 이러한 동작들, 특히 비어 있거나 사전에 소거된 메모리 영역 혹은 레지스터에 데이터를 로딩하는 동작은 데이터 처리 장치의 고 전류 소비를 유도한다. CMOS 기법같은 상보형 로직에서는, 비트 메모리 셀의 값이 변할 때, 즉, 그 값이 "0"에서 "1"로 변할 때 고 전류 소비가 발생한다. 전류 소비 증가는 메모리 혹은 레지스터에서 변하는 비트 위치의 개수에 따른다. 다시 말하면, 사전에 소거된 레지스터의 로딩은 빈 레지스터에 기입되는 오퍼랜드의 해밍 웨이트(hamming weight)(즉, "1"값의 비트 수)에 비례하여 전류 소비를 증가시킨다. 이러한 전류 변화에 대응하는 해석에 의해, 연산된 동작에 대한 정보를 추출하는 것이 가능하고, 따라서, 예를 들면, 암호 키같은 비밀 오퍼랜드의 성공적인 암호 해독이 가능하다. 데이터 처리 장치에서 여러 번의 전류 측정을 수행함으로써, 매우 작은 신호 변화에서 충분한 정보 추출이 이루어질 수 있다. 한편, 여러 번의 전류 측정은 어쩌면 요구되는 감산을 가능하게 한다. 이러한 종류의 암호 해석을 "차동 전력 해석"이라고 부르는데, 외부인은 이것을 이용해서 단지 데이터 처리 장치의 전류 소비 변화를 관찰하는 것만으로도 승인없이 암호 동작, 오퍼랜드 및 데이터의 암호 해독을 성공적으로 수행할 수 있다. 그러므로, "차동 전력 해석"은 집적 회로의 그 원래 기능과 달리 내부 정보의 추가적인 획득 가능성을 제공한다.
전술한 스마트 카드가 이용되는 전형적인 분야로서, 예를 들면 스마트 카드가 보안 정보 메모리로 이용되는 애플리케이션을 들 수 있다. 암호 동작은, 스마트 카드가 승인 목적의 암호화 동작을 독립적으로 수행하는 점에서 이러한 애플리케이션에 대해 액세스를 안전하게 한다. 이것은 오로지 적당한 소프트웨어로 제어되는 특별한 스마트 카드 제어기(마이크로콘트롤러)를 이용해야만 가능하다. 스마트 카드 제어기와 스마트 카드 단말기 사이의 통신 채널은 암호 방법에 의해 직접적으로 보안이 유지되는데, 암호 방법의 보안 레벨은 이용되는 암호 알고리즘에 본 질적으로 의존한다.
스마트 카드와 관련한 승인 처리를 위조(forge)하는 것이 가능하기 위해서는, 사본(copy)을 이용해 승인 프로토콜을 에뮬레이트(emulate)하는 것이 가능해야 한다. 보안 프로토콜에서, 이것은 오로지 스마트 카드에 기억된 비밀 암호 키를 해석해야만 가능하다.
스마트 카드 제어기는 재생적으로 동작하는 기계이므로, 스마트 카드 제어기내의 내부 프로세서가 결정되면, 동작동안 스마트 카드의 간접적인 방사(radiations)를 해석함으로써, 예를 들면, 전술한 차동 전력 해석을 이용해 전류 소비의 시변화를 측정함으로써, 마침내 비밀 키가 발견될 수 있다. 다음, 스마트 카드 제어 회로의 동등 프로그램 시퀀스와 관련한 재생적 결정론적 전류 프로파일이 해석된다.
비밀 데이터를 기억 및 처리하는 집적 회로는 미국 특허 제 4,813,024 호에 공지되어 있는데, 이 회로에서 메모리는 지금까지 아직 프로그램되지 않은 메모리 셀과 똑같은 전류 소비를 갖는 시뮬레이션 메모리 셀을 포함한다. 그러므로, 전류와 전압의 요동(fluctuations)은 오로지 메모리 셀과 관련하여 제거되며 데이터 처리와 관련해서는 제거되지 않는다.
본 발명의 목적은 전술한 유형의 개선된 방법 및 개선된 데이터 처리 장치를 제공하는 것으로, 이 방법 및 장치는 전술한 결점을 제거하고, 가능한 한 차동 전 력 해석을 복잡하게 만든다.
이 목적은, 전술되어 있는 동시에 청구항 제 1 항에도 정의되어 있는 유형의 방법과, 전술되어 있는 동시에 청구항 제 10 항에도 정의되어 있는 유형의 데이터 처리 장치에 의해 해결된다.
본 발명에 따르면, 전술한 유형의 방법에 있어서, 집적 회로에서 암호 동작을 수행할 때 적어도 두 개의 프로세서 즉, CPU와 코프로세서가 동시에 병렬로 암호 동작을 수행한다.
이로써, 동작시, 암호 동작동안에 데이터 처리 장치의 전류 소비는 적어도 두 개의 병렬 동작하는 프로세서의 각각의 전류 소비로부터 합산되므로, 각각의 전류 변화가 더 이상 재구성될 수 없게 되는 이점을 갖는다. 그러므로, 차동 전력 해석이 더 이상 성공적으로 수행될 수 없게 된다.
이 방법의 추가적인 유리한 실시예들은 청구항 제 2 항 내지 제 9 항에 정의된다.
바람직한 실시예에서, 단지 하나의 프로세서 즉, CPU 혹은 코프로세서의 암호 동작만이 이용 가능한 동작이고, 다른 모든 암호 동작들은 그 결과가 폐기되는 더미(dummy) 동작인데, 어떤 프로세서 즉, CPU가 이용 가능한 동작을 수행할 것인지 혹은 코프로세서가 이용 가능한 동작을 수행할 것인지에 관한 선택은 랜덤하게 제어된다.
다른 바람직한 실시예에서, 암호 동작은 전류 소비의 관점에서 두 개의 상호 상보형 동작으로 나뉘어진다. 두 개의 동일한 코프로세서가 상보형 암호 동작을 동시에 수행할 때, 전류 변화 역시 상보적으로 가산되므로, DPA는 더 이상 성공적으로 수행될 수 없게 되거나 혹은 더 이상 정교해질 수 없게 된다.
차동 전력 해석에 이용되는 전류 곡선의 매우 양호한 암호화를 달성하고, 그리고 동일하게 구성된 코프로세서에서 있을 수 있는 비대칭을 보상하기 위해, 암호 동작은 서브 동작들(sub-operations)로 나뉜다. 어떤 코프로세서가 어떤 동작을 상보적으로 수행할 것인지 혹은 상보적으로 수행하지 않을 것인지에 대한 선택은 랜덤하게 제어된다.
또 다른 바람직한 실시예에서, 암호 동작은 적어도 두 개의 서브 동작으로 나뉘고, 이 서브 동작들은 프로세서들 즉, CPU와 코프로세서에 의해 동시에 병렬로 수행되는 반면, 그 후에 대응하는 서브 결과들(sub-results)은 전체 암호 동작의 전체 결과로 조합된다. 선택적으로, 암호 동작을 서브 동작으로 나누는 것은 랜덤하게 제어된다. 예를 들면, 서브 동작은 DES(Data Encryption Standard)에 따른 암호화의 일부분들이다.
본 발명에 따른 데이터 처리 장치에 있어서, 집적 회로는 프로세서들 즉, CPU와 코프로세서를 제어하여 암호 동작의 경우에 적어도 두 개의 프로세서가 암호 동작을 동시에 병렬로 수행하도록 만드는 제어 유닛을 포함한다.
이로써, 동작시, 암호 동작 동안에 데이터 처리 장치의 전류 소비는 적어도 두 개의 병렬 동작하는 프로세서와 관련된 전류 소비로부터 합산되므로, 각각의 전류 변화가 더 이상 재구성될 수 없게 되는 이점을 갖는다. 그러므로, 차동 전력 해석이 더 이상 성공적으로 수행될 수 없게 된다.
데이터 처리 장치의 다른 바람직한 실시예는 청구항 제 11 항 내지 제 14 항에 정의된다.
바람직한 실시예에서, 제어 유닛은, 암호 동작을 적어도 두 개의 서브 동작으로 나누고, 이 서브 동작들을 집적 회로의 두 개의 독립된 프로세서 즉, CPU와 코프로세서로 공급하여 동시 처리하도록 만드는 스플리터(splitter)를 포함한다. 또한, 제어 유닛은 프로세서에 의해 동시에 수행된 서브 동작들의 각 서브 결과를 재결합하는 재결합기(recombiner)도 포함한다.
암호 동작동안 전류 소비 곡선의 성공적인 해석을 막기 위해, 스플리터는 적어도 하나의 서브 동작이 더미 동작이되도록 형성되고, 재결합기는 더미 동작을 수행한 프로세서와 관련된 결과를 폐기시키도록 형성된다.
전류 소비 곡선의 매우 양호한 암호화는, 랜덤하게 제어되는 방식으로 동작하도록 스플리터에 접속된 랜덤 발생기(random generator)를 집적 회로가 추가로 포함하여 얻어진다.
본 발명의 이들 및 다른 양상은 이후에 설명되는 실시예를 참조하여 명확하게 설명될 것이다.
도 1은, 예컨대, 스마트 카드 혹은 칩 카드같은 데이터 처리 장치의 집적 회로의 일부를 도시한다. 이 집적 회로는 중앙 처리 장치(CPU) 혹은 코프로세서 A(10)와, 코프로세서 B(12)와, 데이터 입력(14)과 데이터 출력(16)을 포함한다. 집적 회로에 의해 암호 동작이 수행되는 경우, 스플리터(18)는 암호 동작을 데이터 입력(14)과 CPU 혹은 코프로세서 A(10)사이에 배열된 제 1 데이터부(20)와, 데이터 입력(14)과 CPU 혹은 코프로세서 B(12)사이에 배열된 제 2 데이터부(22)의 형태로 제 1 및 제 2 서브 동작으로 분할한다. 제 1 데이터부(20)는 CPU 혹은 코프로세서 A(10)에 인가되고, 제 2 데이터부(22)는 코프로세서 B(12)에 인가되어, 사전 정의된 암호 동작에 의해 처리된다. 스플리터(18)는 또한 랜덤 입력(24)을 갖는데, 이것에 의해 데이터부(20, 22)로의 분할이 랜덤하게 제어된다.
CPU 혹은 코프로세서 A(10)와 코프로세서 B(12)는 암호 동작을 동시에 병렬로 수행한다. 따라서, 대응하는 전류 소비 곡선(시간에 대한 전류 소비 진폭)은 서로 중첩되므로, 각 장치(10, 12)의 개별 곡선과 프로세서(10, 12)에서 독립적으로 수행된 각 프로세스는 더 이상 해석될 수 없게 된다.
제 1 결과(26)는 CPU 혹은 코프로세서 A(10)로부터 유래하고, 제 2 결과(28)는 코프로세서 B(28)로부터 유래하며, 재결합기(30)에서 다시 전체 결과로 결합된 뒤, 데이터 출력(16)으로 인가된다. 스플리터(18)는 서브 결과(26, 28)가 어떤 식으로 재결합될 것인지 접속(32)을 통해 재결합기(30)에게 알린다. 이것은 반드시 필요한데, 그 이유는 스플리터(18)에 의한 분할이 항상 랜덤 입력으로 인해 랜덤하게 다른 방식으로 수행되기 때문이다.
화살표 즉, 시간축(34)은 본 발명에 따른 장치를 통과하는 데이터 흐름을 시간에 대해 가시화한다. 도 1에서, 장치의 좌측에서, 데이터는 데이터 입력(14)에 도착하여, 두 개의 병렬 데이터 경로(20, 22)를 통해 프로세서(10, 12)에 도착한 뒤, 이 프로세서(10, 12)에서 처리되고, 경로(26, 28)를 통해 재결합된 뒤, 그 이후에 데이터 출력(16)을 통해 도면의 우측에서 장치를 빠져 나온다. 데이터 입력(14) 측에서는, 데이터가, 예를 들면, 인증을 위해 프로세서(10, 12)에서 암호 동작에 제공되는 암호 키 혹은 오퍼랜드를 포함하는 반면, 인증은 사전 정의된 결과가 데이터 출력(16)에 도달할 때에만 성공적 혹은 긍정적인 것으로 가정된다.
암호 동작 동안, 차동 전력 해석에서 암호 동작 혹은 정확한 암호 키에 관한 판정을 허용할 수 있는 전류 소비의 시간적 요동을 암호화하기 위해, 프로세서들은 두 프로세서(10, 12)가 암호 동작을 동시에 병렬로 수행하도록 스플리터(18)와 재결합기(30)로 이루어진 제어 유닛에 의해 제어되므로, 그들의 전류 소비 곡선은 서로 중첩되어, 더 이상 개별적으로 해석될 수 없게 된다. 다시 말해서, 외부적으로 측정 가능한 시변하는 전체 전류의 분리가 더 이상 가능하지 않다.
키는, 예를 들면, 프로세서(10, 12)에서 개별적으로 암호 동작 처리되는 두 개의 데이터부(20, 22)로 분할되고, 각각의 결과는 재결합된다. 대안적으로, 정확하게 동일한 암호 동작이 두 개의 프로세서(10, 12)에서 수행되지만, 단지 하나의 처리기(10 혹은 12), 예를 들면, CPU 혹은 코프로세서 A(10)만이 정확한 키를 수신하고, 반면에 다른 프로세서, 예를 들면, 코프로세서 B(12)는 오류의 키를 수신한다. 스플리터(18)는, 제 2 결과(28)를 폐기하고 제 1 결과(26)만을 CPU, 즉, 코프로세서 A(10)에서 데이터 출력(16)으로 통과시킬 것을 접속(32)을 통해 재결합기(30)로 통지한다. 코프로세서 B(12)에 인가된 오류의 키가 CPU 혹은 코프로세서 A(10)에 인가된 정확한 키의 상보형인 경우, 암호 동작을 수행하면, 차동 전력 해석을 사실상 불가능하게 만드는 상보형 전류 소비값이 두 개의 처리기(10, 12)에서 얻어진다.
암호 동작을 두 개의 처리기(10, 12)에 분할하는 것은, 단일 회로부(10, 12)의 암호 동작의 전형적인 전류 소비 특성이 다른 회로부(10, 12) 즉, CPU 혹은 코프로세서 A(10) 또는 코프로세서 B(12)의 병렬 동작없이는 절대로 가시화되지 않도록 수행된다.
제어 유닛(18, 30)은 부분으로의 분할을 수행하고, 이 때 예를 들면 어떤 회로부(10, 12)가 관련된 암호 동작을 수행할 것인지는 랜덤 제어 방식으로 결정된다. 이 순간, 관련없는 회로부(10, 12)는 적당한 암호 동작(더미 동작)을 병렬로 수행하는데, 이 더미 동작은 상보적으로 등가인 전류 특성을 나타내지만 전체 소비에 반드시 필요한 것이다.
DES(Data Encryption Standard) 암호화의 부분은 예를 들면 계속 교환되거나, 또는 좌측 혹은 우측 부분 암호화만이 랜덤하게 선택된 라운드에서 두 개의 회로부(10, 12)에서 단지 부분적으로 교환된다.
대안적으로, 트리플 DES(triple DES)(다단계 암호화)를 연산할 때, 관련된 DES 동작은 두 개의 회로부(10, 12) 사이에 랜덤하게 분산되므로, 어떤 회로부(10, 12)가 관련 암호 동작을 수행하는 프로세스에 있는 중인지 절대로 예측할 수 없다. 두 개의 회로부(10, 12)의 제어에 있어서, 이들의 전형적인 주파수 스펙트럼은 적어도 부분적으로 동일해야 하므로, 두 개의 전류 소비 프로파일의 중첩은 퓨리에 변환에 의한 주파수 공간에서도 분리될 수 없음을 유의해야 한다.
따라서, 본 발명에 따르면, 차동 전력 해석을 가능한 복잡하게 만들어, 외부인이 승인없이 암호 해독을 수행할 수 없도록 한다.

Claims (16)

  1. 집적 회로가 중앙 처리 장치(CPU)와 하나 이상의 코프로세서(co-processor)를 포함하여 암호 동작을 수행하는 데이터 처리 장치를 동작시키는 방법에 있어서,
    상기 집적 회로에서 암호 동작을 수행할 때, CPU와 코프로세서들중 적어도 2개의 프로세서가 암호 동작을 동시에 병렬로 수행하고,
    암호 동작은 적어도 두 개의 서브 동작으로 분할되고, 상기 서브 동작들은 상기 프로세서들에 의해 동시에 병렬로 수행되는 반면, 그 후에 대응하는 서브 결과들(sub-results)은 전체 암호 동작의 전체 결과로 결합되며,
    상기 암호 동작의 상기 서브 동작으로의 분할은 랜덤하게 제어되는 것을 특징으로 하는
    데이터 처리 장치 동작 방법.
  2. 제 1 항에 있어서,
    상기 CPU와 코프로세서들 중 단지 하나의 프로세서의 상기 암호 동작만이 이용 가능한 동작이고, 다른 모든 암호 동작은 그 결과가 폐기되는 더미(dummy) 동작인 것을 특징으로 하는 데이터 처리 장치 동작 방법.
  3. 제 2 항에 있어서,
    상기 CPU와 코프로세서들 중 어떤 프로세서가 상기 이용 가능한 동작을 수행할 것인지에 관한 선택은 랜덤하게 제어되는(random-controlled) 것을 특징으로 하는 데이터 처리 장치 동작 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    암호 동작은 적어도 두 개의 서브 동작(sub-operations)으로 분할되고, 적어도 두 개의 프로세서가 상기 서브 동작을 병렬로 동시에 수행하는 것을 특징으로 하는 데이터 처리 장치 동작 방법.
  5. 제 4 항에 있어서,
    전류 소비의 관점에서, 암호 동작은 두 개의 상호 상보형 동작으로 분할되는 것을 특징으로 하는 데이터 처리 장치 동작 방법.
  6. 제 5 항에 있어서,
    어떤 프로세서가 상기 동작을 상보적으로 수행할 것인지 혹은 상보적으로 수행하지 않을 것인지에 관한 선택은 랜덤하게 제어되는 것을 특징으로 하는 데이터 처리 장치 동작 방법.
  7. 삭제
  8. 삭제
  9. 제 1 항에 있어서,
    상기 서브 동작은 DES(Data Encryption Standard)에 따른 암호화의 일부인 것을 특징으로 하는 데이터 처리 장치 동작 방법.
  10. 집적 회로가 중앙 처리 장치(CPU)(10)와 하나 이상의 코프로세서(12)를 포함하고 있고, 특히 제 1 항 내지 제 3 항 중 어느 한 항에 청구된 방법을 수행하는 데이터 처리 장치에 있어서,
    상기 집적 회로가, 암호 동작시 적어도 두 개의 프로세서가 암호 동작을 동시에 병렬로 수행하도록 상기 프로세서들(10,12)을 제어하는 제어 유닛(18, 30)을 포함하고,
    상기 제어 유닛은,
    암호 동작을 적어도 두 개의 서브 동작(20, 22)으로 분할하고, 동시 처리를 위해 상기 서브 동작을 상기 집적 회로의 두 개의 독립적인 프로세서(10,12)로 공급하는 스플리터(splitter)(18)를 포함하는 것을 특징으로 하는
    데이터 처리 장치.
  11. 삭제
  12. 제 10 항에 있어서,
    상기 제어 유닛은,
    상기 프로세서(10, 12)에 의해 동시에 수행된 상기 서브 동작(20, 22)의 각각의 서브 결과(26, 28)를 재결합하는 재결합기(30)를 더 포함하는 것을 특징으로 하는 데이터 처리 장치.
  13. 제 12 항에 있어서,
    상기 스플리터(18)는 적어도 하나의 서브 동작(20, 22)이 더미 동작이 되도록 형성되고, 상기 재결합기(30)는 상기 더미 동작을 수행한 프로세서(10, 12)의 관련된 결과(26, 28)를 폐기시키도록 형성되는 것을 특징으로 하는 데이터 처리 장치.
  14. 제 10 항, 제 12 항 또는 제 13 항 중 어느 한 항에 있어서,
    상기 집적 회로는,
    랜덤 제어 방식으로 동작하도록 상기 스플리터(18)에 접속된 랜덤 발생기(random generator)(24)를 더 포함하는 것을 특징으로 하는 데이터 처리 장치.
  15. 제 1 항에 있어서,
    상기 데이터 처리 장치는 칩 또는 스마트 카드를 포함하는 데이터 처리 장치 동작 방법.
  16. 제 10 항에 있어서,
    상기 데이터 처리 장치는 칩 또는 스마트 카드를 포함하는 데이터 처리 장치.
KR1020010000485A 2000-01-08 2001-01-05 데이터 처리 장치 및 그 동작 방법 KR100743804B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10000503.9 2000-01-08
DE10000503A DE10000503A1 (de) 2000-01-08 2000-01-08 Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb

Publications (2)

Publication Number Publication Date
KR20010070409A KR20010070409A (ko) 2001-07-25
KR100743804B1 true KR100743804B1 (ko) 2007-07-30

Family

ID=7626969

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010000485A KR100743804B1 (ko) 2000-01-08 2001-01-05 데이터 처리 장치 및 그 동작 방법

Country Status (6)

Country Link
US (1) US7500112B1 (ko)
EP (1) EP1115094A3 (ko)
JP (1) JP2001230771A (ko)
KR (1) KR100743804B1 (ko)
CN (1) CN1248155C (ko)
DE (1) DE10000503A1 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6419159B1 (en) * 1999-06-14 2002-07-16 Microsoft Corporation Integrated circuit device with power analysis protection circuitry
JP4651212B2 (ja) * 2001-03-22 2011-03-16 大日本印刷株式会社 携帯可能情報記憶媒体およびその認証方法
DE10129241B4 (de) * 2001-06-18 2008-04-30 Infineon Technologies Ag Multifunktionaler Rechner
DE10136335B4 (de) 2001-07-26 2007-03-22 Infineon Technologies Ag Prozessor mit mehreren Rechenwerken
DE10202726B4 (de) * 2002-01-24 2004-05-06 Infineon Technologies Ag Integrierte Schaltung und Verfahren zum Betrieb der integrierten Schaltung
KR100456599B1 (ko) * 2002-11-12 2004-11-09 삼성전자주식회사 병렬 디이에스 구조를 갖는 암호 장치
DE10304900A1 (de) * 2003-02-06 2004-09-09 Infineon Technologies Ag Schaltung mit Schutz vor manipulativen Angriffen und Verfahren
EP1620829B1 (en) * 2003-04-22 2009-08-26 Nxp B.V. Electronic circuit device for cryptographic applications
JP2005056413A (ja) * 2003-08-01 2005-03-03 Stmicroelectronics Sa 複数の同じ計算の保護
KR100574945B1 (ko) * 2003-08-08 2006-04-28 삼성전자주식회사 겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법
JPWO2005027403A1 (ja) * 2003-09-11 2006-11-24 株式会社ルネサステクノロジ 情報処理装置
JP4072503B2 (ja) * 2004-02-04 2008-04-09 シャープ株式会社 補助演算用コプロセッサ内蔵型icカード及びその制御方法
CN101099327B (zh) * 2004-11-11 2011-08-24 塞尔蒂卡姆公司 用于通用密钥导出函数支持的安全接口
EP1831812A1 (en) * 2004-12-20 2007-09-12 Philips Intellectual Property & Standards GmbH Data processing device and method for operating such data processing device
US20060265583A1 (en) * 2005-05-20 2006-11-23 Tamar Eilam Method, system, and product for identifying provisioning operations via planning methods
EP1755267B1 (en) * 2005-08-04 2008-10-15 Dibcom Process, device and computer program for data decryption
US7594104B2 (en) * 2006-06-09 2009-09-22 International Business Machines Corporation System and method for masking a hardware boot sequence
US7774616B2 (en) * 2006-06-09 2010-08-10 International Business Machines Corporation Masking a boot sequence by providing a dummy processor
US20070288738A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for selecting a random processor to boot on a multiprocessor system
US20070288740A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for secure boot across a plurality of processors
US20070288761A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors
DE102006062649B4 (de) * 2006-12-22 2010-10-07 Ihp Gmbh - Innovations For High Performance Microelectronics / Leibniz-Institut Für Innovative Mikroelektronik Verschlüsselungseinheit
US8781111B2 (en) * 2007-07-05 2014-07-15 Broadcom Corporation System and methods for side-channel attack prevention
US8165286B2 (en) * 2008-04-02 2012-04-24 Apple Inc. Combination white box/black box cryptographic processes and apparatus
JP5146156B2 (ja) * 2008-06-30 2013-02-20 富士通株式会社 演算処理装置
JP5206866B2 (ja) 2009-03-30 2013-06-12 富士通株式会社 光伝送システム及び光伝送方法
KR101047103B1 (ko) 2009-10-06 2011-07-07 고려대학교 산학협력단 고속 차분 전력 분석 방법 및 그 기록 매체
US8583944B1 (en) * 2010-08-04 2013-11-12 Xilinx, Inc. Method and integrated circuit for secure encryption and decryption
US8413906B2 (en) 2011-05-22 2013-04-09 King Saud University Countermeasures to secure smart cards
US9773111B2 (en) * 2012-08-14 2017-09-26 Empire Technology Development Llc Software-based side-channel attack prevention
DE102012018924A1 (de) 2012-09-25 2014-03-27 Giesecke & Devrient Gmbh Seitenkanalgeschützte Maskierung
DE102012219205A1 (de) * 2012-10-22 2014-05-08 Robert Bosch Gmbh Vorrichtung und Verfahren zur Ausführung eines kryptographischen Verfahrens
US9378063B2 (en) * 2013-10-15 2016-06-28 Qualcomm Incorporated Mobile coprocessor system and methods
TWI712915B (zh) 2014-06-12 2020-12-11 美商密碼研究公司 執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體
US9871651B2 (en) * 2014-06-16 2018-01-16 Cisco Technology, Inc. Differential power analysis countermeasures
JP6365076B2 (ja) * 2014-07-31 2018-08-01 大日本印刷株式会社 データ変換装置
US9735953B2 (en) * 2015-03-06 2017-08-15 Qualcomm Incorporated Side channel analysis resistant architecture
US10615959B2 (en) 2015-07-22 2020-04-07 Megachips Corporation Memory device, host device, and memory system
CN106709329B (zh) * 2015-11-12 2020-07-03 意法半导体(鲁塞)公司 由处理单元处理期间对经加密的信息的保护
CN106919860B (zh) * 2015-12-25 2020-06-23 上海华虹集成电路有限责任公司 用于实现物理不可克隆函数的电路以及相应的运行方法
US10536441B2 (en) * 2016-08-23 2020-01-14 Texas Instruments Incorporated Thread ownership of keys for hardware-accelerated cryptography
FR3060809A1 (fr) * 2016-12-20 2018-06-22 Commissariat A L'energie Atomique Et Aux Energies Alternatives Methode de chiffrement par calcul massivement parallele
EP3419005A1 (en) * 2017-06-22 2018-12-26 Gemalto Sa Computing device processing expanded data
US11863304B2 (en) * 2017-10-31 2024-01-02 Unm Rainforest Innovations System and methods directed to side-channel power resistance for encryption algorithms using dynamic partial reconfiguration
KR102628010B1 (ko) * 2018-10-05 2024-01-22 삼성전자주식회사 가상 암호화 연산을 수행하는 암호화 회로

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590199A (en) * 1993-10-12 1996-12-31 The Mitre Corporation Electronic information network user authentication and authorization system
JPH1173375A (ja) * 1997-08-29 1999-03-16 Dainippon Printing Co Ltd Icカード
JPH11110504A (ja) * 1997-09-30 1999-04-23 Toppan Printing Co Ltd Icカード
US5930363A (en) * 1995-03-17 1999-07-27 Transmo Limited Card charging systems
JP2000165375A (ja) * 1998-11-30 2000-06-16 Hitachi Ltd 情報処理装置、icカード
KR20010079902A (ko) * 1998-09-22 2001-08-22 추후제출 데이터 교환시 1인 이상의 가입자를 인증하기 위한 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2600183B1 (fr) 1986-06-13 1990-10-12 Eurotechnique Sa Circuit integre pour la memorisation et le traitement d'informations de maniere confidentielle comportant un dispositif anti-fraude
DE3705736A1 (de) * 1987-02-23 1988-09-01 Nixdorf Computer Ag Verfahren zum sichern von programmen und zur integritaetskontrolle gesicherter programme
FR2745924B1 (fr) * 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
FR2776410B1 (fr) * 1998-03-20 2002-11-15 Gemplus Card Int Dispositifs pour masquer les operations effectuees dans une carte a microprocesseur
WO1999063696A1 (en) * 1998-06-03 1999-12-09 Cryptography Research, Inc. Using unpredictable information to minimize leakage from smartcards and other cryptosystems
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
US6490353B1 (en) * 1998-11-23 2002-12-03 Tan Daniel Tiong Hok Data encrypting and decrypting apparatus and method
FR2787900B1 (fr) * 1998-12-28 2001-02-09 Bull Cp8 Circuit integre intelligent
FR2789535B1 (fr) * 1999-02-04 2001-09-28 Bull Cp8 Procede de securisation d'un ensemble electronique de cryptographie a cle secrete contre les attaques par analyse physique
US6804782B1 (en) * 1999-06-11 2004-10-12 General Instrument Corporation Countermeasure to power attack and timing attack on cryptographic operations
US6419159B1 (en) * 1999-06-14 2002-07-16 Microsoft Corporation Integrated circuit device with power analysis protection circuitry

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590199A (en) * 1993-10-12 1996-12-31 The Mitre Corporation Electronic information network user authentication and authorization system
US5930363A (en) * 1995-03-17 1999-07-27 Transmo Limited Card charging systems
JPH1173375A (ja) * 1997-08-29 1999-03-16 Dainippon Printing Co Ltd Icカード
JPH11110504A (ja) * 1997-09-30 1999-04-23 Toppan Printing Co Ltd Icカード
KR20010079902A (ko) * 1998-09-22 2001-08-22 추후제출 데이터 교환시 1인 이상의 가입자를 인증하기 위한 방법
JP2000165375A (ja) * 1998-11-30 2000-06-16 Hitachi Ltd 情報処理装置、icカード
KR20000052392A (ko) * 1998-11-30 2000-08-25 가나이 쓰토무 정보 처리 장치, ic 카드

Also Published As

Publication number Publication date
DE10000503A1 (de) 2001-07-12
EP1115094A3 (de) 2004-03-03
CN1248155C (zh) 2006-03-29
CN1304116A (zh) 2001-07-18
US7500112B1 (en) 2009-03-03
JP2001230771A (ja) 2001-08-24
EP1115094A2 (de) 2001-07-11
KR20010070409A (ko) 2001-07-25

Similar Documents

Publication Publication Date Title
KR100743804B1 (ko) 데이터 처리 장치 및 그 동작 방법
Saputra et al. Masking the energy behavior of DES encryption [smart cards]
Kocher et al. Introduction to differential power analysis and related attacks
EP2207087B1 (en) Method for protecting a cryptographic device against SPA, DPA and timing attacks
EP1260945A1 (en) Semiconductor integrated circuit on IC card protected against tampering
US6691921B2 (en) Information processing device
KR20170098731A (ko) 부채널 분석으로부터 회로를 보호하는 방법
CN100356342C (zh) 信息处理装置
KR20040053101A (ko) 정보 누출이 감소된 장치 및 방법
KR20010083099A (ko) Ic 카드 및 마이크로 프로세서
KR20060127921A (ko) 전력 분석 공격에 대한 방어 방법
Witteman Advances in smartcard security
CN105406957B (zh) 保护密码设备对抗实现攻击
CN105378750A (zh) 用于帮助逻辑加密的系统、方法和计算机可访问介质
EP1646174A1 (en) Method and apparatus for generating cryptographic sets of instructions automatically and code generation
JP3844116B2 (ja) 暗号化・復号化装置とicカード
WO2008013083A1 (fr) Générateur de nombres pseudo-aléatoires, dispositif de cryptage de flux et programme
CA2885961C (en) Access-protected data carrier
JPH06244684A (ja) 擬似乱数列の発生方法および回路装置
JP4386766B2 (ja) データ処理装置における誤り検出
KR101997005B1 (ko) 전력 분석을 통한 도청에 대항하여 전자 회로를 보호하는 방법 및 이를 이용한 전자 회로
US20060117383A1 (en) Smart cards, methods, and computer program products for using dummy currents to obscure data
US7809959B2 (en) Countermeasure method in a microcircuit, microcircuit therefore and smart card comprising said microcircuit
US7174016B2 (en) Modular exponentiation algorithm in an electronic component using a public key encryption algorithm
KR20150076166A (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
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20120716

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee