[go: up one dir, main page]

KR100495682B1 - 보안모듈에서의민감한정보의기억및관리를위한방법및관련보안모듈 - Google Patents

보안모듈에서의민감한정보의기억및관리를위한방법및관련보안모듈 Download PDF

Info

Publication number
KR100495682B1
KR100495682B1 KR10-1998-0709166A KR19980709166A KR100495682B1 KR 100495682 B1 KR100495682 B1 KR 100495682B1 KR 19980709166 A KR19980709166 A KR 19980709166A KR 100495682 B1 KR100495682 B1 KR 100495682B1
Authority
KR
South Korea
Prior art keywords
security module
cpi
cpid
sensitive information
temporary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
KR10-1998-0709166A
Other languages
English (en)
Other versions
KR20000011016A (ko
Inventor
미쉘 아자르
Original Assignee
뷜 쎄뻬8
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 뷜 쎄뻬8 filed Critical 뷜 쎄뻬8
Priority to KR10-1998-0709166A priority Critical patent/KR100495682B1/ko
Publication of KR20000011016A publication Critical patent/KR20000011016A/ko
Application granted granted Critical
Publication of KR100495682B1 publication Critical patent/KR100495682B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/78Protecting 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
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3672Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes initialising or reloading thereof
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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
    • 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
    • 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/0826Embedded security module
    • 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
    • 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/1016Devices or methods for securing the PIN and other transaction-data, e.g. by encryption
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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

Landscapes

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

Abstract

본 발명은, 보안 모듈에서의 민감한 정보의 기억 및 사용 프로세스, 및 사기 행위를 위한 사용에 대해 상기 민감한 정보를 보호하기 위해 상기 프로세스를 구현하도록 구성된 보안 모듈에 관한 것이다.
상기 프로세스에 의하면, 민감한 정보(ISj)는, 시간에 따라 내용이 변화하는 임시 암호화 보호키(CPi)를 사용하여 암호화된 형태(/ISj)로 기억된다. 민감한 정보(/ISj)는, 주어진 처리법에 대해 사용되기 전에, 임시 복호화 보호키(CPid)를 사용하여 복호화된다. 암호화 키 및 복호화 키의 내용이 변화하기 전에, 민감한 정보(/ISj)가 최근의 복호화 키에 의해 복호화된 후 새로운 암호화 키에 의해 재암호화되어, 이전의 형태와는 상이한 새로운 암호화된 형태를 얻는다.

Description

보안 모듈에서의 민감한 정보의 기억 및 관리를 위한 방법 및 관련 보안 모듈
본 발명은, 보안 모듈에서의 민감한 정보의 기억 및 사용을 위한 프로세스 및 관련 보안 모듈에 관한 것이다.
"민감한 연산"은 우선, 보안 모듈에서 구현되는 연산의 보안에 지식이 중요한 영향을 미치는 임의의 정보를 가리키며, 그 예는 다음과 같다:
■ 메시지 암호화 또는 복호화 연산, 데이터 또는 개인 인증, 또는 메시지 서명을 위한 알고리즘과의 조합에 사용되는 암호 키(cryptographic keys);
■ 보안 모듈과 상호 협력하여 동작하는 터미널에 사용자가 제시하는 인증 코드(예컨대, PIN 또는 개인 식별 번호);
■ 확장적 의미에서, "민감한 정보" 라는 용어는, 그것을 소유하고 있는 개인에 의해 기밀로 간주되는 어떠한 정보, 예컨대, 은행 계좌 번호나 메시지 또는 완전한 문서까지도 나타낸다.
도 1은 데이터 처리 장치와 함께 동작하는, 본 발명에 의한 보안 모듈의 다이어그램이다.
도 2는 1세트의 임시 보호키 및 그의 여러 가지 특성을 나타내는 표이다.
도 3은 모든 민감한 정보 및 각각의 임시 보호키의 특성을 나타내는 표이다.
도 4는 임의의 민감한 정보(ISj)의 초기 암호화 과정의 플로우챠트이다.
도 5는 처리를 위한 사용을 목적으로 한 민감한 정보의 복호화 과정(/ISj)의 플로우챠트이다.
도 6은 임의의 임시 보호키(CPi)에 대한 주기적인 리프레시 과정의 플로우챠트이다.
도 7 및 도 8은, 각각 도 2 및 도 3의 표에 대응하지만, 임시 보호키 또는 리프레시된 민감한 정보를 포함하는 표를 나타낸다.
도 9는 임의의 민감한 정보에 대한 주기적인 리프레시 과정의 플로우챠트이다.
"보안 모듈"이라는 용어는, 네트워크를 관리하는 단체에 의해 보유되고, 암호 키 등의 네트워크의 기본적인 비밀 파라미터를 보호하여 기억하기 위한 통신 및 정보 네트워크의 장치를 가리키는 일반적 의미, 또는 보다 간단하게는, 네트워크의 사용자들에게 할당되는 장치로서, 각각의 사용자가 이 장치로 접근 가능하도록 하는 장치를 나타내는 것으로 받아들여야 하며, 후자의 장치는 비밀 파라미터를 보유할 수도 있다. 상기 보안 모듈은, 은행 카드 등의 컴퓨터 칩을 포함하는 포터블 디바이스(portable device) 형태를 취할 수도 있다.
본 발명은, 모든 사람이 이용 가능한 하드웨어 설비의 사용시에, 사기 행위를 행하고자 하는 개인이, 보안 모듈의 마이크로케이블(micro-cabled) 논리 장치에 정의된 프로그램 또는 명령이 실행됨에 따라, 특히, 그것이 CMOS 기술을 사용하는 경우, 상기 보안 모듈의 흐름의 소비를 관찰할 수 있다는 관측 사실에 바탕을 두고 있다. 특히, EEPROM내의 정보, 특히 앞서 정의된 민감한 정보를 판독하는 프로그램의 특정 부분을 식별하는 것이 가능하다.
따라서, 본 발명은, 특히 EEPROM과 RAM 사이 또는 그 반대로의 전송의 경우에 민감한 정보의 보호를 삽입하고, 소정 빈도, 특히 상기 민감한 정보의 기밀성 수준에 따른 빈도로 내용이 변화하는 임시 보호키에 의해 상기 민감한 정보의 보호를 암호화함으로써 보안 모듈의 보안성을 강화하기 위한 것이다.
상기 목적을 위해 본 발명은, 민감한 정보(ISj)를, 정보 처리 수단 및 정보 기억 수단을 포함하는 보안 모듈에 기억하기 위한 프로세스를 포함하며, 이 프로세스는 다음 단계들을 포함하는 것을 특징으로 한다.
■ 보안 모듈에 의해 공급되는 현재 버전(CPi(ai+1))의 임시 암호화 보호키(CPi) 및 상기 기억 수단에 관련 복호화 알고리즘과 함께 기억된 암호화 알고리즘을 사용하는 보안 모듈에 의해 민감한 정보(ISj)를 암호화하는 단계;
■ 상기 보안 모듈이, 그의 비휘발성 메모리에, 상기 임시 암호화 보호키(CPi)의 현재 버전(CPi(ai+1))과 관련된 현재 버전(CPid(ai+l))의 임시 복호화 보호키(CPid)를 정의하는, 식별 데이터와 관련된 민감한 암호화 정보(/ISj(ai+1))를 기억하되, 상기 식별 데이터는, 다수의 버전 사이에서 복호화 키의 상기 현재 버전(CPid(ai+1))을 정의하는 키 식별자(identity)(CPid) 및 갱신 인덱스 (ai+1)를 포함하는 단계; 및
■ 현재 버전(CPid(ai+1))의 임시 복호화 보호키(CPid)가 상기 비휘발성 메모리에 기억되지 않은 경우, 상기 버전이 보안 모듈에 의해 기억되도록 하는 단계.
또한, 본 발명은, 민감한 정보(ISj)가, 보안 모듈에 의해 공급되는 현재 버전(CPi(ai+1))의 임시 암호화 보호키(CPi), 및 상기 기억 수단에 관련 복호화 알고리즘과 함께 기억된 암호화 알고리즘을 사용하여 보안 모듈에 의해 암호화된 형태로 전환되는 한편, 암호화된 형태(/ISj(ai+1))의 민감한 정보가, 임시 암호화 보호키(CPi)의 상기 현재 버전(CPi(ai+1))과 관련된 현재 버전(CPid(ai+1))의 임시 복호화 보호키(CPid)를 정의하는 식별 데이터와 함께 보안 모듈의 비휘발성 메모리에 기억되며, 상기 식별 데이터는, 몇 개의 버전 사이에서 복호화 키의 상기 현재 버전(CPid(ai+1))을 정의하는 키 식별자(CPid) 및 갱신 인덱스 (ai+1)를 포함하는 정보 처리 수단 및 정보 기억 수단을 포함하는 보안 모듈내의 민감한 정보(ISj)의 사용을 위한 프로세스에 관한 것이며, 이 프로세스는 다음 단계들을 포함하는 것을 특징으로 한다.
■ 보안 모듈의 내부 또는 외부로부터 민감한 정보(ISj)의 사용에 대한 요구가 있을 때마다, 상기 보안 모듈이, 상기 식별 데이터에 의해 상기 민감한 정보와 관련된 임시 복호화 보호키(CPid)의 상기 현재 버전(CPid(ai+1))을 선택하는 단계;
■ 보안 모듈이, 암호화된 민감한 정보(/ISj(ai+1))를 임시 복호화 보호키(CPid) 및 복호화 알고리즘에 의해 복호화하고, 상기 민감한 정보의 사용 후에는 그것이 보안 모듈로부터 소거되도록, 상기와 같이 얻어진 복호화된 형태로 민감한 정보(ISj)를 일시적으로 저장하는 단계; 및
■ 보안 모듈이, 그의 복호화된 형태로 민감한 정보(ISj)를 사용하는 단계.
마지막으로, 본 발명은 상기 과정을 구현하도록 구성된 보안 모듈에 관한 것이다.
본 발명의 기타 세부 사항 및 이점은, 첨부된 설명을 참조한, 바람직한 비제한적 실시예에 관한 이하의 설명에 의해 분명해질 것이다.
도 1에 도시한 데이터 처리 장치는, 공지의 실시예에서, 물리적 접촉이 존재하거나 존재하지 않고, 1개의 보안 모듈(8) 및 1개의 전송 인터페이스(7)를 갖는 1개의 메모리 ROM(3)과 1개의 메모리 RAM(4) 및 상호 협력 수단(5)이 접속된 마이크로프로세서(2)를 포함하므로, 상기 데이터 처리 장치는, 직접 또는 통신 네트워크를 통해 다른 유사한 장치와 통신할 수 있다.
또한, 장치(1)에는, 디스켓 또는 분리 가능 디스크나 분리 불가능 디스크 등의 기억 수단, (키보드 및/또는 마우스 등의 포인팅 장치 등의) 입력 수단 및 도 1에는 도시되지 않은 표시 수단이 제공될 수 있다.
상기 데이터 처리 장치는, 개인용 또는 공용 장소에 영구적으로 또는 포터블한 형태로 설치되어, 정보를 처리하거나 일정한 상품 또는 서비스를 제공하는 수단을 공급할 수 있는 임의의 컴퓨터 장치로 구성될 수 있다. 또한, 이것은 원격 통신 장치에 관한 것이다.
또한, 보안 모듈(8)은, 정보 처리 수단(9), 비휘발성 메모리(10), 휘발성 작업 메모리 RAM(14) 및 데이터 처리 장치와의 상호 협력 수단(13)을 포함한다. 상기 모듈의 비휘발성 메모리(10)는, 정보가 일단 기록되면 모듈의 외부로부터의 액세스가 불가능하고, 처리 수단(9)의 사용을 통해서만 액세스가 가능한 비밀 영역(11), 및 정보의 판독 및/또는 기입을 위해 모듈의 외부로부터의 액세스가 가능한 자유 영역(12)으로 정의되도록 설치된다. 각 비휘발성 메모리 영역(10)은, 변경 불가능한 ROM 및 변경 가능한 EPROM, EEPROM을 포함하거나, EEPROM의 특성을 갖는 것에 부가하여 종래의 RAM과 동일한 액세스 시간을 갖는 플래시형 RAM으로 구성될 수 있다.
특히, 본 출원인에 의한 미국 특허 제 4,382,279호에 기재된 바와 같이, 자체 프로그램 가능한 비휘발성 메모리를 갖는 마이크로프로세서를 보안 모듈(8)로서 사용할 수 있다. 상기 특허의 제 1 칼럼의 13-25 행에 나타난 바와 같이, 메모리의 자체 프로그램 가능한 특성은, 이 메모리에 위치한 프로그램(fi)이 역시 이 메모리에 위치한 다른 프로그램(fj)을 프로그램(gj)으로 변경할 수 있는 능력에 해당한다. 이러한 자체 프로그래밍을 수행하기 위해 구현되는 수단은 정보 처리 수단(9)을 설계하는데 사용된 기술에 따라 달라질 수 있음에도 불구하고, 이들 처리 수단이 비휘발성 메모리와 결합된 마이크로프로세서를 포함하는 경우, 상기 특허에 따라 이들 수단은 다음을 포함할 수 있다:
■ 메모리와 관련된 데이터 및 어드레스 버퍼 메모리;
■ 메모리에 로드되고, 메모리의 프로그래밍 전압과 더불어, 기입되는 데이터 및 그들의 어드레스를 충분히 긴 시간동안 유지하도록 하는 명령어를 특히 포함하며, 논리 콘트롤러에 기입하는 논리 회로로 대체될 수 있는, 메모리 기입용 프로그램.
다른 실시예에서, 보안 모듈(8)의 마이크로프로세서는, 반도체칩에 위치한 논리 회로에 의해 대체되거나 적어도 완성될 수 있다. 이러한 회로는, 마이크로프로그램에 의하지 않고 배선에 의한 전자공학을 이용하여, 계산, 특히 인증 및 서명을 수행할 수 있다. 특히, 이들 회로는 ASIC(Application Specific Integrated Circuit)형이 가능하다. 그 예로서, SIEMENS 사의 제품 번호 SLE 4436 및 SGS-THOMSON 사의 제품 번호 ST 1335 를 들 수 있다.
보안 모듈(8)은 단일 칩상에 모노리식 형태로 설계되는 것이 유리하다.
상술한 자체 프로그램 가능한 비휘발성 메모리를 구비한 마이크로프로세서의 변형예에서, 보안 모듈의 보호 특성은 그것이 불가침 영역(temper-proof enclosure)내에 위치하고 있는 것에 기인한다.
본 발명은, 몇 개의 임시 암호화 보호키(CP1,...CPi,...CPn) 및 몇 개의 관련 임시 복호화 보호키(CPd1,...CPdi,...CPdn)를 구현한다. 사용된 암호화 알고리즘의 종류에 따라, 상기 임시 복호화 보호키는 상기 임시 암호화 보호키와 동일하거나, 또는 상이할 수도 있다. 따라서, 암호화 알고리즘으로서, 비밀키가 임시 암호화 보호키(CP1,...CPi,...CPn) 중 하나에 대응하는 DES (Data Encryption Standard) 알고리즘 등의 대칭 비밀키 알고리즘을 일반적으로 사용한다. 이런 종류의 알고리즘에 있어서, 암호화 알고리즘의 역과 동일한 복호화 알고리즘이 사용되고, 암호화 및 복호화에 비밀키가 사용된다. 즉, 복호화 연산은, 암호화 키와 동일한 복호화 키를 사용한다.
RSA(발명자인 Rivest, Shamir 및 Adleman에서 유래됨) 등의 공공 키 비대칭 알고리즘을 사용하고, 공공 암호화 키 및 다른 비밀 복호화 키가 암호화 키와 상이하도록 구현하는 것은 보다 덜 유리하다. 이 경우, 보안 모듈은, 2개의 연속하는 버전을 사용하여, 2개의 키 또는 파라미터를 그들의 재구성을 위해 저장한다.
이하의 도면의 설명에서, 임시 복호화 보호키(CPd1,...CPdi,...CPdn)가 하나로 되고 임시 암호화 키(CP1,...,CPi,...CPn)와 동일하게 되도록, 비밀 키를 갖는 대칭 알고리즘을 사용한다; 이 때문에, 기호 (CPd1,...CPdi,...CPdn)를 사용하지 않고 (CP1,...CPi,...CPn)로 대체하여, 암호화를 처리하는지 복호화를 처리하는지를 명기하지 않고 단지 "임시 보호키"라 칭한다.
상기 암호화 알고리즘은, 보안 모듈이 사용되는 애플리케이션에 관련된 다른 함수에 사용되는 알고리즘과 동일하거나, 임시 키 보호 암호화 작업에 특정된 것일 수 있다.
도 2의 표는, 각각 그들을 나타내기 위해 사용되는 키 번호(N1,...Ni,...Nn)를 갖는 n개의 임시 보호키(CP1,...,CPi,...CPn)를 정의하는 제 1 열을 포함하고 있다. 보안 모듈의 시기 부적절한 처리시의 임의의 인터럽트에 대처하기 위해, 각각의 임시 보호키에 대해, 2개의 연속하는 키 값이 저장되고, 이들 각각은 키에 관련된 갱신 인덱스 및 (a1,...ai,...an)에 의해 식별된다. 상기 갱신 인덱스에는 갱신 순위(updating rank)가 주어진다. 따라서, 키(CPi)는 갱신 인덱스(ai+1)에 의해 정의되는 현재값(CPi(ai+1)), 및 갱신 인덱스(ai)에 의해 정의되는 그 직전의 값(CPiai)을 갖는다. 상이한 갱신 인덱스는 상호 독립적으로 변화한다.
도 3의 표의 제 1 열은 m 개의 민감한 정보(IS1,IS2,...IS(j-1),ISj,...ISm)를 나타내며, 이들 각각은, 암호화 알고리즘, 및 도 2의 표로부터 선택된 임시 보호키에 의해 암호화된 형태로 보안 모듈에 기억된다. 상기 표의 제 2 열은, 각 민감한 정보의 항목에 사용되는 임시 보호키의 번호를 정의한다. 따라서, 임시 보호키(CP1)(그것의 번호는 N1)는 민감한 정보(IS1, IS2)의 보호에 사용되고, 임시 보호키(CPi)는 민감한 정보(IS(j-1), ISj)를 보호하며, 임시 보호키(CPn)는 민감한 정보(ISm)만을 보호한다. 상기 표의 제 3 열은, 임시 보호키가 민감한 정보의 암호화에 사용될 때의 임시 보호키의 갱신 인덱스를 나타낸다. 따라서, 민감한 정보(IS1,IS2,...ISj,...ISm)는, 적용 가능한 최근의 갱신 인덱스[(al+1), (ai+1) 또는 (an+1)]를 갖는 키로 암호화되므로, 민감한 정보(IS(j-1))는, 최근의 갱신 인덱스(ai+1) 이전의 갱신 인덱스(ai)를 갖는 키로 암호화된다. 마지막으로, 상기 표의 제 4 열은, 민감한 정보의 기억 버전을 나타낸다. 따라서, 민감한 정보(ISj)는, 관련 임시 보호키에 관련된 갱신 인덱스(ai+1)를 갖는 암호화된 /ISj(ai+1)로 기억된다.
일반적으로, 도 2 및 3의 표에 포함된 데이터는 보안 모듈의 비휘발성 메모리(10)에 기억되는 한편, CPiai 등의 임시 보호키는 비밀 영역(11)에 기억되고, 다른 데이터는 가급적 비밀 영역(11) 또는 자유 영역(12) 중 어느 하나에 기억된다. 상기 데이터의 크기에 관한 한, 비트 단위로 표현하면, 상기 키의 크기는, 그들이 임시 보호키(CPi)인지 민감한 정보(ISj)로서 간주되는 키인지에 관계없이 일반적으로 64 비트인 반면, 상기 번호(Ni) 및 갱신 인덱스(ai)의 크기는 일반적으로 1바이트이다. 도 2의 표의 제 1 열이 보안 모듈에 기억되지 않음에도 불구하고, 그것을 기억하는 것이, 이들 임시 보호키가 다른 형태의 정보를 포함하는 영역에 기억된 것으로 여겨지는 경우, 관련된 정보의 형태를 정의하는데 유용하다.
CPi 등의 각 임시 보호키는, 시간에 따라 변화하는 값을 갖고, 보안 모듈에의해 내부적으로 생성된다. 바람직한 1실시예에서, 각 CPi 키는 임의의 수이거나, 시간에 따른 전개가 예측 불가능한 형태로 보안 모듈에 의해 생성된 임의의 수의 함수이다. 상기 임의의 수는, 예컨대 미국 특허 제 5,177,790호 또는 제 5,365,466호에 기재된 프로세스 중 하나에 따른 소프트웨어, 또는 임의의 물리적 크기를 생성하는 회로에 의해 생성될 수 있다. 각 CPi 키가, 소정의 규칙에 의해 시간에 따라 변화하는 데이터를 나타내는 것은 보다 덜 바람직하다. 예컨대, 상기 데이터는, 1단위씩 규칙적으로 증가하는 카운터의 내용과 동일하다. 상황에 따라, 각 임시 보호키(CPi)는, 미리 생성되거나 또는 민감한 정보(ISj)의 암호화에 사용될 때 생성된다. 모든 경우에 있어서, 예컨대, 민감한 정보(ISj)가 메시지의 암호화나 서명, 또는 메세지나 개인의 인증 등의 암호 연산에 삽입되도록, 비제한적인 외부 세계(예컨대, 보안 모듈과 상호 협력하는 임의의 터미널 또는 정규 사용자)에 명백한 연산이 상기 비제한적 외부 세계로부터의 요구에 의해 간접적으로 관련될 수 있다고 해도, 보안 모듈 또는 상기 당국만이 상기 연산의 수행에 관한 결정을 내릴 수 있다는 측면에서, 민감한 정보(ISj)의 암호화나 복호화 및 임시 보호키(Cpi)의 생성은, 전적으로 보안 모듈의 제어하에 있거나, 어떤 경우에는, 보안 모듈과 협력하여 작업하는 특별히 명확한 당국의 제어하에 있게 된다.
가장 흔한 경우에, 보안 모듈이 명확하지 않은 터미널과 상호 협력하고, 그 자신이 민감한 정보(ISj)의 암호화나 복호화뿐만 아니라 임시 보호키(Cpi)의 생성을 체크한다. 보안 모듈이, 그것을 초기화하기 위한 초기 사용 전이나 라이프타임(lifetime)중에 명확한 당국의 터미널과 상호 협력하여, 상기 명확한 당국이 보안 모듈을 체크하거나 그것에 포함된 함수 또는 데이터를 수정할 수 있도록 하는 것은 보다 덜 흔한 경우이다; 후자의 경우에 있어서, 임시 보호키(CPi)의 생성 및 민감한 정보(ISj)의 암호화나 복호화는 가능한 한 상기 당국의 제어하에 있고, 더 이상 보안 모듈의 제어하에 있지 않다.
도 4는 임의의 민감한 정보(ISj)를 보안 모듈의 비휘발성 메모리(10)에 기억하기 이전의, 그것에 대한 초기 암호화 과정의 플로우챠트이다. 전형적인 예로서, 상기 과정은, 민감한 정보(ISj)를 보안 모듈에 기억하고자 하는 당국에 의해 보안 모듈의 외부로부터 트리거된다. 우선, 단계(41)에서, 보안 모듈이, 외부로부터 입력된 새로운 민감한 정보(ISj)를 작업 메모리(14)에 기억하고, 다음으로, 단계(42)에서, 보안 모듈 또는 명확한 당국이, 민감한 정보(ISj)의 평가에 새로운 임시 보호키(CPi)를 사용할지 또는 현존하는 키를 사용할지를 결정한다. 그 응답이 "아니오"이면, 보안 모듈의 처리 수단(9)은, 이미 비휘발성 메모리(10)에 존재하는 임시 보호키를 선택하여(단계 43), 그것을 휘발성 작업 메모리(14)로 전송한다(단계 44). 도 3의 실시예에서, 그것은 번호(Ni)를 갖는 키(CPi)이다. 키 값에 따라, 상기 보안 모듈은 가장 높은 갱신 인덱스를 갖는 것을 선택한다: 본 경우에 있어서, 그것은 인덱스(ai+1)이지만, 상기 키가 한번도 갱신되지 않은 경우 그것은 인덱스 1이 된다. 반대로, 단계(42)에서 새로운 임시 보호키가 생성되어야 한다고 결정되면, 단계(45)에서, 보안 모듈에 의해 작업 메모리(14)에서 상기 생성이 발생하고, 상기 키가 다음의 사용을 위해 비휘발성 메모리에 기억된다(단계 46).
단계(47)에서, 보안 모듈이 키(CPi)에 의해 정보(ISj)를 평가하여 결과(/ISj(ai+1))를 얻는다. 단계(48)에서, 보안 모듈이 상기 결과를 이러한 민감한 정보를 위해 할당된 비휘발성 메모리 영역에 기억한다. 물론, 민감한 정보(/ISj(ai+1))와 협력하여, 도 3에 도시한 바와 같이, 보안 모듈은 사용된 키의 번호(Ni) 및 갱신 인덱스(ai+1)를 저장한다.
도 5는, 처리 작업, 특히 보안 모듈 내부의 처리에 사용하기 위해 민감한 정보(/ISj)를 복호화하는 과정의 플로우챠트이다. 단계(51)에서, 예컨대 데이터 처리 장치(1)의 시작부에서 민감한 정보(ISj)의 사용이 요구되면, 단계(52)에서, 보안 모듈이, 그의 비휘발성 메모리(10)로부터 그의 작업 메모리(14)로, [적용 가능한 버전(ai+1)에서의] 대응하는 임시 보호키(CPi)에 의해 암호화된 형태(/ISj(ai+1))의 민감한 정보를 전송한다. 그 후, 그것은 상기 키를 사용하여 민감한 정보를 복호화(단계 53)하여, 복호화된 민감한 정보(ISj)를 얻는다. 단계(54)에서, 민감한 모듈은 수행될 처리에 상기 복호화된 민감한 정보(ISj)를 사용한다. 상기 복호화된 민감한 정보(ISj)는, 수행될 처리에 사용된 후 소멸되어 보안 모듈에 더 이상 영구적으로 존재하지 않는다. 본 실시예에서, 상기 민감한 정보는 휘발성 메모리의 특성에 의해 얻어지므로, 그것에 포함된 정보는, 정보 처리 장치(1)와의 통신의 종료시 발생하는 전원의 차단에 따라 소멸된다.
도 6은, 임의의 임시 보호키(CPi)의 주기적인 리프레시 과정(갱신)의 플로우챠트이다. 그것의 주요 이점은, 상기와 같은 방법으로 상기 키의 내용의 변화가 발생하여, 상기 키를 복호화하려는 임의의 사기 행위의 시도가 성공하기 어렵도록 하는 것이다; 또한, 관련된 민감한 정보를 더욱 암호화함으로써, 상기 리프레시된 키가, 암호화된 형태의 상기 정보를 리프레시하여, 상기 민감한 정보의 내용을 암호화된 형태로부터 복호화하는 것을 더욱 어렵게 할 것이다. 분명히 해커는, 특히 비휘발성 메모리와 작업 메모리(14) 사이에서 데이터가 전송되는 동안 보안 모듈의 터미널을 가로지르는 전기적 신호의 관찰에 의존할 수 있는데, 이것은, 상기 신호가 실제로 보안 모듈에 의해 수행되는 처리의 특성에 의해 항상 영향받는다는 사실에 기인한다. 해커가 상당수의 상기 관찰 내용을 기억하여 통계적 분석을 수행한다면, 관련된 민감한 정보의 재구성이 가능할 것이다.
도 6의 과정은, 소정의 속도 또는 임의의 속도로 임시 보호키를 리프레시하도록 설정된 보안 모듈의 시작부, 또는 정보 처리 장치(1)의 시작부 중 어느 하나에서 트리거되며, 상기 정보 처리 장치는 이를 위해 보안 모듈에 적절한 메시지 또는 명령을 전송한다. 그러나, 후자의 경우에 있어서, 상기한 바와 같은 과정의 실행은, 상기 데이터 처리 장치(1)가 명확한 당국의 것인 특별한 경우를 제외하고는 여전히 보안 모듈의 제어하에 있다. 문제의 민감한 정보의 형태에 따른 주기로 리프레싱이 발생하는 것이 바람직하다: 따라서, 적은 수의 숫자를 포함하고 자주 사용되므로, 암호화 키 또는 서명보다 사기 행위가 시도되기 쉬운 기밀 사용자 코드나 PIN(Personal Identification Number) 등의 민감한 정보에 대해 리프레싱이 더욱 고속으로 발생한다. 보안 모듈은, 민감한 정보의 각 항목에 적용되는 리프레시 속도에 관한 지표를 그의 비휘발성 메모리(10)에 효과적으로 저장한다. 예컨대, 문제의 민감한 정보가 소정의 회수만큼 사용되었을 때마다 리프레시 속도가 제공될 수 있다.
초기 단계(61)에서, 보안 모듈은 도 2의 표를 참고하여, 리프레시 하려는 임시 보호키(CPi)가 그것이 보호하고 있는 모든 민감한 정보에 대해 가장 높은 갱신 인덱스를 갖게 되는지의 여부를 판정한다. 실제로, 각각의 키에 대해 오직 2개의 연속하는 버전을 유지하는 것이 바람직하다고 여겨진다면, 키의 리프레싱은 이전 버전을 소거하여, 그 자리에 보다 최근의 버전을 기입하는 것을 전제로 한다. 그러나, 이런 방식의 소거는, 이전 버전을 사용하여 복호화해야 하는 최근에 저장된 민감한 정보가 존재하지 않는 경우에만 가능하다; 그렇지 않은 경우 복호화는 불가능하다.
단계(61)에서 규정된 조건이 충족되지 않으면, 보안 모듈은 관련된 민감한 정보의 암호화된 형태를 갱신한다. 우선, 단계(62)에서, 상기 보안모듈은, 상기 민감한 정보[본 경우에 있어서, 유일한 민감한 정보 항목 /IS(j-1)ai]를 임시 보호키(CPi)의 대응값(CPiai), 및 상기 키의 가장 최근의 값(CPi(ai+1))과 함께 작업 메모리(14)로 전송한다. 단계(63)에서, 상기 보안 모듈은 키(CPiai)에 의해 민감한 정보(/IS(j-1)ai)를 복호화한 후, 단계(64)에서, (암호화된 형태의) 상기 민감한 정보(/IS(j-1)ai)를, 다음의 IS(j-1)의 암호화가 인터럽트되는 경우에 소실되는 것을 방지하기 위해 비휘발성 메모리(10)의 버퍼 영역에 기억한다. 단계(65)에서, 보안 모듈은, 임시 보호키(CPi)의 가장 최근의 값(CPi(ai+1))에 의해 복구된 민감한 정보(IS(j-1))를 암호화하여, 민감한 정보(IS(j-1))의 암호화된 형태의 가장 최근 버전(/IS(j-1)(ai+1))을 얻는다. 마지막으로, 단계(66)에서, 보안 모듈은, 비휘발성 메모리(10)의 가장 오래된 값(/IS(j-1)ai)을 가장 최근의 값(/IS(j-1)(ai+1))으로 대체하고, 갱신 인덱스(ai)를 1단위만큼 증가시켜 갱신하여 (ai+1)을 얻는다: 이러한 상태가, 도 8의 표의 제 3 열 및 제 4 열에 볼드 문자로 나타나 있다.
상기 단계 후, 또는 단계(61)의 조건이 이미 충족된 경우, 단계(67)에서, 작업 메모리(14)의 새로운 갱신 인덱스(ai+2)에 대해 임시 보호키(CPi)의 새로운 값(CPi(ai+2))을 생성한다. 전술한 바와 같이, 바람직한 1실시예에서, 상기 새로운 값은 임의의 수이거나 임의의 수에 의존한다. 마지막으로, 단계(68)에서, 도 2의 표의 보안 모듈은, 비휘발성 메모리(10)에서, 임시 보호키(CPi)의 가장 오래된 값(CPiai)을 가장 최근의 값(CPi(ai+2))으로 대체하고, 갱신 인덱스(ai)를 1단위만큼 증가시켜 갱신하여 (ai+2)를 얻는다: 이러한 상태는 도 7의 표의 제 3 열 및 제 4 열에 볼드 문자로 나타나 있다.
도 9는, 임의의 민감한 정보에 대한 주기적인 리프레시 과정의 플로우챠트이다. 일반적으로, 상기 과정은 도 6의 키에 대한 리프레시 과정을 따르고, 특히 이러한 방식으로 리프레시되는 키와 관련된 민감한 정보와 관계가 있다; 그러나, 다른 방법으로서, 후에 상기 과정을 수행할 수 있다. 상기 과정은, 도 6의 과정과 동일하게, 소정의 속도 또는 임의의 속도로 그의 민감한 정보를 리프레시하도록 설정된 보안 모듈의 시작부, 또는 데이터 처리 장치의 시작부 중 어느 하나에서 트리거되며, 상기 데이터 처리 장치는 이를 위해 보안 모듈에 적절한 메시지 또는 명령을 전송한다. 그러나, 후자의 경우에 있어서, 상기한 바와 같은 과정의 실행은, 상기 데이터 처리 장치(1)가 명확한 당국의 것인 특별한 경우를 제외하고는 여전히 보안 모듈 단독의 제어하에 있다.
따라서, 단계(91)에서, 민감한 정보의 리프레싱에 대한 요구가 공식화된다. 단계(92)에서, 보안 모듈은, 문제의 민감한 정보 및 그들의 임시 보호키를 작업 메모리(14)로 전송한다: 본 실시예에서, 이것은 민감한 정보(/IS(j-1)(ai+1), /ISj(ai+1)) 및 키(CPi(ai+1), CPi(ai+2))와 관계가 있다. 단계(93)에서, 보안 모듈은 키(CPi(ai+1))를 갖는 상기 민감한 정보를 복조화한 후, 단계(94)에서, 상기 민감한 정보(IS(j-1),ISj)를 암호화하여 키(CPi(ai+2))를 얻는다. 단계(95)에서, 상기 보안 모듈은, 상기 암호화된 민감한 정보(/IS(j-1)(ai+2), /ISj(ai+2))를 비휘발성 메모리의 상기 버퍼 영역에 기억한다. 마지막으로, 단계(96)에서, 상기 보안 모듈은, 상기 데이터를 상기 민감한 정보(/IS(j-1)(ai+1), /ISj(ai+1))를 대신하여 기억하고, 갱신 인덱스(ai+1)를 1단위만큼 증가시킴으로써 갱신하여 (ai+2)를 얻는다: 이러한 상태는, 도 8의 표의 제 5 열 및 제 6 열에 볼드 문자로 나타나 있다.
상기 여러 가지 과정에 있어서, 상기 단계들의 연쇄화는, 본 발명의 프로세스에 무관하지만 일정한 순간에 상위의 것으로 간주되는 다른 작업을 실행하기 위해, 보안 모듈의 정보 처리 수단(9)에 의해 일시적으로 인터럽트될 수 있다. 이 경우, 상기 과정은, 상기 작업의 실행의 종료시 재개된다. 또한, 보안 모듈이 임시 보호키 및 민감한 정보를 처리하는 순서는, 다양한 변형예에 따라 변경될 수 있다. 예컨대, 도 6의 과정은, 다른 키와 상관없이 CPi 키의 완전한 리프레싱을 보장한다; 또 다른 변형예에서, 보안 모듈은 몇 개의 키를 동시에 리프레시 하여, 각각의 키에 특정된 도 6의 단계들이, 다른 키에 특정된 단계들에 인접하거나 또는 삽입된다.
복호화된 민감한 정보를 주어진 처리 작업에 사용한 후 소거하는 방법에 관한 한, 이하의 실시예는, 정보 처리 장치(1)와의 통신의 종료시, 활발히 동작하는 휘발성 메모리(이 경우에는 작업 메모리(14))의 정보 손실의 특성을 사용한다. 1 변형예로서, 민감한 정보의 일시적인 저장에 사용된 메모리가 휘발성이 아니라면, 보안 모듈의 마이크로프로세서(9)에 의해 실행되는 특정 명령을 사용하여, 메모리로부터의 상기 정보의 소거를 트리거할 필요가 있다. 본 명세서의 일부에서 사용되는 "사용 후에는 보안 모듈로부터 소거되도록, 복호화된 민감한 정보를 일시적으로 저장한다"는 표현은, 보다 명확하게는 상기 2가지 형태의 실행을 포괄하기 위한 것이다.
비대칭 공공 키 알고리즘을 사용하는 상기 본 발명의 변형예의 경우, 이와 같은 알고리즘은 일반적으로, 민감한 정보의 일반형(64 비트)보다 실질적으로 큰 512 비트형의 데이터를 입력받는다. 따라서, 상기 알고리즘에 의한 공통 암호화 전에 전체적인 512 비트형을 달성하기 위해, 몇 가지 정보의 민감한 항목의 분류 및 연관을 수행하는 것이 바람직하다.
상기 실시예에서, 보안 모듈(8)은 일반적으로 정보 처리 장치(1)와 접속된 모드에서 동작한다. 1 변형예로서, 상기 보안 모듈은 전기 에너지의 자체 공급 수단을 갖고, 정보 처리 장치와 접속되지 않은 독립 모드에서, 민감한 정보의 기억 또는 사용을 위한 상기 프로세스, 또는 상기 프로세스의 적어도 몇 단계를 구현한다.

Claims (12)

  1. 민감한 정보(ISj)를 보안 모듈(8)에 저장하기 위한 프로세스로서, 상기 보안 모듈(8)은 정보 처리 수단(9) 및 정보 기억 수단(10,14)을 포함하고, 상기 정보 처리 수단(9)은 상기 정보 기억 수단(10, 14)과 보안 모듈 인터페이스 수단(13)의 사이에 제공되며, 상기 민감한 정보(ISj)를 보안 모듈(8)에 저장하는 프로세스는:
    보안 모듈에 의해 공급되는 현재 버전(CPi(ai+1))의 임시 암호화 보호키(CPi) 및 상기 기억 수단에 관련 복호화 알고리즘과 함께 기억된 암호화 알고리즘을 사용하는 보안 모듈에 의해 민감한 정보(ISj)를 암호화하는 단계,
    상기 보안 모듈이, 그의 비휘발성 메모리(10)에, 상기 임시 암호화 보호키(CPi)의 현재 버전(CPi(ai+1))과 관련된 현재 버전(CPid(ai+1))의 임시 복호화 보호키(CPid)를 정의하는, 식별 데이터와 관련된 암호화된 민감한 정보(/ISj(ai+1))를 기억하되, 상기 식별 데이터는, 다수의 버전 사이에서 복호화 키의 상기 현재 버전(CPid(ai+1))을 정의하는 키 식별자(key identity)(CPid) 및 갱신 인덱스 (ai+1)를 포함하는 단계; 및
    현재 버전(CPid(ai+1))의 임시 복호화 보호키(CPid)가 이미 상기 비휘발성 메모리(10)에 기억되지 않은 경우, 상기 버전이 보안 모듈에 의해 기억되도록 하는 단계를 포함하는 것을 특징으로 하는 프로세스.
  2. 제 1 항에 있어서, 상기 보안 모듈은, 연속하는 상이한 버전의 임의의 수를 공급하기 위한 임의의 수의 생성 수단을 포함하여, 보안 모듈에 의해 공급되는 임시 암호화 보호키(CPi)의 각 버전은 상기 임의의 수의 상이한 버전으로부터 얻어지는 기억 프로세스.
  3. 민감한 정보가, 상기 보안 모듈에 의해 공급되는 현재 버전(CPi(ai+1))의 임시 암호화 보호키(CPi), 및 상기 기억 수단의 관련 복호화 알고리즘과 함께 기억된 암호화 알고리즘을 사용하여, 보안 모듈에 의해 암호화된 형태로 되는 한편, 암호화된 형태(/ISj(ai+1))의 민감한 정보는, 임시 암호화 보호키(CPi)의 상기 현재 버전(CPi(ai+1))과 관련된 현재 버전(CPid(ai+1))의 임시 복호화 보호키(CPid)를 정의하는 식별 데이터와 함께 보안 모듈의 비휘발성 메모리(10)에 기억되어 있으며, 상기 식별 데이터는, 몇 개의 버전으로부터 복호화 키의 상기 현재 버전(CPid(ai+1))을 정의하는 키 식별자(CPid) 및 갱신 인덱스(ai+1)를 포함하는, 정보 처리 수단(9) 및 정보 기억 수단(10,14)을 포함하는 보안 모듈(8)의 민감한 정보(ISj)를 구동하기 위한 프로세스에 있어서,
    보안 모듈의 내부 또는 외부로부터 민감한 정보(ISj)의 사용에 대한 요구가 있을 때마다, 상기 보안 모듈이, 상기 식별 데이터에 의해 상기 민감한 정보와 관련된 임시 복호화 보호키(CPid)의 상기 현재 버전(CPid(ai+1))을 선택하는 단계;
    보안 모듈이, 암호화된 민감한 정보(/ISj(ai+1))를 임시 복호화 보호키(CPid)의 현재 버전(CPid(ai+1)) 및 복호화 알고리즘에 의해 복호화하고, 상기 민감한 정보의 사용 후에는 그것이 보안 모듈로부터 소거되도록, 상기와 같이 얻어진 복호화된 형태로 민감한 정보(ISj)를 일시적으로 저장하는 단계; 및
    보안 모듈이, 그의 복호화된 형태로 민감한 정보(ISj)를 사용하는 단계를 포함하는 것을 특징으로 하는 프로세스.
  4. 제 3 항에 있어서, 민감한 정보의 암호화된 형태를 주기적으로 수정하는 동작 프로세스에 있어서,
    상기 보안 모듈이, 현재의 암호화된 형태(/ISj(ai+1))로 기억된 민감한 정보를, 그와 관련된 임시 복호화 보호키(CPid)의 현재 버전(CPid(ai+1))을 사용하여 복호화하는 단계;
    상기 보안 모듈이 임시 암호화 보호키(CPi)의 새로운 버전(CPi(ai+2))을 선택하는 단계;
    상기 보안 모듈이, 복호화된 민감한 정보(ISj)를, 임시 암호화 보호키의 새로운 버전(CPi(ai+2)), 및 민감한 정보의 새로운 암호화된 형태(/ISj(ai+2))를 생성하기 위한 상기 암호화 알고리즘에 의해 재암호화하는 단계;
    새로운 암호화된 형태(/ISj(ai+2))의 민감한 정보, 및 임시 암호화 보호키의 상기 새로운 버전(CPi(ai+2))과 관련된 임시 복호화 보호키(CPid)의 새로운 버전(CPid(ai+2))을 상기 보안 모듈에 기억하는 단계를 포함하는 것을 특징으로 하는 동작프로세스.
  5. 제 4 항에 있어서, 상기 보안 모듈은, 연속하는 상이한 버전의 임의의 수를 공급하기 위한 임의의 수의 생성 수단을 포함하여, 보안 모듈에 의해 공급되는 임시 암호화 보호키(CPi)의 각 현재 버전(CPi(ai+1)) 및 새로운 버전(CPid(ai+2))은 상기 임의의 수의 상이한 버전으로부터 얻어지는 동작 프로세스.
  6. 제 4 항에 있어서, 각 임시 복호화 보호키(CPid)의 가장 최근의 2개의 버전, 즉, 끝에서 두 번째 버전(CPidai) 및 마지막 버전(CPid(ai+1))이 상기 보안 모듈의 비휘발성 메모리(10)에 기억되고, 임의의 임시 암호화 보호키의 새로운 버전(CPi(ai+2))이 상기 보안 모듈에 의해 생성되면, 관련된 임시 복호화 보호키(CPid)의 새로운 대응 버전(CPid(ai+2))을 상기 끝에서 두 번째 버전(CPidai) 대신에 비휘발성 메모리(10)에 기억하는 것을 특징으로 하는 동작 프로세스.
  7. 제 6 항에 있어서, 몇 개의 민감한 정보(IS(j-1),ISj)의 항목이 각각, 암호화된 형태(/IS(j-1)ai,/ISj(ai+1))를 제공하기 위해, 동일한 임시 암호화 보호키(CPi)와는 상이한 끝에서 두 번째 버전(CPiai) 및 마지막 버전(CPi(ai+1))에 의해 암호화되고, 상기 민감한 정보의 항목의 새로운 버전이 보안 모듈에 의해 생성되어야 하는 경우,
    상기 보안 모듈이, 임시 암호화 보호키(CPi)의 끝에서 두 번째 버전(CPiai)에 의해 암호화된 민감한 정보(/IS(j-1)ai)의 항목을, 그와 관련된 임시 암호화 보호키(CPid)의 끝에서 두 번째 버전(CPidai)을 사용하여 복호화하는 단계;
    상기 보안 모듈이, 상기 복호화된 민감한 정보(IS(j-1))의 항목을, 임시 암호화 보호키의 상기 마지막 버전(CPi(ai+1))을 사용하여 재암호화 하여, 상기 민감한 정보의 항목의 새로운 암호화된 형태(/IS(j-1)(ai+1))를 생성하는 단계; 및
    상기 새로운 암호화된 형태(/IS(j-1)(ai+1))의 민감한 정보의 항목을 보안 모듈에 기억하고; 민감한 정보(IS(j-1), ISj)의 항목의 상기 새로운 버전을 생성하여 이하의 단계;
    상기 보안 모듈이, 상기 임시 암호화 보호키(CPi)에 관련된 모든 민감한 정보(/IS(j-1)(ai+1),/ISj(ai+1))의 항목을, 임시 암호화 보호키(CPi)의 상기 마지막 버전(CPi(ai+1))과 관련된 임시 복호화 보호키(CPid)의 마지막 버전(CPid(ai+1))에 의해 복호화하는 단계;
    상기 보안 모듈이, 상기 복호화된 민감한 정보(IS(j-1), ISj)의 항목을, 임시 암호화 보호키의 새로운 버전(CPi(ai+2)) 및 상기 암호화 알고리즘에 의해 재암호화하여, 상기 민감한 정보의 항목의 새로운 암호화된 형태(/IS(j-1)(ai+2),/ISj(ai+2))를 생성하는 단계; 및
    임시 암호화 보호키의 상기 새로운 버전(CPi(ai+2))과 관련된 임시 복호화 보호키(CPid)의 새로운 버전(CPid(ai+2))과, 새로운 암호화된 형태(/IS(j-1)(ai+2),/ISj(ai+2))의 민감한 정보의 항목을 상기 보안 모듈에 기억하는 단계를 실행하는 동작 프로세스.
  8. 정보 처리 수단(9) 및 정보 기억 수단(10,14)을 포함하는 보안 모듈(8)에 있어서,
    하나 또는 몇 개의 임시 암호화 보호키(CP1,....,CPi,....CPn)와, 동일한 수의 관련 임시 복호화 보호키(CP1d,...CPid,.....CPnd), 및 각각의 임시 암호화 보호키(CPi) 및 복호화 키(CPid)에 대해 몇 개의 연속하는 버전(CPiai, CPi(ai+1), CPi(ai+2)) 및 (CPidai, CPid(ai+1), CPid(ai+2))를 생성하도록 구성된 키의 생성 수단;
    결정된 임시 암호화 보호키(CPi), 및 임시 암호화 보호키(CPi)와 관련된 임시 복호화 보호키(CPid)를, 민감한 정보(ISj)의 특정 부분과 관련시키도록 구성된 수단;
    상기 기억 수단(10,14)에 기억된, 상기 민감한 정보와 관련된 임시 암호화 보호키의 연속하는 버전(CPiai, CPi(ai+1), CPi(ai+2)) 및 암호화 알고리즘 중 어느 하나를 사용하여 민감한 정보(ISj)의 연속적인 암호화를 수행하도록 구성된 암호화수단, 및
    각 복호화 동작에 대해, 임시 복호화 보호키의 상기 연속하는 버전(CPidai, CPid(ai+1), CPid(ai+2)) 중에서, 대응하는 암호화에 사용되는 임시 암호화 보호키의 버전과 관련된 버전, 및 기억 수단(10,14)에 기억된 복호화 알고리즘을 사용하여 민감한 정보(ISj)의 연속적인 복호화를 수행하도록 구성된 복호화 수단을 포함하는 것을 특징으로 하는 보안 모듈.
  9. 제 8 항에 있어서, 연속하는 상이한 버전의 임의의 수를 공급하기 위한 임의의 수의 생성 수단을 포함하며, 보안 모듈에 의해 공급되는 각각의 임시 암호화 보호키(CPi)의 상기 연속하는 버전(CPiai, CPi(ai+1), CPi(ai+2)) 각각은 상기 임의의 수의 상이한 버전으로부터 얻어지는 보안 모듈.
  10. 제 1 항에 있어서, 상기 보안 모듈(8)은 단일 칩 상에 모놀리식 형태(monolithic form)로 설계되는, 프로세스.
  11. 제 3 항에 있어서, 상기 보안 모듈(8)은 단일 칩 상에 모놀리식 형태로 설계되는, 프로세스.
  12. 제 8 항에 있어서, 상기 보안 모듈은 단일 칩 상에 모놀리식 형태로 설계되는, 보안 모듈.
KR10-1998-0709166A 1997-03-13 1998-03-12 보안모듈에서의민감한정보의기억및관리를위한방법및관련보안모듈 Expired - Fee Related KR100495682B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1998-0709166A KR100495682B1 (ko) 1997-03-13 1998-03-12 보안모듈에서의민감한정보의기억및관리를위한방법및관련보안모듈

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR97/02973 1997-03-13
KR10-1998-0709166A KR100495682B1 (ko) 1997-03-13 1998-03-12 보안모듈에서의민감한정보의기억및관리를위한방법및관련보안모듈

Publications (2)

Publication Number Publication Date
KR20000011016A KR20000011016A (ko) 2000-02-25
KR100495682B1 true KR100495682B1 (ko) 2005-09-30

Family

ID=43670469

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0709166A Expired - Fee Related KR100495682B1 (ko) 1997-03-13 1998-03-12 보안모듈에서의민감한정보의기억및관리를위한방법및관련보안모듈

Country Status (1)

Country Link
KR (1) KR100495682B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002091377A1 (en) * 2001-05-09 2002-11-14 Koninklijke Philips Electronics N.V. Method and apparatus for decrypting encrypted data stored on a record carrier

Also Published As

Publication number Publication date
KR20000011016A (ko) 2000-02-25

Similar Documents

Publication Publication Date Title
AU752328B2 (en) Method for storing and operating sensitive information in a security module, and associated security module
US5224166A (en) System for seamless processing of encrypted and non-encrypted data and instructions
US7051213B1 (en) Storage medium and method and apparatus for separately protecting data in different areas of the storage medium
CN1808966B (zh) 安全数据处理方法及其系统
US8347114B2 (en) Method and apparatus for enforcing a predetermined memory mapping
US7201326B2 (en) Information processing device
JP4490192B2 (ja) マルチタスク実行システム
KR20030044654A (ko) 데이터 암호화 장치 및 그 방법
US20110222686A1 (en) Method for issuing ic card storing encryption key information
WO2002073872A1 (fr) Appareil de stockage de donnees
US20070124811A1 (en) Key update mechanism
US20090019290A1 (en) Method and central processing unit for processing encrypted software
JPH0727459B2 (ja) データ処理システムにおける乱数発生方法及びこの方法を使用したデータ処理システム
KR102117838B1 (ko) 캐시 메모리의 보안-관련 데이터를 보호하기 위한 방법
US20170046280A1 (en) Data processing device and method for protecting a data processing device against attacks
CN107563226B (zh) 一种存储器控制器、处理器模块及密钥更新方法
JP3982531B2 (ja) ソフトウェアの保護機能付き情報処理装置およびソフトウェアの保護機能付き情報処理方法
KR100495682B1 (ko) 보안모듈에서의민감한정보의기억및관리를위한방법및관련보안모듈
US7841014B2 (en) Confidential information processing method, confidential information processor, and content data playback system
KR20010054151A (ko) 휴대용 카드에서의 일회용 패스워드 생성방법 및 이를기록한 기록매체
JP3982530B2 (ja) ソフトウェアの保護機能付き情報処理装置およびソフトウェアの保護機能付き情報処理方法
KR101999209B1 (ko) 가상 함수 테이블 포인터 암호화 시스템 및 그 방법
CN209103293U (zh) 电子设备
JPH09106445A (ja) 情報記録媒体のキー変更方法および情報記録媒体
HK1020629B (en) Method for storing and operating sensitive information in a security module, and associated security module

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 19981113

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20030312

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20050118

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20050601

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20050607

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20050608

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20080602

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20090601

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20100528

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20110602

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20120601

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20120601

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20130603

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20130603

Start annual number: 9

End annual number: 9

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20150509