KR20200071682A - 자체-암호화 드라이브(sed) - Google Patents

자체-암호화 드라이브(sed) Download PDF

Info

Publication number
KR20200071682A
KR20200071682A KR1020190163964A KR20190163964A KR20200071682A KR 20200071682 A KR20200071682 A KR 20200071682A KR 1020190163964 A KR1020190163964 A KR 1020190163964A KR 20190163964 A KR20190163964 A KR 20190163964A KR 20200071682 A KR20200071682 A KR 20200071682A
Authority
KR
South Korea
Prior art keywords
sed
mek
self
encrypting
key
Prior art date
Application number
KR1020190163964A
Other languages
English (en)
Inventor
케 두
민다 장
Original Assignee
마벨 월드 트레이드 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마벨 월드 트레이드 리미티드 filed Critical 마벨 월드 트레이드 리미티드
Publication of KR20200071682A publication Critical patent/KR20200071682A/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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/31User authentication
    • G06F21/33User authentication using certificates
    • 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/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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
    • 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/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/083Key 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 central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3239Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/3247Cryptographic 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 involving digital signatures
    • 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/3297Cryptographic 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 involving time stamps, e.g. generation of time stamps
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00224Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a remote server

Landscapes

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

Abstract

자체 암호화 드라이브(SED)가 키 관리 서버로부터 매체 암호화 키(MEK)를 수신한다. MEK는 SED의 휘발성 메모리 내에만 저장된다. 데이터가 SED의 비-휘발성 저장 매체 내의 저장을 위해 MEK에 근거하여 암호화된다. 또한, SED에 의해 저장된 MEK의 모든 인스턴스들을 삭제함으로써 SED를 암호-소거하기 위해 휘발성 메모리 내에서 MEK이 소거된다.

Description

자체-암호화 드라이브(SED){SELF-ENCRYPTION DRIVE (SED)}
본 개시내용은, 미국 가출원 일련번호 제62/934,701호(출원일: 2019년 11월 13일, 제목: "Method and Apparatus for Decommissioning a Hard Disk Drive"), 미국 가출원 일련번호 제62/829,537호(출원일: 2019년 4월 4일, 제목: "Self-Encryption Drive (SED) Architecture for Data Center"), 및 미국 가출원 일련번호 제62/777,659호(출원일: 2018년 12월 10일, 제목: "Blockchain Based Decommissioning HDD/SDDs in Data Center")에 관해 35 U.S.C. §119(e) 하에서의 우선권의 혜택을 주장하며, 이러한 특허문헌들 각각의 내용들은 그 전체가 참조로 본 명세서에 통합된다.
본 개시내용은 일반적으로 데이터 저장의 분야에 관한 것이고, 더 구체적으로는 자체-암호화 드라이브(Self-Encryption Drive, SED)에 관한 것으로, 키 관리 서버(key management server)로부터 매체 암호화 키(Media Encryption Key, MEK)를 수신하고 SED 상의 MEK를 SED의 휘발성 메모리 내에만 저장하는 그러한 자체-암호화 드라이브(SED)에 관한 것이다.
본 명세서에서 제공되는 배경 기술은 본 개시내용의 맥락을 전반적으로 제시하기 위한 것이다. 본 명세서에서 지칭되는 발명자들의 작업은, 본 배경기술 부분에서 설명되는 한, 뿐만 아니라 그렇지 않은 경우 출원시 종래 기술로서의 자격을 가질 수 없는 설명의 실시형태들은, 본 개시내용에 대비되는 종래 기술로서 명시적으로든 암묵적으로든 인정되지 않는다.
신뢰받는 컴퓨팅 그룹(Trusted Computing Group, TCG)은, 자체-암호화 드라이브(SED)들과 같은 저장 드라이브들에 관한 보안 및 신뢰 서비스들을 지원하는 개방형 벤더-중립적 글로벌 산업 사양들 및 표준들을 개발하고, 정의하고, 그리고 촉진시킨다. SED는 데이터를 암호화된 포맷으로 SED의 비-휘발성 저장 매체에 저장하고 그리고/또는 암호화된 포맷으로 SED의 비-휘발성 저장 매체 상에 저장된 데이터를 암호해독화하는 저장 드라이브들의 특정 종류(class)이다. 암호화된 포맷은 전형적으로 데이터를 변경시켜 데이터가 무작위적으로 나타나도록 함으로써 데이터를 숨기는 포맷이다.
매체 암호화 키(MEK)는 비-휘발성 저장 매체 상의 저장을 위해 데이터를 암호화하는데 사용되고, 아울러 비-휘발성 저장 매체 상에 저장된 암호화된 데이터를 암호해독화하는데 사용된다. MEK는 128 혹은 255 비트의 길이를 가질 수 있는 비트들의 스트링(string)이다. MEK는 암호화된 포맷으로 SED의 비-휘발성 저장 매체 상에 저장된다. 만약 호스트 컴퓨터가 인증된다면, SED는 암호화된 포맷으로 비-휘발성 저장 매체 상에 저장된 MEK를 일반 텍스트 포맷(clear text format)으로 암호해독화한다. 일반 텍스트 포맷은 전형적으로 암호화되지 않은 포맷이다. 일반 텍스트 포맷에서의 MEK는, 비-휘발성 저장 매체 상에서의 저장을 위해 호스트 컴퓨터로부터 수신된 데이터를 암호화하는 것을 가능하게 하고, 또는 비휘발성 저장 매체 상에 저장된 암호화된 데이터를 암호해독화하는 것을 가능하게 한다. 만약 호스트가 인증되지 않는다면, 암호화된 포맷으로 비-휘발성 저장 매체 상에 저장된 MEK는 암호해독화되지 않고, 어떠한 데이터도 암호화되거나 암호해독화되지 않는다.
암호화된 포맷으로 비-휘발성 저장 매체 상에 MEK를 저장하는 것도 몇 가지 위험이 있다. 비-휘발성 저장 매체 상에 저장된 MEK가 오염(corrupt)될 수 있고 이로 인해 저장된 데이터에 액세스할 수 없게 되는 위험이 있다. 또한, SED가 분실되거나 도난당한 경우 SED는 비승인된 호스트 컴퓨터를 인증할 수 있고 비-휘발성 저장 매체 상에 저장된 데이터에 대한 액세스를 허용할 수 있는 위험이 있다.
추가적으로, 비-휘발성 저장 매체 상에 MEK를 저장하는 것은 SED의 해체(decommissioning)를 어렵게 한다. SED는 전형적으로 해체되기 전 3년 내지 5년의 수명을 갖는다. 미국 국립 표준 기술 연구소(National Institute of Standards and Technology, NIST) 800-88 가이드라인들이 요구하고 있는 것은, SED 상의 암호화된 데이터의 안전을 보호하기 위해 SED가 해체될 때 SED 상의 MEK의 모든 인스턴스(instance)들은 삭제 혹은 변경돼야 함, 즉 SED는 암호-소거(crypto-erase)돼야함이다. MEK를 삭제 혹은 변경하는 것은 비-휘발성 저장 매체 상에서 MEK의 모든 인스턴스를 삭제 혹은 소거할 것을 요구한다. 이것은 예를 들어, 비-휘발성 저장 매체가 솔리드-스테이트 드라이브(Solid-State Drive, SSD), 범용 직렬 버스(Universal Serial Bus, USB) 플래시 드라이브(flash drive), 혹은 상-변화 메모리 드라이브(phase-change memory drive)의 형태를 취할 때 매우 어렵게 된다. 비-휘발성 저장 매체가 노화됨에 따라, 비-휘발성 저장소의 상이한 물리적 어드레스들은 상이한 레벨의 저장 신뢰도(storage reliability)를 갖는다. MEK는 MEK를 신뢰가능하게 저장하는 그러한 물리적 어드레스들로 이동된다. 저장소 제어기는 SED의 수명에 걸쳐 MEK가 비-휘발성 저장 매체 상에 저장된 다양한 물리적 어드레스(physical address)들로 변환되는 논리적 어드레스(logical address)를 사용하여 MEK가 저장된 물리적 어드레스들을 참조한다. 이것이 의미하는 바는, 저장소 제어기는 SED의 수명에 걸쳐 MEK가 저장된 물리적 어드레스들을 추적하여 SED가 해체될 때 MEK의 모든 인스턴스들이 비-휘발성 저장 매체 상에서 삭제 혹은 변경되도록 할 필요가 있음을 의미한다.
만약 SED가 고장으로 인해 작동하지 않는다면, MEK는 변경 혹은 삭제될 수 없다. 대신, SED는 물리적으로 파괴돼야만 하고, 파괴된 SED의 처리는 시간 및 비용을 요구한다. 파괴된 SED는 또한 무익한 폐기물을 생성하고 이것은 환경 오염에 기여한다. 더욱이, SSD들, USB들, 및 상 변화 메모리의 파괴는 반도체 칩들 상에 저장된 MEK가 파괴되는 것을 보장하기 위해 충분히 미세한 입도로 반도체 칩들을 파괴할 것을 요구한다.
요약하면, 암호화된 포맷으로 SED의 비-휘발성 저장 매체 상에 MEK를 저장하는 것도 보안 위험이 있고 아울러 SED를 해체하는 것과 관련된 추가 비용 및 노력을 부가한다.
본 개시내용은 데이터 저장의 분야에 관한 것이고, 더 구체적으로는 자체-암호화 드라이브(SED)에 관한 것이다. SED는 등록 프로세스(registration process) 이후 키 관리 서버로부터 매체 암호화 키(MEK)를 수신하고, 그리고 SED 상의 MEK를 SED의 휘발성 메모리 내에만 저장한다. MEK는 SED의 비-휘발성 매체 상의 저장을 위해 데이터를 암호화하는데 사용되고, 아울러 SED의 비-휘발성 매체 상에 저장된 데이터를 암호해독화하는데 사용된다. 더욱이, MEK는, SED가 전력(power)을 공급받지 않을 때, 휘발성 메모리로부터 자동적으로 삭제되고, 이것은 비-휘발성 저장 매체 상에 저장된 암호화된 데이터의 보안을 향상시키는데, 왜냐하면 SED는 MEK를 갖지 않게 되기 때문이다.
본 개시내용의 실시형태들은, 자체-암호화 드라이브(Self-Encryption Drive, SED)에 의해 저장된 매체 암호화 키(Media Encryption Key, MEK)의 모든 인스턴스(instance)들을 삭제함으로써 자체-암호화 드라이브(SED)를 암호-소거(crypto-erasing)하기 위한 방법을 제공하고, 여기서 자체-암호화 드라이브(SED)는 (i) 휘발성 메모리(volatile memory) 및 (ii) 비-휘발성 저장 매체(non-volatile storage media)를 포함하고, 본 방법은, 키 관리 서버(key management server)로부터 매체 암호화 키(MEK)를 수신하는 것; 키 관리 서버로부터 수신된 매체 암호화 키(MEK)를 자체-암호화 드라이브(SED)의 휘발성 메모리 내에만 저장하는 것; 자체-암호화 드라이브(SED)의 비-휘발성 저장 매체 내의 저장을 위해 매체 암호화 키(MEK)에 근거하여 데이터를 암호화하는 것; 그리고 자체-암호화 드라이브(SED)를 암호-소거(crypto-erase)하기 위해 자체-암호화 드라이브(SED)의 휘발성 메모리 내의 매체 암호화 키(MEK)를 소거하는 것을 포함한다.
하나의 예에서, SED의 휘발성 메모리 내에만 저장된 MEK는, SED에 결합된 호스트 컴퓨터(host computer)에 의해 SED가 전력(power)을 공급받지 않을 때, 소거된다. 또 하나의 다른 예에서, MEK를 수신하는 것은, 키 관리 서버로부터 MEK와 관련된 타임스탬프(timestamp)를 수신하는 것을 포함하고, MEK와 관련된 타임스탬프는 MEK가 만료(expire)되었는지 여부를 표시한다. 또 하나의 다른 예에서, 본 방법은 또한, MEK와 관련된 타임스탬프와 또 하나의 다른 타임스탬프 간의 차이가 특정 지속기간(duration)보다 작은지 여부를 결정하는 것을 포함하고, 여기서 MEK를 SED의 휘발성 메모리 내에만 저장하는 것은, 상기 차이가 특정 지속기간보다 작은 경우, MEK를 저장하는 것을 포함한다. 또 하나의 다른 예에서, 본 방법은 또한, 상기 다른 타임스탬프를 SED에 대해 원격지에 있는 타임스탬프 확인기관 서버(timestamp authority server)로부터 수신하거나 혹은 SED의 타이머 카운터 레지스터(timer counter register)로부터 수신하는 것을 포함한다. 또 하나의 다른 예에서, MEK는 키 관리 서버에 의해 발생된다. 또 하나의 다른 예에서, 저장된 MEK는 SED와 관련된 사용자의 패스워드(password)와 관련된 키(key)에 의해 포장(wrap)된다. 또 하나의 다른 예에서, 본 방법은 또한, SED가 해체(decommission)되었는지 여부의 표시를 저장하는 블록 체인(block chain)에 액세스(accessing)하는 것을 포함하고, 그리고 여기서 SED 상의 MEK를 SED의 휘발성 메모리 내에만 저장하는 것은, 상기 표시가 SED가 해체되지 않았음을 표시하는 경우, MEK를 SED의 휘발성 메모리 내에만 저장하는 것을 포함한다.
본 개시내용의 실시형태들은 자체-암호화 드라이브(SED)에 의해 저장된 매체 암호화 키(MEK)의 모든 인스턴스들을 삭제함으로써 자체-암호화 드라이브(SED)를 암호-소거하기 위한 명령들을 저장하는 비-일시적 컴퓨터-판독가능 매체를 제공하고, 여기서 명령들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금 적어도, 키 관리 서버로부터 매체 암호화 키(MEK)를 수신하는 것; 키 관리 서버로부터 수신된 매체 암호화 키(MEK)를 자체-암호화 드라이브(SED)의 휘발성 메모리 내에만 저장하는 것; 자체-암호화 드라이브(SED)의 비-휘발성 저장 매체 내의 저장을 위해 매체 암호화 키(MEK)에 근거하여 데이터를 암호화하는 것; 그리고 자체-암호화 드라이브(SED)를 암호-소거하기 위해 자체-암호화 드라이브(SED)의 휘발성 메모리 내의 매체 암호화 키(MEK)를 소거하는 것을 수행하도록 한다.
하나의 예에서, SED의 휘발성 메모리 내에만 저장된 MEK는, SED에 결합된 호스트 컴퓨터에 의해 SED가 전력을 공급받지 않을 때, 소거된다. 또 하나의 다른 예에서, MEK은 MEK가 만료되었는지 여부를 표시하는 타임스탬프와 관련된다. 또 하나의 다른 예에서, 비-일시적 컴퓨터-판독가능 매체는 또한, MEK와 관련된 타임스탬프와 또 하나의 다른 타임스탬프 간의 차이가 특정 지속기간보다 작은지 여부를 결정하는 명령들을 포함하고, 여기서 MEK를 SED의 휘발성 메모리 내에만 저장하는 명령들은, 상기 차이가 특정 지속기간보다 작은 경우, MEK를 저장하는 명령들을 포함한다. 또 하나의 다른 예에서, 비-일시적 컴퓨터-판독가능 매체는 또한, 상기 다른 타임스탬프를 SED에 대해 원격지에 있는 타임스탬프 확인기관 서버로부터 수신하거나 혹은 SED의 타이머 카운터 레지스터로부터 수신하는 명령들을 포함한다. 또 하나의 다른 예에서, MEK는 SED의 비-휘발성 저장 매체의 로직 블록 어드레스(Logical Block Address, LBA)들에 의해 어드레싱(addressing)되는 범위와 관련된다. 또 하나의 다른 예에서, 비-일시적 컴퓨터-판독가능 매체는 또한, SED가 해체되었는지 여부의 표시를 저장하는 블록 체인에 액세스하는 명령들을 포함하고, 여기서 SED 상의 MEK를 SED의 휘발성 메모리 내에만 저장하는 명령들은, 상기 표시가 SED가 해체되지 않았음을 표시하는 경우, MEK를 SED의 휘발성 메모리 내에만 저장하는 명령들을 포함한다.
본 개시내용의 실시형태들은 자체-암호화 드라이브(SED)를 제공하고, 이러한 자체-암호화 드라이브(SED)는 자체-암호화 드라이브(SED)를 암호-소거하기 위해 자체-암호화 드라이브(SED)에 의해 저장된 매체 암호화 키(MEK)의 모든 인스턴스들을 삭제하도록 구성되고, 여기서 자체-암호화 드라이브(SED)는, 휘발성 메모리와, 비-휘발성 저장 매체를 포함하고, 자체-암호화 드라이브(SED)의 메모리 내에 저장되는 명령들은, 자체-암호화 드라이브(SED)의 하나 이상의 프로세서들에 의해 실행될 때, SED로 하여금 적어도, 키 관리 서버로부터 매체 암호화 키(MEK)를 수신하는 것; 키 관리 서버로부터 수신된 매체 암호화 키(MEK)를 자체-암호화 드라이브(SED)의 휘발성 메모리 내에만 저장하는 것; 자체-암호화 드라이브(SED)의 비-휘발성 저장 매체 내의 저장을 위해 매체 암호화 키(MEK)에 근거하여 데이터를 암호화하는 것; 그리고 자체-암호화 드라이브(SED)를 암호-소거하기 위해 자체-암호화 드라이브(SED)의 휘발성 메모리 내의 매체 암호화 키(MEK)를 소거하는 것을 수행하도록 한다.
하나의 예에서, MEK는 MEK가 만료되었는지 여부를 표시하는 타임스탬프와 관련된다. 또 하나의 다른 예에서, SED는 또한, MEK와 관련된 타임스탬프와 또 하나의 다른 타임스탬프 간의 차이가 특정 지속기간보다 작은지 여부를 결정하는 명령들을 포함하고, 여기서 MEK를 SED의 휘발성 메모리 내에만 저장하는 명령들은, 상기 차이가 특정 지속기간보다 작은 경우, MEK를 저장하는 명령들을 포함한다. 또 하나의 다른 예에서, SED는 또한, 상기 다른 타임스탬프를 SED에 대해 원격지에 있는 타임스탬프 확인기관 서버로부터 수신하거나 혹은 SED의 타이머 카운터 레지스터로부터 수신하는 명령들을 포함한다. 또 하나의 다른 예에서, SED는 또한, SED가 해체되었는지 여부의 표시를 저장하는 블록 체인에 액세스하는 명령들을 포함하고, 여기서 SED 상의 MEK를 SED의 휘발성 메모리 내에만 저장하는 명령들은, 상기 표시가 SED가 해체되지 않았음을 표시하는 경우, MEK를 SED의 휘발성 메모리 내에만 저장하는 명령들을 포함한다.
도 1은 데이터 센터 내에 정렬된 예시적인 자체-암호화 드라이브(SED)의 블록도이다.
도 2는 호스트 컴퓨터와 SED 간의 예시적인 초기화 프로세스를 예시한다.
도 3은 초기화 프로세스 동안 할당된 범위와 매체 암호화 키(MEK)를 관련시키기 위한 예시적인 등록 프로세스를 예시하며, 이것은 해당 범위 내에서의 저장을 위해 데이터를 암호화하는 것 및 해당 범위 내에서의 저장된 데이터를 암호해독화하는 것을 용이하게 하기 위한 것이다.
도 4는 SED가 키 관리 서버에 등록될 때 등록 프로세스의 예시적 세부사항들을 예시한다.
도 5는 범위 키 데이터베이스 내에서의 저장을 위해 SED로부터의 MEK를 키 관리 서버에 제공하기 위한 예시적인 세부사항들을 예시한다.
도 6은 SED 상에서의 암호화 및 암호해독화 동작들을 용이하게 하기 위해 범위 키 데이터베이스로부터의 MEK를 SED에 제공하는 것과 관련된 예시적인 세부사항들을 예시한다.
도 7은 SED의 해체를 기억(memorialize)하기 위한 예시적인 프로세스를 예시한다.
도 8은 SED가 SED의 휘발성 메모리 내에 MEK를 저장하는 것과 관련된 기능들의 예시적인 흐름도이다.
도 9는 SED의 예시적인 시스템도이다.
예시적 실시예들을 예시할 목적으로 도면들이 존재하며, 하지만 도면들에서 보여지는 구성들 및 수단으로만 실시예들이 한정되는 것은 아님을 이해해야 한다.
본 개시내용은 자체-암호화 드라이브(SED)에 관한 예들 및 세부사항들을 제공한다. SED는 보호되는 매체 암호화 키(MEK)를 호스트 컴퓨터 연결을 통해 키 관리 서버로부터 수신하고, 그리고 SED 상의 MEK를 휘발성 메모리 내에만 저장한다. 예를 들어, MEK는 SED의 비-휘발성 저장 매체 상에는 저장되지 않는다. 비-휘발성 저장 매체 상의 암호화된 데이터는 안전한데, 왜냐하면 휘발성 메모리 내의 MEK는 SED가 이제 더 이상 전력을 공급받지 않을 때 삭제되고 SED는 암호화된 데이터를 암호해독화하기 위한 MEK를 갖고 있지 않기 때문이다. 일부 예들에서, SED는 하드 디스크 드라이브(Hard Disk Drive, HDD), 솔리드-스테이트 드라이브(Solid-State Drive, SSD), 혹은 범용 직렬 버스(Universal Serial Bus, USB) 플래시 드라이브의 형태를 취할 수 있다. 본 명세서에서 설명되는 원리들은 이러한 다양한 형태의 저장소에 적용될 수 있다.
예시적인 아키텍처(Example Architecture)
도 1은 데이터 센터(data center) 내에 정렬된 예시적인 자체-암호화 드라이브(SED)(102)의 블록도(100)이다. 블록도(100)는 호스트 컴퓨터(104), SED(102), 키 관리 서버(106), 및 범위 키 데이터베이스(108)를 포함하고, 이들은 로컬 영역 네트워크(Local Area Network, LAN) 혹은 와이드 영역 네트워크(Wide Area Network, WAN)와 같은 통신 네트워크(110)에 의해 함께 결합된다. 예들에서, 데이터 센터 내에 정렬되는 SED(102), 호스트 컴퓨터(104), 키 관리 서버(106), 및 범위 키 데이터베이스(108) 중 하나 이상은 주문형 컴퓨터 시스템 리소스(on-demand computer system resource)들을 제공하는 데, 특히 데이터 저장을 제공한다.
호스트 컴퓨터(104)는 데이터 센터 내에서 컴퓨터, 서버, 스마트폰, 태블릿, 컴퓨터, 랩탑, 등일 수 있다. 호스트 컴퓨터(104)는 SED(102)에 데이터를 저장하는 것을 용이하게 하기 위해 SED(102)에 결합될 수 있는데, 이것은 직렬 고급 기술 결합(Serial Advanced Technology Attachment, SATA), 주변 컴포넌트 상호연결 익스프레스(Peripheral Component Interconnect Express, PCIe), 소형 컴퓨터 시스템 인터페이스(Small Computer System Interface, SCSI), 뿐만 아니라 (저장 영역 네트워크(Storage Area Network, SAN)를 통해 SED(102)로의 라우팅을 행하는) 네트워크 스위치와 같은 연결(105)을 통해 이루어진다. 일부 예들에서, 호스트 컴퓨터(104)는 또한 SED(102)에 전력을 공급할 수 있다.
키 관리 서버(106)는 SED(102) 상에 저장되는 데이터를 암호화하고 SED(102) 상에 저장된 데이터를 암호해독화하기 위한 암호화 키(cryptographic key)들과 같은 보호되는 매체 암호화 키(MEK)들을 전송하고 수신하는 것을 용이하게 할 수 있다. MEK는 128 혹은 255 비트의 길이를 가질 수 있는 비트들의 스트링일 수 있는데, 예를 들어, 이것은 암호화된 데이터를 일반 텍스트 포맷의 데이터로 변환하거나 그 반대로 변환하기 위한 코드로서의 역할을 한다. 키 관리 서버(106)는, MEK를 SED(102)에 전송하기 위한 메시지 포맷들, SED(102)로부터 MEK를 수신하기 위한 메시지 포맷들, 및 MEK를 조작(manipulation)하기 위한 메시지 포맷들을 정의하는 키 관리 상호운용 프로토콜(Key Management Interoperability Protocol, KMIP)에 따라 동작할 수 있다.
범위 키 데이터베이스(108)는 MEK를 저장하기 위한 저장소를 가질 수 있다. 예들에서, 키 관리 서버(106)는 범위 키 데이터베이스(108) 내에 MEK를 저장하는 것을 용이하게 하기 위해 범위 키 데이터베이스(108)에 결합될 수 있다. 범위 키 데이터베이스(108)는 키 관리 서버(106)에 대해 별개의 시스템으로서 예시되어 있지만, 일부 예들에서 양쪽의 기능은 단일 시스템으로 통합될 수 있다.
SED(102)는, 데이터를 암호화된 포맷으로 SED(102)의 비-휘발성 저장 매체(112)에 저장하고 그리고/또는 암호화된 포맷으로 SED(102)의 비-휘발성 저장 매체(112) 상에 저장된 데이터를 암호해독화하는 저장 드라이브들의 특정 종류일 수 있다. 암호화된 포맷은 전형적으로 데이터를 변경시켜 데이터가 무작위적으로 나타나도록 함으로써 데이터를 숨기는 포맷이다. 비-휘발성 저장 매체(112)는 SED(102)로부터 전력이 제거된 경우에도 암호화된 데이터와 같은 데이터를 지속적으로 저장하는 SED(102) 상의 저장 매체일 수 있다. 비-휘발성 저장 매체(112)는 많은 형태들을 취할 수 있다. 예를 들어, 만약 SED(102)가 하드 디스크 드라이브(HDD)라면, 비-휘발성 저장 매체(112)는 자기 디스크(magnetic disk)일 수 있다. 또 하나의 다른 예로서, 만약 SED(102)가 솔리드 스테이트 드라이브(SSD) 혹은 범용 직렬 버스(USB)라면, 비-휘발성 저장 매체(112)는 NAND(Not AND) 메모리, NOR(Not OR) 메모리, 또는 상 변화 메모리와 같은 비-휘발성 메모리일 수 있다.
비-휘발성 저장 매체(112)는 부트 파티션(boot partition)(114), 사용자 데이터 파티션(user data partition)(118), 및 메타데이터 파티션(metadata partition)(116)을 포함하는 복수의 파티션들(114-118)을 포함할 수 있다. 부트 파티션(114)은 호스트 컴퓨터(104)를 부팅시키는 것과 관련된 운영 체제(Operating System, OS)를 포함할 수 있다. 사용자 데이터 파티션(118)은 SED(102)의 하나 이상의 사용자들과 관련된 데이터를 저장할 수 있다. 각각의 사용자는, 논리적 블록 어드레스(Logical Blocks Address, LBA)들에 의해 어드레싱되는 임의 개수의 범위들을 할당받을 수 있거나 또는 사용자가 데이터를 저장할 수 있는 비-휘발성 저장 매체(112) 내의 저장 위치들의 (범위로서 지칭되는) 어떤 다른 식별자를 할당받을 수 있다. 사용자 데이터 파티션(118)이 두 개의 사용자들(사용자 1 및 사용자 2)과 관련된 범위들을 갖는 것으로 보여지고 있지만, 사용자 데이터 파티션(118)은 더 많거나 더 적은 범위들을 포함할 수 있다. 예들에서, 복수의 사용자들은 동일한 범위 혹은 고유한 범위들을 할당받을 수 있다. 메타데이터 파티션(116)은 관리 서비스 제공자(SP) 테이블(admin service provider (SP) table) 및 잠금 서비스 제공자(SP) 테이블(locking service provider (SP) table)을 포함할 수 있다. 관리 서비스 제공자 테이블은 어떤 사용자들이 SED(102)에 액세스할 수 있는지를 제어하는 SED의 관리자에 대한 패스워드(password)들을 암호화된 포맷으로 저장할 수 있다. 잠금 서비스 제공자 테이블은 SED(102)의 각각의 사용자와 관련된 비-휘발성 저장 매체(112)의 범위들을 식별시킬 수 있다.
SED(102)는 또한, 암호화 암호해독화 엔진(encryption decryption engine)(122), 임베디드 하드웨어 보안 모듈(embedded Hardware Security Module)(eHSM)(124), 휘발성 메모리(130), 1-회 프로그래밍가능 메모리(One-Time Programmable memory)(OTP)(120), 및 플래시 메모리(flash memory)(134)를 가질 수 있다. 암호화 암호해독화 엔진(122), 임베디드 하드웨어 보안 모듈(eHSM)(124), 휘발성 메모리(130), 1-회 프로그래밍가능 메모리(120), 및/또는 플래시 메모리(134) 중 하나 이상은, 본 명세서에서 설명되는 기능들을 수행하기 위해, 플래시 메모리(134) 내에 저장된 컴퓨터 명령들(예를 들어, 펌웨어)을 실행하는 프로세서에 의해 구현될 수 있거나, 혹은 소프트웨어 및/또는 하드웨어의 임의의 다른 적절한 타입에 의해 구현될 수 있다.
암호화 암호해독화 엔진(122)은 암호화 및 암호해독화 기능들을 수행할 수 있다. 암호화는 일반적으로 일반 텍스트 포맷의 데이터를 암호화된 데이터로 변환하는 프로세스이다. 암호화된 데이터는 데이터를 변경시켜 데이터가 무작위적으로 나타나도록 함으로써 데이터를 숨기고, 반면 일반 텍스트 포맷은 암호화되지 않은 것이다. 암호해독화는 암호화된 데이터를 일반 텍스트 포맷의 데이터로 다시 변환하는 프로세스이다. 암호화 암호해독화 엔진(122)은 비-휘발성 저장 매체(112) 상의 저장을 위해 일반 텍스트 포맷의 데이터를 암호화할 수 있고, 그리고 비-휘발성 저장 매체(112) 상에 저장된 암호화된 데이터를 암호해독화할 수 있다. 예들에서, 암호화 암호해독화 엔진(122)은 128, 192, 혹은 256 비트의 크기를 갖는 블록들을 핸들링하는 데이터 암호화 및 데이터 암호해독화를 위해 대칭 키 알고리즘(symmetric key algorithm)을 정의하는 고급 암호화 표준(Advanced Encryption Standard, AES)을 따를 수 있다.
eHSM(124)은 SED(102)의 비-휘발성 저장 매체(112) 상의 암호화된 데이터의 보안을 제어할 수 있다. 하나의 예에서, eHSM(124)은, 비-휘발성 저장 매체(112) 상에서의 저장을 위해 데이터를 암호화하기 위해 그리고 비-휘발성 저장 매체 상에 저장된 데이터를 암호해독화하기 위해, MEK를 발생시킬 수 있다. 또 하나의 다른 예에서, eHSM(124)은 MEK를 범위 키 데이터베이스(108) 내에서의 저장을 위해 키 관리 서버(106)에 안전하게 제공할 수 있다. 또 하나의 다른 예에서, eHSM(124)은 범위 키 데이터베이스(108) 내에 저장된 MEK를 키 관리 서버(106)로부터 안전하게 수신할 수 있다. 또 하나의 다른 예에서, eHSM(124)은 비-휘발성 저장 매체(112)에 대한 데이터를 암호화하고 비-휘발성 저장 매체(112) 상에 저장된 데이터를 암호해독화하기 위해 MEK를 암호화 암호해독화 엔진(122)에 안전하게 제공할 수 있다. 일부 예들에서, eHSM(124)은 eHSM(124)과 암호화 암호해독화 엔진(122) 간의 전용 통신 경로(128)를 경유해 MEK를 암호화 암호해독화 엔진(122)에 안전하게 제공할 수 있다.
MEK는 SED(102) 상에서 SED(102) 상의 휘발성 메모리(130) 내에만 저장될 수 있고, 비-휘발성 저장 매체(112) 상에는 통상적으로 저장되지 않을 수 있다. 휘발성 메모리(130)는, 랜덤 액세스 메모리(Random Access Memory, RAM)와 같이, 저장된 정보를 유지하기 위해 전력공급을 요구하며 여러 번 판독, 기입, 및 소거될 수 있는 저장소일 수 있고, 그리고 휘발성 메모리(130)는 전력이 공급되는 동안 그 저장된 정보를 보유하지만 전력공급이 중단되는 경우, 저장된 데이터는 소실된다. 예들에서, 휘발성 메모리(130)는 일반 텍스트 포맷의 데이터를 암호화된 데이터로 암호화하고 암호화된 데이터를 일반 텍스트 포맷으로 암호해독화하는 암호화 암호해독화 엔진(122)에 대한 MEK를 저장할 수 있다. 휘발성 메모리(130)가 시스템 버퍼(system buffer)와 같이 암호화 암호해독화 엔진(122)과는 별개인 것으로서 보여지고 있어도 휘발성 메모리(130)는 암호화 암호해독화 엔진(122) 및 eHSM(124)에 의해 액세스가능할 수 있다. 다른 예들에서, 휘발성 메모리(130)의 적어도 일부는 암호화 암호해독화 엔진(122) 및 eHSM(124) 내에 위치할 수 있다.
예들에서, MEK는 비-휘발성 저장 매체(112)의 임의의 범위와 관련될 수 있고, 본 명세서에서 범위 키로서 또한 지칭될 수 있다. 범위 키는 비-휘발성 저장 매체(112) 내의 임의의 범위에 대해 데이터를 암호화하고 그리고/또는 암호해독화하는데 사용될 수 있다. 이러한 경우에, 복수의 MEK들이 SED(102)와 관련될 수 있고, 각각의 MEK는 특정 범위 내에 데이터를 암호화하는 것 그리고/또는 특정 범위 내의 데이터를 암호해독화하는 것과 관련된다. 해당 범위에 대해 데이터를 암호화하는데 사용되는 MEK는 SED(102)의 휘발성 메모리(130) 내에 저장된다. MEK는 비-휘발성 저장 매체(112) 내에 저장되지 않는데, 특히 비-휘발성 저장 매체(112) 상의 메타데이터 파티션(116) 내의 잠금 서비스 제공자 테이블 내에 저장되지 않는다.
OTP(120)는 (예를 들어, 퓨즈를 끊어버림으로써) 단지 한 번만 기입될 수 있는 반도체 메모리의 타입이고, 그리고 전력이 꺼진 후 다시 공급된 후에도 저장된 정보를 검색할 수 있는 그러한 반도체 메모리의 타입이다. 예들에서, OTP(120)는 SED(102)의 신분증(identification) 및 고유 디바이스 암호(Unique Device Secret, UDS)를 저장할 수 있다. 이러한 신분증은 SED를 고유하게 식별시키기 위한 물리적 보안 ID 핀(Physical Security ID Pin)(C_PIN_PSID)일 수 있고, 그리고 SED(102)의 제조 동안 OTP(120) 내에 저장됐을 수 있다. 예들에서, C_PIN_PSID는 SED(102)에 부착된 라벨(label) 상의 C_PIN_PSID와 매칭될 수 있다. UDS는 암호화 키일 수 있고, 그리고 SED(102)의 제조 동안 OTP(120) 내에 저장됐을 수 있다.
플래시 메모리(134)는 SED(102)와 관련된 펌웨어(FirmWare)(FW)를 저장하기 위한 NAND 혹은 NOR 메모리와 같은 비-휘발성 메모리의 형태일 수 있다. 펌웨어는 암호화 암호해독화 엔진(122) 및 eHSM(124) 중 하나 이상을 동작시키는 것과 관련된 부트로더 펌웨어(bootloader firmware)(136)를 포함할 수 있다. 플래시 메모리(134)가 다른 펌웨어를 포함할 수 있지만, MEK들은 플래시 메모리(134) 내에 저장되지 않을 것이다.
일부 예들에서, 암호화 암호해독화 엔진(122), 휘발성 메모리(130), eHSM(124), OTP(120), 및 플래시 메모리(134) 중 하나 이상은 SED(102)의 저장소 제어기(132)를 정의할 수 있다. 저장소 제어기(132)는 비-휘발성 저장 매체(112) 상에 데이터를 저장하는 것과 관련된 다른 컴포넌트들을 포함할 수 있는데, 이러한 컴포넌트들은 명확한 설명 목적으로 보여지지 않는다.
예시적인 동작들(Example Operations)
도 2는 SED(102)를 구성하기 위해 호스트 컴퓨터(104)와 SED(102) 간의 예시적인 초기화 프로세스(200)를 예시한다. 초기화 프로세스(200)는 eHSM(124)과 호스트 컴퓨터(104) 간에 수행되는 신뢰받는 컴퓨팅 그룹(TCG) 프로토콜에 기반을 두고 있다. 초기화 프로세스(200)는 하드웨어, 소프트웨어, 혹은 하드웨어와 소프트웨어의 임의의 조합 중 하나 이상에 의해 구현될 수 있다. 더욱이, 도 2에서 보여지는 초기화 프로세스(200)는 특정 컴포넌트들을 포함하는데, 이러한 컴포넌트들은 도 1에서 설명된 컴포넌트들과 유사하다. 이러한 컴포넌트들의 설명은 앞에서 제공되었고 명확한 설명 목적으로 여기서는 생략될 것이다.
202에서, 호스트 컴퓨터(104)는 전력을 공급받는다. 이러한 전력-공급은 저장소 제어기(132)가 또한 전력을 공급받도록 할 수 있어 부트로더 펌웨어(136)를 eHSM(124) 및 암호화 암호해독화 엔진(122) 중 하나 이상으로 로딩(loading)하도록 한다.
204에서, SED(102)의 소유권(ownership)이 획득된다. SED(102)의 관리자는 하나 이상의 사용자들에 의한 SED(102)에 대한 액세스를 제어하기 위해 비-휘발성 저장 매체(112) 상의 메타데이터 파티션(116)의 관리 서비스 제공자 테이블(Admin SP Table) 내에 관리자 패스워드를 저장할 수 있다. 예들에서, 관리자는 만약 SED(102)가 어떠한 관리자에 의해서도 이전에 액세스되지 않았다면 이러한 패스워드를 설정할 수 있고, 혹은 이러한 패스워드는 재설정된다. 추가적으로, 이러한 소유권을 획득하는 것은 SED(102)에 대한 개인 키(private key) 및 공개 키(public key)를 도출하는 것을 포함할 수 있다. 개인 키 및 공개 키는 SED(102)와 관련된 암호화 키들일 수 있고, 여기서 공개 키는 SED(102) 외부에서 공유될 수 있고, 개인 키는 SED(102) 외부에서 공유되지 않을 수 있다.
eHSM(124)는 SED(102)에 대한 공개 키 및 개인 키를 발생시키기 위해 C_PIN_PSID 및 UDS와 같은 OTP(120) 내에 저장된 데이터에 근거하여 공개 키 및 개인 키를 도출할 수 있다. 예를 들어, OTP(120) 내에 저장된 UDS 및 C_PIN_PSID는 합성 디바이스 식별자(Compound Device Indicator, CDI)를 발생시키기 위해 eHSM(124) 내의 디바이스 식별자 구성 엔진(Device Identifier Composition Engine, DICE)과 같은 기능에 적용될 수 있다. eHSM(124) 내의 패스워드 기반 키 도출 기능(Password Based Key Derivation Function, PBKDF)은 타원 곡선(Elliptic Curve, EC) 암호화 알고리즘에 대한 CDI: PBKDF(CDI)=SED_PrivKey에 근거하여 SED에 대한 개인 키를 결정한다. 그 다음에, 개인 키는 EC 암호화 알고리즘에 대한 공개 키 도출 PubKey_Derivation: PubKey_Derivation(SED_PrivKey)=SED_PubKey에 근거하여 SED에 대한 공개 키를 도출하는데 사용된다. SED의 개인 키 및 공개 키는 비-휘발성 저장 매체(112) 내의 메타데이터 파티션(116)의 관리 서비스 제공자 테이블 내의 저장에 대해 관리자 패스워드를 암호화/암호해독화하는데 사용될 수 있다. 다른 예들에서, eHSM(124)이 개인 키 및/또는 공개 키를 발생시키는 대신에 혹은 이에 추가하여, SED_PrivKey 및 SED_PubKey가 키 관리 서버(106) 혹은 다른 시스템들에 의해 발생될 수 있고, 그리고 SED(102)에 제공될 수 있다. 예들에서, SED_PrivKey 및 SED_PubKey는 OTP(120) 내에 저장될 수 있다.
204에서, 범위 액세스(range access)가 SED(102)의 사용자에게 할당된다. 범위 액세스는 사용자가 비-휘발성 저장 매체(112) 내에 데이터를 저장할 수 있는 저장소의 LBA들 혹은 어떤 다른 식별자를 식별시킬 수 있다. 일부 예들에서, SED(102)는 32 내지 128개의 고유한 범위들을 지원할 수 있고, 각각의 사용자에게는 하나 이상의 범위들이 할당될 수 있다.
206에서, 사용자에 대한 로그인(login)이 확립된다. 예를 들어, 관리자는 디폴트 패스워드(default password)를 사용자에게 할당할 수 있고, 이러한 디폴트 패스워드는 비-휘발성 저장 매체(112)의 메타데이터 파티션(116)의 관리 서비스 제공자 내에 저장된다. 그 다음에, 사용자는 사용자와 관련된 범위에 액세스하기 위해 SED에 이러한 디폴트 패스워드를 제공할 수 있다. SED(102)의 개인 키 및/또는 공개 키는 관리자 패스워드와 유사하게 관리 서비스 제공자 내에서의 디폴트 패스워드의 암호화/암호해독화를 위해 사용될 수 있다.
SED(102)는 복수의 사용자들을 지원할 수 있다. 예들에서, 초기화 프로세스(200) 및 단계들(202-206)은 각각의 사용자를 비-휘발성 저장 매체(112) 내의 임의의 범위와 관련시키기 위해 한 번 이상 반복될 수 있다. 각각의 범위는 각각의 사용자에 대해 SED(102)의 비-휘발성 저장 매체(112) 상에 암호화된 데이터를 저장할 수 있다.
도 3은 초기화 프로세스 동안 할당된 범위와 MEK를 관련시키기 위한 예시적인 등록 프로세스(300)를 예시하며, 이것은 해당 범위 내에서의 저장을 위해 데이터를 암호화하는 것 및 사용자를 위해 해당 범위 내에서의 데이터를 암호해독화하는 것을 용이하게 하기 위한 것이다. 더욱이, MEK는 SED(102) 상에서 휘발성 메모리(130) 내에만 저장될 수 있다. SED(102) 상의 MEK를 휘발성 메모리(130) 내에만 저장함으로써, 비-휘발성 저장 매체(112) 상의 암호화된 데이터는 안전한데, 왜냐하면 휘발성 메모리(130) 내의 MEK는 SED(102)가 이제 더 이상 전력을 공급받지 않을 때 삭제되기 때문이다. SED(102)는 비-휘발성 저장 매체(112) 상의 암호화된 데이터를 암호해독화하기 위한 MEK를 갖고 있지 않다.
등록 프로세스(300)는 SED(102)의 eHSM(124)과 키 관리 서버(106) 간의 통신을 포함할 수 있고, 그리고 등록 프로세스(300)는 하드웨어, 소프트웨어, 혹은 하드웨어와 소프트웨어의 임의의 조합 중 하나 이상에 의해 구현될 수 있다. 설명의 용이함을 위해 통신은 키 관리 서버(106)와 eHSM(124) 간에 직접적으로 이루어지는 단계들(302-308)로서 보여지고 있으며, 하지만 예들에서, 통신은 호스트 컴퓨터(104)를 통해 일어날 수 있다. 더욱이, 도 3에서 보여지는 등록 프로세스(300)는 특정 컴포넌트들을 포함하는데, 이러한 컴포넌트들은 도 1에 관해 설명된 컴포넌트들과 유사하다. 이러한 컴포넌트들의 설명은 앞에서 제공되었고 명확한 설명 목적으로 여기서는 생략될 것이다.
302에서, 호스트 컴퓨터(104)에는 전력이 공급되고, 이것은 호스트 컴퓨터(104)로 하여금 부팅되게 한다. 호스트 컴퓨터(104)는 SED(102)의 비-휘발성 저장 매체(112) 상의 부트 파티션(114) 내의 OS를 통해 부팅될 수 있다. 이러한 전력-공급은 또한 저장소 제어기(132)가 또한 전력을 공급받도록 할 수 있어 부트로더 펌웨어(136)를 eHSM(124) 및 암호화 암호해독화 엔진(122) 중 하나 이상으로 로딩하도록 한다. 호스트 컴퓨터(104)는 SED(102)와 키 관리 서버(106) 간의 통신을 용이하게 할 수 있다.
304에서, SED(102)는 키 관리 서버(106)에 등록된다. 이러한 등록은 키 관리 서버(106)가 SED(102)의 하나 이상의 사용자들과 관련된 하나 이상의 범위 키들을 저장하도록 범위 키 데이터베이스(108) 내의 데이터 구조를 할당하는 것을 포함할 수 있다.
306에서, MEK는 범위 키 데이터베이스(108) 내에서의 저장을 위해 eHSM(124)으로부터 키 관리 서버(106)로 보내진다. MEK는 UDS 및 범위 키와 관련된 사용자의 패스워드로부터 도출된 암호화 키(예를 들어, PBKDF) 중 하나 이상에 근거하여 전송을 위해 포장될 수 있다. 포장된 MEK는 또한, SED(102)와 키 관리 서버(106) 양쪽 모두가 보유하고 있는 (SED와 키 관리 서버(106) 간의 통신 세션(communication session)과 관련된) 공유된 세션 키(shared session key)로 암호화될 수 있다.
308에서, 범위 키 데이터베이스(108)로부터의 MEK가 휘발성 메모리로 로딩된다. 만약 MEK가 범위 키 데이터베이스(108) 내에서의 저장을 위해 키 관리 서버(106)로 이전에 보내졌다면, 전력 공급이 끊어진 이후 SED(102)의 부팅 후에 MEK는 범위 키 데이터베이스(108)로부터 휘발성 메모리(130)로 로딩될 수 있다. 로딩된 MEK는 SED(102)로 하여금 MEK와 관련된 범위에서의 저장을 위해 데이터를 암호화할 수 있게 하며 MEK와 관련된 범위 내에 저장된 데이터를 암호해독화할 수 있게 한다. MEK를 로딩하는 것은 SED(102) 상의 MEK를 휘발성 메모리(130) 내에만 저장하는 것을 포함하고, 이에 따라 만약 SED(102)가 이제 더 이상 전력을 공급받지 않는다면, MEK는 SED(102)로부터 소거되게 되는바, 이것은 결과적으로 SED(102)를 암호-소거하게 되는데, 즉, 어떠한 MEK들도 일반 텍스트 형태로든 아니면 암호화된 형태로든 SED(102) 상에 저장되지 않게 된다. MEK가 비-휘발성 저장 매체(112) 상에 저장되지 않기 때문에, 비-휘발성 저장 매체(112) 상에 저장된 암호화된 데이터는 SED(102)가 전력을 공급받지 못할 때 안전하다.
도 4는 SED(102)가 키 관리 서버(106)에 등록될 때 등록 프로세스의 예시적 세부사항들을 예시한다. 이러한 프로세스는 키 관리 서버(106)와 eHSM(124) 간의 통신을 포함할 수 있고, 이것은 도 3에서 적어도 단계(304)에 관한 것이며, 하드웨어, 소프트웨어, 혹은 하드웨어와 소프트웨어의 임의의 조합 중 하나 이상에 의해 구현된다.
402에서, SED(102)와 키 관리 서버(106) 간의 통신 네트워크(110)를 통한 보안 통신 세션을 개방하도록 하는 요청이 SED(102)로부터 키 관리 서버(106)로 보내진다. 이러한 요청은 SED(102)에 대한 하나 이상의 범위 키들을 저장하기 위해 범위 키 데이터베이스(108) 내의 데이터 구조를 할당하는 것과 관련된 다양한 정보를 식별시킨다. 이러한 정보는, SED(102)를 식별시키기 위한 SED(102)의 C_PIN_PSID, 범위 키(RangeKey) 형태의 MEK가 SED(102) 상의 데이터를 암호화 및 암호해독화하는데 사용될 것이라는 표시, 그리고/또는 Range_num에 의해 표시되는 SED가 지원하는 범위들의 개수를 포함할 수 있다. 그 다음에, 통신 세션이 개방된다.
404에서, C_PIN_PSID, SED_PubKey, OEM-CAVerifyKey, 및 DigitalSignature가 eHSM(124)으로부터 키 관리 서버(106)로 보내진다. C_PIN_PSID 및 SED_PubKey는 앞에서 설명된다. OEM-CAVerifyKey는, SED(102)의 본래 장비 제조자(Original Equipment Manufacturer, OEM)의 증명서 확인기관(Certificate Authority, CA) 서버, 그리고 OEM의 디지털 증명서(digital certificate)(이것은 디지털 증명서를 발행하고 OEM-CAVerifyKey의 소유권을 증명하는 증명서 확인기관(CA)에 의해 유지됨)와 관련된 공개 키일 수 있다. 보내지는 C_PIN_PSID 및 SED_PubKey는 디지털 서명(digital signature)을 발생시키기 위해 OEM CA 서명 키(OEM CA signing key)에 의해 서명(sign)될 수 있다. DigitalSignature는 수신된 OEM-CAVerifyKey와 관련된 SED(102)의 C_PIN_PSID 및 SED_PubKey를 검증하는데 사용될 수 있다. OEM-CAVerifyKey는, 네트워크 내에서 임의의 신뢰받는 OEM CA 서버에 직접적으로 문의(inquiry)하는 것을 통해 키 관리 서버(106)에 의해 검증될 수 있거나, 또는 이전에-제공된 값(pre-provisioned value)에 대비되어 점검(check)될 수 있다. 이러한 검증에 근거하여, 키 관리 서버(106)는 SED(102)가 C_PIN_PSID 및 SED_PubKey를 전송했음을 확인(confirm)할 수 있다. 키 관리 서버(106)는 범위 키 데이터베이스(108) 내에서 C_PIN_PSID에 의해 고유하게 식별되는 범위 키 데이터베이스(108) 내의 데이터 구조(410)를 할당할 수 있다. 범위 키 저장소(range key store)로서 또한 지칭되는 데이터 구조(410)는, 타임스탬프 슬롯(timestamp slot)(412), Range_num보다 더 크거나 같을 수 있는 개수의 범위 키 슬롯(range key slot)들(414), 공개 키 슬롯(public key slot)(416), 및 디지털 서명 슬롯(digital signature slot)(418) 중 하나 이상을 포함할 수 있다. 예들에서, 데이터 구조(410)가 할당되었을 때의 시간(예를 들어, 카운터 값(counter value))을 표시하는 타임스탬프가 타임스탬프 슬롯(412) 내에 저장될 수 있다. 타임스탬프는, 저장소 제어기(132)와 관련된 타이머 카운터 레지스터(timer counter register)에 근거하여 통신 세션 동안 SED(102)에 의해 제공될 수 있고, 또는 인터넷 협회(Internet Society)가 공표한 RFC3161에 의해 특정되는 바와 같이 타임 스탬프 확인기관(Time Stamp Authority, TSA) 서버와 같은 신뢰받는 써드 파티(trusted third party)로부터 획득될 수 있다. 일부 예들에서, 타이머 카운터 레지스터는 휘발성 메모리(130) 내의 레지스터일 수 있고, TSA 서버는 SED(102) 및/또는 키 관리 서버(106)에 대해 원격지에 있을 수 있다. 범위 키 슬롯들(414)은 각각의 사용자 범위에 대한 범위 키를 저장할 수 있고, 그리고 범위 키 슬롯들(414)에는 0xFF와 같은 정의되지 않은 범위 키가 초기에 할당될 수 있다. 이와 관련하여, 아래에서 더 상세히 설명되는 바와 같이 타임스탬프는 범위 키 슬롯들(414) 내에 저장된 범위 키들의 유효성(validity)을 결정하는데 사용될 수 있다. 공개 키 슬롯(416)은 키 관리 서버(106)에 의해 검증된 SED_PubKey를 저장할 수 있다. 디지털 서명 슬롯(418)은 슬롯들(412-416) 내의 정보에 근거하여 키 관리 서버(106)와 관련된 키 관리 서버 서명 키로 서명된 키 관리 서버(106)의 디지털 서명을 포함할 수 있다.
406에서, 키 관리 서버(106)는 범위 키 데이터베이스(108) 상의 데이터 구조(410)가 성공적으로 할당되었다는 표시를 보낸다.
408에서, SED(102)는 키 관리 서버(106)와의 통신 세션을 종료(close)한다. SED(102)는 데이터 구조(410)가 성공적으로 할당된 이후 또는 DigitalSignature가 검증되지 않은 후에 통신 세션을 종료할 수 있다. 통신 세션은 또한 다른 원인들에 대해 종료될 수 있다.
도 5는 범위 키 데이터베이스(108) 내에서의 저장을 위해 SED로부터의 MEK를 키 관리 서버(106)에 제공하기 위한 예시적인 세부사항들을 예시한다. 이러한 프로세스는 키 관리 서버(106)와 SED(102) 간의 통신을 포함할 수 있고, 이것은 도 3에서 적어도 단계(306)에 관한 것이며, 하드웨어, 소프트웨어, 혹은 하드웨어와 소프트웨어의 임의의 조합 중 하나 이상에 의해 구현된다.
502에서, SED(102)와 키 관리 서버(106) 간의 통신 네트워크(110)를 통한 보안 통신 세션을 개방하도록 하는 요청이 SED(102)로부터 키 관리 서버(106)로 보내진다. 이러한 요청은 SED(102)를 식별시키기 위한 SED(102)의 C_PIN_PSID를 포함할 수 있다. 그 다음에, 통신 세션이 개방된다.
504에서, 공유 키 발생 요청(shared key generation request)이 랜덤 솔트(random salt)와 함께 SED(102)로부터 키 관리 서버(106)로 보내진다. 랜덤 솔트는 통신 세션에 대해 발생되는 난수(random number)일 수 있고 그리고 또 하나의 다른 통신 세션에 대해서는 변경될 수 있다. 타원 곡선 디피 헬만(Elliptic Curve Diffie Hellman, ECDH) 혹은 어떤 다른 공유 키 발생 알고리즘을 사용하여, 키 관리 서버(106)는 키 관리 서버 개인 키 및 SED_PubKey에 근거하여 통신 세션을 통한 보안 통신을 위해 공유 키를 발생시킬 수 있다. 키 관리 서버 공개 키, 키 관리 서버 개인 키, 뿐만 아니라 SED(102)에 대한 C_PIN_PSID는 이미 키 관리 서버(106)에 의해 범위 키 데이터베이스(108) 내에서 이용가능할 수 있고, 그리고 범위 키 데이터베이스(108) 내의 데이터 구조(410)는 SED(102)에 대한 SED_PubKey를 저장할 수 있다. 키 관리 서버(106)는 수신된 C_PIN_PSID를 사용하여 데이터 구조(410)에 액세스할 수 있고 공유 키를 발생시키기 위한 SED_PubKey를 획득할 수 있다. 발생된 공유 키는 또한, 수신된 랜덤 솔트로 키 도출 기능(Key Derivative Function, KDF)을 사용하여 통신 세션에 대한 세션 공유 키로 변환될 수 있으며, 여기서 KDF는 예를 들어 랜덤 솔트를 HMAC 키로서 사용하여 공유 키를 프로세싱하기 위한 메시지 인증용 키-해싱(Keyed-Hashing for Message Authentication)(HMAC) 동작일 수 있다.
506에서, 키 관리 서버(106)는 SED(102)에 확인응답(acknowledgement)을 다시 보낼 수 있다. 이러한 확인응답은, 키 관리 서버 공개 키, 키 관리 서버 CA 검증 키, 그리고 키 관리 서버 CA 서명 키에 의해 서명된 키 관리 서버 공개 키의 디지털 서명을 포함할 수 있다. eHSM(124)은, 수신된 키 관리 서버 CA 검증 키를 사용하여 디지털 서명을 검증함으로써, 그리고 SED 비-휘발성 저장 매체(112) 혹은 OTP(120) 내에 저장된 이전에-제공된 다이제스트 값(pre-provisioned digest value)과 비교하여 그 해시 다이제스트(hash digest)를 계산함으로써, 키 관리 서버 공개 키가 키 관리 서버(106)에 의해 보내졌는지를 검증할 수 있다. SED(102)가 보낸 랜덤 솔트에 관한 eHSM(124)의 타원 곡선 디피 헬만(ECDH) 알고리즘(514) 또는 어떤 다른 키 발생 알고리즘을 사용하여, eHSM(124)은 통신 세션에 대해 키 관리 서버(106)에 의해 발생된 것과 동일한 공유된 세션 키를 발생시킬 수 있다. 이러한 공유된 세션 키는, 키 관리 서버 공개 키, SED_PrivKey, 및 랜덤 솔트에 기반을 둘 수 있다. 이러한 공유된 세션 키는 통신 세션을 통한 보안 통신들을 가능하게 하기 위해 키 관리 서버(106)에 의해 발생된 공유된 세션 키와 동일할 수 있다.
eHSM(124)은 임의의 범위를 암호화 혹은 암호해독화하기 위해 MEK를 발생시킬 수 있다. 임의의 범위와 관련된 이러한 MEK는 또한 범위 키로 지칭될 수 있다. MEK는 eHSM(124)의 결정론적 랜덤 비트 발생기(Deterministic Random Bit Generator, DRBG)(512)와 같은 난수 발생기(random number generator)에 의해 발생될 수 있고, 그리고 하드웨어 순수(hardware true) 엔트로피 비트 발생(Entropy Bit Generate, EBG)에 의해 시드(seed)된다. MEK는 포장된 MEK, 즉 포장됨 범위 키를 생성하기 위해 범위 키와 관련된 사용자의 패스워드를 사용하여 PDKDF에 의해 발생된 키에 의해 포장될 수 있는데, 예를 들어, 암호화될 수 있고, 그리고 일부 경우들에서는 UDS에 의해 더 포장될 수 있는바, 예를 들어, 암호화될 수 있다. eHSM(124)은 포장을 지원하기 위해 포장/포장해제 기능(wrapping/unwrapping function)(518)을 가질 수 있다. 예들에서, eHSM(124)의 메시지 인증용 키-해싱(HMAC)(516)은 포장된 MEK의 무결성(integrity)(예를 들어, 오류가 있는 비트들이 없는 것)을 점검하기 위해 그 포장된 MEK에 대한 해시를 계산할 수 있다. 통신 세션과 관련된 공유된 세션 키는 포장된 MEK를 이러한 해시와 함께 암호화하는데 사용될 수 있다.
508에서, 해시와 함께 그 포장된 MEK는 SED(102)로부터 키 관리 서버(106)로 보내질 수 있는데 그 포장된 MEK와 관련된 범위의 신분증과 함께 보내질 수 있다. 키 관리 서버(106)는 포장된 MEK를 키 관리 서버(106)에 의해 발생된 공유된 세션 키에 근거하여 암호해독화할 수 있다. 더욱이, 키 관리 서버(106)는 포장된 MEK가 그 수신된 해시와 매칭됨을 검증하기 위해 키 관리 서버(106)와 관련된 HMAC을 사용할 수 있다. 만약 수신된 해시가 검증된다면, 포장된 MEK는 범위 키 데이터베이스(108) 내에 저장된다. 타임스탬프 슬롯(412) 내의 타임스탬프는 포장된 MEK가 저장된 시간을 표시하기 위해 업데이트될 수 있다. 업데이트되는 타임스탬프는 통신 세션 동안 SED(102)에 의해 제공될 수 있고, 또는 TSA 서버와 같은 신뢰받는 써드 파티로부터 키 관리 서버(106)에 의해 획득될 수 있다. 그 다음에, 데이터 구조(410)의 슬롯들(412-418) 내의 콘텐츠(content)들은 디지털 서명 슬롯(418) 내에 저장된 새로운 서명 및 키 관리 서버 서명 키로 다시-서명(re-sign)된다.
510에서, SED(102)는 키 관리 서버(106)와의 통신 세션을 종료한다. 통신 세션은 다양한 원인들에 대해 종료될 수 있다. 통신 세션은 포장된 MEK가 범위 키 데이터베이스(108) 내에 저장된 이후에 종료될 수 있다. 또한, 만약 키 관리 서버(106)로부터의 디지털 서명 혹은 수신된 해시 중 하나 이상이 검증되지 않았다면, 포장된 MEK는 범위 키 데이터베이스(108) 내에 저장되지 않는데, 왜냐하면 이것은 오류가 있을 수 있기 때문이며, 그리고 통신 세션은 종료된다. 통신 세션은 또한 다른 원인들에 대해 종료될 수 있고, 단계들(502-510)은 만약 저장이 성공적이지 않았다면 범위 키 데이터베이스(108) 내에 MEK를 저장하기 위해 다시 수행될 필요가 있을 수 있다. 더욱이, 단계들(502-510) 중 하나 이상은 비-휘발성 저장 매체(112) 내의 상이한 범위들과 관련된 복수의 MEK들을 데이터 구조(410) 내에 저장하기 위해 수행될 수 있다.
앞서의 예들은 SED(102)의 eHSM(124)이 MEK를 발생시키고 그 다음에 이러한 MEK가 키 관리 서버(106)에 제공되는 것을 설명한다. 다른 예들에서, MEK는 SED(102)의 eHSM(124)에 의해 발생되지 않을 수 있다. 대신에, 키 관리 서버(106) 혹은 SED(102)에 대해 원격지에 있는 다른 시스템들이 MEK를 발생시키기 위해 EBG 및 DRBG 중 하나 이상을 가질 수 있고, 그 다음에 이러한 MEK는 키 관리 서버(106) 상에 저장된다. 이와 관련하여, 단계들(306 또는 508) 중 하나 이상은 수행되지 않을 수 있고, 이것은 또한 SED(102)의 복잡도를 감소시킨다. MEK가 어떻게 발생되고 그 다음에 이러한 MEK가 데이터 구조(410) 내에 저장되는 것에 관한 또 하나의 다른 변형예들이 또한 가능하다.
도 6은 SED(102) 상에서의 암호화 및 암호해독화 동작들을 용이하게 하기 위해 범위 키 데이터베이스(108)로부터의 MEK들을 SED(102)에 제공하는 것과 관련된 예시적인 세부사항들을 예시한다. MEK들은 SED(102)에 전력 공급시 SED(102) 상에서 SED(102)의 휘발성 메모리(130) 내에만 로딩될 수 있고 비-휘발성 저장 매체(112) 상에는 저장되지 않을 수 있어 SED(102)의 비-휘발성 저장 매체(112) 상의 암호화된 데이터의 보안이 보존(preserve)되게 된다. 이러한 로딩은 SED(102)의 eHSM(124)과 키 관리 서버(106) 간의 통신을 포함할 수 있고, 이것은 도 3에서 적어도 단계(308)에 관한 것이며, 하드웨어, 소프트웨어, 혹은 하드웨어와 소프트웨어의 임의의 조합 중 하나 이상에 의해 구현된다.
602에서, SED(102)와 키 관리 서버(106) 간의 통신 네트워크(110)를 통한 보안 통신 세션을 개방하도록 하는 요청이 SED(102)로부터 키 관리 서버(106)로 보내진다. 이러한 요청은 SED(102)를 식별시키기 위한 SED(102)의 C_PIN_PSID를 포함할 수 있다. 그 다음에, 통신 세션이 개방된다.
604에서, SED(102)는 C_PIN_PSID와 관련된 범위 키 데이터베이스 내에 저장된 MEK들을 수신하기 위한 요청을 보낸다. 이러한 요청은 MEK를 수신하기 위한 표시(즉, rangekey), 랜덤 솔트, 그리고 MEK들을 전달할 곳으로서 포인터(pointer)(즉, pRangeKeyStore)를 포함할 수 있다. 키 관리 서버(106)는 통신 세션에 대한 공유된 세션 키를 발생시키기 위해 랜덤 솔트를 사용할 수 있다. 공유된 세션 키는 또한 키 관리 서버 개인 키 및 SED_PubKey에 기반을 둘 수 있다. 키 관리 서버(106)는 수신된 C_PIN_PSID를 사용하여 데이터 구조(410)에 액세스할 수 있고 공유된 세션 키를 발생시키기 위한 SED_PubKey를 획득할 수 있다. 공유된 세션 키는 통신 세션을 통한 보안 통신을 가능하게 할 수 있다. 타임스탬프 슬롯(412) 내의 타임스탬프는 MEK가 전송된 시간을 표시하기 위해 업데이트될 수 있다. 업데이트되는 타임스탬프는 통신 세션 동안 SED(102)에 의해 제공될 수 있고, 또는 TSA 서버와 같은 신뢰받는 써드 파티로부터 키 관리 서버(106)에 의해 획득될 수 있다. 그 다음에, 데이터 구조(410)의 콘텐츠들은 디지털 서명 슬롯(418) 내에 저장된 새로운 서명 및 키 관리 서버 서명 키로 다시-서명된다. 그 다음에, 키 관리 서버(106)는 SED(102)로의 전송을 위해 그 공유된 세션 키로 데이터 구조(410)를 암호화함으로써 pRangeKeyStore에 근거하여 MEK들을 갖는 데이터 구조(410)를 SED(102)로 전달한다.
606에서, 키 관리 서버(106)는 MEK들이 전달되었다는 확인응답을 SED(102)에 보낼 수 있다. 이러한 확인응답은, 키 관리 서버 공개 키, 그리고 키 관리 서버 CA 검증 키, 그리고 키 관리 서버 CA 서명 키에 의해 서명된 키 관리 서버 공개 키에 관한 디지털 서명을 포함할 수 있다. eHSM(124)은, 키 관리 서버 공개 키가 키 관리 서버(106)로부터 온 것임을 확인하기 위해, CA에 의해 유지되는 키 관리 서버의 디지털 증명서 및 수신된 키 관리 서버 CA 검증 키로 디지털 서명을 검증함으로써 키 관리 서버 공개 키를 검증할 수 있다. 더욱이, eHSM(124)은 통신 세션에 대한 공유된 세션 키를 발생시키기 위해 ECDH 알고리즘(514) 및 키 관리 서버 공개 키, SED_PrivKey, 및 랜덤 솔트를 사용할 수 있다. eHSM(124)은 데이터 구조(410)를 암호해독화하기 위해 이러한 공유된 세션 키를 사용할 수 있다. 그 다음에, eHSM(124)은 데이터 구조(410) 내의 디지털 서명을 검증하기 위해 키 관리 서버 공개 키를 사용할 수 있다. 키 관리 서버(106)로부터 수신되며 데이터 구조(410) 내에 저장된 MEK들은 하나 이상의 암호화 키들에 의해 보호될 수 있다. 만약 디지털 서명이 검증된다면, 포장된 MEK들은 eHSM(124)의 포장/포장해제 기능(518)을 사용하여 UDS로 포장해제되는데, 예를 들어, 암호해독화되고, 그리고 휘발성 메모리(130)에 로딩된다. 더욱이, 범위 키와 관련된 사용자가 USER_PIN과 같은 패스워드를 제공하는 경우, 또는 관리자가 ADMIN_PIN과 같은 패스워드를 제공하는 경우, eHSM(124)은 PBKDF를 사용하여 이러한 패스워드로부터 포장 키(wrapping key)를 도출할 수 있고, 포장된 MEK를 포장해제할 수 있고, 예를 들어, 암호해독화할 수 있고, 그리고 전용 통신 경로(128)를 통해 암호화 암호해독화 엔진(122)으로 MEK를 로딩할 수 있다. 암호화 암호해독화 엔진(122)은 이제 비-휘발성 저장 매체(112) 상에서의 저장을 위해 데이터를 암호화하도록 구성될 수 있고, 아울러 사용자를 위해 비-휘발성 저장 매체(112) 상에 저장된 데이터를 암호해독화하도록 구성될 수 있다.
예들에서, eHSM(124)은 또한 MEK들을 휘발성 메모리(130) 내에 저장하기 전에 데이터 구조(410) 내의 타임스탬프를 점검할 수 있다. eHSM(124)는 저장소 제어기(132)와 관련된 타이머 카운터 레지스터 또는 신뢰받는 TSA 서버로부터 현재 타임스탬프를 결정할 수 있다(이러한 현재 타임스탬프는 타이머 카운터 레지스터에 의해 현재 발행되는 타임스탬프를 표시하거나 또는 TSA 서버에 의해 현재 발행되는 타임스탬프를 표시함). 만약 데이터 구조(410) 내의 타임스탬프가 24시간 같은 현재 타임스탬프의 특정 지속기간 내에 있다면, 포장된 MEK들은 휘발성 메모리(130) 내에 저장된다. 만약 데이터 구조(410) 내의 타임스탬프가 24시간 같은 현재 타임스탬프의 특정 지속기간 내에 있지 않다면, 포장된 MEK들은 휘발성 메모리(130) 내에 저장되지 않는데, 왜냐하면 MEK들은 만료되었기 때문이다. 특정 지속기간은 키 관리 서버(106)와 SED(102) 간의 물리적 거리에 상관될 수 있고, 그리고 일부 예들에서는 SED 등록(304) 동안 협상(negotiate)될 수 있다. 단계(308)에서 MEK의 휘발성 메모리(130)로의 로딩 동안 키 관리 서버(106)와 eHSM(124) 간의 통신 네트워크(110)를 통해 데이터 구조(410)가 보내지기 때문에, 통신 네트워크(110) 상의 비승인된 써드 파티가 이러한 데이터 구조(410)의 복사본(copy)을 만들 수 있고, 이후 SED(102) 내에 저장된 데이터를 암호해독화하기 위해 휘발성 메모리(130) 내로 이러한 복사본을 로딩하려고 시도할 수 있다. eHSM(124)에 의한 타임스탬프의 점검은 타임스탬프가 특정 지속기간 밖에 있는 경우 MEK들이 로딩되는 것을 막고, 이것은 비-휘발성 저장 매체(112) 상의 암호화된 데이터를 비승인된 써드 파티로부터 안전하게 보호한다.
608에서, SED(102)는 키 관리 서버(106)와의 통신 세션을 종료한다. 통신 세션은 다양한 원인들에 대해 종료될 수 있다. 통신 세션은 범위 키가 휘발성 메모리(130) 내에 저장되는 경우 608에서 종료된다. 또한, 통신 세션은, 만약 MEK들과 관련된 타임스탬프 및 현재 타임스탬프가 특정 지속기간 밖에 있다면, 또는 키 관리 서버(106)로부터의 디지털 서명이 검증되지 않는다면, 608에서 종료된다. 통신 세션은 또한 다른 원인들에 대해 종료될 수 있고, 그리고 단계들(602-608)은 휘발성 메모리(130) 내에 MEK를 저장하기 위해 반복될 필요가 있을 수 있다.
MEK가 SED(102) 상에서 휘발성 메모리(130) 내에만 저장되고 비-휘발성 매체 상에는 저장되지 않기 때문에, SED(102) 상의 MEK의 모든 인스턴스들은 SED(102)에 전력이 공급되지 않을 때마다 제거되고, 이것은 결과적으로 SED(102)의 암호-소거를 일으켜 비-휘발성 저장 매체(112) 상의 암호화된 데이터를 안전하게 보호하게 된다. SED(102)의 해체가 또한 간단하게 된다. 미국 국립 표준 기술 연구소(NIST) 800-88 가이드라인들 하에서의 SED(102)의 해체는, SED(102) 상의 암호화된 데이터의 안전을 보호하기 위해 SED(102)가 해체될 때 SED(102) 상의 MEK의 모든 인스턴스들이 삭제 혹은 변경되게 제거하는 것을 포함한다. 예들에서, SED(102)의 해체는, SED(102)에 대한 전력 공급을 제거함으로써(이것은 SED 내의 MEK들이 삭제되게 함) 그리고 범위 키 데이터베이스(108) 내에 저장된 데이터 구조(410) 내의 MEK들을 삭제함으로써 이루어질 수 있다.
도 7은 SED(102)의 해체를 기억(memorialize)하기 위한 예시적인 프로세스를 예시한다. 이러한 기억화는 SED(102)와 관련된 호스트 컴퓨터(104)와 키 관리 서버(106) 간의 통신을 포함할 수 있고, 하드웨어, 소프트웨어, 혹은 하드웨어와 소프트웨어의 임의의 조합 중 하나 이상에 의해 구현된다.
702에서, 호스트 컴퓨터(104)와 키 관리 서버(106) 간의 통신 세션을 개방하도록 하는 요청이 호스트 컴퓨터(104)로부터 키 관리 서버(106)로 보내진다. 이러한 요청은 해체시킬 SED(102)의 신분증(예컨대, C_PIN_PSID)을 포함할 수 있다. 그 다음에, 통신 세션이 개방된다.
704에서, SED(102)를 해체시키도록 하는 트랜잭션 요청(transaction request)(750)이 호스트 컴퓨터(104)로부터 키 관리 서버(106)로 보내진다. 트랜잭션 요청(750)은 복수의 필드(field)들(752-762)을 포함할 수 있는데, 이러한 필드들은, 요청의 타임스탬프를 갖는 타임스탬프 필드(752), 해체할 SED(102)를 식별시키기 위한 SED(102)의 C_PIN_PSID를 갖는 SED 필드(754), 그리고 SED(102)가 해체되게 됨을 표시하는 암호-소거 범위 키 필드(756) 중 하나 이상을 포함한다. 복수의 필드들(752-762)은 또한, 해체 요청을 행한 관리자를 식별시키기 위한 관리자 ID를 갖는 관리자 ID 필드(758), 관리자와 관련된 공개 키를 갖는 공개 키 필드(760), 그리고 필드들(752-760) 내의 콘텐츠들에 서명하는 디지털 서명 필드(762) 내의 관리자 서명 키에 의한 디지털 서명을 포함할 수 있다. 트랜잭션 요청(750)은 또한, 관리자와 관련된 공개 키를 식별시키며 관리자가 SED(102)를 해체할 권한을 가짐을 표시하는 관리자의 디지털 증명서를 갖는 디지털 증명서 필드(764)를 포함할 수 있다.
706에서, 키 관리 서버(106)는 트랜잭션 요청(750)이 검증되었다는 표시를 보낸다. 검증은, 디지털 서명 필드(762) 내의 디지털 서명, 공개 키 필드(760) 내의 관리자 공개 키, 그리고 CA에 의해 관리되는 관리자 공개 증명서 내의 관리자 공개 키에 기반을 두고 있다.
그 다음에, 검증된 트랜잭션 요청(750)은 C_PIN_PSID를 통한 후속 액세스를 위해 저장소의 블록(766) 내에 저장된다. 블록(766)은 4 킬로바이트(kilobytes)(KB)일 수 있고, 이에 따라 128개의 트랜잭션 요청들이 블록(766) 내에 채워질 수 있다. 블록(766)이 채워지면(음영처리로 예시되어 있음), 블록(766)은 키 관리 서버 서명 키로 서명될 수 있고 그리고/또는 해싱될 수 있으며, 그 다음에 블록 체인(768)에 묶여 이어질 수 있다. 블록 체인(768)은 비중앙집중적인 분산된 디지털 원장(decentralized, distributed, and digital ledger)으로 다수의 컴퓨터들에 걸쳐 트랜잭션들을 기록하여 임의의 관련된 기록이 소급하여 변경될 수 없도록 하기 위해 사용되는 그러한 분산형 디지털 원장이다. 블록 체인(768)은 오로지 인지된 파티(party)들에 의해서만 액세스가능한 허가된 블록체인 내에 블록(766)을 저장할 수 있다. 더욱이, 키 관리 서버(106)는 범위 키 데이터베이스(108) 내에 저장된 데이터 구조(410)를 삭제할 수 있고, 이에 따라 MEK들은 비-휘발성 저장 매체(112) 상에 저장된 암호화된 데이터를 암호해독화하기 위해 SED(102)에 로딩될 수 없게 된다.
708에서, 호스트 컴퓨터(104)는 키 관리 서버(106)와의 통신 세션을 종료한다. 통신 세션은 다양한 원인들에 대해 종료될 수 있다. 통신 세션은 트랜잭션 요청이 블록 체인(768) 내에 저장될 때 708에서 종료된다. 또한, 만약 트랜잭션 요청(708)이 검증될 수 없기 때문에 트랜잭션 요청이 블록 체인(768) 내에 저장되지 않는다면, 통신 세션은 또한 708에서 종료된다. 통신 세션은 또한 다른 원인들에 대해 종료될 수 있고, 그리고 단계들(702-708)은 블록 체인(768) 내에 트랜잭션 요청을 저장하기 위해 반복될 필요가 있을 수 있다.
예들에서, 도 4 내지 도 6에서의 키 관리 서버(106)는 C_PIN_PSID를 포함하는 임의의 요청이, 해체되었던 SED(102)와 관련되지 않음을 검증하기 위해 블록 체인(768)을 사용할 수 있다. 예를 들어, 만약 키 관리 서버(106)가 C_PIN_PSID와 함께 통신 세션을 개방하도록 하는 요청을 수신한다면, 키 관리 서버(106)는 그 C_PIN_PSID와 관련된 SED(102)가 해체된 것인지를 알아보기 위해 블록 체인(768)을 점검할 수 있다. 만약 SED(102)가 해체된 것이라면, 키 관리 서버(106)는 통신 세션을 거부하여 어떠한 MEK들도 SED(102)의 휘발성 메모리(130)에 로딩되도록 하지 않는데 왜냐하면 이러한 SED(102)는 해체된 것이기 때문이다. 해체된 SED(102) 내의 암호화된 데이터는 이러한 방식으로 안전하게 보호된다.
더욱이, SED(102)는 MEK들을 휘발성 메모리(130)에 로딩할지 여부를 결정하기 위해 블록 체인(768)을 사용할 수 있다.
도 8은 SED(102)의 저장소 제어기(132)가 블록 체인(768)에 근거하여 SED(102)의 휘발성 메모리(130) 내에 하나 이상의 MEK들을 저장하는 것과 관련된 기능들(800)의 예시적인 흐름도이다. 이러한 기능들(800)은 호스트 컴퓨터(104)를 통해 SED(102)에 의해 수행될 수 있고, 예들에서, SED(102)의 저장소 제어기(132)에 의해 수행될 수 있으며, 소프트웨어, 하드웨어, 혹은 소프트웨어와 하드웨어의 임의의 조합 중 하나 이상에 의해 수행될 수 있다.
802에서, 하나 이상의 MEK들과, 그리고 하나 이상의 MEK들과 관련된 타임스탬프가 수신된다. MEK들 각각은 SED(102)의 비-휘발성 저장 매체(112) 상의 임의의 범위 내에서의 데이터 암호화 및 암호해독화와 관련될 수 있다. 이와 관련하여, MEK들은 범위 키들일 수 있다. 예들에서, MEK들은 eHSM(124)에 의해 데이터 구조(410)에서 수신될 수 있고, 이러한 데이터 구조(410)는 통신 세션과 관련된 공유된 세션 키에 의해 암호해독화되고, 그리고 UDS에 의해 포장해제된다. 데이터 구조(410)는 하나 이상의 MEK들의 유효성을 표시하는 타임스탬프를 포함할 수 있다. MEK들 중 각각의 MEK는 MEK와 관련된 사용자의 패스워드에 근거하여 포장 키로 또한 포장될 수 있다.
804에서, 현재 타임스탬프가 결정된다. 현재 타임스탬프는 데이터 구조(410) 내의 타임스탬프와 동일한 소스에 의해 제공될 수 있다. 예를 들어, 만약 SED(102)가 데이터 구조(410) 내의 타임스탬프를 제공했다면, eHSM(124)은 저장소 제어기(132)와 관련된 타이머 카운터 레지스터로부터 현재 타임스탬프를 획득할 수 있다. 대안적으로, 만약 TSA 서버가 타임스탬프를 제공했다면, eHSM(124)은 TSA 서버로부터 현재 타임스탬프를 획득할 수 있다.
806에서, 하나 이상의 MEK들과 관련된 타임스탬프와 현재의 타임스탬프 간의 차이가 특정 지속기간보다 작은지 아니면 큰지가 결정된다. 특정 지속기간은 하나 이상의 MEK들이 유효할 수 있는 시간의 기간일 수 있으며, 이러한 시간 이후에 MEK들은 이제 더 이상 유효하지 않다. 특정 지속기간을 정의함으로써, MEK들의 비승인된 복사본을 획득한 써드 파티는 특정 지속기간 이후에는 SED(102)의 휘발성 메모리(130)에 MEK들을 로딩할 수 없는데, 왜냐하면 MEK들이 만료되기 때문이며, 이에 따라 비-휘발성 저장 매체(112) 내에 저장된 암호화된 데이터는 안전하게 된다.
만약 차이가 특정 지속기간보다 크다면, 808에서, 하나 이상의 MEK들은 SED(102)의 휘발성 메모리(130)에 로딩되지 않는다. 하나 이상의 MEK들이 로딩되지 않는데, 왜냐하면 이들은 유효하지 않기 때문이며 MEK들의 비승인된 복사본을 획득한 써드 파티에 의해 제공되었을 가능성이 높기 때문이다.
만약 차이가 특정 지속기간보다 작거나 같다면, 810에서, SED(102)가 해체되었는지 여부가 결정된다. 만약 SED(102)가 해체된 것이라면, 하나 이상의 MEK들이 유효할 수 있어도 MEK들은 휘발성 메모리(130)에 여전히 로딩될 수 없다. SED(102)는 SED(102)가 해체되었는지 여부를 결정하도록 하는 요청을 SED(102)의 C_PIN_PSID와 같은 SED(102)의 식별자와 함께 키 관리 서버(106)로 보낼 수 있다. 키 관리 서버(106)는 SED(102)와 관련된 트랜잭션 요청(750)이 블록 체인(768) 내에 저장되어 있는지 여부를 알아보기 위해 식별자로 블록 체인(768)에 액세스할 수 있다. 만약 식별자와 관련된 트랜잭션 요청이 있다면, SED(102)는 해체된 것이다. 만약 그렇지 않다면, SED(102)는 해체된 것이 아니다. 키 관리 서버(106)는 SED(102)가 해체되었는지 여부의 표시를 eHSM(124)에 제공할 수 있다.
만약 SED(102)가 해체되지 않았다면, 812에서, MEK들은 휘발성 메모리(130)에 로딩된다. 더욱이, 사용자가 자신의 패스워드를 입력하는 경우, eHSM(124)은 사용자와 관련된 범위 내에서의 데이터의 암호화 및 암호해독화를 가능하게 하기 위해 MEK들을 포장해제할 수 있다.
만약 SED(102)가 해체되었다면, 808에서, MEK들은 휘발성 메모리(130)에 로딩되지 않는다. 써드 파티는 MEK들의 비승인된 복사본을 획득했었을 수 있고, 그리고 MEK들을 해체된 SED(102)에 로딩하려고 시도하고 있을 수 있다. MEK들은 로딩되지 않고, 이에 따라 비-휘발성 저장 매체(112) 내에 저장된 암호화된 데이터는 안전하게 된다.
예시적인 SED(Example SED)
도 9는 SED(102)의 예시적인 시스템도(900)이다. 예시적인 시스템도(900)는 저장소 제어기(132)를 포함하는데, 이러한 저장소 제어기(132)는 MEK를 저장하기 위한 휘발성 메모리(130)를 갖고, 그리고 암호화 키들을 저장하기 위한 OTP(120)를 갖는다. 추가적으로, 저장소 제어기(132)는 암호화 암호해독화 엔진(122), 플래시 메모리(134), 및 eHSM(124)을 포함할 수 있다. SED(102)는 비-휘발성 저장 매체(112)를 가질 수 있는데, 이러한 비-휘발성 저장 매체(112)는 암호화 암호해독화 엔진(122)으로부터 수신된 암호화된 형태의 데이터를 저장하고, 그리고 비-휘발성 저장 매체(112) 상에 저장된 암호화된 데이터를 암호화 암호해독화 엔진(122)에 의한 암호해독화를 위해 제공한다. 비-휘발성 저장 매체(112) 또는 플래시 메모리(134)는 MEK를 저장하지 않을 수 있다.
SED(102)는 또한 버스(902)를 포함한다(예를 들어, 주변 컴포넌트 상호연결(Peripheral Component Interconnect, PCI), 산업 표준 아키텍처(Industry Standard Architecture, ISA), PCI-익스프레스(PCI-Express), 뉴 버스(New Bus)(NuBus), 등을 포함함). 버스(802)에는 저장소 제어기(132) 및 비-휘발성 저장 매체(112)가 결합될 수 있다.
SED(102)는, SED(102) 상의 MEK를 SED(102)의 휘발성 메모리(130) 내에만 저장하기 위해, 비-휘발성 저장 매체(112)와 같은 비-일시적 머신 판독가능 매체/매체들 상에 저장된 소프트웨어(예를 들어, 컴퓨터 코드, 프로그램 명령들, 프로그램 코드, 컴퓨터 명령들) 및/또는 하드웨어로 이전에 설명된 기능들 중 어느 하나를 부분적으로(혹은 전체적으로) 구현할 수 있다.
몇 가지 구현예들이 앞에서 상세히 설명되었고, 다양한 변형예들이 가능하다. (본 명세서에서 설명되는 기능적 동작들을 포함하는) 본 명세서에서 개시되는 주된 내용은, 전자 회로, 컴퓨터 하드웨어, 펌웨어, 소프트웨어로 구현될 수 있거나, 혹은 이들의 조합들로 구현될 수 있는데, 예컨대, 본 명세서에서 개시되는 구조적 수단 및 그 구조적 등가물들과 같은 것으로 구현될 수 있고, 여기에는 잠재적으로 프로세서와 같은 하나 이상의 데이터 프로세싱 장치로 하여금 본 명세서에서 설명되는 동작들을 수행하게 하도록 동작가능한 프로그램(예를 들어, 메모리 디바이스, 저장 디바이스, 머신-판독가능 저장 기판, 혹은 다른 물리적인 머신 판독가능 매체, 또는 이들 중 하나 이상의 것들의 조합일 수 있는 비-일시적 컴퓨터-판독가능 매체에 인코딩되는 프로그램)이 포함된다.
(컴퓨터 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 혹은 코드로서 또한 알려져 있는) 프로그램은 (컴파일링된 언어 혹은 해석된 언어, 또는 선언적 언어 혹은 절차적 언어를 포함하는) 임의 형태의 프로그래밍 언어로 기입될 수 있고, 그리고 임의 형태로 배치될 수 있는데, 여기에는 독립형 프로그램으로서 배치되는 것, 또는 컴퓨팅 환경에서의 사용에 적합한 모듈, 컴포넌트, 서브루틴 혹은 다른 유닛으로서 배치되는 것이 포함된다. 프로그램이 파일 시스템 내의 파일에 반드시 대응할 필요는 없다. 프로그램은, 다른 프로그램들 혹은 데이터(예를 들어, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트들)를 보유하고 있는 파일의 일부분 내에 저장될 수 있거나, 해당 프로그램에 전용으로 사용되는 단일 파일 내에 저장될 수 있거나, 또는 복수의 조정된 파일들(예를 들어, 하나 이상의 모듈들, 서브 프로그램들, 또는 코드의 일부분들을 저장하는 파일들) 내에 저장될 수 있다. 프로그램은 (하나의 사이트에 위치하거나 혹은 복수의 사이트들에 걸쳐 분산되어 통신 네트워크에 의해 상호연결되는) 복수의 컴퓨터들 상에서 또는 하나의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 명세서가 다수의 특정사항들을 포함하고 있지만, 이러한 것들이 본 명세서에서 청구될 수 있는 것의 범위에 관한 한정사항들로서 해석돼서는 안 되며, 오히려 특정 구현들에 특정적으로 적용될 수 있는 특징들의 설명들로서 해석돼야 한다. 본 명세서에서 개별적 구현들의 맥락으로 설명된 특정 특징들은 또한 단일 구현으로 조합되어 구현될 수 있다. 반대로, 단일 구현의 맥락으로 설명된 다양한 특징들은 또한 복수의 구현들로 분리되어 구현될 수 있고 또는 임의의 적절한 하위조합으로 구현될 수 있다. 더욱이, 비록 특징들이 특정 조합들에서 동작하는 것으로서 앞에서 설명될 수 있고 심지어 초기에 그렇게 기재될 수 있을지라도, 그 기재된 조합으로부터의 하나 이상의 특징들이 일부 경우들에서 해당 조합으로부터 제거될 수 있고, 그리고 그 기재된 조합은 하위조합 또는 하위조합의 변형으로 유도될 수 있다.
유사하게, 동작들이 도면에서 특정 순서로 도시되고 있지만, 이러한 것이, 바람직한 결과들을 달성하기 위해 이러한 동작들이 그 제시된 특정 순서로 혹은 순차적 순서로 수행돼야함 또는 예시된 모든 동작들이 수행돼야함을 요구하는 것으로서 이해돼서는 안 된다. 특정 상황들에서는, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 더욱이, 앞서 설명된 구현들에서 다양한 시스템 컴포넌트들의 분리는 모든 구현들에서 이러한 분리를 요구하는 것으로서 이해돼서는 안 된다.
접속사 "및"을 갖는 목록 뒤에 오는 어구 "~ 중 적어도 하나"의 사용은, 달리 특정적으로 기재되지 않는 한, 배타적 목록으로서 다루어져는 안 되고, 그리고 각각의 카테고리로부터 하나의 아이템을 갖는 카테고리들의 목록으로서 해석돼서는 안 된다. "A, B, 및 C 중 적어도 하나"라고 기재되는 절은, 나열된 아이템들 중 하나의 아이템, 나열된 아이템들 중 복수의 아이템들, 그리고 목록 내의 아이템들 중 하나 혹은 그 이상의 아이템과 나열되지 않은 또 하나의 다른 아이템만으로 제한될 수 없다.
다른 구현예들은 다음의 청구항들의 범위 내에 있다.

Claims (20)

  1. 자체-암호화 드라이브(Self-Encryption Drive, SED)에 의해 저장된 매체 암호화 키(Media Encryption Key, MEK)의 모든 인스턴스(instance)들을 삭제함으로써 상기 자체-암호화 드라이브(SED)를 암호-소거(crypto-erasing)하기 위한 방법으로서,
    상기 자체-암호화 드라이브(SED)는 (i) 휘발성 메모리(volatile memory) 및 (ii) 비-휘발성 저장 매체(non-volatile storage media)를 포함하고,
    상기 방법은,
    키 관리 서버(key management server)로부터 상기 매체 암호화 키(MEK)를 수신하는 단계와;
    상기 키 관리 서버로부터 수신된 상기 매체 암호화 키(MEK)를 상기 자체-암호화 드라이브(SED)의 상기 휘발성 메모리 내에만 저장하는 단계와;
    상기 자체-암호화 드라이브(SED)의 상기 비-휘발성 저장 매체 내의 저장을 위해 상기 매체 암호화 키(MEK)에 근거하여 데이터를 암호화하는 단계와; 그리고
    상기 자체-암호화 드라이브(SED)를 암호-소거(crypto-erase)하기 위해 상기 자체-암호화 드라이브(SED)의 상기 휘발성 메모리 내의 상기 매체 암호화 키(MEK)를 소거하는 단계를 포함하는 것을 특징으로 하는 자체-암호화 드라이브(SED)를 암호-소거하기 위한 방법.
  2. 제1항에 있어서,
    상기 SED의 상기 휘발성 메모리 내에만 저장된 상기 MEK는, 상기 SED에 결합된 호스트 컴퓨터(host computer)에 의해 상기 SED가 전력(power)을 공급받지 않을 때, 소거되는 것을 특징으로 하는 자체-암호화 드라이브(SED)를 암호-소거하기 위한 방법.
  3. 제1항에 있어서,
    상기 MEK를 수신하는 것은, 상기 키 관리 서버로부터 상기 MEK와 관련된 타임스탬프(timestamp)를 수신하는 것을 포함하고, 상기 MEK와 관련된 타임스탬프는 상기 MEK가 만료(expire)되었는지 여부를 표시하는 것을 특징으로 하는 자체-암호화 드라이브(SED)를 암호-소거하기 위한 방법.
  4. 제3항에 있어서,
    상기 방법은 또한, 상기 MEK와 관련된 타임스탬프와 또 하나의 다른 타임스탬프 간의 차이가 특정 지속기간(duration)보다 작은지 여부를 결정하는 것을 포함하고,
    상기 MEK를 상기 SED의 상기 휘발성 메모리 내에만 저장하는 것은, 상기 차이가 상기 특정 지속기간보다 작은 경우, 상기 MEK를 저장하는 것을 포함하는 것을 특징으로 하는 자체-암호화 드라이브(SED)를 암호-소거하기 위한 방법.
  5. 제4항에 있어서,
    상기 방법은 또한, 상기 다른 타임스탬프를 상기 SED에 대해 원격지에 있는 타임스탬프 확인기관 서버(timestamp authority server)로부터 수신하거나 혹은 상기 SED의 타이머 카운터 레지스터(timer counter register)로부터 수신하는 것을 포함하는 것을 특징으로 하는 자체-암호화 드라이브(SED)를 암호-소거하기 위한 방법.
  6. 제1항에 있어서,
    상기 MEK는 상기 키 관리 서버에 의해 발생되는 것을 특징으로 하는 자체-암호화 드라이브(SED)를 암호-소거하기 위한 방법.
  7. 제6항에 있어서,
    상기 저장된 MEK는 상기 SED와 관련된 사용자의 패스워드(password)와 관련된 키(key)에 의해 포장(wrap)되는 것을 특징으로 하는 자체-암호화 드라이브(SED)를 암호-소거하기 위한 방법.
  8. 제1항에 있어서,
    상기 방법은 또한, 상기 SED가 해체(decommission)되었는지 여부의 표시를 저장하는 블록 체인(block chain)에 액세스(accessing)하는 것을 포함하고,
    상기 SED 상의 상기 MEK를 상기 SED의 상기 휘발성 메모리 내에만 저장하는 것은, 상기 표시가 상기 SED가 해체되지 않았음을 표시하는 경우, 상기 MEK를 상기 SED의 상기 휘발성 메모리 내에만 저장하는 것을 포함하는 것을 특징으로 하는 자체-암호화 드라이브(SED)를 암호-소거하기 위한 방법.
  9. 자체-암호화 드라이브(SED)에 의해 저장된 매체 암호화 키(MEK)의 모든 인스턴스들을 삭제함으로써 상기 자체-암호화 드라이브(SED)를 암호-소거하기 위한 명령들을 저장하는 비-일시적 컴퓨터-판독가능 매체로서,
    상기 명령들은, 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금 적어도,
    키 관리 서버로부터 상기 매체 암호화 키(MEK)를 수신하는 것과;
    상기 키 관리 서버로부터 수신된 상기 매체 암호화 키(MEK)를 상기 자체-암호화 드라이브(SED)의 휘발성 메모리 내에만 저장하는 것과;
    상기 자체-암호화 드라이브(SED)의 비-휘발성 저장 매체 내의 저장을 위해 상기 매체 암호화 키(MEK)에 근거하여 데이터를 암호화하는 것과; 그리고
    상기 자체-암호화 드라이브(SED)를 암호-소거하기 위해 상기 자체-암호화 드라이브(SED)의 상기 휘발성 메모리 내의 상기 매체 암호화 키(MEK)를 소거하는 것을
    수행하도록 하는 것을 특징으로 하는 비-일시적 컴퓨터-판독가능 매체.
  10. 제9항에 있어서,
    상기 SED의 상기 휘발성 메모리 내에만 저장된 상기 MEK는, 상기 SED에 결합된 호스트 컴퓨터에 의해 상기 SED가 전력을 공급받지 않을 때, 소거되는 것을 특징으로 하는 비-일시적 컴퓨터-판독가능 매체.
  11. 제9항에 있어서,
    상기 MEK는 상기 MEK가 만료되었는지 여부를 표시하는 타임스탬프와 관련되는 것을 특징으로 하는 비-일시적 컴퓨터-판독가능 매체.
  12. 제11항에 있어서,
    상기 비-일시적 컴퓨터-판독가능 매체는 또한,
    상기 MEK와 관련된 타임스탬프와 또 하나의 다른 타임스탬프 간의 차이가 특정 지속기간보다 작은지 여부를 결정하는 명령들을 포함하고,
    상기 MEK를 상기 SED의 상기 휘발성 메모리 내에만 저장하는 명령들은, 상기 차이가 상기 특정 지속기간보다 작은 경우, 상기 MEK를 저장하는 명령들을 포함하는 것을 특징으로 하는 비-일시적 컴퓨터-판독가능 매체.
  13. 제12항에 있어서,
    상기 비-일시적 컴퓨터-판독가능 매체는 또한,
    상기 다른 타임스탬프를 상기 SED에 대해 원격지에 있는 타임스탬프 확인기관 서버로부터 수신하거나 혹은 상기 SED의 타이머 카운터 레지스터로부터 수신하는 명령들을 포함하는 것을 특징으로 하는 비-일시적 컴퓨터-판독가능 매체.
  14. 제9항에 있어서,
    상기 MEK는 상기 SED의 상기 비-휘발성 저장 매체의 로직 블록 어드레스(Logical Block Address, LBA)들에 의해 어드레싱(addressing)되는 범위와 관련되는 것을 특징으로 하는 비-일시적 컴퓨터-판독가능 매체.
  15. 제9항에 있어서,
    상기 비-일시적 컴퓨터-판독가능 매체는 또한,
    상기 SED가 해체되었는지 여부의 표시를 저장하는 블록 체인에 액세스하는 명령들을 포함하고,
    상기 SED 상의 상기 MEK를 상기 SED의 상기 휘발성 메모리 내에만 저장하는 명령들은, 상기 표시가 상기 SED가 해체되지 않았음을 표시하는 경우, 상기 MEK를 상기 SED의 상기 휘발성 메모리 내에만 저장하는 명령들을 포함하는 것을 특징으로 하는 비-일시적 컴퓨터-판독가능 매체.
  16. 자체-암호화 드라이브(SED)로서,
    상기 자체-암호화 드라이브(SED)는 상기 자체-암호화 드라이브(SED)를 암호-소거하기 위해 상기 자체-암호화 드라이브(SED)에 의해 저장된 매체 암호화 키(MEK)의 모든 인스턴스들을 삭제하도록 되어 있고,
    상기 자체-암호화 드라이브(SED)는,
    휘발성 메모리와,
    비-휘발성 저장 매체를 포함하고,
    상기 자체-암호화 드라이브(SED)의 메모리 내에 저장되는 명령들은, 상기 자체-암호화 드라이브(SED)의 하나 이상의 프로세서들에 의해 실행될 때, 상기 SED로 하여금 적어도,
    키 관리 서버로부터 상기 매체 암호화 키(MEK)를 수신하는 것과;
    상기 키 관리 서버로부터 수신된 상기 매체 암호화 키(MEK)를 상기 자체-암호화 드라이브(SED)의 상기 휘발성 메모리 내에만 저장하는 것과;
    상기 자체-암호화 드라이브(SED)의 상기 비-휘발성 저장 매체 내의 저장을 위해 상기 매체 암호화 키(MEK)에 근거하여 데이터를 암호화하는 것과; 그리고
    상기 자체-암호화 드라이브(SED)를 암호-소거하기 위해 상기 자체-암호화 드라이브(SED)의 상기 휘발성 메모리 내의 상기 매체 암호화 키(MEK)를 소거하는 것을
    수행하도록 하는 것을 특징으로 자체-암호화 드라이브(SED).
  17. 제16항에 있어서,
    상기 MEK는 상기 MEK가 만료되었는지 여부를 표시하는 타임스탬프와 관련되는 것을 특징으로 하는 자체-암호화 드라이브(SED).
  18. 제17항에 있어서,
    상기 SED는 또한,
    상기 MEK와 관련된 타임스탬프와 또 하나의 다른 타임스탬프 간의 차이가 특정 지속기간보다 작은지 여부를 결정하는 명령들을 포함하고,
    상기 MEK를 상기 SED의 상기 휘발성 메모리 내에만 저장하는 명령들은, 상기 차이가 상기 특정 지속기간보다 작은 경우, 상기 MEK를 저장하는 명령들을 포함하는 것을 특징으로 하는 자체-암호화 드라이브(SED).
  19. 제18항에 있어서,
    상기 SED는 또한,
    상기 다른 타임스탬프를 상기 SED에 대해 원격지에 있는 타임스탬프 확인기관 서버로부터 수신하거나 혹은 상기 SED의 타이머 카운터 레지스터로부터 수신하는 명령들을 포함하는 것을 특징으로 하는 자체-암호화 드라이브(SED).
  20. 제16항에 있어서,
    상기 SED는 또한,
    상기 SED가 해체되었는지 여부의 표시를 저장하는 블록 체인에 액세스하는 명령들을 포함하고,
    상기 SED 상의 상기 MEK를 상기 SED의 상기 휘발성 메모리 내에만 저장하는 명령들은, 상기 표시가 상기 SED가 해체되지 않았음을 표시하는 경우, 상기 MEK를 상기 SED의 상기 휘발성 메모리 내에만 저장하는 명령들을 포함하는 것을 특징으로 하는 자체-암호화 드라이브(SED).
KR1020190163964A 2018-12-10 2019-12-10 자체-암호화 드라이브(sed) KR20200071682A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201862777659P 2018-12-10 2018-12-10
US62/777,659 2018-12-10
US201962829537P 2019-04-04 2019-04-04
US62/829,537 2019-04-04
US201962934701P 2019-11-13 2019-11-13
US62/934,701 2019-11-13

Publications (1)

Publication Number Publication Date
KR20200071682A true KR20200071682A (ko) 2020-06-19

Family

ID=68848122

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190163964A KR20200071682A (ko) 2018-12-10 2019-12-10 자체-암호화 드라이브(sed)

Country Status (4)

Country Link
US (2) US11368299B2 (ko)
EP (1) EP3667542A1 (ko)
KR (1) KR20200071682A (ko)
CN (1) CN111367834A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102430219B1 (ko) * 2021-09-15 2022-08-05 삼성전자주식회사 스토리지 장치, 스토리지 장치의 키 생성 방법 및 스토리지 장치의 인증 방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11120151B1 (en) * 2017-08-02 2021-09-14 Seagate Technology Llc Systems and methods for unlocking self-encrypting data storage devices
CN111209547B (zh) * 2018-11-22 2023-04-18 联想企业解决方案(新加坡)有限公司 计算装置及数据安全访问方法
US11095628B2 (en) * 2019-01-24 2021-08-17 Dell Products L.P. Device locking key management system
US11252138B2 (en) * 2019-01-24 2022-02-15 Dell Products L.P. Redundant device locking key management system
JP2022048601A (ja) * 2020-09-15 2022-03-28 キオクシア株式会社 ストレージ装置及び鍵配送方法
WO2022248499A1 (en) * 2021-05-24 2022-12-01 Softiron Limited Secure disk erasure
US20230071375A1 (en) * 2021-09-03 2023-03-09 Motional Ad Llc Protecting confidentiality of air-gapped logs
US20220321361A1 (en) * 2022-03-30 2022-10-06 Intel Corporation Federal information processing standard (fips) compliant device identifier composition engine (dice) certificate chain architecture for embedded systems

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10181055B2 (en) * 2007-09-27 2019-01-15 Clevx, Llc Data security system with encryption
CA2706145C (en) * 2007-12-13 2015-06-16 Pgp Corporation Apparatus and method for facilitating cryptographic key management services
US8738531B1 (en) * 2008-07-08 2014-05-27 InfoWatch Cryptographic distributed storage system and method
US8370648B1 (en) * 2010-03-15 2013-02-05 Emc International Company Writing and reading encrypted data using time-based encryption keys
JP4881468B1 (ja) * 2010-09-17 2012-02-22 株式会社東芝 記憶装置、保護方法及び電子機器
US8645716B1 (en) * 2010-10-08 2014-02-04 Marvell International Ltd. Method and apparatus for overwriting an encryption key of a media drive
JP5640845B2 (ja) 2011-03-18 2014-12-17 富士通株式会社 ストレージシステム、ストレージ制御装置およびストレージ制御方法
US8856553B2 (en) * 2011-09-12 2014-10-07 Microsoft Corporation Managing self-encrypting drives in decentralized environments
DE112012007242T5 (de) * 2012-12-20 2016-01-14 Mitsubishi Electric Corp. Steuersystem, Programmübertragungsvorrichtung, Authentifizierungsserver , Programmschutzverfahren,Programmübertragungsverfahren und Programm für Programmübertragungsvorrichtung
US9594698B2 (en) * 2013-08-13 2017-03-14 Dell Products, Lp Local keying for self-encrypting drives (SED)
US9363085B2 (en) * 2013-11-25 2016-06-07 Seagate Technology Llc Attestation of data sanitization
US9304941B2 (en) 2014-02-27 2016-04-05 Mangstor, Inc. Self-encrypting flash drive
KR20150101683A (ko) * 2014-02-27 2015-09-04 삼성전자주식회사 자기 암호화 드라이브 및 그것을 포함한 유저 장치
GB2531248B (en) 2014-10-08 2017-02-22 Ibm Controlled use of a hardware security module
WO2016179590A1 (en) * 2015-05-07 2016-11-10 Antique Books, Inc. Method for delegated authentication, access control and confirmation of irreversible commands in a storage device
US9960912B2 (en) * 2015-07-06 2018-05-01 Quanta Computer Inc. Key management for a rack server system
US9768952B1 (en) 2015-09-22 2017-09-19 Seagate Technology Llc Removable circuit for unlocking self-encrypting data storage devices
US10069625B2 (en) * 2015-09-22 2018-09-04 Quanta Computer Inc. System and method for automatic key generation for self-encrypting drives
US10516533B2 (en) * 2016-02-05 2019-12-24 Mohammad Mannan Password triggered trusted encryption key deletion
US11074356B2 (en) * 2016-02-26 2021-07-27 Antique Books, Inc. Method and device for vehicular storage security
WO2018226790A1 (en) * 2017-06-09 2018-12-13 ORock Holdings, LLC Secure network-accessible system for executing remote applications
US11599479B2 (en) * 2018-05-09 2023-03-07 Intel Corporation Technology for fine-grain encryption and secure key injection on self-encrypting drives

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102430219B1 (ko) * 2021-09-15 2022-08-05 삼성전자주식회사 스토리지 장치, 스토리지 장치의 키 생성 방법 및 스토리지 장치의 인증 방법

Also Published As

Publication number Publication date
CN111367834A (zh) 2020-07-03
EP3667542A1 (en) 2020-06-17
US20200186342A1 (en) 2020-06-11
US20200186340A1 (en) 2020-06-11
US11329814B2 (en) 2022-05-10
US11368299B2 (en) 2022-06-21

Similar Documents

Publication Publication Date Title
US11329814B2 (en) Self-encryption drive (SED)
US9735962B1 (en) Three layer key wrapping for securing encryption keys in a data storage system
US11036869B2 (en) Data security with a security module
US9805210B2 (en) Encryption-based data access management
JP5281074B2 (ja) 情報セキュリティ装置および情報セキュリティシステム
US9680805B1 (en) Method and system for key management
US10211977B1 (en) Secure management of information using a security module
US20080072071A1 (en) Hard disc streaming cryptographic operations with embedded authentication
TW202036347A (zh) 資料儲存、驗證方法及裝置
US10824571B1 (en) Separate cryptographic keys for protecting different operations on data
CN1535411A (zh) 用于在使用附属的存储设备的计算机系统中提升安全性的方法和系统
CN103946806A (zh) 用于提供存储器访问控制的装置、系统和方法
CN107590395B (zh) 适用于云环境的多层数据加密方法、装置、设备及系统
KR101910826B1 (ko) 사물인터넷 디바이스의 보안 방법 및 장치
US9824231B2 (en) Retention management in a facility with multiple trust zones and encryption based secure deletion
CN113557689A (zh) 用管理器设备初始化数据存储设备
CN113383511A (zh) 用于解锁数据存储设备的恢复密钥
CN113545021B (zh) 预先授权设备的注册
TWI789291B (zh) 用於認證在儲存裝置和主機裝置之間的資料傳輸之模組和方法
KR101711024B1 (ko) 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
CN113383335A (zh) 数据存储设备事件的安全日志记录
Pokale et al. De-duplication Approach with Enhance Security for Integrity
Rao et al. Analysis on data integrity in cloud environment