KR102566991B1 - System for providing countersign service using fingerprint - Google Patents

System for providing countersign service using fingerprint Download PDF

Info

Publication number
KR102566991B1
KR102566991B1 KR1020230058517A KR20230058517A KR102566991B1 KR 102566991 B1 KR102566991 B1 KR 102566991B1 KR 1020230058517 A KR1020230058517 A KR 1020230058517A KR 20230058517 A KR20230058517 A KR 20230058517A KR 102566991 B1 KR102566991 B1 KR 102566991B1
Authority
KR
South Korea
Prior art keywords
page
fingerprint
contract
service providing
electronic
Prior art date
Application number
KR1020230058517A
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 KR1020230058517A priority Critical patent/KR102566991B1/en
Application granted granted Critical
Publication of KR102566991B1 publication Critical patent/KR102566991B1/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • G06F16/152File search processing using file content signatures, e.g. hash values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)

Abstract

핑거프린트를 이용한 전자간인 서비스 제공 시스템이 제공되며, 계약서를 업로드하고 전자간인을 요청하는 적어도 하나의 사용자 단말 및 적어도 하나의 사용자 단말로부터 계약서를 업로드받는 접수부, 계약서를 이루는 각 페이지에 기 구축된 핑거프린트(Fingerprint) 생성 파라미터로 핑거프린트를 생성하도록 설정하는 설정부, 페이지의 내용에 관한 핑거프린트를 생성하여 내용 핑거프린트로 저장하는 내용저장부, 페이지의 페이지 번호인 순서에 관한 핑거프린트를 생성하여 순서 핑거프린트로 저장하는 순서저장부, 내용 핑거프린트 및 순서 핑거프린트를 페이지 핑거프린트로 기입하는 페이지저장부를 포함하는 전자간인 서비스 제공 서버를 포함한다.An electronic service providing system using a fingerprint is provided, at least one user terminal for uploading a contract and requesting an electronic seal, a reception unit for receiving a contract from at least one user terminal, and a finger pre-built on each page constituting the contract A setting unit that sets to generate a fingerprint with a print generation parameter, a content storage unit that creates a fingerprint on the contents of a page and stores it as a content fingerprint, and generates a fingerprint on the order of the page number of the page and an electronic service providing server including a sequence storage unit for storing sequence fingerprints, and a page storage unit for writing content fingerprints and sequence fingerprints as page fingerprints.

Description

핑거프린트를 이용한 전자간인 서비스 제공 시스템{SYSTEM FOR PROVIDING COUNTERSIGN SERVICE USING FINGERPRINT}Electronic service providing system using fingerprint {SYSTEM FOR PROVIDING COUNTERSIGN SERVICE USING FINGERPRINT}

본 발명은 핑거프린트를 이용한 전자간인 서비스 제공 시스템에 관한 것으로, 각 페이지의 내용 및 순서에 대한 핑거프린트를 생성하고, 각 페이지가 팔로우 및 팔로잉을 함으로써 연속성을 보증하여 위변조를 불가하도록 하는 시스템을 제공한다.The present invention relates to a system for providing electronic interpersonal services using fingerprints, which generates fingerprints for the content and order of each page, and guarantees continuity by following and following each page, thereby preventing forgery and alteration. to provide.

전자서명은 종이문서에 서명을 하거나 도장을 찍듯이 전자문서에 행하는 전자적 방식의 서명 또는 날인을 말한다. 전자서명을 이용하여 전자상거래, 전자금융거래, 전자정부 서비스를 비대면으로 이용할 수 있다. 그동안 일반 대중이 가장 많이 사용하는 전자서명수단이 공인인증서였다. 공인인증서는 기술적으로 우수한 전자서명수단이지만 가입자와 이용자에게 불편한 전자서명수단이기도 했다. 과도하게 집중된 공인전자서명 위주의 법제도 설계와 기술편중은 다양한 혁신서비스를 가로막는 장애물로 인식되었고, 2014년 전자금융거래에서 공인인증서 사용을 강제하는 근거로 활용된 규정을 삭제하는 내용의 전자금융거래법 개정을 시작으로 2020년 전자서명법 전면 개정까지 공인인증서, 공인인증업무 및 공인인증기관 등 일련의 공인전자서명 규정이 완전히 삭제되었다. 국민 여론은 안전성보다 편의성을 원하였고 법률 개정을 통하여 새로운 전자서명 제도가 시행되었으며, 변화된 전자서명 제도의 개정 취지대로 다양한 사설인증서가 혁신적인 서비스를 선보이며 시장에 출현하고 있다. 이동통신 3사의 패스 인증서, 카카오의 카카오페이 인증서, 은행들이 연합한 뱅크사인, 간편송금서비스 토스의 토스 인증서, 네이버의 네이버 인증서 등 다양한 서비스가 시장에 선보이고 있다.An electronic signature refers to an electronic signature or seal applied to an electronic document in the same way as signing or stamping a paper document. E-commerce, e-financial transactions, and e-government services can be used non-face-to-face by using e-signatures. Until now, the most widely used electronic signature method by the general public has been a public certificate. A public certificate is a technically superior electronic signature means, but it was also an inconvenient electronic signature means for subscribers and users. The overly concentrated legal system design and technology focus on certified electronic signatures were recognized as obstacles to various innovative services, and in 2014, the Electronic Financial Transaction Act, which deletes the regulations used as the basis for forcing the use of accredited certificates in electronic financial transactions From the revision to the full revision of the Electronic Signature Act in 2020, a series of accredited electronic signature regulations, such as accredited certificates, accredited certification services, and accredited certification authorities, have been completely deleted. Public opinion wanted convenience rather than safety, and a new electronic signature system was implemented through law revision, and various private certificates are appearing in the market with innovative services in accordance with the purpose of the revised electronic signature system. Various services such as pass certificates from the three mobile telecommunication companies, Kakao Pay certificates from Kakao, bank signs affiliated with banks, Toss certificates from simple remittance service Toss, and Naver certificates from Naver are being introduced to the market.

이때, 전자서명의 일괄 패키징을 수행함으로써 전자간인(間印)의 기능을 제공하거나 간인을 찍을 위치를 프린트하는 방법이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 한국등록특허 제10-0886690호(2009년03월04일 공고) 및 한국등록특허 제10-0563076호(2006년03월24일 공고)에는, 전자계약을 진행할 때 계약파일을 하나의 파일로 압축하도록 패키징하고, 일괄 전자서명을 할 수 있도록 문서 중 일부가 빠지지 않았음을 보장하는 간인의 기능을 제공하는 구성과, 다중문서를 전자문서로 변환하고, 문서의 앞뒷면이 접힌 앞장의 뒷면과 뒷장의 앞면에 전자간인을 찍을 위치 및 좌표를 설정하며, 설정된 전자간인의 위치 및 방향을 데이터베이스에 저장하는 구성이 각각 개시되어 있다.At this time, a method of providing a function of electronic signature by performing batch packaging of electronic signatures or printing a location for stamping has been researched and developed. In this regard, Korea Patent Registration No. 10-0886690 ( Announced on March 4, 2009) and Korean Registered Patent No. 10-0563076 (Announced on March 24, 2006), when conducting an electronic contract, package the contract file to be compressed into a single file, and batch electronic signature a configuration that provides a function of sealer to ensure that some of the documents are not missing, converts multiple documents into electronic documents, and places an electronic seal on the back and front sides of the front and back sheets where the front and back sides of the document are folded; A configuration for setting coordinates and storing the set position and direction of an electronic interpersonal person in a database is disclosed.

다만, 전자의 경우 계약파일을 압축할 뿐 계약서의 연속성 및 무결성이 보장되도록 전자간인을 제공하는 구성이 아니고, 후자의 경우에도 종이문서에 간인, 즉 문서 간 도장을 찍을 자리만을 인쇄해주는 구성일 뿐 문서의 연속성을 증명해주는 구성이 아니다. However, in the case of the former, the contract file is compressed, but it is not a configuration that provides an electronic seal to ensure the continuity and integrity of the contract. It is not a composition that proves the continuity of the document.

자 서명 또는 전자 계약은 종이를 사용한 전통적인 방식의 서명 또는 계약과 달리 전자적 원본 문서 1개로 모든 절차가 완료되고 법적 효력이 발생하므로 간인 또는 계인을 할 필요가 없습니다.Unlike traditional signatures or contracts using paper, signatures or electronic contracts do not require an intersign or seal because all procedures are completed with one electronic original document and legal effect takes effect.

또한 한컴싸인에는 전자 사명에서만 제공할 수 있는 감사 추적과 같은 위변조 방지 및 보안 기술이 기본적으로 적용되므로 안전하게 서명 또는 계약할 수 있습니다. 종이서명의 간인이란 하나의 계약서가 여러 장으로 구성되어 있을 때 해당 문서 각 장의 연속성을 증명하기 위해 사용하는 날인 방법으로, 앞장의 뒷면과 뒷장의 앞면이 서로 만나게 접은 다음 각 면에 절반씩 겹쳐서 날인하는 방법을 말한다. 또, 종이서명의 계인이란 계약 당사자가 여러 명일 때 해당 문서의 상호 연관성을 증명하기 위해 사용하는 날인 방법인데, 간인과 달리 동일한 계약서의 첫 장을 나란히 배열한 뒤 겹치는 부분에 날인하는 방법을 말한다. 간인과 계인은 위변조방지를 목적으로 하지만 계약서가 여러 장일 때 한 장이 빠지거나 더해지는 등의 위험을 방지하고 연속성을 보장하기 위함이기도 하다. 이에, 문서의 연속성을 보장하고 위변조를 방지할 수 있는 전자간인의 연구 및 개발이 요구된다.In addition, since anti-counterfeiting and security technologies such as audit trails, which can only be provided by electronic missions, are basically applied to Hancom Sign, you can sign or contract safely. The seal of paper signature is a method of sealing used to prove the continuity of each page when a contract consists of several pages. tell me how to do it In addition, the paper signature seal is a method of sealing that is used to prove the interrelationship of the document when there are multiple parties to the contract. The purpose of the seal and seal is to prevent forgery and falsification, but also to prevent the risk of missing or adding one sheet when there are multiple contracts and to ensure continuity. Therefore, research and development of electronic seals capable of ensuring the continuity of documents and preventing forgery and alteration are required.

본 발명의 일 실시예는, 복수의 페이지로 이루어진 문서 중 첫 페이지에서부터 마지막 페이지에 걸쳐 각 페이지별로 핑거프린트(FingerPrint) 생성 파라미터를 이용하여 이전 페이지의 핑거프린트가 없으면 널(Null)값으로 채우고, 현재 페이지 본문의 핑거프린트를 생성한 후 다음 페이지의 핑거프린트가 없으면 널 값으로 채우는 방식으로, 어느 하나의 페이지의 내용이 확정되었을 때 내용에 관한 내용 핑거프린트를 생성하고, 페이지의 순서에 대한 순서 핑거프린트를 생성하며, 어느 하나의 페이지 전체에 대한 내용 핑거프린트 및 순서 핑거프린트로 페이지 핑거프린트를 생성한 후 다음 페이지로 이동하고 과정을 반복함으로써 문서의 연속성을 보장하도록 하고, 각 페이지의 순서에 맞게 이전 페이지가 다음 페이지를 가리키도록 설정하며, 각 페이지가 팔로잉(Following) 및 팔로우(Follow)를 하도록 설정함으로써 문서의 첨가 또는 삭제를 방지하도록 전자간인을 제공하는, 핑거프린트를 이용한 전자간인 서비스 제공 시스템을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.In one embodiment of the present invention, if there is no fingerprint of the previous page using a fingerprint generation parameter for each page from the first page to the last page of a document consisting of a plurality of pages, it is filled with a null value, After generating the fingerprint of the body of the current page, if there is no fingerprint of the next page, fill it with a null value. When the content of one page is confirmed, the content fingerprint is created, and the order of the pages Generates a fingerprint, and after generating a page fingerprint with a content fingerprint and a sequence fingerprint for any one page, move to the next page and repeat the process to ensure the continuity of the document, and to ensure the continuity of the document Electronic signature using fingerprint, providing electronic authentication to prevent addition or deletion of documents by setting the previous page to point to the next page accordingly, and setting each page to follow and follow A service provision system can be provided. However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 계약서를 업로드하고 전자간인을 요청하는 적어도 하나의 사용자 단말 및 적어도 하나의 사용자 단말로부터 계약서를 업로드받는 접수부, 계약서를 이루는 각 페이지에 기 구축된 핑거프린트(Fingerprint) 생성 파라미터로 핑거프린트를 생성하도록 설정하는 설정부, 페이지의 내용에 관한 핑거프린트를 생성하여 내용 핑거프린트로 저장하는 내용저장부, 페이지의 페이지 번호인 순서에 관한 핑거프린트를 생성하여 순서 핑거프린트로 저장하는 순서저장부, 내용 핑거프린트 및 순서 핑거프린트를 페이지 핑거프린트로 기입하는 페이지저장부를 포함하는 전자간인 서비스 제공 서버를 포함한다.As a technical means for achieving the above-described technical problem, an embodiment of the present invention, at least one user terminal for uploading a contract and requesting an electronic signature, and a receiving unit for receiving the contract from at least one user terminal, constituting the contract A setting unit that sets a fingerprint to be generated with a fingerprint generation parameter pre-established in each page, a content storage unit that creates and stores a fingerprint about the content of a page as a content fingerprint, and a sequence that is the page number of the page and an electronic interpersonal service providing server including a sequence storage unit that generates and stores a fingerprint related to a sequence fingerprint, and a page storage unit that writes a content fingerprint and a sequence fingerprint as a page fingerprint.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 복수의 페이지로 이루어진 문서 중 첫 페이지에서부터 마지막 페이지에 걸쳐 각 페이지별로 핑거프린트(FingerPrint) 생성 파라미터를 이용하여 이전 페이지의 핑거프린트가 없으면 널(Null)값으로 채우고, 현재 페이지 본문의 핑거프린트를 생성한 후 다음 페이지의 핑거프린트가 없으면 널 값으로 채우는 방식으로, 어느 하나의 페이지의 내용이 확정되었을 때 내용에 관한 내용 핑거프린트를 생성하고, 페이지의 순서에 대한 순서 핑거프린트를 생성하며, 어느 하나의 페이지 전체에 대한 내용 핑거프린트 및 순서 핑거프린트로 페이지 핑거프린트를 생성한 후 다음 페이지로 이동하고 과정을 반복함으로써 문서의 연속성을 보장하도록 하고, 각 페이지의 순서에 맞게 이전 페이지가 다음 페이지를 가리키도록 설정하며, 각 페이지가 팔로잉(Following) 및 팔로우(Follow)를 하도록 설정함으로써 문서의 첨가 또는 삭제를 방지하도록 전자간인을 제공할 수 있다.According to any one of the above-described problem solving means of the present invention, if there is no fingerprint of the previous page by using a fingerprint generation parameter for each page from the first page to the last page of a document consisting of a plurality of pages, null ( Null), create a fingerprint of the body of the current page, and then fill it with a null value if there is no fingerprint of the next page. Generates a sequence fingerprint for the sequence of pages, and after generating a page fingerprint with a content fingerprint and sequence fingerprint for an entire page, move to the next page and repeat the process to ensure the continuity of the document , In accordance with the order of each page, the previous page is set to point to the next page, and by setting each page to Follow and Follow, electronic signatures can be provided to prevent the addition or deletion of documents. there is.

도 1은 본 발명의 일 실시예에 따른 핑거프린트를 이용한 전자간인 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 전자간인 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 핑거프린트를 이용한 전자간인 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 핑거프린트를 이용한 전자간인 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
1 is a diagram for explaining an electronic service providing system using a fingerprint according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating an electronic interpersonal service providing server included in the system of FIG. 1 .
3 and 4 are diagrams for explaining an embodiment in which an electronic interpersonal service using a fingerprint according to an embodiment of the present invention is implemented.
5 is an operational flowchart illustrating a method for providing electronic interpersonal services using fingerprints according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail so that those skilled in the art can easily practice the present invention with reference to the accompanying drawings. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case where it is "directly connected" but also the case where it is "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, this means that it may further include other components, not excluding other components, unless otherwise stated, and one or more other characteristics. However, it should be understood that it does not preclude the possibility of existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다. As used throughout the specification, the terms "about", "substantially", etc., are used at or approximating that value when manufacturing and material tolerances inherent in the stated meaning are given, and do not convey an understanding of the present invention. Accurate or absolute figures are used to help prevent exploitation by unscrupulous infringers of the disclosed disclosure. The term "step of (doing)" or "step of" as used throughout the specification of the present invention does not mean "step for".

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체 지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In this specification, a "unit" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized using two or more hardware, and two or more units may be realized by one hardware. On the other hand, '~ unit' is not limited to software or hardware, and '~ unit' may be configured to be in an addressable storage medium or configured to reproduce one or more processors. Thus, as an example, '~unit' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables. Functions provided within components and '~units' may be combined into smaller numbers of components and '~units' or further separated into additional components and '~units'. In addition, components and '~units' may be implemented to play one or more CPUs in a device or a secure multimedia card.

본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다. In this specification, some of the operations or functions described as being performed by a terminal, device, or device may be performed instead by a server connected to the terminal, device, or device. Likewise, some of the operations or functions described as being performed by the server may also be performed by a terminal, apparatus, or device connected to the server.

본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.In this specification, some of the operations or functions described as mapping or matching with the terminal mean mapping or matching the terminal's unique number or personal identification information, which is the terminal's identifying data. can be interpreted as

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 핑거프린트를 이용한 전자간인 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 핑거프린트를 이용한 전자간인 서비스 제공 시스템(1)은, 적어도 하나의 사용자 단말(100), 전자간인 서비스 제공 서버(300), 적어도 하나의 계약자 단말(400)을 포함할 수 있다. 다만, 이러한 도 1의 핑거프린트를 이용한 전자간인 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.1 is a diagram for explaining an electronic service providing system using a fingerprint according to an embodiment of the present invention. Referring to FIG. 1 , an electronic service providing system 1 using a fingerprint may include at least one user terminal 100, an electronic service providing server 300, and at least one contractor terminal 400 there is. However, since the electronic service providing system 1 using the fingerprint of FIG. 1 is only one embodiment of the present invention, the present invention is not limitedly interpreted through FIG. 1 .

이때, 도 1의 각 구성요소들은 일반적으로 네트워크(Network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 사용자 단말(100)은 네트워크(200)를 통하여 전자간인 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 전자간인 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100) 및 적어도 하나의 계약자 단말(400)과 연결될 수 있다. 또한, 적어도 하나의 계약자 단말(400)은, 네트워크(200)를 통하여 전자간인 서비스 제공 서버(300)와 연결될 수 있다. At this time, each component of FIG. 1 is generally connected through a network (Network, 200). For example, as shown in FIG. 1 , at least one user terminal 100 may be connected to an electronic service providing server 300 through a network 200 . In addition, the electronic service providing server 300 may be connected to at least one user terminal 100 and at least one contractor terminal 400 through the network 200 . In addition, at least one contractor terminal 400 may be connected to the electronic service providing server 300 through the network 200 .

여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.Here, the network refers to a connection structure capable of exchanging information between nodes such as a plurality of terminals and servers, and examples of such networks include a local area network (LAN) and a wide area network (WAN: Wide Area Network), the Internet (WWW: World Wide Web), wired and wireless data communications networks, telephone networks, and wired and wireless television communications networks. Examples of wireless data communication networks include 3G, 4G, 5G, 3rd Generation Partnership Project (3GPP), 5th Generation Partnership Project (5GPP), Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), Wi-Fi , Internet (Internet), LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), RF (Radio Frequency), Bluetooth (Bluetooth) network, NFC ( A Near-Field Communication (Near-Field Communication) network, a satellite broadcasting network, an analog broadcasting network, a Digital Multimedia Broadcasting (DMB) network, etc. are included, but not limited thereto.

하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.In the following, the term at least one is defined as a term including singular and plural, and even if at least one term does not exist, each component may exist in singular or plural, and may mean singular or plural. It will be self-evident. In addition, the singular or plural number of each component may be changed according to embodiments.

적어도 하나의 사용자 단말(100)은, 핑거프린트를 이용한 전자간인 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 계약서를 업로드하고 전자간인을 요청하는 사용자의 단말일 수 있다.At least one user terminal 100 may be a terminal of a user who uploads a contract using a web page, app page, program or application related to an electronic seal service using a fingerprint and requests electronic seal.

여기서, 적어도 하나의 사용자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.Here, at least one user terminal 100 may be implemented as a computer capable of accessing a remote server or terminal through a network. Here, the computer may include, for example, a laptop, a desktop, a laptop, and the like equipped with a navigation system and a web browser. In this case, at least one user terminal 100 may be implemented as a terminal capable of accessing a remote server or terminal through a network. At least one user terminal 100 is, for example, a wireless communication device that ensures portability and mobility, navigation, PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet ) may include all types of handheld-based wireless communication devices such as terminals, smartphones, smart pads, tablet PCs, and the like.

전자간인 서비스 제공 서버(300)는, 핑거프린트를 이용한 전자간인 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 전자간인 서비스 제공 서버(300)는, 사용자 단말(100) 및 계약자 단말(400) 간 계약서를 업로드받고 전자간인 서비스를 제공하는 서버일 수 있다. 이를 위하여, 전자간인 서비스 제공 서버(300)는, 계약서를 이루는 복수의 페이지의 내용 및 순서에 대한 핑거프린트를 생성하고, 각 페이지 간 이전 및 다음이 연결되도록 팔로잉 및 팔로우 관계를 설정함으로써 원본무결성을 유지하고 페이지의 연속성을 증명하여 페이지가 추가되거나 빠지지 않도록 전자간인을 하는 서버일 수 있다.The electronic personal service providing server 300 may be a server that provides an electronic personal service web page, app page, program, or application using a fingerprint. Also, the electronic service providing server 300 may be a server that receives a contract between the user terminal 100 and the contractor terminal 400 and provides electronic service. To this end, the electronic service providing server 300 creates a fingerprint for the contents and order of a plurality of pages constituting the contract, and establishes a following and following relationship so that the previous and next pages are connected, thereby ensuring original integrity. It may be a server that maintains and proves the continuity of pages so that pages are not added or omitted.

여기서, 전자간인 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.Here, the electronic service providing server 300 may be implemented as a computer capable of accessing a remote server or terminal through a network. Here, the computer may include, for example, a laptop, a desktop, a laptop, and the like equipped with a navigation system and a web browser.

적어도 하나의 계약자 단말(400)은, 핑거프린트를 이용한 전자간인 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하는 사용자의 계약상대방의 단말일 수 있다. At least one contracting party terminal 400 may be a terminal of a user's contracting party using a web page, app page, program or application related to an electronic service using a fingerprint.

여기서, 적어도 하나의 계약자 단말(400)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 계약자 단말(400)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 계약자 단말(400)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.Here, at least one contractor terminal 400 may be implemented as a computer capable of accessing a remote server or terminal through a network. Here, the computer may include, for example, a laptop, a desktop, a laptop, and the like equipped with a navigation system and a web browser. In this case, at least one contractor terminal 400 may be implemented as a terminal capable of accessing a remote server or terminal through a network. At least one contractor terminal 400 is, for example, a wireless communication device that ensures portability and mobility, navigation, PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet ) may include all types of handheld-based wireless communication devices such as terminals, smartphones, smart pads, tablet PCs, and the like.

도 2는 도 1의 시스템에 포함된 전자간인 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3 및 도 4는 본 발명의 일 실시예에 따른 핑거프린트를 이용한 전자간인 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.2 is a block configuration diagram for explaining an electronic service providing server included in the system of FIG. 1, and FIGS. 3 and 4 are an implementation of an electronic service using a fingerprint according to an embodiment of the present invention. It is a drawing for explaining an example.

도 2를 참조하면, 전자간인 서비스 제공 서버(300)는, 접수부(310), 설정부(320), 내용저장부(330), 순서저장부(340), 페이지저장부(350), 생성관리부(360), 관계연결부(370), 포인터부(380), 반복부(390), 인증부(391), 콘텐츠해시화부(393), 순서해시화부(395), 리걸테크부(397) 및 자동작성부(399)를 포함할 수 있다.Referring to FIG. 2, the electronic service providing server 300 includes a reception unit 310, a setting unit 320, a content storage unit 330, an order storage unit 340, a page storage unit 350, and a creation management unit. 360, relationship connection unit 370, pointer unit 380, repetition unit 390, authentication unit 391, content hashing unit 393, sequence hashing unit 395, legal tech unit 397 and an automatic writing unit 399.

본 발명의 일 실시예에 따른 전자간인 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100) 및 적어도 하나의 계약자 단말(400)로 핑거프린트를 이용한 전자간인 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100) 및 적어도 하나의 계약자 단말(400)은, 핑거프린트를 이용한 전자간인 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 사용자 단말(100) 및 적어도 하나의 계약자 단말(400)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: World Wide Web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(Hyper Text Mark-up Language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(Chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(Application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(App)을 포함한다.The electronic interpersonal service providing server 300 according to an embodiment of the present invention or another server (not shown) operating in conjunction with at least one user terminal 100 and at least one contractor terminal 400 using a fingerprint When transmitting an electronic service application, program, app page, web page, etc., at least one user terminal 100 and at least one contractor terminal 400 are electronic service applications, programs, and app pages using a fingerprint , install or open web pages, etc. In addition, the service program may be driven in at least one user terminal 100 and at least one contractor terminal 400 using a script executed in a web browser. Here, the web browser is a program that allows users to use the web (WWW: World Wide Web) service, and means a program that receives and displays hypertext described in HTML (Hyper Text Mark-up Language). For example, Netscape , Explorer, Chrome, and the like. In addition, an application means an application on a terminal, and includes, for example, an app running on a mobile terminal (smart phone).

도 2를 참조하면, 접수부(310)는, 적어도 하나의 사용자 단말(100)로부터 계약서를 업로드받을 수 있다. 적어도 하나의 사용자 단말(100)은, 계약서를 업로드하고 전자간인을 요청할 수 있다. 이때, 파일 형태로 업로드를 받을 수도 있고, 오프라인에서 작성된 종이문서를 스캔한 스캔본을 업로드받을 수도 있다. Referring to FIG. 2 , the acceptance unit 310 may receive a contract uploaded from at least one user terminal 100 . At least one user terminal 100 may upload a contract and request an electronic seal. At this time, it may be uploaded in the form of a file or a scanned copy of a paper document created offline may be uploaded.

설정부(320)는, 계약서를 이루는 각 페이지에 기 구축된 핑거프린트(Fingerprint) 생성 파라미터로 핑거프린트를 생성하도록 설정할 수 있다. 핑거프린트의 사전적 의미는 지문인데, 통상적으로 불법유통 디지털 콘텐츠를 식별하기 위한 기술을 의미한다. 또한, 암호 알고리즘 및 해시 알고리즘에 의해 말하기도 하는데, 암호키 또는 해시값을 의미하며, 이를 암호 또는 메시지 지문이라고 한다. 이때, 핑거프린트는 워터마크와 유사하게 디지털데이터의 무단복제를 막기 위해 삽입되는 방식으로 이용되고 있는데, 디지털데이터가 불법적으로 무단 복제된 경우, 데이터의 판매자로 하여금 복제된 복사본의 원구매자를 식별할 수 있도록 하는 사후 검출기능을 제공함으로써, 구매자가 디지털데이터를 불법적으로 배포하지 못하도록 보호하는 기술이다. 핑거프린트는 디지털데이터의 불법 복제를 방지하기 위하여 데이터에 2진 마크를 삽입한다는 점에서 유사하지만, 데이터에 대해 삽입되는 마크의 내용이 모두 다르기 때문에 동일한 데이터 각각을 식별할 수 있는 추가적인 기능이 제공된다. 핑거프린트 함수(Fingerprint Algorithm)는 임의의 파일이나 대용량 데이터를 보다 짧은 비트(Bit), Fingerprint로 매핑하는 알고리즘인데, Fingerprint는 빠른 속도로 원본을 확인하기 위하여 사용되어 지고, 대용량의 데이터를 전송하거나 비교하는 일을 피할 수 있다. 예를 들어, 웹브라우저(Web BRowser)에서 원격에 있는 대용량을 파일이 변경이 되었는지를 확인하려고 할 때, 해당 파일의 Fingerprint를 받아서 미리 저장한 Fingerprint와 비교함으로써 변경 비교를 효율적으로 할 수 있다. Fingerprint Function은 Cryptographic Hash Function과 같은 고급암호화가 필요하지 않은 응용에서 데이터를 확인하는 분야에서 사용되는 고속 Hash Functions이다.The setting unit 320 may set to generate a fingerprint using a fingerprint generation parameter pre-established in each page constituting the contract. The dictionary meaning of fingerprint is a fingerprint, and it usually means a technology for identifying illegally distributed digital content. It is also referred to as an encryption algorithm and a hash algorithm, which means an encryption key or hash value, which is called an encryption or message fingerprint. At this time, the fingerprint is used in a way similar to a watermark to be inserted to prevent unauthorized copying of digital data. It is a technology that protects buyers from illegally distributing digital data by providing a post-detection function that enables Fingerprint is similar in that a binary mark is inserted into data to prevent illegal copying of digital data, but since the content of the mark inserted for data is all different, an additional function to identify each of the same data is provided. . The Fingerprint Algorithm is an algorithm that maps arbitrary files or large amounts of data to shorter bits, Fingerprints. Fingerprints are used to quickly identify the original and transmit or compare large amounts of data. you can avoid doing For example, when trying to check whether a remote large-capacity file has been changed in a web browser, the change comparison can be performed efficiently by receiving the fingerprint of the file and comparing it with the previously stored fingerprint. The Fingerprint Function is a high-speed hash function used in the field of verifying data in applications that do not require advanced encryption such as the Cryptographic Hash Function.

내용저장부(330)는, 페이지의 내용에 관한 핑거프린트를 생성하여 내용 핑거프린트로 저장할 수 있다. 순서저장부(340)는, 페이지의 페이지 번호인 순서에 관한 핑거프린트를 생성하여 순서 핑거프린트로 저장할 수 있다. 최근 음원 검색 기술은 주파수 분석을 통해 추출한 특징점을 사용하여 핑거프린트를 추출하는 방법을 사용하고 있는데, 이미지의 경우 저주파수 성분은 구조 정보를 포함하며, 고주파수 성분은 텍스쳐 정보를 포함하기 때문에, 주파수 분석은 음악에서처럼 이미지에서도 의미있는 정보를 추출하는데 유용하다. 핑거프린트는 저작물을 식별할 때, 이미지 데이터를 주파수 도메인으로 변환하여 특징점을 추출한다. 추출된 특징점을 연속된 그룹 단위로 묶어서 그룹의 대표 특징점과, 요소 특징점간의 위치 관계를 이용해서 주소값을 생성한다. 생성된 주소값은 이미지의 특정 그림 영역을 대표하는 키가 된다. 저작물 식별을 위해, 저작물 조각에서 생성된 주소값을 데이터베이스에서 검색하여 위치 관계의 일치가 순차적으로 발생하는 저작물을 원본 저작물로 선택한다. 이러한 방식으로, 원본 저작물의 일부분인 저작물 조각 하나만으로도 어느 저작물인지 식별 가능하다. 이를 이용하여 본 발명의 일 실시예에서는 주파수 영역 특징을 이용하여 계약서 핑거프린트를 생성할 수 있다.The content storage unit 330 may generate and store a fingerprint related to page content as a content fingerprint. The order storage unit 340 may generate and store a fingerprint related to the order, which is a page number of a page, as an order fingerprint. Recent sound source search technology uses a method of extracting a fingerprint using feature points extracted through frequency analysis. In the case of an image, low-frequency components include structure information and high-frequency components include texture information, so frequency analysis It is useful for extracting meaningful information from images as well as from music. When fingerprints identify copyrighted works, feature points are extracted by converting image data into a frequency domain. The extracted feature points are grouped into consecutive groups, and an address value is generated using the positional relationship between the representative feature point of the group and the element feature point. The generated address value becomes a key representing a specific picture area of the image. For work identification, the database is searched for the address value generated from the piece of work, and the work in which the positional relationship is sequentially matched is selected as the original work. In this way, a piece of a work that is part of the original work can be identified as a work. Using this, in an embodiment of the present invention, a contract fingerprint may be generated using a frequency domain feature.

<핑거프린트 생성><Create fingerprint>

주파수 특징점 추출을 위해 이미지 크기를 정규화 하는 과정에서 선형보간법을 사이용할 수 있다. 선형보간 알고리즘은 주위 픽셀 값을 참조하여 해당 픽셀 값을 결정할 수 있는데, 외곽 픽셀이 손실되거나 화대, 축소된 이미지가 입력되는 경우 고주파수 성분이 변화하게 된다. 계약서의 경우 원본 이미지의 크기가 매우 다양하지는 않기 때문에, 이미지 크기 정규화에 따른 고주파수 왜곡의 정도가 상대적으로 적다. 모든 주파수 영역에서 고정된 위치의 주파수 특징점을 추출하는 경우, 외곽 픽셀 손실 등의 왜곡에 매우 취약하다는 단점이 있다. 또한, 특징점간의 위치 관계 정보의 고유성이 약하기 때문에, 데이터베이스에 포함된 계약서 수가 늘어날수록 식별속도와 정확도가 감소한다는 단점이 있다. 이에 본 발명의 일 실시예에서는 일반적인 핑거프린트 보다 향상된 식별 정확도와 속도를 가진, 저주파 기반 계약서 핑거프린트 생성 방법을 이용할 수 있다.Linear interpolation can be used in the process of normalizing the image size for frequency feature point extraction. The linear interpolation algorithm may determine a corresponding pixel value by referring to neighboring pixel values. When an outer pixel is lost or a framed or reduced image is input, a high frequency component is changed. In the case of contracts, since the size of the original image does not vary greatly, the degree of high-frequency distortion due to image size normalization is relatively small. In the case of extracting a frequency feature point at a fixed position in all frequency domains, there is a disadvantage in that it is very vulnerable to distortion such as outer pixel loss. In addition, since the uniqueness of positional relationship information between feature points is weak, identification speed and accuracy decrease as the number of contracts included in the database increases. Accordingly, in one embodiment of the present invention, a low-frequency contract fingerprint generation method having improved identification accuracy and speed compared to general fingerprints can be used.

<ROI 추출><Extract ROI>

ROI(Region of Interest) 추출 단계에서 이미지의 그림 영역을 추출한다. 이미지 정규화 단계에서는 다양한 크기로 변형되어 게시된 계약서 이미지로부터 동일한 차원의 핑거프린트 추출을 위해, 추출된 ROI의 세로 길이를 정규화 한다. 스펙트로그램 생성 단계는 계약서 이미지를 행 단위로 주파수 영역 변환한다. 핑거프린트 생성 단계는 스펙트로그램의 저주파 영역에서 핑거프린트를 추출하는 단계이다. 계약서 핑거프린트 생성의 첫 번째 단계는 주어진 계약서 조각을 프레임 단위로 나누어 ROI를 추출하는 과정이다. 일반적인 식별 알고리즘에서는 입력된 계약서 조각을 단순하게 크기만 정규화하여 특징점을 추출하겠지만, 계약서 조각 전체를 입력으로 활용할 경우, 여백이 포함되어 필요없는 데이터가 생길 뿐만 아니라 여백으로 인한 오분류 확률도 높아진다. 여백을 제거하고 실제로 콘텐츠가 들어 있는 계약서 프레임만을 추출하는 방식을 이용할 수 있다. 이에, 전처리 과정으로 이미지에서 여백을 제외한 그림 영역만 추출한다. ROI추출을 위해 계약서 이미지의 모든 행의 2차 편미분 값을 사용하여 여백을 제거한다. 행 단위 연산을 통해 상하 여백이 제거되면, 모든 열의 2차 편미분 값을 구하여 좌우 여백을 제거한다. 계약서 이미지의 2차 편미분을 구할 경우, 단색 또는 일정한 그라데이션(Gradation)을 가진 여백은 픽셀값의 변화가 작거나 일정하기 때문에 2차 편미분 값이 매우 작다. 이미지의 가로 길이는 W, 세로 길이는 H, 행 단위 여백 결정 임계치는 εRow, 열 단위 여백 결정 임계치는 εcloumn 이라 할 때, 이미지에 존재하는 노이즈를 고려하여, 수학식 1과 같이 한 행 또는 열의 2차 편미분 값의 총합이 매우 작은 일정 임계값 이하일 경우 여백으로 간주한다. In the ROI (Region of Interest) extraction step, the picture area of the image is extracted. In the image normalization step, the vertical length of the extracted ROI is normalized in order to extract fingerprints of the same dimension from contract images that have been modified and posted in various sizes. In the spectrogram generation step, the contract image is transformed into the frequency domain in units of rows. The step of generating a fingerprint is a step of extracting a fingerprint from a low frequency region of the spectrogram. The first step in contract fingerprint generation is the process of extracting ROI by dividing a given contract piece into frames. In general identification algorithms, feature points are extracted by simply normalizing the size of the input contract fragments, but if the entire contract fragment is used as an input, not only unnecessary data is generated due to blanks, but also the probability of misclassification due to blanks increases. A method of removing blanks and extracting only contract frames that actually contain content can be used. Therefore, as a preprocessing process, only the drawing area excluding the blank space is extracted from the image. For ROI extraction, the blanks are removed using the second partial derivative of all rows of the contract image. If the top and bottom blanks are removed through row-by-row operation, the left and right blanks are removed by obtaining the second partial derivative of all columns. When obtaining the 2nd partial derivative of the contract image, the 2nd partial derivative value is very small because the change in pixel value is small or constant for blanks with a single color or constant gradation. When the horizontal length of the image is W, the vertical length is H, the blanking threshold in row units is εRow, and the blanking threshold in column units is εcloumn, in consideration of the noise present in the image, 2 of one row or column as in Equation 1 If the sum of the differential partial derivative values is below a very small certain threshold value, it is regarded as a margin.

Figure 112023050137218-pat00001
Figure 112023050137218-pat00001

이러한 과정을 거쳐 입력된 계약서 이미지는 프레임 단위로 ROI가 추출된다. ROI is extracted frame by frame from the contract image entered through this process.

<이미지 정규화 및 스펙트로그램 추출><Image normalization and spectrogram extraction>

일반적인 알고리즘은 이미지의 가로의 길이를 맞춰서 주파수 특징점을 추출하지만, 본 발명의 일 실시예에 따른 방법은, ROI 하나를 하나의 행 차원 벡터로 생성한다. 다양한 크기의 ROI에서 동일한 차원의 핑거프린트를 추출하기 위해서 ROI의 세로 길이를 Hnormpixel로 정규화 한다. 이미지의 비율을 유지하기 위해 정규화된 가로 길이 Wnorm은 수학식 2와 같이 계산된다. A general algorithm extracts frequency feature points by matching the horizontal length of an image, but the method according to an embodiment of the present invention generates one ROI as one row-dimensional vector. In order to extract fingerprints of the same dimension from ROIs of various sizes, the vertical length of the ROI is normalized to Hnormpixel. In order to maintain the image ratio, the normalized horizontal length Wnorm is calculated as in Equation 2.

Figure 112023050137218-pat00002
Figure 112023050137218-pat00002

일반적인 방식과 마찬가지로 크기가 정규화된 ROI를 행 별로 1차원 푸리에 변환(1D-FFT)를 수행하여 주파수 도메인으로 변환한다.As in the general method, the size-normalized ROI is transformed into a frequency domain by performing a 1-dimensional Fourier transform (1D-FFT) for each row.

<저주파 기반 핑거프린트 생성><Generation of low-frequency fingerprints>

저주파 성분은 이미지 정보의 대부분을 포함하기 때문에 JPEG 압축 방식에서도 고주파 성분을 제거하는 방식을 사용하여 압축 효율을 향상시킨다. 따라서 이미지를 대표하는 강인한 특징으로 저주파 성분을 사용하는 것이 적합하다. 예를 들어, 계약서 이미지 ROI 행에 따른 저주파수 푸리에 변환 값을 분석해 보면, 고주파수 영역 푸리에 변환 값이 왜곡에 따라 크게 변하는 것에 반해 저주파수 영역의 푸리에 변환 값은 왜곡에도 큰 변화가 없다. Since low-frequency components contain most of the image information, compression efficiency is improved by using a method of removing high-frequency components even in the JPEG compression method. Therefore, it is appropriate to use a low-frequency component as a strong feature representing an image. For example, when analyzing the low-frequency Fourier transform value according to the ROI row of the contract image, the high-frequency domain Fourier transform value changes greatly with distortion, whereas the low-frequency domain Fourier transform value does not change significantly with distortion.

본 발며으이 일 실시예에서는 ROI의 행을 각 차원으로 가지는 하나의 벡터를 생성하여 벡터간의 유사도를 기반으로 하는 핑거프린트 추출 알고리즘을 도입할 수 있다. 단순히 전체 주파수 영역에서 푸리에 변환 최댓값을 핑거프린트로 설정하는 경우에는 대부분 DC(Direct Current) 성분의 값이 추출되기 때문에 해당 계약서를 대표하는 핑거프린트의 고유성을 확보하기 어렵다. 고유성을 극대화하기 위해,ROI 특정 저주파수 영역(α*width ~ β*width)에서 각 행의 푸리에 변환 최댓값을 선택한다. 결과적으로 하나의 ROI에서 하나의 Hnorm차원 핑거프린트 벡터가 생성될 수 있다. 계약서 식별을 위해 데이터베이스에 저장된 다수의 핑거프린트와 입력 쿼리 이미지에서 추출된 핑거프린트간의 벡터 유사도를 계산하는데, 예를 들어, 유사도 계산에는 유클리디안 거리(Euclidean Distance)를 사용할 수 있다. 물론 이에 한정되는 것은 아니다.In one embodiment of the present invention, it is possible to introduce a fingerprint extraction algorithm based on similarity between vectors by generating one vector having ROI rows in each dimension. In the case of simply setting the maximum value of the Fourier transform in the entire frequency domain as a fingerprint, it is difficult to secure the uniqueness of the fingerprint representing the contract because most DC (Direct Current) component values are extracted. To maximize uniqueness, select the maximum value of the Fourier transform of each row in the ROI-specific low-frequency region (α*width to β*width). As a result, one Hnorm-dimensional fingerprint vector can be generated in one ROI. For contract identification, a vector similarity between a plurality of fingerprints stored in a database and a fingerprint extracted from an input query image is calculated. For example, a Euclidean distance may be used for similarity calculation. Of course, it is not limited thereto.

페이지저장부(350)는, 내용 핑거프린트 및 순서 핑거프린트를 페이지 핑거프린트로 기입할 수 있다. 페이지저장부(350)에서는 내용과 순서를 핑거프린트로 생성한 후 저장하게 되고 그 다음 페이지로 이동하여 마지막 페이지가 나올 때까지 반복하게 된다.The page storage unit 350 may write a content fingerprint and a sequence fingerprint as a page fingerprint. In the page storage unit 350, the contents and order are created as fingerprints and then stored, and then moved to the next page and repeated until the last page appears.

생성관리부(360)는, 계약서를 이루는 복수의 페이지의 어느 하나의 페이지를 기준으로, 이전 페이지가 없다면 순서 핑거프린트를 널(Null) 값으로, 다음 페이지가 없다면 순서 핑거프린트를 널 값으로 채울 수 있다. 예를 들어, 1 페이지부터 N 페이지까지 계약서가 존재한다고 가정하면, 1 페이지라면 앞 장은 없으므로 1 페이지의 이전 순서 핑거프린트는 Null 값이 된다. The creation management unit 360 fills the sequence fingerprint with a null value if there is no previous page and the sequence fingerprint with a null value if there is no next page based on any one page of the plurality of pages constituting the contract. there is. For example, assuming that a contract exists from page 1 to page N, if it is page 1, there is no previous page, so the previous sequence fingerprint of page 1 is a null value.

관계연결부(370)는, 계약서를 이루는 복수의 페이지의 어느 하나의 페이지를 기준으로, 어느 하나의 페이지의 다음 페이지가 어느 하나의 페이지를 팔로잉(Following)하도록 설정하고, 어느 하나의 페이지의 이전 페이지를 팔로우(Follow)하도록 설정할 수 있다. 포인터부(380)는, 계약서를 이루는 복수의 페이지의 어느 하나의 페이지를 기준으로, 어느 하나의 페이지의 다음 페이지가 어느 하나의 페이지를 가리키도록 설정하고, 어느 하나의 페이지가 어느 하나의 페이지의 다음 페이지를 가리키도록 설정할 수 있다. 이렇게 앞뒤관계를 설정해놓는 경우 어느 하나의 페이지가 빠지거나, 변형되거나 또 추가된 경우를 빠르게 알 수 있다.The relationship linking unit 370, based on any one page of the plurality of pages constituting the contract, sets the next page of any one page to follow any one page, and transfers any one page. You can set the page to follow. The pointer unit 380, based on any one page of the plurality of pages constituting the contract, sets the next page of any one page to point to any one page, and any one page points to any one page. can be set to point to the next page of If you set the back-and-forth relationship in this way, you can quickly know when a page is missing, modified, or added.

반복부(390)는, 계약서의 마지막 페이지까지 페이지 핑거프린트의 생성 프로세스를 반복할 수 있다.The repetition unit 390 may repeat the page fingerprint generation process until the last page of the contract.

인증부(391)는, 계약서의 마지막 페이지에 이른 경우 마지막 페이지임을 인증하고 생성 프로세스를 종료할 수 있다.When reaching the last page of the contract, the authentication unit 391 may authenticate that the contract is the last page and end the creation process.

콘텐츠해시화부(393)는, 각 페이지의 텍스트 및 이미지를 포함하는 페이지 콘텐츠를 해시함수로 변환하여 해시값을 저장할 수 있다. 순서해시화부(395)는, 페이지의 순서에 대한 번호 콘텐츠를 해시함수로 변환하여 해시값을 저장할 수 있다. 상술한 바와 같이 핑거프린트를 워터마크와 같이 넣을 수도 있지만, 페이지의 내용 자체를 해시함수로 변환하여 해시값을 생성할 수도 있다. 이는 실시예에 따라 달라질 수 있으므로 어느 하나에 한정되지 않는다. 또, 나열된 기술 이외에도 다양한 기술이 이용될 수 있음은 자명하다 할 것이다.The content hashing unit 393 may convert page content including text and images of each page into a hash function and store a hash value. The sequence hashing unit 395 may store the hash value by converting the number content of the sequence of pages into a hash function. As described above, a fingerprint may be included as a watermark, but a hash value may be generated by converting the content of the page itself into a hash function. Since this may vary depending on the embodiment, it is not limited to any one. In addition, it will be apparent that various technologies other than the listed technologies may be used.

<해시값><hash value>

내용에 대응하는 이미지를 해시함수로 변환하여 해시(Hash)값을 생성할 수 있다. 이때, 해시 알고리즘은 해시함수를 구성하기 위한 방법인데, 해시 알고리즘은 결정론적 알고리즘으로 원본 데이터가 조금이라도 다를 경우 결괏값도 달라진다. 단, 원본 메시지를 알고 있는 경우 암호문을 생성하는 것은 빠르고 쉽게 처리된다. 해시함수의 필수적 요소로는 역상 저항성, 제 2 역상 저항성, 충돌 저항성이 있으며 이를 통해 해시는 입력값을 수정하는 공격이나 해시만으로 원본을 찾기 어렵거나 다른 입력값에 대해 동일한 입력값을 찾는 것이 어렵도록 보장된다. 단 해시 알고리즘의 형태에 따라 각 요소 간 차이가 발생할 수는 있다. 내용에 대한 무결성을 검증하는 방법은 암호학적으로 안전한 일방향 해시함수(One Way Hash Function)를 사용하는 것이 가장 효과적이며, 해시함수는 디지털 서명, 메시지 인증 코드 등 정보보호 분야에서 널리 사용되고 있다. 해시함수를 이용하여 무결성을 검증하는 과정은 이하 표 1과 같을 수 있다.A hash value can be generated by converting an image corresponding to the content into a hash function. At this time, the hash algorithm is a method for constructing a hash function, and the hash algorithm is a deterministic algorithm, and the result value is also different if the original data is slightly different. However, if the original message is known, generating the ciphertext is a quick and easy process. The essential elements of a hash function are antiphase resistance, second antiphase resistance, and collision resistance. Through this, the hash can be used to make it difficult to find the original with only hash or an attack that modifies the input value, or to find the same input value for different input values. guaranteed However, differences between each element may occur depending on the form of hash algorithm. The most effective way to verify the integrity of the content is to use a cryptographically secure one-way hash function, and the hash function is widely used in the information protection field, such as digital signatures and message authentication codes. A process of verifying integrity using a hash function may be as shown in Table 1 below.

내용detail →전송→→Send→ 내용detail 해시함수hash function 해시함수hash function 해시코드hash code 해시코드hash code └→└→ 비교comparison ←┘←┘

<해시함수 반복>해시함수의 반복원리는 MD(Merkle-Damgard) 혹은 도메인 확장이나 운영 모드라고도 한다. 고정된 입출력 크기를 갖는 함수를 이용하여 임의의 입력을 다루는 해시함수를 구성하는 방법이다. 여기서, 고정된 입출력 크기를 갖는 함수를 압축함수라 한다. 압축함수가 충돌 저항성을 가질 경우 MD 방식으로 구성된 해시함수도 적절한 패딩(Padding)을 사용함을 전제로 충돌 저항성을 동일하게 가져갈 수 있다 여기서, 메시지는 짧은 메시지 블록으로 분해되며, 이 후 한 번에 하나씩 설계된 압축함수를 직렬로 연결하여 메시지 블록을 순차적으로 처리한다. 패딩의 경우 주어진 메시지에 일정 패딩 블록을 추가하는 형태로 MD-Strengthening 라고 불리며, SHA-1의 경우 이를 적용하면, 일반적으로 메시지의 맨 끝에 반드시 1을 붙인 후 0을 연접하여 전체 블록이 압축함수의 메시지 블록길이의 배수가 되도록 처리한다. 여기서, 나머지 64비트는 메시지의 길이로 채우는데, 출력 직전에 메시지의 길이가 추가된다. 이 같은 원리를 통해 해시는 고정된 출력 값을 가지면서 다른 입력값에 같은 출력값이 나오는 것을 방지할 수 있게 된다.<SHA><Hash Function Repetition> The repetition principle of hash function is also called MD (Merkle-Damgard) or domain extension or operating mode. This is a method of constructing a hash function that handles arbitrary inputs using a function with a fixed input/output size. Here, a function having a fixed input/output size is called a compression function. If the compression function has collision resistance, the hash function configured in the MD method can have the same collision resistance as long as appropriate padding is used. Here, the message is decomposed into short message blocks, then one at a time. The designed compression function is serially connected to sequentially process message blocks. In the case of padding, it is called MD-Strengthening in the form of adding a certain padding block to a given message. If this is applied in the case of SHA-1, generally, 1 must be appended to the end of the message and then 0 is concatenated so that the entire block is the compression function. It is processed so that it is a multiple of the message block length. Here, the remaining 64 bits are filled with the length of the message, and the length of the message is added just before output. Through this same principle, the hash can have a fixed output value and prevent the same output value from appearing in different input values. <SHA>

SHA(Secure Hash Algorithm)는, TLS, SSL, PGP, SSH, IPSec 등 많은 보안 프로토콜과 프로그램에서 사용되었는데, 취약점이 발견된 이후 SHA-256으로 교체되었다. 현재 표준인 SHA-256은 다른 SHA-2 패밀리와 유사한 구조를 가지나 64 라운드의 해시연산을 수행하며 연산결과로 출력되는 값은 256비트의 고정된 값을 출력하며, 이를 메시지 다이제스트라 한다. SHA-1 및 SHA-2까지는 블록이나 반복의 차이가 있을 뿐 유사한 방법을 사용하지만, SHA-256은 압축을 기반으로 8 개의 32비트를 업데이트 하며 그에 따른 상태변수가 존재하고, 업데이트를 총 64번 반복하는 형태로 메시지 다이제스트를 완성한다. 단계 변환을 위한 비트 불리언 함수인 fmaj와 fIF, 두 개의 선형 함수(Σ)가 등장하며 이를 통해 값을 변경하고 압축을 수행한다. 여기서, ROTR은 x를 n 위치만큼 오른쪽으로 비트회전 하는 것이다.SHA (Secure Hash Algorithm) was used in many security protocols and programs, such as TLS, SSL, PGP, SSH, and IPSec, but was replaced with SHA-256 after a vulnerability was discovered. SHA-256, the current standard, has a similar structure to other SHA-2 families, but performs 64 rounds of hash operation, and outputs a fixed value of 256 bits as a result of the operation, which is called a message digest. SHA-1 and SHA-2 use a similar method with only differences in blocks or repetitions, but SHA-256 updates 8 32 bits based on compression and has a corresponding state variable, updating a total of 64 times. It completes the message digest in an iterative fashion. Two linear functions (Σ), fmaj and fIF, which are bit Boolean functions for step conversion, appear, and through them, values are changed and compression is performed. Here, ROTR is to bit-rotate x to the right by n positions.

Figure 112023050137218-pat00003
Figure 112023050137218-pat00003

전체적으로, i 번째 단계는 고정된 상수 Ki와 Wi를 사용하며, Wi는 이전에 생성된 메시지로 값을 취할 수 있다. 이 과정을 통해 어떤 길이의 입력값이 들어와도 동일한 메시지 다이제스트를 출력할 수 있다. SHA는 한 글자라도 틀리면 다른 해시값을 출력하게 되므로 문서 무결성의 검증에 유용하게 사용될 수 있다. 상술한 방법은 내용을 기준으로 설명했으나, 이하 순서, 즉 페이지 번호에 대응하는 텍스트에 대한 해시값을 생성할 수도 있다.Overall, the ith step uses fixed constants Ki and Wi, and Wi can take the value of a previously generated message. Through this process, the same message digest can be output regardless of the input value of any length. SHA outputs a different hash value if even one letter is incorrect, so it can be useful for verifying document integrity. Although the above method has been described based on content, a hash value for a text corresponding to a page number may be generated in the following order.

리걸테크부(397)는, 계약서가 업로드된 후 전자간인을 포함시키기 이전에, 계약서의 내용을 기 구축된 인공지능 알고리즘으로 검토한 후 리스크를 검토할 수 있다. 사인 간 또 기업 간 계약을 진행할 때 계약서상에 명시된 조항들을 바탕으로 거래를 진행하게 된다. 하지만, 자신에게 불리하게 적용될 수 있는 독소조항을 계약 체결 전에 미처 발견하지 못하거나 인지하였더라도 이를 간과하고 대처하지 않을 경우, 거래 수행 단계 시에 현안이 발생하여 업무 지연 또는 손익 악화 등의 문제를 야기한다. 이러한 문제를 방지하기 위하여 계약 담당자나 관련 전문가들이 계약 체결 전에 해당 계약서를 검토하여 독소조항을 찾아내고 적절히 대처하는 과정을 수행하지만 이는 많은 시간과 비용을 소모하게 된다. 최근 계약서 내의 독소조항을 자동으로 판별할 수 있는 자동화 시스템의 연구가 활발하지만, 이는 규칙 기반 방식에 의존하고 있기 때문에 전문가들이 직접 검토하는 것에 비교하면 많은 개선이 있지만 해당 시스템의 개발을 위해 대량의 시간과 비용이 요구되는 상황은 변함이 없다. The legal tech department 397 may review the risk after reviewing the contents of the contract with a pre-built artificial intelligence algorithm before including the electronic person after the contract is uploaded. When contracts between private parties or between companies are carried out, transactions are conducted based on the provisions specified in the contract. However, if a poison clause that can be applied to one's disadvantage is not discovered before signing the contract or even if it is recognized, if it is overlooked and not dealt with, an issue arises during the transaction execution stage, causing problems such as work delay or worsening profit and loss. . In order to prevent such a problem, the person in charge of the contract or related experts reviews the contract before signing the contract to find out the toxic clause and take appropriate measures, but this consumes a lot of time and money. Recently, research on an automated system that can automatically determine poisonous clauses in a contract is active, but since it relies on a rule-based method, there are many improvements compared to direct review by experts, but a large amount of time is spent on developing the system. Circumstances and costs do not change.

따라서, 본 발명의 일 실시예에서는 상술한 시간과 비용 문제를 최소화 할 수 있도록 계약서를 미리 검토하여 독소조항을 판별할 수 있는 딥러닝 기반의 텍스트 분류(Text Classification) 모델을 이용할 수 있다. 자연어처리 분야에서 자주 다뤄왔던 문제인 텍스트 분류는 주어진 문장이나 단락 또는 문서가 어떤 클래스에 속하는지 분류하는 작업(Task)이며 감성 분석, 뉴스 기사 분류, 스팸 메일 분류 등에 활용된다. 텍스트 분류 작업에서 입력 단위가 여러 문장으로 이루어진 경우(단락, 문서 등), 핵심 내용과 관련성이 떨어지는 문장이 정확한 분류에 노이즈로 작용하는 경우가 존재한다. 이와 같이 분류에 노이즈로 작용 될 수 있는 문장을 선별하는 과정이 필요하므로, 다수의 문장으로 이루어진 단락을 입력으로 받아 각 문장들에 대한 가중치(Weight)를 조절하여 반영하고 이를 바탕으로 독소조항 여부를 분류해주는 심층학습(Deep Learning) 기반의 텍스트 분류 모델을 이용할 수 있다.Therefore, in one embodiment of the present invention, a deep learning-based text classification model capable of determining poisonous clauses by reviewing the contract in advance can be used to minimize the above-mentioned time and cost problems. Text classification, a problem that has been frequently dealt with in the field of natural language processing, is a task to classify a given sentence, paragraph or document to which class it belongs to, and is used for sentiment analysis, news article classification, and spam mail classification. In text classification work, when an input unit consists of several sentences (paragraphs, documents, etc.), sentences that are not related to the core content sometimes act as noise for accurate classification. In this way, a process of selecting sentences that can act as noise in classification is necessary, so a paragraph consisting of a large number of sentences is received as an input, the weight of each sentence is adjusted and reflected, and based on this, whether or not there is a poison clause is determined. You can use a deep learning-based text classification model that classifies text.

<리스크 검출><Risk Detection>

인코딩 단계에서 문장 인코더(Sentence Encoder)는 단락 내의 각 문장에 대응하는 문장벡터를 생성할 수 있다. 클래스 임베딩 계층(Class Embedding Layer)은 각 문장벡터들을 입력으로 받아 각 문장벡터와 분류할 클래스 사이의 유사도 정보를 출력한다. 게이트 계층(Gate Layer)은 각 문장벡터와 해당 문장벡터에 대응하는 클래스와의 유사도 정보를 연결(Concatenate)한 값을 입력 받아 각 문장에 대한 가중치를 계산하고 이를 반영한 문장벡터를 출력한다. 가중치가 반영된 문장벡터는 단락 인코더(Paragraph Encoder)의 입력으로 사용되어 다수의 문장벡터 입력에 대한 하나의 단락벡터를 생성한다. 디코딩 단계에서는 생성된 단락벡터를 클래스 임베딩 계층의 입력으로 사용하여 해당 단락벡터와 분류할 클래스들 사이의 유사도 정보를 출력한다. 마지막으로 전방전달신경망은 단락벡터와 클래스 임베딩 계층의 출력 값을 연결한 값을 입력받아 입력단락이 어떤 클래스에 속하는지에 대한 확률 분포를 생성한다.In the encoding step, a sentence encoder (Sentence Encoder) may generate a sentence vector corresponding to each sentence in a paragraph. The class embedding layer receives each sentence vector as an input and outputs similarity information between each sentence vector and the class to be classified. The gate layer receives a concatenated value of each sentence vector and similarity information with a class corresponding to the sentence vector, calculates a weight for each sentence, and outputs a sentence vector reflecting the weight. The weighted sentence vector is used as an input to the Paragraph Encoder to generate one paragraph vector for multiple sentence vector inputs. In the decoding step, the generated short vector is used as an input to the class embedding layer, and similarity information between the corresponding short vector and classes to be classified is output. Finally, the forward propagation neural network receives a value obtained by connecting the paragraph vector and the output value of the class embedding layer, and generates a probability distribution about which class the input paragraph belongs to.

문장 인코더(Sentence Encoder)은 예를 들어 ALBERT 기반 문장 인코더를 이용할 수 있다. 각 문장을 구분해주기 위한 [SEP] 토큰에 대응하는 인코더의 출력 값을 각 문장에 대한 문장벡터로 이용할 수 있다. 문장 인코더는 단락 내 각 문장들을 입력으로 받아 각 문장에 대응하는 문장벡터를 생성한다. 클래스 임베딩 계층(Class Embedding Layer)은 문장벡터 혹은 단락벡터를 입력 받아 전방전달신경망을 통해 클래스 벡터 공간으로 프로젝팅시킨다. 이때, 프로젝팅된 벡터를 임베딩 벡터라고 하며 임베딩 벡터와 클래스 임베딩 행렬은 행렬 곱 연산을 통해 분류할 각각의 클래스 벡터들과 임베딩 벡터의 코사인 유사도 분포를 생성한다. 최종적으로 클래스 임베딩 계층은 임베딩 벡터와 코사인 유사도 분포를 연결한 값을 출력한다. As the sentence encoder, for example, an ALBERT-based sentence encoder may be used. The output value of the encoder corresponding to the [SEP] token for distinguishing each sentence can be used as a sentence vector for each sentence. The sentence encoder receives each sentence in a paragraph as an input and generates a sentence vector corresponding to each sentence. The class embedding layer receives sentence vectors or paragraph vectors and projects them into the class vector space through the forward propagation neural network. At this time, the projected vector is called an embedding vector, and the embedding vector and the class embedding matrix generate a cosine similarity distribution of each class vector to be classified and the embedding vector through a matrix multiplication operation. Finally, the class embedding layer outputs a value obtained by connecting the embedding vector and the cosine similarity distribution.

게이트 계층(Gate Layer)은 순환 신경망의 게이트 이론을 응용한 방법으로 문장벡터와 이에 대응하는 임베딩 벡터, 임베딩 벡터와 각 클래스 벡터들의 코사인 유사도 분포를 연결한 값을 활용하여 각 문장의 반영 비율을 조절한다. 이와 같은 과정을 거쳐 입력단락 내의 문장들은 문장의 의미 정보, 클래스 벡터 공간 상의 위치 정보, 각 클래스와의 연관 정보를 바탕으로 각 문장 별로 다른 가중치를 갖게 된다. 단락 인코더(Paragraph Encoder)는 가중치가 반영된 각 문장벡터들을 주의 집중 방법이 적용된 단일 GRU(Gated Recurrent Unit) 계층의 입력으로 사용하여 전체 입력단락에 대한 단락벡터를 생성한다. 이렇게 모델을 구축한 후 데이터셋을 생성할 때 실제 계약서에서 발췌한 단락과, 이에 대응하는 독소조항여부를 쌍으로 매핑하여 데이터셋을 생성할 수 있으며, 학습 및 검증에 이용함으로써 인공지능 알고리즘을 모델링할 수 있다.The gate layer is a method that applies the gate theory of recurrent neural networks, and adjusts the reflection ratio of each sentence by using a sentence vector, a corresponding embedding vector, and a value obtained by connecting the embedding vector and the cosine similarity distribution of each class vector. do. Through this process, the sentences in the input paragraph have different weights for each sentence based on the semantic information of the sentence, the location information on the class vector space, and the association information with each class. A paragraph encoder generates paragraph vectors for all input paragraphs by using each weighted sentence vector as an input to a single gated recurrent unit (GRU) layer to which the attention-focusing method is applied. After building the model in this way, when creating a dataset, a dataset can be created by pairwise mapping the paragraphs extracted from the actual contract and whether or not there are poison clauses corresponding to them, and modeling the artificial intelligence algorithm by using it for learning and verification. can do.

자동작성부(399)는, 사용자 단말(100)에서 계약서를 생성할 때 사용자 단말(100)로부터 목적, 용도 및 계약자 정보를 포함하는 계약내용을 업로드받아 계약서의 종류를 추천하고, 사용자 단말(100)에서 계약서의 종류를 선택하는 경우 계약내용으로 계약서를 자동으로 작성할 수 있다. 최근 GPT-3를 이용하여 문장을 생성하는 Open AI가 발표되었는데, 이를 이용하는 경우 사용자가 원하는 문장을 자유롭게 생성해낼 수 있다. 이에 근거하는 경우 사용자가 어떠한 목적의 어떠한 용도의 계약서를 작성할 것인지에 대한 정보와 계약자 정보를 업로드하는 경우 자동으로 계약서를 작성해줄 수도 있다.When creating a contract in the user terminal 100, the automatic creation unit 399 uploads the contents of the contract including the purpose, use, and contractor information from the user terminal 100, recommends the type of contract, and recommends the type of contract. ), if you select the type of contract, you can automatically create a contract with the contents of the contract. Recently, Open AI, which generates sentences using GPT-3, has been announced. When using this, users can freely create sentences they want. Based on this, if the user uploads information about what purpose and purpose the contract is to be drawn up and contractor information, the contract can be created automatically.

덧붙여서, 본 발명의 일 실시예는 이렇게 전자간인이 핑거프린트로 부착된 계약서에 대하여 문서의 원본성을 확인하기 위해 문서의 유사도를 판단하는 방법을 더 이용할 수 있다. 예를 들어, LSH(Locality Sensitive Hashing)를 이용할 수 있다. 일반적으로 유사도는 육안으로 [유사하다] 혹은 [유사하지 않다]로 구별할 수 있는 척도이다. 이때 [유사하다]와 [유사하지 않다]의 판단은 사람마다 차이가 생길 수 있는 주관적인 지표이다. 이와 같은 주관적인 지표로 계약서의 원본 여부를 파악한다면 그 결과는 주관적일 수 밖에는 없다. 하지만 상술한 LSH는 이미 수학적으로 정립되어 있는 계산식을 통해 프로그램화되어 구현·처리되기 때문에 주관적인 유사도라는 오해 또는 오명으로부터 자유로울 수 있다. LSH는 유사도를 비교하는 알고리즘 중 하나로 데이터 마이닝, 패턴 인식, 컴퓨터 비전, 계산 기하학 및 데이터 압축과 같은 분야에서 사용된다. 또한 철자 검사, 표절 탐지 및 화학적 유사성을 측정하는데도 이용되고 있다.In addition, an embodiment of the present invention may further use a method of determining the degree of similarity of documents in order to confirm the originality of the document with respect to the contract attached by the electronic person as a fingerprint. For example, Locality Sensitive Hashing (LSH) may be used. In general, similarity is a scale that can be distinguished as [similar] or [not similar] with the naked eye. At this time, the judgment of [similar] and [not similar] is a subjective indicator that can cause differences from person to person. If such a subjective index determines whether a contract is original or not, the result is inevitably subjective. However, since the above-described LSH is programmed, implemented, and processed through a mathematically established formula, it can be free from misunderstanding or stigma of subjective similarity. LSH is one of the similarity comparison algorithms and is used in fields such as data mining, pattern recognition, computer vision, computational geometry, and data compression. It is also used to check spelling, detect plagiarism and measure chemical similarities.

<Shingling><Shingling>

Shingling 단계는 문서를 여러 개의 단어 모음으로 변환하는 작업을 의미한다. 벡터 유사도 모델에서 각각의 문서를 숫자로 표현하는 것과 같은 과정이다. 하나의 문서는 문자나 단어 혹은 다른 단위로 정의되는 토큰의 숫자에 따라 나뉘어 일종의 단어(문자) 나열로 표현된다. 이렇게 표현된 문서를 압축하기 위해 문서의 문자열을 정해진 바이트로 해싱을 하고 이러한 전체 해싱의 결과를 문서로 표현한다. 이렇게 단어나 문자 단위로 해싱을 하게되면 전체 문서로 보았을 때에는 직관적으로 유사한 문서들은 동일한 해싱 결과를 공통적으로 가지게 된다.The Shingling step means converting a document into a set of words. It is the same process as representing each document as a number in a vector similarity model. A document is expressed as a kind of word (character) sequence divided according to the number of tokens defined as characters, words, or other units. In order to compress the document expressed in this way, the string of the document is hashed with a specified byte, and the result of this entire hashing is expressed as a document. If hashing is done in word or character units, intuitively similar documents have the same hashing result in common when viewed as a whole document.

<Min-Hashing><Min-Hashing>

Min-Hashing 단계는 MinHash 알고리즘을 거치는 단계이다. 이 단계는 문서의 유사성을 유지하면서 용량이 큰 문서 세트(Shingles 처리된 문서)를 짧은 Signature로 변환하는 과정이다. Shingles 과정에서 문서를 Shingles의 세트로 표현하였는데, 이 세트를 행렬처럼 표현(열(Column), 행(Row)하고 순열 π를 이용해서 새로운 Signature 배열로 변환한다. 이때 사용되는 MinHash의 정의는 이하 수학식 4와 같다.The Min-Hashing step is a step through the MinHash algorithm. This step is a process of converting a large document set (Shingles processed documents) into a short signature while maintaining the similarity of documents. In the process of Shingles, the document is expressed as a set of Shingles, and this set is expressed like a matrix (column, row) and converted into a new signature array using permutation π. The definition of MinHash used at this time is as follows: Same as Equation 4.

Figure 112023050137218-pat00004
Figure 112023050137218-pat00004

위 공식은 순열 π에 대하여 첫째 열(Column)의 값이 제 1(순열의 순서)행의 수를 표현한 값이다. 이를 모든 열에 적용하여 각 열에 대한 Signature를 작성하기 위해 임의로 선택한 여러 순열 π를 적용한다. 결과는 행렬로 표현되며 순열 π에 대하여 열은 Sets 행은 MinHash 값으로 표현된다. 이렇게 생성된 signatrue는 원본 문서의 크기와 상관없이 고정된 값을 가지게 되므로 각각의 크기가 다른 문서와도 유사도를 비교할 수 있게 해준다. In the above formula, for permutation π, the value of the first column is a value expressing the number of rows in the first (order of permutation). By applying this to all columns, several randomly selected permutations π are applied to create signatures for each column. The result is expressed as a matrix, and for permutation π, columns are Sets and rows are expressed as MinHash values. Since the signatrue generated in this way has a fixed value regardless of the size of the original document, it is possible to compare the degree of similarity with documents of different sizes.

<LSH><LSH>

LSH(Locality Sensitive Hashing)의 전체 아이디어는 MinHash 과정에서 생성한 행렬에 대한 해시 열로부터 시작한다. MinHash 과정을 거쳐도 문서의 수만큼 해시 열이 여러 번 나타나는 것을 알 수 있다. LSH는 모든 문서를 비교하지 않기 위해 해시의 결과가 유사한 열만을 대략적으로 계산해 같은 Buckets에 담아 동일성을 비교하는 개념이다. 행렬 M의 각 열로 이루어진 밴드로 정의하는 것을 가정하면, 각 밴드는 각 열의 일부를 Buckets이 있는 해시 테이블로 계산을 한다. 같은 영역에 도달하는 밴드가 유사성을 가질 확률의 문서 쌍이 되고, 이러한 확률이 있는 문서 쌍만을 비교하므로 전체 문서의 비교 횟수를 줄여 대용량의 전자 정보간의 유사도를 비교할 수 있다.The whole idea of Locality Sensitive Hashing (LSH) starts with hash columns for matrices generated by the MinHash process. Even after going through the MinHash process, it can be seen that the hash column appears as many times as the number of documents. LSH is a concept that compares equality by roughly calculating only columns with similar hash results and putting them in the same buckets in order not to compare all documents. Assuming that it is defined as a band consisting of each column of matrix M, each band calculates a part of each column as a hash table with buckets. Bands reaching the same area become document pairs with a similarity probability, and since only document pairs with such a probability are compared, the number of comparisons of all documents can be reduced to compare the similarity between large amounts of electronic information.

이하, 상술한 도 2의 전자간인 서비스 제공 서버의 구성에 따른 동작 과정을 도 3 및 도 4를 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.Hereinafter, an operation process according to the configuration of the above-described inter-electronic service providing server of FIG. 2 will be described in detail with reference to FIGS. 3 and 4 as examples. However, it will be apparent that the embodiment is only any one of various embodiments of the present invention, and is not limited thereto.

도 3을 참조하면, (a) 전자간인 서비스 제공 서버(300)는 사용자 단말(100) 또는 계약자 단말(400)로부터 계약서를 업로드받고, (b)와 같이 각 페이지의 내용 및 순서에 대하여 핑거프린트를 생성한 후 (c)와 같이 각 페이지의 앞뒤를 연결하는 구조를 생성한다. (d) 이렇게 전자간인이 완성된 계약서를 전자간인 서비스 제공 서버(300)는 사용자 단말(100) 및 계약자 단말(400)로 전송한다. 이를 도식화하면 도 4와 같다.Referring to FIG. 3, (a) the electronic service providing server 300 receives a contract from the user terminal 100 or the contractor terminal 400, and prints a fingerprint for the contents and order of each page as shown in (b). After creating, create a structure that connects the front and back of each page as shown in (c). (d) The electronic intersign service providing server 300 transmits the electronic intersigned contract to the user terminal 100 and the contractor terminal 400. When this is schematized, it is shown in FIG. 4 .

이와 같은 도 2 내지 도 4의 핑거프린트를 이용한 전자간인 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 핑거프린트를 이용한 전자간인 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.Matters that have not been described for the method of providing electronic interpersonal services using fingerprints of FIGS. 2 to 4 are the same as those described for the method of providing interpersonal services using fingerprints through FIG. 1, or from the described content. Since it can be easily inferred, the following description will be omitted.

도 5는 본 발명의 일 실시예에 따른 도 1의 핑거프린트를 이용한 전자간인 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 5를 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 5에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.FIG. 5 is a diagram illustrating a process of transmitting/receiving data between components included in the electronic service providing system using the fingerprint of FIG. 1 according to an embodiment of the present invention. Hereinafter, an example of a process of transmitting and receiving data between each component will be described through FIG. 5, but the present application is not limited to such an embodiment, and according to various embodiments described above, It is obvious to those skilled in the art that a process of transmitting and receiving data may be changed.

도 5를 참조하면, 전자간인 서비스 제공 서버는, 적어도 하나의 사용자 단말로부터 계약서를 업로드받는다(S5100).Referring to FIG. 5 , the electronic service providing server receives a contract uploaded from at least one user terminal (S5100).

그리고, 전자간인 서비스 제공 서버는, 계약서를 이루는 각 페이지에 기 구축된 핑거프린트(Fingerprint) 생성 파라미터로 핑거프린트를 생성하도록 설정한다(S5200).Then, the electronic service providing server is configured to generate a fingerprint using a fingerprint generation parameter pre-established in each page constituting the contract (S5200).

또, 전자간인 서비스 제공 서버는, 페이지의 내용에 관한 핑거프린트를 생성하여 내용 핑거프린트로 저장한다(S5300).In addition, the electronic service providing server generates a fingerprint related to the content of the page and stores it as a content fingerprint (S5300).

그리고, 전자간인 서비스 제공 서버는, 페이지의 페이지 번호인 순서에 관한 핑거프린트를 생성하여 순서 핑거프린트로 저장하고(S5400), 내용 핑거프린트 및 순서 핑거프린트를 페이지 핑거프린트로 기입한다(S5500).Then, the electronic service providing server generates a fingerprint related to the order, which is the page number of the page, and stores it as the order fingerprint (S5400), and writes the content fingerprint and the order fingerprint as the page fingerprint (S5500).

상술한 단계들(S5100~S5500)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S5100~S5500)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.The order between the above-described steps (S5100 to S5500) is only an example, and is not limited thereto. That is, the order of the above-described steps (S5100 to S5500) may be mutually changed, and some of the steps may be simultaneously executed or deleted.

이와 같은 도 5의 핑거프린트를 이용한 전자간인 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 4를 통해 핑거프린트를 이용한 전자간인 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.Matters that have not been explained about the method of providing electronic interpersonal services using the fingerprint of FIG. 5 are the same as those described in the method of providing interpersonal services using fingerprints through FIGS. 1 to 4 above, or from the described content. Since it can be easily inferred, the following description will be omitted.

도 5를 통해 설명된 일 실시예에 따른 핑거프린트를 이용한 전자간인 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. The method for providing electronic services using fingerprints according to an embodiment described with reference to FIG. 5 may be implemented in the form of a recording medium including instructions executable by a computer, such as an application or program module executed by a computer. can Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer readable media may include all computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

전술한 본 발명의 일 실시예에 따른 핑거프린트를 이용한 전자간인 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 핑거프린트를 이용한 전자간인 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.The above-described method for providing electronic interpersonal service using a fingerprint according to an embodiment of the present invention is based on an application installed in a terminal (this may include a program included in a platform or operating system, etc. It may be executed, or it may be executed by an application (ie, a program) directly installed in the master terminal by a user through an application providing server such as an application store server, an application or a web server related to the corresponding service. In this sense, the above-described electronic service providing method using a fingerprint according to an embodiment of the present invention is implemented as an application (i.e., a program) that is basically installed in a terminal or directly installed by a user, and is implemented by a computer such as a terminal. It can be recorded on a readable recording medium.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The above description of the present invention is for illustrative purposes, and those skilled in the art can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts should be construed as being included in the scope of the present invention. do.

Claims (10)

계약서를 업로드하고 전자간인을 요청하는 적어도 하나의 사용자 단말; 및
상기 적어도 하나의 사용자 단말로부터 계약서를 업로드받는 접수부, 상기 계약서를 이루는 각 페이지에 기 구축된 핑거프린트(Fingerprint) 생성 파라미터로 핑거프린트를 생성하도록 설정하는 설정부, 페이지의 내용에 관한 핑거프린트를 생성하여 내용 핑거프린트로 저장하는 내용저장부, 상기 페이지의 페이지 번호인 순서에 관한 핑거프린트를 생성하여 순서 핑거프린트로 저장하는 순서저장부, 상기 내용 핑거프린트 및 순서 핑거프린트를 페이지 핑거프린트로 기입하는 페이지저장부, 상기 계약서가 업로드된 후 전자간인을 포함시키기 이전에, 상기 계약서의 내용을 기 구축된 인공지능 알고리즘으로 검토한 후 리스크를 검토하는 리걸테크부를 포함하는 전자간인 서비스 제공 서버;
를 포함하는 핑거프린트를 이용한 전자간인 서비스 제공 시스템.
At least one user terminal for uploading the contract and requesting electronic seal; and
A reception unit that receives a contract uploaded from the at least one user terminal, a setting unit that sets to generate a fingerprint with a fingerprint generation parameter pre-established in each page constituting the contract, and generates a fingerprint related to the content of the page A content storage unit that stores the content fingerprint as a content fingerprint, a sequence storage unit that generates and stores a fingerprint related to the sequence, which is the page number of the page, as a sequence fingerprint, and writes the content fingerprint and sequence fingerprint as a page fingerprint A page storage unit, an electronic interpersonal service providing server including a legal tech unit that reviews risks after reviewing the contents of the contract with a pre-established artificial intelligence algorithm before including an electronic interperson after the contract is uploaded;
An electronic interpersonal service providing system using a fingerprint comprising a.
제 1 항에 있어서,
상기 전자간인 서비스 제공 서버는,
상기 계약서를 이루는 복수의 페이지의 어느 하나의 페이지를 기준으로, 이전 페이지가 없다면 순서 핑거프린트를 널(Null) 값으로, 다음 페이지가 없다면 순서 핑거프린트를 널 값으로 채우는 생성관리부;
를 더 포함하는 것을 특징으로 하는 핑거프린트를 이용한 전자간인 서비스 제공 시스템.
According to claim 1,
The electronic interpersonal service providing server,
Based on any one of the plurality of pages constituting the contract, a generation management unit that fills the order fingerprint with a null value if there is no previous page and fills the order fingerprint with a null value if there is no next page;
Electronic interpersonal service providing system using a fingerprint, characterized in that it further comprises.
제 1 항에 있어서,
상기 전자간인 서비스 제공 서버는,
상기 계약서를 이루는 복수의 페이지의 어느 하나의 페이지를 기준으로, 상기 어느 하나의 페이지의 다음 페이지가 상기 어느 하나의 페이지를 팔로잉(Following)하도록 설정하고, 상기 어느 하나의 페이지의 이전 페이지를 팔로우(Follow)하도록 설정하는 관계연결부;
를 더 포함하는 것을 특징으로 하는 핑거프린트를 이용한 전자간인 서비스 제공 시스템.
According to claim 1,
The electronic interpersonal service providing server,
Based on any one page of the plurality of pages constituting the contract, the next page of the any one page is set to follow the any one page, and the previous page of the any one page is followed (Follow) a relationship connection unit that is set to;
Electronic interpersonal service providing system using a fingerprint, characterized in that it further comprises.
제 1 항에 있어서,
상기 전자간인 서비스 제공 서버는,
상기 계약서를 이루는 복수의 페이지의 어느 하나의 페이지를 기준으로, 상기 어느 하나의 페이지의 다음 페이지가 상기 어느 하나의 페이지를 가리키도록 설정하고, 상기 어느 하나의 페이지가 상기 어느 하나의 페이지의 다음 페이지를 가리키도록 설정하는 포인터부;
를 더 포함하는 것을 특징으로 하는 핑거프린트를 이용한 전자간인 서비스 제공 시스템.
According to claim 1,
The electronic interpersonal service providing server,
Based on any one of the plurality of pages constituting the contract, the next page of the one page is set to point to the one page, and the one page is the next page of the one page a pointer unit configured to point to a page;
Electronic interpersonal service providing system using a fingerprint, characterized in that it further comprises.
제 1 항에 있어서,
상기 전자간인 서비스 제공 서버는,
상기 계약서의 마지막 페이지까지 상기 페이지 핑거프린트의 생성 프로세스를 반복하는 반복부;
를 더 포함하는 것을 특징으로 하는 핑거프린트를 이용한 전자간인 서비스 제공 시스템.
According to claim 1,
The electronic interpersonal service providing server,
a repetition unit repeating the process of generating the page fingerprint until the last page of the contract;
Electronic interpersonal service providing system using a fingerprint, characterized in that it further comprises.
제 5 항에 있어서,
상기 전자간인 서비스 제공 서버는,
상기 계약서의 마지막 페이지에 이른 경우 상기 마지막 페이지임을 인증하고 상기 생성 프로세스를 종료하는 인증부;
를 더 포함하는 것을 특징으로 하는 핑거프린트를 이용한 전자간인 서비스 제공 시스템.
According to claim 5,
The electronic interpersonal service providing server,
an authentication unit for authenticating that the last page of the contract is reached and terminating the creation process;
Electronic interpersonal service providing system using a fingerprint, characterized in that it further comprises.
제 1 항에 있어서,
상기 전자간인 서비스 제공 서버는,
상기 각 페이지의 텍스트 및 이미지를 포함하는 페이지 콘텐츠를 해시함수로 변환하여 해시값을 저장하는 콘텐츠해시화부;
를 더 포함하는 것을 특징으로 하는 핑거프린트를 이용한 전자간인 서비스 제공 시스템.
According to claim 1,
The electronic interpersonal service providing server,
a content hashing unit converting page contents including text and images of each page into a hash function and storing a hash value;
Electronic interpersonal service providing system using a fingerprint, characterized in that it further comprises.
제 7 항에 있어서,
상기 전자간인 서비스 제공 서버는,
상기 페이지의 순서에 대한 번호 콘텐츠를 해시함수로 변환하여 해시값을 저장하는 순서해시화부;
를 더 포함하는 것을 특징으로 하는 핑거프린트를 이용한 전자간인 서비스 제공 시스템.
According to claim 7,
The electronic interpersonal service providing server,
a sequence hashing unit converting the number contents of the order of the pages into a hash function and storing a hash value;
Electronic interpersonal service providing system using a fingerprint, characterized in that it further comprises.
삭제delete 제 1 항에 있어서,
상기 전자간인 서비스 제공 서버는,
상기 사용자 단말에서 계약서를 생성할 때 상기 사용자 단말로부터 목적, 용도 및 계약자 정보를 포함하는 계약내용을 업로드받아 계약서의 종류를 추천하고, 상기 사용자 단말에서 계약서의 종류를 선택하는 경우 상기 계약내용으로 계약서를 자동으로 작성하는 자동작성부;
를 더 포함하는 것을 특징으로 하는 핑거프린트를 이용한 전자간인 서비스 제공 시스템.
According to claim 1,
The electronic interpersonal service providing server,
When creating a contract in the user terminal, the contents of the contract including the purpose, usage and contractor information are uploaded from the user terminal, and the type of contract is recommended, and when the type of contract is selected in the user terminal, the contract contents are an automatic creation unit that automatically creates;
Electronic interpersonal service providing system using a fingerprint, characterized in that it further comprises.
KR1020230058517A 2023-05-04 2023-05-04 System for providing countersign service using fingerprint KR102566991B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230058517A KR102566991B1 (en) 2023-05-04 2023-05-04 System for providing countersign service using fingerprint

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230058517A KR102566991B1 (en) 2023-05-04 2023-05-04 System for providing countersign service using fingerprint

Publications (1)

Publication Number Publication Date
KR102566991B1 true KR102566991B1 (en) 2023-08-14

Family

ID=87565733

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230058517A KR102566991B1 (en) 2023-05-04 2023-05-04 System for providing countersign service using fingerprint

Country Status (1)

Country Link
KR (1) KR102566991B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080009359A (en) * 2006-07-24 2008-01-29 주식회사 신한은행 System and method for processing information and program recording medium
KR20100039950A (en) * 2008-10-09 2010-04-19 (주)올라웍스 Method and system of offering numbers of advertisements classified by inetval of moving picture using finger-print analysis
KR20170129079A (en) * 2017-11-13 2017-11-24 나이스신용정보 주식회사 Method for providing mobile receipt service for contract

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080009359A (en) * 2006-07-24 2008-01-29 주식회사 신한은행 System and method for processing information and program recording medium
KR20100039950A (en) * 2008-10-09 2010-04-19 (주)올라웍스 Method and system of offering numbers of advertisements classified by inetval of moving picture using finger-print analysis
KR20170129079A (en) * 2017-11-13 2017-11-24 나이스신용정보 주식회사 Method for providing mobile receipt service for contract

Similar Documents

Publication Publication Date Title
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
Hakak et al. Approaches for preserving content integrity of sensitive online Arabic content: A survey and research challenges
US10706277B2 (en) Storing anonymized identifiers instead of personally identifiable information
US10374789B2 (en) Encrypting and decrypting information
Monga et al. A clustering based approach to perceptual image hashing
EA034354B1 (en) System and method for document information authenticity verification
CN110781460A (en) Copyright authentication method, device, equipment, system and computer readable storage medium
CN107122645A (en) Electronic contract signature system and method based on mobile terminal and Quick Response Code
US11128479B2 (en) Method and apparatus for verification of social media information
Jain et al. Adversarial Detection Avoidance Attacks: Evaluating the robustness of perceptual hashing-based client-side scanning
CN110503434A (en) Data verification method, device, equipment and storage medium based on hash algorithm
CN112330331A (en) Identity verification method, device and equipment based on face recognition and storage medium
CN109840469B (en) Image recognition-based policy entry method and related device
Al-Zahrani et al. Secure Real‐Time Artificial Intelligence System against Malicious QR Code Links
Moradi et al. A Real‐Time Biometric Encryption Scheme Based on Fuzzy Logic for IoT
CN117133006A (en) Document verification method and device, computer equipment and storage medium
Eskenazi et al. When document security brings new challenges to document analysis
KR102566991B1 (en) System for providing countersign service using fingerprint
Sheng et al. Detection of content-aware image resizing based on Benford’s law
Phiri et al. Identity attributes quantitative analysis and the development of a metrics model using text mining techniques and information theory
Liu et al. Perceptual color image hashing based on quaternionic local ranking binary pattern
Mohamed et al. Protecting wireless data transmission in mobile application systems using digital watermarking technique
CN112989820A (en) Legal document positioning method, device, equipment and storage medium
Amoah et al. QR Code security: mitigating the issue of quishing (QR Code Phishing)
Monisha et al. Aadhar UID Mask Detecting Tool Using CNN With Verhoeff Algorithm

Legal Events

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