KR20060024317A - 접근 방법 - Google Patents

접근 방법 Download PDF

Info

Publication number
KR20060024317A
KR20060024317A KR1020057004944A KR20057004944A KR20060024317A KR 20060024317 A KR20060024317 A KR 20060024317A KR 1020057004944 A KR1020057004944 A KR 1020057004944A KR 20057004944 A KR20057004944 A KR 20057004944A KR 20060024317 A KR20060024317 A KR 20060024317A
Authority
KR
South Korea
Prior art keywords
verification
information
area
memory device
data
Prior art date
Application number
KR1020057004944A
Other languages
English (en)
Other versions
KR100723762B1 (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 KR20060024317A publication Critical patent/KR20060024317A/ko
Application granted granted Critical
Publication of KR100723762B1 publication Critical patent/KR100723762B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/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/357Cards having a plurality of specified features
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

단말에서 접근 영역을 지정하는 명령과, 접근을 실시하는 명령을 분리하고, 접근을 실시하는 명령 인수에 단말의 검증 데이터를 포함시켜 송신함으로써, 접근 영역을 지정하는 명령을 발행한 단말 애플리케이션과, 접근을 실시하는 명령을 발행한 단말 애플리케이션과, 검증용 키를 보유하는 단말 애플리케이션이 동일하다는 것을 검증할 수 있다.

Description

접근 방법{ACCESS METHOD}
본 발명은, PC나 휴대폰 등의 단말에 삽입하여 사용되는 메모리 카드 및 메모리 카드에의 접근 방법에 관한 것이다.
종래, 메모리 카드는 단말에 삽입되어, 단말이 데이터를 격납하기 위한 것이다.
이하에, 종래의 메모리 카드에 대한 일례를 들어본다(예를 들면, 특원 2003-91704호 공보).
카드는, 단말로부터 각종 명령(command)을 받는, 또 명령에 대한 응답 (response)을 돌려주는 명령용 단자(CMD 라인)와, 데이터의 입력을 받는, 또 데이터의 출력을 행하는 데이터용 단자(DAT 라인)를 가진다.
도 1에 나타낸 종래의 메모리 카드의 예에서는, 단자(4602)가 CMD 라인으로 되어 있고, 단자(4607), (4608), (4609)가 DAT 라인이며, 각각 DAT0, DAT1, DAT2로 되어 있다. 또, 단자C2-01는 데이터 입출력용과 카드 검출용(CD)을 겸한 CD/DAT3으로 되어 있다. DAT0~DAT3에 대해서는, DAT0만을 사용하는 모드와 DAT0~3을 동시 에 이용하여, DAT0만을 사용하는 경우의 4배의 전송 속도를 실현하는 모드가 존재한다.
이어서, 도 2를 이용하여, 종래 카드의 카드내 모듈 구성에 대해 설명한다.
카드내 모듈은, CMD 라인(4602)에 접속된, 명령 수신 및 응답 송신을 실시하는 처리명령 수신수단(4701)과 DAT 라인(4607), (4608), (4609), (C2-01)에 접속된, 데이터 송수신을 행하는 데이터 송수신수단(4702)과, 기억 영역(4704)과, 수신한 명령에 따라 기억 영역(4704)에 대한 데이터의 판독과 기록을 실시하는 기억영역 접근수단(4703)으로 구성된다.
이어서, 종래의 메모리 카드에 있어서의, 데이터 판독시의 처리 동작에 대해 설명한다. 여기서는 데이터의 출력은 DAT0 단자(4607)만을 이용하는 모드로 설정되어 있는 것으로 하지만, DAT1 단자(4608), DAT2 단자(4609), DAT3 단자(4610)를 병용하는 모드이어도 좋다.
우선, 단말은 카드의 CMD 라인(4602)에 데이터 판독명령을 송신한다. 이 판독 명령은 도 7에 나타내는 포맷으로 되어있으며, 6비트의 명령 코드(401)와 32비트의 명령 인수(引數)(402)로 구성된다. 데이터 판독명령에 있어서의 명령 인수는, 판독 개시 주소(address)를 격납한다.
단말로부터 명령을 수신한 처리 명령 수신 수단(4701)은, 명령 코드(401)를 참조하여, 데이터 판독 명령임을 인식한다.
다음에, 처리 명령 수신 수단(4701)은, 명령 인수(402)를 참조하여, 지정된 주소가 정확한 것인지, 즉 카드가 대응하고 있는 범위에 지정된 주소가 들어 있는지를 조사하여, 주소가 정확하지 않으면 응답으로서 오류(error) 취지의 응답 코드를 돌려준다. 주소가 정확하면 정상적 취지의 응답 코드를 돌려준다.
처리 명령 수신 수단(4701)은, 응답를 단말에 되돌린 후, 기억 영역 접근 수단(4703)에 대해, 지정된 주소와 함께, 판독 요구를 실시한다.
기억 영역 접근 수단(4703)은, 기억 영역(4704)의 지정 주소로부터 데이터를 판독하여, 데이터 송수신 수단(4702)에 송신한다.
데이터 송수신 수단(4702)은, DAT0 라인(4607)을 통하여, 단말에 판독한 데이터를 출력한다.
이러한 메모리 카드에서는, 단말로부터 주소를 지정하여 자유롭게 카드의 판독과 기록(read/write)이 가능하다.
상기와 같은 메모리 카드에 있어서, 플래시 메모리(flash memory)의 특정 영역을 보안성(security) 보호 영역으로서 접근 제한을 걸어, 접근이 허가된 특정한 단말로부터만 접근을 가능하게 하고싶은 경우에, 상기 문헌에서 표시된 카드로는, IC카드 명령을 이용하여 유연한 인증을 실시함이 가능하다. 그러나, IC카드의 표준적인 명령 포맷인 APDU(Application protocol data unit)로는, 256바이트(byte)의 데이터 송수신 밖에 실시할 수 없다는 점과, 반이중(half-duple) 프로토콜이기 때문에, 호스트로부터의 명령 송신 마다 응답 수신이 필요하다는 이유때문에, 고속의 데이터 전송이 곤란하다. 그래서, IC카드 명령을 이용하여, 보안성 폴리시에 유연하게 맞춘 방식으로 인증처리를 실시한 후에 메모리 카드 명령을 이용하여 데이터 전송을 실시하는 방식이 생각되지만, IC카드 명령의 발행자와 메모리 카드 명령을 발행한 호스트 상의 애플리케이션이 동일함을 확인하는 것이 곤란하다.
그래서, IC카드 명령을 이용한 인증 처리 과정에서 생성한 정보를, IC카드 명령과 메모리 카드 명령 발행자의 동일성을 검증하기 위한 검증 데이터로서 메모리 카드 명령에 포함시키는 경우, 명령 인수에 접근영역 지정정보(접근하는 주소 등)와 인증용의 검증 데이터를 포함시키게 되는데, 데이터 판독 명령의 명령 인수(402)의 사이즈(size)는 상술한 대로, 32비트 고정이므로, 보안성을 향상시키기 위해 인증용 검증 데이터의 사이즈를 크게 하면, 접근영역 지정정보의 길이가 짧아져서 접근 가능한 영역이 제한되어 버린다. 한편, 검증 데이터의 사이즈를 작게 하면, 보안성 강도가 떨어져 버린다.
이 과제를 해결하기 위해서, 종래의 데이터 판독 명령의 포맷을 변경하면, 종래의 메모리 카드에 접근이 불가능해져 버릴 염려가 있다.
또, 종래의 데이터 판독 명령과, 보안성 보호 영역을 구비한 메모리 카드에 대한 데이터 판독 명령을 별개의 것으로 하여 병존 시키려고하면, 단말 측에서 메모리 카드의 종류에 따라 명령을 변경할 필요가 발생하여, 메모리 카드에 대한 접 근이 복잡하게 되어, 단말에 있어서는 이용하기 어렵게 된다. 그 때문에, 검증 데이터를 송신하기 위한 명령과 데이터의 판독 또는 기록을 실시하기 위한 메모리 카드 명령을 각각 정의하여, 2개의 명령을 조합하여 보안성 보호 영역에 대한 접근을 실시할 필요가 있는데, 2개의 명령 사이에서 명령 발행자의 동일성을 확인할 수가 없다.
본 발명은, 이러한 문제점을 해결하는 것으로, 메모리 카드 내에서 접근 제한이 되어 있지 않은 영역에 접근할 경우는, 상술한 데이터 판독 명령으로 대표되는 메모리 카드 명령을 이용하고, 접근제한이 되어 있는 보안성 보호 영역에 관해서는, 우선 접근 영역을 지정하는 메모리 카드 명령를 이용하여 접근 영역 지정 정보를 메모리 카드에 송부한 다음, 호스트와 메모리 카드 사이에서 IC카드 명령을 이용한 유연한 인증 처리를 이용하여 공유한, 또는, 미리 공유하고 있는 키 정보와, 상기 접근영역 지정정보를 이용하여 생성한 인증용 검증 데이터를 포함시킨, 보안성 보호 영역의 판독 또는 기록용 메모리 카드 명령을 메모리 카드에 송부하여, 보안성 보호 영역에 대한 데이터의 기록, 보안성 보호 영역으로부터의 데이터를 판독한다, 라는 2 단계의 명령 구성으로 함으로써, 메모리 카드 명령의 포맷 변경을 필요로 하지 않으면서, 또 적은 명령 인수로도 보안성을 저하시키는 일 없이, 보안성 보호 영역에의 접근을 가능하게 하는 접근 방법을 제공하는 것을 목적으로 한다.
본 발명의 한 형태에 의하면, 접근 방법은, 기기로부터 메모리 디바이스에의 접근 방법으로, 상기 기기가, 상기 메모리 디바이스에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 함께 송신하는 스텝과, 상기 메모리 디바이스가, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 정보를 수신하여, 상기 지정 정보를 상기 검증 정보를 이용하여 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가진다.
본 발명의 다른 형태에 의하면, 접근 방법은, 기기로부터 메모리 디바이스에의 접근 방법으로, 상기 기기가, 상기 메모리 디바이스와의 사이에서, 해당 메모리 디바이스에 대한 접근 가능 영역에 관한 가능 영역 정보를 공유화하는 스텝과, 상기 가능 영역 정보를 참조하여, 상기 메모리 디바이스에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스가, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 정보를 수신하고, 상기 지정 정보를 상기 검증 정보를 이용하여 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가진다.
본 발명의 또 다른 형태에 의하면, 접근 방법은, 기기로부터 메모리 디바이스에의 접근 방법으로, 상기 기기가, 상기 메모리 디바이스와의 사이에서, 검증용 키를 공유화하는 스텝과, 상기 메모리 디바이스에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 상기 검증용 키로 암호화한 검증 데이터를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스가, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 데이터를 수신하여, 상기 지정 정보를 상기 검증 데이터와 상기 검증용 키를 이용해서 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가진다.
본 발명의 또 다른 형태에 의하면, 접근 방법은, 기기로부터 메모리 디바이스에의 접근 방법으로, 상기 기기가, 상기 메모리 디바이스와의 사이에서, 해당 메모리 디바이스에 대한 접근 가능 영역에 관한 가능 영역 정보를 공유화하는 스텝과, 상기 메모리 디바이스와의 사이에서, 상기 접근 가능 영역에 대응한 검증용 키를 공유화하는 스텝과, 상기 가능 영역 정보를 참조하여, 상기 메모리 디바이스에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 상기 검증용 키로 암호화한 검증 데이터를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스가, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 데이터를 수신하고, 상기 지정 정보를 상기 검증 데이터와 상기 검증용 키를 이용하여 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가진다.
본 발명의 또 다른 형태에 의하면, 접근 방법은, 기기로부터 메모리 디바이스에의 접근 방법으로, 상기 기기가, 상기 메모리 디바이스와의 사이에서, 제 1 처리계 명령을 이용하여, 해당 메모리 디바이스에 대한 접근 가능 영역에 관한 가능 영역 정보를 공유화하는 스텝과, 상기 가능 영역 정보를 참조해, 제2의 처리계 명령을 이용하여, 상기 메모리 디바이스에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 상기 제2 처리계 명령을 이용하여, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스가, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 정보를 수신하여, 상기 지정 정보를 상기 검증 정보를 이용해 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가진다.
본 발명의 또 다른 형태에 의하면, 접근 방법은, 기기로부터 메모리 디바이스에의 접근 방법으로, 상기 기기가, 상기 메모리 디바이스와의 사이에서, 제1 처리계 명령을 이용해서, 검증용 키를 공유화하는 스텝과, 제2 처리계 명령을 이용해서, 상기 메모리 디바이스에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 상기 제2 처리계 명령을 이용해서, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 상기 검증용 키로 암호화한 검증 데이터를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스가, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 데이터를 수신해서, 상기 지정 정보를 상기 검증 데이터와 상기 검증용 키를 이용하여 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가진다.
본 발명의 또 다른 형태에 의하면, 접근 방법은, 기기로부터 메모리 디바이스에의 접근 방법으로, 상기 메모리 디바이스는, 상기 기기로부터의 접근이 제약된 변형억제성(tamper resistant)인 제1 영역과, 상기 기기로부터의 접근이 제약된 비변형억제성인 제2 영역과, 상기 기기로부터 접근이 가능한 제3 영역을 가지며, 적어도 상기 제1 영역에 대한 처리 명령인 제1 처리계 명령과, 적어도 상기 제3 영역에 대한 처리 명령인 제2 처리계 명령을 판별하는 기능을 구비하며, 상기 기기는, 상기 메모리 디바이스와의 사이에서, 제1 처리계 명령을 이용하여, 해당 메모리 디바이스에 대한 접근 가능 영역에 관한 가능 영역 정보를 공유화하는 스텝과, 상기 가능 영역 정보를 참조하여, 제2 처리계 명령을 이용해, 상기 제2 영역에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 제2 처리계 명령을 이용하여, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스는, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 정보를 수신하고, 상기 지정 정보를 상기 검증 정보를 이용해서 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가진다.
본 발명의 또 다른 형태에 의하면, 접근 방법은, 기기로부터 메모리 디바이스에의 접근 방법으로, 상기 메모리 디바이스는, 상기 기기로부터의 접근이 제약된 변형억제성안 제1 영역과, 상기 기기로부터의 접근이 제약된 비변형억제성인 제2 영역과, 상기 기기로부터 접근이 가능한 제3 영역을 가지며, 적어도 상기 제1 영역에 대한 처리 명령인 제 1 처리계 명령과, 적어도 상기 제3 영역에 대한 처리 명령인 제2 처리계 명령을 판별하는 기능을 구비하고, 상기 기기는, 상기 메모리 디바이스와의 사이에서, 제1 처리계 명령을 이용하여, 검증용 키를 공유화하는 스텝과, 제2 처리계 명령을 이용하여, 상기 제2 영역에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 제2 처리계 명령을 이용하여, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 상기 검증용 키로 암호화한 검증 데이터를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스는, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 데이터를 수신하여, 상기 지정 정보를 상기 검증 데이터와 상기 검증용 키를 이용해서 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가진다.
본 발명의 또 다른 형태에 의하면, 메모리 디바이스는, 기기에서 판독 기록되는 메모리 디바이스로서, 접근하는 영역을 지정하는 지정 정보를 수신함과 동시에, 상기 지정 정보를 기초로 검증 정보와 판독 또는 기록 명령을 합쳐서 수신하는 처리 명령 수신 수단과, 상기 지정 정보를, 상기 검증 정보를 이용하여 검증 처리를 실시하는 지정 정보 검증 수단과, 데이터를 격납하는 기억 영역과, 상기 검증 처리가 성공한 경우에, 상기 처리 명령에 따라, 상기 기억 영역의 상기 지정 영역에 대한 판독 또는 기록을 실시하는 기억 영역 접근 수단과, 상기 기억 영역 접근 수단이 판독한 데이터를 상기 기기에 송신하는 데이터 송신 수단과, 상기 기기로부터 기록 데이터를 수신하는 데이터 수신 수단을 구비한다.
본 발명의 또 다른 형태에 의하면, 정보 기기는, 메모리 디바이스를 판독 기록하는 정보 기기로서, 판독 또는 기록하는 영역을 결정하고, 상기 영역을 지정하는 지정 정보를 결정하는 지정 정보 결정수단과, 상기 지정 정보로부터 상기 검증 정보의 생성 처리를 하는 검증 정보 생성수단과, 상기 지정 정보의 송신과, 상기 검증 정보와 판독 또는 기록의 처리 명령을 합쳐서 송신하는 처리 명령 송신 수단과, 상기 처리 명령이 기록일 경우는, 상기 메모리 디바이스에 데이터를 송신하는 데이터 송신 수단과, 상기 처리 명령이 판독일 경우는, 상기 메모리 디바이스로부터 데이터를 수신하는 데이터 수신 수단과, 상기 메모리 디바이스에 송신하는 데이터를 기억하거나, 또는, 상기 메모리 디바이스로부터 수신한 데이터를 기억하는 데이터 기억 수단을 구비한다.
본 발명의 또 다른 형태에 의하면, 접근 방법은, 기기로부터 메모리 디바이스에의 접근 방법으로, 상기 기기가, 상기 메모리 디바이스에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 검증용 키로 암호화한 검증 데이터를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스가, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 데이터를 수신하여, 상기 지정 정보를 상기 검증 데이터와 검증용 키를 이용해 검증하는 스텝과, 상기 검증에 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가진다.
본 발명의 또 다른 형태에 의하면, 접근 방법은, 기기로부터 메모리 디바이스에의 접근 방법으로, 상기 기기는, 제1 처리계 명령을 이용하여 상기 메모리 디바이스에 대한 접근 가능 영역에 관한 가능 영역 정보를 공유화하는 스텝과, 제1 처리계 명령을 이용해서 상기 접근 가능 영역에 대응한 검증용 키를 공유화하는 스텝과, 제2 처리계 명령을 이용하여, 상기 메모리 디바이스에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 제2 처리계 명령을 이용해 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 상기 검증용 키로 암호화한 검증 데이터를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스는, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 데이터를 수신하여, 상기 지정 정보를 상기 검증 데이터와 상기 검증용 키를 이용해서 검증하는 스텝과, 상기 검증에서 성공한 경우는, 상기 처리 명령을 실행하는 스텝을 가진다.
본 발명의 또 다른 형태에 의하면, 접근 방법은, 기기로부터 메모리 디바이스에의 접근 방법으로, 상기 메모리 디바이스는, 상기 기기로부터의 접근이 제약된 변형억제성인 제1 영역과, 상기 기기로부터의 접근이 제약된 비변형억제성이면서 또 대용량인 제2 영역과, 상기 기기로부터 접근이 가능하면서도 또 대용량인 제3 영역을 가지며, 적어도 상기 제1 영역에 대한 처리 명령인 제1 처리계 명령과, 적어도 상기 제3 영역에 대한 처리 명령인 제2 처리계 명령을 판별하는 기능을 구비하며, 상기 기기는, 상기 메모리 디바이스와의 사이에서, 제1 처리계 명령을 이용하여, 해당 메모리 디바이스에 대한 접근 가능 영역에 관한 가능 영역 정보를 공유화하는 스텝과, 제1 처리계 명령을 이용하여, 상기 접근 가능 영역에 대응한 검증용 키를 공유화하는 스텝과 제2 처리계 명령을 이용해서, 상기 제2 영역에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 제2 처리계 명령을 이용해서, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 상기 검증용 키로 암호화한 검증 데이터를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스는, 상기 지정 정보를 수신하는 스텝과, 상기처리 명령과 상기 검증 데이터를 수신하여 상기 지정 정보를 상기 검증 데이터와 상기 검증용 키를 이용해 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가진다.
도 1은, 종래의 메모리 카드의 단자 구성을 나타내는 도면,
도 2는, 종래의 카드내 모듈 구성을 나타내는 도면,
도 3은, 본 발명의 실시형태 1에 관계되는 메모리 카드의 내부 모듈 구성을 나타내는 도면,
도 4는, 본 발명의 실시형태 1에 관계되는 카드의 단자 구성을 나타내는 도면,
도 5는, 본 발명의 실시형태 1에 관계되는 단말의 내부 구성을 나타내는 도면,
도 6은, 본 발명의 실시형태 1에 관계되는 카드와 단말 사이에서 실시되는 처리의 개요를 나타내는 도면,
도 7은, 본 발명의 실시형태 1에 관계되는 APDU의 송수신 방법의 순서(sequence)를 나타내는 도면,
도 8은, 본 발명의 실시형태 1에 관계되는 응답(response) APDU의 송신 처리의 순서를 나타내는 도면,
도 9는, 본 발명의 실시형태 1에 관계되는 메모리 카드의 명령 포맷을 나타내는 도면,
도 10은, 본 발명의 실시형태 1에 관계되는 플래시 메모리의 내부 구성을 나타내는 도면,
도 11은, 본 발명의 실시형태 1에 관계되는 보안성(security) 보호 영역의 내부 구성을 나타내는 도면,
도 12는, 본 발명의 실시형태 1에 관계되는 보안성 보호 영역 내의 각 애플 리케이션용 영역의 내부 구성을 나타내는 도면,
도 13은, 본 발명의 실시형태 1에 관계되는 세션 키(session key) 공유 및 접근 가능 영역 공유 순서를 나타내는 도면,
도 14는, 본 발명의 실시형태 1에 관계되는 도 13의 스텝(903)에 있어서의 처리의 상세를 설명하기 위한 흐름도,
도 15는, 본 발명의 실시형태 1에 관계되는 도 13의 스텝(905)에 있어서의 처리의 상세를 설명하기 위한 흐름도,
도 16은, 본 발명의 실시형태 1에 관계되는 도 11의 스텝(907)에 있어서의 처리의 상세를 설명하기 위한 흐름도,
도 17은, 본 발명의 실시형태 1에 관계되는 단말로부터 보안성 보호 영역을 판독하기 위한 명령 순서를 나타내는 도면,
도 18은, 본 발명의 실시형태 1에 관계되는 APDU 송신 명령의 인수(引數) 포맷을 나타내는 도면,
도 19는, 본 발명의 실시형태 1에 관계되는 APDU 수신 명령의 인수 포맷을 나타내는 도면,
도 20은, 본 발명의 실시형태 1에 관계되는 APDU 송신 명령의 입력 데이터 및 APDU 수신 명령의 출력 데이터의 포맷을 나타내는 도면,
도 21은, 본 발명의 실시형태 1에 관계되는 접근 영역 지정 명령의 입력 데 이터 포맷을 나타내는 도면,
도 22는, 본 발명의 실시형태 1에 관계되는 접근 영역 지정 정보를 나타내는 도면,
도 23은, 본 발명의 실시형태 1에 관계되는 단말의 정당성 검증을 하기위한 검증 데이터의 단말을 이용한 생성 방법을 나타내는 도면,
도 24는, 본 발명의 실시형태 1에 관계되는 단말의 정당성 검증을 하기위한 검증 데이터의 카드를 이용한 생성 방법을 나타내는 도면,
도 25는, 본 발명의 실시형태 1에 관계되는 단말로부터 보안성 보호 영역에 기록하기 위한 명령 순서를 나타내는 도면,
도 26은, 본 발명의 실시형태 2에 관계되는 메모리 카드의 내부 모듈 구성을 나타내는 도면,
도 27은, 본 발명의 실시형태 2에 관계되는 단말의 내부 구성을 나타내는 도면,
도 28은, 본 발명의 실시형태 2에 관계되는 단말로부터 카드의 보안성 보호 영역에 대해 접근을 실시할 때의 처리를 나타내는 흐름도,
도 29는, 본 발명의 실시형태 2에 관계되는 영역 지정 명령의 데이터부의 일례를 나타내는 도면,
도 30은, 본 발명의 실시형태 2에 관계되는 도 29의 접근 영역 지정 정보의 포맷을 나타내는 도면,
도 31은, 본 발명의 실시형태 2에 관계되는 비교 정보의 생성 방법의 일례를 나타내는 도면,
도 32는, 본 발명의 실시형태 2에 관계되는 내부에 검증용 키 공유 수단을 구비하는 경우의 카드 구성을 나타내는 도면,
도 33은, 본 발명의 실시형태 2에 관계되는 내부에 검증용 키 공유 수단을 구비하는 경우의 단말 구성을 나타내는 도면,
도 34는, 본 발명의 실시형태 2에 관계되는 검증용 키의 공유 방법의 순서를 나타내는 도면,
도 35는, 본 발명의 실시형태 2에 관계되는 검증용 키 생성 방법을 설명하기 위한 도면,
도 36은, 본 발명의 실시형태 2에 관계되는 SHA-1 연산을 이용한 비교 정보 생성 방법을 나타내는 도면,
도 37은, 본 발명의 실시형태 2에 관계되는 검증 정보 생성 방법을 나타내는 도면,
도 38은, 본 발명의 실시형태 2에 관계되는 접근 명령의 포맷을 나타내는 도면,
도 39는, 본 발명의 실시형태 2에 관계되는 수(數) 정보를 이용한 검증 데이 터 생성 처리를 나타내는 흐름도,
도 40은, 본 발명의 실시형태 2에 관계되는 난수를 이용한 비교 정보 생성 방법을 나타내는 도면,
도 41은, 본 발명의 실시형태 2에 관계되는 난수를 이용한 검증 정보 생성 방법을 나타내는 도면,
도 42는, 본 발명의 실시형태 3에 관계되는 메모리 카드의 내부 모듈 구성을 나타내는 도면,
도 43은, 본 발명의 실시형태 3에 관계되는 단말의 내부 구성을 나타내는 도면,
도 44는, 본 발명의 실시형태 3에 관계되는 단말로부터 카드 내의 보안성 보호 영역에 대한 접근 처리의 일부를 나타내는 흐름도,
도 45는, 본 발명의 실시형태 3에 관계되는 도 44에 계속되는 접근 처리의 일부를 나타내는 흐름도,
도 46은, 본 발명의 실시형태 3에 관계되는 접근 유효 테이블의 일례를 나타내는 도면,
도 47은, 본 발명의 실시형태 1에 관계되는 접근 유효 테이블의 일례를 나타내는 도면이다.
이하, 본 발명의 실시형태에 대해서, 첨부 도면을 참조하여 상세하게 설명한다. 또한, 본 발명은, 이 실시형태에 한정되는 것은 전혀 아니며, 그 요지를 일탈하지 않는 범위에서, 여러 가지의 형태로 실시할 수가 있다.
(실시형태 1)
본 발명에 있어서의 카드내 모듈 구성에 대해 도 3을 이용해 설명한다. 또, 카드(100)의 단자 배치는, 도 4에 나타내는데, 그 단자 구성은, 도 1에 나타낸 것과 각 단자에 붙인 부호는 다르지만, 그 구성은 동일하기 때문에 설명은 생략 한다.
카드내 모듈은, 콘트롤러(106)와 플래시 메모리(105)로 구성된다. 콘트롤러 (106)는, CMD 라인에 접속된, 명령 수신 및 응답 송신을 실시하는 명령 수신부(101)와, DAT 라인에 접속된 데이터 송수신부(102)와, 데이터 송수신부 (102)가 송수신 한 데이터에 대해서 세션 키로 암복호 처리를 가하여, 또 플래시 메모리 격납용 키로 암복호 하여 메모리 접근부(104)와 데이터를 주고받는 암복호부(107)와 플래시 메모리(105)에 대한 데이터의 판독 및 기록를 실시하는 메모리 접근부(104)와 수신한 명령에 따라, 메모리 접근부(104), 세션 키 공유부(110), 및 파라미터 검증부(108), 암복호부(107)에 대해서 처리요구를 실시하는 데이터 제어부(103)와, 단말(200)로부터 수신한 보안성 보호 영역에 접근하기 위한 파라미터를 기억해 두는 파라미터 기억부(109)와, 파라미터가 정상임을 검증하는 파라미터 검증부(108)와, 단말(200)과의 사이에서 인증용 및 암복호용의 세션 키를 교환하는 세션키 공유부(110)와, 세션키와, 세션키와 대응된 보안성 보호 영역을 기억해 두는 에리어 세션키 관리부(111)로 구성된다.
이어서, 본 실시형태 1에 있어서의 단말(200)의 구성에 대해 도 5를 이용해 설명한다.
단말(200)은, 카드(100)에 메모리 카드 명령을 송신하는 명령 송신부(204)와, 카드(100)의 DAT 라인에 데이터를 송신하는 데이터 송수신 수단(207)과, 데이터 송수신 수단(207)이 송신하는 데이터를 암호화하고, 또 수신하는 데이터를 복호화 하는 암복호 수단(206)과, 카드(100)와의 사이에서 세션키의 공유 처리를 실시하는 세션키 공유 수단(202)과 보안성 보호 영역 접근 명령에 따라 접근하는 영역을 결정하여, 영역 지정정보를 생성하는 지정정보 결정수단(201)과, 영역 지정정보와 세션키로부터 검증 데이터를 생성하는 검증 데이터 생성부(203)와, 송신하는 데이터, 또는 수신한 데이터를 기억하는 데이터 기억수단( 205)를 구비한다.
이어서, 도 3의 카드(100)와 도 5의 단말(200) 사이에서 이루어지는 처리의 개요에 대해 도 6을 이용하여 설명한다.
도 6에 있어서, 우선, 단말(200)과 카드(100) 사이에서는, 카드(100) IC카드 명령을 이용한 처리로서, 단말(200)과 카드(100) 상호 간을 인증하기 위한 인증 처리 및 세션키를 공유하기 위한 키 공유 처리와, 단말(200)로부터 카드(100)내 메모 리에 대한 접근 가능 영역의 영역 번호(도면 안의 영역 No.x)를 할당하는 영역 번호 할당 처리가 실행된다(스텝 S401).
인증 처리를 실시하여, 서로 정당성이 확인된 후, 키 공유 처리 및 영역 번호 할당 처리가 실시되고, 그 결과로서, 단말(200)내와 카드(100)내에는, 영역 No.x으로 표시되는 보안성 보호 영역에의 접근을 가능하게 하는 검증용 및 암호용 세션키가 영역 번호(영역 No.x)와 대응되어 보관 유지된다.
이어서, 단말(200)과 카드(100) 사이에서는, 메모리 카드 명령을 이용한 처리로서 단말(200)로부터 카드(100)에 대한 접근 영역 지정 명령 송신 처리(스텝 S402) 및 데이터 전송 명령 송신 처리(스텝 S403)와, 카드(100)로부터 단말(200)에 대한 암호화 데이터 송신 처리(스텝 S404)가 실행된다.
접근 영역 지정 명령 송신 처리에서는, 접근하고 싶은 보안성 보호 영역내의 영역을 지정하기위해, 영역 No.x, 블록 주소 및 블록길이를 설정한 데이터를 포함한 접근 영역 지정 명령이 단말(200)로부터 카드(100)에 송신된다. 카드(100)에서는, 수신한 접근 영역 지정 명령으로부터 추출한 영역 No.x을 기초로 보안성 보호 영역에 대한 접근 가부 검증 처리가 실행된다.
또, 데이터 전송 명령 송신 처리에서는, 단말(200)에 있어서 영역 No.x, 블록 주소 및 블록길이와, 스텝(S401)에서 카드(100)와의 사이에서 공유한 검증용 키를 이용하여 검증 데이터가 작성되고, 이 검증 데이터를 포함한 데이터 전송(Read) 명령이 카드(100)에 송신된다. 카드(100)에서는, 수신한 데이터 전송(Read) 명령으로부터 단말(200)과의 사이에서 공유한 검증용키인 공개키를 이용하여 영역 No.x, 블록 주소 및 블록길이를 기초로 검증 데이터를 작성하고 있음을 확인하는 것으로, 스텝(S402)에서 지정된 보안성 보호 영역에 대한 접근 가부가 검증된다.
또, 암호화 데이터 송신 처리에서는, 카드(100)에 있어서 상기 검증 처리에서 접근 가능하게 된 카드 애플리케이션에 대응하는 영역 No.x에 격납된 데이터가, 단말(200)과의 사이에서 공유한 암호용 키를 이용하여 암호화 되어, 이 암호화 데이터가 단말(200)에 송신된다.
이하의 설명에서는, 상기 처리 개요에 처리 순서에 대해 상세하게 설명한다.
단말(200)과 세션키 공유부(110) 사이에서 송수신 되는 명령 형태는, 일반적인 IC카드에서 이용되는 APDU 포맷에 따른 형태로 한다. 즉, 세션키 공유부(110)는 IC 카드 애플리케이션의 형태를 취한다.
여기에서는, APDU의 송수신 방법에 대해, 도 7의 순서도를 이용하여 설명한다.
우선, 단말(200)로부터 카드(100)에 대한 명령 APDU의 송신 처리에 대해 설명한다. 여기서, 명령 APDU란, 메모리 카드측에서 실행시키고 싶은 명령을 APDU 포맷 형식으로 단말(200)로부터 메모리 카드에 송부하는 것을 말하며, 구체적으로는 IC카드용 명령을 사용한다.
우선, 단말(200)은 세션키 공유부(110)에 대해서 송신하는 명령 APDU를 작성한다. 다음에, 단말(200)은 도 2의 카드(100)의 CMD 라인(22)에 대해서, APDU 송신 명령을 송신한다(스텝 S501).
이 APDU 송신 명령은, 종래의 데이터 판독 명령과 마찬가지로, 도 9에 나타내는 포맷으로 되어있으며, 6비트의 명령 코드(401)와 32비트의 명령 인수(402)로 구성된다.
APDU 송신 명령에 있어서의 명령 인수(402)는, 도 18에서 나타내는 바와 같이, DAT0 라인(27)에 입력하는 데이터가 명령 APDU임을 나타내는 플래그(1401)와 송신 데이터수를 나타내는 (1403)으로 구성된다. 플래그(1401)및 송신 데이터수(1403)를 합쳐서 32비트에 못 미치는 경우는 미사용 필드(1402)가 존재한다.
도 4의 DAT0 라인(27)에 입력하는 데이터는 512바이트 단위로 되어있으며, 송신 데이터수(1403)는, 이 512바이트 단위의 입력을 몇 회 실시하는지를 나타낸다.
이어서, 카드(100)의 명령 수신부(101)는, 단말(200)로부터 송신된 명령을 수신하여(스텝 S502), 그것이 APDU 송신 명령임을 인식하고, CMD 라인(22)을 경유하여 단말(200)에 응답을 돌려줌과 동시에(스텝 S503), 데이터 제어부(103)에 대해, APDU 송신 명령을 수신하였음을 통지한다(스텝 S504).
이어서, 단말(200)은 카드(100)의 CMD 라인(22)으로부터 APDU 송신 명령에 대한 응답을 수신하여(스텝 S503), DAT0 라인(27)에 도 20에서 나타내는 포맷으로 명령 APDU(1602)를 입력한다(스텝 S505).
도 20에 있어서, (1601)로 표시되는 길이는 후에 계속되는 APDU(1602)의 길이를 나타내고 있다. 길이 필드(1601)와 APDU(1602)의 합계길이에 맞추어 명령 인수의 송신 데이터수(1403)가 설정되고 있다. 또, 상기 합계길이는 반드시 512바이트의 배수가 되는 것은 아니기 때문에, 512바이트의 배수가 되도록 패딩(padding/채우기)(1603)을 부가한다.
이어서, 카드(100) 내부의 데이터 송수신부(102)는, 단말(200)로부터 DAT0 라인(27)에 입력된 명령 APDU를 수신함과 동시에(스텝 S505), 데이터 제어부(103)에 명령 APDU를 수신하였음을 통지한다(스텝 S506). 이어서, 데이터 제어부(103)는, 데이터 송수신부(102)로부터 명령 APDU를 판독하고(스텝 S507), 세션 키 공유부(110)(IC 카드 애플리케이션 케이 숀)에 명령 APDU를 건네준다.(스텝 S508)
이어서, 세션 키 공유부(110)는, 명령 APDU에 기술된 대로의 처리를 실시하고(스텝 S509), 처리 결과 발생한 데이터와 상태(suatus)정보를 응답 APDU로서 데이터 제어부(103)에 건네준다(스텝 S510). 이 상태 정보란, ISO7816에서 정의된 상태어(suatus word)로서, 정상 종료였는지, 이상종료였는지를 나타내는 2바이트의 값이다.
이어서, 카드(100)로부터 단말(200)에 대한 응답 APDU의 송신 처리에 대해, 도 8의 순서도를 이용해 설명한다. 여기서 응답 APDU란, 카드(100)가 실행한 명령 APDU의 처리 결과를 카드(100)로부터 단말(200)에 송신하는 것을 말한다.
여기에서는, 상기의 명령 APDU의 송신 방법에서 나타낸 바와 같이, 세션 키 공유부(110)가 출력한 응답 APDU가 데이터 제어부(103)에서 보관 유지되고 있는 상태에 있는 것으로 한다.
우선, 단말(200)은, 카드(100)의 CMD 라인(22)에 대해서, APDU 수신 명령을 송신한다(스텝 S601). 이 APDU 수신 명령은, APDU 송신 명령과 마찬가지로, 도 9에 나타내는 종래의 데이터 판독 명령과 같은 포맷으로 되어 있으며, 6비트 명령 코드(401)와 32비트 명령 인수(402)로 구성된다.
APDU 수신 명령에 있어서의 명령 인수(402)는, 도 19에 나타내는 바와 같이, 미사용 필드(1501)와 송신 데이터수(1502)로 구성된다. 송신 데이터수(1502)가 32비트에 못 미치는 경우는 미사용 필드(1501)가 존재한다.
도 4의 DAT0 단자(27)로부터 출력되는 데이터는, APDU 송신 명령에 있어서의 입력 데이터와 마찬가지로 512바이트 단위로 되어 있으며, 송신 데이터수(1502)는 512바이트 단위로 몇 회 출력을 실시하는지를 나타낸다.
이어서, 카드(100)의 명령 수신부(101)는, 단말(200)로부터 송신된 명령을 수신하여(스텝 S602), 그것이 APDU 수신 명령임을 인식하고, CMD 라인(22)을 경유해 단말(200)에 응답을 돌려줌과 동시에(스텝 S603), 데이터 제어부(103)에 대해 서, APDU 수신 명령을 수신하였음을 통지한다(스텝 S604).
이어서, 데이터 제어부(103)는, 데이터 송수신부(102)에 대해서, 세션 키 공유부(110)로부터 받은 응답 APDU를 건네준다(스텝 S605).
이어서, 단말(200)은, 카드(100)의 CMD 라인(22)으로부터 APDU 수신 명령에 대한 응답을 수신하여(스텝 S603), DAT0 라인(27)을 경유하여 데이터 송수신부 (102)에서 응답 APDU를 판독한다(스텝 S606). 판독된 응답 APDU는, 도 20에 나타내는 포맷으로 출력된다. 각 필드의 상세한 것에 대하여는, APDU 송신 명령에 있어서의 입력시와 동일하기 때문에 설명을 생략 한다.
카드(100)에 탑재되는 플래시 메모리(105)는, 도 10에 나타내는 바와 같이, 적어도 단말(200)로부터 종래의 판독용 명령 및 기록용 명령으로 대표되는 메모리 카드 명령으로 접근이 가능한 통상 영역(비변형억제성 메모리 영역)(62)과, 상기 종래의 명령으로는 접근할 수 없는 보안성 보호 영역(변형억제성 메모리 영역)(61)을 가진다. 또, 카드(100)는, 도 10에 나타내는 바와 같이, IC카드 명령으로 접근이 가능한 변형억제 영역(TRM:tamper resistant module )(80)을 가진다.
보안성 보호 영역(61)은, 통상, 오로지 카드 애플리케이션으로 부터만 접근 가능한 상태이며, 단말(200)로부터의 종래의 판독용 명령 및 기록용 명령에 대해서는, 명령 수신부(101)에 의해 접근이 배제된다.
본 발명에 있어서의 메모리 카드는 내부에 복수의 카드 애플리케이션을 탑재 할 수 있도록 되어있으며, 도 11에 나타내는 바와 같이, 보안성 보호 영역(61)은 각 애플리케이션에 대해 개별 영역(AP1용 영역(71) ~AP3용 영역(73))을 할당할 수가 있다.
보안성 보호 영역(61)은, 데이터 제어부(103)가 관리하는 격납용 암호 키(Ks)로 암호화되어 있다. 이 암호 키는, 보안성 보호 영역(61) 전체로 1개의 (Ks)여도 좋고, 각 애플리케이션용인 AP1용 영역(71) ~ AP3용 영역(73)에 개별적으로 격납용 암호 키 (Ks_1~Ks_3)를 준비해도 좋다. 본 실시형태에서는 각 애플리케이션(AP1~3) 에 격납용 암호 키(Ks_1~Ks_3)를 준비한다.
이어서, 보안성 보호 영역(61)의 각 애플리케이션용인 AP1용 영역(71) ~ AP3용 영역(73)의 내부 구성에 대해 도 12를 이용하여 설명한다.
여기서는, 예로서 카드 애플리케이션 AP1용 영역(71)을 들고 있다. AP1용 영역(71)의 내부는 디렉터리 DIR1, DIR2와 파일 FILE1 ~ FILE3을 이용한 계층 구조를 이용한 데이터 관리로 되어 있다.
카드 애플리케이션AP1은, AP1용 영역(71)내에서 디렉터리 이동을 실시하여, 목적하는 파일이 존재하는 디렉터리 DIR1, DIR2상에서 파일 FILE1~FILE3에 대한 판독 및 기록을 실시한다.
예를 들면, 카드 애플리케이션 AP1이 파일 FILE3에 접근할 경우는, 디렉터리 DIR1에 이동하여, 다음에 디렉터리 DIR2로 이동한 후, 파일 FILE3의 판독 기록을 실시한다. 또, 각 디렉터리 DIR1, DIR2 에 있어서, 그 하위의 디렉터리 또는 파일의 작성 및 삭제가 가능하다.
이어서, 카드(100)내의 세션 키 공유부(110)와 단말(200) 사이에서 행해지는 세션 키 공유 순서에 대해서 도 13~도 16을 이용하여 설명한다.
카드 애플리케이션과 단말(200)은 각각 공개 키 암호로 이용되는 공개 키와 비밀열쇠의 쌍(pair)을 보관 유지하고, 서로 상대의 공개 키를 보관 유지하고 있다.
세션 키 공유 순서에 있어서의 명령 형태는 상기에서 나타낸 APDU를 이용한다. 이후의 설명에 있어서는 명령 형태에 관한 기술은 하지않고, 단지 명령 APDU, 응답 APDU라고 표기한다.
우선, 단말(200)은, SELECT 명령 APDU를 송신하는 것으로, 카드 애플리케이션AP1의 선택을 실시한다(스텝 901). SELECT 명령 APDU이란, 이후의 IC카드 명령(명령 APDU)을 카드(100) 내부의 어느 애플리케이션에 송신하는지를 지정하는 명령 APDU로서, 다른 명령 APDU와 마찬가지로 APDU 송신 명령을 이용하여 송신한다.
카드(100)는, 단말(200)로부터 지정된 카드 애플리케이션 AP1의 선택이 정상적으로 완료하면 정상 완료의 응답 APDU, 완료하지 않으면 이상종료의 응답 APDU를 돌려준다(스텝 902).
이어서, 단말(200)은, 처리(903)를 실행한다. 이 처리(903)에 대해 간단히 설명하면, 선택한 카드 애플리케이션 AP1에 접근을 가능케 하는 DATA2를 생성하기 위한 처리이다. 이 처리(903)의 상세한 것에 대해서는, 도 14의 흐름도를 참조하여 설명한다.
단말(200)은, 난수(Rh)를 생성하고(스텝 S9031), 난수(Rh)와 단말(200)이 접근하고 싶은, 도 12에서 나타낸 파일FILE3의 파일명을 결합하여, 카드 애플리케이션(AP1)이 보관 유지하는 비밀 키(PriS)에 대응한 공개 키(PubS)로 암호화 하여 DATA1를 생성하고(스텝 S9032), 또 단말(200)이 보관 유지하는 비밀키(PriH)에 대응한 공개 키(PubH)를 나타내는 식별자Info_PubH와 DATA1를 결합하여 DATA2를 생성한다(스텝 S9033).
도 13으로 돌아와, 이어서, 단말(200)은, 카드 애플리케이션과의 세션 키의 공유 및, 단말(200)이 접근 가능한 영역 정보의 공유를 실시하기 위해서, 스텝(S9033)으로 생성한 DATA2를 포함한 REQ_AREA_INFO 명령을 카드 애플리케이션에 송신한다(스텝 904).
REQ_AREA_INFO 명령을 수신한 카드 애플리케이션 AP1은, 처리(905)를 실행한다. 이 처리(905)의 상세한 것에 대하여는, 도 15의 흐름도를 참조해서 설명한다.
카드 애플리케이션 AP1는, DATA2에서 DATA1를 추출하여, 카드 애플리케이션 (AP1)이 보관 유지하는 비밀열쇠(PriS)로 복호화 하여, 난수(Rh)와 파일명(FILE3) 을 얻는다(스텝 S9051).
이어서, DATA2에서 공개 키를 식별하여 식별자Info_PubH를 추출하고, Info_PubH가 나타내는 공개 키(PubH)에 대응지워진 단말(200)을 이용한 접근이 인정되고 있는지를, 파일(FILE3)의 접근 권한 설정을 참조하여 확인한다. 권한이 없으면, 그 취지의 오류를 응답 APDU로서 단말(200)에 돌려준다. 접근할 권한이 있으면, FILE3의 파일 사이즈 SIZE3를 취득한다(스텝 S9052).
이어서, 난수(Rs)를 생성하여(스텝 S9053), 파일 FILE3에 대한 단말(200)로부터의 보안성 보호 영역 접근 명령을 이용한 접근이 가능해지도록, 도 47에 나타내는 접근 유효 테이블(4500)에 대한 등록을 실시하고, 단말(200)이 보안성 보호 영역 접근 명령을 이용하여 접근할 경우에 사용하기 위한 에리어 번호(X)를 파일 FILE3에 할당하여, 파일 사이즈 SIZE3와 함께 에리어 세션 키 관리부(111)에 기억한다(스텝 S9054). 이 에리어 번호란, 단말(200)이 보안성 보호 영역 접근 명령을 이용하여 접근할 때, 접근 영역 지정 명령으로 송신하는 접근 영역 지정 정보에 포함하는 정보를 말한다.
이어서, 난수(Rs), 에리어 번호(X), 파일 사이즈(SIZE3)를 결합하여, DATA3을 생성하고(스텝 S9055), DATA3을 단말(200)의 공개 키(PubH)로 암호화하여 DATA4를 생성한다(스텝 S9056).
이어서, 난수(Rs)와 난수(Rh)에 배타적논리합을 실시하여, 난수(R)를 생성하 고(스텝 S9057), 난수(R)로부터 암호용 세션 키(Kd), 검증용 세션 키(Km)를 생성한다(스텝 S9058).
이어서, 세션 키(Kd) 및 (Km)을 에리어 번호(X)와 관련지워 에리어 세션 키 관리부(111)에 기억한다(스텝 S9059).
도 13으로 돌아와, 카드(100)는 여기까지의 처리를 끝내면 단말(200)에 DATA4를 포함한 응답 APDU를 단말(200)에 송신한다(스텝 906).
응답 APDU를 수신한 단말(200)은, 응답 APDU로부터 DATA4를 추출하여, 처리(907)를 실행한다. 이 처리(907)의 상세한 것에 대하여는, 도 16의 흐름도를 참조하여 설명한다.
단말(200)은, 단말(200)의 비밀 키(PriH)를 이용하여 DATA4를 복호하고 DATA3을 취득한다(스텝 S9071). 이어서, 단말(200)은, DATA3에서 난수(Rs)를 취득하고, 난수(Rs)와 난수(Rh)에 배타적논리합을 실시하여, 난수(R)를 생성하고 (스텝 S9072), 난수(R)로부터 암호용 세션 키(Kd), 검증용 세션 키(Km)를 생성한다(스텝 S9073).
이상의 스텝 (901) 에서 (907) 을 거침으로써, 단말(200)과 카드(100) 간의 상호 인증을 실시하고, 또 단말(200)이 지정한 파일에 대한 접근 권한이 있으면 단말(200)로부터의 접근이 가능한 상태가 되고, 또 접근 할 때에 필요한 에리어 번호, 에리어 번호에 할당된 파일 사이즈(SIZE3), 및 검증용 세션 키(Km), 암호용 세 션 키(Kd)를 공유할 수가 있다,
또, 스텝(904)에 있어서 단말(200)로부터 카드(100)에 전해지는 파일명은, 카드 애플리케이션이 관리하는 파일을 직접 표시할 필요는 없고, 카드 애플리케이션이 어느 파일을 가리키고 있는지를 인식할 수 있는 형태이면 좋다.
또, 단말(200)이 접근하고 싶은 파일 및 스텝(S9054)에 있어서, 그 파일에 대해 단말(200)이 접근 가능하게 되는 설정을 한 때에 할당되는 에리어 번호를 항상 동일해 지도록 하고, 이러한 정보를 단말(200)과 카드(100) 사이에서 미리 인식해 두는 것으로, 스텝(904)에 있어서의 단말(200)이 접근하고 싶은 파일명의 통지 및 스텝(906)에 있어서의 파일에 할당된 에리어 번호의 통지를 생략 할 수도 있다.
또한, 본 설명에서는, 각 카드 애플리케이션이 도 12에 나타내는 바와 같이 디렉터리와 파일로 구성되는 계층 구조를 갖고, 디렉터리명 및 파일명으로 데이터를 관리하고 있는 형태로 설명했지만, 카드 애플리케이션에 할당된 영역을 적당한 크기로 분할하여, 분할된 각각의 영역에 번호 등의 식별자를 할당하여 관리하는 형태이어도 좋다. 그 경우는, 도 13에서 나타낸 처리 순서에서 이용되는 파일명 FILE3 대신에 상기 식별자를 이용한다.
이어서, 단말(200)로부터 보안성 보호 영역에 대해 접근을 실시할 때의 처리에 대해 도 17및 도 3을 이용해 설명한다. 도 17의 실선은 CMD 라인(22), 점선은 DAT0 라인(27)에 있어서의 전송을 나타낸다.
우선, 단말(200)은 카드(100)에 대해 메모리 카드 명령인 접근 영역 지정 명령을 송신한다(스텝 1301). 이 접근 영역 지정 명령은, 도 9에서 표시되는 포맷으로 되어 있으며, 6비트의 명령 코드(401)와 32비트의 명령 인수(402)로 구성된다.
접근 영역 지정 명령에 있어서의 명령 인수(402)는, 도 18에서 표시되는 바와 같이, DAT0 라인(27)에 입력하는 데이터가 접근 영역 지정 정보임을 나타내는 플래그(1401)와 송신 데이터수를 나타내는(1403)으로 구성된다. 플래그(1401) 및 송신 데이터수(1403)를 합쳐서 32비트에 못 미치는 경우는 미사용 필드(1402)가 존재한다.
DAT0 라인(27)에 입력하는 데이터는, 512바이트 단위로 되어있으며, 송신 데이터수(1403)는, 이 512바이트 단위의 입력을 몇 회 실시하는지를 나타낸다.
이어서, 카드(100)의 명령 수신부(101)는, 단말(200)로부터 송신된 명령을 수신하고, 그것이 접근 영역 지정 명령임을 인식하여, 단말에 응답을 돌려줌과 동시에 데이터 제어부(103)에 대해서, 접근 영역 지정 명령을 수신했음을 통지한다(스텝 1302).
이어서, 단말(200)은 카드(100)의 CMD 라인(22)으로부터 접근 영역 지정 명령에 대한 응답을 수신하고, DAT0 라인(27)에 도 21에 나타내는 포맷으로 접근 영역 지정 정보(1702)를 입력한다(스텝 1303).
도 21의 (1701)에 표시되는 길이는, 후에 계속되는 접근 영역 지정 정보 (1702)의 길이를 나타내고 있다. 길이 필드(1701)와 접근 영역 지정 정보(1702)의 합계 길이에 맞추어 명령 인수(402)의 송신 데이터수(1403)가 설정되고 있다. 또, 상기 합계 길이는 반드시 512바이트의 배수가 되는 것은 아니기 때문에, 512바이트의 배수가 되도록 패딩(1703)을 부가한다.
접근 영역 지정 정보(1702)는, 도 22에 표시되는 바와 같이, 도 13의 스텝 (906)에서 카드에서 통지된 에리어 번호(X)를 지정하는 에리어 번호(1801)와, 0이상, 마찬가지로 카드에서 통지된 파일 사이즈(SIZE3)의 범위에서 선택 가능한 접근 개시 주소(1802)와, 1이상, (파일 사이즈 SIZE3?접근 개시 주소 1802)의 범위에서 선택 가능한 접근 데이터 사이즈(1803)로 구성된다.
이어서, 카드내부의 데이터 송수신부(102)는, 단말로부터 입력된 접근 영역 지정 정보(1702)를 수신함과 동시에, 데이터 제어부(103)에 접근 영역 지정 정보(1702)를 수신하였음을 통지한다.
이어서, 데이터 제어부(103)는, 데이터 송수신부(102)로부터 접근 영역 지정 정보(1702)를 판독하여, 에리어 번호(1801)가, 도 15의 스텝(S9054)에서 할당되어진 에리어 번호(X)인지, 접근 개시 주소 및 접근 데이터 사이즈는, 에리어 번호(X)와 대응한 파일의 파일 사이즈 범위에 들어있는지를 체크하고, 이상이 있으면 카드내부 에 보관 유지하는 오류 플래그를 ON로 설정한다.
데이터 제어부(103)는, 이상이 없으면, 도 3에 나타내는 파라미터 기억부 (109)에 접근 영역 지정 정보(1702)(구체적으로는 에리어 번호(1801), 접근 개시 주소(1802), 접근 데이터 사이즈(1803))를 기억한다.
이상이, 접근 영역을 지정하는 처리이다.
이어서, 도 10의 보안성 보호 영역(61)에 대해서 판독을 실시할 때의 처리에 대해 설명한다. 도 17에 있어서, 단말(200)은, 카드(100)에 대해서 보안성 보호 영역 판독 명령을 송신한다(스텝 1304). 이 보안성 보호 영역 판독 명령은, 도 8에 나타내는 포맷으로 되어 있으며, 6비트의 명령 코드(401)와 32비트의 명령 인수(402)로 구성된다.
보안성 보호 영역 판독 명령에 있어서의 명령 인수(402)는, 보안성 보호 영역 판독 명령을 송신한 단말이, 접근 영역 지정 명령을 송신한 단말(200)과 동일한지, 또 세션 키 공유 순서를 거쳐 에리어 번호(X)가 가리키는 영역에 대한 접근 권한이 있음이 확인된 단말(200)과 동일한지를 검증하기 위한 검증 데이터로 구성된다.
이 검증 데이터의 생성 방법에 대해 도 23을 이용해 설명한다.
접근 영역 지정 정보(1702)는, 접근 영역 지정 명령에 있어서 DAT 라인(27)에 입력하는 파라미터이다. 검증 키(2101)는, 도 13의 스텝(907)에서 생성한 검증용 세션 키(Km)이다.
단말(200) 내부의 검증 데이터 생성부(203)는, 암호 연산을 실시하는 모듈로 서, 보안성 보호 영역 접근(판독 또는 기록) 명령에 포함하는 검증 데이터를 생성한다.
여기에서는, DES-MAC로 불리는 MAC(Message Authentication Code) 생성 처리를 실시한다. 접근 영역 지정 정보(1702)에 대해서 패딩 데이터(2105)를 부가한 (2102)를 입력 데이터로서, 검증 키(2101)를 이용하여 DES 암호를 이용한 MAC 생성 처리를 실시하고, MAC 데이터를 검증 데이터(2104)로서 작성한다.
패딩 데이터(2105)에 대해서는, 단말(200)로부터 카드(100)에 대해 접근 영역 지정 명령을 송신할 경우에 접근 영역 지정 정보(1702)과 함께 송신해도 좋고, 미리 단말과 카드 간에서 결정한 패딩 생성 룰을 기초로 생성한 패딩 데이터를 부여해도 좋다.
또한 본 실시의 형태에서는 DES-MAC를 이용하여 검증 데이터를 작성하지만, 다른 알고리즘을 이용해도 좋다. 또 용도에 따라 검증 알고리즘을 선택할 수 있도록 해도 좋다.
또한, 단말(200)이 정당한지 인증할 필요는 없고, 접근 영역 지정 명령과의 대응관계에 대해서만 확인하고 싶은 경우는, 암호 처리를 이용하지않고, 단지 SHA1(Secure Hash Algorithm 1 )나 MD5(Message Digest 5) 알고리즘을 이용한 해시 데이터를 검증 데이터로서 이용해도 좋다.
단말(200)은, 상기의 검증 데이터 생성 처리로서 32비트의 검증 데이터를 생 성하고, 보안성 보호 영역 판독 명령의 인수로 사용한다.
이어서, 카드(100)의 명령 수신부(101)는, 단말(200)로부터 송신된 명령을 수신하여, 그것이 보안성 보호 영역 판독 명령임을 인식하고, 접근 영역 지정 정보(1702)에 관한 오류 플래그가 ON으로 설정되어 있는 경우는, 응답으로서 오류를 돌려준다. 또, 접근 영역 지정 정보(1702)에 관한 오류 플래그가 ON으로 설정되어 있지 않은 경우는, 도 15에서 표시되는 바와 같이, 단말에 정상 응답을 돌려줌(스텝 1305)과 동시에, 데이터 제어부(103)에 대해서 보안성 보호 영역 판독 명령을 수신하였음을 통지하고, 파라미터 검증부(108)에 명령 인수(402)로서 받은 검증 데이터(2104)를 건네준다.
이어서, 단말(200)은, 카드(100)의 CMD 라인(22)으로부터 보안성 보호 영역 판독 명령에 대한 응답을 수신하고, DAT0 라인(27)으로부터 데이터가 출력되기를 기다린다.
이후에 카드(100)에 의한 보안성 보호 영역의 데이터 출력 처리에 대해 설명한다.
카드(100)의 파라미터 검증부(108)는, 파라미터 기억부(109)로부터 접근 영역 지정 명령에 의해 단말(200)로부터 받아서 기억해 둔 접근 영역 지정 정보(1702)를 판독하고, 접근 영역 지정 정보(1702)에 포함되는 에리어 번호(X)(1801)에 대응하는, 도 15의 스텝(S9059)에서 기억한 검증용 세션 키(Km)를 에리어 세션 키 관리부(111)로부터 취득한다.
이어서, 카드(100)의 파라미터 검증부(108)는, 검증용 세션 키(Km)와 접근 영역 지정 정보(1702)를 이용하여, 도 24에 나타낸 검증 데이터 생성 처리를 실시하여, 검증 데이터(1904)를 생성한다. 또한, 검증 데이터 생성 처리에 대해서는, 도 23에 나타낸 단말(200)에 의한 검증 데이터 생성 처리와 동일하므로 상세한 설명은 생략 한다.
이어서, 카드(100)의 파라미터 검증부(108)는, 상기 검증 데이터 생성 처리로 생성한 검증 데이터(1904)와 단말(200)로부터 보안성 보호 영역 판독 명령의 인수를 이용해서 받은 검증 데이터(504)를 비교하고, 일치하지 않으면 오류로 하고, 데이터 판독 처리로 이행하지 않는다. 일치한 경우는, 다음의 데이터 판독 처리로 이행함을 데이터 제어부(103)에 통지한다.
이어서, 카드(100)의 데이터 제어부(103)는, 파라미터 기억부(109)로부터 접근 영역 지정 정보(1702)를 판독, 그 중에 포함되는 에리어 번호(X)를 취득하고, 에리어 세션 키 관리부(111)로부터 에리어 번호에 대응하는 파일(FILE3)을 인식한다.
이어서, 카드(100)의 데이터 제어부(103)는, 파일(FILE3)이 애플리케이션 AP1용 영역임을 확인하고, 격납용 암호 키(Ks_1)를 취득한다.
이어서, 카드(100)의 데이터 제어부(103)는, 접근 영역 지정 정보(1702)로부 터 접근 개시 주소(1802)와 접근 데이터 사이즈(1803)를 취득하고, 파일(FILE3)로서 관리되고 있는 영역에 대해서, 접근 개시 주소(1802)를 오프셋, 접근 데이터 사이즈(1803)를 판독 사이즈로서 메모리 접근부(104)에 데이터 판독 요구를 실시한다.
이어서, 카드(100)의 데이터 제어부(103)는, 암복호부(107)에 대해서, 메모리 접근부(104)를 이용하여 판독된 데이터를 격납용 암호 키(Ks_1)로 복호화 하도록 요구한다.
이어서, 카드(100)의 데이터 제어부(103)는, 암복호부(107)에 대해서, 암복호부(107)에 의해 복호화 된 데이터를 암호용 세션 키(Kd)로 암호화하도록 요구한다.
이어서, 카드(100)의 데이터 제어부(103)는, 데이터 송수신부(102)에 대해서, 복호부(107)에 의해 암호용 세션 키(Kd)로 암호화된 데이터를 단말(200)에 송신하도록 요구한다.
상기의 처리로 인해, 카드(100)로부터 보안성 보호 영역의 데이터가 세션 키(Kd)를 이용하여 암호화된 상태로 출력 가능해진다.
단말(200)은, 카드(100)로부터 데이터가 출력 가능해진 것을 인식하고, 도 17에 나타내는 바와 같이, DAT0 라인(27)으로부터 세션 키(Kd)를 이용하여 암호화된 상태의 데이터를 취득하여(스텝 1306), 단말이 보관 유지하는 암호용 세션 키 (Kd)를 이용하여 데이터를 복호화 하여, 접근 영역 지정 정보(1702)로 지정한 영역의 데이터를 얻는다.
다음에, 보안성 보호 영역에 대해서 기록을 실시할 때의 처리에 대해, 도 25를 참조하여 설명한다.
단말(200)로부터의 접근 영역 지정 명령의 송신(스텝 2001), 상기 명령에 대한 카드(100)로부터의 응답(스텝 2002), 및 접근 영역 지정 정보의 송신(스텝 2003)에 대해서는, 각각 도 17에 나타낸 보안성 보호 영역에 대한 판독 처리에 있어서의 스텝 (1301)~(1303)과 동일하므로 설명을 생략 한다. 스텝(2001)~스텝(2003)을 실시한 후, 단말(200)은, 카드(100)에 대해서 보안성 보호 영역 기록 명령을 송신한다(스텝 2004). 이 보안성 보호 영역 기록 명령은, 도 8에 표시되는 포맷으로 되어있으며, 6비트의 명령 코드(401)와 32비트의 명령 인수(402)로 구성된다.
보안성 보호 영역 판독 명령에 있어서의 명령 인수(402)는, 보안성 보호 영역 판독 명령을 송신한 단말(200)이, 접근 영역 지정 명령을 송신한 단말(200)과 동일한가, 또, 세션 키 공유 순서를 거쳐 에리어 번호(X)가 가리키는 영역에 대한 접근 권한이 있음이 확인된 단말(200)과 동일한가를 검증하기 위한 검증 데이터(1904)로 구성된다.
이 검증 데이터의 생성 방법에 대해서는 보안성 보호 영역 판독 명령과 동일 하기 때문에, 상세한 설명은 생략 한다.
단말(200)은, 검증 데이터 생성 처리를 이용하여 32비트의 검증 데이터를 생성하여, 보안성 보호 영역 기록 명령의 인수로서 사용한다.
이어서, 카드(100)의 명령 수신부(101)는, 단말(200)로부터 송신된 명령을 수신하고, 그것이 보안성 보호 영역 기록 명령임을 인식하여, 접근 영역 지정 정보(1702)에 관한 오류 플래그가 설정되어 있는 경우는, 응답으로서 오류를 돌려준다.
또, 접근 영역 지정 정보(1702)에 관한 오류 플래그가 설정되어 있지 않은 경우는, CMD 라인(22)으로부터 단말(200)에 대해서 정상 응답을 돌려줌(스텝 2005)과 동시에, 데이터 제어부(103)에 대해서 보안성 보호 영역 기록 명령을 수신하였음을 통지하고, 파라미터 검증부(108)에 명령 인수로서 받은 검증 데이터(504)를 건네준다.
다음에, 단말(200)은, 카드(100)의 CMD 라인(22)으로부터 보안성 보호 영역 기록 명령에 대한 응답을 수신하여, DAT0 라인(27)에 데이터의 입력을 실시한다. 여기서 DAT0 라인(27)에 입력하는 데이터는, 도 13의 스텝(907)에서 생성한 암호용 세션 키(Kd)로 암호화한 것이다. 또, 입력 데이터 사이즈는, 접근 영역 지정 정보(1702)에서 지정한 접근 데이터 사이즈와 동일하다.
이후에 카드에 의한 보안성 보호 영역에로의 데이터 격납 처리에 대해 설명한다.
카드(100)의 파라미터 검증부(108)는, 파라미터 기억부(109)로부터, 접근 영역 지정 명령을 이용하여 단말(200)로부터 받아 기억해 둔 접근 영역 지정 정보(1702)를 판독하고, 접근 영역 지정 정보(1702)에 포함되는 에리어 번호 X(1801)에 대응하는, 도 15의 스텝(9059)에서 기억한 검증용 세션 키(Km)를 에리어 세션 키 관리부(111)로부터 취득한다.
이어서, 카드(100)의 파라미터 검증부(108) 내부의 검증 데이터 생성부(1903)는, 검증용 세션 키(Km)와 접근 영역 지정 정보(1702)를 이용하여, 도 24에 나타낸 검증 데이터 생성 처리를 실시하여, 검증 데이터(1904)를 생성한다. 또한, 검증 데이터 생성 처리에 대해서는, 도 23에서 나타낸 단말에 의한 검증 데이터 생성 처리와 동일하므로 상세한 설명은 생략 한다.
이어서, 카드(100)의 파라미터 검증부(108)는, 상기로 생성한 검증 데이터(1904)와, 단말(200)로부터 보안성 보호 영역 기록 명령의 인수를 이용하여 받은 검증 데이터(2101)를 비교하고, 일치하지 않으면 오류로 하여, 데이터 기록 처리로 이행하지 않는다. 일치한 경우는 다음의 데이터 기록 처리로 이행함을 데이터 제어부(103)에 통지한다.
이어서, 카드(100)의 데이터 제어부(103)는, 파라미터 기억부(109)로부터 접근 영역 지정 정보(1702)를 판독하여, 그 중에 포함되는 에리어 번호(X)를 취득하여, 에리어 세션 키 관리부(111)에서 에리어 번호에 대응하는 파일(FILE3)을 인식 한다.
이어서, 카드(100)의 데이터 송수신부(102)는, 단말(200)로부터 입력된 데이터를 수신한다.
이어서, 카드(100)의 데이터 제어부(103)는, 파일(FILE3)이 애플리케이션 AP1용 영역(71) 안에 존재하므로, 애플리케이션 AP1용 영역(71)에 대응한 격납용 암호 키(Ks_1)을 취득한다.
이어서, 카드(100)의 데이터 제어부(103)는, 암복호부(107)에 대해서, 데이터 송수신부(102)가 수신한 데이터를 암호용 세션 키(Kd)로 복호화 하도록 요구한다.
이어서, 카드(100)의 데이터 제어부(103)는, 암복호부(107)에 대해서, 암복호부(107)가 복호화 한 데이터를 격납용 암호 키(Ks_1)로 암호화하도록 요구한다.
이어서, 카드(100)의 데이터 제어부(103)는, 접근 영역 지정 정보(1702)로부터 접근 개시 주소(1802)와 접근 데이터 사이즈(1803)를 취득하고, 파일(FILE3)로서 관리되고 있는 영역에 대해, 접근 개시 주소(1802)를 오프셋, 접근 데이터 사이즈(1803)를 기록 사이즈로서, 메모리 접근부(104)에 대해서 데이터 기록 요구를 실시한다.
상기와 같이 하여, 단말(200)이 입력한 세션 키(Kd)로 암호화된 데이터를 격납 키(Ks_1)로 암호화하여 플래시 메모리(105)에 격납한다.
본 실시형태에서는, 세션 키의 공유와 접근 가능 영역에 관한 정보의 공유를 1개의 명령으로 동시에 실시하고 있지만, 별개의 명령으로 실시해도 좋다.
본 실시형태에서는, 세션 키의 공유와 접근 가능 영역에 관한 정보의 공유를 1개의 명령으로 동시에 실시하고 있지만, 별개의 명령으로 실시해도 좋다.
이상, 본 발명과 같이, IC카드용 명령과 메모리 접근용 명령을 수신할 수 있는 메모리 카드에 있어서, 카드 애플리케이션이 이용하고, 통상은 카드 애플리케이션 경유로서만 접근 가능하며, 단말로부터의 접근이 제한되어 있는 보안성 보호 영역에 대해서, 카드 애플리케이션과 단말이 상호 인증하여, 카드 애플리케이션이 접근 가능 설정을 실시함으로써, 단말로부터 메모리 접근용 명령을 이용하여 접근이 가능해진다.
또, 카드 애플리케이션이 접근 가능 설정을 실시하기 위한 카드 애플리케이션 과 단말 간의 상호 인증은, 용도가 한정된 메모리 접근용 명령이 아니라, IC카드용 명령을 사용함으로써, 데이터의 보안성 레벨에 따라 상호 인증 방식을 유연하게 선택 가능해진다.
또, 메모리 접근용 명령에 포함되는 인수 사이즈가 32비트와 같이 작은 경우라도, 본 발명과 같이, 접근 영역 지정과 보안성 보호 영역 접근의 명령을 분리하여, 보안성 보호 영역 접근용 명령에 검증 데이터를 포함시킴으로써, 접근 영역 지정을 실시한 단말 애플리케이션과 보안성 보호 영역 접근용 명령을 발행한 단말 애 플리케이션과 검증용 키를 보관 유지한 단말 애플리케이션이 동일한 것을 카드가 검증하는 일이 가능해진다.
또, 검증용 및 암호용 세션 키의 공유 처리를 보안성 보호 영역 접근별로 따로 실시함으로써, 보안성 보호 영역 접근에 포함시키는 검증 데이터로서 적당한 값을 설정하여 반복 부정 접근을 실시하는 공격에 대한 방어성을 높일 수가 있다.
또, 단말로부터 접근하고 싶은 파일을 카드에 통지하고, 거기에 에리어 번호를 할당하여 카드로부터 단말에 통지함으로써, 단말이 접근 가능한 영역을 설정할 수가 있다. 또, 복수의 파일에 대해서 실시함으로써, 동시에 복수의 파일에 대해서 접근 가능한 상태를 만들 수가 있다.
(실시형태 2)
본 실시형태에서는, 단말이, 영역 지정 명령으로 지정하는 에리어 번호를 미리 인식하고 있는 경우의 순서를 설명한다.
우선, 카드내 모듈 구성에 대해 도 26을 이용해 설명한다. 또한, 도 26의 카드(500)의 단자 구성은, 도 4에 나타낸 것과 동일하기 때문에, 그 도면 표시 및 설명은 생략한다.
카드(500)내 모듈은, CMD 라인에 접속되어 명령의 수신 및 응답의 송신을 실시하는 처리 명령 수신 수단(501)과, 데이터를 격납하는 기억 영역(506)과, 기억 영역(506)에 대한 접근 처리를 실시하는 기억 영역 접근 수단(505)과 DAT 라인에 접속되어, 기억 영역 접근 수단(505)이 판독한 데이터를 외부 기기에 송신하는 데이터 송신 수단(502)과, 마찬가지로 DAT 라인에 접속되어, 외부 기기로부터 데이터를 수신하는 데이터 수신 수단(503)과 처리 명령 수신 수단(501)이 받은 지정 정보를 검증하는 지정 정보 검증 수단(504)으로 구성된다.
이어서, 단말(600)내 모듈 구성에 대해, 도 27을 이용해 설명한다.
단말(600)내 모듈은, 카드(500)에 대한 명령 송신과 응답 수신을 실시하는 처리 명령 송신 수단(604)과, 카드(500)에 대한 데이터 송신을 실시하는 데이터 송신 수단(605)과, 카드(500)로부터의 데이터 수신을 하는 데이터 수신 수단(606)과, 접근하는 영역을 결정하는 지정정보 결정수단(601)과 지정정보로부터 검증정보를 생성하는 검증정보 생성수단(602)과, 카드(500)에 송신하는 데이터 및 카드(500)로 부터 수신하는 데이터를 격납하는 데이터 기억수단(603)으로 구성된다.
이어서, 단말(600)로부터 카드(500)의 보안성 보호영역에 대해서 접근을 실시할 때의 처리에 대해, 상기 도 26및 도 27과 도 28에 나타내는 흐름도를 이용해 설명한다.
우선, 단말(600)은 지정 정보 결정 수단(601)으로 판독(read)접근 또는 기록(Write)접근을 실시할 영역을 결정하고(스텝 S2601), 접근영역 지정정보를 생성한다(스텝 S2602). 이어서, 이 접근 영역 지정 정보를 데이터 기억 수단(603)에 격납하고 영역지정 명령을 처리명령 송신수단(604)으로부터 카드(500)에 송신한다(스 텝 S603).
영역 지정 명령의 데이터부의 일례를 도 29에 나타낸다.
DAT 라인(27)에 입력하는 데이터는 512바이트 단위로 되어 있으며, 영역 지정 명령의 데이터부는, 접근영역 지정정보(2702)의 길이 필드(2701)와, 접근영역 지정 정보 필드(2702)의 합계 길이가 512바이트에 못 미친 경우, 패딩(2703)이 추가된다. 본 실시형태에서는, 길이 필드(2701)는 2바이트의 길이를 가지며, 접근영역 지정정보(2702)는, 도 30에 나타내는 바와 같이, 1바이트의 에리어 번호(2801), 3바이트의 접근 개시 주소(2802), 및 3바이트의 접근 데이터 사이즈(2803)로 구성된다. 즉 합계 9바이트여서 512바이트에 못 미치기 때문에, 503바이트의 패딩(2703)이 부가된다.
이어서, 도 28로 돌아와, 카드(500)는, 처리명령 수신수단(501)으로 영역지정 명령을 수신하면(스텝 S2604), 지정정보 검증수단(504)으로 접근영역 지정정보(2702)를 확인하고, 지정한 영역이 올바른지 어떤지를 에리어 번호(2801)에 대응하는 영역이 존재하는지, 접근 개시 주소(2802) 및 접근 데이터 사이즈(2803)가 에리어 번호(2801)에 나타난 영역 범위에 들어가 있는지를 기초로 판단한다(스텝 S2605). 지정정보 검증수단(504)은, 지정한 영역이 올바르지 않으면, 영역지정 명령을 무효로서 취급한다(스텝 S2606) . 지정한 영역이 올바른 경우, 접근영역 지정정보(2702)를 보존하고, 접근영역 지정정보(2702)와, 단말(600)과 카드(500) 사 이에서 공유하고 있는 키를 이용하여, 비교 정보를 생성한다(스텝 S2607).
비교 정보의 생성 방법의 일례를 도 29에 나타낸다.
검증 데이터 생성부(2902)는 암호 연산을 실시하는 모듈로서, 본 실시형태 에서는 DES-MAC로 불리는 MAC(Message Authentication Code)를 생성하는 처리를 한다. 입력은, 영역지정 명령의 데이터부(2704)와 단말(600) 사이에서 공유하고 있는 검증용 키(2901)이다. DES-MAC의 출력 결과는 64비트이지만, 본 실시형태에서는, 비교 대상이 되는 단말(600)로부터 송신되는 검증 정보가 32비트이기 때문에, 그 출력을 줄인(2903)것인 전반 32비트만을 비교 정보(2904)로서 이용한다. 또, 검증용 키(2901)는, 에리어 번호에 대응하여 개별적이면서도 또한 고정된 키이어도 좋고, 에리어 번호에 관계없이 1개의 키여도 좋다.
또, 도 32에 나타내는 바와 같이, 카드(700) 내부에 검증용 키 공유수단(701)을 구비하고, 도 33에 나타내는 바와 같이 단말(800) 내부에 검증용 키 공유수단(801)을 구비하여 카드(700)과 단말(800) 간에서, 보안성 보호 영역에의 접근을 실시할 때마다 검증용 키를 변경해도 좋다. 또한, 도 32및 도 33의 각 구성에 있어서, 도 26및 도 27에 나타낸 구성과 동일한 부분에는 동일한 부호를 붙이고 있다.
다음에, 검증용 키의 공유방법에 대해 상기 도 32및 도 33과 도 34에 나타내는 순서 및 도 35에 나타내는 검증용 키 생성방법을 이용하여 설명한다.
도 34에 있어서, 단말(800)은 검증용 키 공유수단(801)에 있어서, 난수(Ra)를 생성하고, 이 난수(Ra)를 포함한 세션 키 공유 요구 명령 APDU를 작성하여, 처리 명령 송신수단(604)으로부터 APDU 송신 명령을 카드(700)에 송신함과 동시에(스텝 S3201), 데이터 송신수단(605)으로부터 세션키 공유요구 명령 APDU를 카드(700)에 송신한다(스텝 S3202).
이어서, 카드(700)는 처리명령 수신수단(501)으로 APDU 송신명령을 단말(800)로부터 수신하고, 데이터 수신수단(503)으로 단말(800)로부터 수신한 세션 키 공유 요구 명령 APDU를 검증용 키 공유 수단(701)에 건네준다.
검증용 키 공유수단(801)으로는, 난수(Rb)를 생성하여, 도 35에 나타내는 바와 같이, 단말(800)로부터 수신한 난수(Ra)와 난수(Rb)를 결합한 것에 대해, 미리 단말(800)과의 사이에서 공유하고 있는 마스터 키(K)를 이용하여 암호화 처리(DES-MAC 처리)를 실시하여, 세션 키(R)를 생성한다. 이어서, 카드(700)는, 난수(Rb)를 포함한 응답 APDU를 생성한다.
이어서, 단말(800)은, 처리명령 송신수단(604)으로부터 APDU 수신 명령을 카드(700)에 송신한다(스텝 S3203).
이어서, 카드(700)는, 처리명령 수신수단(501)으로 APDU 수신 명령을 단말(800)로부터 수신하고, 방금 전에 작성한 난수(Rb)를 포함한 응답 APDU를 데이터 송신수단(502)으로부터 단말(800)에 송신한다(스텝 S3204).
이어서, 단말(800)은, 데이터 수신수단(606)을 이용하여 응답 APDU를 카드(700)로부터 수신하고, 검증용 키 공유수단(801)에 건네준다. 검증용 키 공유 수단(801)은, 도 35에 나타내는 바와 같이, 방금전에 자신이 생성한 난수(Ra)와 응답 APDU에 포함되는 난수(Rb)를 결합한 것에 대해, 미리 카드(700)와의 사이에서 공유하고 있는 마스터 키(K)를 이용하여 암호화 처리(DES-MAC 처리)를 실시하고, 세션 키(R)를 생성한다.
이상이, 보안성 보호 영역에의 접근을 실시할 때마다 세션 키를 변경할 경우의, 단말(800)과 카드(700) 사이에 있어서의 검증용 키 공유 순서이다.
또한, 본 실시형태에서는 DES-MAC를 이용하고 있지만, 당연히 다른 암호 알고리즘을 이용해도 좋다. 또, 단말(800)이 정당한지, 즉 동일한 키를 가지고 있는지를 검증할 필요가 없는 경우, 예를 들면, 영역 지정 명령의 접근 영역 지정 정보(2702)가 단말이 의도한 것으로 되어 있는지에 대한 검증만 실시할 경우는, 암호 처리를 이용하지 않고 , 도 36에 나타내는 등의 검증 데이터 생성부(3401)로 SHA-1 연산이나, MD5 알고리즘을 이용한 해시 연산이나 체크 섬 연산의 결과를 비교 정보로서 이용할 수가 있다. 이러한 알고리즘을 이용한 경우도, 비교 대상이 32 비트 길이라면, 출력 결과를 줄여서(3402), 그 일부인 32비트만을 비교 정보(3403)로 한다.
이어서, 도 28으로 돌아와, 단말(800)은, 검증 데이터 생성부에서 접근 영역 지정 정보(2702)와, 단말(800)과 카드(700) 사이에서 공유하고 있는 검증용 키(2901)로부터 검증 정보를 생성한다(스텝 S2608).
이 검증 정보의 생성에 대해, 도 37에 나타낸다. 검증 정보 생성부(3502)로 검증용 키(3501)와 영역 지정 명령의 데이터부(2704)를 이용하여 암호처리를 실시하여, 검증 정보(3504)를 생성한다. 생성 방법은, 도 31에서 나타낸 카드(700)에 있어서의 비교 정보(2904)의 생성 방법과 완전히 동일하다.
이어서, 도 28으로 돌아와, 단말(800)은, 생성한 검증 정보(3504)를 접근 명령(판독)의 인수에 격납시켜, 처리명령 송신수단(604)으로부터 접근 명령을 송신한다(스텝 S609).
접근 명령은, 도 38로 나타낸 포맷으로 되어 있으며, 명령 코드(3601)와 명령 인수(3602)의 길이는 각각 6비트와 32비트이다. 접근 명령에서는, 명령 인수(3602)에 검증 정보(3504)를 격납한다.
이어서, 도 28로 돌아와, 카드(700)는, 처리명령 수신수단(501)으로 접근 명령(판독)을 수신하고(스텝 S2610), 지정 정보 검증 수단(504)으로 사전에 영역 지정 명령이 정상적으로 완료했는지 어떠했는지를 확인한다(스텝 S2611). 영역 지정 명령이 미수신이거나, 또는 지정한 영역이 올바르지 않은 등의 이유로 정상적으로 완료하고 있지 않을 경우는, 접근 명령을 오류로서 단말(800)에 통지한다(스텝 S2612). 이 때, 단말(800)은, 카드(700)로부터 오류를 수신한다(스텝 S2612A).
사전에 영역 지정 명령이 정상적으로 완료하고 있는 경우, 지정 정보 검증 수단(504)은, 방금전에 카드(700)가 작성한 비교 정보(2904)와 접근 명령의 명령 인수에 격납된 검증 정보(3504)를 비교한다(스텝 S2613). 비교한 결과, 검증 정보(3504)가 비정상이라면, 접근 명령을 오류로서 단말(800)에 통지한다(스텝 S2614). 이 때, 단말(800)은, 카드(700)로부터 오류를 수신한다(스텝 S2614A). 검증 정보가 정상이라면, 지정 정보 검증 수단(5044)은 기억 영역 접근 수단(505)에 접근영역 지정정보(2702)를 통지하고, 기억영역 접근수단(505)은 기억 영역(506)내의 접근 영역 지정 정보(2702)로 지정된 영역으로부터 데이터를 판독하여, 데이터 송신 수단(502)으로부터 데이터를 단말(800)에 송신한다(스텝 S2615).
이어서, 단말(800)은, 카드(700)로부터 송신된 판독 데이터를 데이터 수신 수단(606)으로 수신하여(스텝 S2616), 데이터 기억 수단(603)에 격납한다.
이상과 같이, 메모리 접근용 명령에 포함되는 인수 사이즈가 32비트와 같이 작은 경우에서도, 본 발명과 같이, 접근 영역 지정과 보안성 보호 영역 접근의 명령을 분리하여, 보안성 보호 영역 접근용 명령에 검증 데이터를 포함시킴으로써, 접근 영역 지정을 실시한 단말 애플리케이션과 보안성 보호 영역 접근용 명령을 발행한 단말 애플리케이션과 검증용 키를 보관 유지한 단말 애플리케이션이 동일한 것을 카드가 검증할 수 있게된다.
또한, 검증 데이터 생성을 위해, 영역 지정 정보와 검증용 키에 추가하여, 카드로부터 출력되는 난수 정보를 이용하는 방법을, 도 39에 나타내는 순서를 이용하여 이하에 설명한다. 또, 도 39에 나타내는 각 스텝에 있어서, 도 28에 나타낸 순서의 스텝과 동일한 스텝에는 동일 부호를 붙이며, 그 설명은 생략한다.
도 39에 나타내는 바와 같이, 단말(800)로부터, 난수 취득 명령을 단말(800)로부터 카드(700)에 송신하고(스텝 S3701), 카드(700)가 난수(T)를 생성하여, 이 난수(T)를 카드(700) 내부의 지정 정보 검증 수단(504)에 보관 유지함과 동시에, 데이터 송신 수단(502)로부터 단말(800)에 송신한다(스텝 S3702). 단말(800)은, 카드(700)로부터 송신된 난수(T)를 데이터 수신 수단(606)으로 수신한다(스텝 S3703).
난수(T)를 검증 정보 생성 처리에 이용하는 경우의 카드(700)에 있어서의 비교 정보의 생성 처리(스텝 S2607), 및, 단말(800)에 있어서의 검증 정보의 생성 처리(스텝 S2608)는, 각각 도 40 및 도 41에 나타내는 바와 같이, 난수(T)와 영역 지정 명령의 데이터부(2704)를 결합한 것에 대해 암호 처리를 실시하고, 비교 정보(3804) 및 검증 정보(3904)를 출력한다.
이상과 같이, 검증 정보 생성에 난수 정보를 이용함으로써, 동일한 영역 지정 정보와 검증용 키를 이용하여 검증 정보를 작성하여도, 난수 정보가 변화함으로써 출력되는 검증 정보가 변화하기때문에, 보다 보안성 강도를 향상시킬 수가 있다.
(실시형태 3)
본 실시형태에서는, 키의 공유 처리를 포함한 순서의 예를 설명한다.
우선, 카드내 모듈 구성에 대해 도 42를 이용해 설명한다.
또한, 카드의 단자 구성은, 도 4에 나타낸 것과 동일하기 때문에, 그 도면 표시 및 설명은 생략 한다.
카드내 모듈은, CMD 라인에 접속되어, 명령의 수신 및 응답의 송신을 실시하는 처리명령 수신수단(901)과, 데이터를 격납하는 기억 영역(906)과, 기억영역(906)에 대한 접근 처리를 실시하는 기억 영역 접근 수단(905)과, DAT 라인에 접속되어 기억 영역 접근 수단(905)이 판독한 데이터를 외부 기기에 송신하는 데이터 송신 수단(902)과, 마찬가지로 DAT 라인에 접속되어, 외부 기기로부터 데이터를 수신하는 데이터 수신 수단(903)과, 단말(1000)과의 사이에서 보안성 보호 영역 접근 명령에 의한 접근이 가능한 영역에 관한 정보를 공유하는 가능영역정보 공유부(907)와, 데이터 수신 수단(903)을 경유하여 받은 지정 정보를, 검증용 키를 이용하여 검증하는 지정정보 검증수단(904)으로 구성된다.
이어서, 단말내 모듈 구성에 대해, 도 43을 이용해 설명한다.
단말내 모듈은, 카드(900)에 대한 명령 송신과 응답 수신을 실시하는 처리 명령 송신 수단(1004)과, 카드(900)에 대한 데이터 송신을 실시하는 데이터 송신 수단(1005)과, 카드(900)로부터의 데이터 수신을 실시하는 데이터 수신 수단(1006) 과, 접근하는 영역을 결정하는 지정 정보 결정 수단(1001)과, 보안성 보호 영역 접근 명령에 의한 접근이 가능한 영역에 관한 정보를 공유하는 가능 영역 정보 공유부 (1007)와, 지정 정보로부터 검증 정보를 생성하는 검증정보 생성수단(1002)과, 카드(900)에 송신하는 데이터 및 카드(900)로부터 수신하는 데이터를 격납하는 데이터 기억 수단(1003)으로 구성된다.
이어서, 단말(1000)로부터 카드(900)내의 보안성 보호 영역에 대해서 접근을 실시할 때의 처리에 대해, 상기 도 42및 도 43과 도 44및 도 45에 나타내는 순서를 이용해 설명한다.
우선, 단말(1000)은, 지정 정보 결정 수단(1001)으로, 판독(read)접근 또는 기록 (write)접근을 실시할 영역(A)를 결정하고(스텝 S4201), 가능 영역 정보 공유부(1007)로, 상기 영역(A)에 대한 보안성 보호 영역 접근 명령에 의한 접근을 허가하도록 요구하는 명령 APDU인 영역 개방 요구 명령을 처리 명령 송신 수단(1004)으로부터 카드(900)에 송신한다(스텝 S4202). 영역 개방 요구 명령은, 단말(1000)의 공개 키를 나타내는 식별자(Info_PubH)와 영역(A)를 나타내는 식별자(a)를 카드( 900)의 공개 키( PubS)로 암호화한 데이터를 포함한다. 또한, 명령 APDU의 송신 방법은 실시형태 1에서 설명한 방법과 동일하므로, 상세한 설명은 생략 한다.
이어서, 영역 개방 요구 명령을 수신한 카드(900)는, 가능 영역 정보 공유 수단(907)으로 명령에 포함되는 암호화 데이터를 카드(900) 자신의 비밀키(PriS)로 복호화 한다(스텝 S4203). 그 다음에, 단말(1000)의 공개 키 식별자(Info_PubH)로부터 명령을 송신한 단말(1000)을 식별하여, 식별자(a)로 표시되는 영역(A)의 접근 권한을 참조함으로써, 해당단말(1000)이 영역(A)에 대한 접근이 허가되어 있는지 어떤지를 확인한다(스텝 S4205).
접근이 허가되어 있지 않은 경우는, 영역 개방 실패를 나타내는 데이터를 응답 APDU로서 데이터 송신 수단(902)으로부터 단말(1000)에 송신한다(스텝 S4206).
접근이 허가되어 있는 경우는, 영역(A)의 식별자(a)와 영역(A)에 할당한 에리어 번호(X)를, 지정 정보 검증 수단(904)내에 가지는, 보안성 보호 영역 접근 명령에 의한 접근 가부를 설정하는 접근 유효 테이블(4400)(도 46 참조)에 등록한다(스텝 S4207). 이어서, 영역(A)에 대응한 검증용 키(R)를 접근 유효 테이블(4400)에 등록한다(스텝 S4208).
이어서, 에리어 번호(X), 영역(A)의 사이즈를 단말(1000)의 공개 키(PubH)로 암호화하여, 응답 APDU로서 데이터 송신 수단(902)으로부터 단말(1000)에 송신한다(스텝 S4209).
이어서, 단말(1000)은, APDU 수신 명령을 처리 명령 송신 수단(1004)으로부터 카드(900)에 송신하고, 데이터 수신 수단(1006)을 이용하여 응답 APDU를 카드(900)로부터 취득한다(스텝 S4210). 또한, 응답 APDU의 취득 방법은 실시형태 1에서 설명한 방법과 동일하므로, 상세한 설명은 생략 한다.
이어서, 단말(1000)의 가능 영역 정보 공유 수단(1007)은, 응답 APDU에 포함되는 암호 데이터를 단말(1000) 자신의 비밀 키(PriH)로 복호화 하여(스텝 S4211), 에리어 번호(X), 에리어 번호(X)로 표시되는 영역(A)의 사이즈를 얻는다. 이어서, 단말(1000)은 영역(A)에 대응한 세션 키를 검증 정보 생성 수단(1002)에 등록한다. 에리어 번호(X)는 접근 영역 지정 정보를 생성하기 위해서 지정 정보 결정 수단(1001)에 등록한다(스텝 S4212). 이후, 도 45의 흐름도로 옮겨간다.
이어서, 단말(1000)은 지정 정보 결정 수단(1001)으로 가능 영역 정보 공유 수단(1007)에 의해 등록된 에리어 번호(X)를 이용하여 접근 영역 지정 정보를 생성한다(스텝 S4213). 이어서, 이 접근 영역 지정 정보를 데이터부(2704)(도 29 참조)에 격납하고, 영역 지정 명령을 처리 명령 송신 수단(1004)으로부터 카드(900)에 송신한다(스텝 S4214). 또한, 영역 지정 명령에 있어서의 접근 영역 지정 정보는 실시형태 2와 동일하므로, 상세한 설명은 생략한다.
이어서, 카드(900)는, 처리 명령 수신 수단(901)으로 단말(1000)로부터 영역 지정 명령을 수신하면(스텝 S4215), 지정 정보 검증 수단(904)으로 접근 영역 지정 정보를 확인하고, 에리어 번호(X)가 접근 유효 테이블(4400)에 등록되어 있는지, 도 30에 나타낸 접근 개시 주소(2802) 및 접근 데이터 사이즈(2803)를 기초로 영역(A)의 범위에 들어 있는지를 판단한다(스텝 S4216). 지정 정보 검증 수단(904)은, 지정한 영역이 올바르지 않으면, 영역 지정 명령을 무효로서 취급한다(스텝 S4217). 지정한 영역이 올바른 경우, 접근 영역 지정 정보를 보존하고, 접근 영역 지정 정보와 접근 유효 테이블(4400)에 등록된 영역(A)에 대응한 검증용 키(R)를 이용하여, 비교 정보를 생성한다(스텝 S4218). 또한, 비교 정보의 생성 방법은 실시형태 2와 동일하므로, 상세한 설명은 생략 한다.
이어서, 단말(1000)은, 검증 정보 생성 수단(1002)으로 접근 영역 지정 정보와 가능 영역 정보 공유부(1007)에 의해 등록된 세션 키(R)를 이용하여 검증 정보를 생성하여(스텝 S4219), 접근 명령(판독)의 인수에 넣어, 처리 명령 송신 수단(1001)으로부터 접근 명령을 카드(900)에 송신한다(스텝 S4220). 또한, 검증 정보의 생성 방법 및 접근 명령의 송신 방법은 실시형태 2와 동일하므로, 상세한 설명은 생략 한다.
이어서, 카드(900)는, 처리 명령 수신 수단(901)으로 접근 명령(판독)을 수신하고(스텝 S4221), 지정 정보 검증 수단(904)으로 사전에 영역 지정 명령이 정상적으로 완료했는지 어떠했는지를 확인한다(스텝 S4222). 영역 지정 명령이 미수신이거나, 또는 지정한 영역이 올바르지 않은 등의 이유로 정상적으로 완료해 있지 않는 경우는, 접근 명령을 오류로서 단말(1000)에 통지한다(스텝 S4223). 이 때, 단말(1000)은, 카드(900)로부터 오류를 수신한다(스텝 S4223A).
사전에 영역 지정 명령이 정상적으로 완료해 있는 경우, 지정 정보 검증 수단(904)은, 방금전에 카드(900)가 작성한 비교 정보와 접근 명령의 인수에 격납된 검증 정보를 비교한다(스텝 S4224). 비교한 결과, 검증 정보가 비정상이라면, 접근 명령을 오류로서 단말(1000)에 통지한다(스텝 S4225). 이 때, 단말(1000)은, 카드(900)로부터 오류를 수신한다(스텝 S4225A).
검증 정보가 정상이라면, 지정 정보 검증 수단(904)는, 기억 영역 접근 수단(905)에 지정 정보를 통지하고, 기억 영역 접근 수단(905)은 기억 영역(906)내의 영역 지정 명령으로 지정된 영역으로부터 데이터를 판독하여, 데이터 송신 수단(902)으로부터 데이터를 단말(1000)에 송신한다(스텝 S4226).
이어서, 단말(1000)은, 카드(900)로부터 송신된 판독 데이터를 데이터 수신 수단(1006)으로 수신하여, 데이터 기억 수단(1003)에 격납한다(스텝 S4227).
이어서, 단말(1000)은, 영역(A)에 대한 보안성 보호 영역 접근 명령을 이용한 접근이 불필요해 졌을 때, 영역(A)에 대응하는 에리어 번호(X)를 무효화하기 위한 영역 무효 명령 APDU를 작성하여, 데이터 송신 수단(1005)으로부터 카드(900)에 송신한다(스텝 S4228).
이어서, 영역 무효 명령 APDU를 수신한 카드(900)는, 접근 유효 테이블(4400)을 검색하고, 에리어 번호(X)가 발견되면, 테이블 내의 에리어 번호(X)에 할당된 영역 식별자(a), 세션 키(R)와 함께 에리어 번호(X)의 등록을 삭제하고, 에리어 번호(X)를 지정한 영역(A)에 대한 보안성 보호 영역 접근 명령을 이용한 접근을 무효화한다(스텝 S4229).
이상과 같이, 보안성 보호 영역내의 어느 영역에 대하여, 필요한 경우만 영역 개방 요구에 의해 보안성 보호 영역 접근 명령을 이용한 접근을 가능한 상태로 하고, 또 불필요해졌을 때는 영역 무효 요구에 의해, 그 영역에 대한 접근을 불가능하게 함으로써, 보안성 강도를 향상시킬 수가 있다.
본 명세서는, 2003년 7월 16 일에 출원한 특허 출원 2003-275672 및 2004년 7월 2 일에 출원한 특허 출원 2004-197453에 기초하고 있는 것이다. 이 내용은 모두 여기에 포함시켜 놓는다.
메모리 카드 명령과 IC카드 명령을 병용하여, 메모리 접근에 대해서는 메모리 카드 명령을 사용함으로써 복잡함을 회피하면서, 적은 명령 인수(引數)로도 안전하게 단말을 인증 가능하게 할 수가 있다.

Claims (19)

  1. 기기로부터 메모리 디바이스에 대한 접근 방법으로, 상기 기기가, 상기 메모리 디바이스에 대한 접근영역을 지정하는 지정정보를 송신하는 스텝과, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스가, 상기 지정정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 정보를 수신하여, 상기 지정 정보를 상기 검증 정보를 이용하여 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가지는, 접근방법.
  2. 기기로부터 메모리 디바이스에 대한 접근 방법으로, 상기 기기가, 상기 메모리 디바이스와의 사이에서, 해당 메모리 디바이스에 대한 접근 가능영역에 관한 가능 영역 정보를 공유화하는 스텝과, 상기 가능 영역 정보를 참조하여, 상기 메모리 디바이스에 대한 접근영역을 지정하는 지정 정보를 송신하는 스텝과, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스가, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 정보를 수신하여, 상기 지정 정보를 상기 검증 정보를 이용하여 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가지 는, 접근방법.
  3. 기기로부터 메모리 디바이스에 대한 접근 방법으로, 상기 기기가, 상기 메모리 디바이스와의 사이에서, 검증용 키를 공유화하는 스텝과, 상기 메모리 디바이스에 대한 접근영역을 지정하는 지정정보를 송신하는 스텝과, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 상기 검증용 키로 암호화한 검증 데이터를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스가, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 데이터를 수신하여, 상기 지정 정보를 상기 검증 데이터와 상기 검증용 키를 이용해서 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가지는, 접근 방법.
  4. 기기로부터 메모리 디바이스에 대한 접근 방법으로, 상기 기기가, 상기 메모리 디바이스와의 사이에서, 해당 메모리 디바이스에 대한 접근 가능 영역에 관한 가능 영역 정보를 공유화하는 스텝과, 상기 메모리 디바이스와의 사이에서, 상기 접근 가능 영역에 대응한 검증용 키를 공유화하는 스텝과, 상기 가능 영역 정보를 참조하여, 상기 메모리 디바이스에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 상기 접근 영역에 대한 처리명령과, 상기 지정정보에 관한 검증정보를 상기 검증용 키로 암호화한 검증 데이터를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스가, 상기 지정 정보를 수신하는 스텝과, 상기 처리명령과 상기 검증 데이터를 수신해서, 상기 지정정보를 상기 검증 데이터와 상기 검증용 키를 이용하여 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가지는, 접근 방법.
  5. 기기로부터 메모리 디바이스에 대한 접근 방법으로, 상기 기기가, 상기 메모리 디바이스와의 사이에서, 제1 처리계 명령을 이용하여, 해당 메모리 디바이스에 대한 접근가능영역에 관한 가능 영역 정보를 공유화하는 스텝과, 상기 가능 영역 정보를 참조해서, 제2 처리계 명령을 이용하여, 상기 메모리 디바이스에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 상기 제2 처리계 명령을 이용하여, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 함께 송신하는 스텝과, 상기 메모리 디바이스가, 상기 지정정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 정보를 수신해서, 상기 지정정보를 상기 검증정보를 이용하여 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가지는, 접근 방법.
  6. 기기로부터 메모리 디바이스에 대한 접근방법으로, 상기 기기가, 상기 메모리 디바이스와의 사이에서, 제1 처리계 명령을 이용해서, 검증용 키를 공유화하는 스텝과, 제2 처리계 명령을 이용해서, 상기 메모리 디바이스에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 상기 제2 처리계 명령을 이용해서, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 상기 검증용 키로 암호화한 검증 데이터를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스가, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 데이터를 수신하여, 상기 지정정보를 상기 검증 데이터와 상기 검증용 키를 이용해서 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가지는, 접근 방법.
  7. 기기로부터 메모리 디바이스에 대한 접근 방법으로, 상기 메모리 디바이스는, 상기 기기로부터의 접근이 제약된 변형억제성 제1 영역과, 상기 기기로부터의 접근이 제약된 비변형억제성 제2 영역과, 상기 기기로부터 접근이 가능한 제3 영역을 가지며, 적어도 상기 제1 영역에 대한 처리명령인 제1 처리계 명령과, 적어도 상기 제3 영역에 대한 처리 명령인 제2 처리계 명령을 판별하는 기능을 구비하고, 상기 기기는, 상기 메모리 디바이스와의 사이에서, 제1 처리계 명령을 이용해서, 해당 메모리 디바이스에 대한 접근 가능 영역에 관한 가능 영역 정보를 공유화하는 스텝과, 상기 가능 영역 정보를 참조하여, 제2 처리계 명령을 이용해, 상기 제2 영역에 대한 접근영역을 지정하는 지정정보를 송신하는 스텝과, 제2 처리계 명령을 이용해서, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스는, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 정보를 수신하여, 상기 지정 정보를 상기 검증 정보를 이용해서 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가지는, 접근 방법.
  8. 기기로부터 메모리 디바이스에 대한 접근 방법으로, 상기 메모리 디바이스는, 상기 기기로부터의 접근이 제약된 변형억제성인 제1 영역과, 상기 기기로부터의 접근이 제약된 비변형억제성인 제2 영역과, 상기 기기로부터 접근이 가능한 제3 영역을 가지며, 적어도 상기 제1 영역에 대한 처리명령인 제1 처리계 명령과, 적어도 상기 제3 영역에 대한 처리 명령인 제2 처리계 명령을 판별하는 기능을 구비하고, 상기 기기는, 상기 메모리 디바이스와의 사이에서, 제1 처리계 명령을 이용하여, 검증용 키를 공유화하는 스텝과, 제2 처리계 명령을 이용하여, 상기 제2 영역에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 제2 처리계 명령을 이용하여, 상기 접근 영역에 대한 처리 명령과, 상기 지정정보에 관한 검증정보를 상기 검증용 키로 암호화한 검증 데이터를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스는, 상기 지정 정보를 수신하는 스텝과, 상기 처리명령과 상기 검증 데이터를 수신하고, 상기 지정 정보를 상기 검증 데이터와 상기 검증용 키를 이용해서 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리명령을 실행하는 스텝을 가지는, 접근 방법.
  9. 기기로부터 판독 기록되는 메모리 디바이스로서, 접근하는 영역을 지정하는 지정 정보를 수신함과 동시에, 상기 지정 정보에 기초한 검증 정보와 판독 또는 기록 명령을 합쳐서 수신하는 처리 명령 수신 수단과, 상기 지정 정보를, 상기 검증 정보를 이용하여 검증 처리를 실시하는 지정 정보 검증 수단과, 데이터를 격납하는 기억 영역과, 상기 검증 처리가 성공한 경우에, 상기 처리 명령에 따라, 상기 기억 영역의 상기 지정 영역에 대한 판독 또는 기록을 실시하는 기억 영역 접근 수단과, 상기 기억 영역 접근 수단이 판독한 데이터를 상기 기기에 송신하는 데이터 송신 수단과, 상기 기기로부터 기록 데이터를 수신하는 데이터 수신 수단을 구비하는 것을 특징으로 하는 메모리 디바이스.
  10. 제9항에 있어서,
    상기 지정정보 검증수단의 검증처리가, 상기 검증정보와 검증용 키를 이용해서 실시하는 것을 특징으로 하는 메모리 디바이스.
  11. 제10항에 있어서,
    상기 기기와의 사이에서 상기 검증용 키를 공유하는 검증용 키 공유수단을 더 구비하는 것을 특징으로 하는 메모리 디바이스.
  12. 제9항에 있어서,
    상기 기기와의 사이에서 메모리 디바이스에 대한 접근 가능한 영역을 나타내는 가능영역 정보를 공유하는 가능영역정보 공유수단을 더 구비하는 것을 특징으로 하는 메모리 디바이스.
  13. 메모리 디바이스를 판독 기록하는 정보 기기로서, 판독 또는 기록하는 영역을 결정하고, 상기 영역을 지정하는 지정 정보를 결정하는 지정 정보 결정 수단과, 상기 지정 정보로부터 상기 검증 정보의 생성 처리를 실시하는 검증 정보 생성 수단과, 상기 지정 정보의 송신과, 상기 검증 정보와 판독 또는 기록의 처리 명령을 합쳐서 송신하는 처리 명령 송신 수단과, 상기 처리 명령이 기록인 경우는, 상기 메모리 디바이스에 데이터를 송신하는 데이터 송신 수단과, 상기 처리 명령이 판독인 경우는, 상기 메모리 디바이스로부터 데이터를 수신하는 데이터 수신 수단과, 상기 메모리 디바이스에 송신하는 데이터를 기억하고, 또는, 상기 메모리 디바이스로부터 수신한 데이터를 기억하는 데이터 기억 수단을 구비하는 것을 특징으로 하는 정보 기기.
  14. 제13항에 있어서,
    상기 검증 정보 생성 수단의 상기 검증 정보의 생성 처리가, 상기 지정 정보와 검증용 키를 이용해서 실시하는 것을 특징으로하는 정보 기기.
  15. 제14항에 있어서,
    상기 메모리 디바이스와의 사이에서 상기 검증용 키를 공유하는 검증용 키 공유수단을 구비하는 것을 특징으로 하는 정보 기기.
  16. 제13항에 있어서,
    상기 메모리 디바이스와의 사이에서, 해당 메모리 디바이스에 대한 접근 가능한 영역을 나타내는 가능 영역 정보를 공유하는 가능영역정보 공유수단을 더 구비하는 것을 특징으로 하는 정보 기기.
  17. 기기로부터 메모리 디바이스에 대한 접근 방법으로, 상기 기기가, 상기 메모리 디바이스에 대한 접근영역을 지정하는 지정정보를 송신하는 스텝과, 상기 접근 영역에 대한 처리 명령과, 상기 지정정보에 관한 검증정보를 검증용 키로 암호화한 검증 데이터를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스가, 상기 지정정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 데이터를 수신하여, 상기 지정정보를 상기 검증 데이터와 검증용 키를 이용해서 검증하는 스텝과, 상기 검증에 성공한 경우, 상기 처리명령을 실행하는 스텝을 가지는, 접근 방법.
  18. 기기로부터 메모리 디바이스에 대한 접근 방법으로, 상기 기기는, 제1 처리계 명령을 이용하여 상기 메모리 디바이스에 대한 접근 가능 영역에 관한 가능 영역 정보를 공유화하는 스텝과, 제1처리계 명령을 이용하여 상기 접근 가능 영역에 대응한 검증용 키를 공유화하는 스텝과, 제2 처리계 명령을 이용해서, 상기 메모리 디바이스에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 제2 처리계 명령을 이용해서 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증정보를 상기 검증용 키로 암호화한 검증 데이터를 함께 송신하는 스텝과, 상기 메모리 디바이스는, 상기 지정 정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 데이터를 수신하여, 상기 지정 정보를 상기 검증 데이터와 상기 검증용 키를 이용해서 검증하는 스텝과, 상기 검증에서 성공한 경우는, 상기 처리 명령을 실행하는 스텝을 가지는, 접근 방법.
  19. 기기로부터 메모리 디바이스에 대한 접근 방법으로, 상기 메모리 디바이스는, 상기 기기로부터의 접근이 제약된 변형억제성인 제1 영역과, 상기 기기로부터 의 접근이 제약된 비변형억제성이면서 또 대용량인 제2 영역과, 상기 기기로부터 접근이 가능하면서 또 대용량인 제3 영역을 가지며, 적어도 상기 제1 영역에 대한 처리명령인 제1 처리계 명령과, 적어도 상기 제3 영역에 대한 처리 명령인 제2처리계 명령을 판별하는 기능을 구비하고, 상기 기기는, 상기 메모리 디바이스와의 사이에서, 제1 처리계 명령을 이용하여, 해당 메모리 디바이스에 대한 접근 가능 영역에 관한 가능 영역 정보를 공유화하는 스텝과, 제1 처리계 명령을 이용하여, 상기 접근 가능 영역에 대응한 검증용 키를 공유화하는 스텝과, 제2 처리계 명령을 이용하여, 상기 제2 영역에 대한 접근 영역을 지정하는 지정 정보를 송신하는 스텝과, 제2 처리계 명령을 이용하여, 상기 접근 영역에 대한 처리 명령과, 상기 지정 정보에 관한 검증 정보를 상기 검증용 키로 암호화한 검증 데이터를 합쳐서 송신하는 스텝과, 상기 메모리 디바이스는, 상기 지정정보를 수신하는 스텝과, 상기 처리 명령과 상기 검증 데이터를 수신하여 상기 지정정보를 상기 검증 데이터와 상기 검증용 키를 이용해서 검증하는 스텝과, 상기 검증에서 성공한 경우, 상기 처리 명령을 실행하는 스텝을 가지는, 접근 방법.
KR1020057004944A 2003-07-16 2004-07-15 접근 방법 KR100723762B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPJP-P-2003-00275672 2003-07-16
JP2003275672 2003-07-16
JPJP-P-2004-00197453 2004-07-02
JP2004197453A JP4624732B2 (ja) 2003-07-16 2004-07-02 アクセス方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020067026371A Division KR100976020B1 (ko) 2003-07-16 2004-07-15 접근 방법

Publications (2)

Publication Number Publication Date
KR20060024317A true KR20060024317A (ko) 2006-03-16
KR100723762B1 KR100723762B1 (ko) 2007-05-30

Family

ID=34082359

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020057004944A KR100723762B1 (ko) 2003-07-16 2004-07-15 접근 방법
KR1020067026371A KR100976020B1 (ko) 2003-07-16 2004-07-15 접근 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020067026371A KR100976020B1 (ko) 2003-07-16 2004-07-15 접근 방법

Country Status (7)

Country Link
US (1) US7559090B2 (ko)
EP (1) EP1560120B1 (ko)
JP (1) JP4624732B2 (ko)
KR (2) KR100723762B1 (ko)
IL (1) IL167269A (ko)
TW (2) TW200821953A (ko)
WO (1) WO2005008502A1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60305752T2 (de) * 2002-01-24 2007-01-25 Matsushita Electric Industrial Co., Ltd., Kadoma SpeicherKarte
US7581678B2 (en) 2005-02-22 2009-09-01 Tyfone, Inc. Electronic transaction card
JP4591163B2 (ja) * 2005-04-07 2010-12-01 パナソニック株式会社 バスアクセス制御装置
GB0517615D0 (en) * 2005-08-30 2005-10-05 Ecebs Ltd Improved smartcard system
JP4827919B2 (ja) * 2006-04-28 2011-11-30 パナソニック株式会社 通信端末装置およびアクセス方法
JP2007304847A (ja) 2006-05-11 2007-11-22 Megachips Lsi Solutions Inc メモリ装置
JP2009537042A (ja) * 2006-05-12 2009-10-22 サムスン エレクトロニクス カンパニー リミテッド 保安データを管理する装置およびその方法
FI118841B (fi) * 2006-09-13 2008-03-31 Eads Secure Networks Oy Matkaviestimen autentikointi
JP2008123482A (ja) * 2006-10-18 2008-05-29 Matsushita Electric Ind Co Ltd 記憶媒体制御方法
US20110271044A1 (en) * 2007-03-30 2011-11-03 Tyfone, Inc. Memory card having one or more secure elements accessed with hidden commands
EP2187313A4 (en) * 2007-09-04 2011-08-03 Nintendo Co Ltd WRITE-IN REGIONAL SECURITY SYSTEM
US20090097657A1 (en) * 2007-10-05 2009-04-16 Scheidt Edward M Constructive Channel Key
US9741027B2 (en) 2007-12-14 2017-08-22 Tyfone, Inc. Memory card based contactless devices
US8401192B2 (en) * 2008-02-29 2013-03-19 Red Hat, Inc. Mechanism for securely ordered message exchange
US8812858B2 (en) * 2008-02-29 2014-08-19 Red Hat, Inc. Broadcast stenography of data communications
JP2009276916A (ja) 2008-05-13 2009-11-26 Sony Corp 通信装置、通信方法、リーダライタ及び通信システム
US8451122B2 (en) 2008-08-08 2013-05-28 Tyfone, Inc. Smartcard performance enhancement circuits and systems
US20100033310A1 (en) * 2008-08-08 2010-02-11 Narendra Siva G Power negotation for small rfid card
US7961101B2 (en) * 2008-08-08 2011-06-14 Tyfone, Inc. Small RFID card with integrated inductive element
JP5293113B2 (ja) * 2008-11-25 2013-09-18 大日本印刷株式会社 半導体装置、半導体装置の制御方法および半導体装置の制御プログラム
US8231061B2 (en) 2009-02-24 2012-07-31 Tyfone, Inc Contactless device with miniaturized antenna
JP5824849B2 (ja) 2011-04-22 2015-12-02 ソニー株式会社 情報処理装置および情報処理方法
US8386691B1 (en) * 2011-08-19 2013-02-26 Key Asic Inc. Multimedia storage card system
US9172539B2 (en) * 2011-09-14 2015-10-27 Mastercard International Incorporated In-market personalization of payment devices
JP5832963B2 (ja) * 2012-06-29 2015-12-16 株式会社東芝 メモリシステム
JP5779147B2 (ja) * 2012-07-06 2015-09-16 株式会社東芝 メモリシステム
JP5779148B2 (ja) * 2012-07-06 2015-09-16 株式会社東芝 メモリシステム
JP5908869B2 (ja) * 2013-07-02 2016-04-26 ソニー株式会社 通信装置
US9665414B2 (en) * 2015-01-21 2017-05-30 Oracle International Corporation Communication protocol bridge for card computing devices
JP2020027341A (ja) 2018-08-09 2020-02-20 キオクシア株式会社 ストレージ装置およびデータ改ざん検証方法
JP7206869B2 (ja) * 2018-12-05 2023-01-18 凸版印刷株式会社 暗号化通信システム及び暗号化通信方法
KR102267735B1 (ko) * 2020-11-18 2021-06-22 주식회사 케이사인 영지식 증명을 이용한 탈중앙화 신원증명 시스템 및 방법
CN113132395B (zh) * 2021-04-22 2022-11-11 支付宝(杭州)信息技术有限公司 一种远程设备控制方法和系统

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4621321A (en) * 1984-02-16 1986-11-04 Honeywell Inc. Secure data processing system architecture
US4713753A (en) * 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
US4816654A (en) * 1986-05-16 1989-03-28 American Telephone And Telegraph Company Improved security system for a portable data carrier
US4816653A (en) * 1986-05-16 1989-03-28 American Telephone And Telegraph Company Security file system for a portable data carrier
JP2609645B2 (ja) * 1987-12-02 1997-05-14 株式会社東芝 携帯可能電子装置
EP0440158B1 (en) * 1990-01-30 1997-09-10 Kabushiki Kaisha Toshiba Mutual authentication system
US5293576A (en) * 1991-11-21 1994-03-08 Motorola, Inc. Command authentication process
US5533125A (en) * 1993-04-06 1996-07-02 International Business Machines Corporation Removable computer security device
JP3568970B2 (ja) 1993-04-12 2004-09-22 株式会社東芝 Icカード発行装置
JPH0778126A (ja) 1993-09-08 1995-03-20 Kyodo Printing Co Ltd Icカード用のマイクロコンピュータ
WO1995016238A1 (en) * 1993-12-06 1995-06-15 Telequip Corporation Secure computer memory card
JP3176209B2 (ja) * 1994-02-25 2001-06-11 富士通株式会社 カード型記憶媒体およびカード型記憶媒体発行装置
DE19508723A1 (de) * 1995-03-10 1996-09-12 Siemens Ag Mehrbenutzerdatenverarbeitungsanlage mit Speicherschutz
EP0842471A4 (en) * 1995-07-31 2006-11-08 Hewlett Packard Co METHOD AND APPARATUS FOR MANAGING RESOURCES UNDER THE CONTROL OF A PROTECTED MODULE OR OTHER PROTECTED PROCESSOR
FR2743910B1 (fr) * 1996-01-19 1998-02-27 Solaic Sa Procede de mise en oeuvre d'un programme securise dans une carte a microprocesseur et carte a microprocesseur comportant un programme securise
JP3774260B2 (ja) * 1996-03-25 2006-05-10 株式会社ルネサステクノロジ メモリカードのセキュリティシステム装置及びそのメモリカード
JPH10105408A (ja) * 1996-09-30 1998-04-24 Toshiba Corp 情報処理装置
US6526145B2 (en) * 1997-01-29 2003-02-25 David M. Marzahn Data encryptor/decryptor using variable in-place I/O
JP4268690B2 (ja) * 1997-03-26 2009-05-27 ソニー株式会社 認証システムおよび方法、並びに認証方法
US5974499A (en) * 1997-04-23 1999-10-26 Micron Technology, Inc. Memory system having read modify write function and method
JPH11175402A (ja) * 1997-12-10 1999-07-02 Fujitsu Ltd カード型記憶媒体及びカード型記憶媒体のアクセス制御方法並びにカード型記憶媒体用アクセス制御プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11203266A (ja) * 1998-01-07 1999-07-30 Mitsubishi Electric Corp マイクロコンピュータ
JP3611964B2 (ja) * 1998-04-16 2005-01-19 富士通株式会社 記憶装置、記憶制御方法及び記憶媒体
JP2000003424A (ja) * 1998-04-17 2000-01-07 Hitachi Ltd メモリ内容移行制御部を備えたicカ―ド及びicカ―ドのデ―タ記憶方法
JPH11306088A (ja) * 1998-04-27 1999-11-05 Toppan Printing Co Ltd Icカードおよびicカードシステム
US20010011337A1 (en) * 1998-09-15 2001-08-02 Massoud Shamshirian Programmable multiple sequential sector locking for semicondutor memories
JP3545627B2 (ja) * 1999-02-08 2004-07-21 株式会社東芝 携帯可能電子装置
JP4204133B2 (ja) * 1999-02-26 2009-01-07 ローム株式会社 通信システム
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
CA2338634C (en) * 1999-05-28 2007-06-26 Matsushita Electric Industrial Co., Ltd. A semiconductor memory card, playback apparatus, recording apparatus, playback method, recording method, and computer-readable recording medium
US7221961B1 (en) * 1999-06-14 2007-05-22 Ntt Docomo, Inc. Wireless telecommunications unit attachable to and detachable from an external unit
JP4079550B2 (ja) * 1999-06-24 2008-04-23 富士通株式会社 不正読み出しを防止した不揮発性メモリ
JP3749640B2 (ja) * 1999-10-15 2006-03-01 株式会社東芝 Icカード利用装置、icカード及び記憶媒体
JP4413406B2 (ja) * 2000-10-03 2010-02-10 株式会社東芝 不揮発性半導体メモリ及びそのテスト方法
JP2002132583A (ja) * 2000-10-20 2002-05-10 Sony Corp データ処理装置、データ記憶装置、およびデータ処理方法、並びにプログラム提供媒体
US6807602B1 (en) * 2000-10-30 2004-10-19 Hewlett-Packard Development Company, L.P. System and method for mapping bus addresses to memory locations utilizing access keys and checksums
JP2002229861A (ja) * 2001-02-07 2002-08-16 Hitachi Ltd 著作権保護機能つき記録装置
JP2002278838A (ja) * 2001-03-15 2002-09-27 Sony Corp メモリアクセス制御システム、デバイス管理装置、パーティション管理装置、メモリ搭載デバイス、およびメモリアクセス制御方法、並びにプログラム記憶媒体
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7093104B2 (en) * 2001-03-22 2006-08-15 Sony Computer Entertainment Inc. Processing modules for computer architecture for broadband networks
AUPR471401A0 (en) * 2001-05-02 2001-05-24 Keycorp Limited Method of manufacturing smart cards
JP4222509B2 (ja) * 2001-06-04 2009-02-12 株式会社ルネサステクノロジ 記憶装置
US7073059B2 (en) * 2001-06-08 2006-07-04 Hewlett-Packard Development Company, L.P. Secure machine platform that interfaces to operating systems and customized control programs
JP3900863B2 (ja) * 2001-06-28 2007-04-04 シャープ株式会社 データ転送制御装置、半導体記憶装置および情報機器
JP3865629B2 (ja) 2001-07-09 2007-01-10 株式会社ルネサステクノロジ 記憶装置
JP2003051819A (ja) * 2001-08-08 2003-02-21 Toshiba Corp マイクロプロセッサ
GB2385951A (en) * 2001-09-21 2003-09-03 Sun Microsystems Inc Data encryption and decryption
JP4226816B2 (ja) * 2001-09-28 2009-02-18 株式会社東芝 マイクロプロセッサ
US6745307B2 (en) * 2001-10-31 2004-06-01 Hewlett-Packard Development Company, L.P. Method and system for privilege-level-access to memory within a computer
FR2834361B1 (fr) * 2001-12-28 2004-02-27 Bull Sa Module de securisation de donnees par chiffrement/dechiffrement et/ou signature/verification de signature
US7313705B2 (en) * 2002-01-22 2007-12-25 Texas Instrument Incorporated Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory
DE60305752T2 (de) * 2002-01-24 2007-01-25 Matsushita Electric Industrial Co., Ltd., Kadoma SpeicherKarte
US7167426B2 (en) * 2002-03-29 2007-01-23 Sony Corporation Data recording/reproducing method and apparatus including random number generation and data sector scrambling
US20030225962A1 (en) * 2002-05-31 2003-12-04 Hitachi, Ltd. Memory card and memory card system
US20060106836A1 (en) * 2002-06-07 2006-05-18 Madoka Masugi Data processing system, data processing device, data processing method, and computer program
JP4118092B2 (ja) * 2002-06-19 2008-07-16 株式会社ルネサステクノロジ 記憶装置および情報処理装置
JP2004030102A (ja) * 2002-06-25 2004-01-29 Sony Corp 情報記憶装置、およびメモリアクセス制御システム、および方法、並びにコンピュータ・プログラム
JP4115759B2 (ja) * 2002-07-01 2008-07-09 株式会社東芝 耐タンパプロセッサにおける共有ライブラリの使用方法およびそのプログラム
JP4073913B2 (ja) * 2002-07-09 2008-04-09 富士通株式会社 開放型汎用耐攻撃cpu及びその応用システム
JP2004104539A (ja) * 2002-09-11 2004-04-02 Renesas Technology Corp メモリカード
ATE504446T1 (de) * 2002-12-02 2011-04-15 Silverbrook Res Pty Ltd Totdüsenausgleich
JP4322021B2 (ja) * 2003-02-06 2009-08-26 株式会社ルネサステクノロジ メモリカード
JP2005056305A (ja) * 2003-08-07 2005-03-03 Matsushita Electric Ind Co Ltd メモリ領域に分割領域を持つ情報記憶装置
US7139894B1 (en) * 2003-09-12 2006-11-21 Microsoft Corporation System and methods for sharing configuration information with multiple processes via shared memory
JPWO2005048111A1 (ja) * 2003-11-13 2007-11-29 松下電器産業株式会社 半導体メモリカード
JP4282472B2 (ja) * 2003-12-26 2009-06-24 株式会社東芝 マイクロプロセッサ
US7607177B2 (en) * 2004-02-23 2009-10-20 Micron Technology, Inc. Secure compact flash
US7162602B2 (en) * 2004-03-16 2007-01-09 Hitachi, Ltd. More granular and more efficient write protection for disk volumes
JP2007219802A (ja) * 2006-02-16 2007-08-30 Hitachi Global Storage Technologies Netherlands Bv 記憶装置、そのコントローラ、および、その制御方法
JP2008123482A (ja) * 2006-10-18 2008-05-29 Matsushita Electric Ind Co Ltd 記憶媒体制御方法

Also Published As

Publication number Publication date
TW200821953A (en) 2008-05-16
US20050246546A1 (en) 2005-11-03
EP1560120A4 (en) 2008-10-29
IL167269A (en) 2010-02-17
EP1560120B1 (en) 2019-09-04
KR20070009740A (ko) 2007-01-18
TW200513866A (en) 2005-04-16
EP1560120A1 (en) 2005-08-03
TWI354898B (ko) 2011-12-21
JP2005050320A (ja) 2005-02-24
KR100723762B1 (ko) 2007-05-30
KR100976020B1 (ko) 2010-08-17
WO2005008502A1 (ja) 2005-01-27
TWI366104B (ko) 2012-06-11
JP4624732B2 (ja) 2011-02-02
US7559090B2 (en) 2009-07-07

Similar Documents

Publication Publication Date Title
KR100723762B1 (ko) 접근 방법
US9954826B2 (en) Scalable and secure key management for cryptographic data processing
US8789195B2 (en) Method and system for access control and data protection in digital memories, related digital memory and computer program product therefor
US7415729B2 (en) Storage device
US20080270796A1 (en) System and method for providing program information, and recording medium used therefor
CN1889426B (zh) 一种实现网络安全存储与访问的方法及系统
CN101409620A (zh) 在通信系统中处理数据的方法和系统
KR20070038098A (ko) 태그를 붙인 물품의 정보에 액세스하기 위한 방법, 로컬서버, ons 프록시, 프로그램, 태그의 제작 방법, 태그라이터를 갖는 장치, 태그, 태그 라이터를 갖는 장치의제어 프로그램
JP2008251021A (ja) アプリケーション認証システム
KR20180031584A (ko) 메모리 시스템 및 그것과 호스트 사이의 바인딩 방법
US9449193B2 (en) Information processing apparatus
JP3963938B2 (ja) アクセス方法、メモリデバイス、および情報機器
US20080205654A1 (en) Method and Security System for the Secure and Unequivocal Encoding of a Security Module
US8234501B2 (en) System and method of controlling access to a device
JP2008287488A (ja) データ分散保存装置
CN110533128B (zh) 一种基于加密的防伪溯源数据处理方法、装置、系统及介质
US8320570B2 (en) Apparatus and method for generating secret key
CN107967432B (zh) 一种安全存储装置、系统及方法
CN115544547A (zh) 一种移动硬盘加密方法、装置、电子设备以及存储介质
CN100583060C (zh) 存取方法、存取装置以及信息机器
JP6340916B2 (ja) データ出力方法、データ読出方法、記憶媒体装置及びデータ読出装置
US20230344623A1 (en) Memory system
CN213814673U (zh) 一种基于用户指纹识别的多安全等级存储访问装置
JP2007122379A (ja) 認証装置及びアプリケーション発行方法
CN115801439A (zh) 一种用于数据库的安全网络访问系统及方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
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: 20130430

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140507

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150417

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160418

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180418

Year of fee payment: 12