KR100875740B1 - 통신 시스템의 암호화 키 및 무결성 키 생성 장치 및 방법 - Google Patents

통신 시스템의 암호화 키 및 무결성 키 생성 장치 및 방법 Download PDF

Info

Publication number
KR100875740B1
KR100875740B1 KR1020070029897A KR20070029897A KR100875740B1 KR 100875740 B1 KR100875740 B1 KR 100875740B1 KR 1020070029897 A KR1020070029897 A KR 1020070029897A KR 20070029897 A KR20070029897 A KR 20070029897A KR 100875740 B1 KR100875740 B1 KR 100875740B1
Authority
KR
South Korea
Prior art keywords
key
data
exclusive
unit
kasumumi
Prior art date
Application number
KR1020070029897A
Other languages
English (en)
Other versions
KR20080087529A (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 KR1020070029897A priority Critical patent/KR100875740B1/ko
Publication of KR20080087529A publication Critical patent/KR20080087529A/ko
Application granted granted Critical
Publication of KR100875740B1 publication Critical patent/KR100875740B1/ko

Links

Images

Classifications

    • 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]
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명에 따른 비동기식 이동 통신 시스템에서 사용하는 암호화 키 및 무결성 키 생성 장치는, 난수 입력 데이터와 가입자 키 데이터에 대해 제1 배타적 논리합 연산을 수행하고, 이 제1 배타적 논리합 연산에 따른 결과 데이터를 2개의 서브키로 분리하는 서브키 분리 유닛과; 생성하고자 하는 키의 종류에 따라 상기 서브키 분리 유닛에서 출력된 상기 2개의 서브키 중 어느 하나를 선택하는 서브키 선택 유닛; 상기 서브키 선택 유닛에서 선택되어 출력된 상기 2개의 서브키 중 어느 하나와 가입자 키를 통해 카수미 연산 데이터를 생성하는 카수미 유닛; 및 상기 카수미 유닛에서 출력되는 카수미 연산 데이터와 가입자 키에 대해 제2 배타적 논리합 연산을 수행하고, 이 제2 배타적 논리합 연산에 따른 결과 데이터로 암호화 키 또는 무결성 키를 생성하는 키 데이터 생성 유닛을 포함하여 구성된다.
따라서, 본 발명에 의하면, 비동기 이동 통신 시스템에서 3GPP 기술 규격에서 정의되고 제시된 파라미터들과 카수미 유닛에 의한 카수미 연산을 2번만 사용하여 암호화 키 및 무결성 키를 생성함으로써 단순하면서 효율적인 고속의 키 생성 장치를 구현할 수 있다.

Description

통신 시스템의 암호화 키 및 무결성 키 생성 장치 및 방법{An apparatus and method for producing cryptographic key and integrity key using in network system}
도 1은 비동기식 이동 통신 시스템 규격에서 일례로 제시되는 키 관련 함수를 설명하기 위한 도면.
도 2는 3GPP TS 35.201 v 3.1.1에서 정의된 암호화 알고리즘(f8)의 시스템 구성을 나타낸 도면.
도 3은 본 발명에 따른 통신 시스템에서 사용하는 암호화 키 및 무결성 키를 생성하는 장치의 구성을 나타낸 도면.
도 4는 도 3의 카수미 유닛의 구성을 보다 상세히 도시한 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
10 : 서브키 분리 유닛 20 : 서브키 선택 유닛
30 : 카수미(KASUMI) 유닛 40 : 키 데이터 생성 유닛
100 : 제1 배타적 논리합 연산부 101 : 서브키 분리부
200 : 제2 배타적 논리합 연산부 201 : 키 데이터 생성부
300 : 제3 배타적 논리합 연산부 301 : 제1 카수미부
302 : 레지스터 303 : 제4 배타적 논리합 연산부
304 : 제5 배타적 논리합 연산부 305 : 제6 배타적 논리합 연산부
306 : 제2 카수미부 307 : 제3 카수미부
본 발명은 비동기식 이동 통신 시스템의 암호화 키 및 무결성 키 생성 장치 및 방법에 관한 것으로, 보다 상세하게는 난수(RAND) 데이터를 이용하여 비동기식 이동 통신 시스템에서 사용하는 암호화 키(CK: Cryptographic Key) 및 무결성 키(IK: Integrity Key)를 생성하기 위한 장치 및 방법에 관한 것이다.
현재와 같은 고도의 정보화 사회에서 요구하는 음성 서비스와 화상, 데이터 등의 멀티미디어 서비스를 제공하는 이동 통신 시스템의 개발에는 민감한 정보를 보호할 수 있는 많은 보안 특성들이 요구되고 있으며, 이에 따라 이들을 현실화할 수 있는 안전성과 신뢰성이 검증된 암호 알고리즘의 개발과 표준화가 요구되고 있다.
통상, 상기와 같은 안전성과 신뢰성을 확보하기 위한 보안 구조로서, 이동 통신망에 대해 전세계적으로 적용 가능한 기술 규격이 제시되고 있는 데, 그러한 보안 구조는 f0~f11이라 불리는 11개의 보안 관련 알고리즘을 필요로 한다.
이와 관련하여, 비동기식 이동 통신 시스템 규격에서 제시되는 키 관련 함수가 도 1에 일례로서 나타나 있으며, 이들 비동기식 이동 통신 시스템 규격에서 정의되어 있는 키 관련 함수는 f0, f1, f2, f3, f4, f5가 있고, 이들 함수는 다음과 같은 기능을 수행하게 된다.
즉, f0는 시스템의 상태를 입력 변수로 해서 난수(RAND)를 생성하는 함수, f1은 64비트의 네트워크 인증값을 계산하는 함수, f2는 32비트 또는 128비트의 USIM(User Service Identity Module) 인증값을 계산하는 함수, f3과 f4는 각각 128비트의 암호화 키와 무결성 키를 생성하는 함수, f5는 48비트의 익명 키를 생성하는 함수로 기능한다.
더욱이, 현재와 같은 고도의 정보화 사회에서는 이동 단말기와 네트워크 간의 기밀성(Confidentiality) 및 무결성(Integrity)의 중요성이 증대되고 있으며, 이를 위해 3GPP(The 3 Generation Project Partnership)에서는 표준화된 암호화 알고리즘 f8을 이용하여 데이터의 암호화 및 복호화를 수행하고, 무결성 알고리즘 f9를 이용하여 데이터의 무결성을 검사한다.
상기 f8 및 f9 알고리즘은 모두 카수미(KASUMI) 알고리즘을 반복적으로 이용하여 구현되며, 이들 f8 및 f9 알고리즘은 각각 암호화 키(CK) 및 무결성 키(IK)와 일련의 정보를 입력으로 사용하게 된다.
상기의 암호화 알고리즘 f8은 카수미 알고리즘을 이용하여 입력 변수를 키 스트림(Key Stream: KS)으로 변환하여 생성된 암호화 키와 사용자 입력 데이터를 배타적 논리합 연산을 통하여 암호화하고, 이렇게 암호화된 데이터를 암호화 키와 배타적 논리합 연산을 수행하여 최초의 사용자 데이터로 복호화하는 알고리즘이다.
또한, 상기의 무결성 알고리즘 f9는 소정의 비트로 입력되는 평문신호를 카수미 알고리즘에서 반복적으로 암호화하여 메시지 인증 코드(MAC)를 생성한 후 이를 데이터와 같이 전송하고 상대쪽에서는 전송된 암호문 신호에 대하여 같은 방식으로 메시지 인증 코드를 유도하여 전송된 메시지 인증 코드와 비교함으로써 무결성을 검증한다.
상기의 카수미 알고리즘은 암호화 및 무결성에서 사용되는 알고리즘으로, 암호화 알고리즘인 f8 함수와 무결성 알고리즘인 f9 함수에 사용되는 암호화 알고리즘이다.
또한, 상기의 카수미 알고리즘은 "MITSUBISHI"에서 발표한 "MISTY 암호 알고리즘"을 통신 시스템에 적당하게 수정한 비밀키 암호 시스템으로 구현이 용이하고 매우 빠르다는 장점이 있다.
도 2는 3GPP TS 35.201 v 3.1.1에서 정의된 암호화 알고리즘 f8의 시스템 구성도이다.
도 2를 참조하면, 암호화 알고리즘 f8을 수행하는 시스템은 카수미 연산을 수행하는 카수미 유닛(1, 3, 4, 5, 6)과 레지스터(2)와 다수의 배타적 논리합 연산기(7a - 7g)로 이루어진다. 도시된 바와 같이 3GPP TS 35.201 v 3.1.1에서 정의된 암호화 알고리즘 f8의 시스템은 카수미 알고리즘을 수행하는 다수의 카수미 유닛, 정확하게는 입력된 평문의 64비트 블럭 카운터수 만큼의 카수미 유닛이 연결된 구조로 이루어져 있다. 이와 같이 구성된 암호화 알고리즘 f8 시스템에서 입력으로 64비트의 평문과 해당 평문에 대한 정보(즉, COUNT∥BEARER∥DIRECTION∥0....0)128비트와, 암호화 키 128비트가 주어지면 5개의 카수미 알고리즘들의 연결구조를 통하여 평문의 비트 개수만큼 암호화 키 스트림을 출력한다.
또한, 비동기식 이동 통신 시스템에서 사용하는 암호화 키 및 무결성 키 알고리즘과 관련하여 종래의 시스템에서는 해시함수를 이용하는 방법 등이 있었지만, 이러한 해시함수를 사용하는 방법에서는 512비트의 입력이 필요하게 되고, 입력된 파라미터들을 반복적으로 사용할 뿐만 아니라, 3GPP 기술 규격에서 제시되어 있는 파라미터 이외의 부가적인 파라미터들을 필요로 하는 문제점이 있다.
따라서 본 발명은 상기와 같은 종래의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 3GPP 기술 규격에서 제시되는 난수 데이터와 f8 알고리즘을 이용하여 비동기식 이동 통신 시스템에서 사용하는 암호화 키 및 무결성 키를 생성하기 위한 장치 및 방법을 제공하는 데 있다.
상기한 목적을 달성하기 위한 본 발명의 일 측면에 따른, 비동기식 이동 통신 시스템에서 사용하는 암호화 키 및 무결성 키 생성 장치는, 입력되는 128비트 난수 입력 데이터와 128비트 가입자 키 데이터에 대해 제1 배타적 논리합 연산부를 통해 배타적 논리합 연산을 수행하고, 이 배타적 논리합 연산에 따른 결과 데이터 를 서브키 분리부를 통해 2개의 서브키로 분리하는 서브키 분리 유닛과; 상기 서브키 분리 유닛과 연결되며, 생성하고자 하는 키의 종류에 따라 상기 서브키 분리 유닛에서 출력된 상기 2개의 서브키 중 어느 하나를 선택하는 서브키 선택 유닛; 상기 서브키 선택 유닛과 연결되며, 상기 서브키 선택 유닛에서 선택되어 출력된 상기 2개의 서브키 중 어느 하나와 128비트 가입자 키를 통해 128비트 카수미 연산 데이터를 생성하는 카수미 유닛; 및 상기 카수미 유닛과 연결되며, 상기 카수미 유닛에서 출력되는 128비트 카수미 연산 데이터와 128비트 가입자 키에 대해 제2 배타적 논리합 연산부를 통해 배타적 논리합 연산을 수행하고, 이 배타적 논리합 연산에 따른 결과 데이터를 키 데이터 생성부를 통해 128비트의 암호화 키 또는 무결성 키를 생성하는 키 데이터 생성 유닛을 구비하여 구성된다.
상기 서브키 분리 유닛으로부터 분리되는 2개의 서브키는 각각 64비트이다.
상기 카수미 유닛은, 상기 입력되는 128비트 가입자 키와 128비트 상수 키에 대해 배타적 논리합 연산을 수행하는 제3 배타적 논리합 연산부와; 상기 서브키 선택 유닛에서 선택되어 입력되는 2개의 서브키 중 어느 하나와 상기 배타적 논리합 연산을 수행하여 얻어진 결과의 데이터에 대해 카수미 연산을 수행하는 제1 카수미부; 상기 제1 카수미부와 연결되며, 상기 제1 카수미부에서 출력하는 데이터가 저장됨과 더불어 해당 데이터를 출력하는 능동형 레지스터; 상기 능동형 레지스터와 연결되며, 상기 능동형 레지스터로부터 출력되는 데이터와 제1 블록 카운트 데이터에 대해 배타적 논리합 연산을 수행하는 제4 배타적 논리합 연산부; 및 상기 제4 배타적 논리합 연산부와 연결되며, 상기 제4 배타적 논리합 연산부에서 출력된 데 이터와 128비트 가입자 키 데이터에 대해 카수미 연산을 수행하여 카수미 연산 데이터를 생성하는 제2 카수미부를 포함한다.
상기 카수미 유닛은, 상기 능동형 레지스터와 연결되며, 상기 능동형 레지스터로부터 출력되는 출력 데이터와 제2 블록 카운트 데이터에 대해 배타적 논리합 연산을 수행하는 제5 배타적 논리합 연산부와; 상기 제2 카수미부 및 제5 배타적 논리합 연산부와 연결되며, 상기 제2 카수미부 및 제5 배타적 논리합 연산부로부터 출력되는 데이터에 대해 배타적 논리합 연산을 수행하는 제6 배타적 논리합 연산부; 및 상기 제6 배타적 논리합 연산부와 연결되며, 상기 제6 배타적 논리합 연산부에서 출력된 데이터와 128비트 가입자 키 데이터에 대해 카수미 연산을 수행하여 카수미 연산 데이터를 생성하는 제3 카수미부를 더 포함한다.
또한, 본 발명의 다른 측면에 따른 비동기식 이동 통신 시스템에서 사용하는 암호화 키 및 무결성 키를 생성하기 위한 장치는, 입력되는 동일비트의 난수 입력 데이터와 가입자 키 데이터를 논리연산을 수행하여 산출된 데이터를 2개의 서브키로 분리하고, 생성하고자 하는 키의 종류에 따라 하나의 서브키를 선택하는 서브키 분리 및 선택 유닛; 상기 선택된 서브키와 상기 가입자 키를 통해 설정된 비트의 카수미 연산 데이터를 생성하고, 상기 생성된 카수미 연산 데이터와 상기 가입자 키를 논리 연산하여 논리연산을 통해 산출된 데이터를 통해 설정된 비트의 암호화 키 또는 무결성 키를 생성하는 카수미 및 키 데이터 생성 유닛을 포함할 수 있다.
한편, 본 발명의 일 측면에 따른 비동기식 이동 통신 시스템에서 사용하는 암호화 키 및 무결성 키 생성 방법은, 입력되는 128비트 난수 입력 데이터와 128비 트 가입자 키 데이터에 대해 배타적 논리합 연산을 수행하는 제1 배타적 논리합 연산 단계와; 상기 제1 배타적 논리합 연산 단계에서 산출된 데이터를 2개의 서브키로 분리하는 단계; 생성하고자 하는 키의 종류에 따라 상기 2개의 서브키 중 어느 하나를 선택하는 단계; 상기 선택된 서브키와 128비트 가입자 키를 통해 128비트 카수미 연산 데이터를 생성하는 단계; 상기 카수미 유닛에서 출력되는 128비트 카수미 연산 데이터와 128비트 가입자 키에 대해 제2 배타적 논리합 연산부를 통해 배타적 논리합 연산을 수행하는 제2 배타적 논리합 연산 단계; 및 상기 제2 배타적 논리합 연산 단계에서 산출된 데이터를 통해 128비트의 암호화 키 또는 무결성 키를 생성하는 단계를 구비하여 이루어진다.
상기 서브키 분리 유닛으로부터 분리되는 2개의 서브키는 각각 64비트이다.
상기 카수미 연산 데이터 생성 단계는, 상기 입력되는 128비트 가입자 키와 128비트 상수 키에 대해 배타적 논리합 연산을 수행하는 제3 배타적 논리합 연산 단계와; 상기 2개의 서브키 중 어느 하나와 상기 제3 배타적 논리합 연산 단계에서 산출된 데이터에 대해 카수미 연산을 수행하는 제1 카수미 연산 단계; 상기 제1 카수미 연산 단계에서 산출된 데이터를 능동형 레지스터에 저장함과 더불어 출력하는 단계; 상기 능동형 레지스터로부터 출력되는 데이터와 제1 블록 카운트 데이터에 대해 배타적 논리합 연산을 수행하는 제4 배타적 논리합 연산 단계; 및 상기 제4 배타적 논리합 연산 단계에서 산출된 데이터와 128비트 가입자 키 데이터에 대해 카수미 연산을 수행하여 카수미 연산 데이터를 생성하는 제2 카수미연산 단계를 포함한다.
상기 카수미 연산 데이터 생성 단계는, 상기 능동형 레지스터로부터 출력되는 데이터와 제2 블록 카운트 데이터에 대해 배타적 논리합 연산을 수행하는 제5 배타적 논리합 연산 단계와; 상기 제2 카수미 연산 단계 및 제5 배타적 논리합 연산 단계로부터 산출되는 데이터에 대해 배타적 논리합 연산을 수행하는 제6 배타적 논리합 연산 단계; 및 상기 제6 배타적 논리합 연산 단계에서 산출된 데이터와 128비트 가입자 키 데이터에 대해 카수미 연산을 수행하여 카수미 연산 데이터를 생성하는 제3 카수미 연산 단계를 더 포함한다.
상기 선택되는 서브키에 따라 상기 암호화 키 또는 무결성 키 중 어느 하나를 먼저 생성하고, 상기 암호화 키 또는 무결성 키 중 또 다른 하나를 나중에 생성한다.
또한, 본 발명의 다른 측면에 따른 비동기식 이동 통신 시스템에서 사용하는 암호화 키 및 무결성 키를 생성하기 위한 방법은, 입력되는 동일비트의 난수 입력 데이터와 가입자 키 데이터를 논리연산을 수행하여 산출된 데이터를 2개의 서브키로 분리하고, 생성하고자 하는 키의 종류에 따라 하나의 서브키를 선택하는 단계; 및 상기 선택된 서브키와 상기 가입자 키를 통해 설정된 비트의 카수미 연산 데이터를 생성하고, 상기 생성된 카수미 연산 데이터와 상기 가입자 키를 논리 연산하여 논리연산을 통해 산출된 데이터를 통해 설정된 비트의 암호화 키 또는 무결성 키를 생성하는 단계를 포함할 수 있다.
이하, 본 발명의 실시예에 따른 장치 및 방법에 대한 바람직한 실시예에 대 하여 첨부한 도면을 참조하여 상세하게 살펴보기로 한다. 이 때, 아래에서 설명하는 시스템 구성은 본 발명의 설명을 위해서 인용한 시스템으로써 아래 시스템으로 본 발명을 한정하지 않음을 이 분야의 통상의 지식을 가진 자라면 이해해야할 것이다.
도 3은 본 발명에 따른 통신 시스템에서 사용하는 암호화 키 및 무결성 키를 생성하는 장치의 구성을 나타낸 도면으로서, 도 3에 도시한 바와 같이 본 발명의 암호화 키 및 무결성 키 생성장치는 서브키 분리 유닛(10)과, 서브키 선택 유닛(20), 카수미 유닛(30), 및 키 데이터 생성 유닛(40)을 포함한다.
상기와 같이 본 발명의 암호화 키 및 무결성 키 생성장치를 구성하는 서브키 분리 유닛(10)은, 배타적 논리합 연산을 수행하는 제1 배타적 논리합 연산부(100)와 상기 제1 배타적 논리합 연산부(100)의 배타적 논리합 연산에 따른 결과 데이터를 2개의 서브키(Sub-key)로 분리하는 서브키 분리부(101)를 구비하여 구성된다.
즉, 상기와 같이 구성된 서브키 분리 유닛(10)은, 입력되는 128비트의 난수 데이터를 제1 배타적 논리합 연산부(100)에 의해 128비트의 가입자 키 데이터와 배타적 논리합 연산을 수행하여 제1 배타적 논리합 연산부(100)와 연결된 서브키 분리부(101)를 통해 크기가 각각 64비트인 2개의 서브키로 분리한다.
또한, 서브키 선택 유닛(20)은, 상기 서브키 분리 유닛(10)과 연결되며, 암호화 키 또는 무결성 키를 생성하기 위해서 상기 서브키 분리 유닛(10)을 통해 64비트로 분리된 2개의 서브키 중 어느 하나를 선택한다.
또한, 카수미 유닛(30)은, 이후 보다 상세히 설명하는 제3 배타적 논리합 연 산부(300)와, 제1 카수미부(301), 레지스터(302), 제4 배타적 논리합 연산부(303), 제5 배타적 논리합 연산부(304), 제6 배타적 논리합 연산부(305), 제2 카수미부(306), 및 제3 카수미부(307)를 구비하여 구성된다.
상기와 같이 구성된 카수미 유닛(30)은, 상기 서브키 선택 유닛(20)과 연결되며, 상기 서브키 선택 유닛(30)에서 선택된 상기 2개의 서브키 중 어느 하나와 입력되는 128비트 가입자 키를 통해 128비트의 데이터를 생성한다.
또한, 키 데이터 생성 유닛(40)은, 상기 카수미 유닛(30)과 연결되고, 제2 배타적 논리합 연산부(200) 및 키 데이터 생성부(201)를 포함하며, 상기 카수미 유닛(30)에서 출력된 128비트 데이터와 입력되는 128비트 가입자 키를 상기 제2 배타적 논리합 연산부(200)를 통해 배타적 논리합 연산을 수행하고, 그 배타적 논리합 연산 수행 결과에 따른 데이터를 통해 키 데이터 생성부(201)에서 암호화 키 또는 무결성 키를 생성한다.
다음에, 상기와 같이 본 발명의 암호화 키 및 무결성 키 생성장치를 구성하는 각각의 구성요소에 대한 기능 및 동작에 대해 보다 상세히 설명한다.
상기한 각 구성들에 대한 일반적인 기능 및 각각의 상세한 동작에 대하여는 그 설명을 생략하고, 본 발명에 상응하는 동작 위주로 그 동작들을 설명하기로 한다.
우선, 도 3에 나타낸 바와 같이 서브키 분리 유닛(10)은, 입력되는 128비트 난수(RAND)와 128비트의 가입자 키(SK) 데이터를 제1 배타적 논리합 연산부(100)에 의해 배타적 논리합 연산(RAND[0]...RAND[127]...SK[0]...SK[127])을 수행하여 얻어진 결과 데이터(S)를 출력한다.
그러면, 상기 출력된 결과 데이터(S)는 상기 제1 배타적 논리합 연산부(100)와 연결된 서브키 분리부(101)를 통해 상위 64비트 서브키인 S1[0]...S1[63](이하, "S1"이라 함)와 하위 64비트 서브키인 S2[0]...S2[64](이하, "S2"라 함)로 분리된다.
이를 수식으로 나타내면 다음과 같이 표시된다.
S = RAND XOR SK,
S1 = MSB(X)64,
S2 = LSB(X)64
여기서, RAND는 비동기식 이동 통신 시스템에서 사용되는 난수 데이터를 나타내고, SK는 128비트 가입자 키를 나타내며, XOR은 배타적 논리합 연산을 나타내고, MSB(X)64는 비트열 X의 상위 64비트를 나타내며, LSB(X)64는 비트열 X의 하위 64비트를 나타낸다.
이후, 상기 서브키 분리 유닛(10)과 연결된 서브키 선택 유닛(20)에서는, 생성하고자 하는 키의 종류(예컨대, 암호화 키(CK) 또는 무결성 키(IK))에 따라 상기 서브키 분리 유닛(10)에서 출력된 2개의 64비트 서브키 중 어느 하나를 임의로 선택하고, 그 선택된 서브키를 카수미 유닛(30)으로 출력한다.
한편, 서브키 선택 유닛(30)으로부터 선택되는 서브키 S1 및 S2에 있어서, S1을 CK를 생성하기 위한 서브키로 설정하고 S2를 IK를 생성하기 위한 서브키로 설정해도 되고, S1을 IK를 생성하기 위한 서브키로 설정하고 S2를 CK를 생성하기 위한 서브키로 설정해도 상관없다.
상기 서브키 선택 유닛(20)과 연결된 카수미 유닛(30)은, 상기 서브키 선택 유닛(20)에서 선택되어 출력된 64비트 서브키(S1 또는 S2)와 128비트 가입자 키(SK) 및 3GPP TS 35.201에서 정의되어 있는 128비트 상수 키(KM)를 입력으로 하여 크기가 128비트인 카수미 연산 데이터(K1 및 K2)를 출력한다.
이를 수식으로 나타내면 다음과 같이 표시된다.
K1 = KASUMI [S1]SK XOR KM
K2 = KASUMI [S2]SK XOR KM
KM = 0x55555555555555555555555555555555
여기서, KASUMI는 64비트 서브키와 128비트 가입자 키를 입력 받아 128비트의 출력을 생성하는 암호화 알고리즘을 나타낸다. 그리고, KASUMI 연산 데이터 K1과 K2는 각각 임의로 선택한 서브키 S1과 S2에 의해서 생성된 KASUMI 연산 데이터이다.
한편, 도 4에는 본 발명에 따른 카수미 유닛(30)이 보다 상세히 도시되어 있으며, 이하 그 동작 과정을 보다 상세히 설명한다.
우선, 도 4에 나타낸 바와 같이 입력되는 128비트 가입자 키(SK)와 128비트 상수 키(KM)를 제3 배타적 논리합 연산부(300)에서 배타적 논리합 연산을 수행하고, 상기와 같이 생성하고자 하는 암호화 키(CK) 또는 무결성 키(IK)의 종류에 따라 도 3에서 서브키 선택 유닛(20)에서 선택되어 입력되는 서브키(S1 또는 S2 중 어느 하나)와 상기 배타적 논리합 연산을 수행하여 얻어진 결과의 데이터를 제1 카수미부(301)에서 카수미 연산을 수행한다.
이후, 상기 제1 카수미부(301)와 연결된 능동형 레지스터(302)에 상기 제1 카수미부(301)에서 출력하는 출력 데이터가 저장되고, 그 저장된 데이터는 상기 능동형 레지스터(302)와 연결된 제4 배타적 논리합 연산부(303)로 출력된다.
한편, 상기 능동형 레지스터(302)는 상기 제1 카수미부(301)로부터 출력되는 데이터가 최초로 입력되는 경우 해당 입력 데이터를 저장함과 더불어 해당 입력 데이터를 바이패스시켜 출력하는 동작을 수행한다.
상기 제4 배타적 논리합 연산부(303)는 상기 능동형 레지스터(302)로부터 출력되는 출력 데이터와 블록 카운트(BLKCNT: Block Count) 데이터(0)에 대하여 배타적 논리합 연산을 수행한다.
또한, 상기 능동형 레지스터(302)와 연결된 제5 배타적 논리합 연산부(304)는 상기 능동형 레지스터(302)로부터 출력되는 출력 데이터와 블록 카운트 데이터(1)에 대하여 배타적 논리합 연산을 수행한다.
한편, 상기 제4 배타적 논리합 연산부(303)의 배타적 논리합 연산에 따른 결과 데이터는 상기 제4 배타적 논리합 연산부(303)와 연결된 제2 카수미부(306)로 출력된다.
상기 제2 카수미부(306)는 상기 제4 배타적 논리합 연산부(303)에서 출력된 데이터와 128비트 가입자 키(SK) 데이터에 대해 카수미 연산을 수행하여 카수미 연산 데이터 K1[0]...K1[63] 또는 K2[0]...K2[63]를 출력한다.
또한, 상기 제2 카수미부(306)의 카수미 연산에 따른 결과 데이터와 상기 제5 배타적 논리합 연산부(304)의 배타적 논리합 연산에 따른 결과 데이터가 제6 배타적 논리합 연산부(305)에서 배타적 논리합 연산되어 제3 카수미부(307)로 출력된다.
상기 제6 배타적 논리합 연산부(305)는 상기 제5 배타적 논리합 연산부(304)와 상기 제2 카수미부(306)와 연결되어 있다.
상기 제6 배타적 논리합 연산부(305)와 연결된 상기 제3 카수미부(307)는 상기 제6 배타적 논리합 연산부(305)에서 출력된 데이터와 128비트 가입자 키(SK) 데이터에 대해 카수미 연산을 수행하여 카수미 연산 데이터 K1[64]...K1[127] 또는 K2[64]...K2[127]를 출력한다.
즉, 상술한 바와 같이 카수미 유닛(30)은, 상기 서브키 선택 유닛(20)에서 선택된 상기 2개의 서브키(S1[0]...S1[63] 또는 S2[0]...S2[63]) 중 어느 하나와 입력되는 128비트 가입자 키(SK)를 통해 128비트의 카수미 연산 데이터(K1 또는 K2)를 생성하여 출력한다.
최종적으로, 상기 카수미 유닛(30)과 연결된 키 데이터 생성 유닛(40)에서는, 상기 카수미 유닛(30)에서 출력되는 128비트 카수미 연산 데이터(K1 또는 K2)와 입력되는 128비트 가입자 키(SK)를 제2 배타적 논리합 연산부(200)를 통해 배타 적 논리합 연산을 수행하여 출력되는 데이터를 통해 키 데이터 생성부(201)에서 128비트 암호화 키(CK) 또는 128비트 무결성 키(IK)를 생성하게 되는 것이다.
이를 수식으로 나타내면 다음과 같이 표시된다.
CK = K1 XOR SK 또는 CK = K2 XOR SK
IK = K2 XOR SK 또는 IK = K1 XOR SK
한편, 본 실시예에서는 도 3에 나타낸 바와 같이 도면의 간소화를 위해 본 발명의 장치에 의해 암호화 키(CK)와 무결성 키(IK)가 동시에 생성되는 것으로 나타나 있지만, 실제로 S1이 암호화 키(CK)를 생성하기 위한 서브키로 설정되고, S2가 무결성 키(IK)를 생성하기 위한 서브키로 설정되었을 경우에는, 서브키 선택 유닛(20)에서 서브키 S1을 선택한 후 상기의 과정을 진행함으로써 먼저 암호화 키(CK)를 생성하고, 그 이후 서브키 선택 유닛(20)에서 서브키 S2를 선택한 후 상기의 과정을 진행함으로써 무결성 키(IK)를 생성하게 된다.
만약, S1이 무결성 키(IK)를 생성하기 위한 서브키로 설정되고, S2가 암호화 키(CK)를 생성하기 위한 서브키로 설정되었을 경우에는, 서브키 선택 유닛(20)에서 서브키 S1을 선택한 후 상기의 과정을 진행함으로써 먼저 무결성 키(IK)를 생성하고, 그 이후 서브키 선택 유닛(20)에서 서브키 S2를 선택한 후 상기의 과정을 진행함으로써 암호화 키(CK)를 생성하게 되는 것이다.
즉, 본 발명에서는 상기와 같이 선택되는 서브키(S1 또는 S2)에 따라 암호화 키(CK) 또는 무결성 키(IK) 중 어느 하나를 먼저 생성하고, 이후 다시 한번 암호화 키(CK) 또는 무결성 키(IK) 중 또 다른 하나를 나중에 생성함으로써, 본 발명에서는 카수미 유닛(30)을 갖춘 키 생성 장치를 단지 2번만 수행함으로써 암호화 키(CK) 및 무결성 키(IK)를 생성할 수 있게 되는 것이다.
이상에서 본 발명은 기재된 구체적인 실시예에 대해서만 상세히 설명하였지만 본 발명의 기술 사상 범위 내에서 다양한 변형 및 수정이 가능함은 당업자에게 있어서 명백한 것이며, 이러한 변형 및 수정이 첨부된 특허청구범위에 속함은 당연한 것이다.
상술한 바와 같이 본 발명에 의하면, 비동기 이동 통신 시스템에서 3GPP 기술 규격에서 정의되고 제시된 파라미터들과 카수미 유닛에 의한 카수미 연산을 2번만 사용하여 암호화 키 및 무결성 키를 생성하도록 설계함으로써 단순하면서 효율적인 고속의 키 생성 장치를 구현할 수 있다.

Claims (12)

  1. 비동기식 이동 통신 시스템에서 사용하는 암호화 키 및 무결성 키를 생성하기 위한 장치에 있어서,
    입력되는 동일비트의 난수 입력 데이터와 가입자 키 데이터를 논리연산을 수행하여 산출된 데이터를 2개의 서브키로 분리하고, 생성하고자 하는 키의 종류에 따라 하나의 서브키를 선택하는 서브키 분리 및 선택 유닛;
    상기 선택된 서브키와 상기 가입자 키를 통해 설정된 비트의 카수미 연산 데이터를 생성하고, 상기 생성된 카수미 연산 데이터와 상기 가입자 키를 논리 연산하여 논리연산을 통해 산출된 데이터를 통해 설정된 비트의 암호화 키 또는 무결성 키를 생성하는 카수미 및 키 데이터 생성 유닛을 포함하여 이루어진 것을 특징으로 하는 암호화 키 및 무결성 키 생성 장치.
  2. 비동기식 이동 통신 시스템에서 사용하는 암호화 키 및 무결성 키를 생성하기 위한 장치에 있어서,
    입력되는 128비트 난수 입력 데이터와 128비트 가입자 키 데이터에 대해 제1 배타적 논리합 연산부를 통해 배타적 논리합 연산을 수행하고, 이 배타적 논리합 연산에 따른 결과 데이터를 서브키 분리부를 통해 2개의 서브키로 분리하는 서브키 분리 유닛과;
    상기 서브키 분리 유닛과 연결되며, 생성하고자 하는 키의 종류에 따라 상기 서브키 분리 유닛에서 출력된 상기 2개의 서브키 중 어느 하나를 선택하는 서브키 선택 유닛;
    상기 서브키 선택 유닛과 연결되며, 상기 서브키 선택 유닛에서 선택되어 출력된 상기 2개의 서브키 중 어느 하나와 128비트 가입자 키를 통해 128비트 카수미 연산 데이터를 생성하는 카수미 유닛; 및
    상기 카수미 유닛과 연결되며, 상기 카수미 유닛에서 출력되는 128비트 카수미 연산 데이터와 128비트 가입자 키에 대해 제2 배타적 논리합 연산부를 통해 배타적 논리합 연산을 수행하고, 이 배타적 논리합 연산에 따른 결과 데이터를 키 데이터 생성부를 통해 128비트의 암호화 키 또는 무결성 키를 생성하는 키 데이터 생성 유닛을 구비하여 구성된 것을 특징으로 하는 암호화 키 및 무결성 키 생성 장치.
  3. 제2항에 있어서,
    상기 서브키 분리 유닛으로부터 분리되는 2개의 서브키는 각각 64비트인 것을 특징으로 하는 암호화 키 및 무결성 키 생성 장치.
  4. 제2항에 있어서,
    상기 선택되는 서브키에 따라 상기 암호화 키 또는 무결성 키 중 어느 하나를 먼저 생성하고, 상기 암호화 키 또는 무결성 키 중 또 다른 하나를 나중에 생성하도록 이루어진 것을 특징으로 하는 암호화 키 및 무결성 키 생성 장치.
  5. 제2항에 있어서,
    상기 카수미 유닛은,
    상기 입력되는 128비트 가입자 키와 128비트 상수 키에 대해 배타적 논리합 연산을 수행하는 제3 배타적 논리합 연산부와;
    상기 서브키 선택 유닛에서 선택되어 입력되는 2개의 서브키 중 어느 하나와 상기 제3 배타적 논리합 연산부를 통해 배타적 논리합 연산을 수행하여 얻어진 결과의 데이터에 대해 카수미 연산을 수행하는 제1 카수미부;
    상기 제1 카수미부와 연결되며, 상기 제1 카수미부에서 출력하는 데이터가 저장됨과 더불어 해당 데이터를 출력하는 능동형 레지스터;
    상기 능동형 레지스터와 연결되며, 상기 능동형 레지스터로부터 출력되는 데이터와 제1 블록 카운트 데이터에 대해 배타적 논리합 연산을 수행하는 제4 배타적 논리합 연산부; 및
    상기 제4 배타적 논리합 연산부와 연결되며, 상기 제4 배타적 논리합 연산부에서 출력된 데이터와 128비트 가입자 키 데이터에 대해 카수미 연산을 수행하여 카수미 연산 데이터를 생성하는 제2 카수미부를 구비한 것을 특징으로 하는 암호화 키 및 무결성 키 생성 장치.
  6. 제5항에 있어서,
    상기 카수미 유닛은,
    상기 능동형 레지스터와 연결되며, 상기 능동형 레지스터로부터 출력되는 출력 데이터와 제2 블록 카운트 데이터에 대해 배타적 논리합 연산을 수행하는 제5 배타적 논리합 연산부와;
    상기 제2 카수미부 및 제5 배타적 논리합 연산부와 연결되며, 상기 제2 카수미부 및 제5 배타적 논리합 연산부로부터 출력되는 데이터에 대해 배타적 논리합 연산을 수행하는 제6 배타적 논리합 연산부; 및
    상기 제6 배타적 논리합 연산부와 연결되며, 상기 제6 배타적 논리합 연산부에서 출력된 데이터와 128비트 가입자 키 데이터에 대해 카수미 연산을 수행하여 카수미 연산 데이터를 생성하는 제3 카수미부를 더 구비한 것을 특징으로 하는 암호화 키 및 무결성 키 생성 장치.
  7. 비동기식 이동 통신 시스템에서 사용하는 암호화 키 및 무결성 키를 생성하기 위한 방법에 있어서,
    입력되는 동일비트의 난수 입력 데이터와 가입자 키 데이터를 논리연산을 수 행하여 산출된 데이터를 2개의 서브키로 분리하고, 생성하고자 하는 키의 종류에 따라 하나의 서브키를 선택하는 단계; 및
    상기 선택된 서브키와 상기 가입자 키를 통해 설정된 비트의 카수미 연산 데이터를 생성하고, 상기 생성된 카수미 연산 데이터와 상기 가입자 키를 논리 연산하여 논리연산을 통해 산출된 데이터를 통해 설정된 비트의 암호화 키 또는 무결성 키를 생성하는 단계를 포함하여 이루어진 것을 특징으로 하는 암호화 키 및 무결성 키 생성 방법.
  8. 비동기식 이동 통신 시스템에서 사용하는 암호화 키 및 무결성 키를 생성하기 위한 방법에 있어서,
    입력되는 128비트 난수 입력 데이터와 128비트 가입자 키 데이터에 대해 배타적 논리합 연산을 수행하는 제1 배타적 논리합 연산 단계와;
    상기 제1 배타적 논리합 연산 단계에서 산출된 데이터를 2개의 서브키로 분리하는 단계;
    생성하고자 하는 키의 종류에 따라 상기 2개의 서브키 중 어느 하나를 선택하는 단계;
    상기 선택된 서브키와 128비트 가입자 키를 통해 128비트 카수미 연산 데이터를 생성하는 단계;
    생성되는 128비트 카수미 연산 데이터와 128비트 가입자 키에 대해 제2 배타적 논리합 연산부를 통해 배타적 논리합 연산을 수행하는 제2 배타적 논리합 연산 단계; 및
    상기 제2 배타적 논리합 연산 단계에서 산출된 데이터를 통해 128비트의 암호화 키 또는 무결성 키를 생성하는 단계를 포함하여 이루어진 것을 특징으로 하는 암호화 키 및 무결성 키 생성 방법.
  9. 제8항에 있어서,
    상기 제1 배타적 논리합 연산 단계에서 산출된 데이터를 2개의 서브키로 분리하는 단계에서 분리되는 2개의 서브키는 각각 64비트인 것을 특징으로 하는 암호화 키 및 무결성 키 생성 방법.
  10. 제8항에 있어서,
    상기 선택되는 서브키에 따라 상기 암호화 키 또는 무결성 키 중 어느 하나를 먼저 생성하고, 상기 암호화 키 또는 무결성 키 중 또 다른 하나를 나중에 생성하는 것을 특징으로 하는 암호화 키 및 무결성 키 생성 방법.
  11. 제8항에 있어서,
    상기 카수미 연산 데이터 생성 단계는,
    상기 입력되는 128비트 가입자 키와 128비트 상수 키에 대해 배타적 논리합 연산을 수행하는 제3 배타적 논리합 연산 단계와;
    상기 2개의 서브키 중 어느 하나와 상기 제3 배타적 논리합 연산 단계에서 산출된 데이터에 대해 카수미 연산을 수행하는 제1 카수미 연산 단계;
    상기 제1 카수미 연산 단계에서 산출된 데이터를 능동형 레지스터에 저장함과 더불어 출력하는 단계;
    상기 능동형 레지스터로부터 출력되는 데이터와 제1 블록 카운트 데이터에 대해 배타적 논리합 연산을 수행하는 제4 배타적 논리합 연산 단계; 및
    상기 제4 배타적 논리합 연산 단계에서 산출된 데이터와 128비트 가입자 키 데이터에 대해 카수미 연산을 수행하여 카수미 연산 데이터를 생성하는 제2 카수미연산 단계를 포함한 것을 특징으로 하는 암호화 키 및 무결성 키 생성 방법.
  12. 제11항에 있어서,
    상기 카수미 연산 데이터 생성 단계는,
    상기 능동형 레지스터로부터 출력되는 데이터와 제2 블록 카운트 데이터에 대해 배타적 논리합 연산을 수행하는 제5 배타적 논리합 연산 단계와;
    상기 제2 카수미 연산 단계 및 제5 배타적 논리합 연산 단계로부터 산출되는 데이터에 대해 배타적 논리합 연산을 수행하는 제6 배타적 논리합 연산 단계; 및
    상기 제6 배타적 논리합 연산 단계에서 산출된 데이터와 128비트 가입자 키 데이터에 대해 카수미 연산을 수행하여 카수미 연산 데이터를 생성하는 제3 카수미 연산 단계를 더 포함한 것을 특징으로 하는 암호화 키 및 무결성 키 생성 방법.
KR1020070029897A 2007-03-27 2007-03-27 통신 시스템의 암호화 키 및 무결성 키 생성 장치 및 방법 KR100875740B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070029897A KR100875740B1 (ko) 2007-03-27 2007-03-27 통신 시스템의 암호화 키 및 무결성 키 생성 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070029897A KR100875740B1 (ko) 2007-03-27 2007-03-27 통신 시스템의 암호화 키 및 무결성 키 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080087529A KR20080087529A (ko) 2008-10-01
KR100875740B1 true KR100875740B1 (ko) 2008-12-24

Family

ID=40150170

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070029897A KR100875740B1 (ko) 2007-03-27 2007-03-27 통신 시스템의 암호화 키 및 무결성 키 생성 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100875740B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102023526B1 (ko) * 2012-10-29 2019-09-20 아이디 퀀티크 에스.에이. 양자 키 분배 시스템에서 생성된 비밀키의 안전성을 높이는 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004205694A (ja) 2002-12-24 2004-07-22 Sony Ericsson Mobilecommunications Japan Inc 暗号処理装置及び方法
WO2005109738A1 (en) 2004-04-27 2005-11-17 Intel Corporation Apparatus and method for implementing the kasumi ciphering process
US20060039553A1 (en) 2004-08-23 2006-02-23 Ruei-Shiang Suen Method and system for implementing the A5/3 encryption algorithm for GSM and EDGE compliant handsets

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004205694A (ja) 2002-12-24 2004-07-22 Sony Ericsson Mobilecommunications Japan Inc 暗号処理装置及び方法
WO2005109738A1 (en) 2004-04-27 2005-11-17 Intel Corporation Apparatus and method for implementing the kasumi ciphering process
US20060039553A1 (en) 2004-08-23 2006-02-23 Ruei-Shiang Suen Method and system for implementing the A5/3 encryption algorithm for GSM and EDGE compliant handsets

Also Published As

Publication number Publication date
KR20080087529A (ko) 2008-10-01

Similar Documents

Publication Publication Date Title
KR102609221B1 (ko) 카운터 기반의 암호 시스템들에서 개선된 인증형 암호화를 위한 방법들 및 시스템들
KR101809386B1 (ko) 인증 암호 장치, 인증 암호 방법 및 컴퓨터 판독가능한 기록 매체
Reyad et al. Key-based enhancement of data encryption standard for text security
Karale et al. The survey of various techniques & algorithms for SMS security
KR100848318B1 (ko) 이동통신 시스템에서 사용자 비밀키 생성방법 및 그 장치
KR100875740B1 (ko) 통신 시스템의 암호화 키 및 무결성 키 생성 장치 및 방법
Solanki et al. LTE security: encryption algorithm enhancements
CN116132016A (zh) 一种密码算法的加性扩展实现方法
JP4395527B2 (ja) 情報処理装置
Kadry et al. An improvement of RC4 cipher using vigenère cipher
KR19980083221A (ko) N-라운드 라운드 출력문 귀한 블록 암호화/복호화 방법
CN108616351B (zh) 一种全动态加密解密方法及加密解密装置
El Bakry et al. Implementation of a hybrid encryption scheme for sms/multimedia messages on android
KR20030027459A (ko) 무선랜에서 송수신되는 패킷의 암호화 및 복호화 방법
US11838424B2 (en) Authenticated encryption apparatus with initialization-vector misuse resistance and method therefor
KR100933312B1 (ko) 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및이를 수행하기 위한 시스템
Wahab et al. Improvement A5/1 encryption algorithm based on sponge techniques
JP2000004223A (ja) 暗号・認証システム
Malla et al. A novel encryption scheme for secure SMS communication
Akgün et al. Comparison of encryption algorithms strength used in 3G mobile communication
Pathak et al. Towards the Proposal of Mobile Security Encryption Algorithm:“RHINO256”
EP4123956A1 (en) Method for securely transferring data elements values
Kim et al. Application of ESA in the CAVE Mode Authentication
KR100416233B1 (ko) Imt-2000 시스템의 f8 암호화 알고리즘과 f9 무결성검증 알고리즘을 위한 암호화 장치
KR101616717B1 (ko) 버냄 사이퍼 암호 알고리즘을 이용한 암복호화 서비스 제공 방법 및 시스템

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161129

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20171129

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee