KR20150058310A - 메시지 데이터를 보호하기 위한 장치 및 방법 - Google Patents

메시지 데이터를 보호하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR20150058310A
KR20150058310A KR1020157009352A KR20157009352A KR20150058310A KR 20150058310 A KR20150058310 A KR 20150058310A KR 1020157009352 A KR1020157009352 A KR 1020157009352A KR 20157009352 A KR20157009352 A KR 20157009352A KR 20150058310 A KR20150058310 A KR 20150058310A
Authority
KR
South Korea
Prior art keywords
message data
data
remote station
message
padding bits
Prior art date
Application number
KR1020157009352A
Other languages
English (en)
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 KR20150058310A publication Critical patent/KR20150058310A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1475Passive attacks, e.g. eavesdropping or listening without modification of the traffic monitored
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • 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/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/3239Cryptographic 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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

메시지 데이터를 보호하기 위한 방법이 개시된다. 상기 방법에서, 메시지 데이터에는 메시지 데이터 상에서 수행되는 결정론적 함수에 기초하여 생성된 패딩 비트들이 패딩된다. 패딩된 메시지 데이터는 압축된 데이터를 생성하도록 압축된다. 압축된 데이터의 길이는 패딩 비트들에 의존한다. 압축된 데이터는 암호화된 메시지 데이터를 생성하도록 암호화된다.

Description

메시지 데이터를 보호하기 위한 장치 및 방법{APPARATUS AND METHOD FOR PROTECTING MESSAGE DATA}
본 출원은 2012년 9월 14일자로 출원된 미국 가출원 제 61/701,384 호의 이점을 주장하고, 상기 가출원은 인용에 의해 본원에 통합된다.
본 발명은 일반적으로 압축 및 암호화된 메시지 데이터를 보호하는 것에 관한 것이다.
암호화 및 압축된 메시지의 길이가 정보를 발견하는데 이용될 수 있기 때문에 압축을 사용하는 보안 접속(예를 들면, SSL/TLS)에 대한 공격이 이루어질 수 있다. 공격자가 비압축된 메시지 내의 일부 텍스트를 제어할 수 있을 때, 공격자는, 그가 가장 짧은 암호화된 메시지를 발생시키는 것을 발견할 때까지 디지트들(또는 바이트들)을 통해 사이클링할 수 있다. 예를 들면, 암호화된 메시지는 "비밀=4528715"와 같은 태그를 포함할 수 있다. 공격자가 삽입한 비압축된 메시지가 "비밀=4"일 때, "비밀=0"과 같은 다른 가능한 디지트들에 대한 것보다 압축이 더 양호해질 것이고, 따라서 암호화된 메시지의 길이가 더 짧아질 것이다. 제 1 디지트를 발견한 후에, 공격자는, 그가 더 짧은 길이, 예를 들면, "비밀=45"를 발생시키는 것을 발견할 때까지 다음의 가능한 디지트들(또는 바이트들)을 통해 사이클링할 수 있다. 이어서, 공격자는, 민감한 정보 모두가 발견될 때까지, 다음의 디지트(또는 바이트)를 통해 사이클링할 수 있다.
따라서, 압축된 메시지의 길이가 압축 및 암호화된 데이터 스트림으로부터 결정될 수 없도록 압축뿐만 아니라 암호화되는 메시지를 보호하기 위한 기술에 대한 필요성이 존재한다.
본 발명의 일 양상은 메시지 데이터를 보호하기 위한 방법에 존재할 수 있다. 상기 방법에서, 메시지 데이터에는 메시지 데이터 상에서 수행되는 결정론적 함수(deterministic function)에 기초하여 생성된 패딩 비트들이 패딩된다. 패딩된 메시지 데이터는 압축된 데이터를 생성하도록 압축된다. 압축된 데이터의 길이는 패딩 비트들에 의존한다. 압축된 데이터는 암호화된 메시지 데이터를 생성하도록 암호화된다.
본 발명의 더 상세한 양상들에서, 결정론적 함수는 해시(hash) 함수를 포함할 수 있다. 패딩 비트들은 메시지 데이터에 프리픽싱(prefixed) 또는 프리펜딩(prepended)될 수 있다. 패딩 비트들은 패딩 비트들의 끝(end)이 수신기에 의해 결정되게 허용하도록 제약될 수 있다.
본 발명의 다른 양상은, 메시지 데이터 상에서 수행되는 결정론적 함수에 기초하여 생성된 패딩 비트들을 메시지 데이터에 패딩하기 위한 수단, 압축된 데이터를 생성하기 위해, 패딩된 메시지 데이터를 압축하기 위한 수단 ― 압축된 데이터의 길이는 패딩 비트들에 의존함 ― , 및 암호화된 메시지 데이터를 생성하기 위해 압축된 데이터를 암호화하기 위한 수단을 포함하는 원격 스테이션에 존재할 수 있다.
본 발명의 다른 양상은, 메시지 데이터 상에서 수행되는 결정론적 함수에 기초하여 생성된 패딩 비트들을 메시지 데이터에 패딩하고, 압축된 데이터를 생성하기 위해, 패딩된 메시지 데이터를 압축하고 ― 압축된 데이터의 길이는 패딩 비트들에 의존함 ― , 그리고 암호화된 메시지 데이터를 생성하기 위해 압축된 데이터를 암호화하도록 구성된 프로세서를 포함하는 원격 스테이션에 존재할 수 있다.
본 발명의 다른 양상은, 컴퓨터로 하여금, 메시지 데이터 상에서 수행되는 결정론적 함수에 기초하여 생성된 패딩 비트들을 메시지 데이터에 패딩하게 하기 위한 코드, 컴퓨터로 하여금, 압축된 데이터를 생성하기 위해, 패딩된 메시지 데이터를 압축하게 하기 위한 코드 ― 압축된 데이터의 길이는 패딩 비트들에 의존함 ― , 및 컴퓨터로 하여금, 암호화된 메시지 데이터를 생성하기 위해 압축된 데이터를 암호화하게 하기 위한 코드를 포함하는 컴퓨터-판독 가능 매체를 포함하는 컴퓨터 프로그램 물건에 존재할 수 있다.
본 발명의 다른 양상은, 메시지 데이터를 보호하기 위한 방법에 존재할 수 있다. 상기 방법에서, 압축 알고리즘의 압축 파라미터 값은 메시지 데이터 상에서 수행되는 결정론적 함수를 사용하여 선택된다. 메시지 데이터는 압축된 데이터를 생성하기 위해 압축 알고리즘 및 선택된 압축 파라미터 값을 사용하여 압축된다. 압축된 데이터의 길이는 압축 파라미터 값에 의존한다. 압축된 데이터는 암호화된 메시지 데이터를 생성하기 위해 암호화된다.
본 발명의 더 상세한 양상들에서, 압축 파라미터 값은 최대 체인 길이 값일 수 있다. 결정론적 함수는 해시 함수를 포함할 수 있다. 메시지 데이터를 압축하는 것은 패딩된 메시지 데이터를 생성하기 위해 결정론적 함수에 기초하여 선택된 다수의 패딩 비트들을 메시지 데이터에 패딩하는 것, 및 패딩된 메시지 데이터에 대해 압축 알고리즘 및 선택된 압축 파라미터 값을 사용함으로써 압축된 데이터를 생성하는 것을 포함할 수 있다. 패딩 비트들은 메시지 데이터에 프리픽싱될 수 있다. 패딩 비트들은 패딩 비트들의 끝이 수신기에 의해 결정되게 허용하도록 제약될 수 있다.
본 발명의 다른 양상은, 메시지 데이터 상에서 수행되는 결정론적 함수를 사용하여 압축 알고리즘의 압축 파라미터 값을 선택하기 위한 수단, 압축된 데이터를 생성하기 위해 압축 알고리즘 및 선택된 압축 파라미터 값을 사용하여 메시지 데이터를 압축하기 위한 수단 ― 압축된 데이터의 길이는 압축 파라미터 값에 의존함 ― , 및 암호화된 메시지 데이터를 생성하기 위해 압축된 데이터를 암호화하기 위한 수단을 포함하는 원격 스테이션에 존재할 수 있다.
본 발명의 다른 양상은, 메시지 데이터 상에서 수행되는 결정론적 함수를 사용하여 압축 알고리즘의 압축 파라미터 값을 선택하고, 압축된 데이터를 생성하기 위해 압축 알고리즘 및 선택된 압축 파라미터 값을 사용하여 메시지 데이터를 압축하고 ― 압축된 데이터의 길이는 압축 파라미터 값에 의존함 ― , 그리고 암호화된 메시지 데이터를 생성하기 위해 압축된 데이터를 암호화하도록 구성되는 프로세서를 포함하는 원격 스테이션에 존재할 수 있다.
본 발명의 다른 양상은, 컴퓨터로 하여금, 메시지 데이터 상에서 수행되는 결정론적 함수를 사용하여 압축 알고리즘의 압축 파라미터 값을 선택하게 하기 위한 코드, 컴퓨터로 하여금, 압축된 데이터를 생성하기 위해 압축 알고리즘 및 선택된 압축 파라미터 값을 사용하여 메시지 데이터를 압축하게 하기 위한 코드 ― 압축된 데이터의 길이는 압축 파라미터 값에 의존함 ― , 및 컴퓨터로 하여금, 암호화된 메시지 데이터를 생성하기 위해 압축된 데이터를 암호화하게 하기 위한 코드를 포함하는 컴퓨터-판독 가능 매체를 포함하는 컴퓨터 프로그램 물건에 존재할 수 있다.
본 발명의 다른 양상은, 메시지 데이터를 보호하기 위한 방법에 존재할 수 있다. 상기 방법에서, 메시지 데이터는 제 1 수의 데이터 바이트들을 포함하는 압축된 데이터를 생성하기 위해 압축된다. 압축된 데이터는 제 2 수의 데이터 바이트들을 포함하는 패딩된 압축된 데이터를 생성하기 위해 패딩되고, 제 2 수는 데이터 바이트들의 "제 1 수" + "패드 수"와 동일하고, 데이터 바이트들의 패드 수는 메시지 데이터의 해시에 기초하여 결정된다. 패딩된 압축된 데이터는 암호화된 메시지 데이터를 생성하기 위해 암호화된다.
본 발명의 더 상세한 양상들에서, 메시지 데이터의 해시는 메시지 데이터의 키잉된 해시(keyed hash)일 수 있다. 메시지 데이터의 키잉된 해시는 HMAC(Hashing for Message Authentication) 암호 해시 함수를 사용하여 수행될 수 있고, 키 도출 함수를 사용하여 도출된 난독화 키(obfuscation key)를 사용할 수 있다. 난독화 키는 교환된 비밀 값으로부터 생성될 수 있다. 키 도출 함수는 난독화 키를 생성하기 위해 암호화 키 및 인증 키를 사용할 수 있다. 암호화 키 및 인증 키는 교환된 비밀 값 및 복수의 비-비밀 값들로부터 생성될 수 있다. 데이터 바이트들의 패드 수는 1로부터 32까지의 수를 포함할 수 있다.
본 발명의 다른 더 상세한 양상들에서, 패딩된 압축된 데이터를 생성하기 위해 압축된 데이터를 패딩하는 것은 메시지 데이터의 결정론적 함수에 기초하여 수정된 압축 알고리즘을 사용하는 것을 포함할 수 있다. 메시지 데이터는 TLS(Transport Layer Security) 프로토콜 메시지 또는 SSL(Secure Socket Layer) 프로토콜 메시지를 포함할 수 있다.
본 발명의 다른 양상은, 제 1 수의 데이터 바이트들을 포함하는 압축된 데이터를 생성하기 위해 메시지 데이터를 압축하기 위한 수단, 제 2 수의 데이터 바이트들을 포함하는 패딩된 압축된 데이터를 생성하기 위해 압축된 데이터를 패딩하기 위한 수단을 포함하는 원격 스테이션에 존재할 수 있고, 제 2 수는 데이터 바이트들의 "제 1 수" + "패드 수"와 동일하고, 데이터 바이트들의 패드 수는 메시지 데이터의 해시에 기초하여 결정된다.
본 발명의 다른 양상은 제 1 수의 데이터 바이트들을 포함하는 압축된 데이터를 생성하기 위해 메시지 데이터를 압축하고, 제 2 수의 데이터 바이트들을 포함하는 패딩된 압축된 데이터를 생성하기 위해 압축된 데이터를 패딩하도록 구성된 프로세서를 포함하는 원격 스테이션에 존재할 수 있고, 제 2 수는 데이터 바이트들의 "제 1 수" + "패드 수"와 동일하고, 데이터 바이트들의 패드 수는 메시지 데이터의 해시에 기초하여 결정된다.
본 발명의 다른 양상은, 컴퓨터로 하여금, 제 1 수의 데이터 바이트들을 포함하는 압축된 데이터를 생성하기 위해 메시지 데이터를 압축하게 하기 위한 코드, 컴퓨터로 하여금, 제 2 수의 데이터 바이트들을 포함하는 패딩된 압축된 데이터를 생성하기 위해 압축된 데이터를 패딩하게 하기 위한 코드를 포함하는 컴퓨터-판독 가능 매체를 포함하는 컴퓨터 프로그램 물건에 존재할 수 있고, 제 2 수는 데이터 바이트들의 "제 1 수" + "패드 수"와 동일하고, 데이터 바이트들의 패드 수는 메시지 데이터의 해시에 기초하여 결정된다.
도 1은 무선 통신 시스템의 예의 블록도이다.
도 2는 본 발명에 따라 메시지 데이터를 보호하기 위한 방법의 흐름도이다.
도 3은 메시지 데이터를 보호하기 위한 방법에서의 데이터의 흐름도이다.
도 4는 프로세서 및 메모리를 포함하는 컴퓨터의 블록도이다.
도 5는 본 발명에 따라 메시지 데이터를 보호하기 위한 다른 방법의 흐름도이다.
도 6은 메시지 데이터를 보호하기 위한 다른 방법에서의 데이터의 흐름도이다.
도 7은 본 발명에 따라 메시지 데이터를 보호하기 위한 다른 방법의 흐름도이다.
도 8은 메시지 데이터를 보호하기 위한 다른 방법에서의 데이터의 흐름도이다.
도 9는 메시지 데이터를 보호하기 위한 다른 방법에서의 데이터의 흐름도이다.
도 10은 메시지 데이터를 보호하기 위한 다른 방법에서 데이터의 흐름도이다.
단어 "예시적인"은 "예, 예시, 또는 예증으로서 기능하는"을 의미하도록 본원에 이용된다. "예시적인"으로서 본원에 설명된 어떠한 실시예도 반드시 다른 실시예들에 비해 선호되거나 또는 유리한 것으로서 해석되는 것은 아니다.
도 2 및 도 3을 참조하면, 본 발명의 일 양상은 메시지 데이터(310)를 보호하기 위한 방법(200)에 존재할 수 있다. 상기 방법에서, 메시지 데이터에는 메시지 데이터 상에서 수행되는 결정론적 함수(330)에 기초하여 생성된 패딩(padding) 비트들(320)이 패딩된다(단계 210). 패딩된 메시지 데이터(335)는 압축된 데이터(340)를 생성하도록 압축된다(단계 220). 압축된 데이터의 길이는 패딩 비트들에 의존한다. 압축된 데이터는 암호화된 메시지 데이터(350)를 생성하도록 암호화된다(단계 230). 암호화 함수(380)는 압축된 데이터를 암호화하기 위해 암호화 키를 사용한다. 상기 방법은, 압축된 메시지의 길이가 압축 및 암호화된 데이터 스트림으로부터 결정될 수 없도록, 압축뿐만 아니라 암호화되는 메시지를 보호한다.
본 발명의 더 상세한 양상들에서, 결정론적 함수(330)는 해시 함수를 포함할 수 있다. 패딩 생성기(360)는 패딩된 메시지의 길이를 결정하기 위해 해시 함수로부터 몇몇의 비트들을 취한다. 해시 함수로부터의 비트들은 랜덤형(radnom-like)이다. 결과적으로, 압축된 데이터(350)는 랜덤형 길이를 갖는다. 또한, 해시 함수로부터의 비트들은, 해시 함수로부터의 이러한 비트들의 랜덤형 속성으로 인해 거의 없어지게 압축되지는 않을 것이다. 패딩 비트들(320)은 메시지 데이터(310)에 프리픽싱(prefixed) 또는 프리펜딩(prepended)될 수 있다.
패딩 비트들(320)은 패딩 비트들의 끝이 수신기에 의해 결정되게 허용하도록 제약될 수 있다. 예를 들면, 마지막을 제외한 모든 패딩 바이트들의 최상위 비트는 0으로 강제될 수 있고, 마지막 바이트의 최상위 비트는 1로 강제될 수 있다. 메시지 수신기는 이러한 패턴에 의해 패딩의 끝을 결정할 수 있을 것이다. 다른 예로서, 첫 번째 5 개의 비트들에 패딩의 길이가 부여될 수 있다. (최대 길이가 32 바이트들이라고 가정함.) 비트들 중 나머지는 해시 함수(330)에서 비롯될 수 있다. 압축 함수(370) 및 압축 파라미터 값(390)은 도 6에 관련하여 아래에 설명된다.
추가로 도 4를 참조하면, 본 발명의 다른 양상은 메시지 데이터 상에서 수행되는 결정론적 함수(330)에 기초하여 생성된 패딩 비트들(320)을 메시지 데이터(310)에 패딩하기 위한 수단(410), 압축된 데이터(340)를 생성하기 위해 패딩된 메시지 데이터(335)를 압축하기 위한 수단(410) ― 압축된 데이터의 길이는 패딩 비트들에 의존함 ― , 및 암호화된 메시지 데이터(350)를 생성하기 위해 압축된 데이터를 암호화하기 위한 수단(410)을 포함하는 원격 스테이션(102)에 존재할 수 있다.
본 발명의 다른 양상은, 메시지 데이터 상에서 수행되는 결정론적 함수(330)에 기초하여 생성된 패딩 비트들(320)을 메시지 데이터(310)에 패딩하고, 압축된 데이터(340)를 생성하기 위해 패딩된 메시지 데이터(335)를 압축하고 ― 압축된 데이터의 길이는 패딩 비트들에 의존함 ― , 그리고 암호화된 메시지 데이터(350)를 생성하기 위해 압축된 데이터를 암호화하도록 구성된 프로세서(410)를 포함하는 원격 스테이션(102)에 존재한다.
본 발명의 다른 양상은, 컴퓨터(400)로 하여금, 메시지 데이터 상에서 수행되는 결정론적 함수에 기초하여 생성된 패딩 비트들(320)을 메시지 데이터(310)에 패딩하게 하기 위한 코드, 컴퓨터로 하여금, 압축된 데이터(340)를 생성하기 위해 패딩된 메시지 데이터(335)를 압축하게 하기 위한 코드 ― 압축된 데이터의 길이는 패딩 비트들에 의존함 ― , 및 컴퓨터(400)로 하여금, 암호화된 메시지 데이터(350)를 생성하기 위해 압축된 데이터를 암호화하게 하기 위한 코드를 포함하는 컴퓨터-판독 가능 매체(420)를 포함하는 컴퓨터 프로그램 물건에 존재할 수 있다.
도 5 및 도 6을 참조하면, 본 발명의 다른 양상은 메시지 데이터(610)를 보호하기 위한 방법(500)에 존재할 수 있다. 상기 방법에서, 압축 함수(670)의 압축 알고리즘의 압축 파라미터 값(690)은 메시지 데이터 상에서 수행되는 결정론적 함수(630)를 사용하여 선택된다(단계 510). 메시지 데이터는 압축된 데이터(640)를 생성하기 위해 압축 알고리즘 및 선택된 압축 파라미터 값을 사용하여 압축된다(단계 520). 압축된 데이터의 길이는 압축 파라미터 값에 의존한다. 압축된 데이터는 암호화된 메시지 데이터(650)를 생성하도록 암호화된다(단계 530). 암호화 함수(680)는 압축된 데이터를 암호화하기 위해 암호화 키 및 암호화 알고리즘을 사용한다.
본 발명의 더 상세한 양상들에서, 압축 파라미터 값은 최대 체인 길이 값일 수 있다. 결정론적 함수는 해시 함수(630)를 포함할 수 있다. 압축 함수(670)는 압축 동안에 많은 선택들을 할 수 있다. 웹 상의 데이터의 압축에서 일반적으로 사용되는 DEFLATE 함수는, 0으로부터 9까지의 범위에서 압축이 얼마나 공격적(aggressive)이어야 하는지를 나타내는 파라미터를 갖는다. 몇몇의 비트들은 해시 함수로부터 취해지고, 해당 범위로 감소되고, 압축 함수에 대한 요청의 일부가 될 수 있다. 이것은, 임의의 것이 메시지 데이터에서 변경된 경우에 압축 함수가 상이하게 작동하게 할 것이다.
DEFLATE 함수에서, 몇몇의 값들은 내부 튜닝 파라미터들, 즉, good_length, max_lazy, nice_length 및 max_chain으로서 사용될 수 있다. 예를 들면, max_chain 값은 그 값이 찾을 가장 긴 체인 등을 제어한다. DEFLATE 함수는, 표로부터 선택되는 0 내지 9의 단일 정수로서 대신에 이러한 튜닝 파라미터들을 개별적으로 수용하도록 수정될 수 있다. 튜닝 파라미터들은 해시 함수(630)의 출력으로부터의 비트들 중 일부를 사용하여 선택될 수 있다.
메시지 데이터(610)를 압축하는 것은 패딩된 메시지 데이터를 생성하기 위해 결정론적 함수에 기초하여 선택된 다수의 패딩 비트들을 메시지 데이터에 패딩하는 것, 및 패딩된 메시지 데이터 상에서 압축 알고리즘 및 선택된 압축 파라미터 값을 사용함으로써 압축된 데이터(640)를 생성하는 것을 포함할 수 있다. 패딩 비트들은 메시지 데이터에 프리픽싱될 수 있다. 패딩 비트들은 패딩 비트들의 끝이 수신기에 의해 결정되게 허용하도록 제약될 수 있다. 패딩 및/또는 압축 효과를 랜덤화하는 것은 그러한 길이-누설 타입 공격들로부터 보호될 수 있다.
본 발명의 다른 양상은, 메시지 데이터(610) 상에서 수행되는 결정론적 함수(630)를 사용하여 압축 알고리즘의 압축 파라미터 값(690)을 선택하기 위한 수단(410), 압축된 데이터(640)를 생성하기 위해 압축 알고리즘 및 선택된 압축 파라미터 값을 사용하여 메시지 데이터를 압축하기 위한 수단(410) ― 압축된 데이터의 길이는 압축 파라미터 값에 의존함 ― , 및 암호화된 메시지 데이터(650)를 생성하기 위해 압축된 데이터를 암호화하기 위한 수단을 포함하는 원격 스테이션(102)에 존재할 수 있다.
본 발명의 다른 양상은, 메시지 데이터(610) 상에서 수행되는 결정론적 함수(630)를 사용하여 압축 알고리즘의 압축 파라미터 값(690)을 선택하고, 압축된 데이터(640)를 생성하기 위해 압축 알고리즘 및 선택된 압축 파라미터 값을 사용하여 메시지 데이터를 압축하고 ― 압축된 데이터의 길이는 압축 파라미터 값에 의존함 ― , 그리고 암호화된 메시지 데이터(650)를 생성하기 위해 압축된 데이터를 암호화하도록 구성된 프로세서(410)를 포함하는 원격 스테이션(102)에 존재할 수 있다.
본 발명의 다른 양상은, 컴퓨터(400)로 하여금, 메시지 데이터(610) 상에서 수행되는 결정론적 함수(630)를 사용하여 압축 알고리즘의 압축 파라미터 값(690)을 선택하게 하기 위한 코드, 컴퓨터로 하여금, 압축된 데이터(640)를 생성하기 위해 압축 알고리즘 및 선택된 압축 파라미터 값을 사용하여 메시지 데이터를 압축하게 하기 위한 코드 ― 압축된 데이터의 길이는 압축 파라미터 값에 의존함 ― , 및 컴퓨터로 하여금, 암호화된 메시지 데이터(650)를 생성하기 위해 압축된 데이터를 암호화하게 하기 위한 코드를 포함하는 컴퓨터-판독 가능 매체(420)를 포함하는 컴퓨터 프로그램 물건에 존재할 수 있다.
도 7 내지 도 10을 참조하면, 본 발명의 다른 양상은 메시지 데이터(810)를 보호하기 위한 방법(700)에 존재할 수 있다. 상기 방법에서, 메시지 데이터는 제 1 수의 데이터 바이트들을 포함하는 압축된 데이터(840)를 생성하도록 압축된다(단계 710). 압축된 데이터는 제 2 수의 데이터 바이트들(837)을 포함하는 패딩된 압축된 데이터(835)를 생성하도록 패딩되고 ― 제 2 수는 데이터 바이트들의 "제 1 수" + "패드 수"와 동일함 ― , 데이터 바이트들의 패드 수는 메시지 데이터의 해시에 기초하여 결정된다(단계 720). 패딩된 압축된 데이터는 암호화된 메시지 데이터(850)를 생성하도록 암호화된다(단계 730).
본 발명의 더 상세한 양상들에서, 메시지 데이터(810)의 해시(830)는 메시지 데이터의 키잉된(keyed) 해시(935)일 수 있다. 메시지 데이터의 키잉된 해시는 HMAC(Hashing for Message Authentication) 암호 해시 함수를 사용하여 수행될 수 있고, 키 도출 함수를 사용하여 도출된 난독화(obfuscation) 키를 사용할 수 있다. 난독화 키는 교환된 비밀 값으로부터 생성될 수 있다. 키 도출 함수는 난독화 키를 생성하기 위해 암호화 키 및 인증 키를 사용할 수 있다. 암호화 키 및 인증 키는 교환된 비밀 값 및 복수의 비-비밀 값들로부터 생성될 수 있다. 데이터 바이트들의 패드 수는 1로부터 32까지의 수를 포함할 수 있다.
비압축된 텍스트(810)의 해시 또는 유사한 함수가 계산될 수 있다. 해시 값으로부터, 일부 패딩(837)의 길이가 일부 산술 또는 논리 연산에 의해 결정될 수 있다. 예를 들면, 연산은 해시의 마지막 유효(last significant) 5 비트들만을 사용할 수 있다. 이것은 0 내지 31의 수일 것이고, 이것은 부가될 수 있는 패딩(837)의 바이트들의 수일 것이다. 길이가 각각의 시험 디지트(trial digit)에 대해 다수의 바이트들만큼 변동될 것이고, 정확히 그 길이가 가장 짧은 것일 가능성이 없기 때문에, 이러한 기술은 이러한 타입의 공격을 좌절시킬 것이다. 해시 함수는 난독화 키(obfuscation key)와 같은 비밀을 포함할 수 있다. HMAC는 비밀을 포함하는 해시형 함수이다(때때로 HMAC는 키잉된 해시로 불린다).
비밀은 세션 설정의 부분으로서 도출될 수 있다. 세션 설정 동안에 암호화 키 및 인증 키를 도출하는 것은 일반적인데, 이러한 키들은 길이-난독화 키를 도출하는데 사용될 수 있다. 길이-난독화 키는 패딩의 길이의 계산의 부분일 것이다. 공격자가 길이-난독화 키를 알지 못하기 때문에, 공격자는 패딩의 길이를 계산할 수 없다.
일 양상은 압축 함수의 연산을 수정하는 것을 수반할 수 있다. 압축 함수들은 일반적으로 많은 결정들을 내릴 수 있다. 예를 들면, 압축 함수는 최근에 접한(encountered) 스트링들의 "사전들(dictionaries)"을 종종 구축한다. 그러나, 저장이 제한되기 때문에, 사전 내의 하나 이상의 엔트리들은 빈번한 간격들로 폐기되어야 한다. 최근에 가장 덜 본 스트링은 종종 폐기를 위해 선택된다. 그러나, 선택은 메시지의 해시에 의존하여 이루어질 수 있다. 실제 압축 알고리즘에서, 이루어질 수 있는 많은 다른 선택들이 존재할 수 있다. 메시지의 해시(또는 키잉된 해시)에 의존하여 이들 선택 중 일부 또는 전부를 행하는 것은 많은 "잡음"을 길이에 도입시킬 수 있다.
실제 보안 통신 시스템들에서, 일반적으로 프리-마스터 비밀(pre-master secret)이라 불리는 비밀 값을 교환하고, 이어서 비밀 값과 몇몇의 비-비밀 값들을 결합하기 위해 키 도출 함수를 사용하여, 암호화 키 및 인증 키를 생성하는 프로토콜이 존재한다. 패딩 난독화 키와 같은 제 3 키는 암호화 키 및 인증 키로부터 도출될 수 있다.
본 발명의 다른 더 상세한 양상들에서, 패딩된 압축된 데이터를 생성하기 위해 압축된 데이터(840)를 패딩하는 것은 메시지 데이터(810)의 결정론적 함수에 기초하여 수정된 압축 알고리즘(845)을 사용하는 것을 포함할 수 있다. 메시지 데이터는 TLS(Transport Layer Security) 프로토콜 메시지, 또는 SSL(Secure Socket Layer) 프로토콜 메시지를 포함할 수 있다. 해시 함수(830), 패딩 생성기(860) 및 암호화 함수(880)는 도 3에 관련하여 앞서 설명되었다. 패딩 수는 난수 생성기(1035)로부터의 난수에 기초하여 결정될 수 있다.
본 발명의 다른 양상은 제 1 수의 데이터 바이트들을 포함하는 압축된 데이터(840)를 생성하기 위해 메시지 데이터(810)를 압축하기 위한 수단(410), 제 2 수의 데이터 바이트들을 포함하는 패딩된 압축된 데이터(835)를 생성하기 위해 압축된 데이터를 패딩하기 위한 수단(410) ― 제 2 수는 데이터 바이트들의 "제 1 수" + "패드 수"와 동일하고, 데이터 바이트들의 패드 수는 메시지 데이터의 해시에 기초하여 결정됨 ― , 및 암호화된 메시지 데이터(850)를 생성하기 위해 패딩된 압축된 데이터를 암호화하기 위한 수단(410)을 포함하는 원격 스테이션(102)에 존재할 수 있다.
본 발명의 다른 양상은 제 1 수의 데이터 바이트들을 포함하는 압축된 데이터(840)를 생성하기 위해 메시지 데이터(810)를 압축하고, 제 2 수의 데이터 바이트들을 포함하는 패딩된 압축된 데이터(835)를 생성하기 위해 압축된 데이터를 패딩하고 ― 제 2 수는 데이터 바이트들의 "제 1 수" + "패드 수"와 동일하고, 데이터 바이트들의 패드 수는 메시지 데이터의 해시에 기초하여 결정됨 ― , 그리고 암호화된 메시지 데이터(850)를 생성하기 위해 패딩된 압축된 데이터를 암호화하도록 구성된 프로세서(410)를 포함하는 원격 스테이션(102)에 존재할 수 있다.
본 발명의 다른 양상은, 컴퓨터(400)로 하여금, 제 1 수의 데이터 바이트들을 포함하는 압축된 데이터(840)를 생성하기 위해 메시지 데이터(810)를 압축하게 하기 위한 코드, 컴퓨터로 하여금, 제 2 수의 데이터 바이트들을 포함하는 패딩된 압축된 데이터(835)를 생성하기 위해 압축된 데이터를 패딩하게 하기 위한 코드 ― 제 2 수는 데이터 바이트들의 "제 1 수" + "패드 수"와 동일하고, 데이터 바이트들의 패드 수는 메시지 데이터의 해시에 기초하여 결정됨 ― , 및 컴퓨터로 하여금, 암호화된 메시지 데이터(850)를 생성하기 위해 패딩된 압축된 데이터를 암호화하게 하기 위한 코드를 포함하는 컴퓨터-판독 가능 매체(420)를 포함하는 컴퓨터 프로그램 물건에 존재할 수 있다.
원격 스테이션(102)은 프로세서(410), 메모리 및/또는 디스크 드라이브와 같은 저장 매체(420)를 포함하는 컴퓨터(400), 디스플레이(430) 및 키패드(440)와 같은 입력 및 무선 접속부(450)를 포함할 수 있다.
도 1을 참조하면, 무선 원격 스테이션(RS)(102)(예를 들어, 모바일 스테이션(MS))은, 무선 통신 시스템(100)의 하나 이상의 기지국들(BS)(104)과 통신할 수 있다. 무선 통신 시스템(100)은 하나 이상의 기지국 컨트롤러들(BSC)(106), 및 코어 네트워크(108)를 더 포함할 수 있다. 코어 네트워크는 적합한 백홀들을 통해서 인터넷(110) 및 PSTN(Public Switched Telephone Network)(112)에 접속될 수 있다. 통상적인 무선 모바일 스테이션은, 핸드헬드 전화기, 또는 랩탑 컴퓨터를 포함할 수 있다. 무선 통신 시스템(100)은, CDMA(code division multiple access), TDMA(time division multiple access), FDMA(frequency division multiple access), SDMA(space division multiple access), PDMA(polarization division multiple access), 또는 당업계에 알려진 다른 변조 기법들과 같은 다수의 다중 액세스 기법들 중 어느 하나를 사용할 수 있다.
당업자들은 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 것을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 전술한 설명 전반에 걸쳐 참조될 수 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광 필드들 또는 광 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.
또한, 당업자들은 본원에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어 또는 이 둘의 조합들로서 구현될 수 있다는 것을 이해할 것이다. 하드웨어와 소프트웨어의 이러한 상호 교환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 좌우된다. 당업자들은 설명된 기능을 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 구현할 수 있으나, 이러한 구현 결정들은 본 발명의 범위를 벗어나게 하는 것으로 해석되어서는 안된다.
본원에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA) 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들 또는 본원에서 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합으로 구현되거나 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로 이 프로세서는 임의의 종래의 프로세서, 컨트롤러, 마이크로컨트롤러 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 연결된 하나 이상의 마이크로프로세서들 또는 임의의 다른 이러한 구성으로서 구현될 수 있다.
본원에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 직접 하드웨어로 구현되거나, 프로세서에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이 둘의 조합으로 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 탈착식 디스크, CD-ROM, 또는 당업계에 공지된 임의의 다른 형태의 저장 매체에 존재할 수 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있도록, 프로세서에 연결된다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수 있다. ASIC는 사용자 단말에 상주할 수 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말 내에서 이산 컴포넌트들로서 상주할 수 있다.
하나 이상의 예시적인 실시예들에서, 설명된 기능들은 하드웨어로, 소프트웨어로, 펌웨어로, 또는 이들의 임의의 조합으로 구현될 수 있다. 컴퓨터 프로그램 물건으로서 소프트웨어로 구현되는 경우, 상기 기능들은 컴퓨터-판독가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장되거나 또는 이들을 통해 송신될 수 있다. 컴퓨터-판독가능 매체들은 비-일시적 컴퓨터 저장 매체들 및 하나의 장소에서 다른 장소로의 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하는 통신 매체들 모두를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 한정이 아닌 예로서, 이러한 컴퓨터-판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 또는 컴퓨터에 의해 액세스될 수 있고 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 운반 또는 저장하는데 이용될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속수단(connection)이 컴퓨터-판독가능 매체로 적절하게 명명된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 트위스트 페어, 디지털 가입자 라인(DSL), 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 송신되면, 동축 케이블, 광섬유 케이블, 트위스트 페어, DSL, 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들이 매체의 정의 내에 포함된다. 본원에 이용되는 것과 같은, 디스크(disk) 및 디스크(disc)는 콤팩트 디스크(CD; compact disc), 레이저 디스크(laser disc), 광학 디스크(optical disc), 디지털 다기능 디스크(DVD: digital versatile disc), 플로피 디스크(floppy disk) 및 블루-레이 디스크(blu-ray disc)를 포함하며, 여기서 디스크(disk)들은 통상적으로 자기적으로 데이터를 재생하는 반면에 디스크(disc)들은 레이저들을 통해 광학적으로 데이터를 재생한다. 전술한 것들의 조합들이 또한 컴퓨터-판독가능 매체의 범위 내에 포함되어야 할 것이다.
개시된 실시예들의 이전 설명은 임의의 당업자가 본 발명을 실시하거나 이용하는 것을 가능하게 하기 위해 제공된다. 이러한 실시예들에 대한 다양한 변형들은 당업자들에게 쉽게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 사상 또는 범위에서 벗어나지 않고 다른 실시예들에 적용될 수 있다. 따라서, 본 발명은 본원에 도시된 실시예들로 제한되는 것으로 의도되는 것이 아니라, 본원에 개시된 원리들 및 신규의 특징들에 일치하는 최광의의 범위가 부여되어야 한다.

Claims (80)

  1. 메시지 데이터를 보호하기 위한 방법으로서,
    상기 메시지 데이터 상에서 수행되는 결정론적 함수(deterministic function)에 기초하여 생성된 패딩 비트들(padding bits)을 상기 메시지 데이터에 패딩하는 단계,
    압축된 데이터를 생성하기 위해, 패딩된 메시지 데이터를 압축하는 단계 ― 상기 압축된 데이터의 길이는 상기 패딩 비트들에 의존함 ― , 및
    암호화된 메시지 데이터를 생성하기 위해 상기 압축된 데이터를 암호화하는 단계를 포함하는,
    메시지 데이터를 보호하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 결정론적 함수는 해시(hash) 함수를 포함하는,
    메시지 데이터를 보호하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 패딩 비트들은 상기 메시지 데이터에 프리픽싱(prefixed)되는,
    메시지 데이터를 보호하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 패딩 비트들은 상기 패딩 비트들의 끝(end)이 수신기에 의해 결정되게 허용하도록 제약되는,
    메시지 데이터를 보호하기 위한 방법.
  5. 원격 스테이션으로서,
    메시지 데이터 상에서 수행되는 결정론적 함수에 기초하여 생성된 패딩 비트들을 상기 메시지 데이터에 패딩하기 위한 수단,
    압축된 데이터를 생성하기 위해, 패딩된 메시지 데이터를 압축하기 위한 수단 ― 상기 압축된 데이터의 길이는 상기 패딩 비트들에 의존함 ― , 및
    암호화된 메시지 데이터를 생성하기 위해 상기 압축된 데이터를 암호화하기 위한 수단을 포함하는,
    원격 스테이션.
  6. 제 5 항에 있어서,
    상기 결정론적 함수는 해시 함수를 포함하는,
    원격 스테이션.
  7. 제 5 항에 있어서,
    상기 패딩 비트들은 상기 메시지 데이터에 프리픽싱되는,
    원격 스테이션.
  8. 제 5 항에 있어서,
    상기 패딩 비트들은 상기 패딩 비트들의 끝이 수신기에 의해 결정되게 허용하도록 제약되는,
    원격 스테이션.
  9. 원격 스테이션으로서,
    프로세서를 포함하고, 상기 프로세서는,
    메시지 데이터 상에서 수행되는 결정론적 함수에 기초하여 생성된 패딩 비트들을 상기 메시지 데이터에 패딩하고,
    압축된 데이터를 생성하기 위해, 패딩된 메시지 데이터를 압축하고 ― 상기 압축된 데이터의 길이는 상기 패딩 비트들에 의존함 ― , 그리고
    암호화된 메시지 데이터를 생성하기 위해 상기 압축된 데이터를 암호화하도록 구성되는,
    원격 스테이션.
  10. 제 9 항에 있어서,
    상기 결정론적 함수는 해시 함수를 포함하는,
    원격 스테이션.
  11. 제 9 항에 있어서,
    상기 패딩 비트들은 상기 메시지 데이터에 프리픽싱되는,
    원격 스테이션.
  12. 제 9 항에 있어서,
    상기 패딩 비트들은 상기 패딩 비트들의 끝이 수신기에 의해 결정되게 허용하도록 제약되는,
    원격 스테이션.
  13. 컴퓨터-판독 가능 매체를 포함하는 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터-판독 가능 매체는,
    컴퓨터로 하여금, 메시지 데이터 상에서 수행되는 결정론적 함수에 기초하여 생성된 패딩 비트들을 상기 메시지 데이터에 패딩하게 하기 위한 코드,
    컴퓨터로 하여금, 압축된 데이터를 생성하기 위해, 패딩된 메시지 데이터를 압축하게 하기 위한 코드 ― 상기 압축된 데이터의 길이는 상기 패딩 비트들에 의존함 ― , 및
    컴퓨터로 하여금, 암호화된 메시지 데이터를 생성하기 위해 상기 압축된 데이터를 암호화하게 하기 위한 코드를 포함하는,
    컴퓨터 프로그램 물건.
  14. 제 13 항에 있어서,
    상기 결정론적 함수는 해시 함수를 포함하는,
    컴퓨터 프로그램 물건.
  15. 제 13 항에 있어서,
    상기 패딩 비트들은 상기 메시지 데이터에 프리픽싱되는,
    컴퓨터 프로그램 물건.
  16. 제 13 항에 있어서,
    상기 패딩 비트들은 상기 패딩 비트들의 끝이 수신기에 의해 결정되게 허용하도록 제약되는,
    컴퓨터 프로그램 물건.
  17. 메시지 데이터를 보호하기 위한 방법으로서,
    상기 메시지 데이터 상에서 수행되는 결정론적 함수를 사용하여 압축 알고리즘의 압축 파라미터 값을 선택하는 단계,
    압축된 데이터를 생성하기 위해 상기 압축 알고리즘 및 선택된 압축 파라미터 값을 사용하여 상기 메시지 데이터를 압축하는 단계 ― 상기 압축된 데이터의 길이는 상기 압축 파라미터 값에 의존함 ― , 및
    암호화된 메시지 데이터를 생성하기 위해 상기 압축된 데이터를 암호화하는 단계를 포함하는,
    메시지 데이터를 보호하기 위한 방법.
  18. 제 17 항에 있어서,
    상기 압축 파라미터 값은 최대 체인 길이 값인,
    메시지 데이터를 보호하기 위한 방법.
  19. 제 17 항에 있어서,
    상기 결정론적 함수는 해시 함수를 포함하는,
    메시지 데이터를 보호하기 위한 방법.
  20. 제 17 항에 있어서,
    상기 메시지 데이터를 압축하는 단계는,
    패딩된 메시지 데이터를 생성하기 위해 상기 결정론적 함수에 기초하여 선택된 다수의 패딩 비트들을 상기 메시지 데이터에 패딩하는 단계, 및
    상기 패딩된 메시지 데이터에 대해 상기 압축 알고리즘 및 선택된 압축 파라미터 값을 사용함으로써 상기 압축된 데이터를 생성하는 단계를 포함하는,
    메시지 데이터를 보호하기 위한 방법.
  21. 제 20 항에 있어서,
    상기 패딩 비트들은 상기 메시지 데이터에 프리픽싱되는,
    메시지 데이터를 보호하기 위한 방법.
  22. 제 20 항에 있어서,
    상기 패딩 비트들은 상기 패딩 비트들의 끝이 수신기에 의해 결정되게 허용하도록 제약되는,
    메시지 데이터를 보호하기 위한 방법.
  23. 원격 스테이션으로서,
    메시지 데이터 상에서 수행되는 결정론적 함수를 사용하여 압축 알고리즘의 압축 파라미터 값을 선택하기 위한 수단,
    압축된 데이터를 생성하기 위해 상기 압축 알고리즘 및 선택된 압축 파라미터 값을 사용하여 상기 메시지 데이터를 압축하기 위한 수단 ― 상기 압축된 데이터의 길이는 상기 압축 파라미터 값에 의존함 ― , 및
    암호화된 메시지 데이터를 생성하기 위해 상기 압축된 데이터를 암호화하기 위한 수단을 포함하는,
    원격 스테이션.
  24. 제 23 항에 있어서,
    상기 압축 파라미터 값은 최대 체인 길이 값인,
    원격 스테이션.
  25. 제 23 항에 있어서,
    상기 결정론적 함수는 해시 함수를 포함하는,
    원격 스테이션.
  26. 제 23 항에 있어서,
    상기 메시지 데이터를 압축하기 위한 수단은,
    패딩된 메시지 데이터를 생성하기 위해 상기 결정론적 함수에 기초하여 선택된 다수의 패딩 비트들을 상기 메시지 데이터에 패딩하기 위한 수단, 및
    상기 패딩된 메시지 데이터에 대해 상기 압축 알고리즘 및 선택된 압축 파라미터 값을 사용함으로써 상기 압축된 데이터를 생성하기 위한 수단을 포함하는,
    원격 스테이션.
  27. 제 26 항에 있어서,
    상기 패딩 비트들은 상기 메시지 데이터에 프리픽싱되는,
    원격 스테이션.
  28. 제 26 항에 있어서,
    상기 패딩 비트들은 상기 패딩 비트들의 끝이 수신기에 의해 결정되게 허용하도록 제약되는,
    원격 스테이션.
  29. 원격 스테이션으로서,
    프로세서를 포함하고, 상기 프로세서는,
    메시지 데이터 상에서 수행되는 결정론적 함수를 사용하여 압축 알고리즘의 압축 파라미터 값을 선택하고,
    압축된 데이터를 생성하기 위해 상기 압축 알고리즘 및 선택된 압축 파라미터 값을 사용하여 상기 메시지 데이터를 압축하고 ― 상기 압축된 데이터의 길이는 상기 압축 파라미터 값에 의존함 ― , 그리고
    암호화된 메시지 데이터를 생성하기 위해 상기 압축된 데이터를 암호화하도록 구성되는,
    원격 스테이션.
  30. 제 29 항에 있어서,
    상기 압축 파라미터 값은 최대 체인 길이 값인,
    원격 스테이션.
  31. 제 29 항에 있어서,
    상기 결정론적 함수는 해시 함수를 포함하는,
    원격 스테이션.
  32. 제 29 항에 있어서,
    상기 프로세서는,
    패딩된 메시지 데이터를 생성하기 위해 상기 결정론적 함수에 기초하여 선택된 다수의 패딩 비트들을 상기 메시지 데이터에 패딩하고, 그리고
    상기 패딩된 메시지 데이터에 대해 상기 압축 알고리즘 및 선택된 압축 파라미터 값을 사용함으로써 상기 압축된 데이터를 생성하도록 추가로 구성되는,
    원격 스테이션.
  33. 제 32 항에 있어서,
    상기 패딩 비트들은 상기 메시지 데이터에 프리픽싱되는,
    원격 스테이션.
  34. 제 32 항에 있어서,
    상기 패딩 비트들은 상기 패딩 비트들의 끝이 수신기에 의해 결정되게 허용하도록 제약되는,
    원격 스테이션.
  35. 컴퓨터-판독 가능 매체를 포함하는 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터-판독 가능 매체는,
    컴퓨터로 하여금, 메시지 데이터 상에서 수행되는 결정론적 함수를 사용하여 압축 알고리즘의 압축 파라미터 값을 선택하게 하기 위한 코드,
    컴퓨터로 하여금, 압축된 데이터를 생성하기 위해 상기 압축 알고리즘 및 선택된 압축 파라미터 값을 사용하여 상기 메시지 데이터를 압축하게 하기 위한 코드 ― 상기 압축된 데이터의 길이는 상기 압축 파라미터 값에 의존함 ― , 및
    컴퓨터로 하여금, 암호화된 메시지 데이터를 생성하기 위해 상기 압축된 데이터를 암호화하게 하기 위한 코드를 포함하는,
    컴퓨터 프로그램 물건.
  36. 제 35 항에 있어서,
    상기 압축 파라미터 값은 최대 체인 길이 값인,
    컴퓨터 프로그램 물건.
  37. 제 35 항에 있어서,
    상기 결정론적 함수는 해시 함수를 포함하는,
    컴퓨터 프로그램 물건.
  38. 제 35 항에 있어서,
    프로세서는,
    패딩된 메시지 데이터를 생성하기 위해 상기 결정론적 함수에 기초하여 선택된 다수의 패딩 비트들을 상기 메시지 데이터에 패딩하고, 그리고
    상기 패딩된 메시지 데이터에 대해 상기 압축 알고리즘 및 선택된 압축 파라미터 값을 사용함으로써 상기 압축된 데이터를 생성하도록 추가로 구성되는,
    컴퓨터 프로그램 물건.
  39. 제 38 항에 있어서,
    상기 패딩 비트들은 상기 메시지 데이터에 프리픽싱되는,
    컴퓨터 프로그램 물건.
  40. 제 38 항에 있어서,
    상기 패딩 비트들은 상기 패딩 비트들의 끝이 수신기에 의해 결정되게 허용하도록 제약되는,
    컴퓨터 프로그램 물건.
  41. 메시지 데이터를 보호하기 위한 방법으로서,
    제 1 수의 데이터 바이트들을 포함하는 압축된 데이터를 생성하기 위해 상기 메시지 데이터를 압축하는 단계,
    제 2 수의 데이터 바이트들을 포함하는 패딩된 압축된 데이터를 생성하기 위해 상기 압축된 데이터를 패딩하는 단계 ― 상기 제 2 수는 데이터 바이트들의 "제 1 수" + "패드 수"와 동일하고, 상기 데이터 바이트들의 패드 수는 상기 메시지 데이터의 해시에 기초하여 결정됨 ― , 및
    암호화된 메시지 데이터를 생성하기 위해 상기 패딩된 압축된 데이터를 암호화하는 단계를 포함하는,
    메시지 데이터를 보호하기 위한 방법.
  42. 제 41 항에 있어서,
    상기 메시지 데이터의 해시는 상기 메시지 데이터의 키잉된 해시(keyed hash)인,
    메시지 데이터를 보호하기 위한 방법.
  43. 제 42 항에 있어서,
    상기 메시지 데이터의 키잉된 해시는 HMAC(Hashing for Message Authentication) 암호 해시 함수를 사용하여 수행되는,
    메시지 데이터를 보호하기 위한 방법.
  44. 제 42 항에 있어서,
    상기 키잉된 해시는 키 도출 함수를 사용하여 도출된 난독화 키(obfuscation key)를 사용하는,
    메시지 데이터를 보호하기 위한 방법.
  45. 제 44 항에 있어서,
    상기 난독화 키는 교환된 비밀 값으로부터 생성되는,
    메시지 데이터를 보호하기 위한 방법.
  46. 제 44 항에 있어서,
    상기 키 도출 함수는 상기 난독화 키를 생성하기 위해 암호화 키 및 인증 키를 사용하는,
    메시지 데이터를 보호하기 위한 방법.
  47. 제 46 항에 있어서,
    상기 암호화 키 및 상기 인증 키는 교환된 비밀 값 및 복수의 비-비밀 값들로부터 생성되는,
    메시지 데이터를 보호하기 위한 방법.
  48. 제 41 항에 있어서,
    상기 데이터 바이트들의 패드 수는 1 내지 32의 수를 포함하는,
    메시지 데이터를 보호하기 위한 방법.
  49. 제 41 항에 있어서,
    상기 메시지 데이터는 TLS(Transport Layer Security) 프로토콜 메시지를 포함하는,
    메시지 데이터를 보호하기 위한 방법.
  50. 제 41 항에 있어서,
    상기 메시지 데이터는 SSL(Secure Socket Layer) 프로토콜 메시지를 포함하는,
    메시지 데이터를 보호하기 위한 방법.
  51. 원격 스테이션으로서,
    제 1 수의 데이터 바이트들을 포함하는 압축된 데이터를 생성하기 위해 메시지 데이터를 압축하기 위한 수단,
    제 2 수의 데이터 바이트들을 포함하는 패딩된 압축된 데이터를 생성하기 위해 상기 압축된 데이터를 패딩하기 위한 수단 ― 상기 제 2 수는 데이터 바이트들의 "제 1 수" + "패드 수"와 동일하고, 상기 데이터 바이트들의 패드 수는 상기 메시지 데이터의 해시에 기초하여 결정됨 ― , 및
    암호화된 메시지 데이터를 생성하기 위해 상기 패딩된 압축된 데이터를 암호화하기 위한 수단을 포함하는,
    원격 스테이션.
  52. 제 51 항에 있어서,
    상기 메시지 데이터의 해시는 상기 메시지 데이터의 키잉된 해시인,
    원격 스테이션.
  53. 제 52 항에 있어서,
    상기 메시지 데이터의 키잉된 해시는 HMAC(Hashing for Message Authentication) 암호 해시 함수를 사용하여 수행되는,
    원격 스테이션.
  54. 제 52 항에 있어서,
    상기 키잉된 해시는 키 도출 함수를 사용하여 도출된 난독화 키를 사용하는,
    원격 스테이션.
  55. 제 54 항에 있어서,
    상기 난독화 키는 교환된 비밀 값으로부터 생성되는,
    원격 스테이션.
  56. 제 54 항에 있어서,
    상기 키 도출 함수는 상기 난독화 키를 생성하기 위해 암호화 키 및 인증 키를 사용하는,
    원격 스테이션.
  57. 제 56 항에 있어서,
    상기 암호화 키 및 상기 인증 키는 교환된 비밀 값 및 복수의 비-비밀 값들로부터 생성되는,
    원격 스테이션.
  58. 제 51 항에 있어서,
    상기 데이터 바이트들의 패드 수는 1 내지 32의 수를 포함하는,
    원격 스테이션.
  59. 제 51 항에 있어서,
    상기 메시지 데이터는 TLS(Transport Layer Security) 프로토콜 메시지를 포함하는,
    원격 스테이션.
  60. 제 51 항에 있어서,
    상기 메시지 데이터는 SSL(Secure Socket Layer) 프로토콜 메시지를 포함하는,
    원격 스테이션.
  61. 원격 스테이션으로서,
    프로세서를 포함하고, 상기프로세서는,
    제 1 수의 데이터 바이트들을 포함하는 압축된 데이터를 생성하기 위해 메시지 데이터를 압축하고,
    제 2 수의 데이터 바이트들을 포함하는 패딩된 압축된 데이터를 생성하기 위해 상기 압축된 데이터를 패딩하고 ― 상기 제 2 수는 데이터 바이트들의 "제 1 수" + "패드 수"와 동일하고, 상기 데이터 바이트들의 패드 수는 상기 메시지 데이터의 해시에 기초하여 결정됨 ― , 그리고
    암호화된 메시지 데이터를 생성하기 위해 상기 패딩된 압축된 데이터를 암호화하도록 구성되는,
    원격 스테이션.
  62. 제 61 항에 있어서,
    상기 메시지 데이터의 해시는 상기 메시지 데이터의 키잉된 해시인,
    원격 스테이션.
  63. 제 62 항에 있어서,
    상기 메시지 데이터의 키잉된 해시는 HMAC(Hashing for Message Authentication) 암호 해시 함수를 사용하여 수행되는,
    원격 스테이션.
  64. 제 62 항에 있어서,
    상기 키잉된 해시는 키 도출 함수를 사용하여 도출된 난독화 키를 사용하는,
    원격 스테이션.
  65. 제 64 항에 있어서,
    상기 난독화 키는 교환된 비밀 값으로부터 생성되는,
    원격 스테이션.
  66. 제 64 항에 있어서,
    상기 키 도출 함수는 상기 난독화 키를 생성하기 위해 암호화 키 및 인증 키를 사용하는,
    원격 스테이션.
  67. 제 66 항에 있어서,
    상기 암호화 키 및 상기 인증 키는 교환된 비밀 값 및 복수의 비-비밀 값들로부터 생성되는,
    원격 스테이션.
  68. 제 61 항에 있어서,
    상기 데이터 바이트들의 패드 수는 1 내지 32의 수를 포함하는,
    원격 스테이션.
  69. 제 61 항에 있어서,
    상기 메시지 데이터는 TLS(Transport Layer Security) 프로토콜 메시지를 포함하는,
    원격 스테이션.
  70. 제 61 항에 있어서,
    상기 메시지 데이터는 SSL(Secure Socket Layer) 프로토콜 메시지를 포함하는,
    원격 스테이션.
  71. 컴퓨터-판독 가능 매체를 포함하는 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터-판독 가능 매체는,
    컴퓨터로 하여금, 제 1 수의 데이터 바이트들을 포함하는 압축된 데이터를 생성하기 위해 메시지 데이터를 압축하게 하기 위한 코드,
    컴퓨터로 하여금, 제 2 수의 데이터 바이트들을 포함하는 패딩된 압축된 데이터를 생성하기 위해 상기 압축된 데이터를 패딩하게 하기 위한 코드 ― 상기 제 2 수는 데이터 바이트들의 "제 1 수" + "패드 수"와 동일하고, 상기 데이터 바이트들의 패드 수는 상기 메시지 데이터의 해시에 기초하여 결정됨 ― , 및
    컴퓨터로 하여금, 암호화된 메시지 데이터를 생성하기 위해 상기 패딩된 압축된 데이터를 암호화하게 하기 위한 코드를 포함하는,
    컴퓨터 프로그램 물건.
  72. 제 71 항에 있어서,
    상기 메시지 데이터의 해시는 상기 메시지 데이터의 키잉된 해시인,
    컴퓨터 프로그램 물건.
  73. 제 72 항에 있어서,
    상기 메시지 데이터의 키잉된 해시는 HMAC(Hashing for Message Authentication) 암호 해시 함수를 사용하여 수행되는,
    컴퓨터 프로그램 물건.
  74. 제 72 항에 있어서,
    상기 키잉된 해시는 키 도출 함수를 사용하여 도출된 난독화 키를 사용하는,
    컴퓨터 프로그램 물건.
  75. 제 74 항에 있어서,
    상기 난독화 키는 교환된 비밀 값으로부터 생성되는,
    컴퓨터 프로그램 물건.
  76. 제 74 항에 있어서,
    상기 키 도출 함수는 상기 난독화 키를 생성하기 위해 암호화 키 및 인증 키를 사용하는,
    컴퓨터 프로그램 물건.
  77. 제 76 항에 있어서,
    상기 암호화 키 및 상기 인증 키는 교환된 비밀 값 및 복수의 비-비밀 값들로부터 생성되는,
    컴퓨터 프로그램 물건.
  78. 제 71 항에 있어서,
    상기 데이터 바이트들의 패드 수는 1 내지 32의 수를 포함하는,
    컴퓨터 프로그램 물건.
  79. 제 71 항에 있어서,
    상기 메시지 데이터는 TLS(Transport Layer Security) 프로토콜 메시지를 포함하는,
    컴퓨터 프로그램 물건.
  80. 제 71 항에 있어서,
    상기 메시지 데이터는 SSL(Secure Socket Layer) 프로토콜 메시지를 포함하는,
    컴퓨터 프로그램 물건.
KR1020157009352A 2012-09-14 2013-09-12 메시지 데이터를 보호하기 위한 장치 및 방법 KR20150058310A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261701384P 2012-09-14 2012-09-14
US61/701,384 2012-09-14
US13/764,524 US9673983B2 (en) 2012-09-14 2013-02-11 Apparatus and method for protecting message data
US13/764,524 2013-02-11
PCT/US2013/059524 WO2014043392A1 (en) 2012-09-14 2013-09-12 Apparatus and method for protecting message data

Publications (1)

Publication Number Publication Date
KR20150058310A true KR20150058310A (ko) 2015-05-28

Family

ID=50274467

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157009352A KR20150058310A (ko) 2012-09-14 2013-09-12 메시지 데이터를 보호하기 위한 장치 및 방법

Country Status (6)

Country Link
US (3) US9673983B2 (ko)
EP (3) EP2896179B1 (ko)
JP (1) JP2015528681A (ko)
KR (1) KR20150058310A (ko)
CN (1) CN104620555A (ko)
WO (1) WO2014043392A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9673983B2 (en) 2012-09-14 2017-06-06 Qualcomm Incorporated Apparatus and method for protecting message data
US9276750B2 (en) * 2013-07-23 2016-03-01 Intel Corporation Secure processing environment measurement and attestation
US9519805B2 (en) * 2013-08-01 2016-12-13 Cellco Partnership Digest obfuscation for data cryptography
ITMI20131824A1 (it) * 2013-11-04 2015-05-05 St Microelectronics Srl Metodo di identificare un messaggio conforme allo standard ota (over the air) ed affetto da errore
US11258581B2 (en) 2016-12-15 2022-02-22 Telecom Italia S.P.A. Method for transmitting encrypted packets in a communication network
US10542039B2 (en) * 2017-02-08 2020-01-21 Nicira, Inc. Security against side-channel attack in real-time virtualized networks
US11695541B2 (en) * 2020-12-07 2023-07-04 International Business Machines Corporation Implementing resilient deterministic encryption

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0488736A (ja) * 1990-07-31 1992-03-23 Matsushita Electric Ind Co Ltd データ伝送方式
US5231668A (en) * 1991-07-26 1993-07-27 The United States Of America, As Represented By The Secretary Of Commerce Digital signature algorithm
JP3627765B2 (ja) * 1995-06-15 2005-03-09 日本電信電話株式会社 スクランブルにより情報秘匿を行なう通信システムにおける送信装置
CN1251449A (zh) * 1998-10-18 2000-04-26 华强 两类字典压缩算法在数据压缩中的组合带参运用
US6393126B1 (en) 1999-06-23 2002-05-21 Datum, Inc. System and methods for generating trusted and authenticatable time stamps for electronic documents
US7222233B1 (en) 2000-09-14 2007-05-22 At&T Corp. Method for secure remote backup
BR0114602A (pt) 2000-10-13 2004-09-28 Eversystems Inc Geração de mensagens de chave secreta
US7668315B2 (en) 2001-01-05 2010-02-23 Qualcomm Incorporated Local authentication of mobile subscribers outside their home systems
US7003108B2 (en) 2001-02-02 2006-02-21 Asier Technology Corporation Data encryption methodology
US20020184504A1 (en) * 2001-03-26 2002-12-05 Eric Hughes Combined digital signature
US7197142B2 (en) 2001-08-24 2007-03-27 Alten Alexander I System and methods for a vernam stream cipher
CA2627136A1 (en) * 2005-11-04 2007-05-10 Nec Corporation Message authentication device, message authentication method, message authentication program and storage medium therefor
US8127130B2 (en) 2006-04-18 2012-02-28 Advanced Communication Concepts, Inc. Method and system for securing data utilizing reconfigurable logic
US8032181B2 (en) 2007-09-01 2011-10-04 Apple Inc. Service provider activation with subscriber identity module policy
JP5079671B2 (ja) * 2008-11-27 2012-11-21 日本電信電話株式会社 ハッシュ値生成装置、検証装置、ハッシュ値生成方法、検証方法、プログラム、および記録媒体
WO2012000091A1 (en) 2010-06-28 2012-01-05 Lionstone Capital Corporation Systems and methods for diversification of encryption algorithms and obfuscation symbols, symbol spaces and/or schemas
JP2012129920A (ja) 2010-12-17 2012-07-05 Nippon Telegr & Teleph Corp <Ntt> 圧縮暗号化装置、復号伸長装置、それらの方法、及びプログラム
WO2012129638A2 (en) 2011-03-31 2012-10-04 Irdeto Canada Corporation Method and system for protecting execution of cryptographic hash functions
US8886837B2 (en) 2011-12-02 2014-11-11 Cisco Technology, Inc. Flow-based compression management
US9673983B2 (en) 2012-09-14 2017-06-06 Qualcomm Incorporated Apparatus and method for protecting message data
US9231615B2 (en) 2012-10-24 2016-01-05 Seagate Technology Llc Method to shorten hash chains in Lempel-Ziv compression of data with repetitive symbols

Also Published As

Publication number Publication date
US20150188708A1 (en) 2015-07-02
US9660811B2 (en) 2017-05-23
EP3001641A1 (en) 2016-03-30
WO2014043392A1 (en) 2014-03-20
EP3001641B1 (en) 2017-04-19
EP2896179B1 (en) 2017-04-19
EP2896179A1 (en) 2015-07-22
CN104620555A (zh) 2015-05-13
US20140079213A1 (en) 2014-03-20
US9673983B2 (en) 2017-06-06
EP3001642B1 (en) 2017-04-19
US9729325B2 (en) 2017-08-08
JP2015528681A (ja) 2015-09-28
US20150188709A1 (en) 2015-07-02
EP3001642A1 (en) 2016-03-30

Similar Documents

Publication Publication Date Title
US9729325B2 (en) Apparatus and method for protecting message data
US9112860B2 (en) Method and apparatus for mutual authentication
US9813392B2 (en) Apparatus and method for providing a public key for authenticating an integrated circuit
CA2792575C (en) Multiple hashing in a cryptographic scheme
US20130195266A1 (en) Apparatus and Method for Producing a Message Authentication Code
EP3022864B1 (en) Apparatus and method for key update for use in a block cipher algorithm
Vanhoef A time-memory trade-off attack on WPA3's SAE-PK
Zegers et al. A lightweight encryption and secure protocol for smartphone cloud
WO2013016736A2 (en) Product authentication based upon a hyperelliptic curve equation and a curve pairing function
WO2014164072A1 (en) Linear feedback shift register (lfsr)
KR100842261B1 (ko) Cdma 방식의 이동통신 시스템을 위한 해쉬 알고리즘을이용한 데이터생성방법
KR20150103394A (ko) 암호화 시스템 및 그것의 암호 통신 방법
US20170366355A1 (en) Parity check message authentication code
KR102407204B1 (ko) 보안이 개선된 암호압축 장치 및 방법
JP2002091305A (ja) 多重アファイン鍵を用いる乱数生成装置及び暗号化・復号化装置、並びにこれを利用するデジタルデータ処理装置と方法及びプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application