KR101563906B1 - 네트워크 통신에서 암호 정보 전달을 위한 방법, 시스템 및 컴퓨터-판독가능 기록매체 - Google Patents

네트워크 통신에서 암호 정보 전달을 위한 방법, 시스템 및 컴퓨터-판독가능 기록매체 Download PDF

Info

Publication number
KR101563906B1
KR101563906B1 KR1020107010247A KR20107010247A KR101563906B1 KR 101563906 B1 KR101563906 B1 KR 101563906B1 KR 1020107010247 A KR1020107010247 A KR 1020107010247A KR 20107010247 A KR20107010247 A KR 20107010247A KR 101563906 B1 KR101563906 B1 KR 101563906B1
Authority
KR
South Korea
Prior art keywords
network communication
computer
client
cryptographic information
random data
Prior art date
Application number
KR1020107010247A
Other languages
English (en)
Other versions
KR20100099109A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=40534209&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101563906(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 어도비시스템즈인코오포레이티드 filed Critical 어도비시스템즈인코오포레이티드
Publication of KR20100099109A publication Critical patent/KR20100099109A/ko
Application granted granted Critical
Publication of KR101563906B1 publication Critical patent/KR101563906B1/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/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • 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/80Wireless

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)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 명세서는 네트워크 통신들에서 암호 정보를 전달하는 것과 관련되는 기술들을 개시한다. 일반적으로, 본 명세서에 개시된 해당 주제의 양상들은 클라이언트-서버 환경에서 전송된 네트워크 통신의 미리정의된 부분에서 위치를 식별하는 단계 ―상기 미리정의된 부분은 랜덤 데이터를 위해 예비됨―; 상기 위치에서 상기 네트워크 통신의 상기 미리정의된 부분에 암호 정보를 삽입하는 단계; 및 상기 암호 정보의 처리 결과에 적어도 부분적으로 기초하여 상기 클라이언트-서버 환경에서의 상호작용들의 변경을 원활하게 하기 위해 클라이언트-서버 환경에서 네트워크 통신을 전송하는 단계; 및 수신측에서, 클라이언트-서버 환경에서 네트워크 통신의 미리정의된 부분에 삽입된 암호 정보를 수신하는 단계, 위치를 식별하는 단계, 암호 정보를 처리하는 단계, 및 처리 결과에 적어도 부분적으로 기초하여 클라이언트-서버 환경에서의 상호작용들을 변경하는 단계를 포함하는 방법들로 구현될 수 있다.

Description

네트워크 통신에서 암호 정보 전달을 위한 방법, 시스템 및 컴퓨터-판독가능 기록매체{METHOD, SYSTEM, AND COMPUTER-READABLE RECORDING MEDIUM FOR IMPARTING CRYPTOGRAPHIC INFORMATION IN NETWORK COMMUNICATIONS}
본 발명은 네트워크 통신에서 암호 정보를 전달(imparting)하는 것에 관한 것이다.
컴퓨터 네트워크는 유선(wired) 및/또는 무선 통신 링크들과 함께 결합되는 프로세싱 노드들의 집합체(collection)이다. 컴퓨터 네트워크는 단일 네트워크 또는 네트워크들의 집합체(이를 테면, 인터넷워크(internetwork))일 수 있으며, 인터넷트워킹 프로토콜들(이를 테면, 인터넷 프로토콜(IP))을 포함하는, 다중 네트워킹 프로토콜들을 사용할 수 있다. 이러한 프로토콜들은 정보가 네트워크를 통한 전송을 위해 준비되는 방식으로 규정되며, 일반적으로 전송을 위한 패킷들(이를 테면, IP 패킷들, ATM(Asynchronous Transfer Mode) 셀들)로서 공지된 세그먼트들로 데이터를 분할하는(breaking) 것을 통상적으로 수반한다. 통상적으로, 이러한 네트워킹 프로토콜들은 다수의 계층들을 갖는 네트워크 아키텍처에 의해 구성(organized)되며, 다수의 계층들 각각은 그 위의 계층에 통신 서비스들을 제공한다. 프로토콜들은 이더넷 네트워크에서와 같은 공유-라인(shared-line) 프로토콜들, ATM 네트워크들에서와 같은 연결-지향 교환(connection-oriented switching) 프로토콜들, 및/또는 IP에서와 같은 무접속 패킷-교환(connectionless packet-switched) 프로토콜을 포함할 수 있다.
다수의 컴퓨터 네트워크들은 무접속 패킷-교환 프로토콜들(이를 테면, IP)을 이용한다. 패킷들은 개별적으로 라우팅되며 따라서 네트워크를 통해 상이한 경로들을 취할 수 있다. 다양한 프로토콜들은 하부에 놓이는 무접속 프로토콜을 통한 통신들에 기초하여 접속을 제공하기 위해, IP와 같은 무접속 패킷-교환 프로토콜들의 상부에 설정된다. 예를 들어, 어도비 시스템즈 인코포레이티드(Adobe Systems Incorporated)는 서버와 클라이언트 간의 핸드쉐이크(handshake) 통신을 통해 통신 세션이 설정되는 FLASH® 미디어 서버에 대한 통신 프로토콜을 발표했다. 이러한 핸드쉐이크의 일부로서, 실시간 메시징 프로토콜(RTMP)은 클라이언트와 서버 간의 세션에 대해 이용가능한 대역폭을 추정하는데 이용되는 통신들에서의 랜덤 바이트 섹션(random byte section)을 포함한다.
본 명세서는 네트워크 통신들에서 암호 정보를 전달하는 것에 관한 것이다. 본 명세서에서 개시되는 해당 주제의 일 양상은 클라이언트-서버 환경에서 전송되는 네트워크 통신의 미리정의된(pre-defined) 부분의 위치를 식별하는 단계 ―상기 네트워크 통신의 미리정의된 부분은 랜덤 데이터를 위해 예비됨―, 상기 위치에서 네트워크 통신의 미리정의된 부분에 암호 정보를 삽입하는 단계, 및 적어도 부분적으로 암호 정보의 처리 결과에 기초하여 클라이언트-서버 환경에서의 상호작용(interaction)들의 변경을 원활하게(facilitate) 하기 위해 클라이언트-서버 환경에서 네트워크 통신을 전송하는 단계를 포함하는 방법에서 구현될 수 있다. 또한, 개시된 해당 주제의 또 다른 양상은 클라이언트-서버 환경에서 네트워크 통신의 미리정의된 부분에 삽입된 암호 정보를 수신하는 단계 ―상기 네트워크 통신의 미리정의된 부분은 랜덤 데이터를 위해 예비됨 ―, 네트워크 통신의 미리정의된 부분에 대한 암호 정보의 위치를 식별하는 단계, 암호 정보를 처리하는 단계, 및 적어도 부분적으로 암호 정보의 처리 결과에 기초하여 클라이언트-서버 환경에서의 상호작용들을 변경하는 단계를 포함하는 방법에서 구현될 수 있다. 이러한 양상들의 다른 실시예들은 해당 시스템들, 장치들, 및 컴퓨터 프로그램 물건들을 포함한다.
이러한 실시예들 및 다른 실시예들은 하기의 하나 이상의 특징들을 선택적으로 포함할 수 있다. 위치를 식별하는 단계는 위치를 결정하기 위해 네트워크 통신의 적어도 일부를 이용하는 단계를 포함할 수 있다. 미리정의된 부분은 랜덤 데이터를 포함할 수 있으며, 위치를 결정하기 위해 네트워크 통신의 적어도 일부를 이용하는 단계는 랜덤 데이터의 일부를 검색(retrieving)하는 단계, 및 랜덤 데이터의 검색된 부분에 기초하여 네트워크 통신의 미리정의된 부분에 대한 인덱스(index)를 결정하는 단계를 포함한다. 또한, 위치를 결정하기 위해 네트워크 통신의 적어도 일부를 이용하는 단계는 랜덤 데이터의 다수의 상이한 부분들을 검색하는 단계; 및 랜덤 데이터의 상이한 부분들에 기초하여 네트워크 통신의 미리정의된 부분에 대한 다수의 상이한 인덱스들을 결정하는 단계를 포함할 수 있다.
암호 정보를 처리하는 단계는 암호 키를 설정하는(establishing) 단계를 포함할 수 있으며, 클라이언트-서버 환경에서 상호작용들을 변경하는 단계는 암호 키를 사용하여 암호화된(encrypted) 세션을 개시하는 단계를 포함할 수 있다. 또한, 암호 정보를 처리하는 단계는 네트워크 통신을 인증하는 단계를 포함할 수 있으며, 서버-클라이언트 환경에서 상호작용들을 변경하는 단계는 클라이언트-서버 환경에서 동작하는 프로그램의 기능(feature)을 턴 온 또는 턴 오프시키는 단계를 포함할 수 있다.
또 다른 양상에 따라, 시스템은, 클라이언트 컴퓨터들과 함께, 랜덤 데이터로부터 예비된 미리정의된 부분을 포함하는 네트워크 통신을 포함하는 세션 시동(startup) 핸드쉐이크를 이용하여, 네트워크를 통해 비암호화된(non-encrypted) 세션들 및 암호화된 세션들을 설정하도록 프로그램된 서버 컴퓨터; 세션 시동 핸드쉐이크를 사용하여 서버 컴퓨터와 비암호화된 세션들을 설정하도록 프로그램된, 클라이언트 컴퓨터들 중 제 1 클라이언트 컴퓨터; 및 네트워크 통신의 미리정의된 부분에 삽입된 암호 정보를 포함하는 세션 시동 핸드쉐이크를 사용하여 서버 컴퓨터와 암호화된 세션들을 설정하도록 프로그램된, 클라이언트 컴퓨터들 중 제 2 클라이언트 컴퓨터를 포함할 수 있으며, 서버 컴퓨터 및 제 2 클라이언트 컴퓨터는 네트워크 통신의 미리정의된 부분에 암호 정보의 위치를 식별하고, 암호 정보를 처리하고, 적어도 부분적으로 암호 정보의 처리 결과에 기초하여 서버 컴퓨터와 제 2 클라이언트 컴퓨터 사이의 상호작용들을 변경하는 것을 포함하는 동작들을 수행하도록 프로그램된다.
클라이언트 컴퓨터들은 모바일 디바이스들(이를 테면, 모바일 전화들, 게임기들, PDA들(personal digital assistants) 및 랩톱 컴퓨터들) 및 고정(stationary) 디바이스들(이를 테면, 워크스테이션들, 데스크탑 컴퓨터들, 및 수퍼 컴퓨터들)을 포함할 수 있다. 동작들은 개시된 방법(들)의 다양한 동작들을 포함할 수 있다. 암호 정보를 처리하는 것은 네트워크 통신을 인증하는 것 및 암호 키를 설정하는 것을 포함할 수 있으며, 서버 컴퓨터와 제 2 클라이언트 컴퓨터 간의 상호작용들을 변경하는 것은 서버 컴퓨터 또는 제 2 클라이언트 컴퓨터에서 동작하는 프로그램의 기능을 턴 온 또는 턴 오프시키는 것 및 암호 키를 사용하여 서버 컴퓨터와 제 2 클라이언트 컴퓨터 사이에서 암호화된 세션을 개시하는 것을 포함할 수 있다. 또한, 서버 컴퓨터 및 제 2 클라이언트 컴퓨터는 네트워크 통신에 인증 코드 및 암호 키 설정 정보를 삽입하는 것을 포함하는 동작들을 수행하도록 프로그램될 수 있다.
본 명세서에 개시된 해당 주제의 특정 실시예들은 하기의 하나 이상의 장점들을 구현하도록 실행될 수 있다. 암호화된 세션들은 리버스 엔지니어링(reverse engineering)을 감소시키는 방법을 사용하여 설정될 수 있으며 또한 현존하는 비암호화된 세션 설정 프로토콜과 백워드(backward) 호환된다. 상기 방법을 사용하여 암호화 인증서(Encryption credential)들이 설정될 수 있고, 인증서들은 암호화된 세션을 시동하는데 이용되거나, 또는 정보의 다른 다양한 부분들(pieces)을 검증하기 위해 이용될 수 있다. 상기 방법은 리버스 엔지니어링을 방해할 수 있으며 이는 본질적으로 인증서들이 대역폭 검출에 이용되는 데이터 내의 플레인 사이트(plain sight)에 숨어있을 수 있기 때문이다. 또한, (그 내부에 암호 정보가 숨겨진) 데이터는 다른 목적, 이를 테면 대역폭 검출 또는 다른 정보의 홀딩(holding)을 위해 사용될 수 있다.
본 발명의 하나 이상의 실시예들에 대한 사항은 하기 설명 및 첨부되는 도면들에 개시된다. 본 발명의 다른 특징들, 양상들 및 장점들이 상세한 설명, 도면들 및 청구항들로부터 명확해질 것이다.
도 1은 암호 정보가 네트워크 통신들에서 전달되는 예시적 클라이언트-서버 환경을 도시한다.
도 2는 네트워크 통신시 암호 정보를 전달하는 예시적 프로세스를 도시한다.
도 3은 예시적 네트워크 통신을 도시한다.
도 4는 미디어 콘텐츠 재생(playing)에 이용되는 네트워크 통신에서 암호 정보가 전달되는 또 다른 예시적 클라이언트-서버 환경을 도시한다.
도 5는 미디어 플레이어/서버 시스템에서 기능들을 인에이블링/디스에이블링하고 암호화된 세션들을 설정하는데 이용되는 네트워크 통신에서 암호 정보를 부과하는 예시적 프로세스를 도시한다.
다양한 도면들에서 유사한 도면 부호들 및 명칭들은 유사한 부재들을 나타낸다.
도 1은 네트워크 통신에서 암호 정보가 전달되는 예시적 클라이언트-서버 환경(100)을 도시한다. 클라이언트-서버 환경(100)은 암호화된 세션들 및 비암호화된 세션들 모두를 지원할 수 있으며, 이들 모두는 인증 및 다른 통신 프로토콜들을 포함할 수 있는 핸드쉐이크(150)의 사용을 포함할 수 있다. 암호 정보는 랜덤 바이트들(random bytes)을 포함하는 것으로 공지된 핸드쉐이크(150)의 이전에 존재하는 섹션에 포함되어, 암호 정보가 플레인 사이트에 숨겨진채 유지되도록 허용하며, 이는 암호 정보가 (암호 정보의 특성(nature)으로 인해) 랜덤 자체(random itself)를 나타내기 때문이다. 이런 방식의 랜덤 바이트 섹션 재사용은 리버스 엔지니어링 시도들을 차단하고(hadicap) 이전에 기록된 소프트웨어와의 상호운용성(interoperability)을 제공할 수 있다.
클라이언트-서버 환경(100)은 서버 컴퓨터(110)를 포함한다. 예를 들어, 서버 컴퓨터(110)는 캘리포니아 샌어제이의 어도비 시스템즈 인코포레이티드에 의해 제공되는 FLASH® 미디어 서버일 수 있다. 서버 컴퓨터(110)는 하나 이상의 제 1 클라이언트 컴퓨터들(130) 및 하나 이상의 제 2 클라이언트 컴퓨터들(140)과 통신하기 위해 네트워크(120)(이를 테면, 인터넷)를 사용할 수 있다. 핸드쉐이크들(150a, 150b)은 세션들(135, 145)을 선행하며 클라이언트(들)(130)이 존재하는 것을 알지 못할 수 있는 서버(110)로부터의 암호 정보를 포함할 수 있다.
세션 시동 핸드쉐이크들(150a, 150b)은 프로토콜(이를 테면, RTMP 프로토콜)의 버전을 표시하는 하나 이상의 바이트들(bytes) 및 세션을 설정하고 소켓을 개방하는데 이용되는 다른 정보를 포함할 수 있다. 또한, 핸드쉐이크들(150a, 150b)은 운영 시스템에 의해 기록되는(reported) 현재 시간(이를 테면, 시스템이 라우칭된(launched) 이후 수 밀리초)과 같은 다른 정보를 포함할 수 있다. 핸드쉐이크들(150a, 150b)은 랜덤 데이터를 포함하는 바이트들의 블록을 포함하며, 또한 바이트들의 블록은 서버와 클라이언트 간의 네트워크 통신을 인증하기 위해 이용가능한 정보, 및 암호화된 세션을 설정하기 위한 정보를 포함할 수 있다. 이런 암호 정보는 서버 컴퓨터(110) 및 클라이언트 컴퓨터(들)(140)에 의해 전송될 수 있으나, 클라이언트 컴퓨터(들)(130)는 이러한 정보가 존재하는지 또는 이러한 정보가 전송될 수 있는지를 알 필요가 없다.
제 1 클라이언트 컴퓨터(130)는 세션 시동 핸드쉐이크(150a)를 사용하여 서버 컴퓨터(110)로 비암호화된 세션들을 설정하도록 프로그램된 컴퓨터일 수 있다. 예를 들어, 제 1 클라이언트 컴퓨터(130)는 구(older) 버전의 FLASH® 미디어 프로그램을 포함할 수 있으며, 이는 서버 컴퓨터(이를 테면, the FLASH® 미디어 서버)로 세션을 시동한다(start). 서버(110)는 핸드쉐이크(150a)의 네트워크 통신 형성 부분에 랜덤 데이터 블록에 암호 정보를 포함할 수 있다. 그러나, 제 1 클라이언트 컴퓨터(130)가 이러한 암호 정보를 인지하는 것을 실패하여 적절한 리턴 암호 정보를 전송하지 않은 경우, 서버(110)로 설정되는 세션(135)은 비암호화된 세션이다. 서버(110)와 클라이언트(130) 간의 상호작용들의 또 다른 양상은 컴퓨터(130)의 일부분 상에서의 이러한 실패에 의해 영향을 받을 수 있다는 것이 주목되며, 이는 핸드쉐이크(150a) 이후에, 컴퓨터(130)가 통신 프로토콜의 새로운 암호 정보 부분을 인식하지 못하는 상속 프로그램(legacy program)을 실행한다는 것을 서버(110)가 인지하기 때문이다.
대조적으로, 제 2 클라이언트 컴퓨터(140)는 세션 시동 핸드쉐이크(150b)를 사용하는 서버 컴퓨터(110)로 암호화된 세션들을 설정하도록 프로그램된 컴퓨터일 수 있다. 예를 들어, 제 2 클라이언트 컴퓨터(140)는 서버 컴퓨터(이를 테면, FLASH® 미디어 서버)로 암호화된 세션을 시동하는 보다 최신 버전의 FLASH® 플레이어 프로그램을 포함할 수 있다. 서버(110)는 핸드쉐이크(150b)의 네트워크 통신 형성부의 랜덤 데이터 블록에 암호 정보를 포함할 수 있다. 제 2 클라이언트 컴퓨터(140)는 이러한 암호 정보를 인식하고 적절한 리턴 암호 정보를 전송할 수 있다. 다음, 서버(110)로 설정되는 세션(145)이 암호화된 세션이 될 수 있다. 서버(110)와 클라이언트(140) 간의 상호작용들의 다른 양상들이 핸드쉐이크(150b)에 의해 영향받을 수도 있다는 것이 주목되며, 이는 핸드쉐이크(150b) 이후에 컴퓨터(140)가 통신 프로토콜의 새로운 암호 정보 부분을 인지하는 새로운 프로그램을 실행한다는 것을 서버(110)가 알 수 있기 때문이다. 따라서, 새로운 클라이언트 프로그램들로 암호화된 세션들을 설정하는데 이용되는 암호 정보가구(old) 클라이언트 프로그램들로 비암호화된 세션들을 설정하는데 이용되는 현존하는 통신 프로토콜에 부가될 수 있으며, 구 클라이언트 프로그램들은 새롭게 부가된 암호 정보를 인지하지 않는다.
도 3은 예시적 네트워크 통신(300)을 도시한다. 예를 들어, 네트워크 통신(300)은 세션들(135, 145)을 선행하는 핸드쉐이크들(150a, 150b)의 일부로서 사용될 수 있다. 네트워크 통신(300)은 랜덤 데이터를 포함하는 미리정의된 부분(310)을 포함한다. 또한, 미리정의된 부분(310)은 위치(320)에 내장형 암호 정보를 포함한다. 이런 방식으로, 암호 정보가 플레인 사이트에 숨겨질 수 있다. 이런 기술 사용으로 리버스 엔지니어링이 통신 프로토콜의 세부사항들(details)을 발견할 수 있는 가능성이 감소될 수 있다.
미리정의된 부분(310) 내에서 암호 정보의 위치(320)는 실시예에 따라 또는 제시된 실시예 내에서 변할 수 있다. 예를 들어, 암호 정보는 미리결정된(pre-determined) 바이트 위치에 위치될 수 있으며, 혹은 미리결정된 바이트 위치가 암호 정보의 위치(320)가 결정될 수 있는 값을 보유할 수 있다. 일부 구현예들에서, 암호 정보 사용은 암호화 키 설정 프로토콜, 이를 테면, Diffie Hellman 키 교환 또는 하나 이상의 대칭형 또는 비대칭형 암호화 키들을 설정하기 위한 다른 적절한 기술의 사용을 포함할 수 있다. 일부 구현에들에서, 암호 정보의 사용은 전송 또는 콘텐츠를 인증하는 암호화된 해시(hash) 방법, 이를 테면, 해시 메시지 인증 코드(HMAC) 사용을 포함할 수 있다.
또한, 암호 정보의 위치(320)가 전체적으로 미리정의된 부분(310) 내에 포함되는 것으로 도시되었지만, 암호 정보의 시작부 또는 종결부 중 하나가 미리정의된 부분의 시작부 또는 종결부, 이를 테면 헤더(330) 또는 페이로드(340) 중 하나에 인접해 있을 수 있다는 것이 인식될 것이다. 예를 들어, 헤더(330) 및 페이로드(340)는 이를 테면, 사용되는 RTMP 프로토콜의 버전을 식별하기 위해, 암호화가 요구되지 않는 통신 프로토콜의 일부일 수 있다. 이러한 정보는 서버 컴퓨터(110)와 클라이언트 컴퓨터들(130, 140) 사이에서의 양쪽(both) 방향에서의 핸드쉐이크 통신에 이용될 수 있다.
헤더(330)는 자체의 세션 정보를 포함하거나 또는 다른 정보의 바이트 위치들을 식별할 수 있는 몇 개의 미리결정된 바이트 위치들을 포함할 수 있다. 예를 들어, FLASH® 플레이어 프로그램은 RTMP 프로토콜의 버전을 표시하기 위해 단일 바이트를 사용할 수 있다. 예를 들어, 이러한 바이트 위치들은 클라이언트 다비이스 상에서 사용자가 보유하는 FLASH® 플레이어 프로그램의 버전과 관련될 수 있다. 다른 특정 바이트 위치들은 HMAC 및 Diffie Hellman 정보의 위치를 식별하는데 이용될 수 있다. 페이로드(340)는 네트워크 통신(300)의 다른 정보, 이를 테면, 사용자의 클라이언트 디바이스상에 세션을 설정하는데 이용될 수 있는 파라미터들을 포함할 수 있다. 예를 들어, 페이로드(340)는 세션에 대한 정보를 포함할 수 있다. 일부 구현예들에서, 페이로드(340)는 페이로드(340)의 무결성(integrity) 및/또는 전체 네트워크 통신(300)을 테스트하는데 이용될 수 있는 체크섬(checksum) 정보를 포함할 수 있다.
도 2는 네트워크 통신들에서 암호 정보를 전달하는 예시적 프로세스(200)를 도시한다. 랜덤 데이터를 포함하는 네트워크 통신의 미리정의된 부분이 수신된다(210). 예를 들어, 부분(310)은 컴퓨터(140)에 의해 수신될 수 있다. 네트워크 통신의 미리정의된 부분의 암호 정보의 위치가 식별될 수 있다(220). 예를 들어, 컴퓨터(140)는 네트워크 통신(300)의 적어도 일부에서 위치를 결정하기 위해 이용될 수 있다. 이러한 네트워크 통신(300)의 일부는 부분(310), 헤더(330), 페이로드(340), 또는 이들의 조합으로부터 생성될 수 있다. 일부 구현예들에서, 네트워크 통신(300)의 하나 이상의 부분들은 (이를 테면, 모듈로(modulo) 계산들 또는 다른 유사한 계산들을 이용하여) 실제 바이트 위치가 계산될 수 있는 코드화된 정수로서 사용될 수 있다. 일부 구현예들에서, 계산들은 미리결정된 모듈로 제수(modulo divisor)들에 기초할 수 있으며, 혹은 네트워크 통신의 소정의 블록들의 바이트 길이들이 모듈로 계산에서 제수로서 이용될 수 있다.
암호 정보가 처리될 수 있다(230). 이는 이를 테면, Diffie Hellman 키 교환을 통한 암호 키 설정을 포함할 수 있다. 또한, 이는 이를 테면, HMAC의 사용을 통한 네트워크 통신 인증을 포함할 수 있다. 클라이언트-서버 환경에서의 상호작용들은 암호 정보의 처리 결과에 적어도 부분적으로 기초하여 변경될 수 있다(240). 상호작용들의 변경은 이를 테면 몇 개의 예로, 편집(editing), 프레임-기반 타임라인들, 애니매이션 성능들(animation capabilities), 형상 프리미티브들(shape primitives), 개발 및/또는 언어 툴들(이를 테면, 자바스크립트, 액션스크립트, 등), 정교한(sophisticated) 비디오 툴들, 오디오 서포트, 통합 툴들, 대화 툴들 및 리치 드로잉 성능들과 같은 다양한 기능들의 턴 온 또는 턴 오프를 포함할 수 있다. 상호작용들의 변경은 암호 키를 사용하여 암호화된 세션을 개시하는 것을 포함할 수 있다. 클라이언트-서버 환경에서의 상호작용들은 클라이언트 컴퓨터의 식별된 능력들에 기초할 수 있다는 것을 주목해야 하며, 이는 일부 기능들이 하드웨어와 관련될 수 있기 때문이다.
도 4는 재생 미디어 콘텐츠의 사용을 위해 암호 정보가 네트워크 통신에서 전달되는 또 다른 예시적인 클라이언트-서버 환경(400)을 도시한다. 클라이언트-서버 환경(400)은 클라이언트 컴퓨터(402) 및 미디어 서버(404)를 포함한다. 미디어 서버(404)는 클라이언트 컴퓨터(402)에 미디어 콘텐츠(406)를 제공할 수 있다. 예를 들어, 미디어 서버(404)는 FLASH® 미디어 서버 프로그램을 포함할 수 있다. 미디어 콘텐츠(406)는 웹 애플리케이션들, 게임들 및 영화들(movies), 및 클라이언트 컴퓨터들(이를 테면, 홈 퍼스널 컴퓨터들, 이동 전화들, PDA들, 스마트 전화들 또는 다양한 내장형 디바이스들)에 대한 멀티미디어 콘텐츠를 포함할 수 있다.
클라이언트 컴퓨터(402)는 소프트웨어, 펌웨어 및 하드웨어를 포함할 수 있다. 하드웨어는 컴퓨터 판독가능한 매체(412), 프로세서(414), 및 하나 이상의 인터페이스 디바이스들(416)을 포함할 수 있다. 컴퓨터 판독가능한 매체(412)는 하나 이상의 하드 드라이브들, 외부 드라이브들, 자기 디스크들, 광학 디스크들, 테입 드라이브들, 메모리 드라이브들, 등을 포함할 수 있다. 프로세서(414)는 컴퓨터 프로그램 명령들 및 프로세싱 데이터를 해석할 수 있는 하나 이상의 중앙 프로세싱 유니트들을 포함할 수 있으며, 각각의 프로세싱 유니트는 하나 이상의 프로세스 코어들을 포함할 수 있다. 인터페이스 디바이스들(416)은 하나 이상의 디스플레이 및 오디오 디바이스들(이를 테면, 컴퓨터 스크린들, 컴퓨터 모니터들, 디지털 디스플레이들, 액정 디스플레이(LCD)들, 발광 다이오드(LED)들 등) 및 오디오-가능 콤포넌트들(이를 테면, 마이크로폰들, 스피커들 등)을 포함할 수 있다. 인터페이스 디바이스들(416)은 사용자가 미디어 플레이어 애플리케이션(408)의 출력을 보고, 듣고 경험하는 그래픽 사용자 인터페이스(GUI)를 지원할 수 있다.
소프트웨어/펌웨어는 미디어 플레이어 애플리케이션(408) 및 애플리케이션 실행 환경(410)을 포함할 수 있다. 예를 들어, 미디어 플레이어 애플리케이션(408)은 홈 컴퓨터 또는 다른 전자 디바이스 상에 장착된 FLASH® 플레이어 프로그램일 수 있다. 미디어 플레이어 애플리케이션(408)은 컴퓨터(402)에 대한 운영 시스템(OS), 캘리포니아 샌어제이의 어도비 시스템 인코포레이티드로부터 이용가능한 Adobe® Integrated Runtime (AIR™) 환경과 같이, 컴퓨터(402) 상에 장착된 크로스(cross)-OS 런타임 환경일 수 있는 애플리케이션 실행 환경(410)에서 동작할 수 있다.
암호 정보에 내장되는 랜덤 바이트 섹션은 클라이언트 컴퓨터(402)와 미디어 서버(404) 간의 네트워크 통신에 포함될 수 있다. 예를 들어, 랜덤 바이트 섹션은 사용자의 FLASH® 플레이어 프로그램 및 FLASH® 미디어 서버 프로그램에 의해 생성될 수 있다. 앞서 언급된 것처럼, (이를 테면, Diffie Hellman 키 교환 및 HMAC 정보를 포함하는) 암호 정보는 미리결정된 또는 프로그램결정된 위치들에서 랜덤 바이트 섹션에 삽입될 수 있다. 일부 구현예들에서, 위치들은 암호 정보의 위치들을 인덱싱하기 위해 랜덤 데이터의 부분들(pieces)을 이용할 수 있는 다양한 알고리즘들에 의해 결정될 수 있다. 새로운 프로토콜을 인지하는 통신의 수신단(receiving end)은 랜덤 바이트 섹션으로부터 암호 정보를 위치시키고 제거할 수 있다. 암호 정보가 검증될 수 있다면, 수신측은 새로운 프로토콜이 사용되고 있다는 것을 인지한다. 암호 정보가 검증될 수 없다면, 새로운 프로토콜이 (예상된 암호 정보가 랜덤 바이트 섹션에서 발견될 수 없기 때문에) 사용되고 있지 않다는 것을 결정하기 이전에 하나 이상의 폴백(fallback) 위치들이 검사될 수 있고, 따라서, 통신은 상속형(legacy type)이다. 외부 도청자(eavesdropper)의 시각에서 볼 때, 암호 정보는 대역폭 검출을 위해 이용될 수 있는 이전에 포함된 데이터로만 보이게 된다는 것이 주목된다.
도 5는 이를 테면, 클라이언트-서버 환경(400)과 같은 미디어 플레이어/서버 시스템에서 기능들의 인에이블링/디스에이블링 및 암호화된 세션들의 설정에 이용하기 위해 네트워크 통신들에서 암호 정보를 전달하는 예시적 프로세스(500)를 도시한다. 프로세스(500)는 암호화 파라미터들을 결정하는 인증, 및 네트워크 통신과 연관된 기능들의 턴 온 또는 턴 오프를 위한 동작들을 포함한다. 예를 들어, 네트워크 통신은 FLASH® 미디어 서버 프로그램으로부터 이용가능한 미디어를 재생(play)하기 위해 FLASH® 플레이어 프로그램을 이용하는 사용자를 수반할 수 있다. 일부 구현예들에서, 기능들(features)은 암호 정보로부터 구별될 수 있는 버전 정보를 기초로 인에이블 또는 디스에이블될 수 있다. 예를 들어, 기능 이용성(이를 테면, 오디오 또는 시각적 능력들)은 사용자의 클라이언트 컴퓨터상에 장착되는 FLASH® 플레이어 프로그램의 버전과 관련될 수 있다.
랜덤 데이터의 제 1 부분이 검색될 수 있다(502). 예를 들어, 클라이언트 컴퓨터에 의해 전송된 네트워크 통신(300)에서, 서버는 미리정의된 부분(310) 내에서 미리결정된 바이트 위치를 볼 수 있다. 미리정의된 부분에 대한 제 1 인덱스는 검색된 제 1 부분에 기초하여 결정될 수 있다(504). 예를 들어, 랜덤 데이터의 하나 이상의 바이트들은 모듈로 연산(operation)에서 피제수(dividend)처럼 사용될 수 있고, 제수(divisor)는 메시지 인증 코드(이를 테면, HMAC)에 대해 배제되는(set aside) 미리정의된 부분(310) 영역의 길이 마이너스(-) 메시지 인증 코드의 길이이다. 다음, 제 1 인덱스는 미리정의된 오프셋(제로일 수 있음) 플러스(+) 상기 모듈로 연산의 나머지와 같게 설정될 수 있다.
랜덤 데이터의 다양한 조합들은 피제수를 생성하는데 이용될 수 있다는 것이 주목된다. 예를 들어, 랜덤 데이터의 x 바이트들은 제로 범위에 있는 피제수를
Figure 112014029526508-pct00001
로 형성하는 단일 이진수로 처리될 수 있으며, 혹은 랜덤 데이터의 동일한 x 바이트들은 제로 범위에 있는 피제수를
Figure 112014029526508-pct00002
로 형성하기 위해 서로 더해지는 x 이진수들로서 처리될 수 있다. 랜덤 데이터의 다양한 다른 조합들도 가능하다. 또한, 제 1 인덱스는 네트워크 통신으로부터 검색된 다른 정보와 조합하여 제 1 부분으로부터, 또는 랜덤 데이터만의 제 1 부분으로부터 결정될 수 있다. 예를 들어, 이러한 다른 정보는 헤더(330) 또는 페이로드(340)로부터 생성될 수 있다.
임의의 이벤트에서, 일단 인덱스가 결정되면, 이러한 인덱스는 다른(otherwise) 랜덤 데이터의 블록에서 메시지 인증을 위해 사용되는 암호 정보의 시작 위치(이를 테면, HMAC의 시작 포인트)에 해당한다. 네트워크 통신은 이러한 암호 정보를 사용하여 인증된다(506). 예를 들어, 인증은 네트워크 통신(300)에서 HMAC를 액세스하기 위해 제 1 인덱스 사용을 수반할 수 있다. 메시지 인증 코드가 확인되지 않는다면(508), 프로세스(500)는 폴백 제 1 부분이 이용가능한지 여부에 대해 검사할 수 있다(510). 이는 결정된(504) 제 1 인덱스가 네트워크 통신을 인증(506)하기 위해 이용가능한 메시지 인증 코드를 위치시키는 것을 실패할 때 발생된다.
이 경우, 하나 이상의 폴백 알고리즘들은 제 1 부분을 검색하고(502) 제 1 인덱스를 결정(504)하기 위해 제공될 수 있다. 각각의 폴백 알고리즘은 제 1 부분을 검색하고(502) 제 1 인덱스를 결정(504)하기 위한 다른 기술을 이용할 수 있다. 이러한 폴백 알고리즘들은 인증 프로세스를 위한 추가의 보안(security)을 제공하여, 현재 사용되는 기술이 발견될 때 서버 시스템이 인덱싱 기술을 변화시킬 수 있고, 클라이언트 컴퓨터들은 새로운 인덱싱 기술로 자동으로 폴백될 수 있다. 일단 모든 이용가능한 폴백 알고리즘들이 시도되었다면, 프로세스(500)는 네트워크 통신 인증 없이 종료된다.
메시지 인증 코드가 확인(508)되면, 랜덤 데이터의 제 2 부분이 검색된다(512). 예를 들어, 클라이언트 컴퓨터에 의해 전송된 네트워크 통신(300)에서, 서버는 미리정의된 부분(310) 내에서 미리결정된 다른 바이트 위치를 볼 수 있다. 미리정의된 부분에 대한 제 2 인덱스는 검색된 제 2 부분에 기초하여 결정될 수 있다(514). 예를 들어, 랜덤 데이터의 하나 이상의 바이트들은 또 다른 모듈로 연산에서 피제수로서 이용될 수 있으며, 제수는 암호화 파라미터(이를 테면, Diffie Hellman 정보)에 대해 배제되는 미리정의된 부분(310) 영역의 길이 마이너스(-) 암호화 파라미터들의 길이이다. 다음, 제 2 인덱스는 미리정의된 오프셋(제로일 수 있음) 플러스(+) 이러한 모듈로 연산의 나머지와 같게 설정될 수 있다.
메시지 인증 코드와 마찬가지로, 피제수를 생성하기 위해 랜덤 데이터의 다양한 조합들이 이용될 수 있다. 예를 들어, 랜덤 데이터의 x 바이트들은 제로 범위에 있는 피제수를
Figure 112014029526508-pct00003
로 형성하는 단일의 이진수로 처리될 수 있고, 혹은 랜덤 데이터의 동일한 x 바이트들은 제로 범위에 있는 피제수를
Figure 112014029526508-pct00004
로 형성하기 위해 서로 더해지는 x 이진수들로 처리될 수 있다. 랜덤 데이터의 다른 다양한 조합들도 가능하다. 또한, 제 2 인덱스는 랜덤 데이터만의 제 2 부분, 또는 네트워크 통신으로부터 검색된 다른 정보와 조합되는 제 2 부분으로부터 결정될 수 있다. 예를 들어, 이러한 다른 정보는 헤더(330) 또는 페이로드(340)로부터 생성될 수 있다. 또한, 랜덤 데이터 섹션이 메시지 인증 코드의 전체 길이 및 인증 파라미터들 보다 큰 것이 요구된다, 이를 테면, 128 바이트들의 Diffie Hellman 정보 및 32 바이트의 HMAC를 사용할 때 160 바이트보다는 큰 것이 요구된다는 것이 인식될 것이다.
임의의 이벤트에서, 일단 인덱스가 결정되면, 이러한 인덱스는 다른 랜덤 데이터의 블록에서 암호 키를 설정하기 위해 이용되는 암호화 파라미터들의 시작 위치(이를 테면, Diffie Hellman 정보의 시작 포인트)에 해당한다. 네트워크 통신에서 이러한 암호 정보가 확인된다(516). 이러한 확인은 네트워크 통신(300)에서 암호화 파라미터들을 액세스 및 확인하기 위한 제 2 인덱스 사용을 수반할 수 있다. 암호화 파라미터들이 확인되지 않으면(518), 프로세스(500)는 폴백 제 2 부분이 이용가능한지 여부를 검사할 수 있다(520). 이는 결정된 제 2 인덱스(514)가 클라이언트-서버 환경에서 암호화된 통신을 개시하는데 이용가능한 암호화 파라미터들을 위치시키는 것을 실패할 때 발생한다.
이 경우, 하나 이상의 폴백 알고리즘들은 제 2 부분을 검색하고(512) 제 2 인덱스를 결정(514)하기 위해 제공될 수 있다. 각각의 폴백 알고리즘은 제 1 부분을 검색하고(512) 및/또는 제 2 인덱스를 결정하기(514) 위해 다른 기술을 사용할 수 있다. 이러한 알고리즘들은 제 1 인덱스에 대해 사용된 것들과 상이할 수도 있다. 이러한 폴백 알고리즘들은 암호화된 세션 설정 프로세스에 대한 추가의 보안을 제공하여, 현재 사용되는 기술이 발견될 때 서버 시스템이 인덱싱 기술을 변화시키게 허용하며, 클라이언트 컴퓨터들은 새로운 인덱싱 기술로 자동으로 폴백될 수 있다. 일단 모든 이용가능한 폴백 알고리즘들이 시도되면, 프로세스(500)는 암호화 파라미터들 확인 없이 종료된다.
암호화 파라미터들이 확인(518)되면, 암호화된 세션이 요구되는지에 대한 결정(522)이 이루어질 수 있다. 예를 들어, 암호화 파라미터들은 세션(이를 테면, 세션(145))이 암호화된 세션인지에 대한 정보를 보유할 수 있다. 그렇다면, 암호화된 세션이 개시된다(524). 그렇지 않다면, 비암호화된 세션이 개시될 수 있다. (이를 테면, 암호화된 또는 비암호화된) 하나의 세션은 (이를 테면, FLASH® 플레이어 프로그램을 실행하는)클라이언트 컴퓨터(402)와 미디어 서버(404)(이를 테면, FLASH® 미디어 서버) 사이에 있을 수 있다.
하나 이상의 기능들이 인에이블되거나 또는 디스에이블되는 것으로 결정되면(516), 하나 이상의 미디어 플레이어, 미디어 서버 또는 이 둘다의 하나 이상의 기능들이 턴 온 또는 턴 오프된다(528). 예를 들어, 기능들의 세트는 클라이언트 미디어 플레이어의 버전 번호에 따라 턴 온 또는 턴 오프될 수 있다. 이러한 버전 번호는 (이를 테면, 핸드쉐이크(150)에서 비암호화된 및 비변장된(non-disguised) 형태로) 클라이언트 플레이어에 의해 제공될 수 있으며, 서버는 클라이언트가 네트워크 통신의 랜덤 바이트 섹션 내의 암호 정보를 적절히 통합한다는 사실에 기초하여 제공되는 버전 번호를 신뢰하는 것으로 결정할 수 있다(이를 테면, 클라이언트 미디어 플레이어는 보다 새로운 버전으로서 자체적으로 부적절하게 식별되도록 변경되는 상속 플레이어가 아니다).
본 명세서에 개시된 해당 주제 및 기능 동작들의 실시예들은 본 명세서에 개시된 구조들 및 이들의 구조적 등가물들, 또는 이들의 하나 이상의 조합들을 포함하는 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어에서 구현될 수 있다. 본 명세서에 개시된 해당 주제의 실시예들은 데이터 프로세싱 장치들의 동작을 제어하기 위해 또는 데이터 프로세싱 장치들에 의한 실행을 위해 컴퓨터-판독가능한 매체상에 인코딩된 컴퓨터 프로그램 명령들의 하나 이상의 모듈들과 같은 하나 이상의 컴퓨터 프로그램 물건들로 구현될 수 있다. 컴퓨터-판독가능한 매체는 기계-판독가능한 저장 디바이스, 기계-판독가능한 저장 기판, 메모리 디바이스,기계-판독가능한 전파 신호에 영향을 미치는 물질(matter)의 조성, 이들 중 하나 이상의 조합일 수 있다. "데이터 프로세싱 장치"란 용어는 예를 들어, 프로그램가능한 프로세서, 컴퓨터, 또는 다중 프로세서들 또는 컴퓨터들을 포함하여, 데이터를 프로세싱하기 위한 모든 장치들, 디바이스들, 및 기계들을 포함한다. 하드웨어 이외에, 장치는 해당 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 이를 테면 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 시스템, 또는 이들의 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파된 신호는 인공적으로 생성된 신호, 이를 테면, 적절한 수신기 장치로의 전송을 위해 정보를 인코딩하도록 생성된 기계-생성 전기, 광학적 또는 전자기적 신호이다.
(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트(script), 또는 코드로도 공지된) 컴퓨터 프로그램은 컴파일드(compiled) 또는 인터프리티드(interpreted) 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있으며, 이는 독립형 프로그램 또는 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유니트를 포함하는 임의의 형태로 사용될 수 있다. 컴퓨터 프로그램은 파일 시스템에서의 파일과 반드시 대응되지 않는다. 프로그램은 다른 프로그래들 또는 데이터(이를 테면 마크업 언어 문서에 저장된 하나 이상의 스크립트들)를 홀딩하는 파일의 일부, 해당 프로그램에 전용된 단일 파일, 또는 다수의 조정된 파일들(이를 테면, 하나 이상의 모듈들, 서브-프로그램들, 또는 코드의 부분들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 통신 네트워크에 의해 상호접속되며 하나의 사이트에 위치된 또는 다수의 사이트에 대해 분산된 하나의 컴퓨터 또는 다수의 컴퓨터 상에서 실행되도록 분포될 수 있다.
본 명세서에 개시된 프로세스들 및 논리 플로우들은 입력 데이터를 작동시키고 출력을 생성함으로써 기능들을 수행하는 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그램가능한 프로세서들에 의해 수행된다. 또한, 프로세스들 및 논리 플로우들은 특정 용도 논리 회로, 이를 테면, FPGA(필드 프로그램가능 게이트 어레이) 또는 ASIC(application-specific integrated circuit)에 의해 실행될 수 있으며, 장치들 또한 이들로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은 예로써, 범용성 및 특정 용도 마이크로프로세서들, 및 임의의 형태의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 리드-온리 메모리 또는 랜덤-액세스 메모리 또는 이 둘 모두로부터의 명령들 및 데이터를 수신한다. 컴퓨터의 필수(essential) 엘리먼트들로는 명령들을 수행하기 위한 프로세서들 및 명령들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이 있다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량(mass) 저장 디바이스, 이를 테면 자기, 광자기(magneto-optical) 디스크들, 또는 광학 디스크들을 포함하거나, 또는 이들로부터 데이터를 수신하거나 또는 이들로부터 데이터를 전송하도록 동작가능하게 결합된다. 그러나, 컴퓨터가 이러한 디바이스들을 포함할 필요는 없다. 또한, 컴퓨터는 단지 몇 가지 예로, 다른 디바이스, 이를 테면, 이동 전화, PDA, 모바일 오디오 플레이어, GPS(Global Positioning System)에 내장될 수 있다. 컴퓨터 프로그램 명령들 및 데이터를 저장하기에 적합한 컴퓨터-판독가능한 매체는 예를 들어 반도체 메모리 디바이스들, 이를 테면, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 이를 테면 내부 하드 디스크들 또는 이동식 디스크들; 광자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을을 포함하는 비휘발성 메모리, 미디어 및 메모리 디바이스들의 모든 형태들을 포함한다. 프로세서 및 메모리는 특정 용도 논리 회로에 의해 보충되거나 또는 특정 용도 논리 회로에 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에 개시된 해당 주제의 실시예들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 이를 테면, CRT(cathode ray tube) 또는 LCD (liquid crystal display) 모니터 및 사용자에게 컴퓨터에 대한 입력을 제공하는 키보드 및 포인팅 디바이스, 이를 테면 마우스 또는 트랙볼을 포함하는 컴퓨터 상에서 구현될 수 있다. 마찬가지로 사용자와의 상호작용을 제공하기 위해 다른 종류의 디바이스들이 사용될 수 있다; 예를 들면, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 이를 테면 시각적 피드백, 청각적 피드백 또는 촉각적 피드백일 수 있으며; 사용자로부터의 입력은 청각, 구두(speech), 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에 개시된 해당 주제의 실시예들은 이를 테면 데이터 서버처럼, 백-엔드(back-end) 콤포넌트를 포함하는 컴퓨팅 시스템에서 구현될 수 있으며 혹은 이를 테면 애플리케이션 서버와 같은 미들웨어(middleware) 콤포넌트를 포함하거나, 혹은 프론트-엔드(front-end) 콤포넌트 ―이를 테면 개시된 해당 주제의 구현예와 사용자가 상호작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 포함하는 클라이언트 컴퓨터가 본 명세서에 개시됨 ―, 또는 하나 이상의 이러한 백-엔드, 미들웨어, 프론트-엔드 콤포넌트들의 임의의 조합을 포함할 수 있다. 시스템의 콤포넌트들은 임의의 형태 또는 매체의 디지털 데이터 통신, 이를 테면 통신 네트워크에 의해 상호접속될 수 있다. 통신 네트워크들의 예들로는 LAN(local area network) 및 WAN(wide area network), 이를 테면 인터넷이 포함된다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 원격적이며 통상적으로는 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 서로 클라이언트-서버 관계를 가지며 각각의 컴퓨터들 상에서 작동하는 컴퓨터 프로그램에 의해 생성된다.
본 명세서는 다수의 특정사항들을 포함하지만, 이들은 본 발명의 범주 또는 본 발명이 청구하고자 하는 것의 범주를 제한한고자 구성된 것이 아니며, 오히려 본 발명의 특정 실시예들에 대한 특정 특징들을 설명하고자 구성된 것이다. 개별 실시예들과 관련하여 본 명세서에 개시된 소정의 특징들이 단일 실시예에서 조합되어 구성될 수도 있다. 반대로, 단일 실시예와 관련하여 개시된 다양한 특징들이 다수의 실시예들에서 개별적으로 또는 임의의 적절한 하위조합으로 구현될 수 있다. 또한, 특징들은 소정의 조합들로 작용하며 초기에 청구되었지만, 청구된 조합들로부터의 하나 이상의 특징들이 소정의 경우에서 조합되어 실행될 수 있고, 청구된 조합은 하위조합 또는 하위조합의 변형을 지시할 수 있다.
유사하게, 동작들은 특정 순서로 도면들에 도시되었지만, 이는 이러한 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되는 것을 요구하거나, 도시되 모든 동작들이 원하는 결과들을 달성하기 위해 수행되어야 하는 것을 요구하는 것이 아님을 이해해야 한다. 소정의 상황들에서, 멀티태스킹 및 병렬 프로세싱이 바람직할 수 있다. 또한, 앞서 개시된 실시예들에서 다양한 시스템 콤포넌트들의 구별은 모든 실시예들에서 이러한 구별을 요구하는 것으로 이해하지 말아야 하며, 개시된 프로그램 콤포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 물건(product)에 함께 통합되거나 또는 다수의 소프트웨어 물건들로 패키징될 수 있다는 것을 이해해야 한다.
따라서, 본 발명의 특정 실시예들이 개시된다. 다른 실시예들은 하기 청구항들의 범주에 포함된다. 예를 들어, 청구항들에서 인용되는 동작들은 다른 순서로 수행되어 원하는 결과들을 달성할 수 있다. 랜덤 데이터가 실제로(truly) 랜덤 데이터일 필요는 없으며, 오히려 의사(pseudo) 랜덤 데이터일 수 있다. 또한, 네트워크 통신의 미리정의된 부분은 랜덤 데이터를 위해 예비될 뿐만 아니라, 모든 구현예들의 랜덤 데이터를 실제로 포함할 필요는 없다.

Claims (23)

  1. 네트워크 통신에서 암호 정보를 전달하기 위한 방법으로서,
    클라이언트-서버 환경에서 네트워크 통신의 미리정의된(pre-defined) 부분에 삽입된 암호 정보(cryptographic information)를 수신하는 단계 ― 상기 네트워크 통신의 상기 미리정의된 부분은 대역폭 검출을 지원하기 위한 랜덤 데이터(random data)를 위해 예비됨 ―;
    상기 네트워크 통신의 상기 미리정의된 부분에서 상기 암호 정보의 위치를 식별하는 단계;
    상기 암호 정보를 처리하는 단계; 및
    상기 암호 정보의 처리 결과에 적어도 부분적으로 기초하여 상기 클라이언트-서버 환경에서의 상호작용들(interactions)을 변경하는 단계
    를 포함하고,
    상기 랜덤 데이터는 상기 암호 정보와 상이한,
    네트워크 통신에서 암호 정보를 전달하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 위치를 식별하는 단계는 상기 위치를 결정하기 위해 상기 네트워크 통신의 적어도 일부를 사용하는 단계를 포함하는,
    네트워크 통신에서 암호 정보를 전달하기 위한 방법.
  3. 제 2 항에 있어서,
    상기 미리정의된 부분은 상기 랜덤 데이터를 포함하며,
    상기 위치를 결정하기 위해 상기 네트워크 통신의 적어도 일부를 사용하는 단계는,
    상기 랜덤 데이터의 일부를 검색하는 단계; 및
    상기 랜덤 데이터의 검색된 부분에 기초하여 상기 네트워크 통신의 상기 미리정의된 부분에 대한 인덱스를 결정하는 단계
    를 포함하는,
    네트워크 통신에서 암호 정보를 전달하기 위한 방법.
  4. 제 3 항에 있어서,
    상기 위치를 결정하기 위해 상기 네트워크 통신의 적어도 일부를 사용하는 단계는,
    상기 랜덤 데이터의 다수의 상이한 부분들을 검색하는 단계; 및
    상기 랜덤 데이터의 상기 상이한 부분들에 기초하여 상기 네트워크 통신의 상기 미리정의된 부분에 대한 다수의 상이한 인덱스들을 결정하는 단계
    를 포함하는,
    네트워크 통신에서 암호 정보를 전달하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 암호 정보를 처리하는 단계는 암호 키를 설정하는 단계를 포함하며,
    상기 클라이언트-서버 환경에서의 상호작용들을 변경하는 단계는 상기 암호 키를 사용하여 암호화된 세션을 개시하는 단계를 포함하는,
    네트워크 통신에서 암호 정보를 전달하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 암호 정보를 처리하는 단계는 상기 네트워크 통신을 인증하는 단계를 포함하며,
    상기 클라이언트-서버 환경에서의 상호작용들을 변경하는 단계는 상기 클라이언트-서버 환경에서 동작하는 프로그램의 기능(feature)을 턴 온 또는 턴 오프시키는 단계를 포함하고, 상기 프로그램의 기능은 상기 상호작용들과 연관되는 기능인,
    네트워크 통신에서 암호 정보를 전달하기 위한 방법.
  7. 내부에 컴퓨터 소프트웨어가 인코딩된 컴퓨터-판독가능한 기록매체로서,
    상기 컴퓨터 소프트웨어는 데이터 프로세싱 장치로 하여금,
    클라이언트-서버 환경에서 네트워크 통신의 미리정의된(pre-defined) 부분에 삽입된 암호 정보를 수신하고 ― 상기 네트워크 통신의 상기 미리정의된 부분은 대역폭 검출을 지원하기 위한 랜덤 데이터를 위해 예비됨 ―;
    상기 네트워크 통신의 상기 미리정의된 부분에서 상기 암호 정보의 위치를 식별하고;
    상기 암호 정보를 처리하고; 그리고
    상기 암호 정보의 처리 결과에 적어도 부분적으로 기초하여 상기 클라이언트-서버 환경에서의 상호작용들을 변경하는 것
    을 포함하는 동작들을 수행하게 하도록 동작가능하고,
    상기 랜덤 데이터는 상기 암호 정보와 상이한,
    내부에 컴퓨터 소프트웨어가 인코딩된 컴퓨터-판독가능한 기록매체.
  8. 제 7 항에 있어서,
    상기 위치를 식별하는 것은 상기 위치를 결정하기 위해 상기 네트워크 통신의 적어도 일부를 사용하는 것을 포함하는,
    내부에 컴퓨터 소프트웨어가 인코딩된 컴퓨터-판독가능한 기록매체.
  9. 제 8 항에 있어서,
    상기 미리정의된 부분은 상기 랜덤 데이터를 포함하며, 상기 위치를 결정하기 위해 상기 네트워크 통신의 적어도 일부를 사용하는 것은,
    상기 랜덤 데이터의 일부를 검색하는 것; 및
    상기 랜덤 데이터의 검색된 부분에 기초하여 상기 네트워크 통신의 상기 미리정의된 부분에 대한 인덱스를 결정하는 것
    을 포함하는,
    내부에 컴퓨터 소프트웨어가 인코딩된 컴퓨터-판독가능한 기록매체.
  10. 제 9 항에 있어서,
    상기 위치를 결정하기 위해 상기 네트워크 통신의 적어도 일부를 사용하는 것은,
    상기 랜덤 데이터의 다수의 상이한 부분들을 검색하는 것; 및
    상기 랜덤 데이터의 상기 상이한 부분들에 기초하여 상기 네트워크 통신의 상기 미리정의된 부분에 대한 다수의 상이한 인덱스들을 결정하는 것
    을 포함하는,
    내부에 컴퓨터 소프트웨어가 인코딩된 컴퓨터-판독가능한 기록매체.
  11. 제 7 항에 있어서,
    상기 암호 정보를 처리하는 것은 암호 키를 설정하는 것을 포함하며,
    상기 클라이언트-서버 환경에서의 상호작용들을 변경하는 것은 상기 암호 키를 사용하여 암호화된 세션을 개시하는 것을 포함하는,
    내부에 컴퓨터 소프트웨어가 인코딩된 컴퓨터-판독가능한 기록매체.
  12. 제 7 항에 있어서,
    상기 암호 정보를 처리하는 것은 상기 네트워크 통신을 인증하는 것을 포함하며,
    상기 클라이언트-서버 환경에서의 상호작용들을 변경하는 것은 상기 클라이언트-서버 환경에서 동작하는 프로그램의 기능을 턴 온 또는 턴 오프시키는 것을 포함하고, 상기 프로그램의 기능은 상기 상호작용들과 연관되는 기능인,
    내부에 컴퓨터 소프트웨어가 인코딩된 컴퓨터-판독가능한 기록매체.
  13. 네트워크 통신에서 암호 정보를 전달하기 위한 시스템으로서,
    네트워크 통신을 포함하는 세션 시동(startup) 핸드쉐이크를 사용하여, 클라이언트 컴퓨터들과 함께 네트워크를 통해 비암호화된 세션들 및 암호화된 세션들 양자 모두를 설정하도록 프로그램된 서버 컴퓨터 ― 상기 네트워크 통신은 랜덤 데이터를 위해 예비된 미리정의된 부분을 포함함 ― ;
    상기 세션 시동 핸드쉐이크를 사용하여 상기 서버 컴퓨터와 비암호화된 세션들을 설정하도록 프로그램된, 상기 클라이언트 컴퓨터들 중 제 1 클라이언트 컴퓨터; 및
    상기 네트워크 통신의 상기 미리정의된 부분에 삽입된 암호 정보를 포함하는 상기 세션 시동 핸드쉐이크를 사용하여 상기 서버 컴퓨터와 암호화된 세션들을 설정하도록 프로그램된, 상기 클라이언트 컴퓨터들 중 제 2 클라이언트 컴퓨터
    를 포함하며, 상기 서버 컴퓨터 및 상기 제 2 클라이언트 컴퓨터는, 상기 네트워크 통신의 상기 미리정의된 부분에서 상기 암호 정보의 위치를 식별하고, 상기 암호 정보를 처리하며, 그리고 상기 암호 정보의 처리 결과에 적어도 부분적으로 기초하여 상기 서버 컴퓨터와 상기 제 2 클라이언트 컴퓨터 간의 상호작용들을 변경하는 것을 포함하는 동작들을 수행하도록 프로그램되는,
    네트워크 통신에서 암호 정보를 전달하기 위한 시스템.
  14. 제 13 항에 있어서,
    상기 클라이언트 컴퓨터들은 모바일 디바이스들을 포함하는,
    네트워크 통신에서 암호 정보를 전달하기 위한 시스템.
  15. 제 13 항에 있어서,
    상기 위치를 식별하는 것은, 상기 위치를 결정하기 위해 상기 네트워크 통신의 적어도 일부를 이용하는 것을 포함하는,
    네트워크 통신에서 암호 정보를 전달하기 위한 시스템.
  16. 제 15 항에 있어서,
    상기 미리정의된 부분은 상기 랜덤 데이터를 포함하며,
    상기 위치를 결정하기 위해 상기 네트워크 통신의 적어도 일부를 사용하는 것은,
    상기 랜덤 데이터의 일부를 검색하는 것; 및
    상기 랜덤 데이터의 검색된 부분에 기초하여 상기 네트워크 통신의 상기 미리정의된 부분에 대한 인덱스를 결정하는 것
    을 포함하는,
    네트워크 통신에서 암호 정보를 전달하기 위한 시스템.
  17. 제 16 항에 있어서,
    상기 위치를 결정하기 위해 상기 네트워크 통신의 적어도 일부를 사용하는 것은,
    상기 랜덤 데이터의 다수의 상이한 부분들을 검색하는 것, 및
    상기 랜덤 데이터의 상기 상이한 부분들에 기초하여 상기 네트워크 통신의 상기 미리정의된 부분에 대한 다수의 상이한 인덱스들을 결정하는 것
    을 포함하는,
    네트워크 통신에서 암호 정보를 전달하기 위한 시스템.
  18. 제 13 항에 있어서,
    상기 암호 정보를 처리하는 것은,
    상기 네트워크 통신을 인증하는 것; 및
    암호 키를 설정하는 것
    을 포함하며,
    상기 서버 컴퓨터와 상기 제 2 클라이언트 컴퓨터 간의 상호작용들을 변경하는 것은,
    상기 서버 컴퓨터 또는 상기 제 2 클라이언트 컴퓨터에서 동작하는 프로그램의 기능을 턴 온 또는 턴 오프시키는 것 ―상기 프로그램의 기능은 상기 상호작용들과 연관되는 기능임―; 및
    상기 암호 키를 사용하여 상기 서버 컴퓨터와 상기 제 2 클라이언트 컴퓨터 사이에 암호화된 세션을 개시하는 것
    을 포함하는,
    네트워크 통신에서 암호 정보를 전달하기 위한 시스템.
  19. 제 13 항에 있어서,
    상기 서버 컴퓨터와 상기 제 2 클라이언트 컴퓨터는, 상기 네트워크 통신에 메시지 인증 코드 및 암호화 키 설정 정보를 삽입하는 것을 포함하는 동작들을 수행하도록 프로그램되는,
    네트워크 통신에서 암호 정보를 전달하기 위한 시스템.
  20. 네트워크 통신에서 암호 정보를 전달하기 위한 방법으로서,
    클라이언트-서버 환경에서 전송될 네트워크 통신의 미리정의된 부분에서의 위치를 식별하는 단계 ―상기 네트워크 통신의 상기 미리정의된 부분은 대역폭 검출을 지원하기 위한 랜덤 데이터를 위해 예비됨―;
    상기 위치에서 상기 네트워크 통신의 상기 미리정의된 부분에 암호 정보를 삽입하는 단계; 및
    상기 암호 정보의 처리 결과에 적어도 부분적으로 기초하여 상기 클라이언트-서버 환경에서 상호작용들을 변경하기 위해 상기 클라이언트-서버 환경에서 상기 네트워크 통신을 전송하는 단계 ―상기 암호 정보의 처리는 수신부 측에서 수행됨―
    를 포함하고,
    상기 랜덤 데이터는 상기 암호 정보와 상이한,
    네트워크 통신에서 암호 정보를 전달하기 위한 방법.
  21. 제 20 항에 있어서,
    상기 미리정의된 부분은 상기 랜덤 데이터를 포함하며,
    상기 위치를 식별하는 단계는,
    상기 랜덤 데이터의 일부를 검색하는 단계; 및
    상기 랜덤 데이터의 검색된 부분에 기초하여 상기 네트워크 통신의 상기 미리정의된 부분에 대한 인덱스를 결정하는 단계
    를 포함하는, 방법.
  22. 내부에 컴퓨터 소프트웨어가 인코딩된 컴퓨터-판독가능한 기록매체로서,
    상기 컴퓨터 소프트웨어는 데이터 프로세싱 장치로 하여금,
    클라이언트-서버 환경에서 전송될 네트워크 통신의 미리정의된 부분에서의 위치를 식별하고 ― 상기 네트워크 통신의 상기 미리정의된 부분은 대역폭 검출을 지원하기 위한 랜덤 데이터를 위해 예비됨―;
    상기 위치에서 상기 네트워크 통신의 상기 미리정의된 부분에 암호 정보를 삽입하고; 그리고
    상기 암호 정보의 처리 결과에 적어도 부분적으로 기초하여 상기 클라이언트-서버 환경에서의 상호작용들을 변경하기 위해 상기 클라이언트-서버 환경에서 상기 네트워크 통신을 전송하는 것 ―상기 암호 정보의 처리는 수신부 측에서 수행됨―
    을 포함하는 동작들을 수행하게 하도록 동작가능하고,
    상기 랜덤 데이터는 상기 암호 정보와 상이한,
    내부에 컴퓨터 소프트웨어가 인코딩된 컴퓨터-판독가능한 기록매체.
  23. 제 22 항에 있어서,
    상기 미리정의된 부분은 상기 랜덤 데이터를 포함하며,
    상기 위치를 식별하는 것은,
    상기 랜덤 데이터의 일부를 검색하는 것; 및
    상기 랜덤 데이터의 검색된 부분에 기초하여 상기 네트워크 통신의 상기 미리정의된 부분에 대한 인덱스를 결정하는 것
    을 포함하는,
    내부에 컴퓨터 소프트웨어가 인코딩된 컴퓨터-판독가능한 기록매체.
KR1020107010247A 2007-10-15 2008-10-14 네트워크 통신에서 암호 정보 전달을 위한 방법, 시스템 및 컴퓨터-판독가능 기록매체 KR101563906B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/872,661 2007-10-15
US11/872,661 US7961878B2 (en) 2007-10-15 2007-10-15 Imparting cryptographic information in network communications

Publications (2)

Publication Number Publication Date
KR20100099109A KR20100099109A (ko) 2010-09-10
KR101563906B1 true KR101563906B1 (ko) 2015-10-28

Family

ID=40534209

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107010247A KR101563906B1 (ko) 2007-10-15 2008-10-14 네트워크 통신에서 암호 정보 전달을 위한 방법, 시스템 및 컴퓨터-판독가능 기록매체

Country Status (5)

Country Link
US (4) US7961878B2 (ko)
KR (1) KR101563906B1 (ko)
CN (1) CN101861721B (ko)
DE (1) DE112008002768T5 (ko)
WO (1) WO2009052118A2 (ko)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272658B1 (en) 2003-02-13 2007-09-18 Adobe Systems Incorporated Real-time priority-based media communication
US7961878B2 (en) * 2007-10-15 2011-06-14 Adobe Systems Incorporated Imparting cryptographic information in network communications
JP2010033358A (ja) * 2008-07-29 2010-02-12 Sony Corp 情報処理装置、情報処理方法、プログラム、および情報処理システム
US8051287B2 (en) 2008-10-15 2011-11-01 Adobe Systems Incorporated Imparting real-time priority-based network communications in an encrypted communication session
US20100211987A1 (en) * 2009-02-19 2010-08-19 Pixel8 Networks, Inc. Video deduplication, cache, and virtual private content delivery network
US8818019B2 (en) * 2009-06-08 2014-08-26 Cisco Technology Inc Robust watermark
US9317572B2 (en) 2010-03-31 2016-04-19 Cloudera, Inc. Configuring a system to collect and aggregate datasets
US8874526B2 (en) 2010-03-31 2014-10-28 Cloudera, Inc. Dynamically processing an event using an extensible data model
US9081888B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating log data with fault tolerance
US9082127B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating datasets for analysis
US8788815B1 (en) * 2011-01-31 2014-07-22 Gazzang, Inc. System and method for controlling access to decrypted data
US8880592B2 (en) 2011-03-31 2014-11-04 Cloudera, Inc. User interface implementation for partial display update
KR101258845B1 (ko) * 2011-10-10 2013-05-06 고려대학교 산학협력단 Tcp통신을 이용한 정보 저장방법 및 시스템
US9391832B1 (en) 2011-12-05 2016-07-12 Menlo Security, Inc. Secure surrogate cloud browsing
US9128949B2 (en) 2012-01-18 2015-09-08 Cloudera, Inc. Memory allocation buffer for reduction of heap fragmentation
US9172608B2 (en) 2012-02-07 2015-10-27 Cloudera, Inc. Centralized configuration and monitoring of a distributed computing cluster
US9405692B2 (en) 2012-03-21 2016-08-02 Cloudera, Inc. Data processing performance enhancement in a distributed file system
US9338008B1 (en) 2012-04-02 2016-05-10 Cloudera, Inc. System and method for secure release of secret information over a network
US9842126B2 (en) 2012-04-20 2017-12-12 Cloudera, Inc. Automatic repair of corrupt HBases
US9753954B2 (en) 2012-09-14 2017-09-05 Cloudera, Inc. Data node fencing in a distributed file system
US8695048B1 (en) 2012-10-15 2014-04-08 Wowza Media Systems, LLC Systems and methods of processing closed captioning for video on demand content
US9602557B2 (en) 2012-10-15 2017-03-21 Wowza Media Systems, LLC Systems and methods of communication using a message header that includes header flags
US9342557B2 (en) 2013-03-13 2016-05-17 Cloudera, Inc. Low latency query engine for Apache Hadoop
US8782721B1 (en) 2013-04-05 2014-07-15 Wowza Media Systems, LLC Closed captions for live streams
US8782722B1 (en) 2013-04-05 2014-07-15 Wowza Media Systems, LLC Decoding of closed captions at a media server
US20140347376A1 (en) * 2013-05-24 2014-11-27 Nvidia Corporation Graphics server and method for managing streaming parameters
TWM487509U (zh) 2013-06-19 2014-10-01 杜比實驗室特許公司 音訊處理設備及電子裝置
CN105556837B (zh) 2013-09-12 2019-04-19 杜比实验室特许公司 用于各种回放环境的动态范围控制
US9477731B2 (en) 2013-10-01 2016-10-25 Cloudera, Inc. Background format optimization for enhanced SQL-like queries in Hadoop
US9934382B2 (en) 2013-10-28 2018-04-03 Cloudera, Inc. Virtual machine image encryption
US9690671B2 (en) 2013-11-01 2017-06-27 Cloudera, Inc. Manifest-based snapshots in distributed computing environments
US10171635B2 (en) 2013-12-04 2019-01-01 Cloudera, Inc. Ensuring properly ordered events in a distributed computing environment
US9977810B2 (en) 2014-08-21 2018-05-22 Dropbox, Inc. Multi-user search system with methodology for personal searching
US9747333B2 (en) 2014-10-08 2017-08-29 Cloudera, Inc. Querying operating system state on multiple machines declaratively
US10120904B2 (en) 2014-12-31 2018-11-06 Cloudera, Inc. Resource management in a distributed computing environment
US9183303B1 (en) 2015-01-30 2015-11-10 Dropbox, Inc. Personal content item searching system and method
US9384226B1 (en) 2015-01-30 2016-07-05 Dropbox, Inc. Personal content item searching system and method
US10223780B2 (en) * 2015-04-15 2019-03-05 Institute Of Automation Chinese Academy Of Sciences Image steganalysis based on deep learning
CN105847238B (zh) * 2016-03-16 2018-07-17 杭州狮说教育科技有限公司 一种基于rtmp连接的数据安全传输方法
US10447668B1 (en) 2016-11-14 2019-10-15 Amazon Technologies, Inc. Virtual cryptographic module with load balancer and cryptographic module fleet
US10461943B1 (en) * 2016-11-14 2019-10-29 Amazon Technologies, Inc. Transparently scalable virtual hardware security module
CN107920088A (zh) * 2017-12-21 2018-04-17 深圳市四面信息科技有限公司 一种加解密方法
US20200228505A1 (en) * 2019-01-10 2020-07-16 Pango Inc. Private Exchange of Encrypted Data Over A Computer Network
CN111970177B (zh) * 2019-05-20 2021-09-24 杭州海康威视数字技术股份有限公司 一种设备接入方法、装置及设备
US11611482B1 (en) 2020-06-12 2023-03-21 Menlo Security, Inc. Bandwidth throttling
KR102483848B1 (ko) * 2021-01-08 2023-02-07 주식회사 우아한형제들 로그인 강화 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070127458A1 (en) * 2005-12-06 2007-06-07 Micrel, Inc. Data communication method for detecting slipped bit errors in received data packets

Family Cites Families (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US5185795A (en) 1991-02-27 1993-02-09 Motorola, Inc. Authentication of rekey messages in a communication system
US6546112B1 (en) 1993-11-18 2003-04-08 Digimarc Corporation Security document with steganographically-encoded authentication data
EP0987855A2 (en) 1993-11-18 2000-03-22 Digimarc Corporation Method and apparatus for encoding audio with auxiliary digital data
US5481610A (en) * 1994-02-28 1996-01-02 Ericsson Inc. Digital radio transceiver with encrypted key storage
US5793980A (en) * 1994-11-30 1998-08-11 Realnetworks, Inc. Audio-on-demand communication system
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
GB9520807D0 (en) 1995-10-11 1995-12-13 Newbridge Networks Corp Fair queue servicing using dynamic weights
US5841432A (en) * 1996-02-09 1998-11-24 Carmel; Sharon Method and system of building and transmitting a data file for real time play of multimedia, particularly animation, and a data file for real time play of multimedia applications
US7010692B2 (en) 1996-04-17 2006-03-07 Phoenix Technologies Ltd. Cryptographic methods for remote authentication
JP3560441B2 (ja) 1997-04-07 2004-09-02 日本アイ・ビー・エム株式会社 複数フレーム・データ・ハイディング方法及び検出方法
US6912658B1 (en) 1997-08-22 2005-06-28 Purdue Research Foundation Hiding of encrypted data
US6011849A (en) 1997-08-28 2000-01-04 Syndata Technologies, Inc. Encryption-based selection system for steganography
US6032197A (en) 1997-09-25 2000-02-29 Microsoft Corporation Data packet header compression for unidirectional transmission
US6453355B1 (en) * 1998-01-15 2002-09-17 Apple Computer, Inc. Method and apparatus for media data transmission
US6021391A (en) * 1998-03-03 2000-02-01 Winbond Electronics Corp. Method and system for dynamic data encryption
US6681327B1 (en) 1998-04-02 2004-01-20 Intel Corporation Method and system for managing secure client-server transactions
US6295604B1 (en) * 1998-05-26 2001-09-25 Intel Corporation Cryptographic packet processing unit
US6397259B1 (en) 1998-05-29 2002-05-28 Palm, Inc. Method, system and apparatus for packet minimized communications
US6202081B1 (en) 1998-07-21 2001-03-13 3Com Corporation Method and protocol for synchronized transfer-window based firewall traversal
US6317831B1 (en) * 1998-09-21 2001-11-13 Openwave Systems Inc. Method and apparatus for establishing a secure connection over a one-way data path
US6438123B1 (en) 1998-11-10 2002-08-20 Cisco Technology, Inc. Method and apparatus for supporting header suppression and multiple microflows in a network
DE19906450C1 (de) 1999-02-16 2000-08-17 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Erzeugen eines verschlüsselten Nutzdatenstroms und Verfahren und Vorrichtung zum Entschlüsseln eines verschlüsselten Nutzdatenstroms
CN1143292C (zh) 1999-02-26 2004-03-24 日本胜利株式会社 信息记录方法、记录装置、记录重放方法及记录介质
US6484257B1 (en) 1999-02-27 2002-11-19 Alonzo Ellis System and method for maintaining N number of simultaneous cryptographic sessions using a distributed computing environment
US7095851B1 (en) 1999-03-11 2006-08-22 Tecsec, Inc. Voice and data encryption method using a cryptographic key split combiner
US7058803B2 (en) 2002-05-22 2006-06-06 Broadcom Corporation System and method for protecting transport stream content
WO2000059203A2 (en) 1999-03-31 2000-10-05 Diva Systems Corporation Method and apparatus for performing impulse authorizations within a video on demand environment
EP1177668A2 (en) 1999-05-10 2002-02-06 Nokia Corporation Header compression
JP4457431B2 (ja) 1999-05-18 2010-04-28 ソニー株式会社 受信装置および方法、並びに記録媒体
US6898706B1 (en) 1999-05-20 2005-05-24 Microsoft Corporation License-based cryptographic technique, particularly suited for use in a digital rights management system, for controlling access and use of bore resistant software objects in a client computer
US6760378B1 (en) * 1999-06-30 2004-07-06 Realnetworks, Inc. System and method for generating video frames and correcting motion
US6449656B1 (en) * 1999-07-30 2002-09-10 Intel Corporation Storing a frame header
US6477580B1 (en) * 1999-08-31 2002-11-05 Accenture Llp Self-described stream in a communication services patterns environment
US7058728B1 (en) 1999-10-29 2006-06-06 Nokia Corporation Method and apparatus for initiating compression of headers of packets and refreshing the context related to the packets
US6763390B1 (en) * 2000-01-24 2004-07-13 Ati Technologies, Inc. Method and system for receiving and framing packetized data
US6999424B1 (en) * 2000-01-24 2006-02-14 Ati Technologies, Inc. Method for displaying data
US7061936B2 (en) 2000-03-03 2006-06-13 Ntt Docomo, Inc. Method and apparatus for packet transmission with header compression
US7136377B1 (en) 2000-03-31 2006-11-14 Cisco Technology, Inc. Tunneled datagram switching
US6640303B1 (en) 2000-04-28 2003-10-28 Ky Quy Vu System and method for encryption using transparent keys
US7000108B1 (en) 2000-05-02 2006-02-14 International Business Machines Corporation System, apparatus and method for presentation and manipulation of personal information syntax objects
US7152047B1 (en) 2000-05-24 2006-12-19 Esecure.Biz, Inc. System and method for production and authentication of original documents
US7051200B1 (en) * 2000-06-27 2006-05-23 Microsoft Corporation System and method for interfacing a software process to secure repositories
US20020025045A1 (en) 2000-07-26 2002-02-28 Raike William Michael Encryption processing for streaming media
US6801947B1 (en) * 2000-08-01 2004-10-05 Nortel Networks Ltd Method and apparatus for broadcasting media objects with guaranteed quality of service
US7043633B1 (en) 2000-08-28 2006-05-09 Verizon Corporation Services Group Inc. Method and apparatus for providing adaptive self-synchronized dynamic address translation
EP1187416B1 (en) 2000-09-07 2005-03-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for transmitting data packets
DE60118609T2 (de) 2000-10-11 2007-05-03 Broadcom Corp., Irvine Kabelmodemsystem und Verfahren zur Unterstützung erweiterter Protokolle
FI110739B (fi) 2000-10-18 2003-03-14 Nokia Corp Otsikkokenttien kompressoinnin määrittäminen datapakettiyhteydelle
US7310353B1 (en) 2000-10-30 2007-12-18 Yair Bourlas Compression of overhead in layered data communication links
US7046672B2 (en) 2000-11-16 2006-05-16 Microsoft Corporation Robust, inferentially synchronized transmission of compressed transport-layer-protocol headers
US6823394B2 (en) * 2000-12-12 2004-11-23 Washington University Method of resource-efficient and scalable streaming media distribution for asynchronous receivers
US7154895B1 (en) 2000-12-15 2006-12-26 Conexant, Inc. System, apparatus, and method for ATM header compression for DSL links
US7499545B1 (en) 2001-02-05 2009-03-03 Ati Technologies, Inc. Method and system for dual link communications encryption
US7096359B2 (en) 2001-03-01 2006-08-22 University Of Cincinnati Authentication scheme for ad hoc and sensor wireless networks
US6934389B2 (en) 2001-03-02 2005-08-23 Ati International Srl Method and apparatus for providing bus-encrypted copy protection key to an unsecured bus
JP3512177B2 (ja) 2001-05-16 2004-03-29 松下電器産業株式会社 パケット受信装置及びパケット伝送方法
US7139398B2 (en) 2001-06-06 2006-11-21 Sony Corporation Time division partial encryption
US7298849B2 (en) 2001-06-29 2007-11-20 Intel Corporation Method and apparatus for simultaneous encryption and decryption of publicly distributed media
US7149892B2 (en) 2001-07-06 2006-12-12 Juniper Networks, Inc. Secure sockets layer proxy architecture
JP2003037623A (ja) * 2001-07-23 2003-02-07 Philips Japan Ltd Mpegネットワーク上におけるダイレクトrtp伝送方法及びシステム
US7010613B2 (en) 2001-09-07 2006-03-07 Intel Corporation Methods and apparatus for reducing frame overhead on local area networks
US7111162B1 (en) * 2001-09-10 2006-09-19 Cisco Technology, Inc. Load balancing approach for scaling secure sockets layer performance
FI20011871A (fi) * 2001-09-24 2003-03-25 Nokia Corp Multimediadatan prosessointi
US7372964B2 (en) * 2001-10-10 2008-05-13 Kabushiki Kaisha Toshiba Method and apparatus for recording information including secret information and method and apparatus for reproduction thereof
US7836124B2 (en) 2001-11-16 2010-11-16 Clearwire Legacy Llc RTP, UDP, IP header compression on the circuit switched type airlink access
US7215667B1 (en) 2001-11-30 2007-05-08 Corrent Corporation System and method for communicating IPSec tunnel packets with compressed inner headers
US7039192B1 (en) 2001-12-13 2006-05-02 Verizon Services Corp. Methods for data encryption using multiple layer steganography
FI113324B (fi) 2001-12-21 2004-03-31 Nokia Corp Parannettu laitejärjestely, päätelaite ja menetelmä audiosignaalin siirrossa pakettikytkentäisessä tiedonsiirtoverkossa
US7570766B2 (en) 2002-03-01 2009-08-04 Intel Corporation Transparently embedding non-compliant data in a data stream
JP2005521295A (ja) 2002-03-20 2005-07-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 暗号化鍵の隠蔽及び回復の方法及びシステム
DE10212656A1 (de) 2002-03-21 2003-10-02 Scm Microsystems Gmbh Selektive Verschlüsselung von Multimediadaten
JP3808394B2 (ja) * 2002-04-02 2006-08-09 松下電器産業株式会社 ストリームデータ処理装置、ストリームデータ処理方法、プログラム、及び、媒体
US7249264B2 (en) 2002-04-02 2007-07-24 International Business Machines Corporation Secure IP based streaming in a format independent manner
US7590844B1 (en) * 2002-04-26 2009-09-15 Mcafee, Inc. Decryption system and method for network analyzers and security programs
US20030221014A1 (en) * 2002-05-24 2003-11-27 David Kosiba Method for guaranteed delivery of multimedia content based on terminal capabilities
US7007163B2 (en) 2002-05-31 2006-02-28 Broadcom Corporation Methods and apparatus for accelerating secure session processing
WO2004006579A1 (en) 2002-07-09 2004-01-15 Kaleidescape, Inc. Content and key distribution system for digital content representing media streams
US7167560B2 (en) 2002-08-08 2007-01-23 Matsushita Electric Industrial Co., Ltd. Partial encryption of stream-formatted media
US20040064725A1 (en) * 2002-09-18 2004-04-01 Microsoft Corporation Method and system for detecting a communication problem in a computer network
CN1322432C (zh) 2002-10-25 2007-06-20 国际商业机器公司 用于媒体内容数据文件网络发布的安全系统及方法
US20040083177A1 (en) 2002-10-29 2004-04-29 General Instrument Corporation Method and apparatus for pre-encrypting VOD material with a changing cryptographic key
WO2004045213A2 (en) 2002-11-13 2004-05-27 General Instrument Corporation Efficient distribution of encrypted content for multiple content access systems
US20050235145A1 (en) * 2002-12-05 2005-10-20 Canon Kabushiki Kaisha Secure file format
US20040111610A1 (en) * 2002-12-05 2004-06-10 Canon Kabushiki Kaisha Secure file format
US7246356B1 (en) 2003-01-29 2007-07-17 Adobe Systems Incorporated Method and system for facilitating comunications between an interactive multimedia client and an interactive multimedia communication server
US7681227B2 (en) 2003-02-10 2010-03-16 Ipg Electronics 503 Limited Generation of encrypted video information
US7272658B1 (en) 2003-02-13 2007-09-18 Adobe Systems Incorporated Real-time priority-based media communication
AU2003900981A0 (en) 2003-03-04 2003-03-20 Grosvenor Leisure Incorporated Secure steganographic biometric identification
EP1618478A4 (en) 2003-03-13 2007-10-03 Drm Technologies L L C CONTINUOUSLY CONTINUOUS CONTAINER
US7007170B2 (en) 2003-03-18 2006-02-28 Widevine Technologies, Inc. System, method, and apparatus for securely providing content viewable on a secure device
US7406176B2 (en) 2003-04-01 2008-07-29 Microsoft Corporation Fully scalable encryption for scalable multimedia
WO2004095825A2 (en) 2003-04-21 2004-11-04 Rgb Networks, Inc. Time-multiplexed multi-program encryption system
US8000475B1 (en) 2003-04-28 2011-08-16 Bigband Networks Inc. System and method for encrypting and modulating video streams
CN100483992C (zh) 2003-05-06 2009-04-29 国际商业机器公司 数据流的加密、解密方法和装置
US7577750B2 (en) 2003-05-23 2009-08-18 Microsoft Corporation Systems and methods for peer-to-peer collaboration to enhance multimedia streaming
US20050050441A1 (en) 2003-07-17 2005-03-03 Kearney Steven J. Project monitoring method, system, and program product
GB0317571D0 (en) 2003-07-26 2003-08-27 Koninkl Philips Electronics Nv Content identification for broadcast media
US7299356B2 (en) 2003-09-02 2007-11-20 Authernative, Inc. Key conversion method for communication session encryption and authentication system
US7620179B2 (en) 2004-01-29 2009-11-17 Comcast Cable Holdings, Llc System and method for security processing media streams
US7839998B2 (en) 2004-02-09 2010-11-23 Sony Corporation Transcoding CableCARD
US20050188007A1 (en) 2004-02-24 2005-08-25 Rich Warner System and method for embedding data transmission in a web page
US20060184790A1 (en) 2004-03-26 2006-08-17 Microsoft Corporation Protecting elementary stream content
US7477749B2 (en) 2004-05-12 2009-01-13 Nokia Corporation Integrity protection of streamed content
WO2006023134A2 (en) * 2004-08-05 2006-03-02 Pgp Corporation Apparatus and method for facilitating encryption and decryption operations over an email server using an unsupported protocol
US7664967B2 (en) 2004-12-22 2010-02-16 Borland Software Corporation Development system with methodology providing information hiding in executable programs
US8533473B2 (en) 2005-03-04 2013-09-10 Oracle America, Inc. Method and apparatus for reducing bandwidth usage in secure transactions
US7769168B2 (en) 2005-03-31 2010-08-03 Microsoft Corporation Locally interative encryption generating compliant ciphertext for general syntax specifications
EP1727328A1 (en) 2005-05-25 2006-11-29 Alcatel Network node, module therefor and distribution method
EP1880525B1 (en) 2005-06-17 2009-06-03 Telefonaktiebolaget LM Ericsson (publ) Host identity protocol method and apparatus
US7840489B2 (en) 2005-07-01 2010-11-23 Sony Corporation Key sharing for DRM interoperability
US8781967B2 (en) 2005-07-07 2014-07-15 Verance Corporation Watermarking in an encrypted domain
US8050405B2 (en) * 2005-09-30 2011-11-01 Sony Ericsson Mobile Communications Ab Shared key encryption using long keypads
US20070083467A1 (en) 2005-10-10 2007-04-12 Apple Computer, Inc. Partial encryption techniques for media data
US20070220118A1 (en) * 2006-03-15 2007-09-20 Loyer Douglas E Systems, Methods, and Apparatus for Delivering Randomly Accessible Audio and Video Media
US7333921B2 (en) * 2006-05-09 2008-02-19 Stephen Taylor Scalable, concurrent, distributed sensor system and method
US7934000B2 (en) 2006-12-14 2011-04-26 Adobe Systems Incorporated Real-time communication using inter-process communications
US8243924B2 (en) * 2007-06-29 2012-08-14 Google Inc. Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
US7961878B2 (en) 2007-10-15 2011-06-14 Adobe Systems Incorporated Imparting cryptographic information in network communications
US20090238365A1 (en) 2008-03-20 2009-09-24 Kinamik Data Integrity, S.L. Method and system to provide fine granular integrity to digital data
US8009620B2 (en) 2008-05-09 2011-08-30 Nokia Siemens Networks Oy Variable header types for persistent resource allocation in a wireless network
US8051287B2 (en) 2008-10-15 2011-11-01 Adobe Systems Incorporated Imparting real-time priority-based network communications in an encrypted communication session

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070127458A1 (en) * 2005-12-06 2007-06-07 Micrel, Inc. Data communication method for detecting slipped bit errors in received data packets

Also Published As

Publication number Publication date
KR20100099109A (ko) 2010-09-10
US9055051B2 (en) 2015-06-09
CN101861721B (zh) 2014-07-30
US7961878B2 (en) 2011-06-14
WO2009052118A2 (en) 2009-04-23
DE112008002768T5 (de) 2010-10-14
WO2009052118A3 (en) 2009-07-02
US20140173278A1 (en) 2014-06-19
US8542825B2 (en) 2013-09-24
US20120233467A1 (en) 2012-09-13
US20090097651A1 (en) 2009-04-16
US20110302417A1 (en) 2011-12-08
US8284932B2 (en) 2012-10-09
CN101861721A (zh) 2010-10-13

Similar Documents

Publication Publication Date Title
KR101563906B1 (ko) 네트워크 통신에서 암호 정보 전달을 위한 방법, 시스템 및 컴퓨터-판독가능 기록매체
US10432591B2 (en) Establishing a communication event using secure signaling
US9485291B2 (en) Imparting real-time priority-based network communications in an encrypted communication session
KR101786132B1 (ko) 저-지연 피어 세션 구축
KR101714874B1 (ko) 효율적인 보안 인스턴트 메시징
US10193934B2 (en) Data compression for communications signalling
KR101486782B1 (ko) 무한 중첩된 해시 체인들에 의한 1회용 패스워드 인증
US10362069B2 (en) Protocol fallback
WO2022021992A1 (zh) 一种基于NB-IoT通信的数据传输方法、系统及介质
US20080114983A1 (en) Client credential based secure session authentication method and apparatus
WO2016053816A1 (en) Challenge-based authentication for resource access
CN104836784B (zh) 一种信息处理方法、客户端和服务器
CN105282168B (zh) 基于chap协议的数据交互方法及装置
EP1924047A1 (en) Client credential based secure session authentication method and apparatus
WO2009140410A1 (en) Many-to-one mapping of host identities
CN109996229B (zh) 基于dht网络的数据传输方法、装置、电子设备和存储介质
CN112689014A (zh) 一种双全工通信方法、装置、计算机设备和存储介质
CN113381855B (zh) 通信方法和系统
Nam et al. Password‐Only Authenticated Three‐Party Key Exchange Proven Secure against Insider Dictionary Attacks
CN116846660A (zh) 一种基于国密算法的报文传输方法及装置
CN116722996A (zh) 动态加密密钥切换方法、装置、视联网服务器及存储介质
WO2008065469A1 (en) Method, apparatus and computer program product for providing intelligent synchronization

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee