WO2015160190A1 - 사용자 인증용 가상 키보드 생성 장치 및 방법 - Google Patents

사용자 인증용 가상 키보드 생성 장치 및 방법 Download PDF

Info

Publication number
WO2015160190A1
WO2015160190A1 PCT/KR2015/003801 KR2015003801W WO2015160190A1 WO 2015160190 A1 WO2015160190 A1 WO 2015160190A1 KR 2015003801 W KR2015003801 W KR 2015003801W WO 2015160190 A1 WO2015160190 A1 WO 2015160190A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual keyboard
text
client terminal
keypads
mixed
Prior art date
Application number
PCT/KR2015/003801
Other languages
English (en)
French (fr)
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 주식회사 다날
Publication of WO2015160190A1 publication Critical patent/WO2015160190A1/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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • 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/31User authentication
    • 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]

Definitions

  • Embodiments of the present invention relate to techniques for creating a virtual keyboard used for user authentication and transmitting it to a client terminal.
  • the user authentication process is one of the most important issues.
  • the user authentication process includes a procedure for inputting a user's pre-registered password into the terminal. have.
  • the terminal transmits the password to a server for user authentication, and the password matches the password that is registered in the server. If it is determined that the user, the process consists of confirming that the user is a legitimate user.
  • the server transmits virtual keyboard data for password input to the terminal device of the user,
  • the terminal device When the virtual keyboard data is received, the terminal device outputs a virtual keyboard for password input on the screen based on the virtual keyboard data, thereby allowing the user to input a password by pressing a keypad on the virtual keyboard.
  • the password is transmitted from the user's terminal device to the server. There is a risk that passwords are compromised by hackers.
  • the embodiments of the present invention When the virtual keyboard call request for user authentication is transmitted from the client terminal, the embodiments of the present invention generate a plurality of plain text values corresponding to the plurality of keypads constituting the virtual keyboard, and then, for the plurality of plain text values.
  • the virtual keyboard data By generating virtual keyboard data by performing predetermined data scrambling and encryption, the virtual keyboard data is transmitted to the client terminal, thereby enhancing security in a user authentication process using a virtual keyboard.
  • the virtual keyboard generating device for user authentication when a virtual keyboard call request for data input for user authentication is transmitted from a client terminal, a plurality of keypads constituting a virtual keyboard in response to the virtual keyboard call request
  • a generation unit for generating a plurality of plain text values corresponding to the plurality of texts, generating a text array consisting of a plurality of random values, and inserting each of the plurality of plain text values into a first position on the text array
  • a mixing unit for generating a plurality of data, an encryption key for encrypting the plurality of mixed text arrays with the encryption key by generating an encryption key for data encryption, a virtual keyboard image for representing the plurality of keypads, and generating the plurality of keypads.
  • a virtual keyboard generation method for user authentication when a virtual keyboard call request for data input for user authentication is transmitted from a client terminal, a plurality of virtual keyboards are configured in response to the virtual keyboard call request. Generating a plurality of plain text values corresponding to the keypads of the keypad, generating a text array composed of a plurality of random values, and inserting each of the plurality of plain text values into a first position on the text array to generate a plurality of mixed texts.
  • Generating arrays generating an encryption key for data encryption to encrypt the plurality of mixed text arrays with the encryption key, generating a virtual keyboard image to represent the plurality of keypads, Correspondence relationship between the plurality of plain text values Mapping said plurality of keypads and said encrypted plurality of mixed text arrangements on said virtual keyboard image and said encrypted plurality of mixed text arrangements and said virtual keyboard image, and said plurality of keypads and said encrypted Generating virtual keyboard data consisting of mapping information between a plurality of mixed text arrangements and transmitting the virtual keyboard data to the client terminal.
  • the embodiments of the present invention When the virtual keyboard call request for user authentication is transmitted from the client terminal, the embodiments of the present invention generate a plurality of plain text values corresponding to the plurality of keypads constituting the virtual keyboard, and then, for the plurality of plain text values.
  • the virtual keyboard data By generating virtual keyboard data by performing predetermined data scrambling and encryption, the virtual keyboard data is transmitted to the client terminal, thereby enhancing security in a user authentication process using a virtual keyboard.
  • FIG. 1 is a system conceptual diagram schematically showing an entire system for explaining a virtual keyboard generating device for user authentication according to an embodiment of the present invention.
  • FIGS. 2 and 3 are views illustrating an example of a virtual keyboard for explaining a virtual keyboard generating device for user authentication according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating the structure of a virtual keyboard generating device for user authentication according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a method for generating a virtual keyboard for user authentication according to an embodiment of the present invention.
  • FIG. 1 is a system conceptual diagram schematically showing an entire system for explaining a virtual keyboard generating device for user authentication according to an embodiment of the present invention.
  • FIG. 1 illustrates a virtual keyboard generating device 110 and a client terminal 120 for user authentication.
  • the client terminal 120 may be a user of the virtual keyboard generating device 110 for user authentication.
  • a virtual keyboard call request for data entry for authentication can be sent.
  • the virtual keyboard generating device 110 for user authentication may include a plurality of keypads corresponding to the plurality of keypads constituting the virtual keyboard in response to the virtual keyboard call request. Can generate plain text values.
  • the virtual keyboard generating device 110 for user authentication generates a text array composed of a plurality of random values, and inserts each of the plurality of plain text values into a first position on the text array to generate a plurality of mixed text arrays. Can be generated.
  • the virtual keyboard generating device 110 for authenticating a user may generate a text array called '20140306QWEADF' as a text array composed of the plurality of random values, and may generate a plain text value of any one of the plurality of plain text values. If it is referred to as' 1 'and the first position is referred to as the fifth digit in the text array, the virtual keyboard generating device 110 for authenticating a user may use the text array' 20 'as the text array' 20140306QWEADF. 'Can be inserted into the fifth digit to create a mixed text array called' 201410306QWEADF '.
  • the virtual keyboard generating device 110 for user authentication may generate a plurality of mixed text arrays by inserting each of the plurality of plain text values into a fifth position in the text array.
  • the virtual keyboard generating apparatus 110 for authenticating a user may generate an encryption key for data encryption and encrypt each of the plurality of mixed text arrays with the encryption key.
  • the virtual keyboard generating device 110 for user authentication generates a virtual keyboard image for representing the plurality of keypads, the virtual keyboard according to the corresponding relationship between the plurality of keypads and the plurality of plain text values It is possible to map the plurality of keypads and the encrypted plurality of mixed text arrangements on an image.
  • a plain text value of '1' is generated as a plain text value corresponding to a keypad of '1' on a virtual keyboard
  • '20140306QWEADF is a text array composed of a plurality of random values.
  • the virtual keyboard generating device 110 for authenticating the user may have a keypad of '1' on the virtual keyboard image. You can map an encrypted mixed text array called 'ADFSAASDFCVDSAFE'.
  • the virtual keyboard generating apparatus 110 for authenticating the user may include the encrypted plurality of mixed text arrangements and the virtual keyboard image. And generating virtual keyboard data including mapping information between the plurality of keypads and the encrypted plurality of mixed text arrangements and transmitting the virtual keyboard data to the client terminal 120.
  • the client terminal 120 may output a virtual keyboard on the screen based on the virtual keyboard data, so that the user may input a password or the like.
  • the user of the client terminal 120 applies a touch input or a mouse pointer input on the virtual keyboard 210. You can enter your password.
  • the client terminal 120 refers to the virtual keyboard data.
  • the 'ADFSAASDFCVDSAFE' which is an encrypted mixed text array mapped to the keypad 211 of 1 ', may be transmitted to the virtual keyboard generating apparatus 110 for user authentication.
  • the virtual keyboard generating device 110 for user authentication is transmitted from the client terminal 120 to the encrypted mixed text array called 'ADFSAASDFCVDSAFE', at least one of the plurality of keypads on the virtual keyboard 210 is immediately available.
  • the random keypad may be randomly selected to generate an event generation command for generating an animation event in which the at least one keypad is randomly selected on the virtual keyboard 210 image.
  • the virtual keyboard generating device 110 for user authentication may transmit the event generation command to the client terminal 120, in which the client terminal 120 is at least one randomly selected on the virtual keyboard 210 image A keypad of which can output an animation event selected.
  • an encrypted mixture called 'ADFSAASDFCVDSAFE', in which the client terminal 120 is mapped to a keypad 211 of '1' for the virtual keyboard generating device 110 for user authentication.
  • the virtual keyboard generating device 110 for authenticating the user randomly selects keypads called '2', 'D', 'H', and 'C' and then '2' on the virtual keyboard 210 image.
  • 'D', 'H', and 'C' may generate an event generation command for generating an animation event in which a keypad is selected and transmit the generated event command to the client terminal 120, and the client terminal 120 may generate the event generation command.
  • an animation event in which a keypad called '2', 'D', 'H', or 'C' is selected may be generated on the virtual keyboard 210 image.
  • the animation events output through the actual screen are '2', 'D', and 'H'. Since an animation event in which a keypad called 'C' is selected is output as a dummy event, the actual keypad on the virtual keyboard 210 input by the user may not be easily exposed to a third party.
  • the virtual keyboard generating apparatus 110 for user authentication performs an operation for generating the dummy event whenever a user applies a virtual keyboard input to the client terminal 120 one by one. Exposure to third parties can be prevented.
  • the virtual keyboard generating device 110 for authenticating a user receives an encrypted mixed text array called 'ADFSAASDFCVDSAFE' from the client terminal 120, the plurality of random keyboards are separated from each other.
  • the values may be regenerated to regenerate a text array composed of the regenerated plurality of random values.
  • the virtual keyboard generating apparatus 110 for authenticating a user may regenerate a plurality of random values different from the text array '20140306QWEADF' that was previously generated, and then '20140306QWERTY, which is a text array composed of the plurality of regenerated random values. 'Can be regenerated.
  • the virtual keyboard generating device 110 for authenticating the user 110 stores the plurality of plain text values corresponding to the plurality of keypads constituting the virtual keyboard 210 at a first position on the regenerated text arrangement '20140306QWERTY'. You can insert to recreate multiple mixed text arrays.
  • the apparatus for authenticating a virtual keyboard 110 changes the first position to another position other than the fifth position used previously, and then converts the plurality of plain text values into the regenerated text arrangement '20140306QWERTY'. Can be inserted in the changed position.
  • the mixed text array for the plain text text value of '1' among the plurality of plain text values is inserted in the third digit on the '20140306QWERTY', and thus, '201140306QWERTY' Can be
  • the virtual keyboard generating apparatus 110 for authenticating a user may re-encrypt the plurality of reproduced mixed text arrangements with the encryption key.
  • a result of re-encryption based on the encryption key for the mixed text array '201140306QWERTY' for the plain text text value '1' among the plurality of plain text text values may be 'TDASADFASDFASDFA'.
  • the virtual keyboard generating device 110 for authenticating a user may use a virtual keyboard according to a corresponding relationship between the plural keypads and the plural plain text values.
  • the plurality of keypads and the plurality of re-encrypted mixed text arrangements may be mapped on the image.
  • the virtual keyboard generating device 110 for user authentication comprises a virtual keyboard composed of the plurality of re-encrypted mixed text arrangements and mapping information between the plurality of keypads and the plurality of re-encrypted mixed text arrangements.
  • the virtual keyboard update data may be transmitted to the client terminal 120.
  • the client terminal 120 updates the virtual keyboard data stored in the client terminal 120 based on the virtual keyboard update data and then based on the updated virtual keyboard data.
  • the virtual keyboard 210 can be regenerated.
  • the encrypted mixed text arrangement that was mapped to the keypad 211 of '1' among the plurality of keypads on the virtual keyboard 210 output on the client terminal 120 was originally 'ADFSAASDFCVDSAFE', but the user was virtual.
  • the keypad 211 called '1' is applied.
  • the encrypted mixed text array that was mapped can be changed to 'TDASADFASDFASDFA'.
  • the virtual keyboard generating device 110 for user authentication is encrypted mapped to the plurality of keypads on the virtual keyboard 210.
  • the newly constructed mixed text arrays are newly transmitted to the client terminal 120, and as a result, the virtual keyboard input data transmitted from the client terminal 120 to the virtual keyboard generating device 110 for user authentication is changed every time. Even though the virtual keyboard input data is exposed in the middle, it is possible to prevent the hacker from easily extracting the plain text value from the virtual keyboard input data.
  • the virtual keyboard generation device 110 for user authentication since the virtual keyboard generation device 110 for user authentication first transmits the virtual keyboard data to the client terminal 120, the client terminal 120 is a plurality of on the virtual keyboard 210 When the encrypted mixed text array called 'ADFSAASDFCVDSAFE' mapped to the keypad 211 of '1' is transmitted to the virtual keyboard generating device 110 for user authentication, the virtual keyboard generating device 110 for user authentication is transmitted. May decrypt the encrypted mixed text array called 'ADFSAASDFCVDSAFE' based on the encryption key to generate '201410306QWEADF'.
  • the virtual keyboard generating device 110 for user authentication may extract a plain text value of '1' inserted into the fifth position of the first position from the decrypted mixed text array '201410306QWEADF'.
  • the user of the client terminal 120 uses the virtual keyboard ( By reapplying the virtual keyboard input to the keypad 211 of '1' among the plurality of keypads on the 210, the encrypted TDASADFASDFASDFA, which is mapped to the keypad 211 of the '1' from the client terminal 120, is encrypted.
  • the virtual keyboard generating device 110 for authenticating a user decrypts an encrypted mixed text array called 'TDASADFASDFASDFA' based on the encryption key to '201140306QWERTY'. 'Can be created.
  • the virtual keyboard generating device 110 for user authentication may extract a plain text value of '1' inserted into the third position of the changed first position from the decrypted mixed text array '201140306QWERTY'. .
  • the virtual keyboard generating device 110 for user authentication may extract one plain text text value from the virtual keyboard input data, and the plain text text.
  • the user authentication for the client terminal 120 may be performed based on the plain text value that has been extracted.
  • FIG. 4 is a diagram illustrating the structure of a virtual keyboard generating device for user authentication according to an embodiment of the present invention.
  • the virtual keyboard generating device 410 for authenticating users may include a generation unit 411, a mixing unit 412, an encryption unit 413, a mapping unit 414, and a transmission unit. Part 415 is included.
  • the generation unit 411 may include a plurality of plain texts corresponding to the plurality of keypads constituting the virtual keyboard in response to the virtual keyboard call request. Create text values.
  • the mixing unit 412 generates a text array composed of a plurality of random values, and generates a plurality of mixed text arrays by inserting each of the plurality of plain text values into a first position on the text array.
  • the encryption unit 413 generates an encryption key for data encryption and encrypts the plurality of mixed text arrays with the encryption key.
  • the mapping unit 414 generates a virtual keyboard image for representing the plurality of keypads, and generates a plurality of keypads on the virtual keyboard image according to a corresponding relationship between the plurality of keypads and the plurality of plain text values. Map the encrypted plurality of mixed text arrays.
  • the transmission unit 415 generates virtual keyboard data including the encrypted plurality of mixed text arrangements and the virtual keyboard image, and mapping information between the plurality of keypads and the encrypted plurality of mixed text arrangements.
  • the virtual keyboard data is transmitted to the client terminal 430.
  • the virtual keyboard generating device 410 for user authentication may further include a decryption unit 416, an extraction unit 417 and a user authentication unit 418.
  • the decryption unit 416 mixes, from the client terminal 430, at least one of the encrypted plurality of mixed text arrays mapped to the plurality of keypads based on a virtual keyboard input of a user of the client terminal 430.
  • the text array is transmitted as virtual keyboard input data
  • the at least one mixed text array is decrypted based on the encryption key.
  • the extractor 417 extracts at least one plain text value inserted into the first position from the decoded at least one mixed text array.
  • the user authenticator 418 performs user authentication on the client terminal based on the extracted at least one plain text value.
  • the mixing unit 412 is encrypted from the client terminal 430 based on the virtual keyboard input of the user of the client terminal 430 is mapped to the plurality of keypads
  • the plurality of random values are regenerated to regenerate the text array composed of the regenerated plurality of random values and then the plurality of mixed text arrays.
  • Each of the plain text text values of may be inserted at the first position on the regenerated text arrangement to regenerate the plurality of mixed text arrangements.
  • the mixing unit 412 changes the first position whenever the mixed text array is transmitted from the client terminal 430 as the virtual keyboard input data.
  • Each of a plurality of plain text values may be inserted at the modified first position on the regenerated text arrangement.
  • the encryption unit 413 may re-encrypt the plurality of regenerated mixed text arrays with the encryption key
  • the mapping unit 414 may correspond to a corresponding relationship between the plurality of keypads and the plurality of plain text values.
  • the plurality of keypads and the plurality of re-encrypted mixed text arrangements may be mapped on the virtual keyboard image.
  • the transmitter 415 generates virtual keyboard update data including the plurality of re-encrypted mixed text arrangements and mapping information between the plurality of keypads and the plurality of re-encrypted mixed text arrangements.
  • the virtual keyboard update data may be transmitted to the client terminal 430.
  • the client terminal 430 updates the virtual keyboard data stored in the client terminal 430 based on the virtual keyboard update data. Thereafter, the virtual keyboard may be generated based on the updated virtual keyboard data.
  • the virtual keyboard generating device 410 for user authentication may further include an event command generator 419 and an event command transmitter 420.
  • the event command generating unit 419 may generate any one of the encrypted mixed text arrangements mapped from the client terminal 430 to the plurality of keypads based on a virtual keyboard input of a user of the client terminal 430. Each time a mixed text array of is transmitted as virtual keyboard input data, randomly selecting at least one of the plurality of keypads generates an animation event in which the at least one randomly selected keypad is selected on the virtual keyboard image. Create an event command to trigger
  • the event command transmitter 420 transmits the event generation command to the client terminal 430 to control the client terminal 430 to output an animation event in which at least one keypad is selected on the virtual keyboard image. .
  • the virtual keyboard generating device 410 for user authentication according to an embodiment of the present invention has been described with reference to FIG. 4.
  • the virtual keyboard generating device 410 for user authentication according to an embodiment of the present invention may correspond to the configuration of the virtual keyboard generating device 110 for user authentication described with reference to FIG. The description will be omitted.
  • FIG. 5 is a flowchart illustrating a method for generating a virtual keyboard for user authentication according to an embodiment of the present invention.
  • a text array including a plurality of random values is generated, and each of the plurality of plain text values is inserted at a first position on the text array to generate a plurality of mixed text arrays.
  • an encryption key for data encryption is generated to encrypt the plurality of mixed text arrays with the encryption key.
  • a virtual keyboard image is generated to represent the plurality of keypads, and the plurality of keypads and the plurality of keypads are displayed on the virtual keyboard image according to a corresponding relationship between the plurality of keypads and the plurality of plain text values. Map a plurality of encrypted mixed text arrays.
  • the virtual keyboard data including the encrypted plurality of mixed text arrays and the virtual keyboard image, and mapping information between the plurality of keypads and the encrypted plurality of mixed text arrays is generated to generate the virtual keyboard data.
  • the keyboard data is transmitted to the client terminal.
  • the method for generating a virtual keyboard for user authentication may be mapped to the plurality of keypads based on a virtual keyboard input of a user of the client terminal after step S550.
  • Decrypting the at least one mixed text array based on the encryption key when at least one mixed text array of the encrypted plurality of mixed text arrays is transmitted as virtual keyboard input data, the at least one decrypted Extracting at least one plain text text value inserted at the first position from the mixed text arrangement of the and performing user authentication on the client terminal based on the extracted at least one plain text text value. can do.
  • the method for generating a virtual keyboard for user authentication may be mapped to the plurality of keypads based on a virtual keyboard input of a user of the client terminal after step S550.
  • the plurality of random values are regenerated to generate the text array of the plurality of regenerated random values.
  • After regeneration inserting each of the plurality of plain text values into the first position on the regenerated text arrangement to regenerate the plurality of mixed text arrangements, re-encrypting the regenerated plurality of mixed text arrangements with the encryption key.
  • Step the plurality of keypads and the plurality of plain text tex Mapping the plurality of keypads and the plurality of re-encrypted mixed text arrangements on the virtual keyboard image and the plurality of re-encrypted mixed text arrangements, and the plurality of keypads according to a corresponding relationship between values.
  • the method may further include generating virtual keyboard update data consisting of mapping information between the plurality of re-encrypted mixed text arrangements and transmitting the virtual keyboard update data to the client terminal.
  • the client terminal updates the virtual keyboard data stored in the client terminal based on the virtual keyboard update data and then updates the updated virtual keyboard data.
  • the virtual keyboard may be generated based on the virtual keyboard data.
  • regenerating the plurality of mixed text arrangements may include resetting the first position each time the one mixed text arrangement is transmitted as the virtual keyboard input data from the client terminal. Altering to insert each of the plurality of plain text values into the modified first position on the regenerated text arrangement.
  • the method for generating a virtual keyboard for user authentication may be mapped to the plurality of keypads based on a virtual keyboard input of a user of the client terminal after step S550.
  • a mixed text array of any of the encrypted plurality of mixed text arrays is transmitted as virtual keyboard input data
  • at least one of the plurality of keypads is randomly selected to display the image on the virtual keyboard image.
  • the method may further include controlling the pad to output the selected animation event.
  • the method for generating a virtual keyboard for authenticating a user has been described above with reference to FIG. 5.
  • the virtual keyboard generation method for user authentication may correspond to the configuration of the operation of the virtual keyboard generation device (110, 410) for the user authentication described with reference to Figures 1 to 4, Detailed description thereof will be omitted.
  • the virtual keyboard generation method for user authentication may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
  • Magneto-optical media and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

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 Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

사용자 인증용 가상 키보드 생성 장치 및 방법이 개시된다. 본 발명의 실시예들은 클라이언트 단말로부터 사용자 인증을 위한 가상 키보드 호출 요청이 전송되면, 가상 키보드를 구성하는 복수의 키패드들에 대응되는 복수의 평문 텍스트 값들을 생성한 후 상기 복수의 평문 텍스트 값들에 대해 소정의 데이터 스크램블링과 암호화를 수행하여 가상 키보드 데이터를 생성한 후 상기 가상 키보드 데이터를 상기 클라이언트 단말로 전송해 줌으로써, 가상 키보드를 이용한 사용자 인증 과정에서 보안을 강화할 수 있다.

Description

사용자 인증용 가상 키보드 생성 장치 및 방법
본 발명의 실시예들은 사용자 인증에 사용되는 가상 키보드를 생성하여 이를 클라이언트 단말로 전송해 주는 기법에 대한 기술들과 관련된다.
최근, 데스크탑 컴퓨터나 스마트폰 또는 태블릿 PC 등과 같은 마이크로 프로세서 기반의 다양한 단말기기가 보급되고 있어서, 이러한 단말기기에서 활용할 수 있는 다양한 기능들이 제안되고 있다.
특히, 최근에는 어디에서든지 인터넷이 가능하게 하는 통신 환경이 구축됨에 따라, 단말기기에서 온라인을 통해 사용자의 편의를 제공할 수 있도록 하는 서비스들이 출시되고 있다.
이렇게, 다양한 단말기기가 보급되고 있고, 온라인 환경이 구축됨에 따라, 사용자들이 단말기기를 이용하여 인터넷 뱅킹을 수행하거나 온라인 결제 등을 수행할 수 있도록 지원하는 서비스가 출시되고 있고, 이러한 서비스의 사용빈도도 점차 증가하고 있다.
이러한, 온라인 기반의 인터넷 뱅킹이나 결제 서비스에서는 무엇보다도 사용자 인증 과정이 가장 중요한 이슈 중 하나이고, 일반적으로 사용자 인증을 수행하는 과정에서는 사용자가 미리 등록해 둔 비밀번호를 단말기기에 입력하도록 하는 절차가 포함되어 있다.
이러한 사용자 인증 과정은 보통, 사용자가 사용자 인증을 위해 자신의 단말기기에 비밀번호를 입력하면, 상기 단말기기가 상기 비밀번호를 사용자 인증을 위한 서버로 전송하고, 상기 서버에서 상기 비밀번호가 기 등록되어 있는 비밀번호와 일치하는 것으로 판단되면, 상기 사용자가 정당한 사용자인 것으로 확인하는 과정으로 구성된다.
이때, 상기 서버는 상기 사용자의 단말기기로부터 비밀번호를 획득하는 과정에서 상기 비밀번호가 제3자에게 노출되는 것을 방지하기 위해, 상기 사용자의 단말기기에 대해 비밀번호 입력을 위한 가상 키보드 데이터를 전송해 주고, 상기 사용자의 단말기기는 상기 가상 키보드 데이터가 수신되면, 상기 가상 키보드 데이터를 기초로 비밀번호 입력용 가상 키보드를 화면상에 출력함으로써, 상기 사용자가 상기 가상 키보드 상의 키패드를 눌러서 비밀번호를 입력할 수 있도록 지원한다.
하지만, 이러한 가상 키보드에 대해서 상기 가상 키보드 상의 키패드들에 매핑되어 있는 텍스트 값들에 대해 별도로 암호화를 해두는 등 소정의 보안 처리가 되어 있지 않으면, 사용자의 단말기기로부터 서버로 비밀번호가 전송되는 과정에서 상기 비밀번호가 해커에 의해 그대로 노출될 위험이 있다.
따라서, 사용자 인증을 위한 가상 키보드와 관련하여, 상기 가상 키보드를 이용한 데이터 입력 및 전송 과정에서 정보가 노출되는 것을 최소화할 수 있도록 하는 방안에 대한 연구가 필요하다.
본 발명의 실시예들은 클라이언트 단말로부터 사용자 인증을 위한 가상 키보드 호출 요청이 전송되면, 가상 키보드를 구성하는 복수의 키패드들에 대응되는 복수의 평문 텍스트 값들을 생성한 후 상기 복수의 평문 텍스트 값들에 대해 소정의 데이터 스크램블링과 암호화를 수행하여 가상 키보드 데이터를 생성한 후 상기 가상 키보드 데이터를 상기 클라이언트 단말로 전송해 줌으로써, 가상 키보드를 이용한 사용자 인증 과정에서 보안을 강화할 수 있도록 한다.
본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 장치는 클라이언트 단말로부터 사용자 인증용 데이터 입력을 위한 가상 키보드 호출 요청이 전송되면, 상기 가상 키보드 호출 요청에 대응하여 가상 키보드를 구성하는 복수의 키패드들에 대응되는 복수의 평문 텍스트 값들을 생성하는 생성부, 복수의 랜덤 값들로 구성된 텍스트 배열을 생성하고, 상기 복수의 평문 텍스트 값들 각각을 상기 텍스트 배열 상의 제1 위치에 삽입하여 복수의 혼합 텍스트 배열들을 생성하는 혼합부, 데이터 암호화를 위한 암호화키를 생성하여 상기 복수의 혼합 텍스트 배열들을 상기 암호화키로 암호화하는 암호화부, 상기 복수의 키패드들을 표현하기 위한 가상 키보드 이미지를 생성하고, 상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들을 매핑하는 매핑부 및 상기 암호화된 복수의 혼합 텍스트 배열들과 상기 가상 키보드 이미지, 및 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 데이터를 생성하여 상기 가상 키보드 데이터를 상기 클라이언트 단말로 전송하는 전송부를 포함한다.
또한, 본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 방법은 클라이언트 단말로부터 사용자 인증용 데이터 입력을 위한 가상 키보드 호출 요청이 전송되면, 상기 가상 키보드 호출 요청에 대응하여 가상 키보드를 구성하는 복수의 키패드들에 대응되는 복수의 평문 텍스트 값들을 생성하는 단계, 복수의 랜덤 값들로 구성된 텍스트 배열을 생성하고, 상기 복수의 평문 텍스트 값들 각각을 상기 텍스트 배열 상의 제1 위치에 삽입하여 복수의 혼합 텍스트 배열들을 생성하는 단계, 데이터 암호화를 위한 암호화키를 생성하여 상기 복수의 혼합 텍스트 배열들을 상기 암호화키로 암호화하는 단계, 상기 복수의 키패드들을 표현하기 위한 가상 키보드 이미지를 생성하고, 상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들을 매핑하는 단계 및 상기 암호화된 복수의 혼합 텍스트 배열들과 상기 가상 키보드 이미지, 및 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 데이터를 생성하여 상기 가상 키보드 데이터를 상기 클라이언트 단말로 전송하는 단계를 포함한다.
본 발명의 실시예들은 클라이언트 단말로부터 사용자 인증을 위한 가상 키보드 호출 요청이 전송되면, 가상 키보드를 구성하는 복수의 키패드들에 대응되는 복수의 평문 텍스트 값들을 생성한 후 상기 복수의 평문 텍스트 값들에 대해 소정의 데이터 스크램블링과 암호화를 수행하여 가상 키보드 데이터를 생성한 후 상기 가상 키보드 데이터를 상기 클라이언트 단말로 전송해 줌으로써, 가상 키보드를 이용한 사용자 인증 과정에서 보안을 강화할 수 있다.
도 1은 본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 장치를 설명하기 위한 전체 시스템을 개략적으로 도시한 시스템 개념도이다.
도 2와 도 3은 본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 장치를 설명하기 위한 가상 키보드의 일례를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 장치의 구조를 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 방법을 도시한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 장치를 설명하기 위한 전체 시스템을 개략적으로 도시한 시스템 개념도이다.
도 1에는 사용자 인증용 가상 키보드 생성 장치(110)와 클라이언트 단말(120)이 도시되어 있다.
먼저, 클라이언트 단말(120)의 사용자가 클라이언트 단말(120)을 이용하여 온라인 결제 등을 수행하기 위해서 비밀번호를 입력하고자 하면, 클라이언트 단말(120)은 사용자 인증용 가상 키보드 생성 장치(110)에 대해 사용자 인증용 데이터 입력을 위한 가상 키보드 호출 요청을 전송할 수 있다.
이때, 사용자 인증용 가상 키보드 생성 장치(110)는 클라이언트 단말(120)로부터 상기 가상 키보드 호출 요청이 전송되면, 상기 가상 키보드 호출 요청에 대응하여 가상 키보드를 구성하는 복수의 키패드들에 대응되는 복수의 평문 텍스트 값들을 생성할 수 있다.
그리고 나서, 사용자 인증용 가상 키보드 생성 장치(110)는 복수의 랜덤 값들로 구성된 텍스트 배열을 생성하고, 상기 복수의 평문 텍스트 값들 각각을 상기 텍스트 배열 상의 제1 위치에 삽입하여 복수의 혼합 텍스트 배열들을 생성할 수 있다.
예컨대, 사용자 인증용 가상 키보드 생성 장치(110)는 상기 복수의 랜덤 값들로 구성된 텍스트 배열로 '20140306QWEADF'라고 하는 텍스트 배열을 생성할 수 있고, 상기 복수의 평문 텍스트 값들 중 어느 하나의 평문 텍스트 값을 '1'이라고 하고, 상기 제1 위치를 상기 텍스트 배열에서 5번째 자리라고 하는 경우, 사용자 인증용 가상 키보드 생성 장치(110)는 상기 어느 하나의 평문 텍스트 값인 '1'을 상기 텍스트 배열인 '20140306QWEADF'에서 상기 5번째 자리에 삽입하여 '201410306QWEADF'라고 하는 혼합 텍스트 배열을 생성할 수 있다.
이러한 방식으로 사용자 인증용 가상 키보드 생성 장치(110)는 상기 복수의 평문 텍스트 값들 각각을 상기 텍스트 배열에서 5번째 자리에 삽입함으로써, 복수의 혼합 텍스트 배열들을 생성할 수 있다.
이렇게, 상기 복수의 혼합 텍스트 배열들이 생성되면, 사용자 인증용 가상 키보드 생성 장치(110)는 데이터 암호화를 위한 암호화키를 생성하여 상기 복수의 혼합 텍스트 배열들 각각을 상기 암호화키로 암호화할 수 있다.
그리고 나서, 사용자 인증용 가상 키보드 생성 장치(110)는 상기 복수의 키패드들을 표현하기 위한 가상 키보드 이미지를 생성하고, 상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들을 매핑할 수 있다.
예컨대, 가상 키보드 상에 '1'이라는 키패드와 대응되는 평문 텍스트 값으로 '1'이라고 하는 평문 텍스트 값이 생성되었고, 상기 '1'이라는 평문 텍스트 값이 복수의 랜덤 값으로 구성된 텍스트 배열인 '20140306QWEADF' 상의 5번째 자리에 삽입된 후 상기 암호화키로 암호화됨으로써 생성된 혼합 텍스트 배열이 'ADFSAASDFCVDSAFE'라고 하는 경우, 사용자 인증용 가상 키보드 생성 장치(110)는 상기 가상 키보드 이미지 상에서 '1'이라는 키패드에 대해 'ADFSAASDFCVDSAFE'라고 하는 암호화된 혼합 텍스트 배열을 매핑시킬 수 있다.
이렇게, 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들이 매핑되면, 사용자 인증용 가상 키보드 생성 장치(110)는 상기 암호화된 복수의 혼합 텍스트 배열들과 상기 가상 키보드 이미지, 및 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 데이터를 생성하여 상기 가상 키보드 데이터를 클라이언트 단말(120)로 전송할 수 있다.
이때, 클라이언트 단말(120)은 상기 가상 키보드 데이터가 수신되면, 상기 가상 키보드 데이터를 기초로 화면 상에 가상 키보드를 출력함으로써, 사용자가 비밀번호 등을 입력할 수 있도록 지원할 수 있다.
관련하여, 도 2에는 클라이언트 단말(120)을 통해 출력되는 가상 키보드의 일례가 도시되어 있다.
도 2에 도시된 바와 같이, 클라이언트 단말(120) 상에 가상 키보드(210)가 출력되면, 클라이언트 단말(120)의 사용자는 가상 키보드(210) 상에 터치 입력을 인가하거나 마우스 포인터 입력을 인가함으로써, 비밀번호 등을 입력할 수 있다.
이때, 사용자가 가상 키보드(210)를 통해 출력되고 있는 복수의 키패드들 중 '1'이라는 키패드(211)에 가상 키보드 입력을 인가하게 되면, 클라이언트 단말(120)은 상기 가상 키보드 데이터를 참조하여 '1'이라는 키패드(211)에 매핑되어 있는 암호화된 혼합 텍스트 배열인 'ADFSAASDFCVDSAFE'을 사용자 인증용 가상 키보드 생성 장치(110)로 전송할 수 있다.
이때, 사용자 인증용 가상 키보드 생성 장치(110)는 클라이언트 단말(120)로부터 상기 'ADFSAASDFCVDSAFE'라고 하는 암호화된 혼합 텍스트 배열이 전송되면, 그 즉시, 가상 키보드(210) 상의 복수의 키패드들 중 적어도 하나의 키패드를 랜덤하게 선택하여 가상 키보드(210) 이미지 상에서 상기 랜덤하게 선택된 적어도 하나의 키패드가 선택되는 애니메이션 이벤트를 발생시키기 위한 이벤트 발생 명령을 생성할 수 있다.
그리고 나서, 사용자 인증용 가상 키보드 생성 장치(110)는 상기 이벤트 발생 명령을 클라이언트 단말(120)로 전송할 수 있고, 이때, 클라이언트 단말(120)은 가상 키보드(210) 이미지 상에서 상기 랜덤하게 선택된 적어도 하나의 키패드가 선택되는 애니메이션 이벤트를 출력할 수 있다.
관련하여, 도 3에 도시된 바와 같이, 클라이언트 단말(120)이 사용자 인증용 가상 키보드 생성 장치(110)에 대해 '1'이라는 키패드(211)에 매핑되어 있는 상기 'ADFSAASDFCVDSAFE'라고 하는 암호화된 혼합 텍스트 배열을 전송하면, 사용자 인증용 가상 키보드 생성 장치(110)는 '2', 'D', 'H', 'C'라고 하는 키패드를 랜덤하게 선택한 후 가상 키보드(210) 이미지 상에서 '2', 'D', 'H', 'C'라고 하는 키패드가 선택되는 애니메이션 이벤트를 발생시키기 위한 이벤트 발생 명령을 생성하여 클라이언트 단말(120)로 전송할 수 있고, 클라이언트 단말(120)은 상기 이벤트 발생 명령에 기초하여 도 3에 도시된 바와 같이, 가상 키보드(210) 이미지 상에서 '2', 'D', 'H', 'C'라고 하는 키패드가 선택되는 애니메이션 이벤트를 발생시킬 수 있다.
이를 통해, 클라이언트 단말(120)의 사용자가 가상 키보드(210) 상에서 '1'이라는 키패드에 대해 가상 키보드 입력을 인가하더라도 실제 화면을 통해 출력되는 애니메이션 이벤트는 '2', 'D', 'H', 'C'라고 하는 키패드가 선택되는 애니메이션 이벤트가 더미(dummy) 이벤트로 출력되기 때문에, 사용자가 입력하는 가상 키보드(210) 상의 실제 키패드는 제3자에게 손쉽게 노출되지 않을 수 있다.
관련하여, 사용자 인증용 가상 키보드 생성 장치(110)는 사용자가 클라이언트 단말(120)에 가상 키보드 입력을 하나씩 인가할 때마다 상기 더미 이벤트를 발생시키기 위한 동작을 수행함으로써, 사용자가 입력하는 비밀번호 등이 제3자에게 노출되는 것을 방지할 수 있다.
사용자 인증용 가상 키보드 생성 장치(110)는 클라이언트 단말(120)로부터 상기 'ADFSAASDFCVDSAFE'라고 하는 암호화된 혼합 텍스트 배열이 수신되면, 앞서 더미 이벤트를 발생시키기 위한 동작을 수행하는 것과 별도로, 상기 복수의 랜덤 값들을 재생성하여 상기 재생성된 복수의 랜덤 값들로 구성된 텍스트 배열을 재생성할 수 있다.
예컨대, 사용자 인증용 가상 키보드 생성 장치(110)는 앞서, 생성하였던 텍스트 배열인 '20140306QWEADF'와 다른, 별도의 복수의 랜덤 값들을 재생성한 후 상기 재생성된 복수의 랜덤 값들로 구성된 텍스트 배열인 '20140306QWERTY'을 재생성할 수 있다.
그리고 나서, 사용자 인증용 가상 키보드 생성 장치(110)는 가상 키보드(210)를 구성하는 복수의 키패드들에 대응되는 상기 복수의 평문 텍스트 값들을 상기 재생성된 텍스트 배열인 '20140306QWERTY' 상의 제1 위치에 삽입하여 복수의 혼합 텍스트 배열들을 재생성할 수 있다.
이때, 사용자 인증용 가상 키보드 생성 장치(110)는 상기 제1 위치도 앞서 사용하였던 5번째 자리가 아닌, 다른 위치로 변경한 후 상기 복수의 평문 텍스트 값들을 상기 재생성된 텍스트 배열인 '20140306QWERTY' 상의 변경된 위치에 삽입할 수 있다.
관련하여, 상기 제1 위치가 3번째 자리로 변경된 경우, 상기 복수의 평문 텍스트 값들 중 '1'이라는 평문 텍스트 값에 대한 혼합 텍스트 배열은 '20140306QWERTY' 상의 3번째 자리에 삽입되기 때문에, '201140306QWERTY'가 될 수 있다.
이렇게, 상기 복수의 혼합 텍스트 배열들이 재생성되면, 사용자 인증용 가상 키보드 생성 장치(110)는 상기 재생성된 복수의 혼합 텍스트 배열들을 상기 암호화키로 재암호화할 수 있다.
예컨대, 상기 복수의 평문 텍스트 값들 중 '1'이라는 평문 텍스트 값에 대한 혼합 텍스트 배열인 '201140306QWERTY'에 대해 상기 암호화키를 기초로 재암호화한 결과 값은 'TDASADFASDFASDFA'가 될 수 있다.
이렇게, 상기 재생성된 복수의 혼합 텍스트 배열들에 대한 재암호화가 완료되면, 사용자 인증용 가상 키보드 생성 장치(110)는 상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 가상 키보드(210) 이미지 상에서 상기 복수의 키패드들과 상기 재암호화된 복수의 혼합 텍스트 배열들을 매핑할 수 있다.
그리고 나서, 사용자 인증용 가상 키보드 생성 장치(110)는 상기 재암호화된 복수의 혼합 텍스트 배열들, 및 상기 복수의 키패드들과 상기 재암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 갱신 데이터를 생성하여 상기 가상 키보드 갱신 데이터를 클라이언트 단말(120)로 전송할 수 있다.
이때, 클라이언트 단말(120)은 상기 가상 키보드 갱신 데이터가 수신되면, 상기 가상 키보드 갱신 데이터를 기초로 클라이언트 단말(120) 내에 저장되어 있는 상기 가상 키보드 데이터를 갱신한 후 상기 갱신된 가상 키보드 데이터를 기초로 가상 키보드(210)를 재생성할 수 있다.
이를 통해, 클라이언트 단말(120) 상에서 출력되는 가상 키보드(210) 상의 복수의 키패드들 중 '1'이라는 키패드(211)에 매핑되어 있던 암호화된 혼합 텍스트 배열은 최초에 'ADFSAASDFCVDSAFE'이었지만, 사용자가 가상 키보드(210) 상에서 '1'이라는 키패드(211)에 가상 키보드 입력을 인가함으로써, 사용자 인증용 가상 키보드 생성 장치(110)로부터 상기 가상 키보드 갱신 데이터가 수신되었기 때문에 '1'이라는 키패드(211)에 매핑되어 있던 암호화된 혼합 텍스트 배열은 'TDASADFASDFASDFA'로 변경될 수 있다.
즉, 사용자 인증용 가상 키보드 생성 장치(110)는 클라이언트 단말(120)로부터 가상 키보드 입력에 기초한 가상 키보드 입력 데이터가 하나씩 전송될 때마다, 가상 키보드(210) 상의 복수의 키패드들에 매핑되어 있던 암호화된 혼합 텍스트 배열들을 새롭게 구성하여 이를 클라이언트 단말로(120) 전송해 줌으로써, 결국, 클라이언트 단말(120)로부터 사용자 인증용 가상 키보드 생성 장치(110)로 전송되는 가상 키보드 입력 데이터가 매번 변경되기 때문에 해커에 의해 중간에 가상 키보드 입력 데이터가 노출되더라도, 해커가 손쉽게 가상 키보드 입력 데이터로부터 평문 텍스트 값을 추출하지 못하도록 할 수 있다.
지금까지는 사용자 인증용 가상 키보드 생성 장치(110)가 클라이언트 단말(120)에 대해 가상 키보드 데이터를 생성하여 이를 전송해 주는 과정에 대해 설명하였다.
이하에서는 클라이언트 단말(120)로부터 전송된 가상 키보드 입력 데이터를 기초로 사용자 인증용 가상 키보드 생성 장치(110)가 사용자 인증을 수행하는 과정에 대해 설명하기로 한다.
전술한 실시예에서와 같이, 사용자 인증용 가상 키보드 생성 장치(110)가 클라이언트 단말(120)로 상기 가상 키보드 데이터를 최초로 전송해 준 이후, 클라이언트 단말(120)이 가상 키보드(210) 상의 복수의 키패드들 중 '1'이라는 키패드(211)에 매핑되어 있는 'ADFSAASDFCVDSAFE'라고 하는 암호화된 혼합 텍스트 배열을 사용자 인증용 가상 키보드 생성 장치(110)로 전송하면, 사용자 인증용 가상 키보드 생성 장치(110)는 상기 암호화키를 기초로 'ADFSAASDFCVDSAFE'라고 하는 암호화된 혼합 텍스트 배열을 복호화하여 '201410306QWEADF'를 생성할 수 있다.
그리고 나서, 사용자 인증용 가상 키보드 생성 장치(110)는 상기 복호화된 혼합 텍스트 배열인 '201410306QWEADF'로부터 상기 제1 위치인 5번째 자리에 삽입되어 있던 '1'이라는 평문 텍스트 값을 추출할 수 있다.
이렇게 '1'이라는 평문 텍스트 값이 추출되고, 사용자 인증용 가상 키보드 생성 장치(110)가 클라이언트 단말(120)로 상기 가상 키보드 갱신 데이터를 전송한 이후, 클라이언트 단말(120)의 사용자가 가상 키보드(210) 상의 복수의 키패드들 중 '1'이라는 키패드(211)에 가상 키보드 입력을 재인가함으로써, 클라이언트 단말(120)로부터 '1'이라는 키패드(211)에 매핑되어 있는 'TDASADFASDFASDFA'라고 하는 암호화된 혼합 텍스트 배열이 사용자 인증용 가상 키보드 생성 장치(110)로 전송되면, 사용자 인증용 가상 키보드 생성 장치(110)는 상기 암호화키를 기초로 'TDASADFASDFASDFA'라고 하는 암호화된 혼합 텍스트 배열을 복호화하여 '201140306QWERTY'를 생성할 수 있다.
그리고 나서, 사용자 인증용 가상 키보드 생성 장치(110)는 상기 복호화된 혼합 텍스트 배열인 '201140306QWERTY'로부터 상기 변경된 제1 위치인 3번째 자리에 삽입되어 있던 '1'이라는 평문 텍스트 값을 추출할 수 있다.
이러한 방식으로, 사용자 인증용 가상 키보드 생성 장치(110)는 클라이언트 단말(120)로부터 가상 키보드 입력 데이터가 하나씩 전송될 때마다, 상기 가상 키보드 입력 데이터로부터 평문 텍스트 값을 하나씩 추출할 수 있고, 평문 텍스트 값의 추출이 완료되면, 추출이 완료된 평문 텍스트 값을 기초로 클라이언트 단말(120)에 대한 사용자 인증을 수행할 수 있다.
도 4는 본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 장치의 구조를 도시한 도면이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 장치(410)는 생성부(411), 혼합부(412), 암호화부(413), 매핑부(414) 및 전송부(415)를 포함한다.
생성부(411)는 클라이언트 단말(430)로부터 사용자 인증용 데이터 입력을 위한 가상 키보드 호출 요청이 전송되면, 상기 가상 키보드 호출 요청에 대응하여 가상 키보드를 구성하는 복수의 키패드들에 대응되는 복수의 평문 텍스트 값들을 생성한다.
혼합부(412)는 복수의 랜덤 값들로 구성된 텍스트 배열을 생성하고, 상기 복수의 평문 텍스트 값들 각각을 상기 텍스트 배열 상의 제1 위치에 삽입하여 복수의 혼합 텍스트 배열들을 생성한다.
암호화부(413)는 데이터 암호화를 위한 암호화키를 생성하여 상기 복수의 혼합 텍스트 배열들을 상기 암호화키로 암호화한다.
매핑부(414)는 상기 복수의 키패드들을 표현하기 위한 가상 키보드 이미지를 생성하고, 상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들을 매핑한다.
전송부(415)는 상기 암호화된 복수의 혼합 텍스트 배열들과 상기 가상 키보드 이미지, 및 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 데이터를 생성하여 상기 가상 키보드 데이터를 클라이언트 단말(430)로 전송한다.
이때, 본 발명의 일실시예에 따르면, 사용자 인증용 가상 키보드 생성 장치(410)는 복호화부(416), 추출부(417) 및 사용자 인증부(418)를 더 포함할 수 있다.
복호화부(416)는 클라이언트 단말(430)로부터, 클라이언트 단말(430)의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 적어도 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송되면, 상기 암호화키를 기초로 상기 적어도 하나의 혼합 텍스트 배열을 복호화한다.
추출부(417)는 상기 복호화된 적어도 하나의 혼합 텍스트 배열로부터 상기 제1 위치에 삽입되어 있는 적어도 하나의 평문 텍스트 값을 추출한다.
사용자 인증부(418)는 상기 추출된 적어도 하나의 평문 텍스트 값을 기초로 상기 클라이언트 단말에 대한 사용자 인증을 수행한다.
또한, 본 발명의 일실시예에 따르면, 혼합부(412)는 클라이언트 단말(430)로부터, 클라이언트 단말(430)의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 어느 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송될 때마다, 상기 복수의 랜덤 값들을 재생성하여 상기 재생성된 복수의 랜덤 값들로 구성된 상기 텍스트 배열을 재생성한 후 상기 복수의 평문 텍스트 값들 각각을 상기 재생성된 텍스트 배열 상의 상기 제1 위치에 삽입하여 상기 복수의 혼합 텍스트 배열들을 재생성할 수 있다.
이때, 본 발명의 일실시예에 따르면, 혼합부(412)는 클라이언트 단말(430)로부터 상기 어느 하나의 혼합 텍스트 배열이 상기 가상 키보드 입력 데이터로 전송될 때마다, 상기 제1 위치를 변경하여 상기 복수의 평문 텍스트 값들 각각을 상기 재생성된 텍스트 배열 상의 상기 변경된 제1 위치에 삽입할 수 있다.
이때, 암호화부(413)는 상기 재생성된 복수의 혼합 텍스트 배열들을 상기 암호화키로 재암호화할 수 있고, 매핑부(414)는 상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 재암호화된 복수의 혼합 텍스트 배열들을 매핑할 수 있다.
그리고 나서, 전송부(415)는 상기 재암호화된 복수의 혼합 텍스트 배열들, 및 상기 복수의 키패드들과 상기 재암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 갱신 데이터를 생성하여 상기 가상 키보드 갱신 데이터를 클라이언트 단말(430)로 전송할 수 있다.
이때, 본 발명의 일실시예에 따르면, 클라이언트 단말(430)은 상기 가상 키보드 갱신 데이터가 수신되면, 상기 가상 키보드 갱신 데이터를 기초로 클라이언트 단말(430) 내에 저장되어 있는 상기 가상 키보드 데이터를 갱신한 후 상기 갱신된 가상 키보드 데이터를 기초로 상기 가상 키보드를 생성할 수 있다.
본 발명의 일실시예에 따르면, 사용자 인증용 가상 키보드 생성 장치(410)는 이벤트 명령 생성부(419) 및 이벤트 명령 전송부(420)를 더 포함할 수 있다.
이벤트 명령 생성부(419)는 클라이언트 단말(430)로부터, 클라이언트 단말(430)의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 어느 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송될 때마다, 상기 복수의 키패드들 중 적어도 하나의 키패드를 랜덤하게 선택하여 상기 가상 키보드 이미지 상에서 상기 랜덤하게 선택된 적어도 하나의 키패드가 선택되는 애니메이션 이벤트를 발생시키기 위한 이벤트 발생 명령을 생성한다.
이벤트 명령 전송부(420)는 상기 이벤트 발생 명령을 클라이언트 단말(430)로 전송하여 클라이언트 단말(430)이 상기 가상 키보드 이미지 상에서 상기 랜덤하게 선택된 적어도 하나의 키패드가 선택되는 애니메이션 이벤트를 출력하도록 제어한다.
이상, 도 4를 참조하여 본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 장치(410)에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 장치(410)는 도 1을 이용하여 설명한 사용자 인증용 가상 키보드 생성 장치(110)에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
도 5는 본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 방법을 도시한 순서도이다.
단계(S510)에서는 클라이언트 단말로부터 사용자 인증용 데이터 입력을 위한 가상 키보드 호출 요청이 전송되면, 상기 가상 키보드 호출 요청에 대응하여 가상 키보드를 구성하는 복수의 키패드들에 대응되는 복수의 평문 텍스트 값들을 생성한다.
단계(S520)에서는 복수의 랜덤 값들로 구성된 텍스트 배열을 생성하고, 상기 복수의 평문 텍스트 값들 각각을 상기 텍스트 배열 상의 제1 위치에 삽입하여 복수의 혼합 텍스트 배열들을 생성한다.
단계(S530)에서는 데이터 암호화를 위한 암호화키를 생성하여 상기 복수의 혼합 텍스트 배열들을 상기 암호화키로 암호화한다.
단계(S540)에서는 상기 복수의 키패드들을 표현하기 위한 가상 키보드 이미지를 생성하고, 상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들을 매핑한다.
단계(S550)에서는 상기 암호화된 복수의 혼합 텍스트 배열들과 상기 가상 키보드 이미지, 및 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 데이터를 생성하여 상기 가상 키보드 데이터를 상기 클라이언트 단말로 전송한다.
이때, 본 발명의 일실시예에 따르면, 상기 사용자 인증용 가상 키보드 생성 방법은 단계(S550)이후에 상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 적어도 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송되면, 상기 암호화키를 기초로 상기 적어도 하나의 혼합 텍스트 배열을 복호화하는 단계, 상기 복호화된 적어도 하나의 혼합 텍스트 배열로부터 상기 제1 위치에 삽입되어 있는 적어도 하나의 평문 텍스트 값을 추출하는 단계 및 상기 추출된 적어도 하나의 평문 텍스트 값을 기초로 상기 클라이언트 단말에 대한 사용자 인증을 수행하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 사용자 인증용 가상 키보드 생성 방법은 단계(S550)이후에 상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 어느 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송될 때마다, 상기 복수의 랜덤 값들을 재생성하여 상기 재생성된 복수의 랜덤 값들로 구성된 상기 텍스트 배열을 재생성한 후 상기 복수의 평문 텍스트 값들 각각을 상기 재생성된 텍스트 배열 상의 상기 제1 위치에 삽입하여 상기 복수의 혼합 텍스트 배열들을 재생성하는 단계, 상기 재생성된 복수의 혼합 텍스트 배열들을 상기 암호화키로 재암호화하는 단계, 상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 재암호화된 복수의 혼합 텍스트 배열들을 매핑하는 단계 및 상기 재암호화된 복수의 혼합 텍스트 배열들, 및 상기 복수의 키패드들과 상기 재암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 갱신 데이터를 생성하여 상기 가상 키보드 갱신 데이터를 상기 클라이언트 단말로 전송하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 클라이언트 단말은 상기 가상 키보드 갱신 데이터가 수신되면, 상기 가상 키보드 갱신 데이터를 기초로 상기 클라이언트 단말 내에 저장되어 있는 상기 가상 키보드 데이터를 갱신한 후 상기 갱신된 가상 키보드 데이터를 기초로 상기 가상 키보드를 생성할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 복수의 혼합 텍스트 배열들을 재생성하는 단계는 상기 클라이언트 단말로부터 상기 어느 하나의 혼합 텍스트 배열이 상기 가상 키보드 입력 데이터로 전송될 때마다, 상기 제1 위치를 변경하여 상기 복수의 평문 텍스트 값들 각각을 상기 재생성된 텍스트 배열 상의 상기 변경된 제1 위치에 삽입할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 사용자 인증용 가상 키보드 생성 방법은 단계(S550)이후에 상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 어느 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송될 때마다, 상기 복수의 키패드들 중 적어도 하나의 키패드를 랜덤하게 선택하여 상기 가상 키보드 이미지 상에서 상기 랜덤하게 선택된 적어도 하나의 키패드가 선택되는 애니메이션 이벤트를 발생시키기 위한 이벤트 발생 명령을 생성하는 단계 및 상기 이벤트 발생 명령을 상기 클라이언트 단말로 전송하여 상기 클라이언트 단말이 상기 가상 키보드 이미지 상에서 상기 랜덤하게 선택된 적어도 하나의 키패드가 선택되는 애니메이션 이벤트를 출력하도록 제어하는 단계를 더 포함할 수 있다.
이상, 도 5를 참조하여 본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 방법은 도 1 내지 도 4를 이용하여 설명한 사용자 인증용 가상 키보드 생성 장치(110, 410)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 사용자 인증용 가상 키보드 생성 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (13)

  1. 클라이언트 단말로부터 사용자 인증용 데이터 입력을 위한 가상 키보드 호출 요청이 전송되면, 상기 가상 키보드 호출 요청에 대응하여 가상 키보드를 구성하는 복수의 키패드들에 대응되는 복수의 평문 텍스트 값들을 생성하는 생성부;
    복수의 랜덤 값들로 구성된 텍스트 배열을 생성하고, 상기 복수의 평문 텍스트 값들 각각을 상기 텍스트 배열 상의 제1 위치에 삽입하여 복수의 혼합 텍스트 배열들을 생성하는 혼합부;
    데이터 암호화를 위한 암호화키를 생성하여 상기 복수의 혼합 텍스트 배열들을 상기 암호화키로 암호화하는 암호화부;
    상기 복수의 키패드들을 표현하기 위한 가상 키보드 이미지를 생성하고, 상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들을 매핑하는 매핑부; 및
    상기 암호화된 복수의 혼합 텍스트 배열들과 상기 가상 키보드 이미지, 및 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 데이터를 생성하여 상기 가상 키보드 데이터를 상기 클라이언트 단말로 전송하는 전송부
    를 포함하는 사용자 인증용 가상 키보드 생성 장치.
  2. 제1항에 있어서,
    상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 적어도 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송되면, 상기 암호화키를 기초로 상기 적어도 하나의 혼합 텍스트 배열을 복호화하는 복호화부;
    상기 복호화된 적어도 하나의 혼합 텍스트 배열로부터 상기 제1 위치에 삽입되어 있는 적어도 하나의 평문 텍스트 값을 추출하는 추출부; 및
    상기 추출된 적어도 하나의 평문 텍스트 값을 기초로 상기 클라이언트 단말에 대한 사용자 인증을 수행하는 사용자 인증부
    를 더 포함하는 사용자 인증용 가상 키보드 생성 장치.
  3. 제1항에 있어서,
    상기 혼합부는
    상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 어느 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송될 때마다, 상기 복수의 랜덤 값들을 재생성하여 상기 재생성된 복수의 랜덤 값들로 구성된 상기 텍스트 배열을 재생성한 후 상기 복수의 평문 텍스트 값들 각각을 상기 재생성된 텍스트 배열 상의 상기 제1 위치에 삽입하여 상기 복수의 혼합 텍스트 배열들을 재생성하고,
    상기 암호화부는
    상기 재생성된 복수의 혼합 텍스트 배열들을 상기 암호화키로 재암호화하며,
    상기 매핑부는
    상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 재암호화된 복수의 혼합 텍스트 배열들을 매핑하고,
    상기 전송부는
    상기 재암호화된 복수의 혼합 텍스트 배열들, 및 상기 복수의 키패드들과 상기 재암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 갱신 데이터를 생성하여 상기 가상 키보드 갱신 데이터를 상기 클라이언트 단말로 전송하는 사용자 인증용 가상 키보드 생성 장치.
  4. 제3항에 있어서,
    상기 클라이언트 단말은
    상기 가상 키보드 갱신 데이터가 수신되면, 상기 가상 키보드 갱신 데이터를 기초로 상기 클라이언트 단말 내에 저장되어 있는 상기 가상 키보드 데이터를 갱신한 후 상기 갱신된 가상 키보드 데이터를 기초로 상기 가상 키보드를 생성하는 사용자 인증용 가상 키보드 생성 장치.
  5. 제3항에 있어서,
    상기 혼합부는
    상기 클라이언트 단말로부터 상기 어느 하나의 혼합 텍스트 배열이 상기 가상 키보드 입력 데이터로 전송될 때마다, 상기 제1 위치를 변경하여 상기 복수의 평문 텍스트 값들 각각을 상기 재생성된 텍스트 배열 상의 상기 변경된 제1 위치에 삽입하는 사용자 인증용 가상 키보드 생성 장치.
  6. 제1항에 있어서,
    상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 어느 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송될 때마다, 상기 복수의 키패드들 중 적어도 하나의 키패드를 랜덤하게 선택하여 상기 가상 키보드 이미지 상에서 상기 랜덤하게 선택된 적어도 하나의 키패드가 선택되는 애니메이션 이벤트를 발생시키기 위한 이벤트 발생 명령을 생성하는 이벤트 명령 생성부; 및
    상기 이벤트 발생 명령을 상기 클라이언트 단말로 전송하여 상기 클라이언트 단말이 상기 가상 키보드 이미지 상에서 상기 랜덤하게 선택된 적어도 하나의 키패드가 선택되는 애니메이션 이벤트를 출력하도록 제어하는 이벤트 명령 전송부
    를 더 포함하는 사용자 인증용 가상 키보드 생성 장치.
  7. 클라이언트 단말로부터 사용자 인증용 데이터 입력을 위한 가상 키보드 호출 요청이 전송되면, 상기 가상 키보드 호출 요청에 대응하여 가상 키보드를 구성하는 복수의 키패드들에 대응되는 복수의 평문 텍스트 값들을 생성하는 단계;
    복수의 랜덤 값들로 구성된 텍스트 배열을 생성하고, 상기 복수의 평문 텍스트 값들 각각을 상기 텍스트 배열 상의 제1 위치에 삽입하여 복수의 혼합 텍스트 배열들을 생성하는 단계;
    데이터 암호화를 위한 암호화키를 생성하여 상기 복수의 혼합 텍스트 배열들을 상기 암호화키로 암호화하는 단계;
    상기 복수의 키패드들을 표현하기 위한 가상 키보드 이미지를 생성하고, 상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들을 매핑하는 단계; 및
    상기 암호화된 복수의 혼합 텍스트 배열들과 상기 가상 키보드 이미지, 및 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 데이터를 생성하여 상기 가상 키보드 데이터를 상기 클라이언트 단말로 전송하는 단계
    를 포함하는 사용자 인증용 가상 키보드 생성 방법.
  8. 제7항에 있어서,
    상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 적어도 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송되면, 상기 암호화키를 기초로 상기 적어도 하나의 혼합 텍스트 배열을 복호화하는 단계;
    상기 복호화된 적어도 하나의 혼합 텍스트 배열로부터 상기 제1 위치에 삽입되어 있는 적어도 하나의 평문 텍스트 값을 추출하는 단계; 및
    상기 추출된 적어도 하나의 평문 텍스트 값을 기초로 상기 클라이언트 단말에 대한 사용자 인증을 수행하는 단계
    를 더 포함하는 사용자 인증용 가상 키보드 생성 방법.
  9. 제7항에 있어서,
    상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 어느 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송될 때마다, 상기 복수의 랜덤 값들을 재생성하여 상기 재생성된 복수의 랜덤 값들로 구성된 상기 텍스트 배열을 재생성한 후 상기 복수의 평문 텍스트 값들 각각을 상기 재생성된 텍스트 배열 상의 상기 제1 위치에 삽입하여 상기 복수의 혼합 텍스트 배열들을 재생성하는 단계;
    상기 재생성된 복수의 혼합 텍스트 배열들을 상기 암호화키로 재암호화하는 단계;
    상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 재암호화된 복수의 혼합 텍스트 배열들을 매핑하는 단계; 및
    상기 재암호화된 복수의 혼합 텍스트 배열들, 및 상기 복수의 키패드들과 상기 재암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 갱신 데이터를 생성하여 상기 가상 키보드 갱신 데이터를 상기 클라이언트 단말로 전송하는 단계
    를 더 포함하는 사용자 인증용 가상 키보드 생성 방법.
  10. 제9항에 있어서,
    상기 클라이언트 단말은
    상기 가상 키보드 갱신 데이터가 수신되면, 상기 가상 키보드 갱신 데이터를 기초로 상기 클라이언트 단말 내에 저장되어 있는 상기 가상 키보드 데이터를 갱신한 후 상기 갱신된 가상 키보드 데이터를 기초로 상기 가상 키보드를 생성하는 사용자 인증용 가상 키보드 생성 방법.
  11. 제9항에 있어서,
    상기 복수의 혼합 텍스트 배열들을 재생성하는 단계는
    상기 클라이언트 단말로부터 상기 어느 하나의 혼합 텍스트 배열이 상기 가상 키보드 입력 데이터로 전송될 때마다, 상기 제1 위치를 변경하여 상기 복수의 평문 텍스트 값들 각각을 상기 재생성된 텍스트 배열 상의 상기 변경된 제1 위치에 삽입하는 사용자 인증용 가상 키보드 생성 방법.
  12. 제7항에 있어서,
    상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 어느 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송될 때마다, 상기 복수의 키패드들 중 적어도 하나의 키패드를 랜덤하게 선택하여 상기 가상 키보드 이미지 상에서 상기 랜덤하게 선택된 적어도 하나의 키패드가 선택되는 애니메이션 이벤트를 발생시키기 위한 이벤트 발생 명령을 생성하는 단계; 및
    상기 이벤트 발생 명령을 상기 클라이언트 단말로 전송하여 상기 클라이언트 단말이 상기 가상 키보드 이미지 상에서 상기 랜덤하게 선택된 적어도 하나의 키패드가 선택되는 애니메이션 이벤트를 출력하도록 제어하는 단계
    를 더 포함하는 사용자 인증용 가상 키보드 생성 방법.
  13. 제7항 내지 제12항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
PCT/KR2015/003801 2014-04-17 2015-04-15 사용자 인증용 가상 키보드 생성 장치 및 방법 WO2015160190A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0045932 2014-04-17
KR20140045932A KR101480889B1 (ko) 2014-04-17 2014-04-17 사용자 인증용 가상 키보드 생성 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2015160190A1 true WO2015160190A1 (ko) 2015-10-22

Family

ID=52588595

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/003801 WO2015160190A1 (ko) 2014-04-17 2015-04-15 사용자 인증용 가상 키보드 생성 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101480889B1 (ko)
WO (1) WO2015160190A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180022506A (ko) * 2016-08-24 2018-03-06 유동근 프로그램 또는 파일 암호 생성방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101742265B1 (ko) * 2015-01-21 2017-06-01 류창화 입력 장치 및 방법
KR102600593B1 (ko) 2022-12-22 2023-11-09 장준 가상 키보드를 이용하여 데이터를 암호화하기 위한 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050069955A (ko) * 2005-06-04 2005-07-05 원광대학교산학협력단 혼합형 암호화 시스템
KR20070010557A (ko) * 2005-07-19 2007-01-24 소프트포럼 주식회사 키입력 해킹방지 방법
KR20070109775A (ko) * 2006-05-09 2007-11-15 황조윤 랜덤하게 맵핑되는 가변 패스워드에 의한 인증 보안 방법
KR20100023635A (ko) * 2008-08-22 2010-03-04 (주)이스트소프트 가상키보드를 이용한 보안방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050069955A (ko) * 2005-06-04 2005-07-05 원광대학교산학협력단 혼합형 암호화 시스템
KR20070010557A (ko) * 2005-07-19 2007-01-24 소프트포럼 주식회사 키입력 해킹방지 방법
KR20070109775A (ko) * 2006-05-09 2007-11-15 황조윤 랜덤하게 맵핑되는 가변 패스워드에 의한 인증 보안 방법
KR20100023635A (ko) * 2008-08-22 2010-03-04 (주)이스트소프트 가상키보드를 이용한 보안방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180022506A (ko) * 2016-08-24 2018-03-06 유동근 프로그램 또는 파일 암호 생성방법
KR101975638B1 (ko) 2016-08-24 2019-05-07 유동근 프로그램 또는 파일 암호 생성방법

Also Published As

Publication number Publication date
KR101480889B1 (ko) 2015-01-13

Similar Documents

Publication Publication Date Title
US10469469B1 (en) Device-based PIN authentication process to protect encrypted data
JP5981610B2 (ja) 電子取引用のネットワーク認証方法
CN108769027B (zh) 安全通信方法、装置、移动终端和存储介质
CN101051904B (zh) 一种保护网络应用程序使用账号密码进行登录的方法
WO2013162296A1 (ko) 패스코드 운영 시스템과 패스코드 장치 및 슈퍼 패스코드 생성 방법
US20180091487A1 (en) Electronic device, server and communication system for securely transmitting information
CN101965574B (zh) 认证信息生成系统、认证信息生成方法、客户机装置
WO2014185594A1 (ko) Vdi 환경에서의 싱글 사인온 시스템 및 방법
WO2017105072A1 (ko) 생체 정보 기반 인증 장치 그리고 이의 동작 방법
KR102055625B1 (ko) 인증 서버 장치, 프로그램 및 인증 방법
USRE47324E1 (en) Data encryption systems and methods
WO2014104539A1 (ko) 패스코드 관리 방법 및 장치
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
WO2020235942A9 (ko) 분실된 개인 키를 복원하는 시스템
CN106897631A (zh) 数据处理方法、装置及系统
CN113992346A (zh) 一种基于国密加固的安全云桌面的实现方法
WO2017034378A1 (ko) 접근성을 이용하는 정보 보안 장치 및 정보 보안 방법
WO2015160190A1 (ko) 사용자 인증용 가상 키보드 생성 장치 및 방법
EP3843323A1 (en) Computation device, computation method, computation program, and computation system
KR102079431B1 (ko) 인증 스틱
JP5908296B2 (ja) 情報端末装置、情報端末システム、情報端末制御方法およびプログラム
CN110414269B (zh) 应用安装包的处理方法、相关装置、存储介质及系统
WO2011111981A2 (ko) 데이터 자동 암복호화 방법 및 장치
WO2017155230A1 (ko) 가변 그리드의 인덱스를 이용한 입력 인식 방법 및 시스템
Han et al. Scalable and secure virtualization of HSM with ScaleTrust

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15780695

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15780695

Country of ref document: EP

Kind code of ref document: A1