KR101986690B1 - Key chain management method and key chain management system for end-to-end encryption of message - Google Patents

Key chain management method and key chain management system for end-to-end encryption of message Download PDF

Info

Publication number
KR101986690B1
KR101986690B1 KR1020170026068A KR20170026068A KR101986690B1 KR 101986690 B1 KR101986690 B1 KR 101986690B1 KR 1020170026068 A KR1020170026068 A KR 1020170026068A KR 20170026068 A KR20170026068 A KR 20170026068A KR 101986690 B1 KR101986690 B1 KR 101986690B1
Authority
KR
South Korea
Prior art keywords
encryption key
administrator
electronic device
message
server
Prior art date
Application number
KR1020170026068A
Other languages
Korean (ko)
Other versions
KR20180099083A (en
Inventor
이충우
Original Assignee
네이버 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버 주식회사 filed Critical 네이버 주식회사
Priority to KR1020170026068A priority Critical patent/KR101986690B1/en
Priority to JP2018017093A priority patent/JP6542401B2/en
Publication of KR20180099083A publication Critical patent/KR20180099083A/en
Application granted granted Critical
Publication of KR101986690B1 publication Critical patent/KR101986690B1/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
    • 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
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

메시지 종단간 암호화를 위한 키 체인 관리 방법 및 시스템이 개시된다. 키 체인 관리 방법은, 상기 서버는 복수의 기업을 대상으로 각 기업에 서로 독립된 메시지 서비스를 제공하고, 상기 키 체인 관리 방법은, 특정 기업의 메시지 서비스를 이용하는 전자 기기에 대해 종단간 암호화 키를 발급하는 단계; 및 상기 특정 기업의 관리자에게 부여된 관리자 암호화 키를 통해 상기 종단간 암호화 키를 암호화 하여 상기 서버 상에 저장하는 단계를 포함할 수 있다.A keychain management method and system for message end-to-end encryption is disclosed. In the keychain management method, the server provides a message service independent of each other to a plurality of companies, and the keychain management method issues an end-to-end encryption key to an electronic device using a message service of a specific company ; And encrypting the end-to-end encryption key through the administrator's encryption key assigned to the manager of the specific enterprise and storing the encrypted end-to-end encryption key on the server.

Description

메시지 종단간 암호화를 위한 키 체인 관리 방법 및 시스템{KEY CHAIN MANAGEMENT METHOD AND KEY CHAIN MANAGEMENT SYSTEM FOR END-TO-END ENCRYPTION OF MESSAGE}[0001] KEY CHAIN MANAGEMENT METHOD AND KEY CHAIN MANAGEMENT SYSTEM FOR END-TO-END ENCRYPTION OF MESSAGE [0002]

아래의 설명은 메시지 종단간 암호화(end to end encryption) 기술에 관한 것이다.The following discussion is about end to end encryption technology.

메시지 서비스는 최근 단순한 개인간 메시지 교환의 차원을 넘어, 그룹간 전송, 개인 신용 정보 관리, 금융 정보 알림 등의 매우 다양한 용도로 폭넓게 사용되고 있다.In recent years, message services have been widely used for various purposes such as inter-group transmission, personal credit information management, and financial information notification.

이상과 같이 메시지의 사용이 증가하고 그 중요도가 높아짐에 따라 메시지 보안을 위하여 메시지 암호화를 수행하기 위한 기술을 필요로 하게 되었다.As the usage of the message increases and the importance of the message increases, a technique for performing message encryption for message security has become necessary.

메시지 암호화와 관련하여 선행 기술인 한국공개특허공보 제2010-0012567호(공개일 2010년 02월 08일)는 발신측 이동단말과 수신측 이동단말 간에 송수신되는 문자메시지가 타인에게 노출되지 않도록 보안을 강화할 수 있는 문자메시지 송수신 시스템 및 방법을 개시하고 있다.Korean Unexamined Patent Publication No. 2002-0012567 (published on February 08, 2010), which relates to encryption of messages, enhances security so that a text message transmitted and received between a calling mobile terminal and a receiving mobile terminal is not exposed to others And a method and system for transmitting and receiving a text message.

메시지 보안 기술 중 하나인 종단간 암호화는 메시지를 평문으로 저장하지 않고 모든 과정에서 메시지를 암호화 하는 방식이다. 예를 들어, 메신저를 통한 커뮤니케이션은 단순화하자면 클라이언트(스마트폰)↔서버↔클라이언트(스마트폰)의 형태로 교신이 진행된다. A라는 사용자가 스마트폰용 메신저 앱을 통해 메시지를 입력하면 해당 메신저 서비스 서버를 거쳐 B라는 사용자의 스마트폰용 메신저 앱으로 전달된다. 이때, 종단간 암호화는 사용자 A의 스마트폰과 사용자 B의 스마트폰 사이에 거쳐 가는 모든 영역에서 메시지를 암호화 하는 것을 의미한다.End-to-end encryption, one of the message security technologies, is a method of encrypting messages at all times without storing messages in plain text. For example, to simplify communication through messenger, communication is performed in the form of client (smartphone) ↔ server ↔ client (smartphone). When a user A inputs a message through a messenger application for a smartphone, the message is transmitted to a messenger application for a smartphone B through the messenger service server. At this time, the end-to-end encryption means that the message is encrypted in all areas between the smartphone of user A and the smartphone of user B.

일반적으로 종단간 암호화는 암호화 키를 종단의 개인 단말기에서 각각 관리하기 때문에 기업용 메시지 서비스의 경우 기밀 정보나 자료의 유출을 감사하는 등 기업 보안 차원에서의 메시지 관리에 어려움이 있다.In general, end-to-end encryption has difficulties in managing messages in terms of corporate security, such as auditing confidential information or leakage of data, in the case of an enterprise message service, since an encryption key is managed by an individual terminal at an end.

기업용 메시지 서비스에 대하여 기업 보안 차원에서의 메시지 관리 환경을 제공할 수 있는 방법 및 시스템을 제공한다.The present invention provides a method and system for providing a message management environment for enterprise security for enterprise message service.

기업용 메시지 서비스를 관리하기 위해 종단간 암호화 키를 서버에서 관리할 수 있는 방법 및 시스템을 제공한다.A method and system for managing an end-to-end encryption key in a server to manage an enterprise message service.

컴퓨터로 구현되는 서버에서 수행되는 키 체인 관리 방법에 있어서, 상기 서버는 복수의 기업을 대상으로 각 기업에 서로 독립된 메시지 서비스를 제공하고, 상기 키 체인 관리 방법은, 특정 기업의 메시지 서비스를 이용하는 전자 기기에 대해 종단간 암호화 키를 발급하는 단계; 및 상기 특정 기업의 관리자에게 부여된 관리자 암호화 키를 통해 상기 종단간 암호화 키를 암호화 하여 상기 서버 상에 저장하는 단계를 포함하는 키 체인 관리 방법을 제공한다.A keychain management method performed in a server implemented by a computer, the server providing a message service independent of each other to a plurality of companies, the keychain management method comprising: Issuing an end-to-end encryption key to the device; And encrypting the end-to-end encryption key using the administrator encryption key assigned to the manager of the specific company and storing the encrypted end-to-end encryption key on the server.

일 측면에 따르면, 상기 발급하는 단계는, 상기 전자 기기로부터 종단간 암호화 키 발급 요청을 수신하는 단계; 상기 관리자의 단말로 암호화 키 발급 승인을 요청하는 단계; 및 상기 관리자의 단말로부터 암호화 키 발급이 승인되면 상기 전자 기기에 대한 종단간 암호화 키를 발급하는 단계를 포함할 수 있다.According to an aspect of the present invention, the issuing step includes: receiving an end-to-end encryption key issue request from the electronic device; Requesting the terminal of the administrator to approve the issuance of the encryption key; And issuing an end-to-end encryption key to the electronic device when the issuance of the encryption key is approved from the terminal of the administrator.

다른 측면에 따르면, 상기 저장하는 단계는, 상기 전자 기기와 상기 전자 기기의 사용자 중 적어도 하나를 식별하기 위한 사용자 정보와 매칭하여 상기 종단간 암호화 키를 상기 서버 상에 저장할 수 있다.According to another aspect, the storing step may store the end-to-end encryption key on the server by matching with user information for identifying at least one of the electronic device and the user of the electronic device.

또 다른 측면에 따르면, 상기 저장하는 단계는, 상기 관리자 암호화 키의 유효 기간에 따른 유효성 여부에 따라 상기 종단간 암호화 키를 상기 서버 상에 저장할 수 있다.According to another aspect, the storing step may store the end-to-end encryption key on the server according to whether the validity period of the administrator encryption key is valid or not.

또 다른 측면에 따르면, 상기 키 체인 관리 방법은, 상기 관리자의 단말로부터 상기 전자 기기에 대한 감사(audit) 요청을 수신하는 단계; 상기 감사 요청에 대해 상기 관리자 암호화 키를 이용하여 상기 서버에서 상기 종단간 암호화 키를 획득하는 단계; 및 상기 메시지 서비스를 통해 송수신된 메시지 중 상기 종단간 암호화 키로 암호화 된 메시지를 상기 관리자의 단말로 제공하는 단계를 더 포함할 수 있다.According to another aspect of the present invention, there is provided a key chain management method comprising: receiving an audit request for an electronic device from an administrator terminal; Acquiring the end-to-end encryption key at the server using the administrator encryption key for the audit request; And providing a message, which is encrypted with the end-to-end encryption key, to the terminal of the manager among the messages transmitted and received through the message service.

또 다른 측면에 따르면, 상기 관리자의 단말로 제공하는 단계는, 상기 관리자 암호화 키의 유효 기간에 따른 유효성 여부에 따라 상기 종단간 암호화 키로 암호화 된 메시지를 상기 관리자의 단말로 제공할 수 있다.According to another aspect of the present invention, the step of providing to the terminal of the administrator may provide a message encrypted with the end-to-end encryption key to the terminal of the administrator according to whether the administrator's encryption key is valid according to the valid period.

또 다른 측면에 따르면, 상기 키 체인 관리 방법은, 상기 감사 요청에 대해 상기 획득한 종단간 암호화 키를 상기 관리자의 단말로 전달하는 단계를 더 포함하고, 상기 관리자의 단말에서는 상기 감사 요청에 대해 전달 받은 종단간 암호화 키로 상기 종단간 암호화 키로 암호화 된 메시지를 해독할 수 있다.According to another aspect of the present invention, the key chain management method further includes transmitting the obtained end-to-end encryption key to the terminal of the manager in response to the audit request, And decrypts the message encrypted with the end-to-end encryption key with the received end-to-end encryption key.

키 체인 관리 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서, 상기 키 체인 관리 방법은, 복수의 기업을 대상으로 각 기업에 서로 독립된 메시지 서비스를 제공하는 환경에서, 특정 기업의 메시지 서비스를 이용하는 전자 기기에 대해 종단간 암호화 키를 발급하는 단계; 및 상기 특정 기업의 관리자에게 부여된 관리자 암호화 키를 통해 상기 종단간 암호화 키를 암호화 하여 저장하는 단계를 포함하는, 컴퓨터 프로그램을 제공한다.A computer program recorded on a computer-readable recording medium for executing a keychain management method, said keychain management method comprising the steps of: in an environment for providing a message service independent of each other to a plurality of companies, Issuing an end-to-end encryption key to an electronic device using a message service; And encrypting and storing the end-to-end encryption key through an administrator's encryption key assigned to the manager of the specific enterprise.

컴퓨터로 구현되는 키 체인 관리 시스템에 있어서, 컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 복수의 기업을 대상으로 각 기업에 서로 독립된 메시지 서비스를 제공하는 환경에서, 특정 기업의 메시지 서비스를 이용하는 전자 기기에 대해 종단간 암호화 키를 발급한 후, 상기 특정 기업의 관리자에게 부여된 관리자 암호화 키를 통해 상기 종단간 암호화 키를 암호화 하여 저장하는 키 관리부를 포함하는 키 체인 관리 시스템을 제공한다.A computer-implemented keychain management system, comprising: at least one processor configured to execute computer-readable instructions, wherein the at least one processor is operable to provide message services independent of each other to a plurality of companies End encryption key to an electronic device using a message service of a specific company and then encrypts and stores the end-to-end encryption key through an administrator encryption key assigned to the manager of the specific enterprise, The key management system comprising:

본 발명의 실시예들에 따르면, 기업용 메시지 서비스에 있어 종단간 암호화를 위한 키를 발급받는 시점에 기업 관리자의 승인을 받고 기업 관리자에 의해 승인된 종단간 암호화 키를 서버에서 관리함으로써 기업 관리자가 서버에 저장된 종단간 암호화 키를 이용하여 해당 기업에 소속된 사용자의 암호화된 메시지를 감사할 수 있어 이를 통해 기업 보안 차원에서의 메시지 관리 환경을 제공할 수 있다.According to the embodiments of the present invention, the end-to-end encryption key approved by the enterprise manager at the time of receiving the key for end-to-end encryption in the enterprise message service is managed by the server, It is possible to audit the encrypted message of the user belonging to the company by using the end-to-end encryption key stored in the enterprise, thereby providing a message management environment in terms of enterprise security.

도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 서버가 수행할 수 있는 방법의 예를 도시한 흐름도이다.
도 5는 본 발명의 일실시예에 있어서 기업용 메시지의 종단간 암호화 키를 관리하는 과정의 일례를 도시한 것이다.
도 6 내지 도 9는 본 발명의 일실시예에 있어서 기업 별 메시지 관리 환경의 예시들을 도시한 것이다.
1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.
2 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating an example of a component that a processor of a server according to an embodiment of the present invention may include.
4 is a flowchart illustrating an example of a method that a server according to an embodiment of the present invention can perform.
FIG. 5 illustrates an example of a process of managing an end-to-end encryption key of an enterprise message according to an embodiment of the present invention.
Figures 6-9 illustrate examples of enterprise-specific message management environments in an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시예들은 기업용 메시지 서비스에 대하여 종단간 암호화를 위한 키 체인을 관리하는 기술에 관한 것이다.Embodiments of the present invention relate to techniques for managing key chains for end-to-end encryption for enterprise message services.

최근 메시지 서비스에서 종단간 암호화 기술을 사용하여 메시지에 대한 보안을 더욱 강화해 나가고 있다. 기업용 메시지 서비스의 경우 감사나 보안 등의 목적으로 메시지 서비스에 대한 중앙 관리가 요구되고 있다.Recent message services are using end-to-end encryption technology to further secure messages. In the case of enterprise message service, central management of message service is required for the purpose of auditing or security.

본 명세서에서 메시지 서비스는 사용자 간에 텍스트, 영상, 음성 등 다양한 형식으로 메시지를 주고 받는 서비스로, 인스턴트 메신저(instant messenger), SNS(social network service), 이메일(E-mail), SMS(short message service), MMS(multi-media message service) 등을 포함할 수 있다. 이때, 기업용 메시지 서비스는 사내 메신저와 같이 기업에 특화된 메시지 서비스로, 일례로 기업과 관련된 인터넷 계정을 이용하여 해당 기업에 소속된 사용자가 메시지를 주고 받는 서비스를 의미할 수 있다.In this specification, a message service is a service for exchanging messages among users in various formats such as text, image, and voice, and includes instant messenger, social network service (SNS), e-mail, short message service ), A multi-media message service (MMS), and the like. In this case, the enterprise message service may be a company-specific message service such as an in-house messenger, for example, a service that a user belonging to a company transmits and receives a message using an Internet account associated with the enterprise.

본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 클라우드(cloud) 환경에서 기업용 메시지의 종단간 암호화를 위한 키 체인을 관리하여 기업 요구에 부합하는 메시지 서비스를 제공할 수 있고, 이를 통해 서비스 품질과 이용률 향상, 보안성, 효율성, 비용 절감 등의 측면에 있어서 상당한 장점들을 달성한다.Embodiments including those specifically disclosed in this specification can manage a key chain for end-to-end encryption of enterprise messages in a cloud environment to provide a message service that meets corporate requirements, Achieving significant benefits in terms of increased utilization, security, efficiency, and cost savings.

도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention. 1 shows an example in which a plurality of electronic devices 110, 120, 130, 140, a plurality of servers 150, 160, and a network 170 are included. 1, the number of electronic devices and the number of servers are not limited to those shown in FIG.

복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 일례로 제1 전자 기기(110)는 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있다.The plurality of electronic devices 110, 120, 130, 140 may be a fixed terminal implemented as a computer device or a mobile terminal. Examples of the plurality of electronic devices 110, 120, 130 and 140 include a smart phone, a mobile phone, a navigation device, a computer, a notebook, a digital broadcast terminal, a PDA (Personal Digital Assistants) ), And tablet PCs. For example, the first electronic device 110 may communicate with other electronic devices 120, 130, 140 and / or the servers 150, 160 via the network 170 using a wireless or wired communication scheme.

통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The communication method is not limited, and may include a communication method using a communication network (for example, a mobile communication network, a wired Internet, a wireless Internet, a broadcasting network) that the network 170 may include, as well as a short-range wireless communication between the devices. For example, the network 170 may be a personal area network (LAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN) , A network such as the Internet, and the like. The network 170 may also include any one or more of a network topology including a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or a hierarchical network, It is not limited.

서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.Each of the servers 150 and 160 is a computer device or a plurality of computers that communicate with a plurality of electronic devices 110, 120, 130 and 140 through a network 170 to provide commands, codes, files, Lt; / RTI > devices.

일례로, 서버(160)는 네트워크(170)를 통해 접속한 제1 전자 기기(110)로 어플리케이션의 설치를 위한 파일을 제공할 수 있다. 이 경우 제1 전자 기기(110)는 서버(160)로부터 제공된 파일을 이용하여 어플리케이션을 설치할 수 있다. 또한, 제1 전자 기기(110)가 포함하는 운영체제(Operating System, OS)나 적어도 하나의 프로그램(일례로 브라우저나 상기 설치된 어플리케이션)의 제어에 따라 서버(150)에 접속하여 서버(150)가 제공하는 서비스나 컨텐츠를 제공받을 수 있다. 예를 들어, 제1 전자 기기(110)가 어플리케이션의 제어에 따라 네트워크(170)를 통해 서비스 요청 메시지를 서버(150)로 전송하면, 서버(150)는 서비스 요청 메시지에 대응하는 코드를 제1 전자 기기(110)로 전송할 수 있고, 제1 전자 기기(110)는 어플리케이션의 제어에 따라 코드에 따른 화면을 구성하여 표시함으로써 사용자에게 컨텐츠를 제공할 수 있다.For example, the server 160 may provide a file for installation of an application to the first electronic device 110 connected via the network 170. [ In this case, the first electronic device 110 can install an application using a file provided from the server 160. [ The server 150 is connected to the server 150 according to the control of an operating system (OS) included in the first electronic device 110 or at least one program (for example, a browser or an installed application) Services and contents can be provided. For example, if the first electronic device 110 transmits a service request message to the server 150 via the network 170 under the control of the application, the server 150 transmits a code corresponding to the service request message to the first And the first electronic device 110 can provide contents to the user by displaying and displaying a screen according to the code according to the control of the application.

도 2는 본 발명의 일실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다. 도 2에서는 하나의 전자 기기에 대한 예로서 제1 전자 기기(110), 그리고 하나의 서버에 대한 예로서 서버(150)의 내부 구성을 설명한다. 다른 전자 기기들(120, 130, 140)이나 서버(160) 역시 동일한 또는 유사한 내부 구성을 가질 수 있다.2 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention. In FIG. 2, the internal configuration of the first electronic device 110 as an example of one electronic device and the server 150 as an example of one server will be described. Other electronic devices 120, 130, 140 or server 160 may have the same or similar internal configurations.

제1 전자 기기(110)와 서버(150)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함할 수 있다. 메모리(211, 221)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(211, 221)에는 운영체제나 적어도 하나의 프로그램 코드(일례로 제1 전자 기기(110)에 설치되어 구동되는 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(211, 221)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로 상술한 서버(160))이 네트워크(170)를 통해 제공하는 파일들에 의해 설치되는 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(211, 221)에 로딩될 수 있다.The first electronic device 110 and the server 150 may include memories 211 and 221, processors 212 and 222, communication modules 213 and 223 and input / output interfaces 214 and 224. The memories 211 and 221 may be a computer-readable recording medium and may include a permanent mass storage device such as a random access memory (RAM), a read only memory (ROM), and a disk drive. The memory 211 and 221 may store an operating system or at least one program code (for example, codes for an application installed and driven in the first electronic device 110). These software components may be loaded from a computer readable recording medium separate from the memories 211 and 221. [ Such a computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, and a memory card. In other embodiments, the software components may be loaded into memory 211, 221 via communication modules 213, 223 rather than a computer readable recording medium. For example, at least one program may be a program installed by a file distribution system (for example, the server 160 described above) that distributes installation files of developers or applications, May be loaded into the memory 211, 221 based on the application described above.

프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.Processors 212 and 222 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. The instructions may be provided to the processors 212 and 222 by the memories 211 and 221 or the communication modules 213 and 223. For example, the processor 212, 222 may be configured to execute a command received in accordance with a program code stored in a recording device, such as the memory 211, 221.

통신 모듈(213, 223)은 네트워크(170)를 통해 제1 전자 기기(110)와 서버(150)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 전자 기기(일례로 제2 전자 기기(120)) 또는 다른 서버(일례로 서버(160))와 통신하기 위한 기능을 제공할 수 있다. 일례로, 제1 전자 기기(110)의 프로세서(212)가 메모리(211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청(일례로 검색 요청)이 통신 모듈(213)의 제어에 따라 네트워크(170)를 통해 서버(150)로 전달될 수 있다. 역으로, 서버(150)의 프로세서(222)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(223)과 네트워크(170)를 거쳐 제1 전자 기기(110)의 통신 모듈(213)을 통해 제1 전자 기기(110)로 수신될 수 있다. 예를 들어 통신 모듈(213)을 통해 수신된 서버(150)의 제어 신호나 명령 등은 프로세서(212)나 메모리(211)로 전달될 수 있고, 컨텐츠나 파일 등은 제1 전자 기기(110)가 더 포함할 수 있는 저장 매체로 저장될 수 있다.The communication modules 213 and 223 may provide a function for the first electronic device 110 and the server 150 to communicate with each other through the network 170 and may be connected to other electronic devices ) Or another server (e.g., server 160). For example, a request (e.g., a search request) generated by the processor 212 of the first electronic device 110 in accordance with a program code stored in a recording device, such as the memory 211, To the server 150 via the Internet 170. Conversely, control signals, commands, contents, files, and the like provided under the control of the processor 222 of the server 150 are transmitted to the communication module 223 of the first electronic device 110 via the communication module 223 and the network 170, May be received by the first electronic device (110) via the second network (213). For example, the control signal or command of the server 150 received through the communication module 213 may be transmitted to the processor 212 or the memory 211, and contents or files may be transmitted to the first electronic device 110, May also be stored as a storage medium.

입출력 인터페이스(214, 224)는 입출력 장치(215, 225)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 어플리케이션의 통신 세션을 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 보다 구체적인 예로, 제1 전자 기기(110)의 프로세서(212)는 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(150)나 제2 전자 기기(120)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다.The input / output interfaces 214 and 224 may be means for interfacing with the input / output devices 215 and 225. For example, the input device may include a device such as a keyboard or a mouse, and the output device may include a device such as a display for displaying a communication session of the application. As another example, the input / output interface 214 may be a means for interfacing with a device having integrated functions for input and output, such as a touch screen. The processor 212 of the first electronic device 110 may use the data provided by the server 150 or the second electronic device 120 in processing the instructions of the computer program loaded into the memory 211. For example, A service screen or contents configured by the user can be displayed on the display through the input / output interface 214. [

또한, 다른 실시예들에서 제1 전자 기기(110) 및 서버(150)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 제1 전자 기기(110)는 상술한 입출력 장치(215) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 제1 전자 기기(110)가 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 제1 전자 기기(110)에 더 포함되도록 구현될 수 있음을 알 수 있다.Also, in other embodiments, the first electronic device 110 and the server 150 may include more components than the components of FIG. However, there is no need to clearly illustrate most prior art components. For example, the first electronic device 110 may be implemented to include at least some of the input / output devices 215 described above, or may be implemented as a transceiver, a Global Positioning System (GPS) module, a camera, And may further include components. More specifically, when the first electronic device 110 is a smart phone, it may be an acceleration sensor, a gyro sensor, a camera, various physical buttons, buttons using a touch panel, input / output ports, It is understood that various components such as a vibrator may be further included in the first electronic device 110.

이하에서는 기업용 메시지의 종단간 암호화를 위한 키 체인을 관리하는 방법 및 시스템의 구체적인 실시예를 설명하기로 한다.Hereinafter, a method and system for managing a key chain for end-to-end encryption of an enterprise message will be described.

도 3은 본 발명의 일실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이고, 도 4는 본 발명의 일실시예에 따른 서버가 수행할 수 있는 방법의 예를 도시한 흐름도이다.FIG. 3 is a diagram illustrating an example of a component that a server of a server according to an exemplary embodiment of the present invention may include; FIG. 4 illustrates an example of a method that a server can perform according to an exemplary embodiment of the present invention; Fig.

서버(150)는 클라이언트(client)인 복수의 전자 기기들(110, 120, 130, 140)을 대상으로 메시지 서비스를 제공하는 플랫폼 역할을 한다. 이때, 서버(150)는 복수의 기업을 대상으로 각 기업에 특화된 메시지 서비스를 제공하는 것으로 기업 간에 상호 침해하지 않는 독립적인 구조의 메시지 서비스를 제공할 수 있고, 특히 복수의 기업에 대한 메시지 서비스의 중앙 관리 서버로서 클라우드 환경에서 기업용 메시지의 종단간 암호화를 위한 키 체인을 관리할 수 있다.The server 150 serves as a platform for providing a message service to a plurality of electronic devices 110, 120, 130 and 140 as clients. At this time, the server 150 can provide a message service that is independent of each other and does not interfere with each other by providing a message service specialized for each company, targeting a plurality of companies. In particular, As a central management server, you can manage keychains for end-to-end encryption of enterprise messages in a cloud environment.

도 3에 도시된 바와 같이 서버(150)의 프로세서(222)는 구성요소들로서 키 관리부(310) 및 메시지 관리부(320)를 포함할 수 있다. 이러한 프로세서(222) 및 프로세서(222)의 구성요소들은 도 4의 방법이 포함하는 단계들(S410 내지 S440)을 수행하도록 서버(150)를 제어할 수 있다. 이때, 프로세서(222) 및 프로세서(222)의 구성요소들은 메모리(221)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 또한, 프로세서(222)의 구성요소들은 운영체제나 적어도 하나의 프로그램이 제공하는 제어 명령에 따라 프로세서(222)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 프로세서(222)가 상술한 제어 명령에 따라 종단간 암호화 키를 관리하는 기능적 표현으로서 키 관리부(310)가 사용될 수 있다.As shown in FIG. 3, the processor 222 of the server 150 may include a key management unit 310 and a message management unit 320 as elements. Such processor 222 and components of the processor 222 may control the server 150 to perform the steps S410 through S440 included in the method of FIG. At this time, the components of the processor 222 and the processor 222 may be implemented to execute instructions according to the code of the operating system and the code of at least one program that the memory 221 contains. In addition, components of processor 222 may be representations of different functions performed by processor 222 in accordance with control commands provided by the operating system or by at least one program. For example, the key manager 310 may be used as a functional representation in which the processor 222 manages the end-to-end encryption key according to the control command described above.

단계(S410)에서 키 관리부(310)는 특정 기업의 메시지 서비스를 이용하는 제1 전자 기기(110)의 종단간 암호화 키 발급 요청에 대해 해당 기업과 관련된 관리자 단말인 제2 전자 기기(120)로부터 승인이 수신되면 제1 전자 기기(110)에 대한 종단간 암호화 키를 생성할 수 있다. 다시 말해, 키 관리부(310)는 제1 전자 기기(110)로부터 기업용 메시지에 대한 암호화 키 발급 요청이 수신되는 경우 해당 기업의 관리자 단말, 즉 제2 전자 기기(120)로 제1 전자 기기(110)에 대한 암호화 키 발급 승인을 요청할 수 있고, 이때 제2 전자 기기(120)로부터 암호화 키 발급 승인을 수신한 경우 제1 전자 기기(110)에 대한 종단간 암호화 키를 생성할 수 있다. 따라서, 키 관리부(310)는 제1 전자 기기(110)가 기업용 메시지 서비스를 통해 주고 받는 메시지의 종단간 암호화를 위한 키를 해당 기업 관리자의 승인을 받아 생성할 수 있다.In step S410, the key management unit 310 receives an end-to-end encryption key issue request of the first electronic device 110 using a message service of a specific company from the second electronic device 120, An end-to-end encryption key for the first electronic device 110 may be generated. In other words, when an encryption key issuance request for the enterprise message is received from the first electronic device 110, the key management unit 310 transmits the encryption key to the first electronic device 110 ), And may generate an end-to-end encryption key for the first electronic device 110 when the second electronic device 120 receives the encryption key issuing approval. Accordingly, the key management unit 310 can generate a key for end-to-end encryption of a message exchanged between the first electronic device 110 and the enterprise message service, with approval of the corresponding company manager.

단계(S420)에서 키 관리부(310)는 단계(S410)에서 생성된 종단간 암호화 키를 해당 기업 관리자의 관리자 암호화 키로 암호화 하여 암호화 된 상태의 종단간 암호화 키를 서버(150)와 관련된 데이터베이스인 키 체인 데이터베이스에 저장할 수 있다. 키 관리부(310)는 기업 관리자의 암호화 키 발급 승인 시 제2 전자 기기(120)로부터 해당 기업 관리자에게 사전에 부여된 고유 키인 관리자 암호화 키를 수신할 수 있고 단계(S410)에서 생성된 종단간 암호화 키를 관리자 암호화 키를 이용하여 암호화 하여 키 체인 데이터베이스에 저장할 수 있다. 이때, 키 체인 데이터베이스는 서버(150)에 포함된 구성 요소로 구현되거나 혹은 서버(150)에 연결된 다른 시스템 상에 구현될 수 있다. 즉, 키 관리부(310)는 특정 기업의 메시지 서비스를 이용하는 전자 기기들의 종단간 암호화 키를 키 발급 시점에 해당 기업 관리자의 관리자 암호화 키를 통해 저장 및 관리할 수 있다. 키 관리부(310)는 기업 관리자의 관리자 암호화 키로 암호화 된 제1 전자 기기(110)의 종단간 암호화 키를 제1 전자 기기 및/또는 제1 전자 기기의 사용자를 식별하기 위한 사용자 정보(예컨대, 아이디 등)와 매칭하여 저장할 수 있다. 이때, 키 관리부(310)는 관리자 암호화 키에 부여된 유효 기간 등을 기초로 관리자 암호화 키의 유효성을 판단하여 유효한 경우 종단간 암호화 키를 저장 및 관리할 수 있다. 그리고, 키 관리부(310)는 제1 전자 기기(110)의 종단간 암호화 키 발급 요청에 응답하여 단계(S410)에서 생성된 종단간 암호화 키를 제1 전자 기기(110)로 전달할 수 있다. 제1 전자 기기(110)는 사용자에 의해 작성되는 메시지를 기업 관리자의 승인에 의해 발급 받은 종단간 암호화 키로 암호화 하여 송신할 수 있다. 기업용 메시지 서비스에서 종단간 암호화 키로 암호화 된 메시지는 서버(150)와 관련된 데이터베이스인 메시지 데이터베이스에 저장될 수 있다. 이때, 메시지 데이터베이스는 서버(150)에 포함된 구성 요소로 구현되거나 혹은 서버(150)에 연결된 다른 시스템 상에 구현될 수 있다.In step S420, the key management unit 310 encrypts the end-to-end encryption key generated in step S410 with the administrator's encryption key of the corresponding corporate administrator, and transmits the encrypted end-to-end encryption key to the server 150, It can be stored in a chain database. The key management unit 310 can receive the administrator encryption key, which is a unique key previously given to the corresponding enterprise manager, from the second electronic device 120 at the time of issuing the encryption key of the enterprise manager, The key can be encrypted using the administrator encryption key and stored in the keychain database. At this time, the keychain database may be implemented as a component included in the server 150, or may be implemented on another system connected to the server 150. That is, the key management unit 310 can store and manage the end-to-end encryption key of electronic devices using a message service of a specific company through a manager encryption key of the corresponding enterprise manager at the time of key issuance. The key management unit 310 stores the end-to-end encryption key of the first electronic device 110 encrypted with the administrator's encryption key of the enterprise administrator as user information for identifying the first electronic device and / or the user of the first electronic device Etc.). At this time, the key management unit 310 may determine the validity of the administrator's encryption key based on the validity period given to the administrator's encryption key, and if so, store and manage the end-to-end encryption key. The key management unit 310 may transmit the end-to-end encryption key generated in step S410 to the first electronic device 110 in response to the end-to-end encryption key issue request of the first electronic device 110. [ The first electronic device 110 can encrypt the message created by the user with the end-to-end encryption key issued by the approval of the enterprise administrator and transmit the message. Messages encrypted with an end-to-end encryption key in an enterprise message service may be stored in a message database, which is a database associated with server 150. At this time, the message database may be implemented as a component included in the server 150 or on another system connected to the server 150. [

단계(S430)에서 키 관리부(310)는 기업 관리자로부터 제1 전자 기기(110)에 대한 감사(audit) 요청이 수신되면 기업 관리자의 관리자 암호화 키를 이용하여 키 체인 데이터베이스에서 제1 전자 기기(110)의 종단간 암호화 키를 획득할 수 있다. 감사 요청에는 기업 관리자의 관리자 암호화 키와 함께, 제1 전자 기기 및/또는 제1 전자 기기의 사용자를 식별하기 위한 사용자 정보가 포함될 수 있다. 키 관리부(310)는 키 체인 데이터베이스에 저장된, 기업 관리자의 관리자 암호화 키로 암호화 된 종단간 암호화 키 중에서 사용자 정보에 대응되는 종단간 암호화 키, 즉 제1 전자 기기(110)의 종단간 암호화 키를 획득할 수 있다. 이때, 키 관리부(310)는 암호화 된 상태로 저장된 제1 전자 기기(110)의 종단간 암호화 키를 기업 관리자의 관리자 암호화 키로 해독하여 기업 관리자의 제2 전자 기기(120)로 전달할 수 있다.In step S430, when an audit request for the first electronic device 110 is received from the enterprise manager, the key management unit 310 determines whether the first electronic device 110 ) Of the end-to-end encryption key. The audit request may include user information for identifying a user of the first electronic device and / or the first electronic device together with the administrator encryption key of the enterprise administrator. The key management unit 310 obtains the end-to-end encryption key corresponding to the user information, that is, the end-to-end encryption key of the first electronic device 110, among the end-to-end encryption keys encrypted with the administrator's encryption key stored in the key chain database can do. At this time, the key management unit 310 can decrypt the end-to-end encryption key of the first electronic device 110 stored in an encrypted state with the administrator's encryption key of the enterprise administrator and transmit the decrypted key to the second electronic device 120 of the enterprise administrator.

단계(S440)에서 메시지 관리부(320)는 기업 관리자의 감사 요청에 대해 메시지 데이터베이스에 접근하여 단계(S430)에서 획득한 제1 전자 기기(110)의 종단간 암호화 키로 암호화 된 메시지를 기업 관리자의 제2 전자 기기(120)로 제공할 수 있다. 이때, 기업 관리자의 제2 전자 기기(120)는 제1 전자 기기(110)의 종단간 암호화 키로 메시지를 해독할 수 있고, 이에 기업 관리자는 해당 사용자의 메시지 내용을 확인할 수 있다. 따라서, 서버(150)에서는 기업용 메시지 서비스를 이용하는 사용자에 대한 기업 관리자의 감사 요청에 따라 기업 관리자에 의해 키 체인 데이터베이스에 저장된 종단간 암호화 키를 확인하여 해당 사용자의 암호화 된 메시지에 대한 접근 권한을 기업 관리자에게 제공할 수 있고, 이에 기업 관리자는 사용자가 기업용 메시지 서비스를 통해 주고 받은 메시지를 감사 및 관리할 수 있다. 메시지 감사 또한 관리자 암호화 키의 유효 기간 등에 기초한 유효성 여부에 따라 기업 관리자에게 사용자의 암호화 된 메시지에 대한 접근 권한을 제공할 수 있다.In step S440, the message management unit 320 accesses the message database in response to the audit request of the enterprise manager and transmits a message encrypted with the end-to-end encryption key of the first electronic device 110 acquired in step S430 to the enterprise administrator 2 < / RTI > At this time, the second electronic device 120 of the enterprise administrator can decrypt the message with the end-to-end encryption key of the first electronic device 110, and the enterprise administrator can confirm the contents of the message of the user. Accordingly, the server 150 checks the end-to-end encryption key stored in the key chain database by the enterprise manager according to the audit request of the enterprise manager for the user using the enterprise message service, And the enterprise administrator can audit and manage messages sent and received by the user through the enterprise message service. Message auditing can also provide the corporate administrator with access to the user's encrypted message based on the validity of the administrator's encryption key, etc.

도 5는 본 발명의 일실시예에 있어서 기업용 메시지의 종단간 암호화 키를 관리하는 과정의 일례를 도시한 것이다.FIG. 5 illustrates an example of a process of managing an end-to-end encryption key of an enterprise message according to an embodiment of the present invention.

도 5에 도시한 바와 같이, 키 관리부(310)는 사용자 측(즉, 제1 전자 기기)(110)의 종단간 암호화 키 발급 요청(S11)에 대해 기업 관리자 측(즉, 제2 전자 기기)(120)으로부터 암호화 키 발급 승인에 따른 관리자 암호화 키(master_key)가 수신되면(S12) 사용자 측(110)의 종단간 암호화 키(user_key)를 생성할 수 있다(S13).5, the key management unit 310 receives an end-to-end encryption key issue request S11 of the user side (i.e., the first electronic device) 110 from the enterprise administrator side (i.e., the second electronic device) End encryption key (user_key) of the user side 110 (S13) when an administrator's encryption key (master_key) according to the approval of issuance of the encryption key is received from the server 120 (S12).

이때, 키 관리부(310)는 사용자 측(110)의 종단간 암호화 키(user_key)를 관리자 암호화 키(master_key)로 암호화 함으로써 암호화 된 상태의 종단간 암호화 키(master_key, user_key)를 키 체인 데이터베이스에 저장할 수 있다(S14). 그리고, 키 관리부(310)는 사용자 측(110)의 종단간 암호화 키 발급 요청에 대해 단계(S13)에서 생성된 종단간 암호화 키(user_key)를 사용자 측(110)으로 전달할 수 있다(S15).At this time, the key management unit 310 stores the encrypted end-to-end encryption key (master_key, user_key) in the key chain database by encrypting the end-to-end encryption key (user_key) on the user side 110 with the administrator encryption key (master_key) (S14). The key management unit 310 may transmit the end-to-end encryption key (user_key) generated in step S13 to the user side 110 in response to the end-to-end encryption key issue request of the user side 110 (S15).

사용자 측(110)에서는 기업 관리자 측(120)의 승인으로 발급받은 종단간 암호화 키(user_key)로 메시지를 암호화 하여 전달함으로써 메시지 데이터베이스 상에 종단간 암호화 키(user_key)로 암호화 된 메시지(user_key, message)가 저장될 수 있다(S21).On the user side 110, a message is encrypted with an end-to-end encryption key (user_key) issued by the approval of the enterprise manager side 120, and a message (user_key, message May be stored (S21).

이후, 키 관리부(310)는 기업 관리자 측(120)으로부터 관리자 암호화 키(master_key)와 함께 사용자 측(110)에 대한 감사 요청이 수신되면(S31) 키 체인 데이터베이스에서 사용자 측(110)의 종단간 암호화 키(user_key)를 획득한 후(S32) 사용자 측(110)의 종단간 암호화 키(user_key)를 관리자 암호화 키(master_key)로 해독하여(S33) 기업 관리자 측(120)으로 전달할 수 있다(S34).When the key management unit 310 receives an audit request for the user side 110 together with the administrator encryption key (master_key) from the enterprise manager side 120 (S31) After obtaining the encryption key (user_key) (S32), the end-to-end encryption key (user_key) on the user side 110 can be decrypted to the administrator encryption key (master_key) ).

이에, 기업 관리자 측(120)에서는 키 관리부(310)로부터 사용자 측(110)의 종단간 암호화 키(user_key)를 획득하여 메시지 데이터베이스에 접근할 수 있으며, 사용자 측(110)의 종단간 암호화 키(user_key)로 암호화 된 메시지를 해독하여 감사할 수 있다(S35).The enterprise administrator side 120 can obtain the end-to-end encryption key (user_key) from the user side 110 from the key management unit 310 and access the message database. The end-to-end encryption key (user_key) user_key) to be audited (S35).

상기한 바와 같이, 기업용 메시지의 종단간 암호화를 위한 키 체인을 클라우드 환경의 서버(150)에서 중앙 관리하여 기업 보안 차원에서의 메시지 관리 환경을 제공할 수 있다.As described above, a key chain for end-to-end encryption of enterprise messages can be centrally managed in the server 150 of the cloud environment, thereby providing a message management environment in the enterprise security dimension.

도 6 내지 도 9는 본 발명의 일실시예에 있어서 기업 별 메시지 관리 환경의 예시들을 도시한 것이다.Figures 6-9 illustrate examples of enterprise-specific message management environments in an embodiment of the present invention.

foo라는 기업은 alice라는 사용자와 bob이라는 사용자가 소속되어 @foo라는 기업용 메시지 서비스를 이용하고, bar라는 기업은 carol이라는 사용자와 dave라는 사용자가 소속되어 @bar라는 기업용 메시지 서비스를 이용한다고 가정한다.foo assumes that the user alice and bob belong to the enterprise messaging service @ foo and that the company bar uses the corporate message service @ bar called carol and user dave.

도 6을 참조하면, foo 기업의 alice와 bob이 @foo 메시지 서비스를 이용하고자 하는 경우, 먼저 alice 측 단말에서 서버(150) 측으로 종단간 암호화를 위한 키 발급을 신청하면(S601), 이에 키 관리부(310)는 foo 기업의 관리자(admin)에게 alice에 대한 키 발급 승인을 요청하여 받을 수 있다(S602).Referring to FIG. 6, if alice and bob of the company foo desire to use the @ foo message service, the alice side terminal first requests the server 150 to issue a key for end-to-end encryption (S601) (310) may request the manager (admin) of the foo company to approve the key issuance for alice (S602).

키 관리부(310)는 foo 기업 관리자가 암호화 키 발급을 승인한 경우 alice의 종단간 암호화 키(Ka)를 발급할 수 있고, 이때 foo 기업 관리자의 승인으로 발급된 alice의 종단간 암호화 키(Ka)를 관리자 암호화 키(#foo)로 암호화 하여(Ka#foo) 키 체인 데이터베이스에 저장할 수 있다(S603).The key management unit 310 may issue an end-to-end encryption key Ka of the alice when the enterprise administrator of the foo approves the issuance of the encryption key. At this time, the end- (Ka # foo) with the administrator's encryption key (# foo) and store it in the key chain database (S603).

키 관리부(310)는 alice 측의 암호화 키 발급 신청에 응답하여 foo 기업 관리자의 승인으로 발급된 alice의 종단간 암호화 키(Ka)를 alice 측 단말로 전달할 수 있다(S604).In response to the encryption key issuance request of the alice side, the key management unit 310 may transmit the end-to-end encryption key Ka of the alice issued with the approval of the enterprise manager foo to the alice side terminal (S604).

bob에 대한 종단간 암호화 키 발급 과정(S605~S608) 또한 상기한 과정(S601~604)과 동일하다.The end-to-end encryption key issuing process (S605 to S608) for bob is also the same as the above-described processes (S601 to S604).

alice와 bob에 대한 종단간 암호화 키 발급 과정(S601~S608)이 완료된 후 alice와 bob 간에 메시지 서비스를 이용하는 경우 alice와 bob 측에서는 foo 기업 관리자의 승인으로 발급 받은 종단간 암호화 키(Ka, Kb)로 메시지를 암호화 하여 송수신할 수 있으며(S609~S610), 이에 메시지 관리부(320)는 alice와 bob의 종단간 암호화 키(Ka, Kb)로 암호화 된 메시지를 메시지 데이터베이스에 저장할 수 있다.When the message service is used between alice and bob after completion of the end-to-end encryption key issuing process for alice and bob (S601 to S608), alice and bob side use an end-to-end encryption key (Ka, Kb) (S609 to S610), and the message management unit 320 can store a message encrypted with the end-to-end encryption keys Ka and Kb of alice and bob in the message database.

도 7을 참조하면, bar 기업의 carol과 dave이 @bar 메시지 서비스를 이용하고자 하는 경우, 먼저 carol 측 단말에서 서버(150) 측으로 종단간 암호화를 위한 키 발급을 신청하면(S701), 이에 키 관리부(310)는 bar 기업의 관리자(admin)에게 carol에 대한 키 발급 승인을 요청하여 받을 수 있다(S702).7, when carol and dave of the bar company desire to use the message service, the carol terminal first requests the server 150 to issue a key for end-to-end encryption (S701) (Step S702). In step S702, the controller 310 receives a key issuance approval for carol from the manager of the bar company.

키 관리부(310)는 bar 기업 관리자가 암호화 키 발급을 승인한 경우 carol의 종단간 암호화 키(Kc)를 발급할 수 있고, 이때 bar 기업 관리자의 승인으로 발급된 carol의 종단간 암호화 키(Kc)를 관리자 암호화 키(#bar)로 암호화 하여(Kc#bar) 키 체인 데이터베이스에 저장할 수 있다(S703).The key management unit 310 can issue an end-to-end encryption key (Kc) of carol when the bar enterprise administrator approves the encryption key issuance. At this time, the end-to-end encryption key (Kc) (Kc # bar) in the key chain database (S703) by encrypting it with the administrator's encryption key (# bar).

키 관리부(310)는 carol 측의 암호화 키 발급 신청에 응답하여 bar 기업 관리자의 승인으로 발급된 carol의 종단간 암호화 키(Kc)를 carol 측 단말로 전달할 수 있다(S704).The key management unit 310 may transmit the end-to-end encryption key (Kc) of the carol issued with the approval of the bar company manager to the carol side terminal (S704) in response to the encryption key issue request of the carol side.

dave에 대한 종단간 암호화 키 발급 과정(S705~S708) 또한 상기한 과정(S701~704)과 동일하다.The process of issuing the end-to-end encryption key for dave (S705 to S708) is also the same as the above-described process (S701 to S704).

carol과 dave에 대한 종단간 암호화 키 발급 과정(S701~S708)이 완료된 후 carol과 dave 간에 메시지 서비스를 이용하는 경우 carol과 dave 측에서는 bar 기업 관리자의 승인으로 발급 받은 종단간 암호화 키(Kc, Kd)로 메시지를 암호화 하여 송수신할 수 있으며(S709~S710), 이에 메시지 관리부(320)는 carol과 dave의 종단간 암호화 키(Kc, Kd)로 암호화 된 메시지를 메시지 데이터베이스에 저장할 수 있다.If the message service is used between carol and dave after the end-to-end encryption key issuing process (S701 to S708) for carol and dave is completed, the end-to-end encryption keys (Kc, Kd) (S709 to S710), and the message management unit 320 can store a message encrypted with the end-to-end encryption keys (Kc, Kd) of carol and dave in the message database.

이후, foo 기업의 관리자는 @foo 메시지 서비스를 통해 alice와 bob 간에 주고 받은 메시지를 감사할 수 있고, bar 기업의 관리자는 @bar 메시지 서비스를 통해 carol과 dave 간에 주고 받은 메시지를 감사할 수 있다.Later, administrators at the foo company can audit messages sent between alice and bob through the @ foo message service, and administrators at the bar enterprise can audit messages sent between carol and dave via the @ bar message service.

상세하게, 도 8을 참조하면 키 관리부(310)는 foo 기업의 관리자 측으로부터 alice와 bob 간의 메시지 감사 요청이 수신되면(S801), 관리자 암호화 키(#foo)로 암호화 되어 키 체인 데이터베이스에 저장된 종단간 암호화 키(Ka#foo, Kb#foo)로부터 alice의 종단간 암호화 키(Ka)와 bob의 종단간 암호화 키(Kb)를 획득하여 foo 기업의 관리자에게 전달할 수 있다(S802).8, when a message audit request between alice and bob is received from the administrator of the enterprise foo (S801), the key management unit 310 encrypts the message with the administrator encryption key (# foo) The end-to-end encryption key Ka of alice and the end-to-end encryption key Kb of bob may be obtained from the inter-cryptographic key Ka # foo and Kb # foo at step S802.

메시지 관리부(320)는 foo 기업의 관리자 측에서 키 관리부(310)로부터 획득한 alice와 bob의 종단간 암호화 키(Ka, Kb)를 이용하여 alice와 bob 간에 주고 받은 메시지에 접근하는 경우 alice와 bob의 종단간 암호화 키(Ka, Kb)로 암호화 된 메시지를 제공할 수 있으며, foo 기업의 관리자 측에는 alice와 bob의 종단간 암호화 키(Ka, Kb)로 암호화 된 메시지를 해독하여 감사할 수 있다(S803).When the message manager 320 of the foo company accesses the message sent between alice and bob using the end-to-end encryption keys Ka and Kb of alice and bob obtained from the key management unit 310, alice and bob (Ka, Kb) of the end-to-end encryption key (Ka, Kb) of alice and bob can be provided to the manager of the enterprise foo. S803).

또한, 도 9를 참조하면 키 관리부(310)는 bar 기업의 관리자 측으로부터 carol과 dave 간의 메시지 감사 요청이 수신되면(S901), 관리자 암호화 키(#bar)로 암호화 되어 키 체인 데이터베이스에 저장된 종단간 암호화 키(Kc#bar, Kd#bar)로부터 carol의 종단간 암호화 키(Kc)와 dave의 종단간 암호화 키(Kd)를 획득하여 bar 기업의 관리자에게 전달할 수 있다(S902).9, when a message audit request between carol and dave is received from the manager side of the bar company (S901), the key management unit 310 encrypts the end key stored in the key chain database The end-to-end encryption key Kc of the carol and the end-to-end encryption key Kd of the dave may be obtained from the encryption key (Kc # bar, Kd # bar) and transmitted to the manager of the bar company (S902).

메시지 관리부(320)는 bar 기업의 관리자 측에서 키 관리부(310)로부터 획득한 carol과 dave의 종단간 암호화 키(Kc, Kd)를 이용하여 carol과 dave 간에 주고 받은 메시지에 접근하는 경우 carol과 dave의 종단간 암호화 키(Kc, Kd)로 암호화 된 메시지를 제공할 수 있으며, bar 기업의 관리자 측에는 carol과 dave의 종단간 암호화 키(Kc, Kd)로 암호화 된 메시지를 해독하여 감사할 수 있다(S903).When the message manager 320 of the bar company accesses a message exchanged between carol and dave using the end-to-end encryption keys Kc and Kd of carol and dave obtained from the key management unit 310, (Kc, Kd) of the end-to-end encryption key (Kc, Kd) of carol and dave can be provided to the manager side of the bar enterprise. S903).

이와 같이, @foo 메시지 서비스와 @bar 메시지 서비스는 각기 다른 기업에서 이용되는 메시지 서비스로 기업 간에 상호 침해하지 않는 독립적인 구조를 가지면서 각 기업의 관리자가 기업용 메시지의 종단간 암호화 키를 서버(150)에서 중앙 관리하는 클라우드 환경을 통해 해당 기업에 속한 사용자들의 암호화 된 메시지를 감사 및 관리할 수 있다.As such, the @ foo message service and the @ bar message service are message services used by different companies and have an independent structure that does not interfere with each other, and an administrator of each company sends an end-to- ) Can centrally manage the cloud environment to audit and manage the encrypted messages of users belonging to the enterprise.

이처럼 본 발명의 실시예들에 따르면, 기업용 메시지 서비스에 있어 종단간 암호화를 위한 키를 발급받는 시점에 기업 관리자의 승인을 받고 기업 관리자에 의해 승인된 종단간 암호화 키를 서버에서 관리함으로써 기업 관리자가 서버에 저장된 종단간 암호화 키를 이용하여 해당 기업에 소속된 사용자의 암호화된 메시지를 감사할 수 있어 이를 통해 기업 보안 차원에서의 메시지 관리 환경을 제공할 수 있다.As described above, according to the embodiments of the present invention, the end-to-end encryption key approved by the enterprise manager at the time of receiving the key for end-to-end encryption in the enterprise message service is managed by the server, The encrypted message of the user belonging to the company can be audited by using the end-to-end encryption key stored in the server, thereby providing a message management environment in terms of enterprise security.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit, a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device As shown in FIG. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. At this time, the medium may be a program that continuously stores a computer executable program, or temporarily stores the program for execution or downloading. Further, the medium may be a variety of recording means or storage means in the form of a combination of a single hardware or a plurality of hardware, but is not limited to a medium directly connected to any computer system, but may be dispersed on a network. Examples of the medium include a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floptical disk, And program instructions including ROM, RAM, flash memory, and the like. As another example of the medium, a recording medium or a storage medium that is managed by a site or a server that supplies or distributes an application store or various other software is also enumerated.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.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. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (15)

컴퓨터로 구현되는 서버에서 수행되는 키 체인 관리 방법에 있어서,
상기 서버는 복수의 기업을 대상으로 각 기업에 서로 독립된 메시지 서비스를 제공하고,
상기 키 체인 관리 방법은,
특정 기업의 메시지 서비스를 이용하는 전자 기기의 종단간 암호화 키 발급 요청에 대해 상기 메시지 서비스를 통해 송수신되는 메시지의 암호화를 위한 종단간 암호화 키를 발급하는 단계; 및
상기 특정 기업의 관리자에게 부여된 관리자 암호화 키를 통해 상기 종단간 암호화 키를 암호화 하여 상기 서버 상에 저장하는 단계
를 포함하고,
상기 저장하는 단계는,
상기 종단간 암호화 키 발급 요청에 응답하여 상기 발급된 종단간 암호화 키를 상기 전자 기기로 전달하는 단계; 및
상기 관리자 암호화 키로 암호화 된 종단간 암호화 키를 상기 전자 기기와 상기 전자 기기의 사용자 중 적어도 하나를 식별하기 위한 사용자 정보와 매칭하여 상기 서버 상에 저장하는 단계
를 포함하고,
상기 키 체인 관리 방법은,
상기 관리자의 단말로부터 상기 전자 기기에 대한 감사(audit) 요청으로 상기 관리자 암호화 키와 상기 사용자 정보를 포함하는 요청을 수신하는 단계; 및
상기 감사 요청에 대해, 상기 서버에 저장된, 상기 관리자 암호화 키로 암호화 된 종단간 암호화 키 중에서 상기 사용자 정보에 대응되는 종단간 암호화 키를 상기 관리자의 단말로 전달하는 단계
를 더 포함하고,
상기 발급하는 단계는,
상기 전자 기기로부터 종단간 암호화 키 발급 요청을 수신하는 단계;
상기 종단간 암호화 키 발급 요청에 대해 상기 관리자의 단말로 암호화 키 발급 승인을 요청하는 단계; 및
상기 관리자의 단말로부터 상기 종단간 암호화 키 발급 요청에 대한 암호화 키 발급 승인이 수신되면 상기 전자 기기에 대한 종단간 암호화 키를 발급하는 단계
를 포함하고,
상기 종단간 암호화 키는 상기 종단간 암호화 키가 발급되는 시점에 상기 관리자 암호화 키를 통해 저장 및 관리되는 것
을 특징으로 하는 키 체인 관리 방법.
A method of managing a keychain performed on a computer-implemented server,
The server provides a message service independent of each other to a plurality of companies,
The keychain management method includes:
Issuing an end-to-end encryption key for encrypting a message transmitted and received through the message service to an end-to-end encryption key issue request of an electronic device using a message service of a specific company; And
Encrypting the end-to-end encryption key using a manager encryption key assigned to an administrator of the specific company, and storing the encrypted encryption key on the server
Lt; / RTI >
Wherein the storing step comprises:
Transmitting the issued end-to-end encryption key to the electronic device in response to the end-to-end encryption key issue request; And
Matching the end-to-end encryption key encrypted with the administrator's encryption key with user information for identifying at least one of the electronic device and the user of the electronic device and storing the same on the server
Lt; / RTI >
The keychain management method includes:
Receiving a request including the manager encryption key and the user information from an administrator terminal in response to an audit request for the electronic device; And
Transmitting an end-to-end encryption key corresponding to the user information among the end-to-end encryption keys encrypted with the administrator encryption key stored in the server to the terminal of the administrator
Further comprising:
Wherein the step of issuing comprises:
Receiving an end-to-end encryption key issue request from the electronic device;
Requesting the terminal of the administrator to approve the issuance of the encryption key for the end-to-end encryption key issue request; And
An end-to-end encryption key issuing step of issuing an end-to-end encryption key to the electronic device when receiving an encryption key issuing approval for the end-to-
Lt; / RTI >
Wherein the end-to-end encryption key is stored and managed through the administrator's encryption key at the time when the end-to-end encryption key is issued
Wherein the keychain management method comprises the steps of:
삭제delete 삭제delete 제1항에 있어서,
상기 저장하는 단계는,
상기 관리자 암호화 키의 유효 기간에 따른 유효성 여부에 따라 상기 종단간 암호화 키를 상기 서버 상에 저장하는 것
을 특징으로 하는 키 체인 관리 방법.
The method according to claim 1,
Wherein the storing step comprises:
And storing the end-to-end encryption key on the server according to whether the validity period of the administrator encryption key is valid or not
Wherein the keychain management method comprises the steps of:
제1항에 있어서,
상기 키 체인 관리 방법은,
상기 감사 요청에 대해, 상기 메시지 서비스를 통해 송수신된 메시지 중 상기 종단간 암호화 키로 암호화 된 메시지를 상기 관리자의 단말로 제공하는 단계
를 더 포함하는 키 체인 관리 방법.
The method according to claim 1,
The keychain management method includes:
Providing a message encrypted with the end-to-end encryption key among the messages transmitted and received through the message service to the terminal of the administrator,
Further comprising the steps of:
제5항에 있어서,
상기 관리자의 단말로 제공하는 단계는,
상기 관리자 암호화 키의 유효 기간에 따른 유효성 여부에 따라 상기 종단간 암호화 키로 암호화 된 메시지를 상기 관리자의 단말로 제공하는 것
을 특징으로 하는 키 체인 관리 방법.
6. The method of claim 5,
The method of claim 1,
And providing a message encrypted with the end-to-end encryption key to the terminal of the administrator according to whether the validity of the administrator encryption key is valid or not
Wherein the keychain management method comprises the steps of:
제1항에 있어서,
상기 관리자의 단말에서는 상기 감사 요청에 대해 전달 받은 종단간 암호화 키로 암호화 된 메시지를 해독하는 것
을 특징으로 하는 키 체인 관리 방법.
The method according to claim 1,
The administrator's terminal decrypts the message encrypted with the end-to-end encryption key that is received in response to the audit request
Wherein the keychain management method comprises the steps of:
키 체인 관리 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서,
상기 키 체인 관리 방법은 컴퓨터로 구현되는 서버에 의해 실행되는 것으로,
복수의 기업을 대상으로 각 기업에 서로 독립된 메시지 서비스를 제공하는 환경에서,
특정 기업의 메시지 서비스를 이용하는 전자 기기의 종단간 암호화 키 발급 요청에 대해 상기 메시지 서비스를 통해 송수신되는 메시지의 암호화를 위한 종단간 암호화 키를 발급하는 단계; 및
상기 특정 기업의 관리자에게 부여된 관리자 암호화 키를 통해 상기 종단간 암호화 키를 암호화 하여 저장하는 단계
를 포함하고,
상기 저장하는 단계는,
상기 종단간 암호화 키 발급 요청에 응답하여 상기 발급된 종단간 암호화 키를 상기 전자 기기로 전달하는 단계; 및
상기 관리자 암호화 키로 암호화 된 종단간 암호화 키를 상기 전자 기기와 상기 전자 기기의 사용자 중 적어도 하나를 식별하기 위한 사용자 정보와 매칭하여 상기 서버 상에 저장하는 단계
를 포함하고,
상기 키 체인 관리 방법은,
상기 관리자의 단말로부터 상기 전자 기기에 대한 감사(audit) 요청으로 상기 관리자 암호화 키와 상기 사용자 정보를 포함하는 요청을 수신하는 단계; 및
상기 감사 요청에 대해, 상기 서버에 저장된, 상기 관리자 암호화 키로 암호화 된 종단간 암호화 키 중에서 상기 사용자 정보에 대응되는 종단간 암호화 키를 상기 관리자의 단말로 전달하는 단계
를 더 포함하고,
상기 발급하는 단계는,
상기 전자 기기로부터 종단간 암호화 키 발급 요청을 수신하는 단계;
상기 종단간 암호화 키 발급 요청에 대해 상기 관리자의 단말로 암호화 키 발급 승인을 요청하는 단계; 및
상기 관리자의 단말로부터 상기 종단간 암호화 키 발급 요청에 대한 암호화 키 발급 승인이 수신되면 상기 전자 기기에 대한 종단간 암호화 키를 발급하는 단계
를 포함하고,
상기 종단간 암호화 키는 상기 종단간 암호화 키가 발급되는 시점에 상기 관리자 암호화 키를 통해 저장 및 관리되는 것
을 특징으로 하는, 컴퓨터 프로그램.
A computer program recorded on a computer-readable recording medium for executing a key chain management method,
The keychain management method is executed by a computer-implemented server,
In an environment where a plurality of companies are provided with independent message services for each company,
Issuing an end-to-end encryption key for encrypting a message transmitted and received through the message service to an end-to-end encryption key issue request of an electronic device using a message service of a specific company; And
And encrypting and storing the end-to-end encryption key through the administrator's encryption key assigned to the manager of the specific company
Lt; / RTI >
Wherein the storing step comprises:
Transmitting the issued end-to-end encryption key to the electronic device in response to the end-to-end encryption key issue request; And
Matching the end-to-end encryption key encrypted with the administrator's encryption key with user information for identifying at least one of the electronic device and the user of the electronic device and storing the same on the server
Lt; / RTI >
The keychain management method includes:
Receiving a request including the manager encryption key and the user information from an administrator terminal in response to an audit request for the electronic device; And
Transmitting an end-to-end encryption key corresponding to the user information among the end-to-end encryption keys encrypted with the administrator encryption key stored in the server to the terminal of the administrator
Further comprising:
Wherein the step of issuing comprises:
Receiving an end-to-end encryption key issue request from the electronic device;
Requesting the terminal of the administrator to approve the issuance of the encryption key for the end-to-end encryption key issue request; And
An end-to-end encryption key issuing step of issuing an end-to-end encryption key to the electronic device when receiving an encryption key issuing approval for the end-to-
Lt; / RTI >
Wherein the end-to-end encryption key is stored and managed through the administrator's encryption key at the time when the end-to-end encryption key is issued
And a computer program product.
컴퓨터로 구현되는 서버에서의 키 체인 관리 시스템에 있어서,
컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
복수의 기업을 대상으로 각 기업에 서로 독립된 메시지 서비스를 제공하는 환경에서, 특정 기업의 메시지 서비스를 이용하는 전자 기기의 종단간 암호화 키 발급 요청에 대해 상기 메시지 서비스를 통해 송수신되는 메시지의 암호화를 위한 종단간 암호화 키를 발급한 후, 상기 특정 기업의 관리자에게 부여된 관리자 암호화 키를 통해 상기 종단간 암호화 키를 암호화 하여 저장하는 키 관리부
를 포함하고,
상기 키 관리부는,
상기 종단간 암호화 키 발급 요청에 응답하여 상기 발급된 종단간 암호화 키를 상기 전자 기기로 전달하고,
상기 관리자 암호화 키로 암호화 된 종단간 암호화 키를 상기 전자 기기와 상기 전자 기기의 사용자 중 적어도 하나를 식별하기 위한 사용자 정보와 매칭하여 상기 서버 상에 저장하고,
상기 관리자의 단말로부터 상기 전자 기기에 대한 감사(audit) 요청으로 상기 관리자 암호화 키와 상기 사용자 정보를 포함하는 요청을 수신하고,
상기 감사 요청에 대해, 상기 서버에 저장된, 상기 관리자 암호화 키로 암호화 된 종단간 암호화 키 중에서 상기 사용자 정보에 대응되는 종단간 암호화 키를 상기 관리자의 단말로 전달하고,
상기 키 관리부는,
상기 전자 기기로부터 종단간 암호화 키 발급 요청이 수신되면 상기 종단간 암호화 키 발급 요청에 대해 상기 관리자의 단말로 암호화 키 발급 승인을 요청하고,
상기 관리자의 단말로부터 상기 종단간 암호화 키 발급 요청에 대한 암호화 키 발급 승인이 수신되면 상기 전자 기기에 대한 종단간 암호화 키를 발급하고,
상기 종단간 암호화 키는 상기 종단간 암호화 키가 발급되는 시점에 상기 관리자 암호화 키를 통해 저장 및 관리되는 것
을 특징으로 하는 키 체인 관리 시스템.
A computer-implemented keychain management system in a server,
At least one processor configured to execute computer readable instructions,
Lt; / RTI >
Wherein the at least one processor comprises:
An end terminal for encrypting a message transmitted and received through the message service for an end-to-end encryption key issue request of an electronic device using a message service of a specific company in an environment for providing a message service independent of each other to a plurality of companies, End encryption key by using the administrator's encryption key assigned to the administrator of the specific company after the issuance of the inter-
Lt; / RTI >
The key management unit,
And transmits the issued end-to-end encryption key to the electronic device in response to the end-to-end encryption key issue request,
An end-to-end encryption key encrypted with the administrator's encryption key is matched with user information for identifying at least one of the electronic device and the user of the electronic device and is stored on the server,
Receiving a request including the manager encryption key and the user information in response to an audit request for the electronic device from the terminal of the manager,
An end-to-end encryption key corresponding to the user information, among the end-to-end encryption keys encrypted with the administrator's encryption key stored in the server, to the terminal of the administrator,
The key management unit,
When receiving an end-to-end encryption key issue request from the electronic device, requests an end-to-end encryption key issue request to the terminal of the administrator,
An end-to-end encryption key issuing unit for issuing an end-to-end encryption key to the electronic device when receiving an encryption key issuing approval for the end-
Wherein the end-to-end encryption key is stored and managed through the administrator's encryption key at the time when the end-to-end encryption key is issued
The keychain management system comprising:
삭제delete 삭제delete 제9항에 있어서,
상기 키 관리부는,
상기 관리자 암호화 키의 유효 기간에 따른 유효성 여부에 따라 상기 종단간 암호화 키를 저장하는 것
을 특징으로 하는 키 체인 관리 시스템.
10. The method of claim 9,
The key management unit,
Storing the end-to-end encryption key according to the validity of the administrator encryption key according to the validity period
The keychain management system comprising:
제9항에 있어서,
상기 적어도 하나의 프로세서는,
상기 감사 요청에 대해, 상기 메시지 서비스를 통해 송수신된 메시지 중 상기 종단간 암호화 키로 암호화 된 메시지를 상기 관리자의 단말로 제공하는 메시지 관리부
를 더 포함하는 키 체인 관리 시스템.
10. The method of claim 9,
Wherein the at least one processor comprises:
And a message management unit for providing, to the terminal of the manager, a message encrypted with the end-to-end encryption key among the messages transmitted and received through the message service,
Wherein the keychain management system further comprises:
제13항에 있어서,
상기 메시지 관리부는,
상기 관리자 암호화 키의 유효 기간에 따른 유효성 여부에 따라 상기 종단간 암호화 키로 암호화 된 메시지를 상기 관리자의 단말로 제공하는 것
을 특징으로 하는 키 체인 관리 시스템.
14. The method of claim 13,
The message management unit,
And providing a message encrypted with the end-to-end encryption key to the terminal of the administrator according to whether the validity of the administrator encryption key is valid or not
The keychain management system comprising:
제9항에 있어서,
상기 관리자의 단말에서는 상기 감사 요청에 대해 전달 받은 종단간 암호화 키로 암호화 된 메시지를 해독하는 것
을 특징으로 하는 키 체인 관리 시스템.
10. The method of claim 9,
The administrator's terminal decrypts the message encrypted with the end-to-end encryption key that is received in response to the audit request
The keychain management system comprising:
KR1020170026068A 2017-02-28 2017-02-28 Key chain management method and key chain management system for end-to-end encryption of message KR101986690B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170026068A KR101986690B1 (en) 2017-02-28 2017-02-28 Key chain management method and key chain management system for end-to-end encryption of message
JP2018017093A JP6542401B2 (en) 2017-02-28 2018-02-02 Key chain management method and system for end-to-message encryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170026068A KR101986690B1 (en) 2017-02-28 2017-02-28 Key chain management method and key chain management system for end-to-end encryption of message

Publications (2)

Publication Number Publication Date
KR20180099083A KR20180099083A (en) 2018-09-05
KR101986690B1 true KR101986690B1 (en) 2019-06-10

Family

ID=63528393

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170026068A KR101986690B1 (en) 2017-02-28 2017-02-28 Key chain management method and key chain management system for end-to-end encryption of message

Country Status (2)

Country Link
JP (1) JP6542401B2 (en)
KR (1) KR101986690B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102398380B1 (en) * 2020-12-07 2022-05-16 주식회사 티이이웨어 Method and system for key exchagne

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100502066B1 (en) * 2002-10-31 2005-07-25 한국전자통신연구원 Method and system for managing a secret key
JP2011081842A (en) * 2003-06-02 2011-04-21 Liquid Machines Inc Managing data object in dynamic, distributed and collaborative context
KR101207694B1 (en) * 2012-05-16 2012-12-03 주식회사 엘지유플러스 Method and apparatus for providing bussiness message service

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3604264B2 (en) * 1997-10-06 2004-12-22 株式会社東芝 Caller terminal device, network system, and call information monitoring method
KR20060102615A (en) * 2005-03-24 2006-09-28 심갑수 Message service system for use in enterprise security and service method thereof
JP2008177752A (en) * 2007-01-17 2008-07-31 Kddi Corp Key management device, terminal device, content management device, and computer program
JP5730488B2 (en) * 2010-01-18 2015-06-10 中国電力株式会社 Information processing system
JP2011254146A (en) * 2010-05-31 2011-12-15 Nippon Telegr & Teleph Corp <Ntt> Communication content audit method and communication content audit system
CN105792190B (en) * 2014-12-25 2021-01-15 成都鼎桥通信技术有限公司 Data encryption, decryption and transmission method in communication system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100502066B1 (en) * 2002-10-31 2005-07-25 한국전자통신연구원 Method and system for managing a secret key
JP2011081842A (en) * 2003-06-02 2011-04-21 Liquid Machines Inc Managing data object in dynamic, distributed and collaborative context
KR101207694B1 (en) * 2012-05-16 2012-12-03 주식회사 엘지유플러스 Method and apparatus for providing bussiness message service

Also Published As

Publication number Publication date
JP2018142955A (en) 2018-09-13
KR20180099083A (en) 2018-09-05
JP6542401B2 (en) 2019-07-10

Similar Documents

Publication Publication Date Title
US11637703B2 (en) Zero-knowledge environment based social networking engine
CN111095327B (en) System and method for verifying verifiable claims
CN111066020B (en) System and method for creating a decentralised identity
CN111095865B (en) System and method for issuing verifiable claims
JP6892513B2 (en) Off-chain smart contract service based on a reliable execution environment
US20230010452A1 (en) Zero-Knowledge Environment Based Networking Engine
US9992172B2 (en) Secure key management in a data storage system
US9166781B2 (en) Key change management apparatus and key change management method
US20220060514A1 (en) Data sharing
EP3537684A1 (en) Apparatus, method, and program for managing data
JP2021175193A (en) Multicast encryption scheme for data ownership platform
TW201616373A (en) Resource sharing apparatus, method, and non-transitory computer readable storage medium thereof
US11604784B2 (en) Establishing decentralized identifiers for algorithms, data schemas, data sets, and algorithm execution requests
KR101986690B1 (en) Key chain management method and key chain management system for end-to-end encryption of message
JP2019046262A (en) Information processing apparatus, information processing method, and information processing program
CN115599959A (en) Data sharing method, device, equipment and storage medium
JP6319816B2 (en) Authentication file generation system, file authentication system, authentication file generation method, file authentication method, authentication file generation program, and file authentication program
KR102398380B1 (en) Method and system for key exchagne
KR20220163076A (en) Method and system for providing card service
CN115051801A (en) Access permission state determination system, method, electronic device and storage medium
KR20220154886A (en) Method and apparatus for digital content protection
KR20220045746A (en) Method for serving contents distribution for access control management, computing device and system for executing the method
CN116032626A (en) Method and device for safely and legally accessing WEB background service in automatic driving
CN114676445A (en) Information processing method, device, equipment and medium
KR20210039712A (en) User card management method and system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)