KR101152311B1 - 트리 토폴로지 네트워크 구조에서의 브로드 캐스트암호화를 위한 키 관리방법 - Google Patents

트리 토폴로지 네트워크 구조에서의 브로드 캐스트암호화를 위한 키 관리방법 Download PDF

Info

Publication number
KR101152311B1
KR101152311B1 KR1020050049338A KR20050049338A KR101152311B1 KR 101152311 B1 KR101152311 B1 KR 101152311B1 KR 1020050049338 A KR1020050049338 A KR 1020050049338A KR 20050049338 A KR20050049338 A KR 20050049338A KR 101152311 B1 KR101152311 B1 KR 101152311B1
Authority
KR
South Korea
Prior art keywords
node
key
nodes
keys
topology network
Prior art date
Application number
KR1020050049338A
Other languages
English (en)
Other versions
KR20060128142A (ko
Inventor
김희진
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020050049338A priority Critical patent/KR101152311B1/ko
Priority to US11/448,724 priority patent/US8411865B2/en
Publication of KR20060128142A publication Critical patent/KR20060128142A/ko
Application granted granted Critical
Publication of KR101152311B1 publication Critical patent/KR101152311B1/ko

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • 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/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/083Key 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/0833Key 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
    • H04L9/0836Key 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 using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/601Broadcast encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법이 개시된다. 본 발명에 따른 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법은, 복수개의 노드를 포함하는 트리 토폴로지 네트워크(Tree Topology Network)구조에 있어서, 트리 토폴로지 네트워크의 제 2계층상의 각 노드 및 각 노드에 속한 제 1계층상의 노드로 구성되는 제 1노드 그룹들을 형성하는 단계, 트리 토폴로지 네트워크의 제 3계층상의 각 노드 및 제 3계층상의 각 노드에 속한 제 1노드 그룹로 구성되는 제 2노드 그룹들을 형성하는 단계, 각각의 제 1노드 그룹들을 구성하는 제 1계층상의 각 노드들의 부분집합별로 각각 공유하는 서로 다른 제 1키들을 할당하는 단계, 각각의 제 2노드 그룹들을 구성하는 제 1노드 그룹들의 부분집합별로 각각 공유하는 서로 다른 제 2키들을 할당하는 단계, 및 제 1키들 및 제 2키들 중 적어도 어느 하나의 키를 이용하여 암호화된 갱신 키를 전송하는 단계를 통해 구현된다.
Figure R1020050049338
브로드 캐스트 암호화, 키 관리, 트리 토폴로지 네트워크 구조,노드 그룹

Description

트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법{Key Managing Method in Tree Topology Network for Broadcast Encryption}
도 1은 일반적인 브로드캐스트 암호화에 의한 데이터 전송 시스템의 네트워크 구조를 나타낸 도면,
도 2는 종래의 트리 구조로 키를 할당하는 브로드캐스트 암호화의 개념을 나타낸 도면,
도 3은 본 발명에 따른 Logical Key Hierarchy (LKH)를 나타낸 도면,
도 4는 서비스 제공자에 의해서 전송되는 암화화된 데이터 패킷의 구조를 나타내는 도면,
도 5a는 본 발명이 적용되는 트리 토폴로지 네트워크의 구조를 나타내는 도면,
도 5b는 트리 토폴로지 네트워크 구조에서 Logical Key Hierarchy(LKH)의 구현방법을 나타낸 도면,
도 5c는 트리 토폴로지 네트워크 구조의 Logical Key Hierarchy(LKH) 구조로 변환된 모습을 나타낸 도면,
도 6a는 본 발명의 일실시예에 따른 트리 토폴로지 네트워크의 구조를 나타낸 도면,
도 6b는 본 발명의 일실시예에 따른 Logical Key Hierarchy (LKH)를 타나낸 도면, 및
도 6c는 본 발명의 일실시예에 따른 암호화된 데이터의 포워딩 과정을 나타낸 도면이다.
본 발명은 브로드 캐스트 암호화를 위한 키 관리방법에 관한 것으로, 더욱 상세하게는 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법에 관한 것이다.
브로드캐스트 암호화(Broadcast Encryption; 이하, 'BE'라 한다.)는 전체 사용자들 중에서 송신자(즉, 방송 센터(Broadcast Center))가 원하는 사용자들에게만 정보를 효과적으로 전달하는 방법으로서, 정보를 받을 사용자(user)들의 집합이 임의적이고 동적으로 변화하는 경우에 효과적으로 사용될 수 있어야 한다. BE에서의 가장 중요한 성질은 원치 않는 사용자(예컨대, 불법 사용자 또는 기간이 만료된 사용자)의 배제(revocation) 또는 제외이다.
도 1은 일반적인 브로드캐스트 암호화에 의한 데이터 전송 시스템의 네트워크 구조를 나타낸 도면이다. 도 1을 참조하면, 컨텐츠 생산자(100)는 오디오 또는 비디오 데이터를 비롯한 각종 유용한 데이터를 생산하며, 생산된 데이터를 서비스 제공자(110)에게 제공한다. 서비스 제공자(110)는 컨텐츠 생산자(100)로부터 제공 받은 데이터를 각종 유무선 통신 네트워크를 통해 해당 데이터에 대한 비용을 지불한 정당한 사용자들(예컨대, 모바일 DRM(Digital Right Management) 네트워크(140), 스마트홈 DRM 네트워크(150))에게 브로드캐스팅(broadcasting)하게 된다.
즉, 서비스 제공자(110)는 위성(120)을 통해 각종 위성 수신기가 구비된 셋톱박스(set-top box; 141)와 같은 사용자들의 장치로 데이터를 전송할 수 있으며, 이동통신 망을 통해 이동통신 단말기(142)로도 전송할 수 있다. 또한, 인터넷 네트워크(130)를 통해 스마트 홈 네트워크(150)의 각종 단말기들(150, 151, 152, 153, 154, 155)로 전송할 수 있다.
한편, 이때 해당 데이터에 대한 정당한 비용을 지불하지 않은 불법 사용자(160)가 데이터를 이용하지 못하도록 하기 위하여 브로드캐스트 암호화(Broadcast Encryption; BE)에 의해 데이터를 암호화하게 된다.
이러한 암호화 및 복호화 시스템에서의 안전성은 대개 암호화 키를 관리하는 시스템에 달려있다. 그리고 이러한 암호화 키 관리 시스템에서 가장 중요한 것은 암호화 키를 어떻게 생성(Key Derivation)하는 가이다. 아울러, 생성된 암호화 키를 관리(Key Management)하고, 갱신(Key Update)하는 것 또한 중요하다.
1991년 BE의 개념이 처음 제안된 이후로 많은 변화를 거쳐왔으며, 현재의 BE는 지배되지 않는 수신자(stateless receiver)를 가정한다. 이 개념은 세션(session)이 바뀜에 따라서 각각의 사용자들의 비밀키가 전혀 바뀌거나 갱신되지 않는다는 것을 의미한다. 이때, 안전성에 있어서는 'k-복구(k-resilient)'라는 용어를 사용하는데, 이것은 제외된 사용자들 중 k명이 공모 공격을 하여도 정보를 복 구해내지 못하는 것을 의미한다. 대개 r은 제외된 사용자의 숫자를 나타내므로, 'r-복구(r-resilient)'는 제외된 사용자 전부가 모여서 공모 공격을 하여도 안전하다는 것을 의미한다.
한편, BE에서는 전송량(transmission overhead), 저장량(storage overhead), 계산량(computation overhead)을 중요시하는데, 각각 전송측에서 전송해야 하는 헤더(header)의 양, 사용자가 저장해야 하는 비밀키의 양 및 사용자가 세션(session) 키를 얻기 위해 필요한 계산의 양을 의미한다. 이 중에서도 특히 전송량을 줄이는 것이 큰 과제라고 할 수 있다.
전송량은 초기에 전체 사용자의 수인 N 값에 비례하던 것이 현재는 주로 제외된 사용자의 수인 r에 비례하는 것으로 줄어들었다. 전송량이 r에 비례하는 기술(scheme)들이 나오면서 전송량을 r 미만으로 줄이는 것이 BE에서의 큰 과제가 되었다.
이러한 BE 문제에 기반하여 현재까지 발표된 결과 중에서, 'Naor-Naor-Lotspiech'에 의해서 발표된 'Subset Difference(SD) Method'이 가장 좋은 결과를 보이고 있다. SD 방법에서는 전체 사용자가 n 명일 경우에, O(log1+en)의 저장량과 O(2r-1)의 전송량을 필요로 한다.
그러나, 이러한 SD 방법의 경우에도 다수의 사용자가 사용하기에는 효율적인 측면에서 문제가 있다.
상술한 바와 같이, 1991년 Berkovits가 처음 BE에 관한 논문을 발표한 후 현 재까지 다양한 알고리즘이 제시되어 왔다. 이 중에서 중요한 알고리즘을 정리하면, 비밀키 공유(Secret sharing) 방식, 서브셋 커버-프리 시스템 모델(Subset Cover-Free System Model) 방식, 트리 구조를 이용한 방식 등이 제안되어 왔다.
먼저, 비밀키 공유(Secret Sharing)에 기반한 모델을 개략적으로 설명한다. 비밀키 공유 모델은 1991년에 'S. Berkovits'에 의해서 처음 제안되었으며, 2000년 'M. Noar'와 'B. Pinkas'가 "Efficient Trace and Revoke Schemes"라는 제목의 논문에서 좀더 효율적인 개선이 이루어졌다. S Berkovits의 "How to Broadcast a Secret"에서는 다항식 보간(polynomial interpolation)을 이용한 방법과 벡터 기반 비밀키 공유(vector based secret sharing)를 이용한 방법이 제시되었다.
다항식 보간 방법을 살펴보면, 센터(center; 즉, 방송 센터 또는 송신측)에서 각 사용자에게 비밀 채널로 점(xi, yi)을 전송한다. 이때, xi는 모두 다른 값이고, (xi, yi)는 각 사용자의 비밀키이다. 그 후, 각 세션(session)의 정당한 사용자 t명에게 비밀 정보 S를 브로드캐스트하기 위해, 랜덤 정수 j와 차수 t+j+1인 다항식 P를 고른다.
다항식 P는 t명의 정당한 사용자의 비밀키 (xi, yi)와 다른 어떤 사용자의 비밀키도 아닌 임의의 j개의 점 (x, y)과 (O, S)를 지나는 다항식이다. 그리고, 센터에서는 다항식 P위의 t+j 개의 위의 점들과는 다른 점들을 전송한다. 그러면, t명의 정당한 사용자는 t+j개의 점들 이외에 하나의 점(자기 자신의 비밀키)을 더 알기 때문에 차수 t+j+1인 다항식 P를 복구할 수 있고 비밀 정보 S도 구할 수 있 다. 그러나, 제외된 사용자는 단지 t+j개의 점만을 알기 때문에 절대 다항식 P를 복구할 수 없게 된다.
이러한 방법은 전송량이 O(t+j+1), 저장량이 O(1)이고 계산량은 대략 t3번의 곱셈이다. 또한, 폐기(revocation)가 쉽고 공모를 방지할 수 있으며, 공모 추적(traitor tracing)도 가능하다는 장점이 있다. 그러나, 많은 수의 사용자에 대해서는 비효율적이고 반복해서 쓸 경우 안전하지 못하기 때문에 실제적으로 사용할 수 없다는 문제점이 있다.
M. Noar와 B. Pinkas의 "Efficient Trace and Revoke Schemes"에서는 라그랑지의 보간 방식(Lagrange's interpolation formula)을 이용한 임계값 비밀키 공유(threshold secret sharing) 방식을 사용한다. Noar-Pinkas 방법에서는 r차 다항식을 r+1개의 다항식 위의 점을 알면 복구가 가능하지만, 하나 모자란 r개의 점을 가지고는 복구할 수 없다는 성질을 이용한다. 즉, 센터는 임의의 t차 다항식 P를 선택하고, 그 위의 각기 다른 점을 각 사용자들에게 비밀키로 제공한다. r명의 사용자가 제외되면 센터는 제외된 r명의 비밀키와 임의로 선택된 t-r개의 점을 합하여 총 t개의 점에 대한 정보를 브로드캐스트한다. 그 결과, 제외된 사용자는 자신의 비밀 정보를 합하여도 여전히 t개의 점만을 알게 되지만, 제외되지 않은 사용자는 t+1개의 점을 알게 되어 다항식 P를 복구할 수 있게 된다. 이 다항식을 이용하여 세션키 P(0) 값을 구하게 된다.
이러한 방법도 폐기가 쉽고 공모를 방지할 수 있으며, 공모 추적도 가능하 다. 특히 새로운 사용자를 추가(add)할 수 있다는 큰 장점이 있으며, 전송량이 O(t)이고 저장량은 O(1)로서 상당히 효율적이다. 그러나, 이러한 방법의 경우 처음에 정해진 t보다 많은 사용자를 제외하는 것은 불가능하다는 문제가 있다. 게다가 전송하는 점의 수나 다항식을 계산하는데 필요한 계산량이 t에 의존하게 되어 많은 경우에 비효율적이다. 또한, t가 커질수록 계산 시간이 크게 증가하여 다수의 사용자를 포함하는 경우에는 사용하기 힘들다.
두번째로 서브셋 커버-프리 시스템 모델은 전체 사용자들의 집합을 S라 할 때, S의 서브셋(subset)들을 원소로 하는 집합에서 서브셋 커버-프리 시스템이라는 개념을 정의한다. 이러한 시스템을 찾을 수 있다면 그 시스템을 이용하여 BE를 수행할 수 있다. 그러나, 저장량과 전송량이 O(r log n) 정도가 되어 효율적이지 못하다는 단점이 있다. 또한, 1-resilient 모델을 확장하여 k-resilient 모델을 만드는 방법도 소개되었다. 효과적인 1-resilient 기법은 비교적 쉽게 고안할 수 있으므로 이러한 확장이 의미가 있어 보이지만, 아직까지 제시된 방법으로는 확장하는 과정에서 효율성이 크게 떨어지게 된다.
세번째로 최근에는 트리 구조를 이용하는 방법들이 주목받고 있다. 1998년에 C. K. Wong, M. Gouda, G. S. Lam 이 Logical-tree-hierarchy(LTH) 방법을 제안하였지만, 한번의 세션에서 많은 수의 사용자를 제외하기는 무리가 있었다. 또한, 사용자들의 비밀키가 세션이 지남에 따라 변화하는 모델이어서 지배되지 않는 수신자(stateless receiver)를 가정하는 현대적인 BE와는 거리가 있었다. 그 후, 2001년 D. Naor, M.Naor, J. Lotspiech가 "Complete Subset(CS) Cover Scheme"과 "Subset Difference(SD) Scheme"을 제안하였다. 두가지 방법 모두 사용자들의 수는 n명, 제외된 사용자의 수는 r이라고 가정하고, 센터는 높이가 log n인 이진 트리(binary tree)를 만들고 모든 노드(node)에는 그에 대응하는 비밀키를 배정한다. 그리고, 가지 노드(leaf node)에 사용자들을 한 명씩 배정한다.
먼저 CS Cover 방법을 살펴보면, 각 사용자들은 루트 노드(root node)에서 자신의 가지 노드(leaf node)까지의 경로(path)에 위치하는 모든 노드의 비밀키를 센터로부터 전달받아서 저장한다. 여기서, 서브트리(subtree)들 중 제외된 사용자를 한 명도 포함하지 않는 완전한 서브트리를 "Complete Subtree(CS)"라고 부르는데 이러한 CS를 적당히 모드면, 제외되지 않은 사용자들만을 모두 포함시킬 수가 있다. 이때, 사용된 CS들의 루트 노드에 해당하는 비밀키로 세션키를 암호화하여 전송하면, 정당한 사용자들은 세션키를 복구할 수 있으나, 제외된 사용자는 위에 사용된 어떠한 CS에도 포함되지 않으므로 세션키를 복구할 수 없게 된다.
도 2는 종래의 트리 구조로 키를 할당하는 브로드캐스트 암호화의 개념을 나타낸 도면이다. 도 2를 참조하면, 브로드캐스트 암호화 방식을 통해 데이터를 제공받는 각 노드들(220)은 각각 자신의 고유한 키 값(노드32 내지 노드47)을 가지게 됨과 동시에 트리 구조상에서 자신과 연결된 각 노드의 키 값을 가지게 된다.
예컨대, 노드34는 자신의 34번 키 값과 함께 노드17(209)의 키 값, 노드8(204)의 키 값, 노드4(202)의 키 값, 2번 노드(201)의 키 값을 가지게 된다. 이때, 34번 노드가 가지는 17번 노드(209)의 키 값은 35번 노드도 함께 공유하고 있게 된다. 마찬가지로, 노드34가 가지는 노드8(204)의 키 값은 노드32, 33, 35도 함 께 공유하게 된다.
한편, 노드32 내지 노드47이 정당한 노드일 경우, 바람직하게는 전송하고자 하는 데이터의 헤더 부분에 노드2(201) 키 값을 포함하여 모든 노드들에게 동일하게 전송함으로써 보안이 유지된 데이터의 전송이 가능하게 된다.
그러나, 만약 노드36(221)이 정당한 노드가 아닌 경우, 즉 불법 노드(revoked node)일 경우, 노드36(221)와 관련된 노드의 키 값들을 다른 노드들이 공유하고 있으므로, 해당 키 값들을 갱신해 주는 과정이 필요하게 된다. 즉, 노드18(210), 노드9(205), 노드4(202) 및 노드2(201)의 키 값이 갱신되어야 한다. 이때, 상기 키 값의 갱신은 하위 노드로부터 상위 노드의 순으로 진행되게 된다.
먼저, 노드18(210)의 키 값은 노드37이 공유하고 있으므로, 서버로부터 노드18(210)의 갱신된 키 값을 노드37의 키 값으로 암호화하여 노드37로 전송하게 된다. 그런다음, 노드9(205)의 키 값은 노드37과 함께, 노드19(211) 아래에 있는 노드38 및 노드39가 함께 공유하고 있으므로, 노드9(205)의 갱신된 키 값을 노드37에게는 이미 갱신된 노드18(210)의 키 값으로 암호화하여 전송하고, 노드38 및 노드39에게는 노드19(211)의 키 값으로 암호화하여 전송하게 된다.
마찬가지 방법으로, 노드4(202)의 키 값은 노드8(204) 아래에 있는 노드32, 33, 34, 35와 함께, 노드9(205) 아래에 있는 노드37, 38, 39가 함께 공유하고 있으므로, 노드4(202)의 갱신된 키 값을 노드32 내지 노드35에게는 노드8(204)의 키 값으로 암호화하여 전송하고, 노드37, 38, 39에게는 이미 갱신된 노드9(205)의 키 값으로 암호화하여 전송하게 된다.
마지막으로, 노드2(201)의 키 값은 노드4(204) 아래에 있는 노드32 내지 39들 중 노드36(221)를 제외한 노드들이 공유하며, 노드5(203) 아래에 있는 노드40 내지 47가 함께 공유하고 있으므로, 노드2(201)의 갱신된 키 값을 노드32, 33, 34, 35, 37, 38, 39에게는 이미 갱신된 노드4(202)의 키 값으로 암호화하여 전송하고, 노드40 내지 47에게는 노드5(203)의 키 값으로 암호화하여 전송하게 된다. 이러한 키 갱신 과정을 통해 불법(또는 폐지된) 노드(revoked node)의 접근을 차단할 수가 있게 된다.
상술한 방법(즉, CS 모델)에서의 전송량은 모든 제외되지 않은 노드들만을 포함시키는 CS들의 개수인 O(r log(n/r))이고, 저장 오버헤드(storage overhead)는 O(log n)이다.
한편, SD(Subset Difference) 방법은 상술한 CS 모델의 변형으로 O(log2n)의 저장량과 O(2r-1)의 전송량을 요구하여 전송량을 획기적으로 개선하였다. SD 모델에서는 한 노드 v를 루트로 하는 서브트리에서 해당 서브트리에 포함된 다른 한 노드 w를 루트로 하는 서브트리를 뺀 서브트리를 생각한다. 이 서브트리 밑의 가지 노드는 정당한 노드들이고, w를 루트로 하는 서브트리 밑의 가지 노드는 제외된 노드들이 된다.
이러한 방법은 적당한 수의 정당한 노드들 사이에 제외된 노드가 끼어 있는 경우, CS 모델이 반드시 2개 이상의 서브셋이 필요한 것과는 달리 하나의 서브셋으로 커버할 수 있다. SD 방법은 노드 v에 할당된 키의 해쉬(hash) 값에서 시작하여 노드 w까지의 해쉬 값을 구한 후, 그 값에 대응되는 값을 세션키로 한다.
각 노드는 루트 노드에서 자신의 가지 노드까지의 패스 위의 각 노드에 대한 형제 노드(sibling node)들에 대한 해쉬 값들을 비밀키로 갖고 있다. 그러므로, 해쉬 함수의 일방향성에 의해 정당한 노드들만이 세션키를 복구해낼 수가 있다. 이때, SD 모델의 전송량은 O(2r-1), 저장량은 O(log2n)이고, 계산량은 최대 O(log n)의 해쉬밖에 되지 않는다.
그 후, 2002년에는 SD 모델을 개선한 LSD 모델이 제안되었다. LSD 모델에서는 각 서브트리 레이어(layer)를 사용하여 저장량을 O(log3/2n)으로 줄였지만 대신 전송량이 SD 모델의 두배가 되었다.
상술한 BE 모델들은 네트워크의 토폴로지를 고려하지 않은 방법이다. 다시 말해서 위성방송과 같이 하나의 송신장치와 다수의 수신 장치가 중간 장치 없이 송수신이 가능할 때 효율적인 방법이다. 따라서 멀티홉(Multi Hop) 환경의 네트워크에 효율적인 방법이 필요한 실정이다.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법을 제공함에 그 목적이 있다.
본 발명에 따른 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법은, 복수개의 노드를 포함하는 트리 토폴로지 네트워크(Tree Topology Network)구조에 있어서, 상기 트리 토폴로지 네트워크의 제 2계층상의 각 노드 및 상기 각 노드에 속한 제 1계층상의 노드로 구성되는 제 1노드 그룹들을 형성하는 단계, 상기 트리 토폴로지 네트워크의 제 3계층상의 각 노드 및 상기 제 3계층상의 각 노드에 속한 상기 제 1노드 그룹으로 구성되는 제 2노드 그룹들을 형성하는 단계, 상기 각각의 제 1노드 그룹들을 구성하는 상기 제 1계층상의 각 노드들의 부분집합별로 각각 공유하는 서로 다른 제 1키들을 할당하는 단계, 상기 각각의 제 2노드 그룹들을 구성하는 상기 제 1노드 그룹들의 부분집합별로 각각 공유하는 서로 다른 제 2키들을 할당하는 단계, 및 상기 제 1키들 및 상기 제 2키들 중 적어도 어느 하나의 키를 이용하여 암호화된 갱신 키를 전송하는 단계를 포함한다.
바람직하게는, 상기 각각의 제 2노드 그룹들의 부분 집합별로 각각 공유하는 서로 다른 제 3키들을 할당받는 단계를 더 포함한다.
또한, 상기 제 1키들, 상기 제 2키들 및 상기 제 3키들 중 적어도 어느 하나의 키를 이용하여 암호화된 갱신 키를 전송하는 단계를 더 포함한다.
또한, 상기 제 2노드 그룹들은 조정자에 속해있는 것을 특징으로 한다.
또한, 상기 조정자는 상기 암호화된 갱신 키를 자신에 속한 노드들에 선택적으로 포워딩(Forwarding)하는 것을 특징으로 한다.
또한, 상기 부분집합은 적어도 하나의 노드를 포함하는 것을 특징으로 한다.
또한, 상기 암호화된 갱신 키는 적어도 하나인 것을 특징으로 한다.
또한, 상기 전송된 암호화된 갱신 키는, 상기 노드들에 의해 상기 제 3계층 에서 상기 제 2계층으로, 상기 제 2계층에서 상기 제 1계층으로 선택적으로 포워딩되는 것을 특징으로 한다.
또한, 상기 노드는 상기 갱신 키를 암호화하는 데 이용한 상기 제 1키, 상기 제 2키 및 상기 제 3키 중 어느 하나의 정보를 통해 상기 포워딩의 방향을 결정하는 것을 특징으로 한다.
또한, 상기 제 1계층 노드들중 적어도 하나는 자신이 보유한 상기 제 1키 및 상기 제 2키중 어느 하나를 이용하여 상기 전송된 암호화된 갱신키를 복호화하여 보유하는 단계를 더 포함한다.
또한, 상기 각 노드에 속한 노드가 없는 경우에는, 상기 각 노드로 구성되는 노드 그룹은 형성하지 않는 것을 특징으로 한다.
또한, 상기 트리 토폴로지 네트워크는 3계층 이상으로 구성되는 것을 특징으로 한다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 3은 본 발명에 따른 Logical Key Hierarchy (LKH)를 나타낸 도면이다.
도 3을 참조하면, 도 1에 표현된 Logical Key Hierarchy (LKH)는 40개의 노드를 포함하고 있다. 이 중 제 1층에 위치한 노드 1,노드 2,..,노드 27만이 실제의 노드이고, 그 이외의 노드인 노드 1',노드 2',..,노드 9' 와 노도 a, 노드 b, 노드 c ,노드 A는 트리구조상에서 각각 자신의 하위 브랜치에 연결된 실제의 노드(노드 1,노드 2,..,노드 27)를 포함하는 개념으로서의 가상의 노드이다. 이러한 가상의 노드들은 실제의 노드들로 이루어진 노드 그룹이라고도 할 수 있을 것이다.
이러한 Logical Key Hierarchy (LKH)를 구성한 후에, 본 발명에서는 각각의 노드에 키를 할당한다. 키를 할당하는 방식에 대해 설명하면, 먼저 노드1'에서의 키 테이블(330)을 살펴보기로 한다.
노드 1'은 노드 1,노드 2 및 노드3의 그룹으로 이루어지는 가상의 노드이다.노드 1'에서의 키 테이블(330)에는 키 1내지 키 7을 상정한다. 키 1내지 키 7은 노드 1,노드 2 및 노드 3으로 이루어질 수 있는 임의의 부분집합이 각각 공유하는 키이다. 물론 임의의 부분집합에는 공집합은 제외될 것이다.
키 1은 노드 1만이 보유하고 있는 키이며, 키 2는 노드 2만이 보유하고 있는 키이며, 키 3은 노드 1과 노드 2가 보유하고 있는 키이며, 키 4는 노드 3만이 보유하고 있는 키이며, 키 5는 노드 1과 노드 3이 보유하고 있는 키이며, 키 6은 노드 2와 노드 3이 보유하고 있는 키이며, 키 7은 노드 1, 노드 2 및 노드 3이 모두 보유하고 있는 키이다.
즉 노드 1은 노드 1'에서의 키 테이블(330)상의 키1,키3,키5,키7을 보유하게 되며, 노드 2는 노드 1'에서의 키 테이블(330)상의 키2,키3,키6,키7을 보유하게 되며, 노드 3은 노드 1'에서의 키 테이블(330)상의 키4,키5,키6,키7을 보유하게 된다. 전술한 방식과 동일한 방식으로 각각의 노드2' 내지 노드 9'에서의 키 테이블이 설정된다.
그 다음, 노드 c에서의 키 테이블(360)을 살펴보면, 키 1은 노드 7만이 보유하고 있는 키이며, 키 2는 노드 8만이 보유하고 있는 키이며, 키 3은 노드 7과 노드 8이 보유하고 있는 키이며, 키 4는 노드 9만이 보유하고 있는 키이며, 키 5는 노드 7과 노드 9가 보유하고 있는 키이며, 키 6은 노드 8과 노드 9가 보유하고 있는 키이며, 키 7은 노드 7, 노드 8 및 노드 9가 모두 보유하고 있는 키이다.
그 결과, 노드 7'에 속한 노드 19, 노드 20, 노드21은 각각 노드 c에서의 키 테이블(360)상의 키1,키3,키5,키7을 모두 보유하게 되며, 노드 8'에 속한 노드 22, 노드 23, 노드24는 각각 노드 c에서의 키 테이블(360)상의 키2,키3,키6,키7을 모두 보유하게 되며, 노드 9'에 속한 노드 25, 노드 26, 노드 27은 각각 노드 c에서의 키 테이블(330)상의 키4,키5,키6,키7을 모두 보유하게 된다. 전술한 방식과 동일한 방식으로 각각의 노드 a 및 노드 b에서의 키 테이블이 설정된다.
여기서, 키1 내지 키7는 서로 다른 별개의 키이며, 또한, 생성된 모든 키 테이블에서의 키값들은 서로 독립적인 별개의 키이다. 즉, 노드 1'에서의 키 1과 노드 c에서의 키 1은 서로 다른 키일 뿐만 아니라, 노드 2'과 노드 6'에서의 키 또한 독립적인 별개의 키이다.
그 다음엔 노드 A에서의 키 테이블(390)을 살펴보기로 한다. 키 1은 노드 a만이 보유하고 있는 키이며, 키 2는 노드 b만이 보유하고 있는 키이며, 키 3은 노드 a와 노드 b가 보유하고 있는 키이며, 키 4는 노드 c만이 보유하고 있는 키이며, 키 5는 노드 a와 노드 c가 보유하고 있는 키이며, 키 6은 노드 b와 노드 c가 보유하고 있는 키이며, 키 7은 노드 a, 노드 b 및 노드 c가 모두 보유하고 있는 키이다.
그 결과, 노드 a에 속한 노드 1 내지 노드 9는 각각 노드 A에서의 키 테이블(390)상의 키1,키3,키5,키7을 모두 보유하게 되며, 노드 b에 속한 노드 10 내지 노드 18은 각각 노드 A에서의 키 테이블(390)상의 키2,키3,키6,키7을 모두 보유하게 되며, 노드 c에 속한 노드 19 내지 노드 27은 각각 노드 A에서의 키 테이블(390)상의 키4,키5,키6,키7을 모두 보유하게 된다.
도 3에 표현된 노드들 중 실제의 노드(노드 1,노드 2,..,노드 27)들은 서비스 제공자와의 관계에서 개개의 사용자(User)라 할 수 있다. 서비스 제공자는 사용자에게 제공되는 컨텐츠를 전술한 키를 이용하여 암호화하여 전송한다. 서비스에 가입된 사용자는 기본적으로 서비스 제공자가 컨텐츠를 암호화하는 데 사용한 키를 갖고 있으며, 이는 서비스의 가입 및 연장신청에 의해 서비스 제공자로부터 부여받게 된다.
따라서, 서비스에 가입된 사용자는 서비스 제공자가 암호화하여 전송한 컨텐츠를 이용함에 있어서, 자신이 보유하고 있는 키를 이용하여 암호화된 컨텐츠를 복호화하게 된다.
그러나, 이후에 특정의 사용자가 서비스 가입을 해지하거나, 서비스 사용료를 지급하지 않는 등의 경우(Revocation)가 발생하게 되면, 서비스 제공자는 특정 사용자가 서비스를 더이상 이용하지 못하도록 하여야 한다.
이를 위해서는 향후에 제공되는 컨텐츠를 새로운 키(New Key:갱신키)로 암호화하고, 암호화에 사용된 새로운 키(New Key)를 특정의 사용자를 배제한 나머지 사용자에게 전송하여야 한다, 즉 키의 갱신작업이 필요하게 된다.
만약, 노드 c에 속해있는 모든 사용자(즉, 노드 19내지 노드 27에 해당하는 사용자가 될 것이다.)가 Revocation된 경우에 사용자는 새로운 키를 노드 A에서의 키테이블(390)상의 키 3을 이용하여 암호화하여 전송한다.
만약, 노드 2에 해당하는 사용자가 Revocation된 경우에 서비스 제공자는 새로운 키를 노드 A에서의 키테이블(390)상의 키 6을 이용하여 암호화한 데이터, 새로운 키를 노드 a에서의 키테이블(미도시)상의 키 6(노드 2' 및 노드 3'에 속해있는 노드만이 보유하고 있는 키)을 이용하여 암호화한 데이터 및 새로운 키를 노드 1'에서의 키테이블(330)상의 키 5를 이용하여 암호화한 데이터를 결합하여 전송한다.
도 4는 서비스 제공자에 의해서 전송되는 암호화된 데이터 패킷의 구조를 나타내는 도면이다.
인덱스에는 데이터 1 내지 데이터 n의 영역에 담긴 각각의 데이터에 대한 정보가 표시되어 있다. 도 4상에 나타난 데이터 패킷을 전송받은 노드들은 인덱스로부터 자신이 보유하고 있는 키에 의해 암호화된 새로운 키가 존재하는 데이터 영역을 인식한 후, 해당 데이터 영역에 존재하는 암호화된 새로운 키를 자신이 보유하고 있는 키를 이용하여 복호화한다.
그 결과 노드 10 내지 노드 27에 해당하는 사용자는 각각 모두 보유하고 있는 노드 A에서의 키테이블(390)상의 키 6을 이용하여 전송된 데이터를 복호화하여 새로운 키를 보유하게 될 것이다.
또한, 노드 4 내지 노드 9에 해당하는 사용자는 각각 모두 보유하고 있는 노드 a에서의 키테이블(미도시)상의 키 6을 이용하여, 전송된 데이터를 복호화하여 새로운 키를 보유하게 될 것이다.
또한, 노드 2 및 노드 3에 해당하는 사용자는 각각 모두 보유하고 있는 노드 1'에서의 키테이블(330)상의 키 5를 이용하여 전송된 데이터를 복호화하여 새로운 키를 보유하게 될 것이다.
이후에 사용자는 컨텐츠를 전송함에 있어서, 새로운 키를 이용하여 암호화할 것이고, 노드 2에 해당하는 사용자를 제외한 모든 사용자는 보유하고 있는 새로운 키를 이용하여 전송된 컨텐츠를 복호화하여 이용하게 될 것이다.
그러나, 도 3을 참조하여 상술한 키 갱신방법은 서비스 제공자와 복수의 사용자만을 가정한 네트워크 환경에서는 적합할 수 있으나, 트리 토폴로지 네트워크(Tree Topology Network) 환경에서 구현하는 경우에는 적합하지 못하게 된다.
도 5a는 본 발명이 적용되는 트리 토폴로지 네트워크의 구조를 나타내는 도면이다. 본 발명이 적용되는 트리 토폴로지 네트워크는 제 1계층(510), 제 2계층(520), 제 3계층(530) 및 조정자(Coordinator)(590)을 포함한다.
본 발명을 실시함에 있어서는, 제 3계층의 상위계층으로서 제 4계층, 제 5계층 및 그 이상의 상위계층이 포함될 수도 있을 것이다.
먼저 제 1계층(510)은 엔드 노드(노드3,노드4,노드5,노드7,노드8,노드9,노드13,노드14,노드15,노드17,노드18, 및 노드19)를 포함하고, 제 2계층(520)은 라우터 노드(노드2, 노드6, 노드 12, 및 노드 16)과 엔드 노드(노드10 및 노드 20)을 포함하며, 제 3계층(530)은 라우터 노드(노드1 및 노드 11)과 엔드 노드(노드 21)을 포함한다. 본 발명의 바람직한 실시예에 의하면, 본 발명이 적용되는 트리 토폴로지 네트워크의 구조는 제 4계층, 제 5계층, 및 그 이상의 계층을 포함할 수 있을 것이 다.
또한, 도 5a상의 각각의 라우터 노드들은 3개의 차일드(Child)를 가지며, 3개의 차일드 중 2개는 라우터 노드이며, 1개는 엔드 노드가 된다. 다만, 제 2계층에서의 라우터 노드들은 자신의 차일드 3개 모두를 엔드 노드로 갖는다. 본 발명의 바람직한 실시예에 의하면, 각각의 라우터 노드들은 임의의 개수의 차일드를 갖을 수 있을 것이며, 또한, 차일드 중 라우터 노드와 엔드 노드의 개수도 각각 임의의 개수가 될 수 있을 것이다.
도 5a상의 트리 토폴로지 네트워크 구조를 통해서 전술한 키 갱신방법을 구현하는 경우에는 불필요한 데이터 전송이 많아지게 된다. 즉 토폴로지 구조에서는 데이터의 전달에 있어서 각각의 라우터 노드에서의 포워딩(Forwarding)이 이루어지게 되는 데, 이 경우 도 4에 표시된 데이터 패킷이 트리 토폴로지 구조상의 브랜치(Branch)를 따라서 매번 포워딩되는 것은 무선 네트워크의 효율성면에서 바람직하지 않다.
즉, 도 3을 통해 제안된 키 갱신방법은 라우팅이 필요한 무선 네트워크에 적용하기에는 비효율적인 문제점이 있다.
그러나, 이러한 문제점은 도 3에서 제안된 Logical Key Hierarchy (LKH)를 트리 토폴로지 네트워크(Tree Topology Network) 구조에서 구현함으로서 해결될 수 있다.
도 5b는 트리 토폴로지 네트워크 구조에서 Logical Key Hierarchy(LKH)의 구현방법을 나타낸 도면이다.
도 5a 및 도 5b를 참조하여, 트리 토폴로지 네트워크 구조에서 Logical Key Hierarchy(LKH)의 구현방법을 설명하면, 먼저 노드 3,노드 4, 및 노드 5는 노드 2에 속해있는 차일드 노드이다. 따라서, 노드 2를 중심으로 노드 3, 노드 4, 및 노드 5를 포함하여, 하나의 그룹을 형성한다. 형성된 그룹을 노드 그룹 2라고 한다. 즉, 노드 그룹 2에는 노드 2, 노드 3, 노드 4, 및 노드 5가 포함된다. 여기서의 노드 그룹은 실제의 노드가 아니라, 가상의 노드가 될 것이다.
또한, 노드 7,노드 8, 및 노드 9는 노드 6에 속해있는 차일드 노드이다. 따라서, 노드 6를 중심으로 노드 7, 노드 8, 및 노드 9를 포함하여, 하나의 그룹을 형성한다. 형성된 그룹을 노드 그룹 6이라고 한다. 즉, 노드 그룹 6에는 노드 6, 노드 7, 노드 8, 및 노드 9가 포함된다.
또한, 노드 13, 노드 14, 및 노드 15는 노드 12에 속해있는 차일드 노드이다. 따라서, 노드 12를 중심으로 노드 13 노드 14, 및 노드 15를 포함하여, 하나의 그룹을 형성한다. 형성된 그룹을 노드 그룹 12라고 한다. 즉, 노드 그룹 12에는 노드 12, 노드 13, 노드 14, 및 노드 15가 포함된다.
또한, 노드 17, 노드 18, 및 노드 19는 노드 16에 속해있는 차일드 노드이다. 따라서, 노드 16를 중심으로 노드 17, 노드 18, 및 노드 19를 포함하여, 하나의 그룹을 형성한다. 형성된 그룹을 노드 그룹 16이라고 한다. 즉, 노드 그룹 16에는 노드 16, 노드 17, 노드 18, 및 노드 19가 포함된다.
이상 제 1계층(510) 및 제 2계층(520)에서의 노드 그룹의 생성이 완료되었다. 다음은 제 2계층(520) 및 제 3계층에서의 노드 그룹의 생성과정에 대해서 설명 하기로 한다.
먼저, 노드 그룹 2, 노드 그룹 6, 및 노드 10은 노드 1에 속하게 된다. 따라서, 노드 1을 중심으로 노드 그룹 2, 노드 그룹 6, 및 노드 10를 포함하여, 하나의 그룹을 형성한다. 형성된 그룹을 노드 그룹 1이라고 한다. 즉, 노드 그룹 1에는 노드 1, 노드 그룹 2, 노드 그룹 6, 및 노드 10이 포함된다.
또한, 노드 그룹 12, 노드 그룹 16, 및 노드 20은 노드 11에 속하게 된다. 따라서, 노드 11을 중심으로 노드 그룹 12, 노드 그룹 16, 및 노드 20을 포함하여, 하나의 그룹을 형성한다. 형성된 그룹을 노드 그룹 11이라고 한다. 즉, 노드 그룹 11에는 노드 11, 노드 그룹 12, 노드 그룹 16, 및 노드 20이 포함된다.
상술한 노드 그룹의 생성을 통해 도 5a에서의 트리 토폴로지 네트워크 구조가 도 5b에서의 Logical Key Hierarchy(LKH) 구조로 변환된 것을 확인할 수 있다.
도 5c는 트리 토폴로지 네트워크 구조의 Logical Key Hierarchy(LKH) 구조로 변환된 모습을 나타낸 도면이다.
도 5c를 참조하면, 노드 2, 노드 3, 노드 4, 및 노드 5는 하나의 노드 그룹 2를 형성하고, 노드 6, 노드 7, 노드 8, 및 노드 9는 하나의 노드 그룹 6을 형성한다. 노드 12, 노드 13, 노드 14, 및 노드 15는 하나의 노드 그룹 12를 형성하고, 노드 16, 노드 17, 노드 18, 및 노드 19는 하나의 노드 그룹 16을 형성한다.
다시, 노드 1, 노드 그룹 2, 노드 그룹 6, 및 노드 10은 하나의 노드 그룹 1을 형성하고, 노드 11, 노드 그룹 12, 노드 그룹 16, 및 노드 20은 노드 그룹 11을 형성한다. 그 결과 조정자(590)에는 노드 그룹 1, 노드 그룹 11, 및 노드 21이 속 하게 된다.
도 5b를 참조하여, 트리 토폴로지 네트워크상에서의 본 발명의 동작원리를 설명하면, 도 5b에 표현된 Logical Key Hierarchy (LKH)를 구성한 후에, 본 발명에서는 각각의 노드에 키를 할당한다. 키를 할당하는 방식에 대해 설명하면, 먼저 노드 그룹 12에서의 키 테이블(540)을 살펴보기로 한다.
노드 그룹 12는 노드 12, 노드 13, 노드 14 및 노드 15의 그룹으로 이루어지는 가상의 노드이다. 노드 그룹 12에서의 키 테이블(540)에는 키 1내지 키 15을 상정한다. 키 1 내지 키 15는 노드 12, 노드 13, 노드 14 및 노드 15으로 이루어질 수 있는 임의의 부분집합이 각각 공유하는 키이다. 물론 임의의 부분집합에는 공집합은 제외될 것이다.
즉 노드 12는 노드 그룹 12에서의 키 테이블(540)상의 키1, 키3, 키5, 키7, 키9, 키11, 키13, 및 키15를 보유하게 되며, 노드 13은 노드 그룹 12에서의 키 테이블(540)상의 키2, 키3, 키6, 키7, 키10, 키11, 키14, 및 키15를 보유하게 되며, 노드 14는 노드 그룹 12에서의 키 테이블(540)상의 키4, 키5, 키6, 키7, 키12, 키13, 키14, 및 키15를 보유하게 되며, 노드 15는 노드 그룹 12에서의 키 테이블(540)상의 키8, 키9, 키10, 키11, 키12, 키13, 키14, 및 키15를 보유하게 된다.
이와 같은 방식에 의해 각각의 노드 그룹 2, 노드 그룹 6, 및 노드 그룹 16에서의 키 테이블이 설정된다.
그 다음, 노드 그룹 1에서의 키 테이블(560)을 살펴보면, 노드 1은 노드 그룹 1에서의 키 테이블(560)상의 키1, 키3, 키5, 키7, 키9, 키11, 키13, 및 키15를 보유하게 되며, 노드 그룹 2에 속한 노드 2, 노드3, 노드4, 및 노드5는 각각 노드 그룹 1에서의 키 테이블(560)상의 키2, 키3, 키6, 키7, 키10, 키11, 키14, 및 키15를 모두 보유하게 되며, 노드 그룹 6에 속한 노드6, 노드7, 노드8, 노드9는 각각 노드 그룹 1에서의 키 테이블(560)상의 키4, 키5, 키6, 키7, 키12, 키13, 키14, 및 키15를 모두 보유하게 되며, 노드 10은 노드 그룹 1에서의 키 테이블(560)상의 키8, 키9, 키10, 키11, 키12, 키13, 키14, 및 키15를 보유하게 된다.
이와 같은 방식에 의해 노드 그룹 11에서의 키 테이블이 설정된다. 여기서, 키1 내지 키15는 서로 다른 별개의 키이며, 또한, 생성된 모든 키 테이블에서의 키값들은 서로 독립적인 별개의 키이다. 즉, 노드 그룹 12에서의 키 1과 노드 그룹 1에서의 키 1은 서로 다른 키일 뿐만 아니라, 노드 그룹 2와 노드 그룹 6에서의 키 또한 독립적인 별개의 키이다.
그 다음엔 조정자(590)에서의 키 테이블(580)을 살펴보기로 한다. 노드 그룹 1에 속한 노드 1 내지 노드 10은 각각 조정자(590)에서의 키 테이블(590)상의 키1, 키3, 키5, 및 키7을 모두 보유하게 되며, 노드 그룹 11에 속한 노드 11 내지 노드 20은 각각 조정자(590)에서의 키 테이블(580)상의 키2, 키3, 키6, 및 키7을 모두 보유하게 되며, 노드 21은 조정자(590)에서의 키 테이블(580)상의 키4, 키5, 키6, 및 키7을 모두 보유하게 된다.
도 6a는 본 발명의 일실시예에 따른 트리 토폴로지 네트워크의 구조를 나타낸 도면이고, 도 6b는 본 발명의 일실시예에 따른 Logical Key Hierarchy (LKH)를 타나낸 도면이다.
도 6a 및 도 6b를 참조하여, 본 발명의 일실시예에 따른 브로드 캐스트 암호화를 위한 키 관리방법의 구현원리를 설명하면, 도 6a상에서의 노드 4에 해당하는 사용자가 Revocation된 경우에 서비스 제공자는 새로운 키를 노드 그룹 1에서의 키테이블(560)상의 키 13(노드 2, 노드 그룹6에 속한 노드 6,7,8,9, 및 노드 10만이 보유하고 있는 키)을 이용하여 암호화한 데이터1을 생성하고, 새로운 키를 노드 그룹 2에서의 키테이블(550)상의 키 11(노드 2, 노드 3 및 노드 5만이 보유하고 있는 키)을 이용하여 암호화한 데이터2 및 새로운 키를 조정자(590)에서의 키테이블(580)상의 키 6을 이용하여 암호화한 데이터3을 생성한다.
도 6c는 본 발명의 일실시예에 따른 암호화된 데이터의 포워딩 과정을 나타낸 도면이다.
도 6b 및 도 6c를 참조하여, 본 발명의 일실시예에 따른 암호화된 데이터의 포워딩 과정을 설명하면, 먼저 조정자(590)는 데이터1의 정보로부터 노드1, 노드6, 노드7, 노드8, 노드9, 및 노드10이 모두 보유하고 있는, 노드 그룹 1에서의 키 테이블(560)상의 키 13에 의해 암호화되었음을 인식하고, 데이터1을 노드 1의 방향으로 포워딩한다.
노드1은 조정자(590)로부터 전송받은 데이터1의 정보로부터 노드1, 노드6, 노드7, 노드8, 노드9, 및 노드10이 모두 보유하고 있는, 노드 그룹 1에서의 키 테이블(560)상의 키 13에 의해 암호화되었음을 인식하고, 데이터1을 노드 6과 노드 10의 방향으로 포워딩한다.
노드 6 또한, 데이터1의 정보로부터 노드1, 노드6, 노드7, 노드8, 노드9, 및 노드10이 모두 보유하고 있는, 노드 그룹 1에서의 키 테이블(560)상의 키 13에 의해 암호화되었음을 인식하고, 데이터1을 노드7, 노드8, 및 노드9로 포워딩한다.
또한, 조정자(590)는 데이터2의 정보로부터 노드2, 노드3, 및 노드5가 모두 보유하고 있는, 노드 그룹 2에서의 키 테이블(550)상의 키 11에 의해 암호화되었음을 인식하고, 데이터2를 노드 1의 방향으로 포워딩한다.
한편, 노드1은 조정자(590)로부터 전송받은 전술한 데이터2의 정보로부터 노드2, 노드3, 및 노드5가 모두 보유하고 있는, 노드 그룹 2에서의 키 테이블(550)상의 키 11에 의해 암호화되었음을 인식하고, 데이터2를 노드 2의 방향으로 포워딩한다.
또한, 노드 2는 데이터2의 정보로부터 노드2, 노드3, 및 노드5가 모두 보유하고 있는, 노드 그룹 2에서의 키 테이블(550)상의 키 11에 의해 암호화되었음을 인식하고, 데이터2를 노드 3과 노드 5의 방향으로 포워딩한다.
이에 의해 노드 3, 및 노드 5는 자신이 보유하고 있는 노드 그룹 2에서의 키 테이블(550)상의 키 11에 의해 데이터2를 복호화하여 새로운 키를 보유하게 된다.
한편 조정자(590)는 데이터3의 정보로부터 노드11 내지 노드 21이 모두 보유하고 있는, 조정자(590)에서의 키 테이블(580)상의 키 6에 의해 암호화되었음을 인식하고, 데이터3을 노드 11과 노드 21로 포워딩한다.
한편, 노드 11은 데이터3의 정보로부터 노드11 내지 노드 21이 모두 보유하고 있는, 조정자(590)에서의 키 테이블(580)상의 키 6에 의해 암호화되었음을 인식 하고, 데이터3을 노드 12, 노드16, 및 노드 20의 방향으로 포워딩한다.
한편, 노드 12는 데이터3의 정보로부터 노드11 내지 노드 21이 모두 보유하고 있는, 조정자(590)에서의 키 테이블(580)상의 키 6에 의해 암호화되었음을 인식하고, 데이터3을 노드 13, 노드14, 및 노드 15의 방향으로 포워딩한다.
한편, 노드 16은 데이터3의 정보로부터 노드11 내지 노드 21이 모두 보유하고 있는, 조정자(590)에서의 키 테이블(580)상의 키 6에 의해 암호화되었음을 인식하고, 데이터3을 노드 17, 노드18, 및 노드 19의 방향으로 포워딩한다.
이에 의해 노드 4를 제외한 모든 노드들은 자신이 보유하고 있는 키에 의해 전송받은 데이터를 복호화하여 새로운 키를 보유하게 된다.
이후에 사용자는 컨텐츠를 전송함에 있어서, 새로운 키를 이용하여 암호화할 것이고, 노드 4에 해당하는 사용자를 제외한 모든 사용자는 보유하고 있는 새로운 키를 이용하여 전송된 컨텐츠를 복호화하여 이용하게 될 것이다.
즉, 조정자(590) 및 라우터 노드(노드1, 노드2, 노드6, 노드11, 노드12 ,및 노드16)들은 데이터 1, 데이터 2, 및 데이터 3이 결합된 데이터 패킷이 아닌 데이터 용량이 적은 각각의 데이터 1, 데이터 2, 및 데이터 3을 선택적으로 포워딩할 수 있게 된다.
전술한 브로드 캐스트 암호화를 위한 키 관리방법은 엑세스 포인트(Access Point) 또는 Key Management System(KMS)와 노드 사이의 통신에서 멀티홉 라우팅이 필요한 네트워크에서 효율적인 키 관리에 사용될 수 있을 것이다.
또한, 홈 네트워크상에서의 임의의 노드를 제거하는 경우에, 네트워크상의 키 갱신 및 전송에 있어서 전술한 브로드 캐스트 암호화를 위한 키 관리방법은 활용될 수 있을 것이다.
이상 설명한 바와 같이, 본 발명에 의하면, 트리 토폴로지 네트워크상에서의 효율적인 브로드 캐스트 인크립션(Broadcast Encryption)의 구현이 가능하다. 또한, 라우팅이 필요한 무선 네트워크상에서의 효율적인 키 갱신 및 관리가 가능하게 된다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (12)

  1. 복수개의 노드를 포함하는 트리 토폴로지 네트워크(Tree Topology Network)구조에 있어서,
    상기 트리 토폴로지 네트워크의 제 2계층상의 각 라우터 노드 및 상기 각 라우터 노드에 속한 제 1계층상의 엔드 노드로 구성되는 제 1노드 그룹들을 형성하는 단계;
    상기 트리 토폴로지 네트워크의 제 3계층상의 각 라우터 노드 및 상기 제 3계층상의 각 라우터 노드에 속한 상기 제 1노드 그룹으로 구성되는 제 2노드 그룹들을 형성하는 단계;
    상기 각각의 제 1노드 그룹들을 구성하는 상기 라우터 및 엔드 노드들의 부분집합별로 각각 공유하는 서로 다른 제 1키들을 할당하는 단계;
    상기 각각의 제 2노드 그룹들을 구성하는 상기 제 1노드 그룹들의 부분집합별로 각각 공유하는 서로 다른 제 2키들을 할당하는 단계; 및
    상기 제 1키들 및 상기 제 2키들 중 적어도 어느 하나의 키를 이용하여 암호화된 갱신 키를 전송하는 단계;를 포함하는 것을 특징으로 하는 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법.
  2. 제 1항에 있어서,
    상기 각각의 제 2노드 그룹들의 부분 집합별로 각각 공유하는 서로 다른 제 3키들을 할당받는 단계;를 더 포함하는 것을 특징으로 하는 트리 토폴로지 네트워 크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법.
  3. 제 2항에 있어서,
    상기 제 1키들, 상기 제 2키들 및 상기 제 3키들 중 적어도 어느 하나의 키를 이용하여 암호화된 갱신 키를 전송하는 단계;를 더 포함하는 것을 특징으로 하는 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법.
  4. 제 1항에 있어서,
    상기 제 2노드 그룹들은 조정자에 속해있는 것을 특징으로 하는 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법.
  5. 제 4항에 있어서,
    상기 조정자는 상기 암호화된 갱신 키를 자신에 속한 노드들에 선택적으로 포워딩(Forwarding)하는 것을 특징으로 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법.
  6. 청구항 6은(는) 설정등록료 납부시 포기되었습니다.
    제 1항에 있어서,
    상기 부분집합은 적어도 하나의 노드를 포함하는 것을 특징으로 하는 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법.
  7. 청구항 7은(는) 설정등록료 납부시 포기되었습니다.
    상기 암호화된 갱신 키는 적어도 하나인 것을 특징으로 하는 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법.
  8. 제 1항에 있어서,
    상기 전송된 암호화된 갱신 키는, 상기 노드들에 의해 상기 제 3계층에서 상기 제 2계층으로, 상기 제 2계층에서 상기 제 1계층으로 선택적으로 포워딩되는 것을 특징으로 하는 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법.
  9. 제 8항에 있어서,
    상기 노드는 상기 갱신 키를 암호화하는 데 이용한 상기 제 1키, 상기 제 2키 및 상기 제 3키 중 어느 하나의 정보를 통해 상기 포워딩의 방향을 결정하는 것을 특징으로 하는 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법.
  10. 제 1항에 있어서,
    상기 제 1계층 노드들중 적어도 하나는 자신이 보유한 상기 제 1키 및 상기 제 2키중 어느 하나를 이용하여 상기 전송된 암호화된 갱신키를 복호화하여 보유하는 단계;를 더 포함하는 것을 특징으로 하는 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법.
  11. 제 1항에 있어서,
    상기 각 노드에 속한 노드가 없는 경우에는, 상기 각 노드로 구성되는 노드 그룹은 형성하지 않는 것을 특징으로 하는 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법.
  12. 제 1항에 있어서,
    상기 트리 토폴로지 네트워크는 3계층 이상으로 구성되는 것을 특징으로 하는 트리 토폴로지 네트워크 구조에서의 브로드 캐스트 암호화를 위한 키 관리방법.
KR1020050049338A 2005-06-09 2005-06-09 트리 토폴로지 네트워크 구조에서의 브로드 캐스트암호화를 위한 키 관리방법 KR101152311B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050049338A KR101152311B1 (ko) 2005-06-09 2005-06-09 트리 토폴로지 네트워크 구조에서의 브로드 캐스트암호화를 위한 키 관리방법
US11/448,724 US8411865B2 (en) 2005-06-09 2006-06-08 Key management method for broadcast encryption in tree topology network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050049338A KR101152311B1 (ko) 2005-06-09 2005-06-09 트리 토폴로지 네트워크 구조에서의 브로드 캐스트암호화를 위한 키 관리방법

Publications (2)

Publication Number Publication Date
KR20060128142A KR20060128142A (ko) 2006-12-14
KR101152311B1 true KR101152311B1 (ko) 2012-06-11

Family

ID=37525417

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050049338A KR101152311B1 (ko) 2005-06-09 2005-06-09 트리 토폴로지 네트워크 구조에서의 브로드 캐스트암호화를 위한 키 관리방법

Country Status (2)

Country Link
US (1) US8411865B2 (ko)
KR (1) KR101152311B1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101472064B1 (ko) * 2008-06-30 2014-12-15 삼성전자주식회사 통신 비용 및 보안 비용을 고려하여 키를 갱신하는 시스템및 방법
US20110158405A1 (en) * 2009-12-31 2011-06-30 The Industry & Academy Cooperation in Chungnam National University (IAC) Key management method for scada system
KR101133262B1 (ko) * 2010-04-08 2012-04-05 충남대학교산학협력단 강인한 scada시스템의 하이브리드 키 관리방법 및 세션키 생성방법
US8396896B2 (en) 2010-11-10 2013-03-12 International Business Machines Corporation Assigning resources to a binary tree structure
KR20140028342A (ko) * 2012-08-28 2014-03-10 삼성전자주식회사 브로드캐스트 암호화를 위한 키 관리 방법 및 브로드캐스트 암호화를 이용한 메시지 전송 방법
US9876991B1 (en) 2014-02-28 2018-01-23 Concurrent Computer Corporation Hierarchical key management system for digital rights management and associated methods
KR102306676B1 (ko) 2014-06-27 2021-09-28 삼성전자주식회사 스토리지 디바이스용 호스트 키 생성 방법 및 시스템
US10284534B1 (en) 2015-06-26 2019-05-07 EMC IP Holding Company LLC Storage system with controller key wrapping of data encryption key in metadata of stored data item
US9906361B1 (en) 2015-06-26 2018-02-27 EMC IP Holding Company LLC Storage system with master key hierarchy configured for efficient shredding of stored encrypted data items
US9659190B1 (en) 2015-06-26 2017-05-23 EMC IP Holding Company LLC Storage system configured for encryption of data items using multidimensional keys having corresponding class keys
US9779269B1 (en) 2015-08-06 2017-10-03 EMC IP Holding Company LLC Storage system comprising per-tenant encryption keys supporting deduplication across multiple tenants
US10326744B1 (en) 2016-03-21 2019-06-18 EMC IP Holding Company LLC Security layer for containers in multi-tenant environments
US10284557B1 (en) 2016-11-17 2019-05-07 EMC IP Holding Company LLC Secure data proxy for cloud computing environments
US10298551B1 (en) 2016-12-14 2019-05-21 EMC IP Holding Company LLC Privacy-preserving policy enforcement for messaging
US11128437B1 (en) 2017-03-30 2021-09-21 EMC IP Holding Company LLC Distributed ledger for peer-to-peer cloud resource sharing
US11063745B1 (en) 2018-02-13 2021-07-13 EMC IP Holding Company LLC Distributed ledger for multi-cloud service automation
US11108830B2 (en) * 2018-03-13 2021-08-31 Avago Technologies International Sales Pte. Limited System for coordinative security across multi-level networks
WO2019222516A1 (en) * 2018-05-16 2019-11-21 Lg Electronics, Inc. Systems and methods for efficient key management in a vehicular intranet
US11128460B2 (en) 2018-12-04 2021-09-21 EMC IP Holding Company LLC Client-side encryption supporting deduplication across single or multiple tenants in a storage system
US11019033B1 (en) 2019-12-27 2021-05-25 EMC IP Holding Company LLC Trust domain secure enclaves in cloud infrastructure

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043024B1 (en) * 2001-04-18 2006-05-09 Mcafee, Inc. System and method for key distribution in a hierarchical tree

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039803B2 (en) * 2001-01-26 2006-05-02 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
US7340603B2 (en) * 2002-01-30 2008-03-04 Sony Corporation Efficient revocation of receivers
GB2400526B (en) * 2003-04-08 2005-12-21 Hewlett Packard Development Co Cryptographic key update management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043024B1 (en) * 2001-04-18 2006-05-09 Mcafee, Inc. System and method for key distribution in a hierarchical tree

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
논문(ACM SIGCOMM, 1998) *
논문(CRYPTO 2001, 2001) *
논문(CRYPTO 2002, 2002) *

Also Published As

Publication number Publication date
US20060282666A1 (en) 2006-12-14
KR20060128142A (ko) 2006-12-14
US8411865B2 (en) 2013-04-02

Similar Documents

Publication Publication Date Title
KR101152311B1 (ko) 트리 토폴로지 네트워크 구조에서의 브로드 캐스트암호화를 위한 키 관리방법
Snoeyink et al. A lower bound for multicast key distribution
KR101092543B1 (ko) 브로드캐스트 암호화를 위한 사용자 키 관리 방법
US8755520B2 (en) Apparatus and method for generating a key for broadcast encryption
US7848525B2 (en) Hybrid broadcast encryption method
US8005225B2 (en) Hierarchical threshold tree-based broadcast encryption method
US7752435B2 (en) Method for managing user key for broadcast encryption
US8054973B2 (en) User key management method for broadcast encryption (BE)
Mehdizadeh et al. Lightweight decentralized multicast–unicast key management method in wireless IPv6 networks
KR100640058B1 (ko) 브로드캐스트 암호화를 위한 사용자 키 관리 방법
Barskar et al. A survey on efficient group key management schemes in wireless networks
KR100701884B1 (ko) 브로드캐스트 암호화를 위한 사용자 키 관리 방법
Hur et al. A multi-service group key management scheme for stateless receivers in wireless mesh networks
KR20060049340A (ko) 브로드캐스트 암호화를 위한 사용자 키 관리 방법
Sun et al. Network-aware security for group communications
Ramkumar On broadcast encryption with random key pre-distribution schemes
Zhao et al. Tracing and revoking scheme for dynamic privileges against pirate rebroadcast
Gu et al. Key management for overlay-based IPTV content delivery
Dua et al. Resource-aware broadcast encryption for selective-sharing in mobile social sensing
Ding Secure group communication in ad hoc networks

Legal Events

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

Payment date: 20150430

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160429

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180430

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 8