KR102644153B1 - 데이터 보안 장치 및 방법 - Google Patents

데이터 보안 장치 및 방법 Download PDF

Info

Publication number
KR102644153B1
KR102644153B1 KR1020190137086A KR20190137086A KR102644153B1 KR 102644153 B1 KR102644153 B1 KR 102644153B1 KR 1020190137086 A KR1020190137086 A KR 1020190137086A KR 20190137086 A KR20190137086 A KR 20190137086A KR 102644153 B1 KR102644153 B1 KR 102644153B1
Authority
KR
South Korea
Prior art keywords
distribution target
data
environment
distributed
encryption
Prior art date
Application number
KR1020190137086A
Other languages
English (en)
Other versions
KR20210051608A (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 삼성에스디에스 주식회사
Priority to KR1020190137086A priority Critical patent/KR102644153B1/ko
Priority to US17/084,052 priority patent/US20210135853A1/en
Priority to EP20204926.8A priority patent/EP3817276A1/en
Publication of KR20210051608A publication Critical patent/KR20210051608A/ko
Application granted granted Critical
Publication of KR102644153B1 publication Critical patent/KR102644153B1/ko

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • 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/321Cryptographic 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 involving a third party or a trusted authority
    • 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/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data

Abstract

데이터 암호화 장치 및 방법이 개시된다. 개시되는 일 실시예에 따른 데이터 암호화 장치는 배포자 환경으로부터 하나 이상의 배포 대상 암호 키를 포함하는 배포 대상 데이터 및 배포 대상 애플리케이션을 수신하는 수신부, 배포 대상 환경으로부터 획득된 배포 대상 환경 암호 키 및 상기 배포 대상 데이터에 대한 접근 정보를 이용하여 상기 배포 대상 데이터를 중복 암호화하는 암호화부 및 상기 배포 대상 환경으로 상기 중복 암호화된 배포 대상 데이터 및 상기 배포 대상 애플리케이션을 전송하는 송신부를 포함한다.

Description

데이터 보안 장치 및 방법{APPARATUS AND METHOD FOR DATA SECURITY}
개시되는 실시예들은 데이터 보안을 위한 기술과 관련된다.
클라우드(Cloud) 환경 및 온 프레미스(On-premise) 환경을 비롯한 여러 시스템 운영 환경 하에서 안전하게 데이터를 보호하기 위해서 단일한 보안 체계의 필요성이 대두되고 있다.
단일한 보안 체계를 제공하기 위해서, 네트워크를 직접 확장하는 방안, 클라우드 환경에서 제공하는 키 관리 시스템에 데이터 암호화를 위한 암호 키를 직접 등록하는 방안 및 클라우드 별로 배포자의 암호 키 관리 시스템을 구축하는 방안 등이 제안되었으나, 비용 및 성능 상의 문제로 인하여 제한적으로만 사용되고 있다.
대한민국 등록특허공보 제10-1881856호(2018.07.19. 등록)
개시되는 실시예들은 안전하게 데이터를 보호하기 위한 것이다.
또한 개시되는 실시예들은 데이터를 배포하려는 환경 및 데이터에 접근하는 애플리케이션을 고려하는 데이터 암호화 장치를 제공하기 위한 것이다.
또한 개시되는 실시예들은 데이터를 배포하려는 환경 및 데이터에 접근하는 애플리케이션을 고려하는 데이터 복호화 장치를 제공하기 위한 것이다.
일 실시예에 따른 데이터 암호화 장치는, 배포자 환경으로부터 하나 이상의 배포 대상 암호 키를 포함하는 배포 대상 데이터 및 배포 대상 애플리케이션을 수신하는 수신부, 배포 대상 환경으로부터 획득된 배포 대상 환경 암호 키 및 상기 배포 대상 데이터에 대한 접근 정보를 이용하여 상기 배포 대상 데이터를 중복 암호화하는 암호화부 및 상기 배포 대상 환경으로 상기 중복 암호화된 배포 대상 데이터 및 상기 배포 대상 애플리케이션을 전송하는 송신부를 포함한다.
상기 배포 대상 데이터는, 상기 배포 대상 애플리케이션을 구성하는 하나 이상의 호출 정보 및 상기 배포 대상 애플리케이션의 하나 이상의 환경 변수 중 적어도 하나를 더 포함할 수 있다.
상기 접근 정보는, 상기 배포 대상 애플리케이션의 구동 시 참조하는 아이디(ID) 정보 및 패스워드(password) 정보를 포함할 수 있다.
상기 배포 대상 애플리케이션은, 코드 서명이 적용된 애플리케이션이고, 상기 배포 대상 데이터는, 상기 코드 서명을 검증하기 위한 공개 키(public key)를 더 포함할 수 있다.
상기 배포 대상 데이터는, 상기 배포 대상 환경 암호 키를 상기 배포 대상 환경에서 암호화한 암호문을 더 포함할 수 있다.
상기 암호화부는, 상기 접근 정보를 이용하여 상기 배포 대상 데이터를 1차 암호화하고, 상기 배포 대상 환경 암호 키를 이용하여 상기 1차 암호화된 배포 대상 데이터를 2차 암호화할 수 있다.
일 실시예에 따른 데이터 복호화 장치는, 배포 대상 환경으로 배포할 하나 이상의 암호 키를 포함하며, 상기 배포 대상 환경으로부터 획득한 배포 대상 환경 암호 키 및 배포 대상 데이터에 대한 접근 정보를 이용하여 중복 암호화된 배포 대상 데이터를 수신하는 수신부, 상기 배포 대상 환경으로부터 획득한 복호화 키를 이용하여 상기 중복 암호화된 배포 대상 데이터를 1차 복호화하고, 상기 1차 복호화에 성공한 경우, 상기 배포 대상 데이터에 대한 접근 정보를 이용하여 상기 1차 복호화 된 배포 대상 데이터를 2차 복호화하는 복호화부 및 상기 복호화부가 상기 2차 복호화에 성공한 경우, 상기 배포 대상 데이터에 포함된 코드 서명 공개 키를 이용하여 배포 대상 애플리케이션의 코드 서명을 검증하는 검증부를 포함한다.
일 실시예에 따른 데이터 암호화 방법은, 배포자 환경으로부터 하나 이상의 배포 대상 암호 키를 포함하는 배포 대상 데이터 및 배포 대상 애플리케이션을 수신하는 단계, 배포 대상 환경으로 상기 배포 대상 데이터에 대한 접근 정보 및 상기 배포 대상 애플리케이션을 배포하는 단계, 상기 배포 대상 환경으로부터 획득된 배포 대상 환경 암호 키 및 상기 접근 정보를 이용하여 상기 배포 대상 데이터를 중복 암호화하는 단계 및 상기 배포 대상 환경으로 상기 중복 암호화된 배포 대상 데이터를 전송하는 단계를 포함한다.
상기 배포 대상 데이터는, 상기 배포 대상 애플리케이션을 구성하는 하나 이상의 호출 정보 및 상기 배포 대상 애플리케이션의 하나 이상의 환경 변수 중 적어도 하나를 더 포함할 수 있다.
상기 접근 정보는, 상기 배포 대상 애플리케이션의 구동 시 참조하는 아이디(ID) 정보 및 패스워드(password) 정보를 포함할 수 있다.
상기 배포 대상 애플리케이션은, 코드 서명이 적용된 애플리케이션이고, 상기 배포 대상 데이터는, 상기 코드 서명을 검증하기 위한 공개 키(public key)를 더 포함할 수 있다.
상기 배포 대상 데이터는, 상기 배포 대상 환경 암호 키를 상기 배포 대상 환경에서 암호화한 암호문을 더 포함할 수 있다.
상기 중복 암호화하는 단계는, 상기 접근 정보를 이용하여 상기 배포 대상 데이터를 1차 암호화하고, 상기 배포 대상 환경 암호 키를 이용하여 상기 1차 암호화된 배포 대상 데이터를 2차 암호화할 수 있다.
일 실시예에 따른 데이터 복호화 방법은, 배포 대상 환경으로 배포할 하나 이상의 암호 키를 포함하며, 상기 배포 대상 환경으로부터 획득한 배포 대상 환경 암호 키 및 배포 대상 데이터에 대한 접근 정보를 이용하여 중복 암호화된 배포 대상 데이터를 수신하는 단계, 상기 배포 대상 환경으로부터 획득한 복호화 키를 이용하여 상기 중복 암호화된 배포 대상 데이터를 1차 복호화하는 단계, 상기 1차 복호화에 성공한 경우, 상기 배포 대상 데이터에 대한 접근 정보를 이용하여 상기 1차 복호화 된 배포 대상 데이터를 2차 복호화하는 단계 및 상기 2차 복호화에 성공한 경우, 상기 배포 대상 데이터에 포함된 코드 서명 공개 키를 이용하여 배포 대상 애플리케이션의 코드 서명을 검증하는 단계를 포함한다.
개시되는 실시예들에 따르면, 중복 암호화된 배포 대상 데이터를 1차 및 2차에 걸쳐 복호화함으로써, 의도된 환경 및 의도된 애플리케이션 하에서만 배포 대상 데이터의 암호 키에 접근하도록 허용할 수 있다.
또한 개시되는 실시예들에 따르면, 데이터 암호화를 위한 암호 키를 배포 대상 환경이 아닌 배포자의 애플리케이션에서 관리하도록 하여, 배포자가 데이터 보안에 대한 주도권을 갖도록 할 수 있다.
또한 개시되는 실시예들에 따르면, 각 배포 대상 환경 간 암호 키 제공을 위한 네트워크 연결을 필요로 하지 않게 됨으로써, 네트워크 구성 비용을 절감할 수 있다.
도 1은 일 실시예에 따른 데이터 암호화 시스템을 설명하기 위한 도면
도 2는 일 실시예에 따른 데이터 암호화 장치를 설명하기 위한 블록도
도 3은 일 실시예에 따른 데이터 복호화 장치를 설명하기 위한 블록도
도 4는 일 실시예에 따른 배포 대상 데이터를 설명하기 위한 도면
도 5는 일 실시예에 따른 데이터 암호화 방법을 설명하기 위한 흐름도
도 6은 일 실시예에 따른 데이터 복호화 방법을 설명하기 위한 흐름도
도 7은 다른 실시예에 따른 데이터 복호화 방법을 설명하기 위한 흐름도
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 개시되는 실시예들은 이에 제한되지 않는다.
실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 개시되는 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 개시되는 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 배포자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
몇몇 실시예들에서, 통신 네트워크는 인터넷, 하나 이상의 로컬 영역 네트워크(local area networks), 광역 네트워크(wire area networks), 셀룰러 네트워크, 모바일 네트워크, 그 밖에 다른 종류의 네트워크들, 또는 이러한 네트워크들의 조합을 포함할 수 있다.
도 1은 일 실시예에 따른 데이터 암호화 시스템(100)을 설명하기 위한 도면이다. 도 1을 참조하면, 일 실시예에 따른 데이터 암호화 시스템(100)은 배포자 환경(110), 데이터 암호화 장치(120) 및 배포 대상 환경(130)을 포함한다.
일 실시예에 따르면, 배포자 환경(110)은 애플리케이션이나 암호 키를 배포 대상 환경(130)으로 배포하는 시스템을 의미하며, 온 프레미스(On-Premise) 환경, 온 프렘(On-Prem) 환경 등으로도 지칭될 수 있다.
일 실시예에 따르면, 데이터 암호화 장치(120)는 배포자 환경으로부터 받은 데이터가 특정한 배포 대상 환경(130) 하에서만 복호화될 수 있도록 암호화하여 배포 대상 환경(130)으로 전송하는 기능을 수행하는 장치를 의미할 수 있다.
일 실시예에 따르면, 배포 대상 환경(130)(Distribution Target Environment, DTE)은 배포자 환경(110) 외부에 위치하여 애플리케이션이나 암호 키를 포함하는 정보가 배포되는 시스템을 의미할 수 있다.
예를 들어, 대표적인 배포 대상 환경(130)인 '클라우드(Cloud) 환경'은, 인터넷을 통해 가상화된 시스템 리소스(resource)를 제공하는 환경이며, 이를 통해 배포자는 자신이 보유한 처리 장치가 아닌 클라우드 환경 내의 처리 장치로 특정 연산 또는 작업을 처리할 수 있다.
또한, 배포 대상 애플리케이션은 배포자에 의해 다양한 배포 대상 환경(130)에 배포되어 배포 대상 환경(130) 내 키 관리 시스템, 데이터 복호화 장치(300) 및 배포 대상 환경(130) 내 데이터베이스 간의 정보 교환 기능을 수행하고, 배포자의 구동 명령을 수신하는 경우 데이터 복호화 장치(300)의 제어에 따라 배포 대상 데이터에 접근하는 장치를 의미한다.
또한,'배포 대상 환경(130) 내 키 관리 시스템(Key Management System, KMS)'은 배포 대상 환경(130)으로부터 암호 키를 생성하고 이를 암호화하며, 배포 대상 환경(130)으로부터 생성된 암호 키 및 이를 암호화한 값을 배포자 환경(110)으로 전송하는 장치를 의미한다.
또한, '배포 대상 환경(130) 내 데이터베이스'는 배포 대상 환경(130)으로 전송되는 복수의 정보를 저장하는 장치이며, '배포자 환경(110) 내 데이터베이스'는 배포자 환경(110)으로 전송되는 복수의 정보를 저장하는 장치를 의미한다.
또한, '배포 대상 데이터'는 배포자 환경(110)에서 생성되어 데이터 암호화 장치에서 암호화된 후 데이터 복호화 장치(300)로 전송되는 일련의 정보의 집합을 의미한다. 예를 들어, '배포 대상 데이터'는 하나 이상의 배포 대상 암호 키를 포함할 수 있다. 이하 도 4를 참조하여 상세히 설명한다.
또한, '배포 대상 데이터에 대한 접근 정보'는 배포 대상 데이터를 암호화 및 복호화하는 데 이용되는 일련의 정보의 집합을 의미한다.
또한, '접근 정보 기반 암호화(Access Information based Encryption, AIE)'는 특정 배포 대상 애플리케이션과 대응되는 특정 접근 정보에 기반하여 배포 대상 데이터를 암호화하여, 특정 배포 대상 애플리케이션에 한해서 배포 대상 데이터에 접근할 수 있도록 하는 암호화 기법을 의미한다.
도 2는 일 실시예에 따른 데이터 암호화 장치(120)를 설명하기 위한 블록도 이다. 도 2를 참조하면, 일 실시예에 따른 데이터 암호화 장치(120)는 수신부(122), 암호화부(124) 및 송신부(126)를 포함한다.
수신부(122)는 배포자 환경(110)으로부터 하나 이상의 배포 대상 암호 키를 포함하는 배포 대상 데이터 및 배포 대상 애플리케이션을 수신한다.
일 실시예에 따르면, 배포 대상 데이터는 배포 대상 애플리케이션을 구성하는 하나 이상의 호출 정보 및 배포 대상 애플리케이션의 하나 이상의 환경 변수 중 적어도 하나를 더 포함할 수 있다.
구체적으로, 하나 이상의 호출 정보는 배포 대상 애플리케이션을 구성하는 클래스(Class) 정보, 클래스를 구성하는 메소드(Method) 정보를 포함할 수 있다.
또한 구체적으로, 배포 대상 애플리케이션의 하나 이상의 환경 변수는 배포 대상 애플리케이션이 구동을 위해 배포 대상 데이터에 접근하는 경우 데이터 복호화 장치(300)가 확인하는 정보로써, 이 환경 변수는 하나 이상의 화이트 리스트(White List) 정보 및 하나 이상의 블랙 리스트(Black List) 정보 중 적어도 하나를 포함할 수 있다.
더욱 상세하게, 화이트 리스트 정보는, 배포 대상 데이터에 접근하는 배포 대상 애플리케이션이 구동되기 위해서 만족해야 하는 하나 이상의 조건으로써, 배포 대상 애플리케이션이 실행되는 경로 상의 위치, 배포 대상 애플리케이션의 운영체제 버전, 배포 대상 애플리케이션 시스템의 호스트 이름(host name) 등을 포함할 수 있다.
또한, 블랙 리스트 정보는, 배포 대상 데이터에 접근하는 배포 대상 애플리케이션이 구동되기 위해서 해당되지 않아야 하는 하나 이상의 조건으로써, 배포 대상 애플리케이션의 정상적인 구동 시 만족해서는 안 되는 특정 인자의 값, 특정 설정 등을 포함할 수 있다.
일 실시예에 따르면, 배포 대상 애플리케이션은 코드 서명(code sign)이 적용된 애플리케이션일 수 있으며, 배포 대상 데이터는 이 코드 서명을 검증하기 위한 코드 서명 공개 키(public key)를 더 포함할 수 있다.
이때, '코드 서명'은 서명 대상에 포함된 코드의 부분들이 변경되지 않고 신뢰할 수 있는지를 보증하는 기능을 수행할 수 있다.
암호화부(124)는 배포 대상 환경(130)으로부터 획득된 배포 대상 환경 암호 키 및 배포 대상 데이터에 대한 접근 정보를 이용하여 배포 대상 데이터를 중복 암호화한다.
일 실시예에 따르면, 배포 대상 환경(130)으로부터 획득된 배포 대상 환경 암호 키는 배포 대상 환경(130) 내 키 관리 시스템에서 생성될 수 있다.
일 실시예에 따르면, 배포 대상 데이터에 대한 접근 정보는 배포 대상 애플리케이션의 구동 시 참조하는 아이디(ID) 정보 및 패스워드(password) 정보를 포함할 수 있다.
일 실시예에 따르면, 배포 대상 데이터는 배포 대상 환경 암호 키를 배포 대상 환경(130)에서 암호화한 암호문을 더 포함할 수 있다.
일 실시예에 따르면, 암호화부(124)는 배포 대상 데이터에 대한 접근 정보를 이용하여 배포 대상 데이터를 1차 암호화하고, 배포 대상 환경 암호 키를 이용하여 1차 암호화된 배포 대상 데이터를 2차 암호화할 수 있다.
구체적으로, 암호화부(124)는 코드 서명된 배포 대상 애플리케이션을 검증하기 위한 코드 서명 공개 키를 배포 대상 데이터에 대한 접근 정보를 이용하여 암호화한 값을 배포 대상 데이터에 포함시킴으로써 배포 대상 데이터를 1차 암호화할 수 있다.
또한, 암호화부(124)는 배포 대상 환경(130)으로부터 획득된 배포 대상 환경 암호 키를 배포 대상 환경(130) 내 키 관리 시스템을 이용하여 암호화한 값을 배포 대상 데이터에 포함시킴으로써 배포 대상 데이터를 2차 암호화할 수 있다.
송신부(126)는 배포 대상 환경(130)으로 중복 암호화된 배포 대상 데이터 및 배포 대상 애플리케이션을 전송한다.
일 실시예에 따르면, 송신부(126)는 수신부(122)가 배포자 환경(110)으로부터 배포 요청을 수신하는 경우, 중복 암호화된 배포 대상 데이터를 배포 대상 환경(130)으로 전송할 수 있다.
이때, '배포 요청'은 데이터 암호화 장치(120)로 하여금 중복 암호화된 배포 대상 데이터를 배포 대상 환경(130) 내 데이터 복호화 장치(300)로 전송할 것을 요청하는 명령 또는 신호일 수 있다.
도 3은 일 실시예에 따른 데이터 복호화 장치(300)를 설명하기 위한 블록도이다. 도 3을 참조하면, 일 실시예에 따른 데이터 복호화 장치(300)는 수신부(310), 복호화부(320) 및 검증부(330)를 포함한다.
데이터 복호화 장치(300)는 배포자에 의해 다양한 배포 대상 환경(130)에 배포되어 데이터 암호화 장치(120)로부터 암호화된 배포 대상 데이터, 데이터 복호화를 위한 하나 이상의 정보 및 하나 이상의 암호 키를 수신하며, 이를 이용하여 배포 대상 환경(130)에 배포되는 암호화된 배포 대상 데이터가 기 설정된 조건 하에서만 복호화될 수 있도록 제어하는 장치를 의미한다. 예를 들어, 데이터 복호화 장치(300)는 상술한 제어를 위한 하나 이상의 명령어들을 실행하는 장치일 수 있다.
또한, 데이터 복호화 장치(300)가 배포자의 개입 없이 상술한 제어를 수행하는 경우, 데이터 복호화 장치(300)는 에이전트(Agent)로 지칭될 수 있다.
일 실시예에 따르면, 데이터 복호화 장치(300)는 배포 대상 데이터를 수신하기 위한 네트워크가 연결되어 있다면, 배포자 환경(110) 또는 데이터 암호화 장치(120)와의 사이에 그 외의 물리적, 전기적 연결이 존재하지 않더라도 이하 복수의 실시예에서 설명하는 기능을 수행할 수 있다.
일 실시예에 따르면, 데이터 복호화 장치(300)는 데이터 암호화 장치(120)로부터 배포 대상 데이터를 수신하기에 앞서, 배포 대상 애플리케이션이 배포 대상 환경(130)으로 배포될 때 함께 배포될 수 있다.
수신부(310)는 배포 대상 환경(130)으로 배포할 하나 이상의 암호 키를 포함하며, 배포 대상 환경(130)으로부터 획득된 배포 대상 환경 암호 키와 배포 대상 데이터에 대한 접근 정보를 이용하여 중복 암호화된 배포 대상 데이터를 수신한다.
복호화부(320)는 배포 대상 환경(130)으로부터 획득한 복호화 키를 이용하여 중복 암호화된 배포 대상 데이터를 1차 복호화하고, 1차 복호화에 성공한 경우, 배포 대상 데이터에 대한 접근 정보를 이용하여 1차 복호화 된 배포 대상 데이터를 2차 복호화한다.
구체적으로, 우선 1차 복호화에 있어서, 복호화부(320)는 배포 대상 환경(130)으로부터 획득된 배포 대상 환경 암호 키를 배포 대상 환경(130) 내 키 관리 시스템을 이용하여 암호화한 값을 배포 대상 환경(130) 내 키 관리 시스템을 이용하여 복호화한다.
이후, 복호화부(320)는 배포 대상 환경(130)으로부터 획득된 배포 대상 환경 암호 키와 대응되는 배포 대상 환경(130)으로부터 획득한 복호화 키를 이용하여 배포 대상 데이터를 복호화한다.
또한, 2차 복호화에 있어서, 복호화부(320)는 1차 복호화를 통해 복호화된 배포 대상 데이터에 접근하기 위해서 필요한 기 설정된 접근 정보와 배포 대상 애플리케이션의 설정 항목 내에 기 작성된 접근 정보가 동일한 정보인지를 확인하여 두 접근 정보가 동일한 경우에 한해 배포 대상 데이터를 복호화한다.
검증부(330)는 복호화부(320)가 2차 복호화에 성공한 경우, 배포 대상 데이터에 포함된 코드 서명 공개 키를 이용하여 배포 대상 애플리케이션의 코드 서명을 검증한다.
구체적으로, 검증부(330)는 배포 대상 애플리케이션의 코드 서명을 배포 대상 데이터 내의 코드 서명 공개 키를 이용하여 확인함으로써, 해당 배포 대상 애플리케이션이 배포자 환경(110)으로부터 배포된 것임을 검증한다. 만약 배포 대상 애플리케이션의 코드 서명이 배포 대상 데이터 내의 코드 서명 공개 키를 이용하여 확인되지 않는 경우, 검증부(330)는 해당 배포 대상 애플리케이션이 신뢰할 수 없는 환경으로부터 배포된 것으로 판단하고 해당 배포 대상 애플리케이션의 구동을 허용하지 않을 수 있다.
일 실시예에 따르면, 검증부(330)는 배포 대상 애플리케이션의 코드 서명을 신뢰할 수 있다고 판단한 경우, 배포 대상 애플리케이션 내의 데이터와 배포 대상 데이터를 비교하여 배포 대상 애플리케이션을 구동할 것인지 판단할 수 있다.
예를 들어, 검증부(330)는 배포 대상 애플리케이션 내의 데이터 중 호출 정보 및 환경 변수와 배포 대상 데이터 중 호출 정보 및 환경 변수를 비교하여, 비교 대상이 된 전체 호출 정보 및 환경 변수 중 기 설정된 비율 이상이 동일한 경우, 배포 대상 애플리케이션의 구동을 허용할 수 있다.
일 실시예에 따르면, 검증부(330)는 배포 대상 애플리케이션의 코드 서명의 검증에 성공한 경우, 코드 서명의 검증에 성공한 배포 대상 애플리케이션의 구동 시 기 설정된 주기에 따라 코드 서명의 검증을 수행할 수 있다.
구체적으로, 검증부(330)는 코드 서명의 검증에 성공한 배포 대상 애플리케이션이 구동된 후 배포자 환경(110)으로부터 해당 배포 대상 애플리케이션에 대한 구동 요청을 다시 수신한 경우, 해당 구동 요청이 배포 대상 애플리케이션의 최근 구동 시점으로부터 기 설정된 주기가 경과하기 이전에 수신된 것이라면, 해당 배포 대상 애플리케이션에 대한 코드 서명의 검증 없이 해당 배포 대상 애플리케이션의 구동을 허용할 수 있다.
도 4는 일 실시예에 따른 배포 대상 데이터를 설명하기 위한 도면이다.
도 4를 참조하면, 일 실시예에 따른 배포 대상 데이터는 헤더(header) 필드와 데이터 필드로 구성된다.
헤더 필드는, 헤더 길이(header length, 410), 타임스탬프(timestamp, 420), 데이터 길이(data length, 430) 및 암호화된 배포 대상 환경 암호 키(440)를 포함할 수 있다.
구체적으로, 헤더 길이(410)는 배포 대상 데이터 내의 헤더 필드의 길이에 대한 정보를 의미한다.
또한, 타임스탬프(420)는 배포 대상 데이터 생성에 소요된 시간에 대한 정보를 의미한다.
또한, 데이터 길이(430)는 복호화된 배포 대상 데이터의 데이터 필드의 전체 길이에 대한 정보를 의미한다.
또한, 암호화된 배포 대상 환경 암호 키(440)는 배포 대상 환경(130) 내 키 관리 시스템에서 생성된 암호 키를 배포 대상 환경(130) 내 키 관리 시스템을 이용하여 암호화한 결과 값을 포함할 수 있으며, 이 암호화한 결과 값은 배포 대상 환경(130) 내 키 관리 시스템을 이용하는 경우에 한하여 복호화가 가능하다.
일 실시예에 따르면, 배포 대상 환경(130) 내 키 관리 시스템은 하드웨어 토큰(hardware token) 방식, 패스워드 기반 암호화(Password-Based Encryption, PBE) 방식 등을 이용할 수 있다.
데이터 필드는, 배포 대상 환경 암호화 길이(450) 및 배포 대상 환경 암호화 데이터(460)를 포함할 수 있고, 배포 대상 환경 암호화 데이터(460)는 접근 정보 기반 암호화(Access Information based Encryption, AIE) 길이(461) 및 AIE 암호화 데이터를 포함할 수 있다.
구체적으로, 배포 대상 환경 암호화 길이(450)는 배포 대상 환경(130) 내 키 관리 시스템에서 생성된 암호 키를 이용하여 암호화한 배포 대상 데이터의 길이에 대한 정보를 의미한다.
또한, 배포 대상 환경 암호화 데이터(460)는 배포 대상 환경(130) 내 키 관리 시스템에서 생성된 암호 키를 이용하여 배포자 환경(110) 내 키 관리 시스템에서 암호화한 배포 대상 데이터에 대한 정보를 의미한다.
또한, AIE 암호화 길이(461)는 배포 대상 데이터에 대한 접근 정보를 이용하여 암호화한 배포 대상 데이터의 길이에 대한 정보를 의미한다.
또한, AIE 암호화 데이터는 배포 대상 데이터에 대한 접근 정보를 이용하여 배포자 환경(110) 내 키 관리 시스템에서 암호화한 배포 대상 데이터에 대한 정보를 의미한다.
예를 들어, AIE 암호화 데이터는 AIE 암호화 암호 키(462), AIE 암호화 코드 서명 공개 키(463), AIE 암호화 호출 정보(464) 및 AIE 암호화 환경 변수(465) 중 적어도 하나를 포함할 수 있다.
이때, AIE 암호화 암호 키(462)는 배포 대상 데이터에 대한 접근 정보를 이용하여 배포자 환경(110) 내 키 관리 시스템에서 암호화한 암호 키에 대한 정보를 의미한다.
또한, AIE 암호화 코드 서명 공개 키(463)는 배포 대상 데이터에 대한 접근 정보를 이용하여 배포자 환경(110) 내 키 관리 시스템에서 암호화한, 배포 대상 애플리케이션에 대한 코드 서명 검증을 위한 공개 키에 대한 정보를 의미한다.
또한, AIE 암호화 호출 정보(464)는 배포 대상 데이터에 대한 접근 정보를 이용하여 배포자 환경(110) 내 키 관리 시스템에서 암호화한, 배포 대상 애플리케이션 내의 클래스 및 메소드에 대한 정보를 의미한다.
또한, AIE 암호화 환경 변수(465)는 배포 대상 데이터에 대한 접근 정보를 이용하여 배포자 환경(110) 내 키 관리 시스템에서 암호화한, 배포 대상 애플리케이션을 구동할 때 참조하는 정보를 의미한다.
도 5는 일 실시예에 따른 데이터 암호화 방법을 설명하기 위한 흐름도이다.
도 5에 도시된 방법은 예를 들어, 상술한 데이터 암호화 장치(120)에 의해 수행될 수 있다.
도 5를 참조하면, 우선, 데이터 암호화 장치(120)는 배포자 환경(110)으로부터 하나 이상의 배포 대상 암호 키를 포함하는 배포 대상 데이터 및 배포 대상 애플리케이션을 수신한다(510).
이후, 데이터 암호화 장치(120)는 배포 대상 환경(130)으로 배포 대상 데이터에 대한 접근 정보 및 배포 대상 애플리케이션을 배포한다(520).
이후, 배포 대상 환경(130)으로부터 획득된 배포 대상 환경 암호 키 및 배포 대상 데이터에 대한 접근 정보를 이용하여 배포 대상 데이터를 중복 암호화한다(530).
이후, 데이터 암호화 장치(120)는 배포 대상 환경(130)으로 중복 암호화된 배포 대상 데이터를 전송한다(540).
도 5에 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 6은 일 실시예에 따른 데이터 복호화 방법을 설명하기 위한 흐름도이다.
도 6에 도시된 방법은 예를 들어, 상술한 데이터 복호화 장치(300)에 의해 수행될 수 있다.
도 6를 참조하면, 우선, 데이터 복호화 장치(300)는 배포 대상 환경(130)으로 배포할 하나 이상의 배포 대상 암호 키를 포함하며, 배포 대상 환경(130)으로부터 획득된 배포 대상 환경 암호 키와 배포 대상 데이터에 대한 접근 정보를 이용하여 중복 암호화된 배포 대상 데이터를 수신한다(610).
이후, 데이터 복호화 장치(300)는 배포 대상 환경(130)으로부터 획득한 복호화 키를 이용하여 중복 암호화된 배포 대상 데이터를 1차 복호화한다(620).
이후, 데이터 복호화 장치(300)는 중복 암호화된 배포 대상 데이터의 1차 복호화에 성공한 경우, 배포 대상 데이터에 대한 접근 정보를 이용하여 1차 복호화 된 배포 대상 데이터를 2차 복호화한다(630, 640).
이후, 데이터 복호화 장치(300)는 1차 복호화된 배포 대상 데이터의 2차 복호화에 성공한 경우, 배포 대상 데이터에 포함된 코드 서명 공개 키를 이용하여 배포 대상 애플리케이션의 코드 서명을 검증한다(650, 660).
도 6에 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 7은 다른 실시예에 따른 데이터 복호화 방법을 설명하기 위한 흐름도이다.
도 7에 도시된 방법은 예를 들어, 상술한 데이터 복호화 장치(300)에 의해 수행될 수 있다.
도 6을 참조하여 설명하였던 일 실시예에서의 단계 610 내지 660과 각각 대응되는 단계 720 내지 770은, 일 실시예에서 설명한 바와 동일 또는 유사한 단계인 바, 이에 대한 보다 구체적인 설명은 생략하도록 한다.
데이터 복호화 장치(300)는 데이터 암호화 장치(120)로부터 중복 암호화된 배포 대상 데이터를 수신하기 이전에, 배포 대상 애플리케이션이 배포 대상 환경(130)으로 배포될 때 함께 배포될 수 있다(710).
도 7에 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 데이터 암호화 장치(120)일 수 있다. 또한, 컴퓨팅 장치(12)는 데이터 복호화 장치(300)일 수도 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(102)와 연결될 수도 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 데이터 암호화 시스템
110: 배포자 환경
120: 데이터 암호화 장치
122: 수신부
124: 암호화부
126: 송신부
130: 배포 대상 환경
300: 데이터 복호화 장치
310: 수신부
320: 복호화부
330: 검증부

Claims (14)

  1. 배포자 환경으로부터 하나 이상의 배포 대상 암호 키를 포함하는 배포 대상 데이터 및 배포 대상 애플리케이션을 수신하는 수신부;
    배포 대상 환경으로부터 획득된 배포 대상 환경 암호 키 및 상기 배포 대상 데이터에 대한 접근 정보를 이용하여 상기 배포 대상 데이터를 중복 암호화하는 암호화부; 및
    상기 배포 대상 환경으로 상기 중복 암호화된 배포 대상 데이터 및 상기 배포 대상 애플리케이션을 전송하는 송신부를 포함하되,
    상기 암호화부는, 상기 배포 대상 데이터에 대한 접근 정보를 이용하여 상기 배포 대상 데이터를 1차 암호화하고, 상기 배포 대상 환경 암호 키를 이용하여 상기 1차 암호화된 배포 대상 데이터를 2차 암호화하는 것을 특징으로 하는 데이터 암호화 장치.
  2. 청구항 1에 있어서,
    상기 배포 대상 데이터는, 상기 배포 대상 애플리케이션을 구성하는 하나 이상의 호출 정보 및 상기 배포 대상 애플리케이션의 하나 이상의 환경 변수 중 적어도 하나를 더 포함하는, 데이터 암호화 장치.
  3. 청구항 1에 있어서,
    상기 접근 정보는, 상기 배포 대상 애플리케이션의 구동 시 참조하는 아이디(ID) 정보 및 패스워드(password) 정보를 포함하는, 데이터 암호화 장치.
  4. 청구항 1에 있어서,
    상기 배포 대상 애플리케이션은, 코드 서명이 적용된 애플리케이션이고,
    상기 배포 대상 데이터는, 상기 코드 서명을 검증하기 위한 공개 키(public key)를 더 포함하는, 데이터 암호화 장치.
  5. 청구항 1에 있어서,
    상기 배포 대상 데이터는, 상기 배포 대상 환경 암호 키를 상기 배포 대상 환경에서 암호화한 암호문을 더 포함하는, 데이터 암호화 장치.
  6. 삭제
  7. 배포 대상 환경으로 배포할 하나 이상의 암호 키를 포함하며, 상기 배포 대상 환경으로부터 획득한 배포 대상 환경 암호 키 및 배포 대상 데이터에 대한 접근 정보를 이용하여 중복 암호화된 배포 대상 데이터를 수신하는 수신부;
    상기 배포 대상 환경으로부터 획득한 복호화 키를 이용하여 상기 중복 암호화된 배포 대상 데이터를 1차 복호화하고, 상기 1차 복호화에 성공한 경우, 상기 배포 대상 데이터에 대한 접근 정보를 이용하여 상기 1차 복호화된 배포 대상 데이터를 2차 복호화하는 복호화부; 및
    상기 복호화부가 상기 2차 복호화에 성공한 경우, 상기 배포 대상 데이터에 포함된 코드 서명 공개 키를 이용하여 배포 대상 애플리케이션의 코드 서명을 검증하는 검증부를 포함하되,
    상기 수신된 배포 대상 데이터는, 상기 접근 정보를 이용하여 상기 배포 대상 데이터를 1차 암호화하고 상기 배포 대상 환경 암호 키를 이용하여 상기 1차 암호화된 배포 대상 데이터를 2차 암호화함으로써, 중복 암호화되는 것을 특징으로 하는 데이터 복호화 장치.
  8. 배포자 환경으로부터 하나 이상의 배포 대상 암호 키를 포함하는 배포 대상 데이터 및 배포 대상 애플리케이션을 수신하는 단계;
    배포 대상 환경으로 상기 배포 대상 데이터에 대한 접근 정보 및 상기 배포 대상 애플리케이션을 배포하는 단계;
    상기 배포 대상 환경으로부터 획득된 배포 대상 환경 암호 키 및 상기 접근 정보를 이용하여 상기 배포 대상 데이터를 중복 암호화하는 단계; 및
    상기 배포 대상 환경으로 상기 중복 암호화된 배포 대상 데이터를 전송하는 단계를 포함하되,
    상기 중복 암호화하는 단계는, 상기 배포 대상 데이터에 대한 접근 정보를 이용하여 상기 배포 대상 데이터를 1차 암호화하고, 상기 배포 대상 환경 암호 키를 이용하여 상기 1차 암호화된 배포 대상 데이터를 2차 암호화하는 것을 특징으로 하는 데이터 암호화 방법.
  9. 청구항 8에 있어서,
    상기 배포 대상 데이터는, 상기 배포 대상 애플리케이션을 구성하는 하나 이상의 호출 정보 및 상기 배포 대상 애플리케이션의 하나 이상의 환경 변수 중 적어도 하나를 더 포함하는, 데이터 암호화 방법.
  10. 청구항 8에 있어서,
    상기 접근 정보는, 상기 배포 대상 애플리케이션의 구동 시 참조하는 아이디(ID) 정보 및 패스워드(password) 정보를 포함하는, 데이터 암호화 방법.
  11. 청구항 8에 있어서,
    상기 배포 대상 애플리케이션은, 코드 서명이 적용된 애플리케이션이고,
    상기 배포 대상 데이터는, 상기 코드 서명을 검증하기 위한 공개 키(public key)를 더 포함하는, 데이터 암호화 방법.
  12. 청구항 8에 있어서,
    상기 배포 대상 데이터는, 상기 배포 대상 환경 암호 키를 상기 배포 대상 환경에서 암호화한 암호문을 더 포함하는, 데이터 암호화 방법.
  13. 삭제
  14. 배포 대상 환경으로 배포할 하나 이상의 암호 키를 포함하며, 상기 배포 대상 환경으로부터 획득한 배포 대상 환경 암호 키 및 배포 대상 데이터에 대한 접근 정보를 이용하여 중복 암호화된 배포 대상 데이터를 수신하는 단계;
    상기 배포 대상 환경으로부터 획득한 복호화 키를 이용하여 상기 중복 암호화된 배포 대상 데이터를 1차 복호화하는 단계;
    상기 1차 복호화에 성공한 경우, 상기 배포 대상 데이터에 대한 접근 정보를 이용하여 상기 1차 복호화 된 배포 대상 데이터를 2차 복호화하는 단계; 및
    상기 2차 복호화에 성공한 경우, 상기 배포 대상 데이터에 포함된 코드 서명 공개 키를 이용하여 배포 대상 애플리케이션의 코드 서명을 검증하는 단계를 포함하되,
    상기 수신된 배포 대상 데이터는, 상기 접근 정보를 이용하여 상기 배포 대상 데이터를 1차 암호화하고 상기 배포 대상 환경 암호 키를 이용하여 상기 1차 암호화된 배포 대상 데이터를 2차 암호화함으로써, 중복 암호화되는 것을 특징으로 하는 데이터 복호화 방법.
KR1020190137086A 2019-10-31 2019-10-31 데이터 보안 장치 및 방법 KR102644153B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190137086A KR102644153B1 (ko) 2019-10-31 2019-10-31 데이터 보안 장치 및 방법
US17/084,052 US20210135853A1 (en) 2019-10-31 2020-10-29 Apparatus and method for data security
EP20204926.8A EP3817276A1 (en) 2019-10-31 2020-10-30 Apparatus and method for data security

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190137086A KR102644153B1 (ko) 2019-10-31 2019-10-31 데이터 보안 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210051608A KR20210051608A (ko) 2021-05-10
KR102644153B1 true KR102644153B1 (ko) 2024-03-07

Family

ID=73043055

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190137086A KR102644153B1 (ko) 2019-10-31 2019-10-31 데이터 보안 장치 및 방법

Country Status (3)

Country Link
US (1) US20210135853A1 (ko)
EP (1) EP3817276A1 (ko)
KR (1) KR102644153B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101740256B1 (ko) * 2012-11-26 2017-06-09 한국전자통신연구원 모바일 앱 무결성 보증 장치 및 방법
US20190297063A1 (en) * 2018-03-22 2019-09-26 Cisco Technology, Inc. Iaas-aided access control for information centric networking with internet-of-things

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714201B (zh) * 2000-09-21 2016-02-03 黑莓有限公司 代码签字系统及方法
US20020184208A1 (en) * 2001-04-24 2002-12-05 Saul Kato System and method for dynamically generating content on a portable computing device
JP2004015753A (ja) * 2002-06-11 2004-01-15 Matsushita Electric Ind Co Ltd 情報配信システム、これに接続されるコンテンツ利用装置、これらを含む情報システム、およびプログラム
JP2005039569A (ja) * 2003-07-16 2005-02-10 Nippon Telegr & Teleph Corp <Ntt> 分散型サービス処理システム
US20050132054A1 (en) * 2003-12-10 2005-06-16 International Business Machines Corporation Fine-grained authorization by traversing generational relationships
US8812613B2 (en) * 2004-06-03 2014-08-19 Maxsp Corporation Virtual application manager
KR20150034591A (ko) * 2013-09-26 2015-04-03 서울대학교산학협력단 암호화된 데이터를 재암호화하는 클라우드 서버 및 그것의 재암호화 방법
WO2015065472A1 (en) * 2013-11-01 2015-05-07 Hewlett-Packard Development Company, L.P. Content encryption to produce multiply encrypted content
US9996601B2 (en) * 2013-11-14 2018-06-12 Empire Technology Development Llc Data synchronization
US9853811B1 (en) * 2014-06-27 2017-12-26 Amazon Technologies, Inc. Optimistic key usage with correction
KR102400477B1 (ko) * 2015-10-21 2022-05-23 삼성전자주식회사 어플리케이션을 관리하는 방법 및 그 장치
NL1041549B1 (en) * 2015-10-28 2017-05-24 Quiver B V A method, system, server, client and application for sharing digital content between communication devices within an internet network.
KR101966767B1 (ko) * 2017-05-31 2019-04-08 삼성에스디에스 주식회사 클라우드 서비스를 위한 암호화 키 관리 시스템
CN109218371B (zh) * 2017-07-06 2021-10-19 阿里巴巴集团控股有限公司 一种调用数据的方法和设备
KR101881856B1 (ko) 2017-08-31 2018-08-24 주식회사 스파이스웨어 클라우드 네트워크 환경에서 데이터 암호화 및 복호화 처리 방법
CN107800716B (zh) * 2017-11-14 2020-05-01 中国银行股份有限公司 一种数据处理方法及装置
SG10201805967SA (en) * 2018-07-11 2020-02-27 Mastercard International Inc Methods and systems for encrypting data for a web application

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101740256B1 (ko) * 2012-11-26 2017-06-09 한국전자통신연구원 모바일 앱 무결성 보증 장치 및 방법
US20190297063A1 (en) * 2018-03-22 2019-09-26 Cisco Technology, Inc. Iaas-aided access control for information centric networking with internet-of-things

Also Published As

Publication number Publication date
US20210135853A1 (en) 2021-05-06
KR20210051608A (ko) 2021-05-10
EP3817276A1 (en) 2021-05-05

Similar Documents

Publication Publication Date Title
EP3916604B1 (en) Method and apparatus for processing privacy data of block chain, device, storage medium and computer program product
CN111737366B (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
US20070047735A1 (en) Method, system and computer program for deploying software packages with increased security
US20180091487A1 (en) Electronic device, server and communication system for securely transmitting information
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
KR102013983B1 (ko) 애플리케이션 무결성 인증 방법 및 인증 서버
CN109358859B (zh) 在区块链网络中安装智能合约的方法、装置及存储介质
EP4322464A1 (en) Information transmission method, storage medium and electronic device
CN116490868A (zh) 用于可信执行环境中的安全快速机器学习推理的系统和方法
EP3531658B1 (en) Providing inter-enterprise data communications between enterprise applications on an electronic device
KR20200031803A (ko) 인증 시스템 및 방법
EP3885954B1 (en) Security reinforcement architecture, encryption and decryption method, car networking terminal, and vehicle
CN111538977A (zh) 云api密钥的管理、云平台的访问方法、装置及服务器
US10771462B2 (en) User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal
KR20230110287A (ko) 하드웨어 보안 모듈들의 원격 관리
CN113630412B (zh) 资源下载方法、资源下载装置、电子设备以及存储介质
CN113438205A (zh) 区块链数据访问控制方法、节点以及系统
CN117061105A (zh) 数据处理方法、装置、可读介质及电子设备
US20070263868A1 (en) Method and apparatus for securely executing a background process
KR102644153B1 (ko) 데이터 보안 장치 및 방법
US20210176049A1 (en) Trusted execution environment- based key management method
KR102424873B1 (ko) 비밀번호 및 행동 패턴을 이용한 멀티 팩터 인증 시스템 및 방법
US11722295B2 (en) Methods, apparatus, and articles of manufacture to securely audit communications
KR102526114B1 (ko) 암호화 및 복호화를 위한 장치 및 방법
KR101973578B1 (ko) 어플리케이션의 무결성 검증 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right