KR20130085536A - 보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법 - Google Patents

보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법 Download PDF

Info

Publication number
KR20130085536A
KR20130085536A KR1020110136797A KR20110136797A KR20130085536A KR 20130085536 A KR20130085536 A KR 20130085536A KR 1020110136797 A KR1020110136797 A KR 1020110136797A KR 20110136797 A KR20110136797 A KR 20110136797A KR 20130085536 A KR20130085536 A KR 20130085536A
Authority
KR
South Korea
Prior art keywords
memory
key
encrypted
host device
data
Prior art date
Application number
KR1020110136797A
Other languages
English (en)
Other versions
KR101859646B1 (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 삼성전자주식회사
Priority to KR1020110136797A priority Critical patent/KR101859646B1/ko
Priority to US13/677,715 priority patent/US9258111B2/en
Priority to US13/677,853 priority patent/US20130156195A1/en
Priority to DE102012111793.4A priority patent/DE102012111793B4/de
Priority to CN201210520349.9A priority patent/CN103164666B/zh
Priority to JP2012274519A priority patent/JP6140998B2/ja
Publication of KR20130085536A publication Critical patent/KR20130085536A/ko
Application granted granted Critical
Publication of KR101859646B1 publication Critical patent/KR101859646B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/605Copy protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법이 제공 된다. 본 발명에 따른 메모리 장치는 호스트 장치 또는 제어기로부터의 억세스가 불허되고, 메모리 고유 키를 저장하는 타입1 영역, 호스트 장치 또는 제어기로부터의 읽기 전용 억세스만 가능하고, 상기 메모리 고유 키가 암호화 된 암호화 메모리 고유 키를 저장하는 타입2 영역 및 스트 장치 또는 제어기로부터의 읽기/쓰기 억세스가 가능한 타입3 영역을 포함한다.

Description

보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법{Secure data protecting memory device, data protecting method using the secure data}
본 발명은 보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법에 관한 것이다. 보다 자세하게는 보안 데이터를 저장하고, 상기 저장 된 보안 데이터를 보호하는 메모리 장치와 상기 메모리 장치에 저장 된 보안 데이터를 이용하여 상기 메모리 장치를 인증하는 방법에 관한 것이다.
최근 여러 형태의 메모리 소자가 소개 되고 있다. 예를 들어, 플래시 메모리를 저장 수단으로 사용한 메모리 카드 또는 USB(Universal Serial Bus) 포트에 연결 가능한 USB 메모리가 소개 되고 있고, 최근 SSD(Solid State Drive)도 소개되어 점점 널리 사용 되고 있다. 최근 소개 되는 메모리 소자는 저장 용량이 늘어나면서도, 차지하는 부피는 점점 줄어들고 있으며, 메모리 소자의 인터페이스는 호스트 장치로의 착탈이 가능한 방식으로 구현 되어 있다. 이에 따라, 메모리 소자의 이동성이 점점 더 강화되고 있다. 예를 들어, 현재 저렴한 메모리 소자 중 하나로 평가 받고 있는 하드디스크 역시 외장형 하드 디스크가 등장하여, 기존의 PC에 고정 된 하드디스크와는 달리 이동성을 제공한다.
메모리 소자뿐만 아니라, 상기 메모리 소자에 연결되어 상기 메모리 소자에 저장 된 컨텐츠를 소비할 수 있는 호스트 장치 역시 소형화 되어 이동이 가능한 호스트 장치가 많이 보급되었다. 이와 같이, 언제 어디서나 메모리 소자에 저장 된 디지털 컨텐츠를 즐길 수 있는 환경이 조성됨에 따라, 컨텐츠의 유통 방식은 디지털 데이터의 형태로 유통 되는 것으로 변화하고 있다. 이에 따라, 메모리 소자에 저장 된 디지털 컨텐츠의 불법 복제를 방지하는 기술이 점점 더 중요해지고 있다.
디지털 컨텐츠의 불법 복제를 방지하는 기술 중, 메모리 소자에 저장 된 고유 키를 이용하여 디지털 컨텐츠를 암호화 하는 기술이 소개 된다. 그런데, 이러한 기술은 메모리 소자에 저장 된 고유 키가 유출 되는 경우 디지털 컨텐츠의 제어 되지 않은 환경에서의 복호화가 가능해지고, 그 결과 불법 복제가 가능해지기 때문에, 메모리 소자에 저장 된 고유 키가 유출 되지 않도록 하는 기술의 제공이 필요하다.
본 발명이 해결하고자 하는 기술적 과제는 메모리 소자 또는 메모리 장치에 저장 된 보안 데이터가 유출 되지 않도록 보호하는 메모리 소자 또는 메모리 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 메모리 소자 또는 메모리 장치에 저장 된 보안 데이터를 이용하여 디지털 컨텐츠와 같은 보호 대상 데이터를 보호하는 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 메모리 소자 또는 메모리 장치에 저장 된 메모리 고유 키를 이용하여 메모리 장치가 사용에 적법한지 여부를 인증하는 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 메모리 소자는, 보안 로직, 상기 보안 로직에 의한 억세스 만 허용 되는 보안 데이터를 저장하는 제1 메모리 영역, 외부 장치에 의한 억세스가 허용 되고, 상기 보안 데이터가 제1 키를 이용하여 암호화 된 데이터인 암호화 보안 데이터를 저장하는 제2 메모리 영역 및 상기 외부 장치와의 데이터 입출력을 인터페이스하고, 상기 외부 장치로부터 상기 보안 데이터와 관련 된 요청이 입력 된 경우, 상기 암호화 보안 데이터를 제공하는 입출력 로직을 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 메모리 소자는, 보안 로직, 상기 보안 로직에 의한 억세스 만 허용 되고 보안 데이터를 저장하는 제1 메모리 영역 및 호스트 장치 또는 제어기와의 데이터 입출력을 인터페이스하고, 상기 보안 데이터의 출력 요청을 상기 보안 로직에 전달하는 입출력 로직을 포함한다. 이때, 상기 보안 로직은 상기 보안 데이터와 관련 된 요청을 상기 입출력 로직으로부터 전달 받아, 상기 제1 메모리 영역으로부터 리드한 상기 보안 데이터를 암호화 하여 암호화 보안 데이터를 생성하고, 상기 암호화 보안 데이터를 상기 입출력 로직에 제공한다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시예에 따른 호스트 장치는, 메모리 장치에 포함 된 메모리 소자 및 메모리 제어기 중 하나로부터 메모리 소자의 메모리 고유 키가 암호화 된 암호화 메모리 고유 키 및 상기 암호화 메모리 고유 키를 복호화 하기 위한 제2 복호화 키가 암호화 된 암호화 제2 복호화 키를 제공 받는 인터페이스부, 상기 암호화 제2 복호화 키를 복호화 하기 위한 제1 복호화 키를 저장하는 키 저장부 및 상기 제1 복호화 키를 이용하여 상기 암호화 제2 복호화 키를 복호화하여 상기 제2 복호화 키를 획득하고, 상기 제2 복호화 키를 이용하여 상기 암호화 메모리 고유 키를 복호화 하여 상기 메모리 고유 키를 획득하는 메모리 고유 키 획득부를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시예에 따른 호스트 장치의 메모리 고유 키 획득 방법은, 메모리 장치에 포함 된 메모리 소자 및 메모리 제어기 중 하나로부터 메모리 소자의 메모리 고유 키가 암호화 된 암호화 메모리 고유 키 및 상기 암호화 메모리 고유 키를 복호화 하기 위한 제2 복호화 키가 암호화 된 암호화 제2 복호화 키를 제공 받고, 기 저장 된 제1 복호화 키를 이용하여 상기 암호화 제2 복호화 키를 복호화하여 상기 제2 복호화 키를 획득하고, 상기 획득 된 제2 복호화 키를 이용하여 상기 암호화 메모리 고유 키를 복호화 하여 상기 메모리 고유 키를 획득하는 것을 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시예에 따른 호스트 장치는, 메모리 장치에 포함 된 메모리 소자 및 메모리 제어기 중 하나로부터 메모리 소자의 메모리 고유 키가 암호화 된 암호화 메모리 고유 키 및 상기 암호화 메모리 고유 키를 복호화 하기 위한 제2 복호화 키가 암호화 된 암호화 제2 복호화 키를 제공 받는 인터페이스부, 상기 암호화 제2 복호화 키를 복호화 하기 위한 제1 복호화 키를 저장하는 키 저장부, 상기 제1 복호화 키를 이용하여 상기 암호화 제2 복호화 키를 복호화하여 상기 제2 복호화 키를 획득하고, 상기 제2 복호화 키를 이용하여 상기 암호화 메모리 고유 키를 복호화 하여 상기 메모리 고유 키를 획득하는 메모리 고유 키 획득부 및 상기 획득 된 메모리 고유 키에 기초하여 호스트 장치 측 인증 정보를 생성하고, 상기 인터페이스부로부터 상기 메모리 장치에 포함 된 메모리 소자 및 메모리 제어기 중 하나로부터 메모리 측 인증 정보를 제공 받아, 상기 호스트 장치 측 인증 정보와 상기 메모리 측 인증 정보의 비교에 의한 메모리 장치 인증을 수행하는 인증 처리부를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시예에 따른 메모리 장치는, 호스트 장치 또는 제어기로부터의 억세스가 불허되고, 메모리 고유 키를 저장하는 타입1 영역, 호스트 장치 또는 제어기로부터의 읽기 전용 억세스만 가능하고, 상기 메모리 고유 키가 암호화 된 암호화 메모리 고유 키를 저장하는 타입2 영역 및 호스트 장치 또는 제어기로부터의 읽기/쓰기 억세스가 가능한 타입3 영역을 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시예에 따른 메모리 장치는, 호스트 장치 또는 제어기로부터의 억세스가 불허되고, 메모리 고유 키를 저장하는 타입1 영역, 호스트 장치 또는 제어기로부터의 읽기 전용 억세스만 가능하고, 상기 메모리 고유 키가 암호화 된 암호화 메모리 고유 키를 저장하는 타입2 영역 및 호스트 장치 또는 제어기로부터의 읽기/쓰기 억세스가 가능한 타입3 영역을 포함한다. 이 때, 상기 타입3 영역은 2 이상의 메모리 소자에 의하여 구성 된다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시예에 따른 메모리 장치는, 제1 메모리 소자 및 제2 메모리 소자를 포함한다. 이 때, 상기 제1 메모리 소자 및 상기 제2 메모리 소자는 각각 호스트 장치 또는 제어기로부터의 억세스가 불허되고, 메모리 고유 키를 저장하는 타입1 영역과 호스트 장치 또는 제어기로부터의 읽기 전용 억세스만 가능하고, 상기 메모리 고유 키가 암호화 된 암호화 메모리 고유 키를 저장하는 타입2 영역을 포함하고, 상기 제1 메모리 소자 및 상기 제2 메모리 소자는 호스트 장치 또는 제어기로부터의 읽기/쓰기 억세스가 가능한 타입3 영역을 공동 구성한다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시예에 따른 메모리 장치의 인증 정보 생성 방법은, 호스트 장치로부터 메모리 보조 키 번호 정보를 입력 받고, 상기 메모리 보조 키 번호 정보에 따라 상기 메모리 장치에 저장 된 복수의 메모리 보조 키 중 하나를 선택하고, 상기 선택 된 메모리 보조 키에 기초하여 메모리 장치 측 세션 키를 생성하고, 상기 메모리 장치에 저장 된 메모리 고유 키 및 상기 메모리 장치 측 세션 키에 기초하여 메모리 장치 측 인증 정보를 생성하고, 상기 메모리 장치 측 인증 정보를 상기 호스트 장치로 출력하는 것을 포함한다. 이 때, 상기 메모리 고유 키 및 상기 복수의 메모리 보조 키는 호스트 장치 또는 제어기로부터의 억세스가 불허되는 영역에 저장 된다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시예에 따른 호스트 장치의 메모리 고유 키 획득 방법은 메모리 장치로부터 상기 메모리 장치의 메모리 고유 키가 암호화 된 암호화 메모리 고유 키를 제공 받고, 상기 메모리 장치로부터 복수의 암호화 제2 복호화 키를 포함하는 제2 복호화 키 블록을 제공 받고, 제1 복호화 키 인덱스를 이용하여 상기 제2 복호화 키 블록에 포함 된 복수의 암호화 제2 복호화 키 중 하나의 암호화 제2 복호화 키를 선택하고, 상기 선택 된 암호화 제2 복호화 키를 제1 복호화 키를 이용하여 복호화 하여 제2 복호화 키를 획득하고, 상기 암호화 메모리 고유 키를 상기 제2 복호화 키를 이용하여 복호화 하여 상기 메모리 고유 키를 획득하는 것을 포함한다. 이때, 상기 메모리 고유 키는 상기 메모리 장치의 상기 호스트 장치로부터의 억세스가 불허 되는 영역에 저장 된다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시예에 따른 호스트 장치의 메모리 장치 인증 방법은, 상기 메모리 장치로부터 상기 메모리 장치의 메모리 고유 키가 암호화 된 암호화 메모리 고유 키 및 복수의 암호화 제2 복호화 키를 포함하는 제2 복호화 키 블록을 제공 받고, 상기 복수의 암호화 제2 복호화 키 중 하나의 암호화 제2 복호화 키를 복호화 하여 획득한 제2 복호화 키를 이용하여 상기 메모리 고유 키를 복호화 함으로써 상기 메모리 고유 키를 획득하고, 상기 메모리 장치로부터 복수의 메모리 보조 키 인덱스를 포함하는 보조 키 컨테이너를 제공 받고, 상기 보조 키 컨테이너에 포함 된 정보를 이용하여 상기 호스트 장치에 고유하게 할당 된 메모리 보조 키 변형 데이터 세트 중 하나의 메모리 보조 키 변형 데이터를 선택하고, 상기 선택 한 메모리 보조 키 변형 데이터에 기초하여 호스트 장치 측 세션 키를 생성하고, 상기 호스트 장치 측 세션 키 및 상기 메모리 고유 키에 기초하여 호스트 장치 측 인증 정보를 생성하고, 상기 메모리 장치로부터 메모리 장치 측 인증 정보를 제공받고, 상기 메모리 장치 측 인증 정보와 상기 호스트 장치 측 인증 정보를 비교한 결과에 따라 인증 성공 여부를 판정하는 것을 포함한다. 이때, 상기 메모리 고유 키는 상기 메모리 장치의 상기 호스트 장치로부터의 억세스가 불허 되는 영역에 저장 된다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시예에 따른 호스트 장치의 데이터 암호화 키 생성 방법은, 상기 호스트 장치에 연결 된 메모리 장치로부터 상기 메모리 장치의 메모리 고유 키가 암호화 된 암호화 메모리 고유 키 및 복수의 암호화 제2 복호화 키를 포함하는 제2 복호화 키 블록을 제공 받고, 상기 복수의 암호화 제2 복호화 키 중 하나의 암호화 제2 복호화 키를 복호화 하여 획득한 제2 복호화 키를 이용하여 상기 메모리 고유 키를 복호화 함으로써 상기 메모리 고유 키를 획득하고, 상기 호스트 장치에 고유하게 할당 된 메모리 보조 키 변형 데이터 세트 중 선택 된 하나의 메모리 보조 키 변형 데이터에 기초하여 호스트 장치 측 세션 키를 생성하고, 상기 메모리 고유 키 및 상기 호스트 장치 측 세션 키를 이용하여 호스트 장치 측 인증 정보를 생성하며, 상기 메모리 장치로부터 제공 된 메모리 장치 측 인증 정보와 상기 호스트 장치 측 인증 정보를 비교하여 인증 성공 여부를 판정하고, 상기 판정의 결과 인증이 성공한 경우, 애플리케이션 고유 키에 기초하여 데이터 암호화 키를 생성하는 것을 포함한다. 이 때, 상기 메모리 고유 키는 상기 메모리 장치의 상기 호스트 장치로부터의 억세스가 불허 되는 영역에 저장 된다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시예에 따른 호스트 장치의 암호화 데이터 저장 방법은, 상기 호스트 장치에 연결 된 메모리 장치로부터 상기 메모리 장치의 메모리 고유 키가 암호화 된 암호화 메모리 고유 키 및 복수의 암호화 제2 복호화 키를 포함하는 제2 복호화 키 블록을 제공 받고, 상기 복수의 암호화 제2 복호화 키 중 하나의 암호화 제2 복호화 키를 복호화 하여 획득한 제2 복호화 키를 이용하여 상기 메모리 고유 키를 복호화 함으로써 상기 메모리 고유 키를 획득하고, 상기 호스트 장치에 고유하게 할당 된 메모리 보조 키 변형 데이터 세트 중 선택 된 하나의 메모리 보조 키 변형 데이터에 기초하여 호스트 장치 측 세션 키를 생성하고, 상기 메모리 고유 키 및 상기 호스트 장치 측 세션 키를 이용하여 호스트 장치 측 인증 정보를 생성하며, 상기 메모리 장치로부터 제공 된 메모리 장치 측 인증 정보와 상기 호스트 장치 측 인증 정보를 비교하여 인증 성공 여부를 판정하고, 상기 판정의 결과 인증이 성공한 경우, 애플리케이션 고유 키에 기초하여 데이터 암호화 키를 생성하고, 암호화 대상 데이터를 상기 데이터 암호화 키를 이용하여 암호화 하고, 암호화 된 상기 암호화 대상 데이터를 상기 메모리 장치에 제공하여 상기 메모리 장치에 저장 하는 것을 포함한다. 이 때, 상기 메모리 고유 키는 상기 메모리 장치의 상기 호스트 장치로부터의 억세스가 불허 되는 영역에 저장 된다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1 내지 2는 본 발명의 제1 실시예에 따른 보안 데이터를 보호하는 메모리 소자를 설명하기 위한 도면이다.
도 3은 본 발명의 제1 실시예에 따른 보안 데이터를 보호하는 메모리 소자의 동작을 설명하기 위한 순서도이다.
도 4은 본 발명의 제2 실시예에 따른 보안 데이터를 보호하는 메모리 소자를 설명하기 위한 도면이다.
도 5는 본 발명의 제2 실시예에 따른 보안 데이터를 보호하는 메모리 소자의 동작을 설명하기 위한 순서도이다.
도 6은 본 발명의 제3 실시예에 따른 메모리 고유 키를 보호하는 메모리 소자를 설명하기 위한 도면이다.
도 7은 본 발명의 제3 실시예에 따른 메모리 고유 키 획득 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 제4 실시예에 따른 메모리 고유 키를 이용하여 인증 정보를 생성하는 메모리 소자를 설명하기 위한 도면이다.
도 9는 본 발명의 제5 실시예에 따른 메모리 장치를 인증하고, 인증 성공 시 데이터를 암호화 하여 메모리 장치에 저장하는 호스트 장치를 설명하기 위한 도면이다.
도 10은 본 발명의 제6 실시예에 따른 메모리 고유 키를 보호하는 메모리 장치를 설명하기 위한 도면이다.
도 11은 본 발명의 제7 실시예에 따른 메모리 고유 키를 보호하는 메모리 장치를 설명하기 위한 도면이다.
도 12는 본 발명의 제8 실시예에 따른 호스트 장치의 메모리 고유 키 획득 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 제9 실시예에 따른 호스트 장치가 메모리 장치를 인증하는 방법 및 인증 성공 시 데이터를 암호화하기 위한 키를 생성하는 방법을 설명하기 위한 도면이다.
도 14는 본 발명의 제10 실시예에 따른 호스트 장치의 메모리 장치 인증 및 암호화 컨텐츠 저장 방법을 설명하기 위한 도면이다.
도 15는 본 발명의 몇몇 실시예에 따른 메모리 장치를 설명하기 위한 블록 구성도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면에서 표시된 구성요소의 크기 및 상대적인 크기는 설명의 명료성을 위해 과장된 것일 수 있다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭하며, "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
비록 제1, 제2 등이 다양한 소자나 구성요소들을 서술하기 위해서 사용되나, 이들 소자나 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자나 구성요소를 다른 소자나 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자나 구성요소는 본 발명의 기술적 사상 내에서 제2 소자나 구성요소 일 수도 있음은 물론이다.
본 명세서에서 기술하는 실시예들은 본 발명의 이상적인 구성도를 참고하여 설명될 것이다. 따라서, 제조 기술 등에 의해 구성도의 형태나 구조가 변형될 수 있다. 따라서, 본 발명의 실시예들은 도시된 특정 형태로 제한되는 것이 아니라 그로부터 변형된 형태도 포함하는 것이다. 즉, 도시된 구성은 본 발명의 특정 형태를 예시하기 위한 것이고, 발명의 범주를 제한하기 위한 것은 아니다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1 내지 도 3을 참조하여 본 발명의 제1 실시예에 따른 보안 데이터를 보호하는 메모리 소자를 설명한다.
본 발명에 따른 메모리 소자(100)는 불휘발성 메모리로서, NAND-FLASH 메모리, NOR-FLASH 메모리, 상변화 메모리 (PRAM: Phase change Random Access Memory), 고체 자기 메모리(MRAM: Magnetic Random Access Memory), 저항 메모리(RRAM, Resistive Random Access Memory)를 저장 수단으로 사용 한 칩 또는 패키지 일 수 있다. 또한, 상기 패키지 방식과 관련하여, 메모리 소자(100)는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 방식으로 패키지화되어 실장될 수 있다.
도 1에 도시 된 바와 같이, 본 실시예에 따른 메모리 소자(100)는 보안 로직(140), 제1 메모리 영역(110) 및 입출력 로직(150)을 포함할 수 있다. 메모리 소자(100)는 제1 메모리 영역(110) 이외의 메모리 영역을 포함하는 것이 바람직하다. 도 1에는 제1 메모리 영역(110) 이외의 메모리 영역의 예시로서, 제2 메모리 영역(120)이 도시 되어 있으며, 도 2에는 제1 메모리 영역(110) 이외의 메모리 영역의 예시로서, 제2 메모리 영역(120) 및 제3 메모리 영역(130)이 도시 되어 있다.
제1 메모리 영역(110)은 제1 메모리 영역(110) 이외의 메모리 영역에 억세스 하는 방식으로 억세스하는 것이 불가능한 영역이다. 메모리 소자(100)에 연결 된 외부 장치는 제1 메모리 영역(110)에 저장 된 데이터를 원본 그대로 리드(read)할 수 없다. 상기 외부 장치는 메모리 소자(100)에 연결 되어 메모리 소자(100)를 제어하는 제어기(200) 또는 호스트 장치(300)를 의미한다.
메모리 소자(100)에 연결 된 상기 외부 장치는 제1 메모리 영역(110)에 저장 된 데이터에 원본 그대로 리드할 수 없으므로, 도 1 내지 4에는 제어기(200) 또는 호스트 장치(300)가 제1 메모리 영역(110)에 억세스 할 수 없는 것(NOT ACCESSIBLE)으로 도시 되어 있다. 이하, 본 발명의 명세서 또는 도면에 기재 된 제1 메모리 영역(110)의 "NOT ACCESSIBLE"은 상기 외부 장치가 제1 메모리 영역(110)에 저장 된 데이터를 원본 그대로 리드할 수 없는 것을 의미하는 표현으로 기재 된다. 한편, 도 10에도 타입1 영역(410)이 호스트 장치(300) 또는 제어기(200)로부터 "NOT ACCESSIBLE" 한 것으로 도시 되어 있으며, 타입1 영역(410)의 "NOT ACCESSIBLE"은 제1 메모리 영역(110)의 "NOT ACCESSIBLE"과 동일한 의미이다.
제1 메모리 영역(110)에 대한 억세스는 보안 로직(140)에 의한 읽기 전용 억세스에 한하여 허용 된 것일 수 있다. 또한, 메모리 소자(100)는 제1 메모리 영역(110)에 저장 된 모든 데이터는 보안 로직(140)을 통하여 출력 되도록 설계 된 회로를 가질 수 있다.
제1 메모리 영역(110)에 저장 된 데이터는 보안 로직(140) 만이 억세스 할 수 있으므로, 제1 메모리 영역(110)에 저장 된 데이터와 다른 값이 출력 되는 에러를 보정하기 위한 에러 보정(Error Correction) 기능 또한 보안 로직(140)이 제공할 수 있다. 일부 실시예에 따르면, 제1 메모리 영역(110)에 연결 된 에러 보정 회로(미도시)에서 상기 에러 보정 기능을 수행하고, 제1 메모리 영역(110)에 저장 된 데이터는 상기 에러 보정 회로를 거쳐서 에러가 보정 된 후, 보안 로직(140)에 전달 될 수도 있다. 상기 에러 보정 회로는 플립플롭(flip-flop) 회로로 구성 될 수 있다. 상기 에러 보정 기능은 기존의 에러 보정 기술을 적용하는 것으로 족하므로, 본 명세서에서는 이와 관련 된 별도의 설명을 생략하기로 한다.
제1 메모리 영역(110)에는 보안 데이터(111)가 저장 되어 있다. 입출력 로직(150)은 호스트 장치(300) 또는 제어기(200)와의 데이터 입출력을 인터페이스한다.
입출력 로직(150)은 호스트 장치(300) 또는 제어기(200)로부터 수신 된 커맨드 및 어드레스 정보를 해석하고, 메모리 어레이(160)로부터 출력 되는 데이터를 호스트 장치(300) 또는 제어기(200)에 출력하는 로직을 의미할 수 있다.
도 1 및 도 2에는 메모리 소자(100)가 제어기(200)에 연결 되어 있는 것이 도시 되어 있으나, 본 발명의 일부 실시예에 따르면 메모리 소자(100)가 제어기(200)를 경유하지 않고 호스트 장치(300)와 직접 연결 될 수도 있다. 이 경우, 호스트 장치(300)가 제어기(200)의 동작을 수행한다.
본 실시예에 따른 메모리 소자(100)는 암호화 된 보안 데이터(121)를 제2 메모리 영역(120)에 저장하고, 제2 메모리 영역(120)에 저장 된 암호화 된 보안 데이터(121)가 호스트 장치(300)에 출력 될 수 있도록 한다. 제2 메모리 영역(120)은 호스트 장치(300)로부터의 억세스가 허용 된 영역이다. 이미 언급한 바와 같이, 제1 메모리 영역(110)은 제어기(200)로부터 "NOT ACCESSIBLE"하고, 보안 로직(140)에 의한 읽기 전용 억세스에 한하여 억세스가 허용 된다.
제어기(200)가 본 실시예에 따른 메모리 소자(100)로부터 암호화 된 보안 데이터를 출력 받는 동작을 설명한다.
먼저, 암호화 된 보안 데이터(121)가 제2 메모리 영역(120)에 저장 되어 있지 않은 경우, 보안 로직(140)이 보안 데이터(111)를 리드하고, 리드 된 보안 데이터의 에러를 보정한 후, 보안 데이터(111)를 암호화한다. 상기 암호화에 사용 되는 암호화 알고리즘 및 사용 되는 암호화 키는 특정한 것으로 제한 되지 않으나, 암호화 키와 복호화 키가 동일하도록 대칭키 암호화 방식에 의한 알고리즘, 예를 들어 AES(Advanced Encryption Standard) 표준에 따르는 암호화 알고리즘이 사용 될 수 있다. 다음으로, 보안 로직(140)은 제2 메모리 영역(120)에 암호화 된 보안 데이터(121)를 저장한다.
제어기(200)가 보안 데이터(111)와 관련 된 요청을 입출력 로직(150)에 입력하면, 입출력 로직(150)은 제2 메모리 영역(120)에 저장 된 암호화 된 보안 데이터(121)를 리드 하여 출력한다. 상기 요청은 보안 데이터(111)를 출력해줄 것을 요청하는 것일 수도 있고, 보안 데이터(111)를 이용하여 수행 되는 메모리 소자(100)의 인증 절차 개시 요청일 수도 있다. 상기 요청은 제어기(200) 자체가 발생시킬 수도 있으나, 호스트의 요청을 제공 받아 발생시킬 수도 있다.
한편, 도 2에 도시 된 바와 같이, 본 실시예에 따른 보안 데이터는 메모리 소자(100)에 고유하게 할당 된 메모리 고유 키일 수 있다. 즉, 메모리 소자(100)는 제1 메모리 영역(110)에 자신의 고유 키를 저장할 수 있고, 상기 메모리 고유 키가 원본 그대로 유출 되지 않도록 보호할 수 있다. 이와 관련하여, 도 2를 참조하여 설명하기로 한다. 참고로, 메모리 고유 키(112)는 MEMORY UNIQUE SECRET의 약자를 의미하는 메모리 고유 키로, 암호화 된 메모리 고유 키(122)는 ENCRYPTED MEMORY UNIQUE SECRET의 약자를 의미하는 암호화 메모리 고유 키로 도면에 도시 되거나, 명세서를 통해 지칭 될 수 있다.
도 2를 참조하여, 제어기(200)가 본 실시예에 따른 메모리 소자(100)로부터 암호화 메모리 고유 키를 출력 받는 동작을 설명한다.
먼저, 제2 메모리 영역(120)에 암호화 메모리 고유 키(122)가 저장 되어 있지 않은 경우, 보안 로직(140)이 메모리 고유 키(112) 리드, 에러 보정, 암호화를 거쳐서 제2 메모리 영역(120)에 암호화 메모리 고유 키(122)를 저장한다.
다음으로, 제어기(200)가 메모리 고유 키(112)와 관련 된 요청을 입출력 로직(150)에 입력하면, 입출력 로직(150)은 제2 메모리 영역(120)에 저장 된 암호화 메모리 고유 키(122)를 리드 하여 출력한다. 한편, 암호화 메모리 고유 키(122)가 임의로 변경, 삭제 되는 것을 막기 위하여 제2 메모리 영역(120)은 제어기(200)에 의한 읽기-전용 억세스 만 허용 된 것일 수 있다.
도 2에는 보안 로직(140)이 암호화 메모리 고유 키(122)를 제2 메모리 영역(120)에 저장하는 것으로 도시 되어 있으나, 암호화 메모리 고유 키(122)는 메모리 소자(100)의 제조자가 메모리 소자(100)의 제조 단계에서 메모리 고유 키(112)와 함께 저장할 수 있다. 암호화 메모리 고유 키(122)가 제2 메모리 영역(120)에 저장 된 상태로 메모리 소자(100)가 출고 되는 경우, 보안 로직(140)은 메모리 고유 키(112)를 암호화 하여 제2 메모리 영역(120)에 저장하는 동작을 수행하지 않는다.
도 3을 참조하여 본 실시예에 따른 메모리 소자(100)의 동작 방법을 설명한다. 도 3에는 도 1에 도시 된 메모리 소자(100)의 동작이 설명 되어 있다. 도 3과 관련 된 설명에 있어서, 이미 설명 된 내용의 반복 설명은 하지 않기로 한다.
메모리 소자(100)는 보안 데이터와 관련 된 요청을 입력 받아(S100), 암호화 된 보안 데이터가 제2 메모리 영역(120)에 저장 되어 있는지 판단한다(S102). 암호화 된 보안 데이터가 제2 메모리 영역(120)에 저장 되어 있는 경우, 제2 메모리 영역(120)에 저장 된 암호화 된 보안 데이터를 출력한다(S108). 반면에, 암호화 된 보안 데이터가 제2 메모리 영역(120)에 저장 되어 있지 않은 경우, 보안 로직(140)이 제1 메모리 영역(110)에 저장 된 보안 데이터(111)를 리드하여 암호화 하고(S104), 암호화 된 보안 데이터를 제2 메모리 영역(120)에 저장 한 후(S106), 제2 메모리 영역(120)에 저장 된 암호화 된 보안 데이터를 출력한다(S108).
본 실시예에 따르면, 제어기(200)가 제1 메모리 영역(110)에 저장 된 보안 데이터(111)와 관련 된 요청을 입력하더라도 메모리 소자(100)는 보안 데이터(111)를 원본 그대로 출력하지 않고, 제2 메모리 영역(120)에 저장 된 암호화 된 보안 데이터(121)를 출력해주기 때문에, 보안 데이터(111) 원본 유출이 차단 되는 효과가 있다. 보안 데이터(111)는 어떠한 상황에서도 암호화 된 상태로만 메모리 소자(100) 외부로 출력 된다.
다음으로, 도 4을 참조하여 본 발명의 제2 실시예에 따른 보안 데이터를 보호하는 메모리 소자를 설명한다.
본 실시예에 따른 메모리 소자(100)는 제어기(200)를 경유하지 않고 호스트 장치(300)와 직접 연결 된다. 또한, 메모리 소자(100)는 제1 메모리 영역(110)에 저장 된 보안 데이터(111)를 보안 로직(140)이 암호화 하여 출력한다. 본 실시예에 따른 메모리 소자(100)의 동작을 설명한다.
호스트 장치(300)가 보안 데이터(111)에 관련 된 요청, 예를 들어 보안 데이터(111)를 이용한 인증 절차 개시 요청 또는 보안 데이터(111) 출력 요청을 입출력 로직(150)에 입력하면, 입출력 로직(150)은 상기 요청을 보안 로직(140)에 전달할 수 있다. 입출력 로직(150)은 상기 요청에 부가 된 리드 데이터 어드레스를 해석하거나, 기 지정 된 보안 데이터(111) 관련 커맨드와 일치 하는 지 여부를 판정함으로써 입력 된 요청이 보안 데이터(111)에 관한 것인지 판단할 수 있다. 즉, 본 실시예에 따른 입출력 로직(150)은 제1 메모리 영역(110)에 저장 된 데이터에 관련 된 요청은 직접 처리하지 않고 보안 로직(140)에 전달할 수 있다. 이는, 제1 메모리 영역(110)은 보안 로직(140)에게만 억세스가 허용 되기 때문이다.
보안 로직(140)은 상기 요청을 입출력 로직(150)으로부터 전달 받아, 제1 메모리 영역(110)으로부터 보안 데이터(111)를 리드 하고, 에러 보정을 거친 후, 보안 데이터(111)를 암호화한다. 이미 언급한 바와 같이, 일부 실시예에 따르면 보안 데이터(111)는 상기 에러 보정 회로를 거쳐서 에러가 보정 되어 보안 로직(140)에 제공 될 수도 있으며, 이러한 경우에는 보안 로직(140)은 보안 데이터(111)를 바로 암호화한다.
보안 로직(140)은 암호화 된 보안 데이터를 입출력 로직(150)에 제공하여, 암호화 된 보안 데이터가 호스트 장치(300)에 출력 되도록 한다.
도 5를 참조하여 본 실시예에 따른 메모리 소자(100)의 동작 방법을 설명한다. 도 5에는 도 4에 도시 된 메모리 소자(100)의 동작이 설명 되어 있다. 도 5와 관련 된 설명에 있어서, 이미 설명 된 내용의 반복 설명은 하지 않기로 한다.
메모리 소자(100)가 보안 데이터와 관련 된 요청을 입력 받으면(S200), 보안 로직(140)이 제1 메모리 영역(110)에 저장 된 보안 데이터(111)를 리드하여 암호화 하고(S202), 암호화 된 보안 데이터를 출력한다(S204).
이상 설명한 바와 같이, 본 실시예에 따른 메모리 소자(100)의 제1 메모리 영역(110)에 저장 된 보안 데이터(111)는 제어기(200)로부터의 억세스가 물리적으로 불가능하고, 메모리 소자(100) 내에 위치한 보안 로직(140)에 의한 억세스만 가능하며, 보안 로직(140)은 보안 데이터(111)를 리드한 후에 암호화하여 출력한다. 따라서, 보안 데이터(111)는 어떠한 상황에서도 암호화 된 상태로만 메모리 소자(100) 외부로 출력 된다. 즉, 본 실시예에 따른 메모리 소자(100)는 보안 데이터(111)가 유출 될 확률을 크게 낮출 수 있다.
한편, 본 실시예에 따른 메모리 소자(100)는 호스트 장치(300) 또는 제어기(200)에 의한 읽기 전용 억세스 및 보안 로직(140)에 의한 억세스가 허용 된 제2 메모리 영역(120) 및 호스트 장치(300) 또는 제어기(200)에 의한 읽기-쓰기 억세스가 허용 되는 제3 메모리 영역(130)을 더 포함할 수 있다. 따라서, 메모리 소자(100)는 제1 메모리 영역(110), 제2 메모리 영역(120) 및 제3 메모리 영역(130)으로 저장 공간이 구성 되는 메모리 어레이(160)를 포함할 수 있다.
도 6 내지 도 7를 참조하여 본 발명의 제3 실시예에 따른 메모리 고유 키를 보호하는 메모리 소자를 설명한다. 본 실시예에 따른 메모리 소자(100)는 호스트(300) 또는 제어기(200)로부터의 읽기-쓰기 억세스가 허용 된 제3 메모리 영역(130)을 포함할 수 있다. 즉, 본 실시예에 따른 메모리 소자(100)는 외부 억세스가 불가능한 제1 메모리 영역(110), 외부로부터 읽기 전용 억세스만 허용 된 제2 메모리 영역(120) 및 외부로부터 읽기-쓰기 억세스가 허용 된 제3 메모리 영역(130)을 포함할 수 있으며, 제1 메모리 영역(110)에는 메모리 고유 키(112)가, 제2 메모리 영역(120)에는 암호화 메모리 고유 키(122)가 각각 저장 될 수 있다.
호스트 장치(300)의 입장에서 메모리 고유 키(112)를 이용하여 특정 작업을 수행하려면 암호화 메모리 고유 키(122)를 복호화 하여 메모리 고유 키(112)를 획득하여야 한다. 암호화 메모리 고유 키(122)의 복호화 키를 제2 복호화 키라 지칭한다.
본 실시예에 따른 메모리 소자(100)는 상기 제2 복호화 키가 암호화 된 암호화 제2 복호화 키(131)를 제3 메모리 영역(130)에 저장할 수 있다. 즉, 메모리 소자(100)는 제2 복호화 키 원본을 저장하지 않고, 암호화 된 제2 복호화 키만을 저장한다. 메모리 소자(100)에 제2 복호화 키 원본이 저장 되면, 암호화 메모리 고유 키(122)를 간단하게 메모리 고유 키(112)로 복호화 할 수 있기 때문이다.
암호화 제2 복호화 키(131)의 복호화를 위한 키는 호스트 장치(300)에 저장 된 제1 복호화 키(301)이고, 상기 제1 복호화 키는 호스트 장치의 제조사 별로 고유한 값을 가지거나, 호스트 장치 별로 고유한 값을 가질 수 있다.
도 6에 도시된 바와 같이, 호스트 장치(300)는 제어기(200)를 통하여 암호화 메모리 고유 키(122)를 요청 및 제공 받고, 마찬가지로 제어기(200)를 통하여 제3 메모리 영역(130)에 저장 된 암호화 제2 복호화 키(131)를 요청 및 제공 받은 후, 도 7에 도시 된 바와 같이, 제1 복호화 키(301)를 이용하여 암호화 제2 복호화 키(131)를 제2 복호화 키(302)로 복호화 하고(S300), 제2 복호화 키(302)를 이용하여 암호화 메모리 고유 키(121)를 메모리 고유 키(111)로 복호화 한다(S302). 이하, 'A를 이용하여 암호화 또는 복호화 하는 것'은 A를 암호화 키 또는 복호화 키로 사용하여 암호화 또는 복호화 하는 것을 의미하는 것으로 한다.
한편, 제3 메모리 영역(130)은 메모리 고유 키(112)를 바탕으로 생성 된 암호화 키를 이용하여 암호화 된 데이터를 저장할 수도 있다. 메모리 고유 키(112)를 바탕으로 생성 된 암호화 키를 이용하여 데이터를 암호화 하는 것에 대하여는 본 발명의 다른 실시예를 통하여 보다 자세히 설명한다.
도 8을 참조하여, 본 발명의 제4 실시예에 따른 메모리 고유 키를 이용하여 인증 정보를 생성하는 메모리 소자를 설명한다. 본 실시예의 메모리 소자(100)는 제1 메모리 영역(110)에 저장 된 메모리 고유 키(112)를 이용하여 호스트 장치(300) 또는 컨트롤러(200)와 같은 외부 장치로부터 자신을 인증 받기 위하여, 인증 정보를 생성하고, 생성 된 인증 정보를 상기 외부 장치에 제공할 수 있다. 이하, 상기 인증 정보의 생성 관련 동작을 설명한다.
본 실시예에 따른 메모리 소자(100)는 제1 메모리 영역(110)에 복수 개의 메모리 보조 키(113)를 더 저장한다. 제1 메모리 영역(110)은 보안 로직(140)에 의하여만 억세스 가능하므로, 복수 개의 메모리 보조 키(113) 역시 보안 로직(140)에 의하여만 억세스 가능하다.
보안 로직(140)은 메모리 고유 키(112)를 암호화 한 데이터에 기초하여 메모리 장치 측 인증 정보를 생성한다. 보안 로직(140)은 메모리 고유 키(112)를 암호화 메모리 고유 키(122)로 암호화하는 데 사용 된 제1 키와는 다른 제2 키를 이용하여 메모리 고유 키(112)을 암호화 하고, 상기 암호화 된 데이터에 기초하여 메모리 장치 측 인증 정보를 생성한다.
상기 제2 키는 복수 개의 메모리 보조 키(113) 중 하나를 암호화 한 데이터를 기초로 생성 될 수 있다. 이를 위해, 보안 로직(140)은 복수 개의 메모리 보조 키(113) 중 하나를 선택하고(S400), 선택 된 메모리 보조 키를 암호화 한다(S402). 메모리 보조 키의 선택(S400)은 소정의 기준에 의하여 보안 로직(140) 자체적으로 수행할 수도 있고, 호스트 장치(300) 또는 제어기(200)로부터 제공 된 정보를 참조하여 이뤄질 수도 있다. 또한, 선택 된 메모리 보조 키의 암호화(S402)는 호스트 장치(300) 또는 제어기(200)로부터 제공 된 인증 정보 생성 용 정보로부터 생성 된 키를 암호화 키로 하여 수행 될 수 있다. 보안 로직(140)은 메모리 고유 키(112)를 상기 제2 키를 이용하여 암호화한 데이터에 기초하여 메모리 장치 측 인증 정보(141)를 생성한다(S404).
본 실시예에 따르면, 메모리 장치 측 인증 정보(141)가 메모리 소자(100) 내에 저장 되고, 원본 데이터가 외부로 유출 되지 않는 메모리 고유 키(112) 및 복수의 메모리 보조 키(113)를 이용하여 생성 된다. 즉, 메모리 장치 측 인증 정보(141)를 생성하는 소스 데이터가 외부로 유출 되지 않기 때문에, 메모리 장치 측 인증 정보(141)의 조작 위험이 크게 줄어든다. 또한, 메모리 장치 측 인증 정보(141)의 생성 과정에서 호스트 장치(300)가 제공하는 데이터가 반영 되므로, 다양한 메모리 장치 인증 방법의 사용이 가능하고, 인증 시 마다 서로 다른 인증 정보를 생성하여, 인증 정보의 조작 위험을 더 줄일 수 있는 효과가 있다.
도 9를 참조하여, 본 발명의 제5 실시예에 따른 메모리 장치를 인증하고, 인증 성공 시 데이터를 암호화 하여 메모리 장치에 저장하는 호스트 장치를 설명한다. 도 9에 도시 된 바와 같이, 본 실시예에 따른 호스트 장치(300)는 인터페이스부(310), 키 저장부(312) 및 메모리 고유 키 획득부(314)를 포함한다.
인터페이스부(310), 키 저장부(312) 및 메모리 고유 키 획득부(314)를 포함하는 호스트 장치(300)는 메모리 장치(400)로부터 제공 받은 암호화 메모리 고유 키(122)를 복호화하여 메모리 고유 키(112)를 획득할 수 있다.
인터페이스부(310)는 메모리 장치(400)에 포함 된 메모리 소자(100) 및 제어기(200) 중 하나로부터 메모리 소자(100)의 메모리 고유 키(메모리 고유 키)가 암호화 된 암호화 메모리 고유 키(암호화 메모리 고유 키)(122) 및 상기 암호화 메모리 고유 키를 복호화 하기 위한 제2 복호화 키가 암호화 된 암호화 제2 복호화 키(131)를 제공 받는다.
키 저장부(312)는 암호화 제2 복호화 키(131)를 복호화 하기 위한 제1 복호화 키(3121)를 저장한다. 제1 복호화 키(3121)는 호스트 장치(300) 제조자에 대하여 고유한 값을 가지거나, 호스트 장치(300) 별로 고유한 값을 가질 수 있다.
메모리 고유 키 획득부(314)는 제1 복호화 키(3121)를 이용하여 암호화 제2 복호화 키(131)를 복호화하여 제2 복호화 키(302)를 획득하고, 제2 복호화 키(302)를 이용하여 암호화 메모리 고유 키(암호화 메모리 고유 키)(122)를 복호화 하여 메모리 고유 키(메모리 고유 키)(112)를 획득한다.
다음으로, 본 실시예에 따른 호스트 장치(300)가 메모리 고유 키(112)를 이용하여 메모리 장치(400)의 인증을 수행하는 것에 대하여 설명한다. 호스트 장치(300)가 메모리 장치(400)를 인증한다는 것은, 메모리 장치(400)가 호스트 장치(300)가 따르는 특정 표준을 만족하는 인증 정보를 생성하는지를 확인하는 것을 의미한다. 호스트 장치(300)가 A라는 표준에 따라 인증 정보를 생성하는 경우, 메모리 장치(400) 역시 A라는 표준에 따라 인증 정보를 생성하는 지를 확인함으로써, 호스트 장치(300)는 메모리 장치(400)가 A 표준에 따라 동작하는 장치인지 판정하고, 그 결과에 따라 서로 다른 동작을 할 수 있다. 메모리 장치(400)가 인증 정보를 생성하는 것에 대한 설명은 도 8을 참조한 본 발명의 제 4 실시예에 대한 설명에서 찾아볼 수 있다.
메모리 장치(400)의 인증을 수행하는 호스트 장치(300)는 획득 된 메모리 고유 키(112)에 기초하여 호스트 장치 측 인증 정보를 생성하고, 인터페이스부(310)로부터 메모리 장치(400)에 포함 된 메모리 소자(100) 및 제어기(200) 중 하나로부터 메모리 측 인증 정보(141)를 제공 받아, 상기 호스트 장치 측 인증 정보와 상기 메모리 측 인증 정보의 비교에 의한 메모리 장치 인증을 수행하는 인증 처리부(320)를 더 포함할 수 있다.
인증 처리부(320)는 랜덤 넘버를 생성하고, 상개 랜덤 넘버를 이용하여 상기 호스트 장치 측 인증 정보를 생성할 수 있다. 상기 랜덤 넘버는 메모리 장치(400)에도 제공 된다. 메모리 측 인증 정보(141)는 상기 랜덤 넘버를 이용하여 생성 된 것일 수 있다. 인증 처리부(320)는 메모리 고유 키(112)에 기초 하되, 상기 랜덤 넘버를 이용하여 호스트 측 인증 정보를 생성하고, 메모리 장치(400)로 하여금 상기 랜덤 넘버를 이용하여 메모리 측 인증 정보를 생성하게 함으로써, 인증 시 마다 서로 다른 인증 정보가 생성 되도록 할 수 있다. 인증 시 마다 서로 다른 인증 정보가 생성 되는 점이 인증의 보안성을 높여준다.
다음으로, 본 실시예에 따른 호스트 장치(300)가 메모리 고유 키(112)를 이용하여 데이터 암호화를 위한 암호화 키를 생성하고, 데이터를 암호화 하는 것에 대하여 설명한다. 본 실시예에 따른 호스트 장치(300)는 메모리 장치(400)에 저장 될 데이터를 암호화 하되, 메모리 장치(400)의 고유 키(메모리 고유 키)를 기초로 생성 된 암호화 키를 사용함으로써, 메모리 장치(400) 이외의 저장 장치로 암호화 된 데이터가 복제 되는 경우, 복제 된 데이터의 복호화가 불가능하도록 할 수 있다.
예를 들어, 제1 메모리 장치의 고유 키를 기초로 생성 된 키 A를 사용하여 영화 컨텐츠를 대칭형 암호화하고, 암호화 된 영화 컨텐츠를 상기 제1 메모리 장치에 저장하는 경우, 상기 암호화 된 영화 컨텐츠를 상기 제1 메모리 장치와 다른 제2 메모리 장치로 복제하면, 호스트 장치(400)가 상기 제2 메모리 장치에 복제 된 상기 암호화 된 영화 컨텐츠를 복호화 하기 위하여 상기 제2 메모리 장치의 고유 키를 기초로 키 B를 생성할 것이고, 키 A와 키 B는 서로 다른 것이 자명하므로, 상기 복제 된 영화 컨텐츠는 복호화 될 수 없고, 따라서 재생이 불가능하다.
암호화 데이터가 저장 될 저장 장치의 고유 키가 원본 그대로 유출 되지 않는 점에서, 본 실시예는 불법 복제를 방지할 수 있는 데이터 암호 키 생성 방법을 제공한다.
본 실시예에 따른 호스트 장치(300)는 획득 된 메모리 고유 키(112)에 기초하여 데이터 암호 키를 생성하는 암호키 생성부(316)를 더 포함한다. 이하, 데이터 암호 키는 인증 결과 식별자(Enhanced Media ID)(303)라고 지칭한다.
본 실시예에 따른 호스트 장치(300)는 인증 결과 식별자(303)를 이용하여 암호화 대상 데이터를 암호화하는 데이터 암호화부(318)를 더 포함할 수 있다. 데이터 암호화부(318)는 대칭형 암호화 알고리즘을 이용하여 암호화된 데이터를 인증 결과 식별자(303)를 사용하여 복호화할 수 있도록 하는 것이 바람직하다.
암호화 된 상기 암호화 대상 데이터는 인터페이스부(310)를 통하여 메모리 소자(400)에 제공 된다.
요약하면, 본 실시예에 따른 호스트 장치(300)는 메모리 장치(400)로부터 메모리 고유 키(112)를 획득하고, 메모리 고유 키(112)를 이용하여 메모리 장치(400)의 인증을 수행하며, 데이터의 암호화를 위한 인증 결과 식별자(303)도 생성한다. 인증 결과 식별자(303)를 이용하여 암호화 된 데이터는 메모리 고유 키(112)를 저장하는 메모리 소자(100)에 저장 된다.
도 10을 참조하여, 본 발명의 제6 실시예에 따른 메모리 고유 키를 보호하는 메모리 장치를 설명한다. 도 10에 도시 된 바와 같이, 본 실시예에 따른 메모리 장치(400)는 타입1 영역(110), 타입2 영역(120), 타입3 영역(130)의 세가지 저장 영역을 포함할 수 있다.
그 중, 타입1 영역(110)은 호스트 장치(300) 또는 제어기(200)로부터의 억세스가 불허되고, 메모리 고유 키(112)를 저장한다. 도 10에는 도시 되어 있지 않으나, 타입1 영역(110)은 보안 로직(미도시)에 의하여는 읽기 전용 억세스 가능할 수 있다. 상기 보안 로직은 타입1 영역(110)에 저장 된 데이터를 리드하고, 리드 된 데이터를 연산하는 기능을 수행할 수 있다. 타입1 영역(110)은 타입1 영역은 복수의 메모리 보조 키(Slot Key#0, Slot Key#1, Slot Key#2 … Slot Key#N-1, 단 N은 메모리 보조 키의 기 지정 된 개수)(113)를 더 저장할 수 있다.
또한, 타입2 영역(420)은 호스트 장치(300) 또는 제어기(200)로부터의 읽기 전용 억세스만 가능하고, 메모리 고유 키(112)가 암호화 된 암호화 메모리 고유 키(122)를 저장한다. 타입2 영역(120)은 메모리 장치(400)의 제조자 ID(124) 및 복수의 메모리 보조 키(113) 각각에 대응 되는 복수의 메모리 보조 키 인덱스(125)(Slot Key#0에 대응 되는 Slot Key Index#0, Slot Key#1에 대응 되는 Slot Key Index#1, Slot Key#2에 대응 되는 Slot Key Index#2 … Slot Key#N-1에 대응 되는 Slot Key Index#N-1)를 포함하는 보조 키 컨테이너(126)를 더 저장할 수 있다. 보조 키 컨테이너(126)는 호스트 장치(300)에 의한 호스트 장치 측 인증 정보의 생성을 위하여 호스트 장치(300)에 출력 될 수 있다.
각각의 메모리 보조 키 인덱스는 대응 되는 각각의 메모리 보조 키에 대한 팩터(factor)를 포함하는 데이터로서, 상기 메모리 보조 키 인덱스를 추가 정보와 조합하여 해석하는 경우, 대응 되는 메모리 보조 키를 획득할 수 있다. 암호화 메모리 고유 키(122)로부터 메모리 고유 키(112)를 획득할 수 있는 점은 이미 설명한 바 있다. 따라서, 본 실시예에 따른 메모리 장치(400)는 타입1 영역(410)에 저장 된 데이터를 원본 그대로 출력하지는 않지만, 출력 된 데이터의 복호화를 통하여 타입1 영역(410)에 저장 된 데이터 원본을 획득할 수 있는 데이터는 타입2 영역(420)을 통하여 제공하는 것으로 이해할 수 있다.
한편, 암호화 메모리 고유 키(122)는 호스트 장치(300)에 의한 메모리 장치(400)의 인증 프로세스에 사용 될 수 있다. 복수의 메모리 보조 키(113) 중 호스트 장치(300)에 의하여 선택 된 하나의 메모리 보조 키도 호스트 장치(300)에 의한 메모리 장치(400)의 인증 프로세스에 사용 될 수 있다.
마지막으로, 타입3 영역(430)은 호스트 장치(300) 또는 제어기(200)로부터의 읽기/쓰기 억세스가 가능하다. 타입3 영역(130)은 복수의 암호화 제2 복호화 키(131)를 포함하는 제2 복호화 키 블록(132)을 더 저장할 수 있다. 이 때, 상기 각각의 암호화 제2 복호화 키는 대응 되는 호스트 장치 제조자에 할당 된 것이다. 예를 들어, 암호화 제2 복호화 키 #0은 호스트 장치 제조사 X에, 암호화 제2 복호화 키 #1은 호스트 장치 제조사 Y에 각각 할당 된 것일 수 있다.
이미 설명한 바와 같이, 제2 복호화 키는 암호화 메모리 고유 키(122)를 메모리 고유 키(112)로 복호화하기 위한 키 인바, 호스트 장치(300)에 의한 메모리 고유 키(112)의 생성을 위하여 제2 복호화 키 블록(132) 및 암호화 메모리 고유 키(122)가 호스트 장치(300)에 출력 될 수 있다.
도 11를 참조하여, 본 발명의 제 7 실시예에 따른 메모리 고유 키를 보호하는 메모리 장치를 설명한다. 본 실시예에 따른 메모리 장치(400)는 둘 이상의 메모리 소자를 포함한다. 도 11에는 그 일 예로서 4 개의 메모리 소자(401, 402, 403, 404)를 포함하는 메모리 장치(400)가 도시 되어 있다. 메모리 장치(400)의 저장 용량은 메모리 장치(400)에 포함 된 메모리 소자들(401, 402, 403, 404) 각각이 가지는 저장 용량이 합산 된 용량이다.
메모리 장치(400)에 포함 되는 메모리 소자들(401, 402, 403, 404)은 불휘발성 메모리로서, NAND-FLASH 메모리, NOR-FLASH 메모리, 상변화 메모리 (PRAM: Phase change Random Access Memory), 고체 자기 메모리(MRAM: Magnetic Random Access Memory), 저항 메모리(RRAM, Resistive Random Access Memory)를 저장 수단으로 사용 한 칩 또는 패키지 일 수 있다. 메모리 소자들(401, 402, 403, 404)은 메모리 장치(400)에 포함 된 기판(미도시) 상에 실장 될 수 있다.
하나의 메모리 장치(400)에 포함 되는 메모리 소자들(401, 402, 403, 404)은 동일하거나 다른 종류의 불휘발성 메모리일 수 있으며, 동일하거나 다른 저장 용량을 가진 것일 수 있다.
하나의 메모리 장치(400)에 포함 되는 메모리 소자들(401, 402, 403, 404)은 메모리 장치(400)를 사용하는 외부 장치에게 하나의 저장 장치로 인식 된다.
도 11에 도시 된 바와 같이, 메모리 장치(400)에 포함 되는 각각의 메모리 소자들(401, 402, 403, 404)이 각각 타입1 영역(410) 및 타입2 영역(420)을 포함할 수 있다. 반면에, 타입3 영역(430)은 메모리 장치(400)에 포함 된 모든 메모리 소자들(401, 402, 403, 404)이 공동 구성할 수 있다. 즉, 타입3 영역(430)은 물리적으로 별개의 메모리 소자들(401, 402, 403, 404)에 포함 된 저장 공간들로 구성 된 하나의 논리적 저장 공간일 수 있다.
타입1 영역(410), 타입2 영역(420) 및 타입3 영역(430)에 대한 외부 장치의 억세스 가부 및 타입1 영역(410), 타입2 영역(420) 및 타입3 영역(430)에 저장 되는 데이터는 본 발명의 제6 실시예에 설명 된 바 있으니, 중복 하여 설명하지 않는다.
도 12를 참조하여, 본 발명의 제8 실시예에 따른 호스트 장치의 메모리 고유 키 획득 방법을 설명한다.
먼저, 호스트 장치(300)는 호스트 장치(300)에 기 저장 된 제1 복호화 키 인덱스(305)를 참조하여, 메모리 장치(400)의 타입3 영역(430)에 저장 된 제2 복호화 키 블록(132)에 포함 된 복수의 암호화 된 제2 복호화 키 중 하나를 선택한다(S1010). 제1 복호화 키 인덱스(305)는 호스트 장치(300) 제조자 별로 고유한 값을 가지거나, 호스트 장치(300) 별로 고유한 값을 가질 수 있다. 제1 복호화 키 인덱스(305)는 호스트 장치(300) 제조자 별로 고유한 값을 가지는 것이 바람직하다.
다음으로, 호스트 장치(300)는 호스트 장치(300)에 기 저장 된 제1 복호화 키(3121)를 복호화 키로 사용하여 선택 된 암호화 제2 복호화 키를 복호화하여, 제2 복호화 키를 획득한다(S1020).
도 12에는 복호화 알고리즘으로써, AES(Advanced Encryption Standard)의 대칭형 복호화 알고리즘이 사용 된다는 의미로 AES_D가 기재 되어 있다. 이하, 동일하므로, AES_D의 도면 상 표기에 대한 설명을 생략한다. AES_D가 기재 되어 있는 동작은 AES 이외의 대칭형 복호화 알고리즘이 사용 되는 복호화 동작을 의미할 수도 있다. 또한, AES_E는 AES의 대칭형 암호화 알고리즘이 사용 된다는 의미로 도면에 기재 되어 있다. AES_D와 마찬가지로, AES_E가 기재 되어 있는 동작은 AES 이외의 대칭형 암호화 알고리즘이 사용 되는 복호화 동작을 의미할 수도 있다. 이하, AES_E의 도면상 표기에 대한 설명을 생략한다.
다음으로, 호스트 장치(300)는 메모리 장치(400)의 타입2 영역(420)에 저장 된 암호화 메모리 고유 키(122)을 획득 된(S1020) 제2 복호화 키를 이용하여 복호화함으로써, 메모리 고유 키(112)를 획득한다.
도 13을 참조하여, 본 발명의 제9 실시예에 따른 호스트 장치가 메모리 장치를 인증하는 방법 및 인증 성공 시 데이터를 암호화하기 위한 키를 생성하는 방법을 설명한다.
먼저, 본 실시예에 따른 메모리 장치(400)가 메모리 측 인증 정보를 생성하는 방법을 설명한다.
메모리 장치(400)는 호스트 장치(300)로부터 타겟 슬롯의 번호에 대한 정보를 제공 받는다. 메모리 장치(400)는 복수의 메모리 보조 키(113) 중, 상기 제공 받은 타겟 슬롯의 번호가 지정하는 하나의 메모리 보조 키를 선택한다(S1120). 도 13에는 i번째 메모리 보조 키를 선택한 것으로 표기 되어 있다. 타입1 영역(410)은 보안 로직(미도시)에 의하여만 억세스 될 수 있으므로, 복수의 메모리 보조 키(113)를 리드하는 것은 상기 보안 로직에 의하여 수행 될 수 있다.
다음으로, 메모리 장치(400)는 선택(S1120) 된 메모리 보조 키를 호스트 장치(300)로부터 제공 받은 슬롯 변형 넘버(307)를 이용하여 암호화 하여, 메모리 보조 키 변형 값을 생성한다(S1122).
다음으로, 메모리 장치(400)는 호스트 장치(300)에 의하여 생성 된 랜덤 넘버를 제공 받는다(S1113). 메모리 장치(400)는 상기 메모리 보조 키 변형 값을 상기 랜덤 넘버를 이용하여 암호화 하여 메모리 장치 측 세션 키를 생성한다(S1124).
다음으로, 메모리 장치(400)는 메모리 고유 키(112) 및 상기 메모리 장치 측 세션 키에 기초하여, 메모리 장치 측 인증 정보를 생성한다(S1126). 메모리 장치(400)는 상기 메모리 장치 측 인증 정보를 호스트 장치(300)에 출력한다.
메모리 장치 측 인증 정보를 생성하는 것(S1126)은 두 단계에 걸쳐서 수행 될 수 있다. 먼저, 메모리 고유 키(112)를 상기 메모리 장치 측 세션 키를 키로 하여 암호화(AES_E) 한다. 다음으로, 상기 암호화 된 메모리 고유 키 및 상기 세션 키를 소정의 일방 함수(one-way function)에 입력하여 상기 일방 함수로부터 출력 된 함수 값이 상기 메모리 장치 측 인증 정보가 된다. 상기 일방 함수는 비트 연산은 출력 값으로부터 입력 값을 각각 찾아내는 것이 계산상 불가능한 것으로서, 예를 들어 2개의 연산자(operand)를 입력 받는 비트 연산 중 배타적 논리합(XOR)일 수 있다. 이 경우, AES_G는 "AES(X1, X2) = AES_E(X1, X2) XOR X2"와 같이 표현 될 수 있다.
도 13에서는 암호화 및 일방 함수 연산의 두단계를 거치는 연산을 AES_G로 표기한다. 이하, AES_G에 대한 도면 상 표기의 설명을 생략한다.
다음으로, 호스트 장치(300)가 메모리 장치(400)를 인증하는 방법을 설명한다.
먼저, 메모리 장치(400)의 타입2 영역(420)에 저장 된 보조 키 컨테이너(126)를 리드하고, 당해 인증에 대하여 지정 된 타겟 슬롯 번호(i)에 대한 정보를 참조하여 보조 키 컨테이너(126)에 포함 된 데이터를 파싱(parsing)하여, 보조 키 컨테이너(126)에 포함 된 복수의 메모리 보조 키 인덱스(125) 중 하나의 메모리 보조 키 인덱스를 선택한다(S1110). 예를 들어, 도 13에 도시 된 바와 같이, 당해 인증에 대하여 i번째 타겟 슬롯이 지정 된 경우, 보조 키 컨테이너(126)에 포함 된 데이터를 파싱한 결과, j 번째 메모리 보조 키 인덱스가 선택 될 수 있다.
다음으로, 호스트 장치(300)는 기 저장 된 보조 키 변형 세트(306) 중 상기 선택 된 j 번째 메모리 보조 키 인덱스의 데이터가 가리 키는 하나의 메모리 보조 키 변형 데이터를 선택한다(S1112). 보조 키 변형 세트(306)는 각 호스트 장치(300)에 대하여 고유한 데이터가 저장 된 것이거나, 각 호스트 장치(300)의 제조자 별로 고유한 데이터가 저장 된 것일 수 있다.
다음으로, 호스트 장치(300)는 랜덤 넘버를 생성하고(S1114), 선택 된(S1112) 메모리 보조 키 변형 데이터를 상기 생성 된 랜덤 넘버를 키로 하여 암호화 하여(S1116), 호스트 장치 측 세션 키를 생성한다.
다음으로, 호스트 장치(300)는 기 획득 된 메모리 고유 키(112) 및 상기 호스트 장치 측 세션 키에 기초하여 호스트 장치 측 인증 정보를 생성한다(S1118). 메모리 장치 측 인증 정보 생성의 경우와 같이, 호스트 장치 측 인증 정보를 생성하는 것(S1118)은 두 단계에 걸쳐서 수행 될 수 있다. 먼저, 메모리 고유 키(112)를 상기 호스트 장치 측 세션 키를 키로 하여 암호화(AES_E) 한다. 다음으로, 상기 암호화 된 메모리 고유 키 및 상기 세션 키를 소정의 일방(one-way) 함수에 입력하여 출력 된 함수 값이 상기 호스트 장치 측 인증 정보가 된다. 이때, 메모리 장치 측 인증 정보의 생성을 위하여 사용 되는 일방 함수와 호스트 장치 측 인증 정보의 생성을 위하여 사용 되는 일방 함수는 동일한 것이 바람직하다.
다음으로, 호스트 장치는 상기 호스트 장치 측 인증 정보와 상기 메모리 장치 측 인증 정보를 비교하여 메모리 장치를 인증한다(S1128). 예를 들어, 양측의 인증 정보가 동일한 경우, 인증이 성공한 것으로, 그렇지 않은 경우는 인증이 실패한 것으로 판정할 수 있을 것이다.
다음으로, 호스트 장치(300)가 메모리 장치(400)를 인증하는 데 성공한 경우, 호스트 장치(300)는 데이터를 암호화 하기 위한 암호화 키로서, 인증 결과 식별자를 생성할 수 있다. 보다 자세하게는, 호스트 장치(300)는 메모리 고유 키(112) 및 애플리케이션 고유 키(Application Specific Secret Value; ASSV)에 기초하여 데이터 암호화 키로서, 인증 결과 식별자를 생성할 수 있다(S1130).
상기 애플리케이션 고유 키는 호스트 장치(300)에서 수행 되는 각 애플리케이션에 대하여 고유한 키가 부여 되는 것일 수 있다. 예를 들어 음악 재생 애플리케이션, 영상 재생 애플리케이션, 소프트웨어 설치 애플리케이션 별로 서로 다른 고유의 키가 부여 될 수 있다. 상기 애플리케이션 고유 키는 암호화 되는 상기 데이터의 타입에 따라 고유한 값을 가지거나, 암호화 되는 상기 데이터의 제공자 식별 정보에 따라 고유한 값을 가질 수 있다. 예를 들어, 상기 데이터의 타입은 컨텐츠 타입, 즉 영화인지, 음악인지, 소프트웨어인지 여부를 의미할 수 있고, 상기 데이터의 제공자는 컨텐츠 제공자를 의미할 수 있다. 바람직하게는, 상기 애플리케이션 고유 키는 암호화 되는 상기 데이터의 타입에 따라 고유한 값을 가질 수 있다.
인증 정보 생성의 경우와 같이, 인증 결과 식별자를 생성하는 것(S1130)은 두 단계에 걸쳐서 수행 될 수 있다. 먼저, 메모리 고유 키(112)를 상기 애플리케이션 고유 키를 키로 하여 암호화(AES_E) 한다. 다음으로, 상기 암호화 된 메모리 고유 키 및 상기 애플리케이션 고유 키를 소정의 일방(one-way) 함수에 입력하여 출력 된 함수 값이 상기 인증 결과 식별자가 된다.
도 14를 참조하여, 본 발명의 제10 실시예에 따른 호스트 장치의 메모리 장치 인증 및 암호화 컨텐츠 저장 방법을 설명한다.
먼저, 도 13에 도시 된 방법에 의하여 호스트 장치(300)가 메모리 장치(400)를 인증한다(S1202). 인증이 성공하지 못한 경우(S1204), 인증 실패를 안내할 수 있다(S1206). 다만, 인증이 실패하더라도, 보안 컨텐츠의 이용이 불가능할 뿐, 인증이 실패 된 메모리 장치(400)도 일반적인 데이터 입출력 용도로는 사용이 가능하다.
인증을 성공한 경우, 도 13에 도시 된 방법에 의하여 인증 결과 식별자를 생성한다. 암호화 대상 컨텐츠(308)는 인증 결과 식별자를 암호화 키로 하여 암호화 되며(S1208), 암호화 된 컨텐츠(309)는 메모리 장치(400)에 저장 된다.
도 15를 참조하여, 본 발명의 몇몇 실시예에 따른 메모리 장치에 대하여 설명한다.
도 15을 참조하면, 메모리 시스템(1000)은 비휘발성 메모리 장치(1100) 및 컨트롤러(1200)를 포함한다. 앞서 설명한 메모리 장치(400)는 도 15에 도시 된 메모리 시스템(1000) 형태로 구성 될 수 있다.
여기서 비휘발성 메모리 장치(1100)는 앞서 설명한 적어도 하나의 메모리 소자(100)를 포함할 수 있다.
컨트롤러(1200)는 호스트(Host) 및 비휘발성 메모리 장치(1100)에 연결된다. 호스트(Host)로부터의 요청에 응답하여, 컨트롤러(1200)는 비휘발성 메모리 장치(1100)를 억세스하도록 구성된다. 예를 들면, 컨트롤러(1200)는 비휘발성 메모리 장치(1100)의 읽기, 쓰기, 소거, 그리고 배경(background) 동작을 제어하도록 구성된다. 컨트롤러(1200)는 비휘발성 메모리 장치(1100) 및 호스트(Host) 사이에 인터페이스를 제공하도록 구성된다. 컨트롤러(1200)는 비휘발성 메모리 장치(1100)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다.
예시적으로, 컨트롤러(1200)는 램(RAM, Random Access Memory), 프로세싱 유닛(processing unit), 호스트 인터페이스(host interface), 그리고 메모리 인터페이스(memory interface)와 같은 잘 알려진 구성 요소들을 더 포함한다. 램(RAM)은 프로세싱 유닛의 동작 메모리, 비휘발성 메모리 장치(1100) 및 호스트(Host) 사이의 캐시 메모리, 그리고 비휘발성 메모리 장치(1100) 및 호스트(Host) 사이의 버퍼 메모리 중 적어도 하나로서 이용된다. 프로세싱 유닛은 컨트롤러(1200)의 제반 동작을 제어한다.
호스트 인터페이스는 호스트(Host) 및 컨트롤러(1200) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함한다. 예시적으로, 컨트롤러(1200)는 USB (Universal Serial Bus) 프로토콜, MMC (multimedia card) 프로토콜, PCI (peripheral component interconnection) 프로토콜, PCI-E (PCI-express) 프로토콜, ATA (Advanced Technology Attachment) 프로토콜, Serial-ATA 프로토콜, Parallel-ATA 프로토콜, SCSI (small computer small interface) 프로토콜, ESDI (enhanced small disk interface) 프로토콜, 그리고 IDE (Integrated Drive Electronics) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 외부(호스트)와 통신하도록 구성된다. 메모리 인터페이스는 비휘발성 메모리 장치(1100)와 인터페이싱한다. 예를 들면, 메모리 인터페이스는 낸드 인터페이스 또는 노어 인터페이스를 포함한다.
메모리 시스템(1000)은 오류 정정 블록을 추가적으로 포함하도록 구성될 수 있다. 오류 정정 블록은 오류 정정 코드(ECC)를 이용하여 비휘발성 메모리 장치(1100)로부터 읽어진 데이터의 오류를 검출하고, 정정하도록 구성된다. 예시적으로, 오류 정정 블록은 컨트롤러(1200)의 구성 요소로서 제공된다. 오류 정정 블록은 비휘발성 메모리 장치(1100)의 구성 요소로서 제공될 수 있다.
컨트롤러(1200) 및 비휘발성 메모리 장치(1100)는 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 컨트롤러(1200) 및 비휘발성 메모리 장치(1100)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 컨트롤러(1200) 및 비휘발성 메모리 장치(1100)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성할 것이다.
컨트롤러(1200) 및 비휘발성 메모리 장치(1100)는 하나의 반도체 장치로 집적되어 반도체 드라이브(SSD, Solid State Drive)를 구성할 수 있다. 반도체 드라이브(SSD)는 반도체 메모리에 데이터를 저장하도록 구성되는 메모리 소자를 포함한다. 메모리 시스템(10)이 반도체 드라이브(SSD)로 이용되는 경우, 메모리 시스템(1000)에 연결된 호스트(Host)의 동작 속도는 획기적으로 개선된다.
다른 예로서, 메모리 시스템(1000)은 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), 3차원 수상기(3-dimensional television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공된다.
예시적으로, 비휘발성 메모리 장치(1100) 또는 메모리 시스템(1000)은 다양한 형태들의 패키지로 실장될 수 있다. 예를 들면, 비휘발성 메모리 장치(1100) 또는 메모리 시스템(1000)은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 방식으로 패키지화되어 실장될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
400: 메모리 장치
410: 타입1 영역 112: 메모리 고유 키
420: 타입2 영역 122: 암호화 된 메모리 고유 키
430: 타입3 영역

Claims (42)

  1. 메모리 소자에 있어서,
    보안 로직;
    상기 보안 로직에 의한 억세스 만 허용 되는 보안 데이터를 저장하는 제1 메모리 영역;
    외부 장치에 의한 억세스가 허용 되고, 상기 보안 데이터가 제1 키를 이용하여 암호화 된 데이터인 암호화 보안 데이터를 저장하는 제2 메모리 영역; 및
    상기 외부 장치와의 데이터 입출력을 인터페이스하고, 상기 외부 장치로부터 상기 보안 데이터와 관련 된 요청이 입력 된 경우, 상기 암호화 보안 데이터를 제공하는 입출력 로직을 포함하는 메모리 소자.
  2. 제1 항에 있어서,
    상기 외부 장치에 의한 억세스 및 상기 보안 로직에 의한 억세스가 허용 된 제2 메모리 영역을 더 포함하고,
    상기 보안 로직은 상기 암호화 보안 데이터를 상기 제2 메모리 영역에 저장하고,
    상기 입출력 로직은 상기 제2 메모리 영역에 저장 된 상기 암호화 보안 데이터를 상기 호스트 장치 또는 제어기에 출력하는 메모리 소자.
  3. 제2 항에 있어서,
    상기 제2 메모리 영역은 상기 외부 장치에 의한 읽기 전용 억세스만 허용 되는 메모리 소자.
  4. 제3 항에 있어서,
    상기 외부 장치에 의한 읽기-쓰기 억세스가 허용 되는 제3 메모리 영역을 더 포함하고,
    상기 제3 메모리 영역은 상기 제1 키가 암호화 된 데이터인 암호화 제1 키를 저장하는 메모리 소자.
  5. 제4 항에 있어서,
    상기 암호화 제1 키의 복호화를 위한 키는 상기 호스트 장치에 저장 된 제1 복호화 키고, 상기 제1 복호화 키는 호스트 장치의 제조사 별로 고유한 값인 메모리 소자.
  6. 제1 항에 있어서,
    상기 보안 데이터는 상기 메모리 소자의 메모리 고유 키인 메모리 소자.
  7. 제6 항에 있어서,
    상기 호스트 장치 또는 제어기에 의한 읽기-쓰기 억세스가 허용 되고, 상기 메모리 고유 키를 바탕으로 생성 된 암호화 키를 이용하여 암호화 된 데이터를 저장하는 제3 메모리 영역을 더 포함하는 메모리 소자.
  8. 제1 항에 있어서,
    상기 보안 데이터는 상기 메모리 소자의 메모리 고유 키이고,
    상기 보안 로직은 상기 메모리 고유 키를 상기 제1 키와 다른 제2 키를 이용하여 암호화 한 데이터에 기초하여 인증 정보를 생성하고, 상기 인증 정보를 상기 입출력 로직을 통하여 출력하는 메모리 소자.
  9. 제8 항에 있어서,
    상기 제1 메모리 영역은 복수의 메모리 보조 키를 더 저장하고,
    상기 제2 키는 상기 복수의 메모리 보조 키 중 하나의 메모리 보조 키 및 상기 외부 장치로부터 제공 된 인증 정보 생성 용 데이터를 바탕으로 생성 되는 메모리 소자.
  10. 메모리 소자에 있어서,
    보안 로직;
    상기 보안 로직에 의한 억세스 만 허용 되고 보안 데이터를 저장하는 제1 메모리 영역; 및
    호스트 장치 또는 제어기와의 데이터 입출력을 인터페이스하고, 상기 보안 데이터의 출력 요청을 상기 보안 로직에 전달하는 입출력 로직을 포함하되,
    상기 보안 로직은 상기 보안 데이터와 관련 된 요청을 상기 입출력 로직으로부터 전달 받아, 상기 제1 메모리 영역으로부터 리드한 상기 보안 데이터를 암호화 하여 암호화 보안 데이터를 생성하고, 상기 암호화 보안 데이터를 상기 입출력 로직에 제공하는 메모리 소자.
  11. 제10 항에 있어서,
    상기 보안 로직은 상기 보안 데이터를 대칭키 암호화 방식에 의하여 암호화 하여 암호화 보안 데이터를 생성하는 메모리 소자.
  12. 제10 항에 있어서,
    상기 보안 로직은 상기 제1 메모리 영역에 저장 된 상기 보안 데이터의 에러 보정(Error Correction) 기능을 제공하는 메모리 소자.
  13. 호스트 장치에 있어서,
    메모리 장치에 포함 된 메모리 소자 및 메모리 제어기 중 하나로부터 메모리 소자의 메모리 고유 키가 암호화 된 암호화 메모리 고유 키 및 상기 암호화 메모리 고유 키를 복호화 하기 위한 제2 복호화 키가 암호화 된 암호화 제2 복호화 키를 제공 받는 인터페이스부;
    상기 암호화 제2 복호화 키를 복호화 하기 위한 제1 복호화 키를 저장하는 키 저장부; 및
    상기 제1 복호화 키를 이용하여 상기 암호화 제2 복호화 키를 복호화하여 상기 제2 복호화 키를 획득하고, 상기 제2 복호화 키를 이용하여 상기 암호화 메모리 고유 키를 복호화 하여 상기 메모리 고유 키를 획득하는 메모리 고유 키 획득부를 포함하는 호스트 장치.
  14. 제13 항에 있어서,
    상기 획득 된 메모리 고유 키에 기초하여 데이터 암호 키를 생성하는 암호키 생성부; 및
    상기 데이터 암호 키를 이용하여 암호화 대상 데이터를 암호화하는 데이터 암호화부를 더 포함하고,
    암호화 된 상기 암호화 대상 데이터는 상기 인터페이스부를 통하여 상기 메모리 소자에 제공 되는 호스트 장치.
  15. 호스트 장치의 메모리 고유 키 획득 방법에 있어서,
    메모리 장치에 포함 된 메모리 소자 및 메모리 제어기 중 하나로부터 메모리 소자의 메모리 고유 키가 암호화 된 암호화 메모리 고유 키 및 상기 암호화 메모리 고유 키를 복호화 하기 위한 제2 복호화 키가 암호화 된 암호화 제2 복호화 키를 제공 받고;
    기 저장 된 제1 복호화 키를 이용하여 상기 암호화 제2 복호화 키를 복호화하여 상기 제2 복호화 키를 획득하고;
    상기 획득 된 제2 복호화 키를 이용하여 상기 암호화 메모리 고유 키를 복호화 하여 상기 메모리 고유 키를 획득하는 것을 포함하는 호스트 장치의 메모리 고유 키 획득 방법.
  16. 호스트 장치에 있어서,
    메모리 장치에 포함 된 메모리 소자 및 메모리 제어기 중 하나로부터 메모리 소자의 메모리 고유 키가 암호화 된 암호화 메모리 고유 키 및 상기 암호화 메모리 고유 키를 복호화 하기 위한 제2 복호화 키가 암호화 된 암호화 제2 복호화 키를 제공 받는 인터페이스부;
    상기 암호화 제2 복호화 키를 복호화 하기 위한 제1 복호화 키를 저장하는 키 저장부;
    상기 제1 복호화 키를 이용하여 상기 암호화 제2 복호화 키를 복호화하여 상기 제2 복호화 키를 획득하고, 상기 제2 복호화 키를 이용하여 상기 암호화 메모리 고유 키를 복호화 하여 상기 메모리 고유 키를 획득하는 메모리 고유 키 획득부; 및
    상기 획득 된 메모리 고유 키에 기초하여 호스트 장치 측 인증 정보를 생성하고, 상기 인터페이스부로부터 상기 메모리 장치에 포함 된 메모리 소자 및 메모리 제어기 중 하나로부터 메모리 측 인증 정보를 제공 받아, 상기 호스트 장치 측 인증 정보와 상기 메모리 측 인증 정보의 비교에 의한 메모리 장치 인증을 수행하는 인증 처리부를 포함하는 호스트 장치.
  17. 제16 항에 있어서,
    상기 인증 처리부는 랜덤 넘버를 생성하고, 상기 획득 된 메모리 고유 키에 기초하되 상기 랜덤 넘버를 이용하여 상기 호스트 장치 측 인증 정보를 생성하고, 상기 랜덤 넘버를 상기 메모리 장치에 제공하는 호스트 장치.
  18. 메모리 장치에 있어서,
    호스트 장치 또는 제어기로부터의 억세스가 불허되고, 메모리 고유 키를 저장하는 타입1 영역;
    호스트 장치 또는 제어기로부터의 읽기 전용 억세스만 가능하고, 상기 메모리 고유 키가 암호화 된 암호화 메모리 고유 키를 저장하는 타입2 영역; 및
    호스트 장치 또는 제어기로부터의 읽기/쓰기 억세스가 가능한 타입3 영역을 포함하는 메모리 장치.
  19. 제18 항에 있어서,
    상기 암호화 메모리 고유 키는 호스트 장치에 의한 상기 메모리 장치의 인증 프로세스에 사용 되는 메모리 장치.
  20. 제18 항에 있어서,
    상기 타입1 영역은 복수의 메모리 보조 키를 더 저장하는 메모리 장치.
  21. 제20 항에 있어서,
    상기 복수의 메모리 보조 키 중 상기 호스트 장치에 의하여 선택 된 하나의 메모리 보조 키는 상기 메모리 장치의 인증 정보의 생성을 위하여 사용 되는 메모리 장치.
  22. 제18 항에 있어서,
    상기 타입2 영역은 상기 메모리 장치의 제조자 ID 및 상기 복수의 메모리 보조 키 각각에 대응 되는 복수의 메모리 보조 키 인덱스를 포함하는 보조 키 컨테이너를 더 저장하는 메모리 장치.
  23. 제22 항에 있어서,
    상기 호스트 장치에 의한 호스트 장치 측 인증 정보의 생성을 위하여 상기 보조 키 컨테이너가 상기 호스트 장치에 출력 되는 메모리 장치.
  24. 제18 항에 있어서,
    상기 타입3 영역은 복수의 암호화 제2 복호화 키를 포함하는 제2 복호화 키 블록을 더 저장하는 메모리 장치.
  25. 제24 항에 있어서,
    상기 각각의 암호화 제2 복호화 키는 대응 되는 호스트 장치 제조자에 할당 된 것인 메모리 장치.
  26. 제25 항에 있어서,
    상기 호스트 장치에 의한 상기 메모리 고유 키의 생성을 위하여 상기 제2 복호화 키 블록 및 상기 암호화 메모리 고유 키가 상기 호스트 장치에 출력 되는 메모리 장치.
  27. 메모리 장치에 있어서,
    호스트 장치 또는 제어기로부터의 억세스가 불허되고, 메모리 고유 키를 저장하는 타입1 영역;
    호스트 장치 또는 제어기로부터의 읽기 전용 억세스만 가능하고, 상기 메모리 고유 키가 암호화 된 암호화 메모리 고유 키를 저장하는 타입2 영역; 및
    호스트 장치 또는 제어기로부터의 읽기/쓰기 억세스가 가능한 타입3 영역을 포함하되,
    상기 타입3 영역은 2 이상의 메모리 소자에 의하여 구성 되는 메모리 장치.
  28. 메모리 장치에 있어서,
    제1 메모리 소자; 및
    제2 메모리 소자를 포함하되,
    상기 제1 메모리 소자 및 상기 제2 메모리 소자는 각각 호스트 장치 또는 제어기로부터의 억세스가 불허되고, 메모리 고유 키를 저장하는 타입1 영역과 호스트 장치 또는 제어기로부터의 읽기 전용 억세스만 가능하고, 상기 메모리 고유 키가 암호화 된 암호화 메모리 고유 키를 저장하는 타입2 영역을 포함하고,
    상기 제1 메모리 소자 및 상기 제2 메모리 소자는 호스트 장치 또는 제어기로부터의 읽기/쓰기 억세스가 가능한 타입3 영역을 공동 구성하는 메모리 장치.
  29. 메모리 장치의 인증 정보 생성 방법에 있어서,
    호스트 장치로부터 메모리 보조 키 번호 정보를 입력 받고;
    상기 메모리 보조 키 번호 정보에 따라 상기 메모리 장치에 저장 된 복수의 메모리 보조 키 중 하나를 선택하고;
    상기 선택 된 메모리 보조 키에 기초하여 메모리 장치 측 세션 키를 생성하고;
    상기 메모리 장치에 저장 된 메모리 고유 키 및 상기 메모리 장치 측 세션 키에 기초하여 메모리 장치 측 인증 정보를 생성하고;
    상기 메모리 장치 측 인증 정보를 상기 호스트 장치로 출력하는 것을 포함하되,
    상기 메모리 고유 키 및 상기 복수의 메모리 보조 키는 호스트 장치 또는 제어기로부터의 억세스가 불허되는 영역에 저장 되는 메모리 장치의 인증 정보 생성 방법.
  30. 제29 항에 있어서,
    상기 메모리 장치 측 세션 키를 생성하는 것은,
    상기 호스트 장치로부터 상기 호스트 장치 고유의 슬롯 변형 넘버를 입력 받고;
    상기 선택 된 메모리 보조 키를 상기 슬롯 변형 넘버를 키로 하여 암호화 하여 메모리 보조 키 변형 데이터를 생성하고;
    상기 메모리 보조 키 변형 데이터에 기초하여 상기 메모리 장치 측 세션 키를 생성하는 것을 포함하는 메모리 장치의 인증 정보 생성 방법.
  31. 제30 항에 있어서,
    상기 메모리 보조 키 변형 데이터에 기초하여 상기 메모리 장치 측 세션 키를 생성하는 것은,
    상기 호스트 장치로부터 랜덤 넘버를 입력 받고;
    상기 메모리 보조 키 변형 데이터를 상기 랜덤 넘버를 키로 하여 암호화 하여 상기 메모리 장치 측 세션 키를 생성하는 것을 포함하는 메모리 장치의 인증 정보 생성 방법.
  32. 제29 항에 있어서,
    상기 메모리 장치 측 인증 정보를 생성하는 것은,
    상기 메모리 고유 키를 상기 메모리 장치 측 세션 키로 암호화 하고;
    상기 암호화 된 메모리 고유 키 및 상기 세션 키를 일방 함수(one-way function)에 입력 하여 상기 일방 함수의 함수 값인 상기 메모리 장치 측 인증 정보를 생성하는 것을 포함하는 메모리 장치의 인증 정보 생성 방법.
  33. 호스트 장치의 메모리 고유 키 획득 방법에 있어서,
    메모리 장치로부터 상기 메모리 장치의 메모리 고유 키가 암호화 된 암호화 메모리 고유 키를 제공 받고;
    상기 메모리 장치로부터 복수의 암호화 제2 복호화 키를 포함하는 제2 복호화 키 블록을 제공 받고;
    제1 복호화 키 인덱스를 이용하여 상기 제2 복호화 키 블록에 포함 된 복수의 암호화 제2 복호화 키 중 하나의 암호화 제2 복호화 키를 선택하고;
    상기 선택 된 암호화 제2 복호화 키를 제1 복호화 키를 이용하여 복호화 하여 제2 복호화 키를 획득하고;
    상기 암호화 메모리 고유 키를 상기 제2 복호화 키를 이용하여 복호화 하여 상기 메모리 고유 키를 획득하는 것을 포함하되,
    상기 메모리 고유 키는 상기 메모리 장치의 상기 호스트 장치로부터의 억세스가 불허 되는 영역에 저장 되는 호스트 장치의 메모리 고유 키 획득 방법.
  34. 제33 항에 있어서,
    상기 제2 복호화 키를 획득하는 것은,
    상기 선택 된 암호화 제2 복호화 키를 상기 제1 복호화 키를 이용하여 AES 표준에 따른 복호화 알고리즘에 의하여 복호화 하여 상기 제2 복호화 키를 획득하는 것을 포함하고,
    상기 메모리 고유 키를 획득하는 것은,
    상기 암호화 메모리 고유 키를 상기 제2 복호화 키를 이용하여 상기 AES 표준에 따른 복호화 알고리즘에 의하여 복호화 하여 상기 메모리 고유 키를 획득하는 것을 포함하는 호스트 장치의 메모리 고유 키 획득 방법.
  35. 제33 항에 있어서,
    상기 복수의 암호화 제2 복호화 키는 각각 대응 되는 호스트 장치 제조자에 할당 된 것이고,
    상기 제1 복호화 키 인덱스 및 상기 제1 복호화 키는 상기 제조자에 고유하게 할당 된 것인 호스트 장치의 메모리 고유 키 획득 방법.
  36. 호스트 장치의 메모리 장치 인증 방법에 있어서,
    상기 메모리 장치로부터 상기 메모리 장치의 메모리 고유 키가 암호화 된 암호화 메모리 고유 키 및 복수의 암호화 제2 복호화 키를 포함하는 제2 복호화 키 블록을 제공 받고, 상기 복수의 암호화 제2 복호화 키 중 하나의 암호화 제2 복호화 키를 복호화 하여 획득한 제2 복호화 키를 이용하여 상기 메모리 고유 키를 복호화 함으로써 상기 메모리 고유 키를 획득하고;
    상기 메모리 장치로부터 복수의 메모리 보조 키 인덱스를 포함하는 보조 키 컨테이너를 제공 받고;
    상기 보조 키 컨테이너에 포함 된 정보를 이용하여 상기 호스트 장치에 고유하게 할당 된 메모리 보조 키 변형 데이터 세트 중 하나의 메모리 보조 키 변형 데이터를 선택하고;
    상기 선택 한 메모리 보조 키 변형 데이터에 기초하여 호스트 장치 측 세션 키를 생성하고;
    상기 호스트 장치 측 세션 키 및 상기 메모리 고유 키에 기초하여 호스트 장치 측 인증 정보를 생성하고;
    상기 메모리 장치로부터 메모리 장치 측 인증 정보를 제공받고;
    상기 메모리 장치 측 인증 정보와 상기 호스트 장치 측 인증 정보를 비교한 결과에 따라 인증 성공 여부를 판정하는 것을 포함하되,
    상기 메모리 고유 키는 상기 메모리 장치의 상기 호스트 장치로부터의 억세스가 불허 되는 영역에 저장 되는 호스트 장치의 메모리 장치 인증 방법.
  37. 제36 항에 있어서,
    상기 하나의 메모리 보조 키 변형 데이터를 선택하는 것은,
    상기 보조 키 컨테이너에 포함 된 데이터를 파싱(parsing)하여 상기 복수의 메모리 보조 키 인덱스 중 하나의 메모리 보조 키 인덱스를 선택 하고;
    상기 메모리 보조 키 변형 데이터 세트 중 상기 선택 한 메모리 보조 키 인덱스가 가리키는 하나의 메모리 보조 키 변형 데이터를 선택하는 것을 포함하는 호스트 장치의 메모리 장치 인증 방법.
  38. 제36 항에 있어서,
    상기 호스트 장치 측 세션 키를 생성하는 것은,
    랜덤 넘버를 생성하고;
    상기 선택 한 메모리 보조 키 변형 데이터를 상기 생성 된 랜덤 넘버를 암호화 키로 하여 암호화 하여 상기 호스트 장치 측 세션 키를 생성하는 것을 포함하는 호스트 장치의 메모리 장치 인증 방법.
  39. 제38 항에 있어서,
    상기 랜덤 넘버를 생성하는 것은,
    상기 생성 된 랜덤 넘버를 상기 메모리 장치에 입력하는 것을 포함하고,
    상기 메모리 장치 측 인증 정보는 상기 랜덤 넘버를 이용하여 생성 된 것인 호스트 장치의 메모리 장치 인증 방법.
  40. 호스트 장치의 데이터 암호화 키 생성 방법에 있어서,
    상기 호스트 장치에 연결 된 메모리 장치로부터 상기 메모리 장치의 메모리 고유 키가 암호화 된 암호화 메모리 고유 키 및 복수의 암호화 제2 복호화 키를 포함하는 제2 복호화 키 블록을 제공 받고, 상기 복수의 암호화 제2 복호화 키 중 하나의 암호화 제2 복호화 키를 복호화 하여 획득한 제2 복호화 키를 이용하여 상기 메모리 고유 키를 복호화 함으로써 상기 메모리 고유 키를 획득하고;
    상기 호스트 장치에 고유하게 할당 된 메모리 보조 키 변형 데이터 세트 중 선택 된 하나의 메모리 보조 키 변형 데이터에 기초하여 호스트 장치 측 세션 키를 생성하고, 상기 메모리 고유 키 및 상기 호스트 장치 측 세션 키를 이용하여 호스트 장치 측 인증 정보를 생성하며, 상기 메모리 장치로부터 제공 된 메모리 장치 측 인증 정보와 상기 호스트 장치 측 인증 정보를 비교하여 인증 성공 여부를 판정하고;
    상기 판정의 결과 인증이 성공한 경우, 애플리케이션 고유 키에 기초하여 데이터 암호화 키를 생성하는 것을 포함하되,
    상기 메모리 고유 키는 상기 메모리 장치의 상기 호스트 장치로부터의 억세스가 불허 되는 영역에 저장 되는 호스트 장치의 데이터 암호화 키 생성 방법.
  41. 제40 항에 있어서,
    상기 데이터 암호화 키를 생성하는 것은,
    상기 메모리 고유 키를 상기 애플리케이션 고유 키를 이용 하여 암호화 하고;
    상기 암호화 된 메모리 고유 키 및 상기 애플리케이션 고유 키를 일방 함수(one-way function)에 입력하여 상기 일방 함수의 함수 값인 상기 데이터 암호화 키를 생성하는 것을 포함하는 호스트 장치의 인증 정보 생성 방법.
  42. 호스트 장치의 암호화 데이터 저장 방법에 있어서,
    상기 호스트 장치에 연결 된 메모리 장치로부터 상기 메모리 장치의 메모리 고유 키가 암호화 된 암호화 메모리 고유 키 및 복수의 암호화 제2 복호화 키를 포함하는 제2 복호화 키 블록을 제공 받고, 상기 복수의 암호화 제2 복호화 키 중 하나의 암호화 제2 복호화 키를 복호화 하여 획득한 제2 복호화 키를 이용하여 상기 메모리 고유 키를 복호화 함으로써 상기 메모리 고유 키를 획득하고;
    상기 호스트 장치에 고유하게 할당 된 메모리 보조 키 변형 데이터 세트 중 선택 된 하나의 메모리 보조 키 변형 데이터에 기초하여 호스트 장치 측 세션 키를 생성하고, 상기 메모리 고유 키 및 상기 호스트 장치 측 세션 키를 이용하여 호스트 장치 측 인증 정보를 생성하며, 상기 메모리 장치로부터 제공 된 메모리 장치 측 인증 정보와 상기 호스트 장치 측 인증 정보를 비교하여 인증 성공 여부를 판정하고;
    상기 판정의 결과 인증이 성공한 경우, 애플리케이션 고유 키에 기초하여 데이터 암호화 키를 생성하고;
    암호화 대상 데이터를 상기 데이터 암호화 키를 이용하여 암호화 하고;
    암호화 된 상기 암호화 대상 데이터를 상기 메모리 장치에 제공하여 상기 메모리 장치에 저장 하는 것을 포함하되,
    상기 메모리 고유 키는 상기 메모리 장치의 상기 호스트 장치로부터의 억세스가 불허 되는 영역에 저장 되는 호스트 장치의 암호화 데이터 저장 방법.
KR1020110136797A 2011-12-16 2011-12-16 보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법 KR101859646B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020110136797A KR101859646B1 (ko) 2011-12-16 2011-12-16 보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법
US13/677,715 US9258111B2 (en) 2011-12-16 2012-11-15 Memory device which protects secure data, method of operating the memory device, and method of generating authentication information
US13/677,853 US20130156195A1 (en) 2011-12-16 2012-11-15 Method of obtaining a main key from a memory device, method of generating authentication information for a memory device, an external device and system icluding the external device
DE102012111793.4A DE102012111793B4 (de) 2011-12-16 2012-12-05 Speichervorrichtung zum Schützen von sicheren Daten und Verfahren zum Authentifizieren einer Speichervorrichtung unter Verwendung von sicheren Daten
CN201210520349.9A CN103164666B (zh) 2011-12-16 2012-12-06 保护安全数据的存储器装置及认证存储器装置的方法
JP2012274519A JP6140998B2 (ja) 2011-12-16 2012-12-17 セキュアデータを保護するメモリ装置及びセキュアデータを利用したメモリ装置の認証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110136797A KR101859646B1 (ko) 2011-12-16 2011-12-16 보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법

Publications (2)

Publication Number Publication Date
KR20130085536A true KR20130085536A (ko) 2013-07-30
KR101859646B1 KR101859646B1 (ko) 2018-05-18

Family

ID=48522210

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110136797A KR101859646B1 (ko) 2011-12-16 2011-12-16 보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법

Country Status (5)

Country Link
US (2) US9258111B2 (ko)
JP (1) JP6140998B2 (ko)
KR (1) KR101859646B1 (ko)
CN (1) CN103164666B (ko)
DE (1) DE102012111793B4 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018009294A1 (en) * 2016-07-02 2018-01-11 Intel Corporation Protected container key management processors, methods, systems, and instructions
CN110968263A (zh) * 2018-10-01 2020-04-07 爱思开海力士有限公司 存储器系统

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8661527B2 (en) 2011-08-31 2014-02-25 Kabushiki Kaisha Toshiba Authenticator, authenticatee and authentication method
JP5275432B2 (ja) 2011-11-11 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
JP5275482B2 (ja) 2012-01-16 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
US8996888B2 (en) * 2012-09-14 2015-03-31 Avalanche Technology, Inc. Mobile device using secure spin torque transfer magnetic random access memory (STTMRAM)
US9201811B2 (en) * 2013-02-14 2015-12-01 Kabushiki Kaisha Toshiba Device and authentication method therefor
US20140237244A1 (en) * 2013-02-19 2014-08-21 Kabushiki Kaisha Toshiba Device and authentication method therefor
US20140237258A1 (en) * 2013-02-20 2014-08-21 Kabushiki Kaisha Toshiba Device and authentication method therefor
KR101492087B1 (ko) * 2013-07-19 2015-03-02 임강수 휴대폰에 의해 제어되는 전자 보안 가방
US9912474B2 (en) * 2013-09-27 2018-03-06 Intel Corporation Performing telemetry, data gathering, and failure isolation using non-volatile memory
JP5900456B2 (ja) * 2013-10-09 2016-04-06 コニカミノルタ株式会社 画像処理システム、画像形成装置、中継装置、管理方法、および制御プログラム
US20150363333A1 (en) * 2014-06-16 2015-12-17 Texas Instruments Incorporated High performance autonomous hardware engine for inline cryptographic processing
US9298647B2 (en) * 2014-08-25 2016-03-29 HGST Netherlands B.V. Method and apparatus to generate zero content over garbage data when encryption parameters are changed
KR102291505B1 (ko) 2014-11-24 2021-08-23 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
JP6293648B2 (ja) * 2014-12-02 2018-03-14 東芝メモリ株式会社 メモリデバイス
EP3040896A1 (en) * 2014-12-30 2016-07-06 Gemalto Sa Secure element
CN104951689B (zh) * 2015-07-17 2018-05-18 王景春 桥式加解密芯片卡
CN105160271B (zh) * 2015-08-28 2017-11-10 英威康科技股份有限公司 可还原式文件保护装置控制方法及可还原式文件保护方法
CN106022095B (zh) * 2016-01-21 2019-06-28 李明 一种安全装置、安全控制方法及身份证读卡终端
CN106022033B (zh) * 2016-01-21 2019-06-28 李明 一种安全控制方法、安全装置及身份证读卡终端
EP3252651A1 (en) * 2016-05-30 2017-12-06 Samsung Electronics Co., Ltd Computing system having an on-the-fly encryptor and an operating method thereof
US10242197B2 (en) * 2016-09-23 2019-03-26 Intel Corporation Methods and apparatus to use a security coprocessor for firmware protection
US10637648B2 (en) * 2017-03-24 2020-04-28 Micron Technology, Inc. Storage device hash production
CN107256363B (zh) * 2017-06-13 2020-03-06 杭州华澜微电子股份有限公司 一种由加解密模块阵列组成的高速加解密装置
US10534553B2 (en) 2017-08-30 2020-01-14 Micron Technology, Inc. Memory array accessibility
US10713392B2 (en) * 2017-09-29 2020-07-14 Xilinx, Inc. Network interface device and method
US10721072B2 (en) * 2017-09-29 2020-07-21 Xilinx, Inc. Network interface device and method
KR20190075363A (ko) * 2017-12-21 2019-07-01 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈
US10715327B1 (en) * 2018-05-30 2020-07-14 Architecture Technology Corporation Software credential token issuance based on hardware credential token
KR20210104278A (ko) * 2020-02-17 2021-08-25 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11455102B2 (en) * 2020-03-09 2022-09-27 SK Hynix Inc. Computing system and operating method thereof
KR20210113906A (ko) * 2020-03-09 2021-09-17 에스케이하이닉스 주식회사 컴퓨팅 시스템 및 그 동작 방법
US11461021B2 (en) * 2020-03-09 2022-10-04 SK Hynix Inc. Computing system and operating method thereof
KR20210132253A (ko) 2020-04-24 2021-11-04 삼성전자주식회사 메모리 장치
CN112860790B (zh) * 2021-01-14 2023-05-30 华控清交信息科技(北京)有限公司 数据管理方法、系统、装置

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
JP3750417B2 (ja) 1999-05-25 2006-03-01 日本電信電話株式会社 Icカードセキュリティ管理方法及びicカード及びicカードセキュリティ管理プログラムを格納した記憶媒体
KR100847760B1 (ko) 2001-12-07 2008-07-23 주식회사 하이닉스반도체 메모리 장치 및 구동방법
NZ533176A (en) * 2001-12-25 2005-10-28 Ntt Docomo Inc Device and method for restricting content access and storage
JP2003271457A (ja) * 2002-03-14 2003-09-26 Sanyo Electric Co Ltd データ記憶装置
US7356147B2 (en) * 2002-04-18 2008-04-08 International Business Machines Corporation Method, system and program product for attaching a title key to encrypted content for synchronized transmission to a recipient
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
KR101044796B1 (ko) 2004-01-13 2011-06-29 삼성전자주식회사 휴대용 데이터 저장 장치
JP2006014035A (ja) * 2004-06-28 2006-01-12 Toshiba Corp 記憶媒体処理方法、記憶媒体処理装置及びプログラム
JP2006039966A (ja) * 2004-07-27 2006-02-09 Toshiba Corp メモリカードおよびメモリカードに搭載されるカード用コントローラ並びにメモリカードの処理装置
TW200636554A (en) 2004-12-21 2006-10-16 Sandisk Corp Memory ststem with versatile content control
EP1845654A1 (en) * 2005-01-31 2007-10-17 Matsushita Electric Industrial Co., Ltd. Backup management device, backup management method, computer program, recording medium, integrated circuit, and backup system
US8321686B2 (en) * 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8423788B2 (en) * 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US20070035381A1 (en) * 2005-08-15 2007-02-15 Davis Michael L Photon authenticated rfid transponder
US7668313B2 (en) * 2005-10-31 2010-02-23 Texas Instruments Incorporated Recipient-encrypted session key cryptography
KR100660546B1 (ko) 2005-11-10 2006-12-22 삼성전자주식회사 반도체 디스크 제어 장치
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
US8839005B2 (en) * 2006-09-13 2014-09-16 Sandisk Technologies Inc. Apparatus for transferring licensed digital content between users
KR100857760B1 (ko) 2007-05-15 2008-09-10 삼성전자주식회사 플래시 메모리를 이용한 암호키 저장 장치 및 그것의 보안방법
US20080301003A1 (en) * 2007-05-31 2008-12-04 Daniel Harkabi System for Online Buying
JP5209945B2 (ja) * 2007-12-12 2013-06-12 株式会社日立製作所 記憶装置、暗号化コンテンツの有効化方法及び端末装置
JP5248153B2 (ja) * 2008-03-14 2013-07-31 株式会社東芝 情報処理装置、方法及びプログラム
US8947207B2 (en) * 2008-04-29 2015-02-03 Quake Global, Inc. Method and apparatus for a deployable radio-frequency identification portal system
US8263623B2 (en) 2008-07-11 2012-09-11 Pfizer Inc. Triazol derivatives useful for the treatment of diseases
US20100031349A1 (en) * 2008-07-29 2010-02-04 White Electronic Designs Corporation Method and Apparatus for Secure Data Storage System
KR101538803B1 (ko) 2008-09-09 2015-07-22 삼성전자주식회사 펜 테이블로서 기능 할 수 있는 휴대용 전자장치 및 펜 테이블을 사용하는 컴퓨터 시스템
US8327066B2 (en) 2008-09-30 2012-12-04 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations
JP4592804B2 (ja) * 2008-12-26 2010-12-08 株式会社東芝 鍵管理装置および鍵管理システム
KR101555210B1 (ko) 2009-01-30 2015-09-23 삼성전자주식회사 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치
FR2942130B1 (fr) 2009-02-13 2019-09-06 Laboratoires Innothera Procede d'evaluation de la tenue sur le membre inferieur d'une orthese de contention veineuse elastique tricotee
KR101565968B1 (ko) 2009-03-04 2015-11-05 삼성전자주식회사 데이터 보호를 위한 메모리, 이를 포함하는 메모리 시스템 및 이의 동작 방법
KR101624969B1 (ko) 2009-05-26 2016-05-31 삼성전자주식회사 메모리 시스템 및 그것의 배드 블록 관리 방법
KR101573850B1 (ko) 2009-06-09 2015-12-02 삼성전자주식회사 마스킹 회로를 포함하는 데이터 처리 시스템과 그 방법
WO2011064883A1 (ja) * 2009-11-27 2011-06-03 株式会社東芝 メモリチップ
EP2579178A1 (en) * 2010-06-04 2013-04-10 Panasonic Corporation Controller, control method, computer program, program recording medium, recording apparatus, and method of manufacturing recording apparatus
US8997216B2 (en) * 2011-04-25 2015-03-31 Panasonic Corporation Recording medium apparatus and control method for authenticating a device based on a revocation list
JP2012256994A (ja) * 2011-06-08 2012-12-27 Hitachi-Lg Data Storage Inc コンテンツリスト及びコンテンツの配信装置及び配信方法
JP5100884B1 (ja) * 2011-12-02 2012-12-19 株式会社東芝 メモリ装置
US9075710B2 (en) * 2012-04-17 2015-07-07 SanDisk Technologies, Inc. Non-volatile key-value store
US8948400B2 (en) * 2012-06-15 2015-02-03 Kabushiki Kaisha Toshiba Host device
US8693694B2 (en) * 2012-06-15 2014-04-08 Kabushiki Kaisha Toshiba Information recording device
US20130336477A1 (en) * 2012-06-15 2013-12-19 Kabushiki Kaisha Toshiba Medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018009294A1 (en) * 2016-07-02 2018-01-11 Intel Corporation Protected container key management processors, methods, systems, and instructions
CN110968263A (zh) * 2018-10-01 2020-04-07 爱思开海力士有限公司 存储器系统
KR20200037579A (ko) * 2018-10-01 2020-04-09 에스케이하이닉스 주식회사 메모리 시스템
CN110968263B (zh) * 2018-10-01 2023-07-04 爱思开海力士有限公司 存储器系统

Also Published As

Publication number Publication date
US9258111B2 (en) 2016-02-09
US20130159733A1 (en) 2013-06-20
US20130156195A1 (en) 2013-06-20
KR101859646B1 (ko) 2018-05-18
DE102012111793A1 (de) 2013-06-20
JP2013127791A (ja) 2013-06-27
CN103164666A (zh) 2013-06-19
JP6140998B2 (ja) 2017-06-07
DE102012111793B4 (de) 2022-03-03
CN103164666B (zh) 2018-03-09

Similar Documents

Publication Publication Date Title
KR101859646B1 (ko) 보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법
US9135417B2 (en) Apparatus for generating secure key using device and user authentication information
US9325505B2 (en) Apparatus and method for content encryption and decryption based on storage device ID
US9100187B2 (en) Authenticator
KR100678927B1 (ko) 비보안 영역에 보안 영역을 할당하는 방법 및 이를제공하는 휴대용 저장 장치
US8325921B2 (en) Portable memory and a method for encrypting the same
US8161524B2 (en) Method and portable storage device for allocating secure area in insecure area
US20130145164A1 (en) Semiconductor memory device
JP2013242644A (ja) 仮想計算機システム、制御方法、およびプログラム
KR20150032970A (ko) 보안 기능을 제공하는 저장 매체 및 그 보안 방법
US8880900B2 (en) Memory system
KR20210132721A (ko) 네트워크에 액세스 시의 보안 통신
KR20140088414A (ko) 보안 데이터의 저장 검증을 위한 메모리 장치, 보안 데이터 저장 검증 시스템 및 그 검증 방법
KR20130049542A (ko) 메모리 소자 및 이를 포함하는 메모리 시스템
CN114006695B (zh) 硬盘数据保护方法、装置、可信平台芯片及电子设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
GRNT Written decision to grant