KR20120130734A - 비휘발성 저장 장치의 인증 방법 및 장치 - Google Patents

비휘발성 저장 장치의 인증 방법 및 장치 Download PDF

Info

Publication number
KR20120130734A
KR20120130734A KR1020120054604A KR20120054604A KR20120130734A KR 20120130734 A KR20120130734 A KR 20120130734A KR 1020120054604 A KR1020120054604 A KR 1020120054604A KR 20120054604 A KR20120054604 A KR 20120054604A KR 20120130734 A KR20120130734 A KR 20120130734A
Authority
KR
South Korea
Prior art keywords
authentication
information
storage device
authentication information
nonvolatile storage
Prior art date
Application number
KR1020120054604A
Other languages
English (en)
Other versions
KR101960036B1 (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 KR1020120054604A priority Critical patent/KR101960036B1/ko
Publication of KR20120130734A publication Critical patent/KR20120130734A/ko
Application granted granted Critical
Publication of KR101960036B1 publication Critical patent/KR101960036B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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
    • G06F21/44Program or device authentication
    • 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
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • 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/0827Key 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) involving distinctive intermediate devices or communication paths

Landscapes

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

Abstract

본 발명은 비휘발성 저장 장치의 인증 방법에 있어서, 상기 비휘발성 저장 장치를 인증하기 위한 호스트 장치가 상기 비휘발성 저장 장치로 인증을 위한 챌린지(Challenge) 정보를 송신하는 과정과, 상기 비휘발성 저장 장치로부터 상기 챌린지 정보에 대한 응답으로 복수의 인증 정보를 수신하는 과정과, 상기 수신한 복수의 인증 정보를 이용하여 상기 비휘발성 저장 장치의 인증을 수행하는 과정을 포함하며, 상기 복수의 인증 정보는 상기 챌린지 정보와, 상기 비휘발성 저장 장치에 저장된 비밀키 정보를 이용하여 생성됨을 특징으로 한다.

Description

비휘발성 저장 장치의 인증 방법 및 장치{METHOD AND APPARATUS FOR NON VOLATILE STORAGE DEVICE}
본 발명은 비휘발성 저장 장치를 인증하기 위한 방법 및 장치에 관한 것이다.
컨텐츠 보호를 위해 디지털 저작권 관리(Digital Rights Management: DRM), 복사 방지(copy protection) 등의 기술이 요구되는 바와 같이, 이러한 컨텐츠를 저장하는 SSD(Solid State Disk), 플래시 메모리 카드(flash memory card)와 같은 비휘발성 메모리(Non-Volatile Memory: NVM) 장치 등을 포함하는 저장 장치를 인증하기 위한 기술이 요구되고 있다. 즉, 컨텐츠 자체의 암호화 기술은 물론, 저장 장치의 하드웨어(hardware: H/W) 측면의 적합성을 검증하는 기술이 요구된다.
DRM 기술, SD(Secure Digital) 카드를 위한 CPRM(Content Protection for Recordable Media) 기술 및 블루레이(Blue-ray) 디스크를 위한 AACS(Advanced Access Content System) 기술에서는 공개 키 기반 구조(Public Key Infrastructure: PKI) 또는 다른 암호 기술(cryptographic technology)을 이용한 장치 인증 방법을 제공하지만, 저장 장치 자체의 복제 또는 적법한 플레이어(Player) 장치에 의한 부적합한 저장매체 인증 등의 공격에 대한 해결책이 되기는 어렵다.
SD 카드의 CPRM, 블루레이 디스크를 위한 AACS 등의 기술이 제안하는 기기 인증 방법은 저장 매체 생산 당시에 읽기 전용 영역(Read-Only Area)으로 지정된 위치에 식별자(Identifier)를 저장하고, 암호 스킴(Cryptographic Scheme)을 적용해 기기 인증 및 컨텐츠 보호 등에 사용하는 방법으로, 불법적인 하드웨어 업체가 손쉽게 다량의 인증된 기기를 복제(Cloning)할 수 있는 문제점을 가지고 있다.
그러나, 종래에는 호스트 장치가 비휘발성 저장장치를 직접적으로 인증하는 방식이 적용된 바가 없으며, 이에 따라, SD 카드, MMC, USB 형태의 비휘발성 저장장치는 컨트롤러(Controller)가 ECC(Error Correction Code) 기능과 매체 인증 기능을 수행하며, 저장 장치는 수동적인 데이터 저장 공간을 제공하는 역할만을 수행한다. 특히 플래쉬 메모리(Flash memory)의 경우 집적도가 증가하여 하나의 셀(Cell)에 저장되는 정보가 1bit(Single Level Cell)에서 2bits(Multi Level Cell), 3bits(TLC, Triple level cell)로 증가하게 되면서, 그에 따른 에러도 더욱 많이 증가하게 되기 때문에 강력한 ECC 교정 성능이 요구된다. 그러나 현재 저장 장치들의 대부분은 ECC 기능을 외부의 컨트롤러(Controller)에 의존하고 있으며, 인증 메카니즘을 위해 비휘발성 저장장치 자체적으로 ECC 기능을 포함하는 것은 큰 비용의 상승을 초래할 수 있다.
본 발명은 별도의 ECC 수단을 저장 장치에 부가하지 않고도 신뢰성 있는 ECC 기능을 제공할 수 있는 비휘발성 저장 장치의 인증 방법 및 인증 장치를 제공하고자 한다.
이를 달성하기 위한 본 발명의 제1 형태에 따르면, 본 발명은 비휘발성 저장 장치의 인증 방법에 있어서, 상기 비휘발성 저장 장치를 인증하기 위한 호스트 장치가 상기 비휘발성 저장 장치로 인증을 위한 챌린지(Challenge) 정보를 송신하는 과정과, 상기 비휘발성 저장 장치로부터 상기 챌린지 정보에 대한 응답으로 복수의 인증 정보를 수신하는 과정과, 상기 수신한 복수의 인증 정보를 이용하여 상기 비휘발성 저장 장치의 인증을 수행하는 과정을 포함하며, 상기 복수의 인증 정보는 상기 챌린지 정보와, 상기 비휘발성 저장 장치에 저장된 비밀키 정보를 이용하여 생성됨을 특징으로 하며,
상기 수신한 복수의 인증 정보를 이용하여 상기 비휘발성 저장 장치의 인증을 수행하는 과정은, 상기 수신한 복수의 인증 정보를 각각 검증하여, 검증에 성공한 인증 정보의 수가 전체 인증 정보의 수의 과반수를 넘는 경우 상기 비휘발성 저장 장치의 인증이 성공한 것으로 판단하거나, 상기 수신한 복수의 인증 정보를 각각 검증하여, 검증에 성공한 인증 정보의 수가 미리 설정된 문턱값보다 많은 경우 상기 비휘발성 저장 장치의 인증이 성공한 것으로 판단하거나, 상기 수신한 복수의 인증 정보들의 각 비트위치 별 비트 값들을 판단하여, 각 비트위치 별로 과반수의 비트값을 해당 비트위치의 비트값으로 설정한 최종 인증 정보를 생성하고, 상기 생성된 최종 인증 정보를 검증하여 상기 비휘발성 저장 장치의 인증을 수행하는 과정임을 특징으로 하며,
상기 호스트 장치는 상기 비휘발성 저장 장치로부터 헤더 정보를 수신하고, 상기 수신한 헤더 정보를 이용하여 인증 프로토콜을 결정하는 것을 특징으로 하며,
상기 인증 정보는 상기 헤더 정보에 포함된 반복 횟수 만큼 생성되는 것을 특징으로 한다.
본 발명의 제 2형태에 따르면, 본 발명은 비휘발성 저장 장치를 인증하기 위한 호스트 장치에 있어서, 상기 비휘발성 저장 장치와 데이터 통신을 수행하기 위한 인터페이스부와, 상기 인터페이스 부를 통해, 상기 비휘발성 저장 장치로 인증을 위한 챌린지(Challenge) 정보를 송신하고, 상기 챌린지 정보에 대한 응답으로 복수의 인증 정보를 수신하며, 상기 수신한 복수의 인증 정보를 이용하여 상기 비휘발성 저장 장치의 인증을 수행하는 인증 검증 모듈을 포함하며, 상기 복수의 인증 정보는 상기 챌린지 정보와, 상기 비휘발성 저장 장치에 저장된 비밀키 정보를 이용하여 생성됨을 특징으로 하며,
본 발명의 제3 형태에 따르면, 본 발명은 비휘발성 저장 장치의 인증 방법에 있어서, 상기 비휘발성 저장 장치가 호스트 장치로부터 인증을 위한 챌린지(Challenge) 정보를 수신하는 과정과, 상기 챌린지 정보와 상기 비휘발성 저장 장치에 저장된 비밀키 정보를 이용하여 복수의 인증 정보를 생성하는 과정과, 상기 생성된 복수의 인증 정보를 상기 챌린지 정보에 대한 응답으로 상기 호스트 장치로 전달하는 과정을 포함함을 특징으로 하며, 상기 인증 정보는 상기 헤더 정보에 포함된 반복 횟수 만큼 생성되는 것을 특징으로 하며, 상기 비밀키 정보는 상기 비휘발성 저장 장치에 한번 저장되거나, 또는 여러번 저장되는 것을 특징으로 한다.
본 발명의 제4 형태에 따르면, 본 발명은 비휘발성 저장 장치에 있어서, 인증 정보 생성을 위한 비밀키 정보와, 헤더 정보를 포함한 보호 영역과, 호스트 장치로부터 인증을 위한 챌린지(Challenge) 정보를 수신하기 위한 인터페이스부와, 상기 챌린지 정보와 상기 비밀키 정보를 이용하여 복수의 인증 정보를 생성하는 인증 정보 생성 장치를 포함하며, 상기 인터페이스부는 상기 생성된 복수의 인증 정보를 상기 챌린지 정보에 대한 응답으로 상기 호스트 장치로 전달하는 것을 특징으로 한다.
본 발명은 별도의 ECC 수단을 비휘발성 저장 장치에 추가하지 않고, 호스트 장치가 저장 장치로부터 인증 정보를 복수회 획득하여 저장 장치의 인증을 수행한다. 이에 따라, 에러 수정 기능(ECC 수단)이 독립적으로 제공되지 않는 저장 장치의 인증 방법을 제공할 수 있는 효과가 있으며, 에러 수정 기능을 저장 장치에 추가하지 않고도 저장 장치의 인증 방법을 제공하기 때문에 저장 장치 자체에 에러 수정 기능을 추가하는 것에 비해 비용을 절감할 수 있는 효과가 있다.
도 1은 종래의 컨트롤러를 통한 미디어의 인증을 수행하는 호스트 장치 및 미디어의 구성을 나타낸 도면,
도 2는 본 발명의 실시 예에 따른 비휘발성 저장 장치의 인증을 수행하는 호스트 장치 및 미디어의 구성을 나타낸 도면,
도 3은 본 발명의 실시 예에 따른 임베이디드 비휘발성 저장 장치의 인증을 수행하는 호스트 장치 및 비휘발성 저장 장치의 구성을 나타낸 도면,
도 4는 본 발명의 실시 예에 따른 비휘발성 저장 장치의 인증 동작을 수행하는 호스트 장치를 포함한 인증 시스템을 도시한 도면,
도 5는 본 발명의 실시 예에 따른 비휘발성 저장 장치의 인증을 수행하기 위한 호스트 장치의 구성을 나타낸 도면,
도 6은 본 발명의 실시 예에 따른 비휘발성 저장 장치의 구성을 나타낸 도면,
도 7은 본 발명의 실시 예에 따른 비휘발성 저장 장치의 인증을 수행하기 위한 호스트 장치의 인증 동작의 흐름을 나타낸 도면,
도 8은 본 발명의 실시 예에 따른 비휘발성 저장 장치의 인증을 수행 시, 수신한 인증 정보 및 수신한 인증 정보로부터 추출한 검증 정보의 예를 도시한 도면,
도 9는 본 발명의 실시 예에 따른 비휘발성 저장 장치의 인증 동작 시, 비휘발성 저장 장치의 동작의 흐름을 도시한 도면,
도 10은 본 발명의 다른 실시 예에 따른 비휘발성 저장 장치와 인증 동작을 수행하는 호스트 장치를 포함한 인증 시스템을 도시한 도면,
도 11은 인증 정보를 포함하는 데이터 프레임을 예시하기 위한 도면,
도 12는 본 발명의 다른 실시 예에 따른 비휘발성 저장 장치의 인증을 수행하기 위한 호스트 장치의 인증 동작의 흐름을 나타낸 도면.
이하 첨부된 도면을 참조하여 본 발명을 구성하는 장치 및 동작 방법을 본 발명의 실시 예를 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
본 발명은 호스트 장치가 비휘발성 저장 장치(NVM, Non-Volatile Memory)를 인증하기 위한 방법을 제안한다. 이에 따라, 본 발명은 저장 장치 내에 신뢰성 제공 메카니즘을 강제하지 않고, 호스트 장치가 신뢰성을 보장할 수 있을 만큼 복수회 인증 정보를 획득하여 검증을 수행함으로써 최종적으로 인증정보에 대한 신뢰성을 제공하는 방법이다. 본 발명을 통해, 기존의 비휘발성 저장 장치에 ECC 등의 기능에 독립적인 인증 방법을 제공할 수 있다.
본 발명의 비휘발성 저장 장치(NVM)는 NAND 또는 NOR Flash, SSD(Solid State Disk), MMC(MultiMediaCard), USB(Universal Serial Bus) 형태의 저장 장치와 같이 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 저장 매체를 의미하며, 호스트 장치에 임베이디드(embedded)된 내장형 저장 매체도 포함한다.
도 1은 종래의 컨트롤러를 통한 미디어의 인증을 수행하는 호스트 장치 및 미디어의 구성을 나타낸 도면이다.
도 1을 참조하면, 종래의 미디어 장치(200)는 정보를 저장한 비휘발성 저장 장치(220)와 이러한 저장 장치(220)의 입출력 및 제어를 수행하는 컨트롤러(210)를 포함하여 구성된다. 이때 컨트롤러(210)는 비휘발성 저장 장치(220)의 ECC 기능을 수행한다. 또한 이러한 미디어 장치(200)를 이용하는 호스트 장치(100)는 인증 검증 모듈(110)을 이용하여 미디어 장치(200)의 미디어 인증을 수행한다. 이 경우, 일반적으로 컨트롤러(210)는 FTL(FLash Translation Layer), ECC 기능, Security 모듈을 포함할 수 있다.
도 2는 본 발명의 실시 예에 따른 비휘발성 저장 장치의 인증을 수행하는 호스트 장치 및 미디어의 구성을 나타낸 도면이다. 도 2에 도시한 바와 같이, 본 발명은 이러한 미디어 장치(200)에 포함된 비휘발성 저장 장치(220)를 컨트롤러(210)를 통한 기존의 인증 방식에, 추가로, 호스트 장치(100)의 인증 검증 모듈(110)이 별도로 비휘발성 저장 장치(220)를 인증하는 방식을 제안한다.
도 3은 본 발명의 실시 예에 따른 임베이디드 비휘발성 저장 장치의 인증을 수행하는 호스트 장치 및 비휘발성 저장 장치의 구성을 나타낸 도면이다. 도 3에 도시된 바와 같이, 본 발명의 비휘발성 저장 장치(220)의 인증 방법은 컨트롤러 없이 호스트 장치에 내장된 임베디드 비휘발성 저장 장치의 경우에도 유사한 방법으로 인증을 수행할 수 있다.
도 4의 (a), (b)는 본 발명의 실시 예에 따른 비휘발성 저장 장치와 인증 동작을 수행하는 호스트 장치를 포함한 인증 시스템을 도시한 도면이다.
도 4의 (a)를 참조하면, 비휘발성 저장 장치(220)를 인증하기 위한 호스트 장치(100)는 저장 장치(220)로부터 인증 정보를 수신하여 저장 장치(220)의 검증을 수행하는 인증 검증 모듈(110)을 포함한다. 비휘발성 저장 장치(Non-Volatile Memory Array)(220)는 비밀키(311)등의 중요 정보를 저장하기 위한 보호 영역(Protected Area)(310)을 포함한다. 보호 영역(310)은 비휘발성 저장 장치의 제조 과정에서 중요 정보가 프로그램되고, 이후 프로그램 패스(Path)가 디스에이블(disable)된 영역으로서 읽기 전용 명령만이 제공되는 특징이 있다.
또한 비휘발성 저장 장치(220)는 인증 정보 생성 장치(320)를 포함한다. 인증 정보 생성 장치(320)는 비밀키(311)를 이용하여 PRNG(Pseudo Random Number Generator), 암호화 모듈 등 인증 프로토콜에서 제시하는 오퍼레이션(Operation)을 통해 인증 정보를 생성한다. 인증 정보 생성 장치(320)는 이러한 인증 정보를 생성하기 위한 회로로 구성될 수 있다.
도 4를 참조하면, 본 발명의 실시 예에 따른 비휘발성 저장 장치의 인증 동작 시, 호스트 장치(100)와 저장 장치(220)는 인증 프로토콜에 따라 커밋먼트(Commitment) 값과 챌린지(Challenge)값을 상호 교환(410)한다. 이때, 저장 장치(220)가 Commitment 값을 호스트 장치로 전달하는 동작은 선택적으로 수행될 수 있다.
다음 저장 장치(220)는 인증 프로토콜에 따라 인증 정보를 생성하기 위한 비밀키(Secret Key)(311)를 이용하여 인증 정보를 생성하여, 생성한 인증 정보를 호스트 장치로 전달한다. 이 경우, 비휘발성 저장 장치(220)에는 도 4의 (a)에 도시된 바와 같이 비밀키(311)가 한 번 저장될 수 있으나, 도 4의 (b)에 도시된 바와 같이 동일한 복수의 비밀 키(311-1 ~ 311-n)가 여러 번 저장될 수 있다.
인증 정보 생성 장치(320)는 비밀 키(311) 정보를 이용하여 복수의 인증 정보(Authentication Information)(311'-1 ~ 311'-n)를 생성한다. 이러한 인증 정보(311'-1 ~ 311'-n)는 도 4의 (a)에 도시된 바와 같은 하나의 비밀키(311)에 의해 복수회 생성된 것일 수 있으며, 도 4의 (b)에 도시된 바와 같은 동일한 복수의 비밀 키(311-1 ~ 311-n)에 의해 각각 생성된 것일 수 있다. 호스트 장치는 복수개의 인증 정보를 검증하여 검증에 성공한 인증 정보가 전체 인증 정보 수에 비해 과반수를 넘는 경우 인증이 성공한 것으로 판단한다.
예를 들어, 7회 인증 정보를 취득 후에 인증 정보를 검증한 결과, 4개의 인증 정보가 검증에 성공하고, 3개의 인증 정보가 검증에 실패한 경우, 검증에 성공한 인증 정보가 과반수를 넘기 때문에 저장 장치의 인증이 성공했다고 판단한다. 반대로, 7회 인증 정보를 취득 후에 인증 정보를 검증한 결과, 3개의 인증 정보가 검증에 성공하고, 4개의 인증 정보가 검증에 실패한 경우, 검증에 성공한 인증 정보가 과반수를 넘지 못했기 때문에 저장 장치의 인증이 실패했다고 판단한다.
또한, 다른 검증 방법으로는, 수신한 각 인증 정보의 각 비트의 자리수 별로 인증 정보의 값을 판단하여, 각 비트의 자리수 별로 더 많은 수의 비트 값을 각 비트의 자리수의 값으로 설정한 검증 정보를 생성하고, 생성된 검증 정보를 검증하여 인증 성공 여부를 판단하는 방법이 있다. 이 방법은 후술하는 도 8에서 설명하기로 한다.
도 5는 본 발명의 실시 예에 따른 비휘발성 저장 장치의 인증을 수행하기 위한 호스트 장치의 구성을 나타낸 도면이다.
본 발명의 실시 예에 따른 비휘발성 저장 장치의 인증을 수행하는 호스트 장치(100)는 비휘발성 저장 장치(220)와의 데이터 통신을 위한 인터페이스 부(120)와 비휘발성 저장 장치의 인증을 수행하는 인증 검증 모듈(110)을 포함하여 구성된다. 인터페이스부(120)는 예를 들어, 일반적인 SATA(Serial ATA), USB(Universal Serial Bus), SD 인터페이스를 이용할 수 있다.
상기 인증 검증 모듈(110)은 복수의 프로토콜을 지원하는 인증 프로토콜 제어 장치(111)와, 인증 프로토콜에 사용되는 값 예를 들어 Random Challenge 값을 생성하기 위한 암호화 모듈(Crypto Module)(113)과, 저장 장치(220)로부터 수신한 복수의 인증 정보를 통해 인증 성공/실패 여부를 결정하기 위한 인증 결정 장치(112)로 구성된다.
인증 결정 장치(112)는 획득한 복수개의 인증 정보를 각각 검증하여 검증에 성공한 인증 정보가 전체 인증 정보 수에 비해 과반수를 넘는 경우 인증이 성공한 것으로 판단하건, 검증에 성공한 인증 정보가 미리 설정된 문턱값보다 많은 경우에 인증에 성공한 것으로 판단한다. 또한, 인증 결정 장치(112)는 획득한 복수개의 인증 정보의 각 비트 별로 과반수의 비트 값을 해당 자리의 비트 값으로 설정한 검증 정보를 생성하여 생성된 최종 인증 정보를 검증하여 인증 성공 여부를 판단할 수 있다. 인증 결정 장치(112)의 인증 결정 동작은 인증 프로토콜 제어 장치의 각 인증 프로토콜 내에서 수행될 수도 있다.
인증 프로토콜 제어장치(111)는 다수의 인증 프로토콜을 지원할 수 있으며, 비휘발성 저장 장치로부터 획득된 헤더(Header)에 의해 제공된 버전 넘버의 정보로 특정 인증 프로토콜을 개시할 수 있다.
도 6은 본 발명의 실시 예에 따른 비휘발성 저장 장치의 구성을 나타낸 도면이다.
본 발명의 실시 예에 따른 비휘발성 저장 장치(220)는 호스트 장치(100) or 외부의 컨트롤러 등과의 데이터 통신을 위한 인터페이스부(330)와, 비밀키(311) 값을 이용하여 인증 정보를 생성하기 위한 인증 정보 생성 장치(320)와, 비밀키(311) 정보 및 헤더(312) 정보를 포함한 보호 영역(310)을 포함하여 구성된다.
인터페이스부(330)는 예를 들어 eMMC 인터페이스, NAND 인터페이스를 이용할 수 있다.
헤더(312) 정보는 하기의 표 1에 도시된 바와 같이 구성된다.
Items Description M/O
버전 넘버 프로토콜을 맞추기 위한 Version Number O
반복 횟수(Repetition Count) 반복된 비밀키의 수, 또는 반복 체크할 인증 정보의 수 M
기타 Reserved O
상기 버전 넘버 정보는 비휘발성 저장 장치(220)의 인증 정보 생성 장치(320)가 구현하는 인증 프로토콜과 이와 관련된 정보를 호스트 장치가 선택하기 위한 정보이며, 반복 횟수(Repetition Count) 정보는 비휘발성 저장 장치(220)의 인증 정보의 신뢰성 검증을 위해 필요한 최소한의 인증 정보 반복 생성의 횟수를 나타낸다. 저장 장치(220)의 구성에 따라, 하나의 비밀키(311)를 이용하여 반복 횟수 만큼 반복하여 인증 정보를 생성하거나, 저장 장치(220)에 복수개의 비밀키(311)가 저장된 경우에는 복수개의 비밀키(311)를 이용하여 총 인증 정보가 반복 횟수 만큼 되도록 인증 정보를 생성할 수 있다.
즉, 인증 정보 생성 장치(320)는 비밀키(311)가 1번 저장된 경우에는 내부 비밀키를 여러 번 읽어서 반복 횟수 만큼의 인증 정보를 생성하거나, 비밀키(311)가 여러 번 저장된 경우에는 각 비밀키를 읽어 반복 횟수 만큼의 인증 정보를 생성할 수 있다.
인증 정보 생성 장치(320)는 RNG(Pseudo Random Number Generator), 일방향 해쉬 함수(SHA-1, MD5), 또는 경량화된 암호 회로를 포함할 수 있다.
도 7은 본 발명의 실시 예에 따른 비휘발성 저장 장치의 인증을 수행하기 위한 호스트 장치의 인증 동작의 흐름을 나타낸 도면이다.
도 7을 참조하면, 먼저, 710단계에서 호스트 장치(100)에 저장 장치에 대한 인증 요청이 발생하며, 720단계에서, 호스트 장치의 인증 검증 모듈(110)은 저장 장치(220)로부터 헤더 정보를 수신/획득한다. 이후, 730단계에서 호스트 장치(100)의 인증 프로토콜 제어 장치(111)는 헤더의 버전 정보로부터 인증 프로토콜 및 관련 파라미터(Parameter)를 결정한다. 740단계에서, 저장 장치(220)로부터 생성된 Commitment 정보를 수신한다. 740단계의 동작은 프로토콜에 따라 선택적으로 수행될 수 있다.
750단계에서는 호스트 장치(100)의 인증 프로토콜 제어 장치(111)는 선택된 프로토콜에 따라, 저장 장치(220)로 Challenge 정보와 같은 쿼리(Query) 정보를 전송한다.
760단계에서 호스트 장치(100)의 인증 검증 모듈(110)은 헤더의 반복 횟수 정보 만큼의 복수개의 인증 정보를 저장 장치(220)로부터 획득한다.
770단계에서 호스트 장치(100)의 인증 결정 장치(112)는 복수의 인증 정보 각각에 대한 인증 성공 여부를 결정한다. 이 경우, 각 인증 정보에 대한 인증 성공 횟수가 전체 인증 정보 수의 과반수보다 많은 경우 인증에 성공한 것으로 판단하거나, 인증 성공 횟수가 미리 설정된 인증 성공 판단을 위한 문턱값보다 큰 경우 인증에 성공한 것으로 판단할 수 있다.
또한, 복수의 인증 정보의 각 자리수의 비트값을 판단하여 인증여부를 판단할 수 있다. 이러한 인증 방법을 도 8을 이용하여 설명하기로 한다.
도 8은 본 발명의 실시 예에 따른 비휘발성 저장 장치의 인증을 수행 시, 수신한 인증 정보 및 수신한 인증 정보로부터 추출한 검증 정보의 예를 도시한 도면이다. 인증 결정 장치(112)는 저장 장치(220)로부터 복수개의 인증 정보(311'-1 ~ 311'-n)를 수신한다. 이 때, 수신한 복수개의 인증 정보(311'-1 ~ 311'-n)는 저장 장치(220) 내에 저장된 하나의 비밀키(311)로부터 복수회 생성된 인증 정보일 수 있으며, 복수개의 비밀키(311-1 ~ 311-n)로부터 각각 생성된 인증 정보들(311'-1 ~ 311'-n)일 수 있다.
도 8을 참조하면, 인증 결정 장치(112)는 저장 장치(220)로부터 수신한 복수개의 인증 정보(311'-1 ~ 311'-n)를 이용하여 저장 장치(220)의 인증을 수행하는데, 이 경우 복수개의 인증 정보(311'-1 ~ 311'-n)의 각 비트위치 별로, 해당 비트위치의 비트 값들 중 과반수의 비트 값을 최종 인증 정보의 해당 비트위치의 비트 값으로 설정한다. 예를 들어, 수신한 각 인증 정보 들의 첫번째 비트위치의 비트 값 들을 판단하여, 1이 0보다 많으면 최종 인증 정보의 첫번째 비트위치의 비트 값을 1로 설정하고, 0이 1보다 많으면 최종 인증 정보의 첫번째 비트위치의 비트 값을 0으로 설정한다. 도 8을 예로 들면, 인증 정보들의 첫번째 비트의 비트값들을 판단한 결과, 1이 0보다 많아서 최종 인증 정보의 첫번째 비트가 1로 설정된 예를 도시한다.
이렇게 각 비트 자리마다 많은 수의 비트 값으로 각 비트값을 설정하여 최종 인증 정보 값을 생성하고, 인증 결정 장치(112)는 생성된 최종 인증 정보를 최종적으로 검증하여 인증 성공 여부를 결정한다.
도 9는 본 발명의 실시 예에 따른 비휘발성 저장 장치의 인증 동작 시, 비휘발성 저장 장치의 동작의 흐름을 도시한 도면이다.
도 9를 참조하면, 910단계에서 비휘발성 저장 장치(220)는 호스트 장치(100)로 헤더 정보를 전달한다.
다음 920단계에서 인증 프로토콜에 따라, Commitment 정보를 생성하여 호스트로 전달한다.
상기 920단계의 동작은 인증 프로토콜에 따라 수행되지 않을 수 있다. 930단계에서 저장 장치(220)는 호스트로부터 Challenge 정보를 수신하고, 940단계에서 수신한 Challenge 정보와 비밀키 값을 이용하여 인증 정보를 복수회 생성한다.
다음 950단계에서 저장 장치(220)는 생성된 복수의 인증 정보를 호스트로 복수회 전송한다.
전술한 실시 예에서, 저장 장치(220)에 저장된 하나의 비밀키(311)를 이용하여 반복 횟수만큼 반복하여 인증 정보를 생성하거나, 저장 장치(220)에 저장된 복수의 비밀키(311)를 이용하여 총 인증 정보가 반복 횟수만큼 되도록 인증 정보를 생성하는 것에 대해 상세히 기술하였다.이하의 다른 실시 예에서는, 저장 장치(220)에 저장된 서로 다른 복수의 비밀키(311-1~311-n) 중 하나를 이용하여 복수의 인증 정보를 생성하는 것에 대하여 더욱 상세하게 기술한다.
도 10은 본 발명의 다른 실시 예에 따른 비휘발성 저장 장치와 인증 동작을 수행하는 호스트 장치를 포함한 인증 시스템을 도시한 도면이다. 도 10에 도시된 시스템은 도 4에 도시된 시스템과 유사하며, 단지 각 비밀키(311)에 해당 슬롯 인덱스(slot index)가 할당되어 있고, 복수의 인증 정보(311')를 하나의 데이터 프레임을 통해 전송한다는 점에서만 차이가 있으므로, 중복되는 설명은 생략하기로 한다. 또한, 호스트 장치는 도 5에 도시된 바와 같은 세부 구성을 가지며, 저장 장치(220)는 도 5에 도시된 바와 같은 세부 구성을 갖는다.
저장 장치(220)의 인증 동작 시, 호스트 장치(100)와 저장 장치(220)는 인증 프로토콜에 따라 커밋먼트(Commitment) 정보와 챌린지(Challenge) 정보를 상호 교환(1010)한다. 이때, 저장 장치(220)가 커밋먼트(Commitment) 정보를 호스트 장치(100)로 전달하는 동작은 선택적으로 수행될 수 있다.
상기 챌린지 정보는 하기와 같은 값들을 포함할 수 있다.
챌린지 정보 = [슬롯 인덱스(Slot Index), 랜덤 값(Random Nonce)]
호스트 장치(100)는 슬롯 인덱스 및 랜덤 값(즉, 전술한 실시 예에 언급한 랜덤 챌린지(Random Challenge) 값)을 포함하는 챌린지 정보를 저장 장치(220)로 전송한다(1010). 호스트 장치(100)는 저장 장치(220)에 저장된 제1 내지 제n 비밀키에 대응하는 슬롯 인덱스 1~n 중에서 슬롯 인덱스 i를 선택한다. 이때, n은 자연수이고, i는 1 이상, n 이하의 자연수이다. 즉, 슬롯 인덱스는 복수의 비밀키(311)를 식별하기 위한 식별 번호에 해당한다.
저장 장치(220)는 보호 영역(310)에 서로 다른 제1 내지 제n 비밀키(311-1~311-n)를 저장하고 있고, 제1 내지 제n 비밀키(311-1~311-n)는 슬롯 인덱스 1~n에 각각 대응된다.
인증 정보 생성 장치(320)는 호스트 장치(100)에 의해 지정된 슬롯 인덱스 i를 갖는 제i 비밀 키(311)를 이용하여 적어도 헤더(312) 정보에 정의된 반복 횟수에 해당하는 수의 인증 정보(Authentication Information)(311'-1 ~ 311'-j), 즉 제1 내지 제j 인증 정보(311'-1 ~ 311'-j)를 생성한다. 이때, j는 1 이상, n 이하의 자연수로서, 반복 횟수와 동일하다. 인증 정보 생성 장치(320)는 상기 제1 내지 제j 인증 정보를 하나의 데이터 프레임에 포함하여 호스트 장치(100)로 전송한다(1020).
도 11은 인증 정보를 포함하는 데이터 프레임을 예시하기 위한 도면이다.
데이터 프레임(1100)은 제1 내지 제j 인증 정보(311'-1 ~ 311'-j)를 포함한다. 상기 데이터 프레임(1100)이 미리 설정된 길이를 가져야 하고, 여분의 길이가 남는 경우에, 미리 설정된 패딩 방법에 따른 패딩 데이터(1110), 즉 미리 설정된 패턴의 비트열이 상기 데이터 프레임(1100)의 말미에 추가될 수 있다.
도 12는 본 발명의 다른 실시 예에 따른 비휘발성 저장 장치의 인증을 수행하기 위한 호스트 장치의 인증 동작의 흐름을 나타낸 도면이다.
1210단계에서 호스트 장치(100)에 저장 장치(220)에 대한 인증 요청이 발생한다. 이러한 인증 요청은 호스트 장치(100)가 저장 장치(220)를 사용자의 개입 없이 자동으로 인식한 경우, 사용자가 저장 장치(220)로의 접근 명령을 호스트 장치에 입력한 경우 등에 있어서 발생할 수 있다.
1220단계에서, 호스트 장치(100)의 인증 검증 모듈(110)은 저장 장치(220)로부터 헤더(312) 정보를 수신/획득한다. 예를 들어, 헤더(312)의 반복 횟수는 4로 설정될 수 있다.
1230단계에서 호스트 장치(100)의 인증 프로토콜 제어 장치(111)는 헤더(312)의 버전 정보로부터 인증 프로토콜 및 관련 파라미터(Parameter)를 결정한다.
1240단계에서, 호스트 장치(100)는 저장 장치(220)로부터 생성된 Commitment 정보를 수신한다. 1240단계의 동작은 프로토콜에 따라 선택적으로 수행될 수 있다.
1250단계에서는 호스트 장치(100)의 인증 프로토콜 제어 장치(111)는 선택된 프로토콜에 따라, 저장 장치(220)로 챌린지 정보와 같은 쿼리 정보를 전송한다. 예를 들어, 챌린지 정보는 하기와 같은 값들을 포함할 수 있다.
챌린지 정보 = [슬롯 인덱스(Slot Index), 랜덤 값(Random Nonce)] = [1, 랜덤 값]
1260단계에서 호스트 장치(100)의 인증 검증 모듈(110)은 헤더(312)의 반복 횟수 정보에 해당하는 수의 인증 정보를 저장 장치(220)로부터 획득한다.
저장 장치(220)의 인증 정보 생성 장치(320)는 호스트 장치(100)에 의해 지정된 슬롯 인덱스를 갖는 비밀 키(311)와 챌린지 정보의 랜덤 값을 이용하여 헤더(312) 정보에 정의된 반복 횟수에 해당하는 수의 인증 정보(311')를 생성한다. 인증 정보 생성 장치(320)는 비밀 키(311) 및 챌린지 정보의 랜덤 값 이외에 자신이 생성한 제2의 랜덤 값을 더 이용하여 인증 정보(311')를 생성할 수도 있다. 예를 들어, 인증 정보 생성 장치(320)는 호스트 장치(100)에 의해 지정된 슬롯 인덱스 1에 대응하는 제1 비밀 키(311-1)와 챌린지 정보의 랜덤 값을 이용하여 헤더(312) 정보에 정의된 반복 횟수 4에 해당하는 수의 제1 내지 제4 인증 정보(311'-1~311'-4)를 생성할 수 있다.
인증 정보 생성 장치(320)는 복수의 인증 정보(311')를 포함하는 데이터 프레임을 생성하고, 상기 데이터 프레임을 인터페이스부(330)를 통해 호스트 장치(100)로 전송한다.
호스트 장치(100)의 인증 결정 장치(112)는 인터페이스부(120)를 통해 상기 저장 장치(220)로부터 상기 데이터 프레임을 수신한다.
1270단계에서 호스트 장치(100)의 인증 결정 장치(112)는 수신한 데이터 프레임에 포함된 복수의 인증 정보(311') 각각에 대한 인증 성공 여부를 결정한다. 이 경우, 각 인증 정보에 대한 인증 성공 횟수가 전체 인증 정보 수의 과반수보다 많은 경우 인증에 성공한 것으로 판단하거나, 인증 성공 횟수가 미리 설정된 인증 성공 판단을 위한 문턱값보다 큰 경우 인증에 성공한 것으로 판단할 수 있다. 또한, 도 8을 참조하여 전술한 바와 같이, 인증 결정 장치(112)는 복수의 인증 정보의 각 자리수의 비트값을 판단하여 인증 성공 여부를 판단할 수 있다.
예를 들어, 인증 결정 장치(112)는 제1 내지 제4 인증 정보(311'-1~311'-4) 각각의 인증 성공 여부를 판단하고, 제1 내지 제4 인증 정보(311'-1~311'-4) 중 3개의 인증 정보가 검증에 성공한 경우, 상기 저장 장치(220)의 인증이 성공한 것으로 판단한다.
상기와 같이 본 발명의 일 실시예에 따른 비휘발성 저장 장치의 인증 방법 및 인증 장치의 동작 및 구성이 이루어질 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다.
100: 호스트 장치, 110: 인증 검증 모듈, 220: 비휘발성 저장 장치, 310: 보호 영역, 311: 비밀키, 320: 인증 정보 생성 장치

Claims (20)

  1. 비휘발성 저장 장치의 인증 방법에 있어서,
    상기 비휘발성 저장 장치를 인증하기 위한 호스트 장치가 상기 비휘발성 저장 장치로 인증을 위한 챌린지(Challenge) 정보를 송신하는 과정과,
    상기 비휘발성 저장 장치로부터 상기 챌린지 정보에 대한 응답으로 복수의 인증 정보를 수신하는 과정과,
    상기 수신한 복수의 인증 정보를 이용하여 상기 비휘발성 저장 장치의 인증을 수행하는 과정을 포함하며,
    상기 복수의 인증 정보는 상기 챌린지 정보와, 상기 비휘발성 저장 장치에 저장된 비밀키 정보를 이용하여 생성됨을 특징으로 하는 비휘발성 저장 장치의 인증 방법.
  2. 제 1항에 있어서, 상기 복수의 인증 정보는 하나의 데이터 프레임에 포함되어 수신되는 것을 특징으로 하는 비휘발성 저장 장치의 인증 방법.
  3. 제 1항에 있어서, 상기 수신한 복수의 인증 정보를 이용하여 상기 비휘발성 저장 장치의 인증을 수행하는 과정은,
    상기 수신한 복수의 인증 정보를 각각 검증하여, 검증에 성공한 인증 정보의 수가 미리 설정된 문턱값보다 많은 경우 상기 비휘발성 저장 장치의 인증이 성공한 것으로 판단하는 과정임을 특징으로 하는 비휘발성 저장 장치의 인증 방법.
  4. 제 1항에 있어서, 상기 수신한 복수의 인증 정보를 이용하여 상기 비휘발성 저장 장치의 인증을 수행하는 과정은,
    상기 수신한 복수의 인증 정보들의 각 비트위치 별 비트 값들을 판단하여, 각 비트위치 별로 과반수의 비트값을 해당 비트위치의 비트값으로 설정한 최종 인증 정보를 생성하고, 상기 생성된 최종 인증 정보를 검증하여 상기 비휘발성 저장 장치의 인증을 수행하는 과정임을 특징으로 하는 비휘발성 저장 장치의 인증 방법.
  5. 제 5항에 있어서, 상기 호스트 장치는 상기 비휘발성 저장 장치로부터 헤더 정보를 수신하고, 상기 인증 정보는 상기 헤더 정보에 포함된 반복 횟수 만큼 생성되는 것을 특징으로 하는 비휘발성 저장 장치의 인증 방법.
  6. 제 1항에 있어서, 상기 비밀 키 정보는 상기 비 휘발성 저장 장치에 저장된 복수의 비밀키 중에서 상기 호스트 장치에 의해 선택된 하나의 비밀키를 포함하는 것을 특징으로 하는 비 휘발성 저장 장치의 인증 방법.
  7. 비휘발성 저장 장치를 인증하기 위한 호스트 장치에 있어서,
    상기 비휘발성 저장 장치와 데이터 통신을 수행하기 위한 인터페이스부와,
    상기 인터페이스 부를 통해, 상기 비휘발성 저장 장치로 인증을 위한 챌린지(Challenge) 정보를 송신하고, 상기 챌린지 정보에 대한 응답으로 복수의 인증 정보를 수신하며, 상기 수신한 복수의 인증 정보를 이용하여 상기 비휘발성 저장 장치의 인증을 수행하는 인증 검증 모듈을 포함하며,
    상기 복수의 인증 정보는 상기 챌린지 정보와, 상기 비휘발성 저장 장치에 저장된 비밀키 정보를 이용하여 생성됨을 특징으로 하는 호스트 장치.
  8. 제 7항에 있어서, 상기 인증 검증 모듈은,
    상기 챌린지 정보를 생성하기 위한 암호화 모듈과,
    복수의 인증 프로토콜을 지원하는 인증 프로토콜 제어장치와,
    상기 수신한 복수의 인증 정보를 이용하여 상기 비휘발성 저장 장치의 인증성공 여부를 결정하기 위한 인증 결정 장치를 포함함을 특징으로 하는 호스트 장치.
  9. 제 8항에 있어서, 상기 복수의 인증 정보는 하나의 데이터 프레임에 포함되어 수신되는 것을 특징으로 하는 호스트 장치.
  10. 제 8항에 있어서, 상기 인증 결정 장치는,
    상기 수신한 복수의 인증 정보를 각각 검증하여, 검증에 성공한 인증 정보의 수가 미리 설정된 문턱값보다 많은 경우 상기 비휘발성 저장 장치의 인증이 성공한 것으로 판단함을 특징으로 하는 호스트 장치.
  11. 제 8항에 있어서, 상기 인증 결정 장치는,
    상기 수신한 복수의 인증 정보들의 각 비트위치 별 비트 값들을 판단하여, 각 비트위치 별로 과반수의 비트값을 해당 비트위치의 비트값으로 설정한 최종 인증 정보를 생성하고, 상기 생성된 최종 인증 정보를 검증하여 상기 비휘발성 저장 장치의 인증을 수행함을 특징으로 하는 호스트 장치.
  12. 제 8항에 있어서, 상기 인증 프로토콜 제어 장치는,
    상기 비휘발성 저장 장치로부터 헤더 정보를 수신하고, 상기 수신한 헤더 정보를 이용하여 인증 프로토콜을 결정하는 것을 특징으로 하는 호스트 장치.
  13. 제 12항에 있어서, 상기 인증 정보는 상기 헤더 정보에 포함된 반복 횟수 만큼 생성되는 것을 특징으로 하는 호스트 장치.
  14. 제 7항에 있어서, 상기 비밀 키 정보는 상기 비 휘발성 저장 장치에 저장된 복수의 비밀키 중에서 상기 호스트 장치에 의해 선택된 하나의 비밀키를 포함하는 것을 특징으로 하는 호스트 장치.
  15. 비휘발성 저장 장치의 인증 방법에 있어서,
    상기 비휘발성 저장 장치가 호스트 장치로부터 인증을 위한 챌린지(Challenge) 정보를 수신하는 과정과,
    상기 챌린지 정보와 상기 비휘발성 저장 장치에 저장된 비밀키 정보를 이용하여 복수의 인증 정보를 생성하는 과정과,
    상기 생성된 복수의 인증 정보를 상기 챌린지 정보에 대한 응답으로 상기 호스트 장치로 전달하는 과정을 포함함을 특징으로 하는 비휘발성 저장 장치의 인증 방법.
  16. 제 15항에 있어서, 상기 인증 정보는 상기 헤더 정보에 포함된 반복 횟수 만큼 생성되는 것을 특징으로 하는 비휘발성 저장 장치의 인증 방법.
  17. 제 15항에 있어서, 상기 비밀키 정보는 상기 비휘발성 저장 장치에 저장된 복수의 비밀키 중에서 상기 호스트 장치에 의해 선택된 하나의 비밀키를 포함하는 것을 특징으로 하는 비휘발성 저장 장치의 인증 방법.
  18. 비휘발성 저장 장치에 있어서,
    인증 정보 생성을 위한 비밀키 정보와, 헤더 정보를 포함한 보호 영역과,
    호스트 장치로부터 인증을 위한 챌린지(Challenge) 정보를 수신하기 위한 인터페이스부와,
    상기 챌린지 정보와 상기 비밀키 정보를 이용하여 복수의 인증 정보를 생성하는 인증 정보 생성 장치를 포함하며,
    상기 인터페이스부는 상기 생성된 복수의 인증 정보를 상기 챌린지 정보에 대한 응답으로 상기 호스트 장치로 전달하는 것을 특징으로 하는 비휘발성 저장 장치.
  19. 제 18항에 있어서, 상기 인증 정보는 상기 헤더 정보에 포함된 반복 횟수 만큼 생성되는 것을 특징으로 하는 비휘발성 저장 장치.
  20. 제 18항에 있어서, 상기 비밀키 정보는 상기 비휘발성 저장 장치에 저장된 복수의 비밀키 중에서 상기 호스트 장치에 의해 선택된 하나의 비밀키를 포함하는 것을 특징으로 하는 비휘발성 저장 장치.
KR1020120054604A 2011-05-23 2012-05-23 비휘발성 저장 장치의 인증 방법 및 장치 KR101960036B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120054604A KR101960036B1 (ko) 2011-05-23 2012-05-23 비휘발성 저장 장치의 인증 방법 및 장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20110048634 2011-05-23
KR1020110048634 2011-05-23
KR1020120054604A KR101960036B1 (ko) 2011-05-23 2012-05-23 비휘발성 저장 장치의 인증 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20120130734A true KR20120130734A (ko) 2012-12-03
KR101960036B1 KR101960036B1 (ko) 2019-07-26

Family

ID=47217460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120054604A KR101960036B1 (ko) 2011-05-23 2012-05-23 비휘발성 저장 장치의 인증 방법 및 장치

Country Status (5)

Country Link
US (1) US9385871B2 (ko)
EP (1) EP2715598B1 (ko)
KR (1) KR101960036B1 (ko)
CN (1) CN103597496B (ko)
WO (1) WO2012161505A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102427179B1 (ko) * 2022-01-27 2022-07-29 (주)레오컴 생체 데이터를 암호화하고 인증하는 장치 및 방법

Families Citing this family (16)

* 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
US8769627B1 (en) * 2011-12-08 2014-07-01 Symantec Corporation Systems and methods for validating ownership of deduplicated data
US20140237244A1 (en) * 2013-02-19 2014-08-21 Kabushiki Kaisha Toshiba Device and authentication method therefor
CN104135458B (zh) * 2013-05-03 2018-01-02 中国银联股份有限公司 移动设备与安全载体之间通信连接的建立
KR102304927B1 (ko) 2014-06-13 2021-09-24 삼성전자 주식회사 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법
KR102154187B1 (ko) * 2014-08-07 2020-09-09 삼성전자 주식회사 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법
KR102419505B1 (ko) * 2016-03-09 2022-07-08 삼성전자주식회사 스토리지 디바이스의 인증 방법 및 시스템
CN105959097B (zh) * 2016-06-28 2019-04-30 江苏大学 一种基于纠错码的身份认证协议方法
US12008095B2 (en) * 2017-11-14 2024-06-11 Stratis Iot, Inc. Smart lock system
JP2019095969A (ja) * 2017-11-21 2019-06-20 ルネサスエレクトロニクス株式会社 半導体装置、認証システム及び認証方法
DK3680797T3 (da) * 2019-01-14 2022-01-24 MUSE Electronics GmbH Manipulations-beskyttet databehandlingsapparat
US10992591B1 (en) * 2019-03-12 2021-04-27 Juniper Networks, Inc Apparatus, system, and method for discovering path maximum transmission units
KR20200130539A (ko) 2019-05-08 2020-11-19 삼성전자주식회사 강력한 보안 기능을 제공하는 스토리지 장치 및 그 스토리지 장치를 포함하는 전자 장치
US11743058B2 (en) * 2020-03-05 2023-08-29 International Business Machines Corporation NVDIMM security with physically unclonable functions
US11520937B2 (en) * 2020-08-12 2022-12-06 Dell Products L.P. NVMe over fabrics authentication system
CN114943072B (zh) * 2022-07-25 2023-05-05 北京网藤科技有限公司 一种在多种软件系统间实现u盘联动管控的方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336585B1 (en) * 1997-10-30 2002-01-08 Oki Electric Industry Co., Ltd. Memory card insertion type electronic equipment and apparatus for writing to the memory card
US20070192603A1 (en) * 1999-03-30 2007-08-16 Sony Corporation Information processing system
US20100042545A1 (en) * 1999-10-18 2010-02-18 Stamps.Com Cryptographic module for secure processing of value-bearing items
US20100153672A1 (en) * 2008-12-16 2010-06-17 Sandisk Corporation Controlled data access to non-volatile memory
US20100162352A1 (en) * 2006-11-09 2010-06-24 Tomoyuki Haga Falsification detecting system, falsification detecting method, falsification detecting program, recording medium, integrated circuit, authentication information generating device and falsification detecting device

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2733379B1 (fr) * 1995-04-20 1997-06-20 Gemplus Card Int Procede de generation de signatures electroniques, notamment pour cartes a puces
US6466668B1 (en) 1998-01-28 2002-10-15 Hitachi, Ltd. IC card equipped with elliptical curve encryption processing facility
FR2802669B1 (fr) * 1999-12-15 2002-02-08 St Microelectronics Sa Procede non deterministe de transfert securise de donnees
JP2001339383A (ja) * 2000-05-29 2001-12-07 Hitachi Ltd 認証通信用半導体装置
US7096397B2 (en) * 2001-09-17 2006-08-22 Intel Corporation Dft technique for avoiding contention/conflict in logic built-in self-test
KR100445406B1 (ko) * 2001-11-30 2004-08-25 주식회사 하이닉스반도체 데이터 암호화 장치 및 그 방법
US20090193033A1 (en) * 2005-05-19 2009-07-30 Zulfikar Amin Ramzan Method and apparatus for communication efficient private information retrieval and oblivious transfer
US20070094161A1 (en) * 2005-07-27 2007-04-26 Stmicroelectronics S.R.L. Hardware device for genetic algorithms
KR20090026307A (ko) * 2006-05-30 2009-03-12 엔엑스피 비 브이 암호 인증 방법
US20080082826A1 (en) * 2006-09-29 2008-04-03 Brent Ahlquist Method and apparatus for updating non-volatile memories
GB2446175B (en) * 2007-01-31 2011-06-29 Hewlett Packard Development Co Method of updating data
US9767319B2 (en) * 2007-04-17 2017-09-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and apparatus of secure authentication for system on chip (SoC)
US20090240945A1 (en) 2007-11-02 2009-09-24 Finisar Corporation Anticounterfeiting means for optical communication components
EP2063375B1 (en) * 2007-11-23 2017-09-20 Orange Authentication system and method using electronic tags
US8312269B2 (en) * 2007-11-28 2012-11-13 Hitachi Global Storage Technologies Netherlands, B.V. Challenge and response access control providing data security in data storage devices
US7983421B2 (en) * 2008-02-01 2011-07-19 Oracle International Corporation Methods to defend against tampering of audit records
KR100997879B1 (ko) 2008-03-03 2010-12-07 삼성전자주식회사 Crum 유닛, 교체가능유닛 및 이를 이용하는 화상형성장치와, 그 암호화 데이터 통신 방법
JP2010268417A (ja) * 2009-04-16 2010-11-25 Toshiba Corp 記録装置及びコンテンツデータ再生システム
US20110081016A1 (en) 2009-10-06 2011-04-07 Infineon Technologies Ag Secure data communication using elliptic curve cryptology
MX2018013270A (es) * 2010-04-30 2022-07-21 Spm Oil & Gas Inc Máquinas, sistemas, métodos implementados en computadoras, y productos de programas en computadoras para probar y certificar equipo de petróleo y gas.

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336585B1 (en) * 1997-10-30 2002-01-08 Oki Electric Industry Co., Ltd. Memory card insertion type electronic equipment and apparatus for writing to the memory card
US20070192603A1 (en) * 1999-03-30 2007-08-16 Sony Corporation Information processing system
US20100042545A1 (en) * 1999-10-18 2010-02-18 Stamps.Com Cryptographic module for secure processing of value-bearing items
US20100162352A1 (en) * 2006-11-09 2010-06-24 Tomoyuki Haga Falsification detecting system, falsification detecting method, falsification detecting program, recording medium, integrated circuit, authentication information generating device and falsification detecting device
US20100153672A1 (en) * 2008-12-16 2010-06-17 Sandisk Corporation Controlled data access to non-volatile memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102427179B1 (ko) * 2022-01-27 2022-07-29 (주)레오컴 생체 데이터를 암호화하고 인증하는 장치 및 방법

Also Published As

Publication number Publication date
EP2715598B1 (en) 2016-10-05
EP2715598A1 (en) 2014-04-09
CN103597496A (zh) 2014-02-19
EP2715598A4 (en) 2015-05-06
CN103597496B (zh) 2016-11-02
KR101960036B1 (ko) 2019-07-26
WO2012161505A1 (en) 2012-11-29
US20120304281A1 (en) 2012-11-29
US9385871B2 (en) 2016-07-05

Similar Documents

Publication Publication Date Title
KR101960036B1 (ko) 비휘발성 저장 장치의 인증 방법 및 장치
KR101540875B1 (ko) 의사-난수 생성용 반도체 메모리 장치
US9544138B2 (en) Authenticator, authenticatee and authentication method
CN114830595B (zh) 将密码密钥委托给存储器子系统
US20130117633A1 (en) Recording apparatus, writing apparatus, and reading apparatus
KR20160010605A (ko) 디바이스 및 메모리 시스템
US20200410097A1 (en) Confirming a version of firmware loaded to a processor-based device
US11783044B2 (en) Endpoint authentication based on boot-time binding of multiple components
JP2012227899A (ja) 認証コンポーネント、被認証コンポーネントおよびその認証方法
JP2012227901A (ja) 認証コンポーネント、被認証コンポーネントおよびその認証方法
KR102304927B1 (ko) 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법
US11669643B2 (en) Block chain based validation of memory commands
US20230179418A1 (en) Storage controller and method of operating electronic system
KR20220128394A (ko) 다인자 인증 가능 메모리 서브시스템
JP2012227900A (ja) 認証コンポーネント、被認証コンポーネントおよびその認証方法
US11677560B2 (en) Utilization of a memory device as security token

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