KR102071064B1 - 난수 발생용 엔트로피 공급 관리 서비스 장치 및 그 동작 방법 - Google Patents

난수 발생용 엔트로피 공급 관리 서비스 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR102071064B1
KR102071064B1 KR1020180150282A KR20180150282A KR102071064B1 KR 102071064 B1 KR102071064 B1 KR 102071064B1 KR 1020180150282 A KR1020180150282 A KR 1020180150282A KR 20180150282 A KR20180150282 A KR 20180150282A KR 102071064 B1 KR102071064 B1 KR 102071064B1
Authority
KR
South Korea
Prior art keywords
entropy data
entropy
data storage
customer
identification information
Prior art date
Application number
KR1020180150282A
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 KR1020180150282A priority Critical patent/KR102071064B1/ko
Application granted granted Critical
Publication of KR102071064B1 publication Critical patent/KR102071064B1/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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Abstract

난수 발생용 엔트로피 공급 관리 서비스 장치 및 그 동작 방법이 개시된다. 본 발명은 다양한 잡음원을 통해 획득한 엔트로피 데이터를 암호화키 생성을 위한 난수 생성에 활용하고자 하는 은행, 관공서, 기업 등에 안전하게 배포하고 관리할 수 있도록 지원하는 난수 발생용 엔트로피 공급 관리 서비스 장치 및 그 동작 방법을 제공함으로써, 엔트로피 데이터의 획득이 어려운 기관들이 고도의 보안성이 보장된 난수 생성을 위한 엔트로피 데이터를 손쉽게 입수할 수 있도록 지원할 수 있다.

Description

난수 발생용 엔트로피 공급 관리 서비스 장치 및 그 동작 방법{ENTROPY SUPPLY MANAGEMENT SERVICE APPARATUS FOR RANDOM NUMBER GENERATION AND OPERATING METHOD THEREOF}
본 발명은 난수를 발생시키는 사용되는 엔트로피 데이터를 안전하게 공급하고 배포할 수 있도록 지원하는 장치 및 그 동작 방법에 대한 것이다.
최근, 전산 시스템 상에서 해커에 의한 공격으로 개인정보가 노출되는 등의 문제가 자주 발생하고 있어서, 데이터 노출을 방지하기 위한 다양한 보안 기술에 대한 연구가 진행되고 있다.
이러한 보안 기술 중 가장 널리 사용되는 것이 소정의 암호화키를 이용하여 데이터를 암호화하는 방식인데, 보통 암호화키는 다른 사람이 손쉽게 유추할 수 없도록 구성될 필요가 있다. 이렇게 암호화키를 생성하기 위해서 난수(Random Number)가 많이 사용된다.
난수는 랜덤하게 생성된 수를 의미하는 것으로, 난수의 종류로는 동전던지기처럼 앞/뒤의 발생을 예측할 수 없고, 앞에 발생한 사건이 나중에 생성될 사건에 독립적인 형태를 갖는 이상적인 난수인 순수 난수(True Random Number)와 소정의 난수 생성 알고리즘에 의해서 생성되는 의사 난수(Pseudo-Random Number)가 존재한다.
보통, 암호화키 생성에 사용되는 난수는 의사 난수가 자주 사용되는데, 의사 난수는 특정한 패턴을 가지고 있기 때문에 다른 사람에 의해 난수 생성 패턴이 손쉽게 노출되는 문제가 존재한다. 따라서, 이러한 의사 난수의 취약성을 해소하기 위해 최근에는 순수 난수 생성을 위한 다양한 연구가 진행되고 있다.
순수 난수 생성을 위한 대표적인 기술 중 하나로 비결정론적 난수 발생기(Non-Deterministic Random Bit Generator: NRBG)를 이용한 난수 생성 기법이 존재한다. 비결정론적 난수 발생기는 소정의 잡음원의 물리적 현상을 관찰하여 얻은 큰 엔트로피의 입력을 이용해서 난수를 생성하는 기법을 의미한다.
예컨대, CMOS 센서나 CCD 센서 등과 같은 이미지 센서를 잡음원으로 사용함으로써, 상기 잡음원으로부터 광원이 가지고 있는 빛의 입자적 특성에 의해 나타나는 광자 수의 불확정도인 샷 노이즈(Shot Noise)를 엔트로피 데이터로 획득하여 난수를 생성하는 방식이 이에 해당된다.
이렇게, 비결정론적 난수 발생기를 이용한 난수는 생성 패턴을 예상하기 어렵기 때문에 고도의 보안이 필요한 데이터를 다루는 은행, 관공서, 기업 등에서 그 활용이 증가하고 있다.
하지만, 이러한 기관들은 다양한 잡음원을 통해서 엔트로피 데이터를 확보하는 것 자체가 쉽지 않은 상황이라는 점에서, 다양한 잡음원을 통해 획득한 엔트로피 데이터를 암호화키 생성을 위한 난수 생성에 활용하고자 하는 은행, 관공서, 기업 등에 안전하게 배포하고 관리할 수 있도록 지원하는 난수 발생용 엔트로피 공급 관리 서비스 기술에 대한 연구가 필요하다.
본 발명에서는 다양한 잡음원을 통해 획득한 엔트로피 데이터를 암호화키 생성을 위한 난수 생성에 활용하고자 하는 은행, 관공서, 기업 등에 안전하게 배포하고 관리할 수 있도록 지원하는 난수 발생용 엔트로피 공급 관리 서비스 장치 및 그 동작 방법을 제시하고자 한다.
본 발명의 일실시예에 따른 난수 발생용 엔트로피 공급 관리 서비스 장치는 난수 생성에 사용되는 엔트로피 데이터를 발생시키는 잡음원들로부터 수집된 복수의 엔트로피 데이터들이 분할 저장되어 있는 복수의 엔트로피 데이터 저장부들, 복수의 고객들에 대한 회원 식별 정보가 저장되어 있는 고객 정보 데이터베이스, 상기 복수의 고객들 중 제1 고객의 제1 고객 단말로부터 엔트로피 데이터의 전송 요청이 수신되면, 상기 제1 고객 단말로부터 상기 제1 고객의 회원 식별 정보를 수신하여 상기 제1 고객의 회원 식별 정보가 상기 고객 정보 데이터베이스에 저장되어 있는지 여부를 확인하는 고객 확인부 및 상기 제1 고객의 회원 식별 정보가 상기 고객 정보 데이터베이스에 저장되어 있는 것으로 확인된 경우, 상기 복수의 엔트로피 데이터 저장부들로부터 제1 엔트로피 데이터를 추출하여 상기 제1 고객 단말에 상기 제1 엔트로피 데이터를 전송하는 엔트로피 데이터 제공부를 포함하고, 상기 제1 고객 단말은 상기 제1 엔트로피 데이터가 수신되면, 비결정론적 난수 발생기(Non-Deterministic Random Bit Generator: NRBG)에 상기 제1 엔트로피 데이터를 입력으로 인가하여 난수를 생성하고, 상기 난수를 기초로 데이터 암호화에 사용될 암호화키를 생성한다.
또한, 본 발명의 일실시예에 따른 난수 발생용 엔트로피 공급 관리 서비스 장치의 동작 방법은 난수 생성에 사용되는 엔트로피 데이터를 발생시키는 잡음원들로부터 수집된 복수의 엔트로피 데이터들이 분할 저장되어 있는 복수의 엔트로피 데이터 저장부들을 유지하는 단계, 복수의 고객들에 대한 회원 식별 정보가 저장되어 있는 고객 정보 데이터베이스를 유지하는 단계, 상기 복수의 고객들 중 제1 고객의 제1 고객 단말로부터 엔트로피 데이터의 전송 요청이 수신되면, 상기 제1 고객 단말로부터 상기 제1 고객의 회원 식별 정보를 수신하여 상기 제1 고객의 회원 식별 정보가 상기 고객 정보 데이터베이스에 저장되어 있는지 여부를 확인하는 단계 및 상기 제1 고객의 회원 식별 정보가 상기 고객 정보 데이터베이스에 저장되어 있는 것으로 확인된 경우, 상기 복수의 엔트로피 데이터 저장부들로부터 제1 엔트로피 데이터를 추출하여 상기 제1 고객 단말에 상기 제1 엔트로피 데이터를 전송하는 단계를 포함하고, 상기 제1 고객 단말은 상기 제1 엔트로피 데이터가 수신되면, 비결정론적 난수 발생기에 상기 제1 엔트로피 데이터를 입력으로 인가하여 난수를 생성하고, 상기 난수를 기초로 데이터 암호화에 사용될 암호화키를 생성한다.
본 발명은 다양한 잡음원을 통해 획득한 엔트로피 데이터를 암호화키 생성을 위한 난수 생성에 활용하고자 하는 은행, 관공서, 기업 등에 안전하게 배포하고 관리할 수 있도록 지원하는 난수 발생용 엔트로피 공급 관리 서비스 장치 및 그 동작 방법을 제공함으로써, 엔트로피 데이터의 획득이 어려운 기관들이 고도의 보안성이 보장된 난수 생성을 위한 엔트로피 데이터를 손쉽게 입수할 수 있도록 지원할 수 있다.
도 1은 본 발명의 일실시예에 따른 난수 발생용 엔트로피 공급 관리 서비스 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 난수 발생용 엔트로피 공급 관리 서비스 장치의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 난수 발생용 엔트로피 공급 관리 서비스 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명에 따른 난수 발생용 엔트로피 공급 관리 서비스 장치(110)는 복수의 엔트로피 데이터 저장부들(101, 102, 103), 고객 정보 데이터베이스(111), 고객 확인부(112) 및 엔트로피 데이터 제공부(113)를 포함한다.
복수의 엔트로피 데이터 저장부들(101, 102, 103)에는 난수 생성에 사용되는 엔트로피 데이터를 발생시키는 잡음원들로부터 수집된 복수의 엔트로피 데이터들이 분할 저장되어 있다.
고객 정보 데이터베이스(111)에는 복수의 고객들에 대한 회원 식별 정보가 저장되어 있다. 여기서, 복수의 고객들은 은행, 관공서, 기업 등과 같이 난수를 이용해서 소정의 암호화키를 생성하고자 하는 기관 등이 될 수 있고, 회원 식별 정보는 각 고객에 대해서 미리 발급된 ID 등이 될 수 있다.
고객 확인부(112)는 상기 복수의 고객들 중 제1 고객의 제1 고객 단말(130)로부터 엔트로피 데이터의 전송 요청이 수신되면, 제1 고객 단말(130)로부터 상기 제1 고객의 회원 식별 정보를 수신하여 상기 제1 고객의 회원 식별 정보가 고객 정보 데이터베이스(111)에 저장되어 있는지 여부를 확인한다.
엔트로피 데이터 제공부(113)는 상기 제1 고객의 회원 식별 정보가 고객 정보 데이터베이스(111)에 저장되어 있는 것으로 확인된 경우, 복수의 엔트로피 데이터 저장부들(101, 102, 103)로부터 제1 엔트로피 데이터를 추출하여 제1 고객 단말(130)에 상기 제1 엔트로피 데이터를 전송한다.
이때, 제1 고객 단말(130)은 상기 제1 엔트로피 데이터가 수신되면, 비결정론적 난수 발생기(Non-Deterministic Random Bit Generator: NRBG)에 상기 제1 엔트로피 데이터를 입력으로 인가하여 난수를 생성하고, 상기 난수를 기초로 데이터 암호화에 사용될 암호화키를 생성할 수 있다.
이때, 본 발명의 일실시예에 따르면, 고객 정보 데이터베이스(111)에는 상기 복수의 고객들 각각의 회원 식별 정보에 대해 복수의 엔트로피 데이터 저장부들(101, 102, 103) 중 각 고객별로 대응되는 것으로 미리 지정된 엔트로피 데이터 저장부의 식별 정보가 대응되어 저장되어 있을 수 있다.
관련해서, 고객 정보 데이터베이스(111)에는 하기의 표 1과 같이 데이터가 저장되어 있을 수 있다.
고객들의 회원 식별 정보 엔트로피 데이터 저장부의 식별 정보
고객 1의 회원 식별 정보 엔트로피 데이터 저장부 1의 식별 정보
고객 2의 회원 식별 정보 엔트로피 데이터 저장부 1의 식별 정보
고객 3의 회원 식별 정보 엔트로피 데이터 저장부 2의 식별 정보
고개 4의 회원 식별 정보 엔트로피 데이터 저장부 3의 식별 정보
... ...
상기 표 1과 같은 고객 정보 데이터베이스(111)와 관련해서, 관리자는 각 고객의 고객 등급에 따라 엔트로피 데이터 저장부를 서로 다르게 매칭시켜서 고객 정보 데이터베이스(111)를 구축할 수 있다. 예컨대, 높은 등급의 고객들에 대해서는 데이터 입출력 속도도 빠르고, 성능이 우수한 하이엔드 급 엔트로피 데이터 저장부를 매칭시킬 수 있고, 낮은 등급의 고객들에 대해서는 데이터 입출력 속도와 성능이 상대적으로 낮은 엔트리피 데이터 저장부를 매칭시킬 수 있다.
이때, 엔트로피 데이터 제공부(113)는 식별 정보 확인부(114), 엔트로피 데이터 추출부(115) 및 엔트로피 데이터 전송부(116)를 포함할 수 있다.
식별 정보 확인부(114)는 고객 확인부(112)를 통해 상기 제1 고객의 회원 식별 정보가 고객 정보 데이터베이스(111)에 저장되어 있는 것으로 확인된 경우, 고객 정보 데이터베이스로(111)부터 상기 제1 고객의 회원 식별 정보에 대응되어 저장되어 있는 엔트로피 데이터 저장부의 식별 정보를 확인한다.
만약, 상기 제1 고객의 회원 식별 정보에 대응되어 저장되어 있는 엔트로피 데이터 저장부의 식별 정보로 제1 엔트로피 데이터 저장부의 식별 정보가 확인된 경우, 엔트로피 데이터 추출부(115)는 복수의 엔트로피 데이터 저장부들(101, 102, 103) 중 상기 제1 엔트로피 데이터 저장부로부터 상기 제1 엔트로피 데이터를 추출한다.
그리고, 엔트로피 데이터 전송부(116)는 상기 제1 엔트로피 데이터를 제1 고객 단말(130)로 전송한다.
즉, 본 발명에 따른 난수 발생용 엔트로피 공급 관리 서비스 장치(110)는 고객별로 대응되는 엔트로피 데이터 저장부를 매칭시켜둔 후 특정 고객으로부터 엔트로피 데이터의 전송 요청이 수신되면, 상기 특정 고객에 매칭된 엔트로피 데이터 저장부로부터 엔트로피 데이터를 추출하여 제공할 수 있다.
이때, 본 발명의 일실시예에 따르면, 엔트로피 데이터 제공부(113)는 고객에 대해 엔트로피 데이터를 전송할 때, 보안을 강화하기 위한 구성으로, 생성행렬 저장부(117), 생성행렬 추출부(118) 및 암호화부(119)를 더 포함할 수 있다.
생성행렬 저장부(117)에는 복수의 엔트로피 데이터 저장부들(101, 102, 103) 각각의 식별 정보에 대해 t(t는 자연수임) 비트 이하의 코드에 대한 오류 정정 능력을 갖는 미리 설정된 서로 다른 생성행렬이 대응되어 저장되어 있다.
여기서, 생성행렬이란 데이터의 전송 과정에서 발생하는 오류를 정정할 수 있도록 전송 데이터를 소정의 코드워드(codeword)로 인코딩하는데 사용되는 행렬을 의미하는 것으로, t비트 이하의 코드에 대한 오류 정정 능력을 갖는 생성행렬이란 데이터 전송 과정에서 t비트 이하의 비트 값에 오류가 발생하였을 때, 해당 비트 값의 오류에 대한 정정이 가능하도록 하는 코드워드를 생성할 수 있는 행렬을 의미한다.
관련해서, 생성행렬 저장부(117)에는 하기의 표 2와 같이 생성행렬이 저장되어 있을 수 있다.
엔트로피 데이터 저장부의 식별 정보 생성행렬
엔트로피 데이터 저장부 1의 식별 정보 생성행렬 1
엔트로피 데이터 저장부 2의 식별 정보 생성행렬 2
엔트로피 데이터 저장부 3의 식별 정보 생성행렬 3
엔트로피 데이터 저장부 4의 식별 정보 생성행렬 4
... ...
상기 표 2에서 생성행렬 1, 2, 3, 4는 모두 t비트 이하의 코드에 대한 오류 정정 능력을 갖는 생성행렬로 모두 다른 행렬이다.
생성행렬 추출부(118)는 상기 제1 엔트로피 데이터 저장부로부터 상기 제1 엔트로피 데이터가 추출되면, 생성행렬 저장부(117)로부터 상기 제1 엔트로피 데이터 저장부의 식별 정보에 대응되어 저장되어 있는 제1 생성행렬을 추출한다.
암호화부(119)는 t이하의 해밍 무게(Hamming Weight)를 갖는 랜덤 코드를 랜덤하게 생성하고, 상기 제1 생성행렬을 기초로 상기 제1 엔트로피 데이터에 대한 인코딩을 수행하여 코드워드(codeword)를 생성한 후 상기 코드워드에 상기 랜덤 코드를 에러로 인가하여 상기 제1 엔트로피 데이터에 대한 암호화를 수행한다.
여기서, 해밍 무게란 '0'과 '1'로 구성된 코드 값들의 집합에서 '1'이라는 코드 값의 개수를 의미한다.
관련해서, 암호화부(119)는 t이하의 해밍 무게를 갖는 상기 랜덤 코드를 생성하면, 하기의 수학식 1의 연산에 따라 상기 코드워드를 생성할 수 있다.
Figure 112018119237602-pat00001
여기서, d는 상기 제1 엔트로피 데이터로, k(k는 자연수)비트 크기를 갖는 데이터이고, G는 k x n(n은 k보다 큰 자연수) 크기를 갖는 상기 제1 생성행렬이며, c는 상기 코드워드를 의미한다.
만약, 상기 제1 엔트로피 데이터가 k비트보다 작은 데이터라면, 암호화부(119)는 상기 제1 엔트로피 데이터를 구성하는 비트열에서 '0'의 코드 값을 패딩(padding)함으로써, 상기 제1 엔트로피 데이터의 크기를 k비트의 크기로 맞출 수 있고, 상기 제1 엔트로피 데이터가 k비트보다 큰 데이터라면 상기 제1 엔트로피 데이터를 k비트 단위의 데이터 블록으로 나눈 후 코드워드를 생성하여 데이터 암호화를 수행할 수 있다.
이렇게, 상기 코드워드가 생성되면, 암호화부(119)는 하기의 수학식 2의 연산에 따라 상기 코드워드에 상기 랜덤 코드를 에러로 인가하여 상기 제1 엔트로피 데이터에 대한 암호화를 수행할 수 있다.
Figure 112018119237602-pat00002
여기서, e는 상기 랜덤 코드로 n비트 크기를 갖는 데이터이고, r는 상기 암호화된 제1 엔트로피 데이터이며,
Figure 112018119237602-pat00003
는 배타적 논리합 연산을 의미한다.
상기 랜덤 코드는 해밍 무게가 t이하인 데이터이기 때문에, 상기 암호화된 제1 엔트로피 데이터는 상기 코드워드에서 t개의 코드에 대해 에러가 발생한 데이터라고 볼 수 있다.
이렇게, 상기 제1 엔트로피 데이터에 대한 암호화가 완료되면, 엔트로피 데이터 전송부(116)는 상기 암호화된 제1 엔트로피 데이터를 제1 고객 단말(130)로 전송할 수 있다.
이때, 본 발명의 일실시예에 따르면, 제1 고객 단말(130)은 메모리 상에 상기 제1 생성행렬을 저장하고 있고, 난수 발생용 엔트로피 공급 관리 서비스 장치(110)로부터 상기 암호화된 제1 엔트로피 데이터가 수신되면, 상기 메모리 상에 저장되어 있는 상기 제1 생성행렬에 대응하는 제1 패리티 검사 행렬을 생성하고, 상기 제1 패리티 검사 행렬을 기초로, 상기 암호화된 제1 엔트로피 데이터에 대해 오류 정정을 위한 신드롬 디코딩(Syndrome Decoding)을 수행함으로써, 상기 암호화된 제1 엔트로피 데이터에 에러 코드로 인가되어 있는 상기 랜덤 코드와 함께 상기 제1 엔트로피 데이터를 복원할 수 있다.
관련해서, 상기 제1 생성행렬의 크기가 k x n라고 하였을 때, 제1 고객 단말(130)이 생성한 상기 제1 패리티 검사 행렬은 (n-k) x n의 크기를 갖는 행렬이 되며, 상기 제1 패리티 검사 행렬과 상기 제1 생성행렬 간에는 하기의 수학식 3과 같은 특성을 갖게 된다.
Figure 112018119237602-pat00004
여기서, HT는 상기 제1 패리티 검사 행렬의 전치 행렬을 의미한다.
이렇게, 상기 제1 패리티 검사 행렬이 생성되면, 제1 고객 단말(130)은 상기 제1 패리티 검사 행렬을 기초로 상기 암호화된 제1 엔트로피 데이터에 대해 오류 정정을 위한 신드롬 디코딩을 수행함으로써, 상기 암호화된 제1 엔트로피 데이터에 에러로 인가되어 있는 상기 랜덤 코드와 함께 상기 제1 엔트로피 데이터를 복원할 수 있다.
우선, 상기 제1 패리티 검사 행렬은 상기 수학식 3과 같은 특성을 갖기 때문에 상기 제1 생성행렬을 기초로 생성되는 상기 코드워드는 상기 제1 패리티 검사 행렬과의 관계에서 하기의 수학식 4와 같은 특성을 가지게 된다.
Figure 112018119237602-pat00005
이때, 상기 수학식 4의 특성을 고려하였을 때, 상기 코드워드에 상기 랜덤 코드가 에러로 인가됨으로써 생성된 상기 암호화된 제1 엔트로피 데이터에 대해서는 상기 제1 패리티 검사 행렬과의 관계에서 하기의 수학식 5와 같은 특성을 가지게 된다.
Figure 112018119237602-pat00006
상기 수학식 5에서 s를 신드롬이라고 하며, 제1 고객 단말(130)은 상기 암호화된 제1 엔트로피 데이터에 대해 상기 제1 패리티 검사 행렬을 이용하여 상기 수학식 5의 연산에 따른 신드롬을 결정한 후 상기 신드롬을 기반으로 오류 정정을 위한 신드롬 디코딩을 수행함으로써, 상기 암호화된 제1 엔트로피 데이터에 에러로 인가되어 있는 상기 랜덤 코드를 복원할 수 있고, 상기 랜덤 코드가 복원되면 상기 복원된 랜덤 코드를 이용하여 상기 제1 엔트로피 데이터를 복원할 수 있다.
여기서, 신드롬 디코딩이란 데이터 수신측이 생성행렬에 기초하여 인코딩된 코드워드를 수신하면, 수신된 코드워드로부터 오류 정정을 수행하여 에러 코드와 원본 데이터를 복원하는 디코딩 방식을 의미한다. 상기 랜덤 코드의 해밍 무게가 t이하라고 하였기 때문에 제1 고객 단말(130)은 t비트 코드에 대한 오류 정정 능력을 갖는 상기 제1 생성행렬에 대응하는 상기 제1 패리티 검사 행렬을 기초로 신드롬 디코딩을 수행함으로써, 상기 랜덤 코드와 상기 제1 엔트로피 데이터를 복원할 수 있게 된다.
이때, 본 발명의 일실시예에 따르면, 엔트로피 데이터 제공부(113)는 해시 값 생성부(120)를 더 포함할 수 있다.
해시 값 생성부(120)는 상기 랜덤 코드를 기설정된 해시 함수에 입력으로 인가하여 해시 값을 생성한다.
이때, 엔트로피 데이터 전송부(116)는 상기 제1 엔트로피 데이터에 대한 암호화가 완료되면, 상기 암호화된 제1 엔트로피 데이터를 제1 고객 단말(130)로 전송함과 동시에 상기 해시 값도 제1 고객 단말(130)로 전송할 수 있다.
이때, 제1 고객 단말(130)은 상기 메모리 상에 상기 해시 함수를 추가로 저장하고 있고, 상기 암호화된 제1 엔트로피 데이터에 에러 코드로 인가되어 있는 상기 랜덤 코드와 상기 제1 엔트로피 데이터의 복원이 완료되면, 복원이 완료된 상기 랜덤 코드를 상기 해시 함수에 입력으로 인가하여 검증용 해시 값을 생성한 후 상기 암호화된 제1 엔트로피 데이터와 함께 수신된 상기 해시 값과 상기 검증용 해시 값이 서로 일치하는지 여부를 확인하여 양 해시 값이 서로 일치하는 것으로 확인되면, 복원이 완료된 상기 제1 엔트로피 데이터를 상기 비결정론적 난수 발생기에 입력으로 인가하여 상기 난수를 생성하고, 상기 난수를 기초로 데이터 암호화에 사용될 상기 암호화키를 생성할 수 있다.
즉, 암호화부(119)에서 상기 랜덤 코드가 생성되고, 상기 랜덤 코드를 기초로 상기 제1 엔트로피 데이터에 대한 암호화가 완료되면, 해시 값 생성부(120)는 상기 랜덤 코드를 상기 해시 함수에 입력으로 인가하여 상기 암호화된 제1 엔트로피 데이터의 무결성 검증에 활용될 수 있도록 하는 상기 해시 값을 생성할 수 있다.
이때, 제1 고객 단말(130)는 상기 암호화된 제1 엔트로피 데이터와 상기 해시 값을 수신하게 되면, 상기 암호화된 제1 엔트로피 데이터에 대해 복호화를 수행하여 상기 랜덤 코드를 복원하고, 복원된 랜덤 코드를 상기 해시 함수에 입력으로 인가하여 상기 검증용 해시 값을 생성한 후 상기 검증용 해시 값이 상기 해시 값과 동일한지 여부를 비교함으로써, 양 해시 값이 일치하는 것으로 확인된다면, 상기 제1 엔트로피 데이터가 제대로 복호화되었음을 확인함과 동시에 상기 제1 엔트로피 데이터가 배포되는 과정에서 위조 또는 변조되지 않았음을 확인할 수 있다. 이렇게, 상기 제1 엔트로피 데이터에 대한 무결성이 확인되면, 제1 고객 단말(130)은 상기 제1 엔트로피 데이터를 기초로 난수를 생성하여 암호화키를 생성함으로써, 안전하게 암호화키의 생성 처리를 수행할 수 있게 된다.
본 발명의 일실시예에 따르면, 난수 발생용 엔트로피 공급 관리 서비스 장치(110)는 분배 비율 테이블 유지부(121), 엔트로피 분할 저장 처리부(122) 및 비율 재조정부(123)를 더 포함할 수 있다.
분배 비율 테이블 유지부(121)는 복수의 엔트로피 데이터 저장부들(101, 102, 103) 간의 미리 정해진 데이터 분배 비율이 기록되어 있는 분배 비율 테이블을 저장하여 유지한다.
엔트로피 데이터 분할 저장 처리부(122)는 상기 잡음원들로부터 기설정된 개수만큼의 엔트로피 데이터들이 수집되면, 상기 수집된 엔트로피 데이터들을 상기 분배 비율 테이블에 기록되어 있는 데이터 분배 비율에 따라 복수의 엔트로피 데이터 저장부들(101, 102, 103)에 대해 랜덤하게 분할하여 저장한다.
예컨대, 복수의 엔트로피 데이터 저장부들(101, 102, 103)로 엔트로피 데이터 저장부 1, 엔트로피 데이터 저장부 2, 엔트로피 데이터 저장부 3이 존재한다고 하고, 각 엔트로피 데이터 저장부들 간의 미리 정해진 데이터 분배 비율이 30%, 20%, 50%라고 하는 경우, 엔트로피 데이터 분할 저장 처리부(122)는 상기 잡음원들로부터 기설정된 개수만큼의 엔트로피 데이터들이 수집되면, 상기 수집된 엔트로피 데이터들을 30%, 20%, 50%의 비율에 따라 엔트로피 데이터 저장부 1, 엔트로피 데이터 저장부 2, 엔트로피 데이터 저장부 3에 대해 랜덤하게 분할하여 저장할 수 있다.
비율 재조정부(123)는 상기 수집된 엔트로피 데이터들을 복수의 엔트로피 데이터 저장부들(101, 102, 103)에 분할 저장하는 도중, 제2 엔트로피 데이터 저장부의 데이터 저장 가능 잔여 용량이 기설정된 임계 용량 미만인 것으로 확인되는 경우, 상기 제2 엔트로피 데이터 저장부에 할당되어 있는 데이터 분배 비율을 나머지 엔트로피 데이터 저장부들(상기 나머지 엔트로피 데이터 저장부들은 상기 복수의 엔트로피 데이터 저장부들 중 상기 제2 엔트로피 데이터 저장부를 제외한 데이터 저장부를 의미함)의 개수만큼 나눈 몫을 상기 나머지 엔트로피 데이터 저장부들 각각에 대한 데이터 분배 비율에 합산함으로써, 상기 나머지 엔트로피 데이터 저장부들 간의 데이터 분배 비율을 재조정한다.
예컨대, 앞서 설명한 바와 같이, 엔트로피 데이터 저장부 1, 엔트로피 데이터 저장부 2, 엔트로피 데이터 저장부 3 간의 미리 정해진 데이터 분배 비율이 30%, 20%, 50%라고 하고, 각 엔트로피 데이터 저장부에 엔트로피 데이터가 분할 저장되는 도중 상기 엔트로피 데이터 저장부 2의 데이터 저장 가능 잔여 용량이 상기 임계 용량 미만인 것으로 확인되면, 비율 재조정부(123)는 상기 엔트로피 데이터 저장부 2에 대한 데이터 분배 비율인 20%를 나머지 엔트로피 데이터 저장부들의 개수인 2로 나눈 몫인 10을 엔트로피 데이터 저장부 1, 3 각각에 대한 데이터 분배 비율에 합산함으로써, 엔트로피 데이터 저장부 1, 3 간의 데이터 분배 비율을 40%, 60%로 재조정할 수 있다.
이때, 엔트로피 데이터 분할 저장 처리부(122)는 상기 나머지 엔트로피 데이터 저장부들 간의 재조정된 데이터 분배 비율에 따라 상기 수집된 엔트로피 데이터들 중 분할 저장이 완료되지 않은 나머지 엔트로피 데이터들을 상기 나머지 엔트로피 데이터 저장부들에 대해 랜덤하게 분할하여 저장할 수 있다.
도 2는 본 발명의 일실시예에 따른 난수 발생용 엔트로피 공급 관리 서비스 장치의 동작 방법을 도시한 순서도이다.
단계(S210)에서는 난수 생성에 사용되는 엔트로피 데이터를 발생시키는 잡음원들로부터 수집된 복수의 엔트로피 데이터들이 분할 저장되어 있는 복수의 엔트로피 데이터 저장부들을 유지한다.
단계(S220)에서는 복수의 고객들에 대한 회원 식별 정보가 저장되어 있는 고객 정보 데이터베이스를 유지한다.
단계(S230)에서는 상기 복수의 고객들 중 제1 고객의 제1 고객 단말로부터 엔트로피 데이터의 전송 요청이 수신되면, 상기 제1 고객 단말로부터 상기 제1 고객의 회원 식별 정보를 수신하여 상기 제1 고객의 회원 식별 정보가 상기 고객 정보 데이터베이스에 저장되어 있는지 여부를 확인한다.
단계(S240)에서는 상기 제1 고객의 회원 식별 정보가 상기 고객 정보 데이터베이스에 저장되어 있는 것으로 확인된 경우, 상기 복수의 엔트로피 데이터 저장부들로부터 제1 엔트로피 데이터를 추출하여 상기 제1 고객 단말에 상기 제1 엔트로피 데이터를 전송한다.
이때, 상기 제1 고객 단말은 상기 제1 엔트로피 데이터가 수신되면, 비결정론적 난수 발생기에 상기 제1 엔트로피 데이터를 입력으로 인가하여 난수를 생성하고, 상기 난수를 기초로 데이터 암호화에 사용될 암호화키를 생성할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 고객 정보 데이터베이스에는 상기 복수의 고객들 각각의 회원 식별 정보에 대해 상기 복수의 엔트로피 데이터 저장부들 중 각 고객별로 대응되는 것으로 미리 지정된 엔트로피 데이터 저장부의 식별 정보가 대응되어 저장되어 있을 수 있다.
이때, 단계(S240)에서는 상기 제1 고객의 회원 식별 정보가 상기 고객 정보 데이터베이스에 저장되어 있는 것으로 확인된 경우, 상기 고객 정보 데이터베이스로부터 상기 제1 고객의 회원 식별 정보에 대응되어 저장되어 있는 엔트로피 데이터 저장부의 식별 정보를 확인하는 단계, 상기 제1 고객의 회원 식별 정보에 대응되어 저장되어 있는 엔트로피 데이터 저장부의 식별 정보로 제1 엔트로피 데이터 저장부의 식별 정보가 확인된 경우, 상기 복수의 엔트로피 데이터 저장부들 중 상기 제1 엔트로피 데이터 저장부로부터 상기 제1 엔트로피 데이터를 추출하는 단계 및 상기 제1 엔트로피 데이터를 상기 제1 고객 단말로 전송하는 단계를 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 단계(S240)에서는 상기 복수의 엔트로피 데이터 저장부들 각각의 식별 정보에 대해 t(t는 자연수임) 비트 이하의 코드에 대한 오류 정정 능력을 갖는 미리 설정된 서로 다른 생성행렬이 대응되어 저장되어 있는 생성행렬 저장부를 유지하는 단계, 상기 제1 엔트로피 데이터 저장부로부터 상기 제1 엔트로피 데이터가 추출되면, 상기 생성행렬 저장부로부터 상기 제1 엔트로피 데이터 저장부의 식별 정보에 대응되어 저장되어 있는 제1 생성행렬을 추출하는 단계 및 t이하의 해밍 무게를 갖는 랜덤 코드를 랜덤하게 생성하고, 상기 제1 생성행렬을 기초로 상기 제1 엔트로피 데이터에 대한 인코딩을 수행하여 코드워드를 생성한 후 상기 코드워드에 상기 랜덤 코드를 에러로 인가하여 상기 제1 엔트로피 데이터에 대한 암호화를 수행하는 단계를 더 포함할 수 있다.
이때, 상기 제1 고객 단말로 전송하는 단계는 상기 제1 엔트로피 데이터에 대한 암호화가 완료되면, 상기 암호화된 제1 엔트로피 데이터를 상기 제1 고객 단말로 전송할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 제1 고객 단말은 메모리 상에 상기 제1 생성행렬을 저장하고 있고, 상기 암호화된 제1 엔트로피 데이터가 수신되면, 상기 메모리 상에 저장되어 있는 상기 제1 생성행렬에 대응하는 제1 패리티 검사 행렬을 생성하고, 상기 제1 패리티 검사 행렬을 기초로, 상기 암호화된 제1 엔트로피 데이터에 대해 오류 정정을 위한 신드롬 디코딩을 수행함으로써, 상기 암호화된 제1 엔트로피 데이터에 에러로 인가되어 있는 상기 랜덤 코드와 함께 상기 제1 엔트로피 데이터를 복원할 수 있다.
이때, 본 발명의 일실시예에 따르면, 단계(S240)에서는 상기 랜덤 코드를 기설정된 해시 함수에 입력으로 인가하여 해시 값을 생성하는 단계를 더 포함할 수 있고, 상기 제1 고객 단말로 전송하는 단계는 상기 제1 엔트로피 데이터에 대한 암호화가 완료되면, 상기 암호화된 제1 엔트로피 데이터를 상기 제1 고객 단말로 전송함과 동시에 상기 해시 값도 상기 제1 고객 단말로 전송할 수 있다.
이때, 상기 제1 고객 단말은 상기 메모리 상에 상기 해시 함수를 추가로 저장하고 있고, 상기 암호화된 제1 엔트로피 데이터에 에러 코드로 인가되어 있는 상기 랜덤 코드와 상기 제1 엔트로피 데이터의 복원이 완료되면, 복원이 완료된 상기 랜덤 코드를 상기 해시 함수에 입력으로 인가하여 검증용 해시 값을 생성한 후 상기 암호화된 제1 엔트로피 데이터와 함께 수신된 상기 해시 값과 상기 검증용 해시 값이 서로 일치하는지 여부를 확인하여 양 해시 값이 서로 일치하는 것으로 확인되면, 복원이 완료된 상기 제1 엔트로피 데이터를 상기 비결정론적 난수 발생기에 입력으로 인가하여 상기 난수를 생성하고, 상기 난수를 기초로 데이터 암호화에 사용될 상기 암호화키를 생성할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 난수 발생용 엔트로피 공급 관리 서비스 장치의 동작 방법은 상기 복수의 엔트로피 데이터 저장부들 간의 미리 정해진 데이터 분배 비율이 기록되어 있는 분배 비율 테이블을 저장하여 유지하는 단계, 상기 잡음원들로부터 기설정된 개수만큼의 엔트로피 데이터들이 수집되면, 상기 수집된 엔트로피 데이터들을 상기 분배 비율 테이블에 기록되어 있는 데이터 분배 비율에 따라 상기 복수의 엔트로피 데이터 저장부들에 대해 랜덤하게 분할하여 저장하는 단계, 상기 수집된 엔트로피 데이터들을 상기 복수의 엔트로피 데이터 저장부들에 분할 저장하는 도중, 제2 엔트로피 데이터 저장부의 데이터 저장 가능 잔여 용량이 기설정된 임계 용량 미만인 것으로 확인되는 경우, 상기 제2 엔트로피 데이터 저장부에 할당되어 있는 데이터 분배 비율을 나머지 엔트로피 데이터 저장부들(상기 나머지 엔트로피 데이터 저장부들은 상기 복수의 엔트로피 데이터 저장부들 중 상기 제2 엔트로피 데이터 저장부를 제외한 데이터 저장부를 의미함)의 개수만큼 나눈 몫을 상기 나머지 엔트로피 데이터 저장부들 각각에 대한 데이터 분배 비율에 합산함으로써, 상기 나머지 엔트로피 데이터 저장부들 간의 데이터 분배 비율을 재조정하는 단계 및 상기 나머지 엔트로피 데이터 저장부들 간의 재조정된 데이터 분배 비율에 따라 상기 수집된 엔트로피 데이터들 중 분할 저장이 완료되지 않은 나머지 엔트로피 데이터들을 상기 나머지 엔트로피 데이터 저장부들에 대해 랜덤하게 분할하여 저장하는 단계를 더 포함할 수 있다.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 난수 발생용 엔트로피 공급 관리 서비스 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 난수 발생용 엔트로피 공급 관리 서비스 장치의 동작 방법은 도 1을 이용하여 설명한 난수 발생용 엔트로피 공급 관리 서비스 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 난수 발생용 엔트로피 공급 관리 서비스 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 난수 발생용 엔트로피 공급 관리 서비스 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 난수 발생용 엔트로피 공급 관리 서비스 장치
101, 102, 103: 복수의 엔트로피 데이터 저장부들
111: 고객 정보 데이터베이스 112: 고객 확인부
113: 엔트로피 데이터 제공부 114: 식별 정보 확인부
115: 엔트로피 데이터 추출부 116: 엔트로피 데이터 전송부
117: 생성행렬 저장부 118: 생성행렬 추출부
119: 암호화부 120: 해시 값 생성부
121: 분배 비율 테이블 유지부 122: 엔트로피 데이터 분할 저장 처리부
123: 비율 재조정부

Claims (14)

  1. 난수 생성에 사용되는 엔트로피 데이터를 발생시키는 잡음원들로부터 수집된 복수의 엔트로피 데이터들이 분할 저장되어 있는 복수의 엔트로피 데이터 저장부들;
    복수의 고객들에 대한 회원 식별 정보가 저장되어 있으면서, 상기 복수의 고객들 각각의 회원 식별 정보에 대해 상기 복수의 엔트로피 데이터 저장부들 중 각 고객별로 대응되는 것으로 미리 지정된 엔트로피 데이터 저장부의 식별 정보가 대응되어 저장되어 있는 고객 정보 데이터베이스;
    상기 복수의 고객들 중 제1 고객의 제1 고객 단말로부터 엔트로피 데이터의 전송 요청이 수신되면, 상기 제1 고객 단말로부터 상기 제1 고객의 회원 식별 정보를 수신하여 상기 제1 고객의 회원 식별 정보가 상기 고객 정보 데이터베이스에 저장되어 있는지 여부를 확인하는 고객 확인부; 및
    상기 제1 고객의 회원 식별 정보가 상기 고객 정보 데이터베이스에 저장되어 있는 것으로 확인된 경우, 상기 복수의 엔트로피 데이터 저장부들로부터 제1 엔트로피 데이터를 추출하여 상기 제1 고객 단말에 상기 제1 엔트로피 데이터를 전송하는 엔트로피 데이터 제공부
    를 포함하고,
    상기 엔트로피 데이터 제공부는
    상기 제1 고객의 회원 식별 정보가 상기 고객 정보 데이터베이스에 저장되어 있는 것으로 확인된 경우, 상기 고객 정보 데이터베이스로부터 상기 제1 고객의 회원 식별 정보에 대응되어 저장되어 있는 엔트로피 데이터 저장부의 식별 정보를 확인하는 식별 정보 확인부;
    상기 제1 고객의 회원 식별 정보에 대응되어 저장되어 있는 엔트로피 데이터 저장부의 식별 정보로 제1 엔트로피 데이터 저장부의 식별 정보가 확인된 경우, 상기 복수의 엔트로피 데이터 저장부들 중 상기 제1 엔트로피 데이터 저장부로부터 상기 제1 엔트로피 데이터를 추출하는 엔트로피 데이터 추출부; 및
    상기 제1 엔트로피 데이터를 상기 제1 고객 단말로 전송하는 엔트로피 데이터 전송부
    를 포함하며,
    상기 제1 고객 단말은
    상기 제1 엔트로피 데이터가 수신되면, 비결정론적 난수 발생기(Non-Deterministic Random Bit Generator: NRBG)에 상기 제1 엔트로피 데이터를 입력으로 인가하여 난수를 생성하고, 상기 난수를 기초로 데이터 암호화에 사용될 암호화키를 생성하는 난수 발생용 엔트로피 공급 관리 서비스 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 엔트로피 데이터 제공부는
    상기 복수의 엔트로피 데이터 저장부들 각각의 식별 정보에 대해 t(t는 자연수임) 비트 이하의 코드에 대한 오류 정정 능력을 갖는 미리 설정된 서로 다른 생성행렬이 대응되어 저장되어 있는 생성행렬 저장부;
    상기 제1 엔트로피 데이터 저장부로부터 상기 제1 엔트로피 데이터가 추출되면, 상기 생성행렬 저장부로부터 상기 제1 엔트로피 데이터 저장부의 식별 정보에 대응되어 저장되어 있는 제1 생성행렬을 추출하는 생성행렬 추출부; 및
    t이하의 해밍 무게(Hamming Weight)를 갖는 랜덤 코드를 랜덤하게 생성하고, 상기 제1 생성행렬을 기초로 상기 제1 엔트로피 데이터에 대한 인코딩을 수행하여 코드워드(codeword)를 생성한 후 상기 코드워드에 상기 랜덤 코드를 에러로 인가하여 상기 제1 엔트로피 데이터에 대한 암호화를 수행하는 암호화부
    를 더 포함하고,
    상기 엔트로피 데이터 전송부는
    상기 제1 엔트로피 데이터에 대한 암호화가 완료되면, 상기 암호화된 제1 엔트로피 데이터를 상기 제1 고객 단말로 전송하는 난수 발생용 엔트로피 공급 관리 서비스 장치.
  4. 제3항에 있어서,
    상기 제1 고객 단말은
    메모리 상에 상기 제1 생성행렬을 저장하고 있고, 상기 암호화된 제1 엔트로피 데이터가 수신되면, 상기 메모리 상에 저장되어 있는 상기 제1 생성행렬에 대응하는 제1 패리티 검사 행렬을 생성하고, 상기 제1 패리티 검사 행렬을 기초로, 상기 암호화된 제1 엔트로피 데이터에 대해 오류 정정을 위한 신드롬 디코딩(Syndrome Decoding)을 수행함으로써, 상기 암호화된 제1 엔트로피 데이터에 에러로 인가되어 있는 상기 랜덤 코드와 함께 상기 제1 엔트로피 데이터를 복원하는 난수 발생용 엔트로피 공급 관리 서비스 장치.
  5. 제4항에 있어서,
    상기 엔트로피 데이터 제공부는
    상기 랜덤 코드를 기설정된 해시 함수에 입력으로 인가하여 해시 값을 생성하는 해시 값 생성부
    를 더 포함하고,
    상기 엔트로피 데이터 전송부는
    상기 제1 엔트로피 데이터에 대한 암호화가 완료되면, 상기 암호화된 제1 엔트로피 데이터를 상기 제1 고객 단말로 전송함과 동시에 상기 해시 값도 상기 제1 고객 단말로 전송하며,
    상기 제1 고객 단말은
    상기 메모리 상에 상기 해시 함수를 추가로 저장하고 있고, 상기 암호화된 제1 엔트로피 데이터에 에러 코드로 인가되어 있는 상기 랜덤 코드와 상기 제1 엔트로피 데이터의 복원이 완료되면, 복원이 완료된 상기 랜덤 코드를 상기 해시 함수에 입력으로 인가하여 검증용 해시 값을 생성한 후 상기 암호화된 제1 엔트로피 데이터와 함께 수신된 상기 해시 값과 상기 검증용 해시 값이 서로 일치하는지 여부를 확인하여 양 해시 값이 서로 일치하는 것으로 확인되면, 복원이 완료된 상기 제1 엔트로피 데이터를 상기 비결정론적 난수 발생기에 입력으로 인가하여 상기 난수를 생성하고, 상기 난수를 기초로 데이터 암호화에 사용될 상기 암호화키를 생성하는 난수 발생용 엔트로피 공급 관리 서비스 장치.
  6. 제1항에 있어서,
    상기 복수의 엔트로피 데이터 저장부들 간의 미리 정해진 데이터 분배 비율이 기록되어 있는 분배 비율 테이블을 저장하여 유지하는 분배 비율 테이블 유지부;
    상기 잡음원들로부터 기설정된 개수만큼의 엔트로피 데이터들이 수집되면, 상기 수집된 엔트로피 데이터들을 상기 분배 비율 테이블에 기록되어 있는 데이터 분배 비율에 따라 상기 복수의 엔트로피 데이터 저장부들에 대해 랜덤하게 분할하여 저장하는 엔트로피 데이터 분할 저장 처리부; 및
    상기 수집된 엔트로피 데이터들을 상기 복수의 엔트로피 데이터 저장부들에 분할 저장하는 도중, 제2 엔트로피 데이터 저장부의 데이터 저장 가능 잔여 용량이 기설정된 임계 용량 미만인 것으로 확인되는 경우, 상기 제2 엔트로피 데이터 저장부에 할당되어 있는 데이터 분배 비율을 나머지 엔트로피 데이터 저장부들 - 상기 나머지 엔트로피 데이터 저장부들은 상기 복수의 엔트로피 데이터 저장부들 중 상기 제2 엔트로피 데이터 저장부를 제외한 데이터 저장부를 의미함 - 의 개수만큼 나눈 몫을 상기 나머지 엔트로피 데이터 저장부들 각각에 대한 데이터 분배 비율에 합산함으로써, 상기 나머지 엔트로피 데이터 저장부들 간의 데이터 분배 비율을 재조정하는 비율 재조정부
    를 더 포함하고,
    상기 엔트로피 데이터 분할 저장 처리부는
    상기 나머지 엔트로피 데이터 저장부들 간의 재조정된 데이터 분배 비율에 따라 상기 수집된 엔트로피 데이터들 중 분할 저장이 완료되지 않은 나머지 엔트로피 데이터들을 상기 나머지 엔트로피 데이터 저장부들에 대해 랜덤하게 분할하여 저장하는 난수 발생용 엔트로피 공급 관리 서비스 장치.
  7. 난수 생성에 사용되는 엔트로피 데이터를 발생시키는 잡음원들로부터 수집된 복수의 엔트로피 데이터들이 분할 저장되어 있는 복수의 엔트로피 데이터 저장부들을 유지하는 단계;
    복수의 고객들에 대한 회원 식별 정보가 저장되어 있으면서, 상기 복수의 고객들 각각의 회원 식별 정보에 대해 상기 복수의 엔트로피 데이터 저장부들 중 각 고객별로 대응되는 것으로 미리 지정된 엔트로피 데이터 저장부의 식별 정보가 대응되어 저장되어 있는 고객 정보 데이터베이스를 유지하는 단계;
    상기 복수의 고객들 중 제1 고객의 제1 고객 단말로부터 엔트로피 데이터의 전송 요청이 수신되면, 상기 제1 고객 단말로부터 상기 제1 고객의 회원 식별 정보를 수신하여 상기 제1 고객의 회원 식별 정보가 상기 고객 정보 데이터베이스에 저장되어 있는지 여부를 확인하는 단계; 및
    상기 제1 고객의 회원 식별 정보가 상기 고객 정보 데이터베이스에 저장되어 있는 것으로 확인된 경우, 상기 복수의 엔트로피 데이터 저장부들로부터 제1 엔트로피 데이터를 추출하여 상기 제1 고객 단말에 상기 제1 엔트로피 데이터를 전송하는 단계
    를 포함하고,
    상기 제1 엔트로피 데이터를 전송하는 단계는
    상기 제1 고객의 회원 식별 정보가 상기 고객 정보 데이터베이스에 저장되어 있는 것으로 확인된 경우, 상기 고객 정보 데이터베이스로부터 상기 제1 고객의 회원 식별 정보에 대응되어 저장되어 있는 엔트로피 데이터 저장부의 식별 정보를 확인하는 단계;
    상기 제1 고객의 회원 식별 정보에 대응되어 저장되어 있는 엔트로피 데이터 저장부의 식별 정보로 제1 엔트로피 데이터 저장부의 식별 정보가 확인된 경우, 상기 복수의 엔트로피 데이터 저장부들 중 상기 제1 엔트로피 데이터 저장부로부터 상기 제1 엔트로피 데이터를 추출하는 단계; 및
    상기 제1 엔트로피 데이터를 상기 제1 고객 단말로 전송하는 단계
    를 포함하며,
    상기 제1 고객 단말은
    상기 제1 엔트로피 데이터가 수신되면, 비결정론적 난수 발생기(Non-Deterministic Random Bit Generator: NRBG)에 상기 제1 엔트로피 데이터를 입력으로 인가하여 난수를 생성하고, 상기 난수를 기초로 데이터 암호화에 사용될 암호화키를 생성하는 난수 발생용 엔트로피 공급 관리 서비스 장치의 동작 방법.
  8. 삭제
  9. 제7항에 있어서,
    상기 제1 엔트로피 데이터를 전송하는 단계는
    상기 복수의 엔트로피 데이터 저장부들 각각의 식별 정보에 대해 t(t는 자연수임) 비트 이하의 코드에 대한 오류 정정 능력을 갖는 미리 설정된 서로 다른 생성행렬이 대응되어 저장되어 있는 생성행렬 저장부를 유지하는 단계;
    상기 제1 엔트로피 데이터 저장부로부터 상기 제1 엔트로피 데이터가 추출되면, 상기 생성행렬 저장부로부터 상기 제1 엔트로피 데이터 저장부의 식별 정보에 대응되어 저장되어 있는 제1 생성행렬을 추출하는 단계; 및
    t이하의 해밍 무게(Hamming Weight)를 갖는 랜덤 코드를 랜덤하게 생성하고, 상기 제1 생성행렬을 기초로 상기 제1 엔트로피 데이터에 대한 인코딩을 수행하여 코드워드(codeword)를 생성한 후 상기 코드워드에 상기 랜덤 코드를 에러로 인가하여 상기 제1 엔트로피 데이터에 대한 암호화를 수행하는 단계
    를 더 포함하고,
    상기 제1 고객 단말로 전송하는 단계는
    상기 제1 엔트로피 데이터에 대한 암호화가 완료되면, 상기 암호화된 제1 엔트로피 데이터를 상기 제1 고객 단말로 전송하는 난수 발생용 엔트로피 공급 관리 서비스 장치의 동작 방법.
  10. 제9항에 있어서,
    상기 제1 고객 단말은
    메모리 상에 상기 제1 생성행렬을 저장하고 있고, 상기 암호화된 제1 엔트로피 데이터가 수신되면, 상기 메모리 상에 저장되어 있는 상기 제1 생성행렬에 대응하는 제1 패리티 검사 행렬을 생성하고, 상기 제1 패리티 검사 행렬을 기초로, 상기 암호화된 제1 엔트로피 데이터에 대해 오류 정정을 위한 신드롬 디코딩(Syndrome Decoding)을 수행함으로써, 상기 암호화된 제1 엔트로피 데이터에 에러로 인가되어 있는 상기 랜덤 코드와 함께 상기 제1 엔트로피 데이터를 복원하는 난수 발생용 엔트로피 공급 관리 서비스 장치의 동작 방법.
  11. 제10항에 있어서,
    상기 제1 엔트로피 데이터를 전송하는 단계는
    상기 랜덤 코드를 기설정된 해시 함수에 입력으로 인가하여 해시 값을 생성하는 단계
    를 더 포함하고,
    상기 제1 고객 단말로 전송하는 단계는
    상기 제1 엔트로피 데이터에 대한 암호화가 완료되면, 상기 암호화된 제1 엔트로피 데이터를 상기 제1 고객 단말로 전송함과 동시에 상기 해시 값도 상기 제1 고객 단말로 전송하며,
    상기 제1 고객 단말은
    상기 메모리 상에 상기 해시 함수를 추가로 저장하고 있고, 상기 암호화된 제1 엔트로피 데이터에 에러 코드로 인가되어 있는 상기 랜덤 코드와 상기 제1 엔트로피 데이터의 복원이 완료되면, 복원이 완료된 상기 랜덤 코드를 상기 해시 함수에 입력으로 인가하여 검증용 해시 값을 생성한 후 상기 암호화된 제1 엔트로피 데이터와 함께 수신된 상기 해시 값과 상기 검증용 해시 값이 서로 일치하는지 여부를 확인하여 양 해시 값이 서로 일치하는 것으로 확인되면, 복원이 완료된 상기 제1 엔트로피 데이터를 상기 비결정론적 난수 발생기에 입력으로 인가하여 상기 난수를 생성하고, 상기 난수를 기초로 데이터 암호화에 사용될 상기 암호화키를 생성하는 난수 발생용 엔트로피 공급 관리 서비스 장치의 동작 방법.
  12. 제7항에 있어서,
    상기 복수의 엔트로피 데이터 저장부들 간의 미리 정해진 데이터 분배 비율이 기록되어 있는 분배 비율 테이블을 저장하여 유지하는 단계;
    상기 잡음원들로부터 기설정된 개수만큼의 엔트로피 데이터들이 수집되면, 상기 수집된 엔트로피 데이터들을 상기 분배 비율 테이블에 기록되어 있는 데이터 분배 비율에 따라 상기 복수의 엔트로피 데이터 저장부들에 대해 랜덤하게 분할하여 저장하는 단계;
    상기 수집된 엔트로피 데이터들을 상기 복수의 엔트로피 데이터 저장부들에 분할 저장하는 도중, 제2 엔트로피 데이터 저장부의 데이터 저장 가능 잔여 용량이 기설정된 임계 용량 미만인 것으로 확인되는 경우, 상기 제2 엔트로피 데이터 저장부에 할당되어 있는 데이터 분배 비율을 나머지 엔트로피 데이터 저장부들 - 상기 나머지 엔트로피 데이터 저장부들은 상기 복수의 엔트로피 데이터 저장부들 중 상기 제2 엔트로피 데이터 저장부를 제외한 데이터 저장부를 의미함 - 의 개수만큼 나눈 몫을 상기 나머지 엔트로피 데이터 저장부들 각각에 대한 데이터 분배 비율에 합산함으로써, 상기 나머지 엔트로피 데이터 저장부들 간의 데이터 분배 비율을 재조정하는 단계; 및
    상기 나머지 엔트로피 데이터 저장부들 간의 재조정된 데이터 분배 비율에 따라 상기 수집된 엔트로피 데이터들 중 분할 저장이 완료되지 않은 나머지 엔트로피 데이터들을 상기 나머지 엔트로피 데이터 저장부들에 대해 랜덤하게 분할하여 저장하는 단계
    를 더 포함하는 난수 발생용 엔트로피 공급 관리 서비스 장치의 동작 방법.
  13. 제7항, 제9항, 제10항, 제11항 또는 제12항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  14. 제7항, 제9항, 제10항, 제11항 또는 제12항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020180150282A 2018-11-29 2018-11-29 난수 발생용 엔트로피 공급 관리 서비스 장치 및 그 동작 방법 KR102071064B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180150282A KR102071064B1 (ko) 2018-11-29 2018-11-29 난수 발생용 엔트로피 공급 관리 서비스 장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180150282A KR102071064B1 (ko) 2018-11-29 2018-11-29 난수 발생용 엔트로피 공급 관리 서비스 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR102071064B1 true KR102071064B1 (ko) 2020-01-30

Family

ID=69321268

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180150282A KR102071064B1 (ko) 2018-11-29 2018-11-29 난수 발생용 엔트로피 공급 관리 서비스 장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102071064B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101488270B1 (ko) * 2013-05-27 2015-01-30 한국전자통신연구원 난수 발생기용 잡음원 엔트로피 획득 장치 및 방법
KR101813481B1 (ko) * 2013-12-23 2017-12-29 인텔 코포레이션 사용자 정보를 익명 처리하는 장치, 저장 매체 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101488270B1 (ko) * 2013-05-27 2015-01-30 한국전자통신연구원 난수 발생기용 잡음원 엔트로피 획득 장치 및 방법
KR101813481B1 (ko) * 2013-12-23 2017-12-29 인텔 코포레이션 사용자 정보를 익명 처리하는 장치, 저장 매체 및 방법

Similar Documents

Publication Publication Date Title
EP3337084B1 (en) Cryptographic data processing method, cryptographic data processing apparatus, and program
US6079018A (en) System and method for generating unique secure values for digitally signing documents
Cohen A cryptographic checksum for integrity protection
US8494154B2 (en) Cryptographic ignition key system
US10985914B2 (en) Key generation device and key generation method
US20050210248A1 (en) Method and device for generating approximate message authentication codes
KR102244290B1 (ko) 데이터 전송 장치와 데이터 수신 장치 간의 보안 통신을 지원하는 암호화 통신 장치 및 그 동작 방법
US20200019685A1 (en) Computer system, verification method of confidential information, and computer
KR101942030B1 (ko) 메시지에 대한 무결성 검증이 지원되는 부호 기반의 암호화가 가능한 전자 장치 및 그 동작 방법
JP2003348065A (ja) データ分散保管システム
CN110008755B (zh) 一种云存储可撤销动态数据完整性验证系统及方法
US20110185409A1 (en) Authentication Method and System of At Least One Client Device with Limited Computational Capability
CN110620669A (zh) 一种基于量子随机数的数据保密方法及系统
KR20180104363A (ko) 메시지 인증이 가능한 부호 기반 암호화 장치 및 방법
CN109088850B (zh) 基于卢卡斯序列定位错误文件的批量云审计方法
KR101077975B1 (ko) 생체 정보 퍼지 볼트 생성방법 및 생체 정보 퍼지 볼트를 이용한 인증 방법
Iftikhar et al. A survey on reversible watermarking techniques for relational databases
KR101894566B1 (ko) 인증 및 오류 정정이 통합된 부호화가 가능한 데이터 전송 장치 및 방법
Chen et al. Towards server-side repair for erasure coding-based distributed storage systems
KR102149706B1 (ko) 블록체인을 이용한 전자 서명 기반의 사용자 인증 처리 장치 및 그 동작 방법
KR102071064B1 (ko) 난수 발생용 엔트로피 공급 관리 서비스 장치 및 그 동작 방법
KR102024379B1 (ko) 생체 정보 기반의 전자 서명이 가능한 데이터 전송 장치 및 그 동작 방법
JP2004053969A (ja) 電子割符生成方法およびプログラム
KR101978684B1 (ko) 재생 공격 방지가 가능한 부호 기반 암호화 장치 및 방법
JP4350961B2 (ja) データ処理装置

Legal Events

Date Code Title Description
GRNT Written decision to grant