KR20110129961A - 네트워트에서 통신을 안전하게 하기 위한 방법, 통신 디바이스, 네트워크 및 이를 위한 컴퓨터 프로그램 - Google Patents

네트워트에서 통신을 안전하게 하기 위한 방법, 통신 디바이스, 네트워크 및 이를 위한 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20110129961A
KR20110129961A KR1020117024368A KR20117024368A KR20110129961A KR 20110129961 A KR20110129961 A KR 20110129961A KR 1020117024368 A KR1020117024368 A KR 1020117024368A KR 20117024368 A KR20117024368 A KR 20117024368A KR 20110129961 A KR20110129961 A KR 20110129961A
Authority
KR
South Korea
Prior art keywords
node
keying material
elements
sub
root
Prior art date
Application number
KR1020117024368A
Other languages
English (en)
Other versions
KR101639051B1 (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 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20110129961A publication Critical patent/KR20110129961A/ko
Application granted granted Critical
Publication of KR101639051B1 publication Critical patent/KR101639051B1/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/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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • 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/80Wireless

Abstract

루트 키잉 머티어리얼들이 제공되는 관리 디바이스(2)를 추가로 포함하는 네트워크(1)에서 제 1 노드(N1) 및 제 2 노드(N2) 사이의 통신을 안전하게 하기 위한 방법은: 관리 디바이스가 루트 키잉 머티어리얼들에 기초하여, 다수의 서브-요소들을 포함하는, 제 1 노드 키잉 머티어리얼 쉐어들을 생성하는 단계로서, 제 1 노드 키잉 머티어리얼 쉐어들은 제 1 완전 키를 생성하도록 배열되는, 상기 생성 단계, 관리 디바이스가 제 1 키잉 머티어리얼 쉐어들의 서브-요소들의 서브세트를 선택하며, 선택된 서브-요소들의 수는 제 1 키잉 머티어리얼 쉐어들의 서브-요소들의 총수보다 적거나 동일하며, 선택된 서브-요소들이 제 1 노드 부분 키잉 머티어리얼 쉐어들 또는 대칭-키 생성 엔진을 형성하는 단계, 및 제 1 노드가 제 2 노드 대칭-키 생성 엔진에 기초하고 제 2 노드의 식별자에 기초하여, 제 2 노드와의 통신들을 안전하게 하는데 이용되는 제 1 키를 생성하는 단계를 포함한다.

Description

네트워트에서 통신을 안전하게 하기 위한 방법, 통신 디바이스, 네트워크 및 이를 위한 컴퓨터 프로그램{A METHOD FOR SECURE COMMUNICATION IN A NETWORK, A COMMUNICATION DEVICE, A NETWORK AND A COMPUTER PROGRAM THEREFOR}
본 발명은 통신을 안전하게 하기 위한 암호화 시스템과 같은 보안 수단을 이용하여, 통신들 및 통신 디바이스들을 구비한 통신 네트워크들을 안전하게 하기 위한 방법에 관한 것이다. 본 발명은 모바일 무선 센서 및 액추에이터 네트워크(mobile wireless sensor and actuator network: WSN)들과 같은 통신 시스템에서, 특히 환자 모니터링을 위한 의료용 네트워크들 또는 조명 환경 네트워크들, 빌딩 자동화 네트워크들, 자동차 장비 네트워크와 같은 다른 개인용 네트워크들에서 유용한 응용을 발견한다.
이 민감성 애플리케이션들로 인해, 그와 같은 네트워크들에는 기밀성(confidentiality), 인증(authentication), 무결성(integrity), 및 인가(authorization)과 같은 보안 서비스들이 제공되어야만 한다.
종래의 통신 네트워크들에서 이용되는 암호화 시스템들은 전형적으로 통신들을 안전하게 하기 위한 암호화 방법들에 기초하여 보안 서비스들을 인에이블한다. 암호화 방법들은 자신들의 동작을 위해 암호화 키를 요구한다.
특히, 매우 비용 효율적이어야 하는 당사자들, 또는 노드들을 포함하는 일부 네트워크들에서, 그에 따라 요구되는 보안 서비스들을 인에이블하는데 대칭 암호가 적용된다. 실제로, 그와 같은 네트워크들, 예를 들면, 무선 센서 네트워크들에서, 노드들은 전형적으로 리소스 제한적, 즉 배터리 전력, 통신 대역폭, 프로세싱 전력, 또는 메모리의 측면에서 리소스 제한적이다. 그러므로 비대칭 암호에 기초하는 보안 방법들은 일반적으로 그와 같은 노드들에서 비효율적이거나 실현 불가능한 것으로 간주된다.
대칭 암호에 있어서의 기본 문제는 키-분배(key-distribution), 즉 네트워크에 속하고 안전하게 통신해야만 하는 노드들에서 공유 비밀(shared secret)들의 설정에 있다. 이 문제는 특히 WSN들에서 두드러지는데, 왜냐하면 WSN의 크기가 수십에서 수만 개의 노드들로 변할 수 있고, 이들의 특성이 매우 동적일 수 있는, 즉 네트워크 토폴로지(topology)가 추론하여 공지될 수 없기 때문이다.
암호화 키들은 공중-키 암호, 키 분배 센터 또는 다른 대칭 기술들에 기초하는 상이한 방법들에 의해 포함되는 당사자들 사이에 분배되고 설정된다. 특히, 지난 몇 년 동안 센서 네트워크들에 대한 키 분배 방식들의 설계에 대한 연구가 수행되었다. 무작위 키 사전 분배 방식들(Random key pre-distribution schemes), 신뢰 센터 기반 키 분배 방식들 또는 공중 키 암호의 애플리케이션이 제안되었다. 이들 방식들 중 많은 방식들에서, 보안 및 성능 사이의 트레이드 오프(trade-off)가 발견된다. 예를 들면, 무작위 키 사전 분배 방식들은 M의 키들의 풀(pool)로부터 무작위로 선택된 다수의 W 키들을 WSN 내의 각각의 노드에 분배한다. 그러므로, 두 노드들은 W 및 M에 좌우되는 공통 키를 공유하고, 보안 통신 링크를 설정할 수 있는 확률 ρ를 갖는다. 그러나, 이 방식들은 노드들 및 저장된 키들을 캡처(capture)함으로써 깨질 수 있다. 게다가, 이는 상대적으로 많은 수의 키들, 예를 들면, 50과 200 사이, 등가적으로 100-비트 키들에 대한 500 내지 2000 바이트들의 저장량을 필요로 한다. 공중-키 기반 키 합의 방식들은 단일 키의 저장량을 필요로 하지만, 키 생성에 대한 알고리즘들은 아주 복잡하다. 게다가, 시스템은 계산의 관점에서 매우 느린데, 왜냐하면 키 합의 핸드쉐이크(handshake)에 이 내지 삼초가 요구되기 때문이다. 일부 종래의 키 분배 방식들은 알파-보안으로 칭해지는 키잉 머티어리얼 쉐어 분배 방식들이고, 여기서 네트워크에 속하는 노드에는 보안 통신을 위해, 암호화 기성 키가 직접적으로 제공되지 않고, 노드가 네트워크의 다른 노드와 쉐어 키를 계산하는 것을 가능하게 하는 어떤 노드 지정 키잉 머티어리얼이 제공된다. 이 노드 지정 정보는 네트워크의 관리 디바이스에 포함되는 루트 키잉 머티어리얼(root keying material)로부터 도출되는 키잉 머티어리얼 쉐어이다. 이 알파-보안 방식들은 성능, 가용성, 및 보안 사이의 트레이드-오프를 제공한다. 상기 시스템들의 주요 결점은 루트 키잉 머티어리얼이 알파 노드들의 캡처, 그에 따라 알파 키잉-머티어리얼 쉐어들의 결합이 전체 루트 키잉 머티어리얼을 손상시킨다는 사실을 나타낸다.
본 발명의 목적은 네트워크에서의 통신들을 안전하게 하여 상술한 결점을 극복하는 방법을 제안함으로써, 종래의 키-분배 방식들의 성능을 증가시키는 방법을 제안하는 것이다.
본 발명의 다른 목적은 노드들의 어떠한 수도 네트워크를 손상시키지 않는 네트워크를 제공하는 것이다.
본 발명의 또 다른 목적은 네트워크의 노드들에 대한 리소스 요건들을 최소화하면서도 종래 기술의 알파-보안 키-분배 방식들보다 훨씬 더욱 강력한 보안 레벨을 달성하는 효율적인 키-분배를 설정하는 것이다.
이 목적을 위해, 본 발명은 대칭 키 생성 엔진(symmetric key generation engine: SKGE)이 제공되는 관리 디바이스를 추가로 포함하는 네트워크 내에 있는 제 1 노드 및 제 2 노드 사이에서의 통신들을 안전하게 하기 위한 방법을 제공한다. 대칭 키 생성 엔진(SKGE(·))은 제 1 당사자인 앨리스가 세 개의 원하는 동작 속성들을 가지고 네트워크 내의 임의의 다른 당사자, 예를 들면, 밥과의 쌍대 키(pairwise key)를 생성하도록 하는 암호화 블록이다. 우선, 이는 키 합의에 대해 비대칭 핸드쉐이크보다 계산상 훨씬 더 효율적이다. 둘째로, 키 생성 엔진은 매우 효율적인 방식으로 저장될 수 있는, 즉, 이는 단순 대칭 키 분배 방식의 N -1 키들과 비교해서 서 너 바이트들의 저장을 필요로 한다. 세째로, 엔진은 깨지기가 어렵다.
일반적으로 엔티티(RA), 예를 들면, 노드의 SKGE는, 다른 당사자의 아이덴티티가 제공되는 시스템에서, 임의의 다른 엔티티(RZ)와의 대칭 키들의 빠르고 효율적인 생성을 위해, 엔티티(RA)를 허용하는 구조로서 정의된다. 엔티티(RA)의 SKGE는 동일한 비밀 키잉 머티어리얼(KMA)에 기초한다. 이 비밀 정보는 n개의 독립 키잉 머티어리얼 쉐어들(KM'A-i)로부터 생성되는 키잉 머티어리얼(KMA-j)의 수 n의 세트들의 조합이다. 상이한 엔티티들(Ri)에 대한 키잉 머티어리얼 쉐어들(KM'i-j)은 일부 루트 키잉 머티어리얼(KMj root)로부터 생성된다.
루트 키잉 머티어리얼(KMA-j) 및 키잉 머티어리얼 쉐어들(KM'i-j)은 예를 들면, 암호화에 이용되는 널리 공지되어 있는 수학 함수들에 기초한다. 이 수학 함수들은 다항식들, 행렬들, 조합 구조들 등을 포함할 수 있다. 수학 연산들은 임의의 유한 필드(finite field) 또는 그룹들, 필드(field)들, 링(ring)들, 벡터 공간들 등을 포함하는 대수 구조들을 포함하는 다른 수학적 구조(mathematical structure)를 통해 실행될 수 있다.
SKGE의 연산을 다음의 단계들을 포함한다:
- 관리 디바이스가, 루트 키잉 머티어리얼, 예를 들면, 다항식 루트 키잉 머티어리얼들에 기초하고, 제 1 노드의 식별자에 기초하여, 예를 들면, 제 1 다항식의 형태로 있는 제 1 노드에 대한 키잉 머티어리얼 쉐어들의 세트를 생성하는 단계로서, 각각의 제 1 키잉 머티어리얼 쉐어는 서브-요소들로 분리되는, 상기 생성 단계,
- 관리 디바이스가, 제 1 키잉 머티어리얼 쉐어들, 예를 들면, 다항식 계수들의 서브 요소들의 서브세트를 선택하는 단계로서, 각각의 제 1 키잉 머티어리얼 쉐어에 대해 선택되는 서브 요소들의 수는 상기 제 1 키잉 머티어리얼 쉐어의 서브 요소들의 총 수보다 작거나 같고, 선택되는 서브 요소들은 제 1 노드 부분 키잉 머티어리얼 쉐어 또는 대칭 키 생성 엔진을 형성하는, 상기 선택 단계,
- 관리 디바이스가, 제 1 노드 부분 머티어리얼 쉐어를 제 1 노드로 송신하는 단계, 및
- 제 1 노드가, 제 1 노드 부분 키잉 머티어리얼 쉐어 또는 대칭 키 생성 엔진에 기초하고 제 2 노드의 식별자에 기초하여, 제 2 노드와의 통신들을 안전하게 하기 위해 이용되는 제 1 키를 생성하는 단계.
대칭 키 생성 엔진에 대한 그와 같은 방법은 키 분배 방식의 탄력성을 증가시키는데, 왜냐하면 노드에는 제 1 노드 키잉 머티어리얼 쉐어의 일부만이 제공됨으로써, 심지어 많은 수의 노드들의 챕처가 공격자로 하여금 초기 루트 키잉 머티어리얼을 검색하도록 하지 않기 때문이다.
게다가, 대칭 키 생성 엔진은 예를 들면, 여러 유한 필드들을 통해 실행되는 연산들을 믹싱(mixing)하고 있는 상이한 루트 키잉 머티어리얼들로부터 생성되는 여러 키잉 머티어리얼 쉐어들로부터 발생되는 다수의 요소들을 조합할 수 있다.
추가 보안 특징은 이용하는 키잉 머티어리얼 쉐어들 및 상이한 복잡도를 가지는 키잉 머티어리얼 쉐어들에 의해 구성 가능한 보안 레벨을 나타낸다. 예를 들면, 루트 키잉 머티어리얼이 다항식이면, 선택된 다항식의 차수는 계산산의 복잡도 및 보안 사이의 트레이드 오프를 제공하는데 이용될 수 있다.
더욱이, 노드에는 더 적은 수의 요소들, 따라서 더 적은 수의 비트들이 제공되기 때문에, 이 요소들을 저장하기 위한 노드의 메모리 요건들이 최소화되고, 부분 키를 생성하기 위한 계산 요건들 또한 감소한다.
다른 실시예에서, 루트 키잉 머티어리얼은 대칭 이변수 다항식이다. 그와 같은 특성은, 만일 제 2 노드에 부분 키잉 머티어리얼 쉐어가 제공되고, 제 2 노드가 제 1 노드 키잉 머티어리얼 쉐어와 동일한 방식으로 계산되고, 따라서 제 2 부분 키를 생성한다면, 이 제 2 키가 제 1 키와 같음을 유도한다.
본 발명의 또 다른 실시예에서, 루트 키잉 머티어리얼은 유한 필드에서 계수 GF(q)n을 갖는 차수 1의 다항식이고, 여기서 qn은 2n-1과 같은 소수(prime number)이고, n은 정수이다.
다른 실시예에서, 엔티티의 대칭 키 생성 엔진은 상이한 차수의 다수의 이변수 다항식들로부터 그리고 여러 유한 필드들을 통해 생성되는 다수의 다항식 쉐어들로부터 발행되는 요소들을 조합함으로써 설계된다. 이 조합은 다항식 쉐어들의 실제 생성이 대응하는 필드들에서 실행되는 방식으로 실행되지만, 대칭 키 생성 엔진은 요소들 및 모든 상기 필드들에 공통인 연산들을 조합한다.
본 발명의 다른 양태는 노드를 추가로 포함하는 네트워크 내에, 루트 키잉 머티어리얼이 제공되는 관리 디바이스에 관한 것이다. 관리 디바이스는:
- 노드의 식별자를 수신하자마자, 루트 키잉 머티어리얼에 기초하여 노드 키잉 머티어리얼 쉐어를 생성하기 위한 수단으로서, 각각의 키잉 머티어리얼 쉐어는 서브 요소들로 분리되는, 상기 생성 수단;
- 대칭 키 생성 엔진의 설계를 위해 제 1 키잉 머티어리얼 쉐어의 서브 요소들의 서브 세트를 선택하기 위한 수단으로서, 각각의 키잉 머티어리얼 쉐어로부터 선택되는 서브 요소들의 수는 제 1 키를 생성하도록 적응되는 노드 부분 키잉 머티어리얼 쉐어를 형성하기 위해 이 서브 식별자의 서브 요소들의 총 수보다 더 적거나 같은, 상기 선택 수단; 및
- 노드 부분 키잉 머티어리얼 쉐어를 노드에 분배하기 위한 수단을 포함한다.
본 발명의 다른 양태는 상술한 바와 같은 관리 디바이스, 및 통신 디바이스를 포함하는 네트워크에 관한 것이다. 통신 디바이스에는 식별자 및 대칭 키 생성 엔진이 제공되고, 상기 통신 디바이스는:
- 자신의 식별자를 관리 디바이스로 송신하기 위한 수단,
- 관리 디바이스로부터, 노드 부분 키잉 머티어리얼 쉐어를 수신하기 위한 수단,
- 다른 노드의 식별자를 수신하기 위한 수단, 및
- 수신된 대칭 키 생성 엔진, 또는 노드 부분 키잉 머티어리얼 쉐어에, 그리고 수신된 다른 노드의 식별자에 기초하여, 다른 노드와 통신하기 위한 키를 생성하기 위한 수단을 포함한다.
본 발명의 이 양태들 및 다른 양태들은 이후에 기술되는 실시예들로부터 명확해질 것이고 상기 실시예들을 참조하여 분명해질 것이다.
본 발명은 이제 예를 통해, 첨부 도면들을 참조하여, 더욱 상세하게 설명될 것이다.
도 1은 관리 디바이스 및 두 노드들을 포함하는, 본 발명에 따른 네트워크를 도시하는 도면.
도 2는 기본 대칭 키 생성 엔진에 대한 본 발명에 따른 방법의 시퀀스를 도시하는 블록도.
도 3은 기본 대칭 키 생성 엔진에서의 종래의 키 생성 프로세스를 도시하는 도면.
도 4a는 본 발명에 따른 키 생성 프로세스를 도시하는 도면.
도 4b는 본 발명에 따른 다른 키 생성 프로세스를 도시하는 도면.
도 4c는 두 상이한 유한 필드들을 통해 두 상이한 이변수 다항식들로부터 생성되는 두 다항식 쉐어들로부터 선택되는 서브 요소들이 엔티티(R)의 대칭 키 생성 엔진을 생성하도록 조합되는 본 발명의 실시예를 도시하는 도면. 이 도면에서, 단지 모듈러 곱셈(modular multiplication)들과 관련되는 요소들이 도시된다.
도 5는 차수의 이변수 다항식이 루트 키잉 머티어리얼로 이용될 때 SKGE의 일부 서브 요소들의 생성에 포합되는 루트 키잉 머티어리얼의 비트들을 도시하는 도면.
본 발명은 네트워크 내의 통신들을 안전하게 하기 위한 방법에 관한 것이다. 그와 같은 방법의 예시적인 동작 시퀀스는 본발명에 따른 네트워크를 도시하는 도 1 및 네트워크의 동작 시퀀스의 블록도를 도시한 도 2와 함께 도시될 것이다. 도 2는 기본 대칭 키 생성 엔진의 설계에 이용되는 일부 예시적인 요소들을 포함한다.
이 네트워크는 구성 단계(CONFIG) 동안 루트 키잉 머티어리얼이 제공되는 관리 디바이스(2)를 포함한다. 예시적인 실시예에서, 루트 키잉 머티어리얼은 무한체(GF(q)) 내의 계수들을 가지는 차수 1의 대칭 이변수 다항식 F(x, y)이다. 다항식은 다음과 같이 기록될 수 있다: F(x,y) = a00 + a01x + a10y + a11xy, 여기서 a01 = a10이다.
하나의 실시예에서, 체 GF(q)의 특성은 메르센 소수(prime Mersenne number) qn = 2n - 1이고, 여기서 n은 정수, 예를 들면, n = 17,127 또는 521이다.
이 구성 단계(CONFIG) 동안, 네트워크의 각각의 노드(N1, N2)에는 각각 식별자(ID1, ID2)가 제공된다. 상기 식별자들은 길이가 r 비트들이고, 여기서 r은 n보다 적은 정수이다. 예를 들면, r은 n/3의 정수 부분과 동일하다. 이 구성 단계는 일반적으로 네트워크의 사전 배치 단계 동안, 즉, 노드들이 네트워크에 실질적으로 결합하기 전에 발생한다.
일단 노드들이 배치되면, 관리 디바이스는 루트 키잉 머티어리얼 F(x, y) 및 식별자(ID1)에 기초하여, GENER 단계 동안, 노드(N1)에 대한 완전한 키잉 머티어리얼 쉐어(complete keying material share)를 생성한다. 노드(N1)에 대한 완전한 키잉 머티어리얼은 fID1(y) = bID1_1*y + bID1_0이고, 여기서 이 다항식의 계수들은 다음과 같이 계산된다: bID1_1 = a10 + a11*ID1(mod q) 및 bID1_0 = a00 + a01*ID1(mod q). 상기 연산들은 그와 같은 방법에서 실행되는 모든 다른 연산들과 같이 모듈로(modulo) q로 실행되는데, 왜냐하면 시스템은 유한 필드 GF(q)를 통해 발생하기 때문이다.
이제 간단하게 종래의 방법에 따른 키 생성 프로세스를 기술하고 나서 SKGE들에 기초하는 본 발명의 개선점들을 설명할 것이다.
그와 같은 종래의 프로세스는 다음의 가정들 하에, 도 3을 참조하여 기술될 것이다:
- 관리 디바이스에 제공되는 루트 키잉 머티어리얼은
F(x,y) = a00 + a01 + a10y + a11xy이고, 이는 형태
F(x,y) = (a00 + a01x) + (a10 + a11x)y로 인수분해될 수 있다.
- F(x, y)의 계수들은 연결된(concatenated) 세 세그먼트(segment)들의 형태로 표현된다.
- 네트워크는 식별자들이 R 및 V인 두 노드들을 포함한다.
제 1 단계는 x = R일 때, F(x, y)를 계산하고나서, FR(y) = bR_0 + bR_1*y를 생성함으로써 노드(R)에 대한 키잉 머티어리얼 쉐어를 생성하는데 있다.
이 계산은 도 3의 윗 부분:
- 좌측 윗부분에, bR_0 = (a01R + a00)(mod q)의 계산, 및
- 우측 윗부분에, bR_1 = (a11R + a10)(mod q)의 계산으로 도시된다.
그 다음, 종래의 시스템에서, 관리 디바이스에 의해 생성되는 완전한 키 머티어리얼 쉐어는 R 노드로 송신, 즉 6개의 세그먼트들: bR_0-1, bR_0-2, bR_0-3, bR_1-1, bR_1-2, bR_1-3가 송신된다.
통신이 노드(R) 및 노드(V) 사이에서 설정되어야만 할 때, 식별자(V)는 노드(R)이 통신을 안전하게 하기 위한 완전한 키(complete key)를 생성할 수 있도록, 노드(R)에 제공된다. 이 키는 쌍 방식 키로서, 양 노드들은 이 쌍 방식 키에 합의한다. 이는 y = V일 때 노드의 키잉 머티어리얼 쉐어 FR(y)의 값을 구함으로써 계산된다. 이 계산은 도 3의 하부에 도시된다. 계산(bR_1*V + bR_0)은 세 연속 세그먼트들(K1, K2 및 K3)로 구성되는 키(K)를 제공한다.
요소들(W1 및 z1)은 유한 필드의 크기에 좌우되기 보다는 올림수(carry)들에 대응한다.
그와 같은 종래의 시스템에서, 노드의 완전한 키잉 머티어리얼 쉐어의 모든 세그먼트들은 이 노드로 송신된다. 따라서, 많은 수의 노드들이 캡처되면, 공격자는 루트 키잉 머티어리얼, 따라서 전체 시스템을 손상시킬 수 있다. 본 경우에서, 2개의 캡처된 노드들은 차수 1의 다항식들이 이용되므로 루트 키잉 머티어리얼을 손상시키는데 충분할 것이다.
이제 도 2 및 도 4를 참조하여 다른 결점들 중에서, 이 보안 문제를 극복하기 위하여 본 발명에 의해 제한되는 개선점들을 기술할 것이다.
도 2의 동작 시퀀스로 돌아가면, ID1를 갖는 노드(N1)의 완전한 키잉 머티어리얼 쉐어를 생성한 후에, 관리 디바이스는 SELECT 단계에서, 상이한 계수들의 일부 세그먼트들을 선택하여 부분 키잉 머티어리얼 쉐어를 생성한다.
또한 서브 요소들로 칭해지는 이 세그먼트들은 완전한 키의 일부의 생성이 가능하도록 선택된다. 그러므로, 예시적인 실시예에서, 관리 디바이스는 도 4의 굵은 사각형 내에 도시된 다음의 계수들: bID1 _0-3, bID1 _1-1 및 bID1 _1-3만을 노드(N1)에 분배한다. 부분 키잉 머티어리얼 쉐어를 형성하는 이 요소들은 이후에 노드(N1)에 분배된다.
그 다음, 통신이 노드들(N1 및 N2) 사이에 설정되어야만 할 때, 식별자(ID2)는 N1으로 송신되고, 키 생성 프로세스(KEY_GEN)가 실행된다. 도 4에서 인지될 수 있는 바와 같이, bID1 _0-3, bID1 _1-1, 및 bID1 _1-3만이 제공되면, 노드(N1)는 모든 키 요소들(K1, K2 및 K3)를 계산할 수 없으나, 키(K3)의 최상위 비트들을 생성할 수 있다. 독자는 계수들의 상이한 부분들 및 실행되는 모듈러 연산들 사이의 관계를 분석함으로써 이것을 이해할 수 있다. 그 다음, 부분 키(K3)는 노드(N1) 및 노드(N2) 사이의 통신들을 암호화하는데 이용된다.
동일한 방식으로, 하나의 실시예에서 관리 디바이스는 또한 루트 키잉 머티어리얼 및 제 2 노드의 식별자에 기초하여 제 2 노드 키잉 머티어리얼 쉐어를 생성할 수 있고, 제 2 노드 키잉 머티어리얼 쉐어는 제 1 계수들과 동일한 수의 계수들을 갖는 제 2 다항식의 형태로 있다. 제 2 키잉 머티어리얼 쉐어는 제 2 완전 키를 생성하도록 배열된다. 이 제 2 노드 키잉 머티어리얼 쉐어의 제 2 다항식 계수들은 제 1 다항식 계수들과 유사하게 분리, 즉, 각각의 계수들은 세 서브 요소들로 분리된다. 관리 디바이스는 제 2 다항식 계수들의 일부 서브 요소들을 선택하여 제 2 노드 부분 키잉 머티어리얼 쉐어를 형성하고 이것을 제 2 노드로 송신한다.
제 2 다항식 계수들에 대해 선택되는 서브 요소들은 제 1 노드 부분 키잉 머티어리얼 쉐어를 형성하기 위해서 선택되는 서브 요소들에 대응한다. 본 상황에서, 용어 "대응하는 요소들"은 동일한 위치에 있는 서브 요소들, 즉 제 1 계수들의 제 3 요소 및 제 2 계수들의 제 1 및 제 3 요소들을 나타내는 bID2_0-3, bID2_1-1, 및 bID2_1-3을 의미한다.
제 2 노드 키잉 머티어리얼 쉐어 및 제 1 노드의 식별자에 기초하여, 제 2 노드는 제 1 노드와의 통신들을 안전하게 하는데 이용되는 제 2 부분 키를 생성한다. 루트 키잉 머티어리얼은 대칭 다항식이므로, 그리고 대응하는 서브 요소들은 제 1 노드 부분 키잉 머티어리얼 쉐어 및 제 3 노드 키잉 머티어리얼 쉐어로부터 선택되므로, 제 2 부분 키는 제 2 부분 키와 동일하다. 더욱이, 이 제 2 부분 키는 제 2 완전한 키의 일부이다.
본 실시예는 단지 결과에 따른 키의 최상위 비트들을 이용, 즉, 단일 대칭 키 생성 엔진의 본 발명의 두 당사자들이 단지 K3의 최상위 비트들에 합의할 수 있다는 것을 주목하라. 이는 연산들이 "원래의 체(GF(q))를 벗어나서' 실행되고, 정보의 일부가 분실되기 때문이다. 특히, 양 당사자들은 키 생성 단계에서 반송들의 효과를 포함하기 위해 어떠한 정보도 저장하지 않는다. 그러나, 이 효과는 반송 전차의 확률이 비트들의 수에 따라 감소하므로 최소이다. 특히, 두 노드들은 결과에 따른 키들의 b의 최하위 비트들을 제거한 후에 확률 1 - 2-b를 갖는 공통 키에 대해 합의할 수 있음이 증명될 수 있다.
더욱이, 본 발명의 제안된 시스템은 종래의 알파-보안 시스템들의 성능을 개선하는 것을 가능하게 한다. 실제로, 부분 키잉 머티어리얼 쉐어만이 노드에 제공되므로, 키잉 머티어리얼 쉐어를 저장하기 위한 메모리 리소스들 및 키들을 계산하기 위한 계산 요건들은 종래의 시스템에서보다 더욱 적다.
아래 표 1은 본 제 1 실시예에 따른 시스템의 세 구성들의 저장 요건들 및 계산 요건들을 열거한다:
유한 필드 크기 q = 2127 -1 q = 2521 - 1 q = 2127 - 1
세그먼트들의 수 1 1 3
{ID, bR-1-3, bR-0-3} 크기 [127/3] = 42 비트들 [127/3] = 173 비트들 [127/3] = 42 비트들
bR-1-0 크기 43 비트들 175 비트들 43 비트들
저장 요건들 127 비트들 521 비트들 381 비트들
(조합된) 키 크기(K3의) 약 40 비트들 약 160 비트들 약 120 비트들
계산 요건들 ·42x42 비트 곱셈
·42x43 비트 곱셈
·42+42 비트 덧셈
·173x173 비트 곱셈
·175x173 비트 곱셈
·173+173 비트 덧셈
·3 42x42 비트 곱셈
·3 42x43 비트 곱셈
·3 42+42 비트 덧셈
상기 세 구성들로 인해 메모리가 최소화되는 것이 가능한데, 왜냐하면 단지 서너개의 비트들만이 요구되기 때문이고, 또한 계산 요건들이 최소화되는 것이 가능한데, 왜냐하면 단 두 비 모듈러 곱셈들 및 덧셈만이 실행되어야만 하기 때문이다.
대칭 키 생성 엔진의 이 기본 실시예의 보안은 공격자가 노드들에 분배된 부분 키잉 머티어리얼 쉐어들, 즉 SKGE에 이용되는 정보들로부터 원래의 루트 키잉 머티어리얼을 복구할 수 없다는 사실에 의존한다.
SKGE의 보안을 설명하기 위해 우선 이 개념을 널리 공지되어 잇는 블록 암호(block cipher)의 개념과 비교한다. 블록 암호는 고정된 길이의 평문(plaintext)의 블록들과 함께 작업하는 암호화 방식이다. 블록 암호는 두 변환들로 구성된다: 암호화 변환 c = EK(m) 및 복호화 변환 m' = DK(c). K는 양 변환들에서 이용되는 비밀 키이다. 당사자인 앨리스는 EK(·)를 이용하여 메시지를 키 K로 암호화하고 이를 밥에게 송신할 수 있다. 밥은 동일한 키 및 암호화 변환 DK(·)을 이용하여 수신된 암호화 메시지를 복호화하고 원래의 메시지를 획득할 수 있다. 평문 공격, 즉 공격자가 암호화되지 않고 암호화된 메시지들(mi, ei}의 쌍들을 인지하는 것을 가정하면, 공격자는 비밀 키(K)를 복구시키려고 할 수 있다. SKGE를 공격하는 것도 다소 유사하다. 공격자는 Nc 쌍들 {Ri, KMi}을 생성하는 다수의 노드들을 캡처할 수 있고, 여기서 KMi는 엔티티(Ri)의 SKGE에서 이용되는 키잉 머티어리얼이다. 공격자는 캡처된 Nc 쌍들 {Ri, KMi}을 이용함으로써 시스템 내의 각각의 엔티티의 대칭 키 생성 엔진의 생성에 이용되는 루트 키잉 머티어리얼을 재구성하는 것을 목적으로 한다. 이 공격을 블록 암호에 대한 공격과 비교하면, SKGE의 루트 키잉 머티어리얼은 블록 암호 내의 암호화 키와 동일한 역할을 한다고 할 수 있다. 게다가, {Ri, KMi}의 쌍들은 평문/암호 텍스트의 쌍들과 동일할 것이다.
상술한 바와 같이, 이 기본 SKGE는 수 N_c의 쌍들 {Ri, KMi}을 손상시킴으로써 공격당할 것이다. 여기서 공격 플로우만이 개설된다:
· 사전지식:
o KMi는 도 3에 도시된 바와 같은 세 서브 요소들
Figure pct00001
을 포함한다.
Figure pct00002
은 노드(ID1)에 링크되는 차수 1의 다항식 쉐어의 계수 b1 = a11*ID + a01(modq)의 일부이다.
o 실험들은 시스템의 보안은 루트 키잉 머티어리얼의 계수(a11)에 강하게 좌우되는 것을 나타낸다. 이는 a11의 모든 비트들만이 생성된 키들 내체포함되므로 용이하게 이해될 수 잇다. 시스템 보안에 대한 a11의 강력한 효과는 또한 이것이 단지 모듈러 연산이 실행되는 요소라는 점으로 인한 것이다. 그러므로, 공격자는 a11를 복구함으로써 이 특정 SKGE를 깰 수 있다.
· 수 Nc의 쌍들 {Ri, KMi}을 캡처함으로써 a11를 복구하기 위한 프로세스
o 두 엔티티들(RA 및 RE)의 서브 요소들
Figure pct00003
을 취하자. 이 서브 요소들은 bR -1 = a11*R + a01(mod q)로부터 도출되므로, 이들 사이의 차, 즉,
Figure pct00004
를 계산할 수 있고, 따라서 결과는
Figure pct00005
와 매우 상관된다. 이 결과에 따른
Figure pct00006
은 길이가 2*k비트이고, 반면에
Figure pct00007
는 k = [n/3]일 때 길이가 3*k비트이다. 이는:
Figure pct00008
로 기록될 수 있다.
그 다음, GF(q)에 대한 (RA - RB)의 역의 값을 계산함으로써:
Figure pct00009
가 직접 획득될 수 있고, a11의 k 비트들(
Figure pct00010
중의)은 이 방식으로 획득될 수 있다.
나머지 2*k 비트들에 대해 공격자는 다음의 행할 수 있다: RA 및 RB 사이의 차가 1이 되는 경향이 있는 그러한 방식으로 엔티티들(RA, RB)의 쌍들을 찾는다. 이는 다수의 단계들로 실행될 수 있다. 결국, 공격자는 상기 두 식별자들에 링크되는 대응하는 값들이 a11과 동일해지도록, 쌍 (RA - RB) = 1을 생성하거나 찾을 수 있다.
Figure pct00011
이것을 행하는데 요구되는 예상된 수의 쌍들 NC은 약 2*k이어야 한다.
다른 공격은 상이한 지점들의 보간(interpolation)에 기초할 수 있다. 유한 필드에 대해, 어떠한 함수도 다항 함수로 표현될 수 있다. 그와 같은 다항 함수는 Lagrange 보간을 이용함으로써 생성될 수 있다.
상기 기본 SKGE에 대한 이 공격은 블록 암호들과 같은 다른 암호화 구조들에 대한 다른 공격들과 비교될 수 있다. 많은 블록 암호에서 시스템의 보안은 메시지를 암호화하는데 이용되는 회전(round)들의 수에 좌우된다. 서너번의 회전들을 이용하는 동일한 블록 암호는 선형, 차분, 또는 보간 공격들과 같은 상이한 유형의 공격들에 허약할 수 있다.
동일한 방식으로, 본 발명의 상이한 실시예들에서, 보안 키 생성 엔진은 다음의 특징 중 하나 또는 여러 개를 포함하여 이의 보안을 강화할 수 있다:
· 더 복잡한 루트 키잉 머티어리얼 함수들을 이용하면, 예를 들면, 시스템 보안을 증가시키기 위해 차수가 1보다 큰 다항식들이 이용된다. 다항식들의 차수를 증가시키는 것은 블록 암호의 회전들의 수를 증가시키는 것과 비교될 수 있다.
· 더욱 양호한 정보의 믹싱(mixing)을 달성하기 위해서, 링들, 또는 필드들과 같이 크기가 동일하거나 상이하고, 공통 또는 상이한 연산들을 구비하며, 동일하거나 상이한 복잡도를 갖는 상이한 수학적 구조들에 대해 키잉 머티어리얼 쉐어들의 요소들의 스마트(smart)한 조합이 생성된다. 예를 들면, 상이한 필드들에 대한 다수의 이변수 다항식들에 기초하는 루트 키잉 머티어리얼이 이용될 수 있다. 다수의 다항식 쉐어들은 상기 엔티티들의 각각의 아이덴티티에서의 이변수 다항식들의 값을 구함으로써 다수의 엔티티들에 대해 생성된다. 그후에 상이한 유한 필드들에 대한 상기 다항식 쉐어들의 서브 요소들은 각각의 엔티티의 SKGE를 생성하기 위해 조합된다.
· 또 다른 확장은 공격자가 실제 키잉 머티어리얼을 복구할 수 없는 그러한 방식으로 SKGE에서의 연산들의 설계를 칭한다. 이 최적화는 SKGE 자체에서 실행되는 연산들의 믹스 또는 조합을 칭하고 이것들은 상기 SKGE의 서브 요소들이 어떤 루트 키잉 머티어리얼의 어떤 키잉 머티어리얼 쉐어들로부터 생성되었는지를 공격자가 발견하는 것을 불가능하게 한다.
이 기술들의 일부를 블록 암호들의 연산과 비교하는 경우 상기 기술들이 더욱 잘 이해될 수 있다. 예를 들면, 블록 암호들은 암호화 또는 복호화 변환들에서 다수의 회전들을 이용한다. 회전의 수가 많을수록, 보안은 더 높아진다. 블록 암호는 또한 비트들을 믹싱하여 혼돈을 발생시키고 비밀 킹의 복구를 어렵게 하는데 있다. 이는 또한 SKGE의 설계 시에 더욱 복잡한 함수들을 도입할 때의 목표이다. 다음, 상기 확장들을 이용하여 다수의 더욱 복잡한 SKGE 실시예들을 도입한다.
큰 차수의 다항식들에 기초한 SKGE
기본 실시예는 차수 α=1의 이변수 다항식, 즉
Figure pct00012
을 루트 키잉 머티어리얼로 이용한다. 이 실시예에서, q는 2n-1 형태의 소수이고, 시스템 식별자들은 길이가
Figure pct00013
으로 선택된다. 상술한 바와 같이, 그러한 구성으로 인해 랩핑 모듈러 연산(wrapping modular operation)의 효과를 다수의 비트들로 제한하는 것이 가능하다. 이 추론에 따라, 비트들로의 체 크기 및 k 비트들과 동일한 식별자 크기 사이의 비는 감소해야 한다. 특히, 이 비가 3*α와 동일하도록 할 수 있고, 여기서 α는 다항식 차수이다. α = 3으로 가정하면, 다항식은
Figure pct00014
이 되고, x = R일 때, 길이가 으로, 이의 값을 구하고나서, 다항식 쉐어
Figure pct00016
을 획득한다. 각각의 계수(bj)는
Figure pct00017
로 계산된다. 그와 같은 설계는 약 [logq/비] 비트들의 출력 치를 갖는 SGKE를 생성하는 것을 가능하게 할 수 있다. 비는, 일반적으로, 2*α + 1과 동일하다. α = 1인 경우, 비는 3과 같다(기본 실시예).
특히, SKGE에 따르는 서브 요소들은: c0 = b0(mod2k); c10 = b1(mod2k); c11 = b1>>(n - k); c20 = b2(mod2k); c21 = b2>>(n - 2k); c30 = b3(mod2k); 및 c31 = b3 >> (n - 3k)로 표시될 수 있다. 노드(N1)에 대한 SKGE는 N2와의 키를 K'N1 , N2 = c0 + c10N2 + C11N2 >> k + c20N22(mod2k) + (c21N22>>2k)(mod2k) + c30N23(mod2k) + (c31N23 >>3k)(mod2k)로 생성되도록 이용될 수 있다.
이 특정한 예에서, 키 생성의 복잡도가 증가함으로써, 더 복잡한 요건들을 요구하지만, 더 정확한 믹싱을 달성하는 것이 인지될 수 있다.
일반적으로, 노드(N2)와의 키를 생성하기 위해 유한 필드(GF(2n-1))에 대한 차수 α의 이변수 다상식을 루트 키잉 머티어리얼로 이용하는 노드(N1)의 SKGE에 대한 연산은:
Figure pct00018
로 기록될 수 있다.
여기서 일반적으로
Figure pct00019
이다. 값들{C0,C10,...,c10,...,cα0c11,...,cj1,...,cα1}은 엔티티(N1)의 SKGE의 서브 요소들을 포함하고:
Figure pct00020
와 같이 원래의 다항식 쉐어의 계수들에 좌우된다.
이 식은 본 문서의 시작 시에 기술되었던, α = 1일 때의 단일 이변수 다항식이 이용했던 기본 SKGE 실시예의 더욱 일반적인 정의를 나타낸다.
엔티티(N1)의 SKGE의 상기 서브 요소들의 각각은 원래의 루트 이변수 다항식의 α + 1 계수들에 좌우된다. 도 5는 노드(N1)에 대한 다항식 쉐어의 계수(b3)의 생성에 포함되는 원래의 루트 키잉 머티어리얼(A33,A23,A13,A03)의 네 계수들을 도시한다. b3로부터 생성되는 SKGE의 두 서브 요소들(C30, C31)이 표시된다. 상기 계수들은 k-비트 블록들로 분리된다. X로 표시되는 블록들은 SKGE 요소들의 생성에 포함되는 블록들이다. 이 생성된 SKGE 요소들은 XX로 표시된다.
게다가, 생성된 키의 크기만큼 분리되는 키의 생성에 포함되는 루트 키잉 머티어리얼의 비트들의 실제 수는 증가한다. 두 SKGE들이 동일한 길이의 키를 생성하지만, 제 2 SKGE는 복잡도의 정도가 더 높은 루트 키잉 머티어리얼 함수, 예를 들면, 더 높은 차수의 이변수 다항식들을 이용한다고 가정하면, 공격자는 더 많은 정보를 결정해야 하므로, 이를 더 어렵게 한다. 그러므로, 고차의 다항식들과 같이, SKGE에 대한 루트 키잉 머티어리얼로서 더욱 복잡한 수학 함수들을 이용함으로써 루크 키잉 머티어리얼의 복구가 더 어려워진다. 결과적으로, 알파가 SKGE의 복잡도 및 보안을 결정하는 것으로 나타낸다.
이변수 다항식의 게수들 aij는 대칭 행렬로 도시될 수 있다.
Figure pct00021
생성된 키가 k-비트 블록이라고 가정하면, 차수 α의 이변수 다항식의 계수들은 길이가 2*α + 1 k-비트 블록이다. 여기서, 상기에 지정된 바와 같이 동일한 비가 이용된다. 차수 1의 이변수 다항식에 대해, 네 계수들{a00, a01; a01, a11}이 있다. 이들의 각각은 세 비트의 블록들로 분리된다. 이 분리는 루트 키잉 머티어리얼의 어떤 부분들이 SKGE 요소들{C0,C10}의 비트들에 영향을 미치는지를 분석하는데 유용하다. 이는 예를 들면, 도 4b를 분석함으로써 이해될 수 있다.
이로부터 여러 결론들이 도출될 수 있다:
- 우선, 차수 α의 다항식의 경우, 1≤i≤α인, SKGE{C0, C10}의 요소들은 길이가 단지 1 블록이지만, α + 1의 효과, 및
Figure pct00022
블록들을 포함한다. 복잡도 α의 SKGE가 1≤i≤α인 요소들{Ci1}은 길이가 i 블록이고,
Figure pct00023
블록들에 좌우된다. 이를 인지하는 것은 시스템이 공격받고자 할 때 유용할 수 있는데, 왜냐하면 공격자는 루트 키잉 머티어리얼에 대해 더 적은 블록들에 좌우하는 SKGE의 상기 요소들을 분석하기 시작할 수 있기 때문이다.
- 둘째로, 가장 높은 차수 계수의 모든 비트들만이 SKGE 요소들의 생성에 포함된다. 이는 상기 계수에 대한 단 하나의 "실" 모듈러 연산이라는 것과 등가이다.
두 상이한 유한 필드들을 대한 다항식들의 조합에 기초하는 SKGE
더욱 복잡하고 안전한 SKGE는 두 상이한 필드들(GF(q1) 및 GF(q2))에 대해 차수 1의 두 이변수 다항식들
Figure pct00024
을 취함으로써 구성될 수 있다. 특히 q1은 2n -1 형태의 Mersenne 소수로 취해질 수 있고, q2는 2n - 2[n/3] - β 형태의 다른 소수로 취해질 수 있다. 여기서 β는 2n - 2[n/3] - β가 소수인 가장 작은 양의 정수이다. 이 특정 값들은 다음과 같은 방식으로 선택된다:
(i) 상기 두 다항식들로부터 생성되는 다항식 쉐어들은 상이한 필드들의 효과를 포함하지만,
(ii) 상기 필드들은 상기 다항식 쉐어들의 서브 요소들을 조합하는데 충분하도록 여전히 유가하고,
(iii) 각각의 엔티티의 SKGE는 두 상이한 유한 필드들에 대해 생성되는 다항식 쉐어들의 서브 요소들의 조합으로 생성된다. 이 특정 실시예는 낮은 복잡도이 수하 함수들, 예를 들면, 차수 1의 다항식들에 대한 것이지만, 상이한 수학적 구조들, 즉 상이한 차수들의 필드들, 필드들 및 링들 등의 조합이 더 높은 복잡도, 예를 들면, 더 높은 차수의 다항식들의 수학적 주조들에 대해 행해질 수 있음이 주목될 수 있다.
이 특정 실시예의 기본 개념이 도 4 및 도 4c에 도시된다. 여기서 이는 길이가 n 비트인 두 요소들(aA 및 aB) 을 길이가 [n/3] 비트인 식별자(R)를 곱한 결과임이 확인될 수 있다.
R의 길이는 비 모듈러 곱셈들(R * aA 및 R*aB)이 길이가 4*[n/3] 비트인 그러한 방식으로 선택된다. 선택된 필드들의 특수한 형태로 인해, 이 길이가 4*[n/3] 비트인 [n/3]의 최상위 비트들의 결과들은 제 2 체(GF(qB))의 경우에 모듈러 연산을 적용한 후에 양 결과들의 [n/3] 최하위 비트들 및 [n/3] 최상이 비트들에 영향을 미친다. 그러므로 도 4의 좌측 부분은 예를 들면, 엔티티들에 대한 키잉 머티어리얼 쉐어들의 생성에 포함되는 도 3에 도시된 곱셈들 중 임의의 곱셈일 수 있다.
이를 유념하여, 이 방법을 이용한 시스템 동작은 다음과 같이 작동한다. 구성 엔티티는 두 엔티티들(N1 및 N2)에 대한 네 다항식 쉐어들의 총계를 산출하기 위해 상기 2개의 이변수 다항식들을 이용한다. 이는 통상적으로, 즉 양 엔티티들의 식별자들에 대해 x 변수로 되어 있는 양 이변수 다항식들의 값들을 구함으로써 행해진다. 네 다항식 쉐어들은:
Figure pct00025
이고,
여기서
Figure pct00026
에서의 i 및 j는 각각, 다항식 쉐어가 N1 또는 N2에 속하는지, 그리고 GF(q1) 또는 GF(q2)에 대해 실행된 계산들인지를 나타낸다. 이 다항식 쉐어들의 계수들의 각각은 기본 실시예의 경우에서 행해진 바와 같이 두 서브 요소들로 분리된다. 예를 들면, bN1|1-σ는 세 요소들의 연결, 즉 bN1|1-1 = {bN1|1-1|3∥bN1|1-1|2∥bN1 |1-1|1}로 도시될 n 있고, 여기서 ∥는 연결을 나타낸다. 동일한 방식으로, bN1|2-1 = {bN1 |2-1|3∥bN1 |2-1|2∥bN1 |2-1|1}이고, bN1 |2-0 = {bN1 |2-0|3∥bN1 |2-0|2∥bN1 |2-0|1}이고, bN1 |1-1 = {bN1 |1-0|3∥bN1 |1-0|2∥bN1 |1-0|1}이다. 구성 엔티티는 양 엔티티드들의 SKGE를 다항식 쉐어들의 서브 요소들의 조합으로 포함하고자하는 요소들을 계산하는데 포함되는 필드들의 특수 형태를 고려한다. 특히, i=[1,2}일 때 서브 노드 Ni{Ci-0, Ci-10, Ci-11}의 SKGE의 세 요소들을 칭하면:
Figure pct00027
.
다른 노드(Nj)의 아이덴티티가 제공되는 노드(Ni)의 일반 SKGE 연산은 이 실시예에서 다음과 같다:
Figure pct00028
SKGE의 요소들{Ci-0, Ci-10, Ci-11}은 상이한 다항식 쉐어들로부터 도출되는 두 서브 요소들을 더함으로써 획득된다. 상기 덧셈들 각각에서 제 2 서브 요소들을 제거하면, 기본 SKGE 실시예로 돌아간다.
이 확장은 SKGE에 대한 공격을 어렵게 만드는 흥미있는 특징들을 도입한다. 이 특정한 경우에서, 루트 키잉 머티어리얼은 상이한 차수를 갖는 필드들에 대한 다항식들을 포함한다. 공격자가 기본 실시예에 대해서와 동일한 공격을 실행하고자 하는 경우, 공격자는 주 장애물을 찾으려고 할 것이다. 실제로, 이제 공격자가 식별자의 역수 값을 계산할 수 없는데, 왜냐하면 상기 역수 값은 두 상이한 필드들의 요소이기 때문이다. 게다가, 기본 SKGE에 대한 이전의 공격에서, 시스템의 보안은 계수(a11)에 의존한다고 언급되었다. 상세한 분석은 이 특정한 예시적인 실시예에서 공격자가 n 비트들 대신, 4 * [n/3] 비트들을 가지므로, 시스템 분석이 더 어려워지는 것을 나타낸다. 이 점에서, SKGE의 탄력성을 측정하는 방법은 SKGE를 포함하는 서브 요소들의 생성에 포함되는 루트 키잉 머티어리얼의 비트들의 수 사이의 비를 상기 SKGE 서브요소들에 대한 비트의 길이에 의해 나타낸다.
이 개념은 다항식 쉐어들과 같이 둘 이상의 키잉 머티어리얼 쉐어들로부터 생성되고 상이한 유한 필드들에 대한 이변수 다항식들과 같은 상이한 루트 키잉 머티어리얼들에 링크되는 다수의 서브 요소들을 믹싱함으로써, 더욱 확장될 수 있다.
필드들과 같이 상이한 대수적 구조(algebraic structure)들에 대해 여러 루트 키잉 머티어리얼들을 이용하는 다른 확장은 상기 조합 소수 및 확장된 유한 필드들, 예를 들면, 모듈러 연산들에 대한 소수 및 차수 pτ의 다른 수를 이용하는 두 필드들을 나타내고, 여기서 p는 약분들을 위해 다항식을 이용하는 소수이다. 이 원인은 연산들이 필드들의 구성으로 인해 "양립 불가능(incompatible)"하다는 점에 있다.
상기 예에서, 공격자는 SKGE를 포함하는 서브 요소들이 단일 키잉 머티어리얼 쉐어 또는 이들의 조합으로부터 생성되었는지의 여부를 구별할 수 없다.
그러나, 이 정보를 인지하면 공격자는 더욱 스마트한 공격을 행하여 루트 키잉 머티어리얼을 복구하는 것이 가능할 수 있다. 이는 상이한 루트 키잉 머티어리얼들로부터 생성되는 다수의 상이한 키잉 머티어리얼 요소들로부터의 서브 요소들을 포함하고 루트 키잉 머티어리얼 비밀의 파라미터들을 유지하는 SKGE의 생성을 나타내는 추가 확장의 가능성을 제공한다. 이 파라미터들은 이용되는 수학적 구조의 종류, 예를 들면, 체, 링, 또는 벡터 공간, 및 이들의 복잡도, 예를 들면, 체의 크기 또는 다항식의 차수를 나타낼 수 있다.
최종적으로, 상이한 루트 키잉 머티어리얼들로부터 발생되는 여러 키잉 머티어리얼 쉐어들의 이용은 상기 요소들 및 SKGE에서 키 생성에 필요한 연산들이 키잉 머티어리얼 쉐어들의 실제 값들을 숨기도록 배열될 수 있다는 사실을 나타낸다. 이를 설명하기 위해, 네 상이한 루트 키잉 머티어리얼들로부터 발생되는 엔티티(N1)에 대한 네 상이한 키잉 머티어리얼 쉐어들을 가정하자. 세 키잉 머티어리얼 웨어들이 추출되는 마지막 요소를 제외하고, 각각의 키잉 머티어리얼 웨어로부터 두 요소들, 즉
Figure pct00029
이 추출되는 것으로 가정하자. 또한 SKGE가 기본 SKGE 실시예에서와 같이 세 상이한 요소들(
Figure pct00030
)을 포함하고 키가
Figure pct00031
로 생성된다고 가정하자. 여기서, SKGE의 실제 요소들은 상이한 키잉 머티어리얼 쉐어들로부터 선택되는 상기 서브 요소들의 조합이고, 이 특정한 예에서, 이것들은 다음과 같이 조합된다:
Figure pct00032
키잉 머티어리얼 쉐어들이 서로 독립적이므로, 상이한 서브 요소들은 서로 방해된다. 그러므로, 그와 같은 방법은 실제 원래의 루트 키잉 머티어리얼 쉐어들을 복구하는 것을 더욱 어렵게 만든다.
완전한 SKGE 설계
이 SKGE 설계는 2개의 이전의 설계들 상에 구성된다. 이 설계는 차수 α의 단일 이변수 다항식에 기초하는 SKGE에서, 단지 계수(aα,α)의 모든 비트들만이 다항식 쉐어들/키들의 계산에 포함되는 사실에 의해 고무된다. 이에 대한 원인은 상기 방식들이 체 크기 및
Figure pct00033
와 같은 키 크기 사이의 비로 설계기 때문이다. 계수(aα,α)가 모듈러 연산의 효과를 포함할지라도, 계수의 나머지의 효과가 더욱 적게 된다. 실제로, 이들의 효과는 비 모듈러 연산의 효과와 비교될 수 있다. 게다가, 단지 단일 루트 키잉 머티어리얼만이 이용된다. 그러므로, 시스템은 여전히 전적으로 선형이다.
이 문제를 처리하기 위해, α+1의 이변수 다항식들을 포함하는 완전한 SKEG 설계를 각각 차수들 1,2,... α 및 α의 루트 키잉 머티어리얼로 기술한다. 이 특정한 실시예에서, 이 이변수 다항식들은 다음의 필드들에 대한 것이다:
차수 1의 GF(23k - 22k - β12k-1 - 1)에 대한 f1(x,y)
...
차수 i의 GF(2(2i+1)k - 2(i+1)k - βi2(i+1)k-1 - 1)에 대한 fi(x,y)
...
차수 α의 GF(2(2α+1)k - 2(2α+1)k - β(2α+1)2(2α+1)k-1 - 1)에 대한 fα(x,y)
...
2n - 1 소수가 2(2α+1)k보다 더 클 때, 차수 α의 GF(2n - 1)에 대한 fα+1(x,y).
여기서, SKGE는 길이가 k비트인 키를 생성하는 것으로 가정된다. 차수 i의 다항식에 대한 소수 qi = 2(2i+1)k - 2(i+1)k - βi2(i+1)k-1 - 1의 형태는 다음의 사실들에 좌우된다. 항 2(2i+1)k는 루트 키잉 머티어리얼의 계수들에 대한 원하는 수효의 k-비트 "블록들"로부터 나타난다. 2(i+1)k는 i의 최상위 k-비트 블록들, 또는 다른 말로, i*k 최상위 비트들에 영향을 미치는 모듈러 연산을 행하는데 필요하다. 1은 연산들을 조합, 즉 다항식 쉐어들의 일부만을 이용함으로써 키를 생성하기 위해 선택된다. 최종적으로, 항 βi2(i+1)k-1은 소수를 찾는데 이용된다. 베타 값은 수 βi2(i+1)k-1가 소수인 가장 작은 양의 정수이다.
상기 개념은 f1(x,y)의 모듈러 연산들이 f2(x,y) 등의 차수 1의 계수들에 영향을 미치는 시스템을 설계하는 것이고; f2(x,y) 및 f3(x,y)에 대해서도 마찬가지다. 일반적으로, fi(x,y)의 기여로 인해 더 높은 식별자({i+1, i+2,...,α+1})를 갖는 모든 다항식들이 영향을 받을 것이다.
이 설계들은 상기 SKGE들 둘 모두의 장점들을 조합하고 계속해서 새로운 장점들을 제공한다. 우선, 이 시스템은 모든 다항식들 중 차수가 가장 높은 계수들의 비트들 모두가 키들의 생성에 포함되는 방식으로 설계된다. 이는 특히 중요한데 왜냐하면 상기 계수들은 모듈러 연산들을 포함하는 계수들이기 때문이다. 둘째로, 비트들로 측정된 상이한 크기의 필드들이 이용되고, 따라서, 임의의 요소의 역(inversion)을 훨씬 더 어렵게 한다. 특히, 동일한 식별자가 네 다항식들의 생성에 이용되지만, 상기 다항식들이 상이한 필드들에 대한 것이므로, 요소들의 역을 계산하여 루트 키잉 머티어리얼들의 일부들 또는 완전한 계수들을 복구하는 것이 훨씬 어렵다. 이 사실은 또한 보간 공격을 훨씬 더 어렵게 하는데, 왜냐하면 공격자는 다항식에 의해 SKGE 동작을 근사화하는 것을 목적으로 하기 때문이다. 그러나, 그와 같은 다항식은 상이한 필드들에서 발생되고 미지의 비트들에 의해 영향을 받는 정보의 효과를 포함해야만 한다. 이는 예상되는 보간 다항식의 차수를 매우 높게 함으로써 시스템은 매우 탄력적이다. 세째로, 필드들의 차수는 상이한 루트 키잉 머티어리얼들(즉, 이변수 다항식들 f1(x,y), f2(x,y), f3(x,y), 또는 f4(x,y))로부터 기원하는 키잉 머티어리얼 쉐어들(다항식 쉐어들)로부터 생성되는 서브 요소들이 서로 섭동(perturb)하여, 원래의 루트 키잉 머티어리얼의 복구를 더욱 어렵게 한다. 이 섭동 효과는 fi +1(x,y)과 같이 더 높은 식별자를 갖는 다항식들의 계수들에 대한 다향식(fi(x,y))의 가장 높은 차수의 계수의 효과를 칭한다. 추가적인 사실은 소수들이 항 -2(i+1)k로 인한 모듈러 연산들의 효과를 나타낸다. 이 항들은 Ci1의 형태의 SKGE의 요소들에 강하게 영향을 미침으로써, 실제로 상이한 유한 필드들에 대한 상이한 다항식들로부터 기원하는 비선형 효과를 유도한다. SKGE의 다른 요소들{C0, Ci0} 및 루트 키잉 머티어리얼의 계수들 사이의 관계는 상기 요소들이 또한 α+1의 루트 키잉 머티어리얼들에 좌우되는 다르지만 예전과 같이 유지된다. 그러므로, SKGE에 대한 알고리즘에서 이용되는 연산은 섹션 "차수 > 1의 다항식들에 기초하는 SKGE"에 도입되는 것에 대해 변하지 않고 유지된다. 상기 SKGE는:
Figure pct00034
이 현재:
Figure pct00035
이 되고 여기서 SKGE의 요소들{C0, Ci1, Cji}은 다음의 방법을 따른 α+1 키잉 머티어리얼 쉐어들의 요소들의 조합으로 생성된다. 이제, 이 식은 예를 들면, 보간 기술들에 의해 근사화되기가 휠씬 더 어려운데, 왜냐하면 요소들(Cj1)이상이한 유한 필드들에 대해 비선형의 모듈러 연산들의 효과를 도입하기 때문이다.
시스템의 구현예는 시스템의 복잡도가 증가하면, 즉, 긴 α값이 선택되면, 긴 정수들의 비 모듈러 곱셈들을 요구한다. 여기서, 성능 및 보안 사이의 트레이드-오프가 발견된다. SKGE 복잡도가 더 높으면 높을수록, 보안 레벨이 더 높아진다. 이는 암호 보안이 회전들의 수에 좌우되는 블록 암호의 연산과 비교 가능하다. 이 트레이드-오프는 특히 해결하기 어려운데 왜냐하면 지수의 방식으로 곱셈들의 수가 증가하기 때문이다. 이는 상기 SKGE의 마지막 항
Figure pct00036
을 분석함으로써 이해될 수 있다. 상기 합에서의 요소(j)는 j*k 비트의 길이의 두 요소들의 곱을 포함한다. 이것이 비-모듈러 연산일지라도, 이는 큰 j의 값에 대해 매우 손실이 크다. 계산 성능은 또한 제 2 항
Figure pct00037
에 좌우되지만 애우 강하지는 않다. i번째 지수의 경우, k 및 i*k 비트의 길이를 갖는 두 요소들의 곱을 갖는다. 도 9는 곱셈의 지수 증가를 도시한다. 여기서 k-비트 곱셈들의 수가 언급되는 것을 주목하라.
시스템의 성능은 상기 SKGE 식을 조금 수정하고 일부를 미리 계산함으로써 최적화될 수 있다. 다음과 같이 정의되는 이 변화들 및 수정들을 기술한다:
우선, 노드(N1)는 양 항들
Figure pct00038
Figure pct00039
에 대한 N2의 지수들을 미리 계산할 수 있다. 이는 반복 방식으로 계산함으로써 효율적으로 행해질 수 있다. 이는 α의 k-비트 곰셈들을 요구한다. 일반적으로:
Figure pct00040
이다.
둘째로, 상기 N2의 미리 결정된 지수들이 제공되면, 상기 SKGE 내에 제공된 두번째 항
Figure pct00041
은 N2의 i번째 지수의 k의 최하위 비트들 및 SKGE 요소(Ci0)의 곱으로 계산될 수 있다. 이는 요구되는 k-비트 곱셈들을 α(α+1)/2로부터 α로, 즉, 인수 (α+1)/2를 감소시킨다.
세번째 최적화는 상기 SKGE의 세번째 항
Figure pct00042
의 성능을 개선시킨다. 이를 이해하기 위해, 4-k 비트 길이의 두 요소들(A 및 B)의 곱을 관찰할 수 있다. 여기서, 보편성을 상실하지 않고, 길이가 4-k 비트인 피연산수들이 선택된다. A 및 B는 각각 길이가 k 비트인 4개의 서브 요소들을 포함한다. 이 곱은 i = 4일 때 항
Figure pct00043
의 특정 곱을 나타낸다. 상기 곱의 결과는 길이가 8*k 비트인 변수(C)이다. 그러나, 전체 C를 갖는 것은 필요하지 않고, 단지 k 비트들의 C만을 갖는다. 그러므로, 합
Figure pct00044
에서의 항들의 각각의 계산은 최적화된 버전에 의해 대체될 수 있다. 계산의 관점에서
Figure pct00045
에 대한 이 최적화된 식이 아래에 도시된다. Cj1 및 N2 j가 각각 j의 k-비트 요소들을 포함하는 것을 주목하라. 이 요소들은 {Cj1 -p, Cj1-j-1,...,Cj1-1} 및 {N2 - j j, N2 -j-2 j,...,N2 -1 j}이다.
Figure pct00046
이것은 합
Figure pct00047
의 j번째 항의 이 최적화된 생성이 k 비트 곱셈들의 수를 j2로부터 2*j-1로 감소시키는 것이 가능하다. 통상적으로, 그리고 상기에 지적된 바와 같이, 이 근사는 상기 결과의 일부 비트들을 제거할 것을 요구하는데 왜냐하면 이 최적화는 상기 최적화가 덧셈들로부터 발생하는 운반의 효과를 포함하지 않도록 이전의 항들의 효과를 포함하지 않기 때문이다. 그러나, k가 충분히 클 때, 그리고 특히 시스템의 성능을 상기 세 최적화들과 비교하고 비교하지 않을 때 사소한 것이다. 그러므로 이 최적화들은 복잡도가 높은 SKGE들을 이용하는 것을 가능하게 한다. 여기서, 복잡도는 원래의 루트 이변서 다항식들을 복구하기 위한 복잡도를 칭하는데, 왜냐하면 α의 보다 더 큰 값을 선택하면 더 높은 수의 다항식들이 도입되기 때문이다.
모든 상기 내용들은 SKGE들의 설계에 적용될 수 있다. 추가 설계 방법들은 다수의 무작위 속성들을 완수시키는 식별자들의 이용을 포함하여 시스템에 대한 가능한 공격을 최소화함으로써, 공격자가 원래의 루트 키잉 머티어리얼들을 복구시키는 것을 방지한다. 더욱이, 본 문서에 기술되는 시스템들은 다변수 다항식들과 같은 다변수 함수들을 이용함으로써 더 많은 수의 당사자들 사이의 키 합의에 대해 용이하게 적응될 수 있다.
본 명세서에 설명되는 기술 특징들은 광범위한 애플리케이션들을 발견할 수 있다.
주 애플리케이션은 무선 센서 네트워크들에서 구현되는 보안 시스템들에 대한 이용이다. 상기 네트워크는, 예를 들면,:
- 보급형 환자 모니터링에 이용되는 의료용 센서 네트워크들. 상기 네트워크들에서, 노드들은 일반적으로 환자에게 배열되고 메모리 및 계산 용량들 측면에서 낮은 리소스들을 갖는 센서 노드들이다.
- 분배 조명 환경들과 같은 스마트 환경들, 건물 자동화 시스템들, 자동차 장비 네트워크들, 또는 액세스 제어 정책들이 설정되고 관찰되어야만 하는 임의의 다른 네트워크.
- 특히, 표준 IEEE 802.15.4/ZigBee에 기초하는 임으의 무선 센서 네트워크.
본 발명은 또한 예를 들면, 센서 노드들 또는 개인용 디지털 보조장치들과 가튼 리소스 한정 디바이스들 상의 경량의 디비털 인증서들과 같이 다른 시스템들 및 방법들과 결합될 수 있다. 경량의 디지털 인증서는 엔티티를 검증하고 인증하기 위해 엔티티와 연관되는 속성들의 세트로 구성된다. 이 속성들의 세트는 엔티티의 디지털 아이덴티티(이름, 직업 등, 액세스 제어 롤(role)들, 뿐만 아니라 다른 파라미터들을 포함할 수 있다.
더욱이 본 발멸은 다음의 분야들에서 새로운 기회들을 열 수 있다:
- 무선 센서 네트워크들 또는 원격통신 네트워크들 내의 보안 브로드캐스트: 실제로, 네트워크 내의 기지국은 루트 키잉 머티어리얼 및 네트워크 내의 복수의 노드들 중 각각의 노드를 저장할 수 있다. 그러므로, 기지국은 본 발명에서 제공되는 바와 같이, 루트 키잉 머티어리얼을 이용하여 깨지지 않는 키잉 머티어리얼 쉐어로 메시지들을 암호화할 수 있다.
- 상이한 텔레콤 애플리케이션들에서 완전 보안 전자 티켓들의 생성.
SKGE들은 위조를 포함하는 많은 다른 애플리케이션들을 가능하게 한다. 이 애플리케이션에서, 상이하지만 상관되는 SKGE는 제품의 고유성(uniqueness)에 대한 서명을 제공하는 각각의 제품에 내포(embed)될 수 있다. 예를 들면, 디지털 문서에서 예를 들면, 무작위 시퀀스에 의해 미세하게 수정된 디지털 영상의 원래의 디지털 시퀀스를 가질 수 있다. 예를 들면, 디지털 이미지 내의 일부 픽셀들의 최하위 비트들을 무작위로 수정하는 것이 가능하다. 이 정보의 핑거프린트(fingerpring)는 해시 함수(hash function)을 계산함으로써 결정될 수 있고, 해시의 츨력을 이용하여 상기 디지털 문서에 대한 비밀 루트 키잉 머티어리얼로부터 SKGE의 요소들을 생성할 수 있다. 생성된 SKGE의 요소들은 동일한 디지털 문서에, 예를 들면, 디지털 이미지의 일부 픽셀들의 최하위 비트들에 내포된다. 이 방법은 SKGE들의 이용에 기초하는 위조를 가능하게 한다 - 카피된 디지털 문서들은 추적되고 가짜 문서들은 무효 SKGE를 포함하지 않는다.
본 명세서 및 청구항들에서 요소들 앞의 단어 "a" 또는 "an"은 그와 같은 요소들이 복수개 존재하는 것을 배제하지 않는다. 더욱이, 단어 "comprising"은 상기 기재된 것과는 다른 요소들 또는 단계들의 존재를 배제하지 않는다.
청구항들에서의 괄호 안의 참조 부호들을 포함한 것은 이해를 돕도록 의도된 것이고 제한하는 것으로 해석되어서는 안 된다.
본 명세서를 판독함으로써, 다른 수정들은 당업자들에게 명백할 것이다. 그와 같은 수정들은 보안 통신 업계에 이미 공지되어 있고 본원에서 이미 기술된 특징들 대신 또는 상기 특징들 외에 이용될수 있는 다른 특징들을 포함할 수 있다.
1: 네트워크 N1: 제 1 노드
N2: 제 2 노드 2: 관리 디바이스

Claims (15)

  1. 루트 키잉 머티어리얼들이 제공되는 관리 디바이스(2)를 추가로 포함하는 네트워크(1)에서 제 1 노드(N1) 및 제 2 노드(N2) 사이의 통신들을 안전하게 하기 위한 방법에 있어서:
    - 상기 관리 디바이스가 루트 키잉 머티어리얼들에 기초하여, 다수의 서브 요소들을 포함하는 제 1 노드 키잉 머티어리얼 쉐어(share)들을 생성하는 단계로서, 상기 제 1 노드 키잉 머티어리얼 쉐어들은 제 1 완전 키를 생성하도록 배열되는, 상기 생성 단계,
    - 상기 관리 디바이스가 상기 제 1 키잉 머티어리얼 쉐어들의 서브 요소들의 서브세트를 선택하는 단계로서, 선택되는 서브 요소들의 수는 상기 제 1 키잉 머티어리얼 쉐어의 서브 요소들의 총 수보다 작거나 같고, 상기 선택되는 서브 요소들은 제 1 노드 부분 키잉 머티어리얼 쉐어들 또는 대칭 키 생성 엔진을 형성하는, 상기 선택 단계, 및
    - 제 1 노드가, 상기 제 1 노드 대칭 키 생성 엔진 및 상기 제 2 노드의 식별자에 기초하여, 상기 제 2 노드와의 통신들을 안전하게 하는데 이용되는 제 1 키를 생성하는 단계를 포함하는, 통신들을 안전하게 하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 루트 키잉 머티어리얼은 다수의 수학 함수들을 포함하는, 통신들을 안전하게 하기 위한 방법.
  3. 제 2 항에 있어서,
    상기 대칭 키 엔진의 성능 및 보안은 루트 수학 함수들의 수, 상기 수학 함수들의 복잡성, 상기 키잉 머티어리얼 쉐어들의 생성이 발생하는 수학적 구조들, 또는 상기 루트 키잉 머티어리얼의 파라미터들을 포함하는 다수의 비밀 또는 공중 설계에 의해 규정되는, 통신들을 안전하게 하기 위한 방법.
  4. 제 2 항에 있어서,
    상기 수학 함수는 다항식들인, 통신들을 안전하게 하기 위한 방법.
  5. 제 4 항에 있어서,
    - 상기 관리 디바이스가, 상기 다항식 루트 키잉 머티어리얼 및 상기 제 1 노드의 식별자에 기초하여, 다수의 다항식 쉐어들의 형태 하의 제 1 노드 키잉 머티어리얼 쉐어들을 생성하는 단계로서, 각각의 다항식 쉐어 계수는 서브 요소들로 분리되고, 상기 서브 요소들은 상기 제 1 노드 키잉 머티어리얼 쉐어들을 포함하는, 상기 생성하는 단계,
    - 상기 관리 디바이스가, 제 1 대칭 키 생성 엔진을 형성하는 상기 제 1 다항식 계수들의 서브 요소들의 세트를 선택하는 단계로서, 상기 제 1 노드 대칭 키 생성 엔진의 선택된 서브 요소들은 상기 제 1 노드 키잉 머티어리얼 쉐어의 선택된 서브 요소들에 대응하는, 상기 선택하는 단계, 및
    - 제 1 노드가, 제 1 노드 대칭 키 생성 엔진 및 제 1 노드의 식별자에 기초하여, 상기 제 2 노드와의 통신들을 안전하게 하는데 이용되는 부분 키를 생성하는 단계를 추가로 포함하는, 통신들을 안전하게 하기 위한 방법.
  6. 제 4 항 또는 제 5 항에 있어서,
    상기 루트 키잉 머티어리얼은:
    - 상기 관리 디바이스가 상이한 유한 필드(finite field)들에 대한 연산들을 실행하는 루트 다항식들로부터 제 1 디바이스에 대한 다항식 쉐어들을 생성하고,
    - 상기 관리 디바이스가 상기 다항식 쉐어들은 서브 요소들로 분리하고 이들은 조합하여 대칭 키 생성 엔진을 형성할 수 있고,
    - 상기 대칭 키 생성 엔진을 포함하는 서브 요소들이 조합되어 상기 루트 키잉 머티어리얼의 복구를 더욱 어렵게 하고,
    - 상기 제 1 디바이스가 제 2 디바이스로 키를 생성하기 위해 상기 제 2 디바이스의 식별자 및 그 자신의 대칭 키 생성 엔진을 이용할 수 있고,
    - 키 생성을 위해 요구된 동작들은 필드들 중인 그러한 방식으로 선택되는 다수의 유한 필드들에 대한 다항식들인, 통신들을 안전하게 하기 위한 방법.
  7. 제 2 항 또는 제 3 항에 있어서,
    상기 수학 함수들의 복잡도는 상기 SKGE 보안 및 계산 요건들 사이의 트레이드 오프(trade off)를 제공하도록 조정될 수 있는, 통신들을 안전하게 하기 위한 방법.
  8. 제 4 항 또는 제 5 항에 있어서,
    상기 수학 함수의 복잡도는 상기 유한 필드들의 다항식 차수 및/또는 크기를 나타내는, 통신들을 안전하게 하기 위한 방법.
  9. 제 1 항 또는 제 4 항에 있어서,
    상기 루트 수학 함수들로부터 제 1 디바이스에 대한 키잉 머티어리얼 쉐어들의 생성은 체(field)들, 링(ring)들, 벡터 공간들 또는 그룹들과 같은 수학적 구조들의 단일 또는 조합에 대한 연산들을 포함하는, 통신들을 안전하게 하기 위한 방법.
  10. 제 9 항에 있어서,
    제 1 디바이스의 대칭 키 생성 엔진이 제공되는 제 1 디바이스 및 제 2 디바이스의 식별자 사이의 키의 생성에 필요한 연산들은 공통 수학적 구조에 대한 것인, 통신들을 안전하게 하기 위한 방법.
  11. 제 3 항 또는 제 4 항에 있어서,
    상기 관리 디바이스가 제 1 노드 키잉 머티어리얼 쉐어 및 제 2 노드 키잉 머티어리얼 쉐어를 생성하는 단계는 상기 제 1 노드의 식별자 및 상기 제 2 노드의 식별자에 각각 대응하는 지점에서 상기 대칭 이변수 다항식의 값을 구하는 단계를 포함하는, 통신들을 안전하게 하기 위한 방법.
  12. 노드를 추가로 포함하는 네트워크 내에, 루트 키잉 머티어리얼이 제공되는 관리 디바이스에 있어서:
    - 상기 노드의 식별자를 수신하자마자, 상기 루트 키잉 머티어리얼에 기초하여 노드 키잉 머티어리얼 쉐어들을 생성하기 위한 수단으로서, 각각의 키잉 머티어리얼 쉐어는 서브 요소들로 분리되는, 상기 생성 수단;
    - 상기 제 1 키잉 머티어리얼 쉐어의 서브 요소들의 서브 세트를 선택하기 위한 수단으로서, 선택되는 서브 요소들의 수는 제 1 키를 생성하도록 적응되는 노드 부분 키잉 머티어리얼 쉐어 또는 대칭 키 생성 엔진을 형성하기 위해 상기 키잉 머티어리얼 쉐어의 서브 요소들의 총 수보다 더 적거나 같은, 상기 선택 수단; 및
    - 상기 대칭 키 생성 엔진을 상기 노드에 분배하기 위한 수단을 포함하는, 관리 디바이스.
  13. 제 12 항에 따른 관리 디바이스 및 식별자가 제공되는 통신 디바이스를 포함하는 네트워크에 있어서,
    상기 통신 디바이스는:
    - 자신의 식별자를 상기 관리 디바이스로 송신하기 위한 수단,
    - 상기 관리 디바이스로부터, 노드 대칭 키 생성 엔진을 수신하기 위한 수단,
    - 다른 노드의 식별자를 수신하기 위한 수단, 및
    - 수신된 노드 대칭 키 생성 엔진 및 수신된 다른 노드의 식별자에 기초하여, 다른 노드와 통신하기 위한 키를 생성하기 위한 수단을 포함하는, 네트워크.
  14. 제 12 항에 따른 관리 디바이스 및 제 13 항에 따른 통신 디바이스를 포함하는, 네트워크.
  15. 제 1 항에 있어서,
    상기 대칭 키 생성 엔진은 하드웨어 또는 소프트웨어로 구현되고, 제 2 디바이스의 식별자가 제공되면, 제 1 디바이스로 하여금 상기 제 2 디바이스와 함께 대칭 키를 계산하도록 하는, 통신들을 안전하게 하기 위한 방법.
KR1020117024368A 2009-03-19 2010-03-16 네트워트에서 통신을 안전하게 하기 위한 방법, 통신 디바이스, 네트워크 및 이를 위한 컴퓨터 프로그램 KR101639051B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09155627.4 2009-03-19
EP09155627 2009-03-19

Publications (2)

Publication Number Publication Date
KR20110129961A true KR20110129961A (ko) 2011-12-02
KR101639051B1 KR101639051B1 (ko) 2016-07-22

Family

ID=42173961

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117024368A KR101639051B1 (ko) 2009-03-19 2010-03-16 네트워트에서 통신을 안전하게 하기 위한 방법, 통신 디바이스, 네트워크 및 이를 위한 컴퓨터 프로그램

Country Status (8)

Country Link
US (1) US9077520B2 (ko)
EP (1) EP2409453B1 (ko)
JP (1) JP5722868B2 (ko)
KR (1) KR101639051B1 (ko)
CN (1) CN102356597B (ko)
BR (1) BRPI1006182B1 (ko)
RU (1) RU2534944C2 (ko)
WO (1) WO2010106496A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101464724B1 (ko) * 2013-10-15 2014-11-27 순천향대학교 산학협력단 멀티 클라우드 환경을 위한 OpenID 기반의 사용자 인증 기법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
US8874766B2 (en) * 2012-03-09 2014-10-28 Mcafee, Inc. System and method for flexible network access control policies in a network environment
EP2667539A1 (en) 2012-05-21 2013-11-27 Koninklijke Philips N.V. Key sharing methods, device and system for configuration thereof.
MX345371B (es) * 2012-12-21 2017-01-27 Koninklijke Philips Nv Dispositivo de red de claves compartidas y su configuracion.
CN105027492B (zh) 2013-02-28 2019-05-07 皇家飞利浦有限公司 用于确定共享密钥的设备、方法和系统
US10359996B2 (en) 2013-02-28 2019-07-23 Koninklijke Philips N.V. Random number generator and stream cipher
WO2015004286A1 (en) * 2013-07-12 2015-01-15 Koninklijke Philips N.V. Key agreement device and method
US20160301526A1 (en) * 2013-11-21 2016-10-13 Koninklijke Philips N.V. System for sharing a cryptographic key
NL2013520B1 (en) * 2014-09-24 2016-09-29 Koninklijke Philips Nv Public-key encryption system.
RU2653316C1 (ru) * 2017-02-20 2018-05-07 Вадим Викторович Алашеев Способ аутентификации корреспондентов радиосети
CN108521650A (zh) * 2018-04-19 2018-09-11 佛山市长郡科技有限公司 一种由智能移动电话通过无线通信网络的通信的方法
CN109729536A (zh) * 2019-03-06 2019-05-07 哈尔滨理工大学 一种移动无线传感器网络故障诊断方法
WO2022174419A1 (zh) * 2021-02-20 2022-08-25 华为技术有限公司 一种根密钥保护方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132166A1 (en) * 2002-03-28 2005-06-16 Saffre Fabrice T.P. Method and apparatus for network security
WO2007149850A2 (en) * 2006-06-22 2007-12-27 Koninklijke Philips Electronics, N.V. Hierarchical deterministic pairwise key predistribution scheme
US20080016550A1 (en) * 2006-06-14 2008-01-17 Mcalister Donald K Securing network traffic by distributing policies in a hierarchy over secure tunnels

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6336634A (ja) * 1986-07-31 1988-02-17 Advance Co Ltd 暗号鍵共有方式
US5357571A (en) * 1993-07-01 1994-10-18 Motorola, Inc. Method for point-to-point communications within secure communication systems
JP2886517B2 (ja) * 1996-02-21 1999-04-26 カード・コール・サービス株式会社 共通鍵通信システム
US20040017918A1 (en) * 2002-07-24 2004-01-29 Christophe Nicolas Process for point-to-point secured transmission of data and electronic module for implementing the process
US7409526B1 (en) * 2003-10-28 2008-08-05 Cisco Technology, Inc. Partial key hashing memory
US8050409B2 (en) * 2004-04-02 2011-11-01 University Of Cincinnati Threshold and identity-based key management and authentication for wireless ad hoc networks
RU43983U1 (ru) * 2004-09-15 2005-02-10 Закрытое акционерное общество "Производственная фирма "СКБ КОНТУР" Автоматизированная система для подготовки и предоставления отчетности
CN101194459B (zh) * 2005-06-08 2013-11-27 皇家飞利浦电子股份有限公司 用于移动躯体传感器网络的预分配确定性密钥
US8086850B2 (en) * 2006-06-23 2011-12-27 Honeywell International Inc. Secure group communication among wireless devices with distributed trust
CN101495030B (zh) * 2006-07-28 2012-12-12 皇家飞利浦电子股份有限公司 用分级密钥管理基础设施对监测数据的自动传送和识别
US20080137863A1 (en) * 2006-12-06 2008-06-12 Motorola, Inc. Method and system for using a key management facility to negotiate a security association via an internet key exchange on behalf of another device
KR101338409B1 (ko) * 2007-01-25 2013-12-10 삼성전자주식회사 애드-혹 네트워크에서 분산 rsa서명을 생성하는 방법 및상기 애드-혹 네트워크의 노드
CN101796860A (zh) * 2007-09-07 2010-08-04 皇家飞利浦电子股份有限公司 用于网络的节点和用来建立用于网络的分布式安全体系结构的方法
US8429133B2 (en) * 2007-12-13 2013-04-23 Oracle International Corporation Partial key indexes
KR20100120662A (ko) * 2008-01-18 2010-11-16 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 자동 노드 및 키 취소를 위한 무선 통신 시스템 및 방법
CN101222325B (zh) * 2008-01-23 2010-05-12 西安西电捷通无线网络通信有限公司 一种基于id的无线多跳网络密钥管理方法
JP5519633B2 (ja) * 2008-04-14 2014-06-11 コーニンクレッカ フィリップス エヌ ヴェ 暗号手段を配布するための方法
WO2009153710A2 (en) * 2008-06-18 2009-12-23 Philips Intellectual Property & Standards Gmbh Personal security manager for ubiquitous patient monitoring
JP5637991B2 (ja) 2008-09-19 2014-12-10 コーニンクレッカ フィリップス エヌ ヴェ ネットワークにおけるセキュア通信に関する方法、通信デバイス、ネットワーク及びコンピュータプログラム
US8548171B2 (en) * 2009-02-27 2013-10-01 Cisco Technology, Inc. Pair-wise keying for tunneled virtual private networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132166A1 (en) * 2002-03-28 2005-06-16 Saffre Fabrice T.P. Method and apparatus for network security
US20080016550A1 (en) * 2006-06-14 2008-01-17 Mcalister Donald K Securing network traffic by distributing policies in a hierarchy over secure tunnels
WO2007149850A2 (en) * 2006-06-22 2007-12-27 Koninklijke Philips Electronics, N.V. Hierarchical deterministic pairwise key predistribution scheme

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101464724B1 (ko) * 2013-10-15 2014-11-27 순천향대학교 산학협력단 멀티 클라우드 환경을 위한 OpenID 기반의 사용자 인증 기법

Also Published As

Publication number Publication date
CN102356597B (zh) 2015-05-27
JP2012521136A (ja) 2012-09-10
US20110317838A1 (en) 2011-12-29
RU2534944C2 (ru) 2014-12-10
US9077520B2 (en) 2015-07-07
BRPI1006182B1 (pt) 2021-02-17
EP2409453B1 (en) 2018-07-11
BRPI1006182A2 (pt) 2016-03-01
RU2011142164A (ru) 2013-04-27
WO2010106496A1 (en) 2010-09-23
KR101639051B1 (ko) 2016-07-22
EP2409453A1 (en) 2012-01-25
JP5722868B2 (ja) 2015-05-27
CN102356597A (zh) 2012-02-15

Similar Documents

Publication Publication Date Title
KR101639051B1 (ko) 네트워트에서 통신을 안전하게 하기 위한 방법, 통신 디바이스, 네트워크 및 이를 위한 컴퓨터 프로그램
Chaudhary et al. Lattice-based public key cryptosystem for internet of things environment: Challenges and solutions
Zhou et al. Efficient homomorphic encryption on integer vectors and its applications
Liu et al. Establishing pairwise keys in distributed sensor networks
US11728988B2 (en) Elliptic curve isogeny based key agreement protocol
CN111492616B (zh) 用于基于晶格的密码学的可配置设备
EP2279580B1 (en) A method for distributing encryption means
EP2667539A1 (en) Key sharing methods, device and system for configuration thereof.
US9686075B2 (en) Key sharing network device and configuration thereof
CN111492615A (zh) 具有可更新共享矩阵的加密设备
EP2351287A2 (en) Method of generating a cryptographic key, network and computer program therefor
CN110851845A (zh) 一种轻量级单用户多数据的全同态数据封装方法
Mousavi et al. Security of Internet of Things using RC4 and ECC algorithms (case study: smart irrigation systems)
Aruna et al. Medical healthcare system with hybrid block based predictive models for quality preserving in medical images using machine learning techniques
Andreeva et al. COBRA: A parallelizable authenticated online cipher without block cipher inverse
Priyadharshini et al. Efficient Key Management System Based Lightweight Devices in IoT.
Gligoroski et al. π-cipher: Authenticated encryption for big data
Galletta et al. Overcoming security limitations of secret share techniques: the nested secret share
Gupta et al. Secure computation from leaky correlated randomness
Kumar A bilinear pairing based secure data aggregation scheme for WSNs
Rodhe et al. n-LDA: n-layers data aggregation in sensor networks
Chen et al. Cryptography in WSNs
Al-Doori et al. Securing IoT Networks with NTRU Cryptosystem: A Practical Approach on ARM-based Devices for Edge and Fog Layer Integration.
Lizama-Pérez et al. Non-Commutative Key Exchange Protocol
Gong et al. U-EPS: An Ultra-small and Efficient Post-quantum Signature Scheme

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: 20190703

Year of fee payment: 4