KR20040010639A - 도용으로부터 전자 칩을 보호하는 암호화 방법 - Google Patents

도용으로부터 전자 칩을 보호하는 암호화 방법 Download PDF

Info

Publication number
KR20040010639A
KR20040010639A KR10-2003-7014763A KR20037014763A KR20040010639A KR 20040010639 A KR20040010639 A KR 20040010639A KR 20037014763 A KR20037014763 A KR 20037014763A KR 20040010639 A KR20040010639 A KR 20040010639A
Authority
KR
South Korea
Prior art keywords
chip
input
verification
function
electronic chip
Prior art date
Application number
KR10-2003-7014763A
Other languages
English (en)
Other versions
KR100906518B1 (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 KR20040010639A publication Critical patent/KR20040010639A/ko
Application granted granted Critical
Publication of KR100906518B1 publication Critical patent/KR100906518B1/ko

Links

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
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • 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
    • 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
    • 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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

본 발명은 도용으로부터 전자 칩을 보호하는 암호화 방법 및 도용으로부터 상기 전자 칩을 보호하는데 사용되는 전자 칩을 포함하고 있는 장치에 관한 것이다. 상기 방법은:
-혼합 함수로 상기 입력 파라미터들의 일부 또는 전부를 혼합하고 혼합 함수 출력 데이터 아이템 E'=(e'1, e'2,...e'n,...,eN)을 제공하는 단계(1);
적어도 이전 상태와 연속 비트(e'1, e'2,...e'n,...,eN)로부터의 값에 의존화는 함수에 따라 자동장치의 최종 상태를 상기 이전 상태로부터 새로운 상태로 변경하는 단계(2);
상기 자동장치의 적어도 하나의 상태를 입력 독립함수(argument)로 가지고 있는 출력 함수에 의해 상기 검증(S)을 계산하는 단계(3)를 포함한다.
상기 장치는 혼합 수단, 자동장치의 최종 상태 및 검증(S)를 계산하기 위한 출력 수단을 포함한다.

Description

도용으로부터 전자 칩을 보호하는 암호화 방법{CRYPTOGRAPHIC METHOD OF PROTECTING AN ELECTRONIC CHIP AGAINST FRAUD}
선불 카드는 다양한 종류의 도용으로부터 취약하다. 제1 타입의 도용은 상기 카드의 허용되지 않은 복제로 구성되어 있다. 제2 타입은 상기 카드에 저장되어 있는 크레딕(credit)의 양과 같이 상기 카드에 첨부된 데이터를 수정하는 것을 포함한다. 암호화는 처음으로 디지털 서명에 의해 상기 카드 및/또는 데이터를 인증함으로써, 다음으로는 암호화를 통해 데이터를 비밀로 만듬으로써 이러한 타입의 도용을 방지하기 위해 사용된다. 암호화는 검증기와 검증되는 물체인 2개의 개체들을 사용하며, 대칭형이거나 또는 비대칭형일 수 있다. 대칭형인 경우에, 상기 2개의 개체들은 정확하게 동일한 정보, 특히 비밀 키를 공유하고 있다. 비대칭형인 경우에, 상기 2개의 개체들 중에 하나는 공지되지 않은 키와 공지된 키의 쌍을 가지고 있다. 즉, 공유된 비밀키가 존재하지 않는다. 선불 카드를 사용하는 많은 시스템에서, 비대칭형 암호화는 여전히 느리고 비싸기 때문에 단지 대칭형 암호화가 사용된다. 개발된 상기 제1 대칭형 암호화 인증 메커니즘은 각각의 카드에 대해 그리고 모든 카드에 대해 서로 다른 검증을 계산하고, 상기 검증을 상기 카드의 메모리에 저장하며, 그것을 각각의 트랜잭션시 판독하여, 이미 할당되어 있는 검증들을 저장하거나 또는 매 시간마다 계산하는 트랜잭션을 지원하는 네트워크 애플리케이션을 조회함으로써 그것을 검증한다. 이러한 메커니즘들은 상기 검증이 적절하게 사용되지 않으며, 검증은 소정의 카드에 대해서는 항상 동일하기 때문에 도용적으로 재생산되고 재작동하기 때문에 불충분한 방어를 제공하며, 상기 카드는 모조될 수 있다. 상기와 같은 모조로부터 보호하기 위해, 능동적인 카드 인증 메커니즘이 소극적인 메커니즘 대신에 사용되며, 이것은 상기 데이터의 집적을 추가적으로 보장할 수 있다.
능동적인 인증 메커니즘의 일반적인 원칙은 다음과 같다: 인증 작동시, 상기 전자 칩과 애플리케이션은 각 인증시에 결정되는 독립변수들의 리스트에 함수를 적용한 결과인 검증을 계산하며 ; 상기 독립변수의 리스트는 다이(die)를 포함할 수있는데, 즉 매 인증시마다 상기 애플리케이션에 의해 결정된 데이터 아이템, 상기 전자 칩에 포함되어 있는 데이터 아이템 및 전자 칩과 상기 애플리케이션 모두에 공지된 비밀키를 포함할 수 있다. 만약 전자 칩에 의해 계산된 검증이 상기 애플리케이션에 의해 계산된 검증과 동일할 경우에, 상기 전자 칩은 인증되며, 상기 전자 칩과 애플리케이션 사이의 트랜잭션은 인증된다.
상기 인증 메커니즘은 널리 공지되어 있지만, 대부분은 적어도 마이크로프로세서에 상응하는 계산 용량을 요구한다. 이러한 메커니즘은 따라서 마이크로프로세서 카드에 적절하지만, 보다 많은 기본적인 계산 수단을 가지고 있는 배선에 의한 로직 카드에서는 그러하지 않다. 본 발명은 배선에 의한 로직 카드에서 구현될 수 있는 대칭형 그리고 능동 인증 메커니즘에 관한 것이다.
상기와 같은 제1 메커니즘은 프랑스 특허 FR 89/09734에 기재되어 있다. 상기 특허에 기술되어 있는 방법은 상기 애플리케이션에 공지되어 있으며, 배선에 의한 회로 형태의 전자 칩에 포함되어 있는 비선형 함수를 규정하고 있다. 상기와 같은 제2 메커니즘은 프랑스 특허 FR 95/12144에 기재되어 있다. 상기 특허는 재작동 및 제어된 비밀키의 파괴("wear down")로부터 보호를 보장하는 선형 함수를 사용하여 조건없는 안전 활성 인증에 의해 카드를 보호하는 방법이다.
상기 언급한 메커니즘 각각은 각각의 장점과 단점을 가지고 있다. 제1 메커니즘에서, 상기 제1 메커니즘에 사용되는 상기 비선형 함수는 안전하다고 가정하고 있는데(상기 가정은 현 시점에서 증명될 수 없다), 배선에 의한 로직 칩의 줄어든 계산 용량으로 부과되는 매우 엄격한 제한은 일상적인 비밀 키 알고리즘과 같이 광대한 안전 마진을 제공할 수 없으며, 이러한 이유로 사용되는 비선형 함수의 자세한 설명의 공개는 위험을 의미할 수 있다. 상기 제2 메커니즘은 인증 작동 수가 특정 임계값을 초과하지 않는다고 가정하면 따라서 상기 사용되는 선형 함수의 공개와 관련된 위험이 존재하지 않는다면, 증명된 안전성의 장점을 가지고 있다. 그러나, 상기 칩의 서비스 수명 중 상기 인증 함수의 사용 횟수의 상기 엄격한 제한( 또는 재충전될 수 있는 카드에서 연속적인 충전 작동 사이에서)에 대한 필요성은 일정한 애플리케이션에서 충족되기 어려운 제한을 의미한다.
게다가, 제2 메커니즘은 칩들 자신에 가해진 공격보다는 상기 배선에 의한 로직 칩들을 검증하는데 사용되는 안전 모듈의 공격을 카운트하기 매우 힘들며, 따라서 도용자는 우연히 충분한 수의 좋은 응답이 구해질 때까지 그리고 도용자의 선택의 카드 번호와 관련된 비밀키를 유도할 때까지 무작위적으로 검증 모듈에 응답을 제공한다. 이러한 2개 타입의 메커니즘의 장점을 결합한 것이 프랑스 특허 FR 00/03684와 FR 00/04313에 기재되어 있다.
특허 FR 89/09734에는 연속적인 암호화 함수가 2개의 연산자에 제공되는 배선에 의한 마이크로회로가 기재되어 있는데, 상기 2개의 연산자 중 하나는 "키워드"(예를 들어, 개체에 의해 외부에서 상기 카드로 제공되는 다이(R))이며 다른 하나는 상기 카드의 내부 메모리의 출력(예를 들어, 비밀키 K 또는 상기 애플리케이션에 결합된 데이터 아이템 D)이다. 상기 연속적인 암호화 함수는 상기 키워드와 상기 내부 메모리의 출력을 수신하는 로직 작동자를 포함하는 배선에 의한 회로에 의해 구현되는데, 시간 지연 수단을 포함하고 상기 출력과 비밀 메모리의 주소 입력 사이 루프를 형성하는 시간 지연 로직 회로가 상기 배선에 의한 회로 다음에 배치되어 있다. 상기 로직 작동자의 출력은 상기 비밀 메모리의 새로운 주소 입력을 구성하기 위해 상기 비밀 메모리의 데이터 출력 상에서 작동한다.
상기 방법은 다수의 단점(drawback)을 포함하고 있다.
제1 단점은 상기 키워드와 상기 내부 메모리의 출력은 단순한 로직 작동자에 의해 결합된다는 사실에 기인한다. 보다 정확히, 상기 키워드의 비트들은 상기 로직 작동자의 제1 연산자를 구성하기 위해 연속해서 사용되며, 상기 내부 메모리의 출력 비트는 그것의 제2 연산자를 구성하기 위해 연속해서 사용된다.
결국, 상기 키워드의 소정 비트 또는 시간 지연 로직 회로의 상기 내부 메모리 출력의 소정 비트의 작동은 상기 로직 작동자의 입력에 나타나는 시간에 배타적으로 제한된다.
암호화 함수의 강력함은 부분적으로 그것의 확산(diffusion) 양에 의존하며, 특히 상기 알고리즘의 가장 많은 수의 단계들에 영향을 미치는 알고리즘의 입력 파라미터 소정 비트에 의존한다. 따라서, 확산 원칙은 각각의 연산자의 각 비트가 단지 하나의 단계에 영향을 미치기 때문에 특허 FR 89/09734에 설명되어 있는 방법에서 충분히 만족되지 않는다. 이것은 상기 연산자의 도용적인 복제를 용이하게 한다. 이것은 또한 하나 이상의 상기 알고리즘의 출력을 관찰함으로써 잔여 비밀(상기 비밀 키(K)를 구성하는)에 부과된 비트들을 발견할 수 있도록 한다. 제2 단점은 배선에 의한 회로의 로직 작동자의 입력 독립변수들은 키워드이며 상기 내부 메모리의 출력이라는 사실에 기인하는데, 이것은 상기 로직 작동자로 하여금 하나의 내부 메모리의 출력을 또 다른 내부 메모리의 출력에 결합되는 것을 방지한다. 예를 들어, 상기 로직 작동자는 비밀 키와 상기 칩에 기록된 애플리케이션 데이터 아이템을 결합할 수 없도록 한다. 이것은 애플리케이션 데이터의 도용적인 복제를 용이하게 한다.
특허 FR 89/09734에 설명되어 있는 방법의 또 다른 단점은 시간 지연 수단을 포함하고 있으며 상기 데이터 출력들과 상기 비밀 메모리의 주소 입력 사이의 루프를 형성하는 시간 지연 로직의 사용으로부터 기인한다.
처음으로, 상기 메모리가 반드시 비밀 메모리인 것이 요구되지 않는다. 비록, 상기 메모리들이 전체적으로 알고리즘의 안전성에 대해 타협없이 공지될 수 있는 단점을 가지지 않도록 하기 위해 규정되어 있다면, 상기와 같은 메모리가 가질 수 있는 단점-상기와 같은 단점은 그들의 비선형성에 관련되어 있음-을 부당하게 이용하는, 암호화 알고리즘에 대한 공격이 존재할 수 있다. 그러나, 비록 이것이 본질적이지 않더라도, 상기 사용자는 상기 알고리즘이 보다 안전하도록 그것들을 비밀로 유지할 수 있다.
두번째로, 상기 데이터 출력과 상기 메모리 주소 입력 사이에 루프를 형성하는 시간 지연 로직 회로의 사용은 매우 제한적이다. 특히, 이것은 상기 메모리의 사이즈가 상기 출력의 길이(비트)에 따라 지수적으로 증가하기 때문에, 매우 긴 출력을 가지고 있는 상기 배선에 의한 회로를 배제한다. 예를 들어, 만약 상기 출력이 4비트의 길이를 가지고 있으면, 상기 메모리 사이즈는 64비트이다. 그러나, 만약 상기 출력이 8비트의 길이를 가지고 있으면, 상기 메모리 사이즈는 2kbit이며,이것은 값싼 배선에 의한 로직 칩에 있어서는 매우 큰 사이즈이다. 만약 상기 출력인 16비트의 길이를 가지고 있으면, 상기 메모리 사이즈는 1Mbit인데, 이것은 어떠한 배선에 의한 로직 칩에 대해서도 매우 큰 메모리 사이즈이다. 그러나, 상기 배선에 의한 회로의 출력 길이는 그것의 값을 우연히 추측하려 시도하는 도용자가 거의 무시할 수 있는 우연을 가져야만 한다. 만약 4비트의 길이이면, 상기 도용자는 1/16의 기회를 가지며, 이것은 거의 모든 애플리케이션에서 과도한 우연이다. 만약 상기 길이가 8비트이며 상기 도용자는 1/256의 우연을 가지며, 이것은 대부분의 애플리케이션에서는 여전히 과도하다. 따라서, 특허 FR 89/09734에 설명되어 있는 상기 방법은 배선에 의한 로직 칩의 기술적인 제한과 대부분의 애플리케이션의 안전 제한을 동시에 충분히 만족하지 못한다.
본 발명은 암호화에 관한 것이다. 보다 구체적으로, 본 발명은 칩과 애플리케이션 사이의 트랜잭션시 도용으로부터 전자 칩을 보호하는 방법에 관한 것이다. 본 발명은 또한 전자 칩을 포함하고 있으며, 도용으로부터 전자 칩을 보호하기 위해 상기 암호화 방법을 구현하는데 적용할 수 있는 장치에 관한 것이다.
본 발명은 지불 전화로 전화를 하거나, 자동 지급기로부터 아이템에 대해 지불하거나, 주차 요금소에서 주차 요금을 지불하거나 또는 공중 이동수단 또는 기반구조의 시설물(톨, 박물관, 도서관 등)과 같은 서비스에 대해 지불하는 경우와 같은 다양한 트랙잭션시에 사용되는 선불 카드에 통합되어 있는 칩과 같은 배선에 의한(hardwire) 로직 집적 회로 칩 또는 마이크로프로세서 기반을 도용으로부터 보호하는 유리한 애플리케이션을 제공한다.
본 발명의 특징과 장점들은 이하에서 도면과 결합하여 보다 자세히 설명될 것이다.
도1은 본 발명에 상응하는 방법의 블록도이다.
도2는 혼합 함수의 일 실시예에 대한 블록도이다.
도3은 자동장치의 최종 상태에 대한 일실시예의 블록도이다.
도4는 본 발명에 상응하는 방법을 사용하여 도시되어 있는 블록도이다.
본 발명은 애플리케이션과 상기 전자 칩 사이의 트랜잭션시 도용으로부터 상기 전자 칩을 보호하는 암호화 방법 및 전자 칩을 포함하고 있으며 상기와 같은 트랜잭션시 도용으로부터 상기 전자 칩을 보호하는데 적용되는 장치에 관한 것으로, 상기 방법과 장치는 보다 구체적으로는 배선에 의한 로직 칩에 적절하며, 보다 구체적으로는 상기 결과 인증 메커니즘을 보다 강력하게 암호화하기 위해 상기 언급한 단점들로부터 자유로운 인증을 제공하는 것이며, 따라서 복제를 보다 어렵게 한다.
이러한 목적을 위해, 본 발명은 애플리케이션과 상기 전자 칩의 트랜잭션시 도용으로부터 상기 전자 칩을 보호하는 암호화 방법을 제공하는데, 상기 방법은 상기 전자 칩의 입력 파라미터들로부터 검증을 계산하는 단계를 포함하며, 추가적으로:
-혼합 함수로 상기 입력 파라미터들의 일부 또는 전부를 혼합하고 혼합 함수 출력 데이터 아이템 E'=(e'1, e'2,...e'n,...,eN)을 제공하는 단계(1);
적어도 이전 상태와 연속 비트(e'1, e'2,...e'n,...,eN)로부터의 값에 의존화는 함수에 따라 자동장치의 최종 상태를 상기 이전 상태로부터 새로운 상태로 변경하는 단계(2);
상기 자동장치의 적어도 하나의 상태를 입력 독립함수(argument)로 가지고 있는 출력 함수에 의해 상기 검증(S)을 계산하는 단계(3)를 더 포함한다.
본 발명은 추가적으로 전자 칩 및 상기 전자 칩의 입력 파라미터로부터 검증을 계산함으로써 애플리케이션과 상기 전자 칩의 트랜잭션시에 도용으로부터 상기 전자 칩을 보호하는 암호화 방법을 실행하는 수단을 포함하며, 추가적으로
상기 입력 파라미터들 전부 또는 일부를 혼합하여 상기 혼합의 결과로부터의 출력 데이터 아이템 E' = (e'1, e'2, ......., e'n, ....., e'N)을 제공하는 혼합 수단;
이전 상태와 상기 비트들의 시리즈(e'1, e'2, ......., e'n, ....., e'N)로부터의 값에 근거한 함수에 따라 이전 상태에서 새로운 상태로 변화되는 자동 장치의 최종 상태;
상기 자동장치의 적어도 하나의 상태를 포함하고 있는 입력 독립함수로부터상기 검증을 계산하는 출력을 포함한다.
따라서, 상기 방법과 상기 장치는 혼합 함수와 자동장치(automaton)에 근거한다. 인증 메커니즘을 구현하는 경우에, 상기 방법과 장치의 입력 파라미터들은 비밀 키(K), 다이(R), 애플리케이션 데이터(D) , 주소(A), 식별자(I) 등일 수 있다.
상기 암호화 방법 및 암호화 장치는 입력 파라미터들은 상기 혼합 함수에 의해 프로세스되는데, 이것은 그것의 출력에서 상기 입력 파라미터들 중 일부 또는 모두에 근거하여 데이터 아이템을 제공한다. 상기 혼합 함수의 출력 데이터 아이템은 상기 자동장치의 최종 상태를 변화화도록 작동하는데, 상기 상태들 중에서 적어도 하나의 상태는, 바람직하게는 최종 상태, 검증으로 언급되는 출력 값(S)을 계산하는데 사용된다.
상기 혼합 함수 때문에, 입력 파라미터의 소정 비트의 작동은 상기 방법을 구현하는 수단의 입력에 나타나는 시간에 배타적으로 제한되지 않지만, 반대로 상기 시간 이후의 많은 단계들에 영향을 미친다. 이것은 확산 원칙을 충족하지 않는다.
상기 자동장치는 많은 수의 검증(16, 32, 또는 64 비트)이 많은 수의 비트를 저장할 필요없이 구해질 수 있도록 한다. 상기 자동장치는 필수적으로 상기 데이터 출력과 상기 메모리의 주소 입력 사이에 루프를 형성하는 간단한 시간 지연 로직 회로를 반드시 포함하지는 않는다.
본 발명에 상응하는 방법과 장치를 사용하여 구해진 검증은 상기 애플리케이션과 상기 칩 사이의 비밀 키를 교환하는데 또는 상기 애플리케이션과 상기 칩 사이에서 교환된 데이터를 암호화하는데 그리고 상기 칩 또는 상기 애플리케이션을 인증하는데 사용될 수 있다. 또한, 이것은 상기 입력 파라미터들 중 일부 또는 전부의 전자 서명으로 해석될 수 있다. 이것은 추가적으로 상기 입력 파라미터들 중 적어도 하나를 변화시킴으로써 무작위 비트들의 시퀀스로 해석될 수 있으며, 상기 검증을 계산하는 방법은 무작위 비트를 발생하는 방법이 될 수 있다.
도1은 도용으로부터 전자 칩을 보호하는 본 발명에 상응하는 방법을 도식적으로 도시하고 있다. 상기 방법은 이하에서 설명된 함수로 구성되어 있다.
제1 함수(1)는 M 입력 파라미터 Em(m=1 에서 m까지)중 일부 또는 전부를 혼합하고 출력으로 데이터 아이템 E'= (e'1, e'2, ......., e'n, ....., e'N)을 제공하는 혼합 함수인데, 여기서 N은 출력 데이터 아이템의 비트 수이다. 각 입력 파라미터(Em)는 특정 수의 비트를 포함하고 있다. 상기 혼합 함수의 입력 데이터는 상기 입력 파라미터(Em)의 일부 또는 전부를 포함하고 있다.
제1 입력 파라미터(E1)는 상기 칩의 보호 영역, 즉 외부에서 판독되거나 또는 수정될 수 없는 칩의 메모리 영역에 저장되어 있는 비밀 키(K)일 수 있다.
제2 입력 파라미터(E2)는 상기 칩의 내부에 있는 즉, 칩의 프로그램 가능 메모리(RAM, RROM, EPROM, E2PROM)에 저장되어 있는 데이터(D)로 구성될 수 있다. 상기 데이터는 매우 다양한 종류일 수 있으며, 상기 칩의 제작시 또는 상기 칩이 포함되어 있는 물체(카드, 티겟등)의 제작시, 개체를 발행(issuing)함으로써 상기 물체를 개별화하는 동안에 또는 상기 물체를 사용자가 사용시와 같이 상기 칩 수명 중 매우 다양한 시기 동안에 기록될 수 있다.
입력 파라미터가 상기 카드로의 내부 데이터(D)로 구성되는 경우에, 제3의 입력 파라미터(E3)는 상기 데이터(D)가 저장되어 있는 상기 칩의 각 메모리 영역 또는 상기 메모리 영역의 주소일 수 있다.
제4의 입력 파라미터(E4)는 상기 칩의 외부 데이터(D')로 구성될 수 있으며, 상기 암호화 방법을 수행하기 전에, 예를 들어 상기 애플리케이션과의 트랜잭션을 시작할 때에 상기 칩으로 제공된다.
제5의 입력 파라미터(E5)는 상기 칩의 외부 다이(R)일 수 있으며, 상기 암호화 방법을 수행하기 전에, 예를 들어 상기 애플리케이션과의 트랜잭션을 시작할 때에 상기 칩으로 제공된다. 상기 다이는 무작위 값 즉, 동일한 값을 가지는 2개를 선택할 확률이 매우 낮은 우연히 선택된 값일 수 있다. 이것은 상기 애플리케이션 및 상기 전자 칩에 의해 발생된 연속적인 정수로부터 결정되거나 또는 시간 특성(전형적으로 날짜와 상기 날의 시간)으로부터 결정될 수 있다. 마지막으로, 이것은 이전에 언급한 선택들 중 일부 또는 모든 것의 조합일 수 있다.
제6의 입력 파라미터(E6)는 상기 칩의 내부 다이(R')이며, 상기 암호화 방법을 수행하기 전에 상기 칩으로 제공된다. 상기 다이는 무작위 값, 즉 너무 커서 동일한 값을 가지는 2개를 선택할 확률이 매우 낮은 우연히 선택된 값들일 수 있다. 이것은 전자 칩 그리고 외부 개체(전형적으로 애플리케이션)에 의해 발생된 연속적인 정수로부터 결정될 수 있거나 또는 날짜와 상기 날의 시간과 같은 시간 특성으로부터 결정될 수 있다. 마지막으로 , 이것은 상기 언급한 선택들 모두 또는 일부의 조합일 수 있다.
상기의 파라미터 리스트는 소모적이지 않다.
파라미터의 수를 증가시키는 것은 상기 방법을 보다 안전하게 만들지만, 간단한 구현에는 손해가 된다.
상기 입력 파라미터들(Em)으로부터 결정된, 상기 혼합 함수의 입력 데이터는 예를 들어 비트, 고정된 또는 가변적인 길이 비트 스트링, 정수, 정수가 아닌 수등과 같은 어떠한 종류의 수학적인 객체일 수 있다. 상기 동일한 조건이 상기 혼합 함수의 출력 데이터에 적용된다. 그러나, 상기 방법으로 보다 편리하게 설명하기위해, 상기 출력은 비트 E' = (e'1, e'2, ......., e'n, ....., e'N)인 것으로 취급되는데, 특히 상기 비트는 본 발명에 제한으로 작용하지 않는다.
상기 혼합 함수는 입력 데이터의 선형 함수 또는 상기 입력 데이터의 비선형 함수일 수 있다.
도2에 도시되어 있는 선형 함수(1)의 제1 예는 상기 입력 데이터의 스칼라 곱을 계산하는 단계를 구성한다. 상기 입력 데이터는 J비트(K1, K2, ....KJ), 다이 R 및 J비트(Z1, Z2,...ZJ)의 세트를 구성하는 데이터 아이템(D)로 구성되어 있는 키(K)로 구성되어 있다고 가정하면, 상기 혼합 함수의 출력 데이터 아이템의 제1 비트는 상기 설명한 2개의 데이터 아이템의 스칼라 곱으로 정의될 수 있다. 따라서, 상기 혼합 함수의 출력 데이터 아이템의 제1 비트는 배타곱 연산자를 1에서 J까지 곱(KjㆍZj)의 어느 일정한 값(j)을 계산함으로써 구해지는 J 비트에 적용한 결과와 동일하다. 도2에 도시되어 있는 실시예에서, j=1에서 J까지에 대한 곱(KjㆍZj)는 AND 로직 게이트(4j)의 출력에서 구해진다.j의 어느 일정한 값에 대한 곱(KjㆍZj)을 계산함으로써 구해진 J비트에 적용되는 상기 배타곱 연산자는 1에서 J-1까지의 모든j의 값에 대한 배타곱 게이트(5j,j+1)의 세트로 구성되어 있다. 각각의 배타곱 게이트(5j,j+1)는 2개의 입력과 1개의 출력을 가지고 있다. 적어도 하나의 입력은 AND 로직 게이트(4j)의 출력이며, 또 다른 입력은 배타곱 로직게이트(5j,j+1) 또는 AND 로직 게이트(4j)의 출력 중 하나이다. 상기 배타곱 게이트(5j-1,j)의 출력(e')은 상기 혼합 함수의 출력 데이터 아이템의 제1 비트의 값을 제공한다.
상기 출력 데이터 아이템의 제2 비트를 구하기 위해, 하나 또는 그 이상의 위치 회전 작동이 상기 키(K)에 적용된다. 이것은 상기 키(K)를 데이터 아이템(K')으로 변경되도록 한다. 상기 혼합 함수의 출력 데이터 아이템의 제2 비트는 데이터 아이템(K')과 J 비트(Z1, Z2,...ZJ)의 스칼라 곱으로 정의될 수 있다. 상기 제2 비트는 상기 배타곱 게이트(5j-1,j)의 출력(e')에 나타난다.
상기 제2 비트를 구하기 위해 설명된 작동은 상기 출력 데이터 아이템의 연속적인 비트를 구하기 위해 각 비트에 반복되어야 한다.
상기 설명한 선형 함수(1)에 기반하여 많은 잠정적인 변수들이 존재한다. 특히, J번 회전 후 상기 키(K)는 그것의 최초 상태로 돌아온다는 사실의 결과로 상기 출력 데이터 아이템의 비트가 반복 사이클에 진입하는 것을 방지할 수 있다. 만약 I가 요구되는 수의 출력 비트이면, I+J 비트(K1, K2, ..., KI+J) 중 키(K)를 사용할 수 있다. 상기 혼합 함수의 출력 데이터 아이템의 제1 비트는 데이터 아이템(K1, K2,....KJ)와 (Z1, Z2,....ZJ)의 스칼라 곱으로 정의될 수 있는데, 상기 출력 데이터 아이템의 제2 비트는 상기 데이터 아이템(K2, K3,...KJ+1)과 (Z1, Z2,....ZJ)의 스칼라 곱으로 정의될 수 있으며, 이러한 방식으로 상기 출력 데이터아이템의 마지막 비트까지 정의할 수 있는데, 이것은 벡터(KI+1, KI+2,....KI+J) 와 (Z1, Z2,....ZJ)의 스칼라 곱으로 정의될 수 있다.
이러한 변수는 출력 비트의 병렬 계산에 근거하여 출력 비트가 요구하는 각 시간의 키(K)를 제거할 수 있는 실시예가 존재하기 때문에 유리하다. 이것을 위해, I비트들 중에서 2개의 특정 레지스터들이 요구되는데, 상기 제1은 벡터(K1, K2,....KJ)로 초기화되며, 제2는 0벡터 (0, 0, ...0)로 초기화된다. 만약 Z1=1이면, 상기 제1 레지스터의 컨텐츠는 상기 제2 레지스터의 새로운 컨텐츠를 구성한다. 양 경우에, 상기 제1 레지스터의 새로운 컨텐츠는 (K2, K3,...KJ+1)이다. 상기 마지막 작동은 한 위치만큼 왼쪽으로 이동함으로써 수행되며, 새로운 비트 KI+1을 삽입한다. 만약 Z2=0이면, 상기 제2 레지스터의 컨텐츠는 수정되지 않는다. 만약 Z2=1이면, 상기 제2 레지스터의 새로운 컨텐츠는 배타곱 연산자를 상기 제1 및 제2 레지스터의 컨테츠에 적용한 결과이다. 2가지 경우에, 제1 레지스터의 새로운 컨텐츠는 (K3, K4,...KJ+2)이며, 이동하고 상기 새로운 비트(KI+2)를 삽입함으로써 구해진다. J 비트를 판독한 후, 상기 제2 레지스터에 포함되어 있는 I비트는 상기 혼합 함수의 I 출력 비트들이다.
상기 선형 함수(1)의 제2 예는 선형 피드백 이동 레지스터를 사용하는데, 상기 입력 파라미터의 비트는 연속하여 상기 레지스터에 입력되고 상기 레지스터의최초 상태 및/또는 상기 피드백 비트의 값에 영향을 미친다. 상기 "분산된 선형 피드백 이동 레지스터"라는 표현은 종종 레지스터를 언급하는데, 데이터는 상기 레지스터가 작동하는 동안에 삽입된다. 상기 출력 값(E')는 상기 레지스터의 컨텐츠로부터 추출된 하나 또는 그 이상의 비트일 수 있다. 비선형 함수(1)의 하나의 예는 입력 파라미터의 비트들이 연속해서 입력되는 비선형 피드백 이동 레지스터를 사용한다. 상기 출력 값(S')은 상기 레지스터의 컨텐츠로부터 추출된 한개 또는 그 이상의 비트일 수 있다.
제2 함수(2)은 자동장치의 최종 상태를 이전 상태에서 새로운 상태로 변화시키는 단계와 적어도 이전 상태와 상기 연속적인 비트 E' = (e'1, e'2, ......., e'n, ....., e'N)로부터의 값을 고려하는 단계로 구성되어 있는데, 상기 값은 상기 데이터 아이템(E') 모두로부터 취해진 하나 또는 그 이상의 비트들에 상응한다. 특정 실시예에서, 상기 함수는 상기 입력 파라미터(Em)의 일부 또는 전부를 고려할 수 있다. 상기 자동장치의 초기 상태는 E' 및 Em의 일부 또는 전부의 함수로 결정될 수 있다.
도3에 도시되어 있는 자동장치의 제1 예는 불린(Boolean) 회로를 사용하는 단계로 구성되어 있는데, 상기 불린 회로는 예를 들어k비트(A'1, A'2, ....A'k)의 벡터를 k+1 비트의 벡터(A1, A2, ...Ak+1)에 관련시키는데, 각각의 비트(A'i)는 AND, OR, 배타곱, NOT등과 같은 기본 연산자의 도움으로 상기 비트(A1, A2, ...Ak+1)로부터 구해지며, 여기서 (A1, A2, ...Ak)는 상기 자동장치의 이전 상태를 나타낸다. 예를 들어, k=8이면, 상기 자동장치의 출력은 다음의 식으로 주어지는데, A9=e'이고 e'는 E' = (e'1, e'2, ......., e'n, ....., e'N) 중 어떠한 일정 비트이다.
A'1 = (NOT A3) AND A2OR e'; A'2= A5OR ((NOT A8) AND(A1배타곱 A4)); A'3= A6AND A2; A'4= A1배타곱 A4배타곱 (NOT e'); A'5= A3OR A7; A'6= (NOT A5) AND A1배타곱 A8; A'7= A6OR A7; A'8= (NOT e'). 도3에 도식적으로 도시되어 있는 실시예에서, A'1은 OR 게이트(6)의 출력인데, 상기 게이트의 제1 입력은 e'이며, 제2 출력은 AND 게이트(7)의 출력이다. 상기 AND 게이트(7)은 제1 입력 (A2)과 인터리버(8)의 출력에 연결되어 있는 그것의 제2 입력을 가지는데, 상기 인터리버의 입력은 A3이다. A'2는 OR 게이트(9)의 출력인데, 상기 게이트의 제1 입력은 A5이며 제2 입력은 AND 게이트(10)의 출력에 연결되어 있다. 상기 AND 게이트(10)의 제1 입력은 인터리버(11)의 출력에 연결되어 있으며, 제2 입력은 배타곱 게이트(12)의 출력에 연결되어 있다. 상기 인터리버(11)의 입력은 A8이다. 상기 배타곱 게이트(12)는 제1 입력(A1)과 제2 입력(A2)을 가진다. AND 게이트(13)은 출력(A'3) 제1 입력(A6) 및 제2 입력(A2)을 가진다. 배타곱 게이트(14)은 출력(A'4), 제1 입력(A1) 제2 입력(A4), 및 인터리버(15)의 출력에 연결되어 있는 제3 입력을 가지는데, 상기 인터리버의 입력은 e'이다. OR 게이트(16)은 출력(A'5), 제1 입력(A3) 및 제2 입력(A7)을 가진다. 배타곱 게이트(17)는 출력(A'6), 제1 입력(A8) 및 AND 게이트(18)의 출력에 연결되어 있는 제2 입력을 가진다. 상기 AND 게이트(18)은 제1 입력(A1) 및 인터리버(19)의 출력에 연결되어 있는 제2 입력을 가지는데, 상기 인터리버의 입력은 (A5)이다. OR 게이트(20)은 출력(A'7), 제1 입력(A6) 및 제2 입력(A7)을 가진다. 인터리버(21)는 출력(A'8)를 가지는데, 그것의 입력은 e'이다. 각 비트(Ap)는 비스터블(bistable)의 출력인데, 그것의 입력은 1에서 k까지의 p의 모든 값에 대해 상기 비트(A'p)이다.
실시예에서, 상기 자동장치는 내부 상태를 구성된 새로운 벡터(A1, A2,...Ak,e)의 매 출력시에 그리고 상기 불린 회로의 입력에 상기 혼합 함수의 출력이 제시될 때k비트의 내부 상태(A1, A2,...Ak)와 새로운 상태(A'1, A'2,...A'k,e)를 가진다.
자동장치의 제2 실시예는 수 테이블에 의해 정의된 비트의 변한을 사용한다. k=8일 때, 예를 들어 상기 바이트(A1, A2, ...A8)를 2개의 쿼드(A1, A2, A3, A4) 와 (A5, A6, A7, A8)로 분할하는 것이 가능하며, 출력 비트(e')의 값이 0이면 변환(T)을 각 쿼드에 적용하고 출력 비트(e')의 값이 1이면 변환(U)을 적용한다. 상기변환(T)는 각각의 쿼드 값(a, b, c, d)을 쿼드 값(a', b', c', d')에 관련시키는 테이블에 의해 정의된다. 상기 동일한 조건이 U에 적용된다.
모든 입력 값들이 고려될 때, 상기 자동장치는 특정 최종 상태(F1, F2,...Fk)이다.
출력 함수로 언급되고 적어도 하나의 상기 자동장치의 한 상태를 포함하고 있는 입력 독립변수를 가지고 있는 제3 함수(3)는 검증(S)를 계산한다. 상기 가장 간단한 실시예는 상기 자동장치의 최종 상태만을 고려한다. 그러나, 상기 함수는 또한 상기 자동장치의 이전 상태를 고려할 수 있다. 상기 출력 함수는 바람직하게 상기 자동장치의 최종 상태에 적용되는 식별 함수이다. 달리 말하면, 상기 검증(S)는k비트(F1, F2,...Fk)의 데이터 아이템과 동일하다. 서로 다른 실시예에서, 상기 출력 함수는 절단 함수이다. 상기 검증(S)은 상기 칩의 비밀 키(K)을 알고 있는 어느 일정한 애플리케이션에 의해 검증된다. 이것을 위해, 상기 애플리케이션에 알려지지는 않았지만 상기 검증을 계산하는데 관여된 상기 모든 데이터, 예를 들어 상기 칩의 내부 데이터는 상기 검증을 전송하기 전에, 동시에 또는 후에 상기 애플리케이션으로 상기 칩에 의해 통신되어야 한다. 상기 애플리케이션은 정확하게 상기 칩과 동일한 암호화 프로세스를 사용하며, 상기 칩과 동일한 입력 데이터를 사용하며, 검증(S')을 구한다. 상기 애플리케이션은 상기 칩에 의해 계산된 검증(S)에 의해 계산된 검증(S')과 비교한다. 만약 그들이 동일하면, 상기 애플리케이션은 상기 칩이 인증되는 것으로 고려된다. 상기 애플리케이션에 의해 계산된 상기 검증이 상기 칩에 의해 검증되어 상기 칩으로 하여금 상기 애플리케이션을 인증하도록 한다.
도4는 전자 칩과 애플리케이션 사이의 트랜잭션 동안에 본 발명에 상응하는 방법을 사용하는 것을 도시하고 있다.
상기 전자 칩(23)은 서포터(24), 예를 들어 선불 카드, 전자 티겟, 은행 카드에 포함되어 있다.
상기 애플리케이션(25)은 전자 칩 판독기(26)에서 부분적으로 또는 전체적으로 작동한다. 상기 판독기는 도4에 도시되어 있는 것과 같이 접촉식 판독기 또는 비접촉식 판독기일 수 있다.
만약 상기 애플리케이션이 인증 애플리케이션이면, 상기 판독기에 상기 카드의 등장은 상기 판독기를 활성화시키며, 상기 애플리케이션을 작동시킨다. 상기 애플리케이션은 본 발명에 상응하는 방법으로 계산된 검증(27, S)을 제공함으로써 상기 칩으로 하여금 자신을 식별하도록 한다. 이것과 병행하여, 상기 애플리케이션은 상기 칩과 동일한 입력 파라미터와 동일한 방법을 사용하여 검증을 계산한다(28). 이것이 계산된 후, 상기 칩은 그것의 결과를 상기 애플리케이션에 제공하는데, 상기 애플리케이션은 그것을 그것 자신의 결과와 비교한다. 만약 상기 결과가 동일하면, 상기 칩은 인증되며, 상기 애플리케이션은 상기 칩의 인증을 통보한다. 상기 규정적인 입력 파라미터들은 전자 칩의 어떠한 사용 전에 결정될 수 있으며, 상기 칩에 삽입되고 상기 애플리케이션에 공지된다. 그들은 특정 방법을 사용하여 상기 카드의 인증 후에 갱신될 수 있다. 상기 파라미터 모두 또는 일부는 갱신될 수 있거나 또는 상기 애플리케이션은 무작위로 또는 카운터, 클록, 날짜 등의 값에 의해 결정된 다이(R)과 같은 새로운 파라미터를 제공할 수 있다.

Claims (30)

  1. 애플리케이션(25)과 전자 칩(23) 사이의 트랜잭션시, 도용으로부터 상기 전자 칩(23)을 보호하기 위한 암호화 방법으로서,
    전자 칩의 입력 파라미터(Em)로부터 검증(S)을 계산하는 단계를 포함하며,
    -혼합 함수로 상기 입력 파라미터들의 일부 또는 전부를 혼합하여 혼합 함수 출력 데이터 아이템 E'=(e'1, e'2,...e'n,...,eN)을 제공하는 단계(1);
    적어도 이전 상태와 연속 비트(e'1, e'2,...e'n,...,eN)로부터의 값에 의존화는 함수에 따라 자동장치의 최종 상태를 상기 이전 상태로부터 새로운 상태로 변경하는 단계(2);
    상기 자동장치의 적어도 하나의 상태를 입력 독립함수(argument)로 가지는 출력 함수에 의해 상기 검증(S)을 계산하는 단계(3)를 더 포함하는 전자 칩 보호 암호화 방법.
  2. 제1항에 있어서, 상기 입력 파라미터들(Em) 중 하나는 상기 칩(23)의 보호되는 메모리 영역에 저장되어 있는 비밀 키(K)인 전자 칩 보호 암호화 방법.
  3. 제1항에 있어서, 제1 입력 파라미터(Em)는 상기 칩(23) 내부의 데이터(D)를 포함하는 전자 칩 보호 암호화 방법.
  4. 제3항에 있어서, 제2 입력 파라미터(Em)는 상기 칩(23)의 메모리 영역 안에 있는 상기 데이터(D)의 주소인 전자 칩 보호 암호화 방법.
  5. 제1항에 있어서, 상기 입력 파라미터들(Em) 중 하나는 상기 칩(23)의 외부 데이터(D')로 구성되어 있으며, 상기 방법을 수행하기 전에 상기 칩(23)으로 제공되는 전자 칩 보호 암호화 방법.
  6. 제1항에 있어서, 상기 입력 파라미터들(Em) 중 하나는 상기 칩(23) 외부의 다이(R)이며, 상기 방법을 수행하기 전에 상기 칩(23)으로 제공되는 전자 칩 보호 암호화 방법.
  7. 제1항에 있어서, 상기 입력 파라미터들(Em) 중 하나는 상기 칩(23) 내부의 다이(R')이며 상기 방법을 수행하기 전에 상기 칩(23)으로 제공되는 전자 칩 보호 암호화 방법.
  8. 제6항 또는 7항에 있어서, 상기 다이(R, R')는 우연히 선택된 값인 전자 칩 보호 암호화 방법.
  9. 제6항 또는 7항에 있어서, 상기 다이(R, R')는 카운터의 값인 전자 칩 보호암호화 방법.
  10. 제6항 또는 7항에 있어서, 상기 다이(R, R')는 날짜 및 상기 날의 시간인 전자 칩 보호 암호화 방법.
  11. 제1항에 있어서, 상기 혼합 함수는 상기 입력 파라미터(Em)의 선형 함수인 전자 칩 보호 암호화 방법.
  12. 제11항에 있어서, 상기 혼합 함수는 상기 입력 파라미터들(Em)의 일부 또는 전부의 스칼라 곱을 생산하는 전자 칩 보호 암호화 방법.
  13. 제1항에 있어서, 상기 자동장치는 상기 입력 파라미터(Em)의 일부 또는 전부를 입력으로 고려하는 전자 칩 보호 암호화 방법.
  14. 제1항에 있어서, 상기 출력 함수는 상기 자동장치의 새로운 상태를 입력 독립함수로 가지는 식별 함수인 전자 칩 보호 암호화 방법.
  15. 제1항에 있어서, 상기 출력 함수는 상기 자동장치의 새로운 상태를 입력 독립함수로 가지는 삭제(truncation) 함수인 전자 칩 보호 암호화 방법.
  16. 상기 애플리케이션에 의한 상기 칩의 인증에 적용되는 제1항에 있어서,
    상기 애플리케이션(25)는 상기 전자 칩(23)에 의해 계산되는 것과 동일한 방식(28)으로 상기 애플리케이션이 계산한 검증(s')을 상기 전자 칩에 의해 계산된(27) 상기 검증(S)에 비교하는 전자 칩 보호 암호화 방법.
  17. 상기 애플리케이션에 의한 상기 칩의 인증에 적용되는 제1항에 있어서,
    상기 전자 칩(23)은 상기 애플리케이션(23)에 의해 계산되는 것과 동일한 방식(28)으로 계산된(28) 검증(S')과 상기 전자 칩이 계산(27)한 검증(S)을 비교하는 전자 칩 보호 암호화 방법.
  18. 칩과 애플리케이션 사이에서 비밀 키를 교환하기 위한 검증의 사용에서,
    상기 검증은 제1항 내지 제15항 중 어느 한 항에 상응하는 방법을 통해 구해지는 전자 칩 보호 암호화 방법.
  19. 칩 및 애플리케이션에 의한 암호화를 위한 검증의 사용에서, 상기 검증은 제1항 내지 제15항 중 어느 한 항에 상응하는 방법에 의해 구해지는 전자 칩 보호 암호화 방법.
  20. 입력 파라미터들(Em)의 전부 또는 일부를 전기적으로 시그널링하기 위한 검증의 사용에서, 상기 검증은 상기 입력 파라미터들(Em)을 고려하는 제1항 내지제15항 중 어느 한 항에 상응하는 방법에 의해 구해지는 전자 칩 보호 암호화 방법.
  21. 무작위 비트들의 시퀀스로 검증을 사용하는 경우에, 상기 검증은 제1항 내지 제15항 중 어느 한 항에 상응하는 방법에 의해 구해지는 전자 칩 보호 암호화 방법.
  22. 전자 칩(23) 및 전자 칩의 입력 파라미터(Em)으로부터 검증(S)을 계산함으로써 상기 전자 칩과 애플리케이션(25) 사이의 트랜잭션시 도용으로부터 상기 전자 칩을 보호하는 암호화 방법을 수행하는 수단을 포함하며,
    상기 입력 파라미터들 전부 또는 일부를 혼합하여 상기 혼합의 결과로부터의 출력 데이터 아이템 E' = (e'1, e'2, ......., e'n, ....., e'N)을 제공하는 혼합 수단;
    이전 상태와 상기 연속적인 비트들(e'1, e'2, ......., e'n, ....., e'N)로부터의 값에 근거한 함수에 따라 이전 상태에서 새로운 상태로 변화되는 자동 장치의 최종 상태;
    상기 자동장치의 적어도 하나의 상태를 포함하고 있는 입력 독립함수로부터 상기 검증을 계산하는 출력 수단을 더 포함하는 장치(24).
  23. 제22항에 있어서, 상기 혼합 수단은 입력 파라미터 비트들이 연속해서 입력되는 선형 피드백 이동 레지스터를 포함하는데, 상기 레지스터 및/또는 상기 피드백 비트들의 값의 초기화에 영향을 주어 상기 입력 파라미터들(Em)의 일부 또는 전부를 혼합하여 상기 레지스터의 출력에 상기 데이터 아이템 E' = (e'1, e'2, ......., e'n, ....., e'N)을 제공하는 장치(24).
  24. 제22항에 있어서, 상기 혼합 수단은 입력 파라미터 비트들이 연속해서 입력되는 선형 피드백 이동 레지스터를 포함하는데, 상기 레지스터 및/또는 상기 피드백 비트들의 값의 초기화에 영향을 주어 상기 입력 파라미터들(Em)의 일부 또는 전부를 혼합하여 상기 레지스터의 출력에 상기 데이터 아이템 E' = (e'1, e'2, ......., e'n, ....., e'N)을 제공하는 장치(24).
  25. 제22항에 있어서, 상기 자동장치는 불린(Boolean) 회로를 포함하는 장치(24).
  26. 제22항에 있어서, 상기 자동장치는 상기 출력들과 하나 이상의 메모리들의 주소 입력 사이에 있는 루프 회로를 포함하는 장치(24).
  27. 제2항 내지 제26항 중 어느 한 항에 상응하는 장치를 포함하고 있는 선불 카드.
  28. 제22항 내지 제26항 중 어느 한 항에 상응하는 장치를 포함하고 있는 티켓
  29. 제22항 내지 제26항 중 어느 한 항에 상응하는 장치를 포함하고 있는 공중 서비스 터미널 액세스.
  30. 제22항 내지 제26항 중 어느 한 항에 상응하는 장치를 포함하고 있는 전자 지불 터미널.
KR1020037014763A 2001-06-26 2002-06-07 도용으로부터 전자 칩을 보호하는 암호화 방법 KR100906518B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0108586A FR2826531B1 (fr) 2001-06-26 2001-06-26 Procede cryptographique pour la protection d'une puce electronique contre la fraude
FR01/08586 2001-06-26
PCT/FR2002/001956 WO2003001464A1 (fr) 2001-06-26 2002-06-07 Procede cryptographique pour la protection d'une puce electronique contre la fraude

Publications (2)

Publication Number Publication Date
KR20040010639A true KR20040010639A (ko) 2004-01-31
KR100906518B1 KR100906518B1 (ko) 2009-07-07

Family

ID=8864902

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037014763A KR100906518B1 (ko) 2001-06-26 2002-06-07 도용으로부터 전자 칩을 보호하는 암호화 방법

Country Status (14)

Country Link
US (1) US7526648B2 (ko)
EP (1) EP1399896B1 (ko)
JP (1) JP2004531163A (ko)
KR (1) KR100906518B1 (ko)
CN (1) CN1221928C (ko)
AT (1) ATE294430T1 (ko)
BR (1) BRPI0210673B1 (ko)
CA (1) CA2451034C (ko)
DE (1) DE60203909T2 (ko)
ES (1) ES2240766T3 (ko)
FR (1) FR2826531B1 (ko)
IL (2) IL157947A0 (ko)
MX (1) MXPA03010308A (ko)
WO (1) WO2003001464A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2850479B1 (fr) 2003-01-24 2005-04-29 France Telecom Procede cryptographique a cle publique pour la protection d'une puce contre la fraude
FR2867335A1 (fr) * 2004-03-02 2005-09-09 France Telecom Procede cryptographique notamment a cle publique
FR2867289A1 (fr) * 2004-03-02 2005-09-09 France Telecom Procede et dispositif pour accomplir une operation cryptographique
JP4612461B2 (ja) * 2004-06-24 2011-01-12 株式会社東芝 マイクロプロセッサ
TW200708027A (en) * 2005-04-29 2007-02-16 Sean O'neil Process of and apparatus for hashing
US8484481B2 (en) * 2009-07-14 2013-07-09 International Business Machines Corporation Chip lockout protection scheme for integrated circuit devices and insertion thereof
DE102011007572A1 (de) * 2011-04-18 2012-10-18 Siemens Aktiengesellschaft Verfahren zur Überwachung eines Tamperschutzes sowie Überwachungssystem für ein Feldgerät mit Tamperschutz
EP2983156B1 (fr) * 2014-08-06 2019-07-24 Secure-IC SAS Système et procédé de protection de circuit

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1321649C (en) * 1988-05-19 1993-08-24 Jeffrey R. Austin Method and system for authentication
FR2650097B1 (fr) 1989-07-19 1992-12-31 Pailles Jean Claude Carte a microcircuit cable et procede de transaction entre une carte a microcircuit cable correspondante et un terminal
TW200624B (en) 1992-04-06 1993-02-21 American Telephone & Telegraph A universal authentication device for use over telephone lines
FR2739706B1 (fr) 1995-10-09 1997-11-21 Inside Technologies Perfectionnements aux cartes a memoire
FR2739994B1 (fr) 1995-10-17 1997-11-14 Henri Gilbert Procede cryptographique de protection contre la fraude
CH690530A5 (de) * 1995-12-11 2000-09-29 Ip Tpg Holdco Sarl Verfahren zur Echtheitskontrolle eines bei einer Transaktion verwendeten vorausbezahlten Zahlungsmittels.
DE19622533A1 (de) * 1996-06-05 1997-12-11 Deutsche Telekom Ag Verfahren und Vorrichtung zum Laden von Inputdaten in einen Algorithmus bei der Authentikation
US6233685B1 (en) * 1997-08-29 2001-05-15 Sean William Smith Establishing and employing the provable untampered state of a device
DE19737693A1 (de) * 1997-08-29 1999-03-04 Philips Patentverwaltung Verfahren zur Überprüfung der Unverfälschtheit einer elektrischen Schaltung
DE69938045T2 (de) * 1998-06-03 2009-01-15 Cryptography Research Inc., San Francisco Verwendung von unvorhersagbarer Information zur Leckminimierung von Chipkarten und anderen Kryptosystemen
US6757832B1 (en) * 2000-02-15 2004-06-29 Silverbrook Research Pty Ltd Unauthorized modification of values in flash memory
FR2806858B1 (fr) * 2000-03-22 2002-05-03 France Telecom Procede cryptographique de protection contre la fraude
FR2807245B1 (fr) 2000-03-30 2002-05-24 France Telecom Procede de protection d'une puce electronique contre la fraude

Also Published As

Publication number Publication date
BR0210673A (pt) 2004-09-21
CN1520583A (zh) 2004-08-11
ATE294430T1 (de) 2005-05-15
EP1399896A1 (fr) 2004-03-24
FR2826531B1 (fr) 2003-10-24
IL157947A0 (en) 2004-03-28
ES2240766T3 (es) 2005-10-16
DE60203909T2 (de) 2006-02-16
EP1399896B1 (fr) 2005-04-27
WO2003001464A1 (fr) 2003-01-03
JP2004531163A (ja) 2004-10-07
KR100906518B1 (ko) 2009-07-07
IL157947A (en) 2007-03-08
CA2451034C (fr) 2013-01-08
FR2826531A1 (fr) 2002-12-27
CN1221928C (zh) 2005-10-05
US20040107353A1 (en) 2004-06-03
MXPA03010308A (es) 2004-02-17
CA2451034A1 (fr) 2003-01-03
DE60203909D1 (de) 2005-06-02
BRPI0210673B1 (pt) 2016-01-12
US7526648B2 (en) 2009-04-28

Similar Documents

Publication Publication Date Title
US7395435B2 (en) Secure memory device for smart cards
US7590846B2 (en) Public key cryptographic method of protecting an electronic chip against fraud
CN1344396B (zh) 便携式电子的付费与授权装置及其方法
CN108833103B (zh) 射频识别标签和读取设备之间进行安全通信的方法和系统
US7503485B1 (en) Method for generating customer secure card numbers
US20020107798A1 (en) Method for making secure the pre-initialising phase of a silicon chip integrated system, in particular a smart card and integrated system therefor
CN102725737A (zh) 可验证防泄漏的加密和解密
JP2731945B2 (ja) 個別鍵による認証が可能なicカード
JP2000222362A (ja) 多重セキュリティ・チェック・ポイントを可能にする方法及び装置
CN111275411B (zh) 数字货币钱包离线交易方法和系统、用户身份识别卡
EP3702991A1 (en) Mobile payments using multiple cryptographic protocols
KR100906518B1 (ko) 도용으로부터 전자 칩을 보호하는 암호화 방법
US8583934B2 (en) Access control to data processing means
US20030159038A1 (en) Cryptographic method for protection against fraud
Garcia et al. Wirelessly lockpicking a smart card reader
US7165177B2 (en) Method of protecting an electronic chip against fraud
Manninger 13 Smart Card Technology
Elhennawy et al. Smart Cards Structure and Applications: Emerging and Evolution
Yassaei Security and privacy analysis of Radio Frequency Identification systems
Pfitzmann et al. Smartcard-Supported Internet Payments
JPS6339094A (ja) 暗号発生カ−ド

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: 20130603

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140623

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150611

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180601

Year of fee payment: 10