DEVICE AND METHOD FOR GENERATING VIRTUAL KEYBOARD FOR USER AUTHENTICATION
본 발명의 실시예들은 사용자 인증에 사용되는 가상 키보드를 생성하여 이를 클라이언트 단말로 전송해 주는 기법에 대한 기술들과 관련된다. 최근, 데스크탑 컴퓨터나 스마트폰 또는 태블릿 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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다. Disclosed are a device and a method for generating a virtual keyboard for user authentication. The embodiments according to the present invention are capable of enhancing security of a user authentication process using the virtual keyboard by: generating a plurality of plain text values corresponding to a plurality of keypads that constitute the virtual keyboard, when a virtual keyboard call request for authenticating a user has been transmitted from a client terminal; performing specific data scrambling and encryption of the plurality of plain text values to generate virtual keyboard data; and transmitting the virtual keyboard data to the client terminal. 클라이언트 단말로부터 사용자 인증용 데이터 입력을 위한 가상 키보드 호출 요청이 전송되면, 상기 가상 키보드 호출 요청에 대응하여 가상 키보드를 구성하는 복수의 키패드들에 대응되는 복수의 평문 텍스트 값들을 생성하는 생성부; 복수의 랜덤 값들로 구성된 텍스트 배열을 생성하고, 상기 복수의 평문 텍스트 값들 각각을 상기 텍스트 배열 상의 제1 위치에 삽입하여 복수의 혼합 텍스트 배열들을 생성하는 혼합부; 데이터 암호화를 위한 암호화키를 생성하여 상기 복수의 혼합 텍스트 배열들을 상기 암호화키로 암호화하는 암호화부; 상기 복수의 키패드들을 표현하기 위한 가상 키보드 이미지를 생성하고, 상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들을 매핑하는 매핑부; 및 상기 암호화된 복수의 혼합 텍스트 배열들과 상기 가상 키보드 이미지, 및 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 데이터를 생성하여 상기 가상 키보드 데이터를 상기 클라이언트 단말로 전송하는 전송부 를 포함하는 사용자 인증용 가상 키보드 생성 장치. 제1항에 있어서, 상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 적어도 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송되면, 상기 암호화키를 기초로 상기 적어도 하나의 혼합 텍스트 배열을 복호화하는 복호화부; 상기 복호화된 적어도 하나의 혼합 텍스트 배열로부터 상기 제1 위치에 삽입되어 있는 적어도 하나의 평문 텍스트 값을 추출하는 추출부; 및 상기 추출된 적어도 하나의 평문 텍스트 값을 기초로 상기 클라이언트 단말에 대한 사용자 인증을 수행하는 사용자 인증부 를 더 포함하는 사용자 인증용 가상 키보드 생성 장치. 제1항에 있어서, 상기 혼합부는 상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 어느 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송될 때마다, 상기 복수의 랜덤 값들을 재생성하여 상기 재생성된 복수의 랜덤 값들로 구성된 상기 텍스트 배열을 재생성한 후 상기 복수의 평문 텍스트 값들 각각을 상기 재생성된 텍스트 배열 상의 상기 제1 위치에 삽입하여 상기 복수의 혼합 텍스트 배열들을 재생성하고, 상기 암호화부는 상기 재생성된 복수의 혼합 텍스트 배열들을 상기 암호화키로 재암호화하며, 상기 매핑부는 상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 재암호화된 복수의 혼합 텍스트 배열들을 매핑하고, 상기 전송부는 상기 재암호화된 복수의 혼합 텍스트 배열들, 및 상기 복수의 키패드들과 상기 재암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 갱신 데이터를 생성하여 상기 가상 키보드 갱신 데이터를 상기 클라이언트 단말로 전송하는 사용자 인증용 가상 키보드 생성 장치. 제3항에 있어서, 상기 클라이언트 단말은 상기 가상 키보드 갱신 데이터가 수신되면, 상기 가상 키보드 갱신 데이터를 기초로 상기 클라이언트 단말 내에 저장되어 있는 상기 가상 키보드 데이터를 갱신한 후 상기 갱신된 가상 키보드 데이터를 기초로 상기 가상 키보드를 생성하는 사용자 인증용 가상 키보드 생성 장치. 제3항에 있어서, 상기 혼합부는 상기 클라이언트 단말로부터 상기 어느 하나의 혼합 텍스트 배열이 상기 가상 키보드 입력 데이터로 전송될 때마다, 상기 제1 위치를 변경하여 상기 복수의 평문 텍스트 값들 각각을 상기 재생성된 텍스트 배열 상의 상기 변경된 제1 위치에 삽입하는 사용자 인증용 가상 키보드 생성 장치. 제1항에 있어서, 상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 어느 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송될 때마다, 상기 복수의 키패드들 중 적어도 하나의 키패드를 랜덤하게 선택하여 상기 가상 키보드 이미지 상에서 상기 랜덤하게 선택된 적어도 하나의 키패드가 선택되는 애니메이션 이벤트를 발생시키기 위한 이벤트 발생 명령을 생성하는 이벤트 명령 생성부; 및 상기 이벤트 발생 명령을 상기 클라이언트 단말로 전송하여 상기 클라이언트 단말이 상기 가상 키보드 이미지 상에서 상기 랜덤하게 선택된 적어도 하나의 키패드가 선택되는 애니메이션 이벤트를 출력하도록 제어하는 이벤트 명령 전송부 를 더 포함하는 사용자 인증용 가상 키보드 생성 장치. 클라이언트 단말로부터 사용자 인증용 데이터 입력을 위한 가상 키보드 호출 요청이 전송되면, 상기 가상 키보드 호출 요청에 대응하여 가상 키보드를 구성하는 복수의 키패드들에 대응되는 복수의 평문 텍스트 값들을 생성하는 단계; 복수의 랜덤 값들로 구성된 텍스트 배열을 생성하고, 상기 복수의 평문 텍스트 값들 각각을 상기 텍스트 배열 상의 제1 위치에 삽입하여 복수의 혼합 텍스트 배열들을 생성하는 단계; 데이터 암호화를 위한 암호화키를 생성하여 상기 복수의 혼합 텍스트 배열들을 상기 암호화키로 암호화하는 단계; 상기 복수의 키패드들을 표현하기 위한 가상 키보드 이미지를 생성하고, 상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들을 매핑하는 단계; 및 상기 암호화된 복수의 혼합 텍스트 배열들과 상기 가상 키보드 이미지, 및 상기 복수의 키패드들과 상기 암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 데이터를 생성하여 상기 가상 키보드 데이터를 상기 클라이언트 단말로 전송하는 단계 를 포함하는 사용자 인증용 가상 키보드 생성 방법. 제7항에 있어서, 상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 적어도 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송되면, 상기 암호화키를 기초로 상기 적어도 하나의 혼합 텍스트 배열을 복호화하는 단계; 상기 복호화된 적어도 하나의 혼합 텍스트 배열로부터 상기 제1 위치에 삽입되어 있는 적어도 하나의 평문 텍스트 값을 추출하는 단계; 및 상기 추출된 적어도 하나의 평문 텍스트 값을 기초로 상기 클라이언트 단말에 대한 사용자 인증을 수행하는 단계 를 더 포함하는 사용자 인증용 가상 키보드 생성 방법. 제7항에 있어서, 상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 어느 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송될 때마다, 상기 복수의 랜덤 값들을 재생성하여 상기 재생성된 복수의 랜덤 값들로 구성된 상기 텍스트 배열을 재생성한 후 상기 복수의 평문 텍스트 값들 각각을 상기 재생성된 텍스트 배열 상의 상기 제1 위치에 삽입하여 상기 복수의 혼합 텍스트 배열들을 재생성하는 단계; 상기 재생성된 복수의 혼합 텍스트 배열들을 상기 암호화키로 재암호화하는 단계; 상기 복수의 키패드들과 상기 복수의 평문 텍스트 값들 사이의 대응 관계에 따라 상기 가상 키보드 이미지 상에서 상기 복수의 키패드들과 상기 재암호화된 복수의 혼합 텍스트 배열들을 매핑하는 단계; 및 상기 재암호화된 복수의 혼합 텍스트 배열들, 및 상기 복수의 키패드들과 상기 재암호화된 복수의 혼합 텍스트 배열들 사이의 매핑 정보로 구성된 가상 키보드 갱신 데이터를 생성하여 상기 가상 키보드 갱신 데이터를 상기 클라이언트 단말로 전송하는 단계 를 더 포함하는 사용자 인증용 가상 키보드 생성 방법. 제9항에 있어서, 상기 클라이언트 단말은 상기 가상 키보드 갱신 데이터가 수신되면, 상기 가상 키보드 갱신 데이터를 기초로 상기 클라이언트 단말 내에 저장되어 있는 상기 가상 키보드 데이터를 갱신한 후 상기 갱신된 가상 키보드 데이터를 기초로 상기 가상 키보드를 생성하는 사용자 인증용 가상 키보드 생성 방법. 제9항에 있어서, 상기 복수의 혼합 텍스트 배열들을 재생성하는 단계는 상기 클라이언트 단말로부터 상기 어느 하나의 혼합 텍스트 배열이 상기 가상 키보드 입력 데이터로 전송될 때마다, 상기 제1 위치를 변경하여 상기 복수의 평문 텍스트 값들 각각을 상기 재생성된 텍스트 배열 상의 상기 변경된 제1 위치에 삽입하는 사용자 인증용 가상 키보드 생성 방법. 제7항에 있어서, 상기 클라이언트 단말로부터, 상기 클라이언트 단말의 사용자의 가상 키보드 입력에 기초하여 상기 복수의 키패드들에 매핑되어 있는 상기 암호화된 복수의 혼합 텍스트 배열들 중 어느 하나의 혼합 텍스트 배열이 가상 키보드 입력 데이터로 전송될 때마다, 상기 복수의 키패드들 중 적어도 하나의 키패드를 랜덤하게 선택하여 상기 가상 키보드 이미지 상에서 상기 랜덤하게 선택된 적어도 하나의 키패드가 선택되는 애니메이션 이벤트를 발생시키기 위한 이벤트 발생 명령을 생성하는 단계; 및 상기 이벤트 발생 명령을 상기 클라이언트 단말로 전송하여 상기 클라이언트 단말이 상기 가상 키보드 이미지 상에서 상기 랜덤하게 선택된 적어도 하나의 키패드가 선택되는 애니메이션 이벤트를 출력하도록 제어하는 단계 를 더 포함하는 사용자 인증용 가상 키보드 생성 방법. 제7항 내지 제12항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.