KR20170051259A - 제한된 대역폭을 갖는 채널들을 통한 효율적이고 의미론적으로 안전한 대칭 암호화를 위한 시스템 및 방법 - Google Patents

제한된 대역폭을 갖는 채널들을 통한 효율적이고 의미론적으로 안전한 대칭 암호화를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20170051259A
KR20170051259A KR1020160134258A KR20160134258A KR20170051259A KR 20170051259 A KR20170051259 A KR 20170051259A KR 1020160134258 A KR1020160134258 A KR 1020160134258A KR 20160134258 A KR20160134258 A KR 20160134258A KR 20170051259 A KR20170051259 A KR 20170051259A
Authority
KR
South Korea
Prior art keywords
key
type
message
mobile device
trigger condition
Prior art date
Application number
KR1020160134258A
Other languages
English (en)
Other versions
KR102368749B1 (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 KR20170051259A publication Critical patent/KR20170051259A/ko
Application granted granted Critical
Publication of KR102368749B1 publication Critical patent/KR102368749B1/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/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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES 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/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • 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
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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

Abstract

본 발명의 하나의 실시예는 보안 통신 채널에서 보안을 향상시키기 위한 시스템을 제공한다. 동작 동안, 시스템은 모바일 디바이스 또는 모바일 디바이스의 사용자와 연관된 맥락(contextual) 정보를 수집하고 트리거(trigger) 조건이 수집된 맥락 정보에 기초하여 충족되는지의 여부를 결정한다. 트리거 조건이 충족된다고 결정하는 것에 응답하여, 시스템은 암호 키를 업데이트하기 위해 현재 암호 키에 관해 제 1 유형의 키 래칫팅(ratcheting) 동작을 수행한다. 트리거 조건이 충족되지 않는다고 결정하는 것에 응답하여, 시스템은 암호 키를 업데이트하기 위해 현재 암호 키에 관해 제 2 유형의 키 래칫팅 동작을 수행한다. 시스템은 그 다음, 업데이트된 암호 키와 연관된 암호화 키를 사용하여 전송될 메시지를 암호화한다.

Description

제한된 대역폭을 갖는 채널들을 통한 효율적이고 의미론적으로 안전한 대칭 암호화를 위한 시스템 및 방법{SYSTEM AND METHOD FOR EFFICIENT AND SEMANTICALLY SECURE SYMMETRIC ENCRYPTION OVER CHANNELS WITH LIMITED BANDWIDTH}
본 발명은 일반적으로, 대칭 암호화 방식들에 관한 것이다. 더 구체적으로, 본 발명은 암호화 키들을 적응적으로 업데이트할 수 있는 암호화 키 래칫팅(ratcheting) 메커니즘에 관한 것이다.
모바일 컴퓨팅(computing) 디바이스들(스마트폰들 및 태블릿 컴퓨터들과 같은) 및 이들 모바일 디바이스들을 위해 개발된 계속 증가하는 애플리케이션들(또한, 소위 앱스(apps)인)의 보급은 모바일 디바이스 사용자들이 이들 디바이스들로, 개인용 또는 회사 관련 업무를 포함하는, 더욱 많은 업무들을 수행하는 것을 가능하게 했다. 예를 들면, 사용자는 그의 스마트폰을 통해, 그의 은행 계좌 또는 기업 데이터 서버에 액세스할 수 있다. 결과적으로, 중요한(sensitive) 정보는 스마트폰과 그들의 서버들 사이에 교환된다. 이러한 중요한 정보를 안전하게 유지하는 것은 모바일 컴퓨팅에 있어서 점점 중요해지고 있다.
모바일 디바이스들에 관한 데이터 보안을 제공하는 하나의 간단한 방식은 모바일 디바이스들로 또는 상기 모바일 디바이스들로부터 전송된 메시지들을 암호화하는 것이다. 다양한 암호화 방식들 중에서, 진화된 암호화 표준(AES)에 의해 규정된 바와 같은, 블록 암호들을 사용하는 대칭 키 알고리즘은 모바일 통신들에 의해 사용된 가장 인기있는 암호화 방식이다. 다른 대칭 키 알고리즘들과 같이, AES에서 사용된 암호 키는 통신 파트너들 사이의 공유된 비밀이다. 통신의 비밀유지(secrecy)는 키의 비밀유지에 의존한다. 키가 악의적인 제 3 자들에 의해 손상되는 것을 방지하기 위해, 키로 하여금 정기적으로 업데이트되도록 하는 것이 바람직하다. 일부 접근법들은 시간에 걸쳐 암호화 키들을 업데이트하기 위해 키 물질 포워드(key material forward)를 계속적으로 래칫팅하는 키 래칫팅 메커니즘들에 의존한다. 원칙적으로, 이들 키 래칫팅 메커니즘들은 의미론적(semantic) 보안을 성취하고 과거의 비밀유지(키 삭제를 통한) 및 가능하게 미래의 비밀유지를 제공할 수 있다. 용어 "미래의 비밀유지"가, 시스템이 개별적인 키가 손상되면 그 자신을 "치유(heal)"할 수 있음(새로운 래칫 키들을 도입함으로써)을 의미함에 주의한다. 그러나, 래칫팅 키들은, 특히 키가 각각의 메시지에 대해 업데이트되면, 부가적인 통신 오버헤드(overhead)를 도입할 수 있다.
본 발명의 하나의 실시예는 보안 통신 채널에서 보안을 향상시키기 위한 시스템을 제공한다. 동작 동안, 시스템은 모바일 디바이스 또는 모바일 디바이스의 사용자와 연관된 맥락(contextual) 정보를 수집하고 트리거(trigger) 조건이 수집된 맥락 정보에 기초하여 충족되는지의 여부를 결정한다. 트리거 조건이 충족된다고 결정하는 것에 응답하여, 시스템은 암호 키를 업데이트하기 위해 현재 암호 키에 관해 제 1 유형의 키 래칫팅 동작을 수행한다. 트리거 조건이 충족되지 않는다고 결정하는 것에 응답하여, 시스템은 암호 키를 업데이트하기 위해 현재 암호 키에 관해 제 2 유형의 키 래칫팅 동작을 수행한다. 시스템은 그 다음, 업데이트된 암호 키와 연관된 암호화 키를 사용하여 전송될 메시지를 암호화한다.
이 실시예에 관한 일 변형에서, 제 1 유형의 키 래칫팅 동작은 제 2 유형의 키 래칫팅 동작보다 높은 레벨의 보안을 제공한다.
또 다른 변형에서, 제 1 유형의 키 래칫팅 동작은 디피 헬만(Diffie-Hellman) 키 래칫팅 동작을 수반하고, 제 2 유형의 키 래칫팅 동작은 해시 기반 키 래칫팅 동작을 수반한다.
이 실시예에 관한 일 변형에서, 맥락 정보는: 제 1 유형의 이전 키 래칫팅 동작이 수행된 이후의 시간 간격; 통신 채널의 현재 대역폭, 사용자의 위치, 사용자의 움직임 패턴들, 네트워크 트래픽 패턴들, 및 모바일 디바이스의 배터리 수명 중 하나 이상을 포함한다.
이 실시예에 관한 일 변형에서, 보안 통신 채널은: 와이파이(Wi-Fi) 채널, 3G 또는 4G 셀룰러 네트워크 채널, 및 단문 메시지 서비스(SMS) 채널을 포함한다.
이 실시예에 관한 일 변형에서, 비밀 키는 해시 기반 키 유도 함수(HKDF)를 사용하여 업데이트된 암호 키로부터 얻어진다.
이 실시예에 관한 일 변형에서, 시스템은 또한, 암호화된 메시지를 통해 메시지 인증 코드(MAC)를 컴퓨팅하고, 보안 통신 채널을 통해 MAC와 함께 암호화된 메시지를 송신한다.
도 1은 기존의 키 래칫팅 메커니즘을 도시하는 도면.
도 2a는 본 발명의 일 실시예에 따른, 일 예시적인 키 래칫팅 타임라인(timeline)을 도시하는 도면.
도 2b는 본 발명의 일 실시예에 따른, 일 예시적인 키 래칫팅 타임라인을 도시하는 도면.
도 2c는 본 발명의 일 실시예에 따른, 보안 레벨을 시간의 함수로서 도시하는 도면.
도 3a는 본 발명의 일 실시예에 따른, DH 래칫팅을 위한 일 예시적인 프로세스를 도시하는 도면.
도 3b는 본 발명의 일 실시예에 따른, 해시 기반 래칫팅을 위한 일 예시적인 프로세스를 도시하는 도면.
도 4는 본 발명의 일 실시예에 따른, 적응형 키 래칫팅을 위한 일 예시적인 시스템을 도시하는 도면.
도 5는 본 발명의 일 실시예에 따른, 일 예시적인 통신 프로세스를 도시하는 도면.
도 6은 본 발명의 일 실시예에 따른, 보안 SMS 기반 모바일 애플리케이션에 대한 일 예시적인 통신 스택(stack)을 도시하는 도면.
도 7a는 본 발명의 일 실시예에 따른, 보안 SMS 기반 모바일 애플리케이션에 대한 일 예시적인 메시지 포맷을 도시하는 도면.
도 7b는 본 발명의 일 실시예에 따른, 보안 SMS 기반 모바일 애플리케이션에 대한 일 예시적인 메시지 포맷을 도시하는 도면.
도 8은 본 발명의 일 실시예에 따른, 일 예시적인 암호화된 통신 프로토콜을 도시하는 도면.
도 9는 본 발명의 일 실시예에 따른, 적응형 키 래칫팅을 위한 일 예시적인 컴퓨터 및 통신 시스템을 도시한 도면.
도면들에서, 유사한 참조 부호들은 동일한 도면 요소들을 언급한다.
다음의 설명은 임의의 당업자가 실시예들을 만들고 사용하는 것을 가능하게 하기 위해 제공되고, 특정한 애플리케이션 및 그것의 요구조건들의 맥락으로 제공된다. 개시된 실시예들에 대한 다양한 수정들은 당업자들에게 용이하게 명백할 것이고, 본 명세서에 정의된 일반적인 원리들은 본 발명의 사상 및 범위를 벗어나지 않고 다른 실시예들 및 애플리케이션들에 적용될 수 있다. 따라서, 본 발명은 도시된 실시예들로 제한되지 않지만, 본 명세서에 개시된 원리들 및 특징들과 일치하는 가장 넓은 범위와 부합될 것이다.
개요
본 발명의 실시예들은: 사용자 운동성(motility)들, 통신 패턴들, 보안 요구조건들, 등을 포함하지만 그들로 제한되지 않는, 복수의 파라미터들에 기초하여 키 래칫팅 속도를 자동으로 그리고 동적으로 조정할 수 있는 적응형 키 래칫팅 시스템을 제공한다. 일부 실시예들에서, 키 래칫팅은 제한된 대역폭을 갖는 단문 메시지 서비스(SMS) 채널들을 통해 수행된다. 키 래칫팅을 위한 적응형 접근법은 필요한 래칫들의 수를 감소시킬 수 있고, 따라서 키 래칫팅에 의해 야기된 전체적인 통신 오버헤드를 감소시킨다.
AES 암호화 및 키 래칫팅
AES는 라인달(Rijndael) 블록 암호에 기초한 대칭 암호화 알고리즘이다. 암호학에서, 블록 암호는 대칭 키에 의해 명시된 불변의 전환을 통해 소위 "블록들"인, 비트들의 고정된 길이 그룹들에 관해 동작하는 결정론적 알고리즘이다. AES는 128 비트들의 고정된 블록 길이로 동작하고, 128, 192, 또는 256 비트들의 키 길이들을 지원한다. 예를 들면, AES는 128-비트, 192-비트, 또는 256-비트 암호화 키를 사용하여, 입력으로서 128-비트 블록의 평문을 취하고, 출력으로서 대응하는 128-비트 블록의 암호문을 취할 수 있다.
블록 암호가 단지, 고정된 키 하에서 단일 블록의 암호화를 위해 적합하기 때문에, 다수의 동작 모드들은 보안 방식으로 그들의 반복적 사용을 허용하도록 설계되었다. 더 구체적으로, 동작 모드는 블록보다 큰 데이터의 양들을 안전하게 전환하기 위해 암호의 단일 블록 동작을 반복적으로 적용하는 방법을 설명한다. 암호화 모드들의 가장 단순한 것은 전자 코드북(ECB) 모드이고, 상기 전자 코드북은 메시지를 블록들로 분할하고, 각각의 블록을 별개로 암호화한다. 암호 블록 연쇄(Cipher Block Chaining; CBC)는 또 다른 동작 모드이다. CBC 모드에서, 평문의 각각의 블록은 암호화되기 전에 이전의 암호문 블록과 XOR 연산된다. 이 방식으로, 각각의 암호문 블록은 최대 그 지점까지 프로세싱된 모든 평문 블록들에 의존한다. 한편, 카운터(CTR) 모드는 블록 암호를 스트림 암호로 바꾸는 동작 모드이다. 그렇게 행하기 위해, 그것은 "카운터"의 연속적 값들을 암호화함으로써 다음 키스트림 블록을 생성한다. 카운터가 실제로, 반복되지 않은 순서를 생성할 수 있는 임의의 함수일 수 있을지라도, 대부분의 암호화 방식들은 1만큼의 증가(increment-by-one) 카운터를 구현한다. 암호 피드백(CFB), 출력 피드백(OFB), 등과 같은, 많은 다른 동작 모드들이 존재한다.
본 발명에서, CTR 모드의 AES(AES-CTR)는 다양한 실시예들을 확장할 때, 일례로서 사용된다. 그러나, 본 발명의 범위는 암호화 방식에 의해 제한되지 않는다.
CTR 모드를 포함하는 많은 동작 모드들은 입력으로서, 암호화될 평문, 대칭 암호화 키, 및 고유 순서 소위, 초기화 벡터(IV)를 취한다. 비밀로 유지되어야 하는 평문 및 암호화 키와 다르게, IV는 비밀로 유지될 필요가 없고, 암호문과 함께 평문으로 전송될 수 있다. 일반적으로, IV는 반복적이지 않고, 동작 모드에 의존할 필요가 있고, IV는 랜덤이거나 의사랜덤일 필요가 있을 수 있다. 암호화 방식에 의한 IV의 사용은 의미론적 보안, 속성을 제공하고, 이에 의해 동일한 키 하에서 방식의 반복된 사용은 공격자가 암호화된 메시지의 세그먼트(segment)들 사이의 관계들을 추론하는 것을 허용하지 않는데, 이는 IV가 별개의 암호문이 각각의 시간에 생성됨을 보장하기 때문이다. AES-CTR에서 사용된 IV는 메시지 카운터와 연결된 랜덤으로 생성된 넌스(nonce)를 포함할 수 있다.
IV가 AES의 많은 동작 모드들에 대한 필수적인 구성요소일지라도, 모든 메시지에 대한 암호화 키들을 변경하는 키 래칫팅 메커니즘들은 IV의 사용을 무관하게 만든다. 예를 들면, AES-CTR에서, 암호화 키가 각각의 그리고 모든 메시지에 대해 변경되는 한, 더 이상 IV를 송신할 필요성이 존재하지 않는다. 즉, 과거의 그리고 가능한 미래의 비밀유지에 더하여, 이러한 키 래칫팅 메커니즘은 또한, 의미론적 보안을 제공할 수 있다.
도 1은 기존의 키 래칫팅 메커니즘을 도시하는 도면을 제공한다. 도 1에서, 앨리스(Alice)는 밥(Bob)으로 암호화된 메시지를 전송한다. 실제 메시지 콘텐트와 함께, 앨리스는 그녀가 미래에 사용할 새로운 키를 "광고한다(advertise)". 앨리스의 메시지의 수신 시에, 밥은 앨리스로 암호화된 메시지를 다시 전송한다. 실제 메시지 콘텐트와 함께, 밥은 앨리스가 광고한 키를 "수신확인(acknowledge)"하고, 또한 그 자신의 다음 키를 광고한다. 앨리스는 그 다음, 그녀가 메시지를 전송한 다음 시간에 광고되고 수신확인된 키를 사용할 것이다. 이 메커니즘이 미래 및 과거의 비밀유지 둘 모두를 제공할 수 있을지라도, 그것은 상당한 오버헤드를 생성하는데, 이는 키 래칫팅이 각각의 그리고 모든 메시지에 대해 수행되기 때문이다. 게다가, 이 방식은 키가 업데이트될 수 있기 전에 2개의 메시지들의 교환을 요구한다.
본 발명의 일부 실시예들에서, 보안을 손상시키지 않고 키 래칫팅의 오버헤드를 감소시키기 위해, 시스템은 암호화 키들을 적응적으로 래칫팅한다. 더 구체적으로, 각각의 메시지에 대한 암호화 키들을 래칫팅하는 대신에, 시스템은: 하루의 시간, 사용자의 위치, 이용가능한 통신 채널의 대역폭, 사용자의 통신 패턴들, 및 그의 임의의 조합들을 포함하지만 그들로 제한되지 않는, 다양한 동적 인자들에 기초하여 래칫팅하기 위한 적절한 시간들을 선택한다. 예를 들면, (특히, 해외 여행의 경우들에서) 사용자를 위한 비용을 감소시키기 위해, 특정 모바일 애플리케이션들은 모바일 디바이스가 와이파이 채널에 액세스하지 않을 때, SMS 채널을 통해 그들의 서버들과 통신하도록 구성될 수 있다. 최대 1500 바이트들까지의 크기를 갖는 패킷들을 허용하는 와이파이와는 다르게, SMS는 140 바이트들로 패킷 크기를 제한한다. SMS에 의해 제공된 제한된 대역폭은, 임의의 키 래칫팅 동작이 상당한 오버헤드를 야기할 수 있음을 의미한다. 따라서, 통신 오버헤드를 감소시키기 위해, 본 발명의 일부 실시예들에서, 시스템은 그것이 모바일 디바이스가 와이파이에 액세스함을 검출할 때만, 키 래칫팅 동작을 수행하도록 구성될 수 있다.
도 2a는 본 발명의 일 실시예에 따른, 일 예시적인 키 래칫팅 타임라인을 도시하는 도면을 제공한다. 도 2a에서, 모바일 디바이스는 이동중이고, 다양한 별개의 시간 기간들에서 와이파이 채널들에 액세스할 수 있다. 예를 들면, 모바일 디바이스의 사용자는 집에 있거나, 근무중일 수 있거나, 시간 기간들(202, 204, 및 206) 동안 와이파이에 액세스하는 특정 공용 위치들(예로서, 공항들 또는 커피숍들)에 있을 수 있다. 다른 시간 기간들(예로서, 기간들(208, 210, 및 212)) 동안, 모바일 디바이스는 와이파이에 액세스하지 않는다. 결과적으로, 보안 채널을 통해 그들의 서버에 접속할 필요가 있는 애플리케이션들은 SMS와 같은, 다른 대역 제한 통신 채널들에 의존해야 한다. 도 2a에 도시된 예에서, 시스템은 모바일 디바이스가 와이파이에 접속되는 그들 시간 기간들 동안 키 래칫팅을 단지 수행하도록 구성된다. 모바일 디바이스가 와이파이에 접속되지 않는 시간 기간들 동안, 시스템은 계속해서, 래칫팅 없이 현재의 암호화 키를 사용할 수 있다. 대안적으로, 시스템은 모바일 디바이스가 와이파이에 접속되지 않을 때, 간헐적인 키 래칫팅을 수행할 수 있다. 예를 들면, 시스템은 모바일 디바이스가 와이파이에 접속 중이 아닐지라도, 매 5 또는 10분마다 키 래칫팅을 수행할 수 있다. 덜 빈번한 키 래칫팅에 의해 생성된 오버헤드는 상당히 적을 수 있다.
모든 키 래칫팅들이 같게 형성되는 것은 아니다. 암호화 키를 래칫팅하기 위한 하나의 단순한 방식은 그것을 반복적으로 해싱하는 것이다. 키가 업데이트될 때, 통신 파트너들 사이에 어떠한 메시지 교환도 존재하지 않기 때문에, 이 접근법은 오버헤드를 생성하지 않는다. 그러나, 이 단순한 접근법은 단지 과거의 비밀유지를 제공하지만 미래의 비밀유지는 제공하지 않는다. 키를 래칫팅하기 위한 또 다른 접근법은 디피 헬만(DH) 래칫팅 동작이고, 상기 디피 헬만 래칫팅 동작은 각각의 메시지에 대해 DH 키 교환을 수행한다. DH 래칫팅은 과거 및 미래의 비밀유지 둘 모두를 제공할 수 있지만, 상당한 오버헤드를 생성할 것이다. 보안을 개선하면서 오버헤드를 감소시키기 위해, 일부 실시예들에서, 시스템은 와이파이 접속 기간들 동안 DH 래칫을 수행하고, 다른 기간들 동안 덜 안전한 해시 기반 래칫팅을 수행할 수 있다.
도 2b는 본 발명의 일 실시예에 따른, 일 예시적인 키 래칫팅 타임라인을 도시하는 도면을 제공한다. 도 2a에 도시된 것과 유사하게, 도 2b에서, 모바일 디바이스는 시간 기간들(202, 204, 및 206) 동안 와이파이에 접속되고, 시간 기간들(208, 210, 및 212) 동안 와이파이에 액세스하지 않는다. 도 2b에 도시된 예에서, 모바일 디바이스가 와이파이에 접속될 때, 시스템은 DH 래칫팅을 수행하고; 그렇지 않으면, 시스템은 해시 기반 래칫팅을 수행한다. DH 래칫팅이 각각의 메시지에 대해 수행될 수 있거나, 시스템이 모바일 디바이스가 와이파이에 접속되는 기간 동안 간헐적으로(매 5분 마다) DH 래칫팅을 수행할 수 있음에 주의한다. 해시 기반 래칫팅은 그것이 오버헤드를 생성하지 않기 때문에, 각각의 메시지에 대해 수행될 수 있다.
도 2c는 본 발명의 일 실시예에 따른, 보안 레벨을 시간의 함수로서 도시하는 도면을 제공한다. 더 구체적으로, 도 2c는 도 2b에 도시된 키 래칫팅 타임라인에 따라 시스템에 의해 제공된 보안 레벨을 개념적으로 도시한다. 도 2c에서 확인할 수 있는 바와 같이, 시스템은 DH 래칫팅이 수행될 때, 더 높은 보안 레벨을 얻을 수 있고, 제공된 보안 레벨은 어떠한 더 이상의 DH 래칫팅도 수행되지 않으면, 시간에 따라 점진적으로 감소한다. 예시의 단순성을 위해, 보안 레벨이 시간의 선형 함수로서 감소하도록 도시됨에 주의한다. 실제로, 보안 레벨의 감소는 다양한 인자들에 의해 영향을 받을 수 있고 시간의 선형 함수가 아닐 수 있다. 도 2c는 또한, DH 래칫팅이 수행될 때마다, 보안 레벨이 더 높은 레벨로 복원됨을 도시한다. 따라서, 보안 레벨이 위태롭게 낮아지는 것을 방지하기 위해, 시스템은 심지어 모바일 디바이스가 와이파이에 접속되지 않을 때, DH 래칫팅을 수행할 수 있다.
도 3a는 본 발명의 일 실시예에 따른, DH 래칫팅을 위한 일 예시적인 프로세스를 도시하는 도면을 제공한다. 도 3a에서, 클라이언트(302) 및 서버(304) 둘 모두는 이전 세션 키(또는 이것이 제 1 DH 동작이면, DH 마스터 키)(
Figure pat00001
)를 안다(동작들(306 및 308)). 클라이언트(302)는 랜덤 넘버(number)(A0)를 알고 서버(304)는 랜덤 넘버(B0)를 안다. 동작 동안, 클라이언트(302)는 랜덤 넘버(A1)를 생성하고(동작(310)), 일시적 세션 키(
Figure pat00002
)를 생성한다(동작(312)). 이 일시적 세션 키는 래칫팅 메커니즘의 결과이다. 세션 키를 사용하여, 클라이언트(302)는 메시지 키(
Figure pat00003
)를 생성할 수 있고, 상기 메시지 키는 메시지들을 암호화하기 위해 사용될 것이다(동작(314)). 함수(HKDF)가 해시 메시지 인증 코드(HMAC) 기반 키 유도 함수(KDF)임에 주의한다. HKDF 함수의 상세한 설명들은 국제 인터넷 기술 위원회(Internet Engineering Task Force; IETF)의 RFC5869에서 찾을 수 있고, 이는 IETF 웹사이트에서 이용가능하다.
클라이언트(302)는 그 다음, 메시지 키를 사용하여 메시지를 암호화하고 랜덤 넘버(A1) 및 메시지 인증 코드(MAC)와 함께 암호화된 메시지를 전송한다(동작(316)). MAC는 메시지를 인증하기 위해 사용되고, HMAC와 같은, 암호 해시 함수들에 기초하여 생성될 수 있다. HMAC 함수의 상세한 설명들은 국제 인터넷 기술 위원회(IETF)의 RFC2104에서 찾을 수 있고, 이는 IETF 웹사이트에서 이용가능하다. 도 3a에 도시된 예에서, MAC의 생성은 메시지 키를 수반한다.
암호화된 메시지의 수신 시에, 서버(304)는 일시적 세션 키 및 메시지 키를 컴퓨팅한다(동작(318)). 서버(304)는 세션 키를 사용하여 수신된 메시지를 복호화할 수 있다(동작(320)). 후속적으로, 서버(304)는 랜덤 넘버(B1)를 생성하고(동작(322)) A1 및 B1을 사용하여 새로운 세션 키(
Figure pat00004
)를 생성한다(동작(324)). 새로운 세션 키를 사용하여, 서버(304)는 새로운 메시지 키(
Figure pat00005
)를 생성한다(동작(326)). 새로운 메시지 키는 응답 메시지 및 MAC의 암호화를 위해 서버(304)에 의해 사용될 수 있다. 서버(304)는 그 다음, 클라이언트(302)로 랜덤 넘버(B1) 및 MAC와 함께 암호화된 응답을 전송할 수 있다(동작(328)). 클라이언트(302)는 그 다음, 새로운 세션 키 및 새로운 메시지 키를 컴퓨팅하고(동작(330)), 응답을 복호화할 수 있다(동작(332)). 새로운 세션 키가 키 래칫팅의 결과이고, 클라이언트(302)가 서버(304)에 대한 다음 메시지를 암호화하기 위해 새로운 메시지 키를 사용함에 주의한다.
도 3b는 본 발명의 일 실시예에 따른, 해시 기반 래칫팅을 위한 일 예시적인 프로세스를 도시하는 도면을 제공한다. 도 3b에서, 새로운 세션의 시작에서, 클라이언트(352) 및 서버(354) 둘 모두가 이전 세션 키(
Figure pat00006
) 및 제 1 메시지 키(
Figure pat00007
)를 안다고 가정한다(동작들(356 및 358)). 동작 동안, 클라이언트(352)는 메시지 암호화를 위해 사용된 메시지 키(
Figure pat00008
)를 생성한다(동작(360)). 클라이언트(352)는 새롭게 생성된 메시지 키를 사용하여 메시지를 암호화하고 MAC과 함께 암호화된 메시지를 전송한다(동작(362)).
암호화된 메시지의 수신 시에, 서버(354)는 메시지 키를 컴퓨팅하고(동작(364)), 컴퓨팅된 메시지 키를 사용하여 메시지를 복호화한다(동작(366)). 서버(354)는 컴퓨팅된 메시지 키를 해싱함으로써 메시지 키(
Figure pat00009
)를 생성할 수 있다(동작(368)). 서버(354)는 그 다음, 메시지를 암호화하기 위해 새롭게 생성된 메시지 키를 사용하고 클라이언트(352)로 MAC와 함께 암호화된 메시지를 전송한다(동작(370)). 클라이언트(352)는 메시지를 수신하고, 이전 메시지 키를 사용하여 현재 메시지 키를 컴퓨팅하며(동작(372)), 컴퓨팅된 메시지 키를 사용하여 메시지를 복호화한다(동작(374)). 클라이언트(352) 또는 서버(354)가 메시지를 전송하거나 수신할 때마다, 그것이 HKDF 함수를 사용하여 메시지 키를 업데이트함에 주의한다. 도 3b로부터 확인할 수 있는 바와 같이, 클라이언트(352)와 서버(354) 사이에 교환된 정보는 단지 암호화된 메시지 및 MAC를 포함하고, 어떠한 오버헤드도 초래하지 않는다.
도 2a 및 도 2b에 도시된 예에서, 키들을 래칫팅할 것인지의 여부에 대한 결정은, 모바일 디바이스가 와이파이에 접속되는지의 여부에 기초하여 행해진다. 실제로: 마지막 키 래칫팅 동작 이후의 지속기간, 사용자의 위치, 사용자가 중요한 정보를 전송/수신하고 있는지의 여부, 또는 모바일 디바이스가 현재 움직이고 있는지의 여부(더 낮은 채널 품질을 야기할 수 있는)를 포함하지만 그들로 제한되지 않는, 다른 인자들이 또한 고려될 필요가 있을 수 있다.
도 2c에 도시된 바와 같이, 더 긴 시간 기간 동안 더 안전한 DH 래칫팅을 수행하는 것을 삼가는 것은 위험할 수 있다. 따라서, 시스템은 각각의 래칫의 시간을 파악할 수 있다. 시스템이 현재 시간과 마지막 래칫의 시간 사이의 차이가 임계치를 초과한다고 결정하면, 시스템은 DH 래칫팅을 수행할 수 있다. 시스템은 또한, 접속된 와이파이 액세스 지점들 또는 셀룰러 네트워크들의 기지국들에 기초하여 사용자의 위치를 추적할 수 있고, 그것이 위치 변경을 검출할 때마다, DH 래칫팅을 수행한다. 게다가, 시스템은 복수의 보안 위치들을 규정하고 그것이 사용자가 보안 위치에 있다고 검출하면, 더 안전하고 계산적으로 비싼 DH 래칫팅을 연기할 수 있다. 예를 들면, 사용자가 그의 회사 내에 있을 때, 그의 동료들과 통신하기 위해 그의 회사의 보안 와이파이 네트워크를 사용하면, 시스템은 사실상 이러한 통신 보안을 고려할 수 있고 더 안전한 DH 래칫팅을 요구하지 않는다. 유사하게, 시스템은 또한, 복수의 비보안 위치들을 규정할 수 있다. 예를 들면, 사용자가 적대적 환경에 있고 누군가가 그의 메시지들에 액세스하기를 시도하는 가능성이 높으면, 시스템은 심지어 와이파이 또는 다른 고 대역폭 채널들이 이용가능하지 않는 상황들에서, 각각의 메시지에 대해 DH 래칫팅을 수행하도록 구성될 수 있다.
대안적으로, 시스템은 사용자의 통신 패턴을 모니터링(monitoring)하고, 사용자가 특정 수의 메시지들을 전송/수신했을 때마다 키 래칫팅(예로서, DH 래칫팅)을 수행할 수 있다. 이것은 악의적인 당사자가 해시 래칫팅된 암호화 키들에 대한 충분한 지식을 축적하는 상황을 방지한다. 게다가, 사용자는 그의 보안 선호도들을 규정할 수 있다. 사용자가 사용자 및 그의 친구들 둘 모두가 본 영화에 관하여 그의 친구들과 통신하고 있으면, 사용자는 이러한 통신을 좋은(benign)것으로 고려할 수 있고 키 래칫팅을 요구하지 않는다. 시스템은 또한, 메시지가 메시지의 맥락에 기초하여 중요한 것인지의 여부를 결정할 수 있다. 예를 들면, 시스템은 중요한 단어들의 세트를 컴파일링(compiling)할 수 있고; 메시지가 중요한 단어를 포함하면, 그것은 중요한 것으로 표시될 수 있다. 결과적으로, 메시지가 전송되기 전에, DH 래칫팅은 새로운 세션 키가 그 메시지에 대해 생성됨을 보장하기 위해 수행된다. 다른 고려들은 네트워크 트래픽 패턴들, 배터리 수명, 및 다른 센서들의 출력들을 포함할 수 있다. 많은 네트워크 트래픽은 시스템으로 하여금 래칫팅을 지연하도록 할 수 있다. 유사하게, 낮은 배터리 수명은 또한, 시스템으로 하여금 높은 위험 상황들이 아니라면 래칫팅을 수행하지 않도록 한다. 모바일 디바이스 상에 구비된 센서들로부터의 출력들은 시스템이 달리 이용가능하지 않을 수 있는 부가적인 맥락 정보를 결정하는 것을 도울 수 있다. 예를 들면, 사용자의 위치가 네트워크 액세스 지점에 기초하여 결정될 수 없는 상황들에서, 시스템은 위성 위치 확인 시스템(Global Positioning System; GPS) 모듈로부터 위치 정보를 얻을 수 있다.
도 4는 본 발명의 일 실시예에 따른, 적응형 키 래칫팅을 위한 일 예시적인 시스템을 도시하는 도면을 제공한다. 도 4에서, 적응형 키 래칫팅 시스템(400)은 맥락 정보 수집 모듈(402), 트리거 조건 결정 모듈(404), 키 래칫팅 모듈 I(406), 키 래칫팅 모듈 II(408), 메시지 키 생성 모듈(410), 및 메시지 암호화 모듈(412)을 포함한다.
맥락 정보 수집 모듈(402)은 모바일 디바이스 및 모바일 디바이스의 사용자와 연관된 맥락 정보를 수집할 책임이 있다. 일부 실시예들에서, 맥락 정보 수집 모듈(402)은 맥락 정보를 수집하기 위해 모바일 디바이스 상에 구비된 다양한 센서들에 결합할 수 있다. 이러한 정보는 트리거 조건 결정 모듈(404)로 전송되고, 상기 트리거 조건 결정 모듈은 키 래칫팅 트리거 조건이 충족되었는지의 여부를 결정한다. 트리거 조건 결정 모듈(404)의 출력부는 키 래칫팅 모듈들 중 하나를 턴 온(turn on)하도록 구성될 수 있다. 키 래칫팅 모듈 I(406)은 증가된 통신 오버헤드를 희생하고 더 안전한 키 래칫팅 동작을 수행하도록 구성된다. 키 래칫팅 모듈 II(408)는 덜 안전한 키 래칫팅 동작을 수행하도록 구성되지만, 어떠한 오버헤드도 초래하지 않는다. 동작 동안, 키 래칫팅 모듈들은 현재 사용중이고, 그 다음 세션 키에 관해 대응하는 래칫팅 동작을 수행하는 세션 키를 얻기 위해 모바일 디바이스의 내부 메모리에 액세스하도록 구성된다. 보안을 또한 제공하기 위해, 키 래칫팅 모듈들의 출력들은 메시지 키 생성 모듈(410)로 전송되고, 상기 메시지 키 생성 모듈은 메시지 키를 생성하기 위해 HKDF 함수를 사용할 수 있다. 메시지 암호화 모듈(412)는 그 다음, 메시지를 암호화하기 위해 메시지 키를 사용할 수 있다.
도 5는 본 발명의 일 실시예에 따른, 일 예시적인 통신 프로세스를 도시하는 도면을 제공한다. 동작 동안, 시스템이 초기화된다(동작(502)). 클라이언트 대 서버 통신에 대해, 시스템은 클라이언트 및 서버를 초기화한다. 피어(peer) 대 피어 통신에 대해, 시스템은 클라이언트 디바이스들 둘 모두를 초기화한다. 초기화 프로세스는 전형적으로, 키 확립을 수반하고, 그의 목적은 클라이언트와 서버(또는 클라이언트의 피어) 사이에 장기적(long-term) 공유된 비밀(또한, 소위 마스터 키인)을 전달하는 것이다. 모바일 디바이스가 초기화 동안 와이파이 또는 다른 고 대역폭 채널들(3G 또는 4G 셀룰러 네트워크)에 접속된다고 가정될 수 있다. 다양한 접근법들은 마스터 키를 확립하기 위해 사용될 수 있다. 일부 실시예들에서, 전송 계층 보안(TSL) 프로토콜에 의해 규정된 바와 같은, 표준 키 교환 절차는 마스터 키를 확립하기 위해 사용될 수 있다. TLS 프로토콜의 상세한 설명들은 국제 인터넷 기술 위원회(IETF)의 RFC5246에서 찾을 수 있고, 이는 IETF 웹사이트에서 이용가능하다. TLS에 따라, RSA 암호화된 사전 공유된 비밀의 직접 송신 및 디피 헬만(DH) 키 교환을 포함하는, 키 확립을 위한 2개의 가능한 접근법들이 존재한다. 접근법들 둘 모두는 양호한 보안을 위해 2048-비트 공간에서 동작할 것을 요구한다. DH 키 교환은 약간 더 높은 통신 오버헤드를 갖는다. 키 교환이 140 바이트들로 긴 SMS 메시지들을 사용하여 실행되면, DH 키 교환은 최대 8개의 SMS 메시지들을 요구할 수 있는 반면에, 사전 공유된 비밀에 기초한 접근법은 키 확립을 위해 4개의 SMS 메시지들을 단지 요구한다.
일단 마스터 키가 생성되면, 그것은 모바일 디바이스 상에 안전하게 저장되어야 한다. 다양한 접근법들은 마스터 키의 안전을 보장하기 위해 사용될 수 있다. 하나의 해결책은 마스터 키를 사용하는 애플리케이션과 연관된 내부 저장장치에 마스터 키를 저장하는 것이다. 게다가, 애플리케이션에 액세스가능하지 않은 키를 사용하여 마스터 키를 암호화하기를 원할 수 있다.
보안 채널의 확립 후에, 사용자는 인증될 필요가 있다(동작(504)). 이것은 패스워드 인증 프로토콜(PAP), 챌린지 핸드쉐이크(Challenge-Handshake) 인증 프로토콜(CHAP), 및 확장가능한 인증 프로토콜(EAP)과 같은, 챌린지 응답 프로토콜을 사용하여 행해질 수 있다.
모바일 디바이스가 서버 또는 피어들로부터 메시지들을 송신하거나 수신하기 이전에, 시스템은 사용자 및 모바일 디바이스와 연관된 맥락 정보를 수집한다(동작(506)). 이전에 논의된 바와 같이, 시간 및 위치 정보, 사용자의 이동성 정보, 사용자의 통신 패턴과 연관된 정보, 인터넷 접근성(모바일 디바이스가 와이파이 또는 다른 고 대역폭 데이터 채널들에 접속되는지의 여부), 네트워크 트래픽과 관련된 정보, 배터리 수명, 및 모바일 디바이스 상의 다양한 센서들의 출력들을 포함하지만 그들로 제한되지 않는, 다양한 맥락 정보는 모바일 디바이스에 의해 수집될 수 있다. 맥락 정보의 일부는 사용자 거동(behavior)에 관련되는 반면에, 일부는 모바일 디바이스의 네트워크 환경에 관련될 수 있다.
시스템은 그 다음, 수집된 맥락 정보에 기초하여, 트리거 조건이 충족되는지의 여부를 결정한다(동작(508)). 그렇다면, 시스템은 더 높은 보안 레벨을 제공할 수 있는 키 래칫팅 동작을 수행한다(동작(510)). 예를 들면, 시스템은 DH 래칫팅을 수행할 수 있고, 상기 DH 래칫팅은 와이파이가 이용가능하지 않으면, 와이파이 채널 또는 SMS 채널을 통해 메시지들을 교환하는 것을 수반할 수 있다. SMS 기반 애플리케이션에 대해, 이 접근법이 낮은 오버헤드를 초래하고, 이는 그것이 SMS 채널 사용을 감소시키기 위해 와이파이를 통해 기존의 통신에 편승하기 때문이다. 도 3a에 도시된 바와 같이, 심지어 단지 SMS만이 이용가능할 때, DH 래칫팅은 추가의 SMS 메시지들의 사용을 요구하지 않고, 기존의 통신들에 적응될 수 있다. DH 래칫팅에 의해 야기된 오버헤드는 타원 곡선 DH(ECDH)를 사용함으로써 감소될 수 있고, 상기 타원 곡선 DH는 평이한 유한 필드들 대신에 유한 필드들을 통해 타원 곡선들의 대수적 구조들에 관해 DH를 사용한다. ECDH를 사용하여, 오버헤드는 2개의 메시지들에서 42 바이트들로 감소될 수 있다.
트리거 조건이 충족되지 않으면, 시스템은 단지 상대적으로 낮은 레벨의 보안을 제공하는 키 래칫팅을 수행하거나 시스템은 키를 래칫팅하지 않는다(동작(512)). 예를 들면, 시스템은 해시 기반 래칫팅을 수행할 수 있고, 이는 어떠한 오버헤드도 초래하지 않는다. 해시 기반 래칫팅을 위해 사용된 패킷들이 동일하게 유지되기 때문에(도 3b에 도시된 바와 같이), 이 방식이 대역 제한 SMS 채널과 잘 맞음에 주의한다. 해시 기반 래칫팅에 더하여, 시스템은 동일한 암호화 키를 사용하여 IV(AES-CTR 모드로 통신 파트너들 사이에 교환된 정보의 일부인) 및 키를 업데이트할 수 있다. 이렇게 행하기 위한 하나의 방식은 IV를 업데이트하기 위해 메시지 카운터들에 의존하는 것이다. 메시지 카운터가 이용가능하지 않은 경우들에서, 클라이언트 및 서버는 각각 캐싱된 메시지 카운터를 유지할 수 있다. 모든 메시지 교환들을 위해, 양 당사자들은 동기화를 유지하기 위해 그들의 카운터들을 증가시킨다. 이 접근법은 오버헤드를 증가시키지 않고 적은 메모리 공간(footprint)을 갖는다.
이전에 논의된 바와 같이, 트리거 조건을 규정하는데 있어서 다양한 기준들이 존재한다. 하나의 단순한 방식은 시간 및 통신 채널들의 이용가능성에 기초하여 트리거 조건을 규정하는 것이다. 더 구체적으로, 시스템은 2개의 타이밍 임계치들, 래칫 간격 및 최대 래칫 간격을 규정할 수 있다. 트리거 조건은 모바일 디바이스가 와이파이에 접속되고 마지막 래칫팅 동작 이후의 시간 간격이 래킷 간격을 초과하면, 충족될 수 있다. 대안적으로, 트리거 조건은 모바일 디바이스가 계속 정지해 있고 전송될 수 있는 SMS 메시지들의 수에 관해 어떠한 제한도 존재하지 않으면, 충족될 수 있다. 이것은 이동하는 모바일 디바이스가 저하된 채널 품질을 야기할 수 있고, 이는 SMS 메시지들의 성공적이지 않은 송신을 야기할 수 있으며, 따라서 DH 키 래칫팅을 위해 적합한 조건이 아니기 때문이다. 유사하게, DH 래칫팅이 오버헤드를 생성하기 때문에, 그것은 허용된 SMS 메시지들의 수에 어떠한 제한도 존재하지 않을 때 수행되어야 한다. 마지막으로, 트리거 조건은 마지막 래칫팅 동작 이후의 시간 간격이 최대 래칫 간격을 초과하면, 충족될 것이다. 이 최대 래칫 간격 고려가 모든 다른 고려들보다 더 중요함에 주의한다. 즉, 네트워크 접속 상황(즉, 모바일 디바이스가 고 대역폭 채널들 또는 대역 제한 채널들에 접속되는지의 여부)에 상관 없이 최대 래칫 간격에 도달했을 때, 시스템은 새로운 키를 생성하기 위해 DH 래칫팅을 수행할 것이다.
후속적으로, 시스템은 래칫팅된 키로부터 얻어진 메시지 키를 사용하여 메시지를 암호화하고 암호화된 메시지를 송신한다(동작(514)).
도 5에 도시된 예시적인 프로세스는 보안 통신의 어느 하나의 당사자에 의해 수행될 수 있다. 클라이언트 서버 통신의 경우들에서, 클라이언트는 그 자신의 맥락 정보에 기초하여, 더 안전한 래칫팅을 수행할지의 여부를 결정할 수 있다. 한편, 서버는 또한, 클라이언트로부터 맥락 정보를 얻을 수 있고, 안전한 래칫팅을 수행할지의 여부를 결정하기 위해 이러한 정보를 사용한다. 대안적으로, 서버는 또한, 그 자신의 규칙들을 도입할 수 있고 특정 트리거 조건이 충족되었을 때, 안전한 래칫팅을 개시한다. 피어 대 피어 통신의 경우들에서, 어느 하나의 클라이언트 디바이스는 그것이 그 자신의 맥락 정보에 기초하여, 트리거 조건이 충족되었는지를 결정하면, 안전한 래칫팅을 개시할 수 있다.
보안 SMS 기반 모바일 애플리케이션
이전에 논의된 바와 같이, SMS는 저 비용 방식의 통신을 제공할 수 있고, 다양한 모바일 애플리케이션들은 3G 또는 4G 셀룰러 데이터 네트워크의 더 높은 로밍 비용들을 지불하는 것을 회피하기 위해 통신 채널로서 SMS를 사용하여 개발될 수 있다. 예를 들면, 모바일 디바이스를 구동하는 클라이언트는 하이퍼텍스트 전송 프로토콜(HTTP) 트래픽을 2G 네트워크들을 통해 전송되는 일련의 SMS 메시지들로 압축할 수 있다. 이들 SMS 메시지들은 애플리케이션의 서버에서 판독되고 다른 온라인 서비스들로 포워딩(forwarding)될 수 있는 HTTP 메시지들로 재조합된다. 동일한 것이 서버로부터 클라이언트로 다시 전송된 메시지들에 대해 발생할 수 있다. 결과적으로, 대역 제한 SMS 채널을 사용하여, 모바일 디바이스의 사용자는 다양한 온라인 서비스들에 액세스할 수 있다. 그러나, 이 접근법의 하나의 중요한 결점은 SMS 채널의 보안의 부족이다. 더 구체적으로, 현재의 SMS 통신들은 암호화되지 않고, 많은 가능한 공격들의 영향을 받을 수 있다. 예를 들면, 중재자들(예로서, 셀룰러 네트워크 오퍼레이터(operator)들 및 SMS 라우터들)은 SMS 콘텐트를 소극적으로 수집할 수 있다. 더 나쁜 건, 적극적 공격자는 SMS 메시지들을 주입, 수정, 또는 중계하고, 심지어 중간자(man-in-the-middle) 공격을 통해 통신들의 완전한 제어를 얻을 수 있다.
SMS 기반 앱스에 보안을 제공하는 것은 SMS 채널들과 연관된 내재하는 제약들로 인해 도전적일 수 있다. 더 구체적으로, SMS 패킷 크기는 140 바이트들로 제한되고, SMS 전송은 신뢰가능하지 않을 수 있는데, 이는 전달, 순서화, 타이밍, 또는 복제 보호에 대해 어떠한 보장도 존재하지 않기 때문이다. 기존의 SMS 보안 접근법들은 충분히 안전하지 않거나(예로서, 미래의 보안유지를 제공하지 않음) 너무 많은 통신 오버헤드를 초래한다.
적응형 키 래칫팅 시스템은 감소된 오버헤드를 갖는 안전하게 암호화된 SMS 통신들을 허용한다. 도 6은 본 발명의 일 실시예에 따른, 보안 SMS 기반 모바일 애플리케이션에 대한 일 예시적인 통신 스택을 도시하는 도면을 제공한다. 도 6에서, 보안 SMS 기반 모바일 애플리케이션의 통신 스택은 애플리케이션 계층(602), 전송 계층(604), 보안 계층(606), SMS 계층(608), 및 데이터 링크 계층(610)을 포함한다. 도 6의 우측은 각각의 계층에서의 데이터 프레임을 보여준다. 전송 계층(604)은 애플리케이션 계층(602)에 페이로드(612)를 압축하고 데이터 프레임(614)을 얻기 위해 적절한 헤더들을 부착한다. 보안 계층(606)은 압축된 페이로드를 암호화하고 MAC를 부착하여, 데이터 프레임(616)을 야기한다. 128-비트 블록 암호들을 사용하는 암호화 방식들에 대해, 암호화된 페이로드는 전형적으로, 128 비트들의 배수들을 포함할 수 있다. MAC는 80 비트들로 길 수 있다. SMS 계층(608)은 베이스64 인코딩을 사용하여 데이터 프레임(616)을 인코딩하고, 이는 페이로드를 확장시킬 수 있다. 인코딩된 데이터 프레임은 그 다음, SMS 데이터 프레임들(618 및 620)에 적응되고, 각각의 SMS 데이터 프레임은 1120 비트들의 길이를 갖는다.
도 7a는 본 발명의 일 실시예에 따른, 보안 SMS 기반 모바일 애플리케이션에 대한 일 예시적인 메시지 포맷을 도시하는 도면을 제공한다. 도 7a에서, 메시지 헤더는 8-비트 프로토콜 식별자(PID) 필드, 8-비트 메시지 ID(MID) 필드, 및 8-비트 예약된 필드를 포함한다. 메시지는 암호화된 페이로드 필드 및 80-비트 MAC 필드를 더 포함한다. MAC가 헤더 및 페이로드 둘 모두에 걸쳐 컴퓨팅됨에 주의한다.
도 7b는 본 발명의 일 실시예에 따른, 보안 SMS 기반 모바일 애플리케이션에 대한 일 예시적인 메시지 포맷을 도시하는 도면을 제공한다. 도 7b에서, 메시지는 연결된 SMS 메시지이고, 상기 연결된 SMS 메시지는 헤더가 이제, 연결된 SMS 메시지에서의 메시지 순서 및 메시지들의 총 수를 나타내는 8-비트 CID/TOT 필드를 포함하는 것을 제외하고, 도 7a의 포맷과 유사한 포맷을 갖는다.
선택된 평문 공격(CPA) 보안 및 선택된 암호문 공격(CCA) 보안을 포함하는, 실제로 성취될 수 있는 다양한 보안 레벨들이 존재한다. CPA 보안은 또한, 소위 의미론적 보안이고, 이는 상대방이 임의의 평문을 암호화하는 능력으로부터 어떠한 중요한 장점도 얻지 못함을 의미한다. CPA는 소극적 공격들에 관한 것이고 종종 최소한의 바람직한 보안 레벨로 고려된다. 한편, CCA 보안은 상대방이 암호문을 복호화하는 능력으로부터 어떠한 중요한 장점도 얻지 못함을 보장한다. 즉, CCA는 상대방이, 심지어 정해준 대로 다른 암호문의 복호화에 액세스하는 암호문을 고려해볼 때, 기본적인 평문에 관한 임의의 정보를 학습할 수 없음을 보장한다. CCA 보안은 CPA 보안보다 강력(strong) 보호를 제공하지만 실제로 성취하기 더 힘들다. 예를 들면, AES-CTR은 CCA-보안이 아닌 CPA-보안이다.
본 발명의 실시예들에서, AES-CTR 방식은 암호화 다음의 MAC 프로세스(encrypt-then-MAC process)를 사용하여 CCA-보안 방식으로 변형되는데, 이는 인증된 암호화가 CCA-보안이기 때문이다. 대부분의 CCA 공격들은 공격자가 챌린지를 수정하고 그 다음, 그것을 그 응답이 공격자가 어떤 메시지가 암호화되었는지를 알려주는 것을 가능하게 하는, 복호화 오라클(oracle)에 전달하는 것에 의존한다. 그러나, 인증된 암호화 방식들은 구성된 암호문을 부적절하게 인식하고 그것을 복호화하는 것을 거절할 수 있다. 따라서, 암호화 외에 MAC를 포함시킴으로써, 공격자가 암호문을 조작하는 것을 방지할 수 있고, 따라서 복호화 오라클을 필수적으로 쓸모 없게 만든다.
도 8은 본 발명의 일 실시예에 따른, 일 예시적인 암호화된 통신 프로토콜을 도시하는 도면을 제공한다. 도 8에서, 클라이언트(802)는 마스터 키로부터 서명 키(Ks) 및 암호화 키(Ke)를 얻고, 상기 마스터 키는 클라이언트(802)와 서버(804) 사이에 공유된 비밀이다. Ks 및 Ke를 얻기 위한 하나의 단순한 방식은 SHA-256으로 마스터 키를 해싱하고 암호화 키로서 시작 128 비트들 및 서명 키로서 종료 128 비트들을 사용하는 것이다. AES-CTR은 입력으로서 평문 메시지(m), 암호화 키(Ke), 및 암호화 키와 동일한 길이를 갖는 IV를 취하는 메시지(m)를 암호화하기 위해 사용된다. 128-비트 IV는 64-비트 넌스를 64-비트 메시지 카운터와 연결함으로써 구성될 수 있다. 암호문(c)은
Figure pat00010
로서 생성될 수 있다. 메시지가 128 비트들보다 길면, 그것은 분할되고, 필요하다면 128 비트들의 블록들로 채워질(padded into) 필요가 있다.
IV 및 암호문 둘 모두는 MAC를 구축하기 위해 사용된다. 일부 실시예들에서, HMAC는 다음으로서 태그를 컴퓨팅하기 위해 사용된다:
Figure pat00011
. 암호문 뿐만 아니라, SMS 채널을 통해 전송된 모든 요소들에 MAC를 적용하는 것이 중요함에 주의한다. 태그가 여기서 산출된 바와 같이 256 비트들일지라도, 그것은 여전히 강력 인증을 제공하면서, 오버헤드를 감소시키기 위해 80 비트들로 그 길이가 줄여질 수 있다. IV, 암호문, 및 태그는 도 8에 도시된 바와 같이 SMS 채널을 통해 전송된다. 또한, 도 8에 도시된 서버(804)는 서명 키(Ks) 및 암호화 키(Ke)를 얻고, 태그를 검증하며, 암호문을 복호화한다.
부가된 보안 계층으로부터 발생하는 통신 오버헤드를 감소시키는데 있어서 다양한 접근법들이 존재한다. 예를 들면, IV는 암호문과 함께 전송되고, 키 확립 단계에서 넌스를 송신함으로써 각각의 송신된 IV의 길이를 감소시킬 수 있다. 결과적으로, IV의 메시지 카운터 부분만이 송신될 필요가 있다.
오버헤드는 또한, IV를 전혀 송신하지 않음으로써 감소될 수 있다. 대신에, 메시지 ID(도 7a 및 도 7b에 도시된 바와 같은)는 메시지 카운터를 대체하기 위해 사용될 수 있다. 그러나, 메시지 ID는 단지 8 비트들로 길고 따라서, 단지 최대 256개의 메시지들까지 카운팅한다. 이것을 극복하기 위해, 매 256개의 메시지들 마다에 대해 마스터 키를 업데이트할 수 있다. 또 다른 옵션은 매 256개의 메시지들 마다 증가되는 로컬적으로 캐싱된 카운터를 유지하고 IV로서 넌스의 SHA-256, 캐싱된 카운터, 및 메시지 ID를 사용하는 것이고, 즉
Figure pat00012
이다. 즉, 클라이언트 및 서버는 더 이상 IV를 전달할 필요가 없고, 매 256개의 패킷들 마다 단지 그들의 캐싱된 카운터를 업데이트할 필요가 있다. 이 접근법은 구현의 용이성, 효율성과, 장애 허용성(resilience) 사이에 정확한 트레이드오프(nice tradeoff)를 제공한다. 더 구체적으로, 이 암호화 방식은 전혀 통신 오버헤드를 증가시키지 않는다. IV 오버헤드를 감소시키기 위한 또 다른 접근법은 다음 IV를 생성하기 위해 이전 IV를 해싱하는 것에 의존한다.
이전에 설명된 바와 같이, 키 래칫팅은 또한, 보안은 향상시킬 수 있다. 게다가, 키 래칫팅이 심지어 각각의 메시지에 대해 수행되지 않을 때, 도 3a 및 도 3b에 도시된 바와 같이, 더 이상 IV에 대한 필요성이 존재하지 않는다. 래칫팅이 부가적인 오버헤드를 부가할지라도, (도 4에 도시된 바와 같은) 적응형 래칫팅은 여전히 높은 보안 레벨을 제공하면서, 전체적인 오버헤드를 감소시킬 수 있다. SMS 기반 애플리케이션에 대한 통신 오버헤드를 감소시키기 위한 또 다른 접근법은 MAC들의 송신에 의해 야기된 오버헤드를 감소시키는 것이다. 그렇게 행하기 위한 하나의 방식은 모든 메시지에 대해 단일 MAC을 사용하는 대신에 메시지들의 그룹에 대해 하나의 MAC를 사용하는 것이다. 그러나, 이것은 증가된 재송신을 야기할 수 있는데, 이는 그룹에서 하나의 손상된 메시지가 그룹에서 모든 메시지들의 재송신을 요구할 수 있기 때문이다. 또 다른 접근법은 MAC를 전혀 사용하지 않는 것을 포함하고, 인증을 제공하기 위해 송신된 메시지의 공지된 구조에 의존한다. 그러나, 이것은 보안 보호를 약화시킬 수 있다.
게다가, 긴 일련의 SMS 메시지들이 교환되는 상황들에서, 해시 트리들(또한, 머클(Merkle) 트리들로 공지된)의 사용을 고려하는 것이 유용할 수 있다. MAC와 결부하여, 이들 해시 트리들은 약간 더 큰 오버헤드를 희생하고 더 효율적인 에러 검출을 허용한다.
일반적으로, 본 발명의 실시예들은 SMS 기반 통신들에서 보안을 보장하기 위한 방식들을 제공한다. 사용자 거동 뿐만 아니라, 네트워크 환경에 적응적인 키 래칫팅 동작들로 대칭 암호화를 수행함으로써, 래칫팅으로부터 발생하는 통신 오버헤드는 보안을 손상시키지 않고 감소될 수 있다.
컴퓨터 및 통신 시스템
도 9는 본 발명의 일 실시예에 따른, 적응형 키 래칫팅을 위한 일 예시적인 컴퓨터 및 통신 시스템을 도시한다. 하나의 실시예에서, 컴퓨터 및 통신 시스템(900)은 프로세서(902), 메모리(904), 및 저장 디바이스(906)를 포함한다. 저장 디바이스(906)는 적응형 키 래칫팅 애플리케이션(908) 뿐만 아니라, 애플리케이션들(910 및 912)과 같은, 다른 애플리케이션들을 저장한다. 동작 동안, 적응형 키 래칫팅 애플리케이션(908)은 저장 디바이스(906)로부터 메모리(904)로 로딩되고 그 다음, 프로세서(902)에 의해 실행된다. 프로그램을 실행할 때, 프로세서(902)는 상기 설명된 기능들을 수행한다. 컴퓨터 및 통신 시스템(900)은 터치스크린 디스플레이를 포함할 수 있는 선택적 디스플레이(914), 키보드(916), 포인팅(pointing) 디바이스(918)에 결합되고, 또한 하나 이상의 네트워크 인터페이스들을 통해 네트워크(920)에 결합될 수 있다.
일부 실시예들에서, 애플리케이션들(908, 910, 및 912)은 부분적으로 또는 전적으로 하드웨어에서 구현될 수 있고 프로세서(902)의 부분일 수 있다. 게다가, 일부 실시예들에서, 시스템은 별개의 프로세서 및 메모리를 포함하지 않을 수 있다. 대신에, 그들의 특정 업무들을 수행하는 것에 더하여, 애플리케이션들(908, 910, 및 912)은 별개로 또는 협력하여, 일반 또는 특정 목적 계산 엔진들의 부분일 수 있다.
상기 발명을 실시하기 위한 구체적인 내용에서 설명된 데이터 구조들 및 코드는 전형적으로, 컴퓨터 시스템에 의해 사용하기 위해 코드 및/또는 데이터를 저장할 수 있는 임의의 디바이스 또는 매체일 수 있는 컴퓨터 판독가능한 저장 매체 상에 저장된다. 컴퓨터 판독가능한 저장 매체는 휘발성 메모리, 비 휘발성 메모리, 디스크 드라이브들, 자기 테이프, 콤팩트 디스크들(CDs), 디지털 다기능 디스크들 또는 디지털 비디오 디스크들(DVDs)과 같은 자기 및 광학 저장 디바이스들, 또는 이제 공지되거나 이후에 개발된 컴퓨터 판독가능한 매체들을 저장할 수 있는 다른 매체들을 포함하지만, 그들로 제한되지 않는다.
상기 발명을 실시하기 위한 구체적인 내용 섹션에서 설명된 방법들 및 프로세스들은 상기 설명된 바와 같은 컴퓨터 판독가능한 저장 매체에 저장될 수 있는 코드 및/또는 데이터로서 구현될 수 있다. 컴퓨터 시스템이 컴퓨터 판독가능한 저장 매체 상에 저장된 코드 및/또는 데이터를 판독하고 실행할 때, 컴퓨터 시스템은 데이터 구조들 및 코드로서 구현되고 컴퓨터 판독가능한 저장 매체 내에 저장된 방법들 및 프로세스들을 수행한다.
또한, 본 명세서에서 설명된 방법들 및 프로세스들은 하드웨어 모듈들 또는 장치에 포함될 수 있다. 이들 모듈들 또는 장치는 주문형 반도체(application-specific integrated circuit; ASIC) 칩, 필드 프로그래밍가능한 게이트 어레이(FPGA), 및 특정한 시간에서 특정한 소프트웨어 모듈 또는 코드의 일부분을 실행하는 전용 또는 공유된 프로세서, 및/또는 이제 공지되거나 이후에 개발된 다른 프로그래밍가능한 로직 디바이스들을 포함할 수 있지만, 그들로 제한되지 않는다. 하드웨어 모듈들 또는 장치가 활성화될 때, 상기 하드웨어 모듈들 또는 장치는 그들 내에 포함된 방법들 및 프로세스들을 수행한다.

Claims (10)

  1. 보안 통신 채널에서 보안을 향상시키기 위한 컴퓨터 실행 방법에 있어서:
    모바일 디바이스에 의해, 상기 모바일 디바이스 또는 상기 모바일 디바이스의 사용자와 연관된 맥락(contextual) 정보를 수집하는 단계;
    트리거(trigger) 조건이 수집된 상기 맥락 정보에 기초하여 충족되는지의 여부를 결정하는 단계;
    상기 트리거 조건이 충족된다고 결정하는 것에 응답하여, 암호 키를 업데이트하기 위해 현재 암호 키에 관해 제 1 유형의 키 래칫팅(ratcheting) 동작을 수행하는 단계;
    상기 트리거 조건이 충족되지 않는다고 결정하는 것에 응답하여, 상기 암호 키를 업데이트하기 위해 상기 현재 암호 키에 관해 제 2 유형의 키 래칫팅 동작을 수행하는 단계; 및
    업데이트된 상기 암호 키와 연관된 암호화 키를 사용하여 전송될 메시지를 암호화하는 단계를 포함하는, 컴퓨터 실행 방법.
  2. 제 1 항에 있어서,
    상기 제 1 유형의 키 래칫팅 동작은 상기 제 2 유형의 키 래칫팅 동작보다 높은 레벨의 보안을 제공하는, 컴퓨터 실행 방법.
  3. 제 2 항에 있어서,
    상기 제 1 유형의 키 래칫팅 동작은 디피 헬만(Diffie-Hellman) 키 래칫팅 동작을 수반하고, 상기 제 2 유형의 키 래칫팅 동작은 해시 기반 키 래칫팅 동작을 수반하는, 컴퓨터 실행 방법.
  4. 제 1 항에 있어서,
    상기 맥락 정보는:
    상기 제 1 유형의 이전 키 래칫팅 동작이 수행된 이후의 시간 간격;
    상기 통신 채널의 현재 대역폭;
    상기 사용자의 위치;
    상기 사용자의 움직임 패턴들;
    네트워크 트래픽 패턴들; 및
    상기 모바일 디바이스의 배터리 수명 중 하나 이상을 포함하는, 컴퓨터 실행 방법.
  5. 제 1 항에 있어서,
    상기 보안 통신 채널은:
    와이파이(Wi-Fi) 채널;
    3G 또는 4G 셀룰러 네트워크 채널; 및
    단문 메시지 서비스(SMS) 채널 중 하나 이상을 포함하는, 컴퓨터 실행 방법.
  6. 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 보안 통신 채널에서 보안을 향상시키기 위한 방법을 수행하도록 하는 지시들을 포함하는 컴퓨터 판독가능한 저장 매체에 있어서,
    상기 방법은:
    모바일 디바이스에 의해, 상기 모바일 디바이스 또는 상기 모바일 디바이스의 사용자와 연관된 맥락 정보를 수집하는 단계;
    트리거 조건이 수집된 상기 맥락 정보에 기초하여 충족되는지의 여부를 결정하는 단계;
    상기 트리거 조건이 충족된다고 결정하는 것에 응답하여, 암호 키를 업데이트하기 위해 현재 암호 키에 관해 제 1 유형의 키 래칫팅 동작을 수행하는 단계;
    상기 트리거 조건이 충족되지 않는다고 결정하는 것에 응답하여, 상기 암호 키를 업데이트하기 위해 상기 현재 암호 키에 관해 제 2 유형의 키 래칫팅 동작을 수행하는 단계; 및
    업데이트된 상기 암호 키와 연관된 암호화 키를 사용하여 전송될 메시지를 암호화하는 단계를 포함하는, 컴퓨터 판독가능한 저장 매체.
  7. 제 6 항에 있어서,
    상기 제 1 유형의 키 래칫팅 동작은 상기 제 2 유형의 키 래칫팅 동작보다 높은 레벨의 보안을 제공하는, 컴퓨터 판독가능한 저장 매체.
  8. 제 7 항에 있어서,
    상기 제 1 유형의 키 래칫팅 동작은 디피 헬만 키 래칫팅 동작을 수반하고, 상기 제 2 유형의 키 래칫팅 동작은 해시 기반 키 래칫팅 동작을 수반하는, 컴퓨터 판독가능한 저장 매체.
  9. 보안 통신 채널에서 보안을 향상시키기 위한 컴퓨터 시스템에 있어서:
    모바일 디바이스 또는 상기 모바일 디바이스의 사용자와 연관된 맥락 정보를 수집하도록 구성된 맥락 정보 수집 모듈;
    트리거 조건이 상기 수집된 맥락 정보에 기초하여 충족되는지의 여부를 결정하도록 구성된 결정 모듈;
    상기 결정 모듈이 상기 트리거 조건이 충족된다고 결정하는 것에 응답하여, 암호 키를 업데이트하기 위해 현재 암호 키에 관해 제 1 유형의 키 래칫팅 동작을 수행하도록 구성된 제 1 키 래칫팅 모듈;
    상기 결정 모듈이 상기 트리거 조건이 충족되지 않는다고 결정하는 것에 응답하여, 상기 암호 키를 업데이트하기 위해 상기 현재 암호 키에 관해 제 2 유형의 키 래칫팅 동작을 수행하도록 구성된 제 2 키 래칫팅 모듈; 및
    업데이트된 상기 암호 키와 연관된 암호화 키를 사용하여 전송될 메시지를 암호화하도록 구성된 암호화 모듈을 포함하는, 컴퓨터 시스템.
  10. 제 9 항에 있어서,
    상기 제 1 유형의 키 래칫팅 동작은 상기 제 2 유형의 키 래칫팅 동작보다 높은 레벨의 보안을 제공하는, 컴퓨터 시스템.
KR1020160134258A 2015-10-30 2016-10-17 제한된 대역폭을 갖는 채널들을 통한 효율적이고 의미론적으로 안전한 대칭 암호화를 위한 시스템 및 방법 KR102368749B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/928,914 2015-10-30
US14/928,914 US9929863B2 (en) 2015-10-30 2015-10-30 System and method for efficient and semantically secure symmetric encryption over channels with limited bandwidth

Publications (2)

Publication Number Publication Date
KR20170051259A true KR20170051259A (ko) 2017-05-11
KR102368749B1 KR102368749B1 (ko) 2022-03-02

Family

ID=57206019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160134258A KR102368749B1 (ko) 2015-10-30 2016-10-17 제한된 대역폭을 갖는 채널들을 통한 효율적이고 의미론적으로 안전한 대칭 암호화를 위한 시스템 및 방법

Country Status (4)

Country Link
US (1) US9929863B2 (ko)
EP (1) EP3163835B1 (ko)
JP (1) JP6764753B2 (ko)
KR (1) KR102368749B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190018909A (ko) * 2017-08-16 2019-02-26 덕성여자대학교 산학협력단 사물인터넷 환경에서 기기 사이의 대역외 채널의 안전도를 고려한 비밀키 설정 방법
KR20190019441A (ko) * 2017-08-17 2019-02-27 덕성여자대학교 산학협력단 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9596079B1 (en) 2016-04-14 2017-03-14 Wickr Inc. Secure telecommunications
US10735384B2 (en) * 2017-02-17 2020-08-04 Whatsapp Inc. Techniques for key ratcheting with multiple step sizes
EP3661115B1 (en) * 2017-09-01 2024-01-17 Mitsubishi Electric Corporation Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program
US11108552B1 (en) * 2018-05-02 2021-08-31 Amazon Technologies, Inc. Data encryption method and system
KR102537840B1 (ko) * 2018-07-13 2023-05-31 삼성전자 주식회사 서버 장치 및 다른 장치들의 위치 정보를 수집하는 방법
US10412063B1 (en) 2019-02-05 2019-09-10 Qrypt, Inc. End-to-end double-ratchet encryption with epoch key exchange
EP3921976A1 (en) * 2019-02-06 2021-12-15 ABB Power Grids Switzerland AG Method for authenticating messages in resource limited systems
US11552781B2 (en) * 2019-04-05 2023-01-10 Honeywell International Inc. Using error detection bits for cryptographic integrity and authentication
US11025422B2 (en) * 2019-07-23 2021-06-01 Nasuni Corporation Cloud-native global file system with constant-time rekeying

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003110540A (ja) * 2001-10-01 2003-04-11 Keio Gijuku 暗号鍵更新方法
JP2008228051A (ja) * 2007-03-14 2008-09-25 Toyota Infotechnology Center Co Ltd 暗号通信システム、暗号通信方法、暗号通信プログラム、車載端末およびサーバ
JP2008287693A (ja) * 2007-05-16 2008-11-27 Palo Alto Research Center Inc 仮想コンテンツのフィルタリング方法
US20130308779A1 (en) * 2010-02-26 2013-11-21 Research In Motion Limited Methods and devices for computing a shared encryption key
US20150271144A1 (en) * 2014-03-21 2015-09-24 Venafi,Inc. Rule-based Validity of Cryptographic Key Material

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2948294B2 (ja) * 1990-09-20 1999-09-13 松下電器産業株式会社 認証機能付き鍵配送システムにおける端末
US20020199102A1 (en) * 2001-06-21 2002-12-26 Carman David W. Method and apparatus for establishing a shared cryptographic key between energy-limited nodes in a network
US7418596B1 (en) * 2002-03-26 2008-08-26 Cellco Partnership Secure, efficient, and mutually authenticated cryptographic key distribution
US7161914B2 (en) * 2002-04-11 2007-01-09 Ntt Docomo, Inc. Context aware application level triggering mechanism for pre-authentication, service adaptation, pre-caching and handover in a heterogeneous network environment
KR100579515B1 (ko) * 2004-10-08 2006-05-15 삼성전자주식회사 브로드캐스트 암호화를 위한 키 생성 장치 및 방법
US7983656B2 (en) * 2007-09-12 2011-07-19 At&T Intellectual Property I, L.P. Method and apparatus for end-to-end mobile user security
US9223590B2 (en) * 2010-01-06 2015-12-29 Apple Inc. System and method for issuing commands to applications based on contextual information
US9306741B1 (en) * 2010-12-22 2016-04-05 Emc Corporation Updating keys for use in authentication
GB201101507D0 (en) * 2011-01-28 2011-03-16 Scentrics Information Security Technologies Ltd Mobile device security
CN103533540A (zh) * 2012-07-03 2014-01-22 华为终端有限公司 建立直接链路方法、密钥更新方法和设备
US9817720B2 (en) * 2012-10-29 2017-11-14 Nokia Solutions And Networks Oy Methods, apparatuses and computer program products enabling to improve handover security in mobile communication networks
JP6043738B2 (ja) * 2014-01-30 2016-12-14 株式会社日立製作所 鍵管理装置および鍵管理方法
US9413786B1 (en) * 2015-02-04 2016-08-09 International Business Machines Corporation Dynamic enterprise security control based on user risk factors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003110540A (ja) * 2001-10-01 2003-04-11 Keio Gijuku 暗号鍵更新方法
JP2008228051A (ja) * 2007-03-14 2008-09-25 Toyota Infotechnology Center Co Ltd 暗号通信システム、暗号通信方法、暗号通信プログラム、車載端末およびサーバ
JP2008287693A (ja) * 2007-05-16 2008-11-27 Palo Alto Research Center Inc 仮想コンテンツのフィルタリング方法
US20130308779A1 (en) * 2010-02-26 2013-11-21 Research In Motion Limited Methods and devices for computing a shared encryption key
US20150271144A1 (en) * 2014-03-21 2015-09-24 Venafi,Inc. Rule-based Validity of Cryptographic Key Material

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190018909A (ko) * 2017-08-16 2019-02-26 덕성여자대학교 산학협력단 사물인터넷 환경에서 기기 사이의 대역외 채널의 안전도를 고려한 비밀키 설정 방법
KR20190019441A (ko) * 2017-08-17 2019-02-27 덕성여자대학교 산학협력단 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법

Also Published As

Publication number Publication date
EP3163835A1 (en) 2017-05-03
EP3163835B1 (en) 2019-12-11
JP6764753B2 (ja) 2020-10-07
US20170126409A1 (en) 2017-05-04
US9929863B2 (en) 2018-03-27
JP2017085559A (ja) 2017-05-18
KR102368749B1 (ko) 2022-03-02

Similar Documents

Publication Publication Date Title
KR102368749B1 (ko) 제한된 대역폭을 갖는 채널들을 통한 효율적이고 의미론적으로 안전한 대칭 암호화를 위한 시스템 및 방법
CN102131188B (zh) 用户身份信息传输的方法、用户设备、网络侧设备及系统
Perrin et al. The double ratchet algorithm
Luk et al. MiniSec: a secure sensor network communication architecture
CN101473668B (zh) 用于对初始信令消息中的原始用户标识进行安全保护的方法和设备
Tang et al. An efficient mobile authentication scheme for wireless networks
US8254581B2 (en) Lightweight key distribution and management method for sensor networks
CN112398651B (zh) 一种量子保密通信方法、装置、电子设备以及存储介质
Saxena et al. Dynamic secrets and secret keys based scheme for securing last mile smart grid wireless communication
US20140040618A1 (en) Galois/counter mode encryption in a wireless network
Rabiah et al. A lightweight authentication and key exchange protocol for IoT
Bali et al. Lightweight authentication for MQTT to improve the security of IoT communication
Alsmirat et al. A security framework for cloud-based video surveillance system
CN116321129B (zh) 一种轻量级的基于动态密钥的电力交易专网通信加密方法
US10630466B1 (en) Apparatus and method for exchanging cryptographic information with reduced overhead and latency
Vries Achieving 128-bit security against quantum attacks in OpenVPN
Hintaw et al. A Robust Security Scheme Based on Enhanced Symmetric Algorithm for MQTT in the Internet of Things
Saxena et al. SAKA: a secure authentication and key agreement protocol for GSM networks
Kanani et al. Hybrid PKDS in 4G using secured DCC
Yu et al. A lightweight secure data transmission protocol for resource constrained devices
Jilna et al. A key management technique based on elliptic curves for static wireless sensor networks
Narayanan et al. TLS cipher suite: Secure communication of 6LoWPAN devices
Soliman et al. An efficient application of a dynamic crypto system in mobile wireless security
Prabhakar Elliptic curve cryptography in securing networks by mobile authentication
Vehkaoja End-to-end encryption protocol for internet of things devices

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant