KR102321879B1 - Software Installing method for Plurality Device - Google Patents

Software Installing method for Plurality Device Download PDF

Info

Publication number
KR102321879B1
KR102321879B1 KR1020200025890A KR20200025890A KR102321879B1 KR 102321879 B1 KR102321879 B1 KR 102321879B1 KR 1020200025890 A KR1020200025890 A KR 1020200025890A KR 20200025890 A KR20200025890 A KR 20200025890A KR 102321879 B1 KR102321879 B1 KR 102321879B1
Authority
KR
South Korea
Prior art keywords
software
hash value
block
equipment
devices
Prior art date
Application number
KR1020200025890A
Other languages
Korean (ko)
Other versions
KR20210110963A (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 KR1020200025890A priority Critical patent/KR102321879B1/en
Publication of KR20210110963A publication Critical patent/KR20210110963A/en
Application granted granted Critical
Publication of KR102321879B1 publication Critical patent/KR102321879B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/44Program or device authentication

Abstract

본 발명의 실시예에 따른 서버와 블록체인 네트워크를 기반으로 연결된 복수의 장비에 소프트웨어를 설치하는 방법에 있어서, 상기 서버의 블록에 상기 소프트웨어, 소프트웨어 해시값 및 식별번호를 업로드하여 상기 블록체인 네트워크에 업로드하는 업로드 단계, 상기 복수의 장비의 식별번호와 상기 블록에 업로드된 식별번호를 비교하여 상기 복수의 장비 중 상기 식별번호와 일치하는 식별번호를 포함하는 적어도 하나의 장비를 식별하는 식별 단계, 상기 복수의 장비가 각각 상기 소프트웨어에서 도출한 해시값과 상기 블록의 소프트웨어 해시값을 비교하여 상기 소프트웨어의 정상 여부를 판단하는 해시값 판단 단계, 상기 소프트웨어가 정상이고, 상기 식별된 적어도 하나의 장비가 도출한 해시값과 상기 블록에 포함된 소프트웨어 해시값이 일치할 경우, 상기 식별된 적어도 하나의 장비는 상기 소프트웨어를 설치하는 설치 단계를 포함할 수 있다.In the method of installing software on a plurality of devices connected based on a server and a block chain network according to an embodiment of the present invention, the software, a software hash value and an identification number are uploaded to the block of the server to the block chain network. An upload step of uploading, an identification step of comparing the identification numbers of the plurality of devices with the identification numbers uploaded to the block to identify at least one device including an identification number matching the identification number among the plurality of devices, the identification step of A hash value determination step in which a plurality of devices compare the hash value derived from the software with the software hash value of the block to determine whether the software is normal, the software is normal, and the identified at least one device is derived When one hash value and the software hash value included in the block match, the identified at least one device may include an installation step of installing the software.

Description

복수의 장비에 소프트웨어를 설치하는 방법{Software Installing method for Plurality Device}{Software Installing method for Plurality Device}

본 발명은 소프트웨어를 설치하는 방법으로, 구체적으로, 복수의 SMT 장비 라인에 소프트웨어를 효율적으로 설치하는 방법에 관한 발명이다.The present invention relates to a method for installing software, specifically, to a method for efficiently installing software on a plurality of SMT equipment lines.

표면실장기술(Surface Mounting Technology SMT)는 인쇄 회로 기판(PCB)의 표면에 직접 실장할 수 있는 부품을 전자 회로 부착시키는 기술을 총칭한다. Surface Mounting Technology (SMT) refers to a technology for attaching electronic circuits to components that can be directly mounted on the surface of a printed circuit board (PCB).

또한, SMT 장비는 많은 경우 10개 이상의 장비로 구성되어 한 개의 라인을 이루며 이를 SMT 라인이라 하며, 적어도 하나의 공장에 수십여 개의 SMT 라인이 설치되어 있다. 예를 들어, 10개의 장비로 구성된 10개 라인이 있는 경우 총 100개의 장비가 공장에 설치되어 있다고 볼 수 있다.In addition, in many cases, SMT equipment consists of 10 or more equipment to form one line, which is called an SMT line, and dozens of SMT lines are installed in at least one factory. For example, if there are 10 lines of 10 machines, a total of 100 machines are installed in the factory.

이처럼 수백여 대의 장비로 구성된 공장에서 장비마다 소프트웨어를 설치하거나, 여러 지역에 있는 복수의 공장에 포함되어 있는 장비 마다 소프트웨어를 설치하기 위해 장비 대수만큼 설치 작업을 반복 해야함으로 많은 시간과 비용이 소비될 수 있다.In this way, a lot of time and money will be consumed as the installation work has to be repeated as many as the number of equipment to install software for each equipment in a factory consisting of hundreds of equipment, or to install software for each equipment included in a plurality of plants in various regions. can

또한, 현재 소프트웨어를 설치하기 위해 소프트웨어를 해당 장비로 복사할 경우, 네트워크 드라이브를 이용하거나 USB 메모리를 이용하고 있다. 다만, 이와 같은 방식은 모두 바이러스나 악성코드에 취약함으로 설치 과정 중 보안 문제가 발생할 수 있는 문제점이 있다.In addition, when copying software to the device to install the current software, a network drive or USB memory is used. However, since all of these methods are vulnerable to viruses or malicious codes, there is a problem that a security problem may occur during the installation process.

한국공개공보 10-2016-0001444(공개일.2016.01.06)Korean Public Publication No. 10-2016-0001444 (published date.2016.01.06)

본 발명이 해결하고자 하는 과제는 복수의 SMT 장비에 효율적으로 소프트웨어를 설치할 수 있는 방법을 제공하는 것에 있다.The problem to be solved by the present invention is to provide a method for efficiently installing software in a plurality of SMT equipment.

또한, 복수의 SMT 장비에 소프트웨어 설치 시, 각 장비의 보안성을 높일 수 있는 방법을 제공하는 것에 있다.In addition, when software is installed on a plurality of SMT equipment, it is to provide a method for increasing the security of each equipment.

본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems of the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

본 발명의 실시예에 따른 서버와 블록체인 네트워크를 기반으로 연결된 복수의 장비에 소프트웨어를 설치하는 방법에 있어서, 상기 서버의 블록에 상기 소프트웨어, 소프트웨어 해시값 및 식별번호를 업로드하여 상기 블록체인 네트워크에 업로드하는 업로드 단계, 상기 복수의 장비의 식별번호와 상기 블록에 업로드된 식별번호를 비교하여 상기 복수의 장비 중 상기 식별번호와 일치하는 식별번호를 포함하는 적어도 하나의 장비를 식별하는 식별 단계, 상기 복수의 장비가 각각 상기 소프트웨어에서 도출한 해시값과 상기 블록의 소프트웨어 해시값을 비교하여 상기 소프트웨어의 정상 여부를 판단하는 해시값 판단 단계, 상기 소프트웨어가 정상이고, 상기 식별된 적어도 하나의 장비가 도출한 해시값과 상기 블록에 포함된 소프트웨어 해시값이 일치할 경우, 상기 식별된 적어도 하나의 장비는 상기 소프트웨어를 설치하는 설치 단계를 포함할 수 있다.In the method of installing software on a plurality of devices connected based on a server and a block chain network according to an embodiment of the present invention, the software, a software hash value and an identification number are uploaded to the block of the server to the block chain network. An upload step of uploading, an identification step of comparing the identification numbers of the plurality of devices with the identification numbers uploaded to the block to identify at least one device including an identification number matching the identification number among the plurality of devices, the identification step of A hash value determination step in which a plurality of devices compare the hash value derived from the software with the software hash value of the block to determine whether the software is normal, the software is normal, and the identified at least one device is derived When one hash value and the software hash value included in the block match, the identified at least one device may include an installation step of installing the software.

상기 해시값 판단 단계는, 상기 복수의 장비가 도출한 해시값과 상기 블록에 포함된 상기 소프트웨어 해시값을 비교하여 해시값 일치 비율을 산출하는 비율 산출 단계, 상기 해시값 일치 비율을 미리 설정된 비율과 비교하여 상기 소프트웨어의 정상 여부를 판단하는 정상 판단 단계를 더 포함하고, 상기 정상 판단 단계는 상기 해시값 일치 비율이 미리 설정된 비율보다 높을 경우, 상기 소프트웨어는 정상으로 판단하고, 상기 해시값 일치 비율이 미리 설정된 비율보다 작을 경우, 상기 소프트웨어를 비정상으로 판단할 수 있다.The hash value determination step includes a ratio calculation step of calculating a hash value agreement ratio by comparing the hash values derived by the plurality of devices with the software hash values included in the block, and setting the hash value agreement ratio with a preset ratio Comparing further comprising a normal determination step of determining whether the software is normal, wherein the normal determination step is when the hash value coincidence ratio is higher than a preset ratio, the software determines that it is normal, and the hash value agreement ratio is If it is smaller than the preset ratio, the software may be determined to be abnormal.

상기 소프트웨어가 비정상이고, 복수의 장비 중 상기 소프트웨어 해시값과 일치하는 해시값을 도출한 장비를 오류로 판단하는 장비 오류 단계를 더 포함할 수 있다.The method may further include an equipment error step of determining that the software is abnormal and an equipment deriving a hash value matching the software hash value among a plurality of equipment is an error.

본 발명의 실시예에 따른 복수의 장비에 소프트웨어를 설치하는 방법은 다음과 같은 효과가 하나 혹은 그 이상 있다.The method of installing software on a plurality of devices according to an embodiment of the present invention has one or more of the following effects.

블록체인 네트워크를 통하여 소프트웨어를 복수의 장비에 효율적으로 설치할 수 있다.Software can be efficiently installed on multiple devices through a blockchain network.

해시값 일치 비율을 판단함에 따라 소프트웨어의 정상 여부를 판정함에 따라 복수의 장비에 안전하게 소프트웨어를 설치할 수 있다.By judging the hash value matching ratio, it is possible to safely install the software on a plurality of devices by determining whether the software is normal.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

도 1은 본 발명의 실시예에 따른 서버와 연결된 복수의 장비를 나타낸 도면이다.
도 2 및 도 3은 본 발명의 실시예에 따른 복수의 장비에 소프트웨어를 설치하는 방법에 대하여 나타낸 순서도이다.
도 4는 본 발명의 실시예에 따른 서버의 블록에 소프트웨어 해시값 및 식별번호가 업로드된 상태를 나타낸 도면이다.
1 is a view showing a plurality of equipment connected to a server according to an embodiment of the present invention.
2 and 3 are flowcharts illustrating a method of installing software in a plurality of devices according to an embodiment of the present invention.
4 is a diagram illustrating a state in which a software hash value and an identification number are uploaded to a block of a server according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and a method for achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the art to which the present invention pertains. It is provided to fully inform the possessor of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.

따라서, 몇몇 실시 예에서, 잘 알려진 공정 단계들, 잘 알려진 구조 및 잘 알려진 기술들은 본 발명이 모호하게 해석되는 것을 피하기 위하여 구체적으로 설명되지 않는다.Accordingly, in some embodiments, well-known process steps, well-known structures, and well-known techniques have not been specifically described in order to avoid obscuring the present invention.

본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 포함한다(comprises) 및/또는 포함하는(comprising)은 언급된 구성요소, 단계 및/또는 동작 이외의 하나 이상의 다른 구성요소, 단계 및/또는 동작의 존재 또는 추가를 배제하지 않는 의미로 사용한다. 그리고, "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. As used herein, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, includes and/or comprising means not excluding the presence or addition of one or more other components, steps and/or actions other than the stated components, steps and/or actions. use it as And, “and/or” includes each and every combination of one or more of the recited items.

또한, 본 명세서에서 기술하는 실시 예들은 본 발명의 이상적인 예시도인 사시도, 단면도, 측면도 및/또는 개략도들을 참고하여 설명될 것이다. 따라서, 제조 기술 및/또는 허용 오차 등에 의해 예시도의 형태가 변형될 수 있다. 따라서, 본 발명의 실시 예들은 도시된 특정 형태로 제한되는 것이 아니라 제조 공정에 따라 생성되는 형태의 변화도 포함되는 것이다. 또한, 본 발명의 실시 예에 도시된 각 도면에 있어서 각 구성 요소들은 설명의 편의를 고려하여 다소 확대 또는 축소되어 도시된 것일 수 있다.Further, the embodiments described herein will be described with reference to perspective, cross-sectional, side view and/or schematic views that are ideal illustrative views of the present invention. Accordingly, the form of the illustrative drawing may be modified due to manufacturing technology and/or tolerance. Accordingly, embodiments of the present invention are not limited to the specific form shown, but also include changes in the form generated according to the manufacturing process. In addition, in each drawing shown in the embodiment of the present invention, each component may be illustrated in a somewhat enlarged or reduced manner in consideration of convenience of description.

이하, 본 발명에 복수의 장비에 소프트웨어 설치 방법에 대하여 설명하도록 하겠다.Hereinafter, a method for installing software on a plurality of devices in the present invention will be described.

도 1은 본 발명의 실시예에 따른 서버와 연결된 복수의 장비를 나타낸 도면이고, 도 2 및 도 3은 본 발명의 실시예에 따른 복수의 장비에 소프트웨어를 설치하는 방법에 대하여 나타낸 순서도이고, 도 4는 본 발명의 실시예에 따른 서버의 블록에 소프트웨어 해시값 및 식별번호가 업로드된 상태를 나타낸 도면이다.1 is a view showing a plurality of equipment connected to a server according to an embodiment of the present invention, FIGS. 2 and 3 are flowcharts showing a method of installing software in a plurality of equipment according to an embodiment of the present invention, FIG. 4 is a diagram showing a state in which a software hash value and an identification number are uploaded to a block of a server according to an embodiment of the present invention.

도 1에 도시된 바와 같이 본 발명의 실시예에 따른 서버(10)와 복수의 장비(50)는 블록체인 네트워크 기반으로 연결될 수 있다. 여기서 장비는 SMT 장비를 나타낸다. 예를 들어, 복수의 SMT 장비는 자동 검사 장비 AOI(Auto Optical Inspector), 칩마운터(Chip Mounter), 센서, 벨브, 스크린 프린터 등으로 이루어질 수 있다.As shown in FIG. 1 , the server 10 and the plurality of devices 50 according to an embodiment of the present invention may be connected based on a block chain network. Here, the equipment refers to the SMT equipment. For example, the plurality of SMT equipment may include an automatic inspection equipment AOI (Auto Optical Inspector), a chip mounter, a sensor, a valve, a screen printer, and the like.

또한, 복수의 장비(50)는 공장의 복수의 SMT 라인을 의미하거나 여러 공장에 포함되어 있는 복수의 SMT 장비로 여겨질 수 있다.In addition, the plurality of equipment 50 may mean a plurality of SMT lines of a factory or may be regarded as a plurality of SMT equipment included in several factories.

예를 들어, 도 1의 제1 장비(110), 제2 장비(120)는 제1 공장에 포함된 장비이고, 제3 장비(210), 제4 장비(220)는 제2 공장에 포함된 장비이고, 제4 장비(310), 제5 장비(320)는 제3 공장에 포함된 장비이고, 제6 장비(410), 제7 장비(420)는 제4 공장에 포함된 장비일 수 있다.For example, the first equipment 110 and the second equipment 120 of FIG. 1 are equipment included in the first factory, and the third equipment 210 and the fourth equipment 220 are included in the second factory. equipment, the fourth equipment 310 and the fifth equipment 320 may be equipment included in the third factory, and the sixth equipment 410 and the seventh equipment 420 may be equipment included in the fourth factory. .

블록체인은 누구나 열람할 수 있는 내역을 투명하게 기록하고, 여러 대의 컴퓨터에 이를 복제해 저장하는 분산형 데이터 저장기술을 나타낸다.Blockchain refers to a distributed data storage technology that transparently records details that anyone can view, and replicates and stores them on multiple computers.

이에 따라, 블록체인 네트워크 상에 연결되어 있는 서버(10)와 복수의 장비(50) 각각은 노드로 형성되어 블록체인 상의 저장소인 블록을 포함할 수 있다. 따라서, 복수의 블록 중 어느 한 곳에 데이터가 기록되면 서버(10)와 복수의 장비(50)는 데이터를 상호 공유 및 열람할 수 있다.Accordingly, each of the server 10 and the plurality of devices 50 connected on the block chain network is formed as a node and may include a block that is a storage on the block chain. Accordingly, when data is recorded in any one of the plurality of blocks, the server 10 and the plurality of devices 50 may mutually share and view the data.

예를 들어, 서버(10)에서 블록에 소프트웨어 설치파일이 기록되거나 소프트웨어 설치파일이 저장된 곳이 기록될 경우, 서버(10)를 포함한 복수의 장비(50)는 서버(10)의 블록에 기록된 소프트웨어 설치파일 또는 소프트웨어 설치파일 저장 위치를 인식 및 공유할 수 있다. 이하, 소프트웨어 설치파일을 소프트웨어로 기재하도록 하겠다.For example, when a software installation file is recorded in a block in the server 10 or a place where a software installation file is stored is recorded, a plurality of equipment 50 including the server 10 is recorded in the block of the server 10 . It can recognize and share the software installation file or the storage location of the software installation file. Hereinafter, the software installation file will be described as software.

또한, 각 블록에는 스마트 컨트렉트 코드가 기록될 수 있다. 스마트 컨트렉트 코드는 특정 조건이 충족될 경우, 사용자나 서버(10)의 명령에 상관없이 특정 작업을 수행할 수 있도록 형성된 코드이다. 예를 들어, 서버(10)의 블록 상에 소프트웨어가 기록될 경우, 적어도 하나의 장비는 특정 조건 충족 및 스마트 컨트렉트 코드에 따라 자동적으로 소프트웨어를 설치할 수 있다.In addition, a smart contract code may be recorded in each block. The smart contract code is a code formed so that, when a specific condition is satisfied, a specific operation can be performed regardless of the command of the user or the server 10 . For example, when software is recorded on a block of the server 10, at least one device may automatically install the software according to a specific condition satisfaction and a smart contract code.

위 사항에 따라, 본 발명의 실시예에 따른 복수의 장비(50)에 소프트웨어를 설치하는 방법은 업로드 단계(S100), 식별 단계(S200), 해시값 판단 단계(S300), 설치 단계(S400)를 포함할 수 있다.According to the above, the method of installing software on a plurality of equipment 50 according to an embodiment of the present invention includes an upload step (S100), an identification step (S200), a hash value determination step (S300), and an installation step (S400) may include.

업로드 단계(S100)는 소프트웨어 제공자가 소프트웨어, 소프트웨어 해시값 및 식별번호를 서버의 블록에 업로드하여 블록체인 네트워크에 업로드 하는 단계이다. 구체적으로 소프트웨어, 소프트웨어 해시값 및 식별번호를 서버의 블록에 업로드함에 따라 블록체인 네트워크에 기록되어져 복수의 장비(50)들이 소프트웨어, 소프트웨어 해시값 및 식별번호를 인식 및 공유할 수 있다.The upload step ( S100 ) is a step in which the software provider uploads the software, the software hash value and the identification number to the block of the server and uploads it to the block chain network. Specifically, as the software, the software hash value and the identification number are uploaded to the block of the server, they are recorded in the blockchain network so that a plurality of devices 50 can recognize and share the software, the software hash value and the identification number.

여기서, 서버의 블록에 포함된 소프트웨어 해시값은 소프트웨어를 해시한 최초의 값으로 형성될 수 있다.Here, the software hash value included in the block of the server may be formed as an initial value obtained by hashing the software.

도 4의 각 장비 옆에 기재된 xyz, abc는 소프트웨어를 해시함에 따라 도출한 해시값을 나타내고, 각 장비 옆에 기재된 번호는 장비 각각의 식별번호를 나타낸다.xyz and abc written next to each device in FIG. 4 represent a hash value derived by hashing the software, and a number written next to each device represents an identification number of each device.

식별 단계(S200)는 복수의 장비(50)의 식별번호와 서버의 블록에 포함된 식별번호를 비교하여 복수의 장비(50) 중 서버의 블록에 포함된 식별번호와 일치하는 식별번호를 포함하는 적어도 하나의 장비를 식별하는 단계이다.The identification step (S200) compares the identification number of the plurality of equipment 50 with the identification number included in the block of the server and includes an identification number that matches the identification number included in the block of the server among the plurality of equipment 50 Identifying at least one device.

소프트웨어 제공자는 적어도 하나의 장비에만 소프트웨어를 설치하고 싶을 경우, 서버의 블록에 적어도 한 장비의 식별번호를 포함할 수 있다. 이에 따라, 서버 블록에 기록된 식별번호는 블록체인 네트워크로 연결된 복수의 장비 중 적어도 한 장비의 식별번호로 형성될 수 있다.When the software provider wants to install the software on only at least one device, the server block may include the identification number of the at least one device. Accordingly, the identification number recorded in the server block may be formed as an identification number of at least one device among a plurality of devices connected to the block chain network.

예를 들어, 도 4에 도시된 바와 같기 복수의 장비 중 식별번호 3-1을 가지는 제 5장비(310)와 식별번호 3-2을 가지는 제6 장비(320)에만 소프트웨어를 설치/실행할 필요성이 있는 경우, 서버의 블록에 3-1, 3-2 식별번호를 포함할 수 있다. 한편, 도면상에 기재된 모든 식별번호는 설명을 위해서 기재한 것으로 다양한 번호로 기재될 수 있다.For example, as shown in FIG. 4 , there is no need to install/execute software only on the fifth equipment 310 having an identification number 3-1 and a sixth equipment 320 having an identification number 3-2 among a plurality of equipment. If there is, it may include 3-1 and 3-2 identification numbers in the block of the server. On the other hand, all identification numbers described in the drawings are described for the sake of explanation and may be described with various numbers.

해시값 판단 단계(S300)는 복수의 장비(50)가 각각 서버의 블록에 기록된 소프트웨어 해시값과 소프트웨어를 해시함에 따라 도출한 해시값을 비교하여 소프트웨어의 정상 여부를 판단하는 단계이다.The hash value determination step ( S300 ) is a step of determining whether the software is normal by comparing the hash value derived by hashing the software with the software hash value recorded in the block of the server by the plurality of devices 50 , respectively.

전술한 바와 같이 서버의 블록에는 식별번호와 소프트웨어 해시값이 저장될 수 있다. As described above, an identification number and a software hash value may be stored in the block of the server.

또한, 블록체인 네트워크 특성에 따라 블록에 소프트웨어 해시값이 기재될 경우, 소프트웨어 해시값이 복수의 장비에 공유됨으로 모든 장비는 소프트웨어 해시값과 소프트웨어에서 도출한 해시값을 비교함에 따라 소프트웨어의 정상 여부를 판단할 수 있다. In addition, when a software hash value is written in a block according to the characteristics of the block chain network, the software hash value is shared among multiple devices, so all devices compare the software hash value with the hash value derived from the software to determine whether the software is normal or not. can judge

또한, 해시값 판단 단계(S300)는 도 3에 도시된 바와 같이 비율 산출 단계(S310) 및 정상 판단 단계(S320)를 더 포함할 수 있다.Also, the hash value determination step S300 may further include a ratio calculation step S310 and a normal determination step S320 as shown in FIG. 3 .

비율 산출 단계(S310)는 서버의 블록에 기록된 소프트웨어 해시값과 각 장비가 소프트웨어에서 도출한 해시값을 비교하여 해시값 일치 비율을 산출하는 단계이고, 정상 판단 단계(S320)는 해시값 일치 비율과 미리 설정된 비율과 비교하여 소프트웨어의 정상 여부를 판단하는 단계이다.The ratio calculation step (S310) is a step of calculating a hash value agreement ratio by comparing the software hash value recorded in the block of the server with the hash value derived from the software by each device, and the normal determination step (S320) is the hash value agreement ratio It is a step of determining whether the software is normal or not by comparing it with the preset ratio.

정상 판단 단계(S320)는 해시값 일치 비율이 미리 설정된 비율보다 높을 경우, 소프트웨어는 정상으로 판단하고, 해시값 일치 비율이 미리 설정된 비율보다 작을 경우, 소프트웨어를 비정상으로 판단할 수 있다. 여기서, 미리 설정된 비율은 블록체인 네트워크에 연결된 전체 장비 개수의 60%로 설정될 수 있으나 이에 한정되는 것은 아니다. 예로 블록체인 합의 알고리즘인 Pow, Pos 등으로 형성될 수 있다.In the normal determination step ( S320 ), when the hash value matching ratio is higher than the preset ratio, the software may be determined to be normal, and if the hash value matching ratio is smaller than the preset ratio, the software may be determined to be abnormal. Here, the preset ratio may be set to 60% of the total number of devices connected to the blockchain network, but is not limited thereto. For example, it can be formed by Pow, Pos, etc., which are blockchain consensus algorithms.

예를 들어, 도 4에 도시된 바와 같이 서버 블록의 소프트웨어 해시값이 xyz이고, 복수의 장비 중 xyz 해시값을 도출한 장비는 자기의 블록에 일치 판정을 기록하여 모든 장비와 공유하고, abc 해시값을 도출한 장비는 오류 판정을 자기의 블록에 기록하여 모든 장비와 공유될 수 있으므로 해시값 일치 비율을 모든 장비(노드)에서 파악할 수 있다. For example, as shown in FIG. 4 , the software hash value of the server block is xyz, and the device that derives the xyz hash value among a plurality of devices records the match determination in its own block and shares it with all devices, and the abc hash The device that derives the value records the error determination in its block and can be shared with all devices, so that the hash value matching rate can be grasped from all devices (nodes).

이때, 도 4에 도시된 바와 같이 일치 판정이 미리 설정된 비율보다 높을 경우, 소프트웨어는 정상으로 판정될 수 있다.At this time, as shown in FIG. 4 , if the match determination is higher than a preset ratio, the software may be determined to be normal.

설치 단계(S400)는 소프트웨어가 정상이고, 식별된 적어도 하나의 장비에서도출한 해시값과 소프트웨어 해시값이 일치할 경우, 식별된 적어도 하나의 장비는 소프트웨어를 설치하는 단계이다.In the installation step (S400), when the software is normal and the hash value derived from the identified at least one device matches the software hash value, the identified at least one device is a step of installing the software.

예를 들어, 도 4에 도시된 바와 같이 식별번호 3-1 및 3-2 장비(310, 320)의 해시값과 소프트웨어의 해시값이 일치하므로, 식별번호 3-1 및 3-2 장비(310, 320)는 스마트 컨트렉트 코드에 따라 소프트웨어를 실행 또는 설치할 수 있다.For example, as shown in FIG. 4 , the hash values of the identification numbers 3-1 and 3-2 devices 310 and 320 and the hash values of the software match, so the identification numbers 3-1 and 3-2 devices 310 , 320) may execute or install software according to the smart contract code.

추가적으로 설치 단계(S400)에서 소프트웨어 해시값과 일치하지 않는 해시값을 도출한 장비는 오류로 판정될 수 있다. 이 경우, 도출된 해시값이 악의적으로 또는 설정 오류에 따라 변조된 것으로 판단될 수 있다.In addition, the equipment deriving a hash value that does not match the software hash value in the installation step (S400) may be determined as an error. In this case, it may be determined that the derived hash value has been tampered with maliciously or according to a setting error.

예를 들어, 도 4의 식별번호 4-1 장비 및 4-2 장비에서 도출한 해시값은 서버 블록의 소프트웨어 해시값과 일치하지 않으므로 식별번호 4-1 장비 및 4-2 장비는 장비 오류로 설정될 수 있다. 즉, 4-1 장비 및 4-2 장비는 해킹에 의하여 인위 적으로 해시값이 변경된 것으로 판단될 수 있다,For example, since the hash values derived from the 4-1 device and 4-2 device in FIG. 4 do not match the software hash value of the server block, the ID 4-1 device and 4-2 device are set as equipment errors can be That is, it can be determined that the 4-1 device and the 4-2 device have artificially changed hash values due to hacking.

또한, 설치 단계(S400)에서 각 장비는 소프트웨어 설치 여부, 자기 식별번호 등을 블록 상에 기록하여 블록체인 네트워크 상에 업로드 및 공유할 수 있다. 이에 따라 서버(10)는 소프트웨어가 올바른 장비에 설치되고 있는지 파악할 수 있다.In addition, in the installation step ( S400 ), each device can record whether software is installed, a self-identification number, etc. on a block and upload and share it on the block chain network. Accordingly, the server 10 can determine whether the software is being installed on the correct equipment.

한편, 본 발명의 실시예에 따른 복수의 장비에 소프트웨어를 설치하는 방법에 있어서, 장비 오류 단계(S500)를 더 포함할 수 있다.On the other hand, in the method of installing software on a plurality of equipment according to an embodiment of the present invention, the equipment error step (S500) may be further included.

장비 오류 단계(S500)는 소프트웨어가 비정상으로 판정되고, 식별 단계(S200)에서 식별된 적어도 하나의 장비에서 도출한 해시값과 비정상 소프트웨어 해시값이 일치할 경우, 식별된 적어도 하나의 장비는 오류로 판단하는 단계이다.In the equipment error step (S500), when the software is determined to be abnormal, and the hash value derived from the at least one equipment identified in the identification step (S200) matches the abnormal software hash value, the identified at least one equipment is an error It is the judgment stage.

또한, 장비 오류 단계(S500)에서 오류로 판정된 장비는 블록 상에 기록된 스마트 컨트렉트 코드에 따라 장비에 오류가 있다는 경고 표시를 하고, 네트워크를 차단, 바이러스 검사 및 치료 작업을 자동적으로 수행할 수 있다. 또한, 바이러스가 검출되어 치료가 될 경우, 오류로 판정되었던 장비는 네트워크에 재 접촉 작업을 스마트 컨트렉트 코드에 따라 수행될 수 있다. 다만, 치료가 안될 경우, 장비는 추가적으로 오류 표시하여 사용자에게 알릴 수 있다. 여기서 경고 표시 및 오류 표시는 장비에 구비된 스피커, 디스플레이를 통하여 사용자에게 알리거나 적어도 하나의 LED를 통해 사용자에게 알릴 수 있다. 적어도 하나의 LED를 사용을 할 경우, LED는 각 표시에 따라 서로 다른 색상의 광을 발생하도록 설정될 수 있다.In addition, the equipment determined to be an error in the equipment error step (S500) displays a warning that there is an error in the equipment according to the smart contract code recorded on the block, blocks the network, and automatically performs virus check and treatment tasks can do. In addition, when a virus is detected and treated, the device that was determined to be an error can be re-contacted to the network according to the smart contract code. However, if treatment is not possible, the equipment may additionally display an error to inform the user. Here, the warning display and the error display may be notified to the user through a speaker or display provided in the equipment or may be notified to the user through at least one LED. When at least one LED is used, the LEDs may be set to generate light of different colors according to each display.

또한, 위와 같은 스마트 컨트렉트에 따른 작업은 설치 단계(S400)에서 오류로 판정된 적어도 하나의 장비에서도 수행될 수 있다.In addition, the operation according to the smart contract as described above may be performed in at least one device determined as an error in the installation step (S400).

예를 들어, 도 4를 참고해보면, 비정상 소프트웨어가 설치되도록 적어도 하나의 장비(401, 402)가 악의적으로 해킹되고, 해킹된 장비는 비정상 소프트웨어에서 도출한 abc 해시값을 일치로 판단할 수 있다. For example, referring to FIG. 4 , at least one of the devices 401 and 402 is maliciously hacked to install the abnormal software, and the hacked device may determine an abc hash value derived from the abnormal software as a match.

다만, 블록체인 네트워크에 연결된 다른 장비의 과반수 이상을 악의적으로 해킹하지 않는 이상 다른 장비에서 비정상 소프트웨어를 비정상으로 판단함에 따라 해킹된 적어도 하나의 장비에 비정상 소프트웨어가 설치되는 것이 무력화될 수 있다.However, unless more than half of other devices connected to the blockchain network are maliciously hacked, the installation of abnormal software on at least one hacked device may be disabled as other devices judge abnormal software as abnormal.

이에 따라, 비정상 소프트웨어에서 도출한 해시값을 도출한 4-1, 4-2, 4-3 장비(410, 420)는 장비 오류 단계(S500)에서 장비 오류로 판단될 수 있다.Accordingly, the 4-1, 4-2, and 4-3 devices 410 and 420 from which the hash value derived from the abnormal software is derived may be determined to be an equipment error in the equipment error step S500.

따라서, 4-1, 4-2, 4-3 장비(410, 420)는 스마트 컨트렉트에 따라 경고 표시, 네트워크를 차단, 바이러스 검사 및 치료를 작업을 자동으로 수행할 수 있다.Accordingly, the 4-1, 4-2, and 4-3 devices 410 and 420 may automatically perform tasks such as displaying a warning, blocking the network, checking for viruses, and treating viruses according to the smart contract.

이처럼 본 발명의 실시예에 따른 복수의 장비에 소프트웨어를 설치하는 방법은 블록체인 네트워크를 통하여 소프트웨어를 복수의 장비에 효율적으로 설치할 수 있고, 해시값 일치 비율을 판단함에 따라 소프트웨어의 정상 여부를 판정함에 따라 복수의 장비에 안전하게 소프트웨어를 설치할 수 있다.As such, the method of installing software on a plurality of equipment according to an embodiment of the present invention can efficiently install software on a plurality of equipment through a block chain network, and determines whether the software is normal by determining the hash value matching ratio. Software can be safely installed on multiple devices.

이외에도 본 발명의 실시예에 따른 서버와 복수의 장비는 블록체인 네트워크로 연결되어 있음에 따라 서버(10)는 효율적으로 복수의 장비(50)의 상태 및 상황을 취합할 수 있다.In addition, since the server and the plurality of devices according to an embodiment of the present invention are connected by a block chain network, the server 10 can efficiently collect the states and situations of the plurality of devices 50 .

예를 들어, 각 장비는 스마트 컨트렉트 코드에 의해 주기적으로 자신의 상태 및 상황을 기록한 데이터를 블록에 기록함으로써 서버로 자동적으로 공유될 수 있으므로 서버(10)는 이를 통하여 복수의 장비(50)의 데이터를 효율적으로 취합하여 전체적인 상황을 인식할 수 있다.For example, since each device can be automatically shared with the server by recording data that periodically records its state and status by a smart contract code in a block, the server 10 can use a plurality of devices 50 through this. It is possible to recognize the overall situation by efficiently collecting the data of

본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those of ordinary skill in the art to which the present invention pertains will understand that the present invention may be embodied in other specific forms without changing the technical spirit or essential features thereof. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

10: 서버
50: 복수의 장비
S100: 업로드 단계
S200: 식별 단계
S300: 해시값 판단 단계;
S310: 비율 산출 단계
S320: 정상 판단 단계
S400: 설치 단계
S500: 장비 오류 단계
10: Server
50: Vengeance Equipment
S100: Upload Step
S200: identification phase
S300: hash value determination step;
S310: ratio calculation step
S320: Normal judgment step
S400: Installation steps
S500: Equipment error stage

Claims (3)

서버와 블록체인 네트워크를 기반으로 연결된 복수의 장비에 소프트웨어를 설치하는 방법에 있어서,
상기 서버의 블록에 상기 소프트웨어, 소프트웨어 해시값 및 식별번호를 업로드하여 상기 블록체인 네트워크에 업로드하고, 상기 서버의 블록에 특정 조건 충족에 따라 상기 서버의 명령없이 특정 작업을 수행하도록 스마트 컨트렉트 코드를 기록하는 업로드 단계;
상기 복수의 장비의 식별번호와 상기 블록에 업로드된 식별번호를 비교하여 상기 복수의 장비 중 상기 식별번호와 일치하는 식별번호를 포함하는 적어도 하나의 장비를 식별하는 식별 단계;
상기 복수의 장비가 각각 상기 소프트웨어에서 도출한 해시값과 상기 블록의 소프트웨어 해시값을 비교하여 상기 소프트웨어의 정상 여부를 판단하는 해시값 판단 단계;
상기 해시값 판단에 따라 상기 소프트웨어가 정상이고, 상기 식별된 적어도 하나의 장비가 도출한 해시값과 상기 블록에 포함된 소프트웨어 해시값이 일치할 경우, 상기 식별된 적어도 하나의 장비는 상기 소프트웨어를 설치하는 설치 단계를 포함하고,
상기 해시값 판단에 따라 상기 소프트웨어가 비정상이고, 상기 식별된 적어도 하나의 장비가 도출한 해시값과 비정상 소프트웨어 해시값이 일치하는 경우, 상기 식별된 적어도 하나의 장비는 오류로 판단하고,
상기 오류의 판단 시, 상기 블록 상에 기록된 상기 스마트 컨트렉트 코드에 따라 상기 장비에 오류 있음의 경고 표시 및 네트워크 차단, 바이러스 검사 및 치료 작업을 자동으로 수행하며,
상기 바이러스가 검출되어 치료된 경우, 오류로 판단된 상기 적어도 하나의 장비는 상기 블록체인 네트워크에 재 접촉 작업을 상기 스마트 컨트렉트 코드에 따라 수행되는,
복수의 장비에 소프트웨어를 설치하는 방법.
In a method of installing software on a plurality of devices connected based on a server and a blockchain network,
Smart contract code to upload the software, software hash value and identification number to the block of the server, upload it to the block chain network, and perform a specific operation without a command from the server according to the satisfaction of a specific condition in the block of the server Upload step to record;
an identification step of comparing the identification numbers of the plurality of devices with the identification numbers uploaded to the block to identify at least one device including an identification number matching the identification number among the plurality of devices;
a hash value determination step in which the plurality of devices compare a hash value derived from the software with a software hash value of the block to determine whether the software is normal;
When the software is normal according to the hash value determination and the hash value derived by the identified at least one device matches the software hash value included in the block, the identified at least one device installs the software including installation steps that
When the software is abnormal according to the hash value determination, and the hash value derived by the identified at least one device matches the abnormal software hash value, the identified at least one device is determined to be an error,
When the error is determined, a warning display indicating that there is an error in the equipment, network blocking, virus inspection and treatment are automatically performed according to the smart contract code recorded on the block,
When the virus is detected and treated, the at least one device determined to be an error performs a re-contact operation to the blockchain network according to the smart contract code,
How to install software on multiple devices.
제1항에 있어서,
상기 해시값 판단 단계는,
상기 복수의 장비가 도출한 해시값과 상기 블록에 포함된 상기 소프트웨어 해시값을 비교하여 해시값 일치 비율을 산출하는 비율 산출 단계;
상기 해시값 일치 비율을 미리 설정된 비율과 비교하여 상기 소프트웨어의 정상 여부를 판단하는 정상 판단 단계를 더 포함하고,
상기 정상 판단 단계는
상기 해시값 일치 비율이 미리 설정된 비율보다 높을 경우, 상기 소프트웨어는 정상으로 판단하고, 상기 해시값 일치 비율이 미리 설정된 비율보다 작을 경우, 상기 소프트웨어를 비정상으로 판단하는 복수의 장비에 소프트웨어를 설치하는 방법.
According to claim 1,
The hash value determination step is
a ratio calculation step of calculating a hash value matching ratio by comparing the hash values derived by the plurality of devices with the software hash values included in the block;
Comprising a normal determination step of determining whether the software is normal by comparing the hash value matching rate with a preset rate,
The normal determination step is
When the hash value matching ratio is higher than a preset ratio, the software is determined to be normal, and when the hash value matching ratio is less than a preset ratio, the software is installed on a plurality of devices that determine the software to be abnormal .
제2항에 있어서,
상기 소프트웨어가 비정상이고, 복수의 장비 중 상기 소프트웨어 해시값과 일치하는 해시값을 도출한 장비를 오류로 판단하는 장비 오류 단계를 더 포함하는 복수의 장비에 소프트웨어를 설치하는 방법.
3. The method of claim 2,
The method of installing software on a plurality of equipment further comprising an equipment error step of determining that the software is abnormal and an equipment that derives a hash value matching the software hash value from among the plurality of equipment is an error.
KR1020200025890A 2020-03-02 2020-03-02 Software Installing method for Plurality Device KR102321879B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200025890A KR102321879B1 (en) 2020-03-02 2020-03-02 Software Installing method for Plurality Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200025890A KR102321879B1 (en) 2020-03-02 2020-03-02 Software Installing method for Plurality Device

Publications (2)

Publication Number Publication Date
KR20210110963A KR20210110963A (en) 2021-09-10
KR102321879B1 true KR102321879B1 (en) 2021-11-03

Family

ID=77777231

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200025890A KR102321879B1 (en) 2020-03-02 2020-03-02 Software Installing method for Plurality Device

Country Status (1)

Country Link
KR (1) KR102321879B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100995559B1 (en) * 2007-08-01 2010-11-22 엔이씨 시스템 테크놀로지 가부시키가이샤 Software defined radio device, and method for renewing software, and software defined radio system
KR101803888B1 (en) * 2017-01-18 2017-12-04 한국인터넷진흥원 Method and apparatus for detecting malicious application based on similarity

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140050322A (en) * 2012-10-19 2014-04-29 삼성전자주식회사 Method and apparatus for providing unique identifier of user device
KR102022470B1 (en) 2014-06-27 2019-09-18 한화정밀기계 주식회사 System for setting reference information monitoring and forecasting system in SMT production line
KR102107082B1 (en) * 2018-06-25 2020-05-06 한신대학교 산학협력단 A Method For Detecting Counterfeit application in Mobile Device Based On Blockchain

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100995559B1 (en) * 2007-08-01 2010-11-22 엔이씨 시스템 테크놀로지 가부시키가이샤 Software defined radio device, and method for renewing software, and software defined radio system
KR101803888B1 (en) * 2017-01-18 2017-12-04 한국인터넷진흥원 Method and apparatus for detecting malicious application based on similarity

Also Published As

Publication number Publication date
KR20210110963A (en) 2021-09-10

Similar Documents

Publication Publication Date Title
US8793681B2 (en) Determining best practices for applying computer software patches
CN106027691B (en) A kind of inspection modification method of MAC Address of Network Card
CN110247725B (en) Line fault troubleshooting method and device for OTN (optical transport network) and terminal equipment
CN111064745A (en) Self-adaptive back-climbing method and system based on abnormal behavior detection
JPWO2008012903A1 (en) System management program, system management apparatus, and system management method
JP2010182015A (en) Quality control system, quality control apparatus, and quality control program
US11061915B2 (en) System and method for anomaly characterization based on joint historical and time-series analysis
US20150326446A1 (en) Automatic alert generation
US7398485B2 (en) Yield optimization in router for systematic defects
JP7378089B2 (en) Unauthorized communication detection device, unauthorized communication detection method, and manufacturing system
WO2019240019A1 (en) Abnormality analysis device, manufacturing system, abnormality analysis method, and program
KR102321879B1 (en) Software Installing method for Plurality Device
US20230128825A1 (en) Systems and methods for retaining equipment information in a blockchain
US20220147839A1 (en) Comparisons of knowledge graphs representing computer systems
US20230026057A1 (en) Secure data center update and monitoring
JP7205644B2 (en) Determination method, determination program and information processing device
JP2009053896A (en) Unauthorized operation detector and program
CN113778509A (en) Method for determining version of open source component, storage medium and electronic device
JP6041727B2 (en) Management apparatus, management method, and management program
JP2020135664A (en) Security designing and planning support device
CN113448811B (en) Method, device, equipment and readable medium for lighting fault lamp of server system
CN117521087B (en) Equipment risk behavior detection method, system and storage medium
US9953266B2 (en) Management of building energy systems through quantification of reliability
US20220342992A1 (en) Authorising component updates
JP2014048984A (en) Management device, management method, and management program

Legal Events

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