KR20140110637A - 데이터 보호 방법 및 이를 구현하는 전자 장치 - Google Patents

데이터 보호 방법 및 이를 구현하는 전자 장치 Download PDF

Info

Publication number
KR20140110637A
KR20140110637A KR1020130025292A KR20130025292A KR20140110637A KR 20140110637 A KR20140110637 A KR 20140110637A KR 1020130025292 A KR1020130025292 A KR 1020130025292A KR 20130025292 A KR20130025292 A KR 20130025292A KR 20140110637 A KR20140110637 A KR 20140110637A
Authority
KR
South Korea
Prior art keywords
key
data
password
area
security
Prior art date
Application number
KR1020130025292A
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 KR1020130025292A priority Critical patent/KR20140110637A/ko
Publication of KR20140110637A publication Critical patent/KR20140110637A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/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

Landscapes

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

Abstract

본 명세서의 개시는 데이터 보호 방법 및 전자 장치에 관한 것으로 더 상세하게는 컴퓨팅 리소스(computing resource) 즉, 전자 장치를 동작시키기 위한 소프트웨어(예, 운영체제)와 하드웨어(예, 메모리, CPU)를 가지는 전자 장치에서 데이터를 안전하게 보호할 수 있도록 한 방법 및 장치에 관한 것이다. 본 개시에 따른 데이터 보호 방법은 전자 장치의 노말 영역이 사용자 입력부로부터 패스워드를 수신하는 단계; 상기 노말 영역이 상기 패스워드를 상기 전자 장치의 보안 영역에 전달하는 단계; 상기 보안 영역이 보안키와 상기 패스워드를 이용하여 암호화키 또는 복호화키를 생성하는 단계; 상기 보안 영역이 상기 암호화키 또는 상기 복호화키를 이용하여 데이터를 암호화 또는 복호화하는 단계; 및 상기 보안 영역이 상기 암호화된 데이터 또는 상기 복호화된 데이터를 상기 노말 영역으로 전달하는 단계를 포함한다.

Description

데이터 보호 방법 및 이를 구현하는 전자 장치{DATA SECURITY METHOD AND ELECTRONIC DEVICE IMPLEMENTING THE SAME}
본 명세서의 개시는 데이터 보호 방법 및 전자 장치에 관한 것으로 더 상세하게는 컴퓨팅 리소스(computing resource) 즉, 전자 장치를 동작시키기 위한 소프트웨어(예, 운영체제)와 하드웨어(예, 메모리, CPU)를 가지는 전자 장치에서 데이터를 안전하게 보호할 수 있도록 한 방법 및 장치에 관한 것이다.
데이터를 안전하게 보호하기 위해서는 일반적으로 암호 기술(cryptography)이 사용될 수 있다. 즉 데이터가 암호화되고 변조 방지를 위한 인증 코드가 생성됨으로써 데이터가 보호될 수 있다. 이러한 암호 기술에는 암호화키가 사용된다. 즉 데이터의 암호화 및 인증 코드의 생성에는 키가 입력 값으로 사용된다.
전자 장치는 암호화키를 만들 수 있다. 예컨대, 1) 디바이스 고유 비밀(Device unique secret)을 나타내는 값이 암호화키로 이용될 수 있다. 또한 2) 이러한 디바이스 고유 비밀을 나타내는 값으로부터 암호화키가 생성될 수 있다. 또한 3) 전자 장치는 랜덤 넘버(random number)를 생성하고 이를 암호화키로 사용할 수도 있다. 또한 4) 전자 장치는 사용자로부터 입력받은 패스워드를 이용하여 암호화키를 생성할 수 있다.
1)의 경우, 장치 내에서 처리되는 모든 데이터는 하나의 동일한 키 (device-unique secret)로 암호화되어 보안에 취약할 수 있다. 1) 과 2)의 경우, 데이터가 암호화 되어 있더라도, 해당 데이터를 열람하고자 하는 어플리케이션이나 사용자가 완벽하게 인증되지 못하면, 권한이 없는 어플리케이션이나 사용자에 의해 데이터가 열람될 수 있다. 즉, 데이터에 대한 안전한 접근 제어를 위해서는 인증 뿐 아니라 암호화키 관리가 올바르게 제공되어야 한다. 1)과 2)는 이러한 접근제어를 위한 요소를 가지고 있지 않다. 3)의 경우, 랜덤 넘버를 저장해야 하는데, 이를 저장하기 위한 암호화키가 필요하므로, 위 1), 2), 4)와 같은 키 생성 기술이 필요할 수 있다. 4)의 경우, 공격자(예, 해당 장치에 설치된 해킹 프로그램)는 패스워드 후보들을 만들고, 이들로부터 암호화키 후보들을 생성하여 암호화 된 데이터의 복호화를 시도할 수 있다. 유의미한 데이터가 나온다면, 이것은 복호화에 성공했다는 것을 의미하고, 이는 패스워드를 발견했음을 의미한다. 즉, 공격자는 이러한 딕셔너리 공격(dictionary attack) 및 오프라인 패스워드 추측 공격(offline password guessing attack)을 수행하여 패스워드와 암호화키를 찾아낼 수 있다. 이 공격을 막기 위해서는 매우 복잡한 패스워드를 사용해야 하는데, 이는 사용자의 편의성 및 사용성을 감소시킬 수 있다.
본 개시의 실시예는 전술한 사항을 해결할 수 있는 방법 및 전자 장치를 제안할 수 있다. 즉 본 개시의 실시예에 따르면 본 개시는 안전하고 편리하고 효율적으로 키를 생성할 수 있는 방법 및 전자 장치를 제공할 수 있다.
본 개시에 따른 데이터 보호 방법은 전자 장치의 노말 영역이 사용자 입력부로부터 패스워드를 수신하는 단계; 상기 노말 영역이 상기 패스워드를 상기 전자 장치의 보안 영역에 전달하는 단계; 상기 보안 영역이 보안키와 상기 패스워드를 이용하여 암호화키 또는 복호화키를 생성하는 단계; 상기 보안 영역이 상기 암호화키 또는 상기 복호화키를 이용하여 데이터를 암호화 또는 복호화하는 단계; 및 상기 보안 영역이 상기 암호화된 데이터 또는 상기 복호화된 데이터를 상기 노말 영역으로 전달하는 단계를 포함한다.
본 개시에 따른 전자 장치는 사용자 입력부; 노말 영역과 보안 영역을 포함하는 메모리; 및 상기 노말 영역에 접근하여 상기 노말 영역의 운영체제와 어플리케이션을 실행하고, 상기 보안 영역에 접근하여 상기 보안 영역의 운영체제와 어플리케이션을 실행하고, 상기 사용자 입력부와 상기 메모리를 연결하는 프로세서를 포함하고, 상기 노말 영역이 상기 사용자 입력부로부터 패스워드를 수신하고, 상기 패스워드를 상기 보안 영역에 전달하고, 상기 보안 영역이 보안키와 상기 패스워드를 이용하여 암호화키 또는 복호화키를 생성하고, 상기 암호화키 또는 상기 복호화키를 이용하여 데이터를 암호화 또는 복호화하고, 상기 보안 영역이 상기 암호화된 데이터 또는 상기 복호화된 데이터를 상기 노말 영역으로 전달하는 것을 특징으로 한다.
이상으로 본 개시에 따른 데이터 보호 방법 및 전자 장치에 따르면 본 개시는 안전하고 편리하고 효율적으로 키를 생성할 수 있는 방법 및 전자 장치를 제공할 수 있다.
도 1은 본 개시의 일 실시예에 따른 휴대 단말의 블록 구성도이다.
도 2는 본 개시의 일 실시예에 따른 휴대 단말의 소프트웨어 아키텍처를 설명하기 위한 도면이다.
도 3은 본 개시의 다른 실시예에 따른 휴대 단말의 소프트웨어 아키텍처를 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시예에 따른 데이터 보호 방법을 설명하기 위한 흐름도이다.
도 5는 본 개시의 다른 실시예에 따른 데이터 보호 방법을 설명하기 위한 흐름도이다.
본 개시에서 전자 장치는 컴퓨팅 리소스를 가지는 장치로써, 예컨대, 스마트폰, 태블릿 PC, 노트북 PC, 디지털 카메라, 컴퓨터 모니터, PDA(Personal Digital Assistant), 전자수첩, 데스크탑 PC, PMP(Portable Multimedia Player), 미디어 플레이어(Media Player)(예컨대, MP3 플레이어), 음향기기, 손목시계, 게임용 단말기, 가전기기(예, 냉장고, TV, 세탁기) 등을 포함할 수 있다.
본 개시에 따른 전자 장치는 보안 영역(Secure World)을 가질 수 있다. 하드웨어(예, 메모리, CPU, AP 등)는 물리적으로 또는 논리적으로 여러 개의 영역(area)들로 구분될 수 있는데, 이러한 영역들 중 하나가 보안 영역에 해당될 수 있다. 또한 보안 영역은 보안 기술이 적용된 운영체제와, 이의 기반 하에 동작하는 하드웨어와 소프트웨어를 포함하여 구성될 수 있다. 이러한 보안 영역 내에서는 메모리 덤프(dump), 변조 등과 같은 공격으로부터 안전할 수 있다. 본 개시에서 암호화키, 복호화키, 이러한 키들을 생성하기 위한 입력 값은 보안 영역에 존재한다.
본 개시에 따른 전자 장치는 키 생성 및 데이터 암/복호화 모듈을 가질 수 있다. 본 모듈은 보안 영역에 존재(즉, 보안 영역의 하나의 구성)하며, 키 생성 및 데이터 암/복호화를 수행한다. 보안 영역의 특성에 의해, 본 모듈은 변조되지 않을 수 있다. 본 모듈은 키 생성 모듈, 데이터 암/복호화 모듈로 분리되어 구현될 수 있다. 또한 본 모듈은 키 생성 모듈, 데이터 암호화 모듈, 데이터 복호화 모듈로 분리되어 구현될 수 있다. 이러한 세부 모듈의 분리 혹은 결합은 개발자가 편의에 따라 선택할 수 있다.
본 개시에 따른 전자 장치는 암/복호화 요청 모듈을 가질 수 있다. 본 모듈은 노말 영역(Normal World)에서 동작할 수 있다. 하드웨어의 영역들 중 어느 하나가 노말 영역에 해당될 수 있다. 또한 노말 영역은 일반적인 운영체제(예, 안드로이드, 리눅스, 윈도우 등)와, 이의 기반 하에 동작하는 하드웨어와 소프트웨어를 포함하여 구성될 수 있다. 암/복호화 요청 모듈은 보안 영역의 데이터 암/복호화 모듈에게 데이터의 암/복호화를 요청하는 역할을 수행한다.
본 개시에 따른 전자 장치는 패스워드 전송 모듈을 가질 수 있다. 본 모듈은 노말 영역 또는 보안 영역에서 동작할 수 있다. 본 모듈은 사용자로부터 입력받은 패스워드를 보안 영역의 키 생성 모듈에게 전달하는 역할을 수행한다. 만약 본 모듈이 보안 영역에서 동작하도록 구현된다면, 키 생성 및 데이터 암/복호화 모듈과 함께 결합되어 구현될 수도 있고 분리되어 구현될 수도 있다.
본 개시에 따른 전자 장치는 공유 영역(예컨대, 공유 메모리)을 가질 수 있다. 즉 공유 영역은 보안 영역과 노말 영역 간의 데이터 송수신의 통로로 활용될 수 있다.
이하에서 본 개시에 따른 데이터 보호 방법 및 전자 장치에 대해 상세히 설명한다. 이하에서 사용되는 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 본 개시의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다. 따라서 아래 설명과 첨부된 도면은 본 개시의 바람직한 실시예에 불과할 뿐이고, 본 개시의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원 시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있다. 또한, 첨부 도면에서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 따라서 본 개시는 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다. 본 개시와 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략된다.
도 1은 본 개시의 일 실시예에 따른 휴대 단말의 블록 구성도이다.
도 1을 참조하면, 본 개시의 일 실시예에 따른 휴대 단말(100)은 표시부(110), 키입력부(120), 저장부(130), 무선통신부(140), 오디오처리부(150), 스피커(SPK), 마이크(MIC) 및 제어부(160)를 포함한다.
표시부(111)는 제어부(160)의 제어 하에 데이터를 화면에 표시한다. 즉 제어부(160)가 데이터를 처리(예컨대, 디코딩(decoding))하여 버퍼에 저장하면, 표시부(110)는 버퍼에 저장된 데이터를 아날로그 신호로 변환하여 화면에 표시한다. 표시부(110)에 전원이 공급되면, 표시부(110)는 잠금 이미지를 화면에 표시한다. 잠금 이미지가 표시되고 있는 상태에서 잠금 해제 정보가 검출되면, 제어부(160)는 잠금을 해제한다. 표시부(110)는 제어부(160)의 제어 하에 잠금 이미지 대신 예컨대, 홈 이미지를 표시한다. 홈 이미지는 배경(background) 이미지(예컨대, 사용자에 의해 설정된 사진)와 이 위에 표시되는 다수의 아이콘을 포함할 수 있다. 여기서 아이콘들은 각각 어플리케이션 또는 콘텐츠(예, 사진 파일, 비디오 파일, 녹음 파일, 문서, 메시지 등)를 지시한다. 아이콘들 중 하나 예컨대, 메모 어플리케이션의 아이콘이 터치입력기구에 의해 터치되면, 표시부(110)는 제어부(160)의 제어 하에 메모장을 표시할 수 있다.
표시부(110)는 액정 표시 장치(Liquid Crystal Display : LCD), AMOLED(Active Matrix Organic Light Emitted Diode), 플랙서블 디스플레이(Flexible display) 또는 투명 디스플레이로 이루어질 수 있다.
터치패널(111)은 표시부(110)의 화면에 설치된 터치스크린이다. 구체적으로 터치패널(111)은 표시부(110)의 화면에 위치하는 애드 온 타입(add-on type)이나 표시부(110) 내에 삽입되는 온 셀 타입(on-cell type) 또는 인 셀 타입(in-cell type)으로 구현된다.
터치패널(111)은 화면에 대한 사용자의 제스처에 응답하여 터치이벤트를 발생하고, 터치이벤트를 AD(Analog to Digital) 변환하여 제어부(160)로 전달한다. 여기서 터치이벤트는 하나 이상의 터치 좌표(x, y)를 포함한다. 예컨대, 터치패널(111)의 터치 IC(Integrated Circuit)는 사용자의 터치를 검출하고, 터치에 응답하여 터치 영역을 결정하고, 터치 영역에 포함된 터치 좌표(x, y)를 제어부(160)로 전달한다. 터치패널(111)은 손 제스처를 감지하는 손 터치패널과 펜 제스처를 감지하는 펜 터치패널을 포함하여 구성된 복합 터치패널일 수 있다. 여기서 손 터치패널은 정전용량 방식(capacitive type)으로 구현된다. 물론 손 터치패널은 저항막 방식(resistive type), 적외선 방식 또는 초음파 방식으로 구현될 수도 있다. 또한 손 터치패널은 손 제스처에 의해서만 터치이벤트를 발생하는 것은 아니며, 다른 물체(예, 정전용량 변화를 가할 수 있는 전도성 재질의 물체)에 의해서도 터치이벤트를 생성할 수 있다. 펜 터치패널은 전자 유도 방식(electromagnetic induction type)으로 구성될 수 있다. 이에 따라 펜 터치패널은 자기장을 형성할 수 있도록 특수 제작된 터치용 펜에 의해 터치이벤트를 생성할 수 있다.
키입력부(120)는 사용자 설정 및 휴대 단말(100)의 기능 제어와 관련한 키 이벤트를 생성하여 제어부(160)로 전달한다. 키 이벤트는 전원 온/오프 이벤트, 볼륨 조절 이벤트, 화면 온/오프 이벤트, 셔터 이벤트 등을 포함할 수 있다. 제어부(160)는 이러한 키 이벤트에 응답하여 상기한 구성들을 제어한다.
저장부(secondary memory unit; 130)는 디스크, 램(RAM), 롬(ROM) 또는 플래시 메모리 등이다. 특히 저장부(130)는 노말(normal) 영역(131)과 보안(secure) 영역(132)으로 구성될 수 있다. 노말 영역(131)은 물리적으로 보안 영역(132)과 격리되도록 설계될 수 있다. 보안 영역(132)은 노말 영역(131)의 운영체제나 어플리케이션들이 임의대로 접근할 수 없는 영역으로 활용될 수 있다. 노말 영역(131)은 보안 영역(132)에 대해 상대적인 개념으로써 비보안 영역으로 지칭될 수도 있다. 한편 노말 영역(131)은 해당 단말의 메인 운영체제와 이의 기반 하에 동작하는 어플리케이션들이 설치된다는 개념에서 메인 영역으로 지칭될 수도 있다. 그렇다면 상대적으로 보안 영역(132)은 서브 영역으로 지칭될 수도 있다. 이하 설명의 편의상, 노말, 메인, 비보안은 노말로 통칭한다. 또한 보안, 서브는 보안으로 통칭한다.
노말 영역(131)은 노말 프로그램 영역과 노말 데이터 영역으로 구성될 수 있다. 노말 프로그램 영역은 부팅 프로그램, 노말 운영체제, 노말 운영체제의 기반 하에 동작하는 하나 이상의 어플리케이션(이하 노말 어플리케이션)을 저장할 수 있다. 노말 영역의 어플리케이션들은 내재화 어플리케이션(embedded application)과 서드파티 어플리케이션(3rd party application)으로 분류될 수 있다. 예컨대 내재화 어플리케이션은 웹 브라우저(Web browser), 이메일(email) 프로그램, 인스턴트 메신저(instant messenger) 등이다. 휴대 단말(100)로 배터리의 전원이 공급되면 먼저 부팅 프로그램이 제어부(160)의 메인메모리(main memory unit)로 로딩(loading)된다. 이러한 부팅 프로그램은 노말 운영체제를 메인메모리로 로딩한다. 예컨대, 안드로이드, 윈도우 또는 iOS 등이 본 개시의 노말 운영체제로 적용될 수 있다. 노말 데이터 영역은 노말 운영체제 및 노말 어플리케이션에 의해 생성되는 데이터와, 노말 운영체제 및 노말 어플리케이션의 실행에 필요한 데이터와, 무선통신부(140)를 통해 외부장치(예, 서버, 데스크탑 PC, 태블릿 PC 등)로부터 수신한 데이터를 저장할 수 있다.
보안 영역(132)은 보안 프로그램 영역과 보안 데이터 영역으로 구성될 수 있다. 노말 운영체제나 노말 어플리케이션들은 보안 영역(132) 특히, 보안 데이터 영역의 접근이 불가능하다. 보안 프로그램 영역은 보안 운영체제와, 이의 기반 하에 동작하는 하나 이상의 어플리케이션(이하 보안 어플리케이션)과, 운영체제 모니터를 저장할 수 있다. 보안 운영체제는 예컨대, G&D(Giesecke & Devrient) 사의 모비코어(Mobicore)가 본 개시의 보안 운영체제로 적용될 수 있다. 이러한 보안 운영체제는 노말 운영체제의 제어 하에 메인메모리로 로딩될 수 있다. 또는 보안 운영체제는 부팅 프로그램에 의해 메인메모리로 로딩될 수도 있다. 모비코어는 휴대 단말에서 안전하게 인터넷 뱅킹, 전자 결제 등을 할 수 있도록 하는 보안 제품이다. 보안 어플리케이션들은 내재화 어플리케이션과 서드파티 어플리케이션으로 분류될 수 있다. 운영체제 모니터는 노말 운영체제와 보안 운영체제 간의 인터페이스 역할을 한다. 예컨대, ARM(Advance RISC Machine)사의 TrustZone 기술이 본 개시의 운영체제 모니터에 적용될 수 있다. 보안 데이터 영역은 보안 운영체제 및 보안 어플리케이션에 의해 생성되는 데이터와, 보안 운영체제 및 보안 어플리케이션의 실행에 필요한 데이터와, 보안 운영체제 및 보안 어플리케이션에 의해 무선통신부(140)를 통해 외부장치로부터 수신한 데이터를 저장할 수 있다. 설명의 편의상, 이하 노말 데이터 영역의 데이터를 '노말 데이터'라 하고 보안 데이터 영역의 데이터를 '보안 데이터'라 한다.
보안 데이터는 보안 운영체제, 보안 어플리케이션 및 운영체제 모니터에서만 접근 가능하며, 노말 영역에서는 접근이 불가능하다. 즉 노말 영역의 노말 운영체제나 어플리케이션은 직접 보안 데이터에 접근할 수 없으며, 보안 데이터에 접근하기 위해서는 운영체제 모니터를 통해서만이 가능하다. 따라서 보안 데이터는 비인가된 개체(예, 해킹 프로그램)로부터 안전하게 보호될 수 있다.
보안 데이터(예컨대, 해당 휴대 단말(100)의 고유의 값)가, 데이터의 암호화 또는 복호화를 위한 키를 생성함에 있어서, 입력 값으로 쓰일 수 있다. 이렇게 입력 값으로 쓰이는 보안 데이터는 보안키(132a), 보호된 디바이스 키(protected device key), 디바이스 고유 키(device unique key), 디바이스 고유 비밀(Device unique secret) 등으로 지칭될 수 있다.
저장부(130)는 패스워드 전송 모듈, 데이터 암호화 요청 모듈, 데이터 복호화 요청 모듈, 키 생성 모듈, 데이터 암호화 모듈 및 데이터 복호화 모듈을 저장할 수 있다. 이들 중 패스워드 전송 모듈은 노말 영역(131)이나 보안 영역(132)에 저장될 수 있다. 데이터 암/복호화 요청 모듈은 노말 영역(131)에 저장될 수 있다. 키 생성 모듈 및 데이터 암/복호화 모듈은 보안 영역(132)에 저장될 수 있다.
무선통신부(140)는 제어부(160)의 제어 하에, 네트워크를 통해 외부장치와 음성 통화, 화상 통화 또는 데이터 통신을 수행한다. 무선통신부(140)는 송신되는 신호의 주파수를 상승변환 및 증폭하는 무선주파수 송신부와, 수신되는 신호의 주파수를 저잡음 증폭 및 하강 변환하는 무선주파수 수신부를 포함한다. 또한 무선 통신부(140)는 이동 통신 모듈(예컨대, 3세대(3-Generation) 이동통신모듈, 3.5(3.5-Generation)세대 이동통신모듈 또는 4(4-Generation)세대 이동통신모듈 등), 디지털 방송 모듈(예컨대, DMB 모듈) 및 근거리 통신 모듈(예, 와이파이(Wi-Fi) 모듈, 블루투스(bluetooth) 모듈, NFC(Near Field Communication) 모듈)을 포함한다.
오디오 처리부(150)는 스피커(SPK) 및 마이크(MIC)와 결합하여 음성 인식, 음성 녹음, 디지털 레코딩(recording) 및 통화를 위한 오디오 신호(예, 음성 데이터)의 입력 및 출력을 수행한다. 오디오 처리부(150)는 제어부(160)로부터 오디오 신호를 수신하고, 수신한 오디오 신호를 아날로그로 D/A 변환하고 증폭한 후 스피커(SPK)로 출력한다. 오디오 처리부(150)는 마이크(MIC)으로부터 수신한 오디오 신호를 디지털로 A/D 변환한 후 제어부(160)로 제공한다. 스피커(SPK)는 오디오 처리부(150)로부터 수신한 오디오 신호를 음파(sound wave)로 변환하여 출력한다. 마이크(MIC)는 사람이나 기타 소리원(sound source)들로부터 전달된 음파를 오디오 신호로 변환한다.
제어부(160)는 휴대 단말(100)의 전반적인 동작 및 휴대 단말(100)의 내부 구성들 간의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행하고, 배터리에서 상기 구성들로의 전원 공급을 제어한다.
제어부(160)는 하나 이상의 CPU(central processing unit)로 구성될 수 있다. 주지된 바와 같이 CPU는 자료의 연산 및 비교와, 명령어의 해석 및 실행 등을 수행하는 컴퓨터 시스템의 핵심적인 제어 유닛이다. CPU는 데이터나 명령을 일시 저장하는 각종 레지스터들을 포함한다. 제어부(160)는 하나 이상의 GPU(graphic processing unit)를 더 포함하여 구성될 수 있다. GPU는 CPU를 대신하여, 그래픽과 관련한 자료의 연산 및 비교와, 명령어의 해석 및 실행 등을 수행하는 그래픽 제어 유닛이다. CPU과 GPU는 각각, 두 개 이상의 독립 코어(예, 쿼드 코어(quad-core))가 단일 집적 회로로 이루어진 하나의 패키지(package)로 통합될 수 있다. 즉 CPU들은 하나의 멀티 코어 프로세서로 통합된 것일 수 있다. 또한 다수의 GPU들도 하나의 멀티 코어 프로세서로 통합된 것일 수 있다. 또한 CPU와 GPU는 하나의 칩으로 통합(SoC; System on Chip)된 것일 수 있다. 또한 CPU와 GPU는 멀티 레이어(multi layer)로 패키징(packaging)된 것일 수 있다. 한편 CPU 및 GPU를 포함하는 구성은 AP(Application Processor)라고 지칭될 수 있다. 제어부(160)에서 CPU들 중에 적어도 하나는 보안 영역의 CPU일 수 있다. 또한 제어부(160)에서 GPU들 중에 적어도 하나는 보안 영역의 GPU일 수 있다. 또한 제어부(160)에서 AP들 중에 적어도 하나는 보안 영역의 AP일 수 있다.
제어부(160)는 메인메모리(main memory unit)(161) 예컨대, 램(RAM)을 더 포함하여 구성될 수 있다. 즉 제어부(160)의 CPU, GPU, AP 등은 메인메모리(161)에 접근(access)하여 메인메모리(161)로 로딩된 각종 프로그램과 데이터를 읽을 수 있고, 읽어 온 프로그램의 명령을 해독할 수 있으며, 해독 결과에 따른 기능을 실행할 수 있다. 메인메모리(161)는 저장부(130)로부터 로딩된 각종 프로그램 예컨대, 부팅 프로그램, 운영체제들, 운영체제 모니터 및 어플리케이션들을 저장한다. 특히 메인메모리(161)는 저장부(130)와 대응되게, 노말 영역(161a)과 보안 영역(161b)으로 구성될 수 있다. 즉 메인메모리(161)의 노말 영역(161a)으로는 부팅 프로그램, 노말 운영체제, 노말 어플리케이션, 노말 데이터가 로딩될 수 있다. 메인메모리(161)의 보안 영역(161b)으로는 보안 운영체제, 보안 어플리케이션, 보안 데이터가 로딩될 수 있다.
디지털 기기의 컨버전스(convergence) 추세에 따라 변형이 매우 다양하여 모두 열거할 수는 없으나, 휴대 단말(100)은 카메라, 가속도 센서, GPS(global positioning system) 모듈, 진동 모터, 액세서리, 이어 잭 등과 같이 상기에서 언급되지 않은 구성들을 더 포함할 수 있다. 여기서 액세서리는 휴대 단말(100)로부터 분리가 가능한 휴대 단말(100)의 부속품으로써 예컨대, 터치를 위한 펜이 될 수 있다.
도 2는 본 개시의 일 실시예에 따른 휴대 단말의 소프트웨어 아키텍처를 설명하기 위한 도면이다.
도 1 및 도 2를 참조하면, 노말 영역은 저장부(130)에서 로딩된, 노말 어플리케이션들(210_1~210_N), 노말 운영체제(220) 및 드라이버 세트(230)로 구성된다. 보안 영역은 저장부(130)에서 로딩된, 트러스티드 어플리케이션(240), 보안 운영체제(250) 및 운영체제 모니터(260)로 구성된다.
계층적 구조로 보면, 물리 머신(예컨대, CPU, AP)(270)의 위에 드라이버 세트(230)가 존재한다. 드라이버 세트(230)는 노말 운영체제(220)와 물리 머신(270) 간의 인터페이스 역할을 한다. 또한 드라이버 세트(230)는 운영체제 모니터(260)와 물리 머신(270) 간의 인터페이스 역할을 한다. 또한 드라이버 세트(230)는 노말 운영체제(220)와 운영체제 모니터(260) 간의 인터페이스 역할을 한다.
드라이버 세트(230)는 주변기기 드라이버들을 포함한다. 여기서 주변기기 드라이버들은 예컨대, 터치패널 드라이버, 무선통신부 드라이버, 키입력부 드라이버, 오디오 처리부 드라이버, 표시부 드라이버로 구성될 수 있다. 주변기기 드라이버들은 노말 운영체제(220)로부터 또는 모니터(260)를 통해 보안 운영체제(250)로부터 명령을 수신하고, 명령에 응답하여 해당 주변기기의 입력 및 출력을 제어한다.
드라이버 세트(230) 위에 노말 운영체제(220), 보안 운영체제(250) 및 운영체제 모니터(260)가 존재한다. 노말 운영체제(220)는 휴대 단말(100)의 메인 운영체제가 될 수 있다. 노말 운영체제(220)는 예컨대, 안드로이드(221)를 포함할 수 있다. 또한 노말 운영체제(220)는 보안 운영체제(250)와 인터페이스를 위한 구성들 예컨대, 암/복호화 요청 모듈(222) 및 패스워드 전송 모듈(223)을 포함할 수 있다. 보안 운영체제(250)는 휴대 단말(100)의 서브 운영체제가 될 수 있다. 예컨대, 보안 운영체제(250)는 모비코어를 포함할 수 있다. 운영체제 모니터(260)는 운영체제들 간의 인터페이스 역할을 한다. 예컨대, ARM(Advance RISC Machine)사의 TrustZone이 본 개시의 운영체제 모니터(260)에 포함될 수 있다. 한편, 운영체제 모니터(260)는 제 2 드라이버 세트를 포함할 수 있다. 이에 따라 보안 운영체제(250)와 물리 머신(270) 간의 인터페이스는 제 2 드라이버 세트를 통해 이루어질 수 있다.
노말 운영체제(220)의 위에 노말 어플리케이션들(210_1~210_N)이 존재하고, 보안 운영체제(250)의 위에 트러스티드 어플리케이션(240)이 존재한다.
노말 영역과 보안 영역 사이에는 공유 메모리(280)가 존재한다. 공유 메모리(280)는 메인 메모리(161)의 일부일 수 있다. 또한 저장부(130)의 일부일 수도 있다.
사용자가 노말 어플리케이션에게 데이터의 암호화 또는 복호화를 요청하면, 해당 어플리케이션은 사용자에게 패스워드 입력을 요청한다. 사용자가 패스워드를 예컨대, 터치패널(111)을 통해 입력하면, 물리머신(270)은 터치패널(110)로부터 패스워드를 수신하고, 이를 드라이버 세트(230)로 전달한다. 이에 응답하여 드라이버 세트(230)는 패스워드를 패스워드 전송 모듈(223)로 전달한다. 그러면 패스워드 전송 모듈(223)은 패스워드를 키 생성 모듈(241)로 전송한다. 여기서 패스워드는 공유 메모리(280)를 통해 키 생성 모듈(241)로 전송될 수 있다. 또한 패스워드는 모니터(260)를 통해 키 생성 모듈(241)로 전송될 수도 있다. 한편, 암호화 또는 복호화 대상인 데이터는 공유 메모리(280)에 저장될 수 있다. 예컨대, 노말 운영체제(220)는, 사용자가 데이터의 암호화 또는 복호화를 요청하게 되면, 해당 데이터를 드라이버 세트(230)를 통해 공유 메모리(280)에 저장한다.
사용자가 노말 어플리케이션에게 데이터의 암호화 또는 복호화를 요청하면, 해당 어플리케이션은 데이터의 암호화 또는 복호화를 요청하는 메시지를 노말 운영체제(220)에 전달한다. 이에 응답하여 노말 운영체제(220)의 암/복호화 요청 모듈(222)은 드라이버 세트(230) 및 모니터(260)를 통해 보안 운영체제(250)에 메시지를 전달한다. 보안 운영체제(250)는 암/복호화 요청 모듈(222)로부터 요청 메시지를 수신하고, 이를 트러스티드 어플리케이션(240)에 전달한다. 그러면 키 생성 모듈(241)은 보안 운영체제(250)를 통해 공유 메모리(280)에 액세스하여 패스워드를 읽어 간다. 키 생성 모듈(241)이 패스워드를 읽어 가게 되면 패스워드는 공유 메모리(280)에서 삭제될 수 있다.
키 생성 모듈(241)은 공유 메모리(280)로부터 읽어 온 패스워드와 보안키를 이용하여 암호화키 또는 복호화키를 생성한다. 여기서, 암호화키와 복호화키는 대칭키일 수 있다. 즉 데이터를 암호화할 때 사용되는 키와 데이터를 복호화할 때 사용되는 키가 같을 수 있다. 물론 암호화키와 복호화키는 서로 다른 비대칭키일 수도 있다.
예컨대, 키 생성 모듈(241)은 패스워드와 보안키를 조합(concatenation)하고, 이렇게 조합된 값을 해시 함수로 연산하거나 XOR 연산하고, 그 결과 값을 암호화키 또는 복호화키로 결정할 수 있다.
키가 생성되면, 키 생성의 이유가 암호화 요청인 경우, 트러스티드 어플리케이션(240)의 데이터 암호화 모듈(242)은 보안 운영체제(250)를 통해 공유 메모리(280)로부터 데이터를 읽어 간다. 데이터 암호화 모듈(242)이 데이터를 읽어 가게 되면 데이터는 공유 메모리(280)에서 삭제될 수 있다.
데이터 암호화 모듈(242)는 읽어 온 데이터를 상기 생성된 키를 이용하여 암호화한다. 암호화된 데이터는 공유 메모리(280)에 저장된다. 그러면, 암/복호화 요청 모듈(222)은 드라이버 세트(230)를 통해 공유 메모리(280)에 액세스하여 암호화된 데이터를 읽어 간다. 암/복호화 요청 모듈(222)이 암호화된 데이터를 읽어 가게 되면 암호화된 데이터는 공유 메모리(280)에서 삭제될 수 있다. 암/복호화 요청 모듈(222)은 읽어 온 암호화된 데이터를 해당 어플리케이션에 전달한다.
키 생성의 이유가 복호화 요청인 경우, 트러스티드 어플리케이션(240)의 데이터 복호화 모듈(243)은 보안 운영체제(250)를 통해 공유 메모리(280)로부터 암호화된 데이터를 읽어 오고, 읽어 온 암호화된 데이터를 상기 생성된 키를 이용하여 복호화한다. 이때 데이터 복호화 모듈(243)이 암호화된 데이터를 읽어 가게 되면 암호화된 데이터는 공유 메모리(280)에서 삭제될 수 있다. 복호화된 데이터는 공유 메모리(280)에 저장된다. 그러면, 암/복호화 요청 모듈(222)은 드라이버 세트(230)를 통해 공유 메모리(280)에 액세스하여 복호화된 데이터를 읽어 간다. 암/복호화 요청 모듈(222)이 복호화된 데이터를 읽어 가게 되면 복호화된 데이터는 공유 메모리(280)에서 삭제될 수 있다. 암/복호화 요청 모듈(222)은 읽어 온 복호화된 데이터를 해당 어플리케이션에 전달한다.
도 3은 본 개시의 다른 실시예에 따른 휴대 단말의 소프트웨어 아키텍처를 설명하기 위한 도면이다. 도 3을 설명함에 있어, 앞서 설명한 내용과 중복되는 설명은 생략된다.
도 1 및 도 3을 참조하면, 사용자가 노말 어플리케이션(310)에게 데이터의 암호화 또는 복호화를 요청하면, 노말 어플리케이션(310)은 사용자에게 패스워드 입력을 요청한다. 사용자가 패스워드를 예컨대, 터치패널(111)을 통해 입력하면, 물리머신(370)은 터치패널(110)로부터 패스워드를 수신하고, 이를 드라이버 세트(330)로 전달한다. 이에 응답하여 드라이버 세트(330)는 패스워드를 노말 운영체제(320)로 전달하고, 노말 운영체제(320)는 패스워드를 노말 어플리케이션(310)으로 전달한다. 노말 어플리케이션(310)은 직접, 패스워드를 보안 영역의 패스워드 획득 모듈(344)로 전송한다. 패스워드 획득 모듈(344)은 패스워드를 키 생성 모듈(341)로 전송한다. 그러면 키 생성 모듈(341)은 패스워드와 보안키를 이용하여 암호화키 또는 복호화키를 생성한다. 한편, 암호화 또는 복호화 대상인 데이터는 공유 메모리(280)에 저장될 수 있다.
사용자가 노말 어플리케이션(310)에게 데이터의 암호화 또는 복호화를 요청하면, 노말 어플리케이션(310)은 데이터의 암호화 또는 복호화를 요청하는 메시지를 노말 운영체제(320)에 전달한다. 이에 응답하여 노말 운영체제(320)의 암/복호화 요청 모듈(321)은 드라이버 세트(330) 및 모니터(360)를 통해 보안 운영체제(350)에 메시지를 전달한다. 보안 운영체제(350)는 암/복호화 요청 모듈(321)로부터 요청 메시지를 수신하고, 이를 트러스티드 어플리케이션(340)에 전달한다.
키가 생성되면, 키 생성의 이유가 암호화 요청인 경우, 데이터 암호화 모듈(342)은 보안 운영체제(350)를 통해 공유 메모리(380)로부터 데이터를 읽어 가고, 읽어 온 데이터를 상기 생성된 키를 이용하여 암호화한다. 암호화된 데이터는 공유 메모리(380)에 저장된다. 그러면, 암/복호화 요청 모듈(321)은 드라이버 세트(330)를 통해 공유 메모리(380)에 액세스하여 암호화된 데이터를 읽어 가고, 읽어 온 암호화된 데이터를 해당 어플리케이션에 전달한다.
키 생성의 이유가 복호화 요청인 경우, 데이터 복호화 모듈(343)은 보안 운영체제(350)를 통해 공유 메모리(380)로부터 암호화된 데이터를 읽어 오고, 읽어 온 암호화된 데이터를 상기 생성된 키를 이용하여 복호화한다. 복호화된 데이터는 공유 메모리(280)에 저장된다. 그러면, 암/복호화 요청 모듈(322)은 드라이버 세트(330)를 통해 공유 메모리(380)에 액세스하여 복호화된 데이터를 읽어 가고, 읽어 온 복호화된 데이터를 해당 어플리케이션에 전달한다.
도 4는 본 개시의 일 실시예에 따른 데이터 보호 방법을 설명하기 위한 흐름도이다.
도 4를 참조하면, 단계 410에서 노말 영역은 사용자 입력부 예컨대, 터치 패널(111)이나 키입력부(120)를 통해 사용자로부터 데이터 암호화 요청 및 패스워드를 수신한다.
단계 420에서 노말 영역은 데이터 암호화 요청 메시지와 패스워드를 보안 영역에 전달한다. 여기서 데이터 암호화 요청 메시지와 패스워드는 동시에 전달될 수 있다. 또한 데이터 암호화 요청 메시지가 먼저 전달되고 패스워드가 그 후에 전달될 수도 있다. 또는 그 반대일 수도 있다.
단계 430에서 보안 영역은 노말 영역의 데이터 암호화 요청에 응답하여, 패스워드와 보안키를 이용하여 암호화키를 생성한다.
키 생성에는 다음과 같은 연산 방법들 중 하나 혹은 둘 이상의 조합이 이용될 수 있다. 물론 다음과 같은 연산 방법들이 본 개시의 기술적 사상을 한정하는 것은 아니다.
(1) KEY = K_duk ⊙ K_duk ⊙ PW ⊙ PV
(2) KEY = F(K_duk ⊙ password) 혹은 F(K_duk ⊙ PW ⊙ PV)
(3) KEY = F(K_duk) ⊙ PW 혹은 F(K_duk ⊙ PV) ⊙ PW
(4) KEY = F(K_duk ⊙ PV) ⊙ PW ⊙ PV
(5) KEY = K_duk ⊙ F(PW) ⊙ F(PW ⊙ PV)
(6) KEY = K_duk ⊙ PV ⊙ F(PW)
(7) KEY = F(K_duk ⊙ PW ◎ PV)
(8) KEY = H(K_duk || PW)
위에서, K_duk은 디바이스 고유키(Device Unique Key) 정보로써 보안 영역에 포함된 보안키를 의미한다. 디바이스 고유키는 전자 장치마다 개별적인 값이며, 각 전자 장치의 보안 영역에 하드웨어적 또는 소프트웨어적으로 기록되는, 태생적인 고유 정보이다. PW는 패스워드를 의미한다. PV는 사전에 미리 정의된 값(예컨대, 텍스트)을 의미한다. ⊙와 ◎는 임의의 연산을 의미한다. ⊙ 및 ◎는 같은 연산일수도 있고 다른 연산일수도 있다. ⊙ 및 ◎의 예에는 XOR 연산, 조합(concatenation) 연산 등이 있다. F()는 임의의 함수를 의미한다. 예컨대, SHA-1, MD5, SHA-256, RC4, AES, DES, 3DES, RSA 등과 같은 각종 암호 알고리즘들이 F()로 이용될 수 있다. H()는 해시 함수를 의미하고, ||는 조합(concatenation) 연산을 의미한다.
단계 440에서 보안 영역은 암호화키를 이용하여 데이터를 암호화한다. 단계 450에서 보안 영역은 암호화된 데이터를 노말 영역으로 전달한다.
도 5는 본 개시의 다른 실시예에 따른 데이터 보호 방법을 설명하기 위한 흐름도이다. 도 5를 설명함에 있어, 앞서 설명한 내용과 중복되는 설명은 생략된다.
도 5를 참조하면, 단계 510에서 노말 영역은 입력부 예컨대, 터치 패널(111)을 통해 사용자로부터 데이터 복호화 요청 및 패스워드를 수신한다.
단계 520에서 노말 영역은 데이터 복호화 요청 메시지와 패스워드를 보안 영역에 전달한다.
단계 530에서 보안 영역은 노말 영역의 데이터 암호화 요청에 응답하여, 패스워드와 보안키를 이용하여 암호화키를 생성한다. 키 생성에는 상술한 바와 같은 연산 방법들 중 하나 혹은 둘 이상의 조합이 이용될 수 있다.
단계 540에서 보안 영역은 복호화키를 이용하여 암호화된 데이터를 복호화한다. 단계 550에서 보안 영역은 복호화된 데이터를 노말 영역으로 전달한다.
이상으로 본 개시의 실시예들에 따르면 다음과 같은 장점들이 제공될 수 있다.
암호화되는 데이터마다 각각 다른 키(보안키)로 암호화가 가능하다.
공격자가 어플리케이션이나 사용자 인증 모듈(본 개시의 설명 및 도안에는 도시되지 않았으나 일반적인 보안 기술에서는 노말 영역에 포함됨)을 우회하더라도, 데이터 복호화에 필요한 패스워드를 알 수 없을 경우, 데이터에 접근할 수 없다.
암호화 또는 복호화키의 생성을 위해 어떠한 정보도 저장장치 (HDD, flash memory, sd card 등)에 별도로 저장될 필요가 없다. 또한 저장장치에 대한 접근이 필요 없다.
사용자가 간단하고 단순한 패스워드를 사용하더라도, 딕셔너리 공격(dictionary attack) 및 오프라인 패스워드 추측 공격(offline password guessing attack)으로부터 비교적 안전하다.
틀린 password의 입력횟수를 제한할 경우, 추측 공격으로부터 좀 더 안전하다. 일례로, 데이터 복호화 모듈은 특정 데이터의 복호화 실패 시, 일정 기간 동안 혹은 영구적으로 해당 데이터의 복호화를 거부하는 방법을 사용할 수 있다.
패스워드가 노출되는 경우에도, 보안키가 노출되지 않으면 복호화키나 암호화키도 노출되지 않는다. 즉, 본 개시에 따른 보안 강도는 "패스워드의 보안 강도"와 "보안키의 보안 강도 혹은 하드웨어 기반 보안 기술(hardware-based security technology)의 보안 강도"가 합쳐진 수준이다. 즉 본 개시에 따른 방법 및 장치는 패스워드로부터 생성된 키를 사용하는 경우 혹은 디바이스 고유 비밀(device-unique secret)로부터 생성한 키를 사용하는 경우보다 안전하며, 심지어 하드웨어 기반 보안 기술(hardware-based security technology)를 이용하는 경우에만 접근 가능한 보안키를 사용하는 경우보다도 더욱 안전한 보안을 제공할 수 있다.
상술한 바와 같은 본 개시에 따른 방법은 다양한 컴퓨터를 통하여 수행될 수 있는 프로그램 명령으로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 여기서 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 포함할 수 있다. 또한 프로그램 명령은 본 개시를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수 있다. 또한 기록매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기매체(Magnetic Media)와, CD-ROM, DVD와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 롬(ROM)과, 램(RAM)과, 플래시 메모리 등과 같은 하드웨어 장치가 포함될 수 있다. 또한 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라, 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드가 포함될 수 있다. 하드웨어 장치는 본 개시를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.
본 개시에 따른 방법 및 장치는 전술한 실시 예에 국한되지 않고 본 개시의 기술 사상이 허용하는 범위에서 다양하게 변형하여 실시할 수가 있다.
100: 휴대 단말
110: 표시부 111: 터치 패널
120: 키입력부 130: 저장부
131: 노말 영역 132: 보안 영역
132a: 보안키 140: 무선통신부
150: 오디오 처리부 160: 제어부
161: 메인메모리 161a: 노말 영역
162b: 보안 영역

Claims (16)

  1. 전자 장치를 동작시키는 방법에 있어서,
    상기 전자 장치의 노말 영역이 사용자 입력부로부터 패스워드를 수신하는 단계;
    상기 노말 영역이 상기 패스워드를 상기 전자 장치의 보안 영역에 전달하는 단계;
    상기 보안 영역이 보안키와 상기 패스워드를 이용하여 암호화키 또는 복호화키를 생성하는 단계;
    상기 보안 영역이 상기 암호화키 또는 상기 복호화키를 이용하여 데이터를 암호화 또는 복호화하는 단계; 및
    상기 보안 영역이 상기 암호화된 데이터 또는 상기 복호화된 데이터를 상기 노말 영역으로 전달하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 암호화키 또는 상기 복호화키를 생성하는 단계는,
    상기 보안키 및 상기 패스워드와 함께, 미리 정의된 값을 이용하여 암호화키 또는 복호화키를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서,
    상기 암호화키 및 상기 복호화키는 대칭 키인 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서,
    상기 노말 영역이 상기 패스워드를 상기 보안 영역에 전달하는 단계는,
    상기 노말 영역이 상기 패스워드를 공유 메모리에 저장하는 단계; 및
    상기 보안 영역이 상기 공유 메모리로부터 상기 패스워드를 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서,
    상기 노말 영역이 상기 패스워드를 상기 보안 영역에 전달하는 단계는,
    상기 보안 영역이 상기 노말 영역의 어플리케이션으로부터 상기 패스워드를 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서,
    상기 보안키는 디바이스 고유 키 정보를 포함하는 것을 특징으로 하는 방법.
  7. 사용자 입력부;
    노말 영역과 보안 영역을 포함하는 메모리; 및
    상기 노말 영역에 접근하여 상기 노말 영역의 운영체제와 어플리케이션을 실행하고, 상기 보안 영역에 접근하여 상기 보안 영역의 운영체제와 어플리케이션을 실행하고, 상기 사용자 입력부와 상기 메모리를 연결하는 프로세서를 포함하고,
    상기 노말 영역이 상기 사용자 입력부로부터 패스워드를 수신하고, 상기 패스워드를 상기 보안 영역에 전달하고,
    상기 보안 영역이 보안키와 상기 패스워드를 이용하여 암호화키 또는 복호화키를 생성하고, 상기 암호화키 또는 상기 복호화키를 이용하여 데이터를 암호화 또는 복호화하고, 상기 보안 영역이 상기 암호화된 데이터 또는 상기 복호화된 데이터를 상기 노말 영역으로 전달하는 것을 특징으로 하는 전자 장치.
  8. 제 7 항에 있어서,
    상기 보안 영역은,
    상기 보안키 및 상기 패스워드와 함께, 미리 정의된 값을 이용하여 암호화키 또는 복호화키를 생성하는 것을 특징으로 하는 전자 장치.
  9. 제 7 항에 있어서,
    상기 암호화키 및 상기 복호화키는 대칭 키인 것을 특징으로 하는 전자 장치.
  10. 제 7 항에 있어서,
    상기 패스워드를 저장하는 공유 메모리를 포함하고,
    상기 보안 영역은 상기 공유 메모리로부터 상기 패스워드를 수신하는 것을 특징으로 하는 전자 장치.
  11. 제 10 항에 있어서,
    상기 암호화된 데이터 또는 상기 복호화된 데이터는 상기 공유 메모리를 통해 상기 보안 영역에서 상기 노말 영역으로 전달되는 것을 특징으로 하는 전자 장치.
  12. 제 7 항에 있어서,
    상기 보안 영역은 상기 노말 영역의 어플리케이션으로부터 상기 패스워드를 수신하는 것을 특징으로 하는 전자 장치.
  13. 제 7 항에 있어서,
    상기 프로세서는,
    적어도 하나의 씨피유(CPU)나 에이피(AP)를 포함하는 것을 특징으로 하는 전자 장치.
  14. 제 7 항에 있어서,
    상기 사용자 입력부는,
    터치스크린을 포함하는 것을 특징으로 하는 전자 장치.
  15. 제 7 항에 있어서,
    상기 보안 영역의 어플리케이션은
    상기 암호화키 또는 상기 복호화키를 생성하는 키 생성 모듈과,
    상기 데이터를 암호화 또는 복호화하는 데이터 암호화 및 복호화 모듈을 포함하는 것을 특징으로 하는 전자 장치.
  16. 제 7 항에 있어서,
    상기 보안키는 디바이스 고유 키 정보를 포함하는 것을 특징으로 하는 방법.
KR1020130025292A 2013-03-08 2013-03-08 데이터 보호 방법 및 이를 구현하는 전자 장치 KR20140110637A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130025292A KR20140110637A (ko) 2013-03-08 2013-03-08 데이터 보호 방법 및 이를 구현하는 전자 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130025292A KR20140110637A (ko) 2013-03-08 2013-03-08 데이터 보호 방법 및 이를 구현하는 전자 장치

Publications (1)

Publication Number Publication Date
KR20140110637A true KR20140110637A (ko) 2014-09-17

Family

ID=51756622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130025292A KR20140110637A (ko) 2013-03-08 2013-03-08 데이터 보호 방법 및 이를 구현하는 전자 장치

Country Status (1)

Country Link
KR (1) KR20140110637A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160140159A (ko) * 2015-05-29 2016-12-07 삼성전자주식회사 전자 장치 및 커널 데이터 접근 방법
WO2019190024A1 (en) * 2018-03-26 2019-10-03 Samsung Electronics Co., Ltd. Mobile electronic device and method for forwarding user input to application according to input means

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160140159A (ko) * 2015-05-29 2016-12-07 삼성전자주식회사 전자 장치 및 커널 데이터 접근 방법
WO2019190024A1 (en) * 2018-03-26 2019-10-03 Samsung Electronics Co., Ltd. Mobile electronic device and method for forwarding user input to application according to input means
KR20190112406A (ko) * 2018-03-26 2019-10-07 삼성전자주식회사 입력 수단에 따른 어플리케이션으로 사용자 입력을 전달하는 모바일 전자 장치 및 방법
US11093198B2 (en) 2018-03-26 2021-08-17 Samsung Electronics Co., Ltd. Mobile electronic device and method for forwarding user input to application according to input means

Similar Documents

Publication Publication Date Title
US9652610B1 (en) Hierarchical data security measures for a mobile device
CN111444528B (zh) 数据安全保护方法、装置及存储介质
US11025644B2 (en) Data verification via independent processors of a device
US10846696B2 (en) Apparatus and method for trusted execution environment based secure payment transactions
US9571280B2 (en) Application integrity protection via secure interaction and processing
US10171994B2 (en) Mobile device and method of sharing content
KR20140110639A (ko) 데이터 보호 방법 및 이를 구현하는 전자 장치
US10078599B2 (en) Application access control method and electronic apparatus implementing the same
US9582656B2 (en) Systems for validating hardware devices
CN104954126B (zh) 敏感操作验证方法、装置及系统
WO2017028711A1 (zh) 数据处理的方法、穿戴式电子设备和系统
KR102180529B1 (ko) 어플리케이션 접근 제어 방법 및 이를 구현하는 전자 장치
KR102071438B1 (ko) 이동 단말의 결제 인증 방법 및 장치 그리고 이동 단말
US20230161885A1 (en) Security architecture system, cryptographic operation method for security architecture system, and computing device
WO2022143358A1 (zh) 一种密钥管理的方法、相应装置及系统
KR20140114263A (ko) 어플리케이션 인증 방법 및 이를 구현하는 전자 장치
US10423767B2 (en) Content protection system using biometric authentication
KR20140110637A (ko) 데이터 보호 방법 및 이를 구현하는 전자 장치
US20140259155A1 (en) Process authentication method and electronic device implementing the same
KR20160123574A (ko) 외부 디바이스에게 태스크 실행을 요청하는 디바이스 및 그 방법
KR20150091569A (ko) 전자 장치 및 이의 특정 영역에 대한 접근을 제어하는 방법
WO2015043444A1 (zh) 安全模式提示方法和实现该方法的移动设备
KR20130139207A (ko) 휴대용 단말, 휴대용 단말의 하드웨어 모듈간에 전송되는 데이터의 보안 방법
KR20140127124A (ko) 시스템 자원에 대한 접근을 관리하는 전자 장치
KR102042424B1 (ko) 터치이벤트 처리 방법 및 이를 구현하는 휴대 단말

Legal Events

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