WO2019139200A1 - 익명성 보장 및 시빌 공격 방지가 가능한, 블록 체인을 이용한 의사 표시 확인 방법 - Google Patents

익명성 보장 및 시빌 공격 방지가 가능한, 블록 체인을 이용한 의사 표시 확인 방법 Download PDF

Info

Publication number
WO2019139200A1
WO2019139200A1 PCT/KR2018/002100 KR2018002100W WO2019139200A1 WO 2019139200 A1 WO2019139200 A1 WO 2019139200A1 KR 2018002100 W KR2018002100 W KR 2018002100W WO 2019139200 A1 WO2019139200 A1 WO 2019139200A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
identification information
random value
pseudo
account module
Prior art date
Application number
PCT/KR2018/002100
Other languages
English (en)
French (fr)
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 EP18899433.9A priority Critical patent/EP3739805A4/en
Publication of WO2019139200A1 publication Critical patent/WO2019139200A1/ko
Priority to US16/911,975 priority patent/US11303427B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • the user terminal 10 can use a secret key related to the same-type encryption which will be described later.
  • the secret key may be stored in the user terminal 10 or may be stored in a medium such as a conventional storage medium or a security token physically separated from the user terminal 10, Or may be stored in a remote storage medium capable of communication. That is, if the user terminal 10 is a form that can be used for achieving the object of the present invention, the secret key for the homogeneous encryption may be stored anywhere.
  • an XOR operation can also be applied.
  • the security may be lowered somewhat compared with the unidirectional encryption operation.
  • an XOR operation may be included in the first equation.
  • the first equation may be a formula for generating a third random value R V1 with a random value and performing an XOR operation with a second isochronous encryption value HE (Ballot Stamp).
  • HE isochronous encryption value
  • step 345 If the verification is successful (step 345), the pseudo indication is regarded as valid (step 355). If the verification fails, the pseudo indication is rejected (step 340).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명에 의한 의사 표시 확인 방법은 블록 체인을 이용한 의사 표시 확인 방법에 대한 것으로서, 동형 암호화를 이용하여 편의성, 저비용, 효율성 등 온라인 의사 표시 방법의 장점을 유지하면서도, 위변조, 강압에 의한 의사 표시 등의 한계를 극복할 뿐만 아니라, 익명성을 보장하며 시빌 공격도 방지할 수 있는 방법을 제공한다.

Description

익명성 보장 및 시빌 공격 방지가 가능한, 블록 체인을 이용한 의사 표시 확인 방법
본 발명은 블록 체인을 이용한 의사 표시 확인 방법에 대한 것으로서 좀더 구체적으로는 익명성이 보장되고 시빌 공격(Sybil Attack)을 방지할 수 있는 의사 표시 확인 방법에 대한 것이다.
온라인상으로 사용자가 의사 표시를 하고 수신자가 이를 확인하는 경우가 빈번하게 발생한다. 전자 투표가 대표적인 예인데, 전자 투표 이외에도 온라인 거래나 계약에 관련된 의사 표시, 온라인 토론 등에서의 의사 표시, 온라인 콘텐츠에 대한 댓글 등이 있을 수 있다.
온라인 의사 표시 중 예를 들어 전자 투표는 투표장에 가지 않고 전자적 연산 및 데이터 처리가 가능한 전자 단말기를 통해서 하는 투표로서 저비용, 편의성, 확장성이라는 장점이 있음에도 불구하고 해킹, 내부자 조작 위험, 원격 상황에서 일어날 수 있는 강압적 의사표시 등의 문제로 과정과 결과에 대한 무결성(integrity)를 보장하기 어려워 광범위하게 도입되지 못하고 있는 실정이다.
이 관점에서 분산원장 기술인 블록체인을 전자투표와 같은 온라인 의사표시 확인에 적용하면 조작 또는 해킹의 위협을 배제할 수 있다. 그러나 블록체인은 공개키와 이를 사용할 수 있는 개인키만 있으면 어디에서든 사용할 수 있고, 이외에 일체의 개인정보가 불필요하기 때문에 1인이 수많은 ID를 생성해서 마치 여러 사람의 의사 표시인 것으로 호도하는 시빌 공격(Sybil Attack)에 취약하게 되어 참여자 간 의사 표현의 평등성이 침해되는 문제가 있다.
시빌 공격을 막기 위해서는 참여자의 고유성을 보장할 수 있어야 하고, 결국 민감한 개인정보가 수집되고 저장되어야 한다. 이는 사용자의 프라이버시와 익명성을 훼손하고, 되려 자유로운 의사 표시가 제한될 수 있다. 암호화된 상태에서 계산이 가능한 동형암호를 적용함으로써 사용자의 고유성과 익명성을 동시에 보장할 수 있다.
본 발명은 온라인 의사 표시 확인 방법의 장점을 유지하면서, 위조, 변조, 강압에 의한 의사 표시 등 온라인 의사 표시 방법의 단점을 극복하고, 익명성을 보장하면서 시빌 공격을 원천적으로 차단하고, 참여자가 자신의 의사가 결과에 제대로 반영되었는지 확인이 가능한 의사 표시 확인 방법을 제공하는 것을 목적으로 한다.
본 발명에 의한 의사 표시 확인 방법은, 신원 확인 절차에 의해서 고유한 식별정보(IDE)가 생성된 사용자의 단말기와, 어카운트 모듈 및 의사 표시 확인 프로그램 모듈이 포함된 블록 체인을 포함하는 환경에서 수행된다.
본 발명은, 어카운트 모듈이, 사용자 단말기로부터 의사 표시용 식별정보(Ballot Stamp)를 요청받는 제1 단계와; 어카운트 모듈이, 사용자 단말기에 제1 랜덤값(RE)을 요청하는 제2 단계와; 어카운트 모듈이, 사용자 단말기가 제1 랜덤값(RE)을 동형 암호화한 값(HESK(RE); 제1 동형 암호화값)을 수신하는 제3 단계와; 어카운트 모듈이, 제2 랜덤값(RA)을 생성하는 제4 단계와; 어카운트 모듈이, [제2 랜덤값(RA), 제1 동형 암호화값(HESK(RE))]의 쌍인 제1 값을 저장하는 제5 단계와; 어카운트 모듈이, 제1 값의 단방향 암호화값 또는 XOR 연산한 값을 의사 표시용 식별정보(Ballot Stamp)를 동형암호화한 값(HE(Ballot Stamp); 제2 동형 암호화값)으로 생성하는 제6 단계와; 어카운트 모듈이, 의사 표시 확인 프로그램 모듈로부터 태그를 동형 암호화한 값인 제3 동형 암호화값(HE(tag))을 수신하되, 제3 동형 암호화값(HE(tag))은 의사 표시 확인 프로그램 모듈이 생성한 랜덤값과 제2 동형 암호화값(HE(Ballot Stamp))을 제1 수식에 의해 연산한 값인, 제7 단계와; 어카운트 모듈이, 제2 동형 암호화값(HE(Ballot Stamp))과 제3 동형 암호화값(HE(tag))을 사용자 단말기로 전송하는 제8 단계와; 의사 표시 확인 프로그램 모듈이, 사용자 단말기가 복호화한 태그와, 의사 표시용 식별정보(Ballot Stamp)와, 의사 표시를 수신하는 제9 단계와; 의사 표시 확인 프로그램 모듈이, 랜덤값과 의사 표시용 식별정보(Ballot Stamp)를 제1 수식에 의해 연산한 값이 태그와 일치하면 수신한 의사 표시가 유효한 것으로 확인하는 제10 단계를 포함한다.
제1 값의 쌍에 어카운트 모듈 식별정보(IDA) 및 프로그램 모듈 식별정보(IDV) 중 적어도 어느 하나를 더 포함할 수 있다.
본 발명에 따르면, 제6 단계와 제7 단계 사이에, 어카운트 모듈이, 의사 표시 확인 프로그램 모듈에 제2 동형 암호화값에 대한 세션을 요청하는 제6-1 단계를 더 포함할 수 있다. 제7 단계는 어카운트 모듈이, 의사 표시 확인 프로그램 모듈로부터 세션 식별 정보를 더 수신하는 단계가 될 수 있고, 제8 단계는, 어카운트 모듈이, 사용자 단말기로 세션 식별 정보를 더 전송하는 단계가 될 수 있다.
랜덤값은 제3 랜덤값과 제4 랜덤값으로 생성될 수 있다. 이 때 제1 수식은, 제3 랜덤값 및 제4 랜덤값 중 어느 하나를 소정의 값에 곱한 값에, 제3 랜덤값과 제4 랜덤값 중 다른 하나를 더하거나 뺀 수식을 적어도 포함하는 수식이 될 수 있다.
소정의 값은 제2 동형 암호화값(HE(Ballot Stamp))가 될 수 있다.
제1 수식은, 랜덤값과 제2 동형 암호화값을 XOR 연산하는 연산식이 될 수 있다.
본 발명에 의하면, 편의성, 저비용, 효율성 등 온라인 의사 표시 방법의 장점을 유지하며, 위변조, 강압에 의한 의사 표시 등의 한계를 극복할 뿐만 아니라, 익명성을 보장하며 시빌 공격도 방지할 수 있다. 또한 실수 또는 잘못된 결정을 번복할 수 있는 유연성을 제공함으로 더욱 신뢰할 수 있는 정확한 의사 표시가 가능해지는 효과가 있다.
도 1은 본 발명에 의한 의사 표시 확인 방법이 수행되는 환경을 도시한 블록도.
도 2 및 도 3은 본 발명에 의한 의사 표시 확인 방법의 흐름도.
이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다.
본 명세서에서 수행되는 정보(데이터) 전송/수신 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, A로부터 B까지 직접 전송(전달) 또는 수신되는 것만을 표현하는 것은 아니다. 본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행 단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 “A 또는 B”은 A와 B 중 어느 하나를 선택적으로 가리키는 것 뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 명세서에서 "모듈"이라 함은 범용적인 하드웨어와 그 기능을 수행하는 소프트웨어의 논리적 결합을 의미한다.
본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 필수적이지 않은 특정 구성요소를 배제하거나 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
본 발명은 전자적 연산이 가능한 컴퓨터 등의 전자적 연산 장치에 의해서 수행되며, 후술하는 본 발명의 각 단계의 수학적 연산 및 산출은 해당 연산 또는 산출을 하기 위해 공지되어 있는 코딩 방법 및/또는 본 발명에 적합하게 고안된 코딩에 의해서 컴퓨터 연산으로 구현될 수 있다.
그리고 본 명세서에서 "값"이라 함은 스칼라값 뿐만 아니라 벡터 및 행렬, 텐서 및 다항식도 포함하는 광의의 개념으로 정의된다.
본 명세서에서 "의사 표시"라 함은 사용자가 소정의 주제나 이슈에 대한 본인의 의사를 표시하는 것으로서 예를 들어, 전자 투표, 토론, 온라인 콘텐츠에 대한 댓글 등 사용자가 의사를 표시할 수 있는 분야라면 모두 포함한다.
그리고 본 발명은 소정의 주제나 이슈에 대해서 한차례 표시하는 의사 표시뿐만 아니라 동일한 주제에 대해 복수 번에 걸쳐서 표시하는 의사 표시도 포함하는 것으로 정의된다.
도 1에는 본 발명에 의한 의사 표시 확인 방법이 수행되는 환경이 도시되어 있다.
이 환경은, 어플리케이션 프로그램 모듈(15)을 포함하는 사용자 단말기(10)와, 블록 체인(100)을 포함한다. 어카운트 모듈(20)과 의사 표시 확인 프로그램 모듈(30)은 블록 체인(100)에 포함되어 있다. 본 발명은 블록 체인(100)을 포함하는 환경에서 수행되므로 위변조의 위험이 원천적으로 차단된다.
사용자 단말기(10)는 PC, 태블릿 컴퓨터, 스마트폰 등 전자적 연산이 가능하고 전자적 데이터 처리가 가능한 전자 단말기를 포함한다. 본 명세서에서는 설명의 편의를 위해 사용자 단말기(10)가 본 발명의 일부 단계를 수행하는 것으로 기재하지만 사용자 단말기(10)가 수행하는 단계는 실제로는 사용자 단말기(10)에 탑재되어 있는 어플리케이션 프로그램 모듈(15)이 본 발명을 수행하는 것으로 이해해야 한다.
사용자 단말기(10)의 사용자는, 신원 확인 절차(예를 들어, KYC 프로세스)에 따라서 사용자별로 고유한 식별 정보(IDE)가 생성되어 있어야 한다. 예를 들어, 사용자의 신원을 확인할 수 있는 신분증이나 생체 인식 과정 등을 통해서, 특정 사용자에게만 유일하게 부여되고 중복되지 않는 식별 정보(IDE)를 미리 생성하여 사용자 단말기에 저장하고 있거나 사용자가 입력할 수 있어야 한다. KYC와 같은 신원 확인 절차는 공지 기술이며 다양한 방식을 통해서 사용자 식별 정보(IDE)가 생성될 수 있기 때문에 본 명세서에서 신원 확인에 대한 자세한 설명은 생략한다.
사용자 단말기(10)는 후술하는 동형 암호화에 관련된 비밀키(secret key)를 사용할 수 있다. 비밀키는 사용자 단말기(10)에 저장되어 있을 수도 있고, 사용자 단말기(10)와 물리적으로 분리된 통상의 저장 매체 또는 보안 토큰과 같은 매체에 저장되어 있을 수도 있으며, 또는 사용자 단말기(10)와 데이터 통신이 가능한 원격 저장 매체에 저장되어 있을 수도 있다. 즉 사용자 단말기(10)가 본 발명의 목적의 달성을 위해 사용할 수 있는 형태라면 동형 암호화에 대한 비밀키의 저장 장소는 어느 곳이라도 무방하다.
본 발명에 의한 의사 표시 확인 방법이 수행되는 환경의 블록 체인(100)은 퍼블릭 블록 체인인 것이 바람직하지만, 특정 기관이나 조직 내에서만 적용되는 경우라면 프라이빗 블록 체인 또는 컨소시움 블록 체인이어도 무방하다.
어카운트 모듈(20)은 고유한 어카운트 모듈 식별정보(IDA)가 부여되어 있으며 사용자의 식별정보(IDE)별로 생성되어 블록 체인에 포함된다.
의사 표시 확인 프로그램 모듈(30)은 의사 표시가 수집되는 주제 별로 제공되며 고유한 프로그램 모듈 식별정보(IDV)가 부여되어 블록 체인에 포함된다. 본 발명이 전자 투표에 적용되는 경우에는, 진행되는 투표 사안 별로 제공될 수 있고, 온라인 토론에 적용되는 경우에는 토론 주제 별로 제공될 수 있다.
다음으로 도 2와 도 3을 참조하여 본 발명에 의한 의사 표시 확인 방법에 대해서 설명한다. 도 3의 과정은 도 2에 이어지는 과정이다.
KYC 프로세스 등과 같이 공지된 신원 확인 방법에 의해서 고유한 식별정보(IDE)가 생성된 사용자가 본 발명에 따른 의사 표시에 참여하려면, 어플리케이션 프로그램 모듈(15)이 설치되어 있는 사용자 단말기(10)를 통해서 어카운트 모듈(20)에 의사 표시용 식별정보(Ballot Stamp)를 요청한다(단계 200). 의사 표시용 식별 정보(Ballot Stamp)를 요청할 때에는 어카운트 모듈 식별 정보(IDA)와 프로그램 모듈의 식별정보(IDV)를 특정해서 요청한다.
어카운트 모듈(20)은 제1 랜덤값(RE)이 존재하는지 여부를 판단한다(단계 205). 제1 랜덤값(RE)가 존재하면 후술하는 단계(240)로 이행한다.
제1 랜덤값(RE)이 존재하지 않으면, 어카운트 모듈(20)이 사용자 단말기(10)에 제1 랜덤값(RE)을 요청한다(단계 210).
제1 랜덤값(RE)이 존재한다는 것은, 해당 사용자가 어카운트 모듈(20)을 통해서 의사 표시 요청을 한 적이 있다는 것을 의미한다.
사용자 단말기(10)는, 제1 랜덤값(RE)을 생성하고(단계 215), 제1 랜덤값(RE)을 비밀키로 동형 암호화하여 제1 동형 암호화값(HESK(RE))을 생성한다(단계 220). 생성된 제1 동형 암호화값(HESK(RE))은 어카운트 모듈(20)로 전송된다(단계 225).
생성된 제1 동형 암호화값(HESK(RE))은 어카운트 모듈(20)에 저장되어서 동일 사용자가 복수 회 의사 표시를 하는 경우 이를 감지할 수 있도록 사용된다.
복수 회 의사 표시를 하는 경우에, 최초의 의사 표시만 인정하고 2번째 의사 표시부터는 인정하지 않을 수도 있고, 복수 회의 의사 표시는 허용하되 최종 의사 표시만 인정하고 그 전의 의사 표시는 삭제하도록 할 수도 있으며, 또는 복수 회의 의사 표시 모두를 인정할 수도 있다. 본 발명이 전자 투표에 적용되는 경우에는 복수 회 의사 표시를 인정하더라도 그 중 어느 하나의 의사 표시만 채택할 수 있지만, 연속적인 의사 표시를 채택할 수 있는 토론 등에서는 복수 회의 의사 표시 모두를 채택하게 할 수도 있다.
복수 회의 의사 표시를 허용하되 최종 의사 표시만 인정하는 실시예 또는, 사용자가 제1 동형 암호화값(HESK(RE))을 생성만 해 놓고 의사 표시를 하지 않은 경우, 그리고 복수 회의 의사 표시 모두를 인정하는 실시예에서는, 제1 동형 암호화값(HESK(RE))이 존재하기 때문에 단계(240)로 이행하여 의사 표시 절차를 진행한다.
어카운트 모듈(20)은 제2 랜덤값(RA)을 생성한다(단계 230). 어카운트 모듈(20)이 단계(225)에서 전송받은 제1 동형 암호화값(HESK(RE))은 동형 암호화된 값이기 때문에, 제1 랜덤값(RE)의 무작위성(randomness)을 확인할 수 없다. 그러한 이유로 후술하는 바와 같이 생성되는 의사 표시용 식별 정보(Ballot Stamp)의 무작위성을 담보하기 위해 제2 랜덤값(RA)을 더 생성하는 것이 바람직하다.
어카운트 모듈(20)은, [어카운트 모듈 식별 정보(IDA), 프로그램 모듈 식별정보(IDV), 제2 랜덤값(RA), 제1 동형 암호화값(HEPK(RE))]의 쌍인 제1 값을 저장한다(단계 235).
어카운트 모듈 식별 정보(IDA)와 프로그램 모듈 식별정보(IDV)는 본 발명에 의한 의사 표시 확인이 진행되는 경우에 특정 값으로 정해질 수 있기 때문에 두 정보 중 적어도 어느 하나는 제1 값에 포함되지 않을 수도 있다. 이하의 실시예에서는 설명의 편의를 위해 제1 값이 이 두 정보를 모두 포함하는 것으로 설명하지만 그러한 설명이 본 발명의 권리범위를 제한하는 것으로 이해되어서는 아니된다.
어카운트 모듈(20)은, 제1 값의 단방향 암호화값(Hash[IDA, IDV, RA, HESK(RE)])을 의사 표시용 식별정보(Ballot Stamp)의 동형 암호화값(HE(Ballot Stamp))으로 생성한다(단계 240). 의사 표시용 식별정보(Ballot Stamp)의 동형 암호화값(HE(Ballot Stamp))은 "제2 동형 암호화값"으로 정의된다. 제2 동형 암호화값(HE(Ballot Stamp))는 다음과 같은 관계식을 만족한다.
HE(Ballot Stamp) = Hash[IDA, IDV, RA, HESK(RE)] = HE[Hash(IDA, IDV, RA, RE)]
IDA와 IDV가 제외되는 실시예에서는, 다음과 같은 관계가 성립한다.
HE(Ballot Stamp) = Hash[RA, HESK(RE)] = HE[Hash(RA, RE)]
IDA와 IDV중 어느 하나가 제외되는 실시예에서는, 제외되지 않는 변수가 위 관계식에 더 포함된다.
단계(240)의 과정은 소정의 연산에 대해서 동일한 입력값인 경우 동일한 출력값이 산출되지만, 출력값만으로는 어떤 값이 입력값인지는 알 수 없는 단방향 암호화 연산이라면 모두 적용할 수 있다.
단방향 암호화 연산 이외에도 XOR 연산도 적용할 수 있는데 이 실시 형태에서는 보안성이 단방향 암호화 연산에 비해 다소 저하될 수는 있다.
XOR 연산을 적용하는 경우에는 다음과 같은 관계가 성립한다.
HE(Ballot Stamp) = XOR[RA, HESK(RE)] = HE[XOR(RA, RE)]
어카운트 모듈(20)은, 의사 표시 확인 프로그램 모듈(30)에 제2 동형 암호화값에 대한 세션을 요청한다(단계 300).
의사 표시 확인 프로그램 모듈(30)은, 요청받은 제2 동형 암호화값(HE(Ballot Stamp))에 대한 세션을 생성한다(단계 305).
의사 표시 확인 프로그램 모듈(30)은, 태그(tag) 검증을 위한 랜덤값을 생성한다(단계 310). 랜덤값은 후술하는 제1 수식에 따라서 단수 또는 복수 개가 생성될 수 있다.
의사 표시 확인 프로그램 모듈(30)은, 랜덤값(들)을 제2 동형 암호화값(HE(Ballot Stamp))과 제1 수식에 의해서 연산한 값을 태그(tag)의 동형 암호화값(HE(tag))으로 생성한다(단계 315). HE(tag)는 "제3 동형 암호화값"으로 정의한다. 제1 수식은 랜덤값을 모르면 Ballot Stamp 값으로부터 태그(tag)값을 유추하기 어려우면서 동형 암호 연산이 가능한 연산이라면 그 종류와 관계없이 적용할 수 있다.
예를 들어, 2개의 랜덤값 즉 제3 랜덤값(RV1)과 제4 랜덤값(RV2)을 생성하고, 제3 랜덤값(RV1)과 제2 동형 암호화값(HE(Ballot Stamp))를 곱한 후 제4 랜덤값(RV2)을 더하는 수식(RV1*HE(Ballot Stamp)+RV2)일 수 있다.
그러면 다음과 같은 관계가 성립한다.
RV1*HE(Ballot Stamp)+RV2 = HE(RV1*Ballot Stamp+RV2) = HE(tag)
tag = RV1*Ballot Stamp+RV2
즉 복호화한 Ballot Stamp와 태그(tag) 사이에서도 제1 수식의 관계가 그대로 유지된다
본 발명의 다른 실시예에 의하면, 제1 수식에는 XOR 연산이 포함될 수도 있다. 예를 들어, 랜덤값으로 제3 랜덤값(RV1)을 생성하고, 제2 동형 암호화값(HE(Ballot Stamp))와 XOR 연산하는 수식이 제1 수식이 될 수 있다. 이 실시예에서는 다음과 같은 관계가 성립한다.
XOR(RV1, HE(Ballot Stamp)) = HE(XOR(RV1, Ballot Stamp)) = HE(tag)
tag = XOR(RV1, Ballot Stamp)
의사 표시 확인 프로그램 모듈(30)은, 세션 식별정보(IDS)와 제3 동형 암호화값(HE(tag))을 어카운트 모듈(20)로 전달한다(단계 320).
어카운트 모듈(20)은, 전달받은 세션 식별정보(IDS)와, 제3 동형 암호화값(HE(tag)) 및 단계(240)에서 생성한 제2 동형 암호화값(HE(Ballot Stamp))을 사용자 단말기(10)로 전달한다(단계 325).
사용자 단말기(10)는 제2 동형 암호화값(HE(Ballot Stamp))과 제3 동형 암호화값(HE(tag))을 복호화한다(단계 330).
사용자 단말기(10)는, 세션 식별정보(IDS)와, 복호화하여 획득한 태그(tag), 의사 표시용 식별 정보(Ballot Stamp) 및 의사 표시(Message; 전자 투표에 적용되는 경우는 "vote")를 의사 표시 확인 프로그램 모듈(30)로 전송한다(단계 335).
이 전송 단계에서 전송되는 정보 특히 의사 표시용 식별 정보(Ballot Stamp)는 의사 표시 확인 프로그램 모듈(30)이 아닌 다른 객체 예를 들어 어카운트 모듈(20)에 노출되면 안되기 때문에, 이 전송 단계는 물리적으로 분리된 통신 채널을 이용하거나 암호화 채널을 통해 암호화되어 수행되는 것이 바람직하다.
제1 수식(XOR 연산도 포함)에 의해 제3 동형 암호화값(HE(tag))을 생성하면, 태그(tag)는 랜덤값을 의사 표시용 식별 정보(Ballot Stamp)와 제1 수식에 따라 연산한 결과가 된다.
예를 들어 제1 수식이 RV1*HE(Ballot Stamp) + RV2 라면, 태그(tag) = RV1*Ballot Stamp + RV2가 된다.
본 발명의 다른 실시예에 따라서, 제1 수식이 XOR (RV1, HE(Ballot Stamp))라면, 태그(tag) = XOR(RV1, Ballot Stamp)가 된다.
의사 표시 확인 프로그램 모듈(30)은, 사용자 단말기(10)로부터 전송받은 태그(tag)와, 의사 표시용 식별 정보(Ballot Stamp) 및 단계(310)에서 생성한 랜덤값을 제1 수식을 이용하여 의사 표시를 검증한다(단계 340).
검증 성공 여부를 판단하고(단계 345), 검증에 성공하면 의사 표시를 유효한 것으로 간주하여 저장하고(단계 355), 검증에 실패하면 의사 표시를 거절한다(단계 340).
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.

Claims (6)

  1. 신원 확인 절차에 의해서 고유한 식별정보(IDE)가 생성된 사용자의 단말기와, 어카운트 모듈 및 의사 표시 확인 프로그램 모듈이 포함된 블록 체인을 포함하는 환경에서 수행되는 의사 표시 확인 방법에 있어서,
    어카운트 모듈이, 사용자 단말기로부터 의사 표시용 식별정보(Ballot Stamp)를 요청받는 제1 단계와,
    어카운트 모듈이, 사용자 단말기에 제1 랜덤값(RE)을 요청하는 제2 단계와,
    어카운트 모듈이, 사용자 단말기가 제1 랜덤값(RE)을 동형 암호화한 값(HESK(RE); 제1 동형 암호화값)을 수신하는 제3 단계와,
    어카운트 모듈이, 제2 랜덤값(RA)을 생성하는 제4 단계와,
    어카운트 모듈이, [제2 랜덤값(RA), 제1 동형 암호화값(HESK(RE))]의 쌍인 제1 값을 저장하는 제5 단계와,
    어카운트 모듈이, 제1 값의 단방향 암호화값 또는 XOR 연산한 값을 의사 표시용 식별정보(Ballot Stamp)를 동형암호화한 값(HE(Ballot Stamp); 제2 동형 암호화값)으로 생성하는 제6 단계와,
    어카운트 모듈이, 의사 표시 확인 프로그램 모듈로부터 태그를 동형 암호화한 값인 제3 동형 암호화값(HE(tag))을 수신하되, 제3 동형 암호화값(HE(tag))은 의사 표시 확인 프로그램 모듈이 생성한 랜덤값과 제2 동형 암호화값(HE(Ballot Stamp))을 제1 수식에 의해 연산한 값인, 제7 단계와,
    어카운트 모듈이, 제2 동형 암호화값(HE(Ballot Stamp))과 제3 동형 암호화값(HE(tag))을 사용자 단말기로 전송하는 제8 단계와,
    의사 표시 확인 프로그램 모듈이, 사용자 단말기가 복호화한 태그와, 의사 표시용 식별정보(Ballot Stamp)와, 의사 표시를 수신하는 제9 단계와,
    의사 표시 확인 프로그램 모듈이, 랜덤값과 의사 표시용 식별정보(Ballot Stamp)를 제1 수식에 의해 연산한 값이 태그와 일치하면 수신한 의사 표시가 유효한 것으로 확인하는 제10 단계를 포함하는,
    의사 표시 확인 방법.
  2. 청구항 1에 있어서,
    제1 값의 쌍에 어카운트 모듈 식별정보(IDA) 및 프로그램 모듈 식별정보(IDV) 중 적어도 어느 하나를 더 포함하는,
    의사 표시 확인 방법.
  3. 청구항 1 또는 청구항 2에 있어서,
    제6 단계와 제7 단계 사이에,
    어카운트 모듈이, 의사 표시 확인 프로그램 모듈에 제2 동형 암호화값에 대한 세션을 요청하는 제6-1 단계를 더 포함하고,
    제7 단계는 어카운트 모듈이, 의사 표시 확인 프로그램 모듈로부터 세션 식별 정보를 더 수신하는 단계이고,
    제8 단계는, 어카운트 모듈이, 사용자 단말기로 세션 식별 정보를 더 전송하는 단계인,
    의사 표시 확인 방법.
  4. 청구항 1 또는 청구항 2에 있어서,
    랜덤값은 제3 랜덤값과 제4 랜덤값으로 생성되며,
    제1 수식은, 제3 랜덤값 및 제4 랜덤값 중 어느 하나를 소정의 값에 곱한 값에, 제3 랜덤값과 제4 랜덤값 중 다른 하나를 더하거나 뺀 수식을 적어도 포함하는 수식인,
    의사 표시 확인 방법.
  5. 청구항 4에 있어서,
    소정의 값은 제2 동형 암호화값(HE(Ballot Stamp))인,
    의사 표시 확인 방법.
  6. 청구항 1 또는 청구항 2에 있어서,
    제1 수식은, 랜덤값과 제2 동형 암호화값을 XOR 연산하는 연산식인,
    의사 표시 확인 방법.
PCT/KR2018/002100 2018-01-12 2018-02-21 익명성 보장 및 시빌 공격 방지가 가능한, 블록 체인을 이용한 의사 표시 확인 방법 WO2019139200A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP18899433.9A EP3739805A4 (en) 2018-01-12 2018-02-21 METHOD OF IDENTIFYING INTENTION EXPRESSION USING A BLOCKCHAIN THAT CAN ENSURE ANONYMITY AND PREVENT SYBIL ATTACK
US16/911,975 US11303427B2 (en) 2018-01-12 2020-06-25 Method for verifying opinion by use of block chain which guarantees anonimity and prevents sybil attack

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0004249 2018-01-12
KR1020180004249A KR101833323B1 (ko) 2018-01-12 2018-01-12 익명성 보장 및 시빌 공격 방지가 가능한, 블록 체인을 이용한 의사 표시 확인 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/911,975 Continuation US11303427B2 (en) 2018-01-12 2020-06-25 Method for verifying opinion by use of block chain which guarantees anonimity and prevents sybil attack

Publications (1)

Publication Number Publication Date
WO2019139200A1 true WO2019139200A1 (ko) 2019-07-18

Family

ID=61401014

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/002100 WO2019139200A1 (ko) 2018-01-12 2018-02-21 익명성 보장 및 시빌 공격 방지가 가능한, 블록 체인을 이용한 의사 표시 확인 방법

Country Status (4)

Country Link
US (1) US11303427B2 (ko)
EP (1) EP3739805A4 (ko)
KR (1) KR101833323B1 (ko)
WO (1) WO2019139200A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201800818D0 (en) * 2018-01-18 2018-03-07 Nchain Holdings Ltd Computer-implemented system and method
KR102062281B1 (ko) * 2018-04-16 2020-01-03 주식회사 디로그 블록 체인 기반의 의사 표시 검증 시스템 및 방법
KR102056612B1 (ko) 2018-06-12 2019-12-17 한국스마트인증 주식회사 임시 익명 인증서 생성 방법
KR102014647B1 (ko) 2018-06-21 2019-10-21 이화여자대학교 산학협력단 블록체인 기반 전자투표방법
KR102157695B1 (ko) * 2018-08-07 2020-09-18 한국스마트인증 주식회사 익명 디지털 아이덴티티 수립 방법
KR102013527B1 (ko) * 2018-08-28 2019-08-22 최은철 블록체인을 이용한 자재물품 거래 시스템 및 그 방법
KR102146757B1 (ko) * 2018-11-08 2020-08-21 한국스마트인증 주식회사 익명성 보장 및 시빌 공격 방지가 가능한, 의사 표시 확인 방법, 신원 확인 정보 저장 모듈의 등록 및 인증 방법
DE102019216203A1 (de) * 2019-10-21 2021-04-22 Infineon Technologies Ag Auf Blockverschlüsselung basierender Proof-of-Work
WO2021090975A1 (ko) * 2019-11-06 2021-05-14 한국스마트인증 주식회사 임시 익명 인증서 생성 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012212031A (ja) * 2011-03-31 2012-11-01 Nippon Telegr & Teleph Corp <Ntt> 復号結果検証装置、方法及びプログラム
KR20140095179A (ko) * 2013-01-24 2014-08-01 서울대학교산학협력단 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치
KR20150043062A (ko) * 2013-10-14 2015-04-22 서울대학교산학협력단 동형 암호화 알고리즘과 공개키 암호화 알고리즘을 이용하여, 암호화 데이터를 연산하는 방법 및 이를 이용한 서버
KR101600016B1 (ko) * 2014-12-10 2016-03-15 서울대학교기술지주 주식회사 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치
JP2016052047A (ja) * 2014-09-01 2016-04-11 Kddi株式会社 匿名化メッセージシステム、端末ノード、パブリックノード、方法及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1469429B1 (en) * 2001-12-12 2009-03-04 Scytl Secure Electronic Voting, S.A. Secure electronic voting method and the cryptographic protocols and computer programs used
KR20030079867A (ko) 2003-09-02 2003-10-10 장시영 표결에서 자신의 선택을 확인할 수 있는 비밀성이 유지되는 전자식투표시스템
ATE429747T1 (de) 2004-06-30 2009-05-15 France Telecom Elektronisches wahlverfahren und -system in einem hochsicherheitskommunikationsnetz
KR20100109001A (ko) 2009-03-31 2010-10-08 장준현 고유식별부호를 제공받아 자신의 표결을 확인하는 전자식 투표시스템
KR101440680B1 (ko) 2012-08-28 2014-09-15 서울대학교산학협력단 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치
US20150312028A1 (en) 2012-08-28 2015-10-29 Snu R&Db Foundation Homomorphic encryption and decryption methods using ring isomorphism, and apparatuses using the same
US10333696B2 (en) * 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US20170352219A1 (en) * 2015-08-06 2017-12-07 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
US20170250796A1 (en) * 2016-02-18 2017-08-31 Gideon Samid Trans Vernam Cryptography: Round One
KR20170138650A (ko) 2016-06-08 2017-12-18 한국전자통신연구원 익명 인증 기반 전자 투표 장치 및 방법
US10790964B2 (en) * 2017-11-17 2020-09-29 International Business Machines Corporation Peer voting on a blockchain

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012212031A (ja) * 2011-03-31 2012-11-01 Nippon Telegr & Teleph Corp <Ntt> 復号結果検証装置、方法及びプログラム
KR20140095179A (ko) * 2013-01-24 2014-08-01 서울대학교산학협력단 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치
KR20150043062A (ko) * 2013-10-14 2015-04-22 서울대학교산학협력단 동형 암호화 알고리즘과 공개키 암호화 알고리즘을 이용하여, 암호화 데이터를 연산하는 방법 및 이를 이용한 서버
JP2016052047A (ja) * 2014-09-01 2016-04-11 Kddi株式会社 匿名化メッセージシステム、端末ノード、パブリックノード、方法及びプログラム
KR101600016B1 (ko) * 2014-12-10 2016-03-15 서울대학교기술지주 주식회사 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3739805A4 *

Also Published As

Publication number Publication date
KR101833323B1 (ko) 2018-02-28
EP3739805A4 (en) 2022-01-19
EP3739805A1 (en) 2020-11-18
US11303427B2 (en) 2022-04-12
US20200328874A1 (en) 2020-10-15

Similar Documents

Publication Publication Date Title
WO2019139200A1 (ko) 익명성 보장 및 시빌 공격 방지가 가능한, 블록 체인을 이용한 의사 표시 확인 방법
JP6577680B2 (ja) デジタル署名を用いた変形ブロックチェーンについての方法及びシステム
WO2018043865A2 (ko) 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법
WO2018030707A1 (ko) 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버
WO2017119564A1 (ko) 본인인증용 정보 보안 전송시스템 및 방법
JP4776245B2 (ja) ユニバーサルパーベイシブトランザクションフレームワークのためのオピニオン登録アプリケーション
WO2021066323A1 (ko) 블록체인 기술을 이용한 전자문서 유효성 검증 시스템 및 그것의 제어 방법
CN1261841C (zh) 用于防止个人计算机被未经授权人员使用的安全系统
WO2020005034A1 (ko) 다중 서명 보안 계정 제어 시스템
FI86486B (fi) Foerfarande foer att arrangera teleroestningen pao ett saekert saett.
CN112104627A (zh) 基于区块链的数据传输方法、装置、电子设备及存储介质
WO2019125041A1 (ko) 블록체인을 이용한 개인정보 분리 후 분산저장을 통한 인증 시스템
WO2013125783A1 (ko) 전자책 생성 장치 및 방법, 그리고 전자책 무결성 검증 장치 및 방법
CN114760114B (zh) 身份认证方法、装置、设备及介质
CN114884697A (zh) 基于国密算法的数据加解密方法及相关设备
WO2019132069A1 (ko) 의료 데이터 전송 인증 서버, 의료 데이터 전송 단말 및 의료 데이터 수신 단말
WO2020032351A1 (ko) 익명 디지털 아이덴티티 수립 방법
WO2019125069A1 (ko) 블록체인을 이용한 개인정보 분리 후 조합을 통한 인증 시스템
CN1322335A (zh) 利用生物统计数据来进行端对端确认的设备和方法
CN112217636A (zh) 基于区块链的数据处理方法、装置、计算机设备及介质
CN116611104A (zh) 一种面向跨机构医疗服务协同的数据库安全管理系统及方法
CN1623348B (zh) 在移动网络环境中保护数据通信的方法
WO2018216991A1 (ko) 다중 사용자의 인증요소를 조합하여 보안키를 생성하는 보안인증방법
CN113783690B (zh) 基于认证的招标方法和装置
WO2019164139A1 (ko) 생체인증을 이용한 전자결재 시스템, 방법 및 프로그램

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18899433

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018899433

Country of ref document: EP

Effective date: 20200812