KR102610052B1 - 의사난수 및 양자난수를 활용한 즉석 복권 발행 방법, 시스템 및 프로그램 - Google Patents

의사난수 및 양자난수를 활용한 즉석 복권 발행 방법, 시스템 및 프로그램 Download PDF

Info

Publication number
KR102610052B1
KR102610052B1 KR1020210040776A KR20210040776A KR102610052B1 KR 102610052 B1 KR102610052 B1 KR 102610052B1 KR 1020210040776 A KR1020210040776 A KR 1020210040776A KR 20210040776 A KR20210040776 A KR 20210040776A KR 102610052 B1 KR102610052 B1 KR 102610052B1
Authority
KR
South Korea
Prior art keywords
data
lottery
quantum random
random number
verification
Prior art date
Application number
KR1020210040776A
Other languages
English (en)
Other versions
KR20220135304A (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 KR1020210040776A priority Critical patent/KR102610052B1/ko
Publication of KR20220135304A publication Critical patent/KR20220135304A/ko
Application granted granted Critical
Publication of KR102610052B1 publication Critical patent/KR102610052B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/34Betting or bookmaking, e.g. Internet betting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators

Abstract

본 발명의 실시예에 따른 복권 발행 시스템은, 적어도 하나의 제1 프로세서를 구비하는 유통관리서버; 및 적어도 하나의 제2 프로세서를 구비하는 발행서버를 포함한다.
또한, 상기 제1 프로세서는, 상기 유통관리서버에 구비된 양자난수생성기를 통해 암호화에 사용되는 양자난수 공개키 및 복호화에 사용되는 양자난수 개인키를 생성하고, 상기 양자난수 공개키를 상기 발행서버에 전송한다.
또한, 상기 제2 프로세서는, 상기 발행서버에 구비된 의사난수생성기를 통해 암복호화에 사용되는 의사난수 대칭키를 생성하고, 복권 데이터를 생성하며, 상기 복권 데이터를 상기 의사난수 대칭키를 통해 암호화하고, 상기 암호화된 복권 데이터 및 상기 의사난수 대칭키를 상기 양자난수 공개키를 통해 암호화하여 생성한 패킹 데이터를 상기 유통관리서버로 전송한다.

Description

의사난수 및 양자난수를 활용한 즉석 복권 발행 방법, 시스템 및 프로그램{INSTANT LOTTERY ISSUANCE METHOD, SYSTEM AND PROGRAM USING PSEUDO-RANDOM AND QUANTUM RANDOM NUMBERS}
본 발명은 의사난수 및 양자난수를 활용한 즉석 복권 발행 방법, 시스템 및 프로그램에 관한 것이다.
즉석 복권은 구매자가 구매한 복권 용지를 통해 즉석으로 당첨여부를 확인할 수 있도록 제작된 복권이다.
즉석 복권은 발행 당시에 당첨 여부가 표시된 상태로 복권 용지가 발행되므로, 즉석 복권을 발행하는 과정에서 암복호화를 통한 보안이 필수적으로 요구된다.
종래의 즉석 복권 발행 시스템에서는 일반적으로 의사난수(Pseudo random number)를 통해 평문을 암복호화시키는 방식이 사용되고 있다.
다만, 컴퓨터 기술의 발전으로, 양자 컴퓨터와 같이 종래의 컴퓨터에 비해 처리속도가 월등히 뛰어난 장치들이 개발되고 있어 의사난수를 통한 암호문이 판독될 위험성이 갈수록 증가되고 있다.
대한민국 공개특허공보 제10-2003-0073411호, 2003년 09월 19일 공개
본 발명의 실시예는 상술한 문제점을 해결할 수 있는 방법, 시스템 및 프로그램을 제공하는 것을 목적으로 한다.
또한, 본 발명의 실시예는, 양자난수가 적용된 비대칭키(공개키 및 개인키)와 의사난수가 적용된 대칭키를 모두 활용한 암복호화가 적용되는 즉석 복권 발행 방법, 시스템 및 프로그램을 제공하는 것을 일 목적으로 한다.
또한, 본 발명의 실시예는, 평문이 의사난수가 적용된 대칭키로 암호화되고, 암호문에 의사난수가 적용된 대칭키와 함께 양자난수가 적용된 공개키에 의해 2차적으로 암호화되는 즉석 복권 발행 방법, 시스템 및 프로그램을 제공하는 것을 일 목적으로 한다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 실시예에 따른 즉석 복권 발행 시스템은, 적어도 하나의 제1 프로세서를 구비하는 유통관리서버; 및 적어도 하나의 제2 프로세서를 구비하는 발행서버를 포함한다.
또한, 상기 제1 프로세서는, 상기 유통관리서버에 구비된 양자난수생성기를 통해 암호화에 사용되는 양자난수 공개키 및 복호화에 사용되는 양자난수 개인키를 생성하고, 상기 양자난수 공개키를 상기 발행서버에 전송할 수 있다.
또한, 상기 제2 프로세서는, 상기 발행서버에 구비된 의사난수생성기를 통해 암복호화에 사용되는 의사난수 대칭키를 생성하고, 복권 데이터를 생성하며, 상기 복권 데이터를 상기 의사난수 대칭키를 통해 암호화하고, 상기 암호화된 복권 데이터 및 상기 의사난수 대칭키를 상기 양자난수 공개키를 통해 암호화하여 생성한 패킹 데이터를 상기 유통관리서버로 전송할 수 있다.
또한, 상기 제1 프로세서는, 수신된 상기 패킹 데이터를 상기 양자난수 개인키를 통해 복호화하고, 상기 의사난수 대칭키를 통해 상기 암호화된 복권 데이터를 복호화할 수 있다.
또한, 상기 제2 프로세서는, 최초 생선된 상기 복권 데이터와 매칭되는 제1 해시(Hash) 데이터를 생성하여 상기 유통관리서버로 전송할 수 있다.
또한, 상기 제1 프로세서는, 상기 복호화된 복권 데이터와 매칭되는 제2 해시(Hash) 데이터를 생성하며, 상기 제1 해시 데이터와 상기 제2 해시 데이터를 비교하여 데이터 무결성을 확인할 수 있다.
또한, 상기 복권 데이터는 생산회차별로 별도로 생성되고, 상기 양자난수 공개키, 상기 양자난수 개인키 및 상기 의사난수 대칭키는 상기 생산회차별로 별도로 생성될 수 있다.
또한, 상기 양자난수생성기는 하드웨어 보안 모듈(Hardware Security Module)로 구성될 수 있다.
또한, 상기 양자난수생성기는, 양자입자를 발생시키도록 구성되는 난수소스발생부; 상기 양자입자를 검출하도록 구성되는 양자검출 다이오드; 상기 양자입자의 검출시 대응되는 랜덤펄스를 발생시키도록 구성되는 양자랜덤펄스 생성부; 및 상기 랜덤펄스에 기초해 양자난수를 생성하고, 상기 양자난수에 기초하여 상기 양자난수 공개키 및 상기 양자난수 개인키를 생성하도록 구성되는 양자난수 제어부를 포함할 수 있다.
또, 본 발명의 실시예에 따른 즉석 복권 발행 방법은, 유통관리서버와 통신 가능한 발행서버에 의해 수행되며, 의사난수 및 양자난수를 활용한 즉석 복권 발행 방법에 있어서, 상기 복권 발행 서버가, 상기 유통관리서버로부터 양자난수생성기를 통해 생성된 암호화를 위한 양자난수 공개키를 수신하는 단계; 상기 복권 발행 서버가, 복권 데이터를 생성하는 단계; 상기 복권 발행 서버가, 의사난수생성기를 통해 생성된 암복호화를 위한 대칭키를 이용해 상기 복권 데이터를 암호화하는 단계; 상기 복권 발행 서버가, 상기 암호화된 복권 데이터와 상기 대칭키를 상기 양자난수 공개키를 통해 암호화하여 패킹 데이터를 생성하는 단계; 및 상기 복권 발행 서버가, 상기 패킹 데이터를 상기 유통관리서버로 전송하는 단계를 포함할 수 있다.
또한, 상기 유통관리서버로 전송된 상기 패킹 데이터가 상기 양자난수생성기를 통해 생성된 복호화를 위한 양자난수 개인키를 통해 복호화되는 단계; 및 상기 암호화된 복권 데이터가 상기 대칭키를 통해 복호화되는 단계를 더 포함할 수 있다.
또한, 상기 복권 데이터를 생성하는 단계는, 최초 생선된 상기 복권 데이터와 매칭되는 제1 해시(Hash) 데이터를 생성하여 상기 유통관리서버로 전송하는 단계를 포함하고, 상기 대칭키를 통해 복호화되는 단계는, 상기 복호화된 복권 데이터와 매칭되는 제2 해시(Hash) 데이터를 생성하는 단계를 포함할 수 있다.
또한, 상기 즉석 복권 발행 방법은, 상기 제1 해시 데이터와 상기 제2 해시 데이터를 비교하여 데이터 무결성을 확인하는 단계를 더 포함할 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
본 발명의 실시예에 따르면, 의사난수 대칭키를 통해 복권 데이터가 1차적으로 암호화된 후 양자난수 공개키를 통해 2차적으로 암호화되므로, 양자난수만을 이용한 암호화 대비 암호화 속도가 향상될 수 있다. 결과적으로, 양자 특성을 이용해 기밀성이 향상됨과 동시에 빠른 속도로 암호화가 수행될 수 있다.
또한, 본 발명의 실시예에 따르면, 양자난수 개인키를 통해 1차적으로 복호화된 후, 의사난수 대칭키를 통해 2차적으로 복호화되므로, 양자난수만을 이용한 복호화 대비 복호화 속도가 향상될 수 있다. 결과적으로, 양자 특성을 이용해 기밀성이 향상됨과 동시에 빠른 속도로 복호화가 수행될 수 있다.
또한, 양수난수를 이용한 복호화는 양자난수 개인키에 의해서만 수행되므로, 외부자 및 내부자의 공격을 모두 차단할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 즉석 복권 발행 시스템의 구성을 도시하는 블록도다.
도 2는 본 발명의 실시예에 따른 즉석 복권 발행 방법의 과정을 도시하는 흐름도다.
도 3 및 도 4는 도 2의 즉석 복권 발행 방법의 구체적인 과정을 도시하는 흐름도다.
도 5는 유통관리서버의 구성을 도시하는 블록도다.
도 6은 발행서버의 구성을 도시하는 블록도다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용되는 "유통관리서버(100)" 및 "발행서버(200)"는 서버의 서버 환경을 수행하기 위한 다른 구성들을 포함할 수 있다. 서버는 임의의 형태의 장치를 모두 포함할 수 있다. 예를 들어, 서버는 컴퓨터, 랩탑 컴퓨터, 모바일폰 및 웹 서버와 같이 연산을 위한 프로세서와 메모리를 구비한 디지털 기기로 구현될 수 있다. 다만, 상술한 예시에 한정되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 복권 발행 시스템은 서로 통신 가능하게 연결되는 유통관리서버(100) 및 발행서버(200)를 포함한다. 또한, 유통관리서버(100)는 판매점(300)과 통신 가능하게 연결될 수 있다.
유통관리서버(100)는 즉석 복권을 회차별 발행계획을 생성하고 이를 발행서버(200)로 송신한다.
일 실시예에서, 발행계획은 제조지시서에 포함되어 발행서버(200)로 송신될 수 있으며, 발행계획은 즉석 복권의 발행 부수 및 순위별 당첨 부수에 대한 정보가 포함될 수 있다.
또한, 일 실시예에서, 제조지시서는 유통관리서버(100)와 발행서버(200)를 연결하는 통신망을 통해 전송될 수 있으며, 별도의 컴퓨터 판독 가능한 기록 매체에 저장되어 발행서버(200)로 제공될 수 있다.
발행서버(200)는 유통관리서버(100)로부터 수신한 제조지시서에 기초하여 즉석 복권을 발행한다. 이 때, 발행되는 즉석 복권에 대한 복권 데이터를 함께 생성하며, 복권 데이터에는 당첨 확인을 위한 검증번호 및 유통번호가 포함될 수 있다.
또한, 발행서버(200)는 데이터 무결성을 위하여 복권 데이터에 대한 제1 해시(Hash) 데이터를 생성할 수 있다.
발행서버(200)는 검증번호, 유통번호 및 제1 해시 데이터를 유통관리서버(100)로 송신할 수 있다. 또한, 일 실시예에서, 검증번호, 유통번호 및 해시 데이터는 발행서버(200)와 유통관리서버(100)를 연결하는 통신망을 통해 전송될 수 있으며, 별도의 컴퓨터 판독 가능한 기록 매체에 저장되어 유통관리서버(100)로 제공될 수 있다.
유통관리서버(100)는 수신된 검증번호 및 유통번호에 대한 제2 해시(Hash) 데이터를 생성하고, 수신된 제1 해시 데이터와 생성된 제2 해시 데이터를 비교하여 수신된 검증번호 및 유통번호의 무결성을 확인할 수 있다.
또한, 판매점(300)에서 당첨 확인 요청이 수신되는 경우, 유통관리서버(100)는 검증번호 및 유통번호에 기초하여 당첨 여부를 확인하고, 당첨 여부를 판매점(300)으로 송신한다.
즉석 복권이 발행되는 과정에서, 유통관리서버(100)와 발행서버(200)의 사이의 데이터가 송수신이 발생되므로, 외부의 공격자가 특정한 이득을 노리고 공격을 감행할 수 있다. 공격에 의해 데이터가 유출되는 경우, 즉석 복권 발행사에 피해가 발생될 수 있다. 따라서, 유통관리서버(100) 및 발행서버(200)는 암복호화 과정을 거쳐 데이터를 송수신한다.
아래에서는 도 2 내지 도 4를 참조하여, 암복호화 과정을 포함한 즉석 복권 발행 과정(S1)에 대해 설명한다.
먼저, 유통관리서버(100)가 발행서버(200)로 양자난수 공개키를 송신한다(S10).
유통관리서버(100)는 양자난수 공개키 및 양자난수 개인키를 생성할 수 있는 양자난수 생성기를 포함할 수 있다. 양자난수 공개키 및 양자난수 개인키는 일종의 비대칭 키로서, 양자난수 공개키는 암호화하는데 사용되며, 양자난수 개인키는 양자난수 공개키에 의해 암호화된 데이터를 복호화하는데 사용된다.
양자난수는 무작위적이고 편향되지 않는 예측불가능한 수의 나열을 나타내며, 유통관리서버(100)는 양자난수를 생성하기 위한 양자난수 생성기를 포함한다.
양자난수 생성기는 양자입자를 방출하도록 구성되는 난수소스발생부, 방출된 양자입자를 검출하도록 구성되는 양자검출 다이오드, 양자입자의 검출에 대응되는 랜덤펄스를 발생시키도록 구성되는 양자랜덤펄스 생성부 및 발생된 랜덤펄스에 기초하여 양자난수를 생성하여 암호키(공개키 및 개인키)를 생성하도록 구성되는 양자난수 프로세서를 포함한다.
유통관리서버(100)가 양자난수 생성기를 통해 양자난수 공개키 및 양자난수 개인키를 생성한다(S11).
일 실시예에서, 양자난수 공개키 및 양자난수 개인키는 즉석 복권의 회차별로 생성될 수 있다.
일 실시예에서, 양자난수 생성기는 하드웨어 보안 모듈(Hardware Security Module)로 구성될 수 있다.
또한, 유통관리서버(100)가 생성된 양자난수 공개키를 발행서버(200)로 송신한다(S13).
발행계획을 포함하는 제조지시서가 양자난수 공개키와 함께 발행서버(200)로 송신된다. 제조지시서 및 양자난수 공개키는 유통관리서버(100)와 발행서버(200)를 연결하는 통신망에 의해 송신될 수 있고, 별도의 컴퓨터 판독 가능한 기록 매체에 저장되어 발행서버(200)로 송신될 수 있다.
제조지지서 및 양자난수 공개키가 수신되면, 발행서버(200)가 의사난수 대칭키 및 수신한 양자난수 공개키를 통해 패킹 데이터를 생성하고, 생성된 패킹 데이터를 유통관리서버(100)로 송신한다(S20).
먼저, 발행서버(200)가 의사난수 대칭키를 생성한다(S21).
의사난수는 입력값이 기 설정된 프로세스를 통해 변화된 값을 나타낸다.
발행서버(200)를 의사난수를 생성하도록 구성되는 의사난수 생성기를 포함할 수 있고, 의사난수 생성기는 기 설정된 프로세서를 통해 입력값을 암호화 또는 암호화된 값을 복호화하는 의사난수 대칭키를 생성한다.
일 실시예에서, 의사난수 생성기는 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현될 수 있다.
일 실시예에서, 의사난수 대칭키는 즉석 복권의 회차별로 생성될 수 있다.
의사난수 대칭키가 생성되면, 발행서버(200)가 생성된 복권 데이터를 의사난수 대칭키를 통해 암호화한다(S23).
복권 데이터는 발행된 즉석 복권들의 검증번호 및 유통번호를 포함하고, 유통관리서버(100)로부터 수신한 제조지지서에 기초하여 생성될 수 있다. 또한, 복권 데이터는 복권의 회차별로 생성된다.
또한, 복권 데이터의 무결성 확인을 위하여, 복권 데이터와 매칭되는 제1 해시 데이터가 생성된다. 일 실시예에서, 제1 해시 데이터는 의사난수 대칭키를 통해 암호화될 수 있다.
의사난수 대칭키를 통해 암호화가 완료되면, 발행서버(200)는 암호화된 복권 데이터 및 의사난수 대칭키를 양자난수 공개키로 암호화해 패킹 데이터를 생성한다(S25).
즉, 복권 데이터 및 제1 해시 데이터는 의사난수 대칭키에 의해 1차적으로 암호화된 후, 양자난수 공개키에 의해 2차적으로 암호화된다. 또한, 의사난수 대칭키가 양자난수 공개키에 의해 암호화된다.
의사난수 대칭키에 의한 1차적인 암호화과정 없이 양자난수 공개키를 통해 복권 데이터를 암호화하는 경우, 암호화에 과도한 시간이 소요될 수 있다.
반면에, 본원발명의 실시예에서는 의사난수 대칭키를 통해 복권 데이터 및 제1 해시 데이터를 1차적으로 암호화를 한 후, 양자난수 공개키를 통해 2차적으로 암호화하므로 암호화 속도가 향상될 수 있다. 결과적으로, 양자 특성을 이용해 기밀성이 향상됨과 동시에 빠른 속도로 암호화가 수행될 수 있다.
양자난수 공개키에 의해 암호화가 완료되면, 발행서버(200)가 패킹 데이터를 유통관리서버(100)로 송신한다(S27).
패킹 데이터가 수신되면, 유통관리서버(100)가 패킹데이터를 복호화한다(S30).
먼저, 유통관리서버(100)가 생성된 양자난수 개인키를 통해 패킹 데이터를 복호화한다(S31).
양자난수 개인키를 통한 복호화가 수행됨에 따라, 유통관리서버(100)는 의사난수 대칭키에 의해 1차적으로 암호화된 복권 데이터 및 제1 해쉬 데이터와 의사난수 대칭키를 획득할 수 있다.
유통관리서버(100)는 암호화된 복권 데이터 및 제1 해시 데이터를 획득한 의사난수 대칭키를 이용하여 복호화한다(S33).
의사난수 대칭키를 통한 복호화가 수행됨에 따라, 유통관리서버(100)는 복권 데이터에 포함된 검증번호 및 유통번호와 제1 해시 데이터를 획득할 수 있다.
복호화가 완료되면, 유통관리서버(100)가 데이터의 무결성을 확인한다(S35).
유통관리서버(100)는 획득된 검증번호 및 유통번호를 이용해 제2 해시(Hash) 데이터를 생성하고, 제1 해시 데이터와 제2 해시 데이터를 비교하여 무결성을 확인한다.
무결성이 확인되면, 유통관리서버(100)가 획득된 검증번호, 유통번호 및 제1 해시 데이터(원본 해시 데이터)를 데이터베이스에 저장한다.
일 실시예에서, 획득된 검증번호, 유통번호 및 제1 해시 데이터(원본 해시 데이터)는 양자난수 공개키 및 의사난수 대칭키 중 적어도 하나에 의해 암호화되어 데이터베이스에 저장될 수 있다.
유통관리서버(100)와 발행서버(200) 사이에서 모든 데이터는 양자난수 공개키에 의해 암호화된 상태로 송수신되므로, 발행된 즉석 복권의 검증번호 및 유통번호에 대한 기밀성이 유지될 수 있다.
기밀성이 유지된 상태로 즉석 복권의 발행이 완료되면, 발행된 즉석 복권이 구매자들에게 판매된다.
구매자들이 구매한 즉석 복권의 당첨 유무를 확인하며, 당첨된 즉석 복권을 소지한 구매자들은 당첨금 수령을 요청한다.
유통관리서버(100)는 구매자들에게 당첨금 지급에 앞서 당첨 검증을 수행한다(S40).
먼저, 판매점(300)에서 유통관리서버(100)로 당첨 검증을 요청한다(S41).
판매점(300)은 진위 여부를 확인하려는 즉석 복권에 포함된 검증번호 및 유통번호 중 적어도 하나를 유통관리서버(100)로 송신한다. 도시된 실시예에서는, 구매자가 판매점(300)을 통해 당첨금을 수령하는 과정이 도시되나, 이에 한정되는 것은 아니다. 예를 들어, 구매자가 유통관리서버(100)에 소지한 즉석 복권에 포함된 검증번호 및 유통번호 중 적어도 하나를 직접 송신할 수 있으며, 판매점(300) 이외에 당첨금 지급을 관리하는 제3자가 유통관리서버(100)로 당첨금 지급이 요청된 즉석 복권에 포함된 검증번호 및 유통번호 중 적어도 하나를 송신할 수 있다.
당첨 검증 요청이 수신되면, 유통관리서버(100)가 복권 데이터를 검색한다(S43).
또한, 유통관리서버(100)가 당첨 검증 요청에 포함된 검증번호 및 유통번호 중 적어도 하나에 대한 제3 해시(Hash) 데이터를 생성한다.
유통관리서버(100)가 저장된 복권 데이터에 당첨 검증 요청에 포함된 검증번호 및 유통번호 중 적어도 하나와 일치하는 데이터가 있는지 검색하고, 일치하는 데이터가 있는 경우 일치하는 데이터와 매칭되는 제1 해시 데이터와 생성된 제3 해시 데이터를 비교하여 데이터 무결성을 확인한다(S45).
무결성이 확인되면, 유통관리서버(100)가 검증 결과를 송신한다(S47).
당첨 검증 요청에 포함된 검증번호 및 유통번호 중 적어도 하나와 일치하는 데이터가 존재하고 무결성이 확인된 경우, 유통관리서버(100)가 검증이 완료되었음을 송신한다.
당첨 검증 요청에 포함된 검증번호 및 유통번호 중 적어도 하나와 일치하는 데이터가 존재하지 않거나 무결성이 깨진 경우, 유통관리서버(100)가 검증이 완료되지 않았음을 송신한다.
도 5 및 도 6을 참조하면, 유통관리서버(100) 및 발행서버(200)의 구성이 도시된다.
유통관리서버(100)는 적어도 하나의 제1 프로세서(110), 통신부(120) 및 데이터베이스부(130)를 포함한다.
또한, 발행서버(200)는 적어도 하나의 제2 프로세서(210), 통신부(220), 및 데이터베이스부(230)를 포함한다.
제1 프로세서(110) 및 제2 프로세서(210)는, 하드웨어적으로, ASICs(applicationspecific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
또한, 소프트웨어적으로, 본 명세서에서 설명되는 절차 및 기능과 같은 실시예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 소프트웨어 코드는 적절한 프로그램 언어로 쓰여진 소프트웨어 애플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리에 저장되고, 제어부에 의해 실행될 수 있다.
통신부(120, 220)는 유선통신모듈, 무선통신모듈 및 근거리통신모듈 중 적어도 하나를 통해 구현될 수 있다. 무선 인터넷 모듈은 무선 인터넷 접속을 위한 모듈을 말하는 것으로 각 장치에 내장되거나 외장될 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), LTE(long term evolution), LTE-A(Long Term Evolution-Advanced) 등이 이용될 수 있다.
데이터베이스부(130, 230)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(harddisk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 데이터베이스는 웹 데이터베이스의 형태로 구현될 수 있다.
이상에서 전술한 본 발명의 실시예에 따른 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100: 유통관리서버
110: 제1 프로세서
120: 통신부
130: 데이터베이스부
200: 발행서버
210: 제2 프로세서
220: 통신부
230: 데이터베이스부

Claims (10)

  1. 적어도 하나의 제1 프로세서를 구비하는 유통관리서버; 및
    적어도 하나의 제2 프로세서를 구비하는 발행서버를 포함하고,
    상기 제1 프로세서는,
    상기 유통관리서버에 구비된 양자난수생성기를 통해 암호화에 사용되는 양자난수 공개키 및 복호화에 사용되는 양자난수 개인키를 생성하고,
    상기 양자난수 공개키를 상기 발행서버에 전송하며,
    상기 제2 프로세서는,
    상기 발행서버에 구비된 의사난수생성기를 통해 암복호화에 사용되는 의사난수 대칭키를 생성하고, 당첨 확인을 위한 제1 검증번호 및 제1 유통번호를 포함하는 복권 데이터를 생성하며,
    상기 복권 데이터의 무결성 확인을 위해 상기 복권 데이터와 매칭되는 제1 해시(Hash) 데이터를 생성하고,
    상기 복권 데이터 및 상기 제1 해시 데이터를 상기 의사난수 대칭키를 통해 1차적으로 암호화하여 암호화된 복권 데이터 및 암호화된 제1 해시 데이터를 생성하고,
    상기 암호화된 복권 데이터, 상기 암호화된 제1 해시 데이터 및 상기 의사난수 대칭키를 상기 양자난수 공개키를 통해 2차적으로 암호화하여 패킹 데이터를 생성하고, 상기 생성된 패킹 데이터를 상기 유통관리서버로 전송하며,
    상기 복권 데이터는 생산회차별로 별도로 생성되고,
    상기 양자난수 공개키, 상기 양자난수 개인키 및 상기 의사난수 대칭키는 상기 생산회차별로 별도로 생성되고,
    상기 제1 프로세서는,
    상기 제2 프로세서로부터 수신된 패킹 데이터를 상기 양자난수 개인키를 통해 복호화하여 상기 암호화된 복권 데이터, 상기 암호화된 제1 해시 데이터 및 상기 의사난수 대칭키를 획득하고,
    상기 획득한 의사난수 대칭키를 통해 상기 획득한 암호화된 복권 데이터 및 상기 획득한 암호화된 제1 해시 데이터를 복호화하여 복권 데이터 및 상기 제1 해시 데이터를 획득하고,
    상기 획득한 복권 데이터에 포함된 제2 검증번호 및 제2 유통번호를 이용하여 제2 해시(Hash) 데이터를 생성하고,
    상기 획득한 제1 해시 데이터와 상기 생성된 제2 해시 데이터를 비교하여 상기 획득한 복권 데이터에 포함된 상기 제2 검증번호 및 상기 제2 유통번호의 무결성을 확인하고,
    상기 무결성이 확인되면, 상기 제2 검증 번호, 상기 제2 유통번호 및 상기 획득한 제1 해시 데이터를 저장하고,
    당첨 검증 요청이 수신되면, 상기 당첨 검증 요청에 포함된 제3 검증번호 및 제3 유통번호를 이용하여 제3 해시(Hash) 데이터를 생성하고,
    상기 당첨 검증 요청에 포함된 상기 제3 검증번호 및 상기 제3 유통번호와 일치하는 데이터가 존재하는지 검색하고,
    상기 검색 결과 일치하는 데이터가 존재하는 경우, 상기 일치하는 데이터와 매칭되는 상기 획득한 제1 해시 데이터와 상기 생성된 제3 해시 데이터를 비교하여 데이터 무결성을 확인하고,
    판매점에서 특정 복권에 대한 당첨 확인 요청이 수신되면, 상기 특정 복권에 포함된 검증번호 및 유통번호에 기초하여 상기 특정 복권의 당첨 여부를 확인하고, 상기 확인 결과를 상기 판매점으로 송신하고,
    복권에 대한 회차별 발행계획을 생성하고, 상기 생성된 발행계획을 상기 발행서버로 송신하는 것을 특징으로 하는,
    의사난수 및 양자난수를 활용한 즉석 복권 발행 시스템.
  2. 제1항에 있어서,
    상기 제1 프로세서는,
    상기 검색 결과 상기 당첨 검증 요청에 포함된 상기 제3 검증번호 및 상기 제3 유통번호와 일치하는 데이터가 존재하지 않거나 무결성이 깨진 경우, 검증이 완료되지 않았다는 결과를 송신하는,
    의사난수 및 양자난수를 활용한 즉석 복권 발행 시스템.
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 양자난수생성기는 하드웨어 보안 모듈(Hardware Security Module)로 구성되는,
    의사난수 및 양자난수를 활용한 즉석 복권 발행 시스템.
  6. 제1항에 있어서,
    상기 양자난수생성기는,
    양자입자를 발생시키도록 구성되는 난수소스발생부;
    상기 양자입자를 검출하도록 구성되는 양자검출 다이오드;
    상기 양자입자의 검출시 대응되는 랜덤펄스를 발생시키도록 구성되는 양자랜덤펄스 생성부; 및
    상기 랜덤펄스에 기초해 양자난수를 생성하고, 상기 양자난수에 기초하여 상기 양자난수 공개키 및 상기 양자난수 개인키를 생성하도록 구성되는 양자난수 제어부를 포함하는,
    의사난수 및 양자난수를 활용한 즉석 복권 발행 시스템.
  7. 유통관리서버 및 발행서버를 포함하는 시스템에 의해 수행되며, 의사난수 및 양자난수를 활용한 즉석 복권 발행 방법에 있어서,
    상기 유통관리서버가 상기 유통관리서버에 구비된 양자난수생성기를 통해 암호화에 사용되는 양자난수 공개키 및 복호화에 사용되는 양자난수 개인키를 생성하는 단계;
    상기 유통관리서버가 상기 양자난수 공개키를 상기 발행서버에 전송하는 단계;
    상기 발행서버가 상기 발행서버에 구비된 의사난수생성기를 통해 암복호화에 사용되는 의사난수 대칭키를 생성하고, 당첨 확인을 위한 제1 검증번호 및 제1 유통번호를 포함하는 복권 데이터를 생성하는 단계;
    상기 발행서버가 상기 복권 데이터의 무결성 확인을 위해 상기 복권 데이터와 매칭되는 제1 해시(Hash) 데이터를 생성하는 단계;
    상기 발행서버가 상기 복권 데이터 및 상기 제1 해시 데이터를 상기 의사난수 대칭키를 통해 1차적으로 암호화하여 암호화된 복권 데이터 및 암호화된 제1 해시 데이터를 생성하는 단계;
    상기 발행서버가 상기 암호화된 복권 데이터, 상기 암호화된 제1 해시 데이터 및 상기 의사난수 대칭키를 상기 양자난수 공개키를 통해 2차적으로 암호화하여 패킹 데이터를 생성하고, 상기 생성된 패킹 데이터를 상기 유통관리서버로 전송하는 단계를 포함하며,
    상기 복권 데이터는 생산회차별로 별도로 생성되고,
    상기 양자난수 공개키, 상기 양자난수 개인키 및 상기 의사난수 대칭키는 상기 생산회차별로 별도로 생성되고,
    상기 유통관리서버는,
    상기 발행서버로부터 수신된 패킹 데이터를 상기 양자난수 개인키를 통해 복호화하여 상기 암호화된 복권 데이터, 상기 암호화된 제1 해시 데이터 및 상기 의사난수 대칭키를 획득하고,
    상기 획득한 의사난수 대칭키를 통해 상기 획득한 암호화된 복권 데이터 및 상기 획득한 암호화된 제1 해시 데이터를 복호화하여 복권 데이터 및 상기 제1 해시 데이터를 획득하고,
    상기 획득한 복권 데이터에 포함된 제2 검증번호 및 제2 유통번호를 이용하여 제2 해시(Hash) 데이터를 생성하고,
    상기 획득한 제1 해시 데이터와 상기 생성된 제2 해시 데이터를 비교하여 상기 획득한 복권 데이터에 포함된 상기 제2 검증번호 및 상기 제2 유통번호의 무결성을 확인하고,
    상기 무결성이 확인되면, 상기 제2 검증 번호, 상기 제2 유통번호 및 상기 획득한 제1 해시 데이터를 저장하고,
    당첨 검증 요청이 수신되면, 상기 당첨 검증 요청에 포함된 제3 검증번호 및 제3 유통번호를 이용하여 제3 해시(Hash) 데이터를 생성하고,
    상기 당첨 검증 요청에 포함된 상기 제3 검증번호 및 상기 제3 유통번호와 일치하는 데이터가 존재하는지 검색하고,
    상기 검색 결과 일치하는 데이터가 존재하는 경우, 상기 일치하는 데이터와 매칭되는 상기 획득한 제1 해시 데이터와 상기 생성된 제3 해시 데이터를 비교하여 데이터 무결성을 확인하고,
    판매점에서 특정 복권에 대한 당첨 확인 요청이 수신되면, 상기 특정 복권에 포함된 검증번호 및 유통번호에 기초하여 상기 특정 복권의 당첨 여부를 확인하고, 상기 확인 결과를 상기 판매점으로 송신하고,
    복권에 대한 회차별 발행계획을 생성하고, 상기 생성된 발행계획을 상기 발행서버로 송신하는 것을 특징으로 하는,
    의사난수 및 양자난수를 활용한 즉석 복권 발행 방법.
  8. 제7항에 있어서,
    상기 발행서버는,
    상기 검색 결과 상기 당첨 검증 요청에 포함된 상기 제3 검증번호 및 상기 제3 유통번호와 일치하는 데이터가 존재하지 않거나 무결성이 깨진 경우, 검증이 완료되지 않았다는 결과를 송신하는,
    의사난수 및 양자난수를 활용한 즉석 복권 발행 방법.
  9. 삭제
  10. 하드웨어인 컴퓨터와 결합되며, 제7항의 방법을 실행하기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된, 프로그램.
KR1020210040776A 2021-03-30 2021-03-30 의사난수 및 양자난수를 활용한 즉석 복권 발행 방법, 시스템 및 프로그램 KR102610052B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210040776A KR102610052B1 (ko) 2021-03-30 2021-03-30 의사난수 및 양자난수를 활용한 즉석 복권 발행 방법, 시스템 및 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210040776A KR102610052B1 (ko) 2021-03-30 2021-03-30 의사난수 및 양자난수를 활용한 즉석 복권 발행 방법, 시스템 및 프로그램

Publications (2)

Publication Number Publication Date
KR20220135304A KR20220135304A (ko) 2022-10-07
KR102610052B1 true KR102610052B1 (ko) 2023-12-05

Family

ID=83595659

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210040776A KR102610052B1 (ko) 2021-03-30 2021-03-30 의사난수 및 양자난수를 활용한 즉석 복권 발행 방법, 시스템 및 프로그램

Country Status (1)

Country Link
KR (1) KR102610052B1 (ko)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100447605B1 (ko) * 2001-06-20 2004-09-07 시큐아이닷컴 주식회사 전자 복권시스템 및 그것의 운영방법
KR20030073411A (ko) 2002-03-11 2003-09-19 주식회사 세니온 무선통신망을 이용한 즉석식 전자 복권 서비스 시스템 및방법
KR100567135B1 (ko) * 2003-06-28 2006-04-05 정경운 온라인 즉석식 복권판매시스템
KR20190105275A (ko) * 2018-03-05 2019-09-17 주식회사 열심히커뮤니케이션즈 로또 이벤트 참여 정보 위변조 방지 장치 및 방법
KR102172688B1 (ko) * 2018-06-04 2020-11-02 차보영 양자난수 및 의사난수를 결합한 다차원 행렬 해시함수 블럭체인 스마트 블럭 배전반 제어시스템
KR102218884B1 (ko) * 2018-11-28 2021-02-24 주식회사 이와이엘 블록체인 기반의 양자 엔트로피 소스를 이용한 사용자 인증 방법 및 시스템

Also Published As

Publication number Publication date
KR20220135304A (ko) 2022-10-07

Similar Documents

Publication Publication Date Title
US11853987B2 (en) System and method for secure communication in a retail environment
US11038673B2 (en) Data processing method and apparatus
US9735962B1 (en) Three layer key wrapping for securing encryption keys in a data storage system
US9544280B2 (en) Utilization of a protected module to prevent offline dictionary attacks
US9673975B1 (en) Cryptographic key splitting for offline and online data protection
US11258591B2 (en) Cryptographic key management based on identity information
KR100670005B1 (ko) 모바일 플랫폼을 위한 메모리의 무결성을 원격으로 확인하는 확인장치 및 그 시스템 그리고 무결성 확인 방법
CN106687980B (zh) 管理程序和虚拟机保护
CN103988464A (zh) 利用全球平台规范对发行者安全域进行密钥管理的系统和方法
EP3552131B1 (en) Password security
CN106991298A (zh) 应用程序对接口的访问方法、授权请求方法及装置
US20150113272A1 (en) Method and apparatus for authenticating and managing application using trusted platform module
CN111316596B (zh) 具有身份验证的加密芯片
CN108650214B (zh) 动态页面加密防越权方法及装置
CN110431803A (zh) 基于身份信息管理加密密钥
KR20200104084A (ko) Puf 기반 사물인터넷 디바이스 인증 장치 및 방법
KR102610052B1 (ko) 의사난수 및 양자난수를 활용한 즉석 복권 발행 방법, 시스템 및 프로그램
US20090271632A1 (en) Secret authentication system
US8880906B2 (en) Storing encrypted contents in digital archives
CN107800536A (zh) 安全进程模仿检测
KR20230068144A (ko) 키 관리 서비스 제공방법 및 이를 위한 시스템
KR20150109053A (ko) 정보 데이터 위탁 시스템 및 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant