KR20230055984A - Data transmission and access control method, recording medium and data transmission and access control system for performing the same - Google Patents

Data transmission and access control method, recording medium and data transmission and access control system for performing the same Download PDF

Info

Publication number
KR20230055984A
KR20230055984A KR1020220134050A KR20220134050A KR20230055984A KR 20230055984 A KR20230055984 A KR 20230055984A KR 1020220134050 A KR1020220134050 A KR 1020220134050A KR 20220134050 A KR20220134050 A KR 20220134050A KR 20230055984 A KR20230055984 A KR 20230055984A
Authority
KR
South Korea
Prior art keywords
node
data transmission
data
access control
transmitting
Prior art date
Application number
KR1020220134050A
Other languages
Korean (ko)
Inventor
박세진
양현주
김다운
Original Assignee
계명대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 계명대학교 산학협력단 filed Critical 계명대학교 산학협력단
Publication of KR20230055984A publication Critical patent/KR20230055984A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

본 발명은 블록체인 네트워크에 기반하여 데이터 전송 서비스를 제공하는 데이터 전송 및 접근 제어 시스템에 관한 것으로, 공유 대상 데이터를 송신하는 송신 노드; 상기 공유 대상 데이터를 수신하는 수신 노드; 및 상기 수신 노드로부터 상기 공유 대상 데이터에 대한 키워드를 수신하고, 상기 키워드에 대응되는 상기 공유 대상 데이터를 제공하는 상기 송신 노드를 확인하며, 상기 수신 노드와 상기 송신 노드 간의 P2P 세션을 확립시키는 릴레이 노드를 포함하고, 상기 수신 노드, 송신 노드 및 릴레이 노드는, 상기 블록체인 네트워크를 구성하는 노드이다. 이에 의해 복잡한 로그인 과정을 거치지 않고, 간단한 본인 인증 방식을 사용하여 개인 정보를 보호하는 것은 물론, 데이터를 안전하고 신속하게 전송할 수 있다.The present invention relates to a data transmission and access control system that provides a data transmission service based on a blockchain network, comprising: a transmission node for transmitting data to be shared; a receiving node receiving the sharing target data; and a relay node that receives a keyword for the sharing target data from the receiving node, checks the transmitting node that provides the sharing target data corresponding to the keyword, and establishes a P2P session between the receiving node and the transmitting node. Including, the receiving node, the transmitting node and the relay node are nodes constituting the blockchain network. Accordingly, it is possible to transmit data safely and quickly as well as protect personal information by using a simple authentication method without going through a complicated log-in process.

Description

데이터 전송 및 접근 제어 방법 및 이를 수행하기 위한 기록 매체 및 데이터 전송 및 접근 제어 시스템{DATA TRANSMISSION AND ACCESS CONTROL METHOD, RECORDING MEDIUM AND DATA TRANSMISSION AND ACCESS CONTROL SYSTEM FOR PERFORMING THE SAME} Data transmission and access control method, recording medium and data transmission and access control system for performing the same

본 발명은 로그인과 관련된 복잡한 프로그램 설치 및 인증 과정 없이 메신저를 통해 간편하고 안전하게 데이터를 전송할 수 있도록 하는 데이터 전송 및 접근 제어 방법 및 이를 수행하기 위한 기록 매체 및 데이터 전송 및 접근 제어 시스템에 관한 것이다.The present invention relates to a data transmission and access control method that enables simple and safe data transmission through a messenger without complicated program installation and authentication related to log-in, and a recording medium and data transmission and access control system for performing the same.

일반적으로 단말에 저장된 데이터를 다른 단말에서 접근하여 제어하기 위해서는 메일이나 드롭박스, 클라우드 저장소 등을 통해 단말에서 다른 단말로 전송해야 한다. In general, in order to access and control data stored in a terminal from another terminal, it must be transmitted from the terminal to another terminal through mail, dropbox, cloud storage, or the like.

이때 다른 단말에서 데이터를 제어하기 위해서는 로그인 과정을 필요로 하지만, 빈번한 로그인 과정은 번거롭다는 문제가 있는 것은 물론, 로그인 과정에서 기록되는 키로그는 개인정보 유출의 위험성을 높이는 요소이다. At this time, a login process is required to control data from another terminal, but frequent login process is cumbersome, and the key log recorded during the login process is a factor that increases the risk of leakage of personal information.

그리고 클라우드 저장소의 경우에는, 중앙 집중식 구조로 중앙 서버가 제대로 동작하지 못하도록 하는 공격에 취약하며, 정보의 위·변조 가능성과 정보 탈취로 인한 재전송 공격의 가능성이 항상 존재하여 혼란을 야기할 수 있다. And in the case of cloud storage, it is vulnerable to attacks that prevent the central server from operating properly due to its centralized structure, and the possibility of forgery/falsification of information and retransmission attack due to information theft is always present, which can cause confusion.

따라서 데이터를 안전하고 신속하게 전송하는 것은 물론, 복잡한 로그인 과정을 필요로 하지 않는 방안이 필요하다. Therefore, there is a need for a method that not only transmits data safely and quickly, but also does not require a complicated login process.

한국공개특허공보 제10-2003-0080318호Korean Patent Publication No. 10-2003-0080318

본 발명은 상기와 같은 문제를 해결하기 위해 안출된 것으로, 본 발명의 목적은 복잡한 로그인 과정을 거치지 않고, 간단한 본인 인증 방식을 사용하여 개인 정보를 보호하는 것은 물론, 데이터를 안전하고 신속하게 전송할 수 있는 데이터 전송 및 접근 제어 방법 및 이를 수행하기 위한 기록 매체 및 데이터 전송 및 접근 제어 시스템을 제공하는 것이다.The present invention has been made to solve the above problems, and an object of the present invention is to protect personal information by using a simple authentication method without going through a complicated login process, as well as to transmit data safely and quickly. It is to provide a data transmission and access control method, a recording medium and a data transmission and access control system for performing the same.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 블록체인 네트워크에 기반하여 데이터 전송 서비스를 제공하는 데이터 전송 및 접근 제어 시스템은, 공유 대상 데이터를 송신하는 송신 노드; 상기 공유 대상 데이터를 수신하는 수신 노드; 및 상기 수신 노드로부터 상기 공유 대상 데이터에 대한 키워드를 수신하고, 상기 키워드에 대응되는 상기 공유 대상 데이터를 제공하는 상기 송신 노드를 확인하며, 상기 수신 노드와 상기 송신 노드 간의 P2P 세션을 확립시키는 릴레이 노드를 포함하고, 상기 수신 노드, 송신 노드 및 릴레이 노드는, 상기 블록체인 네트워크를 구성하는 노드이다. A data transmission and access control system for providing a data transmission service based on a blockchain network according to an embodiment of the present invention for achieving the above object includes a transmission node for transmitting data to be shared; a receiving node receiving the sharing target data; and a relay node that receives a keyword for the sharing target data from the receiving node, checks the transmitting node that provides the sharing target data corresponding to the keyword, and establishes a P2P session between the receiving node and the transmitting node. Including, the receiving node, the transmitting node and the relay node are nodes constituting the blockchain network.

그리고 상기 송신 노드는, 상기 공유 대상 데이터와 관련된 파일 컨트랙트와 상기 송신 노드와 관련된 유저 컨트랙트를 포함하는 스마트 컨트랙트를 생성하고, 상기 파일 컨트랙트는, 상기 공유 대상 데이터의 메타데이터 및 파일 송수신 로그 정보를 포함하고, 상기 유저 컨트랙트는, 상기 송신 노드의 피어 아이디(Peer ID), 서비스 아이디 및 상기 블록체인 네트워크에 로그인하기 위한 암호화된 패스워드 정보를 포함할 수 있다.The transmission node creates a smart contract including a file contract related to the data to be shared and a user contract related to the transmission node, and the file contract includes metadata and file transmission/reception log information of the data to be shared. And, the user contract may include a peer ID of the transmitting node, a service ID, and encrypted password information for logging in to the blockchain network.

또한 상기 릴레이 노드는, 상기 키워드에 대응하는 스마트 컨트랙트를 검색하고, 상기 검색된 스마트 컨트랙트의 서비스 아이디를 상기 수신 노드 측에 전송할 수 있다. In addition, the relay node may search for a smart contract corresponding to the keyword and transmit a service ID of the searched smart contract to the receiving node.

그리고 상기 수신 노드는, 상기 검색된 스마트 컨트랙트의 서비스 아이디가 포함된 접속창을 통해 상기 데이터 전송 서비스에 익명 로그인하고, 상기 릴레이 노드는, 상기 송신 노드와 수신 노드의 피어 아이디를 확인하여 상기 송신 노드와 수신 노드 간의 상기 P2P 세션을 확립시킬 수 있다. The receiving node logs in anonymously to the data transmission service through a connection window including the service ID of the searched smart contract, and the relay node checks the peer IDs of the sending node and the receiving node to communicate with the sending node. The P2P session between receiving nodes may be established.

또한 상기 송신 노드는, 상기 P2P 세션이 확립된 수신 노드에게 대화창을 통해 상기 공유 대상 데이터를 전송하고, 상기 스마트 컨트랙트의 파일 송수신 로그 정보를 업데이트할 수 있다. In addition, the transmitting node may transmit the data to be shared through a chat window to the receiving node where the P2P session is established, and update file transmission/reception log information of the smart contract.

그리고 상기 릴레이 노드가 상기 P2P 세션을 확립시키면, 상기 P2P 세션의 확립을 공지하기 위한 알림 정보를 생성하여 상기 송신 노드 및 수신 노드 중 적어도 하나의 노드로 상기 알림 정보를 전송하는 공지 노드를 더 포함할 수 있다. and a notification node generating notification information for notifying establishment of the P2P session and transmitting the notification information to at least one of the transmission node and the reception node when the relay node establishes the P2P session. can

한편 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 블록체인 네트워크에 기반하여 데이터 전송 서비스를 제공하는 데이터 전송 및 접근 제어 시스템에서의 데이터 전송 및 접근 제어 방법은, 상기 데이터 전송 및 접근 제어 시스템은, 상기 블록체인 네트워크를 구성하는 수신 노드, 송신 노드 및 릴레이 노드를 포함하고, 상기 릴레이 노드가 상기 수신 노드로부터 공유 대상 데이터에 대한 키워드를 수신하는 단계; 상기 릴레이 노드가 상기 키워드에 대응되는 상기 공유 대상 데이터를 제공하는 송신 노드를 확인하는 단계; 상기 릴레이 노드가 상기 수신 노드와 상기 송신 노드 간의 P2P 세션을 확립시키는 단계; 상기 송신 노드가 상기 공유 대상 데이터를 송신하는 단계; 및 상기 수신 노드가 상기 공유대상 데이터를 수신하는 단계를 포함한다. On the other hand, a data transmission and access control method in a data transmission and access control system that provides a data transmission service based on a blockchain network according to an embodiment of the present invention for achieving the above object is the data transmission and access control system includes a receiving node, a transmitting node, and a relay node constituting the blockchain network, and the relay node receives a keyword for sharing target data from the receiving node; checking, by the relay node, a transmission node providing the sharing target data corresponding to the keyword; establishing, by the relay node, a P2P session between the receiving node and the transmitting node; transmitting, by the transmission node, the sharing target data; and receiving, by the reception node, the data to be shared.

그리고 상기 송신 노드가 상기 공유 대상 데이터와 관련된 파일 컨트랙트와 상기 송신 노드와 관련된 유저 컨트랙트를 포함하는 스마트 컨트랙트를 생성하는 단계를 더 포함하고, 상기 파일 컨트랙트는, 상기 공유 대상 데이터의 메타데이터 및 파일 송수신 로그 정보를 포함하고, 상기 유저 컨트랙트는, 상기 송신 노드의 피어 아이디(Peer ID), 서비스 아이디 및 상기 블록체인 네트워크에 로그인하기 위한 암호화된 패스워드 정보를 포함할 수 있다. and generating, by the sending node, a smart contract including a file contract related to the subject data to be shared and a user contract related to the sending node, wherein the file contract transmits and receives metadata and files of the subject data to be shared. log information, and the user contract may include a peer ID of the sending node, a service ID, and encrypted password information for logging in to the blockchain network.

또한 상기 송신 노드를 확인하는 단계는, 상기 릴레이 노드가 상기 키워드에 대응하는 상기 스마트 컨트랙트를 검색하는 단계; 상기 릴레이 노드가 상기 검색된 스마트 컨트랙트의 서비스 아이디를 상기 수신 노드 측에 전송하는 단계를 포함할 수 있다. In addition, the step of checking the transmission node may include: the relay node searching for the smart contract corresponding to the keyword; The relay node may transmit the service ID of the searched smart contract to the receiving node.

그리고 상기 수신 노드가 상기 검색된 스마트 컨트랙트의 서비스 아이디가 포함된 접속창을 통해 상기 데이터 전송 서비스에 익명 로그인하는 단계를 더 포함하고, 상기 P2P 세션을 확립시키는 단계에서는, 상기 송신 노드와 수신 노드의 피어 아이디를 확인하여 상기 송신 노드와 수신 노드 간의 상기 P2P 세션을 확립시킬 수 있다. The receiving node further includes anonymously logging in to the data transmission service through a connection window including the service ID of the searched smart contract, and in the step of establishing the P2P session, the peers of the transmitting node and the receiving node The P2P session between the sending node and the receiving node may be established by checking the ID.

또한 상기 송신하는 단계에서는, 상기 송신 노드가 상기 P2P 세션이 확립된 수신 노드에게 대화창을 통해 상기 공유 대상 데이터를 전송하고, 상기 스마트 컨트랙트의 파일 송수신 로그 정보를 업데이트할 수 있다. In addition, in the transmitting step, the sending node may transmit the data to be shared to the receiving node with which the P2P session is established through a chat window, and update file transmission/reception log information of the smart contract.

그리고 상기 데이터 전송 및 접근 제어 시스템은, 상기 블록체인 네트워크를 구성하는 공지 노드를 더 포함하고, 공지 노드가 상기 P2P 세션을 확립시키는 단계 이후에, 상기 P2P 세션의 확립을 공지하기 위한 알림 정보를 생성하여 상기 송신 노드 및 수신 노드 중 적어도 하나의 노드로 상기 알림 정보를 전송하는 단계를 더 포함할 수 있다. And the data transmission and access control system further includes a notification node constituting the blockchain network, and after the step of establishing the P2P session by the notification node, notification information for notifying establishment of the P2P session is generated. and transmitting the notification information to at least one of the transmission node and the reception node.

한편 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 기록 매체는, 데이터 전송 및 접근 제어 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체이다. On the other hand, a recording medium according to an embodiment of the present invention for achieving the above object is a computer-readable recording medium on which a computer program for performing a data transmission and access control method is recorded.

상술한 본 발명의 일측면에 따르면, 데이터 전송 및 접근 제어 방법 및 이를 수행하기 위한 기록 매체 및 데이터 전송 및 접근 제어 시스템을 제공함으로써, 복잡한 로그인 과정을 거치지 않고, 간단한 본인 인증 방식을 사용하여 개인 정보를 보호하는 것은 물론, 데이터를 안전하고 신속하게 전송할 수 있다.According to one aspect of the present invention described above, by providing a data transmission and access control method, a recording medium and a data transmission and access control system for performing the same, without going through a complicated log-in process, using a simple authentication method to personal information and data can be transmitted safely and quickly.

도 1은 본 발명의 일 실시예에 따른 데이터 전송 및 접근 제어 시스템의 구성을 설명하기 위한 도면,
도 2는 본 발명의 일 실시예에 따른 데이터 전송 및 접근 제어 시스템에서 제공하는 데이터 전송 서비스를 설명하기 위한 도면,
도 3은 본 발명의 일 실시예에 따른 데이터 전송 및 접근 제어 시스템에서 저장되는 정보를 설명하기 위한 도면,
도 4는 본 발명의 일 실시예에 따른 데이터 전송 및 접근 제어 시스템에서 대화창이 생성되었을 때 알림이 전송되는 과정을 설명하기 위한 도면,
도 5는 본 발명의 일 실시예에 따른 데이터 전송 및 접근 제어 시스템에서의 데이터 전송 및 접근 제어 방법을 설명하기 위한 흐름도, 그리고
도 6은 도 5의 데이터 전송 및 접근 제어 방법을 보다 구체적으로 설명하기 위한 흐름도이다.
1 is a diagram for explaining the configuration of a data transmission and access control system according to an embodiment of the present invention;
2 is a diagram for explaining a data transmission service provided by a data transmission and access control system according to an embodiment of the present invention;
3 is a diagram for explaining information stored in a data transmission and access control system according to an embodiment of the present invention;
4 is a diagram for explaining a process of transmitting a notification when a chat window is created in a data transmission and access control system according to an embodiment of the present invention;
5 is a flowchart for explaining a data transmission and access control method in a data transmission and access control system according to an embodiment of the present invention, and
6 is a flowchart for explaining the data transmission and access control method of FIG. 5 in more detail.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The detailed description of the present invention which follows refers to the accompanying drawings which illustrate, by way of illustration, specific embodiments in which the present invention may be practiced. These embodiments are described in sufficient detail to enable one skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different from each other but are not necessarily mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in another embodiment without departing from the spirit and scope of the invention in connection with one embodiment. Additionally, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the detailed description set forth below is not to be taken in a limiting sense, and the scope of the present invention, if properly described, is limited only by the appended claims, along with all equivalents as claimed by those claims. Like reference numbers in the drawings indicate the same or similar function throughout the various aspects.

본 발명에 따른 구성요소들은 물리적인 구분이 아니라 기능적인 구분에 의해서 정의되는 구성요소들로써 각각이 수행하는 기능들에 의해서 정의될 수 있다. 각각의 구성요소들은 하드웨어 또는 각각의 기능을 수행하는 프로그램 코드 및 프로세싱 유닛으로 구현될 수 있을 것이며, 두 개 이상의 구성요소의 기능이 하나의 구성요소에 포함되어 구현될 수도 있을 것이다. 따라서 이하의 실시예에서 구성요소에 부여되는 명칭은 각각의 구성요소를 물리적으로 구분하기 위한 것이 아니라 각각의 구성요소가 수행되는 대표적인 기능을 암시하기 위해서 부여된 것이며, 구성요소의 명칭에 의해서 본 발명의 기술적 사상이 한정되지 않는 것임에 유의하여야 한다.Components according to the present invention are components defined by functional division rather than physical division, and may be defined by the functions each performs. Each of the components may be implemented as hardware or program codes and processing units that perform respective functions, and the functions of two or more components may be implemented by being included in one component. Therefore, the names given to the components in the following embodiments are not to physically distinguish each component, but to imply the representative function performed by each component, and the names of the components indicate the present invention. It should be noted that the technical idea of is not limited.

이하에서는 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 데이터 전송 및 접근 제어 시스템(10)의 구성을 설명하기 위한 도면, 도 2는 본 발명의 일 실시예에 따른 데이터 전송 및 접근 제어 시스템(10)에서 제공하는 데이터 전송 서비스를 설명하기 위한 도면, 도 3은 본 발명의 일 실시예에 따른 데이터 전송 및 접근 제어 시스템(10)에서 저장되는 정보를 설명하기 위한 도면, 그리고 도 4는 본 발명의 일 실시예에 따른 데이터 전송 및 접근 제어 시스템(10)에서 대화창이 생성되었을 때 알림이 전송되는 과정을 설명하기 위한 도면이다. 1 is a diagram for explaining the configuration of a data transmission and access control system 10 according to an embodiment of the present invention, Figure 2 is provided by the data transmission and access control system 10 according to an embodiment of the present invention A diagram for explaining a data transmission service, Figure 3 is a diagram for explaining information stored in the data transmission and access control system 10 according to an embodiment of the present invention, and Figure 4 is an embodiment of the present invention It is a diagram for explaining a process of transmitting a notification when a chat window is created in the data transmission and access control system 10 according to.

본 실시예에 따른 데이터 전송 및 접근 제어 시스템(10, 이하 시스템)은 키로그를 기록하는 로그인 과정 없이 익명 로그인을 통해 개인정보를 보호함과 동시에 노드들 간에 필요한 데이터를 안전하고 신속하게 송수신하기 위해 마련된다. The data transmission and access control system (10, hereinafter referred to as the system) according to this embodiment is prepared to safely and quickly transmit and receive necessary data between nodes while protecting personal information through anonymous login without a login process of recording a key log. do.

그리고 본 실시예에 따른 시스템(10)은 블록체인 네트워크(Blockchain Network)(BN)에 기반하여 데이터 전송 서비스를 제공할 수 있다. In addition, the system 10 according to this embodiment may provide a data transmission service based on a blockchain network (BN).

이를 위해 시스템(10)은 송신 노드(100), 수신 노드(200) 및 릴레이 노드(300)를 포함하여 마련될 수 있다. 그리고 송신 노드(100), 수신 노드(200) 및 릴레이 노드(300)는 데이터 전송 및 접근 제어 방법을 수행하기 위한 소프트웨어(어플리케이션)가(이) 설치되어 실행될 수 있다.To this end, the system 10 may include a transmission node 100, a reception node 200, and a relay node 300. In addition, the transmitting node 100, the receiving node 200, and the relay node 300 may have software (application) installed and executed to perform data transmission and access control methods.

또한 시스템(10)을 구성하는 송신 노드(100), 수신 노드(200) 및 릴레이 노드(300)는 블록체인 네트워크(BN)를 구성할 수 있다. 블록체인 네트워크(BN)는 P2P(peer to peer) 네트워크를 통해서 관리되는 분산데이터베이스의 한 형태이다.In addition, the transmission node 100, the reception node 200, and the relay node 300 constituting the system 10 may constitute a blockchain network (BN). A blockchain network (BN) is a form of distributed database managed through a peer to peer (P2P) network.

블록체인은 거래 정보를 담은 장부를 중앙 서버 한 곳에 저장하는 것이 아니라 연결된 여러 컴퓨터에 저장 및 보관하는 블록체인 기술을 기반으로 스마트 컨트랙트(Smart Contract), 전자투표 등 다양한 어플리케이션을 투명하게 운영할 수 있게 확장성을 제공할 수 있다.Blockchain enables transparent operation of various applications such as smart contracts and electronic voting based on blockchain technology that stores and stores ledgers containing transaction information in multiple connected computers rather than in one central server. extensibility can be provided.

그리고 블록체인을 구성하는 노드들은 동일한 사본을 저장하며, 한 번 기록되고 나면 데이터의 변조 및 위조가 불가능하다는 특징이 있어 정보 신뢰성, 투명성, 추적성 등의 이점이 있다. 본 발명의 시스템(10)에서의 블록체인 네트워크(BN)는 분산 어플리케이션 기능을 구현하기 위한 분산 컴퓨팅 플랫폼으로 마련될 수 있다. In addition, the nodes constituting the blockchain store identical copies, and once recorded, data cannot be tampered with or forged, so there are advantages such as information reliability, transparency, and traceability. The blockchain network (BN) in the system 10 of the present invention may be provided as a distributed computing platform for implementing distributed application functions.

송신 노드(100), 수신 노드(200) 및 릴레이 노드(300)는 사용자가 소지한 단말이다. 이러한 단말의 예로는 데스크탑, 태블릿, 스마트폰, 스마트 워치, 노트북 등일 수 있으며, 디바이스(device), 기구(apparatus), 단말(terminal), UE(user equipment), MS(mobile station), 무선기기(wireless device), 휴대기기(handheld device) 등 다른 용어로 불릴 수도 있다.The transmitting node 100, the receiving node 200, and the relay node 300 are terminals possessed by the user. Examples of such terminals may include desktops, tablets, smart phones, smart watches, notebooks, and the like, devices, apparatuses, terminals, user equipment (UE), mobile stations (MS), and wireless devices ( It may also be called other terms such as wireless device) and handheld device.

그리고 시스템(10)에서 제공하는 데이터 전송 서비스는 익명 로그인 및 메신저 기반의 데이터 전송 서비스일 수 있다. Also, the data transmission service provided by the system 10 may be an anonymous login and messenger-based data transmission service.

송신 노드(100)는 공유 대상 데이터가 로컬 저장소에 저장된 노드이거나 공유 대상 데이터가 저장된 클라우드와 연동된 노드일 수 있다. The transmission node 100 may be a node in which data to be shared is stored in a local storage or a node linked to a cloud in which data to be shared is stored.

또한 송신 노드(100)의 로컬 저장소에는 파일 데이터(File Data) 및 로그인 데이터(Login Data)가 저장될 수 있다. In addition, file data and login data may be stored in the local storage of the transmitting node 100 .

상술한 바와 같이 데이터 전송 서비스인 메신저 서비스는 앱 또는 웹 형태로 제공될 수 있는데, 파일 데이터(File data) 및 로그인 데이터(Login data)는 메신저 서비스가 앱 형태인 경우에는 송신 노드(100)의 단말 내부 저장소에 저장될 수 있다. As described above, the messenger service, which is a data transmission service, may be provided in the form of an app or web. File data and login data are the terminal of the transmission node 100 when the messenger service is in the form of an app. Can be stored in internal storage.

만약 메신저 서비스가 웹 형태인 경우에는 로컬 웹 스토리지에 저장될 수 있다. If the messenger service is in the form of a web, it may be stored in a local web storage.

파일 데이터(File Data)에는 파일 이름(File name), 파일 크기(File size), 파일 유형(File type) 및 파일과 관련된 기타 정보(Etc info)가 포함될 수 있다. The file data may include a file name, file size, file type, and other information related to the file (etc. info).

로그인 데이터(Login Data)에는 예컨대 클라우드 서비스와 연동하여 생성된 세션(Session) 또는 토큰(Token), 서비스 아이디(Service ID) 및 암호화된 비밀번호(Encrypted Password) 등이 저장될 수 있다. In the login data, for example, a session or token generated in conjunction with a cloud service, a service ID, and an encrypted password may be stored.

이러한 송신 노드(100)는 공유 대상 데이터와 관련된 스마트 컨트랙트(SC)를 생성할 수 있다. Such a transmitting node 100 may create a smart contract (SC) related to data to be shared.

스마트 컨트랙트(SC)는 공유 대상 데이터와 관련된 파일 컨트랙트(File Contract)(FC)와 송신 노드(100)와 관련된 유저 컨트랙트(User Contract)(UC)를 포함할 수 있다. The smart contract (SC) may include a file contract (FC) related to data to be shared and a user contract (UC) related to the transmission node 100.

구체적으로, 파일 컨트랙트(FC)는, 도 3에 도시된 바와 같이 공유 대상 데이터의 메타데이터(File Info) 및 파일 송수신 로그 정보(File Send/Receive Info)를 포함할 수 있다. Specifically, as shown in FIG. 3, the file contract (FC) may include metadata (File Info) and file transmission/reception log information (File Send/Receive Info) of data to be shared.

유저 컨트랙트(UC)는, 송신 노드(100)의 피어 아이디(Peer ID), 서비스 아이디(Service ID) 및 블록체인 네트워크에 로그인하기 위한 암호화된 패스워드 정보(Encrypted Password)를 포함할 수 있다. The user contract (UC) may include a peer ID of the transmission node 100, a service ID, and encrypted password information for logging in to the blockchain network.

또한 유저 컨트랙트(UC)에 저장되는 송신 노드(100)의 피어 아이디(Peer ID), 서비스 아이디(Service ID) 및 블록체인 네트워크(BN)에 로그인하기 위한 암호화된 패스워드 정보(Encrypted Password)는 서로 매칭된 상태로 저장될 수 있다. In addition, the peer ID, service ID, and encrypted password information for logging in to the blockchain network (BN) of the sending node 100 stored in the user contract (UC) match each other. can be stored as is.

여기서 피어 아이디(Peer ID)는 블록체인 네트워크(BN)의 계정(account) 정보에 대응되는 아이디로써 블록체인 네트워크(BN) 상의 노드를 식별하기 위한 정보일 수 있다. 그리고 피어 아이디(Peer ID)는 도 2 내지 도 4에 도시된 바와 같이 16 진수로 마련될 수 있다. Here, the peer ID is an ID corresponding to account information of the blockchain network (BN) and may be information for identifying a node on the blockchain network (BN). Also, the peer ID may be prepared in hexadecimal as shown in FIGS. 2 to 4 .

그리고 서비스 아이디(Service ID)는 데이터 전송 서비스를 제공하기 위한 아이디로써, 메신저에 따라 달라질 수 있으며 서비스 내 노드별로 제공되되 서로 중복되지 않는 아이디일 수 있다. Also, a service ID is an ID for providing a data transmission service, and may vary depending on a messenger, and may be IDs provided for each node within a service but not overlapping with each other.

송신 노드(100)는 릴레이 노드(300)를 통해 P2P 세션이 확립되면, 대화창을 통해 공유 대상 데이터를 수신 노드(200)측으로 송신할 수 있다.When the P2P session is established through the relay node 300, the transmitting node 100 may transmit data to be shared to the receiving node 200 through a chat window.

즉 송신 노드(100)는, P2P 세션이 확립된 수신 노드(200)에게 대화창을 통해 공유 대상 데이터를 전송할 수 있다. That is, the transmitting node 100 may transmit data to be shared through a chat window to the receiving node 200 with which the P2P session is established.

또한 송신 노드(100)가 대화창을 통해 공유 대상 데이터를 송신하는 경우 송신 노드(100)의 로컬 저장소에 저장된 공유 대상 데이터는 물론, 송신 노드(100)가 메신저 서비스와 클라우드 저장소를 제공하는 클라우드 서비스의 계정을 연동시키면, 송신 노드(100)는 해당 클라우드 저장소에 접근하여 공유 대상 파일을 업로드하거나 가져올 수도 있다. In addition, when the transmitting node 100 transmits data to be shared through a chat window, the target data to be shared stored in the local storage of the transmitting node 100 as well as cloud services for which the transmitting node 100 provides a messenger service and cloud storage When the account is interlocked, the transmission node 100 may access the corresponding cloud storage and upload or import a file to be shared.

그리고 송신 노드(100)는 스마트 컨트랙트(SC)의 파일 송수신 로그 정보(File send/Receive Info)를 업데이트할 수 있다. In addition, the transmission node 100 may update file send/receive log information (File send/receive Info) of the smart contract (SC).

또한 송신 노드(100)는 공유 대상 파일의 제공을 요청받는 경우, 후술할 수신 노드(200)의 익명 로그인 방식과 동일한 방식으로 데이터 전송 서비스에 익명 로그인할 수 있다. In addition, when receiving a request for providing a file to be shared, the transmission node 100 may log in anonymously to the data transmission service in the same manner as the anonymous login method of the reception node 200 to be described later.

한편 수신 노드(200)는 공유 대상 데이터를 수신하는 노드로써, 수신하고자 하는 공유 대상 데이터에 대한 키워드를 릴레이 노드(300)측으로 전달할 수 있다. Meanwhile, the reception node 200 is a node that receives target data to be shared, and may transmit keywords for target data to be received to the relay node 300.

그리고 수신 노드(200)는, 검색된 스마트 컨트랙트(SC)의 서비스 아이디가 포함된 접속창을 통해 데이터 전송 서비스에 익명 로그인할 수 있다. In addition, the receiving node 200 may log in anonymously to the data transmission service through the connection window including the service ID of the searched smart contract (SC).

익명 로그인을 위한 접속창에는 도 2에서와 같이 QR 코드 또는 송신 노드(100)의 서비스 아이디(Service ID)가 제공될 수 있다. As shown in FIG. 2 , a QR code or a service ID of the transmission node 100 may be provided to the connection window for anonymous login.

따라서 수신 노드(200)는 QR 코드를 스캔하거나, 웹 또는 앱 형태로 제공된 메신저에 공유 대상 데이터를 소유한 송신 노드(100)의 서비스 아이디(Service ID)를 입력할 수 있다. Accordingly, the receiving node 200 may scan the QR code or input the service ID of the transmitting node 100 that owns the data to be shared in a messenger provided in the form of a web or app.

이후 수신 노드(200)는 송신 노드(100)의 피어 아이디(Peer ID)를 반환받고, 릴레이 노드(300)를 통해 P2P 세션이 확립되면 송신 노드(100)로부터 공유 대상 데이터를 수신할 수 있는 대화창이 생성될 수 있다. Thereafter, the receiving node 200 receives the peer ID of the transmitting node 100, and when a P2P session is established through the relay node 300, a chat window through which data to be shared can be received from the transmitting node 100. this can be created.

그리고 수신 노드(200)는 대화창을 통해 공유 대상 데이터의 다운로드 링크 또는 데이터를 수신받아 수신 노드(200)의 단말에 저장할 수 있다. In addition, the receiving node 200 may receive the download link or data of the data to be shared through the chat window and store them in the terminal of the receiving node 200 .

한편 릴레이 노드(300)는 수신 노드(200)로부터 공유 대상 데이터에 대한 키워드를 수신할 수 있다.Meanwhile, the relay node 300 may receive a keyword for sharing target data from the reception node 200 .

그리고 릴레이 노드(300)는 키워드에 대응되는 공유 대상 데이터를 제공하는 송신 노드(100)를 블록체인 네트워크(BN) 상에서 확인할 수 있다. Also, the relay node 300 may check the transmission node 100 that provides sharing target data corresponding to the keyword on the blockchain network BN.

이를 위해 릴레이 노드(300)는 블록체인 네트워크(BN)에 저장된 스마트 컨트랙트(SC) 중에서 키워드에 대응하는 스마트 컨트랙트(SC)를 검색할 수 있다. To this end, the relay node 300 may search for a smart contract (SC) corresponding to the keyword among the smart contracts (SC) stored in the blockchain network (BN).

그리고 릴레이 노드(300)는 검색된 스마트 컨트랙트(SC)의 서비스 아이디를 수신 노드(200) 측으로 전송할 수 있다. 따라서 릴레이 노드(300)가 전송하는 서비스 아이디(Service ID)를 포함하는 접속창을 웹 또는 앱을 통해 수신 노드(200)는 제공받고, 접속창을 통해 익명 로그인이 가능할 수 있다. In addition, the relay node 300 may transmit the service ID of the searched smart contract (SC) to the receiving node 200. Accordingly, the receiving node 200 may receive an access window including a service ID transmitted by the relay node 300 through a web or app, and may log in anonymously through the access window.

그리고 릴레이 노드(300)는 키워드를 입력한 수신 노드(200)와 공유 대상 데이터를 제공하는 송신 노드(100) 간의 P2P 세션을 확립시킬 수 있다. Also, the relay node 300 may establish a P2P session between the receiving node 200 inputting the keyword and the transmitting node 100 providing the data to be shared.

구체적으로 릴레이 노드(300)는 송신 노드(100)와 수신 노드(200)의 피어 아이디를 확인하여 송신 노드(100)와 수신 노드(200) 간의 P2P 세션을 확립시킬 수 있다. In detail, the relay node 300 can establish a P2P session between the sending node 100 and the receiving node 200 by checking the peer IDs of the sending node 100 and the receiving node 200 .

릴레이 노드(300)를 통해 P2P 세션이 확립되면 송신 노드(100)와 수신 노드(200) 간에 공유 대상 데이터를 송수신할 수 있는 대화창이 생성되며, 송신 노드(100)와 수신 노드(200)는 생성된 대화창 내에서 공유 대상 데이터를 공유할 수 있다. When a P2P session is established through the relay node 300, a dialog window for transmitting and receiving data to be shared is created between the transmission node 100 and the reception node 200, and the transmission node 100 and the reception node 200 generate You can share the data to be shared within the chat window.

이러한 릴레이 노드(300)는 블록체인 네트워크(BN) 내의 노드 중에서 임의로 선택된 노드일 수 있다. This relay node 300 may be a node randomly selected from among nodes in the blockchain network (BN).

그리고 릴레이 노드(300)는 송신 노드(100) 및 수신 노드(200)인 각 사용자의 피어 아이디(Peer ID) 및 IP 주소를 매칭시켜 저장할 수 있다. In addition, the relay node 300 may match and store peer IDs and IP addresses of the transmitting node 100 and the receiving node 200, respectively.

그리고 송신 노드(100)와 수신 노드(200) 간에 직접 데이터를 전송할 수 없을 경우, 릴레이 노드(300)는 송신 노드(100)로부터 수신 노드(200)로의 공유 대상 데이터 전송을 요청받을 수 있다. 그리고 릴레이 노드(300)가 송신 노드(100)로부터 수신한 공유 대상 데이터를 릴레이하여 수신 노드(200)로 전송할 수도 있다. In addition, when data cannot be directly transmitted between the transmission node 100 and the reception node 200, the relay node 300 may receive a request for transmission of data to be shared from the transmission node 100 to the reception node 200. In addition, the relay node 300 may relay the sharing target data received from the transmission node 100 and transmit it to the reception node 200 .

익명 로그인을 통해 생성된 대화창에서의 데이터 보존 유무는 송신 노드(100) 또는 수신 노드(200)의 선택사항일 수 있으며, 데이터 전송은 생성된 대화창에 참여하는 모든 노드에서 가능할 수 있다. Whether to preserve data in the chat window created through anonymous login may be an option of the transmitting node 100 or the receiving node 200, and data transmission may be possible from all nodes participating in the created chat window.

따라서 본 발명의 일 실시예에 따른 시스템(10)은 복잡한 로그인 과정을 거치지 않고도, 간단한 본인 인증 방식을 사용하여 개인 정보를 보호하는 것은 물론, 데이터를 안전하고 신속하게 전송할 수 있다.Therefore, the system 10 according to an embodiment of the present invention can transmit data safely and quickly as well as protect personal information by using a simple authentication method without going through a complicated log-in process.

본 발명의 일 실시예에 따른 시스템(10)은 공지 노드(400)를 더 포함하여 마련될 수 있다. The system 10 according to an embodiment of the present invention may be provided by further including a notifying node 400 .

공지 노드(400)는 릴레이 노드(300)가 P2P 세션을 확립시키면, P2P 세션의 확립을 공지하기 위한 알림 정보를 생성할 수 있다. When the relay node 300 establishes the P2P session, the notification node 400 may generate notification information for notifying establishment of the P2P session.

그리고 공지 노드(400)는 송신 노드(100) 및 수신 노드(200) 중 적어도 하나의 노드로 알림 정보를 전송할 수 있다. Also, the notification node 400 may transmit notification information to at least one of the transmission node 100 and the reception node 200 .

도 4는 릴레이 노드(300)를 통해 P2P 세션이 확립되면 공지 노드(400)가 블록체인 네트워크(BN)와 이벤트 핸들러(event handler) 엔진을 통해 알림 정보를 전송하는 과정의 일례이다.4 is an example of a process in which the notification node 400 transmits notification information through a blockchain network (BN) and an event handler engine when a P2P session is established through the relay node 300.

구체적으로 도 4는 수신 노드(200)인 B가 생성한 대화창에 익명으로 송신 노드(100)인 A가 입장한 경우를 예시적 사항으로 도시한 도면으로, 대화창에 입장한 송신 노드(100) A가 이벤트 로그를 발생시키면 공지 노드(400)는 이벤트 발생을 감지할 수 있다. Specifically, FIG. 4 is a diagram showing, as an example, a case where A, the sending node 100, anonymously enters a chat window created by B, the receiving node 200, and the sending node 100 A entered the chat window. When an event log is generated, the notification node 400 may detect the occurrence of an event.

도 4에서는 수신 노드(200)가 생성한 대화창에 송신 노드(100)가 입장하는 경우 송신 노드(100)에서 이벤트 로그를 생성하는 것으로 설명하였으나, 이는 설명의 편의를 위한 예시적 사항에 불과할 뿐 꼭 이에 한정되는 것은 아니다. In FIG. 4, it has been described that the sending node 100 generates an event log when the sending node 100 enters the chat window created by the receiving node 200, but this is only an example for convenience of explanation and must be It is not limited to this.

예컨대 어느 하나의 수신 노드(200, 예를 들어 B 노드)가 생성한 대화창에 송신 노드(100, 예를 들어 A 노드)가 입장한 이후 적어도 하나 이상의 다른 수신 노드(200, 예를 들어 C 노드)가 대화창에 추가 입장하여 그룹을 형성한 경우, 추가 입장한 수신 노드(200)인 C 노드가 이벤트 로그를 생성할 수도 있다. 이 경우 공지 노드(400)는 대화창에 입장해있는 송신 노드(100)인 A 노드 및 수신 노드(200)인 B 노드 모두에게 알림 정보를 전송할 수 있다. For example, after the sending node (100, for example node A) enters a chat window created by any one receiving node (200, for example node B), at least one other receiving node (200, for example node C) In the case where a group is formed by additionally entering the chat window, node C, which is the additionally entering receiving node 200, may create an event log. In this case, the notification node 400 may transmit notification information to both node A, which is the transmitting node 100, and node B, which is the receiving node 200, both entering the chat window.

그리고 본 발명의 시스템(10)에서 블록체인 네트워크(BN)를 구성하는 모든 노드들은 이벤트 핸들러 엔진을 구동할 수 있다. And all nodes constituting the blockchain network (BN) in the system 10 of the present invention can drive the event handler engine.

예를 들어 파일을 송신하는 이벤트가 발생한 경우, 파일 송신 이벤트가 블록체인(BN)에 저장되면 블록체인(BN) 내에 포함된 모든 노드는 자신의 이벤트 핸들러를 통해 해당 이벤트를 감지할 수 있다. 따라서 모든 노드 중 공지 노드(400)가 해당 이벤트를 감지하게 되면, 이를 알림 정보로써 전송할 수 있게 되는 것이다. For example, when an event of transmitting a file occurs and the file transmission event is stored in the blockchain BN, all nodes included in the blockchain BN can detect the event through their own event handlers. Therefore, when the notification node 400 among all nodes detects the corresponding event, it can be transmitted as notification information.

그리고 이벤트 핸들러(event handler) 엔진은 블록체인 네트워크(BN) 내에서 공지 노드(400)를 선정하고, 선정된 노드가 로컬로 알림을 서비스하도록 하는 것이다. And the event handler engine selects the notification node 400 within the blockchain network (BN), and allows the selected node to provide notification service locally.

이러한 공지 노드(400)는 릴레이 노드(300)가 공지 노드(400)로 선정되거나 블록체인 네트워크(BN)를 구성하는 노드들 중 릴레이 노드(300)와는 다른 노드가 공지 노드(400)로 선정될 수도 있다.In this notifying node 400, the relay node 300 is selected as the notifying node 400 or a node different from the relay node 300 among the nodes constituting the blockchain network (BN) is selected as the notifying node 400. may be

그리고 알림 정보에는 알림 내용 및 해당 알림 내용을 수신할 노드인 수신자와 발신한 노드인 발신자를 식별하기 위한 ID를 포함할 수 있다. 여기서의 ID는 서비스 ID(Service ID) 및 피어 아이디(Peer ID) 중 적어도 하나를 포함할 수 있다. Further, the notification information may include notification content and an ID for identifying a receiver, which is a node to receive the notification content, and a sender, which is a node that sends the notification content. Here, the ID may include at least one of a service ID and a peer ID.

공지 노드(400)는 도 4와 같이 유저 데이터베이스(User DB)에 유저의 기기 토큰(userDeviceToken)을 사전에 저장할 수 있으며, 알림 정보를 수신할 수신자 노드의 기기 토큰을 통해 알림 정보를 전송할 수 있다. The notification node 400 may store a user device token (userDeviceToken) in advance in a user database (User DB) as shown in FIG. 4, and transmit notification information through a device token of a receiver node to receive notification information.

또한 공지 노드(400)는 서버로 마련되어 모바일 기기와 같은 각 노드(100, 200)로 알림 정보를 전송할 수 있다. In addition, the notification node 400 is provided as a server and can transmit notification information to each node 100 or 200 such as a mobile device.

도 5는 본 발명의 일 실시예에 따른 데이터 전송 및 접근 제어 시스템에서의 데이터 전송 및 접근 제어 방법을 설명하기 위한 흐름도이고 도 6은 도 5의 데이터 전송 및 접근 제어 방법을 보다 구체적으로 설명하기 위한 흐름도로써, 본 발명의 일 실시예에 따른 데이터 전송 및 접근 제어 방법은 도 1에 도시된 데이터 전송 및 접근 제어 시스템(10)과 실질적으로 동일한 구성 상에서 진행되므로, 도 1의 데이터 전송 및 접근 제어 시스템(10)과 동일한 구성요소에 대해 동일한 도면 부호를 부여하고, 반복되는 설명은 생략하기로 한다. 5 is a flowchart for explaining a data transmission and access control method in a data transmission and access control system according to an embodiment of the present invention, and FIG. 6 is a flowchart for explaining the data transmission and access control method of FIG. 5 in more detail. As a flowchart, since the data transmission and access control method according to an embodiment of the present invention proceeds on substantially the same configuration as the data transmission and access control system 10 shown in FIG. 1, the data transmission and access control system of FIG. The same reference numerals are given to the same components as (10), and repeated descriptions will be omitted.

본 발명의 데이터 전송 및 접근 제어 방법은, 키워드를 수신하는 단계(S110), 송신 노드를 확인하는 단계(S130), P2P 세션을 확립시키는 단계(S150), 공유 대상 데이터를 송신하는 단계(S170) 및 공유 대상 데이터를 수신하는 단계(S190)를 포함할 수 있다. The data transmission and access control method of the present invention includes the steps of receiving a keyword (S110), identifying a transmission node (S130), establishing a P2P session (S150), and transmitting data to be shared (S170). and receiving sharing target data (S190).

키워드를 수신하는 단계(S110)는 릴레이 노드(300)가 수신 노드(200)로부터 공유 대상 데이터에 대한 키워드를 수신하는 단계일 수 있다. Receiving a keyword (S110) may be a step in which the relay node 300 receives a keyword for sharing target data from the reception node 200.

송신 노드를 확인하는 단계(S130)는 릴레이 노드(300)가 키워드에 대응되는 공유 대상 데이터를 제공하는 송신 노드(100)를 확인하는 단계일 수 있다. The step of checking the transmitting node (S130) may be a step in which the relay node 300 checks the transmitting node 100 that provides sharing target data corresponding to the keyword.

P2P 세션을 확립시키는 단계(S150)는 릴레이 노드(300)가 수신 노드(200)와 송신 노드(100) 간의 P2P 세션을 확립시키는 단계일 수 있다. Establishing the P2P session (S150) may be a step in which the relay node 300 establishes a P2P session between the receiving node 200 and the transmitting node 100.

공유 대상 데이터를 송신하는 단계(S170)는 송신 노드(100)가 공유 대상 데이터를 대화창을 통해 수신 노드(200)측으로 송신하는 단계일 수 있다. The step of transmitting the data to be shared ( S170 ) may be a step in which the transmission node 100 transmits the data to be shared to the receiving node 200 through a chat window.

공유 대상 데이터를 수신하는 단계(S190)는 수신 노드(200)가 공유 대상 데이터를 대화창을 통해 수신하는 단계일 수 있다. Receiving the data to be shared (S190) may be a step in which the reception node 200 receives the data to be shared through a chat window.

이하에서는 도 6을 참고하여 데이터 전송 및 접근 제어 방법을 보다 구체적으로 설명하기로 한다. Hereinafter, a data transmission and access control method will be described in more detail with reference to FIG. 6 .

먼저 릴레이 노드(300)가 수신 노드(200)로부터 공유 대상 데이터에 대한 키워드를 수신할 수 있다(S215). First, the relay node 300 may receive a keyword for data to be shared from the receiving node 200 (S215).

또한 키워드를 수신하는 단계(S215) 이전에 송신 노드(100)가, 공유 대상 데이터와 관련된 파일 컨트랙트(FC)와 송신 노드(100)와 관련된 유저 컨트랙트(UC)를 포함하는 스마트 컨트랙트(SC)를 생성할 수 있다(S210). In addition, before the step of receiving the keyword (S215), the transmission node 100 creates a smart contract (SC) including a file contract (FC) related to the data to be shared and a user contract (UC) related to the transmission node 100. It can be created (S210).

이때 파일 컨트랙트(FC)는, 공유 대상 데이터의 메타데이터(File info.) 및 파일 송수신 로그 정보(File send/Receive Info)를 포함할 수 있다. At this time, the file contract (FC) may include metadata (File info.) and file transmission/reception log information (File send/Receive Info) of data to be shared.

그리고 유저 컨트랙트(UC)는, 송신 노드(100)의 피어 아이디(Peer ID), 서비스 아이디(Service ID) 및 블록체인 네트워크(BN)에 로그인하기 위한 암호화된 패스워드 정보(Encrypted password)를 포함할 수 있다. And the user contract (UC) may include the Peer ID of the sending node 100, the Service ID, and encrypted password information for logging in to the blockchain network (BN). there is.

이후 릴레이 노드(300)가 키워드에 대응하는 스마트 컨트랙트(SC)를 검색할 수 있다(S220). Thereafter, the relay node 300 may search for a smart contract (SC) corresponding to the keyword (S220).

그리고 릴레이 노드(300)가 검색된 스마트 컨트랙트(SC)에 포함된 송신 노드(100)의 서비스 아이디(Service ID)를 수신 노드(200) 측에 전송할 수 있다(S225). Further, the relay node 300 may transmit the service ID of the sending node 100 included in the searched smart contract (SC) to the receiving node 200 (S225).

이후 릴레이 노드(300)가 수신 노드(200)와 송신 노드(100) 간의 P2P 세션을 확립시킬 수 있다(S240). Thereafter, the relay node 300 may establish a P2P session between the receiving node 200 and the transmitting node 100 (S240).

그리고 수신 노드(200)가, 검색된 스마트 컨트랙트(SC)의 서비스 아이디(Service ID)가 포함된 접속창을 통해 데이터 전송 서비스에 익명 로그인할 수 있다(S230).In addition, the receiving node 200 may log in anonymously to the data transmission service through the connection window including the service ID of the searched smart contract (SC) (S230).

이후 릴레이 노드(300)가 송신 노드(100)와 수신 노드(200)의 피어 아이디(Peer ID)를 확인할 수 있다(S235). Thereafter, the relay node 300 may check peer IDs of the transmitting node 100 and the receiving node 200 (S235).

그리고 나서 릴레이 노드(300)가 송신 노드(100)와 수신 노드(200) 간의 P2P 세션을 확립시킬 수 있다(S240). Then, the relay node 300 may establish a P2P session between the transmitting node 100 and the receiving node 200 (S240).

이후 송신 노드(100)가 공유 대상 데이터를 수신 노드(200)로 전송할 수 있다(S250). Thereafter, the transmitting node 100 may transmit the data to be shared to the receiving node 200 (S250).

공유 대상 데이터를 전송하는 단계(S250)에서는, 송신 노드(100)가 P2P 세션이 확립된 수신 노드(200)에게 대화창을 통해 공유 대상 데이터를 전송할 수 있다. In the step of transmitting the data to be shared ( S250 ), the transmission node 100 may transmit the data to be shared to the reception node 200 to which the P2P session is established through a chat window.

또한 공유 대상 데이터를 전송하는 단계(S250)에서는 스마트 컨트랙트(SC)의 파일 송수신 로그 정보(File send/Receive Info)를 업데이트할 수 있다(S255). In addition, in the step of transmitting the data to be shared (S250), the file send/receive log information (File send/receive Info) of the smart contract (SC) can be updated (S255).

그리고 수신 노드(200)가 공유 대상 데이터를 수신할 수 있다. Also, the receiving node 200 may receive data to be shared.

또한 본 발명의 데이터 전송 및 접근 제어 시스템(10)은 블록체인 네트워크를 구성하는 공지 노드(400)를 더 포함할 수 있다. In addition, the data transmission and access control system 10 of the present invention may further include a known node 400 constituting a blockchain network.

시스템(10)이 공지 노드(400)를 더 포함하는 경우, 데이터 전송 및 접근 제어 방법은 공지 노드(400)가 P2P 세션을 확립시키는 단계(S240) 이후에, P2P 세션의 확립을 공지하기 위한 알림 정보를 생성하여 송신 노드(100) 및 수신 노드(200) 중 적어도 하나의 노드로 알림 정보를 전송하는 단계(S245)를 더 포함할 수 있다. If the system 10 further includes the announcing node 400, the data transmission and access control method is a notification for announcing the establishment of the P2P session after the announcing node 400 establishes the P2P session (S240). Generating information and transmitting notification information to at least one of the transmission node 100 and the reception node 200 (S245) may be further included.

이와 같은 본 발명의 데이터 전송 및 접근 제어 방법은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. The data transmission and access control method of the present invention can be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.

상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. Program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in the art of computer software.

컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.

프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes such as those produced by a compiler. The hardware device may be configured to act as one or more software modules to perform processing according to the present invention and vice versa.

이상에서는 본 발명의 다양한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.Although various embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and is commonly used in the technical field to which the present invention pertains without departing from the gist of the present invention claimed in the claims. Of course, various modifications are possible by those with knowledge of, and these modifications should not be individually understood from the technical spirit or prospect of the present invention.

10 : 데이터 전송 및 접근 제어 시스템 100 : 송신 노드
200 : 수신 노드 300 : 릴레이 노드
400 : 공지 노드 BN : 블록체인 네트워크
SC : 스마트 컨트랙트 FC : 파일 컨트랙트
UC : 유저 컨트랙트
10: data transmission and access control system 100: transmission node
200: receiving node 300: relay node
400: Announcement Node BN: Blockchain Network
SC: Smart Contract FC: File Contract
UC: User Contract

Claims (13)

블록체인 네트워크에 기반하여 데이터 전송 서비스를 제공하는 데이터 전송 및 접근 제어 시스템에 있어서,
공유 대상 데이터를 송신하는 송신 노드;
상기 공유 대상 데이터를 수신하는 수신 노드; 및
상기 수신 노드로부터 상기 공유 대상 데이터에 대한 키워드를 수신하고, 상기 키워드에 대응되는 상기 공유 대상 데이터를 제공하는 상기 송신 노드를 확인하며, 상기 수신 노드와 상기 송신 노드 간의 P2P 세션을 확립시키는 릴레이 노드를 포함하고,
상기 수신 노드, 송신 노드 및 릴레이 노드는, 상기 블록체인 네트워크를 구성하는 노드인 것을 특징으로 하는, 데이터 전송 및 접근 제어 시스템.
In a data transmission and access control system that provides data transmission service based on a blockchain network,
a transmission node that transmits data to be shared;
a receiving node receiving the sharing target data; and
A relay node that receives a keyword for the sharing target data from the receiving node, checks the transmitting node that provides the sharing target data corresponding to the keyword, and establishes a P2P session between the receiving node and the transmitting node. include,
The receiving node, the transmitting node, and the relay node are nodes constituting the blockchain network, characterized in that, data transmission and access control system.
제1항에 있어서,
상기 송신 노드는,
상기 공유 대상 데이터와 관련된 파일 컨트랙트와 상기 송신 노드와 관련된 유저 컨트랙트를 포함하는 스마트 컨트랙트를 생성하고,
상기 파일 컨트랙트는,
상기 공유 대상 데이터의 메타데이터 및 파일 송수신 로그 정보를 포함하고,
상기 유저 컨트랙트는,
상기 송신 노드의 피어 아이디(Peer ID), 서비스 아이디 및 상기 블록체인 네트워크에 로그인하기 위한 암호화된 패스워드 정보를 포함하는 것을 특징으로 하는, 데이터 전송 및 접근 제어 시스템.
According to claim 1,
The sending node,
Create a smart contract including a file contract related to the data to be shared and a user contract related to the transmission node;
The file contract,
Including metadata and file transmission/reception log information of the sharing target data,
The user contract,
A data transmission and access control system, characterized in that it includes a peer ID of the sending node, a service ID, and encrypted password information for logging in to the blockchain network.
제2항에 있어서,
상기 릴레이 노드는,
상기 키워드에 대응하는 스마트 컨트랙트를 검색하고, 상기 검색된 스마트 컨트랙트의 서비스 아이디를 상기 수신 노드 측에 전송하는 것을 특징으로 하는, 데이터 전송 및 접근 제어 시스템.
According to claim 2,
The relay node,
A data transmission and access control system, characterized by searching for a smart contract corresponding to the keyword and transmitting the service ID of the searched smart contract to the receiving node.
제3항에 있어서,
상기 수신 노드는,
상기 검색된 스마트 컨트랙트의 서비스 아이디가 포함된 접속창을 통해 상기 데이터 전송 서비스에 익명 로그인하고,
상기 릴레이 노드는,
상기 송신 노드와 수신 노드의 피어 아이디를 확인하여 상기 송신 노드와 수신 노드 간의 상기 P2P 세션을 확립시키는 것을 특징으로 하는, 데이터 전송 및 접근 제어 시스템.
According to claim 3,
The receiving node,
Log in anonymously to the data transmission service through the access window containing the service ID of the searched smart contract;
The relay node,
Characterized in that the P2P session between the sending node and the receiving node is established by checking the peer IDs of the sending node and the receiving node.
제4항에 있어서,
상기 송신 노드는,
상기 P2P 세션이 확립된 수신 노드에게 대화창을 통해 상기 공유 대상 데이터를 전송하고, 상기 스마트 컨트랙트의 파일 송수신 로그 정보를 업데이트하는 것을 특징으로 하는, 데이터 전송 및 접근 제어 시스템.
According to claim 4,
The sending node,
A data transmission and access control system, characterized in that for transmitting the data to be shared through a chat window to the receiving node where the P2P session is established, and updating file transmission and reception log information of the smart contract.
제1항에 있어서,
상기 릴레이 노드가 상기 P2P 세션을 확립시키면, 상기 P2P 세션의 확립을 공지하기 위한 알림 정보를 생성하여 상기 송신 노드 및 수신 노드 중 적어도 하나의 노드로 상기 알림 정보를 전송하는 공지 노드를 더 포함하는 것을 특징으로 하는, 데이터 전송 및 접근 제어 시스템.
According to claim 1,
When the relay node establishes the P2P session, further comprising a notifying node generating notification information for notifying establishment of the P2P session and transmitting the notification information to at least one of the transmitting node and the receiving node. characterized, data transmission and access control systems.
블록체인 네트워크에 기반하여 데이터 전송 서비스를 제공하는 데이터 전송 및 접근 제어 시스템에서의 데이터 전송 및 접근 제어 방법으로서,
상기 데이터 전송 및 접근 제어 시스템은,
상기 블록체인 네트워크를 구성하는 수신 노드, 송신 노드 및 릴레이 노드를 포함하고,
상기 릴레이 노드가 상기 수신 노드로부터 공유 대상 데이터에 대한 키워드를 수신하는 단계;
상기 릴레이 노드가 상기 키워드에 대응되는 상기 공유 대상 데이터를 제공하는 송신 노드를 확인하는 단계;
상기 릴레이 노드가 상기 수신 노드와 상기 송신 노드 간의 P2P 세션을 확립시키는 단계;
상기 송신 노드가 상기 공유 대상 데이터를 송신하는 단계; 및
상기 수신 노드가 상기 공유 대상 데이터를 수신하는 단계를 포함하는, 데이터 전송 및 접근 제어 방법.
A data transmission and access control method in a data transmission and access control system that provides data transmission service based on a blockchain network,
The data transmission and access control system,
Including a receiving node, a transmitting node and a relay node constituting the blockchain network,
receiving, by the relay node, a keyword for data to be shared from the receiving node;
checking, by the relay node, a transmission node providing the sharing target data corresponding to the keyword;
establishing, by the relay node, a P2P session between the receiving node and the transmitting node;
transmitting, by the transmission node, the sharing target data; and
A data transmission and access control method comprising the step of receiving the sharing target data by the receiving node.
제7항에 있어서,
상기 송신 노드가 상기 공유 대상 데이터와 관련된 파일 컨트랙트와 상기 송신 노드와 관련된 유저 컨트랙트를 포함하는 스마트 컨트랙트를 생성하는 단계를 더 포함하고,
상기 파일 컨트랙트는,
상기 공유 대상 데이터의 메타데이터 및 파일 송수신 로그 정보를 포함하고,
상기 유저 컨트랙트는,
상기 송신 노드의 피어 아이디(Peer ID), 서비스 아이디 및 상기 블록체인 네트워크에 로그인하기 위한 암호화된 패스워드 정보를 포함하는 것을 특징으로 하는, 데이터 전송 및 접근 제어 방법.
According to claim 7,
Generating, by the transmission node, a smart contract including a file contract related to the data to be shared and a user contract related to the transmission node;
The file contract,
Including metadata and file transmission/reception log information of the sharing target data,
The user contract,
Data transmission and access control method, characterized in that it includes a peer ID of the sending node, a service ID, and encrypted password information for logging in to the blockchain network.
제8항에 있어서,
상기 송신 노드를 확인하는 단계는,
상기 릴레이 노드가 상기 키워드에 대응하는 상기 스마트 컨트랙트를 검색하는 단계;
상기 릴레이 노드가 상기 검색된 스마트 컨트랙트의 서비스 아이디를 상기 수신 노드 측에 전송하는 단계를 포함하는 것을 특징으로 하는, 데이터 전송 및 접근 제어 방법.
According to claim 8,
The step of identifying the sending node,
the relay node searching for the smart contract corresponding to the keyword;
Data transmission and access control method comprising the step of the relay node transmitting the service ID of the searched smart contract to the receiving node.
제9항에 있어서,
상기 수신 노드가 상기 검색된 스마트 컨트랙트의 서비스 아이디가 포함된 접속창을 통해 상기 데이터 전송 서비스에 익명 로그인하는 단계를 더 포함하고,
상기 P2P 세션을 확립시키는 단계에서는,
상기 송신 노드와 수신 노드의 피어 아이디를 확인하여 상기 송신 노드와 수신 노드 간의 상기 P2P 세션을 확립시키는 것을 특징으로 하는, 데이터 전송 및 접근 제어 방법.
According to claim 9,
The receiving node further comprises anonymously logging in to the data transmission service through a connection window including the service ID of the searched smart contract;
In the step of establishing the P2P session,
characterized in that the P2P session between the transmitting node and the receiving node is established by checking the peer IDs of the transmitting node and the receiving node.
제10항에 있어서,
상기 송신하는 단계에서는,
상기 송신 노드가 상기 P2P 세션이 확립된 수신 노드에게 대화창을 통해 상기 공유 대상 데이터를 전송하고, 상기 스마트 컨트랙트의 파일 송수신 로그 정보를 업데이트하는 것을 특징으로 하는, 데이터 전송 및 접근 제어 방법.
According to claim 10,
In the sending step,
Characterized in that the transmitting node transmits the sharing target data to the receiving node with which the P2P session is established through a chat window, and updates file transmission/reception log information of the smart contract.
제7항에 있어서,
상기 데이터 전송 및 접근 제어 시스템은,
상기 블록체인 네트워크를 구성하는 공지 노드를 더 포함하고,
공지 노드가 상기 P2P 세션을 확립시키는 단계 이후에, 상기 P2P 세션의 확립을 공지하기 위한 알림 정보를 생성하여 상기 송신 노드 및 수신 노드 중 적어도 하나의 노드로 상기 알림 정보를 전송하는 단계를 더 포함하는 것을 특징으로 하는, 데이터 전송 및 접근 제어 방법.
According to claim 7,
The data transmission and access control system,
Further comprising a notice node constituting the blockchain network,
Further comprising, after the announcing node establishing the P2P session, generating notification information for notifying establishment of the P2P session and transmitting the notification information to at least one of the transmitting node and the receiving node. Characterized in that, data transmission and access control method.
제7항에 따른 데이터 전송 및 접근 제어 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.A computer-readable recording medium on which a computer program for performing the data transmission and access control method according to claim 7 is recorded.
KR1020220134050A 2021-10-19 2022-10-18 Data transmission and access control method, recording medium and data transmission and access control system for performing the same KR20230055984A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210139249 2021-10-19
KR1020210139249 2021-10-19

Publications (1)

Publication Number Publication Date
KR20230055984A true KR20230055984A (en) 2023-04-26

Family

ID=86099270

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220134050A KR20230055984A (en) 2021-10-19 2022-10-18 Data transmission and access control method, recording medium and data transmission and access control system for performing the same

Country Status (1)

Country Link
KR (1) KR20230055984A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030080318A (en) 2002-04-08 2003-10-17 엘지전자 주식회사 data transmission system in mobile communication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030080318A (en) 2002-04-08 2003-10-17 엘지전자 주식회사 data transmission system in mobile communication system

Similar Documents

Publication Publication Date Title
US11323464B2 (en) Artifact modification and associated abuse detection
US10887330B2 (en) Data surveillance for privileged assets based on threat streams
US10594487B2 (en) Password management and verification with a blockchain
CN100361452C (en) Method and device for server denial of service shield
CN100474851C (en) Safety foundation structure of coordinate network name analytical agreement (PNRP) and method thereof
US10652748B2 (en) Method, system and application programmable interface within a mobile device for indicating a confidence level of the integrity of sources of information
US8756697B2 (en) Systems and methods for determining vulnerability to session stealing
JP4405248B2 (en) Communication relay device, communication relay method, and program
CN102480490B (en) Method for preventing CSRF attack and equipment thereof
US8220032B2 (en) Methods, devices, and computer program products for discovering authentication servers and establishing trust relationships therewith
US8312073B2 (en) CAPTCHA-free throttling
CN111191283B (en) Beidou positioning information security encryption method and device based on alliance block chain
EP3128459A1 (en) System and method of utilizing a dedicated computer security service
AU2013272076B2 (en) Method and devices for managing user accounts across multiple electronic devices
US8365267B2 (en) Single use web based passwords for network login
CN105407074A (en) Authentication method, apparatus and system
US8291481B2 (en) Sessionless redirection in terminal services
CN106302337A (en) leak detection method and device
US20190199711A1 (en) System and method for secure online authentication
CN103179106A (en) Network security using false positive responses to unauthorized access requests
CN104092647A (en) Network access method, system and client
US20230020504A1 (en) Localized machine learning of user behaviors in network operating system for enhanced secure services in secure data network
CN110958119A (en) Identity verification method and device
US20080021904A1 (en) Authenticating a site while protecting against security holes by handling common web server configurations
US11625368B1 (en) Data migration framework