KR20190005477A - 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템 - Google Patents

키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템 Download PDF

Info

Publication number
KR20190005477A
KR20190005477A KR1020170086189A KR20170086189A KR20190005477A KR 20190005477 A KR20190005477 A KR 20190005477A KR 1020170086189 A KR1020170086189 A KR 1020170086189A KR 20170086189 A KR20170086189 A KR 20170086189A KR 20190005477 A KR20190005477 A KR 20190005477A
Authority
KR
South Korea
Prior art keywords
password
graphic image
code information
layer
virtual keyboard
Prior art date
Application number
KR1020170086189A
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 KR1020170086189A priority Critical patent/KR20190005477A/ko
Publication of KR20190005477A publication Critical patent/KR20190005477A/ko

Links

Images

Classifications

    • 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
    • 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/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • 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/0202Constructional details or processes of manufacture of the input device
    • G06F3/0219Special purpose keyboards
    • 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

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 그래픽 이미지 가상키보드 시스템을 이용한 사용자 인증 방법은 그래픽 이미지와 상기 그래픽 이미지와 대응되어 배치된 레이어를 배치하는 단계와; 그래픽 이미지 영역을 통해 선택 신호를 수신하는 단계; 상기 그래픽 이미지와 대응되어 배치된 레이어 영역에서 상기 선택 신호가 지시하는 코드정보를 추출하는 단계; 상기 추출된 코드정보를 이용하여 패스워드를 생성하는 단계 및 상기 패스워드가 기설정된 패스워드와 일치하는지 여부에 따라 상기 패스워드의 유효성을 판단하는 단계를 포함한다.
따라서, 본 발명은 터치 위치를 바꾸어주는 그래픽 이미지의 선택을 통해 패스워드를 입력하여 인증을 요청함에 따라 키로깅과 주위 노출에 의한 해킹을 막아 보안을 높여주며, 가상키보드 입력시의 오독과 입력오류를 유발하는 문자 섞임과 불규칙한 키 간격 및 키 여백을 없앰으로써 사용자의 편리성을 함께 높여주는 장점이 있다.

Description

키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템{Graphic Image Virtual Keyboard System for preventing Keylogging and Shoulder surfing}
본 발명은 그래픽 이미지상의 터치를 이용해 패스워드를 입력하여 사용자 인증 처리를 수행하기 위한 가상키보드 시스템으로 키로깅과 노출에 의한 해킹을 막아주고 패스워드 사용의 편리함을 주기 위한 기술에 관한 것이다.
최근 인터넷뱅킹, 모바일뱅킹 등 전자금융거래의 활성화와 함께 지문 인증, 정맥, 홍채 인증 등 다양한 사용자 인증 방법이 개발ㆍ보급되고 있으나, 사용자 인증을 위한 보편적인 방법으로는 패스워드 인증 방식이 이용되고 있다. 패스워드 인증 방식은 사용자로부터 초기 설정으로 입력받은 패스워드를 저장한 후, 필요시마다 사용자로부터 입력된 패스워드를 기저장된 패스워드와 비교하여 일치할 경우 패스워드 인증을 성공으로 판단한다.
하지만, 상기 패스워드는 다양한 노출 가능성을 가진다. 예를 들면, 제3자가 사용자의 패스워드 입력 과정을 지켜보고 패스워드를 알아낼 수도 있고, 해킹 프로그램이 사용자 단말에서 입력되는 패스워드를 해킹하거나 네트워크 통신 중인 데이터로부터 패스워드를 탈취하여 패스워드를 알아내는 것도 가능하다.
상기와 같이, 현재 패스워드 입력 방식은 사용자가 초기 설정한 패스워드와 동일한 패스워드를 입력해야 하기 때문에 사용자의 패스워드를 알아내기만 하면 아무 제한 없이 패스워드를 사용할 수 있게 된다. 심지어 사용자로부터 입력된 패스워드를 특별하게 암호화하여 보안을 강화한다 해도, 제3자에 의해 패스워드가 노출되면 아무리 고도화된 암호화 방식을 적용하더라도 무용지물이 된다.
이러한 문제를 해결하기 위해서, 사용자가 패스워드를 타이핑하면 아스트리크(*)나 도트(●) 기호가 표시되도록 하여 제3자가 패스워드를 알아보지 못하도록 하는 방법이 사용되고 있다. 하지만, 사용자의 타이핑 정보가 동일한 기호로 반복 표시되기 때문에 틀리지 않도록 자판에 집중하게 되므로 제3자가 패스워드 타이핑 모습을 지켜보며 패스워드를 유출하는 것을 인지하지 못하게 된다.
한편, 크고 작은 해킹사고가 발생하면서 전자금융거래에 대한 불안감이 고조되는 가운데 일회용 패스워드를 생성하는 OTP, 키보드 입력정보를 암호화해주는 키보드 보안, 고객의 웹 브라우저와 금융기관의 웹 서버간 전송정보를 암호화해주는 웹암호화, 고객정보 데이터베이스를 보호하기 위한 DB보안 등 다양한 종류의 보안 솔루션들이 속속 개발ㆍ강화되고 있으며, 현재 모바일 금융거래나 결제시 디바이스상에서 가장 많이 사용하고 있는 핀(Pin)번호는 텍스트를 기반으로 한 비밀번호 입력 방식이다.
금융거래시 사용되는 OTP(One-Time Password)는 사용자가 인증을 받고자 할 때마다 매번 새로운 인증번호를 생성하여 사용하는 일회용 패스워드로, 유출 패스워드를 무력화함으로써 전자금융거래를 해킹으로부터 보호할 수 있게 된다. 하지만, 매번 바뀌는 OTP의 번호(인증번호)를 정확히 인지하고 오류 없이 입력해야 하기 때문에 즉각적인 사용이 어렵고, OTP 입력시 생성된 번호를 암기하고 입력해야 하므로 사용자에게 번거로울뿐더러 오류입력이 발생할 문제가 있다.
또한, OTP는 관련 데이터를 주고받는 주체와 객체가 원격상에 분리ㆍ존재하여야 하므로 별도의 OTP기기를 소지하여야 했는데 핀테크와 모바일 기술의 발전으로 모바일에서도 사용이 가능해졌지만 수신번호를 암기 후 입력해야 하는 불편함은 해소하지 못하고 있다.
이때 모바일에서 OTP 수신번호나 패스워드를 입력하기 위해 사용하는 가상키보드 방식은 사용자가 패스워드를 입력할 때마다 매번 키 버튼의 문자열 순서를 뒤섞은 키보드 화면을 제공하고, 이것을 이용하여 패스워드를 입력하게 함으로써 키로깅에 의한 패스워드 해킹을 막는 방법이다(도 2 a).
하지만, 사용자가 문자열 순서가 뒤섞인 패스워드 입력화면에서 패스워드에 해당하는 키 버튼을 찾는데 집중하기 때문에 다른 관찰자가 패스워드 타이핑 모습을 지켜보는 것을 인지하지 못하게 된다. 결국 키로깅을 막아 보안을 높이려 한 조치가 오히려 입력시간 지연에 따른 주위 노출과 이로 인한 패스워드 유출이나 숄더 서핑(Shoulder surfing)을 유발하게 되는 문제가 생기는 것이다.
이러한 문제를 해결하여 최근 보급된 가상키보드는 문자열을 뒤섞지 않는 대신 가상키보드의 키 버튼 중간중간에 무작위의 빈 공간을 두어 키보드 자간을 조정하는 방법을 사용하는데(도2 b), 이것 역시 편의성에서의 차이는 있지만 사용자의 직관성과 가독성을 떨어뜨리는 문제, 주위 노출 문제를 완전히 해결하지는 못하고 있다.
결국, 이러한 특별한 보안기술들이 키로깅이나 해킹에는 효율적으로 대응하지만 패스워드 입력시 일상적이면서도 필연적으로 발생하는 단말기에서의 주위 노출은 막을 수 없다는 근원적인 문제와 사용시 불편함을 주는 문제를 가지고 있으며, 특히 모바일 금융서비스와 모바일 쇼핑이 활성화되고 IoT(Internet of Things)제품 및 웨어러블 기기가 대중화되면서 디바이스와 컨트롤러 역할을 하는 휴대 단말기의 사용빈도가 많아지고, 시간과 장소를 가리지 않고 사용하게 됨으로써 이에 대한 주위 노출과 손쉬운 패스워드의 사용 등이 휴대 단말기의 보안과 함께 중요한 문제로 인식되기 시작하였다.
이처럼 비밀번호 입력시 다른 관찰자에 의해 비밀번호가 노출되거나 키로깅에 의해 유출된다면 상기와 같은 수많은 특출한 보안기술들이 있다 하더라도 아무 쓸모가 없어지기 때문에 갈수록 비밀번호가 길어지고 있으나(4자리에서 6~8자릿수 이상으로 권장. 모바일뱅킹 핀번호는 6자리 숫자 사용), 사용자 입장에서는 이를 작은 화면의 가상키보드에서 입력해야 하므로 이로 인한 혼란과 불편이 가중되고 있다.
이러한 문제, 특히 패스워드 입력시 디바이스 상에서의 주위 노출로 인한 유출을 해결하기 위해서 지문, 홍채, 혈관, 안면 인식 등을 이용한 생체정보 인증 방식이 새롭게 개발ㆍ보급되고 있으나, 생소한 기술에 대한 사용자의 부적응과 고가의 추가적인 장비나 설치에 따른 경제적인 문제로 대중화, 보편화를 이루지 못하고 있으며, 해킹이나 오류 등으로 문제가 생길 경우 하나밖에 없는 고유한 개인 신체정보가 유출된다는 점과, 문제가 된 정보를 재발급하거나 수정하지 못한다는 점 등 또다른 여러 문제들을 내포하고 있다.
이러한 우려에도 불구하고 이미 해킹에 의해 미국의 공공기관에서 수백만 건의 지문정보가 대량 유출되는 사건이 발생하는가 하면 국내에서도 실리콘 모조지문을 이용한 부동산매매 사기 사건 등이 발생하고 있다. 심지어는 보안에 가장 강력하다고 자랑하던 홍채인증도 발표한지 채 몇 달이 안돼 해킹하는 방법이 인터넷상에 공개되기도 하였다.
특히 이 개인의 고유한 신체정보는 해킹되어 유출될 경우 다른 것으로 교체할 방법이 없기 때문에 불법사용 등의 1차적인 피해 외에도 신분위조나 범죄악용 등 2차적 피해가 우려되기 때문에 철저한 검증과 오랜 시간에 걸친 논의와 사회적 함의가 필요한 문제가 있다.
때문에, 키로깅 등에 의해 유출되지 않도록 패스워드 입력방법이나 입력체계를 바꾸거나, 사용자의 패스워드가 제3자에게 노출된다 하더라도 알아보지 못하게 하는 새로운 패스워드 인증 방식이 요구된다.
본 발명은 그래픽 이미지 가상키보드에 숫자나 문자 이미지인 타이포그래픽(Typo-graphic)을 사용하여 문자열 순서, 문자 간격을 그대로 유지하고 문자 사이에 여백 칸을 두지 않으면서도 키로깅을 막기 때문에 사용자의 패스워드 입력오류나 입력시간 지연에 따른 노출을 막아 사용자 편리성과 보안성을 함께 높이는 그래픽 이미지 가상키보드 시스템을 제공하는 것을 목적으로 한다.
또한, 본 발명은 그래픽 이미지 가상키보드에 OTP 기능을 겸하도록 하여 일회용 패스워드(One-Time Password)를 사용할 수 있기 때문에 보안을 극대화할 수 있고, 별도로 수신된 일회용 패스워드를 재입력하지 않고 사용하게 되므로 편리성을 높여주는 그래픽 이미지 가상키보드 시스템을 제공하는 것을 목적으로 한다.
또한, 본 발명은 패스워드 입력시 패스워드 입력 전이나 후 혹은 전후에 무작위로 위장 패스워드를 입력할 수 있도록 함으로써 제3자에게 패스워드 입력 장면이 노출되어 패스워드가 유출되어도 제3자는 실제 패스워드를 기억하거나 예측이 어려워져 패스워드를 주위 노출로부터 보호해주며 숄더 서핑(Shoulder Surfing Attack)을 막을 수 있도록 하는 그래픽 이미지 가상키보드 시스템을 이용한 사용자 인증 방법을 제공하는 것을 목적으로 한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
실시예들 중에서, 단말장치에서 실행되는 그래픽 이미지 가상키보드 시스템을 이용한 사용자 인증 방법은, 그래픽 이미지와 상기 그래픽 이미지와 대응된 레이어를 배치하는 단계와; 상기 그래픽 이미지 영역을 통해 선택 신호를 수신하는 단계와; 상기 그래픽 이미지와 대응되어 배치된 레이어 영역에서 상기 선택 신호가 지시하는 코드정보를 추출하는 단계와; 상기 추출된 코드정보를 이용하여 패스워드를 생성하는 단계 및 상기 패스워드가 기설정된 패스워드와 일치하는지 여부에 따라 상기 패스워드의 유효성을 판단하는 단계를 포함한다.
상기 레이어를 배치하는 단계는, 복수개로 구성된 상기 레이어의 각 유니트에 코드정보를 배치하는 단계 및; OTP에 의한 코드정보가 수신되면 각 유니트의 코드정보를 수신된 코드정보로 대치하여 배치하는 단계를 포함할 수 있다.
실시예들 중에서, 서비스 제공 서버 및 단말장치를 포함하는 그래픽 이미지 가상키보드 시스템은 상기 단말장치에 의한 서비스 요청에 따라 코드정보를 상기 단말장치에 제공하고, 상기 단말장치로부터 코드정보가 수신되면 상기 코드정보가 기 설정된 패스워드와 일치하는지 여부에 따라 상기 패스워드의 유효성을 판단하여 상기 서비스를 제공하는 서비스 제공 서버 및
상기 서비스 제공 서버로부터 수신된 코드정보를 상기 그래픽 이미지와 대응된 레이어의 각 유니트에 배치하고, 상기 그래픽 이미지 영역을 통해 선택 신호를 수신하고, 상기 그래픽 이미지와 대응되어 배치된 레이어 영역에서 상기 선택 신호가 지시하는 유니트의 코드정보를 추출한 후 해당 코드정보를 상기 서비스 제공 서버에 제공하는 단말장치를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다. 본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
본 발명에 의하면, 키로깅을 막기 위해 문자열과 간격이 수시로 바뀌어 혼란을 주는 기존의 가상키보드와 달리 문자열 순서, 문자 간격을 그대로 유지하면서도 키로깅을 막을 수 있도록 하여, 가독성 문제로 발생하는 사용자의 패스워드 입력오류나 입력시간 지연에 따른 노출을 막고 사용자 편리성을 높이면서도 효과적으로 키로깅을 막들 수 있어 보안성과 편리성을 함께 높여주는 장점이 있다.
또한, 본 발명에 의하면, 그래픽 이미지 가상키보드에서 OTP를 사용할 경우 서버에서 발송된 인증번호를 별도로 입력하지 않고서도 손쉽게 One Time Password를 사용할 수 있어 사용자 편리성과 보안을 크게 높일 수 있다.
또한, 본 발명에 의하면, 패스워드 입력 전이나 후, 혹은 전후에 무작위로 위장 패스워드를 입력할 수 있도록 함으로써 제3자에게 패스워드가 노출되어도 패스워드를 기억하거나 예측하기가 어려워, 패스워드 입력시의 주위 노출 및 숄더 서핑을 막아주는 장점이 있다.
또한, 본 발명에 의하면, 위장 패스워드를 사용할 경우 주위에서 세밀히 관찰하여도 실제 패스워드를 알아낼 수가 없기 때문에 불안한 환경에서도 안심하고 패스워드를 사용할 수 있으며, 실내 등 안전한 장소에서는 위장 패스워드 없이 실제 패스워드만으로 빠르고 편하게 사용자 인증을 할 수 있기 때문에 편리성과 보안성을 상황에 따라 사용자가 선택 사용할 수 있다는 장점이 있다.
또한, 본 발명에 의하면, 주위 노출(Shoulder surfing) 및 키로깅 방지, One Time Password 사용으로 인한 해킹 방지 등 디바이스 상이나 전송 중에서 발생하는 여러 해킹 방지 기술들이 그래픽 이미지 가상키보드를 이용한 패스워드 입력만으로 이루어지기 때문에 보안성은 높지만 사용자에게는 편리함을 주는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템을 설명하기 위한 네트워크 구성도이다.
도 2는 종래의 가상키보드를 이용하여 사용자 인증을 처리하는 기술의 예를 도시한 것이다.
도 3과 도 4는 본 발명의 일 실시예에 따른 키로깅 방지를 위한 그래픽 이미지 가상키보드와 이를 이용한 사용자 인증 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 다른 일 실시예에 따른 주위노출 방지를 위한 그래픽 이미지 가상키보드와 위장 패스워드 사용의 예를 도시한 도면이다.
도 6은 본 발명의 또 다른 일 실시예에 따른 그래픽 이미지 가상키보드와 일회용 패스워드(OTP)를 이용한 사용자 인증 처리 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 키로깅 방지를 위한 그래픽 이미지 가상키보드 시스템의 화면 구성과 배치 방법들을 예시한 도면이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...수단", "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 발명의 일 실시예에 따른 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템을 설명하기 위한 네트워크 구성도이다.
도 1을 참조하면, 그래픽 이미지 가상키보드 시스템은 단말장치(100) 및 서비스 제공 서버(200)를 포함한다.
단말장치(100)는 독립적으로 그래픽 이미지 가상키보드 시스템을 제공하거나, 서비스 제공 서버(200)와 연동하여 그래픽 이미지 가상키보드 시스템을 이용한 사용자 인증 과정을 통해 서비스를 제공받을 수 있다.
이러한 단말장치는 스마트폰, PDA, 태블릿PC, 노트북, 데스크탑PC, 스마트TV 및 현금자동입출금기(ATM), 무인금융자동화기기, 키오스크(Kiosk), 민원서류발급기 등 자동화기기로 구현될 수 있으며, 네트웍을 통해 연결된 다수의 원격 단말이나 스마트워치 등 기타 웨어러블 디바이스일 수 있다.
또는, 단말장치(100)는 무선통신망에 연결되며, 블루투스(Bluetooth)나 지그비(Zigbee)와 같은 근거리 무선통신 방식에 의해 각종 IoT(Internet of Things) 제품을 컨트롤하는 IoT 컨트롤러일 수도 있다. 그 외에도, 이와 같은 다양한 IoT 제품과 연동되는 스마트폰이나 타블렛 컴퓨터 등 모바일 디바이스의 형태일 수도 있다. 이외에도 상기의 정의를 만족하는 것이라면 하드웨어의 형태에 제약을 두지 아니한다.
단말장치(100)가 서비스 제공 서버(200)와 연동되어 동작되는 경우, 서비스 제공 서버로부터 코드정보를 수신하면, 서비스 제공 서버로부터 수신된 코드정보를 그래픽 이미지에 대응되는 레이어의 각 유니트에 배치한다.
단말장치(100)는 그래픽 이미지 영역의 터치에 의해 선택 신호를 수신하고, 그래픽 이미지와 대응되어 배치된 레이어 영역에서 선택 신호가 지시하는 유니트의 코드정보를 추출한 후 해당 코드정보를 상기 서비스 제공 서버(200)에 제공한다.
이때, 단말장치는 패스워드 입력완료 신호(예, Enter 입력 신호)가 수신되면 상기 추출된 코드정보를 이용하여 패스워드를 생성하거나, 또는 미리 정해진 개수의 패스워드가 입력되거나, 또는 특정시간 동안 선택 신호가 수신되지 않으면 상기 추출된 코드정보를 이용하여 패스워드를 생성할 수 있다.
단말장치(100)는 추출된 코드정보를 서비스 제공 서버(200)에 제공하며, 서비스 제공 서버에 의한 인증 결과에 따라 서비스 제공 서버로부터 서비스를 제공받을 수 있다.
OTP를 사용할 경우, 서비스 제공 서버(200)는 단말장치(100)에 의한 서비스 요청에 따라 일회용 패스워드(OTP: One Time Password)인 코드정보를 단말장치에 제공한다.
서비스 제공 서버(200)는 타이포그래픽상의 복수의 숫자 영역(구성 요소)에 대응되도록 배치된 상기 레이어의 복수의 유니트 영역 각각에 숫자, 문자(영문 대소문자 포함), 특수문자 및 기호 중 적어도 하나를 포함하는 상기 코드정보를 배치하며, 상기와 같은 레이어의 복수의 유니트 각각에 배치된 코드정보는 특정 시간 간격으로 랜덤하게 변경하거나, 횟수에 의해 랜덤으로 변경하거나, OTP를 기초로 시간에 따라 변경한다.
이때, 서비스 제공 서버(200)는 코드정보가 변경될 때마다 변경된 코드정보를 단말장치(100)에 제공한다. 이로 인해, 단말장치는 서비스 제공 서버로부터 수신된 코드정보를 기초로 레이어를 구성하고 있는 각 유니트에 코드정보를 재배치함으로써 서비스 제공 서버(200)의 코드정보가 변경되더라도 서비스 제공 서버와 동일한 코드정보를 유지할 수 있는 것이다.
또한, 서비스 제공 서버(200)는 단말장치(100)로부터 코드정보가 수신되면 코드정보가 기설정된 패스워드와 일치하는지 여부에 따라 패스워드의 유효성을 판단하여 상기 서비스를 제공한다.
상기의 서비스 제공 서버는 단말장치에 제공하는 서비스의 종류에 따라 변경될 수 있으며, 서비스의 종류는 금융 서비스, 결제 서비스 및 사용자 인증 서비스 중 적어도 하나를 포함할 수 있다. 즉, 서비스 제공 서버(200)는 온라인상에서 사용자 인증 후에 제공되는 모든 서비스를 포함할 수 있는 것이다.
이하에서는, 단말장치(100)가 독립적으로 그래픽 이미지 가상키보드 시스템을 이용한 사용자 인증 방법을 설명하기로 하겠으며, 단말장치(100)가 서비스 제공 서버(200)와 연동하여 실행되는 경우 이하에서 설명될 단말장치의 기능 중 일부는 서비스 제공 서버에서 실행될 수 있다.
도 3과 도 4는 본 발명의 일 실시예에 따른 키로깅 방지를 위한 그래픽 이미지 가상키보드와 이를 이용한 사용자 인증 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 단말장치(100)는 도 3과 같이 그래픽 이미지(310)를 구성하는 복수의 구성 요소(그래픽 이미지의 특정 영역, 예를 들어 0 ~ 9 등)(311)에 대응되도록 복수의 유니트(322)로 구성된 레이어(320)를 생성하고, 그래픽 이미지(310)에 대응되도록 레이어를 배치한다.
이때, 레이어(320)는 가상의 레이어로써 시각적으로 표시되지 않으며, 블록 스타일로 구성된 유니트 중 그래픽 이미지의 구성 요소에 대응된 유니트(321) 영역 각각에는 코드정보가 배치되어 있다.
상기의 코드정보는 숫자, 문자, 특수문자, 기호 중 적어도 하나를 포함하며 이 중 문자는 한글, 영어(대소문자 포함), 일본어, 중국어 등 각 나라의 문자를 포함할 수 있다.
상기 레이어(320)에 구성된 유니트(322)의 개수 5 x 8 개는 예시적인 경우로 이에 한정하지 않고 6 x 9, 7 x 10....으로 자유롭게 구성될 수 있다. 즉, 레이어에 구성된 유니트의 개수가 많을수록 유니트의 영역 넓이가 작아지게 되므로 여기에 대응되어 배치된 그래픽 이미지에서는 더 많은 부분의 위치를 선택할 수 있게 되어 숫자에 비해 개수가 많은 문자 타이포그래픽의 사용이 가능하게 된다.
도 3에 예시된 원형 모양의 그래픽 이미지(311)는 설명을 위한 것으로 사각형, 삼각형, 오각형, 별 모양 등 여러 형태가 사용될 수 있으며, 숫자(또는 문자) 형태만으로도 사용될 수 있다.
도 4를 참조하면, 단말장치(100)는 도 4와 같이 그래픽 이미지(410)와 그래픽 이미지를 구성하는 복수의 구성 요소에 대응되도록 배치된 레이어(420)를 그래픽 이미지(430)와 이에 대응되도록 배치된 레이어(440)로 교체함으로써 사용자의 입력 불편을 없애면서도 효과적으로 키로깅을 막을 수 있게 된다.
예를 들면, 도 4와 같이 그래픽 이미지인 숫자 타이포그래픽을 휴대 단말기에서 주로 사용하는 키패드 모양의 타이포그래픽(410)으로 구성할 경우, 문자배열을 뒤섞거나 문자간격을 다르게 하지 않고서도 참조번호 410, 430과 같이 주변 여백의 간격 조정과 타이포그래픽의 배치 방법 변경(450)만으로 디스플레이상에서 터치되는 위치를 바꿀 수 있기 때문에 가독성을 높이면서도 효과적으로 키로깅을 막을 수 있어 보안과 편리성이 함께 향상된 가상키보드를 제공할 수 있게 된다.
도 4를 참조하면, 입력화면의 타이포그래픽이 410에서 430으로 바뀌면 여기에 대응된 레이어도 420 -> 440으로 함께 바뀜으로써, 사용자가 터치하여 숫자 "2"를 선택하였다고 가정하면, "2" 자의 터치 위치가 각각 달라진 것을 알 수 있다.
이렇게 타이포그래픽을 이용해 터치 입력 위치를 바꾸어줌으로써 다른 위치를 선택하도록 유도하기 때문에 터치 위치값으로 가상키보드의 입력 번호를 알아내는 키로깅을 효과적으로 막을 수 있게 된다. 이때, 타이포그래픽은 숫자 모양이나 크기, 간격, 배열 등이 똑같고 단지 배치방법이나 주변 여백의 위치만 조정되기 때문에 사용자는 화면의 상하좌우 움직임만 느낄 뿐 입력화면이 바뀐 것을 인식하지 못하게 된다.
이때 사용되는 타이포그래픽은 예시한 도 7의 710_1, 710_2, 710_4와 같이 레이어의 유니트에 맞추어 문자 주변 간격의 상하좌우를 조정한다든지, 710_3과 710_5, 710_6, 710_7과 같이 문자의 배치 방법을 바꾸거나, 720, 730_1, 730_2와 같이 문자의 레이아웃(구성 방법)을 조정할 수 있는데, 가독성을 해치지 않으면서 일반적으로 흔히 사용하는 익숙한 문자의 배치방법을 사용하여 다양하게 작성되어 사용될 수 있다.
상기의 문자 배치방법은 워드 작성시 주로 사용하여 사용자에게 익숙한 앞줄정렬, 뒷줄정렬, 가운데정렬, 세로정렬, 앞칸 들여쓰기, 내어쓰기 방식 등을 사용할 수 있고, 이로 인해 가독성을 높이고 익숙한 환경을 만들어 주게 된다.
또한, 도시되지는 않았지만, 타이포그래픽의 문자 크기를 크거나 작게, 또는 장체나 평체로 크기 변형을 조정하면 이에 대응되어 있는 레이어의 유니트 크기도 함께 조정됨으로써 터치 위치가 바뀌도록 할 수도 있다.
도 7은 상기 타이포그래픽의 여백과 간격 조정과 구성(Design) 및 문자의 배치(Lay-out) 방법에 관한 예시로, 사용자는 입력화면에 배치된 타이포그래픽의 숫자 입력버튼을 터치하여 패스워드를 입력하게 되며, 이때 타이포그래픽마다 서로 다른 위치가 터치되므로 동일한 숫자라도 입력 위치가 각각 다 다르다는 것을 알 수 있다. 현재의 가상키보드의 패스워드 입력 키버튼은 숫자의 위치가 항상 고정되어 동일한 위치에 배치되어 있어야 읽기(사용하기) 편하다는 고정관념에서부터 출발한 것으로, 이로 인해 터치 위치값을 알게 되면 패스워드 입력번호를 알게 되므로 여기에서 키로깅의 문제가 발생되는 것이다.
즉, 본 발명이 패스워드 입력을 위한 가상키보드에 적용될 경우, 키로깅 예방책으로 터치 위치값을 변경하기 위해 일부러 문자를 뒤섞거나, 문자 간격을 인위적으로 조정해 생기게 되는 사용자 혼란과 입력오류, 피곤을 가증시키지 않게 된다.
이는 문자 패스워드 입력시 사용자에게 익숙한 입력환경을 항상 동일하게 제공하게 되어, 키패드의 문자열이나 문자간격이 매번 바뀌는 가상키보드 방식의 문제점인 가독성에 따른 사용자 불편과 혼란에서 오는 입력지연, 입력오류를 줄여주는 동시에 편리하고 빠른 패스워드 입력이 가능해 주위 노출은 물론 키로깅도 함께 예방할 수 있게 된다.
또한, 디스플레이 화면이 PC에 비해 상대적으로 작고 복잡한 주위환경에서의 모바일 사용이 확장되면서 모바일 금융거래나 상품구매 결제시 흔히 발생하는 번호 오입력에 대한 방지책이 될 수 있다.
도 7의 타이포그래픽은 구성, 배치에 대한 몇가지의 일부 예시일 뿐이며 가독성을 해치지 않는 범위 내에서 여러 가지 조합과 배치로 응용되어 사용될 수 있다.
이하에서는, 단말장치(100)에서 독립적으로 혹은 서비스 제공 서버(200)와 연동하여 패스워드에 대한 유효성에 따라 기설정된 서비스를 제공받을 수 있는 과정을 설명하기로 한다.
예를 들어, 단말장치(100)에서 패스워드에 대한 유효성에 따라 기설정된 서비스를 제공받는 과정은 테블릿PC나 핸드폰의 락 해제 등을 포함할 수 있으며, 단말장치(100)가 서비스 제공 서버(200)와 연동하여 패스워드에 대한 유효성에 따라 기설정된 서비스를 제공받는 과정은 금융서비스, 전자결제 및 사용자 인증 등을 포함할 수 있으며 이러한 경우 서비스 제공 서버가 결제 서버, 금융사 서버, 해당 웹 사이트 서버 등으로 구현될 수 있다.
이하에서는, 설명의 편의를 위하여 단말장치(100)에서 독립적으로 패스워드에 대한 유효성을 판단하는 과정을 중심으로 설명하겠으나, 서비스의 종류에 따라 단말장치(100)가 서비스 제공 서버(200)와 연동하여 패스워드에 대한 유효성 판단을 서비스 제공 서버에 요청한 후, 서비스 제공 서버에 의해 결정된 패스워드의 유효성 판단 결과에 따라 서비스 제공 서버로부터 기설정된 서비스를 제공받을 수 있다.
먼저, 단말장치(100)는 그래픽 이미지상의 선택 신호를 수신하면, 상기 그래픽 이미지와 대응되어 배치된 레이어 영역에서 상기 선택 신호가 지시하는 코드정보를 추출한다. 즉, 단말장치는 그래픽 이미지의 특정 영역에 대한 선택 신호가 수신되면 레이어를 구성하고 있는 복수의 유니트 중 선택 신호에 해당하는 유니트를 결정하고, 이 유니트에 할당된 코드정보를 추출한다.
단말장치(100)는 선택 신호에 해당하는 유니트에 할당된 코드정보를 이용하여 패스워드를 생성한다. 이때, 단말장치는 패스워드 입력완료 신호가 수신되면 상기 추출된 코드정보를 이용하여 패스워드를 생성하거나, 또는 미리 정해진 개수의 패스워드가 입력되거나, 또는 특정시간 동안 상기 선택 신호가 수신되지 않으면 상기 추출된 코드정보를 이용하여 패스워드를 생성할 수 있다.
그런 다음, 단말장치(100)는 입력된 패스워드가 미리 설정되어 저장된 패스워드와 일치하는지 여부에 따라 패스워드의 유효성을 판단한다.
일 실시예에서, 단말장치는 입력된 패스워드 전체가 기설정된 패스워드와 일치하는지 여부를 확인하고, 패스워드 전체가 기설정된 패스워드와 일치하면 패스워드가 유효하다고 판단한다. 이러한 실시예에 따라, 미리 결정된 서비스(예를 들어, 전자결제, 금융서비스, 온라인 사용자 인증, 단말장치의 락 해제, IoT 디바이스의 사용자 인증 등)를 제공할 수 있다.
다른 일 실시예에서, 단말장치는 입력된 패스워드 중 일부가 기설정된 패스워드와 일치하면, 상기 일부 패스워드 이외의 숫자를 위장 패스워드로 판단한다.
도 5는 본 발명의 다른 일 실시예에 따른 주위노출 방지를 위한 그래픽 이미지 가상키보드와 위장 패스워드 사용의 예를 도시한 도면이다.
도 5를 참조하면, 참조번호 510은 실제 패스워드만을 사용한 화면의 예이고, 참조번호 520은 위장 패스워드를 사용한 예시이다. 입력된 패스워드(520) "6 7 2 4 0 9 6 7 8 1" 중 "2 4 0 9"가 기설정된 패스워드와 일치하면 나머지 "6 7 6 7 8 1"은 위장 패스워드이다.
이때의 위장 패스워드는 사용자가 그래픽 이미지상의 특정 영역(숫자 이미지)을 터치하여 패스워드를 입력할 때, 실제 패스워드를 위장하기 위한 것으로, 임의의 숫자를 즉흥적으로 무작위 터치하여 생성해낸 아무 의미없는 일회성 패스워드이다.
예를 들어, 추출된 패스워드 "6, 7, 2, 4, 0, 9, 6, 7, 8, 1"은 사용자에 의해 기설정된 패스워드인 "2, 4, 0, 9"와 일치하는 숫자 조합을 갖고 있기 때문에 실제 패스워드 "2, 4, 0, 9"를 제외한 나머지 숫자 "6, 7, 6, 7, 8, 1"은 위장 패스워드인 것이다.
이때, 위장 패스워드를 제외한 실제 패스워드의 추출을 위해 Finite-state automaton based search, Brute Force Algorithm, Knuth-Morris-Pratt Algorithm, Rabin-Karp string algorithm 등의 문자열검색 알고리즘이나 패턴매칭 알고리즘, 패턴인식 알고리즘 등을 사용할 수 있다.
상기의 위장 패스워드는 도 5 (b)의 예시와 같이 실제 패스워드의 이전 또는 이후 또는 이전, 이후에 사용할 수 있다.
또한, 위장 패스워드는 실제 패스워드를 위장하기 위한 것이므로 패스워드처럼 그 값이 항상 동일해야 하는 것이 아니며, 일회용이므로 사용자의 즉흥적인 판단에 의해 무작위 숫자를 무작위 개수로, 매번 다르게 자유롭게 입력하여 사용할 수 있다.
하지만, 사용자 측면에서 보면 위장 패스워드의 입력 개수는 제한 없이 자유롭게 사용하는 것이 편리하겠지만, 추측공격에 의한 무작위 터치 입력이 시도될 경우를 고려하면 6개 이하로 한정함이 바람직하다.
상기의 위장 패스워드는 무작위로, 즉흥적으로, 한번 이상의 터치 입력으로 사용할 수 있고, 사용자의 선택에 의해 사용(520)되거나 미사용(510)될 수 있다. 사용자가 위장 패스워드를 입력하지 않고 실제 패스워드만을 입력한 경우 위장 패스워드는 검출되지 않고 실제 패스워드만 검출된다.
상기 추출된 패스워드가 기설정된 패스워드와 일치하는지의 여부를 확인하여 일치하지 않는 것으로 판명되면, 이는 올바르지 않은 패스워드이므로 에러 처리한다.
일반적으로 패스워드는 사용자의 편리성을 위해 짧고 간단하게 만들어 사용하기 때문에 주위 노출, 숄더 서핑 등에 의해 쉽게 유출될 수 있지만, 무작위로 입력하는 위장 패스워드를 입력한 후에 실제 패스워드를 입력하거나, 패스워드 입력 전후에 위장 패스워드를 입력하면, 패스워드와 위장 패스워드가 함께 노출되기 때문에 주위에 관찰자가 있어도 전체 패스워드 중에서 무엇이 실제 패스인지를 찾아낼 수가 없고, 전체 패스워드를 외울 수도 없기 때문에 패스워드가 노출되어 유출될 가능성을 없앨 수 있어 보안성이 크게 높아진다.
참고로, 조지 밀러의 연구논문(The Magic number Seven, plus or minus Two; George A. Miller, 1956년) 중, 7을 기준으로 여기서 2개를 뺀 5개 숫자는 외우기가 쉽고, 2개를 더한 9개 숫자는 기억하기가 어렵다는 연구 결과를 근거로 하면, 상기의 패스워드(510)가 4개(2, 4, 0, 9)이고 이와 함께 입력된 위장 패스워드는 6개(6, 7, 6, 7, 8, 1)이며, 이를 모두 포함한 10개의 숫자(520)는 주위에 노출되어도 타인은 이것을 외우거나 기억할 수가 없게 된다. 하지만, 실제 패스워드 4개만 노출된다면 누구라도 쉽게 외울 수가 있기 때문에 노출의 취약성을 갖게 되는 것이다.
앞서 기술한 대로 사용자는 위장 패스워드의 사용과 미사용을 선택할 수 있는데, 자택이나 사무실 등 안전한 장소에서는 위장 패스워드의 사용 없이 바로 실제 패스워드만을 간단히 입력하여 신속하고 편리하게 사용하고, 주위 노출이 의심되거나 주변 관찰자가 많은 불안한 경우에는 패스워드와 함께 위장 패스워드를 입력하여 패스워드를 감추어 사용함으로써 패스워드 노출을 사전 예방 및 방지할 수가 있게 된다.
현재의 패스워드 입력 시스템은 주위의 상황이 위험하다고 인지되어도 손으로 가리고 입력하는 아주 단순한 예방 수단밖에는 취할 수가 없기 때문에 이러한 상황을 인지하고도 사용자가 그 위험을 감내할 수밖에 없다. 특히 "디지털 도어락이나 ATM, 휴대폰 인증시 불안감을 가장 많이 느낀다"는 보안에 대한 조사결과를 참조하면, 위장 패스워드를 사용함으로써 사용자가 현실적으로 느끼는 불안감을 크게 해소시킬 수 있게 되고 회사나 제품의 신뢰도도 함께 향상될 수 있게 된다.
흔히 사용하는 ATM기의 경우를 보면, 사용자 뒤로 길게 줄을 서는 상황이 자주 발생되는데, 이때 사용자는 아무런 보안대책을 취하지 못하고 입력화면의 지시에 따르며 입력에 집중할 수밖에 없는 처지에 놓이게 된다. 실제로 "주의! 책이나 손 등으로 가리고 사용하세요."란 경고만을 모니터에 띄우고 있는 실정으로 아무런 노출방지 대책 없이 위험은 사용자가 알아서 하라는 식이다. 이런 상황에서 실제 패스워드에 위장 패스워드를 추가하여 입력할 경우 패스워드 노출과 유출을 방지할 수 있는 것은 물론 사용자 측면에서는 보다 안심하며 패스워드를 사용할 수 있게 된다.
도 6은 본 발명의 또 다른 일 실시예에 따른 그래픽 이미지 가상키보드와 일회용 패스워드(OTP)를 이용한 사용자 인증 처리 방법을 설명하기 위한 도면이다.
도 6을 참조하면, OTP를 사용하는 경우 상기 레이어(620)의 유니트는 그래픽 이미지(610)상의 구성 요소(숫자 원 아이콘)와 대응되어 있고, 상기의 유니트 각각에는 OTP에 의해 바뀐 코드정보가 배치되기 때문에, 사용자는 그래픽 이미지상의 동일한 구성 요소(동일한 숫자)를 선택하지만 유니트의 교체된 코드정보를 선택하게 된다.
도 6에 도시된 그래픽 이미지(610)는 설명을 위한 예시로, 입력화면의 그래픽 이미지에는 문자, 특수문자, 기호, 아이콘, 도형, 캐릭터, 그림 및 사진 이미지가 사용될 수 있다.
상기 그래픽 이미지 중 타이포그래픽은 숫자, 한글, 영문(대소문자 포함) 및 일본어, 한자 등 각 나라의 문자가 포함된다. 그 외에도 특수문자나 기호도 이에 해당되며 이는 모두 그래픽 이미지로 구성되어 사용될 수 있다.
본 발명은 도 6과 같이 그래픽 이미지가 원 아이콘과 숫자로 구성된 타이포그래픽을 예로 들어 설명한다.
복수의 원 아이콘 영역으로 표현된 숫자 타이포그래픽(610)이 사용되는 경우, 숫자 타이포그래픽과 대응되어 배치되어 있는 레이어(620)의 유니트 각각의 코드정보는 변경될 수 있다.
이때, 레이어에 배치되어 있는 복수의 유니트 영역 각각의 코드정보는 특정 시간 간격으로 랜덤하게 변경되거나, 사용 횟수에 의해 랜덤으로 변경되거나, OTP를 기초로 시간에 따라 변경될 수 있다. 즉, 숫자 타이포그래픽(610)과 대응되어 배치되어 있는 레이어(620)의 코드정보는 레이어 630 및 레이어 640, 650과 같이 상기의 방법에 의해 변경될 수 있다.
예를 들어, "2, 4, 0, 9"를 터치하여 "2"에 해당하는 유니트의 코드정보 "0", "4"에 해당하는 코드정보 "3", "0"에 해당하는 코드정보 "2" 및 "9"에 해당하는 코드정보 "4"를 조합한 숫자인 "0, 3, 2, 4"를 입력할 수 있는 것이다.
이때 사용자에게 보여지는 타이포그래픽의 숫자 이미지(610)는 그래픽 이미지로써 바뀌지 않기 때문에 사용자는 레이어의 코드정보가 변경(630 -> 640 -> 650)된 것을 알 수가 없고, 타이포그래픽의 숫자 이미지(610)상에 나타나있는 개별 숫자를 터치해 입력값을 입력하지만 레이어의 변경된 코드정보가 입력되게 된다. 즉, 사용자는 숫자 타이포그래픽(610)에서 "2"를 입력하지만 레이어(630)의 코드정보가 바뀐 유니트에 의해 "0"이 입력되며, 동일한 방식으로 다음엔 바뀐 "4"가, 그 다음엔 "9"가 입력되게 된다.
상기와 같은 이유로, 본 발명이 패스워드를 이용한 서비스(예를 들어, 전자결제, 전자금융서비스, 온라인 사용자 인증 등) 제공 시스템에 적용되는 경우, 사용자는 변경 발송된 인증번호를 별도로 입력하지 않고도 손쉽게 One Time Password를 사용하는 것과 동일한 기능을 사용할 수 있게 된다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.
100: 단말장치
200: 서비스 제공 서버

Claims (14)

  1. 단말장치에서 실행되는 그래픽 이미지 가상키보드 시스템을 이용한 사용자 인증 방법에 있어서,
    그래픽 이미지와 상기 그래픽 이미지와 대응된 레이어를 배치하는 단계와;
    상기 그래픽 이미지 영역을 통해 선택 신호를 수신하는 단계;
    상기 그래픽 이미지와 대응되어 배치된 레이어 영역에서 상기 선택 신호가 지시하는 코드정보를 추출하는 단계;
    상기 추출된 코드정보를 이용하여 패스워드를 생성하는 단계; 및
    상기 패스워드가 미리 설정된 패스워드와 일치하는지 여부에 따라 상기 패스워드의 유효성을 판단하는 단계를 포함하는 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템.
  2. 제1항에 있어서,
    상기 그래픽 이미지를 구성하는 복수의 구성 요소에 대응되도록 복수의 유니트로 구성된 레이어를 생성하는 단계; 및
    상기 그래픽 이미지에 대응되도록 상기 레이어를 배치하는 단계를 더 포함하는 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템.
  3. 제2항에 있어서,
    상기 그래픽 이미지를 구성하는 복수의 구성 요소 중 적어도 하나의 구성 요소에 대응되는 복수의 유니트로 구성된 상기 레이어를 생성하는 단계는
    상기 레이어의 복수의 유니트 각각에 코드정보를 배치하는 단계를 포함하는 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템.
  4. 제3항에 있어서,
    상기 레이어의 복수의 유니트 각각에 코드정보를 배치하는 단계는
    상기 레이어의 복수의 유니트 각각에 숫자, 문자, 특수문자 및 기호 중 적어도 하나를 포함하는 상기 코드정보가 배치하는 단계를 포함하는 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템.
  5. 제4항에 있어서,
    상기 레이어의 복수의 유니트 각각에 코드정보를 배치하는 단계는
    상기 레이어의 복수의 유니트 각각에 배치된 코드정보는 특정시간 간격으로 랜덤하게 변경하거나, 횟수에 의해 랜덤으로 변경하거나, OTP(One Time Password)를 기초로 시간에 따라 변경하는 단계를 포함하는 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템.
  6. 제1항에 있어서,
    상기 그래픽 이미지와 대응되어 배치된 레이어 영역에서 상기 선택 신호가 지시하는 코드정보를 추출하는 단계는
    상기 그래픽 이미지의 특정 영역에 대한 선택 신호가 수신되면, 상기 레이어에 구성되어 있는 복수의 유니트 중 상기 선택 신호에 해당하는 유니트를 결정하는 단계; 및
    상기 유니트에 할당된 코드정보를 추출하는 단계를 포함하는 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템.
  7. 제1항에 있어서,
    상기 추출된 코드정보를 이용하여 패스워드를 생성하는 단계는
    상기 패스워드 중 일부 번호가 상기 기설정된 패스워드와 일치하면
    상기 일부 번호가 추출되기 이전 또는 이후 또는 이전, 이후의 번호를 위장 패스워드로 결정하는 단계를 포함하는 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템.
  8. 제7항에 있어서,
    상기 위장 패스워드는 즉흥적인 터치로 입력되는 무작위의 1 자릿수 이상의 숫자, 문자, 특수문자 및 기호 중에서 어느 하나 이상을 포함하고,
    사용자의 선택에 따라 사용되거나 미사용되는 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템.
  9. 제1항에 있어서,
    사용자의 패스워드 설정 요청에 따라 패스워드 설정 절차를 제공하는 단계;
    상기 패스워드 설정 절차를 통해 상기 그래픽 이미지를 구성하는 복수의 구성 요소 중 특정 구성 요소를 순차적으로 선택 받는 단계;
    상기 순차적으로 선택된 상기 특정 구성 요소에 대응되는 레이어의 각 유니트의 코드정보를 이용하여 상기 사용자의 패스워드를 결정하여 저장하는 단계를 더 포함하는 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템.
  10. 서비스 제공 서버 및 단말장치를 포함하는 그래픽 이미지 가상키보드 시스템에 있어서,
    상기 단말장치에 의한 서비스 요청에 따라 코드정보를 상기 단말장치에 제공하고, 상기 단말장치로부터 코드정보가 수신되면 상기 코드정보가 미리 설정된 패스워드와 일치하는지 여부에 따라 상기 패스워드의 유효성을 판단하여 상기 서비스를 제공하는 서비스 제공 서버; 및
    상기 서비스 제공 서버로부터 수신된 코드정보를 상기 그래픽 이미지에 대응된 레이어의 유니트 각각에 배치하고, 상기 그래픽 이미지와 대응되어 배치된 레이어 영역에서 상기 선택 신호가 지시하는 코드정보를 추출한 후 해당코드정보를 상기 서비스 제공 서버에 제공하는 단말장치를 포함하는 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템.
  11. 제10항에 있어서,
    상기 서비스 제공 서버는
    상기 그래픽 이미지에 대응되도록 배치된 상기 레이어의 복수의 유니트 각각에 숫자, 문자, 특수문자 및 기호 중 적어도 하나를 포함하는 코드정보를 배치하는 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템.
  12. 제11항에 있어서,
    상기 레이어의 복수의 유니트 각각에 배치된 코드정보는
    특정 시간 간격으로 랜덤하게 변경하거나, 횟수에 의해 랜덤으로 변경하거나, OTP를 기초로 시간에 따라 변경하는 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템.
  13. 제10항에 있어서,
    상기 서비스 제공 서버는
    상기 그래픽 이미지에 대응되도록 배치된 상기 레이어의 복수의 유니트 각각에 배치된 코드정보와 레이어가 변경될 때마다 변경된 코드정보와 레이어 정보를 상기 단말장치에 제공하는 키로긴 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템.
  14. 제10항에 있어서,
    상기 단말장치는
    상기 서비스 제공 서버로부터 수신된 레이어 정보 및 코드정보에 따라 상기 그래픽 이미지와 상기 그래픽 이미지에 대응되도록 배치된 레이어 유니트의 코드정보를 갱신하는 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템.
KR1020170086189A 2017-07-07 2017-07-07 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템 KR20190005477A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170086189A KR20190005477A (ko) 2017-07-07 2017-07-07 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170086189A KR20190005477A (ko) 2017-07-07 2017-07-07 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템

Publications (1)

Publication Number Publication Date
KR20190005477A true KR20190005477A (ko) 2019-01-16

Family

ID=65280776

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170086189A KR20190005477A (ko) 2017-07-07 2017-07-07 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템

Country Status (1)

Country Link
KR (1) KR20190005477A (ko)

Similar Documents

Publication Publication Date Title
KR101769119B1 (ko) 정크 데이터 일치여부를 이용한 사용자 인증 시스템 및 방법
US8407762B2 (en) System for three level authentication of a user
US10325086B2 (en) Computing device with graphical authentication interface
US10592653B2 (en) Encoding methods and systems
KR20180065401A (ko) 이미지 패스워드 시스템을 이용한 사용자 인증 방법 및 부가서비스 제공 방법
KR20110069567A (ko) 그래픽 다이얼 오티피를 이용한 사용자 인증방법 및 그 인증시스템
CN103996011A (zh) 一种保护密码输入安全的方法和装置
JP2006293804A (ja) パスワードの入力及び認証システム
ES2835317T3 (es) Método y sistema para autenticar la identidad usando un teclado numérico variable
Guerar et al. Color wheel pin: Usable and resilient ATM authentication
US10264450B2 (en) Authentication method using ephemeral and anonymous credentials
Adithya et al. Security enhancement in automated teller machine
KR102014408B1 (ko) 이미지 터치 패스워드를 이용한 사용자 인증 방법 및 이를 위한 컴퓨터 프로그램
KR20190005477A (ko) 키로깅 및 주위노출 방지를 위한 그래픽 이미지 가상키보드 시스템
KR20190006919A (ko) 타이포그래픽을 이용한 해킹 방지 가상키보드 시스템 및 이를 이용한 사용자 인증 방법
KR101969838B1 (ko) 다이얼식 가상 보안 키패드 및 이를 이용한 인증 방법 및 장치
KR101632582B1 (ko) 랜덤키가 포함된 패스워드를 이용한 사용자 인증 방법 및 시스템
KR20110012270A (ko) 음성과 랜덤하게 가변되는 자판 배열을 이용한 비밀 번호 처리 방법과 그 시스템
WO2016048236A1 (en) Leakage resilient password system and method
US20220374507A1 (en) Improved systems and methods for secure data input and authentication
WO2022001707A1 (en) Method and system for receiving a secure input, using a secure input means
KR20170114955A (ko) 캐릭터를 이용한 그래픽 사용자 인증 및 부가서비스 제공 방법 그리고 이를 실행하는 시스템
KR101432936B1 (ko) 랜덤 매칭을 이용한 안전한 사용자 인증 방법 및 장치
KR20170101145A (ko) 랜덤 키를 이용한 해킹 및 노출 방지 패스워드 시스템 및 사용자 인증 방법
KR101459912B1 (ko) 3차원 디스플레이를 위한 사용자 인증 방법 및 장치