KR20150050899A - 재암호화 기반 안전 저장 장치 및 방법 - Google Patents

재암호화 기반 안전 저장 장치 및 방법 Download PDF

Info

Publication number
KR20150050899A
KR20150050899A KR1020130132125A KR20130132125A KR20150050899A KR 20150050899 A KR20150050899 A KR 20150050899A KR 1020130132125 A KR1020130132125 A KR 1020130132125A KR 20130132125 A KR20130132125 A KR 20130132125A KR 20150050899 A KR20150050899 A KR 20150050899A
Authority
KR
South Korea
Prior art keywords
key
data
encryption
public key
agent unit
Prior art date
Application number
KR1020130132125A
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 한국전자통신연구원
Priority to KR1020130132125A priority Critical patent/KR20150050899A/ko
Publication of KR20150050899A publication Critical patent/KR20150050899A/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/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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • 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
    • 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

Landscapes

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

Abstract

모바일 단말 상에서 하드웨어 기반으로 키를 생성 및 관리하고, 재암호화 기법을 통해 소프트웨어적으로 데이터의 안전한 저장 공간을 구축 및 운용하는 재암호화 기반 안전 저장 장치 및 방법이 개시된다. 본 발명에 따른 재암호화 기반 안전 저장 장치는, 단말의 커널 공간에 구현된 프로세스로서 상기 단말의 사용자 공간에 구현된 어플리케이션과 통신하며 데이터의 암호화, 재암호화 및 복호화를 수행하는 에이전트부 및 단말의 하드웨어에 구현되어 상기 에이전트부와 디바이스 드라이버를 통하여 통신하며 상기 데이터의 암호화, 재암호화 및 복호화를 위한 키를 생성하고 관리하는 하드웨어 보안부를 포함한다.

Description

재암호화 기반 안전 저장 장치 및 방법{APPARATUS AND METHOD FOR SECURITY STORAGE USING RE-ENCRYPTION}
본 발명은 재암호화 기반 안전 저장 장치 및 방법에 관한 것이다. 더욱 상세하게는 본 발명은 모바일 단말 상에서 하드웨어 기반으로 키를 생성 및 관리하고, 재암호화 기법을 통해 소프트웨어적으로 데이터의 안전한 저장 공간을 구축 및 운용하는 재암호화 기반 안전 저장 장치 및 방법에 관한 것이다.
종래에는 모바일 단말 플랫폼의 보안성을 담보하기 위해, 시스템의 주요 제어 데이터, 파라미터, 인증 데이터, 권한 리스트 등과 같은 시스템 운용에 필수적이고, 비교적 크기가 작으면서, 높은 기밀성을 요구하는 데이터를 칩과 같은 특수 하드웨어(일례로, TPM: Trusted Platform Module)에서 암호화하여 관리하는 방법에 대해 많은 연구가 수행된 바 있다.
이와 같은 기술 사상에서는 데이터의 암호화 및 복호화에 필요한 키(예컨대, 공개키 및 비밀키)의 생성 및 관리, 해당 키를 이용한 암호화 및 복호화와 같은 주요 관련 기능이 모두 하드웨어 내부에서 이루어진다.
본 환경에서는 특수 하드웨어 칩의 소유권을 가진 사용자만이 암호화된 데이터의 복호화를 요청할 수 있다. 따라서, 하드웨어적인 공격이 물리적으로 행사되지 않는 한 해당 복호화 키의 노출은 사실상 극히 어려워 키 관리 측면에서 높은 보안성을 제공할 수 있다.
그러나, 암호화 및 복호화 그리고 키 관리를 위한 전용 보안 하드웨어를 모바일 단말에 탑재하고, 이를 운용하기 위한 별도의 암호화 엔진을 개발하는 것은 사업자 측면에서 대단히 큰 비용 부담요소이며, 전용 보안 하드웨어의 사용으로 인한 모바일 단말의 배터리 소모를 감내해야 하는 단점이 존재한다. 이와 같은 한계점으로 인하여, 본 기술 사상은 현실적인 채택이 미비한 실정이다.
최근 모바일 어플리케이션, 예컨대 앱(APP)에서 생성하는 사용자의 사적 데이터의 유출이 빈번한 하게 발생하고 있고, 보다 직접적인 피해를 유발하는 현실적인 보안 사고로 이어지고 있다.
이와 같은 유출은 서로 다른 앱 간의 권한 상승 조작을 통한 불법적인 권한 취득 및 이를 이용한 제 3의 앱의 데이터 획득, 조작 및 외부 서버로의 전송 등과 같은 공격 방법을 통해 이뤄질 수 있다. 따라서, 사용자의 사적 데이터와 더불어 특정 앱의 실행 시 요구되는 입력 데이터, 생성 데이터, 설정 데이터에 대한 보호 역시 매우 중요하게 인식되고 있다.
그러나, 모바일 단말에 탑재되는 보안 목적의 특수 하드웨어는 비용 및 에너지 등의 문제로 매우 작은 메모리 버퍼 및 비 휘발성 메모리 공간만을 갖고 있어서, 사진, 개인 연락처, 문서, 이메일, 단문 메시지, 비디오 클립 등의 다양한 사용자의 사적 데이터의 암호화를 하드웨어 내부에서 처리하기에는 한계점을 안고 있다.
상기 보안 하드웨어의 물리적 메모리 공간의 부족함을 극복하기 위해, 소프트웨어 저장소를 별도로 운용함으로써, 사용자의 사적 데이터의 암호화를 모바일 단말의 비교적 큰 플래쉬 메모리 공간을 이용하여 수행할 수 있다. 그러나, 해당 데이터의 복호화를 위해서는 상기 보안 하드웨어로부터 복호화 키를 소프트웨어 저장소로 전달해야만 하는 매우 심각한 구조적 취약성이 발생하게 된다.
이와 같은 문제점을 해결하기 위해서, 소프트웨어 저장소에 별도의 키 관리 모듈 및 메커니즘을 탑재하여 운용하는 것을 고려해 볼 수 있으나, 이 역시 상기 하드웨어에 이미 구현되어 있는 키 관리 메커니즘을 중복 구현해야 하는 문제점이 도출될 수 있고, 기술적으로도 특수 하드웨어를 통한 키 기밀성 유지라는 최대 장점을 이용하는 효과가 없어지게 되는 문제점이 있다.
앱 운용의 기밀성을 보장하기 위해서는 다양한 종류의 많은 앱들이 생성하는 입력, 생성, 설정 데이터에 대한 일관된 저장 및 보호 기법이 요구되며, 특정 데이터에 대해서 인가된 앱만이 접근할 수 있도록 통제해야 한다.
상기 언급한 특수 보안 하드웨어의 키 생성 및 관리 기법이 제공하는 보안성을 훼손시키지 않으면서, 사용자의 사적 데이터의 암호화 및 안전한 복호화를 담보할 수 있는 기술적 구성 그리고 그 방법에 대한 연구 및 기술 개발이 매우 필요하다.
따라서, 암호화 키 생성 및 관리만을 위한 전용 목적의 매우 작은 비 휘발성 메모리와 기본적인 키 생성 연산 능력만을 제공할 수 있는 저 비용의 보안 하드웨어를 기반으로 키를 안전하게 관리하며, 시스템 설정 데이터뿐만 아니라 사용자의 사적 데이터 및 앱 생성 데이터와 같은 비교적 크기가 크면서도 기밀도 또는 중요도가 높은 데이터의 암호화 및 복호화 시, 복호화 비밀 키의 신뢰적 보호를 담보할 수 있는 재암호화 기반 안전 저장 장치 및 방법이 필요한 실정이다. 관련 기술로는, 한국공개특허 제2013-0051087호가 존재한다.
본 발명의 목적은, 작은 메모리 영역과 저성능의 연산 능력을 가진 저비용 보안 하드웨어를 기반으로 키 생성 및 관리를 수행함으로써, 모바일 단말에 특수 목적 보안 하드웨어 탑재로 인한 기술적, 경제적 비용의 부담을 최소화하는 것을 가능케 하는 것이다.
또한, 본 발명의 목적은, 보안 하드웨어를 통해 키 생성 및 관리의 신뢰성 및 키 전달의 안정성을 극대화하여, 키 노출에 따른 데이터 기밀성 파괴의 보안 위협을 원천적으로 방지하는 것을 가능케 하는 것이다.
또한, 본 발명의 목적은, 커널 공간에 구현된 소프트웨어 기반 저장소에서 기 암호화된 데이터의 복호화 시, 보안 하드웨어로부터 수신한 복호화 비밀 키의 노출에 따른 심각한 보안 취약점을 해결하기 위해 재 암호화 기법을 통해 원본 복호화 비밀 키의 전달 및 사용 없이, 복호화를 가능하게 하여 원본 복호화 비밀 키의 노출을 원천 차단하는 것을 가능케 하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 재암호화 기반 안정 저장 장치는, 단말의 커널 공간에 구현된 프로세스로서 상기 단말의 사용자 공간에 구현된 어플리케이션과 통신하며 데이터의 암호화, 재암호화 및 복호화를 수행하는 에이전트부 및 상기 단말의 하드웨어에 구현되어 상기 에이전트부와 디바이스 드라이버를 통하여 통신하며 상기 데이터의 암호화, 재암호화 및 복호화를 위한 키를 생성하고 관리하는 하드웨어 보안부를 포함한다.
이 때, 상기 에이전트부는, 특정 어플리케이션에서 신규 생성하는 데이터의 암호화를 위한 제 1 공개 키 및 상기 데이터의 복호화를 위한 제 1 비밀 키의 쌍인 암호화 키 쌍 중 상기 제 1 비밀 키를 제외한 상기 제 1 공개 키 및 상기 제 1 공개 키에 의하여 암호화된 데이터의 재암호화를 위한 제 2 공개 키 및 상기 제 2 공개 키에 의하여 재암호화된 데이터의 복호화를 위한 제 2 비밀 키의 쌍인 재암호화 키 쌍을 저장하는 공개 키 디렉터리를 포함할 수 있다.
이 때, 상기 에이전트부는, 상기 어플리케이션의 접근 여부 및 요청 파일에 대한 권한을 인가하는 접근 제어 매니저, 상기 데이터를 관리하기 위한 정보들이 포함된 파일 객체로 구조화하여 저장소에 저장하고, 상기 저장소에서 상기 파일 객체를 검색, 변경 및 삭제하며, 상기 데이터의 암호화 및 복호화된 결과를 상기 파일 객체로 구조화하여 상기 저장소에 저장하는 파일 시스템 매니저 및 상기 파일 시스템 매니저의 요청에 대응하여 공개 키 디렉터리로부터 상기 제 1 공개 키 및 상기 재암호화 키 쌍을 검색하여 상기 파일 시스템 매니저에 전달하며, 상기 데이터의 암호화, 재암호화 및 복호화를 수행하는 암호화 프로세싱 매니저를 포함할 수 있다.
이 때, 상기 하드웨어 보안부는, 상기 단말의 제조시 또는 상기 단말의 하드웨어 제조시 제조사에 의하여 지정된 비밀 키인 제조사 키, 상기 제조사 키로부터 파생되어 앱루트 키를 생성하기 위한 초기 값으로 이용되는 하드웨어루트 키, 사용자의 어플리케이션 설치시 상기 어플리케이션을 식별하기 위한 앱루트 키, 상기 암호화 키 쌍 및 상기 재암호화 키 쌍을 생성하고 폐기하는 하드웨어 키 매니저를 포함할 수 있다.
이 때, 상기 하드웨어 보안부는, 비휘발성 메모리 영역에 구현되어 상기 제조사 키, 상기 하드웨어루트 키, 상기 앱루트 키, 상기 암호화 키 쌍 및 상기 재암호화 키 쌍을 저장하는 키 디렉터리를 포함할 수 있다.
이 때, 상기 파일 객체는, 상기 파일 객체의 구조 및 설정 정보를 포함하는 볼륨 정보, 고유 인덱스 및 버전 정보를 포함하며 바이트 스트림의 형태로 데이터가 저장된 적어도 하나의 파일을 포함하는 데이터 정보, 상기 적어도 하나의 파일에 저장된 데이터의 구조에 대한 정보를 포함하는 파일 설명자 및 상기 적어도 하나의 파일에 적용된 암호화 기법에 관련된 정보를 포함하는 암호화 메타 정보를 포함할 수 있다.
이 때, 상기 볼륨 정보는, 상기 파일 객체의 최초 생성 시점, 상기 파일 객체의 최종 수정 시점, 상기 파일 별 접근 가능한 어플리케이션의 리스트, 상기 파일의 최대 크기, 상기 파일의 최대 허용 개수에 대한 정보를 포함할 수 있다.
이 때, 상기 암호화 메타 정보는, 상기 파일 각각에 적용된 암호화 알고리즘, 키의 길이, 암호화 모드를 포함할 수 있다.
이 때, 상기 암호화 프로세싱 매니저는, 상기 공개 키 디렉터리에, 상기 파일 시스템 매니저의 요청에 대응되는 상기 제 1 공개 키 및 상기 재암호화 키 쌍이 존재하지 않는 경우, 상기 디바이스 드라이버를 통하여 상기 하드웨어 키 매니저에게 상기 파일 시스템 매니저의 요청에 대응되는 상기 제 1 공개 키 및 상기 재암호화 키 쌍을 검색 또는 생성을 요청할 수 있다.
이 때, 상기 하드웨어 키 매니저는, 상기 암호화 키 쌍을 생성함과 동시에 상기 재암호화 키 쌍을 생성하거나, 상기 암호화 키 쌍을 생성한 이후에 상기 재암호화 키 쌍을 생성할 수 있다.
이 때, 상기 에이전트부는, 상기 어플리케이션으로부터 특정 데이터를 쓰기 위한 요청이 있는 경우, 상기 제 1 공개 키를 이용하여 상기 어플리케이션으로부터 전달 받은 상기 특정 데이터를 암호화하고, 파일 객체로 구조화하여 상기 저장소에 저장하고, 암호화된 결과를 상기 어플리케이션에게 전달할 수 있다.
이 때, 상기 에이전트부는, 상기 어플리케이션으로부터 특정 데이터를 읽기 위한 요청이 있는 경우, 상기 제 2 비밀 키를 이용하여 상기 저장소에 저장된 상기 특정 데이터를 복호화하고, 상기 파일 설명자를 기반으로 상기 어플리케이션이 접근할 수 있는 형태로 변환함으로써 상기 어플리케이션이 상기 특정 데이터를 안전하게 읽을 수 있도록 할 수 있다.
이 때, 상기 에이전트부는, 상기 어플리케이션으로부터 특정 데이터를 수정하기 위한 요청이 있는 경우, 상기 특정 데이터가 포함된 파일 객체의 데이터 정보에 버전 정보를 업데이트하여 상기 어플리케이션에 의하여 상기 특정 데이터가 수정되어 생성된 수정 데이터를 반영하고, 상기 파일 객체의 파일 설명자에 상기 업데이트 내역을 반영하여 상기 저장소에 저장할 수 있다.
이 때, 상기 에이전트부는, 상기 어플리케이션으로부터 특정 데이터를 수정하기 위한 요청이 있는 경우, 상기 저장소에 저장된 수정 데이터를 상기 제 1 공개 키로 암호화하고, 수정 되기 전 버전의 데이터를 재암호화 및 복호화하기 위한 이전 버전의 재암호화 키 쌍을 폐기하고, 업데이트된 버전의 수정 데이터를 재암호화하기 위한 제 2 공개 키 및 복호화하기 위한 제 2 비밀 키를 포함하는 신규의 재암호화 키 쌍을 생성하고, 생성된 제 2 공개 키를 이용하여 상기 수정 데이터를 재암호화할 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명에 따른 재암호화 기반 안전 저장 방법은, 단말의 커널 공간에 구현된 에이전트부에 의하여, 상기 단말의 사용자 공간에 구현된 어플리케이션으로부터 특정 데이터를 쓰기 위한 요청 및 상기 특정 데이터를 수신하는 단계, 상기 에이전트부에 의하여, 상기 에이전트부로부터 상기 특정 데이터를 암호화 하기 위한 제 1 공개 키를 검색하는 단계, 상기 에이전트부에 의하여, 검색된 제 1 공개 키를 이용하여 상기 특정 데이터를 암호화하는 단계, 상기 에이전트부에 의하여, 암호화된 특정 데이터를 파일 객체로 구조화하는 단계 및 상기 에이전트부에 의하여, 상기 어플리케이션에게 암호화 결과를 전송하는 단계를 포함한다.
이 때, 상기 제 1 공개 키를 검색하는 단계에서 상기 제 1 공개 키가 검색되지 않은 경우, 상기 제 1 공개 키를 검색하는 단계 이후에, 상기 에이전트부에 의하여, 디바이스 드라이버를 통하여 상기 단말의 하드웨어에 구현되는 하드웨어 보안부로부터 상기 제 1 공개 키를 수신하는 단계를 더 포함할 수 있다.
이 때, 상기 전송하는 단계 이후에, 상기 에이전트부에 의하여, 상기 에이전트부로부터 상기 제 1 공개 키에 의하여 암호화된 데이터의 재암호화를 위한 제 2 공개 키를 검색하는 단계 및 상기 에이전트부에 의하여, 상기 제 2 공개 키를 이용하여 상기 제 1 공개 키에 의하여 암호화된 특정 데이터를 재암호화하는 단계를 더 포함할 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명에 따른 재암호화 기반 안전 저장 방법은, 단말의 커널 공간에 구현된 에이전트부에 의하여, 상기 단말의 사용자 공간에 구현된 어플리케이션으로부터 특정 데이터를 읽기 위한 요청을 수신하는 단계, 상기 에이전트부에 의하여, 상기 에이전트부로부터 제 2 공개 키에 의하여 재암호화된 상기 특정 데이터를 복호화하기 위한 제 2 비밀 키를 검색하는 단계 및 상기 에이전트부에 의하여, 검색된 제 2 비밀 키를 이용하여 재암호화된 상기 특정 데이터를 복호화하는 단계를 포함한다.
이 때, 상기 복호화하는 단계 이후에, 상기 어플리케이션에 의하여, 상기 특정 데이터를 수정하는 단계 및 상기 에이전트부에 의하여, 상기 특정 데이터가 포함된 파일 객체의 데이터 정보에 버전 정보를 업데이트하여 상기 수정 데이터를 반영하고, 상기 파일 객체의 파일 설명자에 상기 업데이트 내역을 반영하여 상기 에이전트부에 저장하는 단계를 더 포함할 수 있다.
이 때, 상기 저장하는 단계 이후에, 상기 에이전트부에 의하여 상기 에이전트부에 저장된 수정 데이터를 제 1 공개 키로 암호화하는 단계, 상기 단말의 하드웨어에 구현되는 하드웨어 보안부에 의하여, 수정 되기 전의 버전에 대한 데이터를 재암호화 및 복호화하기 위한 이전 버전의 재암호화 키 쌍을 폐기하는 단계, 상기 하드웨어 보안부에 의하여, 업데이트된 버전에 대한 수정 데이터를 재암호화하기 위한 제 2 공개 키 및 복호화하기 위한 제 2 비밀 키를 포함하는 신규의 재암호화 키 쌍을 생성하는 단계 및 상기 에이전트부에 의하여, 상기 생성된 제 2 공개 키를 이용하여 상기 수정 데이터를 재암호화하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 작은 메모리 영역과 저성능의 연산 능력을 가진 저비용 보안 하드웨어를 기반으로 키 생성 및 관리를 수행함으로써, 모바일 단말에 특수 목적 보안 하드웨어 탑재로 인한 기술적, 경제적 비용의 부담을 최소화할 수 있다.
또한, 본 발명에 따르면, 보안 하드웨어를 통해 키 생성 및 관리의 신뢰성 및 키 전달의 안정성을 극대화하여, 키 노출에 따른 데이터 기밀성 파괴의 보안 위협을 원천적으로 방지할 수 있다.
또한, 본 발명에 따르면, 커널 공간에 구현된 소프트웨어 기반 저장소에서 기 암호화된 데이터의 복호화 시, 보안 하드웨어로부터 수신한 복호화 비밀 키의 노출에 따른 심각한 보안 취약점을 해결하기 위해 재 암호화 기법을 통해 원본 복호화 비밀 키의 전달 및 사용 없이, 복호화를 가능하게 하여 원본 복호화 비밀 키의 노출을 원천 차단할 수 있다.
도 1은 본 발명에 따른 재암호화 기반 안전 저장 장치의 시스템 구성도를 설명하기 위한 도면이다.
도 2는 본 발명에 따른 재암호화 기반 안전 저장 장치의 블록도이다.
도 3은 데이터를 저장하기 위한 파일 객체의 구조를 설명하기 위한 도면이다.
도 4는 하드웨어 키 매니저에 의해 생성 및 관리되는 키의 계층적 구조를 설명하기 위한 도면이다.
도 5는 암호화, 재암호화 및 복호화의 수행 과정과 효과를 설명하기 위한 도면이다.
도 6 내지 도 11은 본 발명에 따른 재암호화 기반 안전 저장 방법의 실시예를 설명하기 위한 도면이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다.
본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a),(b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다.
이하, 도면을 참조하여 본 발명에 따른 재암호화 기반 안전 저장 장치에 대하여 설명하도록 한다.
도 1은 본 발명에 따른 재암호화 기반 안전 저장 장치의 시스템 구성도를 설명하기 위한 도면이다. 도 2는 본 발명에 따른 재암호화 기반 안전 저장 장치의 블록도이다.
도 1을 참조하여 설명하면, 사용자의 단말(1000)은, 사용자 공간, 커널 공간 및 하드웨어로 나누어 질 수 있음을 확인할 수 있다. 여기서, 상기 단말(1000)은 무선 네트워크(3G, LTE, WiFi, ZigBee, Bluetooth 등)을 이용한 네트워크 접속을 지원하며, 응용 프로그램 및 시스템 프로그램의 구동을 위한 프로세싱 기능과 저장 기능을 지원하는 통상의 모바일 컴퓨팅 단말을 의미한다.
또한, 상기 사용자 공간이란, 모든 사용자 모드 응용 프로그램들이 동작하는 메모리 영역을 의미하며, 상기 메모리는 필요할 때 페이징 처리될 수 있다. 상기 커널 공간이란, 커널, 커널 확장 기능, 대부분의 장치 드라이버를 실행하기 위한 예비 공간이다.
개별 사용자 공간 프로세스는 일반적으로 저만의 가상 메모리 공간에서 실행되며, 분명히 요청되지 않을 경우 다른 프로세스의 메모리에 접근할 수 없다. 이는 오늘날의 주류 운영 체제에서 제공되는 메모리 보호 기능의 토대이자 권한 분리를 위한 구성요소이다. 권한에 따라 프로세스들은 디버거의 경우와 같이 커널에 다른 프로세스의 메모리 공간의 일부를 커널 자체에 매핑하도록 요청할 수 있으며, 프로그램들은 다른 프로세스와의 공유 메모리 공간을 요청할 수도 있다.
도 1을 계속하여 참조하면, 상기 사용자 공간에는 제 1 어플리케이션(200) 및 제 2 어플리케이션(300)이 존재한다. 여기서 어플리케이션이란, 상기 사용자 공간 상에 구현된 프로그램을 의미하며, 모바일 단말의 메모리상에 적재되어 프로세스 형태로 CPU에 의해 처리되고, 데이터의 쓰기, 읽기, 변경, 삭제 등의 기능을 요청하는 모든 종류의 프로그램을 포괄한다.
본 발명에 따른 재암호화 기반 안전 저장 장치(100)는 상기 커널 공간과 하드웨어에 위치하고 있는 개념이며, 상기 본 발명에 따른 재암호화 기반 안전 저장 장치(100)는 에이전트부(110), 하드웨어 보안부(120) 및 디바이스 드라이버(130)를 포함한다.
이 때, 상기 에이전트부(110)는 상기 커널 공간에서 구현되며, 상기 하드 웨어 보안부(120)는 상기 하드웨어에 구현되며, 상기 디바이스 드라이버(130)는 상기 커널 공간에 구현되어, 상기 하드웨어 구현된 상기 하드웨어 보안부(120)와 상기 커널 공간에 구현된 상기 에이전트부(110)를 중계하는 기능을 수행한다.
도 2를 참조하여 설명하면, 본 발명에 따른 재암호화 기반 안전 저장 장치(100)는, 단말(1000)의 커널 공간에 구현된 프로세스로서 상기 단말(1000)의 사용자 공간에 구현된 어플리케이션과 통신하며 데이터의 암호화, 재암호화 및 복호화를 수행하는 에이전트부(110) 및 상기 단말(1000)의 하드웨어에 구현되어 상기 에이전트부(110)와 디바이스 드라이버(130)를 통하여 통신하며 상기 데이터의 암호화, 재암호화 및 복호화를 위한 키를 생성하고 관리하는 하드웨어 보안부(120)를 포함한다.
상기 에이전트부(110)는, 접근 제어 매니저(111), 파일 시스템 매니저(112),암호화 프로세싱 매니저(113), 저장소(114) 및 공개 키 디렉터리(115)를 포함하여 구성되며, 상기 단말(1000)의 커널 공간에 구현된 프로세스로서 상기 단말(1000)의 사용자 공간에 구현된 어플리케이션과 통신하며 데이터의 암호화, 재암호화 및 복호화를 수행한다.
상기 하드웨어 보안부(120)는, 하드웨어 키 매니저(121) 및 키 디렉터리(122)를 포함하여 구성되며, 상기 단말(1000)의 하드웨어에 구현되어 상기 에이전트부(110)와 디바이스 드라이버(130)를 통하여 통신하며 상기 데이터의 암호화, 재암호화 및 복호화를 위한 키를 생성하고 관리하는 기능을 수행한다.
상기 디바이스 드라이버(130)는, 상기 에이전트부(110)가 상기 하드웨어 보안부(120)로 접근하기 위한 방법(예컨대, Application Programming Interfaces)을 제공하는 기능을 수행하는 시스템 프로그램을 의미한다.
이하, 도 1 및 도 2를 참조하여 상기 에이전트부(110) 및 상기 하드웨어 보안부(120)의 구성요소에 대하여 구체적으로 설명하도록 한다.
상기 공개 키 디렉터리(115)는, 특정 어플리케이션에서 신규 생성하는 데이터의 암호화를 위한 제 1 공개 키 및 상기 데이터의 복호화를 위한 제 1 비밀 키의 쌍인 암호화 키 쌍 중 상기 제 1 비밀 키를 제외한 상기 제 1 공개 키 및 상기 제 1 공개 키에 의하여 암호화된 데이터의 재암호화를 위한 제 2 공개 키 및 상기 제 2 공개 키에 의하여 재암호화된 데이터의 복호화를 위한 제 2 비밀 키의 쌍인 재암호화 키 쌍을 저장하는 기능을 수행한다.
구체적으로, 상기 암호화 프로세싱 매니저(113)에 의해서 관리되는 논리적인 키 저장 공간을 의미하며, 암호화 키 쌍의 공개키 및 재 암호화 키 쌍만을 저장할 수 있는 것으로 그 기능을 한정한다. 본 한정의 의미는 소프트웨어 프로세스 상에서 비밀키 사용을 최소화시킴으로써, 하드웨어 외부로 비밀 키의 노출을 막기 위한 본 발명만의 구성의 특이점이다. 즉, 암호화 키 쌍의 비밀키는 상기 하드웨어 보안부(120)의 키 디렉터리(122) 상에서만 생성 및 관리된다.
상기 접근 제어 매니저(111)는, 상기 어플리케이션의 접근 여부 및 요청 파일에 대한 권한을 인가하는 기능을 수행한다.
구체적으로, 특정 파일에 접근할 수 있는 사용자 어플리케이션은 복수 개가 될 수 있으므로, 상기 접근 제어 매니저(111)는 접근 제어 기법을 사용하여 그룹 기반으로 상기 에이전트부(110)로의 접근 여부 및 요청 파일에 대한 권한 인가 기능을 수행한다. 또한, 상기 파일 시스템 매니저(112)로의 사용자 어플리케이션의 모든 요청을 우선 수신하여 처리하는 인터페이스 블록으로서 기능한다.
상기 파일 시스템 매니저(112)는, 상기 데이터를 관리하기 위한 정보들이 포함된 파일 객체로 구조화하여 저장소(114)에 저장하고, 상기 저장소(114)에서 상기 파일 객체를 검색, 변경 및 삭제하며, 상기 데이터의 암호화 및 복호화된 결과를 상기 파일 객체로 구조화하여 상기 저장소(114)에 저장하는 기능을 수행한다.
구체적으로, 데이터를 파일 객체 형태로 구조화하고, 구조화와 관련된 제어 정보 및 메타 정보를 저장 관리하며, 상기 파일 객체를 상기 저장소(114) 상에서 저장, 검색, 변경 및 삭제하는 등의 기능을 수행한다.
또한, 상기 암호화 프로세싱 매니저(113)에게 데이터의 암호화 및 복호화를 요청하고, 그 결과 데이터를 수신하여 저장한다. 제어 정보 및 메타 정보의 구조는 도 3을 통하여 상세히 설명하도록 한다.
상기 암호화 프로세싱 매니저(113)는, 상기 파일 시스템 매니저(112)의 요청에 대응하여 공개 키 디렉터리(115)로부터 상기 제 1 공개 키 및 상기 재암호화 키 쌍을 검색하여 상기 파일 시스템 매니저에 전달하며, 상기 데이터의 암호화, 재암호화 및 복호화를 수행한다.
구체적으로, 상기 파일 시스템 매니저(112)의 요청에 의해, 상기 공개 키 디렉터리(115)로부터 기존 암호화 또는 복호화 키를 검색하여 전달하거나, 관련 요청 키가 존재하지 않을 경우 상기 디바이스 드라이버(130)를 통해 상기 하드웨어 보안부(120)의 하드웨어 키 매니저(121)에게 관련 요청 키의 검색 또는 신규 생성을 요구하는 기능을 수행한다. 또한, 상기 파일 시스템 매니저(112)의 요청에 따라, 데이터의 암호화, 재 암호화 및 복호화 기능을 수행한다.
즉, 상기 암호화 프로세싱 매니저(113)는, 상기 공개 키 디렉터리(115)에, 상기 파일 시스템 매니저(112)의 요청에 대응되는 상기 제 1 공개 키 및 상기 재암호화 키 쌍이 존재하지 않는 경우, 상기 디바이스 드라이버(130)를 통하여 상기 하드웨어 키 매니저(121)에게 상기 파일 시스템 매니저의 요청에 대응되는 상기 제 1 공개 키 및 상기 재암호화 키 쌍을 검색 또는 생성을 요청하게 되는 것이다.
상기 저장소(114)는, 암호화된 데이터가 파일 객체 형태로 구조화 되어 저장되어 있는 논리적 공간을 의미하며, 물리적으로 단일 또는 복수개의 파일 객체로 구성될 수 있다.
상기 하드웨어 키 매니저(121)는, 상기 단말(1000)의 제조시 또는 상기 단말(1000)의 하드웨어 제조시 제조사에 의하여 지정된 비밀 키인 제조사 키, 상기 제조사 키로부터 파생되어 앱루트 키를 생성하기 위한 초기 값으로 이용되는 하드웨어루트 키, 사용자의 어플리케이션 설치시 상기 어플리케이션을 식별하기 위한 앱루트 키, 상기 암호화 키 쌍 및 상기 재암호화 키 쌍을 생성하고 폐기하는 기능을 수행한다.
즉, 데이터 암호화 및 복호화에 필요한 모든 키를 생성하고 관리하는 기능의 블록이다. 또한, 암호화 공개 키 및 재 암호화 키 쌍을 상기 에이전트부(110)의 암호화 프로세싱 매니저(113)에게 전송하는 기능을 수행한다.
또한, 상기 하드웨어 키 매니저(121)는, 상기 암호화 키 쌍을 생성함과 동시에 상기 재암호화 키 쌍을 생성하거나, 상기 암호화 키 쌍을 생성한 이후에 상기 재암호화 키 쌍을 생성할 수 있다.
상기 키 디렉터리(122)는, 비휘발성 메모리 영역에 구현되어 상기 제조사 키, 상기 하드웨어루트 키, 상기 앱루트 키, 상기 암호화 키 쌍 및 상기 재암호화 키 쌍을 저장하는 기능을 수행한다.
구체적으로, 하드웨어 기반인 상기 하드웨어 키 매니저(121)가 실제로 관련된 모든 키를 저장하는 논리적 공간을 의미하며, 상기 하드웨어 보안부(120)의 비휘발성 메모리 영역으로 구현된다.
이하, 본 발명에서 제안하는 데이터의 파일 객체로의 구조화 방식의 실시예를 설명하도록 한다. 도 3은 데이터를 저장하기 위한 파일 객체의 구조를 설명하기 위한 도면이다.
도 3을 참조하여 설명하면, 파일 객체(500)는, 볼륨 정보(510), 파일 설명자(520), 암호화 메타 정보(530) 및 데이터 정보(540)를 포함한다. 이 때, 상기 데이터 정보는 적어도 하나의 파일(제 1 파일, 제 2 파일, 제 3 파일 등)을 포함하고 있다.
상기 파일 객체(500)는, 데이터를 관리하기 위한 정보들이 포함되어 구조화된 객체로서, 상기 파일 객체(500)는, 데이터의 종류 또는 규정된 크기에 따라 여러 파일 객체로 저장 및 관리될 수 있다.
상기 볼륨 정보(510)는, 상기 파일 객체(500)의 구조 및 설정 정보를 포함한다. 구체적으로, 상기 파일 객체(500)의 최초 생성 시점, 상기 파일 객체(500)의 최종 수정 시점, 상기 파일 별 접근 가능한 어플리케이션의 리스트, 상기 파일의 최대 크기, 상기 파일의 최대 허용 개수에 대한 정보를 포함하게 된다.
상기 데이터 정보(540)는, 고유 인덱스 및 버전 정보를 포함하여 바이트 스트림(Byte Stream)의 형태로 데이터가 저장된 적어도 하나의 파일을 포함한다. 즉, 내부적으로 파일의 형태로 구분되어 저장되며, 구분의 목적은 상이한 파일을 분류하여 처리하기 위함이거나, 파일의 크기를 한정하여 데이터 관리의 효용성을 증대 시키기 위함이다.
상기 파일 설명자(520)는, 상기 적어도 하나의 파일에 저장된 데이터의 구조에 대한 정보를 포함한다.
구체적으로 설명하면, 기본적으로 데이터는 파일이라는 컨테이너를 통해 래핑(Wrapping)되어 저장되는데, 각 데이터는 바이트 스트림 형태로 개별 파일에 저장된다. 따라서 파일 쓰기, 읽기 및 수정 등의 명령을 수행하기 위해서 상기 파일 시스템 매니저(112)는 개별 파일에 적재된 데이터(Byte Stream)의 저장 구조를 이해하고 있어야 한다. 이를 위해서 각 파일 별로 데이터가 어떻게 구조화되었는지를 설명해 주는 일종의 지도 역할을 수행하는 것이 파일 설명자(520)다.
또한, 상기 파일 설명자(520)는 본 파일의 생성 또는 수정 시 파일의 버전을 갱신하여 관리하는 것을 특징으로 하며, 개별 파일은 인덱스 형태로 파일 설명자(520)에 의해 구분된다.
상기 암호화 메타 정보(530)는, 상기 적어도 하나의 파일에 적용된 암호화 기법에 관련된 정보를 포함한다. 구체적으로, 상기 암호화 메타 정보(530)에는, 상기 파일 각각에 적용된 암호화 알고리즘, 키의 길이, 암호화 모드를 포함할 수 있다.
이하, 상기 하드웨어 보안부(120)의 하드웨어 키 매니저(121)에 의해 성성 및 관리되는 키의 계측정 구조를 통하여 키의 종류 및 역할에 대하여 설명하도록 한다. 도 4는 하드웨어 키 매니저에 의해 생성 및 관리되는 키의 계층적 구조를 설명하기 위한 도면이다.
도 4를 참조하여 설명하면, 상기 하드웨어 키 매니저(121)는, 제조시 유일무이하게 부여된 제조사 키(600) 값을 상기 키 디렉터리(122)로부터 확인하고, 이로부터 하드웨어루트 키(610)를 유도하여 저장한다. 이 후, 신규 사용자 어플리케이션의 설치가 에이전트부(110)의 접근 제어 매니저(111)에 의하여 감지된다.
이 후, 상기 하드웨어 키 매니저(121)는 해당 사용자 어플리케이션의 앱루트 키(620,621,623)를 상기 하드웨어루트 키(610)로부터 유도하여 생성한다. 여기에서 사용자 어플리케이션의 특이성을 구분할 수 있는 식별정보 및 설치 정보 등이 상기 앱루트 키(620,621,623) 생성에 이용될 수 있다.
이 후, 사용자 어플리케이션의 신규 데이터 안전 쓰기 요청이 수신되면, 상기 하드웨어 키 매니저(121)는 해당 어플리케이션의 특정 데이터를 위한 암호화 키 쌍을 생성한다.
이 후, 상기 하드웨어 키 매니저(121)는 데이터에 대한 1차 암호화가 완료되었을 경우, 재암호화에 대비하여 미리 해당 데이터의 재암호화를 위한 재 암호화 키 쌍을 생성하게 된다.
상기 제조사 키(600)는, 상기 단말(1000)의 제조시 또는 상기 단말(1000)의 하드웨어 제조시 제조사에 의하여 지정된 비밀 키를 의미한다. 구체적으로, 상기 제조사 키(600)는, 모바일 단말 또는 모바일 단말의 하드웨어 제조시 제조사에 의해 지정되는 비밀 키로서 상기 하드웨어 보안부(120)의 유일무이함을 구분하는 식별자(Identifier)로서의 기능을 수행한다, 산기 제조사 키(600)의 값은 제조 이후 변경이 불가능하며, 상기 하드웨어 보안부(120)에 내장되어 있어 외부로 유출이 불가능한 것으로 전제한다. 따라서 하부의 다른 키를 생성하기 위한 마스터 기 값으로 이용된다.
상기 하드웨어루트 키(610)는, 상기 제조사 키(600)로부터 파생된 키 값으로 모든 사용자 어플리캐이션의 앱루트 키(620,621,622) 생성을 위한 초기 값으로 이되며, 상기 하드웨어 보안부(120)의 초기화 시 변경될 수 있다.
또한, 상기 하드웨어루트 키(610)는 상기 제조사 키(600)에 의해 암호화 되어 있으며, 본 키를 알더라도 제조사 키(600)를 유추할 수 없다는 특징이 있다. 단, 상기 하드웨어 보안부(120)의 초기화는 관리자 권한을 가진 하드웨어 개발자에 의해서만 가능한 것으로 전제하며, 본 발명에서 관리자는 신뢰할 수 있는 것으로 전제한다.
상기 앱 루트키(620,621,622)는, 사용자가 어플리케이션을 설치 시, 개별 어플리케이션을 식별하기 위한 목적의 키 값을 의미하며, 특정 길이(Bits)를 갖는다.
따라서, 어플리케이션 삭제 시, 함께 삭제되며, 본 키는 상기 하드웨어루트 키(610)에 의해서 암호화되어 있어, 사용이 필요한 시점에는 상기 하드웨어루트 키(610)에 의해서 복호화 되어야만 한다. 또한, 특정한 앱 루트 키를 알더라도, 역으로 하드웨어루트 키를 유추할 수 없다. 본 키는 아래의 수학식 1과 같이 구성된다.
Figure pat00001
상기 수학식 1에서,
Figure pat00002
는, n번째 어플리케이션의 앱루트 키를 의미한다.
상기 암호화 키 쌍(630,631,632)은, 특정 어플리케이션에서 신규 생성하는 데이터의 암호화 및 복호화를 위해 사용하는 키 쌍을 의미한다. 일례로, 아래의 수식 2와 같이 하나의 어플리케이션은 데이터의 종류에 따라 최대 k개의 파일에 데이터를 저장할 수 있도록 k개의 키 쌍으로 가질 수 있으며, 각 키 쌍은 신규 데이터 생성 요청 시, 동적으로 생성된다.
Figure pat00003
상기 수학식 2에서,
Figure pat00004
은 임의 파일 객체의 첫 번째 파일에 저장되는 데이터의 암호화 및 복호화를 위한 공개키 및 비밀키를 의미하며, 이 때 원본 데이터 M(Plain text)은
Figure pat00005
에 의해 암호화되어 C(Cipher text)으로 변환된다.
부연하면, 암호화 키 쌍 중 공개키는 상기 에이전트부(110)의 요청이 있을 시 하드웨어 키 매니저(121)에 의해 보안 세션을 통해 안전하게 전송된다.
상기 재암호화 키 쌍(640,641,642)은, 상기 암호화 키 쌍(630,631,632) 중 비밀키
Figure pat00006
를 보호하기 위한 목적으로 생성한 키 쌍 값을 의미하며, 상기 암호화 키에 의하여 암호화된 데이터 C를 재 암호화하기 위해
Figure pat00007
을 사용한다.
아래의 수학식 3은 상기 암호화 키 쌍에 대응하는 재 암호화 키 쌍의 집합을 의미하며, 본 키 쌍은 상기 암호화 키 쌍의 생성 시 하드웨어 키 매니저(121)에 의해서 동시에 또는 이후에 생성된다. 일례로,
Figure pat00008
에서
Figure pat00009
은 임의 파일 객체의 첫 번째 파일이 버전 v 값을 유지하고 있는 동안 유효한 재 암호화 키를 의미한다. 따라서, 동일 파일이 수정되어 버전 값이 변경되면,
Figure pat00010
는 유효하지 않으며, 하드웨어 키 매니저(121)에 의해
Figure pat00011
가 폐기되고 동시에 신규 재 암호화 키가 생성된다.
Figure pat00012
Figure pat00013
Figure pat00014
상기 수학식 3에서 v, i, z 값은 임의 파일의 버전 정보를 의미한다.
도 5는 암호화, 재암호화 및 복호화의 수행 과정과 효과를 설명하기 위한 도면이다. 도 5를 참조하여 설명하면, 원본 데이터 M(Plain text)(1)은
Figure pat00015
에 의해 암호화되어 C(Cipher text)(2)으로 변환되며, C(2)는
Figure pat00016
에 의해 재암호화 되어 C'(3)으로 변환되고, C'(3)는 재암호화 키 쌍의 비밀키
Figure pat00017
에 의해서만 복호화되어, 최종적으로 상기 원본 데이터 M(1)을 획득할 수 있게 된다.
또한, 재 암호화 키 쌍은 상기 에이전트부(110)의 요청이 있을 시 상기 하드웨어 키 매니저(121)에 의해 보안 세션을 통하여 안전하게 전송된다.
또한, 본 발명에 따른 재암호화 기반 안전 저장 장치(100)의 실시예에 대하여 살펴보면. 상기 에이전트부(110)는, 상기 어플리케이션으로부터 특정 데이터를 쓰기 위한 요청이 있는 경우, 상기 제 1 공개 키를 이용하여 상기 어플리케이션으로부터 전달 받은 상기 특정 데이터를 암호화하고, 파일 객체(500)로 구조화하여 상기 저장소(114)에 저장하고, 암호화된 결과를 상기 어플리케이션에게 전달할 수 있다.
또한, 상기 에이전트부(110)는, 상기 어플리케이션으로부터 특정 데이터를 읽기 위한 요청이 있는 경우, 상기 제 2 비밀 키를 이용하여 상기 저장소(114)에 저장된 상기 특정 데이터를 복호화하고, 상기 파일 설명자(520)를 기반으로 상기 어플리케이션이 접근할 수 있는 형태로 변환함으로써 상기 어플리케이션이 상기 특정 데이터를 안전하게 읽을 수 있도록 할 수 있다.
또한, 상기 에이전트부(110)는, 상기 어플리케이션으로부터 특정 데이터를 수정하기 위한 요청이 있는 경우, 상기 특정 데이터가 포함된 파일 객체(500)의 데이터 정보(540)에, 버전 정보를 업데이트하여 상기 어플리케이션에 의하여 상기 특정 데이터가 수정되어 생성된 수정 데이터를 반영하고, 상기 파일 객체(500)의 파일 설명자에 상기 업데이트 내역을 반영하여 상기 저장소(114)에 저장할 수 있으며, 상기 저장소(114)에 저장된 수정 데이터를 상기 제 1 공개 키로 암호화하고, 수정 되기 전의 버전에 대한 데이터를 재암호화 및 복호화하기 위한 이전 버전의 재암호화 키 쌍을 폐기하고, 업데이트된 버전에 대한 수정 데이터를 재암호화하기 위한 제 2 공개 키 및 복호화하기 위한 제 2 비밀 키를 포함하는 신규의 재암호화 키 쌍을 생성하고, 생성된 제 2 공개 키를 이용하여 상기 수정 데이터를 재암호화할 수 있다.
이하, 본 발명에 따른 재암호화 기반 안전 저장 방법에 대하여 설명하도록 한다. 상기 살펴본바와 같이 본 발명에 따른 재암호화 기반 안전 저장 장치(100)와 중복되는 기술 내용은 생략하도록 한다.
도 6 내지 도 11은 본 발명에 따른 재암호화 기반 안전 저장 방법의 실시예를 설명하기 위한 도면이다.
도 6을 참조하여 설명하면, 본 발명에 따른 재암호화 기반 안전 저장 방법은, 어플리케이션으로부터 특정 데이터 쓰기 요청 및 특정 데이터를 수신하는 단계(S100), 에이전트부로부터 특정 데이터를 암호화하기 위한 제 1 공개 키를 검색하는 단계(S110), 제 1 공개 키를 이용하여 특정 데이터를 암호화 하는 단계(S120), 암호화된 특정 데이터를 파일 객체로 구조화하는 단계(S130) 및 어플리케이션에게 암호화 결과(실패 또는 성공)를 전송하는 단계(S140)를 포함한다.
도 7 및 도8를 참조하여 설명하면, 본 발명에 따른 재암호화 기반 안전 저장 방법은, 어플리케이션으로부터 특정 데이터 읽기 요청을 수신하는 단계(S200), 에이전트로부터 재암호화된 특정 데이터를 복호화하기 위한 제 2 비밀 키를 검색하는 단계(S210) 제 2 비밀 키를 이용하여 재암호화된 특정 데이터를 복호화하는 단계를 포함한다.
이 때, 상기 S220 단계 이후에, 어플리케이션으로부터 특정 데이터 수정 요청을 수신하는 단계(S230)가 더 진행될 수 있다.
이 후, 특정 데이터가 포함된 파일 객체의데이터 정보에, 버전 정보를 업데이트 하여 수정 데이터를 반영하고, 파일 설명자에 업데이트 내역을 반영하는 단계(S240), 수저 데이터를 제 1 공개 키로 암호화하는 단계(S250), 이전 버전의 재 암호화 키 쌍을 폐기하는 단계(S260), 신규의 재 암호화 키 쌍을 생성하는 단계(S270) 및 생성된 제 2 공개 키를 이용하여 수정 데이터를 재 암호화하는 단계(S280)가 더 진행된다.
도 9를 참조하여 본 발명에 따른 재암호화 기반 안전 저장 방법의 실시예를 구체적으로 설명하면, 어플리케이션(400)으로부터 에이전트부(110)는, 특정 데이터의 안전 쓰기 요청을 전달 받고(S300), 원본 메시지 M을 전달 받는다(S310). 이 때, 상기 에이전트부(110)는, 해당 어플리케이션의 데이터 암호화를 위한 공개 키를 공개 키 디렉터리에서 검색(S320)하게 된다. 이 때, S320 단계에서 상기 공개 키 디렉터리가 존재하지 않는 것으로 판단되는 경우에는 상기 에이전트부(110)는 하드웨어 보안부(120)에게 공개 키를 요청(S330)하게 되며, 상기 하드웨어 보안부(120)는 키 디렉터리에서 공개 키를 검색(S340)하여 상기 에이전트부(110)에게 공개 키를 전달(S350)하게 된다. 이 때, 상기 에이전트부(110)는 전달 받은 공개 키를 이용하여 상기 원본 메시지 M을 암호화(S360)하게 되고, 암호화된 C 메시지를 파일 객체 형태로 구조화(S370)하게 된다. 이 후, 상기 에이전트부(110)는 상기 어플리케이션에게 암호화 처리 결과(성공/실패)를 전송(S380)하게 되며, 상기 어플리케이션의 요청이 있게 되면 상기 에이전트부(110)는 암호화된 파일 객체를 상기 어플리케이션에게 전달(S390)하게 된다.
이 후, 상기 에이전트부(110)는, 재암호화 키 쌍을 공개 키 디렉터리에서 검색(S400)하고, 상기 재암호화 키 쌍이 존재하지 않는 것으로 판단되면, 상기 하드웨어 보안부(120)에게 상기 재암호화 키를 요청(S410)한다.
이 후, 상기 하드웨어 보안부(120)는 키 디렉터리에서 재암호화 키 쌍을 검색(S420)하고, 상기 에이전트부(110)에게 검색된 재암호화 키 쌍을 전달(S430)한다.
이 후, 상기 에이전트부(110)는 저장소에 저장된 C 메시지를, 전달받은 재암호화 키 쌍을 통하여 재암호화를 하여 C'메시지로 변환(S440)하게 된다.
도 10을 참조하여, 본 발명에 따른 재암호화 기반 안전 저장 방법의 다른 실시예를 구체적으로 설명하면, 에이전트부(110)는 어플리케이션(400)으로부터 특정 데이터의 안전 읽기 요청을 수신(S500)한다. 이 후, 상기 에이전트부(110)는, 해당 어플리케이션의 데이터 복호화를 위한 재 암호화 비밀 키를 공개 키 디렉터리(115)에서 검색(S510)하고, 상기 비밀 키가 존재하지 않는 것으로 판단되면, 하드웨어 보안부(120)에게 비밀 키를 요청(S520)한다. 이 때, 요청 받은 하드웨어 보안부(120)는 키 디렉터리(122)에서 재암호화 비밀 키를 검색(S530)하여, 상기 에이전트부(110)에게 전달(S540)한다. 이 후, 상기 에이전트부(110)는 수신한 재 암호화 비밀 키를 이용하여 C' 메시지를 복호화(S550)하고, 복호화된 M 메시지를 파일 설명자(520)를 참조하여 사용자 어플리케이션이 이해할 수 있는 형태로 가공(S560)하게 된다.
구체적으로, 상기 S550 단계에서는, 상기 에이전트부(110)의 파일 시스템 매니저(112)는 저장소(114)에 보관된 C' 데이터의 바이트 스트림을 추출하고, 이를 암호화 프로세싱 매니저(113)에게 전달한다. 상기 암호화 프로세싱 매니저(113)는 수신한 재 암호화 비밀 키를 이용하여 C'을 복호화함으로써 원본 메시지 M을 바이트 스트림 형태로 추출하고, 이를 상기 파일 시스템 매니저(112)로 전달하게 된다.
이 후, 상기 어플리케이션은 상기 에이전트부(110)의 원본 데이터 M을 접근(S570)할 수 있게 된다.
도 11을 참조하여, 본 발명에 따른 재암호화 기반 안전 저장 방법의 또 다른 실시예를 살펴보면, 도 10에서 살펴본 바와 같이 어플리케이션이 원본 데이터 M에 접근(S570)할 수 있는 상태를 전제하여 그 이후의 단계에 대하여 설명하도록 한다.
어플리케이션이 데이터를 수정(S600)한 후, 에이전트부(110)에게 수정된 데이터에 대한 안전 쓰기 요청(S610)을 하게 된다. 이 때, 상기 에이전트부(110)는, 파일 버전 정보를 업데이트(S620)하고, 수정된 데이터를 암호화 공개 키로 암호화 및 파일로 Wrapping 처리(S620)를 하게 된다. 이 후, 상기 에이전트부(110)는 하드웨어 보안부(120)에게 업데이트된 버전을 위한 신규 재암호화 키 쌍을 요청(S640)한다. 이 때, 상기 하드웨어 보안부(120)는 키 디렉터리(122) 내의 이전 버전을 위한 재암호화 키 쌍을 폐기(S650)하고, 키 디렉터리(122) 내의 신규 버전을 위한 재암호화 키 쌍을 생성(S660)한다. 이 후, 상기 하드웨어 보안부(120)는 상기 에이전트부(110)에게 신규 생성된 재 암호화 키 쌍을 전달(S670)하고, 상기 에이전트부(110)는, 저장소의 K 메시지를 재 암호화 하여 K' 메시지를 획득(S680)하게 된다. 구체적으로, 상기 에이전트부(110)의 암호화 프로세싱 매니저(113)는, 저장소(114)의 K 메시지를, 획득한 신규 재 암호화 키의 공개 키를 이용하여 재암호화하고, 이로부터 재 암호화된 K'메시지를 획득하며, 이를 파일 시스템 매니저(112)에 전달한다. 상기 파일 시스템 매니저(112)는 수신한 K' 메시지를 파일에 적재하게 된다. 이 후, 상기 에이전트부(110)는 사용자 어플리케이션으로부터 신규 요청 수신을 위해 대기 모드로 동작(S690)하게 된다.
상기 살펴본 바와 같이, 본 발명에 따른 재암호화 기반 안전 저장 장치(100) 및 방법에 의하면, 작은 메모리 영역과 저성능의 연산 능력을 가진 저비용 보안 하드웨어를 기반으로 키 생성 및 관리를 수행함으로써, 모바일 단말에 특수 목적 보안 하드웨어 탑재로 인한 기술적, 경제적 비용의 부담을 최소화할 수 있으며, 커널 공간에 구현된 소프트웨어 기반 저장소에서 기 암호화된 데이터의 복호화 시, 보안 하드웨어로부터 수신한 복호화 비밀 키의 노출에 따른 심각한 보안 취약점을 해결하기 위해 재 암호화 기법을 통해 원본 복호화 비밀 키의 전달 및 사용 없이, 복호화를 가능하게 하여 원본 복호화 비밀 키의 노출을 원천 차단할 수 있는 장점이 있다.
이상에서와 같이 본 발명에 따른 재암호화 기반 안전 저장 장치(100) 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
1000: 단말 100: 재암호화 기반 안전 저장 장치
200,300,400: 어플리케이션 110: 에이전트부
120: 하드웨어 보안부 130: 디바이스 드라이버
111: 접근제어 매니저 112: 파일 시스템 매니저
113: 암호화 프로세싱 매니저 114: 저장소

Claims (20)

  1. 단말의 커널 공간에 구현된 프로세스로서 상기 단말의 사용자 공간에 구현된 어플리케이션과 통신하며 데이터의 암호화, 재암호화 및 복호화를 수행하는 에이전트부; 및
    상기 단말의 하드웨어에 구현되어 상기 에이전트부와 디바이스 드라이버를 통하여 통신하며 상기 데이터의 암호화, 재암호화 및 복호화를 위한 키를 생성하고 관리하는 하드웨어 보안부를 포함하는 것을 특징으로 하는 재암호화 기반 안전 저장 장치.
  2. 청구항 1에 있어서,
    상기 에이전트부는,
    특정 어플리케이션에서 신규 생성하는 데이터의 암호화를 위한 제 1 공개 키 및 상기 데이터의 복호화를 위한 제 1 비밀 키의 쌍인 암호화 키 쌍 중 상기 제 1 비밀 키를 제외한 상기 제 1 공개 키; 및
    상기 제 1 공개 키에 의하여 암호화된 데이터의 재암호화를 위한 제 2 공개 키 및 상기 제 2 공개 키에 의하여 재암호화된 데이터의 복호화를 위한 제 2 비밀 키의 쌍인 재암호화 키 쌍을 저장하는 공개 키 디렉터리를 포함하는 것을 특징으로 하는 재암호화 기반 안전 저장 장치.
  3. 청구항 2에 있어서,
    상기 에이전트부는,
    상기 어플리케이션의 접근 여부 및 요청 파일에 대한 권한을 인가하는 접근 제어 매니저;
    상기 데이터를 관리하기 위한 정보들이 포함된 파일 객체로 구조화하여 저장소에 저장하고, 상기 저장소에서 상기 파일 객체를 검색, 변경 및 삭제하며, 상기 데이터의 암호화 및 복호화된 결과를 상기 파일 객체로 구조화하여 상기 저장소에 저장하는 파일 시스템 매니저; 및
    상기 파일 시스템 매니저의 요청에 대응하여 공개 키 디렉터리로부터 상기 제 1 공개 키 및 상기 재암호화 키 쌍을 검색하여 상기 파일 시스템 매니저에 전달하며, 상기 데이터의 암호화, 재암호화 및 복호화를 수행하는 암호화 프로세싱 매니저를 포함하는 것을 특징으로 하는 재암호화 기반 안전 저장 장치.
  4. 청구항 3에 있어서,
    상기 하드웨어 보안부는,
    상기 단말의 제조시 또는 상기 단말의 하드웨어 제조시 제조사에 의하여 지정된 비밀 키인 제조사 키, 상기 제조사 키로부터 파생되어 앱루트 키를 생성하기 위한 초기 값으로 이용되는 하드웨어루트 키, 사용자의 어플리케이션 설치시 상기 어플리케이션을 식별하기 위한 앱루트 키, 상기 암호화 키 쌍 및 상기 재암호화 키 쌍을 생성하고 폐기하는 하드웨어 키 매니저를 포함하는 것을 특징으로 하는 재암호화 기반 안전 저장 장치.
  5. 청구항 4에 있어서,
    상기 하드웨어 보안부는,
    비휘발성 메모리 영역에 구현되어 상기 제조사 키, 상기 하드웨어루트 키, 상기 앱루트 키, 상기 암호화 키 쌍 및 상기 재암호화 키 쌍을 저장하는 키 디렉터리를 포함하는 것을 특징으로 하는 재암호화 기반 안전 저장 장치.
  6. 청구항 3에 있어서,
    상기 파일 객체는,
    상기 파일 객체의 구조 및 설정 정보를 포함하는 볼륨 정보;
    고유 인덱스 및 버전 정보를 포함하며 바이트 스트림의 형태로 데이터가 저장된 적어도 하나의 파일을 포함하는 데이터 정보;
    상기 적어도 하나의 파일에 저장된 데이터의 구조에 대한 정보를 포함하는 파일 설명자; 및
    상기 적어도 하나의 파일에 적용된 암호화 기법에 관련된 정보를 포함하는 암호화 메타 정보를 포함하는 것을 특징으로 하는 재암호화 기반 안전 저장 장치.
  7. 청구항 6에 있어서,
    상기 볼륨 정보는,
    상기 파일 객체의 최초 생성 시점, 상기 파일 객체의 최종 수정 시점, 상기 파일 별 접근 가능한 어플리케이션의 리스트, 상기 파일의 최대 크기, 상기 파일의 최대 허용 개수에 대한 정보를 포함하는 것을 특징으로 하는 재암호화 기반 안전 저장 장치.
  8. 청구항 6에 있어서,
    상기 암호화 메타 정보는,
    상기 파일 각각에 적용된 암호화 알고리즘, 키의 길이, 암호화 모드를 포함하는 것을 특징으로 하는 재암호화 기반 안전 저장 장치.
  9. 청구항 4에 있어서,
    상기 암호화 프로세싱 매니저는,
    상기 공개 키 디렉터리에, 상기 파일 시스템 매니저의 요청에 대응되는 상기 제 1 공개 키 및 상기 재암호화 키 쌍이 존재하지 않는 경우,
    상기 디바이스 드라이버를 통하여 상기 하드웨어 키 매니저에게 상기 파일 시스템 매니저의 요청에 대응되는 상기 제 1 공개 키 및 상기 재암호화 키 쌍을 검색 또는 생성을 요청하는 것을 특징으로 하는 재암호화 기반 안전 저장 장치.
  10. 청구항 4에 있어서,
    상기 하드웨어 키 매니저는,
    상기 암호화 키 쌍을 생성함과 동시에 상기 재암호화 키 쌍을 생성하거나, 상기 암호화 키 쌍을 생성한 이후에 상기 재암호화 키 쌍을 생성하는 것을 특징으로 하는 재암호화 기반 안전 저장 장치.
  11. 청구항 4에 있어서,
    상기 에이전트부는,
    상기 어플리케이션으로부터 특정 데이터를 쓰기 위한 요청이 있는 경우,
    상기 제 1 공개 키를 이용하여 상기 어플리케이션으로부터 전달 받은 상기 특정 데이터를 암호화하고, 파일 객체로 구조화하여 상기 저장소에 저장하고, 암호화된 결과를 상기 어플리케이션에게 전달하는 것을 특징으로 하는 재암호화 기반 안전 저장 장치.
  12. 청구항 6에 있어서,
    상기 에이전트부는,
    상기 어플리케이션으로부터 특정 데이터를 읽기 위한 요청이 있는 경우,
    상기 제 2 비밀 키를 이용하여 상기 저장소에 저장된 상기 특정 데이터를 복호화하고, 상기 파일 설명자를 기반으로 상기 어플리케이션이 접근할 수 있는 형태로 변환함으로써 상기 어플리케이션이 상기 특정 데이터를 안전하게 읽을 수 있도록 하는 것을 특징으로 하는 재암호화 기반 안전 저장 장치.
  13. 청구항 6에 있어서,
    상기 에이전트부는,
    상기 어플리케이션으로부터 특정 데이터를 수정하기 위한 요청이 있는 경우,
    상기 특정 데이터가 포함된 파일 객체의 데이터 정보에, 버전 정보를 업데이트하여 상기 어플리케이션에 의하여 상기 특정 데이터가 수정되어 생성된 수정 데이터를 반영하고, 상기 파일 객체의 파일 설명자에 상기 업데이트 내역을 반영하여 상기 저장소에 저장하는 것을 특징으로 하는 재암호화 기반 안전 저장 장치.
  14. 청구항 13에 있어서,
    상기 에이전트부는,
    상기 어플리케이션으로부터 특정 데이터를 수정하기 위한 요청이 있는 경우,
    상기 저장소에 저장된 수정 데이터를 상기 제 1 공개 키로 암호화하고, 수정 되기 전의 버전에 대한 데이터를 재암호화 및 복호화하기 위한 이전 버전의 재암호화 키 쌍을 폐기하고, 업데이트된 버전에 대한 수정 데이터를 재암호화하기 위한 제 2 공개 키 및 복호화하기 위한 제 2 비밀 키를 포함하는 신규의 재암호화 키 쌍을 생성하고, 생성된 제 2 공개 키를 이용하여 상기 수정 데이터를 재암호화하는 것을 특징으로 하는 재암호화 기반 안전 저장 장치.
  15. 단말의 커널 공간에 구현된 에이전트부에 의하여, 상기 단말의 사용자 공간에 구현된 어플리케이션으로부터 특정 데이터를 쓰기 위한 요청 및 상기 특정 데이터를 수신하는 단계;
    상기 에이전트부에 의하여, 상기 에이전트부로부터 상기 특정 데이터를 암호화 하기 위한 제 1 공개 키를 검색하는 단계;
    상기 에이전트부에 의하여, 검색된 제 1 공개 키를 이용하여 상기 특정 데이터를 암호화하는 단계;
    상기 에이전트부에 의하여, 암호화된 특정 데이터를 파일 객체로 구조화하는 단계; 및
    상기 에이전트부에 의하여, 상기 어플리케이션에게 암호화 결과를 전송하는 단계를 포함하는 것을 특징으로 하는 재암호화 기반 안전 저장 방법.
  16. 청구항 15에 있어서,
    상기 제 1 공개 키를 검색하는 단계에서 상기 제 1 공개 키가 검색되지 않은 경우,
    상기 제 1 공개 키를 검색하는 단계 이후에,
    상기 에이전트부에 의하여, 디바이스 드라이버를 통하여 상기 단말의 하드웨어에 구현되는 하드웨어 보안부로부터 상기 제 1 공개 키를 수신하는 단계를 더 포함하는 것을 특징으로 하는 재암호화 기반 안전 저장 방법.
  17. 청구항 16에 있어서,
    상기 전송하는 단계 이후에,
    상기 에이전트부에 의하여, 상기 에이전트부로부터 상기 제 1 공개 키에 의하여 암호화된 데이터의 재암호화를 위한 제 2 공개 키를 검색하는 단계; 및
    상기 에이전트부에 의하여, 상기 제 2 공개 키를 이용하여 상기 제 1 공개 키에 의하여 암호화된 특정 데이터를 재암호화하는 단계를 더 포함하는 것을 특징으로 하는 재암호화 기반 안전 저장 방법.
  18. 단말의 커널 공간에 구현된 에이전트부에 의하여, 상기 단말의 사용자 공간에 구현된 어플리케이션으로부터 특정 데이터를 읽기 위한 요청을 수신하는 단계;
    상기 에이전트부에 의하여, 상기 에이전트부로부터 제 2 공개 키에 의하여 재암호화된 상기 특정 데이터를 복호화하기 위한 제 2 비밀 키를 검색하는 단계; 및
    상기 에이전트부에 의하여, 검색된 제 2 비밀 키를 이용하여 재암호화된 상기 특정 데이터를 복호화하는 단계를 포함하는 것을 특징으로 하는 재암호화 기반 안전 저장 방법.
  19. 청구항 18에 있어서,
    상기 복호화하는 단계 이후에,
    상기 어플리케이션에 의하여, 상기 특정 데이터를 수정하는 단계; 및
    상기 에이전트부에 의하여, 상기 특정 데이터가 포함된 파일 객체의 데이터 정보에, 버전 정보를 업데이트하여 상기 수정 데이터를 반영하고, 상기 파일 객체의 파일 설명자에 상기 업데이트 내역을 반영하여 상기 에이전트부에 저장하는 단계를 더 포함하는 것을 특징으로 하는 재암호화 기반 안전 저장 방법.
  20. 청구항 19에 있어서,
    상기 저장하는 단계 이후에,
    상기 에이전트부에 의하여 상기 에이전트부에 저장된 수정 데이터를 제 1 공개 키로 암호화하는 단계;
    상기 단말의 하드웨어에 구현되는 하드웨어 보안부에 의하여, 수정 되기 전의 버전에 대한 데이터를 재암호화 및 복호화하기 위한 이전 버전의 재암호화 키 쌍을 폐기하는 단계;
    상기 하드웨어 보안부에 의하여, 업데이트된 버전에 대한 수정 데이터를 재암호화하기 위한 제 2 공개 키 및 복호화하기 위한 제 2 비밀 키를 포함하는 신규의 재암호화 키 쌍을 생성하는 단계; 및
    상기 에이전트부에 의하여, 상기 생성된 제 2 공개 키를 이용하여 상기 수정 데이터를 재암호화하는 단계를 더 포함하는 것을 특징으로 하는 재암호화 기반 안전 저장 방법.
KR1020130132125A 2013-11-01 2013-11-01 재암호화 기반 안전 저장 장치 및 방법 KR20150050899A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130132125A KR20150050899A (ko) 2013-11-01 2013-11-01 재암호화 기반 안전 저장 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130132125A KR20150050899A (ko) 2013-11-01 2013-11-01 재암호화 기반 안전 저장 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20150050899A true KR20150050899A (ko) 2015-05-11

Family

ID=53388529

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130132125A KR20150050899A (ko) 2013-11-01 2013-11-01 재암호화 기반 안전 저장 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20150050899A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200018947A (ko) * 2018-08-13 2020-02-21 한국과학기술원 분산 버전 관리 시스템 기반 공격방어 형식의 해킹 플랫폼 제공 시스템 및 이를 이용한 해킹 대회 제공 방법
CN117201021A (zh) * 2023-11-08 2023-12-08 中孚信息股份有限公司 用于主业务系统的密钥动态切换方法、系统、装置及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200018947A (ko) * 2018-08-13 2020-02-21 한국과학기술원 분산 버전 관리 시스템 기반 공격방어 형식의 해킹 플랫폼 제공 시스템 및 이를 이용한 해킹 대회 제공 방법
CN117201021A (zh) * 2023-11-08 2023-12-08 中孚信息股份有限公司 用于主业务系统的密钥动态切换方法、系统、装置及介质
CN117201021B (zh) * 2023-11-08 2024-02-23 中孚信息股份有限公司 用于主业务系统的密钥动态切换方法、系统、装置及介质

Similar Documents

Publication Publication Date Title
US11088846B2 (en) Key rotating trees with split counters for efficient hardware replay protection
US10348497B2 (en) System and method for content protection based on a combination of a user pin and a device specific identifier
US8370645B2 (en) Protection of security parameters in storage devices
CN102945355B (zh) 基于扇区映射的快速数据加密策略遵从
US9805210B2 (en) Encryption-based data access management
US9135464B2 (en) Secure storage system for distributed data
US20200034550A1 (en) System and method to protect data privacy of lightweight devices using blockchain and multi-party computation
CN1535411B (zh) 用于在使用附属的存储设备的计算机系统中提升安全性的方法和系统
CN102855452B (zh) 基于加密组块的快速数据加密策略遵从
US20110016330A1 (en) Information leak prevention device, and method and program thereof
TW201541923A (zh) 用於雲端輔助式密碼術之方法及設備
KR20030055702A (ko) 보안 등급을 이용한 파일 보안 시스템과 암호키 관리방법
KR20200071682A (ko) 자체-암호화 드라이브(sed)
CN105612715A (zh) 具有可配置访问控制的安全处理单元
US20230179425A1 (en) Preventing rollback attacks on persisted data in a secure enclave
US20200242050A1 (en) System and method to protect digital content on external storage
US20210194694A1 (en) Data processing system
KR101761799B1 (ko) 단말의 보안 데이터 관리 장치 및 그 방법
KR101473656B1 (ko) 모바일 데이터 보안 장치 및 방법
KR20150050899A (ko) 재암호화 기반 안전 저장 장치 및 방법
KR102542213B1 (ko) 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법
CN107967432B (zh) 一种安全存储装置、系统及方法
CN116594567A (zh) 信息管理方法、装置和电子设备
CN103532712A (zh) 数字媒体文件保护方法、系统及客户端
CN110764797A (zh) 一种芯片中文件的升级方法、装置、系统及服务器

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination