KR20080033600A - 전자 장치로의 사용자 입력 보안 방법 - Google Patents

전자 장치로의 사용자 입력 보안 방법 Download PDF

Info

Publication number
KR20080033600A
KR20080033600A KR1020060099222A KR20060099222A KR20080033600A KR 20080033600 A KR20080033600 A KR 20080033600A KR 1020060099222 A KR1020060099222 A KR 1020060099222A KR 20060099222 A KR20060099222 A KR 20060099222A KR 20080033600 A KR20080033600 A KR 20080033600A
Authority
KR
South Korea
Prior art keywords
keypad
key
input
virtual keyboard
keyboard
Prior art date
Application number
KR1020060099222A
Other languages
English (en)
Other versions
KR100880862B1 (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 KR1020060099222A priority Critical patent/KR100880862B1/ko
Publication of KR20080033600A publication Critical patent/KR20080033600A/ko
Application granted granted Critical
Publication of KR100880862B1 publication Critical patent/KR100880862B1/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
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Input From Keyboards Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 숫자 및 문자 입력 보안 방법에 관한 것으로, 보안이 요구되는 사용자 입력이 필요한지를 판단하는 단계와, 상기 사용자 입력이 필요하다고 판단할 경우, 표준 키보드 및/또는 키패드를 소정의 변환 규칙에 따라 변환하여 가상 키보드 및/또는 키패드를 구성하는 단계와, 상기 구성된 가상 키보드 및/또는 키패드를 디스플레이 장치에 표출하는 단계와, 상기 가상 키보드 및/또는 키패드를 이용하여 문자 및/또는 숫자를 입력받는 단계와,상기 입력된 문자 및/또는 숫자를 상기 소정의 규칙을 참조하여 인식하는 단계를 포함하는 보안 방법을 제공한다.
가상 키보드, 가상 키패드, 보안

Description

전자 장치로의 사용자 입력 보안 방법 {Security method for user input data to electronic device}
도 1은 종래 기술에 따른 가상 키보드 예시도.
도 2는 본 발명에 따른 단말기 자체 보안 방식 가상 키보드/키패드 시스템 구성도.
도 3은 본 발명에 따른 단말기 자체 보안 방식 가상 키보드/키패드 시스템의 처리 흐름도.
도 4는 본 발명에 따른 서버 보안 방식의 가상 키보드/키패드 시스템 구성도.
도 5는 본 발명에 따른 서버 보안 방식의 가상 키보드/키패드 시스템의 처리 흐름도.
도 6은 본 발명에 이용될 수 있는 일 유형의 키보드/키패드의 구조도.
도 7은 본 발명에 따른 가상 키보드/키패드의 키버튼 가변 실시예를 도시한 도면.
도 8은 본 발명에 따라 10 키 키패드에서 문자키를 가변하는 실시예를 도시한 도면.
도 9는 본 발명에 따라 가상 키보드의 문자키 및 숫자키를 가변하는 실시예를 도시한 도면.
도 10은 본 발명에 따라 가상 키보드의 키배치를 가변하는 실시예를 도시한 도면.
도 11은 본 발명에 따른 키버튼 가변 배치의 보안 성능에 대한 설명을 위한 도면.
도 12는 본 발명에 따른 동일키 배치 관리 방법을 설명하는 순서도.
도 13은 본 발명에 따른 복수의 가변 방식을 상호 조합하여 가변하는 실시예를 도시한 도면.
본 발명은 키패드, 키보드, 터치스크린(touch screen), 마우스 등을 이용한 키(key) 입력에 대한 해킹 방지 방법에 관한 것으로서, 정보단말기 사용자가 키패드, 키보드, 터치스크린, 마우스와 같은 키 입력수단으로 단말기 패스워드를 입력하거나, 특정 인터넷 사이트에 접속하여 패스워드나 중요한 개인정보를 입력할 경우에, 키 입력 정보를 가로채는 키로거(key logger)나 스파이웨어(spyware)로부터 키 입력 정보를 보호하기 위한 키 입력 해킹 방지 방법에 관한 것이다. 아울러 부가적으로 엿보기를 통한 정보유출까지 방지하는 키 입력 방법에 관한 것이다.
각종 컴퓨터, 휴대단말기와 같은 정보단말기가 광범위하게 보급되고, 인터넷 환경이 발전함에 따라 인터넷뱅킹, 전자상거래, 포털/게임/유료컨텐츠 사이트 이용시 패스워드 및 각종 개인정보, 금융정보를 키 입력하는 일이 일상화되었다. 이런 환경 을 악용하려는 해커는 키 입력 정보를 가로채는 키로거나 스파이웨어를 사용자의 정보단말기에 몰래 설치하고 네트워크를 통해 키 입력 정보를 유출하여 범죄에 악용하고 있다.
또한 휴대폰등 휴대단말기는 주소록, 통화내역, 문자/음성/영상 메시지 내용 등 각종 개인 정보를 저장하고 있으므로, 분실, 도난, 타인에 의한 몰래 사용시 프라이버시를 보호하고 유료정보의 몰래 이용을 방지하기 위해 휴대단말기 패스워드에 대한 보호도 점점 중요해지고 있다. 휴대단말기에도 키로거나 스파이웨어가 확산될 것으로 전망되기 때문에 PC뿐만 아니라 휴대단말기에서의 키 입력 정보 보호도 중요해지고 있다.
또한 사용자가 키 입력장치에서 패스워드 및 개인정보를 입력하는 동안 입력중인 키나 손동작을 주위에서 엿보거나, 키에 남겨진 지문 조사 등의 물리적인 방법을 통해 유출될 수 있으므로 이해 대한 방지도 중요하다.
종래의 키 입력정보 해킹 방지 방법은 크게 네가지 흐름으로 구분할 수 있다. 상기 네가지는 백신 방식, 하드웨어 보안칩 방식, 소프트웨어 경쟁 방식, 가상 키보드 방식으로 명명할 수 있다.
가장 널리 사용되는 백신 방식은 백신이나 방화벽으로 키로거나 스파이웨어를 탐지하여 제거하는 방식이다. 그러나, 알려진 것이 아닌 처음 발견되었거나 변형된 키로거나 스파이웨어인 경우에는 해결책이 되지 못한다.
하드웨어 보안칩 방식은 한국특허출원 제2000-0039093호에 제시된 것처럼 별도의 보안칩이나 하드웨어를 탑재한 키보드나 키보드 어댑터를 이용하여, 키보드 하 드웨어에서 암호화한 키 입력정보를 컴퓨터에 보내는 구성이다.
이렇게 함으로써 키 입력정보의 원천적인 보호가 가능하지만, 별도의 키보드 하드웨어 구입 비용이 추가로 발생하고, 보안모드와 일반모드 선택이 번거로운 문제점이 있다.
소프트웨어 경쟁 방식은 근래에 가장 활발하게 적용되고 있는 방식으로서, 키 입력보안 소프트웨어가 키로거나 스파이웨어보다 키 입력정보를 선점하여 암호화하고 복호화하여 키로거/스파이웨어가 키 입력정보에 접근하는 것을 차단한다.
다양한 소프트웨어 경쟁 방식이 한국특허출원 제2001-0052289호, 한국특허출원 제2002-0043576호, 한국특허출원 제2005-0019911호, 한국특허출원 제2005-0072699호에 제시되었다.
소프트웨어 경쟁 방식에서는 키 입력보안 소프트웨어와 키로거/스파이웨어가 키 입력을 선점하기 위해 경쟁한다. 키 입력이 발생하였을 때, 키 입력보안 소프트웨어가 키 입력정보를 선점하여 키로거/스파이웨어가 키 입력정보에 접근하는 것을 차단하려고 경쟁하지만 키로거/스파이웨어도 키 입력보안 소프트웨어에 앞서서 키 입력정보를 선점하려고 경쟁한다. 키로거/스파이웨어도 새로운 버전의 키 입력보안 소프트웨어에 대항하기 위해 부단히 진화하므로, 키 입력보안 소프트웨어가 키 입력정보를 우선적으로 수신한다고 보장할 수 없으므로, 원천적인 차단이 불가능하다는 것이 큰 단점이다.
가상 키보드 방식은 한국특허출원 제2003-0003223호에 제시된 것처럼 상기 백신 방식과 소프트웨어 경쟁 방식의 단점을 극복하고자 입력장치로 키보드를 사용하지 않고 모니터에 도 1과 같은 가상 키보드(101)를 디스플레이한 후에 마우스나 터치스크린으로 입력하는 방식이다.
키보드를 사용하여 입력하지 않으므로 기존 대부분의 키로거에 대하여 안전하지만, 가상 키보드 방식도 원리적으로 약점이 있다. 가상 키보드에 마우스나 터치스크린으로 입력할 때, 마우스 드라이버는 마우스 입력 상대 좌표값을 얻고 터치스크린 드라이버는 화면 좌표값을 얻게 된다. 가능한 새로운 형태의 키로거나 스파이웨어는 마우스 입력 상대 좌표값 또는 화면 좌표값을 가로챌 수 있다. 가로챈 마우스 입력 상대 좌표값 또는 화면 좌표값을 가지고 해석을 하면 입력한 키를 알아낼 수 있다. 즉, 키 버튼의 크기와 가상 키보드의 크기를 알 수 있으므로 각 키를 입력함에 따라 가로챈 좌표값을 갖고 좌표값의 상대 편차를 계산하고 해석하면 이로부터 입력한 키 값을 알 수 있게 된다.
상기와 같은 가상 키보드 사용시 마우스 입력을 가로채어 입력된 키를 알아내는 것을 방지하고자, 한국특허출원 제2004-0083378호에서는 가상 키보드에 마우스를 통해 사용자가 입력하는 키를 하나씩 수신할 때마다, 가상 키보드의 화면상 위치를 랜덤하게 이동시키는 방식의 키 입력정보 보안 방법을 제시하고 있다. 이렇게 하면 키로거/스파이웨어가 마우스 입력 상대 좌표값을 가로채어 해석을 하더라도 입력한 키를 알아내기 어렵다. 상기 출원과 같은 방식을 이용하면 높은 수준으로 키 입력정보를 보안할 수 있으나, 하나의 키를 입력할 때마다 매번 가상 키보드의 화면상 위치가 바뀌면서 마우스로 입력해야 하기 때문에 키의 위치를 찾는 데 시간이 걸려 불편한 단점이 있다. 특히 입력해야 할 정보가 많아질수록 불편함이 가중된다. 또한 화면 크기가 작은 휴대폰 등 휴대단말기에서는 가상 키보드 또는 가상 키패드를 키 입력보안에 효과적일 정도로 랜덤 이동하는 것은 불가능하다는 단점이 있다.
아울러 기존 방법은 주로 PC의 키 입력정보 해킹 방지에 대해서 다루었고, 휴대단말기 키 입력정보 해킹 방지에 대해서는 어떤 해결책도 제시되고 있지 못한 상황이다.
아울러 상기와 같은 종래의 백신 방식, 하드웨어 보안칩 방식, 소프트웨어 경쟁 방식, 가상 키보드 방식 모두 사용자가 키 입력장치에서 중요 정보를 입력하는 동안 입력중인 키나 손동작을 주위에서 엿보거나, 키에 남겨진 지문 조사 등의 물리적인 방법을 통한 키 입력정보 유출에 대해 취약하다.
한편, 미래의 키보드/키패드로서 키버튼 내부에 또는 위에 LCD, EL, LED 등의 디스플레이 소자가 결합된 디스플레이 키버튼 키보드/키패드가 확산될 것으로 예상된다. 상기 디스플레이 키버튼 키보드/키패드를 이용하면 응용에 따라 여러나라의 문자나 특수문자를 키보드/키패드에 변경 표시하여 편리하게 입력할수 있다. 한국특허출원 제2001-0088115호, 한국특허출원 제2004-0059869호, 한국특허출원 제2004-0060659호, 한국특허출원 제2004-0109861호 등에 상기 디스플레이 키버튼 키보드/키패드가 제시되었다. 종래의 키 입력정보 보안 방법은 상기 디스플레이 키버튼 키보드/키패드를 사용한 키 입력정보 해킹 방지에 대해서는 어떤 해결책도 제시하고 있지 못한 상황이다.
본 발명은 이러한 종래기술의 문제점을 해결하기 위하여 제안된 것으로서, 키 입력정보 해킹을 원천적으로 방지하기 위해 가상 키보드를 사용한 키 입력시 키 입력이 불편하지 않으면서도 키 입력정보 해킹 방지를 달성하는 키 입력정보 해킹 방지 방법 및 시스템을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 휴대단말기의 가상 키패드를 사용한 키 입력시 키 입력이 불편하지 않으면서도 키 입력정보 해킹 방지를 달성하는 키 입력정보 해킹 방지 방법 및 시스템을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 차세대 키보드/키패드인 디스플레이 키버튼 키보드/키패드를 사용하여 키 입력을 할 경우에 원천적으로 키 입력정보 해킹을 방지하는 키 입력정보 해킹 방지 방법 및 시스템을 제공하는 것을 목적으로 한다.
본 발명은 다른 목적은, 키 입력정보 해킹 방지에 추가하여 사용자가 정보입력을 할 때의 손동작을 염탐자가 엿보아 해독하는 것을 방지하는 키 입력정보 해킹 방지 방법 및 시스템을 제공하는 것을 목적으로 한다.
본 발명은 다른 목적은, 키 입력정보 해킹 방지에 추가하여 키보드 또는 키패드 등의 키입력 수단 위에 있는 지문, 키버튼 마모 등의 입력 흔적을 염탐자가 채취하여 해독하는 것을 방지하는 키 입력정보 해킹 방지 방법 및 시스템을 제공하는 것을 목적으로 한다.
본 명세서에서는 PC 실시예를 중심으로 기술하지만, 당업자라면 휴대폰 등의 휴대단말기에도 약간의 변경을 통해 용이하게 실시할 수 있다. 따라서 휴대단말기 실시예는 가급적 생략하고 PC 실시예 위주로 기술하고자 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 설명의 편의상 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소 또는 신호를 가리키는 것으로 사용된다.
도 2는 본 발명의 단말기 자체 보안 방식의 가상 키보드/키패드 시스템 구성도이다.
사용자가 단말기 자체 보안 방식으로 패스워드 및 개인정보를 입력하는 실시예에서, 본 발명의 단말기 시스템(200)은 단말기 하드웨어 및 시스템 소프트웨어(210)와 애플리케이션(220)으로 구성된다.
상기 사용자 단말기(200)는 PC(Personal Computer) 또는 휴대폰을 포함한 각종 휴대단말기일 수 있다. 상기 사용자 단말기의 단말기 하드웨어 및 시스템 소프트웨어(210)는 가상 키보드/키패드를 사용자에게 표시하는 모니터부(212), 사용자로부터 마우스, 터치스크린, 키보드, 키패드 등으로부터 키 입력을 수신하는 키 입력부(211), 가상 키보드/키패드를 생성하고 키 입력정보를 보안하고 처리하는 단말기 키 입력보안 소프트웨어(214), 통신 및 단말기의 제반 처리를 담당하는 처리부(213)로 구성된다.
상기 애플리케이션(220)은 단말기 하드웨어 및 시스템 소프트웨어(210)와 정보를 교환하고 키 입력정보를 수신하여 처리하는 키 입력보안 모듈(221)을 포함하고 있다. 사용자가 사용자 단말기에서 마우스, 터치스크린, 키보드, 키패드 등으로 상기 가상 키보드/키패드를 보고 입력한 키 입력정보를 전달받아서 현재 디스플레이되는 가상 키보드/키패드에 상응하여 해석하여 사용자가 의도한 실제 키 입력정보를 추출한다.
단말기에 부가될 수 있는 키 입력보안 부가 모듈(231)은 기존의 백신 방식 또는 소프트웨어 경쟁 방식의 키 입력보안 소프트웨어일 수 있는 데, 본 발명의 키 입력보안 시스템을 보조하여 키로거나 스파이웨어를 탐지 및 제거하거나 방어하여 추가적인 보안을 달성한다.
단말기에 부가될 수 있는 화면 캡쳐 방지 모듈(232)은 해킹 소프트웨어가 모니터 화면을 캡쳐하여 가상 키보드/키패드의 가변된 배치나 형태를 파악하지 못하도록 추가적인 보안을 제공한다.
전술한 실시예에서는 키 입력보안 모듈(221)과 단말기 키 입력보안 소프트웨어(214)가 별도로 분리되어 각각 애플리케이션과 시스템 소프트웨어에 분산되어 있으나, 키 입력보안 모듈(221)과 단말기 키 입력보안 소프트웨어(214)가 하나로 병합되어 애플리케이션 소프트웨어 또는 시스템 소프트웨어의 어느 한 곳에 위치하거나 또는 독립 모듈로서 단말기에 위치할 수 있음은 물론이며, 설명의 편의상 본 명세서에서는 애플리케이션의 키 입력보안 모듈과 단말기 키 입력보안 소프트웨어가 모두 존재하는 실시예를 중심으로 기술한다.
본 발명의 기술적 요지는 가상 키보드/키패드의 형태나 키버튼 배치를 가변하는 것이다. 가상 키보드/키패드의 생성과 형태 또는 위치 가변 및 상기 가변에 따른 키 입력정보 해독 기능은 애플리케이션의 키 입력보안 모듈(221) 및/또는 단말기 키 입력보안 소프트웨어(214)에 구비된다.
도 3은 본 발명의 단말기 자체 보안 방식 가상 키보드/키패드 시스템의 처리 흐름도이다.
단말기 자체에서 키 입력을 요청하는 애플리케이션은 휴대폰의 잠금이나 PC의 계정 로그인과 같이 다양하다. 키 입력을 요청하는 애플리케이션이 실행되면 단말기의 모니터에 정보 입력창을 표시하게 된다(301).
단말기는 단말기 키 입력보안 소프트웨어(214)를 구동한다(302). 일 실시예에서는 애플리케이션이 키 입력을 요청하기 전부터 단말기 키 입력보안 소프트웨어를 구동하거나, 단말기를 사용할 때 항상 구동할 수 있다. 다른 예에서 키 입력보안 기능이 애플리케이션에만 존재한다면 애플리케이션의 키 입력보안 모듈(221)이 가상 키보드/키패드 생성과 키 입력정보 해독을 전담하므로 애플리케이션의 키 입력보안 모듈만 구동되어 이 (302)단계는 생략된다.
상기 정보 입력창 중 애플리케이션이 가상 키보드/키패드 입력으로 설정한 소정의 입력창에 키 입력을 해야할 상황이 발생하면(사용자가 이동시킨 마우스 포인터의 커서의 위치가 정보 입력창인 경우 또는 애플리케이션의 소정 절차에 의해 자동으로 커서가 이동하는 경우 등), 상기 사용자 단말기의 화면에 가상 키보드/키패드를 디스플레이하도록 단말기 키 입력보안 소프트웨어의 가상 키보드/키패드 생성 모듈이 동작된다(303). 다른 예에서 키 입력보안 기능이 애플리케이션에만 존재한다면 애플리케이션의 키 입력보안 모듈이 가상 키보드/키패드를 생성한다. 상기 정보 입력창은 애플리케이션의 제어에 의해 가상 키보드/키패드를 사용할 지, 가상 키보드/키패드 없이 통상의 키보드/키패드로 입력할 지 선택된다. 예를 들어 아이디는 통상적인 키보드/키패드 입력을 사용하고 패스워드는 가상 키보드/키패드를 사용하도록 제어한다. 여기서 가상 키보드/키패드는 가상 키보드/키패드 생성정보에 의해 생성된다. 본 발명에서는 가상 키보드/키패드의 키 배치를 가변하거나 각 키버튼의 크기를 가변하거나 가상 키보드/키패드의 전체 크기를 가변하는 방식으로 가상 키보드/키패드의 형태를 가변한다. 또한, 가상 키보드/키패드를 기울이거나 굽히거나 왜곡하여 변형하는 방식으로 가상 키보드/키패드의 형태를 가변한다. 또한 상기 본 발명의 네가지 형태 가변 방식에 더하여 기존 기술의 가상 키보드/키패드의 위치 가변까지 포함하여 다섯가지 가변 방식 가운데 두가지 이상의 가변 방식의 조합으로 가변할 수 있다.
기존 기술에서는 하나의 키를 입력할 때마다 매번 가상 키보드의 화면상 위치가 바뀌면서 마우스로 입력해야 하기 때문에 키의 위치를 찾는 데 시간이 걸려 불편한 단점이 있다. 본 발명에서는 하나의 키를 입력할 때마다 매번 가상 키보드의 전체 크기, 또는 각 키버튼의 크기, 또는 키 배치가 가변하는 것을 포함하는 것은 물론, 더욱 바람직하게는 소정의 방식으로 설정한 복수의 키를 한 세트의 키로 보아 한 세트의 키 입력당 한 번씩 가변한다. 이렇게 함으로써 보안성을 훼손시키지 않고 편리성을 증대할 수 있다. 로그인시 아이디와 패스워드를 입력하는 예를 들면, 아이디와 패스워드 각각을 한 세트의 키로 보아, 아이디를 입력하는 시점에서 가상 키보드/키패드가 한 번 가변되고 사용자가 키 입력을 한다음, 패스워드를 입력하는 시점에서 가상 키보드/키패드가 다시 한 번 가변되어 사용자가 키 입력을 한다. 다른 예는, 몇 개의 키를 한 세트로 설정하여 상기 몇 개의 키 입력이 이루어지면 가상 키보드/키패 드를 가변할 수 있다.
일 실시예에서는 단말기의 키 입력보안 소프트웨어(214)가 상기 가상 키보드/키패드의 생성정보를 결정하여 가상 키보드/키패드를 생성한다. 다른 실시예에서는 상기 가상 키보드/키패드의 생성정보를 애플리케이션의 키 입력보안 모듈(221)이 결정하여 키 입력보안 소프트웨어의 가상 키보드/키패드 생성 모듈은 애플리케이션이 결정한 상기 생성정보에 따라 가상 키보드/키패드를 생성한다.
상기 가상 키보드/키패드는 모니터부의 소정의 영역에 디스플레이되며, 사용자는 가상 키보드/키패드를 이용하여 키 입력을 하고 단말기 키 입력정보 보안 소프트웨어는 키 입력정보를 수신한다(304). 키 입력은 마우스의 클릭 또는 터치 스크린의 터치, 키보드/키패드 키 입력에 의하여 상기 가상 키보드/키패드의 해당 영역을 선택함으로써 수행된다. 다른 예에서 키 입력보안 기능이 애플리케이션에만 존재한다면 애플리케이션의 키 입력보안 모듈이 키 입력정보를 수신한다.
상기 단말기 키 입력보안 소프트웨어는 (304)단계에서 입력된 키 입력정보를 애플리케이션으로 전달한다(305). 일 실시예에서는 키 입력정보를 해독하고 해독한 키 입력정보를 애플리케이션에 전달한다. 다른 실시예에서는 키 입력정보를 해독하지 않고 그대로 애플리케이션에 전송한다. 추가적인 암호화를 하여 전달할 수도 있다. 다른 예에서 키 입력보안 기능이 애플리케이션에만 존재한다면 이 단계는 생략한다.
애플리케이션은 상기 키 입력정보를 넘겨 받아, 추가적인 암호화가 되었으면 복호화를 하고 키 입력정보를 해독한다(306). 일 실시예에서는 애플리케이션의 키 입력보안 처리부를 이용해 (303)단계에서 결정한 가상 키보드/키패드의 생성정보에 따 라 상기 키 입력정보를 사용자가 의도한 키 입력정보로 변환한다.
본 발명의 다른 일 실시예에서는, 보다 강화된 보안을 위하여 애플리케이션(220)과 단말기 하드웨어 및 시스템 소프트웨어(210) 사이에 상호 확인절차를 거친다. 예컨대, 애플리케이션(220)의 키 입력보안 모듈(221)이 단말기 하드웨어 및 시스템 소프트웨어(210)의 단말기 키 입력 보안 소프트웨어(214)를 구동하여 가상키보드/키패드를 생성하고 입력키값을 전달하기 위하여는 키 입력보안 모듈(221), 단말기 키 입력보안 소프트웨어(214)의 프로세스(process)가 매번 새롭게 인보크(invoke)되는데, 이들 각 프로세스 상호간에 각 프로세스 아이디를 공유하여 서로 확인된 프로세스간에만 데이터 전달이 이루어진다.
이럼으로써, 키로거 등의 해킹툴이 키보드/키패드 값(또는 좌표값)을 가로채는 것을 더 강력하게 방어할 수 있다.
도 4는 본 발명의 서버 보안 방식의 가상 키보드/키패드 시스템 구성도이다.
사용자가 통신망을 통해 서비스를 제공하는 서버에 접속하여 패스워드 및 개인정보를 입력하거나, 인터넷 뱅킹 또는 온라인결제를 하는 서버 보안 방식 실시예에서, 본 발명의 시스템은 사용자 단말기(400)와 인터넷 등의 통신망(410)을 통하여 접속하는 서버(420)로 구성된다.
상기 사용자 단말기(400)는 PC(Personal Computer) 또는 휴대폰을 포함한 각종 휴대단말기일 수 있다. 상기 사용자 단말기는 가상 키보드/키패드를 사용자에게 표시하는 모니터부(402), 사용자로부터 마우스, 터치스크린, 키보드, 키패드 등으로부터 키 입력을 수신하는 키 입력부(401), 가상 키보드/키패드를 생성하고 키 입력정 보를 보안하고 처리하는 단말기 키 입력보안 소프트웨어(404), 서버와의 통신 및 단말기의 제반 처리를 담당하는 처리부(403), 서버와 단말기 간에 키 입력정보를 포함한 정보를 통신할 때 SSL(Secure Socket Layer)과 같은 암호화 및 복호화 처리를 포함한 보안을 제어하는 암호화보안부(405)로 구성된다.
상기 서버(420)는 통신망(410)을 통해 상기 사용자 단말기(400)와 정보를 교환하며, 상기 사용자 단말기로부터 키 입력정보를 수신하고 처리하는 서버 키 입력보안 처리부(421)를 포함하고 처리부(미도시)와 저장부(미도시) 등을 구비하고 있다. 서버는 사용자가 단말기에서 마우스, 터치스크린, 키보드, 키패드 등으로 상기 가상 키보드/키패드를 보고 입력한 키 입력정보를 통신망을 통해 전달받아서 키 입력정보를 복호화하고 현재 디스플레이되는 가상 키보드/키패드에 상응하여 해석하여 사용자가 의도한 실제 키 입력정보를 추출한다.
단말기에 부가될 수 있는 키 입력보안 부가 모듈(431)은 기존의 백신 방식 또는 소프트웨어 경쟁 방식의 키 입력보안 소프트웨어일 수 있는 데, 본 발명의 키 입력보안 시스템을 보조하여 키로거나 스파이웨어를 탐지 및 제거하거나 방어하여 추가적인 보안을 달성한다.
단말기에 부가될 수 있는 화면 캡쳐 방지 모듈(432)은 해킹 소프트웨어가 모니터 화면을 캡쳐하여 가상 키보드/키패드의 가변된 배치나 형태를 파악하지 못하도록 추가적인 보안을 제공한다.
본 발명에서는 가상 키보드/키패드의 형태를 가변한다. 가상 키보드/키패드의 생성과 형태 또는 위치 가변 및 상기 가변에 따른 키 입력정보 해독 기능은 서버 키 입력보안 처리부(421) 및/또는 단말기 키 입력보안 소프트웨어(404)에 구비된다.
도 5는 본 발명의 서버 보안 방식 가상 키보드/키패드 시스템의 처리 흐름도이다.
상기 단말기(400)가 인터넷 등의 통신망(410)을 통해 서버(420)에 접속한다(501).
서버(420)는 서버에 접속된 상기 단말기에 단말기 키 입력보안 소프트웨어(404)가 존재하는 지 판단하고 정보 입력창을 포함하는 웹페이지와 같은 페이지를 사용자 단말기로 전송한다(502).
상기 판단결과 상기 단말기 키 입력보안 소프트웨어가 사용자 단말기에 설치되어 있지 않은 경우, 상기 서버로부터 상기 단말기로 단말기 키 입력보안 소프트웨어가 다운로드되어 설치되는 단계를 더 포함하며, 액티브엑스 또는 플러그인 또는 유사한 기술을 사용하여 설치될 수 있다. 상기 단말기와 서버 사이에는 통신 보안 유지를 위한 SSL 등의 통신망 보안이 설정될 수 있다. 휴대단말기의 경우에는 제품 기본 사양으로 설치되어 있던지 사용자가 다운로드하여 설치하는 형태로 구현된다.
단말기(400)는 단말기 키 입력보안 소프트웨어(404)를 구동한다(503). 일 실시예에서는 서버가 페이지를 단말기로 전송하기 전부터 단말기 키 입력보안 소프트웨어를 구동하거나, 단말기를 사용할 때 항상 구동할 수 있다.
상기 정보 입력창 중 서버 또는 단말기가 가상 키보드/키패드 입력으로 설정한 소정의 입력창에 키 입력을 해야할 상황이 발생하면(사용자가 이동시킨 마우스 포인터의 커서의 위치가 정보 입력창인 경우 또는 인터넷뱅킹에서 공인인증서 암호 입 력창에 커서가 놓이는 방식과 같이 애플리케이션의 소정 절차에 의해 자동으로 커서가 이동하는 경우 등), 상기 사용자 단말기의 화면에 가상 키보드/키패드를 디스플레이하도록 단말기 키 입력보안 소프트웨어의 가상 키보드/키패드 생성 모듈이 동작된다(504).
이때, 위 동작을 위하여 새롭게 애플리케이션과 단말기 키 입력보안 소프트웨어의 각 프로세스들은 상호간 프로세스 아이디를 공유하여 프로세스간 데이터 전달시 키로거 등의 해킹툴이 가로채는 것을 보다 강력히 방어한다.
상기 정보 입력창은 서버의 제어에 의해 가상 키보드/키패드를 사용할 지, 가상 키보드/키패드 없이 통상의 키보드/키패드로 입력할 지 선택된다. 예를 들어 아이디,계좌번호는 통상적인 키보드/키패드 입력을 사용하고 패스워드나 인증서 암호는 가상 키보드/키패드를 사용하도록 서버가 페이지를 통해 제어한다. 여기서 가상 키보드/키패드는 가상 키보드/키패드 생성정보에 의해 생성된다. 가상 키보드/키패드를 생성할 때는, 현재 시점의 가변이 가상 키보드/키패드 생성정보에 포함되어 가상 키보드/키패드를 생성한다. 일 실시예에서는 단말기의 키 입력보안 소프트웨어가 상기 가상 키보드/키패드의 생성정보를 결정하여 가상 키보드/키패드를 생성한다. 다른 실시예에서는 상기 가상 키보드/키패드의 생성정보를 서버가 결정하여 상기 생성정보를 단말기에 전송하고 단말기의 키 입력보안 소프트웨어의 가상 키보드/키패드 생성 모듈은 서버가 결정한 상기 생성정보에 따라 가상 키보드/키패드를 생성한다.
상기 가상 키보드/키패드는 모니터부의 소정의 영역에 디스플레이되며, 사용자는 가상 키보드/키패드를 이용하여 키 입력을 하고 단말기 키 입력보안 소프트웨어 는 키 입력정보를 수신한다(505). 키 입력은 마우스의 클릭 또는 터치 스크린의 터치, 키보드/키패드 키 입력에 의하여 상기 가상 키보드/키패드의 해당 영역을 선택함으로써 수행된다.
상기 단말기 키 입력보안 소프트웨어는 (505)단계에서 입력된 키 입력정보를 서버로 전송한다(506). 일 실시예에서는 키 입력정보를 해독하고 해독한 키 입력정보를 서버에 전송한다. 이때 단말기의 암호화보안부에서 추가적인 암호화를 하여 서버로 전송할 수 있다. 다른 실시예에서는 키 입력정보를 해독하지 않고 그대로 서버에 전송한다. 이때도 단말기의 암호화보안부에서 추가적인 암호화를 하여 서버로 전송할 수 있다.
서버는 상기 키 입력정보를 수신하고, 추가적인 암호화가 되었으면 복호화를 하고 키 입력정보를 해독한다(507). 일 실시예에서는 상기 복호화 이후에 서버 키 입력보안 처리부를 이용해 (504)단계에서 결정한 가상 키보드/키패드의 생성정보에 따라 상기 키 입력정보를 사용자가 의도한 키 입력정보로 변환한다.
도 6은 차세대 키보드/키패드로서 디스플레이 키버튼 키보드/키패드의 전형적인 구조를 나타낸다. LCD, EL, LED 등의 디스플레이 소자(604)에 키가 디스플레이되면 투명 스위치(603), 투명 판(602), 투명 키 누름판(601)을 통해 사용자에게 보여지게 되고, 사용자가 투명 키 누름판(601)을 눌러 키를 선택하면 투명 스위치(603)가 접촉을 인식하게 된다.
본 발명의 가변 방식을 디스플레이 키버튼 키보드/키패드에 적용하면 가상 키보드/키패드를 모니터가 아닌 키보드/키패드 버튼 위에 직접 디스플레이하여 키 입력 을 수행하게 된다.
모니터가 아닌 키보드/키패드에 가상 키보드/키패드를 디스플레이하는 이 실시예에서는, 본 발명의 네가지 가변 방식을 포함한 다섯가지 가변 방식 중에, 가상 키보드/키패드의 전체 크기나 위치를 가변하거나 각 키버튼의 크기를 가변하는 것은 가능하기는 하지만 제약이 많이 따른다. 반면 키 배치 가변은 제약이 없다.
이하에서는, 도 7 내지 13을 참조하여 본 발명에 따르는 가상 키보드/키패드의 구체적 구성에 대하여 상세히 설명한다.
본 발명에서는 가상 키보드/키패드의 키버튼 배치 가변, 각 키버튼의 크기를 가변, 가상 키보드/키패드의 전체 형상 가변, 또는 가상 키보드/키패드의 디스플레이 장치내 표출 위치 가변을 통하거나, 또는 이들의 조합으로 해킹을 방지한다. 가상 키보드/키패드의 전체 형상 가변은 가상 키보드/키패드 전체 크기를 가변시키거나, 가상 키보드/키패드를 기울이거나 굽히거나 왜곡하여 변형하는 방식으로 이루어질 수 있다.
가변 시기에 있어서, 하나의 키를 입력할 때마다 가상 키보드/키패드가 가변될 수 있음은 물론이나, 복수의 키를 한 세트의 키로 보아 한 세트의 키 입력이 완료된 후에 가변되도록 구성할 수 있다. 예컨대, 계좌암호와 인증서 암호 각각을 한 세트의 키로 보아, 계좌암호를 입력하는 시점에서 가상 키보드/키패드가 한 번 가변되고 사용자가 키 입력을 한 다음, 인증서 암호를 입력하는 시점에서 가상 키보드/키패드가 다시 한 번 가변되어 사용자가 키 입력을 하게 할 수 있다. 이렇게 함으로써 보안성을 훼손시키지 않고 편리성을 증대할 수 있다. 다른 예로서, 미리 정해진 수만큼 의 키가 입력된 다음에 가상 키보드/키패드를 가변시킬 수 있다.
도 7은 본 발명의 가상 키보드/키패드 가변에 대한 몇몇 실시예를 도시한 도면으로서, 설명의 편의와 이해의 증진을 돕고자 숫자 부분을 예시한 도면이다. 문자 부분 역시 동일한 개념으로 배치를 가변할 수 있음은 물론이다.
도 7a는 숫자키를 가변함에 있어서 본 발명의 가상 키보드/키패드의 전체 크기를 가변하는 실시예를 도시한 것으로, 키로거나 스파이웨어가 마우스 입력 상대 좌표값 또는 화면 좌표값을 가로채어 좌표값의 상대 편차를 계산하여 키 입력정보를 알아내는 것을 교란시켜 보안한다. 참조 부호 (710)은 일렬 숫자키 전체 크기를 가변하는 예이고, (711)은 10 키(ten key) 키패드의 전체 크기를 가변하는 예이다.
도 7b는 키로거나 스파이웨어를 교란시키기 위해 숫자키를 가변함에 있어서 본 발명의 개별 키버튼 크기를 가변하는 실시예를 도시한 것이다. 참조 부호 (720)은 일렬 숫자키에서 가변한 것으로서, 위 행은 '4', '8' 키버튼 크기를 늘리고 '6', '7' 키버튼 크기를 줄인 예이고, 아래 행은 '2', '4', '7' 키버튼 크기를 늘리고 '3', '5' 키버튼 크기를 줄인 예이다.
(721)은 이열 숫자키에서 키버튼 크기를 가변한 두가지 예를 보여준다. (722)는 10 키 키패드에서 가변한 것으로서, 왼쪽은 몇 개의 숫자 키버튼을 좌우 방향으로 늘리거나 줄인 예이고, 오른쪽은 몇 개의 숫자 키버튼을 상하 방향으로 늘리거나 줄인 예이다.
도 7c는 키로거나 스파이웨어를 교란시키기 위해 숫자키를 가변함에 있어서 본 발명의 키 배치를 가변하는 실시예를 도시한 것이다. 완전히 랜덤한 가변 키 배치 를 하면 키 찾기가 어려워 키입력이 불편하기 때문에, 본 발명에서 바람직하게는 규칙적인 가변 배치를 한다. 즉, 각각 키의 배치를 랜덤하게 하는 것이 완전한 랜덤 배치라면, 상기 규칙적인 가변 배치는 키 배치의 규칙을 정한 후에 무작위성을 부분적으로 가하는 방식이다. 규칙적인 가변 배치의 예로서 참조 부호 (730)은 일렬 숫자키에서 가변한 것으로서, 빈 칸 키버튼을 임의의 위치에 삽입하고 숫자키를 쉬프트하여 배치하는 방법을 보여준다. 규칙적인 가변 배치의 예로서 참조 부호 (731)은 일렬 숫자키에서 가변한 것으로서, 특정 숫자를 시작점으로 삼아 랜덤 배치하고 그 이후의 숫자는 순서대로 스크롤 회전시키는 키 배치 방법을 보여준다. (732)는 이열 숫자키에서 가변한 것으로서, 특정 숫자를 시작점으로 삼아 랜덤 배치하고 그 이후의 숫자는 순서대로 스크롤 회전시키는 키 배치 방법을 보여준다. 도면에서는 두 행이 연속되어 스크롤 회전 배치하는 예를 도시하였으나, 각 행별로 각각 스크롤 회전 배치할 수도 있다.
(733)은 10 키 키패드에서 가변한 것으로서, 빈 칸 키버튼을 임의의 위치에 삽입하고 숫자키를 쉬프트하여 배치하는 방법을 보여준다. (734)는 10 키 키패드에서 가변한 것으로서, 가운데 두 칸은 비워두고 특정 숫자를 시작점으로 삼아 랜덤 배치하고 그 이후의 숫자는 순서대로 사각형으로 스크롤 회전시키는 키 배치 방법을 보여준다. 도 7의 다양한 예에서 도면을 보면 직관적으로 알 수 있듯이 보안성이 높으면서도 키 입력이 쉽다.
도 7d는 숫자키를 가변함에 있어서 키 배치를 가변하는 다른 실시예를 도시한 것이다. 이 예에서는 참조부호 (741)부터 (744)까지 네가지 종류의 배치가 한 세트로 가변한다. (741)과 (743)은 각각 전화기와 키보드에 관용적인 키 배치이고 (742)와 (744)는 각각 상기 관용배치에서 간단히 하나의 행을 스크롤 가변한 것이다. 상기 2가지 관용배치에 행 스크롤 가변을 하는 방식은 키 입력이 매우 편리하다. 이에 추가하여 (745)는 '0'이 존재하는 행의 모든 키버튼을 '0'으로 하고, (746)은 '0'의 위치를 바꾸는 식으로 보안성을 좀 더 높일 수 있다.
도 7e는 키 배치 가변시 가상 키보드/키패드에 터치스크린이나 마우스로 입력하는 방식과 달리 가상 키보드/키패드를 보면서 실제 키보드/키패드로 입력하기에 용이하도록 실제 키보드/키패드 안내 정보를 포함한 가상 키보드/키패드를 디스플레이하는 실시예를 도시한 것이다.
(751)과 (752)는 가상 10 키 키패드에 숫자키를 가변하고 각 키버튼 우하단에 자리 숫자를 이탤릭체로 작게 디스플레이한 예이다. 예를들어, 패스워드가 '3658'이라면 사용자는 (751) 가변 키패드를 보고 '3658'을 찾은 다음 그에 해당하는 자리숫자 '4769'를 확인하고 실제 키패드에 '4769'를 입력한다. 그러면, 키 입력보안 소프트웨어는 입력한 '4769'를 '3658'로 인식한다. 실제 패스워드 '3658'에대해 일회용 패스워드(one time password, OTP) '4769'가 생성된 효과가 있게 된다. 마찬가지로 (752) 가변 키패드에서는 '3658'에 해당하는 자리 숫자 '3769'를 입력하면 되고 '3769'가 OTP가 된다.
(761)과 (762)는 가상 일렬 숫자키보드에 숫자키를 가변하고 각 키버튼 하단에 자리 숫자를 작게 디스플레이한 예이다. 예를들어, 패스워드가 '8953'이면, 사용자는 (761) 가변 키보드를 보고 '8953'을 찾은 다음 그에 해당하는 자리숫자 '2397' 을 확인하고 실제 키보드에 '2397'을 입력한다. 그러면, 키 입력보안 소프트웨어는 입력한 '2397'을 '8953'으로 인식한다. OTP '2397'이 생성된 효과가 있게 된다.
도 8은 본 발명의 가상 키보드/키패드 가운데 10 키 키패드에서 문자키를 가변하는 실시예를 나타내는 도면이다. 10 키 문자 키패드는 휴대단말기 등에 많이 이용되고 있다.
본 발명의 가상 10 키 키패드에서 문자키 가변은 숫자키 가변과 마찬가지로 가상 키패드의 전체 크기를 가변하거나 각 키버튼의 크기를 가변하거나 가상 키패드의 키 배치를 가변한다.
또한 상기 다섯가지 가변 방식 가운데 2가지 이상의 가변 방식의 조합으로 가변할 수 있다.
도 8a 에서는 전술한 숫자키 가변과 동일하거나 유사한 방식으로 10자 문자키를 가변하는 실시예를 도시하였다. 도면에서 직관적으로 알 수 있듯이 보안성이 높으면서도 키 입력이 쉽다.
도 8b는 가상 10 키 키패드에서 문자키의 특수성을 이용한 실시예를 도시한다. 10 키 키패드에서 문자키는 숫자키와 달리 하나의 키버튼에 복수의 문자가 중복 할당된 것이 많다. 본 발명에서는 이를 이용하여 문자키만의 가변 방식을 제시한다. 많은 사용자들은 휴대단말기에서 키패드를 보지 않고도 문자를 입력할 만큼 문자입력에 익숙하기 때문에, 도 8의 영문자 키패드에서 중복 할당된 문자 세트, 예를 들어, 'a','b','c'는 하나의 위치로 쉽게 인지되고 있다. 이를 이용하여 본 발명의 일 실시예에서는 중복 할당된 문자 세트의 문자끼리 선택 순서를 가변한다. 예를 들어, 'a','b','c'가 중복 할당된 키 버튼에서 선택 순서 가변은, 사용자가 키버튼을 누를 때마다 a->b->c 순서로 선택되거나, b->c->a 순서로 선택되거나, c->a->b 순서로 선택되거나 하는 방식으로 가변된다.
도 8b의 참조부호 (831)에서는 각 키버튼의 누름 선택 순서를 'qz.', 'bca', 'fde', 'ghi', 'ljk', 'nom', 'rsp', 'vtu', 'wxy'와 같이 가변한 예이다. 여기서 'bca'는 해당 키버튼을 한번씩 누를 때마다 b->c->a 순서로 키가 선택된다. (832)에서는 각 키버튼의 누름 선택 순서를 'zq.', 'cba', 'fde', 'gih', 'lkj', 'omn', 'srp', 'uvt', 'xwy'와 같이 가변한 예이다. 여기서 'cba'는 해당 키버튼을 한번씩 누를 때마다 c->b->a 순서로 키가 선택된다. 이렇게 가변할 지라도 사용자의 입력 습관과 맞아 키 위치 찾기가 쉬우므로 키 입력이 편리하다.
한글 입력에 있어서는 천지인 한글입력방식에 적용한 실시예를 기술한다. (841)에서는 각 키버튼의 누름 선택 순서를 'ㅣ', '.', '-', 'ㄱㅋ', 'ㄹㄴ', 'ㅌㄷ', 'ㅂㅍ', 'ㅎㅅ', 'ㅊㅈ', 'ㅇㅁ'와 같이 가변한 예이다. (842)에서는 (841)의 키 배치에 더하여 키 배치 가변을 조합한 방식으로 모음부분만 따로 배치를 가변한 실시예로서 'ㅡ','ㅣ','.' 순서로 모음 배치를 가변한 실시예이다.
일 실시예에서는 도 8b의 누름 선택 순서 가변을 가상 키패드의 전체 크기 가변, 위치 가변, 각 키버튼의 크기 가변, 키 배치 가변 등 다섯가지 가변 방식과 조합하여 가변한다.
(851), (852)는 10 키 키패드에서 문자키를 입력하는 상황에서 정보 입력창의 표시 형태를 보여주는 것으로서, (851)는 시각보안을 위해 항상 '*'로 표시하는 예이 고, (852)는 현재 입력중인 문자만 보여주고 이전 단계 입력 키는 '*'로 표시하는 예이다.
도 9는 본 발명의 가상 키보드/키패드 가운데 가상 키보드에서 문자키 및 숫자키를 가변하는 실시예를 나타내는 도면이다.
도 9a는 가상 키보드의 전체 크기를 가변하는 실시예를 도시한 것으로, 키로거나 스파이웨어를 교란시켜 보안한다.
도 9b는 가상 키보드를 가변함에 있어서 본 발명의 개별 키버튼 크기를 가변하는 실시예를 도시한 것이다. (920)은 'T','U','O','A' 등의 키버튼 크기를 늘리고 'Q','W','E','I','F' 등의 키버튼 크기를 줄인 예이다.
도 10은 본 발명의 가상 키보드/키패드 가운데 가상 키보드에서 문자키 및 숫자키를 가변함에 있어서 키 배치를 가변하는 실시예를 도시한 것이다. 완전히 랜덤한 키 배치를 하면 키 찾기가 어려워 키입력이 불편하기 때문에, 본 발명에서 바람직하게는 규칙적인 가변 배치를 한다. 상기 규칙적인 가변 배치는 키 배치의 규칙을 정한 후에 무작위성을 부분적으로 가하는 방식이다.
도 10a는 규칙적인 가변 배치의 예로서 (1011)은 키보드의 끝 열에 있는 문자(예를 들어 'P','L')를 임의의 위치에 삽입하고 나머지 문자키를 쉬프트하여 배치하는 방법을 보여준다.
(1012)와 (1013)은 빈 칸 키버튼을 임의의 위치에 삽입하고 나머지 문자키를 쉬프트하여 배치하는 방법을 보여준다. (1012)는 한 행당 삽입되는 빈 칸 키버튼을 2개 이하로 제한하여 디스플레이 키버튼 키보드에도 적용가능하지만, (1013)는 한 행 당 삽입되는 빈 칸 키버튼이 3개 이상이 가능하도록 하여 디스플레이 키버튼 키보드에 적용하기는 불가능하고 오직 마우스나 터치스크린 입력만 가능하다.
도 10b는 문자키와 숫자키가 섞여서 가변되는 규칙적인 가변 배치의 예를 나타낸다. (1021)은 빈 칸 키버튼을 임의의 위치에 삽입하고 나머지 문자키, 숫자키를 쉬프트하여 배치하며, 숫자키 행을 문자키 행 사이 임의의 행에 삽입하고 행을 쉬프트하는 가변 배치 방법을 보여준다. (1022)는 빈 칸 키버튼을 임의의 위치에 삽입하고 나머지 문자키, 숫자키를 쉬프트하여 배치하며, 특정 문자키를 문자키 가운데 뽑아내어 숫자키 행의 임의의 위치에 삽입하고 숫자키를 쉬프트하는 가변 배치 방법을 보여준다.
도 10c는 양손을 사용하여 입력하는 키보드의 특성을 활용한 규칙적인 가변 배치의 예이다.
이 실시예에서는 키보드의 왼손 입력 영역과 오른손 입력 영역을 분리하여 각각의 영역에서 따로 키 배치를 가변한다. (1031)은 제 1행에서 왼손 오른손 영역을 분리하여 가변하는 예로서, 제 1행의 왼손 영역(QWERT)이 분리되어 스크롤 회전 배치를 하여 'ERTQW'로 가변 배치되었고, 오른손 영역(YUIOP)이 분리되어 스크롤 회전 배치를 하여 'IOPYU'로 가변 배치되었다. (1032)는 제 1행과 2행에서 왼손 오른손 영역을 분리하여 가변하는 예로서, 왼손 영역중 제 1행(QWERT)과 2행(ASDFG)이 분리되어 스크롤 회전 배치를 하여 각각 'ERTQW', 'DFGAS'로 가변 배치되었고, 오른손 영역중 제 1행(YUIOP)과 2행(HJKL)이 분리되어 스크롤 회전 배치를 하여 각각 'PYUIO', 'JKLH'로 가변 배치되었다. 여기에서 스크롤 회전 배치에서 키 찾기를 더욱 용이하게 하기 위해 시작점이 될 수 있는 문자키(예를 들어 Q, Y, A, H 등)를 다른 키에 비해 식별이 잘 되도록 문자 크기를 키우는 방법 등을 사용할 수 있다.
도 10에서 예시한 가변 배치 외에도 다양한 규칙의 가변 배치가 가능하다. 예를 들어, 행 전체를 스크롤 회전하여 가변 배치하거나, 각 열 단위로 스크롤 회전하여 가변 배치할 수 있다. 도 10의 다양한 예는 도면을 보면 직관적으로 알 수 있듯이 보안성이 높으면서도 키 입력이 쉽다.
도 10d는 문자키 배치 가변시 가상 키보드에 터치스크린이나 마우스로 입력하는 방식과 달리 가상 키보드를 보면서 통상의 실제 키보드로 입력하기에 용이하도록 실제 키보드의 키버튼값을 가상 키보드 함께 디스플레이하는 실시예를 도시한다. 실제 키보드 문자는 가변 문자에 비해 작게 표시하고, 본 예에서는 <>안에 표시하였다. 예를 들어 패스워드가 'ugkoishdy'이라면, 사용자는 (1040) 가변 키패드를 보고 'ugkoishdy'을 찾은 다음 그에 해당하는 자리 문자 'oh;[pdjfi'를 확인하고 실제 키패드에 'oh;[pdjfi'를 입력한다. 그러면, 키 입력보안 소프트웨어는 입력한 'oh;[pdjfi'를 'ugkoishdy'로 인식한다. 실제 패스워드 'ugkoishdy'에 대해 일회용 패스워드(OTP) 'oh;[pdjfi'가 생성된 효과가 있게 된다.
도 11은 다섯가지 가변 방식 가운데 단지 키 배치 가변만 할 경우 보안성능에 대해 설명하는 도면이다.
도 11에서는 (1110)과 같이 각 행당 두 개의 빈 칸 키버튼을 임의의 위치에 삽입하고 나머지 문자키를 쉬프트하여 가변 배치하는 경우를 예시한다. 예로서 'ugkoishdy' 키를 입력할 경우에는 자리 문자 'oh;[pdjfi'가 입력되고, 키로거/스파 이웨어가 존재한다면 자리 문자 'oh;[pdjfi'를 가로챌 수 있다. 키로거/스파이웨어를 설치한 해커가 만약 키 배치 가변 규칙을 안다면, 가로챈 자리 문자 'oh;[pdjfi'를 갖고 (1120)과 같은 동일 배치 키의 테이블을 구성하여 추적을 할 수 있다. 본 명세서에서 동일 배치 키란 주어진 키 배치 가변 규칙아래에서 특정 자리 문자/숫자에 배치가 가능한 키를 의미한다. 도 11의 가변 배치 규칙, 즉 키보드 행당 두 개의 빈 칸을 둔 경우, (1120)에서 자리 문자 'O'에 상응하는 키는 'U' 또는 'I' 또는 'O'일 수 있다. 'O'에 대한 동일 배치 키가 'U','I','O'가 된다. 해커는 동일 배치 키들의 조합으로 실제 키를 찾으려고 노력하게 되므로, 한 자리 문자/숫자에 대해 동일 배치 키가 많을수록 보안성능이 기하급수적으로 올라간다. 단지 한 행당 빈 칸 두 개를 넣어 쉬프트 배치했는 데도 각 키 당 동일 배치 키가 3개씩이므로 보안성능이 높음을 알 수 있다. 9자리 패스워드라면 3의 9승의 경우의 수가 생긴다. 게다가 해커가 가변 배치의 규칙을 알 기 어려우므로 보안성능이 더 높아지고, 여기에 키 배치 가변 외에 다른 네가지 가변 방법까지 조합하면 보안성능이 극히 높아진다.
도 12는 키 배치 가변 방식을 사용할 경우에 본 발명에 따른 동일 배치 키의 관리 방법을 설명하는 순서도이다. 본 발명에서는 보안성능을 더욱 향상시키기 위하여 패스워드 등의 키 값이 입력되어야 할 때 옳은 키 값 대신 동일 배치 키가 입력되면 부정 사용 신호로 판단하여 관리한다. 먼저 키 영상을 디스플레이하고 정보입력모드가 되어 사용자의 입력을 대기한다(1200). 단계(1202)에서 사용자가 정보를 입력하면 입력한 정보를 키 값으로 해독한다(1204). 다음 단계에서는 사용자가 입력한 키 값이 옳은 키 값인지 판단한다(1206). 옳은 키 값이라면 정당한 사용자임을 인증하고 후속처리를 하고(1208) 사용자 정보입력을 종료한다(1210). 이 때 옳은 키 값인지를 판정하기 위해 해독된 키 값과 비교되는 정당 사용자 정보는 단말기나 서버 또는 칩이나 카드에 저장되어 있다. 단계(1206)에서 옳은 키 값이 아니라면 단계(1212)에서는 입력한 키 값이 옳은 키 값의 동일 배치 키 값 가운데 하나인지를 판단한다. 입력한 키 값이 동일 배치 키 값이 아니라면 단계(1200)로 가서 사용자의 재입력을 대기한다. 입력한 키 값이 옳은 키 값의 동일 배치 키 값이라면 사용자의 단말기에 키로거나 스파이웨어를 설치한 해커나 손동작 등을 염탐한 부정 사용자가 입력하고 있을 가능성이 크므로 부정 사용 처리를 한다(1214). 부정 사용 처리에는 해당 아이디, 계좌의 사용을 일시적으로 정지시키거나, 정당 사용자에게 부정 사용을 알리는 휴대단말기 문자 메시지, 이메일을 전송하거나 정상 로그인시 알리는 방법 등이 있다. 다른 실시예에서는 동일 배치 키가 누적하여 특정 횟수 이상 입력될 때만 부정 사용 처리를 한다.
도 13은 상기 다섯가지 가변 방식 가운데 두가지 이상의 조합으로 가변하는 경우에 개별 키버튼 크기 가변과 키 배치 가변을 조합하는 일 실시예를 도시한다. (1301)은 일렬 숫자키에 적용한 일례로서 스크롤 회전 배치와 개별 키버튼 크기 가변을 조합하여 적용하였다. (1302)는 문자 키보드에 적용한 일례로서 빈칸 키버튼을 삽입하고 쉬프트 가변 배치하는 방식과 개별 키버튼 크기 가변을 조합하여 적용하였다.
본 발명의 일 실시예에서는 가변 방식이 시간 또는 순서에 따라 변동한다. 즉, 빈칸 키버튼을 삽입하고 쉬프트 가변 배치하는 경우라면 시간 또는 순서에 따라, 삽입될 빈칸 키버튼의 개수를 변동할 수 있고, 개별 키 버튼 크기가 가변할 수도 있 다. 이렇게 하면 사용자가 어떤 가변 방식을 사용하여 키를 입력했는지 키로거를 설치한 해커가 알 수 없으므로 해킹을 더욱 곤란하도록 한다.
본 발명의 일 실시예에서는 사용자가 가변 방식을 선택하여 가상 키보드/키패드를 가변시키고 키 입력을 한다.
본 발명에 의하면, 키 입력정보 해킹을 원천적으로 방지할 수 있으며, 특히 키 입력이 불편하지 않으면서도 키 입력정보 해킹 방지를 달성할 수 있다.
특히 해킹툴에 의한 해킹 방지 뿐만이 아니라, 사용자가 정보입력을 할 때의 손동작을 염탐자가 엿보아 해독하는 것도 방지할 수 있으며, 보안 키보드 또는 키패드 등의 키입력 수단 위에 있는 지문, 키버튼 마모 등의 입력 흔적을 염탐자가 채취하여 해독하는 것 등 기타 다양한 방식으로 이루어지는 해킹 행위에 대해서도 강력한 방어가 될 수 있다.

Claims (14)

  1. 숫자 및 문자 입력 보안 방법에 관한 것으로,
    보안이 요구되는 사용자 입력이 필요한지를 판단하는 단계와,
    상기 사용자 입력이 필요하다고 판단할 경우, 표준 키보드 및/또는 키패드를 소정의 변환 규칙에 따라 변환하여 가상 키보드 및/또는 키패드를 구성하는 단계와,
    상기 구성된 가상 키보드 및/또는 키패드를 디스플레이 장치에 표출하는 단계와,
    상기 가상 키보드 및/또는 키패드를 이용하여 문자 및/또는 숫자를 입력받는 단계와,
    상기 입력된 문자 및/또는 숫자를 상기 소정의 규칙을 참조하여 인식하는 단계를 포함하는 보안 방법.
  2. 제1항에 있어서, 상기 변환 규칙은
    키보드 및/또는 키패드의 전체 크기를 가변하는 것인 방법.
  3. 제1항에 있어서, 상기 변환 규칙은
    키보드 및/또는 키패드의 개별 키버튼의 크기를 가변하는 것인 방법.
  4. 제1항에 있어서, 상기 변환 규칙은
    키보드 및/또는 키패드를 기울이거나, 왜곡시키는 방식으로 개별 키버튼 및 전체 형상을 변형시키는 것인 방법.
  5. 제1항에 있어서, 상기 변환 규칙은
    키보드 및/또는 키패드의 개별 키버튼의 배치를 변경하되, 배치의 규칙성의 바탕에서 일부의 변형을 부가하는 것인 방법.
  6. 제5항에 있어서, 상기 변환 규칙은 하나의 키버튼에 중복 할당된 문자 세트의 문자끼리 선택 순서를 가변하는 것인 방법.
  7. 제5항에 있어서, 상기 변환 규칙은 키버튼 배치에서 임의의 위치에 미리 정해진 수의 빈칸 키버튼을 삽입하여 쉬프트 가변 배치하는 것인 방법.
  8. 제5항에 있어서, 상기 변환 규칙은 키보드 문자키 배치에서 왼손 영역과 오른손 영역을 분리하여 가변하는 것인 방법.
  9. 제5항에 있어서, 상기 키버튼 배치 변경에 따라 하나의 키버튼에 할당될 수 있는 문자 및/또는 숫자들의 세트를 판단하고 이를 관리하는 단계와,
    입력되는 문자 및/또는 숫자가 실제 요구되는 문자 및/또는 숫자와 동일하지 않은 경우, 그 불일치 문자 및/또는 숫자가 요구되는 문자 및/또는 숫자와 동일 세트에 속하는 것인지를 확인하여, 그럴 경우 부정입력이 있는 것으로 판단하는 단계
    를 더 포함하는 방법.
  10. 제1항에 있어서, 상기 변환 규칙은 매 입력 완결시마다 변경되는 것인 방법.
  11. 제1항에 있어서, 소정회 이상 입력 오류가 될 경우, 부정사용으로 인식하는 단계를 더 포함하는 방법.
  12. 제1항에 있어서, 상기 문자 및/또는 숫자의 입력은 마우스 또는 터치스크린을 이용하여 상기 디스플레이 수단에 표출된 가상 키보드 및/또는 키패드의 각 키버튼을 선택하여 이루어지는 것인 방법.
  13. 제1항에 있어서, 상기 문자 및/또는 숫자의 입력은 입력 장치에 부착된 키보드 및/또는 키패드를 이용하여 이루어지는 것인 방법.
  14. 휴대폰, 컴퓨터 등을 이용하여 사용자가 입력하는 문자 및/또는 숫자의 보안을 제공하는 보안 시스템으로서,
    소정의 변환규칙에 따라 가상 키보드 및/또는 키패드를 생성하는 생성 수단 과,
    상기 생성 수단에 의해 생성된 가상 키보드 및/또는 키패드를 표출하는 디스플레이 수단과,
    문자 및/또는 숫자를 입력하는 입력 수단과,
    상기 입력 수단에 의해 입력된 값을 상기 가상 키보드 및/또는 키패드를 참조하여 인식하는 인식수단
    을 포함하는 입력 장치.
KR1020060099222A 2006-10-12 2006-10-12 전자 장치로의 사용자 입력 보안 방법 KR100880862B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060099222A KR100880862B1 (ko) 2006-10-12 2006-10-12 전자 장치로의 사용자 입력 보안 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060099222A KR100880862B1 (ko) 2006-10-12 2006-10-12 전자 장치로의 사용자 입력 보안 방법

Publications (2)

Publication Number Publication Date
KR20080033600A true KR20080033600A (ko) 2008-04-17
KR100880862B1 KR100880862B1 (ko) 2009-01-30

Family

ID=39573468

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060099222A KR100880862B1 (ko) 2006-10-12 2006-10-12 전자 장치로의 사용자 입력 보안 방법

Country Status (1)

Country Link
KR (1) KR100880862B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100077735A (ko) * 2008-12-29 2010-07-08 엘지전자 주식회사 해킹 방지기능을 구비하는 휴대 단말기 및 그 동작방법
KR101306777B1 (ko) * 2010-07-14 2013-09-10 서진호 증강 현실 기반의 가상 입력장치 암호화를 이용한 전자거래 보안 방법 및 시스템
WO2018022716A1 (en) * 2016-07-27 2018-02-01 Wayne Fueling Systems Llc Methods, systems, and devices for secure payment and providing multimedia at fuel dispensers
KR101876271B1 (ko) * 2016-05-31 2018-07-09 조선대학교산학협력단 순환식 보안 키패드를 이용한 인증 방법 및 장치
KR20200141742A (ko) * 2019-06-11 2020-12-21 주식회사 이니라인 문자 보안 출력 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체
CN112198973A (zh) * 2016-04-06 2021-01-08 创新先进技术有限公司 变更按键与字符的对应关系的方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105022494A (zh) * 2014-04-30 2015-11-04 虹映科技股份有限公司 虚拟键盘的安全输入方法与系统
KR102025764B1 (ko) 2017-09-22 2019-09-26 주식회사 코스콤 보안 키 배열 방법 및 그 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324807A (ja) * 1993-05-10 1994-11-25 Nec Corp 暗証番号入力装置
JP2002049461A (ja) 2000-08-04 2002-02-15 Toppan Printing Co Ltd データ入力装置
JP3630153B2 (ja) * 2002-07-19 2005-03-16 ソニー株式会社 情報表示入力装置及び情報表示入力方法、並びに情報処理装置
KR100507712B1 (ko) * 2003-04-14 2005-08-17 넥스비(주) 가변 키 배치의 정보 입력 장치 및 그 제어 방법

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100077735A (ko) * 2008-12-29 2010-07-08 엘지전자 주식회사 해킹 방지기능을 구비하는 휴대 단말기 및 그 동작방법
KR101306777B1 (ko) * 2010-07-14 2013-09-10 서진호 증강 현실 기반의 가상 입력장치 암호화를 이용한 전자거래 보안 방법 및 시스템
CN112198973A (zh) * 2016-04-06 2021-01-08 创新先进技术有限公司 变更按键与字符的对应关系的方法及装置
KR101876271B1 (ko) * 2016-05-31 2018-07-09 조선대학교산학협력단 순환식 보안 키패드를 이용한 인증 방법 및 장치
WO2018022716A1 (en) * 2016-07-27 2018-02-01 Wayne Fueling Systems Llc Methods, systems, and devices for secure payment and providing multimedia at fuel dispensers
CN110073400A (zh) * 2016-07-27 2019-07-30 韦恩加油系统有限公司 用于在燃料加注器处安全支付和提供多媒体的方法,系统和设备
US10445971B2 (en) 2016-07-27 2019-10-15 Wayne Fueling Systems Llc Methods, systems, and devices for secure payment and providing multimedia at fuel dispensers
US10846976B2 (en) 2016-07-27 2020-11-24 Wayne Fueling Systems Llc Methods, systems, and devices for secure payment and providing multimedia at fuel dispensers
US11302136B2 (en) 2016-07-27 2022-04-12 Wayne Fueling Systems Llc Methods, systems, and devices for secure payment and providing multimedia at fuel dispensers
KR20200141742A (ko) * 2019-06-11 2020-12-21 주식회사 이니라인 문자 보안 출력 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체

Also Published As

Publication number Publication date
KR100880862B1 (ko) 2009-01-30

Similar Documents

Publication Publication Date Title
KR100880862B1 (ko) 전자 장치로의 사용자 입력 보안 방법
KR101425171B1 (ko) 사용자 비밀번호 입력 장치 및 방법
KR101175042B1 (ko) 사용자 단말기의 패스워드 인증 방법 및 그 장치
KR101228088B1 (ko) 비밀번호 입력 시스템 및 방법
EP3535680A1 (en) Method for securing a transaction performed from a non-secure terminal
CN103034798B (zh) 一种随机密码的生成方法及装置
US20150100913A1 (en) Method for providing personalized virtual keyboard
US20140098141A1 (en) Method and Apparatus for Securing Input of Information via Software Keyboards
CN104091103A (zh) 指纹与密码组合式验证方法及其装置
WO2007048687A2 (en) Method and system for secure password/pin input via mouse scroll wheel
CN103996011A (zh) 一种保护密码输入安全的方法和装置
KR100996955B1 (ko) 가상키보드를 이용한 보안방법
KR20090036820A (ko) 가상키보드 해킹 방지 입력시스템 및 동작방법
JP5651742B1 (ja) パスワードの入力方法、入力端末、及び入力システム
JP2008040984A (ja) ソフトウェアキーボードプログラム及び情報処理端末
KR20100095346A (ko) 가상키보드를 이용한 사용자 인증방법 및 그 방법을 실행하기 위한 프로그램을 저장하는 컴퓨터 판독가능한 저장매체
JP5645723B2 (ja) 認証サーバ、認証システム、及びサーバの認証方法
KR101122197B1 (ko) 터치 위치 해킹에 의한 정보 유출을 방지하는 가상키패드 표시 방법
JP2010103967A (ja) Pinコード入力の安全性を向上する知能型秘密鍵装置及びその方法
KR20140030406A (ko) 숫자 및 문자 입력 프라이버시 보호 방법
KR101015633B1 (ko) 안전한 데이터 입력 방법 및 컴퓨터로 읽을 수 있는 기록매체
JP6684933B1 (ja) キー入力システム、電子機器、ソフトウェアキーボードの制御方法
JP6068911B2 (ja) 認証装置、認証方法および認証プログラム
JP6493973B2 (ja) 文字列入力方法及びプログラム
JP5587401B2 (ja) キーボード入力データの保安システムおよび方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
J204 Invalidation trial for patent
J206 Request for trial to confirm the scope of a patent right
J121 Written withdrawal of request for trial
FPAY Annual fee payment

Payment date: 20130221

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140121

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150121

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160111

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170110

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190115

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20191125

Year of fee payment: 12