KR101250661B1 - 모바일 플랫폼 보안 장치 및 방법 - Google Patents

모바일 플랫폼 보안 장치 및 방법 Download PDF

Info

Publication number
KR101250661B1
KR101250661B1 KR20110011100A KR20110011100A KR101250661B1 KR 101250661 B1 KR101250661 B1 KR 101250661B1 KR 20110011100 A KR20110011100 A KR 20110011100A KR 20110011100 A KR20110011100 A KR 20110011100A KR 101250661 B1 KR101250661 B1 KR 101250661B1
Authority
KR
South Korea
Prior art keywords
authentication key
authentication
function
identifier
application program
Prior art date
Application number
KR20110011100A
Other languages
English (en)
Other versions
KR20120090588A (ko
Inventor
박재춘
Original Assignee
주식회사 팬택
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 팬택 filed Critical 주식회사 팬택
Priority to KR20110011100A priority Critical patent/KR101250661B1/ko
Priority to US13/234,997 priority patent/US9015826B2/en
Publication of KR20120090588A publication Critical patent/KR20120090588A/ko
Application granted granted Critical
Publication of KR101250661B1 publication Critical patent/KR101250661B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2111Location-sensitive, e.g. geographical location, GPS

Abstract

모바일 플랫폼 보안 장치 및 방법을 제안한다. 본 발명의 실시예에 따른 플랫폼 보안 장치는 응용 프로그램에 의해 호출되는 함수 별로 제1 인증키, 제2 인증키 및 제3 인증키를 생성하고, 제1 인증키와 응용 프로그램을 식별할 수 있는 식별자를 제1 저장부에 저장하고, 제2 인증키와 식별자를 제2 저장부의 비밀영역에 저장하고, 제3 인증키와 상기 식별자를 상기 응용 프로그램 내의 함수 파라미터로 등록해서 보안 설정한다. 이후, 플랫폼 보안 장치는 응용 프로그램에 의해 함수가 호출되면 호출된 함수의 대응하는 제1 인증키, 제2 인증키 및 제3 인증키를 확인하고, 확인된 제1 인증키, 제2 인증키 및 제3 인증키를 이용해서 인증 처리를 수행한다.

Description

모바일 플랫폼 보안 장치 및 방법{Security apparatus and method for mobile platform}
이동 통신 단말의 플랫폼 상에 설치되는 응용 프로그램의 비정상적 또는 의도되지 아니한 동작으로부터 이동 통신 단말을 보호하기 위한 기술과 관련된다.
일반적으로, 플랫폼(platform)이란 응용 프로그램이 실행될 수 있는 기초를 이루는 시스템 환경을 말한다. 최근에는 사용자에게 보다 유익하고 다양한 서비스를 제공하기 위하여 개방형 플랫폼이 등장하게 되었고, 이러한 개방형 플랫폼은 이동 통신 단말에 없어서는 안될 중요한 요소 기술로 자리잡게 되었다.
예를 들어 애플사에서 제공하는 엡스토어와 같이 수 많은 개발자들이 오픈 플랫폼 규약에 따라 개발한 어플리케이션을 엡스토어와 비슷한 기능을 제공하는 사이트에 올려 놓으면 사용자는 아주 작은 돈을 지불하거나 또는 공짜로 해당 어플리케이션을 자유롭게 다운받고 설치하여 다양한 기능과 서비스를 제공받을 수 있게 되는 것이다.
이와 같이 오픈된 서비스 환경은 사용자에게 다양한 서비스 및 기능을 제공한다는 장점이 지니는 동시에 악의적인 목적으로 개발된 어플리케이션에 의해 사용자의 중요 정보 유출, 바이러스 감염 및 치명적인 시스템 결함이 야기될 수 있다는 단점이 있다.
즉 어플리케이션이 모든 오픈 플랫폼 API를 호출할 수 있도록 되어있기 때문에, 사용자의 정보 유출 및 비정상적인 과금 등이 유발될 수 있다. 예를 들면 단순히 알람 기능을 제공하는 것으로 알고 있던 어플리케이션을 설치하였는데 사용 중 또는 설치 후, 사용자 모르게 사용자의 폰북에 접근할 수 있는 플랫폼 API 호출을 통해 폰북 리스트를 획득한 후, 네트워크 사용을 가능하게 하는 플랫폼 API를 호출하여 폰북 정보가 외부로 유출될 수도 있는 문제점이 있다.
본 발명의 실시예는 모바일 플랫폼 보안 장치 및 방법을 제공한다.
본 발명의 실시예는 이동 통신 단말의 플랫폼 상에 설치되는 응용 프로그램의 비정상적 또는 의도되지 아니한 동작으로부터 이동 통신 단말을 보호하기 위한 플랫폼 보안 장치 및 방법을 제공한다.
본 발명의 실시예는 응용 프로그램에서 호출하는 함수별로 3개의 인증키를 생성하고, 응용 프로그램에 의해 함수가 호출되는 경우 3개의 인증키를 이용해서 정상적인 호출인지를 인증하는 플랫폼 보안 장치 및 방법을 제공한다.
본 발명의 실시예는 응용 프로그램에서 호출하는 함수별로 인증키를 생성해서 생성한 인증키를 응용 프로그램의 함수 파라메터에 등록하고, 생성한 인증키를 2개의 저장장소에 저장하고, 응용 프로그램에 의해 함수가 호출되는 경우 등록된 인증키와 저장된 2개의 인증키가 모두 동일한지 또는, 저장된 2개의 인증키의 조합에 의해서 생성된 인증키와 동일한지를 비교해서 정상적인 호출인지를 인증하는 플랫폼 보안 장치 및 방법을 제공한다.
본 발명의 실시예에 따른 모바일 플랫폼 보안 장치는, 응용 프로그램에 의해 호출되는 함수 별로 제1 인증키, 제2 인증키 및 제3 인증키를 생성하는 인증키 생성부와, 상기 제1 인증키와 상기 응용 프로그램을 식별할 수 있는 식별자를 저장하는 제1 저장부와, 상기 제2 인증키와 상기 식별자를 비밀영역에 저장하는 제2 저장부 및 상기 제3 인증키와 상기 식별자를 상기 응용 프로그램 내의 함수 파라미터로 등록하는 인증 정보 등록부를 포함한다.
이때, 상기 응용 프로그램이 상기 함수를 호출하는 경우, 상기 함수 파라미터에 포함된 상기 제3 인증키와 상기 식별자를 확인하고, 상기 제1 저장부에서 상기 식별자와 상기 호출된 함수에 대응하는 상기 제1 인증키를 확인하고, 상기 제2 저장부에서 상기 식별자와 상기 호출된 함수에 대응하는 상기 제2 인증키를 확인하고, 상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키를 이용해서 인증 처리를 수행하는 인증 처리부를 더 포함할 수 있다.
본 발명의 실시예에 따른 모바일 플랫폼 보안 장치의 보안 방법은, 응용 프로그램에 의해 호출되는 함수 별로 제1 인증키, 제2 인증키 및 제3 인증키를 생성하는 단계와, 상기 제1 인증키와 상기 응용 프로그램을 식별할 수 있는 식별자를 제1 저장부에 저장하는 단계와, 상기 제2 인증키와 상기 식별자를 제2 저장부의 비밀영역에 저장하는 단계 및 상기 제3 인증키와 상기 식별자를 상기 응용 프로그램 내의 함수 파라미터로 등록하는 단계를 포함한다.
이때, 상기 응용 프로그램이 상기 함수를 호출하는 경우, 상기 함수 파라미터에 포함된 상기 제3 인증키와 상기 식별자를 확인하는 단계와, 상기 제1 저장부에서 상기 식별자와 상기 호출된 함수에 대응하는 상기 제1 인증키를 확인하는 단계와, 상기 제2 저장부에서 상기 식별자와 상기 호출된 함수에 대응하는 상기 제2 인증키를 확인하는 단계 및 상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키를 이용해서 인증 처리를 수행하는 단계를 더 포함할 수 있다.
본 발명은 응용 프로그램에서 호출하는 함수별로 3개의 인증키들을 생성하고 3개의 인증키들 중하나를 함수 파라미터로 등록하고 남은 인증키들을 저장해서 응용 프로그램의 기능이 아닌 기능 또는 사용자가 의도하지 아니한 기능이 실행되는 것을 방지할 수가 있다. 특히, 본 발명은 저장된 2개의 인증키와 함수 파라미터로 등록된 인증키를 이용해서 인증하기 때문에 보안성능이 1개의 인증키를 저장하는 것에 비해 안전하다.
도 1은 본 발명의 실시예에 따른 플랫폼을 도시한 도면,
도 2는 본 발명의 실시예에 따른 모바일 플랫폼 보안 장치의 구성을 도시한 도면,
도 3은 본 발명의 실시예에 따른 모바일 플랫폼 보안 장치에서 제1 인증키를 저장한 예를 도시한 도면,
도 4는 본 발명의 실시예에 따른 모바일 플랫폼 보안 장치에서 제2 인증키를 저장한 예를 도시한 도면,
도 5는 본 발명의 실시예에 따른 모바일 플랫폼 보안 장치에서 함수 파라미터를 등록한 예를 도시한 도면,
도 6은 본 발명의 실시예에 따른 모바일 플랫폼 보안 장치에서 응용 프로그램의 인증키들을 설정하는 과정을 도시한 흐름도 및,
도 7은 본 발명의 실시예에 따른 모바일 플랫폼 보안 장치에서 응용 프로그램의 함수가 호출될 때 인증하는 과정을 도시한 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명은 이동 통신 단말의 플랫폼 상에 설치되는 응용 프로그램의 비정상적 또는 의도되지 아니한 동작으로부터 이동 통신 단말을 보호하기 위한 플랫폼 보안 장치 및 방법에 관한 것이다.
도 1은 본 발명의 실시예에 따른 플랫폼을 도시한 도면이다.
도 1을 참조하면, 플랫폼(120)은 플랫폼(130) 상에 설치된 응용 프로그램(130)이 실행될 수 있는 환경을 제공하는 소프트웨어 계층이 될 수 있다. 플랫폼(120)에 설치되는 응용 프로그램(130)은 플랫폼(120)에서 제공하는 API(application program interface)로 만들어진다.
API란 응용 프로그램이 운영체제(OS)에 어떤 처리를 위해 호출할 수 있는 서브 루틴 또는 함수의 집합으로서, 운영체제(OS) 등의 기능과 그 기능을 사용하는 방법을 정의한 함수의 집합을 말한다.
따라서 플랫폼(120)의 특정한 규약에 맞추어 개발된 응용 프로그램(130)은 운영체제(110)와 상관없이 동작하는 것이 가능하다. 즉, 응용 프로그램(130)은 플랫폼(120)의 API 호출을 통해 운영체제(110)가 관리하는 파일이나 데이터 영역에 접근하여 필요한 기능을 수행하는 것이 가능하다.
도 2는 본 발명의 실시예에 따른 모바일 플랫폼 보안 장치의 구성을 도시한 도면이다.
도 2에서, 플랫폼 보안 장치(200)는 이동 통신 단말 등에 설치되는 모바일플랫폼의 플랫폼 코어에 형성될 수 있다. 플랫폼 보안 장치(200)는 특정한 응용 프로그램이 동작을 하면서 다수의 기능이 실행될 때, 사용자가 인증하지 아니한 기능에 대해서는 그 기능 실행이 제한되도록 하는 것이 가능하다. 예컨대, 이동 통신 단말에서 단순히 알람 기능만을 제공하는 응용 프로그램이 폰북에 접근할 수 있는 API를 호출하여 폰북 정보를 열람하거나 외부로 유출하는 것을 방지할 수 있다.
도 2를 참조하면 플랫폼 보안 장치(200)는 인증 키 생성부(210), 제1 저장부(220), 제2 저장부(230), 인증 정보 등록부(240) 및 인증 처리부(250)를 포함할 수 있다.
인증 키 생성부(210)는 응용 프로그램에 의해 호출되는 함수 별로 3개의 인증키(제1 인증키, 제2 인증키 및 제3 인증키)를 생성한다. 이때, 응용 프로그램(260)에 의해 호출되는 함수는 응용 프로그램(260)의 기능을 나타내고, 이때, 호출되는 함수는 API(270)의 함수가 될 수 있다. 예컨대, APP_X가 동작할 때 함수_a 및 함수_b가 호출된다면, 함수_a 및 함수_b 각각이 APP_X의 기능이 될 수 있다.
따라서 3개의 인증키들은 플랫폼에서 제공되는 플랫폼 API의 함수 별로 생성되는 것이 가능하다. 예를 들어, APP_X가 설치되면, 인증 키 생성부(210)는 APP_X의 코드를 분석하여 함수_a에 대응되는 인증키들(KXa1, KXa2 및, KXa3)을 생성하고, 함수_b에 대응되는 인증키들(KXb1, KXb2 및 KXb3)을 생성하는 것이 가능하다.
그리고, 3개의 인증키들은 응용 프로그램이 설치되는 경우 또는 옵션 메뉴를 통해 사용자 선택이 있는 경우 생성되는 것이 가능하다. 생성되는 인증키들은 임의의 숫자로 구성될 수 있다. 3개의 인증키들은 다른 함수를 호출할 때 필요로 하는 인증키들과 중복되지 않도록 각각의 기능 또는 함수 별로 독립적으로 생성되는 것이 바람직하다. 그리고, 3개의 인증키들은 인증 처리부(250)의 인증 방법에 따라 모두 같은 값(제1 인증키 = 제2 인증키 = 제3 인증키)을 가지도록 생성될 수도 있고, 서로 다른 값을 가지도록 생성될 수도 있다.
제1 저장부(220)는 응용 프로그램의 식별자와 3개의 인증키들 중 하나인 제1 인증키를 저장한다. 이때, 제1 저장부(220)는 파일 시스템 또는 시스템 메모리 일 수 있다.
제2 저장부(230)는 응용 프로그램의 식별자와 3개의 인증키들 중 하나인 제2 인증키를 비밀영역에 저장한다. 이때, 제2 저장부(230)는 시스템 메모리 일 수 있다. 제2 저장부(230)는 파일시스템 영역인 제1 저장부(220)의 이중화 및 파괴 인증키의 변경 방지를 위한 목적으로 사용되는 저장부이다.
그리고, 제2 저장부(230)의 비밀영역은 인증키 생성부(210) 또는 인증 처리부(250)에 의해서만 읽기(read)와 쓰기(write) 등의 접근이 가능한 영역이다.
한편, 제1 저장부(220)에 저장된 식별자와 제1 인증키도 인증키 생성부(210) 또는 인증 처리부(250)에 의해서만 접근이 가능하도록 할 수도 있다.
도 2에서는, 응용 프로그램의 식별자를 APP_X, APP_Y 등으로 나타내었다.
예컨대, 응용 프로그램의 식별자란 응용 프로그램의 명칭이 될 수 있다. 생성된 인증키들 및 응용 프로그램의 식별자는 각각 매칭되어 테이블 형태로 제1 저장부(220) 또는 제2 저장부(230)에 저장되는 것이 가능하다.
도 3은 본 발명의 실시예에 따른 모바일 플랫폼 보안 장치에서 제1 인증키를 저장한 예를 도시한 도면이다.
이것은 제1 저장부(220)에 저장되는 정보의 일 예가 될 수 있다.
도 3을 참조하면 식별자와 제1 인증키를 저장하는 테이블(300)은 응용 프로그램의 명칭(310), 함수의 명칭 및 기능별로 생성된 제1 인증키(320)를 포함한다. 도 3을 참조하면, 제1 인증키(320)는 응용 프로그램의 함수들에 각각 대응되는 것을 알 수 있다.
예를 들어, APP_X과 APP_Y가 모두 함수_a를 이용하는 경우에도, APP_X의 함수_a에는 인증 키 KXa1이 할당되고, APP_Y의 함수_a에는 인증 키 KYa1가 할당되는 것이 가능하다. 이와 같이, 제1 저장부(220)에는 응용 프로그램의 명칭과 각각의 인증 키가 매칭 및 저장되는 것이 가능하다.
도 4는 본 발명의 실시예에 따른 모바일 플랫폼 보안 장치에서 제2 인증키를 저장한 예를 도시한 도면이다.
도 4을 참조하면 응용 프로그램의 식별자와 제2 인증키를 저장하는 테이블(400)은 응용 프로그램의 명칭(410), 함수의 명칭 및 기능별로 생성된 제2 인증키(420)를 포함한다. 도 4를 참조하면 응용 프로그램의 식별자와 제2 인증키도 도 3의 테이블 형태로 제2 저장부(230)의 비밀영역에 저장될 수 있다.
인증 정보 등록부(240)는 3개의 인증키들 중 하나인 제3 인증키와 응용 프로그램의 식별자를 상기 응용 프로그램 내의 함수 파라미터로 등록한다.
인증 정보 등록부(240)는 응용 프로그램이 설치된 코드 영역과 관련된 특정한 데이터 영역에 생성된 제3 인증키 및 응용 프로그램의 식별자를 기록하는 것이 가능하다.
인증 정보 등록부(240)에 의해 함수 파라미터에 생성된 제3 인증키 및 응용 프로그램의 식별자가 추가되면, 응용 프로그램은 생성된 제3 인증키 및 응용 프로그램의 식별자를 포함하는 함수 파라미터를 이용하여 API의 함수를 호출한다.
도 5는 본 발명의 실시예에 따른 모바일 플랫폼 보안 장치에서 함수 파라미터를 등록한 예를 도시한 도면이다.
도 5는 인증 정보 등록부(240)에 의해 생성된 제3 인증키가 응용 프로그램의 함수 파라미터로서 제공되는 방식에 관한 일 예가 될 수 있다.
도 5를 참조하면, 코드 영역(510)은 APP_X가 설치된 데이터 영역을 나타내고, 코드 영역(520)는 APP_Y가 설치된 데이터 영역을 나타낸다. 그리고 추가영역(530)과 추가영역(340)은 각각 함수 파라미터로 등록된 제3 인증키 및 응용 프로그램의 식별자를 나타낸다. 이와 같이, 인증 정보 등록부(240)는 응용 프로그램이 설치된 코드 영역과 관련된 특정한 데이터 영역에 생성된 인증 키 및 응용 프로그램의 식별자를 기록하는 것이 가능하다. 다만, 응용 프로그램의 식별자의 경우, API 호출의 return address를 통해 응용 프로그램의 명칭을 확인하는 것이 가능하므로, 응용 프로그램의 설치 시에 그 코드 위치를 저장하는 방식으로 등록되는 것도 가능하다.
인증 처리부(250)는 응용 프로그램에 의해 특정 함수가 호출되면, 응용 프로그램 내의 함수 파라미터에 포함된 제3 인증키와 식별자를 확인하고, 제1 저장부(220)에서 식별자와 호출된 함수에 대응하는 제1 인증키를 확인하고, 제2 저장부(230)에서 식별자와 호출된 함수에 대응하는 제2 인증키를 확인하고, 제1 인증키, 제2 인증키 및 제3 인증키를 이용해서 인증 처리를 수행한다.
인증 처리부(250)는 인증키들(제1 인증키, 제2 인증키 및 제3 인증키)을 확인하면 인증키들 중에서 2개의 인증키들을 이용해서 인증연산을 수행하고 인증연산 결과와 남은 인증키와 동일한지 비교해서 인증처리를 수행할 수 있다. 즉, 인증 처리부(250)는 인증연산 결과와 남은 인증키가 동일하면 인증에 성공했다고 판단하고 상기 호출된 함수로의 접근을 허락한다. 그리고, 인증 처리부(250)는 인증연산 결과와 남은 인증키가 상이하면 인증에 실패했다고 판단하고 상기 호출된 함수로의 접근을 차단한다. 예를 들어 인증연산이 단순히 덧셈(+)연산인 경우 아래 <수학식 1>을 성립하면 인증에 성공했다고 할 수 있다. 실시예에서 설명을 위해 인증연산을 덧셈연산으로 설명했지만, 인증연산은 2개의 인증키 값으로 나머지 인증키 값을 추정할 수 없을 정도의 연산이 바람직하다.
[수학식 1]
제1 인증키 + 제2 인증키 = 제3 인증키
한편, 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키를 동일한 값을 가지도록 생성된 경우, 인증 처리부(250)는 인증키들(제1 인증키, 제2 인증키 및 제3 인증키)을 확인하면 인증키들이 모두 동일한지를 확인해서 모두 동일하면 인증에 성공했다고 판단하고, 모두 동일하지 않으면 인증에 실패했다고 판단할 수 있다.
이하, 상기와 같이 구성된 본 발명에 따른 모바일 플랫폼 보안 장치의 보안 방법을 아래에서 도면을 참조하여 설명한다.
도 6은 본 발명의 실시예에 따른 모바일 플랫폼 보안 장치에서 응용 프로그램의 인증키들을 설정하는 과정을 도시한 흐름도이다.
도 6을 참조하면, 플랫폼 보안 장치(200)는 610단계에서 응용 프로그램의 보안 설정 이벤트의 발생을 감지하면, 620단계에서 응용 프로그램에 의해 호출되는 함수 별로 3개의 인증키들을 생성한다. 이때, 보안 설정 이벤트는 응용 프로그램이 설치되는 경우 또는 옵션 메뉴를 통한 사용자 선택이 있는 경우에 발생할 수 있다. 그리고, 3개의 인증키들은 인증 처리부(250)의 인증 방법에 따라 모두 같은 값(제1 인증키 = 제2 인증키 = 제3 인증키)을 가지도록 생성될 수도 있고, 서로 다른 값을 가지도록 생성될 수도 있다.
그리고, 플랫폼 보안 장치(200)는 630단계에서 제1 인증키와 식별자를 제1 저장부(220)에 저장한다.
그리고, 플랫폼 보안 장치(200)는 640단계에서 제2 인증키와 식별자를 제2 저장부(230)의 비밀영역에 저장한다. 이때, 제2 저장부(230)의 비밀영역은 인증키 생성부(210) 또는 인증 처리부(250)에 의해서만 읽기(read)와 쓰기(write) 등의 접근이 가능한 영역이다.
그리고, 플랫폼 보안 장치(200)는 650단계에서 제3 인증키와 식별자를 응용 프로그램 내의 함수 파라미터로 등록한다.
도 7은 본 발명의 실시예에 따른 모바일 플랫폼 보안 장치에서 응용 프로그램의 함수가 호출될 때 인증하는 과정을 도시한 흐름도이다.
도 7을 참조하면, 플랫폼 보안 장치(200)는 710단계에서 응용 프로그램에 의해 함수가 호출되면, 720단계에서 응용 프로그램 내의 함수 파라미터에 포함된 식별자와 제3 인증키를 확인한다.
그리고, 플랫폼 보안 장치(200)는 730단계에서 제1 저장부(220)에 저장된 식별자와 호출된 함수에 대응하는 제1 인증키를 확인한다.
그리고, 플랫폼 보안 장치(200)는 750단계에서 제2 저장부(230)에 저장된 식별자와 호출된 함수에 대응하는 제2 인증키를 확인한다.
그리고, 플랫폼 보안 장치(200)는 750단계에서 제1 인증키, 제2 인증키 및 제3 인증키를 이용해서 인증 처리를 수행해서 인증성공 여부를 확인한다.
이때, 플랫폼 보안 장치(200)는 인증키들(제1 인증키, 제2 인증키 및 제3 인증키)을 확인하면 인증키들 중에서 2개의 인증키들을 이용해서 인증연산을 수행하고 인증연산 결과와 남은 인증키와 동일한지 비교해서 인증처리를 수행할 수 있다. 한편, 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키를 동일한 값을 가지도록 생성된 경우, 플랫폼 보안 장치(200)는 인증키들(제1 인증키, 제2 인증키 및 제3 인증키)을 확인하면 인증키들이 모두 동일한지를 확인해서 모두 동일하면 인증에 성공했다고 판단하고, 모두 동일하지 않으면 인증에 실패했다고 판단할 수 있다.
750단계의 확인결과 인증에 성공했으면, 플랫폼 보안 장치(200)는 760단계에서 호출된 함수로의 접근을 허락한다.
하지만, 750단계의 확인결과 인증에 실패했으면, 플랫폼 보안 장치(200)는 770단계에서 호출된 함수로의 접근을 차단한다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (14)

  1. 응용 프로그램에 의해 호출되는 함수 별로 제1 인증키, 제2 인증키 및 제3 인증키를 생성하는 인증키 생성부;
    상기 제1 인증키와 상기 응용 프로그램을 식별할 수 있는 식별자를 저장하는 제1 저장부;
    상기 제2 인증키와 상기 식별자를 비밀영역에 저장하는 제2 저장부; 및
    상기 제3 인증키와 상기 식별자를 상기 응용 프로그램 내의 함수 파라미터로 등록하는 인증 정보 등록부를 포함하는
    모바일 플랫폼 보안 장치.
  2. 제1항에 있어서,
    상기 응용 프로그램이 상기 함수를 호출하는 경우, 상기 함수 파라미터에 포함된 상기 제3 인증키와 상기 식별자를 확인하고, 상기 제1 저장부에서 상기 식별자와 상기 호출된 함수에 대응하는 상기 제1 인증키를 확인하고, 상기 제2 저장부에서 상기 식별자와 상기 호출된 함수에 대응하는 상기 제2 인증키를 확인하고, 상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키를 이용해서 인증 처리를 수행하는 인증 처리부를 더 포함하는
    모바일 플랫폼 보안 장치.
  3. 제2항에 있어서,
    상기 제2 저장부의 상기 비밀영역은,
    상기 인증키 생성부 또는 상기 인증 처리부에 의해서만 접근이 가능함을 특징으로 하는
    모바일 플랫폼 보안 장치.
  4. 제2항에 있어서,
    상기 제1 저장부에 저장된 상기 제1 인증키와 상기 식별자는,
    상기 인증키 생성부 또는 상기 인증 처리부에 의해서만 접근이 가능함을 특징으로 하는
    모바일 플랫폼 보안 장치.
  5. 제2항에 있어서,
    상기 인증 처리부는,
    상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키의 인증키들을 확인하면 상기 인증키들 중에서 2개의 인증키들을 이용해서 인증연산을 수행하고 인증연산 결과와 남은 인증키와 동일한지 비교해서 상기 인증연산 결과와 상기 남은 인증키가 동일하면 인증에 성공했다고 판단하고 상기 호출된 함수로의 접근을 허락하고,
    상기 인증연산 결과와 상기 남은 인증키가 상이하면 인증에 실패했다고 판단하고 상기 호출된 함수로의 접근을 차단함을 특징으로 하는
    모바일 플랫폼 보안 장치.
  6. 제1항에 있어서,
    상기 인증키 생성부는,
    상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키를 동일한 값을 가지도록 생성하고,
    상기 응용 프로그램이 상기 함수를 호출하는 경우, 상기 함수 파라미터에 포함된 상기 제3 인증키와 상기 식별자를 확인하고, 상기 제1 저장부에서 상기 식별자와 상기 호출된 함수에 대응하는 상기 제1 인증키를 확인하고, 상기 제2 저장부에서 상기 식별자와 상기 호출된 함수에 대응하는 상기 제2 인증키를 확인하고, 확인결과 상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키의 값이 모두 동일하면 인증에 성공했다고 판단하고, 확인결과 상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키의 값이 모두 동일하지 않으면 인증에 실패했다고 판단하는 인증 처리부를 더 포함하는
    모바일 플랫폼 보안 장치.
  7. 제1항에 있어서,
    상기 인증키 생성부는,
    상기 응용 프로그램이 설치되는 경우 또는 옵션 메뉴를 통한 사용자 선택이 있는 경우 상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키를 생성함을 특징으로 하는
    모바일 플랫폼 보안 장치.
  8. 응용 프로그램에 의해 호출되는 함수 별로 제1 인증키, 제2 인증키 및 제3 인증키를 생성하는 단계;
    상기 제1 인증키와 상기 응용 프로그램을 식별할 수 있는 식별자를 제1 저장부에 저장하는 단계;
    상기 제2 인증키와 상기 식별자를 제2 저장부의 비밀영역에 저장하는 단계; 및
    상기 제3 인증키와 상기 식별자를 상기 응용 프로그램 내의 함수 파라미터로 등록하는 단계를 포함하는
    모바일 플랫폼 보안 장치의 보안 방법.
  9. 제8항에 있어서,
    상기 제2 저장부의 상기 비밀영역은,
    상기 모바일 플랫폼 보안 장치에 의해서만 접근이 가능함을 특징으로 하는
    모바일 플랫폼 보안 장치의 보안 방법.
  10. 제8항에 있어서,
    상기 제1 저장부에 저장된 상기 제1 인증키와 상기 식별자는,
    상기 모바일 플랫폼 보안 장치에 의해서만 접근이 가능함을 특징으로 하는
    모바일 플랫폼 보안 장치의 보안 방법.
  11. 제8항에 있어서,
    상기 응용 프로그램이 상기 함수를 호출하는 경우, 상기 함수 파라미터에 포함된 상기 제3 인증키와 상기 식별자를 확인하는 단계;
    상기 제1 저장부에서 상기 식별자와 상기 호출된 함수에 대응하는 상기 제1 인증키를 확인하는 단계;
    상기 제2 저장부에서 상기 식별자와 상기 호출된 함수에 대응하는 상기 제2 인증키를 확인하는 단계; 및
    상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키를 이용해서 인증 처리를 수행하는 단계를 더 포함하는
    모바일 플랫폼 보안 장치의 보안 방법.
  12. 제9항에 있어서,
    상기 인증 처리를 수행하는 단계는,
    상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키의 인증키들을 확인하면 상기 인증키들 중에서 2개의 인증키들을 이용해서 인증연산을 수행하는 단계; 및
    인증연산 결과와 남은 인증키와 동일한지 비교해서 상기 인증연산 결과와 상기 남은 인증키가 동일하면 인증에 성공했다고 판단하고 상기 호출된 함수로의 접근을 허락하고, 상기 인증연산 결과와 상기 남은 인증키가 상이하면 인증에 실패했다고 판단하고 상기 호출된 함수로의 접근을 차단하는 단계를 포함함을 특징으로 하는
    모바일 플랫폼 보안 장치의 보안 방법.
  13. 제8항에 있어서,
    상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키를 생성하는 단계는,
    상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키를 동일한 값을 가지도록 생성함을 특징으로 하고,
    상기 응용 프로그램이 상기 함수를 호출하는 경우, 상기 함수 파라미터에 포함된 상기 제3 인증키와 상기 식별자를 확인하는 단계;
    상기 제1 저장부에서 상기 식별자와 상기 호출된 함수에 대응하는 상기 제1 인증키를 확인하는 단계;
    상기 제2 저장부에서 상기 식별자와 상기 호출된 함수에 대응하는 상기 제2 인증키를 확인하는 단계; 및
    확인결과 상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키의 값이 모두 동일하면 인증에 성공했다고 판단하고, 확인결과 상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키의 값이 모두 동일하지 않으면 인증에 실패했다고 판단하는 단계를 더 포함하는
    모바일 플랫폼 보안 장치의 보안 방법.
  14. 제8항에 있어서,
    상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키를 생성하는 단계는,
    상기 응용 프로그램이 설치되는 경우 또는 옵션 메뉴를 통한 사용자 선택이 있는 경우 상기 제1 인증키, 상기 제2 인증키 및 상기 제3 인증키를 생성함을 특징으로 하는
    모바일 플랫폼 보안 장치의 보안 방법.
KR20110011100A 2011-02-08 2011-02-08 모바일 플랫폼 보안 장치 및 방법 KR101250661B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20110011100A KR101250661B1 (ko) 2011-02-08 2011-02-08 모바일 플랫폼 보안 장치 및 방법
US13/234,997 US9015826B2 (en) 2011-02-08 2011-09-16 Mobile platform security apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20110011100A KR101250661B1 (ko) 2011-02-08 2011-02-08 모바일 플랫폼 보안 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120090588A KR20120090588A (ko) 2012-08-17
KR101250661B1 true KR101250661B1 (ko) 2013-04-03

Family

ID=46601587

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20110011100A KR101250661B1 (ko) 2011-02-08 2011-02-08 모바일 플랫폼 보안 장치 및 방법

Country Status (2)

Country Link
US (1) US9015826B2 (ko)
KR (1) KR101250661B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103701761B (zh) * 2012-09-28 2017-07-18 中国电信股份有限公司 开放接口调用的认证方法与系统
US9280660B2 (en) 2013-03-15 2016-03-08 Cognizant Business Services Limited Mobile information management methods and systems
WO2015146258A1 (ja) * 2014-03-28 2015-10-01 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP6561436B2 (ja) * 2014-07-17 2019-08-21 セイコーエプソン株式会社 情報処理装置、情報処理装置を制御する方法、コンピュータープログラム
KR102422372B1 (ko) * 2014-08-29 2022-07-19 삼성전자 주식회사 생체 정보와 상황 정보를 이용한 인증 방법 및 장치
US10127375B2 (en) * 2015-03-07 2018-11-13 Protegrity Corporation Enforcing trusted application settings for shared code libraries
US10560427B2 (en) * 2015-09-29 2020-02-11 Verisign, Inc. Domain name operation verification code generation and/or verification
US10511570B2 (en) 2016-08-30 2019-12-17 Verisign, Inc. Systems, devices, and methods for locality-based domain name registry operation verification

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000043357A (ko) * 1998-12-24 2000-07-15 구자홍 복수의 마스터 키의 생성 및 이를 이용한 스마트카드 인증방법
KR20040015703A (ko) * 2001-08-13 2004-02-19 퀄컴 인코포레이티드 사용허가를 이용한 장치자원의 애플리케이션으로의 할당
KR20090094362A (ko) * 2006-12-05 2009-09-04 콸콤 인코포레이티드 모바일 운영 환경을 위한 안전한 애플리케이션 간 통신 제공
KR20100126476A (ko) * 2008-03-04 2010-12-01 애플 인크. 보안 동작 환경에서의 소프트웨어 개발자들에 대한 코드 자격들의 관리

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3977549B2 (ja) * 1999-04-30 2007-09-19 株式会社東芝 コンテンツ管理方法、コンテンツ利用管理システム、コンテンツ利用管理装置及び再生装置
JP4300832B2 (ja) * 2003-03-14 2009-07-22 ソニー株式会社 データ処理装置、その方法およびそのプログラム
EP1667356A4 (en) * 2003-09-19 2011-09-14 Sony Corp TRANSMISSION APPARATUS, RECEPTION APPARATUS, AND DATA TRANSMISSION SYSTEM
US7590845B2 (en) * 2003-12-22 2009-09-15 Lenovo Singapore Pte. Ltd. Key cache management through multiple localities
TW200629855A (en) * 2004-09-21 2006-08-16 Matsushita Electric Ind Co Ltd Confidential information processing method, confidential information processing device, and contents data reproducing device
EP2023248B1 (en) * 2006-04-24 2018-10-24 Panasonic Intellectual Property Management Co., Ltd. Data processing device, method, program, integrated circuit, and program generating device
US8032764B2 (en) * 2006-11-14 2011-10-04 Texas Instruments Incorporated Electronic devices, information products, processes of manufacture and apparatus for enabling code decryption in a secure mode using decryption wrappers and key programming applications, and other structures
JP5365072B2 (ja) * 2007-12-11 2013-12-11 ソニー株式会社 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法およびプログラム
JP5279379B2 (ja) * 2008-07-16 2013-09-04 株式会社セフティーアングル 認証システム及び認証方法
KR101252549B1 (ko) * 2008-11-21 2013-04-08 한국전자통신연구원 보안 도메인 환경에서의 암/복호화 프로그램 및 대칭키의 안전 배포 방법 및 이를 위한 데이터 분할 및 주입 장치
GB2471282B (en) * 2009-06-22 2015-02-18 Barclays Bank Plc Method and system for provision of cryptographic services
KR101012872B1 (ko) * 2009-09-16 2011-02-08 주식회사 팬택 플랫폼 보안 장치 및 방법
JP5644194B2 (ja) * 2010-06-10 2014-12-24 株式会社リコー 情報保護装置及び情報保護プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000043357A (ko) * 1998-12-24 2000-07-15 구자홍 복수의 마스터 키의 생성 및 이를 이용한 스마트카드 인증방법
KR20040015703A (ko) * 2001-08-13 2004-02-19 퀄컴 인코포레이티드 사용허가를 이용한 장치자원의 애플리케이션으로의 할당
KR20090094362A (ko) * 2006-12-05 2009-09-04 콸콤 인코포레이티드 모바일 운영 환경을 위한 안전한 애플리케이션 간 통신 제공
KR20100126476A (ko) * 2008-03-04 2010-12-01 애플 인크. 보안 동작 환경에서의 소프트웨어 개발자들에 대한 코드 자격들의 관리

Also Published As

Publication number Publication date
US9015826B2 (en) 2015-04-21
US20120204255A1 (en) 2012-08-09
KR20120090588A (ko) 2012-08-17

Similar Documents

Publication Publication Date Title
KR101012872B1 (ko) 플랫폼 보안 장치 및 방법
KR101250661B1 (ko) 모바일 플랫폼 보안 장치 및 방법
US8769305B2 (en) Secure execution of unsecured apps on a device
RU2295753C2 (ru) Безопасное распределение и выполнение приложений в беспроводной среде
CN103827881B (zh) 用于设备操作系统中的动态平台安全的方法和系统
US20130055335A1 (en) Security enhancement methods and systems
JP4727278B2 (ja) アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム
US8566937B2 (en) Information processing apparatus and method for preventing unauthorized cooperation of applications
US20140250511A1 (en) Secure single sign-on for a group of wrapped applications on a computing device and runtime credential sharing
US9292680B2 (en) Mobile terminal detection method and mobile terminal
JP4417952B2 (ja) デバイスにおいてテストを行う方法とシステム、およびデバイス
KR20140074252A (ko) 디바이스 상의 보안되지 않은 앱들의 보안 실행
JP2012533128A (ja) セキュア仮想マシンを提供するためのシステムおよび方法
CN108763951B (zh) 一种数据的保护方法及装置
JP2007535015A (ja) プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法
JP5631940B2 (ja) 情報処理装置、方法、プログラム
JP4647392B2 (ja) デバイス制御装置、デバイス制御方法およびプログラム
CN107466031A (zh) 一种保护数据的方法及终端
Hwang et al. Bittersweet adb: Attacks and defenses
KR101498820B1 (ko) 안드로이드 환경에서의 어플리케이션 리패키징 탐지 방법
KR100660641B1 (ko) 휴대 단말기의 부팅 보안 방법 및 그 휴대 단말기
CN105243311B (zh) 一种指纹信息的安全调用方法、装置及移动终端
CN108171063A (zh) 访问安全元件的方法、终端及计算机可读存储介质
Jain Android security: Permission based attacks
Msgna et al. Secure application execution in mobile devices

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160302

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170918

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200302

Year of fee payment: 8