WO2019009492A1 - E-mail delivery/receipt verification method, recording medium in which program for implementing same is stored and program for implementing same, stored in recording medium - Google Patents

E-mail delivery/receipt verification method, recording medium in which program for implementing same is stored and program for implementing same, stored in recording medium Download PDF

Info

Publication number
WO2019009492A1
WO2019009492A1 PCT/KR2018/001637 KR2018001637W WO2019009492A1 WO 2019009492 A1 WO2019009492 A1 WO 2019009492A1 KR 2018001637 W KR2018001637 W KR 2018001637W WO 2019009492 A1 WO2019009492 A1 WO 2019009492A1
Authority
WO
WIPO (PCT)
Prior art keywords
mail
hash value
transaction
encrypted
request
Prior art date
Application number
PCT/KR2018/001637
Other languages
French (fr)
Korean (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 (주)지란지교시큐리티
Publication of WO2019009492A1 publication Critical patent/WO2019009492A1/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/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
    • G06Q50/60
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/321Cryptographic 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 involving a third party or a trusted authority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)

Abstract

The present invention provides: an e-mail delivery/receipt verification method for storing, in a block chain, a transaction including a hash value of a corresponding e-mail such that forgery/falsification thereof is impossible, when an e-mail is delivered/received in a user terminal, and reliably verifying e-mail delivery/receipt by means of the corresponding hash value as necessary; a recording medium in which a program for implementing the same is stored; and a program for implementing the same, stored in the recording medium.

Description

이메일 수발신 증명 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 기록매체에 저장된 프로그램An electronic mail receiving and calling method, a recording medium storing a program for implementing the same, and a program stored in a recording medium
본 발명은 이메일 수발신 증명에 관한 것으로, 특히 사용자 단말에 대한 이메일 수발신이 발생하는 경우 해당 이메일의 해시(Hash)값을 포함하는 트랜잭션을 블록체인에 위변조 불가능하게 저장하고 필요시에 해당 해시값에 의해 이메일 수발신을 신뢰성 있게 증명하도록 하는 이메일 수발신 증명 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 기록매체에 저장된 프로그램에 관한 것이다.More particularly, the present invention relates to a method and a system for storing a transaction containing a hash value of an e-mail in a block chain in a non-fake manner when an e-mail reception / And a program stored in a recording medium for implementing the method. [0002] The present invention relates to an electronic mail receiving /
일반적으로 사용자 단말이 이메일을 수신 또는 발신하는 경우에 해당 이메일은 메일서버에 의해 수신 또는 발신 처리되며, 해당 수신 또는 발신된 이메일은 이메일 저장장비에 저장되어 보관된다.Generally, when a user terminal sends or receives an e-mail, the e-mail is received or transmitted by the mail server, and the received or outgoing e-mail is stored and stored in the e-mail storage device.
기업체에서는 비지니스에 관련된 이메일을 빈번하게 수발신 하는데, 이메일 수발신에 관련하여 상대방과의 법적 책임문제가 발생하는 경우에 이메일 수발신을 상대방에게 증명해 주어야 할 필요가 있다.Businesses frequently send and receive e-mails related to business, and in the event of legal liability issues with respect to e-mail receipt and transmission, it is necessary to prove the e-mail receipt to the other party.
종래에는 이메일 수발신을 증명하고자 하는 경우, 이메일 저장장비에 저장되어 있는 수발신 이메일을 검색하여서 해당 이메일을 출력하여 상대방에게 증명하였다.Conventionally, when it is desired to prove an e-mail reception / reception, the e-mail stored in the e-mail storage device is searched for and the e-mail is output to the other party.
그러나, 이와 같은 이메일 수발신 증명 방식은 단순히 이메일 저장장비에 저장되어 있는 이메일 내용을 검색하여 상대방에게 제공할 뿐, 수발신 이메일의 위변조 여부를 검증할 수 없고, 해당 이메일이 이메일 서버를 통해 실제로 수발신 되었다는 사실을 증명할 수도 없어서, 이메일 수발신 증명의 신뢰성이 저하되는 문제점이 있다.However, such an e-mail sending and receiving method is merely a method of retrieving e-mail contents stored in an e-mail storage device and providing the e-mail contents to the other party. It is impossible to verify whether the e-mail has been falsified or not, The reliability of the e-mail withdrawal verification is deteriorated.
본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위하여 제안된 것으로, 사용자 단말에 대한 이메일 수발신이 발생하는 경우 해당 이메일의 해시값을 포함하는 트랜잭션을 블록체인에 위변조 불가능하게 저장하고 필요시에 해당 해시값에 의해 이메일 수발신을 신뢰성 있게 증명하도록 하는 이메일 수발신 증명 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 기록매체에 저장된 프로그램을 제공함에 목적이 있다.Disclosure of the Invention The present invention has been proposed in order to solve the problems of the prior art as described above, and it is an object of the present invention to provide a method and apparatus for storing a transaction including a hash value of an e- And a program stored in a recording medium for implementing the method. The present invention also provides a recording medium storing a program for implementing the method.
상술한 바와 같은 목적을 달성하기 위한 제1 실시예의 본 발명은, 사용자 단말이 이메일 수발신시에 메일 수발신 트랜잭션 생성 에이전트에 의하여 해당 수발신 이메일의 트랜잭션을 생성하되, 수발신 메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자신의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재 시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 이메일 수발신 증명서버에 전송하는 단계; 상기 이메일 수발신 증명서버가 사용자 단말로부터 전송되는 수발신 이메일의 트랜잭션을 수집하여 생성 정책 주기에 따라 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성하고 해당 수집된 트랜잭션을 해당 블록에 기록하여 저장하는 처리를 반복 수행함으로써 블록체인을 생성하되, 사용자 단말로부터 전송되는 현재 시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 블록체인에 저장하는 단계; 및 상기 이메일 수발신 증명서버가 이메일 수발신 증명 요청을 받는 경우, 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값이 상기 블록체인의 트랜잭션에 존재하는지를 확인하여서 이메일의 수발신 및 위변조 여부를 증명하는 단계;를 포함하는 것을 특징으로 하는 이메일 수발신 증명 방법을 제공한다.According to a first aspect of the present invention for achieving the above object, a user terminal generates a transaction of a send / receive e-mail by means of a mail send / receive transaction generation agent at the time of sending and receiving of e-mail, Acquires a hash value by encrypting the corresponding non-encrypted hash value with its own private key, and generates a transaction including the current time, the corresponding encrypted and non-encrypted hash value, Transmitting to the server; The e-mail reception / transmission server collects transactions of the send / receive e-mails transmitted from the user terminal, performs a verification operation on the transactions according to the generation policy cycle, generates blocks and records the collected transactions in the corresponding blocks Storing a transaction including a current time, an encrypted and a non-encrypted hash value transmitted from a user terminal in a block chain; And a step of verifying whether the non-encrypted hash value equal to the hash value of the send / receive proof e-mail exists in the transaction of the block chain when the e-mail reception / delivery server receives the e-mail send / The method includes the steps of:
제1 실시예의 본 발명은, 상기 이메일 수발신 증명서버가 개인키 및 공개키의 사용을 위임받기 위한 키 사용 위임 요청 이메일을 사용자 단말에 전송하여 사용자 단말로부터 키 사용 위임 허락 이메일을 수신함과 아울러 사용자 단말의 개인키 및 공개키를 수신하여 자체에 저장하는 처리를 수행함으로써 개인키 및 공개키의 사용 위임을 받는 단계를 더 포함한다.The present invention according to the first embodiment is characterized in that the e-mail reception / resection authentication server transmits a key use delegation request e-mail to the user terminal for receiving the private key and the public key to delegate use of the private key and the public key, Receiving the private key and the public key of the private key and the public key, and storing the private key and the public key of the private key and the public key.
제1 실시예의 본 발명은, 상기 이메일 수발신 증명서버가, 블록체인의 트랜잭션들로부터 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 사용자 단말의 공개키에 의해 복호화하여서 획득한 해시값과, 상기 검색해낸 비암호화한 해시값과, 수발신 증명 대상 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 이메일의 진위를 규명하는 단계를 더 포함한다.The present invention according to the first embodiment is characterized in that the e-mail reception / reception proof server retrieves a non-encrypted hash value equal to the hash value of the send / receive verification target e-mail from the transactions in the block chain, The hash value obtained by decrypting the encrypted hash value by the public key of the user terminal, the hash value of the retrieved non-encrypted hash value, and the hash value of the returned and received proof e-mail are all the same, Confirming the authenticity of the send / receive proof e-mail by confirming that the send / receive e-mail is present at the current time included in the transaction, and that the send / receive e-mail is received and not tampered.
제1 실시예의 본 발명은, 상기 이메일 수발신 증명서버가 상기 키 사용 위임 요청 이메일 전체를 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 블록체인에 저장하는 단계; 상기 이메일 수발신 증명서버가 상기 키 사용 위임 요청 이메일에 대한 수발신 증명 요청을 받는 경우, 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값과 동일한 비암호화한 해시값이 상기 블록체인의 트랜잭션에 존재하는지를 확인하여서 키 사용 위임 요청 이메일의 수발신 및 위변조 여부를 증명하는 단계; 및 상기 이메일 수발신 증명서버가 블록체인의 트랜잭션들로부터 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 자체 공개키에 의해 복호화하여서 획득한 해시값과, 상기 검색해낸 비암호화한 해시값과, 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 키 사용 위임 요청 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 키 사용 위임 요청 이메일의 진위를 규명하는 단계;를 더 포함한다.In the first embodiment of the present invention, the e-mail reception / resection certificate server obtains a non-encrypted hash value by converting the entire e-mail requesting e-mail request e-mail to a hash value, and encrypts the corresponding non- Obtaining a hash value, creating a transaction including the current time, the encrypted and the non-encrypted hash value, and storing the generated transaction in a block chain; When the e-mail reception / delivery server receives the request for call origination of the key use delegation request e-mail, it checks whether a non-encrypted hash value equal to the hash value of the call origination request key use request e-mail exists in the transaction of the block chain Verifying whether the key use delegation request e-mail is received and forged or falsified; And an unencrypted hash value that is the same as a hash value of the send / receive subscriber key delegation request e-mail from transactions in the block chain, and the corresponding non-encrypted hash value is stored in the encrypted hash By confirming whether the hash value obtained by decrypting the value with the self-public key, the hash value obtained by the retrieval and the unencrypted hash value both match with the hash value of the request-to-send key delegation request e-mail, And confirming the authenticity of the call originating key use request delegation request e-mail by confirming that the call origin delegate key request delegation request e-mail is present at the current time included, and that the call is delegated and not tampered.
상술한 바와 같은 목적을 달성하기 위한 제2 실시예의 본 발명은, 이메일 보안장비가 사용자 단말의 이메일 수발신시에 메일 수발신 트랜잭션 생성 에이전트에 의하여 해당 수발신 이메일의 트랜잭션을 생성하되, 수발신 메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 위임받은 사용자 단말의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 이메일 수발신 증명서버에 전송하는 단계; 상기 이메일 수발신 증명서버가 이메일 보안장비로부터 전송되는 수발신 이메일의 트랜잭션을 수집하여 생성 정책 주기에 따라 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성하고 해당 수집된 트랜잭션을 해당 블록에 기록하여 저장하는 처리를 반복 수행함으로써 블록체인을 생성하되, 이메일 보안장비로부터 전송되는 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 블록체인에 저장하는 단계; 및 상기 이메일 수발신 증명서버가 이메일 수발신 증명 요청을 받는 경우, 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값이 상기 블록체인의 트랜잭션에 존재하는지를 확인하여서 이메일의 수발신 및 위변조 여부를 증명하는 단계;를 포함하는 것을 특징으로 하는 이메일 수발신 증명 방법을 제공한다.According to another aspect of the present invention, an e-mail security apparatus generates a transaction of a send / receive e-mail by a mail send / receive transaction generation agent at the time of sending / Encrypted hash value is obtained by encrypting the corresponding non-encrypted hash value with the private key of the delegated user terminal, and the encrypted hash value is obtained by using the current time, the encrypted and the non- Generating a transaction and transmitting the transaction to an e-mail receipt authentication server; The e-mail reception / transmission server collects transactions of the send / receive e-mails transmitted from the e-mail security apparatus, performs a verification operation on the transactions according to the generation policy cycle, generates blocks, records the collected transactions in the corresponding blocks, Storing in a block chain a transaction that includes a current time, encrypted and unencrypted hash values generated from the email security appliance by generating a block chain by iterating; And a step of verifying whether the non-encrypted hash value equal to the hash value of the send / receive proof e-mail exists in the transaction of the block chain when the e-mail reception / delivery server receives the e-mail send / The method includes the steps of:
제2 실시예의 본 발명은, 상기 이메일 보안장비가 개인키 및 공개키의 사용을 위임받기 위한 키 사용 위임 요청 이메일을 사용자 단말에 전송하여 사용자 단말로부터 개인키 및 공개키를 포함하는 키 사용 위임 허락 이메일을 수신하여 자체에 저장함과 아울러 이메일 수발신 증명서버에 제공하여 저장시키는 처리를 수행함으로써 개인키 및 공개키의 사용 위임을 받는 단계를 더 포함한다.The e-mail security device of the second embodiment may transmit a key use delegation request e-mail to the e-mail security device for delegating the use of the private key and the public key to the user terminal so that the key use delegation permission including the private key and the public key Receiving the e-mail, storing the e-mail, storing the e-mail in the e-mail receiving and authentication server, and storing the e-mail received and transmitted to the e-mail reception and authentication server.
제2 실시예의 본 발명은, 상기 이메일 수발신 증명서버가, 블록체인의 트랜잭션들로부터 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 사용자 단말의 공개키에 의해 복호화하여서 획득한 해시값과, 상기 검색해낸 비암호화한 해시값과, 수발신 증명 대상 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 이메일의 진위를 규명하는 단계를 더 포함한다.The present invention according to the second embodiment is characterized in that the above-mentioned e-mail reception / reception proof server retrieves a non-encrypted hash value equal to the hash value of the send / receive proof e-mail from the transactions in the block chain, The hash value obtained by decrypting the encrypted hash value by the public key of the user terminal, the hash value of the retrieved non-encrypted hash value, and the hash value of the returned and received proof e-mail are all the same, Confirming the authenticity of the send / receive proof e-mail by confirming that the send / receive e-mail is present at the current time included in the transaction, and that the send / receive e-mail is received and not tampered.
제2 실시예의 본 발명은, 상기 이메일 보안장비가 상기 키 사용 위임 요청 이메일 전체를 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 생성한 해당 사용자 단말의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 이메일 수발신 증명서버에 제공하여 이메일 수발신 증명서버에 의해 트랜잭션을 블록체인에 저장하는 단계; 상기 이메일 수발신 증명서버가 상기 키 사용 위임 요청 이메일에 대한 수발신 증명 요청을 받는 경우, 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값과 동일한 비암호화한 해시값이 상기 블록체인의 트랜잭션에 존재하는지를 확인하여서 키 사용 위임 요청 이메일의 수발신 및 위조여부를 증명하는 단계; 및 상기 이메일 수발신 증명서버가 블록체인의 트랜잭션들로부터 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 상기 이메일 보안장비에 의해 자체 생성한 해당 사용자 단말의 공개키로 복호화하여서 획득한 해시값과, 상기 검색해낸 비암호화한 해시값과, 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 키 사용 위임 요청 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 키 사용 위임 요청 이메일의 진위를 규명하는 단계;를 더 포함한다.In the second embodiment of the present invention, the e-mail security apparatus obtains a non-encrypted hash value by converting the entire e-mail requesting key request e-mail to a hash value, And encrypts the encrypted hash value to obtain an encrypted hash value, generates a transaction including the current time, the encrypted and the unencrypted hash value, and provides the generated transaction to the email send and receive authentication server to store the transaction in the block chain by the email send and receive authentication server step; When the e-mail reception / delivery server receives the request for call origination of the key use delegation request e-mail, it checks whether a non-encrypted hash value equal to the hash value of the call origination request key use request e-mail exists in the transaction of the block chain Verifying whether the key use delegation request e-mail is received and forged; And an unencrypted hash value that is the same as a hash value of the send / receive subscriber key delegation request e-mail from transactions in the block chain, and the corresponding non-encrypted hash value is stored in the encrypted hash A hash value obtained by decrypting the hash value with the public key of the corresponding user terminal generated by the e-mail security device, the hash value of the retrieved non-encrypted hash value, , It is confirmed that there is an e-mail for requesting the use of a call originating key to be used at the current time included in the transaction in which the e-mail is searched, and the fact that the e-mail has been received and not tampered is verified to confirm the authenticity of the call request delegation request e-mail Further comprising:
상술한 목적을 달성하기 위한 제3 실시예의 본 발명은, 이메일 수발신 증명서버가 사용자 단말의 이메일 수발신시에 메일 수발신 트랜잭션 생성 에이전트에 의해 해당 수발신 이메일을 해시값으로 변환하여 트랜잭션을 생성하되, 수발신 메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 사용자 단말의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하는 단계; 상기 이메일 수발신 증명서버가 생성된 수발신 이메일의 트랜잭션을 수집하여 생성 정책 주기에 따라 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성하고 해당 수집된 트랜잭션을 해당 블록에 기록하여 저장하는 처리를 반복 수행함으로써 블록체인을 생성하되, 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 블록체인에 저장하는 단계; 및 상기 이메일 수발신 증명서버가 이메일 수발신 증명 요청을 받는 경우, 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값이 상기 블록체인의 트랜잭션에 존재하는지를 확인하여서 이메일의 수발신 및 위변조 여부를 증명하는 단계;를 포함하는 것을 특징으로 하는 이메일 수발신 증명 방법을 제공한다.According to a third aspect of the present invention for achieving the above object, there is provided a method of generating a transaction by converting an e-mail received and sent by a mail generating and sending transaction agent into a hash value and generating a transaction, Encrypted hash value with the private key of the user terminal and obtains the encrypted hash value to obtain the current time and the corresponding encrypted and non-encrypted hash value as the hash value Generating a transaction comprising; The e-mail reception / delivery server collects the transaction of the generated sending / receiving e-mail, performs a verification operation on the transaction according to the generation policy period, generates a block, and records the collected transaction in the corresponding block and repeats the processing. Storing a transaction in a block chain, the transaction including a current time, an encrypted and a non-encrypted hash value; And a step of verifying whether the non-encrypted hash value equal to the hash value of the send / receive proof e-mail exists in the transaction of the block chain when the e-mail reception / delivery server receives the e-mail send / The method includes the steps of:
제3 실시예의 본 발명은, 상기 이메일 수발신 증명서버가 개인키 및 공개키의 사용을 위임받기 위한 키 사용 위임 요청 이메일을 사용자 단말에 전송하여 사용자 단말로부터 키 사용 위임 허락 이메일을 수신함과 아울러 사용자 단말의 개인키 및 공개키를 수신하여 자체에 저장하는 처리를 수행함으로써 개인키 및 공개키의 사용 위임을 받는 단계를 더 포함한다.In the third embodiment of the present invention, the e-mail reception / distribution server transmits the key usage delegation request e-mail to the user terminal for receiving the private key and the public key, and receives the key use authorization e-mail from the user terminal, Receiving the private key and the public key of the private key and the public key, and storing the private key and the public key of the private key and the public key.
제3 실시예의 본 발명은, 상기 이메일 수발신 증명서버가, 블록체인의 트랜잭션들로부터 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 사용자 단말의 공개키에 의해 복호화하여서 획득한 해시값과, 상기 검색해낸 비암호화한 해시값과, 수발신 증명 대상 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 이메일의 진위를 규명하는 단계를 더 포함한다.The present invention according to the third embodiment is characterized in that the above-mentioned e-mail reception / reception proof server retrieves a non-encrypted hash value equal to the hash value of the send / receive proof e-mail from the transactions in the block chain, The hash value obtained by decrypting the encrypted hash value by the public key of the user terminal, the hash value of the retrieved non-encrypted hash value, and the hash value of the returned and received proof e-mail are all the same, Confirming the authenticity of the send / receive proof e-mail by confirming that the send / receive e-mail is present at the current time included in the transaction, and that the send / receive e-mail is received and not tampered.
제3 실시예의 본 발명은, 상기 이메일 수발신 증명서버가 상기 키 사용 위임 요청 이메일 전체를 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 생성한 해당 사용자 단말의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 블록체인에 저장하는 단계; 상기 이메일 수발신 증명서버가 상기 키 사용 위임 요청 이메일에 대한 수발신 증명 요청을 받는 경우, 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값과 동일한 비암호화한 해시값이 상기 블록체인의 트랜잭션에 존재하는지를 확인하여서 키 사용 위임 요청 이메일의 수발신 및 위변조 여부를 증명하는 단계; 및 상기 이메일 수발신 증명서버가 블록체인의 트랜잭션들로부터 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 자체 생성한 해당 사용자 단말의 공개키에 의해 복호화하여서 획득한 해시값과, 상기 검색해낸 비암호화한 해시값과, 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 키 사용 위임 요청 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 키 사용 위임 요청 이메일의 진위를 규명하는 단계;를 더 포함한다.In the third embodiment of the present invention, the e-mail reception / resection authentication server obtains a non-encrypted hash value by converting the whole e-mail request delegation request e-mail to a hash value, Acquiring an encrypted hash value by encrypting the hash value, creating a transaction including the current time, the encrypted and the unencrypted hash value, and storing the generated transaction in a block chain; When the e-mail reception / delivery server receives the request for call origination of the key use delegation request e-mail, it checks whether a non-encrypted hash value equal to the hash value of the call origination request key use request e-mail exists in the transaction of the block chain Verifying whether the key use delegation request e-mail is received and forged or falsified; And an unencrypted hash value that is the same as a hash value of the send / receive subscriber key delegation request e-mail from transactions in the block chain, and the corresponding non-encrypted hash value is stored in the encrypted hash By confirming whether or not the hash value obtained by decrypting the hash value by decrypting with the public key of the corresponding user terminal that has generated the hash value and the hash value of the returned call authentication delegation request e-mail both match the un- And confirming the fact that the call originating delegate key request delegation request e-mail is present at the present time included in the transaction in which the e-mail is searched, .
한편, 본 발명은 상기 제1 실시예 내지 제3 실시예 중의 어느 하나에 기재된 이메일 수발신 증명 방법을 구현하기 위한 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체를 제공한다.On the other hand, the present invention provides a computer-readable recording medium storing a program for implementing the e-mail withdrawal verification method according to any one of the first to third embodiments.
아울러, 본 발명은 상기 제1 실시예 내지 제3 실시예 중의 어느 하나에 기재된 이메일 수발신 증명 방법을 구현하기 위해 컴퓨터로 판독 가능한 기록매체에 저장된 프로그램을 제공한다.In addition, the present invention provides a program stored in a computer-readable recording medium for implementing the e-mail withdrawal verification method described in any one of the first to third embodiments.
본 발명에 의하면, 사용자 단말에 대한 이메일 수발신이 발생하는 경우 해당 이메일의 해시값을 포함하는 트랜잭션을 블록체인에 위변조 불가능하게 저장하고 필요시에 해당 해시값에 의해 이메일 수발신을 증명하므로 이메일 수발신을 보다 신뢰성 있게 증명할 수 있다.According to the present invention, when an e-mail reception / reception for a user terminal occurs, a transaction including a hash value of the e-mail is stored in a block chain so as not to be falsified, and if necessary, the e-mail reception / Can be proved reliably.
도 1은 본 발명의 제1 실시예에 따른 이메일 수발신 증명 처리를 위한 시스템을 예시한 도이다.Brief Description of the Drawings Fig. 1 is a diagram illustrating a system for processing e-mail reception and reception according to a first embodiment of the present invention.
도 2는 본 발명에서 수발신 이메일의 트랜잭션이 기록되는 블록의 하나를 예시한 도이다.FIG. 2 is a diagram illustrating one example of a block in which a transaction of a send / receive e-mail is recorded in the present invention.
도 3은 본 발명에서 수발신 이메일의 트랜잭션이 기록되는 복수의 블록을 연결하여 이루어지는 블록체인을 예시한 도이다.3 is a block diagram illustrating a block chain in which a plurality of blocks in which transactions of send and receive e-mails are recorded are concatenated in the present invention.
도 4는 본 발명의 제1 실시예에 따른 이에일 수발신 증명 처리 과정을 설명하기 위한 흐름도이다.FIG. 4 is a flowchart for explaining a procedure of the present invention.
도 5는 본 발명의 제2 실시예에 따른 이메일 수발신 증명 처리를 위한 시스템을 예시한 도이다.5 is a diagram illustrating a system for processing e-mail receipt verification according to a second embodiment of the present invention.
도 6은 본 발명의 제2 실시예에 따른 이에일 수발신 증명 처리 과정을 설명하기 위한 흐름도이다.FIG. 6 is a flowchart for explaining the procedure of the present invention.
도 7은 본 발명의 제3 실시예에 따른 이메일 수발신 증명 처리를 위한 시스템을 예시한 도이다.7 is a diagram illustrating a system for processing e-mail reception / reception verification according to a third embodiment of the present invention.
도 8은 본 발명의 제3 실시예에 따른 이에일 수발신 증명 처리 과정을 설명하기 위한 흐름도이다.FIG. 8 is a flowchart for explaining the procedure of the present invention according to the third embodiment of the present invention.
이하 첨부 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 이하에서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Hereinafter, detailed description of known related art will be omitted if it is determined that the gist of the present invention may be unnecessarily blurred. In addition, numerals used in the description of the present invention are merely an identifier for distinguishing one component from another.
또한, 본 명세서 및 청구범위에 사용된 용어는 사전적인 의미로 한정 해석되어서는 아니되며, 발명자는 자신의 발명을 최선의 방법으로 설명하기 위해 용어의 개념을 적절히 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합되는 의미와 개념으로 해석되어야 한다.In addition, the terms used in the specification and claims should not be construed in a dictionary meaning, and the inventor may, on the principle that the inventor can properly define the concept of a term in order to explain its invention in the best way, And should be construed in light of the meanings and concepts consistent with the technical idea of the present invention.
따라서, 본 명세서에 기재된 실시예 및 도면에 도시된 구성은 본 발명의 바람직한 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 표현하는 것은 아니므로, 본 출원 시점에 있어 이를 대체할 수 있는 다양한 균등물과 변형예들이 존재할 수 있음을 이해하여야 한다.Therefore, the embodiments described in the present specification and the drawings are only exemplary embodiments of the present invention, and not all of the technical ideas of the present invention are presented. Accordingly, various equivalents It should be understood that water and variations may exist.
본 발명의 바람직한 실시예에 대하여 구체적으로 설명하되, 이미 주어진 기술적 부분에 대해서는 설명의 간결함을 위해 생략하거나 압축하기로 한다.The preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, in which the technical parts already given are omitted or compressed for simplicity of explanation.
본 발명의 제1 실시예에 따른 이메일 수발신 증명 처리를 위한 시스템은 도 1에 예시된 바와 같이 이루어진다.A system for processing email receipt verification according to the first embodiment of the present invention is implemented as illustrated in FIG.
복수의 사용자 단말(10)은 로컬 네트워크(20)를 통해 메일서버(30)에 접속되고 메일서버(30)를 통해 이메일을 수발신 한다. 사용자 단말(10)은 프로그램에 의해 구동되어서 데이터를 처리하거나 이메일을 수발신 하는 등의 기능을 구비하는 통상적인 PC(Personal Computer) 등 일 수 있다.A plurality of user terminals 10 are connected to the mail server 30 via the local network 20 and receive and receive e-mails through the mail server 30. The user terminal 10 may be a conventional personal computer (PC), which is driven by a program and has a function of processing data or sending and receiving e-mail.
메일서버(30)는 이메일 보안장비(40)를 통해 인터넷에 접속되어 사용자 단말(10)로부터 발신되는 이메일을 이메일 보안장비(40)를 경유하여 인터넷을 통해 수신측 상대방에게 전송하며, 송신측 상대방으로부터 인터넷을 통해 전송되는 이메일을 이메일 보안장비(40)를 경유하여 수신하여 사용자 단말(10)에 전달한다. 또한, 메일서버(30)는 로컬 네트워크(20)에 수용되어 있는 사용자 단말(10) 간에 수발신되는 이메일을 송수신 처리하는 기능을 수행하기도 한다. The mail server 30 is connected to the Internet via the e-mail security device 40 and transmits the e-mail sent from the user terminal 10 to the receiver side via the Internet via the e-mail security device 40, Via the e-mail security device 40, and transmits the e-mail to the user terminal 10. [ The mail server 30 also performs a function of transmitting and receiving e-mail received and received between the user terminals 10 accommodated in the local network 20. [
이메일 보안장비(40)는 인터넷으로부터 메일서버(30)로 수신되는 이메일을 감시하여 악성 이메일을 차단하거나 메일서버(30)로부터 인터넷 측으로 발신되는 이메일을 감시하여 중요 정보의 유출을 차단하는 기능을 수행한다. 이메일 저장장비(60)는 메일서버(30)를 통해 수발신되는 이메일을 저장하여 보관한다.The e-mail security apparatus 40 monitors e-mails received from the Internet to the e-mail server 30 to block malicious e-mails or monitors e-mails sent from the e-mail server 30 to the Internet to prevent leakage of important information do. The e-mail storage device 60 stores and stores the e-mail received and transmitted through the e-mail server 30.
이메일 수발신 증명서버(50)는 자체에 내장된 프로그램에 의거하여 이메일 수발신 증명을 위한 제반 처리를 수행한다.The e-mail reception / delivery server 50 performs various processing for e-mail withdrawal verification based on a program built in itself.
사용자 단말(10)에는 이메일 수발신시에 트랜잭션을 생성하기 위한 프로그램에 해당하는 메일 수발신 트랜잭션 생성 에이전트가 설치되는데, 이메일 수발신 증명서버(50)로부터 로딩 받아서 설치하거나, 저장매체로부터 로딩 받아서 설치할 수 있다.The user terminal 10 is provided with a mail reception / transmission transaction generation agent corresponding to a program for generating a transaction at the time of sending / receiving of e-mail. The user reception terminal 10 may be loaded from the e-mail reception and authentication server 50 or installed from the storage medium.
이메일 수발신 증명서버(50)는 개인키 및 공개키의 사용을 위임받기 위한 키 사용 위임 요청 메일을 사용자 단말(10)에 전송하여서 사용자 단말(10)로부터 키 사용 위임을 받는다.The e-mail reception / delivery server 50 receives a key use delegation request mail from the user terminal 10 by transmitting a key use delegation request mail for delegating use of the private key and the public key.
사용자 단말(10)은 이메일 수발신 증명서버(50)로부터 키 사용 위임 요청 메일을 수신하는 경우, 사용자의 지시에 따라 키 사용 위임 허락 이메일을 이메일 수발신 증명서버(50)에 자체 생성한 개인키 및 공개키를 포함하여 전송함과 아울러 자체에 저장하며, 이메일 수발신 증명서버(50)는 사용자 단말(10)로부터 키 사용 위임 허락 이메일을 수신함과 아울러 개인키 및 공개키를 수신하여 자체에 저장함으로써 개인키 및 공개키의 사용 위임을 받는다.When the user terminal 10 receives the key use delegation request mail from the email send and receive proof server 50, the user terminal 10 sends a key use delegation permission email to the email send and receive proof server 50 in accordance with the user's instruction, The e-mail send / receive server 50 receives a key use authorization e-mail from the user terminal 10, receives a private key and a public key, stores the private key and the public key, And the use of the public key.
사용자 단말(10)은 이메일 수발신시에 메일 수발신 트랜잭션 생성 에이전트에 의하여 해당 수발신 메일의 트랜잭션을 생성하되, 수발신 메일을 해시값으로 변환하고, 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여서 이메일 수발신 증명서버(50)에 전송한다. 이때, 사용자 단말(10)은 타임 스탬프 또는 단말의 시스템 현재 시간 등에 의거한 현재시간과, 수발신 메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 저장된 해당 사용자 단말(10)의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 해당 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 이메일 수발신 증명서버(50)에 전송한다. 사용자 단말(10)은 수발신 메일의 트랜잭션을 생성하는 경우, 수발신 이메일 전체를 통상적인 해시 알고리즘에 의해 해시값으로 변환한 후에 해당 해시값을 개인키로 암호화시킴으로써 암호화한 해시값을 획득한다.The user terminal 10 generates a transaction of the send / receive mail by the mail send / receive transaction creation agent at the time of sending and receiving of e-mail, converts a received mail into a hash value, and transmits a transaction including the current time, And transmits it to the e-mail reception / At this time, the user terminal 10 acquires a hash value by converting the current time based on a time stamp or a system current time of the terminal, a received and received mail into a hash value to obtain a non-encrypted hash value, Encrypts the corresponding non-encrypted hash value to obtain a hash value encrypted, and generates a transaction including the current time, the encrypted and the non-encrypted hash value, and transmits the generated transaction to the e-mail receipt authentication server 50. When a transaction of a send / receive mail is generated, the user terminal 10 converts the entire send / receive e-mail into a hash value by a conventional hash algorithm, and then encrypts the hash value with a private key to obtain an encrypted hash value.
이메일 수발신 증명서버(50)는 사용자 단말(10)의 이메일 수발신에 기인하여 사용자 단말(10)로부터 해당 수발신 이메일의 트랜잭션이 수신되면 해당 트랜잭션을 자체에 저장하되, 생성 정책 주기에 따라 수집된 트랜잭션에 대한 검증작업을 수행하여서 하나의 블록을 생성하는 방식으로 블록 생성을 생성 정책 주기마다 반복적으로 수행함으로써 블록체인을 생성하여 수발신 이메일에 따른 트랜잭션을 블록체인에 기록하여 저장한다. 이와 같이 이메일 수발신 증명서버(50)가 수발신 이메일에 따른 트랜잭션을 블록체인에 기록하여 저장하는 경우, 사용자 단말(10)로부터 수신된 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 블록체인에 저장한다.When the transaction of the send / receive e-mail is received from the user terminal 10 due to the e-mail reception / reception of the user terminal 10, the e-mail send / receive proof server 50 stores the transaction itself, A block chain is generated by repeatedly generating the block generation at every policy cycle by generating a block by performing a verification operation on the generated block and storing the transaction in the block chain in the block chain. In this way, when the e-mail reception / delivery server 50 writes and stores a transaction in the block chain in accordance with the transmitted / received e-mail, the transaction including the current time, the encrypted and the non- encrypted hash value received from the user terminal 10, .
이처럼 이메일 수발신 증명서버(50)가 수발신 메일의 트랜잭션을 블록에 기록하여 저장하는 경우 도 2에 예시된 바와 같은 블록(70)에 기록하는데, 하나의 블록(70)은 현재 블록의 해시값, 이전 블록의 해시값, 머클 트리 루트 해시값, 논스(Nonce)값 및 블록생성 난이도 조정 비트를 포함하는 헤더(HD)와, 생성 정책 주기 동안 발생한 수발신 이메일에 대한 트랜잭션을 포함하는 바디(BD)로 이루어진다. 이와 같은 블록(70)은 생성 정책 주기마다 반복적으로 생성되어서 도 3에 예시된 바와 같이 블록체인을 구성하게 되며 해당 블록체인에는 복수의 블록(70-1, 70-2, 70-3, ...)이 연결되는 형태를 이룬다.In the case where the e-mail reception / delivery server 50 records and records the transaction of the send / receive mail in the block, the block 70 records the hash value of the current block, (HD) including a hash value of the block, a mucktree root hash value, a nonce value, and a block creation difficulty level adjustment bit, and a body (BD) including a transaction for the send / . Such a block 70 is repeatedly generated for each generation policy period to constitute a block chain as illustrated in FIG. 3. A plurality of blocks 70-1, 70-2, 70-3,... .) Are connected.
이메일 수발신 증명서버(50)는 생성 정책 주기 동안 사용자 단말(10)로부터 수집된 수발신 이메일의 트랜잭션에 대한 검증작업을 수행하여서 하나의 블록을 생성하는 경우에, 현 블록의 해시값, 수발신 메일 트랜잭션의 해시값 및 논스값을 결합하여 타겟(target)이라고 부르는 해시 첫 부분의 '0'의 개수보다 많은 '0'을 가진 해시값을 찾아냄으로써 생성 정책 주기 동안 수집된 수발신 이메일의 트랜잭션에 대한 검증을 수행하여 하나의 블록을 생성한다. 이메일 수발신 증명서버(50)는 이와 같은 방식으로 생성 정책 주기마다 반복적으로 블록을 생성하여서 블록체인을 이루고, 해당 블록체인에는 시계열적으로 발생되는 수발신 이메일의 트랜잭션들이 기록되어 저장되게 된다.When the e-mail send and receive verification server 50 performs a verification operation on the transactions of the received and received e-mails collected from the user terminal 10 during the generation policy period to generate one block, the hash value of the current block, Combine the hash value and the nonce value to verify the transaction of the incoming and outgoing e-mails collected during the generation policy cycle by finding a hash value with more than '0' at the beginning of the hash called target. Thereby generating one block. The e-mail reception / delivery server 50 generates blocks repeatedly in each generation policy cycle in this manner to form a block chain. Transactions of incoming and outgoing e-mails generated in a time series are recorded and stored in the block chain.
이메일 수발신 증명서버(50)는 사용자 단말(10), 이메일 수발신 증명서버 관리자 및 제3자로부터 이메일 수발신 증명 요청이 수신되는 경우에 이메일 저장장비(60)로부터 검색된 수발신 증명 대상 이메일을 통상의 해시 알고리즘에 의해 해시값으로 변환하여 수발신 증명 대상 이메일의 해시값을 생성하거나, 이메일 수발신 증명 요청의 수신과 함께 수발신 증명 대상 이메일의 해시값을 전달받고, 자체 저장된 블록체인에 기록되어 있는 트랜잭션에 수발신 증명 대상 이메일의 해시값이 존재하는지를 확인함으로써 이메일의 진위를 규명한다. 이처럼 이메일 수발신 증명서버(50)가 이메일의 진위에 대한 규명 처리를 수행하는 경우에, 블록체인에 기록되어 있는 트랜잭션을 검색하여 수발신 증명 대상 이메일의 비암호화한 해시값이 존재하는지를 확인함으로써 블록체인으로부터 이메일 수발신을 고속으로 확인하여 규명한다. 또한, 이메일 수발신 증명서버(50)는 수발신 증명 대상 이메일에 대한 진위를 규명할 수 있는데, 사용자 단말(10), 이메일 수발신 증명서버 관리자 및 제3자로부터 제시되는 수발신 증명 대상 이메일의 해시값이 블록체인에 기록된 트랜잭션의 암호화 및 비암호화한 해시값과 일치하는지를 확인함으로써 수발신 증명 대상 이메일에 대한 진위를 규명할 수도 있다. 이때, 이메일 수발신 증명서버(50)는 블록체인의 트랜잭션들로부터 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 사용자 단말(10)의 공개키에 의해 복호화하여서 획득한 해시값과, 해당 검색해낸 비암호화한 해시값과, 수발신 증명 대상 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 이메일의 진위를 규명하게 된다. The e-mail send and receive verification server 50 receives the e-mail send and receive proof requests from the user terminal 10, the e-mail send and receive verifying server manager and the third party, To generate a hash value of the e-mail sending and receiving subject e-mail, or to receive a hash value of the e-mail sending and receiving subject e-mail along with the reception of the e-mail sending and receiving proof request, Identify the authenticity of the email by verifying that the hash value of the email is present. In the case where the e-mail receiving and proving server 50 performs the e-mail authentication processing, the transaction recorded in the block chain is searched to check whether a non-encrypted hash value of the e-mail to be sent and received is present, Identify and identify e-mail receipts at high speed. Also, the e-mail reception / delivery server 50 can identify the authenticity of the e-mail receiving and sending out e-mail. The hash value of the e-mail receiving e-mail to be presented from the user terminal 10, Authenticity of the e-mail to be sent and received can be verified by checking whether the encrypted and non-encrypted hash value of the transaction recorded in the chain matches the hash value. At this time, the e-mail reception / delivery server 50 retrieves unencrypted hash values that are the same as the hash value of the send / receive verification target e-mail from the transactions in the block chain, and the corresponding non-encrypted hash values are retrieved from the encrypted hash value Is verified by the public key of the user terminal 10, the hash value obtained by the retrieval, the non-encrypted hash value obtained by the retrieval, and the hash value of the recipient identification subject e-mail are all identical to each other, The authenticity of the e-mail to be verified is verified by confirming that the e-mail to be verified is present at the current time included, and that it has been received and not tampered with.
또한, 이메일 수발신 증명서버(50)는 상술한 바와 같이 사용자 단말(10)로부터 개인키 및 공개키의 사용을 위임받기 위하여 키 사용 위임 요청 이메일을 사용자 단말(10)에 전송하는 경우에, 키 사용 위임 요청 이메일에 대한 트랜잭션을 생성하여 자체에 저장하되, 사용자 단말(10)에 의해 개인키와 공개키를 생성하기 이전의 상태이므로, 키 사용 위임 요청 이메일 전체를 해시값으로 변환하고, 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여서 블록체인에 저장함으로써 사용자 단말(10)에 의해 개인키와 공개키를 생성하기 이전에 수발신된 키 사용 위임 요청 이메일에 대한 수발신 증명을 한다. 이때, 이메일 수발신 증명서버(50)는 키 사용 위임 요청 이메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 블록체인에 기록하여 저장함으로써, 사용자에 의해 개인키와 공개키를 생성하지 않은 상태에서 수발신된 키 사용 위임 요청 이메일에 대해서도 상술한 바와 마찬가지로 차후에 수발신 증명을 가능케 한다.In addition, in the case of transmitting the key use delegation request e-mail to the user terminal 10 in order to delegate the use of the private key and the public key from the user terminal 10 as described above, A transaction for the delegation request e-mail is generated and stored in the transaction itself. Since the state is before the private key and the public key are generated by the user terminal 10, the whole e-mail for key use delegation request is converted into a hash value, A transaction including the encrypted and unencrypted hash values is generated and stored in the block chain to verify receipt of the received key usage delegation request e-mail before generating the private key and the public key by the user terminal 10. [ At this time, the e-mail reception / delivery server 50 acquires a non-encrypted hash value by converting the e-mail request delegation request e-mail to a hash value, and acquires the encrypted hash value by encrypting the corresponding non- , A transaction including the corresponding encrypted and non-encrypted hash values is generated and stored in the block chain to store the private key and the public key in a state where the user has not generated the private key and the public key. Likewise, it is possible to prove the receipt later.
상술한 바와 같은 기능을 구비하는 본 발명의 제1 실시예에 따른 시스템은 이메일 수발신 증명을 수행하는 경우 도 4에 예시된 바와 같이 수행한다.The system according to the first embodiment of the present invention having the above-described functions performs as illustrated in Fig. 4 when performing e-mail withdrawal verification.
먼저, 이메일 수발신 증명서버(50)는 개인키 및 공개키의 사용을 위임받기 위한 키 사용 위임 요청 이메일을 사용자 단말(10)에 전송하여 사용자 단말(10)로부터 키 사용 위임 허락 이메일을 수신함과 아울러 개인키와 공개키를 함께 수신하여 자체에 저장하는 처리를 수행함으로써 개인키 및 공개키의 사용 위임을 받는다(S10).First, the e-mail send / receive server 50 transmits a key use delegation request e-mail to the user terminal 10 for delegation of use of the private key and the public key, receives a key use delegate permission e-mail from the user terminal 10, The private key and the public key are received together and stored in the private key and the public key, thereby receiving the use of the private key and the public key (S10).
그 후에, 사용자 단말(10)은 이메일 수발신시에 메일 수발신 트랜잭션 생성 에이전트에 의하여 해당 수발신 이메일의 트랜잭션을 생성하되, 수발신 메일을 해시값으로 변환하고, 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여서 이메일 수발신 증명서버(50)에 전송한다(S20). 이때, 사용자 단말(10)은 수발신 메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 저장된 해당 사용자 단말(10)의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 이메일 수발신 증명서버(50)에 전송한다.Thereafter, the user terminal 10 generates a transaction of the incoming and outgoing e-mail by the mail send / receive transaction creation agent at the time of sending and receiving e-mail, but converts the incoming and outgoing mail to a hash value and includes the current time, And transmits the generated transaction to the e-mail reception / delivery server 50 (S20). At this time, the user terminal 10 obtains a non-encrypted hash value by converting the received and received mail into a hash value, and obtains a hash value by encrypting the corresponding non-encrypted hash value with the private key of the user terminal 10 And generates a transaction including the current time, the encrypted and the non-encrypted hash value, and transmits the transaction to the e-mail receipt authentication server 50.
이에, 이메일 수발신 증명서버(50)는 사용자 단말(10)로부터 전송된 수발신 이메일의 트랜잭션을 수집하여 자체에 저장하고, 생성 정책 주기가 경과 하였는지를 확인하여서(S30), 생성 정책 주기가 경과 하였음을 확인하면 그동안 수집된 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성하여 해당 수집된 트랜잭션을 해당 블록에 기록하여 저장한다(S40).Thus, the e-mail reception / delivery server 50 collects transactions of the send / receive e-mails transmitted from the user terminal 10, stores the transactions therein, confirms whether the generation policy period has elapsed (S30), confirms that the generation policy period has passed A block is generated by performing a verification operation on the collected transactions in the meantime, and the collected transactions are recorded in the corresponding block and stored (S40).
이처럼 이메일 수발신 증명서버(50)가 생성 정책 주기 동안 사용자 단말(10)로부터 수집된 수발신 이메일의 트랜잭션에 대한 검증작업을 수행하여서 하나의 블록을 생성하는 경우에, 현 블록의 해시값, 수발신 이메일 트랜잭션의 해시값 및 논스값을 결합하여 타겟 이라고 부르는 해시 첫 부분의 '0'의 개수보다 많은 '0'을 가진 해시값을 찾아냄으로써 설정시간 동안 수집된 수발신 이메일의 트랜잭션에 대한 검증을 수행하여 하나의 블록을 생성하고 그동안 수집된 트랜잭션을 해당 블록에 기록하여 저장한다.In the case where the e-mail reception / delivery server 50 performs the verification operation on the transaction of the received e-mail collected from the user terminal 10 during the generation policy period to generate one block, the hash value of the current block, A hash value and a nonce value of the hash value of the hash value and the nonce value are found to find a hash value having a value greater than the number of '0' at the beginning of the hash called the target, Block is created and the collected transaction is recorded in the corresponding block and stored.
이메일 수발신 증명서버(50)는 이와 같이 S20, S30 및 S40을 반복적으로 수행하는 방식으로, 생성 정책 주기마다 블록을 생성하여 그동안 수집된 수발신 이메일의 트랜잭션을 해당 블록에 기록 저장하는 처리를 반복적으로 수행함으로써 블록체인을 이루고, 해당 블록체인에는 시계열적으로 발생되는 수발신 이메일의 트랜잭션들이 기록되어 저장되게 된다.The e-mail reception / delivery server 50 repeatedly performs the processing of repeatedly performing the steps S20, S30 and S40 to generate a block for each generation policy cycle and to record the transaction of the collected sending / And the transactions of the incoming and outgoing e-mails generated in a time series in the corresponding block chain are recorded and stored.
아울러, 이메일 수발신 증명서버(50)는 사용자 단말(10), 이메일 수발신 증명서버 관리자 및 제3자로부터의 이메일 수발신 증명 요청이 수신되는지를 확인하여서(S50), 이메일 수발신 증명 요청이 수신됨을 확인하면 이메일 저장장비(60)로부터 검색된 수발신 증명 대상 이메일을 해시값으로 변환하여 수발신 증명 대상 이메일의 해시값을 생성하거나, 이메일 수발신 증명 요청의 수신과 함께 수발신 증명 대상 이메일의 해시값을 전달받고, 자체 저장된 블록체인에 기록되어 있는 트랜잭션에 수발신 증명 대상 이메일의 해시값이 존재하는 있는지를 확인함으로써 이메일의 수발신을 증명한다(S60). 이와같이 이메일 수발신 증명서버(50)가 이메일 수발신 증명 처리를 수행하는 경우에, 블록체인에 있는 트랜잭션을 검색하여 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값이 존재하는지를 확인함으로써 고속으로 이메일의 수발신을 증명하는데, 수발신 증명 대상 이메일의 해시값이 블록체인의 트랜잭션에 존재하면 이메일이 수발신된 것으로 판정하고, 수발신 증명 대상 이메일의 해시값이 블록체인의 트랜잭션에 존재하지 않으면 이메일이 수발신되었는지 확인할 수 없음으로 판정한다. 아울러, 이메일 수발신 증명서버(50)는 사용자 단말(10), 이메일 수발신 증명서버 관리자 및 제3자로부터의 요청에 따라 수발신 증명 대상 이메일에 대한 진위를 규명할 수 있는데, 사용자 단말(10), 이메일 수발신 증명서버 관리자 및 제3자로부터 제시되는 수발신 증명 대상 이메일의 해시값이 블록체인에 기록된 트랜잭션의 암호화 및 비암호화한 해시값과 일치하는지를 확인함으로써 수발신 증명 대상 이메일에 대한 진위를 규명할 수도 있다. 이때, 이메일 수발신 증명서버(50)는 블록체인의 트랜잭션들로부터 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 사용자의 공개키에 의해 복호화하여서 획득한 해시값과, 해당 검색해낸 비암호화한 해시값과, 수발신 증명 대상 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 이메일의 진위를 규명한다. In addition, the e-mail reception / delivery server 50 confirms whether e-mail send / receive authentication requests from the user terminal 10, the e-mail transmission / reception e-mail server manager and the third party are received (S50) A hash value of the send / receive verification target e-mail is generated by converting the send / receive verification target e-mail retrieved from the e-mail storage device 60 into a hash value, In step S60, it is confirmed whether or not there is a hash value of the send / receive proof e-mail in the transaction recorded in the block chain. In this way, when the e-mail reception / delivery server 50 performs the e-mail reception / reception proof processing, it searches the transactions in the block chain to check whether there is a non-encrypted hash value equal to the hash value of the e-mail to be sent / If the hash value of the e-mail to be sent and received is present in the transaction in the block chain, it is determined that the e-mail has been sent and received. If the hash value of the e-mail to be sent and received is not present in the transaction in the block chain, No judgment is made. In addition, the email send and receive proof server 50 can authenticate the authenticated send and receive email according to a request from the user terminal 10, the email send and receive proof server manager, and a third party. The email send and receive proof server 50 includes a user terminal 10, It is possible to identify the authenticity of the send / receive proof e-mail by confirming whether the hash value of the send / receive proof e-mail presented from the send / receive proof server manager and the third party matches the encrypted and non-encrypted hash value of the transaction recorded in the block chain . At this time, the e-mail reception / delivery server 50 retrieves unencrypted hash values that are the same as the hash value of the send / receive verification target e-mail from the transactions in the block chain, and the corresponding non-encrypted hash values are retrieved from the encrypted hash value The hash value obtained by decrypting the received e-mail with the public key of the user, the hash value obtained by the retrieval, the non-encrypted hash value, And the fact that the e-mail to be sent and received is present, and that it has been received and not altered, is confirmed.
한편, 이메일 수발신 증명서버(50)는 상술한 S30에서 생성 정책 주기가 경과되지 않았음을 확인한 경우에 S50을 수행하고, 상술한 S50에서 이메일 수발신 증명 요청이 수신되지 않았음을 확인하면 S70을 수행한다. 이메일 수발신 증명서버(50)는 S70에서 시스템 운용자로부터 구동 종료 지시가 입력되는지를 확인하여서, 구동 종료 지시가 입력되지 않았음을 확인하면 상술한 S20으로 귀환하여 반복 처리를 수행하고, 구동 종료 지시가 입력되었음을 확인하면 구동 종료한다.Meanwhile, if it is determined in S30 that the generation policy period has not elapsed, S50 is performed. If it is determined in S50 that the request for e-mail withdrawal authentication has not been received, the e-mail send / do. The e-mail reception / delivery server 50 confirms whether the drive end instruction is input from the system operator at step S70. When it is confirmed that the drive end instruction is not input, the e-mail reception / If it is confirmed that the input is completed, the operation is terminated.
또한, 이메일 수발신 증명서버(50)는 상술한 S10에서 사용자 단말(10)로부터 개인키 및 공개키의 사용을 위임받기 위하여 키 사용 위임 요청 이메일을 사용자 단말(10)에 전송하는 경우에, 키 사용 위임 요청 이메일에 대한 트랜잭션을 생성하여 자체에 저장할 수도 있다. 이때는 사용자 단말(10)에 의해 개인키와 공개키를 생성하기 이전의 상태이므로, 이메일 수발신 증명서버(50)가 키 사용 위임 요청 이메일 전체를 해시값으로 변환하고, 상술한 바와 마찬가지로 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랙잭션을 생성하여 블록체인에 기록하여 저장함으로써, 사용자에 의해 개인키와 공개키를 생성하지 않은 상태에서 수발신된 키 사용 위임 요청 이메일에 대해서도 상술한 바와 마찬가지로 차후에 수발신 증명을 가능케 한다.In addition, in the case where the e-mail reception / resistration authentication server 50 transmits the key use delegation request e-mail to the user terminal 10 in order to delegate the use of the private key and the public key from the user terminal 10 in the above- You can also create a transaction for the delegation request email and save it to itself. In this case, since the state before the generation of the private key and the public key by the user terminal 10, the e-mail receiving / proving server 50 converts the whole e-mail request for key use into the hash value, And a non-encrypted hash value is recorded in the block chain and stored. By storing the private key and the public key in a state where the user does not generate the private key and the public key, Enables proof.
이상과 같은 본 발명의 제1 실시예에 의하면, 사용자 단말(10)에 대한 이메일 수발신이 발생하는 경우, 이메일 수발신 증명서버(50)가 사용자 단말(10)에 의해 생성되는 해당 수발신 이메일의 해시값을 포함하는 트랜잭션을 수집하여 블록에 기록하여 저장하는 처리를 반복적으로 수행하여서 수발신 이메일의 트랜잭션을 블록체인에 위변조 불가능하게 저장하고, 필요시에 수발신 증명 대상 이메일의 해당 해시값이 블록체인에 기록된 트랜잭션에 존재하는지를 확인함으로써, 이메일 수발신 사실을 증명하고, 수발신 이메일이 변조되지 않았음을 증명할 수도 있다. 이에, 본 발명의 제1 실시예는 이메일 수발신을 신뢰성 있게 증명할 수 있다.According to the above-described first embodiment of the present invention, when an e-mail reception / reception for the user terminal 10 occurs, the e-mail reception / resection authentication server 50 transmits the hash value of the corresponding e-mail generated by the user terminal 10 And stores the transaction in a block so as to repeatedly store the transaction of the send / receive e-mail in the block chain so as not to be falsified. If necessary, the hash value of the send / receive e-mail is recorded in the block chain By verifying that it exists in the transaction, it is possible to prove the fact that the e-mail has been received, and to prove that the e-mail has not been tampered with. Thus, the first embodiment of the present invention can reliably demonstrate e-mail reception and reception.
아울러, 상술한 제1 실시예의 설명에서는 하나의 이메일 수발신 증명서버(50)가 생성 정책 주기마다 수발신 이메일의 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성함으로써 블록체인을 생성하는 것으로 설명하였으나, 이에 한정되는 것은 아니고, 각 로컬 네트워크에 수용되어 있는 여러 대의 이메일 수발신 증명서버(50)를 상호 연결하여 연동하면 복수의 이메일 수발신 증명서버(50)에 의해 생성 정책 주기마다 수발신 이메일의 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성하는 처리를 수행할 수도 있을 것이다.In the above description of the first embodiment, it has been described that one email send and receive proof server 50 generates a block chain by performing a verification operation on a transaction of sending and receiving emails every generation policy cycle, When a plurality of e-mail sending / receiving servers 50 accommodated in respective local networks are interconnected and interconnected, a verification operation on the transaction of sending / receiving e-mails is performed per policy cycle generated by a plurality of e-mail sending / And perform processing to generate a block.
한편, 본 발명의 제2 실시예에 따른 이메일 수발신 증명 처리를 위한 시스템은 도 5에 예시된 바와 같이 이루어진다.On the other hand, a system for processing the e-mail reception / reception proof according to the second embodiment of the present invention is performed as illustrated in Fig.
복수의 사용자 단말(110)은 로컬 네트워크(120)를 통해 메일서버(130)에 접속되고 메일서버(130)를 통해 이메일을 수발신 한다. 사용자 단말(110)은 프로그램에 의해 구동되어서 데이터를 처리하거나 이메일을 수발신 하는 등의 기능을 구비하는 통상적인 PC 등 일 수 있다.A plurality of user terminals 110 are connected to the mail server 130 via the local network 120 and receive and receive e-mails through the mail server 130. The user terminal 110 may be a conventional PC or the like, which is driven by a program and has a function of processing data, receiving and sending out e-mails, and the like.
메일서버(130)는 이메일 보안장비(140)를 통해 인터넷에 접속되어 사용자 단말(110)로부터 발신되는 이메일을 이메일 보안장비(140)를 경유하여 인터넷을 통해 수신측 상대방에게 전송하며, 송신측 상대방으로부터 인터넷을 통해 전송되는 이메일을 이메일 보안장비(140)를 경유하여 수신하여 사용자 단말(110)에 전달한다. 또한, 메일서버(130)는 로컬 네트워크(120)에 수용되어 있는 사용자 단말(110) 간에 수발신되는 이메일을 송수신 처리하는 기능을 수행하기도 한다. The mail server 130 is connected to the Internet via the e-mail security device 140 and transmits an e-mail originating from the user terminal 110 to the recipient side via the Internet via the e-mail security device 140, Via the e-mail security device 140, and transmits the e-mail to the user terminal 110. The mail server 130 also performs a function of transmitting and receiving e-mail received and received between the user terminals 110 accommodated in the local network 120.
이메일 보안장비(140)는 인터넷으로부터 메일서버(130)로 수신되는 이메일을 감시하여 악성 이메일을 차단하거나 메일서버(130)로부터 인터넷 측으로 발신되는 이메일을 감시하여 중요 정보의 유출을 차단하는 기능을 수행한다. 이메일 저장장비(160)는 메일서버(130)를 통해 수발신되는 이메일을 저장하여 보관한다.The e-mail security apparatus 140 monitors e-mail received from the Internet to the e-mail server 130 to block malicious e-mails or monitors the e-mail sent from the e-mail server 130 to the Internet to prevent leakage of important information do. The e-mail storage device 160 stores and stores e-mail received and transmitted through the mail server 130.
이메일 수발신 증명서버(150)는 자체에 내장된 프로그램에 의거하여 이메일 수발신 증명을 위한 제반 처리를 수행한다.The e-mail reception / delivery server 150 performs various processing for e-mail withdrawal verification based on a program built in itself.
이메일 보안장비(140)에는 이메일 수발신시에 트랜잭션을 생성하기 위한 프로그램에 해당하는 메일 수발신 트랜잭션 생성 에이전트가 설치되는데, 이메일 수발신 증명서버(150)로부터 로딩 받아서 설치하거나, 저장매체로부터 로딩 받아서 설치할 수 있다.In the email security equipment 140, a mail receiving and sending transaction generating agent corresponding to a program for generating a transaction at the time of sending and receiving an email is installed. The mail receiving and receiving transaction generating server 150 may receive the mail receiving and sending transaction generating agent 150, .
이메일 보안장비(140)는 개인키 및 공개키의 사용을 위임받기 위한 키 사용 위임 요청 메일을 사용자 단말(110)에 전송하여서 사용자 단말(110)로부터 키 사용 위임을 받는다.The e-mail security apparatus 140 receives a key use delegation request mail from the user terminal 110 by transmitting a key use delegation request e-mail to the user terminal 110 in order to delegate use of the private key and the public key.
사용자 단말(110)은 이메일 보안장비(140)로부터 키 사용 위임 요청 메일을 수신하는 경우, 사용자의 지시에 따라 키 사용 위임 허락 메시지를 이메일 보안장비(140)에 전송함과 아울러 자체 생성한 개인키 및 공개키를 이메일 보안장비(140)에 전송하며, 이메일 보안장비(140)는 사용자 단말(110)로부터 키 사용 위임 허락 메시지, 개인키 및 공개키를 수신하여 자체에 저장함과 아울러 이메일 수발신 증명서버(150)에 제공하여 저장시키는 처리를 수행함으로써 개인키 및 공개키의 사용 위임을 받는다.When receiving the key use delegation request e-mail from the e-mail security device 140, the user terminal 110 transmits a key use delegation permission message to the e-mail security apparatus 140 in accordance with the user's instruction, And the public key to the e-mail security apparatus 140. The e-mail security apparatus 140 receives the key use authorization message, the private key, and the public key from the user terminal 110 and stores the received message in the e-mail security apparatus 140, (150) and stores the private key and the public key.
이메일 보안장비(140)는 사용자 단말(110)의 이메일 수발신시에 메일 수발신 트랜잭션 생성 에이전트에 의하여 해당 수발신 이메일의 트랜잭션을 생성하되, 수발신 메일을 해시값으로 변환하고, 현제시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여서 이메일 수발신 증명서버(150)에 전송한다. 이때, 이메일 보안장비(140)는 타임 스탬프 또는 자체의 시스템 현재시간에 의거한 현재시간과, 수발신 메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 저장된 해당 사용자 단말(110)의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 이메일 수발신 증명서버(150)에 전송한다. 이메일 보안장비(140)는 이처럼 수발신 이메일의 트랜잭션을 생성하는 경우, 수발신 이메일 전체를 통상적인 해시 알고리즘에 의해 해시값으로 변환한 후에 해당 해시값을 개인키로 암호화시킴으로써 암호화한 해시값을 획득한다.The e-mail security device 140 generates a transaction of the send / receive e-mail by the mail send / receive transaction creation agent at the time of the e-mail reception of the user terminal 110, converts the send and receive mails into a hash value, Generates a transaction including the hash value, and transmits the generated transaction to the e-mail reception / At this time, the e-mail security apparatus 140 acquires a hash value by converting the present time based on the time stamp or the system current time of the e-mail security apparatus 140 and the received and received mail into a hash value, Encrypted hash value to obtain a hash value encrypted and generates a transaction including the current time, the encrypted and the non-encrypted hash value, and transmits the generated transaction to the e-mail reception / When the transaction of the send and receive e-mails is generated, the e-mail security apparatus 140 converts the entire received and received e-mails into hash values by a conventional hash algorithm, and then encrypts the hash values with the private key to obtain the encrypted hash values.
이메일 수발신 증명서버(150)는 사용자 단말(110)의 이메일 수발신에 기인하여 이메일 보안장비(140)로부터 해당 수발신 이메일의 트랜잭션이 수신되면 해당 트랜잭션을 자체에 저장하되, 생성 정책 주기 동안 수집된 트랜잭션에 대한 검증작업을 수행하여서 하나의 블록을 생성하는 방식으로 블록 생성을 생성 정책 주기마다 반복적으로 수행함으로써 블록체인을 생성하여 수발신 이메일에 따른 트랜잭션을 블록체인에 기록하여 저장한다. 이와 같이 이메일 수발신 증명서버(150)가 수발신 이메일에 따른 트랜잭션을 블록체인에 기록하여 저장하는 경우, 이메일 보안장비(140)로부터 수신된 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 블록체인에 저장한다.When the transaction of the send / receive e-mail is received from the e-mail security apparatus 140 due to the e-mail reception / reception of the user terminal 110, the e-mail send / receive certificate server 150 stores the transaction itself, A block chain is generated by repeatedly generating the block generation at every policy cycle by generating a block by performing a verification operation on the generated block and storing the transaction in the block chain in the block chain. In the case where the e-mail reception and authentication server 150 records and stores a transaction in accordance with the received and received e-mail in the block chain, the transaction including the current time, the encrypted and the non-encrypted hash value received from the e-mail security apparatus 140, Store in chain.
이처럼 이메일 수발신 증명서버(150)가 수발신 메일의 트랜잭션을 블록에 기록하여 저장하는 경우 도 2에 예시된 바와 같은 블록(70)에 기록하는데, 하나의 블록(70)은 현재 블록의 해시값, 논스(Nonce)값 및 블록생성 난이도 조정 비트를 포함하는 헤더(HD)와, 생성 정책 주기 동안 발생한 수발신 이메일에 대한 트랜잭션을 포함하는 바디(BD)로 이루어진다. 이와 같은 블록(70)은 생성 정책 주기마다 반복적으로 생성되어서 도 3에 예시된 바와 같이 블록체인을 구성하게 되며 해당 블록체인에는 복수의 블록(70-1, 70-2, 70-3, ...)이 연결되는 형태를 이룬다.In the case where the e-mail reception / delivery server 150 writes and stores a transaction of the send / receive mail in the block 70 as described in Fig. 2, one block 70 records the hash value of the current block, A header (HD) including a nonce value and a block generation difficulty adjustment bit, and a body (BD) including a transaction for a send / receive email generated during a generation policy period. Such a block 70 is repeatedly generated for each generation policy period to constitute a block chain as illustrated in FIG. 3. A plurality of blocks 70-1, 70-2, 70-3,... .) Are connected.
이메일 수발신 증명서버(150)는 생성 정책 주기 동안 이메일 보안장비(140)로부터 수집된 수발신 이메일의 트랜잭션에 대한 검증작업을 수행하여서 하나의 블록을 생성하는 경우에, 현 블록의 해시값, 수발신 메일 트랜잭션의 해시값 및 논스값을 결합하여 타겟(target)이라고 부르는 해시 첫 부분의 '0'의 개수보다 많은 '0'을 가진 해시값을 찾아냄으로써 설정 정책 주기 동안 수집된 수발신 이메일의 트랜잭션에 대한 검증을 수행하여 하나의 블록을 생성한다. 이메일 수발신 증명서버(150)는 이와 같은 방식으로 설정 정책 주기마다 반복적으로 블록을 생성하여서 블록체인을 이루고, 해당 블록체인에는 시계열적으로 발생되는 수발신 이메일의 트랜잭션들이 기록되어 저장되게 된다.When the e-mail send and receive verification server 150 performs a verification operation on the transactions of the received and received e-mails collected from the e-mail security apparatus 140 during the generation policy period to generate one block, the hash value of the current block, To find a hash value that has more '0' than the number of '0's at the beginning of the hash called the target by combining the hash value and the nonce value of the received hash value To generate one block. In this manner, the email send and receive server 150 repeatedly generates blocks to form a block chain in each set policy period, and transactions of the send and receive emails generated in a time series are recorded and stored in the corresponding block chain.
이메일 수발신 증명서버(150)는 사용자 단말(110), 이메일 수발신 증명서버 관리자 및 제3자로부터 이메일 수발신 증명 요청이 수신되는 경우에 이메일 저장장비(160)로부터 검색된 수발신 증명 대상 이메일을 통상의 해시 알고리즘에 의해 해시값으로 변환하여 수발신 증명 대상 이메일의 해시값을 생성하거나, 이메일 수발신 증명 요청의 수신과 함께 수발신 증명 대상 이메일의 해시값을 전달받고, 자체 저장된 블록체인에 기록되어 있는 트랜잭션에 수발신 증명 대상 이메일의 해시값이 존재하는지를 확인함으로써 이메일의 진위를 증명한다. 이처럼 이메일 수발신 증명서버(150)가 이메일의 진위에 대한 규명 처리를 수행하는 경우에, 블록체인에 기록되어 있는 트랜잭션을 검색하여 수발신 증명 대상 이메일의 비암호화한 해시값이 존재하는지를 확인함으로써 블록체인으로부터 이메일 수발신을 고속으로 확인하여 규명한다. 또한, 이메일 수발신 증명서버(150)는 사용자 단말(110), 이메일 수발신 증명서버 관리자 및 제3자로부터의 요청에 따라 수발신 증명 대상 이메일에 대한 진위(眞僞)를 규명할 수 있는데, 사용자 단말(110), 이메일 수발신 증명서버 관리자 및 제3자로부터 제시된 수발신 증명 대상 이메일의 해시값이 블록체인에 기록된 트랜잭션의 암호화 및 비암호화한 해시값과 일치하는지를 확인함으로써 수발신 증명 대상 이메일에 대한 진위를 규명할 수도 있다. 이때, 이메일 수발신 증명서버(150)는 블록체인의 트랜잭션들로부터 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 사용자 단말(110)의 공개키에 의해 복호화하여서 획득한 해시값과, 해당 검색해낸 비암호화한 해시값과, 수발신 증명 대상 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 이메일의 진위를 규명하게 된다. The e-mail reception / delivery server 150 transmits the e-mail receipt authentication e-mail retrieved from the e-mail storage device 160 to the e-mail reception / To generate a hash value of the e-mail sending and receiving subject e-mail, or to receive a hash value of the e-mail sending and receiving subject e-mail along with the reception of the e-mail sending and receiving proof request, It verifies the authenticity of the email by confirming the existence of a hash value of the email. In the case where the e-mail reception / delivery server 150 performs the authentication processing for the authenticity of the e-mail, the transaction recorded in the block chain is searched to check whether the non-encrypted hash value of the e-mail to be sent / Identify and identify e-mail receipts at high speed. In addition, the email send and receive proof server 150 can identify the authenticity of the send and receive emails according to a request from the user terminal 110, the email send and receive proof server manager, and a third party. 110), the authenticity of the e-mail to be authenticated is verified by confirming whether the hash value of the e-mail to be sent / received from the e-mail send / receive server manager and the third party coincides with the encrypted and non-encrypted hash value of the transaction recorded in the block chain You may. At this time, the e-mail reception / resupply certificate server 150 retrieves unencrypted hash values that are the same as the hash value of the send / receive verification target e-mail from the transactions in the block chain, and determines whether the corresponding non-encrypted hash value is an encrypted hash value Is verified by the public key of the user terminal 110, the hash value obtained by the retrieval, the unencrypted hash value obtained by the retrieval, and the hash value of the recipient identification subject e-mail are all identical to each other, The authenticity of the e-mail to be verified is verified by confirming that the e-mail to be verified is present at the current time included, and that it has been received and not tampered with.
또한, 이메일 보안장비(140)는 상술한 바와 같이 사용자 단말(110)로부터 개인키 및 공개키의 사용을 위임받기 위하여 키 사용 위임 요청 이메일을 사용자 단말(110)에 전송하는 경우에, 키 사용 위임 요청 이메일에 대한 트랜잭션을 생성하여 이메일 수발신 증명서버(150)에 저장하되, 사용자 단말(110)에 의해 개인키와 공개키를 생성하기 이전의 상태이므로, 키 사용 위임 요청 이메일 전체를 해시값으로 변환하고, 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여서 이메일 수발신 증명서버(150)에 전송하여 이메일 수발신 증명서버(150)에 의해 블록체인에 저장함으로써 사용자 단말(110)에 의해 개인키와 공개키를 생성하기 이전에 수발신된 키 사용 위임 요청 이메일에 대한 수발신 증명을 가능케 한다. 이때, 이메일 보안장비(140)는 키 사용 위임 요청 이메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 생성한 해당 사용자 단말(110)의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 이메일 수발신 증명서버(150)에 전송하여서 이메일 수발신 증명서버(150)에 의해 해당 트랜잭션을 블록체인에 기록하여 저장함으로써, 사용자에 의해 개인키와 공개키를 생성하지 않은 상태에서 수발신된 키 사용 위임 요청 이메일에 대해서도 상술한 바와 마찬가지로 차후에 수발신 증명을 가능케 한다.When the e-mail security device 140 transmits the key use delegation request e-mail to the user terminal 110 in order to delegate the use of the private key and the public key from the user terminal 110 as described above, Since the transaction for the requested e-mail is generated and stored in the e-mail reception and authentication server 150 but before the private key and the public key are generated by the user terminal 110, the entire e-mail for requesting key use is converted into a hash value And generates a transaction including the current time, the encrypted and the non-encrypted hash value, and transmits the generated transaction to the email send and receive proof server 150 and stores it in the block chain by the email send and receive proof server 150 It enables verification of receipt of the received key usage delegation request e-mail before generating the private key and the public key. At this time, the e-mail security device 140 obtains a non-encrypted hash value by converting the e-mail request for key use delegation into a hash value, and encrypts the corresponding non-encrypted hash value with the private key of the self- And generates a transaction including the current time, the encrypted and the non-encrypted hash value, and transmits the generated transaction to the email send and receive authentication server 150 so that the corresponding transaction is blocked by the email send and receive authentication server 150 Chain so as to allow the user to verify the receipt of the key using delegation request e-mail in the same manner as described above without generating the private key and the public key by the user.
상술한 바와 같은 기능을 구비하는 본 발명의 제2 실시예에 따른 시스템은 이메일 수발신 증명을 수행하는 경우 도 6에 예시된 바와 같이 수행한다.The system according to the second embodiment of the present invention having the above-described functions performs as illustrated in Fig. 6 when performing e-mail withdrawal verification.
먼저, 이메일 보안장비(140)는 개인키 및 공개키의 사용을 위임받기 위한 키 사용 위임 요청 이메일을 사용자 단말(110)에 전송하여 사용자 단말(110)로부터 키 사용 위임 허락 메시지, 개인키 및 공개키를 수신하여서 자체에 저장함과 아울러 이메일 수발신 증명서버(150)에 제공하여 저장시키는 처리를 수행함으로써 개인키 및 공개키의 사용 위임을 받는다(S110).First, the e-mail security device 140 transmits a key use delegation request e-mail to the user terminal 110 for delegating the use of the private key and the public key to the user terminal 110, (S110). In this case, the user is requested to use the private key and the public key in step S110.
그 후에, 이메일 보안장비(140)는 사용자 단말(110)의 이메일 수발신시에 메일 수발신 트랜잭션 생성 에이전트에 의하여 해당 수발신 이메일의 트랜잭션을 생성하되, 수발신 메일을 해시값으로 변환하고, 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여서 이메일 수발신 증명서버(150)에 전송한다(S120). 이때, 이메일 보안장비(140)는 수발신 메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 저장된 해당 사용자 단말(110)의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 이메일 수발신 증명서버(150)에 전송한다.Thereafter, the email security appliance 140 generates a transaction of the send and receive email by the mail send and receive transaction creation agent at the time of the email reception of the user terminal 110, converts the send and receive mail to a hash value, And generates a transaction including the unencrypted hash value and transmits the generated transaction to the e-mail receipt authentication server 150 (S120). At this time, the e-mail security apparatus 140 acquires a non-encrypted hash value by converting the received and received mail into a hash value and encrypts the corresponding non-encrypted hash value with the private key of the self-stored corresponding user terminal 110, Value, and generates a transaction including the current time, the encrypted and the non-encrypted hash value, and transmits the generated transaction to the e-mail receipt authentication server 150. [
이에, 이메일 수발신 증명서버(150)는 이메일 보안장비(140)로부터 전송된 수발신 이메일의 트랜잭션을 수집하여 자체에 저장하고, 생성 정책 주기가 경과 하였는지를 확인하여서(S130), 생성 정책 주기가 경과하였음을 확인하면 그동안 수집된 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성하여 해당 수집된 트랜잭션을 해당 블록에 기록하여 저장한다(S140).Then, the e-mail send / receive server 150 collects transactions of the send / receive e-mails transmitted from the e-mail security apparatus 140, stores the transactions, and checks whether the generation policy period has passed (S130) If it is confirmed, the verification process of the collected transaction is performed to generate a block, and the collected transaction is recorded in the corresponding block and stored (S140).
이처럼 이메일 수발신 증명서버(150)가 생성 정책 주기 동안 이메일 보안장비(140)로부터 수집된 수발신 이메일의 트랜잭션에 대한 검증작업을 수행하여서 하나의 블록을 생성하는 경우에, 현 블록의 해시값, 수발신 메일 트랜잭션의 해시값 및 논스값을 결합하여 타겟 이라고 부르는 해시 첫 부분의 '0'의 개수보다 많은 '0'을 가진 해시값을 찾아냄으로써 생성 정책 주기 동안 수집된 수발신 이메일의 트랜잭션에 대한 검증을 수행하여 하나의 블록을 생성하고 그동안 수집된 트랜잭션을 해당 블록에 기록하여 저장한다.In the case where the e-mail reception / delivery server 150 performs the verification operation on the transaction of the received e-mail collected from the e-mail security apparatus 140 during the generated policy period to generate one block, the hash value of the current block, Combining the hash value and the nonce value of the transaction to find a hash value with a number of zeroes greater than the number of '0's at the beginning of the hash called the target, One block is created and the collected transactions are recorded in the corresponding block and stored.
이메일 수발신 증명서버(150)는 이와 같이 S120, S130 및 S140을 반복적으로 수행하는 방식으로, 생성 정책 주기마다 블록을 생성하여 그동안 수집된 수발신 이메일의 트랜잭션을 해당 블록에 기록 저장하는 처리를 반복적으로 수행함으로써 블록체인을 이루고, 해당 블록체인에는 시계열적으로 발생되는 수발신 이메일의 트랜잭션들이 기록되어 저장되게 된다.The e-mail reception / delivery server 150 repeatedly performs S120, S130 and S140 so as to generate a block for each generation policy cycle, and to repeatedly record and store transactions of the collected send / And the transactions of the incoming and outgoing e-mails generated in a time series in the corresponding block chain are recorded and stored.
아울러, 이메일 수발신 증명서버(150)는 사용자 단말(110), 이메일 수발신 증명서버 관리자 및 제3자로부터 이메일 수발신 증명 요청이 수신되는지를 확인하여서(S150), 이메일 수발신 증명 요청이 수신됨을 확인하면 이메일 저장장비(160)로부터 검색된 수발신 증명 대상 이메일을 해시값으로 변환하여 수발신 증명 대상 이메일의 해시값을 생성하거나, 이메일 수발신 증명 요청의 수신과 함께 수발신 증명 대상 이메일의 해시값을 전달받고, 자체 저장된 블록체인에 기록되어 있는 트랜잭션에 수발신 증명 대상 이메일의 해시값이 존재하는지를 확인함으로써 이메일의 수발신을 증명한다(S160). 이와같이 이메일 수발신 증명서버(150)가 이메일 수발신 증명 처리를 수행하는 경우에, 블록체인에 있는 트랜잭션을 검색하여 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값이 존재하는지를 확인함으로써 고속으로 이메일의 수발신을 증명하는데, 수발신 증명 대상 이메일의 해시값이 블록체인의 트랜잭션에 존재하면 이메일이 수발신된 것으로 판정하고, 수발신 증명 대상 이메일의 해시값이 블록체인의 트랜잭션에 존재하지 않으면 이메일이 수발신되었는지 확인할 수 없음으로 판정한다. 아울러, 이메일 수발신 증명서버(150)는 사용자 단말(110), 이메일 수발신 증명서버 관리자 및 제3자로부터의 요청에 따라 수발신 증명 대상 이메일에 대한 진위를 규명할 수 있는데, 사용자 단말(110), 이메일 수발신 증명서버 관리자 및 제3자로부터 제시된 수발신 증명 대상 이메일의 해시값이 블록체인에 기록된 트랜잭션의 암호화 및 비암호화한 해시값과 일치하는지를 확인함으로써 수발신 증명 대상 이메일에 대한 진위를 규명할 수도 있다. 이때, 이메일 수발신 증명서버(150)는 블록체인의 트랜잭션들로부터 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 사용자의 공개키에 의해 복호화하여서 획득한 해시값과, 해당 검색해낸 비암호화한 해시값과, 수발신 증명 대상 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 이메일의 진위를 규명한다.In addition, the e-mail send / receive server 150 checks whether an e-mail send / receive proof request is received from the user terminal 110, the e-mail exchange / delivery server administrator and a third party (S150) A hash value of the send / receive verification target e-mail is generated by converting the e-mail receipt verification target e-mail retrieved from the storage device 160 into a hash value, The receipt of the e-mail is verified (S160) by confirming whether or not the hash value of the sender's e-mail is included in the transaction recorded in the chain. In this way, when the e-mail reception / delivery server 150 performs the e-mail reception / reception proof processing, the transaction in the block chain is searched to check whether there is a non-encrypted hash value equal to the hash value of the e- If the hash value of the e-mail to be sent and received is present in the transaction in the block chain, it is determined that the e-mail has been sent and received. If the hash value of the e-mail to be sent and received is not present in the transaction in the block chain, No judgment is made. In addition, the email send and receive proof server 150 can authenticate the send and receive proof e-mail according to a request from the user terminal 110, the email send and receive proof server manager, and a third party. The email send and receive proof server 150 includes a user terminal 110, It is possible to identify the authenticity of the send / receive proof e-mail by confirming whether the hash value of the send / receive proof e-mail presented from the send / receive proof server manager and the third party matches the encrypted and non-encrypted hash value of the transaction recorded in the block chain. At this time, the e-mail reception / resupply certificate server 150 retrieves unencrypted hash values that are the same as the hash value of the send / receive verification target e-mail from the transactions in the block chain, and determines whether the corresponding non-encrypted hash value is an encrypted hash value The hash value obtained by decrypting the received e-mail with the public key of the user, the hash value obtained by the retrieval, the non-encrypted hash value, And the fact that the e-mail to be sent and received is present, and that it has been received and not altered, is confirmed.
한편, 이메일 수발신 증명서버(150)는 상술한 S130에서 생성 정책 주기가 경과되지 않았음을 확인한 경우에 S150을 수행하고, 상술한 S150에서 이메일 수발신 증명 요청이 수신되지 않았음을 확인하면 S170을 수행한다. 이메일 수발신 증명서버(150)는 S170에서 시스템 운용자로부터 구동 종료 지시가 입력되는지를 확인하여서, 구동 종료 지시가 입력되지 않았음을 확인하면 상술한 S120으로 귀환하여 반복 처리를 수행하고, 구동 종료 지시가 입력되었음을 확인하면 구동 종료한다.If it is determined in S130 that the generation policy period has not elapsed, S150 is performed. If it is determined in S150 that the request for e-mail withdrawal authentication has not been received, the e-mail acceptance and authentication server 150 performs S170 do. In step S170, the e-mail reception and reception server 150 confirms whether the drive end instruction is input from the system operator. If the drive end instruction is not input, the e-mail reception and reception server 150 returns to step S120 to repeat the process. If it is confirmed that the input is completed, the operation is terminated.
또한, 이메일 보안장비(140)는 상술한 S110에서 사용자 단말(110)로부터 개인키 및 공개키의 사용을 위임받기 위하여 키 사용 위임 요청 이메일을 사용자 단말(110)에 전송하는 경우에, 키 사용 위임 요청 이메일에 대한 트랜잭션을 생성하여 이메일 수발신 증명서버(150)에 저장할 수도 있다. 이때는 사용자 단말(110)에 의해 개인키와 공개키를 생성하기 이전의 상태이므로, 이메일 보안장비(140)가 키 사용 위임 요청 이메일 전체를 해시값으로 변환하고, 상술한 바와 마찬가지로 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랙잭션을 생성하여 이메일 수발신 증명서버(150)에 전송하여서 이메일 수발신 증명서버(150)에 의해 트랜잭션을 블록체인에 기록하여 저장함으로써, 사용자 단말(110)에 의해 개인키와 공개키를 생성하지 않은 상태에서 수발신된 키 사용 위임 요청 이메일에 대해서도 상술한 바와 마찬가지로 차후에 수발신 증명을 가능케 한다.In addition, in the case where the email security apparatus 140 transmits the key use delegation request email to the user terminal 110 in order to delegate the use of the private key and the public key from the user terminal 110 in the above-described S110, A transaction for the request e-mail may be generated and stored in the e-mail receipt authentication server 150. In this case, since the state before the generation of the private key and the public key by the user terminal 110, the e-mail security apparatus 140 converts the whole key use request e-mail to a hash value, A transaction including the unencrypted hash value is generated and transmitted to the e-mail reception and authentication server 150, and the transaction is stored in the block chain by the e-mail reception and authentication server 150 and stored, And also for the received key usage delegation request e-mail in the state that the public key is not generated, as described above.
이상과 같은 본 발명의 제2 실시예에 의하면, 사용자 단말(110)에 대한 이메일 수발신이 발생하는 경우, 이메일 수발신 증명서버(150)가 이메일 보안장비(140)에 의해 생성되는 해당 수발신 이메일의 해시값을 포함하는 트랜잭션을 수집하여 블록에 기록하여 저장하는 처리를 반복적으로 수행하여서 수발신 이메일의 트랜잭션을 블록체인에 위변조 불가능하게 저장하고, 필요시에 수발신 증명 대상 이메일의 해당 해시값이 블록체인에 기록된 트랜잭션에 존재하는지를 확인함으로써, 이메일 수발신 사실을 증명하고, 수발신 이메일이 변조되지 않았음을 증명할 수도 있다. 이에, 본 발명의 제2 실시예는 이메일 수발신을 신뢰성 있게 증명할 수 있다.According to the second embodiment of the present invention as described above, when an e-mail reception / reception for the user terminal 110 occurs, the e-mail receiving / proving server 150 transmits a hash of the corresponding e-mail generated by the e-mail security apparatus 140 And stores the transaction in a block so as to store the transaction of the send / receive e-mail in a block chain so that it can not be falsified. If necessary, the hash value of the send / receive e-mail is recorded in the block chain By verifying that the incoming and outgoing e-mail is not tampered with, by proving that the incoming and outgoing e-mail exists in the transaction. Thus, the second embodiment of the present invention can reliably demonstrate e-mail reception and reception.
아울러, 상술한 제2 실시예의 설명에서는 하나의 이메일 수발신 증명서버(150)가 생성 정책 주기마다 수발신 이메일의 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성함으로써 블록체인을 생성하는 것으로 설명하였으나, 이에 한정되는 것은 아니고, 각 로컬 네트워크에 수용되어 있는 여러 대의 이메일 수발신 증명서버(150)를 상호 연결하여 연동하면 복수의 이메일 수발신 증명서버(150)에 의해 생성 정책 주기마다 수발신 이메일의 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성하는 처리를 수행할 수도 있을 것이다.In the above description of the second embodiment, it has been described that one e-mail sending / receiving server 150 generates a block chain by performing a verification operation on the transaction of the send / receive e-mail at each generation policy period, When a plurality of email send and receive proof servers 150 that are accommodated in respective local networks are interconnected and linked, a plurality of email send and receive proof servers 150 may perform a verification operation on a transaction of send and receive emails every policy cycle And perform processing to generate a block.
한편, 본 발명의 제3 실시예에 따른 이메일 수발신 증명 처리를 위한 시스템은 도 7에 예시된 바와 같이 이루어진다.On the other hand, a system for processing e-mail reception / reception verification according to the third embodiment of the present invention is performed as illustrated in Fig.
복수의 사용자 단말(210)은 로컬 네트워크(220)를 통해 메일서버(230)에 접속되고 메일서버(230)를 통해 이메일을 수발신 한다. 사용자 단말(210)은 프로그램에 의해 구동되어서 데이터를 처리하거나 이메일을 수발신 하는 등의 기능을 구비하는 통상적인 PC 등 일 수 있다.A plurality of user terminals 210 are connected to the mail server 230 via the local network 220 and receive and receive e-mails through the mail server 230. The user terminal 210 may be a conventional PC or the like, which is driven by a program and has a function of processing data or receiving and sending out e-mails.
메일서버(230)는 이메일 보안장비(240)를 통해 인터넷에 접속되어 사용자 단말(210)로부터 발신되는 이메일을 이메일 보안장비(240)를 경유하여 인터넷을 통해 수신측 상대방에게 전송하며, 송신측 상대방으로부터 인터넷을 통해 전송되는 이메일을 이메일 보안장비(240)를 경유하여 수신하여 사용자 단말(210)에 전달한다. 또한, 메일서버(230)는 로컬 네트워크(220)에 수용되어 있는 사용자 단말(210) 간에 수발신되는 이메일을 송수신 처리하는 기능을 수행하기도 한다. The mail server 230 is connected to the Internet through the e-mail security apparatus 240 and transmits an e-mail sent from the user terminal 210 to the recipient side via the Internet via the e-mail security apparatus 240, To the user terminal 210 via the e-mail security device 240. The e-mail security device 240 receives e-mails transmitted through the Internet from the e- The mail server 230 also functions to send and receive e-mails that are exchanged between the user terminals 210 stored in the local network 220.
이메일 보안장비(240)는 인터넷으로부터 메일서버(230)로 수신되는 이메일을 감시하여 악성 이메일을 차단하거나 메일서버(230)로부터 인터넷 측으로 발신되는 이메일을 감시하여 중요 정보의 유출을 차단하는 기능을 수행한다. 이메일 저장장비(260)는 메일서버(230)를 통해 수발신되는 이메일을 저장하여 보관한다.The e-mail security apparatus 240 monitors e-mail received from the Internet to the e-mail server 230 to block malicious e-mails or monitors the e-mail sent from the e-mail server 230 to the Internet to prevent leakage of important information do. The e-mail storage device 260 stores and stores the e-mail sent and received through the e-mail server 230.
이메일 수발신 증명서버(250)는 자체 내장된 프로그램에 의거하여 이메일 수발신 증명을 위한 제반 처리를 수행한다.The e-mail reception / delivery server 250 performs various processing for e-mail withdrawal verification based on its own built-in program.
이메일 수발신 증명서버(250)는 사용자 단말(210)에 의한 이메일 수발신시에 자체에 내장된 메일 수발신 트랜잭션 생성 에이전트에 의하여 그에 대한 트랜잭션을 생성하여 블록체인에 저장하고, 이메일 수발신 증명 요청시에 이메일 수발신을 증명하는 처리를 수행한다.The e-mail send / receive certificate server 250 generates a transaction for the e-mail send / receive certificate server 250 by its built-in mail send / receive transaction creation agent at the time of sending / receiving e-mail by the user terminal 210, stores it in a block chain, Is performed.
*이메일 수발신 증명서버(250)는 개인키 및 공개키의 사용을 위임받기 위한 키 사용 위임 요청 메일을 사용자 단말(210)에 전송하여서 사용자 단말(210)로부터 키 사용 위임을 받는다.The e-mail reception / delivery server 250 receives a delegation request for a key from the user terminal 210 by transmitting a key use delegation request e-mail to delegate use of the private key and the public key to the user terminal 210.
사용자 단말(210)은 이메일 수발신 증명서버(250)로부터 키 사용 위임 요청 메일을 수신하는 경우, 사용자의 지시에 따라 키 사용 위임 허락 메시지를 이메일 수발신 증명서버(250)에 전송함과 아울러 자체 생성한 개인키 및 공개키를 이메일 수발신 증명서버(250)에 전송하며, 이메일 수발신 증명서버(250)는 사용자 단말(210)로부터 키 사용 위임 허락 메시지를 수신함과 아울러 개인키 및 공개키를 수신하여 자체에 저장하는 처리를 수행함으로써 개인키 및 공개키의 사용 위임을 받는다.When the user terminal 210 receives the key use delegation request mail from the email send and receive proof server 250, the user terminal 210 transmits a key use delegation permission message to the email send and receive proof server 250 according to the user's instruction, And transmits the private key and the public key to the e-mail sending and receiving server 250. The e-mail sending and receiving server 250 receives the private key and the public key from the user terminal 210, And receives a delegation of use of the private key and the public key by performing the process of storing the private key and the public key.
이메일 수발신 증명서버(250)는 사용자 단말(210)의 이메일 수발신시에 해당 수발신 이메일의 트랜잭션을 생성하여 자체에 저장한다. 이처럼 이메일 수발신 증명서버(250)는 수발신 이메일의 트랜잭션을 생성하는 경우, 수발신 이메일 전체를 통상적인 해시 알고리즘에 의해 해시값으로 변환하여서 트랜잭션을 생성하되, 수발신 메일을 해시값으로 변환하고, 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 자체에 저장한다. 이때, 이메일 수발신 증명서버(250)는 타임 스탬프 또는 자체 시스템 현재시간에 의거한 현재시간과, 수발신 메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 저장된 해당 사용자 단말(210)의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 자체에 저장한다. 이메일 수발신 증명서버(250)는 이처럼 수발신 이메일의 트랜잭션을 생성하는 경우, 수발신 이메일 전체를 통상적인 해시 알고리즘에 의해 해시값으로 변환한 후에 해당 해시값을 개인키로 암호화시킴으로써 암호화한 해시값을 획득한다.The e-mail reception / delivery server 250 generates a transaction of the send / receive e-mail when the e-mail of the user terminal 210 is received and stores the e-mail. In this way, when generating a transaction of the send / receive e-mail, the e-mail send / receive server 250 converts the entire send / receive e-mail into a hash value by a conventional hash algorithm to generate a transaction, It creates a transaction that contains encrypted and non-encrypted hash values and stores it in itself. At this time, the e-mail reception / delivery server 250 obtains the hash value by converting the present time based on the time stamp or the current time of the system itself, and the received and received e-mail to the hash value, ) To obtain the encrypted hash value, and generates a transaction including the current time, the encrypted and the unencrypted hash value, and stores the generated transaction in itself. When generating the transaction of the send / receive e-mail, the e-mail send / receive server 250 converts the entire send / receive e-mail into a hash value by a conventional hash algorithm and then encrypts the hash value with the private key to obtain the encrypted hash value.
이와 같이 이메일 수발신 증명서버(250)는 사용자 단말(210)의 이메일 수발신에 기인하여 해당 수발신 이메일의 트랜잭션을 생성하여 자체에 저장하는데, 생성 정책 주기 동안 생성된 트랜잭션에 대한 검증작업을 수행하여서 하나의 블록을 생성하는 방식으로 블록 생성을 생성 정책 주기마다 반복적으로 수행함으로써 블록체인을 생성하여 수발신 이메일에 따른 트랜잭션을 블록체인에 기록하여 저장한다. 이처럼 이메일 수발신 증명서버(250)가 수발신 이메일에 따른 트랜잭션을 블록체인에 기록하여 저장하는 경우, 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 블록체인에 저장한다.In this way, the e-mail reception / delivery server 250 generates a transaction of the send / receive e-mail due to the e-mail reception / reception of the user terminal 210 and stores the e-mail transaction in itself. Block generation is performed repeatedly at every policy cycle by generating a block chain, and the transaction corresponding to the incoming and outgoing e-mail is recorded and stored in the block chain. In this way, when the e-mail reception / delivery server 250 records and records a transaction according to the send / receive e-mail in the block chain, the transaction storing the current time, the encrypted and the non-encrypted hash value is stored in the block chain.
이와 같이 이메일 수발신 증명서버(250)가 수발신 이메일의 트랜잭션을 블록에 기록하여 저장하는 경우 도 2에 예시된 바와 같은 블록(70)에 기록하는데, 하나의 블록(70)은 현재 블록의 해시값, 논스(Nonce)값 및 블록생성 난이도 조정 비트를 포함하는 헤더(HD)와, 생성 정책 주기 동안 발생한 수발신 이메일에 대한 트랜잭션을 포함하는 바디(BD)로 이루어진다. 이와 같은 블록(70)은 생성 정책 주기마다 반복적으로 생성되어서 도 3에 예시된 바와 같이 블록체인을 구성하게 되며 해당 블록체인에는 복수의 블록(70-1, 70-2, 70-3, ...)이 연결되는 형태를 이룬다.In this way, when the email receipt proving server 250 writes and stores a transaction of the sending and receiving email in the block 70 as illustrated in FIG. 2, one block 70 records the hash value of the current block, A header (HD) including a nonce value and a block generation difficulty level adjustment bit, and a body (BD) including a transaction for a send / receive e-mail generated during a generation policy period. Such a block 70 is repeatedly generated for each generation policy period to constitute a block chain as illustrated in FIG. 3. A plurality of blocks 70-1, 70-2, 70-3,... .) Are connected.
이메일 수발신 증명서버(250)는 생성 정책 주기 동안 생성된 수발신 이메일의 트랜잭션에 대한 검증작업을 수행하여서 하나의 블록을 생성하는 경우에, 현 블록의 해시값, 수발신 이메일 트랜잭션의 해시값 및 논스값을 결합하여 타겟(target)이라고 부르는 해시 첫 부분의 '0'의 개수보다 많은 '0'을 가진 해시값을 찾아냄으로써 생성 정책 주기 동안 수집된 수발신 이메일의 트랜잭션에 대한 검증을 수행하여 하나의 블록을 생성한다. 이메일 수발신 증명서버(250)는 이와 같은 방식으로 생성 정책 주기마다 반복적으로 블록을 생성하여서 블록체인을 이루고, 해당 블록체인에는 시계열적으로 발생되는 수발신 이메일의 트탠잭션들이 기록되어 저장되게 된다.When the e-mail reception / delivery server 250 performs a verification operation on the transaction of the created / received e-mail generated during the generation policy period to generate one block, the hash value of the current block, the hash value and the non- And a hash value having a number of '0' that is greater than the number of '0's at the beginning of the hash called the target (target) is generated, thereby verifying the transaction of the received and received e-mails collected during the generation policy period to generate one block do. The e-mail reception / delivery server 250 repeatedly generates blocks to generate block chains in each generation policy cycle in this manner, and transactions of incoming and outgoing e-mails generated in a time series are recorded and stored in the corresponding block chain.
이메일 수발신 증명서버(250)는 사용자 단말(210), 이메일 수발신 증명서버 관리자 및 제3자로부터 이메일 수발신 증명 요청이 수신되는 경우에 이메일 저장장비(260)로부터 검색된 수발신 증명 대상 이메일을 통상의 해시 알고리즘에 의해 해시값으로 변환하여 수발신 증명 대상 이메일의 해시값을 생성하거나, 이메일 수발신 증명 요청의 수신과 함께 수발신 증명 대상 이메일의 해시값을 전달받고, 자체 저장된 블록체인에 기록되어 있는 트랜잭션에 수발신 증명 대상 이메일의 해시값이 존재하는지를 확인함으로써 이메일의 수발신을 증명한다. 이처럼 이메일 수발신 증명서버(250)가 이메일 수발신 증명 처리를 수행하는 경우에, 블록체인에 기록되어 있는 트랜잭션을 검색하여 수발신 증명 대상 이메일의 비암호화한 해시값이 존재하는지를 확인함으로써 블록체인으로부터 이메일 수발신을 고속으로 확인하여 증명한다. 또한, 이메일 수발신 증명서버(250)는 사용자 단말(210), 이메일 수발신 증명서버 관리자 및 제3자로부터의 요청에 따라 수발신 증명 대상 이메일에 대한 진위(眞僞)를 규명할 수 있는데, 사용자 단말(210), 이메일 수발신 증명서버 관리자 및 제3자로부터 제시된 수발신 증명 대상 이메일의 해시값이 블록체인에 기록된 트랜잭션의 암호화 및 비암호화한 해시값과 일치하는지를 확인함으로써 수발신 증명 대상 이메일에 대한 진위를 규명할 수도 있다. 이때, 이메일 수발신 증명서버(250)는 블록체인의 트랜잭션들로부터 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 사용자의 공개키에 의해 복호화하여서 획득한 해시값과, 해당 검색해낸 비암호화한 해시값과, 수발신 증명 대상 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 이메일의 진위를 규명하게 된다.The email send and receive proof server 250 transmits the send and receive proof e-mails retrieved from the e-mail storage device 260 when a request for e-mail send and receive is received from the user terminal 210, the e- To generate a hash value of the e-mail sending and receiving subject e-mail, or to receive a hash value of the e-mail sending and receiving subject e-mail along with the reception of the e-mail sending and receiving proof request, And verifies that the hash value of the e-mail is present. In the case where the e-mail reception / delivery server 250 performs e-mail reception / reception / authentication processing, the transaction recorded in the block chain is searched to check whether a non-encrypted hash value of the e-mail to be sent / Confirm at high speed and verify. In addition, the e-mail reception / delivery server 250 can identify the authenticity of the e-mail to be sent / received according to a request from the user terminal 210, the e-mail reception / 210), the authenticity of the e-mail to be authenticated is confirmed by confirming whether the hash value of the e-mail to be sent / received from the e-mail sending / receiving server manager and the third party coincides with the encrypted and unencrypted hash value of the transaction recorded in the block chain You may. At this time, the e-mail reception / delivery server 250 searches the transactions in the block chain for a non-encrypted hash value equal to the hash value of the send / receive verification target e-mail, The hash value obtained by decrypting the received e-mail with the public key of the user, the hash value obtained by the retrieval, the non-encrypted hash value, And the authenticity of the e-mail to be sent and received is confirmed by confirming that the e-mail to be sent and received is present and is not transmitted and modulated.
또한, 이메일 수발신 증명서버(250)는 상술한 바와 같이 사용자 단말(210)로부터 개인키 및 공개키의 사용을 위임받기 위하여 키 사용 위임 요청 이메일을 사용자 단말(210)에 전송하는 경우에, 키 사용 위임 요청 이메일에 대한 트랜잭션을 생성하여 자체에 저장하되, 사용자 단말(210)에 의해 개인키와 공개키를 생성하기 이전의 상태이므로, 키 사용 위임 요청 이메일 전체를 해시값으로 변환하고, 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여서 블록체인에 저장함으로써 사용자 단말(210)에 의해 개인키와 공개키를 생성하기 이전에 수발신된 키 사용 위임 요청 이메일에 대한 수발신 증명을 가능케 한다. 이때, 이메일 수발신 증명서버(250)는 키 사용 위임 요청 이메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 생성한 해당 사용자 단말(210)의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 블록체인에 기록하여 저장함으로써, 사용자에 의해 개인키와 공개키를 생성하지 않은 상태에서 수발신된 키 사용 위임 요청 이메일에 대해서도 상술한 바와 마찬가지로 차후에 수발신 증명을 가능케 한다.In addition, in the case where the e-mail receiving / receiving server 250 transmits the key use delegation request e-mail to the user terminal 210 in order to delegate use of the private key and the public key from the user terminal 210 as described above, A transaction for the delegation request e-mail is generated and stored in the transaction itself. Since the state is before the private key and the public key are generated by the user terminal 210, the whole of the key use delegation request e-mail is converted into a hash value, A transaction containing the encrypted and unencrypted hash values is generated and stored in the block chain, thereby enabling the proof of receipt of the received key usage delegation request e-mail before generating the private key and the public key by the user terminal 210 . At this time, the e-mail send / receive server 250 obtains a non-encrypted hash value by converting the e-mail request delegation request e-mail into a hash value, and acquires the corresponding non-encrypted hash value with the private key of the corresponding user terminal 210 A hash value that is encrypted and encrypted is obtained, a transaction including the current time, the encrypted and the non-encrypted hash value is generated, and the transaction is recorded in the block chain and stored. In this state, the private key and the public key are not generated by the user As for the e-mail request for delegation of the use of the key, it is also possible to prove the receipt of the e-mail later.
상술한 바와 같은 기능을 구비하는 본 발명의 제3 실시예에 따른 시스템은 이메일 수발신 증명을 수행하는 경우 도 8에 예시된 바와 같이 수행한다.The system according to the third embodiment of the present invention having the above-described functions performs as illustrated in FIG. 8 when performing the e-mail withdrawal proof.
먼저, 이메일 수발신 증명서버(250)는 개인키 및 공개키의 사용을 위임받기 위한 키 사용 위임 요청 이메일을 사용자 단말(210)에 전송하여 사용자 단말(210)로부터 키 사용 위임 허락 메시지, 개인키 및 공개키를 수신하여서 자체에 저장함으로써 개인키 및 공개키의 사용 위임을 받는다(S210).First, the e-mail send / receive server 250 sends a key use delegation request e-mail to the user terminal 210 for delegating the use of the private key and the public key to the user terminal 210, Receives the public key, and stores it in itself to receive the use of the private key and the public key (S210).
그 후에, 이메일 수발신 증명서버(250)는 사용자 단말(210)의 이메일 수발신시에 해당 수발신 이메일을 해시값으로 변환하여 트랜잭션을 생성하되, 수발신 메일을 해시값으로 변환하고, 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 자체에 저장한다(S220). 이때, 이메일 수발신 증명서버(250)는 수발신 메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 저장된 해당 사용자 단말(210)의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 자체에 저장한다.Thereafter, the e-mail send / receive server 250 converts the send / receive e-mail to a hash value at the time of sending / receiving e-mail of the user terminal 210 to generate a transaction, converts the send / receive mail to a hash value, A transaction including the encrypted hash value is generated and stored in the transaction itself (S220). At this time, the e-mail reception / delivery server 250 obtains a non-encrypted hash value by converting the received and received e-mail into a hash value, and encrypts the corresponding non-encrypted hash value with the private key of the corresponding stored user terminal 210 Obtains a hash value, generates a transaction including the current time, the corresponding encrypted and non-encrypted hash value, and stores the transaction in itself.
이에, 이메일 수발신 증명서버(250)는 자체에서 생성된 수발신 메일의 트랜잭션을 저장하고, 생성 정책 주기가 경과 하였는지를 확인하여서(S230), 생성 정책 주기가 경과 하였음을 확인하면 그동안 생성된 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성하여 해당 수집된 트랜잭션을 해당 블록에 기록하여 저장한다(S240).If the generation policy period has elapsed (S230), the e-mail send / receive certificate server 250 stores a transaction of the generated send / receive mail and confirms whether the generation policy period has elapsed A transaction is generated to generate a block, and the collected transaction is recorded in the corresponding block and stored (S240).
이처럼 이메일 수발신 증명서버(250)가 생성 정책 주기 동안 생성된 수발신 이메일의 트랜잭션에 대한 검증작업을 수행하여서 하나의 블록을 생성하는 경우에, 현 블록의 해시값, 수발신 메일 트랜잭션의 해시값 및 논스값을 결합하여 타겟 이라고 부르는 해시 첫 부분의 '0'의 개수보다 많은 '0'을 가진 해시값을 찾아냄으로써 생성 정책 주기 동안 생성된 수발신 이메일의 트랜잭션에 대한 검증을 수행하여 하나의 블록을 생성하여 그동안 생성된 트랜잭션을 해당 블록에 기록하여 저장한다.As described above, when the e-mail reception / delivery server 250 performs a verification operation on the transaction of the generated e-mail generated during the generation policy period to generate one block, the hash value of the current block, the hash value of the send / 0 "in the first part of the hash called the target, thereby generating a block by performing a verification of the transaction of the generated and generated e-mail generated during the generation policy period, The generated transaction is recorded in the corresponding block and stored.
이메일 수발신 증명서버(250)는 이와 같이 S220, S230 및 S240을 반복적으로 수행하는 방식으로, 생성 정책 주기마다 블록을 생성하여 그동안 생성된 수발신 메일의 트랜잭션을 해당 블록에 기록 저장하는 처리를 반복적으로 수행함으로써 블록체인을 이루고, 해당 블록체인에는 시계열적으로 발생되는 수발신 이메일의 트탠잭션들이 기록되어 저장되게 된다.The e-mail reception / delivery server 250 repeatedly performs the processing of repeatedly performing S220, S230, and S240 to generate a block for each generation policy cycle, and to record the transaction of the generated sending / receiving mail in the corresponding block in the meantime And transactions of the incoming and outgoing e-mails generated in a time-series manner are recorded and stored in the corresponding block chain.
아울러, 이메일 수발신 증명서버(250)는 사용자 단말(210), 이메일 수발신 증명서버 관리자 및 제3자로부터 이메일 수발신 증명 요청이 수신되는지를 확인하여서(S250), 이메일 수발신 증명 요청이 수신됨을 확인하면 이메일 저장장비(260)로부터 검색된 수발신 증명 대상 이메일을 해시값으로 변환하여 수발신 증명 대상 이메일의 해시값을 생성하거나, 이메일 수발신 증명 요청의 수신과 함께 수발신 증명 대상 이메일의 해시값을 전달받고, 자체 저장된 블록체인에 기록되어 있는 트랜잭션에 수발신 증명 대상 이메일의 해시값이 존재하는 있는지를 확인함으로써 이메일의 수발신을 증명한다(S260). 이와 같이 이메일 수발신 증명서버(250)가 이메일 수발신 증명 처리를 수행하는 경우에, 블록체인에 기록되어 있는 트랜잭션을 검색하여 수발신 증명 대상 이메일의 비암호화한 해시값이 존재하는지를 확인함으로써 블록체인으로부터 이메일 수발신을 고속으로 확인하여 증명한다. 또한, 이메일 수발신 증명서버(250)는 사용자 단말(210), 이메일 수발신 증명서버 관리자 및 제3자로부터의 요청에 따라 수발신 증명 대상 이메일에 대한 진위(眞僞)를 규명할 수 있는데, 사용자 단말(210), 이메일 수발신 증명서버 관리자 및 제3자로부터 제시되는 수발신 증명 대상 이메일의 해시값이 블록체인에 기록된 트랜잭션의 암호화 및 비암호화한 해시값과 일치하는지를 확인함으로써 수발신 증명 대상 이메일에 대한 진위를 규명할 수도 있다. 이때, 이메일 수발신 증명서버(250)는 블록체인의 트랜잭션들로부터 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 사용자의 공개키에 의해 복호화하여서 획득한 해시값과, 해당 검색해낸 비암호화한 해시값과, 수발신 증명 대상 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 이메일의 진위를 규명하게 된다.In addition, the e-mail send / receive server 250 checks whether an e-mail send / receive proof request is received from the user terminal 210, the e-mail send / receive e-mail server manager and a third party (S250) A hash value of the send / receive verification target e-mail is generated by converting the e-mail receipt verification target e-mail retrieved from the storage device 260 into a hash value to generate a hash value of the send / It is verified whether or not there is a hash value of the send / receive proof e-mail in the transaction recorded in the chain (S260). In this way, when the e-mail reception / delivery server 250 performs the e-mail reception / reception proof processing, the transaction recorded in the block chain is searched to check whether a non-encrypted hash value of the e- At a high speed. In addition, the e-mail reception / delivery server 250 can identify the authenticity of the e-mail to be sent / received according to a request from the user terminal 210, the e-mail reception / 210), the authenticity of the sender authentication subject e-mail is confirmed by confirming whether the hash value of the sender's authentication subject e-mail presented from the e-mail sender authentication server manager and the third party coincides with the encrypted and non-encrypted hash value of the transaction recorded in the block chain It can also be identified. At this time, the e-mail reception / delivery server 250 searches the transactions in the block chain for a non-encrypted hash value equal to the hash value of the send / receive verification target e-mail, The hash value obtained by decrypting the received e-mail with the public key of the user, the hash value obtained by the retrieval, the non-encrypted hash value, And the authenticity of the e-mail to be sent and received is confirmed by confirming that the e-mail to be sent and received is present and is not transmitted and modulated.
한편, 이메일 수발신 증명서버(250)는 상술한 S230에서 생성 정책 주기가 경과되지 않았음을 확인한 경우에 S250을 수행하고, 상술한 S250에서 이메일 수발신 증명 요청이 수신되지 않았음을 확인하면 S270을 수행한다. 이메일 수발신 증명서버(250)는 S270에서 시스템 운용자로부터 구동 종료 지시가 입력되는지를 확인하여서, 구동 종료 지시가 입력되지 않았음을 확인하면 상술한 S220으로 귀환하여 반복 처리를 수행하고, 구동 종료 지시가 입력되었음을 확인하면 구동 종료한다.Meanwhile, if it is determined in S230 that the generated policy period has not elapsed, S250 is performed. If it is determined in S250 that the request for e-mail sending / receiving of mail has not been received, the e-mail send / do. In step S270, the e-mail reception / delivery server 250 confirms whether the drive end instruction is input from the system operator. If the drive end instruction is not input, the e-mail send and receive server 250 returns to step S220 to repeat the process. If it is confirmed that the input is completed, the operation is terminated.
또한, 이메일 수발신 증명서버(250)는 상술한 S210에서 사용자 단말(210)로부터 개인키 및 공개키의 사용을 위임받기 위하여 키 사용 위임 요청 이메일을 사용자 단말(210)에 전송하는 경우에, 키 사용 위임 요청 이메일에 대한 트랜잭션을 생성하여 자체에 저장할 수도 있다. 이때는 사용자 단말(210)에 의해 개인키와 공개키를 생성하기 이전의 상태이므로, 이메일 수발신 증명서버(250)가 키 사용 위임 요청 이메일 전체를 해시값으로 변환하고, 상술한 바와 마찬가지로 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 블록체인에 저장함으로써, 사용자 단말(210)에 의해 개인키와 공개키를 생성하기 이전에 수발신된 키 사용 위임 요청 이메일에 대해서도 상술한 바와 마찬가지로 차후에 수발신 증명을 가능케 한다.In addition, in the case where the e-mail receiving / receiving server 250 transmits the key use delegation request e-mail to the user terminal 210 in order to delegate use of the private key and the public key from the user terminal 210 in S210 described above, You can also create a transaction for the delegation request email and save it to itself. In this case, since the state before the generation of the private key and the public key by the user terminal 210, the e-mail sending / receiving server 250 converts the entire e-mail request for key use into the hash value, And a non-encrypted hash value, and stores the generated transaction in the block chain, so that the key usage delegation request e-mail received before the generation of the private key and the public key by the user terminal 210, Enables verification of receipt.
이상과 같은 본 발명의 제3 실시예에 의하면, 사용자 단말(210)에 대한 이메일 수발신이 발생하는 경우, 이메일 수발신 증명서버(250)가 해당 이메일의 해시값을 포함하는 트랜잭션을 생성하여 블록체인에 위변조 불가능하게 저장하고 필요시에 수발신 증명 대상 이메일의 해당 해시값이 해당 블록체인에 존재하는지를 확인함으로써, 이메일 수발신 사실을 증명하고, 수발신 이메일이 변조되지 않았음을 증명할 수도 있다. 이에, 본 발명의 제3 실시예는 이메일 수발신을 신뢰성 있게 증명할 수 있다.According to the third embodiment of the present invention, when an e-mail reception / reception for the user terminal 210 occurs, the e-mail reception / delivery server 250 generates a transaction including the hash value of the e- It is possible to prove that the sender and receiver are not tampered by storing the message in a non-forgery-inhibited manner and checking if the corresponding hash value of the sender's mail is present in the corresponding block chain when necessary. Thus, the third embodiment of the present invention can reliably demonstrate the e-mail reception / reception.
아울러, 상술한 제3 실시예의 설명에서는 하나의 이메일 수발신 증명서버(250)가 생성 정책 주기마다 수발신 이메일의 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성함으로써 블록체인을 생성하는 것으로 설명하였으나, 이에 한정되는 것은 아니고, 각 로컬 네트워크에 수용되어 있는 여러 대의 이메일 수발신 증명서버(250)를 상호 연결하여 연동하면 복수의 이메일 수발신 증명서버(250)에 의해 생성 정책 주기마다 수발신 이메일의 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성하는 처리를 수행할 수도 있을 것이다.In the above description of the third embodiment, it has been described that one email send and receive proof server 250 generates a block chain by performing a verification operation on a transaction of a send and receive email every generation policy period, When a plurality of email send and receive proof servers 250 accommodated in respective local networks are interconnected and linked, a plurality of email send and receive proof servers 250 perform a verification operation on the transactions of the send and receive emails every policy cycle And perform processing to generate a block.
상술한 본 발명은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 판독할 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 판독할 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner.
상술한 바와 같이, 본 발명에 대한 구체적인 설명은 실시예에 의해 이루어졌지만, 상술한 실시예는 본 발명의 바람직한 예를 들어 설명하였을 뿐이기 때문에, 본 발명이 상기의 실시예에만 국한되는 것으로 이해되어져서는 아니 되며, 본 발명의 권리범위는 후술하는 청구범위 및 그 등가개념으로 이해되어져야 할 것이다.Although the preferred embodiments of the present invention have been described for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims. And the scope of the present invention should be understood as the scope of the following claims and their equivalents.
본 발명은 사용자 단말에 대한 수발신 이메일을 증명하는 경우에 매우 유용하게 적용할 수 있을 것이다. 본 발명은 사용자 단말에 대한 이메일 수발신이 발생하는 경우 해당 이메일의 해시값을 포함하는 트랜잭션을 블록체인에 위변조 불가능하게 저장하고 필요시에 해당 해시값에 의해 이메일 수발신을 증명하므로 이메일 수발신을 보다 신뢰성 있게 증명할 수 있다.The present invention may be very usefully applied to the case where the user terminal is proved to send and receive e-mail. The present invention stores a transaction including a hash value of a corresponding e-mail in a block chain in a non-falsifiable manner when an e-mail reception / reception for the user terminal occurs, and proves the e-mail reception / I can prove it.
<부호의 설명><Explanation of Symbols>
10, 110, 210; 사용자 단말10, 110, 210; User terminal
20, 120, 220; 로컬 네트워크20, 120, 220; Local network
30, 130, 230; 메일서버30, 130, 230; Mail server
40, 140, 240; 이메일 보안장비40, 140, 240; Email security equipment
50, 150, 250; 이메일 수발신 증명서버50, 150, 250; Email send / receive server
60, 160, 260; 이메일 저장장비60, 160, 260; Email Storage Equipment

Claims (14)

  1. 사용자 단말이 이메일 수발신시에 메일 수발신 트랜잭션 생성 에이전트에 의하여 해당 수발신 이메일의 트랜잭션을 생성하되, 수발신 메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자신의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재 시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 이메일 수발신 증명서버에 전송하는 단계;A transaction of the send / receive e-mail is generated by the send / receive transaction generation agent when the user terminal sends / receives the e-mail, and the send / receive mail is converted into a hash value to acquire a non-encrypted hash value, Obtaining a hash value encrypted by encrypting the value and generating a transaction including the current time, the encrypted and the non-encrypted hash value, and transmitting the generated transaction to the e-mail receipt authentication server;
    상기 이메일 수발신 증명서버가 사용자 단말로부터 전송되는 수발신 이메일의 트랜잭션을 수집하여 생성 정책 주기에 따라 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성하고 해당 수집된 트랜잭션을 해당 블록에 기록하여 저장하는 처리를 반복 수행함으로써 블록체인을 생성하되, 사용자 단말로부터 전송되는 현재 시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 블록체인에 저장하는 단계; 및The e-mail reception / transmission server collects transactions of the send / receive e-mails transmitted from the user terminal, performs a verification operation on the transactions according to the generation policy cycle, generates blocks and records the collected transactions in the corresponding blocks Storing a transaction including a current time, an encrypted and a non-encrypted hash value transmitted from a user terminal in a block chain; And
    상기 이메일 수발신 증명서버가 이메일 수발신 증명 요청을 받는 경우, 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값이 상기 블록체인의 트랜잭션에 존재하는지를 확인하여서 이메일의 수발신 및 위변조 여부를 증명하는 단계;를 포함하는 것을 특징으로 하는 이메일 수발신 증명 방법.Verifying whether an e-mail has been received and forged or not by checking whether an unencrypted hash value equal to a hash value of the e-mail sending and receiving e-mail exists in the transaction of the block chain when the e-mail sending and receiving server receives the e-mail sending and receiving certificate request; And an authentication server for authenticating the user.
  2. 제1항에 있어서,The method according to claim 1,
    상기 이메일 수발신 증명서버가 개인키 및 공개키의 사용을 위임받기 위한 키 사용 위임 요청 이메일을 사용자 단말에 전송하여 사용자 단말로부터 키 사용 위임 허락 이메일을 수신함과 아울러 사용자 단말의 개인키 및 공개키를 수신하여 자체에 저장하는 처리를 수행함으로써 개인키 및 공개키의 사용 위임을 받는 단계를 더 포함하는 것을 특징으로 하는 이메일 수발신 증명방법.The e-mail reception / distribution server transmits to the user terminal a key use delegation request e-mail request for delegating use of the private key and the public key to receive the key use delegation permission e-mail from the user terminal and receives the private key and the public key of the user terminal And receiving the delegation of use of the private key and the public key by performing the process of storing the private key and the public key in the private key.
  3. 제1항에 있어서,The method according to claim 1,
    상기 이메일 수발신 증명서버가, 블록체인의 트랜잭션들로부터 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 사용자 단말의 공개키에 의해 복호화하여서 획득한 해시값과, 상기 검색해낸 비암호화한 해시값과, 수발신 증명 대상 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 이메일의 진위를 규명하는 단계를 더 포함하는 것을 특징으로 하는 이메일 수발신 증명 방법.The e-mail reception and delivery server retrieves from the transactions in the block chain an unencrypted hash value equal to the hash value of the send and receive e-mail, and transmits the encrypted hash value existing in the retrieved transaction to the user terminal It is confirmed whether or not the hash value obtained by decrypting by the public key of the received e-mail is identical to the hash value of the returned and received e-mail, Further comprising confirming the fact that the e-mail to be verified is present and verified that the e-mail to be verified has not been altered and has not been tampered with.
  4. 제2항에 있어서,3. The method of claim 2,
    상기 이메일 수발신 증명서버가 상기 키 사용 위임 요청 이메일 전체를 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 블록체인에 저장하는 단계;The e-mail reception / rescue certificate server obtains a non-encrypted hash value by converting the entire e-mail requesting e-mail request e-mail to a hash value and acquires an encrypted hash value by encrypting the corresponding non-encrypted hash value with its own private key, Generating a transaction including a time, a corresponding encrypted and a non-encrypted hash value, and storing the generated transaction in a block chain;
    상기 이메일 수발신 증명서버가 상기 키 사용 위임 요청 이메일에 대한 수발신 증명 요청을 받는 경우, 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값과 동일한 비암호화한 해시값이 상기 블록체인의 트랜잭션에 존재하는지를 확인하여서 키 사용 위임 요청 이메일의 수발신 및 위변조 여부를 증명하는 단계; 및When the e-mail reception / delivery server receives the request for call origination of the key use delegation request e-mail, it checks whether a non-encrypted hash value equal to the hash value of the call origination request key use request e-mail exists in the transaction of the block chain Verifying whether the key use delegation request e-mail is received and forged or falsified; And
    상기 이메일 수발신 증명서버가 블록체인의 트랜잭션들로부터 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 자체 공개키에 의해 복호화하여서 획득한 해시값과, 상기 검색해낸 비암호화한 해시값과, 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 키 사용 위임 요청 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 키 사용 위임 요청 이메일의 진위를 규명하는 단계;를 더 포함하는 것을 특징으로 하는 이메일 수발신 증명 방법.The e-mail reception and delivery server retrieves from the transactions in the block chain an unencrypted hash value that is the same as the hash value of the send / receive target key use request e-mail, and the corresponding non-encrypted hash value is the encrypted hash value By confirming whether the hash value obtained by decrypting the received e-mail by using the self-public key, the hash value of the retrieved non-encrypted hash value, and the hash value of the withdrawal verification target key use request e-mail are all included in the retrieved transaction And confirming the authenticity of the caller ID key request delegation request e-mail by confirming the fact that the call agent delegation request e-mail is present at the present time, Method of proof of receipt.
  5. 이메일 보안장비가 사용자 단말의 이메일 수발신시에 메일 수발신 트랜잭션 생성 에이전트에 의하여 해당 수발신 이메일의 트랜잭션을 생성하되, 수발신 메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 위임받은 사용자 단말의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 이메일 수발신 증명서버에 전송하는 단계;The e-mail security apparatus generates a transaction of the send / receive e-mail by the mail send / receive transaction generation agent at the time of e-mail reception of the user terminal, converts the send and receive mails into a hash value to obtain a non-encrypted hash value, Encrypting the corresponding non-encrypted hash value to obtain a hash value encrypted and generating a transaction including the current time, the encrypted and the non-encrypted hash value, and transmitting the generated transaction to the e-mail receipt authentication server;
    상기 이메일 수발신 증명서버가 이메일 보안장비로부터 전송되는 수발신 이메일의 트랜잭션을 수집하여 생성 정책 주기에 따라 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성하고 해당 수집된 트랜잭션을 해당 블록에 기록하여 저장하는 처리를 반복 수행함으로써 블록체인을 생성하되, 이메일 보안장비로부터 전송되는 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 블록체인에 저장하는 단계; 및The e-mail reception / transmission server collects transactions of the send / receive e-mails transmitted from the e-mail security apparatus, performs a verification operation on the transactions according to the generation policy cycle, generates blocks, records the collected transactions in the corresponding blocks, Storing in a block chain a transaction that includes a current time, encrypted and unencrypted hash values generated from the email security appliance by generating a block chain by iterating; And
    상기 이메일 수발신 증명서버가 이메일 수발신 증명 요청을 받는 경우, 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값이 상기 블록체인의 트랜잭션에 존재하는지를 확인하여서 이메일의 수발신 및 위변조 여부를 증명하는 단계;를 포함하는 것을 특징으로 하는 이메일 수발신 증명 방법.Verifying whether an e-mail has been received and forged or not by checking whether an unencrypted hash value equal to a hash value of the e-mail sending and receiving e-mail exists in the transaction of the block chain when the e-mail sending and receiving server receives the e-mail sending and receiving certificate request; And an authentication server for authenticating the user.
  6. 제5항에 있어서,6. The method of claim 5,
    상기 이메일 보안장비가 개인키 및 공개키의 사용을 위임받기 위한 키 사용 위임 요청 이메일을 사용자 단말에 전송하여 사용자 단말로부터 개인키 및 공개키를 포함하는 키 사용 위임 허락 이메일을 수신하여 자체에 저장함과 아울러 이메일 수발신 증명서버에 제공하여 저장시키는 처리를 수행함으로써 개인키 및 공개키의 사용 위임을 받는 단계를 더 포함하는 것을 특징으로 하는 이메일 수발신 증명 방법.The e-mail security apparatus transmits a key use delegation request e-mail request for delegating use of the private key and the public key to the user terminal, receives the key use delegation permission e-mail including the private key and the public key from the user terminal, Further comprising the step of receiving and delegating the use of the private key and the public key by performing a process of providing the e-mail message to the e-mail receiving and delivering server and storing the e-mail message.
  7. 제5항에 있어서,6. The method of claim 5,
    상기 이메일 수발신 증명서버가, 블록체인의 트랜잭션들로부터 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 사용자 단말의 공개키에 의해 복호화하여서 획득한 해시값과, 상기 검색해낸 비암호화한 해시값과, 수발신 증명 대상 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 이메일의 진위를 규명하는 단계를 더 포함하는 것을 특징으로 하는 이메일 수발신 증명 방법.The e-mail reception and delivery server retrieves from the transactions in the block chain an unencrypted hash value equal to the hash value of the send and receive e-mail, and transmits the encrypted hash value existing in the retrieved transaction to the user terminal It is confirmed whether or not the hash value obtained by decrypting by the public key of the received e-mail is identical to the hash value of the returned and received e-mail, Further comprising confirming the fact that the e-mail to be verified is present and verified that the e-mail to be verified has not been altered and has not been tampered with.
  8. 제6항에 있어서,The method according to claim 6,
    상기 이메일 보안장비가 상기 키 사용 위임 요청 이메일 전체를 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 생성한 해당 사용자 단말의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 이메일 수발신 증명서버에 제공하여 이메일 수발신 증명서버에 의해 트랜잭션을 블록체인에 저장하는 단계;The e-mail security apparatus converts the whole key use delegation request e-mail into a hash value to obtain a non-encrypted hash value, and encrypts the corresponding non-encrypted hash value with a self- Generating a transaction including the current time, the encrypted and the non-encrypted hash value, and providing the transaction to the e-mail receipt authentication server to store the transaction in the block chain by the e-mail receipt authentication server;
    상기 이메일 수발신 증명서버가 상기 키 사용 위임 요청 이메일에 대한 수발신 증명 요청을 받는 경우, 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값과 동일한 비암호화한 해시값이 상기 블록체인의 트랜잭션에 존재하는지를 확인하여서 키 사용 위임 요청 이메일의 수발신 및 위조여부를 증명하는 단계; 및When the e-mail reception / delivery server receives the request for call origination of the key use delegation request e-mail, it checks whether a non-encrypted hash value equal to the hash value of the call origination request key use request e-mail exists in the transaction of the block chain Verifying whether the key use delegation request e-mail is received and forged; And
    상기 이메일 수발신 증명서버가 블록체인의 트랜잭션들로부터 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 상기 이메일 보안장비에 의해 자체 생성한 해당 사용자 단말의 공개키로 복호화하여서 획득한 해시값과, 상기 검색해낸 비암호화한 해시값과, 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 키 사용 위임 요청 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 키 사용 위임 요청 이메일의 진위를 규명하는 단계;를 더 포함하는 것을 특징으로 하는 이메일 수발신 증명 방법.The e-mail reception and delivery server retrieves from the transactions in the block chain an unencrypted hash value that is the same as the hash value of the send / receive target key use request e-mail, and the corresponding non-encrypted hash value is the encrypted hash value The hash value obtained by decrypting the hash value obtained by decrypting the hash value with the public key of the corresponding user terminal generated by the e-mail security device, the hash value of the retrieved non-encrypted hash value, Identification of the authenticity of the caller ID key request delegation request e-mail by verifying that the call key request delegation request e-mail is present at the current time included in the transaction in which the e-mail was found, Further comprising: &lt; RTI ID = 0.0 &gt; Subalsin way proved.
  9. 이메일 수발신 증명서버가 사용자 단말의 이메일 수발신시에 메일 수발신 트랜잭션 생성 에이전트에 의해 해당 수발신 이메일을 해시값으로 변환하여 트랜잭션을 생성하되, 수발신 메일을 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 사용자 단말의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하는 단계;When the e-mail reception and delivery server generates and transmits e-mail to and from the user terminal, converts the received and received e-mails into hash values by the mails send and receive transaction generation agent to generate transactions and acquires non-encrypted hash values by converting received mails into hash values Encrypting the corresponding non-encrypted hash value with a private key of the user terminal to obtain an encrypted hash value, and generating a transaction including the current time, the encrypted and the non-encrypted hash value;
    상기 이메일 수발신 증명서버가 생성된 수발신 이메일의 트랜잭션을 수집하여 생성 정책 주기에 따라 트랜잭션에 대한 검증작업을 수행하여서 블록을 생성하고 해당 수집된 트랜잭션을 해당 블록에 기록하여 저장하는 처리를 반복 수행함으로써 블록체인을 생성하되, 현재시간, 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 블록체인에 저장하는 단계; 및The e-mail reception / delivery server collects the transaction of the generated sending / receiving e-mail, performs a verification operation on the transaction according to the generation policy period, generates a block, and records the collected transaction in the corresponding block and repeats the processing. Storing a transaction in a block chain, the transaction including a current time, an encrypted and a non-encrypted hash value; And
    상기 이메일 수발신 증명서버가 이메일 수발신 증명 요청을 받는 경우, 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값이 상기 블록체인의 트랜잭션에 존재하는지를 확인하여서 이메일의 수발신 및 위변조 여부를 증명하는 단계;를 포함하는 것을 특징으로 하는 이메일 수발신 증명 방법.Verifying whether an e-mail has been received and forged or not by checking whether an unencrypted hash value equal to a hash value of the e-mail sending and receiving e-mail exists in the transaction of the block chain when the e-mail sending and receiving server receives the e-mail sending and receiving certificate request; And an authentication server for authenticating the user.
  10. 제9항에 있어서,10. The method of claim 9,
    상기 이메일 수발신 증명서버가 개인키 및 공개키의 사용을 위임받기 위한 키 사용 위임 요청 이메일을 사용자 단말에 전송하여 사용자 단말로부터 키 사용 위임 허락 이메일을 수신함과 아울러 사용자 단말의 개인키 및 공개키를 수신하여 자체에 저장하는 처리를 수행함으로써 개인키 및 공개키의 사용 위임을 받는 단계를 더 포함하는 것을 특징으로 하는 이메일 수발신 증명 방법.The e-mail reception / distribution server transmits to the user terminal a key use delegation request e-mail request for delegating use of the private key and the public key to receive the key use delegation permission e-mail from the user terminal and receives the private key and the public key of the user terminal And receiving the delegation of use of the private key and the public key by performing the process of storing the private key and the public key in the private key.
  11. 제9항에 있어서,10. The method of claim 9,
    상기 이메일 수발신 증명서버가, 블록체인의 트랜잭션들로부터 수발신 증명 대상 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 사용자 단말의 공개키에 의해 복호화하여서 획득한 해시값과, 상기 검색해낸 비암호화한 해시값과, 수발신 증명 대상 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 이메일의 진위를 규명하는 단계를 더 포함하는 것을 특징으로 하는 이메일 수발신 증명 방법.The e-mail reception and delivery server retrieves from the transactions in the block chain an unencrypted hash value equal to the hash value of the send and receive e-mail, and transmits the encrypted hash value existing in the retrieved transaction to the user terminal It is confirmed whether or not the hash value obtained by decrypting by the public key of the received e-mail is identical to the hash value of the returned and received e-mail, Further comprising confirming the fact that the e-mail to be verified is present and verified that the e-mail to be verified has not been altered and has not been tampered with.
  12. 제10항에 있어서,11. The method of claim 10,
    상기 이메일 수발신 증명서버가 상기 키 사용 위임 요청 이메일 전체를 해시값으로 변환하여 비암호화한 해시값을 획득함과 아울러, 자체 생성한 해당 사용자 단말의 개인키로 해당 비암호화 해시값을 암호화시켜 암호화한 해시값을 획득하여서, 현재시간, 해당 암호화 및 비암호화한 해시값을 포함하는 트랜잭션을 생성하여 블록체인에 저장하는 단계;The e-mail reception / rescue authentication server obtains a non-encrypted hash value by converting the whole e-mail requesting e-mail request to a hash value, and encrypts the corresponding non-encrypted hash value with a self- And generating a transaction including the current time, the encrypted and the non-encrypted hash value, and storing the transaction in a block chain;
    상기 이메일 수발신 증명서버가 상기 키 사용 위임 요청 이메일에 대한 수발신 증명 요청을 받는 경우, 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값과 동일한 비암호화한 해시값이 상기 블록체인의 트랜잭션에 존재하는지를 확인하여서 키 사용 위임 요청 이메일의 수발신 및 위변조 여부를 증명하는 단계; 및When the e-mail reception / delivery server receives the request for call origination of the key use delegation request e-mail, it checks whether a non-encrypted hash value equal to the hash value of the call origination request key use request e-mail exists in the transaction of the block chain Verifying whether the key use delegation request e-mail is received and forged or falsified; And
    상기 이메일 수발신 증명서버가 블록체인의 트랜잭션들로부터 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값과 동일한 비암호화한 해시값을 검색해내고, 해당 비암호화한 해시값이 검색된 트랜잭션에 존재하는 암호화한 해시값을 자체 생성한 해당 사용자 단말의 공개키에 의해 복호화하여서 획득한 해시값과, 상기 검색해낸 비암호화한 해시값과, 수발신 증명 대상 키 사용 위임 요청 이메일의 해시값이, 모두 일치하는지를 확인함으로써, 해당 이메일이 검색된 트랜잭션에 포함된 현재시간에 수발신 증명 대상 키 사용 위임 요청 이메일이 존재함과 아울러 수발신되고 변조되지 않았다는 사실을 확인시켜서 수발신 증명 대상 키 사용 위임 요청 이메일의 진위를 규명하는 단계;를 더 포함하는 것을 특징으로 하는 이메일 수발신 증명 방법.The e-mail reception and delivery server retrieves from the transactions in the block chain an unencrypted hash value that is the same as the hash value of the send / receive target key use request e-mail, and the corresponding non-encrypted hash value is the encrypted hash value By confirming whether or not the hash value obtained by decrypting the hash value obtained by decrypting by using the public key of the corresponding user terminal that has been generated by itself, the hash value of the retrieved non-encrypted hash value, And confirming the fact that the call originating delegate key request delegation request e-mail is present at the current time included in the transaction in which the e-mail is searched and that the call is delegated and not tampered, thereby identifying the authenticity of the call key delegation request e-mail Wherein the e-mail receiving /
  13. 제1항 내지 제12항 중의 어느 한 항에 기재된 이메일 수발신 증명 방법을 구현하기 위한 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체.A computer-readable recording medium having stored thereon a program for implementing the e-mail withdrawal method according to any one of claims 1 to 12.
  14. 제1항 내지 제12항 중의 어느 한 항에 기재된 이메일 수발신 증명 방법을 구현하기 위해 컴퓨터로 판독 가능한 기록매체에 저장된 프로그램.A program stored in a computer-readable recording medium for implementing the method for verifying email receipt according to any one of claims 1 to 12.
PCT/KR2018/001637 2017-07-05 2018-02-07 E-mail delivery/receipt verification method, recording medium in which program for implementing same is stored and program for implementing same, stored in recording medium WO2019009492A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170085280A KR101837000B1 (en) 2017-07-05 2017-07-05 Method for proving e-mail transmission/reception and recording medium storing program for executing the same, and program stored in recording medium for executing the same
KR10-2017-0085280 2017-07-05

Publications (1)

Publication Number Publication Date
WO2019009492A1 true WO2019009492A1 (en) 2019-01-10

Family

ID=61728819

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/001637 WO2019009492A1 (en) 2017-07-05 2018-02-07 E-mail delivery/receipt verification method, recording medium in which program for implementing same is stored and program for implementing same, stored in recording medium

Country Status (2)

Country Link
KR (1) KR101837000B1 (en)
WO (1) WO2019009492A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110351258A (en) * 2019-06-28 2019-10-18 太原理工大学 A kind of distributed electronic mailbox system based on no coin block chain technology
CN112258192A (en) * 2020-09-15 2021-01-22 山东鲁能软件技术有限公司 Mail confirmation method and device based on block chain wallet address
KR102240540B1 (en) * 2019-11-25 2021-04-15 (주)이썸테크 Email transceive system based on blockchain system for high reliability document distribution
CN113890743A (en) * 2021-10-04 2022-01-04 杭州复杂美科技有限公司 Block chain retrieval private key generation and asset retrieval method, equipment and storage medium
GB2622833A (en) * 2022-09-29 2024-04-03 Nchain Licensing Ag Blockchain based read receipt

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102117867B1 (en) * 2018-06-01 2020-06-09 고성현 System for smart postal things and the method thereof
KR102003272B1 (en) * 2019-04-10 2019-10-01 (주)지란지교시큐리티 Computer readable recording medium on which program for preventing scam mail based on block-chain is recorded, and system of preventing scam mail based on block-chain
CN110351185A (en) * 2019-06-28 2019-10-18 太原理工大学 A kind of distributed electronic mailbox system based on block chain technology
KR102389465B1 (en) * 2020-02-28 2022-04-22 한양대학교 산학협력단 Apparatus and method for generating block chain
CN113469799B (en) * 2020-03-30 2023-07-25 腾讯科技(深圳)有限公司 Loan qualification determining method, device, equipment and storage medium
KR102605368B1 (en) * 2021-06-24 2023-11-23 삼정데이타서비스 주식회사 Method and server for verifying authenticity of mail
KR102455172B1 (en) 2022-07-12 2022-10-17 주식회사 디버 Server, method and program that provides office services using a virtual address in the metaverse

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030012165A (en) * 2001-07-30 2003-02-12 쓰리알소프트(주) System for providing service to transmit and receive document based on e-mail system and method thereof
JP2004200937A (en) * 2002-12-17 2004-07-15 Fuji Xerox Co Ltd Electronic mail server apparatus and electronic mail relay processing method
KR20050078402A (en) * 2004-01-29 2005-08-05 (주)드림투리얼리티 A system for verifying forged electronic documents of electronic document and a method using thereof
KR101661933B1 (en) * 2015-12-16 2016-10-05 주식회사 코인플러그 Ccertificate authentication system and method based on block chain
KR20170040079A (en) * 2016-05-03 2017-04-12 안규태 Block chain supporting multiple one-way functions used for verification of blocks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030012165A (en) * 2001-07-30 2003-02-12 쓰리알소프트(주) System for providing service to transmit and receive document based on e-mail system and method thereof
JP2004200937A (en) * 2002-12-17 2004-07-15 Fuji Xerox Co Ltd Electronic mail server apparatus and electronic mail relay processing method
KR20050078402A (en) * 2004-01-29 2005-08-05 (주)드림투리얼리티 A system for verifying forged electronic documents of electronic document and a method using thereof
KR101661933B1 (en) * 2015-12-16 2016-10-05 주식회사 코인플러그 Ccertificate authentication system and method based on block chain
KR20170040079A (en) * 2016-05-03 2017-04-12 안규태 Block chain supporting multiple one-way functions used for verification of blocks

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110351258A (en) * 2019-06-28 2019-10-18 太原理工大学 A kind of distributed electronic mailbox system based on no coin block chain technology
KR102240540B1 (en) * 2019-11-25 2021-04-15 (주)이썸테크 Email transceive system based on blockchain system for high reliability document distribution
CN112258192A (en) * 2020-09-15 2021-01-22 山东鲁能软件技术有限公司 Mail confirmation method and device based on block chain wallet address
CN112258192B (en) * 2020-09-15 2023-07-28 山东鲁能软件技术有限公司 Mail confirmation method and device based on blockchain wallet address
CN113890743A (en) * 2021-10-04 2022-01-04 杭州复杂美科技有限公司 Block chain retrieval private key generation and asset retrieval method, equipment and storage medium
GB2622833A (en) * 2022-09-29 2024-04-03 Nchain Licensing Ag Blockchain based read receipt

Also Published As

Publication number Publication date
KR101837000B1 (en) 2018-03-12

Similar Documents

Publication Publication Date Title
WO2019009492A1 (en) E-mail delivery/receipt verification method, recording medium in which program for implementing same is stored and program for implementing same, stored in recording medium
US6389533B1 (en) Anonymity server
EP1394982B1 (en) Methods and apparatus for secure data communication links
US7580980B2 (en) Email system restoring recipient identifier based on identifier-for-disclosure for establishing communication between sender and recipient
US7542569B1 (en) Security of data connections
WO2014069778A1 (en) Id-based encryption and decryption method, and apparatus for executing same
US5216715A (en) Key distribution in public communication networks taking account of security gradations
US8694789B2 (en) System and method for generating a non-repudiatable record of a data stream
WO2019132272A1 (en) Id as blockchain based service
US8683194B2 (en) Method and devices for secure communications in a telecommunications network
US8274401B2 (en) Secure data transfer in a communication system including portable meters
US8060742B2 (en) Method and apparatus for secure communications
US8370630B2 (en) Client device, mail system, program, and recording medium
WO2012093900A2 (en) Method and device for authenticating personal network entity
EP1493243B1 (en) Secure file transfer
WO2017119668A1 (en) Data transmission apparatus and method enabling non-repudiation for transmission message
CN112929339B (en) Message transmitting method for protecting privacy
WO2015178597A1 (en) System and method for updating secret key using puf
WO2020067734A1 (en) Non-address network equipment and communication security system using same
WO2017111202A1 (en) Method for context-based security in internet-of-things environment and system based thereon
WO2015026183A1 (en) Offline log-in method using sw token and mobile device employing said method
CN114301612A (en) Information processing method, communication apparatus, and encryption apparatus
WO2022114318A1 (en) Electronic mail management method and device
WO2020005047A1 (en) Digital re-signing method for supporting various digital signature algorithms in secure sockets layer decryption apparatus
WO2021075604A1 (en) Method and device for transmitting inheritance data

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: 18828444

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18828444

Country of ref document: EP

Kind code of ref document: A1