KR20190027572A - Method for generating One-Time Password - Google Patents

Method for generating One-Time Password Download PDF

Info

Publication number
KR20190027572A
KR20190027572A KR1020170114513A KR20170114513A KR20190027572A KR 20190027572 A KR20190027572 A KR 20190027572A KR 1020170114513 A KR1020170114513 A KR 1020170114513A KR 20170114513 A KR20170114513 A KR 20170114513A KR 20190027572 A KR20190027572 A KR 20190027572A
Authority
KR
South Korea
Prior art keywords
time
seed value
otp
generating
function
Prior art date
Application number
KR1020170114513A
Other languages
Korean (ko)
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 KR1020170114513A priority Critical patent/KR20190027572A/en
Publication of KR20190027572A publication Critical patent/KR20190027572A/en

Links

Images

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Abstract

Provided is a method for generating a one-time password that prevents an unauthorized use of OTP by providing a method to dynamically change the seed value so that a seed value can not be returned to the past through time manipulation. The provided method is a method for generating, in a terminal, a i^th (i is same or bigger than one) one-time password comprising the steps of: generating a i^th seed value through an arithmetic f-function based on a time at which a i^th one-time password is generated, a time at which a previous one-time password was generated, and a seed value at which the previous one-time password was generated; and generating a i^th one-time password from the i^th seed value, wherein the arithmetic f-function consists of a monotone function with properties of monotone increasing or monotone decreasing.

Description

일회용 비밀번호 생성방법{Method for generating One-Time Password}How to Generate a One-Time Password {Method for generating One-Time Password}

본 발명은 일회용 비밀번호 생성방법에 관한 것으로, 보다 상세하게는 보안 시스템 등에 사용되는 일회용 비밀번호(One-Time Password)를 생성하는 방법에 관한 것이다.The present invention relates to a method of generating a one-time password, and more particularly, to a method of generating a one-time password used in a security system or the like.

일회용 비밀번호(One-Time Password; OTP)는 동일한 패스워드가 반복해서 재사용됨으로써 발생할 수 있는 패스워드 도난 문제를 예방하기 위한 것이다. One-Time Password (OTP) is intended to prevent password stealing problems that can occur as a result of repeated reuse of the same password.

이러한 일회용 비밀번호(OTP)를 생성하는 방법으로는 질의/응답 방식, 시각동기 방식, 이벤트 동기 방식 등과 같이 다양한 방법이 알려져 있다. Various methods such as a query / response method, a time synchronization method, an event synchronization method, and the like are known as methods for generating the one-time password (OTP).

질의/응답 방식의 경우 가장 보안성이 높고 효과적이지만, OTP를 생성하는 단말과 검증하는 서버간에 통신이 되어야 하는 환경에서만 동작하므로 폐쇄망에서는 사용하기 어려운 단점이 있다. 또한, 그렇지 않을 경우도 미리 질의값을 입력하여 OTP를 생성해보는 취약점이 있다. The query / response method is the most secure and effective, but it only works in an environment where communication between the terminal generating the OTP and the server to be verified must be performed, which makes it difficult to use in the closed network. Also, if not, there is a vulnerability to generate OTP by inputting the query value in advance.

통상은 시각 동기 방식이나 이벤트 동기 방식이 주로 사용되는데, 이벤트 동기 방식의 경우 이벤트 조작이 너무 쉬어 단독으로 사용되기 보다는 일반적으로 시각 동기 방식과 함께 사용하고 있다.Usually, the time synchronous method or the event synchronous method is mainly used. In the case of the event synchronous method, event manipulation is too slow and is generally used together with the time synchronous method rather than alone.

한편, 시각 동기 방식의 경우 단말과 서버간에 시드값을 공유한 후 시각에 의해 동기화하면서 단말과 서버가 OTP를 각각 생성 및 비교하는 방식으로 그 유효성을 검증한다. 이러한 시각 동기 방식은 동기화 요소인 시각을 조작할 경우 OTP가 사전에 유출되는 문제가 있음은 널리 알려져 있다. 이러한 문제로 인해, 모바일(스마트폰)을 단말로 사용하는 모바일(스마트폰) OTP의 경우 보안성이 취약하다는 문제를 항상 내포한다고 할 수 있다. On the other hand, in the case of the time synchronization method, the seed value is shared between the terminal and the server, and the terminal and the server verify and validate the generated OTP by synchronizing with the time, respectively. It is widely known that such a time synchronization method has a problem that OTP is leaked in advance when the synchronization element, the time, is manipulated. Due to these problems, mobile (smartphone) OTP that uses mobile (smart phone) as a terminal always has a problem of poor security.

이러한 취약성을 공격 지점으로 삼을 경우를 가정해 보면 다음과 같은 문제가 발생된다. 모바일(스마트폰)의 시각을 예를 들어 7일 이후로 변경하여 OTP를 생성한 후에 제3자 공범에게 알려주고, 자신은 다시 현재시각으로 변경하여 업무를 계속 진행한다. 이후, 7일째 되는 시점에 자신의 알리바이를 만들고 제3자 공범이 이미 받은 OTP를 이용하여 범행할 경우 자신은 범죄에서 피해갈 수 있는 문제가 발생한다.Assuming this vulnerability is used as an attack point, the following problems arise. After changing the view of mobile (smartphone) to 7 days or later, for example, the OTP is generated and notified to the third party accomplice. After that, if you create your own alibi on the 7th day and you commit the crime using the OTP already received by the third party co-worker, you can get rid of the crime.

선행기술 1 : 대한민국 등록특허 제10-1316605호(N-BOX를 이용한 암호 알고리즘의 일회용 패스워드 생성방법)Prior Art 1: Korean Patent No. 10-1316605 (Method of Generating Disposable Password of Cryptographic Algorithm Using N-BOX) 선행기술 2 : 대한민국 공개특허 제10-2011-0054701호(그래픽 모바일 OTP 생성 및 인증 시스템 및 방법)Prior Art 2: Korean Patent Publication No. 10-2011-0054701 (Graphic Mobile OTP generation and authentication system and method) 선행기술 3 : 대한민국 등록특허 제10-1268289호(음성을 이용한 OTP 키 생성모듈과 생성방법 및 이를 이용한 통신기기)Prior Art 3: Korean Patent Registration No. 10-1268289 (OTP key generation module using voice, method of generating and communication device using the same) 선행기술 4 : 대한민국 등록특허 제10-1671463호(OTP 생성 및 인증 시스템, 및 이를 이용한 OTP 생성 및 인증 방법)Prior Art 4: Korean Patent No. 10-1671463 (OTP generation and authentication system, and OTP generation and authentication method using the same)

본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 시각 조작을 통해서는 과거로 되돌릴 수 없도록 시드값을 동적으로 변경하는 방법을 제공하여 OTP가 부정하게 사용되는 것을 방지하도록 하는 일회용 비밀번호 생성방법을 제공함에 그 목적이 있다.Disclosure of Invention Technical Problem [8] The present invention has been proposed in order to solve the above-mentioned problems of the related art, and it is an object of the present invention to provide a method of dynamically changing a seed value, The present invention has been made in view of the above problems.

상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 일회용 비밀번호 생성방법은, 단말에서 i(i>=1)번째 일회용 비밀번호를 생성하는 방법으로서, 상기 i번째 일회용 비밀번호를 생성하는 시각과 직전의 일회용 비밀번호를 생성했던 시각 및 직전의 일회용 비밀번호를 생성했던 시드값을 근거로 하는 연산 f함수를 통해 i번째 시드값을 생성하는 단계; 및 상기 i번째 시드값으로부터 상기 i번째 일회용 비밀번호를 생성하는 단계;를 포함하고, 상기 연산 f함수는 단조 증가 또는 단조 감소의 성질을 가지는 단조 함수로 구성된다.According to another aspect of the present invention, there is provided a method of generating a disposable password in a terminal, the method comprising the steps of: generating i-th one- Generating an i-th seed value through a computation f-function based on a time at which the previous one-time password was generated and a seed value at which the one-time password was generated; And generating the i-th disposable secret code from the i-th seed value, wherein the calculation f-function comprises a monotone function having monotone increasing or monotonic decreasing properties.

상기 i번째 시드값을 생성한 이후에는 상기 직전의 시드값과 상기 직전의 일회용 비밀번호를 생성했던 시각을 삭제하고 상기 i번째 시드값 및 시각을 저장하는 단계;를 추가로 포함하여도 된다.And after the generation of the i-th seed value, deleting the time at which the immediately preceding seed value and the immediately preceding one-time password were generated, and storing the i-th seed value and time.

한편, 본 발명의 다른 실시양태에 따른 일회용 비밀번호 생성방법은, 단말에서 i(i>=1)번째 일회용 비밀번호를 생성하는 방법으로서, 서버로부터의 질의를 수신하는 단계; 상기 질의에 대한 응답값을 사용자로부터 입력받는 단계; 상기 i번째 일회용 비밀번호를 생성하는 시각과 직전의 일회용 비밀번호를 생성했던 시각 및 직전의 일회용 비밀번호를 생성했던 시드값을 근거로 하는 연산 f함수를 통해 i번째 시드값을 생성하는 단계; 및 상기 i번째 시드값 및 상기 응답값으로부터 상기 i번째 일회용 비밀번호를 생성하는 단계;를 포함하고, 상기 연산 f함수는 단조 증가 또는 단조 감소의 성질을 가지는 단조 함수로 구성된다.Meanwhile, a method of generating a one-time password according to another embodiment of the present invention is a method of generating i (i> = 1) th one-time password at a terminal, comprising: receiving a query from a server; Receiving a response value for the query from a user; Generating an i-th seed value through a computation f-function based on a time at which the i-th one-time password is generated, a time at which the one-time password was generated at the immediately preceding time, and a seed value at which the one-time password was generated; And generating the i-th disposable secret code from the i-th seed value and the response value, wherein the calculation f-function comprises a monotone function having monotone increasing or monotone decreasing properties.

이러한 구성의 본 발명에 따르면, 단말에서의 시각 조작은 미래로만 가능할 뿐 과거로 돌리지는 못한다. According to the present invention having such a configuration, the time manipulation in the terminal is possible only in the future but not in the past.

이미 미래로 조작한 시각을 그 이전으로 되돌릴 경우 OTP는 동작하지 않게(서버에서 검증 실패)된다. If the time already manipulated in the future is returned to the previous time, the OTP will not operate (verification fails in the server).

통상의 범죄가 단독으로 이루어지기보다는 제3의 공범과 함께 이루어지는데, 이때 필요한 것이 알리바이이다. 시각을 과거로 돌리지 못하게 함으로써 당사자가 알리바이를 형성하지 못하도록 하여 OTP를 부정적(예컨대, 범죄 등)으로 사용하지 못하게 한다. 특히, 시각 조작이 상대적으로 용이한 모바일(스마트폰)을 OTP단말로 좀 더 범용적으로 사용할 수 있게 하는 효과가 있다. The usual crime is done with the third partner rather than alone, and the alibi is necessary. By not letting the time be turned to the past, it prevents the party from forming an alibi, preventing the OTP from being used negatively (for example, as a crime). In particular, there is an effect that a mobile (smart phone) having a relatively easy visual operation can be used more universally as an OTP terminal.

또한, 본 발명에 따라 질의에 대한 응답값을 추가로 입력하는 경우는 모든 응답값을 입력하여 미리 OTP를 계산하기 위해서는 계속 흘러가는 시간을 역으로 돌리면서 처리해야 하는데, 이 경우에도 시간을 되돌리는 문제로 인해 정상적인 OTP가 생성되지 못하게 되어 OTP를 부정적인 용도로 사용할 수 없게 된다.In addition, in the case of inputting a response value for a query according to the present invention, in order to calculate OTP in advance, all response values must be inputted, and the processing time must be reversed and processed. In this case, The problem is that the normal OTP is not generated and the OTP can not be used for a negative purpose.

도 1은 본 발명의 실시예에 따른 일회용 비밀번호 생성방법을 설명하기 위한 플로우차트이다.
도 2는 도 1의 플로우차트 설명에 채용되는 단말내의 구성도이다.
도 3은 도 1의 플로우차트 설명에 채용되는 그래프이다.
도 4는 본 발명의 다른 실시예에 따른 일회용 비밀번호 생성방법을 설명하기 위한 플로우차트이다.
1 is a flowchart illustrating a method of generating a disposable password according to an embodiment of the present invention.
2 is a block diagram of the terminal employed in the flowchart of FIG.
3 is a graph employed in the flowchart of FIG.
4 is a flowchart illustrating a method of generating a disposable password according to another embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

(본 발명의 실시예 설명)(Explanation of Examples of the Present Invention)

본 발명의 실시예에 따른 일회용 비밀번호 생성방법은 단말(도시 생략)에서 행해진다. 단말은 최초 시드값 S0 및 최초 시각 T0를 단말(도시 생략)와 공유한다. A method of generating a one-time password according to an embodiment of the present invention is performed in a terminal (not shown). UE share the first seed value S 0 and the first time T 0 and the terminal (not shown).

예를 들어, 단말은 휴대용 단말기 또는 휴대용 컴퓨터로 구현될 수 있다. 여기서, 휴대용 단말기는 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 휴대용 컴퓨터는 노트북, 랩톱(laptop) 등을 포함할 수 있다. 또한, 단말은 스마트폰, 스마트 노트, 태블릿 PC, 웨어러블(wearable) 컴퓨터 등의 각종 스마트 기기일 수도 있다.For example, the terminal may be implemented as a portable terminal or a portable computer. Here, the portable terminal is a wireless communication device that is guaranteed to be portable and mobility, and can be used as a personal communication system (PCS), a global system for mobile communications (GSM), a personal digital cellular (PDC), a personal handyphone system (PHS) Handheld devices such as a handheld device, an assistant, an IMT (International Mobile Telecommunication) -2000, a Code Division Multiple Access (CDMA) -2000, a W-CDMA ) Based wireless communication devices. The portable computer may include a notebook, a laptop, and the like. In addition, the terminal may be a smart device such as a smart phone, a smart note, a tablet PC, a wearable computer, or the like.

이와 같이 본 발명의 실시예는 서버(도시 생략)와 최초 시드값 S0 및 최초 시각 T0를 공유한 단말(도시 생략)의 OTP 생성 프로그램에서 OTP를 생성하는 방법으로서, 이하에서는 i(i>=1)번째 OTP를 생성하는 경우를 가정하여 설명한다.As described above, the embodiment of the present invention is a method for generating an OTP in an OTP generation program of a terminal (not shown) sharing a first seed value S 0 and an initial time T 0 with a server (not shown) = 1) th OTP is generated.

본 발명의 실시예에 따른 일회용 비밀번호 생성방법은, i번째 OTP를 생성하는 시각 Ti와 직전 OTP(즉, OTPi-1)를 생성했던 시각 Ti -1 및 직전 OTP(즉, OTPi-1)를 생성했던 시드값 Si -1을 근거로 하는 연산 f(Si -1, Ti, Ti -1) 함수를 통해 i번째 시드값 Si를 생성하는 단계; 및 i번째 시드값 Si로부터 i번째 OTP를 생성하는 단계;를 포함한다.One-time password generation according to an embodiment of the present invention, at the time that created the i-th time T i for generating the OTP OTP just before (i.e., OTP i-1) T i -1 and just before the OTP (i.e., OTP i- 1 ) th seed value S i through a function f (S i -1 , T i , T i -1 ) based on the seed value S i -1 that has generated the seed value S i -1 ; And generating an i-th OTP from the i-th seed value S i .

이때, 연산 f함수는 단조 증가 또는 단조 감소의 성질을 가지는 단조 함수(monotonic function)로 구성됨이 바람직하다.At this time, it is preferable that the calculation f function is composed of a monotonic function having the property of monotonous increase or monotonic decrease.

또한, i번째 시드값 Si를 생성한 이후에는, 단말은 직전 시드값 Si -1과 직전 OTP를 생성했던 시각 Ti -1을 삭제하고 i번째 시드값 Si 및 시각 Ti를 저장하는 것이 바람직하다.After generating the i-th seed value S i , the terminal deletes the immediate seed value S i -1 and the time T i -1 at which the immediately-preceding OTP was generated, and stores the i-th seed value S i and the time T i .

이하에서는 본 발명의 실시예에 대해 도면을 참조하여 보다 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 실시예에 따른 일회용 비밀번호 생성방법을 설명하기 위한 플로우차트이고, 도 2는 도 1의 플로우차트 설명에 채용되는 단말내의 구성도이고, 도 3은 도 1의 플로우차트 설명에 채용되는 그래프이다.FIG. 1 is a flowchart for explaining a method of generating a one-time password according to an embodiment of the present invention, FIG. 2 is a configuration diagram within a terminal employed in the flowchart of FIG. 1, It is a graph employed.

i(i>=1)번째 OTP를 생성하기 위해서는, 먼저 i번째 시드값 Si를 생성하여야 한다. In order to generate i (i> = 1) th OTP, i-th seed value S i should be generated first.

이를 위해서, 본 발명의 실시예는 i번째 OTP를 생성하는 시각 Ti와 직전 OTP(즉, OTPi - 1)를 생성했던 시각 Ti -1 및 직전 OTP(즉, OTPi-1)를 생성했던 시드값 Si -1을 근거로 하는 연산 f(Si -1, Ti, Ti -1) 함수를 통해 i번째 시드값 Si를 생성한다(S10). 이때, 연산 f함수는 단조 증가 또는 단조 감소의 성질을 가지는 단조 함수(monotonic function)로 구성된다.To this end, the embodiment just before the i-th time T i and generating the OTP OTP of the present invention generates a time T i which generate (i. E., OTP i 1) -1 and just before the OTP (i.e., OTP i-1) seed value to generate the i-th seed value S i by the operation f (S i -1, T i , T i -1) function that the S i -1 based on (S10) did. At this time, the arithmetic f-function is composed of monotonic functions having monotone increasing or monotonic decreasing properties.

상술한 단계 S10을 보다 구체적으로 설명하면 다음과 같다.The above-described step S10 will be described in more detail as follows.

모든 이진 데이터는 숫자로 표현될 수 있다. 이해를 쉽게 하기 위해 시드값이나 시각을 단순한 숫자로 표현한다. All binary data can be represented by numbers. For ease of understanding, the seed value or time is represented by a simple number.

초기 시드값 S0가 1000이고, 최초 시각 T0를 10이라고 가정한다. It is assumed that the initial seed value S 0 is 1000 and the initial time T 0 is 10.

시간이 30만큼 지난 시점의 시각 T1은 40이 될 것이다. 여기서, 수학적 연산이 적용되는 함수 f = Si -1 + |Ti - Ti -1|로 정의( |a| = a의 절대값)하면, f함수는 단조 증가 함수가 되고, S1 = 1000 + |40 - 10| = 1030 이 된다. The time T 1 at the time when the time has passed by 30 will be 40. Here, the mathematical operation is a function that applies f = S i -1 + | - | defined by T i T i -1 if (| | a = the absolute value of a), the function f is a monotonically increasing function, S 1 = 1000 + | 40 - 10 | = 1030.

이후, 사용자가 시각을 조작하여 -10만큼 되돌린다고 가정하자. 원래 -10만큼 되돌린 시각은 T0보다 20이 증가하여 30이 된다. 그에 따라, S2 = 1000 + |30-10| = 1020이 되어야 정상일 것이다. Hereinafter, it is assumed that the user manipulates the time and reverts to -10. The time of returning by -10 from the original is increased by 20 from T 0 to 30. Accordingly, S 2 = 1000 + | 30 - 10 | = 1020 should be normal.

하지만, 본 발명의 실시예에서는 S2의 값을 구할 경우 바로 직전에 생성된 시드값 S1 및 시각 T1을 이용하므로, S2 = 1030 + |30-40| = 1040이 되어 비정상적인 시드값이 된다. 결국, 사용자가 시각을 조작하여 되돌리게 되면 비정상적인 시드값을 얻게 된다. 만일, 연산 f함수를 f = Si -1 + (Ti - Ti - 1)과 같이 사용하면 앞서의 S2 = 1030 + (30-40) = 1020이 되어 시간을 되돌려도 정상적인 시드값을 생성하게 된다. 본 발명의 실시예에서, 연산 f함수가 단조 증가 함수 또는 단조 감소 함수가 되어야 하는 이유는 시각을 되돌렸을 경우 정상적인 시드값을 생성할 수 없게 하기 위함이다.However, in the embodiment of the present invention, when the value of S 2 is used, since the seed value S 1 and time T 1 generated immediately before are used, S 2 = 1030 + | 30-40 | = 1040, resulting in an abnormal seed value. As a result, when the user manipulates and manipulates the time, an abnormal seed value is obtained. If, the operational function f = f S i -1 + a (T i - 1 - T i ) of the above when used with S 2 = 1030 + (30-40) = 1020 is the return to normal time is also the seed value Respectively. In the embodiment of the present invention, the reason why the arithmetic f-function is a monotone increasing function or a monotone decreasing function is to make it impossible to generate a normal seed value when the time is reversed.

다시 말해서, 본 발명의 실시예에서는 사용자가 시각을 조작하여 과거로 되돌리게 되면 비정상적인 시드값이 생성되도록 하기 위해, 연산 함수 f = Si -1 + |Ti - Ti -1|와 같은 단조 증가 함수 또는 단조 감소 함수를 사용한다. 도 2에서, 참조부호 10은 시드값 생성부이다. 도 2에서와 같이 시드값 생성부(10)는 현재의 시드값을 구하고자 하는 경우 바로 직전의 시드값 및 시각을 함수 f = Si -1 + |Ti - Ti -1|와 같은 단조 증가 함수 또는 단조 감소 함수를 통해 현재의 시드값을 구한다. In other words, in the embodiment of the present invention, in order to generate an abnormal seed value when the user manipulates the time and returns to the past, a calculation function f = S i -1 + | T i - T i -1 | Increment function or monotone decreasing function is used. In Fig. 2, reference numeral 10 denotes a seed value generator. As shown in FIG. 2, the seed value generator 10 calculates a seed value and a time immediately before the current seed value is to be obtained by dividing the seed value and the time immediately before the current seed value into a single value such as a function f = S i -1 + | T i - T i -1 | The current seed value is obtained through an increasing function or a monotone decreasing function.

그리고 나서, 단말은 단조 증가 또는 단조 감소의 성질을 가지는 단조 함수를 통해 생성한 현재의 시드값 및 시각을 저장한다. 후속의 시드값을 정상적으로 생성하기 위해서는 갱신된 시드값을 알아야 하기 때문이다. 즉, 단말은 i번째 시드값 Si 을 생성하였을 경우 직전 시드값 Si -1 및 Ti -1을 삭제하고, i번째 시드값 Si 및 시각 Ti를 메모리(도시 생략)에 저장한다. 도 2에서, 예를 들어 시드값 S1을 구하였다면 직전의 시드값 S0 및 T0를 삭제하고, 시드값 S1 및 T1을 저장한다.Then, the terminal stores the current seed value and time generated by the monotone function having the property of forging increase or forging reduction. This is because it is necessary to know the updated seed value in order to generate the succeeding seed value normally. That is, when the i-th seed value S i is generated, the terminal deletes the immediately preceding seed values S i -1 and T i -1 , and stores the i-th seed value S i and the time T i in a memory (not shown). In FIG. 2, for example, if the seed value S 1 is obtained, the immediately preceding seed values S 0 and T 0 are deleted, and the seed values S 1 and T 1 are stored.

한편, 상기의 절대값 연산 외에도 제곱식((Ti - Ti - 1)2) 등과 같이 단조 증가 또는 단조 감소되는 함수는 다양하게 존재할 수 있다.In addition to the above absolute value calculation, there are various functions that are monotone increasing or monotone reducing such as a square expression (( Ti - Ti - 1 ) 2 ).

한편, 시드값 Si 는 초기 시드값 S0를 유지한 상태에서, 시각의 차이만큼이 누적된 변화분 (∑i>=1|Ti -Ti -1|)을 포함한 형태로 표현될 수도 있다. 즉, Si = S0 + (∑i>=1|Ti -Ti -1|) 의 형태일 수 있다. 이때에는, Si 대신에 S0 와 누적분(∑i>=1|Ti -Ti-1|)을 저장하는 형식을 취할 수도 있다.On the other hand, the seed value S i may be expressed in a form including the cumulative change (Σ i> = 1 | T i -T i -1 |) by the time difference while maintaining the initial seed value S 0 have. That is, it may be in the form of S i = S 0 + (Σ i> = 1 | T i -T i -1 |). At this time, S 0 and the cumulative minute in place of S i (Σ i> = 1 | T i -T i-1 |) may take the form of a store.

이와 같이 i번째 시드값 Si를 생성한 이후에는, 생성한 i번째 시드값 Si로부터 i(i>=1)번째 OTP를 생성하게 된다(S20). 도 2에서, 참조부호 20은 OTP 생성 함수부이다. OTP 생성 함수부(20)는 해쉬 함수 또는 대칭키 암호 함수 등과 같이 이미 다양하게 알려진 OTP생성 함수를 사용할 수 있다. 결국, 생성한 i번째 시드값 Si로부터 i(i>=1)번째 OTP를 생성하기 위해서는 생성한 i번째 시드값 Si을 OTP 생성 함수부(20)에 입력한다. 그에 따라, OTP 생성 함수부(20)는 i번째 시드값 Si 및 OTP생성 함수를 근거로 i(i>=1)번째 OTP를 생성하게 된다.Thus, the i-th seed value is generated after the S i, and generates the i (i> = 1) th from the OTP generated by the i-th seed value S i (S20). 2, reference numeral 20 denotes an OTP generation function unit. The OTP generation function unit 20 can use various known OTP generation functions such as a hash function or a symmetric key encryption function. After all, in order to produce a i (i> = 1) th from the OTP generated by the i-th seed value S i and inputs the generated seed value S i i-th to the OTP generation function unit 20. The Accordingly, the OTP generation function unit 20 generates i (i> = 1) OTP based on the i-th seed value S i and the OTP generation function.

그런데, 앞서 설명하였듯이 사용자가 시각을 조작하여 되돌리게 되면 비정상적인 시드값을 얻게 되므로, 이러한 비정상적인 시드값을 근거로 i번째 OTP를 생성하고자 하는 경우에는 비정상적인 OTP를 얻게 될 것이다. 그에 따라, 이러한 비정상적인 i번째 OTP를 서버(도시 생략)에게로 전송하게 되면 서버에서는 검증 실패를 할 것이다. However, as described above, if the user manipulates the time and returns the abnormal seed value, an abnormal OTP will be obtained if the i-th OTP is generated based on the abnormal seed value. Accordingly, if the abnormal i-th OTP is transmitted to the server (not shown), the server will fail verification.

기하학적으로, 단조 증가 함수의 그래프는 도 3의 (a)와 같이 왼쪽에서 오른쪽으로 줄곧 상승하는 형태이고, 단조 감소 함수의 그래프는 도 3의 (b)와 같이 왼쪽에서 오른쪽으로 줄곧 하강하는 형태일 것이다. 그런데, 단조 증가 함수 및 단조 감소 함수를 제외한 함수의 그래프의 일예는 도 3의 (c)와 같은 형태일 수 있다. 도 3에서, T는 시각을 나타내고, S는 시드값을 나타낸다. 도 3의 (a) 및 (b)에서는 어느 정도의 시간이 경과하더라도 해당 시간동안 동일한 시각이 존재하지 않게 된다. 이에 반해, 도 3의 (c)를 보면 각각의 시각의 지점 P1, P2, P3, P4(P1, P2, P3, P4는 동일 수평선상에 존재하는 것으로 가정함)이 서로 다르지만 시드값(S)이 같아지는 지점이 생긴다. 즉, 도 3의 (c)와 같은 형태의 함수를 채용하게 되면 사용자가 시각을 과거로 되돌리는 경우 동일한 시각으로 조작할 수도 있으므로 OTP를 부정되게 생성할 수 있다. 그러나, 도 3의 (a) 또는 (b)와 같은 단조 증가 함수 또는 단조 감소 함수를 사용하게 되면 사용자가 시각을 과거로 되돌리더라도 동일한 시각으로 조작할 수 없으므로 OTP를 부정되게 생성할 수 없게 된다.As shown in FIG. 3 (a), the graph of the monotone increasing function is geometrically ascending from left to right as shown in FIG. 3 (a), and the graph of the monotone decreasing function is the form of falling from left to right as shown in FIG. will be. However, an example of a graph of a function excluding the monotone increasing function and the monotone decreasing function may be the same as that of FIG. 3 (c). 3, T represents time, and S represents a seed value. In FIGS. 3 (a) and 3 (b), the same time does not exist during the relevant time even if a certain amount of time elapses. 3 (c), the seed values S are different from each other at points P1, P2, P3, and P4 (assuming P1, P2, P3, and P4 exist on the same horizontal line) There is a point where this happens. In other words, if the function of the form as shown in FIG. 3 (c) is employed, the user can operate the same time when the time is returned to the past, so that the OTP can be generated irregularly. However, if the monotone increasing function or the monotone decreasing function as shown in FIG. 3 (a) or (b) is used, the user can not manipulate the time at the same time even if the time is returned to the past, .

상술한 바와 같이 본 발명의 실시예에 따르면, 단조 증가 또는 단조 감소의 성질을 가지는 단조 함수로 구성되는 연산 f함수를 이용하여 i번째 시드값을 생성하고, 그 i번째 시드값을 이용하여 i번째 OTP를 생성한다. 이때, 사용자가 시각을 조작하여 과거로 되돌리게 되면 단조 증가 함수 또는 단조 감소 함수의 성격을 지닌 연산 f함수를 통해 비정상적인 시드값 및 비정상적인 OTP를 얻게 되어 검증에 실패하게 된다. 이를 통해 OTP가 부정하게 사용되는 경우를 방지할 수 있게 된다.As described above, according to an embodiment of the present invention, an i-th seed value is generated using a computational f-function composed of a monotone function having monotone increasing or monotonic decreasing properties, and the i-th seed value is generated using the i- OTP. At this time, if the user manipulates the time and returns to the past, the abnormal fuzzy seed value and the abnormal OTP are obtained through the operation f function having the monotone increasing function or the monotone decreasing function. This makes it possible to prevent an unauthorized use of the OTP.

(본 발명의 다른 실시예 설명)(Explaining another embodiment of the present invention)

본 발명의 다른 실시예에 따른 일회용 비밀번호 생성방법은 단말(도시 생략)에서 행해진다. 단말은 최초 시드값 S0 및 최초 시각 T0를 서버(도시 생략)와 공유한다. A method of generating a one-time password according to another embodiment of the present invention is performed in a terminal (not shown). Terminal is shared with the first seed value S 0 and T 0 the first time server (not shown).

예를 들어, 단말은 휴대용 단말기 또는 휴대용 컴퓨터로 구현될 수 있다. 여기서, 휴대용 단말기는 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 휴대용 컴퓨터는 노트북, 랩톱(laptop) 등을 포함할 수 있다. 또한, 단말은 스마트폰, 스마트 노트, 태블릿 PC, 웨어러블(wearable) 컴퓨터 등의 각종 스마트 기기일 수도 있다.For example, the terminal may be implemented as a portable terminal or a portable computer. Here, the portable terminal is a wireless communication device that is guaranteed to be portable and mobility, and can be used as a personal communication system (PCS), a global system for mobile communications (GSM), a personal digital cellular (PDC), a personal handyphone system (PHS) Handheld devices such as a handheld device, an assistant, an IMT (International Mobile Telecommunication) -2000, a Code Division Multiple Access (CDMA) -2000, a W-CDMA ) Based wireless communication devices. The portable computer may include a notebook, a laptop, and the like. In addition, the terminal may be a smart device such as a smart phone, a smart note, a tablet PC, a wearable computer, or the like.

이와 같이 본 발명의 다른 실시예는 서버(도시 생략)와 최초 시드값 S0 및 최초 시각 T0를 공유한 단말(도시 생략)의 OTP 생성 프로그램에서 OTP를 생성하는 방법으로서, 이하에서는 i(i>=1)번째 OTP를 생성하는 경우를 가정하여 설명한다.As described above, another embodiment of the present invention is a method for generating an OTP in an OTP generation program of a terminal (not shown) sharing a first seed value S 0 and an initial time T 0 with a server (not shown) > = 1) th OTP is generated.

본 발명의 다른 실시예에 따른 일회용 비밀번호 생성방법은, 서버(도시 생략)로부터의 질의를 수신하는 단계; 질의에 대한 응답값을 사용자로부터 입력받는 단계; i번째 OTP를 생성하는 시각 Ti와 직전 OTP(즉, OTPi-1)를 생성했던 시각 Ti -1 및 직전 OTP(즉, OTPi-1)를 생성했던 시드값 Si -1을 근거로 하는 연산 f(Si -1, Ti, Ti -1) 함수를 통해 i번째 시드값 Si를 생성하는 단계; 및 i번째 시드값 Si 및 응답값으로부터 i번째 OTP를 생성하는 단계;를 포함한다.A method of generating a one-time password according to another embodiment of the present invention includes: receiving a query from a server (not shown); Receiving a response value for a query from a user; time of generating the i-th OTP T i and the immediately preceding OTP (i.e., OTP i-1) which generates a time T i -1 and just before the OTP (i.e., OTP i-1) based on the seed value S i -1 that generated the Generating an i < th > seed value S i through a function f (S i -1 , T i , T i -1 ) And generating an i-th OTP from the i-th seed value S i and the response value.

이때, 연산 f함수는 단조 증가 또는 단조 감소의 성질을 가지는 단조 함수(monotonic function)로 구성됨이 바람직하다.At this time, it is preferable that the calculation f function is composed of a monotonic function having the property of monotonous increase or monotonic decrease.

또한, i번째 시드값 Si를 생성한 이후에는, 단말은 직전 시드값 Si -1과 직전 OTP를 생성했던 시각 Ti -1을 삭제하고 i번째 시드값 Si 및 시각 Ti를 저장하는 것이 바람직하다.After generating the i-th seed value S i , the terminal deletes the immediate seed value S i -1 and the time T i -1 at which the immediately-preceding OTP was generated, and stores the i-th seed value S i and the time T i .

이하에서는 본 발명의 다른 실시예에 대해 도면을 참조하여 보다 상세히 설명한다.Hereinafter, another embodiment of the present invention will be described in detail with reference to the drawings.

도 4는 본 발명의 다른 실시예에 따른 일회용 비밀번호 생성방법을 설명하기 위한 플로우차트이다.4 is a flowchart illustrating a method of generating a disposable password according to another embodiment of the present invention.

먼저, 단말은 서버로부터 소정의 질의를 수신한다(S100). 예를 들어, 질의는 "보안카드에서 1번, 10번에 기재된 값을 각각 입력해 주세요" 등과 같은 요구일 수 있다.First, the terminal receives a predetermined query from the server (S100). For example, the query may be a request such as " Please input each of the values described in the first and ten in the security card ".

그에 따라, 단말은 수신한 질의를 화면에 표시한다(S110). 여기서, 단말은 휴대용 단말기 또는 휴대용 컴퓨터로 구현되거나, 스마트폰, 스마트 노트, 태블릿 PC, 웨어러블(wearable) 컴퓨터 등의 각종 스마트 기기일 수도 있다고 하였으므로, 당연히 질의를 화면표시할 수 있는 표시부(도시 생략)를 갖추고 있을 것이다.Accordingly, the terminal displays the received query on the screen (S110). Since the terminal may be implemented as a portable terminal or a portable computer, or may be a smart device such as a smart phone, a smart note, a tablet PC, a wearable computer, and the like, a display unit (not shown) .

그리고, 사용자는 보안카드에서 1번, 10번에 기재된 값을 확인한 후에 각각 입력한다(S120). 여기서, 사용자가 입력하는 값을 질의에 대한 응답값이라고 할 수 있다. 단말은 사용자로부터의 응답값을 일시 저장한다.Then, the user confirms the values described in No. 1 and No. 10 in the security card, and then inputs them (S120). Here, the value input by the user can be referred to as a response value to the query. The terminal temporarily stores the response value from the user.

그리고 나서, 단말은 현재 시점(예컨대, i번째)의 OTP를 생성하게 된다. Then, the terminal generates an OTP at the present time (e.g., i-th).

i(i>=1)번째 OTP를 생성하기 위해서는, 먼저 i번째 시드값 Si를 생성하여야 한다. In order to generate i (i> = 1) th OTP, i-th seed value S i should be generated first.

이를 위해서, 본 발명의 다른 실시예는 i번째 OTP를 생성하는 시각 Ti와 직전 OTP(즉, OTPi-1)를 생성했던 시각 Ti -1 및 직전 OTP(즉, OTPi-1)를 생성했던 시드값 Si-1을 근거로 하는 연산 f(Si -1, Ti, Ti -1) 함수를 통해 i번째 시드값 Si를 생성한다(S130). 이때, 연산 f함수는 단조 증가 또는 단조 감소의 성질을 가지는 단조 함수(monotonic function)로 구성된다.To this end, a further embodiment is the i-th time T i and the OTP OTP just before (i.e., OTP i-1) which generates a time T i -1 and just before the OTP (i.e., OTP i-1) for generating the present invention The i- th seed value S i is generated through a function f (S i -1 , T i , T i -1 ) based on the generated seed value S i-1 (S130). At this time, the arithmetic f-function is composed of monotonic functions having monotone increasing or monotonic decreasing properties.

상술한 단계 S130에 대한 보다 구체적인 설명은 본 발명의 실시예에서 설명한 단계 S10에 대한 보다 구체적인 설명으로 갈음한다.A more detailed description of step S130 described above is replaced with a more detailed description of step S10 described in the embodiment of the present invention.

이와 같이 i번째 시드값 Si를 생성한 이후에는, 생성한 i번째 시드값 Si 및 응답값으로부터 i(i>=1)번째 OTP를 생성하게 된다(S140). 결국, 생성한 i번째 시드값 Si 및 응답값으로부터 i(i>=1)번째 OTP를 생성하기 위해서는 생성한 i번째 시드값 Si 및 응답값을 OTP 생성 함수부(20)에 입력한다. 그에 따라, OTP 생성 함수부(20)는 i번째 시드값 Si와 응답값 및 OTP생성 함수를 근거로 i(i>=1)번째 OTP를 생성하게 된다.Thus, after creating the i-th seed value S i is, and generates the i (i> = 1) th OTP generated from a seed value S i i-th and the response value (S140). After all, a i (i> = 1), the i-th generated in order to generate a second OTP seed value S i and the response value from the generated i-th seed value S i and response values input to the OTP generation function unit 20. The Accordingly, the OTP generation function unit 20 generates i (i> = 1) OTP based on the i-th seed value S i , the response value, and the OTP generation function.

그런데, 앞서 설명하였듯이 사용자가 시각을 조작하여 되돌리게 되면 비정상적인 시드값을 얻게 되므로, 이러한 비정상적인 시드값을 근거로 i번째 OTP를 생성하고자 하는 경우에는 비정상적인 OTP를 얻게 될 것이다. 그에 따라, 이러한 비정상적인 i번째 OTP를 서버(도시 생략)에게로 전송하게 되면 서버에서는 검증 실패를 할 것이다. However, as described above, if the user manipulates the time and returns the abnormal seed value, an abnormal OTP will be obtained if the i-th OTP is generated based on the abnormal seed value. Accordingly, if the abnormal i-th OTP is transmitted to the server (not shown), the server will fail verification.

상술한 바와 같이 본 발명의 다른 실시예에 따르면, 단조 증가 또는 단조 감소의 성질을 가지는 단조 함수로 구성되는 연산 f함수를 이용하여 i번째 시드값을 생성하고, 그 i번째 시드값 및 응답값을 이용하여 i번째 OTP를 생성한다. 이때, 사용자가 시각을 조작하여 과거로 되돌리게 되면 단조 증가 함수 또는 단조 감소 함수의 성격을 지닌 연산 f함수를 통해 비정상적인 시드값 및 비정상적인 OTP를 얻게 되어 검증에 실패하게 된다. 이를 통해 OTP가 부정하게 사용되는 경우를 방지할 수 있게 된다.As described above, according to another embodiment of the present invention, an i-th seed value is generated using a computation f-function composed of a monotone function having monotone increasing or monotone decreasing properties, and the i-th seed value and the To generate the i-th OTP. At this time, if the user manipulates the time and returns to the past, the abnormal fuzzy seed value and the abnormal OTP are obtained through the operation f function having the monotone increasing function or the monotone decreasing function. This makes it possible to prevent an unauthorized use of the OTP.

또한, 사용자가 질의에 대한 응답값을 잘못 입력하는 경우에도 비정상적인 OTP가 생성될 것이므로, 서버에서는 부정한 사용으로 인식하여 검증에 실패하게 된다. 이를 통해 OTP가 부정하게 사용되는 경우를 방지할 수 있게 된다.In addition, even if a user inputs a wrong response value for a query, an abnormal OTP will be generated, so the server recognizes it as an unauthorized use and fails the verification. This makes it possible to prevent an unauthorized use of the OTP.

또한, 상술한 본 발명의 일회용 비밀번호 생성방법은, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.Also, the above-described one-time password generation method of the present invention can be implemented as a computer-readable code on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. And, functional programs, codes and code segments for implementing the above method can be easily inferred by programmers of the technical field to which the present invention belongs.

이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, an optimal embodiment has been disclosed in the drawings and specification. While specific terms have been employed herein, they are used for the purpose of describing the invention only and are not used to limit the scope of the invention as defined in the claims or the claims. Therefore, those skilled in the art will appreciate that various modifications and equivalent embodiments are possible without departing from the scope of the present invention. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

10 : 시드값 생성부
20 : OTP 생성 함수부
10: seed value generator
20: OTP generation function section

Claims (4)

단말에서 i(i>=1)번째 일회용 비밀번호를 생성하는 방법으로서,
상기 i번째 일회용 비밀번호를 생성하는 시각과 직전의 일회용 비밀번호를 생성했던 시각 및 직전의 일회용 비밀번호를 생성했던 시드값을 근거로 하는 연산 f함수를 통해 i번째 시드값을 생성하는 단계; 및
상기 i번째 시드값으로부터 상기 i번째 일회용 비밀번호를 생성하는 단계;를 포함하고,
상기 연산 f함수는 단조 증가 또는 단조 감소의 성질을 가지는 단조 함수로 구성되는 것을 특징으로 하는 일회용 비밀번호 생성방법.
A method for generating i (i> = 1) th disposable passwords in a terminal,
Generating an i-th seed value through a computation f-function based on a time at which the i-th one-time password is generated, a time at which the one-time password was generated at the immediately preceding time, and a seed value at which the one-time password was generated; And
And generating the i-th disposable secret code from the i-th seed value,
Wherein the operation f function is a monotone function having a property of monotone increase or monotone decrease.
청구항 1에 있어서,
상기 i번째 시드값을 생성한 이후에는 상기 직전의 시드값과 상기 직전의 일회용 비밀번호를 생성했던 시각을 삭제하고 상기 i번째 시드값 및 시각을 저장하는 단계;를 추가로 포함하는 것을 특징으로 하는 일회용 비밀번호 생성방법.
The method according to claim 1,
And after the generation of the i < th > seed value, deleting the time at which the immediately preceding seed value and the immediately preceding one time password are generated, and storing the i < th > seed value and time. How to create a password.
단말에서 i(i>=1)번째 일회용 비밀번호를 생성하는 방법으로서,
서버로부터의 질의를 수신하는 단계;
상기 질의에 대한 응답값을 사용자로부터 입력받는 단계;
상기 i번째 일회용 비밀번호를 생성하는 시각과 직전의 일회용 비밀번호를 생성했던 시각 및 직전의 일회용 비밀번호를 생성했던 시드값을 근거로 하는 연산 f함수를 통해 i번째 시드값을 생성하는 단계; 및
상기 i번째 시드값 및 상기 응답값으로부터 상기 i번째 일회용 비밀번호를 생성하는 단계;를 포함하고,
상기 연산 f함수는 단조 증가 또는 단조 감소의 성질을 가지는 단조 함수로 구성되는 것을 특징으로 하는 일회용 비밀번호 생성방법.
A method for generating i (i> = 1) th disposable passwords in a terminal,
Receiving a query from a server;
Receiving a response value for the query from a user;
Generating an i-th seed value through a computation f-function based on a time at which the i-th one-time password is generated, a time at which the one-time password was generated at the immediately preceding time, and a seed value at which the one-time password was generated; And
And generating the i-th disposable password from the i-th seed value and the response value,
Wherein the operation f function is a monotone function having a property of monotone increase or monotone decrease.
청구항 3에 있어서,
상기 i번째 시드값을 생성한 이후에는 상기 직전의 시드값과 상기 직전의 일회용 비밀번호를 생성했던 시각을 삭제하고 상기 i번째 시드값 및 시각을 저장하는 단계;를 추가로 포함하는 것을 특징으로 하는 일회용 비밀번호 생성방법.
The method of claim 3,
And after the generation of the i < th > seed value, deleting the time at which the immediately preceding seed value and the immediately preceding one time password are generated, and storing the i < th > seed value and time. How to create a password.
KR1020170114513A 2017-09-07 2017-09-07 Method for generating One-Time Password KR20190027572A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170114513A KR20190027572A (en) 2017-09-07 2017-09-07 Method for generating One-Time Password

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170114513A KR20190027572A (en) 2017-09-07 2017-09-07 Method for generating One-Time Password

Publications (1)

Publication Number Publication Date
KR20190027572A true KR20190027572A (en) 2019-03-15

Family

ID=65762539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170114513A KR20190027572A (en) 2017-09-07 2017-09-07 Method for generating One-Time Password

Country Status (1)

Country Link
KR (1) KR20190027572A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110054701A (en) 2009-11-18 2011-05-25 (주)퍼닛 System and method for generating and authenticating graphic mobile otp
KR101268289B1 (en) 2011-07-20 2013-05-28 (주)레이원 Otp key generation module and method using the voice and communication apparatus thereof
KR101316605B1 (en) 2011-07-11 2013-10-15 (주)리얼시큐 OTP formation method of encipherment algorithm using of N-BOX
KR101671463B1 (en) 2015-03-24 2016-11-01 에스지앤 주식회사 One time password generation and recognition system and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110054701A (en) 2009-11-18 2011-05-25 (주)퍼닛 System and method for generating and authenticating graphic mobile otp
KR101316605B1 (en) 2011-07-11 2013-10-15 (주)리얼시큐 OTP formation method of encipherment algorithm using of N-BOX
KR101268289B1 (en) 2011-07-20 2013-05-28 (주)레이원 Otp key generation module and method using the voice and communication apparatus thereof
KR101671463B1 (en) 2015-03-24 2016-11-01 에스지앤 주식회사 One time password generation and recognition system and method thereof

Similar Documents

Publication Publication Date Title
Huh et al. Managing IoT devices using blockchain platform
JP6302592B2 (en) Information processing apparatus, information processing method, and program
CN110417750B (en) Block chain technology-based file reading and storing method, terminal device and storage medium
US20090077640A1 (en) System and method for validating user identification
CN109981576B (en) Key migration method and device
US10068106B2 (en) Tokenization column replacement
US20150172044A1 (en) Order-preserving encryption system, encryption device, decryption device, encryption method, decryption method, and programs thereof
US20150310206A1 (en) Password management
CN113434882A (en) Communication protection method and device of application program, computer equipment and storage medium
US20190109710A1 (en) System and method for randomizing hidden messages in digital files
KR20190027572A (en) Method for generating One-Time Password
Sohail et al. Anti-theft cloud application for android operating system (Nougats)
US20230318820A1 (en) Dynamic deterministic user password generation
CN112003706B (en) Signature method, signature device, computer equipment and storage medium
JPWO2018043466A1 (en) Data extraction system, data extraction method, registration device and program
US11210407B2 (en) Electronic communications device and messaging application therefor
KR102526114B1 (en) Apparatus and method for encryption and decryption
CN112565156A (en) Information registration method, device and system
Sudha et al. Merkle hash tree improved strongly constrained discrete hashing function-based authentication scheme for enabling security for smart home IoT applications
Nugroho et al. Pseudonym-based privacy protection for steppy application
Channabasava et al. Dynamic password protocol for user authentication
Elganzoury et al. A Provably Secure Android-Based Mobile Banking Protocol
CN114969808B (en) Account management method and device, electronic equipment and storage medium
US20220191187A1 (en) Method and system for near field communication authorization sharing
Razaque et al. Pebble Watch security assessment