KR100968733B1 - 정보 기억 장치, 메모리 액세스 제어 시스템 및 방법, 및컴퓨터 프로그램 - Google Patents

정보 기억 장치, 메모리 액세스 제어 시스템 및 방법, 및컴퓨터 프로그램 Download PDF

Info

Publication number
KR100968733B1
KR100968733B1 KR1020047002720A KR20047002720A KR100968733B1 KR 100968733 B1 KR100968733 B1 KR 100968733B1 KR 1020047002720 A KR1020047002720 A KR 1020047002720A KR 20047002720 A KR20047002720 A KR 20047002720A KR 100968733 B1 KR100968733 B1 KR 100968733B1
Authority
KR
South Korea
Prior art keywords
lock
lks
ids
key
key set
Prior art date
Application number
KR1020047002720A
Other languages
English (en)
Other versions
KR20050010749A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=29996694&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100968733(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 소니 주식회사 filed Critical 소니 주식회사
Publication of KR20050010749A publication Critical patent/KR20050010749A/ko
Application granted granted Critical
Publication of KR100968733B1 publication Critical patent/KR100968733B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)

Abstract

메모리 카드의 액세스 제어 처리로서의 메모리 로크, 언로크를 복수의 정보 처리 장치에 있어서, 공통되게 또한 안전하게 실행하는 장치 및 방법을 제공한다. 메모리 카드 등의 정보 기억 장치에 있어서, PC 등의 호스트 장치로서의 정보 처리 장치로부터 입력하는 로크 커맨드에 따라서, (a) 외부 출력을 허용하지 않는 키 셋으로서의 스탠다드 로크 키 셋, (b) 외부 출력을 허용하는 키 셋으로서의 엑스포트 로크 키 셋 중 어느 것인지를 판별하여 각각의 키 셋 정보를 격납함과 동시에, 엑스포트 로크 키 셋인 경우에만, 소정의 검증 성립을 조건으로 하여, 외부 출력을 허용하는 구성으로 하였다.
Figure R1020047002720
정보 기억 장치, 메모리 액세스 제어 시스템, 난수 발생 처리, 판별 정보, 컴퓨터 프로그램

Description

정보 기억 장치, 메모리 액세스 제어 시스템 및 방법, 및 컴퓨터 프로그램{Information storage device, memory access control system and method, and computer program}
본 발명은 정보 기억 장치, 메모리 액세스 제어 시스템 및 방법, 및 컴퓨터 프로그램에 관한 것이다. 더욱 상세하게는, 메모리 카드 등의 정보 기억 장치의 격납 데이터에 대한 여러 가지 양태에서의 액세스 제한 구성을 실현하고, 정보 기억 장치 내의 메모리의 로크 처리 또는 언로크 처리를 정보 기억 장치를 이용하는 복수의 정보 처리 장치에 대하여 공통되게 또한 안전하게 실현하는 것을 가능하게 한 정보 기억 장치, 메모리 액세스 제어 시스템 및 방법, 및 컴퓨터 프로그램에 관한 것이다.
PC(Personal Computer), PDA(Personal Digital Assistants), 디지털 카메라, 데이터 기록 재생 장치 혹은 게임 기기 등, 여러 가지 정보 처리 장치에서는, 하드 디스크, DVD, CD, 메모리 카드 등, 여러 가지 기억 매체를 이용한 데이터의 기록, 재생 처리가 실행된다.
요즘에는, 플래시 메모리 등에 의해 구성되는 메모리부와, CPU 등에 의해 구성되는 제어부를 구비한 소형 카드형 메모리 장치가 음악 데이터, 화상 데이터, 프로그램 등, 여러 가지 소프트웨어 데이터(콘텐츠(Content))의 기억 수단으로서 많이 이용되고 있다.
메모리 카드 등에 격납된 데이터 판독 혹은 데이터 기록은 메모리 카드 인터페이스를 갖는 기기에 카드를 장착하여, 인터페이스를 통해 데이터 전송을 함으로써 가능해진다. 메모리 장치를 이용한 데이터 기록 재생은 누구나가 자유롭게 실행할 수 있는 구성으로 하는 것도 가능하지만, 예를 들면 패스워드 설정 혹은 암호 처리 등에 의해, 특정 유저 혹은 특정 기기만에 대하여 메모리 액세스를 허가하고, 권한을 갖지 않는 제 3자에 의한 액세스를 배제한, 소위 액세스 제한 구성이 실현되고 있다.
예를 들면 액세스 권한을 갖는 유저만이 알 수 있는 패스워드를 설정하고, 정보 재생 장치로서의 콘텐츠 이용 기기로부터 메모리 카드 등의 콘텐츠 격납 기기에 대하여 패스워드를 전송하여, 메모리 카드 측의 제어부(CPU 등)에 있어서 패스워드 검증을 실행하고, 검증 성립을 조건으로 하여, 메모리 카드 등의 콘텐츠 격납 기기로부터, 정보 재생 장치로서의 콘텐츠 이용 기기에 대하여 콘텐츠를 출력하는 구성 혹은 정보 재생 장치로서의 콘텐츠 이용 기기와, 메모리 카드 등의 콘텐츠 격납 기기간에서 상호 인증 처리를 실행하고, 상호 인증이 성립한 것을 조건으로 하여, 메모리 카드 등의 콘텐츠 격납 기기로부터 정보 재생 장치로서의 콘텐츠 이용 기기에 대하여 콘텐츠를 출력하는 구성 등이 있다.
이와 같이, 데이터(콘텐츠) 이용 권한을 확인한 뒤에 데이터를 이용 가능하게 하는 형태는 여러 가지 형태가 있다.
그렇지만, 메모리 카드 등의 데이터 기억 장치는 PC, PDA, 디지털 카메라 등, 여러 가지 기기에 장착 가능하고, 이들 기기로 서로 1개의 메모리 카드를 이용하는 경우도 많다. 이러한 데이터 이용 형태에 있어서, 메모리 카드를 기기에 장착할 때마다 상술한 패스워드 검증 처리, 인증 처리 등의 실행이 요구되면, 데이터 판독 혹은 데이터 기록 등의 처리에 이르기까지 시간을 요하여 처리 효율이 저하하게 된다.
본 발명은 상술한 문제점을 감안하여 이루어진 것으로, 메모리 카드 등의 정보 기억 장치의 격납 데이터에 대한 여러 가지 양태에서의 액세스 제한 구성을 실현하고, 정보 기억 장치 내의 메모리의 로크 처리 또는 언로크 처리를 정보 기억 장치를 이용하는 복수의 정보 처리 장치에 대하여 공통되게 또한 안전하게 실현하는 것을 가능하게 한 정보 기억 장치, 메모리 액세스 제어 시스템 및 방법 및 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.
본 발명의 제 1 측면은,
데이터 기억용 메모리와, 상기 메모리에 대한 액세스 제어를 실행하는 제어부를 갖는 정보 기억 장치로서,
상기 제어부는,
정보 처리 장치로부터의 로크 커맨드 및 식별자(ID) 입력에 근거하여, 상기 메모리의 로크 처리를 실행하는 구성을 가짐과 동시에,
상기 로크 커맨드에 따라서, 상기 식별자(ID)를 포함하는 키 셋(key set)이,
(a) 외부 출력을 허용하지 않는 키 셋으로서의 스탠다드 로크 키 셋,
(b) 외부 출력을 허용하는 키 셋으로서의 엑스포트 로크 키 셋,
중 어느 것인지를 판별하여, 상기 판별 정보를 기억 수단에 격납하는 구성을 갖는 것을 특징으로 하는 정보 기억 장치에 있다.
더욱이, 본 발명의 정보 기억 장치의 한 실시양태에 있어서, 상기 정보 기억 장치는 정보 기억 장치의 로크 상태의 판별 정보로서 로크 스테이터스 정보를 기억 수단에 격납하는 구성으로, 상기 로크 스테이터스 정보는 스탠다드 로크 상태인지의 여부 및 엑스포트 로크 상태인지의 여부를 판별 가능한 정보를 포함하여, 상기 제어부는 상기 로크 스테이터스 정보에 근거하여, 정보 기억 장치가 엑스포트 로크 상태에 있다고 판정한 것을 조건으로 하여, 상기 엑스포트 로크 키 셋의 정보 처리 장치에 대한 출력 처리를 실행하는 구성인 것을 특징으로 한다.
더욱이, 본 발명의 정보 기억 장치의 한 실시양태에 있어서, 상기 제어부는 상기 엑스포트 로크 키 셋의 정보 처리 장치에 대한 출력 처리의 가부 판정 처리를 실행하는 구성을 가지고, 상기 판정 처리는 정보 처리 장치로부터 입력하는 정보 처리 장치 고유의 키 셋의 검증 처리를 포함하여, 적어도 상기 검증 성립을 조건으로 하여, 상기 엑스포트 로크 키 셋의 정보 처리 장치에 대한 출력 처리를 실행하는 구성인 것을 특징으로 한다.
더욱이, 본 발명의 정보 기억 장치의 한 실시양태에 있어서, 상기 정보 처리 장치 고유의 키 셋은 정보 처리 장치의 고유 ID로서의 프라이머리 ID(IDs)와, 상기 고유 ID에 대응하는 로크 키인 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]이고, 상기 정보 기억 장치는 LKs=H(LMK, IDs)의 관계, 즉, 프라이머리 ID(IDs)에 대한 로크 마스터 키(LMK)를 적용한 해쉬(hash)치로서 프라이머리 로크 키(LKs) 산출이 가능한 로크 마스터 키(LMK)를 가지고, 상기 제어부는 정보 처리 장치로부터 입력하는 정보 처리 장치 고유의 키 셋 검증을 상기 로크 마스터 키(LMK)를 적용한 해쉬치 산출에 의해 취득하는 로크 키(LK)에 근거하여 실행하는 구성인 것을 특징으로 한다.
더욱이, 본 발명의 정보 기억 장치의 한 실시양태에 있어서, 상기 제어부는 난수 발생 처리를 실행하여, 정보 처리 장치가 소유하는 프라이머리 로크 키(LKs)에 근거하는 상기 난수(Rms)의 암호화 데이터[E(Lks, Rms)]를 상기 정보 처리 장치로부터 수신하여, 상기 수신 암호화 데이터와, 상기 해쉬치 산출에 의해 취득한 프라이머리 로크 키(LKs)에 근거하여 산출한 암호화 데이터[E(Lks, Rms)]와의 대조를 포함하는 검증 처리를 실행하는 구성인 것을 특징으로 한다.
더욱이, 본 발명의 정보 기억 장치의 한 실시양태에 있어서, 상기 정보 처리 장치는 고유의 키 셋으로서, 정보 처리 장치의 고유 ID인 프라이머리 ID(IDs)와, 상기 프라이머리 ID(IDs)에 대응하여 설정되는 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]을 가지고, 상기 제어부는 정보 처리 장치로부터의 엑스포트 로크 키 셋의 출력 요구에 따라, 상기 엑스포트 로크 키 셋의 구성 데이터를 상기 정보 처리 장치가 갖는 프라이머리 로크 키(LKs)에 근거하여 암호화하 여 출력하는 구성인 것을 특징으로 한다.
더욱이, 본 발명의 정보 기억 장치의 한 실시양태에 있어서, 상기 엑스포트 로크 키 셋은 엑스포트 로크를 실행한 정보 처리 장치로부터 입력한 서브 ID(IDen) 및 상기 서브 ID(IDen)에 대응하여 설정되는 서브 로크 키(LKen)의 데이터 셋에 의해 구성되는 서브 키 셋[IDen, LKen]으로, 상기 제어부는 상기 버스 로크 키(LKen)를 서브 키 셋의 출력 요구 정보 처리 장치가 갖는 프라이머리 로크 키(LKs)에 근거하여 암호화하여 생성한 암호화 데이터: [E(LKs, LKen)]를 출력하는 구성인 것을 특징으로 한다.
더욱이, 본 발명의 제 2 측면은,
데이터 기억용 메모리와, 상기 메모리에 대한 액세스 제어를 실행하는 제어부를 갖는 정보 기억 장치와, 상기 정보 기억 장치에 대한 인터페이스를 가지고, 상기 인터페이스를 통해 정보 기억 장치 내의 메모리 액세스를 실행하는 정보 처리 장치를 갖는 메모리 액세스 제어 시스템으로서,
상기 정보 처리 장치는,
식별자(ID) 및 로크 키(LK)를 포함하는 키 셋을 기억 수단에 격납하고,
상기 정보 기억 장치의 제어부는,
상기 정보 처리 장치로부터 입력하는 로크 커맨드 및 식별자(ID)에 근거하여, 상기 메모리의 로크 처리를 실행하는 구성을 가짐과 동시에,
상기 로크 커맨드에 따라서, 상기 식별자(ID)를 포함하는 키 셋이,
(a) 외부 출력을 허용하지 않는 키 셋으로서의 스탠다드 로크 키 셋,
(b) 외부 출력을 허용하는 키 셋으로서의 엑스포트 로크 키 셋,
중 어느 것인지를 판별하여 판별 정보를 기억 수단에 격납하고,
상기 판별 정보에 근거하여, 정보 처리 장치에 대한 키 셋 출력의 가부를 판정하는 구성을 갖는 것을 특징으로 하는 메모리 액세스 제어 시스템에 있다.
더욱이, 본 발명의 메모리 액세스 제어 시스템의 한 실시양태에 있어서, 상기 정보 처리 장치는 정보 처리 장치의 고유 ID로서의 프라이머리 ID(IDs)와, 상기 고유 ID에 대응하는 로크 키인 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]을 기억 수단에 격납하고, 상기 정보 기억 장치는 LKs=H(LMK, IDs)의 관계, 즉, 프라이머리 ID(IDs)에 대한 로크 마스터 키(LMK)를 적용한 해쉬치로서 프라이머리 로크 키(LKs) 산출이 가능한 로크 마스터 키(LMK)를 가지고, 상기 정보 기억 장치의 제어부는 정보 처리 장치로부터 입력하는 정보 처리 장치 고유의 키 셋 검증을 상기 로크 마스터 키(LMK)를 적용한 해쉬치 산출에 의해 취득하는 로크 키(LK)에 근거하여 실행하는 구성인 것을 특징으로 한다.
더욱이, 본 발명의 메모리 액세스 제어 시스템의 한 실시양태에 있어서, 상기 정보 기억 장치의 제어부는 난수 발생 처리를 실행하여, 정보 처리 장치가 소유하는 프라이머리 로크 키(LKs)에 근거하는 상기 난수(Rms)의 암호화 데이터[E(Lks, Rms)]를 상기 정보 처리 장치로부터 수신하여, 상기 수신 암호화 데이터와, 상기 해쉬치 산출에 의해 취득한 프라이머리 로크 키(LKs)에 근거하여 산출한 암호화 데이터[E(Lks, Rms)]와의 대조를 포함하는 검증 처리를 실행하는 구성인 것을 특징으로 한다.
더욱이, 본 발명의 메모리 액세스 제어 시스템의 한 실시양태에 있어서, 상기 정보 처리 장치는 고유의 키 셋으로서, 정보 처리 장치의 고유 ID인 프라이머리 ID(IDs)와, 상기 프라이머리 ID(IDs)에 대응하여 설정되는 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]을 가지고, 상기 정보 기억 장치의 제어부는 정보 처리 장치로부터의 엑스포트 로크 키 셋의 출력 요구에 따라, 상기 엑스포트 로크 키 셋의 구성 데이터를 상기 정보 처리 장치가 갖는 프라이머리 로크 키(LKs)에 근거하여 암호화한 암호화 데이터를 출력하고, 상기 정보 처리 장치는 상기 암호화 데이터를 상기 정보 처리 장치가 갖는 프라이머리 로크 키(LKs)에 근거하는 복호 처리를 실행하여 상기 엑스포트 로크 키 셋의 구성 데이터를 취득하는 구성인 것을 특징으로 한다.
더욱이, 본 발명의 메모리 액세스 제어 시스템의 한 실시양태에 있어서, 상기 엑스포트 로크 키 셋은 엑스포트 로크를 실행한 정보 처리 장치로부터 입력한 서브 ID(IDen) 및 상기 서브 ID(IDen)에 대응하여 설정되는 서브 로크 키(LKen)의 데이터 셋에 의해 구성되는 서브 키 셋[IDen, LKen]으로, 상기 정보 기억 장치의 제어부는 상기 서브 로크 키(LKen)를 서브 키 셋의 출력 요구 정보 처리 장치가 갖는 프라이머리 로크 키(LKs)에 근거하여 암호화하여 생성한 암호화 데이터: [E(LKs, LKen)]를 정보 처리 장치에 대하여 출력하는 구성인 것을 특징으로 한다.
더욱이, 본 발명의 제 3 측면은,
데이터 기억용 메모리와, 상기 메모리에 대한 액세스 제어를 실행하는 제어부를 갖는 정보 기억 장치에 있어서의 메모리 액세스 제어 방법으로서,
정보 처리 장치로부터의 로크 커맨드 및 식별자(ID)의 입력을 실행하는 스텝과,
상기 로크 커맨드에 따라서, 상기 식별자(ID)를 포함하는 키 셋이,
(a) 외부 출력을 허용하지 않는 키 셋으로서의 스탠다드 로크 키 셋,
(b) 외부 출력을 허용하는 키 셋으로서의 엑스포트 로크 키 셋,
중 어느 것인지를 판별하여, 상기 판별 정보를 기억 수단에 격납하는 스텝을 갖는 것을 특징으로 하는 메모리 액세스 제어 방법에 있다.
더욱이, 본 발명의 메모리 액세스 제어 방법의 한 실시양태에 있어서, 상기 판별 정보는 로크 상태 판별 정보로서의 로크 스테이터스 정보이고, 상기 로크 스테이터스 정보는 스탠다드 로크 상태인지의 여부 및 엑스포트 로크 상태인지의 여부를 판별 가능한 정보를 포함하여, 상기 메모리 액세스 제어 방법은 더욱이, 상기 로크 스테이터스 정보에 근거하여, 정보 기억 장치가 엑스포트 로크 상태에 있다고 판정한 것을 조건으로 하여, 상기 엑스포트 로크 키 셋의 정보 처리 장치에 대한 출력 처리를 실행하는 스텝을 포함하는 것을 특징으로 한다.
더욱이, 본 발명의 메모리 액세스 제어 방법의 한 실시양태에 있어서, 상기 메모리 액세스 제어 방법은 더욱이, 상기 엑스포트 로크 키 셋의 정보 처리 장치에 대한 출력 처리의 가부 판정 처리로서, 정보 처리 장치로부터 입력하는 정보 처리 장치 고유의 키 셋의 검증 처리를 실행하여, 적어도 상기 검증 성립을 조건으로 하여, 상기 엑스포트 로크 키 셋의 정보 처리 장치에 대한 출력 처리를 실행하는 것을 특징으로 한다.
더욱이, 본 발명의 메모리 액세스 제어 방법의 한 실시양태에 있어서, 상기 정보 처리 장치 고유의 키 셋은 정보 처리 장치의 고유 ID로서의 프라이머리 ID(IDs)와, 상기 고유 ID에 대응하는 로크 키인 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]으로, 상기 정보 기억 장치는 LKs=H(LMK, IDs)의 관계, 즉, 프라이머리 ID(IDs)에 대한 로크 마스터 키(LMK)를 적용한 해쉬치로서 프라이머리 로크 키(LKs) 산출이 가능한 로크 마스터 키(LMK)를 가지고, 상기 검증 처리는 정보 처리 장치로부터 입력하는 정보 처리 장치 고유의 키 셋 검증을 상기 로크 마스터 키(LMK)를 적용한 해쉬치 산출에 의해 취득하는 로크 키(LK)에 근거하여 실행하는 스텝을 포함하는 것을 특징으로 한다.
더욱이, 본 발명의 메모리 액세스 제어 방법의 한 실시양태에 있어서, 상기 검증 처리 실행 스텝은 난수 발생 처리를 실행하여, 정보 처리 장치가 소유하는 프라이머리 로크 키(LKs)에 근거하는 상기 난수(Rms)의 암호화 데이터[E(Lks, Rms)]를 상기 정보 처리 장치로부터 수신하여, 상기 수신 암호화 데이터와, 상기 해쉬치 산출에 의해 취득한 프라이머리 로크 키(LKs)에 근거하여 산출한 암호화 데이터[E(Lks, Rms)]와의 대조를 포함하는 검증 처리를 실행하는 스텝을 포함하는 것을 특징으로 한다.
더욱이, 본 발명의 메모리 액세스 제어 방법의 한 실시양태에 있어서, 상기 정보 처리 장치는 고유의 키 셋으로서, 정보 처리 장치의 고유 ID인 프라이머리 ID(IDs)와, 상기 프라이머리 ID(IDs)에 대응하여 설정되는 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]을 가지고, 상기 메모리 액세스 제어 방법은 더욱이, 정보 처리 장치로부터의 엑스포트 로크 키 셋의 출력 요구에 따라, 상기 엑스포트 로크 키 셋의 구성 데이터를 상기 정보 처리 장치가 갖는 프라이머리 로크 키(LKs)에 근거하여 암호화하여 출력하는 암호화 출력 스텝을 포함하는 것을 특징으로 한다.
더욱이, 본 발명의 메모리 액세스 제어 방법의 한 실시양태에 있어서, 상기 엑스포트 로크 키 셋은 엑스포트 로크를 실행한 정보 처리 장치로부터 입력한 서브 ID(IDen) 및 상기 서브 ID(IDen)에 대응하여 설정되는 서브 로크 키(LKen)의 데이터 셋에 의해 구성되는 서브 키 셋[IDen, LKen]으로, 상기 암호화 출력 스텝은 상기 서브 로크 키(LKen)를 서브 키 셋의 출력 요구 정보 처리 장치가 갖는 프라이머리 로크 키(LKs)에 근거하여 암호화하여 생성한 암호화 데이터: [E(LKs, LKen)]를 출력하는 스텝인 것을 특징으로 한다.
더욱이, 본 발명의 제 4 측면은,
데이터 기억용 메모리와, 상기 메모리에 대한 액세스 제어를 실행하는 제어부를 갖는 정보 기억 장치에 있어서의 메모리 액세스 제어 처리를 실행하는 컴퓨터 프로그램으로서,
정보 처리 장치로부터의 로크 커맨드 및 식별자(ID)의 입력을 실행하는 스텝과,
상기 로크 커맨드에 따라서, 상기 식별자(ID)를 포함하는 키 셋이
(a) 외부 출력을 허용하지 않는 키 셋으로서의 스탠다드 로크 키 셋,
(b) 외부 출력을 허용하는 키 셋으로서의 엑스포트 로크 키 셋,
중 어느 것인지를 판별하여, 상기 판별 정보를 기억 수단에 격납하는 스텝을 갖는 것을 특징으로 하는 컴퓨터 프로그램에 있다.
본 발명의 구성에 의하면, 메모리 카드 등의 정보 기억 장치에 있어서, PC 등의 호스트 장치로서의 정보 처리 장치로부터 입력하는 로크 커맨드에 따라서, (a) 외부 출력을 허용하지 않는 키 셋으로서의 스탠다드 로크 키 셋, (b) 외부 출력을 허용하는 키 셋으로서의 엑스포트 로크 키 셋 중 어느 것인지를 판별하여 각각의 키 셋 정보를 격납함과 동시에, 엑스포트 로크 키 셋인 경우에만, 소정의 검증 성립을 조건으로 하여, 외부 출력을 허용하는 구성으로 하였기 때문에, 정당한 복수의 정보 처리 장치만이 메모리 로크 또는 언로크 처리를 실행 가능하게 하는 구성이 실현된다.
더욱이, 본 발명의 구성에 의하면, 스탠다드 로크 상태인지의 여부, 엑스포트 로크 상태인지의 여부를 판별 가능한 로크 스테이터스 정보에 근거하여, 메모리 액세스 제어를 행하여, 엑스포트 로크 상태에 있는 경우에만, 키 셋의 출력 처리를 실행하는 구성으로 하였기 때문에, 메모리의 사용 양태에 따른 여러 가지 메모리 액세스 제한 처리가 가능해진다.
더욱이, 본 발명의 구성에 의하면, 엑스포트 로크 키 셋의 정보 처리 장치에 대한 출력에 있어서, 정보 처리 장치로부터 입력하는 정보 처리 장치 고유의 키 셋의 검증 처리를 하고, 검증 성립을 조건으로 하여, 키 셋의 출력 처리를 실행하는 구성으로 하였기 때문에, 무제한 메모리 액세스가 방지되어, 안전한 메모리 액세스 제어가 실현된다.
더욱이, 본 발명의 구성에 의하면, 정보 처리 장치에 대하여, 정보 처리 장치의 고유 ID로서의 프라이머리 ID(IDs)와, 상기 고유 ID에 대응하는 로크 키인 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]과, 엑스포트 로크를 실행 가능한 서브 ID(IDen) 및 상기 서브 ID(IDen)에 대응하여 설정되는 서브 로크 키(LKen)의 데이터 셋에 의해 구성되는 서브 키 셋[IDen, LKen]을 격납하는 구성으로 하였기 때문에, 처리에 따라서 적용 키 셋을 변경함으로써, 처리에 따른 메모리의 액세스 제어 구성을 용이하게 실현하는 것이 가능해진다.
또한, 본 발명의 컴퓨터 프로그램은 예를 들면, 여러 가지 프로그램 코드를 실행 가능한 범용 컴퓨터 시스템에 대하여, 컴퓨터 판독 가능 형식으로 제공하는 기억 매체, 통신 매체, 예를 들면, CD나 FD, MO 등의 기억 매체 혹은 네트워크 등의 통신 매체에 의해 제공 가능한 컴퓨터 프로그램이다. 이러한 프로그램을 컴퓨터 판독 가능 형식으로 제공함으로써, 컴퓨터 시스템 상에서 프로그램에 따른 처리가 실현된다.
본 발명의 또 다른 목적, 특징이나 이점은 후술하는 본 발명의 실시예나 첨부하는 도면에 근거하여, 보다 상세한 설명에 의해 분명해질 것이다. 또한, 본 명세서에 있어서 시스템이란 복수의 장치의 논리적 집합 구성으로, 각 구성의 장치가 동일 개체 내에 있는 것에 한정되지는 않는다.
도 1은 본 발명의 정보 기억 장치의 이용 형태의 개요에 대해서 설명하는 도 면.
도 2는 정보 기억 장치를 이용하는 호스트 장치의 하드 구성예를 도시하는 도면.
도 3은 정보 기억 장치의 하드 구성예를 도시하는 도면.
도 4는 본 발명의 정보 기억 장치 및 호스트 장치의 격납 데이터에 대해서 설명하는 도면.
도 5는 정보 기억 장치에 대한 로크 처리에 있어서의 정보 기억 장치와 호스트 장치간의 통신 처리 시퀀스에 대해서 설명하는 도면.
도 6은 정보 기억 장치에 대한 로크 처리를 설명하는 처리 플로를 도시하는 도면.
도 7은 정보 기억 장치에 대한 언로크 처리에 있어서의 정보 기억 장치와 호스트 장치간의 통신 처리 시퀀스에 대해서 설명하는 도면.
도 8은 정보 기억 장치에 대한 언로크 처리를 설명하는 처리 플로를 도시하는 도면.
도 9는 본 발명의 정보 기억 장치 및 호스트 장치의 격납 데이터에 대해서 설명하는 도면.
도 10은 본 발명의 정보 기억 장치에 대한 로크 처리 양태에 대해서 설명하는 도면.
도 11은 정보 기억 장치에 대한 서브 키 셋을 적용한 로크 처리에 있어서의 정보 기억 장치와 호스트 장치간의 통신 처리 시퀀스에 대해서 설명하는 도면.
도 12는 정보 기억 장치에 대한 서브 키 셋을 적용한 로크 처리를 설명하는 처리 플로를 도시하는 도면.
도 13은 정보 기억 장치에 대한 인 프린트 및 서브 키 셋을 적용한 언로크 처리에 있어서의 정보 기억 장치와 호스트 장치간의 통신 처리 시퀀스에 대해서 설명하는 도면.
도 14는 정보 기억 장치에 대한 인 프린트 및 서브 키 셋을 적용한 언로크 처리에 대해서 설명하는 플로도.
도 15는 정보 기억 장치에 대한 인 프린트 및 서브 키 셋을 적용한 언로크 처리에 대해서 설명하는 플로도.
도 16은 정보 기억 장치에 대한 인 프린트 및 서브 키 셋을 적용한 언로크 처리에 있어서의 정보 기억 장치와 호스트 장치간의 통신 처리 시퀀스에 대해서 설명하는 도면.
도 17은 정보 기억 장치에 대한 인 프린트 및 서브 키 셋을 적용한 언로크 처리에 있어서의 로크 스테이터스 플래그의 갱신 처리에 대해서 설명하는 플로도.
도 18은 정보 기억 장치에 대한 언로크 처리에 있어서의 로크 스테이터스 플래그 참조 처리에 대해서 설명하는 플로도.
도 19는 정보 기억 장치에 대한 데이터 격납 양태로서의 클러스터 구성에 대해서 설명하는 도면.
도 20은 특정 데이터 영역(클러스터) 판독에 근거하는 로크 처리에 대해서 설명하는 플로도.
도 21은 정보 기억 장치에 대한 로크/언로크 실행 기기의 구성에 대해서 설명하는 도면.
도 22는 호스트 장치에 있어서의 로크 상태 판독 처리 플로도.
도 23은 호스트 장치에 있어서의 로크 처리 시에 있어서의 처리 및 인디케이터 표시 처리를 설명하는 플로도.
도 24는 호스트 장치에 있어서의 언로크 처리 시에 있어서의 처리 및 인디케이터 표시 처리를 설명하는 플로도.
이하, 본 발명의 정보 기억 장치, 메모리 액세스 제어 처리의 실시예의 상세함에 대해서, 도면을 참조하여 상세하게 설명한다.
우선, 본 발명의 정보 기억 장치를 적용한 데이터 이용 구성의 개요에 대해서, 도 1을 참조하여 설명한다. 정보 처리 장치(20)는, 예를 들면 PC(Personal Computer; 21), PDA(Personal Digital Assistants; 22), 휴대 통신 단말(23), 디지털 카메라(24) 등, 정보 기억 장치(30)를 장착하여, 정보 기억 장치(30)로부터의 정보를 출력 가능한 기기이다.
이들 정보 처리 장치(20)는, 예를 들면 플래시 메모리 등의 비휘발성 메모리(NVM: Non-Volatile Memory)를 탑재한 메모리 카드(30)를 장착시키고, 메모리 카드(30)에 대하여 데이터를 격납하거나 혹은 메모리 카드에 격납된 데이터 판독을 실행한다.
PC(Personal Computer; 21, 22), PDA(Personal Digital Assistants; 23), 휴대 통신 단말(24), 디지털 카메라(25) 각각은 1개의 메모리 카드(30)를 서로 이용하는 경우도 있다. 예를 들면, 디지털 카메라(25)로 촬영한 화상 데이터를 메모리 카드(30)에 격납하고, 그 후, 메모리 카드(30)를 PC(21)에 장착하여 격납 화상 데이터의 표시, 화상 처리 등을 실행하거나 혹은 PC(21)에 있어서, 인터넷 등의 네트워크를 통해 또는 CD, DVD 등을 통해 입수한 음악 데이터 등의 콘텐츠를 메모리 카드(30)에 격납하고, 그 후, 콘텐츠를 격납한 메모리 카드(30)를 PDA(22)에 장착하여, 외출처에서 PDA(22)를 사용하여 콘텐츠를 재생하는 등의 이용이 행하여진다.
도 2에 메모리 카드 등의 정보 기억 장치를 장착 가능한 정보 처리 장치의 구성예를 도시한다. CPU(Central Processing Unit; 101)는 각종 애플리케이션 프로그램, OS(Operating System)를 실행하는 프로세서이다. 후단에서 상세하게 설명하는 정보 기억 장치에 대한 액세스 제한 처리로서의 로크 처리, 언로크 처리에 있어서의 해쉬치 산출, 난수 생성 등을 포함하는 각종 암호 처리 및 커맨드 송수신 등에 있어서의 제어를 실행한다.
ROM(Read 0nly Memory; 102)은 CPU(101)가 실행하는 프로그램이나 연산용 파라미터 중 고정 데이터 등을 격납한다. 후단에서 상세하게 설명하는 정보 기억 장치에 대한 액세스 제한 처리로서의 로크 처리, 언로크 처리 프로그램 등이 격납된다. RAM(Random Access Memory; 103)은 CPU(101)의 실행 프로그램에 적용하는 정보나 그 실행에 있어서 적당히 변화하는 파라미터 등을 격납한다.
DSP(Digital Signal Processor; 104)는 예를 들면 메모리 카드 등의 정보 기 억 장치(200)로부터 기억 장치 I/F(113)를 통해 입력한 콘텐츠의 재생 처리 시의 암호 처리, 이퀄라이저 조정(음성 신호의 주파수 대역에 대응한 이득 조정), 압축 신장(인코드/디코드) 처리 등을 실행한다.
복호, 신장된 콘텐츠는 디지털 아날로그 변환 회로(105)에서 아날로그 음성 신호로 변환되어, 증폭 회로(106)에 있어서 증폭된 후, 음성 출력부(107)를 통해 출력한다. 또한, 화상 데이터 출력은 표시 컨트롤러(108)를 통해 LCD 등의 표시부(109)에 있어서 실행된다. 입력 I/F(112)로부터는 외부 소스로부터 디지털 신호 또는 아날로그 신호를 입력하여, 아날로그 신호 입력 시에는 A/D 변환한다. A/D 변환은 입력되는 입력 신호를 디지털 신호로 변환한다. 또한, 외부 소스로부터의 입력 디지털 신호는 SRC(샘플링 레이트 컨버터)에 의해, 소정의 샘플링 주파수, 양자화 비트수를 갖는 디지털 신호로 변환되어 입력된다.
입출력 I/F(115)는 외부 기기를 접속하는 인터페이스로, 예를 들면 USB, IEEE1394 등의 접속 양태에 의한 접속을 행하여 접속된 기기와의 데이터 전송이 실행된다.
다음으로, 도 3을 참조하여 플래시 메모리 등의 비휘발성 메모리(NVM: Non-Volatile Memory)를 탑재한 메모리 카드 등의 정보 기억 장치(200)의 구성예를 도시한다. 플래시 메모리는 EEPROM(Electrically Erasable Programmable ROM)이라 불리는 전기적으로 재기록 가능한 비휘발성 메모리의 한 형태이다. 종래의 EEPROM은 1비트를 2개의 트랜지스터로 구성하기 때문에, 1비트당 점유 면적이 커, 집적도를 높게 하는 데 한계가 있었지만, 플래시 메모리는 전체 비트 일괄 소거 방식에 의해 1비트를 1트랜지스터로 실현하는 것이 가능해졌다.
이러한 플래시 메모리를 갖는 정보 기억 장치(200)는 PC, PDA, 디지털 카메라 등의 정보 처리 장치에 장착되어, 정보 처리 장치로부터 입력하는 데이터를 메모리부(220)에 격납하고, 또한, 메모리부(220)에 격납된 데이터를 정보 처리 장치에 대하여 출력한다.
정보 기억 장치(200)는 더욱이 제어부(210)를 가지고, 제어부(210)는 각종 프로그램을 실행하는 프로세서로서의 CPU(Central Processing Unit; 211), CPU(211)가 실행하는 프로그램이나 연산용 파라미터 중 고정 데이터 등을 격납하는 ROM(Read 0nly Memory; 212), CPU(211)의 실행 프로그램에 적용하는 정보나, 그 실행에 있어서 적당히 변화하는 파라미터 등을 격납하는 RAM(Random Access Memory; 213)을 갖는다.
또한, RAM(Random Access Memory; 213)은 후단에서 상세하게 설명하는 정보 기억 장치에 대한 액세스 제한 처리로서의 로크 처리, 언로크 처리에 의해 변화하는 로크 상태의 상태치 데이터의 격납 영역으로서도 사용된다.
제어부(210)는 더욱이, 정보 처리 장치간과의 데이터 입출력용 인터페이스로서의 기기 인터페이스(214), 메모리부(220)와의 데이터 입출력용 인터페이스로서의 메모리 인터페이스(216)를 갖는다.
CPU(211)는 후단에서 상세하게 설명하는 정보 처리 장치와의 사이에서 실행되는 액세스 제한 처리로서의 로크 처리, 언로크 처리에 있어서의 해쉬치 산출, 난수 생성 등을 포함하는 각종 암호 처리 및 커맨드 송수신 등에 있어서의 제어를 실 행한다.
[로크 마스터 키(LMK)에 근거하는 처리]
다음으로, 정보 기억 장치에 대한 액세스 제한 기구의 한 처리예로서, 로크 마스터 키(LMK)를 적용한 로크 처리 및 언로크 처리에 대해서 설명한다. 도 4를 참조하여 본 처리예, 즉 로크 마스터 키(LMK)를 적용한 처리의 개요를 설명한다.
메모리 카드 등의 정보 기억 장치(320)의 콘텐츠 등의 데이터 격납 영역인 플래시 메모리 등에 의해 구성되는 메모리부(도 3의 메모리부; 220)에 대한 액세스 제한을 유효로 하는 처리를 로크 처리로 하고, 액세스 제한을 해제하는 처리를 언로크 처리로 한다. 이 로크 처리 및 언로크 처리를 실행하는 것이 호스트 장치(310)이다.
호스트 장치(310)는 앞서 도 1, 도 2를 참조하여 설명한 바와 같이, 메모리 카드 등의 정보 기억 장치(320)와의 데이터 전송을 실행하는 인터페이스를 가지고, 정보 기억 장치(320)에 대한 데이터 기록 혹은 정보 기억 장치(320)로부터의 데이터 판독을 실행하여 데이터 이용을 하는 PC, PDA, 디지털 카메라, DSC(Digital Still Camera) 등의 정보 처리 장치를 포함한다. 더욱이, 호스트 장치(310)에는 메모리 카드 등의 정보 기억 장치(320)에 대한 로크 처리/언로크 처리 실행 전용 기기로서의 로크·언로크용 기기(312)도 포함된다.
로크·언로크용 기기(312)는 로크·언로크 처리 알고리즘을 실행하는 제어 수단으로서의 CPU 및 데이터 격납 메모리로서의 ROM, RAM을 가지고, 더욱이 메모리 카드 등의 정보 기억 장치(320)의 장착, 데이터 전송을 실행하는 인터페이스를 가지고, 정보 기억 장치(320)에 대한 로크 처리 및 언로크 처리 전용 기기로서 구성된다.
이하의 설명에서는, 정보 기억 장치(320)에 대하여 로크 처리, 언로크 처리를 실행하는 기기, 즉, PC, PDA 다른 정보 처리 장치와, 로크·언로크용 기기(312)를 포함시켜 호스트 장치라 부른다.
호스트 장치 내의 ROM 등의 메모리(315)에는 각 호스트 장치 고유의 식별자로서의 ID(예를 들면 16바이트 데이터)와, 로크 처리, 언로크 처리에 적용하는 열쇠 데이터로서의 로크 키(LK)(예를 들면 8바이트 데이터)가 격납된다. 호스트 장치가 갖는 각 호스트 장치 고유의 식별자(lD)와, 로크 키(LK)의 셋[ID, LK]을 키 셋이라 부른다.
한편, 메모리 카드 등의 정보 기억 장치(320) 내의 제어부 내의 ROM 등의 메모리(325)에는 로크 마스터 키(LMK)가 격납된다. 이들 정보는 예를 들면 각 기기 제조 시에 각 기기에 대하여 기록되어, 유저에 의한 재기록 불가능한 데이터가 된다.
정보 기억 장치(320)에 격납되는 로크 마스터 키(LMK)와, 호스트 장치에 격납되는 ID와, 로크 키(LK)는 이하의 관계를 갖는다.
LK=H(LMK, ID)
또한, H(X, Y)는 키(X)를 적용한 메시지(Y)에 대한 해쉬치 산출 처리를 도시한다. 즉, ID에 대하여, 로크 마스터 키(LMK)를 적용한 해쉬치 산출 처리에 의해 ID에 대응하는 로크 키(LK)가 요구된다.
해쉬 함수는 한 방향성 함수로, 그 출력으로부터 반대로 입력을 구하는 것은 대단히 곤란해지는 함수이다. 상기 식에 있어서는, 각 호스트 장치에 고유 ID에 대하여, 로크 마스터 키(LMK)를 열쇠로 하여 한 방향성 함수를 적용하여, 그 출력을 각 호스트 장치에 고유 ID에 대응하는 로크 키(LK)로 한 설정이다. 해쉬 알고리즘으로서는 MD5, SHA 등이 적용 가능하다.
(로크 처리)
다음으로 상술한 로크 마스터 키(LMK)를 적용한 로크 처리, 즉 정보 기억 장치에 대한 액세스 제한을 유효로 하는 처리에 대해서 설명한다.
도 5에 로크 처리에 있어서의 호스트 장치와, 정보 기억 장치간에서 실행되는 처리 시퀀스도를 도시한다. 호스트 장치와, 정보 기억 장치는 각각 서로 데이터 전송 가능하게 접속되어 있다. 우선, 호스트 장치가 난수 발생 커맨드를 정보 기억 장치에 대하여 출력한다. 난수 발생 커맨드를 수신한 정보 기억 장치는 소정 길이, 예를 들면 16바이트 난수(Rms)의 발생 처리를 실행하여, 발생 난수(Rms)를 호스트 장치에 대하여 송신한다. 또한, 정보 기억 장치는 발생 난수(Rms)를 제어부 내의 RAM 등의 메모리에 격납해 둔다.
정보 기억 장치로부터 난수(Rms)를 수신한 호스트 장치는 미리 호스트 장치 내의 메모리에 격납 완료 로크 키(LK)를 암호 처리 키로 한 수신 난수(Rms)의 암호 처리: E(LK, Rms)를 실행한다. 또한, E(X, Y)는 키[X]를 적용한 메시지[Y]의 암호 처리를 도시한다. 암호 처리 알고리즘은 여러 가지 알고리즘 적용이 가능하며, 예를 들면 DES 암호 처리 알고리즘이 적용된다.
호스트 장치는 로크 키(LK)를 암호 처리 키로 한 수신 난수(Rms)의 암호 처리: E(LK, Rms)를 실행하여, 그 결과 데이터[E(LK, Rms)]와, 호스트 장치가 미리 호스트 장치 내의 메모리에 격납하고 있는 호스트 장치 고유의 식별자(ID)를 로크 커맨드와 함께 정보 기억 장치에 송신한다.
데이터: ID, E(LK, Rms)를 수신한 정보 기억 장치는 우선, 수신한 ID에 대하여, 자기 메모리에 격납되어 있는 로크 마스터 키(LMK)를 적용한 해쉬치 산출 처리에 의해, 수신 ID에 대응하는 로크 키(LK)를 산출한다. 즉,
LK=H(LMK, ID)
에 의해, 수신 ID에 대응하는 로크 키(LK)를 산출한다. 또한, 수신 ID는 자기 메모리에 격납 보존한다. 수신 ID는 후술하는 언로크 처리 시에 이용한다.
더욱이, 정보 기억 장치는 자기 메모리에 격납한 난수(Rms)에 대하여, 상술한 해쉬치 산출에 의해 구한 로크 키(LK)를 적용한 암호 처리: E(LK, Rms)를 실행하여, 호스트 장치로부터 수신한 암호 처리 데이터: E(LK, Rms)와 일치하는지 여부의 대조 처리를 실행한다. 또한, 암호 처리 알고리즘은 호스트 장치와 동일한 알고리즘이면, 여러 가지 알고리즘 적용이 가능하다.
호스트 장치로부터의 수신 데이터: E(LK, Rms)와, 자신이 산출한 암호 처리 데이터: E(LK, Rms)가 일치하면, 정당한 ID와 LK의 셋 데이터를 갖는 호스트 장치로부터의 로크 처리 요구라고 판정하여 로크 처리를 실행하여, 로크 완료 통지를 호스트 장치에 대하여 송신한다. 정보 기억 장치는 로크 처리를 실행한 호스트 장치의 키 셋[ID, LK]을 플래시 메모리 등의 비휘발성 메모리(NVM: Non-Volatile Memory)에 의해 구성되는 메모리부(220)에 격납 보존한다.
호스트 장치로부터의 수신 데이터: E(LK, Rms)와, 자신이 산출한 암호 처리 데이터: E(LK, Rms)가 불일치인 경우는, 적당한 ID와 LK의 셋 데이터를 갖는 호스트 장치는 아니라고 판정하고, 부정 기기로부터의 로크 처리 요구라고 판정하여, 로크 처리를 하지 않고 에러 통지를 호스트 장치에 송신한다.
또한, 정보 기억 장치가 실행하는 로크 처리는 콘텐츠 등의 데이터 격납 영역인 플래시 메모리 등에 의해 구성되는 메모리부(도 3의 메모리부; 220)에 대한 액세스를 다음에 설명하는 언로크 처리를 실행하는 것을 조건으로 하여 허가하는 설정으로 하는 처리이다.
다음으로, 도 6에 도시하는 플로 차트를 참조하여, 로크 처리 순서에 대해서 설명한다. 스텝 S101에 있어서, 정보 기억 장치로서의 메모리 카드가 호스트 장치로부터의 난수 발생 요구 커맨드의 수신에 근거하여, 난수(Rsm)를 발생한다. 발생한 난수는 스텝 S102에 있어서, 호스트 장치에 의해 판독되고, 스텝 S103에 있어서, 로크 커맨드와 함께 호스트 장치의 ID 및 난수(Rms)를 호스트 장치의 로크 키(LK)로 암호화한 데이터: E(LK, Rms)를 정보 기억 장치로서의 메모리 카드에 송신한다.
스텝 S104에 있어서, 메모리 카드는 수신한 ID 및 암호화 데이터: E(LK, Rms)를 정보 기억 장치 내의 메모리에 기록한다. 스텝 S105에 있어서, 메모리 카 드는 자신의 메모리에 격납한 로크 마스터 키(LMK)를 적용하여, 수신 ID의 해쉬치 산출, 즉,
H(LMK, ID)=LK
를 실행하여, 수신 ID에 대응하는 로크 키(LK)를 산출한다.
더욱이, 메모리 카드는 산출한 로크 키(LK)에 근거하여, 앞서 스텝 S101에서 발생한 난수(Rms)의 암호화 처리를 실행하여, 암호화 데이터: E(LK, Rms)를 대조용 데이터로서 산출한다.
다음으로, 메모리 카드는 스텝 S106에 있어서, 스텝 S105에서 산출한 암호화 데이터: E(LK, Rms)와, 스텝 S103에서 로크 커맨드와 함께 호스트 장치로부터 수신하고, 스텝 S104에서 메모리에 격납한 암호화 데이터: E(LK, Rms)와의 비교 대조 처리[E(LK, Rms)=E(LK, Rms)?]를 실행한다.
이 비교 대조 처리에 있어서, 양 값이 같으면, 호스트 장치는 정당히 정확한 ID와 로크 키(LK)의 셋 데이터를 보유한 정당한 기기라고 판정하고, 스텝 S107에 있어서 로크 커맨드에 따른 로크 처리, 즉, 후술하는 언로크 처리의 성공을 조건으로 하여 메모리에 대한 액세스를 가능하게 하는 설정을 실행한다. 이 때, 정보 기억 장치는 로크 처리를 실행한 호스트 장치의 키 셋[ID, LK]을 플래시 메모리 등의 비휘발성 메모리(NVM: Non-Volatile Memory)에 의해 구성되는 메모리부(220)에 격납 보존한다.
한편, 스텝 S106의 비교 대조 처리에 있어서, 양 값이 같지 않다고 판정되면, 스텝 S108에 있어서, 로크 커맨드를 송신하여 온 호스트 장치는 정확한 ID와 로크 키(LK)의 셋 데이터를 보유하고 있지 않은 부정 기기라고 판정하여, 로크 처리를 실행하지 않고, 에러 통지를 호스트 장치에 대하여 송신한다.
(언로크 처리)
다음으로 상술한 로크 마스터 키(LMK)를 적용한 로크 처리에 의한 로크를 해제하는 언로크 처리, 즉 정보 기억 장치에 대한 액세스 제한을 해제하는 처리에 대해서 설명한다.
도 7에 언로크 처리에 있어서의 호스트 장치와, 정보 기억 장치간에서 실행되는 처리 시퀀스도를 도시한다. 호스트 장치와, 정보 기억 장치는 각각 서로 데이터 전송 가능하게 접속되어 있다. 우선, 호스트 장치가 난수 발생 커맨드를 정보 기억 장치에 대하여 출력한다. 난수 발생 커맨드를 수신한 정보 기억 장치는 소정 길이, 예를 들면 16바이트 난수(Rms)의 발생 처리를 실행하여, 발생 난수(Rms)와, 이전 로크 처리 시에 메모리에 격납 완료된 호스트 장치의 ID, 즉 로크 처리를 실행한 호스트 장치의 ID를 호스트 장치에 대하여 송신한다. 또한, 정보 기억 장치는 발생 난수(Rms)를 제어부 내의 RAM 등의 메모리에 격납해 둔다.
정보 기억 장치로부터 ID와, 난수(Rms)를 수신한 호스트 장치는 우선, 수신 ID가 자기 ID와 일치하는지의 여부를 판정한다. 일치하고 있지 않은 경우는, 다른 호스트 장치에 의한 로크가 실행되어 있는 것이 되어, 그 로크를 해제할 수는 없다.
수신 ID가 자기 ID와 일치할 경우는, 그 호스트 장치 자신이 실행한 로크로, 해제 처리로서의 언로크가 가능해진다. 이 경우, 호스트 장치는 미리 호스트 장치 내의 메모리에 격납 완료인 로크 키(LK)를 암호 처리 키로 한 수신 난수(Rms)의 암호 처리: E(LK, Rms)를 실행하여, 그 결과 데이터를 언로크 커맨드와 함께 정보 기억 장치에 송신한다.
암호화 데이터: E(LK, Rms)를 수신한 정보 기억 장치는 우선, 자기 메모리에 격납되어 있는 호스트 장치 ID, 즉, 로크 처리를 실행한 호스트 장치의 ID를 판독하여, 판독한 ID에 대하여, 로크 마스터 키(LMK)를 적용한 해쉬치 산출 처리에 의해, 로크 처리를 실행한 호스트 장치의 ID에 대응하는 로크 키(LK)를 산출한다. 즉,
LK=H(LMK, ID)
에 의해, 로크 처리를 실행한 호스트 장치의 ID에 대응하는 로크 키(LK)를 산출한다.
더욱이, 정보 기억 장치는 자기 메모리에 격납한 난수(Rms)에 대하여, 상술한 해쉬치 산출에 의해 구한 로크 키(LK)를 적용한 암호 처리: E(LK, Rms)를 실행하여, 호스트 장치로부터 수신한 암호 처리 데이터: E(LK, Rms)와 일치하는지 여부의 대조 처리를 실행한다.
호스트 장치로부터의 수신 데이터: E(LK, Rms)와, 자신이 산출한 암호 처리 데이터: E(LK, Rms)가 일치하면, 정당한 ID와 LK의 셋 데이터를 갖는 호스트 장치로부터의 언로크 처리 요구라고 판정하여 언로크 처리를 실행하여, 언로크 완료 통지를 호스트 장치에 대하여 송신한다. 불일치인 경우는 정당한 ID와 LK의 셋 데이 터를 갖는 호스트 장치는 아니라고 판정하고, 부정 기기로부터의 언로크 처리 요구라고 판정하여, 언로크 처리를 하지 않고 에러 통지를 호스트 장치에 송신한다.
또한, 정보 기억 장치가 실행하는 언로크 처리는 로크 처리의 해제를 의미하여, 콘텐츠 등의 데이터 격납 영역인 플래시 메모리 등에 의해 구성되는 메모리부(도 3의 메모리부; 220)에 대한 액세스를 허가하는 설정으로 하는 처리이다.
다음으로, 도 8에 도시하는 플로 차트를 참조하여, 언로크 처리의 순서에 대해서 설명한다. 스텝 S201에 있어서, 정보 기억 장치로서의 메모리 카드가 호스트 장치로부터의 난수 발생 요구 커맨드의 수신에 근거하여, 난수(Rsm)를 발생한다. 발생한 난수는 스텝 S202에 있어서, 먼저 로크 처리를 실행한 호스트 장치의 ID와 함께 호스트 장치에 의해 판독된다.
호스트 장치는 메모리 카드로부터 판독한 ID와 자기의 호스트 ID가 일치함으로써, 언로크 가능이라고 판단하여, 스텝 S203에 있어서, 언로크 커맨드와 함께 수신 난수(Rms)를 호스트 장치의 로크 키(LK)로 암호화한 데이터: E(LK, Rms)를 정보 기억 장치로서의 메모리 카드에 송신한다.
스텝 S204에 있어서, 메모리 카드는 수신한 암호화 데이터: E(LK, Rms)를 정보 기억 장치 내의 메모리에 기록한다. 스텝 S205에 있어서, 메모리 카드는 이전 로크 처리 시에 메모리에 격납한 로크 처리를 실행한 호스트 장치 ID를 판독하여, 판독한 ID에 대하여, 자신의 메모리에 격납한 로크 마스터 키(LMK)를 적용하여 해쉬치 산출, 즉,
H(LMK, ID)=LK
를 실행하여, ID에 대응하는 로크 키(LK)를 산출한다.
더욱이, 메모리 카드는 산출한 로크 키(LK)에 근거하여, 앞서 스텝 S201에서 발생한 난수(Rms)의 암호화 처리를 실행하여, 암호화 데이터: E(LK, Rms)를 대조용 데이터로서 산출한다.
다음으로, 메모리 카드는 스텝 S206에 있어서, 스텝 S205에서 산출한 암호화 데이터: E(LK, Rms)와, 스텝 S203에서 언로크 커맨드와 함께 호스트 장치로부터 수신하여, 스텝 S204에서, 메모리에 격납한 암호화 데이터: E(LK, Rms)와의 비교 대조 처리[E(LK, Rms)=E(LK, Rms)?]를 실행한다.
이 비교 대조 처리에 있어서, 양 값이 같으면, 호스트 장치는 정당한 정확한 ID와 로크 키(LK)의 셋 데이터를 보유한 정당한 기기라고 판정하여, 스텝 S207에 있어서 언로크 커맨드에 따른 언로크 처리, 즉, 메모리에 대한 액세스를 가능하게 하는 설정을 실행한다. 한편, 스텝 S206의 비교 대조 처리에 있어서, 양 값이 같지 않다고 판정되면, 스텝 S208에 있어서, 언로크 커맨드를 송신하여 온 호스트 장치는 로크 처리를 실행한 정확한 ID와 로크 키(LK)의 셋 데이터를 보유한 호스트 장치는 아니라고 판정하여, 언로크 처리, 즉 로크 해제를 실행하지 않고, 에러 통지를 호스트 장치에 대하여 송신한다.
상술한 바와 같이, 본 처리예에 의하면, 호스트 장치 ID와 대응하는 로크 키(LK)의 정당한 조합 데이터를 갖는 호스트 장치만이 정보 기억 장치에 대한 로크 처리를 실행할 수 있고, 또한, 로크 해제로서의 언로크 처리는 로크 처리를 실행한 호스트 장치에 의해서만 가능해진다. 또한, 상술한 로크 처리 및 언로크 처리에 있어서, 정보 기억 장치만이 호스트 장치의 인증 처리를 실행하는 소위 한쪽 인증 처리를 실행하는 구성이기 때문에, 호스트 장치 측의 처리 부담이 경감되어, 효율적인 처리가 가능해진다.
또한, 상술한 로크 처리, 언로크 처리는 정보 기억 장치 측에 있어서, 그 처리마다 발생한 난수를 적용하는 구성이기 때문에, 과거의 처리에 있어서의 기록 데이터를 적용하면 것은 불가능하여, 과거 처리의 트레이스에 근거하는 부정 처리를 효과적으로 방지할 수 있다.
[기기 그룹에서의 로크 처리 구성]
상술한 로크 처리, 언로크 처리는 1개의 호스트 장치마다 정보 기억 장치가 대응하는 처리로서 실행되어, 로크를 실행한 호스트 장치만이 언로크 처리가 가능해지는 구성예였다. 그러나, 복수의 호스트 장치가 1개의 정보 기억 장치(메모리 카드)를 이용하는 구성에 있어서는, 어느 호스트 장치(기기 A)에서 데이터를 격납하여 로크한 정보 기억 장치(메모리 카드)를 다른 호스트 장치(기기 B)에서 이용하고 싶다는 상황이 발생한다.
이러한 경우, 호스트 장치(기기 A)에서 로크 해제 처리를 하지 않은 한, 호스트 장치(기기 B)에서는 로크 해제를 실행할 수 없게 된다. 이하에서는, 이러한 경우에 대응 가능한 구성, 즉 복수의 호스트 장치에 의해 구성되는 호스트 장치의 그룹에 있어서, 각 호스트 장치 각각이 로크 처리 언로크 처리를 실행 가능하게 한 처리예에 대해서 설명한다. 우선, 도 9를 참조하여 본 처리예의 개요를 설명한다.
메모리 카드 등의 정보 기억 장치(520)의 콘텐츠 등의 데이터 격납 영역인 플래시 메모리 등에 의해 구성되는 메모리부(도 3의 메모리부; 220)에 대한 액세스 제한을 유효로 하는 처리를 로크 처리로 하고, 액세스 제한을 해제하는 처리를 언로크 처리로 한다. 이 점은 상술한 처리예와 같다. 로크 처리 및 언로크 처리를 실행하는 것이 호스트 장치(510)이다.
호스트 장치(510)는 앞서 도 1, 도 2를 참조하여 설명한 바와 같이, 메모리 카드 등의 정보 기억 장치(520)와의 데이터 전송을 실행하는 인터페이스를 가지고, 정보 기억 장치(520)에 대한 데이터 기록 혹은 정보 기억 장치(520)로부터의 데이터 판독을 실행하여 데이터 이용을 하는 PC, PDA, 디지털 카메라, DSC(Digital Still Camera) 등의 정보 처리 장치를 포함하고, 더욱이, 메모리 카드 등의 정보 기억 장치(520)에 대한 로크 처리, 언로크 처리 실행 전용 기기로서의 로크·언로크용 기기(512)도 포함된다.
호스트 장치 내의 ROM 등의 메모리(515)에는 각 호스트 장치 고유의 식별자로서의 IDs(예를 들면 16바이트 데이터)와, 로크 처리, 언로크 처리에 적용하는 열쇠 데이터로서의 로크 키(LKs)(예를 들면 8바이트 데이터)가 격납된다. 이 IDs, LKs는 상술한 처리예에 있어서의 ID, LK에 대응하는 데이터의 셋으로, 상술한 처리와 같은 로크 처리, 언로크 처리에 적용 가능하다.
이 IDs, LKs는 프라이머리 ID, 프라이머리 로크 키로, 각 호스트 장치 제조 시에 호스트 장치 내의 ROM 등의 메모리에 기록되어, 유저에 의한 재기록 불가능한 데이터가 된다. 이들 프라이머리 ID(IDs), 프라이머리 로크 키(LKs)는 상술한 LMK 적용 처리와 완전히 같아, 호스트 장치 대 정보 기억 장치의 1대 1 대응의 로크 처리, 언로크 처리에 적용할 수 있다. 이 각 호스트 장치에 고유 프라이머리 ID, 프라이머리 로크 키로 이루어지는 키 셋[IDs, LKs]을 프라이머리 키 셋이라 부른다.
이 프라이머리 키 셋: [IDs, LKs]을 적용한 로크 처리를 스탠다드 로크 처리라 부르고, 호스트 장치로서의 정보 처리 장치로부터 스탠다드 로크 커맨드를 정보 기억 장치에 대하여 출력함으로써 스탠다드 로크가 실행되고, 언로크 커맨드의 출력에 의해 언로크 처리가 실행된다.
호스트 장치 내의 ROM 등의 메모리(515)에는, 더욱이, 다른 호스트 장치에 대하여 카피 공급 가능한 키 셋으로서의 서브 ID와 서브 로크 키의 셋 데이터로서의 서브 키 셋: [IDen, LKen](n=1, 2, ··)이 1이상 격납 가능해진다.
이 서브 키 셋: [IDen, LKen]은 복수의 호스트 장치에 있어서 공통되게 격납 가능한 열쇠로, 후술하는 처리 순서에 의해, 다른 호스트 장치에 격납 완료된 서브 키 셋: [IDen, LKen]은 정보 기억 장치를 통해 다른 호스트 장치에 카피 격납하는 것이 가능하다.
서브 키 셋: [IDen, LKen]을 적용하여, 정보 기억 장치(메모리 카드)에 대하여 로크 처리를 실행하여, 로크 처리에 적용한 서브 키 셋을 정보 기억 장치(메모리 카드)를 통해 다른 호스트 장치에 카피 출력 가능하게 한 양태의 로크 처리를 엑스포트 로크 처리라 부른다.
이 서브 키 셋: [IDen, LKen]을 적용한 로크 처리를 엑스포트 로크 처리라 부르고, 호스트 장치로서의 정보 처리 장치로부터 엑스포트 로크 커맨드를 정보 기 억 장치에 대하여 출력함으로써 엑스포트 로크가 실행되고, 언로크 커맨드의 출력에 의해 언로크 처리가 실행된다.
엑스포트 로크가 이루어진 정보 기억 장치(메모리 카드)로부터 호스트 장치가 입수한 서브 키 셋: [IDen, LKen]은 그 호스트 장치 내의 메모리에 기록 가능해진다. 이 서브 키 셋의 카피 기록 처리를 인 프린트 처리라 부른다. 인 프린트 처리에 의해, 동일한 서브 키 셋: [IDen, LKen]을 갖는 복수의 호스트 장치로 이루어지는 그룹이 형성된다.
이와 같이, 서브 키 셋: [IDen, LKen]은 외부에 출력 가능한 설정으로 한 로크 처리, 즉 엑스포트(exprot) 로크 처리에 적용 가능한 키 셋으로, 각각 ID, LK에 [e]를 더하여 도시한다. [en]의 n은 서브 키 셋 넘버를 도시하여, 설정한 그룹수에 상당한다.
각 호스트 장치는 복수의 다른 서브 키 셋을 격납 가능하다. 예를 들면, 서브 키 셋 1: [IDe1, LKel]을 호스트 장치로서의 PC(Personal Computer)-a, PC-b, PDA(Personal Digital Assistants)-a 3개의 호스트 장치로 이루어지는 그룹의 공유 서브 키 셋(서브 1)으로서 설정하고, 서브 키 셋 2: [IDe2, LKe2]를 PC-a, PDA-a. PDA-b 그룹의 공유 서브 키 셋(서브 2)으로서 설정한 경우, 각 호스트 장치는 각각의 프라이머리 ID(IDs), 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]을 메모리에 격납함과 동시에,
PC-a는 [IDe1, LKe1], [IDe2, LKe2]
PC-b는 [IDe1, LKe1]
PDA-a는 [IDe1, LKe1], [IDe2, LKe2]
PDA-b는 [IDe2, LKe2]
의 각 서브 ID와 서브 로크 키로 이루어지는 서브 키 셋을 각각 격납하게 된다.
이들 서브 ID와 서브 로크 키의 셋 데이터로 이루어지는 서브 키 셋: [IDen, LKen]을 자기 메모리(515) 내에 기록함으로써, 1이상의 호스트 장치로 이루어지는 호스트 장치 그룹(-n)의 구성 멤버가 될 수 있어, 그룹(n)의 멤버는 공통되게 보유하는 서브 ID(IDn), 공통된 서브 로크 키(LKn)를 적용하여, 1개의 정보 기억 장치(메모리 카드)에 대한 로크 처리, 언로크 처리가 가능해진다.
한편, 메모리 카드 등의 정보 기억 장치(520) 내의 제어부 내의 ROM 등의 메모리(525)에는 로크 마스터 키(LMK)가 격납된다. 정보 기억 장치(520)에 격납되는 로크 마스터 키(LMK)와, 호스트 장치에 격납되는 ID(IDs 및 IDen을 포함한다)와, 로크 키(LK(LKs와 LKen을 포함한다))는 이하의 관계를 갖는다.
LK=H(LMK, ID)
이 로크 마스터 키(LMK)와, ID, LK와의 대응은 상술한 LMK의 적용 처리와 완전히 같고, 프라이머리 ID(IDs)에 대한 로크 마스터 키(LMK)를 적용한 해쉬치 산출 처리에 의해, 프라이머리 로크 키(LKs)가 산출되고, 서브 ID(IDen)에 대한 로크 마스터 키(LMK)를 적용한 해쉬치 산출 처리에 의해 서브 로크 키(LKen)가 산출된다.
프라이머리 키 셋[IDs, LKs]과, 서브 키 셋[IDen, LKen]을 이용한 로크 처리 양태에 대해서, 도 10을 참조하여 설명한다. 로크 처리 양태에는 도 10a 내지 c에 도시하는 3개의 양태가 있다.
(a)는 각 호스트 장치(510)에 고유 프라이머리 ID(IDs)와, 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs](531)을 적용한 스탠다드 로크 처리이다.
프라이머리 키 셋: [IDs, LKs](531)을 적용한 스탠다드 로크 처리는 호스트 장치(510)로부터 정보 기억 장치(520)에 대하여 스탠다드 로크 커맨드를 출력함으로써 실행되고, 언로크 커맨드의 출력에 의해 언로크 처리가 실행된다.
스탠다드 로크 처리가 이루어지면, 로크 정보 기억 장치(메모리 카드; 520)의 기억부(플래시 메모리)의 스탠다드 로크 키 셋 격납 영역(541)에 프라이머리 키 셋[IDs, LKs]이 격납된다. 이 로크 처리가 실행되면, 스탠다드 로크에 적용한 프라이머리 키 셋[IDs, LKs]은 로크 정보 기억 장치(메모리 카드; 520)로부터 외부에 출력되지 않고, 로크 해제(언로크) 처리를 실행할 수 있는 것은 동일한 프라이머리 키 셋[IDs, LKs]을 갖는 호스트 장치, 즉 스탠다드 로크 처리를 실행한 유일한 호스트 장치가 된다.
프라이머리 ID(IDs), 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]은 상술한 LMK 적용 처리와 완전히 같아, 호스트 장치 대 정보 기억 장치의 1대 1 대응의 로크 처리, 언로크 처리에 적용할 수 있어, 도 5 내지 도 8을 참조하여 설명한 처리와 같은 처리에서의 로크 처리, 언로크 처리가 가능하다.
(b)는 복수의 호스트 장치가 공유 가능한 서브 ID(IDen)와, 서브 로크 키(LKen)로 이루어지는 서브 키 셋[IDen, LKen](532)을 적용한 엑스포트 로크 처리 이다.
서브 키 셋[IDen, LKen](532)을 적용한 엑스포트 로크 처리는 호스트 장치(510)로부터 정보 기억 장치(520)에 대하여 엑스포트 로크 커맨드를 출력함으로써 실행되고, 언로크 커맨드의 출력에 의해 언로크 처리가 실행된다.
엑스포트 로크 처리가 이루어지면, 로크 정보 기억 장치(메모리 카드; 520)의 기억부(플래시 메모리)의 엑스포트 로크 키 셋 격납 영역(542)에 서브 키 셋[IDen, LKen]이 격납된다. 이 로크 처리가 실행된 경우, 엑스포트 로크에 적용한 서브 키 셋[IDen, LKen]은 후단에서 상세하게 설명하는 인 프린트 처리를 실행함으로써, 다른 호스트 장치가 로크 정보 기억 장치(메모리 카드; 520)로부터 입수하는 것이 가능해진다.
이 엑스포트 로크 처리가 실행된 경우, 로크 해제(언로크) 처리를 실행할 수 있는 것은 로크 처리를 실행한 호스트 장치와, 인 프린트 처리에 의해 엑스포트 로크에 적용한 서브 키 셋[IDen, LKen]을 입수한 호스트 장치가 된다.
(c)는 각 호스트 장치(510)가 공유 가능한 서브 ID(IDen)와, 서브 로크 키(LKen)로 이루어지는 서브 키 셋[IDen, LKen](532)을 적용한 스탠다드 로크 처리이다. 이 처리를 그룹 로크라 부른다.
서브 키 셋[IDen, LKen](532)을 적용한 스탠다드 로크 처리, 즉 그룹 로크 처리는 호스트 장치(510)로부터 정보 기억 장치(520)에 대하여 스탠다드 로크 커맨드를 출력함으로써 실행되고, 언로크 커맨드의 출력에 의해 언로크 처리가 실행된다. 단, 이 처리 시에 적용하는 키 셋은 서브 키 셋[IDen, LKen](532)이 된다.
이것은 기본적으로는, 스탠다드 로크와 동일한 처리로, 적용하는 키 셋을 서브 키 셋[IDen, LKen](532)으로 한 처리이다. 이 그룹 로크 처리가 이루어지면, 로크 정보 기억 장치(메모리 카드; 520)의 기억부(플래시 메모리)의 스탠다드 로크 키 셋 격납 영역(541)에 서브 키 셋[IDen, LKen]이 격납된다. 이 로크 처리가 실행되면, 그룹 로크에 적용한 서브 키 셋[IDen, LKen]은 스탠다드 로크 키 셋 격납 영역(541)에 격납되기 때문에, 로크 정보 기억 장치(메모리 카드; 520)로부터 외부에 출력되는 일은 없다.
이 그룹 로크의 해제(언로크) 처리를 실행할 수 있는 것은 동일한 서브 키 셋[IDen, LKen]을 갖는 호스트 장치이다. 단, 이 경우, 그룹 로크를 실행한 호스트 장치 뿐만 아니라, 이미 동일한 서브 키 셋[IDen, LKen]을 사전에 입수한 호스트 장치가 포함된다.
예를 들면, 사전에 동일한 서브 키 셋[IDen, LKen]을 적용한 엑스포트 로크 처리가 행하여져, 그 엑스포트 로크 처리 실행 시에 인 프린트 처리에 의해 동일한 서브 키 셋[IDen, LKen]을 입수하여, 메모리에 격납하고 있는 호스트 장치는 언로크가 가능해진다.
서브 키 셋[IDen, LKen]을 적용한 스탠다드 로크, 즉 그룹 로크에 있어서의 로크 처리, 언로크 처리의 시퀀스는 상술한 LMK 적용 처리와 같은 시퀀스(도 5 내지 도 8 참조)가 된다. 단, 로크/언로크를 실행할 수 있는 호스트 장치가 인 프린트 처리에 의해 복수가 될 수 있는 점이 다르다.
이하, 복수의 호스트 장치에 있어서 공유 가능한 서브 ID(IDen), 서브 로크 키(LKen), 즉, 서브 키 셋[IDen, LKen]을 적용한 로크 처리 및 정보 기억 장치(메모리 카드)를 통한 호스트 장치에 대한 서브 키 셋[IDen, LKen]의 카피 격납 처리(인 프린트 처리) 및 엑스포트 로크의 해제로서의 언로크 처리에 대해서 설명한다.
(서브 키 셋에 근거하는 로크 처리)
우선, 서브 ID(IDen), 서브 로크 키(LKen)로 이루어지는 서브 키 셋[IDen, LKen]을 적용한 정보 기억 장치(메모리 카드)에 대한 로크 처리의 상세함에 대해서 설명한다.
상술한 바와 같이, 서브 키 셋: [IDen, LKen]을 적용한 정보 기억 장치(메모리 카드)에 대한 로크 처리에 의해, 로크 처리에 적용한 서브 키 셋을 정보 기억 장치(메모리 카드)를 통해 다른 호스트 장치에 카피 출력 가능하게 한 엑스포트 로크 처리가 가능해진다.
도 11에 서브 키 셋에 근거하는 로크 처리에 있어서의 호스트 장치와, 정보 기억 장치간에서 실행되는 처리 시퀀스도를 도시한다. 호스트 장치와, 정보 기억 장치는 각각 서로 데이터 전송 가능하게 접속되어 있다.
또한, 정보 기억 장치는 도 11에 도시하는 로크 스테이터스 플래그(551)를 가지고, 정보 기억 장치에 있어서의 로크 상태를 도시하는 값을 보존한다. 상단의 NVM은 도 3에 있어서 설명한 플래시 메모리 등에 의해 구성되는 메모리부(220)의 NVM(Non-Volatile Memory) 영역에 격납되는 플래그이고, 하단은 제어부(210) 내의 RAM(213)에 격납되는 플래그이다. 정보 기억 장치의 전원 오프에 의해, RAM 내의 플래그는 소거되지만, NVM의 플래그 데이터는 유지된다. 따라서, RAM의 플래그의 재기록에 따라서, NVM에 대한 플래그 데이터의 카피가 실행되어, 전원 오프 후, 새롭게 전원 온이 된 경우에, NVM의 플래그 정보가 RAM에 카피된다. 또한, SL은 스탠다드 로크, EL은 엑스포트 로크로, 1이 로크 상태, 0이 비로크 상태를 도시한다.
스탠다드 로크는 로크에 적용한 키 셋[ID, LK]의 외부 출력을 인정하지 않는 로크 양태이고, 엑스포트 로크는 로크에 적용한 키 셋[ID, LK]의 외부 출력을 인정한 로크 양태로, SL=1은 스탠다드 로크 상태인 것, EL=1은 엑스포트 로크 상태인 것을 도시하고 있다.
정보 기억 장치(메모리 카드)는 스탠다드 로크에 적용한 키 셋과, 엑스포트 로크에 적용한 키 셋을 각각 격납하는 데이터 격납 영역을 메모리부(플래시 메모리(NVM)) 내에 갖는다.
초기 상태에서는, 도면에 도시하는 바와 같이, SL=0, EL=0이고, 스탠다드 로크(SL), 엑스포트 로크(EL) 중 어느 것도 행하여지고 있지 않은, 즉 모든 호스트 장치가 정보 기억 장치의 메모리부에 대하여 액세스 가능한 상태이다.
이 초기 상태에 있어서, 우선, 호스트 장치가 난수 발생 커맨드를 정보 기억 장치에 대하여 출력한다. 난수 발생 커맨드를 수신한 정보 기억 장치는 소정 길이, 예를 들면 16바이트의 난수(Rms)의 발생 처리를 실행하여, 발생 난수(Rms)를 호스트 장치에 대하여 송신한다. 또한, 정보 기억 장치는 발생 난수(Rms)를 제어부 내의 RAM 등의 메모리에 격납해 둔다.
정보 기억 장치로부터 난수(Rms)를 수신한 호스트 장치는 미리 호스트 장치 내의 메모리에 격납 완료된 서브 로크 키(LKen)를 암호 처리 키로 한 수신 난수(Rms)의 암호 처리: E(LKen, Rms)를 실행한다. 암호 처리 알고리즘은 여러 가지 알고리즘의 적용이 가능하며, 예를 들면 DES 암호 처리 알고리즘이 적용된다.
호스트 장치는 서브 로크 키(LKen)를 암호 처리 키로 한 수신 난수(Rms)의 암호 처리: E(LKen, Rms)를 실행하여, 그 결과 데이터[E(LKen, Rms)]와, 호스트 장치가 미리 호스트 장치 내의 메모리에 격납하고 있는 서브 로크 키(LKen)에 대응하는 셋 데이터로서의 서브 ID(IDen)를 로크 커맨드와 함께 정보 기억 장치에 송신한다.
데이터: IDen, E(LKen, Rms)를 수신한 정보 기억 장치는 우선, 수신한 서브 ID(IDen)에 대하여, 자기의 메모리에 격납되어 있는 로크 마스터 키(LMK)를 적용한 해쉬치 산출 처리에 의해, 수신 서브 ID(IDen)에 대응하는 서브 로크 키(LKen)를 산출한다. 즉,
LKen=H(LMK, IDen)
에 의해, 수신 서브 ID(IDen)에 대응하는 서브 로크 키(LKen)를 산출한다. 또한, 수신 서브 ID(IDen)는 자기의 메모리에 격납 보존한다. 수신 서브 ID(IDen)는 후술하는 언로크 처리 시에 이용된다.
더욱이, 정보 기억 장치는 자기의 메모리에 격납한 난수(Rms)에 대하여, 상술한 해쉬치 산출에 의해 구한 서브 로크 키(LKen)를 적용한 암호 처리: E(LKen, Rms)를 실행하고, 호스트 장치로부터 수신한 암호 처리 데이터: E(LKen, Rms)와 일치하는지 여부의 대조 처리를 실행한다. 또한, 암호 처리 알고리즘은 호스트 장치 와 동일한 알고리즘이면, 여러 가지 알고리즘 적용이 가능하다.
호스트 장치로부터의 수신 데이터: E(LKen, Rms)와, 자신이 산출한 암호 처리 데이터: E(LKen, Rms)가 일치하면, 정당한 서브 ID(IDen)와, 서브 로크 키(LKen)의 셋 데이터를 갖는 정당한 호스트 장치로부터의 로크 처리 요구라고 판정하여 엑스포트 로크 처리를 실행하여, 로크 완료 통지를 호스트 장치에 대하여 송신한다. 불일치인 경우는, 정당한 서브 ID(IDen)와 서브 로크 키(LKen)의 셋 데이터를 갖는 호스트 장치는 아니라고 판정하고, 부정 기기로부터의 로크 처리 요구라고 판정하여, 엑스포트 로크 처리를 하지 않고 에러 통지를 호스트 장치에 송신한다.
또한, 정보 기억 장치가 실행하는 엑스포트 로크 처리는 콘텐츠 등의 데이터 격납 영역인 플래시 메모리 등에 의해 구성되는 메모리부(도 3의 메모리부; 220)에 대한 액세스를, 다음에 설명하는 서브 ID, 서브 로크 키를 적용한 언로크 처리를 실행하는 것을 조건으로 하여 허가하는 설정으로 하는 처리로, 엑스포트 로크에 적용된 엑스포트 키 셋: [IDen, LKen]을 정보 기억 장치(메모리 카드)의 메모리부(플래시 메모리(NVM))의 엑스포트 로크 키 셋 격납 영역에 격납한다. 더욱이, 로크 스테이터스 플래그의 재기록을 실행한다.
엑스포트 로크가 실행되면, 도면에 도시하는 바와 같이, 로크 스테이터스 플래그는 엑스포트 로크가 유효한 상태를 도시하는 플래그: EL=1이 NVM, RAM 각각 격납된다. 이들 플래그는 우선 정보 기억 장치의 제어부 내의 RAM(213)(도 3 참조)에 EL=1이 설정된 후, NVM(플래시 메모리에 의해 구성되는 메모리부; 220)에 EL=1 이 카피된다. 이 상태에서, 정보 기억 장치의 전원이 오프가 되면, RAM의 플래그 정보는 소거되지만, NVM의 플래그 정보는 유지되고, 그 후, 다시 정보 기억 장치의 전원이 온이 되면, NVM의 플래그 정보(EL=1)인 RAM에 카피되어, 제어부(210)(도 3 참조)는 RAM의 플래그 정보(EL=1)에 근거하는 처리를 한다.
플래그 정보가 EL=1인 경우는, 엑스포트 로크 상태인 것을 도시하고, 정보 기억 장치(메모리 카드)의 NVM(플래시 메모리에 의해 구성되는 메모리부; 220)의 엑스포트 로크 키 셋 격납 영역에 격납된 서브 키는 후술하는 인 프린트 처리에 의해 다른 호스트 장치에 출력 가능해진다.
다음으로, 도 12에 도시하는 플로 차트를 참조하여, 엑스포트 로크 처리 순서에 대해서 설명한다. 스텝 S301에 있어서, 정보 기억 장치로서의 메모리 카드가 호스트 장치로부터의 난수 발생 요구 커맨드 수신에 근거하여, 난수(Rsm)를 발생한다. 발생한 난수는 스텝 S302에 있어서, 호스트 장치에 의해 판독되고, 스텝 S303에 있어서, 로크 커맨드와 함께 호스트 장치의 기억부에 격납 완료된 서브 ID(IDen)를 취득하고, 더욱이, 수신 난수(Rms)를 호스트 장치의 기억부에 격납 완료된 서브 로크 키(LKen)로 암호화하여, 데이터: E(LKen, Rms)를 생성하고, 이들 연결 데이터: IDen, E(LKen, Rms)를 정보 기억 장치로서의 메모리 카드에 송신한다.
스텝 S304에 있어서, 메모리 카드는 수신한 서브 ID(IDen) 및 암호화 데이터: E(LKen, Rms)를 정보 기억 장치 내의 메모리에 기록한다. 스텝 S305에 있어서, 메모리 카드는 자신의 메모리에 격납한 로크 마스터 키(LMK)를 적용하여, 수신 서브 ID(IDen)의 해쉬치 산출, 즉,
H(LMK, IDen)=LKen
을 실행하여, 수신 서브 ID(IDen)에 대응하는 서브 로크 키(LKen)를 산출한다.
더욱이, 메모리 카드는 산출한 서브 로크 키(LKen)에 근거하여, 앞서 스텝 S301에서 발생한 난수(Rms)의 암호화 처리를 실행하여, 암호화 데이터: E(LKen, Rms)를 대조용 데이터로서 산출한다.
다음으로, 메모리 카드는 스텝 S306에 있어서, 스텝 S305에서 산출한 암호화 데이터: E(LKen, Rms)와, 스텝 S303에서 로크 커맨드와 함께 호스트 장치로부터 수신하여, 스텝 S304에서, 메모리에 격납한 암호화 데이터: E(LKen, Rms)와의 비교 대조 처리[E(LKen, Rms)=E(LKen, Rms)?]를 실행한다.
이 비교 대조 처리에 있어서, 양 값이 같으면, 호스트 장치는 정당한 정확한 서브 ID(IDen)와 서브 로크 키(LKen)의 셋 데이터로서의 서브 키 셋[IDen, LKen]을 보유한 정당한 기기라고 판정하여, 스텝 S307에 있어서 로크 커맨드에 따른 로크 처리, 즉, 후술하는 서브 키 셋[IDen, LKen]을 적용한 로크의 해제 처리로서의 언로크 처리 성공을 조건으로 하여 메모리에 대한 액세스를 가능하게 하는 설정을 실행한다. 이 때, 상술한 로크 스테이터스 플래그를 EL=1로 설정한다.
한편, 스텝 S306의 비교 대조 처리에 있어서, E(LKen, Rms)=E(LKen, Rms)가 성립하고 있지 않다고 판정되면, 스텝 S308에 있어서, 로크 커맨드를 송신하여 온 호스트 장치는 정확한 서브 ID(IDen)와 서브 로크 키(LKen)의 셋 데이터를 보유하 고 있지 않은 부정 기기라고 판정하여, 로크 처리를 실행하지 않고, 에러 통지를 호스트 장치에 대하여 송신한다.
상술한 처리에 따라서, 엑스포트 로크가 이루어진 정보 기억 장치는 로크 처리를 실행한 서브 ID(IDen)와 서브 로크 키(LKen)의 셋 데이터로서, 동일한 서브 키 셋[IDen, LKen]을 보유한 호스트 장치이면, 상술한 [로크 마스터 키(LMK)에 근거하는 처리]에 있어서 설명한 언로크 처리와, 같은 처리 수속에 의해 언로크가 가능해진다. 즉, 적용하는 ID와 로크 키를 서브 ID(IDen)와 서브 로크 키(LKen)로 치환함으로써 언로크가 가능해진다.
그러나, 로크 처리를 실행한 서브 키 셋[IDen, LKen]과 동일한 키 셋을 보유하고 있지 않은 다른 호스트 장치는 로크 처리에 적용된 서브 키 셋[IDen, LKen]을 취득하지 않은 한 정보 기억 장치의 로크 해제, 즉 액세스를 할 수 없다.
정당한 프라이머리 ID(IDs)와 프라이머리 로크 키(LKs)의 셋 데이터로서의 프라이머리 키 셋[IDs, LKs]을 가지는 호스트 장치는 엑스포트 로크가 이루어진 정보 기억 장치에 격납되어 있는 서브 키 셋[IDen, LKen]을 정보 기억 장치로부터 취득하는 것이 가능하고, 취득한 서브 키 셋[IDen, LKen]을 적용하여 로크를 해제하는 것이 가능해진다. 정보 기억 장치를 통한 서브 키 셋[IDen, LKen]의 취득을 인 프린트 처리라 부른다.
이와 같이, 어느 서브 키 셋[IDen, LKen]에 근거하여, 로크 상태가 되어, 그 서브 키 셋[IDen, LKen]을 다른 호스트 장치에 출력 가능한 로크 상태를 엑스포트 로크 상태라 부른다.
호스트 장치는 엑스포트 로크 상태에 있는 정보 기억 장치로부터 엑스포트 로크 처리에 적용된 서브 키 셋[IDen, LKen]을 취득(인 프린트)함으로써, 동일한 서브 키 셋[IDen, LKen]을 보유하는 복수의 호스트 장치에 의해 구성되는 그룹의 구성 멤버가 되고, 그 후, 취득한 서브 키 셋[IDen, LKen]을 적용하여 로크를 해제할 수 있다. 이하, 이 인 프린트 및 로크 해제 처리(언로크 처리)의 상세함에 대해서 설명한다.
(인 프린트 및 언로크 처리)
호스트 장치가 상술한 엑스포트 로크 처리에 의한 로크가 이루어지고 있는 정보 기억 장치로부터 서브 로크 키(LKen)와, 서브 ID(IDen)로 이루어지는 서브 키 셋[IDen, LKen]을 취득하는 인 프린트 처리와, 엑스포트 로크 처리에 의한 로크가 이루어지고 있는 정보 기억 장치의 로크를 해제하는 언로크 처리에 대해서 설명한다.
도 13에 호스트 장치와, 정보 기억 장치간에서 실행되는 인 프린트 처리와 언로크 처리의 처리 시퀀스도를 도시한다. 호스트 장치와, 정보 기억 장치는 각각 서로 데이터 전송 가능하게 접속되어 있다. 또한, 정보 기억 장치의 로크 스테이터스 플래그는 도면에 도시하는 바와 같이, 엑스포트 로크가 유효한 상태를 도시하는 EL=1이 NVM, RAM에 각각 설정되어 있는 것으로 한다.
호스트 장치는 정보 기억 장치에 대한 엑스포트 로크에 적용한 서브 ID(IDen)와 서브 로크 키(LKen)로 이루어지는 서브 키 셋[IDen, LKen]을 갖고 있지 않고, 정보 기억 장치는 서브 키 셋[IDen, LKen]을 엑스포트 키 격납 영역에 격납하고 있다. 정보 기억 장치는 소위 엑스포트 로크 상태에 있다.
우선, 호스트 장치가 난수 발생 커맨드를 정보 기억 장치에 대하여 출력한다. 난수 발생 커맨드를 수신한 정보 기억 장치는 소정 길이, 예를 들면 16바이트 난수(Rms)의 발생 처리를 실행하여, 발생 난수(Rms)와, 이전의 엑스포트 로크 처리 시에 메모리에 격납 완료된 서브 ID(IDen), 즉 엑스포트 로크 처리에 적용된 서브 키 셋[IDen, LKen] 중 서브 ID(IDen)를 호스트 장치에 대하여 송신한다. 또한, 정보 기억 장치는 발생 난수(Rms)를 제어부 내의 RAM 등의 메모리에 격납해 둔다.
정보 기억 장치로부터 서브 ID(IDen)와, 난수(Rms)를 수신한 호스트 장치는 우선, 수신 서브 ID(IDen)가 자기의 프라이머리 ID(IDs)와 일치하는지의 여부를 판정한다. 일치하고 있으면, 상술한 LMK 적용 처리(도 7 참조)와 같은 프라이머리 로크 키(LKs)를 적용한 언로크가 가능하다.
수신 서브 ID(IDen)가 자기의 프라이머리 ID(IDs)와 일치하고 있지 않은 경우는, 다른 호스트 장치에 의한 로크가 실행되어 있는 것이 되지만, 이 수신 서브 ID(IDen) 및 서브 로크 키(LKen)를 취득하는 인 프린트 처리에 의해, 서브 키 셋[IDen, LKen]을 적용한 엑스포트 로크를 실행한 다른 호스트 장치와 동일 그룹에 속하는 것이 가능해진다.
즉, 인 프린트 처리를 실행하여, 서브 ID(IDen), 서브 로크 키(LKen)를 각각 취득하여, 이들 셋 데이터로서의 서브 키 셋[IDen, LKen]을 자기의 메모리에 격납하여, 그룹에 속하는 호스트 장치가 되어, 취득한 서브 키 셋[IDen, LKen]을 적용 하여 엑스포트 로크의 해제가 가능해진다. 인 프린트 처리를 실행할 경우, 호스트 장치는 정보 기억 장치로부터 수신한 서브 ID(IDen)를 메모리에 격납한다.
인 프린트 처리를 실행하는 호스트 장치는 다음으로, 미리 호스트 장치 내의 메모리에 격납 완료된 프라이머리 로크 키(LKs)를 암호 처리 키로 한 수신 난수(Rms)의 암호 처리: E(LKs, Rms)를 실행하여, 그 결과 데이터와 프라이머리 ID(IDs)를 스탠다드 로크 커맨드와 함께 정보 기억 장치에 송신한다. 또한, 이 로크 처리는 이미 서브 로크 키(LKen)에 의한 엑스포트 로크가 이루어지고 있는 정보 기억 장치에 대하여 더욱이 프라이머리 로크 키(LKs)에 의한 스탠다드 로크를 거는 처리이기 때문에 오버 로크 처리라 부른다.
호스트 장치로부터 프라이머리 ID(IDs)와 암호화 데이터: E(LKs, Rms)를 수신한 정보 기억 장치는 우선 수신한 프라이머리 ID(IDs)에 대하여, 로크 마스터 키(LMK)를 적용한 해쉬치 산출 처리에 의해, 프라이머리 ID(IDs)에 대응하는 프라이머리 로크 키(LKs)를 산출한다. 즉,
LKs=H(LMK, IDs)
에 의해, 프라이머리 ID(IDs)에 대응하는 프라이머리 로크 키(LKs)를 산출한다.
더욱이, 정보 기억 장치는 자기의 메모리에 격납한 난수(Rms)에 대하여, 상술한 해쉬치 산출에 의해 구한 프라이머리 로크 키(LKs)를 적용한 암호 처리: E(LKs, Rms)를 실행하여, 호스트 장치로부터 수신한 암호 처리 데이터: E(LKs, Rms)와 일치하는지 여부의 대조 처리를 실행한다.
호스트 장치로부터의 수신 데이터: E(LKs, Rms)와, 자신이 산출한 암호 처리 데이터: E(LKs, Rms)가 일치하면, 정당한 프라이머리 ID(IDs)와, 프라이머리 로크 키(LKs)의 셋 데이터로서의 프라이머리 키 셋[IDs, LKs]을 가지는 호스트 장치로부터의 오버 로크 처리 요구라고 판정하여 오버 로크 처리를 실행하여, 오버 로크 완료 통지를 호스트 장치에 대하여 송신한다.
호스트 장치로부터의 수신 데이터: E(LKs, Rms)와, 자신이 산출한 암호 처리 데이터: E(LKs, Rms)가 불일치인 경우는, 정당한 프라이머리 ID(IDs)와, 프라이머리 로크 키(LKs)의 셋 데이터로서의 프라이머리 키 셋[IDs, LKs]을 가지는 호스트 장치에서는 없다고 판정하고, 부정 기기로부터의 오버 로크 처리 요구라고 판정하여, 오버 로크 처리를 하지 않고 에러 통지를 호스트 장치에 송신한다.
또한, 정보 기억 장치가 실행하는 오버 로크 처리는 엑스포트 로크 상태에 더욱이 스탠다드 로크를 중복하여 행한 상태로 하는 것으로, 정보 기억 장치의 로크 스테이터스 플래그는 도면에 도시하는 바와 같이, 엑스포트 로크가 유효한 상태를 도시하는 EL=1이 NVM, RAM에 각각 설정되고, 더욱이, 오버 로크 처리에 의해 스탠다드 로크가 유효한 상태를 도시하는 SL=1이 RAM에 설정된다. 또한, RAM에 설정된 플래그 정보는 전원 오프 이전에 NVM에 카피된다.
더욱이, 오버 로크 완료 통지를 수신한 호스트 장치는 인 프린트 처리 및 로크 해제를 계속하여 행하는 것으로 한다. 호스트 장치는 다시 난수 발성 커맨드를 정보 기억 장치에 송신한다.
난수 발생 커맨드를 수신한 정보 기억 장치는 새롭게 제 2 난수(Rms2)의 발 생 처리를 실행하고,
발생 난수(Rms2)와,
스탠다드 로크를 실행한 호스트 장치의 프라이머리 ID(IDs)와,
엑스포트 로크 처리에 적용된 서브 ID(IDen)와, 더욱이,
서브 ID(IDen)에 대응하는 서브 로크 키(LKen)를 프라이머리 ID(IDs)에 대응하는 프라이머리 로크 키(LKs)에 의해 암호화한 암호화 데이터: E(LKs, LKen)의 연결 데이터,
즉,
IDs, Rms2, IDen, E(LKs, LKen)
를 호스트 장치에 대하여 송신한다. 또한, 정보 기억 장치는 발생 난수(Rms2)를 제어부 내의 RAM 등의 메모리에 격납해 둔다.
정보 기억 장치로부터 데이터: IDs, Rms2, IDen, E(LKs, LKen)를 수신한 호스트 장치는 우선 암호화 데이터: E(LKs, LKen)를 자신의 메모리에 격납된 프라이머리 로크 키(LKs)를 적용하여 복호하여, 서브 로크 키(LKen)를 취득한다. 이것은 앞서 취득한 서브 ID(IDen)에 대응하는 서브 로크 키(LKen)로, 취득한 서브 키 셋[IDen, LKen]을 메모리에 격납한다. 이 인 프린트 수속에 의해, 이 호스트 장치는 그룹 No.n의 그룹에 속할 수 있다.
다음으로, 호스트 장치는 정보 기억 장치의 로크 해제 처리를 계속하여 실행한다. 호스트 장치는 정보 기억 장치로부터 수신한 암호화 데이터: E(LKs, LKen)에 대한 프라이머리 로크 키(LKs)를 적용한 복호에 의해 취득한 서브 로크 키(LKen)에 근거하여, 정보 기억 장치로부터 수신한 난수(Rms2)의 암호화 처리를 실행하여, 암호화 데이터: E(LKen, Rms2)를 생성하고, 언로크 커맨드와 함께 정보 기억 장치에 송신한다.
호스트 장치로부터 언로크 커맨드와 함께 암호화 데이터: E(LKen, Rms2)를 수신한 정보 기억 장치는 우선 자신의 메모리에 격납 완료된 서브 ID(IDen)에 대하여, 로크 마스터 키(LMK)를 적용한 해쉬치 산출 처리에 의해, 서브 ID(IDen)에 대응하는 서브 로크 키(LKen)를 산출한다. 즉,
LKen=H(LMK, IDen)
에 의해, 서브 ID(IDen)에 대응하는 서브 로크 키(LKen)를 산출한다.
더욱이, 정보 기억 장치는 자기의 메모리에 격납한 난수(Rms2)에 대하여, 상술한 해쉬치 산출에 의해 구한 서브 로크 키(LKen)를 적용한 암호 처리: E(LKen, Rms2)를 실행하여, 호스트 장치로부터 수신한 암호 처리 데이터: E(LKen, Rms2)와 일치하는지 여부의 대조 처리를 실행한다.
호스트 장치로부터의 수신 데이터: E(LKen, Rms2)와, 자신이 산출한 암호 처리 데이터: E(LKen, Rms2)가 일치하면, 정당한 서브 ID(IDen)와, 서브 로크 키(LKen)의 셋 데이터를 가지는 호스트 장치로부터의 로크의 해제, 즉 언로크 처리 요구라고 판정하여 언로크 처리를 실행하여, 언로크 완료 통지를 호스트 장치에 대하여 송신한다.
호스트 장치로부터의 수신 데이터: E(LKen, Rms2)와, 자신이 산출한 암호 처리 데이터: E(LKen, Rms2)가 불일치인 경우는, 정당한 서브 ID(IDen)와, 서브 로크 키(LKen)의 셋 데이터로서의 서브 키 셋[IDen, LKen]을 가지는 호스트 장치는 아니라고 판정하여, 부정 기기로부터의 언로크 요구라고 판정하여, 언로크 처리를 하지 않고 에러 통지를 호스트 장치에 송신한다.
언로크 처리에 의해, 로크 스테이터스 플래그는 EL=1에서 EL=0으로 변경되고, 또한 엑스포트 로크에 대한 오버 로크로서 설정된 스탠다드 로크도 해제되어 SL=1에서 SL=0으로 변경된다. 즉, 스탠다드 로크는 엑스포트 로크의 해제와 더불어 해제된다.
또한, 로크 스테이터스 플래그의 변경 시퀀스는 우선 제어부 내의 RAM의 격납 플래그가 재기록되고, 그 후, 적당히, 예를 들면 전원 오프 실행 전에 NVM에 RAM 내의 플래그 정보가 카피되어, 전원 재투입 시에는 NVM의 플래그 정보가 RAM에 카피되는 시퀀스로, 제어부는 RAM의 플래그 정보에 근거하는 액세스 제한 처리를 실행한다.
다음으로, 도 14 및 도 15에 도시하는 플로 차트를 참조하여, 엑스포트 로크 처리에 의한 로크가 이루어지고 있는 정보 기억 장치로부터 서브 로크 키(LKen)와, 서브 ID(IDen)로 이루어지는 서브 키 셋[IDen, LKen]을 취득하는 인 프린트 처리와, 엑스포트 로크 처리에 의한 로크가 이루어지고 있는 정보 기억 장치의 로크를 해제하는 언로크 처리 순서에 대해서 설명한다.
스텝 S401에 있어서, 정보 기억 장치로서의 메모리 카드가 호스트 장치로부터의 난수 발생 요구 커맨드 수신에 근거하여, 난수(Rsm)를 발생한다. 발생한 난수는 스텝 S402에 있어서, 앞서 엑스포트 로크 처리를 실행한 호스트 장치가 정보 기억 장치에 송신하여, 정보 기억 장치의 메모리부의 엑스포트 로크 키 셋 격납 영역에 격납된 서브 ID(IDen)와 함께 호스트 장치에 의해서 판독된다. 호스트 장치는 이 시점에서 서브 키 셋[IDen, LKen] 중의 서브 ID(IDen)를 취득한다.
호스트 장치는 메모리 카드로부터 판독한 서브 ID(IDen)와 자기의 프라이머리 ID(IDs)가 일치하지 않는다는 확인에 의해, 정보 기억 장치가 스탠다드 로크 상태가 아니라, 엑스포트 로크 상태에 있다고 판단한다. 호스트 장치는 다음으로, 스텝 S403에 있어서, 오버 로크로서의 스탠다드 로크 커맨드와 함께 수신 난수(Rms)를 호스트 장치의 프라이머리 로크 키(LKs)로 암호화한 데이터: E(LKs, Rms)와, 자기의 프라이머리 ID(IDs)를 정보 기억 장치로서의 메모리 카드에 송신한다.
스텝 S404에 있어서, 정보 기억 장치(메모리 카드)는 호스트 장치로부터 수신한 프라이머리 ID(IDs)와, 암호화 데이터: E(LKs, Rms)를 정보 기억 장치 내의 메모리에 기록한다. 스텝 S405에 있어서, 메모리 카드는 수신한 프라이머리 ID(IDs)에 대하여, 자신의 메모리에 격납한 로크 마스터 키(LMK)를 적용하여 해쉬치 산출, 즉,
H(LMK, IDs)=LKs
를 실행하여, 프라이머리 ID(IDs)에 대응하는 프라이머리 로크 키(LKs)를 산출한다.
더욱이, 메모리 카드는 산출한 프라이머리 로크 키(LKs)에 근거하여, 앞서 스텝 S401에서 발생한 난수(Rms)의 암호화 처리를 실행하여, 암호화 데이터: E(LKs, Rms)를 대조용 데이터로서 산출한다.
다음으로, 메모리 카드는 스텝 S406에 있어서, 스텝 S405에서 산출한 암호화 데이터: E(LKs, Rms)와, 스텝 S403에서 스탠다드 로크 커맨드와 함께 호스트 장치로부터 수신하여, 스텝 S404에서, 메모리에 격납한 암호화 데이터: E(LKs, Rms)와의 비교 대조 처리[E(LKs, Rms)=E(LKs, Rms)?]를 실행한다.
이 비교 대조 처리에 있어서, 양 값이 같으면, 호스트 장치는 정당한 정확한 프라이머리 ID(IDs)와 프라이머리 로크 키(LKs)의 셋 데이터로서의 프라이머리 키 셋[IDs, LKs]을 보유한 정당한 기기라고 판정하여, 스텝 S407에 있어서 스탠다드 로크 커맨드에 따른 스탠다드 로크 처리를 실행한다. 이것은 엑스포트 로크 상태에 더욱이 스탠다드 로크를 중복하여 행하는 오버 로크 처리이다. 정보 기억 장치의 로크 스테이터스 플래그는 엑스포트 로크, 스탠다드 로크가 모두 유효한 상태를 도시하는 EL=1, SL=1이 RAM에 설정된다.
한편, 스텝 S406의 비교 대조 처리에 있어서, 양 값이 같지 않다고 판정되면, 스텝 S408에 있어서, 스탠다드 로크 커맨드를 송신하여 온 호스트 장치는 정당한 프라이머리 ID(IDs)와 프라이머리 로크 키(LKs)의 셋 데이터로서의 프라이머리 키 셋[IDs, LKs]을 보유한 호스트 장치는 아니라고 판정하여, 오버 로크 처리를 실행하지 않고, 에러 통지를 호스트 장치에 대하여 송신한다.
스텝 S407의 오버 로크 처리로서의 스탠다드 로크가 행하여지고, 더욱이, 인 프린트 처리, 로크 해제를 실행할 경우는, 도 15의 스텝 S501로 진행한다.
오버 로크 완료 통지를 수신한 호스트 장치는 다시 난수 발생 커맨드를 정보 기억 장치에 송신하여, 난수 발생 커맨드를 수신한 정보 기억 장치는 스텝 S501에 있어서, 새롭게 제 2 난수(Rms2)의 발생 처리를 실행한다.
스텝 S502에 있어서, 호스트 장치는
난수(Rms2)와,
스탠다드 로크를 실행한 호스트 장치의 프라이머리 ID(IDs),
서브 ID(IDen), 더욱이,
서브 lD(IDen)에 대응하는 셋 데이터로서의 서브 로크 키(LKen)를 프라이머리 ID(IDs)에 대응하는 셋 데이터로서의 프라이머리 로크 키(LKs)에 의해 암호화한 암호화 데이터: E(LKs, LKen),
이들 연결 데이터, 즉, [IDs, Rms2, IDen, E(LKs, LKen)]를 정보 기억 장치로부터 판독한다.
스텝 S503에 있어서, 호스트 장치는 정보 기억 장치에 대한 로크 해제 요구로서의 언로크 커맨드를 송신한다. 호스트 장치는 이 언로크 커맨드에 암호화 데이터 E(LKen, Rms2)를 아울러 송신한다.
암호화 데이터 E(LKen, Rms2)의 생성 수법은 이하의 순서에 따른 것이다. 스텝 S502에 있어서, 정보 기억 장치로부터 데이터: IDs, Rms2, IDen, E(LKs, LKen)를 판독한 호스트 장치는 우선 암호화 데이터: E(LKs, LKen)를 자신의 메모리에 격납된 프라이머리 로크 키(LKs)를 적용하여 복호하여, 서브 로크 키(LKen)를 취득한다. 이것은 앞서 취득한 서브 ID(IDen)에 대응하는 서브 로크 키(LKen)이다. 다음으로, 호스트 장치는 서브 로크 키(LKen)에 근거하여, 정보 기억 장치로 부터 수신한 난수(Rms2)의 암호화 처리를 실행하여, 암호화 데이터: E(LKen, Rms2)를 생성한다.
또한, 호스트 장치는 취득한 서브 키 셋:[IDen, LKen]을 메모리에 격납하여, 인 프린트 처리는 완료한다. 즉, 인 프린트 처리에 의해, 이 호스트 장치는 그룹 No.n의 그룹에 속한다.
스텝 S504에 있어서, 호스트 장치로부터 암호화 데이터: E(LKen, Rms2)를 수신한 정보 기억 장치는 수신 데이터: E(LKen, Rms2)를 메모리에 기록한다. 더욱이 스텝 S505에 있어서, 대조용 데이터 산출을 실행한다.
대조용 데이터의 산출 처리는 이하의 순서로 실행한다. 우선, 자신의 메모리에 격납 완료된 서브 ID(IDen)에 대하여, 로크 마스터 키(LMK)를 적용한 해쉬치 산출 처리에 의해, 서브 ID(IDen)에 대응하는 서브 로크 키(LKen)를 산출한다. 즉,
LKen=H(LMK, IDen)
에 의해, 서브 ID(IDen)에 대응하는 서브 로크 키(LKen)를 산출한다. 더욱이, 스텝 S501에서 발생하여 메모리에 격납한 난수(Rms2)에 대하여, 상술한 해쉬치 산출에 의해 구한 서브 로크 키(LKen)를 적용한 암호 처리: E(LKen, Rms2)를 실행하여 대조용 데이터를 생성한다.
스텝 S506에 있어서, 정보 기억 장치는 대조용 데이터: E(LKen, Rms2)와, 호스트 장치로부터 수신한 암호 처리 데이터: E(LKen, Rms2)와 일치하는지 여부의 대조 처리를 실행한다.
호스트 장치로부터의 수신 데이터: E(LKen, Rms2)와, 자신이 산출한 암호 처리 데이터: E(LKen, Rms2)가 일치하면, 정당한 서브 ID(IDen)와, 서브 로크 키(LKen)의 셋 데이터로서의 서브 키 셋[IDen, LKen]을 갖는 호스트 장치로부터의 로크 해제, 즉 언로크 처리 요구라고 판정하여, 스텝 S507로 진행하여, 언로크 처리를 실행하여, 언로크 완료 통지를 호스트 장치에 대하여 송신한다. 불일치인 경우는, 정당한 서브 키 셋[IDen, LKen]을 갖는 호스트 장치는 아니라고 판정하고, 부정 기기로부터의 언로크 처리 요구라고 판정하여, 언로크 처리를 하지 않고 스텝 S508에 있어서, 에러 통지를 호스트 장치에 송신한다.
본 처리예에 따르면, 복수의 호스트 장치가 공통된 서브 키 셋[IDen, LKen]을 보유하여, 1개의 정보 기억 장치(메모리 카드)를 이용한 로크, 언로크가 가능해진다. 또한, 서브 키 셋[IDen, LKen]은 엑스포트 로크를 실행함으로써, 정보 기억 장치를 통해 다른 호스트 장치에 카피 격납하는 것이 가능하여, 유연한 그룹 형성이 가능해진다. 또한, 서브 키 셋[IDen, LKen]의 호스트 장치에 대한 카피, 즉 인 프린트에 있어서는, 정당한 프라이머리 ID(IDs)와 프라이머리 로크 키(LKs)를 소유하여, 오버 로크 처리가 실행 가능한 것이 조건이 되기 때문에, 부정 기기에 대한 서브 키 셋[IDen, LKen]의 카피(인 프린트)는 방지 가능해진다.
또한, 앞서 도 10c를 참조하여 설명한 바와 같이, 서브 키 셋[IDen, LKen]을 적용한 스탠다드 로크 처리(=그룹 로크 처리)의 실행도 가능하고, 이 그룹 로크 처리를 실행한 경우는, 서브 키 셋[IDen, LKen]은 정보 기억 장치의 스탠다드 로크 키 격납 영역(도 10 참조)에 격납되어, 다른 호스트 장치에 대한 카피 출력은 이루 어지지 않는다. 즉, 이미 동일한 서브 키 셋[IDen, LKen]을 취득 완료된 호스트 장치만이 인 프린트 처리를 동반하지 않는 통상의 언로크 처리에 의해 액세스 가능해진다.
[로크 형태 플래그의 유지 구성]
상술한 「기기 그룹에서의 로크 처리 구성」에 있어서, 엑스포트 로크 상태에 있는 정보 기억 장치에 대하여 언로크를 실행하면, 모든 로크 스테이터스(상태) 플래그가 리셋, 즉, 엑스포트 로크 해제를 도시하는 EL=0, 스탠다드 로크 해제를 도시하는 SL=0이 NVM, RAM에 설정된다. 이와 같이, EL=0, SL=0인 설정대로, 전원을 오프로 하고, 그 후, 전원을 다시 온으로 한 경우, NVM에는 EL=0, SL=0이 설정되어 있기 때문에, 제어부의 RAM도 SL=0, EL=0의 설정 상태가 되고, 모든 로크 상태가 해방되어, 각 호스트 장치가 자유롭게 메모리에 대한 액세스를 하는 것이 가능해진다.
이와 같이 로크가 해제된 정보 기억 장치는 분실, 도난 등에 의해, 부정한 제 3자가 취득한 경우, 자유롭게 메모리 액세스가 가능해진다. 이러한 상황은 비밀 정보를 격납하는 경우에는 바람직하다고는 할 수 없다.
이하에 설명하는 예는 상기 문제점을 감안하여 이루어진 것으로, 호스트 장치가 언로크 처리에 의해, 엑스포트 로크 해제를 한 후에 전원을 오프로 한 경우에 있어서도 엑스포트 로크 상태를 유지하는 구성으로 한 것으로, 정보 기억 장치가 다시 전원 온이 된 경우, 엑스포트 로크의 해제 처리를 조건으로 하여 메모리 액세 스를 허용하는 구성으로 한 예이다.
본 구성예는 앞서 「기기 그룹에서의 로크 처리 구성」에 있어서 도 9를 참조하여 설명한 것과 마찬가지로, 호스트 장치 내의 ROM 등의 메모리에는 프라이머리 ID(IDs), 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]이 격납되고, 더욱이, 엑스포트 로크 처리에 적용 가능한 서브 ID와 서브 로크 키의 셋 데이터로서의 서브 키 셋[IDen, LKen](n=1, 2, ··)이 1이상 격납 가능한 구성으로, 메모리 카드 등의 정보 기억 장치 내의 제어부 내의 ROM 등의 메모리에는 로크 마스터 키(LMK)가 격납된다. 정보 기억 장치에 격납되는 로크 마스터 키(LMK)와, 호스트 장치에 격납되는 ID(IDs 및 IDen을 포함한다)와, 로크 키(LK(LKs와 LKen을 포함한다))는 이하의 관계를 가진다.
LK=H(LMK, ID)
호스트 장치에 의한 프라이머리 ID(IDs), 프라이머리 로크 키(LKs)에 근거하는 로크 처리, 언로크 처리는 상술한 [로크 마스터 키(LMK)에 근거하는 처리]에 있어서 설명한 것과 동일한 시퀀스에 의해 실행되고, 또한, 서브 ID(IDen), 서브 로크 키(LKen)에 근거하는 로크 처리는 상술한 [기기 그룹에서의 로크 처리 구성]에 있어서 설명한 것과 동일한 시퀀스에 의해 실행된다. 이하, 본 처리예에 있어서의 인 프린트 및 언로크 처리에 있어서의 로크 스테이터스 플래그의 유지 처리에 대해서 설명한다.
(인 프린트 및 언로크 처리에 있어서의 로크 스테이터스 플래그의 유지 처 리)
호스트 장치가 엑스포트 로크 처리에 의한 로크가 이루어지고 있는 정보 기억 장치로부터 서브 로크 키(LKen)와, 서브 ID(IDen)로 이루어지는 서브 키 셋[IDen, LKen]을 취득하는 인 프린트 처리와, 엑스포트 로크 처리에 의한 로크가 이루어지고 있는 정보 기억 장치의 로크를 해제하는 언로크 처리, 더욱이, 정보 기억 장치가 실행하는 로크 스테이터스 플래그의 유지 처리에 대해서 도 16 이하를 참조하여 설명한다.
도 16에 도시하는 시퀀스도는 앞서 [기기 그룹에서의 로크 처리 구성]에 있어서 도 13을 참조하여 설명한 호스트 장치와, 정보 기억 장치간에서 실행되는 인 프린트 처리와 엑스포트 로크의 언로크 처리의 처리 시퀀스도와 기본적으로 동일하고, 처리 순서도 같다.
단, 시퀀스도의 최종 처리로서 실행되는 언로크 완료 통지 후에, 정보 처리 장치가 NVM 플래그 설정 처리를 실행하는 점이 다르다. 즉, 상술한 [기기 그룹에서의 로크 처리 구성]에 있어서 설명한 처리에서는, 엑스포트 로크의 언로크가 실행되면, 엑스포트 로크 해제를 도시하는 EL=0, 스탠다드 로크 해제를 도시하는 SL=0이 NVM, RAM에 설정되어 있었다. 그러나, 본 구성에서는, NVM에 엑스포트 로크, 스탠다드 로크가 이루어지고 있는 것을 도시하는 EL=1, SL=1을 설정한다.
도 17을 참조하여, NVM에 대한 로크 스테이터스 플래그 설정 처리의 상세함에 대해서 설명한다. 도 17의 처리 플로는 도 16(도 13과 동일)의 시퀀스도에 있어서 로크 해제 요구(언로크 커맨드)를 수신한 이후의 정보 기억 장치에 있어서의 처리 순서를 설명하는 플로이다.
우선, 스텝 S601에 있어서, 정보 기억 장치(메모리 카드)가 로크의 해제 요구(언로크 커맨드)를 수신하면, 정보 기억 장치는 언로크 커맨드의 실행 가부를 판정하기 위한 검증 처리로서, 스텝 S602에 있어서, 호스트 장치로부터 언로크 커맨드와 함께 수신한 암호화 데이터: E(LKen, Rms2)와, 자신이 생성한 암호화 데이터: E(LKen, Rms2)와의 대조 처리를 실행한다. 이 처리는 [기기 그룹에서의 로크 처리 구성]에 있어서 설명한 것과 동일한 처리이다.
호스트 장치로부터의 수신 데이터: E(LKen, Rms2)와, 자신이 산출한 암호 처리 데이터: E(LKen, Rms2)가 일치하지 않는 경우는, 스텝 S607에 있어서, 에러 통지를 호스트에게 돌려주고 처리를 종료한다.
한편, 호스트 장치로부터의 수신 데이터: E(LKen, Rms2)와, 자신이 산출한 암호 처리 데이터: E(LKen, Rms2)가 일치한 경우는, 정당한 서브 키 셋[IDen, LKen]을 갖는 호스트 장치로부터의 언로크 처리 요구라고 판정하여, 스텝 S603에 있어서, 언로크 처리를 실행하여, 언로크 완료 통지를 호스트 장치에 대하여 송신한다.
더욱이, 정보 기억 장치(메모리 카드)는 스텝 S604에 있어서, 제어부의 RAM에 격납되어 있는 로크 스테이터스 플래그(SL=1, EL=1)를 NVM에 카피하여, NVM의 로크 스테이터스 플래그를 SL=1, EL=1에 설정한다. SL=1은 스탠다드 로크가 이루어져 있는 것, EL=1은 엑스포트 로크가 이루어져 있는 것을 도시한다.
스텝 S604의 플래그 카피 처리가 종료하면, 더욱이, 스텝 S605에 있어서, 제 어부의 RAM의 로크 스테이터스 플래그(SL=1, EL=1)의 리셋, 즉 RAM의 로크 스테이터스 플래그를 SL=0, EL=0에 설정한다. SL=0은 스탠다드 로크가 이루어져 있지 않은 것, EL=0은 엑스포트 로크가 이루어져 있지 않은 것을 도시한다.
이 설정 상태, 즉 RAM의 로크 스테이터스 플래그가 SL=0, EL=0인 설정에 있어서는 메모리 액세스가 자유롭게 실행 가능해져, 언로크 처리를 실행한 호스트 장치는 정보 기억 장치의 메모리(도 3의 메모리부(220))에 대한 액세스가 가능해진다.
그러나, 그 후, 정보 기억 장치(메모리 카드)가 호스트 장치로부터 빠지는 것 등에 의해, 정보 기억 장치(메모리 카드)에 대한 전원 공급이 스톱하고, 다시 전원 온이 된 시점에서, NVM에 설정된 로크 스테이터스 플래그(SL=1, EL=1) 정보가 제어부의 RAM에 로드되어, 제어부는 RAM에 설정된 로크 스테이터스 플래그(SL=1, EL=1)에 근거하는 처리를 행하게 된다. 도 18의 처리 플로를 참조하여, 정보 기억 장치의 전원 재투입 후의 처리에 대해서 설명한다.
도 18의 처리 플로는 일단 정보 기억 장치의 전원이 오프가 되어, 다시 전원 온 상태로 이행한 경우의 처리를 도시하고 있다.
스텝 S701에 있어서, 정보 기억 장치(메모리 카드)가 호스트 장치에 셋되는 것 등에 의해, 전원 오프 상태에서 온 상태로 이행하면, 정보 기억 장치는 스텝 S702에 있어서, NVM에 격납되어 있는 로크 스테이터스 플래그(SL, EL)를 제어부의 RAM에 카피한다. 제어부는 RAM의 스테이터스 플래그에 따라서 제어를 실행한다.
스텝 S703에 있어서, 접속된 호스트 장치로부터 메모리 액세스 요구 혹은 언 로크 커맨드를 입력하면, 정보 기억 장치의 제어부는 RAM의 로크 스테이터스 플래그를 참조한다.
스텝 S704에 있어서, RAM의 스테이터스 플래그가 EL=1이라고 판정되면, 스텝 S705에 있어서, 로크 해제 처리(도 13 내지 도 15 참조)를 실행한다. 이 때, 호스트가 그 정보 기억 장치의 엑스포트 로크에 적용된 서브 키 셋[IDen, LKen]을 갖고 있지 않은 경우는, 인 프린트 처리를 실행하는 것이 필요해진다. 이 처리에 있어서, 앞서 도 13 내지 도 15를 참조하여 설명한 검증에 의해 정당한 호스트 장치로부터의 언로크 요구인 것이 확인되면 언로크 처리가 실행(스텝 S708: Yes)되어, 스텝 S709에 있어서 메모리 액세스가 허가된다. 검증에 의해 부정한 호스트 장치로부터의 언로크 요구라고 판정되면 언로크 처리가 실행되지 않고(스텝 S708: No), 에러 통지(S710)가 이루어진다.
또한, 스텝 S704에 있어서, RAM의 스테이터스 플래그가 EL=0이라고 판정되면, 스텝 S706에 있어서, RAM의 스테이터스 플래그가 SL=1인지의 여부가 판정된다. RAM의 스테이터스 플래그가 SL=1이라고 판정되면, 스텝 S707에 있어서, 스탠다드 로크 해제 처리(도 7 내지 도 8 참조)를 실행한다. 앞서 도 7 내지 도 8을 참조하고 설명한 검증에 의해 정당한 호스트 장치로부터의 언로크 요구인 것이 확인되면 언로크 처리가 실행(스텝 S708: Yes)되어, 스텝 S709에 있어서 메모리 액세스가 허가된다. 검증에 의해 부정한 호스트 장치로부터의 언로크 요구라고 판정되면 언로크 처리가 실행되지 않고(스텝 S708: No), 에러 통지(S710)가 이루어진다.
스텝 S704에 있어서, RAM의 스테이터스 플래그가 EL=0이라고 판정되고, 스텝 S706에 있어서, RAM의 스테이터스 플래그가 SL=0이라고 판정되면, 로크 상태가 아닌 것이 되어, 스텝 S709으로 진행하여, 메모리 액세스가 허가받게 된다.
앞서, 도 16, 도 17을 참조하여 설명한 바와 같이, 어느 호스트 장치에 의해, 엑스포트 로크가 해제되고, 그 후 전원이 오프가 된 경우는, NVM의 로크 스테이터스 플래그가 SL=1, EL=1에 설정되고, 그 후, 전원 온이 된 시점에서, RAM의 로크 스테이터스 플래그가 SL=1, EL=1에 설정되게 되어, 도 18의 처리 플로에 있어서의 스텝 S704의 판정(EL=1?)이 Yes가 되어, 스텝 S705의 처리, 즉, 엑스포트 로크 해제 처리(도 13 내지 도 15 참조)를 조건으로 한 메모리 액세스 허가 처리가 행하여지게 된다.
상술한 바와 같이, 본 처리예에 있어서는, 로크 처리 또는 언로크 처리에 적용 가능한 키 셋의 외부 출력이 허용되는 로크 상태인 엑스포트 로크(EL) 상태인지의 여부 및 로크 처리 또는 언로크 처리에 적용 가능한 키 셋의 외부 출력이 허용되지 않는 로크 상태인 스탠다드 로크(SL) 상태인지의 여부에 대해서 판별 가능한 상태 정보로 이루어지는 로크 스테이터스 플래그의 언로크 처리 전의 정보를 NVM에 격납하는 구성으로 하였기 때문에, 정보 기억 장치의 전원 오프 후의 전원 재투입 시에, NVM에 격납된 플래그에 근거하여, 언로크 처리 전의 로크 상태를 충실하게 재현하는 것이 가능해진다.
본 처리예에 의하면, 예를 들면, 어느 호스트 장치가 엑스포트 로크 해제를 한 경우라도, 엑스포트 로크 상태를 유지하여, 정보 기억 장치의 전원 오프 후, 다시 전원 온이 된 경우에 있어서, 로크의 해제 처리를 조건으로 한 메모리 액세스 허가가 가능해진다. 따라서, 정당한 프라이머리 키 셋[IDs, LKs]을 갖는 호스트 장치가 상술한 오버 로크 처리를 포함하는 소정의 수속을 실행한 경우에만 로크 해제가 가능해져, 부정한 장치로부터의 액세스 배제가 가능해진다.
[특정 데이터 영역 판독 검출에 의한 자동 로크 처리]
다음으로, 정보 기억 장치(메모리 카드)로부터 호스트 장치에 대한 데이터 판독을 정보 기억 장치의 제어부에 있어서 감시하여, 어느 미리 정해진 데이터 영역(예를 들면 특정 클러스터)의 판독 실행을 트리거로 하여, 로크 처리를 실행하는 처리예에 대해서 설명한다.
정보 기억 장치(메모리 카드)의 메모리부(도 2의 메모리부(220))에 격납되는 데이터 판독은 예를 들면 격납 데이터에 따라서 생성되는 재생 관리 파일(PBLIST)에 의해 관리되고, 제어부에서는, 재생 관리 파일에 따라서, 메모리부(도 2의 메모리부(220))로부터 데이터를 판독하여 호스트 장치에 출력한다.
데이터가 판독될 경우, 정보 기억 장치의 제어부는 판독 데이터 감시를 행하는 것이 가능하다. 예를 들면, ATRAC3으로 압축된 오디오 데이터는 소정의 데이터 단위로서의 클러스터를 판독 데이터 단위로서 감시할 수 있다.
도 19에 도시하는 바와 같이, ATRAC3으로 압축된 오디오 데이터는 최소 데이터 단위로서의 SU(사운드 유닛)를 복수 모은 클러스터, 더욱이 복수의 클러스터에 의해 파트가 구성된다. SU(사운드 유닛)는 44.1kHz의 샘플링 주파수로 얻어진 1024샘플분(1024×16비트×2채널)의 오디오 데이터를 약 1/10로 압축한 수백 바이 트의 데이터이고, 클러스터는 복수의 SU(예를 들면 SU 42개)에 의해 구성되는 데이터이다. 1클러스터가 42개의 SU로 구성되는 경우, 1클러스터에서 약 1초의 소리를 나타낼 수 있다.
각 클러스터에는 각 클러스터 고유의 논리 번호가 부여되어, 논리 번호에 의한 관리가 이루어진다. 정보 기억 장치의 제어부(210)(도 3 참조)는 특정 클러스터의 판독 유무를 논리 번호에 근거하여 체크할 수 있다. 예를 들면, 출력 데이터가 있는 음악 콘텐츠일 때, 그 음악 콘텐츠의 인트로덕션 혹은 저음(さび) 부분에 상당하는 1이상의 클러스터의 논리 번호를 그 콘텐츠에 대응하는 로크 대응 클러스터로서 추출하여, 추출한 클러스터 논리 번호를 콘텐츠에 대응하는 등록 정보로서 설정하여, 콘텐츠를 격납하는 메모리부(플래시 메모리)와 더불어 격납한다.
콘텐츠 판독 시에, 등록 정보를 정보 기억 장치의 제어부 내의 메모리(RAM)에 1차 격납하고, 제어부에 있어서, 판독 콘텐츠의 클러스터와, 로크 대응 클러스터와의 대조 처리를 실행하여, 판독 콘텐츠의 클러스터가 로크 대응 클러스터의 논리 번호와 일치한 경우에, 로크 처리를 실행한다. 또한, 로크 처리의 타이밍은 로크 대응 클러스터의 판독 개시 시점, 로크 대응 클러스터의 판독 종료 시점, 혹은 로크 대응 클러스터를 가지는 콘텐츠 전체의 판독 종료 시점 등, 여러 가지 설정이 가능하고, 설정에 따른 검출 처리를 실행하여, 설정 조건 검출에 근거하여 로크 처리를 한다. 로크가 실행된 경우는, 재차 판독은 언로크 처리를 실행하는 것이 필요해진다.
이하, 도 20을 참조하여, 정보 기억 장치의 제어부(210)에 있어서, 메모리부(220)(도 3 참조)로부터 특정 데이터 영역(예를 들면 특정 클러스터)이 판독된 것을 조건으로 하여 로크 처리를 실행하는 처리에 대해서 설명한다.
또한, 도 20의 처리 플로에서는, 간단함을 위해 스탠다드 로크(SL)에 대해서만 기재하고 있지만, 엑스포트 로크(EL)에 대해서도 같은 처리가 가능하다.
우선, 스텝 S801에 있어서, 정보 기억 장치의 전원이 온되면, 스텝 S802에 있어서, NVM에 격납된 로크 스테이터스 플래그가 제어부(210)(도 3 참조)의 RAM(213)에 카피 격납된다. 제어부는 RAM(213)의 스테이터스 플래그에 따른 제어를 실행한다.
스텝 S803에 있어서, 스탠다드 로크가 SL=1인지의 여부, 즉 로크 상태에 있는지의 여부가 판정된다. SL=1인 경우는, 스텝 S804에 있어서 언로크 처리가 실행된다. 언로크 처리는 예를 들면 도 7, 도 8을 참조하여 설명한 처리와 같은 처리이다.
호스트 장치가 정당한 프라이머리 ID와 프라이머리 로크 키를 보유하고 있는 것이 정보 기억 장치에 있어서의 검증 처리에 의해 검증되어, 언로크가 성공하면(S805: Yes), 스텝 S806으로 진행한다. 언로크에 실패한 경우는, 스텝 S810에 있어서 호스트 장치에 대한 에러 통지가 실행되어 처리를 종료한다.
스텝 S806에서는, 언로크 성공에 근거하여, RAM, NVM의 로크 스테이터스 플래그의 갱신, 즉, 로크 해제 상태를 도시하는 SL=0의 설정 처리가 실행된다.
다음으로, 호스트 장치로부터의 데이터 판독이 개시되면, 정보 기억 장치의 제어부는 스텝 S807에 있어서, 미리 설정된 로크 대응 클러스터의 판독 처리의 유 무 감시를 실행한다. 로크 대응 클러스터의 데이터 판독을 검출하면, 스텝 S808에 있어서, 제어부(210)(도 3 참조)의 RAM(213)의 로크 스테이터스 플래그를 로크 상태(SL=1)로 설정한다. 더욱이, 스텝 S809에 있어서, NVM의 로크 스테이터스 플래그를 로크 상태(SL=1)로 설정한다.
이와 같이, 소정의 클러스터의 판독 처리를 함으로써, 로크가 걸리고, 그 후, 다시 판독 처리를 실행할 경우는, 언로크 처리가 필요해진다. 언로크 처리는 로크를 실행한 것과 동일한 프라이머리 ID(lDs)와 프라이머리 로크 키(LKs)를 갖는 호스트 장치만이 가능해져, 로크된 정보 기억 장치(메모리 카드)가 무질서하게 이용되는 것이 방지되게 된다.
또한, 로크 정보는 정보 기억 장치의 전원 오프 시에 해제되는 설정 혹은 상술한 바와 같이, 전원 오프 시에도 로크 스테이터스 플래그를 NVM에 두고, 전원 재투입 시에 NVM의 로크 스테이터스 플래그를 제어부의 RAM에 카피하여, 전원 오프 전의 로크 상태를 유지하여 재현하는 구성으로 하여도 된다.
이와 같이 본 처리예에 있어서는, 언로크 처리 후, 데이터 판독 처리를 실행할 경우, 1번만의 판독을 가능하게 한, 소위 리드 원스(read once)의 액세스 제한 처리 구성이 실현된다.
또한, 도 20의 처리예에서는 스탠다드 로크에 대해서만 도시하였지만, 엑스포트 로크에 있어서도 같은 구성, 즉, 소정의 데이터 영역의 판독을 트리거로 하여 엑스포트 로크를 거는 구성으로 하는 것이 가능하다.
[호스트 장치에 있어서의 로크 상태 제시 구성]
다음으로, 여러 가지 로크 상태를 취할 수 있는 정보 기억 장치에 대한 액세스를 실행하는 호스트 장치에 있어서, 정보 기억 장치의 로크 상태를 검출하기 위한 제시 구성 및 제시 처리에 대해서 설명한다.
도 21에 로크/언로크 전용 기기에 있어서의 로크 상태 제시 인디케이터와, 각종 처리 스위치를 갖는 구성예를 도시한다. 정보 기억 장치로서의 메모리 카드(710)와 데이터 전송 가능한 인터페이스를 갖는 로크/언로크 전용 기기(720)는 로크 상태 인디케이터로서,
로크 해제 상태를 도시하는 [Unlocked] 인디케이터(721)
로크 상태를 도시하는 [Locked] 인디케이터(722)
엑스포트 로크 상태를 도시하는 [E-Locked] 인디케이터(723)
에러 통지를 도시하는 [ERR] 인디케이터(724)를 갖는다.
또한, 각종 처리 요구 스위치로서,
로크 해제 처리 요구 스위치로서의 [Unlock] 스위치(731)
프라이머리 키 셋에 의한 스탠다드 로크 처리 요구 스위치로서의 [P-Lock] 스위치(732)
서브 키 셋에 의한 스탠다드 로크(그룹 로크) 처리 요구 스위치로서의 [G-Lock] 스위치(733)
서브 키 셋에 의한 엑스포트 로크 처리 요구 스위치로서의 [E-Lock] 스위치(734)를 갖는다.
더욱이, 도 21의 (b)에 도시하는 로크/언로크 전용 기기의 예는, 상기 스위치 외에, 엑스포트 로크 상태에 있는 정보 기억 장치에 격납된 서브 ID(IDen)와 서브 로크 키(LKen), 즉 서브 키 셋[IDen, LKen]을 호스트 장치에 격납하는 인 프린트 처리만의 실행 요구 스위치로서의 [Imprint] 스위치(735)를 갖는다.
또한, 도 21에는 로크/언로크 전용 기기의 인디케이터 구성과 처리 요구 스위치 구성예를 도시하였지만, 앞서 설명한 바와 같이, 호스트 장치에는 PC, PDA 등의 정보 처리 장치, DSC 등의 디지털 카메라, 휴대 통신 단말 등의 여러 가지 장치가 포함되며, 이들 장치에 있어서는, 각각의 입력 수단을 통한 정보 기억 장치(메모리 카드)에 대한 커맨드 송출 구성이 가능하다. 또한, 로크 상태 표시 처리도 각각의 기기에 있어서 LCD 등의 디스플레이에 표시하거나 혹은 음성, 알람 등에 의해 통지하는 구성으로 하는 것이 가능하다.
도 22 이하를 참조하여, 호스트 장치에 있어서의 로크 상태 제시 처리 및 호스트 장치로부터 정보 기억 장치(메모리 카드)에 대한 커맨드 송신 처리에 대해서 설명한다.
도 22는, 예를 들면, 호스트 장치에 대하여 정보 기억 장치(메모리 카드)를 접속하였을 때에 실행되는 로크 상태 판독 처리를 설명하는 플로이다. 로크 상태 판독 처리는 유저에 의한 커맨드 입력에 의해 실행하는 구성으로 하여도 되지만, 호스트 장치에 대하여 정보 기억 장치(메모리 카드)를 접속하였을 때에 자동 실행하는 구성으로 하여도 된다.
스텝 S901에 있어서, 로크 상태가 정보 기억 장치로부터 판독된다. 이 상태 정보는 앞서 설명한 정보 기억 장치의 제어부(210)(도 3 참조)의 RAM(213)에 격납된 로크 스테이터스 플래그에 근거한다. 스텝 S902에 있어서, 이 로크 상태 판독 정보에 근거하여, 로크 상태에 대응하는 인디케이터(721 내지 724)가 점등한다. 즉, 스탠다드 로크, 그룹 로크가 실행되어 있는 경우는, 로크 상태를 도시하는 [Locked] 인디케이터(722)가 표시(점등)되고, 엑스포트 로크가 실행되어 있는 경우는, 엑스포트 로크 상태를 도시하는 [E-Locked] 인디케이터(723)가 표시(점등)되고, 로크 상태에 없는 경우는, 로크 해제 상태를 도시하는 [Unlocked] 인디케이터(721)가 표시(점등)된다.
다음으로, 도 23을 참조하여, 로크 처리 요구, 실행에 근거하는 인디케이터 표시 처리에 대해서 설명한다. 로크 처리는 도 21의 처리 요구 스위치(732 내지 734)의 스위치에 의한 입력에 근거하여 실행된다.
프라이머리 ID(IDs)와, 프라이머리 로크 키(LKs)의 프라이머리 키 셋[IDs, LKs]을 적용한 스탠다드 로크 처리 요구인 경우는, [S-Lock] 스위치(732)에 의한 입력, 서브 ID(IDen)와, 서브 로크 키(LKen)의 서브 키 셋[IDen, LKen]을 적용한 엑스포트 로크 처리 요구인 경우는, [E-Lock] 스위치(734)에 의한 입력, 서브 키 셋[IDen, LKen]을 적용한 스탠다드 로크, 즉 그룹 로크 처리 요구인 경우는, [G-Lock] 스위치(733)에 의한 입력을 실행한다.
이들 어느 하나의 입력을 받으면, 스텝 S911에 있어서, 정보 기억 장치(메모리 카드)의 로크 상태를 검출하고, 언로크 상태가 아닌 경우는, 스텝 S914에 있어서, 에러(ERR) 인디케이터 표시를 한다. 언로크 상태인 경우는, 스텝 S912에 있어 서, 스탠다드 로크 처리 또는 엑스포트 로크 처리 또는 그룹 로크 처리 중 어느 하나를 실행하고, 로크 처리 완료 후, 호스트 장치의 대응 로크 인디케이터, 즉, 로크 상태를 도시하는 [Locked] 인디케이터(722) 또는 엑스포트 로크 상태를 도시하는 [E-Locked] 인디케이터(723)의 표시를 실행한다.
다음으로, 도 24를 참조하여, 언로크 처리 시에 있어서의 호스트 장치의 조작, 인디케이터 표시에 대해서 설명한다.
언로크 처리는 도 21에 있어서의 언로크 요구 스위치(731)를 누름으로써 실행된다. 언로크 요구 스위치를 누름으로써, 우선 정보 기억 장치의 로크 상태 검출이 실행된다. 상태 검출은 앞서 설명한 제어부 내의 RAM의 로크 스테이터스 플래그에 근거하여 실행된다. 로크 상태에 없는 경우(스텝 S921: No)는 스텝 S923에 있어서 에러(ERR) 인디케이터(724) 표시를 실행한다.
또한, 스텝 S922의 로크 상태 판독에 있어서, 정보 기억 장치가 엑스포트 로크 상태에 있는지 스탠다드 로크 상태에 있는지가 판정된다. 앞서 설명한 로크 스테이터스 플래그에 근거하여 엑스포트 로크 상태에 있는지 스탠다드 로크 상태에 있는지를 식별한다. 식별 결과에 근거하여, 도 21에 도시하는 로크 상태에 대응하는 인디케이터(721 내지 724)가 점등한다.
우선, 엑스포트 로크인 경우(스텝 S924: Yes)는 앞서 도 16 내지 도 18을 참조하여 설명한 인 프린트 및 언로크 처리를 실행한다. 즉, 스텝 S925에 도시하는 프라이머리 ID(IDs)와 프라이머리 로크 키(LKs)에 의한 오버 로크 처리, 스텝 S926의 서브 ID(IDen)와, 서브 로크 키(LKen)의 인 프린트(입력 격납) 처리, 더욱이, 스텝 S927에 있어서의 서브 ID(IDen)와, 서브 로크 키(LKen)를 적용한 로크 해제 처리이다. 이 처리의 상세함은 앞서 도 16 내지 도 18을 참조하여 설명한 대로이다. 이들 처리에 의해, 로크가 해제되면, 스텝 S928에 있어서, 로크 해제 인디케이터(721)가 표시된다.
스텝 S924에 있어서, 엑스포트 로크 이외의 로크 상태, 즉 스탠다드 로크 상태인 경우는, 스텝 S929에 있어서, 스탠다드 로크가 이루어져 있는지의 여부가 판정되어, 스탠다드 로크가 있는 경우는, 스텝 S930에 있어서, 언로크 처리를 실행한다. 이 언로크 처리에 적용하는 키 셋은 프라이머리 키 셋[IDs, LKs] 혹은 그룹 로크인 경우는, 서브 키 셋[IDen, LKen]이다. 이 처리에 의해, 로크가 해제되면, 스텝 S928에 있어서, 로크 해제 인디케이터(721)가 표시된다.
스텝 S924에 있어서, 엑스포트 로크 이외의 로크 상태로, 스텝 S929에 있어서, 스탠다드 로크가 아니라고 판정되면, 스텝 S931로 진행하여, 에러(ERR) 인디케이터(724)가 표시된다.
이상, 특정한 실시예를 참조하면서, 본 발명에 대해서 상세 해설하여 왔다. 그렇지만, 본 발명의 요지를 일탈하지 않는 범위에서 당업자가 상기 실시예의 수정이나 대용을 할 수 있는 것은 자명하다. 즉, 예시라는 형태로 본 발명을 개시하여 온 것으로, 한정적으로 해석되어서는 안 된다. 본 발명의 요지를 판단하기 위해서는, 첫머리에 기재한 특허 청구 범위 란을 참작하여야 한다.
또한, 명세서 중에 있어서 설명한 일련의 처리는 하드웨어 또는 소프트웨어 혹은 양자의 복합 구성에 의해 실행하는 것이 가능하다. 소프트웨어에 의한 처리 를 실행할 경우는, 처리 시퀀스를 기록한 프로그램을 전용 하드웨어에 조립한 컴퓨터 내의 메모리에 인스톨하여 실행시키거나 혹은 각종 처리가 실행 가능한 범용 컴퓨터에 프로그램을 인스톨하여 실행시키는 것이 가능하다.
예를 들면, 프로그램은 기록 매체로서의 하드 디스크나 ROM(Read 0nly Memory)에 미리 기록해 둘 수 있다. 혹은 프로그램은 플렉시블 디스크, CD-ROM(Compact Disc Read 0nly Memory), M0(Magneto optica1) 디스크, DVD(Digital Versatile Disc), 자기 디스크, 반도체 메모리 등의 림 버블 기록 매체에 일시적 혹은 영속적으로 격납(기록)해 둘 수 있다. 이러한 림 버블 기록 매체는 소위 패키지 소프트웨어로서 제공할 수 있다.
또한, 프로그램은 상술한 바와 같은 림 버블 기록 매체로부터 컴퓨터에 인스톨하는 것 외에, 다운로드 사이트로부터 컴퓨터에 무선 전송하거나 LAN(Local Area Network), 인터넷과 같은 네트워크를 통해 컴퓨터에 유선으로 전송하여, 컴퓨터에서는, 그렇게 하여 전송되어 오는 프로그램을 수신하여, 내장하는 하드 디스크 등의 기록 매체에 인스톨할 수 있다.
또한, 명세서에 기재된 각종 처리는 기재에 따라서 시계열로 실행될 뿐만 아니라, 처리를 실행하는 장치의 처리 능력 혹은 필요에 따라서 병렬적으로 혹은 개별로 실행되어도 된다. 또한, 본 명세서에 있어서 시스템이란 복수의 장치의 논리적 집합 구성으로, 각 구성의 장치가 동일 개체 내에 있는 것에 한하지는 않는다.
이상 설명한 바와 같이, 본 발명의 구성에 의하면, 메모리 카드 등의 정보 기억 장치에 있어서, PC 등의 호스트 장치로서의 정보 처리 장치로부터 입력하는 로크 커맨드에 따라서, (a) 외부 출력을 허용하지 않는 키 셋으로서의 스탠다드 로크 키 셋, (b) 외부 출력을 허용하는 키 셋으로서의 엑스포트 로크 키 셋 중 어느 것인지를 판별하여 각각의 키 셋 정보를 격납함과 동시에, 엑스포트 로크 키 셋인 경우에만, 소정의 검증 성립을 조건으로 하여, 외부 출력을 허용하는 구성으로 하였기 때문에, 정당한 복수의 정보 처리 장치만이 메모리 로크 또는 언로크 처리를 실행 가능하게 하는 구성이 실현된다.
본 발명의 구성에 의하면, 스탠다드 로크 상태인지의 여부, 엑스포트 로크 상태인지의 여부를 판별 가능한 로크 스테이터스 정보에 근거하여, 메모리 액세스 제어를 행하여, 엑스포트 로크 상태에 있는 경우에만, 키 셋의 출력 처리를 실행하는 구성으로 하였기 때문에, 메모리의 사용 양태에 따른 여러 가지 메모리 액세스 제한 처리가 가능해진다.
더욱이, 본 발명의 구성에 의하면, 엑스포트 로크 키 셋의 정보 처리 장치에 대한 출력에 있어서, 정보 처리 장치로부터 입력하는 정보 처리 장치 고유의 키 셋의 검증 처리를 하여, 검증 성립을 조건으로 하여, 키 셋의 출력 처리를 실행하는 구성으로 하였기 때문에, 무제한 메모리 액세스가 방지되어, 시큐어 메모리 액세스 제어가 실현된다.
더욱이, 본 발명의 구성에 의하면, 정보 처리 장치에 대하여, 정보 처리 장치의 고유 ID로서의 프라이머리 ID(IDs)와, 상기 고유 ID에 대응하는 로크 키인 프 라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]과, 엑스포트 로크를 실행 가능한 서브 ID(IDen) 및 상기 서브 ID(IDen)에 대응하여 설정되는 서브 로크 키(LKen)의 데이터 셋에 의해 구성되는 서브 키 셋[IDen, LKen]을 격납하는 구성으로 하였기 때문에, 처리에 따라서 적용 키 셋을 변경함으로써, 처리에 따른 메모리 액세스 제어 구성을 용이하게 실현하는 것이 가능해진다.

Claims (20)

  1. 데이터 기억용 메모리와, 상기 메모리에 대한 액세스 제어를 실행하는 제어부를 갖는 정보 기억 장치로서,
    상기 제어부는,
    정보 처리 장치로부터의 로크 커맨드 및 식별자(ID) 입력에 근거하여, 상기 메모리의 로크 처리를 실행하는 구성을 가짐과 동시에,
    상기 로크 커맨드에 따라서, 상기 식별자(ID)를 포함하는 키 셋이,
    (a) 외부 출력을 허용하지 않는 키 셋으로서의 스탠다드 로크 키 셋,
    (b) 외부 출력을 허용하는 키 셋으로서의 엑스포트 로크 키 셋,
    중 어느 것인지를 판별하여, 상기 판별 정보를 기억 수단에 격납하는 구성을 갖는 것을 특징으로 하는, 정보 기억 장치.
  2. 제 1 항에 있어서,
    상기 정보 기억 장치는,
    정보 기억 장치의 로크 상태의 판별 정보로서 로크 스테이터스 정보를 기억 수단에 격납하는 구성이며,
    상기 로크 스테이터스 정보는 스탠다드 로크 상태인지의 여부 및 엑스포트 로크 상태인지의 여부를 판별 가능한 정보를 포함하며,
    상기 제어부는,
    상기 로크 스테이터스 정보에 근거하여, 정보 기억 장치가 엑스포트 로크 상태에 있다고 판정한 것을 조건으로 하여, 상기 엑스포트 로크 키 셋의 정보 처리 장치에 대한 출력 처리를 실행하는 구성인 것을 특징으로 하는, 정보 기억 장치.
  3. 제 1 항에 있어서,
    상기 제어부는,
    상기 엑스포트 로크 키 셋의 정보 처리 장치에 대한 출력 처리의 가부 판정 처리를 실행하는 구성을 가지며,
    상기 판정 처리는,
    정보 처리 장치로부터 입력하는 정보 처리 장치 고유의 키 셋의 검증 처리를 포함하며, 적어도 상기 검증 성립을 조건으로 하여, 상기 엑스포트 로크 키 셋의 정보 처리 장치에 대한 출력 처리를 실행하는 구성인 것을 특징으로 하는, 정보 기억 장치.
  4. 제 3 항에 있어서,
    상기 정보 처리 장치 고유의 키 셋은,
    정보 처리 장치의 고유 ID로서의 프라이머리 ID(IDs)와, 상기 고유 ID에 대응하는 로크 키인 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]이며,
    상기 정보 기억 장치는,
    LKs=H(LMK, IDs)인 관계, 즉, 프라이머리 ID(IDs)에 대한 로크 마스터 키(LMK)를 적용한 해쉬치로서 프라이머리 로크 키(LKs)의 산출이 가능한 로크 마스터 키(LMK)를 가지며,
    상기 제어부는,
    정보 처리 장치로부터 입력하는 정보 처리 장치 고유의 키 셋의 검증을 상기 로크 마스터 키(LMK)를 적용한 해쉬치 산출에 의해 취득하는 로크 키(LK)에 근거하여 실행하는 구성인 것을 특징으로 하는, 정보 기억 장치.
  5. 제 4 항에 있어서,
    상기 제어부는,
    난수(Rms)의 발생 처리를 실행하여, 정보 처리 장치가 소유하는 프라이머리 로크 키(LKs)에 근거하는 상기 난수(Rms)의 암호화 데이터[E(Lks, Rms)]를 상기 정보 처리 장치로부터 수신하여, 상기 수신 암호화 데이터와,
    상기 해쉬치 산출에 의해 취득한 프라이머리 로크 키(LKs)에 근거하여 산출한 암호화 데이터[E(Lks, Rms)]와의 대조를 포함하는 검증 처리를 실행하는 구성인 것을 특징으로 하는, 정보 기억 장치.
  6. 제 1 항에 있어서,
    상기 정보 처리 장치는 고유의 키 셋으로서,
    정보 처리 장치의 고유 ID인 프라이머리 ID(IDs)와, 상기 프라이머리 ID(IDs)에 대응하여 설정되는 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]을 가지며,
    상기 제어부는,
    정보 처리 장치로부터의 엑스포트 로크 키 셋의 출력 요구에 따라, 상기 엑스포트 로크 키 셋의 구성 데이터를 상기 정보 처리 장치가 갖는 프라이머리 로크 키(LKs)에 근거하여 암호화하여 출력하는 구성인 것을 특징으로 하는, 정보 기억 장치.
  7. 제 6 항에 있어서,
    상기 엑스포트 로크 키 셋은 엑스포트 로크를 실행한 정보 처리 장치로부터 입력한 서브 ID(IDen), 및 상기 서브 ID(IDen)에 대응하여 설정되는 서브 로크 키(LKen)의 데이터 셋에 의해 구성되는 서브 키 셋[IDen, LKen]이며,
    상기 제어부는,
    상기 서브 로크 키(LKen)를 서브 키 셋의 출력 요구 정보 처리 장치가 갖는 프라이머리 로크 키(LKs)에 근거하여 암호화하여 생성한 암호화 데이터:[E(LKs, LKen)]를 출력하는 구성인 것을 특징으로 하는, 정보 기억 장치.
  8. 데이터 기억용 메모리와, 상기 메모리에 대한 액세스 제어를 실행하는 제어부를 갖는 정보 기억 장치와, 상기 정보 기억 장치에 대한 인터페이스를 가지고, 상기 인터페이스를 통해 정보 기억 장치 내의 메모리 액세스를 실행하는 정보 처리 장치를 갖는 메모리 액세스 제어 시스템으로서,
    상기 정보 처리 장치는,
    식별자(ID) 및 로크 키(LK)를 포함하는 키 셋을 기억 수단에 격납하고,
    상기 정보 기억 장치의 제어부는,
    상기 정보 처리 장치로부터 입력하는 로크 커맨드 및 식별자(ID)에 근거하여, 상기 메모리의 로크 처리를 실행하는 구성을 가짐과 동시에,
    상기 로크 커맨드에 따라서, 상기 식별자(ID)를 포함하는 키 셋이,
    (a) 외부 출력을 허용하지 않는 키 셋으로서의 스탠다드 로크 키 셋,
    (b) 외부 출력을 허용하는 키 셋으로서의 엑스포트 로크 키 셋,
    중 어느 것인지를 판별하여 판별 정보를 기억 수단에 격납하고,
    상기 판별 정보에 근거하여, 정보 처리 장치에 대한 키 셋 출력의 가부를 판정하는 구성을 갖는 것을 특징으로 하는, 메모리 액세스 제어 시스템.
  9. 제 8 항에 있어서,
    상기 정보 처리 장치는,
    정보 처리 장치의 고유 ID로서의 프라이머리 ID(IDs)와, 상기 고유 ID에 대응하는 로크 키인 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]을 기억 수단에 격납하고,
    상기 정보 기억 장치는,
    LKs=H(LMK, IDs)인 관계, 즉, 프라이머리 ID(IDs)에 대한 로크 마스터 키(LMK)를 적용한 해쉬치로서 프라이머리 로크 키(LKs)의 산출이 가능한 로크 마스터 키(LMK)를 가지며,
    상기 정보 기억 장치의 제어부는,
    정보 처리 장치로부터 입력하는 정보 처리 장치 고유의 키 셋의 검증을 상기 로크 마스터 키(LMK)를 적용한 해쉬치 산출에 의해 취득하는 로크 키(LK)에 근거하여 실행하는 구성인 것을 특징으로 하는, 메모리 액세스 제어 시스템.
  10. 제 9 항에 있어서,
    상기 정보 기억 장치의 제어부는,
    난수(Rms)의 발생 처리를 실행하여, 정보 처리 장치가 소유하는 프라이머리 로크 키(LKs)에 근거하는 상기 난수(Rms)의 암호화 데이터[E(Lks, Rms)]를 상기 정보 처리 장치로부터 수신하여, 상기 수신 암호화 데이터와,
    상기 해쉬치 산출에 의해 취득한 프라이머리 로크 키(LKs)에 근거하여 산출한 암호화 데이터[E(Lks, Rms)]와의 대조를 포함하는 검증 처리를 실행하는 구성인 것을 특징으로 하는, 메모리 액세스 제어 시스템.
  11. 제 8 항에 있어서,
    상기 정보 처리 장치는 고유의 키 셋으로서,
    정보 처리 장치의 고유 ID인 프라이머리 ID(IDs)와, 상기 프라이머리 ID(IDs)에 대응하여 설정되는 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]을 가지며,
    상기 정보 기억 장치의 제어부는,
    정보 처리 장치로부터의 엑스포트 로크 키 셋의 출력 요구에 따라, 상기 엑스포트 로크 키 셋의 구성 데이터를 상기 정보 처리 장치가 갖는 프라이머리 로크 키(LKs)에 근거하여 암호화한 암호화 데이터를 출력하고,
    상기 정보 처리 장치는,
    상기 암호화 데이터를 상기 정보 처리 장치가 갖는 프라이머리 로크 키(LKs)에 근거하는 복호 처리를 실행하여 상기 엑스포트 로크 키 셋의 구성 데이터를 취득하는 구성인 것을 특징으로 하는, 메모리 액세스 제어 시스템.
  12. 제 11 항에 있어서,
    상기 엑스포트 로크 키 셋은 엑스포트 로크를 실행한 정보 처리 장치로부터 입력한 서브 ID(IDen), 및 상기 서브 ID(IDen)에 대응하여 설정되는 서브 로크 키(LKen)의 데이터 셋에 의해 구성되는 서브 키 셋[IDen, LKen]이며,
    상기 정보 기억 장치의 제어부는,
    상기 서브 로크 키(LKen)를 서브 키 셋의 출력 요구 정보 처리 장치가 갖는 프라이머리 로크 키(LKs)에 근거하여 암호화하여 생성한 암호화 데이터: [E(LKs, LKen)]를 정보 처리 장치에 대하여 출력하는 구성인 것을 특징으로 하는, 메모리 액세스 제어 시스템.
  13. 데이터 기억용 메모리와, 상기 메모리에 대한 액세스 제어를 실행하는 제어부를 갖는 정보 기억 장치에 있어서의 메모리 액세스 제어 방법으로서,
    정보 처리 장치로부터의 로크 커맨드 및 식별자(ID)의 입력을 실행하는 스텝과,
    상기 로크 커맨드에 따라서, 상기 식별자(ID)를 포함하는 키 셋이,
    (a) 외부 출력을 허용하지 않는 키 셋으로서의 스탠다드 로크 키 셋,
    (b) 외부 출력을 허용하는 키 셋으로서의 엑스포트 로크 키 셋,
    중 어느 것인지를 판별하여, 상기 판별 정보를 기억 수단에 격납하는 스텝을 갖는 것을 특징으로 하는, 메모리 액세스 제어 방법.
  14. 제 13 항에 있어서,
    상기 판별 정보는 로크 상태 판별 정보로서의 로크 스테이터스 정보이고,
    상기 로크 스테이터스 정보는 스탠다드 로크 상태인지의 여부 및 엑스포트 로크 상태인지의 여부를 판별 가능한 정보를 포함하며,
    상기 메모리 액세스 제어 방법은, 더욱이,
    상기 로크 스테이터스 정보에 근거하여, 정보 기억 장치가 엑스포트 로크 상태에 있다고 판정한 것을 조건으로 하여, 상기 엑스포트 로크 키 셋의 정보 처리 장치에 대한 출력 처리를 실행하는 스텝을 포함하는 것을 특징으로 하는, 메모리 액세스 제어 방법.
  15. 제 13 항에 있어서,
    상기 메모리 액세스 제어 방법은, 더욱이,
    상기 엑스포트 로크 키 셋의 정보 처리 장치에 대한 출력 처리의 가부 판정 처리로서, 정보 처리 장치로부터 입력하는 정보 처리 장치 고유의 키 셋의 검증 처리를 실행하여, 적어도 상기 검증의 성립을 조건으로 하여, 상기 엑스포트 로크 키 셋의 정보 처리 장치에 대한 출력 처리를 실행하는 것을 특징으로 하는, 메모리 액세스 제어 방법.
  16. 제 15 항에 있어서,
    상기 정보 처리 장치 고유의 키 셋은,
    정보 처리 장치의 고유 ID로서의 프라이머리 ID(IDs)와, 상기 고유 ID에 대응하는 로크 키인 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]이며,
    상기 정보 기억 장치는,
    LKs=H(LMK, IDs)인 관계, 즉, 프라이머리 ID(IDs)에 대한 로크 마스터 키(LMK)를 적용한 해쉬치로서 프라이머리 로크 키(LKs)의 산출이 가능한 로크 마스터 키(LMK)를 가지며,
    상기 검증 처리는,
    정보 처리 장치로부터 입력하는 정보 처리 장치 고유의 키 셋의 검증을 상기 로크 마스터 키(LMK)를 적용한 해쉬치 산출에 의해 취득하는 로크 키(LK)에 근거하 여 실행하는 스텝을 포함하는 것을 특징으로 하는, 메모리 액세스 제어 방법.
  17. 제 16 항에 있어서,
    상기 검증 처리 실행 스텝은,
    난수(Rms)의 발생 처리를 실행하여, 정보 처리 장치가 소유하는 프라이머리 로크 키(LKs)에 근거하는 상기 난수(Rms)의 암호화 데이터[E(Lks, Rms)]를 상기 정보 처리 장치로부터 수신하여, 상기 수신 암호화 데이터와,
    상기 해쉬치 산출에 의해 취득한 프라이머리 로크 키(LKs)에 근거하여 산출한 암호화 데이터[E(Lks, Rms)]와의 대조를 포함하는 검증 처리를 실행하는 스텝을 포함하는 것을 특징으로 하는, 메모리 액세스 제어 방법.
  18. 제 13 항에 있어서,
    상기 정보 처리 장치는 고유의 키 셋으로서,
    정보 처리 장치의 고유 ID인 프라이머리 ID(IDs)와, 상기 프라이머리 ID(IDs)에 대응하여 설정되는 프라이머리 로크 키(LKs)로 이루어지는 프라이머리 키 셋[IDs, LKs]을 가지며,
    상기 메모리 액세스 제어 방법은, 더욱이,
    정보 처리 장치로부터의 엑스포트 로크 키 셋의 출력 요구에 따라, 상기 엑스포트 로크 키 셋의 구성 데이터를 상기 정보 처리 장치가 갖는 프라이머리 로크 키(LKs)에 근거하여 암호화하여 출력하는 암호화 출력 스텝을 포함하는 것을 특징 으로 하는, 메모리 액세스 제어 방법.
  19. 제 18 항에 있어서,
    상기 엑스포트 로크 키 셋은 엑스포트 로크를 실행한 정보 처리 장치로부터 입력한 서브 ID(IDen), 및 상기 서브 ID(IDen)에 대응하여 설정되는 서브 로크 키(LKen)의 데이터 셋에 의해 구성되는 서브 키 셋[IDen, LKen]이며,
    상기 암호화 출력 스텝은,
    상기 서브 로크 키(LKen)를 서브 키 셋의 출력 요구 정보 처리 장치가 갖는 프라이머리 로크 키(LKs)에 근거하여 암호화하여 생성한 암호화 데이터: [E(LKs, LKen)]를 출력하는 스텝인 것을 특징으로 하는, 메모리 액세스 제어 방법.
  20. 데이터 기억용의 메모리와, 상기 메모리에 대한 액세스 제어를 실행하는 제어부를 갖는 정보 기억 장치에 있어서의 메모리 액세스 제어 처리를 실행하는 컴퓨터 프로그램이 기록된 컴퓨터 판독가능 기록 매체로서,
    정보 처리 장치로부터의 로크 커맨드 및 식별자(lD)의 입력을 실행하는 스텝과,
    상기 로크 커맨드에 따라서, 상기 식별자(ID)를 포함하는 키 셋이,
    (a) 외부 출력을 허용하지 않는 키 셋으로서의 스탠다드 로크 키 셋,
    (b) 외부 출력을 허용하는 키 셋으로서의 엑스포트 로크 키 셋,
    중 어느 것인지를 판별하여, 상기 판별 정보를 기억 수단에 격납하는 스텝을 갖는 것을 특징으로 하는, 컴퓨터 프로그램이 기록된 컴퓨터 판독가능 기록 매체.
KR1020047002720A 2002-06-25 2003-06-19 정보 기억 장치, 메모리 액세스 제어 시스템 및 방법, 및컴퓨터 프로그램 KR100968733B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00183882 2002-06-25
JP2002183882A JP4016741B2 (ja) 2002-06-25 2002-06-25 情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラム
PCT/JP2003/007781 WO2004001609A1 (ja) 2002-06-25 2003-06-19 情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
KR20050010749A KR20050010749A (ko) 2005-01-28
KR100968733B1 true KR100968733B1 (ko) 2010-07-08

Family

ID=29996694

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047002720A KR100968733B1 (ko) 2002-06-25 2003-06-19 정보 기억 장치, 메모리 액세스 제어 시스템 및 방법, 및컴퓨터 프로그램

Country Status (6)

Country Link
US (2) US7636826B2 (ko)
EP (1) EP1517244B1 (ko)
JP (1) JP4016741B2 (ko)
KR (1) KR100968733B1 (ko)
CN (1) CN1278245C (ko)
WO (1) WO2004001609A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3979195B2 (ja) * 2002-06-25 2007-09-19 ソニー株式会社 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム
KR100476929B1 (ko) * 2002-09-03 2005-03-16 삼성전자주식회사 카드형 유에스비 인터페이스 컨넥터를 갖는 유에스비 시스템
US8099762B2 (en) * 2003-12-02 2012-01-17 Integic Technologies Llc Secure digital content trading systems and methods
WO2007014074A1 (en) 2005-07-21 2007-02-01 Clevx, Llc Memory lock system
US8996482B1 (en) * 2006-02-10 2015-03-31 Amazon Technologies, Inc. Distributed system and method for replicated storage of structured data records
US20080065776A1 (en) * 2006-08-07 2008-03-13 Nokia Corporation Method of connecting a first device and a second device
KR100782113B1 (ko) * 2006-11-13 2007-12-05 삼성전자주식회사 메모리 카드 시스템 및 그것의 호스트 식별 정보 전송 방법
US7877563B2 (en) * 2006-12-07 2011-01-25 International Business Machines Corporation Programmable memory device security
KR100841982B1 (ko) * 2007-02-08 2008-06-27 삼성전자주식회사 호스트 식별 정보를 저장하는 메모리 카드 및 그것의액세스 방법
US8438652B2 (en) * 2007-03-23 2013-05-07 Seagate Technology Llc Restricted erase and unlock of data storage devices
JP5042313B2 (ja) * 2007-08-28 2012-10-03 パナソニック株式会社 電子機器およびロック解除方法
US8271736B2 (en) * 2008-02-07 2012-09-18 International Business Machines Corporation Data block frequency map dependent caching
US20100174913A1 (en) * 2009-01-03 2010-07-08 Johnson Simon B Multi-factor authentication system for encryption key storage and method of operation therefor
US9286493B2 (en) 2009-01-07 2016-03-15 Clevx, Llc Encryption bridge system and method of operation thereof
US8365304B2 (en) 2010-05-24 2013-01-29 Microsoft Corporation Restricting access to volumes
US8081013B1 (en) * 2010-07-13 2011-12-20 Amlogic Co., Ltd. Digital phase and frequency detector
US20120047582A1 (en) * 2010-08-20 2012-02-23 Nexcom International Co., Ltd. Data deleting method for computer storage device
JP5198539B2 (ja) * 2010-11-05 2013-05-15 株式会社東芝 記憶装置、アクセス装置およびプログラム
US11043055B2 (en) 2013-03-15 2021-06-22 August Home, Inc. Door lock system with contact sensor
US9706365B2 (en) * 2013-03-15 2017-07-11 August Home, Inc. BLE/WiFi bridge that detects signal strength of bluetooth LE devices at an interior of a dwelling
US10443266B2 (en) 2013-03-15 2019-10-15 August Home, Inc. Intelligent door lock system with manual operation and push notification
US10691953B2 (en) 2013-03-15 2020-06-23 August Home, Inc. Door lock system with one or more virtual fences
US11072945B2 (en) 2013-03-15 2021-07-27 August Home, Inc. Video recording triggered by a smart lock device
US11352812B2 (en) 2013-03-15 2022-06-07 August Home, Inc. Door lock system coupled to an image capture device
US11441332B2 (en) 2013-03-15 2022-09-13 August Home, Inc. Mesh of cameras communicating with each other to follow a delivery agent within a dwelling
US9322194B2 (en) 2013-03-15 2016-04-26 August Home, Inc. Intelligent door lock system
US11527121B2 (en) 2013-03-15 2022-12-13 August Home, Inc. Door lock system with contact sensor
US9704314B2 (en) 2014-08-13 2017-07-11 August Home, Inc. BLE/WiFi bridge that detects signal strength of Bluetooth LE devices at an exterior of a dwelling
US11802422B2 (en) 2013-03-15 2023-10-31 August Home, Inc. Video recording triggered by a smart lock device
US9916746B2 (en) 2013-03-15 2018-03-13 August Home, Inc. Security system coupled to a door lock system
US11421445B2 (en) 2013-03-15 2022-08-23 August Home, Inc. Smart lock device with near field communication
US10140828B2 (en) 2015-06-04 2018-11-27 August Home, Inc. Intelligent door lock system with camera and motion detector
US10388094B2 (en) 2013-03-15 2019-08-20 August Home Inc. Intelligent door lock system with notification to user regarding battery status
US10181232B2 (en) 2013-03-15 2019-01-15 August Home, Inc. Wireless access control system and methods for intelligent door lock system
KR20150101232A (ko) * 2014-02-26 2015-09-03 삼성전자주식회사 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 스토리지 장치의 동작 방법
US11210238B2 (en) 2018-10-30 2021-12-28 Cypress Semiconductor Corporation Securing data logs in memory devices
CN111478770A (zh) * 2020-03-31 2020-07-31 西安广和通无线软件有限公司 安全校验方法、装置、计算机设备和存储介质
US20220021544A1 (en) * 2020-07-15 2022-01-20 Micron Technology, Inc. Secure Serial Peripheral Interface (SPI) Flash
US11959308B2 (en) 2020-09-17 2024-04-16 ASSA ABLOY Residential Group, Inc. Magnetic sensor for lock position
US12067855B2 (en) 2020-09-25 2024-08-20 ASSA ABLOY Residential Group, Inc. Door lock with magnetometers
CN112859694A (zh) * 2021-01-20 2021-05-28 深圳池航科技有限公司 一种基于互联网的智能头盔锁远程控制系统
US11782621B2 (en) * 2021-06-30 2023-10-10 Western Digital Technologies, Inc. Lock or unlock indicator on a data storage device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11237983A (ja) * 1998-02-20 1999-08-31 Mitsubishi Electric Corp ワンチップマイコンおよびこのワンチップマイコンにおけるブート領域アクセスのためのエントリー方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3602896A (en) * 1969-06-30 1971-08-31 Ibm Random access memory with flexible data boundaries
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4736419A (en) * 1984-12-24 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Electronic lock system
US4817140A (en) * 1986-11-05 1989-03-28 International Business Machines Corp. Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
US5148534A (en) * 1986-11-05 1992-09-15 International Business Machines Corp. Hardware cartridge representing verifiable, use-once authorization
US4937736A (en) * 1987-11-30 1990-06-26 International Business Machines Corporation Memory controller for protected memory with automatic access granting capability
US5231310A (en) * 1990-09-05 1993-07-27 Oh Soo Young Electrical and electronic appliance lock
JPH04139552A (ja) 1990-10-01 1992-05-13 Nec Corp メモリカード
US5231668A (en) * 1991-07-26 1993-07-27 The United States Of America, As Represented By The Secretary Of Commerce Digital signature algorithm
JPH05113932A (ja) 1991-10-23 1993-05-07 Kyocera Corp パーソナルコンピユータ
US5287519A (en) * 1992-09-17 1994-02-15 International Business Machines Corp. LAN station personal computer system with controlled data access for normal and unauthorized users and method
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5282247A (en) * 1992-11-12 1994-01-25 Maxtor Corporation Apparatus and method for providing data security in a computer system having removable memory
GB9323453D0 (en) * 1993-11-13 1994-01-05 Calluna Tech Ltd Security system for portable hard disk drive
WO1995016238A1 (en) * 1993-12-06 1995-06-15 Telequip Corporation Secure computer memory card
US6002772A (en) * 1995-09-29 1999-12-14 Mitsubishi Corporation Data management system
US5963142A (en) * 1995-03-03 1999-10-05 Compaq Computer Corporation Security control for personal computer
US6169687B1 (en) * 1995-04-21 2001-01-02 Mark B. Johnson High density and speed magneto-electronic memory for use in computing system
US5638448A (en) * 1995-10-24 1997-06-10 Nguyen; Minhtam C. Network with secure communications sessions
JPH09134330A (ja) 1995-11-07 1997-05-20 Fujitsu Ltd セキュリティ保護システム
US5857021A (en) 1995-11-07 1999-01-05 Fujitsu Ltd. Security system for protecting information stored in portable storage media
JPH09293022A (ja) 1996-04-24 1997-11-11 Toshiba Corp データ記録再生装置及び同装置におけるデータ保護方法
US6131090A (en) * 1997-03-04 2000-10-10 Pitney Bowes Inc. Method and system for providing controlled access to information stored on a portable recording medium
JPH11265318A (ja) 1998-03-17 1999-09-28 Bug:Kk 相互認証システム、相互認証方法及び記録媒体
US6330624B1 (en) * 1999-02-09 2001-12-11 International Business Machines Corporation Access limiting to only a planar by storing a device public key only within the planar and a planar public key only within the device
JP3528701B2 (ja) 1999-09-21 2004-05-24 カシオ計算機株式会社 セキュリティ管理システム
JP2001022642A (ja) 1999-07-08 2001-01-26 Mitsubishi Electric Corp メモリの機密保持回路
EP1205405B1 (en) * 1999-12-28 2008-08-20 Matsushita Electric Industrial Co., Ltd. Information recording medium and access device
JP4104801B2 (ja) 2000-01-14 2008-06-18 株式会社エヌ・ティ・ティ・データ Icカード読取装置及びicカードシステム
JP2001236333A (ja) 2000-02-21 2001-08-31 Hitachi Ltd 電子署名付移動エージェント
JP3734408B2 (ja) 2000-07-03 2006-01-11 シャープ株式会社 半導体記憶装置
JP4678083B2 (ja) 2000-09-29 2011-04-27 ソニー株式会社 メモリ装置およびメモリアクセス制限方法
JP4678084B2 (ja) 2000-09-29 2011-04-27 ソニー株式会社 メモリ装置およびメモリアクセス制限方法
US6832317B1 (en) * 2001-05-10 2004-12-14 Advanced Micro Devices, Inc. Personal computer security mechanism
JP4690600B2 (ja) * 2001-08-23 2011-06-01 富士通株式会社 データ保護方法
US20030135507A1 (en) * 2002-01-17 2003-07-17 International Business Machines Corporation System and method for managing and securing meta data using central repository

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11237983A (ja) * 1998-02-20 1999-08-31 Mitsubishi Electric Corp ワンチップマイコンおよびこのワンチップマイコンにおけるブート領域アクセスのためのエントリー方法

Also Published As

Publication number Publication date
CN1278245C (zh) 2006-10-04
JP4016741B2 (ja) 2007-12-05
JP2004030103A (ja) 2004-01-29
WO2004001609A1 (ja) 2003-12-31
US20040215910A1 (en) 2004-10-28
EP1517244A4 (en) 2008-11-19
US20100049993A1 (en) 2010-02-25
EP1517244B1 (en) 2019-01-09
KR20050010749A (ko) 2005-01-28
EP1517244A1 (en) 2005-03-23
CN1564982A (zh) 2005-01-12
US8402240B2 (en) 2013-03-19
US7636826B2 (en) 2009-12-22

Similar Documents

Publication Publication Date Title
KR100968733B1 (ko) 정보 기억 장치, 메모리 액세스 제어 시스템 및 방법, 및컴퓨터 프로그램
KR100998855B1 (ko) 정보 기억 장치, 및 메모리 액세스 제어 방법, 및 컴퓨터 프로그램을 기록한 기록 매체
KR20050012217A (ko) 정보 기억 장치, 및 메모리 액세스 제어 시스템, 및 방법,및 컴퓨터 프로그램
JP3979194B2 (ja) 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム
JP4687703B2 (ja) 記録システム、情報処理装置、記憶装置、記録方法及びプログラム
AU785421B2 (en) Data authentication system
JP4907880B2 (ja) 携帯情報端末およびデータ保護方法
WO2002033880A9 (fr) Reproduction de donnees/appareil d'enregistrement/procede et procede de mise a jour d'une liste
WO2001056224A1 (fr) Systeme d'authentification de dispositif de stockage
MXPA06010778A (es) Estructura de manejo de derechos digitales, dispositivo de almacenamiento portatil y metodo de manejo de contenidos que usa el dispositivo de almacenamiento portatil.
JP2008009631A (ja) 記憶装置及び記憶方法
TWI402715B (zh) 應用程式保護系統及方法
JP2008287488A (ja) データ分散保存装置
JP4863309B2 (ja) 通信システム、無線通信端末、接続方法およびプログラム
JP2006229672A (ja) コンテンツ再生装置、セキュア処理プログラム、セキュア処理プログラムが記録された記録媒体、権利管理プログラム、及び権利管理プログラムが記録された記録媒体
JP2007189488A (ja) 認証方法及び通信装置及び認証装置及び認証プログラム
AU2007203641A1 (en) Data processing apparatus and data processing method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130621

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140623

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee