KR102333287B1 - 블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버 및 그 동작 방법 - Google Patents

블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버 및 그 동작 방법 Download PDF

Info

Publication number
KR102333287B1
KR102333287B1 KR1020200095449A KR20200095449A KR102333287B1 KR 102333287 B1 KR102333287 B1 KR 102333287B1 KR 1020200095449 A KR1020200095449 A KR 1020200095449A KR 20200095449 A KR20200095449 A KR 20200095449A KR 102333287 B1 KR102333287 B1 KR 102333287B1
Authority
KR
South Korea
Prior art keywords
data
terminal
identification information
public key
signature data
Prior art date
Application number
KR1020200095449A
Other languages
English (en)
Inventor
차현성
김진욱
이동한
차재영
최두식
문병관
김상곤
Original Assignee
주식회사 발카리
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 발카리 filed Critical 주식회사 발카리
Priority to KR1020200095449A priority Critical patent/KR102333287B1/ko
Application granted granted Critical
Publication of KR102333287B1 publication Critical patent/KR102333287B1/ko

Links

Images

Classifications

    • H04L51/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06Q50/30
    • 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]
    • 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/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Operations Research (AREA)
  • Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버 및 그 동작 방법이 개시된다. 본 발명은 복수의 회원들 각각의 개인키에 대응되는 공개키를 기초로 채팅방에 참여하는 각 회원에 대한 증명 데이터를 발급해 주고, 각 회원의 증명 데이터와 공개키를 블록체인 네트워크에 등록해 둔 후, 채팅방에 참여한 특정 회원의 단말로부터 소정의 콘텐츠를 채팅방에 게시할 것을 지시하는 콘텐츠 게시 요청이나 채팅방에 게시되어 있는 콘텐츠에 대한 다운로드 요청이 수신되면, 상기 블록체인 네트워크에 등록된 증명 데이터와 공개키를 기초로 콘텐츠 게시 요청이나 다운로드 요청을 전송한 회원에 대한 인증을 완료한 후, 회원 인증이 완료되면, 상기 콘텐츠에 대한 게시를 허가하거나 상기 콘텐츠의 다운로드를 허가함으로써, 회원들 간의 보안 채팅 서비스가 가능하도록 지원하는 채팅 서비스 서버 및 그 동작 방법에 대한 것이다.

Description

블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버 및 그 동작 방법{CHATTING SERVICE SERVER WHICH PROVIDES SECURE CHATTING SERVICE INTERWORKING PLURAL NODE UNITS CONSTITUTING BLOCKCHAIN NETWORK AND OPERATING METHOD THEREOF}
본 발명은 블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버 및 그 동작 방법에 대한 것이다.
최근, 다양한 채팅 서비스가 등장하면서, 채팅 서비스를 이용하여 사용자들 간에 메시지를 주고받거나, 콘텐츠를 주고받는 일이 많아지고 있다.
이러한 채팅 서비스는 기업이나 공공기관에서 업무나 회의 용도로도 주로 활용되고 있어, 승인된 사용자만이 채팅방에 입장하여 메시지나 콘텐츠를 주고받을 수 있도록 하기 위한 보안 기능의 도입이 필요한 실정이다.
사용자들 간의 보안 채팅 서비스가 가능하도록 하기 위해서는 처음에 채팅방이 개설되는 과정과 해당 채팅방에 다른 사용자들이 입장하는 과정에서 사용자를 인증하기 위한 기술이 필요하고, 채팅방에 입장한 사용자들 간에 소정의 콘텐츠가 공유될 때, 해당 콘텐츠에 대한 암호화가 가능하도록 하는 기술이 필요하다.
특히, 채팅 서비스가 고도의 보안이 요구되는 업무 환경에서 사용되는 경우, 사용자에 의해서 채팅방에 게시되는 콘텐츠들은 보안이 요구되는 중요 콘텐츠일 수 있기 때문에, 해당 콘텐츠를 채팅방에 입장할 수 있는 소수의 허가된 사용자만이 다운로드 받아 열람할 수 있도록 하기 위한 보안 프로토콜이 제시될 필요가 있다.
이와 관련해서, 최근에는 소정의 데이터를 중앙의 서버가 아닌 복수의 노드 장치들에 분산 저장함으로써, 해당 데이터에 대한 신뢰성과 안정성을 보장할 수 있는 블록체인 기술이 등장함에 따라, 이러한 블록체인 기술을 활용하여 사용자들 간의 보안 채팅 서비스를 제공하기 위한 기술의 도입을 고려할 수 있다.
블록체인 기술이란 소정의 데이터가 포함된 트랜잭션이 생성되면, 블록체인 네트워크를 형성하고 있는 복수의 노드 장치들 중 어느 하나의 노드 장치가 여러 블록들이 체인으로 연결되어 있는 블록체인 데이터에 포함된 이전 블록을 기초로 상기 트랜잭션이 포함된 새로운 블록을 생성하고, 상기 블록을 상기 블록체인 데이터에 체인으로 연결한 후 상기 블록을 상기 블록체인 네트워크를 통해 다른 노드 장치들로 배포함으로써, 소정의 데이터가 복수의 노드 장치들에 분산 저장되도록 하는 기술을 의미한다.
따라서, 이러한 블록체인 기술을 활용하여 보안이 필요한 환경에서 사용자들 간의 보안 채팅이 가능하도록 하는 서비스 기술에 대한 연구가 필요하다.
본 발명은 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버 및 그 동작 방법을 제시함으로써, 강화된 보안 환경에서 사용자들이 채팅 서비스를 이용할 수 있도록 지원함과 동시에, 채팅방을 통해서 사용자들 간에 공유되는 콘텐츠가 제3자에게 노출되는 것을 방지할 수 있도록 한다.
본 발명의 일실시예에 따른 블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버는 복수의 회원들 각각에 대응되는 개인 식별 정보가 기록된 식별 정보 테이블을 저장하여 유지하는 테이블 유지부, 상기 복수의 회원들 중 어느 하나의 회원인 제1 회원의 단말 - 상기 제1 회원의 단말은 상기 제1 회원에 대한 개인키인 제1 개인키 및 상기 제1 개인키에 대응되는 공개키인 제1 공개키를 사전에 생성하여 저장하고 있음 - 로부터 채팅방 개설 요청이 수신되면, 상기 제1 회원의 단말로 상기 제1 회원의 개인 식별 정보와 상기 제1 회원의 단말에 저장되어 있는 공개키의 전송을 요청하는 정보 요청부, 상기 제1 회원의 단말로부터 상기 제1 회원의 개인 식별 정보로 제1 개인 식별 정보가 수신됨과 동시에 상기 제1 공개키가 수신되면, 상기 식별 정보 테이블로부터 상기 식별 정보 테이블 상에 기록되어 있는 상기 제1 회원의 개인 식별 정보를 추출하고, 상기 추출된 제1 회원의 개인 식별 정보가 상기 제1 개인 식별 정보와 일치하는 것으로 확인되면, 제1 채팅방을 개설한 후, 상기 제1 채팅방에 대한 개인키인 제1 공용 개인키 및 상기 제1 공용 개인키에 대응되는 공개키인 제1 공용 공개키를 생성하는 채팅방 개설부, 상기 제1 개인 식별 정보를 상기 제1 공용 개인키로 서명함으로써, 상기 제1 회원에 대한 증명 데이터인 제1 증명 데이터를 생성한 후, 상기 제1 증명 데이터를 상기 제1 회원의 단말로 전송함으로써, 상기 제1 회원에 대한 증명 데이터의 발급을 완료 처리하는 발급부 및 상기 제1 증명 데이터 및 상기 제1 공개키가 서로 대응되어 포함된 제1 트랜잭션을 생성한 후, 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치로 상기 제1 트랜잭션과 상기 제1 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 등록 요청부를 포함한다.
또한, 본 발명의 일실시예에 따른 블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버의 동작 방법은 복수의 회원들 각각에 대응되는 개인 식별 정보가 기록된 식별 정보 테이블을 저장하여 유지하는 단계, 상기 복수의 회원들 중 어느 하나의 회원인 제1 회원의 단말 - 상기 제1 회원의 단말은 상기 제1 회원에 대한 개인키인 제1 개인키 및 상기 제1 개인키에 대응되는 공개키인 제1 공개키를 사전에 생성하여 저장하고 있음 - 로부터 채팅방 개설 요청이 수신되면, 상기 제1 회원의 단말로 상기 제1 회원의 개인 식별 정보와 상기 제1 회원의 단말에 저장되어 있는 공개키의 전송을 요청하는 단계, 상기 제1 회원의 단말로부터 상기 제1 회원의 개인 식별 정보로 제1 개인 식별 정보가 수신됨과 동시에 상기 제1 공개키가 수신되면, 상기 식별 정보 테이블로부터 상기 식별 정보 테이블 상에 기록되어 있는 상기 제1 회원의 개인 식별 정보를 추출하고, 상기 추출된 제1 회원의 개인 식별 정보가 상기 제1 개인 식별 정보와 일치하는 것으로 확인되면, 제1 채팅방을 개설한 후, 상기 제1 채팅방에 대한 개인키인 제1 공용 개인키 및 상기 제1 공용 개인키에 대응되는 공개키인 제1 공용 공개키를 생성하는 단계, 상기 제1 개인 식별 정보를 상기 제1 공용 개인키로 서명함으로써, 상기 제1 회원에 대한 증명 데이터인 제1 증명 데이터를 생성한 후, 상기 제1 증명 데이터를 상기 제1 회원의 단말로 전송함으로써, 상기 제1 회원에 대한 증명 데이터의 발급을 완료 처리하는 단계 및 상기 제1 증명 데이터 및 상기 제1 공개키가 서로 대응되어 포함된 제1 트랜잭션을 생성한 후, 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치로 상기 제1 트랜잭션과 상기 제1 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계를 포함한다.
본 발명은 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버 및 그 동작 방법을 제시함으로써, 강화된 보안 환경에서 사용자들이 채팅 서비스를 이용할 수 있도록 지원함과 동시에, 채팅방을 통해서 사용자들 간에 공유되는 콘텐츠가 제3자에게 노출되는 것을 방지할 수 있다.
도 1은 본 발명의 일실시예에 따른 보안 채팅 서비스를 제공하는 채팅 서비스 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 보안 채팅 서비스를 제공하는 채팅 서비스 서버의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 보안 채팅 서비스를 제공하는 채팅 서비스 서버의 구조를 도시한 도면이다.
본 발명에 따른 보안 채팅 서비스를 제공하는 채팅 서비스 서버(110)는 블록체인 네트워크(100)을 형성하고 있는 복수의 노드 장치들(101, 102, 103)과 연동하여 보안 채팅 서비스를 제공하는 장치로, 테이블 유지부(111), 정보 요청부(112), 채팅방 개설부(113), 발급부(114) 및 등록 요청부(115)를 포함한다.
먼저, 본 발명에서는 채팅 서비스 서버(110)를 통해서 제공되는 보안 채팅 서비스를 이용할 수 있도록 지정된 복수의 회원들이 존재하고 있고, 상기 복수의 회원들 각각의 단말에는 상기 보안 채팅 서비스를 이용하기 위해, 소정의 개인키와 상기 개인키에 대응되는 공개키가 사전 생성되어 저장되어 있다고 전제한다.
이때, 테이블 유지부(111)는 복수의 회원들 각각에 대응되는 식별 정보가 기록된 식별 정보 테이블을 저장하여 유지한다.
여기서, 복수의 회원들 각각에 대응되는 식별 정보란 각 회원의 주민등록번호, 휴대폰 번호 등과 같이 각 회원을 식별할 수 있는 고유 정보를 의미한다.
이때, 복수의 회원들 중 어느 하나의 회원인 제1 회원의 단말(150)로부터 전송된 채팅방 개설 요청이 채팅 서비스 서버(110)에 수신되면, 정보 요청부(112)는 제1 회원의 단말(150)로 상기 제1 회원의 개인 식별 정보와 제1 회원의 단말(150)에 저장되어 있는 공개키의 전송을 요청한다.
여기서, 제1 회원의 단말(150)에는 상기 제1 회원에 대한 개인키로 제1 개인키 및 상기 제1 개인키에 대응되는 공개키로 제1 공개키가 사전 생성되어 저장되어 있을 수 있다. 이때, 제1 회원의 단말(150)은 채팅 서비스 서버(110)로부터 상기 제1 회원의 개인 식별 정보 및 공개키에 대한 전송 요청이 수신되면, 수신된 요청에 대응하여, 상기 제1 회원의 개인 식별 정보로 제1 개인 식별 정보를 채팅 서비스 서버(110)로 전송함과 동시에 제1 회원의 단말(150)에 저장되어 있는 상기 제1 공개키를 전송할 수 있다.
채팅방 개설부(113)는 제1 회원의 단말(150)로부터 상기 제1 회원의 개인 식별 정보로 상기 제1 개인 식별 정보가 수신됨과 동시에 상기 제1 공개키가 수신되면, 상기 식별 정보 테이블로부터 상기 식별 정보 테이블 상에 기록되어 있는 상기 제1 회원의 개인 식별 정보를 추출하고, 상기 추출된 제1 회원의 개인 식별 정보가 상기 제1 개인 식별 정보와 일치하는지 확인한다.
만약, 상기 추출된 제1 회원의 개인 식별 정보가 상기 제1 개인 식별 정보와 일치하는 것으로 확인되면, 채팅방 개설부(113)는 채팅방 개설을 요청한 상기 제1 회원이 상기 복수의 회원들 중 한 명인 것으로 최종 확인하여, 제1 채팅방을 개설한 후 상기 제1 채팅방에 대한 개인키인 제1 공용 개인키 및 상기 제1 공용 개인키에 대응되는 공개키인 제1 공용 공개키를 생성한다.
발급부(114)는 상기 제1 공용 개인키 및 상기 제1 공용 공개키가 생성되면, 상기 제1 개인 식별 정보를 상기 제1 공용 개인키로 서명함으로써, 상기 제1 회원에 대한 증명 데이터인 제1 증명 데이터를 생성한 후, 상기 제1 증명 데이터를 제1 회원의 단말(150)로 전송함으로써, 상기 제1 회원에 대한 증명 데이터의 발급을 완료 처리한다.
등록 요청부(115)는 상기 제1 증명 데이터의 발급이 완료되면, 상기 제1 증명 데이터 및 상기 제1 공개키가 서로 대응되어 포함된 제1 트랜잭션을 생성한 후, 복수의 노드 장치들(101, 102, 103) 중 어느 하나인 제1 노드 장치(101)로 상기 제1 트랜잭션과 상기 제1 트랜잭션의 블록체인 네트워크(100)로의 등록 요청을 전송한다.
이때, 본 발명의 일실시예에 따르면, 제1 노드 장치(101)는 채팅 서비스 서버(110)로부터 상기 제1 트랜잭션과 상기 제1 트랜잭션의 블록체인 네트워크(100)로의 등록 요청이 수신되면, 수신된 요청에 대응하여, 제1 노드 장치(101)에 저장되어 있는 블록체인 데이터를 기초로 상기 제1 트랜잭션을 포함하는 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결한 후, 상기 제1 블록을 블록체인 네트워크(100)을 통해 복수의 노드 장치들(101, 102, 103) 중 제1 노드 장치(101)를 제외한 나머지 노드 장치들(102, 103)로 전파할 수 있다.
이러한 방식으로, 채팅 서비스 서버(110)는 제1 회원의 단말(150)으로부터 수신된 상기 채팅방 개설 요청에 대응하여, 상기 제1 채팅방을 개설하고, 상기 제1 회원에 대한 상기 제1 증명 데이터를 제1 회원의 단말(150)로 발급해 준 후, 상기 제1 증명 데이터와 상기 제1 공개키를 서로 대응시켜 블록체인 네트워크(100)에 등록할 수 있다.
이렇게, 상기 제1 채팅방이 개설된 이후, 상기 제1 회원은 제1 회원의 단말(150)을 통해 상기 복수의 회원들 중 다른 하나의 회원인 제2 회원을 상기 제1 채팅방으로 초대하기 위한 초대 요청을 채팅 서비스 서버(110)로 전송할 수 있다.
이때, 본 발명의 일실시예에 따르면, 채팅 서비스 서버(110)는 상기 초대 요청을 처리하기 위한 구성으로, 추가 정보 요청부(116), 허가부(117), 추가 발급부(118) 및 추가 등록 요청부(119)를 더 포함할 수 있다.
추가 정보 요청부(116)는 상기 제1 채팅방이 개설된 후 제1 회원의 단말(150)로부터 상기 제2 회원을 상기 제1 채팅방으로 초대하기 위한 상기 초대 요청이 수신되면, 제2 회원의 단말(151)로 상기 제2 회원의 개인 식별 정보와 제2 회원의 단말(151)에 저장되어 있는 공개키의 전송을 요청한다. 여기서, 제2 회원의 단말(151)에는 상기 제2 회원에 대한 개인키로 제2 개인키 및 상기 제2 개인키에 대응되는 공개키로 제2 공개키가 사전 생성되어 저장되어 있을 수 있다.
이때, 제2 회원의 단말(151)은 채팅 서비스 서버(110)로부터 상기 제2 회원에 대한 개인 식별 정보 및 공개키에 대한 전송 요청이 수신되면, 수신된 요청에 대응하여, 상기 제2 회원의 개인 식별정보로 제2 개인 식별 정보를 채팅 서비스 서버(110)로 전송함과 동시에 제2 회원의 단말(151)에 저장되어 있는 상기 제2 공개키를 전송할 수 있다.
허가부(117)는 제2 회원의 단말(151)로부터 상기 제2 개인 식별 정보 및 상기 제2 공개키가 수신되면, 상기 식별 정보 테이블로부터 상기 식별 정보 테이블 상에 기록되어 있는 상기 제2 회원의 개인 식별 정보를 추출하고, 상기 추출된 제2 회원의 개인 식별 정보가 상기 제2 개인 식별 정보와 일치하는지 확인한다.
만약, 상기 추출된 제2 회원의 개인 식별 정보가 상기 제2 개인 식별 정보와 일치하는 것으로 확인되는 경우, 허가부(117)는 상기 제2 회원이 상기 복수의 회원들 중 한 명인 것으로 최종 확인한 후 상기 초대 요청을 허가하여 제2 회원의 단말(151)이 상기 제1 채팅방에 접속하도록 제어한다.
추가 발급부(118)는 상기 초대 요청이 허가되면, 상기 제2 개인 식별 정보를 상기 제1 공용 개인키로 서명함으로써, 상기 제2 회원에 대한 증명 데이터인 제2 증명 데이터를 생성한 후, 상기 제2 증명 데이터를 제2 회원의 단말(151)로 전송함으로써, 상기 제2 회원에 대한 증명 데이터의 발급을 완료 처리한다.
추가 등록 요청부(119)는 상기 제2 증명 데이터의 발급이 완료되면, 상기 제2 증명 데이터 및 상기 제2 공개키가 서로 대응되어 포함된 제2 트랜잭션을 생성한 후, 제1 노드 장치(101)로 상기 제2 트랜잭션과 상기 제2 트랜잭션의 블록체인 네트워크(100)로의 등록 요청을 전송한다.
이때, 본 발명의 일실시예에 따르면, 제1 노드 장치(101)는 채팅 서비스 서버(110)로부터 상기 제2 트랜잭션과 상기 제2 트랜잭션의 블록체인 네트워크(100)로의 등록 요청이 수신되면, 수신된 요청에 대응하여, 제1 노드 장치(101)에 저장되어 있는 블록체인 데이터를 기초로 상기 제2 트랜잭션을 포함하는 제2 블록을 생성하고, 상기 제2 블록을 상기 블록체인 데이터에 체인으로 연결한 후, 상기 제2 블록을 블록체인 네트워크(100)을 통해 복수의 노드 장치들(101, 102, 103) 중 제1 노드 장치(101)를 제외한 나머지 노드 장치들(102, 103)로 전파할 수 있다.
이렇게, 채팅 서비스 서버(110)는 제1 회원의 단말(150)로부터 상기 제2 회원에 대한 상기 제1 채팅방으로의 초대 요청이 수신되는 경우, 제2 회원의 단말(151)이 신규로 상기 제1 채팅방에 접속할 수 있도록 하기 위해, 상기 초대 요청을 허가하고, 상기 제2 회원에 대한 상기 제2 증명 데이터를 제2 회원의 단말(151)로 발급해 준 후, 상기 제2 증명 데이터와 상기 제2 공개키를 서로 대응시켜 블록체인 네트워크(100)에 등록할 수 있다.
이러한 방식으로, 채팅 서비스 서버(110)는 상기 제2 회원뿐 아니라, 복수의 회원들에 대한 상기 제1 채팅방으로의 초대 요청이 수신되는 경우, 상기 초대 요청에 대응해서 각 회원의 단말이 상기 제1 채팅방에 접속할 수 있도록 하기 위한 인증 절차를 진행하고, 상기 제1 채팅방에 접속된 회원들에 대한 증명 데이터를 발급한 후 각 회원의 증명 데이터와 공개키를 서로 대응시켜 블록체인 네트워크(100) 상에 등록함으로써, 다수의 초대받은 회원들만이 상기 제1 채팅방에 입장할 수 있도록 지원할 수 있다.
이때, 본 발명의 일실시예에 따르면, 채팅 서비스 서버(110)는 상기 제1 채팅방 내에서 어느 한 명의 회원이 소정의 콘텐츠 파일을 게시하려고 하는 경우, 인증된 회원만이 상기 제1 채팅방에 콘텐츠 파일을 게시할 수 있도록 하기 위한 구성으로, 증명 데이터 요청부(120), 서명 데이터 요청부(121), 공개키 요청부(122), 검증 처리부(123), 게시 이벤트 발생부(124), 게시부(125) 및 이력 등록 요청부(126)를 더 포함할 수 있다.
증명 데이터 요청부(120)는 제1 회원의 단말(150)로부터 상기 제1 콘텐츠 파일이 수신됨과 동시에 상기 제1 콘텐츠 파일을 상기 제1 채팅방에 게시할 것을 지시하는 상기 콘텐츠 게시 요청이 수신되면, 제1 회원의 단말(150)로 상기 제1 회원에 대해 발급된 증명 데이터의 전송을 요청한다.
이때, 제1 회원의 단말(150)은 채팅 서비스 서버(110)로부터 상기 제1 회원에 대한 증명 데이터의 전송 요청이 수신되면, 수신된 요청에 대응하여, 채팅 서비스 서버(110)에 의해서 발급되었던 상기 제1 회원의 증명 데이터인 상기 제1 증명 데이터를 채팅 서비스 서버(110)로 전송할 수 있다.
서명 데이터 요청부(121)는 상기 제1 회원의 단말(150)로부터 상기 제1 증명 데이터가 수신되면, 제1 회원의 단말(150)로 상기 제1 증명 데이터에 대한 서명 데이터의 전송을 요청한다.
이때, 제1 회원의 단말(150)은 채팅 서비스 서버(110)로부터 상기 서명 데이터에 대한 전송 요청이 수신되면, 수신된 요청에 대응하여, 상기 제1 증명 데이터를 제1 회원의 단말(150)에 사전 생성되어 저장되어 있는 상기 제1 개인키로 서명함으로써, 제1 서명 데이터를 생성한 후, 채팅 서비스 서버(110)로 상기 제1 서명 데이터를 전송할 수 있다.
공개키 요청부(122)는 제1 회원의 단말(150)에서 상기 제1 증명 데이터가 상기 제1 개인키로 서명됨으로 인해, 상기 제1 증명 데이터에 대한 서명 데이터로 제1 서명 데이터가 생성되면, 상기 제1 회원의 단말(150)로부터 상기 제1 서명 데이터를 수신하고, 상기 제1 회원의 단말(150)로부터 상기 제1 서명 데이터가 수신되면, 제1 노드 장치(101)로 상기 제1 증명 데이터를 전송함과 동시에, 상기 제1 증명 데이터를 기초로 제1 노드 장치(101)에 저장되어 있는 블록체인 데이터로부터 상기 제1 증명 데이터에 대응되는 상기 제1 공개키를 검색하여 전송할 것을 요청한다.
이때, 본 발명의 일실시예에 따르면, 제1 노드 장치(101)는 채팅 서비스 서버(110)로부터 상기 제1 공개키를 검색하여 전송할 것을 지시하는 요청이 수신되면, 수신된 요청에 대응하여, 제1 노드 장치(101)에 저장되어 있는 블록체인 데이터로부터 상기 제1 증명 데이터가 포함된 상기 제1 트랜잭션을 검색하고, 상기 제1 트랜잭션에 포함된 상기 제1 공개키를 추출한 후, 채팅 서비스 서버(110)로 상기 제1 공개키를 전송할 수 있다.
검증 처리부(123)는 제1 노드 장치(101)로부터 상기 제1 공개키가 수신되면, 상기 제1 서명 데이터를 상기 제1 공개키로 복호화하여 제1 복호화 서명 데이터를 생성하고, 상기 제1 복호화 서명 데이터가 상기 제1 증명 데이터와 일치하는지 확인하여 상기 제1 복호화 서명 데이터가 상기 제1 증명 데이터와 일치하는 것으로 확인되는 경우, 상기 제1 복호화 서명 데이터를 상기 제1 공용 공개키로 추가로 복호화하여 제1 복호화 식별 데이터를 생성한다.
그러고 나서, 검증 처리부(123)는 상기 제1 복호화 식별 데이터가 상기 제1 개인 식별 정보와 일치하는지 확인하여 상기 제1 복호화 식별 데이터가 상기 제1 개인 식별 정보와 일치하는 것으로 확인되는 경우, 제1 회원의 단말(150)로부터 수신된 상기 제1 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료한다.
게시 이벤트 발생부(124)는 상기 제1 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료되면, 상기 제1 콘텐츠 파일의 게시 승인을 지시하는 게시 승인 이벤트를 발생시킨다.
게시부(125)는 상기 게시 승인 이벤트가 발생되면, 랜덤키를 랜덤하게 생성하고, 상기 제1 콘텐츠 파일을 상기 랜덤키로 암호화하여 파일 저장 서버(160)에 저장한 후, 상기 암호화된 제1 콘텐츠 파일의 파일 저장 서버(160) 상에서의 저장 경로 정보를 상기 제1 채팅방에 게시한다.
게시 이력 등록 요청부(126)는 상기 암호화된 제1 콘텐츠 파일에 대한 상기 저장 경로 정보가 상기 제1 채팅방에 게시되면, 상기 제1 콘텐츠 파일이 상기 제1 채팅방에 게시되었음을 지시하는 게시 이력 정보가 포함된 제3 트랜잭션을 생성한 후, 제1 노드 장치(101)로 상기 제3 트랜잭션과 상기 제3 트랜잭션의 상기 블록체인 네트워크(100)로의 등록 요청을 전송한다.
이때, 본 발명의 일실시예에 따르면, 제1 노드 장치(101)는 채팅 서비스 서버(110)로부터 상기 제3 트랜잭션과 상기 제3 트랜잭션의 블록체인 네트워크(100)로의 등록 요청이 수신되면, 수신된 요청에 대응하여, 제1 노드 장치(101)에 저장되어 있는 블록체인 데이터를 기초로 상기 제3 트랜잭션을 포함하는 제3 블록을 생성하고, 상기 제3 블록을 상기 블록체인 데이터에 체인으로 연결한 후, 상기 제3 블록을 블록체인 네트워크(100)을 통해 복수의 노드 장치들(101, 102, 103) 중 제1 노드 장치(101)를 제외한 나머지 노드 장치들(102, 103)로 전파할 수 있다.
이러한 방식으로, 채팅 서비스 서버(110)는 제1 회원의 단말(150)로부터 수신된 상기 콘텐츠 게시 요청에 대응하여 상기 제1 콘텐츠 파일에 대한 상기 저장 경로 정보를 상기 제1 채팅방에 게시하고, 상기 제1 콘텐츠 파일이 상기 제1 채팅방에 게시되었음을 지시하는 게시 이력 정보를 블록체인 네트워크(100)에 등록함으로써, 인증된 회원 만이 상기 제1 채팅방에 콘텐츠 파일을 게시할 수 있도록 지원함과 동시에, 필요 시 블록체인 네트워크(100)에 등록되어 있는 상기 게시 이력 정보를 활용하여 상기 콘텐츠 파일이 게시된 이력에 대한 확인 및 검증이 가능하도록 지원할 수 있다.
이때, 본 발명의 일실시예에 따르면, 채팅 서비스 서버(110)는 상기 제1 채팅방에 소정의 콘텐츠 파일이 게시된 이후, 상기 제1 채팅방 내에서 어느 한 명의 회원이 상기 콘텐츠 파일을 다운로드 하려고 하는 경우, 인증된 회원만이 상기 콘텐츠 파일의 다운로드 및 열람을 가능하게 하기 위한 구성으로, 추가 증명 데이터 요청부(127), 추가 서명 데이터 요청부(128), 추가 공개키 요청부(129), 추가 검증 처리부(130), 다운로드 이벤트 발생부(131), 파일 추출부(132), 콘텐츠 전송부(133) 및 다운로드 이력 등록 요청부(134)를 더 포함할 수 있다.
추가 증명 데이터 요청부(127)는 상기 암호화된 제1 콘텐츠 파일에 대한 상기 저장 경로 정보가 상기 제1 채팅방에 게시된 후, 제2 회원의 단말(151)로부터 상기 저장 경로 정보에 기초한 상기 제1 콘텐츠 파일의 다운로드 요청이 수신되면, 제2 회원의 단말(151)로 상기 제2 회원에 대해 발급된 증명 데이터의 전송을 요청한다.
이때, 제2 회원의 단말(151)은 채팅 서비스 서버(110)로부터 상기 제2 회원에 대한 증명 데이터의 전송 요청이 수신되면, 수신된 요청에 대응하여, 채팅 서비스 서버(110)에 의해서 발급되었던 상기 제2 회원의 증명 데이터인 상기 제2 증명 데이터를 채팅 서비스 서버(110)로 전송할 수 있다.
추가 서명 데이터 요청부(128)는 제2 회원의 단말(151)로부터 상기 제2 증명 데이터가 수신되면, 제2 회원의 단말(151)로 상기 제2 증명 데이터에 대한 서명 데이터의 전송을 요청한다.
이때, 제2 회원의 단말(151)은 채팅 서비스 서버(110)로부터 상기 서명 데이터에 대한 전송 요청이 수신되면, 수신된 요청에 대응하여, 상기 제2 증명 데이터를 제2 회원의 단말(151)에 사전 저장되어 있는 상기 제2 개인키로 서명함으로써 제2 서명 데이터를 생성한 후, 상기 제2 서명 데이터를 채팅 서비스 서버(110)로 전송할 수 있다.
추가 공개키 요청부(129)는 제2 회원의 단말(151)에서 상기 제2 증명 데이터가 상기 제2 개인키로 서명됨으로 인해, 상기 제2 증명 데이터에 대한 서명 데이터인 제2 서명 데이터가 생성되면, 제2 회원의 단말(151)로부터 상기 제2 서명 데이터를 수신하고, 제2 회원의 단말(151)로부터 상기 제2 서명 데이터가 수신되면, 제1 노드 장치(101)로 상기 제2 증명 데이터를 전송함과 동시에, 상기 제2 증명 데이터를 기초로 제1 노드 장치(101)에 저장되어 있는 블록체인 데이터로부터 상기 제2 증명 데이터에 대응되는 상기 제2 공개키를 검색하여 전송할 것을 요청한다.
이때, 제1 노드 장치(101)는 채팅 서비스 서버(110)로부터 상기 제2 공개키에 대한 전송 요청이 수신되면, 수신된 요청에 대응하여, 제1 노드 장치(101)에 저장되어 있는 블록체인 데이터로부터 상기 제2 증명 데이터가 포함된 상기 제2 트랜잭션을 검색하고, 상기 제2 트랜잭션에 포함된 상기 제2 공개키를 추출한 후, 상기 제2 공개키를 채팅 서비스 서버(110)로 전송할 수 있다.
추가 검증 처리부(130)는 제1 노드 장치(101)로부터 상기 제2 공개키가 수신되면, 상기 제2 서명 데이터를 상기 제2 공개키로 복호화하여 제2 복호화 서명 데이터를 생성하고, 상기 제2 복호화 서명 데이터가 상기 제2 증명 데이터와 일치하는지 확인하여 상기 제2 복호화 서명 데이터가 상기 제2 증명 데이터와 일치하는 것으로 확인되는 경우, 상기 제2 복호화 서명 데이터를 상기 제1 공용 공개키로 추가로 복호화하여 제2 복호화 식별 데이터를 생성한다.
그러고 나서, 추가 검증 처리부(130)는 상기 제2 복호화 식별 데이터가 상기 제2 개인 식별 정보와 일치하는지 확인하여, 상기 제2 복호화 식별 데이터가 상기 제2 개인 식별 정보와 일치하는 것으로 확인되는 경우, 제2 회원의 단말(151)에서 수신된 상기 제2 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료한다.
다운로드 이벤트 발생부(131)는 상기 제2 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료되면, 상기 제1 콘텐츠 파일의 다운로드 승인을 지시하는 다운로드 승인 이벤트를 발생시킨다.
파일 추출부(132)는 상기 다운로드 승인 이벤트가 발생되면, 상기 저장 경로 정보를 이용하여 파일 저장 서버(160)로부터 상기 암호화된 제1 콘텐츠 파일을 추출한다.
콘텐츠 전송부(133)는 상기 암호화된 제1 콘텐츠 파일이 추출되면, 상기 랜덤키를 상기 제2 공개키로 암호화하고, 상기 암호화된 제1 콘텐츠 파일, 상기 암호화된 랜덤키 및 상기 제2 서명 데이터를 연접(concatenation)함으로써 제1 암호화 연접 데이터를 생성한 후, 상기 제1 암호화 연접 데이터를 제2 회원의 단말(151)로 전송한다.
다운로드 이력 등록 요청부(134)는 제2 회원의 단말(151)로 상기 제1 암호화 연접 데이터가 전송되면, 제2 회원의 단말(151)로 상기 제1 암호화 연접 데이터가 전송되었음을 지시하는 다운로드 이력 정보가 포함된 제4 트랜잭션을 생성한 후, 제1 노드 장치(101)로 상기 제4 트랜잭션과 상기 제4 트랜잭션의 블록체인 네트워크(100)로의 등록 요청을 전송한다.
이때, 본 발명의 일실시예에 따르면, 제1 노드 장치(101)는 채팅 서비스 서버(110)로부터 상기 제4 트랜잭션과 상기 제4 트랜잭션의 블록체인 네트워크(100)로의 등록 요청이 수신되면, 수신된 요청에 대응하여, 제1 노드 장치(101)에 저장되어 있는 블록체인 데이터를 기초로 상기 제4 트랜잭션을 포함하는 제4 블록을 생성하고, 상기 제4 블록을 상기 블록체인 데이터에 체인으로 연결한 후, 상기 제4 블록을 블록체인 네트워크(100)을 통해 복수의 노드 장치들(101, 102, 103) 중 제1 노드 장치(101)를 제외한 나머지 노드 장치들(102, 103)로 전파할 수 있다.
이렇게, 채팅 서비스 서버(110)는 제2 회원의 단말(151)로부터 수신된 상기 다운로드 요청에 대응하여 상기 암호화된 제1 콘텐츠 파일을 포함하고 있는 상기 제1 암호화 연접 데이터를 제2 회원의 단말(151)로 전송하고, 제2 회원의 단말(151)로 상기 제1 암호화 연접 데이터가 전송되었음을 지시하는 다운로드 이력 정보를 블록체인 네트워크(100)에 등록함으로써, 인증된 회원만이 채팅방에 게시된 콘텐츠 파일을 다운로드 할 수 있도록 지원함과 동시에, 필요 시 블록체인 네트워크(100)에 등록되어 있는 상기 다운로드 이력 정보를 활용하여 상기 콘텐츠 파일이 다운로드 된 이력에 대한 확인 및 검증이 가능하도록 지원할 수 있다.
이때, 본 발명의 일실시예에 따르면, 제2 회원의 단말(151)은 채팅 서비스 서버(110)로부터 상기 제1 콘텐츠 파일의 다운로드 요청에 대응하여 상기 제1 암호화 연접 데이터가 수신되면, 상기 제1 암호화 연접 데이터로부터 상기 제1 콘텐츠 파일을 복원하기 위한 복호화 과정을 수행할 수 있다.
이와 관련해서, 제2 회원의 단말(151)은 채팅 서비스 서버(110)로부터 상기 제1 암호화 연접 데이터가 수신되면, 상기 제1 암호화 연접 데이터로부터 상기 암호화된 제1 콘텐츠 파일, 상기 암호화된 랜덤키 및 상기 제2 서명 데이터를 서로 분리할 수 있다.
그러고 나서, 제2 회원의 단말(151)은 분리된 상기 제2 서명 데이터를 제2 회원의 단말(151)에 저장되어 있는 상기 제2 공개키로 복호화하였을 때 생성되는 데이터가 제2 회원의 단말(151)에 저장되어 있는 상기 제2 증명 데이터와 일치하는지 확인할 수 있다. 여기서, 상기 제2 서명 데이터는 상기 제2 증명 데이터를 상기 제2 개인키로 서명한 데이터이기 때문에, 상기 제2 서명 데이터를 상기 제2 공개키로 복호화한 데이터가 상기 제2 회원의 단말(151)에 저장되어 있는 상기 제2 증명 데이터와 일치하는 것으로 확인된 경우, 상기 제1 암호화 연접 데이터에서 분리된 상기 제2 서명 데이터는 상기 제2 공개키에 대응하는 상기 제2 개인키로 정상 서명된 데이터인 것으로 볼 수 있다.
따라서, 상기 제2 서명 데이터를 상기 제2 공개키로 복호화한 데이터가 상기 제2 증명 데이터와 일치하는 것으로 확인되면, 제2 회원의 단말(151)은 상기 암호화된 랜덤키를 제2 회원의 단말(151)에 저장되어 있는 상기 제2 개인키로 복호화할 수 있다.
여기서, 상기 암호화된 랜덤키는 상기 제2 공개키로 암호화된 데이터이기 때문에, 상기 암호화된 랜덤키를 상기 제2 개인키로 복호화하게 되면, 상기 랜덤키가 복원될 수 있다.
따라서, 제2 회원의 단말(151)은 상기 암호화된 랜덤키를 상기 제2 개인키로 복호화한 후 상기 암호화된 제1 콘텐츠 파일을 상기 복호화된 랜덤키로 복호화함으로써, 상기 암호화된 제1 콘텐츠 파일에 대한 복원을 수행할 수 있다.
즉. 제2 회원의 단말(151)은 채팅 서비스 서버(110)로부터 상기 암호화된 제1 콘텐츠 파일, 상기 암호화된 랜덤키 및 상기 제2 서명 데이터가 연접된 상기 제1 암호화 연접 데이터가 수신되면, 제2 회원의 단말(151)에 저장되어 있는 상기 제2 공개키로 상기 제2 서명 데이터를 검증하고, 상기 제2 서명 데이터가 검증되면, 제2 회원의 단말(151)에 저장되어 있는 상기 제2 개인키로 상기 암호화된 랜덤키를 복호화한 후, 랜덤키의 복호화가 완료되면, 상기 복호화된 랜덤키로 상기 암호화된 제1 콘텐츠 파일을 최종 복호화함으로써, 상기 제1 콘텐츠 파일에 대한 원본 데이터를 획득할 수 있다.
결국, 본 발명에 따른 채팅 서비스 서버(110)는 복수의 회원들 각각의 개인키에 대응되는 공개키를 기초로 채팅방에 참여하는 각 회원에 대한 증명 데이터를 발급해 주고, 각 회원의 증명 데이터와 공개키를 블록체인 네트워크에 등록해 둔 후, 채팅방에 참여한 특정 회원의 단말로부터 소정의 콘텐츠를 채팅방에 게시할 것을 지시하는 콘텐츠 게시 요청이나 채팅방에 게시되어 있는 콘텐츠에 대한 다운로드 요청이 수신되면, 상기 블록체인 네트워크에 등록된 증명 데이터와 공개키를 기초로 회원 인증을 완료한 후, 회원 인증이 완료되면, 상기 콘텐츠에 대한 게시를 허가하거나 상기 콘텐츠의 다운로드를 허가함으로써, 회원들 간의 보안 채팅 서비스가 가능하도록 지원할 수 있다.
도 2는 본 발명의 일실시예에 따른 블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버의 동작 방법을 도시한 순서도이다.
단계(S210)에서는 복수의 회원들 각각에 대응되는 개인 식별 정보가 기록된 식별 정보 테이블을 저장하여 유지한다.
단계(S220)에서는 상기 복수의 회원들 중 어느 하나의 회원인 제1 회원의 단말 (상기 제1 회원의 단말은 상기 제1 회원에 대한 개인키인 제1 개인키 및 상기 제1 개인키에 대응되는 공개키인 제1 공개키를 사전에 생성하여 저장하고 있음)로부터 채팅방 개설 요청이 수신되면, 상기 제1 회원의 단말로 상기 제1 회원의 개인 식별 정보와 상기 제1 회원의 단말에 저장되어 있는 공개키의 전송을 요청한다.
단계(S230)에서는 상기 제1 회원의 단말로부터 상기 제1 회원의 개인 식별 정보로 제1 개인 식별 정보가 수신됨과 동시에 상기 제1 공개키가 수신되면, 상기 식별 정보 테이블로부터 상기 식별 정보 테이블 상에 기록되어 있는 상기 제1 회원의 개인 식별 정보를 추출하고, 상기 추출된 제1 회원의 개인 식별 정보가 상기 제1 개인 식별 정보와 일치하는 것으로 확인되면, 제1 채팅방을 개설한 후, 상기 제1 채팅방에 대한 개인키인 제1 공용 개인키 및 상기 제1 공용 개인키에 대응되는 공개키인 제1 공용 공개키를 생성한다.
단계(S240)에서는 상기 제1 개인 식별 정보를 상기 제1 공용 개인키로 서명함으로써, 상기 제1 회원에 대한 증명 데이터인 제1 증명 데이터를 생성한 후, 상기 제1 증명 데이터를 상기 제1 회원의 단말로 전송함으로써, 상기 제1 회원에 대한 증명 데이터의 발급을 완료 처리한다.
단계(S250)에서는 상기 제1 증명 데이터 및 상기 제1 공개키가 서로 대응되어 포함된 제1 트랜잭션을 생성한 후, 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치로 상기 제1 트랜잭션과 상기 제1 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송한다.
이때, 본 발명의 일실시예에 따르면, 상기 채팅 서비스 서버의 동작 방법은 상기 제1 채팅방이 개설된 후 상기 제1 회원의 단말로부터 상기 복수의 회원들 중 다른 하나의 회원인 제2 회원을 상기 제1 채팅방으로 초대하기 위한 초대 요청이 수신되면, 상기 제2 회원의 단말(상기 제2 회원의 단말은 상기 제2 회원에 대한 개인키인 제2 개인키 및 상기 제2 개인키에 대응되는 공개키인 제2 공개키를 사전 생성하여 저장하고 있음)로 상기 제2 회원의 개인 식별 정보와 상기 제2 회원의 단말에 저장되어 있는 공개키의 전송을 요청하는 단계, 상기 제2 회원의 단말로부터 상기 제2 회원의 개인 식별 정보로 제2 개인 식별 정보가 수신됨과 동시에 상기 제2 공개키가 수신되면, 상기 식별 정보 테이블로부터 상기 식별 정보 테이블 상에 기록되어 있는 상기 제2 회원의 개인 식별 정보를 추출하고, 상기 추출된 제2 회원의 개인 식별 정보가 상기 제2 개인 식별 정보와 일치하는 것으로 확인되면, 상기 초대 요청을 허가하여 상기 제2 회원의 단말이 상기 제1 채팅방에 접속하도록 제어하는 단계, 상기 제2 개인 식별 정보를 상기 제1 공용 개인키로 서명함으로써, 상기 제2 회원에 대한 증명 데이터인 제2 증명 데이터를 생성한 후, 상기 제2 증명 데이터를 상기 제2 회원의 단말로 전송함으로써, 상기 제2 회원에 대한 증명 데이터의 발급을 완료 처리하는 단계 및 상기 제2 증명 데이터 및 상기 제2 공개키가 서로 대응되어 포함된 제2 트랜잭션을 생성한 후, 상기 제1 노드 장치로 상기 제2 트랜잭션과 상기 제2 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 채팅 서비스 서버의 동작 방법은 상기 제1 회원의 단말로부터 제1 콘텐츠 파일이 수신됨과 동시에 상기 제1 콘텐츠 파일을 상기 제1 채팅방에 게시할 것을 지시하는 콘텐츠 게시 요청이 수신되면, 상기 제1 회원의 단말로 상기 제1 회원에 대해 발급된 증명 데이터의 전송을 요청하는 단계, 상기 제1 회원의 단말로부터 상기 제1 증명 데이터가 수신되면, 상기 제1 증명 데이터에 대한 서명 데이터의 전송을 요청하는 단계, 상기 제1 회원의 단말에서 상기 제1 증명 데이터가 상기 제1 개인키로 서명됨으로 인해, 상기 제1 증명 데이터에 대한 서명 데이터로 제1 서명 데이터가 생성되면, 상기 제1 회원의 단말로부터 상기 제1 서명 데이터를 수신하고, 상기 제1 회원의 단말로부터 상기 제1 서명 데이터가 수신되면, 상기 제1 노드 장치로 상기 제1 증명 데이터를 전송함과 동시에, 상기 제1 증명 데이터를 기초로 상기 제1 노드 장치에 저장되어 있는 블록체인 데이터로부터 상기 제1 증명 데이터에 대응되는 상기 제1 공개키를 검색하여 전송할 것을 요청하는 단계, 상기 제1 노드 장치로부터 상기 제1 공개키가 수신되면, 상기 제1 서명 데이터를 상기 제1 공개키로 복호화하여 제1 복호화 서명 데이터를 생성하고, 상기 제1 복호화 서명 데이터가 상기 제1 증명 데이터와 일치하는지 확인하여 상기 제1 복호화 서명 데이터가 상기 제1 증명 데이터와 일치하는 것으로 확인되는 경우, 상기 제1 복호화 서명 데이터를 상기 제1 공용 공개키로 추가로 복호화하여 제1 복호화 식별 데이터를 생성한 후, 상기 제1 복호화 식별 데이터가 상기 제1 개인 식별 정보와 일치하는지 확인하여 상기 제1 복호화 식별 데이터가 상기 제1 개인 식별 정보와 일치하는 것으로 확인되는 경우, 상기 제1 회원의 단말에서 수신된 상기 제1 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료하는 단계, 상기 제1 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료되면, 상기 제1 콘텐츠 파일의 게시 승인을 지시하는 게시 승인 이벤트를 발생시키는 단계, 상기 게시 승인 이벤트가 발생되면, 랜덤키를 랜덤하게 생성하고, 상기 제1 콘텐츠 파일을 상기 랜덤키로 암호화하여 파일 저장 서버에 저장한 후, 상기 암호화된 제1 콘텐츠 파일의 상기 파일 저장 서버 상에서의 저장 경로 정보를 상기 제1 채팅방에 게시하는 단계 및 상기 암호화된 제1 콘텐츠 파일에 대한 상기 저장 경로 정보가 상기 제1 채팅방에 게시되면, 상기 제1 콘텐츠 파일이 상기 제1 채팅방에 게시되었음을 지시하는 게시 이력 정보가 포함된 제3 트랜잭션을 생성한 후, 상기 제1 노드 장치로 상기 제3 트랜잭션과 상기 제3 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 채팅 서비스 서버의 동작 방법은 상기 암호화된 제1 콘텐츠 파일에 대한 상기 저장 경로 정보가 상기 제1 채팅방에 게시된 후, 상기 제2 회원의 단말로부터 상기 저장 경로 정보에 기초한 상기 제1 콘텐츠 파일의 다운로드 요청이 수신되면, 상기 제2 회원의 단말로 상기 제2 회원에 대해 발급된 증명 데이터의 전송을 요청하는 단계, 상기 제2 회원의 단말로부터 상기 제2 증명 데이터가 수신되면, 상기 제2 증명 데이터에 대한 서명 데이터의 전송을 요청하는 단계, 상기 제2 회원의 단말에서 상기 제2 증명 데이터가 상기 제2 개인키로 서명됨으로 인해, 상기 제2 증명 데이터에 대한 서명 데이터인 제2 서명 데이터가 생성되면, 상기 제2 회원의 단말로부터 상기 제2 서명 데이터를 수신하고, 상기 제2 회원의 단말로부터 상기 제2 서명 데이터가 수신되면, 상기 제1 노드 장치로 상기 제2 증명 데이터를 전송함과 동시에, 상기 제2 증명 데이터를 기초로 상기 제1 노드 장치에 저장되어 있는 블록체인 데이터로부터 상기 제2 증명 데이터에 대응되는 상기 제2 공개키를 검색하여 전송할 것을 요청하는 단계, 상기 제1 노드 장치로부터 상기 제2 공개키가 수신되면, 상기 제2 서명 데이터를 상기 제2 공개키로 복호화하여 제2 복호화 서명 데이터를 생성하고, 상기 제2 복호화 서명 데이터가 상기 제2 증명 데이터와 일치하는지 확인하여 상기 제2 복호화 서명 데이터가 상기 제2 증명 데이터와 일치하는 것으로 확인되는 경우, 상기 제2 복호화 서명 데이터를 상기 제1 공용 공개키로 추가로 복호화하여 제2 복호화 식별 데이터를 생성한 후, 상기 제2 복호화 식별 데이터가 상기 제2 개인 식별 정보와 일치하는지 확인하여 상기 제2 복호화 식별 데이터가 상기 제2 개인 식별 정보와 일치하는 것으로 확인되는 경우, 상기 제2 회원의 단말에서 수신된 상기 제2 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료하는 단계, 상기 제2 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료되면, 상기 제1 콘텐츠 파일의 다운로드 승인을 지시하는 다운로드 승인 이벤트를 발생시키는 단계, 상기 다운로드 승인 이벤트가 발생되면, 상기 저장 경로 정보를 이용하여 상기 파일 저장 서버로부터 상기 암호화된 제1 콘텐츠 파일을 추출하는 단계, 상기 랜덤키를 상기 제2 공개키로 암호화하고, 상기 암호화된 제1 콘텐츠 파일, 상기 암호화된 랜덤키 및 상기 제2 서명 데이터를 연접함으로써 제1 암호화 연접 데이터를 생성한 후, 상기 제1 암호화 연접 데이터를 상기 제2 회원의 단말로 전송하는 단계 및 상기 제2 회원의 단말로 상기 제1 암호화 연접 데이터가 전송되면, 상기 제2 회원의 단말로 상기 제1 암호화 연접 데이터가 전송되었음을 지시하는 다운로드 이력 정보가 포함된 제4 트랜잭션을 생성한 후, 상기 제1 노드 장치로 상기 제4 트랜잭션과 상기 제4 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 제2 회원의 단말은 상기 채팅 서비스 서버로부터 상기 제1 콘텐츠 파일의 다운로드 요청에 대응하여 상기 제1 암호화 연접 데이터가 수신되면, 상기 제1 암호화 연접 데이터로부터 상기 암호화된 제1 콘텐츠 파일, 상기 암호화된 랜덤키 및 상기 제2 서명 데이터를 서로 분리하고, 분리된 상기 제2 서명 데이터를 상기 제2 회원의 단말에 저장되어 있는 상기 제2 공개키로 복호화하였을 때 생성되는 데이터가 상기 제2 회원의 단말에 저장되어 있는 상기 제2 증명 데이터와 일치하는지 확인하여 일치하는 것으로 확인되면, 상기 암호화된 랜덤키를 상기 제2 회원의 단말에 저장되어 있는 상기 제2 개인키로 복호화한 후, 상기 암호화된 제1 콘텐츠 파일을 상기 복호화된 랜덤키로 복호화함으로써, 상기 암호화된 제1 콘텐츠 파일에 대한 복원을 수행할 수 있다.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 보안 채팅 서비스를 제공하는 채팅 서비스 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 보안 채팅 서비스를 제공하는 채팅 서비스 서버의 동작 방법은 도 1을 이용하여 설명한 보안 채팅 서비스를 제공하는 채팅 서비스 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 보안 채팅 서비스를 제공하는 채팅 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 보안 채팅 서비스를 제공하는 채팅 서비스 서버의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 보안 채팅 서비스를 제공하는 채팅 서비스 서버
111: 테이블 유지부 112: 정보 요청부
113: 채팅방 개설부 114: 발급부
115: 등록 요청부 116: 추가 정보 요청부
117: 허가부 118: 추가 발급부
119: 추가 등록 요청부 120: 증명 데이터 요청부
121: 서명 데이터 요청부 122: 공개키 요청부
123: 검증 처리부 124: 게시 이벤트 발생부
125: 게시부 126: 게시 이력 등록 요청부
127: 추가 증명 데이터 요청부 128: 추가 서명 데이터 요청부
129: 추가 공개키 요청부 130: 추가 검증 처리부
131: 다운로드 이벤트 발생부 132: 파일 추출부
133: 콘텐츠 전송부 134: 다운로드 이력 등록 요청부
100: 블록체인 네트워크
101, 102. 103: 복수의 노드 장치들
150: 제1 회원의 단말 151: 제2 회원의 단말
160: 파일 저장 서버

Claims (12)

  1. 블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버에 있어서,
    복수의 회원들 각각에 대응되는 개인 식별 정보가 기록된 식별 정보 테이블을 저장하여 유지하는 테이블 유지부;
    상기 복수의 회원들 중 어느 하나의 회원인 제1 회원의 단말 - 상기 제1 회원의 단말은 상기 제1 회원에 대한 개인키인 제1 개인키 및 상기 제1 개인키에 대응되는 공개키인 제1 공개키를 사전에 생성하여 저장하고 있음 - 로부터 채팅방 개설 요청이 수신되면, 상기 제1 회원의 단말로 상기 제1 회원의 개인 식별 정보와 상기 제1 회원의 단말에 저장되어 있는 공개키의 전송을 요청하는 정보 요청부;
    상기 제1 회원의 단말로부터 상기 제1 회원의 개인 식별 정보로 제1 개인 식별 정보가 수신됨과 동시에 상기 제1 공개키가 수신되면, 상기 식별 정보 테이블로부터 상기 식별 정보 테이블 상에 기록되어 있는 상기 제1 회원의 개인 식별 정보를 추출하고, 상기 추출된 제1 회원의 개인 식별 정보가 상기 제1 개인 식별 정보와 일치하는 것으로 확인되면, 제1 채팅방을 개설한 후, 상기 제1 채팅방에 대한 개인키인 제1 공용 개인키 및 상기 제1 공용 개인키에 대응되는 공개키인 제1 공용 공개키를 생성하는 채팅방 개설부;
    상기 제1 개인 식별 정보를 상기 제1 공용 개인키로 서명함으로써, 상기 제1 회원에 대한 증명 데이터인 제1 증명 데이터를 생성한 후, 상기 제1 증명 데이터를 상기 제1 회원의 단말로 전송함으로써, 상기 제1 회원에 대한 증명 데이터의 발급을 완료 처리하는 발급부;
    상기 제1 증명 데이터 및 상기 제1 공개키가 서로 대응되어 포함된 제1 트랜잭션을 생성한 후, 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치로 상기 제1 트랜잭션과 상기 제1 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 등록 요청부;
    상기 제1 채팅방이 개설된 후 상기 제1 회원의 단말로부터 상기 복수의 회원들 중 다른 하나의 회원인 제2 회원을 상기 제1 채팅방으로 초대하기 위한 초대 요청이 수신되면, 상기 제2 회원의 단말 - 상기 제2 회원의 단말은 상기 제2 회원에 대한 개인키인 제2 개인키 및 상기 제2 개인키에 대응되는 공개키인 제2 공개키를 사전 생성하여 저장하고 있음 - 로 상기 제2 회원의 개인 식별 정보와 상기 제2 회원의 단말에 저장되어 있는 공개키의 전송을 요청하는 추가 정보 요청부;
    상기 제2 회원의 단말로부터 상기 제2 회원의 개인 식별 정보로 제2 개인 식별 정보가 수신됨과 동시에 상기 제2 공개키가 수신되면, 상기 식별 정보 테이블로부터 상기 식별 정보 테이블 상에 기록되어 있는 상기 제2 회원의 개인 식별 정보를 추출하고, 상기 추출된 제2 회원의 개인 식별 정보가 상기 제2 개인 식별 정보와 일치하는 것으로 확인되면, 상기 초대 요청을 허가하여 상기 제2 회원의 단말이 상기 제1 채팅방에 접속하도록 제어하는 허가부;
    상기 제2 개인 식별 정보를 상기 제1 공용 개인키로 서명함으로써, 상기 제2 회원에 대한 증명 데이터인 제2 증명 데이터를 생성한 후, 상기 제2 증명 데이터를 상기 제2 회원의 단말로 전송함으로써, 상기 제2 회원에 대한 증명 데이터의 발급을 완료 처리하는 추가 발급부;
    상기 제2 증명 데이터 및 상기 제2 공개키가 서로 대응되어 포함된 제2 트랜잭션을 생성한 후, 상기 제1 노드 장치로 상기 제2 트랜잭션과 상기 제2 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 추가 등록 요청부;
    상기 제1 회원의 단말로부터 제1 콘텐츠 파일이 수신됨과 동시에 상기 제1 콘텐츠 파일을 상기 제1 채팅방에 게시할 것을 지시하는 콘텐츠 게시 요청이 수신되면, 상기 제1 회원의 단말로 상기 제1 회원에 대해 발급된 증명 데이터의 전송을 요청하는 증명 데이터 요청부;
    상기 제1 회원의 단말로부터 상기 제1 증명 데이터가 수신되면, 상기 제1 회원의 단말로 상기 제1 증명 데이터에 대한 서명 데이터의 전송을 요청하는 서명 데이터 요청부;
    상기 제1 회원의 단말에서 상기 제1 증명 데이터가 상기 제1 개인키로 서명됨으로 인해, 상기 제1 증명 데이터에 대한 서명 데이터로 제1 서명 데이터가 생성되면, 상기 제1 회원의 단말로부터 상기 제1 서명 데이터를 수신하고, 상기 제1 회원의 단말로부터 상기 제1 서명 데이터가 수신되면, 상기 제1 노드 장치로 상기 제1 증명 데이터를 전송함과 동시에, 상기 제1 증명 데이터를 기초로 상기 제1 노드 장치에 저장되어 있는 블록체인 데이터로부터 상기 제1 증명 데이터에 대응되는 상기 제1 공개키를 검색하여 전송할 것을 요청하는 공개키 요청부;
    상기 제1 노드 장치로부터 상기 제1 공개키가 수신되면, 상기 제1 서명 데이터를 상기 제1 공개키로 복호화하여 제1 복호화 서명 데이터를 생성하고, 상기 제1 복호화 서명 데이터가 상기 제1 증명 데이터와 일치하는지 확인하여 상기 제1 복호화 서명 데이터가 상기 제1 증명 데이터와 일치하는 것으로 확인되는 경우, 상기 제1 복호화 서명 데이터를 상기 제1 공용 공개키로 추가로 복호화하여 제1 복호화 식별 데이터를 생성한 후, 상기 제1 복호화 식별 데이터가 상기 제1 개인 식별 정보와 일치하는지 확인하여 상기 제1 복호화 식별 데이터가 상기 제1 개인 식별 정보와 일치하는 것으로 확인되는 경우, 상기 제1 회원의 단말로부터 수신된 상기 제1 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료하는 검증 처리부;
    상기 제1 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료되면, 상기 제1 콘텐츠 파일의 게시 승인을 지시하는 게시 승인 이벤트를 발생시키는 게시 이벤트 발생부;
    상기 게시 승인 이벤트가 발생되면, 랜덤키를 랜덤하게 생성하고, 상기 제1 콘텐츠 파일을 상기 랜덤키로 암호화하여 파일 저장 서버에 저장한 후, 상기 암호화된 제1 콘텐츠 파일의 상기 파일 저장 서버 상에서의 저장 경로 정보를 상기 제1 채팅방에 게시하는 게시부; 및
    상기 암호화된 제1 콘텐츠 파일에 대한 상기 저장 경로 정보가 상기 제1 채팅방에 게시되면, 상기 제1 콘텐츠 파일이 상기 제1 채팅방에 게시되었음을 지시하는 게시 이력 정보가 포함된 제3 트랜잭션을 생성한 후, 상기 제1 노드 장치로 상기 제3 트랜잭션과 상기 제3 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 게시 이력 등록 요청부
    를 포함하는 보안 채팅 서비스를 제공하는 채팅 서비스 서버.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 암호화된 제1 콘텐츠 파일에 대한 상기 저장 경로 정보가 상기 제1 채팅방에 게시된 후, 상기 제2 회원의 단말로부터 상기 저장 경로 정보에 기초한 상기 제1 콘텐츠 파일의 다운로드 요청이 수신되면, 상기 제2 회원의 단말로 상기 제2 회원에 대해 발급된 증명 데이터의 전송을 요청하는 추가 증명 데이터 요청부;
    상기 제2 회원의 단말로부터 상기 제2 증명 데이터가 수신되면, 상기 제2 회원의 단말로 상기 제2 증명 데이터에 대한 서명 데이터의 전송을 요청하는 추가 서명 데이터 요청부;
    상기 제2 회원의 단말에서 상기 제2 증명 데이터가 상기 제2 개인키로 서명됨으로 인해, 상기 제2 증명 데이터에 대한 서명 데이터인 제2 서명 데이터가 생성되면, 상기 제2 회원의 단말로부터 상기 제2 서명 데이터를 수신하고, 상기 제2 회원의 단말로부터 상기 제2 서명 데이터가 수신되면, 상기 제1 노드 장치로 상기 제2 증명 데이터를 전송함과 동시에, 상기 제2 증명 데이터를 기초로 상기 제1 노드 장치에 저장되어 있는 블록체인 데이터로부터 상기 제2 증명 데이터에 대응되는 상기 제2 공개키를 검색하여 전송할 것을 요청하는 추가 공개키 요청부;
    상기 제1 노드 장치로부터 상기 제2 공개키가 수신되면, 상기 제2 서명 데이터를 상기 제2 공개키로 복호화하여 제2 복호화 서명 데이터를 생성하고, 상기 제2 복호화 서명 데이터가 상기 제2 증명 데이터와 일치하는지 확인하여 상기 제2 복호화 서명 데이터가 상기 제2 증명 데이터와 일치하는 것으로 확인되는 경우, 상기 제2 복호화 서명 데이터를 상기 제1 공용 공개키로 추가로 복호화하여 제2 복호화 식별 데이터를 생성한 후, 상기 제2 복호화 식별 데이터가 상기 제2 개인 식별 정보와 일치하는지 확인하여 상기 제2 복호화 식별 데이터가 상기 제2 개인 식별 정보와 일치하는 것으로 확인되는 경우, 상기 제2 회원의 단말에서 수신된 상기 제2 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료하는 추가 검증 처리부;
    상기 제2 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료되면, 상기 제1 콘텐츠 파일의 다운로드 승인을 지시하는 다운로드 승인 이벤트를 발생시키는 다운로드 이벤트 발생부;
    상기 다운로드 승인 이벤트가 발생되면, 상기 저장 경로 정보를 이용하여 상기 파일 저장 서버로부터 상기 암호화된 제1 콘텐츠 파일을 추출하는 파일 추출부;
    상기 랜덤키를 상기 제2 공개키로 암호화하고, 상기 암호화된 제1 콘텐츠 파일, 상기 암호화된 랜덤키 및 상기 제2 서명 데이터를 연접(concatenation)함으로써 제1 암호화 연접 데이터를 생성한 후, 상기 제1 암호화 연접 데이터를 상기 제2 회원의 단말로 전송하는 콘텐츠 전송부; 및
    상기 제2 회원의 단말로 상기 제1 암호화 연접 데이터가 전송되면, 상기 제2 회원의 단말로 상기 제1 암호화 연접 데이터가 전송되었음을 지시하는 다운로드 이력 정보가 포함된 제4 트랜잭션을 생성한 후, 상기 제1 노드 장치로 상기 제4 트랜잭션과 상기 제4 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 다운로드 이력 등록 요청부
    를 더 포함하는 보안 채팅 서비스를 제공하는 채팅 서비스 서버.
  5. 제4항에 있어서,
    상기 제2 회원의 단말은
    상기 채팅 서비스 서버로부터 상기 제1 콘텐츠 파일의 다운로드 요청에 대응하여 상기 제1 암호화 연접 데이터가 수신되면, 상기 제1 암호화 연접 데이터로부터 상기 암호화된 제1 콘텐츠 파일, 상기 암호화된 랜덤키 및 상기 제2 서명 데이터를 서로 분리하고, 분리된 상기 제2 서명 데이터를 상기 제2 회원의 단말에 저장되어 있는 상기 제2 공개키로 복호화하였을 때 생성되는 데이터가 상기 제2 회원의 단말에 저장되어 있는 상기 제2 증명 데이터와 일치하는지 확인하여 일치하는 것으로 확인되면, 상기 암호화된 랜덤키를 상기 제2 회원의 단말에 저장되어 있는 상기 제2 개인키로 복호화한 후, 상기 암호화된 제1 콘텐츠 파일을 상기 복호화된 랜덤키로 복호화함으로써, 상기 암호화된 제1 콘텐츠 파일에 대한 복원을 수행하는 것을 특징으로 하는 보안 채팅 서비스를 제공하는 채팅 서비스 서버.
  6. 블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버의 동작 방법에 있어서,
    복수의 회원들 각각에 대응되는 개인 식별 정보가 기록된 식별 정보 테이블을 저장하여 유지하는 단계;
    상기 복수의 회원들 중 어느 하나의 회원인 제1 회원의 단말 - 상기 제1 회원의 단말은 상기 제1 회원에 대한 개인키인 제1 개인키 및 상기 제1 개인키에 대응되는 공개키인 제1 공개키를 사전에 생성하여 저장하고 있음 - 로부터 채팅방 개설 요청이 수신되면, 상기 제1 회원의 단말로 상기 제1 회원의 개인 식별 정보와 상기 제1 회원의 단말에 저장되어 있는 공개키의 전송을 요청하는 단계;
    상기 제1 회원의 단말로부터 상기 제1 회원의 개인 식별 정보로 제1 개인 식별 정보가 수신됨과 동시에 상기 제1 공개키가 수신되면, 상기 식별 정보 테이블로부터 상기 식별 정보 테이블 상에 기록되어 있는 상기 제1 회원의 개인 식별 정보를 추출하고, 상기 추출된 제1 회원의 개인 식별 정보가 상기 제1 개인 식별 정보와 일치하는 것으로 확인되면, 제1 채팅방을 개설한 후, 상기 제1 채팅방에 대한 개인키인 제1 공용 개인키 및 상기 제1 공용 개인키에 대응되는 공개키인 제1 공용 공개키를 생성하는 단계;
    상기 제1 개인 식별 정보를 상기 제1 공용 개인키로 서명함으로써, 상기 제1 회원에 대한 증명 데이터인 제1 증명 데이터를 생성한 후, 상기 제1 증명 데이터를 상기 제1 회원의 단말로 전송함으로써, 상기 제1 회원에 대한 증명 데이터의 발급을 완료 처리하는 단계;
    상기 제1 증명 데이터 및 상기 제1 공개키가 서로 대응되어 포함된 제1 트랜잭션을 생성한 후, 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치로 상기 제1 트랜잭션과 상기 제1 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계;
    상기 제1 채팅방이 개설된 후 상기 제1 회원의 단말로부터 상기 복수의 회원들 중 다른 하나의 회원인 제2 회원을 상기 제1 채팅방으로 초대하기 위한 초대 요청이 수신되면, 상기 제2 회원의 단말 - 상기 제2 회원의 단말은 상기 제2 회원에 대한 개인키인 제2 개인키 및 상기 제2 개인키에 대응되는 공개키인 제2 공개키를 사전 생성하여 저장하고 있음 - 로 상기 제2 회원의 개인 식별 정보와 상기 제2 회원의 단말에 저장되어 있는 공개키의 전송을 요청하는 단계;
    상기 제2 회원의 단말로부터 상기 제2 회원의 개인 식별 정보로 제2 개인 식별 정보가 수신됨과 동시에 상기 제2 공개키가 수신되면, 상기 식별 정보 테이블로부터 상기 식별 정보 테이블 상에 기록되어 있는 상기 제2 회원의 개인 식별 정보를 추출하고, 상기 추출된 제2 회원의 개인 식별 정보가 상기 제2 개인 식별 정보와 일치하는 것으로 확인되면, 상기 초대 요청을 허가하여 상기 제2 회원의 단말이 상기 제1 채팅방에 접속하도록 제어하는 단계;
    상기 제2 개인 식별 정보를 상기 제1 공용 개인키로 서명함으로써, 상기 제2 회원에 대한 증명 데이터인 제2 증명 데이터를 생성한 후, 상기 제2 증명 데이터를 상기 제2 회원의 단말로 전송함으로써, 상기 제2 회원에 대한 증명 데이터의 발급을 완료 처리하는 단계;
    상기 제2 증명 데이터 및 상기 제2 공개키가 서로 대응되어 포함된 제2 트랜잭션을 생성한 후, 상기 제1 노드 장치로 상기 제2 트랜잭션과 상기 제2 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계;
    상기 제1 회원의 단말로부터 제1 콘텐츠 파일이 수신됨과 동시에 상기 제1 콘텐츠 파일을 상기 제1 채팅방에 게시할 것을 지시하는 콘텐츠 게시 요청이 수신되면, 상기 제1 회원의 단말로 상기 제1 회원에 대해 발급된 증명 데이터의 전송을 요청하는 단계;
    상기 제1 회원의 단말로부터 상기 제1 증명 데이터가 수신되면, 상기 제1 증명 데이터에 대한 서명 데이터의 전송을 요청하는 단계;
    상기 제1 회원의 단말에서 상기 제1 증명 데이터가 상기 제1 개인키로 서명됨으로 인해, 상기 제1 증명 데이터에 대한 서명 데이터로 제1 서명 데이터가 생성되면, 상기 제1 회원의 단말로부터 상기 제1 서명 데이터를 수신하고, 상기 제1 회원의 단말로부터 상기 제1 서명 데이터가 수신되면, 상기 제1 노드 장치로 상기 제1 증명 데이터를 전송함과 동시에, 상기 제1 증명 데이터를 기초로 상기 제1 노드 장치에 저장되어 있는 블록체인 데이터로부터 상기 제1 증명 데이터에 대응되는 상기 제1 공개키를 검색하여 전송할 것을 요청하는 단계;
    상기 제1 노드 장치로부터 상기 제1 공개키가 수신되면, 상기 제1 서명 데이터를 상기 제1 공개키로 복호화하여 제1 복호화 서명 데이터를 생성하고, 상기 제1 복호화 서명 데이터가 상기 제1 증명 데이터와 일치하는지 확인하여 상기 제1 복호화 서명 데이터가 상기 제1 증명 데이터와 일치하는 것으로 확인되는 경우, 상기 제1 복호화 서명 데이터를 상기 제1 공용 공개키로 추가로 복호화하여 제1 복호화 식별 데이터를 생성한 후, 상기 제1 복호화 식별 데이터가 상기 제1 개인 식별 정보와 일치하는지 확인하여 상기 제1 복호화 식별 데이터가 상기 제1 개인 식별 정보와 일치하는 것으로 확인되는 경우, 상기 제1 회원의 단말에서 수신된 상기 제1 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료하는 단계;
    상기 제1 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료되면, 상기 제1 콘텐츠 파일의 게시 승인을 지시하는 게시 승인 이벤트를 발생시키는 단계;
    상기 게시 승인 이벤트가 발생되면, 랜덤키를 랜덤하게 생성하고, 상기 제1 콘텐츠 파일을 상기 랜덤키로 암호화하여 파일 저장 서버에 저장한 후, 상기 암호화된 제1 콘텐츠 파일의 상기 파일 저장 서버 상에서의 저장 경로 정보를 상기 제1 채팅방에 게시하는 단계; 및
    상기 암호화된 제1 콘텐츠 파일에 대한 상기 저장 경로 정보가 상기 제1 채팅방에 게시되면, 상기 제1 콘텐츠 파일이 상기 제1 채팅방에 게시되었음을 지시하는 게시 이력 정보가 포함된 제3 트랜잭션을 생성한 후, 상기 제1 노드 장치로 상기 제3 트랜잭션과 상기 제3 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계
    를 포함하는 보안 채팅 서비스를 제공하는 채팅 서비스 서버의 동작 방법.
  7. 삭제
  8. 삭제
  9. 제6항에 있어서,
    상기 암호화된 제1 콘텐츠 파일에 대한 상기 저장 경로 정보가 상기 제1 채팅방에 게시된 후, 상기 제2 회원의 단말로부터 상기 저장 경로 정보에 기초한 상기 제1 콘텐츠 파일의 다운로드 요청이 수신되면, 상기 제2 회원의 단말로 상기 제2 회원에 대해 발급된 증명 데이터의 전송을 요청하는 단계;
    상기 제2 회원의 단말로부터 상기 제2 증명 데이터가 수신되면, 상기 제2 증명 데이터에 대한 서명 데이터의 전송을 요청하는 단계;
    상기 제2 회원의 단말에서 상기 제2 증명 데이터가 상기 제2 개인키로 서명됨으로 인해, 상기 제2 증명 데이터에 대한 서명 데이터인 제2 서명 데이터가 생성되면, 상기 제2 회원의 단말로부터 상기 제2 서명 데이터를 수신하고, 상기 제2 회원의 단말로부터 상기 제2 서명 데이터가 수신되면, 상기 제1 노드 장치로 상기 제2 증명 데이터를 전송함과 동시에, 상기 제2 증명 데이터를 기초로 상기 제1 노드 장치에 저장되어 있는 블록체인 데이터로부터 상기 제2 증명 데이터에 대응되는 상기 제2 공개키를 검색하여 전송할 것을 요청하는 단계;
    상기 제1 노드 장치로부터 상기 제2 공개키가 수신되면, 상기 제2 서명 데이터를 상기 제2 공개키로 복호화하여 제2 복호화 서명 데이터를 생성하고, 상기 제2 복호화 서명 데이터가 상기 제2 증명 데이터와 일치하는지 확인하여 상기 제2 복호화 서명 데이터가 상기 제2 증명 데이터와 일치하는 것으로 확인되는 경우, 상기 제2 복호화 서명 데이터를 상기 제1 공용 공개키로 추가로 복호화하여 제2 복호화 식별 데이터를 생성한 후, 상기 제2 복호화 식별 데이터가 상기 제2 개인 식별 정보와 일치하는지 확인하여 상기 제2 복호화 식별 데이터가 상기 제2 개인 식별 정보와 일치하는 것으로 확인되는 경우, 상기 제2 회원의 단말에서 수신된 상기 제2 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료하는 단계;
    상기 제2 서명 데이터가 정상적인 서명 데이터인 것으로 검증 완료되면, 상기 제1 콘텐츠 파일의 다운로드 승인을 지시하는 다운로드 승인 이벤트를 발생시키는 단계;
    상기 다운로드 승인 이벤트가 발생되면, 상기 저장 경로 정보를 이용하여 상기 파일 저장 서버로부터 상기 암호화된 제1 콘텐츠 파일을 추출하는 단계;
    상기 랜덤키를 상기 제2 공개키로 암호화하고, 상기 암호화된 제1 콘텐츠 파일, 상기 암호화된 랜덤키 및 상기 제2 서명 데이터를 연접(concatenation)함으로써 제1 암호화 연접 데이터를 생성한 후, 상기 제1 암호화 연접 데이터를 상기 제2 회원의 단말로 전송하는 단계; 및
    상기 제2 회원의 단말로 상기 제1 암호화 연접 데이터가 전송되면, 상기 제2 회원의 단말로 상기 제1 암호화 연접 데이터가 전송되었음을 지시하는 다운로드 이력 정보가 포함된 제4 트랜잭션을 생성한 후, 상기 제1 노드 장치로 상기 제4 트랜잭션과 상기 제4 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계
    를 더 포함하는 보안 채팅 서비스를 제공하는 채팅 서비스 서버의 동작 방법.
  10. 제9항에 있어서,
    상기 제2 회원의 단말은
    상기 채팅 서비스 서버로부터 상기 제1 콘텐츠 파일의 다운로드 요청에 대응하여 상기 제1 암호화 연접 데이터가 수신되면, 상기 제1 암호화 연접 데이터로부터 상기 암호화된 제1 콘텐츠 파일, 상기 암호화된 랜덤키 및 상기 제2 서명 데이터를 서로 분리하고, 분리된 상기 제2 서명 데이터를 상기 제2 회원의 단말에 저장되어 있는 상기 제2 공개키로 복호화하였을 때 생성되는 데이터가 상기 제2 회원의 단말에 저장되어 있는 상기 제2 증명 데이터와 일치하는지 확인하여 일치하는 것으로 확인되면, 상기 암호화된 랜덤키를 상기 제2 회원의 단말에 저장되어 있는 상기 제2 개인키로 복호화한 후, 상기 암호화된 제1 콘텐츠 파일을 상기 복호화된 랜덤키로 복호화함으로써, 상기 암호화된 제1 콘텐츠 파일에 대한 복원을 수행하는 것을 특징으로 하는 보안 채팅 서비스를 제공하는 채팅 서비스 서버의 동작 방법.
  11. 제6항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 비 일시적 기록 매체.
  12. 제6항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 판독 가능 비 일시적 저장매체에 저장된 컴퓨터 프로그램.
KR1020200095449A 2020-07-30 2020-07-30 블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버 및 그 동작 방법 KR102333287B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200095449A KR102333287B1 (ko) 2020-07-30 2020-07-30 블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200095449A KR102333287B1 (ko) 2020-07-30 2020-07-30 블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR102333287B1 true KR102333287B1 (ko) 2021-12-01

Family

ID=78933932

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200095449A KR102333287B1 (ko) 2020-07-30 2020-07-30 블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102333287B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117640251A (zh) * 2024-01-24 2024-03-01 中国信息通信研究院 基于分布式网络的加解密核验方法和装置、设备和介质
CN117640251B (zh) * 2024-01-24 2024-05-31 中国信息通信研究院 基于分布式网络的加解密核验方法和装置、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010016233A (ko) * 2000-11-24 2001-03-05 김동균 암호화 채팅시스템
KR20160099922A (ko) * 2015-02-13 2016-08-23 크루셜텍 (주) 사용자 인증서 발급과 사용자 인증을 위한 방법, 장치 및 컴퓨터 프로그램
KR20170035031A (ko) * 2015-09-22 2017-03-30 주이스 주식회사 업무용 메신저 서버장치 및 이를 이용한 업무용 메신저 시스템
KR20190139399A (ko) * 2018-06-08 2019-12-18 이국현 중소상공인을 위한 전자 상거래 플랫폼 시스템
KR20200065939A (ko) * 2018-11-30 2020-06-09 사단법인 전국은행연합회 블록체인 및 스마트 컨트랙트 기반 인증서 상태 관리 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010016233A (ko) * 2000-11-24 2001-03-05 김동균 암호화 채팅시스템
KR20160099922A (ko) * 2015-02-13 2016-08-23 크루셜텍 (주) 사용자 인증서 발급과 사용자 인증을 위한 방법, 장치 및 컴퓨터 프로그램
KR20170035031A (ko) * 2015-09-22 2017-03-30 주이스 주식회사 업무용 메신저 서버장치 및 이를 이용한 업무용 메신저 시스템
KR20190139399A (ko) * 2018-06-08 2019-12-18 이국현 중소상공인을 위한 전자 상거래 플랫폼 시스템
KR20200065939A (ko) * 2018-11-30 2020-06-09 사단법인 전국은행연합회 블록체인 및 스마트 컨트랙트 기반 인증서 상태 관리 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117640251A (zh) * 2024-01-24 2024-03-01 中国信息通信研究院 基于分布式网络的加解密核验方法和装置、设备和介质
CN117640251B (zh) * 2024-01-24 2024-05-31 中国信息通信研究院 基于分布式网络的加解密核验方法和装置、设备和介质

Similar Documents

Publication Publication Date Title
TWI714843B (zh) 用於具有分散式共識之分散式系統中之契約資料之存取控制方法及其契約產生器及驗證伺服器
KR101883156B1 (ko) 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버
CN107925581B (zh) 生物体认证系统以及认证服务器
JP2021508427A (ja) 生体情報基盤の電子署名認証システム及びその電子署名認証方法
CN102017578A (zh) 用于在令牌与验证器之间进行认证的网络助手
WO2008030184A1 (en) Improved authentication system
CN108833431B (zh) 一种密码重置的方法、装置、设备及存储介质
KR102137122B1 (ko) 보안 체크 방법, 장치, 단말기 및 서버
JP7462903B2 (ja) 利用者端末、認証者端末、登録者端末、管理システムおよびプログラム
CN112784311A (zh) 存证系统及区块链网络
JP2002297551A (ja) 認証システム
US20220101308A1 (en) Method and system for payment for central bank digital currency
US11368309B2 (en) Methods and devices for generating and verifying passwords
KR102191111B1 (ko) 블록 체인을 이용하여 익명 메시지 서비스를 제공하기 시스템 및 방법
KR102333287B1 (ko) 블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버 및 그 동작 방법
CN113342802A (zh) 区块链数据存储的方法和装置
KR102357595B1 (ko) 가로채기 해킹 공격 방지를 위한 블록체인 기반 인증 시스템 및 방법
KR101897342B1 (ko) 보안 및 익명 서비스 제공 시스템 및 방법
KR20180034199A (ko) 싱글 사인 온 서비스 기반의 상호 인증 방법 및 시스템
Bari et al. Generalized Immutable Ledger (GILED) using Blockchain Technology
KR102564222B1 (ko) 메신저 서비스를 통한 문서 파일의 보안 공유를 가능하게 하는 메신저 서비스 서버 및 그 동작 방법
US11652645B2 (en) Storage medium, communication method, and communication device
JP2020102741A (ja) 認証システム、認証方法、及び、認証プログラム
US20220374872A1 (en) Platform for building decentralized applications
WO2024090530A1 (en) Decentralized identity management apparatus, decentralized identity management system, decentralized identity management method, and decentralized identity management storage medium

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