KR20120046508A - Confirmation method using variable secret puzzle - Google Patents

Confirmation method using variable secret puzzle Download PDF

Info

Publication number
KR20120046508A
KR20120046508A KR1020100108196A KR20100108196A KR20120046508A KR 20120046508 A KR20120046508 A KR 20120046508A KR 1020100108196 A KR1020100108196 A KR 1020100108196A KR 20100108196 A KR20100108196 A KR 20100108196A KR 20120046508 A KR20120046508 A KR 20120046508A
Authority
KR
South Korea
Prior art keywords
secret
script
puzzle
transfer
user
Prior art date
Application number
KR1020100108196A
Other languages
Korean (ko)
Other versions
KR101170822B1 (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 KR1020100108196A priority Critical patent/KR101170822B1/en
Publication of KR20120046508A publication Critical patent/KR20120046508A/en
Application granted granted Critical
Publication of KR101170822B1 publication Critical patent/KR101170822B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Abstract

PURPOSE: An authentication method using confidential puzzles is provided to perform account transfer only through a secret puzzle with an account transfer password, thereby safely protecting transaction authentication from a malicious code and a hacker. CONSTITUTION: A first confidential puzzle script and a user authentication number are received from the authentication server(S60). A number or a character corresponding to an account transfer password is inputted to the confidential puzzle script as a code number or a code character indicated in the confidential puzzle script(S70). The account transfer password of a user is inputted as the code number indicated in the first confidential puzzle script(S80). The authorization of account transfer is determined by confirming the account transfer password and the authentication number(S90).

Description

다양한 비밀퍼즐을 이용한 승인 방법{Confirmation method using variable secret puzzle}Confirmation method using variable secret puzzle

본 발명은 암호화 방법 및 이를 이용한 시스템에 관한 것으로, 보다 상세하게는 인증 서버로부터 암호화 또는 해시 함수의 결과값을 수신 및 기반으로 하여 비밀퍼즐을 생성하여 다양한 비밀 퍼즐을 이용한 승인 방법에 관한 것이다.
The present invention relates to an encryption method and a system using the same. More particularly, the present invention relates to an authentication method using a variety of secret puzzles by generating secret puzzles based on receiving and based on a result of encryption or a hash function from an authentication server.

인터넷뱅킹은 우리 생활에 없어서는 안 될 매우 중요한 전자금융거래 수단으로 자리 잡았다. 국내의 인터넷뱅킹은 2010년도 2/4분기 중 일평균 3,291만건, 29조 9,548억원으로 꾸준한 증가세를 유지하고 있고, 전체 입출금 및 자금이체의 34.1%, 조회서비스의 66.1%로 금융서비스 전달채널 중 가장 높은 비중을 차지하고 있다. Internet banking has become a very important means of electronic financial transactions in our lives. Domestic internet banking has been on a steady increase in the second quarter of 2010, with an average daily average of 3.291 million cases and 29.95 trillion won. It has a high proportion.

특히 모바일뱅킹은 일평균 262만건, 4,078억원으로 전분기대비 각각 13.2%, 14.0%의 증가율을 기록하는 등 앞으로도 더욱 활성화 될 전망이다.
Mobile banking, in particular, is expected to grow further, with an average of 2.26mn daily and KRW400.8bn, growing by 13.2% and 14.0% QoQ, respectively.

인터넷뱅킹은 비대면 거래인만큼 사용자 인증과 거래승인 과정을 보호하는 것이 매우 중요하다. 이를 위해 인터넷뱅킹에는 다양한 비밀들이 사용되고 있으나, 그 이용방법은 입력장치를 통해 평문을 그대로 입력하는 형태로 모두 동일하다. Since internet banking is a non-face-to-face transaction, it is very important to protect the user authentication and transaction approval process. To this end, various secrets are used in Internet banking, but the method of use is the same as inputting plain text through an input device.

평문으로 입력되는 비밀 코드는 수학적으로 보안성이 검증된 인증 프로토콜과 암호기법을 통해 보호받기 때문에 네트워크 수준에서 일어날 수 있는 대다수의 공격으로부터는 안전하나, 비밀 코드 없이 암호를 해독하는 것은 막대한 비용과 시간이 요구된다는 사실과 비밀의 단순한 이용방법을 알고 있는 공격자는 자연스럽게 비교적 공격하기 쉬운 비밀 코드 입력과정을 목표로 하는 것이다. The secret code entered in plain text is protected from mathematically proven authentication protocols and cryptographic techniques, so it is safe from the majority of attacks that can occur at the network level, but decrypting without the secret code is costly and time consuming. An attacker who knows that this is required and how to use a secret is naturally aimed at the process of entering a secret code which is relatively easy to attack.

그러한 공격의 대표적인 예가 사용자가 입력하는 단계에서 비밀을 얻어내는 키보드 후킹(Keyboard Hooking)과 사용자의 눈을 속여 공격자가 제작한 사이트에 비밀을 입력하도록 유도하는 피싱(Phishing 또는 파밍:Pharming, 이하 피싱)공격이다. 그리고 한층 더 지능화된 공격으로 문서변조가 있다.
Representative examples of such attacks include keyboard hooking, which captures secrets at the user's input stage, and phishing that tricks the user's eyes into entering secrets on attacker-generated sites. It is an attack. A more intelligent attack is document tampering.

문서변조는 사용자의 거래가 시작되는 시점부터 완료되기까지 사용자의 눈을 속여 공격자의 의도대로 거래를 완료시키는 공격이다. 비밀 코드를 단순히 얻어내는 것이 목적인 키보드 후킹이나 피싱과 다르게 입력된 비밀 코드를 사용자의 의심 없이 악용하기 때문에 더욱 지능화된 공격이다.
Document tampering is an attack that tricks the user's eyes from the start of the transaction to the completion of the transaction and completes the transaction as the attacker intended. Unlike keyboard hooking or phishing, whose purpose is to simply obtain a secret code, it is a more intelligent attack because it exploits the input secret code without the user's doubt.

공격자는 자신의 문서 위에 문서원본의 내용부분만이 겹치도록 만들고 이렇게 변조된 문서를 사용자에게 보여준다. 문서의 내용에 이상이 없음을 확인한 사용자는 문서에 사인을 한다. The attacker would only overlap the content of the document source on his document and present the altered document to the user. The user confirms that the contents of the document are intact and signs the document.

사인된 문서를 받은 공격자는 겹친 부분을 떼어내어 사용자가 사인한 위조된 문서를 가지게 된다. 사용자는 자신이 거래하고자 하는 내용을 눈으로 확인하고 비밀 코드를 입력하기 때문에 사용자의 눈을 속일 수 있으면 사용자의 의심 없이 비밀 코드를 얻어낼 수 있는 것이다. An attacker who receives a signed document breaks the overlap and has a forged document signed by the user. Since the user checks what he / she wants to trade and inputs a secret code, if he can cheat the user's eyes, he can obtain the secret code without any doubt of the user.

이 공격은 단순히 비밀 코드를 증명하는 방법이 문서변조 공격 앞에서는 의미가 없다는 것을 보여준다.
This attack simply shows that the method of proving secret code is meaningless in the face of document tampering attacks.

인터넷뱅킹에는 다양한 형태의 비밀 코드가 사용되고 있다. 현재 사용되고 있는 비밀 코드는 대부분이 고정된 형태의 비밀 코드로, 주로 사용자를 인증하기 위해 사용되고 있다. 사용자를 인증하기 위해 사용되는 비밀 코드는 사용자가 외우는 것, 지니는 것, 신체의 일부로 나눌 수 있으며 인터넷뱅킹에는 주로 외우는 형태와 지니는 형태의 비밀 코드를 혼합하여 사용하고 있다(Multi-factor authentication). Internet banking uses various forms of secret codes. Most of the secret codes currently used are fixed secret codes, which are mainly used for authenticating users. Secret codes used to authenticate a user can be divided into memorized, possessed, and part of the body. Internet banking mainly uses a combination of memorized and possessed secret codes (multi-factor authentication).

현재 사용 중인 비밀 코드들을 아래에 기재된 [표 1]에 정리하였다.Secret codes currently in use are listed in Table 1 below.

대분류Main Category 소분류Small classification 비밀의 종류Type of secret 비고Remarks










고정된
비밀코드











Fixed
Secret code




외우는 형태의
비밀 코드




Memorizing form
Secret code

로그인 패스워드

Login password

영문,숫자 혼합 6~10자리
서버에는 암호화되어 저장되어 있을 수 있음

Alphanumeric 6 to 10 digits
May be stored encrypted on the server

공인인증서패스워드

Accredited Certificate Password

암호화되어있는 공인인증서를 사용하기 위한 패스워드, 서버는 이 패스워드를 가지고 있지 않음

Password to use encrypted public certificate, server does not have this password

계좌(거래)비밀번호

Account (Transaction) Password

계좌이체 등을 위한 패스워드
서버에는 암호화되어 저장되어 있을 수 있음

Password for account transfer
May be stored encrypted on the server


파일 형태의 비밀 코드


Secret code in file form

공인인증서

Authorized Certificate


하드디스크, 이동식저장장치, 휴대폰 등에 저장될 수 있음
외우는 형태의 비밀과 함께 사용됨.


Can be stored on hard disks, removable storage devices, mobile phones, etc.
Memorization is used with secrets in form.

ISP (Internet Secure Payment)

ISP (Internet Secure Payment)

소유하는
형태의 비밀 코드

Owned
Form secret code

보안카드

Security card

비밀의 수가 제한됨(예,4자리 숫자 35개)
질의-응답형태로 사용됨
서버는 그 응답을 평문형태로 알 수 있음

Limited number of secrets (e.g. 35 four digits)
Used in question-response form
Server can see the response in plain text


유동적인
비밀코드


Fluid
Secret code

소유하는
형태의 비밀 코드

Owned
Form secret code

OTP (One Time Password)

OTP (One Time Password)

매번 다른 6자리 숫자를 생성해냄. 복사가 불가능함
서버는 OTP의 응답을 평문형태로 알 수 있음

Generate another 6 digits each time. Copy not possible
Server can see OTP's response in plain text

다양한 형태의 비밀 코드(예컨대, 고정된 비밀 코드 또는 유동적인 비밀 코드)는 용도에 따라서는 사용자 인증을 위한 것과 거래 승인을 위한 것, 공격자의 입장에서는 고정된 형태와 유동적인 형태로 나누어 볼 수 있다.
Various types of secret codes (e.g., fixed secret codes or floating secret codes) can be divided into fixed and flexible forms for user authentication and transaction approval, depending on the purpose. .

사용자 인증과정에는 고정된 형태의 비밀 코드만이 사용되고 있는데, 고정된 형태의 비밀 코드는 한번 노출되면 사용자가 해당 비밀 코드를 바꾸기 전까지 공격자가 악용할 수 있다는 단점이 있다. 그 때문에 사용자 인증만으로 할 수 있는 것은 조회서비스로 한정되고, 그 외의 중요정보 조회나 정보변경, 거래승인 등에서는 소유하는 형태의 비밀을 이용하여 매번 다른 응답(이하 승인응답)을 증명하도록 되어있다. 매번 달라지는 응답은 분명 공격자에게 부담이 되는 것이다.
Only a fixed type of secret code is used in the user authentication process. However, once a fixed type of secret code is exposed, an attacker can exploit it until the user changes the secret code. For this reason, only user authentication can be used for the inquiry service, and other important information inquiry, information change, transaction approval, etc. are used to prove a different response (hereinafter referred to as an approval response) each time by using a secret in the form of possession. The answer that changes every time is obviously a burden to the attacker.

하지만, 소유하는 형태의 비밀 코드를 포함한 모든 비밀 코드는 평문을 그대로 입력하도록 되어있다. 이렇게 여전히 그 이용방법이 단순하다. 단순한 비밀 코드 이용방법의 단점은 그 비밀 코드를 입력하는 과정에서 평문이 노출될 수 있다는 점, 거래 내역과 연관되어있지 않아 입력된 비밀 코드가 사용자의 의도와는 다르게 사용될 수 있다는 것이다. However, all secret codes, including their own secret code, are required to enter plain text. Thus it is still simple to use. The disadvantage of using a simple secret code is that plain text may be exposed during the input of the secret code, and the secret code entered may be used differently from the user's intention because it is not related to the transaction history.

이는 매번 응답이 변하도록 되어있는 승인응답이라도 예외가 아니다. 응답이 유동적이라 하더라도 그 응답이 어느 용도로 사용되는 것인지 확인할 수 없다는 것이 문제이다.This is not an exception, even if the acknowledgment is intended to change every time. The problem is that even if the response is flexible, it cannot be used for what purpose the response is used.

자동화된 악성코드(이하 악성코드): 사용자의 컴퓨터(또는 휴대폰, 이하 컴퓨터)에 설치되는 악성코드는 해당 기기의 모든 권한을 가진다고 가정한다. 악성코드는 사용자의 비밀 코드를 얻어내기 위해 사용자의 입력을 훔쳐보는 키보드 후킹이나 공격자가 제작해놓은 사이트에 비밀을 입력하도록 유도하는 피싱, 거래를 공격자의 의도대로 완료되도록 문서를 변조하는 문서변조 공격 등이 가능하다.  Automated Malware (hereinafter referred to as Malicious Code): It is assumed that malicious code installed in the user's computer (or mobile phone, hereinafter referred to as computer) has full control of the device. Malware includes keyboard hooking that steals user input to obtain the user's secret code, phishing to trick users into entering secrets on sites created by attackers, and document alteration attacks that alter documents to complete transactions as the attacker intended. This is possible.

악성코드에 대응하기 위한 보안프로그램은 동일한 권한을 가지는 악성코드에 대한 근본적인 해결책이 되지는 못한다. A security program to counter malware is not a fundamental solution to malware that has the same rights.

하지만 사람과 로봇을 구분하기 위해 인지능력을 이용하는 CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)는 풀 수 없다.
However, the Completely Automated Public Turing Test to Tell Computers and Humans Apart (CAPTCHA), which uses cognitive abilities to distinguish between humans and robots, cannot be solved.

공격자의 실시간 참여(이하 원격의 공격자): 악성코드의 능력에 더해서 악성코드가 원격에 위치하는 공격자와 실시간으로 통신이 가능하여 사용자의 화면을 볼 수 있다면 단순히 사람과 로봇을 구분하기 위한 CAPTCHA는 무의미하다. 더해서, 공격자는 사용자가 위치한 곳에 카메라를 설치하여 사용자가 키보드에 입력하는 비밀뿐만 아니라, 사용자가 소유하는 형태의 비밀 코드 또한 모두 훔쳐볼 수 있다고 가정한다(어깨너머 훔쳐보기: Shoulder-Surfing Attack).
Attacker's real-time participation (hereinafter, remote attacker): In addition to the ability of malware, if the malicious code can communicate with a remotely located attacker in real time and can see the user's screen, CAPTCHA is simply meaningless to distinguish between human and robot. Do. In addition, the attacker assumes that by installing a camera where the user is located, he can steal not only the secret that the user enters on the keyboard, but also the secret code that the user owns (Shoulder-Surfing Attack).

일반적으로, 악성코드와 원격의 공격자의 차이점은 공격과정에 공격자(사람)가 직접 실시간으로 참여하였는지 여부이다. 공격자가 악성코드에 감염된 다수의 컴퓨터를 제어할 수 있다면 이들을 동시에 동원하여 대규모의 공격을 수행할 수 있다. In general, the difference between a malicious code and a remote attacker is whether the attacker (person) directly participates in the attack process in real time. If an attacker can control a large number of computers infected with malware, they can mobilize them at the same time to conduct a massive attack.

이 공격은 DDoS(분산 서비스 거부 공격: Distributed Denial-Of-Service attack)를 의미하기도 하지만, 사용자에게 금전적인 피해를 직접적으로 입히는 동시다발적인 문서변조 공격을 의미하기도 한다. 자동화된 공격이 불가능하도록 CAPTCHA가 적용된 시스템에는 원격의 공격자가 이에 대응할 수 있다. This attack may mean a Distributed Denial-Of-Service attack (DDoS), but it may also mean a simultaneous document alteration attack that directly inflicts financial damage on the user. A remote attacker can respond to a system where CAPTCHA is applied to prevent automated attacks.

하지만 공격과정에 사람이 직접 참여해야 하기 때문에 자동화된 악성코드와 같은 대규모 공격에는 한계가 있고 실시간으로 통신해야 공격이 가능하다는 점은 공격자의 위치를 파악할 수 있는 단서가 될 수 있기 때문에 공격자의 공격을 제한시킬 수 있다.
However, since humans must participate in the attack process, large-scale attacks such as automated malware have limitations and can only be attacked by communicating in real time, which can be a clue to the attacker's location. You can limit it.

문서변조는 사용자의 컴퓨터에 거래가 발생할 때 사용자의 눈을 속여 공격자의 의도대로 거래를 완료시키는 지능화된 공격이다. 이 공격은 악성코드가 웹 브라우저에 상주하는 MITB(Man In The Browser)를 통해 가능하며, 공격자가 문서변조 공격을 자동화하기 위해서는 다음과 같은 과정을 거쳐야한다.
Document tampering is an intelligent attack that tricks a user's eyes when a transaction occurs on a user's computer and completes the transaction as the attacker intended. This attack is possible through MITB (Man In The Browser), where malicious code resides in a web browser, and the following steps are required for an attacker to automate a document alteration attack.

첫째, 소스코드의 분석이 필요하다.First, source code analysis is required.

동적인 웹 문서를 구성하는데 필수 요소인 스크립트는 인터프리터가 소스코드를 직접 해석한다. 국내 전자금융거래의 경우 ActiveX를 통해 중요한 내용(스크립트 포함)을 암호화하기도 하지만 복호화가 스크립트를 통해 이루어지기 때문에 DebugBar와 같은 프로그램을 이용, 암호화된 문서에서 복호화 함수를 직접 호출하여 소스코드를 얻어낸 후 소스코드를 분석할 수 있었다.
Scripts, an essential component of building dynamic Web documents, are interpreted directly by the interpreter. In the case of domestic electronic banking transactions, important contents (including scripts) are encrypted through ActiveX, but since decryption is done through scripts, source code is obtained by directly calling decryption functions from encrypted documents using a program such as DebugBar. I could analyze the code.

둘째, 공격대상 문서의 탐지가 필요하다.Second, the target document needs to be detected.

일반적으로 서버에서 문서를 구분하는 방법이 URL(Uniform Resource Locator)이라는 것을 고려하면, 악성코드는 단순히 URL을 읽어 공격 대상을 구분해낼 수 있다. 예로, onDocumentComplete이벤트를 이용하여 다운로드가 완료된 문서의 URL를 얻어낼 수 있었다.
In general, considering that the method of classifying documents on a server is a URL (Uniform Resource Locator), malware can identify a target by simply reading the URL. For example, you could use the onDocumentComplete event to get the URL of a downloaded document.

셋째, 스크립의 삽입이 필요하다. Third, the insertion of the script is necessary.

악성코드가 삽입될 수 있는 경로는 TLS/SSL이 적용된 문서의 경우 전송(Transport)계층 이후의 구간에서 스크립트를 삽입할 수 있고 플러그인을 통한 부분적인 복호화가 요구되는 경우에는 인터넷 익스플로러(Internet Explorer)의 유저 인터페이스(User Interface)까지 모든 구간에서 스크립트 삽입이 가능하다.
The path where malicious code can be inserted can be inserted in the section after the transport layer in case of TLS / SSL applied document, and in case Internet Explorer requires partial decryption through Internet plug-in, Script insertion is possible in all sections up to the user interface.

넷째, 공격자가 의도하는 데이터의 입력이 필요하다. Fourth, it is necessary to input data intended by an attacker.

키보드 드라이버의 인터럽트 핸들러가 호출하는 keybd_event(Winuser.h에 정의되어 있음)를 이용하면 키보드 보안 프로그램에 공격자가 원하는 데이터를 입력할 수 있었다.Using keybd_event (defined in Winuser.h), which is called by the keyboard driver's interrupt handler, allowed the attacker to enter the desired data into the keyboard security program.

스크립트의 삽입이 가능할 때 문서를 변조하는 방법은 두 가지이다. When a script can be inserted, there are two ways to alter the document.

가짜 문서를 제작하여 CSS의 z-index속성을 이용, 문서 원본에 계층구조 형태로 덮어씌우는 방법과 스크립트의 함수 오버라이딩(Function Overriding)을 통해 서버와 통신하는 데이터만을 변조하는 방법이다.
It is a method of creating a fake document and using the z-index property of CSS to overwrite the document source in a hierarchical form and modulating only the data that communicates with the server through function overriding of the script.

키보드 보안 프로그램은 국내에서 쉽게 찾아볼 수 있는 비밀 보호방법이다. 이 프로그램이 하는 일은 두 가지로, 키보드 후킹을 막아 사용자 비밀의 노출을 방지하는 것과 사용자의 키 입력을 키보드 드라이버 수준에서 암호화한 것을 응용계층에 전달하여 비정상적인 키 입력 데이터를 방지하는 것이다. Keyboard security program is a secret protection method that can be easily found in Korea. The program does two things: to prevent keyboard hooking to prevent disclosure of user secrets, and to encrypt the user's keystrokes at the keyboard driver level to the application layer to prevent abnormal keystroke data.

하지만 실험결과 이 두 보안기법 모두 근본적으로 악성코드에 대응하지 못하고 있다는 것이 밝혀졌다. 악성코드는 사용자가 입력하는 비밀 코드를 얻어내기 위해서 가짜 입력 폼을 이용할 수 있다. 비밀 입력 폼을 암호화대상이 아닌 것으로 바꾸고 비밀이 입력되면 그 폼에 DOM(Document Object Model)으로 접근하여 비밀을 훔쳐가는 것이다.
However, experiments have shown that neither of these security techniques is fundamentally incompatible with malware. Malware can use fake input forms to obtain secret codes entered by users. If a secret input form is changed to something that is not encrypted and a secret is entered, the form is accessed using the Document Object Model (DOM) to steal the secret.

공격자는 비밀 코드를 훔쳐가기 위해서 보안기능이 최소화된(또는 Class ID만 같고 동작은 안하는) 키보드 보안 프로그램[9,10]을 악용할 수도 있다. 이 프로그램은 사용자가 동의하는 경우에 제공되는데, 이 프로그램이 설치되어 있는 경우에는 키보드 후킹에 안전하지 못하게 된다. 공격자는 사용자의 컴퓨터에 보안기능이 최소화된 키보드 보안 프로그램을 강제로 설치하고 키보드 후킹을 시도하면 비밀을 얻어낼 수 있는 것이다.
An attacker could also exploit a keyboard security program [9,10] with minimal security (or a Class ID but no operation) to steal secret code. This program is provided if the user agrees. If this program is installed, it will not be secure for keyboard hooking. An attacker can forcibly install a keyboard security program with minimal security on the user's computer and attempt to hook the keyboard to gain secrets.

악의적인 키 입력과 관련하여, 공격자는 윈도우에서 제공하는 화상 키보드나 원격 데스크톱으로도 인터넷 뱅킹이 가능하다는 사실에서 키보드 보안 프로그램이 적어도 인터럽트 처리 수준에서 동작하지 않는다는 것을 알 수 있다. 이러한 키보드 보안 프로그램은 인터럽트 후킹 수준의 키로거를 막을 수 없고, 키보드 보안 프로그램이 정상적으로 동작하는 도중에도 윈도우 API수준의 keybd_event로 암호화 대상인 계좌비밀번호와 계좌번호를 입력하는 것이 가능했다. 실험해보지 못한 다른 키보드 보안 프로그램에서도 같은 결과를 보일 것이라 예상한다.
With respect to malicious keystrokes, an attacker can tell that the keyboard security program doesn't work at least at the interrupt handling level, as Internet banking can also be done with the on-screen keyboard or remote desktop provided by Windows. Such a keyboard security program could not prevent interrupt hooking-level keyloggers, and it was possible to input the account password and account number to be encrypted using keybd_event at the Windows API level even while the keyboard security program is operating normally. Expect the same results with other keyboard security programs that you have not tested.

가상키보드는 키보드 후킹으로부터 사용자의 비밀을 보호하기 위해 비밀입력을 물리적인 키보드가 아닌 가상의 키보드 상에서 마우스를 통해 입력하도록 하는 방법이다. 물리적인 키보드의 키 입력 데이터가 여러 구간을 통과하는 것과는 다르게, 가상키보드는 응용계층에서 독립적으로 동작하도록 설계되어있기 때문에 비밀노출에 대한 위협이 응용계층으로 한정된다.
The virtual keyboard is a method of inputting secret input through a mouse on a virtual keyboard rather than a physical keyboard to protect a user's secret from keyboard hooking. Unlike the physical keyboard's key input data that passes through several sections, the virtual keyboard is designed to operate independently in the application layer, so the threat to secret exposure is limited to the application layer.

이는 비교적 안전해보일 수 있지만, 응용계층에 상주하는 악성코드에게는 여전히 비밀이 노출될 수 있다. 예로, 국내 ㅁ은행에 최근 도입된 가상키보드는 매번 키의 위치가 바뀌도록 되어있으며, 사용자가 이를 이용하고자 할 때 가상키보드 이미지를 다운로드하고 화면에 출력한다. 이때 키의 위치정보가 담긴 XML(Extensible Markup Language)파일 또한 다운로드하고 이를 가상키보드 이미지에 적용한다.
This may seem relatively safe, but secrets can still be exposed to malware residing at the application layer. For example, the virtual keyboard recently introduced to K-bank in Korea is to change the position of the key every time, and when the user wants to use it, the virtual keyboard image is downloaded and displayed on the screen. At this time, download the XML (Extensible Markup Language) file containing the location information of the key and apply it to the virtual keyboard image.

사용자가 마우스를 이용해 가상이미지상의 비밀을 클릭하면 스크립트는 이벤트의 좌표를 암호화하여 서버에 전송하도록 되어있다. 실험결과 악성코드는 DOM으로 가상키보드 이미지에 접근하거나 다운로드할 수 있었으며, transkey1.pressKey함수를 오버라이딩하여 사용자가 마우스로 입력한 x, y좌표를 얻어낼 수 있었다. 가상키보드 이미지와 사용자가 입력한 좌표만 있다면 악성코드가 간단한 이미지 처리기법과 문자인식을 통해 비밀을 얻어내거나, 원격에 위치한 공격자가 직접 이미지상에 좌표를 대입하여 비밀을 얻어낼 수 있는 것이다.
When the user clicks the secret on the virtual image with the mouse, the script encrypts the coordinates of the event and sends it to the server. As a result of the experiment, the malicious code could access or download the virtual keyboard image with the DOM and override the transkey1.pressKey function to obtain the x and y coordinates input by the mouse. If only the virtual keyboard image and the coordinates entered by the user are found, the malicious code can obtain the secret through simple image processing and text recognition, or the remote attacker can obtain the secret by directly inserting the coordinates on the image.

가상키보드에서 비밀을 얻어내는 또 다른 방법으로, 가상키보드 이미지를 서버가 전송한 것이 아닌 자신이 준비해놓은 가상키보드 이미지를 대신 출력하는 방법도 있다. Another way to get a secret from the virtual keyboard is to print out the virtual keyboard image you prepared instead of sending the virtual keyboard image from the server.

이 경우, 악성코드는 준비해놓은 가상키보드의 키 좌표정보를 사전에 알고 있기 때문에 사용자가 입력한 좌표에 해당하는 비밀을 해석하기 위해 이미지 처리기법을 사용하지 않아도 된다. 다른 가상키보드 모두 같은 공격에 취약할 것으로 예상된다.
In this case, since the malicious code knows the key coordinate information of the prepared virtual keyboard in advance, it is not necessary to use an image processing technique to interpret the secret corresponding to the coordinates input by the user. All other virtual keyboards are expected to be vulnerable to the same attack.

사용자가 가진 비밀 코드가 노출되기 쉽다는 이유를 비밀 코드의 entropy가 낮다는 점에 착안하여, 문자로 이루어진 비밀 코드 대신 entropy가 비교적 높은 이미지를 비밀로 사용하는 연구가 활발히 진행되고 있다. 인증화면이 나타나면 맨 왼쪽 위부터 시작하여 사용자가 알고 있는 이미지를 따라 이동하다가 가장자리에 도달하면 그에 해당하는 위치의 숫자를 이용하여 인증하는 것이다. Considering that the secret code of the user is easy to be exposed to the fact that the entropy of the secret code is low, studies are being actively conducted to use an image having a relatively high entropy as a secret instead of a secret code composed of characters. When the authentication screen appears, it starts from the top left, moves along the image that the user knows, and when it reaches the edge, it authenticates using the number of the corresponding position.

이러한 기법은 여러 개의 이미지를 외워야 한다는 부담이 있고 인증에 소요되는 시간이 길며(한 라운드에 15~20초) 에서 안전성 또한 지적되어 실용성이 낮다고 평가된다.
This technique has the burden of memorizing multiple images, the time required for authentication (15-20 seconds per round), and the safety is also pointed out, making it practical.

이와 같이 이미지를 이용한 기법들은 높은 엔트로피(entropy)를 제대로 활용하지 못하거나, 어깨너머 훔쳐보기에 취약하다는 공통적인 단점이 있다. 문자 비밀코드의 경우 키보드를 통해 비밀 코드 그대로를 컴퓨터에 입력할 수 있지만 이미지를 키보드와 마우스를 이용하여 컴퓨터에 입력하는 것은 쉬운 일이 아니다. Such techniques using images have a common disadvantage that they do not utilize high entropy or are vulnerable to peek over shoulders. In the case of a character secret code, the secret code can be input to the computer through the keyboard, but it is not easy to enter an image into the computer using the keyboard and the mouse.

그렇기 때문에 서버에서 전송한 이미지들 즉, 비밀 코드의 후보군 중에서 선택하도록 되어있는데 제한되어 있는 크기의 해상도는 출력되는 비밀 코드의 후보군 개수 또한 제한되어 그만큼 보안성이 떨어지게 된다. For this reason, the images transmitted from the server, that is, the secret code candidates are selected from among the limited size resolutions, and the number of candidate groups of the secret codes to be output is also limited.

비밀 코드의 후보군이 많거나 또는 여러 라운드를 반복하게 하는 것은 사용자의 인식시간이 길어지거나 부담을 주기 쉽기 때문에 사용성이 떨어지게 된다. 사용성이 떨어지기도 하지만 공격자는 어깨너머 훔쳐보기로 사용자의 성공적인 인증시도를 바라보면 비밀을 얻어낼 수 있다. 이와 같은 취약점을 극복하기 위해 비밀을 직접 선택하는 것이 아닌, 비밀의 predicate를 외우도록 하고 인증과정에서 이에 추가적인 연산을 통해 응답을 하도록 하였다. Many candidates for a secret code or repeating multiple rounds may be unusable because the recognition time of the user is long or burdensome. Although it is less usable, an attacker can gain secrets by looking at the user's successful authentication attempts by peeking over the shoulder. In order to overcome this weakness, the secret is not selected directly, but the predicate of the secret is memorized and an additional operation is performed in response to the authentication.

하지만 이러한 방법은 사용자에게 인지능력에 더하여 머릿속으로 연산능력을 추가로 요구하기 때문에 사용성이 떨어지고 사용자가 정할 수 있는 predicate가 한정적이라는 연구는 그러한 접근의 보안성 또한 높지 않다는 것을 뒷받침 한다. However, since this method requires the user to add computational power to the head in addition to cognitive ability, the study that the usability is limited and the predicate that the user can define is limited supports the security of such an approach.

따라서 더 높은 entropy를 가지는 비밀과 관련한 연구는 그 입력방법과 관련하여, 사용성과 보안성 모두를 충족할 수 있는 연구가 진행중이다.
Therefore, research on secrets with higher entropy is being conducted to satisfy both usability and security with respect to the input method.

현재 사용되는 문자(alphanumeric)로 이루어진 비밀 코드의 호환성을 고려하여, 비밀 코드 증명 방법만을 바꾸어 안전하게 인증하는 방법 또한 연구되고 있다. S3PAS의 경우에는 pass-icon대신 문자비밀코드를 이용하도록 하였다. Considering the compatibility of the secret code consisting of the alphanumeric (currently used), a method of secure authentication by changing only the secret code verification method has also been studied. In the case of S3PAS, character passcode is used instead of pass-icon.

pass-icon은 화면에 보이는 아이콘들 중에서 자신이 외운 아이콘 세 개를 꼭짓점으로 가지는 삼각형을 머릿속으로 그리고 그 삼각형 안의 아이콘을 선택하도록 되어있다. 아이콘이 임의적인 순서로 나타나는 pass-icon과는 다르게 S3PAS는 사용자가 외우는 자리의 패스워드를 번째 인증 단계에서 세 자리씩 잘라 사용하였다. The pass-icon is designed to select from among the icons shown on the screen, a triangle with three vertices as its vertices, and an icon within the triangle. Unlike pass-icons, in which icons appear in random order, S3PAS uses three digits of the password that the user memorized.

앞과 뒤 라운드에서 두 자리의 패스워드가 동시에 사용된다는 점은, 사용자가 선택한 문자를 중심으로 삼각형을 재구성하는 패스워드 후보군의 추측 가능성을 높이게 된다. 공격자가 이 패스워드 후보군을 여러 개 모으면 교차공격(패스워드 후보군들의 교집합)을 통해 패스워드를 알아낼 수 있게 된다. 또한 머릿속에서 패스워드를 세 자리씩 기억해내는 것은 사용자에게 부담이 될 수 있다.
The use of two-digit passwords simultaneously in the front and back rounds increases the likelihood of guessing password candidates that reconstruct the triangle around the user-selected character. If an attacker collects multiple password candidates, the attacker can find out the password through a cross attack (intersection of password candidates). Also, remembering three passwords in your head can be a burden on your users.

또 다른 연구에서는 두 겹으로 전달되는 6x6행렬(알파벳 26개, 숫자 10개로 이루어져있으며 초기단계에서는 두 겹의 행렬에 표시된 문자가 같다)을 서버가 전송하는 질의로 사용하고, 이 행렬상의 움직임을 통해 인증하는 방법을 소개하였다. In another study, a 6x6 matrix (26 alphanumeric characters, 10 numbers) is used as a query sent by the server. We introduced how to authenticate.

인증은 총 n(패스워드의 길이)단계이며 사용자는 홀수 번째 인증단계에서 임시 비밀을 행렬 상에서 임의적으로 선택하고 짝수 번째 인증단계에서는 이전(홀수 번째) 인증단계에서 선택한 임시 비밀을 이용하도록 되어있다. 번째 인증단계에서 사용자는 행렬 상에서 번째 패스워드가 위치한 행과 번째 패스워드가 위치한 열이 겹치는 교차점을 찾고, 이 교차점(상위계층)을 임시비밀(하위계층)에 방향키로 이동하여 위치시킨다. Authentication is a total of n (password length) steps, and the user randomly selects a temporary secret on the matrix in the odd-numbered authentication step and uses the temporary secret selected in the previous (odd) authentication step in the even-numbered authentication step. In the second authentication step, the user finds the intersection point where the row where the second password is located and the column where the second password is located in the matrix, and moves the intersection point (upper layer) to the temporary secret (lower layer) by using a direction key.

이 기법은 무차별 공격과 재전송 공격, 교차공격을 적절히 방어하지만 머릿속에서 패스워드를 두 자리씩 기억하고 임시비밀코드 또한 기억해야 한다는 점은 사용자에게 부담이 될 수 있다.
This technique properly guards against brute force, replay attacks, and cross attacks, but it can be a burden on the user to remember the password in two places and also to remember the temporary secret code.

또 다른 연구에서는 사용자에게 안전한 채널을 통해 질의전달이 가능한 경우, 첫 번째 패스워드 문자와 같은 열에 위치하는 pass-object를 임시비밀코드로 사용하는 경우, 안전한 채널을 통해 pass-object를 전달받는 경우에 대한 인증기법을 보였다. 첫 번째와 세 번째 기법의 경우는 질의를 전달할 수 있는 안전한 채널이 요구되는데, 이 논문에서 언급한 음성을 통한 방법 또한 악성코드가 해석할 수 있기 때문에 안전한 채널이라고 납득하기 어렵다. In another study, when a query is available to a user through a secure channel, when a pass-object located in the same column as the first password character is used as a temporary secret code, the pass-object is delivered through a secure channel. The authentication technique was shown. In case of the first and third methods, a safe channel for querying is required. The voice method mentioned in this paper is also difficult to understand as a safe channel because malicious code can interpret it.

만약 질의를 안전하게 전달하기 위해 부가장치를 이용하도록 가정한다면, 동일한 가정에서 부가장치를 이용한 다른 편리한 기법을 사용할 수 있기 때문에 효율적이지 않게 된다.
If one assumes that an additional device is used to safely transmit a query, it is not efficient because other convenient techniques using the additional device can be used in the same home.

피싱의 취약점은 사용자가 접근하고자 하는 서버에 존재하는 것이 아니라 사용자의 컴퓨터에 감염되어 있는 악성코드, 사용자의 URL입력 실수 또는 공격자가 공존하는 취약한 네트워크 환경에서 발생하기 때문에 일반적인 보안방법으로는 대응하기가 쉽지 않다. Phishing vulnerabilities do not exist on the server you want to access, but because they occur in malicious code that is infected with your computer, your URL input mistake, or in a vulnerable network environment where attackers coexist. Uneasy.

그 예로, 어떤 홈페이지에 접근할 때만 실행되는 안티피싱 프로그램은 사용자가 URL을 실수로 입력했을 때 또는 악성코드가 HTTP request을 수정하여 피싱사이트로 유도한 경우에는 그 프로그램이 실행되지도 않기 때문에 해결책이 될 수 없다. 사용자 컴퓨터의 메모리에 계속 상주하여 사용자가 접근하는 URL 감시방법은 주로 화이트리스트 및 블랙리스트를 이용하는데, 리스트를 이용한 방법은 알려지지 않은 공격에 대해서는 여전히 무방비이다. For example, an anti-phishing program that runs only when accessing a homepage may not work if the user accidentally enters a URL or if the malware modifies the HTTP request and directs it to a phishing site. Can't be. The URL monitoring method that the user accesses by staying in the memory of the user's computer mainly uses whitelist and blacklist, and the method using the list is still defenseless against unknown attacks.

더해서, 이 리스트들은 주로 URL을 검사하고 사용자가 보는 화면이 사용자가 접근하고자 하는 홈페이지의 화면인지는 확인하지 않는다. 피싱방지 프로그램이 화면캡쳐 등을 통해 실제화면을 비교한다 하여도 공격자는 이를 쉽게 우회할 수 있다. In addition, these lists primarily check the URL and do not verify that the screen the user sees is the screen of the home page the user is trying to access. Even if an anti-phishing program compares the actual screen with screen capture, the attacker can easily bypass it.

공격자는 실제화면과 동일한 화면을 직접 제작할 필요 없이 정상적인 서버로부터 홈페이지 내용을 다운로드 받아다가 사용자에게 그대로 전달하되 비밀을 훔치는 코드만을 추가할 수 있는 것이다. 이러한 피싱사이트는 사용자에게 서비스를 정상적으로 제공하기 때문에 사용자가 의심을 가지기도 쉽지 않다. The attacker can download the contents of the homepage from a normal server and deliver it to the user without adding a screen identical to the real screen, but can only add code to steal the secret. Such phishing sites do not have any suspicion for users because they normally provide services to users.

사용자가 화면이 전혀 다른 피싱사이트로 접근했다 하여도 해당 사이트가 개편되었다는 문구를 보인다면 이 경우 또한 사용자는 의심을 가지지 않을 수 있다.
Even if the user accesses a phishing site with a completely different screen, the user may not have any doubt if the site shows that the site has been reorganized.

CAPTCHA를 이용한 부정승인 방지방법은 거래내역을 포함시킨 형태의 확장된 CAPTCHA는 자동화된 악성코드에 대응할 수 있지만 구현방법에 따라 악성코드에 취약할 수 있다. ArcotVPS의 경우 배경과 문자열의 색이 다르고 이미지에서 문자가 차지하는 비율이 낮다는 사실을 근거로 Kmeans++를 사용하면 문자열을 분리시킬 수 있다. The use of CAPTCHA to prevent fraudulent use of extended CAPTCHA, which includes transaction details, can respond to automated malware, but it may be vulnerable to malicious code depending on the implementation method. For ArcotVPS, you can use Kmeans ++ to separate strings based on the fact that the background and the color of the strings are different and the percentage of characters in the image is low.

악성 프로그램이 캡차를 읽을 수 없더라도, 추출된 4개의 문자열 중 하나를 정해 추출한 다음 변조된 거래내역에 대한 승인이미지를 생성할 수 있는 것이다. 따라서 악성 프로그램은 CAPTCHA를 읽을 수 없어도 1/4의 확률로 공격에 성공할 수 있다.
Even if the malicious program cannot read Captcha, it can extract one of the four extracted strings and then generate an authorization image for the altered transaction. As a result, even if a malicious program cannot read the CAPTCHA, it has a 1/4 chance of successful attack.

MS워터마크는 일반폰트로 거래내역이 표현된 배경 위로 CAPTCHA가 표현되어 있다. MS watermark is CAPTCHA expressed on the background of transaction history in general font.

이 기법에서는 CAPTCHA의 폰트가 더욱 두껍고 크기 때문에 윤곽선 검출(Edge Detection)의 Canny 필터(가우시안 마스크를 통해 잡영 제거 후 Sobel필터 적용)를 통해 강한윤곽선만을 남긴 후에 이를 추출해내면 CAPTCHA 문자열을 분리시킬 수 있다. In this technique, because CAPTCHA's font is thicker and larger, edge detection can be separated by extracting it after leaving only strong outlines through edge detection's Canny filter (removing sneak through Gaussian mask and applying Sobel filter).

특정 두께에 대한 영역을 세선화(Thinning) 하여 문자열을 얻어낸 다음이 이를 다시 Blur 필터 등으로 두껍게 만들면 더욱 선명한 문자열을 얻어낼 수 있다. 분리된 캡차 이미지는 변조된 거래내역에서 악용될 수 있다. You can get a clearer string by thinning the area for a certain thickness to get a string and then thickening it again with a Blur filter. The separated Captcha image can be exploited in the modulated transaction.

또한, 위의 두 기법은 CAPTCHA를 인식하고 그에 대한 응답을 사용자가 수동적으로 입력해야 하도록 되어있다.
In addition, the above two techniques require that the CAPTCHA be recognized and the user manually enters a response.

문맥 기반 CAPTCHA에서는 사용자에게 전용되는 CAPTCHA이미지 중에서 사용자의 거래와 관련된 것만을 선택하도록 하였다. 이 기법에서 6개의 콘텐츠(수신은행, 수신계좌, 수신자명, 이체금액, 송신자, 송신은행)와 44개의 더미 캡차로 구성되어 있을 경우, 무차별 선택에 대한 보안성은 이다. 공격이 가능한(사용자가 입력한 수신은행과 이체금액은 그대로 사용) 최소한의 콘텐츠 변경은 수신계좌와 수신자명 두 가지를 변경하는 것으로, 이때의 보안성이 높을 수 있다. Context-based CAPTCHA allows you to select only those relevant to your transaction from the CAPTCHA images dedicated to you. In this technique, if the contents consist of six contents (receiving bank, receiving account, recipient's name, transfer amount, sender, sending bank) and 44 dummy caps, the security against indiscriminate selection is. The minimum content change that can be attacked (using the receiving bank and the transfer amount entered by the user) is to change both the receiving account and the recipient name, which can be highly secure.

이 기법에서는 사용자가 여러 개의 CAPTCHA를 인식해야 하기 때문에 편의성이 높지는 않다. 하지만 사용자가 CAPTCHA를 읽고 입력하는 형태가 아닌 선택하는 용도로 사용하였기 때문에 더욱 복잡도가 높은 CAPTCHA를 이용할 수 있다. 예로, 심하게 뒤틀려 일부 영역이 인식하기 힘든 형태가 되어도 CAPTCHA를 선택하는 데에는 지장이 없다.
This technique is not very convenient because the user must recognize several CAPTCHAs. However, the user can use more complicated CAPTCHA because it is used for selecting not to read and input CAPTCHA. For example, there is no problem in selecting CAPTCHA even if it is severely distorted and some areas become hard to recognize.

부가장치를 이용한 승인방법은 부가장치에서 거래내역을 출력하고 이 장치를 통해 승인하도록 하는 것이 목적이다. 현재 사용 중인 부가장치를 이용한 승인방법으로는 인터넷뱅킹 계좌이체의 전화승인서비스가 유일하다. 전화승인서비스는 계좌이체 승인단계에서 ARS 시스템을 이용해 사용자에게 전화를 걸어 거래내역을 확인시켜 주고 거래를 승인하거나 취소할 수 있도록 하는 방법으로 사용자에게 편의성을 제공하지 못한다.
The approval method using the supplementary device is to output the transaction details from the supplementary device and to make the approval through the device. The only method of approval using the additional device currently in use is the telephone approval service of Internet banking account transfer. The telephone approval service does not provide convenience to the user by calling the user using the ARS system in the account transfer approval step to confirm the transaction history and to approve or cancel the transaction.

트랜잭션 서명 기법은 사용자 토큰이라 불리는 추가적으로 발급받은 기기에 거래내역의 일부를 입력하면 토큰에 출력된 MAC을 사용자가 컴퓨터에 수작업으로 입력하는 방법이다. 상기 트랜잭션 서명 기법은 사용자 토큰에 인증서를 저장한 형태 또는 사용자가 입력한 MAC을 컴퓨터에서 공인인증서를 통해 사인하는 방법으로 부인방지를 추가적으로 제공한다. 트랜잭션 서명 기법은 사용자 입장에서는 일부이기는 하지만 거래내역을 한 번 더 입력해야 하기 때문에 편의성이 떨어진다.
The transaction signature technique is a method in which a user manually inputs the MAC displayed in the token into a computer by inputting a part of the transaction into an additional issued device called a user token. The transaction signature scheme further provides non-repudiation by storing a certificate in a user token or by signing a MAC input by a user through a public certificate on a computer. Although transaction signing is a part of the user's point of view, it is not convenient because the transaction details must be entered once more.

IBM의 ZTIC은 USB 장치의 디스플레이를 통해 거래내역을 출력하고 두 개의 버튼을 통해 승인 또는 취소를 결정하도록 한다[30]. ZTIC은 컴퓨터에 연결되면 USB 저장장치로 인식이 됨과 동시에 사전에 정의되어있는 사이트(은행)으로 연결되도록 하는 프록시를 설정하고 웹 브라우저와 해당 사이트와의 통신은 모두 ZTIC을 통해 이루어지며 이 세션을 암호화하는 TLS/SSL의 키는 악성 프로그램이 접근할 수 없도록 되어있다. 내용을 확인하고 버튼으로 승인여부를 결정하면 되기 때문에 편의성이 좋지만 추가적인 장치를 발급해야 한다는 단점이 있다.
IBM's ZTIC prints the transaction history via the USB device's display and allows two buttons to determine approval or cancellation [30]. ZTIC sets up a proxy that connects to a predefined site (bank) when it is recognized as a USB storage device when connected to a computer, and all web browsers communicate with the site through ZTIC and encrypt this session. TLS / SSL keys are not accessible to malicious programs. It is convenient because you can check the contents and decide whether to approve it with the button. However, it is disadvantageous to issue additional devices.

부가장치를 통해 승인을 하는 방법은 보안성은 높지만 거래 당시에 추가적인 장치를 소지하고 있어야 승인이 가능하기 때문에 이동성이 떨어진다고 할 수 있다.
The approval method through the supplementary device is highly secure, but the mobility is inferior because the approval is possible only if the user possesses the additional device at the time of the transaction.

본 발명이 해결하고자 하는 과제는 다양한 비밀퍼즐을 이용하여 키보드 후킹이나 피싱공격으로부터 사용자의 비밀이 노출되는 것을 사전에 방지하고, 사용자 승인이 요구되는 거래 정보가 공격자에 의해 변조되는 것을 방지할 수 있는 다양한 비밀 퍼즐을 이용한 승인 방법을 제공하는 것이다.
The problem to be solved by the present invention is to prevent the exposure of the user's secret from keyboard hooking or phishing attack in advance by using a variety of secret puzzle, and to prevent the transaction information that requires the user's approval is tampered by the attacker It is to provide approval methods using various secret puzzles.

상기 과제를 해결하기 위한 본 발명의 다양한 비밀퍼즐을 이용한 승인 방법은 계좌 이체에 따른 사용자 인증을 인증 서버에 요청하는 제1단계, 상기 인증 서버로부터 j×k 행렬로 이루어진 제1 비밀퍼즐 스크립트 및 사용자 승인 번호를 사용자 단말기에 수신하는 제2단계, 상기 비밀퍼즐 스크립트에 사용자의 이체비밀에 상응하는 숫자 또는 문자를 상기 비밀퍼즐 스크립트에 제시된 코드 번호 또는 코드 문자로 입력하고, 사용자의 계좌 이체비밀번호를 상기 제1 비밀퍼즐 스크립트에 제시된 코드 번호로 입력하는 제3단계, 상기 인증 서버로부터 j×k 행렬로 이루어진 제2 비밀퍼즐 스크립트를 수신하여, 상기 승인번호에 상응하는 상기 제2 비밀퍼즐 스크립트에 배열된 코드 번호 또는 코드 문자로 입력하는 제4단계, 상기 이체 비밀번호의 확인 여부와 상기 승인 번호의 확인 여부 따라 계좌 이체 승인 여부를 결정하는 제5단계를 포함한다.
In order to solve the above problems, there is provided an approval method using various secret puzzles of the present invention. In the second step of receiving the authorization number to the user terminal, the number or letter corresponding to the user's transfer password to the secret puzzle script is entered as the code number or code letter presented in the secret puzzle script, and the user's account transfer password A third step of inputting the code number presented in the first secret puzzle script, receiving a second secret puzzle script composed of a j × k matrix from the authentication server, and arranged in the second secret puzzle script corresponding to the authorization number; Step 4 of inputting a code number or code character, whether or not the transfer password is confirmed According to whether or not confirmation of authorization number and a fifth step of determining whether to approve money transfer.

상기 제3단계는 사용자 이체 비밀의 첫 문자에 상응하는 상기 비밀퍼즐 스크립트의 제1행에 배열된 코드 번호 또는 코드 문자를 주변기기등을 통하여 클릭하는 a)단계, 상기 사용자의 이체 비밀번호의 첫번째 숫자에 상응하는 상기 비밀퍼즐 스크립트의 제2행에 배열된 숫자를 주변기기등을 이용하여 상기 이체 비밀이 클릭된 코드 번호 또는 코드 문자와 동일 열에 위치하도록 이동시키는 b)단계, 사용자 이체 비밀의 두 번째 문자에 상응하는 상기 비밀퍼즐 스크립트의 제3행에 배열된 코드 번호 또는 코드 문자를 주변기기등을 통하여 클릭하는 c)단계, 상기 사용자의 이체 비밀번호의 두번째 숫자에 상응하는 상기 비밀퍼즐 스크립트의 제4행에 배열된 숫자를 주변기기등을 이용하여 상기 이체 비밀이 클릭된 코드 번호 또는 코드 문자와 동일 열에 위치하도록 이동시키는 d)단계 및 상기 이체 비밀 및 상기 이체 비밀번호의 자리수와 동일 수 만큼 상기 a) 및 d) 단계를 반복하는 e)단계를 포함한다.
The third step is a) clicking a code number or a code letter arranged in the first line of the secret puzzle script corresponding to the first letter of the user transfer secret through a peripheral device, the first number of the transfer password of the user B) moving the number arranged in the second line of the corresponding secret puzzle script so that the transfer secret is located in the same column as the clicked code number or code letter by using a peripheral device or the like; C) clicking a code number or code letter arranged in the third line of the corresponding secret puzzle script through a peripheral device, etc., arranged in the fourth line of the secret puzzle script corresponding to the second number of the user's transfer password; The transferred number in the same column as the code number or code letter where the transfer secret is clicked using a peripheral device, etc. And d) repeating steps a) and d) by the same number of digits of the transfer secret and the transfer password.

상기 제4단계는 사용자 이체 비밀 번호의 첫 숫자에 상응하는 상기 비밀퍼즐 스크립트의 제1행에 배열된 숫자를 이동 또는 입력하는 f)단계, 인증 서버로부터 전송된 승인 번호의 첫 숫자 또는 첫 문자에 상응하는 상기 비밀퍼즐 스크립트의 제2행에 배열된 숫자 또는 문자를 상기 입력되는 숫자 또는 문자는 상기 이체 비밀번호의 첫 숫자와 동일 열에 위치하도록 이동시키는 g)단계, 사용자 이체 비밀 번호의 두 번째 숫자에 상응하는 상기 비밀퍼즐 스크립트의 제3행에 배열된 숫자를 이동 또는 입력하는 h)단계, 인증 서버로부터 전송된 승인 번호의 첫 숫자 또는 첫 문자에 상응하는 상기 비밀퍼즐 스크립트의 제4행에 배열된 숫자 또는 문자를 상기 입력되는 숫자 또는 문자는 상기 이체 비밀번호의 첫 숫자와 동일 열에 위치하도록 이동시키는 i)단계 및 상기 이체 비밀 번호의 자리수와 동일하게 상기 a) 및 d) 단계를 반복하는 j)단계를 포함한다.
The fourth step is to move or input the number arranged in the first line of the secret puzzle script corresponding to the first number of the user transfer password, the first number or the first letter of the authorization number sent from the authentication server G) moving the number or letter arranged in the second line of the corresponding secret puzzle script so that the input number or letter is located in the same column as the first number of the transfer password, the second number of the user transfer password. H) shifting or entering the number arranged in the third line of the corresponding secret puzzle script, arranged in the fourth line of the secret puzzle script corresponding to the first digit or first character of the authorization number sent from the authentication server; I) moving a number or letter so that the entered number or letter is in the same column as the first number of the transfer password; and And j) repeating steps a) and d) in the same way as the digit of the transfer password.

상기 g)단계는 상기 제1 비밀퍼즐 스크립트의 제2행에 배열된 숫자를 선택하여 상기 제2행의 양쪽 끝에 표시된 방향으로 움직여 상기 제1행의 이체 비밀이 클릭된 코드 문자 위치와 동일한 열로 움직이도록 하는 단계인 것을 특징으로 한다.
In step g), the numbers arranged on the second line of the first secret puzzle script are selected and moved in the direction indicated at both ends of the second line so that the transfer secret of the first line moves in the same column as the code character position clicked on. It characterized in that the step to be.

상기 i)단계는 상기 비밀 퍼즐 스크립트의 제4행에 배열된 숫자를 선택하여 상기 제4행의 양쪽 끝에 표시된 방향으로 움직여 상기 제3행의 이체 비밀이 클릭된 코드 문자 위치와 동일한 열로 움직이도록 수행하는 단계인 것을 특징으로 한다.
In step i), the numbers arranged in the fourth row of the secret puzzle script are selected and moved in the directions indicated at both ends of the fourth row so that the transfer secret of the third row moves in the same column as the clicked code character position. Characterized in that the step.

상기 g)단계는 상기 제2 비밀퍼즐 스크립트의 제2행에 배열된 숫자 또는 문자를 선택하여 상기 제2행의 양쪽 끝에 표시된 방향으로 움직여 상기 제1행의 이체 비밀번호가 입력된 숫자의 위치와 동일한 열로 움직이도록 하는 단계인 것을 특징으로 한다.
In step g), the numbers or letters arranged in the second line of the second secret puzzle script are selected and moved in the directions indicated at both ends of the second line so that the transfer password of the first line is the same as the position of the input number. Characterized in that the step of moving to heat.

상기 i)단계는 상기 제2 비밀 퍼즐 스크립트의 제4행에 배열된 숫자 또는 문자를 선택하여 상기 제4행의 양쪽 끝에 표시된 방향으로 움직여 상기 제3행의 이체 비밀번호가 입력된 숫자의 위치와 동일한 열로 움직이도록 수행하는 단계인 것을 특징으로 한다.
In step i), the number or letter arranged in the fourth row of the second secret puzzle script is selected and moved in the direction indicated at both ends of the fourth row so that the transfer password of the third row is the same as the position of the entered number. Characterized in that the step of moving to heat.

상기 g)단계와 상기 i)단계는 상기 제1 비밀 퍼즐 스크립트 상에서 배열된 상기 이체 비밀 번호 문자에 상응하는 숫자를 선택하여 서버에서 지시한 방향으로 승인 번호의 숫자를 움직이도록 수행하는 것을 특징으로 한다.
Steps g) and i) select a number corresponding to the transfer password character arranged on the first secret puzzle script to move the number of the approval number in the direction indicated by the server. .

상기 이체 비밀은 상기 사용자의 수신자명, 전화번호, 휴대폰 번호, 주소, 회사, 나이, 수신자 이미지로 나타낼 수 있는 것을 특징으로 한다.
The transfer secret may be represented as the recipient's name, phone number, mobile phone number, address, company, age, recipient image of the user.

상기 제1 비밀퍼즐 스크립트 및 제2 비밀퍼즐 스크립트는 보안 등급에 따라 추가 더미 스크립트를 포함하는 것을 특징으로 한다.
The first secret puzzle script and the second secret puzzle script is characterized in that it comprises an additional dummy script according to the security level.

본 발명에 따른 비밀 퍼즐을 이용하여 승인 여부를 실시할 경우, 사용자가 피싱사이트에 접근했다 하여도 비밀은 노출되지 않는 효과가 있다.When the approval is performed using the secret puzzle according to the present invention, the secret is not exposed even if the user approaches the phishing site.

또한, 사용자는 비밀퍼즐을 통해 비밀을 입력하도록 되어있다는 사실을 알기 때문에 비밀을 직접 입력하는 폼은 이용하지 않을 수 있고, 피싱 사이트에서 비밀퍼즐을 적용하여도 공격자는 이체비밀번호와 승인응답을 알아내지 못하는 효과가 있다.Also, because users know that they are required to enter secrets through secret puzzles, they can't use the form to enter secrets directly, and even if they apply secret puzzles from phishing sites, attackers can't find out the transfer password and approval response. There is no effect.

또한, 본 발명은 이체비밀이 포함된 비밀퍼즐을 통과해야 계좌이체가 이루어지기 때문에 수신계좌정보를 변조하려는 악성코드와 사용자의 컴퓨터를 실시간으로 제어하는 공격자로부터 안전하게 거래를 승인할 수 있다. In addition, the present invention can be securely authorized from the attacker to control the user's computer and the real-time malicious code to modify the received account information because the account transfer is made through the secret puzzle containing the transfer secret.

또한, 본 발명의 비밀 퍼즐을 이용한 승인방법은 높은 해상도를 요구하지 않고 사용법이 간편하기 때문에 모바일 뱅킹에도 적용될 수 있다.
In addition, the approval method using the secret puzzle of the present invention can be applied to mobile banking because it is easy to use without requiring a high resolution.

도 1은 본 발명의 일 실시 예에 따른 비밀 퍼즐을 이용한 승인 방법을 나타낸 플로우 챠트이다.
도 2는 도 1의 제3단계를 보다 구체적으로 나타낸 플로우 챠트이다.
도 3은 도 1의 승인 방법에 적용된 비밀퍼즐을 나타낸 예시도이다.
도 4는 본 발명의 다른 실시 예를 나타낸 다양한 비밀퍼즐을 이용한 승인 방법을 나타낸 플로우 챠트이다.
도 5는 도 4에 기재된 제3단계를 보다 구체적으로 나타낸 플로우 챠트이다.
도 6은 도 4에 기재된 제4단계를 보다 구체적으로 나타낸 플로우 챠트이다.
도 7a는 본 발명의 승인 방법에 적용된 다양한 비밀퍼즐의 예를 나타낸 예시도이다.
도 7b는 본 발명의 승인 방법에 적용된 다양한 비밀퍼즐의 다른 예를 나타낸 예시도이다.
도 7c는 본 발명의 승인 방법에 적용된 다양한 비밀퍼즐의 다른 예를 나타낸 예시도이다.
도 7d는 본 발명의 승인 방법에 적용된 다양한 비밀퍼즐의 다른 예를 나타낸 예시도이다.
1 is a flow chart showing an approval method using a secret puzzle according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating the third step of FIG. 1 in more detail.
3 is an exemplary view showing a secret puzzle applied to the approval method of FIG.
4 is a flowchart illustrating an approval method using various secret puzzles showing another embodiment of the present invention.
FIG. 5 is a flowchart illustrating the third step in FIG. 4 in more detail.
FIG. 6 is a flowchart illustrating the fourth step described in FIG. 4 in more detail.
Figure 7a is an exemplary view showing an example of various secret puzzle applied to the approval method of the present invention.
7B is an exemplary view showing another example of various secret puzzles applied to the approval method of the present invention.
7C is an exemplary view showing another example of various secret puzzles applied to the approval method of the present invention.
7d is an exemplary view showing another example of various secret puzzles applied to the approval method of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "~부","~기" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. In addition, the terms "~", "~" described in the specification means a unit for processing at least one function or operation, which may be implemented in hardware or software or a combination of hardware and software.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
DETAILED DESCRIPTION In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings that illustrate preferred embodiments of the present invention.

본 발명을 설명함에 앞서, 현재 사용중인 승인응답(보안카드 또는 OTP: One Time Password)이 가지는 공통점은 숫자로 이루어져있다는 점과 매번 다른 응답을 사용하도록 되어있다는 점, 그리고 서버가 그 응답의 평문을 알 수 있다는 점이다. 보안카드의 경우 비밀의 수가 제한되어있기는 하지만 2자리씩 두번, 질의-응답 형태로 사용되기 때문에 보안카드의 비밀 모두 또는 그 비밀들을 복원시킬 수 있는 인자를 서버가 저장하고 있다.
Before describing the present invention, the commonality of the current authorization response (security card or one time password) is that it consists of a number, and that each time a different response is used, and that the server has plain text of the response. I can see. In the case of the security card, the number of secrets is limited, but twice, two digits are used in the form of query-response, so the server stores all the secrets of the security card or an argument that can restore the secrets.

OTP의 경우에는 질의-응답 방식, 시간 동기화 방식, 이벤트(카운터) 동기화 방식, 조합(시간 및 카운터) 방식이 있으며, 이들 방식 모두 응답을 생성하기 위해 필요한 인자가 인증 서버와 공유 또는 동기화되어 있기 때문에 서버가 응답을 평문상태로 알 수 있다. 이러한 승인 응답이 가지는 속성은 질의(질의-응답 프로토콜)로 사용하기에 적합하다.
In case of OTP, there are query-response method, time synchronization method, event (counter) synchronization method, and combination (time and counter) method, and all of them are shared or synchronized with the authentication server. The server can see the response in plain text. The attribute of this acknowledgment is suitable for use as a query (query-response protocol).

이와는 다르게 이체비밀번호(또는 계좌비밀번호, 이하 이체비밀번호)는 고정된 형태의 비밀로, 인증 서버에 암호화 일방향 해시 함수의 결과 값이 저장되어 있을 수 있기 때문에 서버가 평문을 알고 있지 않을 수도 있다.In contrast, a transfer password (or account password) is a fixed type of secret, and the server may not know the plain text because the result of the encryption one-way hash function may be stored in the authentication server.

따라서, 아래에서 기술할 본 발명은 이 두 가지 비밀이 가지는 속성을 바탕으로 구성하도록 한다.
Therefore, the present invention described below is configured based on the attributes of these two secrets.

도 1은 본 발명의 일 실시 예에 따른 비밀 퍼즐을 이용한 승인 방법을 나타낸 플로우 챠트이며, 도 2는 도 1의 제3단계를 보다 구체적으로 나타낸 플로우 챠트이다.FIG. 1 is a flowchart illustrating an approval method using a secret puzzle according to an embodiment of the present invention, and FIG. 2 is a flowchart illustrating the third step of FIG. 1 in more detail.

도 1에 도시된 바와같이, 본 발명의 비밀 퍼즐을 이용한 승인 방법은 제1단계(S10) 내지 제4단계(S40)를 포함한다.As shown in Figure 1, the approval method using the secret puzzle of the present invention includes a first step (S10) to the fourth step (S40).

상기 제1단계(S10)는 계좌 이체에 따른 사용자 인증을 인증 서버에 요청하는 단계일 수 있다.
The first step (S10) may be a step of requesting the authentication server for user authentication according to the account transfer.

상기 제2단계(S20)는 상기 인증 서버로부터 생성된 비밀퍼즐 스크립트 및 사용자 승인 번호를 사용자 단말기에 수신하는 한계일 수 있다.
The second step (S20) may be a limit for receiving the secret puzzle script and the user authorization number generated from the authentication server to the user terminal.

상기 제3단계(S30)는 사용자의 이체 비밀번호 및 승인 번호에 상응하는 숫자 또는 문자를 상기 비밀퍼즐 스크립트에 표시된 코드 번호 또는 코드 문자로 각각 입력하는 단계일 수 있다.
The third step S30 may be a step of inputting a number or letter corresponding to a user's transfer password and authorization number as a code number or code letter displayed on the secret puzzle script, respectively.

상기 제4단계(S40)는 상기 이체 비밀번호의 확인 여부에 따라 상기 승인번호를 확인한 후, 승인 여부를 판단하는 단계일 수 있다.
The fourth step S40 may be a step of determining whether to approve after confirming the approval number according to whether the transfer password is confirmed.

보다 구체적으로, 상기 제1단계(S10)는 사용자가 계좌 이체를 위해 사용자 컴퓨터 또는 휴대단말기를 통해 인증서버로 계좌이체 승인 요청을 수행하는 단계일 수 있다.More specifically, the first step S10 may be a step in which a user performs a request for approval of account transfer to the authentication server through a user computer or a mobile terminal for account transfer.

상기 컴퓨터 또는 휴대단말기는 상기 인증 서버와 유?무선 접속이 가능한, 휴대용단말기, 휴대인터넷장치(Mobile Internet Device), MP3, MP4, PMP(Portable Multimedia Player), 노트북 컴퓨터, UMPC(Ultra Mobile PC), 또는 PC(personal computer), 휴대전화(cellular phone), 스마트폰, 또는 PDA(personal digital assistants)와 같은 각종 전자장치가 될 수 있다.
The computer or mobile terminal is a portable terminal capable of wired and wireless connection with the authentication server, a mobile Internet device (Mobile Internet Device), MP3, MP4, PMP (Portable Multimedia Player), notebook computer, UMPC (Ultra Mobile PC), Or various electronic devices such as personal computers (PCs), cellular phones, smart phones, or personal digital assistants (PDAs).

또한, 휴대단말기일 경우, SIM(subscribe identity module)을 내장하는 기존의 CDMA(code division multiple access)용 단말기뿐만 아니라, 상기 SIM을 탑재한 카드를 탈부착할 수 있는 GSM(Global system for mobile communication)용 단말기를 포함할 수 있다.In addition, in the case of a mobile terminal, not only an existing code division multiple access (CDMA) terminal incorporating a subscriber identity module (SIM) but also a GSM (Global system for mobile communication) that can attach and detach a card equipped with the SIM. It may include a terminal.

또한, 상기 컴퓨터 또는 휴대단말기 내부에는 상기 인증 서버와 접속이 가능한 응용 프로그램이 설치된다.
In addition, an application program accessible to the authentication server is installed inside the computer or the mobile terminal.

상기 제2단계(S20)는 상기 인증 서버로부터 상기 컴퓨터 또는 휴대단말기에서 전송된 사용자 인증 요청에 상응하는 응답을 수신하는 단계로서, 인증 서버는 암호화 일 방향 해시 함수의 결과값을 상기 인증 서버와 연결된 데이타베이스에서 추출하여 비밀퍼즐 스크립트 변환된 데이타를 전송한다. 또한, 사용자 승인 번호를 사용자 단말기로 전송하는 단계일 수 있다.
The second step (S20) is a step of receiving a response corresponding to the user authentication request transmitted from the computer or the mobile terminal from the authentication server, the authentication server is connected to the authentication server the result value of the encryption one-way hash function Extract from the database and send the secret puzzle script converted data. In addition, the step of transmitting the user authorization number to the user terminal.

상기 제3단계(S30)는 도 2를 참조하면, a)단계(S31) 내지 e)단계(S35)를 포함할 수 있다.Referring to FIG. 2, the third step S30 may include a) steps S31 to e) step S35.

상기 a)단계(S31)는 사용자 이체 비밀 번호의 첫 숫자에 상응하는 상기 비밀퍼즐 스크립트의 제1행에 배열된 숫자를 이동 또는 입력하는 단계일 수 있다.Step a) step S31 may be a step of moving or inputting the numbers arranged in the first line of the secret puzzle script corresponding to the first number of the user transfer password.

상기 b)단계(S32)는 인증 서버로부터 전송된 승인 번호의 첫 숫자 또는 첫 문자에 상응하는 상기 비밀퍼즐 스크립트의 제2행에 배열된 숫자 또는 문자를 상기 입력되는 숫자 또는 문자는 상기 이체 비밀번호의 첫 숫자와 동일 열에 위치하도록 이동시키는 단계일 수 있다.B) step (S32) is a number or letters arranged in the second line of the secret puzzle script corresponding to the first number or the first letter of the authorization number sent from the authentication server, the input number or letter of the transfer password The movement may be performed to be located in the same column as the first number.

상기 c)단계(S33)는 사용자 이체 비밀 번호의 두 번째 숫자에 상응하는 상기 비밀퍼즐 스크립트의 제3행에 배열된 숫자를 이동 또는 입력하는 단계일 수 있다.
Step c) (S33) may be a step of moving or inputting the numbers arranged in the third line of the secret puzzle script corresponding to the second number of the user transfer password.

상기 d)단계(S34)는 인증 서버로부터 전송된 승인 번호의 첫 숫자 또는 첫 문자에 상응하는 상기 비밀퍼즐 스크립트의 제4행에 배열된 숫자 또는 문자를 상기 입력되는 숫자 또는 문자는 상기 이체 비밀번호의 첫 숫자와 동일 열에 위치하도록 이동시키는 단계일 수 있다.
The d) step (S34) is a number or letters arranged in the fourth line of the secret puzzle script corresponding to the first number or the first letter of the authorization number sent from the authentication server, the input number or letter is the transfer password The movement may be performed to be located in the same column as the first number.

상기 e)단계(S35)는 상기 이체 비밀 번호의 자리수와 동일하게 상기 a) 및 d) 단계를 반복하는 단계일 수 있다.
The step e) (S35) may be a step of repeating the steps a) and d) equal to the number of digits of the transfer password.

여기서 상기 b)단계(S32)는 상기 비밀퍼즐 스크립트의 제2행에 배열된 숫자 또는 문자를 선택하여 상기 양쪽 끝에 표시된 방향으로 움직여 상기 제1행의 이체 비밀번호가 입력된 숫자의 위치와 동일한 열로 움직이도록 하는 단계일 수 있다.Wherein b) step (S32) selects the numbers or letters arranged in the second line of the secret puzzle script in the direction indicated at both ends to move the transfer password of the first line in the same column as the position of the number entered It may be a step to be.

상기 d)단계(S34)는 상기 비밀 퍼즐 스크립트의 제4행에 배열된 숫자 또는 문자를 선택하여 상기 제4행의 양쪽 끝에 표시된 방향으로 움직여 상기 제3항의 이체 비밀번호가 입력된 숫자의 위치와 동일한 열로 움직이도록 수행하는 단계일 수 있다.
In step d34, the number or letter arranged in the fourth line of the secret puzzle script is selected and moved in the direction indicated at both ends of the fourth line so that the transfer password of claim 3 is the same as the position of the input number. It may be performed to move to the heat.

상기 b)단계(S32)와 상기 d)단계(S34)는 상기 비밀 퍼즐 스크립트 상에서 배열된 상기 승인 번호의 숫자에 상응하는 숫자를 선택하여 서버에서 지시한 방향으로 승인 번호의 숫자를 움직이도록 수행하는 단계일 수 있다.
Steps b) S32 and d) S34 select a number corresponding to the number of the approval number arranged on the secret puzzle script to move the number of the approval number in the direction indicated by the server. It may be a step.

도 3은 도 1의 승인 방법에 적용된 비밀퍼즐을 나타낸 예시도이다. 3 is an exemplary view showing a secret puzzle applied to the approval method of FIG.

예를 들어, 도 3을 참조하면, 회색바탕에 표현된 번호가 이체 비밀 번호(고정적임)이고 그 아래 나열된 번호는 승인 응답(유동적임: 키보드나 마우스를 통해 움직일 수 있음)이다.For example, referring to FIG. 3, the number represented in the gray background is the transfer password (fixed) and the number listed below is the acknowledgment (flowable: can be moved via the keyboard or mouse).

i번째 자리의 이체비밀번호를 i번째의 회색 바탕 행에서 찾고, 그 아래에 i번째 자리의 승인응답을 i번째 화살표가 가리키는 방향으로 이동시킨다. Find the i-digit transfer password on the i-th gray background row and move the acknowledgment of the i-digit below it in the direction indicated by the i-arrow.

구체적인 예로, 사용자의 이체비밀번호가 '3869'이고 승인응답이 '6989'라면 이때의 이동정보는 왼쪽 7칸, 왼쪽으로 1칸, 오른쪽으로 8칸, 오른쪽으로 0칸 이 된다.
As a specific example, if the user's transfer password is '3869' and the approval response is '6989', the movement information at this time is left 7 spaces, left 1 space, right 8 spaces and right 0 spaces.

이체비밀번호 그리고 승인응답이 순차적으로 표현되어 있지만 이를 임의적으로 표현하거나, 캡차(CAPTCHA)형태로 표현할 수도 있다. The transfer password and the acknowledgment are sequentially expressed, but they can be expressed arbitrarily or in the form of a CAPTCHA.

인증 서버에서는 본 발명의 비밀퍼즐을 통해 이체비밀번호와 승인응답을 동시에 확인할 수 있기 때문에 계좌이체정보 입력단계(예컨대, b)단계)에서 이체비밀번호를 별도로 입력하지 않아도 된다.Since the authentication server can simultaneously confirm the transfer password and the approval response through the secret puzzle of the present invention, it is not necessary to separately enter the transfer password in the account transfer information input step (for example, step b)).

또한, 이체비밀번호와 승인응답의 역할을 바꾸어서 사용할 수도 있다. 하지만 고정된 곳에 위치시켜야 승인응답을 위치시킬 곳을 매번 새로 찾지 않아도 되어 사용자가 본 발명인 비밀퍼즐에 쉽게 익숙해질 수 있다.
It can also be used to reverse the role of transfer password and acknowledgment. However, a fixed place should be located so that users do not have to find a new place to place an acknowledgment each time, so that the user can easily become familiar with the inventor's secret puzzle.

상기 캡차(CAPTCHA)는 상기 컴퓨터 사용자가 사람인지를 판단하기 위해 사용되는 일종의 테스트. 스팸 소프트웨어의 자동 계정 등록을 막기 위해 계정 등록할 때 거치는 테스트을 말한다. The CAPTCHA is a type of test used to determine if the computer user is a human. This is a test that takes place when registering an account to prevent automatic registration of the spam software.

예를 들어, 단어를 시각적으로 변형시킨 복잡한 패턴을 배경 화면 위에 보여 줌으로써 메일 계정을 등록하려는 사용자는 해당 단어를 키보드로 입력해 계정을 생성할 수 있으며, 이와 같이 상기 캡차 패턴은 일부러 변형시킨 글자로 사람은 쉽게 알아볼 수 있지만 스팸 컴퓨터는 알아보지 못한다. 따라서 스패머는 자동으로 계정을 생성할 수 없게 되고, 스팸 메일 발송도 어려워지게 된다.
For example, a user who wants to register a mail account by creating a complex pattern of visually transformed words on the background screen can create an account by typing the word on the keyboard. People can easily recognize it, but not spam computers. As a result, spammers will not be able to create accounts automatically, and it will be difficult to send spam.

도 4는 본 발명의 다른 실시 예를 나타낸 다양한 비밀퍼즐을 이용한 승인 방법을 나타낸 플로우 챠트이며, 도 5는 도 4에 기재된 제3단계를 보다 구체적으로 나타낸 플로우 챠트이며, 도 6은 도 4에 기재된 제4단계를 보다 구체적으로 나타낸 플로우 챠트이다.4 is a flow chart illustrating an approval method using various secret puzzles according to another embodiment of the present invention, FIG. 5 is a flow chart more specifically illustrating the third step described in FIG. 4, and FIG. 6 is described in FIG. 4. This is a flow chart showing the fourth step in more detail.

도 4에 도시된 바와 같이, 비밀퍼즐을 이용한 승인 방법은 제1단계(S50) 내지 제5단계(S90)를 포함한다.As shown in Figure 4, the approval method using a secret puzzle includes a first step (S50) to the fifth step (S90).

상기 제1단계(S50)는 계좌 이체에 따른 사용자 인증을 인증 서버에 요청하는 단계일 수 있다.
The first step (S50) may be a step of requesting the authentication server for user authentication according to the account transfer.

상기 제2단계(S60)는 상기 인증 서버로부터 j×k 행렬로 이루어진 제1 비밀퍼즐 스크립트 및 사용자 승인 번호를 사용자 단말기에 수신하는 단계일 수 있다.
The second step S60 may be a step of receiving, from the authentication server, a first secret puzzle script composed of a j × k matrix and a user approval number to the user terminal.

상기 제3단계(S70)는 상기 비밀퍼즐 스크립트에 사용자의 이체비밀에 상응하는 숫자 또는 문자를 상기 비밀퍼즐 스크립트에 제시된 코드 번호 또는 코드 문자로 입력하고, 사용자의 계좌 이체비밀번호를 상기 제1 비밀퍼즐 스크립트에 제시된 코드 번호로 입력하는 단계일 수 있다.
The third step (S70) is to enter the number or letter corresponding to the user's transfer password to the secret puzzle script as the code number or code letter presented in the secret puzzle script, the user's account transfer password to the first secret puzzle It may be a step of inputting the code number presented in the script.

상기 제4단계(S80)는 상기 인증 서버로부터 j×k 행렬로 이루어진 제2 비밀퍼즐 스크립트를 수신하여, 상기 승인번호에 상응하는 상기 제2 비밀퍼즐 스크립트에 배열된 코드 번호 또는 코드 문자로 입력하는 단계일 수 있다.
The fourth step (S80) receives a second secret puzzle script consisting of a j × k matrix from the authentication server, inputting the code number or code characters arranged in the second secret puzzle script corresponding to the authorization number It may be a step.

상기 제5단계(S90)는 상기 이체 비밀번호의 확인 여부와 상기 승인 번호의 확인 여부 따라 계좌 이체 승인 여부를 결정하는 단계일 수 있다.
The fifth step (S90) may be a step of determining whether the transfer transfer approval according to whether the transfer password is confirmed and the approval number.

보다 구체적으로, 도 5를 참조하면, 상기 제3단계는 a)단계(S71) 내지 e)단계(S75)를 포함할 수 있다.More specifically, referring to FIG. 5, the third step may include a) steps S71 to e) S75.

상기 a)단계(S71)는 사용자 이체 비밀의 첫 문자에 상응하는 상기 비밀퍼즐 스크립트의 제1행에 배열된 코드 번호 또는 코드 문자를 주변기기등을 통하여 클릭하는 단계일 수 있다.
The a) step S71 may be a step of clicking a code number or a code letter arranged in the first line of the secret puzzle script corresponding to the first letter of the user transfer secret through a peripheral device.

상기 b)단계(S72)는 상기 사용자의 이체 비밀번호의 첫번째 숫자에 상응하는 상기 비밀퍼즐 스크립트의 제2행에 배열된 숫자를 주변기기등을 이용하여 상기 이체 비밀이 클릭된 코드 번호 또는 코드 문자와 동일 열에 위치하도록 이동시키는 단계일 수 있다.
B) step S72 is identical to the code number or code letter clicked on the transfer secret using a peripheral device or the like arranged in the second line of the secret puzzle script corresponding to the first number of the transfer password of the user. May be moved to be located in a column.

상기 c)단계(S73)는 사용자 이체 비밀의 두 번째 문자에 상응하는 상기 비밀퍼즐 스크립트의 제3행에 배열된 코드 번호 또는 코드 문자를 주변기기등을 통하여 클릭하는 단계일 수 있다.
In step c73, the code number or code letter arranged in the third line of the secret puzzle script corresponding to the second letter of the user transfer secret may be clicked through a peripheral device.

상기 d)단계(S74)는 상기 사용자의 이체 비밀번호의 두번째 숫자에 상응하는 상기 비밀퍼즐 스크립트의 제4행에 배열된 숫자를 주변기기등을 이용하여 상기 이체 비밀이 클릭된 코드 번호 또는 코드 문자와 동일 열에 위치하도록 이동시키는 단계일 수 있다.
The d) step (S74) is the same as the code number or code letter in which the transfer secret is clicked using a peripheral or the like arranged in the fourth line of the secret puzzle script corresponding to the second number of the transfer password of the user. May be moved to be located in a column.

상기 e)단계(S75)는 상기 이체 비밀 및 상기 이체 비밀번호의 자리수와 동일 수 만큼 상기 a) 및 d) 단계를 반복하는 단계일 수 있다.
The step e) (S75) may be a step of repeating the steps a) and d) by the same number of digits of the transfer secret and the transfer password.

상기 b)단계(72)는 상기 제1 비밀퍼즐 스크립트의 제2행에 배열된 숫자를 선택하여 상기 제2행의 양쪽 끝에 표시된 방향으로 움직여 상기 제1행의 이체 비밀이 클릭된 코드 문자 위치와 동일한 열로 움직이도록 하는 단계일 수 있다.
In step b), step 72 selects the numbers arranged in the second line of the first secret puzzle script and moves them in the direction indicated at both ends of the second line so that the transfer secret of the first line is clicked. May be moved to the same row.

상기 d)단계(74)는 상기 비밀 퍼즐 스크립트의 제4행에 배열된 숫자를 선택하여 상기 제4행의 양쪽 끝에 표시된 방향으로 움직여 상기 제3행의 이체 비밀이 클릭된 코드 문자 위치와 동일한 열로 움직이도록 수행하는 단계일 수 있다.
In step d), step 74 selects the numbers arranged in the fourth row of the secret puzzle script and moves them in the direction indicated at both ends of the fourth row so that the transfer secret of the third row is in the same column as the code character position clicked on. May be performed to move.

다음으로, 도 6을 참조하면, 상기 제4단계(S80)는 보다 상세하게 a)단계(S81) 내지 e)단계(S85)를 포함할 수 있다. Next, referring to FIG. 6, the fourth step S80 may include a) steps S81 to e) S85 in more detail.

상기 f)단계(S81)는 사용자 이체 비밀 번호의 첫 숫자에 상응하는 제2 비밀퍼즐 스크립트의 제1행에 배열된 숫자를 이동 또는 입력하는 단계일 수 있다.
Step f) (S81) may be a step of moving or inputting the numbers arranged in the first line of the second secret puzzle script corresponding to the first number of the user transfer password.

상기 g)단계(S82)는 인증 서버로부터 전송된 승인 번호의 첫 숫자 또는 첫 문자에 상응하는 상기 제2 비밀퍼즐 스크립트의 제2행에 배열된 숫자 또는 문자를 상기 입력되는 숫자 또는 문자는 상기 이체 비밀번호의 첫 숫자와 동일 열에 위치하도록 이동시키는 단계일 수 있다.
The g) step (S82) is a number or letter inputted to the number or letter arranged in the second line of the second secret puzzle script corresponding to the first number or first letter of the authorization number sent from the authentication server is the transfer It may be a step of moving to the same column as the first number of the password.

상기 h)단계(S83)는 사용자 이체 비밀 번호의 두 번째 숫자에 상응하는 상기 제2 비밀퍼즐 스크립트의 제3행에 배열된 숫자를 이동 또는 입력하는 단계일 수 있다.
The h) step S83 may be a step of moving or inputting the numbers arranged in the third row of the second secret puzzle script corresponding to the second number of the user transfer password.

상기 i)단계(S84)는 인증 서버로부터 전송된 승인 번호의 첫 숫자 또는 첫 문자에 상응하는 상기 제2 비밀퍼즐 스크립트의 제4행에 배열된 숫자 또는 문자를 상기 입력되는 숫자 또는 문자는 상기 이체 비밀번호의 첫 숫자와 동일 열에 위치하도록 이동시키는 단계일 수 있다.
The i) step (S84) is a number or letters arranged in the fourth line of the second secret puzzle script corresponding to the first number or the first letter of the authorization number sent from the authentication server, the number or letters inputted is the transfer It may be a step of moving to the same column as the first number of the password.

상기 j)단계(S85)는 상기 이체 비밀 번호의 자리수와 동일하게 상기 a) 및 d) 단계를 반복하는 단계일 수 있다.
Step j) (S85) may be a step of repeating the steps a) and d) equal to the number of digits of the transfer password.

상기 g)단계(S82)는 상기 제2 비밀퍼즐 스크립트의 제2행에 배열된 숫자 또는 문자를 선택하여 상기 제2행의 양쪽 끝에 표시된 방향으로 움직여 상기 제1행의 이체 비밀번호가 입력된 숫자의 위치와 동일한 열로 움직이도록 하는 단계일 수 있다.
In step g), in operation S82, the numbers or letters arranged in the second line of the second secret puzzle script are selected and moved in the directions indicated at both ends of the second line so that the transfer password of the first line is entered. May be moved in the same column as the position.

상기 i)단계(S84)는 상기 제2 비밀 퍼즐 스크립트의 제4행에 배열된 숫자 또는 문자를 선택하여 상기 제4행의 양쪽 끝에 표시된 방향으로 움직여 상기 제3행의 이체 비밀번호가 입력된 숫자의 위치와 동일한 열로 움직이도록 수행하는 단계일 수 있다.
In step i), in step S84, the numbers or letters arranged in the fourth row of the second secret puzzle script are selected and moved in the directions indicated at both ends of the fourth row so that the transfer password of the third row is entered. And moving to the same column as the position.

상기 g)단계(S82)와 상기 i)단계(S84)는 상기 제2 비밀 퍼즐 스크립트 상에서 배열된 상기 이체 비밀 번호 문자에 상응하는 숫자를 선택하여 서버에서 지시한 방향으로 승인 번호의 숫자를 움직이도록 수행하는 단계일 수 있다.
Steps g) S82 and i) S84 select a number corresponding to the transfer password character arranged on the second secret puzzle script to move the number of the authorization number in the direction indicated by the server. It may be a step to perform.

여기서, 상기 이체 비밀은 상기 사용자의 수신자명, 전화번호, 휴대폰 번호, 주소, 회사, 나이, 수신자 이미지로 나타낼 수 있다. 그러나 이에 한정되지는 않는다.Here, the transfer secret may be represented by the recipient's name, telephone number, mobile phone number, address, company, age, and recipient image of the user. However, it is not limited thereto.

상기 제1 비밀퍼즐 스크립트 및 제2 비밀퍼즐 스크립트는 보안 등급에 따라 추가 더미 비밀퍼즐 스크립트(예컨대, 도 7b에 도시된 비밀퍼즐 스크립(30))를 포함할 수 있다.
The first secret puzzle script and the second secret puzzle script may include additional dummy secret puzzle scripts (eg, the secret puzzle script 30 shown in FIG. 7B) according to security level.

예컨대, 상기 제1 비밀퍼즐 또는 제2 비밀퍼즐 중 어느 하나는 아래에 기재된 도 7a 내지 도 7d에 나타낸 비밀퍼즐(20 내지 50)을 이용하여 나타낼 수 있다.
For example, any one of the first secret puzzle or the second secret puzzle may be represented using the secret puzzles 20 to 50 shown in FIGS. 7A to 7D described below.

도 7a 내지 도 7b는 다양한 비밀퍼즐의 예를 나타낸 예시도이다.7A to 7B are exemplary views illustrating examples of various secret puzzles.

도 7a는 내지 도 7d를 참조하면, 계좌이체와 관련된 정보 중에서, 인증 서버와 사용자는 알고 있지만 사용자가 입력하지는 않는 정보(이하, 이체비밀)가 있다면 이를 이용하여 이체승인을 위한 다양한 비밀퍼즐들을 만들 수 있다.7A to 7D, among information related to bank transfer, if there is information that the authentication server and the user know but do not enter (hereinafter referred to as “secret of transfer”), various secret puzzles for the transfer approval are created using the same. Can be.

도 7a에 기재된 바와같이, 비밀퍼즐(20)은 홀수 행 또는 짝수 행에 이체비밀을 나타낼 수 있으며, 그 다음 행에 이체 비밀번호를 입력할 수 있다. As illustrated in FIG. 7A, the secret puzzle 20 may display a transfer secret in odd or even rows, and enter a transfer password in the next row.

예를 들어, 이체비밀이 수신자명 예컨대, "최미재" 이고, 이체비밀번호가 "251" 라 가정할 경우, 상기 본 발명의 다른 실시 예의 제3단계에서 설명한 바와같이, 제1행, 제3행, 제5행에는 "최", "미", "재" 라는 문자 코드를 선택하며, 상기 제2행의 코드 번호 2를 오른쪽으로 2칸 이동시키며, 제4행의 코드 번호 5를 왼쪽으로 2칸 이동시키며, 제6행의 코드 번호 1을 오른쪽으로 4칸 이동시킴으로서 인증 확인을 달성할 수 있다. For example, assuming that the transfer password is the recipient's name, for example, "the most recent material" and the transfer password is "251", as described in the third step of another embodiment of the present invention, the first row, the third row, In the fifth line, the character codes "Maximum", "U", "Re" are selected, and the code number 2 of the second line is shifted two spaces to the right, and the code number 5 of the fourth line is two spaces to the left. By moving the code number 1 of the sixth line to the right, the authentication confirmation can be achieved.

상기 이체 비밀의 예로, 수신자명을 나타내었지만, 다른 예로, 전화번호, 휴대폰 번호, 주소, 회사, 나이, 수신자, 이미지 등이 될 수 있다.
As an example of the transfer secret, the recipient name is shown, but in another example, it may be a phone number, a mobile phone number, an address, a company, an age, a recipient, an image, and the like.

도 7b는 이체비밀로 사용자의 수신자명만이 기재될 경우, 보안 등급을 높이기 위해 더미 스크립트가 추가된 예를 나타낸 비밀퍼즐 스크립트(30)일 수 있다.7B may be a secret puzzle script 30 illustrating an example in which a dummy script is added to increase the security level when only the recipient name of the user is described as a transfer secret.

도 7c는 사용자의 편의성을 위한 비밀퍼즐로서, 예컨대, 필요에 따라 이체비밀의 자릿수에 맞춘 비밀 퍼즐 스크립트(40)을 나타낸 예이다.FIG. 7C illustrates an example of a secret puzzle for convenience of the user, for example, a secret puzzle script 40 that is adapted to the number of digit secrets as necessary.

도 7d는 다수의 계좌 이체 정보를 이체할 경우 예컨대, 6건의 계좌이체를 처리할 경우에 수신될 수 있는 비밀퍼즐 스크립트(50)의 예를 나타낸다.FIG. 7D illustrates an example of a secret puzzle script 50 that may be received when transferring multiple bank transfer information, for example, when processing six bank transfers.

예를 들어, 제1행, 제3행, 제5행, 제7행, 제9행, 제11행에는 6명의 수신자명이 나타날 수 있으며, 각 짝수 행은 인증 번호 또는 계좌이체비밀번호에 상응하는 코드 번호를 주변기기 등을 통하여 상기 6명의 수신자명과 동일한 열의 짝수 행으로 이동시킴으로써 인증 방법을 달성할 수 있다.
For example, six recipients can appear in the first, third, fifth, seventh, ninth, and eleventh rows, and each even row has a code that corresponds to an authorization number or wire transfer password. The authentication method can be achieved by moving the number to an even row in the same column as the six recipient names through a peripheral device or the like.

이하는, 본 발명의 실시 예를 이용하여 사용자의 안전한 계좌 이체 방법을 간단하게 설명하도록 한다.Hereinafter, a method of securely transferring a user by using an embodiment of the present invention will be described briefly.

우선, 사용자는 송신계좌번호, 이체금액, 수신자 은행, 수신자 계좌번호를 입력 또는 선택하고 인증 서버에 계좌이체를 요청한다(S100).First, the user inputs or selects a transmission account number, a transfer amount, a recipient bank, and a recipient account number, and requests an account transfer from the authentication server (S100).

다음으로, 인증서버는 계좌이체 가능여부를 확인하고 이체에 문제가 없는 경우 이체비밀번호를 이용한 비밀퍼즐과 부분승인응답 질의를 클라이언트에 전송한다. 사용자는 승인응답을 조회하고 부분승인응답을 이체비밀번호를 주변기기(예컨대, 키보드 또는 마우스)를 이용하여 상기 비밀퍼즐 내에 배열된 숫자를 원하는 위치로 이동시킨다(S110).Next, the authentication server checks whether the account transfer is possible, and if there is no problem with the transfer, transmits the secret puzzle and the partial approval response query using the transfer password to the client. The user inquires the acknowledgment response and moves the number arranged in the secret puzzle to a desired position using a peripheral password (eg, a keyboard or a mouse) for the partial approval response (S110).

만약, 계좌이체가 2건 이상인 경우에는 S100과 S110를 반복할 수 있다.
If there are two or more transfers, S100 and S110 may be repeated.

다음단계로 넘어가면 공인인증서 창이 나타나며, 공인인증서 창의 상단에는 이체정보를 확인하도록 되어있을 수 있고 중간에는 이체비밀번호를 묻는 비밀퍼즐(송신계좌 수만큼), 하단에는 공인인증서 패스워드를 입력하도록 한다. 이때 이체정보에서 이체비밀과 관련된 내용은 표시하지 않고 대신에 S110에서 사용자에게 보인 비밀퍼즐을 보여주도록 한다(S120).
If you go to the next step, the certificate window will appear.You can check the transfer information at the top of the certificate window, enter a secret puzzle (as many as the number of sending accounts) in the middle and enter the certificate password at the bottom. In this case, the contents related to the transfer secret are not displayed in the transfer information, but instead, the secret puzzle shown to the user is shown in S110 (S120).

사용자는 승인응답을 이체비밀번호에 위치시키고 공인인증서 패스워드를 입력하여 서버에 전송하면 계좌이체가 완료된다(S130). 이체비밀은 여전히 표시하지 않고 수신자명만을 CAPTCHA로 표시하도록 한다.
When the user places the approval response in the transfer password and enters the authentication certificate password and transmits it to the server (S130). The transfer secret should still be displayed, but only the recipient's name should be CAPTCHA.

여기서, 이체비밀은 여전히 표시하지 않고 수신자명만을 CAPTCHA로 표시하도록 한다.Here, the transfer secret is still displayed, but only the recipient name is CAPTCHA.

이론적으로 숫자로 이루어진 비밀은 자릿수가 인 경우 만큼의 보안성을 제공한다. 4자리의 이체비밀번호와 4자리의 승인응답을 함께 사용하는 경우 이론상으로는 만큼의 보안성을 제공한다. 숫자로 이루어진 비밀을 복합적으로 사용한 비밀퍼즐의 이론적인 보안성은 승인응답의 자릿수(또는 퍼즐의 개수)가 인 경우, 에 머물지만 원격의 공격자에게도 안전하다는 장점이 있다. 시간이 동기화된 OTP를 승인응답으로 사용하는 경우에는 사용자가 입력할 때의 시간차를 고려해야 하기 때문에 사전에 정의해놓은 허용범위 만큼의 오차를 허용할 수 있다. 이때의 이론적인 보안성은 가 된다.
Theoretically, a numeric secret provides as much security as the number of digits. The combination of a four-digit transfer password and a four-digit acknowledgment in theory provides as much security as possible. Theoretical security of the secret puzzle using a combination of numbers and secrets is that if the number of digits (or the number of puzzles) of the acknowledgment response is, it stays at, but it is also safe for remote attackers. If the time-synchronized OTP is used as an acknowledgment, the time difference when the user inputs should be taken into consideration, so that the error can be allowed as much as a predefined tolerance. The theoretical security at this time is.

기존의 비밀증명은 비밀을 직접적으로 입력하는 방법을 이용한다. 그 때문에 비밀의 이론적인 보안성과는 관련 없이 공격자는 사용자가 입력하는 비밀을 키로거, 피싱/파밍 등의 공격을 통해 얻어내고 공격자의 의도대로 사용할 수 있었다. OTP와 같은 유동적인 비밀은 공격자의 의도대로 사용될 수 있는 시간을 단축시킬 뿐, 문서변조 공격에 취약하기 때문에 근본적인 해결책이 되지 못한다.
Existing secret authentication uses a method of directly inputting a secret. Therefore, regardless of the theoretical security of the secret, the attacker could obtain the secret entered by the user through key loggers, phishing and pharming attacks and use it as the attacker intended. Fluid secrecy, such as OTP, reduces the time it can be used as the attacker intended, and is not a fundamental solution because it is vulnerable to document tampering attacks.

따라서, 본 발명에서 제안하는 비밀퍼즐이 적용되었을 경우, 사용자가 피싱사이트에 접근했다 하여도 비밀은 노출되지 않는다. 사용자는 비밀퍼즐을 통해 비밀을 입력하도록 되어있다는 사실을 알기 때문에 비밀을 직접 입력하는 폼은 이용하지 않을 것이고, 피싱사이트에서 비밀퍼즐을 적용하여도 공격자는 이체비밀번호와 승인응답을 알아내지 못한다.
Therefore, when the secret puzzle proposed in the present invention is applied, the secret is not exposed even if the user accesses the phishing site. Since the user knows that they are required to enter the secret through a secret puzzle, they will not use the form to enter the secret directly. Even if the secret puzzle is applied at the phishing site, the attacker cannot find out the transfer password and the approval response.

문서변조 공격은 거래내역이 반영되어있지 않은 비밀이 어느 용도로 사용되었는지를 확인할 장치가 마련되어있지 않기 때문에 발생한다. 비밀퍼즐2는 공격자가 모르는 정보에 승인응답을 위치하도록 되어있기 때문에, 공격자가 서버가 전송한 비밀 퍼즐을 자신의 거래를 완료시킬 수 있는 형태로 조작할 수 없다.
Document tampering attacks occur because there is no mechanism for identifying the secrets for which the transactions are not reflected. Since Secret Puzzle 2 is designed to place an acknowledgment on information that the attacker does not know, the attacker cannot manipulate the secret puzzle sent by the server in such a way that he can complete his transaction.

웹의 스크립트 수준에서 구현될 수 있으면 브라우저 호환성이 좋고 설치비용이 낮다. 추가적인 소프트웨어의 설치가 요구되면 사용자가 사용 중인 특정 브라우저 또는 운영체제에 따라 설치가 불가할 수도 있기 때문에 호환성이 높지 않고, 설치비용 또한 높아진다. 부가장치를 이용한 방법의 경우 보안성이 높은 반면에 하드웨어 기기발급에 따른 비용 부담이 있고 이 기기를 소지하고 있을 때만 거래가 가능하기 때문에 이동성이 낮다. 호환성의 경우 브라우저 호환성과 현재 사용되고 있는 비밀 호환성을 동시에 평가하였다.
If implemented at the script level of the Web, browser compatibility and installation costs are low. If additional software is required, the installation may not be possible, depending on the particular browser or operating system you are using. In the case of the method using the additional device, the security is high, but there is a cost burden due to the issuance of the hardware device and the mobility is low because the transaction is possible only when the device is owned. In the case of compatibility, we evaluated both browser compatibility and current secret compatibility.

본 발명은 상술한 특정의 바람직한 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형의 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the appended claims and their equivalents. And such changes are, of course, within the scope of the claims.

10,20,30,40: 비밀퍼즐 스크립트10,20,30,40: Secret puzzle script

Claims (10)

계좌 이체에 따른 사용자 인증을 인증 서버에 요청하는 제1단계;
상기 인증 서버로부터 j×k 행렬로 이루어진 제1 비밀퍼즐 스크립트 및 사용자 승인 번호를 사용자 단말기에 수신하는 제2단계;
상기 비밀퍼즐 스크립트에 사용자의 이체비밀에 상응하는 숫자 또는 문자를 상기 비밀퍼즐 스크립트에 제시된 코드 번호 또는 코드 문자로 입력하고, 사용자의 계좌 이체비밀번호를 상기 제1 비밀퍼즐 스크립트에 제시된 코드 번호로 입력하는 제3단계;
상기 인증 서버로부터 j×k 행렬로 이루어진 제2 비밀퍼즐 스크립트를 수신하여, 상기 승인번호에 상응하는 상기 제2 비밀퍼즐 스크립트에 배열된 코드 번호 또는 코드 문자로 입력하는 제4단계; 및
상기 이체 비밀번호의 확인 여부와 상기 승인 번호의 확인 여부 따라 계좌 이체 승인 여부를 결정하는 제5단계를 포함하는 다양한 비밀 퍼즐을 이용한 승인 방법.
A first step of requesting an authentication server for user authentication according to the account transfer;
A second step of receiving, from the authentication server, a first secret puzzle script composed of a j × k matrix and a user approval number to a user terminal;
Entering the number or letter corresponding to the user's transfer password in the secret puzzle script as the code number or code letter presented in the secret puzzle script, and inputting the user's account transfer password as the code number presented in the first secret puzzle script The third step;
Receiving a second secret puzzle script composed of a j × k matrix from the authentication server and inputting the second secret puzzle script in a code number or code character arranged in the second secret puzzle script corresponding to the authorization number; And
And a fifth step of determining whether or not to approve the transfer according to whether the transfer password is confirmed and the approval number is verified.
상기 제3단계는,
사용자 이체 비밀의 첫 문자에 상응하는 상기 비밀퍼즐 스크립트의 제1행에 배열된 코드 번호 또는 코드 문자를 주변기기등을 통하여 클릭하는 a)단계;
상기 사용자의 이체 비밀번호의 첫번째 숫자에 상응하는 상기 비밀퍼즐 스크립트의 제2행에 배열된 숫자를 주변기기등을 이용하여 상기 이체 비밀이 클릭된 코드 번호 또는 코드 문자와 동일 열에 위치하도록 이동시키는 b)단계;
사용자 이체 비밀의 두 번째 문자에 상응하는 상기 비밀퍼즐 스크립트의 제3행에 배열된 코드 번호 또는 코드 문자를 주변기기등을 통하여 클릭하는 c)단계;
상기 사용자의 이체 비밀번호의 두 번째 숫자에 상응하는 상기 비밀퍼즐 스크립트의 제4행에 배열된 숫자를 주변기기 등을 이용하여 상기 이체 비밀이 클릭된 코드 번호 또는 코드 문자와 동일 열에 위치하도록 이동시키는 d)단계; 및
상기 이체 비밀 및 상기 이체 비밀번호의 자리수와 동일 수만큼 상기 a) 및 d) 단계를 반복하는 e)단계를 포함하는 비밀퍼즐을 이용한 승인 방법.
In the third step,
A) clicking a code number or code letter arranged in the first line of the secret puzzle script corresponding to the first letter of the user transfer secret through a peripheral device;
B) moving the number arranged in the second line of the secret puzzle script corresponding to the first number of the user's transfer password so that the transfer secret is located in the same column as the clicked code number or code letter using a peripheral device; ;
C) clicking a code number or code character arranged in the third line of the secret puzzle script corresponding to the second character of the user transfer secret through a peripheral device;
D) shifting the number arranged in the fourth line of the secret puzzle script corresponding to the second number of the user's transfer password so that the transfer secret is located in the same column as the clicked code number or code letter using a peripheral device; step; And
And e) repeating steps a) and d) as many times as the number of digits of the transfer secret and the transfer password.
제1항에 있어서,
상기 제4단계는,
사용자 이체 비밀 번호의 첫 숫자에 상응하는 상기 비밀퍼즐 스크립트의 제1행에 배열된 숫자를 이동 또는 입력하는 f)단계;
인증 서버로부터 전송된 승인 번호의 첫 숫자 또는 첫 문자에 상응하는 상기 비밀퍼즐 스크립트의 제2행에 배열된 숫자 또는 문자를 상기 입력되는 숫자 또는 문자는 상기 이체 비밀번호의 첫 숫자와 동일 열에 위치하도록 이동시키는 g)단계;
사용자 이체 비밀 번호의 두 번째 숫자에 상응하는 상기 비밀퍼즐 스크립트의 제3행에 배열된 숫자를 이동 또는 입력하는 h)단계;
인증 서버로부터 전송된 승인 번호의 첫 숫자 또는 첫 문자에 상응하는 상기 비밀퍼즐 스크립트의 제4행에 배열된 숫자 또는 문자를 상기 입력되는 숫자 또는 문자는 상기 이체 비밀번호의 첫 숫자와 동일 열에 위치하도록 이동시키는 i)단계; 및
상기 이체 비밀 번호의 자리수와 동일하게 상기 f) 및 i) 단계를 반복하는 j)단계를 포함하는 비밀퍼즐을 이용한 승인 방법.
The method of claim 1,
In the fourth step,
F) moving or inputting the numbers arranged in the first line of the secret puzzle script corresponding to the first number of the user transfer password;
The input number or letter is arranged in the same column as the first number of the transfer password, the number or letter arranged in the second line of the secret puzzle script corresponding to the first number or first letter of the authorization number sent from the authentication server. G) to make;
H) moving or entering the numbers arranged in the third line of the secret puzzle script corresponding to the second number of the user transfer password;
The input numbers or letters are arranged in the same column as the first digit of the transfer password by moving the number or letter arranged in the fourth line of the secret puzzle script corresponding to the first number or first letter of the authorization number sent from the authentication server. I) to make; And
Authorization method using a secret puzzle comprising the step j) repeating the steps f) and i) equal to the number of digits of the transfer password.
제2항에 있어서,
상기 g)단계는,
상기 제1 비밀퍼즐 스크립트의 제2행에 배열된 숫자를 선택하여 상기 제2행의 양쪽 끝에 표시된 방향으로 움직여 상기 제1행의 이체 비밀이 클릭된 코드 문자 위치와 동일한 열로 움직이도록 하는 단계인 것을 특징으로 하는 비밀퍼즐을 이용한 승인 방법.
The method of claim 2,
Step g),
Selecting a number arranged in the second row of the first secret puzzle script and moving the number in the direction indicated at both ends of the second row so that the transfer secret of the first row moves in the same column as the clicked code character position. Authorization method using a secret puzzle characterized in that.
제2항에 있어서,
상기 i)단계는,
상기 비밀 퍼즐 스크립트의 제4행에 배열된 숫자를 선택하여 상기 제4행의 양쪽 끝에 표시된 방향으로 움직여 상기 제3행의 이체 비밀이 클릭된 코드 문자 위치와 동일한 열로 움직이도록 수행하는 단계인 것을 특징으로 하는 비밀퍼즐을 이용한 승인 방법.
The method of claim 2,
Step i),
Selecting the numbers arranged in the fourth row of the secret puzzle script and moving them in the directions indicated at both ends of the fourth row so that the transfer secrets of the third row move in the same column as the clicked code character position. Approval method using secret puzzle.
제3항에 있어서,
상기 g)단계는,
상기 제2 비밀퍼즐 스크립트의 제2행에 배열된 숫자 또는 문자를 선택하여 상기 제2행의 양쪽 끝에 표시된 방향으로 움직여 상기 제1행의 이체 비밀번호가 입력된 숫자의 위치와 동일한 열로 움직이도록 하는 단계인 것을 특징으로 하는 비밀퍼즐을 이용한 승인 방법.
The method of claim 3,
Step g),
Selecting the numbers or letters arranged in the second line of the second secret puzzle script in the direction indicated at both ends of the second line so that the transfer password of the first line moves in the same column as the position of the input number; Approval method using a secret puzzle, characterized in that the.
제3항에 있어서,
상기 i)단계는,
상기 제2 비밀 퍼즐 스크립트의 제4행에 배열된 숫자 또는 문자를 선택하여 상기 제4행의 양쪽 끝에 표시된 방향으로 움직여 상기 제3행의 이체 비밀번호가 입력된 숫자의 위치와 동일한 열로 움직이도록 수행하는 단계인 것을 특징으로 하는 비밀퍼즐을 이용한 승인 방법.
The method of claim 3,
Step i),
Selecting the numbers or letters arranged in the fourth row of the second secret puzzle script in the direction indicated at both ends of the fourth row to move the transfer password of the third row to the same column as the position of the entered number; Approval method using a secret puzzle, characterized in that step.
제3항에 있어서,
상기 g)단계와 상기 i)단계는,
상기 제1 비밀 퍼즐 스크립트 상에서 배열된 상기 이체 비밀 번호 문자에 상응하는 숫자를 선택하여 서버에서 지시한 방향으로 승인 번호의 숫자를 움직이도록 수행하는 것을 특징으로 다양한 비밀퍼즐을 이용한 승인 방법.
The method of claim 3,
Step g) and step i),
And selecting a number corresponding to the transfer password character arranged on the first secret puzzle script to move the number of the approval number in the direction indicated by the server.
제1항에 있어서,
상기 이체 비밀은,
상기 사용자의 수신자명, 전화번호, 휴대폰 번호, 주소, 회사, 나이, 수신자 이미지로 나타낼 수 있는 것을 특징으로 하는 다양한 비밀퍼즐을 이용한 승인 방법.
The method of claim 1,
The transfer secret,
Authorization method using a variety of secret puzzle, characterized in that the user's name, phone number, mobile phone number, address, company, age, can be represented by the recipient image.
제1항에 있어서,
상기 제1 비밀퍼즐 스크립트 및 제2 비밀퍼즐 스크립트는,
보안 등급에 따라 추가 더미 스크립트를 포함하는 것을 특징으로 하는 다양한 비밀퍼즐을 이용한 승인 방법.
The method of claim 1,
The first secret puzzle script and the second secret puzzle script,
Authorization method using a variety of secret puzzle, characterized in that it includes an additional dummy script according to the security level.
KR1020100108196A 2010-11-02 2010-11-02 Confirmation method using variable secret puzzle KR101170822B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100108196A KR101170822B1 (en) 2010-11-02 2010-11-02 Confirmation method using variable secret puzzle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100108196A KR101170822B1 (en) 2010-11-02 2010-11-02 Confirmation method using variable secret puzzle

Publications (2)

Publication Number Publication Date
KR20120046508A true KR20120046508A (en) 2012-05-10
KR101170822B1 KR101170822B1 (en) 2012-08-02

Family

ID=46265585

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100108196A KR101170822B1 (en) 2010-11-02 2010-11-02 Confirmation method using variable secret puzzle

Country Status (1)

Country Link
KR (1) KR101170822B1 (en)

Also Published As

Publication number Publication date
KR101170822B1 (en) 2012-08-02

Similar Documents

Publication Publication Date Title
US20200252797A1 (en) System and method for dynamic multifactor authentication
JP5330567B2 (en) Computer-implemented authentication interface system
US8931060B2 (en) System for two way authentication
JP5153327B2 (en) Online data encryption and decryption
US7770002B2 (en) Multi-factor authentication
KR101381789B1 (en) Method for web service user authentication
US20080184363A1 (en) Coordinate Based Computer Authentication System and Methods
CN101286848A (en) Login authentication method and login signature procedure
Almuairfi et al. IPAS: implicit password authentication system
Khedr Improved keylogging and shoulder-surfing resistant visual two-factor authentication protocol
US8874912B2 (en) Systems and methods for securely transferring personal identifiers
KR101170822B1 (en) Confirmation method using variable secret puzzle
KR101205391B1 (en) Method for inputting confirmation number using secret puzzle
CN107169341A (en) Picture password generation method and picture password generating means
LIM Multi-grid background Pass-Go
Wells et al. Enhanced Security for Preventing Man-in-the-Middle Attacks in Authentication, DataEntry and Transaction Verification
Divya et al. Visual authentication using QR code to prevent keylogging
KR20080109580A (en) Server certification system and method thereof
Neenu On screen randomized blank keyboard
EP4231219A1 (en) Authenticating a transaction
Rani et al. A Novel Session Password Security Technique using Textual Color and Images
Liou Performance measures for evaluating the dynamic authentication techniques
Behl et al. Multi-level scalable textual-graphical password authentication scheme for web based applications
EP4231178A1 (en) Synthetic biometrics for user privacy
Arokiasamy et al. Image steganography for increasing security of OTP authentication

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: 20150626

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160602

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee