KR20130007810A - Qr코드를 이용한 otp 인증방법 및 장치 - Google Patents

Qr코드를 이용한 otp 인증방법 및 장치 Download PDF

Info

Publication number
KR20130007810A
KR20130007810A KR1020110068377A KR20110068377A KR20130007810A KR 20130007810 A KR20130007810 A KR 20130007810A KR 1020110068377 A KR1020110068377 A KR 1020110068377A KR 20110068377 A KR20110068377 A KR 20110068377A KR 20130007810 A KR20130007810 A KR 20130007810A
Authority
KR
South Korea
Prior art keywords
code
otp
generating
web server
user
Prior art date
Application number
KR1020110068377A
Other languages
English (en)
Other versions
KR101348249B1 (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 KR1020110068377A priority Critical patent/KR101348249B1/ko
Publication of KR20130007810A publication Critical patent/KR20130007810A/ko
Application granted granted Critical
Publication of KR101348249B1 publication Critical patent/KR101348249B1/ko

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/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
    • H04L9/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 QR 코드를 이용한 OTP 인증방법 및 그 장치에 관한 것으로, (a) 웹서버가 클라이언트로부터 사용자 인증을 하고, 상기 클라이언트로부터 수신받은 ID를 OTP 서버로 전송하는 단계; (b) 상기 OTP 서버에서 상기 ID를 암호 알고리즘을 이용하여 QR 코드 및 OTP 코드를 생성하는 단계; (c) 상기 웹서버에서 상기 OTP 서버로부터 상기 QR 코드 및 OTP 코드를 수신받고, 상기 QR 코드를 출력하는 단계; (d) OTP 단말에서 상기 출력된 QR 코드를 촬영하는 단계; (e) 상기 OTP 단말에서 상기 촬영된 QR 코드를 이용하여 OTP 코드를 생성하는 단계; 및 (f) 상기 웹서버에서 상기 OTP 코드를 수신받아, 상기 클라이언트의 사용자를 인증하는 단계를 포함한다.
이와 같은 본 발명을 제공하면, 암호 알고리즘의 접속시마다 싱크 코드값이 증가함으로써 싱크 코드값에 따라 OTP 코드가 변화기 때문에 싱크 코드값만으로 OTP 코드를 알 수 없고, 사용자마다 N-BOX를 생성하여 개인의 고유 N-BOX 값을 알지 못하면 OTP 코드를 생성할 수 없게 되어 보안 인증을 강화하게 된다.

Description

QR코드를 이용한 OTP 인증방법 및 장치{OTP authentification method and system using of QR-code}
본 발명은 일회용 패스워드 인증방법 및 그 장치에 관한 것으로, 피싱 이나 ID/PW 공유 방지에 효과가 있는 OTP 인증 방법 및 이를 이용하는 장치에 관한 것이다.
최근 인터넷과 같은 정보통신 기술의 발달로 인해 뱅킹, 공문서 발급, 증권 거래, 인터넷 쇼핑 등의 다양한 서비스들이 온라인을 통해 이루어지고 있다. 기존의 오프라인상에 전송되는 정보의 보호를 위해 사용자 인증 기술이 적용되고 있다. 사용자 인증이란, 어떤 사용자가 실제로 정당한 사용자인지를 판단하는 과정으로, 현재 ID와 패스워드를 사용하는 방식이 대표적으로 사용되고 있다. ID/패스워드 방식의 경우 사용자가 ID와 패스워드를 외우기 쉬운 정보 및 고정된 정보로 설정하기에 공격자에 의해서 추측될 수 있고, 도청을 통해 노출 될 수도 있다는 단점을 가진다.
이러한 단점을 극복할 수 있는 인증 기법으로 인증 시도시 새로운 패스워드를 생성하는 일회용 패스워드 기술인 일회용 패스워드(One Time Password: 이하 'OTP'라 한다.)가 제안되었다. OTP를 통해 생성되는 패스워드는 암호학적으로 안전한 방법으로 생성되며, 한 번 사용한 패스워드는 다시 사용되지 않기 때문에 기존 ID/패스워드 방식의 단점들을 보완할 수 있다.
현재 국내에서 인터넷 뱅킹 등에 이용되는 OTP는 H/W 형태로 구현된 단말기 및 카드 형태의 OTP로서, 금융 거래를 하기 위해서는 별도로 OTP를 소지해야만 하는 불편함으로 인해 대중화가 어렵다는 문제점을 가지고 있었다. 이러한 문제를 해결하고자 최근 S/W 형태로 구현된 OTP가 게임 시장을 위주로 도입되고 있다. 모바일에 탑재된 OTP, PC에 탑재된 OTP가 대표적인 예이다.
S/W 방식으로 구현되는 OTP의 경우 반영구적인 사용이 가능하고, 배포 과정이 쉬우며, 하나의 OTP로 여러 서비스의 인증을 폭넓게 적용할 수 있는 범용성까지 갖추고 있어, S/W 형태로 탑재된 OTP 도입 사례가 증가하고 있다. 특히 최근 행정안전부가 차세대 통합 인증체계 확립을 위해 구축한 전자정부 통합인증 프레임워크 및 통합인증 게이트웨이 사업에서 'GOTP(Goverment One Time password)' 시스템 구축에 모바일 및 PC에 탑재된 OTP를 수용하였다. 하지만, S/W 방식으로 탑재된 OTP 또한 시간동기화 방식에서 탈피하지 못하고 있으며 시간동기화 방식이 가지고 있는 단점을 해결하지 못하고 있다.
국내의 OTP 장치와 S/W OTP가 시간동기화 방식의 문제점을 벗어나지 못하는 큰 이유 중 하나는 미국이나 국내에서 개발한 암호 알고리즘이 블록 암호 알고리즘이나 해쉬 코드를 사용한다는 이유와 이러한 블록 암호 알고리즘을 OTP로 이용 시 절대적으로 시간 함수를 써야만 OTP로 사용이 될 수 있다는 이유에서 시간동기화의 OTP를 계속적으로 사용하고 있는 실정이다.
시간동기화 방식의 OTP에서 탈피하기 위해 유럽 등지에서 사용하고 있는 스트림 방식의 암호 알고리즘의 세계적 수준의 스트림 암호 알고리즘 개발과 스트림 암호 알고리즘의 OTP로 구현하기 위한 모듈의 생성 및 키로그, 피싱, MITM 공격과 같은 악의적인 공격에 안전한 인증 프로토콜 개발, 사용자가 보다 쉽게 사용할 수 있도록 QR코드를 이용하여 스마트폰 장치 입력의 불편을 해소할 수 있는 스마트폰 기반 QR코드 OTP 인증 시스템 개발이 필요하다고 하겠다.
현재 나와 있는 시간동기화 방식의 OTP 인증 장치 경우 피싱 또는 사용자에 의한 OTP 코드의 공유가 가능하다는 단점을 가지고 있다.
피싱에 의한 OTP 코드 유출과 사용자가 다른 사용자에게 OTP 코드의 알림을 통해 공유가 되었을 시 1분 또는 30초 내에 OTP 코드의 재사용이 가능 하다는 단점이 있다. 이럴 경우 금융권에서는 사용자의 심각한 재산권의 손실이 있을 수 있으며, 콘텐츠 유통 업체의 경우에는 다중 사용자가 동일한 ID로 사용이 가능 하다는 점이 있어 콘텐츠 유통의 수익성이 감소 등의 재산상의 손실을 입고 있다.
이를 위해 시간동기화 방식이 아닌 싱크 코드 방식의 OTP 코드 생성이 필요하다. 싱크 코드 방식의 OTP 인증의 경우 싱크 코드의 탈취 또는 공유로 인하여 다른 사용자 또는 악의적인 사용자의 정상적인 인증이 이루어질 수 있는 심각한 문제가 있다. 이를 해결하기 위해서 정상적인 사용자의 싱크 코드를 숨길 수 있는 그리고 싱크 코드 유출 시에도 재사용이 불가능한 방식이 필요하다
상술한 문제를 해결하기 위한 본 발명의 과제는 시간동기화 방식의 OTP 코드 공유를 원천적으로 방지하고, 악의적인 사용자의 OTP 코드 유출 시에도 재사용이 불가능한 코드를 통한 인증방법을 제공하기 위함이다.
또한, 악의적인 사용자 또는 정상적인 사용자의 싱크 코드 공유를 사전에 방지할 수 있는 OTP 인증방법을 제공하기 위함이다.
상술한 과제를 해결하기 위한 본 발명의 특징은 (a) 웹서버가 클라이언트로부터 사용자 인증을 하고, 상기 클라이언트로부터 수신 받은 ID를 OTP 서버로 전송하는 단계; (b) 상기 OTP 서버에서 상기 ID를 암호 알고리즘을 이용하여 QR 코드 및 OTP 코드를 생성하는 단계; (c) 상기 웹서버에서 상기 OTP 서버로부터 상기 QR 코드 및 OTP 코드를 수신받고, 상기 QR 코드를 출력하는 단계; (d) OTP 단말에서 상기 출력된 QR 코드를 촬영하는 단계; (e) 상기 OTP 단말에서 상기 촬영된 QR 코드를 이용하여 OTP 코드를 생성하는 단계; (f) 상기 웹서버에서 상기 OTP 코드를 수신받아, 상기 클라이언트의 사용자를 인증하는 단계를 포함하는 것이다.
여기서, 상기 (a) 단계는, 상기 웹서버에서 상기 클라이언트로 사용자 인증을 요청하는 단계; 상기 클라이언트에서 ID 및 패스워드를 상기 웹서버로 전송하는 단계; 상기 웹서버에서 상기 ID 및 패스워드를 체크 한 후, 상기 ID를 상기 OTP 서버로 전송하는 단계를 포함하는 것이 바람직하다.
또한, 제1항 또는 제2항에 있어서, 상기 (b) 단계는, (b1) 상기 ID를 암호 알고리즘을 이용하여 키 수열을 생성하는 단계; (b2) 상기 키 수열을 통해 싱크 코드를 생성하고, 상기 싱크 코드를 이용하여 QR 코드를 생성하는 단계; (b3) 개인 또는 기기장치의 식별번호(PIN)를 이용하여 피드백 함수를 생성하는 단계; (b4) 상기 피드백 함수를 이용 피드백 값을 생성하는 단계; (b5) 상기 피드백 값을 이용하여 상기 키 수열 비트 수에 해당하는 숫자로 형성된 변환 테이블(N-BOX)를 생성하는 단계; 및 (b6) 상기 키 수열을 상기 변환 테이블(N-BOX)의 해당 숫자와 치환하여 OTP 코드 생성하는 단계를 포함하는 것이 바람직하다.
더하여, 바람직하게는 상기 (b) 단계에서 상기 QR 코드를 생성하는 단계는, 랜덤 R 값을 생성하고, 상기 R 값 만큼 클럭 이동(clock shift)하여 키 수열을 출력하는 단계; 암호 알고리즘을 이용하여 상기 키 수열을 재출력하는 단계; 상기 R 값과 출력 비트를 더하여 싱크 코드를 생성하는 단계; 및 상기 싱크 코드를 이용하여 QR 코드 생성기를 통해 QR 코드를 생성하는 단계를 포함하는 것일 수 있다.
또한, 상기 (e) 단계는, 상기 QR 코드를 이용하여 싱크 코드를 생성하는 단계; 상기 싱크 코드로부터 암호 알고리즘을 이용하여 키 수열을 출력하는 단계; 상기 상기 키 수열 비트 수에 해당하는 숫자로 형성된 변환 테이블(N-BOX)를 생성하는 단계; 및 상기 변환 테이블(N-BOX)을 이용하여 OTP 코드를 생성하는 단계를 포함하는 것이 바람직하다. 또한, 상기 OTP 단말은 카메라가 내장된 스마트폰, PDA 및 테블릿 PC 중 어느 하나인 것이 바람직하다.
그리고, 상기 어느 한 항의 방법을 적용하는 것으로, OTP 단말, 클라이언트 단말, 웹서버 및 OTP 서버를 포함하여 구성되는 것을 특징으로 한다.
이와 같은 본 발명을 제공하면, 암호 알고리즘의 접속시마다 싱크 코드값이 증가함으로써 싱크 코드값에 따라 OTP 코드가 변화기 때문에 싱크 코드값만으로 OTP 코드를 알 수 없고, 사용자마다 N-BOX를 생성하여 개인의 고유 N-BOX 값을 알지 못하면 OTP 코드를 생성할 수 없게 되어 보안 인증을 강화하게 된다.
또한, 피싱이나 정상적인 사용자의 싱크 코드 공유를 불가능하도록 싱크 코드를 QR 코드 이미지 변화 단계를 통해 사용자의 싱크 코드를 공유를 원천적으로 봉쇄 할 수 있게 된다.
또한, 일정 시간 동안 동일한 코드가 사용되어 지지 않는 방식의 OTP 코드가 생성이 되어야 하며 사용자 또한 악의적인 사용자의 OTP 코드 유출 시에도 재사용이 불가능하여 보안기능을 강화할 수 있게 된다.
도 1은 본 발명에 따른 QR 코드를 이용한 OTP 인증방법의 흐름도를 나타낸 도면,
도 2는 본 발명에 따른 OTP 인증방법에 적용되는 QR 코드 및 OTP 생성방법의 흐름도,
도 3은 본 발명에 따른 QR 코드를 이용한 OTP 인증방법에 적용되는 OTP 단말에서의 OTP 생성방법의 흐름도이다.
이하에서 본 발명에 따른 바람직한 실시예를 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명에 따른 QR 코드를 이용한 OTP 인증방법의 흐름도를 나타낸 도면이다. 도 1에 나타낸 바와 같이, 본 발명에 따른 OTP 인증방법은 (a) 웹서버가 클라이언트로부터 사용자 인증을 하고(S100,S110), 상기 클라이언트로부터 수신받은 ID를 OTP 서버로 전송하는 단계(S200); (b) 상기 OTP 서버에서 상기 ID를 암호 알고리즘을 이용하여 QR 코드 및 OTP 코드를 생성하는 단계(S210); (c) 상기 웹서버에서 상기 OTP 서버로부터 상기 QR 코드 및 OTP 코드를 수신받고(S230), 상기 QR 코드를 출력하는 단계(S300); (d) OTP 단말에서 상기 출력된 QR 코드를 촬영하는 단계(S310); (e) 상기 OTP 단말에서 상기 촬영된 QR 코드를 이용하여 OTP 코드를 생성하는 단계(S400); 및 (f) 상기 웹서버에서 상기 OTP 코드를 수신받아(S410), 상기 클라이언트의 사용자를 인증하는 단계(S500)를 포함한다.
여기서 (a) 단계는 사용자 인증 단계로, 클라이언트가 웹서버로 접속하는 경우, 웹서버는 클라이언트에게 사용자 인증을 요청하면(S100), 사용자는 클라이언트 단말기를 통해 ID 및 패스워드를 입력하고(S110) 웹서버는 ID 및 패스워드를 체크하여 사용자를 인증하게 된다.
사용자 인증 후, (b) 단계에서, 웹서버에서 ID를 OTP 서버로 전송하고(s200), OTP 서버에서 상기 ID를 통해 QR 코드 및 OTP코드를 생성한다.(S210) 여기서 QR 코드는 흑백 격자무늬 패턴으로 정보를 나타내는 매트릭스 형식의 바코드로, 기존 바코드가 용량 제한에 따라 가격과 상품명 등 한정된 정보만 담는 데 비해 QR 코드는 넉넉한 용량을 강점으로 3차원적인 다양한 정보를 담을 수 있다.
종래의 OTP 인증방법은 시간 동기화 방식의 원천적인 문제점을 해결하기 위해 싱크 코드 방식의 OTP 코드를 채택하여야 하고, 싱크 코드 방식의 OTP 코드의 문제점인 싱크 코드의 유출 시 방어할 수 있는 방식이 필요하고, 싱크 코드를 재사용 방지를 위해 싱크 코드를 다른 코드로 변환해야 한다.
그리고, 일반적인 싱크 코드의 숫자 코드일 경우 쉽게 다른 사용자가 사용할 수 있기 때문에 본 발명에서는 싱크 코드를 QR 코드 생성기를 통해 싱크 코드를 QR 코드 이미지로 만들어 사용자가 쉽게 변환하지 못하도록 하기 위해서 QR 코드를 사용한다.
도 2는 본 발명에 따른 OTP 인증방법에 적용되는 QR 코드 및 OTP 생성방법의 흐름도이다. 도 2에 나타낸 바와 같이, QR 코드 및 OTP 인증방법은 상기 (b) 단계로서(S210), (b1) 상기 ID를 암호 알고리즘을 이용하여 키 수열을 생성하는 단계(S211); (b2) 상기 키 수열을 통해 싱크 코드를 생성하고(s212), 상기 싱크 코드를 이용하여 QR 코드를 생성하는 단계(213); (b3) 개인 또는 기기장치의 식별번호(PIN)를 이용하여 피드백 함수를 생성하는 단계; (b4) 상기 피드백 함수를 이용 피드백 값을 생성하는 단계(S215); (b5) 상기 피드백 값을 이용하여 상기 키 수열 비트 수에 해당하는 숫자로 형성된 변환 테이블(N-BOX)를 생성하는 단계; 및 (b6) 상기 키 수열을 상기 변환 테이블(N-BOX)의 해당 숫자와 치환하여 OTP 코드 생성하는 단계를 포함한다.
(b1) 단계에서, 암호 알고리즘은 스트림 암호 알고리즘 또는 블록 암호 알고리즘인 것이 바람직하다. 스트림 암호 알고리즘 시스템은 주로 1970년대 초반부터 유럽에서 연구발전되어 온 암호시스템으로서 LSFR(Linear Feedback Shift Resister)을 이용한 이진수열 발생기이다. 스트림 암호시스템은 최대 주기를 보장하는 LSFR을 비선형으로 결합한 비선형 이진수열 발생기를 근간으로 하는 암호 시스템으로 평문을 이진수열로 부호화하여 이진수열로 된 암호문을 발생한다.
그리고, 블록 암호 알고리즘은 암호문을 만들기 위해 암호 키와 알고리즘이 데이터 블록 단위로 적용되는 암호화 방법으로, 평문의 동일 블록들이 하나의 메시지에서 동일한 암호문으로 되지 않도록 하기 위해 이전 암호 블록의 암호문을 다음 블록에 순서대로 적용하는 것이다. 같은 시간에 암호화된 동일 메시지들이 같은 암호문을 만들지 않도록 난수 발생기에 의한 초기화 벡터를 평문의 첫 블록에 조합함으로써 다음 블록들이 이전 암호 블록과 다른 암호문이 된다.
즉, OTP 서버에서 상용자의 ID를 수신받아(S200), 스트림 암호화로 키 수열을 발생하게 되고, 상기 키 수열은 숫자로 형성된 변환 테이블인 N-BOX를 생성하게 된다. 그러므로, 이진수로 이루어진 키 수열을 0 내지 9의 숫자로 변환하기 위한 N-BOX를 생성하기 위해서, 본 발명에서는 개인 또는 기기장치의 식별번호(PIN)를 이용한다.
즉, 개인의 주민번호 또는 기기장치의 식별번호(PIN)는 0 내지 9 숫자의 나열로 이루어지는데, 이 번호를 피드백 함수를 생성하고, 이를 이용하여 새롭게 암호화된 숫자로 생성하여 상기 N-BOX를 생성한다. 여기서 피드백 함수는 고차함수인 것이 바람직하고, 상기 개인의 주민번호 또는 기기장치의 식별번호(PIN)를 차수로 하여 내림차순으로 정리된 함수인 것이 바람직하다.
보다 구체적으로, 본 발명에서는 상기 스트림 암호 알고리즘의 출력 되는 키 수열 비트를 특정 단위로 잘라내어 비트 수를 계산 이후 그에 해당되는 테이블의 숫자와 치환하게 된다. 이와 같은 방법을 적용하게 되면, 치환되는 테이블을 기존의 S-BOX(비트 단위박스)가 아닌 전화 번호 or 사용자가 가지고 있는 단말기의 고유 PIN 번호를 이용하여 치환할 수 있는 테이블을 보다 쉽고 랜덤하게 생성할 수 있게 된다.
즉, 사용자의 전화번호 또는 사용자 단말기 고유 PIN 번호를 테이블의 첫번째 칸부터 우선 채우고 난 후, 사용자의 번호를 내림 차순 정렬 이후, 피드백 함수를 생성, 피드백 함수를 이용하여 나머지 테이블를 자동으로 채워 N-BOX를 생성하게 된다. 이때 테이블의 크기를 스트림 암호 알고리즘의 출력 단위에 의해 크기가 조절 되게 된다.
이처럼 N-BOX가 생성되면, 스트림 암호 알고리즘을 이용해 생성된 키 수열을 특정 비트로 잘라내고, 잘라낸 각 키 수열에 대응되는 상기 N-BOX의 숫자로 치환하여 일회용 패스워드(OTP)를 생성하게 된다. 또한 블록 암호 알고리즘을 이용한 OTP 생성방법도 동일한 과정을 거쳐 OTP를 생성하게 된다.
도 3은 본 발명에 따른 OTP 인증방법에 적용되는 OTP 서버에서의 QR 코드 생성방법의 흐름도이다. 도 3에 나타낸 바와 같이, 랜덤 R 값을 생성하고(S212a), 상기 R 값만큼 클럭 이동(clock shift)하여 키 수열을 출력하는 단계(S212b); 암호 알고리즘을 이용하여 상기 키 수열을 재출력하는 단계(S212c); 상기 R 값과 출력 비트를 더하여 싱크 코드를 생성하는 단계(S212d); 및 상기 싱크 코드를 이용하여 QR 코드 생성기를 통해 QR 코드를 생성하는 단계(S213)를 포함한다.
이처럼, 랜덤 R 값을 생성하여 클럭 이동(clock shift)하는 것은, 키 수열의 연속적인 주기성으로 인해 스트림 암호 알고리즘의 특성을 파악하고 공격하는 수단을 원천적으로 봉쇄하기 위함이다. 즉, 키 수열의 발생시점을 바꿈으로써 스트림 암호의 효율성을 높일 수 있게 된다.
즉, 도 1에 나타낸 바와 같이, OTP 서버에서 암호 알고리즘을 통해 키 수열을 생성하고 N-BOX를 이용해 OTP를 생성하는 동시에, 상기 키 수열에 대한 QR 코드를 생성한다.(S210) 이는 싱크 코드를 QR 코드 이미지로 만들어 사용자가 쉽게 변환하지 못하도록 하기 위함이다.
이처럼, 싱크 코드를 QR 코드 이미지로 형성하고, 이를 웹서버로 전송하여 출력하면(S300), 싱크 코드를 포함하는 QR 코드를 OTP 단말에서 카메라로 촬영하여 이미지를 획득함으로써(S310), OTP 서버와 같은 인증서버와 사용자를 인증단계에서 요구되는 동기화가 가능하게 된다.
OTP 단말에서 웹서버에 접속된 클라이언트 단말에서 표시된 QR 코드를 카메라로 촬영하여 QR 코드 이미지를 획득하고, 획득된 QR 코드 이미지를 통하여 역으로 싱크 코드를 생성한다. 싱크 코드가 생성되면, 상기 코드의 키 수열을 이용하여 도 2에서 나타낸 OTP 생성방법의 과정으로 수행하여 OTP를 생성하게 된다. 여기서, OTP 단말은 카메라가 장착된 유무선 단말이면 모두 가능하고, 일반적으로 개인 사용자가 휴대하고 다니는 스마트폰, PDA, 테블릿 PC 등이 바람직하다.
여기서 N-BOX는 개인의 주민번호 또는 기기장치의 식별번호(PIN)는 0 내지 9 숫자의 나열로 이루어지는데, 이 번호를 피드백 함수를 생성하고, 이를 이용하여 새롭게 암호화된 숫자로 생성하여 상기 N-BOX를 생성한다. 여기서 피드백 함수는 고차함수인 것이 바람직하고, 상기 개인의 주민번호 또는 기기장치의 식별번호(PIN)를 차수로 하여 내림차순으로 정리된 함수인 것이 바람직하다.
예를 들어, 개인 사용자의 전화번호가 010-1234-7890인 경우, 상기 번호를 이력하고, 입력된 전화번호를 테이블의 1번부터 채운다. 그리고 나서, 전화번호에서 0~9까지 내림 차순으로 정렬을 하고,(정렬된 번호: 98743210) 정렬된 번호에 따라 [수학식 1]과 같이 피드백 수식을 만들게 된다.
Figure pat00001
여기서 상기 [수학식 1]의 피드백 함수의 차수는 상기 전화번호를 내림차순으로 정렬하여 나타낸다.
[수학식 1]에서 상기 함수의 각 차수를 더하게 되면 값이 나오는데, 이 더한 값을 다시 10으로 나누어서 나머지 값을 피드백 되는 f(x)로 활용하게 된다. 피드백 값을 생성이후 각 자리수를 왼쪽으로 Shift 한 이후에 젤 마지막인 x0 값에 피드백 값을 넣고, 상기 테이블에 채워진 전화번호 이후에 이 피드백 값은 채워 N-BOX를 완성하게 된다.
N-BOX가 완성되면, 완성된 테이블(N-BOX)를 이용하여 스트림 암호에서 생성된 키 수열에 의해 상기 N-BOX에 들어가 있는 값과 치환을 하게 되고, 이 치환된 값을 가지고 OTP를 최종 생성하게 된다.
OTP 단말에서 OTP를 생성하게 되면, 최종적으로, 도 1에 나타낸 바와 같이, OTP 단말에서 생성된 OTP를 웹서버로 전송하고(S410), 다시 웹서버에서 상기 OTP 코드를 체크 한 후, 최종 인증하게 된다.(S500)
이처럼 본 발명에 따른 QR 코드를 이용한 OTP 인증방법은 암호 알고리즘의 접속시마다 싱크 코드값이 증가함으로써 싱크 코드값에 따라 OTP 코드가 변화기 때문에 싱크 코드값만으로 OTP 코드를 알 수 없도록 하고, 사용자마다 N-BOX를 생성하여 개인의 고유 N-BOX 값을 알지 못하면 OTP 코드를 생성할 수 없도록 하여 보안 인증을 강화하였을 뿐만 아니라, 피싱이나 정상적인 사용자의 싱크 코드 공유를 불가능하도록 싱크 코드를 QR 코드 이미지 변화 단계를 통해 사용자의 싱크 코드를 공유를 원천적으로 봉쇄하게 된다.
이상의 설명에서 본 발명은 특정의 실시 예와 관련하여 도시 및 설명하였지만, 특허청구범위에 의해 나타난 발명의 사상 및 영역으로부터 벗어나지 않는 한도 내에서 다양한 개조 및 변화가 가능 하다는 것을 당 업계에서 통상의 지식을 가진 자라면 누구나 쉽게 알 수 있을 것이다.
10: 클라이언트, 20: OTP 단말, 30: 웹 서버, 40: OTP 서버

Claims (7)

  1. (a) 웹서버가 클라이언트로부터 사용자 인증을 하고, 상기 클라이언트로부터 수신받은 ID를 OTP 서버로 전송하는 단계;
    (b) 상기 OTP 서버에서 상기 ID를 암호 알고리즘을 이용하여 QR 코드 및 OTP 코드를 생성하는 단계;
    (c) 상기 웹서버에서 상기 OTP 서버로부터 상기 QR 코드 및 OTP 코드를 수신받고, 상기 QR 코드를 출력하는 단계;
    (d) OTP 단말에서 상기 출력된 QR 코드를 촬영하는 단계;
    (e) 상기 OTP 단말에서 상기 촬영된 QR 코드를 이용하여 OTP 코드를 생성하는 단계;
    (f) 상기 웹서버에서 상기 OTP 코드를 수신받아, 상기 클라이언트의 사용자를 인증하는 단계를 포함하는 것을 특징으로 하는 QR 코드를 이용한 OTP 인증방법.
  2. 제1항에 있어서,
    상기 (a) 단계는,
    상기 웹서버에서 상기 클라이언트로 사용자 인증을 요청하는 단계;
    상기 클라이언트에서 ID 및 패스워드를 상기 웹서버로 전송하는 단계;
    상기 웹서버에서 상기 ID 및 패스워드를 체크 한 후, 상기 ID를 상기 OTP 서버로 전송하는 단계를 포함하는 것을 특징으로 하는 QR 코드를 이용한 OTP 인증방법.
  3. 제1항 또는 제2항에 있어서,
    상기 (b) 단계는,
    (b1) 상기 ID를 암호 알고리즘을 이용하여 키 수열을 생성하는 단계;
    (b2) 상기 키 수열을 통해 싱크 코드를 생성하고, 상기 싱크 코드를 이용하여 QR 코드를 생성하는 단계;
    (b3) 개인 또는 기기장치의 식별번호(PIN)를 이용하여 피드백 함수를 생성하는 단계;
    (b4) 상기 피드백 함수를 이용 피드백 값을 생성하는 단계;
    (b5) 상기 피드백 값을 이용하여 상기 키 수열 비트 수에 해당하는 숫자로 형성된 변환 테이블(N-BOX)를 생성하는 단계;
    (b6) 상기 키 수열을 상기 변환 테이블(N-BOX)의 해당 숫자와 치환하여 OTP 코드 생성하는 단계를 포함하는 것을 특징으로 하는 QR 코드를 이용한 OTP 인증방법.
  4. 제3항에 있어서,
    상기 (b) 단계에서 상기 QR 코드를 생성하는 단계는,
    랜덤 R 값을 생성하고, 상기 R 값만큼 클럭 이동(clock shift)하여 키 수열을 출력하는 단계;
    암호 알고리즘을 이용하여 상기 키 수열을 재출력하는 단계;
    상기 R 값과 출력 비트를 더하여 싱크 코드를 생성하는 단계; 및
    상기 싱크 코드를 이용하여 QR 코드 생성기를 통해 QR 코드를 생성하는 단계를 포함하는 것을 특징으로 하는 QR 코드를 이용한 OTP 인증방법.
  5. 제4항에 있어서,
    상기 (e) 단계는,
    상기 QR 코드를 이용하여 싱크 코드를 생성하는 단계;
    상기 싱크 코드로부터 암호 알고리즘을 이용하여 키 수열을 출력하는 단계;
    상기 키 수열 비트 수에 해당하는 숫자로 형성된 변환 테이블(N-BOX)를 생성하는 단계;
    상기 변환 테이블(N-BOX)을 이용하여 OTP 코드를 생성하는 단계를 포함하는 것을 특징으로 하는 QR 코드를 이용한 OTP 인증방법.
  6. 제5항에 있어서,
    상기 OTP 단말은 카메라가 내장된 스마트폰, PDA 및 테블릿 PC 중 어느 하나인 것을 특징으로 하는 QR 코드를 이용한 OTP 인증방법.
  7. 제4항 내지 제6항 중 어느 한 항의 방법을 적용하는 것으로, OTP 단말, 클라이언트 단말, 웹서버 및 OTP 서버를 포함하여 구성되는 것을 특징으로 하는 QR 코드를 이용한 OTP 인증 시스템.






KR1020110068377A 2011-07-11 2011-07-11 Qr코드를 이용한 otp 인증방법 및 장치 KR101348249B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110068377A KR101348249B1 (ko) 2011-07-11 2011-07-11 Qr코드를 이용한 otp 인증방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110068377A KR101348249B1 (ko) 2011-07-11 2011-07-11 Qr코드를 이용한 otp 인증방법 및 장치

Publications (2)

Publication Number Publication Date
KR20130007810A true KR20130007810A (ko) 2013-01-21
KR101348249B1 KR101348249B1 (ko) 2014-01-08

Family

ID=47838118

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110068377A KR101348249B1 (ko) 2011-07-11 2011-07-11 Qr코드를 이용한 otp 인증방법 및 장치

Country Status (1)

Country Link
KR (1) KR101348249B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140124289A (ko) * 2013-04-16 2014-10-24 삼성테크윈 주식회사 감시 카메라의 제어 방법
KR101480034B1 (ko) * 2013-02-22 2015-01-08 농협은행(주) Qr 보안코드를 이용한 금융 서비스 제공 방법
KR20190138624A (ko) * 2019-12-03 2019-12-13 한화테크윈 주식회사 감시 카메라의 제어 방법
KR20200002145A (ko) * 2018-06-29 2020-01-08 김도완 원격 검침 시스템
CN117176339A (zh) * 2023-08-31 2023-12-05 深圳手付通科技有限公司 一种在线更新pos终端设备主密钥TMK的方法和系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101652625B1 (ko) 2015-02-11 2016-08-30 주식회사 이베이코리아 온라인 웹사이트의 회원 로그인을 위한 보안인증 시스템 및 그 방법
KR101753535B1 (ko) 2016-08-24 2017-07-03 주식회사 이베이코리아 온라인 웹사이트의 회원 로그인을 위한 보안인증 시스템 및 그 방법
KR101973589B1 (ko) 2017-09-19 2019-08-28 주식회사 베스티언 Qr 코드와 otp 정보를 이용한 차량 시동 인증 시스템 및 그 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5258422B2 (ja) 2008-07-01 2013-08-07 Kddi株式会社 相互認証システム、相互認証方法およびプログラム
JP2010211294A (ja) * 2009-03-06 2010-09-24 Toshiba Corp ユーザ認証システムおよびユーザ認証方法
KR101025807B1 (ko) * 2010-10-01 2011-04-04 박상구 인증방법 및 인증서버
KR20120037330A (ko) * 2010-10-11 2012-04-19 (주) 나무인터넷 이미지객체를 이용한 로그인 인증 방법 및 그 시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101480034B1 (ko) * 2013-02-22 2015-01-08 농협은행(주) Qr 보안코드를 이용한 금융 서비스 제공 방법
KR20140124289A (ko) * 2013-04-16 2014-10-24 삼성테크윈 주식회사 감시 카메라의 제어 방법
KR20200002145A (ko) * 2018-06-29 2020-01-08 김도완 원격 검침 시스템
KR20190138624A (ko) * 2019-12-03 2019-12-13 한화테크윈 주식회사 감시 카메라의 제어 방법
CN117176339A (zh) * 2023-08-31 2023-12-05 深圳手付通科技有限公司 一种在线更新pos终端设备主密钥TMK的方法和系统
CN117176339B (zh) * 2023-08-31 2024-06-18 深圳手付通科技有限公司 一种在线更新pos终端设备主密钥TMK的方法和系统

Also Published As

Publication number Publication date
KR101348249B1 (ko) 2014-01-08

Similar Documents

Publication Publication Date Title
KR101348249B1 (ko) Qr코드를 이용한 otp 인증방법 및 장치
US11210658B2 (en) Constructing a distributed ledger transaction on a cold hardware wallet
JP6399382B2 (ja) 認証システム
CN101064595B (zh) 一种计算机网络安全输入认证系统和方法
CN111079128A (zh) 一种数据处理方法、装置、电子设备以及存储介质
Rezaeighaleh et al. New secure approach to backup cryptocurrency wallets
CN102724041B (zh) 一种基于隐写术的密钥传输与密钥更新方法
CA3178180A1 (en) Constructing a distributed ledger transaction on a cold hardware wallet
CN110188551B (zh) 一种保单加密传输方法及系统
CN101278538A (zh) 用于用户认证的方法和设备
CN103380592A (zh) 用于个人认证的方法、服务器以及系统
JP5324813B2 (ja) 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム
Goel et al. LEOBAT: Lightweight encryption and OTP based authentication technique for securing IoT networks
CN1980127A (zh) 口令认证系统及口令认证方法
CN113826096A (zh) 利用用户生物特征识别数据的用户认证及签名装置和方法
Murkute et al. Online banking authentication system using qr-code and mobile OTP
CN108933659A (zh) 一种智能电网的身份验证系统及验证方法
CN107689867B (zh) 一种在开放环境下的密钥保护方法和系统
Huang et al. A secure wireless communication system integrating RSA, Diffie–Hellman PKDS, intelligent protection-key chains and a Data Connection Core in a 4G environment
JP5405057B2 (ja) 情報通信装置および公開鍵認証方法
Huang et al. Covert communication scheme based on Bitcoin transaction mechanism
CN110098915B (zh) 认证方法及系统、终端
KR101146509B1 (ko) 모바일 보안카드를 이용한 인터넷 뱅킹 거래 시스템 및 그 방법
WO2011052180A1 (ja) 暗号化メッセージ送信装置、プログラム、暗号化メッセージ送信方法および認証システム
Wu et al. Study on Delay Optimization of Fog Computing Edge Nodes Based on the CPSO‐LB Algorithm

Legal Events

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

Payment date: 20181231

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191230

Year of fee payment: 7