KR101173583B1 - 모바일단말기에 설치된 어플리케이션 데이터 보안방법 - Google Patents

모바일단말기에 설치된 어플리케이션 데이터 보안방법 Download PDF

Info

Publication number
KR101173583B1
KR101173583B1 KR1020120017716A KR20120017716A KR101173583B1 KR 101173583 B1 KR101173583 B1 KR 101173583B1 KR 1020120017716 A KR1020120017716 A KR 1020120017716A KR 20120017716 A KR20120017716 A KR 20120017716A KR 101173583 B1 KR101173583 B1 KR 101173583B1
Authority
KR
South Korea
Prior art keywords
module
data
mobile terminal
application
plain text
Prior art date
Application number
KR1020120017716A
Other languages
English (en)
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 KR1020120017716A priority Critical patent/KR101173583B1/ko
Application granted granted Critical
Publication of KR101173583B1 publication Critical patent/KR101173583B1/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/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30178Runtime instruction translation, e.g. macros of compressed or encrypted instructions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 모바일단말기에 설치되어 TCP/IP통신을 하는 목적지 서버에 접속하는 어플리케이션의 평문데이터를 포트포워딩(Port Forwarding) 방식으로 받아 VPN(Vertual Private Network, 가상사설망)터널을 생성하고 암호화 및 복호화하는 프록시(Proxy)용 기능을 수행하는 보안방법과 그 보안용 어플리케이션에 관한 것으로, (a) 사용자에 의하여 모바일단말기에 탑재된 TCP/IP통신용 어플리케이션의 선택으로 목적지 서버의 접속을 위한 URL이 입력되면 보안용 어플리케이션의 UI모듈은 입력된 접속 URL과 PORT 정보를 생성모듈로 전송하는 단계; (b) 상기 생성모듈은 VPN터널, 암복호화 소켓 및 통신인증서를 생성한 후에 UI모듈로 암복호화 소켓을 전송하고, UI모듈은 사용자 인증정보를 커스터마이징모듈로 전송하는 단계; (c) 상기 커스터마이징모듈은 복수의 사용자 식별 및 인증방법의 지원과 사용자 인증 및 식별정보를 목적지 서버로 전송하고, 목적지 서버는 수신된 사용자 인증 및 식별정보와 저장된 정보와 비교처리 후에 사용자 식별 및 인증 성공 정보를 UI모듈로 전송하는 단계; (d) 상기 UI모듈은 포트포워딩 방식의 항목을 설정하는 UI를 관리모듈로 호출하면 관리모듈은 포트포워딩 방식을 적용할 항목을 설정한 후에 원하는 항목을 선택하여 실행하는 단계; (e) 상기 관리모듈은 실행 항목에 설정된 로컬 포트정보를 수신모듈로 전송하고, 수신모듈은 파라미터로 넘어온 로컬 포트정보를 가지고 평문데이터를 받을 수 있는 서버소켓을 생성하여 쓰레드 형태로 대기하는 단계; (f) 상기 수신모듈이 평문데이터의 수신을 대기하는 동안에 사용자가 모바일단말기에 설치된 TCP/IP통신용 어플리케이션의 평문데이터를 전송하면, 수신모듈은 평문데이터를 암호화전송 쓰레드모듈로 전송하는 단계; (g) 상기 암호화전송 쓰레드모듈은 평문으로 입력된 데이터를 VPN터널을 생성하여 암호화한 후에 암호화된 데이터를 목적지 서버로 전송하고, 목적지 서버는 암호화된 데이터를 복호화하여 데이터를 처리한 후에 요청에 대한 응답데이터를 암호화하여 복호화전송 쓰레드모듈로 전송하는 단계; 및 (h) 상기 복호화전송 쓰레드모듈은 VPN터널을 통하여 입력된 암호화된 응답데이터를 복호화하여 복호화된 평문으로 변환된 데이터를 수신모듈로 전송하고, 수신모듈은 모바일단말기에 설치된 TCP/IP통신용 어플리케이션의 요청에 대한 응답값을 평문데이터로 전송하는 단계를 포함하여 이루어진 것이다. 본 발명은 모바일단말기에 보안용 어플리케이션으로 설치되어 TCP/IP통신을 이용하여 목적지 서버에 접속하는 모든 종류의 어플리케이션에 구애받지 않고 어플리케이션의 평문데이터를 포트포워딩 방식으로 받아 VPN터널을 생성하여 암호화하고 복호화하는 프록시 기능을 수행함으로서, 모바일을 통하여 송수신되는 데이터의 보안성을 강화하여 모바일 통신의 안전성과 신뢰성을 향상시킨 것이다.

Description

모바일단말기에 설치된 어플리케이션 데이터 보안방법{Method for Security Application Data in Mobile Terminal}
본 발명은 모바일단말기에 설치된 어플리케이션의 송신 데이터를 안전하게 보호하기 위한 방법에 관한 것으로, 모바일단말기에 설치되어 TCP(Transmission Control Protocol, 전송제어 프로토콜)/IP(Internet Protocol, 인터넷 프로토콜)통신을 하는 목적지 서버에 접속하는 어플리케이션의 평문데이터를 포트포워딩(Port Forwarding) 방식으로 받아 VPN(Vertual Private Network, 가상사설망)터널을 생성하고 암호화 및 복호화하는 프록시(Proxy)용 기능을 수행하는 보안방법에 관한 것이다.
모바일(Mobile, 무선이동통신)은 정보통신에서 이동성을 가진 것을 총칭하는 것으로, 휴대폰과 휴대용개인정보단말기(PDA)나 휴대용컴퓨터, 스마트폰 등과 같이 이동성을 가진 것들을 총칭한다. 손으로 들고 다니므로 가볍고 작은 것이 특징이다. 하지만 입력장치와 디스플레이 기능이 떨어지는 점과 확장성이 부족하고, 전력 공급이 원활하지 않다는 약점이 있다. 휴대폰을 인터넷에 접속하여 입출금 등의 은행 업무를 보는 모바일뱅킹, 온라인게임을 하는 모바일게임, 영화를 실시간으로 보는 모바일영화 등 다양한 서비스가 제공되고 있다. 또한 휴대폰과 PDA, 노트북컴퓨터, 태블릿컴퓨터, 스마트폰 등의 장점을 이용한 제품이 개발되고 있으며, 모바일 비즈니스와 모바일 마케팅, 모바일 전자화폐, 모바일 전자정부 등 새롭고 다양한 모바일서비스가 생겨나고 있다.
모바일단말기에는 기본적인 운용체제(안드로이드 OS, iOS)를 기반으로 하는 응용프로그램으로 어플리케이션(Application, 앱 또는 어플)은 독립형, 부분서버연동형, 서버연동형으로 나눌 수 있다. PC나 모바일단말기에서 실행되는 웹서비스는 항상 인터넷으로 연결되어 있어야 하고, 회선의 속도 차이가 달라질 수 있으며, 개인정보의 유출이 쉽고, 다양한 기능과 디자인 등의 구현이 어려운 단점이 있다. 이와 달리 어플리케이션서비스는 인터넷에 연결되어 있지 않아도 독자적인 동작이 가능하고, 속도가 빠르고 보안성이 뛰어나며, 복잡하고 다양한 기능 및 디자인의 구현이 가능한 것이다.
이와 같이 모바일단말기에는 개인에 따라 복수의 어플리케이션이 설치되어 있고, 이러한 어플리케이션의 이용 및 활용이 확대되고 있지만, 어플리케이션의 대부분 데이터가 평문으로 되어 있어 보안에 많은 취약점을 안고 있다. 이는 개인정보의 유출에 대한 보안이 절실히 요구되는 실정이다.
본 발명은 상기 실정을 해결하기 위한 것으로, 모바일단말기에 설치되어 TCP/IP통신으로 목적하는 서버에 접속하는 다양한 종류의 어플리케이션의 데이터를 보안용 어플리케이션을 통해 안전하게 보호할 수 있도록 하기 위한 것이 목적이다.
본 발명은 상기 목적을 달성하기 위하여, 모바일단말기에 설치된 어플리케이션 데이터의 보안을 위한 방법에 있어서, (a) 사용자에 의하여 모바일단말기에 탑재된 TCP/IP통신용 어플리케이션의 선택으로 목적지 서버의 접속을 위한 URL이 입력되면 보안용 어플리케이션의 UI모듈은 입력된 접속 URL과 PORT 정보를 생성모듈로 전송하는 단계; (b) 상기 생성모듈은 VPN터널, 암복호화 소켓 및 통신인증서를 생성한 후에 UI모듈로 암복호화 소켓을 전송하고, UI모듈은 사용자 인증정보를 커스터마이징모듈로 전송하는 단계; (c) 상기 커스터마이징모듈은 복수의 사용자 식별 및 인증방법의 지원과 사용자 인증 및 식별정보를 목적지 서버로 전송하고, 목적지 서버는 수신된 사용자 인증 및 식별정보와 저장된 정보와 비교처리 후에 사용자 식별 및 인증 성공 정보를 UI모듈로 전송하는 단계; (d) 상기 UI모듈은 포트포워딩 방식의 항목을 설정하는 UI를 관리모듈로 호출하면 관리모듈은 포트포워딩 방식을 적용할 항목을 설정한 후에 원하는 항목을 선택하여 실행하는 단계; (e) 상기 관리모듈은 실행 항목에 설정된 로컬 포트정보를 수신모듈로 전송하고, 수신모듈은 파라미터로 넘어온 로컬 포트정보를 가지고 평문데이터를 받을 수 있는 서버소켓을 생성하여 쓰레드 형태로 대기하는 단계; (f) 상기 수신모듈이 평문데이터의 수신을 대기하는 동안에 사용자가 모바일단말기에 설치된 TCP/IP통신용 어플리케이션의 평문데이터를 전송하면, 수신모듈은 평문데이터를 암호화전송 쓰레드모듈로 전송하는 단계; (g) 상기 암호화전송 쓰레드모듈은 평문으로 입력된 데이터를 VPN터널을 생성하여 암호화한 후에 암호화된 데이터를 목적지 서버로 전송하고, 목적지 서버는 암호화된 데이터를 복호화하여 데이터를 처리한 후에 요청에 대한 응답데이터를 암호화하여 복호화전송 쓰레드모듈로 전송하는 단계; 및 (h) 상기 복호화전송 쓰레드모듈은 VPN터널을 통하여 입력된 암호화된 응답데이터를 복호화하여 복호화된 평문으로 변환된 데이터를 수신모듈로 전송하고, 수신모듈은 모바일단말기에 설치된 TCP/IP통신용 어플리케이션의 요청에 대한 응답값을 평문데이터로 전송하는 단계를 포함하여 이루어진 것이 특징이다.
또한, 본 발명에서, 상기 단계(c)에서, 커스터마이징모듈에서 사용자 식별 및 인증을 위하여 ID/PW와 인증서 중에서 어느 하나 이상을 지원할 수 있다.
또한, 본 발명에서, 상기 단계(d) 이후에 모바일단말기에 설치된 TCP/IP통신용 어플리케이션에서 평문데이터를 암복호화 통신을 하기 위하여 포트포워딩 방식을 적용할 수 있다.
또한, 본 발명에서, 상기 단계(d)에서, 포트포워딩 방식에서 로컬포트의 설정과 목적지 서버의 IP와 포트를 설정하여 하나의 항목을 생성할 수 있다.
또한, 본 발명에서, 상기 단계(d)에서, 포트포워딩 방식을 적용함에 있어서 각 항목에 대한 모듈을 쓰레드로 관리하여 동시에 여러 개의 항목을 TCP/IP통신용 어플리케이션 다른 어플리케이션의 평문데이터를 받을 수 있도록 프록시용 서버소켓을 동시에 여러 개 생성하여 실행시킬 수 있다.
또한, 본 발명에서, 상기 단계(d)에서, 포트포워딩 방식의 실행은 각 항목에 따른 타입에 따라 GEN, FTP, WEB으로 구분하고, WEB타입인 경우에는 실행 후에 자동으로 모바일단말기에 설치된 웹브라우저를 실행하여 단계(a)에서 입력한 URL로 자동 접속이 가능하도록 하고, GEN타입 또는 FTP타입일 경우에는 단계(e)에서 동작하고자 하는 어플리케이션을 등록하여 지정한 후에 해당 어플리케이션을 자동으로 실행시킬 수 있다.
또한, 본 발명에서, 상기 단계(d)에서, 포트포워딩 방식의 실행은 각 항목에 따른 타입에 따라 GEN, FTP, WEB으로 구분하고, FTP타입인 경우에는 단계(e)의 응답쓰레드로 단계(h)에서 목적지 서버에서 응답으로 들어온 데이터가 FTP의 패시브모드(Passive Mode)인 경우에 패시브포트(Passive Port)를 계산하여 이 패시브포트로 된 데이터 채널 쓰레드를 생성하고, FTP데이터 패킷을 따로 처리할 수 있도록 하며, 목적지 서버 IP를 로컬호스트 또는 127.0.0.1로 자동 변경하는 프록시(Proxy) 형태의 기능을 적용할 수 있다.
또한, 본 발명에서, 상기 단계(e)에서 단계(d)의 실행 여부에 따라 쓰레드로 프록시용 서버소켓이 동시에 복수로 생성 및 실행되어 TCP/IP통신용 어플리케이션으로부터 평문데이터가 들어올 때 마다 또 다른 차일드 쓰레드를 생성하여 요청을 보내는 쓰레드(Request Thread)와 응답을 기다리는 쓰레드로 구분할 수 있다.
또한, 본 발명에서, 상기 단계(f)에서, 모바일단말기에 설치된 TCP/IP통신용 어플리케이션이 평문데이터를 전송하기 위하여 로컬호스트(Local Host) 또는 127.0.0.1로 포트는 상기 단계(d)에서 설정된 로컬포트 번호로 접속하는 포트포워딩 방식을 적용할 수 있다.
또한, 본 발명은, 모바일단말기에 설치된 데이터 보안용 어플리케이션에 있어서, 모바일단말기에 설치된 TCP/IP통신용 어플리케이션으로부터 사용자에 의해 접속 URL을 입력받고 사용자 인증정보를 전송하는 UI모듈; 상기 UI모듈에서 입력받은 URL을 통해 VPN터널을 생성하기 위한 소켓을 생성하고 암복호화 통신을 위한 통신인증서를 생성하는 생성모듈; 상기 UI모듈에서 수신된 사용자 인증정보로부터 사용자 식별 및 복수의 인증방법을 지원하는 커스터마이징모듈; 상기 UI모듈로부터 포트포워딩 방식의 항목을 설정하는 UI를 호출하여 해당 방식을 적용할 항목 리스트를 관리하는 관리모듈; 상기 관리모듈에서 실행항목에 설정된 로컬포트 정보를 수신하여 평문데이터를 수신할 수 있는 서버소켓을 생성하여 쓰레드형태로 대기하고, 평문으로 입력된 데이터를 전송하며, 복호화된 평문데이터를 TCP/IP통신용 어플리케이션의 요청에 대한 응답값으로 전송하는 수신모듈; 상기 수신모듈에서 입력된 평문데이터를 VPN터널의 생성 후에 암호화하여 전송하는 암호화전송 쓰레드모듈; 및 목적지 서버에서 처리되어 TCP/IP통신용 어플리케이션의 요청에 대한 응답데이터를 암호화하여 전송된 데이터를 VPN터널을 통하여 입력된 암호화된 응답데이터를 복호화하여 전송하는 복호화전송 쓰레드모듈를 포함하는 보안용 어플리케이션이 모바일단말기에 설치되고, 상기 보안용 어플리케이션은 TCP/IP통신용 어플리케이션과 목적지 서버 사이에서 평문데이터를 포트포워딩 방식으로 수신하여 VPN터널을 생성하고 암호화 및 복호화를 프록시용으로 수행하는 것이 특징이다.
본 발명은 모바일단말기에 보안용 어플리케이션으로 설치되어 TCP/IP통신을 이용하여 목적지 서버에 접속하는 모든 종류의 어플리케이션에 구애받지 않고 어플리케이션의 평문데이터를 포트포워딩 방식으로 받아 VPN터널을 생성하여 암호화하고 복호화하는 프록시 기능을 수행함으로서, 모바일을 통하여 송수신되는 데이터의 보안성을 강화하여 모바일 통신의 안전성과 신뢰성을 향상시킨 것이다.
도 1은 본 발명에 따른 모바일단말기에 보안용 어플리케이션이 설치된 개념을 나타낸 블록도이다.
도 2는 본 발명에 따른 보안용 어플리케이션을 나타낸 구성도이다.
도 3은 본 발명에 따른 모바일단말기에 설치된 어플리케이션 데이터 보안방법을 나타낸 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 모바일단말기에 설치된 데이터 보안용 어플리케이션에 관하여 상세하게 설명한다.
도 1에서, 모바일단말기(10)는 휴대성이 향상된 이동통신이 가능한 단말기로, 스마트폰이나 노트북PC, 태블릿PC 등이 포함된다.
모바일단말기(10)에는 모바일 운영체제 기반, 예로서, Android OS 또는 iOS 기반의 각종 어플리케이션이 탑재된다. 어플리케이션은 해당 마켓 등에서 유료 또는 무료로 제공되는 어플리케이션을 다운로드 받아 설치된다. 어플리케이션은 단독적으로 실행되거나 서버와 연동하여 실행되는 것으로, 본 발명에서는 서버와 연동되어 실행되는 UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)통신을 포함하는 TCP/IP통신용 어플리케이션의 송수신데이터가 안전하게 보호될 수 있도록 하는 보안용 어플리케이션을 제공한 것이다.
도 2에서, 보안용 어플리케이션(20)은 인터넷(30)을 통해 목적지 서버(40)와 데이터를 송수신하는 TCP/IP통신용 어플리케이션(15)의 실행과 더불어 실행된다. 보안용 어플리케이션(20)으로 UI(User Interface; 사용자 인터페이스)모듈(21)은 모바일단말기(10)에 설치된 TCP/IP통신용 어플리케이션(15)으로부터 사용자에 의해 접속 URL(IP)을 입력받고 사용자 인증정보를 전송하는 것이다.
생성모듈(22)은 UI모듈(21)에서 입력받은 URL을 통해 VPN터널을 생성하기 위한 소켓을 생성하고 암복호화 통신을 위한 통신인증서를 생성하는 것이다. 또한, 커스터마이징모듈(23)은 UI모듈(21)에서 수신된 사용자 인증정보로부터 사용자 식별 및 복수의 인증방법을 지원하는 것이고, 관리모듈(24)은 UI모듈(21)로부터 포트포워딩 방식의 항목을 설정하는 UI를 호출하여 해당 방식을 적용할 항목 리스트를 관리하는 것이다. 그리고 수신모듈(25)은 관리모듈(24)에서 실행항목에 설정된 로컬포트 정보를 수신하여 평문데이터를 수신할 수 있는 서버소켓을 생성하여 쓰레드형태로 대기하고, 평문으로 입력된 데이터를 전송하며, 복호화된 평문데이터를 TCP/IP통신용 어플리케이션(15)의 요청에 대한 응답값으로 전송하는 것이다. 암호화전송 쓰레드모듈(26)은 상기 수신모듈에서 입력된 평문데이터를 VPN터널의 생성 후에 암호화하여 전송하는 것이고, 복호화전송 쓰레드모듈(27)은 목적지 서버(40)에서 처리되어 TCP/IP통신용 어플리케이션(15)의 요청에 대한 응답데이터를 암호화하여 전송된 데이터를 VPN터널을 통하여 입력된 암호화된 응답데이터를 복호화하여 전송하는 것이다. 목적지 서버(40)에는 사용자 인증 및 식별 처리를 위한 구성이나 프로그램이 포함되어 있다.
모바일단말기(10)에 탑재된 보안용 어플리케이션(20)은 TCP/IP통신용 어플리케이션(15)과 목적지 서버(40) 사이에서 평문데이터를 포트포워딩 방식으로 수신하여 VPN터널을 생성하고 암호화 및 복호화를 프록시용으로 수행한다.
이와 같이 이루어진 본 발명에 따른 모바일단말기에 설치된 어플리케이션 데이터 보안방법에 관하여 도 3의 흐름도를 참조하여 설명한다.
사용자에 의하여 모바일단말기(10)에 탑재된 TCP/IP통신용 어플리케이션(15)의 선택으로 목적지 서버(40)의 접속을 위한 URL이 입력되면(S1), 보안용 어플리케이션(20)의 UI모듈(21)은 입력된 접속 URL 정보와 PORT 정보를 생성모듈(22)로 전송한다(S2). 생성모듈(22)은 VPN터널을 생성하고, 암복호화 소켓을 생성하며, 통신인증서를 각각 생성한 후에 UI모듈(21)로 암복호화 소켓을 전송하면(S3), UI모듈(21)은 사용자 인증정보를 커스터마이징모듈(23)로 전송한다(S4).
그리고 커스터마이징모듈(23)은 복수의 사용자 식별 및 인증방법의 지원과 사용자 인증 및 식별정보를 목적지 서버(40)로 전송하고(S5), 목적지 서버(40)는 수신된 사용자 인증 및 식별정보와 저장된 정보와 비교처리 후에 사용자 식별 및 인증 성공 정보를 UI모듈(21)로 전송한다(S6). 이는 사이트 커스터마이징에 의한 사용자 식별과 인증이 필요한 경우에 커스터마이징모듈(23)에서 사용자 식별 및 인증을 위한 절차를 거치게 된다. 사용자 식별 및 인증을 위하여 4가지 타입으로 분류되고, 이는 각각 UI 화면이 달라지며, 사용자는 원하는 타입을 선택할 수 있다. 제1타입은 ID와 PW 입력방식으로 사용자의 아이디와 패스워드로 사용자 식별 및 인증 절차를 받게 되는 것이고, 제2타입은 인증서를 통해 사용자 식별 및 인증 절차를 받게 되는데 여기에 사용되는 인증서는 목적지 서버에서 자체적으로 발급하는 사설인증서와 일반적으로 사용자가 사용하는 공인인증서가 있다. 제3타입은 ID/PW 또는 인증서로 인증하는 방식으로 사용자가 둘 중에 어느 한 가지를 임의로 선택하여 사용자 식별 및 인증 절차를 받게 되는 것이고, 제4타입은 ID/PW 및 인증서서 인증하는 방식으로 사용자는 ID/PW 인증을 거친 후에 성공했을 때에 인증서로 한 번 더 사용자 식별 및 인증 절차를 받을 수 있도록 하는 것이다.
상기 목적지 서버(40)로부터 사용자 식별 및 인증이 성공하면, UI모듈(21)은 포트포워딩 방식의 항목을 설정하는 UI를 관리모듈(24)로 호출하고(S7), 관리모듈(24)은 포트포워딩(Port Forwarding) 방식을 적용할 항목을 설정한 후에 원하는 항목을 선택하여 실행한다(S8). 즉 사용자는 포트포워딩 방식의 항목을 설정하는 UI 화면으로 이동하여 각 항목을 설정할 수 있다. 각 항목은 로컬포트와 목적지 IP, 목적지 PORT로 구성된다. 나중에 TCP/IP통신용 어플리케이션에서 설정한 로컬포트로 평문데이터를 전송하면 그 데이터가 여기에 설정한 목적지 IP, 목적지 PORT로 암복호화되어 전송된다. 그리고 각 항목마다 타입을 지정할 수 있으며 각 타입에 따라 실행 동작이 달라진다.
이렇게 포트포워딩 방식의 항목을 여러 개 설정하여 관리할 수 있고, 이와 동시에 여러 개의 항목을 실행시킬 수 있도록 쓰레드로 관리된다. 이 쓰레드가 실제 모바일단말기(10)에 탑재된 TCP/IP통신용 어플리케이션의 평문데이터를 받아들인다.
각 타입에는 일반적인 GEN타입과 웹브라우저를 통해 인터넷을 사용하는 WEB타입, 그리고 파일을 전송하는 FTP타입으로 구분된다. GEN타입은 일반적으로 사용하는 어플리케이션이 쓰는 타입으로 이 항목을 실행시킨 후에 원하는 어플리케이션을 실행시켜 평문데이터를 해당 로컬포트로 전송하면 된다. 그러면 자동으로 데이터가 암복호화 되어 전송된다. WEB타입은 말 그대로 웹브라우저를 통해 인터넷을 사용하는 타입이다. 이 타입의 항목을 실행시키면 목적지 PORT의 정보를 보고 모바일단말기(10)에 설치된 웹브라우저를 통해 목적지 서버(40)에 자동으로 데이터를 전송하게 된다. 예를 들어, 목적지 PORT가 80일 경우에는 http로 목적지에 접속하게 되고, 목적지 PORT가 443일 경우에는 https로 자동으로 접속하게 된다. FTP타입일 경우에는 목적지 FTP서버에 접속 후에 응답으로 들어오는 데이터를 보고 패시브모드(Passive Mode)인 경우 패시브포트(Passive Port)를 계산하고, 이 패시브포트로 이루어진 데이터채널 쓰레드를 생성하여 FTP데이터 패킷을 따로 처리할 수 있도록 하며, 목적지 서버의 아이피를 로컬호스트(Local Host) 또는 127.0.0.1로 자동 변경하여 데이터가 자동으로 보안용 어플리케이션(20)으로 전송되도록 한다.
다음으로, 관리모듈(24)은 실행 항목에 설정된 로컬 포트정보를 수신모듈(25)로 전송하고(S9), 수신모듈(25)은 파라미터로 넘어온 로컬 포트정보를 가지고 평문데이터를 받을 수 있는 서버소켓을 생성하여 쓰레드 형태로 대기한다. 포트포워딩 방식의 항목을 실행시킨 후에 생성되어지는 쓰레드는 평문데이터를 입력받기 위해 서버소켓을 생성한 다음에 평문데이터가 들어오기를 기다린다. 여기까지 실행한 후에 사용자는 모바일단말기(10)에 설치된 TCP/IP통신용 어플리케이션을 실행하여 평문데이터를 보안용 어플리케이션에서 실행 중인 쓰레드로 전송한다.
수신모듈(25)이 평문데이터의 수신을 대기하는 동안에 사용자가 모바일단말기(10)에 설치된 TCP/IP통신용 어플리케이션의 평문데이터를 전송하면(S11), 수신모듈(25)은 평문데이터를 암호화전송 쓰레드모듈(26)로 전송한다(S12). 암호화전송 쓰레드모듈(26)은 평문으로 입력된 데이터를 VPN터널을 생성하여 암호화한 후에 암호화된 데이터를 목적지 서버(40)로 전송하고, 목적지 서버는 암호화된 데이터를 복호화하여 데이터를 처리한 후에 요청에 대한 응답데이터를 암호화하여 복호화전송 쓰레드모듈(27)로 전송한다(S13). 복호화전송 쓰레드모듈(27)은 VPN터널을 통하여 입력된 암호화된 응답데이터를 복호화하여 복호화된 평문으로 변환된 데이터를 수신모듈(25)로 전송하고(S14), 수신모듈(25)은 모바일단말기(10)에 설치된 TCP/IP통신용 어플리케이션의 요청에 대한 응답값을 평문데이터로 전송한다(S15). 따라서 서버소켓을 생성하여 평문데이터를 입력받는 암호화전송 쓰레드모듈(26)에서는 입력된 평문데이터를 처리하기 위하여 평문데이터를 암호화하여 전송하는 쓰레드와 응답으로 받은 암호화된 데이터를 복호화하여 어플리케이션으로 전송하는 쓰레드를 생성하여 실행한다. 이 각각의 데이터를 전송하는 쓰레드와 데이터를 전송받는 쓰레드에서 실제적으로 평문데이터의 암복호화가 이루어진다. 이 암복호화를 담당하는 모듈은 운영체제가 안드로이드인 경우에 모바일단말기에 기본으로 설치되어 있는 SDK에 java.security 라이브러리를 사용한다.
이와 같이 상기 모바일단말기(10)에 설치된 TCP/IP통신용 어플리케이션(15)에서 평문데이터를 암복호화 통신을 하기 위하여 포트포워딩 방식이 적용된다. 포트포워딩 방식에서 로컬포트의 설정과 목적지 서버의 IP와 포트를 설정하여 하나의 항목을 생성한다. 또한, 포트포워딩 방식을 적용함에 있어서 각 항목에 대한 모듈을 쓰레드로 관리하여 동시에 여러 개의 항목을 TCP/IP통신을 하는 다른 TCP/IP통신용 어플리케이션의 평문데이터를 받을 수 있도록 프록시용 서버소켓을 동시에 여러 개 생성하여 실행시킬 수 있다. 포트포워딩 방식의 실행은 각 항목에 따른 타입에 따라 GEN, FTP, WEB으로 구분하고, WEB타입인 경우에는 실행 후에 자동으로 모바일단말기에 설치된 웹브라우저를 실행하여 모바일단말기(10)를 통해 입력한 URL로 자동 접속이 가능하도록 하고, GEN타입 또는 FTP타입일 경우에는 그 실행을 달리하게 된다. 즉 GEN타입 또는 FTP타입일 경우에는 동작하고자 하는 어플리케이션을 링크시켜 등록하여 지정한 후에 해당 어플리케이션을 자동으로 실행시킬 수 있다.
포트포워딩 방식의 실행은 각 항목에 따른 타입에 따라 GEN, FTP, WEB으로 구분하고, FTP타입인 경우에는 응답쓰레드로 목적지 서버(40)에서 응답으로 들어온 데이터가 FTP의 패시브모드(Passive Mode)인 경우에 패시브포트(Passive Port)를 계산하여 이 패시브포트로 된 데이터 채널 쓰레드를 생성하고, FTP데이터 패킷을 따로 처리할 수 있도록 하며, 목적지 서버 IP를 로컬호스트 또는 127.0.0.1로 자동 변경하는 프록시(Proxy) 형태의 기능을 적용할 수 있다. 또한, 실행 여부에 따라 쓰레드로 프록시용 서버소켓이 동시에 복수로 생성 및 실행되어 TCP/IP통신용 어플리케이션으로부터 평문데이터가 들어올 때 마다 또 다른 차일드 쓰레드를 생성하여 요청을 보내는 쓰레드(Request Thread)와 응답을 기다리는 쓰레드로 구분할 수 있다.
따라서 본 발명의 모바일단말기에 설치된 어플리케이션 데이터 보안방법은 모바일단말기에서 TCP/IP통신을 사용하여 목적지 서버에 접속하는 모든 어플리케이션의 평문데이터를 포트포워딩 방식으로 받아 VPN터널을 생성한 후에 암호화하고 복호화해 주는 프록시 기능을 수행함으로써 취약한 모바일단말기의 데이터 보안성을 강화시킨 장점이 있다.
이상의 설명에서 본 발명은 특정의 실시 예와 관련하여 도시 및 설명하였지만, 특허청구범위에 의해 나타난 발명의 사상 및 영역으로부터 벗어나지 않는 한도 내에서 다양한 개조 및 변화가 가능하다는 것을 이 기술분야에서 통상의 지식을 가진 자라면 누구나 쉽게 알 수 있을 것이다.
10: 모바일단말기 15: TCP/IP통신용 어플리케이션 20: 보안용 어플리케이션 21: UI모듈 22: 생성모듈 23: 커스터마이징모듈 24: 관리모듈 25: 수신모듈 26: 암호화전송 쓰레드모듈 27: 복호화전송 쓰레드모듈 30: 인터넷 40: 목적지 서버

Claims (10)

  1. 모바일단말기에 설치된 어플리케이션 데이터의 보안을 위한 방법에 있어서,
    (a) 사용자에 의하여 모바일단말기에 탑재된 TCP/IP통신용 어플리케이션의 선택으로 목적지 서버의 접속을 위한 URL이 입력되면 보안용 어플리케이션의 UI모듈은 입력된 접속 URL과 PORT 정보를 생성모듈로 전송하는 단계;
    (b) 상기 생성모듈은 VPN터널, 암복호화 소켓 및 통신인증서를 생성한 후에 UI모듈로 암복호화 소켓을 전송하고, UI모듈은 사용자 인증정보를 커스터마이징모듈로 전송하는 단계;
    (c) 상기 커스터마이징모듈은 복수의 사용자 식별 및 인증방법의 지원과 사용자 인증 및 식별정보를 목적지 서버로 전송하고, 목적지 서버는 수신된 사용자 인증 및 식별정보와 저장된 정보와 비교처리 후에 사용자 식별 및 인증 성공 정보를 UI모듈로 전송하는 단계;
    (d) 상기 UI모듈은 포트포워딩 방식의 항목을 설정하는 UI를 관리모듈로 호출하면 관리모듈은 포트포워딩 방식을 적용할 항목을 설정한 후에 원하는 항목을 선택하여 실행하는 단계;
    (e) 상기 관리모듈은 실행 항목에 설정된 로컬 포트정보를 수신모듈로 전송하고, 수신모듈은 파라미터로 넘어온 로컬 포트정보를 가지고 평문데이터를 받을 수 있는 서버소켓을 생성하여 쓰레드 형태로 대기하는 단계;
    (f) 상기 수신모듈이 평문데이터의 수신을 대기하는 동안에 사용자가 모바일단말기에 설치된 TCP/IP통신용 어플리케이션의 평문데이터를 전송하면, 수신모듈은 평문데이터를 암호화전송 쓰레드모듈로 전송하는 단계;
    (g) 상기 암호화전송 쓰레드모듈은 평문으로 입력된 데이터를 VPN터널을 생성하여 암호화한 후에 암호화된 데이터를 목적지 서버로 전송하고, 목적지 서버는 암호화된 데이터를 복호화하여 데이터를 처리한 후에 요청에 대한 응답데이터를 암호화하여 복호화전송 쓰레드모듈로 전송하는 단계; 및
    (h) 상기 복호화전송 쓰레드모듈은 VPN터널을 통하여 입력된 암호화된 응답데이터를 복호화하여 복호화된 평문으로 변환된 데이터를 수신모듈로 전송하고, 수신모듈은 모바일단말기에 설치된 TCP/IP통신용 어플리케이션의 요청에 대한 응답값을 평문데이터로 전송하는 단계를 포함하여 이루어진 모바일단말기에 설치된 어플리케이션 데이터 보안방법.
  2. 제1항에 있어서, 상기 단계(c)에서, 커스터마이징모듈에서 사용자 식별 및 인증을 위하여 ID/PW와 인증서 중에서 어느 하나 이상을 지원하는 모바일단말기에 설치된 어플리케이션 데이터 보안방법.
  3. 제1항에 있어서, 상기 단계(d) 이후에 모바일단말기에 설치된 TCP/IP통신용 어플리케이션에서 평문데이터를 암복호화 통신을 하기 위하여 포트포워딩 방식을 적용하는 모바일단말기에 설치된 어플리케이션 데이터 보안방법.
  4. 제1항에 있어서, 상기 단계(d)에서, 포트포워딩 방식에서 로컬포트의 설정과 목적지 서버의 IP와 포트를 설정하여 하나의 항목을 생성하는 모바일단말기에 설치된 어플리케이션 데이터 보안방법.
  5. 제1항에 있어서, 상기 단계(d)에서, 포트포워딩 방식을 적용함에 있어서 각 항목에 대한 모듈을 쓰레드로 관리하여 동시에 여러 개의 항목을 TCP/IP통신용 어플리케이션을 하는 다른 TCP/IP통신용 어플리케이션의 평문데이터를 받을 수 있도록 프록시용 서버소켓을 동시에 여러 개 생성하여 실행시킬 수 있도록 하는 모바일단말기에 설치된 어플리케이션 데이터 보안방법.
  6. 제1항에 있어서, 상기 단계(d)에서, 포트포워딩 방식의 실행은 각 항목에 따른 타입에 따라 GEN, FTP, WEB으로 구분하고, WEB타입인 경우에는 실행 후에 자동으로 모바일단말기에 설치된 웹브라우저를 실행하여 단계(a)에서 입력한 URL로 자동 접속이 가능하도록 하고, GEN타입 또는 FTP타입일 경우에는 단계(e)에서 동작하고자 하는 어플리케이션을 등록하여 지정한 후에 해당 어플리케이션을 자동으로 실행시킬 수 있도록 하는 모바일단말기에 설치된 어플리케이션 데이터 보안방법.
  7. 제1항에 있어서, 상기 단계(d)에서, 포트포워딩 방식의 실행은 각 항목에 따른 타입에 따라 GEN, FTP, WEB으로 구분하고, FTP타입인 경우에는 단계(e)의 응답쓰레드로 단계(h)에서 목적지 서버에서 응답으로 들어온 데이터가 FTP의 패시브모드(Passive Mode)인 경우에 패시브포트(Passive Port)를 계산하여 이 패시브포트로 된 데이터 채널 쓰레드를 생성하고, FTP데이터 패킷을 따로 처리할 수 있도록 하며, 목적지 서버 IP를 로컬호스트 또는 127.0.0.1로 자동 변경하는 프록시(Proxy) 형태의 기능을 적용하는 모바일단말기에 설치된 어플리케이션 데이터 보안방법.
  8. 제1항에 있어서, 상기 단계(e)에서 단계(d)의 실행 여부에 따라 쓰레드로 프록시용 서버소켓이 동시에 복수로 생성 및 실행되어 TCP/IP통신용 어플리케이션으로부터 평문데이터가 들어올 때 마다 또 다른 차일드 쓰레드를 생성하여 요청을 보내는 쓰레드(Request Thread)와 응답을 기다리는 쓰레드로 구분하는 모바일단말기에 설치된 어플리케이션 데이터 보안방법.
  9. 제1항에 있어서, 상기 단계(f)에서, 모바일단말기에 설치된 TCP/IP통신용 어플리케이션이 평문데이터를 전송하기 위하여 로컬호스트(Local Host) 또는 127.0.0.1로 포트는 상기 단계(d)에서 설정된 로컬포트 번호로 접속하는 포트포워딩 방식을 적용한 모바일단말기에 설치된 어플리케이션 데이터 보안방법.
  10. 삭제
KR1020120017716A 2012-02-22 2012-02-22 모바일단말기에 설치된 어플리케이션 데이터 보안방법 KR101173583B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120017716A KR101173583B1 (ko) 2012-02-22 2012-02-22 모바일단말기에 설치된 어플리케이션 데이터 보안방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120017716A KR101173583B1 (ko) 2012-02-22 2012-02-22 모바일단말기에 설치된 어플리케이션 데이터 보안방법

Publications (1)

Publication Number Publication Date
KR101173583B1 true KR101173583B1 (ko) 2012-08-13

Family

ID=46880391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120017716A KR101173583B1 (ko) 2012-02-22 2012-02-22 모바일단말기에 설치된 어플리케이션 데이터 보안방법

Country Status (1)

Country Link
KR (1) KR101173583B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101497896B1 (ko) * 2013-09-30 2015-03-05 주식회사 이노와이어리스 멀티포트 무선통신 시험 장비의 자동 설정 방법
KR20170024806A (ko) 2015-08-26 2017-03-08 (주)포제 접근성을 이용하는 정보 보안 장치 및 정보 보안 방법
WO2021060858A1 (ko) * 2019-09-24 2021-04-01 프라이빗테크놀로지 주식회사 터널 및 데이터 플로우에 기반하여 노드의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
US11652801B2 (en) 2019-09-24 2023-05-16 Pribit Technology, Inc. Network access control system and method therefor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101497896B1 (ko) * 2013-09-30 2015-03-05 주식회사 이노와이어리스 멀티포트 무선통신 시험 장비의 자동 설정 방법
KR20170024806A (ko) 2015-08-26 2017-03-08 (주)포제 접근성을 이용하는 정보 보안 장치 및 정보 보안 방법
WO2021060858A1 (ko) * 2019-09-24 2021-04-01 프라이빗테크놀로지 주식회사 터널 및 데이터 플로우에 기반하여 노드의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
US11652801B2 (en) 2019-09-24 2023-05-16 Pribit Technology, Inc. Network access control system and method therefor

Similar Documents

Publication Publication Date Title
US9992176B2 (en) Systems and methods for encrypted communication in a secure network
CN106878245B (zh) 图形码信息提供、获取方法、装置及终端
CN111737366B (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
US11736304B2 (en) Secure authentication of remote equipment
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
TW201707468A (zh) 基於可信執行環境的業務處理方法和用戶端
CN105993146A (zh) 不访问私钥而使用公钥密码的安全会话能力
CN105027107A (zh) 安全虚拟机迁移
US20180288593A1 (en) Remote control method and apparatus and mobile terminal
US10630722B2 (en) System and method for sharing information in a private ecosystem
US10045212B2 (en) Method and apparatus for providing provably secure user input/output
KR20160089472A (ko) 자동 플레이스홀더 파인더-필러
US20140304510A1 (en) Secure authentication system with automatic cancellation of fraudulent operations
CN109379345B (zh) 敏感信息传输方法及***
JP2024079694A (ja) 顧客サポート呼の事前認証のためのシステムおよび方法
KR101173583B1 (ko) 모바일단말기에 설치된 어플리케이션 데이터 보안방법
JP2016046799A (ja) セキュリティクラウドサービスを提供するためのエージェントおよびセキュリティクラウドサービスのためのセキュリティ鍵装置
JP2023532976A (ja) ユーザの身元の検証のための方法およびシステム
Reimair et al. MoCrySIL-Carry your Cryptographic keys in your pocket
Reimair et al. WebCrySIL-web cryptographic service interoperability layer
US20210344483A1 (en) Methods, apparatus, and articles of manufacture to securely audit communications
KR20190007336A (ko) 보안채널 생성 방법 및 그 장치와 이를 이용한 보안정보의 송수신 방법 및 그 장치
CN104717235B (zh) 一种虚拟机资源检测方法
Reimair et al. CrySIL: Bringing Crypto to the Modern User
KR102380504B1 (ko) 북마클릿을 이용한 전자 지갑 서비스 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150728

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160805

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170807

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180807

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190807

Year of fee payment: 8