KR102631080B1 - Docker image authentication apparatus and method using homomoriphic encryption - Google Patents

Docker image authentication apparatus and method using homomoriphic encryption Download PDF

Info

Publication number
KR102631080B1
KR102631080B1 KR1020210127945A KR20210127945A KR102631080B1 KR 102631080 B1 KR102631080 B1 KR 102631080B1 KR 1020210127945 A KR1020210127945 A KR 1020210127945A KR 20210127945 A KR20210127945 A KR 20210127945A KR 102631080 B1 KR102631080 B1 KR 102631080B1
Authority
KR
South Korea
Prior art keywords
encryption
docker
image
personal information
homomorphic encryption
Prior art date
Application number
KR1020210127945A
Other languages
Korean (ko)
Other versions
KR20230045279A (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 KR1020210127945A priority Critical patent/KR102631080B1/en
Publication of KR20230045279A publication Critical patent/KR20230045279A/en
Application granted granted Critical
Publication of KR102631080B1 publication Critical patent/KR102631080B1/en

Links

Classifications

    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • 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

본 발명은 동형 암호화(Homomorphic encryption)를 사용한 도커 이미지 인증 장치 및 방법에 관한 것으로, 상기 장치는 도커 이미지 파일에 대한 메타데이터를 제1 암호함수로 암호화하여 암호화 메타데이터를 생성하는 도커 암호화 처리부; 사용자 개인정보를 상기 제1 암호함수로 암호화하여 암호화 사용자 정보를 생성하는 사용자 개인정보 암호화 처리부; 상기 암호화 메타데이터와 상기 암호화 사용자 개인정보 각각을 동형암호화 하여 동형암호화 메타데이터 및 동형암호화 사용자 개인정보를 생성하는 동형 암호화 처리부; 및 상기 동형암호화 메타데이터 및 상기 동형암호화 사용자 개인정보를 논리 연산하여 이미지 블록체인 식별코드(image BCID)를 생성하는 블록체인 처리부를 포함한다.The present invention relates to a Docker image authentication device and method using homomorphic encryption, the device comprising: a Docker encryption processor that generates encrypted metadata by encrypting metadata for a Docker image file with a first encryption function; a user personal information encryption processing unit that encrypts user personal information using the first encryption function to generate encrypted user information; a homomorphic encryption processing unit that homomorphically encrypts each of the encryption metadata and the encryption user personal information to generate homomorphic encryption metadata and homomorphic encryption user personal information; and a blockchain processing unit that generates an image blockchain identification code (image BCID) by performing a logical operation on the homomorphically encrypted metadata and the homomorphically encrypted user personal information.

Description

동형 암호화를 사용한 도커 이미지 인증 장치 및 방법{DOCKER IMAGE AUTHENTICATION APPARATUS AND METHOD USING HOMOMORIPHIC ENCRYPTION}Docker image authentication device and method using homomorphic encryption {DOCKER IMAGE AUTHENTICATION APPARATUS AND METHOD USING HOMOMORIPHIC ENCRYPTION}

본 발명은 도커 이미지 인증 기술에 관한 것으로, 보다 상세하게는 동형 암호화(Homomorphic encryption)을 통해 안전한 도커 이미지 공유를 위한 인증 및 메타데이터에 대한 접근 제어를 제공할 수 있는 동형 암호화를 사용한 도커 이미지 인증 장치 및 방법에 관한 것이다.The present invention relates to Docker image authentication technology, and more specifically, to a Docker image authentication device using homomorphic encryption that can provide authentication for safe Docker image sharing and access control to metadata through homomorphic encryption. and methods.

도커(Docker)는 운영체제 수준에서 가상화를 통해 현재 사용자가 실행중인 환경에 상관없이 새로운 환경을 올려주어서 소프트웨어가 실행하는데 필수적인 코드, 런타임, 시스템 도구, 라이브러리 등을 제공해주어서 실행될 수 있게 해주는 소프트웨어로써 사용된다. 도커는 가벼운 용량 그리고 서비스를 올리는데 컨테이너를 빠르게 생성하여서 사용자로 하여금 빠르게 자신의 서비스를 올릴 수 있고 하나의 운영체제에서 마치 가상머신을 올린 것처럼 다양한 운영체제를 사용할 수 있는 다양한 장점이 있다.Docker is used as software that allows the software to run by providing the code, runtime, system tools, libraries, etc. essential for running the software by uploading a new environment regardless of the environment the user is currently running through virtualization at the operating system level. . Docker has various advantages such as light capacity and quick creation of containers for uploading services, allowing users to quickly upload their services and using various operating systems as if they were installing a virtual machine on one operating system.

도커에서는 서비스 운영에 필요한 프로그램 소스코드 및 라이브러리 등을 하나로 합쳐 놓은 것을 도커 이미지라고 한다. 도커 이미지는 도커의 서비스를 실행하는데 가장 기본이 되고 중요한 부분 중 하나라고 할 수 있다. 이러한 도커 이미지는 사용자가 수정할 수 없고 오로지 읽어오는 부분인 베이스 이미지 레이어와 그 위에 사용자가 사용하는 패키지들을 추가한 레이어로 구분된다. 도커 이미지는 주로 도커 허브라는 도커 이미지 공유 사이트를 통해서 많은 공유가 이루어지고 있다.In Docker, a Docker image is a collection of program source code and libraries necessary for service operation. Docker images can be said to be one of the most basic and important parts of running Docker services. These Docker images are divided into a base image layer, which cannot be modified by the user and is only read, and a layer on top of which the packages used by the user are added. Docker images are mainly shared through a Docker image sharing site called Docker Hub.

하지만, 이러한 도커 이미지는 보안 공격에 취약하다는 문제가 있다. 이에, 도커의 사용이 증가함에 따라서 도커 이미지의 보안을 개선하기 위한 많은 연구들이 이루어지고 있다. 대표적으로, 도커에서 도커 이미지에 서명을 지원해주는 Notary 서비스, 블록체인에 해당 도커 서명 정보를 저장하여서 서명에 대한 보안을 제공해주는 연구, 도커 이미지에 존재하는 패키지를 조사하여서 해당 정보를 블록체인에 등록하는 연구, 도커 이미지의 상속 관계를 따져서 해당 패키지들의 취약점을 제공하는 연구, 컨테이너의 접근 제어를 커널 부분에서 제한하는 연구 등의 관련 연구들이 진행되어 왔다. 이러한 연구들에서는 도커 이미지를 안전하게 공유하는 방안에 대해서는 제공해주고 있지 않다.However, these Docker images have the problem of being vulnerable to security attacks. Accordingly, as the use of Docker increases, much research is being conducted to improve the security of Docker images. Representative examples include the Notary service that supports signing Docker images in Docker, research that provides security for signatures by storing relevant Docker signature information in the blockchain, and research on packages existing in Docker images and registering the information in the blockchain. Related research has been conducted, such as research to provide vulnerabilities in relevant packages by considering the inheritance relationship of Docker images, and research to limit container access control in the kernel. These studies do not provide ways to safely share Docker images.

한국등록특허 제10-2276885(2021.07.07)호Korean Patent No. 10-2276885 (2021.07.07)

본 발명의 일 실시예는 동형 암호화(Homomorphic encryption)을 통해 안전한 도커 이미지 공유를 위한 인증 및 메타데이터에 대한 접근 제어를 제공할 수 있는 동형 암호화를 사용한 도커 이미지 인증 장치 및 방법을 제공하고자 한다.An embodiment of the present invention seeks to provide a Docker image authentication device and method using homomorphic encryption that can provide authentication for safe Docker image sharing and access control to metadata through homomorphic encryption.

본 발명의 일 실시예는 암호화한 데이터를 연산할 수 있는 동형 암호화 특성을 이용하여 이미지 블록체인 식별코드(Image BCID)를 생성하고 이를 통해 허용된 사용자에게만 도커 이미지를 제공할 수 있게 하는 동형 암호화를 사용한 도커 이미지 인증 장치 및 방법을 제공하고자 한다.One embodiment of the present invention generates an image blockchain identification code (Image BCID) using homomorphic encryption characteristics that can operate on encrypted data, and uses homomorphic encryption to provide Docker images only to authorized users. We would like to provide a used Docker image authentication device and method.

실시예들 중에서, 동형 암호화(Homomorphic encryption)를 사용한 도커 이미지 인증 방법은 도커 이미지 파일에 대한 메타데이터를 제1 암호함수로 암호화하여 암호화 메타데이터를 생성하는 도커 암호화 처리부, 사용자 개인정보를 상기 제1 암호함수로 암호화하여 암호화 사용자 정보를 생성하는 사용자 개인정보 암호화 처리부, 상기 암호화 메타데이터와 상기 암호화 사용자 개인정보 각각을 동형암호화 하여 동형암호화 메타데이터 및 동형암호화 사용자 개인정보를 생성하는 동형 암호화 처리부, 및 상기 동형암호화 메타데이터 및 상기 동형암호화 사용자 개인정보를 논리 연산하여 이미지 블록체인 식별코드(image BCID)를 생성하는 블록체인 처리부를 포함한다.Among embodiments, the Docker image authentication method using homomorphic encryption includes a Docker encryption processor that generates encryption metadata by encrypting metadata about the Docker image file with a first encryption function, and user personal information with the first encryption function. A user personal information encryption processing unit that generates encrypted user information by encrypting it with an encryption function, a homomorphic encryption processing unit that homomorphically encrypts each of the encryption metadata and the encryption user personal information to generate homomorphic encryption metadata and homomorphic encryption user personal information, and It includes a blockchain processing unit that generates an image blockchain identification code (image BCID) by performing a logical operation on the homomorphic encryption metadata and the homomorphic encryption user personal information.

상기 도커 암호화 처리부는 상기 제1 암호함수를 해시 함수로 구현하고 상기 도커 이미지 파일의 IPFS(InterPlanetary File System) 해시 값을 상기 메타데이터로 처리할 수 있다.The Docker encryption processing unit may implement the first encryption function as a hash function and process the IPFS (InterPlanetary File System) hash value of the Docker image file as the metadata.

상기 도커 암호화 처리부는 상기 해시 함수를 Fowler-Noll-Vo (FNV) 해시 함수로 구현할 수 있다.The Docker encryption processing unit may implement the hash function as a Fowler-Noll-Vo (FNV) hash function.

상기 동형 암호화 처리부는 CVE (Common Vulnerabilities and Exposures) 리스트의 IPFS 해시 값(이하, CVE 해시 값) 및 암호키 해시 값을 입력받고 상기 도커 이미지 파일의 IPFS 해시 값 및 상기 사용자 개인정보의 사용자 개인정보 해시 값을 수신하여, 각각의 동형암호화 데이터를 생성할 수 있다.The homomorphic encryption processing unit receives the IPFS hash value (hereinafter, the CVE hash value) and the encryption key hash value of the Common Vulnerabilities and Exposures (CVE) list, and receives the IPFS hash value of the Docker image file and the user personal information hash of the user personal information. By receiving the value, each homomorphic encryption data can be generated.

상기 동형 암호화 처리부는 상기 각각의 동형 암호화 데이터에 대하여 RSA 비대칭 암호화를 수행할 수 있다.The homomorphic encryption processing unit may perform RSA asymmetric encryption on each of the homomorphic encryption data.

상기 블록체인 처리부는 상기 동형암호화 메타데이터 및 상기 동형암호화 사용자 개인정보를 합산하여 상기 이미지 블록체인 식별코드를 생성할 수 있다.The blockchain processing unit may generate the image blockchain identification code by adding the homomorphic encryption metadata and the homomorphic encryption user personal information.

상기 블록체인 처리부는 상기 이미지 블록체인 식별코드(image BCID)를 블록체인에 등록할 수 있다.The blockchain processing unit may register the image blockchain identification code (image BCID) in the blockchain.

실시예들 중에서, 동형 암호화(Homomorphic encryption)를 사용한 도커 이미지 인증 장치는 특정 사용자가 특정 도커 이미지 파일의 접근 가능 여부를 요청하면 상기 특정 사용자 개인정보와 특정 메타데이터를 기초로 생성된 특정 이미지 블록체인 식별코드가 블록체인에 등록되어 있는지 여부를 결정하여 접근 권한 검증을 수행하는 도커 이미지 인증부를 더 포함할 수 있다.Among embodiments, a Docker image authentication device using homomorphic encryption uses a specific image blockchain created based on the specific user's personal information and specific metadata when a specific user requests access to a specific Docker image file. It may further include a Docker image authentication unit that determines whether the identification code is registered in the blockchain and performs access authority verification.

상기 도커 이미지 인증부는 상기 특정 도커 이미지 파일의 접근이 거절되면 상기 특정 사용자 개인정보를 관리 단말에 제공하고 상기 특정 사용자의 행동 이력을 분석할 수 있다.If access to the specific Docker image file is denied, the Docker image authentication unit may provide the specific user's personal information to the management terminal and analyze the behavior history of the specific user.

실시예들 중에서, 동형 암호화(Homomorphic encryption)를 사용한 도커 이미지 인증 방법은 도커 이미지 파일에 대한 메타데이터를 제1 암호함수로 암호화하여 암호화 메타데이터를 생성하는 도커 암호화 처리단계, 사용자 개인정보를 상기 제1 암호함수로 암호화하여 암호화 사용자 정보를 생성하는 사용자 개인정보 암호화 처리단계, 상기 암호화 메타데이터와 상기 암호화 사용자 개인정보 각각을 동형암호화 하여 동형암호화 메타데이터 및 동형암호화 사용자 개인정보를 생성하는 동형 암호화 처리단계, 및 상기 동형암호화 메타데이터 및 상기 동형암호화 사용자 개인정보를 논리 연산하여 이미지 블록체인 식별코드(image BCID)를 생성하는 블록체인 처리단계를 포함한다.Among embodiments, the Docker image authentication method using homomorphic encryption includes a Docker encryption processing step of encrypting metadata for a Docker image file with a first encryption function to generate encryption metadata, and user personal information 1 Encryption processing step of user personal information to generate encrypted user information by encrypting with an encryption function; homomorphic encryption processing to generate homomorphic encryption metadata and homomorphic encryption user personal information by homomorphically encrypting each of the encryption metadata and the encryption user personal information. and a blockchain processing step of generating an image blockchain identification code (image BCID) by performing a logical operation on the homomorphically encrypted metadata and the homomorphically encrypted user personal information.

개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology can have the following effects. However, since it does not mean that a specific embodiment must include all of the following effects or only the following effects, the scope of rights of the disclosed technology should not be understood as being limited thereby.

본 발명의 일 실시예에 따른 동형 암호화를 사용한 도커 이미지 인증 장치 및 방법은 동형 암호화(Homomorphic encryption)을 통해 안전한 도커 이미지 공유를 위한 인증 및 메타데이터에 대한 접근 제어를 제공할 수 있다.The Docker image authentication device and method using homomorphic encryption according to an embodiment of the present invention can provide authentication for safe Docker image sharing and access control to metadata through homomorphic encryption.

본 발명의 일 실시예에 따른 동형 암호화를 사용한 도커 이미지 인증 장치 및 방법은 암호화한 데이터를 연산할 수 있는 동형 암호화 특성을 이용하여 이미지 블록체인 식별코드(Image BCID)를 생성하고 이를 통해 허용된 사용자에게만 도커 이미지를 제공할 수 있다.The Docker image authentication device and method using homomorphic encryption according to an embodiment of the present invention generates an image blockchain identification code (Image BCID) using homomorphic encryption characteristics that can operate on encrypted data, and allows users to Docker images can only be provided to.

도 1은 본 발명의 일 실시예에 따른 동형 암호화를 사용한 도커 이미지 인증 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 도커 이미지 인증 장치를 나타내는 블록도이다.
도 3은 도 2에 있는 블록체인 처리부에 의해 생성되는 이미지 블록체인 식별코드(Image BCID)의 구성을 나타내는 도면이다.
도 4는 도 2에 있는 도커 이미지 인증 장치에 의하여 수행되는 동형 암호화를 사용한 도커 이미지 인증 방법을 설명하는 흐름도이다.
도 5는 일 실시예에 따른 동형 암호화를 사용한 도커 이미지 인증 장치의 도커 이미지 업로드 과정을 나타내는 도면이다.
도 6은 일 실시예에 따른 동형 암호화를 사용한 도커 이미지 인증 장치의 도커 이미지 공유 과정을 나타내는 도면이다.
도 7은 일 실시예에 따른 동형 암호화를 사용한 도커 이미지 인증 장치의 도커 이미지 다운로드 과정을 나타내는 도면이다.
Figure 1 is a diagram illustrating a Docker image authentication system using homomorphic encryption according to an embodiment of the present invention.
FIG. 2 is a block diagram showing the Docker image authentication device in FIG. 1.
FIG. 3 is a diagram showing the configuration of an image blockchain identification code (Image BCID) generated by the blockchain processing unit in FIG. 2.
FIG. 4 is a flowchart illustrating a Docker image authentication method using homomorphic encryption performed by the Docker image authentication device in FIG. 2.
Figure 5 is a diagram showing the Docker image upload process of the Docker image authentication device using homomorphic encryption according to an embodiment.
Figure 6 is a diagram showing the Docker image sharing process of the Docker image authentication device using homomorphic encryption according to an embodiment.
Figure 7 is a diagram showing a Docker image download process of a Docker image authentication device using homomorphic encryption according to an embodiment.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Since the description of the present invention is only an example for structural or functional explanation, the scope of the present invention should not be construed as limited by the examples described in the text. In other words, since the embodiments can be modified in various ways and can have various forms, the scope of rights of the present invention should be understood to include equivalents that can realize the technical idea. In addition, the purpose or effect presented in the present invention does not mean that a specific embodiment must include all or only such effects, so the scope of the present invention should not be understood as limited thereby.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in this application should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as “first” and “second” are used to distinguish one component from another component, and the scope of rights should not be limited by these terms. For example, a first component may be named a second component, and similarly, the second component may also be named a first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” to another component, it should be understood that it may be directly connected to the other component, but that other components may exist in between. On the other hand, when a component is referred to as being “directly connected” to another component, it should be understood that there are no other components in between. Meanwhile, other expressions that describe the relationship between components, such as "between" and "immediately between" or "neighboring" and "directly neighboring" should be interpreted similarly.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions should be understood to include plural expressions unless the context clearly indicates otherwise, and terms such as “comprise” or “have” refer to implemented features, numbers, steps, operations, components, parts, or them. It is intended to specify the existence of a combination, and should be understood as not excluding in advance the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.For each step, identification codes (e.g., a, b, c, etc.) are used for convenience of explanation. The identification codes do not explain the order of each step, and each step clearly follows a specific order in context. Unless specified, events may occur differently from the specified order. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the opposite order.

본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be implemented as computer-readable code on a computer-readable recording medium, and the computer-readable recording medium includes all types of recording devices that store data that can be read by a computer system. . Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. Additionally, the computer-readable recording medium can be distributed across computer systems connected to a network, so that computer-readable code can be stored and executed in a distributed manner.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein, unless otherwise defined, have the same meaning as commonly understood by a person of ordinary skill in the field to which the present invention pertains. Terms defined in commonly used dictionaries should be interpreted as consistent with the meaning they have in the context of the related technology, and cannot be interpreted as having an ideal or excessively formal meaning unless clearly defined in the present application.

도 1은 본 발명의 일 실시예에 따른 동형 암호화를 사용한 도커 이미지 인증 시스템을 설명하는 도면이다.Figure 1 is a diagram illustrating a Docker image authentication system using homomorphic encryption according to an embodiment of the present invention.

도 1을 참조하면, 동형 암호화를 사용한 도커 이미지 인증 시스템(100)은 도커 이미지 인증 장치(110), 도커 엔진(130), 도커 허브(150), IPFS(170) 및 이더리움 블록체인(190)을 포함할 수 있다.Referring to Figure 1, the Docker image authentication system 100 using homomorphic encryption includes a Docker image authentication device 110, a Docker engine 130, a Docker hub 150, an IPFS 170, and an Ethereum blockchain 190. may include.

도커 이미지 인증 장치(110)는 도커 이미지에 대해서 동형 암호화 인증을 통해 해당 도커 이미지에 허가 받은 사용자만이 접근해서 해당 데이터를 안전하게 공유해줄 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 일 실시예에서, 도커 이미지 인증 장치(110)는 도커 클라이언트(Docker Client)에 포함하여 구현될 수 있다. 이에 한정되지 않고, 도커 이미지 인증 장치(110)는 도커 엔진(Docker Engine)(130)에 포함하여 구현될 수 있다. 도커 엔진(130)에 본 발명에 따른 도커 이미지 인증 장치(110)를 포함하여 구현할 경우, 비교적 사이즈가 큰 도커 이미지를 도커 클라이언트로 복사할 필요가 없이 도커 이미지가 존재하는 도커 엔진(130)에서 모든 처리를 할 수 있다. The Docker image authentication device 110 can be implemented as a server corresponding to a computer or program that allows only authorized users to access the Docker image and safely share the data through homomorphic encryption authentication for the Docker image. In one embodiment, the Docker image authentication device 110 may be implemented by including a Docker client. Without being limited to this, the Docker image authentication device 110 may be implemented by including the Docker Engine (Docker Engine) 130. When implemented by including the Docker image authentication device 110 according to the present invention in the Docker engine 130, all files can be authenticated in the Docker engine 130 where the Docker image exists without the need to copy a relatively large Docker image to the Docker client. It can be processed.

도커 이미지 인증 장치(110)는 UI를 통한 사용자의 요청에 따라서 도커 이미지 업로드, 공유 및 다운로드를 안전하게 수행하도록 동형 암호화를 사용하여 도커 이미지에 대한 인증 및 접근제어를 제공한다. 여기에서, 사용자는 도커 소유자와 도커 이미지를 공유받는 도커 공유자를 포함할 수 있다. The Docker image authentication device 110 provides authentication and access control for Docker images using homomorphic encryption to safely upload, share, and download Docker images according to user requests through the UI. Here, users may include Docker owners and Docker sharers who share Docker images.

도커 엔진(Docker Engine)(130)은 도커 이미지를 업로드 및 컨테이너를 관리한다.Docker Engine 130 uploads Docker images and manages containers.

도커 허브(Docker Hub)(150)는 도커 이미지들을 저장한다.Docker Hub 150 stores Docker images.

IPFS(InterPlanetary File System)(170)는 도커 이미지와 CVE(Common Vulnerabilities and Exposures) 리스트를 분산 저장하고 이 과정에서 여러 노드와 연결되어서 실행된다. IPFS(170)는 노드들에 사용자가 요청하는 파일을 저장한다. 도커 이미지의 특성상 그 크기가 크기 때문에 도커 이미지를 블록체인에 저장하는 데는 한계가 있다. IPFS(170)는 데이터를 따로 효율적으로 저장하기 위해 파일을 분할한 다음 해당 IPFS 네트워크에 참여하는 노드에 분산 저장하고, 이러한 파일의 내용을 기반으로 사용자에게 IPFS 해시(hash)를 돌려주어 IPFS 해시를 통해서 네트워크에 분산되어 있는 파일을 다시 찾아올 수 있게 한다. 여기에서, CVE는 공개적으로 알려진 컴퓨터 보안 결함 목록을 의미한다. CVE 리스트는 도커 스캔을 통해서 추출해낼 수 있다. 즉, 도커 스캔(Docker Scan)은 사용자들이 도커 허브(150)에서 불러오는 이미지 혹은 사용자가 만든 도커 이미지에 대해서 스캔을 제공하여 도커 이미지의 레이어 마다 가지고 있는 패키지에 대해서 확인한 다음 해당 패키지의 보안 결함에 대해서 보고된 적이 있는지 NVD 데이터베이스에서 확인하고, 이 과정에서 CVE 목록에 대조해 보고 보고된 사실이 있는 것들은 다시 사용자에게 돌려준다. IPFS (InterPlanetary File System) 170 distributes and stores Docker images and a list of Common Vulnerabilities and Exposures (CVEs) and, in this process, is connected to and runs on multiple nodes. IPFS 170 stores files requested by users in nodes. Due to the nature of Docker images, their size is large, so there are limits to storing Docker images on the blockchain. In order to efficiently store data separately, the IPFS (170) divides files and stores them distributedly in nodes participating in the IPFS network, and returns IPFS hashes to the user based on the contents of these files. It allows you to retrieve files distributed across the network. Here, CVE refers to a list of publicly known computer security flaws. The CVE list can be extracted through Docker scan. In other words, Docker Scan provides scans for images loaded by users from the Docker hub 150 or Docker images created by users, checks the packages each layer of the Docker image has, and then checks for security flaws in the packages. The NVD database is checked to see if any reports have been made, and in this process, they are checked against the CVE list and those that have been reported are returned to the user.

이더리움 블록체인(190)은 스마트 컨트랙트(Smart Contract)를 통해 도커 이미지에 대한 접근제어를 위한 데이터를 등록 및 호출한다. 이더리움(Ethereum)은 탈중앙화 앱을 만들기 위한 퍼블릭 블록체인으로, 다른 블록체인과 구분되는 특징은 스마트 컨트랙트이다. 스마트 컨트랙트는 사전에 수행해야 하는 과정에 대해서 정의해 두고 해당 계약에 요청이 오게 되면 해당 스마트 컨트랙트에 적혀져 있는 데로 해당 내용을 수행하게 된다. 이 과정에서 장점은 제3자의 중개자가 없이 해당 계약 내용대로 요청자가 계약에 요구하는 것을 충족하면 요청자가 원하는 데이터를 반환해서 돌려주게 되고 이러한 요구를 충족하지 못하면 해당 계약을 중지시키게 된다. 이더리움 블록체인(190)은 암호화된 도커 이미지와 CVE 리스트를 IPFS(170)에서 불러오기 위한 해시 값, 암호화된 값들을 다시 복호화하기 위한 대칭키 값들이 암호화되어 저장될 수 있다. The Ethereum blockchain 190 registers and calls data for access control to Docker images through a smart contract. Ethereum is a public blockchain for creating decentralized apps, and its distinguishing feature from other blockchains is smart contracts. A smart contract defines the process that must be performed in advance, and when a request is made to the contract, the content is performed as written in the smart contract. The advantage of this process is that, without a third party intermediary, if the requester meets the requirements of the contract according to the contract, the data desired by the requester is returned and returned, and if these demands are not met, the contract is stopped. The Ethereum blockchain 190 can encrypt and store hash values for loading the encrypted Docker image and CVE list from IPFS 170, and symmetric key values for decrypting the encrypted values.

도 2는 도 1에 있는 도커 이미지 인증 장치를 나타내는 블록도이다.FIG. 2 is a block diagram showing the Docker image authentication device in FIG. 1.

도 2를 참조하면, 도커 이미지 인증 장치(110)는 도커 암호화 처리부(210), 사용자 개인정보 암호화 처리부(220), 동형 암호화 처리부(230), 블록체인 처리부(240), 도커 이미지 인증부(250) 및 제어부(260)를 포함할 수 있다.Referring to FIG. 2, the Docker image authentication device 110 includes a Docker encryption processing unit 210, a user personal information encryption processing unit 220, a homomorphic encryption processing unit 230, a blockchain processing unit 240, and a Docker image authentication unit 250. ) and a control unit 260.

도커 암호화 처리부(210)는 도커 이미지 파일에 대한 메타데이터를 제1 암호함수로 암호화하여 암호화 메타데이터를 생성할 수 있다. 일 실시예에서, 도커 암호화 처리부(210)는 제1 암호함수를 해시 함수로 구현하고 도커 이미지 파일의 IPFS(InterPlanetary File System) 해시 값을 메타데이터로 처리할 수 있다. 여기에서, 도커 암호화 처리부(210)는 해시 함수를 Fowler-Noll_Vo (FNV) 해시 함수로 구현할 수 있다. The Docker encryption processing unit 210 may generate encryption metadata by encrypting metadata about the Docker image file using a first encryption function. In one embodiment, the Docker encryption processing unit 210 may implement the first encryption function as a hash function and process the IPFS (InterPlanetary File System) hash value of the Docker image file as metadata. Here, the Docker encryption processing unit 210 may implement the hash function as a Fowler-Noll_Vo (FNV) hash function.

도커 소유자가 도커 이미지를 업로드시, 도커 이미지 인증 장치(110)는 도커 엔진(130)에 도커 이미지에 대한 스캔을 요청하게 되고 결과 값으로 CVE 리스트를 전달받아 해당 도커 이미지의 업로드 가부를 결정할 수 있다. 예컨대, 해당 CVE 리스트의 CVSS 점수를 취합한 다음 일정 값을 넘어가면 해당 도커 이미지 업로드를 거부할 수 있고, 그렇지 않은 경우 해당 도커 이미지와 CVE 리스트를 암호화 및 IPFS(170)에 업로드할 수 있다. When the Docker owner uploads a Docker image, the Docker image authentication device 110 requests the Docker engine 130 to scan the Docker image and receives a list of CVEs as a result to determine whether to upload the Docker image. . For example, after collecting the CVSS score of the corresponding CVE list, if it exceeds a certain value, the upload of the Docker image can be rejected. Otherwise, the Docker image and the CVE list can be encrypted and uploaded to IPFS (170).

도커 암호화 처리부(210)는 CVE 리스트를 문자열로 변경하여 대칭키(AESKey)를 생성하고 이 키를 이용하여 도커 이미지와 CVE 리스트를 AES-256 대칭 암호화하고 IPFS(170)에 업로드 한 후 해당 데이터들에 대해서 해시 값을 받아온다.The Docker encryption processing unit 210 converts the CVE list into a string to generate a symmetric key (AESKey), uses this key to symmetrically encrypt the Docker image and the CVE list with AES-256, uploads them to the IPFS 170, and then stores the corresponding data. Receive the hash value for .

사용자 개인정보 암호화 처리부(220)는 사용자 개인정보를 제1 암호함수로 암호화하여 암호화 사용자 정보를 생성할 수 있다. 여기에서, 사용자 개인정보는 도커 이미지를 업로드하는 사용자 아이디(ID)와 비밀번호를 포함할 수 있다. 일 실시예에서, 사용자 개인정보 암호화 처리부(220)는 제1 암호함수를 FNV 해시 함수로 구현할 수 있다. FNV 해시 함수는 값이 조금만 바뀌어도 함수의 특성상 그 값이 극명하게 바뀐다. 사용자 개인정보 암호화 처리부(220)는 사용자 개인정보를 FNV 해시 함수를 통해 정수 처리할 수 있다. 사용자 개인정보는 사용자가 입력하는 정보이기 때문에 해당 정보를 정확히 알고 있는 정당한 사용자만이 입력할 수 있다. 이 값이 조금만 바뀌어도 FNV 해시 함수는 완전히 다른 값을 출력해낸다. 여기에서, 사용자 개인정보는 FNV 함수를 통해 해시를 생성하기 때문에 복원되어도 해당 값에 대한 유출이 없어 사용자의 개인정보를 보호할 수 있다. The user personal information encryption processing unit 220 may generate encrypted user information by encrypting the user personal information using a first encryption function. Here, the user personal information may include the user ID (ID) and password for uploading the Docker image. In one embodiment, the user personal information encryption processing unit 220 may implement the first encryption function as an FNV hash function. Even if the value of the FNV hash function changes slightly, the value changes dramatically due to the nature of the function. The user personal information encryption processing unit 220 may integer process the user personal information through the FNV hash function. Since user personal information is information entered by the user, only legitimate users who know the information accurately can enter it. Even if this value changes slightly, the FNV hash function outputs a completely different value. Here, since the user's personal information generates a hash through the FNV function, the value is not leaked even if it is restored, thereby protecting the user's personal information.

동형 암호화 처리부(230)는 암호화 메타데이터와 암호화 사용자 개인정보 각각을 동형암호화 하여 동형암호화 메타데이터 및 동형암호화 사용자 개인정보를 생성할 수 있다. 일 실시예에서, 동형 암호화 처리부(230)는 CVE(Common Vulnerabilities and Exposures) 리스트의 IPFS 해시 값(이하, CVE 해시 값) 및 암호키 해시 값을 입력받고 도커 이미지 파일의 IPFS 해시 값 및 사용자 개인정보의 사용자 개인정보 해시 값을 수신하여, 각각의 동형암호화 데이터를 생성할 수 있다. 여기에서, 동형 암호화 처리부(230)는 각각의 동형 암호화 데이터에 대하여 RSA 비대칭 암호화를 수행할 수 있다.The homomorphic encryption processing unit 230 can generate homomorphic encryption metadata and homomorphic encryption user personal information by homomorphically encrypting each of the encryption metadata and encryption user personal information. In one embodiment, the homomorphic encryption processing unit 230 receives an IPFS hash value (hereinafter, "CVE hash value") and an encryption key hash value of the Common Vulnerabilities and Exposures (CVE) list, and receives the IPFS hash value of the Docker image file and user personal information. By receiving the user's personal information hash value, each homomorphic encryption data can be generated. Here, the homomorphic encryption processing unit 230 may perform RSA asymmetric encryption on each homomorphic encryption data.

동형 암호화(Homomorphic encryption)는 암호화한 데이터를 연산할 수 있다는 이점이 있다. 즉, 동형 암호화한 데이터들을 연산하고 해당 데이터들을 차후에 복호화 해도 암호화하지 않고 연산한 값들과 일치하게 된다. 이러한 동형 암호화를 통해서 사용자는 자신의 개인 데이터를 다른 곳에 연산을 요청하게 될 때 자신의 개인 데이터를 유출할 필요 없이 암호화해서 보내고 이러한 것을 통해서 연산하는 당사자는 암호화한 데이터를 통해서 연산을 할 수 있게 된다. 동형 암호화에는 부분 동형 암호화 및 완전 동형 암호화가 있다.Homomorphic encryption has the advantage of being able to operate on encrypted data. In other words, even if homomorphically encrypted data is calculated and the data is later decrypted, it will match the values calculated without encryption. Through this homomorphic encryption, when users request calculations for their personal data elsewhere, they encrypt and send it without the need to leak their personal data, and the party performing the calculation through this can perform calculations using the encrypted data. . Homomorphic encryption includes partially homomorphic encryption and fully homomorphic encryption.

일 실시예에서, 동형 암호화 처리부(230)는 부분 동형 암호화 알고리즘 중 하나인 Paillier 알고리즘을 사용하여 할 수 있다. 동형 암호화 처리부(230)는 각각의 동형 암호화 데이터에 대하여 도커 소유자의 공개키를 통해 다시 한번 RSA 비대칭 암호화를 수행하여 차후 해당 데이터를 복호화하여 사용할 때 해당 값들에 대한 사용자만이 이용할 수 있게 함과 동시에 블록체인에서 데이터가 유출되는 것을 막을 수 있다. In one embodiment, the homomorphic encryption processing unit 230 may use the Paillier algorithm, one of the partially homomorphic encryption algorithms. The homomorphic encryption processing unit 230 performs RSA asymmetric encryption once again using the Docker owner's public key for each homomorphic encryption data, allowing only the user for the corresponding values to be used when decrypting and using the data in the future. You can prevent data from being leaked from the blockchain.

블록체인 처리부(240)는 동형암호화 메타데이터 및 동형암호화 사용자 개인정보를 논리연산하여 이미지 블록체인 식별코드(image BCID)를 생성할 수 있다. 일 실시예에서, 블록체인 처리부(240)는 동형암호화 메타데이터 및 동형암호화 사용자 개인정보를 합산하여 이미지 블록체인 식별코드(image BCID)를 생성할 수 있다. 여기에서, 블록체인 처리부(240)는 이미지 블록체인 식별코드(image BCID)를 블록체인에 등록할 수 있다. 이미지 블록체인 식별코드(image BCID)는 각 도커 이미지 파일에 대한 메타데이터의 아이디 값을 해당할 수 있다. The blockchain processing unit 240 can generate an image blockchain identification code (image BCID) by performing logical operations on the homomorphically encrypted metadata and the homomorphically encrypted user personal information. In one embodiment, the blockchain processing unit 240 may generate an image blockchain identification code (image BCID) by adding homomorphic encryption metadata and homomorphic encryption user personal information. Here, the blockchain processing unit 240 can register the image blockchain identification code (image BCID) in the blockchain. The image blockchain identification code (image BCID) may correspond to the ID value of metadata for each Docker image file.

블록체인 처리부(240)는 도커 이미지를 IPFS(170)에 업로드 할 때 필요한 데이터를 동형 암호화 및 동형 암호 덧셈을 통해 이미지 블록체인 식별코드(image BCID)를 생성할 수 있다. 이미지 블록체인 식별코드(image BCID)를 생성하기 위해서는 도커 이미지를 업로드하는 사용자 아이디(ID)와 비밀번호로 구성되는 개인정보 및 도커 이미지와 CVE 리스트를 암호화하는 데 사용된 대칭키(AESKey), 암호화된 도커 이미지와 CVE 리스트를 각각 IPFS(170)에 업로드 하고 받아온 IPFS 해시 값이 필요하다. 이미지 블록체인 식별코드(image BCID)는 도커 이미지 파일에 대한 메타데이터를 블록체인에 저장하는 키값으로써 작용하게 되며, 사용자 개인정보에 따라 값이 바뀌기 때문에 도커 이미지를 공유할 때 인증과 접근제어를 제공하는데 사용될 수 있다. When uploading a Docker image to the IPFS (170), the blockchain processing unit 240 can generate an image blockchain identification code (image BCID) through homomorphic encryption and homomorphic encryption addition of the data required. To create an image blockchain identification code (image BCID), personal information consisting of the user ID (ID) and password for uploading the Docker image, the symmetric key (AESKey) used to encrypt the Docker image and the CVE list, and the encrypted The Docker image and the CVE list are each uploaded to IPFS (170), and the received IPFS hash value is required. The image blockchain identification code (image BCID) acts as a key value to store metadata about the Docker image file in the blockchain. Since the value changes depending on the user's personal information, it provides authentication and access control when sharing Docker images. It can be used to

도커 이미지 인증부(250)는 특정 사용자가 특정 도커 이미지 파일의 접근 가능 여부를 요청하면 특정 사용자 개인정보와 특정 메타데이터를 기초로 생성된 특정 이미지 블록체인 식별코드가 블록체인에 등록되어 있는지 여부를 결정하여 접근 권한 검증을 수행할 수 있다. 일 실시예에서, 도커 이미지 인증부(250)는 특정 도커 이미지 파일의 접근이 거절되면 특정 사용자 개인정보를 관리 단말에 제공하고 특정 사용자의 행동 이력을 분석할 수 있다.When a specific user requests access to a specific Docker image file, the Docker image authentication unit 250 determines whether a specific image blockchain identification code generated based on the specific user's personal information and specific metadata is registered in the blockchain. You can determine and perform access authority verification. In one embodiment, when access to a specific Docker image file is denied, the Docker image authentication unit 250 may provide specific user personal information to the management terminal and analyze the specific user's behavior history.

도커 소유자는 자신의 이미지 블록체인 식별코드(image BCID)를 정당한 도커 공유자와 공유할 수 있다. 도커 소유자가 도커 이미지를 공유 받고자 하는 도커 공유자의 동형암호화된 사용자 개인정보를 가지고 있는 경우, 도커 공유자의 동형암호화된 사용자 개인정보와 해당 도커 이미지 파일에 대한 메타데이터를 기초로 새로운 이미지 블록체인 식별코드(image BCID)를 생성하여 도커 공유자와 공유할 수 있다.Docker owners can share their image blockchain identification code (image BCID) with legitimate Docker sharers. If the Docker owner has the homomorphically encrypted user personal information of the Docker sharer who wishes to share the Docker image, a new image blockchain identification code is created based on the Docker sharer's homomorphically encrypted user personal information and the metadata for the corresponding Docker image file. You can create (image BCID) and share it with Docker sharer.

도커 이미지 인증부(250)는 도커 공유자의 도커 이미지 공유 요청시 블록체인(190)으로부터 이미지 블록체인 식별코드(image BCID)를 통해 도커 이미지 파일에 대한 메타데이터를 가지고 와서 복호화 및 동형 암호화하여 새로운 특정 이미지 블록체인 식별코드를 생성한다. 새로운 특정 이미지 블록체인 식별코드는 복호화된 데이터들과 특정 사용자(도커 공유자)를 통해 받아온 동형 암호화된 개인 비밀번호를 통해서 생성될 수 있다. 도커 이미지 인증부(250)는 메타 데이터 복호화 된 데이터를 FNV 해시 함수와 특정 사용자(도커 공유자)로부터 입력된 동형 암호 공개키를 통해 동형 암호화 이후 도커 소유자의 개인정보를 통해 인증을 한다. 일 실시예에서, 도커 이미지 인증부(250)는 특정 사용자 개인정보와 특정 메타데이터를 기초로 생성된 특정 이미지 블록체인 식별코드와 블록체인에 등록된 이미지 블록체인 식별코드와 일치하는지 확인하여 일치하면 정당한 사용자로 판단하고 해당 특정 도커 이미지 파일에 접근을 허가하고, 일치하지 않으면 정당한 사용자가 아니라고 판단하여 해당 특정 도커 이미지 파일에 접근을 제한한다. 즉, 인증을 실패한 사용자는 블록체인(190)에 있는 데이터에 대한 접근 제어를 통해 IPFS(170)로부터 도커 이미지와 CVE 리스트를 가지고 오지 못한다. When a Docker sharer requests to share a Docker image, the Docker image authentication unit 250 retrieves the metadata for the Docker image file through the image blockchain identification code (image BCID) from the blockchain 190, decrypts and homomorphically encrypts it to create a new specific file. Generates an image blockchain identification code. A new specific image blockchain identification code can be created through decrypted data and a homomorphically encrypted personal password received from a specific user (Docker sharer). The Docker image authentication unit 250 authenticates the metadata decrypted data using the personal information of the Docker owner after homomorphic encryption using the FNV hash function and the homomorphic encryption public key input from a specific user (Docker sharer). In one embodiment, the Docker image authentication unit 250 checks whether the specific image blockchain identification code generated based on specific user personal information and specific metadata matches the image blockchain identification code registered in the blockchain, and if they match, If the user is determined to be a legitimate user, access to the specific Docker image file is permitted. If the user does not match, the user is judged not to be a legitimate user and access to the specific Docker image file is restricted. In other words, a user who fails authentication cannot retrieve the Docker image and CVE list from the IPFS (170) through access control to data in the blockchain (190).

제어부(260)는 동형 암호화를 사용한 도커 이미지 인증 및 접근제어를 할 수 있고, 이를 위해 도커 암호화 처리부(210), 사용자 개인정보 암호화 처리부(220), 동형 암호화 처리부(230), 블록체인 처리부(240) 및 도커 이미지 인증부(250) 간의 데이터 흐름을 제어할 수 있다.The control unit 260 can perform Docker image authentication and access control using homomorphic encryption, and for this purpose, a Docker encryption processing unit 210, a user personal information encryption processing unit 220, a homomorphic encryption processing unit 230, and a blockchain processing unit 240. ) and the Docker image authentication unit 250 can be controlled.

도 3은 도 2에 있는 블록체인 처리부에 의해 생성되는 이미지 블록체인 식별코드(Image BCID)의 구성을 나타내는 도면이다.FIG. 3 is a diagram showing the configuration of an image blockchain identification code (Image BCID) generated by the blockchain processing unit in FIG. 2.

도 3을 참조하면, 블록체인 처리부(240)는 동형암호화 메타데이터 및 동형암호화 사용자 개인정보를 합산하여 이미지 블록체인 식별코드(Image BCID)를 생성한다. 이미지 블록체인 식별코드(Image BCID)는 개인 정보, 도커 이미지와 CVE 리스트를 IPFS(170)에 올린 해시 값, 그리고 이러한 데이터를 암호화한 대칭키 값의 조합으로 구성된다. Referring to FIG. 3, the blockchain processing unit 240 generates an image blockchain identification code (Image BCID) by adding homomorphic encryption metadata and homomorphic encryption user personal information. The Image blockchain identification code (Image BCID) is composed of a combination of personal information, a hash value that uploads the Docker image and the CVE list to IPFS (170), and a symmetric key value that encrypts this data.

도 3에서, DI Image IPFS Hash HOMO 및 DI CVE List IPFS Hash HOMO는 각각 도커 이미지 IPFS 해시와 CVE 리스트 IPFS 해시를 통해 도커 이미지와 CVE 리스트를 IPFS(170)에 업로드 한 이후 해당 파일들에 맞는 해시 값을 받아온 값을 동형 암호화한 것으로, 해당 값들로 이미지 블록체인 식별코드(Image BCID)를 구성함으로써 도커 이미지와 그 취약점에 대한 무결성을 보장할 수 있다.In Figure 3, DI Image IPFS Hash HOMO and DI CVE List IPFS Hash HOMO are hash values corresponding to the files after uploading the Docker image and the CVE list to the IPFS 170 through the Docker image IPFS hash and the CVE list IPFS hash, respectively. The received value is homomorphically encrypted, and the integrity of the Docker image and its vulnerabilities can be guaranteed by forming an image blockchain identification code (Image BCID) with the corresponding values.

AES Key HOMO는 IPFS(170)에 업로드 된 데이터들의 암호키를 동형 암호화한 것으로, 이미지 블록체인 식별코드(Image BCID)에 암호키 값을 포함함으로써 CVE 리스트의 무결성과 도커 이미지 및 CVE 리스트를 복호화 하기 위한 키의 무결성을 보장할 수 있다.AES Key HOMO is a homomorphic encryption of the encryption key of data uploaded to IPFS (170), and includes the encryption key value in the image blockchain identification code (Image BCID) to ensure the integrity of the CVE list and to decrypt Docker images and the CVE list. The integrity of the key can be guaranteed.

ID & PWD HOMO는 사용자의 ID 및 비밀번호 정보를 동형 암호화한 것으로, 이를 통해 적합한 사용자 인증을 할 수 있다. 즉, 해당 사용자가 아닌 다른 사용자가 도커 이미지를 사용하고자 하여 잘못된 사용자 정보를 입력하게 되면 인증에 실패하게 된다.ID & PWD HOMO homomorphically encrypts the user's ID and password information, allowing appropriate user authentication. In other words, if a user other than the user in question attempts to use the Docker image and enters incorrect user information, authentication will fail.

도 4는 도 2에 있는 도커 이미지 인증 장치에 의해서 수행되는 동형 암호화를 사용한 도커 이미지 인증 방법을 설명하는 흐름도이다.FIG. 4 is a flowchart illustrating a Docker image authentication method using homomorphic encryption performed by the Docker image authentication device in FIG. 2.

도 4에서, 도커 이미지 인증 장치(110)는 도커 암호화 처리부(210)를 통해 도커 이미지 파일에 대한 메타데이터를 제1 암호함수로 암호화하여 암호화 메타데이터를 생성할 수 있다(단계 S410). 일 실시예에서, 도커 암호화 처리부(210)는 제1 암호함수를 FNV(Fowler-Noll-Vo) 해시 함수로 구현하고 도커 이미지 파일의 IPFS(InterPlanetary File System) 해시 값을 메타데이터로 처리할 수 있다.In FIG. 4, the Docker image authentication device 110 may generate encrypted metadata by encrypting metadata for the Docker image file with a first encryption function through the Docker encryption processing unit 210 (step S410). In one embodiment, the Docker encryption processing unit 210 implements the first encryption function as a Fowler-Noll-Vo (FNV) hash function and processes the IPFS (InterPlanetary File System) hash value of the Docker image file as metadata. .

도커 이미지 인증 장치(110)는 사용자 개인정보 암호화 처리부(220)를 통해 사용자 개인정보를 제1 암호함수로 암호화하여 암호화 사용자 정보를 생성할 수 있다(단계 S430). 일 실시예에서, 사용자 개인정보 암호화 처리부(220)는 제1 암호함수를 FNV 해시 함수로 구현하고 도커 이미지 업로드를 요청한 사용자(도커 소유자) 또는 특정 도커 이미지 공유를 요청한 사용자(도커 공유자)의 아이디(ID)와 비밀번호를 사용자 개인정보로 구성할 수 있다.The Docker image authentication device 110 may generate encrypted user information by encrypting the user's personal information with a first encryption function through the user's personal information encryption processing unit 220 (step S430). In one embodiment, the user personal information encryption processing unit 220 implements the first encryption function as an FNV hash function and ID (Docker sharer) of the user who requested to upload a Docker image (Docker owner) or a user who requested to share a specific Docker image (Docker sharer) ID) and password can be configured as user personal information.

도커 이미지 인증 장치(110)는 동형 암호화 처리부(230)를 통해 암호화 메타데이터와 암호화 사용자 개인정보 각각을 동형암호화 하여 동형암호화 메타데이터 및 동형암호화 사용자 개인정보를 생성할 수 있다(단계 S450). 일 실시예에서, 동형 암호화 처리부(230)는 CVE(Common Vulnerabilities and Exposures) 리스트의 IPFS 해시 값 및 암호키(AESKey) 해시 값을 입력받고 도커 이미지 파일의 IPFS 해시 값 및 사용자 개인정보의 사용자 개인정보 해시 값을 수신하여, 각각의 동형암호화 데이터를 생성할 수 있다. 동형 암호화 처리부(230)는 각각의 동형 암호화 데이터에 대하여 RSA 비대칭 암호화를 수행할 수 있다.The Docker image authentication device 110 homomorphically encrypts each of the encryption metadata and the encrypted user personal information through the homomorphic encryption processing unit 230 to generate homomorphic encryption metadata and homomorphic encryption user personal information (step S450). In one embodiment, the homomorphic encryption processing unit 230 receives the IPFS hash value and the encryption key (AESKey) hash value of the Common Vulnerabilities and Exposures (CVE) list and inputs the IPFS hash value of the Docker image file and the user personal information of the user personal information. By receiving the hash value, each homomorphic encryption data can be generated. The homomorphic encryption processing unit 230 may perform RSA asymmetric encryption on each homomorphic encryption data.

도커 이미지 인증 장치(100)는 블록체인 처리부(240)를 통해 동형암호화 메타데이터 및 동형암호화 사용자 개인정보를 논리 연산하여 이미지 블록체인 식별코드(Image BCID)를 생성할 수 있다(단계 S470). 일 실시예에서, 블록체인 처리부(240)는 동형암호화 메타데이터 및 동형암호화 사용자 개인정보를 합산하여 이미지 블록체인 식별코드(Image BCID)를 생성할 수 있다. 블록체인 처리부(240)는 이미지 블록체인 식별코드(Image BCID)를 블록체인(190)에 등록할 수 있다.The Docker image authentication device 100 can generate an image blockchain identification code (Image BCID) by performing a logical operation on the homomorphic encryption metadata and the homomorphic encryption user personal information through the blockchain processing unit 240 (step S470). In one embodiment, the blockchain processing unit 240 may generate an image blockchain identification code (Image BCID) by adding homomorphic encryption metadata and homomorphic encryption user personal information. The blockchain processing unit 240 can register the image blockchain identification code (Image BCID) in the blockchain 190.

도커 이미지 인증 장치(110)는 도커 이미지 인증부(250)를 통해 특정 사용자가 특정 도커 이미지 파일의 접근 가능 여부를 요청하면 특정 사용자 개인정보와 특정 메타데이터를 기초로 생성된 특정 이미지 블록체인 식별코드가 블록체인(190)에 등록되어 있는지 여부를 결정하여 접근 권한 검증을 수행할 수 있다(단계 S490). 일 실시예에서, 도커 이미지 인증부(250)는 특정 도커 이미지 파일의 접근이 거절되면 특정 사용자 개인정보를 관리 단말에 제공하고 특정 사용자의 행동 이력을 분석할 수 있다.When a specific user requests access to a specific Docker image file through the Docker image authentication unit 250, the Docker image authentication device 110 receives a specific image blockchain identification code generated based on the specific user's personal information and specific metadata. Access authority verification can be performed by determining whether is registered in the blockchain 190 (step S490). In one embodiment, when access to a specific Docker image file is denied, the Docker image authentication unit 250 may provide specific user personal information to the management terminal and analyze the specific user's behavior history.

도 5는 일 실시예에 따른 동형 암호화를 사용한 도커 이미지 인증 장치의 도커 이미지 업로드 과정을 나타내는 도면이다.Figure 5 is a diagram showing the Docker image upload process of the Docker image authentication device using homomorphic encryption according to an embodiment.

도 5를 참조하면, 도커 이미지 인증 장치(110)는 도커 소유자로부터 도커 이미지 업로드시 도커 데몬(Docker Daemon)에 도커 이미지에 대한 스캔을 요청한다. 도커 데몬은 도커 스캔을 통해 도커 이미지를 스캔하고 스캔 결과를 도커 이미지 인증 장치(110)에 반환한다. 도커 이미지 인증 장치(110)는 도커 이미지와 CVE 리스트를 기반으로 암호키(AESKey)를 생성하고 암호키(AESKey)를 이용한 도커 이미지 및 CVE 리스트를 대칭 암호화한다. 도커 이미지 인증 장치(110)는 암호한 도커 이미지 및 CVE 리스트를 IPFS(170)에 업로드 후 해시 값을 받아 메타데이터에 대한 동형 암호화 및 RSA 비대칭 암호화를 진행하고 이미지 블록체인 식별코드(Image BCID)를 생성한다. 도커 이미지 인증 장치(110)는 이미지 블록체인 식별코드(Image BCID) 및 메타 데이터를 스마트 컨트랙트에 등록하고 암호화된 메타 데이터를 블록체인(190)에 등록한다. 도커 이미지 인증 장치(110)는 이미지 블록체인 식별코드(Image BCID)를 도커 소유자(도커 이미지 업로드 사용자)에게 제공한다.Referring to FIG. 5, the Docker image authentication device 110 requests the Docker daemon to scan the Docker image when the Docker owner uploads the Docker image. The Docker daemon scans the Docker image through Docker scan and returns the scan results to the Docker image authentication device 110. The Docker image authentication device 110 generates an encryption key (AESKey) based on the Docker image and the CVE list and symmetrically encrypts the Docker image and the CVE list using the encryption key (AESKey). The Docker image authentication device 110 uploads the encrypted Docker image and the CVE list to the IPFS 170, receives the hash value, performs homomorphic encryption and RSA asymmetric encryption on the metadata, and generates the image blockchain identification code (Image BCID). Create. The Docker image authentication device 110 registers the image blockchain identification code (Image BCID) and metadata in the smart contract and registers the encrypted metadata in the blockchain 190. The Docker image authentication device 110 provides an image blockchain identification code (Image BCID) to the Docker owner (Docker image upload user).

도 6은 일 실시예에 따른 동형 암호화를 사용한 도커 이미지 인증 장치의 도커 이미지 공유 과정을 나타내는 도면이다.Figure 6 is a diagram showing the Docker image sharing process of the Docker image authentication device using homomorphic encryption according to an embodiment.

도 6을 참조하면, 도커 이미지 인증 장치(110)는 특정 사용자로부터 기 업로드된 도커 이미지에 대한 공유 요청시 스마트 컨트랙트를 통해 도커 이미지에 대한 메타데이터를 요청하여 도커 이미지에 대한 메타데이터 요청 함수를 실행시켜 블록체인(190)에 등록된 메타데이터를 스마트 컨트랙트를 통해 반환받는다. 도커 이미지 인증 장치(110)는 블록체인(190)에서 가지고 온 메타데이터에 대해 도커 소유자의 RSA 개인키(Private Key)로 복호화 하고 FNV 해시 함수와 동형 암호화를 한 후 도커 소유자의 개인 비밀번호를 통해서 인증을 수행한다. 도커 이미지 인증 장치(110)는 동형암호화 메타데이터와 동형암호화 사용자 개인정보(도커 소유자의 개인 비밀번호)의 합산 값이 블록체인(190)에 등록된 이미지 블록체인 식별코드 값과 일치하면 인증 성공으로 판단하고 일치하지 않으면 인증 실패로 판단한다. 도커 이미지 인증 장치(110)는 인증 실패시 공유를 취소한다. 도커 이미지 인증 장치(110)는 인증 성공시 도커 공유자의 동형 암호 공개키를 통해 CVE 해시 값, 암호키 해시 값, 도커 이미지 파일의 IPFS 해시 값을 각각 동형 암호화한다. 이때, 도커 공유자의 개인정보는 도커 공유자가 따라 동형 암호화한 다음 보내게 된다. 도커 이미지 인증 장치(110)는 도커 이미지 공유를 위해 FNV 해시 함수와 도커 공유자의 동형 암호 공개키를 통해 동형 암호화하고 도커 공유자로부터 동형 암호화된 도커 공유자 개인정보와 합산하여 새로운 이미지 블록체인 식별코드(Image BCID)를 생성한다. 도커 이미지 인증 장치(110)는 공유를 위해 도커 공유자가 제공하는 공개키를 이용하여 각각의 동형 암호화 데이터에 대하여 RSA 비대칭 암호화를 수행하고 이를 통해 새로운 값들을 새로운 이미지 블록체인 식별코드를 키값으로 블록체인(190)에 등록한 후 해당 새로운 이미지 블록체인 식별코드를 돌려준다.Referring to FIG. 6, when a specific user requests to share a previously uploaded Docker image, the Docker image authentication device 110 requests metadata for the Docker image through a smart contract and executes a metadata request function for the Docker image. The metadata registered in the blockchain 190 is returned through a smart contract. The Docker image authentication device 110 decrypts the metadata brought from the blockchain 190 with the Docker owner's RSA private key, homomorphically encrypts it with the FNV hash function, and authenticates it using the Docker owner's personal password. Perform. The Docker image authentication device 110 determines authentication to be successful if the sum of the homomorphic encryption metadata and the homomorphic encryption user personal information (Docker owner's personal password) matches the image blockchain identification code value registered in the blockchain 190. and if they do not match, it is judged as an authentication failure. The Docker image authentication device 110 cancels sharing when authentication fails. When authentication is successful, the Docker image authentication device 110 homomorphically encrypts the CVE hash value, the encryption key hash value, and the IPFS hash value of the Docker image file through the Docker sharer's homomorphic encryption public key. At this time, the Docker sharer's personal information is homomorphically encrypted by the Docker sharer and then sent. In order to share the Docker image, the Docker image authentication device 110 homomorphically encrypts it using the FNV hash function and the Docker sharer's homomorphic encryption public key, and combines it with the Docker sharer's personal information homomorphically encrypted from the Docker sharer to generate a new image blockchain identification code (Image). BCID) is generated. The Docker image authentication device 110 performs RSA asymmetric encryption on each homomorphic encryption data using the public key provided by the Docker sharer for sharing, and through this, new values are stored in the blockchain using the new image blockchain identification code as the key value. After registering at (190), the new image blockchain identification code is returned.

도 7은 일 실시예에 따른 동형 암호화를 사용한 도커 이미지 인증 장치의 도커 이미지 다운로드 과정을 나타내는 도면이다.Figure 7 is a diagram showing a Docker image download process of a Docker image authentication device using homomorphic encryption according to an embodiment.

도 7을 참조하면, 도커 이미지 인증 장치(110)는 도커 공유자가 이미지 블록체인 식별코드(Image BCID)를 전송하여 해당 도커 이미지에 대한 다운로드 요청시 해당 이미지 블록체인 식별코드와 일치하는 도커 이미지 파일에 대한 메타데이터를 블록체인(190)으로부터 가지고 온다. 도커 이미지 인증 장치(110)는 해당 메타데이터에 대해서 도커 공유자의 개인키를 이용해 복호화하고 FNV 해시 과정을 거친 이후 동형 암호화를 통해 인증을 수행한다. 즉, 도커 공유자는 자신의 개인정보를 통해 해당 도커 이미지에 대한 동형 암호화 인증을 할 수 있다. 도커 이미지 인증 장치(110)는 동형암호화 메타데이터와 동형암호화 사용자 개인정보(다운로드 받는 사용자의 개인 비밀번호)의 합산 값이 블록체인(190)에 등록된 이미지 블록체인 식별코드 값과 일치하면 인증 성공으로 판단하고 일치하지 않으면 인증 실패로 판단한다. 이때, 이미지 블록체인 식별코드는 해당 도커 이미지의 공유 인증을 위해 새롭게 생성한 값이다. 도커 이미지 인증 장치(110)는 인증에 성공한 사용자에게 복호화한 메타데이터를 통해 IPFS(170)로부터 암호화된 도커 이미지와 CVE 리스트를 가지고 와서 복호화한 후 해당 도커 이미지와 CVE 리스트를 사용자에게 돌려준다.Referring to FIG. 7, the Docker image authentication device 110 sends an image blockchain identification code (Image BCID) to the Docker image file that matches the image blockchain identification code when the Docker sharer requests a download of the corresponding Docker image. The metadata is brought from the blockchain (190). The Docker image authentication device 110 decrypts the corresponding metadata using the Docker sharer's private key, goes through the FNV hash process, and then performs authentication through homomorphic encryption. In other words, Docker sharers can perform homomorphic encryption authentication for the Docker image using their personal information. The Docker image authentication device 110 determines authentication success if the sum of the homomorphic encryption metadata and the homomorphic encryption user personal information (personal password of the downloading user) matches the image blockchain identification code value registered in the blockchain 190. If it does not match, it is judged as an authentication failure. At this time, the image blockchain identification code is a newly created value for sharing authentication of the relevant Docker image. The Docker image authentication device 110 brings the encrypted Docker image and the CVE list from the IPFS 170 through the decrypted metadata to the user who has successfully authenticated, decrypts it, and returns the Docker image and the CVE list to the user.

일 실시예에 따른 동형 암호화를 사용한 도커 이미지 인증 장치는 사용자의 개인정보와 도커 이미지 파일에 대한 메타데이터를 동형 암호화를 통해 인증 및 블록체인에 접근제어 함으로써 정당한 사용자만이 해당 도커 이미지에 접근할 수 있고, IPFS에 도커 이미지를 저장할 때 암호화와 비대칭 암호화를 통해 기밀성과 도커 이미지에 대한 가용성 및 무결성을 보장할 수 있으며, 동형 암호화를 통해 도커 이미지 공유 과정에서 도커 공유자의 개인정보를 암호화하여 연산 함으로써 사용자의 개인정보를 보호할 수 있다.The Docker image authentication device using homomorphic encryption according to one embodiment authenticates the user's personal information and metadata about the Docker image file through homomorphic encryption and controls access to the blockchain, so that only legitimate users can access the Docker image. When storing a Docker image in IPFS, confidentiality and the availability and integrity of the Docker image can be guaranteed through encryption and asymmetric encryption. Through homomorphic encryption, the personal information of the Docker sharer is encrypted and operated during the Docker image sharing process, thereby protecting the user. You can protect your personal information.

상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 통상의 기술자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the present application has been described above with reference to preferred embodiments, those skilled in the art may modify the present application in various ways without departing from the spirit and scope of the present invention as set forth in the claims below. and that it can be changed.

100: 동형 암호화를 사용한 도커 이미지 인증 시스템
110: 도커 이미지 인증 장치
130: 도커 엔진 150: 도커 허브
170: IPFS 190: 이더리움 블록체인
210: 도커 암호화 처리부 220: 사용자 개인정보 암호화 처리부
230: 동형 암호화 처리부 240: 블록체인 처리부
250: 도커 이미지 인증부 260: 제어부
100: Docker image authentication system using homomorphic encryption
110: Docker image authentication device
130: Docker Engine 150: Docker Hub
170: IPFS 190: Ethereum blockchain
210: Docker encryption processing unit 220: User personal information encryption processing unit
230: Homomorphic encryption processing unit 240: Blockchain processing unit
250: Docker image authentication unit 260: Control unit

Claims (10)

도커 이미지 파일에 대한 메타데이터를 제1 암호함수로 암호화하여 암호화 메타데이터를 생성하는 도커 암호화 처리부;
사용자 개인정보를 상기 제1 암호함수로 암호화하여 암호화 사용자 개인정보를 생성하는 사용자 개인정보 암호화 처리부;
상기 암호화 메타데이터와 상기 암호화 사용자 개인정보 각각을 동형암호화 하여 동형암호화 메타데이터 및 동형암호화 사용자 개인정보를 생성하는 동형 암호화 처리부; 및
상기 동형암호화 메타데이터 및 상기 동형암호화 사용자 개인정보를 논리 연산하여 이미지 블록체인 식별코드(image BCID)를 생성하는 블록체인 처리부를 포함하는 동형 암호화(Homomorphic encryption)를 사용한 도커 이미지 인증 장치.
A Docker encryption processing unit that generates encryption metadata by encrypting metadata about the Docker image file with a first encryption function;
a user personal information encryption processing unit that encrypts user personal information using the first encryption function to generate encrypted user personal information;
a homomorphic encryption processing unit that homomorphically encrypts each of the encryption metadata and the encryption user personal information to generate homomorphic encryption metadata and homomorphic encryption user personal information; and
A Docker image authentication device using homomorphic encryption, including a blockchain processing unit that generates an image blockchain identification code (image BCID) by performing a logical operation on the homomorphic encryption metadata and the homomorphic encryption user personal information.
제1항에 있어서, 상기 도커 암호화 처리부는
상기 제1 암호함수를 해시 함수로 구현하고 상기 도커 이미지 파일의 IPFS(InterPlanetary File System) 해시 값을 상기 메타데이터로 처리하는 것을 특징으로 하는 동형 암호화를 사용한 도커 이미지 인증 장치.
The method of claim 1, wherein the Docker encryption processing unit
A Docker image authentication device using homomorphic encryption, characterized in that the first encryption function is implemented as a hash function and the IPFS (InterPlanetary File System) hash value of the Docker image file is processed as the metadata.
제2항에 있어서, 상기 도커 암호화 처리부는
상기 해시 함수를 Fowler-Noll-Vo (FNV) 해시 함수로 구현하는 것을 특징으로 하는 동형 암호화를 사용한 도커 이미지 인증 장치.
The method of claim 2, wherein the Docker encryption processing unit
A Docker image authentication device using homomorphic encryption, characterized in that the hash function is implemented as a Fowler-Noll-Vo (FNV) hash function.
제1항에 있어서, 상기 동형 암호화 처리부는
CVE (Common Vulnerabilities and Exposures) 리스트의 IPFS 해시 값(이하, CVE 해시 값) 및 암호키 해시 값을 입력받고 상기 도커 이미지 파일의 IPFS 해시 값 및 상기 사용자 개인정보의 사용자 개인정보 해시 값을 수신하여, 상기 도커 이미지 파일의 IPES 해시 값 및 상기 사용자 개인정보의 사용자 개인정보 해시 값 각각을 상기 CVE 해시 값 및 암호키 해시 값으로 동형암호화 하여 각각의 동형암호화 데이터를 생성하는 것을 특징으로 하는 동형 암호화를 사용한 도커 이미지 인증 장치.
The method of claim 1, wherein the homomorphic encryption processing unit
By receiving the IPFS hash value (hereinafter referred to as "CVE hash value") and the encryption key hash value of the Common Vulnerabilities and Exposures (CVE) list, and receiving the IPFS hash value of the Docker image file and the user personal information hash value of the user personal information, Using homomorphic encryption, the IPES hash value of the Docker image file and the user personal information hash value of the user personal information are homomorphically encrypted with the CVE hash value and the encryption key hash value to generate each homomorphic encryption data. Docker image authentication device.
제4항에 있어서, 상기 동형 암호화 처리부는
상기 각각의 동형 암호화 데이터에 대하여 RSA 비대칭 암호화를 수행하는 것을 특징으로 하는 동형 암호화를 사용한 도커 이미지 인증 장치.
The method of claim 4, wherein the homomorphic encryption processing unit
A Docker image authentication device using homomorphic encryption, characterized in that RSA asymmetric encryption is performed on each of the homomorphic encryption data.
제1항에 있어서, 상기 블록체인 처리부는
상기 동형암호화 메타데이터 및 상기 동형암호화 사용자 개인정보를 합산하여 상기 이미지 블록체인 식별코드를 생성하는 것을 특징으로 하는 동형 암호화를 사용한 도커 이미지 인증 장치.
The method of claim 1, wherein the blockchain processing unit
A Docker image authentication device using homomorphic encryption, characterized in that the image blockchain identification code is generated by adding the homomorphic encryption metadata and the homomorphic encryption user personal information.
제6항에 있어서, 상기 블록체인 처리부는
상기 이미지 블록체인 식별코드(image BCID)를 블록체인에 등록하는 것을 특징으로 하는 동형 암호화를 사용한 도커 이미지 인증 장치.
The method of claim 6, wherein the blockchain processing unit
A Docker image authentication device using homomorphic encryption, characterized in that the image blockchain identification code (image BCID) is registered in the blockchain.
제1항에 있어서,
특정 사용자가 특정 도커 이미지 파일의 접근 가능 여부를 요청하면 상기 특정 사용자의 개인정보와 특정 메타데이터를 기초로 생성된 특정 이미지 블록체인 식별코드가 블록체인에 등록되어 있는지 여부를 결정하여 접근 권한 검증을 수행하는 도커 이미지 인증부를 더 포함하는 것을 특징으로 하는 동형 암호화를 사용한 도커 이미지 인증 장치.
According to paragraph 1,
When a specific user requests access to a specific Docker image file, access authority is verified by determining whether the specific image blockchain identification code generated based on the specific user's personal information and specific metadata is registered in the blockchain. A Docker image authentication device using homomorphic encryption, further comprising a Docker image authentication unit that performs.
제8항에 있어서, 상기 도커 이미지 인증부는
상기 특정 도커 이미지 파일의 접근이 거절되면 상기 특정 사용자의 개인정보를 관리 단말에 제공하고 상기 특정 사용자의 행동 이력을 분석하는 것을 특징으로 하는 동형 암호화를 사용한 도커 이미지 인증 장치.
The method of claim 8, wherein the Docker image authentication unit
A Docker image authentication device using homomorphic encryption, characterized in that when access to the specific Docker image file is denied, personal information of the specific user is provided to a management terminal and the behavior history of the specific user is analyzed.
도커 이미지 파일에 대한 메타데이터를 제1 암호함수로 암호화하여 암호화 메타데이터를 생성하는 도커 암호화 처리단계;
사용자 개인정보를 상기 제1 암호함수로 암호화하여 암호화 사용자 개인정보를 생성하는 사용자 개인정보 암호화 처리단계;
상기 암호화 메타데이터와 상기 암호화 사용자 개인정보 각각을 동형암호화 하여 동형암호화 메타데이터 및 동형암호화 사용자 개인정보를 생성하는 동형 암호화 처리단계; 및
상기 동형암호화 메타데이터 및 상기 동형암호화 사용자 개인정보를 논리 연산하여 이미지 블록체인 식별코드(image BCID)를 생성하는 블록체인 처리단계를 포함하는 동형 암호화(Homomorphic encryption)를 사용한 도커 이미지 인증 방법.
A Docker encryption processing step of generating encryption metadata by encrypting metadata about the Docker image file with a first encryption function;
A user personal information encryption processing step of encrypting user personal information using the first encryption function to generate encrypted user personal information;
A homomorphic encryption processing step of homomorphically encrypting each of the encryption metadata and the encryption user personal information to generate homomorphic encryption metadata and homomorphic encryption user personal information; and
A Docker image authentication method using homomorphic encryption, including a blockchain processing step of generating an image blockchain identification code (image BCID) by performing a logical operation on the homomorphic encryption metadata and the homomorphic encryption user personal information.
KR1020210127945A 2021-09-28 2021-09-28 Docker image authentication apparatus and method using homomoriphic encryption KR102631080B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210127945A KR102631080B1 (en) 2021-09-28 2021-09-28 Docker image authentication apparatus and method using homomoriphic encryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210127945A KR102631080B1 (en) 2021-09-28 2021-09-28 Docker image authentication apparatus and method using homomoriphic encryption

Publications (2)

Publication Number Publication Date
KR20230045279A KR20230045279A (en) 2023-04-04
KR102631080B1 true KR102631080B1 (en) 2024-01-30

Family

ID=85929076

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210127945A KR102631080B1 (en) 2021-09-28 2021-09-28 Docker image authentication apparatus and method using homomoriphic encryption

Country Status (1)

Country Link
KR (1) KR102631080B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101739203B1 (en) * 2015-11-05 2017-05-23 인하대학교 산학협력단 Password-based user authentication method using one-time private key-based digital signature and homomorphic encryption
JP6750985B2 (en) * 2016-04-15 2020-09-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Communication device and communication method
KR102276885B1 (en) 2019-11-25 2021-07-13 세종대학교산학협력단 Apparatus and method for diagnosing docker image vulnerability

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jae-Pil Lee 외 3명. "Design of Device Mutual Authentication Protocol in Smart Home Environment." Computational Science/Intelligence &Applied Informatics 5 (2019): 135-148.
Ruizhe Yang 외 4명. "Integrated Blockchain and Edge Computing Systems: A Survey, Some Research Issues and Challenges." IEEE Communications Surveys &Tutorials 21.2 (2019): 1508-1532.

Also Published As

Publication number Publication date
KR20230045279A (en) 2023-04-04

Similar Documents

Publication Publication Date Title
US10454902B2 (en) Techniques for secure data extraction in a virtual or cloud environment
US11128471B2 (en) Accessibility controls in distributed data systems
US7526654B2 (en) Method and system for detecting a secure state of a computer system
US8352735B2 (en) Method and system for encrypted file access
US7487366B2 (en) Data protection program and data protection method
US9203904B2 (en) Secure hybrid file-sharing system
US11170128B2 (en) Information security using blockchains
US20110179268A1 (en) Protecting applications with key and usage policy
US20060005034A1 (en) System and method for protected operating system boot using state validation
WO2022073264A1 (en) Systems and methods for secure and fast machine learning inference in trusted execution environment
KR20100133953A (en) System and method for securing data
US8181028B1 (en) Method for secure system shutdown
KR20030082485A (en) Saving and retrieving data based on symmetric key encryption
US10083128B2 (en) Generating memory dumps
US11658978B2 (en) Authentication using blockchains
US20150264047A1 (en) Method and system for providing secure communication between multiple operating systems in a communication device
US8499357B1 (en) Signing a library file to verify a callback function
US8667278B2 (en) Information processing apparatus and data transmission method of information processing apparatus
KR102631080B1 (en) Docker image authentication apparatus and method using homomoriphic encryption
KR20150042298A (en) Securing execution of computational resources
EP2975547B1 (en) Method and apparatus for preventing illegitimate outflow of electronic document
US11841970B1 (en) Systems and methods for preventing information leakage
Medvinsky et al. From social engineering to quantum threats: safeguarding user wallets with FailSafe
KR102618922B1 (en) Apparatus and method for Preventing SW reverse engineering of embedded system
Yeboah-Ofori et al. Blockchain Security Encryption to Preserve Data Privacy and Integrity in Cloud Environment

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant