KR101595056B1 - System and method for data sharing of intercloud enviroment - Google Patents

System and method for data sharing of intercloud enviroment Download PDF

Info

Publication number
KR101595056B1
KR101595056B1 KR1020140089344A KR20140089344A KR101595056B1 KR 101595056 B1 KR101595056 B1 KR 101595056B1 KR 1020140089344 A KR1020140089344 A KR 1020140089344A KR 20140089344 A KR20140089344 A KR 20140089344A KR 101595056 B1 KR101595056 B1 KR 101595056B1
Authority
KR
South Korea
Prior art keywords
service provider
data
key
algorithm
security information
Prior art date
Application number
KR1020140089344A
Other languages
Korean (ko)
Other versions
KR20150101896A (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 경희대학교 산학협력단
Publication of KR20150101896A publication Critical patent/KR20150101896A/en
Application granted granted Critical
Publication of KR101595056B1 publication Critical patent/KR101595056B1/en

Links

Images

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/085Secret sharing or secret splitting, e.g. threshold schemes

Abstract

본 발명에 따른 인터클라우드 환경에서의 데이터 공유 시스템은 수신된 보안 정보에 기초하여 제1 키체인(Key Chain)을 생성하고, 생성된 제1 키체인을 통해 사용자 데이터를 분할 및 암호화(Encryption)하여 분할된 암호화 데이터를 생성하는 제1 서비스 제공자, 수신된 보안 정보에 기초하여 제2 키체인을 생성하고, 제1 서비스 제공자로부터 수신된 분할된 암호화 데이터를 생성된 제2 키체인으로 병합 및 복호화(Description)하는 제2 서비스 제공자 및 제1 서비스 제공자 및 제2 서비스 제공자에 보안 정보를 제공하는 통합 키 관리 장치를 포함한다.The data sharing system in the inter-cloud environment according to the present invention generates a first key chain based on the received security information, and divides and encrypts the user data through the generated first key chain Generating a second key chain based on the received security information, and merging and decrypting the divided encrypted data received from the first service provider into the generated second key chain (step < RTI ID = 0.0 > And an integrated key management device for providing security information to the first service provider and the second service provider.

Figure R1020140089344
Figure R1020140089344

Description

인터클라우드 환경에서의 데이터 공유 시스템 및 공유 방법{SYSTEM AND METHOD FOR DATA SHARING OF INTERCLOUD ENVIROMENT}SYSTEM AND METHOD FOR SHARING OF INTERCLOUD ENVIRONMENT IN INTERCLUDE ENVIRONMENT [0002]

본 발명은 클라우드 서비스의 보안과 관련된 기술로서, 보다 상세하게는 클라우드 서비스의 보안키 관리 방법에 관한 기술이다.The present invention relates to security of a cloud service, and more particularly, to a security key management method of a cloud service.

클라우드 컴퓨팅 서비스가 다양해지고 서비스의 질이 향상됨에 따라 단일 클라우드 서비스를 이용하기 보다는 클라우드 서비스 간 연동 및 협업하는 인터클라우드(Inter-Cloud)와 같은 서비스가 늘어나고 있다. 하지만, 서로 다른 클라우드 서비스 제공자를 기반으로 제공되는 인터클라우드 서비스는 몇 가지 문제점을 가지고 있다. As cloud computing services become more diverse and service quality improves, more and more services such as Inter-Cloud, which interoperate and collaborate with cloud services rather than single cloud services, are increasing. However, intercloud services based on different cloud service providers have some problems.

모든 클라우드 서비스가 사용자에 대한 개인키를 생성하여 데이터 암호화 서비스를 제공하고 암호화된 데이터를 다른 클라우드 서비스와 공유하는 경우, 안전한 데이터 공유를 위해서는 데이터가 암호화되어 타 클라우드 서비스 제공자에게 전송되어야 한다. 하지만, 이러한 경우 각 클라우드 서비스에서 제공하는 개인키가 모두 상이하므로 복호화가 불가능하다. 따라서, 각 클라우드 서비스는 사용자의 데이터를 암호화하는 개인키 관리와 데이터 공유를 위한 타 클라우드 서비스와 서로 암호화 및 복호화 가능한 키를 생성 및 관리해야 한다. 이러한 경우, 다양한 클라우드 서비스에 따라 암호화 키의 수가 늘어나기 때문에 키 관리가 어려워 질 수 있다. If all cloud services generate a private key for the user to provide data encryption services and share the encrypted data with other cloud services, the data must be encrypted and transmitted to the other cloud service provider for secure data sharing. However, in such a case, since the private keys provided by the respective cloud services are different, it is impossible to decrypt them. Therefore, each cloud service must generate and manage keys that can be encrypted and decrypted with the other cloud service for data sharing and private key management for encrypting the user's data. In such a case, key management may become difficult because the number of encryption keys increases according to various cloud services.

그리고, 클라우드 서비스 제공자간의 암호화된 데이터를 공유하기 위해서는 복호화가 가능한 키가 필요하다. 하지만, 키가 전달하는 과정이 많아지고 반복되다 보면 키가 노출될 수 있으며, 만약 노출될 경우 개인 데이터에 대한 위협과 관련 모든 클라우드 서비스에 위협이 될 수 있다. 또한, 클라우드 서비스 제공자간의 암호화 통신세션을 통하여 평문(Pain-text)의 데이터 전송이 가능하지만, 이러한 통신세션이 무력화될 경우 평문의 데이터는 그대로 노출이 될 수 있다. 예를 들어, HTTPS와 같은 암호화 통신프로토콜을 사용할 경우 SSL Strip기법과 같은 패킷 스니핑을 이용한 중간자 공격(Man In The Middle attack, MITM)에 의해 민감한 정보(데이터)가 포함된 메시지가 노출될 수 있다.And, in order to share encrypted data between cloud service providers, a decryptable key is needed. However, key propagation is more frequent and repetitive can expose keys and, if exposed, could pose a threat to personal data and all cloud services related to it. In addition, although data transmission of pain-text is possible through an encrypted communication session between cloud service providers, if the communication session is disabled, plain text data can be exposed. For example, when using an encrypted communication protocol such as HTTPS, a message containing sensitive information (data) may be exposed by a Man In The Middle attack (MITM) using packet sniffing such as SSL Strip.

대한민국 공개특허 제10-2014-0009708호는 클라우드 컴퓨팅 환경에서 암호화를 위한 사용자 단말 장치 및 암호화 방법을 개시하고 있다. 대한민국 공개특허 제10-2014-0009708호는 서버와 단말 사이의 암호화에 있어서 후킹 모듈을 사용해 보안 데이터를 모니터링하는 내용만을 포함하고 있을 뿐, 복잡한 암호화키의 관리 효율을 높여주지 못한다.Korean Patent Laid-Open No. 10-2014-0009708 discloses a user terminal device and an encryption method for encryption in a cloud computing environment. Korean Patent Laid-Open Publication No. 10-2014-0009708 only includes contents for monitoring security data using a hooking module in encryption between a server and a terminal, and does not improve management efficiency of a complicated encryption key.

대한민국 공개특허 제10-2014-0009708호Korean Patent Publication No. 10-2014-0009708

본 발명이 해결하고자 하는 과제는 서로 다른 클라우드 서비스 제공자 간의 안전한 데이터 공유가 가능하도록 통합적인 키 관리를 제공하고, 키가 노출되더라도 안전하게 서비스를 제공받을 수 있는 안전한 데이터 공유 시스템 및 공유 방법을 제공하는 것이다.A problem to be solved by the present invention is to provide a secure data sharing system and a sharing method that can provide integrated key management to enable safe data sharing among different cloud service providers and securely provide services even when keys are exposed .

본 발명에 따른 인터클라우드 환경에서의 데이터 공유 시스템은 수신된 보안 정보에 기초하여 제1 키체인(Key Chain)을 생성하고, 생성된 제1 키체인을 통해 사용자 데이터를 분할 및 암호화(Encryption)하여 분할된 암호화 데이터를 생성하는 제1 서비스 제공자, 수신된 보안 정보에 기초하여 제2 키체인을 생성하고, 제1 서비스 제공자로부터 수신된 분할된 암호화 데이터를 생성된 제2 키체인으로 병합 및 복호화(Description)하는 제2 서비스 제공자 및 제1 서비스 제공자 및 제2 서비스 제공자에 보안 정보를 제공하는 통합 키 관리 장치를 포함한다.The data sharing system in the inter-cloud environment according to the present invention generates a first key chain based on the received security information, and divides and encrypts the user data through the generated first key chain Generating a second key chain based on the received security information, and merging and decrypting the divided encrypted data received from the first service provider into the generated second key chain (step < RTI ID = 0.0 > And an integrated key management device for providing security information to the first service provider and the second service provider.

통합 키 관리 장치는 제1 서비스 제공자 및 제2 서비스 제공자 사이의 인증을 수행할 수 있다. 그리고, 제1 서비스 제공자는 사용자로부터 업로드된 사용자 데이터를 개인키를 이용하여 암호화하여 저장하고, 제2 서비스 제공자로부터 저장된 사용자 데이터의 공유 요청이 수신되면, 저장된 사용자 데이터를 개인키를 이용하여 복호화한 후, 제1 체인키를 이용하여 상기 사용자 데이터를 다시 암호화한다. 이 과정에서, 통합 키 관리 장치는 키체인 알고리즘 및 시작점을 결정하고, 결정된 키체인 알고리즘 및 시작점에 대한 정보를 포함하는 보안 정보를 생성한다. 통합 키 관리 장치는 해시 연쇄 함수(Hash Chain Function) 알고리즘 및 테슬라(TESLA) 알고리즘 등과 같은 키 체인 알고리즘들 중에서 어느 하나의 알고리즘을 선택하여 데이터 암호화에 사용될 키체인 알고리즘으로 결정할 수 있다. 제1 서비스 제공자는 전송할 데이터를 정해진 크기의 데이터 블록(Data Block)으로 분할하고 수신된 보안 정보인 선택된 키체인 알고리즘 정보와 생성된 키 체인을 사용할 시작점에 관한 정보에 따라 키체인 생성과 시작점부터의 키 체인을 이용하여 한 데이터 블록당 하나의 암호화 키로 데이터 블록를 암호화한다. 제2 서비스 제공자는 수신된 보안 정보인 선택된 키체인 알고리즘과 키체인 사용 시작점에 따라 키 체인을 생성 및 시작점의 복호화 키를 이용하여 복호화 및 데이터 병합을 수행한다. 그리고, 제1 서비스 제공자 및 제2 서비스 제공자는 제2 서비스 제공자가 분할된 암호화 데이터를 복호화한 후, 제1 키체인 및 제2 키체인을 삭제한다.The integrated key management device may perform authentication between the first service provider and the second service provider. The first service provider encrypts the user data uploaded from the user using the private key and stores the encrypted user data. When the sharing request of the stored user data is received from the second service provider, the stored user data is decrypted using the private key And then re-encrypts the user data using the first chain key. In this process, the integrated key management apparatus determines the key chain algorithm and the starting point, and generates security information including information on the determined key chain algorithm and the starting point. The integrated key management apparatus can select any one of key chain algorithms such as a hash chain function algorithm and a TESLA algorithm to determine a key chain algorithm to be used for data encryption. The first service provider divides the data to be transmitted into data blocks of a predetermined size, and generates keychain information from the generated keychain algorithm information and information on the starting point of using the generated keychain, The data block is encrypted with one encryption key per data block using the keychain. The second service provider generates a key chain according to the selected key chain algorithm, which is the received security information, and the key chain start point, and performs decoding and data merge using the decryption key of the start point. Then, the first service provider and the second service provider delete the first keychain and the second keychain after the second service provider decrypts the divided encrypted data.

본 발명에 따른 인터클라우드 환경에서의 데이터 공유 방법은 먼저, 통합 키 관리장치에서 보안 정보(선택된 키체인 알고리즘 정보와 키체인 사용 시작점 정보)를 생성한다. 그리고, 생성된 보안 정보에 기초하여 제1 서비스 제공자가 제1 키 체인을 생성하고, 제1 키체인을 통해 사용자 데이터를 분할 및 암호화하여 분할된 암호화 데이터를 생성한다. 그리고, 생성된 보안 정보에 기초하여 제2 서비스 제공자가 제2 키체인을 생성하고, 제1 서비스 제공자로부터 수신된 분할된 암호화 데이터를 제2 키체인을 통해 복호화한다.In the data sharing method in the inter-cloud environment according to the present invention, security information (key chain algorithm information and key chain usage starting point information) is generated in the integrated key management device. The first service provider generates the first key chain based on the generated security information, and divides and encrypts the user data through the first key chain to generate the divided encrypted data. Then, the second service provider generates the second key chain based on the generated security information, and decrypts the divided encrypted data received from the first service provider through the second key chain.

본 발명에 따른 인터클라우드 환경에서의 데이터 공유 시스템 및 공유 방법은 클라우드 서비스 제공자간의 안전한 데이터 공유와 암호화 키 통합관리로 중복적인 키 관리 시스템 개발을 막아 개발 비용을 절감할 수 있다. 또한, 키가 노출되더라도 통신이 끝난 후에는 키를 삭제하는 일회용 암호화키 사용으로 키가 노출되더라도 시스템 및 데이터에 대한 위협을 줄일 수 있다.The data sharing system and the sharing method in the intercloud environment according to the present invention can reduce the development cost by preventing the development of the redundant key management system by secure data sharing and encryption key integration management among the cloud service providers. In addition, even if the key is exposed, the use of a one-time encryption key that deletes the key after communication is completed can reduce the threat to the system and data even if the key is exposed.

도 1은 본 발명에 따른 인터클라우드 환경에서의 데이터 공유 시스템의 일 실시예를 나타내는 구성도이다.
도 2는 본 발명의 일 실시예에 따른 인터클라우드 환경에서의 데이터 공유 시스템의 키체인을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 인터클라우드 환경에서의 데이터 공유 시스템의 데이터 처리 과정을 나타내는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 인터클라우드 환경에서의 데이터 공유 방법을 나타내는 흐름도이다.
1 is a configuration diagram illustrating an embodiment of a data sharing system in an inter-cloud environment according to the present invention.
2 is a view for explaining a key chain of a data sharing system in an inter-cloud environment according to an embodiment of the present invention.
3 is a flowchart illustrating a data processing process of a data sharing system in an inter-cloud environment according to an embodiment of the present invention.
4 is a flowchart illustrating a data sharing method in an intercloud environment according to an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세하게 설명한다. 본 명세서에서 사용되는 용어 및 단어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 발명의 의도 또는 관례 등에 따라 달라질 수 있다. 따라서 후술하는 실시예에서 사용된 용어는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The terms and words used in the present specification are selected in consideration of the functions in the embodiments, and the meaning of the terms may vary depending on the intention or custom of the invention. Therefore, the terms used in the following embodiments are defined according to their definitions when they are specifically defined in this specification, and unless otherwise specified, they should be construed in a sense generally recognized by those skilled in the art.

도 1은 본 발명에 따른 인터클라우드 환경에서의 데이터 공유 시스템의 일 실시예를 나타내는 구성도이다.1 is a configuration diagram illustrating an embodiment of a data sharing system in an inter-cloud environment according to the present invention.

도 1을 참조하면, 본 발명에 따른 인터클라우드 환경에서의 데이터 공유 시스템은 통합 키 관리 장치(110), 제1 서비스 제공자(120) 및 제2 서비스 제공자(130)를 포함할 수 있다.Referring to FIG. 1, a data sharing system in an inter-cloud environment according to the present invention may include an integrated key management apparatus 110, a first service provider 120, and a second service provider 130.

통합 키 관리 장치(110)는 제1 서비스 제공자(120)로부터 사용자 데이터를 제2 서비스 제공자(130)와 공유하겠다는 요청이 수신되면, 제1 서비스 제공자(120) 및 제2 서비스 제공자(130)에 대한 인증을 수행한다. 그리고, 통합 키 관리 장치(110)는 키체인 알고리즘 정보 및 시작점 정보를 포함하는 보안 정보를 제1 서비스 제공자(120) 및 제2 서비스 제공자(130)로 전달한다.The integrated key management apparatus 110 may send a request to the first service provider 120 and the second service provider 130 when a request to share the user data with the second service provider 130 is received from the first service provider 120 . The integrated key management apparatus 110 transmits security information including key chain algorithm information and starting point information to the first service provider 120 and the second service provider 130.

제1 서비스 제공자(120) 및 제2 서비스 제공자(130)는 사용자에게 클라우드 서비스를 제공하는 클라우드 서비스 제공자를 나타낸다. 그리고, 제1 서비스 제공자(120) 및 제2 서비스 제공자(130)는 사용자의 데이터를 안전하게 저장 및 관리하기 위한 개인키를 생성한다. 제1 서비스 제공자(120) 및 제2 서비스 제공자(130)는 생성된 개인키를 이용하여 사용자로부터 업로드(Upload) 된 데이터를 개인키를 이용하여 암호화(Encryption)하여 저장한다. 제1 서비스 제공자(120)에서 생성된 개인키와 제2 서비스 제공자(130)에서 생성된 개인키는 서로 상이하다. 즉, 서로 다른 클라우드 서비스 제공자는 각각의 개인키를 이용하여 사용자의 데이터를 암호화하여 저장한다.The first service provider 120 and the second service provider 130 represent a cloud service provider providing cloud services to the user. The first service provider 120 and the second service provider 130 generate a private key for securely storing and managing the user's data. The first service provider 120 and the second service provider 130 encrypt the data uploaded from the user using the generated private key using a private key and store the encrypted data. The private key generated by the first service provider 120 and the private key generated by the second service provider 130 are different from each other. That is, the different cloud service providers encrypt and store the user's data using respective private keys.

사용자는 서로 다른 클라우드 서비스 제공자(110,120) 사이에서 업로드 된 데이터를 공유할 수 있다. 예를 들어, 사용자는 제1 서비스 제공자(120)에 업로드 된 데이터를 제2 서비스 제공자(130)를 통해 공유할 수 있다. 제1 서비스 제공자(120)는 제2 서비스 제공자(130)로부터 데이터 공유 요청이 수신되면, 소정의 인증 절차를 거쳐 제2 서비스 제공자(130)를 승인한다. A user may share uploaded data between different cloud service providers 110 and 120. For example, the user may share data uploaded to the first service provider 120 through the second service provider 130. [ When the first service provider 120 receives a data sharing request from the second service provider 130, the first service provider 120 approves the second service provider 130 through a predetermined authentication procedure.

제2 서비스 제공자(130)가 인증되면, 제1 서비스 제공자(120)는 통합 키 관리 장치(110)에 제2 서비스 제공자(130)와의 통신을 요청한다. 통합 키 관리 장치(110)로부터 보안 정보가 전달되면, 제1 서비스 제공자(120)는 수신된 보안 정보에 기초하여 제1 키체인(Key Chain)을 생성한다. 그리고, 제1 서비스 사용자(110)는 제1 키체인에 기초하여 사용자의 데이터를 일정크기로 세분화하여 둘 이상의 사용자 데이터로 분할하고 분할된 둘 이상의 사용자 데이터를 키체인으로 암호화하여 제2 서비스 사용자(120)로 전달한다. 보안 정보는 키체인 알고리즘에 따라 사용자 데이터를 분할 및 암호화하기 위한 정보로서 후술하는 도 2에서 추가적으로 설명하도록 한다.When the second service provider 130 is authenticated, the first service provider 120 requests the integrated key management device 110 to communicate with the second service provider 130. When security information is transmitted from the integrated key management device 110, the first service provider 120 generates a first key chain based on the received security information. The first service user 110 subdivides the user's data into a predetermined size based on the first key chain, divides the data into two or more pieces of user data, encrypts the divided two or more pieces of user data into a key chain, 120). The security information is information for dividing and encrypting the user data according to the key chain algorithm, and will be further described in FIG. 2 to be described later.

제1 서비스 제공자(120)는 저장된 사용자 데이터가 개인키를 통해 암호화되어 있다면, 키체인을 통해 분할 및 암호화하기 이전에 개인키를 통해 복호화를 먼저 수행할 수 있다. 그리고, 제1 서비스 제공자(120)는 암호화 된 사용자 데이터를 제2 서비스 사용자(120)로 전달할 때, 암호통신 프로토콜을 이용하여 이중 암호화하여 전달할 수 있다.The first service provider 120 may first perform decryption via the private key before partitioning and encrypting through the keychain if the stored user data is encrypted with the private key. When the first service provider 120 transmits the encrypted user data to the second service user 120, the first service provider 120 can double-encrypt the encrypted user data using the encrypted communication protocol.

제2 서비스 제공자(130)는 사용자 데이터를 공유하기 위해 제1 서비스 제공자(120)에 데이터 공유 요청을 전달한다. 제1 서비스 제공자(120)가 제2 서비스 제공자(130)를 인증하면, 통합 키 관리 장치(110)로부터 키체인 알고리즘의 종류 및 시작점 정보가 포함된 보안 정보를 수신한다. 제2 서비스 제공자(130)로 전달된 보안 정보는 제1 서비스 제공자(120)로 전달된 보안 정보와 동일하다. 제2 서비스 제공자(130)는 수신된 보안 정보에 기초하여 제2 키체인을 생성한다. 제1 키체인 및 제2 키체인은 동일한 보안 정보에 따라 생성되었기 때문에, 서로 동일한 키체인이 된다.The second service provider 130 delivers a data sharing request to the first service provider 120 to share the user data. When the first service provider 120 authenticates the second service provider 130, it receives the security information including the type of the key chain algorithm and the starting point information from the integrated key management device 110. The security information delivered to the second service provider 130 is the same as the security information delivered to the first service provider 120. The second service provider 130 generates the second key chain based on the received security information. Since the first keychain and the second keychain are generated according to the same security information, they become the same keychain.

그리고, 제2 서비스 제공자(130)는 제1 서비스 제공자(120)로부터 수신된 분할된 암호화 데이터를 생성된 제2 키체인을 이용하여 복호화한다. 제1 서비스 제공자(120)로부터 수신된 분할된 암호화 데이터는 보안 정보에 기초하여 생성된 키체인을 통해 분할 및 암호화되어 있다. 제2 서비스 제공자(130)는 제1 서비스 제공자(120)와 보안 정보를 이용하여 제1 키체인과 동일한 제2 키체인을 생성한다. 그리고, 제2 서비스 제공자(130)는 수신된 분할 및 암호화 된 사용자 데이터를 제1 키체인과 동일한 제2 키체인을 이용하여 순서대로 복호화 및 데이터 병합을 수행한다.Then, the second service provider 130 decrypts the divided encrypted data received from the first service provider 120 using the generated second key chain. The partitioned encrypted data received from the first service provider 120 is partitioned and encrypted through the keychain generated based on the security information. The second service provider 130 generates the same second key chain as the first key chain using the security information with the first service provider 120. [ Then, the second service provider 130 decrypts and merges the received divided and encrypted user data in order using the same second keychain as the first keychain.

제2 서비스 제공자(130)에서 사용자 데이터를 복호화하는데 이용된 제2 키체인과 제1 서비스 제공자(120)에서 사용자 데이터를 암호화하는데 이용된 제1 키체인은 은 사용자 데이터를 복호화한 후 삭제된다. 제1 서비스 제공자(120) 및 제2 서비스 제공자(130) 사이의 데이터 공유가 끝난 경우, 제1 서비스 제공자(120) 및 제2 서비스 제공자(130)는 생성된 키체인을 삭제하여 키 노출을 최소화한다.The second keychain used to decrypt the user data at the second service provider 130 and the first keychain used to encrypt the user data at the first service provider 120 are decrypted after decrypting the user data. When data sharing between the first service provider 120 and the second service provider 130 is completed, the first service provider 120 and the second service provider 130 delete the generated key chain to minimize the key exposure do.

도 2는 본 발명의 일 실시예에 따른 인터클라우드 환경에서의 데이터 공유 시스템의 키체인을 설명하기 위한 도면이다.2 is a view for explaining a key chain of a data sharing system in an inter-cloud environment according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 인터클라우드 환경에서의 데이터 공유 시스템의 제1 서비스 제공자(120) 및 제2 서비스 제공자(130)에서 생성하는 키체인은 해시 연쇄 함수(Hash Chain Function) 알고리즘 또는 테슬라 알고리즘 등을 기반으로 생성될 수 있다. 2, a key chain generated by the first service provider 120 and the second service provider 130 of the data sharing system in the inter-cloud environment according to an embodiment of the present invention includes a hash chain function Function) algorithm or a Tesla algorithm.

해시 연쇄 함수는 키를 연속적으로 생성하여 데이터의 조각을 해시 함수 기반으로 암호화하여 제공한다. 컴퓨터 보안에서 해시 연쇄 함수는 암호화 키 또는 패스워드를 일회성 키로 만들어내는 방법 중 하나이다. 해시 연쇄는 데이터의 조각을 연속적으로 암호화하기 때문에 부인방지를 위해 연대표(순번)을 기록하여 데이터와 함께 전송한다. 해시 연쇄 함수를 이용한 키체인 암호화 기법은 문자 x값으로 암호화 해시 함수 h(x)를 연속적으로 적용하는 암호화 알고리즘이다. 해시 연쇄 함수는 예를 들어, h(h(h(h(x))))이 될 때 해시 체인 길이(Length)는 4이며 h4(x)라고 표기할 수 있다.또 다른 키체인 생성 방법으로 테슬라 알고리즘을 이용할 수 있다. 테슬라 기법은 키 생성이 역방향으로 이루어지기 때문에 사전에 데이터의 크기를 알고 있어야 한다.The hash chain function generates a key successively and provides a piece of data encrypted based on a hash function. In computer security, a hash chaining function is one way to generate an encryption key or password as a one-time key. Since the hash chain encrypts fragments of data continuously, it transmits the data together with the data by recording the time table (order number) for the purpose of preventing non-repudiation. Key chain encryption using a hash chain function is an encryption algorithm that continuously applies a cryptographic hash function h (x) to a character x value. The hash chain function is, for example, h (h (h (x))), and the length of the hash chain is 4 and h 4 (x). Can use the Tesla algorithm. The Tesla technique requires that the size of the data be known in advance because key generation is performed in the reverse direction.

본 발명의 일 실시예에 따른 인터클라우드 환경에서의 데이터 공유 시스템은 이와 같은 방법을 이용하여 키체인을 생성하고, 생성된 키체인을 통해 사용자 데이터를 분할/암호화 및 병합/복호화한다.The data sharing system in the inter-cloud environment according to an embodiment of the present invention generates a key chain using such a method and divides / encrypts / merges / decodes user data through the generated key chain.

통합 키 관리 장치(110)는 제1 서비스 제공자(120) 및 제2 서비스 제공자(130)로 보안 정보를 전달한다. 통합 키 관리 장치(110)로부터 전달되는 보안 정보는 키체인 알고리즘 종류, 시작점 정보를 포함한다. 제1 서비스 제공자(120) 및 제2 서비스 제공자(130)는 수신된 보안 정보에 포함된 키체인 알고리즘 종류, 시작점 정보 및 체인 길이 정보를 이용하여 키체인을 생성한다. 키체인 알고리즘 종류는 다양한 키체인 알고리즘 중에서 선책된 키체인 알고리즘의 종류를 나타낸다. 그리고, 시작점 정보는 키체인이 몇 번째 암호화 키부터 생성될 지를 나타내는 시작점에 대한 정보이다. 그리고, 체인 길이 정보는 생성되는 키체인의 개수로서, 사용자 데이터의 분할 개수를 나타낸다. 체인 길이 정보는 사용자 데이터의 파일 크기 및 사전 설정에 따라 달라질 수 있다.The integrated key management device 110 delivers security information to the first service provider 120 and the second service provider 130. Security information transmitted from the integrated key management device 110 includes a key chain algorithm type and start point information. The first service provider 120 and the second service provider 130 generate a key chain using the key chain algorithm type, start point information, and chain length information included in the received security information. The keychain algorithm type indicates the kind of keychain algorithm that is selected among various keychain algorithms. The starting point information is information on a starting point indicating how many key ciphers the keychain will be generated from. The chain length information is the number of generated key chains and indicates the number of divided user data. The chain length information may vary depending on the file size of the user data and the preset.

도 2는 해시 체인 함수를 이용한 키체인 알고리즘의 실시예를 나타낸다. 제1 서비스 제공자(120)는 수신된 보안정보(211)를 통해 키체인 알고리즘의 종류가 해시 체인 알고리즘이고, 시작점이 3이라는 것을 확인한다. 그리고, 제1 서비스 제공자(120)는 수신된 사용자 데이터를 분할(212)하고, 수신된 보안정보(211)를 통해 키체인(213)을 생성한다. 다음으로, 분할된 사용자 데이터를 키체인을 통해 암호화(214)하여 제2 서비스 제공자(130)로 전달한다. 제2 서비스 제공자(130)는 수신된 보안정보(221)를 통해 키체인(222)을 생성하고, 생성된 키체인(222)을 통해 암호화 데이터(214)를 복호화(223)하고, 병합(224)하여 사용자 데이터를 복원한다.2 shows an embodiment of a key chain algorithm using a hash chain function. The first service provider 120 confirms that the type of the key chain algorithm is the hash chain algorithm and the starting point is 3 through the received security information 211. Then, the first service provider 120 divides the received user data 212 and generates the key chain 213 through the received security information 211. Next, the divided user data is encrypted (214) through the keychain and transferred to the second service provider (130). The second service provider 130 generates the key chain 222 through the received security information 221 and decrypts 223 the encrypted data 214 through the generated key chain 222, ) To restore the user data.

예를 들어, 보안 정보에 포함된 키체인 알고리즘이 해시 체인 함수이고, 시작점 정보가 4번이고 체인 길이(사용자 데이터의 분할 개수)가 10개일 경우, 제1 서비스 제공자(120)는 사용자 데이터를 10개의 조각으로 분할하고, 해시 체인 함수에 정해진 x값을 이용하여 키체인 4번부터 13번까지 데이터 조각 10개에 대해서 암호화를 수행한다. 해시 체인 함수에서 정해진 x 값은 사전에 제1 서비스 제공자(120) 및 제2 서비스 제공자(130)에서 정의된 값으로, 해쉬 연쇄 알고리즘에서 사용되는 변수이다. x값을 이용하여 첫 번째 키체인을 생성하고, 첫 번째 키체인 값을 이용하여 두 번째 키체인값을 생성한다. 따라서, x는 키체인을 생성하는 첫 번째 변수가 되기 때문에, 제1 서비스 제공자(120) 및 제2 서비스 제공자(130) 모두 사전에 x 값을 알고 있어야 한다. For example, if the key chain algorithm included in the security information is a hash chain function, the starting point information is 4, and the chain length (the number of divided user data) is 10, the first service provider 120 sets the user data to 10 And carries out encryption for 10 data pieces from key chains 4 to 13 using the x value set in the hash chain function. The x value defined in the hash chain function is a value previously defined in the first service provider 120 and the second service provider 130 and used in the hash chain algorithm. Generate the first keychain using the x value, and generate the second keychain value using the first keychain value. Thus, since x is the first variable to generate the keychain, both the first service provider 120 and the second service provider 130 must know the x value in advance.

그리고, 제1 서비스 제공자(120)는 시작점 정보 4에 기반하여, h4(x)부터 h13(x)까지 총 10개의 키 값을 생성하고, 10개로 분할된 사용자 데이터와 10개의 키를 대응시켜 암호화하여, 제1 암호화 데이터(Encrypted Data 1)부터 제10 암호화 데이터(Encrypted Data 10)를 포함하는 분할된 암호화 데이터를 생성한다. 즉, 제1 서비스 제공자(120)는 Data1+key(h4(x))= Encrypted Data 1부터 Data10+key(h13(x))= Encrypted Data 10으로 10개의 데이터 조각을 암호화한다. 분할된 암호화 데이터가 생성되면, 제1 서비스 제공자(120)는 10개의 암호화된 데이터를 포함하는 분할된 암호화 데이터를 제2 서비스 제공자(130)로 전달한다.The first service provider 120 generates a total of 10 key values from h4 (x) to h13 (x) based on the starting point information 4, encrypts 10 pieces of user data and 10 keys in correspondence with each other, And generates divided encrypted data including the first encrypted data (Encrypted Data 1) to the tenth encrypted data (Encrypted Data 10). That is, the first service provider 120 encrypts 10 data pieces from Data 1 + key (h 4 (x)) = Encrypted Data 1 to Data 10 + key (h 13 (x)) = Encrypted Data 10. When divided encrypted data is generated, the first service provider 120 forwards the divided encrypted data including the ten encrypted data to the second service provider 130.

제2 서비스 제공자(110)는 제1 서비스 제공자(120)와 동일하게, 수신된 보안 정보에 기초하여 제2 키체인을 생성하고, 생성된 키체인을 통해 제1 서비스 제공자(120)로부터 수신된 10개의 암호화된 데이터를 포함하는 분할된 암호화 데이터를 병합 및 복호화한다. 그리고, 제1 서비스 제공자(120) 및 제2 서비스 제공자(130)는 작업 종료 후 생성된 키체인을 삭제하여 키체인 노출을 최소화한다.The second service provider 110 generates a second key chain based on the received security information in the same manner as the first service provider 120 and transmits the second key chain to the second service provider 120 via the generated key chain And merges and decrypts the divided encrypted data including ten encrypted data. Then, the first service provider 120 and the second service provider 130 delete the keychain generated after the end of the job, thereby minimizing the keychain exposure.

도 2의 실시예에서는 해시 체인 알고리즘을 사용하였으며, 테슬라 알고리즘 및 해시 체인 알고리즘 중에서 어느 하나의 알고리즘을 선택하는 것으로 기재되어 있으나, 키체인 알고리즘의 종류를 상술한 두 가지 알고리즘으로 한정하는 것은 아니며, 일반적으로 사용되는 키체인 알고리즘을 제약 없이 적용할 수 있다.In the embodiment of FIG. 2, a hash chain algorithm is used and it is described that one of the algorithms is selected from the Tesla algorithm and the hash chain algorithm. However, the kind of the key chain algorithm is not limited to the two algorithms described above, Can be applied without restriction.

도 3은 본 발명의 일 실시예에 따른 인터클라우드 환경에서의 데이터 공유 시스템의 데이터 처리 과정을 나타내는 흐름도이다.3 is a flowchart illustrating a data processing process of a data sharing system in an inter-cloud environment according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일 실시예에 따른 인터클라우드 환경에서의 데이터 공유 시스템의 데이터 처리 과정은 먼저, 사용자로부터 사용자 데이터를 수신한 제1 서비스 제공자(120)는 수신된 사용자 데이터를 개인키를 이용하여 암호화하여 저장한다(301). 제1 서비스 제공자(120)는 사용자에게 클라우드 서비스를 제공한다. 따라서, 사용자는 본인이 소유한 데이터를 제1 서비스 제공자(120)에 전달하여 저장할 수 있다. 제1 서비스 제공자(120)는 사용자로부터 데이터가 수신되면, 수신된 데이터를 저장하기 전에 보안을 위하여 일반적으로 이용되는 개인키를 통해 데이터를 암호화하여 저장할 수 있다. 그리고, 제2 서비스 제공자(130)로부터 데이터 공유 요청이 수신(302)되면, 제1 서비스 제공자(120)는 개인키를 이용하여 저장된 사용자 데이터를 복호화한다(303). 인터클라우드 환경에서 사용자는 하나의 클라우드 서비스에 업로드한 데이터를 다른 클라우드 서비스를 통해 공유할 수 있다. 따라서, 이와 같은, 클라우드 공유 서비스를 위해 제2 서비스 제공자(130)는 제1 서비스 제공자(130)로 사용자 데이터의 공유를 요청한다. 제1 서비스 제공자(130)는 데이터 공유 이전에, 제2 서비스 제공자(130)가 사용자에게 승인된 대상인지를 판단하여 제2 서비스 제공자(130)를 승인할 수 있다. 제1 서비스 제공자(130)는 301 단계에서 개인키를 이용하여 암호화한 사용자 데이터를 공유할 수 있도록 복호화한다. 그리고, 제1 서비스 제공자(120)는 통합 키 관리 장치(110)에 제2 서비스 제공자(130)와의 통신을 요청한다(304).Referring to FIG. 3, in the process of data processing in a data sharing system in an inter-cloud environment according to an embodiment of the present invention, a first service provider 120 receiving user data from a user transmits (301). The first service provider 120 provides the cloud service to the user. Accordingly, the user can transmit the data owned by the user to the first service provider 120 and store the same. When data is received from the user, the first service provider 120 may encrypt and store the data through a private key generally used for security before storing the received data. When a data sharing request is received (302) from the second service provider (130), the first service provider (120) decrypts the stored user data using the private key (303). In an intercloud environment, users can share data uploaded to one cloud service through other cloud services. Thus, for such a cloud sharing service, the second service provider 130 requests the first service provider 130 to share the user data. The first service provider 130 may approve the second service provider 130 by determining whether the second service provider 130 is an authorized target for the user before data sharing. The first service provider 130 decrypts the encrypted user data using the private key in step 301 so that the user data can be shared. Then, the first service provider 120 requests the integrated key management device 110 to communicate with the second service provider 130 (304).

제1 서비스 제공자(120)로부터 제2 서비스 제공자와의 통신 요청이 수신되면, 통합 키 관리 장치(110)는 키체인을 생성하기 위한 알고리즘 및 시작점을 결정한다(305). 본 발명에서 사용되는 키체인은 해시 연쇄 함수 알고리즘 또는 테슬라 알고리즘 등의 키체인을 이용할 수 있다. 따라서, 통합 키 관리 장치(110)는 해시 연쇄 함수 알고리즘 또는 테슬라 알고리즘 등 중에서 키체인을 생성하기 위한 알고리즘을 결정한다. 그리고, 통합 키 관리 장치(110)는 결정된 키체인 알고리즘에 따라 시작점을 결정한다. 알고리즘 및 시작점이 결정되면, 통합 키 관리 장치(110)는 결정된 알고리즘 및 시작점에 대한 정보를 포함하는 보안 정보를 생성하여 제1 서비스 제공자(120)로 전달한다(306).When a communication request from the first service provider 120 to the second service provider is received, the integrated key management device 110 determines an algorithm and a starting point for generating a key chain (305). The keychain used in the present invention may use a keychain such as a hash chain function algorithm or a Tesla algorithm. Accordingly, the integrated key management device 110 determines an algorithm for generating a key chain among a hash chain function algorithm or a Tesla algorithm. Then, the integrated key management device 110 determines a starting point according to the determined key chain algorithm. When the algorithm and the starting point are determined, the integrated key management device 110 generates security information including information about the determined algorithm and the starting point and forwards it to the first service provider 120 (306).

통합 키 관리 장치(110)로부터 보안 정보가 수신되면, 제1 서비스 제공자(120)는 수신된 보안 정보에 기초하여 제1 키체인을 생성한다(307). 통합 키 관리 장치(110)로부터 전달되는 보안 정보는 키체인 알고리즘 정보 및 시작점 정보를 포함한다. 제1 서비스 제공자(120)는 수신된 보안 정보에 포함된 키체인 알고리즘 정보 및 시작점 정보를 이용하여 제1 키체인을 생성한다. 그리고, 제1 서비스 제공자(120)는 생성된 제1 키체인을 통해 사용자 데이터를 분할하여 암호화한다(308). 제1 서비스 제공자(120)는 사용자 데이터를 분할하고, 보안 정보에 포함된 키체인 알고리즘에 따라 암호화한다. 예를 들어, 보안 정보에 포함된 키체인 알고리즘이 해시 체인 함수이고, 시작점 정보가 4이며 제1 서비스 제공자(120)가 데이터가 10조각으로 분할한 경우, 제1 서비스 제공자(120)는 시작점 정보 4에 기반하여, h4(x)부터 h13(x)까지 총 10개의 키 값을 생성하고, 10개로 분할된 사용자 데이터와 10개의 키를 대응시켜 암호화하여, 제1 암호화 데이터(Encrypted Data 1)부터 제10 암호화 데이터(Encrypted Data 10)를 포함하는 분할된 암호화 데이터를 생성한다. 분할된 암호화 데이터가 생성되면, 제1 서비스 제공자(120)는 분할된 암호화 데이터를 제2 서비스 제공자(130)로 전달한다(309).When security information is received from the integrated key management device 110, the first service provider 120 generates a first key chain based on the received security information (307). Security information transmitted from the integrated key management device 110 includes key chain algorithm information and starting point information. The first service provider 120 generates the first key chain using the key chain algorithm information and the starting point information included in the received security information. Then, the first service provider 120 divides and encrypts the user data through the generated first key chain (308). The first service provider 120 divides the user data and encrypts it according to the key chain algorithm included in the security information. For example, if the key chain algorithm included in the security information is a hash chain function, the start point information is 4, and the first service provider 120 divides the data into 10 pieces, the first service provider 120 transmits the start point information 10, a total of ten key values from h4 (x) to h13 (x) are generated based on the first encryption data (Encrypted Data 1) And generates divided encrypted data including the tenth encrypted data (Encrypted Data 10). When the divided encrypted data is generated, the first service provider 120 forwards the divided encrypted data to the second service provider 130 (309).

그리고, 통합 키 관리 장치(110)는 305 단계에서 결정된 알고리즘 및 시작점을 포함하는 보안 정보를 제2 서비스 제공자(130)로 전달한다(310). 통합 키 관리 장치(110)로부터 보안 정보가 수신되면, 제2 서비스 제공자(130)는 307 단계와 동일하게 수신된 보안 정보에 기초하여 제2 키체인을 생성한다(311). 제1 키체인 및 제 2 키체인은 동일한 보안 정보에 의해 생성되기 때문에, 서로 동일한 키체인이 된다. 310 단계 및 311 단계는 반드시 309 단계 이후에 수행되는 것은 아니며, 306 단계 및 307 단계와 동일한 시점에 실행될 수 있다. Then, the integrated key management device 110 transmits the security information including the algorithm and the starting point determined in step 305 to the second service provider 130 (310). When security information is received from the integrated key management device 110, the second service provider 130 generates a second key chain based on the received security information in step 307 (311). Since the first keychain and the second keychain are generated by the same security information, they become the same keychain. Steps 310 and 311 are not necessarily performed after step 309, and may be executed at the same time as steps 306 and 307. [

그리고, 제1 서비스 제공자(120)로부터 수신된 분할된 암호화 데이터를 병합하고, 생성된 제2 키체인을 이용하여 복호화한다(312). 제2 서비스 제공자(130)에서 생성된 제2 키체인은 제1 서비스 제공자(120)에서 분할된 암호화 데이터를 분할 및 암호화하는데 이용된 제1 키체인과 동일한 키체인이다. 따라서, 제2 서비스 제공자(130)는 분할된 암호화 데이터를 하나의 데이터로 병합하고, 제1 키체인과 동일한 제2 키체인을 이용하여 병합된 데이터를 복호화하여 사용자 데이터를 복원함으로써, 제1 서비스 제공자(120)와 사용자 데이터를 공유할 수 있다. 제2 서비스 제공자(130)에서 분할된 암호화 데이터의 병합 및 복호화가 완료되면, 제2 서비스 제공자(130)는 생성된 제2 키체인을 삭제한다(313). 그리고, 제1 서비스 제공자(120)도 생성된 제1 키체인을 삭제한다(314). 제1 키체인 및 제2 키체인을 암호화 및 복호화를 수행하여 데이터 공유를 완료한 후 삭제하여 키 노출을 최소화할 수 있다.The fragmented encrypted data received from the first service provider 120 is merged and decrypted using the generated second key chain (312). The second keychain generated at the second service provider 130 is the same keychain as the first keychain used to divide and encrypt the encrypted data segmented at the first service provider 120. Accordingly, the second service provider 130 merges the divided encrypted data into one piece of data, decodes the merged data using the same second key chain as the first key chain, and restores the user data, And may share the user data with the provider 120. When the merging and decryption of the divided encrypted data is completed in the second service provider 130, the second service provider 130 deletes the generated second key chain (313). The first service provider 120 also deletes the generated first key chain (314). The first keychain and the second keychain may be encrypted and decrypted to complete data sharing and delete the keychain, thereby minimizing key exposure.

도 4는 본 발명의 일 실시예에 따른 인터클라우드 환경에서의 데이터 공유 방법을 나타내는 흐름도이다.4 is a flowchart illustrating a data sharing method in an intercloud environment according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 인터클라우드 환경에서의 데이터 공유 방법은 먼저, 사용자로부터 제1 서비스 제공자로 업로드된 사용자 데이터를 개인키로 암호화하여 저장한다(S401). 제1 서비스 제공자는 사용자에게 클라우드 서비스를 제공한다. 따라서, 사용자는 본인이 소유한 데이터를 제1 서비스 제공자에 전달하여 저장할 수 있다. 제1 서비스 제공자는 사용자로부터 데이터가 수신되면, 수신된 데이터를 저장하기 전에 보안을 위하여 일반적으로 이용되는 개인키를 통해 데이터를 암호화하여 저장할 수 있다. 그리고, 제2 서비스 제공자로부터 데이터 공유 요청이 수신되면, 제1 서비스 제공자는 개인키를 이용하여 저장된 사용자 데이터를 복호화한다(S402). 인터클라우드 환경에서 사용자는 하나의 클라우드 서비스에 업로드한 데이터를 다른 클라우드 서비스를 통해 공유할 수 있다. 따라서, 이와 같은, 클라우드 공유 서비스를 위해 제2 서비스 제공자는 제1 서비스 제공자로 사용자 데이터의 공유를 요청한다. 제1 서비스 제공자는 데이터 공유 이전에, 제2 서비스 제공자가 사용자에게 승인된 대상인지를 판단하여 제2 서비스 제공자를 승인할 수 있다. 제1 서비스 제공자는 S401 단계에서 개인키를 이용하여 암호화한 사용자 데이터를 공유할 수 있도록 복호화한다.Referring to FIG. 4, in a data sharing method in an inter-cloud environment according to an embodiment of the present invention, user data uploaded from a user to a first service provider is encrypted with a private key and stored (S401). The first service provider provides the cloud service to the user. Thus, the user can transfer data owned by the user to the first service provider for storage. When the first service provider receives data from the user, the first service provider may encrypt and store the data through a private key generally used for security before storing the received data. When the data sharing request is received from the second service provider, the first service provider decrypts the stored user data using the private key (S402). In an intercloud environment, users can share data uploaded to one cloud service through other cloud services. Thus, for such a cloud sharing service, the second service provider requests sharing of user data with the first service provider. The first service provider can approve the second service provider by determining whether the second service provider is the authorized object to the user prior to data sharing. In step S401, the first service provider decrypts the encrypted user data using the private key.

제1 서비스 제공자 및 제2 서비스 제공자 사이의 사용자 데이터 공유를 위해 통합 키 관리 장치는 키체인을 생성하기 위한 알고리즘 및 시작점을 결정하여 보안 정보를 생성하고, 생성된 보안 정보를 제1 서비스 제공자 및 제2 서비스 제공자로 전달한다(S403). 본 발명에서 사용되는 키체인은 해시 연쇄 함수 알고리즘 또는 테슬라 알고리즘 기반의 키체인을 이용할 수 있다. 따라서, 통합 키 관리 장치는 해시 연쇄 함수 알고리즘 또는 테슬라 알고리즘 중에서 키체인을 생성하기 위한 알고리즘을 결정한다. 그리고, 통합 키 관리 장치는 결정된 키체인 알고리즘에 따라 시작점을 결정한다. 알고리즘 및 시작점이 결정되면, 통합 키 관리 장치는 결정된 알고리즘 및 시작점에 대한 정보를 포함하는 보안 정보를 생성하여 제1 서비스 제공자 및 제2 서비스 제공자로 전달한다.The integrated key management device for sharing user data between the first service provider and the second service provider generates security information by determining an algorithm and a starting point for generating a key chain and transmits the generated security information to the first service provider and the second service provider. 2 service provider (S403). The keychain used in the present invention can use a hash chain function algorithm or a Tesla algorithm-based key chain. Accordingly, the integrated key management apparatus determines an algorithm for generating a key chain among a hash chain function algorithm or a Tesla algorithm. Then, the integrated key management apparatus determines a starting point according to the determined key chain algorithm. When the algorithm and the starting point are determined, the integrated key management device generates security information including information on the determined algorithm and the starting point, and forwards it to the first service provider and the second service provider.

통합 키 관리 장치로부터 보안 정보가 수신되면, 제1 서비스 제공자는 수신된 보안 정보에 기초하여 제1 키체인을 생성한다(S404). 통합 키 관리 장치로부터 전달되는 보안 정보는 키체인 알고리즘 정보 및 시작점 정보를 포함한다. 제1 서비스 제공자는 수신된 보안 정보에 포함된 키체인 알고리즘 정보 및 시작점 정보를 이용하여 제1 키체인을 생성한다. 그리고, 제1 서비스 제공자는 생성된 제1 키체인을 통해 사용자 데이터를 분할하여 암호화한다(S405). 제1 서비스 제공자는 보안 정보에 포함된 키체인 알고리즘에 따라 사용자 데이터를 분할하고, 암호화한다. 그리고, 분할된 암호화 데이터가 생성되면, 제1 서비스 제공자는 분할된 암호화 데이터를 제2 서비스 제공자로 전달한다(S406).When security information is received from the integrated key management device, the first service provider generates a first key chain based on the received security information (S404). The security information transmitted from the integrated key management apparatus includes key chain algorithm information and starting point information. The first service provider generates the first key chain using the key chain algorithm information and the starting point information included in the received security information. Then, the first service provider divides and encrypts the user data through the generated first key chain (S405). The first service provider divides and encrypts the user data according to the key chain algorithm included in the security information. When the divided encrypted data is generated, the first service provider transmits the divided encrypted data to the second service provider (S406).

통합 키 관리 장치로부터 보안 정보가 수신되면, 제2 서비스 제공자는 수신된 보안 정보에 기초하여 제2 키체인을 생성한다(S407). 제1 키체인 및 제 2 키체인은 동일한 보안 정보에 의해 생성되기 때문에, 서로 동일한 키체인이 된다. 그리고, 제1 서비스 제공자로부터 수신된 분할된 암호화 데이터를 생성된 제2 키체인을 이용하여 병합하고, 복호화한다(S408). 제2 서비스 제공자에서 생성된 제2 키체인은 제1 서비스 제공자에서 분할된 암호화 데이터를 분할 및 암호화하는데 이용된 제1 키체인과 동일한 키체인이다. 따라서, 제2 서비스 제공자는 제1 키체인과 동일한 제2 키체인을 이용하여 분할된 암호화 데이터를 하나의 데이터로 병합하고, 병합된 데이터를 복호화하여 사용자 데이터를 복원함으로써, 제1 서비스 제공자와 사용자 데이터를 공유할 수 있다. 제2 서비스 제공자에서 분할된 암호화 데이터의 병합 및 복호화가 완료되면, 제1 서비스 제공자 및 제2 서비스 제공자는 생성된 제1 키체인 및 제2 키체인을 삭제한다(S409). 제1 키체인 및 제2 키체인을 암호화 및 복호화를 수행하여 데이터 공유를 완료한 후 삭제하여 키 노출을 최소화할 수 있다.
When security information is received from the integrated key management device, the second service provider generates a second key chain based on the received security information (S407). Since the first keychain and the second keychain are generated by the same security information, they become the same keychain. Then, the divided encrypted data received from the first service provider is merged using the generated second key chain and decoded (S408). The second keychain generated at the second service provider is the same keychain as the first keychain used to divide and encrypt the encrypted data segmented at the first service provider. Accordingly, the second service provider merges the divided encrypted data into one piece of data using the same second key chain as the first key chain, decodes the merged data and restores the user data, Data can be shared. When the merging and decryption of the divided encrypted data in the second service provider is completed, the first service provider and the second service provider delete the generated first key chain and the second key chain (S409). The first keychain and the second keychain may be encrypted and decrypted to complete data sharing and delete the keychain, thereby minimizing key exposure.

상술한 내용을 포함하는 본 발명은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체 또는 정보저장매체에 저장되고, 컴퓨터에 의하여 판독되고 실행함으로써 본 발명의 방법을 구현할 수 있다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
The present invention including the above-described contents can be written in a computer program. And the code and code segment constituting the program can be easily deduced by a computer programmer of the field. In addition, the created program can be stored in a computer-readable recording medium or an information storage medium, and can be read and executed by a computer to implement the method of the present invention. And the recording medium includes all types of recording media readable by a computer.

이상 바람직한 실시예를 들어 본 발명을 상세하게 설명하였으나, 본 발명은 전술한 실시예에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당분야에서 통상의 지식을 가진자에 의하여 여러 가지 변형이 가능하다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It is possible.

110: 통합 키 관리 장치
120: 제1 서비스 제공자
130: 제2 서비스 제공자
110: Integrated key management device
120: First service provider
130: second service provider

Claims (16)

수신된 보안 정보에 기초하여 제1 키체인(Key Chain)을 생성하고, 상기 생성된 제1 키체인을 통해 사용자 데이터를 분할 및 암호화(Encryption)하여 분할된 암호화 데이터를 생성하는 제1 서비스 제공자;
수신된 보안 정보에 기초하여 제2 키체인을 생성하고, 상기 제1 서비스 제공자로부터 수신된 상기 분할된 암호화 데이터를 상기 생성된 제2 키체인으로 병합 및 복호화(Description)하는 제2 서비스 제공자; 및
상기 제1 서비스 제공자 및 상기 제2 서비스 제공자에 상기 보안 정보를 제공하는 통합 키 관리 장치;
를 포함하며,
상기 통합 키 관리 장치는 키체인 알고리즘 및 시작점을 결정하고, 결정된 키체인 알고리즘 및 시작점에 대한 정보를 포함하는 상기 보안 정보를 생성하는 것을 특징으로 하는 인터클라우드 환경에서의 데이터 공유 시스템.
A first service provider for generating a first key chain based on the received security information, and dividing and encrypting user data through the generated first key chain to generate divided encrypted data;
A second service provider for generating a second key chain based on the received security information, and for merging and decrypting the divided encrypted data received from the first service provider into the generated second key chain; And
An integrated key management device for providing the security information to the first service provider and the second service provider;
/ RTI >
Wherein the integrated key management apparatus determines a key chain algorithm and a starting point, and generates the security information including information on a determined key chain algorithm and a starting point.
제1항에 있어서,
상기 통합 키 관리 장치는 상기 제1 서비스 제공자 및 상기 제2 서비스 제공자 사이의 인증을 수행하는 것을 특징으로 하는 인터클라우드 환경에서의 데이터 공유 시스템.
The method according to claim 1,
Wherein the integrated key management device performs authentication between the first service provider and the second service provider.
제1항에 있어서,
상기 제1 서비스 제공자는 사용자로부터 업로드된 상기 사용자 데이터를 개인키를 이용하여 암호화하여 저장하고, 상기 제2 서비스 제공자로부터 상기 저장된 사용자 데이터의 공유 요청이 수신되면, 상기 저장된 사용자 데이터를 상기 개인키를 이용하여 복호화한 후, 상기 제1 키체인을 이용하여 상기 사용자 데이터를 다시 암호화하는 것을 특징으로 하는 인터클라우드 환경에서의 데이터 공유 시스템.
The method according to claim 1,
Wherein the first service provider encrypts and stores the user data uploaded from the user using the private key and stores the stored user data in the private key when the sharing request of the stored user data is received from the second service provider And encrypts the user data using the first key chain. The data sharing system according to claim 1,
삭제delete 제1항에 있어서,
상기 통합 키 관리 장치는
해시 연쇄 함수(Has Chain Function) 알고리즘 및 테슬라(TESLA) 알고리즘 중에서 어느 하나의 알고리즘을 키체인 알고리즘으로 결정하는 것을 특징으로 하는 인터클라우드 환경에서의 데이터 공유 시스템.
The method according to claim 1,
The integrated key management apparatus
A hash chain function algorithm and a TESLA algorithm is determined by a keychain algorithm in a data sharing system in an intercloud environment.
제1항에 있어서,
상기 제1 서비스 제공자는 상기 수신된 보안 정보의 키체인 알고리즘에 따라 상기 사용자 데이터를 분할하고, 상기 시작점부터 암호화하여 상기 분할된 암호화 데이터를 생성하는 것을 특징으로 하는 인터클라우드 환경에서의 데이터 공유 시스템.
The method according to claim 1,
Wherein the first service provider divides the user data according to a key chain algorithm of the received security information and encrypts the user data from the starting point to generate the divided encrypted data.
제1항에 있어서,
상기 제2 서비스 제공자는 상기 수신된 보안 정보의 키체인 알고리즘에 따라 상기 분할된 암호화 데이터를 병합하고, 상기 시작점부터 복호화하여 상기 분할된 암호화 데이터로부터 상기 사용자 데이터를 복원하는 것을 특징으로 하는 인터클라우드 환경에서의 데이터 공유 시스템.
The method according to claim 1,
Wherein the second service provider merges the divided encrypted data according to a key chain algorithm of the received security information, and decrypts the encrypted data from the starting point to restore the user data from the divided encrypted data. Data sharing system in.
제1항에 있어서,
상기 제1 서비스 제공자 및 상기 제2 서비스 제공자는 상기 제2 서비스 제공자가 상기 분할된 암호화 데이터를 복호화한 후, 상기 제1 키체인 및 상기 제2 키체인을 삭제하는 것을 특징으로 하는 인터클라우드 환경에서의 데이터 공유 시스템.
The method according to claim 1,
Wherein the first service provider and the second service provider delete the first keychain and the second keychain after the second service provider decrypts the divided encrypted data. Of data sharing system.
제1 서비스 제공자 및 제2 서비스 제공자 사이의 데이터 공유 방법에 있어서,
통합 키 관리장치에서 보안 정보를 생성하는 단계;
상기 생성된 보안 정보에 기초하여 상기 제1 서비스 제공자가 제1 키 체인을 생성하는 단계;
상기 제1 서비스 사용자가 상기 제1 키체인을 통해 사용자 데이터를 분할 및 암호화하여 분할된 암호화 데이터를 생성하는 단계;
상기 생성된 보안 정보에 기초하여 상기 제2 서비스 제공자가 제2 키체인을 생성하는 단계;
상기 생성된 제2 키체인에 기초하여 상기 제2 서비스 제공자가 상기 분할된 암호화 데이터를 복호화하는 단계;
를 포함하며,
상기 통합 키 관리장치에서 보안 정보를 생성하는 단계는,
상기 통합 키 관리 장치가 키체인 알고리즘 및 시작점을 결정하는 단계; 및
결정된 키체인 알고리즘 및 시작점에 대한 정보를 포함하는 상기 보안 정보를 생성하는 단계;
를 포함하는 것을 특징으로 하는 인터클라우드 환경에서의 데이터 공유 방법.
A method of sharing data between a first service provider and a second service provider,
Generating security information in an integrated key management apparatus;
Generating a first key chain by the first service provider based on the generated security information;
Dividing and encrypting user data through the first keychain to generate encrypted data segmented by the first service user;
Generating a second key chain by the second service provider based on the generated security information;
Decrypting the divided encrypted data by the second service provider based on the generated second key chain;
/ RTI >
Wherein the step of generating security information in the integrated key management apparatus comprises:
The integrated key management apparatus determining a key chain algorithm and a starting point; And
Generating the security information including information about a determined key chain algorithm and a starting point;
The method comprising the steps of:
제9항에 있어서,
상기 통합 키 관리 장치는 상기 제1 서비스 제공자 및 상기 제2 서비스 제공자 사이의 인증을 수행하는 것을 특징으로 하는 인터클라우드 환경에서의 데이터 공유 방법.
10. The method of claim 9,
Wherein the integrated key management device performs authentication between the first service provider and the second service provider.
제9항에 있어서,
상기 제1 서비스 제공자가 사용자로부터 업로드된 상기 사용자 데이터를 개인키를 이용하여 암호화하여 저장하는 단계;
상기 제2 서비스 제공자로부터 상기 저장된 사용자 데이터의 공유 요청이 수신되면, 상기 개인키를 이용하여 상기 저장된 사용자 데이터를 복호화하는 단계; 및
상기 제1 키체인을 이용하여 상기 사용자 데이터를 다시 암호화하는 단계;
를 더 포함하는 것을 특징으로 하는 인터클라우드 환경에서의 데이터 공유 방법.
10. The method of claim 9,
Encrypting and storing the user data uploaded from the user by the first service provider using a private key;
Decrypting the stored user data using the private key when a sharing request of the stored user data is received from the second service provider; And
Encrypting the user data again using the first keychain;
The method of claim 1, further comprising:
삭제delete 제9항에 있어서,
상기 통합 키 관리 장치가 키체인 알고리즘 및 시작점을 결정하는 단계는 해시 연쇄 함수(Has Chain Function) 알고리즘 및 테슬라(TESLA) 알고리즘 중에서 어느 하나의 알고리즘을 키체인 알고리즘으로 결정하는 것을 특징으로 하는 인터클라우드 환경에서의 데이터 공유 방법.
10. The method of claim 9,
Wherein the integrated key management apparatus determines a keychain algorithm and a starting point by determining any one of a hash chain function algorithm and a tesla algorithm as a keychain algorithm, A method for sharing data in a network.
제9항에 있어서,
상기 분할된 암호화 데이터를 생성하는 단계는,
상기 제1 서비스 제공자가 상기 보안 정보의 키체인 알고리즘에 따라 상기 사용자 데이터를 분할하는 단계; 및
상기 시작점부터 암호화하여 상기 분할된 암호화 데이터를 생성하는 단계;
를 포함하는 것을 특징으로 하는 인터클라우드 환경에서의 데이터 공유 방법.
10. The method of claim 9,
Wherein the step of generating the divided encrypted data comprises:
Dividing the user data according to a key chain algorithm of the security information by the first service provider; And
Encrypting the encrypted data from the starting point to generate the divided encrypted data;
The method comprising the steps of:
제9항에 있어서,
상기 분할된 암호화 데이터를 복호화하는 단계는,
상기 제2 서비스 제공자가 상기 보안 정보의 키체인 알고리즘에 따라 상기 분할된 암호화 데이터를 병합하는 단계; 및
상기 시작점부터 복호화하여 상기 분할된 암호화 데이터로부터 상기 사용자 데이터를 복원하는 단계;
를 포함하는 것을 특징으로 하는 인터클라우드 환경에서의 데이터 공유 방법.
10. The method of claim 9,
Wherein the step of decrypting the divided encrypted data comprises:
Merging the divided encrypted data according to a key chain algorithm of the security information; And
Decrypting the encrypted data from the start point and restoring the user data from the divided encrypted data;
The method comprising the steps of:
제9항에 있어서,
상기 분할된 암호화 데이터를 복호화하는 단계 이후, 상기 제1 키체인 및 상기 제2 키체인을 삭제하는 단계;
를 더 포함하는 것을 특징으로 하는 인터클라우드 환경에서의 데이터 공유 방법.
10. The method of claim 9,
After decrypting the divided encrypted data, deleting the first keychain and the second keychain;
The method of claim 1, further comprising:
KR1020140089344A 2014-02-27 2014-07-15 System and method for data sharing of intercloud enviroment KR101595056B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140023543 2014-02-27
KR20140023543 2014-02-27

Publications (2)

Publication Number Publication Date
KR20150101896A KR20150101896A (en) 2015-09-04
KR101595056B1 true KR101595056B1 (en) 2016-02-17

Family

ID=54242917

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140089344A KR101595056B1 (en) 2014-02-27 2014-07-15 System and method for data sharing of intercloud enviroment

Country Status (1)

Country Link
KR (1) KR101595056B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101994146B1 (en) * 2017-09-08 2019-06-28 충남대학교산학협력단 Key Management Method for IoT Data Security in Cloud Computing
KR20220005933A (en) * 2020-07-07 2022-01-14 삼성전자주식회사 Cloud server and Method for controlling the cloud server thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4995980B2 (en) 1995-02-13 2012-08-08 インタートラスト テクノロジーズ コーポレイション Secure transaction management device and system and method for electronic rights protection

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101373557B1 (en) 2012-07-12 2014-03-24 주식회사 파수닷컴 User terminal device and method for encrypting in cloud computing environments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4995980B2 (en) 1995-02-13 2012-08-08 インタートラスト テクノロジーズ コーポレイション Secure transaction management device and system and method for electronic rights protection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
박준영 외 2인, "협업 클라우드 컴퓨팅 환경을 위한 키 관리 기법 고찰", 한국통신학회 2014년도 동계종합학술대회 논문집 (2014.01. 공개)

Also Published As

Publication number Publication date
KR20150101896A (en) 2015-09-04

Similar Documents

Publication Publication Date Title
KR102432299B1 (en) Systems and methods for encryption and decryption based on quantum key distribution
US10785019B2 (en) Data transmission method and apparatus
RU2718689C2 (en) Confidential communication control
CN110855671B (en) Trusted computing method and system
WO2016197250A1 (en) Methods and computer program products for encryption key generation and management
CN110213044B (en) Quantum-computation-resistant HTTPS signcryption communication method and system based on multiple asymmetric key pools
CN101515319B (en) Cipher key processing method, cipher key cryptography service system and cipher key consultation method
EP3476078B1 (en) Systems and methods for authenticating communications using a single message exchange and symmetric key
CN108199847B (en) Digital security processing method, computer device, and storage medium
CN111294203B (en) Information transmission method
CN103036880A (en) Network information transmission method, transmission equipment and transmission system
CN110868291B (en) Data encryption transmission method, device, system and storage medium
KR101648364B1 (en) Method for improving encryption/decryption speed by complexly applying for symmetric key encryption and asymmetric key double encryption
JP2022521525A (en) Cryptographic method for validating data
JP2014175970A (en) Information distribution system, information processing device, and program
CN109005184A (en) File encrypting method and device, storage medium, terminal
WO2019083379A1 (en) Data transmission
KR20180015667A (en) Method and system for secure SMS communication
CN114143117A (en) Data processing method and device
CN115766066A (en) Data transmission method, device, safety communication system and storage medium
US9473471B2 (en) Method, apparatus and system for performing proxy transformation
KR101595056B1 (en) System and method for data sharing of intercloud enviroment
CN114785527B (en) Data transmission method, device, equipment and storage medium
KR20070062632A (en) Mobile message and file security implementation by cryptography
KR101793528B1 (en) Certificateless public key encryption system and receiving terminal

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200128

Year of fee payment: 5