KR20190068886A - Blockchain based Method and system for supporting open source software license compliance - Google Patents
Blockchain based Method and system for supporting open source software license compliance Download PDFInfo
- Publication number
- KR20190068886A KR20190068886A KR1020170169110A KR20170169110A KR20190068886A KR 20190068886 A KR20190068886 A KR 20190068886A KR 1020170169110 A KR1020170169110 A KR 1020170169110A KR 20170169110 A KR20170169110 A KR 20170169110A KR 20190068886 A KR20190068886 A KR 20190068886A
- Authority
- KR
- South Korea
- Prior art keywords
- software
- information
- open source
- license
- block chain
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 239000000284 extract Substances 0.000 claims description 2
- 238000012546 transfer Methods 0.000 claims description 2
- 230000026676 system process Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004075 alteration Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
본 발명의 오픈소스 SW 라이선스를 준수 여부를 확인하기 위해 소프트웨어의 부분 혹은 전체에 대한 정보를 입력하고, 해당 정보를 블록체인을 기반의 네트워크를 통해 기록하고 오픈소스 SW 라이선스 컴플라이언스를 지원하는 시스템과 그 방법에 관한 것이다.Systems that enter information about part or all of the software to verify compliance with the open source SW licenses of this invention, record that information via a block-chain-based network, support open source SW license compliance, ≪ / RTI >
오픈소스 SW 라이선스 기술Open source SW licensing technology
오픈소스 SW 라이선스(Open-source Software License) 기술은 오픈 소스 SW 개발자가 오픈 소스 SW에 대한 권한에 대해 기술한 것으로 이용자에게 사용 방법 및 조건에 대해 범위를 지정한 계약이다. 오픈소스 SW의 이용을 위해 오픈소스 SW의 라이선스를 준수해야하고 이를 위반할 경우 관련 법률적 책임 및 제품 리콜 및 재개발이 이루어져야 한다. 오픈 소스 SW는 라이선스는 오픈 소스 이니셔티브(OSI: Open Source Initiative)의 오픈 소스 정의(OSD: Open Source Definition)에 해당하는 10가지 조건을 충족해야 하고, 오픈 소스 SW 라이선스의 분쟁 사례를 방지하기 위해 오픈소스 SW 컴플라이언스와 관련된 국내외 다수의 기업들이 참가하여 연구 및 개발을 수행하고 있다.Open-source software license technology is an open-source software developer's description of the rights to open-source software, and specifies the scope of usage methods and conditions to the user. In order to use open source software, it must comply with the license of open source software, and if it is violated, it should have legal liability, product recall and redevelopment. Open source software requires licenses to meet the ten requirements of the Open Source Initiative (OSI) Open Source Definition (OSD), and to protect against open source software licensing disputes Many domestic and foreign companies involved in source SW compliance participate and conduct research and development.
SPDX(Software Package Data eXchange) 기술Software Package Data eXchange (SPDX) technology
SPDX(Software Package Data eXchange) 기술은 소프트웨어에 패키지 정보 교환에 대한 사양으로, 오픈소스 SW 라이선스 컴플라이언스를 효과적으로 해결하기 위해 리눅스 재단에서 2010년 출시하였다. 포괄적으로는 소프트웨어 패키지와 관련된 구성 요소, 라이선스 및 저작권 정보들을 담고 있으며, 2017년 2.1 버전의 상세한 항목으로는 SPDX 문서 생성 정보(Document Creation Information), 패키지 정보(Package Information), 패키지 구성파일 정보(File Information), 파일 조각 정보(Snippet Information), 라이선스 정보(Other Licensing Information), SPDX 요소 관계 정보(Relationships), 주석 정보(Annotations)이고, 이를 통해 중복 작업을 줄이면서 표준화된 방법으로 소프트웨어 라이선스 정보를 추적하고 소프트웨어 공급망에 소프트웨어 정보를 전달 할 수 있다.Software Package Data eXchange (SPDX) technology is a specification for exchanging package information in software, and was released by the Linux Foundation in 2010 to effectively address open source software licensing compliance. License information and copyright information related to the software package are comprehensively included. Details of the 2.1 version in 2017 include SPDX document creation information, package information, package configuration file information (File Information, Snippet Information, Other Licensing Information, SPDX Element Relationship Information, and Annotations, which track software license information in a standardized way with reduced redundancy. And deliver software information to the software supply chain.
블록체인 기술Block Chain Technology
블록체인(Blockchain) 기술은 중앙 집중식 데이터베이스와는 다르게 탈중앙화 된 시스템으로 다수의 정보를 묶어 하나의 블록을 생성하고 블록체인에 참가한 노드들이 분산된 원장을 통해 정보를 저장하는 분산 원장 기술이라고도 한다. 블록은 이전 블록의 해시(Hash) 값에 연산 능력을 더한 해시 값을 포함하고 있으며, 노드들이 분산된 원장을 통해 블록체인을 유지하기 때문에 특정 부분에 대해 변조 및 위조를 꾀하기 위해선 천문학적인 비용이 들어가게 되며 이를 통해 블록체인은 탈중앙화뿐만 아니라 보안성 및 안정성을 지닌 기술이다.Blockchain technology is a decentralized system, which is different from a centralized database. It is also called a distributed branching technology that creates a block by grouping a lot of information and stores information through a distributed branch of nodes participating in a block chain. The block contains the hash value of the previous block plus the computational power, and since the nodes maintain the block chain through the distributed ledger, astronomical costs are incurred in order to modulate and counterfeit certain parts. Through this, the block chain is not only decentralization but also security and stability.
본 발명의 과제는 상기한 종래 기술의 문제점들을 해결하기 위한 것으로, 기존의 오픈소스 소프트웨어(이하, 오픈소스 SW) 라이선스 컴플라이언스 검증 단말은 컴플라이언스를 실시하기 위해 개별적인 오픈소스 SW 라이선스 데이터베이스를 참조함으로 특정 오픈소스 SW 라이선스 대해서 배제되어 있거나 이전에 과거의 정보가 입력되어 있는 경우를 존재했다. 이러한 문제는 오픈소스 SW 라이선스에 대한 컴플라이언스 결과에 대한 신뢰성을 낮추는 문제를 포함하고 있기 때문에, 본 발명은 오픈소스 SW 라이선스 단말이 참조할 수 있는 블록체인 시스템을 제공하고 오픈소스 SW 라이선스 컴플라이언스 단말이 신뢰성을 가지게 하려는 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made in order to solve the problems of the prior art, and an existing open source software (hereinafter referred to as an open source SW) license compliance verification terminal refers to an individual open source SW license database for compliance, There is a case where the source SW license is excluded or the information of the past is inputted before. Since this problem involves the problem of lowering the credibility of compliance results for open source SW licenses, the present invention provides a block chain system that an open source SW license terminal can reference, and that the open source SW license compliance terminal is reliable In the future.
본 발명의 또 다른 목적으로는, 소프트웨어 정보에 대해서 구조화되고 표준에 입각한 문서를 소프트웨어 정보 블록체인 네트워크에 저장된 기록물로 사용함에 따라 기존에 문서 형식이 다르기 때문에 변형을 필요로 하고 추적의 성능을 저해하던 문제를 발생시키지 않고, 블록체인 네트워크를 활용하여 특정 중앙 서버를 배재한 채 소프트웨어 정보에 대한 위조 및 변조를 방지하는데 있다.It is another object of the present invention to provide a software information block for use in a software information block chain as structured and standardized documents for software information, And to prevent forgery and alteration of software information while disposing a specific central server utilizing a block-chain network without causing problems.
본 발명의 또 다른 목적으로는, 오픈소스 SW 라이선스를 검증하는데 있어서 표준에 입각한 문서 양식을 소프트웨어 정보 입력 단말과 블록체인 네트워크의 기록물로 활용함으로써 소프트웨어 정보 저장에 대한 보편성을 제공하고 블록체인 네트워크로 인한 소프트웨어 정보의 위조 및 변조를 방지하는 방법을 제공하는 데 있다.Another object of the present invention is to provide universality for storing software information by using standardized document format for verifying open source software license as a record of software information input terminal and block chain network, And to prevent tampering and tampering of the software information caused by the software.
상기 기술한 과제를 달성하기 위해 본 발명의 제 1 측면은, 소프트웨어 정보 입력 단말을 통해 소프트웨어의 부분 혹은 전체에 대한 정보를 해당 단말에서 제공하는 양식에 맞추어 입력하고, 소프트웨어 정보 블록체인 네트워크를 구성하는 블록체인 노드는 소프트웨어 정보 입력 단말을 통해 전달받은 소프트웨어 정보를 노드 각자의 원장에 기록하고, 오픈소스 SW 라이선스 컴플라이언스 시스템의 오픈소스 SW 라이선스 컴플라이언스 단말은 오픈소스 SW 라이선스 컴플라이언스를 요청 받으면 블록체인 네트워크의 원장의 정보를 블록체인 수신부를 통해 수신하고, 컴플라이언스 결과를 반환하는 시스템 및 그 방법을 제공한다.According to a first aspect of the present invention, there is provided a software information input terminal for inputting information on part or all of software in accordance with a format provided by a corresponding terminal, The block chain node records the software information received through the software information input terminal on the node's own ledger, and when the open source software license compliance terminal of the open source software license compliance system receives the open source software license compliance request, And a method for receiving the information from the block chain receiver and returning the compliance result.
소프트웨어 정보 입력 단말은 해당하는 양식에 맞게 정보들이 입력되어 있는지 문법 및 규칙적인 부분을 확인한 후에 블록체인 네트워크 상에 기록할 것을 요청한다.The software information input terminal requests to record on the block chain network after checking the grammar and regular parts to see whether the information is inputted according to the corresponding form.
소프트웨어 정보 원장을 포함하고 있는 블록체인 노드와 하나 혹은 그 이상의 블록체인 노드들을 통해서 유지되고 있는 블록체인 네트워크는 소프트웨어 정보 입력 단말로부터 전달받은 정보를 각 블록체인 노드의 소프트웨어 정보 원장에 기록한다. 이로 인해 블록체인 네트워크는 오픈소스 SW 정보뿐만 아니라 비공개 소프트웨어 정보를 포함하여 소프트웨어 정보를 제공할 수 있다.The block-chain network, which is maintained through a block-chain node containing one software information ledger and one or more block-chain nodes, writes the information received from the software information input terminal to the software information ledger of each block-chain node. This allows the block-chain network to provide software information including open source SW information as well as private software information.
오픈소스 SW 라이선스 컴플라이언스 시스템은 오픈소스 SW 라이선스를 준수하고 있는지에 대한 요청에 대한 결과를 반환하는 시스템이고, 블록체인 수신부를 통해 수집한 정보를 저장하는 오픈소스 SW 라이선스 컴플라이언스 시스템만의 정제된 데이터가 수집된 오픈소스 SW 라이선스 데이터베이스를 구성할 수 있다.An open source SW license compliance system is a system that returns results on requests for compliance with open source SW licenses. An open source SW license that stores information gathered via block chain receivers. You can configure the collected open source SW license database.
오픈소스 SW 라이선스 단말에서는 오픈소스 SW 라이선스 컴플라이언스에 대상이 되는 소프트웨어에 대해 블록체인 수신부 혹은 오픈소스 SW 라이선스 데이터베이스로부터 비교 대상이 되는 정보를 추출하고 오픈소스 SW 라이선스 컴플라이언스를 시행하고 결과를 반환한다.The open source SW license terminal extracts the information to be compared from the block chain receiver or open source SW license database for software targeted for open source software license compliance, enforces open source software licensing compliance and returns the results.
소프트웨어 정보 입력 단말의 소프트웨어 정보 입력 양식에 소프트웨어의 소스 코드 정보, 사용된 소프트웨어 라이선스 정보는 기본으로 포함하고, 라이선스 컴플라이언스를 지원하는 방법으로 라이선스 정보에 해당하는 기본 키값을 포함할 수 있다.The software information input form of the software information input terminal may include the source code information of the software, the software license information used as a basis, and the basic key value corresponding to the license information as a method of supporting license compliance.
소프트웨어 정보에 표준화된 양식을 사용하면 소프트웨어 정보 입력 단말의 정보 입력 양식은 소프트웨어 패키지와 관련된 구성 요소, 라이선스 및 저작권을 식별하기 위한 정보들을 담고 있다.Using a standardized form for software information, the information input form of the software information input terminal contains information for identifying the components, licenses, and copyrights associated with the software package.
소프트웨어 정보 블록체인 네트워크의 원장에 기록되는 정보는 소프트웨어 정보 입력 단말의 정보 입력 양식에 맞게 동일하게 혹은 해당 양식을 포함할 수 있도록 구성한다.The information recorded in the ledger of the software information block chain network is configured so as to include the same or the corresponding form according to the information input form of the software information input terminal.
소프트웨어 정보 블록체인 네트워크에 속한 노드들은 소프트웨어 정보를 블록체인 네트워크 상에 저장과 전달을 수행하고 오픈소스 SW 라이선스 컴플라이언스 시스템의 블록체인 수신부에서는 블록체인 네트워크의 정보를 필요에 따라 정제된 데이터로 가공하고 주기적 혹은 선택적으로 수신한다.Software information block The nodes in the chain network store and transfer the software information on the block chain network. In the block chain receiver of the open source software license compliance system, the information of the block chain network is processed as refined data as needed, Or selectively.
상기 기술한 본 발명인 블록체인 기반 오픈소스 SW 라이선스 컴플라이언스를 지원하는 시스템 및 그 방법을 통해서 소프트웨어 정보를 블록체인 네트워크 상에 기록함으로써 기존의 오픈소스 SW 라이선스 저장소에 해당하던 소프트웨어 정보 저장소의 기록 범위를 확장시키는 것과 동시에 누락되는 정보와 비 갱신되던 정보들로 인해 발생하던 오픈소스 SW 라이선스 컴플라이언스에 대한 신뢰성 하락문제에 대한 방안이 될 수 있다.By recording the software information on the block-chain network through the system and method supporting the open-source SW license compliance of the inventive block chain as described above, the recording range of the software information storage corresponding to the existing open source SW license storage is expanded And the lack of credibility for open source software licensing compliance that was caused by missing and non-renewed information.
또한, 블록체인 네트워크 상에 소프트웨어 정보를 기록함으로 참여하는 모든 노드가 원장을 유지하고 있어 네트워크 일부에 문제가 생기거나 디도스(DDos) 같은 공격에도 위조 및 변조가 방지되고 블록체인 네트워크 상에 기록되는 소프트웨어 정보를 표준화된 문서의 양식을 활용함으로 각 오픈소스 SW 컴플라이언스마다 형식 다양성, 내용의 불일치성에 대한 대안이 되는 효과가 있다.In addition, by recording software information on a block-chain network, all participating nodes maintain a ledger, thereby causing a problem in a part of the network, preventing forgery and tampering even in an attack such as DDos, and being recorded on a block- By utilizing the format of standardized documentation of software information, each open source SW compliance has an effect on the variety of formats and the inconsistency of content.
도 1은 본 발명의 실시예로 소프트웨어 정보 입력 단말, 소프트웨어 정보 블록체인 네트워크, 오픈소스 SW 라이선스 컴플라이언스 시스템으로 이루어진 블록체인 기반 오픈 소스 SW 라이선스 컴플라이언스 지원 시스템의 전체 구성도이다.FIG. 1 is an overall configuration diagram of an open source SW license compliance support system based on a block chain comprising a software information input terminal, a software information block chain network, and an open source SW license compliance system according to an embodiment of the present invention.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. In the following description and the accompanying drawings, substantially the same components are denoted by the same reference numerals, and redundant description will be omitted. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.
본 발명은 소스코드와 라이선스 정보 추가적으로는 소프트웨어 정보를 추적할 수 있는 기본 키가 되는 정보를 포함하는 소프트웨어 정보를 입력으로 받고, 해당 양식을 기록할 수 있도록 블록체인 노드의 자산을 구성하여 소프트웨어 정보 블록체인 네트워크를 구성하여 소프트웨어 정보를 기록한다. 여기서 블록체인 플랫폼 혹은 개발 방식에 따라 소프트웨어 블록체인 네트워크의 구현 및 생성방법은 달라지며, 오픈소스 소프트웨어 라이선스 컴플라이언스 시스템은 소프트웨어 정보 블록체인 네트워크의 정보를 수신하여 정제된 데이터가 필요하다면 오픈소스 SW 라이선스 컴플라이언스 데이터베이스를 구성해서 오픈소스 SW 라이선스 컴플라이언스 단말을 통해 컴플라이언스를 지원하는 것이다.The present invention receives software information including information serving as a primary key for tracking software information, as well as source code and license information, and constitutes an asset of a block chain node so as to record the corresponding form, Configure the chain network to record software information. Here, the block chain platform or the development methodology changes the implementation and creation method of the software block chain network. The open source software license compliance system receives the information of the software information block chain network and uses open source SW license compliance The database is configured to support compliance through open source SW license compliance terminals.
도 1은 본 발명의 실시예인 블록체인 기반 오픈 소스 SW 라이선스 컴플라이언스 지원 시스템(100)의 구성도이고, 해당 시스템은 소프트웨어 정보 입력 단말(101), 소프트웨어 정보 블록체인 네트워크(102), 오픈소스 SW 라이선스 컴플라이언스 시스템(103)으로 구성되어 있고, 소프트웨어 정보 블록체인 네트워크(102)는 내부적으로 하나 혹은 그 이상의 블록체인 노드(201)로 구성되어 있으며, 오픈소스 SW 라이선스 컴플라이언스 시스템(103)은 블록체인 수신부(301)와 오픈소스 SW 라이선스 데이터베이스(302)와 오픈소스 SW 라이선스 컴플라이언스 단말(303)으로 구성되어 있다.1 is a block diagram of a block chain-based open source SW license
블록체인 기반 오픈 소스 소프트웨어 라이선스 컴플라이언스 지원 시스템(100)은 소프트웨어 정보 입력 단말(101)을 통해 소프트웨어 정보를 남기고 싶은 요구자가 소프트웨어 정보 블록체인 네트워크(102)에 정보를 기록하고, 특정 소프트웨어에 대해 오픈소스 SW 라이선스 컴플라이언스 서비스의 수요자는 오픈소스 SW 라이선스 시스템(103)을 통해 오픈소스 SW 라이선스의 충돌 유무를 반환 받는다.The block chain-based open source software license
소프트웨어 정보 블록체인 네트워크(102)의 기록물은 블록체인 네트워크에 참여한 블록체인 노드(201)의 원장에 분산되어 모든 노드가 같은 기록을 공유하는 형태로 저장되어 있기 때문에, 특정 네트워크가 유실되거나 공격받는다 해도 위조 및 변조가 되는 상황을 방지할 수 있다.Since the record of the software information
소프트웨어 정보 입력 단말(101)의 소프트웨어 정보 입력을 희망하는 요구자는 해당 소프트웨어 개발한 개발자 혹은 단지 소프트웨어의 정보를 남기고 싶어하는 자가 될 수 있다. 소프트웨어 정보 입력 단말(101)은 그런 정보 요구자의 장치가 될 수 있으며 이는 블록체인 네트워크에 접속하여 정보를 기록할 수 있는 모든 장치를 의미한다.A requester wishing to input software information of the software
소프트웨어 정보 입력 단말(101)를 통해 입력하려는 정보는 소프트웨어 라이선스 컴플라이언스를 지원하기 위해서 추적과 관련된 입력 사항을 필요로 한다. 또한, 해당 플랫폼이 다양한 오픈소스 SW 라이선스 컴플라이언스 방식을 지원하기 위해서는 본 발명이 독자적인 양식을 제안하고 따르는 것이 아닌 표준을 따르는 소프트웨어 정보 방식을 지원해야 한다. 그 예로, 본 실시예는 소프트웨어 정보 입력에 대해 리눅스 재단에서 표준으로 제정한 SPDX(Software Package Data eXchange)의 2.1 버전을 활용하여 설명한다.The information to be input through the software
소프트웨어 정보 입력 단말(101)은 SPDX 2.1의 양식에 따라 SPDX 문서 생성 정보(Document Creation Information), 패키지 정보(Package Information), 패키지 구성파일 정보(File Information), 파일 조각 정보(Snippet Information), 라이선스 정보(Other Licensing Information), SPDX 요소 관계 정보(Relationships), 주석 정보(Annotations)를 입력 받고 각 정보(Information)마다 포함되는 지정한 속성(Attribute)의 상세한 항목에 관해서는 SPDX 2.1의 사양서를 통해 확인할 수 있다.The software
본 실시예는 각 SPDX 2.1의 양식에 따라 구분되는 패키지 정보, 패키지 구성파일 정보 등 각 정보(Information)으로 구분되는 단위를 SPDX Element라고 지칭하고 소프트웨어 정보 입력 단말(101)은 SPDX 2.1 에서 규정한 속성 이외에 오픈소스 SW 라이선스 컴플라이언스를 지원하기 위해서 각 SPDX Element에 대해 속성 값 중 하나인 SPDX Identifier와 중복되지 않게 임의로 지정된 문자열 혹은 숫자 값이 결합된 키 값을 설정한다. 이 값은 SPDX Element 속성 중 Relation의 값으로 지정되고, 이를 통해 특정 소프트웨어에 대한 오픈소스 SW 라이선스의 사용에 대한 추적 관계를 형성할 수 있다.In this embodiment, a unit classified by each information such as package information and package configuration file information classified according to the form of each SPDX 2.1 is referred to as an SPDX element, and the software
소프트웨어 정보 입력 단말(101)으로부터 SPDX가 입력되면 소프트웨어 정보 블록체인 네트워크(102)에 기록되는 과정을 거친다. 소프트웨어 정보 블록체인 네트워크(102)는 블록체인에 참여하는 블록체인 노드(201)로 구성되어 있으며, 이를 구성하는 방법은 블록체인 네트워크 구성 전략에 따라 전자 화폐 기반의 이더리움(ehtereum), 비트코인(BitCoin), 리플(Ripple) 혹은 비즈니스를 위한 프라이빗(Private) 블록체인인 하이퍼렛저(Hyperledger) 프로젝트, R3 Corda 등 다양한 블록체인 플랫폼 중 하나를 선정해서 블록체인을 구성하는 것이 가능하고, 이에 대해서 블록체인의 원장의 기록물이 소프트웨어 정보를 기록할 수 있는 방법을 지니고 있어야 한다.When the SPDX is input from the software
본 실시예는 블록체인 플랫폼 중 하이퍼렛저 프로젝트 중 하이퍼렛저 패브릭(Hyperledger Fabric)을 통해 설명하고, 해당 플랫폼의 용어를 사용해서 설명한다. 소프트웨어 정보 블록체인 네트워크(102)은 입력되는 SPDX Element에 대해서 저장과 오픈소스 SW 라이선스 컴플라이언스 시스템(103)이 SPDX Element를 수신하여 활용 할 수 있도록 전달하는 기능을 스마트 컨트랙트(Smart Contract)를 통해서 제공한다.The present embodiment will be described using a Hyperledger Fabric among Hyper-Threading Projects among block-chain platforms, and will be described using terminology of the platform. The software information
소프트웨어 정보 블록체인 네트워크(102)를 통해 저장되는 SPDX Element는 오픈소스 SW 라이선스 컴플라이언스 서비스를 제공받기를 원할 때 오픈소스 SW 라이선스 컴플라이언스 시스템(103)을 통해서 사용된다. The SPDX Element stored through the software information
오픈소스 SW 라이선스 컴플라이언스 시스템(103)은 블록체인 수신부(301)을 통해서 소프트웨어 정보 블록체인 네트워크(102)의 정보를 수신하고 필요에 따라서 오픈소스 SW 라이선스 데이터베이스(302)를 지정하고 필요하지 않다면 블록체인 수신부(301)에서 오픈소스 SW 컴플라이언스 단말(303)에 직접 정보 전달을 통할 수 있다. 그러나 블록체인 플랫폼에서의 정보 검색에 따른 성능 문제가 존재하는 경우라면 해당 소프트웨어 정보 블록체인 네트워크(102)로부터 주기적으로 정보를 수신하는 오픈소스 SW 라이선스 데이터베이스(302)를 필요로 한다.The open source SW
또한 오픈소스 SW 라이선스 데이터베이스(302)은 소프트웨어 정보 블록체인 네트워크(102)로부터 정제된 데이터를 수집하고자 할 때 필요하다. 전자 화폐 기반의 블록체인 플랫폼을 사용하는 경우 전자 화폐를 발행하는 채굴작업과 관련된 트랜젝션(Transaction)들을 지속적으로 생성되고 있기 때문에 주기적으로 소프트웨어 정보 블록체인 네트워크(102)의 정보를 수신할 경우 데이터가 끊임없이 쌓일 수 있기 때문에 채굴작업 정보가 제외된 데이터를 수집하고자 오픈소스 SW 라이선스 데이터베이스(302)가 필요하고, 전자 화폐 기반뿐만 아니라 다른 블록체인 플랫폼을 사용하더라도 소프트웨어 정보 입력 단말(101)로부터 입력된 정보들을 모두 신뢰하지 않는 경우에 기존의 오픈소스 SW 라이선스 컴플라이언스에 대한 데이터베이스를 지니고 있는 경우에는 지닌 데이터베이스와 비교하여 정제된 데이터를 수집하고자 하는 경우에 오픈소스 SW 라이선스 데이터베이스(302)가 필요하다.Also, the open source
오픈소스 SW 라이선스 컴플라이언스 단말(303)은 블록체인 수신부(301) 또는 오픈소스 SW 라이선스 데이터베이스(302)로부터 전달 받은 정보를 활용하여 소스코드 유사도, 소스코드의 메타데이터 비교 등 해당 단말의 오픈소스 SW 라이선스 컴플라이언스 서비스를 수행하고, 그 결과를 반환한다.The open source SW
본 발명을 통해 오픈소스 SW 라이선스를 위한 소프트웨어 정보의 저장소를 표준에 해당하는 소프트웨어 정보를 제공하고 그 범위를 확장시켜 비 갱신 혹은 누락되던 라이선스 정보를 제공할 수 있으며 블록체인 네트워크를 통해 네트워크 일부에 문제가 생기거나 유실되어 정보의 위조 및 변조가 되는 문제를 방지하는 것을 가능하게 한다.Through the present invention, it is possible to provide the software information corresponding to the standard of the software information for the open source software license and extend the scope of the software information to provide the license information that is not updated or missing, Thereby preventing the information from being falsified and altered.
본 발명의 실시예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다. An apparatus according to embodiments of the present invention may include a processor, a memory for storing and executing program data, a permanent storage such as a disk drive, a communication port for communicating with an external device, a touch panel, a key, Or the like, and the like. Methods implemented with software modules or algorithms may be stored on a computer readable recording medium as computer readable codes or program instructions executable on the processor. Here, the computer-readable recording medium may be a magnetic storage medium such as a read-only memory (ROM), a random-access memory (RAM), a floppy disk, a hard disk, ), And a DVD (Digital Versatile Disc). The computer-readable recording medium may be distributed over networked computer systems so that computer readable code can be stored and executed in a distributed manner. The medium is readable by a computer, stored in a memory, and executable on a processor.
본 발명의 실시예들은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 집적 회로 구성들을 채용할 수 있다. 본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 실시예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 실시예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.Embodiments of the present invention may be represented by functional block configurations and various processing steps. These functional blocks may be implemented in a wide variety of hardware and / or software configurations that perform particular functions. For example, an embodiment may include an integrated circuit configuration such as memory, processing, logic, look-up tables, etc., which may perform various functions by control of one or more microprocessors or by other control devices Can be employed. Similar to the components of the present invention may be implemented with software programming or software components, embodiments may include various algorithms implemented in a combination of data structures, processes, routines, or other programming constructs, such as C, C ++ , Java (Java), assembler, and the like. Functional aspects may be implemented with algorithms running on one or more processors. The embodiments may also employ conventional techniques for electronic configuration, signal processing, and / or data processing. Terms such as "mechanism", "element", "means", "configuration" may be used broadly and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in conjunction with a processor or the like.
실시예에서 설명하는 특정 실행들은 일 실시예들로서, 어떠한 방법으로도 실시 예의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.The specific implementations described in the embodiments are, by way of example, not intended to limit the scope of the embodiments in any way. For brevity of description, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of such systems may be omitted. Also, the connections or connecting members of the lines between the components shown in the figures are illustrative of functional connections and / or physical or circuit connections, which may be replaced or additionally provided by a variety of functional connections, physical Connection, or circuit connections. Also, unless explicitly mentioned, such as "essential "," importantly ", etc., it may not be a necessary component for application of the present invention.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
100 : 블록체인 기반 오픈 소스 SW 라이선스 컴플라이언스 지원 시스템
101 : 소프트웨어 정보 입력 단말
102 : 소프트웨어 정보 블록체인 네트워크
103 : 오픈소스 SW 라이선스 컴플라이언스 시스템
201 : 블록체인 노드
301 : 블록체인 수신부100: Block Chain-Based Open Source SW Licensing Compliance Support System
101: software information input terminal
102: Software information block chain network
103: Open Source SW Licensing Compliance System
201: Block Chain Node
301: block chain receiver
Claims (9)
소프트웨어의 부분 혹은 전체에 대한 정보를 해당 단말에서 제공하는 양식에 맞추어 입력하고는 소프트웨어 정보 입력 단말;
상기 소프트웨어 정보 입력 단말을 통해 전달받은 소프트웨어 정보를 노드 각자의 원장에 기록하는, 소프트웨어 정보 블록체인 네트워크를 구성하는 블록체인 노드; 및
오픈소스 SW 라이선스 컴플라이언스를 요청 받으면 블록체인 네트워크의 원장의 정보를 블록체인 수신부를 통해 수신하고, 컴플라이언스 결과를 반환하는 오픈소스 SW 라이선스 컴플라이언스 단말을 포함하는 것을 특징으로 하는 블록체인 기반 오픈 소스 소프트웨어 라이선스 컴플라이언스 지원 시스템.As a block chain-based open source software license compliance support system,
A software information input terminal for inputting information on part or all of the software in accordance with a format provided by the terminal;
A block chain node constituting a software information block chain network for recording software information received through the software information input terminal into the ledger of each node; And
And an open source SW license compliance terminal for receiving the information of the ledger of the block chain network via the block chain receiver upon request of the open source SW license compliance and returning a compliance result. Support system.
상기 소프트웨어 정보 입력 단말은 해당하는 양식에 맞게 정보들이 입력되어 있는지 문법 및 규칙적인 부분을 확인한 후에 블록체인 네트워크 상에 기록할 것을 요청하는 것을 특징으로 하는 블록체인 기반 오픈 소스 소프트웨어 라이선스 컴플라이언스 지원 시스템.The method according to claim 1,
Wherein the software information input terminal requests to record on the block chain network after confirming the syntax and regular parts of the information in accordance with the corresponding form.
소프트웨어 정보 원장을 포함하고 있는 블록체인 노드와 하나 혹은 그 이상의 블록체인 노드들을 통해서 유지되고 있는 블록체인 네트워크는 소프트웨어 정보 입력 단말로부터 전달받은 정보를 각 블록체인 노드의 소프트웨어 정보 원장에 기록함으로써 블록체인 네트워크는 오픈소스 SW 정보뿐만 아니라 비공개 소프트웨어 정보를 포함하여 소프트웨어 정보를 제공할 수 있는 것을 특징으로 하는 블록체인 기반 오픈 소스 소프트웨어 라이선스 컴플라이언스 지원 시스템.The method according to claim 1,
The block-chain network, which is maintained through a block-chain node containing one software information ledger and one or more block-chain nodes, writes the information received from the software information input terminal to the software information ledger of each block- Is capable of providing software information including open source SW information as well as private software information. ≪ RTI ID = 0.0 > [0002] < / RTI >
상기 오픈소스 SW 라이선스 컴플라이언스 시스템은 오픈소스 SW 라이선스를 준수하고 있는지에 대한 요청에 대한 결과를 반환하는 시스템이고, 블록체인 수신부를 통해 수집한 정보를 저장하는 오픈소스 SW 라이선스 컴플라이언스 시스템만의 정제된 데이터가 수집된 오픈소스 SW 라이선스 데이터베이스를 구성할 수 있는 것을 특징으로 하는 블록체인 기반 오픈 소스 소프트웨어 라이선스 컴플라이언스 지원 시스템.The method according to claim 1,
The open source SW license compliance system is a system that returns the results of a request for compliance with an open source SW license and an open source SW license that stores information gathered via block chain receivers. Is an open-source software licensing compliance support system that is based on a block chain that features an open source SW licensing database that can be configured to collect.
상기 오픈소스 SW 라이선스 단말에서는 오픈소스 SW 라이선스 컴플라이언스에 대상이 되는 소프트웨어에 대해 블록체인 수신부 혹은 오픈소스 SW 라이선스 데이터베이스로부터 비교 대상이 되는 정보를 추출하고 오픈소스 SW 라이선스 컴플라이언스를 시행하고 결과를 반환하는 것을 특징으로 하는 블록체인 기반 오픈 소스 소프트웨어 라이선스 컴플라이언스 지원 시스템.The method according to claim 1,
The open source SW license terminal extracts information to be compared from the block chain receiver or the open source SW license database for software targeted for open source software license compliance, enforces open source software license compliance and returns the results Features a block-chain-based open source software license compliance support system.
상기 소프트웨어 정보 입력 단말의 소프트웨어 정보 입력 양식에 소프트웨어의 소스 코드 정보, 사용된 소프트웨어 라이선스 정보는 기본으로 포함하고, 라이선스 컴플라이언스를 지원하는 방법으로 라이선스 정보에 해당하는 기본 키값을 포함하는 것을 특징으로 하는 블록체인 기반 오픈 소스 소프트웨어 라이선스 컴플라이언스 지원 시스템.The method according to claim 1,
Wherein the software information inputting form of the software information input terminal includes the source code information of the software and the software license information used as basic information and includes a basic key value corresponding to the license information as a method of supporting license compliance. Chain based open source software license compliance support system.
소프트웨어 정보에 표준화된 양식을 사용하면 상기 소프트웨어 정보 입력 단말의 정보 입력 양식은 소프트웨어 패키지와 관련된 구성 요소, 라이선스 및 저작권을 식별하기 위한 정보들을 담고 있는 것을 특징으로 하는 블록체인 기반 오픈 소스 소프트웨어 라이선스 컴플라이언스 지원 시스템.The method according to claim 1,
Wherein the information input form of the software information input terminal contains information for identifying components, licenses, and copyrights related to the software package when using a standardized format for the software information. system.
상기 소프트웨어 정보 블록체인 네트워크의 원장에 기록되는 정보는 소프트웨어 정보 입력 단말의 정보 입력 양식에 맞게 동일하게 혹은 해당 양식을 포함할 수 있도록 구성하는 것을 특징으로 하는 블록체인 기반 오픈 소스 소프트웨어 라이선스 컴플라이언스 지원 시스템.The method according to claim 1,
Wherein the information recorded in the ledger of the software information block chain network is configured to include the same or corresponding form according to the information input form of the software information input terminal.
상기 소프트웨어 정보 블록체인 네트워크에 속한 노드들은 소프트웨어 정보를 블록체인 네트워크 상에 저장과 전달을 수행하고 오픈소스 SW 라이선스 컴플라이언스 시스템의 블록체인 수신부에서는 블록체인 네트워크의 정보를 필요에 따라 정제된 데이터로 가공하고 주기적 혹은 선택적으로 수신하는 것을 특징으로 하는 블록체인 기반 오픈 소스 소프트웨어 라이선스 컴플라이언스 지원 시스템.The method according to claim 1,
The nodes in the software information block chain network store and transfer the software information on the block chain network, and the block chain receiver of the open source software license compliance system processes the information of the block chain network into the refined data as needed Wherein said at least one of said at least one of said at least two of said at least one of said plurality of said at least one of said plurality of said at least one of said plurality of said at least one of said clients.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170169110A KR20190068886A (en) | 2017-12-11 | 2017-12-11 | Blockchain based Method and system for supporting open source software license compliance |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170169110A KR20190068886A (en) | 2017-12-11 | 2017-12-11 | Blockchain based Method and system for supporting open source software license compliance |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190068886A true KR20190068886A (en) | 2019-06-19 |
Family
ID=67104200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170169110A KR20190068886A (en) | 2017-12-11 | 2017-12-11 | Blockchain based Method and system for supporting open source software license compliance |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20190068886A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750762A (en) * | 2019-10-21 | 2020-02-04 | 中国人民解放军国防科技大学 | Open source software right confirming method and system based on block chain |
KR20220155728A (en) * | 2021-05-17 | 2022-11-24 | 경기대학교 산학협력단 | Method and apparatus for blockchain-based copyright management |
-
2017
- 2017-12-11 KR KR1020170169110A patent/KR20190068886A/en unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750762A (en) * | 2019-10-21 | 2020-02-04 | 中国人民解放军国防科技大学 | Open source software right confirming method and system based on block chain |
CN110750762B (en) * | 2019-10-21 | 2021-09-24 | 中国人民解放军国防科技大学 | Open source software right confirming method and system based on block chain |
KR20220155728A (en) * | 2021-05-17 | 2022-11-24 | 경기대학교 산학협력단 | Method and apparatus for blockchain-based copyright management |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110620810B (en) | Non-linked ownership of continuous asset transfer over blockchain | |
US11720711B2 (en) | System and method for interaction object management in a blockchain environment | |
JP6877448B2 (en) | Methods and systems for guaranteeing computer software using distributed hash tables and blockchain | |
US20200374126A1 (en) | Method for storing an object on a plurality of storage nodes | |
US20220092586A1 (en) | Off network identity tracking in anonymous cryptocurrency exchange networks | |
TWI694350B (en) | Information supervision method and device based on blockchain | |
JP6514831B1 (en) | Method and system for verifying ownership of digital assets using distributed hash tables and peer-to-peer distributed ledgers | |
EP3537684B1 (en) | Apparatus, method, and program for managing data | |
US20210281578A1 (en) | Cross-domain state synchronization | |
CN112287034B (en) | Data synchronization method, equipment and computer readable storage medium | |
JP7549426B2 (en) | Indexing Structure for Blockchain Ledgers | |
CN110599331B (en) | Liability collection system, method, equipment and storage medium based on blockchain | |
CN110471982B (en) | Data processing method and device based on block chain | |
CN112287033B (en) | Data synchronization method, equipment and computer readable storage medium | |
CN111698198B (en) | Secret generation and share distribution | |
CN115705571A (en) | Protecting privacy of auditable accounts | |
CN112052474A (en) | Blu-ray copy service | |
KR20230005353A (en) | Sanctioned Events in a Decentralized Database | |
CN110192212B (en) | Digital asset platform | |
KR20190068886A (en) | Blockchain based Method and system for supporting open source software license compliance | |
CN112069529B (en) | Block chain-based volume management method and device, computer and storage medium | |
US20210144451A1 (en) | Control method, content management system, recording medium, and data structure | |
CN109690550B (en) | Digital Asset Architecture | |
JP2023520634A (en) | Maintaining contextual integrity | |
JP2022531642A (en) | How and system to authenticate data generated by blockchain |