KR20100085424A - Group key distribution method and server and client for implementing the same - Google Patents
Group key distribution method and server and client for implementing the same Download PDFInfo
- Publication number
- KR20100085424A KR20100085424A KR1020090004700A KR20090004700A KR20100085424A KR 20100085424 A KR20100085424 A KR 20100085424A KR 1020090004700 A KR1020090004700 A KR 1020090004700A KR 20090004700 A KR20090004700 A KR 20090004700A KR 20100085424 A KR20100085424 A KR 20100085424A
- Authority
- KR
- South Korea
- Prior art keywords
- random value
- client
- group key
- group
- server
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 그룹키 분배 방법 및 이를 위한 서버 및 클라이언트에 관한 것이다.The present invention relates to a group key distribution method and a server and a client therefor.
최근 네트워크 기술이 발전함에 따라 VoIP(Voice over Internet Protocol), IP-TV(Internet Protocol Television) 등 인터넷을 기반으로 하는 다양한 서비스들이 등장하였다. VoIP는 기존 인터넷 망을 활용함으로써 저렴한 비용의 전화 서비스가 가능하기 때문에 기존 PSTN(Public Switched Telephone Network) 기반의 전화를 대체할 새로운 서비스로 기재되고 있다. IP-TV는 기존의 방송 시스템과 달리 서비스 제공자와 사용자가 상호 작용함으로써 양방향 서비스를 제공할 수 있다. 이러한 양방향 통신은 사용자에 따라 차별화된 서비스를 제공한다.Recently, with the development of network technology, various services based on the Internet, such as Voice over Internet Protocol (VoIP) and Internet Protocol Television (IP-TV), have emerged. VoIP is being described as a new service to replace existing public switched telephone network (PSTN) based telephones because low-cost telephone service is available by utilizing the existing Internet network. Unlike conventional broadcasting systems, IP-TV can provide interactive services by interacting with service providers and users. This bidirectional communication provides a differentiated service according to the user.
한편 VoIP 및 IP-TV 서비스는 모두 오픈 네트워크인 인터넷을 기반으로 제공되기 때문에 각종 위협에 노출되어 있다. 예를 들어, VoIP의 경우 통화 주체들 외 의 다른 사용자들이 통화 내용을 도청할 수 없도록 통화 내용을 안전하게 보호해야 한다. 특히, 다자간 통화나 화상 회의의 경우 여러 사용자들이 통화에 참석할 수 있기 때문에 권한이 없는 사용자가 통화에 참여하거나 통화 내용을 도청할 수 없도록 접근 제어를 수행하여야 한다. Meanwhile, both VoIP and IP-TV services are exposed to various threats because they are provided based on the open network, the Internet. For example, VoIP requires that the content of a call be secured so that no one other than the call parties can eavesdrop on the call. In particular, in the case of a multi-party call or a video conference, the access control may be performed such that an unauthorized user cannot join the call or eavesdrop on the call because many users can attend the call.
IP-TV의 경우, 서비스 제공자는 과금 처리가 완료된 합법적인 사용자만이 서비스를 수신할 수 있도록 하는 접근 제어를 필요로 한다. 즉, 합법적인 사용자들만이 공통으로 알고 있는 그룹키를 이용하여 컨텐츠를 암호화 함으로써 컨텐츠를 보호할 수 있다. 이 경우, 그룹키의 효율적인 재분배 문제를 해결해야 한다. 예를 들어, 과금 기간이 만료되거나, 혹은 가입 해지를 함으로써 더 이상 컨텐츠의 수신 권한이 없는 사용자가 발생할 경우, 서비스 제공자는 해당 사용자가 더 이상 컨텐츠를 수신할 수 없도록 기존의 그룹키를 갱신해야 하며, 갱신된 그룹키를 합법적인 사용자들에게 다시 전송해야 한다. In the case of IP-TV, the service provider needs access control to ensure that only legitimate users who have completed the billing process can receive the service. That is, the content can be protected by encrypting the content using a group key that only legitimate users know in common. In this case, the problem of efficient redistribution of group keys must be solved. For example, if the billing period expires or a user who no longer has the right to receive the content by canceling the subscription, the service provider must renew the existing group key so that the user can no longer receive the content. In addition, the updated group key must be sent back to legitimate users.
단말에게 그룹키를 분배하기 위한 방식에는, 키 전달 프로토콜과 키 동의 프로토콜이 존재한다. 키 전달 프로토콜은, 키 관리 서버가 그룹키를 생성 및 전달하는 방식을 의미한다. 키 동의 프로토콜은, 키 관리 서버 없이 단말들이 메시지를 송수신하여 그룹키를 공유하게 되는 방식을 의미한다. 우리는 기존에 연구된 키 전달 프로토콜과 키 동의 프로토콜을 분석하였고, 그 설명은 다음과 같다.In a scheme for distributing group keys to a terminal, a key transfer protocol and a key agreement protocol exist. The key delivery protocol refers to a method in which a key management server generates and delivers a group key. The key agreement protocol refers to a method in which terminals share a group key by sending and receiving a message without a key management server. We analyzed the key transfer protocol and the key agreement protocol that have been studied previously. The explanation is as follows.
1. 키 동의 프로토콜1. Key agreement protocol
셔먼(Sherman) 등은 머클 트리(Merkle Tree)를 이용한 그룹키 분배 프로토콜인 One-way Function Trees(OFT)를 제안하였다. OFT의 뿌리 노드(Root Node)는 그 룹키를 의미하고, 종단 노드(Leaf Node)는 단말과 키 관리 서버가 공유하는 비밀 값을 의미한다. 단말은 그룹키를 획득하기 위해, 먼저 종단 노드에 해당하는 비밀 값을 해쉬 함수로 연산한 값과, 형제 노드(Sibling Node)에 해당하는 비밀 값을 해쉬 함수로 연산한 값을 XOR 함으로써, 부모 노드(Parent Node)를 갖게 된다. 그리고 이 부모 노드에 대해서도 위와 같은 과정을 거쳐, 궁극적으로 그룹키인 뿌리 노드가 계산된다. OFT는, 단말의 가입이나 탈퇴가 발생할 때마다, 대칭 키 기반 암호화 알고리즘과 해쉬 함수를 각각 log2(n+1) 씩 수행해야 한다.Sherman et al. Proposed One-way Function Trees (OFT), a group key distribution protocol using Merkle Tree. The root node of the OFT means a group key, and the end node means a secret value shared between the terminal and the key management server. In order to obtain a group key, the terminal first performs a XOR operation on a secret value corresponding to an end node using a hash function and a value computed on a secret value corresponding to a sibling node using a hash function. You have a Parent Node. The parent node, which is the group key, is ultimately calculated through the above process. The OFT should perform log2 (n + 1) for each symmetric key-based encryption algorithm and hash function each time subscription or withdrawal of the terminal occurs.
Jung은 연산 자원이 제한된 단말들이 효율적으로 그룹키를 공유하기 위한 키 동의 프로토콜을 제안하였다. Jung의 프로토콜은 디피-헬만 (Diffie-Hellman) 기반의 그룹키 동의 방식을 사용하고 있으며, XOR, 해쉬 등 가벼운 연산만으로 구현이 가능하다. 그러나 Lee 등은 Jung의 프로토콜에 보안 취약점이 존재한다는 사실을 증명하였다. Lee 등에 따르면, Jung의 프로토콜은 내부 공격자에 의한 서비스 거부 공격이 발생할 수 있다.Jung proposed a key agreement protocol for efficient sharing of group keys among terminals with limited computational resources. Jung's protocol uses Diffie-Hellman-based group key agreement, and can be implemented with only light calculations such as XOR and hash. However, Lee et al. Proved that a security vulnerability exists in Jung's protocol. According to Lee et al., Jung's protocol can cause denial of service attacks by internal attackers.
2. 키 전달 프로토콜2. Key Delivery Protocol
Dondeti 등은 그룹의 계층 구조에 기반하여 그룹키를 분배하는 Dual-Encryption Protocol(DEP)을 제안하였다. 이 연구에 의하면, 그룹키를 효율적으로 갱신하기 위해서는, 하나의 그룹을 다수 개의 서브 그룹으로 분할해야 하며, 각 서브 그룹의 그룹키를 관리하는 서브 그룹 매니저가 존재해야 한다. 또한, 서브 그룹 매니저가 메시지를 수신할 권한이 없는 경우, 서브 그룹 매니저의 접근을 제한하기 위해 키 서버는 그룹 가입자에게만 알려진 그룹키를 이용하여 메시지를 암호화 한다. DEP는 서브 그룹 매니저의 접근 제어가 필요한 상황에는 적합하지만, 그렇지 않은 경우에는 불필요한 암호화에 의한 오버헤드가 발생한다.Dondeti et al. Proposed the Dual-Encryption Protocol (DEP), which distributes group keys based on group hierarchy. According to this study, in order to efficiently update a group key, one group must be divided into a plurality of subgroups, and a subgroup manager for managing the group keys of each subgroup must exist. In addition, when the subgroup manager is not authorized to receive the message, the key server encrypts the message using a group key known only to the group subscribers in order to restrict access of the subgroup manager. DEP is suitable for situations where access control of the subgroup manager is required, but otherwise, unnecessary encryption overhead occurs.
Sun 등은 Pay-TV에 적합한 새로운 CAS를 제안하였다. 그들은 그룹키 전달에 사용되는 모든 값들을 사전에 오프라인으로 전달하는 방식을 사용하였다. 즉, 저자들은 단말마다 저장해야 하는 정보를 늘리는 대신, 전송 오버헤드를 감소시키는 그룹키 분배 프로토콜을 제안하였다. 시스템에 존재하는 모든 단말 Ci (1≤i≤n)에는 각 단말과 관련된 고유 정보 Ii (1≤i≤n)가 있으며, Ii는 Ci를 제외한 나머지 n-1개의 단말들이 모두 알고 있는 값이다. 만약 단말 Ci가 탈퇴하면, 나머지 n-1개의 단말들은 Ii를 기존 키에 XOR 함으로써 새로운 키를 획득하게 된다. 따라서, 탈퇴한 단말은 갱신된 키를 알 수 없고, 탈퇴한 단말을 제외한 모든 단말은 갱신된 키를 알 수 있다.Sun et al. Proposed a new CAS suitable for Pay-TV. They used a way to pass offline all the values used for group key propagation. That is, the authors proposed a group key distribution protocol that reduces the transmission overhead instead of increasing the information to be stored for each terminal. Every terminal Ci (1 ≦ i ≦ n) existing in the system has unique information Ii (1 ≦ i ≦ n) associated with each terminal, and Ii is a value known to all n-1 terminals except Ci. If the terminal Ci withdraws, the remaining n-1 terminals obtain a new key by XORing Ii to the existing key. Accordingly, the withdrawn terminal cannot know the updated key, and all terminals except the withdrawn terminal can know the updated key.
그러나 이상에서 설명한 프로토콜 또는 접근 제어에 따라 통화 내용에 대한 암호화를 수행하게 되면, 통화 내용의 송수신에 지연이 발생할 수 있으며, 이는 통화의 품질을 떨어뜨리는 원인이 된다. 다자간 통화나 화상 회의의 경우에는 통화 주체가 셋 이상이 될 수 있기 보안에 소요되는 오버헤드가 일반 통화에 비해 더욱 클 수밖에 없다. 따라서 다자간 통화 및 화상 회의의 경우는 1:1 통화에 비해 통화 품질의 저하를 최소화시키면서 통화 내용을 안전하게 보호할 수 있는 방법이 더욱 절실히 요구된다.However, if the encryption of the contents of the call is performed according to the protocol or the access control described above, a delay may occur in the transmission and reception of the contents of the call, which causes a decrease in the quality of the call. In the case of multi-party calls or video conferencing, there may be more than three call subjects, so security overhead is inevitably higher than that of general calls. Therefore, in the case of multi-party call and video conferencing, there is an urgent need for a method to safely protect the call content while minimizing the degradation of call quality compared to 1: 1 call.
따라서 본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위한 것으로, Pseudo Random Function과 XOR 연산과 같이 매우 빠른 연산만을 이용하고, Pseudo Random Function의 반복 사용에 의해 발생할 수 있는 전방향 안전성 문제를 XOR 연산을 통해 극복한 안전하고 효율적인 그룹키 분배 방법 및 이를 구현하기 위한 서버 및 클라이언트의 제공을 그 목적으로 한다.Therefore, the present invention is to solve the problems according to the prior art, using only very fast operation, such as Pseudo Random Function and XOR operation, XOR operation of the omnidirectional safety problem that can occur by repeated use of Pseudo Random Function The purpose of the present invention is to provide a secure and efficient method for distributing group keys and to provide a server and a client for implementing the same.
본 발명의 일 측면에 따른 그룹키 분배 방법은 제1 클라이언트는 제1 랜덤값 및 제2 랜덤값을 생성하고, 상기 제1 랜덤값, 제2 랜덤값 및 서버와 상기 제1 클라이언트가 공유하는 비밀키를 암호화하여 서버로 전송하는 단계; 상기 서버는 상기 암호화된 값을 복호화하여 상기 제1 랜덤값, 제2 랜덤값 및 비밀키 정보를 획득하는 단계; 상기 서버는 서버 랜덤값을 생성하고, 상기 서버 랜덤값과 상기 그룹에 속해있는 적어도 하나 이상의 클라이언트들의 제1 랜덤값을 이용하여 그룹키를 생성하는 단계; 상기 서버는 상기 생성된 그룹키로부터 상기 그룹에 속해있는 적어도 하나 클라이언트들 별 그룹키 보안 메시지를 생성하고 이를 그룹에 속해 있는 각각의 클라이언트로 전송하는 단계; 및 상기 그룹에 속해 있는 각각의 클라이언트는 자신의 제1 랜덤값, 제2 랜덤값 및 상기 그룹키 보안 메시지를 이용하여 그룹키를 획득하는 단계를 포함한다.In a group key distribution method according to an aspect of the present invention, a first client generates a first random value and a second random value, and the first random value, the second random value, and a secret shared by a server and the first client. Encrypting the key and transmitting it to the server; The server decrypting the encrypted value to obtain the first random value, the second random value, and the secret key information; Generating a server random value and generating a group key using the server random value and a first random value of at least one or more clients belonging to the group; Generating, by the server, a group key security message for at least one client belonging to the group from the generated group key and transmitting the group key security message to each client belonging to the group; And each client belonging to the group obtains a group key using its first random value, a second random value, and the group key security message.
이 경우 상기 제1 클라이언트가 상기 그룹에서 탈퇴한 경우, 상기 서버는 새로운 서버 랜덤값을 생성하고, 상기 서버 랜덤값과 상기 그룹에 남아있는 적어도 하나 이상의 클라이언트 별 제1 랜덤값을 이용하여 새로운 그룹키를 생성하는 단계; 상기 서버는 상기 새롭게 생성된 그룹키를 이용하여 상기 그룹에 남아있는 적어도 하나 이상의 클라이언트 별로 그룹키 보안 메시지를 생성하여, 각각의 클라이언트로 전송하는 단계; 및 상기 그룹에 남아있는 적어도 하나 이상의 클라이언트들은 상기 그룹키 보안 메시지로부터 새롭게 생성된 그룹키를 추출하는 단계를 더 포함할 수 있다.In this case, when the first client leaves the group, the server generates a new server random value and uses the server random value and at least one first random value for each client remaining in the group to generate a new group key. Generating a; Generating, by the server, a group key security message for each of at least one client remaining in the group by using the newly generated group key, and transmitting the generated group key security message to each client; And at least one client remaining in the group may further extract a newly generated group key from the group key security message.
상기 제1 클라이언트가 비밀키 정보를 암호화하는 단계는, 상기 제1 랜덤값, 제2 랜덤값 및 및 서버와 제1 클라이언트가 공유하는 비밀키를 상기 비밀키를 이용하여 암호화하는 것을 특징으로 할 수 있다.The encrypting the secret key information by the first client may encrypt the first random value, the second random value, and a secret key shared by the server and the first client using the secret key. have.
본 발명에 따른 그룹키 분배 방법에는 상기 복호화하여 획득한 상기 제1 랜덤값, 제2 랜덤값 및 비밀키 정보를 이용하여 상기 제1 클라이언트의 인증을 수행하는 단계가 더 포함될 수 있다.The group key distribution method according to the present invention may further include the step of performing authentication of the first client by using the first random value, the second random value, and the secret key information obtained by decoding.
상기 서버가 제1 클라이언트의 인증을 수행하는 단계는, 상기 복호화하여 획득한 비밀키와 상기 서버가 가지고 있던 제1 클라이언트의 비밀키 정보를 비교함으로써 상기 제1 클라이언트의 인증을 수행하는 것을 특징으로 할 수 있다.In the server performing the authentication of the first client, the first client may be authenticated by comparing the decrypted private key with the private key information of the first client. Can be.
상기 서버 랜덤값과 상기 그룹에 속해있는 적어도 하나 이상의 클라이언트들의 제1 랜덤값을 이용하여 그룹키를 생성하는 단계는, 상기 서버 랜덤값과 상기 그룹에 속해있는 적어도 하나 이상의 클라이언트들의 제1 랜덤값을 XOR 연산하여 그 룹키를 생성하는 것을 특징으로 할 수 있다.Generating a group key using the server random value and a first random value of at least one or more clients belonging to the group may include generating the server random value and a first random value of at least one or more clients belonging to the group. The group key may be generated by performing an XOR operation.
상기 서버가 그룹키 보안 메시지를 생성하는 단계는, 상기 생성된 그룹키, 클라이언트 별 제1 랜덤값 및 클라이언트별 제2 랜덤값을 기설정된 횟수만큼 일방향 함수에 적용한 값을 XOR 연산하여 상기 그룹키 보안 메시지를 생성하는 것을 특징으로 할 수 있다.The generating of the group key security message by the server may include performing an XOR operation on the generated group key, a first random value for each client, and a second random value for each client by a predetermined number of times to perform an XOR operation on the group key security message. It may be characterized by generating a message.
상기 서버는 클라이언트별 제2 랜덤값을, 상기 클라이언트별 제2 랜덤값을 기설정된 횟수만큼 일방향 함수에 적용한 값으로 업데이트하는 것을 특징으로 할 수 있다. 상기 클라이언트는 상기 제2 랜덤값을 기설정된 횟수만큼 일방향 함수에 적용한 값, 고정 랜덤 값 및 그룹키 보안 메시지를 XOR 연산함으로써 그룹키를 획득하는 것을 특징으로 할 수 있다. 상기 클라이언트는 자신이 가지고 있는 제2 랜덤값을, 상기 제2 랜덤값을 기설정된 횟수만큼 일방향 함수에 적용한 값으로 업데이트하는 것을 특징으로 할 수 있다.The server may update the second random value for each client to a value applied to the one-way function by a predetermined number of times. The client may obtain a group key by XORing a value obtained by applying the second random value to a one-way function a predetermined number of times, a fixed random value, and a group key security message. The client may update the second random value of the client to a value applied to the one-way function by a predetermined number of times.
본 발명의 다른 측면에 따른 그룹키 분배를 위한 서버는 클라이언트로부터 전달되는 암호화 메시지를 복호화하여 제1 랜덤값, 제2 랜덤값 및 비밀키를 획득하는 복호화부; 서버의 제1 랜덤값을 생성하고, 상기 서버의 제1 랜덤값과 그룹에 속하는 적어도 하나 이상의 클라이언트 별 제1 랜덤값을 이용하여 그룹키를 생성하는 그룹키 생성부; 및 상기 생성된 그룹키로부터 상기 그룹에 속하는 클라이언트 별로 그룹키 보안 메시지를 생성하여 이를 각각의 클라이언트로 전송하도록 하는 그룹키 보안 메시지 생성부를 포함한다.According to another aspect of the present invention, a server for group key distribution includes a decryption unit for decrypting an encrypted message transmitted from a client to obtain a first random value, a second random value, and a secret key; A group key generation unit generating a first random value of a server and generating a group key by using the first random value of the server and a first random value of at least one client belonging to a group; And a group key security message generation unit for generating a group key security message for each client belonging to the group from the generated group key and transmitting the group key security message to each client.
이 경우 상기 복호화부는, 상기 암호화 메시지를 전달한 클라이언트와 공유하고 있던 비밀키를 이용하여 상기 암호화 메시지를 복호화하는 것을 특징으로 할 수 있다.In this case, the decryption unit may decrypt the encrypted message by using a secret key shared with the client that delivered the encrypted message.
본 발명에 따른 서버는 상기 복호화부가 획득한 비밀키를 이용하여 클라이언트의 인증을 수행하고, 인증이 수행한 경우 상기 그룹키 생성부로 하여금 그룹키를 생성토록 제어하는 사용자 인증부를 더 포함할 수 있다.The server according to the present invention may further include a user authentication unit which performs authentication of a client using the secret key obtained by the decryption unit, and controls the group key generation unit to generate a group key when authentication is performed.
상기 그룹키 생성부는, 상기 서버의 제1 랜덤값과 그룹에 속한 적어도 하나 이상의 클라이언트 별 제1 랜덤값을 XOR 연산하여 그룹키를 생성하는 것을 특징으로 할 수 있다.The group key generation unit may generate a group key by performing an XOR operation on a first random value of the server and a first random value of at least one client belonging to a group.
본 발명에 따른 서버는 그룹에 속한 적어도 하나 이상의 클라이언트 별 제1 랜덤값, 제2 랜덤값 및 비밀키를 저장하기 위한 암호 저장부를 더 포함할 수 있다.The server according to the present invention may further include a cryptographic storage for storing a first random value, a second random value, and a secret key for at least one or more clients belonging to the group.
이 경우 상기 그룹키 보안 메시지 생성부는, 상기 생성된 그룹키, 클라이언트별 제1 랜덤값 및 제2 랜덤값을 이용하여 클라이언트별 그룹키 보안 메시지를 생성하는 것이 바람직하다.In this case, the group key security message generation unit may generate a group key security message for each client by using the generated group key, a first random value for each client, and a second random value.
또한 그룹키 보안 메시지 생성부는, 클라이언트 별 제2 랜덤값을 기설정된 횟수만큼 일방향 함수에 적용한 값, 클라이언트 별 제1 랜덤값 및 상기 생성된 그룹키를 XOR 연산하여 클라이언트 별 그룹키 보안 메시지를 생성하는 것을 특징으로 할 수 있다. 상기 일방향 함수는, 해쉬 함수(Hash Function) 또는 의사 난수 함수(Pseudo Random Function)일 수 있다.The group key security message generation unit may generate a group key security message for each client by performing an XOR operation on a value obtained by applying a second random value for each client to a one-way function a predetermined number of times, the first random value for each client, and the generated group key. It may be characterized by. The one-way function may be a hash function or a pseudo random function.
상기 그룹키 생성부는 클라이언트로부터 그룹 탈퇴 요청을 수신한 경우, 새 로운 서버의 제1 랜덤값을 생성하여, 상기 새로운 서버의 제1 랜덤값과 그룹에 남아있는 클라이언트 별 제1 랜덤값을 이용하여 새로운 그룹키를 생성하고, 상기 그룹키 보안 메시지 생성부는 상기 새롭게 생성된 그룹키로부터 상기 그룹에 남아있는 클라이언트 별 그룹키 보안 메시지를 생성하여 각각의 클라이언트로 전송하토록 하는 것을 특징으로 할 수 있다.When the group key generation unit receives a group leave request from a client, the group key generation unit generates a first random value of a new server, and generates a new random value using the first random value of the new server and the first random value of each client remaining in the group. A group key may be generated, and the group key security message generation unit may generate a group key security message for each client remaining in the group from the newly generated group key and transmit the generated group key security message to each client.
상기 그룹키 보안 메시지 생성부는, 상기 클라이언트 별 제2 랜덤값을 기설정된 횟수만큼 일방향 함수에 적용한 값을 다시 기설정된 횟수만큼 일방향 함수에 적용한 값, 클라이언트별 제1 랜덤값 및 상기 새롭게 생성된 그룹키를 XOR 연산하여 클라이언트별 그룹키 보안 메시지를 생성할 수 있다.The group key security message generation unit may further include a value obtained by applying the second random value for each client to the one-way function by a predetermined number of times, the first random value for each client, and the newly generated group key. XOR operation can generate a client-specific group key security message.
본 발명의 또 다른 측면에 따른 클라이언트는 제1 랜덤값과 제2 랜덤값을 생성하는 랜덤값 생성부; 상기 제1 랜덤값과 제2 랜덤값 및 서버와 공유하고 있는 비밀키를 암호화하고 상기 암호화된 메시지를 서버로 전송케 하는 암호화부; 및 서버로부터 그룹키가 암호화된 그룹키 보안 메시지를 수신하고 이를 복호화하여 그룹키를 획득하는 그룹키 보안 메시지 복호화부를 포함한다.According to another aspect of the present invention, a client includes: a random value generator configured to generate a first random value and a second random value; An encryption unit for encrypting the first random value and the second random value and a secret key shared with the server, and transmitting the encrypted message to a server; And a group key security message decryption unit that receives a group key security message encrypted with a group key from a server and decrypts the group key security message to obtain a group key.
상기 암호화부는, 상기 제1 랜덤값과, 제2 랜덤값 및 서버와 공유하고 있는 비밀키를 상기 비밀키를 이용하여 암호화하는 것을 특징으로 할 수 있다.The encryption unit may encrypt the first random value, the second random value, and a secret key shared with the server using the secret key.
본 발명에 따른 클라이언트는 상기 제1 랜덤값, 제2 랜덤값 및 비밀키를 저장하기 위한 암호 저장부를 더 포함할 수 있다.The client according to the present invention may further include an encryption storage unit for storing the first random value, the second random value and the secret key.
상기 그룹키 보안 메시지 복호화부는, 상기 암호 저장부에 포함되어 있는 제 2 랜덤값을 기설정된 횟수만큼 일방향 함수에 적용한 값, 고정 랜덤 값 및 그룹키 보안 메시지를 이용하여 그룹키를 획득하는 것을 특징으로 할 수 있다.The group key security message decryption unit obtains the group key using a value obtained by applying a second random value included in the encryption storage unit to the one-way function a predetermined number of times, a fixed random value, and a group key security message. can do.
상기 그룹키 보안 메시지 복호화부는, 상기 제2 랜덤값을 기설정된 횟수만큼 일방향 함수에 적용한 값, 고정 랜덤 값 및 그룹키 보안 메시지를 XOR 연산함으로써 그룹키를 획득하는 것을 특징으로 할 수 있다.The group key security message decryption unit may obtain a group key by XORing a value obtained by applying the second random value to a one-way function a predetermined number of times, a fixed random value, and a group key security message.
상기 그룹키 보안 메시지 복호화부는, 상기 암호 저장부에 저장된 제2 랜덤값을, 상기 제2 랜덤값을 기설정된 횟수만큼 일방향 함수에 적용한 값으로 업데이트하는 것을 특징으로 할 수 있다.The group key security message decryption unit may update a second random value stored in the cryptographic storage unit with a value applied to the one-way function by the predetermined number of times.
상기한 바와 같이 본 발명에 따른 그룹키 분배 방법 및 이를 위한 서버 및 클라이언트를 이용하는 경우 PRF(Pseudo Random Function) 및 XOR(eXclusive) 연산만을 이용하므로 매우 빠른 연산이 가능하다. 특히 단말 측에서는 그룹 내 가입자의 수와 관계없이 PRF 연산 1회와 XOR 연산 2회만으로 그룹키의 갱신이 가능케 된다. 뿐만 아니라, 이 연산들 중 PRF 1회와 XOR 1회는 그룹키 갱신 과정에서 이루어질 필요가 없으며 미리 연산이 가능하므로(Pre-Computable) 보다 빠른 그룹키 갱신이 가능하게 된다.As described above, when the group key distribution method according to the present invention and a server and a client therefor are used, only a PRF (Pseudo Random Function) and an XOR (eXclusive) operation are used, and thus a very fast operation is possible. In particular, the terminal side can update the group key with only one PRF operation and two XOR operations regardless of the number of subscribers in the group. In addition, one PRF and one XOR of these operations need not be performed in the group key update process and can be performed in advance (Pre-Computable), thereby enabling faster group key update.
본 발명은 PRF를 이용하여 내부 및 외부 공격자에 의한 키의 노출을 차단하였으며, 반복적인 PRF의 사용시 발생할 수 있는 전방향 안전성의 문제도 PRF와 함께 XOR을 사용함으로써 극복할 수 있다.The present invention blocks the exposure of keys by internal and external attackers using the PRF, and the problem of omnidirectional security that may occur when using the repeated PRF can be overcome by using the XOR together with the PRF.
또한, PRF 및 XOR과 같이 가벼운 연산만을 사용함으로써 단말의 배터리 소모량도 최소화하였고, 단말에서 저장해야 하는 정보의 크기도 매우 작기 때문에 단말의 실제 구현에 소요되는 비용도 매우 적다는 효과를 얻을 수 있다.In addition, by using only light calculations such as PRF and XOR, the battery consumption of the terminal is minimized, and since the size of information to be stored in the terminal is very small, the cost required for the actual implementation of the terminal can be obtained.
이하, 본 발명에 따른 그룹키 분배 방법 및 이를 위한 서버 및 클라이언트에 대하여 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, a method for distributing a group key according to the present invention, a server and a client therefor will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 단말이 그룹 가입 또는 그룹 탈퇴하는 상황을 나타낸 도면이다.1 is a diagram illustrating a situation in which a terminal joins or leaves a group according to an embodiment of the present invention.
도 1에 도시된 바와 그룹(1)은 IP TV 그룹, VoIP 통화 그룹, 화상 회의 그룹 등 다양한 그룹을 의미한다. 본 발명은 기재된 그룹에만 적용되는 것이 아니며, 그룹키를 이용하여 그룹에 속한 클라이언트를 인증하는 그룹에는 모두 적용이 가능하다.As shown in FIG. 1,
도 1에 도시된 그룹(1)에는 현재 ID가 1 내지 n의 값을 가지는 클라이언트(20)와 상기 그룹(1)에 속한 클라이언트(20)를 관리하고 상기 클라이언트(20)에게 서비스를 제공하는 서버(10)가 존재한다. 여기서, n은 현재 그룹에 존재하는 클라이언트의 수를 나타낸다. n이 100이면 상기 그룹에는 100개의 단말이 존재하는 것이다.In the
이와 같이 구성된 상태에서 클라이언트 Cp(30)가 가입을 하는 이벤트가 발생할 수 있다(① 과정). 또한, 그룹(1)에 가입되어 서비스를 제공받던 클라이언트 CP(40)가 그룹(1)으로부터 탈퇴하는 이벤트가 발생할 수도 있다(② 과정).In this configuration, the event that the
이와 같이 새롭게 클라이언트(Cp)가 새롭게 가입을 하거나, 그룹에 속해있던 클라이언트(CP)가 탈퇴를 하게 되는 경우 서버(10)는 사용하고 있던 그룹키를 갱신하고 이를 그룹에 가입되어 있는 상태인 클라이언트에게 전달하게 된다. In this way, when a client C p newly joins or a client C P who has belonged to a group is withdrawn, the
이하, 본 발명에 따른 그룹키 분배 과정에 대하여 살펴보기로 한다.Hereinafter, a group key distribution process according to the present invention will be described.
도 2는 본 발명의 다른 실시예에 따른 클라이언트의 그룹 가입 시 그룹키 분배 방법을 나타낸 도면이다.2 is a diagram illustrating a group key distribution method when a client joins a group according to another embodiment of the present invention.
먼저 클라이언트 Cp(30)는 도 1에 도시된 그룹(1)에 가입을 시도하게 된다(S201). 사용자 인증과 그에 따른 그룹키 생성을 위하여 클라이언트 Cp(30)는 제1 랜덤값(Rp)과 제2 랜덤값(Kp)을 생성한다(S202). 이 때 제1 랜덤값(Rp)과 제2 랜덤값(Kp)은 아래 식과 같이 생성될 수 있다.First, the
Rp ← {0, 1}a, Kp ← {0, 1}a R p ← {0, 1} a , K p ← {0, 1} a
제1 랜덤값(Rp)과 제2 랜덤값(Kp)을 생성한 후 클라이언트 Cp(30)는 서버(10) 와 공유하고 있는 비밀키인 PKp을 이용하여 제1 랜덤값(Rp), 제2 랜덤값(Kp) 및 비밀키(PKp)를 암호화한다(S203). S203 단계에서 암호화되어 생성되는 메시지를 Xp이라고 정의하며, 이는 Xp ← EPKp(PKp∥Rp∥Kp)와 같이 정의될 수 있다.After generating the first random value R p and the second random value K p , the
이와 같이 PKp를 이용하여 PKp를 암호화하는 기법, 즉 Self-Encryption 기법은 비밀정보의 노출을 최소화하면서 동시에 사용자 인증을 가능하게 하는 기법으로, Challenge-Response 기법에서 사용되는 넌스(nonce), 타임스탬프(Timestamp)의 전송이 불필요하기 때문에 효율적인 인증을 가능하게 한다.As such techniques for encoding the PK p using the PK p, i.e. Self-Encryption techniques are a technique for enabling a user authenticated at the same time, minimizing the exposure of the secret information, nonce (nonce) used in the Challenge-Response Method, time Since the transmission of the timestamp is unnecessary, efficient authentication is possible.
그러나 Self-Encryption은 재전송 공격에 취약하다는 단점이 있다. 본 발명에서는 그룹키 분배에 사용되는 랜덤값을 Self-Encryption의 입력값에 포함시킴으로써 Self-Encryption에서 발생하게 되는 재전송 공격 문제를 해결한다. 또한, Self-Encryption을 사용함으로써 비밀정보의 노출을 최소화하는 동시에 불필요한 전송값을 최소화하고, 사용자 인증을 가능하게 한다.However, Self-Encryption has the disadvantage of being vulnerable to replay attacks. The present invention solves the problem of retransmission attack that occurs in Self-Encryption by including a random value used for group key distribution in the input value of Self-Encryption. In addition, Self-Encryption minimizes the exposure of confidential information, minimizes unnecessary transmission values, and enables user authentication.
S203 단계에서 사용되는 비밀키(PKp)는 서버(10)와 클라이언트 Cp(30)가 사전에 공유하고 있는 값이거나, 공개 키 기법을 이용하여 서버(10)가 클라이언트 Cp(30)에게 사전에 전달한 값이다.The secret key PK p used in step S203 is a value previously shared by the
또한, 위 식에서 a는 보안 파라미터(Security Parameter)이며, 생성하는 랜덤값의 크기(Bit)를 나타낸다. 즉, a=127이라면 생성되는 Rp, Kp은 127의 비트를 가지게 되는 것이다. In the above formula, a is a security parameter and represents the size (Bit) of a random value to be generated. That is, if a = 127, the generated R p and K p have 127 bits.
클라이언트 Cp(30)는 S203 단계에서 생성한 Xp와 자신의 ID를 서버(10)로 전송하여 사용자 인증을 요청한다(S204).The
서버(10)는 클라이언트 Cp(30)의 ID에 상응하는 PKp를 가지고 있는 상태이다. 서버(10)는 자신이 소유하고 있던 PKp를 이용하여 수신한 Xp를 복호화한다(S205). Xp를 복호화하게 되면 서버(10)는 암호화되었던 Rp, Kp 및 클라이언트 Cp(30)의 비밀키 PKp를 획득할 수 있다.The
서버(10)는 Xp를 복호화하여 획득한 PKp와 자신이 미리 저장하고 있던 PKp를 비교함으로써 클라이언트 Cp(30)를 인증한다(S206). 만일 S206 단계에서 클라이언트 Cp(30)의 사용자 인증이 실패했다면 서버(10)는 그룹키를 갱신하지 않으며, 클라이언트 Cp(30)로 인증 실패를 알리고 동작을 종료한다.The
만일 S206 단계에서 클라이언트 Cp(30)의 인증이 성공적으로 이루어진 경우 서버(10)는 그룹키(GK)를 생성한다(S207). If the
그룹키를 생성하기 위하여 서버(10)는 먼저 서버 랜덤값(R0)을 생성한다. 그 후 서버(10)는 클라이언트 C1 내지 Cn, 및 Cp로부터 전달받았던 R1 내지 Rn와 Rp 및 서버 랜덤값(R0)을 XOR(eXlusive OR) 연산하여 그룹키를 생성한다. 즉, 서버(10)는 서버 랜덤값(R0)을 생성하여 아래의 식과 같이 그룹키를 생성한다. In order to generate the group key, the
즉, 서버(10)는 자신이 생성하여 비밀리에 보관하는 서버 랜덤값(R0)과 그룹(1)에 속하는 n+1개의 클라이언트들이 생성한 제1 랜덤값(R1, R2, ..., Rn, Rp)을 XOR 연산하는 것이다.That is, the
그 후 서버(10)는 생성한 그룹키(GK)를 그룹에 속한 클라이언트에게 전송한다. 그룹키의 전송은 보안을 위해 암호화를 수행하여야 한다. 이를 위하여 서버(10)는 각각의 클라이언트 별로 그룹키를 전송하기 위한 그룹키 보안 메시지를 생성한다. Thereafter, the
서버(10)가 생성하는 그룹키 보안 메시지를 Ni라고 정의하기로 한다. 여기서 i는 1부터 n의 값 또는 p이다. 즉, Ni는 서버(10)가 클라이언트 Ci로 보내기 위한 메시지를 의미한다. 이 때 서버(10)는 아래 수학식을 이용하여 Ni를 생성한다.The group key security message generated by the
여기서 는 XOR(eXclusive OR) 연산을 의미한다.here Means an XOR (eXclusive OR) operation.
또한, hi,j(Ki)값에서 i는 클라이언트 Ci를 의미한다. j는 클라이언트 Ci가 그 룹키를 갱신한 횟수를 나타낸다. 현재의 예에서 클라이언트 Cp(30)은 그룹에 가입하여 첫 번째로 그룹키를 분배받는 상황이므로 hp,1(Kp)를 연산하게 된다.Also, in the value h i, j (K i ), i means client C i . j represents the number of times the client C i updated the group key. In the present example, client C p (30) joins the group and receives the first group key, thus calculating h p, 1 (K p ).
hi,j(Ki)란 Ki의 값을 j번 해쉬 함수에 적용한 값을 의미한다. 여기서 해쉬 함수로서 PRF(Pseudo Random Function)를 이용하는 것이 바람직하다. 즉, hi,j(Ki) = h(hi,j-1(Ki) = h(h(hi,j-2(Ki) = ... 과 같이 정의되며, hi,1(Ki)는 Ki를 한 번 해쉬 함수(또는 PRF 함수)에 적용한 값을 의미한다.h i, j (K i ) means the value of K i applied to hash function j. Here, it is preferable to use PRF (Pseudo Random Function) as a hash function. That is, h i, j (K i ) = h (h i, j-1 (K i ) = h (h (h i, j-2 (K i ) = ...) is defined as, h i, 1 (K i ) means the value of applying K i to a hash function (or PRF function) once.
이와 같이 생성된 Ni 메시지는 상응하는 클라이언트 Ci에게 전송된다(S209, S212). 예를 들어, Np 메시지는 클라이언트 Cp(30)에게, N2 메시지는 클라이언트 C2(22)에게 전송되는 것이다.The generated N i message is transmitted to the corresponding client C i (S209 and S212). For example, an N p message is sent to
클라이언트 Cp(30)는 Np의 메시지를 복호화함으로써 그룹키를 획득하게 된다(S211). 이 때 클라이언트 Cp는 다음의 식을 이용하여 Np 메시지를 복호화할 수 있다.
여기서 Np은 클라이언트 Cp(30)가 서버(10)로부터 수신한 그룹키 보안 메시 지이며, Rp는 S202 단계에서 생성하여 기억하고 있던 값이다. 또한, hp,j(Kp)에서 j=1의 값을 가지며 hp,j(Kp) 또는 hp,1(Kp)은 Kp를 한 번 해쉬 함수(또는 PRF)에 적용한 값을 의미한다. 클라이언트 Cp(30)는 수학식 3을 수행하기 위하여 S202 단계에서 생성한 Kp에 대하여 해쉬 함수(PRF 함수)에 적용함으로써 hp,1(Kp)의 값을 획득할 수 있다(S210). 이 때 S210 단계는 Np 메시지를 수신하기 전에 수행되는 경우 그룹키 획득을 위한 연산 시간을 더 줄일 수 있어 보다 효율적이다.N p is a group key security message received by the
이와 같은 과정을 통하여 클라이언트 Cp(30)는 Np 메시지로부터 그룹키(GK)를 획득할 수 있는 것이다. 그 후 클라이언트 Cp(30)는 해쉬 함수(또는 PRF)를 적용한 값인 hp,1(Kp)의 값을 추후 발생가능한 그룹키 갱신에 대비하여 저장하여 둔다.Through this process, the
한편, 기존부터 그룹에 속해있던 클라이언트들, 즉 클라이언트 C1 내지 Cn 도 각각 N1 내지 Nn의 그룹키 보안 메시지를 수신하게 된다(S212). N1 내지 Nn의 그룹키 보안 메시지를 수신한 클라이언트(20)는 아래의 식을 이용하여 그룹키를 획득하게 된다(S214).On the other hand, clients previously belonging to the group, that is, clients C 1 to C n also receive a group key security message of N 1 to N n , respectively (S212). The
여기서 Ni는 서버(10)가 클라이언트 Ci에게 전달한 그룹키 보안 메시지이며, Ri은 클라이언트 Ci가 그룹에 가입하기 위하여 생성했던 값을 의미한다. Here, N i is a group key security message delivered by the
hi,j(Ki)는 위에서 설명한 바와 같이 hi,j-1(Ki)를 한 번 해쉬 함수(또는 PRF)에 적용된 값이다. hi,j-1(Ki)는 클라이언트 Cp(30)가 가입하기 직전 그룹키가 갱신될 때 클라이언트 Ci가 생성하여 저장해둔 값이다. h i, j (K i ) is the value of h i, j-1 (K i ) applied to the hash function (or PRF) once. h i, j-1 (K i ) is a value generated and stored by the client C i when the group key is updated just before the
클라이언트 Ci는 저장해둔 hi,j-1(Ki)의 값에다가 한 번 해쉬 함수(또는 PRF)를 적용함으로써 hi,j(Ki)의 값을 획득할 수 있다(S213). The client C i may obtain the value of h i, j (K i ) by applying the hash function (or PRF) to the value of h i, j-1 (K i ) once (S213).
이들 값들을 이용하여 그룹에 계속 존재하던 클라이언트 Ci들도 새로운 그룹키(GK)를 획득할 수 있게 된다. 또한, 다음 그룹키 갱신을 위하여 클라이언트 Ci는 hi,j-1(Ki)를 삭제하고, hi,j(Ki)를 저장하여 둔다.Using these values, clients C i that continue to exist in the group can obtain a new group key (GK). In addition, the following client C i to the group key renewal is removed to h i, j-1 (K i) and, h i, place to store j (K i).
도 3은 본 발명의 또 다른 실시예에 따른 클라이언트의 그룹 탈퇴 시 그룹키 분배 방법을 나타낸 도면이다.3 is a diagram illustrating a group key distribution method when a client leaves a group according to another embodiment of the present invention.
도 3의 실시예는 그룹에 존재하였던 클라이언트 Cp(40)가 그룹으로부터 탈퇴를 하는 경우이다. 가입과 탈퇴를 구분하기 위하여 클라이언트 Cp를 40으로 표현하 였다. 물론 클라이언트 Cp(40)가 아니라 다른 클라이언트가 탈퇴를 하여도 그룹키 분배 방법은 동일하다.3 illustrates a case in which the
먼저 클라이언트 Cp(40)는 그룹의 탈퇴를 서버(10)로 통보한다(S301). 이 경우 서버(10)는 새로운 서버 랜덤값인 R0`을 생성한다. 이 때 생성된 R0`은 R0와 구분하기 위하여 "`"를 마킹하였다. R0`도 R0와 마찬가지로 서버(10)만이 비밀리에 보관하는 값에 해당한다.First, the
그 후 서버(10)는 새롭게 생성한 서버 랜덤값 R0`을 이용하여 새로운 그룹키(GK`)를 생성한다(S302). 이 때 서버(10)는 아래의 수학식 5의 (1) 또는 (2) 중 하나를 이용하여 새로운 그룹키(GK`)를 생성할 수 있다.Thereafter, the
수학식 5의 (1) 식은 수학식 1과 크게 다르지 않으므로 그 설명을 생략한다. 즉, 서버(10)는 기존에 사용하던 그룹키에 새롭게 생성한 R0`, 기존에 생성한 R0 및 탈퇴를 요청한 클라이언트 Cp의 Rp값을 XOR 연산함으로써 새로운 그룹키를 생성하는 것이다.Equation (1) of Equation 5 is not significantly different from
이 때 수학식 5 의 (2) 식은 수학식 5의 (1) 식으로부터 GK` = GK R0` R0 Rp = (R0 R1 ... Rn Rp) R0` R0 Rp = R0` R1 R2 ... Rn의 과정을 통해 유도될 수 있다.In this case, Equation (2) of Equation 5 is obtained from Equation (1) of Equation 5, where GK` = GK R 0 ` R 0 R p = (R 0 R 1 ... R n R p ) R 0 ` R 0 R p = R 0 ` R1 R 2 ... It can be derived through the process of R n .
이 때 서버는 수학식 5의 (2) 식을 통하여 새로운 그룹키를 생성하는 것이 보다 바람직하다. 수학식 5의 (1) 식은 연산(XOR 연산)을 n-1 번 해야하지만, 수학식 5의 (2) 식은 연산(XOR 연산)을 3번만 하면 되기 때문이다.At this time, it is more preferable that the server generates a new group key through Equation (2). (1) in Equation 5 is Operation (XOR operation) n-1 times, but equation (2) This is because you only need to do three operations (XOR operations).
이와 같이 새로운 그룹키(GK`)를 생성한 후 서버(10)는 클라이언트 별 그룹키 보안 메시지를 생성한다. 물론 클라이언트 Cp(40)은 탈퇴를 요청하였으므로 서버(10)는 N1 내지 Nn의 그룹키 보안 메시지만을 생성한다(S303).As such, the
이 때 서버(10)는 아래 식과 같이 그룹키 보안 메시지를 생성할 수 있다.At this time, the
이 때 GK`는 새롭게 생성된 그룹키이다. 또한 수학식 2와 비교할 때 j가 j+1로 바뀌었음을 알 수 있다. 즉, 서버(10)는 이전 그룹키 갱신 단계에서 저장해두었던 hi,j(Ki)에 해쉬 함수(또는 PRF)를 한 번 적용한 결과값, 새롭게 생성된 그룹키(GK`) 및 클라이언트별 제1 랜덤값인 Ri를 XOR 연산하여 새로운 그룹키 전송 메시 지를 생성하는 것이다.GK` is the newly created group key. In addition, it can be seen that j is changed to j + 1 when compared with Equation 2. That is, the
서버(10)는 생성한 N1` 내지 Nn`의 그룹키 보안 메시지를 각각의 클라이언트C1 내지 Cn에게 전송한다(S306).The
각각의 클라이언트는 서버(10)로부터 수신한 그룹키 보안 메시지를 복호화하여 갱신된 그룹키(GK`)를 획득한다(S307). 이를 위해 클라이언트 C1 내지 Cn는 아래 수학식 7과 같은 연산을 수행한다.Each client decrypts the group key security message received from the
Ni`는 서버(10)로부터 수신한 그룹키 보안 메시지이며, hi,j+1(Ki)는 이전 단계에서 저장해둔 hi,j(Ki)를 한 번 해쉬 함수(또는 PRF)에 적용함으로써 획득할 수 있는 값이다. Ri는 클라이언트 Ci가 최초 그룹에 가입하는 단계에서 생성한 랜덤값이다.N i `is the group key security message received from the
도 4는 본 발명의 또 다른 실시예에 따른 서버의 블록 구성을 나타낸 도면이다.4 is a block diagram of a server according to another embodiment of the present invention.
도 4에 도시된 바와 같이 그룹키 분배를 위한 서버(100)는 그룹키 분배 기능 과 관련하여 메시지 처리부(110), 그룹 관리부(120), 복호화부(130), 사용자 인증부(140), 클라이언트 키 저장부(150), 그룹키 생성부(160), 그룹키 보안 메시지 생성부(170) 등을 포함하여 구성될 수 있다.As shown in FIG. 4, the
메시지 처리부(110)는 클라이언트 Ci로부터 메시지를 받아 그에 상응하는 처리를 수행하는 구성 요소이다. The
예를 들어 메시지 처리부(110)는 그룹 가입 요청 메시지 또는 그룹 탈퇴 요청 메시지를 수신한 경우, 이를 그룹 관리부(120)로 전달하여 그에 상응하는 처리를 하도록 제어한다.For example, when the
그룹 관리부(120)는 클라이언트 Cp로부터 그룹 가입 요청을 받은 경우, 그룹 가입 요청 메시지에 포함되어 있는 Xp와 클라이언트의 ID를 복호화부(130)로 전달한다. 복호화부(130)는 클라이언트 키 저장부(150)에 저장되어 있는 해당 클라이언트Cp의 비밀키(PKp)를 로딩하여, 상기 Xp를 복호화한다.When the
Xp가 복호화되어 획득되는 제1 랜덤값(Rp), 제2 랜덤값(Kp) 및 비밀키(PKp)는 사용자 인증부(140)로 전달된다. 사용자 인증부(140)는 Xp를 복호화하여 획득한 PKp와 클라이언트 키 저장부(150)에 저장되어 있는 해당 클라이언트의 비밀키(PKp)를 비교함으로써 사용자 인증을 수행한다.The first random value R p , the second random value K p , and the secret key PK p obtained by decrypting X p are transmitted to the
성공적으로 사용자 인증이 이루어진 경우 그룹 관리부(120)는 상기 클라이언트 Cp를 그룹에 가입시키는 일련의 동작을 수행한다. 그 후 그룹 관리부(120)는 새 로운 그룹키의 생성 및 분배를 제어한다.When the user authentication is successfully performed, the
그룹키 생성부(160)는 새로운 그룹키를 생성한다. 임의의 클라이언트가 그룹에 가입한 경우 새로운 그룹키를 생성하는 방법은 수학식 1에서 설명한 바와 같다. 생성된 그룹키는 그룹키 보안 메시지 생성부(170)로 전달된다.The group
그룹키 보안 메시지 생성부(170)는 그룹키를 암호화하여 그룹에 속한 클라이언트에게 전송하기 위하여 수학식 2에 따라 그룹키 보안 메시지를 생성한다. 이와 같이 생성된 그룹키 보안 메시지는 메시지 처리부(110)를 통하여 그룹에 속한 클라이언트들로 전달된다.The group key security
한편, 임의의 클라이언트(Cp)로부터 그룹 탈퇴 요청을 받은 경우, 그룹 관리부(120)는 클라이언트 Cp의 탈퇴를 처리하는 한편, 새로운 그룹키의 생성 및 분배를 제어한다.On the other hand, when a group withdrawal request is received from any client C p , the
그룹키 생성부(160)는 수학식 5를 이용하여 새로운 그룹키를 생성한다. 특히 그룹키 생성부(160)는 수학식 5의 (2) 식을 이용하여 그룹키를 생성하는 것이 바람직하다.The group
또한, 그룹키 보안 메시지 생성부(170)는 새롭게 생성된 그룹키를 수학식 6에 적용하여 그룹키 보안 메시지를 생성한다. 이와 같이 생성된 그룹키 보안 메시지는 메시지 처리부(110)를 통하여 그룹에 남아있는 클라이언트들로 전달된다.In addition, the group key security
도 5는 본 발명의 또 다른 실시예에 따른 클라이언트의 블록 구성을 나타낸 도면이다.5 is a block diagram of a client according to another embodiment of the present invention.
도 5에 도시된 바와 같이 클라이언트(200)는 메시지 처리부(210), 암호화 처리부(220), 랜덤값 생성부(230), 암호 저장부(240), 그룹키 보안 메시지 복호화부(250) 등을 포함하여 구성될 수 있다.As shown in FIG. 5, the
암호 저장부(220)에는 클라이언트(200)가 서버와 사전에 공유하고 알고 있는 비밀키(PKi)가 저장되어 있다. 클라이언트(200)의 그룹 가입을 위하여 랜덤값 생성부(230)는 두 개의 랜덤값, 즉 제1 랜덤값(Ri)와 제2 랜덤값(Ki)를 생성한다. 이와 같이 생성된 Ri와 Ki는 암호 저장부에(240)에 저장된다.The
암호화부(220)는 서버와 사전에 나누어 가진 비밀키인 PKi를 이용하여 Ri와 Ki 및 PKi를 암호화한다. 이와 같이 암호화한 메시지 Xi는 EPKi(Ri∥Ki∥PKi)와 같이 정의될 수 있다.The
메시지 처리부(210)는 서버로 클라이언트(200)의 ID 및 암호화된 메시지 Xi를 전송한다. 이제 서버는 클라이언트(200)의 ID 및 암호화된 메시지 Xi를 이용하여 사용자 인증, 그룹키 생성 및 분배를 수행한다. The
클라이언트(200)의 메시지 처리부(210)는 서버로부터 그룹키 보안 메시지를 전송받아 그룹키 보안 메시지 복호화부(250)로 전달한다. The
그룹키 보안 메시지 복호화부(250)는 암호화부에 저장하고 있던 hi,0(Ki) = Ki 를 1회 해쉬 함수(또는 PRF)에 적용하고, 수학식 7을 이용하여 그룹키 보안 메시지를 복호화한다. 이러한 과정을 통해 그룹키 보안 메시지 복호화부(250)는 그룹키를 획득할 수 있다.The group key security
그룹키 보안 메시지 복호화부(250)는 다른 클라이언트의 가입 또는 탈퇴로 인한 그룹키 갱신이 되는 경우를 대비하여 hi,0(Ki) = Ki를 1회 해쉬 함수(또는 PRF)에 적용한 결과, 즉 hi,1(Ki)를 암호 저장부(240)에 저장해 둔다.The group key security
한편, 메시지 처리부(210)는 그룹으로부터의 탈퇴를 위해 그룹 탈퇴 요청 메시지를 서버로 전송할 수 있다. 이 경우 서버는 그룹 탈퇴 요청을 한 클라이언트를 제외한 클라이언트에게 갱신된 그룹키 보안 메시지를 전송하며, 그룹 탈퇴 요청을 한 클라이언트(200)는 별도의 그룹키 분배 과정에 참여하지 않는다.Meanwhile, the
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의하여 정해져야 한다.Although the present invention has been described in detail through the representative embodiments, those skilled in the art to which the present invention pertains can make various modifications without departing from the scope of the present invention. Will understand. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.
도 1은 본 발명의 일 실시예에 따른 단말이 그룹 가입 또는 그룹 탈퇴하는 상황을 나타낸 도면.1 is a diagram illustrating a situation in which a terminal joins or leaves a group according to an embodiment of the present invention.
도 2는 본 발명의 다른 실시예에 따른 클라이언트의 그룹 가입 시 그룹키 분배 방법을 나타낸 도면.2 is a diagram illustrating a group key distribution method when a client joins a group according to another embodiment of the present invention.
도 3은 본 발명의 또 다른 실시예에 따른 클라이언트의 그룹 탈퇴 시 그룹키 분배 방법을 나타낸 도면.3 is a diagram illustrating a group key distribution method when a client leaves a group according to another embodiment of the present invention.
도 4는 본 발명의 또 다른 실시예에 따른 서버의 블록 구성을 나타낸 도면.4 is a block diagram of a server according to another embodiment of the present invention.
도 5는 본 발명의 또 다른 실시예에 따른 클라이언트의 블록 구성을 나타낸 도면.5 is a block diagram of a client according to another embodiment of the present invention.
<도면의 주요 부분에 대한 부호 설명><Description of the symbols for the main parts of the drawings>
100 : 서버 110 : 메시지 처리부100: server 110: message processing unit
120 : 그룹 관리부 130 : 복호화부120: group management unit 130: decryption unit
140 : 사용자 인증부 150 : 클라이언트 키 저장부140: user authentication unit 150: client key storage unit
160 : 그룹키 생성부 170 : 그룹키 보안 메시지 생성부160: group key generation unit 170: group key security message generation unit
200 : 클라이언트 210 : 메시지 처리부200: client 210: message processing unit
220 : 암호화부 230 : 랜덤값 생성부220: encryption unit 230: random value generation unit
240 : 암호 저장부 250 : 그룹키 보안 메시지 복호화부240: Password storage unit 250: Group key security message decryption unit
Claims (26)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090004700A KR101021708B1 (en) | 2009-01-20 | 2009-01-20 | Group Key Distribution Method and Server and Client for Implementing the Same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090004700A KR101021708B1 (en) | 2009-01-20 | 2009-01-20 | Group Key Distribution Method and Server and Client for Implementing the Same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100085424A true KR20100085424A (en) | 2010-07-29 |
KR101021708B1 KR101021708B1 (en) | 2011-03-15 |
Family
ID=42644334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090004700A KR101021708B1 (en) | 2009-01-20 | 2009-01-20 | Group Key Distribution Method and Server and Client for Implementing the Same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101021708B1 (en) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101275830B1 (en) * | 2011-11-07 | 2013-06-18 | 숭실대학교산학협력단 | Apparatus and method for managing group key and recording medium storing program for executing method of the same in computer |
KR101314417B1 (en) * | 2010-12-24 | 2013-10-04 | 한양대학교 에리카산학협력단 | Apparatus for providing and reproducing contents using secure chipset and the method threaof |
KR101329789B1 (en) * | 2012-03-28 | 2013-11-15 | 이니텍(주) | Encryption Method of Database of Mobile Communication Device |
WO2014003900A1 (en) * | 2012-06-29 | 2014-01-03 | Crowdstrike, Inc. | Social sharing of security information in a group |
WO2014123347A1 (en) * | 2013-02-05 | 2014-08-14 | 주식회사 엑스엔시스템즈 | System for providing security network in company and method therefor |
KR101494510B1 (en) * | 2013-03-12 | 2015-02-23 | 명지대학교 산학협력단 | Apparatus and method for managing group key, recording medium thereof |
US9043903B2 (en) | 2012-06-08 | 2015-05-26 | Crowdstrike, Inc. | Kernel-level security agent |
US9798882B2 (en) | 2014-06-06 | 2017-10-24 | Crowdstrike, Inc. | Real-time model of states of monitored devices |
US10015199B2 (en) | 2014-01-31 | 2018-07-03 | Crowdstrike, Inc. | Processing security-relevant events using tagged trees |
KR20190001168A (en) * | 2017-06-26 | 2019-01-04 | 중앙대학교 산학협력단 | Method and apparatus for sharing secret key |
US10289405B2 (en) | 2014-03-20 | 2019-05-14 | Crowdstrike, Inc. | Integrity assurance and rebootless updating during runtime |
US10339316B2 (en) | 2015-07-28 | 2019-07-02 | Crowdstrike, Inc. | Integrity assurance through early loading in the boot phase |
US10387228B2 (en) | 2017-02-21 | 2019-08-20 | Crowdstrike, Inc. | Symmetric bridge component for communications between kernel mode and user mode |
US10409980B2 (en) | 2012-12-27 | 2019-09-10 | Crowdstrike, Inc. | Real-time representation of security-relevant system state |
KR20220131437A (en) * | 2021-03-18 | 2022-09-28 | 한국철도기술연구원 | Security certification system for group security policy and encryption key management and its management method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060063271A (en) * | 2004-12-07 | 2006-06-12 | 한국전자통신연구원 | The key distribution technique of link security on epon |
KR100675836B1 (en) * | 2004-12-10 | 2007-01-29 | 한국전자통신연구원 | Authentication method for a link protection in EPON |
CN101204037A (en) * | 2005-05-09 | 2008-06-18 | 诺基亚公司 | System and method for efficient encryption and decryption of drm rights objects |
KR20080107188A (en) * | 2007-06-05 | 2008-12-10 | 주식회사 케이티 | Efficient authentication method for a rfid system having distributed database and rfid system |
-
2009
- 2009-01-20 KR KR1020090004700A patent/KR101021708B1/en not_active IP Right Cessation
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101314417B1 (en) * | 2010-12-24 | 2013-10-04 | 한양대학교 에리카산학협력단 | Apparatus for providing and reproducing contents using secure chipset and the method threaof |
KR101275830B1 (en) * | 2011-11-07 | 2013-06-18 | 숭실대학교산학협력단 | Apparatus and method for managing group key and recording medium storing program for executing method of the same in computer |
KR101329789B1 (en) * | 2012-03-28 | 2013-11-15 | 이니텍(주) | Encryption Method of Database of Mobile Communication Device |
US9904784B2 (en) | 2012-06-08 | 2018-02-27 | Crowdstrike, Inc. | Kernel-level security agent |
US9621515B2 (en) | 2012-06-08 | 2017-04-11 | Crowdstrike, Inc. | Kernel-level security agent |
US10853491B2 (en) | 2012-06-08 | 2020-12-01 | Crowdstrike, Inc. | Security agent |
US9043903B2 (en) | 2012-06-08 | 2015-05-26 | Crowdstrike, Inc. | Kernel-level security agent |
US10002250B2 (en) | 2012-06-08 | 2018-06-19 | Crowdstrike, Inc. | Security agent |
US9571453B2 (en) | 2012-06-08 | 2017-02-14 | Crowdstrike, Inc. | Kernel-level security agent |
US9292881B2 (en) | 2012-06-29 | 2016-03-22 | Crowdstrike, Inc. | Social sharing of security information in a group |
WO2014003900A1 (en) * | 2012-06-29 | 2014-01-03 | Crowdstrike, Inc. | Social sharing of security information in a group |
US9858626B2 (en) | 2012-06-29 | 2018-01-02 | Crowdstrike, Inc. | Social sharing of security information in a group |
US10409980B2 (en) | 2012-12-27 | 2019-09-10 | Crowdstrike, Inc. | Real-time representation of security-relevant system state |
WO2014123347A1 (en) * | 2013-02-05 | 2014-08-14 | 주식회사 엑스엔시스템즈 | System for providing security network in company and method therefor |
KR101494510B1 (en) * | 2013-03-12 | 2015-02-23 | 명지대학교 산학협력단 | Apparatus and method for managing group key, recording medium thereof |
US10015199B2 (en) | 2014-01-31 | 2018-07-03 | Crowdstrike, Inc. | Processing security-relevant events using tagged trees |
US11340890B2 (en) | 2014-03-20 | 2022-05-24 | Crowdstrike, Inc. | Integrity assurance and rebootless updating during runtime |
US10289405B2 (en) | 2014-03-20 | 2019-05-14 | Crowdstrike, Inc. | Integrity assurance and rebootless updating during runtime |
US9798882B2 (en) | 2014-06-06 | 2017-10-24 | Crowdstrike, Inc. | Real-time model of states of monitored devices |
US10339316B2 (en) | 2015-07-28 | 2019-07-02 | Crowdstrike, Inc. | Integrity assurance through early loading in the boot phase |
US10387228B2 (en) | 2017-02-21 | 2019-08-20 | Crowdstrike, Inc. | Symmetric bridge component for communications between kernel mode and user mode |
KR20190001168A (en) * | 2017-06-26 | 2019-01-04 | 중앙대학교 산학협력단 | Method and apparatus for sharing secret key |
KR20220131437A (en) * | 2021-03-18 | 2022-09-28 | 한국철도기술연구원 | Security certification system for group security policy and encryption key management and its management method |
Also Published As
Publication number | Publication date |
---|---|
KR101021708B1 (en) | 2011-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101021708B1 (en) | Group Key Distribution Method and Server and Client for Implementing the Same | |
US10243742B2 (en) | Method and system for accessing a device by a user | |
KR102124413B1 (en) | System and method for identity based key management | |
CN108599925B (en) | Improved AKA identity authentication system and method based on quantum communication network | |
Lin et al. | A collaborative key management protocol in ciphertext policy attribute-based encryption for cloud data sharing | |
JP5118048B2 (en) | Method and apparatus for establishing a security association | |
US7328343B2 (en) | Method and apparatus for hybrid group key management | |
US11575977B2 (en) | Secure provisioning, by a client device, cryptographic keys for exploiting services provided by an operator | |
KR20030086617A (en) | Method and apparatus for security in a data processing system | |
KR20060095077A (en) | The hierarchial threshold tree-based broadcast encryption method | |
KR20060088995A (en) | The hybrid broadcast encryption method | |
US20060047976A1 (en) | Method and apparatus for generating a decrpytion content key | |
Bilal et al. | Secure distribution of protected content in information-centric networking | |
CN110493367B (en) | Address-free IPv6 non-public server, client and communication method | |
US20230188325A1 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
US8468341B2 (en) | System and method for content distribution with broadcast encryption | |
Bali et al. | Lightweight authentication for MQTT to improve the security of IoT communication | |
CN116614599B (en) | Video monitoring method, device and storage medium for secure encryption | |
CN114513327B (en) | Block chain-based Internet of things private data rapid sharing method | |
Chien et al. | Efficient MQTT platform facilitating secure group communication | |
CN112019553B (en) | Data sharing method based on IBE/IBBE | |
KR100888075B1 (en) | An encryption and decryption system for multicast using a personal symmetric key | |
KR20130096575A (en) | Apparatus and method for distributing group key based on public-key | |
CN101500147B (en) | Digital television receiving control method and apparatus based on bi-directional network | |
Chen et al. | A secure network coding based on broadcast encryption in sdn |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140106 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150115 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |