KR100842261B1 - Cdma 방식의 이동통신 시스템을 위한 해쉬 알고리즘을이용한 데이터생성방법 - Google Patents

Cdma 방식의 이동통신 시스템을 위한 해쉬 알고리즘을이용한 데이터생성방법 Download PDF

Info

Publication number
KR100842261B1
KR100842261B1 KR1020060110169A KR20060110169A KR100842261B1 KR 100842261 B1 KR100842261 B1 KR 100842261B1 KR 1020060110169 A KR1020060110169 A KR 1020060110169A KR 20060110169 A KR20060110169 A KR 20060110169A KR 100842261 B1 KR100842261 B1 KR 100842261B1
Authority
KR
South Korea
Prior art keywords
value
bits
hash
hash function
authentication
Prior art date
Application number
KR1020060110169A
Other languages
English (en)
Other versions
KR20080041930A (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 KR1020060110169A priority Critical patent/KR100842261B1/ko
Publication of KR20080041930A publication Critical patent/KR20080041930A/ko
Application granted granted Critical
Publication of KR100842261B1 publication Critical patent/KR100842261B1/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

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

Abstract

본 발명에 의한 해쉬 알고리즘을 이용한 데이터생성방법은 단말기 고유번호값(ESN) 및 단말기 전화번호(MIN) 중 적어도 어느 하나를 기초로 생성된 복수개의 입력값을 해쉬함수에 입력하여 소정의 비트수를 가지는 해쉬값을 출력하는 해쉬알고리즘수행단계, 출력된 해쉬값의 비트수와 동일한 차수를 가지는 다항식을 이용하여 출력된 해쉬값과 동일한 비트수의 치환된 치환값을 얻는 치환단계, 치환값의 전부 또는 일부를 복수개의 입력값 중 적어도 어느 하나의 입력값으로 입력하여 다시 치환값을 얻거나 치환값의 일부 또는 전부를 데이터로 출력하는 출력단계를 포함한다. 본 발명에 의하면 다양한 종류의 해쉬함수를 이용하여 수많은 경우의 수를 가지는 데이터(공유비밀데이터, 인증값, 음성비화코드 및 시그널링 메시지 암호화키)를 얻을 수 있다.

Description

CDMA 방식의 이동통신 시스템을 위한 해쉬 알고리즘을 이용한 데이터생성방법{Data generating method using hash algorithm}
도 1은 본 발명의 바람직한 일 실시예에 의한 해쉬 알고리즘을 이용한 데이터생성방법의 흐름이다.
도 2는 본 발명의 바람직한 일 실시예에 의한 공유비밀데이터 생성을 위한 입력값의 구성이다.
도 3은 본 발명의 바람직한 일 실시예에 의한 공유비밀데이터 생성방법의 흐름이다.
도 4는 본 발명의 바람직한 일 실시예에 의한 인증값 생성을 위한 입력값의 구성이다.
도 5는 본 발명의 바람직한 일 실시예에 의한 인증값 생성방법의 흐름이다.
도 6은 본 발명의 바람직한 일 실시예에 의한 음성비화코드 및 시그널링 메시지 암호화키 생성을 위한 입력값의 구성이다.
도 7은 본 발명의 바람직한 일 실시예에 의한 음성비화코드 및 시그널링 메시지 암호화키 생성방법의 흐름이다.
본 발명은 해쉬알고리즘을 이용한 데이터생성방법에 관한 것으로서, 보다 상세하게는 CDMA(Code Division Multiple Access: 코드분할다중접속)방식 이동통신 시스템을 위한 해쉬 알고리즘(Hash Algorithm)을 이용한 데이터생성방법에 관한 것이다.
CDMA 방식 이동통신 시스템에서는 IS-95-B/C와 cdma2000 1x Rev.B 이전 시스템에서는 CAVE(Cellular Authentication and Voice Encryption) 알고리즘을 이용한 사용자 인증 서비스를 적용하고, cdma2000 Rev.C 이후에서는 CAVE 적용방법과 강화된 가입자 인증방법인 ESA(Enhanced Subscriber Algorithm)를 병행해서 사용한다.
CAVE를 이용한 인증방식에서는 공유비밀데이터(SSD:Shared Secret Data)와 단말기 및 시스템 정보를 입력하여 CAVE알고리즘을 사용하여 인증서명값을 생성하여 이값을 비교하여 단말기와 망사이의 인증절차가 이루어진다.
공유비밀데이터(SSD)는 가입자가 처음 가입할 때 주어지는 고유의 비밀키로부터 유도되며 128 비트로 구성되는데, 이 중 64비트는 인증 알고리즘에 사용되고 나머지 64비트는 음성 비화와 메시지 암호화에 사용된다. 또한, 음성비화와 메시지 암호화에 사용되는 공유비밀데이터와 CAVE 알고리즘을 이용하여 음성비화에 사용되는 코드와 시그널링 메시지 암호화 키를 생성한다.
하지만, 컴퓨터 계산능력의 향상으로 암호 알고리즘에서 요구되는 키 길이는 갈수록 길어지고 있다. 그래서 기존의 짧은 키(56비트)를 사용하는 알고리즘을 더 긴 길이(128 비트 이상)의 키를 가지고 안전성과 효율성이 개선된 암호 알고리즘으 로 대체하고 있다.
이러한 이유로 3GPP(3rd Generation Partnership Project)라는 표준화 단체는 인증를 위해 AES(Advanced Encryption Standard )알고리즘을 권고하고, IS-95, CDMA2000 1x 등의 CDMA 방식 시스템 표준화에 관한 단체인 3GPP2는 향상된 컴퓨팅 능력을 감안하여 안전성과 효율성이 강화된 ESA(Enhanced Subscriber Algorithm)에 사용되는 핵심알고리즘으로 해쉬 알고리즘인 SHA-1을 사용할 것을 권고한다. 이처럼, 앞으로 인증 알고리즘에는 CAVE보다는 컴퓨팅 능력을 감안하여 안전성과 효율성이 강화 된 SHA-1, HAS-160, RMD160 등의 해쉬함수나 AES 같은 블록암호가 널리 이용되리라 예상된다.
본 발명이 이루고자 하는 기술적 과제는 이동통신 단말기와 인증센터에서 단말기 고유의 인증키값(A-Key), 단말기 고유번호값(ESN:Electronic Serial Number) 및 이동통신시스템에서 생성된 난수(RANDSSN:Random Shared Secret Data)를 이용하여 공유비밀데이터 생성을 위한 입력값을 구성하여 해쉬함수를 이용하여 인증용 공유비밀데이터(SSD_A) 및 암호용 공유비밀데이터(SSD_B)를 생성하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는 이동통신 단말기와 인증센터에서 인증용 공유비밀데이터(SSD_A), 단말기 고유번호값(ESN), 단말기 전화번호(MIN:Mobile Identification Number) 및 이동통신시스템의 인증센터에서 수신한 액세스 파라미터 메시지(Access Parameter Message)의 특정필드값(RAND:Random number)를 이용하여 인증값 생성을 위한 입력값을 구성하여 인증값용 입력값과 해 쉬함수를 사용하여 인증값을 생성하는 것이다.
본 발명이 이루고자 하는 또 다른 기술적 과제는 이동통신 단말기와 인증센터에서 암호용 공유비밀데이터(SSD_B), 단말기 고유번호값(ESN) 및 단말기 전화번호(MIN)를 이용하여 음성비화코드 및 시그널링 메시지 암호화키 생성을 위한 암호화키용 입력값을 구성하고 암호화키용 입력값과 해쉬함수를 이용하여 음성비화코드 및 시그널링 메시지 암호화키를 생성하는 것이다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 CDMA 방식 이동통신 시스템을 위한 해쉬 알고리즘을 이용한 데이터생성방법은 단말기 고유번호값(ESN) 및 단말기 전화번호(MIN) 중 적어도 어느 하나를 기초로 생성된 복수개의 입력값을 해쉬함수에 입력하여 소정의 비트수를 가지는 해쉬값을 출력하는 해쉬알고리즘수행단계, 출력된 해쉬값의 비트수와 동일한 차수를 가지는 다항식을 이용하여 상기 출력된 해쉬값과 동일한 비트수의 치환된 치환값을 얻는 치환단계 및 치환값의 전부 또는 일부를 복수개의 입력값 중 적어도 어느 하나의 입력값으로 입력하여 다시 치환값을 얻거나 치환값의 일부 또는 전부를 데이터로 출력하는 출력단계를 포함한다.
보다 상세하게는 상기 기술적 과제를 이루기 위한 본 발명에 의한 CDMA 방식 이동통신 시스템을 위한 해쉬 알고리즘을 이용한 데이터생성방법은 단말기 고유번호값(ESN) 및 이동통신시스템의 인증센터에서 생성된 난수값(RANDSSN) 중 적어도 어느 하나를 기초로 생성된 공유비밀데이터(SSD)용 제1입력값 및 상기 단말기 고유의 인증키값(A-key)을 기초로 생성된 공유비밀데이터(SSD)용 제2입력값을 포함하는 복수개의 입력값을 해쉬함수에 입력하여 소정의 비트수를 가지는 공유비밀데이터(SSD)용 해쉬값을 출력하는 해쉬알고리즘수행단계, 출력된 공유비밀데이터(SSD)용 해쉬값의 비트수와 동일한 차수를 가지는 다항식을 이용하여 출력된 공유비밀데이터(SSD)용 해쉬값과 동일한 비트수의 치환된 공유비밀데이터(SSD)용 치환값을 얻는 치환단계 및 공유비밀데이터(SSD)용 치환값을 이용하여 공유비밀데이터(SSD)용 치환값의 일부는 인증용 공유비밀테이터로, 공유비밀데이터용 치환값의 다른 일부는 암호용 공유비밀데이터로 출력하는 출력단계를 포함한다.
보다 상세하게는 상기 기술적 과제를 이루기 위한 본 발명에 의한 CDMA 방식 이동통신 시스템을 위한 해쉬 알고리즘을 이용한 데이터생성방법은 단말기 고유번호값(ESN) 및 이동통신시스템의 인증센터에서 수신한 액세스 파라미터 메시지(Access Parameter Message)의 특정 필드값 중 적어도 어느 하나를 기초로 생성된 인증값용 제1입력값 및 상기 단말기 고유의 인증키값(A-key)을 기초로 생성된 인증값용 제2입력값을 포함하는 복수개의 입력값을 해쉬함수에 입력하여 소정의 비트수를 가지는 인증값용 해쉬값을 출력하는 해쉬알고리즘수행단계, 출력된 인증값용 해쉬값의 비트수와 동일한 차수를 가지는 다항식을 이용하여 출력된 인증값용 해쉬값과 동일한 비트수의 치환된 인증값용 치환값을 얻는 치환단계 및 인증값용 치환값의 일부를 인증값으로 출력하는 출력단계를 포함한다.
보다 상세하게는 상기 기술적 과제를 이루기 위한 본 발명에 의한 CDMA 방식 이동통신 시스템을 위한 해쉬 알고리즘을 이용한 데이터생성방법은 단말기 고유번호값(ESN) 및 상기 단말기 전화번호(MIN)값 중 적어도 어느 하나를 기초로 생성된 암호화키용 제1입력값 및 해쉬함수를 이용하여 생성한 암호용 공유비밀테이터를 기초로 생성된 암호화키용 제2입력값을 포함하는 복수개의 입력값을 해쉬함수에 입력하여 소정의 비트수를 가지는 암호화키용 해쉬값을 출력하는 해쉬알고리즘수행단계, 출력된 암호화키용 해쉬값의 비트수와 동일한 차수를 가지는 다항식을 이용하여 출력된 암호화키용 해쉬값과 동일한 비트수의 치환된 암호화키용 치환값을 얻는 치환단계 및 암호화키용 치환값의 일부는 음성비화코드로, 상기 공유비밀데이터용 치환값의 다른 일부는 시그널링 메시지 암호화키로 출력하는 출력단계를 포함한다.
본 명세서에서는 해쉬 알고리즘을 512 비트 블록 크기와 160 비트 출력을 가지는 SHA1, HAS160, RMD160 등을 사용하였다. 하지만, 본 발명은 입력값 설정방법과 결과값 출력방식에 따라서 SHA512, MD5 등 다양한 종류의 해쉬함수에 적용이 가능하다.
또한 본 명세서에서는 160비트 결과중 하위비트를 선택하여 원하는 데이터(공유비밀데이터, 인증값, 음성비화코드 및 시그널링 메시지 암호화키)를 출력하였다. 하지만, 본 발명에 의하면 다른 위치의 특정비트를 선택하여 다양한 데이터를 얻을 수 있다.
도 1은 본 발명의 바람직한 일 실시예에 의한 해쉬 알고리즘을 이용한 암호생성방법의 흐름이다. 도 1은 본 발명에서 제안하는 CDMA 방식 이동통신 시스템에서 해쉬 알고리즘을 이용한 데이터생성방법에 관한 기본적인 흐름을 보여준다. 도 1을 참조하면, 본 발명에 의한 데이터생성방법은 해쉬알고리즘수행단계(S110), 치환단계(S120) 및 출력단계(S130)을 포함한다.
해쉬알고리즘수행단계(S110)에서는 단말기 고유번호값(ESN) 및 단말기 전화번호(MIN) 중 적어도 어느 하나를 기초로 생성된 복수개의 입력값을 해쉬함수에 입력하여 소정의 비트수를 가지는 해쉬값을 출력한다. 예를 들어 상세히 설명하면 다음과 같다.
우선, 제1입력값(512 비트) 및 제2입력값(160 비트)를 해쉬알고리즘수행단계(S110)에 입력한다. 본 발명에 의한 공유비밀데이터 생성을 위한 공유비밀데이터용 제1입력값 및 제2입력값의 구성은 도 2에서, 인증값 생성을 위한 인증값용 제1입력값 및 제2입력값의 구성을 도 4에서, 그리고, 음성비화코드 및 시그널링 메시지 생성을 위한 암호화키용 제1입력값 및 제2입력값의 구성은 도 6에서 상세히 설명하도록 한다.
또한, 제1입력값(512 비트) 및 제2입력값(160 비트)은 512비트 또는 160비트와 다른 크기를 가지는 것도 가능하다. 본 발명에 의하면, 도 2, 도 4, 도 6과 유사한 구성으로 제1입력값과 제2입력값을 다양한 크기로 생성할 수 있다.
본 발명의 일실시예에 의하여 해쉬 알고리즘은 SHA1, HAS160, RMD160 등의 512 비트 블록, 160 비트 출력을 갖는 해쉬함수를 사용한다. 제1입력값과 제2입력값을 해쉬함수에 입력하여 출력값(160비트)를 얻는다.
제1입력값과 제2입력값은 다양한 종류의 크기를 가질 수 있으며, 이에 따라 다양한 크기의 블록과 출력값을 가지는 해쉬함수를 적용할 수 있다.
치환단계(S120)에서는 출력된 해쉬값의 비트수와 동일한 차수를 가지는 다항식을 이용하여 출력된 해쉬값과 동일한 비트수의 치환된 치환값을 얻는다. 이를 상 세히 설명하면 다음과 같다.
해쉬함수를 수행하여 얻은 결과값(160 비트)을 치환부(120)에 입력하여 치환된 새로운 치환값(160 비트, 이하 "치환값"이라 한다.)을 획득하기 위하여, 본 발명의 일 실시예에 의하여 다항식
Figure 112006081880746-pat00001
를 사용하였다.
여기서 A, B는 미리 결정된 160비트 난수로 변수 T로 이진 계수를 가지는 다항식으로 한다. X는 해쉬함수 수행으로 얻은 160비트 출력값으로 변수 T로 이진 계수를 가진 다항식으로 한다.
그리고,
Figure 112006081880746-pat00002
인 다항식이며 160차수를 갖는 어떤 기약다항식의 사용도 가능하다. 다항식은 3GPP2(3rd Generation Partnership Project 2)라는 표준화 단체에서 제시하는 다항식을 사용할 수 있다.
출력단계(S130)에서는 치환값의 전부 또는 일부를 복수개의 입력값 중 적어도 어느 하나의 입력값으로 입력하여 다시 치환값을 얻거나 치환값의 일부 또는 전부를 암호로 출력한다.
치환값은 출력단계(S130)를 통하여 실제로 사용하는 데이터(공유비밀데이터, 인증값, 음성비화코드 및 시그널링 메시지 암호화키)로 출력된다. 출력단계(S130)를 통한 암호값 출력시에는 치환값의 특정비트부분만이 데이터로 출력되게 된다.
출력단계(S130)는 특정비트부분을 암호값으로 출력하고 제 1입력값을 치환값의 특정부분으로 구성된 제3입력값으로 변경하여 단계 다시 동일한 과정을 거쳐 원하는 데이터를 얻을 수도 있다.
출력단계(S130)에서의 구체적인 데이터 출력에 관하여는, 공유비밀데이터 생성에 관한 것은 도 3에서, 인증값 생성에 관한 것은 도 5에서, 음성비화코드 및 시그널링 메시지 생성을 위한 암호화키 생성에 관해서는 도7에서 상세히 설명한다.
이하, 도 2, 도4 및 도 6에서 도 1을 기초로 하는 공유비밀데이터, 인증값 및 암호화키 생성을 위한 입력값의 구성에 관하여, 도 3, 도 5 및 도 7에서 공유비밀데이터, 인증값 및 암호화키 생성방법의 흐름에 관하여 상세히 설명한다.
도 2는 본 발명의 바람직한 일 실시예에 의한 공유비밀데이터 생성을 위한 입력값의 구성이다. 즉, 도 2는 이동통신 단말과 인증센터에서 공유비밀데이터(인증용 공유비밀데이터 및 암호용 공유비밀데이터)생성을 위한 입력 데이터(공유비밀데이터용 제1입력값 및 공유비밀데이터용 제2입력값)의 구성을 보여준다. 도 2에서 생성된 입력값과 해쉬 알고리즘을 이용하여 인증용 공유비밀데이터와 암호용 공유비밀데이터를 생성하는 방법은 아래의 도 3에서 설명하도록 한다.
도 2를 참조하면, 공유비밀데이터용 제1입력값(512비트)은 16개의 워드로 구성되고 공유비밀데이터용 제2입력값(160비트)은 5개의 워드로 구성된다. 각 워드는 32비트이다. 이하, 공유비밀데이터용 제1입력값의 구성에 대해 설명한다.
우선, 공유비밀데이터용 제1입력값의 첫번째 워드는 인덱스와 해쉬함수 상수값을 Exclusive OR해서 설정한다. 여기서 인덱스(index)는 크기가 32비트이고 초기값은 0이며 해쉬 알고리즘을 한번 수행하면 1씩 증가한다. 해쉬함수 상수값은 32비트로 어떠한 값이라고 사용할 수 있으며 SHA1 해쉬함수를 사용할 경우에는 0x5C5C5C5C로 한다.
공유비밀데이터용 제1입력값의 두번째 워드는 단말기 고유번호값(ESN:Electronic Serial Number)과 해쉬함수의 상수값을 Exclusive OR해서 설정한다. 여기서, 단말기 고유번호값(ESN)은 CDMA 방식 이동통신 단말기마다 유일하게 할당되는 고유의 일련번호인 32비트값이다.
공유비밀데이터용 제1입력값의 세번째 워드는 RANDSSD(Random Shared Secret Dats)의 첫번째 워드와 해쉬함수 상수값을 Exclusive OR해서 설정한다. RANDSSD는 인증센터에서 생성된 56비트 난수를 단말기가 수신해서 하위 8비트를 0으로 채워서 구성된 64비트 값이다.
공유비밀데이터용 제1입력값의 네번째 워드는 RANDSSD의 두번째 워드와 해쉬함수 상수값을 Exclusive OR해서 설정한다.
공유비밀데이터용 제1입력값의 다섯번째 워드에서부터 열여섯번째 워드는 해쉬함수 상수값으로 설정한다.
도 2를 참고하면, 공유비밀데이터용 제2입력값(160비트)의 구성은 다음과 같다. 공유비밀데이터용 제2입력값의 첫번째 워드는 단말기 고유의 인증키값(A_Key)의 첫번째 워드와 해쉬함수 초기벡터의 첫번째 워드를 Exclusive OR해서 설정한다.
여기서 인증키값(A_Key)는 CDMA 방식 이동통신 시스템에 처음 가입할 때 단말기에 주어지는 고유의 비밀키로 64비트이며 두개의 워드로 구성된다. 해쉬함수의 초기벡터는 해쉬함수 고유의 160비트 초기벡터를 사용하며 5개의 워드로 구성된다.
공유비밀데이터용 제2입력값의 두번째 워드는 단말기 고유의 인증키값(A_Key)의 두번째 워드와 해쉬함수 초기벡터의 두번째 워드를 Exclusive OR해서 설정한다.
공유비밀데이터용 제2입력값의 세번째 워드는 해쉬함수의 초기벡터의 세번째워드, 네번째 워드는 해쉬함수의 초기벡터의 네번째 워드, 다섯번째 워드는 해쉬함수의 초기벡터의 다섯번째 워드로 설정한다.
도 3은 본 발명의 바람직한 일 실시예에 의한 공유비밀데이터 생성방법의 흐름이다. 즉, 도 3은 도 2에서 생성된 공유비밀데이터용 제1입력값 및 공유비밀데이터용 제2입력값을 바탕으로 인증용 공유비밀데이터와 암호용 공유비밀데이터를 생성하는 방법이다.
우선, 공유비밀데이터용 제1입력값 및 공유비밀데이터용 제2입력값을 해쉬함수에 입력한다(S310). 공유비밀데이터용 제3입력값은 인덱스이며 처음에 0으로 설정되어 공유비밀데이터용 제1입력값의 일부분을 구성한다.
해쉬함수를 수행한 결과인 160 비트의 결과값을 다항식
Figure 112006081880746-pat00003
의 X 값으로 다시 입력하여 새로운 160비트의 공유비밀데이터용 치환값을 출력한다(S320).
여기서 A, B는 미리 결정된 160비트 난수로 변수 T로 이진 계수를 가지는 다항식으로 한다. X는 해쉬함수 수행으로 얻은 160비트 출력값으로 변수 T로 이진 계수를 가진 다항식으로 한다.
공유비밀데이터용 치환값은 다음의 두가지 방법 중 하나를 통하여 인증용 공유비밀데이터(SSD_A) 및 암호용 공유비밀데이터(SSD_B)로 출력된다(S330).
첫째, 공유비밀데이터용 치환값의 160 비트중 하위 128비트만 선택해서 최하 위 64비트를 인증용 공유비밀데이터(SSD_A)로 설정하고 그 다음 하위 64비트를 암호용 공유비밀데이터(SSD_B)로 설정한다.
둘째, 공유비밀데이터용 치환값의 160비트중 최하위 64비트를 인증용 공유비밀데이터(SSD_A)로 설정하고 인덱스를 1 증가시키고 공유비밀데이터용 제1입력값의 특정부분을 증가된 인덱스로 변경하여 새로운 공유비밀데이터용 제1입력값 설정한다. 이후, 새로운 공유비밀데이터용 제1입력값을 입력하여 상기과정과 동일한 과정을 다시 한번 수행한 후, 새로히 생성된 공유비밀데이터용 치환값의 160비트 중 최하위 64비트를 암호용 공유비밀데이터(SSD_B)로 설정한다.
도 4는 본 발명의 바람직한 일 실시예에 의한 인증값 생성을 위한 입력값의 구성이다. 즉, 도 4는 이동통신 단말과 인증센터에서 인증값 생성을 위한 입력데이터(인증값용 제1입력값 및 인증값용 제2입력값)의 구성을 보여준다. 도 4에서 생성된 입력값과 해쉬 알고리즘을 이용하여 인증값을 생성하는 방법은 아래의 도 5에서 설명하도록 한다.
도 4를 참조하면, 인증값용 제1입력값(512비트)은 16개의 워드로 구성되고 인증값용 제2입력값(160비트)은 5개의 워드로 구성된다. 각 워드는 32비트이다.
인증값용 제1입력값의 첫번째 워드는 해쉬함수의 상수값으로 설정한다. 해쉬함수 상수값은 32비트로 어떠한 값이라고 사용할 수 있으며 SHA1 해쉬함수를 사용할 경우에는 0x5C5C5C5C로 한다.
인증값용 제1입력값의 두번째 워드는 단말기 고유번호값(ESN)과 해쉬함수 상수값을 Exclusive OR해서 설정한다. 여기서 단말기 고유번호값(ESN)은 CDMA 방식 이동통신 단말기마다 유일하게 할당되는 고유의 일련번호인 32비트값이다.
인증값용 제1입력값의 세번째 워드는 단말기 전화번호(MIN)과 해쉬함수 상수값을 Exclusive OR해서 설정한다. 여기서 단말기 전화번호(MIN)는 CDMA 방식 이동통신 단말기를 식별하는 24비트의 고유의 식별번호에 하위 8비트를 0으로 채워서 구성한다.
인증값용 제1입력값의 네번째 워드는 RAND와 해쉬함수 상수값을 Exclusive OR해서 설정한다. 여기서 RAND는 CDMA 방식 이동통신 망에서 단말로 전송하는 Access Parameter Message의 한 필드값으로 32비트 난수이다.
인증값용 제1입력값의 다섯번째 워드에서부터 열여섯번째 워드는 해쉬함수 상수값으로 설정한다.
도 4를 참고하면, 인증값용 제2입력값은 다음과 같이 구성된다. 우선, 인증값용 제2입력값의 첫번째 워드는 인증용 공유비밀데이터(SSD_A)의 첫번째 워드와 해쉬함수 초기벡터의 첫번째 워드를 Exclusive OR해서 설정한다.
여기서, 인증용 공유비밀데이터(SSD_A)는 도 3에서 생성된 두개의 워드로 구성된 64비트 값이다. 해쉬함수의 초기벡터는 해쉬함수 고유의 160비트 초기벡터를 사용하며 5개의 워드로 구성된다.
인증값용 제2입력값의 두번째 워드는 인증용 공유비밀데이터(SSD_A)의 두번째 워드와 해쉬함수 초기벡터의 두번째 워드를 Exclusive OR해서 설정한다.
인증값용 제2입력값의 세번째 워드는 해쉬함수의 초기벡터의 세번째 워드, 네번째 워드는 해쉬함수의 초기벡터의 네번째 워드, 다섯번째 워드는 해쉬함수의 초기벡터의 다섯번째 워드로 설정한다.
도 5는 본 발명의 바람직한 일 실시예에 의한 인증값 생성방법의 흐름이다.즉, 도 5는 도 4의 인증값용 제1입력값 및 인증값용 제2입력값을 바탕으로 인증값를 생성하는 방법이다.
인증값용 제1입력값 및 인증값용 제2입력값을 해쉬함수에 입력한다. 해쉬함수를 수행하고 160 비트의 결과값을 얻는다(S510).
해쉬함수를 수행하여 얻은 결과값(160 비트)을 이용하여 치환된 새로운 치환값(160 비트, 이하 "치환값"이라 한다.)을 얻기 위하여, 본 발명의 일 실시예에 의하여 다항식
Figure 112006081880746-pat00004
를 사용하였다.
여기서 A, B는 미리 결정된 160비트 난수로 변수 T로 이진 계수를 가지는 다항식으로 한다. X는 해쉬함수 수행으로 얻은 160비트 출력값으로 변수 T로 이진 계수를 가진 다항식으로 한다.
여기서 A, B는 미리 결정된 160비트 난수로 변수 T로 이진 계수를 가지는 다항식으로 한다. X는 해쉬함수 수행으로 얻은 160비트 출력값으로 변수 T로 이진 계수를 가진 다항식으로 한다.
인증값용 치환값의 160비트 중 하위 18비트만 선택하여 인증값(AUTHR)으로 출력한다(S530).
도 6은 본 발명의 바람직한 일 실시예에 의한 음성비화코드 및 시그널링 메시지 암호화키 생성을 위한 입력값의 구성이다. 즉, 도 6은 이동통신 단말과 인증 센터에서 음성비화코드 및 시그널링 메시지 암호화키 생성을 위한 입력 데이터(암호화키용 제1입력값 및 암호화키용 제2입력값)의 구성을 보여준다.
도 6에서 생성된 입력값과 해쉬 알고리즘을 이용하여 음성비화코드 및 시그널링 메시지 암호화키를 생성하는 방법은 아래의 도 7에서 설명하도록 한다.
도 6를 참조하면, 암호화키용 제1입력값(512비트)은 16개의 워드로 구성되고 암호화키용 제2입력값(160비트)은 5개의 워드로 구성된다. 각 워드는 32비트이다.
암호화키용 제1입력값의 첫번째 워드는 인덱스(index)와 해쉬함수 상수값을 Exclusive OR해서 설정한다. 여기서 인덱스는 크기가 32비트이고 초기값은 0이며 해쉬 알고리즘을 한번 수행하면 그 값이 1씩 증가한다. 해쉬함수 상수값은 32비트로 어떠한 값이라고 사용할 수 있으며 SHA1 해쉬함수를 사용할 경우에는 0x5C5C5C5C로 한다.
암호화키용 제1입력값의 두번째 워드는 단말기 고유번호값(ESN)과 해쉬함수 상수값을 Exclusive OR해서 설정한다. 여기서 단말기 고유번호값(ESN)은 CDMA 방식 이동통신 단말기마다 유일하게 할당되는 고유의 일련번호인 32비트값으로 도 2와 도 4의 해쉬함수의 상수값과 같다.
암호화키용 제1입력값의 세번째 워드는 단말기 전화번호(MIN)과 해쉬함수 상수값을 Exclusive OR해서 설정한다. 여기서 단말기 전화번호(MIN)은 CDMA 방식 이동통신 단말기를 식별하는 24비트의 고유의 식별번호에 하위 8비트를 0으로 채워서 구성한 값으로 도 2와 도 4의 단말기 전화번호(MIN)와 같다.
암호화키용 제1입력값의 네번째 워드에서부터 열여섯번째까지의 워드는 해쉬 함수 상수값으로 설정한다.
도 6을 참조하면, 암호화키용 제2입력값의 구성은 다음과 같다. 암호화키용 제2입력값의 첫번째 워드는 암호용 공유비밀데이터(SSD_B)의 첫번째 워드와 해쉬함수 초기벡터의 첫번째 워드를 Exclusive OR해서 설정한다.
여기서 암호용 공유비밀데이터(SSD_B)는 도 3에서 생성된 두개의 워드로 구성된 64비트 값의 암호용 공유비밀데이터(SSD_B)이다. 해쉬함수의 초기벡터는 해쉬함수 고유의 160비트 초기벡터를 사용하며 5개의 워드로 구성된다.
암호화키용 제2입력값의 두번째 워드는 암호용 공유비밀데이터(SSD_B)의 두번째 워드와 해쉬함수 초기벡터의 두번째 워드를 Exclusive OR해서 설정한다.
암호화키용 제2입력값의 세번째 워드는 해쉬함수의 초기벡터의 세번째 워드, 네번째 워드는 해쉬함수의 초기벡터의 네번째 워드, 다섯번째 워드는 해쉬함수의 초기벡터의 다섯번째 워드로 설정된다.
도 7은 본 발명의 바람직한 일 실시예에 의한 음성비화코드 및 시그널링 메시지 암호화키 생성방법의 흐름이다. 즉, 도 7은 도 6의 음성비화코드 및 시그널링 메시지 암호화키 생성을 위한 암호화키값용 제1입력값 및 인증값용 제2입력값을 바탕으로 인증값를 생성하는 방법이다.
암호화키값용 제1입력값 및 암호화키값용 제2입력값을 해쉬함수에 입력한다.인덱스(index)인 암호화키값용 제3입력값은 처음에 0으로 설정되어서 암호화키값용 제1입력값의 일부분을 구성한다.
암호화키값용 제1입력값 및 암호화키값용 제2입력값을 해쉬함수에 입력하여 해쉬함수를 수행하고 160 비트의 출력값을 얻는다(S710).
해쉬함수를 수행한 결과인 160 비트의 결과값을 다항식
Figure 112006081880746-pat00005
의 X 값으로 다시 입력하여 새로운 160비트의 암호화키값용 치환값을 출력한다(S720).
여기서 A, B는 미리 결정된 160비트 난수로 변수 T로 이진 계수를 가지는 다항식으로 한다. X는 해쉬함수 수행으로 얻은 160비트 출력값으로 변수 T로 이진 계수를 가진 다항식으로 한다.
암호화키값용 치환값(160비트)는 아래의 두가지 방법 중 하나에 의하여 음성비화코드 및 시그널링 메시지 암호화키로 출력된다(S730).
첫번째 방법은, 암호화키값용 치환값(160비트)의 160 비트중 하위 104비트를 선택해서 최하위 40비트를 음성비화코드(PLCM)으로 설정하고 그 다음 하위 64비트를 시그널링 메시지 암호화키(CMEAKEY)로 설정하는 방법이다.
두번째 방법은, 암호화키값용 치환값의 160비트중 최하위 40비트를 음성비화코드(PLCM)으로 설정하고 인덱스를 1 증가시킨 다음 암호화키값용 제1입력값의 특정부분을 증가된 인덱스로 변경하여 새로운 암호화키값용 제1입력값을 설정한다. 그리고 상기 과정과 동일한 과정을 다시 거쳐 새로운 암호화키값용 치환값(160비트)출력 중 최하위 64비트를 시그널링 메시지 암호화키(CMEAKEY)로 설정하고 모든 과정을 종료한다.
이처럼 본 발명은 다양한 종류의 해쉬함수에 광범위하게 적용될 수 있다. 또한 데이터(공유비밀데이터, 인증값, 음성비화코드 및 시그널링 메시지 암호화키)를 치환값의 특정한 위치의 하위특정비트를 추출하여 얻으므로, 얻을 수 있는 데이터의 경우의 수가 매우 많다.
즉, 치환값의 160비트 중 하위비트 일부분을 추출하거나 중간비트를 추출하거나 인덱스를 증가시켜 동일한 과정을 반복하는 방법을 이용하여 최종 데이터의 를 다양하게 할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명에 의한 IS-95, CDMA2000 1x등의 CDMA 방식 이동통신 시스템을 위한 해쉬 알고리즘을 이용한 암호생성방법은 다음과 같은 효과가 있다.
첫째로, 본 발명은 이동통신 단말기와 인증센터에서 단말기 고유의 인증키값(A-Key), 단말기 고유번호값(ESN) 및 이동통신시스템에서 생성된 난수(RANDSSN)를 이용하여 공유비밀데이터 생성을 위한 입력값을 구성하여 해쉬함수를 이용하여 인증용 공유비밀데이터(SSD_A) 및 암호용 공유비밀데이터(SSD_B)를 생성한다.
둘째로, 본 발명은 인증용 공유비밀데이터(SSD_A), 단말기 고유번호값(ESN), 단말기 전화번호(MIN) 및 이동통신시스템의 인증센터에서 수신한 액세스 파라미터 메시지(Access Parameter Message)의 특정필드값(RAND)를 이용하여 인증값 생성을 위한 입력값을 구성하여 인증값용 입력값과 해쉬함수를 사용하여 인증값을 생성한다.
셋째로, 암호용 공유비밀데이터(SSD_B), 단말기 고유번호값(ESN) 및 단말기 전화번호(MIN)를 이용하여 음성비화코드 및 시그널링 메시지 암호화키 생성을 위한 암호화키용 입력값을 구성하고 암호화키용 입력값과 해쉬함수를 이용하여 음성비화코드 및 시그널링 메시지 암호화키를 생성한다.
마지막으로, 본 발명은 여러가지 해쉬 알고리즘의 적용이 가능하다. 본 발명의 일 실시예로 본 명세서에서는 해쉬 알고리즘을 512 비트 블록 크기와 160 비트 출력을 가지는 SHA1, HAS160, RMD160 등을 사용하였다. 하지만, 입력값 설정방법과 출력값 추출방식에 따라서 SHA512, MD5 등 거의 모든 해쉬 함수의 적용이 가능하다.
또한, 본 발명은 특정비트를 선택하는 방법을 다양하게 하여 다양한 출력값을 구할 수 있다. 본 발명의 일 실시예로 본 명세서에서는 160비트 결과중 하위비트를 선택하였으나, 이와 달리 중간의 특정비트를 선택할 수 있으며 인덱스를 1번 이상 증가시켜서 과정을 반복하여 수행하여 안전성을 더욱 높일 수 있다.

Claims (24)

  1. 단말기 고유번호값(ESN) 및 단말기 전화번호(MIN) 중 적어도 어느 하나를 기초로 생성된 복수개의 입력값을 해쉬함수에 입력하여 소정의 비트수를 가지는 해쉬값을 출력하는 해쉬알고리즘수행단계;
    상기 출력된 해쉬값의 비트수와 동일한 차수를 가지는 다항식을 이용하여 상기 출력된 해쉬값과 동일한 비트수의 치환된 치환값을 얻는 치환단계; 및
    상기 치환값을 상기 복수개의 입력값 중 적어도 어느 하나의 입력값으로 입력하여 다시 치환값을 얻거나 상기 치환값을 데이터로 출력하는 출력단계;를 포함하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  2. 제 1항에 있어서, 상기 해쉬함수는
    서로 다른 크기의 비트블록 및 비트출력을 가지는 서로 다른 종류의 해쉬함수 중 어느 하나의 해쉬함수인 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  3. 제 1항에 있어서, 상기 해쉬함수는
    512 비트블록 및 160 비트출력을 가지는 SHA1, HAS160 또는 RMD160 중 어느 하나의 해쉬함수인 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  4. 제 1항에 있어서, 상기 다항식은
    Figure 112006081880746-pat00006
    이며, G는
    Figure 112006081880746-pat00007
    이며, 여기서 A,B는 미리 결정된 160 비트난수이고, X는 상기 해쉬값이며 변수 T로 이진계수를 가지는 다항식인것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  5. 단말기 고유번호값(ESN) 및 이동통신시스템의 인증센터에서 생성된 난수값(RANDSSN) 중 적어도 어느 하나를 기초로 생성된 공유비밀데이터(SSD)용 제1입력값 및 상기 단말기 고유의 인증키값(A-key)을 기초로 생성된 공유비밀데이터(SSD)용 제2입력값을 포함하는 복수개의 입력값을 해쉬함수에 입력하여 소정의 비트수를 가지는 공유비밀데이터(SSD)용 해쉬값을 출력하는 해쉬알고리즘을 수행하는 해쉬알고리즘수행단계;
    상기 출력된 공유비밀데이터(SSD)용 해쉬값의 비트수와 동일한 차수를 가지는 다항식을 이용하여 상기 출력된 공유비밀데이터(SSD)용 해쉬값과 동일한 비트수의 치환된 공유비밀데이터(SSD)용 치환값을 얻는 치환단계; 및
    상기 공유비밀데이터(SSD)용 치환값을 인증용 공유비밀테이터 및 암호용 공유비밀데이터로 출력하는 출력단계;를 포함하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  6. 제 5항에 있어서, 상기 공유비밀데이터(SSD)용 제1입력값은
    상기 해쉬함수의 연산 수행횟수를 나타내는 인덱스값 및 상기 해쉬함수의 상수값을 기초로 논리연산을 수행하여 획득한 제1워드;
    상기 단말기 고유번호값(ESN) 및 상기 해쉬함수의 상수값을 기초로 논리연산을 수행하여 획득한 제2워드;
    상기 이동통신시스템의 인증센터에서 생성된 난수값(RANDSSN) 및 상기 해쉬함수의 상수값을 기초로 논리연산을 수행하여 획득한 제3워드; 및
    상기 이동통신시스템의 인증센터에서 생성된 난수값(RANDSSN) 및 상기 해쉬함수의 상수값을 기초로 논리연산을 수행하여 획득한 제4워드;을 포함하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  7. 제 6항에 있어서,
    상기 공유비밀데이터(SSD)용 제1입력값은 16개의 워드로 구성되어 있으며 각각의 워드는 32비트이며, 상기 인덱스값, 상기 해쉬함수의 상수값 및 상기 단말기 고유번호값(ESN)의 크기는 32비트이고, 상기 이동통신시스템의 인증센터에서 생성된 난수값(RANDSSN)의 크기는 56비트이나 하위 8비트를 0으로 채운 64비트값을 사용하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  8. 제 5항에 있어서, 상기 공유비밀데이터용 제2입력값은
    상기 단말기 고유의 인증키값(A-key)의 첫번째 워드 및 상기 해쉬함수의 초기벡터값의 첫번째 워드를 기초로 논리연산을 수행하여 획득한 제1워드; 및
    상기 단말기 고유의 인증키값(A-key)의 두번째 워드 및 상기 해쉬함수의 초기벡터값의 두번째 워드를 기초로 논리연산을 수행하여 획득한 제2워드;를 포함하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  9. 제 8항에 있어서,
    상기 공유비밀데이터용 제2입력값은 5개의 워드로 구성되어 있으며 각각의 워드는 32비트이며, 상기 단말기 고유의 인증키값(A-key)의 크기는 64비트이고, 상기 해쉬함수의 초기벡터는 상기 해쉬함수 고유의 160비트 초기벡터인 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  10. 제 5항에 있어서,
    상기 공유비밀데이터(SSD)용 치환값은 160비트의 크기를 가지며, 상기 공유비밀데이터(SSD)용 치환값의 최하위 64비트를 상기 인증용 공유비밀데이터로 출력하며 상기 공유비밀데이터(SSD)용 치환값의 최하위 64비트의 상위 64비트를 상기 암호용 공유비밀테이터로 출력하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  11. 제 5항에 있어서, 상기 출력단계는
    상기 공유비밀데이터(SSD)용 치환값을 인증용 공유비밀데이터(SSD)로 출력하고, 상기 공유비밀데이터(SSD)용 치환값을 상기 복수개의 입력값 중 적어도 어느 하나의 입력값으로 입력하여 다시 상기 공유비밀데이터(SSD)용 치환값을 얻는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  12. 단말기 고유번호값(ESN) 및 이동통신시스템의 인증센터에서 수신한 액세스 파라미터 메시지(Access Parameter Message)의 특정 필드값 중 적어도 어느 하나를 기초로 생성된 인증값용 제1입력값 및 상기 단말기 고유의 인증키값(A-key)을 기초로 생성된 인증값용 제2입력값을 포함하는 복수개의 입력값을 해쉬함수에 입력하여 소정의 비트수를 가지는 인증값용 해쉬값을 출력하는 해쉬알고리즘수행단계;
    상기 출력된 인증값용 해쉬값의 비트수와 동일한 차수를 가지는 다항식을 이용하여 상기 출력된 인증값용 해쉬값과 동일한 비트수의 치환된 인증값용 치환값을 얻는 치환단계; 및
    상기 인증값용 치환값을 인증값으로 출력하는 출력단계;를 포함하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  13. 제 12항에 있어서, 상기 인증값용 제1입력값은
    상기 해쉬함수의 상수값을 기초로 생성된 제1워드;
    상기 단말기 고유번호값(ESN) 및 상기 해쉬함수의 상수값을 기초로 논리연산을 수행하여 획득한 제2워드;
    상기 단말기의 단말기 전화번호값(MIN) 및 상기 해쉬함수의 상수값을 기초로 논리연산을 수행하여 획득한 제3워드; 및
    상기 이동통신시스템의 인증센터에서 수신한 액세스 파라미터 메시지(Access Parameter Message)의 특정 필드값 및 상기 해쉬함수의 상수값을 기초로 논리연산을 수행하여 획득한 제4워드;을 포함하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  14. 제 13항에 있어서,
    상기 인증값용 제 1입력값은 16개의 워드로 구성되어 있으며 각각의 워드는 32비트이며, 상기 해쉬함수의 상수값, 상기 단말기 고유번호값(ESN) 및 상기 이동통신시스템의 인증센터에서 수신한 액세스 파라미터 메시지(Access Parameter Message)의 특정 필드값의 크기는 32비트이고, 상기 단말기 전화번호값(MIN)의 크기는 24비트나 하위 8비트를 0으로 채워 32비트로 사용하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  15. 제 12항에 있어서, 상기 인증값용 제2입력값은
    상기 해쉬함수를 이용하여 생성한 인증용 공유비밀테이터의 첫번째 워드 및 상기 해쉬함수의 초기벡터값의 첫번째 워드를 기초로 논리연산을 수행하여 획득한 제1워드; 및
    상기 해쉬함수를 이용하여 생성한 인증용 공유비밀테이터의 두번째 워드 및 상기 해쉬함수의 초기벡터값의 두번째 워드를 기초로 논리연산을 수행하여 획득한 제2워드;을 포함하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  16. 제 15항에 있어서,
    상기 인증값용 제2입력값은 5개의 워드로 구성되어 있으며 각각의 워드는 32비트이며, 상기 인증용 공유비밀테이터의 크기는 64비트이고, 상기 해쉬함수의 초기벡터는 상기 해쉬함수 고유의 160비트 초기벡터인 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  17. 제 12항에 있어서,
    상기 인증값용 치환값은 160비트의 크기를 가지며, 상기 인증값용 치환값의 최하위 18비트를 인증값으로 출력하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  18. 단말기 고유번호값(ESN) 및 단말기 전화번호값(MIN) 중 적어도 어느 하나를 기초로 생성된 암호화키용 제1입력값 및 해쉬함수를 이용하여 생성한 암호용 공유비밀테이터를 기초로 생성된 암호화키용 제2입력값을 포함하는 복수개의 입력값을 해쉬함수에 입력하여 소정의 비트수를 가지는 암호화키용 해쉬값을 출력하는 해쉬알고리즘을 수행하는 해쉬알고리즘수행단계;
    상기 출력된 암호화키용 해쉬값의 비트수와 동일한 차수를 가지는 다항식을 이용하여 상기 출력된 암호화키용 해쉬값과 동일한 비트수의 치환된 암호화키용 치환값을 얻는 치환단계; 및
    상기 암호화키용 치환값을 음성비화코드 및 시그널링 메시지 암호화키로 출력하는 출력단계;를 포함하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  19. 제 18항에 있어서, 상기 암호화키용 제1입력값은
    상기 해쉬함수의 연산 수행횟수를 나타내는 인덱스값 및 상기 해쉬함수의 상수값을 기초로 논리연산을 수행하여 생성한 제1워드;
    상기 단말기 고유번호값(ESN) 및 상기 해쉬함수의 상수값을 기초로 논리연산을 수행하여 획득한 제2워드; 및
    상기 단말기 전화번호값(MIN) 및 상기 해쉬함수의 상수값을 기초로 논리연산을 수행하여 획득한 제3워드;를 포함하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  20. 제 19항에 있어서,
    상기 암호화키용 제1입력값은 16개의 워드로 구성되어 있으며 각각의 워드는 32비트이며, 상기 인덱스값, 상기 해쉬함수의 상수값 및 상기 단말기 고유번호값(ESN)의 크기는 32비트이고, 상기 단말기 전화번호값(MIN)의 크기는 원래 24비트이나 하위 8비트를 0으로 채워 32비트로 사용하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  21. 제 18항에 있어서, 상기 암호화키용 제2입력값은
    상기 해쉬함수를 이용하여 생성한 암호용 공유비밀테이터의 첫번째 워드 및 상기 해쉬함수의 초기벡터값의 첫번째 워드를 기초로 논리연산을 수행하여 획득한 제1워드; 및
    상기 해쉬함수를 이용하여 생성한 암호용 공유비밀테이터의 두번째 워드 및 상기 해쉬함수의 초기벡터값의 두번째 워드를 기초로 논리연산을 수행하여 획득한 제2워드;을 포함하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  22. 제 21항에 있어서,
    상기 암호화키용 제2입력값은 5개의 워드로 구성되어 있으며 각각의 워드는 32비트이며, 상기 암호용 공유비밀테이터의 크기는 64비트이고, 상기 해쉬함수의 초기벡터는 상기 해쉬함수 고유의 160비트 초기벡터인 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  23. 제 18항에 있어서,
    상기 암호화키용 치환값은 160비트의 크기를 가지며, 상기 암호화키용 치환값의 최하위 40비트를 상기 음성비화코드로 출력하며 상기 암호화키용 치환값의 최하위 40비트의 상위 64비트를 상기 시그널링 메시지 암호화키로 출력하는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
  24. 제 18항에 있어서, 상기 출력단계는
    상기 암호화키용 치환값을 인증값으로 출력하고, 상기 암호화키용 치환값을 상기 복수개의 입력값 중 적어도 어느 하나의 입력값으로 입력하여 다시 상기 암호화키용 치환값을 얻는 것을 특징으로 하는 해쉬 알고리즘을 이용한 데이터생성방법.
KR1020060110169A 2006-11-08 2006-11-08 Cdma 방식의 이동통신 시스템을 위한 해쉬 알고리즘을이용한 데이터생성방법 KR100842261B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060110169A KR100842261B1 (ko) 2006-11-08 2006-11-08 Cdma 방식의 이동통신 시스템을 위한 해쉬 알고리즘을이용한 데이터생성방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060110169A KR100842261B1 (ko) 2006-11-08 2006-11-08 Cdma 방식의 이동통신 시스템을 위한 해쉬 알고리즘을이용한 데이터생성방법

Publications (2)

Publication Number Publication Date
KR20080041930A KR20080041930A (ko) 2008-05-14
KR100842261B1 true KR100842261B1 (ko) 2008-06-30

Family

ID=39648871

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060110169A KR100842261B1 (ko) 2006-11-08 2006-11-08 Cdma 방식의 이동통신 시스템을 위한 해쉬 알고리즘을이용한 데이터생성방법

Country Status (1)

Country Link
KR (1) KR100842261B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019127335A1 (de) 2019-10-10 2021-04-15 Infineon Technologies Ag Erzeugen von Hash-Werten

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06195024A (ja) * 1991-09-13 1994-07-15 American Teleph & Telegr Co <Att> 通信チャネル開設方法および顧客装置
KR20010021127A (ko) * 1999-07-28 2001-03-15 루센트 테크놀러지스 인크 통신 시스템 및 그와 통신하는 유닛간에 키를 갱신하는방법 및 시스템
KR20050004634A (ko) * 2003-07-03 2005-01-12 엘지전자 주식회사 인증, 액세스 시도 및 가상 랜덤 수 생성의 수행 방법
US20050197104A1 (en) 2004-02-27 2005-09-08 Samsung Electronics Co., Ltd. Method and apparatus for access authentication in wireless mobile communication system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06195024A (ja) * 1991-09-13 1994-07-15 American Teleph & Telegr Co <Att> 通信チャネル開設方法および顧客装置
KR20010021127A (ko) * 1999-07-28 2001-03-15 루센트 테크놀러지스 인크 통신 시스템 및 그와 통신하는 유닛간에 키를 갱신하는방법 및 시스템
KR20050004634A (ko) * 2003-07-03 2005-01-12 엘지전자 주식회사 인증, 액세스 시도 및 가상 랜덤 수 생성의 수행 방법
US20050197104A1 (en) 2004-02-27 2005-09-08 Samsung Electronics Co., Ltd. Method and apparatus for access authentication in wireless mobile communication system

Also Published As

Publication number Publication date
KR20080041930A (ko) 2008-05-14

Similar Documents

Publication Publication Date Title
US10187200B1 (en) System and method for generating a multi-stage key for use in cryptographic operations
US8284933B2 (en) Encrypting variable-length passwords to yield fixed-length encrypted passwords
Saraf et al. Text and image encryption decryption using advanced encryption standard
KR101809386B1 (ko) 인증 암호 장치, 인증 암호 방법 및 컴퓨터 판독가능한 기록 매체
CN110096901B (zh) 电子合同数据加密存储方法及签约客户端
US8744078B2 (en) System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths
JP2013047822A (ja) メッセージ認証のための暗号化方法
CN112804205A (zh) 数据加密方法及装置、数据解密方法及装置
US20150134960A1 (en) Determination of cryptographic keys
JP2016504874A (ja) 鍵共有ネットワークデバイス及びその構成
CN111404953A (zh) 一种消息加密方法、解密方法及相关装置、系统
KR20150058310A (ko) 메시지 데이터를 보호하기 위한 장치 및 방법
EP2960891B1 (en) Method for introducing dependence of white-box implementationon a set of strings
KR101899130B1 (ko) 데이터의 암호화, 복호화 방법 및 이를 이용하는 장치
CN111859435B (zh) 一种数据安全处理方法及装置
CN111683061A (zh) 基于区块链的物联网设备访问控制方法及装置
KR100842261B1 (ko) Cdma 방식의 이동통신 시스템을 위한 해쉬 알고리즘을이용한 데이터생성방법
CN102622561A (zh) 一种软件中调用数据的加密及解密方法
US7231048B2 (en) Key sharing system, public key cryptosystem, signature system, key sharing apparatus, encryption apparatus, decryption apparatus, signature apparatus, authentication apparatus, key sharing method, encryption method, decryption method, signature method, authentication method, and programs
Rahim et al. Security Enhancement with USB Flash Disk as Key using AES Algorithm
Pandey et al. Data security using various cryptography Techniques: A Recent Survey
CN112422278A (zh) 面向字节的随机多表替换加密与解密方法
CN112910630A (zh) 扩展密钥的置换方法及装置
KR20120023311A (ko) 비트 조합 순서를 이용한 암호화 방법 및 장치
EP3931999A1 (en) Method secured against side-channel attacks with a new masking scheme protecting linear operations of a cryptographic algorithm

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110609

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee