KR101420383B1 - 모바일 어플리케이션의 보안 접속 관리 방법 - Google Patents

모바일 어플리케이션의 보안 접속 관리 방법 Download PDF

Info

Publication number
KR101420383B1
KR101420383B1 KR1020120114957A KR20120114957A KR101420383B1 KR 101420383 B1 KR101420383 B1 KR 101420383B1 KR 1020120114957 A KR1020120114957 A KR 1020120114957A KR 20120114957 A KR20120114957 A KR 20120114957A KR 101420383 B1 KR101420383 B1 KR 101420383B1
Authority
KR
South Korea
Prior art keywords
application
information
communication terminal
mobile application
management server
Prior art date
Application number
KR1020120114957A
Other languages
English (en)
Other versions
KR20140048699A (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 KR1020120114957A priority Critical patent/KR101420383B1/ko
Publication of KR20140048699A publication Critical patent/KR20140048699A/ko
Application granted granted Critical
Publication of KR101420383B1 publication Critical patent/KR101420383B1/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

이동 통신 단말기의 보안 접속 방법은 보안 라이브러리가 어플리케이션의 속성 정보에 기초하여 상기 어플리케이션 관리 서버에 의해 생성된 원타임 인증 기초 정보와 상기 어플리케이션의 실행 코드에 기초하여 어플리케이션 인증 정보를 생성하고, 상기 어플리케이션 인증 정보에 기초하여 생성된 인증 확인 코드에 따라 서비스 제공 서버와의 접속을 제어할 수 있다.

Description

모바일 어플리케이션의 보안 접속 관리 방법{METHOD FOR MANAGING SECURE ACCESS OF MOBILE APPLICATION}
본 발명의 개념에 따른 실시 예는 모바일 어플리케이션의 보안 접속 관리 방법에 관한 것으로, 특히 상기 어플리케이션 관리 서버로부터 1회성으로 제공되는 원타임 인증 기초 정보와 모바일 어플리케이션의 실행 코드를 기초로 원타임(one time) 인증 정보를 생성하고, 생성된 원타임 인증 정보를 이용하여 상기 모바일 어플리케이션의 접속을 관리하는 방법에 관한 것이다.
라이브러리(library)는 다른 프로그램들(programs)과 링크(link)되기 위하여 존재하는 하나 이상의 서브루틴(subroutine) 또는 함수들이 저장된 파일들의 모음을 말한다.
상기 라이브러리는 목적코드(object code) 형태로 구현될 수 있다.
암호화의 일종인 해싱(hashing)은 하나의 문자열을 상기 문자열을 상징하는 더 짧은 길이의 해시 키로 변환하는 것이다. 상기 해싱은 데이터의 검색 속도를 향상시키기 위해서 사용되거나 전자 서명의 암복호화에 사용될 수 있다.
본 발명이 이루고자 하는 기술적인 과제는 어플리케이션 관리 서버에서 1회성으로 제공되는 원타임 인증 기초 정보와 모바일 어플리케이션의 실행 코드를 기초로 원타임 인증 정보를 생성하고, 생성된 원타임 인증 정보를 이용하여 어플리케이션을 인증함으로써, 인증 과정에서의 보안이 강화된 모바일 어플리케이션의 보안 접속 관리 방법을 제공하는 것이다.
본 발명의 실시 예에 따른 모바일 어플리케이션의 보안 접속 관리 방법은 이동 통신 단말기에 설치된 모바일 어플리케이션에 포함된 보안 라이브러리가 실행되는 단계, 상기 보안 라이브러리가 상기 모바일 어플리케이션의 속성 정보를 어플리케이션 관리 서버로 전송하는 단계, 상기 보안 라이브러리가, 상기 속성 정보에 응답하여 상기 어플리케이션 관리 서버에 의해 1회성으로 생성된 원타임 인증 기초 정보를 수신하는 단계, 상기 보안 라이브러리가 상기 원타임 인증 기초 정보와 상기 모바일 어플리케이션의 실행 코드에 기초하여 생성된 어플리케이션 인증 정보를 암호화하고, 암호화하여 생성된 원타임 인증 정보를 상기 어플리케이션 관리 서버로 전송하는 단계, 상기 보안 라이브러리가 상기 원타임 인증 정보에 기초하여 상기 어플리케이션 관리 서버에 의해 생성된 인증 확인 코드를 수신하고, 수신된 인증 확인 코드를 서비스 제공 서버로 전송하는 단계, 및 상기 어플리케이션 관리 서버로부터 전송된 인증 확인 코드와 상기 보안 라이브러리가 상기 서비스 제공 서버로 전송한 상기 인증 확인 코드가 서로 일치할 때, 상기 보안 라이브러리는 접속 허용된 상기 서비스 제공 서버에 상기 모바일 어플리케이션을 접속시키는 단계를 포함할 수 있다.
실시 예에 따라, 상기 속성 정보는, 상기 모바일 어플리케이션의 버전(version) 정보와 상기 이동 통신 단말기의 OS(operating system) 정보를 포함할 수 있다.
실시 예에 따라, 상기 원타임 인증 정보는 해시 알고리즘(hash algorithm)에 기초하여 생성될 수 있다.
실시 예에 따라, 상기 원타임 인증 기초 정보는, 랜덤 함수를 이용하여 생성될 수 있다.
실시 예에 따라, 상기 보안 라이브러리가 상기 모바일 어플리케이션에 관한 해킹을 감지하고, 감지 결과에 따라 생성된 해킹 이벤트 정보를 상기 어플리케이션 관리 서버로 전송하는 단계를 더 포함할 수 있다.
실시 예에 따라, 상기 해킹은, 상기 이동 통신 단말기의 화면의 캡쳐(capture), 상기 이동 통신 단말기와 외부 장치의 접속, 해킹 프로그램의 실행, 상기 이동 통신 단말기의 OS(operating system)의 변조, 상기 이동 통신 단말기의 Wi-Fi를 통한 무선 통신 접속, 또는 에뮬레이터(emulator)를 이용한 상기 모바일 어플리케이션의 실행을 포함할 수 있다.
실시 예에 따라, 상기 보안 라이브러리는, 상기 모바일 어플리케이션의 버전이 상기 어플리케이션 관리 서버로부터 상기 서비스 제공 서버로 전송된 접속 허용 버전 리스트에 포함되어 있을 때, 상기 서비스 제공 서버에 상기 모바일 어플리케이션을 접속시킬 수 있다.
본 발명의 실시 예에 따른 모바일 어플리케이션의 보안 접속 관리 방법은 어플리케이션 관리 서버가, 이동 통신 단말기에 설치된 모바일 어플리케이션의 보안 라이브러리가 실행될 때 상기 보안 라이브러리로부터 전송된 상기 모바일 어플리케이션의 속성 정보를 수신하는 단계, 상기 어플리케이션 관리 서버가, 상기 속성 정보에 응답하여 원타임 인증 기초 정보를 1회성으로 생성하고 생성된 원타임 인증 기초 정보를 상기 보안 라이브러리로 전송하는 단계, 상기 어플리케이션 관리 서버가, 상기 원타임 인증 기초 정보와 상기 모바일 어플리케이션의 실행 코드에 기초하여 상기 보안 라이브러리에 의해 생성된 원타임 인증 정보를 상기 보안 라이브러리부터 수신하는 단계, 및 상기 어플리케이션 관리 서버가, 상기 원타임 인증 정보에 기초하여 인증 확인 코드를 생성하고, 생성된 인증 확인 코드를 상기 보안 라이브러리와 서비스 제공 서버로 전송하는 단계를 포함하며, 상기 이동 통신 단말기의 상기 보안 라이브러리가 상기 모바일 어플리케이션을 상기 서비스 제공 서버에 접속시키기 위해 상기 어플리케이션 관리 서버로부터 전송된 상기 인증 확인 코드를 상기 서비스 제공 서버로 전송하면, 상기 서비스 제공 서버는 상기 어플리케이션 관리 서버로부터 전송된 상기 인증 확인 코드를 이용하여 상기 보안 라이브러리로부터 전송된 상기 인증 확인 코드를 인증할 수 있다.
실시 예에 따라, 상기 속성 정보는, 상기 모바일 어플리케이션의 버전(version) 정보와 상기 이동 통신 단말기의 OS(operating system) 정보를 포함할 수 있다.
실시 예에 따라, 상기 원타임 인증 정보는 해시 알고리즘(hash algorithm)에 기초하여 생성될 수 있다.
실시 예에 따라, 상기 원타임 인증 기초 정보는, 랜덤 함수를 이용하여 생성될 수 있다.
본 발명의 실시 예에 따른 방법과 장치는 이동 통신 단말기의 외부에서 1회성으로 제공되는 원타임 인증 기초 정보를 원타임 인증 정보를 생성하는 데 이용함으로써, 이전에 사용되었던 인증 정보를 이용한 해킹을 방지하고 인증 과정에서의 보안을 강화할 수 있는 효과가 있다.
본 발명의 실시 예에 따른 방법과 장치는 상기 이동 통신 단말기에 설치된 어플리케이션에 관한 해킹을 감지하고, 감지 결과에 따라 상기 이동 통신 단말기의 서비스 제공 서버에 대한 접속을 차단할 수 있는 효과가 있다.
본 발명의 실시 예에 따른 방법과 장치는 상기 어플리케이션의 버전이 접속이 허가되지 않는 버전에 해당하는 경우, 상기 이동 통신 단말기의 상기 서비스 제공 서버에 대한 접속을 차단할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 통신 시스템을 나타낸 도면이다.
도 2는 도 1에 도시된 이동 통신 단말기의 어플리케이션의 접속을 제어하는 방법의 일 실시 예를 설명하기 위한 데이터 플로우이다.
도 3은 도 1에 도시된 이동 통신 단말기의 어플리케이션의 접속을 제어하는 방법의 다른 실시 예를 설명하기 위한 데이터 플로우이다.
도 4는 도 1에 도시된 이동 통신 단말기의 어플리케이션의 접속을 제어하는 방법의 또 다른 실시 예를 설명하기 위한 데이터 플로우이다.
도 5는 도 1에 도시된 이동 통신 단말기의 내부 구성을 나타낸 도면이다.
도 6은 도 1에 도시된 어플리케이션 관리 서버의 내부 구성을 나타낸 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에" 또는 "~에 이웃하는"등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 다수개의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 명세서에서 모듈(module)이라 함은 본 발명의 실시 예에 따른 방법을 수행하기 위한 하드웨어 또는 상기 하드웨어를 구동할 수 있는 소프트웨어의 기능적 또는 구조적 결합을 의미할 수 있다.
따라서 상기 모듈은 프로그램 코드와 상기 프로그램 코드를 수행할 수 있는 하드웨어 리소스(resource)의 논리적 단위 또는 집합을 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나 한 종류의 하드웨어를 의미하는 것은 아니다.
본 명세서에서 데이터 베이스(database(DB))라 함은, 각각의 DB에 대응되는 정보를 저장하는 소프트웨어 및 하드웨어의 기능적 구조적 결합을 의미할 수 있다. DB는 적어도 하나의 테이블로 구현될 수도 있으며, 상기 DB에 저장된 정보를 검색, 저장, 및 관리하기 위한 별도의 DBMS(Database Management System)를 더 포함할 수도 있다. 또한, 링크드 리스트(linked-list), 트리(Tree), 관계형 DB의 형태 등 다양한 방식으로 구현될 수 있으며, 상기 DB에 대응되는 정보를 저장할 수 있는 모든 데이터 저장매체 및 데이터 구조를 포함한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 통신 시스템을 나타낸 도면이다.
도 1을 참조하면, 통신 시스템(10)은 이동 통신 단말기(100), 어플리케이션 관리 서버(application management server; 200), 및 서비스 제공 서버(service providing server;300)를 포함할 수 있다.
실시 예에 따라, 이동 통신 단말기(100)는 랩탑 컴퓨터(laptop computer), 이동 전화기 (cellular phone), 스마트폰(smart phone), 또는 태블릿(tablet) PC 등으로 구현될 수 있다.
어플리케이션 관리 서버(200)는 이동 통신 단말기(100)에 설치된 어플리케이션(또는 어플리케이션 프로그램)의 보안 상태를 상기 모바일 어플리케이션에 포함된 보안 라이브러리를 통하여 감시 또는 관리할 수 있다. 상기 어플리케이션(또는 어플리케이션 프로그램)은 이동 통신 단말기(100)에서 실행되기 위한 모바일 어플리케이션(또는 모바일 어플리케이션 프로그램)을 의미할 수 있다.
실시 예에 따라, 어플리케이션 관리 서버(200)는 이동 통신 단말기(100)에 설치된 어플리케이션의 해킹 여부 등을 감시하고, 감시 결과를 서비스 제공 서버(300)에 제공할 수 있다.
서비스 제공 서버(300)는 이동 통신 단말기(100)에 설치된 어플리케이션에 관한 서비스를 제공할 수 있다. 예컨대, 상기 어플리케이션이 게임인 경우, 서비스 제공 서버(300)는 상기 어플리케이션이 실행됨에 따라 게임 진행에 필요한 정보를 서비스 제공 서버(300)에 접속된 이동 통신 단말기(100)에 제공할 수 있다.
도 2는 도 1에 도시된 이동 통신 단말기의 어플리케이션의 접속을 제어하는 방법의 일 실시 예를 설명하기 위한 데이터 플로우이다.
도 1과 도 2를 참조하면, 사용자의 입력에 따라 이동 통신 단말기에 설치된 어플리케이션에 포함된 보안 라이브러리(secure library)가 실행될 수 있다(S10).
보안 라이브러리가 실행됨에 따라, 어플리케이션의 속성 정보(INFAPP)를 추출하여 추출된 속성 정보(INFAPP)를 어플리케이션 관리 서버(200)로 전송할 수 있다(S12). 실시 예에 따라, 속성 정보(INFAPP)는 상기 어플리케이션의 버전(version) 정보 및/또는 이동 통신 단말기(100)의 OS(operating system) 정보(예컨대, OS의 종류에 관한 정보 또는 OS의 버전에 관한 정보)를 포함할 수 있다.
어플리케이션 관리 서버(200)는 이동 통신 단말기(100)로부터 전송된 속성 정보(INFAPP)에 응답하여, 원타임 인증 기초 정보(BAUTH)를 생성할 수 있다(S14).
실시 예에 따라, 어플리케이션 관리 서버(200)는 랜덤 함수(random function)를 이용하여 1회성의 원타임 인증 기초 정보(BAUTH)를 생성할 수 있다.
원타임 인증 기초 정보(BAUTH)는 어플리케이션 관리 서버(200)에 의해 생성되기 때문에, 이동 통신 단말기(100)를 해킹하더라도 얻을 수 없다. 또한, 원타임 인증 기초 정보(BAUTH)는 1회성으로 생성되기 때문에, 동일한 인증 기초 정보를 반복해서 사용함으로써 발생할 수 있는 해킹을 방지할 수 있다.
어플리케이션 관리 서버(200)는 생성된 원타임 인증 기초 정보(BAUTH)를 이동 통신망을 통하여 이동 통신 단말기(100)로 전송할 수 있다(S16).
이동 통신 단말기(100)에 설치된 어플리케이션의 보안 라이브러리는 원타임 인증 기초 정보(BAUTH)와 상기 어플리케이션의 실행 코드에 기초하여 어플리케이션 인증 정보(AAUTH)를 생성하고, 생성된 어플리케이션 인증 정보(AAUTH)를 암호화하여 원타임 인증 정보(AAUTH')를 생성할 수 있다(S18).
즉, 어플리케이션 인증 정보(AAUTH)의 기초가 되는 정보 중 일부인 원타임 인증 기초 정보(BAUTH)는 어플리케이션 관리 서버(200)로부터 전송된 정보로써 이동 통신 단말기(100)의 로컬(local) 정보만으로는 원타임 인증 기초 정보(BAUTH)를 만들어 낼 수 없다. 또한, 원타임 인증 기초 정보(BAUTH) 및 원타임 인증 정보(AUTH')는 단방향 암호화(one-way encryption)에 따라 1회성으로 생성되기 때문에 복호화가 어렵다. 따라서, 본 발명의 실시 예에 따라 보안이 강화될 수 있다.
실시 예에 따라, 상기 보안 라이브러리는 해시 알고리즘에 기초하여 상기 어플리케이션 인증 정보(AAUTH)를 암호화할 수 있다.
이동 통신 단말기(100)는 원타임 인증 정보(AAUTH')를 어플리케이션 관리 서버(200)로 전송할 수 있다(S20).
어플리케이션 관리 서버(200)는 이동 통신 단말기(100)로부터 전송된 원타임 인증 정보(AAUTH')에 기초하여, 이동 통신 단말기(100)에 설치된 어플리케이션을 인증할 수 있다(S22).
실시 예에 따라, S22 단계에는 이동 통신 단말기(100)로부터 전송된 속성 정보(INFAPP)가 이용될 수 있다.
어플리케이션 관리 서버(200)는 인증 결과에 따라 생성된 인증 확인 코드(RAUTH)를 이동 통신 단말기(100)와 서비스 제공 서버(300) 각각으로 전송할 수 있다(S24와 S26).
이동 통신 단말기(100)의 보안 라이브러리는 상기 보안 라이브러리의 인증을 위해 어플리케이션 관리 서버(200)로부터 전송된 인증 확인 코드(RAUTH)를 서비스 제공 서버(300)로 전송할 수 있다(S28).
서비스 제공 서버(300)는 어플리케이션 관리 서버(200)로부터 전송된 인증 확인 코드(RAUTH)와 이동 통신 단말기(100)로부터 전송된 인증 확인 코드(RAUTH)가 서로 일치하는지 비교하는 인증 과정을 수행할 수 있다(S30).
비교 결과 서로 일치하는 경우, 서비스 제공 서버(300)는 이동 통신 단말기(100)에 설치된 어플리케이션의 접속을 허용할 수 있다(S32). 즉, 비교 결과 서로 일치하는 경우, 이동 통신 단말기(100)에 설치된 어플리케이션은 접속 허용된 서비스 제공 서버(300)에 접속하여 서비스 제공 서버(300)에서 제공하는 서비스를 제공받을 수 있다.
도 3은 도 1에 도시된 이동 통신 단말기의 어플리케이션의 접속을 제어하는 방법의 다른 실시 예를 설명하기 위한 데이터 플로우이다.
도 2와 도 3을 참조하면, 이동 통신 단말기(100)에 설치된 어플리케이션에 포함된 보안 라이브러리는 상기 어플리케이션에 관한 해킹을 감지할 수 있다(S34).
실시 예에 따라, 상기 해킹은 이동 통신 단말기(100)의 화면의 캡쳐(capture), 이동 통신 단말기(100)와 외부 장치의 접속, 이동 통신 단말기(100)에서의 해킹 프로그램의 실행, 상기 이동 통신 단말기의 OS(operating system)의 변조, 이동 통신 단말기(100)의 Wi-Fi를 통한 무선 통신 접속, 또는 에뮬레이터(emulator)를 이용한 상기 어플리케이션의 실행 등을 포함할 수 있으며, 이에 한정되는 것은 아니다.
실시 예에 따라, 키(key) 또는 버튼을 통한 화면을 캡쳐하기 위한 입력을 보안 라이브러리에 리스팅(listing) 해 놓음으로써, 이동 통신 단말기(100)의 화면을 캡쳐하는 유형의 해킹은 감지될 수 있다.
다른 실시 예에 따라, 이동 통신 단말기(100)가 USB(universal serial bus)를 통하여 외부 기기와 접속되는 경우, USB 연결 이벤트를 통하여 상기 접속은 보안 라이브러리에 의해 감지될 수 있다.
또 다른 실시 예에 따라, 해킹 프로그램(예컨대, 리모트 툴(remote tool), 캡쳐 어플리케이션, 또는 컴퓨터 바이러스(computer virus) 등)이 실행되는 경우, 프로세스 리스트(process list)의 확인을 통하여 상기 실행은 보안 라이브러리에 의해 감지될 수 있다.
또 다른 실시 예에 따라, HDMI(high-definition multimedia interface)를 통하여 외부 기기와 접속되는 경우, HDMI 연결 이벤트를 통하여 상기 접속은 보안 라이브러리에 의해 감지될 수 있다.
또 다른 실시 예에 따라, 이동 통신 단말기의 OS가 변조(예컨대, 루팅(rooting))된 경우, 보안 라이브러리는 관리자 권한으로 어플리케이션이 실행되는지 여부에 따라 상기 변조를 감지할 수 있다.
또 다른 실시 예에 따라, 이동 통신 단말기(100)가 Wi-Fi를 통하여 무선 통신에 접속한 경우, 이동 통신 단말기(100)의 MAC(Media Access Control) 어드레스 값이 구해지는지 여부에 따라 상기 접속을 감지할 수 있다.
상기 MAC 어드레스는 네트워크(network) 장비의 하드웨어(hardware)에 연결된 식별자를 의미할 수 있다.
또 다른 실시 예에 따라, 에뮬레이터(emulator)를 이용하여 상기 어플리케이션이 실행된 경우, 상기 보안 라이브러리가 구한 이동 통신 단말기(100)의 디바이스(device) 정보가 언노운(unknown) 상태 또는 '0' 값을 갖는지 여부에 따라 상기 실행을 감지할 수 있다.
상기 보안 라이브러리는 감지 결과에 따라 해킹 이벤트 정보(INFHAC)를 생성할 수 있다. 이동 통신 단말기(100)는 생성된 해킹 이벤트 정보(INFHAC)를 어플리케이션 관리 서버(200)로 전송할 수 있다(S36).
실시 예에 따라, 해킹 이벤트 정보(INFHAC)는 상기 어플리케이션에 관한 해킹 발생 여부와 해킹이 발생한 어플리케이션의 보안 라이브러리에 관한 정보 등을 포함할 수 있다.
어플리케이션 관리 서버(200)는 이동 통신 단말기(100)로부터 전송된 해킹 이벤트 정보(INFHAC)에 응답하여 보안 라이브러리 정보(INFLIB)를 서비스 제공 서버(300)로 전송할 수 있다(S38).
보안 라이브러리 정보(INFLIB)는 해킹이 발생한 어플리케이션의 보안 라이브러리에 관한 정보를 포함할 수 있다.
서비스 제공 서버(300)는 보안 라이브러리 정보(INFLIB)에 기초하여, 서비스 제공 서버(300)에 접속된 이동 통신 단말기(100)에 설치된 어플리케이션의 보안 라이브러리가 해킹이 발생한 어플리케이션의 보안 라이브러리에 해당하는 경우, 상기 어플리케이션에 의한 접속을 차단할 수 있다(S40).
도 4는 도 1에 도시된 이동 통신 단말기의 어플리케이션의 접속을 제어하는 방법의 또 다른 실시 예를 설명하기 위한 데이터 플로우이다.
도 1, 도 2, 및 도 4를 참조하면, 어플리케이션 관리 서버(200)는 서비스 제공 서버(300)로 접속이 허용되는 어플리케이션의 버전에 관한 정보를 포함하는 접속 허용 버전 리스트(VLIST)를 전송할 수 있다(S42).
서비스 제공 서버(300)는 서비스 제공 서버(300)에 접속된 이동 통신 단말기(100)에 설치된 어플리케이션의 버전이 접속 허용 버전 리스트(VLIST)에 포함되어 있는지 버전을 비교할 수 있다(S44).
비교 결과에 따라, 상기 어플리케이션의 버전이 접속 허용된 버전이 아닌 경우, 즉 접속 허용 버전 리스트(VLIST)에 포함되어 있지 않은 경우, 서비스 제공 서버(300)는 상기 어플리케이션에 의한 접속을 차단할 수 있다(S46).
도 5는 도 1에 도시된 이동 통신 단말기의 내부 구성을 나타낸 도면이다.
도 1 내지 도 5를 참조하면, 이동 통신 단말기(100)에 설치된 어플리케이션(110)은 보안 라이브러리(120)를 포함할 수 있다. 어플리케이션(100)은 이동 통신 단말기(100)에서 실행될 수 있는 모바일 어플리케이션일 수 있다.
실시 예에 따라, 이동 통신 단말기(100)는 통신 모듈(128)을 포함할 수 있다.
보안 라이브러리(120)는 앱 속성 정보 추출 모듈(122), 원타임 인증 정보 생성 모듈(124), 및 해킹 감지 모듈(126)을 포함할 수 있다.
실시 예에 따라, 보안 라이브러리(120)는 어플리케이션(110)이 실행됨에 따라 최우선적으로 실행될 수 있다.
앱 속성 정보 추출 모듈(122)은 어플리케이션(110)의 속성 정보(INFAPP), 예컨대 상기 어플리케이션의 버전(version) 정보 및/또는 이동 통신 단말기(100)의 OS(operating system) 정보(예컨대, OS의 종류에 관한 정보 또는 OS의 버전에 관한 정보)를 추출하여 추출된 속성 정보(INFAPP)를 통신 모듈(128)을 통하여 어플리케이션 관리 서버(200)로 전송할 수 있다.
원타임 인증 정보 생성 모듈(124)은 어플리케이션(110)의 실행 코드와 어플리케이션 관리 서버(200)로부터 전송된 원타임 인증 기초 정보(BAUTH)에 기초하여 어플리케이션 인증 정보(AAUTH)를 생성하고 생성된 어플리케이션 인증 정보(도 2 내지 도 4의 AAUTH)를 암호화하여 원타임 인증 정보(AAUTH')를 생성할 수 있다. 원타임 인증 정보 생성 모듈(124)은 생성된 원타임 인증 정보(AAUTH')를 통신 모듈(128)을 통하여 어플리케이션 관리 서버(200)로 전송할 수 있다.
실시 예에 따라, 어플리케이션 인증 정보 생성 모듈(124)은 암호화 모듈을 포함할 수 있다.
해킹 감지 모듈(126)은 어플리케이션(110)에 관련된 해킹을 감지하고, 감지 결과에 따라 해킹 이벤트 정보(INFHAC)를 생성할 수 있다.
해킹 감지 모듈(126)은 생성된 해킹 이벤트 정보(INFHAC)를 통신 모듈(128)을 통하여 어플리케이션 관리 서버(200)로 전송할 수 있다.
도 6은 도 1에 도시된 어플리케이션 관리 서버의 내부 구성을 나타낸 도면이다.
도 1 내지 도 6을 참조하면, 어플리케이션 관리 서버(200)는 데이터베이스(database(DB);210), 원타임 인증 기초 정보 생성 모듈(220), 인증 모듈(230), 해킹 확인 모듈(240), 및 통신 모듈(250)을 포함할 수 있다.
DB(210)는 어플리케이션 관리 서버(200)의 각 구성(220, 230, 또는 240)이 동작하는데 필요한 정보를 저장할 수 있다.
DB(210)는 서비스 제공 서버(300)로 접속이 허용되는 어플리케이션의 버전에 관한 정보를 포함하는 접속 허용 버전 리스트(VLIST)를 통신 모듈(250)을 통하여 서비스 제공 서버(300)로 전송할 수 있다.
실시 예에 따라, DB(210)에 저장된 접속 허용 버전 리스트(VLIST)는 유선 또는 무선의 통신 네트워크, 예컨대 통신 모듈(250)을 통하여 업데이트(update) 될 수 있다.
원타임 인증 기초 정보 생성 모듈(220)은 이동 통신 단말기(100)로부터 전송된 속성 정보(INFAPP)에 응답하여 원타임 인증 기초 정보(BAUTH)를 생성할 수 있다.
실시 예에 따라, 원타임 인증 기초 정보 생성 모듈(220)은 이동 통신 단말기(100)로부터 전송된 속성 정보(INFAPP)를 DB(210)에 저장할 수 있다.
인증 모듈(230)은 이동 통신 단말기(100)로부터 전송된 원타임 인증 정보(AAUTH')에 기초하여, 어플리케이션(110)를 인증할 수 있다.
실시 예에 따라, 인증 모듈(230)은 어플리케이션(110)를 인증할 때, 속성 정보(INFAPP)를 이용할 수 있다.
인증 모듈(230)은 인증 결과에 따라 인증 확인 코드(RAUTH)를 생성하고, 생성된 인증 확인 코드(RAUTH)를 통신 모듈(250)을 통하여 이동 통신 단말기(100)와 서비스 제공 서버(300) 각각으로 전송할 수 있다.
해킹 확인 모듈(240)은 이동 통신 단말기(100)로부터 전송된 해킹 이벤트 정보(INFHAC)에 응답하여, 보안 라이브러리 정보(INFLIB)를 통신 모듈(250)을 통하여 서비스 제공 서버(300)로 전송할 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 통신 시스템
100 : 이동 통신 단말기
110 : 어플리케이션(application)
120 : 보안 라이브러리(secure library)
122, 124, 126, 220, 230, 240 : 모듈(module)
200 : 어플리케이션 관리 서버
210 : 데이터 베이스
300 : 서비스 제공 서버

Claims (11)

  1. 이동 통신 단말기에 설치된 모바일 어플리케이션이 실행될 때, 상기 모바일 어플리케이션에 포함된 보안 라이브러리가 실행되는 단계;
    상기 보안 라이브러리가 상기 모바일 어플리케이션의 속성 정보를 어플리케이션 관리 서버로 전송하는 단계;
    상기 보안 라이브러리가, 상기 속성 정보에 응답하여 상기 어플리케이션 관리 서버에 의해 1회성으로 생성된 원타임 인증 기초 정보를 수신하는 단계;
    상기 보안 라이브러리가 상기 원타임 인증 기초 정보와 상기 모바일 어플리케이션의 실행 코드에 기초하여 생성된 어플리케이션 인증 정보를 암호화하고, 암호화하여 생성된 원타임 인증 정보를 상기 어플리케이션 관리 서버로 전송하는 단계;
    상기 보안 라이브러리가 상기 원타임 인증 정보에 기초하여 상기 어플리케이션 관리 서버에 의해 생성된 인증 확인 코드를 수신하고, 수신된 인증 확인 코드를 서비스 제공 서버로 전송하는 단계; 및
    상기 어플리케이션 관리 서버로부터 전송된 인증 확인 코드와 상기 보안 라이브러리가 상기 서비스 제공 서버로 전송한 상기 인증 확인 코드가 서로 일치할 때, 상기 보안 라이브러리는 접속 허용된 상기 서비스 제공 서버에 상기 모바일 어플리케이션을 접속시키는 단계를 포함하는 모바일 어플리케이션의 보안 접속 관리 방법.
  2. 제1항에 있어서, 상기 속성 정보는,
    상기 모바일 어플리케이션의 버전(version) 정보와 상기 이동 통신 단말기의 OS(operating system) 정보를 포함하는 모바일 어플리케이션의 보안 접속 관리 방법.
  3. 제1항에 있어서,
    상기 원타임 인증 정보는 해시 알고리즘(hash algorithm)에 기초하여 생성되는 모바일 어플리케이션의 보안 접속 관리 방법.
  4. 제1항에 있어서, 상기 원타임 인증 기초 정보는,
    랜덤 함수를 이용하여 생성되는 모바일 어플리케이션의 보안 접속 관리 방법.
  5. 제1항에 있어서,
    상기 보안 라이브러리가 상기 모바일 어플리케이션에 관한 해킹을 감지하고, 감지 결과에 따라 생성된 해킹 이벤트 정보를 상기 어플리케이션 관리 서버로 전송하는 단계를 더 포함하는 모바일 어플리케이션의 보안 접속 관리 방법.
  6. 제5항에 있어서, 상기 해킹은,
    상기 이동 통신 단말기의 화면의 캡쳐(capture), 상기 이동 통신 단말기와 외부 장치의 접속, 해킹 프로그램의 실행, 상기 이동 통신 단말기의 OS(operating system)의 변조, 상기 이동 통신 단말기의 Wi-Fi를 통한 무선 통신 접속, 또는 에뮬레이터(emulator)를 이용한 상기 모바일 어플리케이션의 실행을 포함하는 모바일 어플리케이션의 보안 접속 관리 방법.
  7. 제1항에 있어서,
    상기 보안 라이브러리는, 상기 모바일 어플리케이션의 버전이 상기 어플리케이션 관리 서버로부터 상기 서비스 제공 서버로 전송된 접속 허용 버전 리스트에 포함되어 있을 때, 상기 서비스 제공 서버에 상기 모바일 어플리케이션을 접속시키는 모바일 어플리케이션의 보안 접속 관리 방법.
  8. 어플리케이션 관리 서버가, 이동 통신 단말기에 설치된 모바일 어플리케이션이 실행되고, 상기 모바일 어플리케이션의 보안 라이브러리가 실행될 때 상기 보안 라이브러리로부터 전송된 상기 모바일 어플리케이션의 속성 정보를 수신하는 단계;
    상기 어플리케이션 관리 서버가, 상기 속성 정보에 응답하여 원타임 인증 기초 정보를 1회성으로 생성하고 생성된 원타임 인증 기초 정보를 상기 보안 라이브러리로 전송하는 단계;
    상기 어플리케이션 관리 서버가, 상기 원타임 인증 기초 정보와 상기 모바일 어플리케이션의 실행 코드에 기초하여 상기 보안 라이브러리에 의해 생성된 원타임 인증 정보를 상기 보안 라이브러리로부터 수신하는 단계; 및
    상기 어플리케이션 관리 서버가, 상기 원타임 인증 정보에 기초하여 인증 확인 코드를 생성하고, 생성된 인증 확인 코드를 상기 보안 라이브러리와 서비스 제공 서버로 전송하는 단계를 포함하며,
    상기 이동 통신 단말기의 상기 보안 라이브러리가 상기 모바일 어플리케이션을 상기 서비스 제공 서버에 접속시키기 위해 상기 어플리케이션 관리 서버로부터 전송된 상기 인증 확인 코드를 상기 서비스 제공 서버로 전송하면, 상기 서비스 제공 서버는 상기 어플리케이션 관리 서버로부터 전송된 상기 인증 확인 코드를 이용하여 상기 보안 라이브러리로부터 전송된 상기 인증 확인 코드를 인증하는 모바일 어플리케이션의 보안 접속 관리 방법.
  9. 제8항에 있어서, 상기 속성 정보는,
    상기 모바일 어플리케이션의 버전(version) 정보와 상기 이동 통신 단말기의 OS(operating system) 정보를 포함하는 모바일 어플리케이션의 보안 접속 관리 방법.
  10. 제8항에 있어서,
    상기 원타임 인증 정보는 해시 알고리즘(hash algorithm)에 기초하여 생성되는 모바일 어플리케이션의 보안 접속 관리 방법.
  11. 제8항에 있어서, 상기 원타임 인증 기초 정보는,
    랜덤 함수를 이용하여 생성되는 모바일 어플리케이션의 보안 접속 관리 방법.
KR1020120114957A 2012-10-16 2012-10-16 모바일 어플리케이션의 보안 접속 관리 방법 KR101420383B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120114957A KR101420383B1 (ko) 2012-10-16 2012-10-16 모바일 어플리케이션의 보안 접속 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120114957A KR101420383B1 (ko) 2012-10-16 2012-10-16 모바일 어플리케이션의 보안 접속 관리 방법

Publications (2)

Publication Number Publication Date
KR20140048699A KR20140048699A (ko) 2014-04-24
KR101420383B1 true KR101420383B1 (ko) 2014-07-16

Family

ID=50654664

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120114957A KR101420383B1 (ko) 2012-10-16 2012-10-16 모바일 어플리케이션의 보안 접속 관리 방법

Country Status (1)

Country Link
KR (1) KR101420383B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080004002A (ko) * 2006-07-04 2008-01-09 주식회사 알티캐스트 1회용 비밀번호를 이용한 사용자 시청권한 인증 시스템 및그 방법
JP2008512764A (ja) * 2005-04-15 2008-04-24 ケーティーフリーテル・カンパニー・リミテッド 移動通信端末機用コンテンツ提供方法
KR20080087917A (ko) * 2007-01-04 2008-10-02 (주)에이티솔루션 일회용 비밀번호 생성방법과 키 발급 시스템 및 일회용비밀번호 인증 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008512764A (ja) * 2005-04-15 2008-04-24 ケーティーフリーテル・カンパニー・リミテッド 移動通信端末機用コンテンツ提供方法
KR20080004002A (ko) * 2006-07-04 2008-01-09 주식회사 알티캐스트 1회용 비밀번호를 이용한 사용자 시청권한 인증 시스템 및그 방법
KR20080087917A (ko) * 2007-01-04 2008-10-02 (주)에이티솔루션 일회용 비밀번호 생성방법과 키 발급 시스템 및 일회용비밀번호 인증 시스템

Also Published As

Publication number Publication date
KR20140048699A (ko) 2014-04-24

Similar Documents

Publication Publication Date Title
EP3029593B1 (en) System and method of limiting the operation of trusted applications in the presence of suspicious programs
US20170034189A1 (en) Remediating ransomware
US20140201843A1 (en) Systems and methods for identifying and reporting application and file vulnerabilities
KR20180120157A (ko) 데이터세트 추출 기반 패턴 매칭
US10867049B2 (en) Dynamic security module terminal device and method of operating same
US11159329B2 (en) Collaborative operating system
JP2020057412A (ja) 暗号を伴うデータセキュリティシステム
US9288054B2 (en) Method and apparatus for authenticating and managing application using trusted platform module
US11695650B2 (en) Secure count in cloud computing networks
US20180048471A1 (en) System and storage medium
US10103948B1 (en) Computing devices for sending and receiving configuration information
US12088583B2 (en) Permissions for backup-related operations
US20170201528A1 (en) Method for providing trusted service based on secure area and apparatus using the same
Zhang et al. Kingfisher: Unveiling insecurely used credentials in iot-to-mobile communications
CN112398787B (zh) 邮箱登录验证的方法、装置、计算机设备及存储介质
CN104955043A (zh) 一种智能终端安全防护系统
KR101630462B1 (ko) 키보드 보안 장치 및 방법
KR101153115B1 (ko) 해킹 툴을 탐지하는 방법, 서버 및 단말기
KR101875863B1 (ko) 암호화된 해시값에 기반하여 클라우드 접속 허가를 결정하는 클라우드 시스템, 및 클라우드 접속 방법과 클라우드 단말에 설치된 소켓 데몬 장치
KR101420383B1 (ko) 모바일 어플리케이션의 보안 접속 관리 방법
KR102332037B1 (ko) Scada 제어망에서 강화된 운용자 인증 시스템 및 방법
KR101286767B1 (ko) 동적 해싱을 이용한 애플리케이션 프로그램 검증 방법
KR101636802B1 (ko) 이동식 메모리에 의한 보안 사고를 방지하기 위한 파일 관리 방법 및 시스템
CN106485104A (zh) 终端安全策略的自动修复方法和装置、系统
Dhondge Lifecycle IoT Security for Engineers

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
FPAY Annual fee payment

Payment date: 20180531

Year of fee payment: 5