KR20230147847A - 전자책 데이터에 대한 소유권 증명을 위한 nft 발행 서비스를 제공하는 서비스 제공 서버 및 그 동작 방법 - Google Patents

전자책 데이터에 대한 소유권 증명을 위한 nft 발행 서비스를 제공하는 서비스 제공 서버 및 그 동작 방법 Download PDF

Info

Publication number
KR20230147847A
KR20230147847A KR1020220046683A KR20220046683A KR20230147847A KR 20230147847 A KR20230147847 A KR 20230147847A KR 1020220046683 A KR1020220046683 A KR 1020220046683A KR 20220046683 A KR20220046683 A KR 20220046683A KR 20230147847 A KR20230147847 A KR 20230147847A
Authority
KR
South Korea
Prior art keywords
book data
information
nft
electronic terminal
identification information
Prior art date
Application number
KR1020220046683A
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 KR1020220046683A priority Critical patent/KR20230147847A/ko
Publication of KR20230147847A publication Critical patent/KR20230147847A/ko

Links

Images

Classifications

    • 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/10Services
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/14Payment architectures specially adapted for billing systems
    • 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)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Development Economics (AREA)
  • Primary Health Care (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

전자책 데이터에 대한 소유권 증명을 위한 NFT(Non-Fungible Token) 발행 서비스를 제공하는 서비스 제공 서버 및 그 동작 방법이 개시된다. 본 발명에 따른 서비스 제공 서버 및 그 동작 방법은 전자책 데이터를 소유하고 있는 소유자에게, 해당 소유자 정보가 포함된 NFT를 발급해 주고, 전자책 데이터를 소유하고 있는 소유자가 이 NFT를 활용하여 전자책 데이터를 다른 사람에게 양도할 수 있도록 지원하는 시스템 기술에 대한 것이다.

Description

전자책 데이터에 대한 소유권 증명을 위한 NFT 발행 서비스를 제공하는 서비스 제공 서버 및 그 동작 방법{SERVICE PROVIDING SERVER THAT PROVIDES NFT ISSUANCE SERVICE FOR PROOF OF OWNERSHIP OF E-BOOK DATA AND OPERATING METHOD THEREOF}
본 발명은 전자책 데이터에 대한 소유권 증명을 위한 NFT(Non-Fungible Token) 발행 서비스를 제공하는 서비스 제공 서버 및 그 동작 방법에 대한 것이다.
NFT(Non-Fungible Token)란, '대체 불가능한 토큰'을 의미하는 것으로, 각 토큰마다 고유 값이 부여되어 있어서, 다른 토큰으로 대체하는 것이 불가능한 가상 자산을 의미한다.
최근에는, 다양한 분야에서 NFT의 도입이 증가함에 따라, 영상, 음원, 이미지, 디지털 아이템 등과 같은 멀티미디어 콘텐츠에 대한 NFT를 발급하고 거래할 수 있도록 지원하는 다양한 형태의 NFT의 발급 및 거래 서비스들이 등장하고 있다.
아울러, 최근에는 스마트폰이나 태블릿 PC와 같은 다양한 휴대용 전자 단말이 보급됨에 따라, 기존의 종이책을 대신하여, 휴대용 전자 단말을 통해서 독서를 할 수 있도록 하는 전자책이 인기를 얻고 있다.
이러한 전자책은 보통 EPUB(electronic publication)이나 pdf 포맷으로 제작되어 있는 일종의 전자 문서로서, 사용자는 자신의 전자 단말에 설치된 전용 리더(reader)를 이용하여 전자책 데이터를 단말 상에 로드함으로써, 전자 단말의 화면을 통해 전자책 콘텐츠를 볼 수 있다.
이렇게, 전자책에 대한 수요가 증가하면서, 전자책 데이터를 구매한 사용자가 자신이 보유하고 있는 전자책 데이터를 다른 사람에게 일종의 중고 서적의 형태로 판매할 수 있도록 하는 거래 시스템에 대한 도입을 고려할 수 있다.
다만, 전자책 데이터는 데이터의 형식을 갖추고 있어서, 전자책 데이터를 거래하려고 할 때, 이 전자책 데이터에 대한 소유권 증빙이 어렵다는 점에서, 전자책 데이터의 소유권 증빙에 활용하기 위해서, 앞서 언급한 NFT를 활용하는 방안을 고려할 수 있다.
즉, 전자책 데이터를 소유하고 있는 소유자에게, 해당 소유자 정보가 포함된 NFT를 발급해 주고, 전자책 데이터를 소유하고 있는 소유자가 이 NFT를 활용하여 전자책 데이터를 다른 사람에게 양도할 수 있도록 하는 시스템 기술의 도입을 고려할 수 있다.
본 발명에 따른 서비스 제공 서버 및 그 동작 방법은 전자책 데이터를 소유하고 있는 소유자에게, 해당 소유자 정보가 포함된 NFT(Non-Fungible Token)를 발급해 주고, 전자책 데이터를 소유하고 있는 소유자가 이 NFT를 활용하여 전자책 데이터를 다른 사람에게 양도할 수 있도록 하는 시스템 기술을 제공하고자 한다.
본 발명의 일실시예에 따른 전자책 데이터에 대한 소유권 증명을 위한 NFT(Non-Fungible Token) 발행 서비스를 제공하는 서비스 제공 서버는 상기 NFT 발행 서비스에 가입된 복수의 회원들 각각에 대응되는 회원 식별 정보가 저장되어 있는 정보 저장부, 상기 복수의 회원들 중 어느 한 명인 제1 회원의 제1 전자 단말로부터, 제1 전자책 데이터가 수신되면서, 상기 제1 전자책 데이터의 소유권 증명을 위한 NFT의 발행 요청 명령이 수신되면, 상기 정보 저장부를 참조하여 상기 제1 회원에 대한 제1 회원 식별 정보를 확인한 후, 상기 제1 전자책 데이터에 포함되어 있는 메타 데이터 상에, 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보를 삽입하는 정보 삽입부, 데이터 저장을 위한 사전 설정된 클라우드 서버에 접속하여 상기 클라우드 서버로, 상기 제1 전자책 데이터를 전송하면서, 상기 제1 전자책 데이터를 저장할 것을 요청하는 저장 요청부, 상기 클라우드 서버에서 상기 제1 전자책 데이터가 저장됨에 따라, 상기 클라우드 서버로부터, 상기 제1 전자책 데이터가 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 저장 경로에 대한 정보와, 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보가 포함된 제1 NFT를 생성하는 NFT 생성부 및 상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 제1 전자 단말로 전송하는 메시지 전송부를 포함한다.
또한, 본 발명의 일실시예에 따른 전자책 데이터에 대한 소유권 증명을 위한 NFT 발행 서비스를 제공하는 서비스 제공 서버의 동작 방법은 상기 NFT 발행 서비스에 가입된 복수의 회원들 각각에 대응되는 회원 식별 정보가 저장되어 있는 정보 저장부를 유지하는 단계, 상기 복수의 회원들 중 어느 한 명인 제1 회원의 제1 전자 단말로부터, 제1 전자책 데이터가 수신되면서, 상기 제1 전자책 데이터의 소유권 증명을 위한 NFT의 발행 요청 명령이 수신되면, 상기 정보 저장부를 참조하여 상기 제1 회원에 대한 제1 회원 식별 정보를 확인한 후, 상기 제1 전자책 데이터에 포함되어 있는 메타 데이터 상에, 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보를 삽입하는 단계, 데이터 저장을 위한 사전 설정된 클라우드 서버에 접속하여 상기 클라우드 서버로, 상기 제1 전자책 데이터를 전송하면서, 상기 제1 전자책 데이터를 저장할 것을 요청하는 단계, 상기 클라우드 서버에서 상기 제1 전자책 데이터가 저장됨에 따라, 상기 클라우드 서버로부터, 상기 제1 전자책 데이터가 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 저장 경로에 대한 정보와, 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보가 포함된 제1 NFT를 생성하는 단계 및 상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 제1 전자 단말로 전송하는 단계를 포함한다.
본 발명에 따른 서비스 제공 서버 및 그 동작 방법은 전자책 데이터를 소유하고 있는 소유자에게, 해당 소유자 정보가 포함된 NFT(Non-Fungible Token)를 발급해 주고, 전자책 데이터를 소유하고 있는 소유자가 이 NFT를 활용하여 전자책 데이터를 다른 사람에게 양도할 수 있도록 하는 시스템 기술을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 전자책 데이터에 대한 소유권 증명을 위한 NFT(Non-Fungible Token) 발행 서비스를 제공하는 서비스 제공 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 전자책 데이터에 대한 소유권 증명을 위한 NFT 발행 서비스를 제공하는 서비스 제공 서버의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 전자책 데이터에 대한 소유권 증명을 위한 NFT(Non-Fungible Token) 발행 서비스를 제공하는 서비스 제공 서버의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명에 따른 서비스 제공 서버(110)는 정보 저장부(111), 정보 삽입부(112), 저장 요청부(113), NFT 생성부(114) 및 메시지 전송부(115)를 포함한다.
정보 저장부(111)에는 상기 NFT 발행 서비스에 가입된 복수의 회원들 각각에 대응되는 회원 식별 정보가 저장되어 있다.
여기서, 회원 식별 정보란, 각 회원의 주민등록번호, 휴대폰 번호, ID 등과 같은 각 회원을 식별하기 위한 고유 정보를 의미한다.
정보 삽입부(112)는 상기 복수의 회원들 중 어느 한 명인 제1 회원(21)의 제1 전자 단말(31)로부터, 제1 전자책 데이터가 수신되면서, 상기 제1 전자책 데이터의 소유권 증명을 위한 NFT의 발행 요청 명령이 수신되면, 정보 저장부(111)를 참조하여 상기 제1 회원(21)에 대한 제1 회원 식별 정보를 확인한 후, 상기 제1 전자책 데이터에 포함되어 있는 메타 데이터 상에, 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보를 삽입한다.
예컨대, 상기 제1 전자책 데이터의 데이터 포맷이 EPUB(electronic publication)으로 구성되어 있다고 하는 경우, 정보 삽입부(112)는 EPUB 포맷으로 구성되어 있는 상기 제1 전자책 데이터를 구성하는 메타 데이터, 본문 데이터 등과 같은 데이터들 중, 상기 메타 데이터 상에 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보를 삽입할 수 있다.
저장 요청부(113)는 데이터 저장을 위한 사전 설정된 클라우드 서버(40)에 접속하여 클라우드 서버(40)로, 상기 제1 전자책 데이터를 전송하면서, 상기 제1 전자책 데이터를 저장할 것을 요청한다.
이때, 클라우드 서버(40)는 서비스 제공 서버(110)로부터 상기 제1 전자책 데이터에 대한 저장 요청이 수신되면, 클라우드 서버(40) 상에 상기 제1 전자책 데이터를 저장한 후, 상기 제1 전자책 데이터가 저장된 제1 저장 경로에 대한 정보를 생성하여 서비스 제공 서버(110)로 전송할 수 있다.
이렇게, 클라우드 서버(40)에서 상기 제1 전자책 데이터가 저장됨에 따라, 클라우드 서버(40)로부터, 상기 제1 전자책 데이터가 저장된 상기 제1 저장 경로에 대한 정보가 서비스 제공 서버(110)에 수신되면, NFT 생성부(114)는 상기 제1 저장 경로에 대한 정보와, 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보가 포함된 제1 NFT를 생성한다.
메시지 전송부(115)는 상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크(10)에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 제1 전자 단말(31)로 전송한다.
이때, 본 발명의 일실시예에 따르면, 메시지 전송부(115)는 블록체인 네트워크(10)에 상기 제1 NFT를 등록 처리하기 위해, 상기 제1 NFT가 포함된 트랜잭션을 생성한 후, 상기 트랜잭션을 블록체인 네트워크(10)에 전파할 수 있다. 그러면, 블록체인 네트워크(10)를 구성하고 있는 복수의 노드들(11, 12, 13, 14, 15, 16) 중 어느 하나의 노드가 상기 트랜잭션이 포함된 블록을 생성하여, 복수의 노드들(11, 12, 13, 14, 15, 16)로 전파할 수 있다. 이에 따라, 복수의 노드들(11, 12, 13, 14, 15, 16)에 상기 블록이 수신되면, 복수의 노드들(11, 12, 13, 14, 15, 16)은 각 노드에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 NFT를 공유할 수 있다.
본 발명의 일실시예에 따르면, 정보 삽입부(112)는 제1 전자 단말(31)로부터, 상기 제1 전자책 데이터가 수신되면서, 상기 제1 전자책 데이터의 소유권 증명을 위한 NFT의 발행 요청 명령이 수신되는 경우, 상기 제1 회원(21)이 본 NFT 발행 서비스에 가입된 회원이 맞는지 여부에 대한 사용자 인증을 진행하기 위한 구성을 포함할 수 있다.
이와 관련해서, 정보 삽입부(112)는 해시 함수 저장부(116), 이벤트 발생부(117), 연산 코드 생성부(118), 해시 함수 추출부(119), 피드백 요청부(120), 인증 완료 처리부(121) 및 삽입 처리부(122)를 포함할 수 있다.
해시 함수 저장부(116)에는 상기 복수의 회원들 각각의 전자 단말과 사전 공유하고 있는, n(n은 2이상의 짝수인 자연수임)+1개의 서로 다른 해시 함수들이 저장되어 있다.
여기서, 상기 n+1개의 해시 함수들 각각에는, 0이상 n이하의 정수로 구성된 서로 다른 고유 번호가 할당되어 있다.
예컨대, n을 6이라고 하는 경우, 해시 함수 저장부(116)에는 하기의 표 1과 같은 7개의 해시 함수들이 저장되어 있을 수 있다.
해시 함수들 고유 번호
해시 함수 1 0
해시 함수 2 1
해시 함수 3 2
해시 함수 4 3
해시 함수 5 4
해시 함수 6 5
해시 함수 7 6
이벤트 발생부(117)는 제1 전자 단말(31)로부터, 상기 제1 전자책 데이터가 수신되면서, 상기 NFT의 발행 요청 명령이 수신되면, 상기 제1 회원(21)에 대한 사용자 인증을 진행하기 위한 인증 이벤트를 발생시킨다.
연산 코드 생성부(118)는 상기 인증 이벤트가 발생되면, n자릿수의 일회용 인증 번호를 랜덤하게 생성하고, 상기 일회용 인증 번호를, 중심축을 기준으로 전단의 n/2자릿수의 제1 부분 번호와 후단의 n/2자릿수의 제2 부분 번호로 분리한 후, 상기 제1 부분 번호를 구성하는 n/2개의 숫자들 각각에 대해 모듈로(modulo)-2 연산을 수행함으로써 n/2비트의 제1 부분 코드를 생성하고, 상기 제2 부분 번호를 구성하는 n/2개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써 n/2비트의 제2 부분 코드를 생성한 후, 상기 제1 부분 코드와 상기 제2 부분 코드를 배타적 논리합함으로써 n/2비트의 연산 코드를 생성한다.
여기서, 모듈로-2 연산이란 소정의 피제수를 2로 나눈 나머지를 산출하는 연산을 의미한다.
예컨대, 전술한 예와 같이, n을 6이라고 하는 경우, 연산 코드 생성부(118)는 상기 인증 이벤트가 발생되면, 6자릿수의 일회용 인증 번호를 '234517'과 같이 랜덤하게 생성한 후, 상기 일회용 인증 번호를, 중심축으로 기준으로 전단의 3자릿수의 제1 부분 번호인 '234'와 후단의 3자릿수의 제2 부분 번호인 '517'로 분리할 수 있다.
그러고 나서, 연산 코드 생성부(118)는 상기 제1 부분 번호인 '234'를 구성하는 3개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써, 3비트의 '010'이라는 제1 부분 코드를 생성할 수 있고, 상기 제2 부분 번호인 '517'을 구성하는 3개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써, 3비트의 '111'이라는 제2 부분 코드를 생성할 수 있다.
그 이후, 연산 코드 생성부(118)는 상기 제1 부분 코드와 상기 제2 부분 코드 간의 배타적 논리합 연산을 수행함으로써, '101'이라고 하는 3비트의 연산 코드를 생성할 수 있다.
해시 함수 추출부(119)는 상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게(Hamming Weight)의 합을 연산하고, 해시 함수 저장부(116)로부터, 상기 해밍 무게의 합이 고유 번호로서 할당되어 있는 제1 해시 함수를 추출한다.
예컨대, 전술한 예와 같이, 상기 제1 부분 코드가 '010', 상기 제2 부분 코드가 '111'로 생성되었다고 하는 경우, 해시 함수 추출부(119)는 상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게인 '1'과 '3'의 합을 '4'와 같이 연산한 후, 상기 표 1과 같은 해시 함수들이 저장되어 있는 해시 함수 저장부(116)로부터 '4'가 고유 번호로서 할당되어 있는 해시 함수인 '해시 함수 5'를 상기 제1 해시 함수로 추출할 수 있다.
피드백 요청부(120)는 상기 제1 해시 함수에 상기 연산 코드를 입력으로 인가하여 제1 해시 값을 생성한 후, 제1 전자 단말(31)로, 상기 일회용 인증 번호를 전송하면서, 상기 일회용 인증 번호를 기초로 생성되는 인증용 해시 값을 피드백할 것을 요청한다.
관련해서, 전술한 예와 같이, 상기 제1 해시 함수가 '해시 함수 5'라고 하고, 상기 연산 코드가 '101'이라고 하며, 상기 일회용 인증 번호가 '234517'이라고 하는 경우, 피드백 요청부(120)는 '해시 함수 5'에 상기 연산 코드인 '101'을 입력으로 인가하여 상기 제1 해시 값을 생성한 후, 제1 전자 단말(31)로, 상기 일회용 인증 번호인 '234517'을 전송하면서, 상기 일회용 인증 번호를 기초로 생성되는 인증용 해시 값을 피드백할 것을 요청할 수 있다.
이때, 본 발명의 일실시예에 따르면, 제1 전자 단말(31)은 서비스 제공 서버(110)로부터 상기 일회용 인증 번호와 인증용 해시 값의 피드백 요청이 수신되는 경우, 상기 일회용 인증 번호를 기초로 제1 인증용 해시 값을 생성하여 서비스 제공 서버(110)로 피드백할 수 있다.
구체적으로, 제1 전자 단말(31)은 서비스 제공 서버(110)로부터 수신한, 상기 일회용 인증 번호로부터 상기 제1 부분 번호와 상기 제2 부분 번호를 분리 추출하고, 상기 제1 부분 번호와 상기 제2 부분 번호를 구성하는 n/2개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써 상기 제1 부분 코드와 상기 제2 부분 코드를 생성한 후, 상기 제1 부분 코드와 상기 제2 부분 코드를 배타적 논리합하여 상기 연산 코드를 생성하고, 제1 전자 단말(31)에 저장되어 있는 상기 n+1개의 해시 함수들 중, 상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게의 합이 고유 번호로서 할당되어 있는 상기 제1 해시 함수를 추출한 후, 상기 제1 해시 함수에 상기 연산 코드를 입력으로 인가함으로써, 상기 제1 인증용 해시 값을 생성할 수 있다.
예컨대, 전술한 예와 같이, 상기 일회용 인증 번호를 '234517'이라고 하는 경우, 제1 전자 단말(31)은 상기 일회용 인증 번호를, 중심축으로 기준으로 전단의 3자릿수의 제1 부분 번호인 '234'와 후단의 3자릿수의 제2 부분 번호인 '517'로 분리할 수 있다.
그러고 나서, 제1 전자 단말(31)은 상기 제1 부분 번호인 '234'를 구성하는 3개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써, 3비트의 '010'이라는 제1 부분 코드를 생성할 수 있고, 상기 제2 부분 번호인 '517'을 구성하는 3개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써, 3비트의 '111'이라는 제2 부분 코드를 생성할 수 있다.
그 이후, 제1 전자 단말(31)은 상기 제1 부분 코드와 상기 제2 부분 코드 간의 배타적 논리합 연산을 수행함으로써, '101'이라고 하는 3비트의 연산 코드를 생성할 수 있고, 상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게의 합을 연산하여, 제1 전자 단말(31)에 저장되어 있는 상기 표 1과 같은 6개의 해시 함수들 중 상기 해밍 무게의 합이 고유 번호로서 할당되어 있는 제1 해시 함수를 추출할 수 있다.
관련해서, 상기 제1 부분 코드가 '010', 상기 제2 부분 코드가 '111'이므로, 제1 전자 단말(31)은 상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게인 '1'과 '3'의 합을 '4'와 같이 연산한 후, 제1 전자 단말(31) 상에 저장되어 있는 상기 표 1과 같은 해시 함수들 중 '4'가 고유 번호로서 할당되어 있는 해시 함수인 '해시 함수 5'를 상기 제1 해시 함수로 추출할 수 있다.
그러고 나서, 제1 전자 단말(31)은 '해시 함수 5'에 상기 연산 코드인 '101'을 입력으로 인가하여 제1 인증용 해시 값을 생성한 후, 서비스 제공 서버(110)로 상기 제1 인증용 해시 값을 피드백할 수 있다.
이렇게, 제1 전자 단말(31)로부터 상기 제1 인증용 해시 값이 서비스 제공 서버(110)에 피드백되면, 인증 완료 처리부(121)는 상기 제1 인증용 해시 값이 상기 제1 해시 값과 일치하는지 확인하여, 양 해시 값이 서로 일치하는 것으로 확인되면, 상기 제1 회원(21)에 대한 사용자 인증을 완료 처리한다. 관련해서, 상기 제1 해시 값과 상기 제1 인증용 해시 값은 서비스 제공 서버(110)와 제1 전자 단말(31)이 사전 공유하고 있는 상기 표 1과 같은 해시 함수 세트를 활용하여, 일회용 인증 번호를 기반으로 생성한 해시 값이므로, 서로 일치하게 될 것이고, 이렇게 양 해시 값의 일치여부를 확인함으로써, 서비스 제공 서버(110)는 제1 회원(21)이 NFT 발행 서비스에 가입된 회원이 맞는 것으로 사용자 인증 처리를 완료할 수 있다.
삽입 처리부(122)는 상기 제1 회원(21)에 대한 사용자 인증이 완료 처리되면, 정보 저장부(111)를 참조하여 상기 제1 회원(21)에 대한 상기 제1 회원 식별 정보를 확인한 후, 상기 제1 전자책 데이터에 포함되어 있는 메타 데이터 상에 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보를 삽입한다.
본 발명의 일실시예에 따르면, 서비스 제공 서버(110)는 판매 금액 요청부(123), 판매 등록 처리부(124), 결제 수단 요청부(125), 결제 처리부(126), 데이터 획득부(127), 소유자 정보 대체부(128), 대체 저장 요청부(129), 거래 등록 처리부(130) 및 구매 완료 메시지 전송부(131)를 더 포함할 수 있다.
판매 금액 요청부(123)는, 메시지 전송부(115)를 통해, 상기 제1 NFT가 발행 완료되었음을 지시하는 상기 발행 완료 메시지가 제1 전자 단말(31)로 전송된 이후, 제1 전자 단말(31)로부터, 상기 제1 전자책 데이터에 대한 판매 정보를 판매 정보 데이터베이스(미도시)에 등록할 것을 요청하는 판매 등록 요청이 수신되면, 제1 전자 단말(31)로, 상기 제1 전자책 데이터의 판매를 위한 판매 금액 정보를 전송할 것을 요청한다.
판매 등록 처리부(124)는 제1 전자 단말(31)로부터 상기 제1 전자책 데이터의 판매 금액 정보로, 제1 판매 금액 정보가 수신되면, 상기 판매 정보 데이터베이스에 상기 제1 전자책 데이터에 대한 상기 제1 판매 금액 정보를 저장함으로써, 상기 제1 전자책 데이터에 대한 판매 등록을 처리한다.
결제 수단 요청부(125)는 상기 제1 전자책 데이터에 대한 판매 등록이 처리된 이후, 상기 복수의 회원들 중 어느 한 명인 제2 회원(22)의 제2 전자 단말(32)로부터, 상기 제1 전자책 데이터에 대한 구매 요청이 수신되면, 제2 전자 단말(32)로, 대금 결제를 위한 결제 수단 정보를 전송할 것을 요청한다.
결제 처리부(126)는 제2 전자 단말(32)로부터 제1 결제 수단 정보가 수신되면, 상기 제1 결제 수단 정보를 기초로, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리를 진행한다. 여기서, 결제 수단 정보란 소정의 신용 카드 정보, 휴대폰 소액결제를 위한 휴대폰 정보 등과 같이, 소정의 대금을 결제하기 위한 수단 정보를 의미한다.
데이터 획득부(127)는 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리가 완료되면, 블록체인 네트워크(10)에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인한 후, 상기 제1 저장 경로에 대한 정보를 기초로, 클라우드 서버(40)에 접속하여 상기 제1 전자책 데이터를 획득한다.
소유자 정보 대체부(128)는 상기 제1 전자책 데이터가 획득되면, 정보 저장부(111)를 참조하여 상기 제2 회원에 대한 제2 회원 식별 정보를 확인한 후, 상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 상기 제1 전자책 데이터의 소유자 정보인 상기 제1 회원 식별 정보를 상기 제2 회원 식별 정보로 대체한다.
대체 저장 요청부(129)는 클라우드 서버(40)에 접속하여 클라우드 서버(40)로, 소유자 정보가 대체된 상기 제1 전자책 데이터를 전송하면서, 상기 제1 저장 경로 상에, 소유자 정보가 대체된 상기 제1 전자책 데이터를 새롭게 저장할 것을 요청한다.
이때, 클라우드 서버(40)는 서비스 제공 서버(110)로부터 소유자 정보가 대체된 상기 제1 전자책 데이터에 대한 저장 요청이 수신되면, 클라우드 서버(40)의 상기 제1 저장 경로 상에 저장되어 있던 상기 제1 전자책 데이터를 삭제한 후, 소유자 정보가 대체된 상기 제1 전자책 데이터를 상기 제1 저장 경로 상에 새롭게 저장할 수 있다.
거래 등록 처리부(130)는 상기 제1 NFT에 포함되어 있는 상기 제1 전자책 데이터의 소유자 정보인 상기 제1 회원 식별 정보를 상기 제2 회원 식별 정보로 변경할 것을 지시하는 소유권 이전 정보가 포함된 트랜잭션을 생성한 후, 상기 트랜잭션을 블록체인 네트워크(10)에 등록 처리함으로써, 상기 블록체인 네트워크에 등록되어 있는 상기 제1 NFT에 포함된 상기 제1 전자책 데이터의 소유자 정보인 상기 제1 회원 식별 정보가 상기 제2 회원 식별 정보로 변경되도록 처리한다.
이때, 본 발명의 일실시예에 따르면, 거래 등록 처리부(130)는 상기 트랜잭션을 블록체인 네트워크(10)에 등록 처리하기 위해, 상기 트랜잭션을 블록체인 네트워크(10)에 전파할 수 있다. 그러면, 블록체인 네트워크(10)를 구성하고 있는 복수의 노드들(11, 12, 13, 14, 15, 16) 중 어느 하나의 노드가 상기 트랜잭션이 포함된 블록을 생성하여, 복수의 노드들(11, 12, 13, 14, 15, 16)로 전파할 수 있다. 이에 따라, 복수의 노드들(11, 12, 13, 14, 15, 16)에 상기 블록이 수신되면, 복수의 노드들(11, 12, 13, 14, 15, 16)은 각 노드에 저장되어 있는 블록체인 데이터 상에 포함되어 있는 상기 제1 NFT의 소유자 정보 내에 포함된 상기 제1 회원 식별 정보를, 상기 제2 회원 식별 정보로 변경할 수 있다.
이렇게, 상기 트랜잭션이 블록체인 네트워크(10)에 등록처리 되면, 구매 완료 메시지 전송부(131)는 제2 전자 단말(32)로 상기 제1 전자책 데이터에 대한 구매 처리가 완료되었음을 지시하는 구매 완료 메시지를 전송함으로써, 상기 제1 전자책 데이터의 소유권에 대한 제1 회원(21)에서 제2 회원(22)으로의 이전을 완료할 수 있다.
이때, 본 발명의 일실시예에 따르면, 서비스 제공 서버(110)는 상기 제1 전자책 데이터의 소유권이 제1 회원(21)에서 제2 회원(22)으로 이전 완료 처리되면, 제1 전자 단말(31)로, 제1 전자 단말(31)에 저장되어 있는 상기 제1 전자책 데이터를 삭제할 것 지시하는 삭제 명령 전송함으로써, 제1 회원(21)이 더 이상, 상기 제1 전자책 데이터에 액세스할 수 없도록 처리할 수 있다.
본 발명의 일실시예에 따르면, 서비스 제공 서버(110)는 제1 소유자 확인부(132), 제2 소유자 확인부(133) 및 데이터 전송부(134)를 더 포함할 수 있다.
제1 소유자 확인부(132)는 제2 전자 단말(32)로 상기 구매 완료 메시지가 전송된 이후, 제2 전자 단말(32)로부터 상기 제1 전자책 데이터의 제공 요청 명령이 수신되는 경우, 정보 저장부(111)를 참조하여 상기 제2 회원에 대한 상기 제2 회원 식별 정보를 확인한 후, 블록체인 네트워크(10)에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 소유자 정보로 포함되어 있는 회원 식별 정보가 상기 제2 회원 식별 정보가 맞는지 여부를 확인한다.
제2 소유자 확인부(133)는 상기 제1 NFT에 소유자 정보로 포함되어 있는 회원 식별 정보가 상기 제2 회원 식별 정보가 맞는 것으로 확인되면, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인하여, 상기 제1 저장 경로에 대한 정보를 기초로, 클라우드 서버(40)에 접속하여 상기 제1 전자책 데이터를 획득한 후, 상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 소유자 정보가 상기 제2 회원 식별 정보와 일치하는지 확인한다.
데이터 전송부(134)는 상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 소유자 정보가 상기 제2 회원 식별 정보와 일치하는 것으로 확인되면, 상기 제1 전자책 데이터를 제2 전자 단말(32)로 전송한다.
즉, 본 발명에 따른 서비스 제공 서버(110)는 상기 제1 전자책 데이터에 대한 소유권이 제2 회원(22)으로 이전된 이후, 제2 전자 단말(32)로부터 서비스 제공 서버(110)에 상기 제1 전자책 데이터를 전송할 것을 요청하는 명령이 수신되면, 블록체인 네트워크(10)에 등록되어 있는 상기 제1 NFT의 소유자 정보와 클라우드 스토리지(40)에 저장되어 있는 상기 제1 전자책 데이터의 메타 데이터 상에 삽입되어 있는 소유자 정보가 모두 제2 회원(22)의 회원 식별 정보와 일치하는 것으로 확인되는 경우에만, 제2 전자 단말(32)로 상기 제1 전자책 데이터를 전송함으로써, 상기 제1 전자책 데이터를 구매한 진정한 소유자인 제2 회원(22)만이 상기 제1 전자책 데이터를 정상적으로 수신할 수 있도록 지원할 수 있다.
이때, 본 발명의 일실시예에 따르면, 서비스 제공 서버(110)는 제2 전자 단말(32)로부터 상기 제1 전자책 데이터의 제공 요청 명령이 수신되었을 때, 제2 전자 단말(32)로 상기 제1 전자책 데이터를 암호화하여 전송함으로써, 상기 제1 전자책 데이터를 정상적으로 구매한 제2 회원(22)만이 상기 제1 전자책 데이터에 액세스할 수 있도록 하는 구성을 더 포함할 수 있다.
이와 관련해서, 구매 완료 메시지 전송부(131)는 상기 제1 전자책 데이터에 대한 소유권이 제1 회원(21)에서 제2 회원(22)으로 이전됨에 따라, 제2 전자 단말(32)로 상기 구매 완료 메시지를 전송할 때, 제2 전자 단말(32)로 상기 구매 완료 메시지를 전송함과 동시에, 사전 설정된 복수의 암호화키들로 구성된 암호화키 세트를, 상기 제1 전자책 데이터에 대한 액세스를 위한 키 정보로서 제2 전자 단말(32)에 전송해 둘 수 있다.
여기서, 상기 복수의 암호화키들 각각에는 k(k는 2이상의 자연수임)자릿수의 자연수를 성분으로 갖는 t(t는 2이상의 자연수임)차원의 서로 다른 특징 벡터가 할당되어 있다.
예컨대, k를 2라고 하고, t를 5라고 하는 경우, 상기 복수의 암호화키들 각각에는 하기의 표 2와 같이 2자릿수의 자연수를 성분으로 갖는 5차원의 서로 다른 특징 벡터가 할당되어 있을 수 있다.
복수의 암호화키들 특징 벡터
암호화키 1 [12 23 32 45 87]
암호화키 2 [34 25 49 25 21]
암호화키 3 [51 42 68 29 38]
... ...
이때, 본 발명의 일실시예에 따르면, 제2 전자 단말(32)은 서비스 제공 서버(110)로부터, 상기 제1 전자책 데이터에 대한 구매 처리가 완료됨에 따라, 상기 구매 완료 메시지와 함께 상기 암호화키 세트가 수신되면, 상기 암호화키 세트를 메모리 상에 저장해 둘 수 있다.
이때, 본 발명의 일실시예에 따르면, 데이터 전송부(134)는 벡터 생성부(135) 및 암호화 전송부(136)를 포함할 수 있다.
벡터 생성부(135)는, 제2 전자 단말(32)로부터 상기 제1 전자책 데이터의 제공 요청 명령이 수신됨에 따라, 제2 소유자 확인부(133)에 의해, 상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 소유자 정보가 상기 제2 회원 식별 정보와 일치하는 것으로 확인된 경우, 사전 설정된 난수 생성 함수를 이용하여 k자릿수의 자연수로 구성된 t개의 난수들을 생성한 후, 상기 t개의 난수들을 성분으로 갖는 t차원의 난수 벡터를 생성한다.
그리고, 암호화 전송부(136)는 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 제1 전자책 데이터를 암호화한 후, 암호화된 상기 제1 전자책 데이터와 상기 t개의 난수들을 제2 전자 단말(32)로 전송한다.
이때, 제2 전자 단말(32)은 서비스 제공 서버(110)로부터, 서비스 제공 서버(110)로 전송된 상기 제1 전자책 데이터의 제공 요청 명령에 대응하여, 암호화된 상기 제1 전자책 데이터와 상기 t개의 난수들이 수신되면, 상기 t개의 난수들로 구성된 t차원의 상기 난수 벡터를 생성한 후, 상기 암호화키 세트에 포함된 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 상기 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 제1 전자책 데이터에 대한 복호화를 수행할 수 있다.
예컨대, 전술한 예와 같이, k를 2, t를 5라고 하고, 상기 복수의 암호화키들이 상기 표 2와 같다고 하는 경우, 벡터 생성부(135)는 상기 난수 생성 함수를 이용하여, 2자릿수의 자연수로 구성된 5개의 난수들을 생성할 수 있다. 만약, 5개의 난수들이 'a, b, c, d, e'라고 하는 경우, 벡터 생성부(135)는 5개의 난수들을 성분으로 갖는 5차원의 난수 벡터를 '[a b c d e]'와 같이 생성할 수 있다.
그러고 나서, 암호화 전송부(136)는 상기 표 2와 같은 복수의 암호화키들 중에서 상기 난수 벡터인 '[a b c d e]'와의 벡터 유사도가 최대인 특징 벡터를 갖는 상기 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 제1 전자책 데이터를 암호화한 후, 암호화된 상기 제1 전자책 데이터와 상기 5개의 난수들인 'a, b, c, d, e'를 제2 전자 단말(32)로 전송할 수 있다.
이때, 제2 전자 단말(32)은 서비스 제공 서버(110)로부터, 암호화된 상기 제1 전자책 데이터와 상기 5개의 난수들인 'a, b, c, d, e'가 수신되면, 상기 5개의 난수들로 구성된 5차원의 상기 난수 벡터를 '[a b c d e]'와 같이 생성한 후, 상기 표 2와 같은 암호화키 세트에 포함된 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 상기 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 제1 전자책 데이터에 대한 복호화를 수행할 수 있다.
이를 통해, 제2 회원(22)은 상기 제1 전자책 데이터에 대해서 정상적으로 액세스할 수 있게 된다.
도 2는 본 발명의 일실시예에 따른 전자책 데이터에 대한 소유권 증명을 위한 NFT 발행 서비스를 제공하는 서비스 제공 서버의 동작 방법을 도시한 순서도이다.
단계(S210)에서는 상기 NFT 발행 서비스에 가입된 복수의 회원들 각각에 대응되는 회원 식별 정보가 저장되어 있는 정보 저장부를 유지한다.
단계(S220)에서는 상기 복수의 회원들 중 어느 한 명인 제1 회원의 제1 전자 단말로부터, 제1 전자책 데이터가 수신되면서, 상기 제1 전자책 데이터의 소유권 증명을 위한 NFT의 발행 요청 명령이 수신되면, 상기 정보 저장부를 참조하여 상기 제1 회원에 대한 제1 회원 식별 정보를 확인한 후, 상기 제1 전자책 데이터에 포함되어 있는 메타 데이터 상에, 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보를 삽입한다.
단계(S230)에서는 데이터 저장을 위한 사전 설정된 클라우드 서버에 접속하여 상기 클라우드 서버로, 상기 제1 전자책 데이터를 전송하면서, 상기 제1 전자책 데이터를 저장할 것을 요청한다.
단계(S240)에서는 상기 클라우드 서버에서 상기 제1 전자책 데이터가 저장됨에 따라, 상기 클라우드 서버로부터, 상기 제1 전자책 데이터가 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 저장 경로에 대한 정보와, 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보가 포함된 제1 NFT를 생성한다.
단계(S250)에서는 상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 제1 전자 단말로 전송한다.
이때, 본 발명의 일실시예에 따르면, 단계(S220)에서는 상기 복수의 회원들 각각의 전자 단말과 사전 공유하고 있는, n(n은 2이상의 짝수인 자연수임)+1개의 서로 다른 해시 함수들(상기 n+1개의 해시 함수들 각각에는, 0이상 n이하의 정수로 구성된 서로 다른 고유 번호가 할당되어 있음)이 저장되어 있는 해시 함수 저장부를 유지하는 단계, 상기 제1 전자 단말로부터, 상기 제1 전자책 데이터가 수신되면서, 상기 NFT의 발행 요청 명령이 수신되면, 상기 제1 회원에 대한 사용자 인증을 진행하기 위한 인증 이벤트를 발생시키는 단계, 상기 인증 이벤트가 발생되면, n자릿수의 일회용 인증 번호를 랜덤하게 생성하고, 상기 일회용 인증 번호를, 중심축을 기준으로 전단의 n/2자릿수의 제1 부분 번호와 후단의 n/2자릿수의 제2 부분 번호로 분리한 후, 상기 제1 부분 번호를 구성하는 n/2개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써 n/2비트의 제1 부분 코드를 생성하고, 상기 제2 부분 번호를 구성하는 n/2개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써 n/2비트의 제2 부분 코드를 생성한 후, 상기 제1 부분 코드와 상기 제2 부분 코드를 배타적 논리합함으로써 n/2비트의 연산 코드를 생성하는 단계, 상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게의 합을 연산하고, 상기 해시 함수 저장부로부터, 상기 해밍 무게의 합이 고유 번호로서 할당되어 있는 제1 해시 함수를 추출하는 단계, 상기 제1 해시 함수에 상기 연산 코드를 입력으로 인가하여 제1 해시 값을 생성한 후, 상기 제1 전자 단말로, 상기 일회용 인증 번호를 전송하면서, 상기 일회용 인증 번호를 기초로 생성되는 인증용 해시 값을 피드백할 것을 요청하는 단계, 상기 제1 전자 단말로부터 제1 인증용 해시 값(상기 제1 인증용 해시 값은, 상기 전자 단말이 상기 일회용 인증 번호로부터 상기 제1 부분 번호와 상기 제2 부분 번호를 분리 추출하고, 상기 제1 부분 번호와 상기 제2 부분 번호를 구성하는 n/2개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써 상기 제1 부분 코드와 상기 제2 부분 코드를 생성한 후, 상기 제1 부분 코드와 상기 제2 부분 코드를 배타적 논리합하여 상기 연산 코드를 생성하고, 상기 제1 전자 단말에 저장되어 있는 상기 n+1개의 해시 함수들 중, 상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게의 합이 고유 번호로서 할당되어 있는 상기 제1 해시 함수를 추출한 후, 상기 제1 해시 함수에 상기 연산 코드를 입력으로 인가함으로써, 생성한 해시 값임)이 피드백되면, 상기 제1 인증용 해시 값이 상기 제1 해시 값과 일치하는지 확인하여, 양 해시 값이 서로 일치하는 것으로 확인되면, 상기 제1 회원에 대한 사용자 인증을 완료 처리하는 단계 및 상기 제1 회원에 대한 사용자 인증이 완료 처리되면, 상기 정보 저장부를 참조하여 상기 제1 회원에 대한 상기 제1 회원 식별 정보를 확인한 후, 상기 제1 전자책 데이터에 포함되어 있는 메타 데이터 상에 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보를 삽입하는 단계를 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 서비스 제공 서버의 동작 방법은 상기 발행 완료 메시지가 상기 제1 전자 단말로 전송된 이후, 상기 제1 전자 단말로부터, 상기 제1 전자책 데이터에 대한 판매 정보를 판매 정보 데이터베이스에 등록할 것을 요청하는 판매 등록 요청이 수신되면, 상기 제1 전자 단말로, 상기 제1 전자책 데이터의 판매를 위한 판매 금액 정보를 전송할 것을 요청하는 단계, 상기 제1 전자 단말로부터 상기 제1 전자책 데이터의 판매 금액 정보로, 제1 판매 금액 정보가 수신되면, 상기 판매 정보 데이터베이스에 상기 제1 전자책 데이터에 대한 상기 제1 판매 금액 정보를 저장함으로써, 상기 제1 전자책 데이터에 대한 판매 등록을 처리하는 단계, 상기 제1 전자책 데이터에 대한 판매 등록이 처리된 이후, 상기 복수의 회원들 중 어느 한 명인 제2 회원의 제2 전자 단말로부터, 상기 제1 전자책 데이터에 대한 구매 요청이 수신되면, 상기 제2 전자 단말로, 대금 결제를 위한 결제 수단 정보를 전송할 것을 요청하는 단계, 상기 제2 전자 단말로부터 제1 결제 수단 정보가 수신되면, 상기 제1 결제 수단 정보를 기초로, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리를 진행하는 단계, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리가 완료되면, 상기 블록체인 네트워크에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인한 후, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 서버에 접속하여 상기 제1 전자책 데이터를 획득하는 단계, 상기 제1 전자책 데이터가 획득되면, 상기 정보 저장부를 참조하여 상기 제2 회원에 대한 제2 회원 식별 정보를 확인한 후, 상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 상기 제1 전자책 데이터의 소유자 정보인 상기 제1 회원 식별 정보를 상기 제2 회원 식별 정보로 대체하는 단계, 상기 클라우드 서버에 접속하여 상기 클라우드 서버로, 소유자 정보가 대체된 상기 제1 전자책 데이터를 전송하면서, 상기 제1 저장 경로 상에, 소유자 정보가 대체된 상기 제1 전자책 데이터를 새롭게 저장할 것을 요청하는 단계, 상기 제1 NFT에 포함되어 있는 상기 제1 전자책 데이터의 소유자 정보인 상기 제1 회원 식별 정보를 상기 제2 회원 식별 정보로 변경할 것을 지시하는 소유권 이전 정보가 포함된 트랜잭션을 생성한 후, 상기 트랜잭션을 상기 블록체인 네트워크에 등록 처리함으로써, 상기 블록체인 네트워크에 등록되어 있는 상기 제1 NFT에 포함된 상기 제1 전자책 데이터의 소유자 정보인 상기 제1 회원 식별 정보가 상기 제2 회원 식별 정보로 변경되도록 처리하는 단계 및 상기 제2 전자 단말로 상기 제1 전자책 데이터에 대한 구매 처리가 완료되었음을 지시하는 구매 완료 메시지를 전송하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 서비스 제공 서버의 동작 방법은 상기 제2 전자 단말로 상기 구매 완료 메시지가 전송된 이후, 상기 제2 전자 단말로부터 상기 제1 전자책 데이터의 제공 요청 명령이 수신되는 경우, 상기 정보 저장부를 참조하여 상기 제2 회원에 대한 상기 제2 회원 식별 정보를 확인한 후, 상기 블록체인 네트워크에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 소유자 정보로 포함되어 있는 회원 식별 정보가 상기 제2 회원 식별 정보가 맞는지 여부를 확인하는 단계, 상기 제1 NFT에 소유자 정보로 포함되어 있는 회원 식별 정보가 상기 제2 회원 식별 정보가 맞는 것으로 확인되면, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인하여, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 서버에 접속하여 상기 제1 전자책 데이터를 획득한 후, 상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 소유자 정보가 상기 제2 회원 식별 정보와 일치하는지 확인하는 단계 및 상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 소유자 정보가 상기 제2 회원 식별 정보와 일치하는 것으로 확인되면, 상기 제1 전자책 데이터를 상기 제2 전자 단말로 전송하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 구매 완료 메시지를 전송하는 단계는 상기 제2 전자 단말로 상기 구매 완료 메시지를 전송함과 동시에, 사전 설정된 복수의 암호화키들(상기 복수의 암호화키들 각각에는 k(k는 2이상의 자연수임)자릿수의 자연수를 성분으로 갖는 t(t는 2이상의 자연수임)차원의 서로 다른 특징 벡터가 할당되어 있음)로 구성된 암호화키 세트를, 상기 제1 전자책 데이터에 대한 액세스를 위한 키 정보로서 상기 제2 전자 단말에 전송할 수 있다.
이때, 상기 제1 전자책 데이터를 상기 제2 전자 단말로 전송하는 단계는 상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 소유자 정보가 상기 제2 회원 식별 정보와 일치하는 것으로 확인되면, 사전 설정된 난수 생성 함수를 이용하여 k자릿수의 자연수로 구성된 t개의 난수들을 생성한 후, 상기 t개의 난수들을 성분으로 갖는 t차원의 난수 벡터를 생성하는 단계 및 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 제1 전자책 데이터를 암호화한 후, 암호화된 상기 제1 전자책 데이터와 상기 t개의 난수들을 상기 제2 전자 단말로 전송하는 단계를 포함할 수 있다.
이때, 상기 제2 전자 단말은 상기 서비스 제공 서버로부터, 상기 제1 전자책 데이터에 대한 구매 처리가 완료됨에 따라, 상기 구매 완료 메시지와 함께 상기 암호화키 세트가 수신되면, 상기 암호화키 세트를 메모리 상에 저장해 둔 후, 상기 서비스 제공 서버로부터, 상기 서비스 제공 서버로 전송된 상기 제1 전자책 데이터의 제공 요청 명령에 대응하여, 암호화된 상기 제1 전자책 데이터와 상기 t개의 난수들이 수신되면, 상기 t개의 난수들로 구성된 t차원의 상기 난수 벡터를 생성한 후, 상기 암호화키 세트에 포함된 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 상기 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 제1 전자책 데이터에 대한 복호화를 수행할 수 있다.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 서비스 제공 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 서비스 제공 서버의 동작 방법은 도 1을 이용하여 설명한 서비스 제공 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 서비스 제공 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 서비스 제공 서버의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 서비스 제공 서버
111: 정보 저장부 112: 정보 삽입부
113: 저장 요청부 114: NFT 생성부
115: 메시지 전송부 116: 해시 함수 저장부
117: 이벤트 발생부 118: 연산 코드 생성부
119: 해시 함수 추출부 120: 피드백 요청부
121: 인증 완료 처리부 122: 삽입 처리부
123: 판매 금액 요청부 124: 판매 등록 처리부
125: 결제 수단 요청부 126: 결제 처리부
127: 데이터 획득부 128: 소유자 정보 대체부
129: 대체 저장 요청부 130: 거래 등록 처리부
131: 구매 완료 메시지 전송부 132: 제1 소유자 확인부
133: 제2 소유자 확인부 134: 데이터 전송부
135: 벡터 생성부 136: 암호화 전송부
21: 제1 회원 31: 제1 전자 단말
22: 제2 회원 32: 제2 전자 단말
40: 클라우드 서버
10: 블록체인 네트워크

Claims (12)

  1. 전자책 데이터에 대한 소유권 증명을 위한 NFT(Non-Fungible Token) 발행 서비스를 제공하는 서비스 제공 서버에 있어서,
    상기 NFT 발행 서비스에 가입된 복수의 회원들 각각에 대응되는 회원 식별 정보가 저장되어 있는 정보 저장부;
    상기 복수의 회원들 중 어느 한 명인 제1 회원의 제1 전자 단말로부터, 제1 전자책 데이터가 수신되면서, 상기 제1 전자책 데이터의 소유권 증명을 위한 NFT의 발행 요청 명령이 수신되면, 상기 정보 저장부를 참조하여 상기 제1 회원에 대한 제1 회원 식별 정보를 확인한 후, 상기 제1 전자책 데이터에 포함되어 있는 메타 데이터 상에, 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보를 삽입하는 정보 삽입부;
    데이터 저장을 위한 사전 설정된 클라우드 서버에 접속하여 상기 클라우드 서버로, 상기 제1 전자책 데이터를 전송하면서, 상기 제1 전자책 데이터를 저장할 것을 요청하는 저장 요청부;
    상기 클라우드 서버에서 상기 제1 전자책 데이터가 저장됨에 따라, 상기 클라우드 서버로부터, 상기 제1 전자책 데이터가 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 저장 경로에 대한 정보와, 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보가 포함된 제1 NFT를 생성하는 NFT 생성부; 및
    상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 제1 전자 단말로 전송하는 메시지 전송부
    를 포함하는 서비스 제공 서버.
  2. 제1항에 있어서,
    상기 정보 삽입부는
    상기 복수의 회원들 각각의 전자 단말과 사전 공유하고 있는, n(n은 2이상의 짝수인 자연수임)+1개의 서로 다른 해시 함수들 - 상기 n+1개의 해시 함수들 각각에는, 0이상 n이하의 정수로 구성된 서로 다른 고유 번호가 할당되어 있음 - 이 저장되어 있는 해시 함수 저장부;
    상기 제1 전자 단말로부터, 상기 제1 전자책 데이터가 수신되면서, 상기 NFT의 발행 요청 명령이 수신되면, 상기 제1 회원에 대한 사용자 인증을 진행하기 위한 인증 이벤트를 발생시키는 이벤트 발생부;
    상기 인증 이벤트가 발생되면, n자릿수의 일회용 인증 번호를 랜덤하게 생성하고, 상기 일회용 인증 번호를, 중심축을 기준으로 전단의 n/2자릿수의 제1 부분 번호와 후단의 n/2자릿수의 제2 부분 번호로 분리한 후, 상기 제1 부분 번호를 구성하는 n/2개의 숫자들 각각에 대해 모듈로(modulo)-2 연산을 수행함으로써 n/2비트의 제1 부분 코드를 생성하고, 상기 제2 부분 번호를 구성하는 n/2개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써 n/2비트의 제2 부분 코드를 생성한 후, 상기 제1 부분 코드와 상기 제2 부분 코드를 배타적 논리합함으로써 n/2비트의 연산 코드를 생성하는 연산 코드 생성부;
    상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게(Hamming Weight)의 합을 연산하고, 상기 해시 함수 저장부로부터, 상기 해밍 무게의 합이 고유 번호로서 할당되어 있는 제1 해시 함수를 추출하는 해시 함수 추출부;
    상기 제1 해시 함수에 상기 연산 코드를 입력으로 인가하여 제1 해시 값을 생성한 후, 상기 제1 전자 단말로, 상기 일회용 인증 번호를 전송하면서, 상기 일회용 인증 번호를 기초로 생성되는 인증용 해시 값을 피드백할 것을 요청하는 피드백 요청부;
    상기 제1 전자 단말로부터 제1 인증용 해시 값 - 상기 제1 인증용 해시 값은, 상기 전자 단말이 상기 일회용 인증 번호로부터 상기 제1 부분 번호와 상기 제2 부분 번호를 분리 추출하고, 상기 제1 부분 번호와 상기 제2 부분 번호를 구성하는 n/2개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써 상기 제1 부분 코드와 상기 제2 부분 코드를 생성한 후, 상기 제1 부분 코드와 상기 제2 부분 코드를 배타적 논리합하여 상기 연산 코드를 생성하고, 상기 제1 전자 단말에 저장되어 있는 상기 n+1개의 해시 함수들 중, 상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게의 합이 고유 번호로서 할당되어 있는 상기 제1 해시 함수를 추출한 후, 상기 제1 해시 함수에 상기 연산 코드를 입력으로 인가함으로써, 생성한 해시 값임 - 이 피드백되면, 상기 제1 인증용 해시 값이 상기 제1 해시 값과 일치하는지 확인하여, 양 해시 값이 서로 일치하는 것으로 확인되면, 상기 제1 회원에 대한 사용자 인증을 완료 처리하는 인증 완료 처리부; 및
    상기 제1 회원에 대한 사용자 인증이 완료 처리되면, 상기 정보 저장부를 참조하여 상기 제1 회원에 대한 상기 제1 회원 식별 정보를 확인한 후, 상기 제1 전자책 데이터에 포함되어 있는 메타 데이터 상에 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보를 삽입하는 삽입 처리부
    를 포함하는 서비스 제공 서버.
  3. 제1항에 있어서,
    상기 발행 완료 메시지가 상기 제1 전자 단말로 전송된 이후, 상기 제1 전자 단말로부터, 상기 제1 전자책 데이터에 대한 판매 정보를 판매 정보 데이터베이스에 등록할 것을 요청하는 판매 등록 요청이 수신되면, 상기 제1 전자 단말로, 상기 제1 전자책 데이터의 판매를 위한 판매 금액 정보를 전송할 것을 요청하는 판매 금액 요청부;
    상기 제1 전자 단말로부터 상기 제1 전자책 데이터의 판매 금액 정보로, 제1 판매 금액 정보가 수신되면, 상기 판매 정보 데이터베이스에 상기 제1 전자책 데이터에 대한 상기 제1 판매 금액 정보를 저장함으로써, 상기 제1 전자책 데이터에 대한 판매 등록을 처리하는 판매 등록 처리부;
    상기 제1 전자책 데이터에 대한 판매 등록이 처리된 이후, 상기 복수의 회원들 중 어느 한 명인 제2 회원의 제2 전자 단말로부터, 상기 제1 전자책 데이터에 대한 구매 요청이 수신되면, 상기 제2 전자 단말로, 대금 결제를 위한 결제 수단 정보를 전송할 것을 요청하는 결제 수단 요청부;
    상기 제2 전자 단말로부터 제1 결제 수단 정보가 수신되면, 상기 제1 결제 수단 정보를 기초로, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리를 진행하는 결제 처리부;
    상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리가 완료되면, 상기 블록체인 네트워크에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인한 후, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 서버에 접속하여 상기 제1 전자책 데이터를 획득하는 데이터 획득부;
    상기 제1 전자책 데이터가 획득되면, 상기 정보 저장부를 참조하여 상기 제2 회원에 대한 제2 회원 식별 정보를 확인한 후, 상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 상기 제1 전자책 데이터의 소유자 정보인 상기 제1 회원 식별 정보를 상기 제2 회원 식별 정보로 대체하는 소유자 정보 대체부;
    상기 클라우드 서버에 접속하여 상기 클라우드 서버로, 소유자 정보가 대체된 상기 제1 전자책 데이터를 전송하면서, 상기 제1 저장 경로 상에, 소유자 정보가 대체된 상기 제1 전자책 데이터를 새롭게 저장할 것을 요청하는 대체 저장 요청부;
    상기 제1 NFT에 포함되어 있는 상기 제1 전자책 데이터의 소유자 정보인 상기 제1 회원 식별 정보를 상기 제2 회원 식별 정보로 변경할 것을 지시하는 소유권 이전 정보가 포함된 트랜잭션을 생성한 후, 상기 트랜잭션을 상기 블록체인 네트워크에 등록 처리함으로써, 상기 블록체인 네트워크에 등록되어 있는 상기 제1 NFT에 포함된 상기 제1 전자책 데이터의 소유자 정보인 상기 제1 회원 식별 정보가 상기 제2 회원 식별 정보로 변경되도록 처리하는 거래 등록 처리부; 및
    상기 제2 전자 단말로 상기 제1 전자책 데이터에 대한 구매 처리가 완료되었음을 지시하는 구매 완료 메시지를 전송하는 구매 완료 메시지 전송부
    를 더 포함하는 서비스 제공 서버.
  4. 제3항에 있어서,
    상기 제2 전자 단말로 상기 구매 완료 메시지가 전송된 이후, 상기 제2 전자 단말로부터 상기 제1 전자책 데이터의 제공 요청 명령이 수신되는 경우, 상기 정보 저장부를 참조하여 상기 제2 회원에 대한 상기 제2 회원 식별 정보를 확인한 후, 상기 블록체인 네트워크에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 소유자 정보로 포함되어 있는 회원 식별 정보가 상기 제2 회원 식별 정보가 맞는지 여부를 확인하는 제1 소유자 확인부;
    상기 제1 NFT에 소유자 정보로 포함되어 있는 회원 식별 정보가 상기 제2 회원 식별 정보가 맞는 것으로 확인되면, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인하여, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 서버에 접속하여 상기 제1 전자책 데이터를 획득한 후, 상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 소유자 정보가 상기 제2 회원 식별 정보와 일치하는지 확인하는 제2 소유자 확인부; 및
    상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 소유자 정보가 상기 제2 회원 식별 정보와 일치하는 것으로 확인되면, 상기 제1 전자책 데이터를 상기 제2 전자 단말로 전송하는 데이터 전송부
    를 더 포함하는 서비스 제공 서버.
  5. 제4항에 있어서,
    상기 구매 완료 메시지 전송부는
    상기 제2 전자 단말로 상기 구매 완료 메시지를 전송함과 동시에, 사전 설정된 복수의 암호화키들 - 상기 복수의 암호화키들 각각에는 k(k는 2이상의 자연수임)자릿수의 자연수를 성분으로 갖는 t(t는 2이상의 자연수임)차원의 서로 다른 특징 벡터가 할당되어 있음 - 로 구성된 암호화키 세트를, 상기 제1 전자책 데이터에 대한 액세스를 위한 키 정보로서 상기 제2 전자 단말에 전송하고,
    상기 데이터 전송부는
    상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 소유자 정보가 상기 제2 회원 식별 정보와 일치하는 것으로 확인되면, 사전 설정된 난수 생성 함수를 이용하여 k자릿수의 자연수로 구성된 t개의 난수들을 생성한 후, 상기 t개의 난수들을 성분으로 갖는 t차원의 난수 벡터를 생성하는 벡터 생성부; 및
    상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 제1 전자책 데이터를 암호화한 후, 암호화된 상기 제1 전자책 데이터와 상기 t개의 난수들을 상기 제2 전자 단말로 전송하는 암호화 전송부
    를 포함하며,
    상기 제2 전자 단말은
    상기 서비스 제공 서버로부터, 상기 제1 전자책 데이터에 대한 구매 처리가 완료됨에 따라, 상기 구매 완료 메시지와 함께 상기 암호화키 세트가 수신되면, 상기 암호화키 세트를 메모리 상에 저장해 둔 후, 상기 서비스 제공 서버로부터, 상기 서비스 제공 서버로 전송된 상기 제1 전자책 데이터의 제공 요청 명령에 대응하여, 암호화된 상기 제1 전자책 데이터와 상기 t개의 난수들이 수신되면, 상기 t개의 난수들로 구성된 t차원의 상기 난수 벡터를 생성한 후, 상기 암호화키 세트에 포함된 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 상기 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 제1 전자책 데이터에 대한 복호화를 수행하는 것을 특징으로 하는 서비스 제공 서버.
  6. 전자책 데이터에 대한 소유권 증명을 위한 NFT(Non-Fungible Token) 발행 서비스를 제공하는 서비스 제공 서버의 동작 방법에 있어서,
    상기 NFT 발행 서비스에 가입된 복수의 회원들 각각에 대응되는 회원 식별 정보가 저장되어 있는 정보 저장부를 유지하는 단계;
    상기 복수의 회원들 중 어느 한 명인 제1 회원의 제1 전자 단말로부터, 제1 전자책 데이터가 수신되면서, 상기 제1 전자책 데이터의 소유권 증명을 위한 NFT의 발행 요청 명령이 수신되면, 상기 정보 저장부를 참조하여 상기 제1 회원에 대한 제1 회원 식별 정보를 확인한 후, 상기 제1 전자책 데이터에 포함되어 있는 메타 데이터 상에, 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보를 삽입하는 단계;
    데이터 저장을 위한 사전 설정된 클라우드 서버에 접속하여 상기 클라우드 서버로, 상기 제1 전자책 데이터를 전송하면서, 상기 제1 전자책 데이터를 저장할 것을 요청하는 단계;
    상기 클라우드 서버에서 상기 제1 전자책 데이터가 저장됨에 따라, 상기 클라우드 서버로부터, 상기 제1 전자책 데이터가 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 저장 경로에 대한 정보와, 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보가 포함된 제1 NFT를 생성하는 단계; 및
    상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 제1 전자 단말로 전송하는 단계
    를 포함하는 서비스 제공 서버의 동작 방법.
  7. 제6항에 있어서,
    상기 삽입하는 단계는
    상기 복수의 회원들 각각의 전자 단말과 사전 공유하고 있는, n(n은 2이상의 짝수인 자연수임)+1개의 서로 다른 해시 함수들 - 상기 n+1개의 해시 함수들 각각에는, 0이상 n이하의 정수로 구성된 서로 다른 고유 번호가 할당되어 있음 - 이 저장되어 있는 해시 함수 저장부를 유지하는 단계;
    상기 제1 전자 단말로부터, 상기 제1 전자책 데이터가 수신되면서, 상기 NFT의 발행 요청 명령이 수신되면, 상기 제1 회원에 대한 사용자 인증을 진행하기 위한 인증 이벤트를 발생시키는 단계;
    상기 인증 이벤트가 발생되면, n자릿수의 일회용 인증 번호를 랜덤하게 생성하고, 상기 일회용 인증 번호를, 중심축을 기준으로 전단의 n/2자릿수의 제1 부분 번호와 후단의 n/2자릿수의 제2 부분 번호로 분리한 후, 상기 제1 부분 번호를 구성하는 n/2개의 숫자들 각각에 대해 모듈로(modulo)-2 연산을 수행함으로써 n/2비트의 제1 부분 코드를 생성하고, 상기 제2 부분 번호를 구성하는 n/2개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써 n/2비트의 제2 부분 코드를 생성한 후, 상기 제1 부분 코드와 상기 제2 부분 코드를 배타적 논리합함으로써 n/2비트의 연산 코드를 생성하는 단계;
    상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게(Hamming Weight)의 합을 연산하고, 상기 해시 함수 저장부로부터, 상기 해밍 무게의 합이 고유 번호로서 할당되어 있는 제1 해시 함수를 추출하는 단계;
    상기 제1 해시 함수에 상기 연산 코드를 입력으로 인가하여 제1 해시 값을 생성한 후, 상기 제1 전자 단말로, 상기 일회용 인증 번호를 전송하면서, 상기 일회용 인증 번호를 기초로 생성되는 인증용 해시 값을 피드백할 것을 요청하는 단계;
    상기 제1 전자 단말로부터 제1 인증용 해시 값 - 상기 제1 인증용 해시 값은, 상기 전자 단말이 상기 일회용 인증 번호로부터 상기 제1 부분 번호와 상기 제2 부분 번호를 분리 추출하고, 상기 제1 부분 번호와 상기 제2 부분 번호를 구성하는 n/2개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써 상기 제1 부분 코드와 상기 제2 부분 코드를 생성한 후, 상기 제1 부분 코드와 상기 제2 부분 코드를 배타적 논리합하여 상기 연산 코드를 생성하고, 상기 제1 전자 단말에 저장되어 있는 상기 n+1개의 해시 함수들 중, 상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게의 합이 고유 번호로서 할당되어 있는 상기 제1 해시 함수를 추출한 후, 상기 제1 해시 함수에 상기 연산 코드를 입력으로 인가함으로써, 생성한 해시 값임 - 이 피드백되면, 상기 제1 인증용 해시 값이 상기 제1 해시 값과 일치하는지 확인하여, 양 해시 값이 서로 일치하는 것으로 확인되면, 상기 제1 회원에 대한 사용자 인증을 완료 처리하는 단계; 및
    상기 제1 회원에 대한 사용자 인증이 완료 처리되면, 상기 정보 저장부를 참조하여 상기 제1 회원에 대한 상기 제1 회원 식별 정보를 확인한 후, 상기 제1 전자책 데이터에 포함되어 있는 메타 데이터 상에 상기 제1 전자책 데이터의 소유자 정보로서 상기 제1 회원 식별 정보를 삽입하는 단계
    를 포함하는 서비스 제공 서버의 동작 방법.
  8. 제6항에 있어서,
    상기 발행 완료 메시지가 상기 제1 전자 단말로 전송된 이후, 상기 제1 전자 단말로부터, 상기 제1 전자책 데이터에 대한 판매 정보를 판매 정보 데이터베이스에 등록할 것을 요청하는 판매 등록 요청이 수신되면, 상기 제1 전자 단말로, 상기 제1 전자책 데이터의 판매를 위한 판매 금액 정보를 전송할 것을 요청하는 단계;
    상기 제1 전자 단말로부터 상기 제1 전자책 데이터의 판매 금액 정보로, 제1 판매 금액 정보가 수신되면, 상기 판매 정보 데이터베이스에 상기 제1 전자책 데이터에 대한 상기 제1 판매 금액 정보를 저장함으로써, 상기 제1 전자책 데이터에 대한 판매 등록을 처리하는 단계;
    상기 제1 전자책 데이터에 대한 판매 등록이 처리된 이후, 상기 복수의 회원들 중 어느 한 명인 제2 회원의 제2 전자 단말로부터, 상기 제1 전자책 데이터에 대한 구매 요청이 수신되면, 상기 제2 전자 단말로, 대금 결제를 위한 결제 수단 정보를 전송할 것을 요청하는 단계;
    상기 제2 전자 단말로부터 제1 결제 수단 정보가 수신되면, 상기 제1 결제 수단 정보를 기초로, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리를 진행하는 단계;
    상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리가 완료되면, 상기 블록체인 네트워크에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인한 후, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 서버에 접속하여 상기 제1 전자책 데이터를 획득하는 단계;
    상기 제1 전자책 데이터가 획득되면, 상기 정보 저장부를 참조하여 상기 제2 회원에 대한 제2 회원 식별 정보를 확인한 후, 상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 상기 제1 전자책 데이터의 소유자 정보인 상기 제1 회원 식별 정보를 상기 제2 회원 식별 정보로 대체하는 단계;
    상기 클라우드 서버에 접속하여 상기 클라우드 서버로, 소유자 정보가 대체된 상기 제1 전자책 데이터를 전송하면서, 상기 제1 저장 경로 상에, 소유자 정보가 대체된 상기 제1 전자책 데이터를 새롭게 저장할 것을 요청하는 단계;
    상기 제1 NFT에 포함되어 있는 상기 제1 전자책 데이터의 소유자 정보인 상기 제1 회원 식별 정보를 상기 제2 회원 식별 정보로 변경할 것을 지시하는 소유권 이전 정보가 포함된 트랜잭션을 생성한 후, 상기 트랜잭션을 상기 블록체인 네트워크에 등록 처리함으로써, 상기 블록체인 네트워크에 등록되어 있는 상기 제1 NFT에 포함된 상기 제1 전자책 데이터의 소유자 정보인 상기 제1 회원 식별 정보가 상기 제2 회원 식별 정보로 변경되도록 처리하는 단계; 및
    상기 제2 전자 단말로 상기 제1 전자책 데이터에 대한 구매 처리가 완료되었음을 지시하는 구매 완료 메시지를 전송하는 단계
    를 더 포함하는 서비스 제공 서버의 동작 방법.
  9. 제8항에 있어서,
    상기 제2 전자 단말로 상기 구매 완료 메시지가 전송된 이후, 상기 제2 전자 단말로부터 상기 제1 전자책 데이터의 제공 요청 명령이 수신되는 경우, 상기 정보 저장부를 참조하여 상기 제2 회원에 대한 상기 제2 회원 식별 정보를 확인한 후, 상기 블록체인 네트워크에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 소유자 정보로 포함되어 있는 회원 식별 정보가 상기 제2 회원 식별 정보가 맞는지 여부를 확인하는 단계;
    상기 제1 NFT에 소유자 정보로 포함되어 있는 회원 식별 정보가 상기 제2 회원 식별 정보가 맞는 것으로 확인되면, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인하여, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 서버에 접속하여 상기 제1 전자책 데이터를 획득한 후, 상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 소유자 정보가 상기 제2 회원 식별 정보와 일치하는지 확인하는 단계; 및
    상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 소유자 정보가 상기 제2 회원 식별 정보와 일치하는 것으로 확인되면, 상기 제1 전자책 데이터를 상기 제2 전자 단말로 전송하는 단계
    를 더 포함하는 서비스 제공 서버의 동작 방법.
  10. 제9항에 있어서,
    상기 구매 완료 메시지를 전송하는 단계는
    상기 제2 전자 단말로 상기 구매 완료 메시지를 전송함과 동시에, 사전 설정된 복수의 암호화키들 - 상기 복수의 암호화키들 각각에는 k(k는 2이상의 자연수임)자릿수의 자연수를 성분으로 갖는 t(t는 2이상의 자연수임)차원의 서로 다른 특징 벡터가 할당되어 있음 - 로 구성된 암호화키 세트를, 상기 제1 전자책 데이터에 대한 액세스를 위한 키 정보로서 상기 제2 전자 단말에 전송하고,
    상기 제1 전자책 데이터를 상기 제2 전자 단말로 전송하는 단계는
    상기 제1 전자책 데이터에 포함된 메타 데이터 상에 삽입되어 있는 소유자 정보가 상기 제2 회원 식별 정보와 일치하는 것으로 확인되면, 사전 설정된 난수 생성 함수를 이용하여 k자릿수의 자연수로 구성된 t개의 난수들을 생성한 후, 상기 t개의 난수들을 성분으로 갖는 t차원의 난수 벡터를 생성하는 단계; 및
    상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 제1 전자책 데이터를 암호화한 후, 암호화된 상기 제1 전자책 데이터와 상기 t개의 난수들을 상기 제2 전자 단말로 전송하는 단계
    를 포함하며,
    상기 제2 전자 단말은
    상기 서비스 제공 서버로부터, 상기 제1 전자책 데이터에 대한 구매 처리가 완료됨에 따라, 상기 구매 완료 메시지와 함께 상기 암호화키 세트가 수신되면, 상기 암호화키 세트를 메모리 상에 저장해 둔 후, 상기 서비스 제공 서버로부터, 상기 서비스 제공 서버로 전송된 상기 제1 전자책 데이터의 제공 요청 명령에 대응하여, 암호화된 상기 제1 전자책 데이터와 상기 t개의 난수들이 수신되면, 상기 t개의 난수들로 구성된 t차원의 상기 난수 벡터를 생성한 후, 상기 암호화키 세트에 포함된 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 상기 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 제1 전자책 데이터에 대한 복호화를 수행하는 것을 특징으로 하는 서비스 제공 서버의 동작 방법.
  11. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  12. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020220046683A 2022-04-15 2022-04-15 전자책 데이터에 대한 소유권 증명을 위한 nft 발행 서비스를 제공하는 서비스 제공 서버 및 그 동작 방법 KR20230147847A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220046683A KR20230147847A (ko) 2022-04-15 2022-04-15 전자책 데이터에 대한 소유권 증명을 위한 nft 발행 서비스를 제공하는 서비스 제공 서버 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220046683A KR20230147847A (ko) 2022-04-15 2022-04-15 전자책 데이터에 대한 소유권 증명을 위한 nft 발행 서비스를 제공하는 서비스 제공 서버 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20230147847A true KR20230147847A (ko) 2023-10-24

Family

ID=88515376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220046683A KR20230147847A (ko) 2022-04-15 2022-04-15 전자책 데이터에 대한 소유권 증명을 위한 nft 발행 서비스를 제공하는 서비스 제공 서버 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR20230147847A (ko)

Similar Documents

Publication Publication Date Title
US9740849B2 (en) Registration and authentication of computing devices using a digital skeleton key
US20130125223A1 (en) System And Method For Transparently Authenticating A User To A Digital Rights Management Entity
KR102302955B1 (ko) 자산의 토큰화를 통해 현물 자산 거래를 가능하게 하는 블록체인 및 클라우드 기반의 자산 거래 플랫폼 서버 및 그 동작 방법
KR102302954B1 (ko) 블록체인을 기반으로 부동산의 거래를 가능하게 하는 부동산 투자 및 거래 관리 서버와 그 동작 방법
KR20230147847A (ko) 전자책 데이터에 대한 소유권 증명을 위한 nft 발행 서비스를 제공하는 서비스 제공 서버 및 그 동작 방법
US9961087B2 (en) Third party paywall authentication system
KR102662034B1 (ko) 작가와 체결한 계약 사항을 nft화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버 및 그 동작 방법
KR20240033455A (ko) 블록체인들 간의 nft 이전 발행 서비스를 제공하는 nft 이전 발행 서비스 서버 및 그 동작 방법
KR102636695B1 (ko) 온라인 상에서의 부동산 거래를 위한 전자 계약을 처리하는 부동산 중개 관리 서버 및 그 동작 방법
KR102578855B1 (ko) Nft에 포함된 콘텐츠 저장 경로 정보의 수정을 가능하게 하는 nft 거래 서비스의 운영 서버 및 그 동작 방법
KR20230148542A (ko) Nft를 이용하여 상품에 대한 정품 증빙을 가능하게 하는 정품 증빙 서비스 서버 및 그 동작 방법
CN111291336A (zh) 游戏平台中游戏的注册方法、装置
KR20240049919A (ko) 자전거의 소유권을 증명하기 위한 nft 발행 서비스를 제공하는 자전거 관리 플랫폼 서버 및 그 동작 방법
KR102526406B1 (ko) Nft의 대상이 되는 원본 콘텐츠 데이터에 대한 액세스를 관리하는 액세스 관리 시스템 장치 및 그 동작 방법
KR20230076246A (ko) 멀티미디어 콘텐츠에 대한 nft의 발급 및 거래 서비스를 제공하는 서비스 제공 서버 및 그 동작 방법
KR102517321B1 (ko) 위치 정보를 기반으로 멀티미디어 콘텐츠를 제공하는 멀티미디어 콘텐츠 제공 서비스를 운영하기 위한 멀티미디어 콘텐츠 제공 서비스 서버 및 그 동작 방법
KR102351573B1 (ko) 홈케어 서비스 상품의 공동구매를 가능하게 하는 공동구매 플랫폼 서비스를 운영하기 위한 공동구매 플랫폼 서비스 서버 및 그 동작 방법
CN117808472B (zh) 数据权属要素抽象与确权方法、数据交易方法和装置
KR20230078119A (ko) Nft의 대상이 되는 원본 콘텐츠 데이터를 암호화하여 관리할 수 있는 nft 관리 시스템 장치 및 그 동작 방법
KR102602189B1 (ko) 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버 및 그 동작 방법
KR102613911B1 (ko) 문서 파일에 하이퍼링크로 삽입된 유해 사이트의 url 주소에 대한 접속을 방지할 수 있는 전자 단말 장치 및 그 동작 방법
KR102447334B1 (ko) 금과 디지털 골드 토큰을 기초로 전자 상거래를 가능하게 하는 클라우드 기반의 전자 상거래 플랫폼 서버 및 그 동작 방법
KR20240075074A (ko) 위치에 기초하여 데이터 저장을 위한 스토리지 서버를 추천할 수 있는 클라우드 기반의 데이터 저장 서비스 서버 및 그 동작 방법
KR20230036386A (ko) 아바타를 이용한 메타버스 환경을 제공하는 메타버스 서비스를 운영하기 위한 서비스 운영 서버 및 그 동작 방법
KR20230124271A (ko) 클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일에 대한 저장 및 공유 처리를 수행하기 위한 문서 공유 서비스 서버 및 그 동작 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal