KR20150138106A - 효율적인 보안 인스턴트 메시징 - Google Patents

효율적인 보안 인스턴트 메시징 Download PDF

Info

Publication number
KR20150138106A
KR20150138106A KR1020150076465A KR20150076465A KR20150138106A KR 20150138106 A KR20150138106 A KR 20150138106A KR 1020150076465 A KR1020150076465 A KR 1020150076465A KR 20150076465 A KR20150076465 A KR 20150076465A KR 20150138106 A KR20150138106 A KR 20150138106A
Authority
KR
South Korea
Prior art keywords
level security
instant messaging
message
connection
computer
Prior art date
Application number
KR1020150076465A
Other languages
English (en)
Other versions
KR101714874B1 (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 KR20150138106A publication Critical patent/KR20150138106A/ko
Application granted granted Critical
Publication of KR101714874B1 publication Critical patent/KR101714874B1/ko

Links

Images

Classifications

    • 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
    • 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
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • 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/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels

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)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

고수준 보안 연결로 전환하기 전에 저수준 보안 연결로 시작하는 것에 의해 사용자가 보안 인스턴트 메시징 세션에 참가할 수 있게 하는 디바이스의 방법 및 장치가 기술된다. 디바이스는 보안 인스턴트 메시징 세션의 원격 참가자와 저수준 보안 연결 및 고수준 보안 연결을 동시에 설정한다. 디바이스는, 고수준 보안 연결이 설정되고 있는 동안, 제1 메시지를 저수준 보안 연결을 통해 원격 참가자에게 송신한다. 디바이스는 고수준 보안 연결이 설정되어 있는지를 추가로 판정한다. 고수준 보안 연결이 설정되어 있는 경우, 디바이스는 제2 메시지를 고수준 보안 연결을 통해 원격 참가자로 송신할 수 있다. 고수준 보안 연결이 아직 설정되지 않은 경우, 디바이스는 제2 메시지를 저수준 보안 연결을 통해 원격 참가자로 송신할 수 있다.

Description

효율적인 보안 인스턴트 메시징{EFFICIENT SECURE INSTANT MESSAGING}
관련 출원
본 출원은 2014년 5월 30일자로 출원된, 발명의 명칭이 "Efficient Secure Instant Messaging"인 미국 가특허 출원 제62/005,794호의 선출원일을 기초로 우선권을 주장한다.
기술분야
본 개시 내용은 일반적으로 디지털 데이터 통신에 관한 것으로서, 보다 상세하게는 전자 메시징을 위한 디바이스에 관한 것이다.
인스턴트 메시징은 인터넷 또는 다른 유형의 네트워크를 통해 2명 이상의 참가자 간의 실시간 텍스트 및/또는 멀티미디어 객체 전송을 제공하는 온라인 채팅의 한 유형이다. 아주 다양한 인스턴트 메시징 도구가 점점 더 널리 보급됨에 따라, 이들이 아주 민감한 데이터를 비롯한 모든 형태의 정보를 맡게 되었다. 그 결과, 인스턴트 메시징 서비스를 보호할 필요성이 많은 주목을 받게 되었다.
널리 보급된 인스턴트 메시징 솔루션 중 다수가 어떤 보호 수단도 제공하지 않지만, 다른 것들은 이미 보안 기능을 추가하기 시작하였다. 일부 인스턴트 메시징 도구는, 예컨대, 실제 사용자만이 이해할 수 있도록 메시지의 내용을 암호화 및 복호화하는 것에 의해 또는 메시지의 송신자의 신원(identity)을 인증하는 것에 의해, 저수준의 보안을 제공한다. 일부 인스턴트 메시징 도구는 OTR(Off-the-Record Messaging) 및 TLS(Transport Layer Security)와 같은 암호 프로토콜을 사용하는 것에 의해 고수준의 보안을 제공한다. 따라서, 인증 및 암호화에 부가하여, 이들 인스턴트 메시징 도구는 완전 순방향 비밀성(perfect forward secrecy) 및 순응적 암호화(malleable encryption)와 같은 보안 기능을 제공할 수 있다.
완전 순방향 비밀성은 메시지가 Diffie-Hellman 키 교환 프로토콜을 사용하여 협상되는 임시 메시지별 AES 키(temporary per-message AES key)로만 암호화된다는 것을 의미한다. 공격자가 이전의 대화의 암호화된 정보를 손에 넣고 있더라도, 임의의 오래 지속되는 암호 키의 손상이 임의의 이전의 대화를 손상시키지 않는다. 순응적 암호화는 참가자들에게 그들의 대화의 그럴듯한 부인권(plausible deniability)을 제공하며, 이는 상대방이 참가자가 대화를 했거나 특별히 어떤 것이든 말했다는 것을 증명할 수 없을 것임을 의미한다.
인스턴트 메시징 도구에 대한 고수준 보안의 배후에 있는 주된 동기는 실생활에서의 사적인 대화 또는 취재(journalism sourcing)에서의 비공개 대화와 같이 대화를 기밀로 유지하면서 대화 참가자에게 부인권을 제공하는 것이었다. 이것은 통신 사실 및 참가자의 신원의 입증가능한 기록으로서 나중에 사용될 수 있는 출력을 생성하는 저수준 보안을 갖는 인스턴트 메시징 도구와 대조된다.
고수준 보안 연결(high security connection)로 전환하기 전에 저수준 보안 연결(low security connection)로 시작하는 것에 의해 사용자가 보안 인스턴트 메시징 세션(secure instant messaging session)에 참가할 수 있게 하는 디바이스의 방법 및 장치가 기술된다. 한 예시적인 실시예에서, 디바이스는 보안 인스턴트 메시징 세션의 원격 참가자와 저수준 보안 연결 및 고수준 보안 연결을 동시에 설정한다. 디바이스는, 고수준 보안 연결이 설정되고 있는 동안, 제1 메시지를 저수준 보안 연결을 통해 보안 인스턴트 메시징 세션의 원격 참가자에게 송신한다. 디바이스는 고수준 보안 연결이 설정되어 있는지를 판정한다. 고수준 보안 연결이 설정되어 있는 경우, 디바이스는 제2 메시지를 고수준 보안 연결을 통해 원격 참가자에게 송신할 수 있다. 고수준 보안 연결이 아직 설정되지 않은 경우, 디바이스는 제2 메시지를 저수준 보안 연결을 통해 원격 참가자에게 송신할 수 있다.
하나의 실시예에서, 디바이스는 보안 인스턴트 메시징 세션의 원격 참가자로부터 고수준 보안 연결 및 저수준 보안 연결을 설정하라는 요청을 수신한다. 디바이스는 원격 참가자와 고수준 보안 연결 및 저수준 보안 연결을 동시에 설정한다. 디바이스는, 고수준 보안 연결이 설정되고 있는 동안, 제1 메시지를 저수준 보안 연결을 통해 원격 참가자로부터 수신할 수 있다. 디바이스는 고수준 보안 연결이 설정되어 있는지를 판정한다. 고수준 보안 연결이 설정되어 있는 경우, 디바이스는 제2 메시지를 고수준 보안 연결을 통해 원격 참가자에게 송신할 수 있다. 고수준 보안 연결이 아직 설정되지 않은 경우, 디바이스는 제2 메시지를 저수준 보안 연결을 통해 원격 참가자에게 송신할 수 있다.
하나의 실시예에서, 저수준 보안 연결은 완전 순방향 비밀성 또는 순응적 암호화를 제공하지 않는 암호 프로토콜을 사용한다. 하나의 실시예에서, 고수준 보안 연결은 완전 순방향 비밀성 또는 순응적 암호화 중 적어도 하나를 제공하는 암호 프로토콜을 사용한다. 하나의 실시예에서, 고수준 보안 연결은 OTR(Off-the-Record Messaging) 프로토콜 또는 TLS(Transport Layer Security) 프로토콜을 사용한다. 하나의 실시예에서, 제1 및 제2 메시지가 보안 인스턴트 메시징 세션의 로컬 참가자로부터 수신된다.
몇가지 상이한 유형의 보안 인스턴트 메시징 채널을 동시에 협상하는 것에 의해 사용자가 보안 인스턴트 메시징 세션에 참가할 수 있게 하는 디바이스의 방법 및 장치가 기술된다. 하나의 실시예에서, 디바이스는 보안 인스턴트 메시징 세션의 원격 참가자와 몇개의 보안 인스턴트 메시징 채널을 동시에 설정한다. 각각의 보안 인스턴트 메시징 채널은 상이한 기능 집합(a different set of functionalities)을 제공한다. 디바이스는 기준 집합(a set of criteria)에 기초하여 채널들 중 하나를 선택할 수 있다. 디바이스는 이어서 메시지를 선택된 채널을 통해 원격 참가자에게 송신한다.
하나의 실시예에서, 기준 집합은 채널이 설정되었는지를 포함한다. 하나의 실시예에서, 기준 집합은 채널의 기능 집합이 최고 수준의 보안을 제공하는지를 포함한다. 하나의 실시예에서, 기준 집합은 채널의 기능 집합이 하나 이상의 보안 관련 기능을 포함하는지를 포함한다. 하나의 실시예에서, 기준 집합은 채널의 기능 집합이 하나 이상의 비-보안 관련 기능을 포함하는지를 포함한다.
기타 방법 및 장치가 또한 개시된다. 실행될 때, 데이터 처리 시스템으로 하여금 본 개시 내용의 방법들 중 하나 이상의 방법을 수행하게 하는 실행가능 컴퓨터 프로그램을 포함하는 비일시적 기계 판독가능 저장 매체가 또한 기술된다.
본 개시 내용이, 유사한 참조 번호가 유사한 요소를 가리키고 있는 첨부 도면의 도면에, 제한이 아닌 예로서 도시되어 있다.
도 1은 2명의 사용자가 보안 인스턴트 메시징 세션에 효율적으로 참가하는 하나의 실시예의 단계들을 나타낸 도면.
도 2는 개시측 사용자(initiating user)가 디바이스 상에서 보안 인스턴트 메시징 세션에 참가하는 프로세스의 하나의 실시예의 플로우차트.
도 3은 타겟 사용자(target user)가 디바이스 상에서 보안 인스턴트 메시징 세션에 참가하는 프로세스의 하나의 실시예의 플로우차트.
도 4는 보안 인스턴트 메시징 세션에 참가하는 하나의 실시예의 디바이스의 상세도.
도 5는 디바이스 상에서 몇가지 상이한 유형의 보안 인스턴트 메시징 채널을 동시에 협상하는 것에 의해 보안 인스턴트 메시징 세션에 참가하는 프로세스의 하나의 실시예의 플로우차트.
도 6은 하나의 실시예에서 사용될 수 있는 데이터 처리 시스템의 하나의 예를 나타낸 도면.
도 7은 하나의 실시예에서 사용될 수 있는 다른 데이터 처리 시스템의 예를 나타낸 도면.
사용자가 보안 인스턴트 메시징 세션에 효율적으로 참가할 수 있게 하는 디바이스의 방법 및 장치가 기술된다. 이하의 설명에서, 본 개시 내용의 실시예에 대한 완전한 설명을 제공하기 위해 다수의 구체적인 상세가 기재되어 있다. 그렇지만, 본 개시 내용의 실시예가 이들 구체적인 상세 없이도 실시될 수 있다는 것이 통상의 기술자에게는 명백할 것이다. 다른 경우에, 본 설명의 이해를 모호하게 하지 않기 위해, 공지의 구성요소, 구조 및 기술이 상세히 설명되지 않았다.
본 명세서에서 "하나의 실시예" 또는 "일 실시예"라고 언급하는 것은 그 실시예와 관련하여 기술된 특정의 특징, 구조 또는 특성이 본 개시 내용의 적어도 하나의 실시예에 포함될 수 있다는 것을 의미한다. 본 명세서의 여러 곳에서 나오는 "하나의 실시예에서"라는 문구들 모두가 꼭 동일한 실시예를 말하는 것은 아니다.
이하의 설명 및 청구범위에서, "결합된" 및 "연결된"이라는 용어가, 그의 파생어와 함께, 사용될 수 있다. 이들 용어가 서로에 대한 동의어로서 의도되어 있지 않다는 것을 잘 알 것이다. "결합된"은 서로 물리적 또는 전기적으로 직접 접촉할 수 있거나 그렇지 않을 수 있는 2개 이상의 요소가 서로 협력하거나 상호작용하는 것을 가리키기 위해 사용된다. "연결된"은 서로 결합되어 있는 2개 이상의 요소 사이의 통신의 설정을 가리키기 위해 사용된다.
이하의 도면에 도시된 프로세스가 하드웨어(예컨대, 회로, 전용 로직 등), 소프트웨어(범용 디바이스 또는 전용 기계 상에서 실행되는 것 등), 또는 이 둘의 조합을 포함하는 처리 로직(processing logic)에 의해 수행된다. 프로세스가 어떤 순차적 동작들로 이하에서 기술되지만, 기술된 동작들 중 일부가 상이한 순서로 수행될 수 있다는 것을 잘 알 것이다. 게다가, 일부 동작들이 순차적으로 대신에 병렬로 수행될 수 있다.
"서버", "클라이언트", 및 "디바이스"라는 용어는, 서버, 클라이언트, 및/또는 디바이스에 대한 특정의 폼 팩터를 구체적으로 말하기보다는, 일반적으로 데이터 처리 시스템을 말하기 위한 것이다.
고수준 보안 연결로 전환하기 전에 저수준 보안 연결로 시작하는 것에 의해 사용자가 보안 인스턴트 메시징 세션에 효율적으로 참가할 수 있게 하는 디바이스의 방법 및 장치가 기술된다. 하나의 실시예에서, 디바이스는 고수준 보안 연결이 설정되고 있는 동안에 메시지를 송신 또는 수신하기 위해 처음에 저수준 보안 연결을 사용한다. 고수준 보안 연결이 설정되면, 디바이스는 저수준 보안 연결을 사용하는 것을 중단하고, 메시지를 송신 또는 수신하기 위해 고수준 보안 연결을 사용하기 시작한다. 이것은 고수준 보안 연결이 설정될 때까지 메시지를 송신 및 수신하는 것을 기다리는 것에 의해 야기될 수 있는 메시지의 송신 또는 수신에서의 잠재적인 지연을 회피할 수 있고, 고수준 보안 연결이 설정되면 인스턴트 메시징 세션을 위한 고수준의 보안을 제공할 수 있다.
사용자 Alice가 사용자 Bob과 고수준 보안 인스턴트 메시징 대화를 하려고 시도할 때, Alice는, 그녀의 제1 메시지를 Bob으로 송신할 수 있기 전에, 먼저 고수준 보안 연결(예컨대, OTR 프로토콜 또는 TLS 프로토콜을 사용하는 연결)을 설정할 필요가 있다. 예를 들어, 고수준 보안 연결을 위해 OTR 프로토콜을 사용하는 경우에, Alice가 그녀의 제1 메시지를 고수준 보안 연결을 통해 Bob으로 실제로 송신할 수 있기 전에 2회 반의 왕복(two and a half round trips)이 소요된다. 고수준 보안 인스턴트 메시징 세션의 초기화 동안 Alice 및 Bob 둘 다가 온라인인 경우, 2회 반의 왕복은 큰 문제가 되지 않는다. 그렇지만, 극단적인 시나리오에서, Alice 및 Bob은 지구의 반대편에 살고 있다(예컨대, Alice는 도쿄에 살고, Bob은 뉴욕에 산다). 따라서, Alice가 온라인일 때 Bob은 항상 오프라인이고, Bob이 온라인일 때 Alice는 항상 오프라인이다. 그 결과, 2회 반의 왕복을 완료하는 데 이틀 반이 소요될 수 있고, 이는 인스턴트 메시징 서비스의 대부분의 사용자에게 용인되지 않는다.
하나의 실시예에서, Alice 및 Bob은 저수준 보안 연결을 통해 서로에게 메시지를 송신하면서 고수준 보안 연결을 설정하려고 시도할 수 있다. 고수준 보안 연결이 설정된 후에만 - 즉, 고수준 보안 연결을 설정하기 위한 협상이 완료된 후에만 -, Alice 및 Bob은 서로에게 메시지를 송신하기 위해 고수준 보안 연결로 전환한다. 하나의 실시예에서, 고수준 보안 연결은 완전 순방향 비밀성 또는 순응적 암호화와 같은 고수준 보안 기능을 제공하는 암호 프로토콜(예컨대, OTR 및 TLS)을 사용한다. 하나의 실시예에서, 저수준 보안 연결은 인증 및/또는 암호화를 제공하는 암호 프로토콜을 사용하지만, 이들 암호 프로토콜은 완전 순방향 비밀성 또는 순응적 암호화와 같은 고수준 보안 기능을 제공하지 않는다. 저수준 보안 연결은, 여러번의 핸드쉐이킹 왕복(round trip of handshaking)을 거치지 않고, 즉각 설정될 수 있다. 따라서, 저수준 보안 연결을 사용하면서 그와 동시에 고수준 보안 연결을 설정하는 것에 의해, Alice 및 Bob은 즉시 채팅을 시작할 수 있다.
도 1은 2명의 사용자가 보안 인스턴트 메시징 세션에 효율적으로 참가하는 하나의 실시예의 단계들을 나타낸 다이어그램(100)이다. 구체적으로는, 이 도면은 사용자 Alice 및 Bob이, 고수준 보안 연결로 전환하기 전에 저수준 보안 연결로 시작하는 것에 의해, 보안 인스턴트 메시징 세션에 참가하는 것을 나타내고 있다. 하나의 실시예에서, Alice 및 Bob에 의해 사용되는 디바이스는 인스턴트 메시징 프로그램을 실행할 수 있는, 데스크톱 컴퓨터, 서버, 스마트폰, 랩톱, PDA(personal digital assistant), 음악 재생 디바이스, 게임 디바이스, 또는 임의의 다른 디바이스일 수 있다.
도 1에 예시된 바와 같이, Alice는 저수준 보안 메시지(105)를 Bob에게 송신하는 것에 의해 보안 인스턴트 메시징 세션을 개시하면서 그와 동시에 고수준 보안 프로토콜 헬로(high security protocol hello)(110)를 Bob에게 송신한다. 저수준 보안 메시지(105)는 인스턴트 메시징 세션의 첫번째 대화 메시지이다. 하나의 실시예에서, 저수준 보안 메시지(105)는 Bob의 공개 암호화 키(public encryption key)를 사용하여 암호화되고, 인증을 위한 Alice의 비밀 서명 키(private signing key)를 사용하여 서명된다. 고수준 보안 프로토콜 헬로(110)는 Alice와 Bob 사이의 고수준 보안 연결을 설정하는 데 필요한 인스턴트 메시징 세션의 첫번째 핸드쉐이크 메시지(handshake message)이다. 하나의 실시예에서, 고수준 보안 프로토콜 헬로(110)는 고수준 보안 연결에 의해 어느 프로토콜 버전이 사용될 것인지를 확인(ensure)하는 방법일 수 있다. 예를 들어, 고수준 보안 프로토콜 헬로(110)는 OTR v2 또는 OTR v3을 개시하라는 요청일 수 있다.
고수준 보안 프로토콜 헬로(110)를 수신한 후에, Bob은 고수준 보안 프로토콜 헬로 확인 응답(high security protocol hello acknowledgement)(115)을 다시 Alice에게 송신한다. 하나의 실시예에서, 고수준 보안 프로토콜 헬로 확인 응답(115)은 고수준 보안 연결에 의해 사용될 프로토콜 버전에 대해 합의한다. Bob은 또한 선택적으로 저수준 보안 메시지[예컨대, 저수준 보안 메시지(120)]를 다시 Alice에게 송신하기 시작할 수 있다. 하나의 실시예에서, 저수준 보안 메시지(120)는 Alice의 공개 암호화 키를 사용하여 암호화되고, 인증을 위한 Bob의 비밀 서명 키를 사용하여 서명된다.
고수준 보안 프로토콜 헬로 확인 응답(115)을 수신한 후에, Alice는 고수준 보안 프로토콜 합의(125)를 Bob에게 송신한다. Alice는 또한 선택적으로 다른 저수준 보안 메시지를 Bob에게 송신할 수 있다. 고수준 보안 프로토콜 합의(125)에 응답하여, Bob은 고수준 보안 프로토콜 합의 확인 응답(130)을 다시 Alice에게 송신한다. 하나의 실시예에서, 고수준 보안 프로토콜 합의(125) 및 고수준 보안 프로토콜 합의 확인 응답(130)은 Diffie-Hellman 키 교환을 수행한다. Alice가 고수준 보안 프로토콜 합의 확인 응답(130)을 성공적으로 수신하면, 라인(150)으로 나타낸 바와 같이, Alice와 Bob 사이의 인스턴트 메시징 세션에 대한 고수준 보안 연결이 설정되었다.
고수준 보안 연결이 설정되면, Alice는 고수준 보안 연결을 사용하여 고수준 보안 메시지[예컨대, 고수준 보안 메시지(135)]를 Bob에게 송신하기 시작할 수 있고, Bob도 또한 고수준 보안 연결을 사용하여 고수준 보안 메시지를 다시 Alice에게 송신하기 시작할 수 있다. 저수준 보안 연결과 고수준 보안 연결 간의 전환에 의해, 본 개시 내용은 저수준 보안 연결의 유용성과 고수준 보안 연결의 더 나은 보안 특성을 결합시켜 보다 효율적인 보안 인스턴트 메시징 세션을 형성한다.
통상의 기술자라면 다이어그램(100)이 보다 효율적인 인스턴트 메시징 세션을 설정하는 데 사용되는 단계들의 개념적 표현이라는 것을 잘 알 것이다. 다이어그램(100)의 특정의 단계들이 도시되고 기술된 바로 그 순서로 또는 바로 그 횟수로 수행되지 않을 수 있다. 예를 들어, 고수준 보안 연결을 설정하기 위한 왕복 횟수가 고수준 보안 기능을 제공하는 상이한 암호 프로토콜에 대해 상이할 수 있다.
도 2는 개시측 사용자가 디바이스 상에서 보안 인스턴트 메시징 세션에 참가하는 프로세스(200)의 하나의 실시예의 플로우차트를 예시한 것이다. 하나의 실시예에서, 고수준 보안 연결은 완전 순방향 비밀성 또는 순응적 암호화와 같은 고수준 보안 기능을 제공하는 암호 프로토콜(예컨대, OTR 및 TLS)을 사용한다. 하나의 실시예에서, 저수준 보안 연결은 인증 및/또는 암호화를 제공하는 암호 프로토콜을 사용하지만, 이들 암호 프로토콜은 완전 순방향 비밀성 또는 순응적 암호화와 같은 고수준 보안 기능을 제공하지 않는다. 하나의 실시예에서, 앞서 도 1과 관련하여 기술된 바와 같이, Alice가 Bob과 보안 인스턴트 메시징 대화를 시작하려고 시도할 때, 또는 그들 사이의 이전의 세션이 만료하고 새로운 세션이 개시될 필요가 있을 때, 프로세스(200)가 호출된다.
프로세스(200)는 [블록(205)에서] 제1 메시지를 원격 사용자에게 송신하라는 요청을 로컬 사용자로부터 수신하는 것으로 시작한다. 하나의 실시예에서, 앞서 도 1에서 기술된 바와 같이, 로컬 사용자는 Alice이고 원격 사용자는 Bob이다. 블록(208)에서, 프로세스(200)는 원격 사용자와 저수준 보안 연결 및 고수준 보안 연결을 동시에 설정한다. 하나의 실시예에서, 프로세스(200)가 저수준 보안 연결 및 고수준 보안 연결을 동시에 설정하기 시작하더라도, 저수준 보안 연결이 먼저 설정된다.
저수준 보안 연결이 설정되면, 프로세스(200)는 [블록(210)에서] 고수준 보안 연결이 여전히 설정되고 있는 동안, 제1 메시지를 저수준 보안 연결을 통해 원격 사용자에게 송신한다. 하나의 실시예에서, 앞서 도 1에 기술된 바와 같이, 제1 메시지는 저수준 보안 메시지(105)로서 송신된다. 하나의 실시예에서, 프로세스(200)는, 앞서 도 1에 기술된 바와 같이, 고수준 보안 프로토콜 헬로(110)를 송신하는 것에 의해 원격 사용자와 고수준 보안 연결을 설정하기 시작한다.
블록(215)에서, 프로세스(200)는 다음 메시지를 원격 사용자에게 송신하라는 요청이 로컬 사용자로부터 수신되었는지를 판정한다. 새로운 메시지를 송신하라는 요청이 수신되지 않은 경우, 프로세스(200)는 다시 검사하기 위해 블록(215)으로 루프백(loop back)한다. 다음 메시지를 송신하라는 요청이 로컬 사용자로부터 수신된 경우, 프로세스(200)는 [블록(220)에서] 고수준 보안 연결이 준비되어 있는지 - 암호 프로토콜(예컨대, OTR 또는 TLS)이 모든 핸드쉐이킹을 종료했고 암호 프로토콜에 기초한 고수준 보안 인스턴트 메시징 세션이 설정되었음을 의미함 - 를 판정한다. 하나의 실시예에서, 앞서 도 1에 기술된 라인(150)에 도달되었을 때 고수준 보안 연결이 준비되어 있다.
고수준 보안 연결이 준비되어 있는 경우, 프로세스(200)는 [블록(230)에서] 다음 메시지를 고수준 보안 연결을 통해 원격 사용자에게 송신한다. 하나의 실시예에서, 블록(230)에서 송신된 다음 메시지는 앞서 도 1에 기술된 고수준 보안 메시지(135)이다. 프로세스(200)는 이어서 새로운 메시지 요청이 로컬 사용자로부터 수신되었는지를 검사하기 위해 블록(215)으로 루프백한다.
고수준 보안 연결이 아직 준비되지 않은 경우, 프로세스(200)는 [블록(225)에서] 다음 메시지를 저수준 보안 연결을 통해 원격 사용자에게 송신한다. 프로세스(200)는 이어서 새로운 메시지 요청이 로컬 사용자로부터 수신되었는지를 검사하기 위해 블록(215)으로 루프백한다. 보안 인스턴트 메시징 세션이 (예컨대, 사용자에 의해) 종료 또는 만료(예컨대, 사용자 활동 또는 네트워크 연결 없이 특정의 시한이 경과함)될 때 프로세스(200)가 종료된다.
통상의 기술자라면 프로세스(200)가 보안 인스턴트 메시징 세션에 참가하는 데 사용되는 동작들의 개념적 표현이라는 것을 잘 알 것이다. 프로세스(200)의 특정의 동작이 도시되고 기술된 바로 그 순서로 수행되지 않을 수 있다. 특정의 동작이 하나의 연속적인 일련의 동작들로 수행되지 않을 수 있고, 다른 특정의 동작이 다른 실시예에서 수행될 수 있다. 게다가, 프로세스(200)가 몇개의 서브프로세스(sub-process)를 사용하여 또는 보다 큰 매크로 프로세스(macro process)의 일부로서 구현될 수 있을 것이다. 통상의 기술자라면 또한 로컬 사용자 및 원격 사용자가 2개의 상이한 디바이스를 사용하는 2명의 사용자이고, 물리적으로 서로의 근방에 있을 수 있다는 것을 잘 알 것이다.
도 3은 타겟 사용자가 디바이스 상에서 보안 인스턴트 메시징 세션에 참가할 수 있게 하는 프로세스(300)의 하나의 실시예의 플로우차트를 예시한 것이다. 하나의 실시예에서, 고수준 보안 연결은 완전 순방향 비밀성 또는 순응적 암호화와 같은 고수준 보안 기능을 제공하는 암호 프로토콜들(예컨대, OTR 및 TLS)을 사용한다. 하나의 실시예에서, 저수준 보안 연결은 인증 및/또는 암호화를 제공하는 암호 프로토콜을 사용하지만, 이들 암호 프로토콜은 완전 순방향 비밀성 또는 순응적 암호화와 같은 고수준 보안 기능을 제공하지 않는다. 하나의 실시예에서, 앞서 도 1과 관련하여 기술된 바와 같이, Bob이 Alice로부터 보안 인스턴트 메시징 대화를 수신할 때, 또는 그들 사이의 이전의 세션이 만료되고 Alice가 새로운 세션을 개시하려고 시도하고 있을 때, 프로세스(300)가 호출된다.
프로세스(300)는 [블록(305)에서] 로컬 사용자와 고수준 보안 연결 및 저수준 보안 연결을 설정하라는 요청을 원격 사용자로부터 수신하는 것으로 시작한다. 하나의 실시예에서, 앞서 도 1에서 기술된 바와 같이, 로컬 사용자는 Bob이고 원격 사용자는 Alice이다. 하나의 실시예에서, 원격 사용자로부터의 요청은, 앞서 도 1과 관련하여 기술된 바와 같이, 고수준 보안 프로토콜 헬로(110) 및 저수준 보안 메시지(105)의 형태로 되어 있다.
블록(310)에서, 프로세스(300)는 원격 사용자와 고수준 보안 연결 및 저수준 보안 연결을 동시에 설정한다. 하나의 실시예에서, 프로세스(300)는, 앞서 도 1과 관련하여 기술된 바와 같이, 고수준 보안 프로토콜 헬로 확인 응답(115) 및 고수준 보안 프로토콜 합의 확인 응답(130)을 송신하는 것, 및 고수준 보안 프로토콜 합의(125)를 수신하는 것에 의해 고수준 보안 연결을 설정한다. 하나의 실시예에서, 프로세스(300)가 고수준 보안 연결 및 저수준 보안 연결을 동시에 설정하기 시작하더라도, 저수준 보안 연결이 먼저 설정된다.
저수준 보안 연결이 설정되면, 프로세스(300)는 [블록(315)에서] 고수준 보안 연결이 여전히 설정되고 있는 동안, 제1 메시지를 저수준 보안 연결을 통해 원격 사용자로부터 수신한다. 하나의 실시예에서, 앞서 도 1과 관련하여 기술된 바와 같이, 저수준 보안 연결이 즉각 설정되고, 제1 메시지가 저수준 보안 메시지(105)로서 수신된다.
블록(320)에서, 프로세스(300)는 메시지를 원격 사용자에게 송신하라는 요청이 로컬 사용자로부터 수신되었는지를 판정한다. 새로운 메시지를 송신하라는 요청이 수신되지 않은 경우, 프로세스(300)는 다시 검사하기 위해 블록(320)으로 루프백한다. 새로운 메시지를 송신하라는 요청이 로컬 사용자로부터 수신된 경우, 프로세스(300)는 [블록(325)에서] 고수준 보안 연결이 준비되어 있는지 - 암호 프로토콜(예컨대, OTR 또는 TLS)이 모든 핸드쉐이킹을 종료했고 암호 프로토콜에 기초한 고수준 보안 인스턴트 메시징 세션이 설정되었음을 의미함 - 를 판정한다. 하나의 실시예에서, 앞서 도 1에 기술된 라인(150)에 도달되었을 때 고수준 보안 연결이 준비되어 있다.
고수준 보안 연결이 준비되어 있는 경우, 프로세스(300)는 [블록(335)에서] 새로운 메시지를 고수준 보안 연결을 통해 원격 사용자에게 송신한다. 프로세스(300)는 이어서 새로운 메시지 요청이 로컬 사용자로부터 수신되었는지를 검사하기 위해 블록(320)으로 루프백한다.
고수준 보안 연결이 아직 준비되지 않은 경우, 프로세스(300)는 [블록(330)에서] 새로운 메시지를 저수준 보안 연결을 통해 원격 사용자에게 송신한다. 하나의 실시예에서, 앞서 도 1에 기술된 바와 같이, 새로운 메시지는 저수준 보안 메시지(120)로서 송신된다. 프로세스(300)는 이어서 새로운 메시지 요청이 로컬 사용자로부터 수신되었는지를 검사하기 위해 블록(320)으로 루프백한다. 보안 인스턴트 메시징 세션이 (예컨대, 사용자에 의해) 종료 또는 만료(예컨대, 사용자 활동 또는 네트워크 연결 없이 특정의 시한이 경과함)될 때 프로세스(300)가 종료된다.
통상의 기술자라면 프로세스(300)가 타겟 사용자가 보안 인스턴트 메시징 세션에 참가할 수 있게 하는 데 사용되는 동작들의 개념적 표현이라는 것을 잘 알 것이다. 프로세스(300)의 특정의 동작이 도시되고 기술된 바로 그 순서로 수행되지 않을 수 있다. 예를 들어, 하나의 실시예에서, 블록(315)에서의 동작이 블록(305 및 310)에서의 동작 이전에 또는 그와 동시에 수행될 수 있다. 특정의 동작이 하나의 연속적인 일련의 동작들로 수행되지 않을 수 있고, 다른 특정의 동작이 다른 실시예에서 수행될 수 있다. 게다가, 프로세스(300)가 몇개의 서브프로세스를 사용하여 또는 보다 큰 매크로 프로세스의 일부로서 구현될 수 있을 것이다. 통상의 기술자라면 또한 로컬 사용자 및 원격 사용자가 2개의 상이한 디바이스를 사용하는 2명의 사용자이고, 물리적으로 서로의 근방에 있을 수 있다는 것을 잘 알 것이다.
도 4는 사용자가 보안 인스턴트 메시징 세션에 참가할 수 있게 하는 하나의 실시예의 디바이스(400)의 상세도를 나타낸 것이다. 구체적으로는, 이 도면은 보안 인스턴트 메시지 세션 동안 메시지를 송신할 때 고수준 보안 연결과 저수준 보안 연결 간의 전환을 위한 모듈들의 집합을 나타내고 있다. 디바이스(400)는 인스턴트 메시징 프로그램을 실행할 수 있는, 데스크톱 컴퓨터, 서버, 스마트폰, 랩톱, PDA(personal digital assistant), 음악 재생 디바이스, 게임 디바이스, 또는 임의의 다른 디바이스일 수 있다. 하나의 실시예에서, 디바이스(400)는, 도 1의 Alice 및 Bob과 같은, 인스턴트 메시징 세션의 개시측 사용자 및/또는 타겟 사용자에 의해 사용될 수 있다. 도 4에 도시된 바와 같이, 디바이스(400)는 메시징 인터페이스(415), 고수준 보안 연결기(high security connector)(420), 저수준 보안 연결기(low security connector)(425), 및 연결 전환 모듈(430)을 포함한다.
메시징 인터페이스(415)는 인스턴트 메시징을 위해 디바이스(400)를 사용하는 로컬 사용자로부터 사용자 입력(410)을 수신한다. 하나의 실시예에서, 사용자 입력(410)은 로컬 사용자가 원격 사용자에게 송신하고자 하는 텍스트 및/또는 멀티미디어 객체를 포함한다. 로컬 사용자가, 예컨대, 보내기(Send) 또는 확인(Enter) 버튼을 선택하는 것에 의해, 메시지가 송신될 준비가 되어 있음을 나타내면, 메시징 인터페이스(415)는 사용자 입력(410)을 정리하여 메시지(418)로 만든다.
고수준 보안 연결기(420)는 원격 사용자와 고수준 보안 연결을 설정한다. 하나의 실시예에서, 고수준 보안 연결기(420)는 앞서 도 2의 블록(208 및 210)에 기술된 동작의 일부를 수행하는 것에 의해 고수준 보안 연결을 설정한다. 다른 실시예에서, 고수준 보안 연결기(420)는 앞서 도 3의 블록(310 및 315)에 기술된 동작의 일부를 수행하는 것에 의해 고수준 보안 연결을 설정한다. 고수준 보안 연결기(420)는 고수준 보안 연결이 준비되어 있는지 여부를 나타내는 고수준 보안 연결 상태 신호(435)를 연결 전환 모듈(430)로 송신한다. 고수준 보안 연결이 설정되면, 고수준 보안 연결기(420)는 메시징 인터페이스(415)로부터 수신되는 메시지(418)를 고수준 보안 메시지(422)로 변환한다. 하나의 실시예에서, 앞서 도 1에 기술된 고수준 보안 메시지(135)는 고수준 보안 연결기(420)에 의해 발생되는 고수준 보안 메시지(422)이다.
저수준 보안 연결기(425)는 원격 사용자와 저수준 보안 연결을 설정하는 반면, 고수준 보안 연결기(420)는 고수준 보안 연결을 설정한다. 하나의 실시예에서, 저수준 보안 연결기(425) 및 고수준 보안 연결기(420)가 동시에 연결을 설정하기 시작하지만, 저수준 보안 연결기(425)가 먼저 저수준 보안 연결을 설정하는 것을 완료한다. 고수준 보안 연결기가 고수준 보안 연결을 설정하기 전에, 저수준 보안 연결기(425)는 메시징 인터페이스(415)로부터 수신되는 메시지(418)를 저수준 보안 메시지(428)로 변환한다. 하나의 실시예에서, 앞서 도 1에 기술된 저수준 보안 메시지(105)는 저수준 보안 연결기(425)에 의해 발생되는 저수준 보안 메시지(428)이다. 다른 실시예에서, 앞서 도 1에 기술된 저수준 보안 메시지(120)는 저수준 보안 연결기(425)에 의해 발생되는 저수준 보안 메시지(428)이다.
연결 전환 모듈(430)은 고수준 보안 연결 상태 신호(435)를 고수준 보안 연결기(420)로부터 수신하고, 그 신호에 기초하여, 고수준 보안 연결이 준비되어 있는지를 판정한다. 고수준 보안 연결이 아직 준비되지 않은 경우, 연결 전환 모듈(430)은 원격 사용자에게 송신하기 위해 저수준 보안 연결기(425)에 의해 발생되는 저수준 보안 메시지(428)를 선택한다. 고수준 보안 연결이 준비되어 있는 경우, 연결 전환 모듈(430)은 원격 사용자에게 송신하기 위해 고수준 보안 연결기(420)에 의해 발생되는 고수준 보안 메시지(422)를 선택한다. 하나의 실시예에서, 연결 전환 모듈(430)은 앞서 도 2의 블록(220 내지 230)에 기술된 동작을 수행한다. 다른 실시예에서, 연결 전환 모듈(430)은 앞서 도 3의 블록(325 내지 335)에 기술된 동작을 수행한다.
본 개시 내용의 하나의 실시예에 대한 디바이스(400)가 앞서 기술되었다. 통상의 기술자라면, 다른 실시예에서, 이 모듈이 다른 방식으로 구현될 수 있다는 것을 잘 알 것이다. 예를 들어, 앞서 기술된 하나의 실시예에서, 특정의 모듈이 소프트웨어 모듈로서 구현된다. 그렇지만, 다른 실시예에서, 모듈들 중 일부 또는 전부가 전용의 응용 특정 하드웨어(dedicated application specific hardware)(예컨대, ASIC 칩 또는 구성요소) 또는 범용 칩(예컨대, 마이크로프로세서 또는 FPGA)일 수 있는 하드웨어로 구현될 수 있다.
앞서 도 1 내지 도 4에 기술된 실시예는 일반적으로 저수준 보안 연결과 고수준 보안 연결 간의 전환에 의해 보안 인스턴트 메시징 세션에 참가하는 것에 관한 것이다. 통상의 기술자라면 동시에 설정되는 연결의 수가 둘로 제한되지 않을 수 있고 하나의 채널로부터 다른 채널로의 전환을 위한 (보안 이외의) 다른 이유가 있을 수 있다는 것을 잘 알 것이다.
도 5는 디바이스 상에서 몇가지 상이한 유형의 보안 인스턴트 메시징 채널을 동시에 협상하는 것에 의해 보안 인스턴트 메시징 세션에 참가하는 프로세스(500)의 하나의 실시예의 플로우차트를 나타낸 것이다. 하나의 실시예에서, 협상되고 있는 각각의 보안 인스턴트 메시징 채널은 보안 관련 기능 또는 비-보안 관련 기능을 포함할 수 있는 상이한 기능 집합을 제공한다. 하나의 실시예에서, 앞서 도 1과 관련하여 기술된 바와 같이, Alice가 Bob과 보안 인스턴트 메시징 대화를 시작하려고 시도할 때, 또는 그들 사이의 이전의 세션이 만료하고 새로운 세션이 개시될 필요가 있을 때, 대화의 한쪽 또는 양쪽에서 프로세스(500)가 시작될 수 있다.
프로세스(500)는 [블록(505)에서] 보안 인스턴트 메시징 세션의 원격 참가자와 몇개의 보안 인스턴트 메시징 채널을 동시에 설정하는 것으로 시작한다. 하나의 실시예에서, 앞서 도 1과 관련하여 기술된 바와 같이, 로컬 참가자는 Alice이고 원격 참가자는 Bob이다. 다른 실시예에서, 로컬 참가자는 Bob이고 원격 참가자는 Alice이다. 하나의 실시예에서, 상이한 채널들이 상이한 암호 프로토콜들을 사용하는 것에 의해 상이한 수준들의 보안을 가진다. 하나의 실시예에서, 상이한 수준들의 보안 대신에 또는 그와 함께, 상이한 채널들이 상이한 비-보안 관련 기능들을 가진다.
블록(510)에서, 프로세스(500)는 새로운 메시지를 원격 참가자에게 송신하라는 요청이 로컬 참가자로부터 수신되었는지를 판정한다. 새로운 메시지를 송신하라는 요청이 수신되지 않은 경우, 프로세스(500)는 다시 검사하기 위해 블록(510)으로 루프백한다. 새로운 메시지를 송신하라는 요청이 로컬 참가자로부터 수신된 경우, 프로세스(500)는 [블록(515)에서] 기준 집합에 기초하여 몇개의 채널 중에서 하나의 채널을 선택한다.
하나의 실시예에서, 기준 집합은 최적의 채널(예컨대, 최상의 유용성을 가지는 채널 또는 최고의 보안 수준을 가지는 채널)이 선택되도록 보장한다. 하나의 실시예에서, 기준 집합은 채널이 설정되었는지 - 즉, 채널에 대한 협상이 완료되었는지 - 를 포함한다. 설정된 채널만이 새로운 메시지를 송신하기 위해 선택될 수 있다. 예를 들어, 고수준 보안 연결이 설정되지 않았을 때, 메시지를 송신하기 위해 저수준 보안 연결이 선택되는데, 그 이유는, 앞서 도 1 내지 도 4에 기술된 바와 같이, 저수준 보안 연결이 어떤 협상도 없이 설정될 수 있기 때문이다.
하나의 실시예에서, 기준 집합은 채널의 기능 집합이 하나 이상의 보안 관련 기능(예컨대, 완전 순방향 비밀성 및 순응적 암호화)을 포함하는지를 포함한다. 하나의 실시예에서, 기준 집합은 채널의 기능 집합이 하나 이상의 비-보안 관련 기능을 포함하는지를 포함한다. 하나의 실시예에서, 이들 기준을 충족시키는(예컨대, 원하는 기능을 포함하는) 채널이 새로운 메시지를 송신하기 위해 선택될 수 있다. 하나의 실시예에서, 기준 집합은 채널이 최고 수준의 보안을 가지는지를 포함한다. 예를 들어, 고수준 보안 연결이 설정되었을 때, 메시지를 송신하기 위해 고수준 보안 연결이 선택되는데, 그 이유는, 앞서 도 1 내지 도 4에 기술된 바와 같이, 고수준 보안 연결이 최고 수준의 보안을 제공하기 때문이다.
블록(520)에서, 프로세스(500)는 새로운 메시지를 선택된 채널을 통해 원격 참가자에게 송신한다. 프로세스(500)는 이어서 새로운 메시지 요청이 로컬 참가자로부터 수신되었는지를 검사하기 위해 블록(510)으로 루프백한다. 보안 인스턴트 메시징 세션이 (예컨대, 사용자에 의해) 종료 또는 만료(예컨대, 사용자 활동 또는 네트워크 연결 없이 특정의 시한이 경과함)될 때 프로세스(500)가 종료된다.
통상의 기술자라면 프로세스(500)가 보안 인스턴트 메시징 세션에 참가하는 데 사용되는 동작들의 개념적 표현이라는 것을 잘 알 것이다. 프로세스(500)의 특정의 동작이 도시되고 기술된 바로 그 순서로 수행되지 않을 수 있다. 특정의 동작이 하나의 연속적인 일련의 동작들로 수행되지 않을 수 있고, 다른 특정의 동작이 다른 실시예에서 수행될 수 있다. 게다가, 프로세스(500)가 몇개의 서브프로세스를 사용하여 또는 보다 큰 매크로 프로세스의 일부로서 구현될 수 있을 것이다. 통상의 기술자라면 또한 로컬 참가자 및 원격 참가자가 2개의 상이한 디바이스를 사용하는 2명의 참가자이고, 물리적으로 서로의 근방에 있을 수 있다는 것을 잘 알 것이다.
도 6은 하나의 실시예에서 사용될 수 있는 데이터 처리 시스템(600)의 하나의 예를 나타낸 것이다. 예를 들어, 시스템(600)은 도 1에 도시된 것과 같은 디바이스(100)를 포함하게 구현될 수 있다. 유의할 점은, 도 6이 디바이스의 다양한 구성요소를 예시하고 있지만, 이러한 상세가 본 개시 내용과 밀접한 관련이 없기 때문에 도 6이 그 구성요소들을 상호연결시키는 임의의 특정의 아키텍처 또는 방식을 나타내기 위한 것이 아니라는 것이다. 또한, 보다 적은 수의 구성요소 또는 어쩌면 보다 많은 수의 구성요소를 가지는 네트워크 컴퓨터 및 기타 데이터 처리 시스템 또는 기타 가전 디바이스가 또한 본 개시 내용의 실시예에서 사용될 수 있다는 것을 잘 알 것이다.
도 6에 도시된 바와 같이, 데이터 처리 시스템의 일종인 디바이스(600)는 마이크로프로세서(들)(605) 및 ROM(Read Only Memory)(607) 및 휘발성 RAM(609) 및 비휘발성 메모리(611)에 결합되어 있는 버스(603)를 포함한다. 마이크로프로세서(605)는 메모리(607, 609, 611)로부터 명령어를 검색하고 명령어를 실행하여 앞서 기술한 동작을 수행할 수 있다. 버스(603)는 이들 다양한 구성요소를 서로 상호연결시키고 또한 이들 구성요소(605, 607, 609, 및 611)를 디스플레이 제어기 및 디스플레이 디바이스(613)에 그리고 주변 디바이스[예를 들어, 마우스, 키보드, 모뎀, 네트워크 인터페이스, 프린터 및 기술 분야에 공지된 기타 디바이스일 수 있는 입출력(I/O) 디바이스들(615)]에 상호연결시킨다. 통상적으로, 입출력 디바이스들(615)은 입출력 제어기들(610)을 통해 시스템에 결합된다. 휘발성 RAM(Random Access Memory)(609)은 통상적으로 메모리 내의 데이터를 리프레시 또는 유지하기 위해 계속하여 전력을 필요로 하는 DRAM(dynamic RAM)으로서 구현된다.
통상적으로, 비휘발성 메모리(611)는 시스템으로부터 전력이 제거된 후에도 데이터(예컨대, 대량의 데이터)를 유지하는, 자기 하드 드라이브 또는 자기 광 드라이브 또는 광 드라이브 또는 DVD RAM 또는 플래시 메모리 또는 기타 유형의 메모리 시스템이다. 통상적으로, 비휘발성 메모리(611)가 또한 랜덤 액세스 메모리일 것이지만, 꼭 그럴 필요는 없다. 도 6이 비휘발성 메모리(611)가 데이터 처리 시스템의 나머지 구성요소에 직접 결합되는 로컬 디바이스인 것으로 도시하고 있지만, 본 개시 내용의 실시예가, 모뎀, 이더넷 인터페이스 또는 무선 네트워크와 같은 네트워크 인터페이스를 통해 데이터 처리 시스템에 결합되어 있는 네트워크 저장 디바이스와 같은, 시스템으로부터 원격지에 있는 비휘발성 메모리를 이용할 수 있다는 것을 잘 알 것이다. 버스(603)는 기술 분야에 공지된 다양한 브리지, 제어기, 및/또는 어댑터를 통해 서로 연결되는 하나 이상의 버스를 포함할 수 있다.
도 7은 하나의 실시예에서 사용될 수 있는 다른 데이터 처리 시스템(700)의 일례를 나타낸 것이다. 예를 들어, 시스템(700)은 도 1에 도시된 것과 같은 디바이스(100)로서 구현될 수 있다. 도 7에 도시된 데이터 처리 시스템(700)은 하나 이상의 마이크로프로세서일 수 있거나, 시스템 온 칩 집적 회로(system on a chip integrated circuit)일 수 있는 처리 시스템(711)을 포함하고, 시스템은 또한 처리 시스템에서 실행하기 위한 프로그램 및 데이터를 저장하는 메모리(701)도 포함한다. 시스템(700)은 또한, 예를 들어, 스피커 및 마이크를 통해 음악을 재생하거나 전화 기능을 제공하기 위한 마이크 및 스피커를 포함할 수 있는 오디오 입출력 서브시스템(705)도 포함한다.
디스플레이 제어기 및 디스플레이 디바이스(709)는 사용자를 위한 시각 사용자 인터페이스(visual user interface)를 제공하고; 이 디지털 인터페이스는 OS X 운영 체제 소프트웨어를 실행할 때의 매킨토시 컴퓨터 또는 iOS 운영 체제를 실행할 때의 애플 아이폰 등에 보여지는 것과 유사한 그래픽 사용자 인터페이스를 포함할 수 있다. 시스템(700)은 또한 도 7의 시스템(700)과 같은 다른 데이터 처리 시스템과 통신하기 위해 하나 이상의 무선 송수신기(703)도 포함한다. 무선 송수신기는 WLAN 송수신기, 적외선 송수신기, 블루투스 송수신기, 및/또는 무선 셀룰러 전화 송수신기일 수 있다. 특정 실시예에서, 부가의 구성요소(도시 생략)가 또한 시스템(700)의 일부일 수 있다는 것과, 특정 실시예에서, 도 7에 도시된 것보다 적은 수의 구성요소가 또한 데이터 처리 시스템에서 사용될 수 있다는 것을 잘 알 것이다. 시스템(700)은 도 6의 시스템과 같은 다른 데이터 처리 시스템과 통신하기 위해 하나 이상의 통신 포트(717)를 추가로 포함한다. 통신 포트는 USB 포트, Firewire 포트, 블루투스 인터페이스 등일 수 있다.
데이터 처리 시스템(700)은 또한 사용자가 시스템에 입력을 제공할 수 있게 하기 위해 제공되는 하나 이상의 입력 디바이스(713)도 포함한다. 이들 입력 디바이스는 키패드 또는 키보드 또는 터치 패널 또는 멀티 터치 패널일 수 있다. 데이터 처리 시스템(700)은 또한 도크(dock)에 대한 커넥터일 수 있는 선택적인 입출력 디바이스(715)를 포함한다. 하나 이상의 버스(도시 생략)가 기술 분야에 공지된 다양한 구성요소를 상호연결시키는 데 사용될 수 있다는 것을 잘 알 것이다. 도 7에 도시된 데이터 처리 시스템은 핸드헬드 디바이스 또는 PDA(personal digital assistant), 또는 PDA-유사 기능을 갖는 셀룰러 전화, 또는 셀룰러 전화를 포함하는 핸드헬드 디바이스, 또는 아이팟과 같은 미디어 플레이어, 또는 하나의 디바이스에 PDA 및 셀룰러 전화를 겸비한 미디어 플레이어와 같은 이들 디바이스의 양태 또는 기능을 겸비하고 있는 디바이스 또는 임베디드 디바이스 또는 기타 가전 디바이스일 수 있다. 다른 실시예에서, 데이터 처리 시스템(700)은 도 7에 도시된 것보다 더 적은 수의 구성요소 또는 어쩌면 더 많은 수의 구성요소를 가지는, 네트워크 컴퓨터 또는 다른 디바이스 내의 임베디드 처리 디바이스, 또는 기타 유형의 데이터 처리 시스템일 수 있다.
본 개시 내용의 적어도 특정의 실시예는 미디어를 제공하는 미디어 처리 시스템, 미디어를 저장하는 저장 디바이스를 포함할 수 있는 휴대용 음악 및/또는 비디오 미디어 플레이어와 같은 디지털 미디어 플레이어의 일부일 수 있고, 안테나 시스템 및 미디어 처리 시스템과 결합되어 있는 RF(radio frequency) 송수신기(예컨대, 셀룰러 전화의 RF 송수신기)를 추가로 포함할 수 있다. 특정의 실시예에서, 원격 저장 디바이스에 저장된 미디어는 RF 송수신기를 통해 미디어 플레이어로 전송될 수 있다. 미디어는, 예를 들어, 음악 또는 기타 오디오, 정지 화상, 또는 동화상 중 하나 이상일 수 있다.
휴대용 미디어 플레이어는 미국 캘리포니아주 쿠퍼티노 소재의 Apple Inc.의 아이팟® 또는 아이팟 나노® 미디어 플레이어 상의 클릭 휠(click wheel) 입력 디바이스, 터치 스크린 입력 디바이스, 푸시버튼 디바이스, 이동가능 포인팅 입력 디바이스 또는 기타 입력 디바이스와 같은 미디어 선택 디바이스를 포함할 수 있다. 이 미디어 선택 장치는 저장 디바이스 및/또는 원격 저장 디바이스에 저장된 미디어를 선택하는 데 사용될 수 있다. 적어도 특정 실시예에서, 휴대용 미디어 플레이어는 입력 디바이스를 통해 선택되어, 스피커 또는 이어폰(들)을 통해 또는 디스플레이 디바이스 상에 제공되거나 디스플레이 디바이스 및 스피커 또는 이어폰(들) 둘다에 제공되는 미디어의 제목 또는 기타 표시자를 디스플레이하기 위해 미디어 처리 시스템에 연결되어 있는 디스플레이 디바이스를 포함할 수 있다. 휴대용 미디어 플레이어의 예가 미국 특허 제7,345,671호 및 미국 특허 제7,627,343호에 기술되어 있으며, 이들 둘다는 참조 문헌으로서 본 명세서에 포함된다.
이상에서 설명한 것의 일부분이 전용 논리 회로와 같은 논리 회로로 또는 프로그램 코드 명령어를 실행하는 마이크로컨트롤러 또는 기타 형태의 처리 코어로 구현될 수 있다. 따라서, 이상의 설명에서 개시된 프로세스는 이들 명령어를 실행하는 기계로 하여금 특정 기능을 수행하게 하는 기계-실행가능 명령어 등의 프로그램 코드로 수행될 수 있다. 이와 관련하여, "기계"는 중간 형태(또는 "추상적") 명령어를 프로세서 특정 명령어(processor specific instruction)로 변환하는 기계[예컨대, "가상 기계"(예컨대, 자바 가상 기계), 인터프리터(interpreter), CLR(Common Language Runtime), 고수준 언어 가상 기계 등과 같은 추상적 실행 환경], 및/또는 범용 프로세서 및/또는 특수 목적 프로세서와 같은 명령어를 실행하도록 설계된, 반도체 칩 상에 배치된 전자 회로(예컨대, 트랜지스터로 구현되는 "논리 회로")일 수 있다. 이상의 논의에서 개시된 프로세스는 또한 (기계에 대한 대안으로서 또는 기계와 결합하여) 프로그램 코드의 실행 없이 프로세스(또는 그의 일부분)를 수행하도록 설계된 전자 회로에 의해 수행될 수 있다.
본 개시 내용은 또한 본 명세서에 기술된 동작을 수행하는 장치에 관한 것이다. 이 장치는 특히 요구된 목적에 맞도록 구성될 수 있거나, 디바이스에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 디바이스를 포함할 수 있다. 이러한 컴퓨터 프로그램은 전자 명령어를 저장하는 데 적합한, 플로피 디스크, 광 디스크, CD-ROM, 및 광자기 디스크를 비롯한 임의의 유형의 디스크, ROM(read-only memory), RAM, EPROM, EEPROM, 자기 또는 광 카드, 또는 임의의 유형의 매체(이들로 제한되지 않음)와 같은 컴퓨터 판독가능 저장 매체에 저장될 수 있고, 이들 각각이 디바이스 버스에 결합되어 있다.
기계 판독가능 매체는 기계(예컨대, 컴퓨터)에 의해 판독가능한 형태로 정보를 저장 또는 전송하는 임의의 메커니즘을 포함한다. 예를 들어, 기계 판독가능 매체는 ROM(read only memory); RAM(random access memory); 자기 디스크 저장 매체; 광 저장 매체; 플래시 메모리 디바이스 등을 포함한다.
프로그램 코드를 저장하기 위해 제조 물품이 사용될 수 있다. 프로그램 코드를 저장하는 제조 물품은 전자 명령어를 저장하는 데 적합한, 하나 이상의 메모리[예컨대, 하나 이상의 플래시 메모리, 랜덤 액세스 메모리(정적, 동적 또는 기타)], 광 디스크, CD-ROM, DVD ROM, EPROM, EEPROM, 자기 또는 광 카드 또는 기타 유형의 기계 판독가능 매체로서 구현될 수 있지만, 이들로 제한되지 않는다. 프로그램 코드는 또한 전파 매체에 구현되는 데이터 신호를 통해[예컨대, 통신 링크(예컨대, 네트워크 연결)를 통해] 원격 컴퓨터(예컨대, 서버)로부터 요청측 컴퓨터(예컨대, 클라이언트)로 다운로드될 수 있다.
이전의 상세한 설명이 디바이스 메모리 내의 데이터 비트에 대한 동작의 알고리즘 및 심볼 표현으로 제시되어 있다. 이 알고리즘적 설명 및 표현은 데이터 처리 분야의 통상의 기술자가 다른 통상의 기술자에게 자신의 연구의 내용을 가장 효과적으로 전달하는 데 시용되는 도구이다. 알고리즘은 여기서 일반적으로 원하는 결과를 가져오는 자체 일관성있는 동작 시퀀스인 것으로 생각된다. 동작은 물리적 양의 물리적 조작을 필요로 하는 것이다. 꼭 그럴 필요는 없지만, 보통 이들 양은 저장, 전송, 결합, 비교, 그리고 다른 방식으로 조작될 수 있는 전기 또는 자기 신호의 형태를 갖는다. 이들 신호를 비트, 값, 요소, 심볼, 문자, 용어, 숫자, 또는 이와 유사한 것으로 말하는 것이, 주로 흔히 사용하기 때문에, 때때로 편리한 것으로 밝혀졌다.
그렇지만, 염두에 두어야 할 점은, 이들 및 유사한 용어 전부가 적절한 물리적 양과 연관되어야 하고 이들 양에 적용되는 편리한 호칭에 불과하다는 것이다. 이상의 논의로부터 명백한 바와 같이 달리 구체적으로 언급하지 않는 한, 이 설명 전체에 걸쳐, "수신", "결정", "송신", "설정", "선택", "참가" 등과 같은 용어를 이용하는 논의가, 디바이스의 레지스터 및 메모리 내에서 물리적(전자적) 양으로 표현되는 데이터를, 디바이스 메모리 또는 레지스터 또는 다른 이러한 정보 저장, 전송 또는 디스플레이 디바이스 내에서 물리적 양으로 유사하게 표현되는 다른 데이터로 조작 및 변환하는 디바이스 또는 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스를 말한다는 것을 잘 알 것이다.
본 명세서에 제시된 프로세스 및 디스플레이는 임의의 특정의 디바이스 또는 기타 장치에 본질적으로 관련되어 있지 않다. 다양한 범용 시스템이 본 명세서의 교시 내용에 따른 프로그램과 함께 사용될 수 있거나, 보다 특수한 장치를 기술된 동작을 수행하도록 구성하는 것이 편리한 것으로 밝혀질 수 있다. 각종의 이들 시스템에 대해 요구된 구조가 이하의 설명으로부터 명백하게 될 것이다. 그에 부가하여, 본 개시 내용이 임의의 특정의 프로그래밍 언어를 참조하여 기술되어 있지 않다. 각종의 프로그래밍 언어가 본 명세서에 기술된 본 개시 내용의 교시를 구현하는 데 사용될 수 있다는 것을 알 것이다.
이상의 논의는 본 개시 내용의 몇몇 예시적인 실시예를 기술한 것에 불과하다. 통상의 기술자라면, 이러한 논의, 첨부 도면 및 청구범위로부터, 본 개시 내용의 사상 및 범주를 벗어남이 없이, 다양한 수정이 행해질 수 있다는 것을 잘 알 것이다.

Claims (19)

  1. 데이터 처리 시스템에서 보안 인스턴트 메시징 세션(secure instant messaging session)에 참가하기 위한 컴퓨터 구현 방법으로서,
    상기 보안 인스턴트 메시징 세션의 원격 참가자와 저수준 보안 연결(low security connection) 및 고수준 보안 연결(high security connection)을 동시에 설정하는 단계;
    상기 고수준 보안 연결이 설정되고 있는 동안, 제1 메시지를 상기 저수준 보안 연결을 통해 상기 원격 참가자에게 송신하는 단계;
    상기 고수준 보안 연결이 설정되어 있는지를 판정하는 단계; 및
    상기 고수준 보안 연결이 설정되어 있을 때, 제2 메시지를 상기 고수준 보안 연결을 통해 상기 원격 참가자에게 송신하는 단계
    를 포함하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서, 상기 고수준 보안 연결이 아직 설정되어 있지 않을 때, 상기 제2 메시지를 상기 저수준 보안 연결을 통해 상기 원격 참가자에게 송신하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.
  3. 제1항에 있어서, 상기 제1 및 제2 메시지가 상기 데이터 처리 시스템을 사용하여 상기 보안 인스턴트 메시징 세션의 로컬 참가자로부터 수신되는, 컴퓨터 구현 방법.
  4. 제1항에 있어서, 상기 고수준 보안 연결은 OTR(Off-the-Record Messaging) 프로토콜 또는 TLS(Transport Layer Security) 프로토콜을 사용하는, 컴퓨터 구현 방법.
  5. 제4항에 있어서, 상기 저수준 보안 연결은 완전 순방향 비밀성(perfect forward secrecy) 또는 순응적 암호화(malleable encryption)를 제공하지 않는 암호 프로토콜을 사용하는, 컴퓨터 구현 방법.
  6. 제1항에 있어서, 상기 고수준 보안 연결은 완전 순방향 비밀성 또는 순응적 암호화 중 적어도 하나를 제공하는 암호 프로토콜을 사용하는, 컴퓨터 구현 방법.
  7. 데이터 처리 시스템에서 보안 인스턴트 메시징 세션에 참가하기 위한 컴퓨터 구현 방법으로서,
    상기 보안 인스턴트 메시징 세션의 원격 참가자로부터 고수준 보안 연결 및 저수준 보안 연결을 설정하라는 요청을 수신하는 단계;
    상기 원격 참가자와 상기 고수준 보안 연결 및 상기 저수준 보안 연결을 동시에 설정하는 단계;
    상기 고수준 보안 연결이 설정되고 있는 동안, 제1 메시지를 상기 저수준 보안 연결을 통해 상기 원격 참가자로부터 수신하는 단계;
    상기 고수준 보안 연결이 설정되어 있는지를 판정하는 단계; 및
    상기 고수준 보안 연결이 설정되어 있을 때, 제2 메시지를 상기 고수준 보안 연결을 통해 상기 원격 참가자에게 송신하는 단계
    를 포함하는, 컴퓨터 구현 방법.
  8. 제7항에 있어서, 상기 고수준 보안 연결이 아직 설정되어 있지 않을 때, 상기 제2 메시지를 상기 저수준 보안 연결을 통해 상기 원격 참가자에게 송신하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.
  9. 제7항에 있어서, 상기 제1 및 제2 메시지가 상기 데이터 처리 시스템을 사용하여 상기 보안 인스턴트 메시징 세션의 로컬 참가자로부터 수신되는, 컴퓨터 구현 방법.
  10. 제7항에 있어서, 상기 고수준 보안 연결은 OTR(Off-the-Record Messaging) 프로토콜 또는 TLS(Transport Layer Security) 프로토콜을 사용하는, 컴퓨터 구현 방법.
  11. 제10항에 있어서, 상기 저수준 보안 연결은 완전 순방향 비밀성 또는 순응적 암호화를 제공하지 않는 암호 프로토콜을 사용하는, 컴퓨터 구현 방법.
  12. 제7항에 있어서, 상기 고수준 보안 연결은 완전 순방향 비밀성 또는 순응적 암호화 중 적어도 하나를 제공하는 암호 프로토콜을 사용하는, 컴퓨터 구현 방법.
  13. 데이터 처리 시스템에서 보안 인스턴트 메시징 세션에 참가하기 위한 컴퓨터 구현 방법으로서,
    상기 보안 인스턴트 메시징 세션의 원격 참가자와 복수의 채널을 동시에 설정하는 단계 - 각각의 채널은 상이한 기능 집합(a different set of functionalities)을 제공함 -;
    기준 집합(a set of criteria)에 기초하여 상기 복수의 채널 중 하나를 선택하는 단계; 및
    메시지를 상기 선택된 채널을 통해 상기 원격 참가자에게 송신하는 단계
    를 포함하는, 컴퓨터 구현 방법.
  14. 제13항에 있어서, 상기 기준 집합은 채널이 설정되었는지를 포함하고, 채널에 대한 협상(negotiation)이 완료되었을 때 상기 채널이 설정된 것인, 컴퓨터 구현 방법.
  15. 제14항에 있어서, 상기 기준 집합은 (a) 채널의 상기 기능 집합이 최고 수준의 보안을 제공하는지; (b) 채널의 상기 기능 집합이 완전 순방향 비밀성 또는 순응적 암호화 중 적어도 하나를 포함하는지; 또는 (c) 채널의 상기 기능 집합이 비-보안 관련 기능을 포함하는지 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.
  16. 데이터 처리 시스템에 의해 실행될 때, 상기 시스템으로 하여금 제1항 내지 제15항 중 어느 한 항의 방법을 수행하게 하는 명령어들을 저장하는 컴퓨터 판독가능 매체.
  17. 보안 인스턴트 메시징 세션에 참가하기 위한 디바이스로서,
    처리 시스템;
    버스를 통해 상기 처리 시스템에 결합되는 메모리; 및
    상기 처리 시스템으로 하여금 상기 보안 인스턴트 메시징 세션의 원격 참가자와 복수의 채널을 동시에 설정하게 하고 - 각각의 채널은 상이한 기능 집합을 제공함 -, 기준 집합에 기초하여 상기 복수의 채널 중 하나를 선택하게 하며, 메시지를 상기 선택된 채널을 통해 상기 원격 참가자에게 송신하게 하는, 상기 처리 시스템에 의해 상기 메모리로부터 실행되는 프로세스
    를 포함하는, 디바이스.
  18. 제17항에 있어서, 상기 기준 집합은 채널이 설정되었는지를 포함하고, 채널에 대한 협상이 완료되었을 때 상기 채널이 설정된 것인, 디바이스.
  19. 제18항에 있어서, 상기 기준 집합은 채널의 상기 기능 집합이 최고 수준의 보안을 제공하는지를 포함하는, 디바이스.
KR1020150076465A 2014-05-30 2015-05-29 효율적인 보안 인스턴트 메시징 KR101714874B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462005794P 2014-05-30 2014-05-30
US62/005,794 2014-05-30
US14/477,564 US20150350247A1 (en) 2014-05-30 2014-09-04 Efficient secure instant messaging
US14/477,564 2014-09-04

Publications (2)

Publication Number Publication Date
KR20150138106A true KR20150138106A (ko) 2015-12-09
KR101714874B1 KR101714874B1 (ko) 2017-03-09

Family

ID=54481712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150076465A KR101714874B1 (ko) 2014-05-30 2015-05-29 효율적인 보안 인스턴트 메시징

Country Status (4)

Country Link
US (1) US20150350247A1 (ko)
KR (1) KR101714874B1 (ko)
CN (1) CN105323150B (ko)
DE (1) DE102015209241A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102217550B1 (ko) * 2019-12-13 2021-02-19 주식회사 대경산전 원격 전력 제어 시스템

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9531174B2 (en) 2012-02-28 2016-12-27 Centurylink Intellectual Property Llc Apical conduit and methods of using same
US8707454B1 (en) 2012-07-16 2014-04-22 Wickr Inc. Multi party messaging
US10567349B2 (en) 2013-06-25 2020-02-18 Wickr Inc. Secure time-to-live
US9830089B1 (en) 2013-06-25 2017-11-28 Wickr Inc. Digital data sanitization
US10129260B1 (en) 2013-06-25 2018-11-13 Wickr Inc. Mutual privacy management
US9866591B1 (en) 2013-06-25 2018-01-09 Wickr Inc. Enterprise messaging platform
US9786997B2 (en) 2013-08-01 2017-10-10 Centurylink Intellectual Property Llc Wireless access point in pedestal or hand hole
US10154325B2 (en) 2014-02-12 2018-12-11 Centurylink Intellectual Property Llc Point-to-point fiber insertion
US10276921B2 (en) 2013-09-06 2019-04-30 Centurylink Intellectual Property Llc Radiating closures
US9780433B2 (en) 2013-09-06 2017-10-03 Centurylink Intellectual Property Llc Wireless distribution using cabinets, pedestals, and hand holes
US9698976B1 (en) 2014-02-24 2017-07-04 Wickr Inc. Key management and dynamic perfect forward secrecy
US9584530B1 (en) 2014-06-27 2017-02-28 Wickr Inc. In-band identity verification and man-in-the-middle defense
US9654288B1 (en) 2014-12-11 2017-05-16 Wickr Inc. Securing group communications
US9832208B1 (en) * 2014-12-23 2017-11-28 Erasable, LLC System and methods of providing secure messaging environment
US9432340B1 (en) * 2015-05-07 2016-08-30 Bogart Associates System and method for secure end-to-end chat system
US10375172B2 (en) 2015-07-23 2019-08-06 Centurylink Intellectual Property Llc Customer based internet of things (IOT)—transparent privacy functionality
US10623162B2 (en) 2015-07-23 2020-04-14 Centurylink Intellectual Property Llc Customer based internet of things (IoT)
US9590956B1 (en) 2015-12-18 2017-03-07 Wickr Inc. Decentralized authoritative messaging
US10412064B2 (en) * 2016-01-11 2019-09-10 Centurylink Intellectual Property Llc System and method for implementing secure communications for internet of things (IOT) devices
US10291607B1 (en) 2016-02-02 2019-05-14 Wickr Inc. Providing real-time events to applications
US9596079B1 (en) 2016-04-14 2017-03-14 Wickr Inc. Secure telecommunications
US9590958B1 (en) 2016-04-14 2017-03-07 Wickr Inc. Secure file transfer
US10832665B2 (en) 2016-05-27 2020-11-10 Centurylink Intellectual Property Llc Internet of things (IoT) human interface apparatus, system, and method
US10249103B2 (en) 2016-08-02 2019-04-02 Centurylink Intellectual Property Llc System and method for implementing added services for OBD2 smart vehicle connection
US10110272B2 (en) 2016-08-24 2018-10-23 Centurylink Intellectual Property Llc Wearable gesture control device and method
US10687377B2 (en) 2016-09-20 2020-06-16 Centurylink Intellectual Property Llc Universal wireless station for multiple simultaneous wireless services
US9867112B1 (en) 2016-11-23 2018-01-09 Centurylink Intellectual Property Llc System and method for implementing combined broadband and wireless self-organizing network (SON)
US10951591B1 (en) * 2016-12-20 2021-03-16 Wells Fargo Bank, N.A. SSL encryption with reduced bandwidth
US10426358B2 (en) 2016-12-20 2019-10-01 Centurylink Intellectual Property Llc Internet of things (IoT) personal tracking apparatus, system, and method
US10222773B2 (en) 2016-12-23 2019-03-05 Centurylink Intellectual Property Llc System, apparatus, and method for implementing one or more internet of things (IoT) capable devices embedded within a roadway structure for performing various tasks
US10150471B2 (en) 2016-12-23 2018-12-11 Centurylink Intellectual Property Llc Smart vehicle apparatus, system, and method
US10637683B2 (en) 2016-12-23 2020-04-28 Centurylink Intellectual Property Llc Smart city apparatus, system, and method
US10735220B2 (en) 2016-12-23 2020-08-04 Centurylink Intellectual Property Llc Shared devices with private and public instances
US10193981B2 (en) 2016-12-23 2019-01-29 Centurylink Intellectual Property Llc Internet of things (IoT) self-organizing network
US10146024B2 (en) 2017-01-10 2018-12-04 Centurylink Intellectual Property Llc Apical conduit method and system
US10627794B2 (en) 2017-12-19 2020-04-21 Centurylink Intellectual Property Llc Controlling IOT devices via public safety answering point

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030096626A1 (en) * 2001-09-24 2003-05-22 Yitzhak Sabo Secure short message service
US20030163697A1 (en) * 2002-02-25 2003-08-28 Pabla Kuldip Singh Secured peer-to-peer network data exchange

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7345671B2 (en) 2001-10-22 2008-03-18 Apple Inc. Method and apparatus for use of rotational user inputs
US7627343B2 (en) 2003-04-25 2009-12-01 Apple Inc. Media player system
US8117273B1 (en) * 2003-07-11 2012-02-14 Mcafee, Inc. System, device and method for dynamically securing instant messages
US7676838B2 (en) * 2004-07-26 2010-03-09 Alcatel Lucent Secure communication methods and systems
FR2922705B1 (fr) * 2007-10-23 2011-12-09 Sagem Defense Securite Passerelle bidirectionnelle a niveau de securite renforce
CN102172063B (zh) * 2008-09-30 2014-09-17 日本电气株式会社 访问控制系统、访问控制方法和通信终端
US8958559B2 (en) * 2011-06-03 2015-02-17 Apple Inc. System and method for secure instant messaging
CN103347027A (zh) * 2013-07-16 2013-10-09 湘潭大学 一种可信网络连接方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030096626A1 (en) * 2001-09-24 2003-05-22 Yitzhak Sabo Secure short message service
US20030163697A1 (en) * 2002-02-25 2003-08-28 Pabla Kuldip Singh Secured peer-to-peer network data exchange

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Hannes Mehnert, TU Berlin, "Secure Instant Messaging - am Beispiel XMPP", (2008.04.08. 공개) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102217550B1 (ko) * 2019-12-13 2021-02-19 주식회사 대경산전 원격 전력 제어 시스템

Also Published As

Publication number Publication date
KR101714874B1 (ko) 2017-03-09
DE102015209241A1 (de) 2015-12-03
US20150350247A1 (en) 2015-12-03
CN105323150A (zh) 2016-02-10
CN105323150B (zh) 2019-03-26

Similar Documents

Publication Publication Date Title
KR101714874B1 (ko) 효율적인 보안 인스턴트 메시징
US10778656B2 (en) Sharing resources across multiple devices in online meetings
JP6312616B2 (ja) 安全確実なインスタント・メッセージング
KR101786132B1 (ko) 저-지연 피어 세션 구축
EP3222026B1 (en) System and method for non-replayable communication sessions
US9282085B2 (en) System and method for digital user authentication
CN106164922B (zh) 使用在线音频指纹的远程设备的自组织一次性配对
US8750512B2 (en) Authenticating an ephemeral Diffie-Hellman using a trusted third party
US20230421394A1 (en) Secure authentication of remote equipment
US10791124B2 (en) Method and terminal device for encrypting message
US20160006710A1 (en) Device for secure peer-to-peer communication for voice and data
CN112737774A (zh) 网络会议中的数据传输方法、装置及存储介质
TW201626776A (zh) 用於建立安全通訊通道的改良式系統
CN113987584A (zh) 一种隐匿查询方法及系统
US10855846B1 (en) Encrypting multiple party calls
Nam et al. Password-only authenticated three-party key exchange with provable security in the standard model
Atwater et al. Shatter: Using threshold cryptography to protect single users with multiple devices
US8615651B1 (en) Offline shared security key calculation
Zhu A provable privacy-protection system for multi-server environment
Johansen et al. The snowden phone: a comparative survey of secure instant messaging mobile applications
TW201117041A (en) Mutual authentication method of external storage devices
Johansen et al. Comparing implementations of secure messaging protocols (long version)
Al-Bakri et al. A novel peer-to-peer SMS security solution using a hybrid technique of NTRU and AES-Rijndael
Garratt Realistic, strong and provable key exchange security
WO2020223917A1 (zh) 安全多方计算的实现方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 4