KR101952226B1 - 보안 인터렉션 방법 및 장치 - Google Patents
보안 인터렉션 방법 및 장치 Download PDFInfo
- Publication number
- KR101952226B1 KR101952226B1 KR1020177007254A KR20177007254A KR101952226B1 KR 101952226 B1 KR101952226 B1 KR 101952226B1 KR 1020177007254 A KR1020177007254 A KR 1020177007254A KR 20177007254 A KR20177007254 A KR 20177007254A KR 101952226 B1 KR101952226 B1 KR 101952226B1
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- operating
- secure mode
- mode
- secure
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/74—Protecting 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
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/84—Protecting input, output or interconnection devices output devices, e.g. displays or monitors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- 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/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 보안 인터렉션 방법 및 장치를 제공하고, 보안 인터렉션 장치는, 프로세서가, 애플리케이션에 의해 송신된 보안 처리 요청을 수신하는 단계 - 애플리케이션 프로그램은 정상 모드에서 동작하고, 프로세서는, 보안 처리 요청을 수신한 때에는, 정상 모드에서 동작함 -; 프로세서가, 보안 처리 요청에 따라, 정상 모드로부터 보안 모드로 전환하는 단계; 보안 모드에서 동작하는 프로세서가, 보안 모드에서 동작하는 메모리에 데이터 정보를 판독하는 단계 - 데이터 정보는 보안 모드에서 동작하는 프로세서가, 보안 처리 요청을 파싱한 후 생성하는 데이터임 -; 및 보안 모드에서 동작하는 프로세서가, 보안 모드에서 동작하는 메모리에 저장된 데이터 정보에 따라 동작하도록 액세스 된 장치를 제어하는 단계를 포함하고, 액세스 된 장치는, 정상 모드에서 동작하고, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답하며, 애플리케이션 프로그램에 의해 호출된 후 동작해야 하는 장치이다.
Description
본 발명은 통신 분야에 관한 것으로서, 보다 상세하게는 보안 인터렉션 방법 및 장치에 관한 것이다.
신뢰 컴퓨팅 기반(TCB: Trusted Computing Base)은 컴퓨터 시스템에서 보호 장치에 대한 일반적인 용어입니다. 신뢰 컴퓨팅 기반은 컴퓨터 시스템에 대한 보안 보호 환경을 구축한다. 스마트폰 시스템은 기능이 풍부하지만 스마트폰 시스템은 많은 양의 하단 코드(bottom-layer code)를 지원해야 한다. 예를 들어 안드로이드(Android) 시스템에서 안드로이드 시스템 전체는 신뢰 컴퓨팅 기반 소프트웨어 스택의 소스 코드가 천만 라인 이상 있다. 일단 멀웨어(malware)가 기존 소프트웨어 스택의 보안 취약점을 사용하여 시스템에 침투하면, 사용자 입력 작업과 입력 디스플레이의 보안을 보장할 수 없다.
실생활에서 전자 기기를 이용한 쇼핑은 사람들의 일상 생활의 일부가 되었다. 그러나 결제 면에서의 보안은 더욱 보장되어야 한다. 은행 결제 애플리케이션의 예에서, 입력에 대해, 멀웨어가 비밀리에 입력 데이터를 가로채는 경우. 사용자가 입력한 비밀번호가 유출될 수 있다. 표시에 대해, 멀웨어가 표시 버퍼를 조작하여 표시 데이터를 비밀리에 변경하면 사용자에 대한 지식 없이도 사용자의 계정을 도난 당할 수 있다.
현재 운영 시스템의 보안을 향상시키기 위해 TrustZone(Trusted Execution Environment)과 같은 신뢰할 수 있는 실행 환경 기술을 사용할 수 있다. TrustZone에서는 모니터 모드, 보안 모드, 및 정상 모드가 설정된다. 모니터 모드는 가장 높은 보안 레벨을 가지며, 보안 모드와 정상 모드 사이의 전환은 모니터 모드를 사용하여 구현될 수 있다. 정상 모드는 운영 체제가 일반적으로 실행되는 모드와 같다. 보안 모드는 정상 모드와 완전히 분리되어 있지만 정상 모드에서의 모든 물리적 메모리와 같은 장치는 보안 모드에서 액세스할 수 있다. 예를 들어, 휴대 전화의 전원이 켜지면 휴대 전화는 먼저 보안 모드로 들어가고 보안 모드의 프로그램은 정상 모드로 전환하여 휴대 전화의 시스템을 시작한다. 기존 시스템의 경우, 기존 시스템은 정상 모드에서 실행될 수 있으며 비교적 높은 보안 레벨을 갖는 프로그램이 보안 모드에서 실행된다.
TrustZone 메커니즘을 사용하여 시스템 보안이 향상되는 애플리케이션 프로그램 시나리오에서는 기존 시스템이 정상 모드에서 실행되고 보안 처리 기능이 보안 모드에서 제공되어, 기존 시스템과의 안전한 격리를 구현한다. 정상 모드의 프로그램은 신뢰할 수 없으므로 프로그램의 드라이버 코드를 직접 재사용되면, 보안 모드의 데이터가 유출되거나 변조될 수 있다. 보안 모드에서, 애플리케이션 프로그램의 요청을 처리하기 위해, 기존의 방법은, 보안 모드에서, 액세스 된 장치의 드라이버 코드를 다시 구현하는 것이다. 그러나 기존 시스템의 많은 드라이버가 모두 써드 파티에 의해 제공되므로, 소스 드라이버 코드를 얻을 수 없고 제한된 수의 장치 드라이버가 보안 모드에서 지원된다. 또 다른 방법은 기존 시스템의 모든 드라이버 모듈을 보안 모드로 이식(port)하는 것이다. 이 방법을 사용하면 충분한 양의 장치 드라이버가 보안 모드에서 지원될 수 있습니다. 그러나 결과적으로, 보안 모드에서의 코드량이 급격하게 증가하고, 신뢰 컴퓨팅 베이스가 과도하게 커지게 된다. 애플리케이션 프로그램의 요청을 처리하는 동안 보안을 보장하기 위한 더 나은 해결 수단이 아직 제안되지 않고 있다.
본 발명의 실시예는, 보안 모드에서, 정상 모드에서 동작하는 드라이버 모듈(driver module)의 코드(code)를 안전하게 호출하고, 기 위해, 본 발명의 실시예는 보안 인터렉션 방법 및 장치를 제공하고, 신뢰 컴퓨팅 베이스(trusted computing base)를 줄이기 위해, 보안 인터렉션 방법 및 장치를 제공한다.
제1 측면에 따르면, 보안 인터렉션 방법(secure interaction method)이 제공되고 이러한 방법은, 프로세서가, 애플리케이션 프로그램에 의해 송신된 보안 처리 요청을 수신하는 단계 - 상기 애플리케이션 프로그램은 정상 모드에서 동작하고, 상기 프로세서는 상기 보안 처리 요청을 수신한 때에는 상기 정상 모드에서 동작 함 -; 상기 프로세서가, 상기 보안 처리 요청에 따라 상기 정상 모드로부터 보안 모드로 전환하는 단계; 상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리에 데이터 정보를 판독하는 단계 - 상기 데이터 정보는, 상기 보안 모드에서 동작하는 프로세서가 상기 보안 처리 요청을 파싱(parse) 한 후에 생성하는 데이터임 -; 및 상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리에 저장된 상기 데이터 정보에 따라 동작하도록 액세스 된 장치를 제어하는 단계를 포함하고, 상기 액세스 된 장치는, 상기 정상 모드에서 동작하고, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답하며, 상기 애플리케이션 프로그램에 의해 호출된 후, 동작해야 하는 장치이다.
제1 측면을 참조하면, 제1 측면의 구현 가능한 제1 방식에서, 상기 프로세서가, 상기 보안 처리 요청에 따라 상기 정상 모드로부터 보안 모드로 전환하는 단계 후, 상기 보안 인터렉션 방법은, 상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리로부터 보안 지시자(security indicator)를 판독하는 단계; 및 상기 보안 모드에서 동작하는 프로세서가, 상기 판독된 보안 지시자에 따라, 현재 환경이 보안 상태(secure state)에 있다는 것을 사용자에게 통지하는 단계를 더 포함한다.
제1 측면을 참조하면, 제1 측면의 구현 가능한 제2 방식에서, 상기 보안 모드에서 동작하는 프로세서가, 상기 판독된 보안 지시자에 따라, 현재 환경이 보안 상태에 있다는 것을 사용자에게 통지하는 단계는, 상기 보안 모드에서 동작하는 프로세서가, 상기 판독된 보안 지시자에 따라, 보안 지시 장치가 동작하도록 제어하는 단계를 포함하고, 상기 보안 지시 장치는, 상기 보안 모드에서 동작하고, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답한다.
제1 측면을 참조하면, 제1 측면의 구현 가능한 제3 방식에서, 상기 보안 모드에서 동작하는 프로세서가, 상기 판독된 보안 지시자에 따라, 현재 환경이 보안 상태에 있다는 것을 사용자에게 통지하는 단계는, 상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리로부터 판독된 상기 보안 지시자를 표시하도록 표시 유닛을 제어하는 단계를 포함하고, 상기 표시 유닛은, 상기 정상 모드에서 동작하고, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답한다.
제1 측면 또는 제1 측면의 구현 가능한, 제1 방식 또는 제2 방식 또는 제3 방식을 참조하면, 제1 측면의 구현 가능한 제4 방식에서, 상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리에 데이터 정보를 판독하는 단계는, 상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리에 프레임 버퍼 정보를 판독하는 단계를 포함하고, 상기 프레임 버퍼 정보는, 프레임 버퍼 장치에 의해 제공되는 인터페이스로부터, 상기 보안 모드에서 동작하는 프로세서에 의해 획득되고, 상기 프레임 버퍼 장치는 상기 정상 모드에서 동작한다.
제1 측면의 구현 가능한 제4 방식을 참조하면, 제1 측면의 구현 가능한 제5 방식에서, 상기 액세스 된 장치는 상기 표시 유닛이고, 상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리에 저장된 상기 데이터 정보에 따라 동작하도록 액세스 된 장치를 제어하는 단계는,
상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리로부터 판독된 상기 프레임 버퍼 정보를 표시하도록 상기 표시 유닛을 제어하는 단계
를 포함하고, 상기 표시 유닛은, 상기 정상 모드에서 동작하고, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답한다.
제1 측면의 구현 가능한 제5 방식을 참조하면, 제1 측면의 구현 가능한 제6 방식에서, 상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리로부터 판독된 상기 프레임 버퍼 정보를 표시하도록 상기 표시 유닛을 제어하는 단계는, 상기 보안 모드에서 동작하는 프로세서가, 전경 층(foreground layer) 및 배경 층(background layer)을 표시하도록 제어하는 단계를 포함하고, 상기 프레임 버퍼 정보는 상기 전경 층에 표시되고, 배경은 상기 배경 층에 표시되며, 상기 전경층 및 상기 배경 층은 서로 다른 컬러로 표시된다.
제1 측면 또는 제1 측면의 구현 가능한, 제1 방식 또는 제2 방식 또는 제3 방식을 참조하면, 제1 측면의 구현 가능한 제7 방식에서, 상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리에 데이터 정보를 판독하는 단계는, 상기 보안 모드에서 동작하는 프로세서가, 사용자에 의해, 입력 장치에 입력된 사용자 데이터를 획득하는 단계; 상기 보안 모드에서 동작하는 프로세서가, 상기 획득한 사용자 데이터에 검증 처리를 수행하여 결과 데이터를 획득하는 단계; 및 상기 보안 모드에서 동작하는 프로세서가, 상기 결과 데이터를 상기 보안 모드에서 동작하는 메모리에 판독하는 단계를 포함하고, 상기 입력 장치는 상기 정상 모드에서 동작한다.
제1 측면의 구현 가능한 제7 방식을 참조하면, 제1 측면의 구현 가능한 제8 방식에서, 상기 액세스 된 장치는 상기 표시 유닛이고, 상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리에 저장된 상기 데이터 정보에 따라 동작하도록 액세스 된 장치를 제어하는 단계는, 상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리로부터 판독된 상기 결과 데이터를 표시하도록 상기 표시 유닛을 제어하는 단계를 포함하고, 상기 표시 유닛은, 상기 정상 모드에서 동작하고, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답한다.
제1 측면을 참조하면, 제1 측면의 구현 가능한 제9 방식에서, 프로세서가, 애플리케이션 프로그램에 의해 송신된 보안 처리 요청을 수신하는 단계 이전에, 상기 보안 인터렉션 방법은, 상기 프로세서가, 상기 보안 모드에서 동작하는 프로세서에 의해 액세스 가능하도록 상기 액세스 된 장치를 설정하는 단계; 및 드라이버 코드(driver code)가, 상기 정상 모드에서 동작하는 애플리케이션 프로그램을 시작하고 실행할 수 있도록, 상기 프로세서가, 상기 정상 모드에서 동작하는 메모리에 운영 시스템을 로딩(loading)하는 단계를 포함한다.
제2 측면에 따르면, 프로세서, 메모리, 및 액세스 된 장치를 포함하는 보안 인터렉션 장치(secure interaction device)가 제공되고, 상기 프로세서는, 애플리케이션 프로그램에 의해 송신된 보안 처리 요청을 수신하고, 상기 보안 처리 요청에 따라, 상기 정상 모드로부터 보안 모드로 전환하도록 구성되며, 상기 애플리케이션 프로그램은 정상 모드에서 동작하고, 상기 프로세서는, 상기 보안 처리요청을 수신한 때에는, 상기 정상 모드에서 동작하고, 상기 보안 모드에서 동작하는 프로세서는, 상기 보안 모드에서 동작하는 메모리에 데이터 정보를 판독하고 - 상기 데이터 정보는, 상기 보안 모드에서 동작하는 프로세서가 상기 보안 처리 요청을 파싱(parse)한 후 생성됨 -, 상기 보안 모드에서 동작하는 메모리에 저장된 상기 데이터 정보에 따라 동작하도록 상기 액세스 된 장치를 제어하도록 구성되며, 상기 액세스 된 장치는, 상기 정상 모드에서 동작하고, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답하며, 상기 애플리케이션 프로그램에 의해 호출된 후, 동작해야한다.
제2 측면을 참조하면, 제2 측면의 구현 가능한 제1 방식에서, 상기 보안 모드에서 동작하는 프로세서는 추가로, 상기 프로세서가, 상기 보안 처리 요청에 따라, 상기 정상 모드로부터 상기 보안 모드로 전환한 후, 상기 보안 모드에서 동작하는 메모리로부터 보안 지시자(security indicator)를 판독하도록 구성되고, 상기 판독된 보안 지시자에 따라, 현재 환경은 보안 상태(secure state)인 것을 사용자에게 통지하도록 구성된다.
제2 측면을 참조하면, 제2 측면의 구현 가능한 제2 방식에서, 상기 보안 인터렉션 장치는 보안 지시 장치를 더 포함하고, 상기 보안 모드에서 동작하는 프로세서는 구체적으로, 상기 판독된 보안 지시자에 따라 동작하도록 상기 보안 지시 장치를 제어하도록 구성되고, 상기 보안 지시 장치는, 상기 보안 모드에서 동작하며, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답한다.
제2 측면을 참조하면, 제2 측면의 구현 가능한 제3 방식에서, 상기 보안 모드에서 동작하는 프로세서는 구체적으로, 상기 보안 모드에서 동작하는 메모리로부터 판독된 상기 보안 지시자를 표시하도록 표시유닛을 제어하도록 구성되고, 상기 표시 유닛은, 상기 정상 모드에서 동작하며, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답한다.
제2 측면 또는 제2 측면의 구현 가능한, 제1 방식 또는 제2 방식 또는 제3 방식을 참조하면, 제2 측면의 구현 가능한 제4 방식에서, 상기 보안 모드에서 동작하는 프로세서는 구체적으로, 상기 보안 모드에서 동작하는 메모리에 프레임 버퍼 정보를 판독하도록 구성되고, 상기 프레임 버퍼 정보는, 프레임 버퍼 장치에 의해 제공된 인터페이스로부터, 상기 보안 모드에서 동작하는 프로세서에 의해 획득되고, 상기 프레임 버퍼 장치는 상기 정상 모드에서 동작한다.
제2 측면의 구현 가능한 제4 방식을 참조하면, 제2 측면의 구현 가능한 제5 방식에서, 상기 액세스 된 장치는 상기 표시 유닛이고, 상기 보안 모드에서 동작하는 프로세서는 구체적으로, 상기 보안 모드에서 동작하는 메모리로부터 판독된 상기 프레임 버퍼 정보를 표시하도록 상기 표시 유닛을 제어하도록 구성되고, 상기 표시 유닛은, 상기 정상 모드에서 동작하며, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답한다.
제2 측면의 구현 가능한 제5 방식을 참조하면, 제2 측면의 구현 가능한 제6 방식에서, 상기 보안 모드에서 동작하는 프로세서는 구체적으로, 전경 층(foreground layer) 및 배경 층(background layer)을 표시하도록 상기 표시 유닛을 제어하도록 구성되고, 상기 프레임 버퍼 정보는 상기 전경 층에 표시되며, 배경은 상기 배경 층에 표시되고, 상기 전경 층 및 상기 배경 층은 서로 다른 컬러로 표시된다.
제2 측면 또는 제2 측면의 구현 가능한, 제1 방식 또는 제2 방식 또는 제3 방식을 참조하면, 제2 측면의 구현 가능한 제7 방식에서, 상기 보안 모드에서 동작하는 프로세서는 추가로, 상기 사용자에 의해, 입력 장치에 입력된 사용자 데이터를 획득하도록 구성되고, 상기 입력 장치는, 상기 정상 모드에서 동작하며, 상기 획득된 사용자 데이터에 검증 처리를 수행하여 결과 데이터를 획득하고, 상기 결과 데이터를 상기 보안 모드에서 동작하는 메모리에 판독하도록 구성된다.
제2 측면의 구현 가능한 제7 방식을 참조하면, 제2 측면의 구현 가능한 제8 방식에서, 상기 액세스 된 장치는 상기 표시 유닛이고, 상기 보안 모드에서 동작하는 프로세서는 구체적으로, 상기 보안 모드에서 동작하는 메모리로부터 판독된 상기 결과 데이터를 표시하도록 상기 표시 유닛을 제어하도록 구성되고, 상기 표시 유닛은, 상기 정상 모드에서 동작하고, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답한다.
제2 측면을 참조하면, 제2 측면의 구현 가능한 제9 방식에서, 상기 프로세서는 추가로, 상기 보안 모드에서 동작하는 프로세서에 의해 액세스 가능하도록 상기 액세스 된 장치를 설정하고, 드라이버 코드(driver code)가, 상기 정상 모드에서 동작하는 애플리케이션 프로그램을 시작하고 실행할 수 있도록, 상기 메모리에 운영 시스템을 로딩(loading)하도록 구성된다.
전술 한 기술적 해결수단으로부터 본 발명의 실시예는 다음과 같은 이점을 갖는다는 것을 알 수 있다.
본 발명의 실시에에서, 정상 모드에서 동작하는 애플리케이션 프로그램은 보안 처리 요청을 프로세서에 송신한다. 프로세서는, 보안 처리 요청을 송신하면, 정상 모드에서 동작한다. 다음으로, 프로세서는, 보안 처리 요청에 따라, 정상 모드에서 보안 모드로 전환하고, 보안 모드에서 동작하는 프로세서는 보안 모드에서 동작하는 메모리에 데이터 정보를 판독한다. 마지막으로, 보안 모드에서 동작하는 프로세서는, 보안 모드에서 동작하는 메모리에 저장된 데이터 정보에 따라 동작하도록 액세스 된 장치를 제어한다. 액세스 된 장치는, 정상 모드에서 동작하고, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답한다. 본 발명의 실시예에서, 애플리케이션 프로그램의 원래 운영 모드 및 액세스 된 장치의 원래 운영 모드는 변경되지 않고, 애플리케이션 프로그램 및 액세스 된 장치는 여전히 정상 모드에서 동작한다. 그러나 프로세서는, 애플리케이션 프로그램에 의해 송신된 보안 처리 요청에 따라 정상 모드로부터 보안 모드로 변환한다. 보안 모드에서 동작하는 프로세서는, 보안 처리 요청을 파싱(parse)한 후, 데이터 정보를 생성하고, 데이터 정보를 보안 모드에서 동작하는 메모리에 판독한다. 따라서, 보안 모드에서 동작하는 프로세서는 보안 모드에서 동작하는 메모리에 액세스할 수 있다. 액세스 된 장치는, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답하기 때문에, 프로세서는 보안 모드에서 동작하는 경우에만 동작하도록 액세스 된 장치를 제어할 수 있다. 그러므로 본 발명의 실시예에서는, 인터렉션 과정(interaction process)에서의 보안이 보장될 수 있다. 애플리케이션 프로그램 및 액세스 된 장치는 모두 정상 모드에서 동작하기 때문에, 애플리케이션 프로그램을 구동하는 드라이버 코드 및 액세스 된 장치를 구동하는 드리어버 코드는 여전히 정상 모드에서 동작하고, 보안 모드에서 드라이버 코드를 다시 구현하지 않아도 된다. 따라서, 써드 파티(third party)에 의해 제공되는 원래 드라이버 코드에 의존하지 않아도 되고, 애플리케이션 프로그램 및 액세스 된 장치를 보안 모드로 포트(port)하지 않아도 된다. 따라서, 본 발명의 본 실시예에서, 모든 액세스 된 장치가 지원될 수 있고, 신뢰 컴퓨팅 베이스(trusted computing base)는 종래 기술에 비해 감소한다.
도 1은 본 발명의 실시예에 따른 보안 인터렉션 방법의 개략적인 블록 흐름도이다.
도 2는 본 발명의 실시예에 따른 보안 인터렉션 장치의 하드웨어 구조를 나타낸 블록도이다.
도 3a는 본 발명의 실시예에 따른 보안 인터렉션 방법의 적용 시나리오의 개략도이다.
도 3b는 본 발명의 실시예에 따른 보안 인터렉션 방법의 다른 적용 시나리오의 개략도이다.
도 3c는 본 발명의 실시예에 따른 모니터 모드의 적용 시나리오의 개략도이다.
도 4는 본 발명의 실시예에 따른 보안 인터랙션 방법의 다른 적용 시나리오의 개략도이다.
도 5a는 본 발명의 일 실시예에 따른 보안 인터렉션 장치의 개략적인 구조 구조도이다.
도 5b는 본 발명의 일 실시예에 따른 다른 보안 인터렉션 장치의 개략적인 구조도이다.
도 2는 본 발명의 실시예에 따른 보안 인터렉션 장치의 하드웨어 구조를 나타낸 블록도이다.
도 3a는 본 발명의 실시예에 따른 보안 인터렉션 방법의 적용 시나리오의 개략도이다.
도 3b는 본 발명의 실시예에 따른 보안 인터렉션 방법의 다른 적용 시나리오의 개략도이다.
도 3c는 본 발명의 실시예에 따른 모니터 모드의 적용 시나리오의 개략도이다.
도 4는 본 발명의 실시예에 따른 보안 인터랙션 방법의 다른 적용 시나리오의 개략도이다.
도 5a는 본 발명의 일 실시예에 따른 보안 인터렉션 장치의 개략적인 구조 구조도이다.
도 5b는 본 발명의 일 실시예에 따른 다른 보안 인터렉션 장치의 개략적인 구조도이다.
본 발명의 실시예는, 보안 모드, 정상 모드에서 동작하는 드라이버 모듈의 코드를 호출하고, 신뢰 컴퓨팅 베이스를 줄이기 위한, 보안 인터렉션(secure interaction) 방법 및 장치를 제공한다.
본 발명의 목적, 특징 및 이점을 보다 명확하고 이해하기 쉽게 하기 위해, 본 발명의 실시예에서 첨부 도면을 참조하여 본 발명의 실시예에서의 기술적 해결 수단을 명확하게 설명한다. 명백하게, 이하에서 설명되는 실시예는 본 발명의 모든 실시예가 아닌 일부에 불과하다. 본 발명의 실시예에 기초하여 당업자에 의해 획득된 다른 모든 실시예은 본 발명의 보호 범위 내에 있다.
본 발명의 명세서, 청구 범위 및 첨부 도면에서, "제1"및 "제2"와 같은 용어는 유사한 대상을 구별하기 위해 사용되며, 반드시 특정 시퀀스 또는 순서를 기술하는데 반드시 사용되는 것은 아니다. 이러한 방식으로 사용된 용어는 적절한 상황에서 상호 교환 가능하다는 것을 이해해야 한다. 이는 본 발명의 실시예에서 동일한 속성을 갖는 객체들이 기술될 때 사용되는 구별 방법일 뿐이다. 또한, "포함하다", "포함한다" 및 임의의 다른 변형과 같은 용어는 일련의 유닛을 포함하는 프로세스, 방법, 시스템, 제품 또는 장치가 반드시 제한적 일 필요가 없도록 비 배타적인 포함을 포함하도록 의도된다. 해당 단위에 포함되지만 명시적으로 나열되지 않거나 프로세스, 방법, 시스템, 제품 또는 장치에 내재 된 다른 단위를 포함할 수 있다.
자세한 내용은 다음과 같다.
도 1에 도시된 바와 같이, 본 발명의 실시예에서 제공되는 보안 인터렉션 방법은 구체적으로 이하의 단계를 포함한다.
101. 프로세서는 애플리케이션에 의해 송신된 보안 처리 요청을 수신한다.
애플리케이션 프로그램은 정상 모드에서 동작하고, 프로세서는, 보안 처리 요청을 수신한 때에는, 정상 모드에서 동작한다.
본 발명의 본 실시예에서, 프로세서는 정상 모드 및 보안 모드의 2개의 동작 모드를 가진다. 보안 모드 및 정상 모드는 2가지 분리된 실행 모드이다. 정상 모드는, 운영 시스템이 통상적으로 실행되는 모드와 동일하다. 정상 모드는, 또한, 비-보안 모드로서 지칭될 수 있다. 정상 모드에서 동작하는 경우, 프로세서는 신뢰할 수 없으며 악성(malicious) 일 수 있다. 보안 모드는, 정상 모드로부터 완전히 분리된다. 그러나 보안 모드에서 동작하는 프로세서는, 정상 모드에서 동작하는 모든 메모리와 같은 장치에 액세스할 수 있으나, 정상 모드에서 동작하는 프로세서는 보안 모드에서 동작하는 장치에 액세스할 수 없다. 유사하게, 본 발명의 본 실시예에서, 메모리 또한 정상 모드 및 보안 모드의 2가지 운영 모드를 가진다. 구체적으로, 물리적 메모리는 2개의 부분으로 분리될 수 있고, 한 부분은 정상 모드에서 동작하는 데 사용되고, 다른 부분은 보안 모드에서 동작하는 데 사용될 수 있다.
본 발명의 본 실시예에서, 애플리케이션 프로그램의 운영 모드를 변경하지 않아도 되고, 애플리케이션 프로그램은 보안 모드에서 실행되지 않아도 된다. 대신, 애플리케이션 프로그램은 정상 모드에서 동작한다. 프로세서는 보안 처리 요청을 수신한 때에는, 정상 모드에서 동작한다. 즉, 정상 모드에서 동작하는 프로세서는 정상 모드에서 동작하는 애플리케이션 프로그램과 상호 작용(interact)할 수 있다. 각 애플리케이션 프로그램이 실행될 때, 보안 처리 요청을 시작하도록 프로세서는 각 애플리케이션 프로그램에 요청하고, 프로세서는 보안 처리 요청을 수신한다. 애플리케이션 프로그램에 의해 프로세서로 송신된 보안 처리 요청은, 애플리케이션 프로그램에 대한 응답 처리를 수행할 때, 악성 프로그램의 악이 적 행동을 방지하여 프로세서가 보안을 보장할 수 있도록, 프로세서에 의해 보안 모드를 활성화하는 데 사용된다. 본 발명의 본 실시예에서, 애플리케이션 프로그램은 정상 모드에서 동작한다. 이론적으로, 위협 모델에서, 정상 모드로 실행되는 모든 애플리케이션 프로그램과 운영 시스템 신뢰할 수 없으며 악성 일 수 있다. 본 발명의 본 실시예에서, 애플리케이션 프로그램이 성공적으로 실행될 수 있는 것을 보장하기 위해, 애플리케이션 프로그램은 보안 처리 요청을 개시하도록 요청된다. 애플리케이션 프로그램이 악성 프로그램인 경우라도, 애플리케이션 프로그램은 보안 처리 요청을 개시해야 한다. 악성 프로그램이, 프로세서에 보안 처리 요청을 개시하지 않으면, 프로세서는 보안 모드로 진입하지 않고, 사용자는 이러한 프로그램은 악성 프로그램인 것을 쉽게 결정한다. 따라서, 악성 프로그램에 의해 수행되는 악성 행동을 회피할 수 있다. 악성 프로그램이 프로세서에 보안 처리 요청을 개시하지 않고, 보안 처리 요청에 사용자와의 상호 작용이 필요한 경우, 예를 들어, 보안 환경을 통해 사용자가 암호를 입력하도록 요청할 수 있는 피싱 공격(phishing attack)이 발생할 수 있다. 이런 경우, 사용자는 환경이 안전한지 판단하기 위해, 보안 지시자(security indicator)를 관찰할 수 있다. 보안 지시자에 대한 설명은 후속 실시예의 설명을 참조한다. 사용자와의 상호 작용이 필요하지 않은 경우, 프로세서가 보안 모드로 진입할 때만 보안 작업을 수행할 수 있기 때문에 악성 프로그램의 악의적 동작이 공격을 시작하지 못한다.
본 발명의 일부 실시예에서, 프로세서가, 단계 101에서, 애플리케이션 프로그램에 의해 송신된 보안 처리 요청을 수신하기 전에, 본 발명의 본 실시예에서 제공하는 보안 인터렉션 방법은 다음의 단계들을 더 포함 할 수있다.
단계 A1: 프로세서는, 보안 모드에서 동작하는 프로세서에 의해 액세스 가능하도록 액세스 된 장치를 설정한다.
단계 A2: 드라이버 코드가, 정상 모드에서 동작하는 애플리케이션 프로그램을 시작하고 실행하도록 프로세서가 운영 시스템을 정상 모드에서 동작하는 메모리에 로딩한다.
본 발명의 본 실시예에서, 운영 시스템이 시작되는 경우, 프로세서는 먼저 보안 모드에서 동작하는 메모리에 운영 시스템을 로딩한 다음, 보안 모드에서 초기 설정을 수행하고, 보안 모드에서 동작하는 프로세서에 의해 액세스 가능하도록 액세스 된 장치를 설정하는 단계 A1을 수행한다. 전술한 설명으로부터, 프로세서는 정상 모드 및 보안 모드의 2개의 운영 모드를 포함한다는 것을 알 수 있다. 단계 A1은, 프로세서가 정상 모드에서 동작하는 경우, 액세스 된 장치는 프로세서에 의한 액세스를 거절할 수 있는 것을 의미한다. 예를 들어, 액세스 된 장치가, 프로세서는 정상 모드에서 동작하는 것으로 결정하면, 액세스 된 장치는 프로세서의 명령에 응답하지 않을 수 있다. 이런 방식으로, 액세스 된 장치가 정상 모드에서 동작하는 경우라도, 액세스 된 장치는 보안 모드에서 동작하는 프로세서에 의해서만 제어되는 것이 보장되고, 액세스 된 장치가 악의적 공격을 받은 경우, 정상 모드에서 동작하는 액세스 된 장치가 악의적 명령을 실행하는 것을 회피할 수 있다. 전술한 설명으로부터, 메모리는 정상 모드 및 보안 모드의 2개의 모드를 포함하는 것을 알 수 있다. 처음으로 운영 시스템이 시작되면, 프로세서는 운영 시스템을 보안 모드에 로딩한다. 액세스 된 장치에 대한 보안 설정을 완료한 후, 프로세서는, 프로세서가 정상 모드에서 동작하는 메모리에 운영 시스템을 로딩하는 단계 A2를 실행한다. 이 경우, 프로세서는 또한 정상 모드에서 동작하고, 정상 모드에서 동작하는 프로세서는 정상 모드에서 동작하는 메모리와 상호 작용할 수 있다. 이 경우, 현재 환경은 정상 모드 이고, 드라이버 코드는 원래 운영 시스템에서 애플리케이션 프로그램을 시작하고 실행할 수 있다. 본 발명의 본 실시예에서, 애플리케이션 프로그램의 드라이버 코드가 애플리케이션 프로그램을 정상적으로 시작할 수 있도록, 애플리케이션 프로그램은 정상 모드로 유지된다. 따라서, 애플리케이션 프로그램이 보안 모드로 다시 구현될 때, 원래 드라이버 코드가 획득되어야 하는 문제점이 회피되고, 애플리케이션 프로그램이 보안 모드로 포트(port)되기 때문에 신뢰 컴퓨팅 베이스(trusted computing base)가 커지는 문제 또한 방지될 수 있다.
102. 프로세서는 보안 처리 요청에 따라, 정상 모드로부터 보안 모드로 전환한다.
본 발명의 본 실시예에서, 정상 모드에서 동작하는 프로세서가 정상 모드에서 애플리케이션 프로그램에 의해 송신된 보안 처리 요청을 수신한 후, 프로세서는 보안 처리 요청에 따라, 정상 모드로부터 보안 모드로 운영 모드를 전환해야 한다. 프로세서에 대해, 정상 모드에서의 동작과 보안 모드에서의 동작 사이의 차이는, 보안을 보장하기 위해, 정상 모드에서 동작하는 경우, 프로세서는 보안 모드에서 동작하는 메모리 및 보안 모드에서 동작하는 주변 장치에 액세스할 수 없다는 것이다. 그러나 보안 모드에서 동작하는 경우, 프로세서는 정상 모드에서 동작하는 애플리케이션 프로그램, 정상 모드에서 동작하는 액세스 된 장치, 및 보안 모드에서 동작하는 메모리에 액세스할 수 있다. 보안 모드에서 동작하는 메모리는, 보안 모드에서 동작하는 프로세서에 의해서만 액세스 될 수 있기 때문에, 보안 모드에서 동작하는 메모리는 정상 모드에서 프로세서에 의해 액세스 되지 않는 것이 보장된다.
전술한 설명으로부터, 보안 모드 및 정상 모드는 2개의 상호 분리된 실행 환경이고, 프로세서의 운영 모드는 애플리케이션 프로그램에 의해 송신된 보안 처리 요청에 따라 전환된다는 것을 알 수 있다. 프로세서가 애플리케이션 프로그램에 의해 송신된 보안 처리 요청을 수신하지 않은 경우, 프로세서는 여전히 정상 모드에서 동작한다. 프로세서가 애플리케이션 프로그램에 의해 송신된 보안 처리 요청을 수신할 때, 프로세서는 애플리케이션 프로그램에 대한 응답 처리를 수행해야 한다. 응답 처리가 애플리케이션 프로그램에 대해 수행될 때, 보안을 보장하기 위해, 본 발명의 본 실시예에서, 정상 모드 및 보안 모드의 2개의 운영 모드가 프로세서에 대해 설정된다. 예를 들어 신뢰할 수 있는 실행 환경(Trusted Execution Environment: TrustZone) 기술에는, 모니터 모드, 정상 모드, 및 보안 모드의 세 가지 운영 모드가 있다. 프로세서는 모니터 모드에서 동작하는 TrustZone 모니터링 장치를 사용하여 정상 모드에서 보안 모드로 전환할 수 있다. 또한, 프로세서는 보안 처리 요청에 따라 정상 모드로부터 보안 모드로 전환할 수 있고, 정상 모드를 실행하기 위한 코드를 보안 모드를 실행하기 위한 코드로 대체 할 수 있다. 프로세서의 동작 상태는 애플리케이션 프로그램에 의한 동적 트리거(trigger)에 따라 전환된다. 프로세서가 보안 모드로 전환하는 것은, 애플리케이션 프로그램에 대한 응답 처리가 수행될 때 보안 환경이 생성될 수 있다는 것을 보장하여, 사용자가 안전한 환경에서 사람-장치 상호 작용을 수행하고 민감한 데이터의 누출과 장치에 대한 불법적인 공격을 방지한다.
삭제
본 발명의 일부 실시예에서, 단계 102에서, 프로세서가 보안 처리 요청에 따라 정상 모드로부터 보안 모드로 전환한 후, 본 발명의 실시예에서 제공하는 보안 인터렉션 방법은 추가로 이하의 단계를 포함한다.
단계 B1: 보안 모드에서 동작하는 프로세서는 보안 모드에서 동작하는 메모리로부터 보안 지시자를 판독한다.
단계 B2: 보안 모드에서 동작하는 프로세서는, 판독된 보안 지시자에 따라, 현재 환경은 보안 상태인 것을 사용자에게 통지한다.
프로세서의 운영 모드가 보안 모드로 전환된 후, 보안 환경에서 프로세서가 애플리케이션 프로그램에 대한 응답 처리가 수행된 것을 사용자가 알 수 있도록, 본 발명의 본 실시예에서, 보안 지시자는, 추가로 설정될 수 있고, 보안지시자는 보안 모드에서 동작하는 메모리에 저장된다. 프로세서가 정상 모드에서 동작하면, 프로세서는 보안 지시자를 획득할 수 없다. 프로세서는, 보안 모드에서 동작하는 프로세서가 보안 모드에서 동작하는 메모리와 상호 작용하는 경우에만 보안 지시자를 판독할 수 있다. 보안 모드에서 동작하는 메모리로부터 보안 지시자를 판독한 후, 보안 모드에서 동작하는 프로세서는, 보안 모드에서 동작하는 프로세서가 판독된 보안 지시자에 따라, 현재 환경은 보안 상태인 것을 사용자에게 통지하는 단계 B2를 실행한다. 프로세서가, 판독된 보안 지시자에 따라, 현재 환경을 사용자에게 알리는 경우, 보안 모드에서 동작하는 프로세서만이 보안 지시자를 획득할 수 있기 때문에, 사용자는, 프로세서의 통지에 따라, 현재 환경은 보안 상태인 것을 결정할 수 있다.
또한, 본 발명의 일부 실시예에서, 보안 모드에서 동작하는 프로세서가, 판독된 보안 지시자에 따라, 현재 환경이 보안 상태인 것을 사용자에게 통시하는 단계 B2는 구체적으로 이하의 단계를 포함할 수 있다.
단계 B21: 보안 모드에서 동작하는 프로세서는, 판독된 보안 지시자에 따라 동작하도록 보안 지시 장치를 제어하고, 보안 지시 장치는 보안 모드에서 동작하며, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답한다.
즉, 본 발명의 본 실시예에서, 프로세서에 의해 제어되는 보안 지시 장치는, 현재 환경이 보안 상태인 것을 사용자에게 통지할 수 있다. 보안 지시 장치가 보안 모드에서 동작하는 프로세서의 제어 하에서 동작하는 경우, 사용자는, 보안 지시 장치의 정상 동작에 따라, 현재 환경이 보안 상태인 것을 결정할 수 있다. 예를 들어, 보안 지시 장치는 LED(Light Emitting Diode) 지시 장치 일 수 있다. 프로세서가 보안 모드에서 동작하는 경우, 사용자에게 현재 환경을 통지하기 위해, 프로세서는 LED 지시 장치를 켤 수 있고, 사용자는, LED 지시 장치의 깜박임에 따라, 현재 환경이 보안 상태인 것을 결정할 수 있다. 다른 예를 들어, 보안 지시 장치는 USB(Universal Serial Bus) 지시 장치일 수 있다. 프로세서가 보안 모드에서 동작하는 경우, 사용자에게 현재 환경을 통지하기 위해, 프로세서는 USB 지시 장치의 삽입 또는 제거를 제어할 수 있고, 사용자는, USB 지사 장치의 동작에 따라 현재 환경이 보안 상태인 것을 결정할 수 있다.
본 발명의 일부 실시에에서, 판독된 보안 지시자에 따라, 보안 모드에서 동작하는 프로세서가 현재 환경은 보안 상태인 것을 통지하는 단계 B2는 구체적으로 이하의 단계를 포함할 수 있다.
단계 B22: 보안 모드에서 동작하는 프로세서는, 보안 모드에서 동작하는 메모리로부터 판독된 보안 지시자를 표시하도록 표시 유닛을 제어하고, 표시 유닛은 정상 모드에서 동작하며, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답한다.
즉, 본 발명의 본 실시 예에서, 프로세서에 의해 제어되는 보안 지시 장치뿐 아니라, 원래 표시 유닛의 표시 기능을 사용하여 현재 환경이 보안 모드인 것을 사용자는 알 수 있다. 예를 들어, 보안 모드에서 동작하는 메모리에 저장된 보안 지시자가 사용된다. 보안 지시자는, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서에 의해 판독될 수 있고 보안 지시자의 내용을 사용자 만이 알 수 있다. 프로세서가 보안 모드로 전환하면, 프로세서는 표시 유닛을 사용하여 보안 지시자를 표시한다. 사용자가, 표시 유닛을 사용하여 보안 지시자를 보는 경우, 사용자는, 현재 환경이 보안 상태인 것을 결정할 수 있다. 예를 들어 보안 지시자는 개인 화상, 통지, 구체적 정보 등일수 있으나 이에 한정되는 것은 아니다.
103. 보안 모드에서 동작하는 프로세서는 데이터 정보를 보안 모드에서 동작하는 메모리에 판독한다.
데이터 정보는, 보안 모드에서 동작하는 프로세서가 보안 처리 요청을 파싱 한 후 생성된 데이터 이다.
본 발명의 본 실시예에서, 프로세서가 정상 모드로부터 보안 모드로 전환한 후, 애플리케이션 프로그램의 요청에 응답하기 위해, 보안 모드에서 동작하는 프로세서는, 보안 처리 요청을 파싱 한 후, 데이터 정보를 생성한 다음, 데이터 정보를 보안 모드에서 동작하는 메모리에 판독한다. 데이터 정보는, 보안 모드에서 동작하는 프로세서에 의해 획득된 데이터이고, 데이터 정보는 동작 동안 액세스 된 장치에 의해 요청된 데이터이다. 본 발명의 본 실시예에서, 프로세서는 상이한 애플리케이션 프로그램에 대해 상이한 처리 작업을 수행해야 하고, 프로세서는 또한, 구체적 애플리케이션 프로그램에 따라, 획득해야 하는 데이터 정보를 결정해야 한다.
본 발명의 본 실시예에서, 보안 모드에서 동작하는 프로세서만 보안 모드에서 동작하는 메모리에 액세스할 수 있고, 보안 모드에서 동작하는 메모리에 액세스를 개시할 때, 정상 모드에서 동작하는 프로세서는 거부된다. 보안 모드에서 동작하는 프로세서는 보안 모드에서 동작하는 메모리에 데이터 정보를 판독한다. 프로세서는, 프로세서와 메모리 모두 보안 모드에서 동작하는 경우에만 데이터 정보를 메모리에 판독할 수 있다. 이런 경우, 프로세서는, 현재 환경이 보안 상태인 경우, 데이터 정보를 메모리에 판독할 수 있다.
본 발명의 일부 실시예에서, 보안 모드에서 동작하는 프로세서는 보안 모드에서 동작하는 메모리에 데이터 정보를 판독하는 단계 103은 구체적으로 이하의 단계를 포함할 수 있다.
단계 C1: 보안 모드에서 동작하는 프로세서는 프레임 버퍼() 정보를 보안 모드에서 동작하는 메모리에 판독하고, 프레임 버퍼 정보는, 프레임 버퍼 장치에 의해 제공된 인터페이스로부터, 보안 모드에서 동작하는 프로세서에 의해 획득되고, 프레임 버퍼 장치는 정상 모드에서 동작한다.
즉, 애플리케이션 소프트웨어에 대해 프로세서에 의해 수행되는 응답 처리가, 사용자에게 표시를 수행하는 시나리오에 적용되는 경우, 데이터 정보는 구체적으로 프레임 버퍼 정보를 지칭한다. 보안 모드에서 동작하는 프로세서는 프레임 버퍼 정보를 보안 모드에서 동작하는 메모리에 판독한다. 프레임 버퍼 정보는, 프레임 버퍼 장치에 의해 제공된 인터페이스로부터, 프로세서에 의해 획득되고, 프레임 버퍼 장치의 동작 모드는 바뀌지 않는다. 프레임 버퍼 장치는 여전히 정상 모드에서 동작하고, 프레임 버퍼 장치의 드라이버 코드는 또한 정상 모드에서 실행된다.
본 발명의 일부 실시예에서, 보안 모드에서 동작하는 프로세서는 보안 모드에서 동작하는 메모리에 데이터 정보를 판독하는 단계 103은 구체적으로 이하의 단계를 포함한다.
단계 C2: 보안 모드에서 동작하는 프로세서는, 사용자에 의해 입력 장치에 입력된 사용자 데이터를 획득하고, 입력 장치는 정상 모드에서 동작한다.
단계 C3: 보안 모드에서 동작하는 프로세서 획득된 사용자 데이터에 검증 처리를 수행하여 결과 데이터를 획득한다.
단계 C4: 보안 모드에서 동작하는 프로세서는 결과 데이터를 보안 모드에서 동작하는 메모리에 판독한다.
즉, 애플리케이션 프로그램에 대해, 프로세서에 의해 수행되는 응답 처리가, 사용자 입력이 필요한 시나리오에 적용되는 경우, 데이터 정보는 구체적으로, 프로세서가 사용자가 입력한 사용자 데이터에 검증 처리를 수행한 후, 프로세서에 의해 획득된 결과 데이터를 의미한다. 보안 모드에서 동작하는 프로세서는 결과 데이터를 보안 모드에서 동작하는 메모리에 판독한다. 결과 데이터는, 입력 장치로부터 획득된 사용자 데이터에 프로세서가 검증 처리를 수행한 후, 프로세서에 의해 획득된 데이터이다. 본 발명의 본 실시예에서, 입력 장치의 동작 모드는 변하지 않는다. 입력 장치는 여전히 정상 모드에서 동작하고, 입력 장치의 드라이버 코드는 또한 정상 모드에서 실행된다.
104. 보안 모드에서 동작하는 프로세서는, 보안 모드에서 동작하는 메모리에 저장된 데이터 정보에 따라 동작하도록 액세스 된 장치를 제어한다.
액세스 된 장치는, 정상 모드에서 동작하고, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답하며, 애플리케이션 프로그램에 의해 호출된 후 동작해야 하는 장치이다.
본 발명의 본 실시예에서, 보안 모드에서 동작하는 프로세서가 보안 모드에서 동작하는 메모리에 데이터 정보를 판독한 후, 프로세서는, 보안 모드에서 동작하는 메모리에 판독된 데이터 정보를 사용하여 애플리케이션 프로그램에 대해 응답 처리를 수행한다. 즉, 보안 모드에서 동작하는 프로세서는, 데이터 정보에 따라 동작하도록 액세스 된 장치를 제어한다. 액세스 된 장치는, 보안 처리 요청을 송신한 애플리케이션 프로그램에 의해 호출된 후 동작해야 하는 장치이다. 상이한 애플리케이션 프로그램이 있는 경우, 프로세서는 상이한 처리 기능을 수행해야 한다. 예를 들어, 일부 애플리케이션 시나리오에서, 애플리케이션 프로그램이, 사용자에게 표시를 수행하는 처리 기능을 수행하도록 프로세서에 요청하면, 액세스 된 장치는 표시 유닛 또는 디스플레이를 지칭한다. 일부 애플리케이션 시나리오에서, 애플리케이션 프로그램이, 사용자 입력의 처리 기능을 수행하도록 프로세서에 요청하면, 액세스 된 장치는 입력 장치를 지칭할 수 있다. 프로세서에 의해 호출된 액세스 된 장치는, 보안 모드에서 동작하는 프로세서가 상이한 처리 기능을 수행함에 따라 변한다. 본 발명의 본 실시예에서, 액세스 된 장치는 정상 모드에서 동작하고, 액세스 된 장치의 드라이버 코드는 또한 정상 모드에서 실행된다. 본 발명의 본 실시예에서, 액세스 된 장치를 보안 모드로 다시 구현할 필요가 없고, 또한 액세스 된 장치를 보안 모드로 포트 할 필요도 없다. 대신 액세스 된 장치가 정상 모드에서 동작할 때, 상호 작용 보안이 구현된다. 다음은 설명을 위한 예제를 사용합니다.
본 발명의 일부 실시예에서, 액세스 된 장치가 표시 유닛이면, 단계 C1의 구현 시나리오에서, 보안 모드에서 동작하는 프로세서는, 보안 모드에서 동작하는 메모리에 저장된 데이터 정보에 따라 동작하도록 액세스 된 장치를 제어하는 단계 104는 구체적으로 이하의 단계를 포함한다.
단계 D1: 보안 모드에서 동작하는 프로세서는, 보안 모드에서 동작하는 메모리로부터 판독된 프레임 버퍼 정보를 표시하도록 표시 유닛을 제어하고, 표시 유닛은 정상 모드에서 동작하며, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답한다.
즉, 애플리케이션 프로그램에 대해 프로세서에 의해 수행되는 응답 처리가, 사용자에게 표시를 수행하는 시나리오에 적용되는 경우, 데이터 정보는 구체적으로, 프레임 버퍼 정보를 지칭한다. 프로세서는, 애플리케이션 프로그램에 따라, 호출되어야 하는 액세스 된 장치는 표시 유닛인 것을 결정하고, 보안 모드에서 동작하는 프로세서는, 보안 모드에서 동작하는 메모리로부터 프레임 버퍼 정보를 표시하도록 표시 유닛을 제어한다. 본 발명의 본 실시예에서, 다시 보안 모드에서 표시 유닛을 구현할 필요가 없으며, 표시 유닛을 보안 모드로 포트할 필요도 없다. 대신, 프로세서가 보안 모드에서 동작할 때만 표시 유닛이 프로세서의 제어에 응답하도록 설정된다. 프로세서가 정상 모드에서 동작하면, 표시 유닛은 프로세서의 제어를 거부한다.
추가로, 본 발명의 일부 실시예에서, 보안 모드에서 동작하는 프로세서는, 보안 모드에서 동작하는 메모리로부터 프레임 버퍼 정보를 표시하도록 표시 유닛을 제어하는 단계 D1은 구체적으로 이하의 단계를 포함한다.
단계 D11: 보안 모드에서 동작하는 프로세서는, 전경 층(foreground layer) 및 배경 층(background layer)을 표시하도록 표시 유닛을 제어하고, 프레임 버퍼 정보는 전경 층에 표시되며, 배경은 배경 층에 표시되고, 전경 층 및 배경층은 서로 다른 컬러로 표시된다
즉, 프로세서가, 프레임 버퍼 정보를 표시하도록 표시 유닛을 제어하는 경우, 보안 모드에서 동작하는 프로세서는 구체적으로, 전경 층 및 배경 층의 2개의 층을 표시하도록 표시 유닛을 제어할 수 있다. 프레임 버퍼 정보는 전경층에 표시되고, 배경은 배경층에 표시되며, 전경층 및 배경층의 컬러는 상이하다. 악의적 공격자가, 디스플레이 데이터가 보안 모드에서 동작하는 메모리에서 판독된 프레임 버퍼 정보를 덮어쓰는 경우, 악의적 공격자는 전경 층과 배경 층을 표시하도록 프로세서가 표시 유닛을 제어하는 정보를 얻을 수 없기 때문에, 악의적 공격자가 전경 층에 프레임 버퍼 정보를 덮어쓰는 방식으로 덮어쓴 후의 전경 층 및 배경 층의 색은 덮어쓰기 전의 윈래 전경 색과 배경 색과 다르다.
본 발명의 일부 실시예에서, 액세스 된 장치는 표시 유닛인 경우, 단계 C2 내지 단계 C4의 구현 시나리오에서, 보안 모드에서 동작하는 프로세서는, 보안 모드에서 동작하는 메모리에 저장된 데이터 정보에 따라 동작하도록 액세스 된 장치를 제어한는 단계 104는 구체적으로 이하의 단계를 포함한다.
D2. 보안 모드에서 동작하는 프로세서는 보안 모드에서 동작하는 메모리로부터 판독된 결과 데이터를 표시하도록 표시 유닛을 제어하고, 표시 유닛은 정상 모드에서 동작하며, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답한다.
즉, 애플리케이션 프로그램에 대해, 프로세서에 의해 실행되는 응답 처리가, 사용자 입력이 필요한 시나리오에 적용되는 경우, 데이터 정보는 구체적으로, 검증 처리를 수행한 후, 프로세서에 의해 획득된 결과 데이터를 의미한다. 프로세서는 애플리케이션 프로그램에 따라, 호출되어야 하는 액세스 된 장치는 표시 유닛인 것을 결정하고, 보안 모드에서 동작하는 프로세서는 보안 모드에서 동작하는 메모리로부터 판독된 결과 데이터를 표시하도록 표시 유닛을 제어한다. 표시 유닛은 정상 모드에서 동작하기 때문에, 표시 유닛의 드라이버 코드 또한 정상 모드에서 실행된다. 본 발명의 본 실시예에서, 다시 보안 모드에서 표시 유닛을 구현할 필요가 없으며, 표시 유닛을 보안 모드로 포트할 필요도 없다. 대신, 프로세서가 보안 모드에서 동작할 때만 표시 유닛이 프로세서의 제어에 응답하도록 설정된다. 프로세서가 정상 모드에서 동작하면, 표시 유닛은 프로세서의 제어를 거부한다.
본 발명의 전술한 실시예로부터, 정상 모드에서 동작하는 애플리케이션 프로그램은 보안 처리 요청을 프로세서에 송신하고, 프로세서는, 보안 처리 요청을 수신한 때에 정상 모드에서 동작하며, 다음으로, 프로세서는, 보안 처리 요청에 따라 정상 모드로부터 보안 모드로 전환하고, 보안 모드에서 동작하는 프로세서는 보안 모드에서 동작하는 메모리에 데이터 정보를 판독하며, 마지막으로, 보안 모드에서 동작하는 프로세서는, 보안 모드에서 동작하는 메모리에 저장된 데이터 정보에 따라 동작하도록 액세스 된 장치를 제어한다는 것을 알 수 있고, 액세스 된 장치는, 정상 모드에서 동작하고, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답한다. 본 발명의 본 실시예에서, 애플리케이션 프로그램의 원래 동작 모드 및 액세스 된 장치의 원래 동작 모드는 바뀌지 않고, 애플리케이션 프로그램 및 액세스 된 장치는 여전히 정상 모드에서 동작한다. 그러나 프로세서가 애플리케이션 프로그램에 의해 송신된 보안 처리 요청에 따라, 정상 모드로부터 보안 보드로 전환한다. 보안 모드에서 동작하는 프로세서는 보안 처리 요청을 파싱한 후 데이터 정보를 생성하고, 보안 모드에서 동작하는 메모리에 데이터 정보를 판독한다. 따라서 보안 모드에서 동작하는 프로세서는 보안 모드에서 동작하는 메모리에 액세스할 수 있다. 액세스 된 장치는, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답하기 때문에, 프로세서는 보안 모드에서 동작하는 경우에만 동작하도록 액세스 장치를 제어할 수 있다. 본 발명의 본 실시예에서, 인터렉션 과정에서 보안이 보장된다. 애플리케이션 프로그램 및 액세스 된 장치는 모두 정상 모드에서 동작하기 때문에, 애플리케이션 프로그램을 구동하는 드라이버 코드 및 액세스 된 장치를 구동하는 드리어버 코드는 여전히 정상 모드에서 동작하고, 보안 모드에서 드라이버 코드를 다시 구현하지 않아도 된다. 따라서, 써드 파티(third party)에 의해 제공되는 원래 드라이버 코드에 의존하지 않아도 되고, 애플리케이션 프로그램 및 액세스 된 장치를 보안 모드로 포트(port)하지 않아도 된다. 따라서, 본 발명의 본 실시예에서, 모든 액세스 된 장치가 지원될 수 있고, 종래 기술과 비교하여 신뢰 컴퓨팅 베이스는 감소할 수 있다.
본 발명의 실시예에서 전술한 해결 수단을 더 잘 이해하고 구현하기 위해, 다음은 상세한 설명을 위한 예로서 대응하는 애플리케이션 시나리오를 사용한다.
이하, 설명의 예로서, 본 발명의 실시예에서 제공되는 보안 인터렉션 방법이 TrustZone 기술 시나리오에 적용되는 시나리오를 사용한다. 도 2를 참조하면, 도 2는 본 발명의 일 실시예에 따른 보안 인터렉션 장치의 하드웨어 구조 블록도 이다. 하드웨어 구조 도면 기술은 TrustZone 기술 사양을 충족한다. 도 2에 도시된 바와 같이, 보안 모드와 정상 모드 사이의 분리(isolation)가 제공된다. 보안 모드에서, 예를 들어, 정상 모드의 악의적 프로그램은 보안 모드로 보호된 구성 요소(예 : 보안 메모리 또는 표시 유닛)에 액세스할 수 없다. 도 2는 SoC(System On Chip) 및 TrustZone 기술로 SoC에 연결된 주변 장치를 도시한다. SoC는 코어 프로세서(Core), DMA(Direct Memory Access), 보안 RAM(Secure RAM), 부팅에 사용되는 보안 ROM(Secure Boot ROM), 정상 모드 및 보안 모드에서 동작하고 TrustZone의 지원에 통합될 수 있는 GIC(Generic Interrupt Controller), TZPC(TrustZone Address Space Controller), TZPC(TrustZone Protection Controller), DMC(Dynamic Memory Controller), 및 DRAM(dynamic random access memory)등을 포함한다.
도 2에 도시된 코어 프로세서는 본 발명의 전술 한 실시예에서 설명된 프로세서이다. 다음에서 코어 프로세서는 여전히 프로세서라 한다. SoC의 구성 요소는 AXI 버스(AXI Bus: Advanced eXtensible Interface Bus)를 사용하여 서로 연결된다. SoC는 AXI2APB 브리지(AXI2APB Bridge: Advanced eXtensible Interface To Advanced Peripheral Bus Bridge)를 사용하여 주변 장치와 통신한다. AXI2APB 브리지는 현재 주변 장치에 액세스하는 트랜잭션의 보안 속성(ssecurity attribute of a transaction)을 인식할 수 있다. 정상 모드의 트랜잭션이, 속성이 보안으로 설정된 주변 장치에 액세스하면, AXI2APB 브릿지는 액세스를 거부한다. 보안 RAM은 소프트웨어 및 하드웨어 메커니즘을 사용하여 보안 ROM과 분리되며, 보안 운영 체제를 저장하는 데 사용된다. 코어 프로세서는 보안 모드와 정상 모드의 두 가지 모드로 동작한다. TZPC는 주변 장치의 보안 속성을 설정하는 데 사용된다. 특히, TZPC는 표시 유닛의 속성 및 보안 지시 장치의 속성을 보안으로 설정하여, 정상 모드의 소프트웨어가 이들 장치에 액세스할 수 없도록 할 수 있다. TZASC는 DRAM의 보안 속성 부분(division)을 제어한다. TZASC는 DRAM의 일부를 보안으로 설정하고 DRAM의 나머지 부분을 비-보안으로 설정할 수 있다. 비-보안 모드의 프로세서가 보안 메모리에 액세스 요청을 시작하면 요청은 거부된다. 정상 모드에서 DMA에 의한 보안 메모리에 대한 액세스는 거부된다. 이러한 방식으로, 정상 모드에서 보안 메모리가 소프트웨어 또는 하드웨어에 의해 액세스 되지 않도록 보장된다. 인터럽트 제어기는 모든 인터럽트 정보를 제어한다. 인터럽트 컨트롤러는 일부 인터럽트를 보안으로 설정하고 일부 인터럽트를 정상으로 설정하며, 특히 LED 지시 장치의 인터럽트를 보안으로 설정할 수 있다. 이러한 방식으로, 보안 모드의 소프트웨어만 LED 지시 장치의 인터럽트 정보를 수신하고 처리할 수 있다. 따라서 정상 모드의 멀웨어(malware)는 LED 지시 장치와 관련된 정보를 얻을 수 없다.
도 2에 도시된 하드웨어 구조에 대하여, 보안 인터렉션 방법은 구체적으로 다음의 단계를 포함할 수 있다,
단계 S01. 프로세서는 보안 방식으로 시스템을 시작하고 환경 설정을 수행한다.
프로세서는 먼저 운영 체제를 시작한 다음, 보안 모드로 들어간다. 보안 모드에서, 프로세서는 모니터 모드 및 보안 모드에서의, 코드 및 환경에 대한 초기화 설정을 수행하고, TZPC를 사용하여 보안 모드에서 동작하는 프로세서에 의해서만 LED 지시 장치에 액세스 가능하도록 설정한다. 이 경우 모든 메모리가 보안 모드에 있다. 다음으로, 정상 모드에서 실행 중인 시스템 이미지가 메모리에 로드되어, 이미지 시스템에 메모리의 구체적 공간을 할당하고, 메모리의 이 부분을 정상 모드로 설정 한 다음, 메모리의 이 부분을 정상 모드에서 실행중인 시스템 이미지로 전송한다.
단계 S02. 적극적으로 보안 모드로 전환하기 위해, 정상 모드에서 보안 동작을 수행하는 과정에 대해서는 도 3a를 참조한다. 도 3a는 본 발명의 일 실시예에 따른 보안 인터렉션 방법의 적용 시나리오의 개략도이다. 구현 콘텐츠 ①, ②, ③, ④, 및 ⑤는 다음과 같다. ① 정상 모드에서 동작하는 애플리케이션 프로그램은, TrustZone 드라이버 장치에 보안 처리 요청을 송신한다. ② TrustZone 드라이버는 요청 파라미터와 현재 프레임 버퍼 정보를 얻은 다음, 프로세서는 보안 모드로 전환한다. ③,④ 및,⑤의 경우, 액세스 된 장치가 LED 지시 장치인 예에서, 보안 모드에서 동작하는 프로세서는 LED 지시 장치를 켜서 사용자가 현재 환경이 보안 상태에 있음을 인식할 수 있게 한 다음, 프로세서로 전송되는 프레임 버퍼 정보에 해당하는 메모리를 보안 메모리로서 설정하고, 보안 모드에서 동작하는 프로세서만 표시 유닛을 조작할 수 있도록 설정한다. 이 경우 사용자는 보안 인터렉션 작업을 수행할 수 있다.
단계 S03. 보안 모드에서 인터페이스 디스플레이(interface display)가 필요한 경우, 보안 모드에서 동작하는 프로세서는, 전경 층과 배경 층의 두 가지 층을 표시(draw)한다. 전경 층은 텍스트 또는 키와 같은 프레임 버퍼 정보를 표시하는 데 사용되고, 배경 층은 보안 표시 배경(secure display background)으로 덮여 있다. 두 층은 서로 다른 색으로 표시되어 사용자가 두 층을 구분할 수 있다. 배경색이 X로 표시되고 전경색이 Y로 표시된다고 가정한다, 이 경우 LED 지시 장치는 X 및 Y 색을 주기적으로 깜박인다. LED 지시 장치가 전경색 및 배경색과 동일한 색상으로 점멸하는 것을 볼 때, 사용자는 디스플레이가 안전하고 정확하다는 것을 결정할 수 있다. 예를 들어, 공격자는 사용자를 속이기 위해, 디스플레이 층을 덮을 수 있다. 디스플레이 층이 덮여 있으면, 공격자는 전경 층과 배경 층의 색을 알아야 한다. 덮은 후의 색이 덮기 전의, 전경 색 및 배경색과 다른 경우, 사용자는 디스플레이 층은 덮여 있음을 쉽게 알 수 있다.
단계 S04. 사용자가 보안 모드에서 입력 동작을 수행해야 할 경우, 도 3b를 참조한다. 도 3b는 본 발명의 실시예에 따른 보안 인터렉션 방법의 다른 적용 시나리오의 개략도이다. ①, ②의 콘텐츠는 이하와 같다.① 정상 모드에서 입력 드라이버에 의해 처리되는, 사용자에 의해 입력된 정보는, 터치 입력 모듈과 같은 입력 모듈에 의해 획득된 다음, TrustZone 드라이버가 정상 모드에서 판독한다. ② Trust TrustZone 드라이버는 판독한 사용자 데이터를 보안 모드에서 동작하는 프로세서로 전송하고, 보안 모드에서 동작하는 프로세서는 대응하는 논리 처리를 수행한다.
전술 한 애플리케이션 시나리오는 주로, 신뢰할 수 없는 드라이버가 사용되는 경우, 보안 상태 식별과 검증, 및 데이터 보안의 보장을 위한 2가지 측면에 관련된다.
보안 상태 식별 및 검증은, 보안 모드에서 동작하는 LED 지시 장치 및 프로세서에 의해 공동으로 완료된다. 일 측면에 따르면, LED 지시 장치가 점등되면, 현재 환경이 보안 상태에 있음을 나타내고; 또는, LED 지시 장치가 점등되지 않으면 현재 환경이 정상 상태임을 나타낸다. LED 지시 장치는 정상 모드에서 액세스 되거나 조작될 수 없으므로, LED 지시 장치의 보안 및 정확성이 보장된다. 제2 측면에 따르면, 인터페이스가 보안 모드에서 표시될 때, 표시 층은, 전경 층 및 배경 층을 포함한다. 두 개의 층은, LED 지시 장치에 의해 주기적으로 표시되는 색상과 동일한 임의의 색상으로 표시된다.
본 발명의 실시예에서 제공되는 보안 인터렉션 방법에서, 두 가지 유형의 악의적 공격 행위가 성공적으로 방어될 수 있으며, 이하의 예를 사용하여 개별적으로 설명한다. 첫째, 디스플레이 제어기가 프레임 버퍼 정보의 복수의 피스(piece)에 대응하는 경우, 보안 모드에서 동작하는 메모리에 저장된 프레임 버퍼는 복수의 프레임 버퍼 중 하나 일 수 있다. 디스플레이 드라이버 코드가 정상 모드에서 실행되고 보안 프레임 버퍼가 덮어쓰기 쉽기 때문에, 공격자는 사용자를 속이기 위해 표시 데이터를 변조할 수 있다. 예를 들어 공격자는 신중하게 구성하여 중요한 데이터를 덮어쓴다. 둘째, 정상 모드에서 동작하는 악성 애플리케이션 프로그램에 의해, 보안 모드에서 동작하는 프로세서로 전송되는 프레임 버퍼는 유효하지 않은 파라미터 일 수 있다. 첫 번째 유형의 공격에 대해, 정상 모드의 애플리케이션 프로그램은, 보안 모드의 현재 디스플레이 데이터 및 LED 지시 장치의 현재 상태를 알 수 없기 때문에, 보안 모드에서 디스플레이 데이터가 덮어쓰기 되면, 사용자가 보는 스크린 표시 색(전경색 및 배경색)은 LED 표시기가 점멸하는 색과 다를 수 있다. 이 경우, 사용자는 보안 프레임 버퍼가 덮어쓰기 되었다고 판단할 수 있다. 공격을 성공적으로 시작하는 데 어려움을 더 줄이려면 전경색과 배경색이 일정한 간격으로 임의로 변경될 수 있다. 두 번째 유형의 공격의 경우, 서비스 거부 효과만 생성되고, 사용자 데이터는 유출되지 않는다. LED 지시 장치는, 보안 지시자로서 사용되며, 하나의 지시자를 가진 주변 장치 일 수 있고, 지시자는, 전경색 및 배경색을 표시하기 위해 주기적으로 점멸할 수 있거나, 또는 하나의 지시자 현재의 배경색을 표시하고 다른 지시자가 현재의 전경색을 표시할 수 있도록, 적어도 2개의 지시자를 가지는 주변 장치 일 수 있다.
신뢰할 수 없는 드라이버가 사용될 때, 데이터 보안이 보장된다. 터치 이벤트의 경우, 사용자 태핑(tapping) 위치는 정상 모드에서 얻어질 수 있다. 그러나 현재 표시 내용은 정상 모드에서는 알 수 없으며, 표시된 키보드는 대개 재배치(permuted)된다. 이러한 방식으로, 비록 태핑 위치가 알려지더라도, 유용한 정보를 얻을 수 없으며, 데이터는 여전히 안전하다. 본 발명의 본 실시예에서, 데이터를 표시할 때, 표시 유닛은 DMA를 사용하여 프레임 버퍼에 액세스한다. TrustZone 기반 환경에서는, 정상 모드에서도 DMA가 보안 메모리에 액세스할 수 없다. 따라서, 이 경우, 표시 유닛은 또한 보안 모드에서 동작하는 프로세서에 의해서만 액세스 가능하도록 설정되어야 한다. DMA가 정상 모드에서 동작하는 주변 장치에 의해 개시되면, 정상 모드에서 동작하는 메모리만 액세스 될 수 있다. 반대로, DMA가 보안 모드에서 동작하는 주변 장치에 의해 개시되면, 모든 메모리가 액세스 될 수 있다. 표시 유닛은, 프레임 버퍼 메모리 정보를 디스플레이 메모리에 복사하기 위해, DMA 동작을 수행하여 디스플레이를 구현해야 한다. 프레임 버퍼가 판독되는 메모리는 보안 모드에서 동작한다. 표시 유닛은 DMA를 사용하여, 보안 모드에서 동작하는 메모리에 액세스한 후, 올바른 데이터를 판독하고 데이터를 표시할 수 있다. 그러나 디스플레이 드라이버 코드는 정상 모드에서 실행되기 때문에, 실행 중에, 코드는 디스플레이 유닛의 일부 상태를 변경해야 할 수도 있다. 이러한 액세스의 경우, 보안 권한으로 인해 프로세서에서 예외가 발생하고, 프로세서가 모니터 모드로 트랩(trapped)된다. 도 3c에 도시된 바와 같이, 도 3c는 본 발명의 실시예에 따른 모니터 모드의 적용 시나리오의 개략도이고, ②,③이 ①을 대신해서 수행되어야 한다. 모니터 모드에서, 핸들러(handler) 모듈이 호출되어 표시 유닛에서 대응하는 조작을 완료한 다음, 프로세서는 정상 모드로 돌아가 디스플레이 드라이버 코드를 계속 실행합니다.
다음은 PIN(Personal Identification Number)이 결제를 위해 휴대 전화에 입력되는 예를 사용한다. 도 4를 참조하면, 도 4는 본 발명의 일 실시예에 따른 보안 인터렉션 방법의 다른 적용 시나리오의 개략도이다.
1. 사용자는 정상 모드에서 공통 애플리케이션 프로그램을 사용하여 구매 행동을 수행하고 결제를 준비한다. 이 경우 결제 정보가 생성되고, PIN을 입력하여 사용자가 확인해야 한다. 이 경우, 정상 모드에서 동작하는 애플리케이션 프로그램은 보안 처리 요청을 시작하고, 프로세서는 정상 모드에서 보안 모드로 전환한다.
2. 보안 모드로 들어가면, 프로세서는 몇 가지 보안 설정을 수행한다. 이 경우, 현재의 환경이 보안 상태에 있음을 사용자에게 알리기 위해, LED 지시 장치가 점등된다. LED 지시 장치가 켜지지 않았음을 알게 되면, 사용자는 현재 환경은 보안 모드가 아닌 것으로 결정하고, 사용자가 동작을 취소할 수 있다.
3. 보안 모드에서 표시되는 정보는, 결제 정보가 표시되고 PIN을 입력해야 하는 인터페이스가 표시되는 것이다. 프로세서는 전경 층과 배경 층의 두 층을 표시한다. 이 경우, LED 지시 장치(LED 지시 장치에는 하나의 지시자만 있다고 가정한다.)는 A와 B의 두 색을 주기적으로 표시한다. 전경 층 및 배경 층이, LED 지시 장치에 의해 표시된 컬러와 동일한 컬러인 경우, 사용자는 현재 디스플레이 정보는 신뢰할 수 있는 되는 것으로 결정할 수 있다. 사용자가 화면에 표시된 부분 콘텐츠의 컬러가 두 층의 컬러와 다르다는 것을 알게 되면, 사용자는 표시 정보는 위조된 것으로 판단할 수 있고, 사용자는 추가 동작을 취소할 수 있다.
4. 사용자가 현재 정보가 신뢰할 수 있는 상태에 있다고 결정한 후, 사용자는 PIN을 입력하는 작업을 시작할 수 있다. PIN 입력 정보는 정상 모드에서 동작하는 입력 모듈에 의해 얻어지며, TrustZone 드라이버에 의해 보안 모드에서 동작하는 프로세서로 전송된다. 보안 모드에서 작동하는 프로세서는 데이터를 처리하고 처리된 데이터를 표시 할 수 있다.
5. 사용자가 입력을 완료한 후, 보안 모드에서 동작하는 프로세서는 사용자에 의해 입력된 사용자 데이터에 검증 처리를 수행하고, LED 지시 장치를 턴 오프하며, 정상 모드로 전환하여, 결과 데이터를 정상 모드에서 애플리케이션 프로그램으로 리턴하고, 보안 작업 트랜잭션은 끝난다.
전술한 예로부터 알 수 있는 바와 같이, 본 발명의 실시예에서 제공되는 보안 인터렉션 방법에서, 가능한 한 작은, 신뢰 컴퓨팅 기반을 사용하여, 고립된 환경에서 데이터 보안을 보장하기 위해, 분리의 방식으로 사용자 작업이 수행된다. 전술한 과정에서, 정상 모드에서 드라이버의 기존 코드가 재사용되고 데이터 보안이 보장된다. 또한, 현재 환경의 현재 보안 상태를 결정하기 위해, 보안 지시자 및 표시 유닛의 표시가 결합 될 수있다.
설명을 간단하게 하기 위해, 전술한 방법 실시예는 일련의 동작으로 표현된다. 그러나 본 발명에 따르면, 일부 단계는 다른 순서로 수행되거나 동시에 수행될 수 있기 때문에, 본 발명은 기술된 동작 순서에 제한되지 않음을 당업자는 이해할 것이다. 또한, 당업자는 명세서에 기재된 모든 실시예가 실시예의 예이며, 관련된 동작 및 모듈이 반드시 본 발명에 필수적인 것은 아니라는 것을 또한 인식해야 한다.
본 발명의 실시예의 전술한 해결 수단을 더 잘 구현하기 위해, 다음은 전술한 기술수단을 구현하는데 사용되는 관련 장치를 더 제공한다.
도 5a에 도시된 바와 같이, 본 발명의 실시예에 제공된 보안 상호 작용 장치(500)는 프로세서(501), 메모리(502), 및 액세스 된 장치(503)를 포함할 수 있다.
프로세서(501)는 애플리케이션에 의해 송신된 보안 처리 요청을 수신하도록 구성되고, 애플리케이션 프로그램은 정상 모드에서 동작하고, 프로세서는, 보안 처리 요청을 수신한 때에는, 정상 모드에서 동작한다.
프로세서(501)는 보안 처리 요청에 따라, 정상 모드로부터 보안 모드로 전환하도록 구성된다.
보안 모드에서 동작하는 프로세서(501)는 보안 모드에서 동작하는 메모리(502)에 데이터 정보를 판독하도록 구성되고, 데이터 정보는, 보안 처리 요청을 파싱한 후, 보안 모드에서 동작하는 프로세서가 생성한 데이터이다.
보안 모드에서 동작하는 프로세서는 보안 모드에서 동작하는 메모리에 저장된 데이터 정보에 따라 동작하도록 액세스 된 장치(503)를 제어하고, 액세스 된 장치는, 정상 모드에서 동작하고, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답하며, 애플리케이션 프로그램에 의해 호출된 후 동작해야 하는 장치이다.
본 발명의 일부 실시예에서, 보안 모드에서 동작하는 프로세서(501)는 추가로, 프로세서(501)가 보안 처리 요청에 따라, 정상 모드에서 보안 보드로 전화한 후, 보안 모드에서 동작하는 메모리로부터 보안 지시자를 판독하도록 구성된다.
보안 모드에서 동작하는 프로세서(501)는 추가로, 판독된 보안 지시자에 따라, 현재 환경은 보안 상태인 것을 사용자에 통지하도록 구성된다.
보안 모드에서 동작하는 프로세서(501)는 구체적으로, 판독된 보안 지시자에 따라 동작하도록, 보안 지시 장치(504)를 제어하도록 구성되고, 보안 지시 장치(504)는, 보안 모드에서 동작하며, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답한다.
본 발명의 일부 실시예에서, 보안 모드에서 동작하는 프로세서(501)는 구체적으로, 보안 모드에서 동작하는 메모리(502)로부터 판독된 보안 지시자를 표시하도록 표시 유닛을 제어하도록 구성되고, 표시 유닛은 정상 모드에서 동작하며, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답한다.
본 발명의 일부 실시예에서, 보안 모드에서 동작하는 프로세서(501)는 구체적으로, 보안 모드에서 동작하는 메모리(502)에 프레임 버퍼 정보를 판독하도록 구성되고, 프레임 버퍼 정보는, 프레임 버퍼 장치에 의해 제공된 인터페이스로부터, 보안 모드에서 동작하는 프로세서에 의해 획득되고, 프레임 버퍼 장치는 정상 모드에서 동작한다.
본 발명의 일부 실시예에서, 액세스 된 장치(503)는 표시 유닛이고, 보안 모드에서 동작하는 프로세서(501)는 구체적으로, 보안 모드에서 동작하는 메모리로부터 판독된 프레임 버퍼 정보를 표시하도록 표시 유닛을 제어하도록 구성되며, 표시 유닛은 정상 모드에서 동작하며, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답한다.
본 발명의 일부 실시예에서, 보안 모드에서 동작하는 프로세서(501)는 구체적으로, 전경 층 및 배경 층을 표시하도록 표시 유닛을 제어하도록 구성되며, 프레임 버퍼 정보는 전경 층에 표시되며, 배경은 배경 층에 표시되고, 전경 층 및 배경층은 서로 다른 컬러로 표시된다.
본 발명의 일부 실시예에서, 보안 모드에서 동작하는 프로세서(501)는 추가로, 사용자에 의해 입력 장치에 입력된 사용자 데이터를 획득하도록 구성되고, 입력 장치는 정상 모드에서 동작하며, 획득된 사용자 데이터에 검증 처리를 수행하여 결과 데이터를 획득하고, 보안 모드에서 동작하는 메모리에 결과 데이터를 판독하도록 구성된다.
본 발명의 일부 실시예에서, 액세스 된 장치(503)는 표시 유닛이고, 보안 모드에서 동작하는 프로세서(501)는 구체적으로, 보안 모드에서 동작하는 메모리로부터 판독된 결과 데이터를 표시하도록 표시 유닛을 제어하도록 구성되고, 표시 유닛은 정상 모드에서 동작하며, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답한다.
본 발명의 일부 실시예에서, 프로세서(501)는 추가로, 보안 모드에서 동작하는 프로세서에 의해 액세스 가능하도록 액세스 된 장치(503)를 설정하도록 구성된다.
프로세서(501)는 추가로, 드라이버 코드가 정상 모드에서 동작하는 애플리케이션 프로그램을 시작하고 실행하도록, 정상 모드에서 동작하는 메모리(502)에 운영 시스템을 로딩하도록 구성된다.
전술한 본 발명의 본 실시예로부터, 정상 모드에서 동작하는 애플리케이션 프로그램은 보안 처리 요청을 프로세서에 송신하고, 프로세서는, 보안 처리 요청을 수신한 때에 정상 모드에서 동작하며, 다음으로, 프로세서는, 보안 처리 요청에 따라 정상 모드로부터 보안 모드로 전환하고, 보안 모드에서 동작하는 프로세서는 보안 모드에서 동작하는 메모리에 데이터 정보를 판독하며, 마지막으로, 보안 모드에서 동작하는 프로세서는, 보안 모드에서 동작하는 메모리에 저장된 데이터 정보에 따라 동작하도록 액세스 된 장치를 제어한다는 것을 알 수 있고, 액세스 된 장치는, 정상 모드에서 동작하고, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답한다. 본 발명의 본 실시예에서, 애플리케이션 프로그램의 원래 동작 모드 및 액세스 된 장치의 원래 동작 모드는 바뀌지 않고, 애플리케이션 프로그램 및 액세스 된 장치는 여전히 정상 모드에서 동작한다. 그러나 애플리케이션 프로그램에 의해 송신된 보안 처리 요청에 따라 프로세서는 정상 모드로부터 보안 모드로 전환한다. 보안 모드에서 동작하는 프로세서는 보안 처리 요청을 파싱한 후 데이터 정보를 생성하고, 보안 모드에서 동작하는 메모리에 데이터 정보를 판독한다. 따라서 보안 모드에서 동작하는 프로세서는 보안 모드에서 동작하는 메모리에 액세스할 수 있다. 액세스 된 장치는, 프로세서가 보안 모드에서 동작하는 경우에만 프로세서의 제어에 응답하기 때문에, 프로세서는 보안 모드에서 동작하는 경우에만 동작하도록 액세스 장치를 제어할 수 있다. 본 발명의 본 실시예에서, 인터렉션 과정에서 보안이 보장된다. 애플리케이션 프로그램 및 액세스 된 장치는 모두 정상 모드에서 동작하기 때문에, 애플리케이션 프로그램을 구동하는 드라이버 코드 및 액세스 된 장치를 구동하는 드리어버 코드는 여전히 정상 모드에서 동작하고, 보안 모드에서 드라이버 코드를 다시 구현하지 않아도 된다. 따라서, 써드 파티(third party)에 의해 제공되는 원래 드라이버 코드에 의존하지 않아도 되고, 애플리케이션 프로그램 및 액세스 된 장치를 보안 모드로 포트(port)하지 않아도 된다. 따라서, 본 발명의 본 실시예에서, 모든 액세스 된 장치가 지원될 수 있고, 종래 기술과 비교하여 신뢰 컴퓨팅 베이스는 감소할 수 있다.
또한, 설명된 장치 실시예는 단지 예일 뿐이라는 것을 알아야 한다. 분리된 부분들로 기술된 유닛들은 물리적으로 분리될 수도 있고 그렇지 않을 수도 있으며, 유닛으로 디스플레이되는 부분들은 물리적 유닛 일 수도 있고 아닐 수도 있고, 한 위치에 위치되거나, 복수의 네트워크 유닛 상에 분포될 수 있다. 모듈의 일부 또는 전부는 실시예의 해결 수단의 목적을 달성하기 위해 실제 요구에 따라 선택될 수 있다. 또한, 본 발명에 의해 제공되는 장치 실시예의 첨부 도면에서, 모듈 간의 연결 관계는 모듈들이 서로 통신 연결을 가지고 있음을 나타내고, 통신 연결은 하나 이상의 통신 버스 또는 신호 케이블로서 구체적으로 구현될 수 있다. 당업자는 창조적 노력없이 본 발명의 실시예를 이해하고 구현할 수있다.
전술 한 구현 방식의 설명에 기초하여, 당업자는 본 발명이 필요한 범용 하드웨어에 추가하여 소프트웨어에 의해, 또는 전용 집적 회로, 전용 CPU, 전용 메모리, 및 전용 구성요소 등을 포함하는 전용 하드웨어에 의해 구현될 수 있음을 명확히 이해할 수 있다. 대체로, 컴퓨터 프로그램에 의해 수행될 수 있는 모든 기능은 대응하는 하드웨어를 사용함으로써 쉽게 구현될 수 있다. 또한, 동일한 기능을 달성하기 위해 사용되는 특정 하드웨어 구조는 예를 들어, 아날로그 회로, 디지털 회로, 전용 회로 등의 형태로 다양한 형태 일 수 있다. 그러나 본 발명에 관해서는, 소프트웨어 프로그램 구현이 대부분은 더 나은 구현 방식이다. 이러한 이해에 기초하여, 본질적으로 본 발명의 기술적 해결 수단 또는 종래 기술에 기여하는 부분은 소프트웨어 제품의 형태로 구현될 수 있다. 이러한 소프트웨어 제품은 플로피 디스크, USB 플래시 드라이브, 착탈식 하드 디스크, ROM, RAM, 자기 디스크, 또는 컴퓨터의 광디스크와 같은 판독 가능한 저장 메체에 저장될 수 있고, 본 발명의 실시 예들에서 설명된 방법들을 수행하기 위해 컴퓨터 장치(개인용 컴퓨터, 서버, 네트워크 장치 등일 수 있음)를 지시하기 위한 몇 가지 명령들을 포함한다.
전술 한 실시예는 본 발명의 기술적 해결 수단을 설명하기 위한 것 일뿐 본 발명을 제한하는 것은 아니다. 본 발명은 전술 한 실시예를 참조하여 상세히 설명되었지만, 당업자는, 본 발명의 실시예의 기술적 해결 수단의 범위를 벗어나지 않고, 전술 한 실시예에서 설명된 기술적 해결수단에 여전히 수정을 가할 수 있거나 또는 그 기술적 특징들에 대해 동등한 대체물을 만들 수 있음을 이해해야 한다.
Claims (20)
- 보안 인터렉션 방법(secure interaction method)으로서,
프로세서가, 애플리케이션 프로그램에 의해 송신된 보안 처리 요청을 수신하는 단계 - 상기 애플리케이션 프로그램은 정상 모드에서 동작하고, 상기 프로세서는 상기 보안 처리 요청을 수신한 때에는 상기 정상 모드에서 동작 함 -;
상기 프로세서가, 상기 보안 처리 요청에 따라 상기 정상 모드로부터 보안 모드로 전환하는 단계;
상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리에 데이터 정보를 판독하는 단계 - 상기 데이터 정보는, 상기 보안 모드에서 동작하는 프로세서가 상기 보안 처리 요청을 파싱(parse) 한 후에 생성하는 데이터임 -; 및
상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리에 저장된 상기 데이터 정보에 따라 동작하도록 액세스 된 장치를 제어하는 단계
를 포함하고,
상기 액세스 된 장치는, 상기 정상 모드에서 동작하고, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답하며, 상기 애플리케이션 프로그램에 의해 호출된 후, 동작해야 하는 장치인, 보안 인터렉션 방법. - 제1항에 있어서,
상기 프로세서가, 상기 보안 처리 요청에 따라 상기 정상 모드로부터 보안 모드로 전환하는 단계 후, 상기 보안 인터렉션 방법은,
상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리로부터 보안 지시자(security indicator)를 판독하는 단계; 및
상기 보안 모드에서 동작하는 프로세서가, 상기 판독된 보안 지시자에 따라, 현재 환경이 보안 상태(secure state)에 있다는 것을 사용자에게 통지하는 단계
를 더 포함하는 보안 인터렉션 방법. - 제2항에 있어서,
상기 보안 모드에서 동작하는 프로세서가, 상기 판독된 보안 지시자에 따라, 현재 환경이 보안 상태에 있다는 것을 사용자에게 통지하는 단계는,
상기 보안 모드에서 동작하는 프로세서가, 상기 판독된 보안 지시자에 따라, 보안 지시 장치가 동작하도록 제어하는 단계
를 포함하고,
상기 보안 지시 장치는, 상기 보안 모드에서 동작하고, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답하는, 보안 인터렉션 방법. - 제2항에 있어서,
상기 보안 모드에서 동작하는 프로세서가, 상기 판독된 보안 지시자에 따라, 현재 환경이 보안 상태에 있다는 것을 사용자에게 통지하는 단계는,
상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리로부터 판독된 상기 보안 지시자를 표시하도록 표시 유닛을 제어하는 단계
를 포함하고,
상기 표시 유닛은, 상기 정상 모드에서 동작하고, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답하는, 보안 인터렉션 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리에 데이터 정보를 판독하는 단계는,
상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리에 프레임 버퍼 정보를 판독하는 단계
를 포함하고,
상기 프레임 버퍼 정보는, 프레임 버퍼 장치에 의해 제공되는 인터페이스로부터, 상기 보안 모드에서 동작하는 프로세서에 의해 획득되고, 상기 프레임 버퍼 장치는 상기 정상 모드에서 동작하는, 보안 인터렉션 방법. - 제5항에 있어서,
상기 액세스 된 장치는 상기 표시 유닛이고,
상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리에 저장된 상기 데이터 정보에 따라 동작하도록 액세스 된 장치를 제어하는 단계는,
상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리로부터 판독된 상기 프레임 버퍼 정보를 표시하도록 상기 표시 유닛을 제어하는 단계
를 포함하고,
상기 표시 유닛은, 상기 정상 모드에서 동작하고, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답하는, 보안 인터렉션 방법. - 제6항에 있어서,
상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리로부터 판독된 상기 프레임 버퍼 정보를 표시하도록 상기 표시 유닛을 제어하는 단계는,
상기 보안 모드에서 동작하는 프로세서가, 전경 층(foreground layer) 및 배경 층(background layer)을 표시하도록 제어하는 단계
를 포함하고,
상기 프레임 버퍼 정보는 상기 전경 층에 표시되고, 배경은 상기 배경 층에 표시되며, 상기 전경층 및 상기 배경 층은 서로 다른 컬러로 표시되는, 보안 인터렉션 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리에 데이터 정보를 판독하는 단계는,
상기 보안 모드에서 동작하는 프로세서가, 사용자에 의해, 입력 장치에 입력된 사용자 데이터를 획득하는 단계;
상기 보안 모드에서 동작하는 프로세서가, 상기 획득한 사용자 데이터에 검증 처리를 수행하여 결과 데이터를 획득하는 단계; 및
상기 보안 모드에서 동작하는 프로세서가, 상기 결과 데이터를 상기 보안 모드에서 동작하는 메모리에 판독하는 단계
를 포함하고,
상기 입력 장치는 상기 정상 모드에서 동작하는, 보안 인터렉션 방법. - 제8항에 있어서,
상기 액세스 된 장치는 상기 표시 유닛이고,
상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리에 저장된 상기 데이터 정보에 따라 동작하도록 액세스 된 장치를 제어하는 단계는,
상기 보안 모드에서 동작하는 프로세서가, 상기 보안 모드에서 동작하는 메모리로부터 판독된 상기 결과 데이터를 표시하도록 상기 표시 유닛을 제어하는 단계
를 포함하고,
상기 표시 유닛은, 상기 정상 모드에서 동작하고, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답하는, 보안 인터렉션 방법. - 제1항에 있어서,
프로세서가, 애플리케이션 프로그램에 의해 송신된 보안 처리 요청을 수신하는 단계 이전에, 상기 보안 인터렉션 방법은,
상기 프로세서가, 상기 보안 모드에서 동작하는 프로세서에 의해 액세스 가능하도록 상기 액세스 된 장치를 설정하는 단계; 및
드라이버 코드(driver code)가, 상기 정상 모드에서 동작하는 애플리케이션 프로그램을 시작하고 실행할 수 있도록, 상기 프로세서가, 상기 정상 모드에서 동작하는 메모리에 운영 시스템을 로딩(loading)하는 단계
를 포함하는, 보안 인터렉션 방법. - 프로세서, 메모리, 및 액세스 된 장치를 포함하는 보안 인터렉션 장치(secure interaction device)로서,
상기 프로세서는, 애플리케이션 프로그램에 의해 송신된 보안 처리 요청을 수신하고, 상기 보안 처리 요청에 따라, 정상 모드로부터 보안 모드로 전환하도록 구성되며,
상기 애플리케이션 프로그램은 상기 정상 모드에서 동작하고, 상기 프로세서는, 상기 보안 처리요청을 수신한 때에는, 상기 정상 모드에서 동작하고,
상기 보안 모드에서 동작하는 프로세서는,
상기 보안 모드에서 동작하는 메모리에 데이터 정보를 판독하고 - 상기 데이터 정보는, 상기 보안 모드에서 동작하는 프로세서가 상기 보안 처리 요청을 파싱(parse)한 후 생성됨 -,
상기 보안 모드에서 동작하는 메모리에 저장된 상기 데이터 정보에 따라 동작하도록 상기 액세스 된 장치를 제어하도록 구성되며,
상기 액세스 된 장치는, 상기 정상 모드에서 동작하고, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답하며, 상기 애플리케이션 프로그램에 의해 호출된 후, 동작해야 하는, 보안 인터렉션 장치. - 제11항에 있어서,
상기 보안 모드에서 동작하는 프로세서는 추가로,
상기 프로세서가, 상기 보안 처리 요청에 따라, 상기 정상 모드로부터 상기 보안 모드로 전환한 후, 상기 보안 모드에서 동작하는 메모리로부터 보안 지시자(security indicator)를 판독하도록 구성되고,
상기 판독된 보안 지시자에 따라, 현재 환경은 보안 상태(secure state)인 것을 사용자에게 통지하도록 구성된, 보안 인터렉션 장치. - 제12항에 있어서,
상기 보안 인터렉션 장치는 보안 지시 장치를 더 포함하고,
상기 보안 모드에서 동작하는 프로세서는 구체적으로,
상기 판독된 보안 지시자에 따라 동작하도록 상기 보안 지시 장치를 제어하도록 구성되고,
상기 보안 지시 장치는, 상기 보안 모드에서 동작하며, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답하는, 보안 인터렉션 장치. - 제12항에 있어서,
상기 보안 모드에서 동작하는 프로세서는 구체적으로,
상기 보안 모드에서 동작하는 메모리로부터 판독된 상기 보안 지시자를 표시하도록 표시유닛을 제어하도록 구성되고,
상기 표시 유닛은, 상기 정상 모드에서 동작하며, 상기 프로세서가 상기 보안 모드에서 동작하는 경우에만 상기 프로세서의 제어에 응답하는, 보안 인터렉션 장치. - 제11항 내지 제14항 중 어느 한 항에 있어서,
상기 보안 모드에서 동작하는 프로세서는 구체적으로,
상기 보안 모드에서 동작하는 메모리에 프레임 버퍼 정보를 판독하도록 구성되고,
상기 프레임 버퍼 정보는, 프레임 버퍼 장치에 의해 제공된 인터페이스로부터, 상기 보안 모드에서 동작하는 프로세서에 의해 획득되고, 상기 프레임 버퍼 장치는 상기 정상 모드에서 동작하는, 보안 인터렉션 장치. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/084893 WO2016026113A1 (zh) | 2014-08-21 | 2014-08-21 | 一种安全交互方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170044685A KR20170044685A (ko) | 2017-04-25 |
KR101952226B1 true KR101952226B1 (ko) | 2019-02-26 |
Family
ID=55350105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177007254A KR101952226B1 (ko) | 2014-08-21 | 2014-08-21 | 보안 인터렉션 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10499248B2 (ko) |
EP (1) | EP3173967B1 (ko) |
JP (1) | JP6571168B2 (ko) |
KR (1) | KR101952226B1 (ko) |
CN (1) | CN105683981B (ko) |
WO (1) | WO2016026113A1 (ko) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933751B (zh) * | 2015-12-29 | 2019-12-24 | 澜起科技股份有限公司 | 用于保护动态随机访问存储器的方法和设备 |
RU2634179C1 (ru) | 2016-12-12 | 2017-10-24 | Акционерное общество "Лаборатория Касперского" | Способ и система для доверенного доведения информации до пользователя |
US10496853B2 (en) * | 2017-06-30 | 2019-12-03 | Phoenix Technologies Ltd. | Securing a host machine against direct memory access (DMA) attacks via expansion card slots |
US11281809B2 (en) * | 2017-08-28 | 2022-03-22 | Tendyron Corporation | Security display method and device, and security terminal |
EP3506143B1 (en) * | 2017-12-27 | 2024-02-14 | Siemens Aktiengesellschaft | Interface for a hardware security module |
GB201806465D0 (en) | 2018-04-20 | 2018-06-06 | Nordic Semiconductor Asa | Memory-access controll |
GB201810653D0 (en) * | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Secure peripheral interconnect |
GB201810662D0 (en) | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Peripheral Access On A Secure-Aware Bus System |
GB201810659D0 (en) | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Secure-Aware Bus System |
EP4290373A3 (en) * | 2018-08-14 | 2023-12-20 | Huawei Technologies Co., Ltd. | Artificial intelligence (ai) processing method and ai processing device |
DE102018220284A1 (de) * | 2018-11-26 | 2020-05-28 | Infineon Technologies Ag | Gesicherte recheneinrichtung |
WO2020252791A1 (zh) * | 2019-06-21 | 2020-12-24 | 华为技术有限公司 | 一种集成芯片及数据处理方法 |
CN112711452B (zh) | 2019-10-24 | 2023-11-03 | 华为技术有限公司 | 一种图像显示方法与电子设备 |
EP3822836A1 (en) * | 2019-11-12 | 2021-05-19 | Koninklijke Philips N.V. | Device and method for secure communication |
CN111625815B (zh) * | 2020-05-26 | 2023-09-26 | 牛津(海南)区块链研究院有限公司 | 一种基于可信执行环境的数据交易方法及装置 |
US11983418B2 (en) | 2022-06-27 | 2024-05-14 | Western Digital Technologies, Inc. | Security indicator on a data storage device |
CN115422554B (zh) * | 2022-10-25 | 2023-03-24 | 支付宝(杭州)信息技术有限公司 | 请求处理方法、编译方法和可信计算*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080282342A1 (en) | 2007-05-09 | 2008-11-13 | Sony Computer Entertainment Inc. | Methods and apparatus for accessing resources using a multiprocessor in a trusted mode |
US20100031320A1 (en) | 2008-02-08 | 2010-02-04 | Microsoft Corporation | User indicator signifying a secure mode |
US20110093723A1 (en) | 2004-06-11 | 2011-04-21 | Arm Limited | Display of a verification image to confirm security |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1329787B1 (en) * | 2002-01-16 | 2019-08-28 | Texas Instruments Incorporated | Secure mode indicator for smart phone or PDA |
US7832004B2 (en) * | 2006-08-10 | 2010-11-09 | Microsoft Corporation | Secure privilege elevation by way of secure desktop on computing device |
GB2445373B (en) * | 2007-01-03 | 2010-12-29 | Advanced Risc Mach Ltd | A data processing apparatus and method for managing access to a display buffer |
CN101997956A (zh) | 2009-08-17 | 2011-03-30 | 联想(北京)有限公司 | 一种移动终端切换工作模式的方法及移动终端 |
WO2011051757A1 (en) * | 2009-10-26 | 2011-05-05 | Gmx Sas | Transactor for use in connection with transactions involving secure and non-secure information |
KR101925806B1 (ko) * | 2011-12-02 | 2018-12-07 | 삼성전자 주식회사 | 보안 방법 및 장치 |
US20130145475A1 (en) * | 2011-12-02 | 2013-06-06 | Samsung Electronics Co., Ltd. | Method and apparatus for securing touch input |
US9344275B2 (en) * | 2012-05-08 | 2016-05-17 | Arm Technologies Israel Ltd. | System, device, and method of secure entry and handling of passwords |
KR20140023606A (ko) * | 2012-08-16 | 2014-02-27 | 삼성전자주식회사 | 트러스트 존에 의한 실행 환경에서 결제 요청을 처리하는 디바이스 및 방법 |
CN103532938B (zh) * | 2013-09-29 | 2016-09-21 | 东莞宇龙通信科技有限公司 | 应用数据保护的方法和*** |
-
2014
- 2014-08-21 EP EP14899967.5A patent/EP3173967B1/en active Active
- 2014-08-21 WO PCT/CN2014/084893 patent/WO2016026113A1/zh active Application Filing
- 2014-08-21 CN CN201480001049.7A patent/CN105683981B/zh active Active
- 2014-08-21 JP JP2017510332A patent/JP6571168B2/ja active Active
- 2014-08-21 KR KR1020177007254A patent/KR101952226B1/ko active IP Right Grant
-
2017
- 2017-02-17 US US15/435,507 patent/US10499248B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110093723A1 (en) | 2004-06-11 | 2011-04-21 | Arm Limited | Display of a verification image to confirm security |
US20080282342A1 (en) | 2007-05-09 | 2008-11-13 | Sony Computer Entertainment Inc. | Methods and apparatus for accessing resources using a multiprocessor in a trusted mode |
US20100031320A1 (en) | 2008-02-08 | 2010-02-04 | Microsoft Corporation | User indicator signifying a secure mode |
Also Published As
Publication number | Publication date |
---|---|
JP6571168B2 (ja) | 2019-09-04 |
WO2016026113A1 (zh) | 2016-02-25 |
CN105683981B (zh) | 2018-10-30 |
EP3173967A4 (en) | 2017-05-31 |
CN105683981A (zh) | 2016-06-15 |
US10499248B2 (en) | 2019-12-03 |
KR20170044685A (ko) | 2017-04-25 |
EP3173967B1 (en) | 2019-06-26 |
US20170164201A1 (en) | 2017-06-08 |
JP2017530450A (ja) | 2017-10-12 |
EP3173967A1 (en) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101952226B1 (ko) | 보안 인터렉션 방법 및 장치 | |
Zhou et al. | Building verifiable trusted path on commodity x86 computers | |
Lentz et al. | Secloak: Arm trustzone-based mobile peripheral control | |
CN106605233B (zh) | 使用处理器提供可信执行环境 | |
EP3103056B1 (en) | Methods and apparatus for protecting operating system data | |
US20150143362A1 (en) | Enabling a Secure Environment Through Operating System Switching | |
US9037823B2 (en) | Protecting IAT/EAT hooks from rootkit attacks using new CPU assists | |
EP3467667B1 (en) | System-on-chip and terminal | |
KR101843730B1 (ko) | 보안 런타임 환경을 갖는 마이크로 프로세서 시스템 | |
US9870467B2 (en) | Apparatus and method for implementing a forked system call in a system with a protected region | |
KR101408524B1 (ko) | 신뢰 플랫폼 모듈(tpm) 공유 방법 및 신뢰 플랫폼 모듈(tpm) 공유 시스템 | |
US20150302201A1 (en) | Device and method for processing transaction request in processing environment of trust zone | |
US9886595B2 (en) | Priority-based application execution method and apparatus of data processing device | |
EP3436947B1 (en) | Secure driver platform | |
US10108800B1 (en) | ARM processor-based hardware enforcement of providing separate operating system environments for mobile devices with capability to employ different switching methods | |
CN109711161B (zh) | 一种监控方法及电子设备 | |
CN112417470A (zh) | 实现gpu数据安全访问的方法、装置、电子设备及存储介质 | |
US10250595B2 (en) | Embedded trusted network security perimeter in computing systems based on ARM processors | |
Schiffman et al. | The smm rootkit revisited: Fun with usb | |
CN115017497A (zh) | 信息处理方法、装置及存储介质 | |
CN110276214A (zh) | 一种基于从机访问保护的双核可信soc架构及方法 | |
CN114826785B (zh) | 一种动态防护方法、***级芯片、电子设备及介质 | |
CN117150478A (zh) | 一种基于片上***的信任根、芯片以及数据校验方法 | |
CN116881987A (zh) | Pcie设备直通虚拟机的方法、装置及相关设备 | |
US20180203809A1 (en) | Intermediate module for controlling communication between a data processing device and a peripheral device |
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 |