KR102353189B1 - 동적 2d 코드를 활용한 인증장치 및 그 장치의 구동방법 - Google Patents

동적 2d 코드를 활용한 인증장치 및 그 장치의 구동방법 Download PDF

Info

Publication number
KR102353189B1
KR102353189B1 KR1020200089728A KR20200089728A KR102353189B1 KR 102353189 B1 KR102353189 B1 KR 102353189B1 KR 1020200089728 A KR1020200089728 A KR 1020200089728A KR 20200089728 A KR20200089728 A KR 20200089728A KR 102353189 B1 KR102353189 B1 KR 102353189B1
Authority
KR
South Korea
Prior art keywords
code
dynamic
authentication
user
screen
Prior art date
Application number
KR1020200089728A
Other languages
English (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 KR1020200089728A priority Critical patent/KR102353189B1/ko
Application granted granted Critical
Publication of KR102353189B1 publication Critical patent/KR102353189B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • 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

Abstract

본 발명은 동적 2D 코드를 활용한 인증장치 및 그 장치의 구동방법에 관한 것으로서, 본 발명의 실시예에 따른 동적 2D 코드를 활용한 인증 장치는, 웹사이트에 접속 후 사용자의 로그인 요청시, 진본 코드와 더미 코드를 혼합하여 생성한 동적 2D 코드를 사용자의 디스플레이장치의 화면상에 번갈아가며 표시되도록 전송하고, 화면상의 동적 2D 코드를 스캔한 스캔 데이터를 사용자의 단말장치로부터 수신하는 통신 인터페이스부, 및 수신한 동적 2D 코드의 스캔 데이터 및 기설정한 코드 데이터를 근거로 사용자를 인증하며, 인증 결과를 근거로 디스플레이장치상에서의 사용자의 로그인을 자동으로 허용하는 제어부를 포함할 수 있다.

Description

동적 2D 코드를 활용한 인증장치 및 그 장치의 구동방법{Authentication device using dynamic 2D code and driving method Thereof}
본 발명은 동적 2D 코드를 활용한 인증장치 및 그 장치의 구동방법에 관한 것으로서, 더 상세하게는 가령 컴퓨터 모니터 등의 디스플레이상에 구현되는 동적 2D 코드를 사용자의 스마트폰 등으로 스캔하여 로그인 등의 인증 절차를 자동으로 수행하는 동적 2D 코드를 활용한 인증장치 및 그 장치의 구동방법에 관한 것이다.
일반적으로, 로그인(Log-in)은 다중 사용자 시스템에 네트워크를 이용하여 접속하고, 시스템 사용이 인증된 사용자임을 인증받기 위하여 단말기에 미리 등록된 사용자의 인증정보, 예를 들면 아이디(ID)와 패스워드(Password)를 입력하여 확인받음으로써 시스템에서 작업을 할 수 있도록 인증하는 과정이다. 이러한 로그인 과정은 네트워크를 통해 연결된 다양한 시스템에서 사용자의 확인을 위하여 광범위하게 사용된다. 현재의 로그인 과정은 사용자가 웹브라우저를 구비한 단말기에서 특정 온라인 웹사이트(website)에 접속하고, 온라인 웹사이트를 사용하기 위한 로그인 정보 즉, 사용자 아이디와 패스워드를 단말기에서 수동으로 입력하여 웹서버로 전송함으로써, 사용 인증을 받게 된다.
최근 들어, 컴퓨터와 정보통신의 발달에 따라 다양한 계층의 사용자들이 인터넷(internet)상에서 각종 정보들을 제공하는 온라인 웹사이트에 접속하여 자신이 원하는 정보를 취득하고 있으며, 대부분의 온라인 웹사이트들이 해당 정보를 이용하기 위해서는 회원가입을 요구하고 있다.
이로 인하여, 사용자들은 해당 온라인 웹사이트에서 요구하는 회원가입 절차와 가입양식에 따라 성명이나 이메일(E-mail), 전화번호 등과 같은 개인정보를 입력해야 함과 동시에 해당 온라인 웹사이트를 로그인하기 위한 고유의 아이디 및 패스워드를 설정하게 되며, 사용자는 자신이 가입한 회원제로 운영되는 온라인 웹사이트를 방문했을 때 기설정한 자신의 아이디와 패스워드를 통해 웹사이트에 로그인함으로써, 해당 온라인 웹사이트의 정보 이용이 가능하게 된다.
그러나, 이러한 방식은 해커에 의해 게임방 등에서 사용자가 접속하였을 경우에는 게임방 내 PC의 크래킹(cracking)에 의해 또는 아이디와 패스워드를 조합하는 불법 프로그램 등에 의해 이전 사용자의 아이디와 패스워드가 도용될 수 있는 위험에 노출되는 문제가 있다.
또한, 사용자는 웹사이트별로 자신의 ID와 PW를 일일이 설정 및 기억해야만 한다. 하지만, 사용자는 웹사이트의 특성 등에 따라 설정하는 ID와 PW가 다를 수 있으므로, 가입한 웹사이트의 수가 많아질수록 자신이 기억해야 할 ID와 PW의 수는 증가할 수밖에 없고, 이로 인해서 웹사이트별로 로그인을 할 때마다 해당 웹사이트에 설정한 자신의 ID와 PW를 연상하는 데에 어려움이 뒤따를 때가 많다.
나아가, 사용자는 임의의 웹사이트에 접속해서 로그인을 하려면 연상한 ID와 PW를 해당 웹사이트의 로그인 창에 일일이 입력해야 하는 번거로움도 있다.
한국등록특허공보 제10-1589706호(2016.01.22) 한국등록특허공보 제10-1652625호(2016.08.24) 한국등록특허공보 제10-1973249호(2019.04.22)
본 발명의 실시예는, 가령 컴퓨터 모니터 등의 디스플레이상에 구현되는 동적 2D 코드를 사용자의 스마트폰 등으로 스캔하여 로그인 등의 인증 절차를 자동으로 수행하는 동적 2D 코드를 활용한 인증장치 및 그 장치의 구동방법을 제공함에 그 목적이 있다.
본 발명의 실시예에 따른 동적 2D 코드를 활용한 인증 장치는, 웹사이트에 접속 후 사용자의 로그인 요청시, 진본 코드와 더미(dummy) 코드를 혼합하여 생성한 동적 2D 코드를 상기 사용자의 디스플레이장치의 화면상에 번갈아가며 표시하도록 전송하고, 상기 화면상의 동적 2D 코드를 스캔한 스캔 데이터를 상기 사용자의 단말장치로부터 수신하는 통신 인터페이스부, 및 상기 수신한 동적 2D 코드의 스캔 데이터 및 기설정한 코드 데이터를 근거로 상기 사용자를 인증하며, 인증 결과를 근거로 상기 디스플레이장치상에서의 상기 사용자의 로그인을 자동으로 허용하는 제어부를 포함한다.
상기 통신 인터페이스부는, 상기 사용자 단말장치에서 상기 동적 2D 코드를 스캔하기 위해 어플리케이션을 실행할 때 상기 스캔 데이터를 수신할 수 있다.
상기 제어부는, 상기 진본 코드와 상기 더미 코드를 각각 포함하는 복수의 코드 프레임을 시간 변화에 따라 번갈아가면 화면상에 표시하도록 상기 통신 인터페이스부를 제어할 수 있다.
상기 제어부는, 상기 동적 2D 코드를 상기 디스플레이장치로 전송 후에 지정된 시간이 경과되면 기전송한 상기 동적 2D 코드의 상태를 변경하여 상기 변경한 동적 2D 코드를 근거로 상기 인증을 수행할 수 있다.
상기 제어부는, 상기 동적 2D 코드를 활용한 사용자 인증 후에 지문, 패턴, 비밀번호 또는 안면인식의 추가 인증을 더 수행하여 상기 추가 인증의 결과에 따라 상기 로그인을 자동 허용할 수 있다.
또한, 본 발명의 실시예에 따른 동적 2D 코드를 활용한 인증 장치의 구동방법은, 통신 인터페이스부가, 웹사이트에 접속 후 사용자의 로그인 요청시, 진본 코드와 더미 코드를 혼합하여 생성한 동적 2D 코드를 상기 사용자의 디스플레이장치의 화면상에 번갈아가며 표시하도록 전송하고, 상기 화면상의 동적 2D 코드를 스캔한 스캔 데이터를 상기 사용자의 단말장치로부터 수신하는 단계, 및 제어부가, 상기 수신한 동적 2D 코드의 스캔 데이터 및 기설정한 코드 데이터를 근거로 상기 사용자를 인증하며, 인증 결과를 근거로 상기 디스플레이장치상에서의 상기 사용자의 로그인을 자동으로 허용하는 단계를 포함한다.
상기 수신하는 단계는, 상기 사용자 단말장치에서 상기 동적 2D 코드를 스캔하기 위해 어플리케이션을 실행할 때 상기 스캔 데이터를 수신하는 동적 2D 코드를 활용할 수 있다.
상기 허용하는 단계는, 상기 진본 코드와 상기 더미 코드를 각각 포함하는 복수의 코드 프레임을 시간 변화에 따라 번갈아가면 화면상에 표시하도록 상기 통신 인터페이스부를 제어할 수 있다.
상기 허용하는 단계는, 상기 동적 2D 코드를 상기 디스플레이장치로 전송 후에 지정된 시간이 경과되면 기전송한 상기 동적 2D 코드의 상태를 변경하여 상기 변경한 동적 2D 코드를 근거로 상기 인증을 수행할 수 있다.
상기 허용하는 단계는, 상기 동적 2D 코드를 활용한 사용자 인증 후에 지문, 패턴, 비밀번호 또는 안면인식의 추가 인증을 더 수행하여 상기 추가 인증의 결과에 따라 상기 로그인을 자동 허용할 수 있다.
한편, 본 발명의 실시예에 따른 컴퓨터 판독가능 기록매체는, 동적 2D 코드를 활용한 인증 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체로서, 상기 동적 2D 코드를 활용한 인증 방법은, 웹사이트에 접속 후 사용자의 로그인 요청시, 진본 코드와 더미 코드를 혼합하여 생성한 동적 2D 코드를 상기 사용자의 디스플레이장치의 화면상에 번갈아가며 표시하고, 상기 화면상의 동적 2D 코드를 스캔한 스캔 데이터를 수신하는 단계, 및 상기 수신한 동적 2D 코드의 스캔 데이터 및 기설정한 코드 데이터를 근거로 상기 사용자를 인증하며, 인증 결과를 근거로 상기 디스플레이장치상에서의 상기 사용자의 로그인을 자동으로 허용하는 단계를 실행한다.
본 발명의 실시예에 따르면, 웹사이트에 접속하여 기존처럼 패스워드나 아이디를 일일이 입력해야 하는 번거로움을 줄일 수 있을 것이다.
또한, 본 발명의 실시예는 많은 웹사이트의 아이디와 패스워드를 기억해야 하는 심리적 부담감을 줄일 수 있으며, 해킹 등의 위험에서도 좀더 자유로울 수 있을 것이다.
나아가, 본 발명의 실시예는 각 웹사이트마다 중복되는 개인정보 관리에 필요한 자원의 낭비를 막을 수 있고, 웹사이트에 직접 입력이 일체 없으므로 개인정보의 유출을 방지할 수 있으며, 동적 2D 코드를 사용하여 촬영 등의 수단에 의한 2D 코드 도용을 방지할 수 있을 것이다.
도 1a는 본 발명의 실시예에 따른 동적 2D 코드를 활용한 인증 시스템을 나타내는 도면,
도 1b는 본 발명의 실시예에 따른 코드 인증 과정의 개념을 설명하는 도면,
도 1c는 진본 코드와 더미 코드의 구성 예를 보여주는 도면,
도 2a는 도 1의 인증장치의 세부구조를 예시한 블록다이어그램,
도 2b는 도 2a의 동적코드 인증처리부의 세부구조를 예시한 블록다이어그램,
도 3은 도 1의 시스템에서의 로그인 프로세스를 예시한 도면,
도 4는 재방문 또는 자매사이트 방문시 로그인 프로세스를 예시한 도면,
도 5는 휴대폰 기반의 사용자 인증을 설명하기 위한 도면,
도 6은 사내 시스템에서의 사용자 인증을 설명하기 위한 도면,
도 7은 도 1의 시스템에서의 로그아웃 프로세스를 예시한 도면, 그리고
도 8은 본 발명의 실시예에 따른 동적 2D 코드를 활용한 인증장치의 구동과정을 나타내는 흐름도이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 상세히 설명한다.
도 1a는 본 발명의 실시예에 따른 동적 2D 코드를 활용한 인증 시스템을 나타내는 도면이고, 도 1b는 본 발명의 실시예에 따른 코드 인증 과정의 개념을 설명하는 도면이며, 도 1c는 진본 코드와 더미 코드의 구성 예를 보여주는 도면이다.
도 1a에 도시된 바와 같이, 본 발명의 실시예에 따른 동적 2D 코드를 활용한 인증 시스템(90)은 디스플레이장치(100), 사용자 단말장치(110), 통신망(120), 웹서비스장치(130) 및 인증장치(140)의 일부 또는 전부를 포함한다.
여기서, 디스플레이장치(100), 사용자 단말장치(110), 웹서비스장치(130) 및 인증장치(140) 중 적어도 하나의 장치는 본 발명의 실시예에 따른 동적 2D 코드를 활용한 인증장치가 될 수 있으며, "일부 또는 전부를 포함한다"는 것은 디스플레이장치(100)와 같은 일부 구성요소가 생략되어 시스템(90)이 구성되거나, 웹서비스장치(130)와 같은 일부 구성요소가 인증장치(140)와 같은 다른 구성요소에 통합되어 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
디스플레이장치(100)는 온라인 웹 사이트에 접속할 수 있는 다양한 영상표시장치를 포함한다. 예를 들어, 데스크탑컴퓨터, 랩탑컴퓨터, 태블릿PC, 스마트폰, 스마트 TV 및 국내 S사의 갤럭*기어와 같은 웨어러블장치를 포함한다. 본 발명의 실시예에 따른 디스플레이장치(100)는 사용자의 요청에 따라 도 1의 웹서비스장치(130)에 접속하여 웹사이트의 화면을 표시할 수 있다. 예를 들어, 웹사이트는 로그인을 위한 로그인 버튼을 화면에 표시할 수 있으며, 사용자가 화면상에서 로그인 버튼을 선택 즉 클릭한 경우, 디스플레이장치(100)는 본 발명의 실시예에 따른 동적 2D 코드를 화면에 표시할 수 있다. 물론 본 발명의 실시예에서는 로그인뿐 아니라, 결제 인증 등과 같이 인증을 요구하는 상황에서 다양하게 사용될 수 있으므로 로그인 동작에 특별히 한정하지는 않을 것이다. 동적 2D 코드와 관련한 구체적인 내용은 이후에 다시 다루겠지만, 본 발명의 실시예에 따른 동적 2D 코드는 QR 코드나 바코드와 같은 2D 코드를 화면에 표시하며, 진본 코드와 더미(dummy) 코드(혹은 가(假)본 코드)가 혼합되어 있는 형태의 생성되며, 가령 복수의 프레임(frame)에 각각의 코드를 형성하고 있어, 순환하는 형태로 화면에 표시된다. 이와 같이 순환이 이루어지므로 동적 2D 코드라 명명하는 것이다. 물론 본 발명의 실시예에서는 2D 코드에 특별히 한정하지는 않을 것이다.
예를 들어, 디스플레이장치(100)의 화면상에 영상을 구현할 때, 동작 주파수가 60㎐인 영상표시장치의 경우에는 초당 60장의 비디오 프레임을 화면에 구현한다. 이와 마찬가지로, 본 발명의 실시예에 따른 동적 2D 코드는 진본 코드와 더미 코드가 복수의 프레임에 각각 형성되고, 적어도 2개의 프레임이 순환하는 형태로 화면에 표시될 수 있다. 2개의 이상의 프레임으로 형성되며, 하나는 진본 프레임으로, 다른 하나는 더미 프레임으로 형성될 수 있다. 물론, 이러한 코드 프레임의 생성은 다양한 형태로 이루어질 수 있으므로, 본 발명의 실시예에서는 어느 하나의 형태에 특별히 한정하지는 않을 것이다.
디스플레이장치(100)는 접속하는 웹사이트에 따라 서로 다른 코드 정보를 갖는 동적 2D 코드를 화면에 표시할 수 있지만, 동적 2D 코드가 통합되는 경우에는 모든 웹사이트에 대하여 하나의 동적 2D 코드가 활용될 수도 있다. 마치 공인인증서를 사용하는 것과 마찬가지로 하나의 동적 2D 코드를 범용으로 사용하는 것이다. 물론 이러한 동적 2D 코드는 사용자마다 발행되어 사용될 수도 있다. 예를 들어, 인증장치(140)에서 통합하여 동적 2D 코드를 관리하는 경우에는 웹사이트별로 할당되는 동적 2D 코드를 저장하여 이를 활용할 수 있다. 그러나, 사용자마다 동적 2D 코드가 발행되는 경우에는 공인인증서와 같이 자신의 동적 2D 코드를 통해 모든 웹사이트에서 자동 로그인을 수행할 수 있다는 점에서 다소 차이가 있다. 본 발명의 실시예에서는 전자의 경우를 바람직하게 보고 있으나 그것에 특별히 한정하지는 않을 것이다.
또한, 디스플레이장치(100)는 최초 동적 2D 코드를 화면에 표시한 상태에서 지정된 시간이 경과되면 화면에 구현되던 동적 2D 코드를 변경할 수 있다. 예를 들어, 최초에는 5장의 코드 프레임을 화면에 구현하였다면 그 구현되는 코드 프레임의 개수를 변경할 수 있다. 가령, 3장의 코드 프레임을 화면에 구현하는 것이다. 또는 진본 코드나 더미 코드의 코드 데이터를 변경하는 것이다. 이에 따라 화면상에 표시되는 진본 프레임상의 코드 패턴은 주기적으로 변경될 수도 있다. 이와 같이 일정 시간이 경과할 때 주기적으로 동적 2D 코드의 상태를 변경함으로써 해킹 등에 대응할 수 있다.
디스플레이장치(100)는 사용자가 특정 웹사이트에 접속한 상태에서 로그인을 요청할 때 동작 코드를 화면에 표시할 수 있고, 가령 사용자가 자신이 소지하는 스마트폰, 또는 웨어러블장치 등의 사용자 단말장치(110)를 통해 가령 본 발명의 실시예에 따른 서비스를 이용하기 위한 어플리케이션(이하, 앱)을 실행한 후 해당 동적 2D 코드를 스캔하게 되면 스캔 데이터가 인증장치(140)로 전송되어 인증을 거치고, 인증 결과는 다시 웹서비스장치(130)로 전송되어 웹서비스장치(130)는 현재 접속되어 있는 디스플레이장치(100)의 로그인을 허용할 수 있다. 다시 말해, 디스플레이장치(100)는 동적 2D 코드의 스캔 동작을 통해 자동으로 로그인이 이루어지는 것이다. 화면상에는 로그인이 성공하였다는 팝업을 띄울 수 있지만, 별도의 팝업 없이 자동으로 로그인 화면으로 전환되는 것도 얼마든지 가능할 수 있다.
예를 들어, 스마트폰과 같은 사용자 단말장치(110)가 디스플레이장치(100)로서 웹사이트에 접속하는 경우를 가정해 보자. 이의 경우에는 셀프 동작이 가능할 수 있다. 다시 말해 사용자가 사용자 단말장치(110)를 통해 웹사이트에 접속하고, 해당 웹사이트에서 로그인 버튼을 손가락 터치 등을 통해 선택하게 된다. 그러면 화면상에 동적 2D 코드가 작동하게 된다. 이와 같이 동적 2D 코드가 작동하게 될 때, 스마트폰과 같은 사용자 단말장치(110)는 이 동적 2D 코드의 작동을 내부적으로 감지하고, 화면 캡쳐나 촬영 동작을 수행한 후, 인증장치(140)로 스캔 데이터를 자동으로 전송할 수 있다. 이에 따라 로그인이 자동으로 이루어질 수 있을 것이다. 물론 스캔 데이터는 복수의 코드 프레임에 대한 스캔 데이터이다.
본 발명의 실시예에서는 사용자가 스마트폰이나 웨어러블장치 등의 사용자 단말장치(110)를 이용하여 앱을 실행한 후 주변의 컴퓨터나 스마트TV와 같은 디스플레이장치(100)의 화면에서 작동되고 있는 동적 2D 코드를 촬영하는 것으로 설명한다. 사용자 단말장치(110)는 앱을 실행하여 디스플레이장치(100)의 화면상의 동적 2D 코드를 촬영하면, 해당 동적 2D 코드에는 URL 주소정보를 나타내는 패턴이 형성되어 있고, 해당 동적 2D 코드의 인식을 통해 스캔 데이터가 바로 인증장치(140)로 전송된다. 이와 같이 사용자 단말장치(110)를 통해서 주변의 디스플레이장치(100)의 화면에 구현되는 동적 2D 코드를 인식하는 행위만으로 번거로운 절차 없이 편하게 로그인 동작이 이루어질 수 있게 되는 것이다.
가령, 시스템 설계자의 의도에 따라 추가 인증이 이루어지도록 한 경우를 가정해 보자. 다시 말해 디스플레이장치(100)상에 동적 2D 코드를 사용자 단말장치(110)로 스캔한 후 스캔 데이터를 인증장치(140)로 전송하면, 인증장치(140)는 해당 사용자 단말장치(110)로 추가 인증을 요청하는 것이다. 가령, 지문을 인식하도록 하거나, 화면상에 일정 패턴을 그리거나, 비밀번호를 입력하거나, 안면인식 등의 추가 인증을 요청할 수 있다. 물론, SMS 메시지 등을 통해 인증번호를 발송하여 이를 입력하도록 할 수도 있다. 초기 인증의 성공 여부와 관계없이 추가 인증이 이루어질 수 있지만, 사용자는 초기 인증에 성공했을 때 추가 인증을 요구받을 수 있다. 혹은 초기 인증에 실패했을 때 추가 인증을 요구받을 수도 있다.
통신망(120)은 유무선 통신망을 모두 포함한다. 가령 통신망(120)으로서 유무선 인터넷망이 이용되거나 연동될 수 있다. 여기서 유선망은 케이블망이나 공중 전화망(PSTN)과 같은 인터넷망을 포함하는 것이고, 무선 통신망은 CDMA, WCDMA, GSM, EPC(Evolved Packet Core), LTE(Long Term Evolution), 와이브로(Wibro) 망 등을 포함하는 의미이다. 물론 본 발명의 실시예에 따른 통신망(120)은 이에 한정되는 것이 아니며, 향후 구현될 차세대 이동통신 시스템의 접속망으로서 가령 클라우드 컴퓨팅 환경하의 클라우드 컴퓨팅망, 5G 통신망 등에 사용될 수 있다. 가령, 통신망(120)이 유선 통신망인 경우 통신망(120) 내의 전화국의 교환국 등에 접속할 수 있지만, 무선 통신망인 경우에는 통신사에서 운용하는 SGSN 또는 GGSN(Gateway GPRS SupportNode)에 접속하여 데이터를 처리하거나, BTS(Base Station Transmission), NodeB, e-NodeB 등의 다양한 중계기에 접속하여 데이터를 처리할 수 있다.
통신망(120)은 액세스포인트(AP)를 포함한다. 액세스포인트는 건물 내에 많이 설치되는 펨토(femto) 또는 피코(pico) 기지국과 같은 소형 기지국을 포함한다. 여기서, 펨토 또는 피코 기지국은 소형 기지국의 분류상 디스플레이장치(100)나 사용자 단말장치(110) 등을 최대 몇 대까지 접속할 수 있느냐에 따라 구분된다. 물론 액세스포인트는 디스플레이장치(100)나 사용자 단말장치(110) 등과 지그비 및 와이파이(Wi-Fi) 등의 근거리 통신을 수행하기 위한 근거리통신 모듈을 포함한다. 액세스포인트는 무선통신을 위하여 TCP/IP 혹은 RTSP(Real-Time Streaming Protocol)를 이용할 수 있다. 여기서, 근거리 통신은 와이파이 이외에 블루투스, 지그비, 적외선(IrDA), UHF(Ultra High Frequency) 및 VHF(Very High Frequency)와 같은 RF(Radio Frequency) 및 초광대역 통신(UWB) 등의 다양한 규격으로 수행될 수 있다. 이에 따라 액세스포인트는 데이터 패킷의 위치를 추출하고, 추출된 위치에 대한 최상의 통신 경로를 지정하며, 지정된 통신 경로를 따라 데이터 패킷을 다음 장치, 예컨대 웹사이트장치(130)나 인증장치(140)로 전달할 수 있다. 액세스포인트는 일반적인 네트워크 환경에서 여러 회선을 공유할 수 있으며, 예컨대 라우터(router), 리피터(repeater) 및 중계기 등이 포함될 수 있다.
웹서비스장치(130)는 온라인 서비스를 제공하는 업체의 웹서버를 포함한다. 대표적으로 야* 등의 포털 기업의 포털사이트일 수 있으며, 언론이나 방송사의 웹사이트일 수 있다. 이와 같이 웹서비스장치(130)는 국내외를 막론하고 온라인상에서 웹사이트를 운영하고 서비스를 제공하며, 회원가입을 통해 별도의 로그인이 필요한 다양한 유형의 서버를 포함할 수 있다.
웹서비스장치(130)는 인증장치(140)와 연계하여 동작한다. 물론 인증장치(140)가 웹서비스장치(130)와 통합되어 구동하거나, 인트라넷과 같은 사내망으로 연결되어 동작할 수도 있다. 예를 들어, 웹서비스장치(130)는 디스플레이장치(100)에서 웹사이트에 접속하였을 때 그 디스플레이장치(100)의 장치 ID와 같은 식별정보를 통해 통신을 수행할 수 있다. 이를 근거로 데이터를 처리하고 처리 결과는 DB(130a)에 저장시킬 수 있다. 가령 디스플레이장치(100)에서 웹서비스장치(130)에 접속한 후 사용자가 로그인을 선택하면, 웹서비스장치(130)는 인증장치(140)로 동적 2D 코드의 발행 또는 전송을 요청할 수 있다. 이를 통해 인증장치(140)로부터 해당 웹서비스장치(130)에 특화된 동적 2D 코드가 전송될 수도 있다. 물론 동적 2D 코드의 전송은 웹서비스장치(130)에서 수행하고, 인증장치(140)에서는 그에 따른 인증 결과만 수신하는 것도 얼마든지 가능하므로 본 발명의 실시예에서는 어느 하나의 형태에 특별히 한정하지는 않을 것이다.
또한, 웹서비스장치(130)는 디스플레이장치(100)로 전송한 동적 2D 코드에 대하여 인증장치(140)로부터 인증 결과가 제공되면 해당 인증 결과를 근거로 현재의 디스플레이장치(100)에서 로그인을 요청한 사용자의 로그인을 허용한다. 다시 말해 로그인을 성공하였다는 팝업창을 전송해 주거나 자동 로그인된 화면으로 전환시킬 수 있는 것이다. 이와 같이 로그인이 완료되면 사용자는 이후 접속한 웹사이트에서 마이페이지 등에 접속하거나 결제 동작을 수행하는 등 이후에 이루어질 수 있는 다양한 유형의 동작을 수행할 수 있다. 다시 말해, 웹사이트에서 제공하는 주요 기능을 활용할 수 있게 되는 것이다.
정리해 보면, 웹서비스장치(130)는 디스플레이장치(100)의 웹사이트 접속시 서비스 화면 즉 콘텐츠 화면을 제공하며, 사용자로부터 로그인 요청이 있을 때, 인증장치(140)에 요청하여 해당 디스플레이장치(100)로 동적 2D 코드가 전송되도록 할 수 있으며, 이후 인증장치(140)에서 해당 사용자에 대한 인증 결과가 수신되면 이를 근거로 해당 사용자의 로그인을 자동으로 허용하게 되는 것이다.
인증장치(140)는 도 1a에서는 하나의 웹서비스장치(130)에 연동하는 것으로 도시하였지만, 실제로는 다수의 웹서비스장치(130)에 연결되어 동작하며, 동적 2D 코드의 발행 및 인증만을 전문적으로 수행할 수 있다. 인증장치(140)는 웹서비스장치(130)를 운영하는 웹사이트 업체의 담당자가 요청하는 동적 2D 코드를 생성할 수 있다. 인증장치(140)에서 동적 2D 코드를 형성하는 과정은 다양하게 이루어질 수 있다. 다시 말해, 웹사이트마다 서로 다른 동적 2D 코드를 생성하여 사용하거나, 모든 웹사이트에서 하나의 동적 2D 코드를 사용하도록 할 수 있거나, 해당 하나의 동적 2D 코드가 주기적으로 변경되도록 하거나 하는 등 다양한 방식으로 동적 2D 코드를 운영할 수 있다. 물론 인증장치(140)는 새롭게 동적 2D 코드가 발급되거나 하는 경우에는 이를 인식하는 것은 분명하다.
본 발명의 실시예에 따라 인증장치(140)는 웹서비스장치(130)의 요청에 따라 특정 식별정보를 갖는 디스플레이장치(100)로 사용자 인증을 위한 동적 2D 코드를 전송한다. 물론 디스플레이장치(100)로 동적 2D 코드를 전송하였다는 사실은 웹서비스장치(130)와 인증장치(140)가 서로 공유한다. 따라서, 해당 공유 정보를 근거로 인증장치(140)로부터 인증결과가 전송되며, 해당 사용자, 더 정확하게는 디스플레이장치(100)에서의 로그인 요청에 대한 로그인 접속을 허용할 수 있다. 예를 들어, 인증장치(140)는 해당 발행한 코드를 스캔한 스캔 데이터를 사용자 단말장치(110)로부터 수신하여 기저장된 코드 데이터와 비교하여 인증을 수행할 수 있다. 가령, 동적 2D 코드에는 디스플레이장치(100)의 식별정보가 포함될 수도 있다. 따라서, 사용자 단말장치(110)를 통해 스캔 데이터가 수신되면 해당 스캔 데이터에서 디스플레이장치(100)의 식별정보를 인식할 수 있고, 이를 통해 인증장치(140)는 수신한 스캔 데이터와, 그 스캔 데이터를 비교하기 위한 기설정된 코드 데이터를 쉽게 검색하여 비교 동작을 수행할 수 있게 된다.
가령, 시스템 설계자의 의도에 따라 추가 인증이 이루어지도록 시스템이 구성된 경우라면 인증장치(140)는 추가 인증을 위한 동작을 사용자 단말장치(110)와 수행할 수 있다. 사전에 사용자 단말장치(110)를 등록하기 위한 동작이 선행될 수도 있다. 그러나, 사용자 단말장치(110)에서 스캔 데이터를 전송할 때, 자신의 식별정보를 함께 전송하게 되므로 인증장치(140)는 이를 근거로 추가 인증을 사용자 단말장치(110)와 수행할 수 있다. 앞서 언급한 대로 추가 인증은 지문인식, 패턴 그리기, 비밀번호 입력, 안면 인식 등 다양한 방식이 이루어질 수 있다.
본 발명의 실시예에 따른 인증장치(140)는 웹 사이트 통합 인증 솔루션을 실행할 수 있다. 통합 인증(SSO: Single Sing-On)은 한번의 인증 과정으로 여러 컴퓨터상의 자원을 이용 가능하게 하는 인증 기능이다. 싱글 사인온, 단일 계정 로그인, 단일 인증이라고 하며 사용자는 여러 개의 아이디와 비밀번호를 관리하지 않고 통합 인증을 도입한 환경에서 하나의 아이디와 비밀번호로 모든 기능을 사용할 수 있는 것과 동일한 동작이라 볼 수 있다.
도 1b를 참조하면, 본 발명의 실시예에 따른 디스플레이 기반의 동적 2D 코드 인증 방법은 디스플레이 환경에서 2D 코드를 생성할 때 인증에 필요한 정보를 포함하는 2D 코드 이외에 추가로 여러 개의 더미 2D 코드를 생성한다. 이후 특정 주기를 설정하여 인증을 위한 2D 코드 이미지가 출력되는 화면 내에 인증에 필요한 정보를 포함하는 2D 이미지와 여러 개의 더미 2D 이미지를 번갈아 출력될 수 있도록 동적 2D 코드 출력 환경을 구성한다. 이후 2D 코드 리더기에서는 동일한 주기 기반으로 목적에 알맞은 2D 코드 이미지와 더미 2D 코드 이미지들을 인식하고 그 중 올바른 해쉬 코드 및 올바른 OTP 토큰 값을 가지는 2D 코드 이미지를 가지는 지를 검사하여 인증한다.
도 1c의 (a)에 예시한 바와 같이, 인증에 필요한 정보를 포함하는 2D 코드(20)는 OTP 토큰 값(22), 고유 식별자(예를 들어, 사원번호 "00000001", 24), 해쉬 코드(26)를 포함한다. 고유 식별자(24)는 다른 사람과 다른 유일의 것이다. OTP 토큰 값(22)은 현재 시간을 기반으로 OTP 생성기에 의해 생성되는 것이며, 고유 식별자(42)에 할당된 고유키(미도시)와 현재 시간을 변수로 하여 생성된다. 고유키는 고유 식별자(24)에 할당된 고유의 것이며, 사용자 단말기 및 인증 서버의 데이터베이스에 저장된 것이다. OTP 토큰 값(22)은 T 시간을 주기로 주기적으로 생성된다. 해쉬코드(26)는 OTP 토큰 값(22)와 고유 식별자(24)를 포함하여 2D 코드(20)의 내용물을 해싱하여 붙여준 것이다.
도 1c의 (b)에 예시한 바와 같이, 더미 2D 코드(30)는 OTP 토큰 값(32), 더미 고유 식별자(34), 더미 해쉬 코드(36)를 포함한다. 더미 OTP 토큰 값(32)은 인증에 필요한 정보를 포함하는 2D 코드(20)의 OTP 코드값(22)과 같은 길이의 랜덤한 값을 갖는다. 더미 고유 식별자(34)는 인증에 필요한 정보를 포함하는 2D 코드의 고유 식별자(24)와 같은 길이의 랜덤한 값을 갖는다. 더미 해쉬 코드(36)는 더미 OTP 토큰 값(32)과 더미 고유 식별자(34)를 포함하여 더미 2D 코드(30)의 내용물을 해싱하고 여기에 임의의 값을 더하여 틀린 값으로 만든 것이다.
도 2a는 도 1의 인증장치의 세부구조를 예시한 블록다이어그램이다.
도 2a에 도시된 바와 같이, 본 발명의 실시예에 따른 도 1a의 인증장치(140)는 동적 2D 코드를 활용한 인증장치이거나 동적 2D 코드를 활용한 인증을 수행하기 위한 장치 중 하나의 장치로서 동작할 수 있으며, 통신 인터페이스부(200), 제어부(210), 동적코드 인증처리부(220) 및 저장부(230)의 일부 또는 전부를 포함한다.
여기서, "일부 또는 전부를 포함한다"는 것은 저장부(230)와 같은 일부 구성요소가 생략되어 구성되거나, 동적코드 인증처리부(220)와 같은 구성요소가 제어부(210)와 같은 다른 구성요소에 통합되어 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
통신 인터페이스부(200)는 도 1의 통신망(120)을 경유하여 디스플레이장치(100), 사용자 단말장치(110) 및 웹서비스장치(130)와 통신한다. 통신 인터페이스부(200)는 통신을 수행하는 과정에서 변/복조, 먹싱/디먹싱, 인코딩/디코딩 및 해상도를 변환하는 스케일링 등의 동작을 수행할 수도 있다. 이는 당업자에게 자명하므로 더 이상의 설명은 생략하도록 한다.
통신 인터페이스부(200)는 가령 웹서비스장치(130)의 요청에 따라 디스플레이장치(100)로 웹서비스장치(130)의 웹사이트에 관계되는 동적 2D 코드를 전송할 수 있다. 여기서, 동적 2D 코드는 진본 코드와 더미 코드를 혼합한 형태의 코드를 의미하며, 2개 이상의 코드 프레임으로 구성될 수 있다. 가령 3개의 코드 프레임을 형성하는 경우 진본 코드는 하나의 프레임으로, 그리고 더미 코드는 2개의 프레임을 구성되는 등 다양한 형태로 동적 2D 코드가 형성될 수 있다.
또한, 통신 인터페이스부(200)는 디스플레이장치(100)로 전송한 동적 2D 코드에 대한 스캔 데이터를 사용자 단말장치(110)로부터 수신할 수 있다. 통신 인터페이스부(200)는 디스플레이장치(100)로 전송한 동적 2D 코드에 대한 코드 데이터와 사용자 단말장치(110)로부터 수신한 스캔 데이터를 비교하여 인증을 수행한다. 그리고 인증 결과를 웹서비스장치(130)로 전송할 수 있다.
나아가, 통신 인터페이스부(200)는 즉 인증장치(140)는 웹서비스장치(130)와의 연동에 따라 추가 인증을 수행하도록 설정된 경우에는 1차 인증 결과 정당 사용자로 판단될 때 사용자 단말장치(110)로 2차 인증을 수행할 수 있다. 물론 1차 인증 결과와 2차 인증 결과를 통합하여 결과를 처리할 수 있지만, 1차 인증에서 정당 사용자로 판단될 때 2차 인증을 진행하는 것이 바람직하다. 최종적으로 인증이 완료되면 인증 결과를 웹서비스장치(130)로 전송할 수 있다.
이외에도 통신 인터페이스부(200)는 디스플레이장치(100)로 동적 2D 코드를 전송한 이후에 일정 시간의 경과 후에도 해당 동적 2D 코드에 대한 스캔 데이터가 수신되지 않는 경우, 기전송한 동적 2D 코드를 변경하여 새로운 동적 2D 코드를 디스플레이장치(100)로 전송할 수 있다. 새로운 동적 2D 코드는 코드 프레임의 개수를 변경하거나, 가령 진본 코드에 포함되는 코드 데이터를 변경하여 전송할 수 있다.
제어부(210)는 도 2의 통신 인터페이스부(200), 동적코드 인증처리부(220) 및 저장부(230)의 전반적인 제어 동작을 담당한다. 대표적으로 제어부(210)는 웹서비스장치(130)로부터 특정 디스플레이장치(100)로 동적 2D 코드의 전송 요청이 있으면, 해당 웹서비스장치(130)와 관련한 동적 2D 코드, 가령 전용 동적 2D 코드나 통합 동적 2D 코드가 있는 경우에는 해당 동적 2D 코드를 전송할 수 있다. 이를 위하여 제어부(210)는 동적코드 인증처리부(220)를 동작시킬 수 있다.
또한, 제어부(210)는 디스플레이장치(100)로 전송한 동적 2D 코드에 대한 스캔 데이터가 사용자 단말장치(110)로부터 수신되는 경우 이를 저장부(230)에 임시 저장할 수 있으며, 수신된 스캔 데이터는 복수의 코드 프레임에 대한 스캔 데이터를 저장한 후 불러내어 동적코드 인증처리부(220)로 제공할 수 있다. 이에 따라 동적코드 인증처리부(220)로부터 인증 결과가 제공되면 제어부(210)는 해당 인증 결과를 웹서비스장치(130)로 전송하도록 통신 인터페이스부(200)를 제어한다.
물론 제어부(210)는 이외에도 동적코드 인증처리부(220)와 연계하여 다양한 동작을 수행할 수 있다. 예를 들어, 웹사이트마다 전용 동적 2D 코드가 사용되는 경우에는 해당 웹사이트의 정보, 가령 URL 주소정보를 포함하는 동적 2D 코드를 생성하여 저장부(230) 등에 저장시킨 후 이를 이용할 수 있다.
동적코드 인증처리부(220)는 웹서비스장치(130)와 연계하여 동작하기 위한 동적 2D 코드의 생성 동작, 또 생성한 동작 코드를 기설정된 코드 데이터와 비교하여 인증을 수행하는 동작, 일정 시간이 경과될 때 변경된 동적 2D 코드를 발행하기 위한 동작, 가령 1차 인증의 결과를 근거로 2차 인증을 수행하기 위한 동작 등을 수행할 수 있다. 동적 2D 코드는 하나의 동적 2D 코드를 모든 사이트에서 범용으로 사용하도록 할 수 있으며, 이의 경우 일정 시간이 경과될 때 변경하여 사용할 수도 있다. 또는 웹사이트마다 전용으로 사용하기 위한 동적 2D 코드를 생성할 수도 있다. 또한, 1차 인증 결과에 따라, 가령 1차 인증 결과 정당 사용자로 판단될 때 2차 인증을 수행할 수 있지만 1차 인증의 실패가 있을 때 2차 인증을 수행하는 방식으로 인증을 수행할 수도 있다.
무엇보다 본 발명의 실시예에 따른 동적코드 인증처리부(220)는 복수의 코드 프레임에 진본 코드와 더미 코드를 포함하여 동적 2D 코드를 생성하고, 해당 동적 2D 코드를 특정 사이트에 접속한 디스플레이장치(100)에서 로그인 요청이 있을 때, 전송하며, 해당 전송한 동적 2D 코드의 코드 데이터와 디스플레이장치(100)의 화면에서 동적 구동하는 동적 2D 코드를 스캔 혹은 인식하여 취득한 스캔 데이터를 사용자 단말장치(110)로부터 제공받아 저장한 코드 데이터와 수신한 스캔 데이터를 비교하여 인증을 수행한다. 동적 2D 코드의 생성과 관련한 내용은 이후에 좀더 다루기로 한다.
저장부(230)는 제어부(210)의 제어하에 처리되는 다양한 동작을 수행할 수 있다. 가령 도 1a의 웹서비스장치(130)에서 동적 2D 코드를 전송하는 경우를 가정해 보자. 이의 경우 제어부(210)는 동적 2D 코드를 저장부(230)에 임시 저장한 후 동적코드 인증처리부(220)에 제공하여 코드 데이터를 생성하는 동작을 수행하도록 할 수 있다. 즉 동적 2D 코드를 분석하여 얻은 분석 결과를 동적코드 인증처리부(220)는 SW 모듈 내의 레지스트리에 저장하거나, 저장부(230)에 저장시킬 수 있다.
한편, 본 발명의 다른 실시예로서, 도 2의 제어부(210)는 CPU와 메모리를 포함하여 구성될 수 있다. 여기서, CPU는 제어기능을 담당하는 제어회로, 연산부(ALU), 명령어해석부, 레지스트리 등을 포함할 수 있다. 제어회로는 제어동작을 담당하고, 연산부는 비트정보의 연산처리에 관여하며, 명령어해석부는 기계어 해석 동작을 수행한다. 다시 말해, 비트정보를 해석하여 어떠한 동작을 수행해야 할지를 판단하는 것이다. 레지스트리는 데이터의 일시적인 저장에 관여할 수 있다. 상기의 구성에 따라, CPU는 인증장치(140)의 초기 구동시 동적코드 인증처리부(220)에 저장되어 있는 프로그램을 복사하여 메모리에 로딩하여 저장한 후 이를 실행시킴으로써 데이터 연산처리 속도를 빠르게 증가시킬 수 있게 된다.
도 2b는 도 2a의 동적코드 인증처리부의 세부구조를 예시한 블록다이어그램이다.
도 2b에 도시된 바와 같이, 도 2a의 동적코드 인증처리부(220)는 가령 동적코드 생성부(221)와 동적코드 인증부(223)의 일부 또는 전부를 포함할 수 있고, 여기서 동적코드 생성부(221)는 해쉬 코드 생성기(221a), 더미 QR코드 생성기(221b), 제1 OTP 생성기(221c) 및 QR코드 생성기(221d)의 일부 또는 전부를 포함하고, 동적코드 인증부(223)는 QR 코드 리더기(223a), 해쉬 코드 인증부(223b), (제1) OTP 인증부(223c), 제2 OTP 생성기(223d) 및 데이터베이스(223e)의 일부 또는 전부를 포함하며, 여기서 "일부 또는 전부를 포함"한다는 것은 앞서서의 의미와 동일하다.
가령 도 1a의 인증장치(140)는 인증에 필요한 정보를 가지는 QR 코드 및 n(n은 가변가능한 정수) 개의 더미 QR 코드를 번갈아 출력하고, 인식된 QR 코드로부터 해쉬 코드 및 OTP 토큰 값을 읽어들이고 이를 이용하여 QR 코드를 인증한다. 제1 OTP 생성기(221c)는 고유키 및 현재 시간에 기반한 OTP 토큰 값을 생성한다. 해쉬 코드 생성기(221a)는 OTP 토큰 값 및 고유 식별자 1을 인증하기 위한 해쉬 코드를 생성한다. 고유키는 기저장된 것이다. QR 코드 생성기(221d)는 OTP 토큰 값 고유 식별자, 그리고 해쉬 코드를 입력하여 QR 코드를 생성한다. QR 코드는 OTP 토큰 값, 고유 식별자, 그리고 해쉬 코드를 갖는다. 해쉬 코드는 OTP 토큰 값과 고유 식별자를 인증하기 위한 것이다. 더미 QR 코드 생성기(221b)는 n개의 더미 QR 코드를 생성한다. 여기서, n은 가변 가능한 정수이며, 예를 들어, 1초당 5 ~ 10일 수 있다. 더미 QR 코드는 더미 OTP 토큰 값, 더미 고유 식별자, 그리고 더미 해쉬 코드를 가진다. 더미 OTP 토큰 값은 OTP 코드값과 같은 길이의 랜덤함 값을 갖는다. 더미 고유 식별자는 고유 식별자와 같은 길이의 랜덤한 값을 갖는다. 더미 해쉬 코드는 더미 OTP 토큰 값과 더미 고유 식별자를 포함하여 더미 2D 코드의 내용물을 해싱하고 여기에 임의의 값을 더하여 틀린 값으로 만든 것이다.
생성된 동적 2D 코드는 디스플레이장치(100)로 전송되며, 디스플레이장치(100)는 T의 주기로 인증에 필요한 QR 코드 및 n개의 더미 QR 코드를 번갈아 출력한다. 여기서, 디스플레이장치(100)는 n개의 더미 QR 코드를 일정한 순서에 따라 반복적으로 출력할 수도 있고 랜덤하게 순서를 바꾸어 출력할 수도 있다.
또한 동적코드 인증부(223)의 QR 코드 리더기(223a)는 디스플레이장치(100)에서 출력되는 n+1개의 QR 코드를 인식하고, OTP 토큰 값, 고유 식별자, 해쉬 코드를 추출한다. 해쉬 코드 인증부(223b)는 추출한 해쉬 코드를 이용하여 OTP 토큰 값 및 고유 식별자를 인증한다. 인식한 QR 코드의 내용물(예: OTP 토큰, 고유 식별자)을 해싱하여 생성한 해쉬 코드가, 읽어낸 해쉬 코드와 일치하는지 여부로 더미 2D 코드인지 인증에 필요한 정보를 포함한 2D 코드인지 식별한다. 정보를 포함한 2D 코드를 식별해내면, 데이터베이스(223e)를 참조하여 고유 식별자에 할당된 고유 키를 읽어낸다. OTP 생성부(223d)는 데이터베이스(223e)로부터 읽어낸 고유키 및 OTP 생성 알고리즘에 의해 OTP 토큰 값을 생성한다. OTP 인증부(223c)는 OTP 생성기(223d)에 의해 생성된 OTP 토큰 값이 QR 코드로부터 추출한 OTP 토큰 값과 같은지를 인증한다. OTP 인증부(223c)는 OTP 생성부(223d)에 의해 생성된 OTP 토큰 값이 QR 코드로부터 추출한 OTP 토큰 값과 같은 것으로 판단되면, 해당 QR코드가 올바른 QR 코드인 것으로 인증한다.
도 3은 도 1a의 시스템에서의 로그인 프로세스를 예시한 도면이다.
설명의 편의상 도 3에서는 모바일 기기(111), PC(113), 웹서버(130') 및 인증서버(140')로 가정하여 설명하도록 한다.
사용자는 PC(110)상에서 웹 사이트에 접속하여 웹 페이지를 요청하고(S300), 웹서버(130')는 PC(113)에서 접속한 웹사이트에 관련되는 동적 QR(예: 인증토큰)의 발급을 인증서버(140')에 요청할 수 있다(S301 ~ S303).
이를 통해 인증서버(140')는 동적 QR을 PC(113)로 전송하고, PC(113)상에는 동적 QR이 표시될 수 있다(S304).
모바일 기기(110)는 PC(113)의 화면에 표시되는 동적 QR을 스캔하여 2차 인증까지 진행하여 인증서버(140')로 인증을 요청할 수 있다(S313 ~ S317). 인증을 처리하는 과정에서 인증서버(140')는 모바일 기기(110)와 통신하여 개인정보 항목 선택 및 가입 동의 등의 동작을 더 수행할 수 있다(S316).
그리고 인증서버(140')는 PC(113)로 제공한 QR 코드에 대하여 지정된 시간이 경과되면 동적 QR을 재발급하기 위한 동작을 수행할 수 있다(S305, S318).
또한, PC(113)는 세션ID 쿠키 저장, 페이지 새로 고침 등의 다양한 동작을 수행할 수 있으며(S306 ~ S309), 인증 결과 정당 사용자로 판단되면 회원 가입 처리를 완료하거나(S311, S313), 재접속인 경우에는 로그인 화면으로 이동할 수 있다(S312).
도 4는 재방문 또는 자매사이트 방문시 로그인 프로세스를 예시한 도면이다.
도 4에 도시된 바와 같이, PC(113)는 웹서버(130')에 접속하여 웹 페이지 즉 웹 서비스 화면을 요청한다(S400).
또한, 웹서버(130')는 사용자 요청에 따라 쿠키의 세션 ID 확인, 로그인 확인 및 사용자 정보 요청 여부를 판단한다(S401, S402).
그리고 웹서버(130')는 인증서버(140')로 세션확인 및 사용자 정보를 제공하며, 인증서버(140')로부터 로그인 처리 및 웹페이지 이동을 명령받는다(S403, S404).
또한, 웹서버(130')는 인증서버(140')의 지시에 따라 PC(113)로 로그인 화면을 제공할 수 있다(S405).
도 5는 휴대폰 기반의 사용자 인증을 설명하기 위한 도면이다.
도 5에 도시된 바와 같이, 모바일 기기(111)에는 본 발명의 실시예에 따른 동작을 수행하기 위한 앱이 설치될 수 있다(S500).
모바일 기기(111)에서 휴대폰 인증을 요청하면, 가령 도 1a에서와 같이 디스플레이장치(100)의 화면에 표시된 동적 2D 코드를 스캔하여 인증을 수행한 후 추가 인증을 진행하는 경우에 인증을 요청할 수 있으며, 이의 경우 인증서버(140')는 인증번호를 발급하고 SMS 등을 통해 발송할 수 있다(S501 ~ S503).
모바일 기기(110)는 수신한 인증번호를 입력하여 인증서버(140')로 인증번호의 검증을 요청할 수 있으며, 사용자 인증 성공시 2차 인증 설정을 위한 동작을 진행할 수 있다(S504 ~ S508).
물론, 모바일 기기(111)에서 동적 2D 코드의 스캔 데이터를 전송할 때, 식별정보가 전송되므로, 이를 근거로 바로 2차 인증을 진행할 수도 있으므로, 본 발명의 실시예에서는 도 5의 내용에 특별히 한정하지는 않을 것이다.
모바일 기기(111)는 S508 단계를 통해 2차 인증을 위한 설정 동작을 완료할 수 있으며, 이후 2차 인증을 진행할 때 기설정한 방식이나 데이터를 이용하여 로그인을 수행할 수 있다(S510 ~ S512).
도 6은 사내 시스템에서의 사용자 인증을 설명하기 위한 도면이다.
도 6은 도 5에서와 크게 다르지 않다. 다만, 모바일 기기(111)는 본 발명의 실시예에 따른 앱을 설치한 상태에서 인증서버(140')로부터 발급된 QR 코드를 SMS 등의 방식으로 모바일 기기(111)로 전송할 수 있다(S600 ~ S602).
모바일 기기(111)는 앱 실행이나 QR 코드 스캔 후 인증서버(140')로 유효성 검증을 요청할 수 있다(S603 ~ S605).
사용자 인증에 성공하면, 모바일 기기(111)는 2차 인증을 위한 설정 동작을 완료한다(S607).
이후 모바일기기(111)는 앱이 실행되면, 2차 인증을 진행하여 로그인을 수행할 수 있게 된다(S610 ~ S612).
도 7은 도 1의 시스템에서의 로그아웃 프로세스를 예시한 도면이다.
도 7에 도시된 바와 같이, PC(113)에서 로그아웃 요청이 있으면(S700), 웹서버(130')는 인증서버(140')와 연계하여 로그아웃을 위한 동작을 수행한다. 이를 위해 인증서버(140')는 해당 세션을 파기하고, 웹서버(130')로 이의 사실을 통지할 수 있으며, 웹서버(130')는 로그아웃 처리 후 웹페이지를 이동할 수 있다(S701 ~ S704).
도 8은 본 발명의 실시예에 따른 동적 2D 코드를 활용한 인증장치의 구동과정을 나타내는 흐름도이다.
설명의 편의상 도 8을 도 1과 함께 참조하면, 본 발명의 실시예에 따른 동적 2D 코드를 활용한 인증장치 중 하나로서 인증장치(140)는 가령 디스플레이장치(100)에서 웹사이트에 접속 후 사용자의 로그인 요청시 진본 코드와 더미 코드를 혼합하여 생성한 동적 2D 코드를 사용자의 디스플레이장치(100)의 화면상에 번갈아 가며 표시하도록 전송하고, 화면상의 동적 2D 코드를 스캔한 스캔 데이터를 사용자의 단말장치(110)로부터 수신한다(S800).
사용자의 사용자 단말장치(110)를 등록하기 위한 별도의 동작이 사전에 이루어질 수 있지만, 동적 2D 코드를 전송할 때 디스플레이장치(100)의 식별정보를 포함하는 경우 사용자 단말장치(110)로부터 해당 식별정보가 인식될 때 어떠한 디스플레이장치(100)로 전송한 동적 2D 코드에 대한 스캔 데이터가 수신되었는지를 알 수 있으므로, 사용자 단말장치(110)를 인증장치(140)에 등록하기 위한 별도의 동작이 생략될 수도 있다.
또한, 인증장치(140)는 수신한 동적 2D 코드의 스캔 데이터와 디스플레이장치(100)로 전송한 기설정한(또는 기저장한) 코드 데이터를 비교하여 사용자의 인증을 수행하며, 인증 결과를 근거로 디스플레이장치(100)에서 사용자의 로그인을 자동을 허용한다(S801).
상기한 내용 이외에도 도 8의 인증장치(140)는 다양한 동작을 수행할 수 있으며, 기타 자세한 내용은 앞서 충분히 설명하였으므로 그 내용들로 대신하고자 한다.
한편, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 비일시적 저장매체(non-transitory computer readable media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다.
여기서 비일시적 판독 가능 기록매체란, 레지스터, 캐시(cache), 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라, 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로, 상술한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리 카드, ROM 등과 같은 비일시적 판독가능 기록매체에 저장되어 제공될 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
100: 디스플레이장치 110: 사용자 단말장치
120: 통신망 130: 웹서비스장치
140: 인증장치 200: 통신 인터페이스부
210: 제어부 220: 동적코드 인증처리부
230: 저장부

Claims (11)

  1. 웹사이트에 접속 후 사용자의 로그인 요청시, 진본 코드와 더미(dummy) 코드를 혼합하여 생성한 동적 2D 코드를 상기 사용자의 디스플레이장치의 화면상에 번갈아가며 표시되도록 전송하고, 상기 화면상의 동적 2D 코드를 스캔한 스캔 데이터를 상기 사용자의 사용자 단말장치로부터 수신하는 통신 인터페이스부; 및
    상기 수신한 동적 2D 코드의 스캔 데이터 및 기저장한 코드 데이터를 근거로 상기 사용자를 인증하며, 인증 결과를 근거로 상기 디스플레이장치상에서의 상기 사용자의 로그인을 자동으로 허용하는 제어부;를 포함하되,
    상기 제어부는, 상기 동적 2D 코드를 상기 디스플레이장치로 전송 후에 지정된 시간이 경과되면 기전송한 상기 동적 2D 코드의 상태를 변경하여 상기 변경한 동적 2D 코드를 근거로 상기 인증을 수행하며,
    상기 제어부는, 상기 동적 2D 코드의 상태를 변경하기 위해 코드 프레임의 개수를 변경하거나 상기 진본 코드에 포함되는 코드 데이터를 변경하는 동적 2D 코드를 활용한 인증 장치.
  2. 제1항에 있어서,
    상기 통신 인터페이스부는, 상기 사용자 단말장치에서 상기 동적 2D 코드를 스캔하기 위해 어플리케이션을 실행할 때 상기 스캔 데이터를 수신하는 동적 2D 코드를 활용한 인증 장치.
  3. 제1항에 있어서,
    상기 제어부는, 상기 진본 코드와 상기 더미 코드를 각각 포함하는 복수의 코드 프레임(frame)을 시간 변화에 따라 번갈아가며 화면상에 표시하도록 상기 통신 인터페이스부를 제어하는 동적 2D 코드를 활용한 인증 장치.
  4. 삭제
  5. 제1항에 있어서,
    상기 제어부는, 상기 동적 2D 코드를 활용한 사용자 인증 후에 지문, 패턴, 비밀번호 또는 안면인식의 추가 인증을 더 수행하여 상기 추가 인증의 결과에 따라 상기 로그인을 자동 허용하는 동적 2D 코드를 활용한 인증 장치.
  6. 통신 인터페이스부가, 웹사이트에 접속 후 사용자의 로그인 요청시, 진본 코드와 더미 코드를 혼합하여 생성한 동적 2D 코드를 상기 사용자의 디스플레이장치의 화면상에 번갈아가며 표시하도록 전송하고, 상기 화면상의 동적 2D 코드를 스캔한 스캔 데이터를 상기 사용자의 단말장치로부터 수신하는 단계;
    제어부가, 상기 수신한 동적 2D 코드의 스캔 데이터 및 기설정한 코드 데이터를 근거로 상기 사용자를 인증하며, 인증 결과를 근거로 상기 디스플레이장치상에서의 상기 사용자의 로그인을 자동으로 허용하는 단계;
    상기 제어부가, 상기 동적 2D 코드를 상기 디스플레이장치로 전송 후에 지정된 시간이 경과되면 기전송한 상기 동적 2D 코드의 상태를 변경하여 상기 변경한 동적 2D 코드를 근거로 상기 인증을 수행하는 단계; 및
    상기 제어부가, 상기 동적 2D 코드의 상태를 변경하기 위해 코드 프레임의 개수를 변경하거나 상기 진본 코드에 포함되는 코드 데이터를 변경하는 단계;를
    포함하는 동적 2D 코드를 활용한 인증 장치의 구동방법.
  7. 제6항에 있어서,
    상기 수신하는 단계는,
    상기 사용자 단말장치에서 상기 동적 2D 코드를 스캔하기 위해 어플리케이션을 실행할 때 상기 스캔 데이터를 수신하는 동적 2D 코드를 활용한 인증 장치의 구동방법.
  8. 제6항에 있어서,
    상기 허용하는 단계는,
    상기 진본 코드와 상기 더미 코드를 각각 포함하는 복수의 코드 프레임을 시간 변화에 따라 번갈아가며 화면상에 표시하도록 상기 통신 인터페이스부를 제어하는 동적 2D 코드를 활용한 인증 장치의 구동방법.
  9. 삭제
  10. 제6항에 있어서,
    상기 허용하는 단계는,
    상기 동적 2D 코드를 활용한 사용자 인증 후에 지문, 패턴, 비밀번호 또는 안면인식의 추가 인증을 더 수행하여 상기 추가 인증의 결과에 따라 상기 로그인을 자동 허용하는 동적 2D 코드를 활용한 인증 장치의 구동방법.
  11. 동적 2D 코드를 활용한 인증 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체로서,
    상기 동적 2D 코드를 활용한 인증 방법은,
    웹사이트에 접속 후 사용자의 로그인 요청시, 진본 코드와 더미 코드를 혼합하여 생성한 동적 2D 코드를 상기 사용자의 디스플레이장치의 화면상에 번갈아가며 표시하고, 상기 화면상의 동적 2D 코드를 스캔한 스캔 데이터를 수신하는 단계;
    상기 수신한 동적 2D 코드의 스캔 데이터 및 기설정한 코드 데이터를 근거로 상기 사용자를 인증하며, 인증 결과를 근거로 상기 디스플레이장치상에서의 상기 사용자의 로그인을 자동으로 허용하는 단계;
    상기 동적 2D 코드를 상기 디스플레이장치로 전송 후에 지정된 시간이 경과되면 기전송한 상기 동적 2D 코드의 상태를 변경하여 상기 변경한 동적 2D 코드를 근거로 상기 인증을 수행하는 단계; 및
    상기 동적 2D 코드의 상태를 변경하기 위해 코드 프레임의 개수를 변경하거나 상기 진본 코드에 포함되는 코드 데이터를 변경하는 단계;를
    실행하는 컴퓨터 판독가능 기록매체.
KR1020200089728A 2020-07-20 2020-07-20 동적 2d 코드를 활용한 인증장치 및 그 장치의 구동방법 KR102353189B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200089728A KR102353189B1 (ko) 2020-07-20 2020-07-20 동적 2d 코드를 활용한 인증장치 및 그 장치의 구동방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200089728A KR102353189B1 (ko) 2020-07-20 2020-07-20 동적 2d 코드를 활용한 인증장치 및 그 장치의 구동방법

Publications (1)

Publication Number Publication Date
KR102353189B1 true KR102353189B1 (ko) 2022-01-19

Family

ID=80052596

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200089728A KR102353189B1 (ko) 2020-07-20 2020-07-20 동적 2d 코드를 활용한 인증장치 및 그 장치의 구동방법

Country Status (1)

Country Link
KR (1) KR102353189B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117579402A (zh) * 2024-01-17 2024-02-20 北京大学 平台二次认证登录系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101589706B1 (ko) 2015-08-03 2016-02-05 주식회사 엘제이스트 로그인과 이벤트 응모를 위한 qr코드 기반의 본인인증 방법
KR101652625B1 (ko) 2015-02-11 2016-08-30 주식회사 이베이코리아 온라인 웹사이트의 회원 로그인을 위한 보안인증 시스템 및 그 방법
KR20160105961A (ko) * 2016-08-24 2016-09-08 주식회사 이베이코리아 온라인 웹사이트의 회원 로그인을 위한 보안인증 시스템 및 그 방법
WO2018225746A1 (ja) * 2017-06-08 2018-12-13 ▲さとし▼ 溝口 システムへのログイン方法
KR101973249B1 (ko) 2017-01-16 2019-08-16 박희석 Qr 코드를 이용한 통합 회원관리 시스템
JP2020017247A (ja) * 2018-07-27 2020-01-30 ファン アンド ニュー カンパニー リミテッド ディスプレイ基盤の動的2次元コード認証方法、動的2次元コード認証システム、そのユーザ端末及び認証サーバー

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101652625B1 (ko) 2015-02-11 2016-08-30 주식회사 이베이코리아 온라인 웹사이트의 회원 로그인을 위한 보안인증 시스템 및 그 방법
KR101589706B1 (ko) 2015-08-03 2016-02-05 주식회사 엘제이스트 로그인과 이벤트 응모를 위한 qr코드 기반의 본인인증 방법
KR20160105961A (ko) * 2016-08-24 2016-09-08 주식회사 이베이코리아 온라인 웹사이트의 회원 로그인을 위한 보안인증 시스템 및 그 방법
KR101973249B1 (ko) 2017-01-16 2019-08-16 박희석 Qr 코드를 이용한 통합 회원관리 시스템
WO2018225746A1 (ja) * 2017-06-08 2018-12-13 ▲さとし▼ 溝口 システムへのログイン方法
JP2020017247A (ja) * 2018-07-27 2020-01-30 ファン アンド ニュー カンパニー リミテッド ディスプレイ基盤の動的2次元コード認証方法、動的2次元コード認証システム、そのユーザ端末及び認証サーバー

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117579402A (zh) * 2024-01-17 2024-02-20 北京大学 平台二次认证登录系统及方法

Similar Documents

Publication Publication Date Title
KR100992573B1 (ko) 휴대단말기를 이용한 인증 방법 및 시스템
US20180077140A1 (en) Authorization flow initiation using short-range wireless communication
US11637829B2 (en) Systems, methods, and media for authenticating multiple devices
US9027085B2 (en) Method, system and program product for secure authentication
KR101383761B1 (ko) 사용자 인증 시스템 및 그 방법
KR100858144B1 (ko) 이동통신 단말기를 이용한 인터넷 사이트에서의 사용자인증 방법 및 장치
US20140173695A1 (en) Token based account access
US20070094715A1 (en) Two-factor authentication using a remote control device
JP2005323070A (ja) 携帯電話による情報家電向け認証方法
JPWO2015198451A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US11063935B2 (en) Systems and methods for providing remote desktop access
CN104767617A (zh) 一种信息处理方法、系统和相关设备
US20190057199A1 (en) Method for authenticating a user and corresponding user devices, server and system
CN109831441B (zh) 一种身份认证的方法、系统及相关组件
WO2015032281A1 (en) Method and system for generating and processing challenge-response tests
JP2008242926A (ja) 認証システム、認証方法および認証プログラム
CN109284599A (zh) 使用便携式电子设备为用户创建强认证的方法和系统
KR101027228B1 (ko) 인터넷 보안을 위한 본인인증 장치, 그 방법 및 이를 기록한 기록매체
US20130291081A1 (en) System and method for computer authentication using image analysis of a shared secret
KR102353189B1 (ko) 동적 2d 코드를 활용한 인증장치 및 그 장치의 구동방법
US20140282959A1 (en) System and method for computer authentication with user modification of an image using a shared secret
KR102242720B1 (ko) 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 otp 설정 방법
KR101739446B1 (ko) 사용자 인증 시스템 및 인증 방법
KR20150133944A (ko) 식별값과 인증서버를 이용한 2채널 인증 방법 및 시스템
KR102313868B1 (ko) Otp를 이용한 상호 인증 방법 및 시스템

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant