KR102126563B1 - 보안 확인을 위한 전자 장치 및 방법 - Google Patents

보안 확인을 위한 전자 장치 및 방법 Download PDF

Info

Publication number
KR102126563B1
KR102126563B1 KR1020130096218A KR20130096218A KR102126563B1 KR 102126563 B1 KR102126563 B1 KR 102126563B1 KR 1020130096218 A KR1020130096218 A KR 1020130096218A KR 20130096218 A KR20130096218 A KR 20130096218A KR 102126563 B1 KR102126563 B1 KR 102126563B1
Authority
KR
South Korea
Prior art keywords
operating system
binary
electronic device
information
security
Prior art date
Application number
KR1020130096218A
Other languages
English (en)
Other versions
KR20150019402A (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 KR1020130096218A priority Critical patent/KR102126563B1/ko
Priority to US14/459,002 priority patent/US9727732B2/en
Publication of KR20150019402A publication Critical patent/KR20150019402A/ko
Application granted granted Critical
Publication of KR102126563B1 publication Critical patent/KR102126563B1/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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/74Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

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

Abstract

본 발명의 다양한 실시 예는 전자 장치의 보안 확인을 위한 장치 및 방법에 관한 것이다. 이때. 보안 상태를 확인하기 위한 방법은, 상기 전자 장치의 제 2 운영 체제에서 상기 전자 장치의 부팅에 따라 상기 전자 장치의 메모리에 로드되는 시스템 바이너리의 보안 상태를 확인하는 과정과, 상기 전자 장치의 제 1 운영 체제로부터의 요청에 따라, 상기 제 2 운영 체제에서 상기 보안 상태에 대한 정보를 상기 제 1 운영 체제로 전송하는 과정을 포함할 수 있다. 또한, 전자 장치는 다른 실시 예에 따른 보안 상태를 확인할 수도 있다.

Description

보안 확인을 위한 전자 장치 및 방법{ELECTRONIC DEVICE AND METHOD FOR IDNETIFYING SECURITY}
본 발명은 전자 장치의 보안 확인을 위한 장치 및 방법에 관한 것이다.
전자 장치는 정보통신 기술 및 반도체 기술의 발전으로 음성 통화 서비스, 메신저 서비스, 방송 서비스 및 무선 인터넷 서비스와 같은 다양한 서비스를 제공함에 따라 현대 사회의 필수품으로, 정보 전달의 중요 수단이 되고 있다.
최근, 전자 장치는 사용자의 편의를 위해 금융 거래 서비스 및 업무 처리 서비스와 같은 보안 업무를 처리할 수 있다. 이에 따라, 전자 장치는 금융 거래 서비스 및 업무 처리를 위한 보안 정보를 저장할 수 있다.
리눅스(linux) 기반의 전자 장치는 리눅스 특유의 개방성으로 인해 사용자들에게 시스템을 자유롭게 변경할 수 있는 유연성을 제공할 수 있다. 하지만, 리눅스 기반의 전자 장치는 리눅스 특유의 개방성으로 인해 보안에 취약한 문제점을 포함한다.
본 발명의 실시 예는 전자 장치의 보안을 강화하기 위한 장치 및 방법을 제공한다.
본 발명의 실시 예는 전자 장치에서 사용자 인터페이스 서비스를 처리하는 프로세서의 일반 영역과 물리적 또는 논리적으로 격리된 프로세서의 보안 영역을 이용하여 보안에 민감한 연산 및 데이터를 처리하기 위한 장치 및 방법을 제공한다.
본 발명의 실시 예는 전자 장치에서 부팅시, 보안 영역을 이용하여 일반 영역의 보안 상태를 확인하기 위한 장치 및 방법을 제공한다.
본 발명의 실시 예는 전자 장치에 응용프로그램 설치 시, 전자 장치의 보안 영역을 이용하여 일반 영역의 보안 상태를 확인하기 위한 장치 및 방법을 제공한다.
본 발명의 실시 예는 전자 장치의 보안 영역에서 확인한 일반 영역의 보안 상태에 기반하여 응용프로그램의 설치 가능 여부를 확인하기 위한 장치 및 방법을 제공한다.
본 발명의 실시 예는 전자 장치에서 보안 영역을 이용하여 일반 영역의 비밀 키를 관리하기 위한 장치 및 방법을 제공한다.
본 발명의 실시 예에 따르면, 전자 장치에서 보안 상태를 확인하기 위한 방법은, 상기 전자 장치의 제 2 운영 체제에서 상기 전자 장치의 부팅에 따라 상기 전자 장치의 메모리에 로드되는 시스템 바이너리의 보안 상태를 확인하는 과정과, 상기 전자 장치의 제 1 운영 체제로부터의 요청에 따라, 상기 제 2 운영 체제에서 상기 보안 상태에 대한 정보를 상기 제 1 운영 체제로 전송하는 과정을 포함할 수 있다.
본 발명의 실시 예에 따르면, 전자 장치에서 보안 상태를 확인하기 위한 방법은, 상기 전자 장치의 제 2 운영 체제에서 상기 전자 장치의 부팅에 따라 상기 전자 장치의 메모리에 로드되는 시스템 바이너리를 확인하는 과정과, 상기 전자 장치의 제 1 운영 체제에서 응용프로그램의 암호화 키를 요청하는 경우, 상기 제 2 운영 체제에서 상기 시스템 바이너리에 기반하여 상기 메모리에 로드된 시스템 바이너리의 변조 여부를 확인하는 과정과, 상기 메모리에 로드된 시스템 바이너리가 변조된 경우, 상기 응용프로그램의 암호화 키 전송을 제한하는 과정을 포함할 수 있다.
본 발명의 실시 예에 따르면, 전자 장치는, 메모리, 및 다수 개의 운영 체제들을 구동하는 적어도 하나의 프로세서를 포함하며, 상기 프로세서는, 제 2 운영 체제에서 상기 전자 장치의 부팅에 따라 상기 메모리에 로드되는 시스템 바이너리의 보안 상태를 확인하고, 제 1 운영 체제로부터의 요청에 따라, 상기 제 2 운영 체제에서 상기 보안 상태에 대한 정보를 상기 제 1 운영 체제로 전송할 수 있다.
본 발명의 실시 예에 따르면, 전자 장치는, 메모리, 및 다수 개의 운영 체제들을 구동하는 적어도 하나의 프로세서를 포함하며, 상기 프로세서는, 제 2 운영 체제에서 상기 전자 장치의 부팅에 따라 상기 메모리에 로드되는 시스템 바이너리를 확인하고, 상기 제 1 운영 체제에서 응용프로그램의 암호화 키를 요청하는 경우, 상기 제 2 운영 체제에서 상기 시스템 바이너리에 기반하여 상기 메모리에 로드된 시스템 바이너리의 변조 여부를 확인하고, 상기 메모리에 로드된 시스템 바이너리가 변조된 경우, 상기 응용프로그램의 암호화 키 전송을 제한할 수 있다.
상술한 바와 같이 전자 장치에서 사용자 인터페이스 서비스를 처리하는 프로세서의 일반 영역과 논리적 또는 물리적으로 분리된 프로세서의 보안 영역에서 일반 영역의 비밀 키를 관리함으로써, 전자 장치에 저장된 데이터의 신뢰성을 높일 수 있다.
또한, 전자 장치에서 보안 영역에서 확인한 일반 영역의 보안 상태에 기반하여 응용프로그램을 설치함으로써, 전자 장치의 무결성이 보증된 상태에서 응용프로그램을 설치할 수 있다.
도 1은 본 발명의 실시 예에 따른 전자 장치의 블록 구성을 도시한다.
도 2는 본 발명의 실시 예에 따른 프로세서의 상세 블록 구성을 도시한다.
도 3은 본 발명의 실시 예에 따른 전자 장치의 보안 영역에서 사용자 인터페이스 서비스를 위한 구동 영역의 상태 정보를 확인하기 위한 절차를 도시한다.
도 4는 본 발명의 실시 예에 따른 전자 장치의 보안 영역에서 사용자 인터페이스 서비스를 위한 일반 영역의 상태 정보를 전송하기 위한 절차를 도시한다.
도 5는 본 발명의 실시 예에 따른 전자 장치에 응용프로그램의 설치 가능 여부를 확인하기 위한 절차를 도시한다.
도 6은 본 발명의 실시 예에 따른 전자 장치의 보안 영역에서 비밀키를 관리하기 위한 절차를 도시한다. 및
도 7은 본 발명의 다른 실시 예에 따른 전자 장치의 보안 영역에서 비밀키를 관리하기 위한 절차를 도시한다.
이하 본 발명의 다양한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다. 그리고, 본 발명의 실시 예를 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하 본 발명은 전자 장치의 보안 확인을 위한 기술에 대해 설명한다.
이하 본 발명에 따른 전자 장치는 통신 기능이 포함된 장치일 수 있다. 예를 들어, 전자 장치는 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera) 및 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory) 또는 스마트 와치(smartwatch)) 중 하나 이상을 포함할 수 있다.
다른 예를 들어, 전자 장치는 통신 기능을 갖춘 스마트 가전 제품(smart home appliance)일 수 있다. 예컨대, 스마트 가전 제품은 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), TV 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(game consoles), 전자 사전, 전자 키, 캠코더(camcorder) 및 전자 액자 중 하나 이상을 포함할 수 있다.
또 다른 예를 들어, 전자 장치는 통신 기능을 포함한 각종 의료기기(예: MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 초음파기 등), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치 및 자이로 콤파스 등), 항공 전자기기(avionics) 및 보안 기기 중 하나 이상을 포함할 수 있다.
또 다른 예를 들어, 전자 장치는 통신 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector) 및 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 등) 중 하나 이상을 포함할 수 있다. 본 발명에 따른 전자 장치는 상술한 다양한 장치들 중 하나 이상의 조합일 수 있다. 또한, 본 발명에 따른 전자 장치는 상술한 기기들에 한정되지 않음은 당업자에게 자명하다.
도 1은 본 발명의 실시 예에 따른 전자 장치의 블록 구성을 도시하고 있다.
도 1을 참조하면 전자장치(100)는 버스(110), 프로세서(120), 메모리(130), 사용자 입력부(140), 디스플레이부(150) 및 통신부(160)을 포함한다. 여기서, 프로세서(120) 및 메모리(130) 중 하나 이상은 다수 개 존재할 수 있다.
버스(110)는 전자장치(100)에 포함되는 구성요소들을 서로 연결하고, 전자장치(100)에 포함되는 구성요소들 간의 통신을 제어한다.
프로세서(120)는 전자장치(100)가 다양한 서비스를 제공하도록 제어한다. 예를 들어, 프로세서(120)는 버스(110)를 통해 전자장치(100)에 포함되는 하나 이상의 다른 구성요소(예: 메모리(130), 사용자 입력부(140), 디스플레이부(150), 통신부(160))로부터 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다.
프로세서(120)는 메모리(130)에 저장된 제 1 운영 체제를 실행하여 사용자 인터페이스 서비스를 제어한다. 만일, 제 1 운영 체제를 이용하여 사용자 인터페이스 서비스 제공 중 보안에 관련된 연산 및 데이터를 처리하고자 하는 경우, 프로세서(120)는 메모리(130)에 저장된 제 2 운영 체제를 이용하여 보안에 관련된 연산 및 데이터를 처리한다. 예를 들어, 전자 장치(100)가 부팅되는 경우, 프로세서(120)는 제 2 운영 체제를 이용하여 전자 장치(100)의 부팅에 따른 시스템 바이너리 및 커널을 통한 서비스 접근 권한 설정 여부 중 하나 이상을 확인할 수 있다. 만일, 시스템 바이너리를 확인하는 경우, 프로세서(120)는 제 2 운영 체제를 이용하여 확인한 시스템 바이너리에 대한 해쉬(hash) 값을 생성하여 메모리(130)에 저장할 수 있다. 여기서, 시스템 바이너리는 부트 바이너리 및 커널 바이너리를 포함할 수 있다. 커널을 통한 서비스 접근 권한 설정 여부는 SE 리눅스(Security-Enhanced Linux)와 같이 커널을 통한 서비스 접근을 제한하는지를 나타낼 수 있다.
다른 예를 들어, 보안 관리가 필요한 응용프로그램을 설치하는 경우, 프로세서(120)는 제 1 운용 체제를 이용하여 외부 서버로 응용프로그램 설치를 요청할 수 있다. 만일, 제 1 운영 체제를 통해 외부 서버로부터 전자 장치(100)의 상태 정보 요청 신호를 수신한 경우, 프로세서(120)는 제 2 운영 체제를 통해 확인한 전자 장치(100)의 보안 상태 정보를 암호화하여 제 1 운영 체제를 통해 외부 서버로 전송할 수 있다. 만일, 외부 서버에서 응용프로그램의 설치를 수락한 경우, 프로세서(120)는 제 1 운영 체제를 이용하여 보안 관리가 필요한 응용프로그램을 설치할 수 있다. 여기서, 전자 장치(100)의 보안 상태 정보는, 프로세서(120)에서 부팅 시점에 확인한 시스템 바이너리, 전자 장치(100)의 보안 상태 변수 및 주기적으로 확인한 커널 바이너리의 상태 정보 중 하나 이상을 포함할 수 있다. 이때, 전자 장치(100)의 보안 상태 변수는 전자 장치(100)의 부팅에 따른 시스템 바이너리 및 커널을 통한 서비스 접근 권한 설정 여부 중 하나 이상에 따른 전자 장치(100)의 보안 상태를 나타낼 수 있다.
또 다른 예를 들어, 제 1 운영 체제를 통해 실행되는 응용 프로그램이 비밀 키의 저장을 요청하는 경우, 프로세서(120)는 제 2 운영 체제를 이용하여 응용프로그램의 비밀키를 저장할 수 있다. 응용 프로그램이 비밀키를 요청하는 경우, 프로세서(120)는 전자 장치(100)의 보안 상태에 따라 응용 프로그램의 비밀 키를 선택적으로 제공할 수 있다. 예컨대, 전자 장치(100)의 시스템 바이너리의 변경 이력이 확인되지 않는 경우, 프로세서(120)는 제 1 운영 체제로 응용프로그램의 비밀 키를 제공할 수 있다. 한편, 전자 장치(100)의 시스템 바이너리의 변경 이력이 확인된 경우, 프로세서(120)는 응용프로그램의 비밀 키 전송을 제한할 수 있다. 이때, 프로세서(120)는 전자 장치(100)의 부팅 시점에 확인한 시스템 바이너리 및 주기적으로 확인한 커널 바이너리의 상태 정보 중 하나 이상에 기반하여 전자 장치(100)의 시스템 바이너리의 변경 이력을 확인할 수 있다. 여기서, 비밀 키는 응용프로그램이 보안이 필요한 기능을 사용할 경우 사용하는 임의의 암호화 키를 나타낼 수 있다. 예를 들어, 비밀키는 기 설정된 암호화 키와 사용자로부터 입력받은 암호 중 하나 이상을 포함할 수 있다.
메모리(130)는 전자장치(100)에 포함되는 하나 이상의 구성 요소(프로세서(120), 사용자 입력부(140), 디스플레이부(150), 통신부(160))로부터 수신되거나 하나 이상의 구성 요소에 의해 생성된 명령 또는 데이터를 저장한다. 예를 들어, 메모리(130)는 기준 시스템 바이너리의 해쉬 값 및 전자 장치(100)의 부팅 시 프로세서(120)에서 확인한 시스템 바이너리에 대한 해쉬 값을 저장할 수 있다. 여기서, 기준 시스템 바이너리는 전자 장치(100)의 해킹 여부를 확인하기 위해 전자 장치(100) 생성 시 설정된 것으로, 펌웨어 업데이트를 통해 갱신될 수 있다.
메모리(130)는 사용자 인터페이스 서비스를 제어하기 위한 제 1 운영 체제와 전자 장치(100)의 보안을 제어하기 위한 제 2 운영 체제를 포함할 수 있다. 이때, 메모리(130)는 제 1 운영 체제를 위한 명령 또는 데이터를 저장하는 영역과 제 2 운영 체제를 위한 명령 또는 데이터를 저장하는 영역이 물리적 또는 논리적으로 구분될 수 있다. 이에 따라, 메모리(130)의 제 2 운영 체제를 위한 영역은 제 1 운영 체제를 통해 접근이 제한될 수 있다. 예를 들어, 제 1 운영 체제는, 커널(kernel), 미들웨어(middleware), 어플리케이션 프로그래밍 인터페이스(API: application programming interface) 및 어플리케이션(application)과 같은 프로그래밍 모듈들을 포함할 수 있다. 여기서, 제 1 운영 체제를 일반 운영 체제(normal world)라 칭하고, 제 2 운영 체제를 보안 운영 체제(secure world)라 칭할 수도 있다. 만일, 제 1 운영 체제의 저장 영역과 제 2 운영 체제의 저장 영역이 물리적으로 구분되는 경우, 제 1 운영 체제의 저장 영역과 제 2 운영 체제의 저장 영역은 서로 다른 칩 내부의 메모리(130)로 구분될 수 있다.
사용자 입력부(140)는 사용자의 선택에 의해 발생하는 명령 또는 데이터를 버스(110)를 통해 프로세서(120) 또는 메모리(130)에 전송한다.
디스플레이부(150)는 사용자에게 화상, 영상 또는 데이터를 표시한다.
통신부(160)는 하나 이상의 다른 전자장치(102 또는 104) 또는 서버(164) 또는 하나 이상의 주변 기기와 전자장치(100) 간의 통신을 연결한다. 예를 들어, 통신부(160)는 근거리 통신 프로토콜(예: Wifi(wireless fidelity), BT(Bluetooth), NFC(near field communication)) 또는 네트워크 통신(예: Internet, LAN(local area network), WAN(wire area network), telecommunication network, cellular network, satellite network 또는 POTS(plain old telephone service))(262)를 지원할 수 있다. 여기서, 다른 전자장치(102 또는 104)는 전자 장치(100)의 주변 기기로 전자 장치(100)와 동일한 타입의 장치이거나 또는 다른 타입의 장치를 포함할 수 있다.
도 2는 본 발명의 실시 예에 따른 프로세서의 상세 블록 구성을 도시하고 있다.
도 2를 참조하면 프로세서(120)는 제 1 구동 영역(200) 및 제 2 구동 영역(210)을 포함할 수 있다.
제 1 구동 영역(200)은 메모리(130)에 저장된 제 1 운영 체제를 실행하여 사용자 인터페이스 서비스를 제어한다. 이때, 제 1 구동 영역(200)은 일반 영역이라고도 칭할 수 있다. 예를 들어, 보안 관리가 필요한 응용프로그램을 설치하는 경우, 제 1 구동 영역(200)은 통신부(160)를 통해 외부 서버로 응용프로그램 설치를 요청할 수 있다. 만일, 외부 서버로부터 전자 장치(100)의 보안 상태 정보 요청 신호를 수신한 경우, 제 1 구동 영역(200)은 제 2 구동 영역(210)으로 전자 장치(100)의 보안 상태 정보를 요청할 수 있다. 제 2 구동 영역(210)으로부터 전자 장치(100)의 보안 상태 정보를 제공받은 경우, 제 1 구동 영역(200)은 전자 장치(100)의 보안 상태 정보를 통신부(160)를 통해 외부 서버로 전송할 수 있다. 외부 서버에서 응용프로그램의 설치 수락 정보를 수신한 경우, 제 1 구동 영역(200)은 제 1 운영 체제를 이용하여 보안 관리가 필요한 응용프로그램을 설치할 수 있다.
다른 예를 들어, 제 1 구동 영역(200)은 제 2 구동 영역(210)으로 보안 관리가 필요한 응용프로그램의 비밀 키의 저장을 요청할 수 있다. 만일, 보안 관리가 필요한 응용 프로그램이 비밀키를 필요로 하는 경우, 제 1 구동 영역(200)은 제 2 구동 영역(210)으로 응용 프로그램이 비밀키를 요청할 수 있다.
제 2 구동 영역(210)은 메모리(130)에 저장된 제 2 운영 체제를 실행하여 보안에 관련된 연산 및 데이터를 처리한다. 이때, 제 2 구동 영역(210)을 보안 영역이라 칭할 수도 있다. 예를 들어, 제 2 구동 영역(210)은 상태 확인부(212) 및 보안 제어부(214)를 포함할 수 있다.
상태 확인부(212)는 전자 장치(100)의 보안 상태를 결정하기 위한 변수를 확인할 수 있다. 예를 들어, 전자 장치(100)가 부팅되는 경우, 상태 확인부(212)는 전자 장치(100)의 부팅에 따른 시스템 바이너리 및 커널을 통한 서비스 접근 권한 설정 여부 중 하나 이상을 확인할 수 있다. 만일, 시스템 바이너리를 확인하는 경우, 제 2 구동 영역(210)은 전자 장치(100)의 시스템 바이너리에 대한 해쉬(hash) 값을 생성하여 메모리(130)에 저장할 수 있다. 다른 예를 들어, 상태 확인부(212)는 주기적으로 커널 바이너리를 확인할 수 있다.
보안 제어부(214)는 전자 장치(100)의 보안 상태에 따른 제 1 구동 영역(200)의 동작을 제어할 수 있다. 예를 들어, 제 1 구동 영역(200)으로부터 전자 장치(100)의 상태 정보 요청 신호를 수신한 경우, 전송 제어부(216)는 전자 장치(100)의 보안 상태 정보를 암호화하여 제 1 구동 영역(200)으로 전송할 수 있다. 여기서, 전자 장치(100)의 보안 상태 정보는, 프로세서(120)에서 부팅 시점에 확인한 시스템 바이너리, 전자 장치(100)의 보안 상태 변수 및 주기적으로 확인한 커널 바이너리의 상태 정보 중 하나 이상을 포함할 수 있다. 이때, 전자 장치(100)의 보안 상태 변수는 전자 장치(100)의 부팅에 따른 시스템 바이너리 및 커널을 통한 서비스 접근 권한 설정 여부 중 하나 이상에 따른 전자 장치(100)의 보안 상태를 나타낼 수 있다.
다른 예를 들어, 제 1 구동 영역(200)에서 보안 관리가 필요한 응용 프로그램이 비밀 키의 저장을 요청하는 경우, 보안 제어부(214)는 응용프로그램의 비밀키를 메모리(130)에 저장할 수 있다. 만일, 제 1 구동 영역(200)이 응용 프로그램의 비밀키를 요청하는 경우, 보안 제어부(214)는 전자 장치(100)의 보안 상태에 따라 응용 프로그램의 비밀 키를 선택적으로 전송할 수 있다. 예컨대, 전자 장치(100)의 시스템 바이너리의 변경 이력이 확인되지 않는 경우, 보안 제어부(214)는 제 1 구동 영역(200)으로 응용프로그램의 비밀 키를 제공할 수 있다. 한편, 전자 장치(100)의 시스템 바이너리의 변경 이력이 확인된 경우, 보안 제어부(214)는 응용프로그램의 비밀 키 전송을 제한할 수 있다. 이때, 프로세서(120)는 전자 장치(100)의 부팅 시점에 확인한 시스템 바이너리 및 주기적으로 확인한 커널 바이너리의 상태 정보 중 하나 이상에 기반하여 전자 장치(100)의 시스템 바이너리의 변경 이력을 확인할 수 있다.
상술한 실시 예에서 프로세서(120)는 논리적으로 제 1 운영 체제를 실행하는 제 1 구동 영역(200)과 제 2 운영 체제를 실행하는 제 2 구동 영역(210)으로 구분될 수 있다.
다른 실시 예에서 프로세서(120)는 물리적으로 제 1 운영 체제를 실행하는 제 1 구동 영역(200)과 제 2 운영 체제를 실행하는 제 2 구동 영역(210)으로 구분할 수 있다.
도 3은 본 발명의 실시 예에 따른 전자 장치의 보안 영역에서 사용자 인터페이스 서비스를 위한 일반 영역의 상태 정보를 확인하기 위한 절차를 도시하고 있다.
도 3을 참조하면 전자 장치(100)의 제 2 구동 영역(210)은 301단계에서 전자 장치(100)가 부팅되는지 확인한다.
전자 장치(100)가 부팅되는 경우, 제 2 구동 영역(210)은 303단계에서 전자 장치(100)의 보안 상태 변수를 확인한다. 예를 들어, 제 2 구동 영역(210)은 전자 장치(100)의 부팅에 따른 시스템 바이너리 및 커널을 통한 서비스 접근 권한 설정 여부 중 하나 이상을 확인할 수 있다. 예컨대, 제 2 구동 영역(210)은 전자 장치(100)의 부팅에 따른 시스템 바이너리의 일부일 수 있는 부트로더들을 구성하는 서브 부트로더들의 바이너리를 확인할 수 있다. 여기서, 시스템 바이너리는 부트 바이너리 및 커널 바이너리를 포함할 수 있다. 커널을 통한 서비스 접근 권한 설정 여부는 SE리눅스와 같이 커널을 통한 서비스 접근을 제한하는지를 나타낼 수 있다.
전자 장치(100)의 보안 상태 변수를 확인한 후, 제 2 구동 영역(210)는 305단계에서 전자 장치(100)의 보안 상태 변수를 메모리(130)에 저장한다. 예를 들어,제 2 구동 영역(210)은 전자 장치(100)의 시스템 바이너리에 대한 해쉬 값을 생성하여 메모리(130)에 저장할 수 있다.
도 4는 본 발명의 실시 예에 따른 전자 장치의 보안 영역에서 사용자 인터페이스 서비스를 위한 구동 영역의 상태 정보를 전송하기 위한 절차를 도시하고 있다.
도 4를 참조하면 전자 장치(100)의 제 2 구동 영역(210)은 401단계에서 제 1 구동 영역(200)으로부터 전자 장치(100)의 보안 상태 요청 신호가 수신되는지 확인할 수 있다.
전자 장치(100)의 보안 상태 요청 신호를 수신한 경우, 제 2 구동 영역(210)은 403단계에서 전자 장치(100)의 보안 상태 정보를 확인한다. 예를 들어, 제 2 구동 영역(210)은 전자 장치(100)의 부팅 시점에 측정한 시스템 바이너리를 확인할 수 있다. 다른 예를 들어, 제 2 구동 영역(210)은 전자 장치(100)의 부팅 시점에 측정한 시스템 바이너리 및 커널을 통한 서비스 접근 권한 설정 여부 중 하나 이상에 따른 전자 장치(100)의 보안 상태 변수를 확인할 수 있다. 예컨대, 전자 장치(100)의 부팅 시점에 측정한 시스템 바이너리와 기준 시스템 바이너리가 상이하거나, 커널을 통한 서비스 접근 권한이 설정되지 않은 경우, 전자 장치(100)의 보안 상태 변수는 입증 실패로 설정될 수 있다. 또 다른 예를 들어, 제 2 구동 영역(210)은 커널 바이너리를 확인할 수 있다.
전자 장치(100)의 보안 상태 정보를 확인한 후, 제 2 구동 영역(210)는 405단계에서 전자 장치(100)의 보안 상태 정보를 암호화하여 제 1 구동 영역(200)으로 전송한다.
도 5는 본 발명의 실시 예에 따른 전자 장치에 응용프로그램의 설치 가능 여부를 확인하기 위한 절차를 도시하고 있다.
도 5를 참조하면 보안 관리가 필요한 응용프로그램의 설치가 필요한 경우, 전자 장치(510)의 제 1 구동 영역(512)은 서버(500)로 응용프로그램 설치를 요청할 수 있다(520).
서버(500)는 전자 장치(510)의 응용 프로그램 설치 요청에 따라 전자 장치(510)의 보안 상태 정보를 요청한다(522).
서버(500)로부터 전자 장치(510)의 보안 상태 정보 요청을 수신한 경우, 전자 장치(510)의 제 1 구동 영역(512)은 제 2 구동 영역(512)으로 전자 장치(510)의 보안 상태 정보를 요청한다(524).
제 2 구동 영역(514)은 제 1 구동 영역(512)의 요청에 따라 전자 장치(510)의 보안 상태 정보를 확인하여 제 1 구동 영역(512)으로 전송한다(526). 이때, 제 2 구동 영역(514)은 전자 장치(510)의 보안 상태 정보를 암호화하여 제 1 구동 영역(512)으로 전송할 수 있다. 예를 들어, 제 2 구동 영역(514)은 전자 장치(510)의 부팅 시점에 측정한 시스템 바이너리를 확인할 수 있다. 다른 예를 들어, 제 2 구동 영역(514)은 전자 장치(510)의 부팅 시점에 측정한 시스템 바이너리 및 커널을 통한 서비스 접근 권한 설정 여부 중 하나 이상에 따른 전자 장치(510)의 보안 상태 변수를 확인할 수 있다. 예컨대, 전자 장치(510)의 부팅 시점에 측정한 시스템 바이너리와 기준 시스템 바이너리가 상이하거나, 커널을 통한 서비스 접근 권한이 설정되지 않은 경우, 전자 장치(510)의 보안 상태 변수는 입증 실패로 설정될 수 있다. 또 다른 예를 들어, 제 2 구동 영역(514)은 커널 바이너리를 확인할 수 있다.
제 1 구동 영역(512)은 제 2 구동 영역(514)으로부터 제공받은 암호화된 전자 장치(510)의 보안 상태 정보를 서버(500)로 전송한다(528).
서버(500)는 전자 장치(510)로부터 제공받은 보안 상태 정보에 기반하여 보안 관리가 필요한 응용프로그램의 설치 수락 여부를 결정한다(530). 예를 들어, 전자 장치(510)로부터 제공받은 보안 상태 정보에 기반하여 전자 장치(510)의 무결성이 확인된 경우, 서버(500)는 보안 관리가 필요한 응용프로그램의 설치를 수락할 수 있다.
서버(500)는 응용프로그램의 설치 수락 여부를 전자 장치(510)로 전송한다(532).
만일, 서버(500)가 응용프로그램의 설치를 수락한 경우, 전자 장치(510)의 제 1 구동 영역(512)은 해당 응용프로그램을 설치할 수 있다.
도 6은 본 발명의 실시 예에 따른 전자 장치의 보안 영역에서 비밀키를 관리하기 위한 절차를 도시하고 있다.
도 6을 참조하면 전자 장치(100)의 제 2 구동 영역(210)은 601단계에서 제 1 구동 영역(200)으로부터 비밀 키 저장 요청이 수신되는지 확인한다. 예를 들어, 제 2 구동 영역(210)은 제 1 구동 영역(200)으로부터 보안 관리가 필요한 응용프로그램에 대한 비밀 키 요청 신호가 수신되는지 확인할 수 있다.
제 1 구동 영역(200)으로부터 비밀 키 저장 요청을 수신한 경우, 제 2 구동 영역(210)은 603단계에서 제 1 구동 영역(200)으로부터 제공받은 응용프로그램의 비밀 키를 메모리(130)에 저장한다. 이때, 제 2 구동 영역(210)은 메모리(130) 중 제 2 구동 영역(210)에서만 접근 가능한 영역에 제 1 구동 영역(200)으로부터 제공받은 응용프로그램의 비밀 키를 저장할 수 있다.
이후, 제 2 구동 영역(210)은 605단계에서 제 1 구동 영역(200)으로부터 비밀 키 반환 요청이 수신되는지 확인한다.
제 1 구동 영역(200)으로부터 비밀 키 반환 요청을 수신하지 못한 경우, 제 2 구동 영역(210)은 제 1 구동 영역(200)으로부터 비밀 키 반환 요청이 수신되는지 다시 확인할 수 있다.
제 1 구동 영역(200)으로부터 비밀 키 반환 요청을 수신한 경우, 제 2 구동 영역(210)은 607단계에서 시스템 바이너리의 변조 여부를 확인한다. 예를 들어, 제 2 구동 영역(210)은 전자 장치(100)의 부팅 시점에 측정한 시스템 바이너리와 기준 시스템 바이너리를 비교하여 시스템 바이너리의 변조 여부를 확인할 수 있다. 만일, 전자 장치(100)의 부팅 시점에 측정한 시스템 바이너리의 해쉬 값과 기준 시스템 바이너리의 해쉬 값이 상이한 경우, 제 2 구동 영역(210)은 시스템 바이너리가 변조된 것으로 인식할 수 있다. 여기서, 기준 시스템 바이너리는 전자 장치(100)의 해킹 여부를 확인하기 위해 전자 장치(100) 생성 시 설정된 것으로, 펌웨어 업데이트를 통해 갱신될 수 있다.
시스템 바이너리가 변조된 경우, 제 2 구동 영역(210)은 전자 장치(100)가 해킹된 것으로 인식할 수 있다. 이에 따라, 제 2 구동 영역(210)은 제 1 구동 영역(200)이 요청한 비밀 키를 반환하지 않고 본 알고리즘을 종료할 수 있다.
시스템 바이너리가 변조되지 않은 경우, 제 2 구동 영역(210)은 전자 장치(100)가 해킹되지 않은 것으로 인식할 수 있다. 이에 따라, 제 2 구동 영역(210)은 609단계에서 제 1 구동 영역(200)이 요청한 응용프로그램의 비밀 키를 제 1 구동 영역(200)으로 전송한다.
도 7은 본 발명의 다른 실시 예에 따른 전자 장치의 보안 영역에서 비밀키를 관리하기 위한 절차를 도시하고 있다.
도 7을 참조하면 전자 장치(100)의 제 2 구동 영역(210)은 701단계에서 제 1 구동 영역(200)으로부터 비밀 키 저장 요청이 수신되는지 확인한다. 예를 들어, 제 2 구동 영역(210)은 제 1 구동 영역(200)으로부터 보안 관리가 필요한 응용프로그램에 대한 비밀 키 요청 신호가 수신되는지 확인할 수 있다.
제 1 구동 영역(200)으로부터 비밀 키 저장 요청을 수신한 경우, 제 2 구동 영역(210)은 703단계에서 제 1 구동 영역(200)으로부터 제공받은 응용프로그램의 비밀 키를 메모리(130)에 저장한다. 이때, 제 2 구동 영역(210)은 메모리(130) 중 제 2 구동 영역(210)에서만 접근 가능한 영역에 제 1 구동 영역(200)으로부터 제공받은 응용프로그램의 비밀 키를 저장할 수 있다.
이후, 제 2 구동 영역(210)은 705단계에서 제 1 구동 영역(200)으로부터 비밀 키 반환 요청이 수신되는지 확인한다.
제 1 구동 영역(200)으로부터 비밀 키 반환 요청을 수신하지 못한 경우, 제 2 구동 영역(210)은 제 1 구동 영역(200)으로부터 비밀 키 반환 요청이 수신되는지 다시 확인할 수 있다.
제 1 구동 영역(200)으로부터 비밀 키 반환 요청을 수신한 경우, 제 2 구동 영역(210)은 707단계에서 시스템 바이너리의 변조 여부를 확인한다. 예를 들어, 제 2 구동 영역(210)은 전자 장치(100)의 부팅 시점에 측정한 시스템 바이너리와 기준 시스템 바이너리를 비교하여 시스템 바이너리의 변조 여부를 확인할 수 있다. 만일, 전자 장치(100)의 부팅 시점에 측정한 시스템 바이너리의 해쉬 값과 기준 시스템 바이너리의 해쉬 값이 상이한 경우, 제 2 구동 영역(210)은 시스템 바이너리가 변조된 것으로 인식할 수 있다. 여기서, 기준 시스템 바이너리는 전자 장치(100)의 해킹 여부를 확인하기 위해 전자 장치(100) 생성 시 설정된 것으로, 펌웨어 업데이트를 통해 갱신될 수 있다.
시스템 바이너리가 변조된 경우, 제 2 구동 영역(210)은 전자 장치(100)가 해킹된 것으로 인식할 수 있다. 이에 따라, 제 2 구동 영역(210)은 제 1 구동 영역(200)이 요청한 비밀 키를 반환하지 않고 본 알고리즘을 종료할 수 있다.
시스템 바이너리가 변조되지 않은 경우, 제 2 구동 영역(210)은 709단계로 진행하여 커널 바이너리의 변조 여부를 확인한다. 예를 들어, 제 2 구동 영역(210)은 주기적으로 전자 장치(100)의 커널 바이너리를 측정할 수 있다. 이에 따라, 제 2 구동 영역(210)은 주기적으로 측정한 커널 바이너리와 기준 커널 바이너리를 비교하여 커널 바이너리의 변조 여부를 확인할 수 있다. 만일, 주기적으로 측정한 커널 바이너리의 해쉬 값과 기준 커널 바이너리의 해쉬 값이 상이한 경우, 제 2 구동 영역(210)은 커널 바이너리가 변조된 것으로 인식할 수 있다. 여기서, 기준 커널 바이너리는 전자 장치(100)의 해킹 여부를 확인하기 위해 전자 장치(100) 생성 시 설정된 것으로, 펌웨어 업데이트를 통해 갱신될 수 있다.
커널 바이너리가 변조된 경우, 제 2 구동 영역(210)은 전자 장치(100)가 해킹된 것으로 인식할 수 있다. 이에 따라, 제 2 구동 영역(210)은 제 1 구동 영역(200)이 요청한 비밀 키를 반환하지 않고 본 알고리즘을 종료할 수 있다.
커널 바이너리가 변조되지 않은 경우, 제 2 구동 영역(210)은 전자 장치(100)가 해킹되지 않은 것으로 인식할 수 있다. 이에 따라, 제 2 구동 영역(210)은 711단계에서 제 1 구동 영역(200)이 요청한 응용프로그램의 비밀 키를 제 1 구동 영역(200)으로 전송한다.
본 발명의 실시 예들에 따른 장치(예: 복수의 운영 체제들에 의해 구동되는 전자 장치) 또는 방법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들 중 적어도 둘 이상의 조합의 형태로 구현될 수 있다. 각 방법에 기재된 과정들의 적어도 일부는 순차적, 병렬적, 또는 반복적으로 수행될 수 있으며, 또한, 상기 동작들의 일부가 생략되거나 또는 새로운 동작이 추가될 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(예: 도 1의 100) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다. 하나 이상의 프로그램은, 전자 장치(예: 도 1의 100)로 하여금, 본 발명의 다양한 실시 예들에 따른 방법들을 실행하게 하는 명령어를 포함할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 전자 장치의 동작 순서가 변경 또는 병합되거나 재사용 가능하며 생략 등과 같이 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (17)

  1. 전자 장치에서 보안 상태를 확인하기 위한 방법에 있어서,
    상기 전자 장치의 제 2 운영 체제에서 상기 전자 장치의 부팅에 따라 상기 전자 장치의 메모리에 로드되는 시스템 바이너리의 보안 상태를 확인하는 과정,
    상기 제 2 운영 체제에서 상기 전자 장치의 제 1 운영 체제로부터 제공받은 비밀 키를 저장하는 과정,
    상기 제 2 운영 체제에서 상기 제 1 운영 체제로부터 상기 비밀 키 반환 요청을 수신하는 과정,
    상기 제 2 운영 체제에서 부팅 시점에 측정한 상기 시스템 바이너리의 해쉬 값이 기준 시스템 바이너리의 해쉬 값과 동일한지 판단하는 과정, 및
    상기 부팅 시점에 측정한 시스템 바이너리의 해쉬 값이 상기 기준 시스템 바이너리의 해쉬 값과 동일한 경우, 상기 제 1 운영 체제로부터의 요청에 따라, 상기 제 2 운영 체제에서 상기 비밀 키를 상기 제 1 운영 체제로 전송하는 과정을 포함하고,
    상기 시스템 바이너리의 보안 상태를 확인하는 과정은,
    상기 전자 장치의 부팅 시점에 상기 시스템 바이너리의 해쉬 값을 측정하는 과정, 및
    상기 부팅 시점의 부팅 시점에 상기 시스템 바이너리의 해쉬 값을 저장하는 과정을 포함하는 방법.
  2. 제 1항에 있어서,
    상기 제 1 운영 체제는, 일반 운영 체제(normal world)를 포함하고,
    상기 제 2 운영 체제는, 보안 운영 체제(secure world)를 포함하는 방법.
  3. 제 1항에 있어서,
    상기 시스템 바이너리는, 상기 전자 장치의 부트로더에 의해 로드되는 부트 바이너리 및 상기 부트로더에 의해 로드되는 커널 바이너리 중 하나 이상을 포함하는 방법.
  4. 삭제
  5. 제 1항에 있어서,
    상기 제 2 운영 체제에서 상기 보안 상태에 대한 정보를 상기 제 1 운영 체제로 전송하는 과정을 더 포함하는 방법.
  6. 제 5항에 있어서,
    상기 시스템 바이너리의 보안 상태를 확인하는 과정은,
    상기 시스템 바이너리의 해쉬 값과 상기 기준 시스템 바이너리의 해쉬 값에 기반한 시스템 바이너리의 보안 상태에 대한 정보를 결정하는 과정과,
    상기 시스템 바이너리의 보안 상태에 대한 정보를 저장하는 과정을 포함하는 방법.
  7. 제 6항에 있어서,
    상기 보안 상태에 대한 정보를 제 1 운영 체제로 전송하는 과정은,
    상기 보안 상태에 대한 정보를 암호화하여 상기 제 1 운영 체제로 전송하는 과정을 포함하는 방법.
  8. 제 5항에 있어서,
    상기 시스템 바이너리의 보안 상태를 확인하는 과정은,
    상기 전자 장치의 부팅 시, 상기 제 2 운영 체제에서 커널을 통한 서비스 접근 권한의 설정 정보를 확인하는 과정을 포함하고,
    상기 보안 상태에 대한 정보를 제 1 운영 체제로 전송하는 과정은,
    상기 제 2 운영 체제에서 상기 시스템 바이너리의 보안 상태 및 상기 커널을 통한 서비스 접근 권한의 설정 정보에 기반하여 상기 보안 상태에 대한 정보를 결정하는 과정과,
    상기 보안 상태에 대한 정보를 암호화하여 상기 제 1 운영 체제로 전송하는 과정을 포함하는 방법.
  9. 전자 장치에 있어서,
    메모리, 및
    다수 개의 운영 체제들을 구동하는 하나 이상의 프로세서를 포함하며,
    상기 프로세서는,
    제 2 운영 체제에서 상기 전자 장치의 부팅에 따라 상기 전자 장치의 메모리에 로드되는 시스템 바이너리의 보안 상태를 확인하고,
    상기 제 2 운영 체제에서 상기 전자 장치의 제 1 운영 체제로부터 제공받은 비밀 키를 저장하며,
    상기 제 2 운영 체제에서 상기 제 1 운영 체제로부터 상기 비밀 키 반환 요청을 수신하고,
    상기 제 2 운영 체제에서 부팅 시점에 측정한 상기 시스템 바이너리의 해쉬 값이 기준 시스템 바이너리의 해쉬 값과 동일한지 판단하며,
    상기 부팅 시점에 측정한 시스템 바이너리의 해쉬 값이 상기 기준 시스템 바이너리의 해쉬 값과 동일한 경우, 제 1 운영 체제로부터의 요청에 따라, 상기 제 2 운영 체제에서 상기 비밀 키를 상기 제 1 운영체제로 전송하고,
    상기 제 2 운영 체제는, 상기 전자 장치의 부팅 시점에 상기 시스템 바이너리의 해쉬 값을 측정하고, 상기 시스템 바이너리의 해쉬 값을 상기 메모리에 저장하는 장치.
  10. 제 9항에 있어서,
    상기 제 1 운영 체제는, 일반 운영 체제(normal world)를 포함하고,
    상기 제 2 운영 체제는, 보안 운영 체제(secure world)를 포함하는 장치.
  11. 제 9항에 있어서,
    상기 시스템 바이너리는, 상기 전자 장치의 부트로더에 의해 로드되는 부트 바이너리 및 상기 부트로더에 의해 로드되는 커널 바이너리 중 하나 이상을 포함하는 장치.
  12. 삭제
  13. 제 9항에 있어서,
    상기 메모리는, 상기 제 2 운영 체제로부터 제공받은 상기 해쉬 값을 상기 제 2 운영 체제만 접근할 수 있는 영역에 저장하는 장치.
  14. 제 9항에 있어서,
    상기 제 2 운영 체제는, 상기 시스템 바이너리의 해쉬 값과 상기 기준 시스템 바이너리의 해쉬 값에 기반한 시스템 바이너리의 보안 상태에 대한 정보를 결정하고, 상기 시스템 바이너리의 보안 상태에 대한 정보를 암호화하여 상기 제 1 운영 체제로 전송하는 장치.
  15. 제 9항에 있어서,
    상기 제 2 운영 체제는, 상기 시스템 바이너리의 해쉬 값과 상기 기준 시스템 바이너리의 해쉬 값에 기반한 시스템 바이너리의 보안 상태에 대한 정보를 결정하고, 상기 시스템 바이너리의 보안 상태에 대한 정보를 상기 메모리에 저장하는 장치.
  16. 제 15항에 있어서,
    상기 메모리는, 상기 제 2 운영 체제로부터 제공받은 상기 시스템 바이너리의 보안 상태에 대한 정보를 상기 제2 운영 체제만 접근할 수 있는 영역에 저장하는 장치.
  17. 제 9항에 있어서,
    상기 제 2 운영 체제는, 상기 전자 장치의 부팅 시, 커널을 통한 서비스 접근 권한의 설정 정보를 확인하고, 상
    기 시스템 바이너리의 보안 상태 및 상기 커널을 통한 서비스 접근 권한의 설정 정보에 기반하여 상기 보안 상태에 대한 정보를 결정하고, 상기 보안 상태에 대한 정보를 암호화하여 상기 제 1 운영 체제로 전송하는 장치.
KR1020130096218A 2013-08-13 2013-08-13 보안 확인을 위한 전자 장치 및 방법 KR102126563B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130096218A KR102126563B1 (ko) 2013-08-13 2013-08-13 보안 확인을 위한 전자 장치 및 방법
US14/459,002 US9727732B2 (en) 2013-08-13 2014-08-13 Method of identifying security and electronic device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130096218A KR102126563B1 (ko) 2013-08-13 2013-08-13 보안 확인을 위한 전자 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20150019402A KR20150019402A (ko) 2015-02-25
KR102126563B1 true KR102126563B1 (ko) 2020-06-25

Family

ID=52467694

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130096218A KR102126563B1 (ko) 2013-08-13 2013-08-13 보안 확인을 위한 전자 장치 및 방법

Country Status (2)

Country Link
US (1) US9727732B2 (ko)
KR (1) KR102126563B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9202082B2 (en) * 2013-03-14 2015-12-01 Intel Corporation Secure data sharing with publicly accessible computing nodes
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US9807122B2 (en) * 2015-09-16 2017-10-31 Lenovo Enterprise Solutions (Singpore) Pte. Ltd. Security considerations for outgoing communications
CN107437021B (zh) * 2017-08-10 2020-11-17 北京元心科技有限公司 智能系统操作方法、装置及终端设备
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US20200280550A1 (en) * 2019-02-28 2020-09-03 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080250217A1 (en) * 2007-04-03 2008-10-09 Arm Limited. Memory domain based security control with data processing systems
US20100230490A1 (en) * 2009-03-13 2010-09-16 Assa Abloy Ab Secure access module for integrated circuit card applications
US20130097698A1 (en) * 2011-05-05 2013-04-18 Ebay, Inc. System and Method for Transaction Security Enhancement

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149862B2 (en) 2002-11-18 2006-12-12 Arm Limited Access control in a data processing apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080250217A1 (en) * 2007-04-03 2008-10-09 Arm Limited. Memory domain based security control with data processing systems
US20100230490A1 (en) * 2009-03-13 2010-09-16 Assa Abloy Ab Secure access module for integrated circuit card applications
US20130097698A1 (en) * 2011-05-05 2013-04-18 Ebay, Inc. System and Method for Transaction Security Enhancement

Also Published As

Publication number Publication date
KR20150019402A (ko) 2015-02-25
US20150052342A1 (en) 2015-02-19
US9727732B2 (en) 2017-08-08

Similar Documents

Publication Publication Date Title
KR102126563B1 (ko) 보안 확인을 위한 전자 장치 및 방법
US10735427B2 (en) Method and apparatus for managing program of electronic device
US10032028B2 (en) Method for processing UEFI protocols and system therefor
EP3057053B1 (en) Electronic device and method for processing secure information
US9432195B2 (en) Method of operating data security and electronic device supporting the same
KR102082347B1 (ko) 통지 정보를 전송하기 위한 전자 장치 및 방법
US10021103B2 (en) Service authorization methods and apparatuses
US20170085386A1 (en) Device Theft Protection Associating A Device Identifier And A User Identifier
US20150242201A1 (en) Method for updating firmware and electronic device thereof
EP3021272A1 (en) Apparatus and method for payment
US20140258734A1 (en) Data security method and electronic device implementing the same
KR102100456B1 (ko) 전자장치에서 디지털 저작권 관리 서비스를 제공하기 위한 장치 및 방법
KR102180529B1 (ko) 어플리케이션 접근 제어 방법 및 이를 구현하는 전자 장치
US11233661B2 (en) Device and method for authenticating application in execution environment in trust zone
CN111045743B (zh) 操作系统安全启动方法、管理方法、装置、设备
US20170078269A1 (en) Method for managing application and electronic device supporting the same
KR20140114263A (ko) 어플리케이션 인증 방법 및 이를 구현하는 전자 장치
US20150121474A1 (en) Processor security authentication area
US20150205598A1 (en) Method for managing application and electronic device for processing method
US20150220720A1 (en) Electronic device and method for controlling access to given area thereof
US11245694B2 (en) User terminal apparatus and control method thereof
US20180205551A1 (en) Electronic device and operation method thereof
KR102018960B1 (ko) 이중 패킹을 이용한 코드 난독화
KR20150047789A (ko) 단말기 잠금 제어 장치 및 방법
KR102243231B1 (ko) 어플리케이션 설치를 관리하는 방법, 전자 장치 및 인증 시스템

Legal Events

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