KR101092696B1 - 에러 정정 코드에 기초하는 메시지 인증 코드 - Google Patents

에러 정정 코드에 기초하는 메시지 인증 코드 Download PDF

Info

Publication number
KR101092696B1
KR101092696B1 KR1020107022927A KR20107022927A KR101092696B1 KR 101092696 B1 KR101092696 B1 KR 101092696B1 KR 1020107022927 A KR1020107022927 A KR 1020107022927A KR 20107022927 A KR20107022927 A KR 20107022927A KR 101092696 B1 KR101092696 B1 KR 101092696B1
Authority
KR
South Korea
Prior art keywords
message
key
tag
key string
string
Prior art date
Application number
KR1020107022927A
Other languages
English (en)
Other versions
KR20100114947A (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 KR20100114947A publication Critical patent/KR20100114947A/ko
Application granted granted Critical
Publication of KR101092696B1 publication Critical patent/KR101092696B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • 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
    • 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
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • H04L9/3242Cryptographic 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 involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Telephone Function (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

메시지 인증 코드에 따라 메시지 및 키로부터 태그값을 결정하도록 메시지를 처리하는 방법이 개시된다. 이 방법은, 복수의 심볼중 하나를 선택하는 단계를 포함하고, 복수의 심볼은 메시지로부터 도출된 데이터 아이템을 인코딩하는 코드워드를 형성하고, 코드워드는 에러 정정 코드에 따라 데이터 아이템을 인코딩하며, 상기 키는 상기 복수의 심볼중 어느 것을 선택할 지를 결정하고, 태그값을 선택된 심볼로 결정한다.

Description

에러 정정 코드에 기초하는 메시지 인증 코드{MESSAGE AUTHENTICATION CODE BASED ON ERROR CORRECTING CODE}
본 발명은 메시지 인증 코드에 따라 태그값을 결정하도록 메시지를 처리하는 것에 관한 것이다.
데이터 보전 및 확실성은 어떠한 안전한 데이터 통신 시스템에 있어서도 기본적인 예상이고, 이들은 정보가 허가를 받지 않은 사람에 의해서는 수정되지 않았음을 보증하는 것을 포함한다. 무선 통신 시나리오에서는, 경쟁자가 통신되는 데이터를 인터셉트하여 수정할 위험성이 매우 높기 때문에, 데이터의 보전성 보호 및 인증이 특히 요구된다.
데이터 보전은 MAC(Message Authentication Code)에 의해 제공될 수 있다. MAC은, 대량의 데이터라도 계산적으로 효율적인 방법으로 보호하는 방법을 제공하기 때문에, 데이터 통신 페이로드 보전 보호에 이용된다.
MAC은 발신자와 수신자 간의 대칭 공유 비밀에 기초한다. 비밀 값을 키라고 부른다. 비밀 키는 MAC 계산에 대하여 가변적인 하나의 입력이며, 보호될 메시지는 또 다른 입력이다. MAC 계산에 인해, 태그값이라고 불리는 보전 체크 값이 생성된다. 정확한 비밀 키를 소유하고 있는 자만이 임의의 주어진 메시지에 대하여 태그값을 계산할 수 있다. 종래의 자동 보전 보호 시나리오에서는, 계산된 태그값이 메시지에 부착된 다음, 통신 채널을 통해 수신자에게 전송된다. MAC에 의해 보호된 메시지를 수신하면, 수신자는 수신된 데이터 및 공유 비밀 키에 기초하여 대응하는 태그값을 계산한다. 계산된 태그값이 수신된 태그값과 동일하면, 메시지는 믿을만한 것으로서 받아들여진다. MAC의 몇 가지 알려진 예로서, 안전 해시 알고리즘 SHA-1 및 메시지-다이제스트 알고리즘 MD5 등의 암호 해독 원-웨이 해시 기능에 기반을 둔 소위 HMAC(Keyed-Hashing for Message Authentication)가 있다.
수동 인증 체계에서는, 계산된 태그값이 반드시 전송되는 메시지에 첨부되는 것은 아니다. 이러한 체계에서는, 태그값이 메시지를 송출하는 디바이스에 의해 그리고 메시지를 수신하는 디바이스에 의해 계산될 수 있다. 후속하여, 사용자는 계산된 태그값을 비교하거나, 그 디바이스와의 비교를 위해 계산된 태그값을 한 디바이스에서 다른 디바이스로 수동 전달한다. 마찬가지로, 일부 어플리케이션에서는, MAC이 2개의 서로 다른 디바이스에 의해 개별적으로 생성된 데이터 아이템의 보전 체크를 수행하는데 이용될 수 있다. 따라서, 이 시나리오에서는, 데이터 아이템이 발신자에서 수신자로 송신되지 않으므로, 태그값이 전송되기 전에 데이터에 부착될 필요가 없다.
2001년 11월 C. Gehrmann 및 K. Nyberg에 의한, Proceedings of Nordsec 2001, Copenhagen에서의 "Enhancements to Bluetooth baseband security"에는, 통신 링크를 통해 공유 비밀을 전달하는 적 없이 2개의 디바이스에 의해 이전에 생성되었던 Diffie-Hellman 공유 비밀의 스킴의 수동 인증 체계의 예를 설명하고 있다. 이 방법은, Diffie-Hellman 키 교환에 중간 사람이 존재하는 경우, 구축된 Diffie-Hellman 키가 정당한 디바이스마다 다를 것이라는 가정에 기초한 것이다. 이 방법에 따르면, 생성된 공유 비밀은, 비밀 키를 수동 교환하고, 생성된 공유 비밀 및 비밀 키로부터 메시지 인증 코드의 태그값을 계산하고, 생성된 태그값들을 비교함으로써 인증된다.
사용자 인터랙선을 수반하는 이러한 시나리오에서는, 사용자에 의한 태그값의 비교 또는 전달이 용이하게 하기 위해, 즉 이러한 수동 비교에 필요한 시간을 줄이고, 에러 위험을 줄이기 위해 태그값의 길이를 짧게 유지하는 것이 바람직하다.
1996, Vol. IT-42, pp. 566-578, IEEE Transaction on Information theory에서의 G. Kabatianskii, B. Smeets 및 T Johansson에 의한 "On the cardinality of systematic A-codes via error correcting codes"에는, 메시지 인증 코드와 에러 정정 코드 간의 관계가 설명되어 있고, 코드가 동등한 등급으로 분할되어, 정수에 의해 서로 다른 코드워드(codeword)가 단수의 코드워드에 의해 교체되어, 새로운 코드, 소위 팩터 코드를 생성하는 에러 정정 코드에 기초한 MAC 구성을 개시한다. 태그값은 2개의 키에 기초하여 그 팩터 코드의 심볼로부터 계산된다.
본 발명의 목적은, 작은 태그 사이즈 및 작은 키 사이즈에 대하여 하이 레벨의 위조 보호를 제공하는 메시지 인증 코드의 태그값을 제공하는 것이다.
<발명의 요약>
상기한 목적 및 다른 목적들은, 메시지 인증 코드에 따라 키 및 메시지로부터 태그값을 결정하도록 메시지를 처리하는 방법으로서, 복수의 심볼들 중 하나를 선택하는 단계 -상기 복수의 심볼은 상기 메시지로부터 도출된 데이터 아이템을 인코딩하는 코드워드를 형성하고, 상기 코드워드는 에러 정정 코드에 따라 상기 데이터 아이템을 인코딩하며, 상기 키는 상기 복수의 심볼들 중 어떤 것을 선택할 지를 결정함-; 및 상기 태그값을 상기 선택되는 심볼로서 결정하는 단계를 포함하는 방법에 의해 성취된다.
발명자는, 상기한 방법이, 작은 태그 사이즈 및 작은 키 사이즈의 경우에도 하이 레벨의 위조 보안을 제공한다는 것을 발견하였다.
또 다른 장점으로서, 태그값을 에러 정정 코드의 코드워드의 심볼로서 직접 선택함으로써, 계산상 효율적인 MAC 구성이 제공된다.
일 실시예에서는, 메시지로부터 도출된 데이터 아이템이 메시지 그 자체이다. 이에 따라서, 본 실시예에서는, 메시지가 에러 정정 코드의 입력으로서 직접 사용된다.
또 다른 실시예에서는, 메시지로부터 도출된 데이터 아이템이 메시지로부터 계산된 원-웨이 해시 함수의 해시값이기 때문에, 메시지 사이즈를 줄이고, 키 및/또는 태그값의 사이즈를 또한 줄이면서도 동일한 레벨의 보안을 유지할 수 있다.
또 다른 장점으로서, 보안이 해시 코드가 긴 해시 함수가 MAC 함수로서 사용되는 경우에서와 같이, 계산적인 보안에 의존한다기보다는, MAC 함수의 비조건적인 보안에 기초한다는 것이 있다.
특히, 전술한 그리고 다음에 설명하는 MAC 구성이, 짧은 태그값 및 짧은 키, 즉, 10-15 자리수 미만 및/또는 문자 및/또는 다른 심볼, 예컨대 4-6의 16진수 문자에 대해서도 충분히 낮은 위조 확률을 제공한다는 것을 발견하였다.
설명을 위해, 메시지라는 용어는 보전성 및/또는 인증성이 입증될 임의의 디지털 데이터 아이템을 포함하고자 하는 것이다. 메시지의 예로서, 무선 통신 링크를 통해, 발신자에서 수신자로 송출되는 데이터 아이템이 있다. 이 데이터 아이템은, 서로 다른 디바이스들 등에 의해 독립적으로 또는 협동하여 생성된다.
일 실시예에서는, 적어도 메시지에 대한 기여도가 제1 통신 채널을 통해 발신자에서 수신자로 전달되며, 태그값 및 선택적으로는, 키가 제1 채널과는 별도의 제2 통신 채널을 통해 전달된다. 일 실시예에서는, 제2 통신 채널이 사용자 인터랙션을 수반한다.
예를 들어, 전체 메시지가 전달될 수 있거나, 일부 실시예에서는, 통신에 참여하고 있는 각각의 디바이스가 최종 메시지에 대한 기여도를 생성하고, 기여도를 각각의 다른 디바이스에 송출할 수 있다. 그러면, 디바이스 둘 다 최종 메시지를 생성한다. 이 경우에는, 하나 이상의 전송되는 기여도 및/또는 최종 메시지가 전술한 방법 및 다음의 설명하는 방법에 의해 검증될 수 있다.
또 다른 양호한 실시예를 종속 청구항에서 개시한다.
전술한 그리고 다음에 설명하는 방법의 특징은, 컴퓨터 실행가능 명령의 실행에 의해 야기되는 데이터 처리 시스템 또는 다른 처리 수단에서 소프트웨어로 구현되고 실행될 수 있다는 것이다. 명령은, 컴퓨터 네트워크를 통해, 저장 매체 또는 또 다른 컴퓨터로부터 RAM 등의 메모리에 로딩되는 프로그램 코드 수단일 수 있다. 대안적으로는, 전술한 특징은, 소프트웨어 대신에 하드와이어된 회로에 의해 또는 소프트웨어와의 조합에 의해 구현될 수 있다.
본 발명은, 전술한 방법을 포함하여, 첫 번째로 설명한 방법과 관련하여 설명한 하나 이상의 혜택 및 장점을 산출하고, 첫 번째로 설명한 방법 및 종속 청구항들에 개시된 것과 관련하여 설명한 양호한 실시예들에 대응하는 하나 이상의 양호한 실시예를 갖는, 다음의 통신 디바이스 및 또 다른 프로덕트 수단에 의해서 여러가지 방법으로 구현될 수 있다.
본 발명은 또한 데이터 메시지를 전달하기 위한 통신 디바이스로서, 메시지 인증 코드에 따라 키 및 메시지로부터 태그값을 결정하도록 적응된 처리 수단을 포함하는 통신 디바이스에 관한 것으로, 처리 수단이 복수의 심볼들 중 하나를 선택하는 단계 -상기 복수의 심볼은 상기 메시지로부터 도출된 데이터 아이템을 인코딩하는 코드워드를 형성하고, 상기 코드워드는 에러 정정 코드에 따라 상기 데이터 아이템을 인코딩하고, 상기 키는 상기 복수의 심볼들 중 어떤 것을 선택할지를 결정함 -; 및 상기 태그값을 선택된 심볼로서 결정하는 단계를 수행하도록 적응된 통신 디바이스에 관한 것이다.
통신 디바이스라는 용어는, 통신 신호, 예컨대 무선 통신 신호를 수신 및/또는 송신하기 위한 적당한 회로를 포함하여 데이터 통신을 용이하게 하는 임의의 디바이스를 포함하는 것이다. 이러한 디바이스의 예로서, 포터블 무선 통신 장치 및 다른 핸드헬드형 또는 포터블 디바이스가 있다. 포터블 무선 통신 장치라는 용어는, 모바일 텔레폰, 페이저, 통신기, 즉, 전자 오거나이저, 스마트 폰, 퍼스널 디지털 어시스턴트(PDA), 핸드헬드 컴퓨터 등의 모든 장치를 포함하고자 하는 것이다.
통신 디바이스의 또 다른 예로서, 상주형 통신 장치, 예를 들면, 무선 통신 인터페이스를 포함하는 상주형 컴퓨터 또는 다른 전자 장치가 있다. 일 실시예에서는, 이 디바이스들 중 하나가, 네트워크 디바이스, 예컨대 그 컴퓨터 네트워크, 예컨대 LAN에 무선 억세스를 제공하는 컴퓨터 네트워크의 억세스 포인트일 수 있다.
여기서, 처리 수단이라는 용어는, 상기한 기능들을 수행하도록 적당히 적응된 임의의 회로 및/또는 디바이스를 포함한다. 특히, 상기 용어는 통상, 또는 특수한 용도로 프로그램 가능한 마이크로 프로세서, 디지털 신호 처리기(DSP), 어플리케이션 특정 집적 회로(ASIC), 프로그램가능 로직 어레이(PLA), 필드 프로그램 가능 게이트 어레이(FPGA), 특수 용도 전자 회로 등 또는 이들의 조합을 포함하는 것이다.
도 1은 사용자 인터랙션을 수반하는 메시지 인증 시나리오의 예의 흐름도를 도시한다.
도 2는 사용자 인터랙션을 수반하는 메시지 인증 시나리오의 또 다른 예의 흐름도를 도시한다.
도 3은 에러 정정 코드에 기초하여 메시지 인증 코드를 계산하는 방법의 흐름도이다.
도 4a 및 도 4b는 리드 솔로몬(Reed-Solomon) 코드에 기초하여 메시지 인증 코드를 계산하는 방법의 예의 흐름도를 도시한다.
도 5는 도 4a 및 도 4b의 MAC 구성의 다수의 구성예에 대한 성공적인 대체 공격 확률을 도시하는 표이다.
도 6은 2개의 통신 디바이스의 블록도를 도시한다.
도 7은 생성된 공유 비밀에 대한 기여가 무선 통신 링크를 통해 전달되고, 도 3 및 도 4a 및 도 4b와 관련하여 설명되는 메시지 인증에 의해 인증되는 경우의 안전 키 교환 메커니즘의 실시예를 도시한다.
도 1은 사용자 인터랙션을 수반하는 메시지 인증 시나리오의 예의 흐름도이다. 메시지 인증 시나리오는 통상 A 및 B로 정해진 2개의 디바이스를 각각 수반한다. 통상 참조 번호 101로 지정된 흐름도의 좌측 단계는 디바이스 A에 의해 수행되고, 통상 참조 번호 102로 지정된 흐름도의 우측 단계는 디바이스 B에 의해 수행된다.
도 1의 예에서, 두 디바이스 모두 박스(103 및 109)로 각각 도시된 메시지 d를 저장한다. 예를 들면, 메시지 d는 디바이스들 중 하나에 의해 생성되어 다른 디바이스로 송출될 수 있고, 대안적으로는, 두 디바이스 모두 하나 이상의 다른 디바이스로부터 메시지 d를 수신하거나, 또는 서로 협조하여 또는 제3 디바이스와 협조하여 메시지를 생성하는 경우가 있다.
두 디바이스 모두 동일한 메시지를 저장하고 있다는 것을 입증하기 위해, 초기 단계 104에서, 디바이스 A가 키 k, 예컨대 적당한 길이이고, 적당한 키 스페이스로부터 선택된 비밀 스트링을 생성한다. 단계 105에서, 디바이스 A가 2개의 디바이스 간의 무선 통신 링크 또는 또 다른 적당한 데이터 접속을 통해 디바이스 B에 생성된 키를 송출한다. 단계 110에서, 디바이스 B가 키를 수신한다. 다음에는, 디바이스 B에 의해 수신된 키를 k'으로 부른다.
단계 106에서, 디바이스 A는 자신이 저장하고 있는 메시지 d와 디바이스 A에 의해 생성된 키 k를 입력으로 이용하여 MAC 함수의 태그값 t를 계산한다. 마찬가지로, 단계 111에서, 디바이스 B는 디바이스 B에 의해 저장된 메시지 d와 수신된 키 k를 입력으로 이용하여 디바이스 A와 동일한 MAC 함수의 대응하는 태그값 t'을 계산한다.
단계 107에서, 디바이스 A는, 계산된 태그값 t와 생성된 키 k를 디바이스 A의 사용자에게 디스플레이 한다. 마찬가지로, 단계 112에서, 디바이스 B는 디바이스 B에 의해 계산된 태그값 t'과 수신된 키 k'을 디바이스 B의 사용자에게 디스플이 한다. 사용자(들)는, 디스플레이되는 값들이 서로 동일한지, 즉 t=t'인지 여부를 판정하기 위해 디스플레이 되는 값들을 비교한다. 예를 들면, 디바이스들이 서로 근접해 있으면, 사용자는 디스플레이되는 값들을 직접 비교할 수 있다. 디바이스들이 서로 원거리에 위치하고 있으면, 디바이스 A의 사용자가 디바이스 A로부터 태그값 t와 키 k를 판독하고, 예컨대 전화나 다른 통신 수단에 의해 디바이스 B의 사용자에게 태그값과 키를 전달하여, 디바이스 B의 사용자가 디바이스 B에 의해 디스플레이되는 키 k'과 태그값 t'의 비교를 행할 수 있게 된다.
단계 108 및 114에서, 예컨대 태그값과 키가 동일하면, OK 버튼을 누르고, 값들이 동일하지 않으면 CANCEL 버튼을 누름으로써, 디바이스 A 및 B의 사용자(들) 각각이 상기 비교 결과를 입력한다.
인증 결과의 사용자 입력의 각종 대안적인 실시예들이 구현될 수 있다는 것이 이해된다. 예를 들면, 사용자는 디바이스들 중 하나에 결과를 입력하기만 하면 된다. 다른 실시예에서는, 디바이스가, 사용자가 소정 시간 내에 OK 버튼을 누르지 않았으면, 인증이 성공적이지 않았다고 가정한다.
태그값과 키가 서로 동일하면, 2개의 디바이스에 저장된 메시지 d가 성공적으로 인증되고, 디바이스 A 및 B가 그들의 각각의 메시지 처리를 계속할 수 있다. 이에 따라서, 도 1의 인증 시나리오는, 사용자가 디스플레이되는 값들을 비교하고, 그 비교 결과를 디바이스들에 표시하기 때문에, 화살표(114)에 의해 표시된 바와 같은 사용자 인터랙션을 수반한다.
도 2는 사용자 인터랙션을 수반하는 메시지 인증 시나리오의 또 다른 예의 흐름도를 도시한다. 다시, 메시지 인증 시나리오는 2개의 디바이스 A 및 B를 수반하고, 통상 참조 번호 201로 지정된 흐름도의 좌측 단계는 디바이스 A에 의해 수행되고, 통상 참조 번호 202로 지정된 흐름도의 우측 단계는 디바이스 B에 의해 수행된다.
상기한 예에서와 같이, 두 디바이스 모두 박스(103 및 109)로 도시된 메시지 d를 각각 저장한다. 두 디바이스 모두 동일한 메시지를 저장하고 있다는 것을 입증하기 위해, 초기 단계 104에서 디바이스 A가 키 k를 생성한다.
단계 205에서, 디바이스 A가 자신에 저장된 메시지 d와 자신에 의해 생성된 키 k를 입력으로서 이용하여 MAC 함수의 태그값 t를 계산한다.
단계 206에서, 디바이스 A가 생성된 키 k와 계산된 태그값 t를 디바이스 A의 사용자에게 디스플레이 한다. 예를 들면, 이 값들은 2개의 별도의 값으로 디스플레이되거나 하나의 스트링으로 연결될 수 있다.
디바이스 A의 사용자는 디스플레이되는 값(들)을 판독하고, 이 것을 디바이스 B에 입력한다 (단계 208). 예를 들어, 사용자는 디바이스 B의 키보드 또는 키패드를 통해 또는 임의의 다른 적당한 입력 디바이스를 통해 값을 입력할 수 있다. 예컨대, 디바이스들이 서로 원거리에 위치하고 있으면, 디바이스 A의 사용자가, 전화나 다른 통신 수단에 의해 디바이스 B의 사용자에게 값(들)을 전달하여, 디바이스 B의 사용자가 값들을 디바이스 B에 입력시킬 수 있도록 된다는 것을 이해해야 한다.
후속 단계 209에서, 디바이스 B는 입력된 키 k와 디바이스 B에 의해 저장된 메시지 d를 입력으로서 이용하여 디바이스 A와 동일한 MAC 함수의 태그값 t'을 계산한다.
단계 210에서, 디바이스 B는 계산된 태그값 t'과 디바이스 B의 사용자에 의해 입력된 태그값 t를 비교한다. 태그값이 동일하면, 메시지 d는 성공적으로 인증되고 (단계 211), 그렇지 않으면, 메시지 d는 부패된 것으로 거절된다 (단계 212). 일 실시예에서는, 디바이스 B가 인증 결과를 표시하는 대응하는 메시지를 디바이스의 사용자에게 디스플레이할 수 있다. 대안적으로 또는 부가적으로, 디바이스 B가 대응하는 메시지를 디바이스 A에 송출할 수 있다.
다시, 도 2의 인증 시나리오는 화살표(213)에 의해 표시된 바와 같이 사용자 인터랙션을 수반한다.
이에 따라서, 상기한 바에서는, 사용자 인터랙션을 수반하는 2개의 인증 시나리오 예가 설명된다. 상기한 시나리오에서는, MAC 함수에 입력되는 적어도 하나의 키 k와 MAC 함수에 의해 계산된 태그값 t 중 적어도 하나가 사용자에 의해 판독되거나 입력된다. 사용자는, 심지어 예컨대 전화를 통해 또 다른 사용자에게 값들을 전달할 필요가 있는 경우가 있다. 이에 따라서, 상기한 유사한 시나리오에서는, 인증 체계에 의해 제공되는 보안을 줄이지 않고, 태그값과 키의 사이즈를 짧게 유지하는 것이 바람직하다.
전술한 시나리오는 단순히 예로든 것에 불과하고, 사용자 인터랙션을 수반하는 수 많은 다른 인증 체계가 있다. 예를 들어, 일 실시예에서는, 키 k가 제3 디바이스에 의해 생성되어 디바이스 A 및 B에 전달되거나, 키가 PIN 번호로서 사용자에 의해 생성되어 디바이스 둘 다에 입력되거나, 키가 2개의 디바이스로 하드코드될 수도 있다. 또한, 키 및, 가능하게는 태그값은 실제 인증 훨씬 이전에 디바이스 A에 의해 계산될 수 있다. 예를 들면, 디바이스 A는 디바이스 A에 의한 메시지 d의 생성과 관련하여 키 및 태그값을 생성할 수 있다. 또 다른 실시예에서는, 도 1의 통신 파라미터, 즉 키 k 또는 도 2의 키 및 태그가 디바이스 A로부터 디바이스 B에 의해 억세스될 수 있는 제3 디바이스로 통신될 수 있다. 예를 들면, B가 컴퓨터 네트워크의 네트워크 디바이스인 경우, 상기한 파라미터들이, 이들이 저장되거나 디바이스 B에 의해 후속하여 검색될 수 있는 컴퓨터 네트워크의 또 다른 컴퓨터에 통신될 수 있다.
도 3은 에러 정정 코드에 기초하여 메시지 인증 코드를 계산하는 방법의 흐름도를 도시한다. 도 3의 예에서는, 데이터 스페이스 D로부터의 데이터 아이템 d가, 예컨대 도 1의 단계 106 및 111 또는 도 2의 단계 205 및 209에서와 같이, 메시지 인증 코드(MAC)를 이용하여 인증되는 것으로 상정하였다. 예를 들기 위해, 데이터 아이템 d 또한 메시지로서 언급한다.
일반적으로 MAC은 데이터 스페이스 D와 키 스페이스 K로부터 태그 스페이스 C로 f를 맵핑한다. 즉, f:D ×K→C이다. 여기서, 메시지 d∈D 및 키 k∈K는 태그 t∈C, 즉 (d,k)→t로 맵핑된다.
MAC은 메시지의 보전성을 보호하는데 이용된다. 즉, 데이터가, 예컨대 발신자로부터 메시지의 수신자로의 전송 중에 변경되지 않았음을 보장하기 위해 이용되는 것이다. 수동 인증에서는, 짧은 MAC 값, 즉 10-15 자리 이하의 길이의 태그 및/또는 문자 및/또는 다른 기호를 갖는 태그를 이용하여, 사용자가 태그값들을 전달하거나 비교할 수 있게 해준다. 이러한 수동 인증 체계에서는, 계산적인 보안보다는 MAC 함수의 비조건적인 보안에 기초하여 보안이 이루어진다. 예를 들어, 해시 코드가 긴 해시 함수를 MAC 함수로서 이용하는 경우, 보안은 계산적인 보안에 기초한다.
MAC 함수의 비조건적 보안은 서로 다른 타입의 가능한 공격을 고려함으로써 결정될 수 있다. 통상적으로 고려되는 2개의 주요 타입의 공격으로서 사칭 (impersonation) 공격 및 교체(substitution) 공격이 있다. 다음의 설명의 이해를 용이하게 하기 위해, 이러한 타입의 공격을 여기서 간단히 설명한다. 보다 상세한 설명을 위해, 여기에 참조로서 포함되는, 예컨대 G. Kabatianskii, B.에 의한 1990년 Vol. IT-42, pp.566-578의 IEEE Transaction on information theory에서의 "On the cardinality of systematic A-codes via error correcting codes"를 참조한다.
사칭 공격에서는, 공격자가 수신자에게, 합법적인 발신자와 수신자 간의 임의의 사전 데이터 교환을 관찰하지 않고, 일부 데이터가 합법적인 발신자로부터 송출되었다는 것을 확신시킨다. 한편, 교체 공격에서는, 공격자가 우선 일부 데이터 d를 관찰한 다음, 관찰된 데이터를 일부 다른 데이터 d'≠d로 교체한다. 공격자가 사칭 공격이나 교체 공격에서 성공할 확률은, 각각 PI 및 PS로 나타내고, 이들은 다음과 같이 표시된다.
Figure 112010066234130-pat00001
예를 들어, 도 7과 관련하여 이하에서 설명하는 키 교환 프로토콜의 내용에서, 공격자가 관찰된 데이터 d를 일부 다른 데이터 d'으로 교체할 확률, 즉 키 교환 중에 전송되는 공용 키를 또 다른 공용 키로 교체할 확률은, 키 교환 방법의 보안 관련 척도(measure)이다. 이 시나리오에서는, d'이 수신자에 의해 유효 데이터로서 받아들여지면, 공격자가 성공한다. 블루투스 등의 단범위(short-range) 무선 통신 시나리오에서는, 두 디바이스 모두가 서로 준비가 되었다는 신호를 하면, 두 디바이스 모두가 서로 물리적으로 가깝게 되고, 데이터를 수락하는 것에만 제한될 수 있다. 따라서, 사칭 공격이 쉽게 회피될 수 있는 시나리오에서는, 교체 공격의 확률이 보다 관련있는 보안 척도로서 간주될 수 있다. 또한, 많은 수동 인증 시나리오에서는, MAC 함수에 의해 계산된 태그값이 데이터가 송출되는 통신 링크와는 다른 별도의 통신 채널을 통해 전달된다. 이는 데이터와 태그값이 함께 전송되고, 공격자에 의해 관찰될 수 있는 표준 MAC 시나리오와는 반대이다. 이러한 가정하에서, 성공적인 교체 공격의 확률은 다음과 같이 표현한다.
Figure 112010066234130-pat00002
따라서, 키가 키 스페이스 K로부터 랜덤하게 일정하게 선택된다고 상정하면, 상기한 확률은
Figure 112010066234130-pat00003
으로 표현될 수 있다.
여기서,
Figure 112010066234130-pat00004
은, 셋트의 절대값이고, 즉
Figure 112010066234130-pat00005
는 K의 절대값이고, 상기 식의 분자는 d와 d' 모두에 대해 동일한 MAC 함수를 산출해 내는 키 스페이스 K 내의 모든 키 셋트의 절대값이다. 따라서, 상기 식으로부터, 높은 보안을 제공하기 위해 MAC 함수 f의 충돌 확률은 낮아야 한다.
다음은, MAC 구성의 예로서 에러 정정 코드에 기초한다. 설명을 목적으로, 유한 필드 Fq에 걸친 에러 정정 코드를 고려한다. 특히, n 길이의 코드워드의 Fq에 걸친 q-ary 코드를 고려하고, V로 나타낸다. 통상, 코드는, 각 메시지가 고유 코드워드에 대응하고, 각 코드워드가 다수의 심볼을 갖도록, 메시지로부터 코드워드로의 맵핑이다. 따라서, 코드 V는 모든 벡터 v∈V={V(d): d∈D} 로 구성되고, 여기서 V(d) =(V1 (d), V2 (d),...,Vn (d))로 구성되며, 즉 Vi (d)∈Fq는 코드워드 V(d)의 심볼이다.
2개의 q-ary n-tuples x 및 y간의 해밍 거리(Hamming distance) dH(x,y)는 동일하지 않은, n-tuples의 구성 요소의 수이다. 즉,
Figure 112010066234130-pat00006
이다. 코드 V의 최소 거리는,
Figure 112010066234130-pat00007
이다.
즉, 코드 V의 모든 코드워드 간의 최소 거리이다.
도 3을 참조하여, 에러 정정 코드에 기초한 MAC 구성의 일 실시예를 설명한다. 즉, 도 3은 도 1, 2 및 7의 서브 프로세스(106, 111, 205, 209, 714) 중 임의의 것의 실시예이다.
초기 단계 301에서, MAC 함수로의 입력으로서 이용되는 키 k와 인증된 메시지 d가 MAC 구성에 대한 입력 데이터로서 제공된다. 일 실시예에서, 키는 심볼, 숫자(digit), 문자 등의 스트링일 수 있다. 양호하게는, 키는 10-15 미만의 심볼을 포함하고, 보다 양호하게는 7 미만, 예컨대, 4-6의 16진수 문자를 포함한다.
단계 302에서, 인덱스 i∈{1,...,n}이 키 k의 함수 g로서 선택된다. 즉, i=g(k). 특히, 키 스페이스 K가 n개의 엘리먼트를 가지고 있으면, 즉,
Figure 112010066234130-pat00008
이면, 각 k는 심볼 인덱스들 중 하나에 고유하게 맵핑되고, 각 인덱스는 하나의 키에 대응한다. 일 실시예에서, 키는 인덱스, 즉 i=k로서 직접 이용된다.
단계 303에서, 태그값 t가 메시지 d에 대응하는 코드 V의 코드워드 V(d)의 i번째 심볼로서 결정된다. 즉, t=f(d,k)=vi (d)=vg(k) (d)이다.
이에 따라서, 태그값은 에러 정정 코드의 코드워드의 선택된 심볼로서 결정되는데, 여기서, 코드워드는 메시지에 대응하는 코드워드이고, 심볼은 키로서 특정된다. 결국, 상기 예에서는, MAC이 n과 동일한 사이즈의 키 스페이스 및 코딩 스페이스 사이즈와 동일한 메시지 스페이스 사이즈로 얻어진다. 또한, 상기한 대체 공격의 확률 Ps는 Ps = 1-dH(V)/n에 의해 제공된다.
도 4a 및 도 4b가 리드 솔로몬 코드에 기초하여 메시지 인증 코드를 계산하는 방법의 예의 흐름도를 도시한다.
리드 솔로몬(RS) 코드라는 용어는 에러 정정 코드의 타입을 말하는 것으로, 여기서 코드워드는 생성자 다항식을 갖는 다항식 분할을 통해 규정된다 (여기에 참조로서 포함되는, I.S. Reed 및 G. Solomon에 의한 1960, Soc, Ind. Appl. Math., vol.8의 "Polynominal Codes over Certain Finite Fields"를 참고한다). 리드 솔로몬 코드라는 용어는 리드 솔로몬 코드의 변수, 예컨대 소위 일반화된 리드 솔로몬 코드도 포함하고자 하는 것이다.
도 4a의 구성에서는, 초기 단계 401에서, MAC 구성으로의 입력 데이터, 즉 인증될 메시지 d와 키 k가, 도 3과 관련하여 설명한 바와 같이, MAC 함수로의 입력으로서 제공된다.
단계 402에서, 메시지는 q-ary τ-tuple over Fq, 즉 d=d0, d1,...,dτ-1로서 표현되며, 여기서 di∈Fq이다. 이에 따라서, 메시지에 대응하는 리드 솔로몬(RS) 인코딩 다항식은 p(d)(x) =d0+d1x+d2x2+...+dτ-1xτ-1로서 정의된다.
단계 403에서, MAC의 태그값이 키 k에 의해 특정된 포인트에서 다항식을 평가함으로써 계산된다. 즉, t=f(d, k)=vk (d)=p(d)(k)=d0+d1k+d2k2+...+dτ-1kτ-1이다.
이에 따라서, 키 k는 태그값으로서 이용되는 리드 솔로몬 코드의 심볼을 특정한다. 전술한 바와 같이, 심볼은 키의 임의의 적당한 함수에 의해 특정될 수 있다는 것이 이해된다.
이 구성에서는, 키가 유한 필드 Fq, 즉 k∈Fq로부터 선택된다. 이에 따라서, 구성은 다음의 특성 :
Figure 112010066234130-pat00009
Figure 112010066234130-pat00010
를 갖는다. 상기한 코드의 최소 거리는 dH(V)=n-τ+1이고, 따라서 성공적인 대체 공격의 확률 Ps=(τ-1)/n이다. 높은 최소 거리를 갖는 롱 코드에 의해 높은 보안성을 제공한다는 것이 리드 솔로몬 코드의 장점이다.
확률 Ps는 메시지 스페이스 D의 사이즈에 따라 증가한다는 것을 나타낸다.
도 4b는 리드 솔로몬 코드에 기초한 MAC 구성의 또 다른 실시예의 흐름도를 도시한다.
다시, 본 구성에 따르면, 초기 단계 404에서, MAC 구성으로의 입력 데이터, 즉 MAC 함수에 입력으로서 이용될 키 k와 인증될 메시지 d가 제공된다.
단계 405에서, 원-웨이 해시 함수 h가 메시지에 부여된다. 설명을 목적으로, 원-웨이 해시 함수란 데이터 아이템, 예컨대 스트링을 입력으로서 취하고, 고정 길이 2진수 값(해시)을 출력으로서 생성하는 알고리즘을 말한다. 특히, 이 프로세스는 역행할 수 없다. 즉, 제공된 해시값을 생성한 데이터 아이템을 찾는 것은 계산적으로 실행할 수 없다. 마찬가지로, 동일한 해시값을 생성하는 2개의 임의의 데이터 아이템을 찾는 것은 계산적으로 실행할 수 없다. 적당한 해시 함수의 예로서, 표준 보안 해시 알고리즘 SHA-1이 있다. 이 SHA-1 알고리즘은 길이가 264 비트 이하의 메시지를 취하여, 160 비트의 메시지 다이제스트를 생성한다. 원-웨이 해시 함수의 다른 예로서, MD4, MD5 등이 있다. 해시 함수의 출력 δ=h(d)를 리드 솔로몬 코드의 입력으로서 이용한다. 일 실시예에서는, 해시 함수의 출력의 끝을 잘라 유효 메시지 사이즈를 한 층 더 저감시킨다.
이에 따라서, 단계 406에서는, q-ary τ-tuple over Fq로 표현되는 해시값 δ은, δ=δ0, δ1,...,δτ-1이다. 여기서, δi∈Fq이다.
단계 407에서는, MAC의 태그값 t가, 키 k에 의해 특정된 포인트에서 대응하는 리드 솔로몬 인코딩 다항식을 평가함으로써 계산된다. 즉, t=f(δ, k)=vk(δ)=P(δ)(k)=δ01k+δ2k2+...+δτ-1kτ-1이다.
이에 따라서, 메시지에 SHA-1과 같은 원-웨이 해시 함수를 부여함으로써, 메시지 스페이스의 사이즈가 줄어들어, MAC의 출력의 길이 또는 키 길이, 즉 태그 길이를 상당히 증가시키지 않고도 성공적인 대체 공격의 확률 Ps를 감소시킨다. 이에 따라서, 짧은 키 및 짧은 메시지 태그의 경우에도 보안 인증이 제공되어, 휴먼 인터랙션을 통해 키 및 메시지 태그의 통신을 허용한다.
도 5는 도 4a 및 도 4b의 MAC 구성의 다수의 구성예에 대한 성공적인 대체 공격의 확률을 설명하는 표이다.
Figure 112010066234130-pat00011
로 지정된 제1의 컬럼은 비트수로서 메시지 사이즈를 포함하고, log2(n)으로 지정된 제2 컬럼은 비트수에 관련한(in terms of the number of bits) 키 사이즈를 도시하고, 마지막 컬럼은 성공적인 대체 공격 확률을 나타낸다. 예를 들어, 4의 16진수의 코드 길이와 4자리수의 키 사이즈를 갖는 코드(n=q=164, 즉 log2(n)=16)는 128 비트 길이의 메시지에 대하여 약 2-13 내지 2-16의 위조 확률을 산출한다. 따라서, 128 비트와 4의 16진수 비트(4 hexadecimal bits)인 코드 사이즈 및 키 사이즈로 끝이 잘려진 SHA-1 출력은 충분히 높은 보안성을 낳는다. 키 사이즈가 5자리수
Figure 112010066234130-pat00012
로 증가되면, 확률은 2-17 이하로 또한 감소된다.
도 6은 통상 A 및 B로 지정된 2개의 통신 디바이스를 포함하는 통신 시스템의 블록도를 도시한다. 통신 디바이스 A 및 B는 통신 링크(605)를 통해 서로 통신한다.
통신 디바이스 A는 처리부(602), 처리부에 접속된 무선 통신부(603), 처리부에 접속된 저장 매체(604) 및 처리부에 접속된 사용자 인터페이스(606)를 포함한다.
무선 통신부(603)는, 무선 링크(605)를 통해 처리부(602)로부터 수신된 데이터를 통신 디바이스(607)에 전송하고, 무선 링크로부터 데이터를 수신하여, 이들을 처리부로 포워드한다. 예를 들어, 무선 통신부(603)는 블루투스 기술 및 2.45Ghz에서 ISM 밴드에서의 송수신에 기초할 수 있다.
처리부(602), 예컨대 적당하게 프로그램된 마이크로프로세서가 다른 디바이스로부터 수신된 데이터 및 다른 디바이스로 송출될 데이터를 통신 디바이스 A에 의해 구현된 기능에 따라 처리한다. 특히, 처리부(602)는 상술한 보안 기능, 특히 MAC 함수의 대응하는 태그값 및 키의 생성을 수행하도록 적당히 프로그램된다.
저장 매체(604), 예컨대 EPROM, EEPROM, 플래시 메모리 등이, 전술한 바와 같은 메시지 인증에 대한 필요한 파라미터 뿐만 아니라 키 k를 저장하도록 적응된다.
사용자 인터페이스(606)는 생성된 키 K 및 대응하는 태그값 t를 디스플레이하여, 사용자가 생성된 값을 읽고, 그 것을 통신 디바이스 B에 전달할 수 있게 해주는 디스플레이를 포함한다. 부가적으로, 사용자 인터페이스(606)는 키보드, 키패드, 포인팅 디바이스, 터치 스크린 등의 데이터 입력 수단을 포함할 수 있다.
통신 디바이스 B는 처리부(609), 처리부에 접속된 무선 통신부(608), 처리부에 접속된 저장 매체(610), 처리부에 접속된 사용자 인터페이스(611)를 포함한다.
무선 통신부(609)는 통신 디바이스 A의 무선 통신부(603)에 대응하여, 무선 통신 디바이스 A와 B 간에 무선 통신을 허용한다.
처리부(609)는 다른 디바이스로부터 수신된 데이터 및 다른 디바이스로 송출될 데이터를 통신 디바이스에 의해 구현되는 기능성에 따라 처리한다. 특히, 처리부는 상술한 보안 기능, 특히 전술한 인증 방법 및 디바이스 A에 의해 구현된 인증 메커니즘에 대응하는 것을 수행하도록 프로그램된다.
마찬가지로, 저장 매체(604), 예컨대 EPROM, EEPROM, 플래시 메모리 등이 키 k 및 태그값 t를 저장하도록 적응된다.
사용자 인터페이스(611)는 입력 디바이스, 예컨대, 키패드, 키보드, 터치 스크린 등을 포함하여, 사용자가 통신 디바이스 A에 의해 생성된 키 k 및 대응하는 태그값 t를 입력할 수 있게 해준다. 부가적으로, 사용자 인터페이스는 디스플레이, 포인팅 디바이스 등을 포함할 수 있다.
이에 따라서, 도 6의 통신 시스템은 2개의 통신 디바이스, 예컨대 이동 전화들, 이동 전화, 포터블 컴퓨터 등의 2개의 포터블 통신 디바이스, 2개의 포터블 컴퓨터 또는 전술한 방법에 따라 메시지 인증을 수행하도록 적응된 유사 전자 장치의 임의의 조합을 포함한다.
일 실시예에서는, 처리부 및/또는 저장 매체가 대응하는 통신 디바이스에 착탈 가능하게 삽입되어, 실제 디바이스와는 독립적으로 보안 관련이 구축되게 해준다. 예컨대, 저장 매체 및/또는 처리부가 스마트 카드, 예컨대 SIM 카드에 의해 구성될 수 있다.
통신 디바이스는, 또한 도 6의 개략도에서는 생략된 구성 요소를 포함할 수 있다는 점에 유의한다. 예를 들어, 인증 체계의 실제 구현에 따라, 디바이스가 인증 방법의 파라미터를 입력 및/또는 출력하기 위한 입력 및/또는 출력 수단을 더 포함한다. 예컨대, 디바이스들 중 하나가 통신 인터페이스, 예컨대, 네트워크 서버 등으로부터 키 및/또는 태그값을 검색하기 위한 네트워크 카드를 더 포함할 수 있다.
도 7은 생성된 공유 비밀에 대한 기여도가 무선 통신 링크를 통해 전달되어, 전술한 메시지 인증에 의해 인증되는 보안 키 교환 메커니즘의 일 실시예를 도시한다. 이에 따라서, 본 실시예에서는, 메시지가 공유 비밀에 대한 기여도이다. 통상 A 및 B로 각각 지정된 2개의 디바이스가 공유 비밀 키를 구축하기 위해 보안 키 교환을 수행하는 경우, 이들은, 참조 번호 701로 통상 지정된 흐름도의 좌측 상의 단계가 디바이스 A에 의해 수행되고, 통상 참조 번호 702로 지정된 흐름도의 우측 상의 단계가 디바이스 B에 의해 수행되는 다음의 단계를 수행한다.
키는 키 어그리먼트(key agreement)에 대한 소위 "Diffie-Hellman" 방법에 기초한다. 다음의 설명에 대한 이해를 돕기 위해, Diffie-Hellman 키 어그리먼트를 간략하게 설명한다. 보다 상세한 설명은 본 명세서에 참조로서 포함되어 있는 US 4,200,770호를 참조한다.
디바이스 A 및 B가 공유 비밀 키를 구축하고자 하는 경우, 이들은 프리미티브(primitive) mod p인 소수 p>2 및 베이스 g에 동의한다. 파라미터 p 및 g는 디바이스 둘 다에 하드 코드될 수 있고, 이들은 디바이스들 중 하나에 의해 생성되어 다른 디바이스에 전달되며, 이들은 제3자 등으로부터 검색될 수 있다. 예를 들면, p 및 g를 생성하기 위해, p의 값을, 예컨대 1000 비트 이상을 포함하는 다수의 랜덤 수로서 선택할 수 있고, 공지된 소수 검사를 수행하여 p가 소수인지 여부를 테스트할 수 있다. 만약, 소수가 아니라면, 소수가 발견될 때까지 새로운 p를 선택하여 테스트할 수 있다. 후속하여, 랜덤 숫자(random number) g를 선택하고, g가 생성자(generator)인지 여부를 테스트한 다음, 만약 아니라면, 생성자가 발견될 때까지 새로운 g를 선택하여 테스트할 수 있다.
각 디바이스는 p-1 미만의 비밀 번호를 생성한다. 다음에서는, 디바이스 A에 의해 생성된 비밀 번호를 x라고 부르고, 디바이스 B에 의해 생성된 비밀 번호를 y라고 부른다. 그러면, 각 디바이스는 비밀 값 및 상기한 파라미터에 기초하여 공용 키를 생성한다. 디바이스 A는 X =gX mod p를 생성하고, mod는 모듈러(modulus) 함수, 즉 정수 나눗셈의 나머지를 나타낸다. 유사하게, 디바이스 B는 Y=gy mod p를 생성한다.
디바이스는 그들의 공용 키를 교환하고, 각 디바이스는, 디바이스 A:S=(Y)x mod p, 디바이스 B:S=(X)y mod p에 따라 공통의 비밀 값 S를 계산한다.
이에 따라서, 그 결과, 디바이스 A 및 B는 (gy mod p)x mod p =(gx mod p)y mod p이기 때문에, 비밀 값 x 및 y를 전달하지 않고, 공통의 비밀 키 S를 구축하였다.
도 7을 참조하면, 키 교환의 초기 단계 703에서, 디바이스 A는 랜덤 숫자 x, 대응하는 Diffie-Hellman 공용 키 X, 및 짧은 비밀 스트링 k를 생성한다. Diffie-Hellman 공용 키 X는 디바이스 A 및 B가 서로 동의한 대응하는 파라미터 g 및 p에 기초하여 전술한 바와 같이 계산된다. 양호하게는, 비밀 스트링 k가 적당한 키 스페이스로부터, 예컨대 4-6 의 16진수 스트링으로서 랜덤하게 결정된다.
다음 단계 704에서는, 디바이스 A가 전술한 바와 같이 메시지 인증 코드(MAC)를 이용하여 , 비밀 스트링 K를 키로서 이용하여 공용 키 X로부터 태그값을 계산한다. 키 구축 중에 추가의 데이터를 전달하는 일부 실시예에서는, 태그값이 공용 키 X와 추가 데이터를 포함하는 메시지로부터 계산되어, 추가 데이터에 대한 보전 보호를 제공할 수 있다.
단계 705에서, 생성된 비밀 스트링 K 및 계산된 태그값 t가, 도 7의 화살표 706으로 표시된 바와 같이, 적당한 통신 채널을 통해 디바이스 B로 전달된다. 예를 들어, K 및 t의 값이, 예컨대, 디바이스 A의 디스플레이로부터의 값들을 판독하고, 이 값들을 디바이스 B로 키잉(keying)함으로써, 사용자 인터랙션에 의해 디바이스 A에서 디바이스 B로 전송될 수 있다. 또 다른 실시예에서는, 이 값들이, 값들을 암호화된 메시지로서, 예컨대 이메일, SMS 등으로서 송출함으로써 예컨대 통신망을 통해, 또는 임의의 다른 적당한 통신 채널, 보다 양호하게는 보안 통신이 구축되는 통신 채널과는 다른 채널을 통해 일부 다른 수단에 의해 전송될 수 있다. 디바이스 A 및 B가 서로 구축된 통신 링크를 가질 필요가 없고, 서로 근접해 있을 필요조차도 없다는 것이 장점이다. 예를 들어, 디바이스 A의 사용자는 비밀 스트링 및 태그값을 전화, 메일 또는 임의의 다른 적당한 수단에 의해 디바이스 B의 사용자에게 통신할 수 있다. 또한, 생성된 값 K 및 t의 통신을, 공유 비밀 키가 디바이스들 간에 실제로 구축되는 시점에 앞서서, 예컨대 등록 절차의 일부로서 수행될 수 있다. 일 실시예에서는, 식별자 ID가, K 및 t의 후속 검색을 용이하게 하기 위해 K 및 t와 함께 전달된다.
단계 707에서, 디바이스 B는 K 및 t의 값을 수신하고, 단계 710에서, 디바이스 B의 저장 매체(711), 예컨대 포터블 디바이스의 EPROM 또는 EEPROM의 스마트 카드, 하드 디스크 또는 임의의 다른 적당한 데이터 저장 디바이스에 저장한다. K 및 t의 값이 식별자 ID와 관련되면, 값 K 및 t가, 예컨데 식별자를 이용하여, 인덱스로서 그 식별자에 관련하여 저장된다.
마찬가지로, 단계 708에서, 디바이스 A가 디바이스 A의 저장 매체(709)에, 식별자 ID와 선택적으로 관련하여 비밀 스트링 K를 저장한다. 또한, 디바이스 A는, 공용 키 X의 계산이 기초하였던 비밀 값 X를 저장한다.
이에 의해 초기 등록 절차가 끝난다. 디바이스 A 및 B가 통신 링크를 통해 실제로 접속되는 경우 실제 키 교환을 포함하는 다음의 단계가 수행된다. 이는 위의 초기 등록 직후 또는, 도 7의 라인 727로 표시된 바와 같이, 나중 시점일 수 있다.
단계 712에서, 디바이스 A는 무선 통신 링크를 통해 공용 키 X를 디바이스 B에 전송함으로써 실제 키 교환을 시작한다. 비밀 스트링 K가 식별자 ID와 관련되었던 실시예에서는, 디바이스 A가 또한 그 식별자를 전송한다. 마찬가지로, 단계 704에서, 태그값 t가 공용 키 및 일부 추가 데이터에 대하여 계산되면, 그 추가 데이터가 또한 디바이스 A에서 디바이스 B로 송출된다.
디바이스 B가 디바이스 A로부터 공용 키 X를 수신하면 (단계 713), 단계 714에서 디바이스 B가, 식별자 ID에 기초한 일 실시예에서, 저장 매체(711)로부터 비밀 스트링 K를 검색한다. 디바이스 B는 수신된 공용 키 X의 MAC 태그값 t'을 계산하고, 비밀 스트링 K에 기초한다.
단계 715에서, 디바이스 B는 계산된 태그값 t'과 이전에 저장된 태그값 t를 비교한다. 태그값이 서로 다르면, 수신된 공용키가 거절된다 (단계 716). 예를 들어, 디바이스 B는 대응하는 메시지를 디바이스 A에 송출함으로써, 또는 사용자에게 거절을 알림으로써, 예컨대 시각적 또는 청각적 표시를 제공함으로써 키 교환을 중단할 수 있다. 그렇지 않은 경우에는, 즉 태그값이 동일할 때는, 공용 키 X를 수락하고, 프로세스는 단계 717로 진행한다.
단계 717에서, 디바이스 B는, 전술한 바와 같이, 비밀 값 y 및 대응하는 Diffie-Hellman 공용 키 Y를 생성한다.
단계 718에서, 디바이스 B는 대응하는 Diffie-Hellman 공용 키 S=(X)y mod p를 생성한다.
단계 719에서, 디바이스 B는 생성된 공유 비밀 키 S를 이용하여 저장 매체(711)로부터 검색된 비밀 스트링 K를 암호화하여 암호화된 비밀 스트링 K*가 생성된다. 암호화는 대칭 비밀 키에 기초한 임의의 적당한 암호화 방법에 기초할 수 있다.
단계 720에서, 디바이스 B는 암호화된 스트링 K* 및 Diffie-Hellman 공용 키 Y를 디바이스 A에 송출한다. 또 다시, 일 실시예에서는, 디바이스 B가 또한 대응하는 식별자 ID를 송출한다.
단계 721에서, 디바이스 A는 암호화된 스트링 K* 및 Diffie-Hellman 공용 키 Y를 수신한다.
단계 722에서, 디바이스 A는 저장 매체(709)에 저장된 비밀 값 X를 이용하여 Diffie-Hellman 공유 비밀 키 S=(Y)X mod p를 생성한다.
단계 723에서, 디바이스 A는 생성된 공유 비밀 키 S를 이용하여 수신된 암호화된 비밀 스트링 K*를 복호하여 복호화된 비밀 스트링 K'을 얻는다.
단계 724에서, 디바이스 A는 수신되어 복호화된 비밀 스트링 K'을 디바이스 A에 의해 본래 생성되어 저장 매체(709)에 저장된 비밀 스트링 K와 비교한다. 비밀 스트링이 동일하지 않으면, 수신된 공용 키 Y가 거절된다. 즉, 생성된 공유 비밀 키 S가 폐기된다 (단계 725). 그렇지 않으면, 프로세스는 단계 726으로 진행한다.
단계 726에서, 수신된 공용 키 Y가 허락된다. 즉, 계산된 공유 비밀 키 S가 공유 비밀로서 허락된다. 일 실시예에서는, 대응하는 메시지가 디바이스로 송출되어, 키 교환이 완료된다. 생성된 공유 비밀 키는 현재, 디바이스들 간에 송출되는 메시지를 암호화 및/또는 보전 보호함으로써 디바이스 A와 B 간의 후속 통신을 보호하는데 이용될 수 있다.
다른 실시예에서는, 디바이스 B에서 디바이스 A로 전달되는 공용 키 Y가 서로 다른 방법, 예컨대 전술한 방법에 따라서, MAC을 계산함으로써 인증될 수 있다는 것을 이해해야 한다.
여기에서 설명하는 인증 방법은, 이전에 구축된 공유 비밀, 예컨대 익명의 Diffie-Hellman 키 동의에 의해서 생성된 공유 비밀을 인증하는데 이용될 수 있다. 이에 따라서, 본 실시예에서는, 메시지는 2개의 디바이스가 협동하여 생성한 공유 비밀이다라는 것을 이해해야 한다.
강조되어야할 점은, 본 명세서에서 사용되는 용어 "포함하다/포함하는"은 설명한 특징, 정수, 단계 또는 구성 요소의 존재를 특정하려는 것 뿐이고, 하나 이상의 다른 특징, 정수, 단계 및 구성 요소 또는 이들의 그룹의 존재 또는 추가를 배제하는 것은 아니다.
본 발명의 양호한 실시예를 설명하고 도시하였지만, 본 발명은 이들에 제한되는 것이 아니고, 다음의 특허 청구범위에 정의된 요지의 범주 내에서 다른 방법에 의해 구현될 수 있다.
특정한 척도가 상호 다른 종속 청구항에 인용되어 있다는 단순한 사실은, 이들 척도들의 조합이 장점에 이용될 수 없다는 것을 나타내는 것은 아니라는 것이다.

Claims (18)

  1. 메시지 인증 코드(message authentication code; MAC) 알고리즘을 이용하여 2개의 디바이스 간에 세션 지향형 공유 키(session oriented shared key)를 구축하기 위한 방법으로서,
    Diffie-Hellman 알고리즘에 따라, 메시지 X, Y를 생성하는 단계 - 여기서 X =gx mod p, Y=gy mod p, g와 p는 상기 2개의 디바이스가 동의한 파라미터이고, x, y는 각각 비밀 번호이고, 상기 2개의 디바이스 중 제1 디바이스는 X 및 x를 가지며, 상기 2개의 디바이스 중 제2 디바이스는 Y 및 y를 가짐 - ;
    제1 통신 채널을 통해 상기 2개의 디바이스 간에 메시지들을 전달하는 단계;
    상기 제1 디바이스로부터 상기 제2 디바이스에게, 상기 제1 통신 채널과는 다른 제2 통신 채널을 통해 태그 값 t 및 키 스트링 k를 전송하는 단계 - 상기 태그 값 t는 상기 제1 장치에서, 상기 메시지 X 및 상기 키 스트링 k를 가지고 MAC 알고리즘을 이용함으로써 생성된 것임 - ;
    상기 제2 디바이스에서, 상기 태그 값 t와 태그 값 t'가 서로 같다면, 비밀 키 S를 생성하고 상기 제1 디바이스에게 키 스트링 k'를 전송하는 단계 - 여기서 S = (X)y mod p = (Y)x mod p고, 상기 태그 값 t'는 상기 제2 디바이스에서, 수신된 상기 메시지 X 및 키 스트링 k를 가지고 MAC 알고리즘을 이용함으로써 생성된 것이며, 상기 키 스트링 k'는 상기 제2 디바이스에서, 수신된 상기 키 스트링 k를 상기 비밀 키 S를 가지고 암호화함으로써 생성됨 - ;
    상기 제1 디바이스에서, 상기 키 스트링 k와 상기 키 스트링 k'가 서로 같다면, 상기 비밀 키 S를 상기 세션 지향형 공유 키로서 수락하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제1 디바이스로부터 상기 제2 디바이스에게 상기 제2 통신 채널을 통해 태그 값 t 및 키 스트링 k 전송하는 단계는 사용자로부터의 입력 및 출력에 기초하여 수행되는 방법.
  3. 제1 디바이스와 제2 디바이스 간에 세션 지향형 공유 키를 구축하기 위한 방법으로서,
    상기 방법은 상기 제1 디바이스에서 수행되며,
    Diffie-Hellman 알고리즘에 따라, 상기 제1 디바이스의 비밀 번호 x에 기초하여 상기 제2 디바이스에게 전송되어야 할 메시지 X를 생성하는 단계;
    상기 제2 디바이스로부터 메시지 Y를 수신하는 단계 - 상기 메시지 Y는 상기 제2 디바이스에서 Diffie-Hellman 알고리즘에 따라 생성된 것임 - ;
    메시지 인증 코드(message authentication code; MAC) 알고리즘에 따라 상기 메시지 X 및 암호 키 스트링 k에 기초하여 태그 t를 계산하는 단계;
    상기 태그 t 및 상기 암호 키 스트링 k를 상기 제2 디바이스에게 전송하는 단계;
    상기 제2 디바이스로부터 암호화된 키 스트링 k'를 수신하는 단계;
    수신된 상기 메시지 Y에 기초하여 비밀 키 S'를 계산하는 단계;
    수신된 상기 암호화된 키 스트링 k'를 계산된 상기 비밀 키 S'를 가지고 복호화하는 단계;
    상기 암호화된 키 스트링 k'를 복호화한 것이 상기 암호 키 스트링 k와 동일하다면, 상기 계산된 비밀 키 S'를 상기 세션 지향형 공유 키로서 수락하는 단계를 포함하는 방법.
  4. 제3항에 있어서,
    상기 메시지 X를 생성하는 단계는 상기 메시지 X를 제1 채널을 통하여 상기 제2 디바이스에 전송하는 단계를 포함하고,
    상기 태그 t 및 상기 암호 키 스트링 k를 전송하는 단계는 상기 태그 t 및 상기 암호 키 스트링 k를 상기 제1 채널과는 다른 제2 채널을 통하여 상기 제2 디바이스에 전송하는 단계를 포함하는 방법.
  5. 제3항 또는 제4항에 있어서,
    상기 메시지 X는 gX mod p이고, 상기 메시지 Y는 Y=gy mod p이고, g와 p는 상기 제1 디바이스와 상기 제2 디바이스가 동의한 파라미터이고, y는 상기 제2 디바이스의 비밀 번호인 방법.
  6. 제3항 또는 제4항에 있어서,
    수신된 상기 암호화된 키 스트링 k'는 상기 제2 디바이스로 전송된 상기 암호 키 스트링 k를 비밀 키 S로 암호화한 것이고,
    상기 비밀 키 S는 Diffie-Hellman 알고리즘에 따라, 상기 제2 디바이스에 전송된 상기 메시지 X에 기초하여 상기 제2 디바이스에서 계산되는 비밀 키이며,
    상기 제2 디바이스로 전송된 상기 태그 t가 태그 t'와 동일하다면, 상기 태그 t'는 상기 제2 디바이스로 전송된 상기 메시지 X 및 상기 암호 키 스트링 k에 기초하여 계산된 것인 방법.
  7. 제6항에 있어서,
    상기 비밀 키 S는 (X)y mod p 이고, 상기 비밀 키 S'는 (Y)x mod p인 방법.
  8. 제1 디바이스와 제2 디바이스 간에 세션 지향형 공유 키를 구축하기 위한 방법으로서,
    상기 방법은 상기 제2 디바이스에서 수행되며,
    Diffie-Hellman 알고리즘에 따라, 상기 제2 디바이스의 비밀 번호 y에 기초하여 상기 제1 디바이스에게 전송되어야 할 메시지 Y를 생성하는 단계;
    상기 제1 디바이스로부터 메시지 X를 수신하는 단계 - 상기 메시지 X는 상기 제1 디바이스에서 Diffie-Hellman 알고리즘에 따라 생성된 것임 - ;
    상기 제1 디바이스로부터 태그 t 및 대응하는 암호 키 스트링 k를 수신하는 단계;
    메시지 인증 코드(message authentication code; MAC) 알고리즘에 따라 상기 메시지 X 및 수신된 상기 암호 키 스트링 k에 기초하여 태그 t'를 계산하는 단계;
    상기 태그 t와 상기 태그 t'가 서로 같다면, 수신된 상기 메시지 X에 기초하여 비밀 키 S를 계산하는 단계;
    상기 비밀 키 S를 가지고 상기 암호 키 스트링 k를 암호화하여 암호화된 키 스트링 k'를 생성하는 단계; 및
    상기 암호화된 키 스트링 k'를 상기 제1 디바이스에 전송하는 단계를 포함하는 방법.
  9. 제8항에 있어서,
    상기 메시지 X를 수신하는 단계는 상기 메시지 X를 제1 채널을 통하여 상기 제1 디바이스로부터 수신하는 단계를 포함하고,
    상기 태그 t 및 상기 암호 키 스트링 k를 수신하는 단계는 상기 태그 t 및 상기 암호 키 스트링 k를 상기 제1 채널과는 다른 제2 채널을 통하여 상기 제1 디바이스로부터 수신하는 단계를 포함하는 방법.
  10. 제8항 또는 제9항에 있어서,
    상기 메시지 X는 gX mod p이고, 상기 메시지 Y는 Y=gy mod p이고, g와 p는 상기 제1 디바이스와 상기 제2 디바이스가 동의한 파라미터이고, x는 상기 제1 디바이스의 비밀 번호인 방법.
  11. 제2 디바이스와의 세션 지향형 공유 키를 구축하기 위한 디바이스로서,
    상기 제2 디바이스와 데이터를 교환하도록 구성된 통신 유닛; 및
    상기 데이터를 처리하도록 구성된 프로세싱 유닛을 포함하고,
    상기 프로세싱 유닛은:
    Diffie-Hellman 알고리즘에 따라, 상기 디바이스의 비밀 번호 x에 기초하여 상기 제2 디바이스에게 전송되어야 할 메시지 X를 생성하고;
    상기 제2 디바이스로부터 메시지 Y를 수신하고 - 상기 메시지 Y는 상기 제2 디바이스에서 Diffie-Hellman 알고리즘에 따라 생성된 것임 - ;
    메시지 인증 코드(message authentication code; MAC) 알고리즘에 따라 상기 메시지 X 및 암호 키 스트링 k에 기초하여 태그 t를 계산하고;
    상기 태그 t 및 상기 암호 키 스트링 k를 상기 제2 디바이스에게 전송하고;
    상기 제2 디바이스로부터 암호화된 키 스트링 k'를 수신하고;
    수신된 상기 메시지 Y에 기초하여 비밀 키 S'를 계산하고;
    수신된 상기 암호화된 키 스트링 k'를 계산된 상기 비밀 키 S'를 가지고 복호화하며;
    상기 암호화된 키 스트링 k'를 복호화한 것이 상기 암호 키 스트링 k와 동일하다면, 상기 계산된 비밀 키 S'를 상기 세션 지향형 공유 키로서 수락하도록 구성되어 있는 디바이스.
  12. 제11항에 있어서,
    상기 프로세싱 유닛은 상기 통신 유닛으로 하여금:
    상기 메시지 X를 제1 채널을 통하여 상기 제2 디바이스에 전송하고;
    상기 태그 t 및 상기 암호 키 스트링 k를 상기 제1 채널과는 다른 제2 채널을 통하여 상기 제2 디바이스에 전송하도록 제어하도록 구성되어 있는 디바이스.
  13. 제11항 또는 제12항에 있어서,
    상기 메시지 X는 gX mod p이고, 상기 메시지 Y는 Y=gy mod p이고, g와 p는 상기 디바이스와 상기 제2 디바이스가 동의한 파라미터이고, y는 상기 제2 디바이스의 비밀 번호인 디바이스.
  14. 제11항 또는 제12항에 있어서,
    수신된 상기 암호화된 키 스트링 k'는 상기 제2 디바이스로 전송된 상기 암호 키 스트링 k를 비밀 키 S로 암호화한 것이고,
    상기 비밀 키 S는 Diffie-Hellman 알고리즘에 따라, 상기 제2 디바이스에 전송된 상기 메시지 X에 기초하여 상기 제2 디바이스에서 계산되는 비밀 키이며,
    상기 태그 t가 태그 t'와 동일하다면, 상기 태그 t'는 상기 제2 디바이스로 전송된 상기 메시지 X 및 상기 암호 키 스트링 k에 기초하여 계산된 것인 디바이스.
  15. 제14항에 있어서,
    상기 비밀 키 S는 (X)y mod p 이고, 상기 비밀 키 S'는 (Y)x mod p인 디바이스.
  16. 제2 디바이스와의 세션 지향형 공유 키를 구축하기 위한 디바이스로서,
    상기 제2 디바이스와 데이터를 교환하도록 구성된 통신 유닛; 및
    상기 데이터를 처리하도록 구성된 프로세싱 유닛을 포함하고,
    상기 프로세싱 유닛은:
    Diffie-Hellman 알고리즘에 따라, 상기 디바이스의 비밀 번호 y에 기초하여 상기 제2 디바이스에게 전송되어야 할 메시지 Y를 생성하고;
    상기 제2 디바이스로부터 메시지 X를 수신하고 - 상기 메시지 X는 상기 제2 디바이스에서 Diffie-Hellman 알고리즘에 따라 생성된 것임 - ;
    상기 제2 디바이스로부터 태그 t 및 대응하는 암호 키 스트링 k를 수신하고;
    메시지 인증 코드(message authentication code; MAC) 알고리즘에 따라 상기 메시지 X 및 수신된 상기 암호 키 스트링 k에 기초하여 태그 t'를 계산하고;
    상기 태그 t와 상기 태그 t'가 서로 같다면, 수신된 상기 메시지 X에 기초하여 비밀 키 S를 계산하고;
    상기 비밀 키 S를 가지고 상기 암호 키 스트링 k를 암호화하여 암호화된 키 스트링 k'를 생성하며;
    상기 암호화된 키 스트링 k'를 상기 제2 디바이스에 전송하도록 구성되어 있는 디바이스.
  17. 제16항에 있어서,
    상기 프로세싱 유닛은 상기 통신 유닛으로 하여금:
    상기 메시지 X를 제1 채널을 통하여 상기 제2 디바이스로부터 수신하고;
    상기 태그 t 및 상기 암호 키 스트링 k를 상기 제1 채널과는 다른 제2 채널을 통하여 상기 제2 디바이스로부터 수신하도록 제어하도록 구성되어 있는 디바이스.
  18. 제16항 또는 제17항에 있어서,
    상기 메시지 X는 gX mod p이고, 상기 메시지 Y는 Y=gy mod p이고, g와 p는 상기 디바이스와 상기 제2 디바이스가 동의한 파라미터이고, x는 상기 제2 디바이스의 비밀 번호인 디바이스.
KR1020107022927A 2002-10-24 2003-10-09 에러 정정 코드에 기초하는 메시지 인증 코드 KR101092696B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US42096402P 2002-10-24 2002-10-24
US60/420,964 2002-10-24
US10/602,167 US7702910B2 (en) 2002-10-24 2003-06-24 Message authentication
US10/602,167 2003-06-24

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020057007151A Division KR101255357B1 (ko) 2002-10-24 2003-10-09 메시지 처리 방법, 통신 디바이스, 컴퓨터 판독가능 기록 매체

Publications (2)

Publication Number Publication Date
KR20100114947A KR20100114947A (ko) 2010-10-26
KR101092696B1 true KR101092696B1 (ko) 2011-12-09

Family

ID=32179830

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020117009789A KR20110053391A (ko) 2002-10-24 2003-10-09 메시지 처리 방법, 통신 디바이스, 컴퓨터 판독가능 기록 매체
KR1020107022927A KR101092696B1 (ko) 2002-10-24 2003-10-09 에러 정정 코드에 기초하는 메시지 인증 코드
KR1020057007151A KR101255357B1 (ko) 2002-10-24 2003-10-09 메시지 처리 방법, 통신 디바이스, 컴퓨터 판독가능 기록 매체

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020117009789A KR20110053391A (ko) 2002-10-24 2003-10-09 메시지 처리 방법, 통신 디바이스, 컴퓨터 판독가능 기록 매체

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020057007151A KR101255357B1 (ko) 2002-10-24 2003-10-09 메시지 처리 방법, 통신 디바이스, 컴퓨터 판독가능 기록 매체

Country Status (10)

Country Link
US (1) US7702910B2 (ko)
EP (1) EP1554835B1 (ko)
JP (1) JP4664206B2 (ko)
KR (3) KR20110053391A (ko)
CN (1) CN1729646B (ko)
AT (1) ATE348459T1 (ko)
AU (1) AU2003268933A1 (ko)
DE (1) DE60310439T2 (ko)
ES (1) ES2279142T3 (ko)
WO (1) WO2004038999A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005159905A (ja) * 2003-11-27 2005-06-16 Ntt Docomo Inc データ保存装置及び通信端末装置
US7831828B2 (en) * 2004-03-15 2010-11-09 Cardiac Pacemakers, Inc. System and method for securely authenticating a data exchange session with an implantable medical device
US7739513B2 (en) * 2005-02-22 2010-06-15 Sony Corporation Secure device authentication
US7392037B2 (en) * 2005-08-19 2008-06-24 Intel Corporation Wireless communication device and methods for protecting broadcasted management control messages in wireless networks
US8280982B2 (en) 2006-05-24 2012-10-02 Time Warner Cable Inc. Personal content server apparatus and methods
US9386327B2 (en) * 2006-05-24 2016-07-05 Time Warner Cable Enterprises Llc Secondary content insertion apparatus and methods
US8024762B2 (en) 2006-06-13 2011-09-20 Time Warner Cable Inc. Methods and apparatus for providing virtual content over a network
GB0622366D0 (en) * 2006-11-09 2006-12-20 Cambridge Silicon Radio Ltd Authenticating devices for RF communications
EP2562956B1 (en) 2007-12-13 2017-09-27 Certicom Corp. System and method for controlling features on a device
BRPI0820948A2 (pt) * 2007-12-19 2018-06-12 Paysert Ab sistema para recepção e transmissão de dados criptografados
KR100987213B1 (ko) * 2008-07-11 2010-10-12 삼성전자주식회사 바이오 키를 이용하여 VoIP을 기반으로 한 통신을수행하는 방법 및 장치
JP5493946B2 (ja) * 2010-02-08 2014-05-14 株式会社リコー 複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体
US20110264530A1 (en) 2010-04-23 2011-10-27 Bryan Santangelo Apparatus and methods for dynamic secondary content and data insertion and delivery
FI125393B (en) * 2012-07-17 2015-09-30 Arm Finland Oy Procedure, device and system for use in a web service
WO2014076911A1 (ja) * 2012-11-13 2014-05-22 日本電気株式会社 メッセージ認証システム、およびメッセージ認証方法
US20140282786A1 (en) 2013-03-12 2014-09-18 Time Warner Cable Enterprises Llc Methods and apparatus for providing and uploading content to personalized network storage
WO2015084797A1 (en) 2013-12-02 2015-06-11 Mastercard International Incorporated Method and system for secure tranmission of remote notification service messages to mobile devices without secure elements
US9735967B2 (en) 2014-04-30 2017-08-15 International Business Machines Corporation Self-validating request message structure and operation
US10511581B2 (en) * 2015-11-17 2019-12-17 International Business Machines Corporation Parallelizable encryption using keyless random permutations and authentication using same
US10586023B2 (en) 2016-04-21 2020-03-10 Time Warner Cable Enterprises Llc Methods and apparatus for secondary content management and fraud prevention
US10951591B1 (en) * 2016-12-20 2021-03-16 Wells Fargo Bank, N.A. SSL encryption with reduced bandwidth
US10951607B2 (en) * 2018-05-14 2021-03-16 GM Global Technology Operations LLC Authentication methods and systems
US11403849B2 (en) 2019-09-25 2022-08-02 Charter Communications Operating, Llc Methods and apparatus for characterization of digital content

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226383B1 (en) 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4688250A (en) * 1986-01-29 1987-08-18 Rca Corporation Apparatus and method for effecting a key change via a cryptographically protected link
JP2570635B2 (ja) * 1994-11-07 1997-01-08 日本電気株式会社 デジタル署名方式
US5651069A (en) 1994-12-08 1997-07-22 International Business Machines Corporation Software-efficient message authentication
US5664016A (en) 1995-06-27 1997-09-02 Northern Telecom Limited Method of building fast MACS from hash functions
JPH09270053A (ja) * 1996-03-29 1997-10-14 Mitsubishi Electric Corp 認証番号発行装置および認証番号検証装置
US6690289B1 (en) 1997-06-12 2004-02-10 Microsoft Corporation Message formatting, authentication, and error detection in home control systems
JPH118616A (ja) * 1997-06-17 1999-01-12 Dainippon Printing Co Ltd 故障利用攻撃対応icカード
US6192474B1 (en) 1998-07-31 2001-02-20 Lucent Technologies Inc. Method for establishing a key using over-the-air communication and password protocol and password protocol
US6851052B1 (en) * 1998-12-10 2005-02-01 Telcordia Technologies, Inc. Method and device for generating approximate message authentication codes
CA2296967A1 (en) * 1999-02-02 2000-08-02 Gregory S. Caso Show-thru prevention and user authentication of uplink bursts without overhead
EP1149475B1 (en) 1999-02-11 2003-12-03 RSA Security Inc. A fuzzy commitment scheme
US6779111B1 (en) * 1999-05-10 2004-08-17 Telefonaktiebolaget Lm Ericsson (Publ) Indirect public-key encryption
US6754824B1 (en) 1999-06-25 2004-06-22 Telefonaktiebolaget L M Ericsson (Publ) Modulated message authentication system and method
US6845449B1 (en) * 1999-07-23 2005-01-18 Networks Associates Technology, Inc. System and method for fast nested message authentication codes and error correction codes
WO2001011818A2 (en) 1999-08-09 2001-02-15 Qualcomm Incorporated Method and apparatus for generating a message authentication code
DK174672B1 (da) * 1999-11-09 2003-08-25 Orange As System til elektronisk udlevering af en personlig identifikationskode
JP2001175602A (ja) * 1999-12-20 2001-06-29 Casio Comput Co Ltd 通信端末接続確立方法および通信システム
US6631172B1 (en) * 2000-05-01 2003-10-07 Lucent Technologies Inc. Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels
ATE389987T1 (de) 2001-05-03 2008-04-15 Ericsson Telefon Ab L M Verfahren und vorrichtung zum schutz der datenintegrität
US20030041242A1 (en) 2001-05-11 2003-02-27 Sarver Patel Message authentication system and method
US6718503B1 (en) * 2002-01-04 2004-04-06 Itran Communications Ltd. Reduced latency interleaver utilizing shortened first codeword

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226383B1 (en) 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication

Also Published As

Publication number Publication date
ATE348459T1 (de) 2007-01-15
US20050262418A1 (en) 2005-11-24
EP1554835A1 (en) 2005-07-20
DE60310439T2 (de) 2007-09-27
KR101255357B1 (ko) 2013-04-17
KR20100114947A (ko) 2010-10-26
CN1729646B (zh) 2010-09-29
EP1554835B1 (en) 2006-12-13
AU2003268933A1 (en) 2004-05-13
KR20050083819A (ko) 2005-08-26
ES2279142T3 (es) 2007-08-16
CN1729646A (zh) 2006-02-01
DE60310439D1 (de) 2007-01-25
WO2004038999A1 (en) 2004-05-06
US7702910B2 (en) 2010-04-20
KR20110053391A (ko) 2011-05-20
JP4664206B2 (ja) 2011-04-06
JP2006504361A (ja) 2006-02-02

Similar Documents

Publication Publication Date Title
KR101092696B1 (ko) 에러 정정 코드에 기초하는 메시지 인증 코드
US7284127B2 (en) Secure communications
US8280056B2 (en) System and methods for encryption with authentication integrity
US10650373B2 (en) Method and apparatus for validating a transaction between a plurality of machines
EP1255372B1 (en) Method and system for data integrity protection
CN110381055B (zh) 医疗供应链中的rfid系统隐私保护认证协议方法
US6904150B1 (en) Cryptographic method and system for double encryption of messages
CN111448815A (zh) 安全rfid标签识别
CN107154920B (zh) 安全信息的加密方法、解密方法及用以接收安全信息的接收装置
Duc et al. Enhancing security of EPCglobal Gen-2 RFID against traceability and cloning
US20110296193A1 (en) Code-based hashing for message authentication codes
CN117440372B (zh) 无线网络的零信任认证方法及装置
JP4746296B2 (ja) 暗号鍵設定システム、データ通信装置、暗号鍵設定方法
JP6404958B2 (ja) 認証システム、方法及びプログラム並びにサーバ
KR100571178B1 (ko) 메시지의 암호화 및 복호화 방법
CN111641493A (zh) 基于云计算的物流区块链的共识方法及装置
JP2018117388A (ja) 認証システム、方法及びプログラム、移動機器並びにサーバ

Legal Events

Date Code Title Description
A107 Divisional application of patent
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: 20141121

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151123

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161124

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171127

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181123

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191127

Year of fee payment: 9