KR102546157B1 - Method for managing rooting information using blockchain - Google Patents

Method for managing rooting information using blockchain Download PDF

Info

Publication number
KR102546157B1
KR102546157B1 KR1020210134954A KR20210134954A KR102546157B1 KR 102546157 B1 KR102546157 B1 KR 102546157B1 KR 1020210134954 A KR1020210134954 A KR 1020210134954A KR 20210134954 A KR20210134954 A KR 20210134954A KR 102546157 B1 KR102546157 B1 KR 102546157B1
Authority
KR
South Korea
Prior art keywords
routing
information
check
routing check
check information
Prior art date
Application number
KR1020210134954A
Other languages
Korean (ko)
Other versions
KR20230051949A (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 KR1020210134954A priority Critical patent/KR102546157B1/en
Publication of KR20230051949A publication Critical patent/KR20230051949A/en
Application granted granted Critical
Publication of KR102546157B1 publication Critical patent/KR102546157B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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
    • G06F21/33User authentication using certificates
    • 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
    • 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/602Providing cryptographic facilities or services
    • 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

Abstract

본 발명은 블록체인을 이용하여 루팅 정보를 수집하고, 수집된 루팅 정보를 학습함으로써, 신규 루팅 검사 프로그램을 제공하는 루팅 정보 관리 방법에 관한 것이다. 본 발명의 일 실시예에 따른 블록체인을 이용한 루팅 정보 관리 방법은 루팅 정보 관리 시스템을 구성하는 복수의 서버 각각에 의해 수행되는 루팅 정보 관리 방법에 있어서, 사용자로부터 토큰을 제공받아 사용자의 계정정보를 생성하는 단계, 사용자 로그인 시 사용자 단말에 설치된 루팅 검사 어플리케이션을 통해 상기 사용자 단말의 루팅 검사 정보를 수집하는 단계, 상기 수집된 루팅 검사 정보를 배포하고, 상기 루팅 검사 정보와 타 서버에 수집된 정보를 비교하여 상기 루팅 검사 정보를 동기화하는 단계, 상기 루팅 검사 정보를 학습하여 상기 루팅 검사 어플리케이션을 업데이트하는 단계 및 상기 동기화 동작 및 상기 업데이트 동작에 대한 토큰을 메인넷으로부터 제공받는 단계를 포함하는 것을 특징으로 한다.The present invention relates to a routing information management method for providing a new routing check program by collecting routing information using a block chain and learning the collected routing information. According to an embodiment of the present invention, a method for managing routing information using a blockchain is a method for managing routing information performed by each of a plurality of servers constituting a routing information management system, in which a token is provided from a user and user account information is stored. Generating, collecting routing check information of the user terminal through a routing check application installed in the user terminal when the user logs in, distributing the collected routing check information, and distributing the routing check information and information collected to other servers. Comparing and synchronizing the routing check information, learning the routing check information and updating the routing check application, and receiving a token for the synchronization operation and the update operation from the mainnet. do.

Description

블록체인을 이용하여 루팅 정보를 관리하는 방법{METHOD FOR MANAGING ROOTING INFORMATION USING BLOCKCHAIN}How to manage routing information using blockchain {METHOD FOR MANAGING ROOTING INFORMATION USING BLOCKCHAIN}

본 발명은 블록체인을 이용하여 루팅 정보를 수집하고, 수집된 루팅 정보를 학습함으로써 신규 루팅 검사 프로그램을 제공하는 루팅 정보 관리 방법에 관한 것이다.The present invention relates to a routing information management method for providing a new routing check program by collecting routing information using a block chain and learning the collected routing information.

안드로이드(Android) 운영체제 기반의 모바일 기기 제조사는, 단말 조작에 서툰 사용자로부터 시스템을 보호하기 위하여 사용자에게 게스트(guest) 권한만을 부여하고 있다.Mobile device manufacturers based on the Android operating system grant only guest privileges to users in order to protect the system from users who are not good at terminal manipulation.

이러한 안드로이드 운영체제 환경에서 관리자(administrator) 권한을 얻는 행위를 루팅(rooting)이라고 하며, 루팅된 스마트폰에서는 안드로이드 운영체제가 지원하지 않는 기능이 추가될 수도 있고, 해당 운영체제가 지원하는 기능이 변경 및 삭제될 수도 있다.The act of obtaining administrator privileges in this Android operating system environment is called rooting. may be

최근 단말 공격자는 악성 어플리케이션을 이용하여 사용자 몰래 단말을 루팅하여 관리자 권한을 획득하고, 이를 이용하여 시스템에 의도적으로 오류를 발생시키거나, 사용자의 SMS, 전화번호부, 공인인증서 등과 같은 개인정보 및 금융정보를 유출시키는 시도가 발생하고 있다.Recently, terminal attackers use malicious applications to root the terminal without the user's knowledge to obtain administrator privileges, and use this to intentionally cause errors in the system, or personal information and financial information such as the user's SMS, phone book, and public certificates. Attempts to leak are occurring.

안드로이드 운영체제를 공격하는 악의적인 목적의 어플리케이션의 수는 지속적으로 증가하고 있으며, 이에 발맞추어 루팅을 방지하기 위한 차단 프로그램 역시 강구되고 있다. 다만, 차단 프로그램은 단말이 루팅된 이후에 루팅 정보의 분석을 통해 개발되므로, 루팅에 의한 피해를 최소화하기 위해서는 단말의 루팅 정보를 빠르게 파악하고 이를 분석하는 것이 요구된다.The number of applications for malicious purposes attacking the Android operating system is continuously increasing, and in line with this, blocking programs to prevent rooting are also being devised. However, since the blocking program is developed through analysis of routing information after the terminal is rooted, it is required to quickly identify and analyze the routing information of the terminal in order to minimize damage caused by routing.

그러나, 사용자는 자신의 단말이 루팅되었는지를 파악하기가 어렵고, 설령 루팅 여부를 파악한다고 하더라도 이를 외부에 공유하기 위한 환경이 구축되지 않은 관계로, 차단 프로그램의 신속한 개발이 어려운 실정이다.However, it is difficult for a user to determine whether or not his/her terminal is rooted, and even if it is determined whether or not rooting is established, it is difficult to rapidly develop a blocking program because an environment for sharing it to the outside has not been established.

본 발명은 블록체인 기술을 이용하여 루팅 검사 정보를 수집할 수 있는 환경을 조성하고, 루팅 검사 정보를 학습하여 신규 루팅 검사 프로그램을 생성 및 배포하는 루팅 정보 관리 방법을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a routing information management method for generating and distributing a new routing check program by creating an environment in which routing check information can be collected using blockchain technology and learning the routing check information.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention not mentioned above can be understood by the following description and will be more clearly understood by the examples of the present invention. It will also be readily apparent that the objects and advantages of the present invention may be realized by means of the instrumentalities and combinations indicated in the claims.

전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 블록체인을 이용한 루팅 정보 관리 방법은 루팅 정보 관리 시스템을 구성하는 복수의 서버 각각에 의해 수행되는 루팅 정보 관리 방법에 있어서, 사용자로부터 토큰을 제공받아 사용자의 계정정보를 생성하는 단계, 사용자 로그인 시 사용자 단말에 설치된 루팅 검사 어플리케이션을 통해 상기 사용자 단말의 루팅 검사 정보를 수집하는 단계, 상기 수집된 루팅 검사 정보를 배포하고, 상기 루팅 검사 정보와 타 서버에 수집된 정보를 비교하여 상기 루팅 검사 정보를 동기화하는 단계, 상기 루팅 검사 정보를 학습하여 상기 루팅 검사 어플리케이션을 업데이트하는 단계 및 상기 동기화 동작 및 상기 업데이트 동작에 대한 토큰을 메인넷으로부터 제공받는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, a routing information management method using a block chain according to an embodiment of the present invention is a routing information management method performed by each of a plurality of servers constituting a routing information management system, in which a token is received from a user. receiving and generating account information of the user, collecting routing check information of the user terminal through a routing check application installed in the user terminal when the user logs in, distributing the collected routing check information, and Synchronizing the routing check information by comparing information collected in other servers, updating the routing check application by learning the routing check information, and receiving a token for the synchronization operation and the update operation from the mainnet It is characterized by including steps.

일 실시예에서, 상기 사용자로부터 토큰을 제공받는 단계는 상기 사용자로부터 메인넷에 제공된 토큰을 상기 메인넷으로부터 제공받는 단계를 포함하는 것을 특징으로 한다.In one embodiment, the step of receiving the token from the user includes receiving the token provided to the mainnet from the user from the mainnet.

일 실시예에서, 상기 루팅 검사 어플리케이션은 상기 사용자 단말에 설치된 파일명에 기초하여 루팅 검사를 수행하는 것을 특징으로 한다.In one embodiment, the routing check application is characterized in that it performs a routing check based on the name of the file installed in the user terminal.

일 실시예에서, 상기 루팅 검사 어플리케이션은 미리 설정된 명령어에 대한 결과값에 기초하여 루팅 검사를 수행하는 것을 특징으로 한다.In one embodiment, the routing check application is characterized in that it performs a routing check based on a result value for a preset command.

일 실시예에서, 상기 루팅 검사 정보를 수집하는 단계는 상기 루팅 검사 어플리케이션을 통해 암호화된 상기 루팅 검사 정보를 수신하고, 상기 수집된 루팅 검사 정보를 복호화하는 단계를 포함하는 것을 특징으로 한다.In one embodiment, the collecting of the routing check information may include receiving the encrypted routing check information through the routing check application and decrypting the collected routing check information.

일 실시예에서, 상기 루팅 검사 정보를 수집하는 단계는 상기 복수의 서버 각각에 미리 할당된 사용자 단말로부터 상기 루팅 검사 정보를 수집하는 단계를 포함하는 것을 특징으로 한다.In one embodiment, the collecting of the routing check information may include collecting the routing check information from user terminals pre-assigned to each of the plurality of servers.

일 실시예에서, 상기 메인넷은 상기 루팅 검사 어플리케이션이 상기 루팅 검사 정보 생성의 작업증명(Proof of Work; POW)을 수행하면 상기 토큰을 상기 사용자에게 제공하는 것을 특징으로 한다.In one embodiment, the mainnet is characterized in that the token is provided to the user when the routing check application performs Proof of Work (POW) of generating the routing check information.

일 실시예에서, 상기 루팅 검사 정보를 동기화하는 단계는 상기 수집된 루팅 검사 정보가 상기 복수의 서버 중 둘 이상의 서버에 저장된 루팅 검사 정보와 다른 경우, 상기 수집된 루팅 검사 정보를 상기 둘 이상의 서버에 저장된 루팅 검사 정보로 동기화하는 단계를 포함하는 것을 특징으로 한다.In one embodiment, the step of synchronizing the routing check information may include sending the collected routing check information to the two or more servers when the collected routing check information is different from the routing check information stored in two or more servers among the plurality of servers. and synchronizing with the stored routing check information.

일 실시예에서, 상기 루팅 검사 정보를 동기화하는 단계는 상기 수집된 루팅 검사 정보의 길이보다 상기 타 서버에 저장된 루팅 검사 정보의 길이가 더 긴 경우, 상기 수집된 루팅 검사 정보를 상기 타 서버에 저장된 루팅 검사 정보로 동기화하는 단계를 포함하는 것을 특징으로 한다.In one embodiment, in the step of synchronizing the routing check information, when the length of the routing check information stored in the other server is longer than the length of the collected routing check information, the collected routing check information is stored in the other server. and synchronizing with routing check information.

일 실시예에서, 상기 루팅 검사 정보를 학습하는 단계는 루팅 검사 프로그램별 출력값에 기초하여 상기 루팅 검사 정보를 학습하는 단계를 포함하는 것을 특징으로 한다.In one embodiment, the step of learning the routing check information may include learning the routing check information based on an output value for each routing check program.

일 실시예에서, 상기 루팅 검사 정보를 학습하는 단계는 상기 루팅 검사 프로그램의 최신 버전의 출력값에 기초하여 루팅 검사 정보를 학습하는 단계를 포함하는 것을 특징으로 한다.In one embodiment, the step of learning the routing check information may include learning the routing check information based on an output value of the latest version of the routing check program.

일 실시예에서, 상기 루팅 검사 정보를 학습하는 단계는 외부 서버로부터 제공된 루팅 검사 프로그램별 출력값에 기초하여 상기 루팅 검사 정보를 학습하는 단계를 포함하는 것을 특징으로 한다.In one embodiment, the step of learning the routing check information may include learning the routing check information based on an output value for each routing check program provided from an external server.

일 실시예에서, 상기 루팅 검사 정보를 학습하는 단계는 상기 복수의 서버 각각에 미리 할당된 사용자 단말로부터 수집된 상기 루팅 검사 정보를 학습하는 단계를 포함하는 것을 특징으로 한다.In one embodiment, the step of learning the routing check information may include learning the routing check information collected from user terminals pre-assigned to each of the plurality of servers.

일 실시예에서, 상기 루팅 검사 어플리케이션을 업데이트하는 단계는 상기 루팅 검사 어플리케이션에 상기 최신 버전의 루팅 검사 프로그램을 업데이트하는 단계를 포함하는 것을 특징으로 한다.In one embodiment, the step of updating the routing check application may include updating the latest version of the routing check program in the routing check application.

일 실시예에서, 상기 루팅 검사 어플리케이션을 업데이트하는 단계는 상기 루팅 검사 정보를 학습하여 신규 루팅 검사 프로그램을 생성하고, 상기 루팅 검사 어플리케이션에 상기 신규 루팅 검사 프로그램을 업데이트하는 것을 특징으로 한다.In one embodiment, the updating of the routing check application may include generating a new routing check program by learning the routing check information, and updating the new routing check program to the routing check application.

일 실시예에서, 상기 메인넷으로부터 토큰을 제공받는 단계는 상기 동기화 동작 및 상기 업데이트 동작에 대한 작업증명을 수행하고, 작업증명에 대한 토큰을 제공받는 단계를 포함하는 것을 특징으로 한다.In one embodiment, the step of receiving a token from the mainnet may include performing a proof-of-work for the synchronization operation and the update operation, and receiving a token for the proof-of-work.

본 발명은 블록체인 기술을 이용하여 루팅 검사 정보를 생성할 수 있는 환경을 조성함으로써 정보 생성자에게 보상을 제공할 수 있고, 이에 따라 루팅 검사 정보를 자발적으로 생성해야 하는 사용자에게 정보 생성의 동기부여를 제공할 수 있다는 장점이 있다.The present invention can provide compensation to information creators by creating an environment in which routing check information can be generated using blockchain technology, and thus motivates users who need to voluntarily generate routing check information to generate information. It has the advantage of providing

또한, 본 발명은 블록체인 기술을 이용하여 루팅 검사 정보를 관리할 수 있는 환경을 조성함으로써 루팅 정보 관리자에게 보상을 제공할 수 있고, 이에 따라 루팅 정보를 자발적으로 관리해야 하는 서버 관리자에게 정보 관리의 동기부여를 제공할 수 있다는 장점이 있다.In addition, the present invention can provide compensation to the routing information manager by creating an environment in which routing inspection information can be managed using blockchain technology, and accordingly, the server manager who needs to voluntarily manage routing information can benefit from information management. It has the advantage of being able to provide motivation.

또한, 본 발명은 블록체인 기술을 이용하여 루팅 정보를 생성, 배포 및 동기화시킴으로써 루팅 정보의 조작을 방지할 수 있고 정보의 무결성(integrity)을 보장할 수 있다는 장점이 있다.In addition, the present invention has the advantage of preventing manipulation of routing information and ensuring the integrity of information by generating, distributing, and synchronizing routing information using blockchain technology.

또한, 본 발명은 루팅 검사 정보를 인공지능 학습하여 새로운 기능 및 프로그램을 개발함으로써 개발자가 루팅 정보를 일일이 분석할 필요 없이 루팅 방어책을 강구할 수 있고, 공격자의 새로운 루팅 방법에 대한 빠른 대응도 가능한 장점이 있다. In addition, the present invention develops new functions and programs by artificial intelligence learning of routing check information, so that developers can devise routing defense measures without having to analyze routing information one by one, and can quickly respond to new routing methods by attackers. there is

상술한 효과와 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.In addition to the effects described above, specific effects of the present invention will be described together while explaining specific details for carrying out the present invention.

도 1은 본 발명의 일 실시예에 따른 루팅 정보 관리 시스템을 개략적으로 도시한 도면.
도 2는 도 1에 도시된 루팅 정보 관리 시스템의 구성도.
도 3은 본 발명의 일 실시예에 따른 블록체인을 이용한 루팅 정보 관리 방법을 도시한 순서도.
도 4는 각 루팅 관리 서버에 할당된 사용자 단말을 도시한 도면.
도 5 및 도 6은 루팅 검사 정보의 동기화 과정을 설명하기 위한 도면.
도 7은 루팅 정보 관리 시스템을 구성하는 각 구성요소들의 동작을 시계열적으로 도시한 순서도.
1 is a diagram schematically illustrating a routing information management system according to an embodiment of the present invention.
Figure 2 is a configuration diagram of the routing information management system shown in Figure 1;
3 is a flowchart illustrating a routing information management method using a block chain according to an embodiment of the present invention.
Figure 4 is a diagram showing a user terminal assigned to each routing management server.
5 and 6 are views for explaining a synchronization process of routing check information;
7 is a flowchart illustrating operations of each component constituting the routing information management system in a time-sequential manner;

전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.The above objects, features and advantages will be described later in detail with reference to the accompanying drawings, and accordingly, those skilled in the art to which the present invention belongs will be able to easily implement the technical spirit of the present invention. In describing the present invention, if it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used to indicate the same or similar components.

본 명세서에서 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것으로, 특별히 반대되는 기재가 없는 한, 제1 구성요소는 제2 구성요소일 수도 있음은 물론이다.In this specification, first, second, etc. are used to describe various components, but these components are not limited by these terms, of course. These terms are only used to distinguish one component from another component, and unless otherwise stated, the first component may be the second component, of course.

또한, 본 명세서에서 어떤 구성요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 상기 구성요소들은 서로 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성요소 사이에 다른 구성요소가 "개재"되거나, 각 구성요소가 다른 구성요소를 통해 "연결", "결합" 또는 "접속"될 수도 있는 것으로 이해되어야 할 것이다.In addition, in the present specification, when a component is described as being “connected”, “coupled” or “connected” to another component, the components may be directly connected or connected to each other, but other components may be present between each component. It should be understood that elements may be “interposed,” or that each element may be “connected,” “coupled,” or “connected” through other elements.

또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, singular expressions used in this specification include plural expressions unless the context clearly indicates otherwise. In this application, terms such as "consisting of" or "comprising" should not be construed as necessarily including all of the various components or steps described in the specification, and some of the components or some of the steps It should be construed that it may not be included, or may further include additional components or steps.

또한, 본 명세서에서, "A 및/또는 B" 라고 할 때, 이는 특별한 반대되는 기재가 없는 한, A, B 또는 A 및 B 를 의미하며, "C 내지 D" 라고 할 때, 이는 특별한 반대되는 기재가 없는 한, C 이상이고 D 이하인 것을 의미한다In addition, in this specification, when "A and / or B", unless otherwise specified, it means A, B or A and B, and when "C to D", it means a special opposite Unless otherwise specified, it means more than C and less than D

본 발명은 블록체인(Block Chain)을 이용하여 루팅 정보를 수집하고, 수집된 루팅 정보를 학습함으로써 신규 루팅 검사 프로그램을 제공하는 루팅 정보 관리 방법에 관한 것이다. 이하, 도 1 내지 도 7을 참조하여, 본 발명의 일 실시예에 따른 블록체인을 이용한 루팅 정보 관리 방법(이하, 루팅 정보 관리 방법)을 구체적으로 설명하도록 한다.The present invention relates to a routing information management method for providing a new routing check program by collecting routing information using a block chain and learning the collected routing information. Hereinafter, with reference to FIGS. 1 to 7, a routing information management method (hereinafter, a routing information management method) using a block chain according to an embodiment of the present invention will be described in detail.

도 1은 본 발명의 일 실시예에 따른 루팅 정보 관리 시스템을 개략적으로 도시한 도면이고, 도 2는 도 1에 도시된 루팅 정보 관리 시스템의 구성도이다.1 is a diagram schematically illustrating a routing information management system according to an embodiment of the present invention, and FIG. 2 is a configuration diagram of the routing information management system shown in FIG. 1 .

도 3은 본 발명의 일 실시예에 따른 블록체인을 이용한 루팅 정보 관리 방법을 도시한 순서도이다.3 is a flowchart illustrating a routing information management method using a block chain according to an embodiment of the present invention.

도 4는 각 루팅 관리 서버에 할당된 사용자 단말을 도시한 도면이다. 또한, 도 5 및 도 6은 루팅 검사 정보의 동기화 과정을 설명하기 위한 도면이다.4 is a diagram illustrating user terminals allocated to each routing management server. 5 and 6 are diagrams for explaining a synchronization process of routing check information.

도 7은 루팅 정보 관리 시스템을 구성하는 각 구성요소들의 동작을 시계열적으로 도시한 순서도이다.7 is a flowchart illustrating operations of each component constituting the routing information management system in a time-sequential manner.

도 1을 참조하면, 본 발명의 일 실시예에 따른 블록체인을 이용한 루팅 정보 관리 시스템(이하, 루팅 정보 관리 시스템, 1)은 메인넷(mainnet, 10), 루팅 관리 서버(20), 외부 서버(30) 및 사용자 단말(40)을 포함할 수 있다. 다만, 도 1에 도시된 루팅 정보 관리 시스템(1)은 일 실시예에 따른 것이고, 그 구성요소들이 도 1에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 일부 구성요소가 부가, 변경 또는 삭제될 수 있다.Referring to FIG. 1, a routing information management system (hereinafter, a routing information management system, 1) using a block chain according to an embodiment of the present invention includes a mainnet (mainnet, 10), a routing management server 20, and an external server. (30) and a user terminal (40). However, the routing information management system 1 shown in FIG. 1 is according to one embodiment, and its components are not limited to the embodiment shown in FIG. 1, and some components are added, changed, or added as needed. may be deleted.

도 2를 참조하면, 루팅 정보 관리 시스템(1)은 메인넷(10), 복수의 루팅 관리 서버(20), 기지국을 통해 복수의 루팅 관리 서버(20)와 데이터 통신을 수행하는 복수의 사용자 단말(40), 그리고 복수의 루팅 관리 서버(20)가 엑세스하는 외부 서버(30)를 포함할 수 있다. 도 2에 도시된 각 구성요소들은 3G/4G/5G 등의 통신 방식을 통해 서로 데이터 통신을 수행할 수 있다.Referring to FIG. 2, the routing information management system 1 includes a plurality of user terminals performing data communication with a plurality of routing management servers 20 through a mainnet 10, a plurality of routing management servers 20, and a base station. (40), and a plurality of routing management servers (20) may include an external server (30) to access. Each component shown in FIG. 2 may perform data communication with each other through a communication scheme such as 3G/4G/5G.

본 발명에서 메인넷(10)은 독립적인 네트워크 생태계를 가진 블록체인 플랫폼(또는 프로토콜)으로, 네트워크 시스템의 운영을 통해 디지털 화폐인 코인과, 코인지갑을 생성할 수 있다. 이러한 메인넷(10)은 사용자 단말(40) 및/또는 루팅 관리 서버(20)가 특정 동작을 수행하여 블록을 생성하면, 해당 동작에 대한 보상으로 코인을 제공할 수 있다.In the present invention, the mainnet 10 is a block chain platform (or protocol) with an independent network ecosystem, and a digital currency coin and coin wallet can be created through the operation of the network system. When the user terminal 40 and/or the routing management server 20 generate a block by performing a specific operation, the mainnet 10 may provide a coin as a reward for the corresponding operation.

한편, 블록체인 분야에서는 메인넷(10)과 같이 독립적인 플랫폼에서 생성되는 디지털 화폐를 코인으로 정의하며, 메인넷(10)으로부터 파생된 종속적인 네트워크 플랫폼에서 생성되는 디지털 화폐를 토큰으로 정의하고 있다. 토큰은 독자적인 플랫폼 구축 시 코인으로 전환되며, 이러한 구조 상 토큰이 코인을 포함하는 개념이므로 이하에서는 설명의 편의를 위해 토큰과 코인을 모두 토큰으로 지칭하여 설명하도록 한다.On the other hand, in the blockchain field, digital currency generated on an independent platform such as the mainnet 10 is defined as a coin, and digital currency generated on a dependent network platform derived from the mainnet 10 is defined as a token. . Tokens are converted into coins when building an independent platform, and since tokens include coins in this structure, hereinafter, both tokens and coins will be referred to as tokens for convenience of explanation.

각각의 루팅 관리 서버(20)는 앞서 설명한 메인넷(10)의 노드(node)일 수도 있고, 메인넷(10)으로부터 파생된 네트워크 플랫폼의 노드(node)로 기능할 수도 있다. 루팅 관리 서버(20)는 복수의 사용자 단말(40)로부터 수신된 루팅 검사 정보를 블록으로 생성할 수 있고, 이에 대한 보상으로 토큰을 수령할 수 있다.Each routing management server 20 may be a node of the mainnet 10 described above, or may function as a node of a network platform derived from the mainnet 10. The routing management server 20 may generate the routing check information received from the plurality of user terminals 40 as a block, and may receive a token as a reward for this.

후술되는 루팅 정보 관리 방법은 루팅 정보 관리 시스템(1)을 구성하는 복수의 루팅 관리 서버(20) 각각에 의해 수행될 수 있다. 이하에서는 단일 루팅 관리 서버(20)의 동작을 예로 들어 구체적으로 설명하며 본 명세서에서 루팅 관리 서버(20)는 단순히 서버(20)로 지칭될 수도 있다.The routing information management method described later may be performed by each of the plurality of routing management servers 20 constituting the routing information management system 1 . Hereinafter, the operation of the single routing management server 20 will be described in detail as an example, and in this specification, the routing management server 20 may simply be referred to as the server 20.

도 3을 참조하면, 본 발명의 일 실시예에 따른 루팅 정보 관리 방법은 사용자로부터 토큰을 수신하는 단계(S10), 사용자 계정정보를 생성하는 단계(S20), 루팅 검사 정보를 수집하는 단계(S30), 루팅 검사 정보를 배포 및 동기화하는 단계(S40), 루팅 검사 정보를 학습하는 단계(S50), 루팅 검사 어플리케이션을 업데이트하는 단계(S60), 그리고 메인넷(10)으로부터 토큰을 수신하는 단계(S70)를 포함할 수 있다.Referring to FIG. 3 , the routing information management method according to an embodiment of the present invention includes receiving a token from a user (S10), generating user account information (S20), and collecting routing check information (S30). ), distributing and synchronizing routing check information (S40), learning routing check information (S50), updating the routing check application (S60), and receiving tokens from the mainnet 10 ( S70) may be included.

다만, 도 3에 도시된 루팅 정보 관리 방법은 일 실시예에 따른 것이고, 발명을 구성하는 각 단계들이 도 3에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 일부 단계가 부가, 변경 또는 삭제될 수 있다.However, the routing information management method shown in FIG. 3 is according to an embodiment, and each step constituting the invention is not limited to the embodiment shown in FIG. 3, and some steps are added, changed, or deleted as necessary. It can be.

루팅 관리 서버(20)는 루팅 검사 어플리케이션을 생성 및 배포하는 서버이자 블록체인 플랫폼의 노드 역할을 수행할 수 있다.The routing management server 20 may serve as a server for creating and distributing routing check applications and as a node of a blockchain platform.

루팅 관리 서버(20)는 사용자에게 루팅 검사 어플리케이션의 사용 권한을 부여하기 위하여, 사용자로부터 어플리케이션 구매비(사용료)로서 토큰을 지급받을 수 있다(S10). 한편, 이하에서는 토큰의 지급대상을 사용자 및/또는 루팅 관리 서버(20)로 지칭하나, 이는 사용자의 계좌 및/또는 루팅 관리 서버(20) 관리자의 계좌를 의미할 수도 있고, 블록체인 분산원장에 생성되는 트랜잭션(transaction)을 의미할 수도 있다.The routing management server 20 may receive a token as an application purchase fee (use fee) from the user in order to grant the user the right to use the routing check application (S10). On the other hand, hereinafter, the target of payment of the token is referred to as the user and/or the routing management server 20, but this may mean the user's account and/or the account of the administrator of the routing management server 20, It may mean a transaction that is created.

루팅 관리 서버(20)는 사용자로부터 제공된 토큰을 메인넷(10)을 통해 지급받을 수 있다. 구체적으로, 토큰의 거래는 메인넷(10)을 통해 수행될 수 있다. 이에 따라, 사용자는 루팅 관리 서버(20)에 구매비(사용료)를 지급하기 위하여 메인넷(10)에 토큰을 제공할 수 있고, 메인넷(10)은 해당 토큰을 루팅 관리 서버(20)에 제공할 수 있다.The routing management server 20 may receive a token provided from the user through the mainnet 10 . Specifically, token transactions may be performed through the mainnet 10. Accordingly, the user may provide a token to the mainnet 10 to pay a purchase fee (use fee) to the routing management server 20, and the mainnet 10 sends the token to the routing management server 20. can provide

일 예시로, 사용자가 가상화폐 거래소를 이용하는 경우, 루팅 관리 서버(20)는 거래소를 통해 생성된 사용자 계좌로부터 토큰을 지급받을 수 있다. 이 때, 거래소는 사용자 계좌에서 출금된 토큰을 메인넷(10)을 통해 루팅 관리 서버(20)에 제공할 수 있다. 다른 예시로, 사용자가 별도의 거래소를 이용하지 않는 경우, 루팅 관리 서버(20)는 메인넷(10)의 블록체인 분산원장에 트랜잭션을 생성함으로써 사용자로부터 토큰을 지급받을 수 있다.As an example, when a user uses a virtual currency exchange, the routing management server 20 may receive a token from a user account created through the exchange. At this time, the exchange may provide the token withdrawn from the user account to the routing management server 20 through the mainnet 10. As another example, when the user does not use a separate exchange, the routing management server 20 may receive a token from the user by generating a transaction in the blockchain distributed ledger of the mainnet 10.

토큰의 수령이 확인되면, 루팅 관리 서버(20)는 사용자의 계정정보를 생성할 수 있다(S20). 계정정보가 생성되면 루팅 관리 서버(20)는 이를 사용자 단말(40)에 송신할 수 있고, 사용자는 사용자 단말(40)로 수신된 계정정보를 이용하여 루팅 검사 어플리케이션에 로그인하거나 해당 어플리케이션의 기능을 이용할 수 있다.When receipt of the token is confirmed, the routing management server 20 may generate user account information (S20). When the account information is generated, the routing management server 20 may transmit it to the user terminal 40, and the user logs in to the routing check application using the account information received from the user terminal 40 or functions of the application. Available.

루팅 검사 어플리케이션은 사용자 로그인 시 사용자 단말(40)에 대한 루팅 검사를 수행할 수 있고, 검사 결과를 포함하는 루팅 검사 정보를 생성할 수 있다.The routing check application may perform a routing check on the user terminal 40 upon user login and generate routing check information including the check result.

루팅 검사 어플리케이션은 사용자 단말(40)에 설치된 파일명에 기초하여 루팅 검사를 수행할 수 있다. 일반적으로 공격자는 사용자 단말(40)을 루팅한 후 추후에 다시 관리자 권한을 이용하기 위하여 사용자 단말(40)에 특정 파일을 생성할 수 있다. 루팅 검사 어플리케이션은 사용자 단말(40)에 이러한 파일이 생성되어 있는지를 식별함으로써 루팅 여부를 검사할 수 있다.The routing check application may perform a routing check based on the name of a file installed in the user terminal 40 . In general, after rooting the user terminal 40, an attacker may create a specific file in the user terminal 40 in order to use administrator authority again later. The routing check application can check whether the user terminal 40 is rooted by identifying whether such a file is created.

예를 들어, 루팅 검사 어플리케이션은 사용자 단말(40) 내 su 파일, apk 파일을 검색할 수 있고, 해당 파일이 존재하는 경우 사용자 단말(40)이 루팅되었다고 판단할 수 있다.For example, the rooting check application may search for a su file and an apk file in the user terminal 40, and may determine that the user terminal 40 is rooted when the file exists.

또한, 루팅 검사 어플리케이션은 미리 설정된 명령어에 대한 결과값에 기초하여 루팅 검사를 수행할 수 있다. 앞서 설명한 바와 같이 사용자 단말(40)이 루팅되면 사용자 단말(40)에는 특정 파일이 생성될 수 있다. 이 때, 루팅 검사 어플리케이션은 해당 파일을 명령어를 통해 실행시키고 그 결과값을 확인하여 루팅 여부를 검사할 수 있다.In addition, the routing check application may perform a routing check based on a result value of a preset command. As described above, when the user terminal 40 is rooted, a specific file may be created in the user terminal 40 . At this time, the rooting check application can check whether rooting is performed by executing the corresponding file through a command and checking the result value.

예를 들어, 루팅 검사 어플리케이션은 /sbin/su, /system/su, /system/bin/su, /data/local/bin/su, /data/data/com.noshufou.android.su, /system/app/su.apk, /system/app/SuperUser.apk, /system/bin/.ext 등과 같은 미리 설정된 명령어를 실행시킬 수 있고, 결과값이 출력되면 사용자 단말(40)이 루팅되었다고 판단할 수 있다.For example, the root check application is /sbin/su, /system/su, /system/bin/su, /data/local/bin/su, /data/data/com.noshufou.android.su, /system/ Pre-set commands such as app/su.apk, /system/app/SuperUser.apk, /system/bin/.ext, etc. can be executed, and when the result value is output, it can be determined that the user terminal 40 is rooted. .

이 외에도, 루팅 검사 어플리케이션은 단말(40)의 Build.TAGS 값이 테스트 키 값인지 여부에 따라 루팅 검사를 수행할 수도 있고, 미리 설정된 명령어의 실행 이력이 있는지 여부에 따라 루팅 검사를 수행할 수도 있다.In addition to this, the routing check application may perform a routing check according to whether the Build.TAGS value of the terminal 40 is a test key value, or may perform a routing check according to whether there is an execution history of a preset command. .

앞서 설명한 예시들 외에도 루팅 검사 어플리케이션은 당해 기술분야에서 이용되는 다양한 방법을 통해 단말(40)의 루팅 여부를 검사할 수 있다.In addition to the examples described above, the routing check application may check whether the terminal 40 is routed through various methods used in the art.

루팅 검사 어플리케이션은 루팅 검사 결과를 포함하는 루팅 검사 정보를 생성할 수 있다. 루팅 검사 정보에는 루팅 검사를 위해 실행한 프로그램과 그에 따른 검사 결과가 포함될 수 있다. 예를 들어, 루팅 검사 정보에는 파열명 탐색 프로그램의 세부정보와, 검색된 파일명과, 루팅 여부에 대한 정보 등이 포함될 수 있다.The routing check application may generate routing check information including a routing check result. The routing inspection information may include a program executed for the routing inspection and a corresponding inspection result. For example, the routing check information may include details of a rupture name search program, a searched file name, and information on whether or not routing is performed.

이러한 루팅 검사 정보는 블록으로 생성될 수 있다. 구체적으로, 루팅 검사 정보에 포함되는 개별 정보는 트랜잭션 형태로 블록을 구성할 수 있고, 루팅 검사 어플리케이션은 복수의 트랜잭션을 포함하는 블록을 루팅 검사 정보로서 생성할 수 있다.This routing check information may be generated as a block. Specifically, individual information included in the routing check information may constitute a block in the form of a transaction, and the routing check application may generate a block including a plurality of transactions as the routing check information.

이 때, 루팅 검사 어플리케이션은 루팅 검사 정보 생성 동작을 수행하였음을 알리는 임의의 작업증명(Proof of Work; POW)을 수행할 수 있고, 작업증명 수행이 완료되면 메인넷(10)은 이에 대한 보상으로 토큰을 사용자에게 제공할 수 있다. 루팅 검사 어플리케이션의 작업증명(POW)에는 당해 기술분야에서 이용되는 다양한 방식이 적용될 수 있다.At this time, the routing check application may perform any Proof of Work (POW) notifying that the routing check information generation operation has been performed, and when the proof of work is completed, the mainnet 10 is rewarded for this. Tokens can be provided to users. Various methods used in the art may be applied to the proof-of-work (POW) of the routing check application.

즉, 본 발명은 블록체인 기술을 이용하여 루팅 검사 정보를 생성할 수 있는 환경을 조성함으로써 정보 생성자에게 보상(토큰)을 제공할 수 있고, 이에 따라 루팅 검사 정보를 자발적으로 생성해야 하는 사용자에게 정보 생성의 동기부여를 제공할 수 있다는 장점이 있다.That is, the present invention can provide compensation (token) to the information creator by creating an environment in which routing check information can be generated using blockchain technology, and thus information to users who need to voluntarily generate routing check information. It has the advantage of being able to provide motivation for creation.

루팅 검사 정보가 생성되면, 루팅 관리 서버(20)는 루팅 검사 어플리케이션을 통해 사용자 단말(40)로부터 루팅 검사 정보를 수집할 수 있다(S30). 구체적으로, 통신망에 연결된 각각의 사용자 단말(40)은 루팅 검사 어플리케이션에서 제공하는 인터페이스를 통해 루팅 검사 정보를 루팅 관리 서버(20)로 송신할 수 있고, 루팅 관리 서버(20)는 복수의 사용자 단말(40)로부터 루팅 검사 정보를 수신할 수 있다.When the routing check information is generated, the routing management server 20 may collect the routing check information from the user terminal 40 through the routing check application (S30). Specifically, each user terminal 40 connected to the communication network may transmit routing check information to the routing management server 20 through an interface provided by the routing check application, and the routing management server 20 may transmit a plurality of user terminals. Routing check information can be received from (40).

한편, 데이터 송수신시 발생할 수 있는 해킹을 방지하기 위하여 루팅 검사 어플리케이션은 루팅 검사 정보를 암호화할 수 있고, 루팅 관리 서버(20)는 암호화되어 수신된 루팅 검사 정보를 복호화 함으로써 루팅 검사 정보를 수집할 수 있다. 루팅 검사 어플리케이션의 암호와 동작과, 루팅 관리 서버(20)의 복호화 동작에는 블록체인에 적용되는 다양한 암호화/복호화 기법이 이용될 수 있다.On the other hand, in order to prevent hacking that may occur during data transmission and reception, the routing check application may encrypt the routing check information, and the routing management server 20 may collect the routing check information by decoding the encrypted and received routing check information. there is. Various encryption/decryption techniques applied to the blockchain may be used for the encryption and operation of the routing check application and the decryption operation of the routing management server 20.

루팅 정보 관리 시스템(1)을 구성하는 각각의 루팅 관리 서버(20)는 서버(20)별로 미리 할당된 사용자 단말(40)로부터 루팅 검사 정보를 수집할 수 있다. 이는 루팅 검사 정보를 수집하는 서버(20)를 일원화하지 않고 분산화함으로써 신속한 데이터의 수집이 가능하도록 하기 위함이다.Each of the routing management servers 20 constituting the routing information management system 1 may collect routing check information from user terminals 40 pre-assigned to each server 20 . This is to enable rapid data collection by decentralizing the server 20 that collects routing inspection information rather than unifying it.

사용자 단말(40)은 각 루팅 관리 서버(20)에 할당하는 기준은 다양하게 설정될 수 있다. 예를 들어, 사용자 단말(40)은 루팅 관리 서버(20)와의 통신을 중계하는 기지국의 위치에 따라 루팅 관리 서버(20)에 할당될 수 있고, 단말(40)의 제조사에 따라 루팅 관리 서버(20)에 할당될 수도 있으며, 단말(40)이 이용하는 통신사에 따라 루팅 관리 서버(20)에 할당될 수도 있다.The criterion for assigning the user terminal 40 to each routing management server 20 may be set in various ways. For example, the user terminal 40 may be assigned to the routing management server 20 according to the location of a base station relaying communication with the routing management server 20, and according to the manufacturer of the terminal 40, the routing management server ( 20), and may be assigned to the routing management server 20 according to the communication company used by the terminal 40.

도 4를 참조하면, 복수의 사용자 단말(40)은 그룹 A에 속한 일 군의 사용자 단말(40)과 그룹 B에 속한 타 군의 사용자 단말(40)로 구성될 수 있다. 한편, 도 4 내지 도 6에서는 설명의 편의를 위해 루팅 관리 서버(20)를 필요에 따라 제1, 제2 및 제3 루팅 관리 서버(21, 22, 23)으로 구분하여 설명하도록 한다.Referring to FIG. 4 , the plurality of user terminals 40 may include one group of user terminals 40 belonging to group A and another group of user terminals 40 belonging to group B. Meanwhile, in FIGS. 4 to 6, the routing management server 20 is divided into first, second, and third routing management servers 21, 22, and 23 as necessary for convenience of description.

일 예에서, 그룹 A에 속한 복수의 사용자 단말(40)은 기지국 A를 통해, 그룹 B에 속한 복수의 사용자 단말(40)은 기지국 B를 통해 루팅 관리 서버(20)에 연결될 수 있다.In one example, a plurality of user terminals 40 belonging to group A may be connected to the routing management server 20 through base station A, and a plurality of user terminals 40 belonging to group B may be connected to the routing management server 20 through base station B.

다른 예에서, 그룹 A에 속한 복수의 사용자 단말(40)은 제조사 A에서 생산된 것일 수 있고, 그룹 B에 속한 복수의 사용자 단말(40)은 제조사 B에서 생산된 것일 수 있다.In another example, the plurality of user terminals 40 belonging to group A may be manufactured by manufacturer A, and the plurality of user terminals 40 belonging to group B may be manufactured by manufacturer B.

또 다른 예에서, 그룹 A에 속한 복수의 사용자 단말(40)은 통신사 A가 구축한 네트워크를 통해, 그룹 B에 속한 복수의 사용자 단말(40)은 통신사 B가 구축한 네트워크를 통해 루팅 관리 서버(20)에 연결될 수 있다.In another example, a plurality of user terminals 40 belonging to group A are routed through a network established by communication company A, and a plurality of user terminals 40 belonging to group B are routed through a network established by communication company B via a routing management server ( 20) can be connected.

이 때, 제1 루팅 관리 서버(21)는 그룹 A에 미리 할당될 수 있고, 제2 루팅 관리 서버(22)는 그룹 B에 미리 할당될 수 있다. 이에 따라, 제1 루팅 관리 서버(21)는 그룹 A에 속한 각 사용자 단말(40)로부터 루팅 검사 정보를 수집할 수 있고, 제2 루팅 관리 서버(22)는 그룹 B에 속한 각 사용자 단말(40)로부터 루팅 검사 정보를 수집할 수 있다.At this time, the first routing management server 21 may be pre-allocated to group A, and the second routing management server 22 may be pre-allocated to group B. Accordingly, the first routing management server 21 may collect routing check information from each user terminal 40 belonging to group A, and the second routing management server 22 may collect each user terminal 40 belonging to group B. ), routing inspection information can be collected.

루팅 검사 정보가 수집되면, 루팅 관리 서버(20)는 자신이 수집한 루팅 검사 정보를 다른 루팅 관리 서버(20)에 배포하고, 다른 루팅 관리 서버(20)에서 수집된 루팅 검사와의 비교를 통해 자신이 수집한 루팅 검사 정보를 동기화할 수 있다(S40).When the routing check information is collected, the routing management server 20 distributes the routing check information it has collected to other routing management servers 20 and compares the routing checks collected from other routing management servers 20 with each other. The routing check information collected by the user may be synchronized (S40).

전술한 바와 같이 각각의 루팅 관리 서버(20)는 블록체인의 노드 역할을 수행할 수 있다. 이에 따라, 각 루팅 관리 서버(20)는 자신이 수집한 루팅 검사 정보를 타 노드와 공유할 수 있다. 예컨대, 각 루팅 관리 서버(20)는 사용자 단말(40)로부터 수집된 루팅 검사 정보를 브로드캐스팅을 통해 루팅 정보 관리 시스템(1)을 구성하는 다른 모든 루팅 관리 서버(20)에 배포할 수 있다. 이와 달리, 각 루팅 관리 서버(20)는 사용자 단말(40)로부터 수집된 루팅 검사 정보를 인접한 루팅 관리 서버(20)에 배포함으로써 루팅 검사 정보가 모든 루팅 관리 서버(20)에 전파되도록 할 수 있다.As described above, each routing management server 20 may serve as a node of a block chain. Accordingly, each routing management server 20 may share the routing check information it collects with other nodes. For example, each routing management server 20 may distribute the routing check information collected from the user terminal 40 to all other routing management servers 20 constituting the routing information management system 1 through broadcasting. Unlike this, each routing management server 20 distributes the routing check information collected from the user terminal 40 to the adjacent routing management server 20 so that the routing check information is propagated to all routing management servers 20. .

이러한 과정을 통해 루팅 검사 정보는 분산되어 모든 루팅 관리 서버(20)에 저장될 수 있다. 이와 같이, 루팅 검사 정보를 분산 저장하게 되면 루팅 검사 정보의 조작을 방지할 수 있고 무결성(integrity)을 보장할 수 있다. Through this process, the routing check information may be distributed and stored in all routing management servers 20 . In this way, if the routing check information is distributed and stored, manipulation of the routing check information can be prevented and integrity can be guaranteed.

앞서 설명한 바와 같이 루팅 검사 정보가 전체 노드, 즉 전체 루팅 관리 서버(20)에 전파되는 환경에서, 루팅 검사 정보가 훼손되는 경우 훼손된 루팅 검사 정보가 급속도로 전파될 우려가 있다. 이를 방지하기 위해, 본 발명의 각 루팅 관리 서버(20)는 자신이 수집한 루팅 검사 정보와 타 서버(20)에 수집된 정보를 비교하여 루팅 검사 정보를 동기화함으로써, 모든 루팅 관리 서버(20)가 신뢰성 있는 동일한 루팅 검사 정보를 저장할 수 있다.As described above, in an environment in which routing check information is propagated to all nodes, that is, all routing management servers 20, when the routing check information is damaged, there is a concern that the damaged routing check information is rapidly propagated. In order to prevent this, each routing management server 20 of the present invention compares the routing check information collected by itself with the information collected on other servers 20 and synchronizes the routing check information, so that all routing management servers 20 can reliably store the same routing check information.

일 예에서, 루팅 관리 서버(20)는 자신이 수집한 루팅 검사 정보가 둘 이상의 서버(20)에 저장된 루팅 검사 정보와 다른 경우, 수집된 루팅 검사 정보를 둘 이상의 서버(20)에 저장된 루팅 검사 정보로 동기화할 수 있다.In one example, the routing management server 20, when the routing check information it collects is different from the routing check information stored in two or more servers 20, the routing check information stored in two or more servers 20, the collected routing check information. information can be synchronized.

도 5에서는 설명의 편의를 위해 루팅 검사 정보를 Ri로 표현하도록 한다. 도 5를 참조하면, 제1 루팅 관리 서버(21)는 사용자 단말(40)로부터 수집된 Ri를 수집 순서에 따라 체인 형태로 연결하여 블록을 생성할 수 있다. 이에 따라, 제1 루팅 관리 서버(21)에서 생성된 블록은 …-Ri1-Ri2-Ri3'-Ri4일 수 있다. 이 때, 제1 루팅 관리 서버(21)는 제2 및 제3 루팅 관리 서버(22, 23)에서 전파된 블록을 수신할 수 있고, 자신이 생성한 블록과 타 제2 및 제3 루팅 관리 서버(22, 23)로부터 수신된 블록의 동일성을 비교할 수 있다.In FIG. 5, for convenience of explanation, routing check information is expressed as Ri. Referring to FIG. 5 , the first routing management server 21 may generate a block by connecting Ri collected from the user terminal 40 in a chain form according to a collection order. Accordingly, the block generated by the first routing management server 21... It may be -Ri1-Ri2-Ri3'-Ri4. At this time, the first routing management server 21 may receive the block propagated from the second and third routing management servers 22 and 23, and the second and third routing management servers other than the blocks generated by the first routing management server 21. The identity of the blocks received from (22, 23) can be compared.

제2 및 제3 루팅 관리 서버(22, 23)에서 생성된 블록은 …-Ri1-Ri2-Ri3-Ri4로 동일하며, 제1 루팅 관리 서버(21)에서 생성된 블록과는 일부 다를 수 있다. 제1 루팅 관리 서버(21)는 두 서버(22, 23)에서 생성한 동일한 블록과 자신이 생성한 블록이 일치하지 않음을 식별할 수 있고, 자신이 생산한 블록을 타 서버(22, 23)에서 수신된 블록으로 동기화할 수 있다. 구체적으로, 제1 루팅 관리 서버(21)는 …-Ri1-Ri2-Ri3'-Ri4 체인 형태의 블록을 폐기하고, …-Ri1-Ri2-Ri3-Ri4 체인 형태의 블록을 저장할 수 있다.Blocks generated by the second and third routing management servers 22 and 23... It is identical to -Ri1-Ri2-Ri3-Ri4, and may be partially different from the block generated in the first routing management server 21. The first routing management server 21 can identify that the same block generated by the two servers 22 and 23 and the block generated by itself do not match, and transfer the block produced by itself to the other servers 22 and 23. Can be synchronized with blocks received from Specifically, the first routing management server 21... - Discard the block in the form of a Ri1-Ri2-Ri3'-Ri4 chain, … -Ri1-Ri2-Ri3-Ri4 Chain type blocks can be stored.

다른 예에서, 루팅 관리 서버(20)는 자신이 수집한 루팅 검사 정보의 길이보다 타 서버(20)에 저장된 루팅 검사 정보의 길이가 더 긴 경우, 수집된 루팅 검사 정보를 타 서버(20)에 저장된 루팅 검사 정보로 동기화할 수 있다.In another example, the routing management server 20, when the length of the routing check information stored in the other server 20 is longer than the length of the routing check information collected by itself, sends the collected routing check information to the other server 20. It can be synchronized with the saved routing check information.

도 6에서도 역시 설명의 편의를 위해 루팅 검사 정보를 Ri로 표현하도록 한다. 도 6을 참조하면, 제1 루팅 관리 서버(21)는 사용자 단말(40)로부터 수집된 Ri를 수집 순서에 따라 체인 형태로 연결하여 블록을 생성할 수 있다. 이에 따라, 제1 루팅 관리 서버(21)에서 생성된 블록은 …-Ri1-Ri2-Ri3'-Ri4일 수 있다.Also in FIG. 6, for convenience of description, routing check information is expressed as Ri. Referring to FIG. 6 , the first routing management server 21 may generate a block by connecting Ri collected from the user terminal 40 in a chain form according to a collection order. Accordingly, the block generated by the first routing management server 21... It may be -Ri1-Ri2-Ri3'-Ri4.

한편, 같은 시점에 제2 루팅 관리 서버(22)는 제1 루팅 관리 서버(21)가 수집하지 못한 새로운 루팅 검사 정보 Ri4를 더 수집할 수 있고, 이에 따라, 제2 루팅 관리 서버(22)에서 생성된 블록은 …-Ri1-Ri2-Ri3'-Ri4-Ri5일 수 있다.Meanwhile, at the same time, the second routing management server 22 may further collect new routing check information Ri4 that the first routing management server 21 failed to collect, and accordingly, in the second routing management server 22 Blocks created... -Ri1-Ri2-Ri3'-Ri4-Ri5.

제1 루팅 관리 서버(21)는 제2 루팅 관리 서버(22)에서 전파된 블록을 수신할 수 있고, 자신이 생성한 블록과 제2 루팅 관리 서버(22)로부터 수신된 블록의 길이를 비교할 수 있다.The first routing management server 21 may receive a block propagated from the second routing management server 22, and may compare the length of the block generated by itself and the block received from the second routing management server 22. there is.

비교 결과, 제2 루팅 관리 서버(22)로부터 수신된 블록의 길이가 자신이 생성한 블록의 길이보다 길다는 것을 식별할 수 있고, 자신이 생산한 블록을 제2 루팅 관리 서버(22)에서 수신된 블록으로 동기화할 수 있다. 구체적으로, 제1 루팅 관리 서버(21)는 …-Ri1-Ri2-Ri3-Ri4 체인 형태의 블록을 폐기하고, …-Ri1-Ri2-Ri3-Ri4-Ri5 체인 형태의 블록을 저장할 수 있다.As a result of the comparison, it can be identified that the length of the block received from the second routing management server 22 is longer than the length of the block generated by itself, and the block produced by itself is received from the second routing management server 22 Blocks can be synchronized. Specifically, the first routing management server 21... - Discard the block in the form of a Ri1-Ri2-Ri3-Ri4 chain, … -Ri1-Ri2-Ri3-Ri4-Ri5 Blocks in the form of a chain can be stored.

각 루팅 관리 서버(20)는 전술한 동기화 동작을 실시간으로 수행할 수도 있고, 미리 설정된 주기로 수행할 수 있다. 다만, 각 루팅 관리 서버(20) 간에 루팅 검사 정보가 전파되는 속도의 차이, 네트워크의 일시적 불안정 현상 등을 고려하기 위하여 미리 설정된 주기(예컨대, 10분)로 동기화 동작이 수행되는 것이 바람직할 수 있다.Each routing management server 20 may perform the above-described synchronization operation in real time or at a preset cycle. However, it may be desirable to perform a synchronization operation at a preset period (eg, 10 minutes) in order to consider a difference in the propagation speed of routing check information between each routing management server 20, a temporary network instability phenomenon, and the like. .

전술한 바와 같이, 본 발명은 블록체인 기술을 이용하여 루팅 정보를 생성, 배포 및 동기화시킴으로써 정보의 조작을 방지할 수 있고 정보의 신뢰성을 담보할 수 있다는 장점이 있다.As described above, the present invention has the advantage of preventing manipulation of information and ensuring reliability of information by generating, distributing, and synchronizing routing information using blockchain technology.

각 루팅 관리 서버(20)는 루팅 검사 정보 동기화 동작을 수행하였음을 알리는 임의의 작업증명(POW)을 수행할 수 있고, 작업증명이 완료되면 메인넷(10)은 이에 대한 보상으로 토큰을 루팅 관리 서버(20)에 제공할 수 있다(S70). 루팅 관리 서버(20)의 작업증명(POW)에는 당해 기술분야에서 이용되는 다양한 방식이 적용될 수 있다.Each routing management server 20 may perform a random proof-of-work (POW) indicating that the routing check information synchronization operation has been performed, and when the proof-of-work is completed, the mainnet 10 manages the routing token as a reward for this. It can be provided to the server 20 (S70). Various methods used in the art may be applied to the proof-of-work (POW) of the routing management server 20 .

동기화 동작을 수행하면서, 각 루팅 관리 서버(20)는 수집된 루팅 검사 정보를 학습할 수 있다(S50). 보다 구체적으로, 루팅 관리 서버(20)는 후술될 신규 루팅 검사 프로그램을 위한 딥 러닝 신경망(deep learning neural network)을 구축할 수 있고, 딥러닝 신경망을 학습시킬 수 있다. 신경망 학습에는 지도 학습(supervised learning), 비지도 학습(unsupervised learning), 앙상블 학습(ensemble learning) 등의 기법이 이용될 수 있다.While performing the synchronization operation, each routing management server 20 may learn the collected routing check information (S50). More specifically, the routing management server 20 may build a deep learning neural network for a new routing check program to be described later and train the deep learning neural network. Techniques such as supervised learning, unsupervised learning, and ensemble learning may be used for neural network learning.

루팅 관리 서버(20)는 수집된 루팅 검사 정보만을 이용하여 신경망을 학습시킬 수 있다. 예를 들어, 각 루팅 관리 서버(20)는 루팅 검사 정보에 포함된 루팅 검사 프로그램, 파일명, 명령어, Build.TAGS 값 등에 관한 정보를 입력 데이터로 설정하고, 루팅 여부에 대한 결과값(이진 정보)을 출력 데이터로 설정하여 신경망을 지도 학습시킬 수 있다.The routing management server 20 may train the neural network using only the collected routing check information. For example, each routing management server 20 sets information about a routing inspection program, file name, command, Build.TAGS value, etc. included in the routing inspection information as input data, and a result value (binary information) on whether or not to route. By setting as the output data, the neural network can be supervised.

이와 달리, 루팅 관리 서버(20)는 서버(20) 내에서 루팅 검사를 추가적으로 실시하고 이에 기초하여 신경망을 학습시킬 수도 있다.Alternatively, the routing management server 20 may additionally perform a routing check within the server 20 and learn the neural network based on the routing check.

일 예에서, 루팅 관리 서버(20)는 루팅 검사 프로그램별 출력값에 기초하여 루팅 검사 정보를 학습할 수 있다. 여기서 루팅 검사 프로그램은 사용자 단말(40)에 설치된 루팅 검사 어플리케이션에 기 설치된 프로그램일 수도 있고, 서버(20) 내 데이터베이스에만 저장된 프로그램일 수도 있다.In one example, the routing management server 20 may learn routing check information based on an output value for each routing check program. Here, the routing check program may be a program pre-installed in a routing check application installed in the user terminal 40 or a program stored only in the database in the server 20 .

보다 구체적으로, 루팅 관리 서버(20)는 루팅 검사 정보에 포함된 입력값, 예컨대 파일명, 명령어, Build.TAGS, su 파일, apk 파일 등을 서버(20) 내 데이터베이스에 저장된 루팅 검사 프로그램 각각에 입력시킬 수 있고, 각 프로그램별로 출력값을 생성할 수 있다. 여기서 출력값은 루팅 여부에 대한 결과값으로 이진 정보일 수 있다.More specifically, the routing management server 20 inputs input values included in the routing check information, such as file names, commands, Build.TAGS, su files, apk files, etc. into each of the routing check programs stored in the database in the server 20 and generate output values for each program. Here, the output value may be binary information as a result of routing or not.

루팅 관리 서버(20)는 입력값에 대하여 루팅 검사 프로그램별 출력값을 데이터 셋으로 구성할 수 있고, 해당 데이터 셋을 이용하여 신경망을 학습시킬 수 있다.The routing management server 20 may configure an output value for each routing check program as a data set with respect to an input value, and may train a neural network using the corresponding data set.

한편, 전술한 신경망 학습 동작을 수행함에 있어서 루팅 관리 서버(20)는 루팅 검사 프로그램의 최신 버전의 출력값에 기초하여 루팅 검사 정보를 학습할 수 있다.Meanwhile, in performing the aforementioned neural network learning operation, the routing management server 20 may learn routing check information based on the output value of the latest version of the routing check program.

앞서 설명한 바와 같이, 서버(20) 내 데이터베이스에 저장된 루팅 검사 프로그램은 이미 루팅 검사 어플리케이션에 설치된 프로그램일 수 있다. 다만, 서버(20) 내 데이터베이스에는 해당 프로그램의 최신 버전(예컨대, 알파 버전 또는 베타 버전)이 저장될 수 있고, 루팅 관리 서버(20)는 최신 버전의 루팅 검사 프로그램별 출력값에 기초하여 루팅 검사 정보를 학습할 수 있다.As described above, the routing check program stored in the database in the server 20 may be a program already installed in the routing check application. However, the latest version (eg, alpha version or beta version) of the program may be stored in the database in the server 20, and the routing management server 20 may check routing information based on the output value of each routing checking program of the latest version. can learn

또한, 루팅 관리 서버(20)는 외부 서버(30)로부터 제공된 루팅 검사 프로그램 각각의 출력값에 기초하여 루팅 검사 정보를 학습할 수도 있다.In addition, the routing management server 20 may learn routing check information based on output values of each routing check program provided from the external server 30 .

외부 서버(30)는 한국인터넷진흥원(KISA)와 같은 기관 웹사이트에 엑세스하여, 공개된 루팅 검사 프로그램 및 검사 가이드 정보를 서버(30) 내 데이터베이스에 저장할 수 있다. 또한, 외부 서버(30)는 웹 크롤링(web crawling) 기능을 통해 새롭게 개발된 루팅 검사 프로그램을 검색하고 이를 서버(30) 내 데이터베이스에 저장할 수 있다.The external server 30 may access an institutional website such as Korea Internet & Security Agency (KISA) and store open routing inspection program and inspection guide information in a database within the server 30 . In addition, the external server 30 may search for a newly developed routing check program through a web crawling function and store it in a database within the server 30 .

루팅 관리 서버(20)는 외부 서버(30)에 엑세스하여 루팅 검사 어플리케이션에 적용되지 않은 루팅 검사 프로그램(이하, 미적용 루팅 검사 프로그램)을 식별할 수 있고, 자신이 수집한 루팅 검사 정보에 포함된 입력값을 미적용 루팅 검사 프로그램에 입력시켜 출력값을 생성할 수 있다. 이어서, 입력값과 출력값을 데이터 셋으로 구성할 수 있고, 해당 데이터 셋을 이용하여 신경망을 학습시킬 수 있다.The routing management server 20 may access the external server 30 to identify a routing check program that is not applied to the routing check application (hereinafter referred to as an unapplied routing check program), and input included in the routing check information it collects An output value can be generated by inputting the value to the unapplied routing inspection program. Subsequently, input values and output values may be configured as a data set, and a neural network may be trained using the data set.

전술한 루팅 검사 정보 학습 동작은 분산되어 수행될 수 있다. 다시 말해, 각 루팅 관리 서버(20)는 서버(20)별로 미리 할당된 사용자 단말(40)로부터 수집된 루팅 검사 정보만을 학습할 수 있다.The aforementioned routing check information learning operation may be performed in a distributed manner. In other words, each routing management server 20 may learn only routing check information collected from user terminals 40 pre-assigned to each server 20 .

도 4를 예로 들어 설명한 것과 같이, 복수의 사용자 단말(40)은 그룹 A에 속한 일 군의 사용자 단말(40)과 그룹 B에 속한 타 군의 사용자 단말(40)로 구성될 수 있다. 예컨대, 각 그룹은 루팅 관리 서버(20)에 연결을 중계하는 기지국별로 그룹핑될 수 있고, 제조사별로 그룹핑될 수 있으며, 이용중인 통신사별로 그룹핑될 수도 있다.As described with reference to FIG. 4 as an example, the plurality of user terminals 40 may include one group of user terminals 40 belonging to group A and another group of user terminals 40 belonging to group B. For example, each group may be grouped by base station that relays a connection to the routing management server 20, may be grouped by manufacturer, or may be grouped by communication company in use.

이 때, 제1 루팅 관리 서버(21)는 그룹 A에 미리 할당될 수 있고, 제2 루팅 관리 서버(22)는 그룹 B에 미리 할당될 수 있다. 이에 따라, 제1 루팅 관리 서버(21)는 그룹 A에 속한 각 사용자 단말(40)로 수집된 루팅 검사 정보를 학습할 수 있고, 제2 루팅 관리 서버(22)는 그룹 B에 속한 각 사용자 단말(40)로부터 수집된 루팅 검사 정보를 학습할 수 있다.At this time, the first routing management server 21 may be pre-allocated to group A, and the second routing management server 22 may be pre-allocated to group B. Accordingly, the first routing management server 21 can learn the routing check information collected by each user terminal 40 belonging to group A, and the second routing management server 22 can learn each user terminal belonging to group B. Routing inspection information collected from (40) can be learned.

이와 같이, 루팅 검사 정보를 학습하는 서버(20)를 일원화하지 않고 분산하는 경우, 신경망 학습 속도를 향상시킬 수 있다.In this way, when the servers 20 that learn routing check information are distributed rather than unified, the learning speed of the neural network can be improved.

전술한 루팅 검사 정보 학습이 완료되면, 루팅 관리 서버(20)는 학습 결과에 기초하여 루팅 검사 어플리케이션을 업데이트할 수 있다(S60).When the aforementioned learning of the routing check information is completed, the routing management server 20 may update the routing check application based on the learning result (S60).

일 예에서, 루팅 관리 서버(20)는 기존의 루팅 검사 프로그램에, 학습을 통해 도출된 새로운 기능을 추가하여 최신 버전의 루팅 검사 프로그램을 생성할 수 있고, 이를 루팅 검사 어플리케이션에 업데이트할 수 있다.In one example, the routing management server 20 may generate the latest version of the routing check program by adding new functions derived through learning to the existing routing check program, and may update the routing check application.

전술한 바와 같이, 루팅 관리 서버(20)는 데이터베이스에 다양한 루팅 검사 프로그램을 이용하여 루팅 검사 정보를 학습할 수 있고, 학습 결과에 따라 검사 신뢰도가 높은 기능을 식별할 수 있다. 루팅 관리 서버(20)는 해당 기존의 루팅 검사 프로그램에 해당 기능을 포함시켜 최신 버전의 루팅 검사 프로그램을 생성하고, 이를 루팅 검사 어플리케이션에 업데이트할 수 있다.As described above, the routing management server 20 may learn routing check information by using various routing check programs in the database, and may identify a function having high test reliability according to a learning result. The routing management server 20 may generate a latest version of the routing check program by including a corresponding function in the existing routing check program, and update the routing check application.

다른 예에서, 루팅 관리 서버(20)는 루팅 검사 정보의 학습을 통해 신규 루팅 검사 프로그램을 생성하고, 루팅 검사 어플리케이션에 신규 루팅 검사 프로그램을 업데이트할 수 있다.In another example, the routing management server 20 may generate a new routing check program through learning of routing check information and update the new routing check program to the routing check application.

전술한 바와 같이, 루팅 관리 서버(20)는 외부 서버(30)를 통해 식별된 미적용 루팅 검사 프로그램을 이용하여 데이터 셋을 생성할 수 있고, 이를 통해 신경망을 학습할 수 있다. 루팅 관리 서버(20)는 학습 결과에 따라 검사 신뢰도가 높은 미적용 루팅 검사 프로그램을 선정할 수 있고, 해당 프로그램의 기능을 포함하는 신규 루팅 검사 프로그램을 생성할 수 있다. 이어서, 루팅 관리 서버(20)는 생성된 신규 루팅 검사 프로그램을 루팅 검사 어플리케이션에 업데이트할 수 있다.As described above, the routing management server 20 may generate a data set using the non-applied routing check program identified through the external server 30 and learn the neural network through this. The routing management server 20 may select an unapplied routing check program having high test reliability according to the learning result, and may create a new routing check program including the function of the corresponding program. Subsequently, the routing management server 20 may update the generated new routing check program to the routing check application.

각 루팅 관리 서버(20)는 루팅 검사 어플리케이션 업데이트 동작을 수행하였음을 알리는 임의의 작업증명(POW)을 수행할 수 있고, 작업증명이 완료되면 메인넷(10)은 이에 대한 보상으로 토큰을 루팅 관리 서버(20)에 제공할 수 있다(S70). Each routing management server 20 may perform a random proof-of-work (POW) indicating that the routing check application update operation has been performed, and when the proof-of-work is completed, the mainnet 10 manages routing tokens as a reward for this. It can be provided to the server 20 (S70).

즉, 본 발명은 블록체인 기술을 이용하여 루팅 검사 정보를 관리할 수 있는 환경을 조성함으로써 루팅 정보 관리자에게 보상을 제공할 수 있고, 이에 따라 루팅 정보를 자발적으로 관리해야 하는 서버 관리자에게 정보 관리의 동기부여를 제공할 수 있다는 장점이 있다.That is, the present invention can provide compensation to the routing information manager by creating an environment capable of managing routing inspection information using block chain technology, and thus provides information management to server managers who need to voluntarily manage routing information. It has the advantage of being able to provide motivation.

또한, 본 발명은 루팅 검사 정보를 인공지능 학습하여 새로운 기능 및 프로그램을 개발함으로써 개발자가 루팅 정보를 일일이 분석할 필요 없이 루팅 방어책을 강구할 수 있고, 공격자의 새로운 루팅 방법에 대한 빠른 대응도 가능한 장점이 있다. In addition, the present invention develops new functions and programs by artificial intelligence learning of routing check information, so that developers can devise routing defense measures without having to analyze routing information one by one, and can quickly respond to new routing methods by attackers. there is

이하, 도 7을 참조하여 전술한 루팅 정보 관리 시스템(1)을 구성하는 각 구성요소들의 동작을 시계열적으로 정리하도록 한다. 도 7에 도시된 순서도는 일 예시에 불과하며 각 구성요소들의 동작 순서는 전술한 발명의 동작 내에서 달라질 수 있음은 당연하다.Hereinafter, with reference to FIG. 7, operations of each component constituting the above-described routing information management system 1 will be arranged in a time-sequential manner. The flowchart shown in FIG. 7 is only an example, and it is natural that the operation sequence of each component may vary within the operation of the above-described invention.

도 7을 참조하면, 사용자는 사용자 단말(40)을 통해 루팅 관리 서버(20)에 가입 신청을 한 후(S11), 사용자 단말(40)을 통해 루팅 관리 서버(20)에 가입비로서 토큰을 지급할 수 있다. 이 때, 앞서 설명한 바와 같이 사용자 토큰을 메인넷(10)에 제공할 수 있고(S12), 메인넷(10)은 해당 토큰을 루팅 관리 서버(20)에 제공할 수 있다(S13).Referring to FIG. 7, after the user applies for subscription to the routing management server 20 through the user terminal 40 (S11), the user terminal 40 pays a token to the routing management server 20 as a subscription fee. can do. At this time, as described above, the user token may be provided to the mainnet 10 (S12), and the mainnet 10 may provide the corresponding token to the routing management server 20 (S13).

이어서, 루팅 관리 서버(20)는 사용자 계정정보를 생성하고(S14), 사용자 단말(40)로 계정정보를 송신할 수 있다(S15). 사용자는 사용자 단말(40)을 통해 계정정보를 확인하고, 루팅 검사 어플리케이션에 해당 계정정보를 입력함으로써 루팅 관리 서버(20)에 로그인할 수 있다(S16).Subsequently, the routing management server 20 may generate user account information (S14) and transmit the account information to the user terminal 40 (S15). The user may check the account information through the user terminal 40 and log in to the routing management server 20 by inputting the corresponding account information into the routing check application (S16).

사용자 로그인이 완료되면, 사용자 단말(40)에 설치된 루팅 검사 어플리케이션은 사용자 단말(40)의 루팅 여부를 검사하여 루팅 검사 정보를 생성할 수 있다(S17). 이 때, 사용자 단말(40)은 루팅 검사 정보 생성에 대한 작업증명을 수행할 수 있고, 메인넷(10)은 작업증명에 대한 보상으로 사용자 단말(40)에 토큰을 지급할 수 있다(S18). 한편, 사용자 단말(40)은 생성된 루팅 검사 정보를 루팅 관리 서버(20)에 송신할 수 있다(S19).When the user login is completed, the routing check application installed in the user terminal 40 may generate routing check information by checking whether the user terminal 40 is rooted (S17). At this time, the user terminal 40 may perform proof-of-work for generating routing check information, and the mainnet 10 may provide tokens to the user terminal 40 as a reward for the proof-of-work (S18). . Meanwhile, the user terminal 40 may transmit the generated routing check information to the routing management server 20 (S19).

한편, 루팅 검사 정보를 수신한 루팅 관리 서버(20)는 해당 루팅 검사 정보를 루팅 정보 관리 시스템(1)에 포함된 타 서버(20')에 배포할 수 있고, 자신이 수집한 정보와 타 서버(20')에 저장된 정보를 비교하여 루팅 검사 정보를 동기화할 수 있다(S21). 이어서, 루팅 관리 서버(20)는 루팅 검사 정보를 학습하고(S22), 이에 기초하여 신규 루팅 검사 프로그램을 생성할 수 있다(S23).On the other hand, the routing management server 20 receiving the routing check information may distribute the corresponding routing check information to other servers 20' included in the routing information management system 1, and the information collected by itself and other servers It is possible to synchronize the routing check information by comparing the information stored in (20') (S21). Subsequently, the routing management server 20 may learn the routing check information (S22) and generate a new routing check program based on this (S23).

이와 함께, 루팅 관리 서버(20)는 루팅 검사 정보 동기화에 대한 작업증명 및/또는 신규 루팅 검사 프로그램 생성에 대한 작업증명을 수행할 수 있고, 메인넷(10)은 작업증명에 대한 보상으로 사용자에게 토큰을 지급할 수 있다(S24).In addition, the routing management server 20 may perform proof-of-work for synchronizing routing check information and/or proof-of-work for creating a new routing check program, and the mainnet 10 provides the user with a reward for the proof-of-work. Tokens can be paid (S24).

마지막으로, 루팅 관리 서버(20)는 루팅 검사 어플리케이션에 신규 루팅 검사 프로그램을 업데이트할 수 있다(S25).Finally, the routing management server 20 may update a new routing check program to the routing check application (S25).

이상과 같이 본 발명에 대해서 예시한 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시 예와 도면에 의해 본 발명이 한정되는 것은 아니며, 본 발명의 기술사상의 범위 내에서 통상의 기술자에 의해 다양한 변형이 이루어질 수 있음은 자명하다. 아울러 앞서 본 발명의 실시 예를 설명하면서 본 발명의 구성에 따른 작용 효과를 명시적으로 기재하여 설명하지 않았을 지라도, 해당 구성에 의해 예측 가능한 효과 또한 인정되어야 함은 당연하다.As described above, the present invention has been described with reference to the drawings illustrated, but the present invention is not limited by the embodiments and drawings disclosed in this specification, and various modifications are made by those skilled in the art within the scope of the technical idea of the present invention. It is obvious that variations can be made. In addition, although the operational effects according to the configuration of the present invention have not been explicitly described and described while describing the embodiments of the present invention, it is natural that the effects predictable by the corresponding configuration should also be recognized.

Claims (16)

루팅 정보 관리 시스템을 구성하는 복수의 서버 각각에 의해 수행되는 루팅 정보 관리 방법에 있어서,
사용자로부터 토큰을 제공받아 사용자의 계정정보를 생성하는 단계;
사용자 로그인 시 사용자 단말에 설치된 루팅 검사 어플리케이션을 통해 상기 사용자 단말의 루팅 검사 정보를 수집하는 단계;
상기 수집된 루팅 검사 정보를 배포하고, 상기 루팅 검사 정보와 타 서버에 수집된 정보를 비교하여 상기 루팅 검사 정보를 동기화하되, 상기 수집된 루팅 검사 정보의 길이보다 상기 타 서버에 저장된 루팅 검사 정보의 길이가 더 긴 경우, 상기 수집된 루팅 검사 정보를 상기 타 서버에 저장된 루팅 검사 정보로 동기화하는 단계;
상기 루팅 검사 정보를 학습하여 상기 루팅 검사 어플리케이션을 업데이트하는 단계; 및
상기 동기화 동작 및 상기 업데이트 동작에 대한 토큰을 메인넷으로부터 제공받는 단계를 포함하는
블록체인을 이용한 루팅 정보 관리 방법.
In the routing information management method performed by each of a plurality of servers constituting the routing information management system,
generating user account information by receiving a token from a user;
Collecting routing check information of the user terminal through a routing check application installed in the user terminal when the user logs in;
The collected routing check information is distributed, and the routing check information is synchronized by comparing the routing check information with information collected in other servers, and the length of the routing check information stored in the other server is greater than the length of the collected routing check information. If the length is longer, synchronizing the collected routing check information with the routing check information stored in the other server;
learning the routing check information and updating the routing check application; and
Receiving a token for the synchronization operation and the update operation from the mainnet
Routing information management method using blockchain.
제1항에 있어서,
상기 사용자로부터 토큰을 제공받는 단계는
상기 사용자로부터 메인넷에 제공된 토큰을 상기 메인넷으로부터 제공받는 단계를 포함하는
블록체인을 이용한 루팅 정보 관리 방법.
According to claim 1,
The step of receiving a token from the user
Receiving a token provided to the mainnet from the user from the mainnet
Routing information management method using blockchain.
제1항에 있어서,
상기 루팅 검사 어플리케이션은 상기 사용자 단말에 설치된 파일명에 기초하여 루팅 검사를 수행하는
블록체인을 이용한 루팅 정보 관리 방법.
According to claim 1,
The routing check application performs a routing check based on the file name installed in the user terminal.
Routing information management method using blockchain.
제1항에 있어서,
상기 루팅 검사 어플리케이션은 미리 설정된 명령어에 대한 결과값에 기초하여 루팅 검사를 수행하는
블록체인을 이용한 루팅 정보 관리 방법.
According to claim 1,
The routing check application performs a routing check based on the result of a preset command.
Routing information management method using blockchain.
제1항에 있어서,
상기 루팅 검사 정보를 수집하는 단계는
상기 루팅 검사 어플리케이션을 통해 암호화된 상기 루팅 검사 정보를 수신하고, 상기 수집된 루팅 검사 정보를 복호화하는 단계를 포함하는
블록체인을 이용한 루팅 정보 관리 방법.
According to claim 1,
The step of collecting the routing check information is
Receiving the encrypted routing check information through the routing check application and decrypting the collected routing check information
Routing information management method using blockchain.
제1항에 있어서,
상기 루팅 검사 정보를 수집하는 단계는
상기 복수의 서버 각각에 미리 할당된 사용자 단말로부터 상기 루팅 검사 정보를 수집하는 단계를 포함하는
블록체인을 이용한 루팅 정보 관리 방법.
According to claim 1,
The step of collecting the routing check information is
Collecting the routing check information from a user terminal pre-assigned to each of the plurality of servers
Routing information management method using blockchain.
제1항에 있어서,
상기 메인넷은 상기 루팅 검사 어플리케이션이 상기 루팅 검사 정보 생성의 작업증명(Proof of Work; POW)을 수행하면 상기 토큰을 상기 사용자에게 제공하는
블록체인을 이용한 루팅 정보 관리 방법.
According to claim 1,
The mainnet provides the token to the user when the routing check application performs Proof of Work (POW) of generating the routing check information
Routing information management method using blockchain.
제1항에 있어서,
상기 루팅 검사 정보를 동기화하는 단계는
상기 수집된 루팅 검사 정보가 상기 복수의 서버 중 둘 이상의 서버에 저장된 루팅 검사 정보와 다른 경우, 상기 수집된 루팅 검사 정보를 상기 둘 이상의 서버에 저장된 루팅 검사 정보로 동기화하는 단계를 포함하는
블록체인을 이용한 루팅 정보 관리 방법.
According to claim 1,
Synchronizing the routing check information
If the collected routing check information is different from the routing check information stored in two or more servers among the plurality of servers, synchronizing the collected routing check information with the routing check information stored in the two or more servers.
Routing information management method using blockchain.
삭제delete 제1항에 있어서,
상기 루팅 검사 정보를 학습하는 단계는
루팅 검사 프로그램별 출력값에 기초하여 상기 루팅 검사 정보를 학습하는 단계를 포함하는
블록체인을 이용한 루팅 정보 관리 방법.
According to claim 1,
The step of learning the routing check information is
Learning the routing check information based on an output value for each routing check program
Routing information management method using blockchain.
제10항에 있어서,
상기 루팅 검사 정보를 학습하는 단계는
상기 루팅 검사 프로그램의 최신 버전의 출력값에 기초하여 루팅 검사 정보를 학습하는 단계를 포함하는
블록체인을 이용한 루팅 정보 관리 방법.
According to claim 10,
The step of learning the routing check information is
Learning routing check information based on the output value of the latest version of the routing check program
Routing information management method using blockchain.
제1항에 있어서,
상기 루팅 검사 정보를 학습하는 단계는
외부 서버로부터 제공된 루팅 검사 프로그램별 출력값에 기초하여 상기 루팅 검사 정보를 학습하는 단계를 포함하는
블록체인을 이용한 루팅 정보 관리 방법.
According to claim 1,
The step of learning the routing check information is
Learning the routing check information based on an output value for each routing check program provided from an external server
Routing information management method using blockchain.
제1항에 있어서,
상기 루팅 검사 정보를 학습하는 단계는
상기 복수의 서버 각각에 미리 할당된 사용자 단말로부터 수집된 상기 루팅 검사 정보를 학습하는 단계를 포함하는
블록체인을 이용한 루팅 정보 관리 방법.
According to claim 1,
The step of learning the routing check information is
Learning the routing check information collected from user terminals pre-assigned to each of the plurality of servers
Routing information management method using blockchain.
제11항에 있어서,
상기 루팅 검사 어플리케이션을 업데이트하는 단계는
상기 루팅 검사 어플리케이션에 상기 최신 버전의 루팅 검사 프로그램을 업데이트하는 단계를 포함하는
블록체인을 이용한 루팅 정보 관리 방법.
According to claim 11,
Updating the routing check application
Updating the latest version of the routing check program in the routing check application
Routing information management method using blockchain.
제1항에 있어서,
상기 루팅 검사 어플리케이션을 업데이트하는 단계는
상기 루팅 검사 정보를 학습하여 신규 루팅 검사 프로그램을 생성하고, 상기 루팅 검사 어플리케이션에 상기 신규 루팅 검사 프로그램을 업데이트하는 단계를 포함하는
블록체인을 이용한 루팅 정보 관리 방법.
According to claim 1,
Updating the routing check application
Learning the routing check information to create a new routing check program, and updating the new routing check program to the routing check application
Routing information management method using blockchain.
제1항에 있어서,
상기 메인넷으로부터 토큰을 제공받는 단계는
상기 동기화 동작 및 상기 업데이트 동작에 대한 작업증명을 수행하고, 작업증명에 대한 토큰을 제공받는 단계를 포함하는
블록체인을 이용한 루팅 정보 관리 방법.
According to claim 1,
The step of receiving tokens from the mainnet
Performing proof-of-work for the synchronization operation and the update operation, and receiving a token for the proof-of-work
Routing information management method using blockchain.
KR1020210134954A 2021-10-12 2021-10-12 Method for managing rooting information using blockchain KR102546157B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210134954A KR102546157B1 (en) 2021-10-12 2021-10-12 Method for managing rooting information using blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210134954A KR102546157B1 (en) 2021-10-12 2021-10-12 Method for managing rooting information using blockchain

Publications (2)

Publication Number Publication Date
KR20230051949A KR20230051949A (en) 2023-04-19
KR102546157B1 true KR102546157B1 (en) 2023-06-20

Family

ID=86142193

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210134954A KR102546157B1 (en) 2021-10-12 2021-10-12 Method for managing rooting information using blockchain

Country Status (1)

Country Link
KR (1) KR102546157B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101256462B1 (en) * 2012-08-06 2013-04-19 주식회사 안랩 System, apparatus and method for detecting forge a mobile application

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016154001A1 (en) * 2015-03-20 2016-09-29 Rivetz Corp. Automated attestation of device integrity using the block chain
KR20160133927A (en) * 2015-05-14 2016-11-23 한국전자통신연구원 Apparatus and method for detecting rooting from terminal based on android system
KR20170006599A (en) * 2015-07-08 2017-01-18 주식회사 케이티 Device and server for detecting rooting, and computer program
KR20200068363A (en) * 2018-12-05 2020-06-15 주식회사 미디움 Security Vaccine Solution based on Block Chain Technology

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101256462B1 (en) * 2012-08-06 2013-04-19 주식회사 안랩 System, apparatus and method for detecting forge a mobile application

Also Published As

Publication number Publication date
KR20230051949A (en) 2023-04-19

Similar Documents

Publication Publication Date Title
Benisi et al. Blockchain-based decentralized storage networks: A survey
US20210182423A1 (en) Systems, methods, and apparatuses for storing pii information via a metadata driven blockchain using distributed and decentralized storage for sensitive user information
US11431486B2 (en) System or method to implement consensus on read on distributed ledger/blockchain
US10958418B2 (en) System and method for a blockchain network with heterogeneous privacy
CN112396423B (en) Transaction data processing method, device, equipment and storage medium
CN103098070B (en) For the methods, devices and systems of Data Position in monitoring network service
Suciu et al. Comparative analysis of distributed ledger technologies
CN105706048B (en) It is authenticated using the media client end device of hardware root of trust
CN111291060B (en) Method, device and computer readable medium for managing blockchain nodes
CN108234653A (en) A kind of method and device of processing business request
CN111164948A (en) Managing network security vulnerabilities using blockchain networks
CN114666412A (en) Access services in a hybrid cloud computing system
Wang et al. Performance benchmarking and optimization for blockchain systems: A survey
CN113495920A (en) Content auditing system, method and device based on block chain and storage medium
Tkachuk et al. A survey on blockchain-based telecommunication services marketplaces
CN114357490A (en) Data sharing method, device and system based on block chain
Sarathchandra et al. A decentralized social network architecture
CN116583833A (en) Self-auditing blockchain
KR102546157B1 (en) Method for managing rooting information using blockchain
Moh et al. Blockchain for efficient public key infrastructure and fault-tolerant distributed consensus
Quamara et al. An In-depth Security and Performance Investigation in Hyperledger Fabric-configured Distributed Computing Systems
Pintaldi Implementation of a Blockchain-based Distributed PKI for IoT using Emercoin NVS and TPM 2.0
Stampernas Blockchain technologies and smart contracts in the context of the Internet of Things
Aguru et al. Smart contract based next-generation public key infrastructure (PKI) using permissionless blockchain
Imamura et al. Empirical Study of Software Adoption Process in the Bitcoin Network

Legal Events

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