KR20110020326A - 보안 유에스비 저장매체 생성방법 및 이용방법, 그리고 보안 유에스비 저장매체 생성을 위한 프로그램이 기록된 매체 - Google Patents

보안 유에스비 저장매체 생성방법 및 이용방법, 그리고 보안 유에스비 저장매체 생성을 위한 프로그램이 기록된 매체 Download PDF

Info

Publication number
KR20110020326A
KR20110020326A KR1020090077884A KR20090077884A KR20110020326A KR 20110020326 A KR20110020326 A KR 20110020326A KR 1020090077884 A KR1020090077884 A KR 1020090077884A KR 20090077884 A KR20090077884 A KR 20090077884A KR 20110020326 A KR20110020326 A KR 20110020326A
Authority
KR
South Korea
Prior art keywords
secure
storage medium
key
header
usb
Prior art date
Application number
KR1020090077884A
Other languages
English (en)
Other versions
KR101150415B1 (ko
Inventor
오세철
유대걸
Original Assignee
(주)엠더블유스토리
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)엠더블유스토리 filed Critical (주)엠더블유스토리
Priority to KR1020090077884A priority Critical patent/KR101150415B1/ko
Priority to JP2012525494A priority patent/JP5362114B2/ja
Priority to US13/391,814 priority patent/US9100173B2/en
Priority to PCT/KR2010/005520 priority patent/WO2011025185A2/ko
Publication of KR20110020326A publication Critical patent/KR20110020326A/ko
Application granted granted Critical
Publication of KR101150415B1 publication Critical patent/KR101150415B1/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or 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/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
    • 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/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • 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
    • 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
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Abstract

본 발명은 보안 USB 저장매체 생성방법, 그 이용방법 및 보안 USB 저장매체 생성을 위한 프로그램이 기록된 매체에 관한 것으로서, 본 발명의 일 실시예에 따른 보안 USB 생성방법은, USB 인터페이스가 구비된 저장매체(이하, 'USB 저장매체'라 함)를 암호화하여 보안볼륨 헤더 및 보안볼륨 본체부를 생성하는 방법으로서, USB 호스트 장치가 상기 USB 저장매체의 접속을 감지하는 단계; 상기 USB 호스트 장치 또는 상기 USB 저장매체에 탑재된 에이전트 프로그램이 사용자에게 사용자 암호(이하, '제 1사용자 암호'라 함) 입력을 요청하는 단계; 상기 제 1사용자 암호가 입력되면, 상기 에이전트 프로그램이 랜덤 키를 생성함과 아울러 상기 보안볼륨 본체부를 암복호화하기 위한 디스크 키를 생성하는 단계; 상기 에이전트 프로그램이 상기 제 1사용자 암호와 상기 랜덤 키를 해싱하여 암복호화 키(이하, '제 1암복호화 키'라 함)를 생성하는 단계; 및 상기 에이전트 프로그램이, 상기 제 1암복호화 키 및 암호화 알고리즘을 이용하여 상기 USB 저장매체의 헤더를 암호화하여 상기 보안볼륨 헤더를 생성하고, 상기 디스크 키 및 암호화알고리즘을 이용하여 상기 USB 저장매체의 본체부를 암호화하여 상기 보안볼륨 본체부를 생성하는 단계를 포함한다.
보안볼륨, 보안 USB, 랜덤 키, 헤더

Description

보안 유에스비 저장매체 생성방법 및 이용방법, 그리고 보안 유에스비 저장매체 생성을 위한 프로그램이 기록된 매체{METHOD OF GENERATING AND USING SECURITY UNIVERSAL SERIAL BUS, AND PROGRAM RECORDING MEDIA FOR GENERATING SECURITY UNIVERSAL SERIAL BUS}
본 발명은 본 발명은 보안 USB 저장매체 생성방법, 그 이용방법 및 보안 USB 저장매체 생성을 위한 프로그램이 기록된 매체에 관한 것으로서, 더욱 상세하게는 헤더 및 본체부 전체가 암호화된 보안볼륨 헤더 및 보안볼륨 본체부를 포함하는 USB 저장매체를 생성하고, 정당 권원이 없는 자에 의해 보안 USB 저장매체로의 접근이 시도될 경우 보안볼륨 헤더를 파기하여 보안을 강화하며, 정당 사용자가 파기된 보안볼륨 헤더를 복구하여 재사용할 수 있는 방법 및 보안 USB 저장매체를 생성할 수 있는 프로그램이 기록된 매체에 관한 것이다.
USB는 대표적인 이동저장장치로서, 언제 어디서나 필요한 데이터를 사용할 수 있도록 만들어진 것이다. 이는 휴대가 간편하고 사용이 용이하므로 파일을 저장하기 위해 널리 사용되고 있다.
종래 USB는 누구나 용이하게 장치 내의 데이터를 읽고 쓸 수 있어 분실시 중 요한 데이터가 유출될 우려가 있었다. 따라서, 보안기능이 강화된 USB가 출시되고 있으나, 이는 모두 특정인의 사용접근을 차단할 수는 있는 기능만 있거나 해커의 볼륨 DUMP 등의 공격으로부터 정보를 완전히 보호하기는 어려운 문제점이 있다.
본 발명은 종래 USB 저장매체의 취약점인 보안 문제를 해결하기 위한 것으로서, 헤더 중 일정 영역과 본체부를 암호화 알고리즘을 이용하여 섹터 단위로 암복호화하고, 암호화된 본체부에 접근할 수 있는 암복호화 키를 암호화된 헤더 영역에 저장함으로써 보안볼륨 생성시 입력한 사용자 암호를 입력하지 않고 디스크 덤프 등을 통해 USB 저장매체에 저장된 내용을 읽을 수 없는 USB 보안볼륨 생성방법 및 이러한 생성방법을 수행할 수 있는 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
또한, 상기 방법에 따라 보안된 USB 저장매체를 도난한 자 등 정당 사용권한이 없는 자가 보안볼륨 본체부로의 접근을 시도할 경우, 사용자 암호를 잘못 입력하면 보안볼륨 데이터를 랜덤 데이터인 무작위 값으로 오버라이트(overwrite)함으로써 보안볼륨 자체의 데이터가 복구불능하게 만들거나, 보안뷸륨 헤더를 임의의 데이터로 리셋하여 보안볼륨 본체부에 접근할 수 있는 키를 추출할 수 없도록 함으로써 USB 저장매체가 분실된 경우에도 보안을 강화할 수 있는 보안 USB 저장매체의 보안볼륨 및 헤더 파기방법을 제공한다.
나아가, 상기 방법에 따라 보안볼륨 헤더가 파기된 경우, 정당 사용자가 보안 USB 저장매체의 읽기/쓰기를 시도하면, 보관된 보안볼륨 헤더의 정보를 그대로 파기된 보안볼륨 헤더에 기록하여 복구하도록 함으로써, 정당 사용자가 파기된 보안 USB 저장매체를 재사용할 수 있도록 하는 파기된 보안볼륨 헤더 복구방법을 제공한다.
청구범위에서 더욱 완전하게 설명될, 도면 중의 적어도 하나와 함께 나타내어지거나 또는 설명되는 바와 본질적으로 같은, 보안 USB 생성방법 및 그 이용방법에 관한 것이다.
본 발명의 일 실시예에 따른 보안 USB 저장매체 생성방법은,
USB 인터페이스가 구비된 저장매체(이하, 'USB 저장매체'라 함)를 암호화하여 보안볼륨 헤더 및 보안볼륨 본체부를 포함하는 보안 USB 저장매체를 생성하는 방법으로서,
상기 USB 저장매체가 USB 호스트 장치에 결합되면, 상기 USB 호스트 장치 또는 상기 USB 저장매체에 탑재된 에이전트 프로그램이 사용자에게 사용자 암호(이하, '제 1사용자 암호'라 함) 입력을 요청하는 단계; 상기 제 1사용자 암호가 입력되면, 상기 에이전트 프로그램이 랜덤 키를 생성함과 아울러 상기 보안볼륨 본체부를 암복호화하기 위한 디스크 키를 생성하는 단계; 상기 에이전트 프로그램이 상기 제 1사용자 암호와 상기 랜덤 키를 해싱하여 암복호화 키(이하, '제 1암복호화 키'라 함)를 생성하는 단계; 및 상기 에이전트 프로그램이, 상기 제 1암복호화 키 및 암호화 알고리즘을 이용하여 상기 USB 저장매체의 헤더를 암호화하여 상기 보안볼륨 헤더를 생성하고, 상기 디스크 키 및 암호화알고리즘을 이용하여 상기 USB 저장매체의 본체부를 암호화하여 상기 보안볼륨 본체부를 생성하는 단계를 포함한다.
상기 보안볼륨 본체부 생성단계는, 상기 USB 저장매체 본체부에 기록된 임의의 데이터를 섹터 I/O 드라이버를 통해 섹터 단위로 암호화하여 생성되는 것이 바 람직하다.
바람직하게는, 상기 랜덤 키 및 상기 디스크 키를 포함하여 소정의 데이터가 상기 USB 저장매체의 헤더에 저장되고, 상기 에이전트 프로그램은 상기 헤더에 저장된 데이터 중 랜덤 키 이외의 데이터를 암호화한다.
바람직하게는, 상기 제 1사용자 암호 입력단계에서, 상기 에이전트 프로그램은 사용자에게 보안볼륨 장치 경로 입력 요청을 하거나 빠른 포멧 여부를 확인하는 것을 특징으로 한다.
상기 USB 저장매체는 USB 메모리 스틱 또는 USB 외장하드 장치일 수 있으며, 상기 USB 저장매체가 USB 메모리 스틱인 경우, 상기 제 1사용자 암호 입력 요청 전에 상기 에이전트 프로그램이 탑재되는 CD 영역이 형성되는 단계를 포함하는 것이 바람직하다.
또한, 바람직하게는 상기 보안 USB 저장매체 생성방법은, 상기 제 1사용자 암호 입력 요청 전에, 섹터별로 데이터를 입출력하고 암복호화하는 섹터 I/O 드라이버가 상기 USB 호스트 장치에 설치되는 단계를 포함하며, 생성된 상기 보안볼륨 헤더가 저장장치에 저장되는 단계를 포함하는 것이 바람직하다.
본 발명의 다른 실시예은 상기 보안 USB 저장매체 생성방법에 의해 생성된 보안 USB 저장매체에 관한 것이다.
본 발명의 또 다른 실시예는 상기 방법에 의해 생성된 보안 USB 저장매체를 마운트하는 방법으로서, 상기 에이전트 프로그램이,
상기 보안 USB 저장매체가 USB 호스트 장치에 결합되면, 사용자에게 사용자 암호(이하, '제 2사용자 암호'라 함) 입력을 요청하는 단계; 상기 제 2사용자 암호가 입력되면, 상기 제 2사용자 암호와 상기 보안 USB의 보안볼륨 헤더에 저장된 랜덤 키를 이용하여 상기 보안볼륨 헤더를 암복호화하기 위한 키(이하, '제 2암복호화 키'라 함)를 생성하는 단계; 상기 제 2암복호화 키로 상기 보안볼륨 헤더를 복호화하는 단계; 및 상기 보안볼륨 헤더가 복호화되면, 상기 보안볼륨 헤더내에 저장된 디스크 키를 추출하여 보안볼륨 본체부에 마운트하는 단계를 포함한다.
이때, 상기 보안볼륨 본체부 마운트 단계에서, 상기 에이전트 프로그램은 섹터 I/O 드라이버를 통해 상기 USB 저장매체 본체부의 특정 섹터 또는 모든 섹터에 저장된 데이터를 복호화하는 것이 바람직하다.
본 발명의 다른 실시예에 따른 상기 방법에 의해 생성된 보안 USB 저장매체의 보안볼륨을 파기하는 방법은, 에이전트 프로그램이,
상기 보안 USB 저장매체가 USB 호스트 장치에 결합되면, 사용자에게 사용자 암호(이하, 제 3사용자 암호'라 함) 입력을 요청하는 단계; 상기 제 3사용자 암호가 입력되면, 상기 제 3사용자 암호와 상기 보안 USB의 보안볼륨 헤더에 저장된 랜덤 키를 이용하여 상기 보안볼륨 헤더를 암복호화하기 위한 키(이하, '제 3암복호화 키'라 함)를 생성하는 단계; 상기 제 3암복호화 키로 상기 보안볼륨 헤더를 복호화하는 단계; 및 상기 보안볼륨 헤더가 복호화되지 아니하면, 상기 보안볼륨 내의 데이터를 랜덤값으로 오버라이트하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따른 상기 보안 USB 저장매체 생성방법에 의해 생성된 보안 USB 저장매체의 보안볼륨 헤더를 파기하는 방법으로서, 에이전트 프로 그램이,
상기 보안 USB 저장매체가 USB 호스트 장치에 결합되면, 사용자에게 사용자 암호(이하, 제 3사용자 암호'라 함) 입력을 요청하는 단계; 상기 제 3사용자 암호가 입력되면, 상기 제 3사용자 암호와 상기 보안 USB의 보안볼륨 헤더에 저장된 랜덤 키를 이용하여 상기 보안볼륨 헤더를 암복호화하기 위한 키(이하, '제 3암복호화 키'라 함)를 생성하는 단계; 상기 제 3암복호화 키로 상기 보안볼륨 헤더를 복호화하는 단계; 및 상기 보안볼륨 헤더가 복호화되지 아니하면, 상기 보안볼륨 헤더 내에 저장된 데이터를 임의의 데이터로 리셋하는 단계를 포함한다.
본 발명의 다른 실시예에 따른 보안 USB의 보안볼륨 헤더 복구방법은, 상기 방법에 의해 보안볼륨 헤더가 파기된 보안 USB의 보안볼륨 헤더를 복구하는 방법으로서, 에이전트 프로그램이,
상기 보안 USB 저장매체가 USB 호스트 장치에 결합되면, 사용자로부터 상기 보안 USB 저장매체의 보안볼륨 헤더 복구요청을 수신하는 단계; 상기 복구요청에 따라 복구하고자 하는 보안볼륨 헤더를 검색하는 단계; 상기 보안볼륨 헤더가 검색되면, 사용자에게 사용자 암호(이하, '제 4사용자 암호'라 함) 입력을 요청하는 단계; 입력된 상기 제 4사용자 암호와 상기 보안볼륨 헤더 저장장치 내의 보안볼륨 헤더에 저장된 솔트 키를 이용하여 상기 보안볼륨 헤더를 암복호화하기 위한 키(이하, '제 4암복호화 키'라 함)를 생성하는 단계; 상기 제 4암복호화 키로 상기 보안볼륨 헤더를 복호화하는 단계; 및 상기 보안볼륨 헤더가 복호화되면, 상기 보안볼륨 헤더 내에 저장된 소정의 데이터를 상기 파기된 보안 USB 저장매체의 헤더 영역 에 기록하는 단계를 포함한다.
본 발명의 다른 실시예에 따른 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체는, USB 저장매체가 USB 호스트에 접속되면 사용자에게 사용자 암호 입력을 요청하고, 상기 사용자 암호가 입력되면, 랜덤 키를 생성함과 아울러 상기 USB 저장매체의 본체부를 암복호화하기 위한 디스크 키를 생성하고, 상기 사용자 암호와 상기 랜덤 키를 해싱하여 암복호화 키를 생성하고, 상기 암복호화 키 및 암호화 알고리즘을 이용하여 상기 USB 저장매체의 헤더를 암호화하고, 상기 디스크 키 및 암호화알고리즘을 이용하여 상기 USB 저장매체의 본체부를 암호화하는 기능을 실현한다.
본 발명에 관한 이러한 장점들 그리고 그 밖의 장점들, 측면들 및 신규한 특징들은 이와 관련하여 예시된 실시예들의 세부사항들과 더불어, 다음의 상세한 설명 및 도면들로부터 더 완벽하게 이해될 수 있을 것이다.
본 발명은 종래 USB 저장매체의 취약점인 보안 문제를 해결하기 위한 것으로서, 헤더 중 일정 영역과 본체부를 암호화 알고리즘을 이용하여 섹터 단위로 암복호화하고, 암호화된 본체부에 접근할 수 있는 암복호화 키를 암호화된 헤더 영역에 저장함으로써 보안볼륨 생성시 입력한 사용자 암호를 입력하지 않고 디스크 덤프 등을 통해 USB 저장매체에 저장된 내용을 읽을 수 없도록 함으로써 USB 저장매체의 보안을 강화할 수 있다.
또한, 상기 방법에 따라 보안된 USB 저장매체를 도난한 자 등 정당 사용권한이 없는 자가 보안볼륨 본체부로의 접근을 시도할 경우, 사용자 암호를 잘못 입력 하면 보안볼륨 헤더를 임의의 데이터로 리셋함으로써, 보안볼륨 본체부에 접근할 수 있는 키를 추출할 수 없도록 함으로써 USB 저장매체가 분실된 경우 USB 저장매체내 내용이 유출되는 것을 방지할 수 있다.
나아가, 상기 방법에 따라 보안볼륨 헤더가 파기된 경우, 보관된 보안볼륨 헤더의 정보를 그대로 파기된 보안볼륨 헤더에 기록하여 보안볼륨 헤더를 복구할 수 있도록 함으로써, 정당 사용자가 파기된 보안 USB 저장매체를 재사용할 수 있다.
이하, 도면을 참조하여 본 발명의 실시예를 설명한다. 동일한 구성요소에 대해서는 동일한 도면번호를 부여한다.
도 1은 본 발명의 일 실시예에 따른 보안 USB 인터페이스가 구비된 USB 저장매체(100)의 개략적 구조도이다. 상기 USB 저장매체(100)는 인터페이스가 구비된 모든 저장장치를 의미하는 것으로서, USB 인터페이스가 구비된 외장하드 장치를 포함한다. 다만, 상기 외장하드의 경우, 일반적으로 CD 영역이 별도로 형성되어 있지 아니하므로, 각 USB 저장매체의 특성에 따라 하기 보안볼륨 생성방법이 약간씩 달라질 것이다.
도 1을 참조하면, 본 발명에 따른 보안 USB 저장매체(100)는 에이전트 프로그램이 탑재되는 CD 영역(110)과 보안볼륨(120) 영역으로 이루어져 있으며, 상기 보안볼륨(120) 영역은 헤더(header; 122)와 본체부(body part; 124)로 구성된다.
상기 CD 영역(110)은 변형이 일어나면 안되는 데이터가 저장되어 있는 영역 으로서, 상기 CD 영역(110)에는 사용자가 USB 호스트 장치에 USB를 접속시켰을 때, 자동으로 실행(auto-play)되고 소정의 기능을 수행하는 에이전트 프로그램 및 섹터단위로 암복호화를 수행하는 섹터 I/O 드라이버가 탑재되어 있으며, 섹터 I/O 드라이버는 USB 호스트 장치에도 설치되어야 한다. CD 영역(110)이 별도로 생성되지 않는 USB 저장매체(100)의 경우, 에이전트 프로그램이나 섹터 I/O 드라이버는 USB 호스트 장치에 설치될 수 있을 것이다.
상기 'USB 호스트 장치'라 함은 보통 컴퓨터 장치를 의미하는 것으로서, PC, 서버 컴퓨터, PDA 또는 셀룰라폰 등과 같이 USB 메모리를 꽂을 수 있도록 USB 포터가 구비되어 있는 모든 호스트 장치를 말한다.
상기 에이전트 프로그램은 보안볼륨 헤더(122)에 저장된 암복호화 키를 이용하여 보안볼륨 본체부(124)에 액세스할 뿐만 아니라, 이후 설명될 보안볼륨 마운트, 보안볼륨 복호화 불능화 및 보안볼륨 파기 등에도 관계한다.
상기 섹터 I/O 드라이버는 보안볼륨 본체부(124)에 저장된 데이터를 입출력하여 섹터별로 암복화 가능하게 하는 드라이버이다. 즉, 상기 섹터 I/O 드라이버는 특정 파일에 해당하는 섹터를 읽어올 때 섹터 단위로 복호화를 수행하여 암호화되지 않은 섹터 데이터를 만들어서 사용자한테 보여주거나, 특정 파일이 저장될 때 그 파일이 저장될 섹터를 암호화하여 암호화된 섹터 데이터를 저장한다. 따라서, 이러한 섹터 I/O 드라이버로 인해 암복호화에 소요되는 시간을 대폭 단축시킬 수 있다.
상기 보안볼륨(120)은 보안볼륨(120)이 생성되기 전에는 일반 O/S의 파일 시 스템에 해당한다. 보안볼륨(120)이 생성되면 파일 등이 저장되는 파일 시스템과 대응되는 보안볼륨 본체부(124)와, 소정의 정보가 저장되는 보안볼륨 헤더(122)로 나누어진다.
상기 보안볼륨 헤더(122)는 랜덤 키(random key)인 솔트 키(salt key)가 저장되는 비암호화 영역과, 그 외 각종 정보 및 데이터가 저장되는 암호화 영역으로 나누어진다. 예컨대, 상기 암호화 영역에는 보안볼륨 헤더(122)의 버전정보, 에이전트 프로그램의 버전정보, 보안볼륨 생성시각, 매체관리번호, 보안볼륨 본체부 크기 정보, 보안볼륨 본체부를 암복호화하기 위한 디스크 키 등이 저장될 수 있다.
CD 영역(110)이 형성되지 않은 USB 저장매체의 경우, 상기 보안볼륨 헤더(122)에는 보안볼륨 헤더(122)에 해당하는지를 확인할 수 있는 서명값이 저장될 수 있다. 이러한 서명값은 USB 호스트 장치에 설치된 에이전트 프로그램이 제공하는 것으로서, 각 USB 저장매체의 고유값에 해당하므로, 이후 설명될 보안볼륨 마운트시 유용하게 사용될 수 있다.
상기 보안 USB 저장매체(100)는 본 발명에 따라 특정 기능을 수행하는 에이전트 프로그램과 섹터 I/O 드라이버 등에 의해 섹터단위로 암복호화된 보안볼륨(120)이 생성되어 만들어진다. 이하, 본 발명의 일 실시예에 따른 보안볼륨 생성방법에 대해 도 2를 참조하여 설명한다. 도 2는 본 발명의 일 실시예에 따른 보안볼륨 생성방법을 설명하기 위한 순서도이다.
먼저, 보안볼륨(120) 생성을 위해 에이전트 프로그램 및 섹터 I/O 드라이버를 CD 영역(110)에 탑재하거나 USB 호스트 장치에 설치해야 한다. 상기 CD 영 역(110)에 에이전트 프로그램이 탑재되어 있다 할지라도 USB 호스트 장치에 보다 강력한 에이전트 프로그램을 설치할 수 있으며, 이 경우 USB 호스트 장치에 설치된 에이전트 프로그램이 CD 영역(110)에 설치된 에이전트 프로그램에 우선하여 동작되는 것이 바람직하다.
도 2를 참조하면, 상기 에이전트 프로그램은 사용자에게 사용자 암호(이하, 다른 과정에서 입력받는 사용자 암호와 구별하기 위해 이를 '제 1 사용자 암호'라 함) 입력을 요청한다(S210). 이때, 에이전트 프로그램은 사용자에게 볼륨장치 경로 입력을 요청하거나 빠르게 포멧할 것인지 아니면 일반 포멧을 할 것인지 여부를 체크하도록 요구할 수 있다.
상기 제 1사용자 암호가 입력되면, 에이전트 프로그램은 난수 발생기를 이용하여 랜덤 키(random key)인 솔트 키(SALT KEY)를 생성한다(S220).
또한, 상기 에이전트 프로그램은 제 1사용자 암호가 입력되면, 본체부를 암호화하거나 암호화된 본체부(124)를 복호화할 수 있는 디스크 키(disk key)를 생성한다(S220).
다음으로, 에이전트 프로그램은 입력된 제 1사용자 암호와, 상기 솔트 키를 SHA1, AHA512, RIPEMD160, WHIRLPOOL 등과 같은 해싱 알고리즘을 반복 수행하여 보안볼륨 헤더(122)를 암복호화할 수 있는 암복호화 키(이하, 향후 마운트 과정에서 생성되는 암복호화 키와 구별하기 위해, 이를 '제 1암복호화 키'라 함)를 생성한다(S220).
생성된 상기 솔트 키 및 디스크 키는 헤더(122)에 저장되며, 이외에도 이미 언급한 소정의 정보가 헤더(122)에 저장된다(S220).
다음으로, 상기 제 1암복호화 키와 암호화알고리즘을 이용하여 헤더를 암호화한다. 이때, 상기 솔트 키는 이후 사용자가 USB 저장매체(100)에 접근하고자 할 때마다 입력되는 사용자 암호와 해싱되어 암호화된 보안볼륨 헤더(122)를 복호화하는 데 사용되므로 비암호화 영역에 저장되어야 한다. 즉, 에이전트 프로그램은 솔트 키를 제외한 볼륨 헤더(122) 영역에 저장된 데이터를 암호화한다(S230).
또한, 상기 에이전트 프로그램은 파일 등이 저장되는 본체부(124)(파일 시스템)를 포멧하여 암호화하는데(S220), 이때 제 1사용자 암호 입력 단계에서 빠른 포멧을 선택했다면 빠른 포멧을 수행하여 임의의 데이터를 암호화할 것이고, 빠른 포멧을 선택하지 아니한 경우에는 파일 시스템의 모든 섹터에 대하여 임의의 데이터를 암호화하여 기록하는 일반 포멧을 수행할 것이다. 이러한 포멧을 통한 암호화 과정은 생성된 디스크 키 및 암호화 알고리즘을 이용하여 수행된다. 상기 암호화 과정은 본 발명에 따른 섹터 I/O 드라이버에 의해 섹터 단위로 수행된다.
상기와 같은 과정을 거치면, 일정 영역이 암호화된 보안볼륨 헤더(122)와 전체 데이터가 암호화된 보안볼륨 본체부(124)가 생성된다(S240).
생성된 상기 보안볼륨 헤더(122)는 상기 USB 호스트 장치 또는 별도의 서버에 기록·저장되어 향후 보안볼륨 헤더(122) 복구시 이용될 수 있다.
이하, 상기와 같은 과정에 의해 암호화된 보안볼륨을 마운트 및 I/O를 구현하는 방법에 대하여 도 3을 참조하여 설명한다. 도 3은 본 발명의 일 실시예에 따른 보안볼륨 마운트 및 I/O 구현방법을 설명하기 위한 순서도이다. 여기서, 보안볼 륨 마운트라 함은 보안볼륨 헤더(122)를 복호화하여 데이터를 추출하고 보안볼륨 본체부에 저장된 정보를 USB 호스트 장치의 운영체제에게 알려주는 일련의 과정을 말한다.
도 3을 참조하면, 보안 USB 저장매체(100)가 USB 호스트 장치에 접속되면, 에이전트 프로그램은 사용자에게 사용자 암호 (이하, '제 2사용자 암호'라 함) 입력을 요청한다(S310).
제 2사용자 암호가 입력되면, 에이전트 프로그램은 보안볼륨 헤더(122)의 비암호화 영역에 저장된 솔트 키를 불러와(S320) 제 2사용자 암호와 해싱하여 보안볼륨 헤더 암복호화 키(이하, 제 2 암복호화 키라 함)를 생성한다(S330).
다음으로, 에이전트 프로그램은 상기 제 2암복호화 키로 보안볼륨 헤더의 암호화 영역을 복호화해본다(S340). 이때, 제 2암복호화 키로 보안볼륨 헤더(122)가 복호화되지 않으면, 사용자 암호 재확인 요청을 하고 입력된 사용자 암호를 이용하여 상기 과정을 되풀이한다. 이러한 과정은 정의된 횟수만큼 허용될 수 있다. 재확인 요청 이후에도 제 2암복호화 키로 보안볼륨 헤더(122)가 복호화되지 않으면, 보안볼륨 복호화 불능화 처리를 한다(S350).
반면, 제 2사용자 암호가 제 1사용자 암호와 일치하여 제 2암복호화 키로 보안볼륨 헤더(122)가 복호화되면, 에이전트 프로그램은 보안볼륨 헤더(122)에서 디스크 키를 추출하여 보안볼륨 본체부(124)를 마운트하고(S360), 암호화 알고리즘과 디스크 키로 보안볼륨 본체부(124)의 암호화된 데이터를 복호화한다. 복호화시, 섹터별로 섹터넘버를 가지고 복호화하며, I/O 드라이버를 통해 섹터 단위로 입출력을 수행한다.
한편, CD 영역(110)이 별도로 생성되지 않아 에이전트 프로그램을 USB 호스트 장치에 설치하여 보안볼륨을 생성한 경우에는 서명값이 보안볼륨 헤더 내에 저장된다. 이러한 서명값은 이미 설명한 바와 같이 에이전트 프로그램 배포시 각 USB 저장매체마다 달리 할당된 고유한 값으로서, 해당 에이전트 프로그램 이외의 프로그램에서 보안 USB 저장매체(100)가 동작하는 것을 방지하기 위한 것이다.
서명값이 헤더에 저장된 경우에는, 제 2암복호화 키로 보안볼륨 헤더(122)가 복호화된뒤 서명값 일치 여부를 확인하는 과정이 뒤따르게 된다. 에이전트 프로그램에 저장된 서명값과 헤더(122) 내의 서명값이 일치하면 본체부(124) 마운트가 가능하나, 불일치하면 마운트가 불가능해진다.
한편, 상기와 같이 보안볼륨(120)이 생성된 보안 USB 저장매체(100)가 비정상적으로 반출되거나, 도난 또는 분실될 경우, 보안 USB 저장매체(100) 내 파일이 유출되는 것을 방지하기 위하여 보안을 강화할 필요가 있다. 이를 위해 보안볼륨(120)을 파기하거나 보안볼륨 헤더(122)를 파기할 수 있다.
사용권한이 허락되지 않은 자가 보안 USB 저장매체(100)를 USB 호스트 장치에 접속시키면, 에이전트 프로그램으로부터 사용자 암호(이하, '제 3사용자 암호'라 함) 입력 요청을 받게 된다.
에이전트 프로그램은 제 3사용자 암호가 입력되면, 보안 USB 저장매체(100)의 보안볼륨 헤더(122) 영역에 저장된 솔트 키를 읽어와 제 3사용자 암호와 해싱알고리즘으로 해싱하여 보안볼륨 헤더를 복호화하기 위한 암복호화키(이하, '제 3암 복호화 키'라 함)를 생성한다. 생성된 제 3암복호화 키로 보안볼륨 헤더(122)를 복호화해본다. 복호화되지 않으면, 제 3사용자 암호가 제 1사용자 암호와 불일치한 것을 의미하므로, 제 3사용자 암호 입력 기회를 정의된 횟수만큼 더 부여한다. 정의된 횟수만큼 제 3사용자 암호를 입력했으나 보안볼륨 헤더(122)가 복호화되지 아니하면, 보안볼륨(120) 자체 또는 보안볼륨 헤더(122)를 파기한다.
보안볼륨(120) 자체를 파기하는 방법은, 보안볼륨 데이터를 랜덤 데이터인 무작위값으로 오버라이트하는 것이다. 이와 같이 무작위값으로 오버라이트하면, 보안볼륨 자체가 복구불가능한 상태로 된다.
상기 보안볼륨 헤더(122)를 파기하는 방법은, 보안볼륨 헤더의 데이터만 임의의 데이터로 리셋하는 것이다. 즉, 에이전트 프로그램은 보안볼륨 헤더(122) 크기만큼의 임의 데이터를 생성하여 무의미한 데이터로 리셋(reset)함으로써 보안볼륨 헤더(122)를 파기한다.
이와 같이, 보안볼륨 헤더(122)가 의미없는 데이터로 리셋되면, 보안볼륨 헤더(122) 내에 저장된 디스크 키를 전혀 불러올 수 없으므로, 보안볼륨 본체부(124)에 접근 자체를 할 수 없게 된다. 따라서, 비정상 사용자가 보안 USB 저장매체(100)의 보안볼륨 본체부(124)에 저장된 파일을 읽기/쓰기를 할 수 없으므로 보안을 유지할 수 있게 된다.
보안 강화를 위해 보안 USB 저장매체(100)의 보안볼륨 헤더(122)를 파기한 이후, 정당 사용자가 보안 USB 저장매체(100)를 획득한 경우, 보안볼륨 본체부(124)에 액세스할 수 있어야 할 것이다. 따라서, 정당사용자가 파기된 보안볼륨 헤더(122)를 복구하여 재이용할 수 있도록 하는 것이 바람직하다. 도 4를 참조하여 보안볼륨 헤더(122) 복구과정에 대해 설명한다. 도 4는 본 발명의 일 실시예에 따른 보안볼륨 헤더 복구방법을 설명하기 위한 순서도이다.
보안볼륨(120) 생성시 설명한 바와 같이, 생성된 보안볼륨 헤더(122)가 정당 사용자의 USB 호스트 장치나 특정 보안서버 또는 별도의 안전 저장장치에 저장되어 있는 경우, 사용자는 저장된 보안볼륨 헤더(122)를 이용하여 복구를 수행할 수 있다.
도 4를 참조하면, 보안볼륨 헤더(122)가 별도의 안전한 서버에 저장된 경우, 보안 USB 저장매체(100)가 USB 호스트 장치를 통해 상기 서버 등에 접속하면 서버에 설치된 에이전트 프로그램이 사용자에게 로그인을 요청하며(S410), 로그인한 사용자는 보안볼륨 헤더 복구 요청을 하게 된다.
사용자로부터 보안볼륨 헤더 복구 요청을 수신하면(S420), 에이전트 프로그램은 사용자에게 보안 USB 시리얼 넘버 입력을 요청한다.
상기 요청에 부응하여 사용자가 시리얼 넘버를 입력하면(S430), 에이전트 프로그램은 입력된 시리얼 넘버를 가지고 해당 보안볼륨 헤더를 검색한다(S440).
해당 보안볼륨 헤더가 검색되면, 에이전트 프로그램은 사용자에게 사용자 암호(이하, '제 4사용자 암호'라 함) 입력을 요청한다(S450).
입력된 제 4사용자 암호와 헤더 저장장치 내에 저장된 솔트 키를 해싱하여 보안볼륨 헤더를 암복호화하기 위한 암복호화 키(이하, '제 4암복호화 키'라 함)를 생성한다(S460).
생성된 제 4암복호화 키를 이용하여 보안볼륨 헤더가 복호화해본다(S470). 복호화되면, 제 4사용자 암호가 제 1사용자 암호와 일치하는 것을 의미하므로, 보안볼륨 헤더 저장장치 내의 보안볼륨 헤더 정보를 불러와 파기된 보안볼륨 헤더에 기록하여(S480) 보안볼륨 헤더를 복구한다(S485).
반면, 제 4암복호화 키를 이용하여 보안볼륨 헤더가 복호화되지 아니하면, 제 4사용자 암호가 제 1사용자 암호와 일치하지 않는 것을 의미하므로, 보안볼륨 헤더 복구 불가 메시지를 출력한다(S490). 이 메시지가 출력되면 사용자는 다시 상기 과정을 되풀이하는데, 이러한 반복과정은 정의된 횟수만큼 수행되나, 3~5회 정도로 제한하는 것이 보안상 바람직하다.
이상, 본 발명이 특정한 실시예들을 참조하여 설명되었지만, 본 발명의 사상에서 벗어남이 없이, 다양한 변경이 이루어질 수 있고 또한 균등물들이 치환될 수 있다는 점은 당해 기술 분야에 숙련된 자들에게 이해될 것이다. 추가적으로, 본 발명의 사상에서 벗어남이 없이, 특정한 상황이나 물적 요건을 본 발명의 지침에 맞게 조절할 수 있도록 다양한 개조가 이루어질 수 있다. 따라서, 본 발명은 개시된 특정한 실시예에 한정되는 것이 아니며, 본 발명은 첨부된 특허청구범위의 사상 내에 들어오는 모든 실시예들을 포함한다.
도 1은 본 발명의 일 실시예에 따른 보안 USB의 구조도이다.
도 2는 본 발명의 일 실시예에 따른 보안볼륨 생성방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 보안볼륨 마운트 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 보안볼륨 헤더 복구방법을 설명하기 위한 순서도이다.

Claims (15)

  1. USB 인터페이스가 구비된 저장매체(이하, 'USB 저장매체'라 함)를 암호화하여 보안볼륨 헤더 및 보안볼륨 본체부를 포함하는 보안 USB 저장매체를 생성하는 방법으로서,
    상기 USB 저장매체가 USB 호스트 장치에 결합되면, 상기 USB 호스트 장치 또는 상기 USB 저장매체에 탑재된 에이전트 프로그램이 사용자에게 사용자 암호(이하, '제 1사용자 암호'라 함) 입력을 요청하는 단계;
    상기 제 1사용자 암호가 입력되면, 상기 에이전트 프로그램이 랜덤 키를 생성함과 아울러 상기 보안볼륨 본체부를 암복호화하기 위한 디스크 키를 생성하는 단계;
    상기 에이전트 프로그램이 상기 제 1사용자 암호와 상기 랜덤 키를 해싱하여 암복호화 키(이하, '제 1암복호화 키'라 함)를 생성하는 단계; 및
    상기 에이전트 프로그램이, 상기 제 1암복호화 키 및 암호화 알고리즘을 이용하여 상기 USB 저장매체의 헤더를 암호화하여 상기 보안볼륨 헤더를 생성하고, 상기 디스크 키 및 암호화알고리즘을 이용하여 상기 USB 저장매체의 본체부를 암호화하여 상기 보안볼륨 본체부를 생성하는 단계를 포함하는 보안 USB 저장매체 생성방법.
  2. 제 1항에 있어서,
    상기 보안볼륨 본체부 생성단계는, 상기 USB 저장매체 본체부에 기록된 임의의 데이터를 섹터 I/O 드라이버를 통해 섹터 단위로 암호화하여 생성되는 것을 특징으로 하는 보안 USB 저장매체 생성방법.
  3. 제 1항에 있어서,
    상기 랜덤 키 및 상기 디스크 키를 포함하여 소정의 데이터가 상기 USB 저장매체의 헤더에 저장되고,
    상기 에이전트 프로그램은 상기 헤더에 저장된 데이터 중 랜덤 키 이외의 데이터를 암호화하는 것을 특징으로 하는 보안 USB 저장매체 생성방법.
  4. 제 1항에 있어서,
    상기 제 1사용자 암호 입력단계에서, 상기 에이전트 프로그램은 사용자에게 보안볼륨 장치 경로 입력 요청을 하거나 빠른 포멧 여부를 확인하는 것을 특징으로 하는 보안 USB 저장매체 생성방법.
  5. 제 1항에 있어서,
    상기 USB 저장매체는 USB 메모리 스틱 또는 USB 외장하드 장치인 것을 특징으로 하는 보안 USB 저장매체 생성방법.
  6. 제 5항에 있어서,
    상기 USB 저장매체가 USB 메모리 스틱인 경우, 상기 제 1사용자 암호 입력 요청 전에 상기 에이전트 프로그램이 탑재되는 CD 영역이 형성되는 단계를 포함하는 보안 USB 저장매체 생성방법.
  7. 제 1항에 있어서,
    상기 제 1사용자 암호 입력 요청 전에, 섹터별로 데이터를 입출력하고 암복호화하는 섹터 I/O 드라이버가 상기 USB 호스트 장치에 설치되는 단계를 포함하는 것을 특징으로 하는 보안 USB 저장매체 생성방법.
  8. 제 2항에 있어서,
    생성된 상기 보안볼륨 헤더가 저장장치에 저장되는 단계를 포함하는 보안 USB 저장매체 생성방법.
  9. 제 1항의 보안 USB 저장매체 생성방법에 의해 생성된 보안 USB 저장매체.
  10. 제 3항의 방법에 의해 생성된 보안 USB 저장매체를 마운트하는 방법으로서, 에이전트 프로그램이,
    상기 보안 USB 저장매체가 USB 호스트 장치에 결합되면, 사용자에게 사용자 암호(이하, '제 2사용자 암호'라 함) 입력을 요청하는 단계;
    상기 제 2사용자 암호가 입력되면, 상기 제 2사용자 암호와 상기 보안 USB의 보안볼륨 헤더에 저장된 랜덤 키를 이용하여 상기 보안볼륨 헤더를 암복호화하기 위한 키(이하, '제 2암복호화 키'라 함)를 생성하는 단계;
    상기 제 2암복호화 키로 상기 보안볼륨 헤더를 복호화하는 단계; 및
    상기 보안볼륨 헤더가 복호화되면, 상기 보안볼륨 헤더내에 저장된 디스크 키를 추출하여 보안볼륨 본체부에 마운트하는 단계를 포함하는 보안 USB 저장매체 마운트 방법.
  11. 제 10항에 있어서,
    상기 보안볼륨 본체부 마운트 단계에서, 상기 에이전트 프로그램은 섹터 I/O 드라이버를 통해 상기 USB 저장매체 본체부의 특정 섹터 또는 모든 섹터에 저장된 데이터를 복호화하는 것을 특징으로 하는 보안 USB 저장매체 마운트 방법.
  12. 제 3항의 방법에 의해 생성된 보안 USB 저장매체의 보안볼륨을 파기하는 방법으로서, 에이전트 프로그램이,
    상기 보안 USB 저장매체가 USB 호스트 장치에 결합되면, 사용자에게 사용자 암호(이하, 제 3사용자 암호'라 함) 입력을 요청하는 단계;
    상기 제 3사용자 암호가 입력되면, 상기 제 3사용자 암호와 상기 보안 USB의 보안볼륨 헤더에 저장된 랜덤 키를 이용하여 상기 보안볼륨 헤더를 암복호화하기 위한 키(이하, '제 3암복호화 키'라 함)를 생성하는 단계;
    상기 제 3암복호화 키로 상기 보안볼륨 헤더를 복호화하는 단계; 및
    상기 보안볼륨 헤더가 복호화되지 아니하면, 상기 보안볼륨 내의 데이터를 랜덤값으로 오버라이트하는 단계를 포함하는 보안 USB 저장매체의 보안볼륨 파기방법.
  13. 제 3항의 방법에 의해 생성된 보안 USB 저장매체의 보안볼륨 헤더를 파기하는 방법으로서, 에이전트 프로그램이,
    상기 보안 USB 저장매체가 USB 호스트 장치에 결합되면, 사용자에게 사용자 암호(이하, 제 3사용자 암호'라 함) 입력을 요청하는 단계;
    상기 제 3사용자 암호가 입력되면, 상기 제 3사용자 암호와 상기 보안 USB의 보안볼륨 헤더에 저장된 랜덤 키를 이용하여 상기 보안볼륨 헤더를 암복호화하기 위한 키(이하, '제 3암복호화 키'라 함)를 생성하는 단계;
    상기 제 3암복호화 키로 상기 보안볼륨 헤더를 복호화하는 단계; 및
    상기 보안볼륨 헤더가 복호화되지 아니하면, 상기 보안볼륨 헤더 내에 저장된 데이터를 임의의 데이터로 리셋하는 단계를 포함하는 보안 USB 저장매체의 보안볼륨 헤더 파기방법.
  14. 제 12항의 방법에 의해 보안볼륨 헤더가 파기된 보안 USB의 보안볼륨 헤더를 복구하는 방법으로서, 에이전트 프로그램이,
    상기 보안 USB 저장매체가 USB 호스트 장치에 결합되면, 사용자로부터 상기 보안 USB 저장매체의 보안볼륨 헤더 복구요청을 수신하는 단계;
    상기 복구요청에 따라 복구하고자 하는 보안볼륨 헤더를 검색하는 단계;
    상기 보안볼륨 헤더가 검색되면, 사용자에게 사용자 암호(이하, '제 4사용자 암호'라 함) 입력을 요청하는 단계;
    입력된 상기 제 4사용자 암호와 상기 보안볼륨 헤더 저장장치 내의 보안볼륨 헤더에 저장된 솔트 키를 이용하여 상기 보안볼륨 헤더를 암복호화하기 위한 키(이하, '제 4암복호화 키'라 함)를 생성하는 단계;
    상기 제 4암복호화 키로 상기 보안볼륨 헤더를 복호화하는 단계; 및
    상기 보안볼륨 헤더가 복호화되면, 상기 보안볼륨 헤더 내에 저장된 소정의 데이터를 상기 파기된 보안 USB 저장매체의 헤더 영역에 기록하는 단계를 포함하는파기된 USB 저장매체의 보안볼륨 헤더복구 방법.
  15. USB 저장매체가 USB 호스트에 접속되면 사용자에게 사용자 암호 입력을 요청하고,
    상기 사용자 암호가 입력되면, 랜덤 키를 생성함과 아울러 상기 USB 저장매체의 본체부를 암복호화하기 위한 디스크 키를 생성하고,
    상기 사용자 암호와 상기 랜덤 키를 해싱하여 암복호화 키를 생성하고,
    상기 암복호화 키 및 암호화 알고리즘을 이용하여 상기 USB 저장매체의 헤더를 암호화하고,
    상기 디스크 키 및 암호화알고리즘을 이용하여 상기 USB 저장매체의 본체부를 암호화하는 기능을 실현하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
KR1020090077884A 2009-08-22 2009-08-22 보안 유에스비 저장매체 관리방법 및 보안 유에스비 저장매체 관리를 위한 프로그램이 기록된 매체 KR101150415B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020090077884A KR101150415B1 (ko) 2009-08-22 2009-08-22 보안 유에스비 저장매체 관리방법 및 보안 유에스비 저장매체 관리를 위한 프로그램이 기록된 매체
JP2012525494A JP5362114B2 (ja) 2009-08-22 2010-08-20 保安usb記憶媒体生成及び復号化方法、並びに保安usb記憶媒体生成のためのプログラムが記録された媒体
US13/391,814 US9100173B2 (en) 2009-08-22 2010-08-20 Security USB storage medium generation and decryption method, and medium recorded with program for generating security USB storage medium
PCT/KR2010/005520 WO2011025185A2 (ko) 2009-08-22 2010-08-20 보안 유에스비 저장매체 생성 및 복호화 방법, 그리고 보안 유에스비 저장매체 생성을 위한 프로그램이 기록된 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090077884A KR101150415B1 (ko) 2009-08-22 2009-08-22 보안 유에스비 저장매체 관리방법 및 보안 유에스비 저장매체 관리를 위한 프로그램이 기록된 매체

Publications (2)

Publication Number Publication Date
KR20110020326A true KR20110020326A (ko) 2011-03-03
KR101150415B1 KR101150415B1 (ko) 2012-06-01

Family

ID=43628548

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090077884A KR101150415B1 (ko) 2009-08-22 2009-08-22 보안 유에스비 저장매체 관리방법 및 보안 유에스비 저장매체 관리를 위한 프로그램이 기록된 매체

Country Status (4)

Country Link
US (1) US9100173B2 (ko)
JP (1) JP5362114B2 (ko)
KR (1) KR101150415B1 (ko)
WO (1) WO2011025185A2 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8792636B2 (en) * 2009-08-28 2014-07-29 Blackberry Limited Protocol for protecting content protection data
US20130290733A1 (en) * 2012-04-26 2013-10-31 Appsense Limited Systems and methods for caching security information
US20130290734A1 (en) * 2012-04-26 2013-10-31 Appsense Limited Systems and methods for caching security information
JP5849872B2 (ja) * 2012-07-04 2016-02-03 富士ゼロックス株式会社 情報処理システムおよびプログラム
CN103678964A (zh) * 2012-09-13 2014-03-26 上海斐讯数据通信技术有限公司 移动终端、密码输入方法及系统
US9129114B2 (en) 2012-12-03 2015-09-08 Imation Corp. Preboot environment with system security check
US9430250B2 (en) 2012-12-03 2016-08-30 Kingston Digital, Inc. Bootability with multiple logical unit numbers
US9104891B2 (en) * 2012-12-03 2015-08-11 Imation Corp. Recovering from unexpected flash drive removal
WO2014098901A1 (en) * 2012-12-21 2014-06-26 Hewlett-Packard Development Company, L.P. Active component embedded in cable
US20140366148A1 (en) * 2013-06-10 2014-12-11 Transcend Information, Inc. Storage Medium Securing Method and Media Access Device thereof
US9639710B2 (en) * 2013-12-23 2017-05-02 Symantec Corporation Device-based PIN authentication process to protect encrypted data
US9672361B2 (en) * 2014-04-30 2017-06-06 Ncr Corporation Self-service terminal (SST) secure boot
KR102263880B1 (ko) 2014-06-19 2021-06-11 삼성전자주식회사 호스트 컨트롤러 및 시스템-온-칩
US9634833B2 (en) * 2014-06-20 2017-04-25 Google Inc. Gesture-based password entry to unlock an encrypted device
US10025932B2 (en) * 2015-01-30 2018-07-17 Microsoft Technology Licensing, Llc Portable security device
CN104636682A (zh) * 2015-02-09 2015-05-20 上海瀚银信息技术有限公司 一种基于硬件设备的密码管理系统及方法
US11032320B1 (en) * 2016-09-19 2021-06-08 Jpmorgan Chase Bank, N.A. Systems and methods for dynamic application level encryption
EP3379445A1 (en) 2017-03-22 2018-09-26 Wincor Nixdorf International GmbH System and method to generate encryption keys based on information of peripheral devices
KR102118620B1 (ko) * 2018-04-11 2020-06-04 주식회사 크레스텍 보안성이 강화된 암호화폐 지갑 서비스 시스템 및 이를 이용한 암호화폐 전송방법
US11489554B2 (en) * 2020-10-30 2022-11-01 Schweitzer Engineering Laboratories, Inc. Systems and methods for establishing secure communication in an electric power distribution system with software defined network

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787169A (en) * 1995-12-28 1998-07-28 International Business Machines Corp. Method and apparatus for controlling access to encrypted data files in a computer system
KR100484209B1 (ko) * 1998-09-24 2005-09-30 삼성전자주식회사 디지털컨텐트암호화/해독화장치및그방법
KR100348611B1 (ko) 2000-02-01 2002-08-13 엘지전자 주식회사 디지탈 콘텐츠의 암호화장치 및 암호화방법
DE10142498A1 (de) * 2001-08-30 2003-03-27 Siemens Ag Verfahren zur Ver- und Entschlüsselung von Kommunikationsdaten
KR20050027162A (ko) * 2002-08-06 2005-03-17 마쯔시다덴기산교 가부시키가이샤 패킷 라우팅 장치 및 패킷 라우팅 방법
KR100549504B1 (ko) * 2003-10-10 2006-02-03 한국전자통신연구원 서명 암호화를 이용한 웹서비스 보안에서의 soap메시지 생성 및 검증 방법
US20050114710A1 (en) 2003-11-21 2005-05-26 Finisar Corporation Host bus adapter for secure network devices
US8060670B2 (en) * 2004-03-17 2011-11-15 Super Talent Electronics, Inc. Method and systems for storing and accessing data in USB attached-SCSI (UAS) and bulk-only-transfer (BOT) based flash-memory device
KR100583050B1 (ko) 2004-08-04 2006-05-25 송유권 유에스비 토큰 키를 이용한 파일 암호화 및 복호화 방법과그를 이용한 시스템
KR100703777B1 (ko) 2005-04-21 2007-04-06 삼성전자주식회사 컨텐츠 제공자 인증 및 컨텐츠 무결성 보장을 위한 시스템
US8667273B1 (en) * 2006-05-30 2014-03-04 Leif Olov Billstrom Intelligent file encryption and secure backup system
JP5052878B2 (ja) * 2006-12-12 2012-10-17 株式会社バッファロー 記憶装置及び利用者認証方法
JP2008245112A (ja) * 2007-03-28 2008-10-09 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びその暗号鍵の管理方法
JP5053032B2 (ja) * 2007-10-16 2012-10-17 株式会社バッファロー データ管理装置、データ管理方法およびデータ管理プログラム
US8656179B2 (en) * 2009-03-03 2014-02-18 Roger E. Billings Using hidden secrets and token devices to create secure volumes
US20110113235A1 (en) * 2009-08-27 2011-05-12 Craig Erickson PC Security Lock Device Using Permanent ID and Hidden Keys

Also Published As

Publication number Publication date
JP2013502817A (ja) 2013-01-24
KR101150415B1 (ko) 2012-06-01
WO2011025185A3 (ko) 2011-07-07
JP5362114B2 (ja) 2013-12-11
US9100173B2 (en) 2015-08-04
WO2011025185A2 (ko) 2011-03-03
US20120151219A1 (en) 2012-06-14

Similar Documents

Publication Publication Date Title
KR101150415B1 (ko) 보안 유에스비 저장매체 관리방법 및 보안 유에스비 저장매체 관리를 위한 프로그램이 기록된 매체
US9037875B1 (en) Key generation techniques
TWI581630B (zh) 保全金鑰產生裝置和方法、主機元件以及儲存元件
EP2696305B1 (en) Method and device for file protection
US9251358B2 (en) System and method for providing secure access to system memory
US9811478B2 (en) Self-encrypting flash drive
US9443111B2 (en) Device security using an encrypted keystore data structure
US20160364583A1 (en) Physically unclonable function assisted memory encryption device techniques
US20180152296A1 (en) Electronic data protection method and device and terminal device
US8495365B2 (en) Content processing apparatus and encryption processing method
US20080016127A1 (en) Utilizing software for backing up and recovering data
US20040172538A1 (en) Information processing with data storage
US8112634B2 (en) Security-enhanced storage devices using media location factor in encryption of hidden and non-hidden partitions
US20080077807A1 (en) Computer Hard Disk Security
KR101303278B1 (ko) 비트스트림 보호를 위한 fpga 장치 및 그 방법
WO2007091492A1 (ja) セキュア処理装置、方法、プログラム
JP2009225437A (ja) 記憶データの安全な処分
CN102460456B (zh) 用于内容的适应性保护的存储器器件和方法
WO2023240866A1 (zh) 密码卡及其根密钥保护方法、计算机可读存储介质
CN105760789A (zh) 一种加密移动固态硬盘加密密钥的保护方法
CN102769525A (zh) 一种tcm的用户密钥备份与恢复方法
US9003201B2 (en) Hardware protection for encrypted strings and protection of security parameters
JP2003195758A (ja) データ処理装置、インタフェースボードおよびデータ秘匿方法
CN107861892B (zh) 一种实现数据处理的方法及终端
CN107330340B (zh) 文件加密方法、设备、文件解密方法、设备及存储介质

Legal Events

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

Payment date: 20150521

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160518

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170504

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180711

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee