KR20190127124A - 블록체인을 이용한 소스 코드 및 관련 데이터의 무결성 검증 방법 및 장치 - Google Patents

블록체인을 이용한 소스 코드 및 관련 데이터의 무결성 검증 방법 및 장치 Download PDF

Info

Publication number
KR20190127124A
KR20190127124A KR1020180051289A KR20180051289A KR20190127124A KR 20190127124 A KR20190127124 A KR 20190127124A KR 1020180051289 A KR1020180051289 A KR 1020180051289A KR 20180051289 A KR20180051289 A KR 20180051289A KR 20190127124 A KR20190127124 A KR 20190127124A
Authority
KR
South Korea
Prior art keywords
source code
related data
hash value
developer
server
Prior art date
Application number
KR1020180051289A
Other languages
English (en)
Inventor
김상민
Original Assignee
주식회사 지행아이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 지행아이티 filed Critical 주식회사 지행아이티
Priority to KR1020180051289A priority Critical patent/KR20190127124A/ko
Publication of KR20190127124A publication Critical patent/KR20190127124A/ko

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioethics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

클라이언트의 소스 코드 및 관련 데이터의 호출에 따라 적어도 하나의 웹 서버로부터 소스 코드 및 관련 데이터의 파일에 대한 제1 해시값을 수신하는 단계, 복수의 검증 서버로부터 발행 서버가 발행한 소스 코드 및 관련 데이터의 파일에 대한 제2 해시값을 포함하는 블록을 수신하는 단계 및 제1 해시값 및 제2 해시값을 비교하여 소스 코드 및 관련 데이터의 무결성을 검증하는 단계를 포함하는 발행 서버, 복수의 검증 서버 및 적어도 하나의 웹 서버와 연결된 관리 서버의 블록체인을 이용한 소스 코드 및 관련 데이터의 무결성 검증 방법이 개시된다. 또한, 소스 코드 및 관련 데이터에 대한 제2 해시값을 포함하는 블록을 발행하는 발행 서버의 블록 발행 방법이 함께 개시된다.

Description

블록체인을 이용한 소스 코드 및 관련 데이터의 무결성 검증 방법 및 장치{METHOD AND APPARATUS FOR VERIFYING INTEGRITY OF SOURCE CODE AND RELATED DATA USING BLOCKCHAIN}
본 발명은 블록체인을 이용한 소스 코드 및 관련 데이터의 무결성 검증 방법 및 장치에 관한 것으로, 소스 코드 및 관련 데이터 파일의 해시값을 포함하는 블록을 발행하며, 이를 기초로 소스 코드 및 관련 데이터가 변조되었는지를 판단하여 소스 코드 및 관련 데이터의 무결성을 검증하는 방법 및 장치에 관한 것이다.
최근 컴퓨팅 기술이 발전함에 따라 개발자가 개발하여 업로드한 소스 코드 및 관련 데이터을 클라이언트가 호출하여 이용하는 기술이 증가하고 있다. 다만, 이러한 기술은 클라이언트가 개발자에게 직접 요청하여 이루어지는 경우보다 서버를 관리하는 관리자가 존재하며, 개발자가 서버에 소스 코드 및 관련 데이터를 업로드하고, 클라이언트가 서버로 해당 소스 코드 및 관련 데이터를 호출하는 방법을 통해 이루어지는 경우가 대부분이다.
다만, 컴퓨팅 기술의 발전은 상술한 기술적 측면 외에 소스 코드 및 관련 데이터에 대한 공격도 함께 증가시키는 문제점이 존재하였다. 다시 말해, 소스 코드 및 관련 데이터를 저장하고 있는 서버를 공격하는 경우가 증가하고 있다. 이러한 서버 또는 웹 서버/WAS(Web Application Server)를 대상으로 하는 공격은 악성 URL(Uniform Resource Locator) 및 웹쉘(web shell) 또는 백도어 등 소스 코드 및 관련 데이터의 변조로 인하여 생성될 수 있는 모든 악의적인 행위는 대부분 소스 및 관련 데이터의 변조를 통한 공격이 주를 이루고 있으며, 이로 인해 클라이언트에게 제공하는 소스 코드 및 관련 데이터가 변조되었는지 변조되지 않았는지를 판단하는 기술에 대한 연구가 지속되고 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 블록체인을 이용한 소스 코드 및 관련 데이터의 무결성 검증 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 블록체인을 이용한 소스 코드 및 관련 데이터의 무결성 검증 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 소스 코드 및 관련 데이터의 무결성 검증 방법은, 클라이언트의 소스 코드 및 관련 데이터의 호출에 따라 적어도 하나의 웹 서버로부터 소스 및 관련 데이터의 파일에 대한 제1 해시값을 수신하는 단계, 복수의 검증 서버로부터 발행 서버가 발행한 소스 코드 및 관련 데이터의 파일에 대한 제2 해시값을 포함하는 블록을 수신하는 단계 및 제1 해시값 및 제2 해시값을 비교하여 소스 코드 및 관련 데이터의 무결성을 검증하는 단계를 포함할 수 있다.
여기서, 소스 코드 및 관련 데이터의 무결성을 검증하는 단계는, 제1 해시값 및 제2 해시값이 동일한 경우, 소스 코드 및 관련 데이터를 변조되지 않은 소스 코드 및 관련 데이터로 판단하는 단계를 포함할 수 있다.
여기서, 소스 코드 및 관련 데이터를 변조되지 않은 소스 코드 및 관련 데이터로 판단한 경우, 적어도 하나의 웹 서버로 판단 결과를 제공하는 단계를 더 포함할 수 있다.
여기서, 소스 코드 및 관련 데이터의 무결성을 검증하는 단계는, 제1 해시값 및 제2 해시값이 동일하지 않은 경우, 소스 코드 및 관련 데이터를 변조된 소스 코드 및 관련 데이터로 판단하는 단계를 포함할 수 있다.
여기서, 소스 코드 및 관련 데이터를 변조된 소스 코드 및 관련 데이터로 판단한 경우, 관리자에게 판단 결과를 제공하는 단계를 더 포함할 수 있다.
여기서, 블록은, 복수의 검증 서버가 서로 비교하여 무결성이 검증된 블록일 수 있다.
여기서, 개발자로부터 수신한 개발자의 ID(identification) 및 PW(password)를 포함하는 개발자 정보를 등록하는 단계 및 개발자 정보를 발행 서버에 제공하는 단계를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 블록 발행 방법은, 관리 서버로부터 제1 개발자 정보를 수신하는 단계, 개발자로부터 제2 개발자 정보 및 소스 및 관련 데이터 파일의 해시값을 수신하는 단계, 제1 개발자 정보 및 제2 개발자 정보를 비교하여 개발자를 인증하는 단계 및 인증이 완료된 후, 소스 및 관련 데이터 파일의 해시값을 포함하는 블록을 생성하여 복수의 검증 서버로 블록을 발행하는 단계를 포함할 수 있다.
여기서, 제1 개발자 정보 및 제2 개발자 정보는, 개발자의 ID(identification) 및 PW(password)를 각각 포함할 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 관리 서버는, 프로세서(processor) 및 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고, 적어도 하나의 명령은, 클라이언트의 소스 코드 및 관련 데이터의 호출에 따라 적어도 하나의 웹 서버로부터 소스 및 관련 데이터 파일에 대한 제1 해시값을 수신하도록 실행될 수 있고, 복수의 검증 서버로부터 발행 서버가 발행한 소스 및 관련 데이터 파일에 대한 제2 해시값을 포함하는 블록을 수신하도록 실행될 수 있고, 제1 해시값 및 제2 해시값을 비교하여 소스 코드 및 관련 데이터의 무결성을 검증하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 제1 해시값 및 제2 해시값이 동일한 경우, 소스 코드 및 관련 데이터를 변조되지 않은 소스 코드 및 관련 데이터로 판단하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 소스 코드 및 관련 데이터를 변조되지 않은 소스 코드 및 관련 데이터로 판단한 경우, 적어도 하나의 웹 서버로 판단 결과를 제공하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 제1 해시값 및 제2 해시값이 동일하지 않은 경우, 소스 코드 및 관련 데이터를 변조된 소스 코드 및 관련 데이터로 판단하도록 실행될 수 있다.
여기서, 적어도 하나의 명령은, 소스 코드 및 관련 데이터를 변조된 소스 코드 및 관련 데이터로 판단한 경우, 관리자에게 판단 결과를 제공하도록 실행될 수 있다.
여기서, 블록은, 복수의 검증 서버가 서로 비교하여 무결성이 검증된 블록일 수 있다.
여기서, 적어도 하나의 명령은, 개발자로부터 수신한 개발자의 ID(identification) 및 PW(password)를 포함하는 개발자 정보를 등록하도록 실행될 수 있고, 개발자 정보를 발행 서버에 제공하도록 실행될 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 발행 서버는, 프로세서(processor) 및 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고, 적어도 하나의 명령은, 관리 서버로부터 제1 개발자 정보를 수신하도록 실행될 수 있고, 개발자로부터 제2 개발자 정보 및 소스 및 관련 데이터 파일의 해시값을 수신하도록 실행될 수 있고, 제1 개발자 정보 및 제2 개발자 정보를 비교하여 개발자를 인증하도록 실행될 수 있고, 인증이 완료된 후, 소스 및 관련 데이터 파일의 해시값을 포함하는 블록을 생성하여 복수의 검증 서버로 블록을 발행하도록 실행될 수 있다.
여기서, 제1 개발자 정보 및 제2 개발자 정보는, 개발자의 ID(identification) 및 PW(password)를 각각 포함할 수 있다.
본 발명에 따르면, 소스코드 및 관련 데이터의 변조로 생성될 수 있는 모든 악의적인 행위 (악성URL, 백도어 및 웹쉘 등)을 방지할 수 있다.
본 발명에 따르면, 공격으로 인해 변조된 소스 코드 및 관련 데이터를 인지하여 클라이언트에게 소스 코드가 제공되기 전에 차단함으로써 안전한 서비스를 클라이언트에게 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 블록 발행 방법의 개념도이다.
도 2는 본 발명의 일 실시예에 따른 소스 코드 및 관련 데이터의 무결성 검증 방법의 개념도이다.
도 3은 본 발명의 일 실시예에 따른 관리 서버의 블록 구성도이다.
도 4는 본 발명의 일 실시예에 따른 블록 발행 방법의 플로우 차트이다.
도 5는 본 발명의 일 실시예에 따른 소스 코드 및 관련 데이터의 무결성 검증 방법의 플로우 차트이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. 이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 블록 발행 방법의 개념도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 블록체인을 이용한 소스 코드 및 관련 데이터의 무결성 검증 방법은 발행 서버, 관리 서버, 복수의 검증 서버 및 웹 서버 간의 상호 정보 교환을 통해 수행될 수 있다.
다시 말해, 본 발명의 일 실시예에 따른 블록체인을 이용한 소스 코드 및 관련 데이터의 무결성 검증 방법은 발행 서버, 관리 서버 및 복수의 검증 서버 간의 블록 발행 방법과 관리 서버, 복수의 검증 서버 및 웹 서버 간의 소스 코드 및 관련 데이터의 무결성 검증 방법으로 구분될 수 있다.
여기서, 복수의 검증 서버는 바람직하게는 넷 이상의 검증 서버를 의미할 수 있고, 웹 서버는 웹 서버 및 웹 어플리케이션 서버(Web Application Server, WAS)를 의미할 수 있고, 복수의 웹 서버가 존재할 수 있다. 또한, 소스 코드는 웹 스크립트 언어(ASP, JSP 및 PHP 등)로 작성된 코드를 의미할 수 있으나, 이에 한정되는 것은 아니다. 또한, 관련 데이터는 소스 코드와 함께 웹을 실행하기 위해 요구되는 중요한 구성요소일 수 있으며, 이미지, 동영상 및 텍스트 형식의 파일을 의미할 수 있으나, 이에 한정되는 것은 아니다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 블록 발행 방법은 관리 서버 및 복수의 검증 서버와 연결된 발행 서버에 의해 수행될 수 있다.
본 발명의 일 실시예에 따른 블록 발행 방법은 개발자 등록이 선행되어야 할 수 있다. 여기서, 개발자 등록은 관리 서버에 의해 수행될 수 있으며, 관리 서버는 개발자로부터 개발자 정보를 수신하여 저장 및 등록할 수 있다. 여기서, 개발자 정보는 ID(identification)/PW(password) 및 고유의 식별자 중 적어도 하나를 포함할 수 있고, 비밀키 및 공개키를 이용할 경우, 공개키를 포함할 수도 있으나, 이에 한정되는 것은 아니다. 관리 서버는 개발자 등록이 완료된 후, 개발자 정보를 발행 서버에 제공할 수 있으며, 발행 서버는 개발자 정보를 기초로 후술하는 개발자 인증을 통해 블록 발행을 진행할 수 있다.
개발자는 소스 코드 및 관련 데이터를 인터넷 또는 인트라넷을 통해 웹 서버에 업로드할 수 있으며, 개발자 정보 및 소스 코드 및 관련 데이터 파일의 해시값을 발행 서버에 업로드할 수 있다. 여기서, 소스 코드 및 관련 데이터 파일의 해시값은 개발자가 전용 업로더를 이용할 경우, 소스 코드로부터 자동적으로 생성되어 업로드될 수 있으며, 개발자가 전용 업로더를 이용하지 않을 경우, 개발자가 해시 생성기를 이용하여 생성한 후, 직접 소스 코드 및 관련 데이터 파일의 해시값을 업로드할 수 있다. 또한, 개발자가 전용 업로더를 이용하지 않을 경우, 개발자는 소스 코드 및 관련 데이터를 곧바로 발행 서버로 업로드할 수 있으며, 발행 서버에서 소스 코드 및 관련 데이터 파일에 대한 해시값을 생성할 수도 있으나, 이에 한정되는 것은 아니다.
발행 서버는 관리 서버로부터 수신한 등록된 개발자의 개발자 정보 및 개발자로부터 업로드된 개발자 정보를 비교하여 개발자를 인증할 수 있으며, 인증이 완료된 후, 개발자가 업로드한 소스 코드 및 관련 데이터 파일의 해시값을 포함하는 블록을 생성할 수 있고, 생성한 블록을 복수의 검증 서버로 발행할 수 있다. 여기서, 블록은 개발자 정보를 더 포함할 수 있다. 복수의 검증 서버는 수신한 블록을 저장하고, 서로 비교하여 검증을 수행할 수 있으며, 이를 통해 블록의 무결성이 보장될 수 있다. 다시 말해, 복수의 검증 서버는 발행 서버가 발행한 블록을 기초로 블록체인을 형성할 수 있으며, 블록체인 네트워크를 구성할 수 있다.
발행 서버는 생성한 블록을 관리 서버로도 함께 발행할 수 있다. 이러한 경우, 블록체인 네트워크는 복수의 검증 서버뿐만 아니라 관리 서버도 포함할 수 있다.
본 발명의 일 실시예에 따른 블록 발행 방법은 상술한 과정에 의해 수행될 수 있으며, 발행된 블록을 이용한 본 발명의 일 실시예에 따른 소스 코드 및 관련 데이터의 인증 방법은 도 2와 함께 상세히 후술하겠다.
도 2는 본 발명의 일 실시예에 따른 소스 코드 및 관련 데이터의 무결성 검증 방법의 개념도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 소스 코드 및 관련 데이터 의 무결성 검증 방법은 복수의 검증 서버 및 웹 서버와 연결된 관리 서버에 의해 수행될 수 있다.
본 발명의 일 실시예에 따른 소스 코드 및 관련 데이터의 무결성 검증 방법은 클라이언트의 웹 서버에 저장되어 있는 특정 소스 코드 호출에 의해 시작될 수 있다. 다시 말해, 소스 코드 및 관련 데이터의 무결성 검증 방법은 클라이언트의 호출에 의해 특정 소스 코드가 컴파일 또는 파싱되기 전에 관리 서버 및 복수의 검증 서버에 의해 수행될 수 있다.
여기서, 웹 서버는 저장된 소스 코드 및 관련 데이터를 검증하기 위한 블록체인 플로그인 또는 에이전트를 포함할 수 있으며, 이를 통해 관리 서버로 소스 코드 및 관련 데이터의 검증을 요청할 수 있다. 여기서, 블록체인 플로그인 또는 에어전트는 웹 서버에 저장된 소스 코드 및 관련 데이터 파일로부터 해시값을 생성할 수 있으며, 생성한 해시값 기초로 복수의 검증 서버와 검증 작업을 수행할 수 있으나, 생성한 해시값을 관리 서버로 전달하여 관리 서버가 복수의 검증 서버와 검증 작업을 수행할 수도 있다. 또한, 웹 서버가 소스 코드 및 관련 데이터 파일의 해시값이 아닌 소스 코드 및 관련 데이터를 관리 서버로 전달할 경우, 관리 서버는 수신한 소스 코드 및 관련 데이터로부터 소스 코드 및 관련 데이터 파일의 해시값을 생성하여 검증 작업을 수행할 수도 있으나, 이에 한정되는 것은 아니다. 본 명세서에서는 설명의 편의를 위해 관리 서버가 웹 서버로부터 소스 코드 및 관련 데이터 파일의 해시값을 수신하여 검증 작업을 수행하는 것으로 가정하여 설명하겠다.
관리 서버는 웹 서버로부터 수신한 소스 코드 및 관련 데이터 파일의 해시값(제1 해시값이라 함)과 발행 서버가 발행한 검증 서버의 블록에 포함된 소스 코드 및 관련 데이터 파일의 해시값(제2 해시값이라 함)을 비교하여 소스 코드 및 관련 데이터가 변조되었는지를 판단할 수 있다. 다시 말해, 관리 서버는 복수의 검증 서버로부터 제2 해시값을 포함하는 블록을 수신할 수 있으며, 제1 해시값 및 제2 해시값이 동일한 경우, 웹 서버에 저장되어 있는 소스 코드 및 관련 데이터가 위조 또는 변조되지 않은 것으로 판단할 수 있고, 제1 해시값 및 제2 해시값이 동일하지 않은 경우, 웹 서버에 저장되어 있는 소스 코드 및 관련 데이터가 위조 또는 변조된 것으로 판단할 수 있다.
여기서, 블록체인 네트워크에 관리 서버가 포함되어 있는 경우, 관리 서버는 블록을 저장하고 있을 수 있으며, 제1 해시값과 자신이 저장하고 있는 블록에 포함된 제2 해시값을 비교하여 소스 코드 및 관련 데이터의 무결성을 검증할 수 있다.
관리 서버는 소스 코드 및 관련 데이터가 변조되지 않은 것으로 판단한 경우, 해당 소스 코드 및 관련 데이터가 변조되지 않았다는 정보를 웹 서버로 전달할 수 있으며, 웹 서버는 호출된 소스 코드 및 관련 데이터를 컴파일 또는 파싱하여 실행시킬 수 있다. 다시 말해, 웹 서버는 소스 코드 및 관련 데이터를 클라이언트로 전달할 수 있다.
관리 서버는 소스 코드 및 관련 데이터이 변조된 것으로 판단한 경우, 해당 소스 코드 및 관련 데이터가 변조되었다는 정보를 관리자 및/또는 클라이언트에게 전달할 수 있으며, 클라이언트에게 해당 소스 코드 및 관련 데이터를 전달하지 않을 수 있다.
관리자는 관리 서버를 통해 웹 서버의 상태를 모니터링할 수 있고, 해당 소스 코드 및 관련 데이터가 변조되었다는 정보를 기초로 위변조된 내역을 확인할 수 있다. 여기서, 관리 서버는 관리자 계정을 별도로 관리할 수 있으며, 특정 메뉴에 대한 접근 권한을 구분하여 관리할 수 있으며, 특정 소스 코드 및 관련 데이터가 변조된 경우, 클라이언트에게 전달할 또는 보여질 페이지 또는 메시지를 설정을 위한 설정 관리 기능을 포함할 수 있다. 또한, 관리 서버는 소스 코드 및 관련 데이터의 변조시 이메일 및/또는 SMS(TEXT MESSAGE)를 이용한 알림 기능도 포함할 수 있으며, 변조된 소스 코드 및 관련 데이터를 분석 서버로 전달할 수도 있다. 여기서, 분석 서버는 도면에 도시되지 않았으나, 관리 서버로부터 변조된 소스 코드 및 관련 데이터를 수신하여 변조된 사항을 추출할 수 있다.
도 3은 본 발명의 일 실시예에 따른 관리 서버의 블록 구성도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 관리 서버(300)는 적어도 하나의 프로세서(310), 메모리(320) 및 저장 장치(330)를 포함할 수 있다.
프로세서(310)는 메모리(320) 및/또는 저장 장치(330)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(310)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(320)와 저장 장치(330)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(320)는 읽기 전용 메모리(read only memory, ROM) 및/또는 랜덤 액세스 메모리(random access memory, RAM)로 구성될 수 있다.
메모리(320)는 프로세서(310)를 통해 실행되는 적어도 하나의 명령을 저장하고 있을 수 있다. 적어도 하나의 명령은 클라이언트의 소스 코드의 호출에 따라 적어도 하나의 웹 서버로부터 소스 코드 및 관련 데이터 파일에 대한 제1 해시값을 수신하는 명령, 복수의 검증 서버로부터 발행 서버가 발행한 소스 코드 및 관련 데이터 파일에 대한 제2 해시값을 포함하는 블록을 수신하는 명령 및 제1 해시값 및 제2 해시값을 비교하여 소스 코드 및 관련 데이터의 무결성을 검증하는 명령을 포함할 수 있다.
또한, 적어도 하나의 명령은 제1 해시값 및 제2 해시값이 동일한 경우, 소스 코드 및 관련 데이터를 변조되지 않은 소스 코드 및 관련 데이터로 판단하는 명령, 소스 코드 및 관련 데이터를 변조되지 않은 소스 코드로 판단한 경우, 적어도 하나의 웹 서버로 판단 결과를 제공하는 명령, 제1 해시값 및 제2 해시값이 동일하지 않은 경우, 소스 코드 및 관련 데이터를 변조된 소스 코드 및 관련 데이터로 판단하는 명령, 소스 코드 및 관련 데이터를 변조된 소스 코드 및 관련 데이터로 판단한 경우, 관리자에게 판단 결과를 제공하는 명령 및 개발자로부터 수신한 개발자의 ID(identification) 및 PW(password)를 포함하는 개발자 정보를 등록하는 단계 및 개발자 정보를 발행 서버에 제공하는 명령 중 적어도 하나를 더 포함할 수 있다.
여기서, 블록은, 복수의 검증 서버가 서로 비교하여 무결성이 검증된 블록일 수 있다.
본 발명의 일 실시예에 따른 발행 서버는 관리 서버와 마찬가지로 적어도 하나의 프로세서, 메모리 및 저장 장치를 포함할 수 있으며, 메모리는 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하고 있을 수 있다.
여기서, 적어도 하나의 명령은 관리 서버로부터 제1 개발자 정보를 수신하는 명령, 개발자로부터 제2 개발자 정보 및 소스 코드 및 관련 데이터 파일의 해시값을 수신하는 명령, 제1 개발자 정보 및 제2 개발자 정보를 비교하여 개발자를 인증하는 명령 및 인증이 완료된 후, 소스 코드 및 관련 데이터 파일의 해시값을 포함하는 블록을 생성하여 복수의 검증 서버로 블록을 발행하는 명령을 포함할 수 있다.
여기서, 제1 개발자 정보 및 제2 개발자 정보는, 개발자의 ID(identification) 및 PW(password)를 각각 포함할 수 있다.
도 4는 본 발명의 일 실시예에 따른 블록 발행 방법의 플로우 차트이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 블록 발행 방법은 우선, 개발자(10)가 관리 서버(30)에 개발자 ID 및 PW를 포함하는 개발자 정보를 등록할 수 있으며(S410), 관리 서버(30)는 등록된 개발자 정보를 발행 서버(20)에 전달할 수 있다(S420). 여기서, 개발자 정보는 ID 및 PW를 의미할 수 있으나, 고유의 식별자를 의미할 수도 있고, 비밀키 및 공개키를 이용할 경우, 공개키를 의미할 수 있으나, 이에 한정되는 것은 아니다.
개발자 정보를 등록한 개발자(10)는 개발한 소스 코드 및 관련 데이터를 웹 서버(50)에 업로드할 수 있으며(S430), 추후 클라이언트가 호출하여 소스 코드 및 관련 데이터를 이용할 수 있도록 할 수 있다. 또한, 개발자(10)는 개발한 소스 코드 및 관련 데이터 파일의 해시값 및 개발자 정보를 발행 서버(20)에 업로드할 수 있다(S440). 여기서, S430 단계 및 S440 단계는 순서가 서로 바뀌어 수행될 수 있으며, 동시에 수행될 수도 있다.
발행 서버(20)는 관리 서버(30)로부터 수신한 개발자 정보 및 개발자(10)로부터 수신한 개발자 정보를 비교하여 개발자를 인증할 수 있으며(S450), 이로 인해 신뢰성이 떨어지는 등록되지 않은 개발자 또는 악성 개발자의 소스 코드 및 관련 데이터의 업로드를 방지할 수 있다.
발행 서버(20)는 개발자 인증을 완료한 후, 개발자(10)로부터 수신한 소스 코드 및 관련 데이터 파일의 해시값을 포함한 블록을 생성할 수 있으며, 생성한 블록을 복수의 검증 서버(40)로 발행할 수 있다(S460). 복수의 검증 서버는 수신한 블록에 대하여 상호 비교 검증을 수행할 수 있으며(S470), 이를 통해 블록 및 블록에 포함된 소스 코드 및 관련 데이터 파일의 해시값의 무결성을 보장할 수 있다. 여기서, 복수의 검증 서버는 수신한 블록을 기초로 블록체인을 형성할 수 있으며, 이에 따라 블록체인 네트워크를 형성할 수 있다.
상술한 과정에 따라, 본 발명의 일 실시예에 따른 발행 서버는 소스 코드 및 관련 데이터 파일의 해시값을 포함하는 블록을 복수의 검증 서버로 발행할 수 있으며, 발행한 블록을 이용하여 소스 코드 및 관련 데이터의 무결성을 검증하는 방법은 도 5와 함께 후술하겠다.
도 5는 본 발명의 일 실시예에 따른 소스 코드 및 관련 데이터의 무결성 검증 방법의 플로우 차트이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 소스 코드 및 관련 데이터의 무결성 검증 방법은 우선, 클라이언트(60)가 웹 서버(50)에 저장된 소스 코드 및 관련 데이터를 호출하는 경우(S510). 웹 서버(50)는 저장된 소스 코드 및 관련 데이터 파일에 대한 해시값을 관리 서버(30)로 전달할 수 있다(S520).
관리 서버(30)는 소스 코드 및 관련 데이터 파일에 대한 해시값을 비교 검증하기 위해 복수의 검증 서버로 발행 서버가 발행한 블록을 요청할 수 있으며(S530), 복수의 검증 서버는 해당 블록 또는 블록에 대한 정보를 관리 서버(30)에 전달할 수 있다(S540). 다시 말해, 복수의 검증 서버(40)는 블록 정보를 관리 서버(30)에 전달할 수 있고, 블록에 포함된 소스 코드 및 관련 데이터 파일에 대한 해시값을 관리 서버(30)에 전달할 수 있으나, 이에 한정되는 것은 아니다.
여기서, 블록은 복수의 검증 서버(40)로 이루어진 블록체인 네트워크에 의해 무결성이 보장될 수 있으며, 개발자가 발행 서버로 업로드한 소스 코드 및 관련 데이터 파일의 해시값을 포함할 수 있으므로, 블록에 포함된 소스 코드 및 관련 데이터 파일의 해시값 또한 무결성이 보장될 수 있다.
관리 서버(30)는 수신한 블록 또는 블록에 대한 정보를 기초로 블록에 포함된 소스 코드 및 관련 데이터 파일의 해시값을 확인할 수 있으며, 웹 서버(50)로부터 수신한 소스 코드 및 관련 데이터 파일의 해시값(제1 해시값) 및 블록에 포함된 소스 코드 및 관련 데이터 파일의 해시값(제2 해시값)을 비교하여 무결성 검증을 수행할 수 있다(S550).
관리 서버(300)는 제1 해시값 및 제2 해시값이 동일하지 않은 경우, 해당 소스 코드 및 관련 데이터를 변조된 소스 코드 및 관련 데이터로 판단할 수 있으며, 소스 코드 및 관련 데이터가 변조되었다는 검증 결과에 대한 정보를 관리자(70)에게 전달할 수 있다(S560). 또한, 관리 서버(300)는 소스 코드 및 관련 데이터가 변조되었다는 검증 결과에 대한 정보를 웹 서버(50)에도 전달할 수 있으며, 이에 따라 웹 서버(50)는 클라이언트에게 해당 소스 코드 및 관련 데이터를 제공하지 않을 수 있다.
관리 서버(300)는 제1 해시값 및 제2 해시값이 동일한 경우, 해당 소스 코드 및 관련 데이터를 변조되지 않은 소스 코드 및 관련 데이터로 판단할 수 있으며, 소스 코드 및 관련 데이터가 변조되지 않았다는 검증 결과에 대한 정보를 웹 서버(50)로 전달할 수 있으며, 이에 따라 웹 서버(50)는 저장된 해당 소스 코드 및 관련 데이터를 클라이언트(60)에게 제공할 수 있다.
본 발명의 실시예에 따른 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시예에서, 가장 중요한 방법 단계들의 하나 이상은 이와 같은 장치에 의해 수행될 수 있다.
실시예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그래머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시예들에서, 필드 프로그래머블 게이트 어레이는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10: 개발자 20: 발행 서버
30: 관리 서버 40: 복수의 검증 서버
50: 웹 서버 60: 클라이언트
70: 관리자

Claims (18)

  1. 발행 서버, 복수의 검증 서버 및 적어도 하나의 웹 서버와 연결된 관리 서버의 소스 코드 및 관련 데이터의 무결성 검증 방법으로서,
    클라이언트의 소스 코드 및 관련 데이터의 호출에 따라 상기 적어도 하나의 웹 서버로부터 상기 소스 코드 및 관련 데이터의 파일에 대한 제1 해시값을 수신하는 단계;
    상기 복수의 검증 서버로부터 상기 발행 서버가 발행한 상기 소스 코드 및 관련 데이터의 파일에 대한 제2 해시값을 포함하는 블록을 수신하는 단계; 및
    상기 제1 해시값 및 상기 제2 해시값을 비교하여 상기 소스 코드 및 관련 데이터의 무결성을 검증하는 단계를 포함하는, 소스 코드의 무결성 검증 방법.
  2. 청구항 1에 있어서,
    상기 소스 코드 및 관련 데이터의 무결성을 검증하는 단계는,
    상기 제1 해시값 및 상기 제2 해시값이 동일한 경우, 상기 소스 코드 및 관련 데이터를 변조되지 않은 소스 코드 및 관련 데이터로 판단하는 단계를 포함하는, 소스 코드의 무결성 검증 방법.
  3. 청구항 2에 있어서,
    상기 소스 코드 및 관련 데이터를 변조되지 않은 소스 코드 및 관련 데이터로 판단한 경우, 상기 적어도 하나의 웹 서버로 판단 결과를 제공하는 단계를 더 포함하는, 소스 코드의 무결성 검증 방법.
  4. 청구항 1에 있어서,
    상기 소스 코드의 무결성을 검증하는 단계는,
    상기 제1 해시값 및 상기 제2 해시값이 동일하지 않은 경우, 상기 소스 코드 및 관련 데이터를 변조된 소스 코드 및 관련 데이터로 판단하는 단계를 포함하는, 소스 코드의 무결성 검증 방법.
  5. 청구항 4에 있어서,
    상기 소스 코드 및 관련 데이터를 변조된 소스 코드 및 관련 데이터로 판단한 경우, 관리자에게 판단 결과를 제공하는 단계를 더 포함하는, 소스 코드의 무결성 검증 방법.
  6. 청구항 1에 있어서,
    상기 블록은,
    상기 복수의 검증 서버가 서로 비교하여 무결성이 검증된 블록인, 소스 코드의 무결성 검증 방법.
  7. 청구항 1에 있어서,
    개발자로부터 수신한 상기 개발자의 ID(identification) 및 PW(password)를 포함하는 개발자 정보를 등록하는 단계; 및
    상기 개발자 정보를 상기 발행 서버에 제공하는 단계를 더 포함하는, 소스 코드의 무결성 검증 방법.
  8. 관리 서버 및 복수의 검증 서버와 연결된 발행 서버의 블록 발행 방법으로서,
    상기 관리 서버로부터 제1 개발자 정보를 수신하는 단계;
    개발자로부터 제2 개발자 정보 및 소스 코드의 해시값을 수신하는 단계;
    상기 제1 개발자 정보 및 상기 제2 개발자 정보를 비교하여 상기 개발자를 인증하는 단계; 및
    상기 인증이 완료된 후, 상기 소스 코드 및 관련 데이터의 해시값을 포함하는 블록을 생성하여 상기 복수의 검증 서버로 상기 블록을 발행하는 단계를 포함하는, 블록 발행 방법.
  9. 청구항 8에 있어서,
    상기 제1 개발자 정보 및 상기 제2 개발자 정보는,
    상기 개발자의 ID(identification) 및 PW(password)를 각각 포함하는, 블록 발행 방법.
  10. 발행 서버, 복수의 검증 서버 및 적어도 하나의 웹 서버와 연결된 관리 서버로서,
    프로세서(processor); 및
    상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고,
    상기 적어도 하나의 명령은,
    클라이언트의 소스 코드 및 관련 데이터의 호출에 따라 상기 적어도 하나의 웹 서버로부터 상기 소스 코드 및 관련 데이터의 파일에 대한 제1 해시값을 수신하도록 실행되고,
    상기 복수의 검증 서버로부터 상기 발행 서버가 발행한 상기 소스 코드 및 관련 데이터의 파일에 대한 제2 해시값을 포함하는 블록을 수신하도록 실행되고,
    상기 제1 해시값 및 상기 제2 해시값을 비교하여 상기 소스 코드 및 관련 데이터의 무결성을 검증하도록 실행되는, 관리 서버.
  11. 청구항 10에 있어서,
    상기 적어도 하나의 명령은,
    상기 제1 해시값 및 상기 제2 해시값이 동일한 경우, 상기 소스 코드 및 관련 데이터를 변조되지 않은 소스 코드 및 관련 데이터로 판단하도록 실행되는, 관리 서버.
  12. 청구항 11에 있어서,
    상기 적어도 하나의 명령은,
    상기 소스 코드 및 관련 데이터를 변조되지 않은 소스 코드 및 관련 데이터로 판단한 경우, 상기 적어도 하나의 웹 서버로 판단 결과를 제공하도록 실행되는, 관리 서버.
  13. 청구항 10에 있어서,
    상기 적어도 하나의 명령은,
    상기 제1 해시값 및 상기 제2 해시값이 동일하지 않은 경우, 상기 소스 코드 및 관련 데이터를 변조된 소스 코드 및 관련 데이터로 판단하도록 실행되는, 관리 서버.
  14. 청구항 13에 있어서,
    상기 적어도 하나의 명령은,
    상기 소스 코드 및 관련 데이터를 변조된 소스 코드 및 관련 데이터로 판단한 경우, 관리자에게 판단 결과를 제공하도록 실행되는, 관리 서버.
  15. 청구항 10에 있어서,
    상기 블록은,
    상기 복수의 검증 서버가 서로 비교하여 무결성이 검증된 블록인, 관리 서버.
  16. 청구항 10에 있어서,
    상기 적어도 하나의 명령은,
    개발자로부터 수신한 상기 개발자의 ID(identification) 및 PW(password)를 포함하는 개발자 정보를 등록하도록 실행되고,
    상기 개발자 정보를 상기 발행 서버에 제공하도록 실행되는, 관리 서버.
  17. 관리 서버 및 적어도 하나의 검증 서버와 연결된 발행 서버로서,
    프로세서(processor); 및
    상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고,
    상기 적어도 하나의 명령은,
    상기 관리 서버로부터 제1 개발자 정보를 수신하도록 실행되고,
    개발자로부터 제2 개발자 정보 및 소스 코드의 해시값을 수신하도록 실행되고,
    상기 제1 개발자 정보 및 제2 개발자 정보를 비교하여 상기 개발자를 인증하도록 실행되고,
    상기 인증이 완료된 후, 상기 소스 코드의 해시값을 포함하는 블록을 생성하여 상기 복수의 검증 서버로 상기 블록을 발행하도록 실행되는, 발행 서버.
  18. 청구항 17에 있어서,
    상기 제1 개발자 정보 및 상기 제2 개발자 정보는,
    상기 개발자의 ID(identification) 및 PW(password)를 각각 포함하는, 발행 서버.
KR1020180051289A 2018-05-03 2018-05-03 블록체인을 이용한 소스 코드 및 관련 데이터의 무결성 검증 방법 및 장치 KR20190127124A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180051289A KR20190127124A (ko) 2018-05-03 2018-05-03 블록체인을 이용한 소스 코드 및 관련 데이터의 무결성 검증 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180051289A KR20190127124A (ko) 2018-05-03 2018-05-03 블록체인을 이용한 소스 코드 및 관련 데이터의 무결성 검증 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20190127124A true KR20190127124A (ko) 2019-11-13

Family

ID=68534734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180051289A KR20190127124A (ko) 2018-05-03 2018-05-03 블록체인을 이용한 소스 코드 및 관련 데이터의 무결성 검증 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20190127124A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102255140B1 (ko) * 2020-11-11 2021-05-24 주식회사 테크스페이스 블록체인을 통한 백엔드 플랫폼의 해킹 방지 장치
KR20210061918A (ko) * 2019-11-20 2021-05-28 주식회사 지행아이티 웹 애플리케이션 보안 방법 및 장치
KR20210061917A (ko) * 2019-11-20 2021-05-28 주식회사 지행아이티 웹 애플리케이션 관리 방법 및 장치
CN112948827A (zh) * 2021-01-11 2021-06-11 杭州复杂美科技有限公司 一种源码编译验证方法、系统、设备和储存介质
KR20210083457A (ko) * 2019-12-26 2021-07-07 동국대학교 산학협력단 블록체인 기반 전자투표 이력 관리 시스템
KR102362855B1 (ko) * 2020-12-14 2022-02-14 (주)지엠티 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법 및 장치와 이를 이용한 해사 디지털 플랫폼 시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210061918A (ko) * 2019-11-20 2021-05-28 주식회사 지행아이티 웹 애플리케이션 보안 방법 및 장치
KR20210061917A (ko) * 2019-11-20 2021-05-28 주식회사 지행아이티 웹 애플리케이션 관리 방법 및 장치
KR20210083457A (ko) * 2019-12-26 2021-07-07 동국대학교 산학협력단 블록체인 기반 전자투표 이력 관리 시스템
KR102255140B1 (ko) * 2020-11-11 2021-05-24 주식회사 테크스페이스 블록체인을 통한 백엔드 플랫폼의 해킹 방지 장치
KR102362855B1 (ko) * 2020-12-14 2022-02-14 (주)지엠티 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법 및 장치와 이를 이용한 해사 디지털 플랫폼 시스템
CN112948827A (zh) * 2021-01-11 2021-06-11 杭州复杂美科技有限公司 一种源码编译验证方法、系统、设备和储存介质

Similar Documents

Publication Publication Date Title
KR20190127124A (ko) 블록체인을 이용한 소스 코드 및 관련 데이터의 무결성 검증 방법 및 장치
US11165579B2 (en) Decentralized data authentication
CN110602052B (zh) 微服务处理方法及服务器
CN111262889B (zh) 一种云服务的权限认证方法、装置、设备及介质
KR101937220B1 (ko) 키 관리가 필요없는 블록체인을 기반한 전자서명 또는 메시지 인증 코드를 생성 및 검증 방법
US9294479B1 (en) Client-side authentication
CN112202705A (zh) 一种数字验签生成和校验方法、系统
CN112861191B (zh) 一种应用程序监控方法及装置
CN106549909B (zh) 一种授权验证方法及设备
CN111818088A (zh) 授权模式管理方法、装置、计算机设备及可读存储介质
KR101890584B1 (ko) m of n 다중 서명에 의한 인증서 서비스를 제공하는 방법 및 이를 이용한 서버
CN112532599A (zh) 一种动态鉴权方法、装置、电子设备和存储介质
KR20160018554A (ko) 신뢰 및 비신뢰 플랫폼에 걸쳐 인터넷 액세스가능 애플리케이션 상태를 로밍하는 기법
CN111585995A (zh) 安全风控信息传输、处理方法、装置、计算机设备及存储介质
CN111597537B (zh) 基于区块链网络的证书签发方法、相关设备及介质
CN115730319A (zh) 数据处理方法、装置、计算机设备和存储介质
CN109450990A (zh) 一种基于教育系统的云存储实现方法及电子设备
GB2567715A (en) Authentication system, method and program
CN112699404A (zh) 一种校验权限的方法、装置、设备及存储介质
CN108965335B (zh) 防止恶意访问登录接口的方法、电子设备及计算机介质
CN115001714B (zh) 资源访问方法及装置、电子设备、存储介质
CN112541820A (zh) 数字资产管理方法、装置、计算机设备及可读存储介质
CN110572371B (zh) 基于html5本地存储机制的身份唯一性校验控制方法
KR20140113275A (ko) 서버에 대한 웹 요청들의 위조의 방지
CN112565293A (zh) 信息安全管理方法、装置、计算机设备及可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
AMND Amendment
E601 Decision to refuse application
AMND Amendment