KR20220066801A - Method and appratus for providing blackchain-based secure messenger service - Google Patents

Method and appratus for providing blackchain-based secure messenger service Download PDF

Info

Publication number
KR20220066801A
KR20220066801A KR1020210004233A KR20210004233A KR20220066801A KR 20220066801 A KR20220066801 A KR 20220066801A KR 1020210004233 A KR1020210004233 A KR 1020210004233A KR 20210004233 A KR20210004233 A KR 20210004233A KR 20220066801 A KR20220066801 A KR 20220066801A
Authority
KR
South Korea
Prior art keywords
token
message
messenger
blockchain
user terminal
Prior art date
Application number
KR1020210004233A
Other languages
Korean (ko)
Other versions
KR102667293B1 (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 포항공과대학교 산학협력단
Publication of KR20220066801A publication Critical patent/KR20220066801A/en
Application granted granted Critical
Publication of KR102667293B1 publication Critical patent/KR102667293B1/en

Links

Images

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/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/043Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • 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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • 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

Landscapes

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

Abstract

Disclosed are a method and device for providing a blockchain-based secure messenger service. As the method for the blockchain-based secure messenger service executed by a first user terminal of a transmitter, the method for the blockchain-based secure messenger service comprises: a step of encrypting a message to be transmitted to a second user terminal of a receiver; a step of transmitting the encrypted message to a centralized messenger server; a step of acquiring the input message data transmitted to the centralized messenger server; a step of issuing a blockchain-based non-fungible token for the input message data; and a step of transmitting the non-fungible token to the second user terminal. Therefore, the present invention is capable of having an advantage of being highly usable.

Description

블록체인 기반 보안 메신저 서비스 방법 및 장치{METHOD AND APPRATUS FOR PROVIDING BLACKCHAIN-BASED SECURE MESSENGER SERVICE}Blockchain-based secure messenger service method and device

본 발명은 보안 메신저 서비스에 관한 것으로, 보다 상세하게는, 블록체인 기반의 보안 메신저 서비스를 제공하는 방법 및 장치에 관한 것이다.The present invention relates to a secure messenger service, and more particularly, to a method and apparatus for providing a block chain-based secure messenger service.

메신저 서비스는 스마트폰 도입 이후 가장 활발히 사용되고 있는 의사소통 수단이다. 대표적인 상용 메신저 서비스에는 카카오톡, 라인, 텔레그램 등이 있다. 이러한 상용 메신저 서비스 환경에서 사용자는 메시지를 송신하거나 수신할 때 모든 것을 중앙 집중식 메신저 서비스 제공자에게 의존해야 한다.The messenger service is the most actively used communication method since the introduction of smartphones. Representative commercial messenger services include KakaoTalk, Line, and Telegram. In this commercial messenger service environment, users have to rely on a centralized messenger service provider for everything when sending or receiving messages.

사용자가 메신저 서비스를 통해 법적인 의미를 가지는 매우 중요한 메시지를 송ㆍ수신할 때, 다음과 같은 4가지 추가 기능을 필요로 한다. 즉, 메시지 상대방 신원 인증, 송ㆍ수신 메시지 내용 기밀성 보장, 송ㆍ수신 메시지 내용 무결성 증명, 메시지 송ㆍ수신 행위 부인 방지 증명이 필요하다.When a user sends/receives a very important message with a legal meaning through the messenger service, the following four additional functions are required. In other words, it is necessary to authenticate the identity of the other party of the message, guarantee the confidentiality of the message content sent/received, prove the integrity of the message content sent/received, and prove the non-repudiation of the message sending/receiving act.

그러나, 사용자가 모든 기능을 전적으로 의존해야 하는 중앙 집중식 메신저 서비스는 내부 관리자에 의한 위변조 혹은 외부 해킹 공격에 취약하므로 법적 메시지 송ㆍ수신에 필수적으로 요구되는 4가지 기능을 지원할 수 없는 문제가 있다.However, there is a problem that the centralized messenger service, which the user has to rely entirely on all functions, is vulnerable to forgery or falsification by internal administrators or external hacking attacks, and thus cannot support the four functions essential for sending and receiving legal messages.

본 발명은 전술한 종래 기술의 문제점을 해결하기 위해 도출된 것으로, 본 발명의 목적은 사용자가 법적인 의미를 가지는 중요한 메시지를 전송할 때 상용 메신저 서비스를 활용하면서도, 필수적으로 지원이 필요한 메시지 상대방 신원 인증, 송ㆍ수신 메시지 내용 기밀성 보장, 송ㆍ수신 메시지 내용 무결성 증명, 메시지 송ㆍ수신 행위 부인 방지 증명의 4가지 기능을 지원할 수 있는, 블록체인 기반의 보안 메시지 서비스 방법을 제공하는데 있다.The present invention was derived to solve the problems of the prior art described above, and an object of the present invention is to utilize a commercial messenger service when a user transmits an important message having a legal meaning, and to authenticate the identity of the message counterpart, which is essential for support; It aims to provide a blockchain-based secure message service method that can support four functions: guaranteeing the confidentiality of transmitted/received message contents, verifying the integrity of transmitted/receiving message contents, and proof of non-repudiation of message sending/receiving actions.

본 발명의 다른 목적은 전술한 블록체인 기반의 보안 메시지 서비스 방법을 위한 블록체인 기반의 보안 메시지 서비스 장치를 제공하는 데 있다.Another object of the present invention is to provide a block-chain-based security message service device for the above-described block-chain-based security message service method.

상기 기술적 과제를 해결하기 위한 본 발명의 일 측면에 따른 블록체인 기반 보안 메신저 서비스 방법은, 송신자의 제1 사용자 단말에 의해 실행되는 블록체인 기반 보안 메신저 서비스 방법으로서, 수신자의 제2 사용자 단말에게 전송할 메시지나 첨부파일을 암호화하는 단계; 상기 암호화하는 단계에서 암호화된 메시지를 중앙 집중식 메신저 서버를 통한 제2 사용자 단말에게 전송하는 단계; 암호화된 메시지에 대응하는 블록체인 기반 대체불가능 토큰을 발행하는 단계; 및 대체불가능 토큰을 제2 사용자 단말에게 전송하는 단계를 포함한다.A block chain-based secure messenger service method according to an aspect of the present invention for solving the above technical problem is a block chain-based secure messenger service method executed by a first user terminal of a sender, and is transmitted to a second user terminal of a receiver encrypting the message or attachment; transmitting the message encrypted in the encrypting step to a second user terminal through a centralized messenger server; issuing a blockchain-based non-fungible token corresponding to the encrypted message; and transmitting the non-fungible token to the second user terminal.

일실시예에서, 상기 암호화하는 단계는 수신자의 공개키를 이용하여 메시지 또는 첨부파일을 암호화한다.In one embodiment, the encrypting encrypts the message or the attached file using the public key of the recipient.

일실시예에서, 블록체인 기반 보안 메신저 서비스 방법은, 상기 발행하는 단계 후에 상기 대체불가능 토큰의 소유자를 상기 수신자로 변경하는 단계를 더 포함할 수 있다.In one embodiment, the block chain-based secure messenger service method may further include changing the owner of the non-fungible token to the recipient after the issuing step.

일실시예에서, 상기 제1 사용자 단말 및 상기 제2 사용자 단말은 인증기관(Certificate Authority)에서 인증하는 공개키 기반(Public Key Infrastructure) 키 쌍을 보유할 수 있다.In an embodiment, the first user terminal and the second user terminal may have a public key infrastructure key pair authenticated by a certificate authority.

일실시에에서, 상기 대체불가능 토큰의 속성은 토큰 식별자(ID), 토큰 타입, 소유자 정보, 송신자 메신저 ID, 수신자 메신저 ID, 메시지 내용 암호화 대칭키 정보, 유효기간 및 토큰 조회 상태 정보를 포함할 수 있다.In one embodiment, the properties of the non-fungible token may include token identifier (ID), token type, owner information, sender messenger ID, receiver messenger ID, message content encryption symmetric key information, expiration date, and token inquiry status information. have.

일실시예에서, 상기 대체불가능 토큰은 토큰 생성 및 전송 트랜잭션 처리 정보에 대한 토큰 속성을 포함하고, 여기서 송신자 또는 수신자는 토큰 생성 및 전송 트랜잭션 처리 정보를 통해 메시지의 송신 여부 또는 수신 여부에 대한 부인 방지 증명을 획득할 수 있다.In one embodiment, the non-fungible token includes a token attribute for token generation and transmission transaction processing information, wherein the sender or receiver non-repudiates whether a message has been sent or received via the token generation and transmission transaction processing information. proof can be obtained.

일실시예에서, 상기 대체불가능 토큰은 유효기간에 대한 토큰 속성을 포함하고, 여기서 송신자 또는 수신자는 유효기간을 통해 메시지 유효성을 자체 판단할 수 있다.In one embodiment, the non-fungible token includes a token attribute for a validity period, where the sender or receiver can self-determine message validity through the validity period.

일실시예에서, 상기 제1 사용자 단말과 상기 제2 사용자 단말은 중앙 집중식 메신저 서버를 통해 신호 및 데이터의 송수신하는 메신저 클라이언트들이며, XMPP(Extensible Messaging and Presence Protocol) 또는 메신저 자체 프로토콜을 사용할 수 있다.In an embodiment, the first user terminal and the second user terminal are messenger clients that transmit and receive signals and data through a centralized messenger server, and may use Extensible Messaging and Presence Protocol (XMPP) or a messenger protocol itself.

일실시예에서, 상기 송신자는 대체불가능 토큰의 토큰 조회 상태 속성을 통해 수신자의 수신 부인 방지를 검증할 수 있다. 혹은, 상기 수신자는 대체불가능 토큰을 조회하여 대체불가능 토큰에 기록되어 있는 송신자 서명과 메신저 ID를 확인하여 송신자의 신원을 검증하거나, 수신자의 공개키에 대응하는 메시지 암호화 대칭키를 통해 암호화된 메시지를 복호화할 수 있다.In one embodiment, the sender may verify the recipient's non-repudiation of receipt via the token inquiry status attribute of the non-fungible token. Alternatively, the receiver verifies the identity of the sender by checking the sender signature and messenger ID recorded in the non-fungible token by inquiring the non-fungible token, or sends an encrypted message through the message encryption symmetric key corresponding to the public key of the recipient. can be decrypted.

일실시예에서, 상기 제1 사용자 단말이나 상기 제2 사용자 단말에서 비보안 메시지 전송과 보안 메시지 전송을 선택하는 사용자 인터페이스에서 사용자 입력이나 명령을 획득하는 단계를 더 포함하며, 상기 사용자 입력이나 명령에 따라 상기 메시지를 암호화하는 단계, 상기 암호화된 메시지를 전송하는 단계, 상기 메시지 토큰을 발행하는 단계 및 상기 메시지 토큰을 전송하는 단계를 포함한 일련의 과정이 수행될 수 있다.In one embodiment, the method further comprises: obtaining a user input or command from a user interface for selecting transmission of a non-secure message and transmission of a secure message from the first user terminal or the second user terminal, according to the user input or command A series of processes including encrypting the message, transmitting the encrypted message, issuing the message token, and transmitting the message token may be performed.

일실시예에서, 상기 메시지에 포함되는 사진, 동영상, 문서 데이터 또는 이들 조합의 첨부파일은 네트워크를 통해 접근가능한 오프체인 공간에 저장되며, 상기 대체불가능 토큰은 첨부파일에 대한 오프체인 공간의 저장 경로를 기록할 수 있다.In one embodiment, the attached file of the photo, video, document data, or a combination thereof included in the message is stored in an off-chain space accessible through a network, and the non-fungible token is a storage path of the off-chain space for the attachment. can be recorded.

일실시예에서, 상기 블록체인 기반 보안 메신저 서비스 방법은, 상기 제1 사용자 단말의 메신저 화면에 첨부파일의 암호화된 첨부파일 데이터를 획득하고, 암호화된 첨부파일 데이터에 대한 블록체인 기반 대체불가능 추가 토큰을 발행하고, 대체불가능 추가 토큰을 제2 사용자 단말에 전송하기 위한 사용자 인터페이스를 제공하는 단계를 더 포함할 수 있다.In one embodiment, the blockchain-based secure messenger service method obtains encrypted attachment data of an attachment on the messenger screen of the first user terminal, and a block-chain-based non-replaceable additional token for the encrypted attachment data The method may further include providing a user interface for issuing and transmitting the non-fungible additional token to the second user terminal.

상기 기술적 과제를 해결하기 위한 본 발명의 일 측면에 따른 블록체인 기반 보안 메신저 서비스 장치는, 송신자의 제1 사용자 단말에 탑재되는 블록체인 기반 보안 메신저 서비스 장치로서, 수신자의 제2 사용자 단말에게 전송할 메시지나 첨부파일의 암호화된 메시지를 중앙 집중식 메신저 서버를 통해 상기 제2 사용자 단말에게 전송하는 메시지 처리부; 및 상기 암호화된 메시지에 대한 입력 메시지 데이터를 획득하고 상기 입력 메시지 데이터에 대한 블록체인 기반 대체불가능 토큰을 발행하며, 상기 대체불가능 토큰을 상기 제2 사용자 단말에게 전송하는 토큰 처리부를 포함한다.A block chain-based secure messenger service apparatus according to an aspect of the present invention for solving the above technical problem is a block-chain-based secure messenger service apparatus mounted on a first user terminal of a sender, and a message to be transmitted to a second user terminal of a receiver a message processing unit for transmitting the encrypted message of the attached file to the second user terminal through a centralized messenger server; and a token processing unit that acquires input message data for the encrypted message, issues a blockchain-based non-fungible token for the input message data, and transmits the non-fungible token to the second user terminal.

일실시예에서, 상기 토큰 처리부는, 암호화된 메시지에 대한 입력 메시지 데이터를 획득하고 입력 메시지 데이터에 대한 블록체인 기반 대체불가능 토큰을 발행하는 토큰 발행 모듈; 대체불가능 토큰을 제2 사용자 단말에게 전송하는 토큰 전송 모듈; 및 대체불가능 토큰의 소유자를 수신자로 변경하는 토큰 수정 모듈을 구비한다.In one embodiment, the token processing unit, the token issuance module to obtain the input message data for the encrypted message and to issue a blockchain-based non-fungible token for the input message data; a token transmission module for transmitting a non-fungible token to a second user terminal; and a token modification module for changing the owner of the non-fungible token to a recipient.

일실시예에서, 상기 토큰 처리부는, 메시지 토큰의 속성을 조회하는 트랜잭션을 생성하고 생성한 트랜잭션을 블록체인으로 전송하여 메시지 토큰의 암호화 대칭키를 조회하는 토큰 조회 모듈을 더 구비한다.In one embodiment, the token processing unit further includes a token inquiry module that generates a transaction for inquiring the properties of the message token and transmits the generated transaction to the block chain to inquire the encryption symmetric key of the message token.

일실시예에서, 상기 토큰 처리부는, 토큰 발행 모듈, 토큰 전송 모듈 및 토큰 수정 모듈에 의한 메시지 토큰에 대한 동작 결과가 블록체인에 최종적으로 저장될 때, 블록체인으로부터 이벤트를 받는 이벤트 관리 모듈을 더 구비한다.In one embodiment, the token processing unit further includes an event management module that receives an event from the block chain when the operation result for the message token by the token issuing module, the token sending module and the token modifying module is finally stored in the block chain. be prepared

일실시예에서, 상기 토큰 처리부는, 토큰 검증 모듈을 호출하여 메시지 토큰에 기록된 상대방 메신저 ID를 확인하고, 상대방 메신저 ID에 대응하는 사용자 정보 및 공개키와 상대방의 사용자 정보 및 공개키와의 일치 여부를 비교함으로써, 상대방의 사용자 신원을 인증한다.In an embodiment, the token processing unit calls the token verification module to check the counterpart's messenger ID recorded in the message token, and matches the user information and public key corresponding to the counterpart's messenger ID with the counterpart's user information and public key By comparing whether or not, the user identity of the other party is authenticated.

일실시예에서, 메신저 처리부와 토큰 처리부를 포함하는 보안 메신저는 사용자 단말의 메신저 서비스 화면에 제공되는 사용자 인터페이스에서의 특정 입력 혹은 명령에 따라 비보안 메시지 전송과 보안 메시지 전송을 선택할 수 있다.In an embodiment, the secure messenger including the messenger processing unit and the token processing unit may select non-secure message transmission and secure message transmission according to a specific input or command from a user interface provided on the messenger service screen of the user terminal.

전술한 본 발명에 의하면, 사용자가 송신하는 메시지는 암호화하여 전송되고, 해당 메시지의 암호화 키 정보, 송신 정보, 수신자 ID 등 관련 메타 데이터를 블록체인 상에 대체불가능 토큰으로 저장하고 수신자에게 전송함으로써, 메시지 내용에 대한 무결성과 기밀성을 블록체인의 보안 수준으로 보장할 수 있다.According to the present invention described above, the message transmitted by the user is encrypted and transmitted, and related metadata such as encryption key information, transmission information, and recipient ID of the message are stored as an irreplaceable token on the block chain and transmitted to the recipient, The integrity and confidentiality of the message content can be guaranteed with the security level of the blockchain.

또한, 본 발명에 의하면, 사용자는 전송하는 메시지의 중요도에 따라서 블록체인을 활용하지 않는 일반적인 평문 메시지를 전송하거나, 블록체인 기반 보안 메신저 서비스를 활용하여 보안 메시지를 전송할 수 있으므로, 기존의 중앙 집중식 메신저 서비스와 블록체인 기반 보안 메신저 서비스를 함께 사용할 수 있고, 특히 기존의 상용 메신저 서비스의 부가 기능으로 구현할 수 있으므로, 그 활용성을 높은 장점이 있다.In addition, according to the present invention, a user can transmit a general plaintext message that does not utilize a block chain or transmit a secure message using a block chain-based secure messenger service according to the importance of the message to be transmitted, so the existing centralized messenger The service and blockchain-based secure messenger service can be used together, and in particular, since it can be implemented as an additional function of the existing commercial messenger service, its usefulness is high.

또한, 본 발명에 의하면, 블록체인 상의 대체불가능 토큰 생성 및 전송과 토큰 소유자의 변경을 통해 블록체인 상의 토큰 소유자 정보를 활용하여 메시지 송ㆍ수신자에 대한 신원 인증을 획득할 수 있고, 또한 토큰 생성 및 전송 트랜잭션 처리 정보를 통해 메시지 송ㆍ수신 여부에 대해 부인 방지 증명을 블록체인의 보안 수준으로 제공할 수 있다.In addition, according to the present invention, it is possible to obtain identity authentication for message senders and receivers by utilizing token owner information on the block chain through the generation and transmission of non-fungible tokens on the block chain and change of the token owner, and also token generation and Through the transmission transaction processing information, it is possible to provide non-repudiation proof of whether a message is sent or received at the security level of the blockchain.

또한, 본 발명에 의하면, 대체불가능 토큰의 유효기간을 토큰 속성으로 설정함으로써, 중앙 집중식 상용 메신저 서비스에서 독자적으로 메시지 보관 정책을 실시하더라도, 토큰 유효기간을 통해 해당 메시지 유효성을 사용자가 직접 최종 판단하도록 할 수 있다.In addition, according to the present invention, by setting the validity period of the non-fungible token as a token attribute, even if the centralized commercial messenger service independently implements a message storage policy, the user can finally determine the validity of the message through the token validity period. can do.

또한, 본 발명에 의하면, 사용자는 기본적으로 상용 메신저 서비스를 활용하여 메시지를 전송하기 때문에, 메시지에 다양한 데이터 예컨대, 사진, 동영상, 문서 등을 첨부할 수 있으며, 해당 첨부파일 데이터에 대한 암호화 처리도 메시지 내용과 유사한 형태로 처리할 수 있으므로, 메시지 데이터뿐 아니라 첨부 데이터에 대한 보안성도 함께 지원할 수 있다.In addition, according to the present invention, since a user basically transmits a message using a commercial messenger service, various data such as photos, videos, documents, etc. can be attached to the message, and encryption processing for the attached file data is also performed. Since it can be processed in a form similar to the message content, not only message data but also security of attached data can be supported.

아울러, 본 발명에 의하면, 블록체인 특성을 이용하여 메시지 송ㆍ수신자 신원 인증, 메시지 내용 기밀성 및 무결성 보장, 그리고 메시지 송ㆍ수신 행위 부인 방지 증명 등을 블록체인의 보안 수준으로 지원하므로 높은 보안성을 요구하는 군용 또는 금융 분야 등의 분야에 적극 활용할 수 있는 장점이 있다.In addition, according to the present invention, high security is achieved by using the block chain characteristics to support message sender and receiver identity authentication, message content confidentiality and integrity, and message transmission/reception non-repudiation proof at the security level of the block chain. It has the advantage of being able to actively use it in fields such as the military or financial fields that require it.

도 1 은 본 발명의 일실시예에 따른 블록체인 기반 보안 메신저 서비스 시스템의 전체적인 구성도이다.
도 2는 도 1의 블록체인 기반 보안 메신저 서비스 시스템의 메신저 클라이언트에 대응하는 보안 메신저의 기능을 설명하기 위한 예시도이다.
도 3은 도 2의 보안 메신저에서 발생되는 대체불가능 토큰에 채용할 수 있는 데이터 구조에 대한 예시도이다.
도 4는 도 1의 블록체인 기반 보안 메신저 서비스 시스템에 의한 보안 메신저 서비스의 작동 원리를 설명하기 위한 예시도이다.
도 5는 본 발명의 일실시예에 따른 블록체인 기반 보안 메신저 서비스 방법에 대한 흐름도이다.
도 6 및 도 7은 도 5의 보안 메신저 서비스 방법의 사용자 단말에서 채용할 수 있는 인터페이스를 나타낸 예시도들이다.
1 is an overall configuration diagram of a blockchain-based secure messenger service system according to an embodiment of the present invention.
FIG. 2 is an exemplary diagram for explaining a function of a secure messenger corresponding to a messenger client of the block chain-based secure messenger service system of FIG. 1 .
3 is an exemplary diagram of a data structure that can be employed for a non-fungible token generated in the secure messenger of FIG. 2 .
FIG. 4 is an exemplary diagram for explaining the operation principle of the secure messenger service by the block chain-based secure messenger service system of FIG. 1 .
5 is a flowchart of a blockchain-based secure messenger service method according to an embodiment of the present invention.
6 and 7 are exemplary views illustrating an interface that can be employed in a user terminal of the secure messenger service method of FIG. 5 .

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing each figure, like reference numerals have been used for like elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. The term “and/or” includes a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When an element is referred to as being “connected” or “connected” to another element, it is understood that it may be directly connected or connected to the other element, but other elements may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

본 발명의 바람직한 실시예를 설명하기에 앞서 주요 용어를 살펴보면 다음과 같다.Before describing a preferred embodiment of the present invention, the main terms are as follows.

블록체인(blockchain)은 분산화된 거래장부를 네트워크에 참여하는 노드들이 유지하는 시스템을 의미한다. 즉, 블록체인은 트랜잭션(transaction)들의 집합으로 구성된 블록이 이전 블록의 해시(hash)값을 담아 모든 블록을 체인 형식으로 연결하는 데이터 구조로서, 블록체인 네트워크에 참여하는 모든 노드(node)가 상기 데이터 구조를 동일하게 유지하고, 합의 알고리즘(consensus algorithm)을 기반으로 새로운 블록을 생성하여 연결하는 분산 원장 기술(distributed ledger technology)이다. 특정 노드의 블록체인 데이터가 임의로 조작되더라도 블록 간에 이전 블록의 해시값을 가지고 있으므로 데이터 조작을 바로 탐지할 수 있으며, 조작된 데이터는 노드 간에 합의된 것이 아니기 때문에 블록체인에 반영되지 않는다. 이처럼 블록체인은 데이터를 임의로 위변조하는 것이 불가능하여 데이터의 무결성 및 투명성을 보장해준다.Blockchain refers to a system in which nodes participating in a network maintain a decentralized transaction ledger. In other words, the block chain is a data structure in which a block composed of a set of transactions contains the hash value of the previous block and connects all blocks in a chain format. It is a distributed ledger technology that maintains the same data structure and creates and connects new blocks based on a consensus algorithm. Even if the blockchain data of a specific node is arbitrarily manipulated, data manipulation can be detected immediately because it has the hash value of the previous block between blocks, and the manipulated data is not reflected in the blockchain because it is not agreed upon between nodes. As such, blockchain guarantees data integrity and transparency because it is impossible to arbitrarily forge or falsify data.

블록체인은 비허가형 블록체인(permissionless blockchain)과 허가형 블록체인(permissioned blockchain)으로 구분된다. 비허가형 블록체인은 사용자 및 노드가 아무런 제약 없이 블록체인 네트워크에 참여할 수 있는 블록체인이다. 대표적인 비허가형 블록체인으로는 비트코인(Bitcoin) 및 이더리움(Ethereum)이 있다. 허가형 블록체인은 허가된 사용자 및 노드들만 블록체인 네트워크에 참여할 수 있는, 비즈니스 환경에서 활용하기에 적합한 블록체인이다. 대표적인 허가형 블록체인으로는 하이퍼레저 패브릭(Hyperledger Fabric)이 있다.Blockchain is divided into permissionless blockchain and permissioned blockchain. A permissionless blockchain is a blockchain that allows users and nodes to participate in a blockchain network without any restrictions. Representative unauthorized blockchains include Bitcoin and Ethereum. A permissioned blockchain is a blockchain suitable for use in a business environment where only authorized users and nodes can participate in the blockchain network. A representative permissioned blockchain is Hyperledger Fabric.

스마트 컨트랙트(smart contract)란 블록체인을 기반으로 공증, 부동산 계약 등 다양한 형태의 계약을 체결하고 이행하는 계약을 말한다. 스마트 컨트랙트를 통해 비즈니스 로직을 구성하여 탈중앙화 애플리케이션(distributed application, dApp)을 개발 및 운영할 수 있다. 스마트 컨트랙트는 제 3자의 개입 없이 요청을 비즈니스 로직에 따라 자동으로 실행한다는 장점을 갖고 있다. 대표적인 dApp으로 토큰(token)이 있다.A smart contract refers to a contract that concludes and executes various types of contracts, such as notarization and real estate contracts, based on blockchain. It is possible to develop and operate a decentralized application (dApp) by configuring business logic through a smart contract. Smart contracts have the advantage of automatically executing requests according to business logic without the intervention of a third party. A representative dApp is a token.

토큰은 디지털 자산(digital asset)을 블록체인 상에 표현한 것이다. 블록체인에 디지털 자산을 토큰화하면 디지털 자산의 소유권 증명, 투명성 및 유동성 보장 등의 장점을 확보할 수 있다. 토큰은 대체가능 토큰(fungible token)과 대체불가능 토큰(non-fungible token)으로 구분된다. 대체가능 토큰은 쪼개질 수 있는 디지털 자산을 표현한 토큰이고, 대체불가능 토큰은 쪼개질 수 없는 디지털 자산을 표현한 토큰이다.A token is a digital asset expressed on a blockchain. Tokenizing digital assets on the blockchain can secure advantages such as proof of ownership of digital assets, transparency and liquidity guarantees. Tokens are divided into fungible tokens and non-fungible tokens. A fungible token is a token that expresses a digital asset that can be split, and a non-fungible token is a token that expresses a digital asset that cannot be split.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 본 발명의 일실시예에 따른 블록체인 기반 보안 메신저 서비스 시스템의 전체적인 구성도이다.1 is an overall configuration diagram of a blockchain-based secure messenger service system according to an embodiment of the present invention.

도 1을 참조하면, 블록체인 기반 보안 메신저 서비스 시스템은, 메신저 송신자 단말기(100a), 메신저 수신자 단말기(100b), 중앙 집중식 메신저 서버(200) 및 블록체인 기반 보안 메신저 서비스 장치(500)로 구성된다. 여기서, 중앙 집중식 메신저 서버(200)는 외부 메신저 서비스를 통해 메신저 송신기 단말기(100a)와 메신저 수신기 단말기(100b) 간의 메시지 송ㆍ수신 기능을 지원한다.Referring to FIG. 1 , the blockchain-based secure messenger service system includes a messenger sender terminal 100a, a messenger receiver terminal 100b, a centralized messenger server 200, and a block chain-based secure messenger service device 500. . Here, the centralized messenger server 200 supports a message transmission/reception function between the messenger transmitter terminal 100a and the messenger receiver terminal 100b through an external messenger service.

메신저 송신자 단말기(100a)와 메신저 수신자 단말기(100b)는 스마트 폰, 퍼스널 컴퓨터(personal computer, PC), 개인휴대통신 단말 등을 포함하며, 송ㆍ수신을 위한 메시지 및 다양한 형태의 첨부 데이터 입력을 담당한다. 메시지 및 첨부 데이터 암호화는 단말기 상에서 암호화키를 생성하고 처리될 수 있다.The messenger sender terminal 100a and the messenger receiver terminal 100b include a smart phone, a personal computer (PC), a personal mobile communication terminal, and the like, and are responsible for inputting messages and various types of attached data for transmission and reception. do. Message and attached data encryption can be processed by generating an encryption key on the terminal.

또한 메신저 송신자 단말기(100a)와 메신저 수신자 단말기(100b)는 중앙 집중식 메신저 서버(200)와 연동하는 메신저 클라이언트를 탑재할 수 있고, 이 경우 메신저 클라이언트는 블록체인 기반 보안 메신저 서비스 장치를 구현한 소프트웨어 모듈을 포함하거나, 블록체인 기반 보안 메신저 서비스 장치 혹은 이를 구현한 소프트웨어 모듈과 연동할 수 있다.In addition, the messenger sender terminal 100a and the messenger receiver terminal 100b may be equipped with a messenger client that interworks with the centralized messenger server 200. In this case, the messenger client is a software module implementing a block chain-based secure messenger service device. It can be linked with a blockchain-based secure messenger service device or a software module that implements it.

또한, 메신저 송신자 단말기(100a)는 일반 메시지와 보안 메시지 중 어느 하나를 선택하여 메시지를 전송할 수 있다. 이때, 보안 메신저(300)는 메신저 송신자 단말기(100a)에서 선택한 메시지 형태에 따라서, 일반 메시지 송신을 원하는 경우 종래의 메신저 서비스와 동일하게 메신저 API SDK(320)을 통해 중앙 집중식 메신저 서버(200)로 일반적인 메시지를 전송하고, 보안 메시지를 전송하고자 할 경우에는 보안 메신저(300) 내 블록체인 SDK(310)에서 블록체인 트랜잭션을 블록체인(400)에 전송하여 메시지와 연계된 블록체인 대체불가능 토큰을 생성하고, 동시에 메신저 API SDK(320)를 통해 중앙 집중식 메신저 서버(200)로 해당 메시지를 전송할 수 있다.Also, the messenger sender terminal 100a may select one of a general message and a secure message to transmit the message. In this case, the secure messenger 300 sends a message to the centralized messenger server 200 through the messenger API SDK 320 in the same manner as in the conventional messenger service when a general message transmission is desired according to the message type selected by the messenger sender terminal 100a. When sending a general message and sending a secure message, the blockchain SDK 310 in the secure messenger 300 sends a blockchain transaction to the blockchain 400 to generate a blockchain non-fungible token associated with the message. At the same time, the corresponding message may be transmitted to the centralized messenger server 200 through the messenger API SDK 320 .

중앙 집중식 메신저 서버(200)는 인터넷 환경에서 메시지 송ㆍ수신 서비스를 지원한다. 현재 상용화 서비스를 제공하고 있는 카카오톡, 라인, 텔레그램 등 메시지 송ㆍ수신 서비스 API를 제공하는 메신저 서비스들을 포함할 수 있다. 이 경우, 상용화 메신저 서비스는 본 실시예의 보안 메신저 서비스의 내용과는 독립적인 서비스로 간주할 수 있다.The centralized messenger server 200 supports message transmission and reception services in an Internet environment. It may include messenger services that provide message sending/receiving service APIs, such as KakaoTalk, Line, and Telegram, which currently provide commercial services. In this case, the commercial messenger service may be regarded as a service independent of the contents of the secure messenger service of the present embodiment.

블록체인 기반 보안 메신저 서비스 장치(500)는 보안 메신저(300)와 블록체인(400)으로 구성된다. 보안 메신저(300)는 블록체인과의 연계를 담당하는 블록체인 SDK(software development kit, 310)와 중앙 집중식 메신저 서버(200)와의 연계를 담당하는 메신저 API SDK(320)로 구성된다. 블록체인 기반 보안 메신저 서비스 장치(500)는 본 실시예에 따른 블록체인을 활용한 보안 메신저 서비스를 제공한다.The block chain-based secure messenger service device 500 includes a secure messenger 300 and a block chain 400 . The secure messenger 300 is composed of a block chain software development kit (SDK) 310 in charge of linking with the block chain and the messenger API SDK 320 in charge of linking with the centralized messenger server 200 . The block chain-based secure messenger service device 500 provides a secure messenger service using the block chain according to the present embodiment.

블록체인 기반 보안 메신저 서비스 장치(500)가 중앙 집중식 메신저 서버(200)와 연계하는 일례로서 도 1에서는 REST(Representational State Transfer) 기반으로 API(application programming interface)를 제공하는 웹 서비스를 총칭하는 RESTful 형태의 API로 연계됨을 표현하고 있다.As an example in which the block chain-based secure messenger service device 500 connects with the centralized messenger server 200, in FIG. 1, RESTful form collectively refers to web services that provide API (application programming interface) based on REST (Representational State Transfer). It expresses the connection with the API of

보안 메신저(300)의 메신저 API SDK(320)는 메신저 송신자 단말기(100a)에 의한 메시지 송신을 외부 중앙 집중식 메신저 서버(200)를 통해 처리한다. 그리고, 블록체인 SDK(310)는 블록체인 기반 대체불가능 토큰을 생성하거나 관리한다. 보안 메신저(300)는 메신저 수신자 단말기(100b)에서 메시지 확인을 위해 대체불가능 토큰의 조회를 블록체인 SDK(310)를 통해 지원한다.The messenger API SDK 320 of the secure messenger 300 processes message transmission by the messenger sender terminal 100a through the external centralized messenger server 200 . And, the blockchain SDK 310 creates or manages a blockchain-based non-fungible token. The secure messenger 300 supports the inquiry of non-fungible tokens through the block chain SDK 310 for message confirmation in the messenger receiver terminal 100b.

블록체인(400)은 허가형 혹은 비허가형 블록체인 등 어떤 형태의 블록체인이든 가능하며, 블록체인 기반 보안 메신저 서비스 장치의 블록체인 기반 보안 메신저 서비스와는 독립적으로 구성 가능하다.The block chain 400 can be any type of block chain, such as a permissioned or non-permitted block chain, and can be configured independently of the block chain-based secure messenger service of the block-chain-based secure messenger service device.

블록체인(400)은 메시지 내용을 관장하는 기관의 노드가 참여 노드로 구성될 수 있으며, 생성된 메시지 토큰을 블록에 담아 관리하는 역할을 한다. 이때, 메신저 서버(200)가 비즈니스 목적을 위해 활용되는 경우 블록체인 네트워크의 참여자를 제한하기 위해 허가형 블록체인으로 구성 가능하며, 기타 다른 경우에서는 비허가형인 퍼블릭 블록체인으로도 구성 가능하다.In the block chain 400, the node of the institution in charge of the content of the message may be composed of participating nodes, and it plays a role of managing the generated message token in a block. At this time, when the messenger server 200 is used for business purposes, it can be configured as a permissioned blockchain to limit participants in the blockchain network, and in other cases, it can also be configured as an unlicensed public blockchain.

도 2는 도 1의 블록체인 기반 보안 메신저 서비스 시스템의 메신저 클라이언트에 대응하는 보안 메신저의 기능을 설명하기 위한 예시도이다.FIG. 2 is an exemplary diagram for explaining a function of a secure messenger corresponding to a messenger client of the block chain-based secure messenger service system of FIG. 1 .

도 2를 참조하면, 본 실시예에 따른 블록체인 기반 보안 메신저 서비스 장치의 보안 메신저(300)는, 블록체인 SDK(310)와 메신저 API SDK(320)를 구비하며, 메시지 당 블록체인 토큰 생성, 전송, 검색 등의 기능을 지원함으로써 메시지를 관리한다.Referring to FIG. 2 , the secure messenger 300 of the block chain-based secure messenger service device according to the present embodiment includes a block chain SDK 310 and a messenger API SDK 320, and generates a block chain token per message; It manages messages by supporting functions such as transmission and search.

이를 위해 블록체인 SDK(310)는 토큰 발행 모듈(311), 토큰 전송 모듈(312), 토큰 수정 모듈(313), 토큰 조회 모듈(314), 블록체인 상에서 발생하는 이벤트를 전달받는 이벤트 모듈 (315), 토큰 검증 모듈(316)을 정의한다. 그리고 메신저 API SDK(320)는 중앙 집중식 메신저 서버(200)와 통신하는 API 모듈(321)을 정의한다.To this end, the blockchain SDK 310 includes a token issuance module 311, a token transmission module 312, a token modification module 313, a token inquiry module 314, and an event module 315 that receives events occurring on the block chain. ), the token verification module 316 is defined. And the messenger API SDK 320 defines an API module 321 that communicates with the centralized messenger server 200 .

토큰 발행 모듈(311)은 메시지 토큰을 발행하는 트랜잭션을 생성하고 생성한 트랜잭션을 블록체인(400)으로 전송한다. 보다 구체적으로는, 메신저 송신자 단말기(100a)가 보안 메시지 전송을 요청하면, 보안 메신저(300)는 토큰 발행 모듈(311)을 호출하여 블록체인 트랜잭션을 생성하고, 블록체인(400) 상에 메시지 토큰을 발행한다. 최초 메시지 토큰을 발행하면 이를 발행한 주체가 토큰의 소유자가 된다. 블록체인 토큰의 데이터 구조는 도 3을 참조하는 아래의 상세 설명에서 설명하기로 한다.The token issuance module 311 generates a transaction for issuing a message token and transmits the generated transaction to the block chain 400 . More specifically, when the messenger sender terminal 100a requests transmission of a secure message, the secure messenger 300 calls the token issuance module 311 to generate a block chain transaction, and a message token on the block chain 400 . to issue When the initial message token is issued, the entity that issued it becomes the owner of the token. The data structure of the blockchain token will be described in the detailed description below with reference to FIG. 3 .

토큰 전송 모듈(312)은 메시지 토큰을 특정 대상에게 전송하는 트랜잭션을 블록체인(400)으로 전송한다. 보다 구체적으로는, 최초 메시지 토큰의 소유자인 메신저 송신자 단말기(100a)가 메신저 수신자 단말기(100b) 정보를 담아 토큰 전송 모듈(312)을 호출하여 트랜잭션을 생성하고, 메신저 수신자 단말기(100b)에게 메시지 토큰의 소유권을 양도한다. 즉, 토큰 전송 모듈(312) 호출이 완료되면 토큰의 소유자가 상기 메신저 수신자 단말기(100b)로 변경된다.The token transmission module 312 transmits a transaction for transmitting a message token to a specific target to the block chain 400 . More specifically, the messenger sender terminal 100a, which is the owner of the initial message token, contains information on the messenger receiver terminal 100b, calls the token transmission module 312, creates a transaction, and sends the message token to the messenger receiver terminal 100b. transfer ownership of That is, when the call to the token transmission module 312 is completed, the token owner is changed to the messenger receiver terminal 100b.

이때, 메시지 토큰에서 토큰 전송 모듈(312)의 호출 권한이 소유자, 피승인자, 운영자에게 존재하지만, 본 실시예에서는 피승인자, 운영자 역할은 사용하지 않기 때문에 토큰 전송 모듈(312) 호출 권한은 소유자에게만 있다. 하지만. 본 발명의 다른 실시예에서는 피승인자 혹은 운영자에게도 호출 권한을 부여할 수 있다.At this time, in the message token, the right to call the token transfer module 312 exists for the owner, the approver, and the operator, but in this embodiment, the role of the approved person and the operator is not used. have. However. In another embodiment of the present invention, call authority may be granted to an approved person or an operator.

토큰 수정 모듈(313)은 메시지 토큰의 확장 속성의 하위 속성값을 기록하는 트랜잭션을 생성하고 블록체인(400)으로 전송한다. 보다 구체적으로는, 토큰 수정 모듈(313)에 대한 호출 권한은 소유자에게만 있으나, 본 실시예에서는 보안 메신저(500)에 의해 메신저 송신자 단말기(100a)와 메신저 수신자 단말기(100b)가 토큰 수정 모듈(313)을 호출할 수 있도록 구성된다.The token modification module 313 creates a transaction that records the sub-attribute value of the extended attribute of the message token and transmits it to the blockchain 400 . More specifically, only the owner has the right to call the token modification module 313, but in the present embodiment, the messenger sender terminal 100a and the messenger receiver terminal 100b are connected to the token modification module 313 by the secure messenger 500. ) to be called.

메신저 송신자 단말기(100a)가 토큰 전송 모듈(313)을 호출하여 보안 메시지를 메신저 수신자 단말기(100b)에게 전송하면, 메신저 수신자 단말기(100b)는 보안 메시지를 수신했다는 것을 토큰 수정 모듈(313)을 호출하여 토큰 조회 상태 속성에 기록할 수 있다. 이를 통해 메신저 송ㆍ수신자 단말기(100a, 100b)는 각각 보안 메시지를 송ㆍ수신했다는 사실을 추후 증명할 수 있다.When the messenger sender terminal 100a calls the token transmission module 313 to transmit a secure message to the messenger receiver terminal 100b, the messenger receiver terminal 100b calls the token modification module 313 to indicate that the secure message has been received. can be recorded in the token inquiry status attribute. Through this, the messenger transmitter/receiver terminals 100a and 100b can prove later that they have transmitted and received a secure message, respectively.

토큰 조회 모듈(314)은 메시지 토큰의 속성을 조회하는 트랜잭션을 생성하고 블록체인(400)으로 전송한다. 보안 메시지가 수신되면, 메신저 수신자 단말기(100b)는 토큰 조회 모듈(314)을 호출하여 메신저 송신자 단말기(100a)가 전송한 메시지 토큰의 암호화 대칭키 속성을 조회하고, 조회한 암호화 대칭키로 보안 메시지를 복호화하여 메시지 내용을 열람할 수 있다.The token inquiry module 314 creates a transaction that inquires the properties of the message token and transmits it to the blockchain 400 . When the secure message is received, the messenger receiver terminal 100b calls the token inquiry module 314 to inquire the encryption symmetric key property of the message token transmitted by the messenger sender terminal 100a, and retrieves the security message with the inquired encryption symmetric key. You can read the contents of the message by decrypting it.

보안 메신저(300)가 블록체인(400)으로부터 이벤트를 받으면, 이벤트 관리 모듈(315)은 호출한 주체에게 알림을 보내는 기능을 한다. 토큰 발행 모듈(311), 토큰 전송 모듈(312), 그리고 토큰 수정 모듈(313)이 호출된 후 메시지 토큰에 대한 동작 결과가 블록체인(400)에 최종적으로 저장되면 보안 메신저(300)는 블록체인(400)으로부터 이벤트를 받을 수 있다.When the secure messenger 300 receives an event from the block chain 400 , the event management module 315 functions to send a notification to the calling subject. After the token issuance module 311, the token transmission module 312, and the token modification module 313 are called, when the operation result for the message token is finally stored in the block chain 400, the secure messenger 300 is a block chain An event may be received from 400 .

일례로, 메신저 송신자 단말기(100a)가 토큰 발행 모듈(311)을 통해 블록체인(400) 상에 메시지 토큰을 발행하면, 이벤트 관리 모듈(315)은 성공적인 메시지 토큰 발행을 메신저 송신자 단말기(100a)에게 알린다.For example, when the messenger sender terminal 100a issues a message token on the blockchain 400 through the token issuance module 311, the event management module 315 sends a successful message token issuance to the messenger sender terminal 100a. inform

또한, 메신저 송신자 단말기(100a)가 토큰 전송 모듈(312)을 통해 블록체인(400) 상에 존재하는 메시지 토큰의 소유권을 양도하면, 이벤트 관리 모듈(315)은 토큰 전송 모듈(312)을 호출한 주체에게 성공적인 소유권 양도를 알린다.In addition, when the messenger sender terminal 100a transfers the ownership of the message token existing on the block chain 400 through the token transmission module 312, the event management module 315 calls the token transmission module 312. Inform the subject of a successful transfer of ownership.

또한, 메신저 송신자 단말기(100a)와 메신저 수신자 단말기(100b)가 토큰 수정 모듈(313)을 통해 메시지 토큰의 확장 속성의 하위 속성값을 수정하게 되면, 이벤트 관리 모듈(315)은 성공적인 수정 내용을 메신저 송ㆍ수신자 단말기(100a, 100b)에게 성공적인 수정을 알릴 수 있다.In addition, when the messenger sender terminal 100a and the messenger receiver terminal 100b modify the sub-attribute value of the extended attribute of the message token through the token modification module 313, the event management module 315 returns the successful modification to the messenger. Successful modification may be notified to the transmitter/receiver terminals 100a and 100b.

토큰 검증 모듈(316)은 대체불가능 토큰을 발행한 사용자의 신원을 인증하는 기능을 담당한다. 즉, 대체불가능 토큰을 발행한 사용자가 실제 자신에게 메시지를 전송한 사용자인지 판단 기준을 제공하는 기능을 한다.The token verification module 316 is responsible for authenticating the identity of the user who has issued the non-fungible token. That is, it functions to provide a criterion for determining whether the user who issued the non-fungible token is the user who actually sent the message to him or her.

모든 사용자는 사용자 신원을 검증받은 후 블록체인에 등록되므로, 자신의 서명 정보를 기반으로 트랜잭션을 생성할 수 있다. 따라서, 메시지 토큰 수신자는 토큰 검증 모듈(316)을 호출하여 송신자가 발행한 메시지 토큰에 기록된 송신자 메신저 ID를 확인하고, 송신자 메신저 ID와 대응되는 사용자 정보 및 공개키가 송신자의 사용자 정보 및 공개키와의 일치 여부를 비교함으로써, 송신자의 사용자 신원 인증을 수행한다.Since all users are registered on the blockchain after user identity is verified, transactions can be created based on their signature information. Therefore, the message token receiver calls the token verification module 316 to check the sender messenger ID recorded in the message token issued by the sender, and the user information and public key corresponding to the sender messenger ID are the sender's user information and public key By comparing whether it matches with , authentication of the sender's user identity is performed.

메신저 API SDK(320)의 API 모듈(321)은 중앙 집중식 메신서 서버(200)와 통신하는 기능을 한다. 보안 메신저(300)를 통해 송신자가 메시지 토큰을 성공적으로 발행하면 암호화된 메시지 내용을 API 모듈(321)을 통해 중앙 집중식 메신저 서버(200)로 전송한다. 최종적으로, 보안 메시지를 전송받은 중앙 집중식 메신저 서버(200)는 이를 수신자에게 전송할 수 있다.The API module 321 of the messenger API SDK 320 functions to communicate with the centralized messenger server 200 . When the sender successfully issues a message token through the secure messenger 300 , the encrypted message content is transmitted to the centralized messenger server 200 through the API module 321 . Finally, the centralized messenger server 200 that has received the secure message may transmit it to the receiver.

본 실시예에 따른 블록체인 기반 보안 메신저 서비스 장치의 보안 메신저는 암호화된 송신 메시지 즉, 입력 메시지 데이터에 대해 블록체인 상에 생성하는 대체불가능 토큰을 생성하며, 이때 생성되는 대체불가능 토큰의 데이터 구조를 예시하면 도 3과 같다.The secure messenger of the block chain-based secure messenger service device according to the present embodiment generates a non-fungible token generated on the block chain for an encrypted transmission message, that is, input message data, and the data structure of the generated non-fungible token is An example is shown in FIG. 3 .

도 3은 도 2의 보안 메신저에서 발생되는 대체불가능 토큰에 채용할 수 있는 데이터 구조에 대한 예시도이다.FIG. 3 is an exemplary diagram of a data structure that can be employed for a non-fungible token generated in the secure messenger of FIG. 2 .

도 3을 참조하면, 입력 메시지 데이터의 메시지 토큰(30)인 대체불가능 토큰의 데이터 구조는 표준 속성(32)과 확장 속성(34)을 포함한다. 표준 속성(32)은 토큰 식별자(id), 토큰 타입(type), 소유자(owner) 및 피승인자(approvee)를 포함하며, 확장 속성(34)은 온체인 확장 속성(xattr)과 오프체인 확장 속성을 포함하고, 온체인 확장 속성(xattr)의 하위 속성으로 송ㆍ수신자 메신저 ID, 암호화 대칭키, 유효기간 및 토큰 조회 상태를 정의하고, 오프체인 확장 하위 속성으로 경로, 해쉬를 정의한다.Referring to FIG. 3 , a data structure of a non-fungible token that is a message token 30 of input message data includes a standard attribute 32 and an extended attribute 34 . The standard attribute 32 includes a token identifier (id), a token type (type), an owner and an approvee, and the extended attribute 34 includes an on-chain extended attribute (xattr) and an off-chain extended attribute. , and define sender/receiver messenger ID, encryption symmetric key, validity period and token inquiry status as sub-properties of on-chain extended attribute (xattr), and define path and hash as off-chain extended sub-attributes.

또한, 메시지 토큰은 전송 메시지 당 새롭게 생성될 수도 있고, 송ㆍ수신자 메시지 통신 세션 당 새롭게 생성될 수도 있다. 송신 메시지 하나 하나가 중요한 내용을 담고 있는 경우에는 전송 메시지 당 하나의 메시지 토큰을 생성하며, 메시지 하나하나보다 송ㆍ수신자 간에 주고 받은 전체 메시지들의 내용이 중요하다면 송ㆍ수신자 메시지 통신 세션 당 하나의 메시지 토큰을 생성함으로써 오버헤드를 줄일 수 있다. 본 실시예에서는 전송 메시지 당 하나의 메시지 토큰을 생성하는 것으로 일례를 서술하고 있으나, 송ㆍ수신자 메시지 통신 세션 당 메시지 토큰을 생성하는 방법도 본 실시예의 범위에 포함된다.In addition, the message token may be newly generated per transmission message or newly generated per sender/receiver message communication session. If each outgoing message contains important content, one message token is generated for each transmitted message. The overhead can be reduced by generating tokens. Although this embodiment describes an example as generating one message token per transmission message, a method of generating a message token per sender/receiver message communication session is also included in the scope of this embodiment.

송ㆍ수신자 메신저 ID 속성에는 각각 송신자와 수신자의 중앙 집중식 메신저의 ID 정보를 입력할 수 있다. 암호화 대칭키 속성에는 송신자가 전송하는 메시지 내용을 암호화할 때 사용하는 대칭키를 수신자의 공개키로 암호화한 대칭키를 입력할 수 있다. 유효기간 속성에는 토큰의 유효기간을 입력함으로써 해당 메시지 유효성을 메신저 서버와 관계없이 송신자 또는 수신자가 최종 판단할 수 있다. 마지막으로, 수신자가 토큰을 전송받은 후, 토큰 조회 시 자신의 서명 정보를 토큰 조회 상태 속성에 입력할 수 있다.In the sender/receiver messenger ID attribute, ID information of the centralized messenger of the sender and receiver can be input, respectively. In the encryption symmetric key attribute, a symmetric key obtained by encrypting the symmetric key used when the sender encrypts the content of the message transmitted by the receiver's public key can be entered. By entering the validity period of the token in the validity period attribute, the sender or receiver can finally determine the validity of the message regardless of the messenger server. Finally, after the receiver receives the token, he or she can input his or her signature information into the token inquiry status attribute when inquiring about the token.

본 실시예의 메시지 토큰에 의하면, 토큰 타입 메시지(Message)인 메시지 토큰의 표준 속성으로서 토큰 식별자(id), 토큰 타입(type), 소유자(owner) 및 피승인자(approvee)를 설정하고, 온체인 확장 속성(xattr)의 하위 속성으로 중앙 집중식 메신저 서버(200)에 가입한 송ㆍ수신자 메신저 ID, 암호화 대칭키, 유효기간, 토큰 조회 상태 속성을 설정하고, 오픈체인 확장 하위 속성으로 경로, 해쉬 속성을 설정함으로써, 메시지 송ㆍ수신에 따른 사용자 인증, 메시지 무결성 검증, 송ㆍ수신 부인방지 기능을 효과적으로 제공할 수 있다.According to the message token of this embodiment, token identifier (id), token type (type), owner and approver are set as standard properties of a message token that is a token type message (Message), and on-chain expansion Set the sender/receiver messenger ID, encryption symmetric key, validity period, and token inquiry status properties subscribed to the centralized messenger server 200 as sub-properties of the attribute (xattr), and set the path and hash properties as open chain extension sub-properties By setting this, it is possible to effectively provide user authentication according to message transmission/reception, message integrity verification, and non-repudiation of transmission/reception functions.

도 4는 도 1의 블록체인 기반 보안 메신저 서비스 시스템에 의한 보안 메신저 서비스의 작동 원리를 설명하기 위한 예시도이다.FIG. 4 is an exemplary diagram for explaining the operation principle of the secure messenger service by the block chain-based secure messenger service system of FIG. 1 .

본 실시예에 따른 블록체인 기반 보안 메신저 서비스 시스템의 전체적인 작동 원리는 도 4에 도시한 바와 같다.The overall operation principle of the blockchain-based secure messenger service system according to the present embodiment is shown in FIG. 4 .

도 4를 참조하면, 메신저 송ㆍ수신자 단말기(100a, 100b)와 중앙 집중식 메신저 서버(200)는 모두 블록체인(400)에 등록된 사용자이며, 등록 시 사용자 신원을 인증한다. 또한, 인증된 사용자는 PKI 기반 공개키와 비밀키를 발급받는다.Referring to FIG. 4 , both the messenger transmitter/receiver terminals 100a and 100b and the centralized messenger server 200 are users registered in the block chain 400 , and authenticate the user identity during registration. In addition, the authenticated user is issued a PKI-based public key and a private key.

메신저 송ㆍ수신자 단말기(100a, 100b)와 중앙 집중식 메신저 서버(200)는 네트워크를 통해 보안 메신저 서비스 장치(500)와 연결될 수 있다. 본 실시예에서 보안 메신저 서비스 장치(500)는 거시 측면에서 보안 메신저(300)와 블록체인(400)을 포함할 수 있고, 미시 측면에서 보안 메신저(300)을 구비하고 블록체인(400)과 연결되거나 연동할 수 있다.The messenger transmitter/receiver terminals 100a and 100b and the centralized messenger server 200 may be connected to the secure messenger service device 500 through a network. In this embodiment, the secure messenger service device 500 may include the secure messenger 300 and the block chain 400 in the macro aspect, and the secure messenger 300 in the micro aspect and connected to the block chain 400 . or can be linked.

보안 메신저(300)는 블록체인에 접근할 수 있는 사용자를 제어하기 위해 사용자들의 정보와 공개키를 저장한다. 이에, 허가된 사용자는 보안 메신저(300)에서 관리하는 자신의 공개키를 이용하여 블록체인 기반 대체불가능 토큰을 통한 사용자 인증을 수행할 수 있다.The secure messenger 300 stores user information and public keys to control users who can access the block chain. Accordingly, the authorized user may perform user authentication through a blockchain-based non-fungible token using his/her public key managed by the secure messenger 300 .

메신저 송신자 단말기(100a)에서 보안 메시지를 전송하고자 하면, 메시지 내용을 입력한 후 메시지 내용을 암호화하기 위해 대칭키를 생성하고 보안 메신저(300)를 통해 수신자의 공개키를 획득한다.When the messenger sender terminal 100a wants to transmit a secure message, a symmetric key is generated to encrypt the message content after inputting the message content, and the public key of the receiver is obtained through the secure messenger 300 .

또한, 보안 메시지를 전송하고자 하면, 송신자가 생성한 대칭키로 메시지 내용을 암호화하고, 메시지 내용을 암호화한 대칭키는 보안 메신저(300)의 블록체인 SDK(310)를 통해 수신자의 공개키로 암호화되어 블록체인(400)의 메시지 토큰 속성에 기록된다. 따라서, 블록체인(400)의 메시지 토큰은 제 3자가 접근할 수 있으나, 암호화된 메시지 내용을 복호화하기 위해서는 수신자의 개인키가 필요하다.In addition, when a secure message is to be transmitted, the message content is encrypted with the symmetric key generated by the sender, and the symmetric key encrypted with the message content is encrypted with the recipient's public key through the block chain SDK 310 of the secure messenger 300 to block It is recorded in the message token attribute of the chain 400 . Therefore, the message token of the block chain 400 can be accessed by a third party, but the recipient's private key is required to decrypt the encrypted message content.

구체적으로, 메신저 송신자 단말기(100a)에서 보안 메시지를 전송하면 블록체인 기반 보안 메신저 서비스(500)의 동작 과정은 다음과 같다.Specifically, when the messenger sender terminal 100a transmits a secure message, the operation process of the blockchain-based secure messenger service 500 is as follows.

먼저, 메신저 송신자 단말기(100a)는 토큰 발행 모듈을 호출하여 블록체인(400) 상에 보안 메신저 메시지 기반의 메시지 토큰(토큰 id는 T0)을 발행한다(S110). 메시지 토큰은 확장 속성의 하위 속성으로 메신저 송신자 단말기(100a)의 ID, 메신저 수신자 단말기(100b)의 ID, 수신자의 공개키로 암호화한 대칭키 정보, 보안 메시지의 유효기간 그리고 토큰 조회 상태 속성을 포함한다.First, the messenger sender terminal 100a issues a message token (token id is T 0 ) based on a secure messenger message on the block chain 400 by calling the token issuing module (S110). The message token is a sub-property of the extended attribute, and includes the ID of the messenger sender terminal 100a, the ID of the messenger receiver terminal 100b, symmetric key information encrypted with the receiver's public key, the validity period of the secure message, and the token inquiry status attribute. .

다음, 보안 메신저(300)의 이벤트 관리 모듈은 메신저 송신자 단말기(100a)에 메시지 토큰(T0)의 발행이 완료되었음을 알리며, 메신저 송신자 단말기(100a)는 토큰 전송 모듈을 통해 메신저 수신자 단말기(100b)에게 메시지 토큰(T0)를 전송한다(S120).Next, the event management module of the secure messenger 300 notifies the messenger sender terminal 100a that the issuance of the message token T 0 is completed, and the messenger sender terminal 100a sends the message receiver terminal 100b through the token transmission module. A message token (T 0 ) is transmitted to (S120).

다음, 보안 메신저(300)의 이벤트 관리 모듈로부터 토큰 전송에 대한 성공 알림을 받은 메신저 송신자 단말기(100a)는 메시지 토큰(T0)과 전송 메시지 내용을 포함한 보안 메시지를 네트워크를 통해 중앙 집중식 메신저 서버(200)로 전송한다(S210).Next, the messenger sender terminal 100a, having received a notification of the success of the token transmission from the event management module of the secure messenger 300, transmits a secure message including the message token (T 0 ) and the content of the transmitted message through the network to the centralized messenger server ( 200) (S210).

다음, 중앙 집중식 메신저 서버(200)는 수신한 보안 메시지를 메신저 수신자 단말기(100b)에게 전송한다(S220).Next, the centralized messenger server 200 transmits the received secure message to the messenger receiver terminal 100b (S220).

다음, 메신저 수신자 단말기(100b)는 전송받은 보안 메시지를 검증하기 위해 검증 모듈(316)을 호출한다(S310). 메신저 수신자 단말기(100b)는 송신자의 서명을 기반으로 발행된 메시지 토큰을 검증하여 송신자의 신원을 확인한다. 즉, 제 3자가 송신자로 신원을 위장하여 메시지를 전송하기 위해서는 송신자의 서명을 기반으로 메시지 토큰을 발행해야 하므로 메시지 전송이 불가능하다. 따라서, 수신자는 송신자가 발행한 메시지 토큰에 기록된 송신자 메신저 ID를 확인하고, 송신자 메신저 ID와 관련된 사용자 정보 및 공개키가 수신자가 알고 있는 송신자의 사용자 정보 및 공개키와 일치하는지 여부를 비교함으로써, 송신자 신원 인증을 수행한다.Next, the messenger receiver terminal 100b calls the verification module 316 to verify the received secure message (S310). The messenger receiver terminal 100b verifies the message token issued based on the sender's signature to confirm the sender's identity. In other words, in order for a third party to disguise the identity of the sender and transmit a message, the message must be issued based on the sender's signature, making message transmission impossible. Therefore, the receiver checks the sender messenger ID recorded in the message token issued by the sender, and compares whether the user information and public key related to the sender messenger ID match the user information and public key of the sender known to the receiver, Sender identity authentication is performed.

또한, 메시지 내용의 무결성을 보장하기 위해 메시지 송신자는 메시지 내용을 기반으로 대체불가능 토큰을 발행하여 블록체인 상에 등록한다. 따라서 암호화된 메시지 내용은 메시지 토큰 내 저장된 대칭키를 통해 복호화할 수 있고, 그에 따라 메신저 수신자 단말기(100b)에서 메시지 내용을 확인할 수 있다(S320).In addition, to ensure the integrity of the message content, the message sender issues a non-fungible token based on the message content and registers it on the blockchain. Accordingly, the encrypted message content can be decrypted using the symmetric key stored in the message token, and accordingly, the message content can be checked in the messenger receiver terminal 100b (S320).

또한, 메시지 송ㆍ수신 행위 부인 방지 증명에 대해서는, 메신저 송신자 단말기(100a)의 서명 정보를 기반으로 토큰을 발행하므로 송신 행위에 대한 부인 방지 증빙이 가능하다. 추가적으로 발행된 메시지 토큰을 메신저 수신자 단말기(100b)가 수신하고, 메시지 내용을 확인하기 위해 토큰에 기록되어 있는 대칭키 조회시 보안 메신저(300)의 토큰 수정 모듈을 호출하여 수신자가 메시지 토큰을 조회했다는 사실을 메시지 토큰의 토큰 조회 상태 속성에 수신자의 서명 정보를 기록함으로써 수신 행위 부인 방지 증빙을 제공한다.In addition, for the non-repudiation of message sending/receiving act, token is issued based on the signature information of the messenger sender terminal 100a, so it is possible to prove non-repudiation of the sending act. The message receiver terminal 100b receives the additionally issued message token, and calls the token modification module of the secure messenger 300 when inquiring the symmetric key recorded in the token to check the message content, indicating that the receiver has inquired the message token. In fact, it provides proof of non-repudiation of receipt by recording the recipient's signature information in the token inquiry status attribute of the message token.

본 실시예에 따르면 블록체인 기반 보안 메신저 서비스 방법 및 장치는 사용자 신원 인증, 메시지 내용 무결성 및 기밀성 보장, 그리고 송신/수신 행위 부인 방지 증명을 블록체인을 통해 해결할 수 있으며, 특히 대체불가능 토큰을 모델링하여 메신저에서 보안이 강화된 메시지를 전송하거나 수신하도록 할 수 있다.According to this embodiment, the blockchain-based secure messenger service method and device can solve user identity authentication, message content integrity and confidentiality guarantee, and non-repudiation proof of sending/receiving actions through blockchain, especially by modeling non-fungible tokens You can have the messenger send or receive security-enhanced messages.

한편, 본 실시예에 따른 블록체인 기반 보안 메신저 서비스 장치(500)가 네트워크를 통해 메신저 송ㆍ수신자 단말기(100a, 100b) 및 중앙 집중식 메신저 서버(200)와 연결되는 별도의 장치 형태인 것으로 설명하였으나, 본 발명은 그러한 구성으로 한정되지 않고, 응용 어플리케이션 형태로 메신저 송신자 단말기(100a)와 메신저 수신자 단말기(100b)에 각각 설치되는 설치 구조를 가질 수 있다.On the other hand, it has been described that the block chain-based secure messenger service device 500 according to the present embodiment is in the form of a separate device connected to the messenger transmitter/receiver terminals 100a and 100b and the centralized messenger server 200 through a network. , the present invention is not limited to such a configuration, and may have an installation structure in which the messenger sender terminal 100a and the messenger receiver terminal 100b are respectively installed in the form of an application application.

도 5는 본 발명의 일실시예에 따른 블록체인 기반 보안 메신저 서비스 방법에 대한 흐름도이다.5 is a flowchart of a blockchain-based secure messenger service method according to an embodiment of the present invention.

본 실시예에서 특정 메시지의 송신자에 대응하는 제1 사용자 단말(100A)은 제1 보안 메신저(300a)를 구비하고, 상기의 특정 메시지의 수신자에 대응하는 제2 사용자 단말(100B)은 제2 보안 메신저(300b)를 구비한다. 보안 메신저는 중앙 집중식 메신저 서버와 연동하는 메신저 클라이언트에 대응될 수 있다.In this embodiment, the first user terminal 100A corresponding to the sender of the specific message includes the first secure messenger 300a, and the second user terminal 100B corresponding to the receiver of the specific message is the second security message. A messenger 300b is provided. The secure messenger may correspond to a messenger client interworking with a centralized messenger server.

제1 보안 메신저(300a)와 제2 보안 메신저(300b)는 도 2를 참조하여 앞서 설명한 블록체인 SDK 및 메신저 API SDK를 각각 구비할 수 있다. 블록체인 SDK는 토큰 발행 모듈, 토큰 전송 모듈, 토큰 수정 모듈, 토큰 조회 모듈, 이벤트 관리 모듈 및 토큰 검증 모듈을 구비하고, 메신저 API SDK는 API 모듈을 구비할 수 있다.The first secure messenger 300a and the second secure messenger 300b may each include the blockchain SDK and the messenger API SDK described above with reference to FIG. 2 . The blockchain SDK may include a token issuance module, a token transmission module, a token modification module, a token inquiry module, an event management module, and a token verification module, and the messenger API SDK may include an API module.

도 5를 참조하면, 네트워크 상에서 메신저 서비스의 메시지를 통해 대화하는 제1 사용자와 제2 사용자가 있을 때, 제1 사용자 단말(100A)은 제1 보안 메신저(300a)를 통해 수신자 공개키를 이용해 메시지를 암호화하고(S51), 암호화된 메시지를 중앙 집중식 메신저 서버(200)를 통해 제2 사용자 단말(100B)에게 전달한다(S52, S53). 이때 메신저 서버(200)는 복호화를 위한 대칭키가 없으므로 암호화된 메시지의 내용을 볼 수 없다.Referring to FIG. 5 , when there is a first user and a second user communicating through a message of a messenger service on a network, the first user terminal 100A sends a message using the recipient public key through the first secure messenger 300a. is encrypted (S51), and the encrypted message is transmitted to the second user terminal 100B through the centralized messenger server 200 (S52, S53). At this time, the messenger server 200 cannot view the contents of the encrypted message because there is no symmetric key for decryption.

다음, 제1 사용자 단말(100A)에서 제2 사용자 단말(100B)로 암호화된 메시지 즉, 보안 메시지가 전송됨에 따라, 제1 보안 메신저(300a)는 입력 메시지 데이터를 획득한다(S54). 입력 메시지 데이터는 앞서 제1 사용자 단말(100A)이 제2 사용자 단말(100B)에게 보낸 암호화된 메시지 혹은 이와 관련된 고유 식별자를 포함할 수 있다.Next, as the encrypted message, that is, the secure message is transmitted from the first user terminal 100A to the second user terminal 100B, the first secure messenger 300a obtains input message data (S54). The input message data may include an encrypted message previously sent from the first user terminal 100A to the second user terminal 100B or a unique identifier related thereto.

다음, 제1 보안 메신저(300a)는 입력 메시지 데이터 기반의 메시지 토큰을 블록체인 상에 발행한다. 예컨대, 제1 보안 메신저(300a)는 입력 메시지 데이터 기반의 메시지 토큰을 발행하기 위한 메시지 토큰 발행 요청 신호를 블록체인(400)에 전달하고(S55) 메시지 토큰 발행 요청 신호에 응하여 메시지 토큰을 발행한 블록체인(400)으로부터 메시지 토큰을 전달받을 수 있다(S56, S57).Next, the first secure messenger 300a issues a message token based on the input message data on the block chain. For example, the first secure messenger 300a transmits a message token issuance request signal for issuing a message token based on the input message data to the block chain 400 (S55) and issues a message token in response to the message token issuance request signal. A message token may be received from the block chain 400 (S56, S57).

다음, 제1 보안 메신저(300a)는 메시지 토큰의 소유자를 제2 사용자 단말(100B)로 변경한다(S58). 그리고, 소유자가 변경된 메시지 토큰을 제2 사용자 단말(100B)에게 전송한다(S59).Next, the first secure messenger 300a changes the owner of the message token to the second user terminal 100B (S58). Then, the owner transmits the changed message token to the second user terminal 100B (S59).

한편, 앞서 암호화된 메시지를 수신한 제2 사용자 단말(100B)의 제2 보안 메신저(300b)는 메시지 토큰의 수신에 응하여 메시지 토큰을 디코딩하고(S61), 디코딩을 통해 얻은 토큰 아이디로 블록체인(400)에 토큰을 조회하고(S620) 송신자의 신원을 검증받을 수 있다(S63).On the other hand, the second secure messenger 300b of the second user terminal 100B that has received the previously encrypted message decodes the message token in response to the receipt of the message token (S61), and uses the token ID obtained through decoding ( 400), the token may be inquired (S620), and the identity of the sender may be verified (S63).

또 한편으로, 메시지 토큰의 수신 이전이나 이후에 상관없이 제2 사용자 단말(100B)은 암호화된 메시지의 수신 시, 자신이 소유한 대칭키로 메시지를 복호화하여 메시지 내용을 확인할 수 있다. 이때, 대칭키는 암호화된 메시지의 암호화에 사용된 공개키와 쌍을 이루는 키를 지칭한다.On the other hand, regardless of before or after reception of the message token, when receiving the encrypted message, the second user terminal 100B may decrypt the message with the symmetric key it owns to check the message content. In this case, the symmetric key refers to a key paired with the public key used to encrypt the encrypted message.

이와 같이, 본 실시예의 구성에 의하면, 사용자 단말의 프로세서에 탑재되는 응용 어플리케이션의 형태인 보안 메신저를 통해 상용 메신저 서비스에서 사용자들의 메시지를 효과적으로 보안하여 비밀 혹은 비공개 대화가 가능하도록 할 수 있다.As described above, according to the configuration of the present embodiment, it is possible to effectively secure the messages of users in a commercial messenger service through a secure messenger, which is an application application mounted on the processor of the user terminal, so that a secret or private conversation is possible.

한편, 전술한 실시예의 보안 메신저 서비스 방법이나 장치에 채용할 수 있는 블록체인(400)은 대체불가능 토큰을 지원하는 체인코드(chaincode) 또는 허가형 블록체인 시스템을 포함할 수 있고, 또한 블록체인(400)은 스마트 컨트랙트(smart contract)를 이용하여 블록체인 상에 유일성을 갖는 객체에 대한 대체불가능 토큰(non-fungible token)을 생성하는 피어 서버를 포함할 수 있다. 이 경우, 탈중앙화 애플리케이션(decentralized application, dApp)를 통해 특정 객체에 대한 대체불가능 토큰의 발행이 요청되면, 피어 서버는 토큰관리부를 통해 토큰 발행함수를 호출하여 토큰 식별자, 토큰타입, 및 소유자를 포함하는 기본속성과 토큰타입 별로 설정되는 확장속성으로 구성된 데이터 구조를 갖는 대체불가능 토큰을 발행하고, 발행된 대체불가능 토큰의 현재 상태(state)를 데이터베이스에 기록할 수 있다.On the other hand, the block chain 400 that can be employed in the secure messenger service method or device of the above-described embodiment may include a chaincode or permission-type block chain system that supports non-fungible tokens, and also the block chain ( 400) may include a peer server that generates a non-fungible token for an object having uniqueness on a block chain using a smart contract. In this case, when the issuance of a non-fungible token for a specific object is requested through a decentralized application (dApp), the peer server calls the token issuance function through the token management unit to include the token identifier, token type, and owner. It is possible to issue a non-fungible token having a data structure composed of basic properties and extended properties set for each token type, and record the current state of the issued non-fungible token in the database.

여기서 대체불가능 토큰은 메시지 토큰에 대응될 수 있다. 대체불가능 토큰이 이더리움(Ethereum) 등의 공개형 블록체인인 경우, 대체불가능 토큰은 표준(standard) 데이터 구조와 확장(extensible) 데이터 구조를 구비하고, ERC-721, 디폴트(default) 등의 표준 인터페이스와 확장 인터페이스를 구비할 수 있다. 그리고 대체불가능 토큰을 위한 보안 메신저 서비스 장치의 프레임워크에서는 dApp과의 통신을 위해 표준 프로토콜과 확장 프로토콜을 구비할 수 있다. 여기서 표준 프로토콜은 ERC-721 프로토콜과 디폴트 프로토콜로 구성될 수 있다. ERC-721 프로토콜은 패브릭 환경(fabric environment)에서 이더리움 ERC-721 토큰 표준 인터페이스를 제공하기 위해 정의되고, 디폴트 프로토콜은 표준 데이터 구조에 정의된 속성들을 위한 함수들을 정의한다. 그리고 확장 프로토콜은 확장 데이터 구조를 관리하는 xattr과 uri를 위한 getter와 setter 함수들을 정의한다.Here, the non-fungible token may correspond to the message token. If the non-fungible token is an open blockchain such as Ethereum, the non-fungible token has a standard data structure and an extensible data structure, and standards such as ERC-721 and default It may include an interface and an extension interface. In addition, the framework of the secure messenger service device for the non-fungible token may include a standard protocol and an extension protocol for communication with the dApp. Here, the standard protocol may be composed of an ERC-721 protocol and a default protocol. The ERC-721 protocol is defined to provide an Ethereum ERC-721 token standard interface in a fabric environment, and the default protocol defines functions for properties defined in the standard data structure. And the extension protocol defines getter and setter functions for xattr and uri that manage the extended data structure.

이때, 프로토콜에 정의된 함수는 데이터 구조에서 속성에 직접 접근하지 못하고 속성 관리 함수를 통해 접근하도록 구현될 수 있다. 예를 들어, 온체인 확장 데이터 구조를 IType 인터페이스와 Adapter 디자인 패턴으로 구현할 수 있다. IType 인터페이스에는 xattr 하위 속성을 위한 속성 관리 함수들이 정의되어 있다.타입1을 추가하는 경우, 타입1 클래스에 xattr 하위 속성을 정의하고, IType 인터페이스를 상속하여 속성 관리 함수들을 구현할 수 있다. 그리고 Adapter 디자인 패턴을 통해 토큰 타입에 따라 다른 xattr 하위 속성을 지정할 수 있도록 XAttrAdapter 클래스에 타입1을 등록할 수 있다.In this case, the function defined in the protocol cannot directly access the property in the data structure, but may be implemented to access it through the property management function. For example, an on-chain extended data structure can be implemented with the IType interface and the Adapter design pattern. Property management functions for xattr sub-properties are defined in the IType interface. When type 1 is added, xattr sub-properties are defined in the type 1 class, and property management functions can be implemented by inheriting the IType interface. And type 1 can be registered in the XAttrAdapter class so that different xattr sub-properties can be specified according to the token type through the Adapter design pattern.

또한, 전술한 보안 메신저 서비스 방법에 채용할 수 있는 제1 보안 메신저(300a) 혹은 제2 보안 메신저(300b)는 카카오톡, 라인, 텔레그램 등의 기존의 상용 메신저 서비스에 보안 기능이 추가된 형태로 구현될 수 있으나, 이에 한정되지 않고, 별도의 메신저 기능 확장 응용 애플리케이션으로서 기존의 상용 메신저 서비스에 결합되는 형태를 구비하거나, 별도로 본 실시예의 보안 기능을 갖춘 메신저 응용 애플리케이션의 형태로 구현될 수 있다.In addition, the first secure messenger 300a or the second secure messenger 300b that can be employed in the above-described secure messenger service method is a form in which a security function is added to existing commercial messenger services such as KakaoTalk, Line, and Telegram. may be implemented, but is not limited thereto, and may be implemented in the form of a separate messenger function extension application application coupled to an existing commercial messenger service, or separately implemented in the form of a messenger application application having the security function of the present embodiment. .

도 6 및 도 7은 도 5의 보안 메신저 서비스 방법을 구현하는 사용자 단말에서 채용할 수 있는 인터페이스를 나타낸 예시도들이다.6 and 7 are exemplary views illustrating an interface that can be employed in a user terminal implementing the secure messenger service method of FIG. 5 .

도 6을 참조하면, 보안 메신저가 탑재된 사용자 단말(100A)은 메신저 화면(110)에 선택된 단일 메시지나 그룹 메시지의 암호화, 암호화된 메시지의 전송, 메시지 토큰의 발행, 메시지 토큰 전송 등의 일련의 보안 메신저 동작 실행을 명령하는 사용자 인터페이스를 구비할 수 있다. 이러한 사용자 인터페이스는 비보안 메시지 전송과 보안 메시지 전송을 선택하는 메시지 전송 사용자 인터페이스를 포함한다. 본 실시예에서 메시지 전송 사용자 인터페이스는 메신저 화면(110)의 하단에 '보안'으로 표시된 버튼(120) 형태를 구비하나, 이에 한정되지는 않고 이미지, 음성, 진동 등 다양한 사용자 입력 형태가 단일 혹은 조합으로 사용될 수 있다.Referring to FIG. 6 , the user terminal 100A equipped with a secure messenger performs a series of operations such as encryption of a single message or group message selected on the messenger screen 110 , transmission of an encrypted message, issuance of a message token, transmission of a message token, etc. A user interface for instructing execution of a secure messenger operation may be provided. This user interface includes a message sending user interface that selects between sending a non-secure message and sending a secure message. In this embodiment, the message transmission user interface has the form of a button 120 marked as 'security' at the bottom of the messenger screen 110, but is not limited thereto, and various user input types such as images, voices, and vibrations are single or combined. can be used as

아울러, 도 7에 도시한 바와 같이, 본 실시예에 따른 보안 메신저 서비스 방법이나 장치에 채용할 수 있는 사용자 단말(100A)은 메신저 서비스 중에 전송되는 텍스트 파일, 문서 파일, 이미지 파일, 영상 파일, 음성 파일 등을 포함하는 첨부파일에 대하여도 도 5 등을 참조하여 설명한 방법과 유사하게 첨부파일을 암호화하여 수신자측의 사용자 단말에 전송하고, 암호화된 첨부파일에 대한 입력 첨부파일 데이터를 획득하고, 입력 첨부파일 데이터에 대한 블록체인 기반 대체불가능 추가 토큰을 발행하고, 대체불가능 추가 토큰을 수신자측의 사용자 단말에 전송하는 것 등의 일련의 보안 메신저 동작의 실행을 명령하는 사용자 인터페이스를 구비할 수 있다. 이러한 사용자 인터페이스는 도 7의 메신저 화면(110)의 상단에 '첨부보안'으로 표시된 버튼(130) 형태를 구비하나, 이에 한정되지는 않는다.In addition, as shown in FIG. 7 , the user terminal 100A that can be employed in the secure messenger service method or apparatus according to the present embodiment includes a text file, a document file, an image file, an image file, and a voice transmitted during the messenger service. For an attached file including a file, similarly to the method described with reference to FIG. 5 and the like, the attached file is encrypted and transmitted to the user terminal of the receiver side, the input attachment data for the encrypted attached file is obtained, and input A user interface for instructing execution of a series of secure messenger operations, such as issuing a blockchain-based non-fungible additional token for the attachment data, and transmitting the non-fungible additional token to the user terminal of the recipient side, may be provided. Such a user interface has a button 130 displayed as 'attached security' at the top of the messenger screen 110 of FIG. 7, but is not limited thereto.

또한, 도면에 도시하지는 않았지만, 보안 메신저를 탑재한 사용자 단말이 암호화된 메시지를 수신하거나 메시지 토큰을 수신하는 경우에, 메신저 화면에는 '보안해제', '디코딩' 등의 버튼으로 표시되는 암호화 메시지의 복호화용 사용자 인터페이스나 메시지 토큰의 디코딩용 사용자 인터페이스를 구비할 수 있다.In addition, although not shown in the drawing, when a user terminal equipped with a secure messenger receives an encrypted message or a message token, the encrypted message displayed with buttons such as 'security release' and 'decoding' on the messenger screen A user interface for decoding or a user interface for decoding a message token may be provided.

한편, 전술한 실시예에 따른 보안 메신저 서비스 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있는 저장소나 데이터베이스를 포함할 수 있다.Meanwhile, the operation of the secure messenger service method according to the above-described embodiment may be implemented as a computer-readable program or code on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored. In addition, the computer-readable recording medium may include a storage or database in which a computer-readable program or code can be stored and executed in a distributed manner by being distributed in a networked computer system.

또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.In addition, the computer-readable recording medium may include a hardware device specially configured to store and execute program instructions, such as ROM, RAM, and flash memory. The program instructions may include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

또한, 본 실시예에 따른 보안 메신저 서비스 방법의 일련의 절차 중 적어도일부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해 혹은 하드웨어 장치를 이용하여 구현될 수 있다. 또한, 필드 프로그머블 게이트 어레이 등의 프로그램 가능한 로직 장치가 여기서 설명된 방법들의 기능 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시예들에서, 필드 프로그머블 게이트 어레이는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.In addition, at least a part of a series of procedures of the secure messenger service method according to the present embodiment may be implemented by, for example, a hardware device such as a microprocessor, a programmable computer, or an electronic circuit or using a hardware device. Also, a programmable logic device, such as a field programmable gate array, may be used to perform some or all of the functions of the methods described herein. In embodiments, the field programmable gate array may operate in conjunction with a microprocessor to perform one of the methods described herein. In general, the methods are preferably performed by some hardware device.

이상 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to preferred embodiments of the present invention, those skilled in the art can variously modify and change the present invention within the scope without departing from the spirit and scope of the present invention as set forth in the following claims. will be able to understand

Claims (20)

송신자의 제1 사용자 단말에 의해 실행되는 블록체인 기반 보안 메신저 서비스 방법으로서,
수신자의 제2 사용자 단말에게 전송할 메시지나 첨부파일을 암호화하는 단계;
상기 암호화하는 단계에서 암호화된 메시지를 중앙 집중식 메신저 서버를 통한 상기 제2 사용자 단말에게 전송하는 단계;
상기 암호화된 메시지에 대응하는 블록체인 기반 대체불가능 토큰을 발행하는 단계; 및
상기 대체불가능 토큰을 상기 제2 사용자 단말에게 전송하는 단계;
를 포함하는 블록체인 기반 보안 메신저 서비스 방법.
A blockchain-based secure messenger service method executed by a first user terminal of a sender, comprising:
encrypting a message or an attached file to be transmitted to a second user terminal of the recipient;
transmitting the message encrypted in the encrypting step to the second user terminal through a centralized messenger server;
issuing a blockchain-based non-fungible token corresponding to the encrypted message; and
transmitting the non-fungible token to the second user terminal;
A blockchain-based secure messenger service method comprising a.
청구항 1에 있어서,
상기 암호화하는 단계는 상기 수신자의 공개키를 이용하여 상기 메시지 또는 상기 첨부파일을 암호화하는, 블록체인 기반 보안 메신저 서비스 방법.
The method according to claim 1,
The encrypting includes encrypting the message or the attached file using the public key of the recipient, a block chain-based secure messenger service method.
청구항 1에 있어서,
상기 발행하는 단계 후에 상기 대체불가능 토큰의 소유자를 상기 수신자로 변경하는 단계를 더 포함하는, 블록체인 기반 보안 메신저 서비스 방법.
The method according to claim 1,
Further comprising the step of changing the owner of the non-fungible token to the recipient after the step of issuing, a blockchain-based secure messenger service method.
청구항 1에 있어서,
상기 제1 사용자 단말 및 상기 제2 사용자 단말은 인증기관(Certificate Authority)에서 인증하는 공개키 기반(Public Key Infrastructure) 키 쌍을 보유하는, 블록체인 기반 보안 메신저 서비스 방법.
The method according to claim 1,
The first user terminal and the second user terminal hold a public key-based (Public Key Infrastructure) key pair authenticated by a certificate authority, a block chain-based secure messenger service method.
청구항 1에 있어서,
상기 대체불가능 토큰의 속성은 토큰 식별자(ID), 토큰 타입, 소유자 정보, 송신자 메신저 ID, 수신자 메신저 ID, 메시지 내용 암호화 대칭키 정보, 유효기간 및 토큰 조회 상태 정보를 포함하는, 블록체인 기반 보안 메신저 서비스 방법.
The method according to claim 1,
The properties of the non-fungible token include a token identifier (ID), token type, owner information, sender messenger ID, receiver messenger ID, message content encryption symmetric key information, validity period and token inquiry status information, a blockchain-based secure messenger service method.
청구항 1에 있어서,
상기 대체불가능 토큰은 토큰 생성 및 전송 트랜잭션 처리 정보에 대한 토큰 속성을 포함하고, 여기에서 상기 송신자 또는 상기 수신자는 상기 토큰 생성 및 전송 트랜잭션 처리 정보를 통해 상기 메시지의 송신 여부 또는 수신 여부에 대한 부인 방지 증명을 획득하는, 블록체인 기반 보안 메신저 서비스 방법.
The method according to claim 1,
The non-fungible token includes a token attribute for token generation and transmission transaction processing information, wherein the sender or the receiver non-repudiation as to whether the message has been sent or received through the token generation and transmission transaction processing information A blockchain-based secure messenger service method to obtain proof.
청구항 1에 있어서,
상기 대체불가능 토큰은 유효기간에 대한 토큰 속성을 포함하고, 여기에서 상기 송신자 또는 상기 수신자는 상기 유효기간을 통해 메시지 유효성을 자체 판단하는, 블록체인 기반 보안 메신저 서비스 방법.
The method according to claim 1,
The non-fungible token includes a token attribute for an validity period, wherein the sender or the receiver self-determines message validity through the validity period.
청구항 1에 있어서,
상기 제1 사용자 단말과 상기 제2 사용자 단말은 상기 중앙 집중식 메신저 서버를 통해 신호 및 데이터의 송수신하는 메신저 클라이언트들이며, XMPP(Extensible Messaging and Presence Protocol) 또는 메신저 자체 프로토콜을 사용하는, 블록체인 기반 보안 메신저 서비스 방법.
The method according to claim 1,
The first user terminal and the second user terminal are messenger clients that transmit and receive signals and data through the centralized messenger server, and use the Extensible Messaging and Presence Protocol (XMPP) or the messenger's own protocol, a blockchain-based secure messenger. service method.
청구항 1에 있어서,
상기 송신자는 상기 대체불가능 토큰의 토큰 조회 상태 속성을 통해 상기 수신자의 수신 부인 방지를 검증하거나,
상기 수신자는 상기 대체불가능 토큰을 조회하여 상기 대체불가능 토큰에 기록되어 있는 송신자 서명과 메신저 ID를 확인하여 상기 송신자의 신원을 검증하거나, 상기 수신자의 공개키에 대응하는 메시지 암호화 대칭키를 통해 암호화된 메시지를 복호화하는, 블록체인 기반 보안 메신저 서비스 방법.
The method according to claim 1,
The sender verifies the recipient's non-repudiation of receipt through the token inquiry status attribute of the non-fungible token;
The receiver verifies the identity of the sender by checking the sender signature and messenger ID recorded in the non-fungible token by inquiring the non-fungible token, or encrypted through a message encryption symmetric key corresponding to the public key of the recipient. A blockchain-based secure messenger service method that decrypts messages.
청구항 1에 있어서,
상기 제1 사용자 단말이나 상기 제2 사용자 단말에서 비보안 메시지 전송과 보안 메시지 전송을 선택하는 사용자 인터페이스에서 사용자 입력이나 명령을 획득하는 단계를 더 포함하며, 상기 사용자 입력이나 명령에 따라 상기 메시지를 암호화하는 단계, 상기 암호화된 메시지를 전송하는 단계, 상기 메시지 토큰을 발행하는 단계 및 상기 메시지 토큰을 전송하는 단계를 포함한 일련의 과정이 수행되는, 블록체인 기반 보안 메신저 서비스 방법.
The method according to claim 1,
The method further comprising: obtaining a user input or command from a user interface for selecting transmission of a non-secure message and transmission of a secure message from the first user terminal or the second user terminal, wherein the message is encrypted according to the user input or command A block chain-based secure messenger service method in which a series of processes including steps, transmitting the encrypted message, issuing the message token, and transmitting the message token are performed.
청구항 1에 있어서,
상기 메시지에 포함되는 사진, 동영상, 문서 데이터 또는 이들 조합의 첨부 파일은 네트워크를 통해 접근가능한 오프체인 공간에 저장되며, 상기 대체불가능 토큰은 상기 첨부파일에 대한 상기 오프체인 공간의 저장 경로를 기록하는, 블록체인 기반 보안 메신저 서비스 방법.
The method according to claim 1,
Attached files of photos, videos, document data, or a combination thereof included in the message are stored in an off-chain space accessible through a network, and the non-fungible token records the storage path of the off-chain space for the attachment. , Blockchain-based secure messenger service method.
청구항 11에 있어서,
상기 제1 사용자 단말의 메신저 화면에 상기 첨부파일의 암호화된 첨부파일 데이터를 획득하고, 상기 암호화된 첨부파일 데이터에 대한 블록체인 기반 대체불가능 추가 토큰을 발행하고, 상기 대체불가능 추가 토큰을 상기 제2 사용자 단말에 전송하기 위한 사용자 인터페이스를 제공하는 단계를 더 포함하는, 블록체인 기반 보안 메신저 서비스 방법.
12. The method of claim 11,
Obtaining the encrypted attachment data of the attachment on the messenger screen of the first user terminal, issuing a blockchain-based non-fungible additional token for the encrypted attachment data, and applying the non-fungible additional token to the second A block chain-based secure messenger service method further comprising the step of providing a user interface for transmission to a user terminal.
송신자의 제1 사용자 단말에 탑재되는 블록체인 기반 보안 메신저 서비스 장치로서,
수신자의 제2 사용자 단말에게 전송할 메시지나 첨부파일의 암호화된 메시지를 중앙 집중식 메신저 서버를 통해 상기 제2 사용자 단말에게 전송하는 메시지 처리부; 및
상기 암호화된 메시지에 대한 입력 메시지 데이터를 획득하고 상기 입력 메시지 데이터에 대한 블록체인 기반 대체불가능 토큰을 발행하며, 상기 대체불가능 토큰을 상기 제2 사용자 단말에게 전송하는 토큰 처리부;
를 포함하는 블록체인 기반 보안 메신저 서비스 장치.
A block chain-based secure messenger service device mounted on a first user terminal of a sender, comprising:
a message processing unit for transmitting a message to be transmitted to a second user terminal of a recipient or an encrypted message of an attached file to the second user terminal through a centralized messenger server; and
a token processing unit that acquires input message data for the encrypted message, issues a blockchain-based non-fungible token for the input message data, and transmits the non-fungible token to the second user terminal;
A blockchain-based secure messenger service device comprising a.
청구항 13에 있어서, 상기 토큰 처리부는,
상기 암호화된 메시지에 대한 입력 메시지 데이터를 획득하고 상기 입력 메시지 데이터에 대한 블록체인 기반 대체불가능 토큰을 발행하는 토큰 발행 모듈;
상기 대체불가능 토큰을 상기 제2 사용자 단말에게 전송하는 토큰 전송 모듈; 및
상기 대체불가능 토큰의 소유자를 상기 수신자로 변경하는 토큰 수정 모듈;
을 구비하는 블록체인 기반 보안 메신저 서비스 장치.
The method according to claim 13, The token processing unit,
a token issuance module for obtaining input message data for the encrypted message and issuing a blockchain-based non-fungible token for the input message data;
a token transmission module for transmitting the non-fungible token to the second user terminal; and
a token modification module for changing the owner of the non-fungible token to the recipient;
A block chain-based secure messenger service device comprising a.
청구항 13에 있어서,
상기 메시지 토큰의 속성을 조회하는 트랜잭션을 생성하고 생성한 트랜잭션을 블록체인으로 전송하여 상기 메시지 토큰의 암호화 대칭키를 조회하는 토큰 조회 모듈을 더 포함하는, 블록체인 기반 보안 메신저 서비스 장치.
14. The method of claim 13,
The block chain-based secure messenger service device further comprising a token inquiry module that generates a transaction for inquiring the properties of the message token and transmits the generated transaction to a block chain to inquire an encryption symmetric key of the message token.
청구항 13에 있어서,
상기 토큰 발행 모듈, 상기 토큰 전송 모듈 및 상기 토큰 수정 모듈에 의한 메시지 토큰에 대한 동작 결과가 블록체인에 최종적으로 저장될 때, 상기 블록체인으로부터 이벤트를 받는 이벤트 관리 모듈을 더 포함하는 블록체인 기반 보안 메신저 서비스 장치.
14. The method of claim 13,
Blockchain-based security further comprising an event management module that receives an event from the block chain when the operation result for the message token by the token issuance module, the token transmission module, and the token modification module is finally stored in the block chain messenger service device.
청구항 13에 있어서,
상기 토큰 처리부는, 토큰 검증 모듈을 호출하여 상기 메시지 토큰에 기록된 상대방 메신저 ID를 확인하고, 상대방 메신저 ID에 대응하는 사용자 정보 및 공개키와 상대방의 사용자 정보 및 공개키와의 일치 여부를 비교함으로써, 상대방의 사용자 신원을 인증하는, 블록체인 기반 보안 메신저 서비스 장치.
14. The method of claim 13,
The token processing unit calls a token verification module to check the counterpart's messenger ID recorded in the message token, and compares the user information and public key corresponding to the counterpart's messenger ID with the counterpart's user information and public key. , a blockchain-based secure messenger service device that authenticates the user identity of the other party.
청구항 13에 있어서,
상기 제1 사용자 단말 또는 상기 제2 사용자 단말은 인증기관(Certificate Authority)에서 인증하는 공개키 기반(Public Key Infrastructure) 키 쌍을 보유하는, 블록체인 기반 보안 메신저 서비스 장치.
14. The method of claim 13,
The first user terminal or the second user terminal holds a public key infrastructure (Public Key Infrastructure) key pair authenticated by a certificate authority, a block chain-based secure messenger service device.
청구항 13에 있어서,
상기 대체불가능 토큰의 속성은 토큰 식별자(ID), 토큰 타입, 소유자 정보, 송신자 메신저 ID, 수신자 메신저 ID, 메시지 내용 암호화 대칭키 정보, 유효기간 및 토큰 조회 상태 정보를 포함하는, 블록체인 기반 보안 메신저 서비스 장치.
14. The method of claim 13,
The properties of the non-fungible token include a token identifier (ID), token type, owner information, sender messenger ID, receiver messenger ID, message content encryption symmetric key information, validity period and token inquiry status information, a blockchain-based secure messenger service device.
청구항 13에 있어서,
상기 메신저 처리부와 상기 토큰 처리부를 포함하는 보안 메신저는 사용자 단말의 메신저 서비스 화면에 제공되는 사용자 인터페이스에서의 특정 입력 혹은 명령에 따라 비보안 메시지 전송과 보안 메시지 전송을 선택하는, 블록체인 기반 보안 메신저 서비스 장치.
14. The method of claim 13,
The secure messenger including the messenger processing unit and the token processing unit selects non-secure message transmission and secure message transmission according to a specific input or command in a user interface provided on a messenger service screen of a user terminal, a block chain-based secure messenger service device .
KR1020210004233A 2020-11-16 2021-01-12 Method and appratus for providing blackchain-based secure messenger service KR102667293B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200152547 2020-11-16
KR1020200152547 2020-11-16

Publications (2)

Publication Number Publication Date
KR20220066801A true KR20220066801A (en) 2022-05-24
KR102667293B1 KR102667293B1 (en) 2024-05-20

Family

ID=81805716

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210004233A KR102667293B1 (en) 2020-11-16 2021-01-12 Method and appratus for providing blackchain-based secure messenger service

Country Status (1)

Country Link
KR (1) KR102667293B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102474855B1 (en) * 2022-06-29 2022-12-06 주식회사 호패 Method, system and non-transitory computer-readable recording medium for providing messenger service

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170129866A (en) * 2015-03-20 2017-11-27 리베츠 코프. Automated demonstration of device integrity using block chains
KR20190090699A (en) * 2018-01-25 2019-08-02 김택균 Method And Apparatus for Providing Wallet for Enhancing Security And keeping Crypto-currency
KR20200018967A (en) * 2018-08-13 2020-02-21 포항공과대학교 산학협력단 Method and apparatus for authenticating user based on blockchain
KR20200037508A (en) * 2018-10-01 2020-04-09 명지대학교 산학협력단 System and method of providing anonymity message service using block chain

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170129866A (en) * 2015-03-20 2017-11-27 리베츠 코프. Automated demonstration of device integrity using block chains
KR20190090699A (en) * 2018-01-25 2019-08-02 김택균 Method And Apparatus for Providing Wallet for Enhancing Security And keeping Crypto-currency
KR20200018967A (en) * 2018-08-13 2020-02-21 포항공과대학교 산학협력단 Method and apparatus for authenticating user based on blockchain
KR20200037508A (en) * 2018-10-01 2020-04-09 명지대학교 산학협력단 System and method of providing anonymity message service using block chain

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102474855B1 (en) * 2022-06-29 2022-12-06 주식회사 호패 Method, system and non-transitory computer-readable recording medium for providing messenger service
WO2024005565A1 (en) * 2022-06-29 2024-01-04 주식회사 호패 Method, system, and non-transitory computer-readable recording medium for providing messenger service

Also Published As

Publication number Publication date
KR102667293B1 (en) 2024-05-20

Similar Documents

Publication Publication Date Title
US11038670B2 (en) System and method for blockchain-based cross-entity authentication
CN111970129B (en) Data processing method and device based on block chain and readable storage medium
US20200304315A1 (en) System and method for blockchain-based cross-entity authentication
EP3424176B1 (en) Systems and methods for distributed data sharing with asynchronous third-party attestation
US20200084027A1 (en) Systems and methods for encryption of data on a blockchain
US20220086154A1 (en) Personal identity system
KR102177848B1 (en) Method and system for verifying an access request
US8788811B2 (en) Server-side key generation for non-token clients
TWI438642B (en) Provisioning of digital identity representations
US9137017B2 (en) Key recovery mechanism
US20100017599A1 (en) Secure digital content management using mutating identifiers
KR102307574B1 (en) Cloud data storage system based on blockchain and method for storing in cloud
KR101985179B1 (en) Blockchain based id as a service
US20110296171A1 (en) Key recovery mechanism
US20090290715A1 (en) Security architecture for peer-to-peer storage system
KR20170057549A (en) Large simultaneous digital signature service system based on hash function and method thereof
WO2020050390A1 (en) Right holder terminal, user terminal, right holder program, user program, content utilization system, and content utilization method
KR20220011165A (en) Computer-implemented systems and methods
WO2021173569A1 (en) Method and apparatus for creating and using quantum resistant keys
JP2017152880A (en) Authentication system, key processing coordination method, and key processing coordination program
CN112995144A (en) File processing method and system, readable storage medium and electronic device
KR20000006633A (en) Private Key, Certificate Administration System and Method Thereof
CN113868684A (en) Signature method, device, server, medium and signature system
KR102667293B1 (en) Method and appratus for providing blackchain-based secure messenger service
US11983251B2 (en) Method and apparatus for simultaneous key generation on device and server for secure communication

Legal Events

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