KR102650003B1 - 복호화 데이터 범위에 따른 유저 데이터 수집 방법 - Google Patents

복호화 데이터 범위에 따른 유저 데이터 수집 방법 Download PDF

Info

Publication number
KR102650003B1
KR102650003B1 KR1020210193144A KR20210193144A KR102650003B1 KR 102650003 B1 KR102650003 B1 KR 102650003B1 KR 1020210193144 A KR1020210193144 A KR 1020210193144A KR 20210193144 A KR20210193144 A KR 20210193144A KR 102650003 B1 KR102650003 B1 KR 102650003B1
Authority
KR
South Korea
Prior art keywords
data
user
encryption key
data collection
decrypted
Prior art date
Application number
KR1020210193144A
Other languages
English (en)
Other versions
KR20230102762A (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 KR1020210193144A priority Critical patent/KR102650003B1/ko
Publication of KR20230102762A publication Critical patent/KR20230102762A/ko
Application granted granted Critical
Publication of KR102650003B1 publication Critical patent/KR102650003B1/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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • 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

Landscapes

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

Abstract

본 개시의 실시예에 따르면, 유저 데이터를 수집하는 방법은 저장소마다 서로 다른 암호키로 상기 유저 데이터가 암호화되는 복수의 저장소들에 대해 복호화 데이터 범위를 설정하는 단계, 상기 복호화 데이터 범위에 사용자 암호에 의해 상기 유저 데이터가 암호화되는 크리덴셜 암호화 저장소가 포함되었는지 여부를 식별하는 단계, 상기 복호화 데이터 범위에 상기 크리덴셜 암호화 저장소가 포함된 경우 상기 사용자 기기로부터 상기 사용자 암호를 획득하는 단계, 상기 복호화 데이터 범위에 포함된 적어도 하나의 저장소 각각에 대응되는 암호키를 복호화하는 단계, 및 상기 복호화된 암호키에 기초하여 상기 복호화 데이터 범위에 포함된 상기 유저 데이터를 복호화하는 단계를 포함할 수 있다.
본 개시에 따른 기술적 사상은 2021년도 정부(과학기술정보통신부)의 재원으로 연구개발특구진흥재단-기술이전사업화 사업(R&BD)의 지원을 받아 수행된 연구(2021-IT-RD-0062)이다. This research was supported by R&BD Program through the INNOPOLIS funded by Ministry of Science and ICT (2021-IT-RD-0062).

Description

복호화 데이터 범위에 따른 유저 데이터 수집 방법{User data decryption method according to decryption data range}
본 개시의 기술적 사상은 유저 데이터 수집 방법에 관한 것으로, 더욱 상세하게는, 복호화 데이터 범위에 따라 유저 데이터를 복호화하여 수집하는 방법에 관한 것이다.
디지털 포렌식(digital forensics)은 PC나 노트북, 휴대폰 등 각종 저장매체 또는 인터넷 상에 남아 있는 각종 디지털 정보를 분석하여 범죄 단서를 찾는 수사기법을 의미한다. 각종 디지털 정보는 속성상 폐기가 용이하여 관련 증거를 확보하는데에 어려움이 존재하였으나, 디지털 포렌식 기술을 통해 디지털 정보를 수집할 수 있다. 최근 각종 전자기기의 프로세서는 저장 매체에 데이터를 저장할 때, 데이터를 암호화하여 저장 매체에 저장함으로써 디지털 포렌식을 통해 데이터를 수집할 때에 어려움이 존재하였다.
본 개시에 따른 기술적 사상은 2021년도 정부(과학기술정보통신부)의 재원으로 연구개발특구진흥재단-기술이전사업화 사업(R&BD)의 지원을 받아 수행된 연구(2021-IT-RD-0062)이다. This research was supported by R&BD Program through the INNOPOLIS funded by Ministry of Science and ICT (2021-IT-RD-0062).
본 개시의 기술적 사상이 해결하려는 과제는, 암호화된 유저 데이터를 수집할 때, 복호화 데이터 범위에 따라 서로 다른 방법으로 암호화된 유저 데이터를 복호화하는 방법을 제공하는 데에 있다.
본 개시의 실시예에 따르면, 유저 데이터를 수집하는 방법은 저장소마다 서로 다른 암호키로 상기 유저 데이터가 암호화되는 복수의 저장소들에 대해 복호화 데이터 범위를 설정하는 단계, 상기 복호화 데이터 범위에 사용자 암호에 의해 상기 유저 데이터가 암호화되는 크리덴셜 암호화 저장소가 포함되었는지 여부를 식별하는 단계, 상기 복호화 데이터 범위에 상기 크리덴셜 암호화 저장소가 포함된 경우 상기 사용자 기기로부터 상기 사용자 암호를 획득하는 단계, 상기 복호화 데이터 범위에 포함된 적어도 하나의 저장소 각각에 대응되는 암호키를 복호화하는 단계, 및 상기 복호화된 암호키에 기초하여 상기 복호화 데이터 범위에 포함된 상기 유저 데이터를 복호화하는 단계를 포함할 수 있다.
일실시예에 따르면, 부트롬 모드, 부트로더 모드, 및 J-TAG 모드 중 적어도 하나의 모드로 상기 사용자 기기가 작동되도록 제어함으로써 상기 사용자 기기에 대한 액세스 권한을 획득하는 단계를 더 포함할 수 있다.
일실시예에 따르면, 상기 사용자 암호를 획득하는 단계는 상기 복호화 데이터 범위에 상기 크리덴셜 암호화 저장소가 포함되지 않은 경우 상기 사용자 암호를 획득하지 않는 것을 특징으로 할 수 있다.
일실시예에 따르면, 상기 암호키를 복호화하는 단계는 상기 크리덴셜 암호화 저장소 및 장치 암호화 저장소에 대해 서로 다른 암호키로 데이터을 암호화한 상기 사용자 기기로부터 상기 크리덴셜 암호화 저장소에 포함된 데이터를 암호화한 제1 암호키를 획득하는 단계, 상기 사용자 기기로부터 사용자 암호에 기초하여 상기 제1 암호키를 암호화하는 제1 복호화 정보를 추출하는 단계, 및 상기 제1 복호화 정보의 타입에 따라 서로 다른 방법으로 상기 제1 암호키를 복호화하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 암호키를 복호화하는 단계는 상기 사용자 기기로부터 상기 장치 암호화 저장소에 포함된 데이터를 암호화한 제2 암호키를 획득하는 단계, 상기 사용자 기기로부터 상기 제2 암호키를 암호화하는 제2 복호화 정보를 추출하는 단계, 및 상기 제2 복호화 정보의 타입에 따라 서로 다른 방법으로 상기 제2 암호키를 복호화하는 단계를 포함하고, 상기 제2 복호화 정보는 상기 사용자 암호가 배제되어 생성된 정보인 것을 특징으로 할 수 있다.
일실시예에 따르면, 유저 데이터 수집 방법은 상기 복호화 데이터 범위에 대한 정보에 기초하여 상기 데이터 수집 기기와 상기 사용자 기기 사이의 데이터 전송 속도를 제어하는 단계를 더 포함할 수 있다.
일실시예에 따르면, 상기 데이터 전송 속도를 제어하는 단계는 CPU 활용 방법, 전송 스케쥴, 및 입출력 방법 중 적어도 하나를 제어함으로써 상기 데이터 전송 속도를 제어하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 복호화된 유저 데이터 및 상기 복호화된 유저 데이터를 암호화시킨 암호키에 기초하여 해쉬 값을 생성함으로써 상기 복호화된 유저 데이터를 검증하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 암호키를 복호화하는 단계는 상기 사용자 기기에서 상기 복호화 데이터 범위에 포함된 저장소마다 미리 복호화된 암호키를 획득할 수 있는지 여부를 판단하는 단계를 포함하고, 상기 유저 데이터를 복호화하는 단계는 상기 사용자 기기에서 상기 미리 복호화된 암호키를 획득할 수 있는 저장소에 대해 상기 미리 복호화된 암호키에 기초하여 상기 유저 데이터를 복호화하는 단계를 포함하는 것을 특징으로 할 수 있다.
일실시예에 따르면, 상기 사용자 기기의 운영 체제가 부팅되는 과정에서 복호화된 유저 데이터를 포함하는 데이터 블록을 식별하는 단계, 및 상기 복호화된 유저 데이터가 있는 경우 상기 사용자 기기로부터 상기 데이터 수집 기기로 상기 복호화된 유저 데이터를 송신하는 단계를 더 포함할 수 있다.
본 개시의 실시예에 따른 유저 데이터 수집 방법은 사용자 기기에서 복호화 데이터 범위에 따라 서로 다른 방법으로 유저 데이터를 복호화 하는 방법을 제공함으로써 데이터 수집자로 하여금 효율적으로 복호화된 유저 데이터를 수집할 수 있도록 할 수 있다.
본 개시의 예시적 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 기재로부터 본 개시의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
도 1은 일실시예에 따라 사용자 기기, 데이터 수집 기기, 및 데이터 저장 매체를 도시한 도면이다.
도 2는 본 개시의 실시예에 따라 암호화된 유저 데이터를 복호화하는 방법을 도시한 순서도이다.
도 3은 일실시예에 따라 크리덴셜 암호화 저장소에 대한 제1 암호키를 복호화하는 방법을 도시한 순서도이다.
도 4는 일실시예에 따라 장치 암호화 저장소에 대한 제2 암호키를 복호화하는 방법을 도시한 순서도이다.
도 5는 일실시예에 따른 사용자 기기의 시스템 아키텍쳐를 도시한 블록도이다.
도 6은 일실시예에 따라 제1 키 암호키를 획득하는 방법을 도시한 순서도이다.
도 7은 일실시예에 따라 제2 키 암호키를 획득하는 방법을 도시한 순서도이다.
도 8은 일실시예에 따라 데이터 전송 속도를 제어하는 방법을 도시한 순서도이다.
도 9는 일실시예에 따라 사용자 기기의 유저 데이터를 복호화하는 방법을 도시한 순서도이다.
도 10은 다른 일실시예에 따라 유저 데이터를 복호화하는 방법을 도시한 순서도이다.
이하, 첨부한 도면을 참조하여 본 개시의 실시 예에 대해 상세히 설명한다.
도 1은 일실시예에 따라 사용자 기기(100), 데이터 수집 기기(200), 및 데이터 저장 매체(300)를 도시한 도면이다.
도 1을 참조하면, 데이터 수집 시스템은 사용자 기기(100), 데이터 수집 기기(200), 및 데이터 저장 매체(300)를 포함할 수 있다. 사용자 기기(100)는 데이터 수집의 대상이 되는 기기일 수 있고, 사용자 암호에 기초하여 유저 데이터가 암호화되어 있을 수 있다. 사용자 기기(100)의 타입에 따라 암호화 범위가 다를 수 있다. 일실시예에 따르면, 사용자 기기(100)는 파일 기반 암호화(File Based Encryption; FBE) 방법으로 유저 데이터를 암호화할 수 있다.
파일 기반 암호화 방법은 파일 단위로 다른 암호키로 데이터를 암호화하는 방법일 수 있다. 이 때, 데이터가 저장된 저장소에 따라 서로 다른 방법으로 암호키가 생성될 수 있다. 예시적으로, 데이터가 크리덴셜 암호화 저장소(Credential Encrypted Storage; CE)에 저장되어야 하는 경우, 사용자 기기(100)는 사용자 암호에 기초하여 크리덴셜 암호화 저장소에 대한 암호키를 암호화할 수 있다. 크리덴셜 암호화 저장소는 기본 저장 공간이며, 사용자가 사용자 기기(100)에 사용자 암호를 입력함으로써 액세스할 수 있는 저장소일 수 있다. 이에 반해, 데이터가 장치 암호화 저장소(Device Encrypted Storage; DE)에 저장되어야 하는 경우, 사용자 기기(100)는 사용자 암호를 배제하고 장치 암호화 저장소에 대한 암호키를 암호화할 수 있다.
데이터 수집 기기(200)는 사용자 기기(100)와 연결되어 사용자 기기(100)에서 복호화된 유저 데이터 또는 암호화 상태가 유지된 유저 데이터를 수신할 수 있다. 일실시예에 따르면, 데이터 수집 기기(200)의 커맨드에 따라 사용자 기기(100)에서 유저 데이터가 복호화되는 경우, 데이터 수집 기기(200)는 복호화된 유저 데이터를 수신할 수 있고, 데이터 수집 기기(200)가 직접 복호화 정보에 기초하여 복호화하는 경우, 암호화가 유지된 유저 데이터를 수신할 수 있다. 일실시예에 따르면, 사용자 기기(100)와 데이터 수집 기기(200)는 OTG 케이블을 통해 연결될 수 있다. 그러나, 사용자 기기(100)와 데이터 수집 기기(200)의 연결 방법은 OTG 케이블에만 국한되는 것이 아니라 USB 연결 등 기기간 지원되는 모든 연결 방법을 포함할 수 있다.
데이터 수집 기기(200)는 사용자 단말일 수 있고, 사용자 기기(100)와 유사한 방법으로 동작하는 스마트폰일 수 있다. 데이터 수집 기기(200)가 사용자 단말인 경우, 수집자는 사용자 기기(100)가 위치한 현장에서 편리하게 사용자 기기(100)의 데이터를 수집할 수 있다. 이에 따라, 피수집자에 의해 증거 인멸이 우려되는 상황에서도 빠르게 증거를 수집할 수 있다.
데이터 수집 기기(200)에는 데이터 수집 어플리케이션이 설치될 수 있고, 사용자 기기(100)에 데이터 수집 에이전트를 설치시킬 수 있다. 데이터 수집 기기(200)에 설치되는 데이터 수집 어플리케이션은 1회성의 휘발 프로그램으로, 데이터 수집이 완료되면 데이터 수집에서 사용된 사용자 암호 및 복호화 정보가 데이터 수집 기기(200)로부터 삭제될 수 있다. 이에 따라, 데이터 수집 이후 사용자 기기(100)의 보안이 유지될 수 있다. 사용자 기기(100)에 설치되는 에이전트는 사용자 기기 운영 체제에서 동작하는 시스템으로, 사용자 기기(100)의 암호화된 데이터 저장소에 액세스하기 위한 프로그램일 수 있다. 예시적으로, 데이터 수집 에이전트는 어플리케이션일 수 있으나, 이에 국한되지 않고, 소프트웨어 업데이트를 수행하는 프로그램이나 보안 취약점을 활용해 운영체제에 설치될 수 있다.
본 개시의 실시예에 따른 데이터 수집 기기(200)는 사용자 단말로 기재되어 있으나, 이에 국한되지 않고, PC(Personal Computer), 태블릿 PC 등 복호화 동작을 수행할 수 있는 모든 종류의 전자기기를 포함할 수 있다.
일실시예에 따르면, 데이터 수집 시스템은 데이터 수집 기기(200)와 연결된 데이터 저장 매체(300)를 더 포함할 수 있다. 사용자 기기(100)에 저장된 유저 데이터의 용량이 큰 경우 데이터 수집 기기(200)는 복호화된 유저 데이터를 데이터 저장 매체(300)로 전달시킬 수 있다.
도 2는 본 개시의 실시예에 따라 암호화된 유저 데이터를 복호화하는 방법을 도시한 순서도이다.
도 2를 참조하면, 수집자에 의해 복호화 데이터 범위가 설정될 수 있고, 복호화 데이터 범위에 포함된 저장소에 따라 서로 다른 방법으로 암호화된 유저 데이터를 복호화할 수 있다. 일실시예에 따르면, 복호화 데이터 범위에 크리덴셜 암호화 저장소가 포함된 경우 데이터 수집 시스템은 사용자 암호를 획득하여 유저 데이터를 복호화 하지만, 복호화 데이터 범위에 장치 암호화 저장소가 포함된 경우 데이터 수집 시스템은 사용자 암호를 획득하지 않고 유저 데이터를 복호화할 수 있다.
단계(S110)에서, 데이터 수집 시스템은 복호화 데이터 범위를 설정할 수 있다. 복호화 데이터 범위는 디렉토리에 기초하여 설정될 수 있고, 데이터 수집 시스템은 디렉토리가 어떤 저장소에 포함되어 있는지 여부를 판단할 수 있다. 설정된 복호화 데이터 범위에 크리덴셜 암호화 저장소 및 장치 암호화 저장소 중 적어도 일부가 포함되어 있을 수 있다.
단계(S120)에서, 데이터 수집 시스템은 복호화 데이터 범위에 크리덴셜 암호화 저장소가 포함되어 있는지 여부를 판단할 수 있다. 복호화 데이터 범위에 크리덴셜 암호화 저장소가 포함된 경우 단계(S130)으로 진행할 수 있고, 크리덴셜 암호화 저장소가 포함되지 않은 경우 단계(S140)으로 진행할 수 있다.
단계(S130)에서, 데이터 수집 시스템은 복호화 데이터 범위에 크리덴셜 암호화 저장소가 포함된 경우 사용자 기기(100)에 저장된 사용자 암호를 획득할 수 있다. 이 때 수집되는 사용자 암호는 크리덴셜 암호화 저장소의 데이터를 암호화하는 제1 암호키를 복호화할 때 이용되는 암호일 수 있다.
단계(S140)에서, 데이터 수집 시스템은 복호화 데이터 범위에 크리덴셜 암호화 저장소가 포함되지 않은 경우 사용자 암호 없이 저장소 별로 암호키를 복호화할 수 있다. 데이터 수집 시스템은 복호화 데이터 범위에 크리덴셜 암호화 저장소가 포함된 경우 사용자 암호에 기초하여 저장소 별로 암호키를 복호화할 수 있다. 이하 도 3 및 도 6에서, 크리덴셜 암호화 저장소에 포함된 데이터를 복호화하는 방법을 설명하고, 도 4 및 도 7에서, 장치 암호화 저장소에 포함된 데이터를 복호화하는 방법을 설명하도록 한다.
단계(S150)에서, 데이터 수집 시스템은 복호화된 암호키에 기초하여 유저 데이터를 복호화할 수 있다.
도 3은 일실시예에 따라 크리덴셜 암호화 저장소에 대한 제1 암호키를 복호화하는 방법을 도시한 순서도이다.
도 3을 참조하면, 본 개시의 실시예에 따른 데이터 수집 시스템은 제1 복호화 정보에 따라 크리덴셜 암호화 저장소에 대한 제1 암호키를 복호화할 수 있다. 데이터 수집 시스템은 예시적으로, 데이터가 전송될 수 있도록 연결된 사용자 기기(100) 및 데이터 수집 기기(200)로 구성될 수 있고, 데이터 저장 매체(300)를 더 포함할 수 있다.
단계(S210)에서, 데이터 수집 기기(200)는 사용자 기기(100)에 대한 액세스 권한을 획득할 수 있다. 액세스 권한 획득에는 사용자 기기(100)가 특수 모드로 진입되거나 데이터 수집 에이전트가 설치되도록 제어함으로써 사용자 기기(100)에 데이터 수집 기기(200)에 대한 액세스를 허여할 수 있다. 아울러, 데이터 수집 기기(200)는 사용자 기기(100)의 시스템 취약점을 활용할 수도 있다.
액세스 권한 획득을 위해 사용자 기기(100)가 진입되어야 하는 특수 모드는 부트롬(bootrom) 모드, 부트로더(boot loader) 모드, J-TAG 모드 등이 활용될 수 있다. 부트로더 모드는 운영 체제가 시동되기 이전에 미리 실행되면서 커널이 올바르게 시동되기 위해 필요한 모든 관련 작업을 수행하는 모드일 수 있다. 즉, 부트롬 모드, 부트로더 모드, 및 J-TAG 모드는 운영 체제가 시동되기 전 메모리에 액세스하기 위한 모드일 수 있다.
단계(S220)에서, 사용자 기기(100)에 대한 액세스 권한을 획득한 데이터 수집 시스템은 사용자 기기(100)로부터 크리덴셜 암호화 저장소에 포함된 데이터를 암호화한 제1 암호키를 획득할 수 있다. 이 때, 제1 암호키는 암호키를 암호화하는 제1 키 암호키에 의해 암호화된 상태일 수 있다. 제1 암호키는 크리덴셜 저장소 해독키(Credential Encrypted Storage Key; CE Key)로 지칭될 수 있고, 제1 키 암호키는 크리덴셜 저장소 키 암호키(Credential Encrypted Storage Key Encryption Key; CE KEK)로 지칭될 수도 있다.
단계(S230)에서, 데이터 수집 시스템은 제1 암호키와 관련하여 사용자 암호에 기초하여 제1 암호키를 암호화한 제1 복호화 정보를 추출할 수 있다. 제1 복호화 정보는 제1 키 암호키일 수 있으나, 제1 키 암호키를 바로 추출하지 못하는 경우 제1 키 암호키를 추정하기 위한 정보일 수 있다. 예시적으로, 제1 키 암호키는 사용자 암호, 트러스트존 전자서명키 중 일부를 포함할 수 있다.
단계(S240)에서, 데이터 수집 시스템은 획득된 제1 복호화 정보의 타입에 따라 서로 다른 방법으로 제1 암호키를 복호화할 수 있다. 서로 다른 방법으로 제1 암호키를 복호화하는 방법은 도 6을 통해 후술하도록 한다.
일실시예에 따르면, 획득한 제1 암호키 및 데이터의 무결성 보증을 위해 해쉬 값을 생성할 수 있다. 데이터 수집 시스템은 수집된 암호화 키 및 암호화된 파티션 각각에 대해 해쉬 값을 생성할 수 있다. 이 때, 데이터 수집 시스템은 해쉬 값 생성을 위해 SHA-1, SHA-256, SHA-512, 및 MD5 등의 해쉬 함수가 활용될 수 있다. 수집된 데이터들은 다른 장치에서 해쉬 값이 계산되더라도 데이터가 변조되지 않았다면, 동일한 해쉬 값이 출력되므로, 데이터 수집 시스템은 원본과 동일성, 무결성 판별을 할 수 있다.
도 4는 일실시예에 따라 장치 암호화 저장소에 대한 제2 암호키를 복호화하는 방법을 도시한 순서도이다.
도 4를 참조하면, 본 개시의 실시예에 따른 데이터 수집 시스템은 제2 복호화 정보에 따라 도 3에서 서술한 크리덴셜 암호화 저장소와 구별되는 장치 암호화 저장소에 대한 제2 암호키를 복호화할 수 있다. 데이터 수집 시스템은 예시적으로, 데이터가 전송될 수 있도록 연결된 사용자 기기(100) 및 데이터 수집 기기(200)로 구성될 수 있고, 데이터 저장 매체(300)를 더 포함할 수 있다.
단계(S310)에서, 데이터 수집 기기(200)는 사용자 기기(100)에 대한 액세스 권한을 획득할 수 있다. 사용자 기기(100)에 대한 액세스 권한을 획득하는 방법은 도 3에서 선술하였으므로, 자세한 설명은 생략하도록 한다.
단계(S320)에서, 사용자 기기(100)에 대한 액세스 권한을 획득한 데이터 수집 시스템은 사용자 기기(100)로부터 장치 암호화 저장소에 포함된 데이터를 암호화한 제2 암호키를 획득할 수 있다. 이 때, 제2 암호키는 암호키를 암호화하는 제2 키 암호키에 의해 암호화된 상태일 수 있다. 제2 암호키는 장치 저장소 해독키(Device Encrypted Storage Key; DE Key)로 지칭될 수 있고, 제2 키 암호키는 장치 저장소 키 암호키(Device Encrypted Storage Key Encryption Key; DE KEK)로 지칭될 수도 있다.
단계(S330)에서, 데이터 수집 시스템은 제2 암호키와 관련하여 제2 암호키를 암호화한 제2 복호화 정보를 추출할 수 있다. 제2 복호화 정보는 제2 키 암호키일 수 있으나, 제2 키 암호키를 바로 추출하지 못하는 경우 제2 키 암호키를 추정하기 위한 정보일 수 있다. 예시적으로, 제2 키 암호키는 트러스트존 전자서명키 중 일부를 포함할 수 있다. 본 개시의 실시예에 따르면, 장치 암호화 저장소의 제2 암호키를 암호화한 제2 키 암호키는 사용자 암호 없이 암호화된 키일 수 있다.
단계(S340)에서, 데이터 수집 시스템은 획득된 제2 복호화 정보의 타입에 따라 서로 다른 방법으로 제2 암호키를 복호화할 수 있다. 서로 다른 방법으로 제2 암호키를 복호화하는 방법은 도 7을 통해 후술하도록 한다.
도 1 내지 도 4에 따른 본 개시의 실시예에 따라, 데이터 수집 시스템은 디지털 포렌식을 통해 사용자 기기(100)의 유저 데이터를 수집할 때, 사용자 기기(100)는 저장소마다 서로 다른 방법으로 암호화될 수 있고, 사용자 기기(100)로부터 획득할 수 있는 복호화 정보도 제한적일 수 있다. 이 때, 데이터 수집 시스템은 복호화 데이터 범위에 따라 서로 다른 방법으로 유저 데이터를 복호화시킬 수 있어, 상황에 맞는 유저 데이터 수집 방법을 제공할 수 있다.
도 5는 일실시예에 따른 사용자 기기(100)의 시스템 아키텍쳐를 도시한 블록도이다.
도 5를 참조하면, 일실시예에 따른 시스템 아키텍쳐는 높은 수준의 보안이 필요한 시큐어 도메인(secure domain)과 시큐어 도메인에 비해 낮은 수준의 보안을 만족하면 되는 논시큐어 도메인(non-secure domain)을 포함할 수 있다. 시스템 아키텍쳐는 각 도메인 별로 권한 레벨을 의미하는 익셉션 레벨(exception level; EL)로 구분될 수 있고, 도 5에 따른 아키텍쳐는 4단계의 익셉션 레벨로 구분될 수 있다. 0단계의 익셉션 레벨은 실제 어플리케이션이 동작하는 유저 영역의 레벨이고, 1단계의 익셉션 레벨은 운영 체제(OS)가 존재하는 각종 디바이스 및 메모리 할당 등의 커널(kernel) 역할을 수행하는 레벨일 수 있다. 논시큐어 도메인에 포함된 2단계의 익셉션 레벨(EL2)은 하이퍼바이저가 포함된 영역으로 운영 체제(OS) 간의 접근 권한을 제어할 수 있다. 시큐어 도메인에 포함된 3단계의 익셉션 레벨(EL3)은 시큐어 모니터(secure monitor)가 존재하는 레벨로, 암호화 시스템에서 신뢰 가능한 소스들을 제공하는 레벨일 수 있다.
본 개시의 실시예에 따르면, 제1 복호화 정보 및 제2 복호화 정보 중 적어도 일부는 시큐어 도메인에 저장되어 있을 수 있다. 예시적으로, 데이터 수집 시스템이 시큐어 도메인에서 추출할 수 있는 정보는 전자서명키일 수 있다. 시큐어 도메인은 논시큐어 도메인과 물리적으로 격리되어 있으며, 논시큐어 도메인에서 시큐어 도메인 내 자원을 접근하기 위해서는 Trusted Application(TA)와 논시큐어 도메인의 클라이언트 간의 통신 인터페이스를 통해 제한적으로 접근할 수 있다. 시큐어 도메인은 트러스트존(Trustzone)으로 지칭될 수 있다.
일실시예에 따르면, 데이터 수집 시스템은 사용자 기기(100)에 저장된 제1 복호화 정보 및 제2 복호화 정보 중 적어도 하나를 획득하기 위해 트러스트존에 액세스할 수 있다. 또는, 데이터 수집 시스템은 외부 저장 장치를 자동으로 마운트시키기 위하여 백그라운드로 실행되는 데몬 프로그램 메모리에 액세스함으로써 제1 암호키, 제2 암호키, 제1 키 암호키, 및 제2 키 암호키 중 적어도 하나를 획득할 수 있다. 데몬 프로그램 메모리는 볼드(Volume Daemon; VOLD) 메모리로도 지칭될 수 있다. 또는, 데이터 수집 시스템은 트러스트존과 통신하는 API에서 제1 암호키, 제2 암호키, 제1 키 암호키, 및 제2 키 암호키 중 적어도 하나를 획득할 수 있다.
도 6은 일실시예에 따라 제1 키 암호키를 획득하는 방법을 도시한 순서도이다.
도 6를 참조하면, 데이터 수집 시스템은 암호화된 제1 암호키와 함께 사용자 기기(100)로부터 추출된 크리덴셜 암호화 저장소에 관한 제1 복호화 정보의 타입에 따라 서로 다른 방법으로 제1 키 암호키를 획득할 수 있다. 예시적으로, 데이터 수집 시스템은 제1 키 암호키가 메모리에 저장되어 있는지 판단할 수 있고, 제1 키 암호키가 저장되지 않은 경우 제1 키 암호키를 추정할 수 있다.
단계(S410)에서, 데이터 수집 시스템은 사용자 기기(100)에 제1 키 암호키가 저장되어 있어 사용자 기기(100)로부터 제1 키 암호키를 추출할 수 있는지 여부를 판단할 수 있다. 사용자 기기(100)로부터 제1 키 암호키를 추출할 수 있는 경우, 제1 키 암호키 획득 과정을 종료하고, 제1 키 암호키에 기초하여 암호화된 제1 암호키를 복호화시킬 수 있다.
단계(S420)에서, 데이터 수집 시스템은 사용자 기기(100)에 제1 키 암호키가 저장되어 있지 않거나 식별 불가능한 경우, 사용자 기기(100)로부터 트러스트존 전자서명키를 추출하고, 사용자 암호가 추출될 수 있는지 여부를 판단할 수 있다. 트러스트존 전자서명키는 여러 데이터를 서명하여 하나의 키를 생성할 수 있는 키일 수 있다.
데이터 수집 시스템은 사용자 암호를 획득한 경우, 단계(S440)에서, 사용자 암호 및 트러스트존 전자서명키에 기초하여 제1 키 암호키를 추출할 수 있다. 일실시예에 따르면, 데이터 수집 시스템은 사용자 암호와 솔트 난수를 트러스트존 전자서명키에 기초하여 전자서명함으로써 제1 키 암호키를 유도할 수 있다.
단계(S430)에서, 데이터 수집 시스템은 사용자 암호를 추출할 수 없는 경우, 사용자 암호를 무작위로 설정할 수 있다. 단계(S440)에서, 무작위로 설정된 사용자 암호에 기초하여 제1 키 암호키를 유도할 수 있고, 유도된 제1 키 암호키에 기초하여 제1 키 암호키를 복호화 시도할 수 있다. 이 때, 제1 암호키가 복호화되지 않은 경우, 데이터 수집 시스템은 사용자 암호를 다시 무작위로 설정할 수 있고, 제1 암호키의 복호화가 성공할 때까지 사용자 암호 설정을 반복할 수 있다.
일실시예에 따르면, 데이터 수집 시스템은 복호화 정보는 획득하지 못하고, 암호화된 제1 암호키만 추출할 수 있는 경우, 제1 키 암호키를 무작위로 설정하고, 제1 암호키가 복호화되는지 여부를 판단할 수 있다. 제1 암호키가 복호화되지 않은 경우, 데이터 수집 시스템은 제1 키 암호키를 다시 무작위로 설정하고, 제1 암호키의 복호화가 성공할 때까지 제1 키 암호키 설정을 반복할 수 있다.
도 7은 일실시예에 따라 제2 키 암호키를 획득하는 방법을 도시한 순서도이다.
도 7을 참조하면, 데이터 수집 시스템은 암호화된 제2 암호키와 함께 사용자 기기(100)로부터 추출된 장치 암호화 저장소에 관한 제2 복호화 정보의 타입에 따라 서로 다른 방법으로 제2 키 암호키를 획득할 수 있다. 예시적으로, 데이터 수집 시스템은 제2 키 암호키가 메모리에 저장되어 있는지 판단할 수 있고, 제2 키 암호키가 저장되지 않은 경우 제2 키 암호키를 추정할 수 있다.
단계(S510)에서, 데이터 수집 시스템은 사용자 기기(100)에 제2 키 암호키가 저장되어 있어 사용자 기기(100)로부터 제2 키 암호키를 추출할 수 있는지 여부를 판단할 수 있다. 사용자 기기(100)로부터 제2 키 암호키를 추출할 수 있는 경우, 제2 키 암호키 획득 과정을 종료하고, 제2 키 암호키에 기초하여 암호화된 제2 암호키를 복호화시킬 수 있다.
단계(S520)에서, 데이터 수집 시스템은 사용자 기기(100)에 제2 키 암호키가 저장되어 있지 않은 경우, 트러스트존 전자서명키에 기초하여 제2 키 암호키를 추출할 수 있다. 일실시예에 따르면, 데이터 수집 시스템은 솔트 난수를 트러스트존 전자서명키로 전자서명함으로써 제1 키 암호키를 유도할 수 있다.
도 8은 일실시예에 따라 데이터 전송 속도를 제어하는 방법을 도시한 순서도이다.
도 8을 참조하면, 데이터 수집 시스템은 결정된 수집 데이터 범위에 기초하여 데이터 수집 기기(200)와 사용자 기기(100) 사이의 데이터 전송 속도를 제어할 수 있다. 수집 데이터 범위는 복호화 데이터 범위에 대응되는 범위일 수 있다.
단계(S610)에서, 데이터 수집 시스템은 수집자 요청에 기초하여 수집 데이터 범위를 결정할 수 있다. 예시적으로, 수집자는 유저 데이터 수집의 대상이 되는 디렉토리를 설정할 수 있고, 데이터 수집 시스템은 디렉토리를 수집 데이터 범위로 결정할 수 있다.
단계(S620)에서, 데이터 수집 시스템은 결정된 수집 데이터 범위에 대한 정보에 기초하여 데이터 수집 기기(200)와 사용자 기기(100) 사이의 데이터 전송 속도를 제어할 수 있다. 데이터 수집 시스템은 데이터 전송 속도를 제어하기 위해 CPU 활용 방법, 전송 스케쥴, 및 입출력 방법 중 적어도 하나를 제어할 수 있다. 예시적으로, 데이터 수집 시스템은 데이터의 용량이 큰 경우, 전송 속도를 높이기 위해 데이터 전송에 CPU 할당을 높일 수 있고, 전송 스케쥴을 최우선으로 할 수 있으며, 높은 속도를 지원하는 입출력 방법으로 데이터를 전송할 수 있다.
아울러, 데이터 수집 시스템은 데이터 전송 속도를 제한하기 위해 QoS(Quality of Service) 레벨을 설정할 수 있다. 예시적으로, 데이터 수집 시스템은 일정 정도 이하의 지연 시간이나 데이터 손실률을 보장하기 데이터 손실률이 임계 손실률 이상인 경우 전송 속도를 제한하여 데이터 손실률을 낮출 수 있다.
도 9는 일실시예에 따라 사용자 기기(100)의 유저 데이터를 복호화하는 방법을 도시한 순서도이고, 도 10은 다른 일실시예에 따라 유저 데이터를 복호화하는 방법을 도시한 순서도이다.
도 9를 참조하면, 데이터 수집 기기(200)는 수집자에 의해 수집 범위가 선택될 수 있고, 선택된 수집 범위에 대해 암호화된 유저 데이터를 복호화할 수 있다.
단계(S710)에서, 데이터 수집 기기(200)에 수집 어플리케이션이 설치될 수 있다. 수집 어플리케이션은 APK 파일이 실행됨으로써 설치될 수도 있으나, 온라인에서 다운로드 받아 데이터 수집 기기(200)에 설치될 수도 있다. 데이터 수집 기기(200)는 수집자 입력에 의해 설치된 수집 어플리케이션을 실행할 수 있다.
단계(S720)에서, 데이터 수집 기기(200)는 수집자의 입력에 따라 수집 정보를 생성할 수 있다. 예시적으로, 수집 정보는 유저 데이터 수집 대상이 되는 사용자 기기(100)에 대응되는 정보일 수 있고, 수집 사건 번호에 매핑되어 생성될 수 있다. 수집자는 사건 번호, 사건명, 수집 대상 장치를 데이터 수집 기기(200)에 입력할 수 있고, 데이터 수집 기기(200)는 수집 대상자의 정보, 수집 환경, 수집 위치, 수집 사유 등을 수집 사건 번호에 매핑시켜 수집 정보로 저장할 수 있다.
아울러, 데이터 수집 기기(200)는 사용자 기기(100)에 대한 수집 범위 및 수집 데이터의 저장 위치를 수집 정보로 생성할 수 있다. 수집 범위는 전체 디스크, 문자/통화기록/사진/미디어 등 데이터 종류에 따라 구별되는 카테고리 중 일부가 될 수 있다. 본 개시의 실시예에 따르면, 데이터 수집 기기(200)는 수집 범위에 대응되는 저장소가 어떤 저장소인지 여부를 판단할 수 있다. 수집 데이터 저장 위치는 데이터 수집 기기(200), 데이터 저장 매체(300), 및 암호화된 데이터 저장 매체(300) 중 일부가 될 수 있다. 데이터 수집 기기(200)는 수집 정보 생성을 완료한 경우, 수집 진행을 위한 안내문을 디스플레이한 후 사용자 기기(100)에 대한 데이터 수집을 시작할 수 있다.
사용자 기기(100) 및 데이터 수집 기기(200)는 OTG 케이블을 통해 연결되어 데이터 전송을 수행할 수 있다. 그러나, 사용자 기기(100)와 데이터 수집 기기(200)의 연결 방법은 OTG 케이블에만 국한되는 것이 아니라 USB 연결 등 기기간 지원되는 모든 연결 방법을 포함할 수 있다. 일실시예에 따르면, 데이터 수집 기기(200)는 연결 방법 입력을 수집자에게 디스플레이를 통해 요청할 수 있고, 수집자에 의해 입력된 연결 방법을 통해 데이터 수집을 수행할 수 있다.
일실시예에 따르면, 사용자 기기(100)와 데이터 수집 기기(200) 간의 연결에 성공한 경우, 데이터 수집 기기(200)는 사용자 기기(100)로 데이터 수집 에이전트를 설치할 수 있다. 데이터 수집 기기(200)는 소프트웨어 업데이트 프로토콜 또는 앱 설치나 보안 취약점을 통해 데이터 수집 에이전트를 사용자 기기(100)로 설치할 수 있다. 사용자 기기(100)에 설치되는 에이전트는 사용자 기기 운영 체제에서 동작하는 시스템으로, 사용자 기기(100)의 암호화된 데이터 저장소에 액세스하기 위한 프로그램일 수 있다. 예시적으로, 데이터 수집 에이전트는 어플리케이션일 수 있으나, 이에 국한되지 않고, 소프트웨어 업데이트를 수행하는 프로그램이나 보안 취약점을 활용해 운영체제에 설치될 수 있다.
단계(S730)에서, 데이터 수집 기기(200)는 사용자 기기(100)로 액세스 권한을 요청할 수 있다. 이 때, 액세스 권한은 설치된 데이터 수집 에이전트에 의해 데이터 수집 기기(200)로 허여될 수 있다. 단계(S740)에서, 사용자 기기(100)는 암호화된 유저 데이터, 제1 암호키, 및 제2 암호키를 데이터 수집 기기(200)로 송신할 수 있고, 단계(S750)에서, 사용자 기기(100)는 제1 복호화 정보 및 제2 복호화 정보를 데이터 수집 기기(200)로 송신할 수 있다.
단계(S760)에서, 데이터 수집 기기(200)는 제1 복호화 정보 및 제2 복호화 정보의 타입을 판단할 수 있다. 제1 복호화 정보의 타입은 제1 암호키를 복호화할 수 있는 정보의 종류일 수 있고, 제2 복호화 정보의 타입은 제2 암호키를 복호화할 수 있는 정보의 종류일 수 있다. 예시적으로, 제1 복호화 정보는 제1 암호키를 복호화하는 제1 키 암호키, 사용자 암호, 및 트러스트존 전자서명키일 수 있고, 제2 복호화 정보는 제2 암호키를 복호화하는 제2 키 암호키 및 트러스트존 전자서명키일 수 있다.
단계(S770)에서, 데이터 수집 기기(200)는 추출된 제1 복호화 정보의 타입에 따라 제1 암호키를 복호화할 수 있고, 제2 복호화 정보의 타입에 따라 제2 암호키를 복호화할 수 있다. 일실시예에 따르면, 데이터 수집 기기(200)는 복호화 정보의 타입에 따라 제1 키 암호키 및 제2 키 암호키를 획득할 수 있고, 획득된 제1 키 암호키 및 제2 키 암호키 각각에 기초하여 제1 암호키 및 제2 암호키를 복호화할 수 있다. 복호화 정보의 타입에 따라 제2 암호키가 획득되는 방법은 도 6 및 도 7을 통해 선술하였으므로, 자세한 설명은 생략하도록 한다.
단계(S780)에서, 데이터 수집 기기(200)는 복호화된 암호키에 기초하여 유저 데이터를 복호화할 수 있다.
단계(S790)에서, 데이터 수집 기기(200)는 복호화된 유저 데이터를 수집할 수 있다. 이 때, 데이터는 수집자에 의해 입력된 수집 데이터 저장 위치에 수집될 수 있다. 일실시예에 따르면, 데이터 수집 기기(200)는 데이터 수신 시 데이터 전송 속도, 데이터 수집 기기(200) 및 사용자 기기(100)의 배터리 잔량, 남은 전송 시간을 디스플레이할 수 있다. 아울러, 데이터 수집 기기(200) 및 사용자 기기(100) 간 전송 속도 개선을 위해 입출력 튜닝을 수행할 수 있다.
일실시예에 따르면, 데이터 수집 시스템은 데이터 수집 후 무결성 보증을 위해 해쉬 값을 생성할 수 있다. 데이터 수집 시스템은 수집된 암호화 키 및 암호화된 파티션 각각에 대해 해쉬 값을 생성할 수 있다. 이 때, 데이터 수집 시스템은 해쉬 값 생성을 위해 SHA-1, SHA-256, SHA-512, 및 MD5 등의 해쉬 함수가 활용될 수 있다. 수집된 데이터들은 다른 장치에서 해쉬 값이 계산되더라도 데이터가 변조되지 않았다면, 동일한 해쉬 값이 출력되므로, 데이터 수집 시스템은 원본과 동일성, 무결성 판별을 할 수 있다.
데이터 수집 기기(200)는 데이터 수집 후 수집 보고서를 생성할 수 있고, 보고서 생성 완료 후 수집 대상자의 확인을 받기 위해 수집 대상자의 서명을 입력 받을 수 있다. 수집된 유저 데이터는 데이터 수집 기기(200)에 설치된 수집 어플리케이션을 통해 수집자에게 제공될 수 있다.
도 10을 참조하면, 데이터 수집 기기(200)가 사용자 기기(100)에 대한 데이터 수집 범위를 설정한 경우, 설정된 수집 범위에 대응되는 유저 데이터가 사용자 기기(100)에서 복호화되어 데이터 수집 기기(200)로 송신될 수 있다.
단계(S810)에서, 데이터 수집 기기(200)는 수집 범위를 설정하여 사용자 기기(100)로 전달할 수 있다. 수집 범위는 전체 디스크, 문자/통화기록/사진/미디어 등 데이터 종류에 따라 구별되는 카테고리 중 일부가 될 수 있다. 사용자 기기(100)는 전달된 수집 범위에 대응되는 데이터를 복호화할 수 있다.
단계(S820)에서, 사용자 기기(100)는 데이터 수집 범위가 설정되면, 특수 모드로 진입할 수 있다. 특수 모드는 예시적으로, 소프트웨어 업데이터 모드, 부트롬 모드, JTAG 모드일 수 있고, 사용자 기기(100)의 시큐어 도메인에 액세스할 수 있는 모드일 수 있다.
단계(S830)에서, 사용자 기기(100)는 데이터 수집을 위한 에이전트를 설치할 수 있다. 일실시예에 따르면, 사용자 기기(100)는 소프트웨어 업데이트 프로토콜이나 Boot-ROM모드 또는 앱 설치나 보안 취약점을 통해 데이터 수집 에이전트를 설치할 수 있다.
단계(S840)에서, 사용자 기기(100)는 데이터 암호화 방법이 파일 기반 암호화인지 여부를 판단할 수 있다. 데이터 암호화 방법은 디스크 암호화(Full Disk Encryption; FDE) 및 파일 기반 암호화(File Based Encryption; FBE) 중 어느 하나일 수 있다.
단계(S850)에서, 사용자 기기(100)가 파일 기반 암호화된 경우, 설정된 데이터 수집 범위에 따라 크리덴셜 암호화 저장소의 데이터를 암호화시킨 제1 암호키를 복호화하거나, 장치 암호화 저장소의 데이터를 암호화시킨 제2 암호키를 복호화할 수 있다. 이 때, 제1 암호키는 제1 키 암호키에 의해 암호화되어 있을 수 있고, 사용자 기기(100)는 추출 가능한 제1 복호화 정보에 따라 서로 다른 방법으로 제1 키 암호키를 획득할 수 있다. 제1 키 암호키를 획득하는 방법은 도 6을 통해 선술하였으므로, 자세한 설명은 생략하도록 한다. 제2 암호키는 제2 키 암호키에 의해 암호화되어 있을 수 있고, 사용자 기기(100)는 추출 가능한 제2 복호화 정보에 따라 서로 다른 방법으로 제2 키 암호키를 획득할 수 있다. 제2 키 암호키를 획득하는 방법은 도 7을 통해 선술하였으므로, 자세한 설명은 생략하도록 한다.
단계(S860)에서, 사용자 기기(100)는 복호화된 암호키들에 기초하여 암호화된 유저 데이터를 복호화할 수 있다.
단계(S870)에서, 유저 데이터가 복호화 완료된 것을 데이터 수집 에이전트가 감지한 경우, 사용자 기기(100)는 데이터 수집 소프트웨어를 실행시킬 수 있다. 단계(S880)에서, 사용자 기기(100)는 데이터 수집 소프트웨어를 통해 수집된 유저 데이터를 데이터 수집 기기(200)로 송신할 수 있다. 이 때, 유저 데이터는 PC로 직접 송신될 수 있지만, OTG 케이블을 통해 외장 스토리지 장치 및 USB로 송신될 수도 있다.
단계(S890)에서, 데이터 수집 기기(200)는 수신된 유저 데이터를 수집할 수 있다. 이에 따라, 파일 기반 암호화 방법으로 유저 데이터를 암호화시키는 사용자 기기(100)에 대해서, 데이터 수집 기기(200)는 데이터 수집 범위에 대한 데이터를 복호화된 상태에서 수집할 수 있다.
일실시예에 따르면, 사용자 기기가 부팅되는 과정에서 복호화된 제1 암호키 또는 복호화된 유저 데이터를 포함하는 데이터 블록이 생성될 수 있고, 사용자 기기 또는 데이터 수집 기기는 복호화된 제1 암호키 또는 유저 데이터가 존재하는지 여부를 판단할 수 있다. 이 때, 복호화된 제1 암호키 또는 유저 데이터가 존재하는 경우, 데이터 수집 기기는 사용자 기기로부터 이미 복호화되어 있는 제1 암호키 또는 유저 데이터를 수집할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 사용자 기기에서 암호화된 유저 데이터를 복호화하여 데이터 수집 기기에 의해 유저 데이터를 수집하는 방법에 있어서,
    저장소마다 서로 다른 암호키로 상기 유저 데이터가 암호화되는 복수의 저장소들에 대해 복호화 데이터 범위를 설정하는 단계;
    상기 복호화 데이터 범위에 사용자 암호에 의해 상기 유저 데이터가 암호화되는 크리덴셜 암호화 저장소가 포함되었는지 여부를 식별하는 단계;
    상기 복호화 데이터 범위에 상기 크리덴셜 암호화 저장소가 포함된 경우 상기 사용자 기기로부터 상기 사용자 암호를 획득하는 단계;
    상기 복호화 데이터 범위에 포함된 적어도 하나의 저장소 각각에 대응되는 암호키를 복호화하는 단계; 및
    상기 복호화된 암호키에 기초하여 상기 복호화 데이터 범위에 포함된 상기 유저 데이터를 복호화하는 단계
    를 포함하고,
    상기 암호키를 복호화하는 단계는,
    상기 크리덴셜 암호화 저장소 및 장치 암호화 저장소에 대해 서로 다른 암호키로 데이터를 암호화한 상기 사용자 기기로부터 상기 크리덴셜 암호화 저장소에 포함된 데이터를 암호화한 제1 암호키를 획득하는 단계;
    상기 사용자 기기로부터 사용자 암호에 기초하여 상기 제1 암호키를 암호화하는 제1 복호화 정보를 추출하는 단계; 및
    상기 제1 복호화 정보의 타입에 따라 서로 다른 방법으로 상기 제1 암호키를 복호화하는 단계
    를 포함하는 것을 특징으로 하는 유저 데이터 수집 방법.
  2. 제1항에 있어서,
    부트롬 모드, 부트로더 모드, 및 J-TAG 모드 중 적어도 하나의 모드로 상기 사용자 기기가 작동되도록 제어함으로써 상기 사용자 기기에 대한 액세스 권한을 획득하는 단계
    를 더 포함하는 것을 특징으로 하는 유저 데이터 수집 방법.
  3. 제1항에 있어서,
    상기 사용자 암호를 획득하는 단계는,
    상기 복호화 데이터 범위에 상기 크리덴셜 암호화 저장소가 포함되지 않은 경우 상기 사용자 암호를 획득하지 않는 것을 특징으로 하는 유저 데이터 수집 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 암호키를 복호화하는 단계는,
    상기 사용자 기기로부터 상기 장치 암호화 저장소에 포함된 데이터를 암호화한 제2 암호키를 획득하는 단계;
    상기 사용자 기기로부터 상기 제2 암호키를 암호화하는 제2 복호화 정보를 추출하는 단계; 및
    상기 제2 복호화 정보의 타입에 따라 서로 다른 방법으로 상기 제2 암호키를 복호화하는 단계
    를 포함하고,
    상기 제2 복호화 정보는 상기 사용자 암호가 배제되어 생성된 정보인 것을 특징으로 하는 유저 데이터 수집 방법.
  6. 제1항에 있어서,
    상기 복호화 데이터 범위에 대한 정보에 기초하여 상기 데이터 수집 기기와 상기 사용자 기기 사이의 데이터 전송 속도를 제어하는 단계
    를 더 포함하는 것을 특징으로 하는 유저 데이터 수집 방법.
  7. 제6항에 있어서,
    상기 데이터 전송 속도를 제어하는 단계는,
    CPU 활용 방법, 전송 스케쥴, 및 입출력 방법 중 적어도 하나를 제어함으로써 상기 데이터 전송 속도를 제어하는 단계
    를 포함하는 것을 특징으로 하는 유저 데이터 수집 방법.
  8. 제1항에 있어서,
    상기 복호화된 유저 데이터 및 상기 복호화된 유저 데이터를 암호화시킨 암호키에 기초하여 해쉬 값을 생성함으로써 상기 복호화된 유저 데이터를 검증하는 단계
    를 더 포함하는 것을 특징으로 하는 유저 데이터 수집 방법.
  9. 제1항에 있어서,
    상기 암호키를 복호화하는 단계는,
    상기 사용자 기기에서 상기 복호화 데이터 범위에 포함된 저장소마다 미리 복호화된 암호키를 획득할 수 있는지 여부를 판단하는 단계
    를 포함하고,
    상기 유저 데이터를 복호화하는 단계는,
    상기 사용자 기기에서 상기 미리 복호화된 암호키를 획득할 수 있는 저장소에 대해 상기 미리 복호화된 암호키에 기초하여 상기 유저 데이터를 복호화하는 단계
    를 포함하는 것을 특징으로 하는 유저 데이터 수집 방법.
  10. 제1항에 있어서,
    상기 사용자 기기의 운영 체제가 부팅되는 과정에서 복호화된 유저 데이터를 포함하는 데이터 블록을 식별하는 단계;
    상기 복호화된 유저 데이터가 있는 경우 상기 사용자 기기로부터 상기 데이터 수집 기기로 상기 복호화된 유저 데이터를 송신하는 단계
    를 더 포함하는 것을 특징으로 하는 유저 데이터 수집 방법.
KR1020210193144A 2021-12-30 2021-12-30 복호화 데이터 범위에 따른 유저 데이터 수집 방법 KR102650003B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210193144A KR102650003B1 (ko) 2021-12-30 2021-12-30 복호화 데이터 범위에 따른 유저 데이터 수집 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210193144A KR102650003B1 (ko) 2021-12-30 2021-12-30 복호화 데이터 범위에 따른 유저 데이터 수집 방법

Publications (2)

Publication Number Publication Date
KR20230102762A KR20230102762A (ko) 2023-07-07
KR102650003B1 true KR102650003B1 (ko) 2024-03-21

Family

ID=87154627

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210193144A KR102650003B1 (ko) 2021-12-30 2021-12-30 복호화 데이터 범위에 따른 유저 데이터 수집 방법

Country Status (1)

Country Link
KR (1) KR102650003B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009049731A (ja) * 2007-08-21 2009-03-05 Hitachi Ltd 暗号化方法,復号方法,および,鍵管理方法
JP2011511383A (ja) * 2008-02-07 2011-04-07 アナログ・デバイシズ・インコーポレーテッド 保護された動作モードの間にシステムアクセスを制御するための方法および装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101754308B1 (ko) * 2013-10-04 2017-07-07 한국전자통신연구원 모바일 민감 데이터 관리 방법 및 이를 수행하는 위탁 서버

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009049731A (ja) * 2007-08-21 2009-03-05 Hitachi Ltd 暗号化方法,復号方法,および,鍵管理方法
JP2011511383A (ja) * 2008-02-07 2011-04-07 アナログ・デバイシズ・インコーポレーテッド 保護された動作モードの間にシステムアクセスを制御するための方法および装置

Also Published As

Publication number Publication date
KR20230102762A (ko) 2023-07-07

Similar Documents

Publication Publication Date Title
US9252946B2 (en) Method and system to securely migrate and provision virtual machine images and content
JP6275653B2 (ja) データ保護方法及びシステム
EP2278514B1 (en) System and method for providing secure virtual machines
US8843739B2 (en) Anti-tamper device, system, method, and computer-readable medium
WO2021164166A1 (zh) 一种业务数据保护方法、装置、设备及可读存储介质
US20120102564A1 (en) Creating distinct user spaces through mountable file systems
CN202795383U (zh) 一种保护数据的设备和系统
US20160182483A1 (en) Information recording apparatus
EP1953670A2 (en) System and method of storage device data encryption and data access
KR20080071529A (ko) 하드웨어 키를 통하여 저장장치 데이터의 암호화 및억세스를 수행하는 장치 및 방법
JP2008198186A (ja) 汎用認識システムおよび汎用認識方法
KR20110096554A (ko) 기밀 파일을 보호하기 위한 클라이언트 컴퓨터, 및 그 서버 컴퓨터, 및 그 방법 및 컴퓨터 프로그램
US9087181B2 (en) Method of managing virtual computer, computer system and computer
US11838282B2 (en) Information recording apparatus with server-based user authentication for accessing a locked operating system storage
CN103605934A (zh) 一种可执行文件的保护方法及装置
US20220393869A1 (en) Recovery keys
KR102650003B1 (ko) 복호화 데이터 범위에 따른 유저 데이터 수집 방법
US8856519B2 (en) Start method for application cryptographic keystores
KR102650001B1 (ko) 복호화 정보에 따른 유저 데이터 수집 방법
Jun et al. Trusted full disk encryption model based on TPM
US11231988B1 (en) Systems and methods for secure deletion of information on self correcting secure computer systems
Sharma Transcrypt: Design of a secure and transparent encrypting file system
KR20150050899A (ko) 재암호화 기반 안전 저장 장치 및 방법
US11669389B1 (en) Systems and methods for secure deletion of information on self correcting secure computer systems
KR101474744B1 (ko) 신뢰 보안 플랫폼 모듈(mtm)을 이용한 usim 데이터 관리 장치 및 그 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant