KR101925463B1 - Method of record and validation of image hash value and apparatus using the same - Google Patents

Method of record and validation of image hash value and apparatus using the same Download PDF

Info

Publication number
KR101925463B1
KR101925463B1 KR1020170180406A KR20170180406A KR101925463B1 KR 101925463 B1 KR101925463 B1 KR 101925463B1 KR 1020170180406 A KR1020170180406 A KR 1020170180406A KR 20170180406 A KR20170180406 A KR 20170180406A KR 101925463 B1 KR101925463 B1 KR 101925463B1
Authority
KR
South Korea
Prior art keywords
image
hash value
registration
value
specific
Prior art date
Application number
KR1020170180406A
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 KR1020170180406A priority Critical patent/KR101925463B1/en
Application granted granted Critical
Publication of KR101925463B1 publication Critical patent/KR101925463B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • G06F17/30097
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to a method for recording a hash value of an image and comparing a hash value with a prerecorded hash value to verify whether a hash value is valid, and an apparatus using the same. More specifically, when a verification request for a specific image is obtained, a server verifying a hash value of an image according to the present invention uses a hash function invariant or resistant to at least one transformation applied to the specific image and refers a value based on a hash value of a first image calculated from the specific image and a value recorded in a predetermined distribution database to support or verify the specific image.

Description

영상 해시값 등록 및 검증 방법, 및 이를 이용한 장치{METHOD OF RECORD AND VALIDATION OF IMAGE HASH VALUE AND APPARATUS USING THE SAME}Technical Field [0001] The present invention relates to a method and apparatus for registering and verifying image hash values,

본 발명은 영상의 해시값을 등록하는 방법과 그 해시값이 기 등록된 해시값과 비교하여 유효한지 여부를 검증하는 방법 및 이를 이용한 장치에 관한 것이다. 구체적으로, 본 발명에 따른 영상 해시값 검증 서버는, 특정 영상에 대한 검증 요청이 획득되면, 상기 특정 영상에 적용되는 적어도 하나의 변형에 대하여 불변(invariant)이거나 저항성(resistant to)이 있는 해시 함수를 이용하여 상기 특정 영상으로부터 산출된 제1 영상 해시값에 기초한 값 및 소정의 분산 데이터베이스에 등록된 값을 참조로 하여 상기 특정 영상에 대한 검증을 수행하거나 수행하도록 지원한다.The present invention relates to a method of registering a hash value of an image and a method of verifying whether the hash value is valid by comparing the hash value with the previously registered hash value, and an apparatus using the method. Specifically, the image hash value verification server according to the present invention is characterized in that when a verification request for a specific image is obtained, a hash function having invariant or resistant to at least one transformation applied to the specific image, And performs verification or execution of the specific image with reference to a value based on the first image hash value calculated from the specific image and a value registered in the predetermined distribution database.

네트워크 기술의 발달로 인하여 다양한 영상들이 네트워크 상에서 송수신되고 있다. 그런데, 이러한 영상은 종종 쉽게 위변조되어 그 가치가 훼손되는 일이 비일비재한데, 영상의 진위 여부나 품질 고하가 매우 중요한 분야에서는 그러한 위변조를 방지하는 것이 중요한 문제가 된다.Due to the development of network technology, various images are transmitted and received on the network. However, such images are often easily forged and damaged in value, and it is important to prevent such forgery and falsification in areas where image authenticity or quality is very important.

예를 들어, 영상으로 된 전자화 계약서나 의료 영상에 있어서는 법률관계의 존부와 그 내용, 환자의 목숨이 좌우될 정도로 그 진실성과 품질이 중요하게 다뤄질 수 있다. 특히 2016년 5월 29일 개정 대한민국 형사소송법의 제313조 등에 따르면, 정보저장매체에 저장된 문자, 사진, 영상 등의 정보도 진술서로서의 효력이 인정될 수 있으며, 심지어 진술서의 작성자가 그 진술서의 성립을 부인하는 경우에도 과학적 분석결과에 기초한 디지털포렌식 자료, 감정 등 객관적 방법으로 성립의 진정함이 증명되는 때에는 증거로 할 수 있게 되었다.For example, in electronic contracts and medical images with images, the truthfulness and quality can be dealt with as important as the existence and content of legal relations, and the lives of patients. In particular, Article 313 of the Criminal Procedure Law of the Republic of Korea, amended on May 29, 2016, allows the information such as letters, photographs and images stored in the information storage medium to be accepted as a statement, and even if the writer of the statement Even if they deny it, they can be used as evidence when the authenticity of the establishment is proved by objective methods such as digital forensic data and emotion based on scientific analysis results.

다만, 종래에 문서의 내용과 관련하여는 블록체인을 활용하여 그 위변조를 방지하는 기술이 존재했다. 예를 들어 대한민국 등록특허공보 제10-1735708호를 참조하면, 파일의 해시값을 블록체인 데이터베이스에 올려, 그 파일 내용 자체의 위변조를 방지하는 기술이 개시되어 있다.However, conventionally, there has been a technique for preventing forgery and falsification by using a block chain in relation to the content of a document. For example, referring to Korean Patent Registration No. 10-1735708, there is disclosed a technique of putting a hash value of a file on a block chain database to prevent forgery and falsification of the file content itself.

그런데, 이 종래 기술에 따르면 영상으로 된 데이터의 경우에 이와 같은 종래 기술을 그대로 적용하면 영상의 크기 조절(resizing), 포맷 변환은 영상의 본질적인 내용을 바꾸는 것이 아님에도 불구하고 위변조된 것으로 판정하는 단점이 있다.However, according to this conventional technology, if such conventional technology as described above is applied to the image data, resizing and format conversion of the image do not change the intrinsic contents of the image but are determined to be forged .

따라서 본 발명에서는 이러한 종래 기술의 단점을 극복하고 영상 포맷 변환(image format conversion), 압축(compression), 회전, 확대, 축소 및 블러링(blurring) 등의 변화에 무관하게 영상의 위변조를 가려낼 수 있는 영상의 해시값 등록 및 검증 방법, 및 이를 이용한 장치를 제안하고자 한다.Therefore, the present invention overcomes the disadvantages of the prior art and can overcome the forgery and falsification of the image irrespective of changes such as image format conversion, compression, rotation, enlargement, reduction, and blurring A method of registering and verifying a hash value of an image, and a device using the method.

KRKR 10-173570810-1735708 BB

YuLing LIU, Yong XIAO. A Robust Image Hashing Algorithm Resistant Against Geometrical Attacks YuLing LIU, Yong XIAO. A Robust Image Hashing Algorithm Resistant Against Geometrical Attacks Leemon Baird, The Swirlds Hashgraph Consensus Algorithm: Fair, Fast, Byzantine Fault Tolerance, May 31, 2016 Leemon Baird, The Swirlds Hashgraph Consensus Algorithm: Fair, Fast, Byzantine Fault Tolerance, May 31, 2016

본 발명은 합의 알고리즘(consensus algorithm)에 기반한 분산(decentralized) 데이터베이스에 영상의 해시값을 기록하여 그 영상의 등록 및 검증을 수행할 수 있는 방법을 제공함으로써 법률적으로 효력 있고, 수학적으로도 검증 가능한 방식으로 영상의 위변조를 방지하는 것을 목적으로 한다.The present invention provides a method of recording a hash value of an image in a decentralized database based on a consensus algorithm to perform registration and verification of the image, thereby making it legally effective and mathematically verifiable And to prevent the forgery and falsification of the image.

또한, 본 발명은 영상에 대한 몇몇 변경을 허용함으로써 영상의 본질적 내용이 바뀌지 않았음에도 사소한 변화에 위변조된 것으로 판정하는 문제점을 해결함으로써 그 영상의 제공 주체가 다양한 형태{모드(mode), 포맷(format), 해상도(resolution) 등}로 그 영상을 제공할 수 있는 편의를 제공하는 것을 목적으로 한다.In addition, the present invention solves the problem of determining that a minor change is perceived to be falsified even though the intrinsic content of the image has not changed by allowing some changes to the image, thereby providing various types of modes (mode, format ), Resolution (resolution), and the like).

이와 같이 본 발명은 합의 알고리즘 기술을 이용하여 계약서의 스캔본, 의료 영상 등 다양한 종류의 영상에 대하여 위변조를 방지함으로써 영상을 주고받는 당사자들 간의 신뢰를 유지할 수 있는 암호학적 입증 방법을 제시하는 것을 목적으로 한다.As described above, the present invention aims to provide a cryptographic authentication method capable of maintaining trust between parties exchanging images by preventing forgery and falsification of various types of images such as scanned images and medical images of agreements using agreement algorithm technology .

상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.The characteristic configuration of the present invention for achieving the object of the present invention as described above and realizing the characteristic effects of the present invention described below is as follows.

본 발명의 일 태양에 따르면, 영상 해시값 등록 방법이 제공되는바, 그 방법에 따르면, 특정 영상에 대한 등록 요청이 획득되면, 서버가, 상기 특정 영상에 적용되는 적어도 하나의 변형에 대하여 불변(invariant)이거나 저항성(resistant to)이 있는 해시 함수를 이용하여 상기 특정 영상으로부터 산출된 영상 해시값에 기초한 값을 소정의 분산 데이터베이스에 등록하거나 등록하도록 지원한다.According to one aspect of the present invention, there is provided a method of registering a hash value, wherein, when a registration request for a particular image is obtained, the server generates a hash value for the at least one transformation applied to the particular image, invariant or resistant to a hash function to register or register a value based on the image hash value calculated from the specific image in a predetermined distribution database.

본 발명의 다른 태양에 따르면, 영상 해시값 검증 방법이 제공되는바, 그 방법에 따르면, 특정 영상에 대한 검증 요청이 획득되면, 서버가, 상기 특정 영상에 적용되는 적어도 하나의 변형에 대하여 불변(invariant)이거나 저항성(resistant to)이 있는 해시 함수를 이용하여 상기 특정 영상으로부터 산출된 제1 영상 해시값에 기초한 값 및 소정의 분산 데이터베이스에 등록된 값을 참조로 하여 상기 특정 영상에 대한 검증을 수행하거나 수행하도록 지원한다.According to another aspect of the present invention, there is provided a method of verifying a hash value of a video, the method comprising: when a verification request for a particular image is obtained, invariant or resistant to a hash function to perform verification of the specific image with reference to a value based on a first image hash value calculated from the specific image and a value registered in a predetermined distribution database .

본 발명의 또 다른 태양에 따르면, 전술한 방법들을 수행하도록 구현된 명령어(instructions)를 포함하는, 기계 판독 가능한 비일시적 기록 매체에 저장된, 컴퓨터 프로그램도 제공된다.According to another aspect of the present invention, there is also provided a computer program stored in a machine-readable non-transitory medium, including instructions embodied to perform the methods described above.

또한, 본 발명의 다른 일 태양에 따르면, 전술한 방법들을 수행하는 컴퓨팅 장치인 영상 해시값 등록 서버 및 영상 해시값 검증 서버도 제공된다.According to another aspect of the present invention, there is provided a video hash value registration server and a video hash value validation server which are computing devices that perform the above-described methods.

본 발명에 의하면, 합의 알고리즘에 기반한 분산 데이터베이스에 영상에 관한 해시값이 기록되어 영상의 위변조가 방지되는 효과가 있다.According to the present invention, a hash value related to an image is recorded in a distributed database based on a consensus algorithm to prevent forgery and falsification of an image.

또한, 본 발명에 의하면, 영상의 본질적 내용이 바뀌지 않는 몇몇 변경에도 불구하고 그 영상의 해시값이 불변이거나 크게 변하지 않는 저항성이 있으므로 그 영상의 제공 주체가 다양한 형태{모드(mode), 포맷(format), 해상도(resolution) 등} 로 그 영상을 제공할 수 있는 편의의 효과가 있다.In addition, according to the present invention, since the hash value of the image is invariant or does not greatly change despite some changes in which the intrinsic content of the image does not change, the providing subject of the image has various modes (mode, format ), Resolution (resolution), and the like).

그리고 본 발명에 의하면, 다양한 종류의 영상에 대하여 위변조를 방지함으로써 영상을 주고받는 당사자들 간에 해당 영상에 대한 신뢰가 유지될 수 있는 효과가 있다.According to the present invention, it is possible to maintain trust in a corresponding image among parties who exchange images by preventing forgery and falsification of various kinds of images.

합의 알고리즘에 기반한 분산 데이터베이스에 접근 가능한 컴퓨팅 장치라면 무엇이든 본 발명의 효과를 향유할 수 있으므로, 본 발명의 방법이 특정 운영체제(operating system) 등의 플랫폼에 종속되지 않음은 물론이다.Of course, any computing device capable of accessing a distributed database based on a consensus algorithm may enjoy the effects of the present invention, so that the method of the present invention is not dependent on a platform, such as a particular operating system.

본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야의 통상의 기술자에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명에 따른 영상 해시값 등록 방법 및 영상 해시값 검증 방법을 수행하는 서버의 예시적 구성을 개략적으로 도시한 개념도이다.
도 2는 본 발명에 따른 영상 해시값 등록 방법 및 영상 해시값 검증 방법을 수행하는 서버의 하드웨어 또는 소프트웨어 구성요소를 도시한 예시적 블록도이다.
도 3은 본 발명에 따른 영상 해시값 등록 방법의 일 실시예를 나타낸 흐름도이다.
도 4는 본 발명에 따른 영상 해시값 검증 방법의 일 실시예를 나타낸 흐름도이다.
도 5는 본 발명의 따른 영상 해시값 검증 방법에 있어서 해시값의 비교를 통하여 특정 영상과 비교 대상 영상 간의 동일성을 검증하는 단계를 더 구체화한 실시예를 나타낸 흐름도이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiments of the invention and, Other drawings can be obtained.
FIG. 1 is a conceptual diagram schematically illustrating an exemplary configuration of a server for performing a method of image hash value registration and a method of image hash value verification according to the present invention.
FIG. 2 is an exemplary block diagram illustrating a hardware or software component of a server performing a method of image hash value registration and a method of image hash value verification according to the present invention.
FIG. 3 is a flowchart illustrating an image hash value registration method according to an embodiment of the present invention.
4 is a flowchart illustrating an image hash value verification method according to an embodiment of the present invention.
FIG. 5 is a flowchart illustrating an embodiment of verifying the identity between a specific image and a comparison object through comparison of hash values in the method of verifying the image hash value according to the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of example, specific embodiments in which the invention may be practiced in order to clarify the objects, technical solutions and advantages of the invention. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention.

본 발명의 상세한 설명 및 청구항들에 걸쳐 이용된 "영상" 또는 "영상 데이터"라는 용어는 이산적 영상 요소들(예컨대, 2차원 영상에 있어서는 픽셀, 3차원 영상에 있어서는 복셀)로 구성된 다차원 데이터를 지칭한다.The term "image" or "image data" used throughout the description and claims of the present invention refers to multidimensional data composed of discrete image elements (e.g., pixels in a two-dimensional image and voxels in a three- Quot;

그리고 본 발명의 상세한 설명 및 청구항들에 걸쳐, '포함하다'라는 단어 및 그 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 또한, ‘하나’ 또는 ‘한’은 하나 이상의 의미로 쓰인 것이며, ‘또 다른’은 적어도 두 번째 이상으로 한정된다.And throughout the description and claims of this invention, the word 'comprise' and variations thereof are not intended to exclude other technical features, additions, elements or steps. Also, 'one' or 'one' is used in more than one meaning, and 'another' is limited to at least the second.

또한 본 발명의 상세한 설명 및 청구항들에 걸쳐 이용된 A“에 기초한 값”이라는 표현은, (i) A 자체, (ii) A를 포함하는 값, 또는 (iii) 상기 (i) 또는 (ii)로부터 가공된 값을 지칭한다.The expression " value based on A " used throughout the description and claims of the present invention also encompasses the values of (i) A itself, (ii) a value comprising A, or (iii) ≪ / RTI >

통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다. 따라서, 특정 구조나 기능에 관하여 본 명세서에 개시된 상세 사항들은 한정하는 의미로 해석되어서는 아니되고, 단지 통상의 기술자가 실질적으로 적합한 임의의 상세 구조들로써 본 발명을 다양하게 실시하도록 지침을 제공하는 대표적인 기초 자료로 해석되어야 할 것이다.Other objects, advantages and features of the present invention will become apparent to those skilled in the art from this description, and in part from the practice of the invention. The following examples and figures are provided by way of illustration and are not intended to limit the invention. Accordingly, the details disclosed herein with respect to a particular structure or function are not to be construed in a limiting sense, but merely as being representative of the general inventive concept providing a guideline for carrying out the invention in various detail structures, It should be interpreted as basic data.

더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 사상 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 사상 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. Moreover, the present invention encompasses all possible combinations of embodiments shown herein. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with one embodiment. It should also be understood that the position or arrangement of individual components within each disclosed embodiment may be varied without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is to be limited only by the appended claims, along with the full scope of equivalents to which such claims are entitled, if properly explained. In the drawings, like reference numerals refer to the same or similar functions throughout the several views.

본 명세서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Unless otherwise indicated herein or clearly contradicted by context, items referred to in the singular are intended to encompass a plurality unless otherwise specified in the context. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

이제 각 실시예에 대한 설명을 위하여 본 명세서에서 사용되는 표현식을 다음과 같이 정의한다. ‘:’의 왼쪽은 표현식을 나타내며, 오른쪽의 표현식의 정의를 나타낸다.Now, for the sake of explanation of each embodiment, the expression used in this specification is defined as follows. The left side of ':' represents the expression, and the definition of the expression on the right.

PrivX: X의 개인키(private key)PrivX: X's private key

PubX: X의 공개키(public key)PubX: public key of X

SigPrivX(Y): PrivX를 이용하여 Y를 ECDSA 또는 RSA 서명한 출력값SigPrivX (Y): Output value of Y signed by ECDSA or RSA using PrivX

VerPubX(Y): PubX를 이용한 SigPrivX(Y) 검증의 출력값(참 또는 거짓)VerPubX (Y): Output value of SigPrivX (Y) verification using PubX (true or false)

EncPrivX(Y): PrivX를 이용하여 Y의 ECC 또는 RSA 인코딩(암호화)한 출력값EncPrivX (Y): Output value of Y's ECC or RSA encoding (encryption) using PrivX

DecPubX(Y): PubX를 이용하여 Y의 ECC 또는 RSA 디코딩(복호화)한 출력값DecPubX (Y): Output value of Y's ECC or RSA decoding (decoded) using PubX

Hash1(Y): 제1 해시 함수의 Y에 대한 출력값Hash 1 (Y): Output value of Y of the first hash function

Hash2(Y): 제2 해시 함수의 Y에 대한 출력값, 예컨대 triple_SHA256(Y)Hash 2 (Y): output value of Y of the second hash function, e.g., triple_SHA 256 (Y)

이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily carry out the present invention.

도 1은 본 발명에 따른 영상 해시값 등록 방법 및 영상 해시값 검증 방법을 수행하는 서버의 예시적 구성을 개략적으로 도시한 개념도이다.FIG. 1 is a conceptual diagram schematically illustrating an exemplary configuration of a server for performing a method of image hash value registration and a method of image hash value verification according to the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 컴퓨팅 장치인 서버(100)는, 통신부(110) 및 프로세서(120)를 포함하며, 상기 통신부(110)를 통하여 외부 컴퓨팅 장치(미도시)와 직간접적으로 통신할 수 있다.1, a server 100 which is a computing device according to an embodiment of the present invention includes a communication unit 110 and a processor 120. The communication unit 110 communicates with an external computing device (not shown) Or directly or indirectly.

구체적으로, 상기 서버(100)는, 전형적인 컴퓨터 하드웨어(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS; network-attached storage) 및 스토리지 영역 네트워크(SAN; storage area network)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 명령어들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.In particular, the server 100 may be implemented as a computer-readable storage medium, such as a computer, a processor, a memory, a storage, an input and output device, an apparatus that may include components of an existing computing device, Communication devices, electronic information storage systems such as network-attached storage (NAS) and storage area networks (SAN), and computer software (i. E., Instructions that cause a computing device to function in a particular manner May be used to achieve the desired system performance.

이와 같은 서버의 통신부(110)는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는바, 일 예시로서 그러한 요청과 응답은 동일한 TCP(transmission control protocol) 세션(session)에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP(user datagram protocol) 데이터그램(datagram)으로서 송수신될 수도 있을 것이다. 덧붙여, 넓은 의미에서 상기 통신부(110)는 명령어 또는 지시 등을 전달받기 위한 키보드, 마우스, 기타 외부 입력장치, 프린터, 디스플레이, 기타 외부 출력장치를 포함할 수 있다.The communication unit 110 of the server can transmit and receive requests and responses to and from other interworking computing devices. For example, such requests and responses can be made by the same transmission control protocol (TCP) session, But not limited to, a user datagram protocol (UDP) datagram, for example. In addition, in a broad sense, the communication unit 110 may include a keyboard, a mouse, an external input device, a printer, a display, and other external output devices for receiving commands or instructions.

또한, 서버의 프로세서(120)는 MPU(micro processing unit), CPU(central processing unit), GPU(graphics processing unit) 또는 TPU(tensor processing unit), 캐시 메모리(cache memory), 데이터 버스(data bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.The processor 120 of the server may be a micro processing unit (MPU), a central processing unit (CPU), a graphics processing unit (GPU) or a tensor processing unit (TPU), a cache memory, a data bus, And the like. It may further include a software configuration of an operating system and an application that performs a specific purpose.

도 2는 본 발명에 따른 영상 해시값 등록 방법 및 영상 해시값 검증 방법을 수행하는 서버의 하드웨어 또는 소프트웨어 구성요소를 도시한 예시적 블록도이다.FIG. 2 is an exemplary block diagram illustrating a hardware or software component of a server performing a method of image hash value registration and a method of image hash value verification according to the present invention.

도 2를 참조하여 본 발명에 따른 방법 및 장치의 구성을 개관하면, 서버(100)는 그 일 구성요소로서 영상 획득 모듈(210)을 포함할 수 있다. 이와 같은 영상 획득 모듈(210)은 상기 서버(100)에 포함된 통신부(110), 또는 상기 통신부(110) 및 프로세서(120)의 연동에 의하여 구현될 수 있음은 통상의 기술자가 이해할 수 있을 것이다.2, the server 100 may include an image acquisition module 210 as a component of the method and apparatus according to the present invention. It will be understood by those skilled in the art that the image acquisition module 210 may be implemented by the communication unit 110 included in the server 100 or the interworking of the communication unit 110 and the processor 120 .

도 2를 참조하면, 영상 획득 모듈(210)은, 특정 영상에 대한 등록 요청 또는 검증 요청을 획득할 수 있는데, 그 특정 영상의 등록 또는 검증을 위하여 그 특정 영상의 데이터가 아울러 획득된다. Referring to FIG. 2, the image acquisition module 210 may acquire a registration request or a verification request for a specific image, and data of the specific image may be acquired for registration or verification of the specific image.

다음으로, 특정 영상의 데이터는, 상기 획득된 요청에 따라 제1 해싱 모듈(220)에 전달될 수 있는데, 상기 프로세서(120)에 의하여 구현될 수 있는 제1 해싱 모듈(220)은, 해시 함수를 이용하여 상기 특정 영상의 영상 해시값을 생성할 수 있다. 여기에서 이용되는 해시 함수는 상기 특정 영상에 적용될 수 있는 적어도 하나의 변형에 대하여 불변(invariant)이거나 저항성(resistant to)이 있는 것이 특징이다. 달리 말하자면, 상기 적어도 하나의 변형이 상기 특정 영상에 적용되더라도 상기 특정 영상의 영상 해시값이 변화되지 않거나 그 변화의 정도가 미미하다. 예를 들어, 이 변화의 정도는 해시값 사이의 거리, 예컨대 해밍 거리(Hamming distance)로 측정될 수 있다. 여기에서 적어도 하나의 변형이란, 영상 포맷 변환(image format conversion), 압축(compression), 회전, 확대, 축소 및 블러링(blurring)일 수 있다.The first hashing module 220, which may be implemented by the processor 120, may include a hash function 220, a hash function 220, The image hash value of the specific image can be generated. The hash function used here is characterized by being invariant or resistant to at least one transformation that can be applied to the particular image. In other words, even if the at least one modification is applied to the specific image, the image hash value of the specific image is not changed or the degree of the change is insignificant. For example, the degree of this change can be measured by a distance between hash values, such as a Hamming distance. Here, at least one modification may be image format conversion, compression, rotation, enlargement, reduction, and blurring.

그 다음, 생성된 영상 해시값은, 제2 해싱 모듈(230)에 전달될 수 있는데, 상기 프로세서(120)에 의하여 구현될 수 있는 제2 해싱 모듈(230)은, 제2 해시 함수를 이용하여 영상 해시값 및 상기 영상의 등록을 요청한 특정 사용자의 고유 식별 정보를 포함하는 영상 식별 정보의 적어도 일부가 상기 특정 사용자의 개인키(private key)로 인코딩된 값으로부터 등록 해시값을 산출할 수 있다.The generated hash value may then be passed to a second hashing module 230, which may be implemented by the processor 120, using a second hash function The registration hash value may be calculated from a value obtained by encoding at least a part of the image identification information including the image hash value and the unique identification information of the specific user requesting the registration of the image with the private key of the specific user.

산출된 등록 해시값은, 통신부(110)를 통하여 외부 노드들과 연동되는 데이터베이스 처리 모듈(240), 예컨대 블록체인 처리 모듈에 전달될 수 있는데, 프로세서(120) 및 통신부(110)의 연동에 의하여 구현될 수 있는 데이터베이스 처리 모듈(240)은, 등록 해시값을 이용하여 도 3과 관련하여 상세히 후술할 등록 또는 검증을 수행할 수 있다. 여기에서 외부 노드들은 합의 알고리즘에 기반한 분산 데이터베이스를 구성하는 다수의 컴퓨팅 장치들을 지칭한다. 본 명세서에서 설명되는 합의 알고리즘에 기반한 분산 데이터베이스는 개별 컴퓨팅 장치가 하나의 노드를 이루고 있는 분산 시스템으로서, 복수의 노드로 이루어진 분산 시스템을 지칭한다. 예컨대, 비트코인 등의 암호 화폐의 거래에 이용되는 블록체인 데이터베이스의 경우에는 이를 처리하는 서버가 현재 전세계적으로 분산된 다수의 노드를 가지는 거대한 분산 시스템으로 이루어져 있다. The calculated registration hash value may be transmitted to a database processing module 240, for example, a block chain processing module, which is interlocked with external nodes through the communication unit 110. By interlocking the processor 120 and the communication unit 110 The database processing module 240, which may be implemented, may perform the registration or verification described below in detail with reference to FIG. 3 using the registration hash value. Wherein the external nodes refer to a plurality of computing devices comprising a distributed database based on a consensus algorithm. The distributed database based on the consensus algorithm described in the present specification refers to a distributed system in which individual computing devices constitute one node, and refers to a distributed system composed of a plurality of nodes. For example, in the case of a block chain database used for transaction of a cipher money such as bit coin, a server for processing the block chain database is composed of a huge distributed system having a plurality of nodes distributed around the world at present.

본 발명에서 언급되는 분산 데이터베이스는 크게 다음 2가지 문제를 해결하는 것을 조건으로 한다. The distributed database referred to in the present invention largely satisfies the following two problems.

첫 번째, 분산 데이터베이스는 합의 문제를 해결하여야 하며, 이를 위한 합의 알고리즘은 3가지 조건을 만족하여야 한다. 그 3가지 조건은, i) 모든 프로세스가 같은 값을 결정하는 것이며, ii) 그 결정된 데이터는 특정 프로세스에 의하여 제안된 것이어야 하고, iii) 모든 시스템의 상태는 0이나 1로 결정되어야 한다는 것이다. 즉, 모두 1이거나 0인지를 판단할 수 있어야 한다. 이들 조건을 만족시키는 알고리즘을 합의 알고리즘이라고 한다.First, the distributed database must solve the problem of consensus, and the consensus algorithm for it must satisfy three conditions. The three conditions are that i) all the processes determine the same value, ii) the determined data must be proposed by a specific process, and iii) the state of all systems must be determined as 0 or 1. That is, it should be able to judge whether all are 1 or 0. An algorithm that satisfies these conditions is called a consensus algorithm.

두 번째, 분산 데이터베이스는 비잔틴 장군 문제(Byzantine General Problem)를 해결하여야 한다. 즉, 악의적인 노드가 분산 데이터베이스에 참여한 상황에서도 전체 시스템은 신뢰도 있는 서비스를 제공하여야 한다는 것이다.Second, the distributed database must resolve the Byzantine General Problem. In other words, even if malicious nodes participate in a distributed database, the whole system must provide reliable services.

본 발명에서는 이 2가지 문제를 해결할 수 있는 분산 데이터베이스를 이용하며, 이 중 잘 알려진 것은 비트코인 등의 암호 화폐가 활용하는 블록체인이다. 그러나 통상의 기술자는 분산 데이터베이스가 이에 한정되지 않으며, 예컨대 비특허문헌 2: Leemon Baird, The Swirlds Hashgraph Consensus Algorithm: Fair, Fast, Byzantine Fault Tolerance, May 31, 2016에 개시된 해시그래프(hash graph)와 같은 타 분산 데이터베이스에도 적용 가능하다는 점을 이해할 수 있을 것이다.In the present invention, a distributed database capable of solving these two problems is used, and well-known is a block chain utilized by a cipher such as a bit coin. However, those skilled in the art will appreciate that the distributed database is not limited to this, and may be a hash graph as disclosed in, for example, Non-Patent Document 2: Leemon Baird, The Swirlds Hashgraph Consensus Algorithms: Fair, Fast, Byzantine Fault Tolerance, May 31, 2016 It will be understood that the present invention is applicable to other distributed databases.

데이터베이스 처리 모듈(240)은 서버(100)가 보유, 저장 또는 취급하는 데이터들을 분산 관리 및 상호 검증되는 분산 데이터베이스에 기입하고 비교 검증하는 등, 취급 대상인 데이터를 분산 데이터베이스에 연관시키는 작용, 즉 앵커링(anchoring)을 수행한다고 할 수 있다.The database processing module 240 performs an operation of associating the data to be handled with the distributed database with each other, that is, anchoring anchoring can be performed.

도 2에 나타난 구성요소들은 설명의 편의상 하나의 컴퓨팅 장치(예컨대, single standalone workstation)에서 실현되는 것으로 예시되었으나, 본 발명의 방법을 수행하는 컴퓨팅 장치인 서버(100)는 복수로 구성될 수도 있을 것이다.2 are illustrated as being realized in one computing device (e.g., a single standalone workstation) for convenience of explanation, the server 100, which is a computing device performing the method of the present invention, may be composed of a plurality .

이제 본 발명에 따른 영상 해시값 등록 방법의 일 실시예를 도 3을 참조하여 구체적으로 설명하기로 한다. 도 3은 본 발명에 따른 영상 해시값 등록 방법의 일 실시예를 나타낸 흐름도이다.Now, an embodiment of a method of registering image hash values according to the present invention will be described in detail with reference to FIG. FIG. 3 is a flowchart illustrating an image hash value registration method according to an embodiment of the present invention.

도 3을 참조하면, 본 발명에 따른 영상 해시값 등록 방법은, 앞서 도 2를 참조하여 설명한 바와 같이, 우선, 특정 영상 A에 대한 등록 요청이 서버(100)에서 획득(S305)되면, 서버(100)가, 해시 함수 Hash1를 이용하여 특정 영상 A의 영상 해시값 Hash1(A)을 생성하거나 서버(100)에 연동되는 타 장치로 하여금 생성하도록 지원(S310)하는 단계(S305, S310)를 포함한다.Referring to FIG. 3, the method of registering a hash value according to the present invention, as described above with reference to FIG. 2, first obtains a registration request for a specific image A at the server 100 (S305) 100) generates (S305, S310) an image hash value Hash 1 (A) of the specific image A using the hash function Hash 1 or supports (S310) .

여기에서 상기 변형은, 영상 포맷 변환, (JPEG 등의) 압축, 회전, 확대, 축소 및 블러링을 포함하나 이에 한정하지 않음이 이해될 수 있을 것이다. 이와 같은 변형에는 평행이동(translation), 저역통과 필터(low-pass filter), 중앙값 필터(median filter), 가우시안 노이즈(Gaussian noise) 등등이 포함될 수도 있다.It will be appreciated that the variations herein include, but are not limited to, image format conversion, compression (such as JPEG), rotation, enlargement, reduction, and blurring. Such modifications may include translation, a low-pass filter, a median filter, Gaussian noise, and the like.

이와 같은 변형에 대하여 불변이거나 저항성이 있는 해시 함수의 일 예시는 비특허문헌 1: YuLing LIU, Yong XIAO. A Robust Image Hashing Algorithm Resistant Against Geometrical Attacks에 개시된 바와 같다. 예를 들어 해시 함수는 소정의 비밀키에 기초하여 해시 생성에 필요한 특징 추출을 수행할 수 있다. 소정의 비밀키가 이용되는 경우에, 비밀키가 상이하면 전혀 다른 영상 해시값이 생성될 수 있다.One example of a hash function that is invariant or resistant to such a modification is disclosed in Non-Patent Document 1: YuLing LIU, Yong XIAO. A Robust Image Hashing Algorithm Resistant Against Geometrical Attacks. For example, the hash function can perform feature extraction required for hash generation based on a predetermined secret key. When a predetermined secret key is used, a completely different image hash value can be generated if the secret key is different.

한편, 영상 해시값은 상기 영상에 대응되도록 서버(100)에 의하여 보유될 수 있으며, 등록 요청의 주체, 즉, 사용자에게 제공될 수도 있다. 영상의 제공 주체인 사용자는 영상을 타 주체에 제공할 때, 영상의 검증에 대한 편의를 제공하기 위하여 영상 해시값을 제공할 수 있다.Meanwhile, the image hash value may be held by the server 100 to correspond to the image, and may be provided to the subject of the registration request, that is, to the user. A user who is a provider of an image can provide an image hash value in order to provide convenience for image verification when providing an image to a third party.

도 3을 참조하면, 본 발명에 따른 영상 해시값 등록 방법은, 단계(S305, S310) 다음으로, 상기 서버(100)가, 상기 영상 해시값에 기초하여 산출(S315)된 등록 해시값을 소정의 분산 데이터베이스에 등록하거나 등록하도록 지원(S320)하는 단계(S315, S320)를 더 포함한다.Referring to FIG. 3, the image hash value registration method according to the present invention is characterized in that, after steps S305 and S310, the server 100 sets a registration hash value calculated (S315) based on the image hash value (S320) of registering or registering in the distributed database of step S320.

여기에서 등록 해시값은, 상기 영상 해시값 Hash1(A) 및 특정 사용자 U의 고유 식별 정보 P를 포함하는 영상 식별 정보 Bi=1,…,n의 적어도 일부가 상기 특정 사용자 U의 개인키(private key) PrivU로 인코딩된 값 C으로부터 제2 해시 함수(Hash2)를 이용하여 산출된 해시값 Hash2(C)일 수 있다. 예를 들어, 상기 인코딩된 값 C은 영상 해시값 Hash1(A)을 개인키 PrivU로 인코딩한 값인 EncPrivU(Hash1(A))에 상기 고유 식별 정보 P를 스트링 연결(string concatenation)한 값일 수 있다.Here, the registration hash value is the image identification information B i = 1 including the image hash value Hash 1 (A) and the unique identification information P of the specific user U , , n may be a hash value Hash 2 (C) calculated using a second hash function (Hash 2 ) from a value C encoded with a private key PrivU of the specific user U. For example, the encoded value C may be a value obtained by string concatenating the unique identification information P with EncPrivU (Hash 1 (A)) which is a value obtained by encoding the image hash value Hash 1 (A) with the private key PrivU have.

대안으로서, 상기 개인키 PrivU로 인코딩하는 대신에 상기 개인키 PrivU로 서명하는 방식이 이용될 수도 있을 것이다. 예컨대 EncPrivU(Hash1(A))에 P를 스트링 연결한 값 대신에 SigPrivU(Hash1(A))에 P를 스트링 연결한 값이 이용될 수 있다.As an alternative, a scheme of signing with the private key PrivU may be used instead of encoding with the private key PrivU. For example EncPrivU (Hash 1 (A)) connected to a string value for the P SigPrivU (Hash 1 (A)) in place of the value P in the connection string may be used.

서버(100)는 등록 해시값을 분산 데이터베이스에 등록할 뿐만 아니라, 바람직하게는 그 등록 해시값의 원시 정보(raw data)를 보유할 수 있는바, 예컨대, 제2 등록 해시값이 Hash2(C)이고 C는 영상 A에 대하여 EncPrivU(Hash1(A))에 고유 식별 정보 P를 스트링 연결한 값인 경우에 그 C값을 보유할 수 있고, 추후 이를 통하여 서버(100)에서 보유한 영상 A의 해시값이 진실(genuine)된 것인지를 검증할 수 있을 것이다.The server 100 not only registers the registration hash value in the distributed database but can preferably retain the raw data of the registration hash value. For example, when the second registration hash value is Hash 2 (C And C is a value obtained by string-connecting the unique identification information P to EncPrivU (Hash 1 (A)) with respect to the image A, C can hold the C value, and the hash of the image A held by the server 100 You can verify that the value is genuine.

여기에서 제2 해시 함수는 전술한 해시 함수, 즉 영상 해시값을 생성하는 제1 해시 함수와는 상이한 것일 수 있는바, 제2 해시 함수는 영상이 아닌 string에 적용되는 통상적인 해시 함수로서, 예컨대 triple_SHA256, MD5 등일 수 있다.Here, the second hash function may be different from the above-described hash function, that is, the first hash function for generating the image hash value. The second hash function is a normal hash function applied to the string, not the image, triple_SHA256, MD5, and the like.

한편, 사용자의 고유 식별 정보 P라고 함은, 사용자의 성명 또는 명칭 등 사용자의 개인 정보를 포함하는 것일 수 있으나, 그러한 개인 정보로부터 가공된 값 또는 사용자를 식별하기 위하여 임의로 부여된 영숫자열(alphanumeric string)일 수 있는바, 이와 같은 고유 식별 정보 P가 사용자의 신원을 나타내는 다른 정보로부터 생성되지 않을 수도 있다는 점은 물론이다. 이러한 사용자의 고유 식별 정보 P는 영상과 관련하여 영상의 제공 주체인 사용자로부터 영상의 이용 주체에게 제공될 것으로 의도되는 정보이다. 따라서 후술하는 영상 해시값 검증 방법에서 검증을 요청하는 영상의 이용 주체는 영상의 제공 주체인 사용자의 고유 식별 정보 P를 알고 있거나 용이하게 획득할 수 있음이 전제된다.On the other hand, the user's unique identification information P may include the user's personal information such as the name or the name of the user, but may include a processed value or an alphanumeric string arbitrarily given to identify the user ). It goes without saying that such unique identification information P may not be generated from other information indicating the identity of the user. The unique identification information P of the user is information that is intended to be provided to the user of the image from the user who is the main body of the image in relation to the image. Therefore, it is presupposed that the user of the image requesting the verification in the image hash value verification method described later can know or easily acquire the unique identification information P of the user, which is the provider of the image.

단계(S315)에서 인코딩된 값에 대해서는 상기 개인키에 대응되는 공개키(public key)에 의한 디코딩을 통하여 그 진위를 판정할 수 있으며, 서명된 값에 대해서는 상기 공개키에 의한 서명 검증(signature verification)을 통하여 그 진위를 판정할 수 있는바, 이는 후술할 영상 해시값 검증 방법에서 이용된다.The authenticity of the encoded value may be determined through decoding using a public key corresponding to the private key in step S315. The signature verification may be performed on the signed value using the public key, ), Which can be used in the image hash value verification method described later.

단계(S320)에서 등록 해시값은, 예컨대, 비트코인의 OP_RETURN 스크립트 코드에 기입되는 메시지로서 비트코인의 블록체인 데이터베이스에 등록될 수 있는데, 이는 하나의 예시에 지나지 않고, 분산 데이터베이스의 유형마다 상이한 방식이 이용될 수 있을 것이다.In step S320, the registration hash value may be registered in the block chain database of bit coins as a message written in, for example, the bit code coin OP_RETURN script code, which is only one example, May be used.

다시 도 3을 참조하면, 단계(S315, S320) 후에, 발명에 따른 영상 해시값 등록 방법은, 상기 서버(100)가, 상기 등록 해시값이 상기 소정의 분산 데이터베이스에 등록된 위치를 나타내는 트랜잭션 식별자(transaction identifier)를 획득하거나 획득하도록 지원하는 단계(S330)를 더 포함한다. 이 단계(S330)는 단계(S320)와 동시에 수행되거나 이시에 수행될 수 있는데, 이시에 수행되는 경우에는 단계(S320)가 수행된 후에 단계(S330)가 수행되거나 단계(S330)가 수행된 후에 단계(S320)가 수행될 수 있다. 이와 같은 트랜잭션 식별자는 상기 영상 및/또는 상기 영상으로부터 산출된 값, 예컨대, 상기 등록 해시값에 대응되도록 서버(100)에 의하여 보유될 수 있다. 이 트랜잭션 식별자는 서버(100)에 의하여 보유될 수 있을 뿐만 아니라 등록 요청의 주체, 즉, 사용자에게 제공될 수도 있다. 영상의 제공 주체인 사용자는 영상을 타 주체에 제공할 때, 영상과 함께 이 트랜잭션 식별자를 제공함으로써 영상이 위변조되지 않았음을 보장할 수 있는바, 이를 검증하기 위한 방법은 다음과 같다.3, after the steps S315 and S320, the image hash value registering method according to the present invention is a method of registering a hash value of the server 100 as a transaction identifier indicating a position registered in the predetermined distribution database (S330) to acquire or acquire a transaction identifier. This step S330 may be performed at the same time or at the same time as the step S320. If it is performed at this time, the step S330 is performed after the step S320 is performed, or after the step S330 is performed Step S320 may be performed. Such a transaction identifier may be held by the server 100 so as to correspond to a value calculated from the image and / or the image, for example, the registration hash value. This transaction identifier can be held by the server 100 as well as provided to the subject of the registration request, i.e., the user. When providing the image to the other entity, the user, which is the providing entity of the image, can provide the transaction identifier together with the image to ensure that the image has not been tampered with.

즉, 본 발명에 따르면 영상 해시값에 대한 검증 방법도 제공되는데, 특정 영상의 영상 해시값에 대한 검증은 본 발명의 영상 해시값 등록 방법에 따라 소정의 분산 데이터베이스에 비교 대상 영상의 영상 해시값이 등록된 상태에서 수행된다.That is, according to the present invention, there is also provided a method of verifying a hash value of a specific image. In the verification of the hash value of a specific image, It is performed in the registered state.

도 4는 본 발명에 따른 영상 해시값 검증 방법의 일 실시예를 나타낸 흐름도이다.4 is a flowchart illustrating an image hash value verification method according to an embodiment of the present invention.

도 4를 참조하면, 본 발명에 따른 영상 해시값 검증 방법은, 우선, 특정 영상에 대한 검증 요청이 획득(S405)되면, 서버(100)가, (i) 해시 함수를 이용하여 상기 특정 영상의 제1 영상 해시값을 생성하는 프로세스(S410-1; 미도시), 및 (ii) 상기 해시 함수를 이용하여 상기 특정 영상에 대응되는 비교 대상 영상의 제2 영상 해시값을 생성 또는 획득하는 프로세스(S410-2; 미도시)를 수행하거나 수행하도록 지원하는 단계(S410)를 포함한다. 여기에서 해시 함수는 전술한 제1 해시 함수와 동일한 것이다.4, when a verification request for a specific image is obtained (S405), the server 100 determines whether the specific image has been extracted (i) using the hash function, A process of generating a first image hash value (S410-1; not shown), and (ii) a process of generating or acquiring a second image hash value of the comparison object image corresponding to the specific image using the hash function S410-2 (not shown) to perform or perform the operation (S410). Here, the hash function is the same as the first hash function described above.

프로세스(S410-2)에서의 제2 영상 해시값은 검증 요청과 함께 획득되는 비교 대상 영상에 제1 해시 함수를 적용하여 생성된 값일 수 있으나, 검증을 요청하는 주체가 제2 영상 해시값을 알고 있는 때에는 검증 요청과 함께 획득되는 값일 수도 있다.The second image hash value in the process S410-2 may be a value generated by applying the first hash function to the comparison image obtained together with the verification request. However, if the subject requesting the verification has the second image hash value If so, it may be the value obtained with the verification request.

다음으로, 본 발명에 따른 영상 해시값 검증 방법은, 상기 제1 영상 해시값과 상기 제2 영상 해시값에 기초하여, 서버(100)가, 상기 특정 영상과 상기 비교 대상 영상의 동일성을 검증하거나 검증하도록 지원하는 단계(S420)를 더 포함한다.Next, a method of verifying the image hash value according to the present invention is a method of verifying the identity between the specific image and the comparison object, based on the first image hash value and the second image hash value (Step S420).

단계(S420)의 일 실시예에서는, 상기 서버(100)가, 상기 서버가, 상기 제1 영상 해시값과 상기 제2 영상 해시값의 거리를 산출하거나 산출하도록 지원하고, 산출된 상기 거리가 소정의 임계값보다 크면, 상기 제1 영상 해시값과 상기 제2 영상 해시값이 동일하지 않은 것으로 판정하며, 상기 거리가 소정의 임계값보다 작으면, 상기 제1 영상 해시값과 상기 제2 영상 해시값이 동일한 것으로 판정할 수 있다. 여기에서 거리(distance)는 예컨대 해밍 거리(Hamming distance)일 수 있다.In one embodiment of the step S420, the server 100 supports the server to calculate or calculate the distance between the first image hash value and the second image hash value, and if the calculated distance is smaller than the predetermined The first image hash value and the second image hash value are determined to be equal to each other, and if the distance is less than the predetermined threshold value, It can be determined that the values are the same. Here, the distance may be a Hamming distance, for example.

도 5는 본 발명의 따른 영상 해시값 검증 방법에 있어서 해시값의 비교를 통하여 특정 영상과 비교 대상 영상 간의 동일성을 검증하는 단계(S420)를 더 구체화한 실시예를 나타낸 흐름도이다.FIG. 5 is a flowchart illustrating an embodiment of verifying the identity between a specific image and a comparison object (S420) by comparing hash values in the image hash value verification method according to the present invention.

도 5를 참조하여 영상 해시값의 생성 과정을 다시 살펴보면, 우선 영상이 입력되면, 비밀키에 기초한 상기 영상의 특징 추출이 수행됨으로써 영상 해시값이 생성된다(예컨대 비특허문헌 1 참조). 제1 영상 해시값과 제2 영상 해시값 모두가 이와 같은 방식으로 생성될 수 있다. 이 제1 영상 해시값과 제2 영상 해시값 간의 해밍 거리가 전술한 소정의 임계값보다 크면 영상이 서로 동일하지 않아 검증이 실패한 것으로 판정되며, 임계값보다 작으면 영상이 실질적으로 동일하여 검증이 성공한 것으로 판정되는 것이다.Referring to FIG. 5, the process of generating the image hash value will be described. When the image is input first, the image hash value is generated by extracting the feature of the image based on the secret key (see, for example, Non-Patent Document 1). Both the first image hash value and the second image hash value may be generated in this manner. If the hamming distance between the first image hash value and the second image hash value is greater than the predetermined threshold value, it is determined that the verification fails because the images are not equal to each other. If the hamming distance is smaller than the threshold value, It is determined to be successful.

단계(S420)에서 상기 특정 영상과 상기 비교 대상 영상이 동일하면, 본 발명에 따른 영상 해시값 검증 방법은, 서버(100)가, 상기 제2 영상 해시값에 기초하여 산출된 제1 등록 해시값에 대응되는 트랜잭션 식별자(transaction identifier)를 참조하거나 참조하도록 지원하고, 참조된 상기 트랜잭션 식별자를 이용하여 소정의 분산 데이터베이스(blockchain)에 등록된 제2 등록 해시값을 획득하거나 획득하도록 지원하는 단계(S430)를 더 포함한다. If the specific image and the comparison target image are the same in step S420, the image hash value verification method according to the present invention is a method in which the server 100 generates a first registration hash value based on the second image hash value (Step S430), to support the reference or reference of a transaction identifier corresponding to the transaction identifier corresponding to the transaction identifier, and to obtain or acquire a second registration hash value registered in a predetermined distribution database (blockchain) using the referenced transaction identifier ).

여기에서 트랜잭션 식별자의 참조는, 검증 요청의 주체에 의하여 서버에 제공된 트랜잭션 식별자를 참조하는 것일 수 있으며, 대안으로서, 검증 요청의 주체로부터 제2 영상 해시값이 서버(100)에 제공되면, 그 제2 영상 해시값에 대하여 산출한 등록 해시값에 대응되도록 서버(100)에서 보유하고 있는 트랜잭션 식별자를 참조하는 것일 수도 있다.Here, the reference of the transaction identifier may refer to the transaction identifier provided to the server by the subject of the verification request, and alternatively, if the second image hash value is provided from the subject of the verification request to the server 100, It may refer to the transaction identifier held in the server 100 so as to correspond to the registered hash value calculated for the two image hash values.

어떤 경우에라도 트랜잭션 식별자는 기 등록된 것이어야 하는바, 그렇지 않으면, 분산 데이터베이스에 대한 검증 요청 주체의 열람에 의하여 조작(부정행위) 여부가 드러날 것이다.In any case, the transaction identifier must be pre-registered, otherwise it will be revealed by manipulation (cheating) by the subject of the verification request to the distributed database.

또한, 서버(100)가 등록 해시값의 원시 정보 C를 보유한 경우에는, 이를 통하여 영상 해시값이 진실된 것인지를 검증할 수 있다. 예를 들어 영상 A에 대한 등록 해시값이 Hash2(C)이고 C는 EncPrivU(Hash1(A))에 등록 주체의 고유 식별 정보 P를 스트링 연결한 값인 경우에, EncPrivU(Hash1(A))를 공개키 PubU에 의하여 디코딩한 결과 DecPubU(EncPrivU(Hash1(A)))인 Hash1(A)이 영상 해시값과 동일한 것인지를 판정함으로써 그 영상 해시값이 진실된 것인지 확인할 수 있다.In addition, when the server 100 holds the raw information C of the registered hash value, it is possible to verify whether or not the image hash value is true. For example, when the registration hash value for image A is Hash 2 (C) and C is the value obtained by string-joining the unique identification information P of the registration subject to EncPrivU (Hash 1 (A)), EncPrivU (Hash 1 (A) (Hash 1 (A))) is equal to the image hash value as a result of decoding the public key PubU by the public key PubU, it is possible to confirm whether the image hash value is true or not by judging whether Hash 1 (A), which is DecPubU (EncPrivU

대안으로서, C가 SigPrivU(Hash1(A))에 P를 스트링 연결한 값인 경우에, SigPrivU(Hash1(A))를 공개키 PubU에 의하여 서명을 검증한 결과 VerPubU(SigPrivU(Hash1(A)))의 불값(Boolean value)이 참인지 여부를 판정함으로써 그 영상 해시값이 진실된 것인지를 확인할 수 있다.Alternatively, C is SigPrivU (Hash 1 (A)), if the value a the P string connected to, SigPrivU (Hash 1 (A) ) the result of verifying the signature by the public key PubU the VerPubU (SigPrivU (Hash 1 (A ))) Is true, it is possible to check whether the image hash value is true or not.

C에 고유 식별 정보 P가 반영되어 있으며, P가 위변조되면 C가 달라져 결과적으로 등록 해시값이 변경되므로, 고유 식별 정보의 위변조 여부도 함께 검증될 수 있다.C is reflected in the unique identification information P, and if P is forged, C is changed and the registration hash value is changed as a result, so that whether the unique identification information is forged or not can be verified as well.

한편, 단계(S420)에서 상기 특정 영상과 상기 비교 대상 영상이 동일하지 않은 것으로 판정되면, 상기 서버(100)가, 상기 특정 영상은 검증되지 않은 것으로 판정, 즉, 위변조된 것으로 판정하고 종료될 수 있다.On the other hand, if it is determined in step S420 that the specific image and the comparison object are not the same, the server 100 determines that the specific image is not verified, that is, have.

다시 도 4를 참조하면, 본 발명에 따른 영상 해시값 검증 방법은, 단계(S430)의 수행 후에, 상기 제1 등록 해시값과 상기 제2 등록 해시값이 동일하면, 서버(100)가, 상기 특정 영상이 검증된 것으로 판정하거나 판정하도록 지원하고, 상기 제1 등록 해시값과 상기 제2 등록 해시값이 상이하거나 상기 제2 등록 해시값이 상기 분산 데이터베이스로부터으로부터 획득되지 않으면, 서버(100)가, 상기 특정 영상이 검증되지 않은 것으로 판정하거나 판정하도록 지원하는 단계(S440)를 더 포함한다.4, the image hash value verification method according to the present invention is characterized in that, if the first registration hash value and the second registration hash value are the same after the execution of step S430, If the first registration hash value is different from the second registration hash value or the second registration hash value is not obtained from the distribution database, , And supporting (S440) to determine or determine that the specific image is not verified.

전술한 단계들을 통해 검증 요청의 주체는 특정 영상과 비교 대상 영상이 동일한지 여부를 검증할 수 있는바, 분산 데이터베이스에서 보유되는 정보인 제2 등록 해시값에 의한 비교를 통하여 검증 결과의 조작이 배제된다.Through the above steps, the subject of the verification request can verify whether the specific image and the comparison target image are the same. Thus, the operation of the verification result is excluded through comparison with the second registration hash value, which is the information held in the distributed database do.

즉, 본 발명은 전술한 모든 실시예들에 걸쳐, 법률적인 효력을 가지는 검증이 영상의 형식으로 된 정보에 대하여 가능하게 되는 효과가 있다. 상기 실시예들로써 여기에서 설명된 기술의 이점은, 서로 다른 포맷으로 되거나 영상의 크기와 무관하게 일정 범위 내에서 변형된 영상에 대해서도 영상의 동일성을 가려낼 수 있게 되어 영상의 제공 주체가 다양한 형태로 영상을 제공할 수 있으며, 이를 제공받는 주체도 그 영상의 위변조 여부를 전문가의 도움 없이 손쉽게 판정할 수 있게 되며, 그 결과도 분산 데이터베이스에 의하여 진정성이 보장된다는 점이다.That is, the present invention has the effect that, over all of the above-described embodiments, verification with legal effect becomes possible for information in the form of image. The advantage of the techniques described hereinabove is that it is possible to identify the identity of an image even in a different format or in an image that has been modified within a certain range regardless of the size of the image, And the subject who receives it can easily judge whether the image is falsified or not, without the help of an expert, and the result is also authenticated by the distributed database.

위 실시예의 설명에 기초하여 해당 기술분야의 통상의 기술자는, 본 발명의 방법 및/또는 프로세스들, 그리고 그 단계들이 하드웨어, 소프트웨어 또는 특정 용례에 적합한 하드웨어 및 소프트웨어의 임의의 조합으로 실현될 수 있다는 점을 명확하게 이해할 수 있다. 상기 하드웨어는 범용 컴퓨터 및/또는 전용 컴퓨팅 장치 또는 특정 컴퓨팅 장치 또는 특정 컴퓨팅 장치의 특별한 모습 또는 구성요소를 포함할 수 있다. 상기 프로세스들은 내부 및/또는 외부 메모리를 가지는, 하나 이상의 마이크로프로세서, 마이크로컨트롤러, 임베디드 마이크로컨트롤러, 프로그래머블 디지털 신호 프로세서 또는 기타 프로그래머블 장치에 의하여 실현될 수 있다. 게다가, 혹은 대안으로서, 상기 프로세스들은 주문형 집적회로(application specific integrated circuit; ASIC), 프로그래머블 게이트 어레이(programmable gate array), 프로그래머블 어레이 로직(Programmable Array Logic; PAL) 또는 전자 신호들을 처리하기 위해 구성될 수 있는 임의의 다른 장치 또는 장치들의 조합으로 실시될 수 있다. 더욱이 본 발명의 기술적 해법의 대상물 또는 선행 기술들에 기여하는 부분들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 기계 판독 가능한 기록 매체에 기록될 수 있다. 상기 기계 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 기계 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 기계 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD, Blu-ray와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 전술한 장치들 중 어느 하나뿐만 아니라 프로세서, 프로세서 아키텍처 또는 상이한 하드웨어 및 소프트웨어의 조합들의 이종 조합, 또는 다른 어떤 프로그램 명령어들을 실행할 수 있는 기계 상에서 실행되기 위하여 저장 및 컴파일 또는 인터프리트될 수 있는, C와 같은 구조적 프로그래밍 언어, C++ 같은 객체지향적 프로그래밍 언어 또는 고급 또는 저급 프로그래밍 언어(어셈블리어, 하드웨어 기술 언어들 및 데이터베이스 프로그래밍 언어 및 기술들)를 사용하여 만들어질 수 있는바, 기계어 코드, 바이트코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 이에 포함된다. Based on the description of the embodiments above, those skilled in the art will recognize that the methods and / or processes of the present invention and their steps may be implemented in hardware, software, or any combination of hardware and software suitable for the particular application Points can be clearly understood. The hardware may include special features or components of a general purpose computer and / or a dedicated computing device or a specific computing device or a particular computing device. The processes may be realized by one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable devices having internal and / or external memory. Additionally or alternatively, the processes can be configured to process application specific integrated circuits (ASICs), programmable gate arrays, programmable array logic (PAL) Or any other device or combination of devices. Furthermore, the objects of the technical solution of the present invention, or portions contributing to the prior art, may be implemented in the form of program instructions that can be executed through various computer components and recorded on a machine-readable recording medium. The machine-readable recording medium may include program commands, data files, data structures, and the like, alone or in combination. The program instructions recorded on the machine-readable recording medium may be those specially designed and constructed for the present invention or may be those known to those of ordinary skill in the computer software arts. Examples of the machine-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROM, DVD, Blu-ray, magneto-optical media such as floptical disks magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include, but are not limited to, any of the above devices, as well as a heterogeneous combination of processors, processor architectures or combinations of different hardware and software, Which may be constructed using a structured programming language such as C, an object-oriented programming language such as C ++ or an advanced or low-level programming language (assembly language, hardware description languages and database programming languages and techniques) This includes not only bytecode, but also high-level language code that can be executed by a computer using an interpreter or the like.

따라서 본 발명에 따른 일 태양에서는, 앞서 설명된 방법 및 그 조합들이 하나 이상의 컴퓨팅 장치들에 의하여 수행될 때, 그 방법 및 방법의 조합들이 각 단계들을 수행하는 실행 가능한 코드로서 실시될 수 있다. 다른 일 태양에서는, 상기 방법은 상기 단계들을 수행하는 시스템들로서 실시될 수 있고, 방법들은 장치들에 걸쳐 여러 가지 방법으로 분산되거나 모든 기능들이 하나의 전용, 독립형 장치 또는 다른 하드웨어에 통합될 수 있다. 또 다른 일 태양에서는, 위에서 설명한 프로세스들과 연관된 단계들을 수행하는 수단들은 앞서 설명한 임의의 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 그러한 모든 순차 결합 및 조합들은 본 개시서의 범위 내에 속하도록 의도된 것이다.Thus, in one aspect of the present invention, when the methods and combinations described above are performed by one or more computing devices, combinations of the methods and methods may be implemented as executable code that performs each of the steps. In another aspect, the method may be implemented as systems for performing the steps, and the methods may be distributed in various ways throughout the devices, or all functions may be integrated into one dedicated, stand-alone device, or other hardware. In yet another aspect, the means for performing the steps associated with the processes described above may include any of the hardware and / or software described above. All such sequential combinations and combinations are intended to be within the scope of this disclosure.

예를 들어, 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 상기 하드웨어 장치는, 프로그램 명령어를 저장하기 위한 ROM/RAM 등과 같은 메모리와 결합되고 상기 메모리에 저장된 명령어들을 실행하도록 구성되는 MPU, CPU, GPU, TPU와 같은 프로세서를 포함할 수 있으며, 외부 장치와 신호를 주고 받을 수 있는 통신부를 포함할 수 있다. 덧붙여, 상기 하드웨어 장치는 개발자들에 의하여 작성된 명령어들을 전달받기 위한 키보드, 마우스, 기타 외부 입력장치를 포함할 수 있다.For example, the hardware device may be configured to operate as one or more software modules to perform processing in accordance with the present invention, and vice versa. The hardware device may include a processor, such as an MPU, CPU, GPU, TPU, coupled to a memory, such as ROM / RAM, for storing program instructions and configured to execute instructions stored in the memory, And a communication unit capable of receiving and sending data. In addition, the hardware device may include a keyboard, a mouse, and other external input devices for receiving commands generated by the developers.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 사람이라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be construed as being limited to the above-described embodiments, and all of the equivalents or equivalents of the claims, as well as the following claims, I will say.

그와 같이 균등하게 또는 등가적으로 변형된 것에는, 예컨대 본 발명에 따른 방법을 실시한 것과 동일한 결과를 낼 수 있는, 논리적으로 동치(logically equivalent)인 방법이 포함될 것인바, 본 발명의 진의 및 범위는 전술한 예시들에 의하여 제한되어서는 아니되며, 법률에 의하여 허용 가능한 가장 넓은 의미로 이해되어야 한다.Such equally or equivalently modified means include, for example, a logically equivalent method which can produce the same result as the method according to the present invention, Should not be limited by the foregoing examples, but should be understood in the broadest sense permissible by law.

Claims (12)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 영상의 해시값을 검증하는 방법에 있어서,
(a) 특정 영상에 대한 검증 요청이 획득되면, 서버가, (i) 상기 특정 영상에 적용되는 적어도 하나의 변형에 대하여 불변(invariant)이거나 저항성(resistant to)이 있는 해시 함수를 이용하여 상기 특정 영상으로부터 제1 영상 해시값을 생성하는 프로세스, 및 (ii) 상기 해시 함수를 이용하여 상기 특정 영상에 대응되는 비교 대상 영상의 제2 영상 해시값을 생성 또는 획득하는 프로세스를 수행하는 단계로서, 상기 변형은, 영상 포맷 변환(image format conversion), 압축(compression), 회전, 확대, 축소 및 블러링(blurring) 중 적어도 하나를 포함하는 단계;
(b) 생성된 상기 제1 영상 해시값과 상기 제2 영상 해시값에 기초하여, 상기 서버가, 상기 특정 영상과 상기 비교 대상 영상의 동일성을 검증하는 단계로서, 상기 제1 영상 해시값과 상기 제2 영상 해시값의 거리를 산출하고, 산출된 상기 거리가 소정의 임계값보다 크면, 상기 제1 영상 해시값과 상기 제2 영상 해시값이 동일하지 않은 것으로 판정하며, 상기 거리가 소정의 임계값보다 작으면, 상기 제1 영상 해시값과 상기 제2 영상 해시값이 동일한 것으로 판정하는 단계;
(c) 상기 거리가 소정의 임계값보다 작으면, 상기 제2 영상 해시값에 기초하여 산출된 제1 등록 해시값이 소정의 분산 데이터베이스에 등록된 위치를 나타내는 대응되는 트랜잭션 식별자(transaction identifier)를 참조하고, 참조된 상기 트랜잭션 식별자를 이용하여 소정의 분산 데이터베이스에 등록된 제2 등록 해시값을 획득하는 단계로서,
상기 제1 등록 해시값은 상기 제2 영상 해시값 및 특정 사용자의 고유 식별 정보를 포함하는 영상 식별 정보로부터 상기 특정 사용자의 개인키(private key)에 의한 인코딩 또는 서명을 거쳐 상기 소정의 분산 데이터베이스에 저장된 해시값인, 단계; 및
(d) 상기 제1 등록 해시값과 상기 제2 등록 해시값이 동일하면, 상기 서버가, 상기 특정 영상이 검증된 것으로 판정하고, 상기 제1 등록 해시값과 상기 제2 등록 해시값이 상이하거나 상기 제2 등록 해시값이 상기 분산 데이터베이스로부터 획득되지 않으면, 상기 서버가, 상기 특정 영상이 검증되지 않은 것으로 판정하는 단계
를 포함하는 영상 해시값 검증 방법.
A method for verifying a hash value of an image,
(a) when a validation request for a particular image is obtained, the server is configured to: (i) use the hash function, which is invariant or resistant to at least one transformation applied to the particular image, Generating a first image hash value from the image, and (ii) performing a process of generating or acquiring a second image hash value of the comparison object image corresponding to the specific image using the hash function, The transform includes at least one of image format conversion, compression, rotation, enlargement, reduction, and blurring;
(b) verifying the identity of the specific image and the comparison object based on the generated first image hash value and the second image hash value, the server verifying the first image hash value and the second image hash value, And determines that the first image hash value is not equal to the second image hash value if the distance is greater than a predetermined threshold value, Determining that the first image hash value is equal to the second image hash value if the first image hash value is smaller than the first image hash value;
(c) if the distance is smaller than the predetermined threshold value, the first transaction hash value calculated based on the second image hash value is associated with a transaction identifier indicating a position registered in a predetermined distribution database And acquiring a second registration hash value registered in a predetermined distributed database using the referenced transaction identifier,
The first registration hash value is encoded or signed by the private key of the specific user from the image identification information including the second image hash value and the unique identification information of the specific user, A stored hash value; And
(d) if the first registration hash value and the second registration hash value are the same, the server determines that the specific image has been verified, and if the first registration hash value and the second registration hash value are different If the second registration hash value is not obtained from the distribution database, the server determines that the particular image has not been verified
The method comprising:
삭제delete 삭제delete 제6항에 있어서,
상기 (c) 단계는,
상기 특정 영상과 상기 비교 대상 영상이 동일하지 않으면, 상기 서버가, 상기 특정 영상이 검증되지 않은 것으로 판정하는 것을 특징으로 하는 영상 해시값 검증 방법.
The method according to claim 6,
The step (c)
Wherein the server determines that the specific image is not verified if the specific image and the comparison object are not the same.
컴퓨팅 장치로 하여금, 제6항 또는 제9항의 방법을 수행하도록 구현된 명령어(instructions)를 포함하는, 기계 판독 가능한 비일시적 기록 매체에 저장된, 컴퓨터 프로그램.A computer program stored in a machine-readable non-transitory medium, comprising instructions embodied in a computer-readable medium for causing a computing device to perform the method of claim 6 or 9. 삭제delete 특정 영상에 대한 검증 요청을 획득하는 통신부; 및
상기 검증 요청이 획득되면, 상기 특정 영상에 적용되는 적어도 하나의 변형에 대하여 불변(invariant)이거나 저항성(resistant to)이 있는 해시 함수를 이용하여 상기 특정 영상으로부터 제1 영상 해시값을 생성하는 프로세스, 및 (ii) 상기 해시 함수를 이용하여 상기 특정 영상에 대응되는 비교 대상 영상의 제2 영상 해시값을 생성 또는 획득하는 프로세스를 수행하는 프로세서
를 포함하되,
상기 변형은,
영상 포맷 변환(image format conversion), 압축(compression), 회전, 확대, 축소 및 블러링(blurring) 중 적어도 하나를 포함하고,
상기 프로세서는,
생성된 상기 제1 영상 해시값과 상기 제2 영상 해시값에 기초하여, 상기 특정 영상과 상기 비교 대상 영상의 동일성을 검증하되, 상기 제1 영상 해시값과 상기 제2 영상 해시값의 거리를 산출하고, 산출된 상기 거리가 소정의 임계값보다 크면, 상기 제1 영상 해시값과 상기 제2 영상 해시값이 동일하지 않은 것으로 판정하며, 상기 거리가 소정의 임계값보다 작으면, 상기 제1 영상 해시값과 상기 제2 영상 해시값이 동일한 것으로 판정하고,
상기 특정 영상과 상기 비교 대상 영상이 동일하면, 상기 제2 영상 해시값에 기초하여 산출된 제1 등록 해시값에 대응되는 트랜잭션 식별자(transaction identifier)를 참조하고, 참조된 상기 트랜잭션 식별자를 이용하여 소정의 분산 데이터베이스에 등록된 제2 등록 해시값을 획득하되, 상기 제1 등록 해시값은 상기 제2 영상 해시값 및 특정 사용자의 고유 식별 정보를 포함하는 영상 식별 정보로부터 상기 특정 사용자의 개인키(private key)에 의한 인코딩 또는 서명을 거쳐 상기 소정의 분산 데이터베이스에 저장된 해시값이고,
상기 제1 등록 해시값과 상기 제2 등록 해시값이 동일하면, 상기 특정 영상이 검증된 것으로 판정하고, 상기 제1 등록 해시값과 상기 제2 등록 해시값이 상이하거나 상기 제2 등록 해시값이 상기 분산 데이터베이스로부터 획득되지 않으면, 상기 특정 영상이 검증되지 않은 것으로 판정하는 것을 특징으로 하는 영상 해시값 검증 서버.
A communication unit for acquiring a verification request for a specific image; And
Generating a first image hash value from the specific image using a hash function that is invariant or resistant to at least one transformation applied to the particular image, And (ii) a process of generating or acquiring a second image hash value of the comparison object image corresponding to the specific image using the hash function,
, ≪ / RTI &
The above-
Image format conversion, at least one of image format conversion, compression, rotation, enlargement, reduction, and blurring,
The processor comprising:
A step of verifying the identity between the specific image and the comparison object based on the generated first image hash value and the second image hash value and calculating a distance between the first image hash value and the second image hash value And determines that the first image hash value and the second image hash value are not identical if the calculated distance is greater than a predetermined threshold value and if the distance is smaller than a predetermined threshold value, Determines that the hash value is equal to the second image hash value,
If the specific image and the comparison target image are the same, refers to a transaction identifier corresponding to the first registration hash value calculated based on the second image hash value, The first registration hash value is obtained from the image identification information including the second image hash value and the unique identification information of the specific user, key, the hash value stored in the predetermined distribution database via encoding or signing,
Determining that the specific image has been verified if the first registration hash value and the second registration hash value are the same, and if the first registration hash value and the second registration hash value are different or the second registration hash value is different And determines that the specific image has not been verified if it is not obtained from the distributed database.
KR1020170180406A 2017-12-27 2017-12-27 Method of record and validation of image hash value and apparatus using the same KR101925463B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170180406A KR101925463B1 (en) 2017-12-27 2017-12-27 Method of record and validation of image hash value and apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170180406A KR101925463B1 (en) 2017-12-27 2017-12-27 Method of record and validation of image hash value and apparatus using the same

Publications (1)

Publication Number Publication Date
KR101925463B1 true KR101925463B1 (en) 2018-12-05

Family

ID=64744029

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170180406A KR101925463B1 (en) 2017-12-27 2017-12-27 Method of record and validation of image hash value and apparatus using the same

Country Status (1)

Country Link
KR (1) KR101925463B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102178313B1 (en) * 2019-09-03 2020-11-12 한성대학교 산학협력단 Image analysis apparatus and system comprising the same
CN113096793A (en) * 2021-04-15 2021-07-09 王小娟 Remote medical diagnosis system based on medical images, algorithms and block chains
KR20220024302A (en) * 2021-04-12 2022-03-03 전인호 System for authenticating image based on blockchain and hash encryption technique and method thereof
CN114584314A (en) * 2022-02-28 2022-06-03 天翼安全科技有限公司 Registration method, device, equipment and medium
CN117114719A (en) * 2023-10-24 2023-11-24 四川数智云链科技有限公司 Digital anti-counterfeiting method based on whole flow of supply chain

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101735708B1 (en) * 2016-02-02 2017-05-15 주식회사 코인플러그 Method and server for providing notary service with respect to file and verifying the recorded file by using the notary service

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101735708B1 (en) * 2016-02-02 2017-05-15 주식회사 코인플러그 Method and server for providing notary service with respect to file and verifying the recorded file by using the notary service

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
L. Baird, "The Swirlds Hashgraph Consensus Algorithm - Fair, Fast, Byzantine Fault Tolerance"(2016.)*
Y. Liu, Y. Xiao, "A Robust Image Hashing Algorithm Resistant Against Geometrical Attacks", Radioengineering Journal, Vol. 22, No. 4(2013.)*

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102178313B1 (en) * 2019-09-03 2020-11-12 한성대학교 산학협력단 Image analysis apparatus and system comprising the same
KR20220024302A (en) * 2021-04-12 2022-03-03 전인호 System for authenticating image based on blockchain and hash encryption technique and method thereof
KR102559827B1 (en) * 2021-04-12 2023-07-26 전인호 System for authenticating image based on blockchain and hash encryption technique and method thereof
CN113096793A (en) * 2021-04-15 2021-07-09 王小娟 Remote medical diagnosis system based on medical images, algorithms and block chains
CN114584314A (en) * 2022-02-28 2022-06-03 天翼安全科技有限公司 Registration method, device, equipment and medium
CN117114719A (en) * 2023-10-24 2023-11-24 四川数智云链科技有限公司 Digital anti-counterfeiting method based on whole flow of supply chain
CN117114719B (en) * 2023-10-24 2024-02-09 四川数智云链科技有限公司 Digital anti-counterfeiting method based on whole flow of supply chain

Similar Documents

Publication Publication Date Title
KR101925463B1 (en) Method of record and validation of image hash value and apparatus using the same
US10880080B1 (en) Cryptographic key generation from biometric data
US10924285B2 (en) Method and server for providing notary service with respect to file and verifying file recorded by the notary service
US11349666B2 (en) Electronically signing and distributing identification data as a service that provides proof of identity, integrity, validity and origin of data for non-repudiation and ID validation methods
US10372942B1 (en) Method and server for providing notary service for file and verifying file recorded by notary service
RU2263407C2 (en) Data protection method
JP4938678B2 (en) Secure calculation of similarity measures
JP6555073B2 (en) Set-based biometric authentication to protect privacy
US11205014B2 (en) Method and server for authenticating and verifying file
US20180373859A1 (en) Systems and methods for authentication using digital signature with biometrics
KR101948721B1 (en) Method and apparatus for examining forgery of file by using file hash value
FR3054905B1 (en) KEY GENERATION METHOD AND ACCESS CONTROL METHOD
KR19990082729A (en) Secured signal modification and verification with privacy control
US10990660B2 (en) Device and methods for authenticating a user equipment
KR20160144375A (en) Method and apparatus of verifying usability of biological characteristic image
CN113076375B (en) Multi-party synchronous sampling consensus method, system and device based on block chain and medium
US10469264B2 (en) Method and server for authenticating and verifying file
TW202203062A (en) Blockchain-based identity verification method and related hardware
CN113472521A (en) Block chain-based real-name digital identity management method, signature device and verification device
Zou et al. Blockchain-based photo forensics with permissible transformations
US9009486B2 (en) Biometric authentication apparatus, biometric authentication method, and computer readable storage medium
US7739500B2 (en) Method and system for consistent recognition of ongoing digital relationships
WO2024032658A1 (en) Method for processing medical data processing, system, apparatus, and computer device
JP6145792B2 (en) Digital signature type two-dimensional code generation device and digital signature type two-dimensional code authentication device
WO2020057389A1 (en) Signature verification method and apparatus, electronic device and readable storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant