KR20230148542A - Proof of authenticity service server that enables proof of authenticity of products using nft and operating method thereof - Google Patents

Proof of authenticity service server that enables proof of authenticity of products using nft and operating method thereof Download PDF

Info

Publication number
KR20230148542A
KR20230148542A KR1020220047386A KR20220047386A KR20230148542A KR 20230148542 A KR20230148542 A KR 20230148542A KR 1020220047386 A KR1020220047386 A KR 1020220047386A KR 20220047386 A KR20220047386 A KR 20220047386A KR 20230148542 A KR20230148542 A KR 20230148542A
Authority
KR
South Korea
Prior art keywords
information
nft
product
authenticity
data set
Prior art date
Application number
KR1020220047386A
Other languages
Korean (ko)
Inventor
서경동
남동선
Original Assignee
주식회사 나인스
남동선
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 나인스, 남동선 filed Critical 주식회사 나인스
Priority to KR1020220047386A priority Critical patent/KR20230148542A/en
Publication of KR20230148542A publication Critical patent/KR20230148542A/en

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
    • G06Q30/00Commerce
    • G06Q30/018Certifying business or products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0723Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips the record carrier comprising an arrangement for non-contact communication, e.g. wireless communication circuits on transponder cards, non-contact smart cards or RFIDs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Accounting & Taxation (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Storage Device Security (AREA)

Abstract

NFT(Non-Fungible Token)를 이용하여 상품에 대한 정품 증빙을 가능하게 하는 정품 증빙 서비스 서버 및 그 동작 방법이 개시된다. 본 발명은 전자 태그를 정품 증빙의 대상이 되는 상품의 표면에 부착해 두고, 상품의 정품 증빙과 관련된 정보를 NFT로 구성하여 블록체인 네트워크에 등록해 둔 후, 사용자가 자신의 전자 단말을 이용하여 상품의 표면에 부착된 전자 태그를 인식시키게 되면, NFT를 조회하여 해당 상품에 대한 정품 증빙을 가능하게 하는 서비스 기술에 대한 것이다.A certificate of authenticity service server that enables proof of authenticity for a product using a non-fungible token (NFT) and a method of operating the same are disclosed. The present invention attaches an electronic tag to the surface of a product that is the subject of proof of authenticity, configures the information related to the proof of authenticity of the product as an NFT and registers it in the blockchain network, and then the user uses his or her electronic terminal to register it. It is about a service technology that enables proof of authenticity for the product by searching the NFT when the electronic tag attached to the surface of the product is recognized.

Description

NFT를 이용하여 상품에 대한 정품 증빙을 가능하게 하는 정품 증빙 서비스 서버 및 그 동작 방법{PROOF OF AUTHENTICITY SERVICE SERVER THAT ENABLES PROOF OF AUTHENTICITY OF PRODUCTS USING NFT AND OPERATING METHOD THEREOF}Authenticity proof service server that enables proof of authenticity for products using NFT and its operation method {PROOF OF AUTHENTICITY SERVICE SERVER THAT ENABLES PROOF OF AUTHENTICITY OF PRODUCTS USING NFT AND OPERATING METHOD THEREOF}

본 발명은 NFT(Non-Fungible Token)를 이용하여 상품에 대한 정품 증빙을 가능하게 하는 정품 증빙 서비스 서버 및 그 동작 방법에 대한 것이다.The present invention relates to a certificate of authenticity service server that enables proof of authenticity for a product using a non-fungible token (NFT) and a method of operating the same.

NFT(Non-Fungible Token)란, '대체 불가능한 토큰'을 의미하는 것으로, 각 토큰마다 고유 값이 부여되어 있어서, 다른 토큰으로 대체하는 것이 불가능한 가상 자산을 의미한다.NFT (Non-Fungible Token) refers to a 'non-fungible token' and is a virtual asset that cannot be replaced with another token because each token has a unique value.

최근에는, 다양한 분야에서 NFT의 도입이 증가함에 따라, 영상, 음원, 이미지, 디지털 아이템 등과 같은 멀티미디어 콘텐츠에 대한 NFT를 발급하고 거래할 수 있도록 지원하는 다양한 형태의 NFT의 발급 및 거래 서비스들이 등장하고 있다.Recently, as the introduction of NFTs increases in various fields, various types of NFT issuance and transaction services have emerged that support the issuance and trading of NFTs for multimedia content such as videos, sound sources, images, and digital items. there is.

이러한 NFT의 활용이 증가함에 따라, 이 NFT를 소정의 상품에 대한 정품 증빙 서비스에 활용하는 방안을 고려할 수 있다.As the use of NFTs increases, it is possible to consider using these NFTs for authentication services for certain products.

정품 증빙 서비스란 소정의 상품이 정식 제조사에 의해서 제조된 정품 상품이 맞는지 여부를 증빙하는 서비스로서, 이러한 정품 증빙 서비스는 시장에서 판매되는 소매 제품에 대한 정품 증빙이나 미술관 또는 박물관 등에서 전시되는 전시 제품의 정품 증빙에 활용될 수 있다.The authenticity proof service is a service that proves whether a given product is a genuine product manufactured by an official manufacturer. This authenticity proof service is provided as proof of authenticity for retail products sold in the market or for exhibition products displayed in art galleries or museums. It can be used as proof of authenticity.

최근에는 전자 태그의 활용이 증가하고 있고, 스마트폰이나 태블릿 PC와 같은 휴대용 전자 단말에 전자 태그를 인식할 수 있는 리더(reader)가 탑재된 경우가 많다는 점에서, 이러한 전자 태그를 정품 증빙의 대상이 되는 상품의 표면에 부착해 두고, 상품의 정품 증빙과 관련된 정보를 NFT로 구성하여 블록체인 네트워크에 등록해 둔 후, 사용자가 자신의 전자 단말을 이용하여 상품의 표면에 부착된 전자 태그를 인식시키게 되면, NFT를 조회하여 해당 상품에 대한 정품 증빙을 수행하는 서비스의 도입을 고려할 수 있다.Recently, the use of electronic tags has increased, and portable electronic devices such as smartphones and tablet PCs are often equipped with readers that can recognize electronic tags, so these electronic tags are subject to proof of authenticity. This is attached to the surface of the product, the information related to the product's authenticity is composed of NFT and registered in the blockchain network, and then the user uses his/her electronic terminal to recognize the electronic tag attached to the surface of the product. If so, you can consider introducing a service that searches NFTs and provides proof of authenticity for the product.

본 발명은 전자 태그를 정품 증빙의 대상이 되는 상품의 표면에 부착해 두고, 상품의 정품 증빙과 관련된 정보를 NFT(Non-Fungible Token)로 구성하여 블록체인 네트워크에 등록해 둔 후, 사용자가 자신의 전자 단말을 이용하여 상품의 표면에 부착된 전자 태그를 인식시키게 되면, NFT를 조회하여 해당 상품에 대한 정품 증빙을 가능하게 하는 서비스를 제공하고자 한다.The present invention attaches an electronic tag to the surface of a product that is the subject of proof of authenticity, configures the information related to the proof of authenticity of the product into an NFT (Non-Fungible Token), and registers it in the blockchain network, and then the user When an electronic tag attached to the surface of a product is recognized using an electronic terminal, the NFT is searched to provide a service that enables proof of authenticity for the product.

본 발명의 일실시예에 따른 NFT(Non-Fungible Token)를 이용하여 상품에 대한 정품 증빙을 가능하게 하는 정품 증빙 서비스 서버는 상품 제조자의 관리 단말로부터, 상기 상품 제조자가 제조한 상품 - 상기 상품의 표면에는, 상기 상품에 대해서 사전 발급된 고유 식별 ID가 삽입되어 있는 전자 태그가 부착되어 있음 - 의 정품 증빙을 위한 NFT 발행 요청 명령이 수신되면, 상기 관리 단말로, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보를 회신할 것을 요청하는 내용이 포함된 회신 요청 메시지를 전송하는 정보 요청부, 상기 관리 단말로부터, 상기 회신 요청 메시지에 대응하여, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보가 수신되면, 상기 고유 식별 ID와 상기 상품 제조자의 정보로 구성된 데이터셋을 암호화한 후, 데이터 저장을 위한 사전 설정된 클라우드 서버에 접속하여 상기 클라우드 서버로, 상기 암호화된 데이터셋을 전송하면서, 상기 암호화된 데이터셋을 저장할 것을 요청하는 저장 요청부, 상기 클라우드 서버에서 상기 암호화된 데이터셋이 저장됨에 따라, 상기 클라우드 서버로부터, 상기 암호화된 데이터셋이 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 저장 경로에 대한 정보, 상기 고유 식별 ID, 상기 암호화된 데이터셋의 복호화를 위한 복호화 정보 및 상기 상품 제조자의 정보가 포함된 제1 NFT를 생성하는 NFT 생성부 및 상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 관리 단말로 전송하는 발행 처리부를 포함한다.The authenticity proof service server, which enables proof of authenticity for a product using a Non-Fungible Token (NFT) according to an embodiment of the present invention, receives information from the management terminal of the product manufacturer - the product manufactured by the product manufacturer - of the product. On the surface, an electronic tag is attached with a pre-issued unique identification ID inserted for the product. When an NFT issuance request order for proof of authenticity is received, the management terminal inserts the electronic tag into the electronic tag. An information request unit that transmits a reply request message containing a request to reply with a unique identification ID and information on the product manufacturer, from the management terminal, in response to the reply request message, the electronic tag inserted into the electronic tag. When the unique identification ID and the product manufacturer's information are received, the data set consisting of the unique identification ID and the product manufacturer's information is encrypted, and then connected to a preset cloud server for data storage, transferred to the cloud server, and encrypted. A storage request unit that requests to store the encrypted dataset while transmitting the encrypted dataset, and as the encrypted dataset is stored in the cloud server, a first storage in which the encrypted dataset is stored is sent from the cloud server. When information about the path is received, NFT generation to generate a first NFT containing information about the first storage path, the unique identification ID, decryption information for decrypting the encrypted data set, and information about the product manufacturer. When the first NFT is created, the issuance of the first NFT is completed by registering the first NFT in a preset blockchain network for NFT registration, and then the first NFT is issued. It includes an issuance processing unit that generates an indicative issuance completion message and transmits it to the management terminal.

또한, 본 발명의 일실시예에 따른 NFT를 이용하여 상품에 대한 정품 증빙을 가능하게 하는 정품 증빙 서비스 서버의 동작 방법은 상품 제조자의 관리 단말로부터, 상기 상품 제조자가 제조한 상품 - 상기 상품의 표면에는, 상기 상품에 대해서 사전 발급된 고유 식별 ID가 삽입되어 있는 전자 태그가 부착되어 있음 - 의 정품 증빙을 위한 NFT 발행 요청 명령이 수신되면, 상기 관리 단말로, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보를 회신할 것을 요청하는 내용이 포함된 회신 요청 메시지를 전송하는 단계, 상기 관리 단말로부터, 상기 회신 요청 메시지에 대응하여, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보가 수신되면, 상기 고유 식별 ID와 상기 상품 제조자의 정보로 구성된 데이터셋을 암호화한 후, 데이터 저장을 위한 사전 설정된 클라우드 서버에 접속하여 상기 클라우드 서버로, 상기 암호화된 데이터셋을 전송하면서, 상기 암호화된 데이터셋을 저장할 것을 요청하는 단계, 상기 클라우드 서버에서 상기 암호화된 데이터셋이 저장됨에 따라, 상기 클라우드 서버로부터, 상기 암호화된 데이터셋이 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 저장 경로에 대한 정보, 상기 고유 식별 ID, 상기 암호화된 데이터셋의 복호화를 위한 복호화 정보 및 상기 상품 제조자의 정보가 포함된 제1 NFT를 생성하는 단계 및 상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 관리 단말로 전송하는 단계를 포함한다.In addition, the method of operating the authenticity proof service server that enables proof of authenticity for a product using NFT according to an embodiment of the present invention is a product manufactured by the product manufacturer - the surface of the product - from the management terminal of the product manufacturer. Attached is an electronic tag in which a unique identification ID pre-issued for the product is inserted. When an NFT issuance request order for proof of authenticity is received, the unique identification inserted in the electronic tag is sent to the management terminal. Transmitting a reply request message containing a request to reply with an identification ID and information on the product manufacturer, from the management terminal, in response to the reply request message, the unique identification ID inserted into the electronic tag When the product manufacturer's information is received, the data set consisting of the unique identification ID and the product manufacturer's information is encrypted, and then connected to a preset cloud server for data storage to transfer the encrypted data set to the cloud server. Requesting to store the encrypted dataset while transmitting, as the encrypted dataset is stored in the cloud server, information about a first storage path where the encrypted dataset is stored is received from the cloud server. When received, generating a first NFT containing information about the first storage path, the unique identification ID, decryption information for decrypting the encrypted data set, and information on the product manufacturer, and the first NFT Once created, the issuance of the first NFT is completed by registering the first NFT in a preset blockchain network for NFT registration, and then an issuance completion message is generated indicating that the first NFT has been issued. and transmitting it to the management terminal.

본 발명은 전자 태그를 정품 증빙의 대상이 되는 상품의 표면에 부착해 두고, 상품의 정품 증빙과 관련된 정보를 NFT(Non-Fungible Token)로 구성하여 블록체인 네트워크에 등록해 둔 후, 사용자가 자신의 전자 단말을 이용하여 상품의 표면에 부착된 전자 태그를 인식시키게 되면, NFT를 조회하여 해당 상품에 대한 정품 증빙을 가능하게 하는 서비스를 제공할 수 있다.The present invention attaches an electronic tag to the surface of a product that is the subject of proof of authenticity, configures the information related to the proof of authenticity of the product into an NFT (Non-Fungible Token), and registers it in the blockchain network, and then the user When the electronic tag attached to the surface of a product is recognized using an electronic terminal, a service that enables verification of authenticity for the product by searching the NFT can be provided.

도 1은 본 발명의 일실시예에 따른 NFT(Non-Fungible Token)를 이용하여 상품에 대한 정품 증빙을 가능하게 하는 정품 증빙 서비스 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 NFT를 이용하여 상품에 대한 정품 증빙을 가능하게 하는 정품 증빙 서비스 서버의 동작 방법을 도시한 순서도이다.
Figure 1 is a diagram showing the structure of a product certification service server that enables product authentication using a non-fungible token (NFT) according to an embodiment of the present invention.
Figure 2 is a flowchart illustrating a method of operating a product authentication service server that enables authentication of a product using NFT according to an embodiment of the present invention.

이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the attached drawings. This description is not intended to limit the present invention to specific embodiments, but should be understood to include all changes, equivalents, and substitutes included in the spirit and technical scope of the present invention. In describing each drawing, similar reference numerals are used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, are within the scope of common knowledge in the technical field to which the present invention pertains. It has the same meaning as generally understood by those who have it.

본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.In this document, when a part "includes" a certain component, this means that it may further include other components rather than excluding other components, unless specifically stated to the contrary. Additionally, in various embodiments of the present invention, each component, functional block, or means may be composed of one or more subcomponents, and the electrical, electronic, and mechanical functions performed by each component may be electronic. It may be implemented with various known elements or mechanical elements such as circuits, integrated circuits, and ASICs (Application Specific Integrated Circuits), and may be implemented separately or by integrating two or more into one.

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.Meanwhile, the blocks in the attached block diagram or the steps in the flow chart are computer program instructions that are mounted on the processor or memory of equipment capable of data processing, such as general-purpose computers, special-purpose computers, portable laptop computers, and network computers, and perform designated functions. It can be interpreted to mean. Because these computer program instructions can be stored in a memory provided in a computer device or in a computer-readable memory, the functions described in the blocks of a block diagram or the steps of a flow diagram can be produced as a manufactured product containing instruction means to perform them. It could be. In addition, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). Additionally, it should be noted that in some alternative embodiments, it is possible for functions mentioned in blocks or steps to be executed in a different order. For example, two blocks or steps shown in succession may be performed substantially simultaneously or in reverse order, and in some cases, some blocks or steps may be omitted.

도 1은 본 발명의 일실시예에 따른 NFT(Non-Fungible Token)를 이용하여 상품에 대한 정품 증빙을 가능하게 하는 정품 증빙 서비스 서버의 구조를 도시한 도면이다.Figure 1 is a diagram showing the structure of a product certification service server that enables product authentication using a non-fungible token (NFT) according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 정품 증빙 서비스 서버(110)는 정보 요청부(111), 저장 요청부(112), NFT 생성부(113) 및 발행 처리부(114)를 포함한다.Referring to Figure 1, the authenticity proof service server 110 according to the present invention includes an information request unit 111, a storage request unit 112, an NFT generation unit 113, and an issuance processing unit 114.

우선, 본 발명에서는 정품 증빙의 대상이 되는 상품의 표면에, 상기 상품에 대해서 사전 발급된 고유 식별 ID가 삽입되어 있는 전자 태그가 부착되어 있음을 가정한다. 이러한 전자 태그는 RFID(Radio-Frequency Identification)와 같이, 소정의 리더(reader)를 이용하여 전자 태그 내에 삽입되어 있는 정보를 인식할 수 있는 태그를 의미하며, 고유 식별 ID란 해당 상품을 다른 상품과 구분해서 식별하기 위한 고유 정보를 의미한다.First, in the present invention, it is assumed that an electronic tag containing a unique identification ID issued in advance for the product is attached to the surface of the product that is the subject of authentication. Such an electronic tag refers to a tag that can recognize information inserted into the electronic tag using a predetermined reader, such as RFID (Radio-Frequency Identification). A unique identification ID is a tag that identifies the product with other products. It refers to unique information for classification and identification.

이때, 정보 요청부(111)는 상품 제조자의 관리 단말(101)로부터, 상기 상품 제조자가 제조한 상품의 정품 증빙을 위한 NFT 발행 요청 명령이 수신되면, 관리 단말(101)로, 상기 상품의 표면에 부착된 전자 태그에 삽입되어 있는 상기 상품에 대한 고유 식별 ID와 상기 상품 제조자의 정보를 회신할 것을 요청하는 내용이 포함된 회신 요청 메시지를 전송한다.At this time, when the information request unit 111 receives an NFT issuance request command for proof of authenticity of the product manufactured by the product manufacturer from the product manufacturer's management terminal 101, the information request unit 111 sends the surface of the product to the management terminal 101. A reply request message containing a request to reply with a unique identification ID for the product inserted into the electronic tag attached to the product and information on the product manufacturer is transmitted.

그러면, 상기 상품 제조자는 관리 단말(101)에 수신된 상기 회신 요청 메시지를 보고, 상기 상품에 대한 고유 식별 ID와 상기 상품 제조자의 정보를 관리 단말(101)을 통해, 본 발명의 정품 증빙 서비스 서버(110)로 회신할 수 있다. 여기서, 상기 상품 제조자의 정보란 상기 상품 제조자의 명칭, 주소, 담당자의 성명 등과 같이 상기 상품을 제조한 제조자가 누구인지 확인할 수 있도록 하기 위한 정보를 의미한다.Then, the product manufacturer sees the reply request message received at the management terminal 101, and sends the unique identification ID for the product and the product manufacturer's information to the authentication service server of the present invention through the management terminal 101. You can reply to (110). Here, the information on the product manufacturer refers to information used to identify the manufacturer who manufactured the product, such as the product manufacturer's name, address, and name of the person in charge.

저장 요청부(112)는 관리 단말(101)로부터, 상기 회신 요청 메시지에 대응하여, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보가 수신되면, 상기 고유 식별 ID와 상기 상품 제조자의 정보로 구성된 데이터셋을 암호화한 후, 데이터 저장을 위한 사전 설정된 클라우드 서버(20)에 접속하여 클라우드 서버(20)로, 상기 암호화된 데이터셋을 전송하면서, 상기 암호화된 데이터셋을 저장할 것을 요청한다.When the storage request unit 112 receives the unique identification ID and the product manufacturer information inserted in the electronic tag in response to the reply request message from the management terminal 101, the unique identification ID and the product manufacturer After encrypting the data set consisting of the manufacturer's information, connect to the preset cloud server 20 for data storage and transmit the encrypted data set to the cloud server 20, while storing the encrypted data set. request.

이때, 본 발명의 일실시예에 따르면, 저장 요청부(112)는 해시 함수 저장부(115), 인증 번호 생성부(116), 연산 코드 생성부(117), 해시 함수 추출부(118) 및 요청 처리부(119)를 포함할 수 있다.At this time, according to an embodiment of the present invention, the storage request unit 112 includes a hash function storage unit 115, an authentication number generation unit 116, an operation code generation unit 117, a hash function extraction unit 118, and It may include a request processing unit 119.

해시 함수 저장부(115)에는 n(n은 2이상의 짝수인 자연수임)+1개의 서로 다른 해시 함수들이 저장되어 있다.The hash function storage unit 115 stores n (n is a natural number equal to or greater than 2) + 1 different hash functions.

여기서, 상기 n+1개의 해시 함수들 각각에는, 0이상 n이하의 정수로 구성된 서로 다른 고유 번호가 할당되어 있다.Here, each of the n+1 hash functions is assigned a different unique number consisting of an integer between 0 and n.

예컨대, n을 6이라고 하는 경우, 해시 함수 저장부(115)에는 하기의 표 1과 같은 7개의 해시 함수들이 저장되어 있을 수 있다.For example, when n is 6, seven hash functions as shown in Table 1 below may be stored in the hash function storage unit 115.

해시 함수들hash functions 고유 번호unique number 해시 함수 1hash function 1 00 해시 함수 2hash function 2 1One 해시 함수 3hash function 3 22 해시 함수 4hash function 4 33 해시 함수 5Hash Function 5 44 해시 함수 6hash function 6 55 해시 함수 7hash function 7 66

인증 번호 생성부(116)는 관리 단말(101)로부터, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보가 수신되면, 상기 고유 식별 ID와 상기 상품 제조자의 정보로 구성된 상기 데이터셋을 생성한 후, 상기 데이터셋의 암호화에 사용하기 위한 n자릿수의 인증 번호를 랜덤하게 생성한다.When the authentication number generator 116 receives the unique identification ID and the product manufacturer information inserted in the electronic tag from the management terminal 101, the authentication number generator 116 generates the data consisting of the unique identification ID and the product manufacturer information. After creating the set, an n-digit authentication number to be used to encrypt the data set is randomly generated.

그리고, 연산 코드 생성부(117)는 상기 인증 번호가 생성되면, 상기 인증 번호를, 중심축을 기준으로 전단의 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비트의 연산 코드를 생성한다.Then, when the authentication number is generated, the operation code generator 117 divides the authentication number into a first partial number of n/2 digits at the front end and a second partial number of n/2 digits at the rear end based on the central axis. After separation, a first partial code of n/2 bits is generated by performing a modulo-2 operation on each of the n/2 numbers constituting the first partial number, and the second partial number After generating a second partial code of n/2 bits by performing a modulo-2 operation on each of the n/2 numbers constituting /Generates a 2-bit operation code.

여기서, 모듈로-2 연산이란 소정의 피제수를 2로 나눈 나머지를 산출하는 연산을 의미한다.Here, the modulo-2 operation refers to an operation that calculates the remainder of dividing a predetermined dividend by 2.

예컨대, 전술한 예와 같이, n을 6이라고 하는 경우, 인증 번호 생성부(116)는 상기 데이터셋이 생성되면, 6자릿수의 인증 번호를 '234517'과 같이 랜덤하게 생성할 수 있고, 연산 코드 생성부(117)는 상기 인증 번호를, 중심축으로 기준으로 전단의 3자릿수의 제1 부분 번호인 '234'와 후단의 3자릿수의 제2 부분 번호인 '517'로 분리할 수 있다.For example, as in the above-described example, when n is 6, the authentication number generator 116 may randomly generate a 6-digit authentication number such as '234517' when the dataset is created, and the operation code The generator 117 may separate the authentication number into '234', which is a 3-digit first part number at the front end, and '517', which is a 3-digit second part number at the back end, based on the central axis.

그러고 나서, 연산 코드 생성부(117)는 상기 제1 부분 번호인 '234'를 구성하는 3개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써, 3비트의 '010'이라는 제1 부분 코드를 생성할 수 있고, 상기 제2 부분 번호인 '517'을 구성하는 3개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써, 3비트의 '111'이라는 제2 부분 코드를 생성할 수 있다.Then, the operation code generator 117 performs modulo-2 operation on each of the three numbers constituting the first partial number '234', thereby generating a 3-bit first partial code of '010'. can be generated, and by performing modulo-2 operation on each of the three numbers constituting the second partial number '517', a 3-bit second partial code of '111' can be generated. .

그 이후, 연산 코드 생성부(117)는 상기 제1 부분 코드와 상기 제2 부분 코드 간의 배타적 논리합 연산을 수행함으로써, '101'이라고 하는 3비트의 연산 코드를 생성할 수 있다.Afterwards, the operation code generator 117 may generate a 3-bit operation code called '101' by performing an exclusive OR operation between the first partial code and the second partial code.

해시 함수 추출부(118)는 상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게(Hamming Weight)의 합을 연산하고, 해시 함수 저장부(115)로부터, 상기 해밍 무게의 합이 고유 번호로서 할당되어 있는 제1 해시 함수를 추출한다.The hash function extractor 118 calculates the sum of Hamming weights for each of the first partial code and the second partial code, and from the hash function storage unit 115, the sum of the Hamming weights is unique. The first hash function assigned as a number is extracted.

예컨대, 전술한 예와 같이, 상기 제1 부분 코드가 '010', 상기 제2 부분 코드가 '111'로 생성되었다고 하는 경우, 해시 함수 추출부(118)는 상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게인 '1'과 '3'의 합을 '4'와 같이 연산한 후, 상기 표 1과 같은 해시 함수들이 저장되어 있는 해시 함수 저장부(115)로부터 '4'가 고유 번호로서 할당되어 있는 해시 함수인 '해시 함수 5'를 상기 제1 해시 함수로 추출할 수 있다.For example, as in the above-described example, if the first partial code is generated as '010' and the second partial code as '111', the hash function extractor 118 generates the first partial code and the second partial code. After calculating the sum of '1' and '3', which are the Hamming weights for each partial code, as '4', '4' is received from the hash function storage unit 115 where hash functions as shown in Table 1 are stored. 'Hash function 5', which is a hash function assigned as a unique number, can be extracted as the first hash function.

요청 처리부(119)는 상기 제1 해시 함수에 상기 연산 코드를 입력으로 인가하여 제1 해시 값을 생성하고, 상기 제1 해시 값으로 상기 데이터셋을 암호화한 후, 클라우드 서버(20)에 접속하여 클라우드 서버(20)로, 상기 암호화된 데이터셋을 전송하면서, 상기 암호화된 데이터셋을 저장할 것을 요청한다.The request processor 119 generates a first hash value by applying the operation code as an input to the first hash function, encrypts the dataset with the first hash value, and then connects to the cloud server 20. While transmitting the encrypted data set to the cloud server 20, a request is made to store the encrypted data set.

관련해서, 전술한 예와 같이, 상기 제1 해시 함수가 '해시 함수 5'라고 하고, 상기 연산 코드가 '101'이라고 하는 경우, 요청 처리부(119)는 '해시 함수 5'에 상기 연산 코드인 '101'을 입력으로 인가하여 상기 제1 해시 값을 생성하고, 상기 제1 해시 값으로 상기 데이터셋을 암호화한 후, 클라우드 서버(20)에 접속하여 클라우드 서버(20)로, 상기 암호화된 데이터셋을 전송하면서, 상기 암호화된 데이터셋을 저장할 것을 요청할 수 있다.In relation to this, as in the above-mentioned example, when the first hash function is called 'hash function 5' and the operation code is '101', the request processing unit 119 sends the operation code to 'hash function 5'. Generate the first hash value by applying '101' as an input, encrypt the data set with the first hash value, and then connect to the cloud server 20 to transfer the encrypted data to the cloud server 20. While transmitting the set, you can request to store the encrypted dataset.

이때, 본 발명의 일실시예에 따르면, 클라우드 서버(20)는 정품 증빙 서비스 서버(110)로부터 상기 암호화된 데이터셋에 대한 저장 요청이 수신되면, 클라우드 서버(20) 상에 상기 암호화된 데이터셋을 저장한 후, 상기 암호화된 데이터셋이 저장된 제1 저장 경로에 대한 정보를 생성하여 정품 증빙 서비스 서버(110)로 전송할 수 있다.At this time, according to an embodiment of the present invention, when the cloud server 20 receives a storage request for the encrypted data set from the authentication service server 110, the cloud server 20 stores the encrypted data set on the cloud server 20. After storing, information about the first storage path where the encrypted data set is stored can be generated and transmitted to the authentication service server 110.

이렇게, 클라우드 서버(20)에서 상기 암호화된 데이터셋이 저장됨에 따라, 클라우드 서버(20)로부터, 상기 암호화된 데이터셋이 저장된 제1 저장 경로에 대한 정보가 정품 증빙 서비스 서버(110)에 수신되면, NFT 생성부(113)는 상기 제1 저장 경로에 대한 정보, 상기 고유 식별 ID, 상기 암호화된 데이터셋의 복호화를 위한 복호화 정보 및 상기 상품 제조자의 정보가 포함된 제1 NFT를 생성한다.In this way, as the encrypted data set is stored in the cloud server 20, when information about the first storage path where the encrypted data set is stored is received from the cloud server 20 to the authentication service server 110 , the NFT generator 113 generates a first NFT containing information about the first storage path, the unique identification ID, decryption information for decrypting the encrypted data set, and information about the product manufacturer.

이때, 본 발명의 일실시예에 따르면, NFT 생성부(113)는 클라우드 서버(20)에서 상기 암호화된 데이터셋이 저장됨에 따라, 클라우드 서버(20)로부터, 상기 암호화된 데이터셋이 저장된 상기 제1 저장 경로에 대한 정보가 수신되면, 상기 인증 번호를, 상기 암호화된 데이터셋의 복호화를 위한 상기 복호화 정보로 지정한 후, 상기 제1 저장 경로에 대한 정보, 상기 고유 식별 ID, 상기 복호화 정보 및 상기 상품 제조자의 정보가 포함된 상기 제1 NFT를 생성할 수 있다.At this time, according to an embodiment of the present invention, as the encrypted data set is stored in the cloud server 20, the NFT generator 113 receives the encrypted data set from the cloud server 20. 1 When information on the storage path is received, the authentication number is designated as the decryption information for decrypting the encrypted data set, and then the information on the first storage path, the unique identification ID, the decryption information, and the The first NFT containing information about the product manufacturer can be created.

관련해서, 전술한 예와 같이, 상기 인증 번호가 '234517'로 생성되었다고 하는 경우, NFT 생성부(113)는 상기 인증 번호인 '234517'을, 상기 암호화된 데이터셋의 복호화를 위한 상기 복호화 정보로 지정한 후, 상기 제1 저장 경로에 대한 정보, 상기 고유 식별 ID, 상기 복호화 정보 및 상기 상품 제조자의 정보가 포함된 상기 제1 NFT를 생성할 수 있다.In relation to this, as in the above-described example, when the authentication number is said to be generated as '234517', the NFT generator 113 uses the authentication number '234517' as the decryption information for decrypting the encrypted dataset. After designating, the first NFT containing information about the first storage path, the unique identification ID, the decryption information, and the product manufacturer's information can be generated.

발행 처리부(114)는 상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크(10)에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 관리 단말(101)로 전송한다.When the first NFT is created, the issuance processing unit 114 completes the issuance of the first NFT by registering the first NFT in the preset blockchain network 10 for registration of the NFT, and then completes the issuance of the first NFT. An issuance completion message indicating that the first NFT has been issued is generated and transmitted to the management terminal 101.

이때, 본 발명의 일실시예에 따르면, 발행 처리부(114)는 블록체인 네트워크(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를 공유할 수 있다.At this time, according to an embodiment of the present invention, the issuance processing unit 114 generates a transaction containing the first NFT in order to register the first NFT in the blockchain network 10, and then executes the transaction. It can be propagated to the blockchain network (10). Then, one of the plurality of nodes 11, 12, 13, 14, 15, and 16 constituting the blockchain network 10 creates a block containing the transaction, and the plurality of nodes ( It can be spread to 11, 12, 13, 14, 15, 16). Accordingly, when the block is received at a plurality of nodes (11, 12, 13, 14, 15, and 16), the block is stored in each node of the plurality of nodes (11, 12, 13, 14, 15, and 16). Based on the previous block chained to the existing blockchain data, the first NFT can be shared by linking the block to the blockchain data chained.

본 발명의 일실시예에 따르면, 정품 증빙 서비스 서버(110)는 지시 메시지 전송부(120), NFT 검색부(121), 데이터 획득부(122), 정보 확인부(123) 및 정품 증빙 처리부(124)를 더 포함할 수 있다.According to an embodiment of the present invention, the authenticity proof service server 110 includes an instruction message transmission unit 120, an NFT search unit 121, a data acquisition unit 122, an information confirmation unit 123, and an authenticity proof processing unit ( 124) may be further included.

지시 메시지 전송부(120)는 상기 제1 NFT에 대한 발행이 완료된 이후에, 상기 상품을 입수한 사용자의 전자 단말(102)로부터 상기 상품에 대한 정품 증빙 요청 명령이 수신되면, 전자 단말(102)로, 상기 상품의 표면에 부착되어 있는 상기 전자 태그를 인식시킬 것을 지시하는 내용이 포함된 지시 메시지를 전송한다.After the issuance of the first NFT is completed, the instruction message transmission unit 120 receives a command to request proof of authenticity for the product from the electronic terminal 102 of the user who obtained the product, the electronic terminal 102 An instruction message containing instructions to recognize the electronic tag attached to the surface of the product is transmitted.

그러면, 상기 사용자는 전자 단말(102)에 수신된 상기 지시 메시지를 보고, 전자 단말(102)에 탑재된 태그 리더(reader)를 이용하여 상기 상품의 표면에 부착되어 있는 상기 전자 태그를 인식시킬 수 있고, 이때, 전자 단말(102)은 상기 태그 리더를 통해 상기 전자 태그로부터 상기 고유 식별 ID를 리딩한 후, 상기 고유 식별 ID를 정품 증빙 서비스 서버(110)로 전송할 수 있다.Then, the user can view the instruction message received on the electronic terminal 102 and recognize the electronic tag attached to the surface of the product using a tag reader mounted on the electronic terminal 102. At this time, the electronic terminal 102 may read the unique identification ID from the electronic tag through the tag reader and then transmit the unique identification ID to the authentication service server 110.

NFT 검색부(121)는 상기 지시 메시지가 전자 단말(102)로 전송된 이후, 상기 사용자가 전자 단말(102)에 탑재된 태그 리더를 이용하여 상기 상품의 표면에 부착되어 있는 상기 전자 태그를 인식시킴에 따라, 전자 단말(102)로부터, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID가 수신되면, 상기 고유 식별 ID를 기초로 블록체인 네트워크(10)로부터, NFT 내에 상기 고유 식별 ID를 포함하고 있는 상기 제1 NFT를 검색한다.After the instruction message is transmitted to the electronic terminal 102, the NFT search unit 121 recognizes the electronic tag attached to the surface of the product by the user using a tag reader mounted on the electronic terminal 102. Accordingly, when the unique identification ID inserted in the electronic tag is received from the electronic terminal 102, the unique identification ID is included in the NFT from the blockchain network 10 based on the unique identification ID, and Search for the first NFT.

데이터 획득부(122)는 상기 제1 NFT가 검색되면, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인한 후, 상기 제1 저장 경로에 대한 정보를 기초로, 클라우드 서버(20)에 접속하여 상기 암호화된 데이터셋을 획득한다.When the first NFT is searched, the data acquisition unit 122 checks the information about the first storage path included in the first NFT and then, based on the information about the first storage path, cloud server ( 20) and obtain the encrypted data set.

정보 확인부(123)는 상기 암호화된 데이터셋이 획득되면, 상기 제1 NFT에 포함되어 있는 상기 복호화 정보를 이용하여 상기 암호화된 데이터셋을 복호화한 후, 상기 복호화된 데이터셋을 구성하는 상기 고유 식별 ID와 상기 상품 제조자의 정보를 확인한다.When the encrypted data set is obtained, the information confirmation unit 123 decrypts the encrypted data set using the decryption information included in the first NFT, and then decrypts the unique data set constituting the decrypted data set. Check the identification ID and the product manufacturer's information.

이때, 본 발명의 일실시예에 따르면, 정보 확인부(123)는 복호화 정보 확인부(125), 연산 코드 복원부(126), 복호화 처리부(127) 및 정보 확인 처리부(128)를 포함할 수 있다.At this time, according to an embodiment of the present invention, the information confirmation unit 123 may include a decryption information confirmation unit 125, an operation code restoration unit 126, a decryption processing unit 127, and an information confirmation processing unit 128. there is.

복호화 정보 확인부(125)는 클라우드 서버(20)로부터 상기 암호화된 데이터셋이 획득되면, 상기 제1 NFT에 포함되어 있는 상기 복호화 정보인 상기 인증 번호를 확인한다.When the encrypted data set is obtained from the cloud server 20, the decryption information confirmation unit 125 verifies the authentication number, which is the decryption information included in the first NFT.

연산 코드 복원부(126)는 상기 인증 번호가 확인되면, 상기 인증 번호를, 중심축을 기준으로 전단의 n/2자릿수의 상기 제1 부분 번호와 후단의 n/2자릿수의 상기 제2 부분 번호로 분리한 후, 상기 제1 부분 번호를 구성하는 n/2개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써 n/2비트의 상기 제1 부분 코드를 생성하고, 상기 제2 부분 번호를 구성하는 n/2개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써 n/2비트의 상기 제2 부분 코드를 생성한 후, 상기 제1 부분 코드와 상기 제2 부분 코드를 배타적 논리합함으로써 n/2비트의 상기 연산 코드를 복원한다.When the authentication number is confirmed, the operation code recovery unit 126 divides the authentication number into the n/2-digit first partial number at the front end and the n/2-digit second partial number at the rear end based on the central axis. After separation, the first partial code of n/2 bits is generated by performing a modulo-2 operation on each of the n/2 numbers constituting the first partial number, and the second partial number is formed. After generating the second partial code of n/2 bits by performing a modulo-2 operation on each of the n/2 numbers, exclusive ORing the first partial code and the second partial code to generate n/2 bits The 2-bit operation code is restored.

복호화 처리부(127)는 상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게의 합을 연산하고, 해시 함수 저장부(115)로부터, 상기 해밍 무게의 합이 고유 번호로서 할당되어 있는 상기 제1 해시 함수를 추출한 후, 상기 제1 해시 함수에 상기 연산 코드를 입력으로 인가함으로써 상기 제1 해시 값을 복원하여, 상기 제1 해시 값으로 상기 암호화된 데이터셋을 복호화한다.The decryption processing unit 127 calculates the sum of the Hamming weights for each of the first partial code and the second partial code, and the sum of the Hamming weights is assigned as a unique number from the hash function storage unit 115. After extracting the first hash function, the first hash value is restored by applying the operation code as an input to the first hash function, and the encrypted data set is decrypted using the first hash value.

예컨대, 전술한 예와 같이, 상기 인증 번호를 '234517'이라고 하는 경우, 연산 코드 복원부(126)는 상기 인증 번호를, 중심축으로 기준으로 전단의 3자릿수의 제1 부분 번호인 '234'와 후단의 3자릿수의 제2 부분 번호인 '517'로 분리할 수 있다.For example, as in the above-mentioned example, when the authentication number is '234517', the operation code recovery unit 126 converts the authentication number into '234', which is the first three-digit number of the front end based on the central axis. It can be separated by '517', which is the second three-digit number at the end.

그러고 나서, 연산 코드 복원부(126)는 상기 제1 부분 번호인 '234'를 구성하는 3개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써, 3비트의 '010'이라는 제1 부분 코드를 생성할 수 있고, 상기 제2 부분 번호인 '517'을 구성하는 3개의 숫자들 각각에 대해 모듈로-2 연산을 수행함으로써, 3비트의 '111'이라는 제2 부분 코드를 생성할 수 있고, 상기 제1 부분 코드와 상기 제2 부분 코드 간의 배타적 논리합 연산을 수행함으로써, '101'이라고 하는 3비트의 연산 코드를 복원할 수 있다.Then, the operation code recovery unit 126 performs modulo-2 operation on each of the three numbers constituting the first partial number '234', thereby generating a 3-bit first partial code of '010'. can be generated, and by performing modulo-2 operation on each of the three numbers constituting the second partial number '517', a 3-bit second partial code of '111' can be generated, , By performing an exclusive OR operation between the first partial code and the second partial code, a 3-bit operation code called '101' can be restored.

그 이후, 복호화 처리부(127)는 상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게의 합을 연산하여, 상기 표 1과 같은 6개의 해시 함수들 중 상기 해밍 무게의 합이 고유 번호로서 할당되어 있는 제1 해시 함수를 추출할 수 있다.After that, the decryption processing unit 127 calculates the sum of the Hamming weights for each of the first partial code and the second partial code, and the sum of the Hamming weights among the six hash functions shown in Table 1 is a unique number. The first hash function allocated as can be extracted.

관련해서, 상기 제1 부분 코드가 '010', 상기 제2 부분 코드가 '111'이므로, 복호화 처리부(127)는 상기 제1 부분 코드와 상기 제2 부분 코드 각각에 대한 해밍 무게인 '1'과 '3'의 합을 '4'와 같이 연산한 후, 상기 표 1과 같은 해시 함수들 중 '4'가 고유 번호로서 할당되어 있는 해시 함수인 '해시 함수 5'를 상기 제1 해시 함수로 추출할 수 있다.In relation to this, since the first partial code is '010' and the second partial code is '111', the decoding processor 127 sets the Hamming weight for each of the first partial code and the second partial code to '1'. After calculating the sum of '3' and '3' as '4', 'hash function 5', which is a hash function to which '4' is assigned as a unique number among the hash functions shown in Table 1, is used as the first hash function. It can be extracted.

그러고 나서, 복호화 처리부(127)는 '해시 함수 5'에 상기 연산 코드인 '101'을 입력으로 인가하여 제1 해시 값을 복원한 후, 상기 제1 해시 값으로 상기 암호화된 데이터셋을 복호화할 수 있다.Then, the decryption processing unit 127 restores the first hash value by applying the operation code '101' as an input to 'hash function 5', and then decrypts the encrypted data set with the first hash value. You can.

이렇게, 상기 암호화된 데이터셋에 대한 복호화가 완료되면, 정보 확인 처리부(128)는 상기 복호화된 데이터셋으로부터, 상기 복호화된 데이터셋을 구성하는 상기 고유 식별 ID와 상기 상품 제조자의 정보를 확인한다.In this way, when decryption of the encrypted data set is completed, the information confirmation processing unit 128 verifies the unique identification ID and the product manufacturer's information constituting the decrypted data set from the decrypted data set.

즉, 본 발명에 따른 정보 확인부(123)는 클라우드 서버(20)로부터 상기 암호화된 데이터셋이 획득되면, 상기 제1 NFT에 포함되어 있는 복호화 정보인 상기 인증 번호를 이용하여 상기 제1 해시 값을 복원한 후, 상기 제1 해시 값으로 상기 암호화된 데이터셋을 복호화할 수 있고, 이렇게, 상기 암호화된 데이터셋의 복호화가 완료되면, 복호화된 데이터셋은 상기 고유 식별 ID와 상기 상품 제조자의 정보로 구성된 데이터셋이므로, 정보 확인부(123)는 상기 복호화된 데이터셋으로부터 상기 고유 식별 ID와 상기 상품 제조자의 정보를 확인할 수 있다.That is, when the encrypted data set is obtained from the cloud server 20, the information confirmation unit 123 according to the present invention uses the authentication number, which is decryption information included in the first NFT, to obtain the first hash value. After restoring, the encrypted data set can be decrypted with the first hash value, and when decryption of the encrypted data set is completed, the decrypted data set includes the unique identification ID and the product manufacturer's information. Since it is a data set composed of, the information confirmation unit 123 can check the unique identification ID and the product manufacturer's information from the decrypted data set.

이렇게, 정보 확인부(123)에 의해 상기 복호화된 데이터셋으로부터 상기 고유 식별 ID와 상기 상품 제조자의 정보가 확인되면, 정품 증빙 처리부(124)는 상기 복호화된 데이터셋을 구성하는 상기 고유 식별 ID와 상기 상품 제조자의 정보가, 상기 제1 NFT에 포함되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보와 모두 일치하는지 확인한 후, 모두 일치하는 것으로 확인되면, 전자 단말(102)로, 상기 상품 제조자의 정보를 전송하면서, 상기 상품이, 상기 상품 제조자에 의해 제조된 정품 상품이 맞음을 지시하는 내용이 포함된 정품 증빙 메시지를 전송한다.In this way, when the unique identification ID and the product manufacturer's information are confirmed from the decrypted data set by the information confirmation unit 123, the authentication certificate processing unit 124 determines the unique identification ID and the product manufacturer's information constituting the decrypted data set. After checking whether the product manufacturer's information matches both the unique identification ID included in the first NFT and the product manufacturer's information, if it is confirmed that they all match, to the electronic terminal 102, the product manufacturer's While transmitting information, an authenticity proof message containing content indicating that the product is a genuine product manufactured by the product manufacturer is transmitted.

즉, 정품 증빙 처리부(124)는 클라우드 서버(20)로부터 획득한 데이터셋에 포함된 정보와 블록체인 네트워크(10)로부터 획득한 상기 제1 NFT 내의 정보가 서로 일치하는 것으로 확인되면, 상기 상품이, 정품 상품이 맞는 것으로 확인한 후, 전자 단말(102)로, 상기 상품 제조자의 정보를 전송하면서, 상기 정품 증빙 메시지를 전송할 수 있다. 이를 통해, 상기 사용자는 상기 상품이 정품 상품임을 확인할 수 있다.That is, if the authenticity proof processing unit 124 confirms that the information included in the data set obtained from the cloud server 20 and the information in the first NFT obtained from the blockchain network 10 match each other, the product After confirming that the product is genuine, the authenticity certificate message can be transmitted to the electronic terminal 102 while transmitting the product manufacturer's information. Through this, the user can confirm that the product is a genuine product.

본 발명의 일실시예에 따르면, 정품 증빙 서비스 서버(110)는 암호화키 저장부(129), 이력 저장 처리부(130), 암호화키 선택부(131) 및 이력 정보 전송부(132)를 더 포함할 수 있다.According to one embodiment of the present invention, the authenticity proof service server 110 further includes an encryption key storage unit 129, a history storage processing unit 130, an encryption key selection unit 131, and a history information transmission unit 132. can do.

암호화키 저장부(129)에는 관리 단말(101)과 사전 공유하고 있는, 복수의 암호화키들이 저장되어 있다.The encryption key storage unit 129 stores a plurality of encryption keys that are pre-shared with the management terminal 101.

여기서, 상기 복수의 암호화키들 각각에는 k(k는 2이상의 자연수임)자릿수의 자연수를 성분으로 갖는 t(t는 2이상의 자연수임)차원의 서로 다른 특징 벡터가 할당되어 있다.Here, each of the plurality of encryption keys is assigned a different feature vector of dimension t (t is a natural number of 2 or more) whose components are natural numbers of k (k is a natural number of 2 or more) digits.

예컨대, k를 2라고 하고, t를 5라고 하는 경우, 상기 복수의 암호화키들 각각에는 하기의 표 2와 같이 2자릿수의 자연수를 성분으로 갖는 5차원의 서로 다른 특징 벡터가 할당되어 있을 수 있다.For example, when k is 2 and t is 5, each of the plurality of encryption keys may be assigned a different 5-dimensional feature vector with 2-digit natural numbers as components, as shown in Table 2 below.

복수의 암호화키들Multiple encryption keys 특징 벡터Feature vector 암호화키 1encryption key 1 [12 23 32 45 87][12 23 32 45 87] 암호화키 2encryption key 2 [34 25 49 25 21][34 25 49 25 21] 암호화키 3encryption key 3 [51 42 68 29 38][51 42 68 29 38] ...... ......

이력 저장 처리부(130)는 정품 증빙 처리부(124)를 통해, 상기 상품에 대한 정품 증빙이 수행 완료될 때마다, 상기 상품에 대한 정품 증빙이 수행되었던 시간 정보와 상기 상품에 대한 정품 증빙을 요청하였던 단말의 위치 정보로 구성된 조회 이력 정보를 생성하여, 생성된 조회 이력 정보를, 상기 고유 식별 ID와 대응시켜 이력 데이터베이스(미도시) 상에 저장한다.The history storage processing unit 130, through the certificate of authenticity processing unit 124, whenever the proof of authenticity for the product is completed, information on the time when the proof of authenticity for the product was performed and the time when the proof of authenticity for the product was requested Inquiry history information consisting of location information of the terminal is generated, and the generated inquiry history information is stored in a history database (not shown) in correspondence with the unique identification ID.

관련해서, 상기 상품이 다른 사용자로 이전되거나, 상기 상품을 구경하는 다른 사용자들이 상기 상품이 정품인지 여부를 확인하고자 하는 등의 이유로 인해, 상기 사용자의 전자 단말(102)뿐 아니라, 다른 사용자의 전자 단말에 의해서 상기 상품에 대한 정품 증빙 요청이 정품 증빙 서비스 서버(110)에 수신되는 경우가 발생할 수 있다. 이로 인해, 정품 증빙 처리부(124)를 통해 상기 상품에 대한 정품 증빙이 수행되면, 상기 상품에 대한 정품 증빙이 수행 완료될 때마다, 이력 저장 처리부(130)는 상기 상품에 대한 정품 증빙이 수행되었던 시간 정보와 상기 상품에 대한 정품 증빙을 요청하였던 단말의 위치 정보로 구성된 조회 이력 정보를 생성하여, 생성된 조회 이력 정보를, 상기 고유 식별 ID와 대응시켜 이력 데이터베이스(미도시) 상에 저장해 둘 수 있다.In this regard, due to reasons such as the product being transferred to another user or other users viewing the product wanting to check whether the product is genuine, not only the user's electronic terminal 102 but also other users' electronic devices There may be a case where a request for proof of authenticity for the product is received by the terminal to the proof of authenticity service server 110. For this reason, when the proof of authenticity for the product is performed through the proof of authenticity processing unit 124, each time the proof of authenticity for the product is completed, the history storage processing unit 130 records the proof of authenticity for the product at which the proof of authenticity was performed. By generating inquiry history information consisting of time information and location information of the terminal that requested proof of authenticity for the product, the generated inquiry history information can be stored in a history database (not shown) by matching it with the unique identification ID. there is.

이렇게, 상기 이력 데이터베이스에 상기 고유 식별 ID에 대응되도록 조회 이력 정보가 저장된 상태에서, 관리 단말(101)로부터, 상기 이력 데이터베이스의 상기 고유 식별 ID에 대응되어 저장되어 있는 적어도 하나의 조회 이력 정보의 제공 요청 명령이 정품 증빙 서비스 서버(110)에 수신되면, 암호화키 선택부(131)는 상기 이력 데이터베이스로부터 상기 고유 식별 ID에 대응되어 저장되어 있는 상기 적어도 하나의 조회 이력 정보를 추출한 후, 사전 설정된 난수 생성 함수를 이용하여 k자릿수의 자연수로 구성된 t개의 난수들을 생성하고, 상기 t개의 난수들을 성분으로 갖는 t차원의 난수 벡터를 생성한 후, 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 제1 암호화키를 선택한다.In this way, with inquiry history information stored in the history database corresponding to the unique identification ID, the management terminal 101 provides at least one inquiry history information stored in correspondence to the unique identification ID in the history database. When a request command is received by the authenticity proof service server 110, the encryption key selection unit 131 extracts the at least one inquiry history information stored corresponding to the unique identification ID from the history database, and then selects a preset random number. After generating t random numbers composed of k-digit natural numbers using a generation function and generating a t-dimensional random number vector having the t random numbers as components, the vector similarity with the random number vector among the plurality of encryption keys is Select the first encryption key with the largest feature vector.

그러고 나서, 이력 정보 전송부(132)는 상기 제1 암호화키가 선택되면, 상기 제1 암호화키로 상기 적어도 하나의 조회 이력 정보를 암호화한 후, 상기 암호화된 적어도 하나의 조회 이력 정보와 상기 t개의 난수들을 관리 단말(101)로 전송한다.Then, when the first encryption key is selected, the history information transmission unit 132 encrypts the at least one inquiry history information with the first encryption key, and then combines the encrypted at least one inquiry history information with the t Random numbers are transmitted to the management terminal 101.

예컨대, 전술한 예와 같이, k를 2, t를 5라고 하고, 상기 복수의 암호화키들이 상기 표 2와 같다고 하는 경우, 암호화키 선택부(131)는 상기 난수 생성 함수를 이용하여, 2자릿수의 자연수로 구성된 5개의 난수들을 생성할 수 있다. 만약, 5개의 난수들이 'a, b, c, d, e'라고 하는 경우, 암호화키 선택부(131)는 5개의 난수들을 성분으로 갖는 5차원의 난수 벡터를 '[a b c d e]'와 같이 생성할 수 있다.For example, as in the above-mentioned example, when k is 2, t is 5, and the plurality of encryption keys are the same as Table 2, the encryption key selection unit 131 uses the random number generation function to generate a 2-digit number. Five random numbers composed of natural numbers can be generated. If the five random numbers are 'a, b, c, d, e', the encryption key selection unit 131 generates a 5-dimensional random number vector with the five random numbers as components as '[a b c d e]'. can do.

그러고 나서, 암호화키 선택부(131)는 상기 표 2와 같은 복수의 암호화키들 중에서 상기 난수 벡터인 '[a b c d e]'와의 벡터 유사도가 최대인 특징 벡터를 갖는 상기 제1 암호화키를 선택할 수 있다.Then, the encryption key selection unit 131 may select the first encryption key having a feature vector with the maximum vector similarity with the random number vector '[a b c d e]' from among the plurality of encryption keys shown in Table 2.

그 이후, 이력 정보 전송부(132)는 상기 제1 암호화키로 상기 적어도 하나의 조회 이력 정보를 암호화한 후, 상기 암호화된 적어도 하나의 조회 이력 정보와 상기 5개의 난수들인 'a, b, c, d, e'를 관리 단말(101)로 전송할 수 있다.Afterwards, the history information transmission unit 132 encrypts the at least one inquiry history information with the first encryption key, and then generates the encrypted at least one inquiry history information and the five random numbers 'a, b, c, d, e' can be transmitted to the management terminal 101.

이때, 본 발명의 일실시예에 따르면, 관리 단말(101)은 정품 증빙 서비스 서버(110)로부터, 상기 암호화된 적어도 하나의 조회 이력 정보와 상기 t개의 난수들이 수신되면, 상기 t개의 난수들로 구성된 t차원의 상기 난수 벡터를 생성한 후, 관리 단말(101)에 저장되어 있는 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 상기 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 암호화된 적어도 하나의 조회 이력 정보에 대한 복호화를 수행할 수 있다.At this time, according to an embodiment of the present invention, when the management terminal 101 receives the encrypted at least one inquiry history information and the t random numbers from the authentication service server 110, the management terminal 101 generates the t random numbers. After generating the configured t-dimensional random number vector, the first encryption key having a feature vector with the maximum vector similarity to the random number vector is selected from among the plurality of encryption keys stored in the management terminal 101, Decryption of the at least one encrypted inquiry history information can be performed using the first encryption key.

관련해서, 전술한 예와 같이, 정품 증빙 서비스 서버(110)로부터, 상기 암호화된 적어도 하나의 조회 이력 정보와 5개의 난수들인 'a, b, c, d, e'가 수신되었다고 하는 경우, 관리 단말(101)은 상기 5개의 난수들로 구성된 5차원의 난수 벡터를 '[a b c d e]'와 같이 생성한 후, 상기 표 2와 같은 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 상기 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 암호화된 적어도 하나의 조회 이력 정보에 대한 복호화를 수행할 수 있다.In relation to this, as in the above-described example, when it is said that the encrypted at least one inquiry history information and five random numbers 'a, b, c, d, e' are received from the authentication service server 110, management The terminal 101 generates a 5-dimensional random number vector composed of the 5 random numbers as '[a b c d e]', and then selects the one with the maximum vector similarity with the random number vector among the plurality of encryption keys as shown in Table 2. By selecting the first encryption key having a feature vector, decryption can be performed on at least one inquiry history information encrypted with the first encryption key.

이를 통해, 상품 제조자는 관리 단말(101)을 통해서, 상기 상품에 대해서 정품 증빙이 수행된 시간 및 위치와 연관된 이력 정보를 확인할 수 있다.Through this, the product manufacturer can check history information related to the time and location when authentication of authenticity was performed for the product through the management terminal 101.

도 2는 본 발명의 일실시예에 따른 NFT를 이용하여 상품에 대한 정품 증빙을 가능하게 하는 정품 증빙 서비스 서버의 동작 방법을 도시한 도면이다.Figure 2 is a diagram illustrating a method of operating a product authentication service server that enables authentication of a product using NFT according to an embodiment of the present invention.

단계(S210)에서는 상품 제조자의 관리 단말로부터, 상기 상품 제조자가 제조한 상품(상기 상품의 표면에는, 상기 상품에 대해서 사전 발급된 고유 식별 ID가 삽입되어 있는 전자 태그가 부착되어 있음)의 정품 증빙을 위한 NFT 발행 요청 명령이 수신되면, 상기 관리 단말로, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보를 회신할 것을 요청하는 내용이 포함된 회신 요청 메시지를 전송한다.In step S210, proof of authenticity of the product manufactured by the product manufacturer (an electronic tag in which a unique identification ID previously issued for the product is inserted is attached to the surface of the product) is obtained from the product manufacturer's management terminal. When an NFT issuance request command is received, a reply request message containing a request to reply with the unique identification ID inserted in the electronic tag and information on the product manufacturer is transmitted to the management terminal.

단계(S220)에서는 상기 관리 단말로부터, 상기 회신 요청 메시지에 대응하여, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보가 수신되면, 상기 고유 식별 ID와 상기 상품 제조자의 정보로 구성된 데이터셋을 암호화한 후, 데이터 저장을 위한 사전 설정된 클라우드 서버에 접속하여 상기 클라우드 서버로, 상기 암호화된 데이터셋을 전송하면서, 상기 암호화된 데이터셋을 저장할 것을 요청한다.In step S220, when the unique identification ID and the product manufacturer's information inserted in the electronic tag are received from the management terminal in response to the reply request message, the unique identification ID and the product manufacturer's information are received. After encrypting the configured data set, a preset cloud server for data storage is accessed and the encrypted data set is transmitted to the cloud server, requesting storage of the encrypted data set.

단계(S230)에서는 상기 클라우드 서버에서 상기 암호화된 데이터셋이 저장됨에 따라, 상기 클라우드 서버로부터, 상기 암호화된 데이터셋이 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 저장 경로에 대한 정보, 상기 고유 식별 ID, 상기 암호화된 데이터셋의 복호화를 위한 복호화 정보 및 상기 상품 제조자의 정보가 포함된 제1 NFT를 생성한다.In step S230, as the encrypted dataset is stored in the cloud server, when information about the first storage path where the encrypted dataset is stored is received from the cloud server, information about the first storage path is received. , generate a first NFT containing the unique identification ID, decryption information for decrypting the encrypted data set, and information on the product manufacturer.

단계(S240)에서는 상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 관리 단말로 전송한다.In step (S240), when the first NFT is created, the first NFT is registered in a preset blockchain network for NFT registration, and the issuance of the first NFT is completed. Then, the first NFT is A publication completion message indicating that publication has been completed is generated and transmitted to the management terminal.

이때, 본 발명의 일실시예에 따르면, 단계(S220)에서는 n(n은 2이상의 짝수인 자연수임)+1개의 서로 다른 해시 함수들(상기 n+1개의 해시 함수들 각각에는, 0이상 n이하의 정수로 구성된 서로 다른 고유 번호가 할당되어 있음)이 저장되어 있는 해시 함수 저장부를 유지하는 단계, 상기 관리 단말로부터, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보가 수신되면, 상기 고유 식별 ID와 상기 상품 제조자의 정보로 구성된 상기 데이터셋을 생성한 후, 상기 데이터셋의 암호화에 사용하기 위한 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 해시 값으로 상기 데이터셋을 암호화한 후, 상기 클라우드 서버에 접속하여 상기 클라우드 서버로, 상기 암호화된 데이터셋을 전송하면서, 상기 암호화된 데이터셋을 저장할 것을 요청하는 단계를 포함할 수 있다.At this time, according to one embodiment of the present invention, in step S220, n (n is a natural number that is an even number of 2 or more) + 1 different hash functions (each of the n + 1 hash functions has 0 or more n) Maintaining a hash function storage unit in which (different unique numbers consisting of the following integers are assigned) are stored, receiving the unique identification ID and the product manufacturer information inserted in the electronic tag from the management terminal. Then, generating the data set consisting of the unique identification ID and the product manufacturer's information, and then randomly generating an n-digit authentication number for use in encryption of the data set. Once the authentication number is generated, After dividing the authentication number into a first partial number of n/2 digits at the front end and a second partial number of n/2 digits at the rear end based on the central axis, n/2 numbers constituting the first partial number Generating a first partial code of n/2 bits by performing a modulo-2 operation on each of the n/2 bits, and performing a modulo-2 operation on each of the n/2 numbers constituting the second partial number After generating a second partial code of n/2 bits, generating an operation code of n/2 bits by exclusive ORing the first partial code and the second partial code, the first partial code and the second partial code Calculating the sum of Hamming weights for each partial code, extracting from the hash function storage a first hash function to which the sum of Hamming weights is assigned as a unique number, and storing the operation code in the first hash function. is applied as an input to generate a first hash value, encrypt the data set with the first hash value, and then connect to the cloud server and transmit the encrypted data set to the cloud server, It may include a step of requesting to save the dataset.

이때, 단계(S230)에서는 상기 클라우드 서버에서 상기 암호화된 데이터셋이 저장됨에 따라, 상기 클라우드 서버로부터, 상기 암호화된 데이터셋이 저장된 상기 제1 저장 경로에 대한 정보가 수신되면, 상기 인증 번호를, 상기 암호화된 데이터셋의 복호화를 위한 상기 복호화 정보로 지정한 후, 상기 제1 저장 경로에 대한 정보, 상기 고유 식별 ID, 상기 복호화 정보 및 상기 상품 제조자의 정보가 포함된 상기 제1 NFT를 생성할 수 있다.At this time, in step S230, as the encrypted data set is stored in the cloud server, when information about the first storage path where the encrypted data set is stored is received from the cloud server, the authentication number is received, After designating the decryption information for decryption of the encrypted data set, the first NFT containing information about the first storage path, the unique identification ID, the decryption information, and the product manufacturer's information can be generated. there is.

이때, 본 발명의 일실시예에 따르면, 상기 정품 증빙 서비스 서버의 동작 방법은 상기 제1 NFT에 대한 발행이 완료된 이후에, 상기 상품을 입수한 사용자의 전자 단말로부터 상기 상품에 대한 정품 증빙 요청 명령이 수신되면, 상기 전자 단말로, 상기 상품의 표면에 부착되어 있는 상기 전자 태그를 인식시킬 것을 지시하는 내용이 포함된 지시 메시지를 전송하는 단계, 상기 지시 메시지가 상기 전자 단말로 전송된 이후, 상기 사용자가 상기 전자 단말에 탑재된 태그 리더를 이용하여 상기 상품의 표면에 부착되어 있는 상기 전자 태그를 인식시킴에 따라, 상기 전자 단말로부터, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID가 수신되면, 상기 고유 식별 ID를 기초로 상기 블록체인 네트워크로부터, NFT 내에 상기 고유 식별 ID를 포함하고 있는 상기 제1 NFT를 검색하는 단계, 상기 제1 NFT가 검색되면, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인한 후, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 서버에 접속하여 상기 암호화된 데이터셋을 획득하는 단계, 상기 암호화된 데이터셋이 획득되면, 상기 제1 NFT에 포함되어 있는 상기 복호화 정보를 이용하여 상기 암호화된 데이터셋을 복호화한 후, 상기 복호화된 데이터셋을 구성하는 상기 고유 식별 ID와 상기 상품 제조자의 정보를 확인하는 단계 및 상기 복호화된 데이터셋을 구성하는 상기 고유 식별 ID와 상기 상품 제조자의 정보가, 상기 제1 NFT에 포함되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보와 모두 일치하는지 확인한 후, 모두 일치하는 것으로 확인되면, 상기 전자 단말로, 상기 상품 제조자의 정보를 전송하면서, 상기 상품이, 상기 상품 제조자에 의해 제조된 정품 상품이 맞음을 지시하는 내용이 포함된 정품 증빙 메시지를 전송하는 단계를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, the method of operating the authenticity proof service server is to request proof of authenticity for the product from the electronic terminal of the user who obtained the product after the issuance of the first NFT is completed. When received, transmitting an instruction message containing instructions to recognize the electronic tag attached to the surface of the product to the electronic terminal, after the instruction message is transmitted to the electronic terminal, As the user recognizes the electronic tag attached to the surface of the product using a tag reader mounted on the electronic terminal, when the unique identification ID inserted into the electronic tag is received from the electronic terminal, Searching for the first NFT containing the unique identification ID within an NFT from the blockchain network based on the unique identification ID, when the first NFT is searched, the first NFT included in the first NFT 1 After confirming information about the storage path, based on the information about the first storage path, accessing the cloud server to obtain the encrypted dataset; when the encrypted dataset is obtained, the first After decrypting the encrypted data set using the decryption information included in the NFT, confirming the unique identification ID and the product manufacturer's information constituting the decrypted data set and the decrypted data set After confirming whether the unique identification ID and the product manufacturer's information included in the first NFT match both the unique identification ID and the product manufacturer's information, if it is confirmed that they all match, to the electronic terminal , It may further include transmitting an authenticity proof message containing content indicating that the product is a genuine product manufactured by the product manufacturer while transmitting information on the product manufacturer.

이때, 본 발명의 일실시예에 따르면, 상기 정보를 확인하는 단계는 상기 암호화된 데이터셋이 획득되면, 상기 제1 NFT에 포함되어 있는 상기 복호화 정보인 상기 인증 번호를 확인하는 단계, 상기 인증 번호가 확인되면, 상기 인증 번호를, 중심축을 기준으로 전단의 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 해시 값으로 상기 암호화된 데이터셋을 복호화하는 단계 및 상기 암호화된 데이터셋에 대한 복호화가 완료되면, 상기 복호화된 데이터셋으로부터, 상기 복호화된 데이터셋을 구성하는 상기 고유 식별 ID와 상기 상품 제조자의 정보를 확인하는 단계를 포함할 수 있다.At this time, according to an embodiment of the present invention, the step of confirming the information is, when the encrypted data set is obtained, confirming the authentication number, which is the decryption information included in the first NFT, the authentication number When confirmed, the authentication number is divided into the n/2-digit first partial number at the front end and the second n/2-digit second partial number at the rear end based on the central axis, and then configure the first partial number. The first partial code of n/2 bits is generated by performing a modulo-2 operation on each of the n/2 numbers, and a modulo-2 operation is performed on each of the n/2 numbers constituting the second partial number. generating the second partial code of n/2 bits by performing a low-2 operation, and then restoring the operation code of n/2 bits by exclusive ORing the first partial code and the second partial code; After calculating the sum of the Hamming weights for each of the first partial code and the second partial code, and extracting from the hash function storage the first hash function to which the sum of the Hamming weights is assigned as a unique number, Restoring the first hash value by applying the operation code as an input to the first hash function, and decrypting the encrypted data set with the first hash value, and when decryption of the encrypted data set is completed , It may include the step of confirming the unique identification ID constituting the decrypted data set and the product manufacturer's information from the decrypted data set.

또한, 본 발명의 일실시예에 따르면, 상기 정품 증빙 서비스 서버의 동작 방법은 상기 관리 단말과 사전 공유하고 있는, 복수의 암호화키들(상기 복수의 암호화키들 각각에는 k(k는 2이상의 자연수임)자릿수의 자연수를 성분으로 갖는 t(t는 2이상의 자연수임)차원의 서로 다른 특징 벡터가 할당되어 있음)이 저장되어 있는 암호화키 저장부를 유지하는 단계, 상기 정품 증빙 메시지를 전송하는 단계를 통해, 상기 상품에 대한 정품 증빙이 수행 완료될 때마다, 상기 상품에 대한 정품 증빙이 수행되었던 시간 정보와 상기 상품에 대한 정품 증빙을 요청하였던 단말의 위치 정보로 구성된 조회 이력 정보를 생성하여, 생성된 조회 이력 정보를, 상기 고유 식별 ID와 대응시켜 이력 데이터베이스 상에 저장하는 단계, 상기 관리 단말로부터, 상기 이력 데이터베이스의 상기 고유 식별 ID에 대응되어 저장되어 있는 적어도 하나의 조회 이력 정보의 제공 요청 명령이 수신되면, 상기 이력 데이터베이스로부터 상기 고유 식별 ID에 대응되어 저장되어 있는 상기 적어도 하나의 조회 이력 정보를 추출한 후, 사전 설정된 난수 생성 함수를 이용하여 k자릿수의 자연수로 구성된 t개의 난수들을 생성하고, 상기 t개의 난수들을 성분으로 갖는 t차원의 난수 벡터를 생성한 후, 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 제1 암호화키를 선택하는 단계 및 상기 제1 암호화키가 선택되면, 상기 제1 암호화키로 상기 적어도 하나의 조회 이력 정보를 암호화한 후, 상기 암호화된 적어도 하나의 조회 이력 정보와 상기 t개의 난수들을 상기 관리 단말로 전송하는 단계를 더 포함할 수 있다.In addition, according to one embodiment of the present invention, the method of operating the authenticity certificate service server includes a plurality of encryption keys (each of the plurality of encryption keys includes k (k is a natural number of 2 or more), which is pre-shared with the management terminal. Through the steps of maintaining an encryption key storage unit in which t (different feature vectors of the dimension t (t is a natural number of 2 or more) with natural numbers of digits as components are assigned) are stored, and transmitting the authenticity certificate message, Each time the proof of authenticity for the product is completed, inquiry history information consisting of information on the time when the proof of authenticity was performed for the product and location information of the terminal that requested proof of authenticity for the product is generated, and the generated inquiry Storing history information in a history database in correspondence with the unique identification ID, receiving a command requesting to provide at least one inquiry history information stored in correspondence with the unique identification ID in the history database from the management terminal. After extracting the at least one inquiry history information stored in correspondence with the unique identification ID from the history database, t random numbers composed of k-digit natural numbers are generated using a preset random number generation function, and the t After generating a t-dimensional random number vector with random numbers as components, selecting a first encryption key from among the plurality of encryption keys having a feature vector with maximum vector similarity to the random number vector, and the first encryption key When selected, the method may further include encrypting the at least one inquiry history information with the first encryption key and then transmitting the encrypted at least one inquiry history information and the t random numbers to the management terminal.

이때, 상기 관리 단말은 상기 정품 증빙 서비스 서버로부터, 상기 암호화된 적어도 하나의 조회 이력 정보와 상기 t개의 난수들이 수신되면, 상기 t개의 난수들로 구성된 t차원의 상기 난수 벡터를 생성한 후, 상기 관리 단말에 저장되어 있는 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 상기 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 암호화된 적어도 하나의 조회 이력 정보에 대한 복호화를 수행할 수 있다.At this time, when the management terminal receives the at least one encrypted inquiry history information and the t random numbers from the authenticity certification service server, the management terminal generates the t-dimensional random number vector composed of the t random numbers, Among the plurality of encryption keys stored in the management terminal, the first encryption key having the feature vector with the maximum vector similarity with the random number vector is selected, and the first encryption key is used to encrypt the at least one inquiry history information. Decryption can be performed.

이상, 도 2를 참조하여 본 발명의 일실시예에 따른 정품 증빙 서비스 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 정품 증빙 서비스 서버의 동작 방법은 도 1을 이용하여 설명한 정품 증빙 서비스 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.Above, the operation method of the authenticity certification service server according to an embodiment of the present invention has been described with reference to FIG. 2. Here, the operation method of the authenticity certification service server according to an embodiment of the present invention may correspond to the configuration of the operation of the authenticity certification service server 110 described using FIG. 1, so a detailed description thereof will be omitted. Do this.

본 발명의 일실시예에 따른 정품 증빙 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The operating method of the authenticity certification service server according to an embodiment of the present invention can be implemented as a computer program stored in a storage medium to be executed through combination with a computer.

또한, 본 발명의 일실시예에 따른 정품 증빙 서비스 서버의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. Additionally, the method of operating the authenticity certification service server according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described with specific details such as specific components and limited embodiments and drawings, but this is only provided to facilitate a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , those skilled in the art can make various modifications and variations from this description.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be limited to the described embodiments, and the scope of the patent claims described below as well as all modifications that are equivalent or equivalent to the scope of this patent claim shall fall within the scope of the spirit of the present invention. .

110: NFT를 이용하여 상품에 대한 정품 증빙을 가능하게 하는 정품 증빙 서비스 서버
111: 정보 요청부 112: 저장 요청부
113: NFT 생성부 114: 발행 처리부
115: 해시 함수 저장부 116: 인증 번호 생성부
117: 연산 코드 생성부 118: 해시 함수 추출부
119: 요청 처리부 120: 지시 메시지 전송부
121: NFT 검색부 122: 데이터 획득부
123: 정보 확인부 124: 정품 증빙 처리부
125: 복호화 정보 확인부 126: 연산 코드 복원부
127: 복호화 처리부 128: 정보 확인 처리부
129: 암호화키 저장부 130: 이력 저장 처리부
131: 암호화키 선택부 132: 이력 정보 전송부
101: 관리 단말
102: 전자 단말
10: 블록체인 네트워크
20: 클라우드 서버
110: Authenticity proof service server that enables proof of authenticity for products using NFT
111: Information request unit 112: Storage request unit
113: NFT creation unit 114: Issuance processing unit
115: Hash function storage unit 116: Authentication number generation unit
117: Operation code generation unit 118: Hash function extraction unit
119: Request processing unit 120: Instruction message transmission unit
121: NFT search unit 122: Data acquisition unit
123: Information confirmation unit 124: Authenticity certificate processing unit
125: Decryption information confirmation unit 126: Operation code restoration unit
127: Decryption processing unit 128: Information confirmation processing unit
129: encryption key storage unit 130: history storage processing unit
131: Encryption key selection unit 132: History information transmission unit
101: Management terminal
102: Electronic terminal
10: Blockchain network
20: Cloud server

Claims (12)

NFT(Non-Fungible Token)를 이용하여 상품에 대한 정품 증빙을 가능하게 하는 정품 증빙 서비스 서버에 있어서,
상품 제조자의 관리 단말로부터, 상기 상품 제조자가 제조한 상품 - 상기 상품의 표면에는, 상기 상품에 대해서 사전 발급된 고유 식별 ID가 삽입되어 있는 전자 태그가 부착되어 있음 - 의 정품 증빙을 위한 NFT 발행 요청 명령이 수신되면, 상기 관리 단말로, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보를 회신할 것을 요청하는 내용이 포함된 회신 요청 메시지를 전송하는 정보 요청부;
상기 관리 단말로부터, 상기 회신 요청 메시지에 대응하여, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보가 수신되면, 상기 고유 식별 ID와 상기 상품 제조자의 정보로 구성된 데이터셋을 암호화한 후, 데이터 저장을 위한 사전 설정된 클라우드 서버에 접속하여 상기 클라우드 서버로, 상기 암호화된 데이터셋을 전송하면서, 상기 암호화된 데이터셋을 저장할 것을 요청하는 저장 요청부;
상기 클라우드 서버에서 상기 암호화된 데이터셋이 저장됨에 따라, 상기 클라우드 서버로부터, 상기 암호화된 데이터셋이 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 저장 경로에 대한 정보, 상기 고유 식별 ID, 상기 암호화된 데이터셋의 복호화를 위한 복호화 정보 및 상기 상품 제조자의 정보가 포함된 제1 NFT를 생성하는 NFT 생성부; 및
상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 관리 단말로 전송하는 발행 처리부
를 포함하는 정품 증빙 서비스 서버.
In the authenticity proof service server that enables proof of authenticity for products using NFT (Non-Fungible Token),
From the product manufacturer's management terminal, a request for the issuance of an NFT to prove the authenticity of a product manufactured by the product manufacturer - an electronic tag in which a unique identification ID previously issued for the product is inserted is attached to the surface of the product. When a command is received, an information request unit transmits, to the management terminal, a reply request message containing a request to reply with the unique identification ID inserted in the electronic tag and information on the product manufacturer;
When the unique identification ID and the product manufacturer's information inserted in the electronic tag are received from the management terminal in response to the reply request message, a dataset consisting of the unique identification ID and the product manufacturer's information is encrypted. After doing so, a storage request unit connects to a preset cloud server for data storage and transmits the encrypted data set to the cloud server, requesting to store the encrypted data set;
As the encrypted dataset is stored in the cloud server, when information about the first storage path where the encrypted dataset is stored is received from the cloud server, information about the first storage path, the unique identification ID , an NFT generator that generates a first NFT containing decryption information for decrypting the encrypted data set and information on the product manufacturer; and
When the first NFT is created, the issuance of the first NFT is completed by registering the first NFT in a preset blockchain network for registration of the NFT, and then indicating that the first NFT has been issued. A publication processing unit that generates a publication completion message and transmits it to the management terminal.
Authenticity certification service server including.
제1항에 있어서,
상기 저장 요청부는
n(n은 2이상의 짝수인 자연수임)+1개의 서로 다른 해시 함수들 - 상기 n+1개의 해시 함수들 각각에는, 0이상 n이하의 정수로 구성된 서로 다른 고유 번호가 할당되어 있음 - 이 저장되어 있는 해시 함수 저장부;
상기 관리 단말로부터, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보가 수신되면, 상기 고유 식별 ID와 상기 상품 제조자의 정보로 구성된 상기 데이터셋을 생성한 후, 상기 데이터셋의 암호화에 사용하기 위한 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 해시 값으로 상기 데이터셋을 암호화한 후, 상기 클라우드 서버에 접속하여 상기 클라우드 서버로, 상기 암호화된 데이터셋을 전송하면서, 상기 암호화된 데이터셋을 저장할 것을 요청하는 요청 처리부
를 포함하고,
상기 NFT 생성부는
상기 클라우드 서버에서 상기 암호화된 데이터셋이 저장됨에 따라, 상기 클라우드 서버로부터, 상기 암호화된 데이터셋이 저장된 상기 제1 저장 경로에 대한 정보가 수신되면, 상기 인증 번호를, 상기 암호화된 데이터셋의 복호화를 위한 상기 복호화 정보로 지정한 후, 상기 제1 저장 경로에 대한 정보, 상기 고유 식별 ID, 상기 복호화 정보 및 상기 상품 제조자의 정보가 포함된 상기 제1 NFT를 생성하는 것을 특징으로 하는 정품 증빙 서비스 서버.
According to paragraph 1,
The storage request unit
n (n is a natural number greater than or equal to 2) + 1 different hash functions - each of the n + 1 hash functions is assigned a different unique number consisting of an integer between 0 and n - this storage a hash function storage unit;
When the unique identification ID and the product manufacturer's information inserted in the electronic tag are received from the management terminal, the data set consisting of the unique identification ID and the product manufacturer's information is generated, and then the data set is generated. Authentication number generator that randomly generates an n-digit authentication number for use in encryption;
When the authentication number is generated, the authentication number is divided into a first partial number of n/2 digits at the front end and a second partial number of n/2 digits at the rear end based on the central axis, and then the first partial number is A first partial code of n/2 bits is generated by performing a modulo-2 operation on each of the n/2 numbers constituting the n/2 numbers, and each of the n/2 numbers constituting the second partial number. An operation of generating a second partial code of n/2 bits by performing a modulo-2 operation on , and then generating an operation code of n/2 bits by exclusive ORing the first partial code and the second partial code. Code generation unit;
The sum of Hamming weights for each of the first partial code and the second partial code is calculated, and a first hash function in which the sum of the Hamming weights is assigned as a unique number is generated from the hash function storage unit. A hash function extraction unit for extracting; and
Applying the operation code as an input to the first hash function generates a first hash value, encrypts the dataset with the first hash value, and then connects to the cloud server and sends the encrypted data to the cloud server. A request processing unit that requests to store the encrypted data set while transmitting the data set.
Including,
The NFT generation unit
As the encrypted data set is stored in the cloud server, when information about the first storage path where the encrypted data set is stored is received from the cloud server, the authentication number is used to decrypt the encrypted data set. After specifying the decryption information for, the authenticity proof service server characterized in that it generates the first NFT containing information about the first storage path, the unique identification ID, the decryption information, and the information of the product manufacturer. .
제2항에 있어서,
상기 제1 NFT에 대한 발행이 완료된 이후에, 상기 상품을 입수한 사용자의 전자 단말로부터 상기 상품에 대한 정품 증빙 요청 명령이 수신되면, 상기 전자 단말로, 상기 상품의 표면에 부착되어 있는 상기 전자 태그를 인식시킬 것을 지시하는 내용이 포함된 지시 메시지를 전송하는 지시 메시지 전송부;
상기 지시 메시지가 상기 전자 단말로 전송된 이후, 상기 사용자가 상기 전자 단말에 탑재된 태그 리더(reader)를 이용하여 상기 상품의 표면에 부착되어 있는 상기 전자 태그를 인식시킴에 따라, 상기 전자 단말로부터, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID가 수신되면, 상기 고유 식별 ID를 기초로 상기 블록체인 네트워크로부터, NFT 내에 상기 고유 식별 ID를 포함하고 있는 상기 제1 NFT를 검색하는 NFT 검색부;
상기 제1 NFT가 검색되면, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인한 후, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 서버에 접속하여 상기 암호화된 데이터셋을 획득하는 데이터 획득부;
상기 암호화된 데이터셋이 획득되면, 상기 제1 NFT에 포함되어 있는 상기 복호화 정보를 이용하여 상기 암호화된 데이터셋을 복호화한 후, 상기 복호화된 데이터셋을 구성하는 상기 고유 식별 ID와 상기 상품 제조자의 정보를 확인하는 정보 확인부; 및
상기 복호화된 데이터셋을 구성하는 상기 고유 식별 ID와 상기 상품 제조자의 정보가, 상기 제1 NFT에 포함되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보와 모두 일치하는지 확인한 후, 모두 일치하는 것으로 확인되면, 상기 전자 단말로, 상기 상품 제조자의 정보를 전송하면서, 상기 상품이, 상기 상품 제조자에 의해 제조된 정품 상품이 맞음을 지시하는 내용이 포함된 정품 증빙 메시지를 전송하는 정품 증빙 처리부
를 더 포함하는 정품 증빙 서비스 서버.
According to paragraph 2,
After the issuance of the first NFT is completed, when a command to request proof of authenticity for the product is received from the electronic terminal of the user who acquired the product, the electronic tag attached to the surface of the product is sent to the electronic terminal. an instruction message transmission unit that transmits an instruction message containing instructions to recognize;
After the instruction message is transmitted to the electronic terminal, as the user recognizes the electronic tag attached to the surface of the product using a tag reader mounted on the electronic terminal, the electronic terminal , when the unique identification ID inserted in the electronic tag is received, an NFT search unit that searches for the first NFT containing the unique identification ID in an NFT from the blockchain network based on the unique identification ID;
When the first NFT is searched, the information about the first storage path included in the first NFT is checked, and then, based on the information about the first storage path, the cloud server is accessed to collect the encrypted data. a data acquisition unit that acquires the set;
When the encrypted data set is obtained, the encrypted data set is decrypted using the decryption information included in the first NFT, and then the unique identification ID constituting the decrypted data set and the product manufacturer's an information verification unit that verifies information; and
After confirming whether the unique identification ID and the product manufacturer's information constituting the decrypted data set match the unique identification ID and the product manufacturer's information included in the first NFT, it is confirmed that they all match. When this happens, an authenticity proof processing unit that transmits information on the product manufacturer to the electronic terminal and sends a certificate of authenticity message containing content indicating that the product is a genuine product manufactured by the product manufacturer.
A certificate of authenticity service server further comprising:
제3항에 있어서,
상기 정보 확인부는
상기 암호화된 데이터셋이 획득되면, 상기 제1 NFT에 포함되어 있는 상기 복호화 정보인 상기 인증 번호를 확인하는 복호화 정보 확인부;
상기 인증 번호가 확인되면, 상기 인증 번호를, 중심축을 기준으로 전단의 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 해시 값으로 상기 암호화된 데이터셋을 복호화하는 복호화 처리부; 및
상기 암호화된 데이터셋에 대한 복호화가 완료되면, 상기 복호화된 데이터셋으로부터, 상기 복호화된 데이터셋을 구성하는 상기 고유 식별 ID와 상기 상품 제조자의 정보를 확인하는 정보 확인 처리부
를 포함하는 정품 증빙 서비스 서버.
According to paragraph 3,
The information verification section
When the encrypted data set is obtained, a decryption information confirmation unit that checks the authentication number, which is the decryption information included in the first NFT;
When the authentication number is confirmed, the authentication number is divided into the n/2-digit first part number at the front end and the second n/2-digit second part number at the back end based on the central axis, and then the first part Generate the first partial code of n/2 bits by performing a modulo-2 operation on each of the n/2 numbers constituting the number, and each of the n/2 numbers constituting the second partial number. After generating the second partial code of n/2 bits by performing a modulo-2 operation on an operation code restoration unit;
After calculating the sum of the Hamming weights for each of the first partial code and the second partial code, and extracting from the hash function storage the first hash function to which the sum of the Hamming weights is assigned as a unique number, a decryption processor that restores the first hash value by applying the operation code as an input to the first hash function, and decrypts the encrypted data set with the first hash value; and
When decryption of the encrypted data set is completed, an information confirmation processing unit that checks the unique identification ID and the product manufacturer's information constituting the decrypted data set from the decrypted data set.
Authenticity certification service server including.
제3항에 있어서,
상기 관리 단말과 사전 공유하고 있는, 복수의 암호화키들 - 상기 복수의 암호화키들 각각에는 k(k는 2이상의 자연수임)자릿수의 자연수를 성분으로 갖는 t(t는 2이상의 자연수임)차원의 서로 다른 특징 벡터가 할당되어 있음 - 이 저장되어 있는 암호화키 저장부;
상기 정품 증빙 처리부를 통해, 상기 상품에 대한 정품 증빙이 수행 완료될 때마다, 상기 상품에 대한 정품 증빙이 수행되었던 시간 정보와 상기 상품에 대한 정품 증빙을 요청하였던 단말의 위치 정보로 구성된 조회 이력 정보를 생성하여, 생성된 조회 이력 정보를, 상기 고유 식별 ID와 대응시켜 이력 데이터베이스 상에 저장하는 이력 저장 처리부;
상기 관리 단말로부터, 상기 이력 데이터베이스의 상기 고유 식별 ID에 대응되어 저장되어 있는 적어도 하나의 조회 이력 정보의 제공 요청 명령이 수신되면, 상기 이력 데이터베이스로부터 상기 고유 식별 ID에 대응되어 저장되어 있는 상기 적어도 하나의 조회 이력 정보를 추출한 후, 사전 설정된 난수 생성 함수를 이용하여 k자릿수의 자연수로 구성된 t개의 난수들을 생성하고, 상기 t개의 난수들을 성분으로 갖는 t차원의 난수 벡터를 생성한 후, 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 제1 암호화키를 선택하는 암호화키 선택부; 및
상기 제1 암호화키가 선택되면, 상기 제1 암호화키로 상기 적어도 하나의 조회 이력 정보를 암호화한 후, 상기 암호화된 적어도 하나의 조회 이력 정보와 상기 t개의 난수들을 상기 관리 단말로 전송하는 이력 정보 전송부
를 더 포함하고,
상기 관리 단말은
상기 정품 증빙 서비스 서버로부터, 상기 암호화된 적어도 하나의 조회 이력 정보와 상기 t개의 난수들이 수신되면, 상기 t개의 난수들로 구성된 t차원의 상기 난수 벡터를 생성한 후, 상기 관리 단말에 저장되어 있는 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 상기 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 암호화된 적어도 하나의 조회 이력 정보에 대한 복호화를 수행하는 것을 특징으로 하는 정품 증빙 서비스 서버.
According to paragraph 3,
A plurality of encryption keys that are pre-shared with the management terminal - each of the plurality of encryption keys has a different key in dimension t (t is a natural number of 2 or more) having a natural number of k (k is a natural number of 2 or more) digits as a component. A feature vector is assigned - an encryption key storage unit where it is stored;
Through the certificate of authenticity processing unit, each time the proof of authenticity for the product is completed, inquiry history information consisting of information on the time when the proof of authenticity was performed for the product and location information of the terminal that requested proof of authenticity for the product A history storage processing unit that generates and stores the generated inquiry history information in a history database by matching it with the unique identification ID;
When a command requesting the provision of at least one piece of inquiry history information stored in correspondence with the unique identification ID of the history database is received from the management terminal, the at least one piece of inquiry history information stored in correspondence with the unique identification ID in the history database is received. After extracting the search history information, t random numbers composed of k-digit natural numbers are generated using a preset random number generation function, and a t-dimensional random number vector having the t random numbers as components is generated, and then the plurality of an encryption key selection unit that selects a first encryption key from among encryption keys having a feature vector with maximum vector similarity to the random number vector; and
When the first encryption key is selected, the at least one inquiry history information is encrypted with the first encryption key, and then the encrypted at least one inquiry history information and the t random numbers are transmitted to the management terminal. wealth
It further includes,
The management terminal is
When the at least one encrypted inquiry history information and the t random numbers are received from the authenticity proof service server, the t-dimensional random number vector composed of the t random numbers is generated, and then the random number vector stored in the management terminal is generated. Selecting the first encryption key having a feature vector having the maximum vector similarity with the random number vector among the plurality of encryption keys, and performing decryption of the at least one inquiry history information encrypted with the first encryption key. Features a genuine certification service server.
NFT(Non-Fungible Token)를 이용하여 상품에 대한 정품 증빙을 가능하게 하는 정품 증빙 서비스 서버의 동작 방법에 있어서,
상품 제조자의 관리 단말로부터, 상기 상품 제조자가 제조한 상품 - 상기 상품의 표면에는, 상기 상품에 대해서 사전 발급된 고유 식별 ID가 삽입되어 있는 전자 태그가 부착되어 있음 - 의 정품 증빙을 위한 NFT 발행 요청 명령이 수신되면, 상기 관리 단말로, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보를 회신할 것을 요청하는 내용이 포함된 회신 요청 메시지를 전송하는 단계;
상기 관리 단말로부터, 상기 회신 요청 메시지에 대응하여, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보가 수신되면, 상기 고유 식별 ID와 상기 상품 제조자의 정보로 구성된 데이터셋을 암호화한 후, 데이터 저장을 위한 사전 설정된 클라우드 서버에 접속하여 상기 클라우드 서버로, 상기 암호화된 데이터셋을 전송하면서, 상기 암호화된 데이터셋을 저장할 것을 요청하는 단계;
상기 클라우드 서버에서 상기 암호화된 데이터셋이 저장됨에 따라, 상기 클라우드 서버로부터, 상기 암호화된 데이터셋이 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 저장 경로에 대한 정보, 상기 고유 식별 ID, 상기 암호화된 데이터셋의 복호화를 위한 복호화 정보 및 상기 상품 제조자의 정보가 포함된 제1 NFT를 생성하는 단계; 및
상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 관리 단말로 전송하는 단계
를 포함하는 정품 증빙 서비스 서버의 동작 방법.
In the method of operating an authenticity proof service server that enables proof of authenticity for a product using a non-fungible token (NFT),
From the product manufacturer's management terminal, a request for the issuance of an NFT to prove the authenticity of a product manufactured by the product manufacturer - an electronic tag in which a unique identification ID previously issued for the product is inserted is attached to the surface of the product. When a command is received, transmitting a reply request message including a request to reply with the unique identification ID inserted in the electronic tag and information on the product manufacturer to the management terminal;
When the unique identification ID and the product manufacturer's information inserted in the electronic tag are received from the management terminal in response to the reply request message, a dataset consisting of the unique identification ID and the product manufacturer's information is encrypted. After doing so, connecting to a preset cloud server for data storage and transmitting the encrypted data set to the cloud server, requesting to store the encrypted data set;
As the encrypted dataset is stored in the cloud server, when information about the first storage path where the encrypted dataset is stored is received from the cloud server, information about the first storage path, the unique identification ID , generating a first NFT containing decryption information for decryption of the encrypted data set and information on the product manufacturer; and
When the first NFT is created, the issuance of the first NFT is completed by registering the first NFT in a preset blockchain network for registration of the NFT, and then indicating that the first NFT has been issued. Creating a publication completion message and transmitting it to the management terminal
Method of operation of the authenticity certification service server including.
제6항에 있어서,
상기 저장할 것을 요청하는 단계는
n(n은 2이상의 짝수인 자연수임)+1개의 서로 다른 해시 함수들 - 상기 n+1개의 해시 함수들 각각에는, 0이상 n이하의 정수로 구성된 서로 다른 고유 번호가 할당되어 있음 - 이 저장되어 있는 해시 함수 저장부를 유지하는 단계;
상기 관리 단말로부터, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보가 수신되면, 상기 고유 식별 ID와 상기 상품 제조자의 정보로 구성된 상기 데이터셋을 생성한 후, 상기 데이터셋의 암호화에 사용하기 위한 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 NFT를 생성하는 단계는
상기 클라우드 서버에서 상기 암호화된 데이터셋이 저장됨에 따라, 상기 클라우드 서버로부터, 상기 암호화된 데이터셋이 저장된 상기 제1 저장 경로에 대한 정보가 수신되면, 상기 인증 번호를, 상기 암호화된 데이터셋의 복호화를 위한 상기 복호화 정보로 지정한 후, 상기 제1 저장 경로에 대한 정보, 상기 고유 식별 ID, 상기 복호화 정보 및 상기 상품 제조자의 정보가 포함된 상기 제1 NFT를 생성하는 것을 특징으로 하는 정품 증빙 서비스 서버의 동작 방법.
According to clause 6,
The step of requesting to save is
n (n is a natural number greater than or equal to 2) + 1 different hash functions - each of the n + 1 hash functions is assigned a different unique number consisting of an integer between 0 and n - this storage maintaining a hash function storage unit;
When the unique identification ID and the product manufacturer's information inserted in the electronic tag are received from the management terminal, the data set consisting of the unique identification ID and the product manufacturer's information is generated, and then the data set is generated. Randomly generating an n-digit authentication number for use in encryption;
When the authentication number is generated, the authentication number is divided into a first partial number of n/2 digits at the front end and a second partial number of n/2 digits at the rear end based on the central axis, and then the first partial number is A first partial code of n/2 bits is generated by performing a modulo-2 operation on each of the n/2 numbers constituting the n/2 numbers, and each of the n/2 numbers constituting the second partial number. Generating a second partial code of n/2 bits by performing a modulo-2 operation on , and then generating an operation code of n/2 bits by exclusive ORing the first partial code and the second partial code. ;
The sum of Hamming weights for each of the first partial code and the second partial code is calculated, and a first hash function in which the sum of the Hamming weights is assigned as a unique number is generated from the hash function storage unit. Extracting step; and
Applying the operation code as an input to the first hash function generates a first hash value, encrypts the dataset with the first hash value, and then connects to the cloud server and sends the encrypted data to the cloud server. Requesting to store the encrypted dataset while transmitting the dataset
Including,
The step of generating the first NFT is
As the encrypted data set is stored in the cloud server, when information about the first storage path where the encrypted data set is stored is received from the cloud server, the authentication number is used to decrypt the encrypted data set. After specifying the decryption information for, the authenticity proof service server characterized in that it generates the first NFT containing information about the first storage path, the unique identification ID, the decryption information, and the information of the product manufacturer. How it works.
제7항에 있어서,
상기 제1 NFT에 대한 발행이 완료된 이후에, 상기 상품을 입수한 사용자의 전자 단말로부터 상기 상품에 대한 정품 증빙 요청 명령이 수신되면, 상기 전자 단말로, 상기 상품의 표면에 부착되어 있는 상기 전자 태그를 인식시킬 것을 지시하는 내용이 포함된 지시 메시지를 전송하는 단계;
상기 지시 메시지가 상기 전자 단말로 전송된 이후, 상기 사용자가 상기 전자 단말에 탑재된 태그 리더(reader)를 이용하여 상기 상품의 표면에 부착되어 있는 상기 전자 태그를 인식시킴에 따라, 상기 전자 단말로부터, 상기 전자 태그에 삽입되어 있는 상기 고유 식별 ID가 수신되면, 상기 고유 식별 ID를 기초로 상기 블록체인 네트워크로부터, NFT 내에 상기 고유 식별 ID를 포함하고 있는 상기 제1 NFT를 검색하는 단계;
상기 제1 NFT가 검색되면, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인한 후, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 서버에 접속하여 상기 암호화된 데이터셋을 획득하는 단계;
상기 암호화된 데이터셋이 획득되면, 상기 제1 NFT에 포함되어 있는 상기 복호화 정보를 이용하여 상기 암호화된 데이터셋을 복호화한 후, 상기 복호화된 데이터셋을 구성하는 상기 고유 식별 ID와 상기 상품 제조자의 정보를 확인하는 단계; 및
상기 복호화된 데이터셋을 구성하는 상기 고유 식별 ID와 상기 상품 제조자의 정보가, 상기 제1 NFT에 포함되어 있는 상기 고유 식별 ID와 상기 상품 제조자의 정보와 모두 일치하는지 확인한 후, 모두 일치하는 것으로 확인되면, 상기 전자 단말로, 상기 상품 제조자의 정보를 전송하면서, 상기 상품이, 상기 상품 제조자에 의해 제조된 정품 상품이 맞음을 지시하는 내용이 포함된 정품 증빙 메시지를 전송하는 단계
를 더 포함하는 정품 증빙 서비스 서버의 동작 방법.
In clause 7,
After the issuance of the first NFT is completed, when a command to request proof of authenticity for the product is received from the electronic terminal of the user who acquired the product, the electronic tag attached to the surface of the product is sent to the electronic terminal. transmitting an instruction message containing instructions to recognize;
After the instruction message is transmitted to the electronic terminal, as the user recognizes the electronic tag attached to the surface of the product using a tag reader mounted on the electronic terminal, the electronic terminal , upon receiving the unique identification ID inserted in the electronic tag, searching for the first NFT containing the unique identification ID within the NFT from the blockchain network based on the unique identification ID;
When the first NFT is searched, the information about the first storage path included in the first NFT is checked, and then, based on the information about the first storage path, the cloud server is accessed to collect the encrypted data. Acquiring three;
When the encrypted data set is obtained, the encrypted data set is decrypted using the decryption information included in the first NFT, and then the unique identification ID constituting the decrypted data set and the product manufacturer's Verifying information; and
After confirming whether the unique identification ID and the product manufacturer's information constituting the decrypted data set match the unique identification ID and the product manufacturer's information included in the first NFT, it is confirmed that they all match. When doing so, transmitting the product manufacturer's information to the electronic terminal and transmitting a certificate of authenticity message containing content indicating that the product is a genuine product manufactured by the product manufacturer.
A method of operating a certificate of authenticity service server further comprising:
제8항에 있어서,
상기 정보를 확인하는 단계는
상기 암호화된 데이터셋이 획득되면, 상기 제1 NFT에 포함되어 있는 상기 복호화 정보인 상기 인증 번호를 확인하는 단계;
상기 인증 번호가 확인되면, 상기 인증 번호를, 중심축을 기준으로 전단의 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 해시 값으로 상기 암호화된 데이터셋을 복호화하는 단계; 및
상기 암호화된 데이터셋에 대한 복호화가 완료되면, 상기 복호화된 데이터셋으로부터, 상기 복호화된 데이터셋을 구성하는 상기 고유 식별 ID와 상기 상품 제조자의 정보를 확인하는 단계
를 포함하는 정품 증빙 서비스 서버의 동작 방법.
According to clause 8,
The steps to check the above information are
When the encrypted data set is obtained, confirming the authentication number, which is the decryption information included in the first NFT;
When the authentication number is confirmed, the authentication number is divided into the n/2-digit first part number at the front end and the second n/2-digit second part number at the back end based on the central axis, and then the first part Generate the first partial code of n/2 bits by performing a modulo-2 operation on each of the n/2 numbers constituting the number, and each of the n/2 numbers constituting the second partial number. After generating the second partial code of n/2 bits by performing a modulo-2 operation on steps;
After calculating the sum of the Hamming weights for each of the first partial code and the second partial code, and extracting from the hash function storage the first hash function to which the sum of the Hamming weights is assigned as a unique number, Restoring the first hash value by applying the operation code as an input to the first hash function, and decrypting the encrypted data set with the first hash value; and
When decryption of the encrypted data set is completed, confirming the unique identification ID and the product manufacturer's information constituting the decrypted data set from the decrypted data set.
Method of operation of the authenticity certification service server including.
제8항에 있어서,
상기 관리 단말과 사전 공유하고 있는, 복수의 암호화키들 - 상기 복수의 암호화키들 각각에는 k(k는 2이상의 자연수임)자릿수의 자연수를 성분으로 갖는 t(t는 2이상의 자연수임)차원의 서로 다른 특징 벡터가 할당되어 있음 - 이 저장되어 있는 암호화키 저장부를 유지하는 단계;
상기 정품 증빙 메시지를 전송하는 단계를 통해, 상기 상품에 대한 정품 증빙이 수행 완료될 때마다, 상기 상품에 대한 정품 증빙이 수행되었던 시간 정보와 상기 상품에 대한 정품 증빙을 요청하였던 단말의 위치 정보로 구성된 조회 이력 정보를 생성하여, 생성된 조회 이력 정보를, 상기 고유 식별 ID와 대응시켜 이력 데이터베이스 상에 저장하는 단계;
상기 관리 단말로부터, 상기 이력 데이터베이스의 상기 고유 식별 ID에 대응되어 저장되어 있는 적어도 하나의 조회 이력 정보의 제공 요청 명령이 수신되면, 상기 이력 데이터베이스로부터 상기 고유 식별 ID에 대응되어 저장되어 있는 상기 적어도 하나의 조회 이력 정보를 추출한 후, 사전 설정된 난수 생성 함수를 이용하여 k자릿수의 자연수로 구성된 t개의 난수들을 생성하고, 상기 t개의 난수들을 성분으로 갖는 t차원의 난수 벡터를 생성한 후, 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 제1 암호화키를 선택하는 단계; 및
상기 제1 암호화키가 선택되면, 상기 제1 암호화키로 상기 적어도 하나의 조회 이력 정보를 암호화한 후, 상기 암호화된 적어도 하나의 조회 이력 정보와 상기 t개의 난수들을 상기 관리 단말로 전송하는 단계
를 더 포함하고,
상기 관리 단말은
상기 정품 증빙 서비스 서버로부터, 상기 암호화된 적어도 하나의 조회 이력 정보와 상기 t개의 난수들이 수신되면, 상기 t개의 난수들로 구성된 t차원의 상기 난수 벡터를 생성한 후, 상기 관리 단말에 저장되어 있는 상기 복수의 암호화키들 중에서 상기 난수 벡터와의 벡터 유사도가 최대인 특징 벡터를 갖는 상기 제1 암호화키를 선택하여, 상기 제1 암호화키로 상기 암호화된 적어도 하나의 조회 이력 정보에 대한 복호화를 수행하는 것을 특징으로 하는 정품 증빙 서비스 서버의 동작 방법.
According to clause 8,
A plurality of encryption keys that are pre-shared with the management terminal - each of the plurality of encryption keys has a different key in dimension t (t is a natural number of 2 or more) having a natural number of k (k is a natural number of 2 or more) digits as a component. A feature vector is assigned - maintaining an encryption key storage in which this is stored;
Through the step of transmitting the certificate of authenticity message, each time the proof of authenticity for the product is completed, information on the time when the proof of authenticity for the product was performed and location information of the terminal that requested proof of authenticity for the product Generating configured inquiry history information and storing the generated inquiry history information in a history database in correspondence with the unique identification ID;
When a command requesting the provision of at least one piece of inquiry history information stored in correspondence with the unique identification ID of the history database is received from the management terminal, the at least one piece of inquiry history information stored in correspondence with the unique identification ID in the history database is received. After extracting the search history information, t random numbers composed of k-digit natural numbers are generated using a preset random number generation function, and a t-dimensional random number vector having the t random numbers as components is generated, and then the plurality of Selecting a first encryption key from among encryption keys having a feature vector with maximum vector similarity to the random number vector; and
When the first encryption key is selected, encrypting the at least one inquiry history information with the first encryption key, and then transmitting the encrypted at least one inquiry history information and the t random numbers to the management terminal.
It further includes,
The management terminal is
When the at least one encrypted inquiry history information and the t random numbers are received from the authenticity proof service server, the t-dimensional random number vector composed of the t random numbers is generated, and then the random number vector stored in the management terminal is generated. Selecting the first encryption key having a feature vector having the maximum vector similarity with the random number vector among the plurality of encryption keys, and performing decryption of the at least one inquiry history information encrypted with the first encryption key. Features of the operation method of the authenticity certification service server.
제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 6 to 10 through combination with a computer. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6 to 10 through combination with a computer.
KR1020220047386A 2022-04-18 2022-04-18 Proof of authenticity service server that enables proof of authenticity of products using nft and operating method thereof KR20230148542A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220047386A KR20230148542A (en) 2022-04-18 2022-04-18 Proof of authenticity service server that enables proof of authenticity of products using nft and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220047386A KR20230148542A (en) 2022-04-18 2022-04-18 Proof of authenticity service server that enables proof of authenticity of products using nft and operating method thereof

Publications (1)

Publication Number Publication Date
KR20230148542A true KR20230148542A (en) 2023-10-25

Family

ID=88515747

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220047386A KR20230148542A (en) 2022-04-18 2022-04-18 Proof of authenticity service server that enables proof of authenticity of products using nft and operating method thereof

Country Status (1)

Country Link
KR (1) KR20230148542A (en)

Similar Documents

Publication Publication Date Title
US9740849B2 (en) Registration and authentication of computing devices using a digital skeleton key
JP6180177B2 (en) Encrypted data inquiry method and system capable of protecting privacy
US20170262546A1 (en) Key search token for encrypted data
CN111444479B (en) Digital fingerprint ownership verification method and system
JP6653246B2 (en) Computer system and data management method
KR102250430B1 (en) Method for using service with one time id based on pki, and user terminal using the same
KR102407699B1 (en) Device, method and program for providing electronic document management service through authentication of biometric information
JP4594078B2 (en) Personal information management system and personal information management program
CN116975886A (en) Data query method and device based on privacy protection
KR20230148542A (en) Proof of authenticity service server that enables proof of authenticity of products using nft and operating method thereof
JP7024709B2 (en) Cryptographic information collation device, cryptographic information collation method, and cryptographic information collation program
US20170270473A1 (en) Systems and methods for securely searching and exchanging database relationships between registered inventory
CN110858803B (en) Authentication method, system, server, and computer-readable storage medium
KR20230147847A (en) Service providing server that provides nft issuance service for proof of ownership of e-book data and operating method thereof
CN112884474A (en) Block chain wallet mnemonic word generating and importing method, system and terminal
KR102675877B1 (en) Document providing server capable of providing an electronic document with a two-dimensional code inserted to verify that it is an authentic document and operating method thereof
KR102526406B1 (en) Access management system apparatus which manages access to the original contents data, which is to be a subject to an nft, and the operating method thereof
KR102658134B1 (en) Electronic document management server that performs database processing for electronic document based on identification tag and operating method thereof
KR20240033455A (en) Non-fungible token transfer issuance service server that provides non-fungible token transfer issuance service between blockchains and the operating method thereof
KR102694766B1 (en) Document management service server for managing document files based on location information, and the operating method thereof
KR102636695B1 (en) Real estate brokerage management server that processes electronic contracts for online real estate transactions and operating method thereof
KR20230078119A (en) Nft management system apparatus which is able to encrypt and manage the original contents data, which is to be a subject to an nft, and the operating method thereof
WO2024157662A1 (en) Message presentation system and message presentation method
CN113868441A (en) File processing method, electronic device and storage medium
KR20240038315A (en) Document form providing server which is able to perform forgery prevention processing for an electronic document, and the operating method thereof

Legal Events

Date Code Title Description
E902 Notification of reason for refusal