KR100747755B1 - 데이터 스트림을 가상 스마트 카드 클라이언트 시스템에암호화하는 절차 및 스트리밍 서버 - Google Patents

데이터 스트림을 가상 스마트 카드 클라이언트 시스템에암호화하는 절차 및 스트리밍 서버 Download PDF

Info

Publication number
KR100747755B1
KR100747755B1 KR1020040095845A KR20040095845A KR100747755B1 KR 100747755 B1 KR100747755 B1 KR 100747755B1 KR 1020040095845 A KR1020040095845 A KR 1020040095845A KR 20040095845 A KR20040095845 A KR 20040095845A KR 100747755 B1 KR100747755 B1 KR 100747755B1
Authority
KR
South Korea
Prior art keywords
data stream
token
client
smart card
server
Prior art date
Application number
KR1020040095845A
Other languages
English (en)
Other versions
KR20060029588A (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=34940483&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100747755(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 KR20060029588A publication Critical patent/KR20060029588A/ko
Application granted granted Critical
Publication of KR100747755B1 publication Critical patent/KR100747755B1/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/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • 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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26606Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing entitlement messages, e.g. Entitlement Control Message [ECM] or Entitlement Management Message [EMM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management

Abstract

단일 뷰잉(viewing)을 위한 데이터 스트림을 암호화하기 위하여, 그리고 상기 데이터 스트림의 저작권을 보호하기 위하여 상기 데이터 스트림을 암호화하는 절차가 개시된다. 구체적으로, 네트워크 전송에서 멀티미디어, 엔터테인먼트 및 통신을 보호하는 절차가 개시된다. 본 발명의 절차를 이루기 위하여 가상 스마트 카드를 포함하는 클라이언트 시스템과 대화하는 스트리밍 서버에 접속되어 동작가능한 스트리밍 서버 컴포넌트가 또한 개시된다.

Description

데이터 스트림을 가상 스마트 카드 클라이언트 시스템에 암호화하는 절차 및 스트리밍 서버{PROCESS AND STREAMING SERVER FOR ENCRYPTING A DATA STREAM TO A VIRTUAL SMART CARD CLIENT SYSTEM}
도 1은 암호화된 데이터 스트림을 수신 및 뷰잉하도록 인에이블되는 클라이언트 컴포넌트를 도시한다. 상기 클라이언트 컴포넌트는 토큰 저장 모듈(100), 스트림 제어 프로토콜 모듈(120) 및 해독 모듈(160)을 포함한다.
도 2는 적어도 하나의 암호화 모듈(220) 그리고, 키 절충 및 토큰 검증을 위한 클라이언트 제어 접속 모듈(200)을 구비하는 스트리밍 서버 컴포넌트를 도시한다.
도 3은 토큰 생성 모듈(330) 및 사용자 검증 모듈(310)을 구비하는 트랜잭션 서버 컴포넌트를 도시한다.
도 4는 뷰잉을 위하여 데이터 스트림을 해제(해독)하기 위하여 토큰에 대하여 필요성을 나타내는 다양한 클라이언트 시나리오를 도시한다.
도 5는 데이터 스트림의 뷰잉 및 수신을 허용하기 위하여 암호화 키들의 절충을 트리거(trigger)하는 클라이언트 토큰의 수신을 나타내는 스트리밍 서버에 대한 절차를 도시한다.
도 6은 클라이언트 어카운트 및 토큰 생성의 설정을 제공하는 트랜잭션 서버 절차를 도시한다.
도 7은 본 발명에 따라서, 데이터 스트림을 관리하기 위하여 트랜잭션 서버와 대화하도록 구성된 클라이언트 디바이스 내의 가상 스마트 카드(VSC)의 일 실시예를 도시한다.
본 발명은 단일 뷰잉을 위한 데이터 스트림을 보안하기 위하여 그리고 상기 데이터 스트림의 저작권을 보호하기 위하여 데이터 스트림을 암호화하는 절차를 제공한다. 보다 구체적으로, 본 발명은 네트워크 전송에서의 스트리밍 멀티미디어, 엔터테인먼트, 및 통신을 보호하는 절차를 제공한다. 또한 본 발명에 따른 절차를 이루는 스트리밍 서버 컴포넌트와 대화하는 클라이언트 시스템 내에 가상 스마트 카드를 제공한다.
본 출원은 35 U.S.C §120 및 37 C.F.R.§1.53(b) 하에서 2002년 5월 29일에 출원한 미국 특허 출원 번호 10/109,963, 발명의 명칭 "Process and Streaming Server for Encrypting a Data Stream"의 일부 계속 출원이며, 상기 미국 출원은 본 명세서에 참조로 인용되었다.
인터넷은 데이터가 서버로부터 클라이언트에 스트리밍될 수 있는 또 다른 통신으로 제공되었다. 클라이언트는 스트리밍 데이터, 바람직하게는 스트리밍 미디어를 사용자에게 디스플레이하는 역할을 한다. 서버는 데이터 스트림을 클라이언트에 전달하는 역할을 한다. 리얼 네트웍스(Real Networks)와 마이크로소프트(Microsoft) 솔루션들은 스트리밍 데이터의 전송을 제어하는 클라이언트와 서버와의 사이에 또 다른 접속을 따라서 UDP(무접속인터넷 프로토콜: connectionless Internet Protocol)을 거쳐서 데이터 스트림을 전달한다. 제어 접속 요소는 버퍼 오버런 (overrun)을 중지시키는 기능을 하여, 대역폭 레이턴시(latency)를 보상하기 위하여 스트림의 전송을 조정할 수 있다. 그러나 이러한 구성의 한 문제점은, 서버로부터 클라이언트에 스트리밍 데이터가 보안되지 못하고, 네트워크상의 누구에게도 이용가능하다는 점이다. 그러므로, 인터넷과 같은 광역망에 걸쳐서 도청을 보다 잘 방지할 필요성이 존재한다. 보다 구체적으로, 부적절한 도청 및 인터넷을 통한 스트리밍 데이터의 복제를 방지할 수 있는 기능을 제공할 필요성이 존재한다. 기존에, 저작권있는 데이터를 적절하게 보호하는 보호 메커니즘이 존재하지 않는다.
데이터가 서버에서 방출되어, 사용자에게 수신되거나 또는 사용자에게 수신되기 전에 도청된 경우, 그러한 데이터가 일단 네트워크를 통해 방출되면, 상기 데이터의 재전송을 제한할 방법이 존재하지 않는다. 그러한 데이터가 비록 저작권이 있는 경우라도, 스트리밍 데이터의 저작권 보호를 강요할 수단이 없다. 저작권 있는 엔티티와 그러한 컨텐츠를 스트리밍하면, 그러한 컨텐츠가 방출된 후에 그러한 컨텐츠로 무엇이 행해지는지에 대해 제어하는 것이 불가능해진다. 그러므로, 본 기술분야에서 네트워크를 통해 일단 스트리밍 컨텐츠에 대한 저작권을 보호하기 위한 수단을 제공할 필요성이 존재한다. 본 발명은 이러한 모든 필요성에 대처하도록 창안된 것이다.
기존에, 어떤 스트리밍 미디어 솔루션도 서버로부터 클라이언트에 전달되는 데이터를 실제로 암호화하지 않는다. 한 해결책은 퀵타임(Quicktime)과 같은 스트리밍 소프트웨어 패키지와 함께 SSL 보안 HTTP 소켓의 출현으로써 이와 같은 실제 기술로 이를 달성할 수 있다. 그러나, 퀵타임은 전 화면 뷰 옵션을 가지고 있지 않다. 그러므로, 본 기술분야에서 비디오 데이터를 스트리밍하는 개선된 방법을 개발할 필요성이 존재한다.
인터넷과 같은 광역망에 걸쳐서 도청을 보다 잘 방지할 필요성이 존재한다. 보다 구체적으로, 부적절한 도청 및 인터넷을 통한 스트리밍 데이터의 복제를 방지할 수 있는 기능을 제공할 필요성이 존재한다. 본 기술분야에서 네트워크상에 일단 스트리밍 컨텐츠에 대한 저작권을 보호하기 위한 수단을 제공할 필요성이 존재한다.
본 기술분야에서 비디오 데이터를 스트리밍하는 보다 좋은 방법을 개발할 필요성이 존재한다.
본 기술분야에서 비디오 데이터를 스트리밍하는 개선된 방법을 개발할 필요성이 존재한다.
본 발명은 이러한 모든 필요성에 대처하도록 창안된 것이다.
본 발명은 단지 단일 뷰잉을 인에이블하기 위하여 데이터 스트림의 보안을 위해 상기 데이터 스트림을 암호화하는 절차를 제공하는 바:
(a) 스트리밍 데이터 전송에 대한 클라이언트의 선택을 제공하는 단계와
(b) 스트리밍 서버에 접속을 개방하고, URI, 토큰 및 사용자 정보를 상기 스트리밍 서버에 전달하는 단계와, 여기서 상기 스트리밍 서버는 데이터 패킷을 클라이언트에 전달하기 위한 클라이언트 데이터 접속 모듈과; 상기 데이터 스트림을 암호화하기 위하여 상기 클라이언트와 절충하고, 상기 클라이언트 데이터 접속 모듈에 접속하여 동작가능한 암호화 키를 사용하기 위한 암호화 모듈과; 그리고 가득 찬(full) 클라이언트 버퍼를 유지하도록 데이터 스트림 흐름의 속도를 제어하는 흐름 제어 모듈을 포함하며;
(c) 트랜잭션 서버 상에서 각기 유효하거나(valid) 유효하지 않은 URI 및 토큰 조합을 승인하거나 승인하지 않는 단계와, 여기서 상기 트랜잭션 서버는 사용자를 상기 트랜잭션 서버 컴포넌트에 접속시키기 위한 클라이언트 대화 모듈과; 사용자 데이터베이스를 구비한 사용자 검증 모듈과, 여기서 상기 사용자 검증 모듈은 상기 클라이언트 대화 모듈에 링크되어 동작가능하고 유효한 사용자를 체크하며; 그리고 사용자 요청에 응답하여 신규 URI들 및 토큰들을 생성하도록 상기 사용자 검증 모듈에 링크되어 동작가능한 URI 및 토큰 생성 모듈을 포함하며, 그리고
(d) 유효한 URI 및 토큰 조합이 발견되는 경우, 상기 클라이언트에 연속적으로 암호화된 데이터 스트림을 제공하는 단계를 포함한다.
상기 스트리밍 서버는 저장 매체 상에 소스 푸티지(footage)로부터 데이터를 판독하도록 상기 흐름 제어 모듈에 접속하여 동작가능한 판독 버퍼 모듈을 또한 포 함할 수 있다. 그러나, 상기 데이터는 이러한 구조에 한정되지 않으며, 전자 상거래 트랜잭션 및, 멀티캐스트 서비스, 유니캐스트 서비스를 포함하는 쌍방향 텔레비젼 소스 등을 포함하는 다양한 다른 소스들로부터의 데이터를 포함할 수 있다. 상기 스트리밍 서버 컴포넌트는 서버 옵션들을 설정하도록 상기 파일 시스템 모듈 또는 흐름 제어 모듈에 접속되어 동작가능한 사용자 인터페이스 모듈을 또한 포함할 수 있다. 상기 스트리밍 서버는 상기 스트리밍 서버 컴포넌트에 대한 초기 접속을 생성하는 데이터 스트림 제어 프로토콜 모듈과, 유입되는 데이터 스트림을 해독하는 해독 모듈과, 유입되는 데이터 스트림을 버퍼하는 입력 버퍼 모듈과, 그리고 스트리밍 데이터의 디스플레이를 제어하는 디스플레이 제어 모듈을 또한 포함할 수 있다. 상기 클라이언트 서버 컴포넌트는 오디오 및 비디오 데이터를 디스플레이하는 디스플레이 모듈을 또한 포함할 수 있다.
연속적으로 암호화된 데이터 스트림을 제공하는 단계(d)는 상기 데이터 스트림을 일시 정지하거나, 중단하거나, 재시작하는 등으로 상기 데이터 스트림 및/또는 데이터 스트림 소스와 대화하는 것이 허용되도록, 상기 스트리밍 서버에 사용자 인터페이스 모듈을 또한 포함할 수 있다. 일 실시예에서, 상기 트랜잭션 서버는 암호화를 위한 ASP 스크립으로 구현된다.
본 발명은 단지 단일 뷰잉을 인에이블하기 위하여 데이터 스트림의 보안을 위해 데이터 스트림을 암호화하는 스트리밍 서버를 제공하는 바:
(a) 스트리밍 서버 컴포넌트와, 여기서 상기 스트리밍 서버 컴포넌트는 데이터 패킷을 클라이언트에 전달하기 위한 클라이언트 데이터 접속 모듈과; 상기 데이 터 스트림을 암호화하기 위하여 상기 클라이언트와 절충하고, 상기 클라이언트 데이터 접속 모듈에 접속하여 동작가능한 암호화 키를 사용하기 위한 암호화 모듈과; 그리고 실질적으로 가득 찬 클라이언트 버퍼를 유지하기 위하여 데이터 스트림 흐름의 속도를 제어하는 흐름 제어 모듈을 포함하며; 그리고
(b) 트랜잭션 서버 컴포넌트를 포함하고, 여기서 상기 트랜잭션 서버 컴포넌트는 사용자를 상기 트랜잭션 서버 컴포넌트에 접속시키기 위한 클라이언트 대화 모듈과; 사용자 데이터베이스를 구비한 사용자 검증 모듈과, 여기서 상기 사용자 검증 모듈은 상기 클라이언트 대화 모듈에 링크되어 동작가능하고 유효한 사용자를 체크하며; 그리고 사용자 요청에 응답하여 신규 URI들 및 토큰들을 생성하도록 상기 사용자 검증 모듈에 링크되어 동작가능한 URI 및 토큰 생성 모듈을 포함한다.
상기 스트리밍 서버 컴포넌트는 저장 매체 상에 소스 푸티지로부터 데이터를 판독하도록 상기 흐름 제어 모듈에 접속하여 동작가능한 판독 버퍼 모듈을 또한 포함할 수 있다. 그러나, 상기 데이터는 대화하는 소스, 쌍방향 텔레비젼 서비스와 같은 소스 등으로부터의 데이터를 또한 포함할 수 있다. 상기 스트리밍 서버 컴포넌트는 서버 옵션들을 설정하도록 상기 파일 시스템 모듈 또는 흐름 제어 모듈에 접속되어 동작가능한 사용자 인터페이스 모듈을 또한 포함할 수 있다. 상기 스트리밍 서버는, 상기 스트리밍 서버 컴포넌트에 대한 초기 접속을 생성하는 데이터 스트림 제어 프로토콜 모듈과, 유입되는 데이터 스트림을 해독하는 해독 모듈과, 유입되는 데이터 스트림을 버퍼하는 입력 버퍼 모듈과, 그리고 스트리밍 데이터의 디스플레이를 제어하는 디스플레이 제어 모듈을 포함하는 클라이언트 서버 컴포넌트를 또한 포함할 수 있다. 상기 클라이언트 서버 컴포넌트는 오디오 및 비디오 데이터를 디스플레이하는 디스플레이 모듈을 또한 포함할 수 있다.
본 발명은 인터넷과 같은 네트워크를 통하여, 멀티미디어 엔터테인먼트 및 통신과 같은 데이터 스트림을 암호화하는 절차를 제공한다. 상기 암호화된 데이터 스트림은 보안된, 뷰당 지불(pay-per-view) 등에서 저작권있는 자료들 및 멀티미디어 통신(예를 들어, 애널리스트 미팅, 쌍방향 텔레비젼, 영화등)을 허용할 것이다. 상기 데이터 스트림은 다음의 재생(play back)을 위하여 클라이언트 머신(machine) 상에 저장되거나 또는 재송신될 수 없다. 그러나, 클라이언트는 명시된 시간 프레임 내에서 원하는 대로 여러 번 데이터 스트림을 뷰할 수 있다.
암호화 프로토콜은, 예를 들어 192 비트 키의 암호화 알고리즘(예를 들어 트리플 DES), UDP 패킷 프로토콜, RTSP(rfc 2326) 패킷 전송 프로토콜, 및 RTP(rfc 1889) 패킷 전송 제어 트로토콜, 및 MPEGI 비디오 저장 압축을 제공한다. 그러나, 바람직한 암호화 프로토콜의 상술한 예는 시간에 따라 기술이 발전함에 따라서 변화될 것이다. 예를 들어, 일 실시예는 AES(Advanced Encryption Standard) 또는 유사한 암호화 알고리즘을 사용할 수 있다.
본 발명의 스트리밍 서버 및 트랜잭션 서버를 이용하는 본 발명의 일 장점은 클라이언트가 전체적으로 최적화된 장비를 실제로 소유할 필요가 없다는 점에 있다. 일 클라이언트는 일반적으로 임의의 시간에서 임의의 한 머신 상에서 런한다. 상기 클라이언트는 불규칙한 변동 없이 예를 들어 30fps 320×240 비디오 및 오디오를 재생하도록 구성될 수 있다. 이에 의하여, 약 250-300kpa, (적어도 수 메가바 이트의) 큰 데이터 버퍼, 및 350 MHz 펜티엄(Pentium) II 프로세서 또는 보다 크게 런하는 윈도우즈(Windows) 98 또는 윈도우즈 NT의 데이터 스트림을 인에이블한다. 그러나, 클라이언트 시스템은 그에 한정되지 않고, 실제로 다른 임의의 클라이언트 서버 구성도 사용될 수 있다. 예를 들어, 클라이언트 시스템은 셋톱박스(Set Top Box), 쌍방향 텔레비젼 성능 등을 포함할 수 있다.
예를 들어, 상기 서버는 전체적으로 최적화된, 멀티스레딩된(multi-threaded)(스레드 풀) 윈도우 NT 서비스일 수 있다. HTTP와 다르게, 이는 클라이언트와 함께 세션들이 개시될 수 있게 하고, 상기 서버는 모든 클라이언트에 대하여 상태를 유지할 필요가 있을 것이다.
정의
하기의 용어들은 본 장에 정의된 의미로 사용된다. 클라이언트 또는 클라이언트 시스템은 데이터 시스템이 전달되는 컴퓨터를 포함한다. 사용자는 상기 클라이언트 상에서 명령들을 실행하는 개인을 포함한다.
모듈(Module)은 명시된 기능 또는 기능들의 세트를 수행하도록 된 컴파일된 코드의 집합을 포함한다.
URI(범용 리소스 식별자:universal resource identifier)는 스트림의 서버 상에서의 위치에 관련된 식별자를 나타낸다.
토큰(Token)은 사용자가 명시된 데이터 스트림에 대하여 가지는 허용성을 포함하는 바이너리 정보를 포함한다.
인증(Authentication)은 성분, 디바이스, 개인 또는 다른 엔티티가 승인을 구하는 누구/무엇이라는 확신의 레벨을 제공한다. 임의의 경우에서, 인증은 종종 신원(identity)과 동의어로 다루어질 수 있다.
허가(Authorization)는 액세스 제어의 레벨을 제공하고, 엔티티가 어떤 동작들을 수행하도록 자격이 주어질 것인지의 질문에 답하는 것에 관한 것이다. 예를 들어, 허가는 상기 엔티티가 언제 그리고 얼마나 오랫동안 선택된 데이터에 액세스하는데 허용성을 가지는지에 관한 질문에 응하는 것이다.
CAS(Conditional Access System)는 전송된 프로그래밍을 암호화함으로써, 디지털 텔레비젼 서비스 등과 같은 것에 대한 액세스를 제어하는 것에 관한 것이다. 그러나, CAS는 단지 텔레비전에 관한 것은 아니다. CAS는 디지털 무선 방송, 디지털 데이터 방송, 비방송 정보, 쌍방향 서비스 등을 포함할 수 있다. 따라서, CAS는 본 장에 설명되는 바와 같이, 스트리밍 데이터 액세스를 포함할 수 있다.
신속 갱신(Rapid Renewal)은 키 발생, 신규 키들 및 신규 보안 메커니즘을 클라이언트 디바이스, 시스템 등에 제공하는 것을 포함한다. 일 실시예에서, 동적 신속 갱신은 해커들과 같은 다른 것들에 대한 예측가능하지 않은 환경 및 타겟 생성에 랜덤하게 기초하여 갱신된 보안 메커니즘을 제공한다.
DRM(Digital Rights Management)은 미디어의 보호에 대한 파일 기반 대안적 메커니즘을 포함한다. DRM은 예를 들어, 스트리밍 데이터와 같은 컨텐츠 자체의 보호를 포함한다. 일 실시예에서, 라이센스 파일 등이 발행되어 컨텐츠와 함께 또는 사용자가 컨텐츠를 플레이하려고 할 경우 상기 컨텐츠를 플레이하도록 사용자를 인에이블한다. 스트리밍 데이터와 같은 컨텐츠는 암호화되고, 상기 암호화 특성들을 상기 컨텐츠가 네트워크, 서버와 클라이언트 사이에서 이동하는 동안 유지될 수 있다. 본 장에서 설명된 DRM는 가상 스마트 카드를 사용하여 상기 컨텐츠의 관리 및 보호를 인에이블할 수 있다.
ECM(자격 제어 메세지:Entitlement Control Message)은 토큰, 액세스 제한, 컨텐츠/암호화 키 등과 같은 자격에 관련된 암호화된 데이터를 포함한다.
EMM(자격 관리 메시지:Entitlement Management Message)은 토큰, 컨텐츠/암호화 키 등과 같은 자격과 같은 암호화된 데이터를 포함한다.
침입 탐지(intrusion detection)는 보안책(security policy) 및 다른 보호들을 위반하는 상황들을 탐지하는 메커니즘을 포함한다.
부인 방지(non-repudiation)는 사용자, 소비자, 클라이언트 등이 그들의 디지털 서명의 유효성을 부인하지 못하도록 하는 메커니즘을 포함한다. 일 실시예는 두 개의 분리된 키들을 사용한다. 한 키는 위탁될 수 있고, 비 서명 동작들에 대하여 사용될 수 있다. 두 번째 키는 복구 메커니즘을 구비하지 않을 수 있고, 서명화(signing)에 이용될 수 있다. 이러한 실시예에서, 사용자는 서명 키의 제어하에만 있을 수 있고, 부인 방지는 다만 소유된, 여전히 검증가능한 보안의 사용에 의하여 달성될 수 있다. 서명 유효성이 중요한 경우에, 개별적인 키가 사용되고, 상기 키는 키 홀더의 다만 소유된 여전히 검증가능한 보안일 수 있다. 다른 실시예에서, 상기 키 홀더는 충분히 허가된 엔티티에 근거하여 상기 보안 키를 복제하는데 서명의 유효성을 거절할 수 있다.
본 발명의 절차 및 스트리밍 서버의 일 실시예에서, 비디오는 암호화되지 않은 채 서버 머신에 저장될 수 있고, 상기 파일은 단지 서버 소프트웨어를 통하여 검색가능할 것이다. 본 발명의 서버는 (1) 일련의 암호화 키들을 절충하고, 그리고 (2) "이동 중인(on the fly)" 데이터 스트림을 암호화하여, 의도된 머신 외에 어떤 컴퓨터도 사용하지 않으면서 네트워크를 통하여 실제 이동하는 데이터 패킷들을 생성하는 역할을 할 것이다. 암호화의 한 표준은 168 비트 키를 가지는 TRIPLE-DES 이다. 상기 서버는 데이터의 전송에 UDP를 사용할 것이다. 이러한 프로토콜은 다른 TCP 프로토콜(예를 들어 http)들보다 충분히 적은 네트워크 리소스들을 사용한다.
클라이언트 소프트웨어는 데이터 스트림을 해독하고 재생하는 역할을 할 것이다. 사용되는 암호화 키들은 데이터 스트림이 액세스될 때마다 다를 것이다. 클라이언트가 실행되는 때마다, 상이한 암호화 키가 생성되어 상기 클라이언트는 이전의 데이터 스트림이 디스크에 저장되지 않은 경우 이를 재생할 수 없다.
예시적인 환경
도 1에서, 암호화된 데이터 스트림을 수신하고 뷰하고 및/또는 다르게 액세스하도록 인에이블되는 본 발명의 절차 및 스트리밍 서버의 클라이언트 구성 성분의 일 실시예의 개요를 도시한다. 클라이언트는 현재 모든 데이터 스트림들 및 대응하는 토큰들의 리스트를 보유한다. 이러한 정보는 토큰 저장 모듈(100) 상에 저장된다. 이러한 리스트는 3개의 아이템들을 포함하는 바: (1) URI, (2) 상기 URI에 대한 토큰, 및 (3) 서버에 의하여 주어진 만기일(expiration date)이다. 일 실시예에서, 클라이언트가 상기 토큰이 유효한지 아닌지를 결정하는 임의의 방법을 가지는 것이 바람직하지 않을 것이다. 이러한 이유로, 그리고 만료된 토큰들을 제거할 필요성 때문에, 서버는 만기 일을 리턴한다. 이러한 정보는 상기 클라이언트에 의하여 사용되어 정보를 디스플레이한다. 상기 만기 일은 그 자체로 상기 서버에 되돌려보내지지 않고, 상기 서버는 통과된 토큰이 유효한지를 검증한다. 토큰 저장 모듈로서 사용될 수 있는 모듈 디바이스의 예는, RAM(Random Access Memory), 보조 기억장치(하드 디스크), 및 토큰 저장소 인벤토리 및 만료일의 추적을 제공하는 소프트웨어 내장형을 포함한다.
클라이언트는 사용자 인터페이스(110)와 통신한다. 클라이언트는 적절한 사용자 경험을 주는 표준 사용자 인터페이스를 가질 수 있다. 상기 인터페이스는 현재 유효한 스트림을 조사하고, 뷰될 수 있는 다른 스트림들을 검색하기 위하여 서버에 접속할 수 있는 기능을 구비할 것이다. 상기 클라이언트 사용자 인터페이스(110)는 로컬 디스플레이 제어 모듈(130) 및 스트림 제어 프로토콜 모듈(120)과 통신한다. 상기 클라이언트는 서버와의 통신 세션들을 설정할 수 있을 뿐만 아니라, 일단 상기 스트림이 뷰된 경우 상기 서버로부터 데이터 흐름을 제어할 수 있다. 상기 스트림 제어 프로토콜 모듈(120)은 상기 서버에 접속하여, 요청된 URI, 토큰 및 사용자 정보를 전달함으로써 초기 접속을 생성한다. 상기 스트림 제어 프로토콜 모듈(120)은 일련의 암호화 키들을 절충하고 상기 서버로부터의 데이터 흐름을 제어한다. 일련의 암호화 키들을 절충하고 상기 서버로부터의 데이터 흐름을 제어하는데 사용될 수 있는, 클라이언트 구성 성분 내의 스트림 제어 프로토콜 모듈 디바이 스(120)의 예들은 RAM, 및 네트워크 인터페이스 카드 또는 모뎀을 포함한다. 상기 소프트웨어는 네트워크 특성들, 전체 퍼센트, 남은 퍼센트 등을 포함하는 상기 버퍼에 관련된 정보뿐만 아니라 다른 클라이언트 특성들을 상기 스트리밍 서버에 전달함으로써 수신되는 데이터의 속도를 모니터링할 수 있다. 상기 디스플레이 제어 모듈(130)은 상기 데이터의 디스플레이를 제어하고, 상기 데이터 스트림을 일시정지, 중단 또는 재시작하는 능력을 가진다. 상기 클라이언트 구성 성분 내에서 사용되기에 적합한 디스플레이 제어 모듈의 예는 RAM 및 비디오 카드를 포함한다. 이러한 모듈에서 런되는 소프트웨어는 상기 서버로부터 전달되는 데이터를 상기 사용자에게 디스플레이될 수 있는 포맷으로 변환할 수 있다.
상기 디스플레이 모듈(140)은 비디오 및 오디오 데이터를 디스플레이한다. 입력 버퍼 모듈(150)은 스트림 버퍼를 포함하는 모듈이다. 상기 스트림 버퍼는 상기 디스플레이 제어 모듈이 상기 해독 모듈로부터 판독하고 그에 기입하는 해독된 데이터의 순환성 버퍼를 포함한다. 해독된 데이터의 순환성 버퍼를 포함하는데 사용될 수 있는 스트림 버퍼 모듈 디바이스의 예는, 예를 들어 RAM을 포함한다. 패킷들이 상기 서버로부터 수신되면, 상기 데이터가 상기 입력 버퍼에 입력되기 전에, 전송 패키 내의 데이터는 상기 스트림 제어 프로토콜 모듈(120)에 의하여 절충되는 키들을 사용하여 해독 모듈(160)에 의하여 해독된다.
해독 모듈(160)은 상업적인 것을 포함하여 가상적인 임의의 해독 메커니즘들을 사용하여 구현된다. 예를 들어, SSL, DES 및 RSA 모듈은 해독 모듈로서 유효할 수 있고 사용하기에 적합할 수 있다. 상기 클라이언트 구성 성분의 마지막은 데이 터 스트림 수신 모듈(170)이다. 이러한 모듈은 상기 서버에 의하여 보내진 데이터 패킷들의 수신을 다룬다.
상기 클라이언트 구성 성분 내에서 데이터 스트림 수신 모듈로서 사용될 수 있는 적절한 모듈 디바이스는 예를 들어 RAM을 포함한다. 이러한 모듈에 포함된 소프트웨어는 상기 클라이언트에 의하여 수신되는 데이터를, 후속하는 모듈에 의하여 사용될 수 있는 포맷으로 저장할 수 있다.
도 2에서, 클라이언트 제어 접속 모듈(200)이 상기 클라이언트와 상기 서버 사이에 제어 통신들을 다룰 것이다. 상기 클라이언트 및 서버는 일련의 암호화 키들을 절충할 것이다. 상기 클라이언트는 사용자 정보, URL 및 토큰을 상기 클라이언트 제어 접속 모듈(200)을 통하여 상기 스트리밍 서버에 전달할 것이다. 이러한 모듈(200)로부터, 상기 클라이언트에 스트리밍되는 데이터가 제어될 수 있다(즉, 일시정지되거나, 중단되거나, 또는 재시작된다). 상기 스트리밍 서버 내에서 클라이언트 제어 접속 모듈로서 사용하기에 적합한 하드웨어 디바이스는 RAM을 포함한다. 그러한 하드웨어 성분은 하드웨어 불특정(non-specific) 동작들의 실행을 허용한다. 그러한 소프트웨어는 상기 클라이언트 제어 접속 모듈에 내장되거나 또는 업로드된다. 상기 소프트웨어는 상기 클라이언트 및 서버가 현재 네트워크 조건들과 통신하고, 따라서 상기 데이터 스트림을 변경하는 절차를 생성하는 기능을 한다.
상기 클라이언트 데이터 접속 모듈(210)은 서버 오버헤드(overhead)를 감소시키기 위하여 비접속형 프로토콜을 사용하여 데이터 패킷들을 상기 클라이언트에 전달한다. 상기 스트리밍 서버 내에서 클라이언트 데이터 접속 모듈로서 사용하기 에 적합한 하드웨어 디바이스는 RAM 및 NIC(네트워크 인터페이스 카드 : Network Interface Card)를 포함한다. 그러한 소프트웨어는 상기 클라이언트 데이터 접속 모듈에 내장되거나 업로드된다. 상기 소프트웨어는 암호화된 데이터가 네트워크 패킷들을 통하여 상기 클라이언트 머신으로 전달되는 절차를 생성하는 기능을 한다.
상기 암호화 모듈(220)은 데이터 스트림이 상기 클라이언트에 전달될 때, 상기 데이터 스트림을 암호화하기 위하여 상기 클라이언트/서버에 의하여 절충된 키들을 사용한다. 이는 "이동 중인" 암호화를 허용하고, 상기 암호화 키들이 모든 클라이언트/서버 접속에 대해 유일(unique)할 것이다. 이는 소스 푸티지가 적합한 상기 서버에 암호화되지 않은 채 저장되는 것을 허용한다. 상기 스트리밍 서버 내에서 암호화 모듈로서 사용하기에 적합한 하드웨어 디바이스는 RAM 및 사유(proprietary) 하드웨어 암호화 디바이스들을 포함한다. 그러한 하드웨어 성분들은 데이터의 실제 암호화를 수행하는 기능의 소프트웨어를 포함한다. 그러한 소프트웨어는 상기 암호화 모듈에 내장되거나 업로드된다. 상기 소프트웨어는 디바이스에 전달되는 데이터가 상기 클라이언트와 본래 절충된 키들로 암호화되어서, 출력된 데이터는 상기 클라이언트에 의하여 해독된 후에만 판독될 수 있는 포맷이 되는 절차를 생성한다.
상기 흐름 제어 모듈(230)은 데이터 스트림이 클라이언트가 상기 데이터를 사용하는 속도로 상기 서버에 의하여 전달되는 것을 보장한다. 클라이언트에서 상기 버퍼는 계속하여 가득 찰 필요성이 있지만, 스트리밍 데이터는 또한 재기입 되어서는 안된다. 따라서, 상기 흐름 제어 모듈은 상기 암호화 모듈(220)과 통신하고, 그리고 상기 클라이언트 제어 접속 모듈(200)로부터 획득된 피드백을 사용한다. 상기 스트리밍 서버 내에서 흐름 제어 모듈로서 사용하기에 적합한 하드웨어 디바이스는 RAM을 포함한다. 그러한 소프트웨어는 상기 흐름 제어 모듈에 내장되거나 또는 업로드된다. 상기 소프트웨어는 상기 서버로부터 상기 클라이언트로의 데이터의 흐름이 조정되는 절차를 생성하는 기능을 한다.
상기 파일 시스템 판독 버퍼(240)는 서버 성능에 대한 것이다. 파일로부터 판독되는 적은 양의 데이터는 상기 파일 시스템 상에 계속 개방된 파일을 가지는 대신에 메모리 내에 저장될 수 있다. 상기 파일 시스템 모듈(250)은 저장 매체 또는 다른 곳에서의 소스 푸티지로부터 데이터를 판독하는 역할을 한다. 상기 파일 시스템 모듈은 상기 클라이언트 제어 접속 모듈(200)과 통신하여 URI를 개방하고, 상기 사용자 인터페이스 모듈(260)과 통신하여 경로 구성들을 파일(file)한다. 상기 스트리밍 서버 내에서 파일 시스템 모듈로서 사용하기에 적합한 하드웨어 디바이스는 RAM을 포함한다. 그러한 하드웨어 성분은 상기 데이터 스트림에 액세스를 허용하는 기능을 하는 소프트웨어를 포함한다. 그러한 소프트웨어는 상기 파일 시스템 모듈에 내장되거나 업로드된다. 상기 소프트웨어는 보조 저장 디바이스 상에 저장된 데이터가 RAM안으로 로드되어 상기 암호화 모듈에 전달될 수 있는 절차를 생성한다.
상기 스트리밍 서버는 어떤 네트워크 포트로 설정될 것인지와 소스 푸티지의 위치와 같은 서버 옵션들을 설정하는 단순한 사용자 인터페이스 모듈(260)을 또한 제공한다. 상기 스트리밍 서버 내에서 파일 시스템 모듈로서 사용하기에 적합한 하 드웨어 디바이스는 RAM을 포함한다. 그러한 소프트웨어는 상기 파일 시스템 모듈에 내장되거나 업로드된다. 상기 소프트웨어 성분은 상기 서버 소프트웨어의 사용자가 상기 파일 시스템 모듈에게 상기 파일 시스템들을 찾기 위하여 어디로 진행해야할 지를 알려줄 수 있다.
도 3에서, 트랜잭션 서버는 4개의 모듈 성분을 포함한다. 비디오 스트림에 액세스하기 위하여, 클라이언트는 먼저 트랜잭션 토큰을 획득해야한다. 상기 트랜잭션 토큰은 뷰당 지불하는 것에 근거할 수 있고, 여기서 상기 토큰은 특정한 시간 주기 동안 유효할 것이다. 토큰이 유효한 시간은 사용자가 무엇을 선택했는지와 선택된 스트림에 대해 어떤 옵션들이 유효한지에 의존한다. 상기 사용자는 클라이언트 모듈(300)을 통하여, 사용자 정보 및 URI를 가지고 상기 트랜잭션 서버에 접촉한다. 상기 트랜잭션 서버는 상기 토큰에 대하여 어떤 시간 옵션들이 유효한지를 결정하여, 그것을 사용자에게 제공한다. 상기 사용자가 상기 요구되는 시간 제한을 선택한 후에, 상기 요청이 상기 사용자 검증 모듈(310)로 통과한다. 상기 트랜잭션 서버 내에서 클라이언트 대화 모듈로서 사용하기에 적합한 하드웨어 디바이스는 RAM을 포함한다. 그러한 소프트웨어는 상기 클라이언트 대화 모듈 내에 내장되거나 업로드된다. 상기 소프트웨어는 상기 사용자 정보가 상기 데이터베이스에 대하여 검증되고, 유효한 토큰이 부분적으로 상기 사용자에 의해 요청된 옵션들에 근거하여 생성되는 절차를 생성하는 기능을 한다.
상기 사용자 검증 모듈(310)은, 사용자가 유효한지 아닌지를 알기 위하여 사용자 데이터베이스에 대하여 통과된 사용자 정보를 체크한다. 상기 사용자 데이터 베이스는 사용자 검증 모듈의 메모리에 존재한다. 상기 트랜잭션 서버 내에서 사용자 검증 모듈로서 사용하기에 적합한 하드웨어 디바이스는 RAM을 포함한다. 그러한 소프트웨어는 상기 사용자 검증 모듈 내에 내장되거나 업로드된다. 상기 소프트웨어는 통과된 토큰이 검증되는 절차를 생성하는 기능을 한다. 상기 URI 생성 모듈(320) 및 상기 토큰 생성 모듈(330)은 함께 관련되고 상기 토큰은 부분적으로 상기 요청된 URI에 근거한다. 이는 상기 토큰이 상기 요청 URI에 유일하고 임의의 다른 스트림에 대해서는 사용될 수 없다는 것을 의미한다. 이러한 정보는 그 후 모듈(300)을 통하여 상기 클라이언트도 다시 전달된다. 상기 트랜잭션 서버 내에 각기 위치되는 URI 생성 모듈 및 토큰 생성 모듈로서 사용하기에 적합한 하드웨어 디바이스는 RAM을 포함한다. 그러한 하드웨어 성분들은 RAM 내에서 기능하는 소프트웨어를 포함할 수 있다. 그러한 소프트웨어는 상기 URI 생성 모듈 또는 토큰 생성 모듈 내에 내장되거나 업로드된다. 상기 소프트웨어는 사용자가 선택한 미디어 스트림에 유효한 URI가 생성되는 절차를 생성하는 기능을 한다.
예시적인 동작들
도 4에서, 클라이언트(400)가 실행되어, 상기 클라이언트에 URI 및 토큰(410)이 로드된다. 만일 예이면, 상기 클라이언트는 상기 클라이언트의 아이콘을 더블 클릭하고, 아니오이면 미디어 서버에 의하여 론치된다. 상기 미디어 서버가 상기 클라이언트에 론치하면, 상기 클라이언트의 명령 라인 파라미터에 요청된 URI 및 토큰이 존재할 것이다. 디스플레이 윈도우(420)는 뷰하기에 사용가능하거나 아 닌면 대화하기에 사용가능한 모든 구매된(및 현재의) 데이터 스트림들을 리스트한다. 상기 사용자는 상기 스트림의 타이틀을 더블 클릭함으로써 액세스할 데이터 스트림을 선택할 수 있다. 스크린은 상기 사용자(430)로부터 입력을 대기하고, 상기 사용자는 데이터 스트림 또는 다른 하우스키핑(housekeeping) 옵션(440)을 선택한다. 하우스키핑 옵션이 선택되면, 사용자 요청(450)을 실행하고, 모듈(420)로 비디오 스트림을 디스플레이하는 것으로 되돌아간다.
상기 사용자가 데이터 스트림을 론치한 경우(단계(410)로부터 '네'를 선택시), URI 및 토큰이 구매된 스트림 리스트에 저장되어, 나중 시간에서 뷰될 수 있게된다(460). 상기 스트리밍 서버로의 접속이 개방되어, 상기 URI, 토큰 및 사용자 정보가 상기 스트리밍 서버에 전달된다(470). 상기 스트리밍 서버는 유효한(또는 유효하지 않은) URI 및 토큰 조합(480)을 검증한다. 상기 토큰이 유효하지 않거나 만료된 경우, 상기 서버는 상기 접속을 차단하고 상기 클라이언트는 되돌아가고 뷰하기에 사용가능한 모든 데이터 스트림을 디스플레이한다. 상기 서버가 유효한 URI 및 토큰 조합을 검증한 경우, 상기 클라이언트는 상기 스트리밍 서버로부터 데이터를 수신하기 시작하고, 그 데이터를 디스플레이할 것이다(490).
상기 데이터 스트림이 완료되거나 상기 사용자가 일시정지, 중단, 플레이 또는 재시작과 같은 유효한 스트림 옵션들 중 일부를 선택한 경우(500), 상기 스트림은 정지하고 추가적인 사용자 입력을 대기할 것이다. 상기 스트림이 플레이를 완료한 경우(510), 상기 절차는 유효한 스트림의 리스트로 돌아가거나(420), 사용자 요청을 처리함(520)으로써 상기 데이터 스트림의 디스플레이(490)를 계속하고, 그 후 상기 스트림을 디스플레이하려 되돌아간다(490).
도 5에서, 상기 스트리밍 서버에 의하여 런되는 절차에서, 상기 클라이언트 제어 모듈(200, 600)에 제 1 접속이 존재하여 클라이언트로 하여금 상기 스트리밍 서버와 접속을 설정하도록 허용한다. 상기 클라이언트는 사용자로부터(470) URI, 토큰 및 사용자 정보를 제공한다(610). 상기 스트리밍 서버는 상기 토큰 및 URI가 유효한지를 결정한다(620). 상기 토큰이 유효하지 않거나 만료된 경우, 상기 클라이언트로의 접속은 적절한 에러 메세지와 함께 차단된다(630). 토큰이 유효한 경우, 일련의 유일한 암호화 키들이 상기 클라이언트와 절충될 것이다(640). URI가 재개방되고 상기 스트리밍 데이터가 버퍼 안에서 판독될 것이다(650).
상기 스트리밍 서버가 상기 클라이언트 목적에 사용되는 것과 실질적으로 같은 속도에 있는 것을 보장하도록 설정된 흐름 제어 접속을 가지기 위하여, 상기 클라이언트 흐름 제어 모듈(230)이 클라이언트 및 스트리밍 서버를 제공한다. 이러한 어드레스 밴드폭이 발행될 뿐만 아니라 상기 클라이언트 플레이 버퍼가 재기입되지 않도록 보장한다. 그러므로, 상기 클라이언트 흐름 제어 메커니즘(660)은 상기 클라이언트 흐름 제어 모듈(230)을 사용하여 상기 클라이언트(710)내의 데이터 버퍼로부터 피드백을 획득하고 상기 클라이언트 버퍼가 가능한 한 가득차게 유지되도록 상기 데이터 스트림의 속도를 제어한다. 상기 클라이언트가 현재 더이상의 데이터를 수용할 수 없는 경우, 흐름 제어 모듈로 리턴되어 상기 스트리밍 데이터의 속도를 줄이거나 또는 일시정지할 것을 지시한다(670). 상기 클라이언트가 더 많은 데이터를 수용할 수 있는 경우(680), 상기 클라이언트 흐름 제어는 먼저 스트리밍될 데이터가 더 존재하는지를 결정할 것이다(680). 스트리밍될 더이상의 데이터가 존재하지 않는 경우, 데이터 스트림은 완료될 것이고, 상기 클라이언트 접속은 차단될 것이다(690). 전송될 데이터가 더 존재하는 경우, 전송 버퍼 내에 대기중인 데이터는 암호화되고(700), 암호화된 데이터는 상기 클라이언트로 전송될 것이다(710).
도 6에서, 트랜잭션 서버에서, 상기 클라이언트는 먼저 예를 들어, 웹 페이지를 통하여 상기 트랜잭션 서버에 접속한다(800). 일 실시예에서, 상기 트랜잭션 서버는 ASP 스크립으로 구현될 것이다. 그러나, 본 발명은 그에 한정되지 않고, 실제로 본 발명의 범위 또는 정신에서 벗어남 없이 다른 임의의 메커니즘도 사용될 수 있다. 상기 클라이언트는 ASP 명령-라인 아규먼트(argument)를 통해서 URI 및 사용자 정보를 전달하고(810), 상기 트랜잭션 서버 사용자 검증 모듈(310)은 유효한 토큰들의 시간 제한을 결정하고, 그것을 선택에 대한 사용자에게 디스플레이한다. 상기 트랜잭션 서버는 상기 사용자 검증 모듈(310) 내의 데이터베이스에서 사용자 정보를 검색할 것이다(820). 사용자 정보를 검색하는 예들은 사용자가 어카운트를 가지고 있는지 여부(예를 들어, 상기 트랜잭션 서버에 따른 어카운트가 존재하는지 여부)이다(830). 상기 사용자가 어카운트를 가지고 있지 않다면(840), 트랜잭션이 신규 어카운트 페이지를 생성하기 위하여 개방되고, 상기 사용자로부터 정보를 획득한다(840). 또한, 상기 트랜잭션 서버 사용자 검증 모듈(310)은 요청된 URI가 비용이 무료인지를 결정한다(850). 상기 URI가 비용이 든다면(860), 상기 트랜잭션 서버 사용자 검증 모듈(310)은 상기 사용자 데이터베이스에 존재하는 신용 카드를 기입할 것이다. 이러한 절차는 상기 트랜잭션 서버의 URI 생성 모듈(320)에 서 URI를 생성할 것이다.
일단 URI가 제공되고 그에 대해 지불되거나 또는 무료로 제공되면, 상기 토큰 생성 모듈(330)에서 토큰이 생성될 것이다(870). 이제 생성된 토큰이 상기 URI에 링크되어 시간 제한이 선택될 것이다(880). 마지막으로, 뷰어가 상기 클라이언트 머신 상에서 시작될 것이고, 상기 URI 및 생성된 토큰을 따라서 상기 클라이언트에 되돌려진다.
예시적인 가상 스마트 카드 내의 클라이언트 컴포넌트들
도 1을 참조하여 상술한 클라이언트 구성 성분들이 다양한 클라이언트 시스템에서 사용될 수 있다. 그러한 클라이언트 시스템은 일반적으로 개인 컴퓨터, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능 가전 제품, 셋탑 박스, 쌍방향 텔레비젼 디바이스, POD(수신제한 카드:Point of Deployment) 인터페이스 및 모듈, 네트워크 PC 등과 같은 유선 통신 매체를 사용하여 접속되는 디바이스를 포함할 수 있다. 그러한 디바이스들은 또한 일반적으로 이동 전화, 스마트 폰, 호출기, 무전기, 무선 주파수(RF: radio frequency) 디바이스, 적외선(IR) 디바이스, CB, 전술한 디바이스들 중 하나 이상을 조합한 통합 디바이스, 또는 가상의 임의의 모바일 디바이스 등과 같은 무선 통신 매체를 사용하여 접속되는 디바이스를 포함할 수 있다. 유사하게, 도 1의 클라이언트 컴포넌트들을 사용할 수 있는 클라이언트 시스템은 PDA, POCKET PC, 착용 컴퓨터, 및 유선 및/또는 무선 통신 매체를 통하여 통신가능하도록 구비된 임의의 디바이스와 같은 유무선 통신 매체를 사용하 여 접속기 가능한 임의의 디바이스일 수 있다.
그러한 클라이언트 시스템은 또한 영화, 오디오 클립 등을 즐기는 것을 포함하는 다양한 이유에 의하여 스트리밍 데이터를 사용하도록 구성될 수 있다. 일 실시예에서, 상기 스트리밍 데이터는 쌍방향 텔레비젼 서비스에 관련된 데이터의 적어도 일부를 포함할 수 있다. 상기 스트리밍 데이터는 또한 뱅킹 동작들, 전자상거래 동작들 등에 관련될 수도 있다.
또한, 도 1의 클라이언트 컴포넌트들은 다양한 구성으로 배치될 수 있고, 다양한 아키텍처에 관련될 수 있다. 예를 들어, 일 실시예에서, 도 1의 클라이언트 컴포넌트는 가상 스마트 카드(VSC)를 구비한 클라이언트 시스템 내에 배치될 수 있다. 또한, 상기 클라이언트 컴포넌트들은 상기 VSC를 사용하는 쌍방향 텔레비젼 환경에 관련되어 사용될 수 있다.
도 7은 도 2 내지 도 6에 관련하여 상술한 것과 실질적으로 같은 방식으로 트랜잭션 서버와 대화 가능하도록 구성된 클라이언트 디바이스 내의 상기 VSC에 대한 배치의 일 실시예를 도시한다. 도 7의 클라이언트 시스템(7000)은 도시된 것보다 많은 컴포넌트들을 포함할 수 있다. 그러나 도시된 구성 성분들은 본 발명을 구현하는 예시적인 실시예를 개시하는데 충분하며, 배치 그리고 상기 구성 성분들의 유형들은 본 발명의 정신 또는 범위에서 벗어남 없이 변경될 수 있다.
설명된 VSC의 사용은 프라이버시(기밀성), 보전성(integrity), 시의성(timeliness), 액세스 제어(허가: authorization) 및 인증(신원)뿐만 아니라 빠른 갱신, 상호링크 복제 방지 또는 디지털 권리 관리, 보다 큰 능력, 유연성 그리고 디바이스를 증가된 보안성을 제공하도록 바인딩하는 능력을 인에이블하게 한다.
도시된 바와 같이, 클라이언트 시스템(7000)은 클라이언트 디바이스(7002)를 포함한다. 클라이언트 디바이스(7002)는 VSC(7004), 변형 검출(tamper detection)(7006), 데이터 스트림 수신 모듈(7170), 디스플레이 모듈(7140), 로컬 디스플레이 제어 모듈(7130), 및 사용자 인터페이스(7110)를 포함한다. VSC(7004)는 통신 및 흐름 제어 모듈(7010), 보안 메세지 관리자(7012), 변형 보호(tamper protection)(7014), 클라이언트 입력 버퍼(7150), 토큰 관리자(7016), 암호화 모듈(7060), 토큰 저장 모듈(7100), 키 발생기(7018), 및 바인딩 모듈(7020)을 포함한다.
사용자 인터페이스(7110)는 도 1의 사용자 인터페이스(110)와 실질적으로 유사하게 동작한다. 사용자 인터페이스(7110)는 마우스, 키보드, 마이크로폰, 터치스크린, 원격 제어 디바이스 등을 포함하는 다양한 클라이언트 입력 디바이스들을 포함할 수 있는데, 이는 정보를 제공할 뿐만 아니라, 데이터 스트림을 선택할 능력도 제공하도록 구성된다.
로컬 디스플레이 제어 모듈(7130)은 도 1의 로컬 디스플레이 제어 모듈(130)과 실질적으로 유사하게 동작한다. 즉, 로컬 디스플레이 제어 모듈(7130)은 실제로 데이터의 디스플레이 제어 그리고, 데이터를 일시정지, 중단, 시작, 및 재시작하는 성능을 인에이블하는 임의의 디바이스, 소프트웨어, 소프트웨어 및 하드웨어의 조합 등일 수 있다.
디스플레이 모듈(7140)은 도 1의 디스플레이 모듈(140)과 실질적으로 유사하 게 동작한다. 즉, 디스플레이 모듈(7140)은 비디오 데이터, 오디오 데이터 등을 포함하는 데이터 스트림의 존재를 사용자에게 인에이블한다. 예를 들어, 디스플레이 모듈(7140)은 쌍방향 텔레비젼 데이터 스트림의 존재를 인에이블할 수 있다.
데이터 스트림 수신 모듈(7170)은 도 1의 데이터 스트림 수신 모듈(170)과 실질적으로 유사하게 동작한다. 즉, 데이터 스트림 수신 모듈(7170)은 상기 서버에 의하여 전달된 데이터 스트림에 관련된 데이터 패킷들의 수신을 관리하도록 구성된다. 데이터 스트림 수신 모듈(7170)은 또한 상기 수신된 데이터 패킷들을 통신 및 흐름 제어 모듈(7010)에 제공하도록 구성될 수 있다.
토큰 저장 모듈(7100)은 도 1의 토큰 저장 모듈과 실질적으로 유사하게 동작하도록 구성된다. 즉, 토큰 저장 모듈(7100)은 URI에 대한 보안 저장, 저장된 URI에 관련된 토큰, 상기 토큰에 관련된 만료일 등을 제공하도록 구성된다. 또한, 토큰 저장 모듈(7100)은 클라이언트 디바이스(7002)에 밀접하게 바인딩된 보안 로컬 저장소를 제공하도록 또한 구성된다. 토큰 저장 모듈(7100)은 파일, 폴더, 데이터베이스 등으로서 구현될 수 있다. 상기 클라이언트 시스템으로의 바인딩은 바인딩 모듈(7020)을 사용하여 수행된다. 로컬 보안성은 다양한 암호화, 불명확화(obfuscation) 중 하나를 사용하여, 그리고 다양한 네트워크 리소스들의 사용을 통하여 제공될 수 있다.
바인딩 모듈(7020)은 클라이언트 디바이스(7002), 상기 서버 시스템을 유일하게 식별하도록 구성된다. 일 실시예에서, 이는 핑거프린트(fingerprint)를 사용함으로써 달성한다. 핑거프린트는 각 핑거프린트에 대해 특정한 다수의 요소들로 구성될 수 있다. 그러한 요소들은 본 장에서 리지(ridge)들이란 용어로 지칭된다. 각 리지는 핑거프린트를 다른 핑거프린트들로부터 유일하게 만드는 정보를 제공하는 상기 핑거프린트의 요소를 포함한다. 리지들의 임의의 예는 하드웨어 시리얼 넘버, 오퍼레이팅 시스템 버전 넘버, 인터넷 프로토콜 어드레스, 물리적 메모리 사이즈 등을 포함한다. 상기 핑거프린트 내에 포함된 각 리지는 시스템 내에서 핑거프린트가 유일하게 식별될 수 있도록 시스템의 신원을 세밀히 구별(refine)한다. 모든 핑거프린트들의 조합들은 개인 컴퓨터, 서버, 클라이언트 디바이스, 셋톱 박스, 또는 시스템내의 유사한 디바이스를 유일하게 식별하는 핸드프린트 또는 시스템 핑거프린트를 생성할 수 있다. 상기 핑거프린트 그룹과 개별적인 리지들 각각의 순서는 결과적인 핑거프린트 또는 핸드프린트에 영향을 미칠 수 있다. 즉, 바인딩 모듈(7020)의 각 사용자는, 사용되는 코어(core) 리지 정보가 같은 경우에도, 독특한 핑거프린트와 후속의 핸드프린트를 발생할 수 있다.
발생된 핑거프린트의 사용은 클라이언트 디바이스(7002)와 같은 특정한 디바이스에 대한 VSC(7004)를 바인딩하여, 복제되거나 다른 디바이스에서 런되려 시도할 때 적절하게 기능하지 않도록 한다. 이러한 시도는 물리적 스마트 카드 보안에 대한 통상적인 해커의 접근을 실제로 제거한다.
일 실시예에서, VSC(7004)는 물리적 스마트 카드와 같은 또 다른 디바이스와 결합되어, VSC(7004)의 유연성 및 파워를 유지하면서, 상기 물리적 카드의 보안 식별 특성들을 더욱 증가시킬 수 있다. 이는, 예를 들어 디바이스 식별이 본래 약하고 및/또는 상기 물리적 카드나 다른 디바이스의 비용 및/또는 편리성이 중요하지 않은 시스템에서 달성될 수 있다.
통신 및 흐름 제어 모듈(7010)은 VSC(7004)와 트랜잭션과 스트리밍 서버 사이의 데이터의 통신 및 흐름 제어를 인에이블하도록 구성된다. 이에 따라서, 통신 및 흐름 제어 모듈(7010)은 도 1의 스트림 제어 프로토콜 모듈(120)에 의해 수행되는 임의의 동작들과 실질적으로 유사한 동작들을 수행할 수 있다. 즉, 통신 및 흐름 제어 모듈(7010)은 서버로의 초기 접속을 인에이블할 수 있고, 요청된 URI와 토큰 및 사용자 정보의 전달을 인에이블한다.
통신 및 흐름 제어 모듈(7010)은 또한 서버로부터의 데이터의 흐름 제어를 인에이블하여, 도 1의 스트림 제어 프로토콜 모듈(120)과 실질적으로 유사하게, 흐름의 속도가 실질적으로 가득 찬 클라이언트 버퍼를 유지하는 것을 보장한다. 통신 및 흐름 제어 모듈(7010)은 예를 들어, 수신되는 데이터의 속도, 네트워크 특성들, 입력 버퍼 특성들 등과 같은 다양한 특성들을 모니터링함으로써, 이를 수행한다. 그에 따라서, 통신 및 흐름 제어 모듈(7010)은 입력 버퍼(7150)의 쿼리를 인에이블하여, 최대 퍼센트, 충족되는 속도, 잔여 버퍼 스페이스의 퍼센트 등을 결정한다. 통신 및 흐름 제어 모듈(7010)은 그 후 서버에 모니터링된 특성들을 기초로한, 암호화되거나 해독된 흐름 제어 메트릭(metric)을 제공할 수 있다. 상기 정보가 암호화된 방식으로 제공되는 경우, 통신 및 흐름 제어 모듈(7010)은 보안 메세지 관리자(7012)를 사용하여 상기 정보가 보안되었다는 것을 보장한다.
보안 메세지 관리자(7012)는 메세지 교환에 대한 보안 매체를 제공하도록 구성된다. 예시되지 않았지만, 보안 메세지 관리자(7012)는 목적 당사자들의 상호 인 증이 달성되고 메세지의 프라이버시가 유지되는 것을 보장하는데 요구되는 바와 같이, VSC(7004)의 다수의 다른 컴포넌트들과 대화한다.
토큰 관리자(7016)는 토큰들의 수신, 저장, 전달 및 해독, 그리고 유사한 자격(entitlement)을 관리하도록 구성된다. 그에 따라서, 토큰 관리자(7016)는 도 1의 스트림 제어 프로토콜 모듈(120)에 관련된 다양한 동작들을 수행할 수 있다. 예를 들어, 토큰 관리자(7016)는 상기 요청된 URI, 토큰 및 사용자 정보를 서버에 전달할 수 있다. 토큰 관리자(7016)는 또한 암호법 모듈(7060) 및/또는 키 발생기(7018)를 사용함으로써, 일련의 암호화 키들을 서버와 절충할 수 있다. 또한, 토큰 관리자(7016)는 보안 메세지 관리자(7012)를 사용하여 서버와 클라이언트 디바이스(7002) 사이의 보안 통신을 인에이블할 수 있다.
토큰들은 상기에 간략히 설명되었다. 그러나, 일 실시예에서, 상기 토큰은 인증기관과 같은 것에 관련된 식별 정보, 암호화 키 등을 포함할 수 있는 디지털 인증을 또한 포함할 수 있다. VSC(7004)에 의하여 사용되는 그러한 토큰 구조는 자격부여 체인(entitlement chain)의 유일한 컨셉을 제공하고, 일반적으로 기존의 인증기관 모델에 의하여 지원되는 것 이상으로 비지니스 모델을 확장할 수 있다. 그러나, 본 발명은 그에 한정되지 않고, 상기 토큰 구조가 특정 데이터 스트림에 대한 사용자 허가를 관련시키도록 구성되는 임의의 구조를 실제로 사용할 수 있다.
암호화 모듈(7060)은 암호화, 해독화, 디지털 서명, 키 발생 등과 같은 것을 수행하기 위하여 암호화 메커니즘을 제공하는 것에 관련된다. 예를 들어, 암호화 모듈(7060)은 공중/개인 키 기반 암호화 동작들을 제공하도록 구성된 대칭형 암호 화 메커니즘들을 포함할 수 있다. 공중/개인 암호화 동작들은 키 발생, 디지털 서명, 암호화, 해독화 및 유효성 체크를 포함한다. 암호화 모듈(7060)은 토큰 관리자(7016) 및 보안 메세지 관리자(7012)를 통하여, 암호화 키들의 보안적 교환을 또한 인에이블한다.
암호화 모듈(7060)은 또한 통신 및 흐름 제어 모듈(7010)로부터 보안 컨텐츠를 수신하여 상기 보안 컨텐츠를 해독하고, 그리고 상기 해독된 컨텐츠를 클라이언트 입력 버퍼(7150)에 전달하도록 인에이블된다.
클라이언트 입력 버퍼(7150)는 도 1의 클라이언트 입력 버퍼와 실질적으로 유사하게 동작한다. 즉, 클라이언트 입력 버퍼(7150)는 상기 스트림 버퍼를 포함하도록 구성된다. 클라이언트 입력 버퍼(7150)가 VSC(7004)내에서 예시되지만, 본 발명은 이에 한정되지 않는다는 것이 주목된다. 예를 들어, 클라이언트 입력 버퍼(7150)는 클라이언트 디바이스(7002) 내부 및 VSC(7004) 외부에 존재할 수 있다.
암호화 모듈(7060)은 대칭형 또는 개인 키, 비대칭형 또는 공중 키 등을 포함하는 다양한 암호화 키들을 제공하도록 구성된다. 일 실시예에서, 암호화 모듈(7060)이 실제로 임의의 암호화 메커니즘들을 사용할 수 있지만, 암호화 모듈(7060)은 대칭형 암호화에 대하여 AES를 사용한다. 다른 실시예에서, 암호화 모듈(7060)은 비대칭형 암호화 동작에 대하여 RSA를 사용한다.
키 발생기(7018)는 암호화 모듈(7060)을 사용하여 암호화 키의 발생을 인에이블한다. 그러한 발생은 예를 들어, 신속 갱신 메커니즘을 사용하고, 이에 의하여 키들의 신규 발생이 기존의 물리적 스마트 카드 키 교체 메커니즘에 비하여, 짧은 시간 주기 내에서 수행될 수 있다. 일 실시예에서, 키 발생기(7018)는 수일 동안, 수주 동안, 또는 수달동안이 아닌 수시간 내에서 신규 키들의 발생을 인에이블할 수 있다. 일 실시예에서, 어택(attack)의 잠재적인(potential) 포인트를 추가적으로 불명확하게 하기 위하여 동적 신속 갱신이 사용되고, 여기서 키 등의 재발생이 랜덤하게 수행되어 예측가능하지 않은 환경을 생성한다. 다른 실시예에서, 그러한 동적 신속 갱신이 또한 어택을 추가적으로 최소화할 수 있는 다양한 소프트웨어 성분들을 대체하는데 사용될 수 있다. 그러한 신속 갱신을 사용함으로써, 뱅킹, 엔터프라이즈 보안성, 전자상거래를 포함하고, 컨텐츠 구성에 대한 스튜디오들에 의한 다양한 다른 상황들에서 VSC(7004)의 사용을 인에이블한다.
변형 검출(7006) 및 변형 보호(7014)가 클라이언트 시스템(7000) 내의 다양한 포인트에서 적용되어, 고보안 인프라스트럭처를 보장한다. 일반적으로, 변형 검출 또는 저항의 임의의 레벨이 VSC(7004)의 소프트웨어 및/또는 하드웨어의 일부로서 제공될 수 있다. 도시되는 바와 같이, VSC(7004)는 변형 검출(7014)을 포함하여, 변형 및 유사한 해킹 접근들로부터 보호 및 저항을 제공한다. 이러한 보호는 내부 회로 모방기(emulator) 검출, 디버거 검출, 디버거 저항, 메모리 공간 바이얼레이션(Violation) 검출 및 보호뿐만 아니라, 유사한 응용 레벨 프라이버시 행동 검출 및 보호를 포함하는 다양한 동작들을 수행하도록 구성된 에이전트들을 또한 포함할 수 있다.
변형 검출(7006)은 클라이언트 디바이스(7002)등에 관한 것들과 같은 다른 시스템들로부터 변형을 식별하도록 구성된다. 예를 들어, 쌍방향 텔레비젼 환경에서, 가상 스마트 카드 및/또는 그의 다양한 컴포넌트들의 복제 시도들에 대한 모니터링을 위하여 네트워크 내에서 변형 검출을 디플로이(deploy)하는 것이 가능하다. 변형 검출(7006)은 또한 신뢰되는 타임 소스를 제공할 수 있어서, 이에 의하여 리플레이 어택들을 방지한다.
VSC(7004)는 도 4에서 설명되는 것과 실질적으로 유사하게 실행될 수 있다. 예를 들어, 도 4에서 설명되는 바와 같이(도 4의 블럭(400) 참조), 클라이언트가 URI 및 토큰으로 로드된다. 이러한 동작은 통신 및 흐름 제어 모듈(7010)뿐만 아니라, 사용자 인터페이스(7110), 디스플레이 모듈(7140) 등과 대화를 통하여 도 7에서 발생될 수 있다.
사용자가 도 4의 결정 블럭(410)에서 데이터 스트림을 론치하는 경우, 상기 절차는 블럭(460)으로 이동하고, 여기서 URI 및 토큰이 토큰 관리자(7016) 및 토큰 저장 모듈(7100)을 사용하여 저장된다. 블럭(470)으로 이동하여, 토큰 관리자(7016)에 관련하여 통신 및 흐름 제어 모듈(7010)이 URI 토큰 및 사용자 정보를 스트리밍 서버에 전달한다.
결정 단계(480)에서, 서버가 유효한 URI과 토큰의 조합을 인식한 경우, 절차는 도 4의 블럭(490)으로 진행하고, 여기서 데이터가 스트리밍 서버로부터 스트리밍된다. 그러한 데이터의 스트리밍은 데이터 스트림 수신 모듈(7170)에 의하여 수신되고, 통신 및 흐름 제어 모듈(7010)에 전달될 수 있고, 여기서 상기 수신된 스트림의 해독이 암호화 모듈(7060)의 사용을 통하여 발생할 수 있다. 해독된 데이터 스트림은 그 후, 실질적으로 가득 찬 클라이언트 버퍼를 유지하는 속도로, 클라이언트 입력 버퍼(7150)에 위치될 수 있다. 통신 및 흐름 제어 모듈(7010)은 데이터의 스트리밍 동안 흐름 제어 정보를 제공하여 상기 클라이언트 버퍼가 실질적으로 가득 찬 것을 보장한다.
본 명세서 예들, 및 데이터는 본 발명의 구성의 제조 및 사용의 완전한 설명을 제공한다. 본 발명의 많은 실시예들이 본 발명의 정신 및 범위에서 벗어남 없이 이루어질 수 있기 때문에, 본 발명은 하기에 첨부된 청구 범위 내에 드는 것이다.
본 발명은 인터넷과 같은 네트워크를 통하여, 멀티미디어 엔터테인먼트 및 통신과 같은 데이터 스트림을 암호화하는 절차를 제공한다.

Claims (27)

  1. 네트워크를 통한 데이터 스트림 통신 시스템에 있어서,
    상기 데이터 스트림에 대한 요청을 인에이블하는 것을 포함하는 동작들을 수행하도록 된 클라이언트 디바이스와;
    상기 클라이언트 디바이스에 유일하게(uniquely) 바운딩되도록 상기 클라이언트 디바이스에 놓이며, 상기 요청된 데이터 스트림에 관련된 토큰을 전달하는 것과, 상기 요청된 데이터 스트림 - 이 데이터 스트림은 암호화되며 - 을 수신하는 것과, 상기 데이터 스트림에 관련된 흐름 제어 메트릭을 제공하는 것을 포함하는 동작들을 수행하도록된 가상 스마트 카드와; 그리고
    상기 요청된 데이터 스트림에 대한 토큰을 검증하는 것과, 상기 요청된 데이터 스트림에 대한 토큰이 유효한 경우, 상기 암호화된 데이터 스트림을 상기 가상 스마트 카드에 흐르게 하는 것과, 그리고 상기 가상 스마트 카드와 관련하여 실질적으로 가득 찬 버퍼를 유지하기 위하여 상기 가상 스마트 카드로부터 상기 흐름 제어 메트릭을 사용하여 네트워크를 통한 상기 암호화된 데이터 스트림의 흐름을 제어하는 것을 포함하는 동작들을 수행하도록 된 스트리밍 서버를 포함하여 구성되는 것을 특징으로 하는 네트워크를 통한 데이터 스트림 통신 시스템.
  2. 제 1항에 있어서,
    상기 가상 스마트 카드는 상기 토큰에 대한 상기 스트리밍 서버를 절충하도록 된 토큰 관리자를 더 포함하는 것을 특징으로 하는 네트워크를 통한 데이터 스 트림 통신 시스템.
  3. 제 1항에 있어서,
    상기 요청된 데이터 스트림에 대한 토큰을 검증하는 것은 상기 제공된 토큰으로 상기 데이터 스트림의 위치에 관련된 식별자를 검증하는 것을 더 포함하는 것을 특징으로 하는 네트워크를 통한 데이터 스트림 통신 시스템.
  4. 제 1항에 있어서,
    상기 가상 스마트 카드는 네트워크 특성과 버퍼 특성 중 적어도 하나를 모니터링하여 상기 흐름 제어 메트릭을 결정하도록 된 흐름 제어 모듈을 더 포함하는 것을 특징으로 하는 네트워크를 통한 데이터 스트림 통신 시스템.
  5. 제 1항에 있어서,
    상기 가상 스마트 카드는 상기 가상 스마트 카드를 상기 클라이언트 디바이스에 유일하게 관련시키도록 된 바인딩 모듈을 더 포함하는 것을 특징으로 하는 네트워크를 통한 데이터 스트림 통신 시스템.
  6. 제 1항에 있어서,
    상기 스트리밍 서버는 상기 요청된 데이터 스트림을 암호화하는데 사용하기 위하여 암호화 키들을 상기 가상 스마트 카드와 절충하는 것을 포함하는 동작들을 더 수행하도록 된 것을 특징으로 하는 네트워크를 통한 데이터 스트림 통신 시스템.
  7. 제 6항에 있어서,
    상기 가상 스마트 카드는 상기 암호화 키들을 절충하기 위하여 상기 스트리밍 서버와 대화하도록 된 토큰 관리자를 더 포함하는 것을 특징으로 하는 네트워크를 통한 데이터 스트림 통신 시스템.
  8. 제 7항에 있어서,
    상기 가상 스마트 카드는 상기 사용자 정보, 상기 토큰, URI 및 상기 암호화 키들 중 적어도 하나를 저장하도록 된 토큰 저장 모듈을 더 포함하는 것을 특징으로 하는 네트워크를 통한 데이터 스트림 통신 시스템.
  9. 제 1항에 있어서,
    상기 토큰은 디지털 인증을 더 포함하는 것을 특징으로 하는 네트워크를 통한 데이터 스트림 통신 시스템.
  10. 제 1항에 있어서,
    상기 데이터 스트림은 소정 수의 뷰잉들에 대해 뷰될 수 있도록 상기 클라이언트에 제공되는 것을 특징으로 하는 네트워크를 통한 데이터 스트림 통신 시스템.
  11. 네트워크를 통한 데이터 스트림을 관리하기 위한, 컴퓨터에 의해 실행가능 명령들이 수록된 컴퓨터 판독가능 기록 매체로서,
    상기 컴퓨터에 의해 실행가능한 명령들은 컴퓨터에 적재되었을 때, 상기 컴퓨터로 하여금,
    a) 자체에 가상 스마트카드가 유일하게(uniquely) 바운딩된 클라이언트 디바이스로부터 상기 데이터 스트림을 요청하는 것과;
    b) 상기 요청된 데이터 스트림에 관련된 토큰을 상기 가상 스마트 카드에 의하여 제공하는 것과;
    c)상기 요청된 데이터 스트림에 대한 상기 토큰의 유효성 판정을 인에이블하는 것과; 그리고
    d) 상기 요청된 데이터 스트림에 대해 상기 토큰이 유효한 경우, 상기 가상 스마트 카드와 상기 암호화 키들에 대한 절충을 인에이블하는 것과; 상기 데이터 스트림이 상기 클라이언트에 스트리밍될 때 상기 데이터 스트림의 암호화를 인에이블하는 것과, 여기서 상기 데이터 스트림은 상기 절충된 암호화 키를 사용하여 암호화되며; 상기 가상 스마트 카드에 의하여 상기 암호화된 데이터 스트림에 관련된 흐름 제어 메트릭을 제공하는 것과; 그리고 네트워크를 통한 상기 클라이언트로의 상기 암호화된 데이터 스트림의 흐름 속도를 상기 서버에 의해 제어 - 여기서 상기 서버는 실질적으로 가득 찬 클라이언트 버퍼를 유지하기 위하여 부분적으로 상기 흐름 제어 메트릭을 사용하여 상기 암호화된 데이터 스트림의 흐름 속도를 제어하며 - 하도록 하는 것을 포함하는 동작들을 수행하도록 하는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  12. 제 11항에 있어서,
    상기 데이터 스트림은 단일 뷰잉을 위하여 구성되는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  13. 제 11항에 있어서,
    상기 흐름의 속도를 제어하는 것은 상기 암호화된 데이터 스트림이 상기 클라이언트에 의하여 수신되는 것과 실질적으로 같은 속도로 상기 암호화된 데이터 스트림을 상기 클라이언트에 전송하는 것을 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  14. 제 11항에 있어서,
    상기 흐름 제어 메트릭을 제공하는 것은 네트워크 특성과 클라이언트 버퍼 특성 중 적어도 하나를 모니터링하는 것을 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  15. 네트워크를 통한 데이터 스트림을 수신하는데 사용하는 클라이언트 디바이스에 있어서,
    상기 데이터 스트림에 대한 요청을 인에이블하는 것을 포함하는 동작들을 수행하도록 된 사용자 인터페이스와; 그리고
    상기 클라이언트 디바이스에 유일하게(uniquely) 바운딩되도록 상기 사용자 인터페이스에 연결되며, 상기 요청된 데이터 스트림에 관련된 토큰을 절충하는 것과, 상기 토큰을 사용하여 상기 데이터 스트림에 대한 요청의 유효성을 인에이블하는 것과, 상기 요청이 유효한 경우 상기 클라이언트 디바이스에서 실질적으로 가득 찬 클라이언트 버퍼를 유지하는 흐름 속도로 상기 데이터 스트림을 전달하도록 된 서버로부터 상기 데이터 스트림을 수신하는 것과, 그리고 상기 실질적으로 가득 찬 클라이언트 버퍼를 유지하기 위하여, 상기 서버가 상기 데이터 스트림의 흐름 속도를 제어하는데 사용할 수 있도록 상기 서버에 메트릭을 제공하는 것을 포함하는 동작들을 수행하도록 된 가상 스마트 카드를 포함하는 것을 특징으로 하는 클라이언트 디바이스.
  16. 제 15항에 있어서,
    상기 사용자 인터페이스는 상기 서버에 제공되는 상기 데이터 스트림에 액세스하기 위한 사용자 선택 시간 제한을 인에이블하는 것을 포함하는 동작들을 더 수행하도록 구성되고, 상기 사용자 선택 시간 제한은 상기 데이터 스트림에 대한 액세스가 상기 시간 제한의 만료 시에 거부되도록 상기 절충된 토큰에 관련되는 것을 특징으로 하는 클라이언트 디바이스.
  17. 제 15항에 있어서,
    상기 토큰은 상기 요청된 데이터 스트림에 대한 사용자 허가를 포함하는 것 을 특징으로 하는 클라이언트 디바이스.
  18. 제 17항에 있어서,
    상기 사용자 정보는 사용자 어카운트 정보를 포함하는 것을 특징으로 하는 클라이언트 디바이스.
  19. 제 15항에 있어서,
    상기 토큰은 상기 데이터 스트림에 액세스하기 위한 사용자 선택 시간 제한을 포함하고, 여기서 상기 데이터 스트림에 액세스는 상기 사용자 선택 시간 제한의 만료 시에 거부되는 것을 특징으로 하는 클라이언트 디바이스.
  20. 제 15항에 있어서,
    상기 수신된 데이터 스트림은 DES, 트리플 DES 및 AES 암호화 중에서 적어도 하나를 사용하여 암호화되는 것을 특징으로 하는 클라이언트 디바이스.
  21. 제 15항에 있어서,
    상기 가상 스마트 카드는 하드웨어 시리얼 넘버와, 오퍼레이팅 시스템 버전 넘버와, 상기 클라이언트 디바이스의 물리적 메모리 사이즈중 적어도 하나를 포함하는 핑거프린트에 의해 상기 클라이언트 디바이스에 유일하게 바운딩되는 것을 특징으로 하는 클라이언트 디바이스.
  22. 제 15항에 있어서,
    상기 가상 스마트 카드는, 상기 가상 스마트 카드의 변형을 검출하여 이 변형으로부터 상기 가상 스마트 카드를 보호하도록 된 변형 보호 모듈을 더 포함하는 것을 특징으로 하는 클라이언트 디바이스.
  23. 제 15항에 있어서,
    상기 가상 스마트 카드는 클라이언트 버퍼를 포함하는 것을 특징으로 하는 클라이언트 디바이스.
  24. 네트워크를 통한 데이터 스트림 통신 방법에 있어서,
    상기 데이터 스트림을 요청하는 단계와;
    클라이언트 디바이스에 유일하게(uniquely) 바운딩된 가상 스마트 카드를 사용하여 상기 요청된 데이터 스트림에 관련된 토큰을 절충하는 단계와;
    상기 절충된 토큰을 사용하여 상기 데이터 스트림에 대한 요청의 유효성을 인에이블하는 단계와;
    상기 요청이 유효한 경우, 클라이언트 버퍼를 실질적으로 가득차게 유지하는 흐름 속도로 상기 데이터 스트림을 전달하도록 된 서버로부터 상기 데이터 스트림을 수신하는 단계와; 그리고
    상기 실질적으로 가득 찬 클라이언트 버퍼를 유지하기 위하여, 상기 서버가 부분적으로 상기 데이터 스트림의 흐름 속도를 제어하는데 사용할 수 있도록 메트릭을 상기 가상 스마트 카드에 의하여 상기 서버에 제공하는 단계를 포함하는 것을 특징으로 하는 네트워크를 통한 데이터 스트림 통신 방법.
  25. 제 24항에 있어서,
    상기 가상 스마트 카드에 관련된 토큰 관리자를 사용하여, 상기 데이터 스트림이 상기 클라이언트 디바이스에 스트리밍될 때 상기 데이터 스트림을 암호화하는데 사용가능한 암호화 키들을 절충하기 위하여 상기 서버와 대화하는 단계를 더 포함하는 것을 특징으로 하는 네트워크를 통한 데이터 스트림 통신 방법.
  26. 제 24항에 있어서,
    상기 가상 스마트 카드는 상기 사용자 정보, 상기 토큰, URI 및 상기 암호화 키들 중 적어도 하나를 저장하도록 구성된 토큰 저장 모듈을 더 포함하는 것을 특징으로 하는 네트워크를 통한 데이터 스트림 통신 방법.
  27. 네트워크를 통한 데이터 스트림 수신 장치에 있어서,
    상기 데이터 스트림을 요청하는 수단과;
    상기 요청이 유효한 경우 서버로부터 상기 요청된 데이터 스트림 - 이 데이터 스트림은 암호화되며 - 을 수신하는 수단과; 그리고
    상기 데이터 스트림 수신 장치에 유일하게(uniquely) 바운딩되며, 상기 요청된 데이터 스트림과 관련된 토큰 - 상기 토큰은 상기 요청이 상기 데이터 스트림을 수신하기에 유효화되도록 하며 - 을 절충함과 아울러 상기 수신된 데이터 스트림과 관련된 흐름 제어 메트릭을 상기 서버에 제공하는 가상 스마트 카드를 포함하여 구성되며,
    여기서 상기 흐름 제어 메트릭은 이용되는 속도로 데이터 스트림이 수신가능하도록, 부분적으로, 상기 장치에서 실질적으로 가득 찬 버퍼를 유지하기 위하여 상기 네트워크를 통한 상기 암호화된 데이터 스트림의 흐름을 제어하는데 이용가능한 것을 특징으로 하는 네트워크를 통한 데이터 스트림 수신 장치.
KR1020040095845A 2004-10-01 2004-11-22 데이터 스트림을 가상 스마트 카드 클라이언트 시스템에암호화하는 절차 및 스트리밍 서버 KR100747755B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/957,081 2004-10-01
US10/957,081 US7299292B2 (en) 2002-03-29 2004-10-01 Process and streaming server for encrypting a data stream to a virtual smart card client system

Publications (2)

Publication Number Publication Date
KR20060029588A KR20060029588A (ko) 2006-04-06
KR100747755B1 true KR100747755B1 (ko) 2007-08-09

Family

ID=34940483

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040095845A KR100747755B1 (ko) 2004-10-01 2004-11-22 데이터 스트림을 가상 스마트 카드 클라이언트 시스템에암호화하는 절차 및 스트리밍 서버

Country Status (18)

Country Link
US (1) US7299292B2 (ko)
EP (1) EP1628187B1 (ko)
JP (1) JP2006109391A (ko)
KR (1) KR100747755B1 (ko)
CN (1) CN1756146A (ko)
AT (1) ATE400855T1 (ko)
CA (1) CA2580463C (ko)
DE (1) DE602005007973D1 (ko)
DK (1) DK1628187T3 (ko)
ES (1) ES2310321T3 (ko)
HK (1) HK1088410A1 (ko)
HR (1) HRPK20070184B3 (ko)
LV (1) LV13618B (ko)
MY (1) MY137489A (ko)
PL (1) PL1628187T3 (ko)
PT (1) PT1628187E (ko)
TW (1) TWI306344B (ko)
WO (1) WO2006039053A2 (ko)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8055894B2 (en) 1999-11-09 2011-11-08 Google Inc. Process and streaming server for encrypting a data stream with bandwidth based variation
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
JP2006526204A (ja) * 2003-03-13 2006-11-16 ディーアールエム テクノロジーズ、エルエルシー セキュアストリーミングコンテナ
JP2006109007A (ja) * 2004-10-04 2006-04-20 Matsushita Electric Ind Co Ltd 情報配信装置、情報配信方法及び情報受信方法
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US7685636B2 (en) * 2005-03-07 2010-03-23 International Business Machines Corporation System, service, and method for enabling authorized use of distributed content on a protected media
EP1867094A2 (en) 2005-03-15 2007-12-19 Trapeze Networks, Inc. System and method for distributing keys in a wireless network
US8438645B2 (en) * 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US9032215B2 (en) * 2005-06-15 2015-05-12 Nokia Corporation Management of access control in wireless networks
US7991997B2 (en) 2005-06-23 2011-08-02 Panasonic Avionics Corporation System and method for providing searchable data transport stream encryption
GB0514492D0 (en) * 2005-07-14 2005-08-17 Ntnu Technology Transfer As Secure media streaming
WO2007044986A2 (en) 2005-10-13 2007-04-19 Trapeze Networks, Inc. System and method for remote monitoring in a wireless network
US8638762B2 (en) 2005-10-13 2014-01-28 Trapeze Networks, Inc. System and method for network integrity
US7724703B2 (en) 2005-10-13 2010-05-25 Belden, Inc. System and method for wireless network monitoring
US7573859B2 (en) 2005-10-13 2009-08-11 Trapeze Networks, Inc. System and method for remote monitoring in a wireless network
EP1788773A1 (en) * 2005-11-18 2007-05-23 Alcatel Lucent Method and apparatuses to request delivery of a media asset and to establish a token in advance
US7558266B2 (en) 2006-05-03 2009-07-07 Trapeze Networks, Inc. System and method for restricting network access using forwarding databases
US8966018B2 (en) 2006-05-19 2015-02-24 Trapeze Networks, Inc. Automated network device configuration and network deployment
US9258702B2 (en) 2006-06-09 2016-02-09 Trapeze Networks, Inc. AP-local dynamic switching
US9191799B2 (en) 2006-06-09 2015-11-17 Juniper Networks, Inc. Sharing data between wireless switches system and method
US8818322B2 (en) 2006-06-09 2014-08-26 Trapeze Networks, Inc. Untethered access point mesh system and method
US7613848B2 (en) * 2006-06-13 2009-11-03 International Business Machines Corporation Dynamic stabilization for a stream processing system
US20080037782A1 (en) * 2006-08-11 2008-02-14 Widevine Technologies, Inc. Reduction of channel change time for digital media devices using key management and virtual smart cards
US8340110B2 (en) 2006-09-15 2012-12-25 Trapeze Networks, Inc. Quality of service provisioning for wireless networks
US20080082708A1 (en) * 2006-09-29 2008-04-03 Kar Leong Wong Token hold off for chipset communication
GB2443264A (en) * 2006-10-27 2008-04-30 Ntnu Technology Transfer As Integrity checking method for a device in a computer network, which controls access to data; e.g. to prevent cheating in online game
US8010786B1 (en) 2006-10-30 2011-08-30 Citigroup Global Markets Inc. Systems and methods for managing digital certificate based communications
WO2008064261A2 (en) * 2006-11-21 2008-05-29 Telos Corporation Method and system for remote security token extension
US7873061B2 (en) 2006-12-28 2011-01-18 Trapeze Networks, Inc. System and method for aggregation and queuing in a wireless network
US8300818B2 (en) * 2007-02-27 2012-10-30 Sony Corporation System and method for effectively protecting electronic content information
US8880889B1 (en) 2007-03-02 2014-11-04 Citigroup Global Markets, Inc. Systems and methods for remote authorization of financial transactions using public key infrastructure (PKI)
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
US8902904B2 (en) 2007-09-07 2014-12-02 Trapeze Networks, Inc. Network assignment based on priority
US8238942B2 (en) 2007-11-21 2012-08-07 Trapeze Networks, Inc. Wireless station location detection
US8051455B2 (en) 2007-12-12 2011-11-01 Backchannelmedia Inc. Systems and methods for providing a token registry and encoder
GB2455796A (en) * 2007-12-21 2009-06-24 Symbian Software Ltd Mechanism for controlling access to a key store
US20090209314A1 (en) * 2008-02-15 2009-08-20 Gtech Rhode Island Corporation, A Rhode Island Corporation Methods and systems for license sharing among gaming terminals
US8150357B2 (en) 2008-03-28 2012-04-03 Trapeze Networks, Inc. Smoothing filter for irregular update intervals
US8978105B2 (en) 2008-07-25 2015-03-10 Trapeze Networks, Inc. Affirming network relationships and resource access via related networks
US8238298B2 (en) 2008-08-29 2012-08-07 Trapeze Networks, Inc. Picking an optimal channel for an access point in a wireless network
CN101686383B (zh) * 2008-09-23 2013-05-01 Utc消防和保安美国有限公司 通过网络传输媒体的方法及系统
US9094721B2 (en) 2008-10-22 2015-07-28 Rakuten, Inc. Systems and methods for providing a network link between broadcast content and content located on a computer network
US8160064B2 (en) 2008-10-22 2012-04-17 Backchannelmedia Inc. Systems and methods for providing a network link between broadcast content and content located on a computer network
US8503675B2 (en) * 2009-02-24 2013-08-06 Beyond Broadband Technology, Llc Cable television secure communication system for one way restricted
US9203816B2 (en) * 2009-09-04 2015-12-01 Echostar Technologies L.L.C. Controlling access to copies of media content by a client device
CN101720011B (zh) * 2009-11-23 2012-05-23 中兴通讯股份有限公司 一种在移动多媒体播放时实现智能卡热插拔的方法和终端
AU2010224455B8 (en) * 2010-09-28 2011-05-26 Mu Hua Investments Limited Biometric key
US8725644B2 (en) * 2011-01-28 2014-05-13 The Active Network, Inc. Secure online transaction processing
KR101767301B1 (ko) 2011-09-09 2017-08-10 라쿠텐 인코포레이티드 대화형 텔레비전 노출에 대한 소비자 제어를 위한 시스템들 및 방법들
DE102012003009A1 (de) * 2012-02-15 2013-08-22 Giesecke & Devrient Gmbh Übertragen von Datenströmen zu und von einem Sicherheitsmodul
WO2014181470A1 (ja) 2013-05-10 2014-11-13 株式会社 東芝 コンテンツ再生装置、コンテンツ再生方法及びコンテンツ再生システム
KR102306641B1 (ko) 2014-08-07 2021-09-30 디빅스, 엘엘씨 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
FR3028069B1 (fr) * 2014-11-05 2016-12-09 Oberthur Technologies Procede de chargement de fichier en memoire vive dans un appareil electronique et appareil electronique associe
US10594573B2 (en) 2016-01-08 2020-03-17 Secureworks Corp. Systems and methods for rule quality estimation
US10009380B2 (en) 2016-01-08 2018-06-26 Secureworks Corp. Systems and methods for security configuration
US10116625B2 (en) 2016-01-08 2018-10-30 Secureworks, Corp. Systems and methods for secure containerization
US10263788B2 (en) 2016-01-08 2019-04-16 Dell Products, Lp Systems and methods for providing a man-in-the-middle proxy
US10305901B2 (en) * 2016-05-06 2019-05-28 Blackberry Limited System and method for multi-factor authentication
US9973498B2 (en) * 2016-06-29 2018-05-15 Citrix Systems, Inc. Virtual smart cards with audit capability
US10298649B2 (en) * 2017-02-15 2019-05-21 Microsoft Technology Licensing, Llc Guaranteeing stream exclusivity in a multi-tenant environment
US11876604B2 (en) * 2018-03-06 2024-01-16 Joshua Jensen System and method to manage streaming video content
SG10201806602VA (en) * 2018-08-02 2020-03-30 Mastercard International Inc Methods and systems for identification of breach attempts in a client-server communication using access tokens
TWI726236B (zh) * 2018-09-05 2021-05-01 林保成 個人雲系統及其相關本地化方法
CN111786777B (zh) * 2020-06-05 2023-08-04 京东科技控股股份有限公司 一种流式数据加解密方法、装置、系统及存储介质
CN112291250B (zh) * 2020-10-31 2022-11-25 贵州电网有限责任公司 一种多能源设备数字孪生数据流通信权限管理方法及系统

Family Cites Families (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4694489A (en) 1983-12-22 1987-09-15 Frederiksen Jeffrey E Video transmission system
DE3752343T2 (de) 1986-04-18 2002-08-14 Nagra Plus Sa Bezahlfernsehsystem
US5067035A (en) 1987-05-22 1991-11-19 Kudelski Sa Fabrique De'enregistreurs Nagra Error prevention in a recording and reproducing device with at least one rotating head
US5134166A (en) * 1988-12-02 1992-07-28 Genderm Corporation Method for treating nasal disorders and headaches
FR2643529B1 (fr) 1989-02-22 1991-06-07 Kudelski Sa Fabr Enregistr Nag Systeme de television a peage utilisant une carte a memoire associee a un decodeur
CH682614A5 (fr) 1990-02-21 1993-10-15 Kudelski Sa Procédé d'embrouillage et de désembrouillage d'un signal vidéo.
JP2521016B2 (ja) 1991-12-31 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチメディア・デ―タ処理システム
US5339413A (en) 1992-08-21 1994-08-16 International Business Machines Corporation Data stream protocol for multimedia data streaming data processing system
US5640546A (en) 1993-02-23 1997-06-17 Network Programs, Inc. Composition of systems of objects by interlocking coordination, projection, and distribution
US5592212A (en) 1993-04-16 1997-01-07 News Datacom Ltd. Methods and systems for non-program applications for subscriber television
IL105432A (en) 1993-04-16 1999-10-28 New Datacom Res Ltd Methods and systems for non-program applications for subscriber television
IL106746A (en) 1993-08-19 1997-02-18 News Datacom Ltd CATV systems
US5774527A (en) 1993-08-19 1998-06-30 News Datacom Ltd. Integrated telephone and cable communication networks
NL9301784A (nl) 1993-10-14 1995-05-01 Irdeto Bv Systeem voor het versleutelen en ontsleutelen van digitale informatie.
KR950013093A (ko) 1993-10-19 1995-05-17 모리시타 요이찌 스크램블전송장치 및 난수발생장치
IL107967A (en) 1993-12-09 1996-12-05 News Datacom Research Ltd Apparatus and method for securing communication systems
US6298441B1 (en) 1994-03-10 2001-10-02 News Datacom Ltd. Secure document access system
IL111151A (en) 1994-10-03 1998-09-24 News Datacom Ltd Secure access systems
GB9407038D0 (en) 1994-04-08 1994-06-01 Amstrad Plc Method and apparatus for transmitting and receiving encrypted signals
MY125706A (en) 1994-08-19 2006-08-30 Thomson Consumer Electronics High speed signal processing smart card
KR100332743B1 (ko) 1994-11-26 2002-11-07 엘지전자주식회사 디지탈영상시스템의불법시청및복사방지방법및장치
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
CN100452071C (zh) 1995-02-13 2009-01-14 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
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
US5621793A (en) 1995-05-05 1997-04-15 Rubin, Bednarek & Associates, Inc. TV set top box using GPS
NL1000530C2 (nl) 1995-06-08 1996-12-10 Defil N V Holland Intertrust A Filtreerwerkwijze.
CA2179223C (en) 1995-06-23 2009-01-06 Manfred Von Willich Method and apparatus for controlling the operation of a signal decoder in a broadcasting system
US6035037A (en) 1995-08-04 2000-03-07 Thomson Electronic Consumers, Inc. System for processing a video signal via series-connected high speed signal processing smart cards
GB9521739D0 (en) 1995-10-24 1996-01-03 Nat Transcommunications Ltd Decoding carriers encoded using orthogonal frequency division multiplexing
US5684876A (en) 1995-11-15 1997-11-04 Scientific-Atlanta, Inc. Apparatus and method for cipher stealing when encrypting MPEG transport packets
JP2000503154A (ja) 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド デジタル所有権のアクセスと分配を制御するためのシステム
US5805705A (en) 1996-01-29 1998-09-08 International Business Machines Corporation Synchronization of encryption/decryption keys in a data communication network
WO1997035430A1 (en) 1996-03-18 1997-09-25 News Datacom Limited Smart card chaining in pay television systems
US6049671A (en) 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
EP0827340A3 (en) 1996-08-30 1999-10-06 Matsushita Electric Industrial Co., Ltd. Terminal apparatus and method for achieving interactive operations
JP2001501394A (ja) 1996-09-17 2001-01-30 ディヴァ システムズ コーポレイション 対話型情報分散システム用セットトップ端末
US5939975A (en) 1996-09-19 1999-08-17 Nds Ltd. Theft prevention system and method
US5883957A (en) 1996-09-20 1999-03-16 Laboratory Technologies Corporation Methods and apparatus for encrypting and decrypting MIDI files
EP0834991A1 (en) 1996-10-02 1998-04-08 Irdeto B.V. Method for automatically searching a frequency range for signal channels in a receiver for digitally modulated signals, and receiver for applying such a method
US6141053A (en) 1997-01-03 2000-10-31 Saukkonen; Jukka I. Method of optimizing bandwidth for transmitting compressed video data streams
US6178242B1 (en) 1997-02-07 2001-01-23 Nds Limited Digital recording protection system
US5920861A (en) 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
US6189097B1 (en) 1997-03-24 2001-02-13 Preview Systems, Inc. Digital Certificate
US6272636B1 (en) 1997-04-11 2001-08-07 Preview Systems, Inc Digital product execution control and security
US6073256A (en) 1997-04-11 2000-06-06 Preview Systems, Inc. Digital product execution control
US6557104B2 (en) * 1997-05-02 2003-04-29 Phoenix Technologies Ltd. Method and apparatus for secure processing of cryptographic keys
CN1260055A (zh) 1997-06-09 2000-07-12 联信公司 用于提高软件安全性的模糊技术
US6055503A (en) 1997-08-29 2000-04-25 Preview Systems Software program self-modification
US6009525A (en) 1997-08-29 1999-12-28 Preview Systems, Inc. Multi-tier electronic software distribution
US6112181A (en) 1997-11-06 2000-08-29 Intertrust Technologies Corporation Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
EP0917356A1 (en) 1997-11-17 1999-05-19 CANAL+ Société Anonyme Packet filtering
CN1150760C (zh) 1997-12-10 2004-05-19 汤姆森许可公司 用于保护通过nrss接口的音频/视频数据的方法
US7778418B1 (en) 1998-01-08 2010-08-17 Samsung Electronics Co., Ltd. System and method for copy protection for digital signals
DE69805155T2 (de) 1998-01-14 2002-09-05 Irdeto Access Bv Integrierte Schaltung und Chipkarte mit einer solchen Schaltung
US6334213B1 (en) 1998-01-20 2001-12-25 Preview Systems Merging of separate executable computer programs to form a single executable computer program
DE19838628A1 (de) 1998-08-26 2000-03-02 Ibm Erweiterte Chipkarten-Kommunikationsarchitektur und Verfahren zur Kommunikation zwischen Chipkartenanwendung und Datenträger
IL123554A (en) 1998-03-04 2003-01-12 Nds Ltd Key delivery in a secure broadcasting system
GB9806076D0 (en) 1998-03-20 1998-05-20 Nds Ltd Improvements in or relating to the insertion and removal of smart cards
US6459427B1 (en) 1998-04-01 2002-10-01 Liberate Technologies Apparatus and method for web-casting over digital broadcast TV network
US6285985B1 (en) 1998-04-03 2001-09-04 Preview Systems, Inc. Advertising-subsidized and advertising-enabled software
US6009401A (en) 1998-04-06 1999-12-28 Preview Systems, Inc. Relicensing of electronically purchased software
IL124595A (en) 1998-05-21 2009-09-01 Yossef Tsuria Anti-piracy system
WO1999062261A1 (en) 1998-05-29 1999-12-02 Diva Systems Corporation Interactive information distribution system and method
US6311221B1 (en) 1998-07-22 2001-10-30 Appstream Inc. Streaming modules
US6314466B1 (en) 1998-10-06 2001-11-06 Realnetworks, Inc. System and method for providing random access to a multimedia object over a network
IL126472A0 (en) 1998-10-07 1999-08-17 Nds Ltd Secure communications system
US6505299B1 (en) 1999-03-01 2003-01-07 Sharp Laboratories Of America, Inc. Digital image scrambling for image coding systems
US6415031B1 (en) 1999-03-12 2002-07-02 Diva Systems Corporation Selective and renewable encryption for secure distribution of video on-demand
US7085931B1 (en) * 1999-09-03 2006-08-01 Secure Computing Corporation Virtual smart card system and method
KR20010101329A (ko) 1999-10-29 2001-11-14 요트.게.아. 롤페즈 비디오 인코딩 방법
US6449719B1 (en) 1999-11-09 2002-09-10 Widevine Technologies, Inc. Process and streaming server for encrypting a data stream
JP2001144802A (ja) 1999-11-11 2001-05-25 Canon Inc データ通信装置及びその方法及び通信システム及び記憶媒体
US6227636B1 (en) * 1999-11-15 2001-05-08 Maytag Corporation Refrigerator shelf and serving tray assembly
KR100378791B1 (ko) 1999-12-02 2003-04-07 엘지전자 주식회사 피아이디/섹션 필터
JP2001273430A (ja) 2000-03-27 2001-10-05 Toshiba Corp 携帯可能電子装置及びポイントシステム
CA2305249A1 (en) * 2000-04-14 2001-10-14 Branko Sarcanin Virtual safe
JP4596693B2 (ja) 2000-07-06 2010-12-08 パナソニック株式会社 ストリーミング方法およびそれを実行するシステム
EP1182875A3 (en) 2000-07-06 2003-11-26 Matsushita Electric Industrial Co., Ltd. Streaming method and corresponding system
US6729549B2 (en) * 2000-12-19 2004-05-04 International Business Machines Corporation System and method for personalization of smart cards
SE0101295D0 (sv) 2001-04-10 2001-04-10 Ericsson Telefon Ab L M A method and network for delivering streaming data
US6663918B2 (en) * 2001-05-11 2003-12-16 General Electric Company Sprayed-in thickness patterns
US7237108B2 (en) * 2001-09-26 2007-06-26 General Instrument Corporation Encryption of streaming control protocols and their headers
US20040151315A1 (en) * 2002-11-06 2004-08-05 Kim Hee Jean Streaming media security system and method

Also Published As

Publication number Publication date
LV13618B (en) 2008-12-20
ATE400855T1 (de) 2008-07-15
ES2310321T3 (es) 2009-01-01
TW200612708A (en) 2006-04-16
DE602005007973D1 (de) 2008-08-21
CA2580463A1 (en) 2006-04-13
WO2006039053A3 (en) 2007-07-26
CA2580463C (en) 2010-05-11
DK1628187T3 (da) 2008-10-13
EP1628187B1 (en) 2008-07-09
HRPK20070184B3 (en) 2008-05-31
PT1628187E (pt) 2008-10-16
MY137489A (en) 2009-02-27
TWI306344B (en) 2009-02-11
HRP20070184A2 (en) 2007-07-31
US7299292B2 (en) 2007-11-20
KR20060029588A (ko) 2006-04-06
CN1756146A (zh) 2006-04-05
EP1628187A1 (en) 2006-02-22
US20050120125A1 (en) 2005-06-02
WO2006039053A2 (en) 2006-04-13
PL1628187T3 (pl) 2009-01-30
JP2006109391A (ja) 2006-04-20
HK1088410A1 (en) 2006-11-03

Similar Documents

Publication Publication Date Title
KR100747755B1 (ko) 데이터 스트림을 가상 스마트 카드 클라이언트 시스템에암호화하는 절차 및 스트리밍 서버
US8196194B2 (en) Method and network for securely delivering streaming data
US6965993B2 (en) Process and streaming server for encrypting a data stream
US9038147B2 (en) Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
US8055894B2 (en) Process and streaming server for encrypting a data stream with bandwidth based variation
CN101977190B (zh) 数字内容加密传送方法以及服务器端
JP5626816B2 (ja) デジタルコンテンツの部分的暗号化のための方法および装置
US20030140257A1 (en) Encryption, authentication, and key management for multimedia content pre-encryption
WO2007126853A2 (en) Secure non-invasive method and system for distribution of digital assets
CN103237010A (zh) 以加密方式提供数字内容的服务器端
CN103237011A (zh) 数字内容加密传送方法以及服务器端

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20120723

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130723

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140723

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150723

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160722

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170724

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180726

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190724

Year of fee payment: 13