KR102477213B1 - 작업증명기술을 이용하여 qr 코드의 보안성을 강화하는 방법, 이를 이용한 사용자 단말 및 가맹점 단말 - Google Patents

작업증명기술을 이용하여 qr 코드의 보안성을 강화하는 방법, 이를 이용한 사용자 단말 및 가맹점 단말 Download PDF

Info

Publication number
KR102477213B1
KR102477213B1 KR1020190146231A KR20190146231A KR102477213B1 KR 102477213 B1 KR102477213 B1 KR 102477213B1 KR 1020190146231 A KR1020190146231 A KR 1020190146231A KR 20190146231 A KR20190146231 A KR 20190146231A KR 102477213 B1 KR102477213 B1 KR 102477213B1
Authority
KR
South Korea
Prior art keywords
proof
work
specific
code
user terminal
Prior art date
Application number
KR1020190146231A
Other languages
English (en)
Other versions
KR20210058595A (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 KR1020190146231A priority Critical patent/KR102477213B1/ko
Publication of KR20210058595A publication Critical patent/KR20210058595A/ko
Application granted granted Critical
Publication of KR102477213B1 publication Critical patent/KR102477213B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Abstract

본 발명에 따르면, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법에 있어서, (a) QR 코드 정보가 획득되면, 사용자 단말이, 상기 QR 코드 정보로부터 상기 QR 코드를 발행한 발행 가맹점에 대한 가맹점 정보를 획득하는 단계; (b) 상기 사용자 단말이, 소정의 알고리즘을 사용하여 생성한 특정 난수, 상기 사용자 단말에서 설정된 작업증명을 위한 난이도 조건, 및 상기 작업증명을 위한 특정 해시 알고리즘에 대한 정보를 포함하는 작업증명요청을 상기 가맹점 정보를 참조하여 상기 발행 가맹점의 가맹점 단말로 전송함으로써 상기 가맹점 단말로 하여금 상기 특정 난수와 임의의 논스값을 조합한 테스트 데이터를 이용하여 상기 특정 해시 알고리즘을 이용한 상기 작업증명을 수행하도록 하며, 상기 작업증명이 완료될 경우 상기 완료된 상기 작업증명에 이용된 특정 논스값을 상기 사용자 단말로 전송하도록 지원하는 단계; 및 (c) 상기 사용자 단말이, 상기 가맹점 단말로부터 전송되는 상기 특정 논스값과 상기 소정의 알고리즘을 사용하여 생성한 상기 특정 난수를 이용하여 검증용 데이터를 생성하며, 상기 검증용 데이터를 상기 특정 해시 알고리즘으로 해싱한 결과가 상기 작업증명을 위한 난이도 조건에 부합되는지를 검증하여, 상기 작업증명을 위한 난이도 조건에 부합되면 상기 QR 코드를 진본으로 확인하며, 상기 작업증명을 위한 난이도 조건에 부합되지 않으면 상기 QR 코드를 진본이 아닌 것으로 확인하는 단계; 를 포함하는 방법이 제공된다.

Description

작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법, 이를 이용한 사용자 단말 및 가맹점 단말 {METHOD FOR ENHANCING SECURITY OF QR CODE USING PROOF-OF-WORK, USER TERMINAL AND AFFILIATE TERMINAL USING THE SAME}
본 발명은 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법 및 이를 이용한 사용자 단말 및 가맹점 단말에 관한 것으로, 보다 상세하게는, QR 코드에 대한 작업증명을 수행하여 QR 코드의 진본 여부를 확인함으로써 QR코드의 보안성을 강화하는 방법, 이를 이용한 사용자 단말 및 가맹점 단말에 관한 것이다.
QR 코드는 종래에 많이 쓰이던 선형의 바코드가 가지는 용량 제한의 단점을 극복한 매트릭스 형태의 코드로서, 더 많은 정보를 저장할 수 있음에도 선형의 바코드에 비하여 작은 크기를 가지며 코드의 일부가 손상되어도 복구가 가능한 점 등의 장점을 바탕으로 최근 널리 사용되고 있다. 하지만, QR 코드의 사용자는 QR 코드를 스캔하기 전까지 해당 QR 코드에 포함된 내용을 알 수 없기 때문에, 위변조된 QR 코드에 의하여 잘못된 정보를 획득하여 보안 위험에 노출될 가능성이 존재한다. 인터넷 블로그에 포스팅된 글("QR코드 사용과 보안(Security)", AEP코리아네트, http://blog.naver.com/PostView.nhn?blogId=aepkoreanet&logNo=221354393106&categoryNo=1&parentCategoryNo=0&viewDate=&currentPage=1&postListTopCurrentPage=1&from=search)을 참조하면, QR 코드의 다양한 사용 사례와 함께 위변조된 QR 코드에 의한 피싱 공격인 '큐싱(Qshing)'과 같은 보안 위협 문제를 확인할 수 있다. 또한, 금융감독원에서 발표한 "간편결제를 위한 QR코드 결제 표준"에서 QR코드의 보안성 강화를 위한 보안조치들을 제안하고 있다는 내용도 추가로 확인할 수 있는데, 이러한 보안조치는 새로운 시스템에 의한 QR 코드의 발행 및 관리가 필요하기 때문에, 기존 시스템에 간단히 접목시켜 QR 코드 자체의 진본 여부를 판단할 수 있도록 함으로써 QR 코드 자체의 보안성을 강화할 수 있는 방안이 여전히 필요한 실정이다.
따라서, 본 발명은, 기존의 QR 코드 시스템에 간단히 접목시켜 작업증명기술을 이용한 QR 코드의 진본 여부를 판단할 수 있는 방법을 제공함으로써, QR 코드 자체의 보안성을 강화하는 것을 목적으로 한다.
또한, 본 발명은, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법을 제공함으로써, QR 코드의 가맹점으로 하여금 과도한 비용 부담 없이 기존 QR 코드 시스템에 접목하여 발행한 QR 코드의 신뢰성을 증명할 수 있도록 하는 것을 다른 목적으로 한다.
또한, 본 발명은, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법을 제공함으로써, 사용자가 편리하게 QR 코드를 사용하는 환경을 유지하면서도 QR 코드 가맹점의 종류에 따라 보안 레벨을 선택적으로 조절할 수 있도록 하는 것을 다른 목적으로 한다.
또한, 본 발명은, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법을 제공함으로써, QR 코드의 사용자가 위변조된 악성 코드에 의한 피해를 입는 것을 사전에 방지하는 것을 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법에 있어서, (a) QR 코드 정보가 획득되면, 사용자 단말이, 상기 QR 코드 정보로부터 상기 QR 코드를 발행한 발행 가맹점에 대한 가맹점 정보를 획득하는 단계; (b) 상기 사용자 단말이, 소정의 알고리즘을 사용하여 생성한 특정 난수, 상기 사용자 단말에서 설정된 작업증명을 위한 난이도 조건, 및 상기 작업증명을 위한 특정 해시 알고리즘에 대한 정보를 포함하는 작업증명요청을 상기 가맹점 정보를 참조하여 상기 발행 가맹점의 가맹점 단말로 전송함으로써 상기 가맹점 단말로 하여금 상기 특정 난수와 임의의 논스값을 조합한 테스트 데이터를 이용하여 상기 특정 해시 알고리즘을 이용한 상기 작업증명을 수행하도록 하며, 상기 작업증명이 완료될 경우 상기 완료된 상기 작업증명에 이용된 특정 논스값을 상기 사용자 단말로 전송하도록 지원하는 단계; 및 (c) 상기 사용자 단말이, 상기 가맹점 단말로부터 전송되는 상기 특정 논스값과 상기 소정의 알고리즘을 사용하여 생성한 상기 특정 난수를 이용하여 검증용 데이터를 생성하며, 상기 검증용 데이터를 상기 특정 해시 알고리즘으로 해싱한 결과가 상기 작업증명을 위한 난이도 조건에 부합되는지를 검증하여, 상기 작업증명을 위한 난이도 조건에 부합되면 상기 QR 코드를 진본으로 확인하며, 상기 작업증명을 위한 난이도 조건에 부합되지 않으면 상기 QR 코드를 진본이 아닌 것으로 확인하는 단계; 를 포함하는 방법이 제공된다.
일례로서, 상기 (b) 단계에서, 상기 사용자 단말이, 상기 가맹점 단말로 상기 작업증명요청을 전송함으로써 상기 가맹점 단말로 하여금 상기 작업증명요청에 포함된 정보를 참조하여 상기 특정 난수에 임의의 논스값을 조합한 테스트 데이터를 생성하고, 상기 테스트 데이터를 상기 특정 해시 알고리즘으로 해싱하여 그 결과값이 상기 난이도 조건에 부합하는지를 판단하는 테스트 과정을 수행하여, (i) 상기 결과값이 상기 난이도 조건에 부합하지 않으면 상기 논스값을 기설정된 방식에 따라 변경하여 다시 상기 테스트 과정을 반복하고, (ii) 상기 결과값이 상기 난이도 조건에 부합하면, 상기 결과값에 대응되는 특정 논스값을 정답 논스값으로 결정하는 상기 작업증명을 수행하여, 상기 정답 논스값에 해당되는 상기 특정 논스값을 상기 사용자 단말로 전송하도록 지원하는 방법이 제공된다.
일례로서, 상기 난이도 조건은, 사용자가 상기 사용자 단말에 입력한 난이도값에 의하여 설정되는 것을 특징으로 하고, 상기 (b) 단계에서, 상기 사용자 단말은, 상기 난이도 조건에 대한 정보를 포함하는 상기 작업증명요청을 상기 가맹점 단말로 전송함으로써, 상기 가맹점 단말로 하여금 상기 테스트 과정에서 상기 결과값이 상기 난이도값에 대응되어 결정되는 기준값 이하인 경우 상기 난이도 조건에 부합되는 것으로 판단하고, 상기 결과값에 대응되는 상기 특정 논스값을 상기 사용자 단말로 전송하도록 지원하는 것을 특징으로 하며, 상기 (c) 단계에서, 상기 사용자 단말은, 상기 검증용 데이터를 상기 특정 해시 알고리즘으로 해싱한 결과가 상기 기준값 이하인 경우 상기 난이도 조건에 부합되는 것으로 판단하여 상기 QR 코드를 진본으로 확인하는 것을 특징으로 하는 방법이 제공된다.
일례로서, 상기 (b) 단계에서, 상기 가맹점 단말은 상기 작업증명이 완료되는 경우 상기 특정 논스값과 함께 상기 특정 논스값에 대응되는 테스트 데이터를 사용자 단말로 전송하는 것을 특징으로 하고, 상기 (c) 단계 이전에, (c0) 상기 사용자 단말이, 상기 가맹점 단말로부터 수신한 상기 테스트 데이터에 포함된 난수를 상기 사용자 단말이 생성한 상기 특정 난수와 비교하여, 일치하는 경우 상기 특정 논스값을 신뢰할 수 있는 것으로 판단하여 획득하고, 일치하지 않는 경우 상기 특정 논스값을 신뢰할 수 없는 것으로 판단하여 상기 특정 논스값을 획득하지 않고 다시 상기 특정 난수 또는 새로운 난수를 포함하는 작업증명요청을 상기 가맹점 단말로 전송하는 단계; 를 더 포함하는 방법이 제공된다.
일례로서, 상기 (b) 단계에서, 상기 사용자 단말은, 상기 작업증명요청을 상기 가맹점 단말로 전송함으로써 상기 가맹점 단말로 하여금 상기 작업증명을 수행할 수 있도록 지원하되, 상기 가맹점 단말로 하여금 상기 작업증명요청에 포함된 상기 특정 난수, 상기 난이도 조건 및 상기 특정 해시 알고리즘에 대한 정보를 상기 가맹점 단말과 연동된 별도의 서버로 전송하여 상기 서버에서 상기 작업증명이 수행되도록 지원하게 하며, 상기 서버에서의 상기 작업증명에 따른 상기 특정 논스값을 획득하여 상기 사용자 단말로 전송하도록 하는 것을 특징으로 하는 방법이 제공된다.
일례로서, 상기 사용자 단말이, 상기 가맹점 정보를 참조하여 상기 발행 가맹점의 종류를 확인하여, 상기 발행 가맹점의 종류에 대응되는 보안 레벨에 대한 정보를 제공함으로써 사용자로 하여금 상기 보안 레벨에 대응하여 상기 난이도 조건을 조정할 수 있도록 하는 것을 특징으로 하는 방법이 제공된다.
일례로서, 상기 사용자 단말은, 상기 QR 코드가 진본으로 판단되면 상기 QR 코드에 대한 정보를 별도의 화이트리스트 - 상기 화이트리스트는 사전에 상기 작업증명 과정을 통하여 진본으로 확인되어 저장되어 있는 QR 코드에 대한 정보임 - 에 추가하고, 기설정된 시간 내에 새로운 QR 코드에 대한 정보가 다시 획득되면, 상기 화이트리스트를 참조하여 상기 새로운 QR 코드가 상기 화이트리스트에 포함되어 있는 특정 QR 코드와 동일한 것으로 확인되는 경우 상기 작업증명을 생략하고 상기 새로운 QR 코드를 진본으로 판단하는 것을 특징으로 하는 방법이 제공된다.
또한, 본 발명의 다른 태양에 따르면, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법에 있어서, (a) QR 코드 정보가 획득되어 사용자 단말이 상기 QR 코드 정보로부터 상기 QR 코드를 발행한 발행 가맹점에 대한 가맹점 정보를 획득하고, 소정의 알고리즘을 사용하여 생성한 특정 난수, 상기 사용자 단말에서 설정된 작업증명을 위한 난이도 조건, 및 상기 작업증명을 위한 특정 해시 알고리즘에 대한 정보를 포함하는 작업증명요청을 상기 가맹점 정보를 참조하여 상기 발행 가맹점의 가맹점 단말로 전송한 상태에서, 상기 가맹점 단말이, 상기 특정 난수와 임의의 논스값을 조합한 테스트 데이터를 이용하여 상기 특정 해시 알고리즘을 이용한 상기 작업증명을 수행하는 단계; 및 (b) 상기 가맹점 단말이, 상기 작업증명이 완료될 경우 상기 완료된 상기 작업증명에 이용된 특정 논스값을 상기 사용자 단말로 전송하여, 상기 사용자 단말로 하여금 상기 가맹점 단말로부터 전송되는 상기 특정 논스값과 상기 소정의 알고리즘을 사용하여 생성한 상기 특정 난수를 이용하여 검증용 데이터를 생성하고, 상기 검증용 데이터를 상기 특정 해시 알고리즘으로 해싱한 결과가 상기 작업증명을 위한 난이도 조건에 부합되는지를 검증하여, 상기 작업증명을 위한 난이도 조건에 부합되면 상기 QR 코드를 진본으로 확인하며, 상기 작업증명을 위한 난이도 조건에 부합되지 않으면 상기 QR 코드를 진본이 아닌 것으로 확인하도록 지원하는 단계; 를 포함하는 방법이 제공된다.
일례로서, 상기 (a) 단계에서, 상기 가맹점 단말이, 상기 작업증명요청에 포함된 정보를 참조하여 상기 특정 난수에 임의의 논스값을 조합한 테스트 데이터를 생성하고, 상기 테스트 데이터를 상기 특정 해시 알고리즘으로 해싱하여 그 결과값이 상기 난이도 조건에 부합하는지를 판단하는 테스트 과정을 수행하여, (i) 상기 결과값이 상기 난이도 조건에 부합하지 않으면 상기 논스값을 기설정된 방식에 따라 변경하여 다시 상기 테스트 과정을 반복하고, (ii) 상기 결과값이 상기 난이도 조건에 부합하면, 상기 결과값에 대응되는 특정 논스값을 정답 논스값으로 결정하는 상기 작업증명을 수행하고, 상기 정답 논스값에 해당되는 상기 특정 논스값을 상기 사용자 단말로 전송하는 것을 특징으로 하는 방법이 제공된다.
일례로서, 상기 (a) 단계에서, 상기 가맹점 단말은, 상기 작업증명요청에 포함된 상기 특정 난수, 상기 난이도 조건 및 상기 특정 해시 알고리즘에 대한 정보를 상기 가맹점 단말과 연동된 별도의 서버로 전송하여 상기 서버에서 상기 작업증명이 수행되도록 지원하며, 상기 서버에서의 상기 작업증명에 따른 상기 특정 논스값을 획득하여 상기 사용자 단말로 전송하는 것을 특징으로 하는 방법이 제공된다.
또한, 본 발명의 다른 태양에 따르면, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하기 위한 사용자 단말에 있어서, 상기 사용자 단말은, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서; 를 포함하고, 상기 프로세서가, (I) QR 코드 정보가 획득되면, 상기 QR 코드 정보로부터 상기 QR 코드를 발행한 발행 가맹점에 대한 가맹점 정보를 획득하는 프로세스; (II) 소정의 알고리즘을 사용하여 생성한 특정 난수, 상기 사용자 단말에서 설정된 작업증명을 위한 난이도 조건, 및 상기 작업증명을 위한 특정 해시 알고리즘에 대한 정보를 포함하는 작업증명요청을 상기 가맹점 정보를 참조하여 상기 발행 가맹점의 가맹점 단말로 전송함으로써 상기 가맹점 단말로 하여금 상기 특정 난수와 임의의 논스값을 조합한 테스트 데이터를 이용하여 상기 특정 해시 알고리즘을 이용한 상기 작업증명을 수행하도록 하며, 상기 작업증명이 완료될 경우 상기 완료된 상기 작업증명에 이용된 특정 논스값을 상기 사용자 단말로 전송하도록 지원하는 프로세스; 및 (III) 상기 가맹점 단말로부터 전송되는 상기 특정 논스값과 상기 소정의 알고리즘을 사용하여 생성한 상기 특정 난수를 이용하여 검증용 데이터를 생성하며, 상기 검증용 데이터를 상기 특정 해시 알고리즘으로 해싱한 결과가 상기 작업증명을 위한 난이도 조건에 부합되는지를 검증하여, 상기 작업증명을 위한 난이도 조건에 부합되면 상기 QR 코드를 진본으로 확인하며, 상기 작업증명을 위한 난이도 조건에 부합되지 않으면 상기 QR 코드를 진본이 아닌 것으로 확인하는 프로세스; 를 수행하는 사용자 단말이 제공된다.
일례로서, 상기 (II) 프로세스에서, 상기 프로세서가, 상기 가맹점 단말로 상기 작업증명요청을 전송함으로써 상기 가맹점 단말로 하여금 상기 작업증명요청에 포함된 정보를 참조하여 상기 특정 난수에 임의의 논스값을 조합한 테스트 데이터를 생성하고, 상기 테스트 데이터를 상기 특정 해시 알고리즘으로 해싱하여 그 결과값이 상기 난이도 조건에 부합하는지를 판단하는 테스트 과정을 수행하여, (i) 상기 결과값이 상기 난이도 조건에 부합하지 않으면 상기 논스값을 기설정된 방식에 따라 변경하여 다시 상기 테스트 과정을 반복하고, (ii) 상기 결과값이 상기 난이도 조건에 부합하면, 상기 결과값에 대응되는 특정 논스값을 정답 논스값으로 결정하는 상기 작업증명을 수행하여, 상기 정답 논스값에 해당되는 상기 특정 논스값을 상기 사용자 단말로 전송하도록 지원하는 사용자 단말이 제공된다.
일례로서, 상기 난이도 조건은, 사용자가 상기 사용자 단말에 입력한 난이도값에 의하여 설정되는 것을 특징으로 하고, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 난이도 조건에 대한 정보를 포함하는 상기 작업증명요청을 상기 가맹점 단말로 전송함으로써, 상기 가맹점 단말로 하여금 상기 테스트 과정에서 상기 결과값이 상기 난이도값에 대응되어 결정되는 기준값 이하인 경우 상기 난이도 조건에 부합되는 것으로 판단하고, 상기 결과값에 대응되는 상기 특정 논스값을 상기 사용자 단말로 전송하도록 지원하는 것을 특징으로 하며, 상기 (III) 프로세스에서, 상기 프로세서는, 상기 검증용 데이터를 상기 특정 해시 알고리즘으로 해싱한 결과가 상기 기준값 이하인 경우 상기 난이도 조건에 부합되는 것으로 판단하여 상기 QR 코드를 진본으로 확인하는 것을 특징으로 하는 사용자 단말이 제공된다.
일례로서, 상기 (II) 프로세스에서, 상기 가맹점 단말은 상기 작업증명이 완료되는 경우 상기 특정 논스값과 함께 상기 특정 논스값에 대응되는 테스트 데이터를 사용자 단말로 전송하는 것을 특징으로 하고, 상기 (III) 프로세스 이전에, (III-0) 상기 프로세서가, 상기 가맹점 단말로부터 수신한 상기 테스트 데이터에 포함된 난수를 상기 사용자 단말이 생성한 상기 특정 난수와 비교하여, 일치하는 경우 상기 특정 논스값을 신뢰할 수 있는 것으로 판단하여 획득하고, 일치하지 않는 경우 상기 특정 논스값을 신뢰할 수 없는 것으로 판단하여 상기 특정 논스값을 획득하지 않고 다시 상기 특정 난수 또는 새로운 난수를 포함하는 작업증명요청을 상기 가맹점 단말로 전송하는 프로세스; 를 더 수행하는 사용자 단말이 제공된다.
일례로서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 작업증명요청을 상기 가맹점 단말로 전송함으로써 상기 가맹점 단말로 하여금 상기 작업증명을 수행할 수 있도록 지원하되, 상기 가맹점 단말로 하여금 상기 작업증명요청에 포함된 상기 특정 난수, 상기 난이도 조건 및 상기 특정 해시 알고리즘에 대한 정보를 상기 가맹점 단말과 연동된 별도의 서버로 전송하여 상기 서버에서 상기 작업증명이 수행되도록 지원하게 하며, 상기 서버에서의 상기 작업증명에 따른 상기 특정 논스값을 획득하여 상기 사용자 단말로 전송하도록 하는 것을 특징으로 하는 사용자 단말이 제공된다.
일례로서, 상기 프로세서가, 상기 가맹점 정보를 참조하여 상기 발행 가맹점의 종류를 확인하여, 상기 발행 가맹점의 종류에 대응되는 보안 레벨에 대한 정보를 제공함으로써 사용자로 하여금 상기 보안 레벨에 대응하여 상기 난이도 조건을 조정할 수 있도록 하는 것을 특징으로 하는 사용자 단말이 제공된다.
일례로서, 상기 프로세서가, 상기 QR 코드가 진본으로 판단되면 상기 QR 코드에 대한 정보를 별도의 화이트리스트 - 상기 화이트리스트는 사전에 상기 작업증명 과정을 통하여 진본으로 확인되어 저장되어 있는 QR 코드에 대한 정보임 - 에 추가하고, 기설정된 시간 내에 새로운 QR 코드에 대한 정보가 다시 획득되면, 상기 화이트리스트를 참조하여 상기 새로운 QR 코드가 상기 화이트리스트에 포함되어 있는 특정 QR 코드와 동일한 것으로 확인되는 경우 상기 작업증명을 생략하고 상기 새로운 QR 코드를 진본으로 판단하는 것을 특징으로 하는 사용자 단말이 제공된다.
또한, 본 발명의 다른 태양에 따르면, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하기 위한 가맹점 단말에 있어서, 인스트럭션들을 저장하는 적어도 하나의 메모리; 상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서; 를 포함하고, 상기 프로세서가, (I) QR 코드 정보가 획득되어 사용자 단말이 상기 QR 코드 정보로부터 상기 QR 코드를 발행한 발행 가맹점에 대한 가맹점 정보를 획득하고, 소정의 알고리즘을 사용하여 생성한 특정 난수, 상기 사용자 단말에서 설정된 작업증명을 위한 난이도 조건, 및 상기 작업증명을 위한 특정 해시 알고리즘에 대한 정보를 포함하는 작업증명요청을 상기 가맹점 정보를 참조하여 상기 발행 가맹점의 가맹점 단말로 전송한 상태에서, 상기 특정 난수와 임의의 논스값을 조합한 테스트 데이터를 이용하여 상기 특정 해시 알고리즘을 이용한 상기 작업증명을 수행하는 프로세스; 및 (II) 상기 작업증명이 완료될 경우 상기 완료된 상기 작업증명에 이용된 특정 논스값을 상기 사용자 단말로 전송하여, 상기 사용자 단말로 하여금 상기 가맹점 단말로부터 전송되는 상기 특정 논스값과 상기 소정의 알고리즘을 사용하여 생성한 상기 특정 난수를 이용하여 검증용 데이터를 생성하고, 상기 검증용 데이터를 상기 특정 해시 알고리즘으로 해싱한 결과가 상기 작업증명을 위한 난이도 조건에 부합되는지를 검증하여, 상기 작업증명을 위한 난이도 조건에 부합되면 상기 QR 코드를 진본으로 확인하며, 상기 작업증명을 위한 난이도 조건에 부합되지 않으면 상기 QR 코드를 진본이 아닌 것으로 확인하도록 지원하는 프로세스; 를 수행하는 가맹점 단말이 제공된다.
일례로서, 상기 (I) 프로세스에서, 상기 프로세서가, 상기 작업증명요청에 포함된 정보를 참조하여 상기 특정 난수에 임의의 논스값을 조합한 테스트 데이터를 생성하고, 상기 테스트 데이터를 상기 특정 해시 알고리즘으로 해싱하여 그 결과값이 상기 난이도 조건에 부합하는지를 판단하는 테스트 과정을 수행하여, (i) 상기 결과값이 상기 난이도 조건에 부합하지 않으면 상기 논스값을 기설정된 방식에 따라 변경하여 다시 상기 테스트 과정을 반복하고, (ii) 상기 결과값이 상기 난이도 조건에 부합하면, 상기 결과값에 대응되는 특정 논스값을 정답 논스값으로 결정하는 상기 작업증명을 수행하고, 상기 정답 논스값에 해당되는 상기 특정 논스값을 상기 사용자 단말로 전송하는 것을 특징으로 하는 가맹점 단말이 제공된다.
일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 작업증명요청에 포함된 상기 특정 난수, 상기 난이도 조건 및 상기 특정 해시 알고리즘에 대한 정보를 상기 가맹점 단말과 연동된 별도의 서버로 전송하여 상기 서버에서 상기 작업증명이 수행되도록 지원하며, 상기 서버에서의 상기 작업증명에 따른 상기 특정 논스값을 획득하여 상기 사용자 단말로 전송하는 것을 특징으로 하는 가맹점 단말이 제공된다.
본 발명에 의하면, 다음과 같은 효과가 있다.
본 발명은, 기존의 QR 코드 시스템에 간단히 접목시켜 작업증명기술을 이용한 QR 코드의 진본 여부를 판단할 수 있는 방법을 제공함으로써, QR 코드 자체의 보안성을 강화할 수 있는 효과가 있다.
또한, 본 발명은, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법을 제공함으로써, QR 코드의 가맹점으로 하여금 과도한 비용 부담 없이 기존 QR 코드 시스템에 접목하여 발행한 QR 코드의 신뢰성을 증명할 수 있도록 하는 효과가 있다.
또한, 본 발명은, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법을 제공함으로써, 사용자가 편리하게 QR 코드를 사용하는 환경을 유지하면서도 QR 코드 가맹점의 종류에 따라 보안 레벨을 선택적으로 조절할 수 있도록 하는 효과가 있다.
또한, 본 발명은, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법을 제공함으로써, QR 코드의 사용자가 위변조된 악성 코드에 의한 피해를 입는 것을 사전에 방지할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법이 적용되는 전체 시스템의 구성도를 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하기 위한 사용자 단말을 개략적으로 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법에서 사용자 단말에 의하여 수행되는 프로세스를 개략적으로 나타낸 순서도이다.
도 4는 본 발명의 일 실시예에 따른, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하기 위한 가맹점 단말을 개략적으로 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법에서 가맹점 단말에 의하여 수행되는 프로세스를 개략적으로 나타낸 순서도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다.
또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법이 적용되는 전체 시스템의 구성도를 개략적으로 나타내는 도면이다.
도 1을 참조하면, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법이 적용되는 전체 시스템(1000)은 복수의 QR 코드 가맹점(200-1,200-2,...,200-k) 중 특정 가맹점(200-1)의 가맹점 단말(210)과, 해당 가맹점 단말(210)에 의하여 발행된 QR 코드(10), 그리고 해당 QR 코드(10)의 정보를 획득하는 사용자 단말(100)을 포함할 수 있다. 이때, 사용자 단말(100)은 가맹점 단말(210)에 의하여 발행된 QR 코드(10)를 촬상하여 QR 코드 정보, 일 예로, QR 코드 이미지를 획득하거나 가맹점 단말(210)과의 통신을 통해 QR 코드 정보, 일 예로, QR 코드 이미지를 획득하고, 해당 QR 코드(10)의 진본 여부를 판단하기 위하여 가맹점 단말(210)과 상호간에 정보를 송수신할 수 있으며, 그 과정에서 가맹점 단말(210)이 작업증명을 수행하고 사용자 단말(100)이 그 결과값을 검증할 수 있다. 그리고, 일 예로서 QR 코드(10)는 코드 영역 내에 사용자가 확인할 수 있는 발행 가맹점에 대한 가맹점 정보를 추가로 포함할 수 있는데, 예를 들어 발행 가맹점의 연락처 정보가 코드 영역의 특정 부분에 기재되어 있을 수 있다. 이때, 가맹점 정보는 코드 영역 내에 표시되는 것과는 달리, QR 코드 이미지 내의 테두리 영역 등 다양한 영역에 기재될 수도 있다. 또한, 가맹점 정보는 QR 코드 이미지 내의 다수의 영역에 분리되어 기재될 수도 있으나, 이에 한정되지 않으며, 사용자가 QR 코드 이미지를 통해 가맹점 정보를 확인할 수 있도록 하는 다양한 방법으로 기재될 수 있다.
도 2는 본 발명의 일 실시예에 따른, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하기 위한 사용자 단말을 개략적으로 나타내는 도면이다.
도 2를 참조하면, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하기 위한 사용자 단말(100)은 메모리(110) 및 프로세서(120)를 포함할 수 있다. 이때, 메모리(110)는, 프로세서(120)의 인스트럭션들을 저장할 수 있는데, 구체적으로, 인스트럭션들은 사용자 단말(100)로 하여금 특정의 방식으로 기능하게 하기 위한 목적으로 생성되는 코드로서, 컴퓨터 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장될 수 있다. 인스트럭션들은 본 발명의 명세서에서 설명되는 기능들을 실행하기 위한 프로세스들을 수행할 수 있다.
그리고, 프로세서(120)는, MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 포함할 수 있다.
이와 같은 사용자 단말(100)은, QR 코드를 촬영 및 스캔할 수 있는 촬영부와, 사용자가 정보를 입력하는 입력부, 사용자에게 정보를 제공하기 위한 디스플레이부 및 QR 코드 정보 및 작업증명을 위하여 필요한 정보 등을 가맹점 단말(210)과 송수신하기 위한 통신부 등을 포함할 수 있으며, 그 예로서 스마트폰과 같은 장치가 사용자 단말(100)로서 채택될 수 있으나, 이에 한정되는 것은 아닐 것이다.
도 3은 본 발명의 일 실시예에 따른, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법에서 사용자 단말에 의하여 수행되는 프로세스를 개략적으로 나타낸 순서도이다.
도 3을 참조하면, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법은, 사용자 단말(100)의 프로세서(120)가 QR 코드(10)의 정보를 획득(S301)하는 것으로 시작된다.
그리고 나서, 사용자 단말(100)의 프로세서(120)는 획득한 QR 코드(10)의 정보로부터 해당 QR 코드(10)를 발행한 발행 가맹점(200-1)에 대한 가맹점 정보를 획득(S302)할 수 있다. 이때, 사용자 단말(100)의 프로세서(120)는 해당 QR 코드(10)의 진본 여부가 확인되지 않은 상황이므로 해당 QR 코드(10) 정보로부터 가맹점(210) 정보만을 선택적으로 획득하여 사용할 수 있다. 또한, 사용자 단말(100)의 프로세서(120)는 QR 코드 정보를 사용자가 알 수 있도록 표시하여 주며, 사용자가 사용자 단말(100)을 통해 표시된 QR 코드 정보로부터 가맹점 정보를 확인하고, 확인된 가맹점 정보를 사용자 단말(100)에 입력하도록 할 수도 있다.
다음으로, 사용자 단말(100)의 프로세서(120)는 작업증명에 사용하기 위한 특정 난수를 생성(S303)할 수 있다. 이때, 특정 난수는 기설정된 기준길이 이상의 길이의 값일 수 있는데, 예를 들어 64비트 이상의 길이를 가지는 난수일 수 있다. 또한, 상기 특정 난수는 소정의 난수 발생 알고리즘을 사용하는 난수 발생기에 의하여 생성될 수 있는데, 소정의 난수 발생 알고리즘은 발명의 실시 조건에 따라 다양한 난수 발생 알고리즘 중에서 선택될 수 있으며, 일 예로서 난수 발생기가 시드 기반의 난수 발생 알고리즘을 사용하는 경우에는 난수 발생에 필요한 시드 등도 발명의 실시 조건에 따라 다양하게 선택되어 적용될 수 있다.
그리고 나서, 사용자 단말(100)의 프로세서(120)는 상기 특정 난수와 함께, 사용자 단말에서 설정된 작업증명을 위한 난이도 조건 및 작업증명을 위한 특정 해시 알고리즘에 대한 정보를 포함하는 작업증명요청을 QR 코드(10)로부터 획득한 가맹점 정보를 참조하여 해당 가맹점(200-1)의 가맹점 단말(210)로 전송(S304)할 수 있다.
이때, 사용자 단말(100)의 프로세서(120)는 가맹점 정보를 참조하여 가맹점 정보를 참조하여 전화 번호를 이용한 문자, 이메일, SNS 등의 계정 정보를 이용한 메시지, 특정 어플리케이션 플랫폼을 이용한 메시지 등과 같은 방법으로 작업증명요청을 가맹점 단말(210)로 전송하거나, 가맹점 단말(210)의 소유자, 일 예로, 가맹점 점주에게 단말하여 가맹점 단말(210)의 소유자가 가맹점 단말(210)을 이용하여 작업증명요청을 확인할 수 있도록 할 수 있다. 그리고, 난이도 조건 및 특정 해시 알고리즘은 사용자에 의하여 결정될 수 있는데, 발명의 일 예로서 난이도 조건은 사용자가 사용자 단말에 입력한 난이도값에 의하여 결정될 수 있고, 특정 해시 알고리즘은 MD5, SHA 등의 해시 알고리즘 중에서 선택될 수 있다. 구체적으로, 사용자가 사용자 단말에 난이도값을 10으로 입력하고, 특정 해시 알고리즘을 SHA-256으로 선택한 경우, 난이도 조건은 '256bit의 길이를 가지고, 첫번째 자리부터 10번째 자리까지 각각의 값이 0인 특정 기준값 이하'인 값을 찾는 것이 될 수 있다. 이때, 특정 기준값은 별도의 공식에 의하여 산출될 수도 있고, 사용자가 입력한 난이도값인 10의 조건을 만족하는 값이 랜덤으로 결정될 수도 있으며 이는 발명의 실시 조건에 따라 달라질 수 있다.
또한, 발명의 다른 일 예로서, 사용자 단말(100)의 프로세서(120)가 획득한 가맹점 정보를 참조하여 QR 코드를 발행한 가맹점의 종류를 확인하고, 가맹점의 종류에 대응되는 보안 레벨에 대한 정보를 제공함으로써 사용자로 하여금 보안 레벨에 대응하여 난이도 조건을 조정할 수 있도록 할 수 있다. 즉, 가맹점의 종류가 은행, 관공서 등에 해당되는 경우에는 높은 수준의 보안 레벨에 대한 정보를 제공하여 사용자로 하여금 난이도 조건을 높게 설정하도록 할 수 있다.
다음으로, 사용자 단말(100)의 프로세서(120)는, 가맹점 단말(210)에서 작업증명이 완료되어 특정 논스값을 사용자 단말(100)로 전송하면 해당 특정 논스값을 획득(S305)할 수 있다. 이와 관련하여, 가맹점 단말(210)이 수행하는 작업증명의 내용은 아래에서 추가적인 도면을 참조하여 자세히 설명할 것이다.
그리고, 발명의 일 예로서, 가맹점 단말(210)의 프로세서(212)는 특정 논스값과 함께, 특정 논스값에 대응되는 테스트 데이터를 사용자 단말(100)로 전송할 수 있다. 이때, 테스트 데이터는 가맹점 단말(210)의 작업증명에 사용된 데이터로서 난수 및 논스값을 포함하는데, 사용자 단말(100)의 프로세서(120)는 앞서 소정의 난수 생성 알고리즘을 사용하여 생성한 특정 난수와 테스트 데이터에 포함된 난수가 일치하는지를 비교할 수 있다. 그 결과, 테스트 데이터에 포함된 난수가 특정 난수와 일치하는 경우에는 사용자 단말(100)의 프로세서(120)가 특정 논스값을 신뢰할 수 있는 것으로 판단하여 획득하고, 일치하지 않는 경우에는 사용자 단말(100)의 프로세서(120)가 특정 논스값을 신뢰할 수 없는 것으로 판단하여 특정 논스값을 획득하지 않고 다시 특정 난수 또는 새로운 난수를 포함하는 작업증명요청을 가맹점 단말로 전송하여, 다시금 가맹점 단말(210)이 작업증명을 수행하도록 할 수 있다.
그리고 나서, 사용자 단말(100)의 프로세서(120)는 획득한 특정 논스값과, 앞서 소정의 난수 발생 알고리즘을 사용하여 생성한 특정 난수를 이용하여 검증용 데이터를 생성(S306)할 수 있다. 이때, 검증용 데이터는, 특정 논스값과 특정 난수를 기설정된 방식에 따라 조합하여 생성될 수 있는데, 예를 들어 특정 논스값과 특정 난수를 연접하여 생성되는 것일 수 있다.
다음으로, 사용자 단말(100)의 프로세서(120)는 앞서 결정되었던 특정 해시 함수를 사용하여 검증용 데이터를 해싱하고, 그 결과값이 난이도 조건에 부합하는지를 검증(S307)할 수 있다. 예를 들어, 특정 해시 함수가 SHA-256이고, 사용자가 사용자 단말에 난이도값을 10으로 입력하여 난이도 조건이 '256bit의 길이를 가지고, 첫번째 자리부터 10번째 자리까지의 각각의 값이 0인 기준값 이하'로 설정된 경우, 검증용 데이터를 SHA-256 함수로 해시한 결과값의 앞 11자리가 모두 0이라면 위 기준값보다 결과값이 작은 것이므로 난이도 조건에 부합하는 것으로 판단할 수 있다.
그리고 나서, 위 검증 결과에 따라, 사용자 단말(100)의 프로세서(120)는 QR 코드의 진본 여부를 확인할 수 있는데, 구체적으로, 검증 결과가 난이도 조건에 부합되는 경우 QR 코드를 진본으로 확인하며, 검증 결과가 난이도 조건에 부합되지 않는 경우 QR 코드를 진본이 아닌 것으로 확인할 수 있다.
발명의 일 예로서, 사용자 단말(100)의 프로세서(120)는 사전에 작업증명 과정을 통하여 진본으로 확인된 QR 코드에 대한 정보가 저장되어 있는 화이트리스트를 포함하고, 위 검증 결과 QR 코드가 진본으로 확인되면, 사용자 단말(100)의 프로세서(120)는 해당 QR 코드에 대한 정보를 화이트리스트에 추가하여 업데이트 할 수 있다. 그리고, 사용자 단말(100)의 프로세서(120)는 기설정된 시간 동안 새로운 QR 코드에 대한 정보가 획득되면, 화이트리스트에 저장되어 있는 QR 코드들과 비교하여 새로운 QR 코드와 동일한 QR 코드가 화이트리스트에 포함되어 있는 경우에는 작업증명을 통한 검증 과정을 생략하고 새로운 QR 코드를 진본으로 판단할 수 있다. 이렇게 함으로써, 사전에 작업증명 과정을 거쳐 진본으로 확인된 QR 코드에 대한 정보가 기설정된 시간 내에 반복하여 획득되는 경우, 해당 QR 코드에 대하여 불필요한 작업증명 과정을 수행하지 않도록 할 수 있다.
도 4는 본 발명의 일 실시예에 따른, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하기 위한 가맹점 단말을 개략적으로 나타내는 도면이다.
도 4를 참조하면, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하기 위한 가맹점 단말(210)은 메모리(211) 및 프로세서(212)를 포함할 수 있는데, 이때, 메모리(211)는, 프로세서(212)의 인스트럭션들을 저장할 수 있는데, 구체적으로, 인스트럭션들은 가맹점 단말(210)로 하여금 특정의 방식으로 기능하게 하기 위한 목적으로 생성되는 코드로서, 컴퓨터 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장될 수 있다. 인스트럭션들은 본 발명의 명세서에서 설명되는 기능들을 실행하기 위한 프로세스들을 수행할 수 있다.
그리고, 프로세서(212)는, MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 포함할 수 있다.
또한, 발명의 일 예로서, 가맹점 단말(210)은 작업증명을 수행하는 별도의 서버(220)와 연동되어 있을 수 있는데, 이 경우 가맹점 단말(210)의 프로세서(212)는 사용자 단말(100)로부터 전송된 작업증명요청에 포함된 상기 특정 난수, 상기 난이도 조건 및 상기 특정 해시 알고리즘에 대한 정보를 해당 서버(220)로 전송하여 작업증명이 수행되도록 지원할 수 있고, 해당 서버(220)에서 작업증명이 완료되어 특정 논스값이 도출되면 이를 획득하여 상기 사용자 단말로 전송할 수 있다.
도 5는 본 발명의 일 실시예에 따른, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법에서 가맹점 단말에 의하여 수행되는 프로세스를 개략적으로 나타낸 순서도이다.
도 5를 참조로 하면, 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법에서, 가맹점 단말(210)의 프로세서(212)가 사용자 단말(100)로부터 작업증명요청을 수신(S501)함으로써 가맹점 단말(210)의 작업증명 과정이 시작된다.
작업증명요청을 수신하면, 가맹점 단말(210)의 프로세서(212)는, 수신된 작업증명요청에 포함된 특정 난수에 임의의 논스값을 조합한 테스트 데이터를 생성(S502)할 수 있다. 이때, 테스트 데이터는, 임의의 논스값과 작업증명요청에 포함된 특정 난수를 기설정된 방식에 따라 조합하여 생성될 수 있는데, 예를 들어 임의의 논스값과 특정 난수를 연접하여 생성되는 것일 수 있다.
그리고 나서, 가맹점 단말(210)의 프로세서(212)는 작업증명요청에 포함된 특정 해시 함수를 사용하여 생성된 테스트 데이터를 해싱(S503)하고, 그 결과값이 난이도 조건에 부합하는지를 판단(S504)하는 테스트 과정을 수행할 수 있다. 이때, 가맹점 단말(210)의 프로세서(212)가 테스트 데이터를 해싱한 결과값이 난이도 조건에 부합하는지를 판단하는 기준은, 사용자 단말(100)이 검증용 데이터를 해싱하여 그 결과값이 난이도 조건에 부합하는지를 검증하는 기준과 같을 수 있는데, 예를 들어, 특정 해시 함수가 SHA-256이고, 사용자가 사용자 단말에 난이도값을 10으로 입력하여 난이도 조건이 '256bit의 길이를 가지고, 첫번째 자리부터 10번째 자리까지의 각각의 값이 0인 기준값 이하'로 설정된 경우, 테스트 데이터를 SHA-256 함수로 해시한 결과값의 앞 11자리가 모두 0이라면 위 기준값보다 결과값이 작은 것이므로 난이도 조건에 부합하는 것으로 판단할 수 있다.
가맹점 단말(210)의 프로세서(212)가 테스트 데이터를 해싱한 결과값이 난이도 조건에 부합하는지를 판단한 결과, 상기 결과값이 상기 난이도 조건에 부합하지 않으면, 가맹점 단말(210)은 상기 논스값을 기설정된 방식에 따라 변경하여 새로운 테스트 데이터를 생성(S505)한 다음, 새로운 테스트 데이터를 다시 특정 해시 함수로 해싱하여 그 결과값이 난이도 조건에 부합하는지를 판단하는 과정을 반복할 수 있다. 그리고, 상기 결과값이 상기 난이도 조건에 부합하면, 가맹점 단말(210)은 상기 결과값에 대응되는 특정 논스값을 정답 논스값으로 결정하고, 해당 특정 논스값을 사용자 단말(100)로 전송(S506)할 수 있다.
한편, 상기에서와 같은 방법에 의해 QR 코드에 대한 작업증명을 이용하여 QR 코드가 진본으로 확인되는 경우에는, 사용자 단말(100)은 QR 코드를 스캔하여 QR 코드에 암호화된 정보를 획득하고, 획득된 QR 코드의 암호화된 정보에 대응되는 동작을 수행함으로써, 악성 코드 등에 의해 위변조된 QR 코드에 의한 피해를 방지할 수 있게 된다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magnetooptical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
10 : QR 코드 100 : 사용자 단말
110 : 사용자 단말의 메모리 120 : 사용자 단말의 프로세서
200-1,...,200-k : 가맹점들 210 : 가맹점 단말
211 : 가맹점 단말의 메모리 212 : 가맹점 단말의 프로세서
220 : 작업증명용 서버 1000 : 전체 시스템

Claims (20)

  1. 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법에 있어서,
    (a) QR 코드 정보가 획득되면, 사용자 단말이, 상기 QR 코드 정보로부터 상기 QR 코드를 발행한 발행 가맹점에 대한 가맹점 정보를 획득하는 단계;
    (b) 상기 사용자 단말이, 난수 발생 알고리즘을 사용하여 생성한 특정 난수, 상기 사용자 단말에서 설정된 작업증명을 위한 난이도 조건, 및 상기 작업증명을 위한 특정 해시 알고리즘에 대한 정보를 포함하는 작업증명요청을 상기 가맹점 정보를 참조하여 상기 발행 가맹점의 가맹점 단말로 전송함으로써 상기 가맹점 단말로 하여금 상기 특정 난수와 임의의 논스값을 조합한 테스트 데이터를 이용하여 상기 특정 해시 알고리즘을 이용한 상기 작업증명을 수행하도록 하며, 상기 작업증명이 완료될 경우 상기 완료된 상기 작업증명에 이용된 특정 논스값을 상기 사용자 단말로 전송하도록 지원하는 단계; 및
    (c) 상기 사용자 단말이, 상기 가맹점 단말로부터 전송되는 상기 특정 논스값과 상기 난수 발생 알고리즘을 사용하여 생성한 상기 특정 난수를 이용하여 검증용 데이터를 생성하며, 상기 검증용 데이터를 상기 특정 해시 알고리즘으로 해싱한 결과가 상기 작업증명을 위한 난이도 조건에 부합되는지를 검증하여, 상기 작업증명을 위한 난이도 조건에 부합되면 상기 QR 코드를 진본으로 확인하며, 상기 작업증명을 위한 난이도 조건에 부합되지 않으면 상기 QR 코드를 진본이 아닌 것으로 확인하는 단계;
    를 포함하되,
    상기 사용자 단말이, 상기 가맹점 정보를 참조하여 상기 발행 가맹점의 종류를 확인하여, 상기 발행 가맹점의 종류에 대응되는 보안 레벨에 대한 정보를 제공함으로써 사용자로 하여금 상기 보안 레벨에 대응하여 상기 난이도 조건을 조정할 수 있도록 하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 사용자 단말이, 상기 가맹점 단말로 상기 작업증명요청을 전송함으로써 상기 가맹점 단말로 하여금 상기 작업증명요청에 포함된 정보를 참조하여 상기 특정 난수에 임의의 논스값을 조합한 테스트 데이터를 생성하고, 상기 테스트 데이터를 상기 특정 해시 알고리즘으로 해싱하여 그 결과값이 상기 난이도 조건에 부합하는지를 판단하는 테스트 과정을 수행하여, (i) 상기 결과값이 상기 난이도 조건에 부합하지 않으면 상기 논스값을 기설정된 방식에 따라 변경하여 다시 상기 테스트 과정을 반복하고, (ii) 상기 결과값이 상기 난이도 조건에 부합하면, 상기 결과값에 대응되는 특정 논스값을 정답 논스값으로 결정하는 상기 작업증명을 수행하여, 상기 정답 논스값에 해당되는 상기 특정 논스값을 상기 사용자 단말로 전송하도록 지원하는 방법.
  3. 제2항에 있어서,
    상기 난이도 조건은, 사용자가 상기 사용자 단말에 입력한 난이도값에 의하여 설정되는 것을 특징으로 하고,
    상기 (b) 단계에서,
    상기 사용자 단말은, 상기 난이도 조건에 대한 정보를 포함하는 상기 작업증명요청을 상기 가맹점 단말로 전송함으로써, 상기 가맹점 단말로 하여금 상기 테스트 과정에서 상기 결과값이 상기 난이도값에 대응되어 결정되는 기준값 이하인 경우 상기 난이도 조건에 부합되는 것으로 판단하고, 상기 결과값에 대응되는 상기 특정 논스값을 상기 사용자 단말로 전송하도록 지원하는 것을 특징으로 하며,
    상기 (c) 단계에서,
    상기 사용자 단말은, 상기 검증용 데이터를 상기 특정 해시 알고리즘으로 해싱한 결과가 상기 기준값 이하인 경우 상기 난이도 조건에 부합되는 것으로 판단하여 상기 QR 코드를 진본으로 확인하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 가맹점 단말은 상기 작업증명이 완료되는 경우 상기 특정 논스값과 함께 상기 특정 논스값에 대응되는 테스트 데이터를 사용자 단말로 전송하는 것을 특징으로 하고,
    상기 (c) 단계 이전에,
    (c0) 상기 사용자 단말이, 상기 가맹점 단말로부터 수신한 상기 테스트 데이터에 포함된 난수를 상기 사용자 단말이 생성한 상기 특정 난수와 비교하여, 일치하는 경우 상기 특정 논스값을 신뢰할 수 있는 것으로 판단하여 획득하고, 일치하지 않는 경우 상기 특정 논스값을 신뢰할 수 없는 것으로 판단하여 상기 특정 논스값을 획득하지 않고 다시 상기 특정 난수 또는 새로운 난수를 포함하는 작업증명요청을 상기 가맹점 단말로 전송하는 단계; 를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 사용자 단말은, 상기 작업증명요청을 상기 가맹점 단말로 전송함으로써 상기 가맹점 단말로 하여금 상기 작업증명을 수행할 수 있도록 지원하되, 상기 가맹점 단말로 하여금 상기 작업증명요청에 포함된 상기 특정 난수, 상기 난이도 조건 및 상기 특정 해시 알고리즘에 대한 정보를 상기 가맹점 단말과 연동된 별도의 서버로 전송하여 상기 서버에서 상기 작업증명이 수행되도록 지원하게 하며, 상기 서버에서의 상기 작업증명에 따른 상기 특정 논스값을 획득하여 상기 사용자 단말로 전송하도록 하는 것을 특징으로 하는 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 사용자 단말은, 상기 QR 코드가 진본으로 판단되면 상기 QR 코드에 대한 정보를 별도의 화이트리스트 - 상기 화이트리스트는 사전에 상기 작업증명 과정을 통하여 진본으로 확인되어 저장되어 있는 QR 코드에 대한 정보임 - 에 추가하고, 기설정된 시간 내에 새로운 QR 코드에 대한 정보가 다시 획득되면, 상기 화이트리스트를 참조하여 상기 새로운 QR 코드가 상기 화이트리스트에 포함되어 있는 특정 QR 코드와 동일한 것으로 확인되는 경우 상기 작업증명을 생략하고 상기 새로운 QR 코드를 진본으로 판단하는 것을 특징으로 하는 방법.
  8. 작업증명기술을 이용하여 QR 코드의 보안성을 강화하는 방법에 있어서,
    (a) QR 코드 정보가 획득되어 사용자 단말이 상기 QR 코드 정보로부터 상기 QR 코드를 발행한 발행 가맹점에 대한 가맹점 정보를 획득하고, 난수 발생 알고리즘을 사용하여 생성한 특정 난수, 상기 사용자 단말에서 설정된 작업증명을 위한 난이도 조건, 및 상기 작업증명을 위한 특정 해시 알고리즘에 대한 정보를 포함하는 작업증명요청을 상기 가맹점 정보를 참조하여 상기 발행 가맹점의 가맹점 단말로 전송한 상태에서, 상기 가맹점 단말이, 상기 특정 난수와 임의의 논스값을 조합한 테스트 데이터를 이용하여 상기 특정 해시 알고리즘을 이용한 상기 작업증명을 수행하는 단계; 및
    (b) 상기 가맹점 단말이, 상기 작업증명이 완료될 경우 상기 완료된 상기 작업증명에 이용된 특정 논스값을 상기 사용자 단말로 전송하여, 상기 사용자 단말로 하여금 상기 가맹점 단말로부터 전송되는 상기 특정 논스값과 상기 난수 발생 알고리즘을 사용하여 생성한 상기 특정 난수를 이용하여 검증용 데이터를 생성하고, 상기 검증용 데이터를 상기 특정 해시 알고리즘으로 해싱한 결과가 상기 작업증명을 위한 난이도 조건에 부합되는지를 검증하여, 상기 작업증명을 위한 난이도 조건에 부합되면 상기 QR 코드를 진본으로 확인하며, 상기 작업증명을 위한 난이도 조건에 부합되지 않으면 상기 QR 코드를 진본이 아닌 것으로 확인하도록 지원하는 단계;
    를 포함하는 방법.
  9. 제8항에 있어서,
    상기 (a) 단계에서,
    상기 가맹점 단말이, 상기 작업증명요청에 포함된 정보를 참조하여 상기 특정 난수에 임의의 논스값을 조합한 테스트 데이터를 생성하고, 상기 테스트 데이터를 상기 특정 해시 알고리즘으로 해싱하여 그 결과값이 상기 난이도 조건에 부합하는지를 판단하는 테스트 과정을 수행하여, (i) 상기 결과값이 상기 난이도 조건에 부합하지 않으면 상기 논스값을 기설정된 방식에 따라 변경하여 다시 상기 테스트 과정을 반복하고, (ii) 상기 결과값이 상기 난이도 조건에 부합하면, 상기 결과값에 대응되는 특정 논스값을 정답 논스값으로 결정하는 상기 작업증명을 수행하고, 상기 정답 논스값에 해당되는 상기 특정 논스값을 상기 사용자 단말로 전송하는 것을 특징으로 하는 방법.
  10. 제8항에 있어서,
    상기 (a) 단계에서,
    상기 가맹점 단말은, 상기 작업증명요청에 포함된 상기 특정 난수, 상기 난이도 조건 및 상기 특정 해시 알고리즘에 대한 정보를 상기 가맹점 단말과 연동된 별도의 서버로 전송하여 상기 서버에서 상기 작업증명이 수행되도록 지원하며, 상기 서버에서의 상기 작업증명에 따른 상기 특정 논스값을 획득하여 상기 사용자 단말로 전송하는 것을 특징으로 하는 방법.
  11. 작업증명기술을 이용하여 QR 코드의 보안성을 강화하기 위한 사용자 단말에 있어서,
    상기 사용자 단말은,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서; 를 포함하고,
    상기 프로세서가,
    (I) QR 코드 정보가 획득되면, 상기 QR 코드 정보로부터 상기 QR 코드를 발행한 발행 가맹점에 대한 가맹점 정보를 획득하는 프로세스; (II) 난수 발생 알고리즘을 사용하여 생성한 특정 난수, 상기 사용자 단말에서 설정된 작업증명을 위한 난이도 조건, 및 상기 작업증명을 위한 특정 해시 알고리즘에 대한 정보를 포함하는 작업증명요청을 상기 가맹점 정보를 참조하여 상기 발행 가맹점의 가맹점 단말로 전송함으로써 상기 가맹점 단말로 하여금 상기 특정 난수와 임의의 논스값을 조합한 테스트 데이터를 이용하여 상기 특정 해시 알고리즘을 이용한 상기 작업증명을 수행하도록 하며, 상기 작업증명이 완료될 경우 상기 완료된 상기 작업증명에 이용된 특정 논스값을 상기 사용자 단말로 전송하도록 지원하는 프로세스; 및 (III) 상기 가맹점 단말로부터 전송되는 상기 특정 논스값과 상기 난수 발생 알고리즘을 사용하여 생성한 상기 특정 난수를 이용하여 검증용 데이터를 생성하며, 상기 검증용 데이터를 상기 특정 해시 알고리즘으로 해싱한 결과가 상기 작업증명을 위한 난이도 조건에 부합되는지를 검증하여, 상기 작업증명을 위한 난이도 조건에 부합되면 상기 QR 코드를 진본으로 확인하며, 상기 작업증명을 위한 난이도 조건에 부합되지 않으면 상기 QR 코드를 진본이 아닌 것으로 확인하는 프로세스; 를 수행하되,
    상기 프로세서가, 상기 가맹점 정보를 참조하여 상기 발행 가맹점의 종류를 확인하여, 상기 발행 가맹점의 종류에 대응되는 보안 레벨에 대한 정보를 제공함으로써 사용자로 하여금 상기 보안 레벨에 대응하여 상기 난이도 조건을 조정할 수 있도록 하는 것을 특징으로 하는 사용자 단말.
  12. 제11항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서가, 상기 가맹점 단말로 상기 작업증명요청을 전송함으로써 상기 가맹점 단말로 하여금 상기 작업증명요청에 포함된 정보를 참조하여 상기 특정 난수에 임의의 논스값을 조합한 테스트 데이터를 생성하고, 상기 테스트 데이터를 상기 특정 해시 알고리즘으로 해싱하여 그 결과값이 상기 난이도 조건에 부합하는지를 판단하는 테스트 과정을 수행하여, (i) 상기 결과값이 상기 난이도 조건에 부합하지 않으면 상기 논스값을 기설정된 방식에 따라 변경하여 다시 상기 테스트 과정을 반복하고, (ii) 상기 결과값이 상기 난이도 조건에 부합하면, 상기 결과값에 대응되는 특정 논스값을 정답 논스값으로 결정하는 상기 작업증명을 수행하여, 상기 정답 논스값에 해당되는 상기 특정 논스값을 상기 사용자 단말로 전송하도록 지원하는 사용자 단말.
  13. 제12항에 있어서,
    상기 난이도 조건은, 사용자가 상기 사용자 단말에 입력한 난이도값에 의하여 설정되는 것을 특징으로 하고,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 난이도 조건에 대한 정보를 포함하는 상기 작업증명요청을 상기 가맹점 단말로 전송함으로써, 상기 가맹점 단말로 하여금 상기 테스트 과정에서 상기 결과값이 상기 난이도값에 대응되어 결정되는 기준값 이하인 경우 상기 난이도 조건에 부합되는 것으로 판단하고, 상기 결과값에 대응되는 상기 특정 논스값을 상기 사용자 단말로 전송하도록 지원하는 것을 특징으로 하며,
    상기 (III) 프로세스에서,
    상기 프로세서는, 상기 검증용 데이터를 상기 특정 해시 알고리즘으로 해싱한 결과가 상기 기준값 이하인 경우 상기 난이도 조건에 부합되는 것으로 판단하여 상기 QR 코드를 진본으로 확인하는 것을 특징으로 하는 사용자 단말.
  14. 제11항에 있어서,
    상기 (II) 프로세스에서,
    상기 가맹점 단말은 상기 작업증명이 완료되는 경우 상기 특정 논스값과 함께 상기 특정 논스값에 대응되는 테스트 데이터를 사용자 단말로 전송하는 것을 특징으로 하고,
    상기 (III) 프로세스 이전에,
    (III-0) 상기 프로세서가, 상기 가맹점 단말로부터 수신한 상기 테스트 데이터에 포함된 난수를 상기 사용자 단말이 생성한 상기 특정 난수와 비교하여, 일치하는 경우 상기 특정 논스값을 신뢰할 수 있는 것으로 판단하여 획득하고, 일치하지 않는 경우 상기 특정 논스값을 신뢰할 수 없는 것으로 판단하여 상기 특정 논스값을 획득하지 않고 다시 상기 특정 난수 또는 새로운 난수를 포함하는 작업증명요청을 상기 가맹점 단말로 전송하는 프로세스; 를 더 수행하는 사용자 단말.
  15. 제11항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 작업증명요청을 상기 가맹점 단말로 전송함으로써 상기 가맹점 단말로 하여금 상기 작업증명을 수행할 수 있도록 지원하되, 상기 가맹점 단말로 하여금 상기 작업증명요청에 포함된 상기 특정 난수, 상기 난이도 조건 및 상기 특정 해시 알고리즘에 대한 정보를 상기 가맹점 단말과 연동된 별도의 서버로 전송하여 상기 서버에서 상기 작업증명이 수행되도록 지원하게 하며, 상기 서버에서의 상기 작업증명에 따른 상기 특정 논스값을 획득하여 상기 사용자 단말로 전송하도록 하는 것을 특징으로 하는 사용자 단말.
  16. 삭제
  17. 제11항에 있어서,
    상기 프로세서가, 상기 QR 코드가 진본으로 판단되면 상기 QR 코드에 대한 정보를 별도의 화이트리스트 - 상기 화이트리스트는 사전에 상기 작업증명 과정을 통하여 진본으로 확인되어 저장되어 있는 QR 코드에 대한 정보임 - 에 추가하고, 기설정된 시간 내에 새로운 QR 코드에 대한 정보가 다시 획득되면, 상기 화이트리스트를 참조하여 상기 새로운 QR 코드가 상기 화이트리스트에 포함되어 있는 특정 QR 코드와 동일한 것으로 확인되는 경우 상기 작업증명을 생략하고 상기 새로운 QR 코드를 진본으로 판단하는 것을 특징으로 하는 사용자 단말.
  18. 작업증명기술을 이용하여 QR 코드의 보안성을 강화하기 위한 가맹점 단말에 있어서,
    인스트럭션들을 저장하는 적어도 하나의 메모리;
    상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서; 를 포함하고,
    상기 프로세서가,
    (I) QR 코드 정보가 획득되어 사용자 단말이 상기 QR 코드 정보로부터 상기 QR 코드를 발행한 발행 가맹점에 대한 가맹점 정보를 획득하고, 난수 발생 알고리즘을 사용하여 생성한 특정 난수, 상기 사용자 단말에서 설정된 작업증명을 위한 난이도 조건, 및 상기 작업증명을 위한 특정 해시 알고리즘에 대한 정보를 포함하는 작업증명요청을 상기 가맹점 정보를 참조하여 상기 발행 가맹점의 가맹점 단말로 전송한 상태에서, 상기 특정 난수와 임의의 논스값을 조합한 테스트 데이터를 이용하여 상기 특정 해시 알고리즘을 이용한 상기 작업증명을 수행하는 프로세스; 및
    (II) 상기 작업증명이 완료될 경우 상기 완료된 상기 작업증명에 이용된 특정 논스값을 상기 사용자 단말로 전송하여, 상기 사용자 단말로 하여금 상기 가맹점 단말로부터 전송되는 상기 특정 논스값과 상기 난수 발생 알고리즘을 사용하여 생성한 상기 특정 난수를 이용하여 검증용 데이터를 생성하고, 상기 검증용 데이터를 상기 특정 해시 알고리즘으로 해싱한 결과가 상기 작업증명을 위한 난이도 조건에 부합되는지를 검증하여, 상기 작업증명을 위한 난이도 조건에 부합되면 상기 QR 코드를 진본으로 확인하며, 상기 작업증명을 위한 난이도 조건에 부합되지 않으면 상기 QR 코드를 진본이 아닌 것으로 확인하도록 지원하는 프로세스; 를 수행하는 가맹점 단말.
  19. 제18항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서가, 상기 작업증명요청에 포함된 정보를 참조하여 상기 특정 난수에 임의의 논스값을 조합한 테스트 데이터를 생성하고, 상기 테스트 데이터를 상기 특정 해시 알고리즘으로 해싱하여 그 결과값이 상기 난이도 조건에 부합하는지를 판단하는 테스트 과정을 수행하여, (i) 상기 결과값이 상기 난이도 조건에 부합하지 않으면 상기 논스값을 기설정된 방식에 따라 변경하여 다시 상기 테스트 과정을 반복하고, (ii) 상기 결과값이 상기 난이도 조건에 부합하면, 상기 결과값에 대응되는 특정 논스값을 정답 논스값으로 결정하는 상기 작업증명을 수행하고, 상기 정답 논스값에 해당되는 상기 특정 논스값을 상기 사용자 단말로 전송하는 것을 특징으로 하는 가맹점 단말.
  20. 제18항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는, 상기 작업증명요청에 포함된 상기 특정 난수, 상기 난이도 조건 및 상기 특정 해시 알고리즘에 대한 정보를 상기 가맹점 단말과 연동된 별도의 서버로 전송하여 상기 서버에서 상기 작업증명이 수행되도록 지원하며, 상기 서버에서의 상기 작업증명에 따른 상기 특정 논스값을 획득하여 상기 사용자 단말로 전송하는 것을 특징으로 하는 가맹점 단말.
KR1020190146231A 2019-11-14 2019-11-14 작업증명기술을 이용하여 qr 코드의 보안성을 강화하는 방법, 이를 이용한 사용자 단말 및 가맹점 단말 KR102477213B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190146231A KR102477213B1 (ko) 2019-11-14 2019-11-14 작업증명기술을 이용하여 qr 코드의 보안성을 강화하는 방법, 이를 이용한 사용자 단말 및 가맹점 단말

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190146231A KR102477213B1 (ko) 2019-11-14 2019-11-14 작업증명기술을 이용하여 qr 코드의 보안성을 강화하는 방법, 이를 이용한 사용자 단말 및 가맹점 단말

Publications (2)

Publication Number Publication Date
KR20210058595A KR20210058595A (ko) 2021-05-24
KR102477213B1 true KR102477213B1 (ko) 2022-12-13

Family

ID=76152956

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190146231A KR102477213B1 (ko) 2019-11-14 2019-11-14 작업증명기술을 이용하여 qr 코드의 보안성을 강화하는 방법, 이를 이용한 사용자 단말 및 가맹점 단말

Country Status (1)

Country Link
KR (1) KR102477213B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101934444B1 (ko) * 2018-04-04 2019-01-02 대한민국 문서 및 유가증권의 무결성 데이터 관리 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101210264B1 (ko) * 2010-10-07 2012-12-11 주식회사 비엔에스웍스 코드 이미지 인증 방법 및 시스템과 이를 위한 스마트폰
KR20180122843A (ko) * 2017-05-04 2018-11-14 라온시큐어(주) Qr코드 진본여부 검증 방법 및 시스템
KR102033621B1 (ko) * 2017-08-28 2019-10-21 주식회사 누리비젼 Qr 코드 위변조 탐지 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101934444B1 (ko) * 2018-04-04 2019-01-02 대한민국 문서 및 유가증권의 무결성 데이터 관리 방법

Also Published As

Publication number Publication date
KR20210058595A (ko) 2021-05-24

Similar Documents

Publication Publication Date Title
US10958436B2 (en) Methods contract generator and validation server for access control of contract data in a distributed system with distributed consensus
CN109635521A (zh) 一种基于区块链的版权保护、验证方法及装置
KR101948721B1 (ko) 파일 해시 값을 이용한 파일 위변조 검사 방법 및 단말 장치
CN105721390A (zh) 一种加密存储方法和装置
CN111342963A (zh) 数据上链方法、数据存储方法及装置
CN108431842A (zh) 用于对文件进行认证和验证的方法和服务器
US20160162686A1 (en) Method for verifying integrity of dynamic code using hash background of the invention
US10778452B2 (en) Blockchain ledger authentication
US10839362B2 (en) Offline pin authentication method and system for IC card
CN111161056A (zh) 一种提高数字资产交易安全性的方法、系统及设备
US9378358B2 (en) Password management system
US9246677B2 (en) Method and system for secure data communication between a user device and a server
US11176259B2 (en) Authentication circuit, electronic system including the same, and method of forming network
JP2020021205A (ja) 情報処理方法、情報処理装置、およびプログラム
KR102477213B1 (ko) 작업증명기술을 이용하여 qr 코드의 보안성을 강화하는 방법, 이를 이용한 사용자 단말 및 가맹점 단말
CN114365134A (zh) 使用不可克隆函数的安全身份证
KR101829731B1 (ko) 주주명부를 등록하고 주식 소유권 이전을 기록하는 방법 및 서버
CN105809494A (zh) 发票生成及验证方法及系统
JP6087480B1 (ja) 認証装置、認証システム及び認証プログラム
US11791986B2 (en) Unauthorized use detection system, information processing apparatus, computer-readable recording medium and unauthorized use detection method
CN107979579B (zh) 一种安全认证方法和安全认证设备
CN109698750A (zh) 区块链的区块生成方法、装置、设备及可读存储介质
CN112732676B (zh) 基于区块链的数据迁移方法、装置、设备及存储介质
JP2011003085A (ja) 認証システムおよび認証方法
CN109302442A (zh) 一种数据存储证明方法及相关设备

Legal Events

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