KR100996955B1 - Security method using virtual keyboard - Google Patents

Security method using virtual keyboard Download PDF

Info

Publication number
KR100996955B1
KR100996955B1 KR1020080082509A KR20080082509A KR100996955B1 KR 100996955 B1 KR100996955 B1 KR 100996955B1 KR 1020080082509 A KR1020080082509 A KR 1020080082509A KR 20080082509 A KR20080082509 A KR 20080082509A KR 100996955 B1 KR100996955 B1 KR 100996955B1
Authority
KR
South Korea
Prior art keywords
user terminal
virtual keyboard
web server
user
specific character
Prior art date
Application number
KR1020080082509A
Other languages
Korean (ko)
Other versions
KR20100023635A (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 KR1020080082509A priority Critical patent/KR100996955B1/en
Publication of KR20100023635A publication Critical patent/KR20100023635A/en
Application granted granted Critical
Publication of KR100996955B1 publication Critical patent/KR100996955B1/en

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
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • 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)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

본 발명은 가상키보드를 이용한 보안방법에 관한 것으로서, 보다 상세하게는 사용자가 아이디나 패스워드와 같은 특정 문자를 입력하면서 웹서버에 로그인하는 경우에 가상키보드 상에서 문자판을 이용하여 정보를 입력하도록 하고, 입력된 문자를 암호화하여 웹서버에 전송함으로써 키보드 해킹 프로그램에 의한 개인정보 유출을 막고 안전한 접속이 이루어질 수 있도록 하는 가상키보드를 이용한 보안방법에 관한 것이다.The present invention relates to a security method using a virtual keyboard. More specifically, when a user logs in to a web server while inputting a specific character such as an ID or a password, the user inputs information using a keyboard on the virtual keyboard. The present invention relates to a security method using a virtual keyboard that prevents the leakage of personal information by a keyboard hacking program and transmits the encrypted characters to a web server so that a secure connection can be made.

본 발명에 따르면 PC나 핸드폰 등의 키보드를 통해 아이디와 패스워드 등의 비밀사항을 입력할 때 생길 수 있는 개인정보 유출의 위험을 현저히 감소시킬 수 있으며, 만의 하나 대칭키가 유출된 경우라도 개인키의 보안을 유지함으로써 데이터 해독을 방지할 수 있는 효과가 있다.According to the present invention can significantly reduce the risk of personal information leakage that can occur when entering secret information such as ID and password through the keyboard of a PC or mobile phone, even if only one symmetric key is leaked Maintaining security has the effect of preventing data decryption.

가상키보드, 암호화, 복호화, 공개키, 대칭키 Virtual keyboard, encryption, decryption, public key, symmetric key

Description

가상키보드를 이용한 보안방법{SECURITY METHOD USING VIRTUAL KEYBOARD}Security method using virtual keyboard {SECURITY METHOD USING VIRTUAL KEYBOARD}

본 발명은 가상키보드를 이용한 보안방법에 관한 것으로서, 보다 상세하게는 사용자가 아이디나 패스워드와 같은 특정 문자를 입력하면서 웹서버에 로그인하는 경우에 가상키보드 상에서 문자판을 이용하여 정보를 입력하도록 하고, 입력된 문자를 암호화하여 웹서버에 전송함으로써 키보드 해킹 프로그램에 의한 개인정보 유출을 막고 안전한 접속이 이루어질 수 있도록 하는 가상키보드를 이용한 보안방법에 관한 것이다.The present invention relates to a security method using a virtual keyboard. More specifically, when a user logs in to a web server while inputting a specific character such as an ID or a password, the user inputs information using a keyboard on the virtual keyboard. The present invention relates to a security method using a virtual keyboard that prevents the leakage of personal information by a keyboard hacking program and transmits the encrypted characters to a web server so that a secure connection can be made.

최근 컴퓨터와 인터넷 등이 급속도로 발전함에 따라 인터넷 뱅킹이나 증권 HTS(Home Trading System)와 같은 중요 업무를 컴퓨터를 사용하여 이용할 수 있게 되었다. 그러나, 이를 악용하여 스파이 웨어(spyware)나 키스트로커 로거(key stroke logger)를 이용해 키보드와 같은 데이터 입력장치를 통해 입력되는 데이터를 별도로 모두 획득하여 기록한 후 이를 이메일 주소나 웹사이트 주소를 통해 외부로 보내 도용하는 사례들이 증가하고 있다.With the recent rapid development of computers and the Internet, important tasks such as Internet banking and securities HTS (Home Trading System) can be used by using computers. However, by exploiting this, the spyware or key stroke logger can be used to acquire and record all data input through data input devices such as keyboards, and then send it externally through email or website addresses. There are a growing number of cases of sending and stealing.

그 일예로, 악의적인 해커는 개인정보의 유출을 위해 `키로거 프로그램'을 사용하는데, 이 `키로거 프로그램'은 사용자 컴퓨터에 미리 설치되어 있어야 하며, 사용자가 키보드를 통해 입력하는 아이디와 패스워드 주민등록번호, 계좌번호 등과 같은 중요한 개인정보를 로그에 기록한 후, 설정된 시간에 해커에게 전송하는 구조를 가지고 있다. 따라서, 해커에 의해 이러한 악성프로그램이 사용자의 컴퓨터에 설치되었을 경우, 인터넷 온라인 뱅킹을 사용할 때, 민감한 사용자의 개인정보들을 그대로 유출시키게 된다.For example, a malicious hacker uses a `keylogger program 'to leak personal information, which must be pre-installed on the user's computer, and the username, password, social security number, and account that the user enters through the keyboard. After recording important personal information such as numbers in the log, it has a structure to transmit to the hacker at the set time. Therefore, when such a malicious program is installed on the user's computer by the hacker, when using the Internet online banking, the sensitive user's personal information is leaked as it is.

이러한 악용 사례를 해결하고자 다양한 기술이 이용되고 있다. 일반적으로 PC에 바이러스 백신, 스파이웨어 제거 도구 또는 PC 방화벽 등을 이용하여 스파이웨어 등의 악성 프로그램을 탐지하고 제거하다. 그러나, 변형된 악성 프로그램들에 대해서는 그 프로그램을 획득하고 분석하여 제거하는 방법을 찾아내기 전까지는 도움이 되지 못한다.Various techniques are used to solve such abuse cases. Generally, antivirus, spyware removal tool or PC firewall is used to detect and remove malicious programs such as spyware. However, it does not help for modified malicious programs until it finds a way to acquire, analyze and remove the program.

이러한 보안상의 취약점을 보완하기 위하여 입력수단으로서 키보드 대신 다른 장치들을 사용하는 기술들이 개시되고 있는데, 그 중의 하나가 가상키보드를 이용한 개인정보 입력방법이다.In order to compensate for these security weaknesses, technologies that use other devices instead of the keyboard as an input means have been disclosed, and one of them is a personal information input method using a virtual keyboard.

가상키보드는 사용자 단말기 상에서 소프트웨어적으로 실행되는 키보드 위에서 사용자가 마우스의 커서 등으로 특정 문자들을 입력하면 키보드를 이용하여 문자를 입력한 것과 동일한 효과를 낼 수 있도록 하는 것이다.The virtual keyboard is intended to have the same effect as inputting characters using the keyboard when a user inputs specific characters with a mouse cursor or the like on a keyboard executed in software on the user terminal.

통상적인 키보드를 사용할 경우에는 키를 누르는 순간 입력값이 키보드 인터페이스를 통해 사용자 단말기에 입력된 후, 제어부에서 암호화되는 과정을 거치게 되므로, 키보드 인터페이스를 통과하는 순간에 입력값을 가로챌 수 있다면 암호화되기 전의 입력값을 알 수 있게 된다.In the case of using a conventional keyboard, the input value is input to the user terminal through the keyboard interface after the key is pressed, and then encrypted by the control unit. Therefore, if the input value can be intercepted at the moment passing through the keyboard interface, it is encrypted. The previous input will be known.

그러나 가상키보드를 사용할 경우에는 마우스의 클릭에 따른 입력값을 알 수 없어서 보안성을 높일 수 있는 장점이 있으나, 입력된 아이디 및 패스워드를 웹서버에 전송하는 순간에는 여전히 해커들에게 노출될 위험을 지니고 있다.However, if you use the virtual keyboard, you can increase the security by not knowing the input value according to the click of the mouse.However, the moment you send the input ID and password to the web server, you still have the risk of being exposed to hackers. have.

본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 가상키보드에서 마우스 등으로 클릭된 입력값을 암호화한 후, 웹서버에 전송하게 함으로써 키보드 입력시의 개인정보 유출 위험성을 줄일 수 있도록 하는 가상키보드를 이용한 보안방법을 제공하는 것을 목적으로 한다.The present invention has been made to solve the above-described problem, virtual keyboard to reduce the risk of personal information leakage during keyboard input by encrypting the input value clicked with a mouse, etc. in the virtual keyboard, and then transmitted to the web server An object of the present invention is to provide a security method.

또한 본 발명은 가상키보드에서 입력한 문자를 사용자 단말기에 저장된 대칭키로 암호화하고, 대칭키는 다시 공개키로 암호화한 후, 웹서버로 전송하도록 함으로써 비밀사항의 유출 가능성을 더 낮출 수 있도록 하는 가상키보드를 이용한 보안방법을 제공하는 것을 목적으로 한다.In addition, the present invention encrypts the characters entered in the virtual keyboard with the symmetric key stored in the user terminal, and encrypts the symmetric key again with the public key, and then transmits to the web server to reduce the possibility of leakage of secrets further An object of the present invention is to provide a security method.

전술한 문제점을 해결하기 위한 본 발명은 사용자 단말기 상에 실행된 가상키보드에 입력된 내용을 암호화하는 보안방법으로서, 상기 사용자 단말기가 유선 또는 무선 인터넷을 통해 웹서버에 접속하면, 상기 사용자 단말기의 디스플레이 화면상에 가상키보드를 표시하도록 하는 단계와; 상기 가상키보드에 형성된 문자판을 클릭하여 입력된 특정 문자를 상기 사용자 단말기가 상기 사용자 단말기에서 생성된 대칭키를 이용하여 상기 특정 문자를 암호화한 후, 상기 사용자 단말기가 상기 웹서버에 공개키 전송을 요청하면, 상기 웹서버가 특정 공개키를 상기 사용자 단말기에 전송하는 단계와; 상기 사용자 단말기가 상기 특정 공개키를 이용하여 상기 대칭키를 암호화한 후, 상기 암호화된 특정 문자 및 암호화된 대칭키를 상기 웹서 버에 전송하면, 상기 웹서버가 상기 특정 공개키에 대응하는 개인키를 이용하여 상기 대칭키를 복호화하는 단계와; 상기 웹서버가 상기 복호화된 대칭키를 이용하여 상기 특정 문자를 복호화하는 단계와; 상기 웹서버가 복호화된 특정 문자를 인증서버에 전송하는 단계와; 상기 인증서버로부터 사용자 인증 결과가 수신되면 상기 인증 결과를 상기 사용자 단말기에 전송하여 표시하는 단계;를 포함한다.The present invention for solving the above problems is a security method for encrypting the content input to the virtual keyboard executed on the user terminal, when the user terminal is connected to a web server via wired or wireless Internet, display of the user terminal Displaying a virtual keyboard on a screen; After the user terminal encrypts the specific character input by clicking on the letter board formed on the virtual keyboard using the symmetric key generated by the user terminal, the user terminal requests the public server to transmit the public key. The web server transmitting a specific public key to the user terminal; After the user terminal encrypts the symmetric key using the specific public key, and transmits the encrypted specific character and the encrypted symmetric key to the web server, the web server private key corresponding to the specific public key. Decrypting the symmetric key using; Decrypting, by the web server, the specific character using the decrypted symmetric key; Transmitting, by the web server, the specific character decrypted to the authentication server; And transmitting the authentication result to the user terminal and displaying the authentication result when the authentication result is received from the authentication server.

상기 사용자 단말기는 유무선 통신망을 통해 인터넷망에 접속 가능한 PC, 핸드폰, 스마트폰을 모두 포함한다.The user terminal includes both a PC, a mobile phone, and a smartphone that can be connected to the Internet through a wired or wireless communication network.

상기 사용자 단말기에 표시되는 가상키보드는 아이디 입력창, 패스워드 입력창, 문자판을 포함하며, 상기 문자판에 표시되는 문자는 국문자, 영문자, 숫자 중 어느 하나 이상인 것을 특징으로 한다.The virtual keyboard displayed on the user terminal includes an ID input window, a password input window, and a dial, and the characters displayed on the dial are one or more of Korean letters, English letters, and numbers.

상기 가상키보드에 형성된 문자판을 클릭하는 방법은 PC의 마우스나 핸드폰의 커서 이동버튼 중 하나를 조작하여 커서를 이동시켜 상기 문자판의 특정 문자를 클릭하는 방법과, 터치스크린 상에서 상기 문자판의 특정 문자가 표시되는 영역을 클릭하는 방법 중 어느 하나인 것을 특징으로 한다.The method of clicking on the dial formed on the virtual keyboard includes a method of moving a cursor by clicking one of the cursor movement buttons of a PC or a mobile phone and clicking a specific character of the dial and displaying a specific character of the dial on the touch screen. It is characterized by any one of the method of clicking the area.

상기 인증서버는 상기 사용자 단말기를 통해 입력되는 아이디를 사용하는 사용자에 대한 신상정보를 포함하며, 상기 웹서버로부터 입력되는 아이디 및 복호화된 패스워드를 이용하여 정당한 사용자 여부를 인증하는 것을 특징으로 한다.The authentication server includes personal information about a user using an ID input through the user terminal, and authenticates whether the user is a legitimate user using an ID and a decrypted password input from the web server.

상기 사용자 단말기에 표시되는 가상키보드는 재배열 버튼을 추가로 포함하며, 사용자가 상기 재배열 버튼을 클릭하면, 상기 문자판에 표현된 문자의 배열 순서가 무작위로 변경되는 것을 특징으로 한다.The virtual keyboard displayed on the user terminal further includes a rearrangement button. When the user clicks the rearrangement button, the arrangement order of the characters represented on the dial is randomly changed.

본 발명에 따르면 PC나 핸드폰 등의 키보드를 통해 아이디와 패스워드 등의 비밀사항을 입력할 때 생길 수 있는 개인정보 유출의 위험을 현저히 감소시킬 수 있으며, 만의 하나 대칭키가 유출된 경우라도 개인키의 보안을 유지함으로써 데이터 해독을 방지할 수 있는 효과가 있다.According to the present invention can significantly reduce the risk of personal information leakage that can occur when entering secret information such as ID and password through the keyboard of a PC or mobile phone, even if only one symmetric key is leaked Maintaining security has the effect of preventing data decryption.

이하, 도면을 첨부하여 본 발명의 실시예에 따른 가상키보드를 이용한 보안방법(이하, '보안방법'이라 함)에 대하여 설명한다.Hereinafter, a security method (hereinafter, referred to as a 'security method') using a virtual keyboard according to an embodiment of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명의 보안방법의 흐름을 나타낸 순서도이다.1 is a flow chart showing the flow of the security method of the present invention.

도 1에 나타난 사용자 단말기(100), 웹서버(200), 인증서버(300)는 모두 인터넷(도면 미도시)을 통해 연결된다.The user terminal 100, the web server 200, and the authentication server 300 shown in FIG. 1 are all connected through the Internet (not shown).

본 발명의 사용자 단말기(100)는 유무선 통신망을 이용하여 인터넷망에 접속할 수 있는 모든 종류의 단말기를 포함한다. 일반적으로는 데스크탑이나 노트북과 같은 PC를 포함하며, 무선 인터넷 연결이 가능한 핸드폰, PDA, 스마트폰 등도 사용될 수 있다.The user terminal 100 of the present invention includes all types of terminals that can be connected to the Internet network using a wired or wireless communication network. Generally, PCs such as desktops and laptops are included. Cell phones, PDAs, and smartphones with wireless Internet connection can be used.

최근에는 핸드폰에도 공인인증서를 다운로드하거나 사용자 식별칩을 삽입하여 인터넷뱅킹을 이용할 수 있도록 하는 서비스가 개시되어 있어서 본 발명에서와 같은 사용자 인증서비스를 구현할 필요성이 커지고 있다.Recently, a service for downloading an official certificate or inserting a user identification chip into a mobile phone to use Internet banking has been disclosed. Therefore, there is a growing need to implement a user authentication service as in the present invention.

본 발명의 웹서버(200)는 온라인 게임, 인터넷뱅킹, 정부민원처리 서비스 등을 제공하는 웹사이트의 관리장치를 의미한다. 이와 같은 서비스를 이용하기 위해 서는 반드시 사용자의 정보를 입력하여 사용자 인증을 받아야 하는데, 이러한 인증과정에서 본 발명의 보안방법이 사용될 수 있다.The web server 200 of the present invention refers to an apparatus for managing a website that provides an online game, internet banking, and a government complaint processing service. In order to use such a service, a user must be authenticated by inputting user information, and the security method of the present invention can be used in the authentication process.

인증서버(300)는 여러가지 개인정보 인증기관의 처리 시스템을 의미한다. 인증기관이란 네트워크상의 보안적격 여부와 각종 메시지의 암호화와 복호화에 사용되는 공개키(개인키, 대칭키 등)를 발급하고 관리하는 기관이다.The authentication server 300 refers to a processing system of various personal information certification authorities. The certification authority is an organization that issues and manages public key (private key, symmetric key, etc.) used for security eligibility on the network and encryption and decryption of various messages.

인증서버(300)에는 사용자의 공개키, 인증서 등의 유효기간, 사용자의 이름, 아이디, 패스워드 등 사용자에 대한 신상정보가 저장된다.The authentication server 300 stores personal information about the user, such as the user's public key, the validity period of the certificate, the user's name, ID, and password.

먼저 사용자가 온라인 게임이나 인터넷 뱅킹 등의 서비스를 이용하기 위하여 서비스 제공업체의 웹서버(200)에 접속한다.(S102) 웹서버(200)에의 접속은 인터넷에 연결된 사용자 단말기(100)를 통해 이루어진다.First, a user accesses a web server 200 of a service provider in order to use a service such as online game or internet banking. (S102) The web server 200 is accessed through a user terminal 100 connected to the Internet. .

웹서버(200)는 사용자 단말기(100)로부터 사용자 인증이 필요한 서비스에 대한 제공요청이 입력되면, 사용자 단말기(100)의 디스플레이 화면상에 표시되는 웹브라우저에서 가상키보드를 실행하여 표시할 수 있도록 한다.(S104)When the web server 200 receives a request for providing a service requiring user authentication from the user terminal 100, the web server 200 executes and displays a virtual keyboard in a web browser displayed on a display screen of the user terminal 100. (S104)

도 2는 본 발명의 실시예에 따른 가상키보드(102)의 구성을 나타낸 개념도이다. 도 2에 나타난 바와 같이, 본 발명의 가상키보드(102)는 사용자 단말기(100)에서 실행된 웹브라우저에 포함되어 표시된다. 따라서 아이디 및 패스워드 입력창을 구성하기 위하여 별도의 인터페이스 프로그램을 실행시키지 않아도 되는 장점이 있다.2 is a conceptual diagram showing the configuration of a virtual keyboard 102 according to an embodiment of the present invention. As shown in FIG. 2, the virtual keyboard 102 of the present invention is displayed by being included in a web browser executed in the user terminal 100. Therefore, there is an advantage that does not need to run a separate interface program to configure the ID and password input window.

핸드폰과 같은 장치를 단말기로 사용하는 경우에도 직접 키패드를 입력하는 것보다 화면상에 가상키보드(102)를 생성하고, 커서 이동버튼 등을 이용하여 패스 워드를 입력하는 것이 보안성을 높일 수 있다.Even when a device such as a mobile phone is used as a terminal, it is possible to increase the security by generating a virtual keyboard 102 on the screen and inputting a password using a cursor movement button, rather than directly inputting a keypad.

최근에는 풀브라우징이 가능한 핸드폰이 출시되면서 PC에서의 인터넷환경과 거의 동일한 상태로 인터넷 접속이 가능해지고 있다. 따라서 핸드폰을 이용해서 사용자 인증을 받을 때에도 PC와 동일한 방식의 적용이 가능하다.Recently, with the launch of full-browsable mobile phones, Internet access has become almost the same as the Internet environment on PCs. Therefore, it is possible to apply the same method as a PC even when a user is authenticated using a mobile phone.

또한 일반적인 PC에서도 마우스를 사용하지 않고 커서 이동버튼을 이용하여 특정 문자를 선택할 수도 있을 것이다.You can also select specific characters using the cursor movement buttons on a regular PC without using a mouse.

본 발명의 가상키보드(102)에는 아이디 입력창(104)과 패스워드 입력창(106), 문자판(108), 재배열 버튼(110)이 포함되어 있다.The virtual keyboard 102 of the present invention includes an ID input window 104, a password input window 106, a dial 108, and a rearrangement button 110.

문자판(108)에는 국문자, 영문자, 숫자 등의 문자가 표시되어 있으며, 사용자는 마우스나 이동버튼, 조그셔틀 등의 입력장치를 이용하여 특정한 문자를 클릭함으로써 아이디와 패스워드, 기타 다른 사항들을 입력할 수 있다. 또한 최근에 많이 보급되고 있는 터치패드식 핸드폰의 경우에는 가상키보드(102)를 손가락이나 입력펜으로 눌러서 문자를 입력하는 방법을 사용할 수도 있다.The dial 108 displays characters such as Korean characters, English letters, and numbers, and the user can input ID, password, and other items by clicking a specific character using an input device such as a mouse, a moving button, or a jog shuttle. have. In addition, in the case of a touch pad type mobile phone, which has been widely used in recent years, a method of inputting a character may be used by pressing the virtual keyboard 102 with a finger or an input pen.

재배열 버튼(110)은 사용자 단말기(100)의 화면상에 생성된 문자판(108)의 배열순서를 무작위로 변경시키는 기능을 한다. 이것은 마우스나 이동버튼의 움직임을 좌표값으로 읽어 사용자가 어떤 문자를 입력하는지를 파악하는 해킹 방법을 회피하기 위한 것이다. 사용자는 아이디나 패스워드를 입력하기 전에 한두 번 정도 재배열 버튼(110)을 눌러서 문자판(108)의 문자의 배열 순서를 변경시키는 것이 바람직하다.The rearrangement button 110 functions to randomly change the arrangement order of the dial 108 generated on the screen of the user terminal 100. This is to avoid the hacking method that reads the movement of the mouse or the movement button as the coordinate value and figure out which character the user inputs. It is preferable that the user presses the rearrangement button 110 once or twice before entering an ID or password to change the arrangement order of the characters of the dial 108.

사용자는 마우스나 이동버튼 등을 이용하여 아이디 입력창(104) 또는 패스워 드 입력창(106) 중 하나를 선택한 후, 커서(112)를 문자판(108)으로 옮겨서 특정 문자를 입력한다.(S106)The user selects one of the ID input window 104 or the password input window 106 by using a mouse or a moving button, and then moves the cursor 112 to the dial 108 to input a specific character. )

아이디나 패스워드 같은 특정 문자가 입력되면 사용자 단말기(100)는 암호화에 필요한 대칭키를 하나 생성하고, 생성된 대칭키를 실행시켜 특정 문자를 암호화한다.(S108, S110) When a specific character such as an ID or password is input, the user terminal 100 generates one symmetric key for encryption and encrypts the specific character by executing the generated symmetric key. (S108, S110).

본 발명에서는 사용자 인증과정에서 주로 사용되는 특정 문자를 암호화하는 것을 예를 들어 설명하지만, 이외에도 사용자 인증에 필요한 다른 사항이나 기타 보안이 요구되는 사항을 입력할 때에도 본 발명이 적용될 수 있다.In the present invention, an example of encrypting a specific character mainly used in a user authentication process is described. However, the present invention may be applied to input other matters required for user authentication or other matters requiring security.

대칭키는 암호화와 복호화에 동일한 알고리즘을 사용하는 것을 의미하는데, 암호화 데이터 크기가 56bit인 DES(Data Encryption Standard) 프로토콜과, 168bit인 3DES 프로토콜이 대표적이다. 이러한 대칭키 알고리즘과 암호화 모듈은 사용자 단말기(100)에 미리 저장되어 있을 수도 있고, 웹서버(200)에 접속할 때마다 전송받아 실행시키는 방식을 사용할 수도 있다.The symmetric key means using the same algorithm for encryption and decryption. The DES (Data Encryption Standard) protocol with a 56-bit encryption data size and the 3DES protocol with 168 bits are representative. The symmetric key algorithm and encryption module may be previously stored in the user terminal 100, or may be transmitted and executed every time the web server 200 is accessed.

본 발명의 명세서 기재된 암복호화 방식은 본 발명의 출원일 이전에 공개된 통상적인 알고리즘이므로 중복을 피하기 위하여 상세한 설명은 생략한다.The encryption / decryption scheme described in the specification of the present invention is a conventional algorithm disclosed before the filing date of the present invention, and thus detailed descriptions are omitted to avoid duplication.

입력된 문자에 대한 암호화가 완료되면 사용자 단말기(100)는 웹서버(200)에 공개키 전송을 요청한다.(S112)When the encryption for the input character is completed, the user terminal 100 requests the public key transmission to the web server 200 (S112).

공개키는 비대칭키라는 용어로도 사용되는데, 대칭키 알고리즘에서와는 달리 암호화와 복호화에 사용되는 키(key)가 서로 다른 경우를 말한다. 공개키 알고리즘에서는 암호화와 복호화에 한 쌍의 키가 사용되는데, 이 한 쌍의 키는 공개키와 개인키로 구성된다.The public key is also used as the asymmetric key, which is different from the symmetric key algorithm when the keys used for encryption and decryption are different. In the public key algorithm, a pair of keys is used for encryption and decryption. The pair of keys consists of a public key and a private key.

공개키는 누구라도 사용할 수 있도록 공개된 키이며, 개인키는 HDD나 스마트 카드 등에 보관되면서 오로지 키 쌍을 만든 주체만 사용할 수 있도록 보안이 유지되어야 한다.The public key is a public key for anyone to use, and the private key must be secured so that it can be used only by the person who created the key pair while being kept in the HDD or smart card.

공개키로 데이터를 암호화한 경우에는 반드시 해당 공개키와 한 쌍으로 생성된 개인키로만 복호화를 할 수 있다. 따라서 공개키가 유출된 경우에도 이에 대응하는 개인키가 없다면 데이터를 복호화할 수 없으므로 대칭키 알고리즘에 비하여 보안성을 높일 수 있게 되는 것이다.If the data is encrypted with the public key, it can only be decrypted with the private key paired with the public key. Therefore, even if a public key is leaked, if there is no corresponding private key, data cannot be decrypted, thereby increasing security compared to a symmetric key algorithm.

공개키 알고리즘을 사용한 암복호화 기술 역시 종래에 개시된 기술을 사용하는 것이므로 상세한 설명은 생략한다.The encryption / decryption technique using the public key algorithm also uses a technique disclosed in the related art, and thus a detailed description thereof will be omitted.

사용자 단말기(100)로부터 공개키에 대한 전송 요청이 입력되면, 웹서버(200)는 공개키와 이에 대응하는 개인키를 각각 생성하여 저장한 후, 생성된 공개키를 사용자 단말기에 전송한다.(S114, S116)When the transmission request for the public key is input from the user terminal 100, the web server 200 generates and stores the public key and the corresponding private key, and then transmits the generated public key to the user terminal. S114, S116)

사용자 단말기(100)는 웹서버(200)로부터 전송된 공개키를 이용하여 대칭키를 암호화한다.(S118) 대칭키는 사용자가 가상키보드(102)를 이용하여 입력한 특정 문자를 암호화하는데 사용된 키로서, 웹서버(200)가 암호화된 특정 문자를 복호화할 때 필요한 키이다. 이것을 웹서버(200)에 전송하기 전에 공개키로 암호화함으로써 보안성을 더 높일 수 있는 것이다.The user terminal 100 encrypts the symmetric key using the public key transmitted from the web server 200. (S118) The symmetric key is used to encrypt a specific character input by the user using the virtual keyboard 102. As a key, it is a key necessary when the web server 200 decrypts an encrypted specific character. The security can be further improved by encrypting this with a public key before transmitting it to the web server 200.

사용자 단말기(100)는 인터넷을 통해 특정 문자와 대칭키를 웹서버(200)에 전송한다.(S120) 이때 특정 문자와 대칭키는 각각 대칭키(사용자 단말기에서 생성 된 키)와 공개키(웹서버로부터 전송된 키)에 의하여 암호화된 상태이다.The user terminal 100 transmits a specific character and a symmetric key to the web server 200 through the Internet (S120). In this case, the specific character and the symmetric key are respectively a symmetric key (key generated in the user terminal) and a public key (web Encrypted by the key sent from the server).

웹서버(200)는 전송된 개인키를 이용하여 대칭키를 복호화한다.(S122) 대칭키의 복호화에 사용되는 개인키는 사용자 단말기(100)에 전송된 공개키와 대응하는 키이다.The web server 200 decrypts the symmetric key using the transmitted private key (S122). The private key used to decrypt the symmetric key is a key corresponding to the public key transmitted to the user terminal 100.

그리고 웹서버(200)는 복호화된 대칭키를 이용하여 특정 문자를 복호화한다.(S124)The web server 200 decrypts a specific character by using the decrypted symmetric key (S124).

웹서버(200)는 복호화된 특정 문자를 인증서버(300)로 전송하여 사용자 인증을 요청한다.(S126) 복호화된 특정 문자에는 사용자의 아이디와 패스워드가 포함되어 있다.The web server 200 requests user authentication by transmitting the decrypted specific character to the authentication server 300 (S126). The decrypted specific character includes the user's ID and password.

인증서버(300)는 자신의 데이터 베이스(DB)에 저장된 사용자 신상정보와 전송된 정보(특정 문자에 포함된 아이디와 패스워드)를 비교하여 사용자 인증 과정을 수행한다.(S128, S130)The authentication server 300 performs a user authentication process by comparing the user identification information stored in its database (DB) and the transmitted information (ID and password included in a specific character) (S128, S130).

사용자 인증결과는 웹서버(200)를 통해 사용자 단말기(100)에 전송됨으로써 인증절차가 마무리된다.(S132, S134) 인증절차가 마무리된 사용자는 웹서버(200)에서 온라인 게임을 즐기거나 인터넷 뱅킹을 이용할 수 있게 된다.The user authentication result is transmitted to the user terminal 100 through the web server 200, thereby completing the authentication process. (S132, S134) The user who completes the authentication process enjoys playing online games on the web server 200 or internet banking. Will be available.

이상 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하였지만, 상술한 본 발명의 기술적 구성은 본 발명이 속하는 기술 분야의 당업자가 본 발명의 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해되어야 하고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Although the preferred embodiments of the present invention have been described above with reference to the accompanying drawings, the above-described technical configuration of the present invention may be embodied by those skilled in the art to which the present invention pertains without changing its technical spirit or essential features of the present invention. It will be appreciated that the present invention may be practiced as. Therefore, the above-described embodiments are to be understood as illustrative and not restrictive in all respects, and the scope of the present invention is indicated by the appended claims rather than the detailed description, and the meaning and scope of the claims and All changes or modifications derived from the equivalent concept should be interpreted as being included in the scope of the present invention.

도 1은 본 발명의 보안방법의 흐름을 나타낸 순서도.1 is a flow chart showing the flow of the security method of the present invention.

도 2는 본 발명의 실시예에 따른 가상키보드의 구성을 나타낸 개념도.2 is a conceptual diagram showing the configuration of a virtual keyboard according to an embodiment of the present invention.

Claims (6)

유무선 통신망을 통해 인터넷망에 접속 가능한 PC, 핸드폰, 스마트폰 중 어느 하나인 사용자 단말기 상에 실행된 가상키보드에 입력된 내용을 암호화하는 보안방법으로서,A security method for encrypting contents input to a virtual keyboard executed on a user terminal, which is one of a PC, a mobile phone, and a smartphone, which can be connected to the Internet through a wired or wireless communication network. 상기 사용자 단말기가 유선 또는 무선 인터넷을 통해 웹서버에 접속하면, 상기 사용자 단말기의 디스플레이 화면상에 국문자, 영문자, 숫자 중 어느 하나 이상의 문자가 배열된 문자판이 포함된 가상키보드를 표시하도록 하는 단계와;When the user terminal accesses a web server through a wired or wireless internet, displaying a virtual keyboard including a dial on which one or more characters of Korean, English and numbers are arranged on a display screen of the user terminal; 상기 가상키보드에 형성된 문자판을 클릭하여 입력된 특정 문자를 상기 사용자 단말기가 상기 사용자 단말기에서 생성된 대칭키를 이용하여 상기 특정 문자를 암호화한 후, 상기 사용자 단말기가 상기 웹서버에 공개키 전송을 요청하면, 상기 웹서버가 특정 공개키를 상기 사용자 단말기에 전송하는 단계와;After the user terminal encrypts the specific character input by clicking on the letter board formed on the virtual keyboard using the symmetric key generated by the user terminal, the user terminal requests the public server to transmit the public key. The web server transmitting a specific public key to the user terminal; 상기 사용자 단말기가 상기 특정 공개키를 이용하여 상기 대칭키를 암호화한 후, 상기 암호화된 특정 문자 및 암호화된 대칭키를 상기 웹서버에 전송하면, 상기 웹서버가 상기 특정 공개키에 대응하는 개인키를 이용하여 상기 대칭키를 복호화하는 단계와;After the user terminal encrypts the symmetric key using the specific public key, and transmits the encrypted specific character and the encrypted symmetric key to the web server, the web server private key corresponding to the specific public key. Decrypting the symmetric key using; 상기 웹서버가 상기 복호화된 대칭키를 이용하여 상기 특정 문자를 복호화하는 단계와;Decrypting, by the web server, the specific character using the decrypted symmetric key; 상기 웹서버가 복호화된 특정 문자를 인증서버에 전송하는 단계와;Transmitting, by the web server, the specific character decrypted to the authentication server; 상기 인증서버로부터 사용자 인증 결과가 수신되면 상기 인증 결과를 상기 사용자 단말기에 전송하여 표시하는 단계;를 포함하는 가상키보드를 이용한 보안방법.And receiving the authentication result from the authentication server and transmitting the authentication result to the user terminal to display the authentication result. 삭제delete 삭제delete 제1항에 있어서,The method of claim 1, 상기 가상키보드에 형성된 문자판을 클릭하는 방법은Clicking on the dial formed on the virtual keyboard PC나 핸드폰의 커서 이동버튼 중 하나를 조작하여 커서를 이동시켜 상기 문자판의 특정 문자를 클릭하는 방법, 핸드폰의 터치스크린 상에서 상기 문자판의 특정 문자가 표시되는 영역을 클릭하는 방법 중 어느 하나인 것을 특징으로 하는 가상키보드를 이용한 보안방법.One of a method of clicking a specific character of the dial by moving a cursor by operating one of the cursor movement buttons of a PC or a mobile phone, or a method of clicking a region where a specific character of the dial is displayed on a touch screen of the mobile phone; Security method using a virtual keyboard. 제1항에 있어서,The method of claim 1, 상기 인증서버는The authentication server 상기 사용자 단말기를 통해 입력되는 아이디에 대응하는 사용자에 대한 신상정보를 저장하고 있으며,It stores the personal information about the user corresponding to the ID input through the user terminal, 상기 웹서버로부터 입력되는 특정 문자에 포함된 상기 사용자의 아이디 및 패스워드를 이용하여 정당한 사용자 여부를 인증하는 것을 특징으로 하는 가상키보드를 이용한 보안방법.Security method using a virtual keyboard, characterized in that for authenticating whether or not a legitimate user using the user's ID and password included in a specific character input from the web server. 제1항에 있어서,The method of claim 1, 상기 사용자 단말기에 표시되는 가상키보드는 The virtual keyboard displayed on the user terminal 재배열 버튼을 추가로 포함하며,Additionally includes a rearrange button. 사용자가 상기 재배열 버튼을 클릭하면, 상기 문자판에 표현된 문자의 배열 순서가 무작위로 변경되는 것을 특징으로 하는 가상키보드를 이용한 보안방법.When the user clicks the rearrangement button, the arrangement order of the characters represented on the dial is changed randomly.
KR1020080082509A 2008-08-22 2008-08-22 Security method using virtual keyboard KR100996955B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080082509A KR100996955B1 (en) 2008-08-22 2008-08-22 Security method using virtual keyboard

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080082509A KR100996955B1 (en) 2008-08-22 2008-08-22 Security method using virtual keyboard

Publications (2)

Publication Number Publication Date
KR20100023635A KR20100023635A (en) 2010-03-04
KR100996955B1 true KR100996955B1 (en) 2010-11-26

Family

ID=42175839

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080082509A KR100996955B1 (en) 2008-08-22 2008-08-22 Security method using virtual keyboard

Country Status (1)

Country Link
KR (1) KR100996955B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101387937B1 (en) * 2012-08-02 2014-04-22 주식회사 엑스게이트 A Method for Controlling the Usage of Network Resources Using User Authentication
US9330248B2 (en) 2012-11-26 2016-05-03 Electronics And Telecommunications Research Institute User authentication apparatus of portable terminal
KR102587115B1 (en) * 2023-06-29 2023-10-11 주식회사 스틸리언 Method and apparatus for generating a virtual security keypad using random numbers based on noise

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101630462B1 (en) * 2010-04-14 2016-06-14 주식회사 넥슨코리아 Apparatus and Method for Securing a Keyboard
KR101368772B1 (en) * 2012-05-25 2014-02-28 이성만 Method and Device for Protecting Key Input
CN104219208B (en) 2013-06-03 2018-11-13 华为技术有限公司 A kind of method, apparatus of data input
KR101480889B1 (en) * 2014-04-17 2015-01-13 주식회사 다날 Virtual keyboard generating device and method for user authentication
KR102133902B1 (en) * 2019-10-22 2020-07-14 배희진 Secure input device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101387937B1 (en) * 2012-08-02 2014-04-22 주식회사 엑스게이트 A Method for Controlling the Usage of Network Resources Using User Authentication
US9330248B2 (en) 2012-11-26 2016-05-03 Electronics And Telecommunications Research Institute User authentication apparatus of portable terminal
KR102587115B1 (en) * 2023-06-29 2023-10-11 주식회사 스틸리언 Method and apparatus for generating a virtual security keypad using random numbers based on noise

Also Published As

Publication number Publication date
KR20100023635A (en) 2010-03-04

Similar Documents

Publication Publication Date Title
KR101878149B1 (en) Device, system, and method of secure entry and handling of passwords
KR100996955B1 (en) Security method using virtual keyboard
KR20080101333A (en) Secutiry method using virtual keyboard
US9021254B2 (en) Multi-platform user device malicious website protection system
CN108769027B (en) Secure communication method, device, mobile terminal and storage medium
US9563778B2 (en) Method for managing public and private data input at a device
US8953805B2 (en) Authentication information generating system, authentication information generating method, client apparatus, and authentication information generating program for implementing the method
WO2015149582A1 (en) Password input method, intelligent secret key device and client apparatus
US20080184363A1 (en) Coordinate Based Computer Authentication System and Methods
US20110202762A1 (en) Method and apparatus for carrying out secure electronic communication
US8356345B2 (en) Constructing a secure internet transaction
TW201539247A (en) Password input and verification method and system thereof
Panos et al. A security evaluation of FIDO’s UAF protocol in mobile and embedded devices
Khedr Improved keylogging and shoulder-surfing resistant visual two-factor authentication protocol
KR101228028B1 (en) Virtual keyboard and preventing method for hacking information using the same
Tong et al. Guardroid: A trusted path for password entry
KR101267875B1 (en) Apparatus for message encryption and decryption using virtual keyboard and recording medium storing program for executing method of the same in computer
KR101042227B1 (en) A Method for Preventing from Hacking with Virtual Keyboard
KR20110014177A (en) Method and system for defeating the man in the middle computer hacking technique
KR101152610B1 (en) The Method of Virtual Keyboard
AU2018255484B2 (en) Virtual machines - computer implemented security methods and systems
Neenu On screen randomized blank keyboard
KR101648779B1 (en) Method for secure text input in information terminal
JP2023500980A (en) Device and method for secure communication
WO2023069060A1 (en) Input encryption

Legal Events

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

Payment date: 20131115

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161025

Year of fee payment: 9