KR20150091569A - 전자 장치 및 이의 특정 영역에 대한 접근을 제어하는 방법 - Google Patents
전자 장치 및 이의 특정 영역에 대한 접근을 제어하는 방법 Download PDFInfo
- Publication number
- KR20150091569A KR20150091569A KR1020140011909A KR20140011909A KR20150091569A KR 20150091569 A KR20150091569 A KR 20150091569A KR 1020140011909 A KR1020140011909 A KR 1020140011909A KR 20140011909 A KR20140011909 A KR 20140011909A KR 20150091569 A KR20150091569 A KR 20150091569A
- Authority
- KR
- South Korea
- Prior art keywords
- key
- access
- electronic device
- authentication
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2135—Metering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2137—Time limited access, e.g. to a computer or data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Telephone Function (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
Abstract
본 발명의 다양한 실시예들에 따른 전자 장치 운영 방법은 제 1 키의 유효성을 판단하는 동작; 상기 제 1 키가 유효한 경우 제 2 키를 생성하는 동작; 및 상기 제 2 키를 통한 상기 전자 장치의 특정 영역에 대한 접근을 승인하는 동작을 포함할 수 있다. 또한 다른 실시예가 가능하다
Description
본 발명의 다양한 실시 예는 전자 장치 및 이의 특정 영역에 대한 접근을 제어하는 방법을 개시한다.
스마트 폰, 태블릿 PC 등과 같은 휴대 전자 장치는 대용량 메모리, 프로세서 및 운영체제(OS: Operating System)를 탑재하고 이에 따라 다양한 어플리케이션을 실행할 수 있다. 특히 휴대 전자 장치는 온라인 상거래 및 금융 거래를 실행할 수 있다.
온라인 상거래나 금융 거래 등과 같은 보안이 필요한 기능들의 실행에 있어서, 공통적인 관심사는 보안이다. 이러한 보안을 위해 전자 장치는 예를 들어, 일반 영역과 보안 영역으로 분리되어 운영될 수 있다. 전자 장치의 OS는 서로 다른 영역간에 데이터의 이동을 관리할 수 있다. 예컨대, OS는 일반 영역에서 보안 영역으로의 "인증되지 않은 접근"을 차단하고, "인증된 접근"에 대해서는 허용할 수 있다. 한편, 전자 장치에는 다수의 OS가 탑재될 수도 있는 바, 이들 OS가 각각 해당 영역을 관리할 수도 있다. 이러한 전자 장치의 운영에 따라 보안 영역에 대한 보안이 강화될 수 있다.
일반적으로 접근 인증 방법에는 특정 계정과 특정 패스워드를 이용한 인증 방식이 적용될 수 있다. 또한 접근 인증 방법에는 추가적으로 보안카드, 공인인증서, 아이핀(I-PIN), 일회성 패스워드(OTP: One Time Password) 등을 이용한 인증 방식이 적용될 수 있다.
상술한 접근 인증 방법들에 따르면 아래와 같은 문제점들이 발생될 수 있다.
먼저, 계정 및 패스워드 방식에 따르면, 계정과 패스워드는 해킹 또는 분실에 상당한 위험이 존재하며, 실제로 몇 가지 포털 및 온라인 서비스 업체에서 보안에 문제가 생기는 사건이 발생하고 사용자는 집단 민원을 일으키기도 한다.
계정, 패스워드 및 보안카드 방식에 따르면, 보안카드를 분실하지 않으면 문제의 노출 위험이 적다. 하지만 많은 온라인 상거래 및 금융거래가 발생하는 사용자는 해당 카드를 항상 휴대해야 하는 불편함이 있으며, 보안카드의 분실이라는 문제점을 내재하고 있다.
공인인증서 방식에 따르면, 해당 방법은 공인인증서라는 디지털 인증키를 이용하여 보안을 높이는 방법이다. 이러한 공인인증서는 일반적으로 유효기간이 설정될 수 있다. 디지털 인증키를 항상 휴대해야 하는 불편함이 있다. 또한, 디지털 인증키의 분실이라는 문제점이 있다. 또한, 디지털 인증키를 발급받는데 비용이 소요되는 문제점이 있다.
I-IPN 방식에 따르면, 공인인증서의 휴대의 불편함과 분실의 위험성에 대한 보안된 방법으로써, 서버에 본인 인증을 하고 암호화된 패스워드를 통하여 서버 인증을 수행하는 방법이다. 발급 방법의 간편함과 편리성이 있어서 많은 기관에서 본인 인증 수단으로 사용하고 있으나, 발급시의 본인 확인 수단의 보안 등의 이유로 금융 거래 및 온라인 상거래에 있어서는 많은 사용이 되지 않고 있다.
OTP 방식에 따르면, 최근 보안1등급 매체로 OTP를 많이 사용하고 있으며, 금융기관 및 포털 또는 온라인 게임 접속 등 다양한 분야에 응용되고 있다. 구동 방식에 따라 OPT. U-OPT, MOTP 등 다양한 형태로 발전하고 있다. 구동원리는 이름에서도 알 수 있듯이 One Time Password 를 생성하여 사용하고 하나의 사례(instance)에서 1회용 패스워드를 사용하는 원리이다. "시간 동기화(Time sync) 방식"과 시간 및 "이벤트 동기화(Time/Event sync) 방식"으로 구현될 수 있다. Time sync의 경우, 유효기간 동안 동일 OTP로 무제한 로그인이 가능하다는 취약점이 있다. Time/Event sync 방식의 경우, 유효기간 동안 발생한 이벤트 마다 발생된 OTP로 접근 가능한 취약점이 있다. OTP를 포함한 모든 인증 방식이 피싱에 의한 해킹에 취약할 수 있다. 특히 웹 상에서 정보를 입력해야 하는 경우에는 그 위험이 더 크다고 할 수 있다.
본 발명의 다양한 실시 예는 특정 영역에 대한 접근을 제어하여 특정 영역을 안전하게 보호할 수 있도록 한 방법 및 이를 구현하는 전자 장치를 제공함을 목적으로 한다.
본 발명의 다양한 실시예들에 따른 전자 장치 운영 방법은 제 1 키의 유효성을 판단하는 동작; 상기 제 1 키가 유효한 경우 제 2 키를 생성하는 동작; 및 상기 제 2 키를 통한 상기 전자 장치의 특정 영역에 대한 접근을 승인하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예들에 따른 전자 장치는 외부 장치와 통신을 위한 통신부; 일반 영역과 특정 영역을 포함하는 메모리; 상기 통신부를 제어하고 상기 메모리에 접근하는 제어부; 및 상기 통신부로부터 수신되거나 상기 메모리에 저장된 제 1 키의 유효성을 판단하고, 상기 제 1 키가 유효한 경우 제 2 키를 생성하고, 상기 제 2 키를 통한 상기 특정 영역에 대한 접근을 상기 제어부에게 승인하는 인증부를 포함할 수 있다.
본 발명의 다양한 실시예에 따른 방법 및 전자장치는 서버를 통해 보안 키를 발급 받고, 보안 키를 통해 특정 영역(예, 보안 영역)에 대한 접근을 승인함으로써 높은 보안성과 사용상의 편리함을 제공할 수 있다.
도 1은 일 실시예에 따른 전자장치에 대한 블록도를 도시한다.
도 2는 일 실시예들에 따른 하드웨어의 블록도를 도시한다.
도 3은 일 실시예에 따른 프로그래밍 모듈의 블록도를 도시한다.
도 4는 다른 실시예에 따른 전자장치에 대한 블록도를 도시한다.
도 5는 또 다른 실시예에 따른 전자장치에 대한 블록도를 도시한다.
도 6은 일 실시예에 따른 인증 서버의 사용자 인증 방법을 설명하기 위한 흐름도이다.
도 7은 일 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 8은 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 9는 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 10은 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 11은 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 12는 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 13은 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 14는 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 2는 일 실시예들에 따른 하드웨어의 블록도를 도시한다.
도 3은 일 실시예에 따른 프로그래밍 모듈의 블록도를 도시한다.
도 4는 다른 실시예에 따른 전자장치에 대한 블록도를 도시한다.
도 5는 또 다른 실시예에 따른 전자장치에 대한 블록도를 도시한다.
도 6은 일 실시예에 따른 인증 서버의 사용자 인증 방법을 설명하기 위한 흐름도이다.
도 7은 일 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 8은 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 9는 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 10은 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 11은 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 12는 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 13은 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 14는 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
이하, 첨부된 도면들을 참조하여 다양한 실시 예들을 상세히 설명할 수 있다. 이때, 첨부된 도면들에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 하기의 설명에서는 본 발명의 다양한 실시 예들에 따른 동작을 이해하는데 도움이 되는 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
본 발명의 실시 예에 따른 전자 장치는, 통신 기능이 포함된 장치일 수 있다. 예를 들면, 스마트 폰(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 플레이어, 모바일 의료기기, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 카메라(camera), 웨어러블 장치(wearable device), 전자 시계(electronic clock), 손목 시계(wrist watch), 가전 제품(home appliance)(예: 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기 등), 인공 지능 로봇, TV, DVD(digital video disk) 플레이어, 오디오, 각종 의료기기(예: 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), 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 전자 사전, 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(electronic equipment for ship, 예를 들면, 선박용 항법 장치, 자이로콤파스 등), 항공 전자기기(avionics), 보안 기기, 전자 의복, 전자 키, 캠코더(camcorder), 게임 콘솔(game consoles), HMD(head-mounted display), 평판표시장치(flat panel display device), 전자 액자, 전자 앨범, 통신 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device) 또는 프로젝터(projector) 등의 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 본 발명의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
도 1은 일 실시 예에 따른 전자장치에 대한 블록도를 도시한다.
도 1을 참조하면, 전자장치 100은 버스 110, 프로세서 120, 메모리 130, 사용자 입력 모듈 140, 디스플레이 모듈 150, 또는 통신 모듈 160을 포함할 수 있다.
버스 110은, 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.
프로세서 120은, 예를 들면, 버스 110을 통해 전술한 다른 구성요소들(예: 메모리 130, 사용자 입력 모듈 140, 디스플레이 모듈 150, 통신 모듈 160 등)로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다.
메모리 130은, 프로세서 120 또는 다른 구성요소들(예: 사용자 입력 모듈 140, 디스플레이 모듈 150, 통신 모듈 160 등)로부터 수신되거나 프로세서 120 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 메모리 130은, 예를 들면, 커널 131, 미들웨어 132, 어플리케이션 프로그래밍 인터페이스(API: application programming interface) 133 또는 어플리케이션 134 등의 프로그래밍 모듈들을 포함할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.
커널 131은 나머지 다른 프로그래밍 모듈들, 예를 들면, 미들웨어 132, API 133 또는 어플리케이션 134에 구현된 동작 또는 기능을 실행하는데 사용되는 시스템 리소스들(예: 버스 110, 프로세서 120 또는 메모리 130 등)을 제어 또는 관리할 수 있다. 또한, 커널 131은 미들웨어 132, API 133 또는 어플리케이션 134에서 전자 장치 100의 개별 구성요소에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어 132는 API 133 또는 어플리케이션 134가 커널 131과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어 132는 (다수의) 어플리케이션들 134로부터 수신된 작업 요청들과 관련하여, 예를 들면, (다수의) 어플리케이션들 134들 중 적어도 하나의 어플리케이션에 전자 장치 100의 시스템 리소스(예: 버스 110, 프로세서 120 또는 메모리 130 등)를 사용할 수 있는 우선순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 로드 밸런싱을 수행할 수 있다.
API 133은 어플리케이션 134가 커널 131 또는 미들웨어 132에서 제공하는 기능을 제어할 수 있는 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수를 포함할 수 있다.
사용자 입력 모듈 140은, 예를 들면, 사용자로부터 명령 또는 데이터를 입력받아 버스 110을 통해 프로세서 120 또는 메모리 130에 전달할 수 있다. 디스플레이 모듈 150은 사용자에게 화상, 영상 또는 데이터 등을 표시할 수 있다.
통신 모듈 160은 다른 전자 장치 102와 전자 장치 100간의 통신을 연결할 수 있다. 또한 통신 모듈 160은 서버 164와 전자 장치 100 간의 통신을 연결할 수 있다. 또한 통신 모듈 160은 전자 장치 104와 전자 장치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) 등) 162와의 통신을 지원할 수 있다. 전자 장치들 102, 104 각각은 전자 장치 100과 동일한(예: 같은 타입의) 장치이거나 또는 다른(예: 다른 타입의) 장치일 수 있다.
도 2는 일 실시예들에 따른 하드웨어 200의 블록도를 도시한다.
하드웨어 200은, 예를 들면, 도 1에 도시된 전자 장치 100일 수 있다. 도 2를 참조하면, 하드웨어 200은 하나 이상의 프로세서 210, SIM(subscriber identification module) 카드 214, 메모리 220, 통신 모듈 230, 센서 모듈 240, 사용자 입력 모듈 250, 디스플레이 모듈 260, 인터페이스 270, 오디오 코덱 280, 카메라 모듈 291, 전력관리 모듈 295, 배터리 296, 인디케이터 297 또는 모터 298을 포함할 수 있다.
프로세서 210(예: 프로세서 120)은 하나 이상의 어플리케이션 프로세서(AP: application processor) 211 또는 하나 이상의 커뮤니케이션 프로세서(CP: communication processor) 213을 포함할 수 있다. 프로세서 210은, 예를 들면, 도 1에 도시된 프로세서 120일 수 있다. 도 2에서는 AP 211 및 CP 213이 프로세서 210 내에 포함된 것으로 도시되었으나, AP 211과 CP 213은 서로 다른 IC 패키지들 내에 각각 포함될 수 있다. 한 실시예에서는 AP 211 및 CP 213은 하나의 IC 패키지 내에 포함될 수 있다.
AP 211은 운영체제 또는 응용 프로그램을 구동하여 AP 211에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어하고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. AP 211은, 예를 들면, SoC(system on chip)로 구현될 수 있다. 한 실시예에 따르면, 프로세서 210은 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.
CP 213은 하드웨어 200을 포함하는 전자 장치(예: 전자 장치 100)와 네트워크로 연결된 다른 전자 장치들 간의 통신에서 데이터 링크를 관리하고 통신 프로토콜을 변환하는 기능을 수행할 수 있다. CP 213은, 예를 들면, SoC로 구현될 수 있다. 한 실시예에 따르면, CP 213은 멀티미디어 제어 기능의 적어도 일부를 수행할 수 있다. CP 213은, 예를 들면, 가입자 식별 모듈(예: SIM 카드 214)을 이용하여 통신 네트워크 내에서 단말의 구별 및 인증을 수행할 수 있다. 또한, CP 213은 사용자에게 음성 통화, 영상 통화, 문자 메시지 또는 패킷 데이터(packet data) 등의 서비스들을 제공할 수 있다.
또한, CP 213은 통신 모듈 230의 데이터 송수신을 제어할 수 있다. 도 2에서는, CP 213, 전력관리 모듈 295 또는 메모리 220 등의 구성요소들이 AP 211과 별개의 구성요소로 도시되어 있으나, 한 실시예에 따르면, AP 211이 전술한 구성요소들의 적어도 일부(예: CP 213)를 포함하도록 구현될 수 있다.
한 실시예에 따르면, AP 211 또는 CP 213은 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, AP 211 또는 CP 213은 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
SIM 카드 214는 가입자 식별 모듈을 구현한 카드일 수 있으며, 전자 장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. SIM 카드 214는 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
메모리 220은 내장 메모리 222 또는 외장 메모리 224를 포함할 수 있다. 메모리 220은, 예를 들면, 도 1에 도시된 메모리 130일 수 있다. 내장 메모리 222는, 예를 들면, 휘발성 메모리(예를 들면, DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous dynamic RAM) 등) 또는 비휘발성 메모리(non-volatile Memory, 예를 들면, OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, NAND flash memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 내장 메모리 222는 Solid State Drive(SSD)의 형태를 취할 수도 있다. 외장 메모리 224는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 MemoryStick 등을 더 포함할 수 있다.
통신 모듈 230은 무선 통신 모듈 231 또는 RF 모듈 234를 포함할 수 있다. 통신 모듈 230은, 예를 들면, 도 1에 도시된 통신 모듈 160일 수 있다. 무선 통신 모듈 231은, 예를 들면, WiFi 233, BT(bluetooth) 235, GPS 237 또는 NFC(near field communication) 239를 포함할 수 있다. 예를 들면, 무선 통신 모듈 231은 무선 주파수를 이용하여 무선 통신 기능을 제공할 수 있다. 추가적으로 또는 대체적으로, 무선 통신 모듈 231은 하드웨어 200을 네트워크(예: Internet, LAN(local area network), WAN(wire area network), telecommunication network, cellular network, satellite network 또는 POTS(plain old telephone service) 등)와 연결시키기 위한 네트워크 인터페이스(예: LAN card) 또는 모뎀 등을 포함할 수 있다.
RF 모듈 234는 데이터의 송수신, 예를 들면, RF 신호 또는 호출된 전자신호의 송수신을 담당할 수 있다. RF 모듈 234는, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, RF 모듈234는 무선통신에서 자유공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다.
센서 모듈 240은, 예를 들면, 제스처 센서 240A, 자이로 센서 240B, 기압 센서 240C, 마그네틱 센서 240D, 가속도 센서 240E, 그립 센서 240F, 근접 센서 240G, RGB(red, green, blue) 센서 240H, 생체 센서 240I, 온/습도 센서 240J, 조도 센서 240K 또는 UV(ultra violet) 센서 240M 중의 적어도 하나를 포함할 수 있다. 센서 모듈 240은 물리량을 계측하거나 전자 장치의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 추가적으로/대체적으로, 센서 모듈 240은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시) 또는 지문 센서 등을 포함할 수 있다. 센서 모듈 240은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어회로를 더 포함할 수 있다.
사용자 입력 모듈 250은 터치 패널(touch panel) 252, (디지털) 펜 센서(pen sensor) 254, 키(key) 256 또는 초음파 입력 장치 258을 포함할 수 있다. 사용자 입력 모듈 250은, 예를 들면, 도 1에 도시된 사용자 입력 모듈 140일수 있다. 터치 패널 252는, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 터치 패널 252는 컨트롤러(미도시)를 더 포함할 수도 있다. 정전식의 경우, 직접 터치뿐만 아니라 간접 터치의 인식도 가능하다. "직접 터치 방식"은 전도성 물체(예를 들어, 손가락 또는 스타일러스펜)가 터치스크린에 직접 접촉하는 (contact) 방식을 의미할 수 있다. 일 실시예에 따르면, "간접 터치 방식"은, 비전도성 물체에 둘러싸인 전도성 물체(예, 장갑을 낀 상태의 손가락)가 터치스크린에 인접하거나, 비전도성 물체(예를 들어, 손가락을 낀 상태의 장갑)가 터치스크린에 접촉하는 방식을 의미할 수 있다. 다른 실시예에 따르면, "간접 터치 방식"은 터치스크린의 위에 비전도성 물체(예를 들어, 터치스크린을 보호하기 위한 커버(cover))가 접촉한 상태에서 손가락이 비전도성 물체를 터치하는 방식을 의미할 수도 있다. 또 다른 실시예에 따르면, "간접 터치 방식"은 손가락이 터치스크린에 접촉하지 않으면서, 미리 설정된 거리 이내로 터치스크린에 인접함에 의하여 이벤트를 발생시키는 방식, 보통 "호버링(hovering)," 이라고 불리는 방식을 의미할 수도 있다. 터치 패널 252는 택타일레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 터치 패널 252는 사용자에게 촉각 반응을 제공할 수 있다. 터치 패널 252는 디스플레이 모듈 260의 화면(즉, 터치스크린)에 설치될 수 있다. 예컨대, 터치패널 252는 터치스크린에 위치하는 애드 온 타입(add-on type) 또는 디스플레이 모듈 260 내에 삽입되는 온 셀 타입(on-cell type) 또는 인 셀 타입(in-cell type)으로 구현될 수 있다.
(디지털) 펜 센서 254는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 키 256로서, 예를 들면, 키패드 또는 터치 키가 이용될 수 있다. 초음파 입력 장치 258은 초음파 신호를 발생하는 펜을 통해, 단말에서 마이크(예: 마이크 288)로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시예에 따르면, 하드웨어 200은 통신 모듈 230을 이용하여 이와 연결된 외부 장치(예: 네트워크, 컴퓨터 또는 서버 164)로부터 사용자 입력을 수신할 수도 있다.
디스플레이 모듈 260은 패널 262 또는 홀로그램 264를 포함할 수 있다. 디스플레이 모듈 260은, 예를 들면, 도 1에 도시된 디스플레이 모듈 150일 수 있다. 패널 262는, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 패널262는, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 패널 262는 터치 패널 252와 하나의 모듈로 구성될 수도 있다. 홀로그램 264는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 한 실시예에 따르면, 디스플레이 모듈 260은 패널 262 또는 홀로그램 264를 제어하기 위한 제어회로를 더 포함할 수 있다.
인터페이스 270은, 예를 들면, HDMI(high-definition multimedia interface) 272, USB(universal serial bus) 274, 프로젝터 276 또는 D-sub(D-subminiature) 278을 포함할 수 있다. 추가적으로 또는 대체적으로, 인터페이스 270은, 예를 들면, SD(secure Digital)/MMC(multi-media card)(미도시) 또는 IrDA(infrared data association, 미도시)를 포함할 수 있다.
오디오 코덱 280은 음성과 전기신호를 쌍방향으로 변환시킬 수 있다. 오디오 코덱 280은, 예를 들면, 스피커 282, 리시버 284, 이어폰 286 또는 마이크 288 등을 통해 입력 또는 출력되는 음성 정보를 변환시킬 수 있다.
카메라 모듈 291은 화상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 렌즈 또는 후면 렌즈), ISP(image signal processor, 미도시) 또는 플래쉬 LED(flash LED, 미도시)를 포함할 수 있다.
전력관리 모듈 295는 하드웨어 200의 전력을 관리할 수 있다. 도시하지는 않았으나, 전력관리 모듈 295는, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 게이지(battery fuel gauge)를 포함할 수 있다.
PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시예에 따르면, 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 정류기 등의 회로가 추가될 수 있다.
배터리 게이지는, 예를 들면, 배터리 296의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 배터리 296은 전기를 생성하여 전원을 공급할 수 있고, 예를 들면, 충전식 전지(rechargeable battery)일 수 있다.
인디케이터 297은 하드웨어 200 혹은 그 일부(예: AP 211)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터 298은 전기적 신호를 기계적 진동으로 변환할 수 있다. MCU 299는, 센서 모듈 240을 제어할 수 있다.
도시되지는 않았으나, 하드웨어 200은 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.본 발명의 실시 예에 따른 하드웨어의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자장치의 종류에 따라서 달라질 수 있다. 본 발명의 실시 예에 따른 하드웨어는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 발명의 실시 예에 따른 하드웨어의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
본 발명의 실시 예에 사용된 용어"모듈"은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 발명의 실시 예에 따른 "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
도 3은 일 실시 예에 따른 프로그래밍 모듈 300의 블록도를 도시한다.
프로그래밍 모듈 300은 도 1에 도시된 전자 장치 100(예: 메모리 130)에 포함(예: 저장)될 수 있다. 프로그래밍 모듈 300의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다. 프로그래밍 모듈 300은 하드웨어(예: 하드웨어 200)에 구현되어 전자 장치(예: 전자 장치 100)에 관련된 자원을 제어하는 운영체제(OS: operation system) 또는 운영체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 370)을 포함할 수 있다. 예를 들면, 운영체제는 안드로이드(Android), iOS, 윈도우즈(Windows), 심비안(Symbian), 타이젠(Tizen) 또는 바다(Bada) 등이 될 수 있다. 도 3을 참조하면, 프로그래밍 모듈 300은 커널 310, 미들웨어 330, API(application programming interface) 360 또는 어플리케이션 370을 포함할 수 있다.
커널 310(예: 커널 131)은 시스템 리소스 매니저 311 또는 디바이스 드라이버 312를 포함할 수 있다. 시스템 리소스 매니저 311은, 예를 들면, 프로세스관리부 313, 메모리관리부 315 또는 파일시스템관리부 317 등을 포함할 수 있다. 시스템 리소스 매니저 311은 시스템 리소스의 제어, 할당 또는 회수 등을 수행할 수 있다. 디바이스 드라이버 312는, 예를 들면, 디스플레이 드라이버 314, 카메라 드라이버 316, 블루투스 드라이버 318, 공유 메모리 드라이버 320, USB 드라이버 322, 키패드 드라이버 324, WiFi 드라이버 326 또는 오디오 드라이버 328을 포함할 수 있다. 또한, 한 실시 예에 따르면, 디바이스 드라이버 312는 IPC (inter-process communication, 미도시) 드라이버를 포함할 수 있다.
미들웨어 330은 어플리케이션 370이 공통적으로 필요로 하는 기능을 제공하기 위해 미리 구현해 놓은 복수의 모듈들을 포함할 수 있다. 또한, 미들웨어 330은 어플리케이션 370이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API 360를 통해 기능을 제공할 수 있다. 예를 들면, 도 3에 도시된 바와 같이, 미들웨어 330(예: 미들웨어 132)은 런타임 라이브러리 335, 어플리케이션 매니저(application manager) 341, 윈도우 매니저(window manager) 342, 멀티미디어 매니저(multimedia manager) 343, 리소스 매니저(resource manager) 344, 파워 매니저(power manager) 345, 데이터베이스 매니저(database manager) 346, 패키지 매니저 347, 연결 매니저(connectivity manager) 348, 통지 매니저(notification manager) 349, 위치 매니저(location manager) 350, 그래픽 매니저(graphic manager) 351 또는 보안 매니저(security manager) 352 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리 335는, 예를 들면, 어플리케이션 370이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 한 실시예에 따르면, 런타임 라이브러리 335는 입출력, 메모리 관리 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
어플리케이션 매니저 341은, 예를 들면, 어플리케이션 370 중 적어도 하나의 어플리케이션의 생명주기(life cycle)를 관리할 수 있다. 윈도우 매니저 342는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저 343은 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 리소스 매니저 344는 어플리케이션 370 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
파워 매니저 345는 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리(battery) 또는 전원을 관리하고, 동작에 필요한 전력 정보 등을 제공할 수 있다. 데이터베이스 매니저 346은 어플리케이션 370 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색 또는 변경할 수 있도록 관리할 수 있다. 패키지 매니저 347은 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
연결 매니저 348은, 예를 들면, WiFi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 통지 매니저 349는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 위치 매니저 350은 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저 351은 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저 352는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시예에 따르면, 전자 장치(예: 전자 장치 100)가 전화 기능을 구비한 경우에는, 미들웨어 330은 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager, 미도시)를 더 포함할 수 있다.
미들웨어 330은 전술한 내부 구성요소 모듈들의 다양한 기능 조합을 통해 새로운 미들웨어 모듈을 생성하여 사용할 수 있다. 미들웨어 330은 차별화된 기능을 제공하기 위해 운영체제의 종류별로 특화된 모듈을 제공할 수 있다. 또한, 미들웨어 330은 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 따라서, 본 발명의 실시 예에 기재된 구성요소를 일부 생략하거나 다른 구성요소를 더 구비하거나 또는 유사한 기능을 수행하는 다른 명칭을 갖는 구성요소로 대체할 수 있다.
API 360(예: API 133)은 API 프로그래밍 함수들의 집합으로, 운영체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 예를 들면, 플랫폼별로 하나의 API 셋을 제공할 수 있으며, 타이젠(Tizen)의 경우, 예를 들면, 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션 370(예: 어플리케이션 134)은, 예를 들면, 프리로드 어플리케이션(preloaded Application) 또는 제 삼자 어플리케이션(third party application)을 포함할 수 있다.
프로그래밍 모듈 300의 적어도 일부는 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 명령어는, 하나 이상의 프로세서(예: 프로세서 210)에 의해 실행될 경우, 하나 이상의 프로세서가 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리 260이 될 수 있다. 프로그래밍 모듈 300의 적어도 일부는, 예를 들면, 프로세서 210에 의해 구현(implement)(예: 실행)될 수 있다. 프로그래밍 모듈 300의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 및/또는 프로세스 등을 포함할 수 있다.
본 발명의 실시 예에 따른 프로그래밍 모듈(예: 프로그래밍 모듈 300)의 구성요소들의 명칭은 운영체제의 종류에 따라서 달라질 수 있다. 본 발명의 실시 예에 따른 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 본 발명의 실시 예에 따른 프로그래밍 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 처리될 수 있으며, 또한 일부 동작이 생략되거나, 다른 동작이 추가될 수 있다.
도 4는 다른 실시예에 따른 전자장치에 대한 블록도를 도시한다.
도 4를 참조하면, 전자 장치 400은 통신부 410, 제어부 420, 저장부 430, 인증부 440, 일반 영역 450 및 보안 영역 450을 포함할 수 있다.
통신부 410은 다른 전자 장치(예, 서버164)와 전자 장치 400 간의 통신을 연결할 수 있다. 통신부 410는 예를 들면, 통신 모듈 160 또는 통신 모듈 230일 수 있다.
제어부 420은 다른 구성요소들(예, 통신부 410, 저장부 430, 인증부 440, 일반 영역 450, 보안 영역 450)로부터 명령을 수신하고, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다. 제어부 420은 예를 들면, 프로세서 120 또는 프로세서 210에 포함된 제어 모듈일 수 있다.
저장부 430은 제어부 420 또는 다른 구성요소들로부터 수신되거나 제어부 420 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 저장부 430은 예를 들면, 메모리 130의 일부 영역이거나 메모리 220의 일부 영역일 수 있다.
인증부 440은 다른 구성요소들(예, 통신부 410, 제어부 420, 저장부 430, 일반 영역 450)로부터 보안 영역 460에 대한 접근을 인증할 수 있다. 예를 들면, 인증부 440는 통신부 410 및 제어부 420을 통해 다른 전자 장치(예, 서버 164)로부터 인증 정보가 수신되는 경우, 링커 441를 생성하여 제어부 420에게 전달할 수 있다. 또는, 인증부 440은 인증 정보를 생성하고, 생성된 인증 정보와 상기 수신된 인증 정보가 일치하는 경우, 링커 441를 생성할 수도 있다. 여기서 링커 441는 보안 영역 460의 특정 데이터 또는 특정 프로그래밍 모듈을 접근하기 위한 키로써, 예를 들면, 어드레스 정보를 포함할 수 있다. 이러한 링커 441의 생성에 관여할 수 있는 구성 요소의 수준 또는 권한은 하드웨어 레벨(예: TIMA(Thermal Insulation Manufactures Association)이 될 수 있다. 제어부 420은 링커 441를 통해 특정 데이터가 보안 영역460의 어디(예, 어드레스)에 저장되어 있는지 식별하고, 식별된 특정 데이터를 읽어 가거나 업데이트(예, 삭제, 변경 등)할 수 있다. 또는 제어부 420은 링커 441를 통해 특정 프로그래밍 모듈의 위치(예, 어드레스)를 식별하고, 식별된 특정 프로그래밍 모듈을 읽어 가거나 업데이트할 수 있다. 인증부 440은 보안 영역 460에 대한 접근이 종료되면, 보안 영역 460의 데이터 또는 프로그래밍 모듈의 어드레스(예: 논리블록주소(LBA: Logical Block Address))를 변경할 수 있다. 인증부 440은 이후 링커를 생성할 때, 변경된 어드레스의 정보를 링커에 포함시킬 수 있다. 인증부 440은 예를 들면, 프로세서 120 또는 프로세서 210에 포함된 인증 모듈일 수 있다.
일반 영역 450은 명령 또는 데이터를 저장할 수 있고, 프로그래밍 모듈들을 포함할 수 있다. 일반 영역 450은 예를 들면, 메모리 130의 일부 영역이거나 메모리 220의 일부 영역일 수 있다. 보안 영역 460은 명령 또는 데이터를 저장할 수 있고, 프로그래밍 모듈들을 포함할 수 있다. 보안 영역 460은 예를 들면, 메모리 130의 일부 영역이거나 메모리 220의 일부 영역일 수 있다. 한편, 보안 영역 460은 가상 이미지로 구성될 수 있다. 즉, 데이터나 어플리케이션이 각각 가상 이미지로 보안 영역 460에 저장될 수 있다. 또한 가상 이미지는 암호화 처리(예: AES cipher algorithm with a 256-bit key)되어 보안 영역 460에 저장될 수도 있다. 이에 따라 링커 441은 가상 이미지를 복호화하기 위한 정보(예: 복호화 키)를 포함할 수도 있다.
도 5는 또 다른 실시예에 따른 전자장치에 대한 블록도를 도시한다.
도 5를 참조하면, 전자 장치 500은 통신부 510, 제어부 520, 저장부 530, 인증부 540, 일반 영역 550 및 보안 영역 560을 포함할 수 있다.
통신부 510은 다른 전자 장치(예, 서버164)와 전자 장치 500 간의 통신을 연결할 수 있다. 통신부 510는 예를 들면, 통신 모듈 160, 통신 모듈 230 또는 통신 모듈 410일 수 있다.
제어부 520은 다른 구성요소들(예, 통신부 510, 저장부 530, 인증부 540, 일반 영역 550, 보안 영역 560)로부터 명령을 수신하고, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다. 제어부 520은 예를 들면, 프로세서 120 또는 프로세서 210에 포함된 제어 모듈일 수 있다.
저장부 530은 제어부 520 또는 다른 구성요소들로부터 수신되거나 제어부 520 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 저장부 530은 제어부 520 또는 인증부 540으로부터 수신한 인증 정보531를 저장할 수 있다. 저장부 530은 예를 들면, 메모리 130의 일부 영역이거나 메모리 220의 일부 영역일 수 있다. 여기서 인증 정보 531는 보안 영역 560에 저장될 수도 있다. 또한, 인증 정보 531은 전자 장치 500의 구성 요소(예: 인증부 540) 또는 외부 장치(예: 서버 164)에 의해 생성된 것일 수 있다. 또한 인증 정보 531은 서버 164에 의해 주기적으로 갱신될 수 있다. 한편, 보안 영역 560에 접근을 위한 추가적인 패스워드가 저장부 530 또는 보안 영역 560에 저장될 수 있다. 이러한 패스워드는 서버 164에 의해 생성되어 인증 정보 531와 함께 전자 장치 500으로 수신될 수 있다. 또는 제어부 520 또는 인증부 540은 사용자에게 패스워드 입력을 요청(예: 디스플레이 모듈을 제어하여 화면에 패스워드 입력창 표시)하고, 입력된 패스워드를 저장부 530 또는 보안 영역 560에 저장할 수 있다. 이러한 패스워드는 인증 정보 531에 대응될 수 있다. 즉, 패스워드는 인증 정보 531와 그 생존 주기를 같이할 수 있다. 예를 들면, 인증 정보 531의 유효 기간이 만료되어 폐기(예: 삭제)되는 경우, 패스워드도 폐기될 수 있다.
인증부 540은 다른 구성요소들(예, 통신부 510, 제어부 520, 저장부 530, 일반 영역 550)로부터 보안 영역 560에 대한 접근을 인증할 수 있다. 예를 들면, 인증부 540는 인증 정보 531가 유효한지 여부를 판단하고, 인증 정보 531이 유효한 경우(예: 인증 정보 531에 설정된 유효 기간이 만료되지 않은 경우), 링커 541를 생성하여 제어부 520으로 전달할 수 있다. 인증부 540은 예를 들면, 프로세서 120 또는 프로세서 210에 포함된 인증 모듈일 수 있다. 일반 영역 550은 명령 또는 데이터를 저장할 수 있고, 프로그래밍 모듈들을 포함할 수 있다. 일반 영역 550은 예를 들면, 메모리 130의 일부 영역이거나 메모리 220의 일부 영역일 수 있다. 보안 영역 560은 명령 또는 데이터를 저장할 수 있고, 프로그래밍 모듈들을 포함할 수 있다. 보안 영역 560은 예를 들면, 메모리 130의 일부 영역이거나 메모리 220의 일부 영역일 수 있다.
도 6은 일 실시예에 따른 인증 서버의 사용자 인증 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 동작 610에서 서버(예: 서버 164)는 전자 장치(예, 전자 장치 400)로부터 인증 요청 정보를 수신할 수 있다. 인증 요청 정보에는 사용자 계정(예, 아이디 및 패스워드를 포함)이 포함될 수 있다. 또한 인증 요청 정보에는 위치 정보, 기간 정보 및 장치 정보 중 적어도 하나가 더 포함될 수도 있다. 여기서 위치 정보는 전자 장치 400의 위치 정보로써, 예를 들면, GPS 정보, 주소 정보 등을 포함할 수 있다. 기간 정보는 인증 정보의 유효 기간을 설정하기 위해 참조하는 정보로써, 예를 들면, 근무 시간, 특정 장소에 입문 예정 시간 등을 포함할 수 있다. 장치 정보는 전자 장치 400를 식별하기 위한 정보로써, 예를 들면, 장치의 종류(예: 스마트 폰, 태블릿 PC), 탑재된 OS 정보, 카메라의 탑재 여부를 나타내는 정보, MAC 어드레스, RFID 정보, Wi-Fi 정보, NFC(near field communication) 정보 등이 될 수 있다.
전자 장치 400의 인증 요청에 응답하여, 동작 620에서 서버 164는 사용자 계정이 유효한지 여부를 결정할 수 있다. 예를 들면, 수신된 사용자 계정이 미리 저장된 사용자 계정과 일치하는 경우 서버 164는 사용자 계정이 유효한 것으로 결정할 수 있다.
사용자 계정이 유효한 경우, 동작 630에서 서버 164는 이후 생성할 인증 정보의 사용 권한을 설정할 수 있다. 예를 들면, 서버 164는 수신된 기간 정보를 기반으로 인증 정보의 유효 기간을 설정할 수 있다. 예컨대, 인증 요청이 오전 10시에 있었다면, 유효 기간은 오전 10시부터 오후 6시까지 8시간으로 설정될 수 있다. 추가적으로 또는 대안적으로 서버 164는 수신된 위치 정보를 기반으로 인증 정보의 사용 장소를 설정할 수도 있다. 또한, 서버 164는 인증 정보의 사용 횟수를 설정할 수도 있다. 또한, 서버 164는 유효 기간의 연장 여부 및 그 가능 횟수를 설정할 수도 있다.
동작 640에서 서버 164는 설정된 사용 권한에 대응되는 인증 정보를 발급(예, 생성)할 수 있다. 이러한 인증 정보는 보안 영역(예: 보안 영역 460)의 접근을 위한 제 1 키로써 이용될 수 있다. 인증 정보는 예를 들면, OTP와 사용 권한 정보를 포함할 수 있다. 여기서 OTP는 사용자 인증 절차(예, 동작 620)를 통해 발급된 것이므로, S-OTP(Secure-OTP)로 바꾸어 지칭될 수도 있다. 사용 권한 정보는 유효 기간, 사용 장소, 사용 횟수 및 "유효 기간의 연장 여부 및 연장이 가능하다면 연장 기간 또는 횟수" 중에서 적어도 하나를 나타내는 설정 값을 포함할 수 있다.
동작 650에서 서버 164는 발급된 인증 정보를 전자 장치 400으로 전송할 수 있다.
인증 정보에 유효 기간이 설정되어 있는 경우, 전자 장치 400의 구성 요소(예, 인증부 440)는 유효 기간 동안, 다른 구성 요소(예, 제어부 420)의 보안 영역 460에 대한 접근을 승인할 수 있다. 유효 기간이 지나면 접근은 승인되지 않을 수 있다. 다만, 인증 정보에 "유효 기간이 연장 가능"으로 설정되어 있는 경우, 사용자의 요청에 의해 인증부 440은 유효 기간을 재설정하고, 재설정된 기간 동안 접근을 승인할 수도 있다.
인증 정보에 사용 장소가 설정되어 있는 경우, 인증부 440는 통신 모듈(예, GPS, Wi-Fi)을 이용하여 전자 장치 400의 현재 위치를 인식하고, 인식된 현재 위치가 상기 설정된 사용 장소인지 여부를 판단할 수 있다. 판단 결과 인식된 현재 위치가 상기 설정된 사용 장소인 경우 인증부 440은 제어부 420의 보안 영역 460에 대한 접근을 승인할 수 있다. 그렇지 않은 경우, 인증부 440은 보안 영역 460에 대한 접근을 승인하지 않을 수 있다.
인증 정보에 사용 횟수가 설정되어 있는 경우, 인증부 440는 제어부 420의 접근 요청의 횟수를 카운트하고, 카운트된 횟수가 사용 횟수를 초과하는지 여부를 판단할 수 있다. 인증부 440은, 판단 결과 초과하지 않는 경우 접근을 승인하고, 그렇지 않다면 접근을 승인하지 않을 수 있다.
한편, 도 6을 참조하여 설명한 사용자 인증 방법은 전자 장치 400가 수행할 수도 있다. 예를 들면, 인증부 440은 사용자 입력 모듈로부터 수신된 패스워드가 미리 저장된 패스워드와 일치하는지 여부를 판단하고, 일치할 경우 사용 권한이 설정된 인증 정보를 생성할 수 있다.
도 7은 일 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 동작 710에서 전자 장치(예: 전자 장치 400)의 인증부 440은 다른 구성 요소(예: 제어부 420)로부터 보안 영역 460에 대한 접근의 요청을 인식할 수 있다. 접근 요청에 응답하여 동작 720에서 인증부 440는 인증 정보(예: 전자 장치 400에 의해 생성되거나 외부 장치(예: 서버 164)에 의해 생성됨)가 유효한지 여부를 판단할 수 있다. 예를 들면, 인증부 440은 인증 정보에 설정된 유효 기간, 사용 장소 등을 분석하여 인증 정보의 유효성을 판단될 수 있다. 인증 정보가 유효한 경우 동작 730에서 인증부 440은 보안 영역 460에 대한 접근을 위한 제 2 키로써 링커(예: 링커441)를 생성할 수 있다. 동작 740에서 인증부 440은 제어부 420의 보안 영역 460에 대한 접근을 승인할 수 있다. 즉, 제어부 420은 링커 441을 통해 보안 영역 460의 특정 데이터, 어플리케이션, 하드웨어 또는 펌웨어에 접근할 수 있다.
도 8은 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 8을 참조하면, 동작 810에서 전자 장치(예: 전자 장치 500)의 인증부 540은 다른 구성 요소(예: 제어부 520)로부터 보안 영역 560에 대한 접근의 요청을 인식할 수 있다. 접근 요청에 응답하여 동작 820에서 인증부 540은 메모리(예: 보안 영역 560 또는 저장부 430)에 저장된 인증 정보(예: 인증 정보 531)가 유효한지 여부를 판단할 수 있다. 인증 정보 531이 유효한 경우 동작 830에서 인증부 540은 보안 영역 560에 대한 접근을 위한 링커(예: 링커 541)를 생성할 수 있다. 동작 840에서 인증부 540은 보안 영역 560에 대한 접근을 위한 제 3 키로써 패스워드의 입력을 사용자에게 요청할 수 있다. 예를 들면, 인증부 540은 패스워드 입력창을 표시하도록 디스플레이 모듈을 제어할 수 있다. 동작 850에서 인증부 540은 사용자 입력 모듈로부터 패스워드를 수신할 수 있다. 동작 860에서 인증부 540은 수신된 패스워드가 유효한지 여부를 판단할 수 있다. 예를 들면, 인증부 540은 인증 정보 531에 대응되어 저장된 패스워드가 상기 수신된 패스워드와 일치하는지 여부를 판단할 수 있다. 두 패스워드가 일치할 경우 동작 870에서 인증부 540은 제어부 520의 보안 영역 560에 대한 접근을 승인할 수 있다. 즉, 제어부 520은 링커 541을 통해 보안 영역 560의 특정 데이터, 어플리케이션, 하드웨어 또는 펌웨어에 접근할 수 있다.
도 9는 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 9를 참조하면, 동작 910에서 전자 장치(예: 전자 장치 400)의 제어부 420은 인증 요청 정보(예: 입문 신청 정보)를 보안 서버(예: 서버 164)에 전송하도록 통신 모듈(예: RFID 태그)를 제어할 수 있다. 예를 들면, RFID 태그는 게이트에 설치된 RFID 리더기에 입문 신청 정보를 전송할 수 있다. RFID 리더기는 입문 신청 정보를 서버 164에 전송할 수 있다. 여기서 입문 신청 정보는 사용자 계정(예: 이름, 아이디 등), 장치 정보 등을 포함할 수 있다. 동작 920에서 서버 164는 입문 신청 정보의 유효성을 판단할 수 있다. 판단 결과 유효하지 못한 경우 서버 164는 "유효하지 못함"을 나타내는 정보를 전자 장치 400에 전송할 수 있다. 전자 장치 400의 통신부 410는 해당 정보를 수신하고, 이를 인증부 440에 전달할 수 있다. 동작 930에서 인증부 440는 보안 영역 460에 대한 접근을 차단할 수 있다.
입문 신청 정보가 유효한 경우 서버 164는 사용 권한(예: 유효 기간 등)을 설정하고, 설정된 사용 권한에 대응되는 인증 정보를 발급하여 전자 장치 400으로 전송할 수 있다. 동작 940에서 인증부 440는 통신부 410을 통해 서버 164로부터 인증 정보를 수신할 수 있다. 동작 950에서 인증부 440는 인증 정보의 유효성을 판단할 수 있다. 예를 들면, 인증부 440은 인증 정보에 설정된 유효 기간이 초과되었는지 여부를 판단할 수 있다. 유효 기간이 초과된 경우 동작 960에서 인증부 440는 보안 영역 460에 대한 접근을 차단할 수 있다. 또한 인증부 440는 인증 정보의 만료를 사용자에게 예컨대, 디스플레이 모듈을 통해 안내할 수 있다. 유효 기간이 초과되지 않은 경우 동작 970에서 인증부 440은 보안 영역 460에 대한 접근을 승인할 수 있다. 이에 따라 사용자는 게이트를 통해 특정 장소(예: 회사)에 입문 후, 회사 내에서 유효 기간(예: 근무 시간) 동안, 보안 영역 460을 사용할 수 있다.
도 10은 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다.
도 10을 참조하면, 동작 1010에서 전자 장치(예: 전자 장치 400)의 제어부 420은 인증 요청 정보(예: 출장 결재 정보)를 보안 서버(예: 서버 164)에 전송하도록 통신 모듈(예: Wi-Fi 모듈)을 제어할 수 있다. 여기서 출장 결재 정보는 사용자 계정, 출장 기간, 출장 장소 등을 포함할 수 있다. 동작 1020에서 서버 164는 출장 결재 정보의 유효성을 판단할 수 있다. 판단 결과 유효하지 못한 경우 서버 164는 "유효하지 못함"을 나타내는 정보를 전자 장치 400에 전송할 수 있다. 전자 장치 400의 통신부 410는 해당 정보를 수신하고, 이를 인증부 440에 전달할 수 있다. 동작 1030에서 인증부 440는 보안 영역 460에 대한 접근을 차단할 수 있다.
출장 결재 정보가 유효한 경우 서버 164는 사용 권한(예: 유효 기간, 유효 기간의 연장 여부 등)을 설정하고, 설정된 사용 권한에 대응되는 인증 정보를 발급하여 전자 장치 400으로 전송할 수 있다. 동작 1040에서 인증부 440는 통신부 410을 통해 서버 164로부터 인증 정보를 수신할 수 있다. 동작 1050에서 인증부 440는 인증 정보의 유효성을 판단할 수 있다. 유효성이 없는 경우(예: 유효 기간이 초과), 동작 1060에서 인증부 440는 유효 기간의 연장 여부를 판단할 수 있다. 예를 들면, 인증 정보에 "유효 기간이 연장 가능"으로 설정되어 있는 경우, 인증부 440는 통신부 410을 통해 인증 정보를 재발급해 줄 것을 서버 164에 요청할 수 있다. 이러한 요청에 응답하여 서버 164는 새로운 제 2 인증 정보를 발급하여 전자 장치 400으로 전송할 수 있다. 여기서 제 2 인증 정보는 유효 기간이 재연장 가능하도록 설정될 수 있다. 또는 제 2 인증 정보는 유효 기간이 재연장 가능하지 않도록 설정될 수도 있다. 동작 1070에서 인증부 440은 통신부 410을 통해 제 2 인증 정보를 수신할 수 있다. 이러한 동작 1070의 수행 후 프로세스는 동작 1050으로 복귀될 수 있다.
동작 1050에서의 판단 결과 인증 정보가 유효한 경우 동작 1080에서 인증부 440은 보안 영역 460에 대한 접근을 승인할 수 있다. 이에 따라 사용자는 특정 장소(예: 회사)를 벗어난 곳에서, 유효 기간(예: 출장 기간) 동안, 보안 영역 460을 사용할 수 있다. 한편, 전자 장치 400는 인증 요청을 위한 정보(예: 아이디와 패스워드)를 저장할 수 있다. 전자 장치 400는 이러한 아이디와 패스워드를 서버 164에 전송하여 인증 정보의 발급을 요청할 수도 있다. 여기서 패스워드 또는 아이디는 유효 기간이 설정된 것일 수 있다. 서버 164는 유효 기간이 지난 패스워드 또는 아이디가 수신된 경우, 인증 정보의 발급을 취소할 수 있다.
도 11은 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다. 전자 장치(예: 전자 장치 500)의 인증부 540은 인증 서버와의 통신이 불가능한 경우, 인증 서버로부터 미리 받아 놓은 인증 정보를 이용하여 보안 영역 560에 대해 제한적인 접근을 허용할 수 있다.
도 11을 참조하면, 동작 1110에서 인증부 540은 인증 서버로부터 인증 정보(예: 인증 정보 531)를 발급 받아 메모리(예: 저장부 530 또는 인증 영역 560)에 보유할 수 있다.
동작 1120에서 인증부 540은 서버 164에 의한 인증 가능 여부를 판단할 수 있다. 인증 요청에 대해 서버 164로부터 응답이 없어 서버 164에 의한 인증 불가한 경우, 동작 1130에서 인증부 540은 보안 영역 560의 접근 권한을 재설정할 수 있다. 예를 들면, 보안 영역 560에 저장된 데이터에 대해 읽기는 가능하나 변경은 불가능하도록 접근 권한이 제한될 수 있다. 또한 동작 1130에서 인증부 540은 인증 정보 531의 사용 권한을 재설정할 수도 있다. 예를 들면, 유효 기간이 삼일 남은 경우 이틀로 줄어들 수 있다.
동작 1140에서 인증부 540은 재설정된 접근 권한에 대응되는 링커를 생성할 수 있다. 동작 1150에서 인증부 540은 제어부 520의 보안 영역 560에 대한 접근을 승인할 수 있다. 즉, 제어부 520은 링커를 통해 보안 영역 560의 특정 데이터, 어플리케이션, 하드웨어 또는 펌웨어에 접근할 수 있다. 여기서 특정 데이터는 읽기만이 가능할 수 있다. 또한, 어플리케이션, 하드웨어 및 펌웨어는 해당 기능들 중 일부 기능만이 실행될 수 있다.
한편, 서버 164로부터 응답이 있는 경우(예, 인증 정보 수신), 인증부 540은 링커를 생성하여 제어부 520로 전달할 수 있다. 이에 따라 제어부 520은 링커를 통해 보안 영역 560의 특정 데이터, 어플리케이션, 하드웨어 또는 펌웨어에 접근할 수 있다. 이때 특정 데이터는 읽기 및 변경 모두 가능하다. 또한 제어부 520은 보안 영역 560에 신규 데이터를 쓸 수 있다. 또한 제어부 520는 어플리케이션, 하드웨어 및 펌웨어의 모든 기능들을 실행할 수 있다.
도 12는 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다. 전자 장치(예: 전자 장치 400)의 인증부 440은 인증 서버와의 통신이 불가능한 경우, 제 2의 인증 서버와의 통신을 통해 링커를 생성하고, 보안 영역 560에 대해 제한적인 접근을 허용할 수 있다.
도 12를 참조하면, 동작 1210에서 인증부 440은 인증 서버에 인증 요청 정보를 전송하도록 통신부 410을 제어할 수 있다. 동작 1220에서 인증부 440은 인증 서버로부터 인증 정보의 수신 여부를 판단할 수 있다.
인증 서버로부터 인증 정보가 수신되지 않은 경우 동작 1230에서 인증부 440은 예비 인증 서버에 접속하도록 통신부 410을 제어할 수 있다. 예비 인증 서버에 접속되면 동작 1240에서 인증부 440은 사용자 인증 정보(예, 아이디와 패스워드)를 예비 인증 서버에 전송하도록 통신부 410을 제어할 수 있다. 예비 인증 서버는 수신된 사용자 인증 정보와 미리 저장된 사용자 인증 정보를 비교하여 일치할 경우, 보안 영역 460에 대한 접근을 위한 제 4 키로써 링커 생성용 패스워드를 발급할 수 있다. 여기서 링커 생성용 패스워드에는 사용 제한 값이 예컨대, "1"로 설정될 수 있다.
동작 1250에서 인증부 440은 통신부 410를 통해 예비 인증 서버로부터 링커 생성용 패스워드와 사용 제한 값을 수신할 수 있다. 링커 생성용 패스워드가 수신되면 인증부 440은 사용 횟수 Sum을 '0'으로 설정할 수 있다. 동작 1260에서 인증부 440은 보안 영역 460의 접근 권한을 설정할 수 있다. 예를 들면, 보안 영역 460에 저장된 데이터에 대해 읽기는 가능하나 변경은 불가능하도록 접근 권한이 제한될 수 있다. 동작 1270에서 인증부 440은 설정된 접근 권한에 대응되는 링커를 생성할 수 있다. 동작 1280에서 인증부 440은 예컨대, 패스워드 입력창을 표시하도록 디스플레이 모듈을 제어할 수 있다. 또한 동작 1280에서 인증부 440은 사용자 입력 모듈로부터 패스워드(이하, 입력 패스워드)를 수신할 수 있다.
동작 1290에서 인증부 440은 입력 패스워드가 링커 생성용 패스워드와 일치하는지 여부를 판단할 수 있다. 두 패스워드가 일치하는 경우 인증부 440은 링커 생성용 패스워드의 사용 횟수 Sum에 1을 덧셈한다. 그리고 동작 1291에서 인증부 440은 사용 횟수 Sum이 사용 제한 값 이상인지 여부를 판단할 수 있다. 사용 횟수 Sum이 사용 제한 값(예: 1)보다 작은 경우(즉, 링커 생성용 패스워드가 처음 사용되는 경우), 동작 1292에서 인증부 440은 보안 영역 460에 대한 "제한된 접근(예: 데이터 읽기 가능/쓰기 불가능)"을 승인할 수 있다. 사용 횟수 Sum이 사용 제한 값 '1'인 경우(즉, 링커 생성용 패스워드가 두번째 사용되는 경우), 인증부 440은 보안 영역 460에 대한 제한된 접근 마저도 허용하지 않을 수 있다.
동작 1290에서의 판단 결과 입력 패스워드가 링커 생성용 패스워드와 일치하지 않는 경우, 동작 1294에서 인증부 440은 입력 패스워드가 보안 영역 접근용 패스워드(보안 영역 460의 접근을 위한 또 다른 키)와 일치하는지 여부를 판단할 수 있다. 두 패스워드가 일치하는 경우 동작 1292에서 인증부 440은 보안 영역 460에 대한 "제한된 접근"을 승인할 수 있다. 그렇지 않으면, 인증부 440은 보안 영역 460에 대한 제한된 접근 마저도 허용하지 않을 수 있다.
도 13은 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다. 전자 장치(예: 전자 장치 400)의 인증부 440은 외부와의 통신이 불가능한 경우 보안 영역 460에 대해 제한적인 접근을 허용할 수 있다.
도 13을 참조하면, 동작 1310에서 인증부 440은 인증 서버 및 인터넷과 통신 불가능 상태임을 인식할 수 있다. 예를 들면, 모든 무선 연결(예, Wi-Fi, 블루투스, 셀룰러 네트워크 등)이 사용되지 않도록 설정되어 있는 경우, 제어부 420은 통신부 410을 비활성화시킬 수 있다. 또한, 통신부 410이 활성화되어 있음에도, 네트워크 문제 또는 기타 환경적 요인에 의해 인증 서버 및 인터넷과 통신이 불가능할 수도 있다. 통신이 불가능하다면, 동작 1320에서 인증부 440은 패스워드의 입력을 사용자에게 요청할 수 있다. 예를 들면, 인증부 440은 패스워드 입력 창을 표시하도록 디스플레이 모듈을 제어할 수 있다. 동작 1330에서 인증부 440은 사용자 입력 모듈로부터 패스워드를 수신할 수 있다. 동작 1340에서 인증부 440은 수신된 패스워드와 미리 저장된 오프라인용 패스워드(보안 영역 460의 접근을 위한 또 다른 키)의 일치 여부를 판단할 수 있다. 두 패스워드가 일치하면 동작 1350에서 인증부 440은 제한된 접근을 위한 링커를 생성할 수 있다. 동작 1360에서 인증부 440은 링커를 통한 보안 영역 460에 대한 '제한된 접근'을 승인할 수 있다. 두 패스워드가 일치하지 않다면, 인증부 440은 보안 영역 460에 대한 '제한된 접근' 도 허용하지 않을 수 있다.
도 14는 또 다른 실시예에 따른 전자 장치의 보안 영역에 대한 접근 제어 방법을 설명하기 위한 흐름도이다. 전자 장치(예: 전자 장치 500)의 인증부 540은 승인 받지 않은 보안 영역 560에 대한 접근을 차단할 수 있다.
도 14를 참조하면, 동작 1410에서 인증부 540은 인증 서버에 연결 가능 여부를 확인할 수 있다. 확인 결과 인증 서버에 연결 불가하다면, 동작 1420에서 인증부 540은 인증 정보의 보유 여부를 확인할 수 있다. 확인 결과 인증 정보가 없다면 동작 1430에서 인증부 540은 보안 영역 560에 대한 다른 구성 요소(예: 제어부 520)의 접근이 허용되어 있는지 여부를 판단할 수 있다. 접근이 허용되어 있다면, 인증부 540은 제어부 520와 보안 영역 560 간의 연결이 잘못된 것으로 판단할 수 있다. 이에 따라 동작 1440에서 인증부 540은 제어부 520와 보안 영역 560 간의 연결(예: 링커 541를 통한 연결)을 해제하여, 보안 영역 560에 대한 접근을 취소할 수 있다. 접근이 허용되어 있지 않다면 프로세스는 동작 1410으로 복귀될 수 있다.
동작 1420에서의 확인 결과 인증 정보가 있다면(예: 인증 정보 531), 동작 1450에서 인증부 540은 보안 영역 560의 접근 권한을 재설정할 수 있다. 예를 들면, 보안 영역 560에 저장된 데이터에 대해 읽기는 가능하나 변경은 불가능하도록 접근 권한이 제한될 수 있다. 또한 동작 1450에서 인증부 540은 인증 정보 531의 사용 권한을 재설정할 수도 있다. 예를 들면, 유효 기간이 삼일 남은 경우 이틀로 줄어들 수 있다.
동작 1460에서 인증부 540은 재설정된 접근 권한에 대응되는 링커를 생성할 수 있다. 동작 1470에서 인증부 540은 제어부 520의 보안 영역 560에 대한 접근을 승인할 수 있다. 즉, 제어부 520은 링커를 통해 보안 영역 560의 특정 데이터, 어플리케이션, 하드웨어 또는 펌웨어에 접근할 수 있다. 여기서 특정 데이터는 읽기만이 가능할 수 있다. 또한, 어플리케이션, 하드웨어 및 펌웨어는 해당 기능들 중 일부 기능만이 실행될 수 있다.
한편, 동작 1410에서의 확인 결과 인증 서버에 연결 가능하다면, 전자 장치 500은 보안 서버로부터 인증 정보를 수신 받아 링커를 생성할 수 있다. 이에 따라 제어부 520은 링커를 통해 보안 영역 560의 특정 데이터, 어플리케이션, 하드웨어 또는 펌웨어에 접근할 수 있다. 이때 특정 데이터는 읽기 및 변경 모두 가능하다. 또한 제어부 520은 보안 영역 560에 신규 데이터를 쓸 수 있다. 또한 제어부 520는 어플리케이션, 하드웨어 및 펌웨어의 모든 기능들을 실행할 수 있다.
상술한 바와 같은 본 발명의 실시 예에 따른 방법은 다양한 컴퓨터를 통하여 수행될 수 있는 프로그램 명령으로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 여기서 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 포함할 수 있다. 또한 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수 있다. 또한 기록매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기매체(Magnetic Media)와, CD-ROM, DVD와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 롬(ROM)과, 램(RAM)과, 플래시 메모리 등과 같은 하드웨어가 포함될 수 있다. 또한 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라, 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드가 포함될 수 있다.
그리고 본 명세서와 도면에 발명된 실시 예들은 본 발명의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100, 102, 104 : 전자 장치 110 : 버스
120 : 프로세서 130 : 메모리
131, 310 : 커널 132, 330 : 미들웨어
133, 360 : 어플리케이션 프로그래밍 인터페이스(API)
134, 370 : 어플리케이션 140 : 사용자 입력 모듈
150 : 디스플레이 모듈 160 : 통신 모듈
162 : 네트워크 164 : 서버
200 : 하드웨어 210 : 프로세서
211 : 어플리케이션 프로세서(AP)
213 : 커뮤니케이션 프로세서(CP)
214 : SIM 카드 220 : 메모리
222 : 내장메모리 224 : 외장메모리
230 : 통신 모듈 231 : 무선 통신 모듈
233 : Wi-Fi 234 : RF 모듈
235 : BT 237 : GPS
239 : NFC 240 : 센서 모듈
240A : 제스쳐 센서 240B : 자이로 센서
240C : 기압 센서 240D : 마그네틱 센서
240E : 가속도 센서 240F : 그립 센서
240G : 근접 센서 240H : RGB 센서
240I : 생체 센서 240J : 온/습도 센서
240K : 조도 센서 240M : UV 센서
250 : 사용자 모듈 252 : 터치 패널
254 : 펜 센서 256 : 키
258 : 울트라 소닉 260 : 디스플레이 모듈
262 : 패널 264 : 홀로그램
270 : 인터페이스 272 : HDMI
274 : USB 276 : 프로젝터
278 : D-SUB 280 : 오디오 코덱
282 : 스피커 284 : 리시버
286 : 이어폰 288 : 마이크
291 : 카메라 모듈 295 : 전력 관리 모듈
296 : 배터리 297 : 인디케이터
298 : 모터 300 : 프로그래밍 모듈
311 : 시스템 리소스 매니저 312 : 디바이스 드라이버
335 : 런타임 라이브러리 341 : 어플리케이션 매니저
342 : 윈도우 매니저 343 : 멀티미디어 매니저
344 : 리소스 매니저 345 : 파워 매니저
346 : 데이터베이스 매니저 347 : 패키지 매니저
348 : 연결 매니저 349 : 통지 매니저
350 : 위치 매니저 351 : 그래픽 매니저
352 : 보안 매니저 371 : 홈
372 : 다이얼러 373 : SMS/MMS
374 : IM 375 : 브라우저
376 : 카메라 377 : 알람
378 : 컨택트 379 : 음성다이얼
380 : 이메일 381 : 달력
382 : 미디어 플레이어 383 : 앨범
384 : 시계
120 : 프로세서 130 : 메모리
131, 310 : 커널 132, 330 : 미들웨어
133, 360 : 어플리케이션 프로그래밍 인터페이스(API)
134, 370 : 어플리케이션 140 : 사용자 입력 모듈
150 : 디스플레이 모듈 160 : 통신 모듈
162 : 네트워크 164 : 서버
200 : 하드웨어 210 : 프로세서
211 : 어플리케이션 프로세서(AP)
213 : 커뮤니케이션 프로세서(CP)
214 : SIM 카드 220 : 메모리
222 : 내장메모리 224 : 외장메모리
230 : 통신 모듈 231 : 무선 통신 모듈
233 : Wi-Fi 234 : RF 모듈
235 : BT 237 : GPS
239 : NFC 240 : 센서 모듈
240A : 제스쳐 센서 240B : 자이로 센서
240C : 기압 센서 240D : 마그네틱 센서
240E : 가속도 센서 240F : 그립 센서
240G : 근접 센서 240H : RGB 센서
240I : 생체 센서 240J : 온/습도 센서
240K : 조도 센서 240M : UV 센서
250 : 사용자 모듈 252 : 터치 패널
254 : 펜 센서 256 : 키
258 : 울트라 소닉 260 : 디스플레이 모듈
262 : 패널 264 : 홀로그램
270 : 인터페이스 272 : HDMI
274 : USB 276 : 프로젝터
278 : D-SUB 280 : 오디오 코덱
282 : 스피커 284 : 리시버
286 : 이어폰 288 : 마이크
291 : 카메라 모듈 295 : 전력 관리 모듈
296 : 배터리 297 : 인디케이터
298 : 모터 300 : 프로그래밍 모듈
311 : 시스템 리소스 매니저 312 : 디바이스 드라이버
335 : 런타임 라이브러리 341 : 어플리케이션 매니저
342 : 윈도우 매니저 343 : 멀티미디어 매니저
344 : 리소스 매니저 345 : 파워 매니저
346 : 데이터베이스 매니저 347 : 패키지 매니저
348 : 연결 매니저 349 : 통지 매니저
350 : 위치 매니저 351 : 그래픽 매니저
352 : 보안 매니저 371 : 홈
372 : 다이얼러 373 : SMS/MMS
374 : IM 375 : 브라우저
376 : 카메라 377 : 알람
378 : 컨택트 379 : 음성다이얼
380 : 이메일 381 : 달력
382 : 미디어 플레이어 383 : 앨범
384 : 시계
Claims (20)
- 전자 장치를 운영하는 방법에 있어서,
제 1 키의 유효성을 판단하는 동작;
상기 제 1 키가 유효한 경우 제 2 키를 생성하는 동작; 및
상기 제 2 키를 통한 상기 전자 장치의 특정 영역에 대한 접근을 승인하는 동작을 포함하는 것을 특징으로 하는 방법. - 제 1 항에 있어서,
상기 특정 영역에 대한 접근의 요청을 인식하는 동작;
상기 요청에 응답하여 상기 제 1 키 의 요청 메시지를 외부 장치에 전송하는 동작; 및
상기 제 1 키를 포함한 응답 메시지를 상기 외부 장치로부터 수신하는 동작을 더 포함하는 것을 특징으로 하는 방법. - 제 2 항에 있어서,
상기 요청 메시지는,
위치 정보, 기간 정보, 사용자 정보 또는 장치 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 방법. - 제 1 항에 있어서,
상기 제 2 키는,
상기 특정 영역의 어드레스 정보를 포함하고,
상기 접근을 승인하는 동작은,
상기 제 2 키를 상기 접근을 요청한 상기 전자 장치의 구성 요소에 전달하는 동작을 포함하는 것을 특징으로 하는 방법. - 제 1 항에 있어서,
상기 승인된 접근이 종료되면 상기 특정 영역의 어드레스를 변경하는 동작을 더 포함하는 것을 특징으로 하는 방법. - 제 1 항에 있어서,
상기 제 1 키의 유효성을 판단하는 동작은,
상기 제 1 키에 설정된 유효 기간이 만료되었는지 여부를 판단하는 동작을 포함하는 것을 특징으로 하는 방법. - 제 6 항에 있어서,
상기 유효 기간을 연장하는 동작을 더 포함하는 것을 특징으로 하는 방법. - 제1 항에 있어서,
제 3 키의 입력을 인식하는 동작; 및
상기 제 3 키 의 유효성을 판단하는 동작을 더 포함하고,
상기 접근을 승인하는 동작은,
상기 제 3키가 유효한 경우 상기 제 2 키를 생성하는 것을 특징으로 하는 방법. - 제 1 항에 있어서,
상기 제 1 키를 저장하는 동작;
상기 특정 영역에 대한 제 2의 접근의 요청에 응답하여, 상기 저장된 제 1 키의 유효성을 판단하는 동작; 및
상기 판단 결과 상기 저장된 제 1 키가 유효한 경우 상기 제 2 접근을 승인하는 동작을 더 포함하는 것을 특징으로 하는 방법. - 제 9 항에 있어서,
상기 제 2 접근을 승인하는 동작은,
상기 제 2 접근의 권한을 제한하는 동작을 포함하는 것을 특징으로 하는 방법. - 제 10 항에 있어서,
상기 제 2 접근의 권한을 제한하는 동작은,
상기 특정 영역에 대해 읽기만을 허용하는 동작을 포함하는 것을 특징으로 하는 방법. - 제 9 항에 있어서,
상기 저장된 제 1 키의 유효성을 판단하는 동작은,
상기 저장된 제 1 키에 설정된 유효 기간이 만료되지 않은 경우 상기 저장된 제 1 키가 유효한 것으로 판단하는 동작을 포함하는 것을 특징으로 하는 방법. - 제 12 항에 있어서,
상기 유효 기간이 만료된 경우 상기 저장된 제 1 키를 삭제하는 동작을 더 포함하는 것을 특징으로 하는 방법. - 제 1 항에 있어서,
상기 제 1 키는,
원 타임 패스워드(OTP)를 포함하는 것을 특징으로 하는 방법. - 제 14 항에 있어서,
상기 제 1 키는,
유효 기간 정보 또는 권한 설정 정보 중 적어도 하나를 더 포함하는 것을 특징으로 하는 방법. - 제 1 항에 있어서,
상기 제 1 키의 요청 메시지를 외부 장치에 전송하는 동작;
상기 외부 장치로부터 응답이 없는 경우 상기 특정 영역에 대한 제한적인 접근을 승인하는 동작을 더 포함하는 것을 특징으로 하는 방법. - 제 1 항에 있어서,
상기 제 1 키의 요청 메시지를 외부 장치에 전송하는 동작;
상기 외부 장치로부터 응답이 없는 경우 상기 특정 영역에 대한 접근을 차단하는 동작을 더 포함하는 것을 특징으로 하는 방법. - 외부 장치와 통신을 위한 통신부;
일반 영역과 특정 영역을 포함하는 메모리;
상기 통신부를 제어하고 상기 메모리에 접근하는 제어부; 및
상기 통신부로부터 수신되거나 상기 메모리에 저장된 제 1 키의 유효성을 판단하고, 상기 제 1 키가 유효한 경우 제 2 키를 생성하고, 상기 제 2 키를 통한 상기 특정 영역에 대한 접근을 상기 제어부에게 승인하는 인증부를 포함하는 전자 장치. - 제 18 항에 있어서,
상기 제어부 및 상기 인증부는,
적어도 하나 이상의 프로세서로 구현되는 것을 특징으로 하는 전자 장치. - 제 18 항에 있어서,
상기 적어도 하나 이상의 프로세서는,
상기 특정 영역에 대한 접근의 요청을 인식하고, 상기 요청에 응답하여 상기 제 1 키 의 요청 메시지를 외부 장치에 전송하도록 상기 통신부를 제어하고, 상기 제 1 키를 포함한 응답 메시지를 상기 통신부를 통해 상기 외부 장치로부터 수신하는 것을 특징으로 하는 전자 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140011909A KR20150091569A (ko) | 2014-02-03 | 2014-02-03 | 전자 장치 및 이의 특정 영역에 대한 접근을 제어하는 방법 |
US14/602,666 US20150220720A1 (en) | 2014-02-03 | 2015-01-22 | Electronic device and method for controlling access to given area thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140011909A KR20150091569A (ko) | 2014-02-03 | 2014-02-03 | 전자 장치 및 이의 특정 영역에 대한 접근을 제어하는 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150091569A true KR20150091569A (ko) | 2015-08-12 |
Family
ID=53755071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140011909A KR20150091569A (ko) | 2014-02-03 | 2014-02-03 | 전자 장치 및 이의 특정 영역에 대한 접근을 제어하는 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20150220720A1 (ko) |
KR (1) | KR20150091569A (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019037076A1 (zh) * | 2017-08-25 | 2019-02-28 | 深圳市得道健康管理有限公司 | 人工智能终端***、服务器及其行为控制方法 |
CN110006147B (zh) * | 2018-07-27 | 2021-01-05 | 江苏赛诚极云网络科技有限公司 | 空调控制电路板电源管理机构 |
CN113053481B (zh) * | 2021-03-29 | 2023-12-12 | 郑静 | 一种医疗信息身份认证*** |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7526677B2 (en) * | 2005-10-31 | 2009-04-28 | Microsoft Corporation | Fragility handling |
US8381279B2 (en) * | 2009-02-13 | 2013-02-19 | Microsoft Corporation | Constraining a login to a subset of access rights |
US8650392B2 (en) * | 2010-05-21 | 2014-02-11 | Microsoft Corporation | Ticket authorization |
JP5633699B2 (ja) * | 2011-01-26 | 2014-12-03 | 富士ゼロックス株式会社 | コンテンツ配信システム、携帯通信端末装置、及び閲覧制御プログラム |
US8806171B2 (en) * | 2011-05-24 | 2014-08-12 | Georgia Tech Research Corporation | Systems and methods providing wear leveling using dynamic randomization for non-volatile memory |
US8295490B1 (en) * | 2011-12-13 | 2012-10-23 | Google Inc. | Method and system for storing and providing an encryption key for data storage |
US9053305B2 (en) * | 2012-12-10 | 2015-06-09 | Dell Products L.P. | System and method for generating one-time password for information handling resource |
US9223724B2 (en) * | 2013-09-09 | 2015-12-29 | Kabushiki Kaisha Toshiba | Information processing device |
US9639710B2 (en) * | 2013-12-23 | 2017-05-02 | Symantec Corporation | Device-based PIN authentication process to protect encrypted data |
-
2014
- 2014-02-03 KR KR1020140011909A patent/KR20150091569A/ko not_active Application Discontinuation
-
2015
- 2015-01-22 US US14/602,666 patent/US20150220720A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20150220720A1 (en) | 2015-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11800004B2 (en) | Executing applications in conjunction with other devices | |
US10078599B2 (en) | Application access control method and electronic apparatus implementing the same | |
EP3057053B1 (en) | Electronic device and method for processing secure information | |
US10171994B2 (en) | Mobile device and method of sharing content | |
US10237269B2 (en) | Method of providing information security and electronic device thereof | |
KR102216877B1 (ko) | 전자장치에서 생체 정보를 이용한 인증 방법 및 장치 | |
US10200201B2 (en) | Method for application installation, electronic device, and certificate system | |
US10104538B2 (en) | Apparatus and method for providing a mobile device management service | |
US10242167B2 (en) | Method for user authentication and electronic device implementing the same | |
KR20150022276A (ko) | 이미지 파일에서 암호화된 메시지를 추출하는 전자 장치 및 방법 | |
US10699274B2 (en) | Apparatus and method for secure electronic payment | |
US11157603B2 (en) | Electronic device and method for performing authentication | |
US9614673B2 (en) | Method of managing keys and electronic device adapted to the same | |
KR20170084934A (ko) | 전자 장치 및 전자 장치의 식별 정보 인증 방법 | |
KR102180529B1 (ko) | 어플리케이션 접근 제어 방법 및 이를 구현하는 전자 장치 | |
CN110084035B (zh) | 用于在发生拒绝时建议响应指南的电子设备和方法 | |
US20150121474A1 (en) | Processor security authentication area | |
US20150161592A1 (en) | Method for payment using membership card and electronic device thereof | |
KR102348217B1 (ko) | 전자장치에서 보안화면을 제어하는 방법 및 장치 | |
KR20150091569A (ko) | 전자 장치 및 이의 특정 영역에 대한 접근을 제어하는 방법 | |
EP3324342B1 (en) | Electronic device and method for operating the same | |
KR102107650B1 (ko) | 메시지의 송수신 신호 및 통화 요청에 관한 신호를 검출하는 방법과 이를 구현하는 전자장치 | |
KR102243231B1 (ko) | 어플리케이션 설치를 관리하는 방법, 전자 장치 및 인증 시스템 | |
EP2911082B1 (en) | Apparatus, method, and system for accessing and managing security libraries | |
KR20140112392A (ko) | 어플리케이션 접근 제어 방법 및 이를 구현하는 전자장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |