KR101129894B1 - 이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템 - Google Patents

이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템 Download PDF

Info

Publication number
KR101129894B1
KR101129894B1 KR1020100036972A KR20100036972A KR101129894B1 KR 101129894 B1 KR101129894 B1 KR 101129894B1 KR 1020100036972 A KR1020100036972 A KR 1020100036972A KR 20100036972 A KR20100036972 A KR 20100036972A KR 101129894 B1 KR101129894 B1 KR 101129894B1
Authority
KR
South Korea
Prior art keywords
client
virtual keyboard
server
coordinate data
image
Prior art date
Application number
KR1020100036972A
Other languages
English (en)
Other versions
KR20110117482A (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 KR1020100036972A priority Critical patent/KR101129894B1/ko
Publication of KR20110117482A publication Critical patent/KR20110117482A/ko
Application granted granted Critical
Publication of KR101129894B1 publication Critical patent/KR101129894B1/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items

Abstract

이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템이 개시된다. 본 발명의 일 실시예에 따른 이미지를 이용한 메모리 해킹 방지 방법은 (a) 서버에서 클라이언트의 요청에 따라 가상 키보드를 생성하여 상기 클라이언트로 제공하는 단계; (b) 상기 서버에서 상기 클라이언트로부터 상기 가상 키보드의 키 입력에 대한 좌표 데이터가 수신되면 상기 제공된 가상 키보드의 키 입력에 대한 좌표 데이터에 해당하는 이미지를 상기 클라이언트로 제공하는 단계; (c) 상기 클라이언트에서 상기 서버로부터 제공받은 상기 이미지의 데이터를 메모리 해킹 대상인 기 설정된 입력 필드에 저장하고, 상기 키 입력에 대한 좌표 데이터를 기 설정된 히든 필드에 저장하는 단계; 및 (d) 상기 클라이언트에서 상기 가상 키보드를 통해 입력된 적어도 하나 이상의 키 입력에 대한 전송이 사용자에 의해 요청되면 상기 히든 필드에 저장된 상기 적어도 하나 이상의 키 입력에 대한 좌표 데이터를 상기 서버로 전송하는 단계를 포함하는 것을 특징으로 한다.

Description

이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템{METHOD FOR PREVENTING MEMORY HACKING USIGN IMAGE AND SYSTEM THEREOF}
본 발명은 메모리 해킹 방지에 관한 것으로서, 보다 상세하게는 가상 키보드의 키 입력에 해당하는 이미지를 제공하고 메모리 해킹 대상인 입력 필드에 이미지 데이터를 저장하고, 실제 키 입력에 대한 좌표 데이터를 별도의 히든 필드에 저장하여 히든 필드에 저장된 데이터를 전송함으로써, 메모리 해킹을 통한 데이터 유출 및 변조를 방지하고, 클라이언트 단에서 보다 높은 보안을 제공할 수 있는 이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템에 관한 것이다.
인터넷이 발달하면서 높은 속도 및 안정된 접속 환경을 제공함으로써 과거의 단순한 웹 브라우징을 통한 지식의 공유 수준에서 벗어나 온라인 쇼핑, 온라인 뱅킹 등 다양한 분야에서 활용되고 있다. 이렇게 생활에 편리성을 제공하는 여러 서비스들이 늘어나면서 다른 한편에서는 이들의 취약점을 이용하여 타인의 개인 정보를 유출하여 악의적으로 사용하는 일들도 함께 늘어나고 있다. 이러한 불법적인 행위는 작게는 개인의 사생활을 침해하게 되고 더 나아가서는 개인의 재산권을 위협할 뿐만 아니라 인터넷 서비스를 제공하는 기업들에게도 신뢰를 떨어뜨리게 만드는 요인이 되고 있다.
일반적으로 해커들은 개인정보 유출이라는 악의적인 목적 달성을 위해 여러가지 해킹 툴을 이용하는데, 그 중 사용자 컴퓨터의 키보드 눌림 신호를 가로채는 키 로거(key logger) 프로그램이 보편적으로 이용되고 있다.
이런 키 로거 프로그램으로부터 개인정보를 보호하기 위한 기술로는 대한민국 특허등록번호 제10-0496462호가 있으며, 이 기술은 소정의 개인정보를 사용자의 컴퓨터 화면에 디스플레이된 가상 키보드를 마우스를 통해 클릭하여 입력하는 방식을 개시하고 있다.
하지만, 이 기술은 화면상에 표시한 가상 키보드를 통해 사용자 정보를 입력받도록 하는 것이나, 가상 키보드를 이용한 정보 입력 시 메모리 해킹 대상인 특정 입력 필드에 마우스의 포인팅 좌표 데이터 또는 가상 키보드의 키 입력 좌표 데이터가 저장되기 때문에 가상 키보드를 구성하는 키들의 좌표 데이터를 알 수 있는 경우 가상 키보드를 통해 입력된 사용자 정보를 메모리 해킹할 수 있는 문제점이 있다.
따라서, 메모리 해킹을 방지하여 사용자 정보가 유출되거나 변조되는 것을 방지할 수 있는 방법의 필요성이 대두된다.
상기와 같은 문제점을 해결하기 위하여 창안된 본 발명의 실시예에 따른 목적은, 클라이언트 기반 가상 키보드에서 메모리 해킹을 통한 데이터 유출 및 변조를 방지함으로써, 클라이언트 단에서의 보안성을 향상시킬 수 있는 이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템을 제공하는데 있다.
또한, 본 발명의 실시예에 따른 다른 목적은, 이미지를 이용하여 메모리 해킹에 대한 보안성을 향상시킴으로써, 서비스를 제공하는 업체에 대한 신뢰성을 향상시킬 수 있는 이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템을 제공하는데 있다.
상기 목적을 달성하기 위한, 본 발명의 한 관점에 따른 이미지를 이용한 메모리 해킹 방지 방법은 (a) 서버에서 클라이언트의 요청에 따라 가상 키보드를 생성하여 상기 클라이언트로 제공하는 단계; (b) 상기 서버에서 상기 클라이언트로부터 상기 가상 키보드의 키 입력에 대한 좌표 데이터가 수신되면 상기 제공된 가상 키보드의 키 입력에 대한 좌표 데이터에 해당하는 이미지를 상기 클라이언트로 제공하는 단계; (c) 상기 클라이언트에서 상기 서버로부터 제공받은 상기 이미지의 데이터를 메모리 해킹 대상인 기 설정된 입력 필드에 저장하고, 상기 키 입력에 대한 좌표 데이터를 기 설정된 히든 필드에 저장하는 단계; 및 (d) 상기 클라이언트에서 상기 가상 키보드를 통해 입력된 적어도 하나 이상의 키 입력에 대한 전송이 사용자에 의해 요청되면 상기 히든 필드에 저장된 상기 적어도 하나 이상의 키 입력에 대한 좌표 데이터를 상기 서버로 전송하는 단계를 포함하는 것을 특징으로 한다.
나아가, (e) 상기 서버에서 상기 클라이언트로부터 수신된 상기 적어도 하나 이상의 키 입력에 대한 좌표 데이터와 상기 제공된 가상 키보드에 대한 좌표 데이터를 비교하여 상기 가상 키보드 상에서 실제 입력된 데이터를 검출하는 단계를 더 포함할 수 있다.
바람직하게, 상기 (a) 단계는 상기 서버에서 복수의 키들이 랜덤하게 배열된 기 설정된 복수의 가상 키보드들 중 랜덤하게 선택된 가상 키보드를 상기 클라이언트로 제공할 수 있다.
바람직하게, 상기 (b) 단계는 상기 서버에서 상기 좌표 데이터에 해당하는 기 설정된 복수의 이미지들 중 랜덤하게 선택된 이미지를 상기 클라이언트로 제공할 수 있다.
바람직하게, 상기 (a) 단계는 상기 서버에서 복수의 숫자 키들과 상기 숫자 키들의 배열을 랜덤하게 만들기 위한 적어도 하나 이상의 더미 키가 포함된 상기 가상 키보드를 상기 클라이언트로 제공할 수 있다.
본 발명의 한 관점에 따른 이미지를 이용한 메모리 해킹 방지 시스템은 서버를 포함하고, 상기 서버는 기 설정된 복수의 가상 키보드들을 저장하는 제1 DB; 상기 가상 키보드에서 제공하는 기 설정된 복수의 키들 각각에 해당하는 복수의 이미지들을 저장하는 제2 DB; 클라이언트의 요청에 따라 상기 제1 DB를 검색하여 상기 복수의 가상 키보드들 중 어느 하나를 상기 클라이언트로 제공하는 가상 키보드 제공부; 및 상기 제공된 가상 키보드의 키 입력에 대한 좌표 데이터가 상기 클라이언트로부터 수신되면 상기 키 입력에 대한 좌표 데이터에 해당하는 이미지를 상기 제2 DB에서 검색하여 상기 클라이언트로 제공하는 이미지 제공부를 포함하는 것을 특징으로 한다.
바람직하게, 상기 클라이언트는 상기 서버로 요청하여 수신한 가상 키보드를 표시하는 표시부; 상기 가상 키보드의 키 입력에 대한 좌표 데이터를 상기 서버로 전송하고 상기 서버로부터 상기 키 입력에 대한 좌표 데이터에 상응하는 이미지를 수신하는 송수신부; 및 상기 송수신부를 통해 수신된 상기 이미지의 데이터를 메모리 해킹 대상인 기 설정된 입력 필드에 저장하고, 상기 키 입력에 대한 좌표 데이터를 기 설정된 히든 필드에 저장하며, 상기 가상 키보드를 통해 입력된 적어도 하나 이상의 키 입력에 대한 전송이 사용자에 의해 요청되면 상기 히든 필드에 저장된 상기 적어도 하나 이상의 키 입력에 대한 좌표 데이터를 상기 송수신부를 통해 상기 서버로 전송하는 제어부를 포함할 수 있다.
나아가, 상기 서버는 상기 클라이언트로부터 수신된 상기 적어도 하나 이상의 키 입력에 대한 좌표 데이터와 상기 제공된 가상 키보드에 대한 좌표 데이터를 비교하여 상기 가상 키보드 상에서 실제 입력된 데이터를 검출하는 검출부를 더 포함할 수 있다.
본 발명에 따르면, 가상 키보드의 키 입력에 해당하는 이미지를 클라이언트에서 수신하여 메모리 해킹 대상인 입력 필드에 이미지 데이터를 저장하고, 실제 키 입력에 대한 데이터 즉, 좌표 데이터를 별도의 히든 필드에 저장하기 때문에 입력 필드에 실제 데이터가 존재하지 않고 이미지 데이터만이 존재하여 메모리 해킹을 당하더라도 사용자 정보가 유출되거나 변조되는 것을 방지할 수 있다.
또한, 본 발명은 가상 키보드의 키 입력에 상응하는 이미지를 이용하여 메모리 해킹에 대한 보안성을 향상시킬 수 있기 때문에 가상 키보드를 제공하는 서비스 업체에 대한 신뢰성을 향상시킬 수 있고, 신뢰성 향상에 따라 서비스 업체의 수익을 증가시킬 수도 있다.
도 1은 본 발명의 일 실시예에 따른 메모리 해킹 방지 시스템에 대한 구성을 나타낸 것이다.
도 2는 도 1에 도시된 클라이언트에 대한 일 실시예 구성을 나타낸 것이다.
도 3은 도 1에 도시된 서버에 대한 일 실시예 구성을 나타낸 것이다.
도 4는 가상 키보드를 요청하기 위한 웹 페이지에 대한 일 예를 나타낸 것이다.
도 5는 웹 페이지에 표시된 가상 키보드에 대한 일 예를 나타낸 것이다.
도 6은 본 발명의 일 실시예에 따른 이미지를 이용한 메모리 해킹 방지 방법에 대한 동작 흐름도를 나타낸 것이다.
상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부 도면을 참조한 실시 예에 대한 설명을 통하여 명백히 드러나게 될 것이다.
본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하에서는, 본 발명의 일 실시 예에 따른 이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템을 첨부된 도 1 내지 도 6을 참조하여 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 메모리 해킹 방지 시스템에 대한 구성을 나타낸 것이다.
도 1을 참조하면, 메모리 해킹 방지 시스템은 클라이언트(110) 및 서버(120)를 포함한다.
클라이언트(110)는 서버(120)로부터 제공받은 가상 키보드를 통해 사용자로부터 키 입력을 받을 때마다 입력된 키에 대한 좌표 데이터를 암호화하여 서버(120)로 제공함으로써, 서버(120)로부터 키의 좌표 데이터에 해당하는 이미지를 수신하고, 수신된 이미지를 화면에 표시함과 동시에 메모리 해킹 대상인 기 설정된 입력 필드에 저장하며, 입력된 키에 대한 좌표 데이터를 암호화하여 기 설정된 히든 필드에 저장한 후 사용자의 요청에 따라 히든 필드에 저장된 적어도 하나 이상의 키 입력에 대한 좌표 데이터를 서버로 전송한다.
서버(120)는 클라이언트(110)의 요청에 따라 가상 키보드를 생성하여 클라이언트(110)로 제공하고, 클라이언트(110)로부터 가상 키보드의 키 입력에 대한 좌표 데이터가 수신되면 이에 해당하는 이미지를 검색하여 클라이언트(110)로 제공하며, 클라이언트(110)로부터 사용자의 전송 요청에 따라 가상 키보드를 통해 입력된 적어도 하나 이상의 키에 대한 좌표 데이터를 수신하고, 클라이언트(110)로 제공된 가상 키보드의 좌표 데이터와 수신된 좌표 데이터를 비교함으로써, 사용자에 의해 실제 입력된 키들을 검출한다.
이때, 서버(120)는 복수의 가상 키보드들을 저장함으로써, 클라이언트(110)로부터 가상 키보드가 요청될 때 복수의 가상 키보드들 중에서 랜덤하게 검색하여 클라이언트(110)로 제공할 수 있으며, 이미지 또한 해당 좌표 데이터에 상응하는 복수의 이미지들을 저장함으로써, 해당 좌표 데이터에 상응하는 이미지를 랜덤하게 검색하여 클라이언트(110)로 제공할 수 있다.
물론, 서버(120)는 클라이언트(110)로부터 수신되는 좌표 데이터가 암호화되어 있는 상태이기 때문에 복호화하여 좌표 데이터를 확인하여야 하며, 검출된 키들은 사용 목적에 따라 검증될 수 있다.
이런, 클라이언트와 서버에 대해 도 2와 도 3에서 상세히 설명한다.
도 2는 도 1에 도시된 클라이언트에 대한 일 실시예 구성을 나타낸 것이다.
도 2를 참조하면, 클라이언트(110)는 저장부(210), 표시부(220), 제어부(230) 및 송수신부(240)를 포함한다.
저장부(210)는 기 설정된 입력 필드(input field)와 히든 필드(hidden field)를 포함하는데, 입력 필드와 히든 필드라는 용어는 상황에 따라 달라질 수 있다.
본 발명에서의 입력 필드는 키 로거 프로그램과 같은 해킹 툴에서 메모리 해킹 대상이 되는 저장 공간으로, 가상 키보드에서 사용자에 의해 선택된 키 입력에 대한 실제 좌표 데이터가 아닌 서버로부터 수신되는 이미지 데이터를 저장한다.
히든 필드는 본 발명의 메모리 해킹을 방지하기 위한 저장 공간으로, 가상 키보드에서 사용자의 선택에 의해 입력된 키에 대한 좌표 데이터가 암호화되어 저장된다.
이때, 히든 필드는 사용자에 의해 선택된 적어도 하나 이상의 키 입력에 대한 좌표 데이터가 암호화되어 순차적으로 저장되는 것이 바람직하며, 키 로거 프로그램과 같은 해킹 프로그램에 의해 해킹 당하지 않도록 저장 공간이 설정되는 것이 바람직하다.
히든 필드에 저장되는 좌표 데이터는 다양한 암호화 알고리즘을 사용하여 암호화될 수 있는데, 암호화 시에 사용하는 키와 복호화 시에 사용하는 키가 동일한 대칭키 암호화 알고리즘과, 암호화 시에 사용하는 키와 복호화 시에 사용하는 키가 다른 비대칭키 암호화 알고리즘이 모두 사용될 수 있다. 이하, 본 발명에서는 사용되는 암호화 알고리즘이 비대칭키 암호화 알고리즘 중 하나인 RSA(Rivest-Shamir-Adleman) 알고리즘이라 가정하고 설명한다.
표시부(220)는 서버에서 제공하는 웹 페이지 예를 들어, 인터넷 뱅킹 웹 페이지를 통해 서버로 요청하여 수신한 가상 키보드를 클라이언트의 화면에 표시하는 구성으로, 서버로 가상 키보드를 요청하기 위한 웹 페이지 및 가상 키보드를 통해 입력받은 키들을 서버로 전송 요청하기 위한 웹 페이지 등을 표시할 수 있다.
예컨대, 도 4에 도시된 일 예와 같이, 표시부(220)는 인터넷 뱅킹 등과 같은 웹 페이지에서 가상 키보드를 서버로 요청하기 위한 버튼(마우스 입력)(410)과 가상 키보드를 통해 입력된 적어도 하나 이상의 키에 대한 좌표 데이터를 서버로 전송하기 위한 버튼(submit)(420)을 표시한다.
물론, 도 4에서 사용자에 의해 마우스 입력(410)이 선택되면, 표시부(220)는 도 5에 도시된 일 예와 같이, 서버로부터 제공되는 가상 키보드를 화면에 표시한다.
이때, 서버로부터 제공받은 가상 키보드는 복수의 키들(510)과 복수의 키들의 배열을 랜덤하게 만들기 위한 적어도 하나 이상의 더미(dummy) 키(520)가 포함될 수 있는데, 복수의 키들은 일정 형식에 맞춰 배열될 수도 있고, 랜덤하게 배열될 수도 있다.
가상 키보드 상에서 선택된 숫자는 도 4에 도시된 플레인 텍스트(plain text) 입력창에 표시될 수 있는데, 여기서 표시되는 숫자는 서버로부터 수신된 해당 키 입력에 대한 이미지인 것이 바람직하며, 일 예로 도 5에 도시된 플레인 텍스트 입력창의 '123'은 숫자 '1'에 대한 이미지, '2'에 대한 이미지, '3'에 대한 이미지를 연속적으로 표시한 것이다.
비록, 도 5에서 가상 키보드가 복수의 숫자 키들과 두 개의 더미 키들을 포함하는 가상 숫자 키보드인 것으로 표시하였지만, 이에 한정하지 않고, 영문, 한글 등과 같은 다양한 형태의 가상 키보드가 될 수 있다. 또한, 상황에 따라 더미 키의 개수도 달라질 수 있다.
다시 도 2를 참조하여, 송수신부(240)는 클라이언트와 서버간의 데이터를 송신하고 수신하기 위한 구성으로, 본 발명에서의 송수신부(240)는 사용자에 의해 입력된 가상 키보드의 키에 대한 좌표 데이터를 서버로 전송하고, 서버로부터 입력 키에 해당하는 이미지를 수신하며, 서버로 요청하여 수신한 가상 키보드를 제어부(230)를 통해 표시부(220)로 제공한다.
제어부(230)는 클라이언트를 구성하는 구성 요소들을 제어하는 구성으로, 본 발명에서 제어부(230)는 송수신부(240)를 통해 수신된 가상 키보드를 표시부(220)에 표시되도록 하고, 가상 키보드를 통해 키가 선택될 때마다 키 입력에 대한 좌표 데이터를 RSA 암호화하여 서버로 전송함으로써, 키 입력에 해당하는 이미지를 송수신부(240)를 통해 수신하고, 수신된 이미지 데이터를 저장부(210)의 입력 필드에 저장함과 동시에 표시부(220)에 표시하며, 나아가 실제 키 입력에 해당하는 가상 키보드의 좌표 데이터를 저장부(210)의 히든 필드에 저장한다.
나아가, 제어부(230)는 가상 키보드를 통해 모든 키가 입력되고, 사용자의 요청에 의해 기 저장된 적어도 하나 이상의 키 입력에 대한 좌표 데이터 즉, 암호화된 좌표 데이터를 송수신부(240)를 통해 서버로 전송하는데, 도 4에 도시된 입력 데이터 전송 요청 키(submit)(420)가 입력되는 경우 히든 필드에 기 저장된 암호화된 데이터를 송수신부(240)를 통해 서버로 전송할 수 있다.
도 3은 도 1에 도시된 서버에 대한 일 실시예 구성을 나타낸 것이다.
도 3을 참조하면, 서버(120)는 가상 키보드 제공부(310), 검출부(320), 이미지 제공부(330), 제1 DB(340) 및 제2 DB(350)를 포함한다.
제1 DB(340)는 기 생성된 복수의 가상 키보드들을 저장한다.
이때, 가상 키보드들 각각은 도 5에 도시된 일 예와 같이, 실제 입력을 위한 복수의 키들 예를 들어, 숫자 키들(510)과 복수의 키들의 배열을 랜덤하게 만들기 위한 적어도 하나 이상의 더미 키(520)를 포함할 수 있다.
또한, 제1 DB(340)에 기 저장된 가상 키보드는 다양한 자판 형태를 가질 수 있으며 일 예로, 쿼티(qwerty) 배열의 자판 형태를 가질 수도 있다.
제2 DB(350)는 가상 키보드를 구성하는 복수의 키들 각각에 대해 기 설정된 복수의 이미지들을 키들 각각과 매칭시켜 저장한다. 예컨대, 가상 키보드 상의 숫자 키 예를 들어, '1'에 대한 기 설정된 개수의 복수 이미지들이 매칭되어 제2 DB에 저장될 수 있다.
가상 키보드 제공부(310)는 클라이언트에서 서버로 가상 키보드의 요청이 있는 경우 제1 DB(340)를 검색하여 복수의 가상 키보드들 중 어느 하나를 클라이언트로 제공한다.
이때, 가상 키보드 제공부(310)는 제1 DB(340)를 순차적으로 검색하여 타 사용자의 클라이언트로 제공되지 않은 가상 키보드를 클라이언트에게 제공할 수도 있고, 복수의 가상 키보드들 중 어느 하나를 랜덤하게 검색하여 클라이언트에게 제공할 수도 있다.
물론, 가상 키보드 제공부(310)에 의해 클라이언트로 제공되는 가상 키보드에 대한 정보는 클라이언트로부터 키 입력에 대한 좌표 데이터를 수신할 때 수신된 좌표 데이터에 해당하는 키가 어떤 키인지를 확인하기 위해 해당 클라이언트 정보와 함께 저장되어 있어야 하는 것은 자명하다.
가상 키보드 제공부(310)는 제1 DB(340)에서 검색된 가상 키보드를 클라이언트로 제공하는데, 가상 키보드를 스트림(stream) 방식으로 클라이언트로 제공할 수도 있고, 다운로드 방식으로 제공할 수도 있으며, 이 뿐만 아니라 가상 키보드를 클라이언트로 제공할 수 있는 모든 방식이 사용될 수 있다.
이미지 제공부(330)는 가상 키보드 제공부(310)에 의해 클라이언트로 제공된 가상 키보드에서 키 입력이 발생하여 클라이언트로부터 키 입력의 암호화된 좌표 데이터가 수신되면, 암호화된 좌표 데이터를 RSA 알고리즘을 이용하여 복호화하여 좌표 데이터에 해당하는 키가 어떤 키인지 클라이언트로 제공된 가상 키보드 정보로부터 확인하고, 확인된 키에 대한 이미지를 제2 DB(350)에서 검색하여 클라이언트로 제공한다.
물론, 이미지 제공부(330)는 제2 DB(350)에 저장된 해당 키에 대한 복수의 이미지들 중에서 어느 하나를 랜덤하게 검색하여 클라이언트로 제공할 수 있다.
검출부(320)는 클라이언트에서 가상 키보드를 통한 키 입력이 모두 종료된 상태에서 사용자의 요청에 의해 클라이언트로부터 전송되는 적어도 하나 이상의 RSA 암호화된 좌표 데이터가 수신되면, RSA 암호화된 키 입력에 대한 좌표 데이터를 RSA 복호화하여 좌표 데이터를 검출하고, 검출된 좌표 데이터와 클라이언트로 제공된 가상 키보드 정보를 비교하여 가상 키보드를 통해 입력된 실제 데이터를 검출한다.
이와 같이, 본 발명의 일 실시예에 따른 이미지를 이용한 메모리 해킹 방지 시스템은 클라이언트에서 가상 키보드를 통해 키가 입력될 때마다 서버에서 이에 대한 정보를 수신한 후 입력된 키에 해당하는 이미지를 클라이언트로 제공하고, 클라이언트에서 메모리 해킹 대상인 입력 필드에 수신된 이미지 데이터를 저장하는 반면 실제 키 입력에 대한 좌표 데이터를 암호화하여 별도의 히든 필드에 저장한 후 사용자의 요청에 의해 히든 필드에 저장된 데이터를 서버로 전송함으로써, 메모리 해킹 대상인 입력 필드에는 이미지 데이터가 저장되어 메모리 해킹이 발생되더라도 실제 데이터가 유출되거나 변조되는 것을 방지할 수 있고, 이를 통해 클라이언트 단에서의 보안성을 높일 수 있다.
도 6은 본 발명의 일 실시예에 따른 이미지를 이용한 메모리 해킹 방지 방법에 대한 동작 흐름도를 나타낸 것이다.
도 6을 참조하면, 메모리 해킹 방지 방법은 클라이언트에서 서버에서 제공하는 웹 페이지에 접속하여 서버로 가상 키보드를 요청하기 위한 키가 사용자에 의해 선택되면 서버로 가상 키보드를 요청하는 신호를 전송한다(S610).
서버는 클라이언트로부터 수신된 가상 키보드 요청에 따라, 복수의 가상 키보드들이 기 저장된 제1 DB를 검색하여 복수의 가상 키보드들 중 어느 하나를 랜덤하게 선택하여 클라이언트로 제공한다(S615, S620). 서버는 다양한 방식 예를 들어, 스트림 방식, 다운로드 방식 등과 같은 방식을 이용하여 클라이언트로 가상 키보드를 제공할 수 있다.
여기서, 가상 키보드는 일정 형식을 갖고 배열 방식이 기 결정되는 복수의 키들과 복수의 키들의 배열 위치를 랜덤하게 만들기 위한 적어도 하나 이상의 더미 키가 포함되는 것이 바람직하다.
상황에 따라, 가상 키보드는 더미 키를 포함하지 않고 가상 키보드를 구성하는 복수의 키들이 랜덤하게 배열되도록 생성될 수도 있다.
클라이언트는 서버로부터 제공되는 가상 키보드를 해당 웹 페이지 화면에 표시하고, 가상 키보드 상에서 마우스를 이용하여 입력하고자 하는 키를 선택한다(S625).
가상 키보드 상에서 사용자에 의해 특정 키가 선택되면 선택된 특정 키에 대한 좌표 데이터를 기 설정된 암호화 방식 예를 들어, RSA 암호화 방식으로 암호화하여 서버로 전송한다(S630).
물론, 클라이언트에서 데이터를 암호화하는 방식과 서버에서 데이터를 복호화하는 방식은 기 결정되어 있으며, 암호화하고 복호화하는 방식은 RSA 알고리즘 이외에 다양한 알고리즘이 사용될 수 있다.
서버는 클라이언트에서 전송된 키 입력의 암호화된 좌표 데이터를 복호화하여 좌표 데이터를 확인하고, 해당 좌표 데이터의 실제 키 데이터를 클라이언트로 제공한 가상 키보드 정보를 통해 검출한 후 제2 DB에 기 저장된 실제 키 데이터에 해당하는 복수의 이미지들 중 어느 하나를 랜덤하게 검색한다(S635).
서버는 제2 DB로부터 검색된 키 입력에 대한 이미지를 클라이언트로 제공하고, 클라이언트는 서버로부터 제공받은 이미지를 데이터 입력창에 표시함과 동시에 메모리 해킹 대상인 기 설정된 입력 필드에 저장한다. 또한, 클라이언트는 사용자에 의해 선택된 가상 키보드 상의 키 입력에 대한 좌표 데이터를 암호화하여 입력 필드와 별도로 기 설정된 히든 필드에 저장한다(S640, S645).
가상 키보드에서 사용자에 의해 키가 선택되고 암호화된 좌표 데이터를 히든 필드에 저장하는 과정인 S630 내지 S645 단계를 가상 키보드에 의한 키 입력이 모두 종료될 때까지 반복 수행한다. 즉, 가상 키보드에 의한 키 입력 종료 후 사용자의 요청에 의해 히든 필드에 저장된 데이터를 전송 요청(submit)할 때까지 반복 수행한다(S650).
히든 필드에 기 저장된 데이터의 전송 요청을 위한 submit 키가 사용자의 선택에 의해 입력되면 클라이언트는 히든 필드에 기 저장된 적어도 하나 이상의 키 입력에 대해 암호화된 좌표 데이터를 서버로 전송한다(S655).
서버는 클라이언트로부터 전송된 적어도 하나 이상의 암호화된 좌표 데이터를 수신하여 복호화함으로써, 가상 키보드를 통해 입력된 키들의 좌표 데이터를 검출한다(S660).
서버는 검출된 좌표 데이터와 클라이언트로 제공된 가상 키보드 정보 즉, 가상 키보드를 구성하는 키들의 좌표 데이터를 비교하여 가상 키보드 상에서 실제 입력된 데이터인 키 입력들을 검출하고, 검출된 키 입력들을 검증한다(S665).
본 발명에 의한, 이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템은 본 발명의 기술적 사상의 범위 내에서 다양한 형태로 변형, 응용 가능하며 상기 실시 예에 한정되지 않는다. 또한, 상기 실시 예와 도면은 발명의 내용을 상세히 설명하기 위한 목적일 뿐, 발명의 기술적 사상의 범위를 한정하고자 하는 목적은 아니며, 이상에서 설명한 본 발명은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 상기 실시 예 및 첨부된 도면에 한정되는 것은 아님은 물론이며, 후술하는 청구범위뿐만이 아니라 청구범위와 균등 범위를 포함하여 판단되어야 한다.
110: 클라이언트
120: 서버
210: 저장부
220: 표시부
230: 제어부
240: 송수신부
310: 가상 키보드 제공부
320: 검출부
330: 이미지 제공부
340: 제1 DB
350: 제2 DB

Claims (12)

  1. (a) 서버가 클라이언트의 요청에 따라 가상 키보드를 생성하여 상기 클라이언트로 제공하는 단계;
    (b) 상기 서버가, 상기 클라이언트로부터 상기 가상 키보드의 키 입력에 대한 좌표 데이터를 수신하면 상기 제공된 가상 키보드의 키 입력에 대한 좌표 데이터에 해당하는 이미지를 상기 클라이언트로 제공하는 단계;
    (c) 상기 클라이언트에서 상기 서버로부터 제공받은 상기 이미지의 데이터를 메모리 해킹 대상인 기 설정된 입력 필드에 저장하고, 상기 키 입력에 대한 좌표 데이터를 기 설정된 히든 필드에 저장하는 단계; 및
    (d) 상기 클라이언트에서 상기 가상 키보드를 통해 입력된 적어도 하나 이상의 키 입력에 대한 전송이 사용자에 의해 요청되면 상기 히든 필드에 저장된 상기 적어도 하나 이상의 키 입력에 대한 좌표 데이터를 상기 서버로 전송하는 단계
    를 포함하는 것을 특징으로 하는 이미지를 이용한 메모리 해킹 방지 방법.
  2. 제1항에 있어서,
    (e) 상기 서버에서 상기 클라이언트로부터 수신된 상기 적어도 하나 이상의 키 입력에 대한 좌표 데이터와 상기 제공된 가상 키보드에 대한 좌표 데이터를 비교하여 상기 가상 키보드 상에서 실제 입력된 데이터를 검출하는 단계
    를 더 포함하는 것을 특징으로 하는 이미지를 이용한 메모리 해킹 방지 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 (a) 단계는
    상기 서버에서 복수의 키들이 랜덤하게 배열된 기 설정된 복수의 가상 키보드들 중 랜덤하게 선택된 가상 키보드를 상기 클라이언트로 제공하는 것을 특징으로 하는 이미지를 이용한 메모리 해킹 방지 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 (b) 단계는
    상기 서버에서 상기 좌표 데이터에 해당하는 기 설정된 복수의 이미지들 중 랜덤하게 선택된 이미지를 상기 클라이언트로 제공하는 것을 특징으로 하는 이미지를 이용한 메모리 해킹 방지 방법.
  5. 제1항 또는 제2항에 있어서,
    상기 (a) 단계는
    상기 서버에서 복수의 숫자 키들과 상기 숫자 키들의 배열을 랜덤하게 만들기 위한 적어도 하나 이상의 더미 키가 포함된 상기 가상 키보드를 상기 클라이언트로 제공하는 것을 특징으로 하는 이미지를 이용한 메모리 해킹 방지 방법.
  6. 제1항 또는 제2항에 있어서,
    상기 (a) 단계는
    상기 서버에서 스트림(stream) 방식으로 상기 가상 키보드를 상기 클라이언트로 제공하는 것을 특징으로 하는 이미지를 이용한 메모리 해킹 방지 방법.
  7. 제1항 또는 제2항에 있어서,
    (c-1) 상기 클라이언트에서 상기 서버로부터 제공받은 상기 이미지를 화면에 표시하는 단계
    를 더 포함하는 것을 특징으로 하는 이미지를 이용한 메모리 해킹 방지 방법.
  8. 서버를 포함하고,
    상기 서버는
    기 설정된 복수의 가상 키보드들을 저장하는 제1 DB;
    상기 가상 키보드에서 제공하는 기 설정된 복수의 키들 각각에 해당하는 복수의 이미지들을 저장하는 제2 DB;
    클라이언트의 요청에 따라 상기 제1 DB를 검색하여 상기 복수의 가상 키보드들 중 어느 하나를 상기 클라이언트로 제공하는 가상 키보드 제공부; 및
    상기 클라이언트로부터 상기 제공된 가상 키보드의 키 입력에 대한 좌표 데이터가 수신되면 상기 키 입력에 대한 좌표 데이터에 해당하는 이미지를 상기 제2 DB에서 검색하여 상기 클라이언트로 제공하는 이미지 제공부
    를 포함하는 것을 특징으로 하는 이미지를 이용한 메모리 해킹 방지 시스템.
  9. 제8항에 있어서,
    상기 클라이언트는
    상기 서버로 요청하여 수신한 가상 키보드를 표시하는 표시부;
    상기 가상 키보드의 키 입력에 대한 좌표 데이터를 상기 서버로 전송하고 상기 서버로부터 상기 키 입력에 대한 좌표 데이터에 상응하는 이미지를 수신하는 송수신부; 및
    상기 송수신부를 통해 수신된 상기 이미지의 데이터를 메모리 해킹 대상인 기 설정된 입력 필드에 저장하고, 상기 키 입력에 대한 좌표 데이터를 기 설정된 히든 필드에 저장하며, 상기 가상 키보드를 통해 입력된 적어도 하나 이상의 키 입력에 대한 전송이 사용자에 의해 요청되면 상기 히든 필드에 저장된 상기 적어도 하나 이상의 키 입력에 대한 좌표 데이터를 상기 송수신부를 통해 상기 서버로 전송하는 제어부
    를 포함하는 것을 특징으로 하는 이미지를 이용한 메모리 해킹 방지 시스템.
  10. 제9항에 있어서,
    상기 서버는
    상기 클라이언트로부터 수신된 상기 적어도 하나 이상의 키 입력에 대한 좌표 데이터와 상기 제공된 가상 키보드에 대한 좌표 데이터를 비교하여 상기 가상 키보드 상에서 실제 입력된 데이터를 검출하는 검출부
    를 더 포함하는 것을 특징으로 하는 이미지를 이용한 메모리 해킹 방지 시스템.
  11. 제8항 또는 제9항에 있어서,
    상기 제어부는
    상기 이미지를 수신하기 위한 상기 키 입력에 대한 좌표 데이터를 암호화하여 상기 서버로 전송하고, 상기 키 입력에 대한 좌표 데이터를 암호화하여 상기 히든 필드에 저장하는 것을 특징으로 하는 이미지를 이용한 메모리 해킹 방지 시스템.
  12. 제8항 또는 제9항에 있어서,
    상기 제1 DB는
    기 설정된 복수의 키들과 상기 복수의 키들의 배열을 랜덤하게 만들기 위한 적어도 하나 이상의 더미 키를 포함하는 상기 복수의 가상 키보드들을 저장하는 것을 특징으로 하는 이미지를 이용한 메모리 해킹 방지 시스템.
KR1020100036972A 2010-04-21 2010-04-21 이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템 KR101129894B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100036972A KR101129894B1 (ko) 2010-04-21 2010-04-21 이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100036972A KR101129894B1 (ko) 2010-04-21 2010-04-21 이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템

Publications (2)

Publication Number Publication Date
KR20110117482A KR20110117482A (ko) 2011-10-27
KR101129894B1 true KR101129894B1 (ko) 2012-03-28

Family

ID=45031398

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100036972A KR101129894B1 (ko) 2010-04-21 2010-04-21 이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR101129894B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9525553B2 (en) 2013-09-09 2016-12-20 Electronics And Telecommunications Research Institute System and method for providing digital signature based on mobile trusted module
KR20200022258A (ko) * 2018-08-22 2020-03-03 엔에이치엔페이코 주식회사 사용자로부터 입력되는 비밀번호를 처리하기 위한 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090036813A (ko) * 2007-10-10 2009-04-15 김진우 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090036813A (ko) * 2007-10-10 2009-04-15 김진우 마우스 입력 좌표값을 이용한 가상키보드 해킹 방지 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9525553B2 (en) 2013-09-09 2016-12-20 Electronics And Telecommunications Research Institute System and method for providing digital signature based on mobile trusted module
KR20200022258A (ko) * 2018-08-22 2020-03-03 엔에이치엔페이코 주식회사 사용자로부터 입력되는 비밀번호를 처리하기 위한 장치 및 방법
KR102118476B1 (ko) * 2018-08-22 2020-06-03 엔에이치엔페이코 주식회사 사용자로부터 입력되는 비밀번호를 처리하기 위한 장치 및 방법

Also Published As

Publication number Publication date
KR20110117482A (ko) 2011-10-27

Similar Documents

Publication Publication Date Title
KR100745489B1 (ko) 키입력 해킹방지 방법
US8448226B2 (en) Coordinate based computer authentication system and methods
Chen et al. Conformation of EPC Class 1 Generation 2 standards RFID system with mutual authentication and privacy protection
US8176324B1 (en) Method and system for a secure virtual keyboard
US20170005995A1 (en) Confidential data management method and device, and security authentication method and system
US20120079282A1 (en) Seamless end-to-end data obfuscation and encryption
US20120036565A1 (en) Personal data protection suite
US9563778B2 (en) Method for managing public and private data input at a device
US20080288776A1 (en) Security method using virtual keyboard
US20140090041A1 (en) Method, apparatus and system for authenticating open identification based on trusted platform
AU2020202014A1 (en) Raw sensor input encryption for passcode entry security
KR100996955B1 (ko) 가상키보드를 이용한 보안방법
US20080172750A1 (en) Self validation of user authentication requests
US9111123B2 (en) Firmware for protecting data from software threats
KR101228028B1 (ko) 가상 키보드 및 이를 이용한 정보 해킹방지방법
US10133873B2 (en) Temporary concealment of a subset of displayed confidential data
KR101129894B1 (ko) 이미지를 이용한 메모리 해킹 방지 방법 및 그 시스템
JP2005535026A (ja) ネットワークを介したユニバーサルユーザーの情報登録の方法及びシステム
KR101042227B1 (ko) 가상 키보드를 이용한 키입력 해킹 방지 방법
US8706635B2 (en) Use of licensed content without identification thereof
KR100975854B1 (ko) 온라인에서의 패스워드 보안 방법 및 그 장치
KR20110014177A (ko) 맨 인 더 미들 컴퓨터 해킹 기술을 무력화하는 방법 및 시스템
KR101152610B1 (ko) 가상 키보드 제공 방법
KR101648779B1 (ko) 정보단말기에서의 문자입력 보안방법
KR102109864B1 (ko) 문서객체모델 레벨의 키 입력 암호화 장치 및 방법

Legal Events

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

Payment date: 20150310

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160425

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170310

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180410

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200310

Year of fee payment: 9