KR20220162609A - 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈 및 방법 - Google Patents

저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈 및 방법 Download PDF

Info

Publication number
KR20220162609A
KR20220162609A KR1020220031568A KR20220031568A KR20220162609A KR 20220162609 A KR20220162609 A KR 20220162609A KR 1020220031568 A KR1020220031568 A KR 1020220031568A KR 20220031568 A KR20220031568 A KR 20220031568A KR 20220162609 A KR20220162609 A KR 20220162609A
Authority
KR
South Korea
Prior art keywords
storage device
host device
digital signature
module
blockchain
Prior art date
Application number
KR1020220031568A
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 KR20220162609A publication Critical patent/KR20220162609A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • 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/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/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/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • 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/0825Key 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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

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

Abstract

본 문서는 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈 및 방법을 설명한다. 모듈은 일단 저장 디바이스가 인가된 호스트 디바이스와 정확하게 페어링되었음을 모듈이 검증하면 암호화된 데이터가 저장 디바이스와 호스트 디바이스 사이에 교환될 수 있게 하도록 구성됨으로써, 검증 단계가 패스워드를 수동으로 기입하거나 또는 추가적인 외부 디바이스를 부착할 필요가 없다.

Description

저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈 및 방법{MODULE AND METHOD FOR AUTHENTICATING DATA TRANSFER BETWEEN A STORAGE DEVICE AND A HOST DEVICE}
본 발명은 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈 및 방법에 관한 것이다. 모듈은 일단 저장 디바이스가 인가된 호스트 디바이스와 정확하게 페어링되었음을 모듈이 검증하면, 암호화된 데이터가 저장 디바이스와 호스트 디바이스 사이에 교환될 수 있게 하도록 구성되므로, 검증 단계가 패스워드를 수동으로 기입하거나 또는 추가적인 외부 디바이스를 부착할 필요가 없다.
저장 디바이스들은 전형적으로 솔리드 스테이트 디바이스들(SSDs), 하드 디스크 드라이브들(HDDs), 광학 드라이브들 또는 자기 디스크 드라이브들을 포함한다. 저장 디바이스가 JBOF(just-a-bunch-of-flash), 디스크 드라이브들 또는 SSD들을 포함하는지 여부에 관계없이, 호스트 디바이스는 전형적으로 LBA들과 연관된 정보에 액세스하기 위해 저장 디바이스에서 액세스/수정될 로직 블록 어드레스들(LBAs) 및/또는 물리 어드레스 블록들(PABs)을 규정해야 한다.
저장 디바이스 내 콘텐츠에 액세스하기 위해, 악의적인 제3 자들은 전형적으로 저장 디바이스를 호스트 디바이스에 접속하고, 해킹 알고리즘들 또는 소프트웨어의 사용을 통해, 저장 디바이스 내에 저장된 정보에 액세스하려고 시도할 것이다. 전형적으로, 이러한 저장 디바이스들은 사용자 이름들 및 패스워드들의 사용을 통해서, 소프트웨어 레벨, 예컨대 운영 시스템에서 보호되므로, 저장 디바이스 내에 포함된 데이터의 세트가 특정의 사용자에게 잠겨지고 단지 소프트웨어의 관리자만이 저장 디바이스 내에 포함된 모든 데이터에 완전히 액세스할 것이다.
그러나, 관리자 및/또는 사용자가 저장 디바이스에 액세스하기 위해 이들의 패스워드에 키들을 입력할 때, 이들은 중간자 유형의 공격들에 취약하여 이들의 키스트로크들 및/또는 입력들이 기록되어 제3 자들에게 송신될 수도 있다. 악의적인 제3 자는 이후 지령들을 리플레이하여 저장 디바이스의 콘텐츠에 액세스할 수도 있다.
패스워드들에 키를 입력하는 대신, 통상의 기술자들은 저장 디바이스가 액세스될 때마다 (호스트 디바이스가 액세스 저장 디바이스에 액세스하도록 허용하기 위해) 패스워드를 포함하는 외부 보안 디바이스, 예컨대 USB 드라이브가 호스트 디바이스 및/또는 저장 디바이스에 연결되도록 제안하였다. 관련된 디바이스는 이후 외부 디바이스로부터 패스워드를 자동적으로 취출하고, 그 안에 포함된 패스워드를 이용하여 저장 디바이스에 액세스할 것이다.
불행하게도, 패스워드가 이용될 때마다, 악의적인 행위자들이 예컨대 직렬 ATA/PCIe 버스들과 같은, 컴퓨터 버스 인터페이스들에서 데이터의 전송을 모니터링하고, 데이터가 저장 디바이스 및/또는 호스트 디바이스 내에서 암호화되기 전에 이 정보를 복제할 수도 있기 때문에, 중간자 유형들의 공격들에 너무 취약할 것이다. 복제된 패스워드는 이후 저장 디바이스 내 콘텐츠에 액세스하는데 이용될 수도 있다.
상기의 이유들로, 통상의 기술자들은 저장 디바이스에 대한 액세스가 필요할 때마다 패스워드들을 수동으로 기입할 필요없이 및/또는 외부 디바이스들을 연결할 필요없이, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증 가능한 모듈 및 방법을 고안하려고 끊임없이 노력하고 있다.
상기 및 다른 문제들이 해결되며, 본 발명에 따른 실시형태들에 의해 제공되는 시스템들 및 방법들에 의해 당해 기술에서의 진보가 이루어진다.
본 발명에 따른 모듈들 및 방법들의 실시형태들의 제1 이점은 저장 디바이스가 액세스될 때마다 패스워드들이 기입될 필요가 없고 외부 보안 디바이스들이 연결될 필요가 없으므로, 모듈이 중간자 유형의 공격들에 면역된다는 점이다.
본 발명에 따른 모듈들 및 방법들의 실시형태들의 제2 이점은 모듈이 저장 디바이스를 호스트 디바이스와 페어링할 수 있고 일단 페어링되면, 단지 보안 통신만이 저장 디바이스와 호스트 디바이스 사이에 발생할 수도 있다는 점이다.
본 발명에 따른 모듈들 및 방법들의 실시형태들의 제3 이점은 페어링 디바이스의 사용 전반에 걸쳐, 모듈이 저장 디바이스가 적합한 하드웨어와 페어링된 상태로 유지되는지를 확인하기 위해 소유 입증 검사들을 무작위로 실행할 것이라는 점이다.
본 발명에 따른 모듈들 및 방법들의 실시형태들의 제4 이점은 일단 저장 디바이스가 호스트 하드웨어와 페어링되면, 이 고유한 페어링은 데이터가 페어링 디바이스들 사이에 교환되도록 유지되어야 한다는 점이다.
상기 이점들은 다음 방식으로 동작하는 본 발명에 따른 모듈 및/또는 방법의 실시형태들에 의해 제공된다.
본 발명의 제1 양태에 따르면, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈이 개시되며, 모듈은 프로세싱 유닛; 및 프로세싱 유닛에 의해 판독가능한 비-일시성 매체들을 포함하며, 매체들은 프로세싱 유닛에 의해 실행될 때, 프로세싱 유닛으로 하여금, 저장 디바이스와 연관된 고유 번호 및 호스트 디바이스와 연관된 고유 디바이스 아이덴티티에 기초하여 저장 디바이스 및 호스트 디바이스에 대한 디지털 서명을 발생시키게 하고; 디지털 서명이 블록체인에 기입되었는지를 결정하게 하고; 디지털 서명이 블록체인에 기입된 디지털 서명과 매칭한다고 결정될 때 저장 디바이스와 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하게 하거나; 또는 디지털 서명이 블록체인에 기입된 디지털 서명과 매칭하지 않는다고 결정될 때 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 방지하게 하는 명령들을 저장한다.
본 발명의 제1 양태와 관련하여, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 방지하는 명령은, 프로세싱 유닛에 의해 실행될 때, 프로세싱 유닛으로 하여금, 페어링 명령이 호스트 디바이스에 제공되는 인가된 애플리케이션으로부터 수신될 때 디지털 서명을 블록체인에 기입하게 하고; 그리고 디지털 서명이 블록체인에 기입되었을 때 저장 디바이스와 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하게 하는 명령들을 더 포함한다.
본 발명의 제1 양태와 관련하여, 모듈은 프로세싱 유닛에 의해 실행될 때, 프로세싱 유닛으로 하여금, 무작위 시간 기간이 경과된 후, 저장 디바이스와 연관된 고유 번호 및 호스트 디바이스와 연관된 고유 디바이스 아이덴티티에 기초하여 저장 디바이스 및 호스트 디바이스에 대한 다른 디지털 서명을 발생시키게 하고; 다른 디지털 서명이 블록체인에 기입되어 있는 디지털 서명과 매칭하는지를 결정하게 하고; 다른 디지털 서명이 블록체인에 기입된 디지털 서명과 매칭한다고 결정될 때 저장 디바이스와 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하게 하거나; 또는 다른 디지털 서명이 블록체인에 기입된 디지털 서명과 매칭하지 않는다고 결정될 때 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 방지하게 하는 명령들을 더 포함한다.
본 발명의 제1 양태와 관련하여, 디지털 서명을 발생시키는 명령들은 PGP(Pretty-Good-Privacy) 하이브리드 암호 시스템의 세션 키에 기초하여 디지털 서명을 발생시키도록 프로세싱 유닛에 지시하는 명령들을 포함한다.
본 발명의 제1 양태와 관련하여, 저장 디바이스와 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하는 명령은, 공개-키 암호해독법을 이용하여, PGP 세션 키를 암호화하고; 암호화된 PGP 세션 키를 저장 디바이스 및 호스트 디바이스의 보안 위치들에 저장하고; 그리고 PGP 세션 키를 이용하여 저장 디바이스와 호스트 디바이스 사이에 교환된 모든 데이터를 암호화하도록 프로세싱 유닛에 지시하는 명령들을 포함한다.
본 발명의 제1 양태와 관련하여, 디지털 서명을 발생시키는 명령은, 저장 디바이스와 연관된 고유 번호와 호스트 디바이스와 연관된 고유 디바이스 아이덴티티의 조합을 해시하여 해시된 메시지 h를 발생시키도록 프로세싱 유닛에 지시하고; Boneh-Lynn-Shacham(BLS) 서명 방식을 이용하여, 해시된 메시지 h를 BLS 서명 σ로 변환하고; 그리고 BLS 서명을 디지털 서명으로 이용하는, 명령들을 포함한다.
본 발명의 제1 양태와 관련하여, 모듈은 프로세싱 유닛에 의해 실행될 때, 프로세싱 유닛으로 하여금, 호스트 디바이스에 제공되는 인가된 애플리케이션으로부터, 제한된 로직 블록 어드레스들(LBAs)을 수신하게 하고; 호스트 디바이스로부터의 명령들을 인터셉트하여 제한된 LBA들에 액세스하게 하고; 그리고 명령들이 모듈에 의해 검증되었을 때 인터셉트된 명령들이 제한된 LBA들에 액세스하도록 허용하게 하는 명령들을 더 포함하며, 명령들은 인가된 애플리케이션에 의해 저장 디바이스의 공개 키를 이용하여 서명되며 모듈에 의해 저장 디바이스의 개인 키를 이용하여 검증된다.
본 발명의 제1 양태와 관련하여, 저장 디바이스와 연관된 고유 번호는 저장 디바이스의 보안 암호화 프로세서 내에 제공된다.
본 발명의 제1 양태와 관련하여, 블록체인은 호스트 디바이스 내에 제공되는 개인 분산 데이터베이스 시스템을 포함한다.
본 발명의 제2 양태에 따르면, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 방법은 모듈을 이용하여, 저장 디바이스와 연관된 고유 번호 및 호스트 디바이스와 연관된 고유 디바이스 아이덴티티에 기초하여 저장 디바이스 및 호스트 디바이스에 대한 디지털 서명을 발생시키는 단계; 모듈을 이용하여, 디지털 서명이 블록체인에 기입되었는지를 결정하는 단계; 디지털 서명이 블록체인에 기입된 디지털 서명과 매칭한다고 결정될 때 모듈을 이용하여, 저장 디바이스와 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하는 단계; 또는 디지털 서명이 블록체인에 기입된 디지털 서명과 매칭하지 않는다고 결정될 때 모듈을 이용하여, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 방지하는 단계를 포함한다.
본 발명의 제2 양태와 관련하여, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 방지하는 단계는, 페어링 명령이 호스트 디바이스에 제공되는 인가된 애플리케이션으로부터 수신될 때 모듈을 이용하여, 디지털 서명을 블록체인에 기입하는 단계; 및 디지털 서명이 블록체인에 기입되었을 때 모듈을 이용하여, 저장 디바이스와 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하는 단계를 더 포함한다.
본 발명의 제2 양태와 관련하여, 본 방법은 무작위 시간 기간이 경과된 후, 모듈을 이용하여, 저장 디바이스와 연관된 고유 번호 및 호스트 디바이스와 연관된 고유 디바이스 아이덴티티에 기초하여, 저장 디바이스 및 호스트 디바이스에 대한 다른 디지털 서명을 발생시키는 단계; 모듈을 이용하여, 다른 디지털 서명이 블록체인에 기입되어 있는 디지털 서명과 매칭하는지를 결정하는 단계; 다른 디지털 서명이 블록체인에 기입된 디지털 서명과 매칭한다고 결정될 때, 모듈을 이용하여, 저장 디바이스와 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하는 단계; 또는 다른 디지털 서명이 블록체인에 기입된 디지털 서명과 매칭하지 않는다고 결정될 때, 모듈을 이용하여, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 방지하는 단계를 더 포함한다.
본 발명의 제2 양태와 관련하여, 디지털 서명을 발생시키는 단계는 PGP(Pretty-Good-Privacy) 하이브리드 암호 시스템의 세션 키에 기초하여 디지털 서명을 발생시키는 단계를 포함한다.
본 발명의 제2 양태와 관련하여, 저장 디바이스와 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하는 단계는, 모듈을 이용하여 그리고 공개-키 암호해독법을 이용하여, PGP 세션 키를 암호화하는 단계; 모듈을 이용하여, 암호화된 PGP 세션 키를 저장 디바이스 및 호스트 디바이스의 보안 위치들에 저장하는 단계; 및 모듈을 이용하여, 저장 디바이스와 호스트 디바이스 사이에 교환된 모든 데이터를 PGP 세션 키를 이용하여 암호화하는 단계를 포함한다.
본 발명의 제2 양태와 관련하여, 디지털 서명을 발생시키는 단계는, 모듈을 이용하여, 저장 디바이스와 연관된 고유 번호와, 호스트 디바이스와 연관된 고유 디바이스 아이덴티티의 조합을 해시하여 해시된 메시지 h를 발생시키는 단계; 모듈을 이용하여, 그리고 Boneh-Lynn-Shacham(BLS) 서명 방식을 이용하여, 해시된 메시지 h를 BLS 서명 σ로 변환하는 단계; 및 BLS 서명을 디지털 서명으로 이용하는 단계를 포함한다.
본 발명의 제2 양태와 관련하여, 본 방법은 모듈을 이용하여, 호스트 디바이스에 제공되는 인가된 애플리케이션으로부터, 제한된 로직 블록 어드레스들(LBAs)을 수신하는 단계; 모듈을 이용하여, 호스트 디바이스로부터의 명령들을 인터셉트하여 제한된 LBA들에 액세스하는 단계; 및 명령들이 모듈에 의해 검증되었을 때, 모듈을 이용하여, 인터셉트된 명령들이 제한된 LBA들에 액세스하도록 허용하는 단계를 더 포함하며, 명령들은 인가된 애플리케이션에 의해 저장 디바이스의 공개 키를 이용하여 서명되며 모듈에 의해 저장 디바이스의 개인 키를 이용하여 검증된다.
본 발명의 제2 양태와 관련하여, 저장 디바이스와 연관된 고유 번호가 저장 디바이스의 보안 암호화 프로세서 내에 제공된다.
본 발명의 제2 양태와 관련하여, 블록체인은 호스트 디바이스 내에 제공되는 개인 분산 데이터베이스 시스템을 포함한다.
상기 및 다른 문제들은 상세한 설명에서 설명되고 다음 도면들에 나타낸 본 발명에 따른 시스템 및 방법의 특징들 및 이점들에 의해 해결된다.
도 1은 본 발명의 실시형태들에 따른, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 시스템의 블록도를 예시한다.
도 2는 본 발명의 실시형태들에 따른, 실시형태들을 제공하는 프로세싱 시스템들을 나타내는 블록도를 예시한다.
도 3은 본 발명의 실시형태들에 따른, 저장 디바이스의 펌웨어에 포함된 모듈들의 블록도를 예시한다.
도 4는 본 발명의 실시형태들에 따른, 저장 디바이스 내 제한된 로직 블록 어드레스들(LBAs)에 액세스하는 프로세스의 흐름도를 예시한다.
도 5는 본 발명의 실시형태들에 따른, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 프로세스 또는 방법의 플로우 차트를 예시한다.
도 6은 본 발명의 실시형태들에 따른 저장 디바이스와 호스트 디바이스 사이에 암호화된 데이터를 전송하는 프로세스 또는 방법의 플로우 차트를 예시한다.
도 7은 본 발명의 실시형태들에 따른 저장 디바이스 내 제한된 로직 블록 어드레스들(LBAs)에 액세스하는 프로세스의 플로우 차트를 예시한다.
본 발명은 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈 및 방법에 관한 것이다. 모듈은 일단 저장 디바이스가 인가된 호스트 디바이스와 정확하게 페어링되었음을 모듈이 검증하면 암호화된 데이터가 저장 디바이스와 호스트 디바이스 사이에 교환될 수 있게 하도록 구성되므로, 검증 단계가 패스워드를 수동으로 기입하거나 또는 추가적인 외부 디바이스를 부착할 필요가 없다. 저장 디바이스 및 호스트 디바이스가 처음으로 페어링되어야 한다고 모듈이 결정하면, 모듈은 저장 디바이스 및 호스트 디바이스의 고유 식별자들에 기초하여 디지털 서명을 발생시킴으로써 이 디지털 서명이 이후 변경되거나 또는 변화되지 않도록 블록체인 상에 저장된다.
이하, 본 발명을 첨부 도면들에 예시된 바와 같은 이의 여러 실시형태들을 참조하여 자세히 설명한다. 다음의 설명에서, 매우 많은 특정의 특징들이 본 발명의 실시형태들의 완전한 이해를 제공하기 위해 개시된다. 그러나, 실시형태들이 특정의 특징들의 일부 또는 전부 없이 실현될 수도 있다는 것은 통상의 기술자에게 자명할 것이다. 이러한 실시형태들은 또한 본 발명의 범위 내에 속해야 한다. 또, 다음에서 구체적인 프로세스 단계들 및/또는 구조들이 자세하게 설명되지 않을 수도 있으며, 독자는 본 발명을 불필요하게 모호하게 하지 않도록 대응하는 인용을 참조할 것이다.
또, 통상의 기술자는 이 설명에서의 다수의 기능 유닛들이 명세서 전체에 걸쳐서 모듈로서 라벨링되었음을 알 수 있을 것이다. 또한, 통상의 기술자는 모듈이 회로들, 로직 칩들 또는 임의 종류의 별개의 컴포넌트로서 구현될 수도 있음을 알 수 있을 것이다. 또한, 통상의 기술자는 모듈이 다양한 프로세서 아키텍쳐들에 의해 이후 실행될 수도 있는 소프트웨어로 구현될 수도 있음을 또한 알 수 있을 것이다. 본 발명의 실시형태들에서, 모듈은 또한 수신된 명령들에 기초하여 이벤트들의 시퀀스를 실행하도록 컴퓨터 프로세서에 지시할 수도 있는 컴퓨터 명령들, 펌웨어 또는 실행가능 코드를 포함할 수도 있다. 모듈들의 구현의 선택은 통상의 기술자에게 설계 선택으로서 남겨지며 어떤 방법으로든 본 발명의 범위를 제한하지 않는다.
본 발명의 실시형태들에 따른, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 예시적인 프로세스 또는 방법이 아래 단계들에서 개시된다. 저장 디바이스 및/또는 호스트 디바이스에서 제공되는 모듈에 의해 구현되는 프로세스 또는 방법의 단계들은 다음과 같다:
단계 1: 저장 디바이스와 연관된 일련 번호 및 호스트 디바이스와 연관된 고유 디바이스 아이덴티티에 기초하여 저장 디바이스 및 호스트 디바이스에 대한 디지털 서명을 발생시키는 단계;
단계 2: 디지털 서명이 블록체인에 기입되었는지를 결정하는 단계;
단계 3: 디지털 서명이 블록체인에 기입된 디지털 서명과 매칭한다고 결정될 때 저장 디바이스와 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하는 단계; 및
단계 4: 디지털 서명이 블록체인에 기입된 디지털 서명과 매칭하지 않는다고 결정될 때 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 방지하는 단계.
본 발명의 실시형태들에 따르면, 위에 개시된 단계들은 호스트 디바이스에 및/또는 저장 디바이스에 제공되는 모듈에 의해 수행되거나 또는 실행될 수도 있다.
본 발명의 실시형태들에 따른, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 시스템의 블록도가 도 1에 예시된다. 도 1은 호스트 디바이스들(152 및 154), 서버 랙(156) 및 NaS(158)가 유선 및/또는 무선 수단을 통해서 블록체인(170)에 통신가능하게 접속되는, 저장 디바이스(101), 호스트 디바이스들(152 및 154), 서버 랙(156) 및 NAS(network attached storage)(158)를 예시한다. 도 1은 단지 호스트 디바이스들, 서버 랙 및 NAS만을 예시하지만, 임의의 다른 유형들의 컴퓨팅 디바이스들/시스템들이 컴퓨팅 디바이스가 운영 시스템을 지원할 수 있는 한, 본 발명으로부터 일탈함이 없이, 사용될 수도 있음을 통상의 기술자는 알 수 있을 것이다.
도 1에 예시된 바와 같이, 커넥터(140)는 저장 디바이스(101)와, 호스트 디바이스들(152 및 154), 서버 랙(156) 및 NaS(158) 사이의 중재자로서 예시되므로, 저장 디바이스(101)와 교환되는 모든 통신이 먼저 커넥터(140)를 통과해야 할 것이다. 후속 설명은 단지 단일 호스트 디바이스만을 참조하지만, 유사한 기능들 및/또는 프로세스들이 본 발명으로부터 일탈함이 없이 호스트 디바이스들(152 및 154), 서버 랙(156) 및 NaS(158) 중 임의의 것에 의해 수행될 수도 있고 호스트 디바이스가 일 예로서 선택됨을 통상의 기술자는 알 수 있을 것이다.
도 1에 예시된 바와 같이, 모듈(130)은 본 발명으로부터 일탈함이 없이 저장 디바이스(101)에 및/또는 임의의 호스트 디바이스에 제공될 수도 있다. 동작 시, 저장 디바이스(101)가 호스트 디바이스(152)에 처음에 접속될 때, 저장 디바이스(101)는 호스트 디바이스(152)에 의해 급전될 것이다. 일단 전원이 켜지면, 모듈(130)은 이후 저장 디바이스(101)로부터 저장 디바이스(101)와 연관된 고유 일련 번호 및 공개 키를 추출할 것이다. 본 발명의 실시형태들에서, 이 고유 일련 번호는 보안 암호화 프로세서(102)에 저장되지만, 공개 키는 메모리(112) 내 임의의 비보안 위치에 저장될 수도 있다.
모듈(130)은 또한 운영 시스템이 미리 로드된 호스트 디바이스(152)가 호스트 디바이스(152)와 연관된 고유 디바이스 식별자 및 공개 키를 제공하게 할 것이다. 본 발명의 실시형태들에서, 고유 디바이스 식별자는 호스트 디바이스(152)의 운영 시스템 내에 설치된 인가된 애플리케이션에 의해 발생될 수도 있다. 내장된 애플리케이션을 포함할 수도 있는 이 인가된 애플리케이션은 또한 저장 디바이스(101)와 호스트 디바이스(152)의 페어링을 트리거하는데 사용되는 페어링 명령을 발생시키는데 사용될 수도 있다.
이는 저장 디바이스(101)가 호스트 디바이스(152)와 페어링되는 것이 처음이므로, 호스트 디바이스(152)가 호스트 디바이스(152)와 연관된 그의 고유 디바이스 식별자 및 공개 키를 제공할 때, 호스트 디바이스(152)는 또한 페어링 명령을 모듈(130)에 제공할 것이다.
요구된 정보를 저장 디바이스(101) 및 호스트 디바이스(152)로부터 수신 시, 모듈(130)은 저장 디바이스(101)와 연관된 일련 번호 및 호스트 디바이스(152)와 연관된 고유 디바이스 식별자에 기초하여 이들 2개의 디바이스들에 대한 디지털 서명을 발생시킴으로써 이들 2개의 디바이스들의 페어링을 개시할 것이다.
본 발명의 일 실시형태에서, 디지털 서명이 PGP(Pretty-Good-Privacy) 하이브리드 암호 알고리즘에 대한 세션 키로서 발생된다. 고유 디지털 서명이 후속하여 블록체인(170)에 기입된다. 필요한 경우, 이후 고유 디지털 서명이 블록체인에 기입되었는지 여부를 검출하기 위해 블록체인 상에서 탐색이 수행될 수도 있다.
본 발명의 추가적인 실시형태에서, PGP 세션 키는 메시지 m으로서 처리될 수도 있으며, 이는 이후 Boneh-Lynn-Shacham(BLS) 서명 방식을 이용하여 서명된다. BLS 방식에서, 메시지 m은 해시된 메시지 h를 발생시키기 위해 해시된다. BLS 서명 σ는 이후 σ = hx로 발생되며, 여기서, x는 디바이스(101 또는 152)의 개인 키(예컨대, 디바이스들(101 및 152) 각각의 고유 식별자)를 포함한다. BLS 서명 σ를 포함하는 이 고유 디지털 서명은 이후 후속하여 블록체인(170)에 기입된다. BLS 서명 σ가 예컨대 디바이스(101 또는 152) 각각의 공개 키와 같은, BLS 서명을 발생시키는데 사용된 디바이스의 공개 BLS 키를 이용하여 검증될 수도 있다는 점에 유의해야 한다.
본 발명의 이 실시형태의 연속에서, 저장 디바이스(101)와 호스트 디바이스(152) 사이에 발생하는 모든 후속 데이터 전송들이 이후 PGP 하이브리드 암호 시스템에 기초하여 암호화되어, 각각의 디바이스의 공개 키들이 각각의 디바이스의 공개 PGP 키들로서 사용될 것이다. 본 발명의 실시형태들에서, 데이터 전송은, 다른 디바이스가 암호 텍스트를 해독하고 후속하여 세션 키를 이용하여 암호 텍스트를 발생시킬 수도 있도록 모듈(130)이 세션 키를 다른 디바이스에 제공해야 하므로, 전형적으로 모듈(130)에 의해 개시될 것이다.
예를 들어, P2P 통신 방법들을 통해서든 및/또는 종래의 데이터 전송의 방법을 통해서든 간에, 데이터가 저장 디바이스(101)로부터 호스트 디바이스(152)로 전송될 때, 모듈(130)은 먼저 세션 키를 이용하여 데이터를 암호화하여 암호 텍스트를 형성할 것이다. 세션 키는 이후 호스트 디바이스(152)의 공개 키를 이용하여 암호화된다. 모듈(130)은 이후 공개 키-암호화된 세션 키가 암호 텍스트와 함께 호스트 디바이스(152)로 송신되게 한다. 공개 키-암호화된 세션 키 및 암호 텍스트를 수신 시, 호스트 디바이스(152)는 이후 그의 자신의 개인 키를 이용하여 세션 키를 복원한다. 복구된 세션 키는 이후 암호 텍스트를 종래의 텍스트로 해독하기 위해 호스트 디바이스(152)에 의해 사용된다. 세션 키의 복구 및 암호 텍스트의 해독은 호스트 디바이스(152) 내에 제공되는 보안 위치 내에서 모두 발생할 수도 있다.
이제 호스트 디바이스(152)가 그의 소유 세션 키를 가지고 있기 때문에, 그리고, 저장 디바이스(101)의 공개 키가 호스트 디바이스(152)에 알려져 있기 때문에, 데이터가 호스트 디바이스(152)로부터 저장 디바이스(101)로 전송될 때, 호스트 디바이스(152)는 먼저, 수신된 데이터를 세션 키를 이용하여 암호화하여 암호 텍스트를 형성할 것이다. 세션 키는 이후 저장 디바이스(101)의 공개 키를 이용하여 암호화된다. 호스트 디바이스(152)는 이후 공개 키-암호화된 세션 키가 암호 텍스트와 함께, 모듈(130)에 의해 인터셉트되는 저장 디바이스(101)로 송신되게 한다. 공개 키-암호화된 세션 키 및 암호 텍스트를 수신 시, 모듈(130)은 이후 저장 디바이스(101)의 개인 키를 이용하여 세션 키를 복원한다. 본 발명의 다른 실시형태들에서, 세션 키가 모듈(130) 내에 이미 저장되어 있으므로, 모듈(130)은 공개 키-암호화된 세션 키를 먼저 해독할 필요 없이, 기존 세션 키를 이용하여 암호 텍스트를 종래의 텍스트로 직접 해독할 수도 있다. 해독된 텍스트가 이후 추가적인 프로세싱을 위해 저장 디바이스(101) 상으로 포워딩된다.
완전성을 위해, 다른 예에서, 모듈(130)은 호스트 디바이스(152) 내에 제공된다. 이와 같이, 데이터가 호스트 디바이스(152)로부터 저장 디바이스(101)로 전송될 때, 모듈(130)은 먼저 세션 키를 이용하여 데이터를 암호화하여 암호 텍스트를 형성할 것이다. 세션 키는 이후 저장 디바이스(101)의 공개 키를 이용하여 암호화된다. 모듈(130)은 이후 공개 키-암호화된 세션 키가 암호 텍스트와 함께, 저장 디바이스(101)로 송신되게 한다. 공개 키-암호화된 세션 키 및 암호 텍스트를 수신 시, 저장 디바이스(101)는 이후 그의 자신의 개인 키를 이용하여 세션 키를 복원한다. 복구된 세션 키는 이후 암호 텍스트를 종래의 텍스트로 해독하기 위해 저장 디바이스(101)에 의해 사용된다. 세션 키의 복구 및 암호 텍스트의 해독은 저장 디바이스(101) 내에 제공되는 보안 위치(예컨대, 암호화-메모리(102)) 내에서 모두 발생할 수도 있다.
이제, 저장 디바이스(101)가 그의 소유 세션 키를 가지고 있기 때문에, 그리고, 호스트 디바이스(152)의 공개 키가 저장 디바이스(101)에 알려져 있기 때문에, 데이터가 저장 디바이스(101)로부터 호스트 디바이스(152)로 전송될 때, 저장 디바이스(101)는 먼저 수신된 데이터를 세션 키를 이용하여 암호화하여 암호 텍스트를 형성할 것이다. 세션 키는 이후 호스트 디바이스(152)의 공개 키를 이용하여 암호화된다. 저장 디바이스(101)는 이후 공개 키-암호화된 세션 키가 암호 텍스트와 함께, 모듈(130)에 의해 인터셉트되는 호스트 디바이스(152)로 송신되게 한다. 공개 키-암호화된 세션 키 및 암호 텍스트를 수신 시, 모듈(130)은 이후 호스트 디바이스(152)의 개인 키를 이용하여 세션 키를 복원한다. 본 발명의 다른 실시형태들에서, 세션 키가 모듈(130) 내에 이미 저장되어 있으므로, 모듈(130)은 공개 키-암호화된 세션 키를 먼저 해독할 필요 없이, 기존 세션 키를 이용하여 암호 텍스트를 종래의 텍스트로 직접 해독할 수도 있다. 해독된 텍스트가 이후 추가적인 프로세싱을 위해 호스트 디바이스(152) 상으로 포워딩된다.
본 발명의 다른 실시형태에서, 디지털 서명이 BLS 암호의 서명 방식에 기초하여 Boneh-Lynn-Shacham(BLS) 서명으로서 발생되며, 이에 따라 저장 디바이스(101)와 연관된 일련 번호는 디바이스(101)의 개인 키로서 사용되지만 호스트 디바이스(152)와 연관된 고유 디바이스 식별자는 디바이스(152)의 개인 키로서 사용된다. 이 실시형태에서, BLS 서명 방식을 이용하여 설명될 메시지 m은 해시된 메시지 h를 발생시키기 위해, 디바이스들(101 및 152)의 개인 키들의 조합 또는 디바이스(152)의 개인 키와의 디바이스(101)의 개인 키의 해시를 포함할 수도 있지만 이에 제한되지 않는다. BLS 서명 σ는 이후 σ = hx로 발생되며, 여기서, x는 디바이스(101 또는 152)의 개인 키를 포함한다. BLS 서명 σ를 포함하는 이 고유 디지털 서명은 이후 후속하여 블록체인(170)에 기입된다. BLS 서명 σ가 디바이스(101 또는 152) 각각의 공개 키와 같은, BLS 서명을 발생시키는데 사용된 디바이스의 공개 BLS 키를 이용하여 검증될 수도 있다는 점에 유의해야 한다.
저장 디바이스(101)와 호스트 디바이스(152) 사이에 발생하는 모든 후속 데이터 전송들은 이후 PGP 하이브리드 암호 시스템, 대칭 암호화 방식들 및/또는 비대칭 암호화 방식들과 같은, 기존 암호 알고리즘들에 기초하여 암호화될 것이고/이거나, BLS 서명 방식을 이용하여 서명될 것이다.
본 발명의 추가적인 실시형태에서, 모듈(130)은, 무작위 및/또는 미리 결정된 시간 기간이 경과된 후, 저장 디바이스(101)와 연관된 일련 번호 및 호스트 디바이스(152)와 연관된 고유 디바이스 식별자에 기초하여 저장 디바이스(101) 및 호스트 디바이스(152)에 대해 (상기 실시형태들 중 하나에 기초하여) 다른 디지털 서명을 발생시킬 수도 있다. 모듈(130)은 이후 블록체인에 대한 검사를 수행하여, 새로 발생된 디지털 서명이 블록체인 상에서 발견될 수도 있는지를 결정할 것이다. 매칭이 발견되면, 이는 2개의 디바이스들이 이전에 페어링되었음을 암시할 것이므로, 암호화된 데이터 교환이 이들 2개의 디바이스들 사이에 계속 발생할 수도 있다. 반대로, 매칭이 발견되지 않으면, 2개의 디바이스들 사이의 이 모든 데이터 전송들이 이후 중단될 것이다.
본 발명의 또 다른 실시형태에서, 디지털 서명은 비대칭 암호해독법, 대칭 암호해독법, 서명 알고리즘들, 키 생성 알고리즘들, 서명 검증 알고리즘들, 디지털 서명 방식들 및/또는 이들 방식들의 임의의 조합과 같은, 그러나 이에 제한되지 않는, 임의의 암호 방식을 이용하여 발생될 수도 있다.
도 1을 참조하면, 저장 디바이스(101)가 전력 관리 칩셋(PMIC)(110), 보안 암호화 프로세서/메모리(102), SIP(System in Package)(106), 플래시 어레이(104) 및 랜덤-액세스-메모리(RAM)(108) 및 인터페이스 버스(114)를 포함한다는 점에 유의하는 것이 유용하다. 플래시 어레이(104) 및 RAM(108)은 통신 버스(116)를 통해서 보안 암호화 프로세서/메모리(102), 제어기(106) 및 인터페이스 버스(114)에 접속된다.
플래시 어레이(104)는 NAND 또는 NOR 플래시 메모리들과 같은, 전자적으로 소거되고 재프로그래밍될 수 있는 임의 종류의 전자 비휘발성 컴퓨터 메모리 저장 매체를 포함할 수도 있다. 인터페이스 버스(114)는 호스트 디바이스와 저장 디바이스(101) 사이의 물리적인 인터페이스로서 기능하며, 이에 따라, 소형 컴퓨터 시스템 인터페이스(SCSI) 프로토콜, SATA(serial advanced technology attachment) 프로토콜, SAS(serial attached SCSI), NVMe(Non-Volatile Memory express), PCIe(Peripheral Component Interconnect express), NVME-oF(NVMe over Fabric), NAS(network attached storage) 프로토콜 또는 임의의 유사한 인터페이스와 같은, 그러나 이에 제한되지 않는, 기존 스토리지 표준들 및 인터페이스들이 저장 디바이스(101)를 컴퓨터와 같은 호스트 디바이스에 통신가능하게 접속하기 위한 링크로서 사용될 수도 있다.
SIP(106)는 스탠드얼론 프로세싱이 가능한 복합 임베디드 시스템이며, 플래시 어레이(104), RAM(108) 및 보안 암호화 프로세서/메모리(102)에 저장된 콘텐츠를 보호 및 제어하는 것을 포함하여, 저장 디바이스(101)의 모든 양태들을 관리하기 위해 SIP(106) 내에 포함된 펌웨어 및 모듈들과 함께 동작한다. 이 제어기는 하나 이상의 내장 프로세서 코어들에 커플링되는 다수의 하드웨어-가속된 기능 블록들/모듈들로 구성되는 SoC(System-On-Chip) 설계로서 가장 일반적으로 구현된다.
보안 암호화 프로세서/메모리(102)는 암호 동작들을 실행하기 위한 전용 칩/마이크로프로세서를 포함하며, 변조 방지 패키징 내에 일반적으로 내장된다. 그의 메인 기능은 보안 서브시스템의 핵심으로 기능하는 것이며, 일단 외부 환경이 보호 및 확립되면 이는 단지 암호화된 데이터만을 출력한다. PMIC(110)는 호스트 디바이스의 전원으로부터 직접 그의 전력을 획득하는 전력 관리 칩셋을 포함한다. 이와 같이, 일단 저장 디바이스(101)가 호스트 디바이스에 접속되면, 저장 디바이스(101)가 단지 "전원이 온"될 것이라고 말할 수 있다.
위에서 설명된 다양한 메모리 컴포넌트들이 비-일시성 컴퓨터-판독가능 매체들을 포함하며 일시성 전파 신호를 제외한 모든 컴퓨터-판독가능 매체들을 포함하는 것으로 간주되어야 함을 통상의 기술자는 알 수 있을 것이다. 전형적으로, 명령들은 메모리 컴포넌트들에 프로그램 코드로서 저장되지만, 또한 하드와이어링될 수 있다.
블록체인(170)의 상세한 동작들은 통상의 기술자에게 알려져 있으므로 간결성을 위해 생략된다. 본 발명의 실시형태들에서, 블록체인(170)은 블록체인 네트워크의 모든 노드들이 익명이고 블록체인의 유지관리에 모두 참여하는 분산형 분산 데이터베이스 시스템을 포함할 수도 있다. 본 발명의 다른 실시형태들에서, 블록체인(170)은 호스트 디바이스들(152, 154), 서버 랙(156) 및/또는 NaS(158) 중 임의의 하나 내에 제공되는 개인 분산 데이터베이스 시스템을 포함할 수도 있다.
본 발명의 실시형태들에 따르면, 본 발명의 실시형태들에 따른 실시형태들을 구현하기 위한 운영 시스템과 함께 호스트 디바이스들(152, 154), 서버 랙(156), NaS(158) 및/또는 임의의 컴퓨팅 디바이스/인간 인터페이스 디바이스 내에 제공될 수도 있는 프로세싱 시스템(200)의 컴포넌트들을 나타내는 블록도가 도 2에 예시된다. 이들 모듈들/디바이스들 내에 제공되는 각각의 프로세싱 시스템의 정확한 구성이 상이할 수도 있으며 프로세싱 시스템(200)의 정확한 구성이 다를 수도 있으며 도 2가 단지 일 예로서 제공된다는 것을 통상의 기술자는 알 수 있을 것이다.
본 발명의 실시형태들에서, 인간 인터페이스 디바이스들, 호스트 디바이스들(152, 154), 서버 랙(156) 및/또는 NaS(158) 각각은 제어기(201) 및 사용자 인터페이스(202)를 포함할 수도 있다. 사용자 인터페이스(202)는 필요에 따라 사용자와 이들 모듈들 각각 사이의 수동 상호작용들을 가능하게 하도록 배열되며, 이러한 목적을 위해, 사용자가 업데이트들을 이들 모듈들 각각에 제공하라는 명령들을 입력하는데 필요한 입력/출력 컴포넌트들을 포함한다. 사용자 인터페이스(202)의 컴포넌트들이 실시형태마다 상이할 수도 있지만 전형적으로 디스플레이(240), 키보드(235) 및 트랙-패드(236) 중 하나 이상을 포함할 것임을 통상의 기술자는 알 수 있을 것이다.
제어기(201)는 버스(215)를 통해 사용자 인터페이스(202)와 데이터 통신을 하며, 메모리(220), 이 실시형태의 방법을 수행하기 위한 명령들 및 데이터를 프로세싱하는 회로 보드 상에 장착된 프로세서(205), 운영 시스템(206), 이 실시형태에서 네트워크 카드(250)의 형태로 사용자 인터페이스(202) 및 통신 인터페이스와 통신하기 위한 입력/출력(I/O) 인터페이스(230)를 포함한다. 네트워크 카드(250)는 예를 들어, 이들 모듈들로부터의 데이터를 유선 또는 무선 네트워크를 통해서 다른 프로세싱 디바이스들로 전송하거나 또는 유선 또는 무선 네트워크를 통해서 데이터를 수신하는데 이용될 수도 있다. 네트워크 카드(250)에 의해 이용될 수도 있는 무선 네트워크들은 Wi-Fi(Wireless-Fidelity), 블루투스, 근접 장 통신(NFC), 셀룰러 네트워크들, 위성 네트워크들, 원격 통신 네트워크들, 광역 네트워크들(WAN) 등을 포함하지만, 이에 제한되지 않는다.
메모리(220) 및 운영 시스템(206)은 버스(210)를 통해서 CPU(205)와 데이터 통신을 한다. 메모리 컴포넌트들은 휘발성 및 비-휘발성 메모리와, 랜덤 액세스 메모리(RAM)(220), 판독전용 메모리(ROM)(225) 및 JBOF(Just-a-bunch-of-flash)(245)를 포함한 각 유형의 메모리 중 하나 초과를 포함하며, 마지막 JBOF는 하나 이상의 솔리드-스테이트 드라이브들(SSDs)를 포함한다. 메모리(220)는 또한 비밀 키들, 또는 개인 키들을 안전하게 저장하기 위한 보안 플래시(246)를 포함한다. 위에서 설명된 메모리 컴포넌트들이 비-일시성 컴퓨터-판독가능 매체들을 포함하며 일시성 전파 신호를 제외한 모든 컴퓨터-판독가능 매체들을 포함하는 것으로 간주되어야 함을 통상의 기술자는 알 수 있을 것이다. 일반적으로, 명령들은 메모리 컴포넌트들에 프로그램 코드로서 저장되지만, 또한 하드와이어링될 수 있다. 메모리(220)는 휘발성 메모리 또는 비-휘발성 메모리에 저장될 수도 있는 소프트웨어 애플리케이션과 같은 커널 및/또는 프로그래밍 모듈들을 포함할 수도 있다.
여기서, 용어 "프로세서"는 이러한 명령들을 프로세싱할 수 있는 임의의 디바이스 또는 컴포넌트를 포괄적으로 지칭하는데 사용되며, 마이크로프로세서, 마이크로제어기, 프로그래밍가능 로직 디바이스, 시스템 온 칩(SOC), 필드-프로그래밍가능 게이트 어레이(FPGA), SOC+FPGA, 주문형 집적 회로(ASIC) 또는 다른 컴퓨터 디바이스를 포함할 수도 있다. 즉, 프로세서(205)는 입력들을 수신하고, 이들을 메모리에 저장된 명령들에 따라서 프로세싱하고 출력들을 (예를 들어, 메모리 컴포넌트들로 또는 디스플레이(240) 상에) 발생시키는 임의의 적합한 로직 회로부에 의해 제공될 수도 있다. 이 실시형태에서, 프로세서(205)는 메모리 어드레스가능한 공간을 가진 단일 코어 또는 멀티-코어 프로세서일 수도 있다. 일 예에서, 프로세서(205)는 예를 들어, 8 코어 CPU를 포함하는 멀티-코어일 수도 있다. 다른 예에서, 이는 계산들을 가속시키기 위해 병렬로 동작하는 CPU 코어들의 클러스터일 수 있다.
도 3은 본 발명의 실시형태들에 따른, 저장 디바이스의 펌웨어 내에서 발견될 수도 있는 다수의 모듈들의 블록도를 예시한다. 펌웨어(300) 내 모듈들은 펌웨어(300)가 임의 종류의 호스트 디바이스 및/또는 운영 시스템과 함께 동작하게 한다. 하드웨어 추상화 계층(HAL)(302)은 컴퓨터의 운영 시스템이 상세한 하드웨어 레벨에서 보다는 일반 또는 추상 레벨에서 저장 디바이스와 상호작용할 수 있게 하기 위해 모든 시스템-온-칩 주변장치들 및 주문형 집적 회로들(ASIC)에 대한 저레벨 드라이버를 포함한다. 보안 신뢰 코어(306)는 인증서들을 처리하고 즉석(on-the-fly) 암호화 및/또는 해독 프로세스들을 실행하도록 구성된 모듈이다. 펌웨어(300)는 또한 펌웨어가 다양한 디바이스들의 통신 버스들과 통신할 수 있게 하기 위해 판독 전용 메모리(ROM)를 포함할 수도 있는 제1 스테이지 부트로더(308), 보안 부트로더를 포함하는 제2 스테이지 부트로더(308), 시스템 펌웨어(312) 및 인터페이스 드라이버(316)를 포함한다. 가상 RAM 코드(350)는 또한 펌웨어(300) 내에 제공된다. 이들 모듈들의 상세한 동작들은 통상의 기술자들에게 알려져 있으므로 간결성을 위해 생략된다. 펌웨어(300)가 이들 모듈들의 임의의 조합을 포함할 수도 있으며 이는 통상의 기술자에게 설계 선택으로서 남겨진다는 것을 통상의 기술자는 알 수 있을 것이다.
도 4는 본 발명의 실시형태들에 따른, 저장 디바이스(101) 내 제한된 로직 블록 어드레스들(LBAs)에 액세스하는 프로세스의 흐름도를 예시한다. 본 발명의 이 실시형태에서, 모듈(130)이 저장 디바이스(101)에 제공되고 암호화된 데이터 전송이 호스트 디바이스(152)와 저장 디바이스(101) 사이에 허용되어야 한다고 결정되었다고 가정한다.
호스트 디바이스(152)의 사용자는 이후 인가된 애플리케이션(402)의 애플리케이션 프로그래밍 인터페이스(API)(404)를 이용하여, 제한될 LBA들의 리스트를 선택할 수도 있다. 호스트 디바이스(152) 상에서 실행하는 OS(406)의 유형에 따라서, 적합한 드라이버가 저레벨 드라이버(408)에서 선택될 것이며, 제한된 LBA들의 리스트를 통신 버스(410)를 통해서 저장 디바이스(101)로 통신하는데 사용될 것이다.
제한된 LBA들의 이 리스트를 수신 시, 모듈(130)은 이후 리스트를 프론트 엔드 디스패처(412)에 제공할 것이다. 프론트 엔드 디스패처(412)는 리스트를 파싱하고 태그 번호들을 제한된 LBA들 각각에 할당할 것이다. RAM 코드(414)는 이후 태그 번호들에 관한 정보를 LBA가 보호 영역에 배치되었는지를 결정하고, 보호 영역으로 이동되어야 하는 경우, RAM 코드(414)는 이후 LBA를 보호 영역으로 이동시키며 이에 따라 단지 호스트 디바이스로부터의 검증된 명령들에 의해서만 액세스될 수도 있다. RAM 코드(414)는 이후 모든 블록 스트라이프들 및 (SSD들에 대한 플래시 변환 계층을 포함한) 시스템 테이블들을 업데이트하여, 제한된 LBA들을 보호 영역으로 마이그레이션하고, 이에 따라 이들 데이터 파일들에 대한 모든 블록 스트라이프들이 하나의 바이트 테이블을 이용하여 표시될 것이다. RAM 코드(414)는 백 엔드(back end) 디스패처(416), 펌웨어(418), HAL(420), 제어기(422) 및 플래시 드라이버 버스(424)의 도움으로 이러한 모든 작업을 행한다.
이것이 일단 완료되면, 제한된 LBA들의 리스트가 이후 모듈(130)에 제공된다. 모듈(130)은 이후 호스트 디바이스(152)로부터의 임의의 명령들을 인터셉트하여 제한된 LBA들에 액세스하도록 구성된다. 모듈(130)은 이후 단지 명령들이 모듈(130)에 의해 검증되었을 때만, 인터셉트된 명령들이 제한된 LBA들에 액세스하도록 허용할 것이다. 본 발명의 실시형태들에서, 명령들은 명령들이 인가된 애플리케이션에 의해 저장 디바이스의 공개 키를 이용하여 서명되었고 모듈에 의해 저장 디바이스의 개인 키를 이용하여 검증되었다고 결정될 때 검증될 것이다.
도 5는 본 발명의 실시형태들에 따른 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 프로세스(500)를 예시하며, 이에 따라 프로세스(500)는 저장 디바이스 및/또는 호스트 디바이스에서 제공되는 바와 같이 모듈(130)에서 구현될 수도 있다.
프로세스(500)는 단계 502에서 시작하며, 이에 따라 프로세스(500)는 저장 디바이스와 연관된 고유 일련 번호 및 호스트 디바이스와 연관된 고유 디바이스 식별자에 기초하여 디지털 서명을 발생시킬 것이다. 이 단계에서의 디지털 서명의 발생은 상기 이전 섹션들에서 설명된 바와 같다. 단계 504에서, 프로세스(500)는 이후 디지털 서명을 블록체인에 업로드한다. 프로세스(500)는 이후 단계 506에서 디지털 서명이 블록체인에서 발견되는지 여부를 검사한다. 디지털 서명이 블록체인에서 발견된다고 프로세스(500)가 결정하면, 단계 508에서 모든 암호화된/제한된 데이터 전송들이 저장 디바이스와 호스트 디바이스 사이에서 발생하는 것을 허용하도록 진행할 것이다. 반대로, 디지털 서명이 블록체인에서 발견되지 않는다고 프로세스(500)가 결정하면 단계 510으로 진행할 것이다. 이 단계에서, 모든 데이터 전송들이 저장 디바이스와 호스트 디바이스 사이에 발생하도록 허용되지 않을 것이다.
도 6은 본 발명의 실시형태들에 따라 PGP 하이브리드 암호 시스템이 사용될 때 암호화된 데이터를 모듈(130)로부터 다른 페어링 디바이스로 전송하는 프로세스(600)를 예시한다. 이 실시형태에서, 디지털 서명은 저장 디바이스의 고유 일련 번호 및 호스트 디바이스의 고유 디바이스 식별자에 기초하여 발생된 PGP 세션 키를 포함한다. 프로세스(600)는 단계 602에서 시작하며, 이에 따라, 발생된 세션 키가 페어링 디바이스로 전송될 데이터를 암호화하는데 사용된다. 단계 604에서, 프로세스(600)는 이후 페어링 디바이스의 공개 키를 이용하여 세션 키를 암호화하도록 진행한다. 공개-키 암호화된 세션 키 및 암호 텍스트가 이후 단계 606에서 페어링 디바이스로 전송된다. 완전성을 위해, 공개-키 암호화된 세션 키 및 암호 텍스트를 수신 시, 페어링 디바이스가 이후 그의 자신의 개인 키를 이용하여 세션 키를 해독할 수도 있으며 해독된 세션 키가 이후 암호 텍스트를 해독하는데 사용될 수도 있다는 점에 유의해야 한다.
도 7은 제한된 LBA들에 대한 액세스를 제한하는 프로세스(700)를 예시한다. 프로세스(700)는 단계 702에서 시작하며, 이에 따라 프로세스(700)가 제한된 LBA들의 리스트를 먼저 수신한다. 프로세스(700)는 먼저 이 제한된 LBA들의 리스트를 저장 디바이스 내 보호 영역에 추가한다. 단계 704에서, 프로세스(700)는 이후 이들 제한된 LBA들로 향하는 임의의 명령들을 인터셉트하도록 구성된다. 일단 명령들이 인터셉트되면, 프로세스(700)는 이후 단계 706에서 명령들이 유효한 및/또는 인가된 명령들인지 여부를 결정한다. 명령들이 유효하다고 프로세스(700)가 결정하면, 프로세스(700)는 명령들이 제한된 LBA들에 액세스하도록 허용한다. 반대로, 명령들이 유효하지 않다고 프로세스(700)가 결정하면, 프로세스(700)는 대신에 단계 710으로 진행할 것이다. 이 단계에서, 명령들은 제한된 LBA들에 대한 액세스가 거부될 것이며, 추가적인 액션이 발생하도록 허용되지 않을 것이다.
매우 많은 다른 변화들, 대체들, 변형들 및 수정들이 통상의 기술자에 의해 확인될 수도 있으며, 본 발명이 첨부된 청구범위의 범위에 속하는 모든 이러한 변화들, 대체들, 변형들 및 수정들을 포함하도록 의도된다.

Claims (16)

  1. 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈로서,
    상기 모듈은,
    프로세싱 유닛; 및
    상기 프로세싱 유닛에 의해 판독가능한 비-일시성 매체들을 포함하며,
    상기 매체들은, 상기 프로세싱 유닛에 의해 실행될 때, 상기 프로세싱 유닛으로 하여금,
    상기 저장 디바이스와 연관된 고유 번호 및 상기 호스트 디바이스와 연관된 고유 디바이스 아이덴티티에 기초하여 상기 저장 디바이스 및 상기 호스트 디바이스에 대한 디지털 서명을 발생시키게 하고 - 상기 고유 번호는 상기 저장 디바이스의 보안 암호화 프로세서 내에 제공됨-;
    상기 디지털 서명이 블록체인에 기입되어 있는지를 결정하게 하고;
    상기 디지털 서명이 상기 블록체인에 기입된 디지털 서명과 매칭한다고 결정될 때 상기 저장 디바이스와 상기 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하게 하거나; 또는
    상기 디지털 서명이 상기 블록체인에 기입된 디지털 서명과 매칭하지 않는다고 결정될 때 상기 저장 디바이스와 상기 호스트 디바이스 사이의 데이터 전송을 방지하게 하는 명령들을 저장하는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈.
  2. 제1항에 있어서,
    상기 저장 디바이스와 상기 호스트 디바이스 사이의 데이터 전송을 방지하는 명령은, 상기 프로세싱 유닛에 의해 실행될 때, 상기 프로세싱 유닛으로 하여금,
    페어링 명령이 상기 호스트 디바이스에 제공되는 인가된 애플리케이션으로부터 수신될 때 상기 디지털 서명을 상기 블록체인에 기입하게 하고;
    상기 디지털 서명이 상기 블록체인에 기입되어 있을 때 상기 저장 디바이스와 상기 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하게 하는 명령들을 더 포함하는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈.
  3. 제1항에 있어서,
    상기 프로세싱 유닛에 의해 실행될 때, 상기 프로세싱 유닛으로 하여금,
    무작위 시간 기간이 경과된 후, 상기 저장 디바이스와 연관된 상기 고유 번호 및 상기 호스트 디바이스와 연관된 상기 고유 디바이스 아이덴티티에 기초하여 상기 저장 디바이스 및 상기 호스트 디바이스에 대한 다른 디지털 서명을 발생시키게 하고;
    다른 디지털 서명이 상기 블록체인에 기입되어 있는 상기 디지털 서명과 매칭하는지를 결정하게 하고;
    다른 디지털 서명이 상기 블록체인에 기입된 상기 디지털 서명과 매칭한다고 결정될 때 상기 저장 디바이스와 상기 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하게 하거나; 또는
    다른 디지털 서명이 상기 블록체인에 기입된 상기 디지털 서명과 매칭하지 않는다고 결정될 때 상기 저장 디바이스와 상기 호스트 디바이스 사이의 데이터 전송을 방지하게 하는 명령들을 더 포함하는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 디지털 서명을 발생시키는 명령들은 PGP(Pretty-Good-Privacy) 하이브리드 암호 시스템의 세션 키에 기초하여 상기 디지털 서명을 발생시키도록 상기 프로세싱 유닛에게 지시하는 명령들을 포함하는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈.
  5. 제4항에 있어서,
    상기 저장 디바이스와 상기 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하는 명령들은,
    공개-키 암호해독법을 이용하여, 상기 PGP 세션 키를 암호화하고;
    상기 암호화된 PGP 세션 키를 상기 저장 디바이스 및 상기 호스트 디바이스의 보안 위치들에 저장하고;
    상기 PGP 세션 키를 이용하여 상기 저장 디바이스와 상기 호스트 디바이스 사이에 교환되는 모든 데이터를 암호화하도록 상기 프로세싱 유닛에게 지시하는 명령들을 포함하는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈.
  6. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 디지털 서명을 발생시키는 명령은,
    상기 저장 디바이스와 연관된 상기 고유 번호와 상기 호스트 디바이스와 연관된 상기 고유 디바이스 아이덴티티의 조합을 해시하여 해시된 메시지 h를 발생시키고;
    Boneh-Lynn-Shacham(BLS) 서명 방식을 이용하여, 상기 해시된 메시지 h를 BLS 서명 σ로 변환하고; 그리고
    상기 BLS 서명 σ를 상기 디지털 서명으로 이용하도록 상기 프로세싱 유닛에게 지시하는 명령들을 포함하는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈.
  7. 제1항에 있어서,
    상기 프로세싱 유닛에 의해 실행될 때, 상기 프로세싱 유닛으로 하여금,
    상기 호스트 디바이스에 제공되는 인가된 애플리케이션으로부터, 제한된 로직 블록 어드레스들(LBAs)을 수신하게 하고;
    상기 호스트 디바이스로부터의 명령들을 인터셉트하여 상기 제한된 LBA들에 액세스하게 하고;
    상기 명령들이 상기 모듈에 의해 검증되었을 때 상기 인터셉트된 명령들이 상기 제한된 LBA들에 액세스하도록 허용하게 하는 명령들을 더 포함하며,
    상기 명령들은 상기 인가된 애플리케이션에 의해 상기 저장 디바이스의 공개 키를 이용하여 서명되며 상기 모듈에 의해 상기 저장 디바이스의 개인 키를 이용하여 검증되는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈.
  8. 제1항 내지 제3항 및 제7항 중 어느 한 항에 있어서,
    상기 블록체인은 상기 호스트 디바이스 내에 제공되는 개인 분산 데이터베이스 시스템을 포함하는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈.
  9. 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 방법으로서,
    모듈을 이용하여, 상기 저장 디바이스와 연관된 고유 번호 및 상기 호스트 디바이스와 연관된 고유 디바이스 아이덴티티에 기초하여 상기 저장 디바이스 및 상기 호스트 디바이스에 대한 디지털 서명을 발생시키는 단계 - 상기 고유 번호는 상기 저장 디바이스의 보안 암호화 프로세서 내에 제공됨-;
    상기 디지털 서명이 블록체인에 기입되어 있는지를 상기 모듈을 이용하여 결정하는 단계;
    상기 디지털 서명이 상기 블록체인에 기입된 디지털 서명과 매칭한다고 결정될 때, 상기 모듈을 이용하여, 상기 저장 디바이스와 상기 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하는 단계; 또는
    상기 디지털 서명이 상기 블록체인에 기입된 디지털 서명과 매칭하지 않는다고 결정될 때, 상기 모듈을 이용하여, 상기 저장 디바이스와 상기 호스트 디바이스 사이의 데이터 전송을 방지하는 단계를 포함하는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 방법.
  10. 제9항에 있어서,
    상기 저장 디바이스와 상기 호스트 디바이스 사이의 데이터 전송을 방지하는 단계는,
    페어링 명령이 상기 호스트 디바이스에 제공되는 인가된 애플리케이션으로부터 수신될 때, 상기 모듈을 이용하여, 상기 디지털 서명을 상기 블록체인에 기입하는 단계; 및
    상기 디지털 서명이 상기 블록체인에 기입되어 있을 때, 상기 모듈을 이용하여, 상기 저장 디바이스와 상기 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하는 단계를 더 포함하는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 방법.
  11. 제9항에 있어서,
    상기 모듈을 이용하여, 무작위 시간 기간이 경과된 후, 상기 저장 디바이스와 연관된 상기 고유 번호 및 상기 호스트 디바이스와 연관된 상기 고유 디바이스 아이덴티티에 기초하여, 상기 저장 디바이스 및 상기 호스트 디바이스에 대한 다른 디지털 서명을 발생시키는 단계;
    상기 모듈을 이용하여, 다른 디지털 서명이 상기 블록체인에 기입되어 있는 상기 디지털 서명과 매칭하는지를 결정하는 단계;
    다른 디지털 서명이 상기 블록체인에 기입된 상기 디지털 서명과 매칭한다고 결정될 때, 상기 모듈을 이용하여, 상기 저장 디바이스와 상기 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하는 단계; 또는
    다른 디지털 서명이 상기 블록체인에 기입된 상기 디지털 서명과 매칭하지 않는다고 결정될 때, 상기 모듈을 이용하여, 상기 저장 디바이스와 상기 호스트 디바이스 사이의 데이터 전송을 방지하는 단계를 더 포함하는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 방법.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서,
    상기 디지털 서명을 발생시키는 단계는 PGP(Pretty-Good-Privacy) 하이브리드 암호 시스템의 세션 키에 기초하여 상기 디지털 서명을 발생시키는 단계를 포함하는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 방법.
  13. 제12항에 있어서,
    상기 저장 디바이스와 상기 호스트 디바이스 사이의 암호화된 데이터 전송을 허용하는 단계는,
    상기 모듈을 이용하여 그리고 공개-키 암호해독법을 이용하여, 상기 PGP 세션 키를 암호화하는 단계;
    상기 모듈을 이용하여, 상기 암호화된 PGP 세션 키를 상기 저장 디바이스 및 상기 호스트 디바이스의 보안 위치들에 저장하는 단계; 및
    상기 모듈을 이용하여, 상기 저장 디바이스와 상기 호스트 디바이스 사이에 교환되는 모든 데이터를 상기 PGP 세션 키를 이용하여 암호화하는 단계를 포함하는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 방법.
  14. 제9항 내지 제11항 중 어느 한 항에 있어서,
    상기 디지털 서명을 발생시키는 단계는,
    상기 모듈을 이용하여, 상기 저장 디바이스와 연관된 상기 고유 번호와 상기 호스트 디바이스와 연관된 상기 고유 디바이스 아이덴티티의 조합을 해시하여 해시된 메시지 h를 발생시키는 단계;
    상기 모듈을 이용하여 그리고 Boneh-Lynn-Shacham(BLS) 서명 방식을 이용하여, 상기 해시된 메시지 h를 BLS 서명 σ로 변환하는 단계; 및
    상기 BLS 서명 σ를 상기 디지털 서명으로 이용하는 단계를 포함하는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 방법.
  15. 제9항에 있어서,
    상기 모듈을 이용하여, 상기 호스트 디바이스에 제공되는 인가된 애플리케이션으로부터, 제한된 로직 블록 어드레스들(LBAs)을 수신하는 단계;
    상기 모듈을 이용하여, 상기 호스트 디바이스로부터의 명령들을 인터셉트하여 상기 제한된 LBA들에 액세스하는 단계; 및
    상기 명령들이 상기 모듈에 의해 검증되었을 때, 상기 모듈을 이용하여, 상기 인터셉트된 명령들이 상기 제한된 LBA들에 액세스하도록 허용하는 단계를 더 포함하며, 상기 명령들은 상기 인가된 애플리케이션에 의해 상기 저장 디바이스의 공개 키를 이용하여 서명되며 상기 모듈에 의해 상기 저장 디바이스의 개인 키를 이용하여 검증되는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 방법.
  16. 제9항 내지 제11항 및 제15항 중 어느 한 항에 있어서,
    상기 블록체인은,
    상기 호스트 디바이스 내에 제공되는 개인 분산 데이터베이스 시스템을 포함하는, 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 방법.
KR1020220031568A 2021-06-01 2022-03-14 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈 및 방법 KR20220162609A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SG10202105796S 2021-06-01
SG10202105796SA SG10202105796SA (en) 2021-06-01 2021-06-01 Module and method for authenticating data transfer between a storage device and a host device

Publications (1)

Publication Number Publication Date
KR20220162609A true KR20220162609A (ko) 2022-12-08

Family

ID=77338412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220031568A KR20220162609A (ko) 2021-06-01 2022-03-14 저장 디바이스와 호스트 디바이스 사이의 데이터 전송을 인증하는 모듈 및 방법

Country Status (6)

Country Link
US (1) US11610026B2 (ko)
EP (1) EP4099618A1 (ko)
KR (1) KR20220162609A (ko)
AU (2) AU2022200588A1 (ko)
SG (1) SG10202105796SA (ko)
TW (1) TWI789291B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI811178B (zh) * 2023-02-04 2023-08-01 長茂科技股份有限公司 基於多方多因子動態強加密認證之資通安全方法與系統

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442686B1 (en) * 1998-07-02 2002-08-27 Networks Associates Technology, Inc. System and methodology for messaging server-based management and enforcement of crypto policies
DE60211655D1 (de) * 2002-04-16 2006-06-29 Izecom B V Sichere Kommunikation über das Internet
CA2489529A1 (en) * 2002-07-03 2004-01-15 British Telecommunications Public Limited Company Trust establishment for multi-party communications
KR100608585B1 (ko) 2004-07-12 2006-08-03 삼성전자주식회사 이동형 저장 장치에서 객체의 위치 정보를 이용하여 권리객체를 검색하는 방법 및 장치
US7284082B2 (en) 2004-08-19 2007-10-16 Lsi Corporation Controller apparatus and method for improved data transfer
US8219776B2 (en) 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US9270683B2 (en) 2009-05-15 2016-02-23 Amazon Technologies, Inc. Storage device authentication
JP4802274B2 (ja) * 2009-10-30 2011-10-26 インターナショナル・ビジネス・マシーンズ・コーポレーション メッセージ送信および受信方法
US8812860B1 (en) 2010-12-03 2014-08-19 Symantec Corporation Systems and methods for protecting data stored on removable storage devices by requiring external user authentication
US9948467B2 (en) 2015-12-21 2018-04-17 Mastercard International Incorporated Method and system for blockchain variant using digital signatures
US10097525B2 (en) * 2016-03-08 2018-10-09 Qualcomm Incorporated System, apparatus and method for generating dynamic IPV6 addresses for secure authentication
US10482036B2 (en) * 2016-09-18 2019-11-19 Winbond Electronics Corporation Securely binding between memory chip and host
US20190354694A1 (en) * 2017-01-05 2019-11-21 Serelay Limited Verification of data captured by a consumer electronic device
US10541818B2 (en) * 2017-04-19 2020-01-21 International Business Machines Corporation Decentralized biometric signing of digital contracts
WO2020049593A1 (en) * 2018-09-07 2020-03-12 Sling Media Pvt Ltd. Security architecture for video streaming
US20200117795A1 (en) * 2018-10-16 2020-04-16 KameleonSec Ltd. System and method for generating and authenticating a trusted polymorphic and distributed unique hardware identifier
CN109657426B (zh) * 2019-01-30 2023-08-15 贵州大学 一种基于数字签名和数字水印的数据溯源方法
CN109918451B (zh) * 2019-03-28 2021-06-25 中国联合网络通信集团有限公司 基于区块链的数据库管理方法及系统
CN111193750A (zh) * 2020-01-06 2020-05-22 李蕴光 基于区块链的邮箱加密方法、解密方法和处理方法
CN112487380B (zh) * 2020-12-16 2024-04-05 江苏国科微电子有限公司 一种数据交互方法、装置、设备及介质

Also Published As

Publication number Publication date
AU2022200588A1 (en) 2022-12-15
US20220382918A1 (en) 2022-12-01
SG10202105796SA (en) 2021-07-29
TW202249471A (zh) 2022-12-16
AU2023201855A1 (en) 2023-05-04
TWI789291B (zh) 2023-01-01
US11610026B2 (en) 2023-03-21
EP4099618A1 (en) 2022-12-07

Similar Documents

Publication Publication Date Title
US9735962B1 (en) Three layer key wrapping for securing encryption keys in a data storage system
US9805210B2 (en) Encryption-based data access management
US9246678B2 (en) Secure cloud storage and encryption management system
US11368299B2 (en) Self-encryption drive (SED)
EP3062261A1 (en) Community-based de-duplication for encrypted data
US8090946B2 (en) Inter-system binding method and application based on hardware security unit
US20120297206A1 (en) Securing Encrypted Virtual Hard Disks
WO2021219086A1 (zh) 基于区块链的数据传输方法和系统
US9529733B1 (en) Systems and methods for securely accessing encrypted data stores
JP6669929B2 (ja) シングルサインオンアプリケーション用の暗号化鍵を管理するためのシステム及び方法
US20240111907A1 (en) A device and a communication method
JP2022527903A (ja) ネットワークにアクセスする際の安全な通信
TWI789291B (zh) 用於認證在儲存裝置和主機裝置之間的資料傳輸之模組和方法
US11997192B2 (en) Technologies for establishing device locality
WO2020082811A1 (zh) 带有隐藏分区的存储方法、装置及主机端设备
TWI809852B (zh) 資訊安全積體電路模組
CN117220859A (zh) 密钥迁移方法、装置、设备及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal