KR102605368B1 - Method and server for verifying authenticity of mail - Google Patents

Method and server for verifying authenticity of mail Download PDF

Info

Publication number
KR102605368B1
KR102605368B1 KR1020210082187A KR20210082187A KR102605368B1 KR 102605368 B1 KR102605368 B1 KR 102605368B1 KR 1020210082187 A KR1020210082187 A KR 1020210082187A KR 20210082187 A KR20210082187 A KR 20210082187A KR 102605368 B1 KR102605368 B1 KR 102605368B1
Authority
KR
South Korea
Prior art keywords
mail
authenticity
server
authentication
verification
Prior art date
Application number
KR1020210082187A
Other languages
Korean (ko)
Other versions
KR20230000149A (en
Inventor
김성환
오충용
Original Assignee
삼정데이타서비스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼정데이타서비스 주식회사 filed Critical 삼정데이타서비스 주식회사
Priority to KR1020210082187A priority Critical patent/KR102605368B1/en
Publication of KR20230000149A publication Critical patent/KR20230000149A/en
Application granted granted Critical
Publication of KR102605368B1 publication Critical patent/KR102605368B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

메일의 진위를 검증하는 방법 및 그 서버가 제공된다. 이 방법은, 메일 서버로부터 수신한 발신 메일로부터 상기 발신 메일의 진위 여부를 확인할 수 있는 고유 정보를 추출하는 단계, 상기 추출한 고유 정보와 상기 발신 메일의 식별 정보를 포함하는 검증 데이터를 블록체인 네트워크에 배포하는 단계, 사용자 단말로부터 수신 메일의 진위 확인 요청을 수신하는 단계, 상기 수신 메일의 식별 정보에 대응하는 검증 데이터를 상기 블록체인 네트워크에게 요청하는 단계, 상기 블록체인 네트워크로부터 수신한 검증 데이터로부터 획득한 고유 정보를 상기 수신 메일로부터 추출한 고유 정보와 일치하는지 비교하여, 상기 수신 메일이 상기 발신 메일과 동일한지 진위 여부를 판단하는 단계, 그리고 상기 진위 여부를 판단한 결과를 포함하는 진위 확인 응답을 상기 사용자 단말에게 전송하는 단계를 포함한다.A method and server for verifying the authenticity of an email are provided. This method includes extracting unique information that can confirm the authenticity of the outgoing mail from an outgoing mail received from a mail server, and sending verification data including the extracted unique information and identification information of the outgoing mail to a blockchain network. Distributing, receiving a request to confirm the authenticity of the received mail from the user terminal, requesting verification data corresponding to the identification information of the received mail from the blockchain network, obtaining verification data received from the blockchain network determining whether the received mail is the same as the sent mail by comparing whether the unique information matches the unique information extracted from the received mail, and sending an authenticity confirmation response including the result of determining the authenticity to the user. It includes the step of transmitting to the terminal.

Description

메일의 진위를 검증하는 방법 및 그 서버{METHOD AND SERVER FOR VERIFYING AUTHENTICITY OF MAIL}Method for verifying the authenticity of mail and its server {METHOD AND SERVER FOR VERIFYING AUTHENTICITY OF MAIL}

본 발명은 메일의 진위(眞僞)를 검증하는 방법 및 그 서버에 관한 것이다.The present invention relates to a method and server for verifying the authenticity of an email.

기존의 메일 시스템은 송수신되는 메일의 해시(hash)값을 블록체인 네트워크에 저장하여 메일의 송수신 증명을 위한 데이터로 사용한다. 메일 송수신자는 비밀키와 공개키를 이용한 인증 절차를 통하여 메일 시스템의 증명 서버에게 메일의 기록 증명을 요청한다. 그러면, 증명 서버는 요청된 메일과 저장된 메일 각각의 해시값을 비교하여 진위 여부를 확인하고, 그 결과를 반환한다. The existing mail system stores the hash value of sent and received mail in the blockchain network and uses it as data to prove sending and receiving mail. The mail sender and receiver request mail record verification from the mail system's authentication server through an authentication procedure using a private key and a public key. Then, the authentication server compares the hash value of each requested email and the stored email to check its authenticity and returns the result.

그러나 종래의 메일 송수신 증명 방식은 비밀키와 공개키와 같은 인증서를 배포하거나 또는 발급받기 위해 각각의 개별적인 서버에 인증 절차를 포함한 가입 절차를 통하여 가입을 수행하여야 한다. 그런데, 인증을 위해 개인키와 공용키를 사용하는 경우, 이를 관리하기 어려운 문제가 있다. 또한, 인증 과정이 복잡하여 사용성이 떨어진다.However, the conventional mail transmission/reception verification method requires signing up through a subscription process including an authentication process at each individual server in order to distribute or issue certificates such as private keys and public keys. However, when using private keys and public keys for authentication, there is a problem that it is difficult to manage them. Additionally, the authentication process is complicated, which reduces usability.

또한, 종래의 메일 송수신 증명 방식은 메일 발송자의 시스템에 종속되므로, 폐쇄형 네트워크로 구현이 한정되는 문제점이 있다. 즉, 폐쇄적인 구조로 인하여 외부 사용자가 참여하는데 제약이 있다. 왜냐하면, 원본 인증을 제공하는 메일 서버에 가입해야 하므로, 가입된 메일 서버에 계정이 있는 사용자들만 서비스를 이용할 수 있다. 따라서, 해당 메일 서버가 아닌 외부 메일 서버에서 수신되는 메일에 대해서는 원본 인증이 이루어질 수 없다.In addition, the conventional mail transmission/reception verification method is dependent on the mail sender's system, so there is a problem that implementation is limited to a closed network. In other words, there are restrictions on the participation of external users due to the closed structure. Because you must subscribe to a mail server that provides original authentication, only users who have an account on the subscribed mail server can use the service. Therefore, original authentication cannot be performed for mail received from an external mail server other than the corresponding mail server.

또한, 원본을 저장하는 노드가 높은 하드웨어 사양을 가져야 하는 문제가 있다. 노드가 원장 비교 과정을 통해 비교 결과를 응답하는 절차를 가지고, 원장 비교 과정을 통해 비교 결과를 응답하는 절차를 가지는 종래에는 노드도 검증 작업 수행을 위해 일정 수준 이상의 처리 능력을 요구 받게 되어 노드 참여에 대한 장벽으로 작용하고, 재배포를 수행하는 과정이 존재하여 네트워크가 복잡해 지는 문제점이 있다. Additionally, there is a problem that the node that stores the original must have high hardware specifications. Conventionally, nodes have a procedure for responding to comparison results through a ledger comparison process, and nodes have a procedure for responding to comparison results through a ledger comparison process. In order to perform verification work, nodes are also required to have a certain level of processing power, so node participation is required. There is a problem that the network becomes complicated because it acts as a barrier to the network and there is a redistribution process.

해결하고자 하는 과제는 원본 진위 검증 대상인 메일을 블록체인 네트워크에 분산 처리함으로써 메일을 안전하게 보호하고, 일회용 인증 방식을 적용하고 메일의 발신자/수신자 계정을 사용하여 사용자 인증을 수행함으로써 복잡한 인증 절차와 가입을 요구하지 않는 개방형 구조를 가지며, 원본의 위변조 등의 요인을 차단하기 위해 암호화 처리된 해시값을 이용하여 원본의 진위를 검증하는 방법 및 그 서버를 제공하는 것이다.The task to be solved is to safely protect mail by distributing mail, which is the subject of original authenticity verification, on a blockchain network, and to avoid complex authentication procedures and sign-ups by applying a one-time authentication method and performing user authentication using the sender/recipient account of the mail. It has an open structure that does not require any requests, and provides a method and server for verifying the authenticity of the original using an encrypted hash value to block factors such as forgery and alteration of the original.

한 특징에 따르면, 메일 진위 검증 서버의 동작 방법으로서, 메일 서버로부터 수신한 발신 메일로부터 상기 발신 메일의 진위 여부를 확인할 수 있는 고유 정보를 추출하는 단계, 상기 추출한 고유 정보와 상기 발신 메일의 식별 정보를 포함하는 검증 데이터를 블록체인 네트워크에 배포하는 단계, 사용자 단말로부터 수신 메일의 진위 확인 요청을 수신하는 단계, 상기 수신 메일의 식별 정보에 대응하는 검증 데이터를 상기 블록체인 네트워크에게 요청하는 단계, 상기 블록체인 네트워크로부터 수신한 검증 데이터로부터 획득한 고유 정보를 상기 수신 메일로부터 추출한 고유 정보와 일치하는지 비교하여, 상기 수신 메일이 상기 발신 메일과 동일한지 진위 여부를 판단하는 단계, 그리고 상기 진위 여부를 판단한 결과를 포함하는 진위 확인 응답을 상기 사용자 단말에게 전송하는 단계를 포함한다.According to one feature, a method of operating a mail authenticity verification server includes extracting unique information that can confirm the authenticity of the outgoing mail from an outgoing mail received from a mail server, the extracted unique information and identification information of the outgoing mail. Distributing verification data including to the blockchain network, receiving a request to confirm the authenticity of the received mail from the user terminal, requesting verification data corresponding to the identification information of the received mail from the blockchain network, Comparing the unique information obtained from the verification data received from the blockchain network to see if it matches the unique information extracted from the received mail, determining whether the received mail is the same as the sent mail, and determining whether the received mail is authentic. and transmitting an authenticity confirmation response including a result to the user terminal.

상기 배포하는 단계는, 상기 블록체인 네트워크를 구성하는 복수의 블록체인 노드 중에서 선별한 적어도 하나의 블록체인 노드에게 상기 검증 데이터를 동시에 배포할 수 있다.In the distributing step, the verification data may be simultaneously distributed to at least one blockchain node selected from among a plurality of blockchain nodes constituting the blockchain network.

상기 고유 정보는, 상기 발신 메일로부터 생성된 해시값일 수 있다.The unique information may be a hash value generated from the outgoing mail.

상기 식별 정보는, 상기 발신 메일의 발신자 계정, 수신자 계정 및 제목을 포함할 수 있다.The identification information may include the sender's account, recipient's account, and title of the outgoing mail.

상기 발신 메일은, 상기 메일 서버에 메일 진위 검증 서비스 이용자로 등록된 메일 계정에 의해 발신되는 경우, 상기 메일 진위 검증 서버의 메일 계정이 발신 메일의 참조 계정으로 포함되어 상기 메일 서버로부터 수신될 수 있다.When the outgoing mail is sent by a mail account registered as a mail authenticity verification service user in the mail server, the mail account of the mail authenticity verification server may be included as a reference account of the outgoing mail and received from the mail server. .

상기 수신하는 단계와 상기 요청하는 단계 사이에, 상기 사용자 단말의 메일 계정이 상기 수신 메일의 수신자 계정과 일치하는지 판단하는 계정 유효성 인증을 수행하는 단계를 더 포함하고, 상기 요청하는 단계는, 상기 계정 유효성 인증에 성공하면, 상기 검증 데이터를 요청할 수 있다.Between the receiving step and the requesting step, it further includes the step of performing account validity authentication to determine whether the mail account of the user terminal matches the recipient account of the received mail, and the requesting step includes: If validity authentication is successful, the verification data can be requested.

상기 수신하는 단계와 상기 요청하는 단계 사이에, 상기 사용자 단말이 제공한 사용자의 인증 단말로 OTP(One Time Password)를 전송하고, 상기 사용자 단말로부터 입력받은 OTP가 전송한 OTP와 일치하는지 판단하는 사용자 인증을 수행하는 단계를 더 포함하고, 상기 요청하는 단계는, 상기 계정 유효성 인증 및 상기 사용자 인증에 모두 성공하면, 상기 검증 데이터를 요청할 수 있다.Between the receiving step and the requesting step, the user transmits an OTP (One Time Password) to the user's authentication terminal provided by the user terminal, and determines whether the OTP input from the user terminal matches the transmitted OTP. It may further include performing authentication, and the requesting step may request the verification data if both the account validity authentication and the user authentication are successful.

상기 추출하는 단계 이전에, 서버의 하드웨어 정보를 이용한 기기 인증 및 OTP(One Time Password)를 이용한 신원 인증을 통해 상기 서버를 블록체인 노드로 참여시키기 위한 노드 등록을 수행하는 단계를 더 포함할 수 있다.Before the extracting step, a node registration step may be further included to enable the server to participate as a blockchain node through device authentication using hardware information of the server and identity authentication using OTP (One Time Password). .

다른 특징에 따르면, 메일 진위 검증 서버는 통신 장치, 메일 진위 검증 프로그램이 저장된 메모리, 상기 프로그램을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 프로그램은, 사용자 단말로부터 수신 메일의 진위 확인 요청이 수신되면, 상기 수신 메일의 식별 정보에 대응하는 검증 데이터를 블록체인 네트워크에 요청하여 수신하고, 상기 수신한 검증 데이터로부터 추출한 고유 정보와 상기 수신 메일로부터 추출한 고유 정보를 비교하여 일치하면 상기 수신 메일이 원본임을 인증하고, 상기 수신 메일이 원본임을 나타내는 인증 결과를 포함하는 진위 확인 응답을 상기 사용자 단말로 전송하는 명령어들(Instructions)을 포함한다.According to another feature, the mail authenticity verification server includes a communication device, a memory storing a mail authenticity verification program, and at least one processor executing the program, wherein the program is configured to: , request and receive verification data corresponding to the identification information of the received mail from the blockchain network, compare the unique information extracted from the received verification data with the unique information extracted from the received mail, and if they match, the received mail is the original. Includes instructions for authenticating and transmitting an authenticity confirmation response including an authentication result indicating that the received mail is the original to the user terminal.

상기 프로그램은, 메일 서버로부터 수신한 발신 메일로부터 상기 발신 메일의 진위 여부를 확인할 수 있는 고유 정보를 추출하고, 상기 추출한 고유 정보와 상기 발신 메일의 식별 정보를 포함하는 검증 데이터를 블록체인 네트워크에 배포하는 명령어들을 추가로 포함할 수 있다.The program extracts unique information that can confirm the authenticity of the outgoing mail from the outgoing mail received from the mail server, and distributes verification data including the extracted unique information and identification information of the outgoing mail to the blockchain network. Additional commands may be included.

상기 프로그램은, 상기 사용자 단말의 메일 계정이 상기 수신 메일의 수신자 계정과 일치하는지 판단하는 계정 유효성 인증을 수행하고, 상기 사용자 단말이 제공한 사용자의 인증 단말로 OTP(One Time Password)를 전송하고, 상기 사용자 단말로부터 입력받은 OTP가 전송한 OTP와 일치하는지 판단하는 사용자 인증을 수행하며, 상기 계정 유효성 인증 및 상기 사용자 인증에 모두 성공하면, 상기 검증 데이터를 요청하는 명령어들을 더 포함할 수 있다.The program performs account validity authentication to determine whether the mail account of the user terminal matches the recipient account of the received mail, and transmits an OTP (One Time Password) to the user's authentication terminal provided by the user terminal, User authentication is performed to determine whether the OTP input from the user terminal matches the transmitted OTP, and if both the account validity authentication and the user authentication are successful, instructions for requesting the verification data may be further included.

실시예에 따르면, 분산 메시징 기술을 활용하여 메일을 분류 및 저장 후 블록체인 네트워크로 배포하여 위변조 요인을 차단할 수 있다.According to the embodiment, distributed messaging technology can be used to classify and store mail and then distribute it to a blockchain network to block factors of forgery and falsification.

또한, 가입이나 복잡한 인증 과정을 최소화한 인증 절차를 구현하여 송/수신된 메일의 원본 인증을 할 수 있는 개방 형태의 메일 시스템을 구현할 수 있다.In addition, it is possible to implement an open mail system that can authenticate the original of sent/received mail by implementing an authentication procedure that minimizes subscription or complicated authentication processes.

또한, 메일 헤더에 송/수신 계정을 인증수단으로 활용하여 발신자/수신자에게만 원본 확인 서비스를 제공하여 불필요한 인증과정으로 인한 불편함을 해결할 수 있다.Additionally, by using the sending/receiving account in the email header as an authentication method, the inconvenience caused by unnecessary authentication processes can be resolved by providing an original verification service only to the sender/recipient.

또한, 메일 서버를 이용하지 않는 외부에서도 참조 수신자에 인증용 계정을 추가하면 가입 절차 없이 동일한 서비스를 제공받을 수 있어 메일 서버에 제약을 받지 않고 이용할 수 있다.In addition, by adding an authentication account to the reference recipients outside of the mail server, you can receive the same service without a registration process, so you can use it without being restricted by the mail server.

또한, 운영자가 데이터를 조작하거나 은닉하는 등의 위변조 작업을 원천적으로 차단할 수 있다.In addition, it is possible to fundamentally block forgery and falsification operations such as operators manipulating or hiding data.

또한, 카프카(Kafka) 분산 처리 시스템과 블록체인을 사용하고 블록체인의 복잡한 인증 방식이 아닌 일회용 인증 기반 기술을 사용함으로써, 인증 절차를 간소화하고 회원 가입을 요구하지 않으면서 모든 메일 송수신자가 서버의 제약을 받지 않고 송수신 기록의 진위를 검증할 수 있다.In addition, by using the Kafka distributed processing system and blockchain, and using one-time authentication-based technology rather than the complex authentication method of blockchain, the authentication process is simplified and all mail senders and recipients are able to access the server without requiring membership registration. You can verify the authenticity of transmission and reception records without receiving any information.

도 1은 실시예에 따른 메일 진위 검증 시스템과 그 주변 구성과의 연결 관계를 도시한다.
도 2는 실시예에 따른 메일의 검증 데이터 배포 과정을 설명하는 흐름도이다.
도 3은 실시예에 따른 메일의 원본 진위 검증 과정을 설명하는 흐름도이다.
도 4는 실시예에 따른 원본 진위 검증 과정에서, 데이터 게이트웨이 모듈과 블록체인 네트워크 간의 통신 과정을 설명한다.
도 5는 실시예에 따른 검증 데이터 배포 과정에서, 데이터 게이트웨이 모듈과 블록체인 네트워크 간의 통신 과정을 설명한다.
도 6은 실시예에 따른 메일 진위 검증 서버의 하드웨어 구성을 나타낸 블록도이다.
Figure 1 shows the connection between a mail authenticity verification system and its surrounding components according to an embodiment.
Figure 2 is a flowchart explaining the process of distributing mail verification data according to an embodiment.
Figure 3 is a flowchart explaining the process of verifying the original authenticity of an email according to an embodiment.
Figure 4 explains the communication process between the data gateway module and the blockchain network in the original authenticity verification process according to the embodiment.
Figure 5 explains the communication process between the data gateway module and the blockchain network in the verification data distribution process according to the embodiment.
Figure 6 is a block diagram showing the hardware configuration of a mail authenticity verification server according to an embodiment.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Below, with reference to the attached drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In order to clearly explain the present invention in the drawings, parts that are not related to the description are omitted, and similar parts are given similar reference numerals throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is said to “include” a certain element, this means that it may further include other elements rather than excluding other elements, unless specifically stated to the contrary.

또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, terms such as “…unit”, “…unit”, and “…module” used in the specification refer to a unit that processes at least one function or operation, which may be implemented through hardware or software or a combination of hardware and software. You can.

본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다. The devices described in the present invention are composed of hardware including at least one processor, a memory device, a communication device, etc., and a program that is executed in conjunction with the hardware is stored in a designated location. The hardware has a configuration and performance capable of executing the method of the present invention. The program includes instructions that implement the operating method of the present invention described with reference to the drawings, and executes the present invention by combining it with hardware such as a processor and memory device.

본 명세서에서 "전송 또는 제공"은 직접적인 전송 또는 제공하는 것 뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.In this specification, “transmission or provision” may include not only direct transmission or provision, but also indirect transmission or provision through another device or by using a circuitous route.

본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.In this specification, expressions described as singular may be interpreted as singular or plural, unless explicit expressions such as “one” or “single” are used.

본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.In this specification, the same reference numbers refer to the same elements regardless of the drawings, and “and/or” includes each and all combinations of one or more of the mentioned elements.

본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. In this specification, terms including ordinal numbers, such as first, second, etc., may be used to describe various components, but the components are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, a first component may be referred to as a second component, and similarly, the second component may be referred to as a first component without departing from the scope of the present disclosure.

본 명세서에서 도면을 참고하여 설명한 실시예들에서, 임의의 실시예로 단독 구현될 수도 있고, 여러 실시예가 병합되거나 분할될 수도 있고, 각 실시예에서 특정 동작은 수행되지 않을 수 있다. In the embodiments described herein with reference to the drawings, any embodiment may be implemented independently, several embodiments may be merged or divided, and specific operations may not be performed in each embodiment.

이제, 도면을 참고하여 실시예에 따른 메일의 진위를 검증하는 방법 및 그 서버에 대하여 설명한다.Now, a method and server for verifying the authenticity of mail according to an embodiment will be described with reference to the drawings.

도 1은 실시예에 따른 메일 진위 검증 시스템과 그 주변 구성과의 연결 관계를 도시한다.Figure 1 shows the connection between a mail authenticity verification system and its surrounding components according to an embodiment.

도 1을 참조하면, 메일 진위 검증 서버(100)는 진위 검증 대상 또는 원본 인증 대상인 메일의 원본을 분산 처리하여 안전하게 보호하고, 메일의 원본 증명을 위해 복잡한 인증 절차와 가입을 요구하지 않는 개방형 구조를 가지며, 메일의 위변조 등의 요인을 차단하기 위해 암호화 처리된 해시값을 이용한다.Referring to FIG. 1, the mail authenticity verification server 100 safely protects the original of the mail that is subject to authenticity verification or original authentication by distributing it, and has an open structure that does not require complicated authentication procedures and subscriptions to prove the original of the mail. It uses an encrypted hash value to block factors such as forgery and alteration of emails.

메일 진위 검증 서버(100)는 인터넷망(300)에 연결된다. 인터넷망(300)은 유무선 인터넷 서비스를 제공한다. The mail authenticity verification server 100 is connected to the Internet network 300. The Internet network 300 provides wired and wireless Internet services.

인터넷망(300)에는 메일 발신 서버(400), 메일 수신 서버(500), 발신자 단말(600) 및 수신자 단말(700)이 연결되어 있다. 메일 발신 서버(400)는 발신자 단말(600)에서 작성된 메일을 발신자 단말(600)로부터 수신하여 인터넷망(300)을 거쳐 메일 수신 서버(500)로 전송한다. 수신자 단말(700)은 메일 수신 서버(500)에 접속하여 발신자 단말(600)이 전송한 메일을 수신한다. The Internet network 300 is connected to a mail sending server 400, a mail receiving server 500, a sender terminal 600, and a receiver terminal 700. The mail sending server 400 receives the mail written on the sender terminal 600 from the sender terminal 600 and transmits it to the mail receiving server 500 via the Internet network 300. The recipient terminal 700 connects to the mail reception server 500 and receives the mail sent by the sender terminal 600.

메일 발신 서버(400)와 메일 수신 서버(500)는 SMTP(Simple Mail Transfer Protocol)를 사용하여 메일을 송수신한다. 메일 발신 서버(400)와 메일 수신 서버(500)는 서로 독립적인 서버일 수도 있고, 동일한 서버일 수도 있다. 예컨대, 메일 발신자와 메신 수신자 각각의 메일 계정이 동일한 메일 서비스 가입자 계정일 경우, 메일 발신 서버(400)와 메일 수신 서버(500)는 하나의 동일한 메일 서버일 수 있다. The mail sending server 400 and the mail receiving server 500 send and receive mail using SMTP (Simple Mail Transfer Protocol). The mail sending server 400 and the mail receiving server 500 may be independent servers or the same server. For example, if the mail accounts of the mail sender and the mail recipient are the same mail service subscriber account, the mail sending server 400 and the mail receiving server 500 may be one and the same mail server.

발신자 단말(600)은 메일의 발신자 단말이고, 수신자 단말(700)은 메일의 수신자 단말이다. 발신자 단말(600) 및 수신자 단말(700)은 인터넷 브라우저가 내장된 기기로서, PC(Personal Computer), 노트북, 스마트폰 등을 포함할 수 있다.The sender terminal 600 is the sender terminal of the mail, and the receiver terminal 700 is the recipient terminal of the mail. The sender terminal 600 and the receiver terminal 700 are devices with a built-in Internet browser and may include a personal computer (PC), laptop, smartphone, etc.

한편, 메일 진위 검증 서버(100)는 송/수신 메일 및 일반 데이터의 원본 인증을 수행한다. 메일 진위 검증 서버(100)는 송/수신 메일 및 일반 데이터의 아카이브 스토리지로서 동작한다. 메일 진위 검증 서버(100)는 송/수신 메일의 스팸 필터링 및 일반 데이터의 패턴 수집을 수행한다. 메일 진위 검증 서버(100)는 송/수신자 계정 기반 1회용 인증 관리를 수행한다. 메일 진위 검증 서버(100)는 메일 배포 블록체인 노드 선별 및 일괄 배포를 수행한다.Meanwhile, the mail authenticity verification server 100 performs original authentication of sent/received mail and general data. The mail authenticity verification server 100 operates as an archive storage for sent/received mail and general data. The mail authenticity verification server 100 performs spam filtering of sent/received mail and collects patterns of general data. The mail authenticity verification server 100 performs one-time authentication management based on sender/recipient accounts. The mail authenticity verification server 100 selects mail distribution blockchain nodes and performs batch distribution.

메일 진위 검증 서버(100)는 실제 송/수신, 원본증명 요청 및 패턴 업데이트 상황을 재현한 테스트 케이스를 통해 유효성을 검증하고, 시스템 성능과 보안 성능은 측정 도구를 이용하여 정량적으로 결과를 도출할 수 있다.The mail authenticity verification server 100 verifies validity through test cases that reproduce actual transmission/reception, original authentication requests, and pattern update situations, and system performance and security performance can be quantitatively derived using measurement tools. there is.

메일 진위 검증 서버(100)는 WAS(Web Application Server) 모듈(110), 데이터 처리 모듈(120) 및 데이터 게이트웨이 모듈(130)을 포함한다.The mail authenticity verification server 100 includes a Web Application Server (WAS) module 110, a data processing module 120, and a data gateway module 130.

WAS 모듈(110)은 메일 발신 서버(400)가 메일 수신 서버(500)로 전달하는 상태 그대로의 메일을 수신하고, 이를 데이터 처리 모듈(120)로 전달한다. 예컨대, 발신자 단말(600)이 웹 기반 어플리케이션에서 생성하여 메일 발신 서버(400)로 업로드한 메일을 메일 발신 서버(400)로부터 수신하여 원본 그대로 데이터 처리 모듈(120)로 전달할 수 있다. WAS 모듈(110)은 원본 진위 서비스를 위해 원본 그대로 데이터 처리 모듈(120)로 전달한다.The WAS module 110 receives the mail as it is delivered from the mail sending server 400 to the mail receiving server 500 and delivers it to the data processing module 120. For example, the sender terminal 600 may receive mail created in a web-based application and uploaded to the mail sending server 400 from the mail sending server 400 and deliver it to the data processing module 120 as the original. The WAS module 110 transmits the original text to the data processing module 120 for original authenticity service.

WAS 모듈(110)은 데이터 게이트웨이 모듈(130)로부터 원본 진위 서비스 결과를 수신하여 이를 저장하고, 원본 진위 요청자가 확인 가능한 요청 결과 내역 인터페이스를 제공한다. 즉, 원본 진위 요청자는 WAS 모듈(110)로 접속하여 메일의 원본 진위 검증 결과를 확인할 수 있다.The WAS module 110 receives the original authenticity service result from the data gateway module 130, stores it, and provides a request result history interface that can be confirmed by the original authenticity requester. In other words, the original authenticity requester can access the WAS module 110 and check the original authenticity verification result of the mail.

데이터 처리 모듈(120)은 메일을 사용자 계정 별로 분류한다. 데이터 처리 모듈(120)은 분류한 사용자의 폴더 존재 유무를 검사하고, 사용자 폴더가 없으면 이를 생성하여, 사용자 폴더에 분류한 원본 메일을 저장한다. 즉, 분류된 데이터는 카테고리별로 생성되어 있는 사용자 폴더에 저장된다.The data processing module 120 classifies mail by user account. The data processing module 120 checks whether the classified user's folder exists, creates a user folder if it does not exist, and stores the classified original mail in the user folder. In other words, classified data is stored in user folders created by category.

데이터 처리 모듈(120)은 저장한 원본 메일을 암호화 처리하여 해시값을 추출하고, 추출한 해시값과 원본 메일의 식별 정보를 검증 데이터로 생성하여 이를 데이터 게이트웨이 모듈(130)로 전달한다. 이때, 검증 데이터는 사용자 폴더에 저장된다. The data processing module 120 encrypts the stored original mail to extract a hash value, generates the extracted hash value and identification information of the original mail as verification data, and transmits it to the data gateway module 130. At this time, the verification data is saved in the user folder.

데이터 처리 모듈(120)은 메일에 대하여 sha-3 512 함수, Sha256 함수 등을 사용하여 해시값을 생성 및 저장할 수 있다. 이러한 해시값은 사용자 계정 별로 생성된 폴더에 원본 메일과 함께 저장될 수 있다. 원본 데이터의 변동 내용이 생기면 전혀 다른 값을 생성되므로 변경 여부를 확인할 수 있는 근거가 된다. The data processing module 120 may generate and store a hash value for mail using the sha-3 512 function, Sha256 function, etc. These hash values can be stored along with the original email in a folder created for each user account. If there is a change in the original data, a completely different value is generated, which serves as a basis for checking whether there has been a change.

데이터 처리 모듈(120)은 원본 메일의 식별 정보 및 해시값을 토대로 검증 데이터를 생성하고, 이러한 검증 데이터를 데이터 게이트웨이 모듈(130)로 전송한다. 이때, 원본 메일의 식별 정보는 메일의 발신일자, 발신자 계정, 수신자 계정 및 제목을 포함할 수 있다. 데이터 처리 모듈(120)은 원본 메일의 식별 정보와 원본 메일의 전체 데이터를 기초로 생성된 해시값을 매칭한 목록을 관리할 수 있다.The data processing module 120 generates verification data based on the identification information and hash value of the original mail and transmits this verification data to the data gateway module 130. At this time, the identification information of the original mail may include the mail's sending date, sender's account, recipient's account, and title. The data processing module 120 may manage a list that matches the identification information of the original mail and the hash value generated based on the entire data of the original mail.

데이터 처리 모듈(120)은 원본 메일의 헤더에 수록된 발신자, 수신자, 참조, 숨은 참조 등과 같은 발신 정보와, 첨부 파일 유무, 첨부 파일의 정보, 메일 본문 내용을 기초로 해시값을 생성한다. The data processing module 120 generates a hash value based on sending information such as sender, recipient, CC, and BCC included in the header of the original email, the presence or absence of an attached file, information on the attached file, and the contents of the email body.

데이터 게이트웨이 모듈(130)은 데이터 입출력 요청을 통제하는 브로커(Broker), 분산 원장 기록 시스템인 블록체인 네트워크(200)와 연동하는 노드 게이트웨이(Node Gateway), 인증 요청 내용을 분류하는 기능, 사용자의 진위 확인 요청을 처리하기 위한 인증 기능, 수신자의 진위 확인 요청을 처리하기 위한 인증 기능, 블록체인 노드에 참여하는 서버 등록을 위한 노드 인증 기능을 수행할 수 있다.The data gateway module 130 is a broker that controls data input/output requests, a node gateway that interfaces with the blockchain network 200, a distributed ledger recording system, a function to classify authentication request contents, and user authenticity. It can perform an authentication function to process confirmation requests, an authentication function to process the recipient's authenticity confirmation request, and a node authentication function to register servers participating in blockchain nodes.

데이터 게이트웨이 모듈(130)은 블록체인 네트워크(200)로부터 구독 신청을 받아 블록체인 노드(201)를 등록할 수 있다. The data gateway module 130 can receive a subscription request from the blockchain network 200 and register the blockchain node 201.

데이터 게이트웨이 모듈(130)은 데이터 처리 모듈(120)로부터 수신한 검증 데이터를 그 검증 데이터를 구독하기로 신청한 블록체인 노드(201)에게 일괄적으로 동시에 배포할 수 있다.The data gateway module 130 can simultaneously distribute the verification data received from the data processing module 120 to the blockchain nodes 201 that have applied to subscribe to the verification data.

데이터 게이트웨이 모듈(130)은 구독을 신청한 복수의 블록체인 노드(201) 중에서 임의로 선택한 하나의 블록체인 노드(201)로부터 검증 데이터를 요청하여 수신한다. 데이터 게이트웨이 모듈(130)은 원본 진위 검증 요청된 메일로부터 추출한 해시값을 검증 데이터에 포함된 해시값과 비교하여 원본 진위를 검증한다. 데이터 게이트웨이 모듈(130)은 해시값들이 일치하면, 원본으로 판정하고 불일치하면 원본이 아니라고 판정한다.The data gateway module 130 requests and receives verification data from one blockchain node 201 randomly selected from among the plurality of blockchain nodes 201 that have applied for subscription. The data gateway module 130 verifies the authenticity of the original by comparing the hash value extracted from the email requested for original authenticity with the hash value included in the verification data. If the hash values match, the data gateway module 130 determines that it is the original. If the hash values do not match, it determines that it is not the original.

블록체인 노드(201)는 원본 메일의 식별정보와 그에 대응하는 해시값을 검증 데이터로 저장할 수 있다. 따라서, 데이터 게이트웨이 모듈(130)이 블록체인 노드(201)에게 원본 메일의 식별 정보에 대응하는 검증 데이터를 요청하여 수신할 수 있다.The blockchain node 201 can store the identification information of the original mail and the corresponding hash value as verification data. Accordingly, the data gateway module 130 can request and receive verification data corresponding to the identification information of the original mail from the blockchain node 201.

이때, 데이터 게이트웨이 모듈(130)은 블록체인 노드(201)에 대하여 사전에 노드 등록시 신원 검증이 완료된 상태이므로, BFT(Byzantine Fault Tolerance)와 같이 거짓 노드를 증명하는 과정을 가지지 않는다.At this time, since the data gateway module 130 has completed identity verification upon node registration in advance for the blockchain node 201, it does not have a process to prove false nodes, such as BFT (Byzantine Fault Tolerance).

데이터 게이트웨이 모듈(130)은 일반적인 시스템의 마스터 노드와 같은 역할을 수행하지만 실제로 WAS 모듈(110), 발신자 단말(600), 수신자 단말(700), 블록체인 노드(201)를 연결해 주는 중개자 역할과 검증하는 기능을 수행한다. The data gateway module 130 performs the same role as the master node of a general system, but actually acts as an intermediary and verifies the connection between the WAS module 110, the sender terminal 600, the receiver terminal 700, and the blockchain node 201. performs the function of

따라서 데이터 게이트웨이 모듈(130)은 요청이 대량 발생할 경우 대단위 데이터 처리 능력을 요구하게 되며, 이를 처리하기 위해 클러스터 구조를 가진 서버들의 집합으로 처리할 수 있다. Therefore, when a large number of requests occur, the data gateway module 130 requires large-scale data processing ability, and to process this, it can be processed as a set of servers with a cluster structure.

데이터 게이트웨이 모듈(130)은 클러스터링 되어 다수개 존재할 수 있다. 개수는 홀수개 일 수 있다. 클러스터 구성된 어떤 데이터 게이트웨이 모듈(130)이라도 동일한 서비스를 제공하며, 시스템의 손상으로 인한 작업 손실을 방지하여 고가용성과 신뢰성을 유지한다.The data gateway module 130 may be clustered and exist in multiple numbers. The number may be odd. Any data gateway module 130 configured in a cluster provides the same service and maintains high availability and reliability by preventing work loss due to system damage.

데이터 부하량에 따라서 일정 수준 이상의 부하가 발생할 경우 부하량이 작은 데이터 게이트웨이 모듈(130)에 우선적으로 연결되어 어느 쪽에서 처리되더라도 클러스터에 속한 데이터 게이트웨이 모듈(130)은 같은 결과를 출력하도록 연동이 된다.If a load exceeds a certain level according to the data load, it is preferentially connected to the data gateway module 130 with a smaller load, and no matter which side the data load is processed on, the data gateway module 130 belonging to the cluster is linked to output the same result.

데이터 게이트웨이 모듈(130)은 원본 진위 검증 결과서를 생성하고 이를 어플리케이션의 이벤트 메시지 형태로 SMTP를 통하여 수신자 단말(700)로 전송할 수 있다. The data gateway module 130 may generate an original authenticity verification result and transmit it to the recipient terminal 700 through SMTP in the form of an application event message.

데이터 게이트웨이 모듈(130)은 데이터 처리 모듈(120)로부터 검증 데이터가 전달되면, 인증 과정 후 블록체인 네트워크(200)에게 검증 데이터를 배포할 수 있다. 데이터 게이트웨이 모듈(130)은 인증서가 아닌 사전에 상호 지정된 방식의 코드 교환 방식으로 인증 절차를 진행한 후, 이상이 없을 경우에 배포를 수행할 수 있다.When verification data is delivered from the data processing module 120, the data gateway module 130 can distribute the verification data to the blockchain network 200 after the authentication process. The data gateway module 130 may perform the authentication process using a pre-designated code exchange method rather than a certificate, and then perform distribution if there are no problems.

데이터 게이트웨이 모듈(130)은 검증 데이터를 전송할 블록체인 노드(201)를 선별하거나 또는 검증 데이터를 수신할 블록체인 노드(201)를 선정하는 과정을 가지며, 이 과정을 통해 선정된 블록체인 노드(201)와 검증 데이터를 송수신한다.The data gateway module 130 has a process of selecting a blockchain node 201 to transmit verification data or a blockchain node 201 to receive verification data, and the blockchain node 201 selected through this process ) and send and receive verification data.

데이터 게이트웨이 모듈(130)은 블록체인 노드(201)로부터 수신한 검증 데이터를 토대로, 원본 진위 검증 절차를 수행하고, 검증 결과를 WAS 모듈(110)로 반환하고 검증 이력을 저장한다.The data gateway module 130 performs an original authenticity verification procedure based on the verification data received from the blockchain node 201, returns the verification result to the WAS module 110, and stores the verification history.

모든 데이터를 모든 블록체인 노드에 동일하게 배포하는 종래와 달리, 실시예에 따른 데이터 게이트웨이 모듈(130)은 검증 데이터를 노드 맞춤형으로 배포하는 방식을 사용한다. Unlike the conventional method of distributing all data equally to all blockchain nodes, the data gateway module 130 according to the embodiment uses a method of distributing verification data in a node-customized manner.

데이터 처리 모듈(120)의 원본 데이터 저장소는 하나이지만 검증 데이터의 카테고리를 지정하고, 지정된 카테고리에 해당하는 데이터 유형을 구독하기로 신청한 블록체인 노드(201)가 배포 노드로 선정될 수 있다. There is only one original data storage of the data processing module 120, but the blockchain node 201 that specifies the category of verification data and applies to subscribe to the data type corresponding to the designated category may be selected as the distribution node.

블록체인 노드(201)는 원하는 데이터를 한가지 선택할 수 있으며, 이를 구독 신청이라고 한다. 구독 신청을 한 블록체인 노드(201)는 해당하는 검증 데이터의 업데이트가 일어날 때 마다 검증 데이터를 수신하게 된다. 구독 신청을 하지 않은 블록체인 노드(201)에게는 검증 데이터는 배포되지 않는다. 이러한 구조를 통해 노드가 선별적인 데이터를 받아 처리하게 되므로 처리 성능에 대한 제약을 최소화 하고, 트랜잭션 속도도 동일한 사양일 경우 개선 효과를 얻을 수 있다,The blockchain node 201 can select one desired data, and this is called a subscription application. The blockchain node 201 that has applied for subscription receives verification data whenever the corresponding verification data is updated. Verification data is not distributed to blockchain nodes 201 that have not applied for subscription. Through this structure, the node receives and processes selective data, minimizing restrictions on processing performance, and improving transaction speed can be achieved if the specifications are the same.

마스터 노드를 기준으로 하위 노드에 전파하는 방식으로 배포하는 종래와 달리, 실시예에 따르면, 마스터 노드 개념이 없이 대상이 되는 노드에 일괄적으로 동시 배포하여, 데이터 갱신 시간차를 최소화할 수 있다. 이때, 데이터 갱신 또한 일괄적으로 이루어 지기 때문에 시간차를 이용한 공격 및 위 변조 위협을 최소화 할 수 있다. Unlike the conventional method of distributing by distributing to subordinate nodes based on the master node, according to the embodiment, data update time difference can be minimized by simultaneously distributing to target nodes in batches without the concept of master node. At this time, data updates are also performed in batches, so the threats of attacks and forgery using time differences can be minimized.

데이터 게이트웨이 모듈(130)은 블록체인 노드(201)로부터 획득한 분산 원장의 검증 데이터의 체크섬(Checksum)값 중 90%가 진위 검증 요청된 메일의 체크섬값이 일치할 때 원본으로 인증함으로써, 디코딩 작업은 하지 않는다. 이는 블록체인에서 체크섬 값을 전체 노드에서 오류값이 발생하는 확률을 지정(N=3F+1)하여 검증하는 종래와 다른 점이다.The data gateway module 130 performs the decoding task by authenticating 90% of the checksum values of the verification data of the distributed ledger obtained from the blockchain node 201 as the original when it matches the checksum value of the mail for which authenticity verification was requested. does not do This is different from the conventional method of verifying the checksum value in a blockchain by specifying the probability of an error occurring in all nodes (N=3F+1).

또한, 검증 주체가 데이터 게이트웨이 모듈(130)이고 블록체인 노드(201)는 검증은 수행하지 않는다. 따라서, 블록체인 노드(201)가 검증을 위한 컴퓨팅 파워를 사용하지 않기 때문에 저장 공간만 확보한 수준의 사양으로도 참여가 가능하다. Additionally, the verification subject is the data gateway module 130, and the blockchain node 201 does not perform verification. Therefore, since the blockchain node 201 does not use computing power for verification, participation is possible with specifications that only secure storage space.

데이터 게이트웨이 모듈(130)은 블록체인 노드(201)의 참여를 위한 인증을 관리하고, 구독 내역을 관리하여 구독 노드에게 배포하는 기능과 블록체인 노드(201)로부터 수신된 원장의 검증 데이터를 비교하여 진위 여부 결과를 산출한다. The data gateway module 130 manages authentication for participation of the blockchain node 201, and compares the function of managing subscription details and distributing them to subscription nodes with the ledger verification data received from the blockchain node 201. Calculate authenticity results.

블록체인 네트워크(200)는 블록체인 알고리즘에 따라 동작하는 복수의 블록체인 노드(201)로 구성된다. The blockchain network 200 consists of a plurality of blockchain nodes 201 that operate according to the blockchain algorithm.

블록체인 노드(201)는 서버 컴퓨팅 장치로 구현될 수 있으나, 가상 머신(virtual machine) 등으로 구현될 수도 있다.The blockchain node 201 may be implemented as a server computing device, but may also be implemented as a virtual machine, etc.

블록체인 노드(201)는 메일의 검증 데이터 구독을 신청한 노드로서, 구독을 신청한 검증 데이터를 저장한다.The blockchain node 201 is a node that has applied for subscription to email verification data and stores the verification data for which the subscription has been applied.

블록체인 노드(201)는 데이터 게이트웨이 모듈(130)이 배포하는 검증 데이터를 저장하고, 업데이트 하는 역할만 수행한다. The blockchain node 201 only performs the role of storing and updating the verification data distributed by the data gateway module 130.

블록체인 노드(201)의 원장에는 파일의 기본정보, 원본 메일의 식별정보와 해시값을 포함하는 검증 데이터가 저장되고, 검증 데이터가 갱신될 경우도 마찬가지로 새로운 원장으로 취급된다. 원본 인증은 각각의 데이터가 보내어진 기록이기 때문에 고유 정보로 간주하기 때문이다. 그러나 업데이트가 필요한 상황도 있으므로, 원본 소유자가 등록할 때 옵션 선택을 통해 업데이트를 선택할 경우에는 데이터 파일은 지속적으로 갱신이 가능하다. 업데이트의 경우 갱신 이력이 원장에 기록되며, 각각의 해시값이 반영되고, 최종 상태의 해시값만 남게된다.Verification data including basic information of the file, identification information of the original mail, and hash value are stored in the ledger of the blockchain node 201, and when the verification data is updated, it is also treated as a new ledger. This is because original authentication is a record of each data being sent and is therefore considered unique information. However, since there are situations in which updating is necessary, the data file can be continuously updated if the original owner selects the update by selecting an option when registering. In the case of updates, the update history is recorded in the ledger, each hash value is reflected, and only the hash value of the final state remains.

블록체인 노드(201)는 데이터 게이트웨이 모듈(130)로부터 검증 데이터를 수신하면 검증 데이터가 저장되는 블록을 생성하고 블록 생성 결과를 리턴한다. 블록체인 노드(201)는 데이터 게이트웨이 모듈(130)로부터 검증 데이터 요청이 수신되면, 저장된 검증 데이터 블록을 조회하고 조회 결과를 리턴한다.When the blockchain node 201 receives verification data from the data gateway module 130, it creates a block in which the verification data is stored and returns the block creation result. When the blockchain node 201 receives a verification data request from the data gateway module 130, it searches the stored verification data block and returns the search result.

이때, 블록체인 네트워크(201)는 마스터 노드 개념을 가지지 않는 분산 구조로 이루어진다. 합의 과정은 무작위로 선정한 노드에 요청을 보내고 응답을 받는 형태로 구성된다. 각 블록체인 노드(201)는 일괄 배포되는 메일 데이터를 동시에 갱신한다. At this time, the blockchain network 201 has a distributed structure that does not have a master node concept. The consensus process consists of sending a request to a randomly selected node and receiving a response. Each blockchain node 201 simultaneously updates mail data distributed in batches.

각 블록체인 노드(201)에 참여를 원하는 서버들은 기기 등록 및 신원 인증 절차를 통해 블록체인 노드(201)로 등록된다. Servers wishing to participate in each blockchain node 201 are registered as blockchain nodes 201 through device registration and identity authentication procedures.

블록체인 노드(201)는 검증 데이터를 저장하고 보관한다. 블록체인 노드(201)는 진위 확인 목적으로 데이터 게이트웨이 모듈(130)로부터 보관된 검증 데이터 확인 요청이 올 경우 해당 검증 데이터를 제공한다. The blockchain node 201 stores and stores verification data. The blockchain node 201 provides the corresponding verification data when a request to confirm the stored verification data comes from the data gateway module 130 for the purpose of verifying authenticity.

블록체인 노드(201)는 직접 연산하는 과정에는 참여하지 않는다. 블록체인 노드(201) 사이에는 데이터를 주고받지 않는다. 블록체인 노드(201)는 데이터 구독 신청 절차를 통해 데이터를 받아 분산 저장한다. 블록체인 노드(201)는 마스터 노드 개념을 가지지 않는 분산 구조를 가진다. 블록체인 노드(201)는 일괄 배포되는 검증 데이터를 모든 노드가 동시에 갱신한다. 데이터 게이트웨이 모듈(130)은 합의 과정을 무작위로 선정한 블록체인 노드(201)에 요청을 보내고 응답을 받는다. The blockchain node 201 does not participate in the direct calculation process. No data is exchanged between blockchain nodes 201. The blockchain node 201 receives data through a data subscription application process and stores it in a distributed manner. The blockchain node 201 has a distributed structure without the concept of a master node. The blockchain node 201 updates verification data distributed in batches at the same time to all nodes. The data gateway module 130 sends a request to the randomly selected blockchain node 201 for the consensus process and receives a response.

블록체인 노드(201)에 참여를 원하는 서버 소유자는 기기 등록 및 신원 인증 절차를 통해 등록이 가능하며, 등록시 구독을 요청하여 원본 메일의 검증 데이터를 보관하는 노드로 참여하게 된다. 이때, 등록된 기기의 인증 방법은 하드웨어 정보와 일회용 인증코드를 사용할 수 있다. Server owners who wish to participate in the blockchain node 201 can register through device registration and identity authentication procedures, and request subscription upon registration to participate as a node that stores verification data of the original email. At this time, hardware information and one-time authentication code can be used as an authentication method for the registered device.

POW(Proof-of-Work, 작업 증명) 방식의 노드들의 경우 연산이 필요하고, PoS(Proof-of-Stake, 지분 증명) 방식의 노드들 또한 인증해 주는 역할을 수행하기에 노드 시스템의 처리 성능이 일정 수준 이상으로 제한되는 문제점을 해결하기 위한 방안으로 노드의 역할을 최소화하여 제한하는 방법으로 일반적으로 사용하는 PC 수준이라도 역할의 수행이 가능하도록 하였다. 노드가 제한적으로 수행하는 기능은 원장을 보관하고, 진위 검증을 위해 원장을 요청하면 제공하고, 이력을 기록하는 것이다.POW (Proof-of-Work) type nodes require computation, and PoS (Proof-of-Stake) type nodes also perform the role of authentication, so the processing performance of the node system As a way to solve the problem of being limited beyond a certain level, the role of the node was minimized and limited to make it possible to perform the role even at the level of a commonly used PC. The limited functions performed by nodes are to store the ledger, provide the ledger upon request to verify its authenticity, and record history.

블록체인 노드(201)는 신원 인증을 마친 이후에 참여가 가능하며, 원장 보관이 가능한 수준의 스토리지 공간을 확보한 시스템으로 가능하다. 시스템 사양 검증을 위해 구독신청 단계에서 성능 테스트 후 참여를 승인하는 절차를 가질 수 있다.Blockchain nodes 201 can participate after identity verification is completed, and this is possible with a system that secures a level of storage space capable of storing the ledger. To verify system specifications, there may be a procedure to approve participation after a performance test at the subscription application stage.

신원 인증 방법은 일반적으로 사용하는 인증체계 아이핀(i-pin), 휴대폰, 신용카드 등의 개인화 인증을 적용하거나, 기업의 경우 증명 서류의 검증 절차를 통해 인증을 적용할 수 있다. Identity authentication methods include applying personalized authentication using commonly used authentication systems such as i-pin, mobile phones, and credit cards, or in the case of companies, authentication can be applied through the verification process of proof documents.

이처럼, 실시예에 따른 메일 진위 검증 구조는 메일 진위 검증 서버(100)가 일반적인 메일 시스템, 즉, 메일 발신 서버(400)와 메일 수신 서버(500)과 연결되는 구조를 가진다. 일반적인 형태의 메일시스템에 분산형 메시지 배포 시스템과 블록체인 네트워크의 구성을 가지며, 구성된 시스템에서 원본 인증과 스팸 패턴 및 데이터를 배포할 수 있는 기능을 가지며, 인증서 및 개인키를 사용하지 않는 개방형 시스템을 구현한다. As such, the mail authenticity verification structure according to the embodiment has a structure in which the mail authenticity verification server 100 is connected to a general mail system, that is, the mail sending server 400 and the mail receiving server 500. It consists of a decentralized message distribution system and a blockchain network in addition to a general mail system, has the ability to authenticate the original and distribute spam patterns and data in the configured system, and is an open system that does not use certificates and private keys. Implement.

실시예에 따른 메일 진위 검증 구조는 데이터 구조의 제한을 가지지 않고, 데이터 구조의 제한이 없어 다수 형태의 서비스 모델을 구동할 수 있다. The mail authenticity verification structure according to the embodiment has no data structure limitations and can operate multiple types of service models.

실시예에 따른 메일 진위 검증 구조는 데이터 구독 신청을 통해 원하는 형태,예를 들어, 메일, 파일, 특정그룹의 원장만 수신이 가능하다. The mail authenticity verification structure according to the embodiment allows receiving only the desired form, for example, mail, file, or ledger of a specific group, through a data subscription application.

실시예에 따른 메일 진위 검증 구조는 구독 신청을 한 블록체인 노드(201)에게 일괄적으로 검증 데이터를 배포하는 개방형 구조를 가진다. The mail authenticity verification structure according to the embodiment has an open structure that distributes verification data in batches to the blockchain nodes 201 that have applied for subscription.

실시예에 따른 메일 진위 검증 구조는 수신자의 계정을 이용한 간편한 인증 방법을 통해 제공되는 서비스 구조로서, 원본 인증 절차가 가지는 목적 이외에 전용되지 않는 범위 내에서 최대한 경량화 구조를 가진다.The mail authenticity verification structure according to the embodiment is a service structure provided through a simple authentication method using the recipient's account, and has a structure as lightweight as possible to the extent that it is not diverted for purposes other than those of the original authentication process.

실시예에 따른 메일 진위 검증 구조는 발신자가 계정 등록 절차를 통해 서버를 이용할 수 있으며, 등록된 사용자(발신자)인증 절차를 가지는 구조로 원본 인증 절차가 가지는 목적 이외에 전용되지 않는 범위 내에서 최대한 경량화 구조를 가진다.The mail authenticity verification structure according to the embodiment is a structure in which the sender can use the server through an account registration process and has a registered user (sender) authentication process. It is a structure that is as lightweight as possible to the extent that it is not diverted for purposes other than those of the original authentication process. has

실시예에 따른 메일 진위 검증 구조는 기존 기술에서 널리 사용되고 있는 POW와 PoS(Proof of Stake)의 문제점을 개선하기 위해 소규모 네트워크를 만들어 내부에서 트랜잭션 순서를 정하고 결과 값을 메인 체인에 업로드하는 방식의 "샤딩"기법을 사용하거나, 핫라인으로 연결된 노드 사이에서 트랜잭션 순서를 정한 이후에 결과를 메인 체인에 병합하는 형태의 스테이트 채널 등의 기업을 사용하였으나, 이러한 기술은 초당 사용량이 적을 때만 유효하여 대량의 요청이 오는 경우에는 처리가 어려운 문제점이 발생할 수 있기 때문에 노드의 전파자 역할을 수행하거나, 검증 역할을 수행하지 않도록 제한하고, 노드가 사전에 요청한 선택적인 데이터를 받는 구조 설계를 통해 단순화하였다. 따라서, 블록체인 노드(201)에 배포는 일괄적으로 수행하게 되며, 진위 검증을 위한 데이터의 보관소 역할만 수행하는 구조이다.The mail authenticity verification structure according to the embodiment is a method of creating a small network to improve the problems of POW and PoS (Proof of Stake), which are widely used in existing technologies, determining the order of transactions internally and uploading the results to the main chain. Companies have used "sharding" techniques or state channels that determine the order of transactions between nodes connected by a hotline and then merge the results into the main chain. However, these techniques are only effective when the usage per second is low, so they cannot accommodate large amounts of requests. In this case, problems that are difficult to handle may arise, so it is limited to not performing the role of a propagator or verification of the node, and is simplified by designing a structure that receives selective data requested in advance by the node. Therefore, distribution to the blockchain node 201 is performed in batches, and the structure only serves as a storage space for data for verification of authenticity.

도 2는 실시예에 따른 메일의 검증 데이터 배포 과정을 설명하는 흐름도이다.Figure 2 is a flowchart explaining the process of distributing mail verification data according to an embodiment.

도 2를 참조하면, 데이터 게이트웨이 모듈(130)은 블록체인 네트워크(200) 내 적어도 하나의 블록체인 노드(201)와 노드 등록 절차를 수행한다(S101). 이때, 블록체인 노드(201)로 참여하기 원하는 서버의 하드웨어 정보를 이용한 기기 인증 및 OTP(One Time Password)를 이용한 신원 인증을 수행할 수 있다. 이러한 인증에 모두 성공하면, 적어도 하나의 블록체인 노드(201)를 등록할 수 있다.Referring to FIG. 2, the data gateway module 130 performs a node registration procedure with at least one blockchain node 201 in the blockchain network 200 (S101). At this time, device authentication using hardware information of the server wishing to participate as a blockchain node 201 and identity authentication using OTP (One Time Password) can be performed. If all of these authentications are successful, at least one blockchain node 201 can be registered.

블록체인 노드(201)는 노드 등록시, 구독을 신청할 수 있다(S102). 데이터 게이트웨이 모듈(130)은 구독을 신청한 블록체인 노드(201) 별로 라이브러리를 생성하여 저장할 수 있다(S103).The blockchain node 201 can apply for subscription when registering the node (S102). The data gateway module 130 can create and store a library for each blockchain node 201 that has applied for subscription (S103).

발신자 단말(600)은 메일 발신 서버(400)에 접속된 상태에서, 발신 메일을 생성한다(S104). 이때, 메일 발신 서버(400)는 메일 진위 검증 서비스를 제공하는 서버일 수 있다.The sender terminal 600 generates an outgoing mail while connected to the mail sending server 400 (S104). At this time, the mail sending server 400 may be a server that provides a mail authenticity verification service.

발신 메일은 발신자, 수신자, 참조인, 제목, 첨부 파일, 메일 내용 등의 구성요소를 가진다. Outgoing mail has components such as sender, recipient, reference person, subject, attached file, and mail content.

메일 발신 서버(400)는 S104에서 생성하는 발신 메일의 발신자 계정이 메일 원본 진위 검증 서비스에 가입한 계정인지 판단한다(S105). 여기서, 가입은 발신자 계정 등록으로 이루어질 수 있다. The mail sending server 400 determines whether the sender account of the sent mail generated in S104 is an account that has subscribed to the mail original authenticity verification service (S105). Here, registration may be accomplished by registering a sender account.

메일 발신 서버(400)는 S105에서 가입 계정으로 판단되면, 발신 메일의 숨은 참조인에 메일 진위 검증 서버(100)의 메일 계정, 예를들어, cert@certmail.co.kr을 추가한다(S106). 이때, 메일 발신 서버(400)는 발신 메일의 본문에 원본 확인을 위한 링크를 추가할 수 있다.If the mail sending server 400 determines that it is a subscription account in S105, it adds the mail account of the mail authenticity verification server 100, for example, cert@certmail.co.kr, to the blind carbon copy of the outgoing mail (S106). . At this time, the mail sending server 400 may add a link to check the original in the body of the sent mail.

메일 발신 서버(400)는 발신자 단말(600)에서 발송 버튼을 클릭하면, S104에서 생성된 발신 메일 또는 S106에서 생성된 발신 메일을 발송 처리한다(S107).When the send button is clicked on the sender terminal 600, the mail sending server 400 sends the outgoing mail generated in S104 or the outgoing mail generated in S106 (S107).

메일 발신 서버(400)가 발송한 발신 메일은 수신자 단말(700) 뿐만 아니라 메일 진위 검증 서버(100)에게도 동시에 전송된다(S108). 숨은 참조 계정은 메일 진위 검증 서버(100)이며, 발송되는 모든 메일의 원본 데이터 그대로, 예컨대, 원문 내용 또는 원본 이미지 데이터가 메일 진위 검증 서버(100)로 전송된다.The outgoing mail sent by the mail sending server 400 is simultaneously transmitted not only to the recipient terminal 700 but also to the mail authenticity verification server 100 (S108). The blind carbon copy account is the mail authenticity verification server 100, and the original data of all sent mail, for example, original content or original image data, is transmitted to the mail authenticity verification server 100.

데이터 처리 모듈(120)은 발신 메일의 발신자 계정에 해당하는 사용자 폴더에 발신 메일을 저장한다(S109). 발신자 계정에 대응하는 사용자 폴더가 없으면, 사용자 폴더를 생성한 후, 발신 메일을 저장할 수 있다(S109).The data processing module 120 stores the outgoing mail in the user folder corresponding to the sender's account of the outgoing mail (S109). If there is no user folder corresponding to the sender's account, the outgoing mail can be saved after creating a user folder (S109).

데이터 처리 모듈(120)은 하나의 메모리 저장 공간을 사용자별 검증을 위해 사용자 계정 이름의 파티션을 생성한 후 토픽(Topic) 단위로 분류하여 파티션에 저장할 수 있다. 데이터 처리 모듈(120)은 수신자, 참조인, 제목, 첨부파일 등과 같은 구성요소를 토픽화하여 분류할 수 있다.The data processing module 120 may create a partition of a user account name in one memory storage space for verification of each user, classify the partition into topics, and store the partition in the partition. The data processing module 120 can categorize components such as recipients, referents, titles, attached files, etc. into topics.

데이터 처리 모듈(120)은 발신 메일로부터 발신 메일의 진위 여부를 확인할 수 있는 고유 정보를 추출한다(S110). 이때, 고유 정보는 해시함수를 이용하여 발신 메일의 원본 메일 데이터로부터 생성된 해시값일 수 있다.The data processing module 120 extracts unique information that can confirm the authenticity of the outgoing mail from the outgoing mail (S110). At this time, the unique information may be a hash value generated from the original mail data of the outgoing mail using a hash function.

데이터 처리 모듈(120)은 S110에서 생성한 해시값과 발신 메일의 식별 정보를 포함하는 검증 데이터를 생성한다(S111). The data processing module 120 generates verification data including the hash value generated in S110 and identification information of the outgoing mail (S111).

한 실시예에 따르면, 발신 메일의 식별 정보는 발신 메일의 발신자 계정, 수신자 계정 및 메일 제목 등을 포함할 수 있다. 데이터 처리 모듈(120)은 메일 식별 정보, 그에 대응하는 원본 메일 및 해시값을 매핑하여 목록으로 관리할 수 있다. 블록체인 노드(201)에는 메일 식별 정보와 그에 대응하는 해시값을 포함하는 검증 데이터가 저장된다. 따라서, 메일 식별 정보를 토대로 블록체인 노드(201)에게 검증 데이터를 요청하여 수신할 수 있다.According to one embodiment, the identification information of the outgoing mail may include the sender's account, the recipient's account, and the mail subject of the outgoing mail. The data processing module 120 can map mail identification information, the corresponding original mail, and hash values and manage them as a list. The blockchain node 201 stores verification data including mail identification information and the corresponding hash value. Therefore, verification data can be requested and received from the blockchain node 201 based on the mail identification information.

다른 실시예에 따르면, 데이터 처리 모듈(120)은 발신 메일 별로, 발신 메일의 발신자 계정, 수신자 계정, 첨부 파일 유무, 첨부 파일, 원본 내용, 제목 등과 같은 메일 정보, 그리고 발신 메일의 원본 데이터로부터 생성된 해시값을 매핑한 목록을 일련번호 형태로 관리할 수도 있다. 이 경우, 일련번호와 해시값을 검증 데이터로 블록체인 노드(201)에게 배포하고, 원본 인증 요청된 메일의 일련번호를 이용하여 블록체인 노드(201)로부터 해시값을 획득할 수도 있다.According to another embodiment, the data processing module 120 generates mail information such as sender account, recipient account, presence of attachments, attached files, original content, title, etc. of the outgoing mail for each outgoing mail, and the original data of the outgoing mail. A list of mapped hash values can also be managed in the form of serial numbers. In this case, the serial number and hash value can be distributed to the blockchain node 201 as verification data, and the hash value can be obtained from the blockchain node 201 using the serial number of the original authentication requested email.

데이터 처리 모듈(120)은 데이터 게이트웨이 모듈(130)에게 검증 데이터 배포 요청을 전송한다(S112). The data processing module 120 transmits a verification data distribution request to the data gateway module 130 (S112).

데이터 게이트웨이 모듈(130)은 S103에서 생성한 라이브러리에 저장된 정보를 토대로, 배포 요청된 발신 메일을 구독 신청한 블록체인 노드(201)를 선별한다(S113). 블록체인 노드(201)의 선별은 임의로 선정될 수 있다.The data gateway module 130 selects the blockchain node 201 that has applied for subscription to the outgoing mail requested for distribution based on the information stored in the library created in S103 (S113). The selection of blockchain nodes 201 may be selected arbitrarily.

데이터 게이트웨이 모듈(130)은 블록체인 네트워크(200)를 구성하는 복수의 블록체인 노드(201) 중에서 S113에서 선별한 적어도 하나의 블록체인 노드(201)에게 검증 데이터를 동시에 일괄 배포한다(S114). The data gateway module 130 simultaneously distributes verification data to at least one blockchain node 201 selected in S113 among the plurality of blockchain nodes 201 constituting the blockchain network 200 (S114).

검증 데이터를 수신한 블록체인 노드(201)는 블록을 생성하여 검증 데이터를 저장한다(S115). The blockchain node 201 that has received the verification data creates a block and stores the verification data (S115).

블록체인 노드(201)는 수신자 확인을 위한 노드, 요청 이력 확인을 위한 노드, 원본 확인을 위한 3 종류의 노드로 분류될 수 있다. 물론, 3 종류의 분류 데이터, 즉, 수신자 확인, 요청 이력 확인, 원본 확인을 모두 포함하는 블록체인 노드(201)로도 구성이 가능하다. 블록체인 노드(201)는 백업 노드를 통해서도 구독 신청되어 원본 손실을 막는다. 블록체인 노드(201)의 업데이트는 메일 송신시마다 이루어진다.The blockchain node 201 can be classified into three types of nodes: a node for verifying the recipient, a node for verifying the request history, and a node for verifying the original. Of course, it can also be configured as a blockchain node 201 that includes all three types of classified data, that is, recipient confirmation, request history confirmation, and original confirmation. The blockchain node 201 is also subscribed to through the backup node to prevent loss of the original. The update of the blockchain node 201 is performed every time an email is sent.

도 3은 실시예에 따른 메일의 원본 진위 검증 과정을 설명하는 흐름도이다.Figure 3 is a flowchart explaining the process of verifying the original authenticity of an email according to an embodiment.

도 3을 참조하면, 수신자 단말(700)이 수신한 수신 메일에는 메일 진위 검증을 요청하기 위한 원본 인증 링크가 포함되어 있다. 수신자 단말(700)이 원본 인증 링크를 클릭(S201)하면, 메일 진위 확인 요청이 메일 진위 검증 서버(100)로 전송된다(S202). 메일 진위 확인 요청에는 수신 메일이 포함된다.Referring to FIG. 3, the received mail received by the recipient terminal 700 includes an original authentication link to request verification of the authenticity of the mail. When the recipient terminal 700 clicks the original authentication link (S201), a request to confirm the authenticity of the mail is transmitted to the mail authenticity verification server 100 (S202). Requests to verify mail authenticity include incoming mail.

데이터 게이트웨이 모듈(130)은 수신 메일의 수신자 계정을 수신자 단말(700)의 메일 계정과 비교(S203)하여 일치 여부를 판단한다(S204). 즉, 수신자 계정 유효성 인증을 수행한다(S203, S204).The data gateway module 130 compares the recipient account of the received mail with the mail account of the recipient terminal 700 (S203) and determines whether they match (S204). That is, the recipient account validity authentication is performed (S203, S204).

불일치하면, 데이터 게이트웨이 모듈(130)은 거절 메시지를 전송한다(S205). 거절 메시지는 "잘못된 요청입니다"와 같은 거절 메시지를 반환할 수 있다.If there is a mismatch, the data gateway module 130 transmits a rejection message (S205). A rejection message may be returned, such as "This is an invalid request."

일치하면, 데이터 게이트웨이 모듈(130)은 인증 단말 정보 입력을 요구(S206)하여 인증 단말 정보를 수신한다(S207). If they match, the data gateway module 130 requests input of authentication terminal information (S206) and receives authentication terminal information (S207).

데이터 게이트웨이 모듈(130)은 S207에서 수신한 인증 단말로 OTP를 전송한다(S208). The data gateway module 130 transmits the OTP to the authentication terminal received in S207 (S208).

데이터 게이트웨이 모듈(130)은 수신자 단말(700)에게 OTP 입력을 요구(S209)하여 수신한다(S210). The data gateway module 130 requests the recipient terminal 700 to input an OTP (S209) and receives it (S210).

데이터 게이트웨이 모듈(130)은 S210에서 수신한 OTP가 S208에서 전송한 OTP와 일치하는지 판단한다(S211). 즉, 사용자 인증을 수행한다(S211).The data gateway module 130 determines whether the OTP received in S210 matches the OTP transmitted in S208 (S211). That is, user authentication is performed (S211).

데이터 게이트웨이 모듈(130)은 S211에서 불일치로 판단되면, 거절 메시지를 전송한다(S212). If the data gateway module 130 determines that there is a mismatch in S211, it transmits a rejection message (S212).

그러나, S211에서 일치로 판단되면, 데이터 게이트웨이 모듈(130)은 라이브러리에 저장된 정보를 토대로, 블록체인 노드들(201) 중에서 임의 선택한다(S213). However, if it is determined to be a match in S211, the data gateway module 130 randomly selects from among the blockchain nodes 201 based on the information stored in the library (S213).

데이터 게이트웨이 모듈(130)은 S213에서 선택한 블록체인 노드(201)에게 검증 데이터 요청을 전송한다(S214). 검증 데이터 요청에는 수신 메일의 식별 정보가 포함된다.The data gateway module 130 transmits a verification data request to the blockchain node 201 selected in S213 (S214). The verification data request includes identifying information of the incoming mail.

블록체인 노드(201)는 저장된 검증 데이터를 반환한다(S215). The blockchain node 201 returns the stored verification data (S215).

데이터 게이트웨이 모듈(130)은 해시 함수를 이용하여 수신 메일로부터 생성한 해시값을 S215에서 수신한 검증 데이터의 해시값과 비교(S216)하여 일치 여부를 판단한다(S217). The data gateway module 130 uses a hash function to compare the hash value generated from the received mail with the hash value of the verification data received in S215 (S216) to determine whether they match (S217).

S217에서 불일치하면, 원본 인증 실패를 전송한다(S218). If there is a mismatch in S217, an original authentication failure is transmitted (S218).

S218에서 일치로 판단되면, 원본 인증 성공이 포함된 메일 진위 확인 응답을 전송한다(S219). If a match is determined in S218, an email authenticity confirmation response containing successful original authentication is transmitted (S219).

이때, S211 이후 추가로 요청된 수신 메일에 대한 원본 진위 검증 요청 이력이 있는지 확인하고, 요청 이력이 있으면, "중복된 요청이라는 메시지"를 거절 메시지로 전송하는 단계가 추가될 수 있다. 반면, 원본 진위 검증 요청 이력도 없을 경우, S213이 수행될 수 있다. 이는 원본 확인은 1회만 제공하기 위해서이다. At this time, a step may be added to check whether there is a request for original authenticity verification for the additionally requested received mail after S211, and if there is a request history, sending a “duplicate request message” as a rejection message. On the other hand, if there is no request for original authenticity verification, S213 may be performed. This is to provide original confirmation only once.

데이터 게이트웨이 모듈(130)은 S217에서 검증 결과 일치할 경우 최 근접 노드의 합의 인증 절차를 통해 인증 결과를 회신한다(S219). 그리고 검증 요청 내역을 저장할 수 있다. If the verification result matches in S217, the data gateway module 130 returns the authentication result through the consensus authentication procedure of the nearest node (S219). And the verification request details can be saved.

검증 노드는 최소 3개로 구성되며, 3단계의 진위 확인 과정을 가진다. 검증 순서는 수신자 목록 검증 → 요청 이력 검증 → 원본 확인 검증 단계로 진행한다. 3단계의 진위 확인 과정은 서로 다른 복수의 블록체인 노드(201)를 통해 이루어질 수도 있고, 하나의 블록체인 노드(201)를 통해 이루어질 수도 있다.The verification node consists of at least 3 nodes and has a 3-step authenticity verification process. The verification sequence proceeds through the following steps: recipient list verification → request history verification → original confirmation verification. The three-step authenticity verification process may be performed through a plurality of different blockchain nodes (201) or through one blockchain node (201).

이때, 원본 인증 링크는 메일의 발신자 계정과 수신자 계정으로 전송된 원본 메일에 모두 포함될 수 있다. 한 실시예에 따르면, 도 3의 S108에서 발신 메일이 전달되면, 데이터 처리 모듈(120)은 발신자 계정과 수신자 계정에 모두 원본 인증 요청의 접수 완료 메일을 전송할 수 있다. 이러한 접수 완료 메일은 발신일자, 발신자, 수신자, 메일 제목과 함께 원본 메일이 포함되고, "해당 메일은 원본 여부 검증을 할 수 있습니다. 원본 인증을 하려면 원본 인증 버튼을 클릭하시고, 안내되는 내용에 따라 진행하실 수 있습니다."라는 안내 문구와 함께 원본 인증 링크가 포함되어 있을 수 있다. At this time, the original authentication link may be included in both the original email sent to the sender's account and the recipient's account. According to one embodiment, when an outgoing mail is delivered in S108 of FIG. 3, the data processing module 120 may transmit an original authentication request receipt completion email to both the sender's account and the recipient's account. This received email includes the original email along with the send date, sender, recipient, and email subject, and says, "The email can be verified as original. To authenticate the original, click the Authenticate Original button and follow the instructions. A link to the original authentication may be included along with the instruction “You can proceed.”

따라서, 수신자 단말(700)에서 원본 인증 링크가 클릭(S201)되면, 도 3의 단계들이 수행된다. 또한, 발신자 단말(600)에서 원본 인증 링크가 클릭되어도, 도 3의 S201 ~ S219가 동일하게 수행될 수 있다.Accordingly, when the original authentication link is clicked on the recipient terminal 700 (S201), the steps in FIG. 3 are performed. Additionally, even if the original authentication link is clicked on the sender terminal 600, steps S201 to S219 of FIG. 3 may be performed in the same manner.

도 4는 실시예에 따른 원본 진위 검증 과정에서, 데이터 게이트웨이 모듈과 블록체인 네트워크 간의 통신 과정을 설명한다.Figure 4 explains the communication process between the data gateway module and the blockchain network in the original authenticity verification process according to the embodiment.

도 4를 참조하면, 도 3의 S213 이후 S214가 수행되기까지의 과정에 추가될 수 있다. Referring to FIG. 4, it can be added to the process from S213 to S214 in FIG. 3.

데이터 게이트웨이 모듈(130)은 메일 진위 확인 요청 이력을 생성 및 저장한다(S301). The data gateway module 130 creates and stores a mail authenticity confirmation request history (S301).

데이터 게이트웨이 모듈(130)은 블록체인 노드(201)에게 데이터 접근 요청을 전송한다(S302). The data gateway module 130 transmits a data access request to the blockchain node 201 (S302).

데이터 게이트웨이 모듈(130)은 블록체인 노드(201)로부터 인증 코드를 수신(S303)하고, 인증 코드를 토대로 응답 코드를 생성하여 블록체인 노드(201)로 전송한다(S304). The data gateway module 130 receives an authentication code from the blockchain node 201 (S303), generates a response code based on the authentication code, and transmits it to the blockchain node 201 (S304).

블록체인 노드(201)는 응답 코드를 검증한다(S305). 응답 코드 검증은 S303에서 전송한 인증 코드를 토대로 데이터 게이트웨이 모듈(130)과 동일한 마찬가지로 응답 코드를 생성하고, 이를 S304에서 수신한 응답 코드와 비교하여 일치 여부를 판단할 수 있다. The blockchain node 201 verifies the response code (S305). Response code verification can generate a response code identical to that of the data gateway module 130 based on the authentication code transmitted from S303 and compare it with the response code received from S304 to determine whether it matches.

블록체인 노드(201)는 S305에서 응답 코드 검증에 성공하면, 데이터 접근 승인을 응답한다(S306). 그러면, 데이터 게이트웨이 모듈(130)은 검증 데이터 요청을 전송한다(S307). If the blockchain node 201 succeeds in verifying the response code in S305, it responds with data access approval (S306). Then, the data gateway module 130 transmits a verification data request (S307).

도 5는 실시예에 따른 검증 데이터 배포 과정에서, 데이터 게이트웨이 모듈과 블록체인 네트워크 간의 통신 과정을 설명한다.Figure 5 explains the communication process between the data gateway module and the blockchain network in the verification data distribution process according to the embodiment.

도 5를 참조하면, 도 2의 S115를 수행하기 전이나 또는 검증 데이터를 갱신할때 수행될 수 있다.Referring to FIG. 5, this may be performed before performing S115 of FIG. 2 or when updating verification data.

데이터 게이트웨이 모듈(130)은 블록체인 노드(201)에게 인증 준비 상태를 질의(S401)하고 응답을 수신한다(S402). The data gateway module 130 queries the blockchain node 201 about the authentication preparation status (S401) and receives a response (S402).

데이터 게이트웨이 모듈(130)은 블록체인 노드(201)에게 인증 코드를 전송(S403)하고, 블록체인 노드(201)에서 인증 코드를 토대로 생성한 응답 코드를 수신한다(S404). The data gateway module 130 transmits an authentication code to the blockchain node 201 (S403) and receives a response code generated based on the authentication code by the blockchain node 201 (S404).

데이터 게이트웨이 모듈(130)은 S403에서 전송한 인증 코드를 토대로 블록체인 노드(201)와 동일한 방식으로 응답 코드를 생성하여, 이를 S404에서 수신한 응답 코드와 비교하는 응답 코드 검증을 수행한다(S405). The data gateway module 130 generates a response code in the same manner as the blockchain node 201 based on the authentication code transmitted in S403 and performs response code verification by comparing it with the response code received in S404 (S405) .

데이터 게이트웨이 모듈(130)은 응답코드 검증에 성공하면, 수신 준비 상태를 질의(S406)하고, 응답을 수신한다(S407). If the data gateway module 130 succeeds in verifying the response code, it inquires about the reception readiness status (S406) and receives a response (S407).

데이터 게이트웨이 모듈(130)은 수신 준비 상태 응답이 수신된 경우, 검증 데이터를 배포(S408)하고 갱신 상태를 수신한다(S409). When a reception ready status response is received, the data gateway module 130 distributes verification data (S408) and receives an update status (S409).

데이터 게이트웨이 모듈(130)은 검증 데이터 배포 이력을 생성하여 저장한다(S411). The data gateway module 130 creates and stores verification data distribution history (S411).

한편, 도 6은 실시예에 따른 메일 진위 검증 서버 및 블록체인 노드의 하드웨어 구성을 나타낸 블록도이다.Meanwhile, Figure 6 is a block diagram showing the hardware configuration of a mail authenticity verification server and blockchain node according to an embodiment.

도 6을 참조하면, 도 1 ~ 도 5에서 설명한 메일 진위 검증 서버 및 블록체인 노드는 적어도 하나의 컴퓨팅 장치(800)로 구현될 수 있고, 본 개시의 동작을 실행하도록 기술된 명령들(instructions)이 포함된 컴퓨터 프로그램을 실행할 수 있다. Referring to FIG. 6, the mail authenticity verification server and blockchain node described in FIGS. 1 to 5 may be implemented with at least one computing device 800, and instructions described for executing the operations of the present disclosure are provided. You can run the computer program it contains.

컴퓨팅 장치(800)는 버스를 통해 서로 연결된 프로세서(801), 메모리(802), 스토리지(803) 및 통신 장치(804)를 포함한다. The computing device 800 includes a processor 801, a memory 802, a storage 803, and a communication device 804 connected to each other through a bus.

통신 장치(804)는 적어도 하나의 프로세서(801)와 연결되어, 네트워크를 통해 데이터를 송신 및/또는 수신한다. 메모리(802)는 적어도 하나의 프로세서(801)와 연결되어, 도 1 내지 도 5에서 설명한 실시예들에 따른 구성 및/또는 방법을 실행하게 하는 명령어들을 포함하는 프로그램을 저장한다. 프로그램은 메모리(802) 및 적어도 하나의 프로세서(801) 등의 하드웨어와 결합하여 본 발명을 구현한다.The communication device 804 is connected to at least one processor 801 to transmit and/or receive data over a network. The memory 802 is connected to at least one processor 801 and stores a program including instructions for executing the configuration and/or method according to the embodiments described in FIGS. 1 to 5. The program is combined with hardware such as memory 802 and at least one processor 801 to implement the present invention.

스토리지(803)는 컴퓨팅 장치(800)의 운용에 필요한 정보 등을 포함한다. 프로세서(801)는 메모리(802), 스토리지(803) 등의 하드웨어와 결합하여 본 발명을 실행한다. The storage 803 includes information necessary for operating the computing device 800. The processor 801 executes the present invention in combination with hardware such as memory 802 and storage 803.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiments of the present invention described above are not only implemented through devices and methods, but can also be implemented through programs that implement functions corresponding to the configurations of the embodiments of the present invention or recording media on which the programs are recorded.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements made by those skilled in the art using the basic concept of the present invention defined in the following claims are also possible. It falls within the scope of rights.

Claims (11)

메일 진위 검증 서버의 동작 방법으로서,
서버 하드웨어 정보를 이용한 기기 인증 및 OTP(One Time Password)를 이용한 신원 인증을 통해 서버를 블록체인 노드로 참여시키기 위한 노드 등록을 수행하는 단계,
블록체인 노드로 등록된 서버로부터 요청받은 구독 정보가 포함된 라이브러리를 생성하는 단계,
메일 서버로부터 수신한 발신 메일로부터 상기 발신 메일의 진위 여부를 확인할 수 있는 고유 정보를 추출하고, 상기 추출한 고유 정보와 상기 발신 메일의 식별 정보를 포함하는 검증 데이터를 생성하는 단계,
상기 라이브러리에 저장된 구독 정보를 토대로, 상기 발신 메일을 구독 신청한 블록체인 노드를 선별하고, 선별한 적어도 하나의 블록체인 노드에게 상기 검증 데이터를 동시에 일괄 배포하는 단계,
사용자 단말로부터 수신 메일의 진위 확인 요청을 수신하는 단계,
상기 라이브러리에 저장된 정보를 토대로, 블록체인 네트워크를 구성하는 복수의 블록체인 노드 중에서 선택한 블록체인 노드에게 상기 수신 메일의 식별 정보에 대응하는 검증 데이터를 요청하여 수신하는 단계,
상기 수신한 검증 데이터로부터 획득한 고유 정보를 상기 수신 메일로부터 추출한 고유 정보와 일치하는지 비교하여, 상기 수신 메일이 상기 발신 메일과 동일한지 진위 여부를 판단하는 단계, 그리고
상기 진위 여부를 판단한 결과를 포함하는 진위 확인 응답을 상기 사용자 단말에게 전송하는 단계
를 포함하는, 방법.
As a method of operating a mail authenticity verification server,
Performing node registration to enable the server to participate as a blockchain node through device authentication using server hardware information and identity authentication using OTP (One Time Password);
Creating a library containing subscription information requested from a server registered as a blockchain node,
Extracting unique information that can confirm the authenticity of the outgoing mail from an outgoing mail received from a mail server, and generating verification data including the extracted unique information and identification information of the outgoing mail,
Based on the subscription information stored in the library, selecting blockchain nodes that have applied for subscription to the outgoing mail, and simultaneously distributing the verification data to at least one selected blockchain node,
Receiving a request to confirm the authenticity of the received mail from the user terminal,
Based on the information stored in the library, requesting and receiving verification data corresponding to the identification information of the received mail from a blockchain node selected from among a plurality of blockchain nodes constituting a blockchain network,
Comparing the unique information obtained from the received verification data with unique information extracted from the received mail to determine whether the received mail is the same as the sent mail and whether it is authentic, and
Transmitting an authenticity confirmation response including a result of determining authenticity to the user terminal.
Method, including.
삭제delete 제1항에서,
상기 고유 정보는,
상기 발신 메일로부터 생성된 해시값인, 방법.
In paragraph 1:
The above unique information is,
A method, which is a hash value generated from the outgoing mail.
제1항에서,
상기 식별 정보는,
상기 발신 메일의 발신자 계정, 수신자 계정 및 제목을 포함하는, 방법.
In paragraph 1:
The identification information is,
A method comprising a sender account, a recipient account, and a subject of the outgoing mail.
제1항에서,
상기 발신 메일은,
상기 메일 서버에 메일 진위 검증 서비스 이용자로 등록된 메일 계정에 의해 발신되는 경우, 상기 메일 진위 검증 서버의 메일 계정이 발신 메일의 참조 계정으로 포함되어 상기 메일 서버로부터 수신되는, 방법.
In paragraph 1:
The sending email is:
When sent by a mail account registered as a mail authenticity verification service user in the mail server, the mail account of the mail authenticity verification server is included as a reference account in the outgoing mail and is received from the mail server.
제1항에서,
상기 진위 확인 요청을 수신하는 단계와 상기 검증 데이터를 요청하여 수신하는 단계 사이에,
상기 사용자 단말의 메일 계정이 상기 수신 메일의 수신자 계정과 일치하는지 판단하는 계정 유효성 인증을 수행하는 단계를 더 포함하고,
상기 검증 데이터를 요청하여 수신하는 단계는,
상기 계정 유효성 인증에 성공하면, 상기 검증 데이터를 요청하는, 방법.
In paragraph 1:
Between receiving the authenticity confirmation request and requesting and receiving the verification data,
Further comprising performing account validity authentication to determine whether the mail account of the user terminal matches the recipient account of the received mail,
The step of requesting and receiving the verification data is,
If the account validity verification is successful, a method for requesting the verification data.
제6항에서,
상기 진위 확인 요청을 수신하는 단계와 상기 검증 데이터를 요청하여 수신하는 단계 사이에,
상기 사용자 단말이 제공한 사용자의 인증 단말로 OTP(One Time Password)를 전송하고, 상기 사용자 단말로부터 입력받은 OTP가 전송한 OTP와 일치하는지 판단하는 사용자 인증을 수행하는 단계를 더 포함하고,
상기 검증 데이터를 요청하여 수신하는 단계는,
상기 계정 유효성 인증 및 상기 사용자 인증에 모두 성공하면, 상기 검증 데이터를 요청하는, 방법.
In paragraph 6:
Between receiving the authenticity confirmation request and requesting and receiving the verification data,
Transmitting an OTP (One Time Password) to the user's authentication terminal provided by the user terminal, and performing user authentication to determine whether the OTP input from the user terminal matches the transmitted OTP,
The step of requesting and receiving the verification data is,
If both the account validity authentication and the user authentication are successful, requesting the verification data.
삭제delete 통신 장치,
메일 진위 검증 프로그램이 저장된 메모리,
상기 프로그램을 실행하는 적어도 하나의 프로세서를 포함하고,
상기 프로그램은,
서버 하드웨어 정보를 이용한 기기 인증 및 OTP(One Time Password)를 이용한 신원 인증을 통해 서버를 블록체인 노드로 참여시키기 위한 노드 등록을 수행하고, 블록체인 노드로 등록된 서버로부터 요청받은 구독 정보가 포함된 라이브러리를 생성하며,
메일 서버로부터 수신한 발신 메일로부터 상기 발신 메일의 진위 여부를 확인할 수 있는 고유 정보를 추출하고, 상기 추출한 고유 정보와 상기 발신 메일의 식별 정보를 포함하는 검증 데이터를 생성하며,
상기 라이브러리에 저장된 구독 정보를 토대로 선별한 상기 발신 메일을 구독 신청한 적어도 하나의 블록체인 노드에게 상기 검증 데이터를 동시에 일괄 배포하고,
사용자 단말로부터 수신 메일의 진위 확인 요청이 수신되면, 상기 라이브러리에 저장된 정보를 토대로, 블록체인 네트워크를 구성하는 복수의 블록체인 노드 중에서 선택한 블록체인 노드에게 상기 수신 메일의 식별 정보에 대응하는 검증 데이터를 요청하여 수신하고,
상기 수신한 검증 데이터로부터 추출한 고유 정보와 상기 수신 메일로부터 추출한 고유 정보를 비교하여 일치하면 상기 수신 메일이 원본임을 인증하고,
상기 수신 메일이 원본임을 나타내는 인증 결과를 포함하는 진위 확인 응답을 상기 사용자 단말로 전송하는 명령어들(Instructions)을 포함하는, 메일 진위 검증 서버.
communication device,
Memory where the mail authenticity verification program is stored,
At least one processor executing the program,
The above program is,
Node registration is performed to enable the server to participate as a blockchain node through device authentication using server hardware information and identity authentication using OTP (One Time Password), and subscription information requested from the server registered as a blockchain node is performed. Create a library,
Extracting unique information that can confirm the authenticity of the outgoing mail from an outgoing mail received from a mail server, and generating verification data including the extracted unique information and identification information of the outgoing mail,
Simultaneously distribute the verification data to at least one blockchain node that has applied for subscription to the outgoing mail selected based on subscription information stored in the library,
When a request to confirm the authenticity of the received mail is received from the user terminal, verification data corresponding to the identification information of the received mail is sent to the blockchain node selected from among the plurality of blockchain nodes that make up the blockchain network, based on the information stored in the library. Request and receive,
Compare the unique information extracted from the received verification data with the unique information extracted from the received mail, and if they match, certify that the received mail is the original;
A mail authenticity verification server comprising instructions for transmitting an authenticity confirmation response including an authentication result indicating that the received mail is an original to the user terminal.
삭제delete 제9항에서,
상기 프로그램은,
상기 사용자 단말의 메일 계정이 상기 수신 메일의 수신자 계정과 일치하는지 판단하는 계정 유효성 인증을 수행하고,
상기 사용자 단말이 제공한 사용자의 인증 단말로 OTP(One Time Password)를 전송하고, 상기 사용자 단말로부터 입력받은 OTP가 전송한 OTP와 일치하는지 판단하는 사용자 인증을 수행하며,
상기 계정 유효성 인증 및 상기 사용자 인증에 모두 성공하면, 상기 검증 데이터를 요청하는 명령어들을 더 포함하는, 메일 진위 검증 서버.


In paragraph 9:
The above program is,
Perform account validity authentication to determine whether the mail account of the user terminal matches the recipient account of the received mail,
Transmits an OTP (One Time Password) to the user's authentication terminal provided by the user terminal, and performs user authentication to determine whether the OTP input from the user terminal matches the transmitted OTP,
If both the account validity authentication and the user authentication are successful, the mail authenticity verification server further includes instructions for requesting the verification data.


KR1020210082187A 2021-06-24 2021-06-24 Method and server for verifying authenticity of mail KR102605368B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210082187A KR102605368B1 (en) 2021-06-24 2021-06-24 Method and server for verifying authenticity of mail

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210082187A KR102605368B1 (en) 2021-06-24 2021-06-24 Method and server for verifying authenticity of mail

Publications (2)

Publication Number Publication Date
KR20230000149A KR20230000149A (en) 2023-01-02
KR102605368B1 true KR102605368B1 (en) 2023-11-23

Family

ID=84925496

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210082187A KR102605368B1 (en) 2021-06-24 2021-06-24 Method and server for verifying authenticity of mail

Country Status (1)

Country Link
KR (1) KR102605368B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101837000B1 (en) * 2017-07-05 2018-03-12 (주)지란지교시큐리티 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
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
KR102162044B1 (en) * 2019-03-26 2020-10-06 주식회사 서우에스앤씨 The Method for User Authentication Based on Block Chain and The System Thereof
KR102240540B1 (en) * 2019-11-25 2021-04-15 (주)이썸테크 Email transceive system based on blockchain system for high reliability document distribution

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010016276A (en) * 2000-11-29 2001-03-05 안병엽 Method and system for processing e-mail with an anonymous receiver
KR102244890B1 (en) * 2019-06-26 2021-04-27 넷마블 주식회사 Global authentication account system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101837000B1 (en) * 2017-07-05 2018-03-12 (주)지란지교시큐리티 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
KR102162044B1 (en) * 2019-03-26 2020-10-06 주식회사 서우에스앤씨 The Method for User Authentication Based on Block Chain and The System 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
KR102240540B1 (en) * 2019-11-25 2021-04-15 (주)이썸테크 Email transceive system based on blockchain system for high reliability document distribution

Also Published As

Publication number Publication date
KR20230000149A (en) 2023-01-02

Similar Documents

Publication Publication Date Title
US10708060B2 (en) System and method for blockchain-based notification
US10917246B2 (en) System and method for blockchain-based cross-entity authentication
US11038670B2 (en) System and method for blockchain-based cross-entity authentication
EP3424176B1 (en) Systems and methods for distributed data sharing with asynchronous third-party attestation
CN111316278B (en) Secure identity and profile management system
WO2021000420A1 (en) System and method for blockchain-based cross-entity authentication
EP3997606B1 (en) Cryptoasset custodial system with custom logic
US9100171B1 (en) Computer-implemented forum for enabling secure exchange of information
US20090165098A1 (en) method of and system for conducting a trusted transaction and/or communication
CN102209046A (en) Network resource integration system and method
CN113792318A (en) Data authorization method and device, computer readable storage medium and computer equipment
US20210037009A1 (en) Biometric data sub-sampling during decentralized biometric authentication
Kim et al. Can we create a cross-domain federated identity for the industrial Internet of Things without Google?
KR102605368B1 (en) Method and server for verifying authenticity of mail
US20230334175A1 (en) Distributed Ledger Network for Data Portability
RU2794054C2 (en) Automated system for independent confirmation of transactions
KR20230132318A (en) Apparatus and method for managing electronic documents through virtual currency payment
WO2009080771A1 (en) A method and system of conducting a communication

Legal Events

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