US20070116282A1 - Method and apparatus for security in a data processing system - Google Patents
Method and apparatus for security in a data processing system Download PDFInfo
- Publication number
- US20070116282A1 US20070116282A1 US11/626,822 US62682207A US2007116282A1 US 20070116282 A1 US20070116282 A1 US 20070116282A1 US 62682207 A US62682207 A US 62682207A US 2007116282 A1 US2007116282 A1 US 2007116282A1
- Authority
- US
- United States
- Prior art keywords
- key
- bak
- encrypted
- broadcast
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 110
- 238000012545 processing Methods 0.000 title description 48
- 230000006854 communication Effects 0.000 claims description 50
- 238000004891 communication Methods 0.000 claims description 50
- 230000006870 function Effects 0.000 claims description 45
- 230000005055 memory storage Effects 0.000 claims description 35
- 238000001228 spectrum Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 abstract description 48
- 238000010586 diagram Methods 0.000 description 29
- 238000009826 distribution Methods 0.000 description 26
- 230000008859 change Effects 0.000 description 25
- 230000008569 process Effects 0.000 description 22
- 238000012795 verification Methods 0.000 description 19
- 238000004422 calculation algorithm Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 11
- 239000000243 solution Substances 0.000 description 11
- 239000000284 extract Substances 0.000 description 9
- 238000013475 authorization Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 229910003460 diamond Inorganic materials 0.000 description 2
- 239000010432 diamond Substances 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000004846 x-ray emission Methods 0.000 description 2
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 239000012086 standard solution Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/189—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/045—Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/065—Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/164—Implementing security features at a particular protocol layer at the network layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic 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 involving a third party or a trusted authority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/26606—Channel 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4623—Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/167—Systems rendering the television signal unintelligible and subsequently intelligible
- H04N7/1675—Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
- H04W12/033—Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/601—Broadcast encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
Definitions
- the present invention relates to data processing systems generally and specifically, to methods and apparatus for security in a data processing system.
- Encryption in data processing and information systems, including communications systems, contributes to accountability, fairness, accuracy, confidentiality, operability, as well as a plethora of other desired criteria.
- Encryption or the general field of cryptography, is used in electronic commerce, wireless communications, broadcasting, and has an unlimited range of applications.
- encryption In electronic commerce, encryption is used to prevent fraud in and verify financial transactions.
- data processing systems encryption is used to verify a participant's identity. Encryption is also used to prevent hacking, protect Web pages, and prevent access to confidential documents.
- Asymmetric encryption system often referred to as a cryptosystem, uses a same key (i.e., the secret key) to encrypt and decrypt a message.
- a first key i.e., the public key
- a different key i.e., the private key
- Asymmetric cryptosystems are also called public key cryptosystems.
- the prior art does not provide a method for updating keys to a large group of mobile stations in order that they may access an encrypted broadcast. There is a need, therefore, for a secure and efficient method of updating keys in a data processing system. Further, there is a need for a secure and efficient method of updating keys in a wireless communication system.
- Embodiments disclosed herein address the above stated needs by providing a method for security in a data processing system.
- a method for secure transmissions includes determining a registration key specific to a participant in a transmission, determining a first key, encrypting the first key with the registration key, determining a second key, encrypting the second key with the first key and updating the first and second keys.
- a method for secure reception of a transmission includes receiving a registration key specific to a participant in a transmission, receiving a first key, decrypting the first key with the registration key, receiving a second key, decrypting the second key with the first key, receiving a broadcast stream of information, and decrypting the broadcast stream of information using the second key.
- a wireless communication system supporting a broadcast service option has an infrastructure element including a receive circuitry, a user identification unit, operative to recover a short-time key for decrypting a broadcast message, and a mobile equipment unit adapted to apply the short-time key for decrypting the broadcast message.
- the user identification unit includes a processing unit operative to decrypt key information, and a memory storage unit for storing a registration key.
- FIG. 1A is a diagram of a cryptosystem.
- FIG. 1B is a diagram of a symmetric cryptosystem.
- FIG. 1C is a diagram of an asymmetric cryptosystem.
- FIG. 1D is a diagram of a PGP encryption system.
- FIG. 1E is a diagram of a PGP decryption system.
- FIG. 2 is a diagram of a spread spectrum communication system that supports a number of users.
- FIG. 3 is a block diagram of the communication system supporting broadcast transmissions.
- FIG. 4 is a block diagram of a mobile station in a wireless communication system.
- FIG. 5 is a model describing the updating of keys within a mobile station used for controlling broadcast access.
- FIG. 6 is a model describing cryptographic operations within a UIM.
- FIGS. 7A-7D illustrate a method of implementing security encryption in a wireless communication system supporting broadcast transmissions.
- FIG. 7E is a timing diagram of key update periods of a security option in a wireless communication system supporting broadcast transmissions.
- FIGS. 8A-8D illustrate application of a security encryption method in a wireless communication system supporting broadcast transmissions.
- FIG. 9 is a high level architectural diagram illustrating security in a communication system supporting broadcast transmissions.
- FIG. 10 is a block diagram of a communication system employing link layer content encryption.
- FIG. 11 is a block diagram of a communication system employing end-to-end content encryption.
- FIG. 12 is a block diagram of a communication system employing centralized BAK encryption.
- FIG. 13 is a timing diagram illustrating provisioning the Registration Key (RK) in a communication system.
- FIG. 14 is a timing diagram illustrating Subscription Server (SS) encryption of the Broadcast Access Key (BAK) in a communication system.
- SS Subscription Server
- BAK Broadcast Access Key
- FIG. 15 is a timing diagram illustrating locally encrypted BAK in a communication system.
- FIG. 16 is a timing diagram illustrating generation of the Temporary Key (TK) using the Authentication Vector (AV) in a communication system.
- FIG. 17 is a timing diagram illustrating link layer encryption in a communication system.
- FIG. 18 is a communication system supporting broadcast and multicast services.
- FIG. 19 a timing diagram illustrating Broadcast Access Key (BAK) updating performed by the Content Server (CS).
- BAK Broadcast Access Key
- FIG. 20 is a timing diagram illustrating BAK updating performed by the Service Provider (SP).
- SP Service Provider
- FIG. 21 illustrates derivation of multiple decryption keys from a BAK by combining information sent on a broadcast channel.
- FIG. 22 is a communication system architecture for supporting BCMCS.
- FIG. 23 is a timing diagram of Registration Key (RK) establishment in a communication system supporting BCMCS, wherein the home service provider does not own the Content Server (CS).
- RK Registration Key
- FIG. 24 is a communication system architecture for supporting BCMCS, wherein the home service provider owns the CS.
- FIG. 25 is a timing diagram of bearer path set-up via provisioning for multicast service.
- FIG. 26 is a timing diagram of bearer path set-up via provisioning for unicast service.
- FIG. 27 is a timing diagram of bearer path configuration via MS registration for multicast service.
- Wireless communication systems are widely deployed to provide various types of communication such as voice, data, and so on. These systems may be based on code division multiple access (CDMA), time division multiple access (TDMA), or some other modulation techniques.
- CDMA code division multiple access
- TDMA time division multiple access
- a CDMA system provides certain advantages over other types of system, including increased system capacity.
- a system may be designed to support one or more standards such as the “TIA/EIA/IS-95-B Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System” referred to herein as the IS-95 standard, the standard offered by a consortium named “3rd Generation Partnership Project” referred to herein as 3GPP, and embodied in a set of documents including Document Nos.
- IS-95 the “TIA/EIA/IS-95-B Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System”
- 3GPP Third Generation Partnership Project
- 3GPP2 3rd Generation Partnership Project 2
- TR-45.5 referred to herein as the cdma2000 standard, formerly called IS-2000 MC.
- the standards cited hereinabove are hereby expressly incorporated herein by reference.
- Each standard specifically defines the processing of data for transmission from base station to mobile, and vice versa.
- the following discussion considers a spread-spectrum communication system consistent with cdma2000 systems. Alternate embodiments may incorporate another standard/system. Still other embodiments may apply the security methods disclosed herein to any type of data processing system using a cryptosystem.
- a cryptosystem is a method of disguising messages thus allowing a specific group of users to extract the message.
- FIG. 1A illustrates a basic cryptosystem 10 .
- Cryptography is the art of creating and using cryptosystems.
- Cryptanalysis is the art of breaking cryptosystems, i.e., receiving and understanding the message when you are not within the specific group of users allowed access to the message.
- the original message is referred to as a plaintext message or plaintext.
- the encrypted message is called a ciphertext, wherein encryption includes any means to convert plaintext into ciphertext.
- Decryption includes any means to convert ciphertext into plaintext, i.e., recover the original message.
- the plaintext message is encrypted to form a ciphertext.
- plaintext and ciphertext generally refer to data
- the concepts of encryption may be applied to any digital information, including audio and video data presented in digital form.
- plaintext and ciphertext consistent with the art of cryptography, these terms do not exclude other forms of digital communications.
- a cryptosystem is based on secrets.
- a group of entities shares a secret if an entity outside this group cannot obtain the secret without significantly large amount of resources. This secret is said to serve as a security association between the groups of entities.
- a cryptosystem may be a collection of algorithms, wherein each algorithm is labeled and the labels are called keys.
- a symmetric encryption system often referred to as a cryptosystem, uses a same key (i.e., the secret key) to encrypt and decrypt a message.
- a symmetric encryption system 20 is illustrated in FIG. 1B , wherein both the encryption and decryption utilize a same private key.
- an asymmetric encryption system uses a first key (i.e., the public key) to encrypt a message and uses a different key (i.e., the private key) to decrypt it.
- FIG. 1C illustrates an asymmetric encryption system 30 wherein one key is provided for encryption and a second key for decryption.
- Asymmetric cryptosystems are also called public key cryptosystems. The public key is published and available for encrypting any message, however, only the private key may be used to decrypt the message encrypted with the public key.
- a courier may be used to provide the information, or, a more efficient and reliable solution may be to use a public key cryptosystem, such as a public-key cryptosystem defined by Rivest, Shamir, and Adleman (RSA) which is discussed hereinbelow.
- the RSA system is used in the popular security tool referred to as Pretty Good Privacy (PGP), which is further detailed hereinbelow.
- PGP Pretty Good Privacy
- an originally recorded cryptosystem altered letters in a plaintext by shifting each letter by n in the alphabet, wherein n is a predetermined constant integer value.
- an “A” is replaced with a “D,” etc., wherein a given encryption scheme may incorporate several different values of n.
- n is the key. Intended recipients are provided the encryption scheme prior to receipt of a ciphertext. In this way, only those knowing the key should be able to decrypt the ciphertext to recover the plaintext. However, by calculating the key with knowledge of encryption, unintended parties may be able to intercept and decrypt the ciphertext, creating a security problem.
- E_K is easily computed from a known “public key” Y which in turn is computed from K. Y is published, so that anyone can encrypt messages.
- the decryption function D_K is computed from public key Y, but only with knowledge of a private key K. Without the private key K an unintended recipient may not decrypt the ciphertext so generated. In this way only the recipient who generated K can decrypt messages.
- RSA is a public-key cryptosystem defined by Rivest, Shamir, and Adleman.
- Keys are quadruples (p,q,e,d), with p given as a 256-bit prime number, q as a 258-bit prime number, and d and e large numbers with (de ⁇ 1) divisible by (p ⁇ 1)(q ⁇ 1).
- E — K ( P ) P e mod pq
- D — K ( C ) C d mod pq. (2)
- FIGS. 1D and 1E illustrate a PGP cryptosystem 50 , wherein a plaintext message is encrypted and recovered.
- the plaintext message is compressed to save modem transmission time and disk space. Compression strengthens cryptographic security by adding another level of translation to the encrypting and decrypting processing. Most cryptanalysis techniques exploit patterns found in the plaintext to crack the cipher. Compression reduces these patterns in the plaintext, thereby enhancing resistance to cryptanalysis. Note that one embodiment does not compress plaintext or other messages that are too short to compress or which don't compress well aren't compressed.
- PGP then creates a session key, which is a one-time-only secret key.
- This key is a random number that may be generated from any random event(s), such as random movements of mouse and the keystrokes while typing.
- the session key works with a secure encryption algorithm to encrypt the plaintext, resulting in ciphertext.
- the session key is then encrypted to the recipient's public key. This public key-encrypted session key is transmitted along with the ciphertext to the recipient.
- the recipient's copy of PGP uses a private key to recover the temporary session key, which PGP then uses to decrypt the conventionally encrypted ciphertext.
- the combination of encryption methods takes advantage of the convenience of public key encryption and the speed of symmetric encryption. Symmetric encryption is generally much faster than public key encryption.
- Public key encryption in turn provides a solution to key distribution and data transmission issues. In combination, performance and key distribution are improved without any sacrifice in security.
- a key is a value that works with a cryptographic algorithm to produce a specific ciphertext. Keys are basically very large numbers. Key size is measured in bits. In public key cryptography, security increases with key size, however, public key size and the symmetric encryption private key size are not generally related. While the public and private keys are mathematically related, a difficulty arises in deriving a private key given only a public key. Deriving the private key is possible given enough time and computing power, making the selection of key size an important security issue. The goal is to have a large key that is secure, while maintaining key size sufficiently small for quick processing. An additional consideration is the expected interceptor, specifically, what is the importance of a message to a third party, and how much resource does a third party have to decrypt.
- PGP specifically stores keys in two files; one for public keys and one for private keys. These files are called keyrings.
- a PGP encryption system adds the public keys of target recipients to the sender's public keyring.
- the sender's private keys are stored on the sender's private keyring.
- the method of distributing the keys used for encryption and decryption can be complicated.
- the “key exchange problem” involves first ensuring that keys are exchanged such that both the sender and receiver can perform encryption and decryption, respectively, and for bi-directional communication, such that the sender and receiver can both encrypt and decrypt messages. Further, it is desired that key exchange be performed so as to preclude interception by a third unintended party. Finally, an additional consideration is authentication providing assurance to the receiver that a message was encrypted by an intended sender and not a third party.
- the keys are exchanged secretly providing improved security upon successful key exchange and valid authentication. Note that the private key encryption scheme implicitly provides authentication.
- One solution is to develop a key distribution mechanism that assures that listed keys are actually those of the given entities, sometimes called a trusted authority, certificate authority, or third part escrow agent.
- the authority typically does not actually generate keys, but does ensure that the lists of keys and associated identities kept and advertised for reference by senders and receivers are correct and uncompromised.
- Another method relies on users to distribute and track each other's keys and trust in an informal, distributed fashion.
- RSA if a user wishes to send evidence of their identity in addition to an encrypted message, a signature is encrypted with the private key.
- the receiver can use the RSA algorithm in reverse to verify that the information decrypts, such that only the sender could have encrypted the plaintext by use of the secret key.
- the encrypted ‘signature’ is a ‘message digest’ that comprises a unique mathematical ‘summary’ of the secret message (if the signature were static across multiple messages, once known previous receivers could use it falsely). In this way, theoretically only the sender of the message could generate a valid signature for that message, thereby authenticating it for the receiver.
- a message digest is often computed using a cryptographic hash function.
- a cryptographic hash function computes a value (with a fixed number of bits) from any input, regardless of the length of the input.
- One property of a cryptographic hash function is this: given an output value, it is computationally difficult to determine an input that will result in that output.
- An example of a cryptographic hash function is SHA-1 as described in “Secure Hash Standard,” FIPS PUB 180-1, promulgated by the Federal Information Processing Standards Publications (FIPS PUBS) and issued by the National Institute of Standards and Technology.
- FIG. 2 serves as an example of a communications system 100 that supports a number of users and is capable of implementing at least some aspects and embodiments of the invention. Any of a variety of algorithms and methods may be used to schedule transmissions in system 100 .
- System 100 provides communication for a number of cells 102 A through 102 G, each of which is serviced by a corresponding base station 104 A through 104 G, respectively.
- some of base stations 104 have multiple receive antennas and others have only one receive antenna.
- some of base stations 104 have multiple transmit antennas, and others have single transmit antennas.
- Terminals 106 in the coverage area may be fixed (i.e., stationary) or mobile. As shown in FIG. 2 , various terminals 106 are dispersed throughout the system. Each terminal 106 communicates with at least one and possibly more base stations 104 on the downlink and uplink at any given moment depending on, for example, whether soft handoff is employed or whether the terminal is designed and operated to (concurrently or sequentially) receive multiple transmissions from multiple base stations. Soft handoff in CDMA communications systems is well known in the art and is described in detail in U.S. Pat. No. 5,101,501, entitled “METHOD AND SYSTEM FOR PROVIDING A SOFT HANDOFF IN A CDMA CELLULAR TELEPHONE SYSTEM,” which is assigned to the assignee of the present invention.
- the downlink refers to transmission from the base station to the terminal
- the uplink refers to transmission from the terminal to the base station.
- some of terminals 106 have multiple receive antennas and others have only one receive antenna.
- base station 104 A transmits data to terminals 106 A and 106 J on the downlink
- base station 104 B transmits data to terminals 106 B and 106 J
- base station 104 C transmits data to terminal 106 C, and so on.
- HDR High Data Rate
- EIA/TIA-IS856 cdma2000 High Rate Packet Data Air Interface Specification referred to as “the HDR specification.”
- HDR service is generally an overlay to a voice communication system that provides an efficient method of transmitting packets of data in a wireless communication system. As the amount of data transmitted and the number of transmissions increases, the limited bandwidth available for radio transmissions becomes a critical resource. There is a need, therefore, for an efficient and fair method of scheduling transmissions in a communication system that optimizes use of available bandwidth.
- system 100 illustrated in FIG. 2 is consistent with a CDMA type system having HDR service.
- the system 100 supports a high-speed multimedia broadcasting service referred to as High-Speed Broadcast Service (HSBS).
- HSBS High-Speed Broadcast Service
- An example application for HSBS is video streaming of movies, sports events, etc.
- the HSBS service is a packet data service based on the Internet Protocol (IP).
- IP Internet Protocol
- a service provider indicates the availability of such high-speed broadcast service to the users.
- the users desiring the HSBS service subscribe to receive the service and may discover the broadcast service schedule through advertisements, Short Management System (SMS), Wireless Application Protocol (WAP), etc.
- SMSs Short Management System
- WAP Wireless Application Protocol
- Mobile users are referred to as Mobile Stations (MSs).
- MSs Base Stations (BSs) transmit HSBS related parameters in overhead messages. When an MS desires to receive the broadcast session, the MS reads the overhead messages and learns the appropriate configurations. The MS then tunes to the frequency containing the HSBS channel, and receives the broadcast service content.
- the service being considered is a high-speed multimedia broadcasting service.
- This service is referred to as High-Speed Broadcast Service (HSBS) in this document.
- HSBS High-Speed Broadcast Service
- One such example is video streaming of movies, sports events, etc.
- IP Internet Protocol
- the service provider will indicate the availability of such high-speed broadcast service to the users.
- the mobile station users who desire such service will subscribe to receive this service and may discover the broadcast service schedule through advertisements, SMS, WAP, etc.
- Base stations will transmit broadcast service related parameters in overhead messages.
- the mobiles that wish to listen to the broadcast session will read these messages to determine the appropriate configurations, tune to the frequency containing the high-speed broadcast channel, and start receiving the broadcast service content.
- HSBS service There are several possible subscription/revenue models for HSBS service, including free access, controlled access, and partially controlled access. For free access, no subscription is needed by the mobiles to receive the service.
- the BS broadcasts the content without encryption and interested mobiles can receive the content.
- the revenue for the service provider can be generated through advertisements that may also be transmitted in the broadcast channel. For example, upcoming movie-clips can be transmitted for which the studios will pay the service provider.
- Controlled access can be achieved by encrypting the HSBS transmission/content so that only the subscribed users can decrypt the content. This may use over-the-air encryption key exchange procedures. This scheme provides strong security and prevents theft-of-service.
- a hybrid access scheme referred to as partial controlled access, provides the HSBS service as a subscription-based service that is encrypted with intermittent unencrypted advertisement transmissions. These advertisements may be intended to encourage subscriptions to the encrypted HSBS service. Schedule of these unencrypted segments could be known to the MS through external means.
- a wireless communication system 200 is illustrated in FIG. 3 , wherein video and audio information is provided to Packetized Data Service Network (PDSN) 202 by a Content Server (CS) 201 .
- the video and audio information may be from televised programming or a radio transmission.
- the information is provided as packetized data, such as in IP packets.
- the PDSN 202 processes the IP packets for distribution within an Access Network (AN).
- AN is defined as the portions of the system including a BS 204 in communication with multiple MS 206 .
- the PDSN 202 is coupled to the BS 204 .
- the BS 204 receives the stream of information from the PDSN 202 and provides the information on a designated channel to subscribers within the system 200 .
- the content is encrypted by the CS 201 before being provided to the PDSN 202 .
- the subscribed users are provided with the decryption key so that the IP packets can be decrypted.
- FIG. 4 details an MS 300 , similar to MS 206 of FIG. 3 .
- the MS 300 has an antenna 302 coupled to receive circuitry 304 .
- the MS 300 receives transmissions from a BS (not shown) similar to BS 204 of FIG. 3 .
- the MS 300 includes a User Identification Module (UIM) 308 and a Mobile Equipment (ME) 306 .
- the receive circuitry is coupled to the UIM 308 and the ME 306 .
- the UIM 308 applies verification procedures for security of the HSBS transmission and provides various keys to the ME 306 .
- the ME 306 may be coupled to processing unit 312 .
- the ME 306 performs substantial processing, including, but not limited to, decryption of HSBS content streams.
- the ME 306 includes a memory storage unit, MEM 310 .
- MEM 310 the data in the ME 306 processing (not shown) and the data in the ME memory storage unit, MEM 310 may be accessed easily by a non-subscriber by the use of limited resources, and therefore, the ME 306 is said to be insecure. Any information passed to the ME 306 or processed by the ME 306 remains securely secret for only a short amount of time. It is therefore desired that any secret information, such as key(s), shared with the ME 306 be changed often.
- the UIM 308 is trusted to store and process secret information (such as encryption keys) that should remain secret for a long time. As the UIM 308 is a secure unit, the secrets stored therein do not necessarily require the system to change the secret information often.
- the UIM 308 includes a processing unit referred to as a Secure UIM Processing Unit (SUPU) 316 and memory storage unit referred to as a Secure UIM Memory Unit (SUMU) 314 that is trusted to be secure.
- SUMU 314 stores secret information in such a way that as to discourage unauthorized access to the information. If the secret information is obtained from the UIM 308 , the access will require a significantly large amount of resources.
- the SUPU 316 performs computations on values that may be external to the UIM 308 and/or internal to the UIM 308 .
- the results of the computation may be stored in the SUMU 314 or passed to the ME 306 .
- the computations performed with the SUPU 316 can only be obtained from the UIM 308 by an entity with significantly large amount of resources.
- outputs from the SUPU 316 that are designated to be stored within the SUMU 314 are designed such that unauthorized interception requires significantly large amount of resources.
- the UIM 308 is a stationary unit within the MS 300 .
- the UIM 308 may also include non-secure memory and processing (not shown) for storing information including telephone numbers, e-mail address information, web page or URL address information, and/or scheduling functions, etc.
- Alternate embodiments may provide a removable and/or reprogrammable UIM.
- the SUPU 316 does not have significant processing power for functions beyond security and key procedures, such as to allow encryption of the broadcast content of the HSBS.
- Alternate embodiments may implement a UIM having stronger processing power.
- the UIM is associated with a particular user and is used primarily to verify that the MS 300 is entitled to the privileges afforded the user, such as access to the mobile phone network. Therefore, a user is associated with the UIM 308 rather than an MS 300 . The same user may be associated with multiple UIM 308 .
- the broadcast service faces a problem in determining how to distribute keys to subscribed users.
- the ME To decrypt the broadcast content at a particular time, the ME must know the current decryption key. To avoid theft-of-service, the decryption key should be changed frequently, for example, every minute.
- These decryption keys are called Short-term Keys (SK).
- the SK is used to decrypt the broadcast content for a short-amount of time so the SK can be assumed to have some amount of intrinsic monetary value for a user. For example, this intrinsic monetary value may be a portion of the registration costs. Assume that the cost of a non-subscriber obtaining SK from the memory storage unit, MEM 310 , of a subscriber exceeds the intrinsic monetary value of SK.
- the channels used by the CS (not shown) to distribute the SK to the various subscriber units are considered insecure. Therefore, when distributing a given SK, the CS desires to use a technique that hides the value of the SK from non-subscribed users. Furthermore, the CS distributes the SK to each of a potentially large number of subscribers for processing in respective MEs within a relatively short timeframe. Known secure methods of key transmission are slow and require transmission of a large number of keys, and are generally not feasible for the desired criteria.
- the exemplary embodiment is a feasible method of distributing decryption keys to a large set of subscribers within a small time-frame in such a way that non-subscribers cannot obtain the decryption keys.
- the MS 300 supports HSBS in a wireless communication system.
- the user To obtain access to HSBS, the user must register and then subscribe to the service. Once the subscription is enabled, the various keys are updated periodically.
- the CS and UIM 308 agree on a Registration Key (RK) that serves as a security association between the user and the CS.
- the CS may then send the UIM further secret information encrypted with the RK.
- the RK is kept as a secret in the UIM 308 , and is unique to a given UIM, i.e., each user is assigned a different RK.
- the registration process alone does not give the user access to HSBS. As stated hereinabove, after registration the user subscribes to the service.
- the CS sends the UIM 308 the value of a common Broadcast Access Key (BAK).
- BAK Broadcast Access Key
- the CS sends the MS 300 , and specifically UIM 308 , the value of BAK encrypted using the RK unique to UIM 308 .
- the UIM 308 is able to recover the value of the original BAK from the encrypted version using the RK.
- the BAK serves as a security association between the CS and the group of subscribed users.
- the CS then broadcasts data called SK Information (SKI) that is combined with the BAK in the UIM 308 to derive SK.
- SKI SK Information
- the UIM 308 passes SK to the ME 306 . In this way, the CS can efficiently distribute new values of SK to the ME of subscribed users.
- the UIM 308 and the CS set-up a security association. That is, the UIM 308 and the CS agree on a secret key RK.
- the RK is unique to each UIM 308 , although if a user has multiple UIMs then these UIMs may share the same RK dependent on the policies of the CS.
- This registration may occur when the user subscribes to a broadcast channel offered by the CS or may occur prior to subscription.
- a single CS may offer multiple broadcast channels.
- the CS may choose to associate the user with the same RK for all channels or require the user to register for each channel and associate the same user with different RKs on different channels. Multiple CSs may choose to use the same registration keys or require the user to register and obtain a different RK for each CS.
- AKA Authenticated Key Agreement
- IKE Internet Key Exchange
- the UIM memory unit SUMU 314 contains a secret key referred to as the A-key.
- the AKA method is described.
- the AKA method is a secret known only to the UIM and a trusted third party (TTP): the TTP may consist of more than one entity.
- the TTP is typically the mobile service provider with whom the user is registered. All communication between the CS and TTP is secure, and the CS trusts that the TTP will not assist unauthorized access to the broadcast service.
- the CS informs the TTP that the user wishes to register for the service and provides verification of the user's request.
- the TTP uses a function (similar to a cryptographic hash function) to compute the RK from the A-key and additional data called Registration Key Information (RKI).
- RKI Registration Key Information
- the TTP passes RK, RKI to the CS over a secure channel along with other data not relevant to this submission.
- the CS sends RKI to the MS 300 .
- the receiver circuitry 304 passes RKI to the UIM 308 and possibly passes RKI to the ME 306 .
- the UIM 308 computes RK from RKI and the A-key that is stored in the UIM memory unit SUMU 314 .
- the RK is stored in the UIM memory unit SUMU 314 and is not provided directly to the ME 306 . Alternate embodiments may use an IKE scenario or some other method to establish the RK.
- the RK serves as the security association between the CS and UIM 308 .
- the RK is a secret shared between the CS, UIM and TTP. Therefore, as used herein, the AKA method implies that any security association between the CS and UIM implicitly includes the TTP. The inclusion of the TTP in any security association is not considered a breach of security, as the CS trusts the TTP not to assist in unauthorized access to the broadcast channel. As stated hereinabove, if a key is shared with the ME 306 , it is desirable to change that key often. This is due to the risk of a non-subscriber accessing information stored in memory storage unit, MEM 310 and thus allowing access to a controlled or partially controlled service.
- the ME 306 stores SK (key information used for decrypting broadcast content) in memory storage unit, MEM 310 .
- the CS must send sufficient information for subscribed users to compute SK. If the ME 306 of a subscribed user could compute SK from this information, then additional information required to compute SK cannot be secret. In this case, assume that the ME 306 of a non-subscribed user could also compute SK from this information. Hence, the value of SK must be computed in the SUPU 316 , using a secret key shared by the CS and SUMU 314 .
- the CS and SUMU 314 share the value of RK, however each user has a unique value of RK. There is insufficient time for the CS to encrypt SK with every value of RK and transmit these encrypted values to each subscribed user. Some other technique is required.
- the CS periodically distributes a common Broadcast Access Key (BAK) to each subscriber UIM 308 .
- BAK Broadcast Access Key
- BAKI BAK Information
- the CS sends the corresponding BAKI to MS 300 of the subscribed user.
- BAK may be transmitted as an IP packet encrypted using the RK corresponding to each MS.
- the BAKI is an IPSec packet.
- BAKI is an IPSec packet containing BAK that is encrypted using RK as the key.
- the MS 300 passes the BAKI to the UIM 308 .
- the SUPU 316 computes BAK using the value of RK stored in SUMU 314 and the value of BAKI.
- the value of BAK is then stored in the SUMU.
- the BAKI contains a Security Parameter Index (SPI) value instructing the MS 300 to pass BAKI to the UIM 308 , and instructing the UIM 308 to use the RK for decrypting the BAKI.
- SPI Security Parameter Index
- the period for updating the BAK is desired to be sufficient to allow the CS to send the BAK to each subscriber individually, without incurring significant overhead. Since the ME 306 is not trusted to keep secrets for a long time, the UIM 308 does not provide the BAK to the ME 306 .
- the BAK serves as the security association between the CS and the group of subscribers of HSBS service.
- the following paragraph discusses how the SK is updated following a successful subscription process.
- a short-term interval is provided during which SK is distributed on a broadcast channel.
- the CS uses a cryptographic function to determine two values SK and SKI (SK Information) such that SK can be determined from BAK and SKI.
- SKI may be the encryption of SK using BAK as the key.
- SKI is an IPSec packet containing SK that is encrypted using BAK as the key.
- SK may be the result of applying a cryptographic hash function to the concatenation of the blocks SKI and BAK.
- SKI_A a portion of SKI may be derived from the system time during which this SKI is valid. This portion, denoted SKI_A, need not be transmitted to the MS 300 as part of the broadcast service. The remainder of SKI, SKI_B may be unpredictable. The SKI_B need not be transmitted to the MS 300 as part of the broadcast service.
- the MS 300 reconstructs SKI from SKI_A and SKI_B and provides SKI to UIM 308 .
- the SKI may be reconstructed within the UIM 308 .
- the value of SKI must change for each new SK. Thus, either SKI_A and/or SKI_B must change when computing a new SK.
- the CS sends SKI_B to BS for broadcast transmission.
- the BS broadcasts SKI_B, which is detected by the antenna 302 and passed to the receive circuitry 304 .
- Receive circuitry 304 provides SKI_B to the MS 300 , wherein the MS 300 reconstructs SKI.
- the MS 300 provides SKI to UIM 308 , wherein the UIM 308 obtains the SK using the BAK stored in SUMU 314 .
- the SK is then provided by UIM 308 to ME 306 .
- the ME 306 stores the SK in memory storage unit, MEM 310 .
- the ME 306 uses the SK to decrypt broadcast transmissions received from the CS.
- the SKI also contains a Security Parameter Index (SPI) value instructing the MS 300 to pass SKI to the UIM 308 , and instructing the UIM 308 to use the BAK for decrypting the SKI.
- SPI Security Parameter Index
- the UIM 308 passes the SK to the ME 306 , wherein ME 306 uses the SK to decrypt broadcast content.
- the CS and BS agree on some criteria for when SKI_B is to be transmitted.
- the CS may desire to reduce the intrinsic monetary value in each SK by changing SK frequently. In this situation, the desire to change SKI_B data is balanced against optimizing available bandwidth.
- the SKI_B may be transmitted on a channel other than the broadcast channel.
- the receive circuitry 304 obtains information for locating the broadcast channel from a “control channel.” It may be desirable to allow quick access when a user “tunes” to the broadcast channel. This requires the ME 306 to obtain SKI within a short amount of time.
- the ME 306 will already know SKI_A, however, the BS must provide SKI_B to ME 300 within this short amount of time.
- the BS may frequently transmit SKI_B on the control channel, (along with the information for locating the broadcast channel), or frequently transmit SKI_B on the broadcast channel.
- the desire to refresh SKI_B data is balanced against optimizing available bandwidth, as transmitting SKI_B data too frequently may use an unacceptable amount of bandwidth in the control channel or broadcast channel.
- the CS encrypts the broadcast content using the current SK.
- the exemplary embodiment employs an encryption algorithm such as the Advanced Encryption Standard (AES)h Cipher Algorithm.
- AES Advanced Encryption Standard
- the encrypted content is then transported by an IPsec packet according to the Encapsulating Security Payload (ESP) transport mode.
- the IPsec packet also contains an SPI value that instructs the ME 306 to use the current SK to decrypt received broadcast content.
- the encrypted content is sent via the broadcast channel.
- Receive circuitry 304 provides the RKI and BAKI directly to the UIM 308 . Further, receive circuitry 304 provides the SKI_B to an appropriate part of the MS 300 where it is combined with SKI_A to obtain SKI.
- the SKI is provided to the UIM 308 by the relevant part of the MS 300 .
- the UIM 308 computes RK from the RKI and A-key, decrypts the BAKI using the RK to obtain BAK, and computes the SK using the SKI and BAK, to generate an SK for use by the ME 306 .
- the ME 306 decrypts the broadcast content using the SK.
- the UIM 308 of the exemplary embodiment is not sufficiently powerful for decryption of broadcast content in real time, and, therefore, SK is passed to the ME 306 for decrypting the broadcast content.
- FIG. 5 illustrates the transmission and processing of keys RK, BAK and SK according to the exemplary embodiment.
- the MS 300 receives the RKI and passes it to UIM 308 , wherein the SUPU 316 computes RK using RKI and the A-key, and stores the RK in UIM memory storage SUMU 314 .
- the MS 300 periodically receives the BAKI that contains BAK encrypted using the RK value specific to UIM 308 .
- the encrypted BAKI is decrypted by SUPU 316 to recover the BAK, which is stored in UIM memory storage SUMU 314 .
- the MS 300 further periodically receives an SKI_B that it combines with SKI_A to form SKI.
- the SUPU 316 computes SK from SKI and BAK.
- the SK is provided to ME 306 for decrypting broadcast content.
- the CS keys are not necessarily encrypted and transmitted to the MSs; the CS may use an alternative method.
- the key information generated by the CS for transmission to each MS provides sufficient information for the MS to calculate the key.
- the RK is generated by the CS, but RK Information (RKI) is transmitted to the MS.
- the CS sends information sufficient for the UIM to derive the RK, wherein a predetermined function is used to derive the RK from transmitted information from the CS.
- the function d 1 defines a cryptographic-type function.
- AES(X,Y) denotes the encryption of the 128-bit block RKI using the 128-bit A-key.
- RK is determined as the output of the 3GPP key generation function ⁇ 3 , wherein RKI includes the value of RAND and appropriate values of AMF and SQN as defined by the standard.
- the BAK is treated in a different manner because multiple users having different values of RK must compute the same value of BAK.
- the CS may use any technique to determine BAK.
- the value of BAKI associated with a particular UIM 308 must be the encryption of BAK under the unique RK associated with that UIM 308 .
- the CS may compute BAKI by applying a decryption process to BAK using RK, and the SUPU 316 obtains BAK by applying the encryption process to BAKI using RK.
- This is considered equivalent to the CS encrypting BAK and the SUPU 316 decrypting BAKI.
- Alternate embodiments may implement any number of key combinations in addition to or in place of those illustrated in FIG. 6 .
- the SK is treated in a similar manner to RK.
- First SKI is derived from the SKI_A and SKI_B (SKI_B is the information transmitted from CS to MS).
- the function d 3 defines a cryptographic-type function.
- FIGS. 7A-7D A method of providing the security for a broadcast message is illustrated in FIGS. 7A-7D .
- FIG. 7A illustrates a registration process 400 wherein a subscriber negotiates registration with the CS at step 402 .
- the registration at step 404 provides the UIM a unique RK.
- the UIM stores the RK in a Secure Memory Unit (SUMU) at step 406 .
- FIG. 7B illustrates subscription processing 420 between a CS and a MS.
- the CS generates a BAK for a BAK time period T 1 .
- the BAK is valid throughout the BAK time period T 1 , wherein the BAK is periodically updated.
- the CS authorizes the UIM to have access to the Broadcast Content (BC) during the BAK timer period T 1 .
- the CS encrypts the BAK using each individual RK for each subscriber.
- the encrypted BAK is referred to as the BAKI.
- the CS then transmits the BAKI to the UIM at step 428 .
- the UIM receives the BAKI and performs decryption using the RK at step 430 .
- the decrypted BAKI results in the originally generated BAK.
- the UIM stores the BAK n a SUMU at step 432 .
- the UIM then receives the broadcast session and is able to access the BC by applying the BAK to decryption of the encrypted broadcast (EBC).
- EBC decryption of the encrypted broadcast
- FIG. 7C illustrates a method of updating keys for security encryption in a wireless communication system supporting broadcast service.
- the method 440 implements time periods as given in FIG. 7E .
- the BAK is updated periodically having a time period T 1 .
- a timer t 1 is initiated when BAK is calculated and times out at T 1 .
- a variable is used for calculating the SK referred to as SK_RAND, which is updated periodically having a time period T 2 .
- a timer t 2 is initiated when the SK_RAND is generated and times out at T 2 .
- the SK is further updated periodically having a period of T 3 .
- a timer t 3 is initiated when each SK is generated and time out at time T 3 .
- the SK_RAND is generated at the CS and provided periodically to the MS.
- the MS and the CS use SK_RAND to generate the SK, as detailed hereinbelow.
- a first timer t 1 is reset when the applicable value of BAK is updated.
- the length of time between two BAK updates is the BAK update period.
- the BAK update period is a month, however, alternate embodiments may implement any time period desired for optimum operation of the system, or to satisfy a variety of system criteria.
- the method 440 initializes the timer t 2 at step 442 to start the SK_REG time period T 2 .
- the CS generates SK_RAND and provides the value to transmit circuitry for transmission throughout the system at step 444 .
- the timer t 3 is initialized at step 446 to start the SK time period T 3 .
- the CS then encrypts the BC using the current SK at step 448 .
- the encrypted product is the EBC, wherein the CS provides the EBC to transmit circuitry for transmission in the system. If the timer t 2 has expired at decision diamond 450 , processing returns to step 442 . While t 2 is less than T 2 , if the timer t 3 has expired at decision diamond 452 , processing returns to step 446 ; else processing returns to 450 .
- FIG. 7D illustrates the operation of the MS accessing a broadcast service.
- the method 460 first synchronizes the timers t 2 and t 3 with the values at the CS at step 462 .
- the UIM of the MS receives the SK_RAND generated by the CS at step 464 .
- the UIM generates the SK using the SK_RAND, BAK, and a time measurement.
- the UIM passes the SK to the ME of the MS.
- the UIM decrypts the received EBC using the SK to extract the original BC at step 468 .
- the timer t 2 expires at step 470 processing returns to step 462 . While the timer t 2 is less than T 2 , if the timer t 3 expires at step 472 , the timer t 3 is initialized at step 474 and returns to 466 .
- the CS When the user subscribes to the broadcast service for a particular BAK update period, the CS sends the appropriate information BAKI (corresponding to the BAK encrypted with the RK). This typically occurs prior to the beginning of this BAK update period or when the MS first tunes to the broadcast channel during this BAK update period. This may be initiated by the MS or CS according to a variety of criteria. Multiple BAKI may be transmitted and decrypted simultaneously.
- the MS may request the updated BAK from the CS if the MS has subscribed for the next BAK update period.
- the first timer t 1 is used by the CS, where upon expiration of the timer, i.e., satisfaction of the BAK update period, the CS transmits the BAK.
- BAK update period wherein, for example, a subscriber joins the service mid-month when the BAK updates are performed monthly.
- time periods for BAK and SK updates may be synchronized, such that all subscribers are updated at a given time.
- FIG. 8A illustrates the registration process in a wireless communication system 500 according to the exemplary embodiment.
- the CS 502 negotiates with each subscriber, i.e., MS 512 , to generate a specific RK to each of the subscribers.
- the RK is provided to the SUMU unit within the UIM of each MS.
- the CS 502 generates RK 1 which is stored in SUMU 1 510 within UIM 1 512 .
- the CS 502 generates RK 2 and RK N which are stored in SUMU 2 520 within UIM 2 522 and SUMU N 530 within UIM N 532 , respectively.
- FIG. 8B illustrates the subscription process in the system 500 .
- the CS 502 further includes multiple encoders 504 .
- Each of the encoders 504 receives one of the unique RKs and the BAK value generated in the CS 502 .
- the output of each encoder 504 is a BAKI encoded specifically for a subscriber.
- the BAKI is received at the UIM of each MS, such as UIM 1 512 .
- Each UIM includes a SUPU and a SUMU, such as SUPU 1 514 and SUMU 1 510 of UIM 1 512 .
- the SUPU includes a decoder, such as decoder 516 that recovers the BAK by application of the RK of the UIM. The process is repeated at each subscriber.
- FIG. 8C Key management and updates are illustrated in FIG. 8C , wherein the CS applies a function 508 to generate a value of SK_RAND, which is an interim value used by the CS and MS to calculate SK.
- the function 508 applies the BAK value, the SK_RAND and a time factor. While the embodiment illustrated in FIG. 8C applies a timer to determine when to update the SK, alternate embodiments may use alternate measures to provide periodic updates, for example occurrence of an error or other event.
- the CS provides the SK_RAND value to each of the subscribers, wherein a function 518 resident in each UIM applies the same function as in function 508 of the CS.
- the function 518 operates on the SK_RAND, BAK and a timer value to generate a SK that is stored in a memory location in the ME, such as MEM 1 542 of ME 1 540 .
- FIG. 8D illustrates the processing of BC after registration and subscription.
- the CS 502 includes an encoder 560 that encodes the BC using the current SK to generate the EBC.
- the EBC is then transmitted to the subscribers.
- Each MS includes an encoder, such as encoder 544 , that extracts the BC from the EBC using the SK.
- a user may subscribe to a first entity that is different from the current Content Server (CS), content provider, and/or content source for the current broadcast or transmission.
- CS Content Server
- content provider content provider
- content source for the current broadcast or transmission.
- a user that is roaming into a different geographical area.
- the user is a subscriber to a central news broadcast entity, such as CNN.
- An affiliate of the central news broadcast entity, such as CNN Asia may be generated locally.
- authorization may require the locally generated broadcast entity to check the central broadcast entity's subscription database.
- Each broadcast entity may have a separate Subscription Server (SS), which complicates authentication, as each of SS needs to negotiate with another SS in the roaming situation. Similarly, the use of separate SSs may incur complications of key distributions.
- SS Subscription Server
- Each of the SS may be owned by a local CS or may have a business arrangement with the local CS.
- the home system or network referred to as the HLR or the HLR/AC holds the mobile user's subscription. In other words, home refers to the system where the normal telephone subscription is located.
- the visited system or network referred to as the VLR, such as MSC/VLR, is then a system entered by roaming, etc. When a user is not roaming, the VLR system is the same as the HLR system.
- a Content Server (CS) is referred to as local/visited when that CS provides content to the visited network.
- the CS includes a content source and a Broadcast Access Key (BAK) generator.
- BAK Broadcast Access Key
- a BAK encryptor encrypts the BAK for provision into a UIM.
- a BAK encryptor may be associated only with one CS or may serve multiple CSs.
- a Subscription Server holds subscription data authorizing a user to at least one BroadCast MultiCast Service (BCMCS).
- the SS may be owned by a local CS or may be part of a business agreement with a local CS.
- BCMCS Broadcast and multicast services. Entities, called Content Servers (CSs), will provide content to participating mobile Service Providers (SPs).
- the content is envisioned to be audiovisual data.
- a CS may be part of the serving network, but this is not necessarily so.
- the SP will transmit this content on a particular physical channel. If the content is offered for free, then any user can access this channel to view/process the content. If access to the channel is subscription based, then while any users can tune into the physical channel, the content will be encrypted so that only the subscribed users will be able to view/process the content.
- FIG. 18 A system for providing broadcast and multicast services is illustrated in FIG. 18 .
- the security threat may involve a user obtaining access to the content without paying a subscription fee (where required).
- the content is encrypted and decryption keys provided only to those users who have subscribed. Key management then becomes of critical importance.
- the broadcast content may be protected by end-to-end encryption using IPSec Encapsulating Security Payload (ESP) in transport mode.
- ESP IPSec Encapsulating Security Payload
- the security parameters such as the encryption key and the encryption algorithm, are stored as a security association, which is indexed by the destination address and a 32-bit value called the Security Parameter Index (SPI).
- SPI Security Parameter Index
- the Mobile Station is considered as two separate entities, the User Identity Module (UIM) and the Mobile Equipment (ME).
- the UIM is a low power processor that contains secure memory.
- the UIM may be removable (like a SIM card) or part of the MS itself.
- the ME contains a high power processor, but no secure memory.
- the content is encrypted with a frequently changing Short-term Key (SK).
- SK Short-term Key
- the ME decrypts the content using SK.
- SK is changed frequently to prevent a “rogue shell” from sending SK to other terminals for use in receiving the broadcast, thereby providing many with service with only a single paying subscription.
- the SK is not transmitted; the value of SK used to encrypt a particular broadcast packet is derived from a Broadcast Access Key (BAK) and the SPI in the header of that IPSec packet.
- BAK Broadcast Access Key
- BAK resides in the UIM, requiring the presence of the UIM in order to receive broadcast service.
- the current BAK is the same for all subscribers to that channel, and the BAK provides access for a period of time determined by the operator.
- the UIM can compute the SK values needed for the ME to decrypt the broadcast.
- the subscription process is outside the scope of this discussion. However, assume that the CS and SP agree on a subscription process that includes provisioning of a per-subscription root key that can be used both for authentication and for key management. Assume that this root key is held by the AC or AAA-H.
- the broadcast subscription may be held in the CS or another entity that is separate from the subscription for wireless access that would be held in the AAA-H or in the HLR associated with an AC.
- a wireless access subscription is established before the broadcast service subscription is established.
- the location of the subscription data will affect how BAKs are provisioned. There are two methods that an MS can use to detect if it has the correct BAK.
- the first step is to obtain the Session Data Parameters (SDP) from the CS.
- SDP Session Data Parameters
- the SDP includes related data about BAK, such as an identifier (sequence number) and expiration time, if any. These values allow the MS to determine if it needs to update the BAK. If a BAK update is required during a transmission, the transmission will include notification for the MS to perform an SDP update (from which the MS can determine that it needs to update the BAK).
- IPSec packets encrypted with SK values derived from BAK have the 4 most significant bits (MSBs) of the SPI set to the BAK_ID corresponding to that BAK. So the ME can extract the 4 MSBs to check if the UIM has the correct BAK.
- MSBs most significant bits
- the CS decides how often BAK is changed. Frequent BAK changes will provide more security. Frequent BAK changes will also provide greater flexibility in billing.
- a user Once a user has BAK, they can access the content for the lifetime of that BAK. Suppose the BAK is changed at the beginning of every month. If a user's subscription runs out halfway through the lifetime of a BAK, the user will still be able to generate SK (and thus view the content) until the BAK expires. So by changing BAK only every month, the CS can only charge subscriptions from the beginning of the month to the end of the month. A user can't subscribe from the middle of one month to the middle of the next. However, if BAK changed every day, then the user could subscribe from the beginning of any day during the month. Increasing the frequency of BAK changes should be evaluated against a possible increase in the number of times the mobile station has to retrieve new BAK values.
- the CS may provision the UIM with BAK, as in FIG. 19 .
- the MS contacts the CS.
- the CS checks if the user is subscribed. If the user is subscribed, then the CS contacts the AC/AAA of the user to obtain a temporary SMCK as in IS-683-B.
- the AC/AAA generates a random number RAND SM and combines this with the current SSD-B (or the root key K) of the mobile station to obtain SMCK.
- the SHA-1 based function ⁇ 3 is used for this purpose.
- the AC/AAA sends RAND SM and SMCK to the CS.
- the CS encrypts BAK using SMCK to obtain EBAK.
- the CS then sends RAND SM , BAK_ID and EBAK to the mobile station.
- the UIM combines RAND SM with the root key K (or the current SSD-B) to obtain SMCK.
- the UIM then uses SMCK to decrypt EBAK to obtain BAK, and stores BAK within secure memory.
- the SP can provision UIMs with BAK on behalf of the CS, as shown in FIG. 20 .
- the SP has one or more BAK Update Entities (BAKUEs) that can provision a UIM with BAK.
- BAKUEs BAK Update Entities
- the CS supplies the current BAK to the BAKUEs.
- the MS determines that it needs to update BAK, the MS contacts a BAKUE.
- the BAKUE contacts the AC/AAA of the user to obtain a temporary Secure Mode Cipher Key (SMCK) as in IS-683-B.
- SMCK Secure Mode Cipher Key
- the AC/AAA checks if the user is subscribed. If the user is subscribed, then the AC/AAA generates a random number RAND SM and combines this with the current SSD-B (or the root key K) of the mobile station to obtain SMCK.
- the SHA-1 based function ⁇ 3 is used for this purpose.
- the AC/AAA sends RAND SM and SMCK to the BAKUE.
- the BAKUE encrypts BAK using SMCK to obtain EBAK.
- the CS then sends RAND SM , BAK_ID and EBAK to the mobile station.
- the UIM combines RAND SM with the root key K (or the current SSD-B) to obtain SMCK.
- the UIM then uses SMCK to decrypt EBAK to obtain BAK, and stores BAK within secure memory.
- the SP can provision UIMs with BAK on behalf of the CS, as shown in FIG. 20 .
- the SP has one or more BAK Update Entities (BAKUEs) that can provision a UIM with BAK.
- BAKUEs BAK Update Entities
- the UIM should store BAK and related data about BAK, such as an identifier (sequence number) and expiration time, if any. It may prove beneficial to provision UIM with BAK shortly before BAK begins being used to derive SK values. Otherwise, once the CS starts sending packets with SK derived from the new BAK, the user would experience a delay as the MS performs a BAK update. If many users are tuned in, then there will be a burst of traffic as all the MSs perform a BAK update.
- a Broadcast Multicast Service as described herein may allow an MS to obtain the new BAK shortly before the BAK changes.
- the MS, SP or CS may initiate the BAK acquisition process.
- Different MS may have different schedules for performing BAK updates, to prevent too many MSs performing a BAK update at once.
- the ME may store the BAK-related data, to save requesting this information from the UIM.
- the CS encrypts the broadcast content according to IPSec ESP in transport mode, using SK as the encryption key.
- the CS performs the following steps.
- the CS chooses a random 28-bit value SPI_RAND.
- the CS pads SPI_RAND to 128 bits.
- the CS encrypts this 128-bit value using BAK as the key.
- the 128-bit output is SK.
- the CS puts the new value of SK in an SA indexed by the SPI and the destination address of the broadcast packet.
- SPI_RAND should be random, so that a user can't predict what values of SPI will be used in the future. Otherwise someone could pre-compute the SK values to be used for that day and distribute these keys at the beginning of the day. For someone wanting to distribute keys, this process is easier (and less expensive) than distributing the keys in real time.
- the ME Given a BCMCS IPSec packet, the ME performs the following steps. The ME obtains the SPI. The ME extracts the BAK_ID from the SPI. The ME then decides if the UIM has the correct BAK. If the UIM doe not have the correct BAK, then the MS updates the BAK as discussed above. (Alternatively, the ME may check the SDP to see if it has the current BAK).
- the ME checks if it has a security association (SA) corresponding to the SPI and the destination address of the broadcast packet. If the ME has an SA with this SPI then the ME decrypts the block (as per IPSec ESP in transport mode) using the decryption key SK in the SA. If the ME does not have an SA with this SPI then the ME passes the SPI to the UIM so that the UIM can compute the SK.
- the UIM computes the SK as follows. The UIM extracts the BAK_ID from the 4 most significant bits of the SPI and retrieves the value of BAK (corresponding to BAK_ID) from its memory. The UIM extracts the 28-bit SPI_RAND and pads SPI_RAND to 128 bits.
- the UIM encrypts this 128-bit value using BAK as the key.
- the 128-bit output is SK.
- the UIM passes SK to the ME.
- the ME puts the new value of SK in an SA indexed by the SPI and the destination address of the broadcast packet.
- the ME now decrypts the block, as per IPSec ESP in transport mode, using SK as the key.
- the same value of SK can be used for more than one IPSec packet.
- the CS decides when and how often to change SK. Decreasing the lifetime of SK increases the security.
- the SK may normally change every 5 to 10 minutes, but it is up to the CS to decide how often they wish to change SK. During peak-usage times, the CS may choose to change SK more often for additional security. Note that the value of SK is changed by changing SPI, so the CS and MS must be designed to accommodate dynamic SPIs.
- the same value of SK may be used for more than one IPSec packet.
- the CS decides when and how often to change SK. Decreasing the lifetime of SK increases the security.
- the SK may normally change every 5 to 10 minutes, but it is up to the CS to decide how often they wish to change SK. During peak-usage times, the CS may choose to change SK more often for additional security. Note that the value of SK is changed by changing SPI, so the CS and MS must be designed to accommodate dynamic SPIs.
- the same value of SK can be used for more than one IPSec packet.
- the CS decides when and how often to change SK. Decreasing the lifetime of SK increases the security.
- the SK may normally change every 5 to 10 minutes, but it is up to the CS to decide how often they wish to change SK. During peak-usage times, the CS may choose to change SK more often for additional security. Note that the value of SK is changed by changing SPI, so the CS and MS must be designed to accommodate dynamic SPIs.
- Table 1 may be useful as a quick reference regarding the use, computation and storage of keys in the MS.
- Table 1 is a summary of the use computation and storage of keys in the Mobile Station. TABLE 1 is used is com- is stored The key: to: lasts for: requires: puted in: in: SMCK decrypt [tem- Root Key UIM (temporary) BAK porary] K BAK compute hours/days SMCK UIM UIM SK SK decrypt sec/ BAK, SPI UIM ME content minutes
- BCMCS offers new challenges for key management that require non-standard solutions. If a solution uses IPSec, then a variable SPI is desired for BCMCS, in order to determine which value of SK should be used to decrypt. For one embodiment, key management (in which SK is derived from BAK and SPI) is sufficiently secure for BCMCS, and allows a particularly practical solution for BCMCS.
- the goal is to dissuade the potential market (those users for which the service is targeted) from using illegitimate means to access the content.
- the ME cannot be trusted to store or compute long-term keys; the long term keys are to be stored and computed in the UIM.
- the UIM is not powerful enough to perform public-key cryptographic operations so all key management must be based on symmetric cryptography. SPs and other entities will have access to some of the symmetric keys and may exploit these to derive decryption keys. It appears that the real threat is that of subscribed users distributing decryption keys to non-subscribed users.
- One solution is to change the decryption key frequently and in an unpredictable manner. The challenge is achieving this while minimizing the transmission overhead required for key distribution.
- One solution distributes a Broadcast Access Key (BAK) to each user individually, wherein many decryption keys are derived using the BAK and public information sent with the broadcast.
- BAK Broadcast Access Key
- An example is shown in FIG. 21 . In this example, only three decryption keys are derived from each BAK. In practice, there may be hundreds or thousands of decryption keys derived from a single BAK.
- FIG. 21 is an example of deriving many decryption keys from one BAK by combining with information sent on the broadcast channel. If a subscribed user could extract BAK and distribute it to other users, then this would allow the other users to derive many SKs. To avoid this, the BAK must be kept in secure memory in the UIM so that the user cannot extract BAK. There are various options for provisioning the UIM with BAK. The option suggested (similar to IS-683-B Secure Mode) appears to be the simplest solution.
- the two major options for distributing the SK include: 1) sending SK in packets separate from the content stream; or 2) deriving the SK from information included in the IPSec packet containing the content. Hybrid schemes may also be considered.
- a user may “tune in” at any time during the broadcast. The user will want almost instant access to the content. Thus, if information for deriving SK (for example, and encrypted value of SK or a random seed) is sent in a packets separate from the content, then the CS must resend the information for deriving SK every few seconds.
- One disadvantage is that this method uses up bandwidth. The major disadvantage is that there is no standard method for distinguishing packets containing SK information from packets containing content.
- the SPI includes a 4-bit BAK_ID, and there would be an expiration time for the BAK so that BAK_ID can be re-used for other values of BAK in the future. This leaves 28 bits of the SPI that could change, corresponding to 228 possible values of SK.
- the ME passes this SPI to the UIM and the UIM computes SK from SPI and BAK.
- the ME would have the new SK back in a negligible amount of time, and could continue decrypting.
- the variable portion of SPI should be random; otherwise a subscribed user could get the UIM to pre-compute the necessary SK values and distribute them.
- Such methods incur no additional bandwidth for distributing SK to the users, and allow the UIM to compute SK as soon as it has the BAK and the ME has begun receiving the IPSec packets.
- the user doesn't have to wait for the packets containing information for SK. This is a considerable advantage, particularly in the case where a user is changing channels every few seconds or minutes: the user will not want a few seconds delay while waiting for information to derive SK every time they change channels.
- This scheme allows a relatively small number of SK values to be derived from a single BAK: Specifically, in the example described, there are 2 28 values (corresponding to the 2 28 values of SPI_RAND), compared to 2 128 values using other methods.
- a group of subscribed users could get their UIM to pre-compute all 2 28 values of SK for the current BAK by inputting all 2 28 possible SPI values.
- a large number of subscribed UIMs would be able to pre-compute these values within, say, one hour. This group could then distribute these values.
- the set of keys would require around 4 gigabytes of memory.
- the following discussion presents several options for enhancing the security of BCMCS and similar broadcast type services. Specifically considered are: 1)encryption layers, including link layer encryption and end-to-end encryption; 2) BAK update procedures, such as encryption at the SS and encryption at the local network; 3) location of the BAK encryptor, or BAK distribution server, such as associated with a single CS or centralized for provision for multiple CS, and 4) SK transport, wherein the SK may be derived from the SPI or sent in encrypted form.
- An exemplary architecture is provided in FIG. 9 which will be used for the following discussion.
- the exemplary embodiment provides a method for first establishing a Registration Key (RK), or root key, securely between a home system or network, referred to as an HLR, and a secure module within a remote unit, the UIM.
- RK Registration Key
- An AKA procedure, or a modified AKA procedure is used to provide a same RK to both the HLR and the UIM for a given user.
- the local system referred to as the VLR
- BAK Broadcast Access Key
- the VLR generates the BAK.
- the VLR then either: 1) provides the BAK to the HLR, where the HLR encrypts the BAK and provides the Encrypted BAK (EBAK) to the VLR; or 2) the VLR sends a Temporary Key (TK) request to the HLR.
- the HLR encrypts the BAK using the RK that is known only by the HLR and the UIM.
- the EBAK is provided to the UIM via the VLR.
- the UIM receives the EBAK and uses the RK to decrypt the BAK. Note that for implementation, every time the BAK changes, the VLR must send the BAK to the HLR incurring overhead.
- the HLR generates multiple TK values and associated random values.
- the TK values are generated using random numbers and the RK.
- the TK values i.e., TK 1 , TK 2 , etc.
- the random values i.e., TK_RAND 1 , TK_RAND 2 , etc.
- the VLR Each time the VLR updates the BAK (changes the BAK for maintenance of secure transmissions) the VLR encrypts the BAK using a TK i .
- the VLR then sends the EBAK, and the TK i or the (TK i , TK_RAND i ) pair to the UIM. In each situation, as the UIM has the RK, the UIM is able to decrypt the EBAK and recover the BAK.
- FIG. 23 is a timing diagram illustrating RK establishment.
- the vertical axis refers to time.
- RK establishment or provisioning occurs when the user subscribes to the BCMCS service in Home BCMCS AAA.
- Each BCMCS content provider has one corresponding RK for each subscriber.
- RK is only known by the UIM and home service provider/home content service provider.
- RK Establishment Procedures illustrated in FIG. 23 is described as follows.
- BAK download occurs when the MS requests such.
- There is BAK life time associated with each BAK wherein each BAK is identified by a BAK identifier or sequence number.
- Each BCMCS program identified by Content ID has its own BAK.
- a Home Content Provider ID and Content ID is unique for each BCMCS program.
- the mapping between the BCMCS_ID and (Home Content Provider ID+Content ID) pair is performed locally in Local BCMCS Control.
- the BAK is only known by Local BCMCS Control and the UIM.
- the BAK Download Procedures are given as follows.
- FIG. 24 illustrates a BCMCS architecture for a Home Service Provider having a Content Server.
- the system 1100 has entities defined as follows.
- the BAK download occurs when the MS requests a BAK or update. There is BAK life time associated with each BAK.
- Each BCMCS program identified by Content ID has its own BAK.
- the BAK is only known by Local BCMCS Control and UIM.
- the BAK Download Procedures are given as follows.
- the user subscribes to the BCMCS service out of band (SUB ID). If the Home Service Provider does not own the content server, the root key or Registration Key (RK) is established at the UIM via AKA; otherwise, the A-key will be used for RK.
- the TK is sent to the Local BCMCS Control node.
- the BAK encrypted by TK is download to UIM via visited network (PDSN) using a special UDP port number.
- PDSN visited network
- the MS finds if broadcast service is available for particular sector via overhead message. The MS performs a registration (BCMCS_ID).
- FIG. 25 illustrates the bearer path set-up via provisioning for multicast service between the CS and the PDSN.
- FIG. 26 illustrates bearer path set-up via provisioning for unicast service between the CS and the PDSN.
- FIG. 27 illustrates bearer path set-up and tear down vai the MS registration and deregistration for multicast service between the CS and the PDSN.
- FIG. 9 illustrates a high level architecture 600 for security according to one embodiment.
- the CS 602 provides content information to a Content Encryptor (CE) 604 .
- the CE 604 is used for generation of the SK, and may be used for encryption of the SK.
- the content encryptor 604 provides: 1) the content encrypted with the SK; 2) the SPI; or 3) an Encrypted SK (discussed hereinbelow), to a broadcast receiver 606 .
- the CE 604 receives the BAK, the BAKseq (identifies which BAK value) and the SK lifetime (specifies how long the SK is valid) from the BAK generator 612 . These values are provided for processing within the CE 604 .
- the CE 604 encrypts the content and provides the encrypted product to the broadcast receiver 606 .
- the CE 604 also provides the BAKseq to the broadcast receiver 606 .
- the BAKseq value identifies the particular BAK.
- the content encryptor 604 generates the SK.
- the SK generation may be SPI based or may be an Encrypted SK (ESK).
- the SPI may be formed from a 4-bit BAKseq and 28-bi SPI-RAND.
- the SK for packets when SPI (BAKseq,SPI_RAND) is generated by encrypting SPI_RAND with BAK, wherein “X_RAND” is a random number used to evaluate X.
- the SPI change indicates a change in SK.
- the content encryptor 604 chooses the SPI_RAND, generates the SK, and forms SPI(BAKseq, SPI_RAND).
- the Content Encryptor (CE) 604 encrypts the content with the SK and sends the SPI with the encrypted content to the broadcast receiver 606 .
- the broadcast receiver 606 extracts the SPI and passes the SPI to the UIM 608 , which computes the SK from the SPI_RAND and the BAK.
- the UIM 608 passes the SK to the broadcast receiver 606 , which decrypts content using the SK.
- the content encryptor 604 encrypts the SK with the BAK to generate the ESK.
- the content encryptor 604 chooses the SK and computes the ESK therefrom to form (BAKseq, ESK).
- the content encryptor 604 encrypts content with the SK and sends (BAKseq, ESK) periodically with the encrypted content to the broadcast receiver 606 .
- the broadcast receiver 606 passes the (BAKseq, ESK) to the UIM 608 , which computes the SK and passes the SK back to the broadcast receiver 606 .
- the broadcast receiver 606 then decrypts content using the SK.
- the BAKseq, ESK) may be sent in a packet with a unique port number, which may introduce synchronization problems.
- the broadcast receiver 606 provides content decryption and signaling.
- the broadcast receiver 606 receives the encrypted content, SPI or ESK and BAKseq from the CE 604 .
- the broadcast receiver 606 provides the SPI or ESK and the BAKseq to the UIM 608 , and receives the SK request and/or the BAK request from the UIM 608 . Further the broadcast receiver 606 provides the BAK encrypted with the RK or provides the BAK encrypted with the TK_RAND to the UIM 608 .
- the UIM 608 stores the terminal root key K, the SS root keys RK, and the access keys BAK. The UIM 608 determines the RK and TK values. The UIM 608 decrypts the BAK and determines the SK from the SPI and BAK. In the alternative, the UIM 608 is also adapted to decrypt the ESK using the BAK to form the SK. The UIM 608 passes the SK to the ME (not shown).
- a content access manager 610 provides a BAK update command to the BAK generator 612 .
- the BAK generator 612 generates the BAK and the BAK sequence numbering, i.e., BAKseq.
- the BAK generator 612 provides the BAK, BAKseq, and SK lifetime to the content encryptor 604 .
- the BAK generator 612 provides the BAK, BAKseq, and the BAK lifetime (specifies how long the BAK will be valid) to the BAK distribution server 616 .
- Authorization is provided to the BAK distribution server 616 by a service authorization unit 614 .
- the BAK distribution server 616 receives a BAK request from the broadcast receiver 606 .
- the BAK distribution server 616 is adapted to provide a random BAK update time, BAK encrypted with the RK or RK_RAND, and BAK encrypted with the TK to the broadcast receiver 606 .
- the BAK distribution server 616 receives a BAK request from the broadcast receiver 606 , with an identification of which BAK is requested, i.e., BAKseq.
- the BAK distribution server 616 provides a TK request to the Subscription Server (SS) 618 .
- the SS 618 holds the RK unique key for the SS and the UIM.
- the SS 618 forms the Temporary Key (TK) from the root key and TK_RAND.
- the SS 618 then sends the TK_RAND value to the BAK distribution server 616 .
- the BAK distribution server 616 sends the BAK specified by the BAK request and BAKseq received from the broadcast receiver 606 to the SS 618 .
- the SS 618 encrypts the BAK with the RK and returns the encrypted BAK to the BAK distribution server 616 .
- the BAK distribution server 616 sends a TK request to the authentication server 620 .
- the authentication server 620 holds the terminal root key K, and forms the TK and/or RK from the root key and random number(s).
- the authentication server 620 then sends the TK_RAND to the BAK distribution server 616 .
- the BAK distribution server 616 may also be referred to as a BAK encryptor.
- the UIM 608 computes the RK from the RK_RAND provided by the authentication server 620 .
- the authentication server 620 provides the RK_RAND in response to an RK Request from the UIM 608 .
- the authentication server 620 also provides the RK value to the SS 618 .
- the BAK distribution server 616 provides a random BAK update time to the UIM 608 .
- the random BAK update time instructs the UIM 608 when to request a BAK update.
- the random timing of such updates ensures that all users do not request updates at the same time and thus tax the system.
- FIGS. 10, 11 , and 12 illustrate various embodiments of encryption and security applications to various system configurations. Each figure includes a legend indicating signal, key and information flow within the system. The legend is located in the lower right hand corner of the figure.
- encryption may be performed at the link layer, such as wherein the encryption is performed at a Base Station Controller (BSC), Packet Control Function node (PCF), other similar node, or a combination thereof.
- BSC Base Station Controller
- PCF Packet Control Function node
- FIG. 10 One embodiment of a link layer encryption method is illustrated in FIG. 10 .
- Encryption may also be provided on an end-to-end basis, wherein one embodiment is illustrated in FIG. 11 . Note that an end-to-end encryption method is described hereinabove through the use of IPsec.
- the embodiment illustrated in FIG. 11 performs the encryption at the application layer.
- the BAK is periodically or otherwise updated from time to time.
- the BAK updates may be SS-encrypted, wherein a BAK encryptor sends the BAK to the SS; the SS encrypts the Bak and returns the encrypted BAK to the BAK encryptor.
- the BAK encryptor sends the BAK to the SS.
- the SS encrypts the BAK with the RK to the Encrypted BAK (EBAK).
- EBAK Encrypted BAK
- the SS returns the EBAK to the BAK encryptor.
- the BAK encryptor sends the EBAK to the UIM, which decrypts the EBAK with the RK to recover the BAK.
- the BAK may be locally encrypted.
- the SS provides a Temporary Key (TK) to the local BAK encryptor. If the BAK encryptor is in the local network, then the BAK encryptor may use the CK as the TK, wherein the CK is derived from the Authentication Vector (AV).
- TK Temporary Key
- the location of the BAK encryptor may be designed according to the needs and goals of the system.
- the BAK encryptor obtains the (TK_RAND, TK) pair from the SS.
- the BAK encryptor may reuse the (TK_RAND, TK) pair.
- the SS may send multiple pairs.
- the BAK encryptor then encrypts the BAK with the TK for form EBAK.
- the BAK encryptor then sends (TK_RAND, EBAK) to the UIM.
- the UIM forms the TK using Equ. (11) given above.
- the UIM decrypts the EBAK with the TK to recover the BAK.
- the BAK update is locally encrypted with the TK from the Authentication, Accounting, and Authorization (AAA) unit, HLR/AAA.
- the SS is the HLR/AAA.
- the MS performs a special AKA negotiation.
- the BAK encryptor may reuse the (CK_RAND, CK) pair; the HLR/AAA may send multiple pairs.
- the CK and CK_RAND are passed to the BAK encryptor, which encrypts the BAK with the CK to form EBAK.
- the BAK encryptor then sends the (CK_RAND, EBAK) pair to the UIM.
- the UIM forms CK as defined in Equ. (12).
- the UIM decrypts EBAK with the CK to form the BAK.
- the BAK encryptor is associated with a single Content Server (CS).
- CS Content Server
- a centralized BAK encryptor is employed that may be associated with multiple CSs.
- the SK is updated periodically or from time to time.
- the SK is derived from the SPI.
- the SK is provided in encrypted form.
- a special port number may be used to indicate the packet containing the SK.
- a Broadcast frame identifier such as the BSR_ID, may be set to a predetermined value, such as “000,” to indicate the packet containing the SK.
- FIG. 10 illustrates one embodiment providing link layer content encryption.
- the system 700 includes a UIM 702 coupled to an ME 704 .
- the UIM 702 provides an unencrypted BAK to the ME 704 .
- the ME 704 provides an encrypted BAK to the UIM 702 .
- the ME 704 provides the RK-AKA to the UIM 702 .
- SK generation, SK encryption, and content encryption are performed by the Base Station Controller/Packet Control Function (BSC/PCF) node 708 at the local network owned content provider.
- Unencrypted content is provided from an internal content source (CS 2 ) 722 to the Packet Data Service Node (PDSN) 710 .
- BSC/PCF Base Station Controller/Packet Control Function
- the PDSN 710 then passes the unencrypted content to the BSC/PCF 708 .
- a CS 2 BAK generator 724 provides the unencrypted BAK value to the PDSN 710 ; and the CS 2 BAK encryptor 726 receives a BAK request from the PDSN 710 and provides an encrypted BAK in return.
- the PDSN 710 then forwards the unencrypted content, the unencrypted BAK and the encrypted BAK to the BSC/PCF 708 .
- the local network includes an MSC 706 , which serves as the VLR.
- the BSC/PCF 708 receives the RK from the MSC 706 in response to an RK request.
- An AC 730 located in the home network 728 serves as the HLR.
- the MSC requests the RK from the AC 730 , which responds by providing the RK.
- the MSC 706 provides the RK to the BSC/PCF 708 , which provides the RK to the ME 704 . Further, the BSC/PCF 708 provides the encrypted content and encrypted BAK to the ME 704 .
- a local third party content provider 720 includes an external content source (CS 1 ) 714 , a CS 1 BAK generator 716 , and a CS 1 BAK encryptor 718 .
- the encrypted BAK is provided from BAK encryptor 718 to the PDSN 710 .
- the external content source CS 1 714 provides unencrypted content and unencrypted BAK to the PDSN 710 .
- the entity 732 that stores the subscription includes the subscription server 734 .
- the MSC 706 provides the RK to the subscription server 734 .
- the TK request and TK_RAND pair are communicated between the subscription server 734 and the BAK encryptors 718 and 726 .
- the signal sequence is as given in the legend of FIG. 10 , wherein signals are listed in descending order starting with the RK Request.
- FIG. 11 illustrates an alternate embodiment providing end-to-end content encryption.
- the configuration of system 800 is similar to that of system 700 ; however, in system 800 , the content source (CS 2 ) 822 provides the SK generation, SK encryption, and content encryption.
- the content source 822 provides encrypted content to the PDSN 810 ; and the BAK encryptor 826 encrypts the BAK and provides the encrypted BAK to the PDSN 810 in response to a BAK request.
- the PDNS further receives encrypted content from the external content source (CS 1 ) 814 within the local third party content provider 820 .
- the external content source 814 performs SK generation, SK encryption and content encryption.
- the BAK encryptor 818 provides an encrypted BAK to the PDSN 810 .
- the PDSN 810 then provides the encrypted content and the encrypted BAK to the BSC/PCF 808 .
- FIG. 12 illustrates an embodiment providing centralized BAK encryption, with end-to-end content encryption.
- the configuration of system 900 is similar to that of system 800 , wherein the SK generation, SK encryption, and content encryption are performed by content source (CS 2 ) 922 and external content source (CS 1 ) 914 .
- System 900 includes a centralized BAK encryptor 912 that receives the unencrypted BAK from the CS 2 BAK generator 924 and the CS 1 BAK generator 916 .
- the centralized BAK encryptor 912 provides an encrypted BAK to the PDSN 910 in response to a BAK request.
- the centralized BAK encryptor 912 further communicates with the subscription server 932 to negotiate the TK request and TK_RAND/pair.
- FIG. 13 is a timing diagram for provisioning the RK.
- the vertical axis provides the time axis, and system elements are provided on the top horizontal axis.
- the ME initiates the Authenticated Key Agreement (AKA) procedure by sending a message to the MSC, acting as a VLR.
- AKA procedure is identified within the block so labeled.
- the MSC then sends an Authentication Vector (AV) request to the HLR.
- the HLR selects a RAND value and generates the AV therefrom.
- AKA Authenticated Key Agreement
- the HLR provides the AV to the MSC or VLR. Note that if the MSC has a spare AV, the spare is used and there is no need to request an AV from the HLR.
- Information from the AV is forwarded to the UIM, which verifies authentication and computes processing variables. Such processing is then verified by the MSC.
- the RK value is sent to the SS, which continues the verification process.
- the SS provides authentication information to the UIM, which verifies authentication and acknowledges (or negative acknowledges) to the ME.
- FIG. 14 is a timing diagram illustrating the generation of the SS encrypted BAK value.
- the BAK distribution server (or encryptor) 616 sends a BAK request to the SS 618 , and the SS 618 encrypts the BAK with the RK to form the EBAK.
- the SS 618 sends the EBAK to the BAK distribution server 616 .
- the ME requests the BAK from the SS via the BAK encryptor.
- the ME sends a BAKreq message to the BAK encryptor.
- the BAK encryptor then sends the BAK and associated information to the SS.
- the SS receives the BAK and generates an Encrypted BAK (EBAK).
- EBAK Encrypted BAK
- the UIM sends an acknowledge or fail message in response to such verification. On a fail, failure processing is performed or initiated by the ME. Note that as given throughout, the various functions for calculating variables may be a same function or each may be individually assigned.
- FIG. 15 is a timing diagram illustrating the locally encrypted BAK processing.
- the BAK distribution server (or encryptor) 616 sends a TK request to the SS 618 , and the SS 618 forms TK from the root key and a random number TK_RAND.
- the SS 618 sends the TK_RAND to the BAK distribution server 616 .
- the BAK distribution server 616 then encrypts the BAK with the TK_RAND.
- the ME sends a BAKreq message to the BAK encryptor. If the BAK encryptor does not have current subscription data, the BAK encryptor requests such from the SS.
- the SS sends several (TK_RAND, TK) pairs to the BAK encryptor.
- the BAK encryptor computes EBAK by encrypting the BAK with the TK.
- the BAK encryptor then provides the EBAK, the TK_RAND, as well as other BAK information to the ME, which forwards such information to the UIM.
- the UIM computes TK according to Equ. (21), computes EBAK according to Equ. (19) and computes AUTH_BAK according to Equ. (20).
- the UIM verifies the BAK and sends an acknowledge or fail message to the ME accordingly. On a fail, fail processing is performed or initiated by the ME.
- FIG. 16 illustrates security processing when the local BAK has received the AV during an initial authentication procedure, and then uses the random value from the AV to generate the TK.
- the BAK encryptor is the VLR.
- the BAK encryptor sends an AV request to the SS (which is considered the HLR).
- the SS chooses a random number RAND and computes AUTH, XRES, and CK as given in Equs. (13), (14), and (15), respectively.
- the SS sends the AV to the BAK encryptor, which encrypts the BAK to form EBAK.
- the BAK encryptor then sends RAND, EBAK, and BAK information to the ME, which forwards such information to the UIM.
- the UIM computes TK according to Equ. (21), computes EBAK according to Equ. (19) and computes AUTH_BAK according to Equ. (20).
- the UIM verifies the BAK and sends an acknowledge or fail message to the ME accordingly. On a fail, fail processing is performed or initiated by the ME.
- FIG. 17 is a timing diagram illustrating link layer encryption, wherein the BSC encrypts the SK and the content.
- the BSC 708 performs SK generation, SK encryption and content encryption.
- the BAK encryptor provides the BAK, as well as BAK and SK information, to the BSC.
- the BSC chooses a SK and encrypts the SK using the BAK to form the ESK.
- the BSC provides the ESK, SK_RAND, AUTH_SK, and BAK information to the ME, which forwards such information to the UIM.
- the UIM then sends the SK or a fail message to the ME.
- the ME performs or initiates fail processing.
- an encrypted link is now available for secure communication.
- Key verification is a further security consideration in a communication system. If there has been some confusion in communication and/or processing of the SS, BAK encryptor, etc., an incorrect value key may be derived in the UIM. There is a need therefore, for the UIM to determine if the RK, BAK and SK have been provisioned correctly.
- verification is performed by using a random number associated with a given key, and performing a verification operation for the given key using the random number. The verification result is then sent to the UIM. The UIM checks the verification result. For example, let Kx represent RK, BAK, SK or any other key designated for encryption in a communication system. The entity that has established the key Kx first chooses a random number RAND_Kx.
- BAK verification may be implemented, wherein prior to sending the EBAK to the UIM, the BAK encryptor performs a verification procedure.
- the BAK encryptor sends (EBAK, RAND_BAK, VERIF_BAK) to the UIM.
- the BAK encryptor may send additional information as well.
- the UIM decrypts the EBAK and confirms Equ. (25). On confirmation, the UIM uses the BAK value derived, else, the UIM notifies the BAK encryptor that the BAK is not correct.
- RAND_Kx could include a value for the TIME.
- VERIF_Kx becomes a “timestamp” verifying when Kx was sent to the UIM. This prevents a replay attack when someone tries to confuse the UIM by sending the same packet, only at sometime later when the key has already been used. The UIM will detect that TIME is wrong. An attacker can't change TIME because this will also change the value of VERIF_Kx.
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- a general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
- a processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
- a software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
- An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium.
- the storage medium may be integral to the processor.
- the processor and the storage medium may reside in an ASIC.
- the ASIC may reside in a user terminal.
- the processor and the storage medium may reside as discrete components in a user terminal.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Mobile Radio Communication Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Storage Device Security (AREA)
Abstract
Method and apparatus for secure transmissions. Each user is provided a registration key. A long-time updated broadcast key is encrypted using the registration key and provided periodically to a user. A short-time updated key is encrypted using the broadcast key and provided periodically to a user. Broadcasts are then encrypted using the short-time key, wherein the user decrypts the broadcast message using the short-time key. One embodiment provides link layer content encryption. Another embodiment provides end-to-end encryption.
Description
- The present Application for Patent is a Continuation and claims priority to patent application Ser. No. 10/233,188, entitled “Method and Apparatus for Security in a Data Processing System” filed Aug. 28, 2002, now allowed, which is a Continuation in Part and claims priority to patent application Ser. No. 09/933,972 entitled “METHOD AND APPARATUS FOR SECURITY IN A DATA PROCESSING SYSTEM” filed Aug. 20, 2001, and assigned to the assignee hereof and hereby expressly incorporated by reference herein.
- 1. Field
- The present invention relates to data processing systems generally and specifically, to methods and apparatus for security in a data processing system.
- 2. Background
- Security in data processing and information systems, including communications systems, contributes to accountability, fairness, accuracy, confidentiality, operability, as well as a plethora of other desired criteria. Encryption, or the general field of cryptography, is used in electronic commerce, wireless communications, broadcasting, and has an unlimited range of applications. In electronic commerce, encryption is used to prevent fraud in and verify financial transactions. In data processing systems, encryption is used to verify a participant's identity. Encryption is also used to prevent hacking, protect Web pages, and prevent access to confidential documents.
- Asymmetric encryption system, often referred to as a cryptosystem, uses a same key (i.e., the secret key) to encrypt and decrypt a message. Whereas an asymmetric encryption system uses a first key (i.e., the public key) to encrypt a message and uses a different key (i.e., the private key) to decrypt it. Asymmetric cryptosystems are also called public key cryptosystems. A problem exists in symmetric cryptosystems in the secure provision of the secret key from a sender to a recipient. Further, a problem exists when keys or other encryption mechanisms are updated frequently. In a data processing system methods of securely updating keys incur processing time, memory storage and other processing overhead. In a wireless communication system, updating keys uses valuable bandwidth used for transmission.
- The prior art does not provide a method for updating keys to a large group of mobile stations in order that they may access an encrypted broadcast. There is a need, therefore, for a secure and efficient method of updating keys in a data processing system. Further, there is a need for a secure and efficient method of updating keys in a wireless communication system.
- Embodiments disclosed herein address the above stated needs by providing a method for security in a data processing system.
- In one aspect a method for secure transmissions includes determining a registration key specific to a participant in a transmission, determining a first key, encrypting the first key with the registration key, determining a second key, encrypting the second key with the first key and updating the first and second keys.
- In another aspect, a method for secure reception of a transmission includes receiving a registration key specific to a participant in a transmission, receiving a first key, decrypting the first key with the registration key, receiving a second key, decrypting the second key with the first key, receiving a broadcast stream of information, and decrypting the broadcast stream of information using the second key.
- In still another aspect a wireless communication system supporting a broadcast service option has an infrastructure element including a receive circuitry, a user identification unit, operative to recover a short-time key for decrypting a broadcast message, and a mobile equipment unit adapted to apply the short-time key for decrypting the broadcast message. The user identification unit includes a processing unit operative to decrypt key information, and a memory storage unit for storing a registration key.
-
FIG. 1A is a diagram of a cryptosystem. -
FIG. 1B is a diagram of a symmetric cryptosystem. -
FIG. 1C is a diagram of an asymmetric cryptosystem. -
FIG. 1D is a diagram of a PGP encryption system. -
FIG. 1E is a diagram of a PGP decryption system. -
FIG. 2 is a diagram of a spread spectrum communication system that supports a number of users. -
FIG. 3 is a block diagram of the communication system supporting broadcast transmissions. -
FIG. 4 is a block diagram of a mobile station in a wireless communication system. -
FIG. 5 is a model describing the updating of keys within a mobile station used for controlling broadcast access. -
FIG. 6 is a model describing cryptographic operations within a UIM. -
FIGS. 7A-7D illustrate a method of implementing security encryption in a wireless communication system supporting broadcast transmissions. -
FIG. 7E is a timing diagram of key update periods of a security option in a wireless communication system supporting broadcast transmissions. -
FIGS. 8A-8D illustrate application of a security encryption method in a wireless communication system supporting broadcast transmissions. -
FIG. 9 is a high level architectural diagram illustrating security in a communication system supporting broadcast transmissions. -
FIG. 10 is a block diagram of a communication system employing link layer content encryption. -
FIG. 11 is a block diagram of a communication system employing end-to-end content encryption. -
FIG. 12 is a block diagram of a communication system employing centralized BAK encryption. -
FIG. 13 is a timing diagram illustrating provisioning the Registration Key (RK) in a communication system. -
FIG. 14 is a timing diagram illustrating Subscription Server (SS) encryption of the Broadcast Access Key (BAK) in a communication system. -
FIG. 15 is a timing diagram illustrating locally encrypted BAK in a communication system. -
FIG. 16 is a timing diagram illustrating generation of the Temporary Key (TK) using the Authentication Vector (AV) in a communication system. -
FIG. 17 is a timing diagram illustrating link layer encryption in a communication system. -
FIG. 18 is a communication system supporting broadcast and multicast services. -
FIG. 19 a timing diagram illustrating Broadcast Access Key (BAK) updating performed by the Content Server (CS). -
FIG. 20 is a timing diagram illustrating BAK updating performed by the Service Provider (SP). -
FIG. 21 illustrates derivation of multiple decryption keys from a BAK by combining information sent on a broadcast channel. -
FIG. 22 is a communication system architecture for supporting BCMCS. -
FIG. 23 is a timing diagram of Registration Key (RK) establishment in a communication system supporting BCMCS, wherein the home service provider does not own the Content Server (CS). -
FIG. 24 is a communication system architecture for supporting BCMCS, wherein the home service provider owns the CS. -
FIG. 25 is a timing diagram of bearer path set-up via provisioning for multicast service. -
FIG. 26 is a timing diagram of bearer path set-up via provisioning for unicast service. -
FIG. 27 is a timing diagram of bearer path configuration via MS registration for multicast service. - The word “exemplary” is used exclusively herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
- Wireless communication systems are widely deployed to provide various types of communication such as voice, data, and so on. These systems may be based on code division multiple access (CDMA), time division multiple access (TDMA), or some other modulation techniques. A CDMA system provides certain advantages over other types of system, including increased system capacity.
- A system may be designed to support one or more standards such as the “TIA/EIA/IS-95-B Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System” referred to herein as the IS-95 standard, the standard offered by a consortium named “3rd Generation Partnership Project” referred to herein as 3GPP, and embodied in a set of documents including Document Nos. 3G TS 25.211, 3G TS 25.212, 3G TS 25.213, and 3G TS 25.214, 3G TS 25.302, referred to herein as the W-CDMA standard, the standard offered by a consortium named “3rd
Generation Partnership Project 2” referred to herein as 3GPP2, and TR-45.5 referred to herein as the cdma2000 standard, formerly called IS-2000 MC. The standards cited hereinabove are hereby expressly incorporated herein by reference. - Each standard specifically defines the processing of data for transmission from base station to mobile, and vice versa. As an exemplary embodiment the following discussion considers a spread-spectrum communication system consistent with cdma2000 systems. Alternate embodiments may incorporate another standard/system. Still other embodiments may apply the security methods disclosed herein to any type of data processing system using a cryptosystem.
- A cryptosystem is a method of disguising messages thus allowing a specific group of users to extract the message.
FIG. 1A illustrates abasic cryptosystem 10. Cryptography is the art of creating and using cryptosystems. Cryptanalysis is the art of breaking cryptosystems, i.e., receiving and understanding the message when you are not within the specific group of users allowed access to the message. The original message is referred to as a plaintext message or plaintext. The encrypted message is called a ciphertext, wherein encryption includes any means to convert plaintext into ciphertext. Decryption includes any means to convert ciphertext into plaintext, i.e., recover the original message. As illustrated inFIG. 1A , the plaintext message is encrypted to form a ciphertext. The ciphertext is then received and decrypted to recover the plaintext. While the terms plaintext and ciphertext generally refer to data, the concepts of encryption may be applied to any digital information, including audio and video data presented in digital form. While the description of the invention provided herein uses the term plaintext and ciphertext consistent with the art of cryptography, these terms do not exclude other forms of digital communications. - A cryptosystem is based on secrets. A group of entities shares a secret if an entity outside this group cannot obtain the secret without significantly large amount of resources. This secret is said to serve as a security association between the groups of entities.
- A cryptosystem may be a collection of algorithms, wherein each algorithm is labeled and the labels are called keys. A symmetric encryption system, often referred to as a cryptosystem, uses a same key (i.e., the secret key) to encrypt and decrypt a message. A
symmetric encryption system 20 is illustrated inFIG. 1B , wherein both the encryption and decryption utilize a same private key. - In contrast, an asymmetric encryption system uses a first key (i.e., the public key) to encrypt a message and uses a different key (i.e., the private key) to decrypt it.
FIG. 1C illustrates anasymmetric encryption system 30 wherein one key is provided for encryption and a second key for decryption. Asymmetric cryptosystems are also called public key cryptosystems. The public key is published and available for encrypting any message, however, only the private key may be used to decrypt the message encrypted with the public key. - A problem exists in symmetric cryptosystems in the secure provision of the secret key from a sender to a recipient. In one solution a courier may be used to provide the information, or, a more efficient and reliable solution may be to use a public key cryptosystem, such as a public-key cryptosystem defined by Rivest, Shamir, and Adleman (RSA) which is discussed hereinbelow. The RSA system is used in the popular security tool referred to as Pretty Good Privacy (PGP), which is further detailed hereinbelow. For instance, an originally recorded cryptosystem altered letters in a plaintext by shifting each letter by n in the alphabet, wherein n is a predetermined constant integer value. In such a scheme, an “A” is replaced with a “D,” etc., wherein a given encryption scheme may incorporate several different values of n. In this encryption scheme “n” is the key. Intended recipients are provided the encryption scheme prior to receipt of a ciphertext. In this way, only those knowing the key should be able to decrypt the ciphertext to recover the plaintext. However, by calculating the key with knowledge of encryption, unintended parties may be able to intercept and decrypt the ciphertext, creating a security problem.
- More complicated and sophisticated cryptosystems employ strategic keys that are deter interception and decryption from unintended parties. A classic cryptosystem employs encryption functions E and decryption functions D such that:
D — K(E — K(P))=P, for any plaintext P. (1) - In a public-key cryptosystem, E_K is easily computed from a known “public key” Y which in turn is computed from K. Y is published, so that anyone can encrypt messages. The decryption function D_K is computed from public key Y, but only with knowledge of a private key K. Without the private key K an unintended recipient may not decrypt the ciphertext so generated. In this way only the recipient who generated K can decrypt messages.
- RSA is a public-key cryptosystem defined by Rivest, Shamir, and Adleman. As an example, consider plaintexts as positive integers up to 2512. Keys are quadruples (p,q,e,d), with p given as a 256-bit prime number, q as a 258-bit prime number, and d and e large numbers with (de−1) divisible by (p−1)(q−1). Further, define the encryption function as:
E — K(P)=P emod pq, D — K(C)=C dmod pq. (2) - While, E_K is easily computed from the pair (pq,e), there is no known simple way to compute D_K from the pair (pq,e). Therefore, the recipient that generates K can publish (pq,e). It is possible to send a secret message to the recipient, as he is the one able to read the message.
- PGP combines features from symmetric and asymmetric encryption.
FIGS. 1D and 1E illustrate aPGP cryptosystem 50, wherein a plaintext message is encrypted and recovered. InFIG. 1D , the plaintext message is compressed to save modem transmission time and disk space. Compression strengthens cryptographic security by adding another level of translation to the encrypting and decrypting processing. Most cryptanalysis techniques exploit patterns found in the plaintext to crack the cipher. Compression reduces these patterns in the plaintext, thereby enhancing resistance to cryptanalysis. Note that one embodiment does not compress plaintext or other messages that are too short to compress or which don't compress well aren't compressed. - PGP then creates a session key, which is a one-time-only secret key. This key is a random number that may be generated from any random event(s), such as random movements of mouse and the keystrokes while typing. The session key works with a secure encryption algorithm to encrypt the plaintext, resulting in ciphertext. Once the data is encrypted, the session key is then encrypted to the recipient's public key. This public key-encrypted session key is transmitted along with the ciphertext to the recipient.
- For decryption, as illustrated in
FIG. 1E , the recipient's copy of PGP uses a private key to recover the temporary session key, which PGP then uses to decrypt the conventionally encrypted ciphertext. The combination of encryption methods takes advantage of the convenience of public key encryption and the speed of symmetric encryption. Symmetric encryption is generally much faster than public key encryption. Public key encryption in turn provides a solution to key distribution and data transmission issues. In combination, performance and key distribution are improved without any sacrifice in security. - A key is a value that works with a cryptographic algorithm to produce a specific ciphertext. Keys are basically very large numbers. Key size is measured in bits. In public key cryptography, security increases with key size, however, public key size and the symmetric encryption private key size are not generally related. While the public and private keys are mathematically related, a difficulty arises in deriving a private key given only a public key. Deriving the private key is possible given enough time and computing power, making the selection of key size an important security issue. The goal is to have a large key that is secure, while maintaining key size sufficiently small for quick processing. An additional consideration is the expected interceptor, specifically, what is the importance of a message to a third party, and how much resource does a third party have to decrypt.
- Larger keys will be cryptographically secure for a longer period of time. Keys are stored in encrypted form. PGP specifically stores keys in two files; one for public keys and one for private keys. These files are called keyrings. In application, a PGP encryption system adds the public keys of target recipients to the sender's public keyring. The sender's private keys are stored on the sender's private keyring.
- As discussed in the examples given hereinabove, the method of distributing the keys used for encryption and decryption can be complicated. The “key exchange problem” involves first ensuring that keys are exchanged such that both the sender and receiver can perform encryption and decryption, respectively, and for bi-directional communication, such that the sender and receiver can both encrypt and decrypt messages. Further, it is desired that key exchange be performed so as to preclude interception by a third unintended party. Finally, an additional consideration is authentication providing assurance to the receiver that a message was encrypted by an intended sender and not a third party. In a private key exchange system, the keys are exchanged secretly providing improved security upon successful key exchange and valid authentication. Note that the private key encryption scheme implicitly provides authentication. The underlying assumption in a private key cryptosystem is that only the intended sender will have the key capable of encrypting messages delivered to the intended receiver. While public-key cryptographic methods solve a critical aspect of the ‘key-exchange problem’, specifically their resistance to analysis even with the presence a passive eavesdropper during exchange of keys, they do not solve all problems associated with key exchange. In particular, since the keys are considered ‘public knowledge,’ (particularly with RSA) some other mechanism is desired to provide authentication, as possession of keys alone (sufficient to encrypt messages) is no evidence of a particular unique identity of the sender, nor is possession of a corresponding decryption key by itself enough to establish the identity of the recipient.
- One solution is to develop a key distribution mechanism that assures that listed keys are actually those of the given entities, sometimes called a trusted authority, certificate authority, or third part escrow agent. The authority typically does not actually generate keys, but does ensure that the lists of keys and associated identities kept and advertised for reference by senders and receivers are correct and uncompromised. Another method relies on users to distribute and track each other's keys and trust in an informal, distributed fashion. Under RSA, if a user wishes to send evidence of their identity in addition to an encrypted message, a signature is encrypted with the private key. The receiver can use the RSA algorithm in reverse to verify that the information decrypts, such that only the sender could have encrypted the plaintext by use of the secret key. Typically the encrypted ‘signature’ is a ‘message digest’ that comprises a unique mathematical ‘summary’ of the secret message (if the signature were static across multiple messages, once known previous receivers could use it falsely). In this way, theoretically only the sender of the message could generate a valid signature for that message, thereby authenticating it for the receiver.
- A message digest is often computed using a cryptographic hash function. A cryptographic hash function computes a value (with a fixed number of bits) from any input, regardless of the length of the input. One property of a cryptographic hash function is this: given an output value, it is computationally difficult to determine an input that will result in that output. An example of a cryptographic hash function is SHA-1 as described in “Secure Hash Standard,” FIPS PUB 180-1, promulgated by the Federal Information Processing Standards Publications (FIPS PUBS) and issued by the National Institute of Standards and Technology.
-
FIG. 2 serves as an example of acommunications system 100 that supports a number of users and is capable of implementing at least some aspects and embodiments of the invention. Any of a variety of algorithms and methods may be used to schedule transmissions insystem 100.System 100 provides communication for a number ofcells 102A through 102G, each of which is serviced by acorresponding base station 104A through 104G, respectively. In the exemplary embodiment, some of base stations 104 have multiple receive antennas and others have only one receive antenna. Similarly, some of base stations 104 have multiple transmit antennas, and others have single transmit antennas. There are no restrictions on the combinations of transmit antennas and receive antennas. Therefore, it is possible for a base station 104 to have multiple transmit antennas and a single receive antenna, or to have multiple receive antennas and a single transmit antenna, or to have both single or multiple transmit and receive antennas. - Terminals 106 in the coverage area may be fixed (i.e., stationary) or mobile. As shown in
FIG. 2 , various terminals 106 are dispersed throughout the system. Each terminal 106 communicates with at least one and possibly more base stations 104 on the downlink and uplink at any given moment depending on, for example, whether soft handoff is employed or whether the terminal is designed and operated to (concurrently or sequentially) receive multiple transmissions from multiple base stations. Soft handoff in CDMA communications systems is well known in the art and is described in detail in U.S. Pat. No. 5,101,501, entitled “METHOD AND SYSTEM FOR PROVIDING A SOFT HANDOFF IN A CDMA CELLULAR TELEPHONE SYSTEM,” which is assigned to the assignee of the present invention. - The downlink refers to transmission from the base station to the terminal, and the uplink refers to transmission from the terminal to the base station. In the exemplary embodiment, some of terminals 106 have multiple receive antennas and others have only one receive antenna. In
FIG. 2 ,base station 104A transmits data toterminals base station 104B transmits data toterminals base station 104C transmits data to terminal 106C, and so on. - Increasing demand for wireless data transmission and the expansion of services available via wireless communication technology have led to the development of specific data services. One such service is referred to as High Data Rate (HDR). An exemplary HDR service is proposed in “EIA/TIA-IS856 cdma2000 High Rate Packet Data Air Interface Specification” referred to as “the HDR specification.” HDR service is generally an overlay to a voice communication system that provides an efficient method of transmitting packets of data in a wireless communication system. As the amount of data transmitted and the number of transmissions increases, the limited bandwidth available for radio transmissions becomes a critical resource. There is a need, therefore, for an efficient and fair method of scheduling transmissions in a communication system that optimizes use of available bandwidth. In the exemplary embodiment,
system 100 illustrated inFIG. 2 is consistent with a CDMA type system having HDR service. - According to one embodiment, the
system 100 supports a high-speed multimedia broadcasting service referred to as High-Speed Broadcast Service (HSBS). An example application for HSBS is video streaming of movies, sports events, etc. The HSBS service is a packet data service based on the Internet Protocol (IP). According to the exemplary embodiment, a service provider indicates the availability of such high-speed broadcast service to the users. The users desiring the HSBS service subscribe to receive the service and may discover the broadcast service schedule through advertisements, Short Management System (SMS), Wireless Application Protocol (WAP), etc. Mobile users are referred to as Mobile Stations (MSs). Base Stations (BSs) transmit HSBS related parameters in overhead messages. When an MS desires to receive the broadcast session, the MS reads the overhead messages and learns the appropriate configurations. The MS then tunes to the frequency containing the HSBS channel, and receives the broadcast service content. - The service being considered is a high-speed multimedia broadcasting service. This service is referred to as High-Speed Broadcast Service (HSBS) in this document. One such example is video streaming of movies, sports events, etc. This service will likely be a packet data service based on the Internet Protocol (IP).
- The service provider will indicate the availability of such high-speed broadcast service to the users. The mobile station users who desire such service will subscribe to receive this service and may discover the broadcast service schedule through advertisements, SMS, WAP, etc. Base stations will transmit broadcast service related parameters in overhead messages. The mobiles that wish to listen to the broadcast session will read these messages to determine the appropriate configurations, tune to the frequency containing the high-speed broadcast channel, and start receiving the broadcast service content.
- There are several possible subscription/revenue models for HSBS service, including free access, controlled access, and partially controlled access. For free access, no subscription is needed by the mobiles to receive the service. The BS broadcasts the content without encryption and interested mobiles can receive the content. The revenue for the service provider can be generated through advertisements that may also be transmitted in the broadcast channel. For example, upcoming movie-clips can be transmitted for which the studios will pay the service provider.
- For controlled access, the MS users subscribe to the service and pay the corresponding fee to receive the broadcast service. Unsubscribed users are not able to receive the HSBS service. Controlled access can be achieved by encrypting the HSBS transmission/content so that only the subscribed users can decrypt the content. This may use over-the-air encryption key exchange procedures. This scheme provides strong security and prevents theft-of-service.
- A hybrid access scheme, referred to as partial controlled access, provides the HSBS service as a subscription-based service that is encrypted with intermittent unencrypted advertisement transmissions. These advertisements may be intended to encourage subscriptions to the encrypted HSBS service. Schedule of these unencrypted segments could be known to the MS through external means.
- A
wireless communication system 200 is illustrated inFIG. 3 , wherein video and audio information is provided to Packetized Data Service Network (PDSN) 202 by a Content Server (CS) 201. The video and audio information may be from televised programming or a radio transmission. The information is provided as packetized data, such as in IP packets. ThePDSN 202 processes the IP packets for distribution within an Access Network (AN). As illustrated the AN is defined as the portions of the system including aBS 204 in communication withmultiple MS 206. ThePDSN 202 is coupled to theBS 204. For HSBS service, theBS 204 receives the stream of information from thePDSN 202 and provides the information on a designated channel to subscribers within thesystem 200. To control the access, the content is encrypted by theCS 201 before being provided to thePDSN 202. The subscribed users are provided with the decryption key so that the IP packets can be decrypted. -
FIG. 4 details anMS 300, similar toMS 206 ofFIG. 3 . TheMS 300 has anantenna 302 coupled to receivecircuitry 304. TheMS 300 receives transmissions from a BS (not shown) similar toBS 204 ofFIG. 3 . TheMS 300 includes a User Identification Module (UIM) 308 and a Mobile Equipment (ME) 306. The receive circuitry is coupled to theUIM 308 and theME 306. TheUIM 308 applies verification procedures for security of the HSBS transmission and provides various keys to theME 306. TheME 306 may be coupled toprocessing unit 312. TheME 306 performs substantial processing, including, but not limited to, decryption of HSBS content streams. TheME 306 includes a memory storage unit,MEM 310. In the exemplary embodiment the data in theME 306 processing (not shown) and the data in the ME memory storage unit,MEM 310 may be accessed easily by a non-subscriber by the use of limited resources, and therefore, theME 306 is said to be insecure. Any information passed to theME 306 or processed by theME 306 remains securely secret for only a short amount of time. It is therefore desired that any secret information, such as key(s), shared with theME 306 be changed often. - The
UIM 308 is trusted to store and process secret information (such as encryption keys) that should remain secret for a long time. As theUIM 308 is a secure unit, the secrets stored therein do not necessarily require the system to change the secret information often. TheUIM 308 includes a processing unit referred to as a Secure UIM Processing Unit (SUPU) 316 and memory storage unit referred to as a Secure UIM Memory Unit (SUMU) 314 that is trusted to be secure. Within theUIM 308,SUMU 314 stores secret information in such a way that as to discourage unauthorized access to the information. If the secret information is obtained from theUIM 308, the access will require a significantly large amount of resources. Also within theUIM 308, theSUPU 316 performs computations on values that may be external to theUIM 308 and/or internal to theUIM 308. The results of the computation may be stored in theSUMU 314 or passed to theME 306. The computations performed with theSUPU 316 can only be obtained from theUIM 308 by an entity with significantly large amount of resources. Similarly, outputs from theSUPU 316 that are designated to be stored within the SUMU 314 (but not output to the ME 306) are designed such that unauthorized interception requires significantly large amount of resources. In one embodiment, theUIM 308 is a stationary unit within theMS 300. Note that in addition to the secure memory and processing within theUIM 308, theUIM 308 may also include non-secure memory and processing (not shown) for storing information including telephone numbers, e-mail address information, web page or URL address information, and/or scheduling functions, etc. - Alternate embodiments may provide a removable and/or reprogrammable UIM. In the exemplary embodiment, the
SUPU 316 does not have significant processing power for functions beyond security and key procedures, such as to allow encryption of the broadcast content of the HSBS. Alternate embodiments may implement a UIM having stronger processing power. - The UIM is associated with a particular user and is used primarily to verify that the
MS 300 is entitled to the privileges afforded the user, such as access to the mobile phone network. Therefore, a user is associated with theUIM 308 rather than anMS 300. The same user may be associated withmultiple UIM 308. - The broadcast service faces a problem in determining how to distribute keys to subscribed users. To decrypt the broadcast content at a particular time, the ME must know the current decryption key. To avoid theft-of-service, the decryption key should be changed frequently, for example, every minute. These decryption keys are called Short-term Keys (SK). The SK is used to decrypt the broadcast content for a short-amount of time so the SK can be assumed to have some amount of intrinsic monetary value for a user. For example, this intrinsic monetary value may be a portion of the registration costs. Assume that the cost of a non-subscriber obtaining SK from the memory storage unit,
MEM 310, of a subscriber exceeds the intrinsic monetary value of SK. That is, the cost of obtaining SK (illegitimately) exceeds the reward, so there is no benefit. Consequently, there is no need to protect SK in the memory storage unit,MEM 310. However, if a secret key has a lifetime longer than that of an SK, then the cost of obtaining this secret key (illegitimately) is less than the reward. In this situation, there is a benefit in obtaining such a key from the memory storage unit,MEM 310. Hence, ideally the memory storage unit,MEM 310 will not store secrets with a lifetime longer than that of an SK. - The channels used by the CS (not shown) to distribute the SK to the various subscriber units are considered insecure. Therefore, when distributing a given SK, the CS desires to use a technique that hides the value of the SK from non-subscribed users. Furthermore, the CS distributes the SK to each of a potentially large number of subscribers for processing in respective MEs within a relatively short timeframe. Known secure methods of key transmission are slow and require transmission of a large number of keys, and are generally not feasible for the desired criteria. The exemplary embodiment is a feasible method of distributing decryption keys to a large set of subscribers within a small time-frame in such a way that non-subscribers cannot obtain the decryption keys.
- In the exemplary embodiment, the
MS 300 supports HSBS in a wireless communication system. To obtain access to HSBS, the user must register and then subscribe to the service. Once the subscription is enabled, the various keys are updated periodically. In the registration process the CS andUIM 308 agree on a Registration Key (RK) that serves as a security association between the user and the CS. The CS may then send the UIM further secret information encrypted with the RK. The RK is kept as a secret in theUIM 308, and is unique to a given UIM, i.e., each user is assigned a different RK. The registration process alone does not give the user access to HSBS. As stated hereinabove, after registration the user subscribes to the service. In the subscription process the CS sends theUIM 308 the value of a common Broadcast Access Key (BAK). The CS sends theMS 300, and specificallyUIM 308, the value of BAK encrypted using the RK unique toUIM 308. TheUIM 308 is able to recover the value of the original BAK from the encrypted version using the RK. The BAK serves as a security association between the CS and the group of subscribed users. The CS then broadcasts data called SK Information (SKI) that is combined with the BAK in theUIM 308 to derive SK. TheUIM 308 then passes SK to theME 306. In this way, the CS can efficiently distribute new values of SK to the ME of subscribed users. - The following paragraphs discuss the registration process in more detail. When a user registers with a given CS, the
UIM 308 and the CS (not shown) set-up a security association. That is, theUIM 308 and the CS agree on a secret key RK. The RK is unique to eachUIM 308, although if a user has multiple UIMs then these UIMs may share the same RK dependent on the policies of the CS. This registration may occur when the user subscribes to a broadcast channel offered by the CS or may occur prior to subscription. A single CS may offer multiple broadcast channels. The CS may choose to associate the user with the same RK for all channels or require the user to register for each channel and associate the same user with different RKs on different channels. Multiple CSs may choose to use the same registration keys or require the user to register and obtain a different RK for each CS. - Two common scenarios for setting up this security association include the Authenticated Key Agreement (AKA) method (as used in 3GPP) and the Internet Key Exchange (IKE) method as used in IPsec. In either case the UIM
memory unit SUMU 314 contains a secret key referred to as the A-key. As an example, the AKA method is described. In the AKA method the A-key is a secret known only to the UIM and a trusted third party (TTP): the TTP may consist of more than one entity. The TTP is typically the mobile service provider with whom the user is registered. All communication between the CS and TTP is secure, and the CS trusts that the TTP will not assist unauthorized access to the broadcast service. When the user registers, the CS informs the TTP that the user wishes to register for the service and provides verification of the user's request. The TTP uses a function (similar to a cryptographic hash function) to compute the RK from the A-key and additional data called Registration Key Information (RKI). The TTP passes RK, RKI to the CS over a secure channel along with other data not relevant to this submission. The CS sends RKI to theMS 300. Thereceiver circuitry 304 passes RKI to theUIM 308 and possibly passes RKI to theME 306. TheUIM 308 computes RK from RKI and the A-key that is stored in the UIMmemory unit SUMU 314. The RK is stored in the UIMmemory unit SUMU 314 and is not provided directly to theME 306. Alternate embodiments may use an IKE scenario or some other method to establish the RK. The RK serves as the security association between the CS andUIM 308. - In the AKA method, the RK is a secret shared between the CS, UIM and TTP. Therefore, as used herein, the AKA method implies that any security association between the CS and UIM implicitly includes the TTP. The inclusion of the TTP in any security association is not considered a breach of security, as the CS trusts the TTP not to assist in unauthorized access to the broadcast channel. As stated hereinabove, if a key is shared with the
ME 306, it is desirable to change that key often. This is due to the risk of a non-subscriber accessing information stored in memory storage unit,MEM 310 and thus allowing access to a controlled or partially controlled service. TheME 306 stores SK (key information used for decrypting broadcast content) in memory storage unit,MEM 310. The CS must send sufficient information for subscribed users to compute SK. If theME 306 of a subscribed user could compute SK from this information, then additional information required to compute SK cannot be secret. In this case, assume that theME 306 of a non-subscribed user could also compute SK from this information. Hence, the value of SK must be computed in theSUPU 316, using a secret key shared by the CS andSUMU 314. The CS andSUMU 314 share the value of RK, however each user has a unique value of RK. There is insufficient time for the CS to encrypt SK with every value of RK and transmit these encrypted values to each subscribed user. Some other technique is required. - The following paragraphs discuss the subscription process in more detail. To ensure the efficient distribution of the security information SK, the CS periodically distributes a common Broadcast Access Key (BAK) to each
subscriber UIM 308. For each subscriber the CS encrypts BAK using the corresponding RK to obtain a value called BAKI (BAK Information). The CS sends the corresponding BAKI toMS 300 of the subscribed user. For example, BAK may be transmitted as an IP packet encrypted using the RK corresponding to each MS. In the exemplary embodiment, the BAKI is an IPSec packet. In the exemplary embodiment, BAKI is an IPSec packet containing BAK that is encrypted using RK as the key. Since RK is a per-user key, the CS must send the BAK to each subscriber individually; thus, the BAK is not sent over the broadcast channel. TheMS 300 passes the BAKI to theUIM 308. TheSUPU 316 computes BAK using the value of RK stored inSUMU 314 and the value of BAKI. The value of BAK is then stored in the SUMU. In the exemplary embodiment, the BAKI contains a Security Parameter Index (SPI) value instructing theMS 300 to pass BAKI to theUIM 308, and instructing theUIM 308 to use the RK for decrypting the BAKI. - The period for updating the BAK is desired to be sufficient to allow the CS to send the BAK to each subscriber individually, without incurring significant overhead. Since the
ME 306 is not trusted to keep secrets for a long time, theUIM 308 does not provide the BAK to theME 306. The BAK serves as the security association between the CS and the group of subscribers of HSBS service. - The following paragraph discusses how the SK is updated following a successful subscription process. Within each period for updating the BAK, a short-term interval is provided during which SK is distributed on a broadcast channel. The CS uses a cryptographic function to determine two values SK and SKI (SK Information) such that SK can be determined from BAK and SKI. For example, SKI may be the encryption of SK using BAK as the key. In the exemplary embodiment, SKI is an IPSec packet containing SK that is encrypted using BAK as the key. Alternatively, SK may be the result of applying a cryptographic hash function to the concatenation of the blocks SKI and BAK.
- Some portion of SKI may be predictable. For example, a portion of SKI may be derived from the system time during which this SKI is valid. This portion, denoted SKI_A, need not be transmitted to the
MS 300 as part of the broadcast service. The remainder of SKI, SKI_B may be unpredictable. The SKI_B need not be transmitted to theMS 300 as part of the broadcast service. TheMS 300 reconstructs SKI from SKI_A and SKI_B and provides SKI toUIM 308. The SKI may be reconstructed within theUIM 308. The value of SKI must change for each new SK. Thus, either SKI_A and/or SKI_B must change when computing a new SK. The CS sends SKI_B to BS for broadcast transmission. The BS broadcasts SKI_B, which is detected by theantenna 302 and passed to the receivecircuitry 304. Receivecircuitry 304 provides SKI_B to theMS 300, wherein theMS 300 reconstructs SKI. TheMS 300 provides SKI toUIM 308, wherein theUIM 308 obtains the SK using the BAK stored inSUMU 314. The SK is then provided byUIM 308 to ME 306. TheME 306 stores the SK in memory storage unit,MEM 310. TheME 306 uses the SK to decrypt broadcast transmissions received from the CS. - In the exemplary embodiment, the SKI also contains a Security Parameter Index (SPI) value instructing the
MS 300 to pass SKI to theUIM 308, and instructing theUIM 308 to use the BAK for decrypting the SKI. After decryption, theUIM 308 passes the SK to theME 306, wherein ME 306 uses the SK to decrypt broadcast content. - The CS and BS agree on some criteria for when SKI_B is to be transmitted. The CS may desire to reduce the intrinsic monetary value in each SK by changing SK frequently. In this situation, the desire to change SKI_B data is balanced against optimizing available bandwidth. The SKI_B may be transmitted on a channel other than the broadcast channel. When a user “tunes” to the broadcast channel, the receive
circuitry 304 obtains information for locating the broadcast channel from a “control channel.” It may be desirable to allow quick access when a user “tunes” to the broadcast channel. This requires theME 306 to obtain SKI within a short amount of time. TheME 306 will already know SKI_A, however, the BS must provide SKI_B to ME 300 within this short amount of time. For example, the BS may frequently transmit SKI_B on the control channel, (along with the information for locating the broadcast channel), or frequently transmit SKI_B on the broadcast channel. The more often that the BS “refreshes” the value of SKI_B, the faster theMS 300 can access the broadcast message. The desire to refresh SKI_B data is balanced against optimizing available bandwidth, as transmitting SKI_B data too frequently may use an unacceptable amount of bandwidth in the control channel or broadcast channel. - This paragraph discusses the encryption and transmission of the broadcast content. The CS encrypts the broadcast content using the current SK. The exemplary embodiment employs an encryption algorithm such as the Advanced Encryption Standard (AES)h Cipher Algorithm. In the exemplary embodiment, the encrypted content is then transported by an IPsec packet according to the Encapsulating Security Payload (ESP) transport mode. The IPsec packet also contains an SPI value that instructs the
ME 306 to use the current SK to decrypt received broadcast content. The encrypted content is sent via the broadcast channel. - Receive
circuitry 304 provides the RKI and BAKI directly to theUIM 308. Further, receivecircuitry 304 provides the SKI_B to an appropriate part of theMS 300 where it is combined with SKI_A to obtain SKI. The SKI is provided to theUIM 308 by the relevant part of theMS 300. TheUIM 308 computes RK from the RKI and A-key, decrypts the BAKI using the RK to obtain BAK, and computes the SK using the SKI and BAK, to generate an SK for use by theME 306. TheME 306 decrypts the broadcast content using the SK. TheUIM 308 of the exemplary embodiment is not sufficiently powerful for decryption of broadcast content in real time, and, therefore, SK is passed to theME 306 for decrypting the broadcast content. -
FIG. 5 illustrates the transmission and processing of keys RK, BAK and SK according to the exemplary embodiment. As illustrated, at registration theMS 300 receives the RKI and passes it toUIM 308, wherein theSUPU 316 computes RK using RKI and the A-key, and stores the RK in UIMmemory storage SUMU 314. TheMS 300 periodically receives the BAKI that contains BAK encrypted using the RK value specific toUIM 308. The encrypted BAKI is decrypted bySUPU 316 to recover the BAK, which is stored in UIMmemory storage SUMU 314. TheMS 300 further periodically receives an SKI_B that it combines with SKI_A to form SKI. TheSUPU 316 computes SK from SKI and BAK. The SK is provided to ME 306 for decrypting broadcast content. - In the exemplary embodiment the CS keys are not necessarily encrypted and transmitted to the MSs; the CS may use an alternative method. The key information generated by the CS for transmission to each MS provides sufficient information for the MS to calculate the key. As illustrated in the
system 350 ofFIG. 6 , the RK is generated by the CS, but RK Information (RKI) is transmitted to the MS. The CS sends information sufficient for the UIM to derive the RK, wherein a predetermined function is used to derive the RK from transmitted information from the CS. The RKI contains sufficient information for the MS to determine the original RK from the A_key and other values, such as system time, using a predetermined public function labeled d1, wherein:
RK=d1(A-key,RKI). (3) - In the exemplary embodiment, the function d1 defines a cryptographic-type function. According to one embodiment, RK is determined as:
RK=SHA′(A-key||RKI), (4) - wherein “||” denotes the concatenation of the blocks containing A-key and RKI, and SHA′(X) denotes the last 128-bits of output of the Secure Hash Algorithm SHA-1 given the input X. In an alternative embodiment, RK is determined as:
RK=AES(A-key,RKI), (5) - wherein AES(X,Y) denotes the encryption of the 128-bit block RKI using the 128-bit A-key. In a further embodiment based on the AKA protocol, RK is determined as the output of the 3GPP key generation function ƒ3, wherein RKI includes the value of RAND and appropriate values of AMF and SQN as defined by the standard.
- The BAK is treated in a different manner because multiple users having different values of RK must compute the same value of BAK. The CS may use any technique to determine BAK. However, the value of BAKI associated with a
particular UIM 308 must be the encryption of BAK under the unique RK associated with thatUIM 308. TheSUPU 316 decrypts BAKI using RK stored in theSUMU 314 according to the function labeled d2, according to:
BAK=d2 (BAKI,RK). (9) - In an alternate embodiment, the CS may compute BAKI by applying a decryption process to BAK using RK, and the
SUPU 316 obtains BAK by applying the encryption process to BAKI using RK. This is considered equivalent to the CS encrypting BAK and theSUPU 316 decrypting BAKI. Alternate embodiments may implement any number of key combinations in addition to or in place of those illustrated inFIG. 6 . - The SK is treated in a similar manner to RK. First SKI is derived from the SKI_A and SKI_B (SKI_B is the information transmitted from CS to MS). Then a predetermined function labeled d3 is used to derive the SK from SKI and BAK (stored in the SUMU 314), according to:
SK=d3(BAK,SKI). (6) - In one embodiment, the function d3 defines a cryptographic-type function. In an exemplary embodiment, SK is computed as:
SK=SHA(BAK||SKI), (7) - while in another embodiment, SK is computed as
SK=AES(BAK,SKI). (8) - A method of providing the security for a broadcast message is illustrated in
FIGS. 7A-7D .FIG. 7A illustrates aregistration process 400 wherein a subscriber negotiates registration with the CS atstep 402. The registration atstep 404 provides the UIM a unique RK. The UIM stores the RK in a Secure Memory Unit (SUMU) atstep 406.FIG. 7B illustratessubscription processing 420 between a CS and a MS. Atstep 422 the CS generates a BAK for a BAK time period T1. The BAK is valid throughout the BAK time period T1, wherein the BAK is periodically updated. Atstep 424 the CS authorizes the UIM to have access to the Broadcast Content (BC) during the BAK timer period T1. Atstep 426 the CS encrypts the BAK using each individual RK for each subscriber. The encrypted BAK is referred to as the BAKI. The CS then transmits the BAKI to the UIM atstep 428. The UIM receives the BAKI and performs decryption using the RK atstep 430. The decrypted BAKI results in the originally generated BAK. The UIM stores the BAK n a SUMU atstep 432. The UIM then receives the broadcast session and is able to access the BC by applying the BAK to decryption of the encrypted broadcast (EBC). -
FIG. 7C illustrates a method of updating keys for security encryption in a wireless communication system supporting broadcast service. Themethod 440 implements time periods as given inFIG. 7E . The BAK is updated periodically having a time period T1. A timer t1 is initiated when BAK is calculated and times out at T1. A variable is used for calculating the SK referred to as SK_RAND, which is updated periodically having a time period T2. A timer t2 is initiated when the SK_RAND is generated and times out at T2. In one embodiment, the SK is further updated periodically having a period of T3. A timer t3 is initiated when each SK is generated and time out at time T3. The SK_RAND is generated at the CS and provided periodically to the MS. The MS and the CS use SK_RAND to generate the SK, as detailed hereinbelow. - A first timer t1 is reset when the applicable value of BAK is updated. The length of time between two BAK updates is the BAK update period. In the exemplary embodiment the BAK update period is a month, however, alternate embodiments may implement any time period desired for optimum operation of the system, or to satisfy a variety of system criteria.
- Continuing with
FIG. 7C , themethod 440 initializes the timer t2 atstep 442 to start the SK_REG time period T2. The CS generates SK_RAND and provides the value to transmit circuitry for transmission throughout the system atstep 444. The timer t3 is initialized atstep 446 to start the SK time period T3. The CS then encrypts the BC using the current SK atstep 448. The encrypted product is the EBC, wherein the CS provides the EBC to transmit circuitry for transmission in the system. If the timer t2 has expired atdecision diamond 450, processing returns to step 442. While t2 is less than T2, if the timer t3 has expired atdecision diamond 452, processing returns to step 446; else processing returns to 450. -
FIG. 7D illustrates the operation of the MS accessing a broadcast service. Themethod 460 first synchronizes the timers t2 and t3 with the values at the CS atstep 462. The UIM of the MS receives the SK_RAND generated by the CS atstep 464. Atstep 466 the UIM generates the SK using the SK_RAND, BAK, and a time measurement. The UIM passes the SK to the ME of the MS. The UIM then decrypts the received EBC using the SK to extract the original BC atstep 468. When the timer t2 expires atstep 470 processing returns to step 462. While the timer t2 is less than T2, if the timer t3 expires atstep 472, the timer t3 is initialized atstep 474 and returns to 466. - When the user subscribes to the broadcast service for a particular BAK update period, the CS sends the appropriate information BAKI (corresponding to the BAK encrypted with the RK). This typically occurs prior to the beginning of this BAK update period or when the MS first tunes to the broadcast channel during this BAK update period. This may be initiated by the MS or CS according to a variety of criteria. Multiple BAKI may be transmitted and decrypted simultaneously.
- Note that when expiration of the BAK update period is imminent, the MS may request the updated BAK from the CS if the MS has subscribed for the next BAK update period. In an alternate embodiment the first timer t1 is used by the CS, where upon expiration of the timer, i.e., satisfaction of the BAK update period, the CS transmits the BAK.
- Note that it is possible for a user to receive a BAK during a BAK update period, wherein, for example, a subscriber joins the service mid-month when the BAK updates are performed monthly. Additionally, the time periods for BAK and SK updates may be synchronized, such that all subscribers are updated at a given time.
-
FIG. 8A illustrates the registration process in awireless communication system 500 according to the exemplary embodiment. TheCS 502 negotiates with each subscriber, i.e.,MS 512, to generate a specific RK to each of the subscribers. The RK is provided to the SUMU unit within the UIM of each MS. As illustrated, theCS 502 generates RK1 which is stored inSUMU 1 510 withinUIM 1 512. Similarly, theCS 502 generates RK2 and RKN which are stored inSUMU 2 520 withinUIM 2 522 andSUMU N 530 withinUIM N 532, respectively. -
FIG. 8B illustrates the subscription process in thesystem 500. TheCS 502 further includesmultiple encoders 504. Each of theencoders 504 receives one of the unique RKs and the BAK value generated in theCS 502. The output of eachencoder 504 is a BAKI encoded specifically for a subscriber. The BAKI is received at the UIM of each MS, such asUIM 1 512. Each UIM includes a SUPU and a SUMU, such asSUPU 1 514 andSUMU 1 510 ofUIM 1 512. The SUPU includes a decoder, such asdecoder 516 that recovers the BAK by application of the RK of the UIM. The process is repeated at each subscriber. - Key management and updates are illustrated in
FIG. 8C , wherein the CS applies afunction 508 to generate a value of SK_RAND, which is an interim value used by the CS and MS to calculate SK. Specifically, thefunction 508 applies the BAK value, the SK_RAND and a time factor. While the embodiment illustrated inFIG. 8C applies a timer to determine when to update the SK, alternate embodiments may use alternate measures to provide periodic updates, for example occurrence of an error or other event. The CS provides the SK_RAND value to each of the subscribers, wherein afunction 518 resident in each UIM applies the same function as infunction 508 of the CS. Thefunction 518 operates on the SK_RAND, BAK and a timer value to generate a SK that is stored in a memory location in the ME, such asMEM 1 542 ofME 1 540. -
FIG. 8D illustrates the processing of BC after registration and subscription. TheCS 502 includes anencoder 560 that encodes the BC using the current SK to generate the EBC. The EBC is then transmitted to the subscribers. Each MS includes an encoder, such asencoder 544, that extracts the BC from the EBC using the SK. - While the present invention has been described with respect to an exemplary embodiment of a wireless communication system supporting a unidirectional broadcast service, the encryption methods and key management described hereinabove is further applicable to other data processing systems, including a multi-cast type broadcast system. Still further, application of the present invention to any data processing system wherein multiple subscribers access a single transmission of secure information through an insecure channel.
- Note that a user may subscribe to a first entity that is different from the current Content Server (CS), content provider, and/or content source for the current broadcast or transmission. As an example consider a user that is roaming into a different geographical area. The user is a subscriber to a central news broadcast entity, such as CNN. An affiliate of the central news broadcast entity, such as CNN Asia may be generated locally. In this situation, when a subscriber to the central news broadcast entity, e.g., CNN, roams into a geographical areas of a locally generated broadcast entity, e.g., CNN Asia, authorization may require the locally generated broadcast entity to check the central broadcast entity's subscription database.
- Each broadcast entity may have a separate Subscription Server (SS), which complicates authentication, as each of SS needs to negotiate with another SS in the roaming situation. Similarly, the use of separate SSs may incur complications of key distributions. Each of the SS may be owned by a local CS or may have a business arrangement with the local CS.
- Various alternate embodiments are described herein that avoid some of the authorization problems associated with roaming, etc. The following definitions for logical entities are provided for clarity in understanding such embodiments. The home system or network, referred to as the HLR or the HLR/AC holds the mobile user's subscription. In other words, home refers to the system where the normal telephone subscription is located. The visited system or network, referred to as the VLR, such as MSC/VLR, is then a system entered by roaming, etc. When a user is not roaming, the VLR system is the same as the HLR system. A Content Server (CS) is referred to as local/visited when that CS provides content to the visited network. The CS includes a content source and a Broadcast Access Key (BAK) generator. A BAK encryptor encrypts the BAK for provision into a UIM. A BAK encryptor may be associated only with one CS or may serve multiple CSs. A Subscription Server (SS) holds subscription data authorizing a user to at least one BroadCast MultiCast Service (BCMCS). The SS may be owned by a local CS or may be part of a business agreement with a local CS.
- The aim of BCMCS is to provide the broadcast and multicast services. Entities, called Content Servers (CSs), will provide content to participating mobile Service Providers (SPs). The content is envisioned to be audiovisual data. A CS may be part of the serving network, but this is not necessarily so. The SP will transmit this content on a particular physical channel. If the content is offered for free, then any user can access this channel to view/process the content. If access to the channel is subscription based, then while any users can tune into the physical channel, the content will be encrypted so that only the subscribed users will be able to view/process the content.
- Security threats to a broadcast system are key design considerations. A system for providing broadcast and multicast services is illustrated in
FIG. 18 . The security threat may involve a user obtaining access to the content without paying a subscription fee (where required). To counter such threats, the content is encrypted and decryption keys provided only to those users who have subscribed. Key management then becomes of critical importance. - The broadcast content may be protected by end-to-end encryption using IPSec Encapsulating Security Payload (ESP) in transport mode. The security parameters, such as the encryption key and the encryption algorithm, are stored as a security association, which is indexed by the destination address and a 32-bit value called the Security Parameter Index (SPI).
- For the purposes of this discussion, the Mobile Station (MS) is considered as two separate entities, the User Identity Module (UIM) and the Mobile Equipment (ME). The UIM is a low power processor that contains secure memory. The UIM may be removable (like a SIM card) or part of the MS itself. The ME contains a high power processor, but no secure memory.
- The content is encrypted with a frequently changing Short-term Key (SK). The ME decrypts the content using SK. SK is changed frequently to prevent a “rogue shell” from sending SK to other terminals for use in receiving the broadcast, thereby providing many with service with only a single paying subscription. The SK is not transmitted; the value of SK used to encrypt a particular broadcast packet is derived from a Broadcast Access Key (BAK) and the SPI in the header of that IPSec packet. BAK resides in the UIM, requiring the presence of the UIM in order to receive broadcast service. The current BAK is the same for all subscribers to that channel, and the BAK provides access for a period of time determined by the operator. Thus, once the UIM has obtained the BAK, the UIM can compute the SK values needed for the ME to decrypt the broadcast. A method similar to “Secure Mode,” as described in TIA/EIA/IS-683-B, C.S0016-A, SP-4742-RV2-A, entitled “Over-the-Air Service Provisioning of Mobile Stations in Spread Spectrum Systems,” Published December 2001, is used to provision the UIM with the BAK.
- The following is a list of definitions provided for clarity of understanding.
-
- AAA Authentication, Authorization, and Accounting The AAA holds the root key K of the user.
- AC Authentication Centre. This is an ANS-41 entity performing authentication and key management functions similar to those performed by an AAA.
- BAK Broadcast Access Key: Provides access to the content for a certain amount of time (for example, one day, week or month).
- BAKUE Broadcast Access Key Update Entity: A BAKUE is an entity that is in the serving network that can update BAK.
- CS Content Server: Provides the data for the service.
- MS Mobile Station: For the purposes of this document, the MS is considered as two separate entities, the UIM and ME.
- UIM: User Identity Module (UIM): The UIM is a low power processor that contains secure memory. The UIM may be removable (like a SIM card) or part of the MS itself.
- ME: Mobile Equipment: The ME contains a high power processor, but no secure memory.
- SA Security Association: A listing of the parameters (such as the key) required to process an IPSec packet. Each SA is index by destination address and Security Parameter Index (SPI).
- SDP Session Data Parameters: Parameters required for processing the current content.
- SK Short-term Key: The CS encrypts the content using SK and the ME decrypts using SK.
- SMCK Secure Mode Cipher Key: as used in IS-683-B. In BCMCS, SMCK is used to encrypt BAK when being sent to the UIM.
- SP Service Provider: The serving network in which the MS is currently located.
- SPI Security Parameter Index: used to index a security Association (SA).
- PDSN Packet Data Serving Node: Interfaces between the Internet and the RAN.
- RAN Radio Access Network.
- RANDSM A random number generated by the AC/AAA that is used to generate SMCK in IS-683-B.
- The subscription process is outside the scope of this discussion. However, assume that the CS and SP agree on a subscription process that includes provisioning of a per-subscription root key that can be used both for authentication and for key management. Assume that this root key is held by the AC or AAA-H.
- It is possible that the broadcast subscription may be held in the CS or another entity that is separate from the subscription for wireless access that would be held in the AAA-H or in the HLR associated with an AC. In that case, assume that a wireless access subscription is established before the broadcast service subscription is established. The location of the subscription data will affect how BAKs are provisioned. There are two methods that an MS can use to detect if it has the correct BAK.
- When a user tunes to a broadcast services, the first step is to obtain the Session Data Parameters (SDP) from the CS. The SDP includes related data about BAK, such as an identifier (sequence number) and expiration time, if any. These values allow the MS to determine if it needs to update the BAK. If a BAK update is required during a transmission, the transmission will include notification for the MS to perform an SDP update (from which the MS can determine that it needs to update the BAK).
- IPSec packets encrypted with SK values derived from BAK have the 4 most significant bits (MSBs) of the SPI set to the BAK_ID corresponding to that BAK. So the ME can extract the 4 MSBs to check if the UIM has the correct BAK.
- The CS decides how often BAK is changed. Frequent BAK changes will provide more security. Frequent BAK changes will also provide greater flexibility in billing. Consider the following example. Once a user has BAK, they can access the content for the lifetime of that BAK. Suppose the BAK is changed at the beginning of every month. If a user's subscription runs out halfway through the lifetime of a BAK, the user will still be able to generate SK (and thus view the content) until the BAK expires. So by changing BAK only every month, the CS can only charge subscriptions from the beginning of the month to the end of the month. A user can't subscribe from the middle of one month to the middle of the next. However, if BAK changed every day, then the user could subscribe from the beginning of any day during the month. Increasing the frequency of BAK changes should be evaluated against a possible increase in the number of times the mobile station has to retrieve new BAK values.
- This discussion does not specify how an MS determines that it needs to update BAK. Assume that a means will be provided for the MS to determine that its BAK is about to expire or has expired, triggering action to perform a BAK update. Several methods are available therefore. When an MS decides to perform a BAK update, a method similar to the IS-683-B Secure Mode is used to provide the UIM with BAK. There are a couple of ways in which this may be done.
- Firstly, the CS may provision the UIM with BAK, as in
FIG. 19 . When an MS determines that it needs to update BAK, the MS contacts the CS. - The CS checks if the user is subscribed. If the user is subscribed, then the CS contacts the AC/AAA of the user to obtain a temporary SMCK as in IS-683-B. The AC/AAA generates a random number RANDSM and combines this with the current SSD-B (or the root key K) of the mobile station to obtain SMCK. The SHA-1 based function ƒ3 is used for this purpose. The AC/AAA sends RANDSM and SMCK to the CS.
- The CS encrypts BAK using SMCK to obtain EBAK. The CS then sends RANDSM, BAK_ID and EBAK to the mobile station. The UIM combines RANDSM with the root key K (or the current SSD-B) to obtain SMCK. The UIM then uses SMCK to decrypt EBAK to obtain BAK, and stores BAK within secure memory.
- If the CS passes subscription data on to the HLR/AC or the AAA-H, then the SP can provision UIMs with BAK on behalf of the CS, as shown in
FIG. 20 . In this scenario, the SP has one or more BAK Update Entities (BAKUEs) that can provision a UIM with BAK. - The CS supplies the current BAK to the BAKUEs. When an MS determines that it needs to update BAK, the MS contacts a BAKUE. The BAKUE contacts the AC/AAA of the user to obtain a temporary Secure Mode Cipher Key (SMCK) as in IS-683-B.
- The AC/AAA checks if the user is subscribed. If the user is subscribed, then the AC/AAA generates a random number RANDSM and combines this with the current SSD-B (or the root key K) of the mobile station to obtain SMCK. The SHA-1 based function ƒ3 is used for this purpose. The AC/AAA sends RANDSM and SMCK to the BAKUE.
- The BAKUE encrypts BAK using SMCK to obtain EBAK. The CS then sends RANDSM, BAK_ID and EBAK to the mobile station. The UIM combines RANDSM with the root key K (or the current SSD-B) to obtain SMCK. The UIM then uses SMCK to decrypt EBAK to obtain BAK, and stores BAK within secure memory.
- If the CS passes subscription data on to the HLR/AC or the AAA-H, then the SP can provision UIMs with BAK on behalf of the CS, as shown in
FIG. 20 . In this scenario, the SP has one or more BAK Update Entities (BAKUEs) that can provision a UIM with BAK. -
- 1. The CS supplies the current BAK to the BAKUEs.
- 2. When an MS determines that it needs to update BAK, the MS contacts a BAKUE.
- 3. The BAKUE contacts the AC/AAA of the user to obtain a temporary Secure Mode Cipher Key (SMCK) as in IS-683-B.
- 4. The AC/AAA checks if the user is subscribed. If the user is subscribed, then the AC/AAA generates a random number RANDSM and combines this with the current SSD-B (or the root key K) of the mobile station to obtain SMCK. The SHA-1 based function ƒ3 is used for this purpose. The AC/AAA sends RANDSM and SMCK to the BAKUE.
- 5. The BAKUE encrypts BAK using SMCK to obtain EBAK. The CS then sends RANDSM, BAK_ID and EBAK to the mobile station.
- 6. The UIM combines RANDSM with the root key K (or the current SSD-B) to obtain SMCK. The UIM then uses SMCK to decrypt EBAK to obtain BAK, and stores BAK within secure memory.
- An adversary achieves nothing by performing a BAK request while impersonating a subscribed user. Only the subscribed user will be able to derive SMCK from RANDSM, and thus extract BAK. For these reasons, the CS/BAKUE may not need to authenticate BAK requests. According to the exemplary embodiment, the UIM does not reveal BAK. If a single UIM reveals BAK, then all security is lost until the CS changes BAK.
- The UIM should store BAK and related data about BAK, such as an identifier (sequence number) and expiration time, if any. It may prove beneficial to provision UIM with BAK shortly before BAK begins being used to derive SK values. Otherwise, once the CS starts sending packets with SK derived from the new BAK, the user would experience a delay as the MS performs a BAK update. If many users are tuned in, then there will be a burst of traffic as all the MSs perform a BAK update.
- To avoid such problems, a Broadcast Multicast Service (BCMCS) as described herein may allow an MS to obtain the new BAK shortly before the BAK changes. The MS, SP or CS may initiate the BAK acquisition process. Different MS may have different schedules for performing BAK updates, to prevent too many MSs performing a BAK update at once.
- For security reasons, BAK should be distributed as close as possible to the time of use. The ME may store the BAK-related data, to save requesting this information from the UIM.
- If the CS has already computed the SK corresponding to the current SPI, then the CS encrypts the broadcast content according to IPSec ESP in transport mode, using SK as the encryption key. To create a new key SK, the CS performs the following steps. The CS chooses a random 28-bit value SPI_RAND. The CS forms a 32-bit SPI of the form SPI=(BAK_||SPI_RAND), where the 4-bit BAK_ID identifies the current BAK value. The CS pads SPI_RAND to 128 bits. The CS encrypts this 128-bit value using BAK as the key. The 128-bit output is SK. The CS puts the new value of SK in an SA indexed by the SPI and the destination address of the broadcast packet.
- The value of SPI_RAND should be random, so that a user can't predict what values of SPI will be used in the future. Otherwise someone could pre-compute the SK values to be used for that day and distribute these keys at the beginning of the day. For someone wanting to distribute keys, this process is easier (and less expensive) than distributing the keys in real time.
- Given a BCMCS IPSec packet, the ME performs the following steps. The ME obtains the SPI. The ME extracts the BAK_ID from the SPI. The ME then decides if the UIM has the correct BAK. If the UIM doe not have the correct BAK, then the MS updates the BAK as discussed above. (Alternatively, the ME may check the SDP to see if it has the current BAK).
- The ME checks if it has a security association (SA) corresponding to the SPI and the destination address of the broadcast packet. If the ME has an SA with this SPI then the ME decrypts the block (as per IPSec ESP in transport mode) using the decryption key SK in the SA. If the ME does not have an SA with this SPI then the ME passes the SPI to the UIM so that the UIM can compute the SK. The UIM computes the SK as follows. The UIM extracts the BAK_ID from the 4 most significant bits of the SPI and retrieves the value of BAK (corresponding to BAK_ID) from its memory. The UIM extracts the 28-bit SPI_RAND and pads SPI_RAND to 128 bits.
- The UIM encrypts this 128-bit value using BAK as the key. The 128-bit output is SK. The UIM passes SK to the ME. The ME puts the new value of SK in an SA indexed by the SPI and the destination address of the broadcast packet. The ME now decrypts the block, as per IPSec ESP in transport mode, using SK as the key.
- The same value of SK The same value of SK can be used for more than one IPSec packet. The CS decides when and how often to change SK. Decreasing the lifetime of SK increases the security. The SK may normally change every 5 to 10 minutes, but it is up to the CS to decide how often they wish to change SK. During peak-usage times, the CS may choose to change SK more often for additional security. Note that the value of SK is changed by changing SPI, so the CS and MS must be designed to accommodate dynamic SPIs.
- The same value of SK may be used for more than one IPSec packet. The CS decides when and how often to change SK. Decreasing the lifetime of SK increases the security. The SK may normally change every 5 to 10 minutes, but it is up to the CS to decide how often they wish to change SK. During peak-usage times, the CS may choose to change SK more often for additional security. Note that the value of SK is changed by changing SPI, so the CS and MS must be designed to accommodate dynamic SPIs. The same value of SK can be used for more than one IPSec packet. The CS decides when and how often to change SK. Decreasing the lifetime of SK increases the security. The SK may normally change every 5 to 10 minutes, but it is up to the CS to decide how often they wish to change SK. During peak-usage times, the CS may choose to change SK more often for additional security. Note that the value of SK is changed by changing SPI, so the CS and MS must be designed to accommodate dynamic SPIs.
- Table 1 may be useful as a quick reference regarding the use, computation and storage of keys in the MS. Table 1 is a summary of the use computation and storage of keys in the Mobile Station.
TABLE 1 is used is com- is stored The key: to: lasts for: requires: puted in: in: SMCK decrypt [tem- Root Key UIM (temporary) BAK porary] K BAK compute hours/days SMCK UIM UIM SK SK decrypt sec/ BAK, SPI UIM ME content minutes - BCMCS offers new challenges for key management that require non-standard solutions. If a solution uses IPSec, then a variable SPI is desired for BCMCS, in order to determine which value of SK should be used to decrypt. For one embodiment, key management (in which SK is derived from BAK and SPI) is sufficiently secure for BCMCS, and allows a particularly practical solution for BCMCS.
- There are two “exchanges” taking place in BCMCS:
-
- The users pay fees to the CS in order to receive broadcast content from the CS (via the SP).
- The CS pays fees to the SP in order to receive transmission time from the SP.
The security goals of the system include avoiding the following threats.
Threat 1. An SP gets paid transmission fees without giving transmission time. Typically, this is not a major concern. Any SP that fails to provide transmission time will be easily caught. It is expected that SPs will behave in a manner that promotes more business, else violating SPs will suffer the consequences of a bad reputation.
Threat 2. A CS (or other party) gets transmission time without paying transmission fees. Such as when someone impersonates a legitimate CS; sending messages to the SP as if it were content provided by the CS. One solution is to add an Authentication Header (AH), on the link between the CS and the SP to avert the threat.
Threat 3. User(s) access the broadcast content without paying the fees. The solution was required to be IPSec based. To access the broadcast content, a user must have the current decryption keys. The UIM is not powerful enough to decrypt the content, and therefore the ME performs the decryption. This implies that the decryption keys are stored in the ME. Eventually, someone will work out how to extract the current decryption key from the ME. A subscribed user will then be able to distribute the decryption key to other non-subscribed users. So it will be difficult to design a scheme where non-subscribed users cannot access the data.
- Note that the goal is to dissuade the potential market (those users for which the service is targeted) from using illegitimate means to access the content.
- The ME cannot be trusted to store or compute long-term keys; the long term keys are to be stored and computed in the UIM. The UIM is not powerful enough to perform public-key cryptographic operations so all key management must be based on symmetric cryptography. SPs and other entities will have access to some of the symmetric keys and may exploit these to derive decryption keys. It appears that the real threat is that of subscribed users distributing decryption keys to non-subscribed users. One solution is to change the decryption key frequently and in an unpredictable manner. The challenge is achieving this while minimizing the transmission overhead required for key distribution.
- One solution distributes a Broadcast Access Key (BAK) to each user individually, wherein many decryption keys are derived using the BAK and public information sent with the broadcast. An example is shown in
FIG. 21 . In this example, only three decryption keys are derived from each BAK. In practice, there may be hundreds or thousands of decryption keys derived from a single BAK. -
FIG. 21 is an example of deriving many decryption keys from one BAK by combining with information sent on the broadcast channel. If a subscribed user could extract BAK and distribute it to other users, then this would allow the other users to derive many SKs. To avoid this, the BAK must be kept in secure memory in the UIM so that the user cannot extract BAK. There are various options for provisioning the UIM with BAK. The option suggested (similar to IS-683-B Secure Mode) appears to be the simplest solution. - In the normal instance of using IPSec, the two parties would normally negotiate when changing keys. Once the parties agree on the new keys, the SPI does not change: the parties simply place the new keys in the old security association and leave the SPI as it was. In BCMCS, there is a different situation because there are multiple receivers and the communication flows only from the CS to the users. The CS is not in a position to verify that the users have the correct value of SK. Similarly; the users have difficulty verifying that they have the correct value of SK. Changing the SPI when SK changes solves this problem. This way the CS knows that the users are aware that SK has changed. Note that this is not standard practice in IPSec.
- The two major options for distributing the SK include: 1) sending SK in packets separate from the content stream; or 2) deriving the SK from information included in the IPSec packet containing the content. Hybrid schemes may also be considered.
- A user may “tune in” at any time during the broadcast. The user will want almost instant access to the content. Thus, if information for deriving SK (for example, and encrypted value of SK or a random seed) is sent in a packets separate from the content, then the CS must resend the information for deriving SK every few seconds. One disadvantage is that this method uses up bandwidth. The major disadvantage is that there is no standard method for distinguishing packets containing SK information from packets containing content.
- Given that the SPI is changing when SK is changing, it is possible to take the additional step of deriving SK exclusively from BAK and the SPI. To ensure that the correct value of BAK is used, the SPI includes a 4-bit BAK_ID, and there would be an expiration time for the BAK so that BAK_ID can be re-used for other values of BAK in the future. This leaves 28 bits of the SPI that could change, corresponding to 228 possible values of SK. When the ME comes across a new SPI, the ME passes this SPI to the UIM and the UIM computes SK from SPI and BAK. The ME would have the new SK back in a negligible amount of time, and could continue decrypting. The variable portion of SPI should be random; otherwise a subscribed user could get the UIM to pre-compute the necessary SK values and distribute them.
- Such methods incur no additional bandwidth for distributing SK to the users, and allow the UIM to compute SK as soon as it has the BAK and the ME has begun receiving the IPSec packets. The user doesn't have to wait for the packets containing information for SK. This is a considerable advantage, particularly in the case where a user is changing channels every few seconds or minutes: the user will not want a few seconds delay while waiting for information to derive SK every time they change channels.
- This scheme, however, allows a relatively small number of SK values to be derived from a single BAK: Specifically, in the example described, there are 228 values (corresponding to the 228 values of SPI_RAND), compared to 2128 values using other methods. A group of subscribed users could get their UIM to pre-compute all 228 values of SK for the current BAK by inputting all 228 possible SPI values. Estimate that one UIM might be able compute all the keys in about three days. A large number of subscribed UIMs would be able to pre-compute these values within, say, one hour. This group could then distribute these values. The set of keys would require around 4 gigabytes of memory. Since the current consideration, however, is for users accessing via a Personal Digital Assistant (PDA) or phone, it is highly unlikely that they will have access to sufficient storage for all 4 gigabytes. Additionally, the user will probably be unwilling to download large amounts of data, e.g., 4 gigabytes, every time the BAK changes. Also, the current example considers users that want quality service. Without all the keys, the users are not going to be able to decrypt all the content, and won't get quality service.
- The following discussion presents several options for enhancing the security of BCMCS and similar broadcast type services. Specifically considered are: 1)encryption layers, including link layer encryption and end-to-end encryption; 2) BAK update procedures, such as encryption at the SS and encryption at the local network; 3) location of the BAK encryptor, or BAK distribution server, such as associated with a single CS or centralized for provision for multiple CS, and 4) SK transport, wherein the SK may be derived from the SPI or sent in encrypted form. An exemplary architecture is provided in
FIG. 9 which will be used for the following discussion. - While various options and embodiments are considered, the exemplary embodiment provides a method for first establishing a Registration Key (RK), or root key, securely between a home system or network, referred to as an HLR, and a secure module within a remote unit, the UIM. An AKA procedure, or a modified AKA procedure is used to provide a same RK to both the HLR and the UIM for a given user. Once the UIM and HLR both have a same RK value, the local system, referred to as the VLR, may provide a Broadcast Access Key (BAK) to the UIM, using such information. Specifically, the VLR generates the BAK. The VLR then either: 1) provides the BAK to the HLR, where the HLR encrypts the BAK and provides the Encrypted BAK (EBAK) to the VLR; or 2) the VLR sends a Temporary Key (TK) request to the HLR. In the first instance, the HLR encrypts the BAK using the RK that is known only by the HLR and the UIM. The EBAK is provided to the UIM via the VLR. The UIM receives the EBAK and uses the RK to decrypt the BAK. Note that for implementation, every time the BAK changes, the VLR must send the BAK to the HLR incurring overhead. For method 2), the HLR generates multiple TK values and associated random values. The TK values are generated using random numbers and the RK. The TK values, i.e., TK1, TK2, etc., and the random values, i.e., TK_RAND1, TK_RAND2, etc., are provided to the VLR. Each time the VLR updates the BAK (changes the BAK for maintenance of secure transmissions) the VLR encrypts the BAK using a TKi. The VLR then sends the EBAK, and the TKi or the (TKi, TK_RANDi) pair to the UIM. In each situation, as the UIM has the RK, the UIM is able to decrypt the EBAK and recover the BAK.
- Consider
system 1000 ofFIG. 22 supporting BCMCS. The functions of the various entities are defined as: -
- Home BCMCS Control:
- Provide BCMCS service subscriptions
- Accounting info for BCMCS service
- Request for Root Key (RK) establishment in UIM
- Generate the temporary key (TK) for encryption of BAK
- Local BCMCS Control:
- Generate BAK for BCMCS service
- Encryption of BAK by using TK
- Download encrypted BAK to UIM
- Deliver BAK to RAN for generating SK and also indicate SK life time
- BCMCS Content Server:
- Provide BCMCS content. The interfaces illustrated in system
1000 are defined as:
- Provide BCMCS content. The interfaces illustrated in system
- Home BCMCS Control:
- B1 Interface (HLR/AC-Home BCMCS Control):
-
- Used for request of RK establishment in UIM from Home
- BCMCS Control
- Deliver RK to Home BCMCS Control from HLR/AC
- B2 Interface (Local BCMCS Control-PDSN):
-
- Download the encrypted BAK to UIM via IP protocol
- B3 Interface (Local BCMCS Control-BSC/PCF)
-
- Deliver BAK to RAN
- Send SK lift time to RAN
- B4 Interface (Local BCMCS Control-Home BCMCS Control)
-
- Deliver sets of TK to Local BCMCS Control
-
FIG. 23 is a timing diagram illustrating RK establishment. The vertical axis refers to time. RK establishment or provisioning occurs when the user subscribes to the BCMCS service in Home BCMCS AAA. Each BCMCS content provider has one corresponding RK for each subscriber. RK is only known by the UIM and home service provider/home content service provider. RK Establishment Procedures illustrated inFIG. 23 is described as follows. -
- step a: Upon receiving the subscription from the user, Home BCMCS Control sends RK establishment request to the subscriber's home service provider's HLR/AC indicating the subscriber's identity (SUB_ID) and its own BCMCS content provider's identity.
- step b: HLR/AC uses the existing AKA procedures to establish RK in UIM.
- step c: Upon successful RK establishment in UIM, HLR/AC sends RK to the Home BCMCS Control.
- BAK download occurs when the MS requests such. There is BAK life time associated with each BAK, wherein each BAK is identified by a BAK identifier or sequence number. Each BCMCS program identified by Content ID has its own BAK. A Home Content Provider ID and Content ID is unique for each BCMCS program. The mapping between the BCMCS_ID and (Home Content Provider ID+Content ID) pair is performed locally in Local BCMCS Control. The BAK is only known by Local BCMCS Control and the UIM. The BAK Download Procedures are given as follows.
-
- step a: Upon the subscriber subscription to the BCMCS service or upon the BAK lifetime expires, the UIM requests a BAK download and the MS passes the request to the Local BCMCS Control.
- step b: The Local BCMCS Control entity sends a Temporary Key Request to the Home BCMCS Control so that it can use it for encryption of BAK.
- step c: The Home BCMCS Key Encryptor generates TK_RAND and then calculate TK with the input of RK and TK_RAND by using some function [TK=f(TK_RAND, RK)]. The Home BCMCS Key Encryptor may generate several sets of the pairs for future usage so that the transactions between the Home BCMCS Control and Local BCMCS Control is not always needed. The Home BCMCS Control then returns several TKs to the Local BCMCS Control.
- step d: The Local BCMCS Key Encryptor generates a BAK encrypted with one of TKs, and generates BAK_RAND. The Local BCMCS Encryptor then calculate BAK_AUTH with the input of BAK and BAK_RAND by using some function [BAK_AUTH=f(BAK_RAND, BAK)]. Then the Local BCMCS Key Encryptor sends encrypted BAK with corresponding BAK_ID and BAK lifetime, BCMCS_ID, TK_RAND, BAK_AUTH, and BAK_RAND to the UIM via the MS. The UIM calculates TK with the input of TK_RAND and its owned stored RK and then decrypts BAK by using the TK. The calculation of BAK_AUTH with input of BAK and BAK_RAND, is compared with the received BAK_AUTH. If there is no match, return to step a.
-
FIG. 24 illustrates a BCMCS architecture for a Home Service Provider having a Content Server. Thesystem 1100 has entities defined as follows. -
- Home HLR/AC:
- Provide BCMCS service subscriptions
- Accounting info for BCMCS service
- Generate the temporary key (TK) for encryption of BAK
- Local BCMCS Control:
- Generate BAK for BCMCS service
- Encryption of BAK by using TK
- Download encrypted BAK to UIM via B2 interface
- Deliver BAK to RAN for generating SK and also indicate SK life time
- BCMCS Content Server:
- Provide BCMCS content.
As illustrated inFIG. 24 , the interfaces are defined as follows.
- Provide BCMCS content.
- B2 Interface (Local BCMCS Control-PDSN):
- Download the encrypted BAK to UIM via IP protocol
- B3 Interface (Local BCMCS Control-BSC/PCF)
- Deliver BAK to RAN
- Send SK lift time to RAN
- B5 Interface (Local BCMCS Control-BSC/PCF)
- Deliver sets of TK to Local BCMCS Control.
In thesystem 1100, the A-key be used for RK, as well as A-key exchange procedures, as the home service provider owns BCMCS Content Server.
- Deliver sets of TK to Local BCMCS Control.
- Home HLR/AC:
- With respect to
system 1100, the BAK download occurs when the MS requests a BAK or update. There is BAK life time associated with each BAK. Each BCMCS program identified by Content ID has its own BAK. The BAK is only known by Local BCMCS Control and UIM. The BAK Download Procedures are given as follows. -
- step a: Upon the subscriber subscribers the BCMCS service or upon the BAK lifetime expires, the UIM requests for BAK download and the MS passes the request to the Local BCMCS Control.
- step b: The Local BCMCS Control sends Temporary Key Request to the BSC/VLR so that it can use it for encryption of BAK.
- step c: The BSC/PCF passes Temporary Key Request to the HLR/AC via MSC/VLR.
- step d: The HLR/AC generates TK_RAND and then calculate TK with the input of A Key and TK_RAND by using some function [TK=f(TK_RAND, A Key)]. It can generate several sets of the pairs for future usage so that the transactions between the HLR/AC and BSC/PCF via MSC/VLR is not always needed. The HLR/AC then returns several TKs to the BSC/PCF via MSC/VLR.
- step e: The BSC/PCF passes TK to the Local BCMCS Control.
- step f: The Local BCMCS Control generates a BAK and encrypted with one of TKs. It also generates BAK_RAND and then calculate BAK_AUTH with the input of BAK and BAK_RAND by using some function [BAK_AUTH=f(BAK_RAND, BAK)]. Then the Local BCMCS Control sends encrypted BAK with corresponding BAK_ID and BAK lifetime, BCMCS_ID, TK_RAND, BAK_AUTH, and BAK_RAND to the UIM via the MS. The UIM calculates TK with the input of TK_RAND and its owned stored A Key and then decrypts BAK by using the TK. And then it calculates its own BAK_AUTH with input of BAK and BAK_RAND. It compares its calculated BAK_AUTH with the received BAK_AUTH. If it is not matched, it will start from step a again.
- Note that for an embodiment providing encryption at the link layer, such encryption configuration does not prevent IP level encryption. Encryption at the link layer should be disabled if IP level encryption is enabled. The Short term Key (SK) Download Procedures are given as follows.
-
- step a: The BCMCS Control sends BAK and BAK life time to BSC/PCF, and sends SK life time to request BSC/PCF generates SK with indicated SK Life Time.
- step b: The BSC/PCF sends SK encrypted with BAK to UIM via MS.
- step c: UIM decrypts SK with BAK and sends back to MS.
- step d: BCMCS Content Server sends plain broadcast content to BSC/PCF via PDSN.
- step e: The BSC/PCF encrypts the broadcast content with SK and then sends it over the air.
- In summary, the BCMCS is discovered out of band.
- The user subscribes to the BCMCS service out of band (SUB ID). If the Home Service Provider does not own the content server, the root key or Registration Key (RK) is established at the UIM via AKA; otherwise, the A-key will be used for RK. The TK is sent to the Local BCMCS Control node. The BAK encrypted by TK is download to UIM via visited network (PDSN) using a special UDP port number. The MS finds if broadcast service is available for particular sector via overhead message. The MS performs a registration (BCMCS_ID).
-
FIG. 25 illustrates the bearer path set-up via provisioning for multicast service between the CS and the PDSN.FIG. 26 illustrates bearer path set-up via provisioning for unicast service between the CS and the PDSN.FIG. 27 illustrates bearer path set-up and tear down vai the MS registration and deregistration for multicast service between the CS and the PDSN. -
- BCMCS bearer path is setup (if not there)
- MS starts monitoring BCMCS channel
-
FIG. 9 illustrates ahigh level architecture 600 for security according to one embodiment. TheCS 602 provides content information to a Content Encryptor (CE) 604. The CE 604 is used for generation of the SK, and may be used for encryption of the SK. The content encryptor 604 provides: 1) the content encrypted with the SK; 2) the SPI; or 3) an Encrypted SK (discussed hereinbelow), to abroadcast receiver 606. Additionally, the CE 604 receives the BAK, the BAKseq (identifies which BAK value) and the SK lifetime (specifies how long the SK is valid) from theBAK generator 612. These values are provided for processing within the CE 604. The CE 604 encrypts the content and provides the encrypted product to thebroadcast receiver 606. The CE 604 also provides the BAKseq to thebroadcast receiver 606. As the BAK is updated, the BAKseq value identifies the particular BAK. Note that the content encryptor 604 generates the SK. The SK generation may be SPI based or may be an Encrypted SK (ESK). - For the SPI based generation of SK, the SPI may be formed from a 4-bit BAKseq and 28-bi SPI-RAND. The SK for packets when SPI=(BAKseq,SPI_RAND) is generated by encrypting SPI_RAND with BAK, wherein “X_RAND” is a random number used to evaluate X. The SPI change indicates a change in SK. The content encryptor 604 chooses the SPI_RAND, generates the SK, and forms SPI(BAKseq, SPI_RAND). The Content Encryptor (CE) 604 encrypts the content with the SK and sends the SPI with the encrypted content to the
broadcast receiver 606. Thebroadcast receiver 606 extracts the SPI and passes the SPI to theUIM 608, which computes the SK from the SPI_RAND and the BAK. TheUIM 608 passes the SK to thebroadcast receiver 606, which decrypts content using the SK. - For the ESK, the content encryptor 604 encrypts the SK with the BAK to generate the ESK. The content encryptor 604 chooses the SK and computes the ESK therefrom to form (BAKseq, ESK). The content encryptor 604 encrypts content with the SK and sends (BAKseq, ESK) periodically with the encrypted content to the
broadcast receiver 606. Thebroadcast receiver 606 passes the (BAKseq, ESK) to theUIM 608, which computes the SK and passes the SK back to thebroadcast receiver 606. Thebroadcast receiver 606 then decrypts content using the SK. The BAKseq, ESK) may be sent in a packet with a unique port number, which may introduce synchronization problems. - The
broadcast receiver 606 provides content decryption and signaling. Thebroadcast receiver 606 receives the encrypted content, SPI or ESK and BAKseq from the CE 604. Thebroadcast receiver 606 provides the SPI or ESK and the BAKseq to theUIM 608, and receives the SK request and/or the BAK request from theUIM 608. Further thebroadcast receiver 606 provides the BAK encrypted with the RK or provides the BAK encrypted with the TK_RAND to theUIM 608. - The
UIM 608 stores the terminal root key K, the SS root keys RK, and the access keys BAK. TheUIM 608 determines the RK and TK values. TheUIM 608 decrypts the BAK and determines the SK from the SPI and BAK. In the alternative, theUIM 608 is also adapted to decrypt the ESK using the BAK to form the SK. TheUIM 608 passes the SK to the ME (not shown). - A content access manager 610 provides a BAK update command to the
BAK generator 612. TheBAK generator 612 generates the BAK and the BAK sequence numbering, i.e., BAKseq. TheBAK generator 612 provides the BAK, BAKseq, and SK lifetime to the content encryptor 604. TheBAK generator 612 provides the BAK, BAKseq, and the BAK lifetime (specifies how long the BAK will be valid) to theBAK distribution server 616. Authorization is provided to theBAK distribution server 616 by a service authorization unit 614. TheBAK distribution server 616 receives a BAK request from thebroadcast receiver 606. TheBAK distribution server 616 is adapted to provide a random BAK update time, BAK encrypted with the RK or RK_RAND, and BAK encrypted with the TK to thebroadcast receiver 606. - In a first case, the
BAK distribution server 616 receives a BAK request from thebroadcast receiver 606, with an identification of which BAK is requested, i.e., BAKseq. In response, theBAK distribution server 616 provides a TK request to the Subscription Server (SS) 618. TheSS 618 holds the RK unique key for the SS and the UIM. TheSS 618 forms the Temporary Key (TK) from the root key and TK_RAND. TheSS 618 then sends the TK_RAND value to theBAK distribution server 616. - In a second case, the
BAK distribution server 616 sends the BAK specified by the BAK request and BAKseq received from thebroadcast receiver 606 to theSS 618. In response, theSS 618 encrypts the BAK with the RK and returns the encrypted BAK to theBAK distribution server 616. - In still another case, the
BAK distribution server 616 sends a TK request to theauthentication server 620. Theauthentication server 620 holds the terminal root key K, and forms the TK and/or RK from the root key and random number(s). Theauthentication server 620 then sends the TK_RAND to theBAK distribution server 616. Note that as described hereinbelow, theBAK distribution server 616 may also be referred to as a BAK encryptor. - The
UIM 608 computes the RK from the RK_RAND provided by theauthentication server 620. Theauthentication server 620 provides the RK_RAND in response to an RK Request from theUIM 608. Theauthentication server 620 also provides the RK value to theSS 618. - The
BAK distribution server 616 provides a random BAK update time to theUIM 608. The random BAK update time instructs theUIM 608 when to request a BAK update. The random timing of such updates ensures that all users do not request updates at the same time and thus tax the system. -
FIGS. 10, 11 , and 12 illustrate various embodiments of encryption and security applications to various system configurations. Each figure includes a legend indicating signal, key and information flow within the system. The legend is located in the lower right hand corner of the figure. As illustrated by these examples, encryption may be performed at the link layer, such as wherein the encryption is performed at a Base Station Controller (BSC), Packet Control Function node (PCF), other similar node, or a combination thereof. One embodiment of a link layer encryption method is illustrated inFIG. 10 . Encryption may also be provided on an end-to-end basis, wherein one embodiment is illustrated inFIG. 11 . Note that an end-to-end encryption method is described hereinabove through the use of IPsec. The embodiment illustrated inFIG. 11 performs the encryption at the application layer. - Note that the BAK is periodically or otherwise updated from time to time. The BAK updates may be SS-encrypted, wherein a BAK encryptor sends the BAK to the SS; the SS encrypts the Bak and returns the encrypted BAK to the BAK encryptor. Specifically, the BAK encryptor sends the BAK to the SS. The SS encrypts the BAK with the RK to the Encrypted BAK (EBAK). The SS returns the EBAK to the BAK encryptor. The BAK encryptor sends the EBAK to the UIM, which decrypts the EBAK with the RK to recover the BAK.
- In the alternative, the BAK may be locally encrypted. In this case, the SS provides a Temporary Key (TK) to the local BAK encryptor. If the BAK encryptor is in the local network, then the BAK encryptor may use the CK as the TK, wherein the CK is derived from the Authentication Vector (AV).
- The location of the BAK encryptor may be designed according to the needs and goals of the system. The BAK encryptor obtains the (TK_RAND, TK) pair from the SS. In one embodiment, the TK is given as:
TK=f(TK — RAND,RK). (11)
The BAK encryptor may reuse the (TK_RAND, TK) pair. The SS may send multiple pairs. The BAK encryptor then encrypts the BAK with the TK for form EBAK. The BAK encryptor then sends (TK_RAND, EBAK) to the UIM. The UIM forms the TK using Equ. (11) given above. The UIM decrypts the EBAK with the TK to recover the BAK. - In an alternate embodiment, the BAK update is locally encrypted with the TK from the Authentication, Accounting, and Authorization (AAA) unit, HLR/AAA. In this case, the SS is the HLR/AAA. The MS performs a special AKA negotiation. The Authorization Vector (AV) includes a CK, wherein the CK is defined as:
CK=f(CK — RAND,K), (12)
Wherein K is equal to the A-key root key at the HLR or home network. The BAK encryptor may reuse the (CK_RAND, CK) pair; the HLR/AAA may send multiple pairs. The CK and CK_RAND are passed to the BAK encryptor, which encrypts the BAK with the CK to form EBAK. The BAK encryptor then sends the (CK_RAND, EBAK) pair to the UIM. In response, the UIM forms CK as defined in Equ. (12). The UIM decrypts EBAK with the CK to form the BAK. - In one embodiment, the BAK encryptor is associated with a single Content Server (CS). In an alternate embodiment, such as illustrated in
FIG. 12 , a centralized BAK encryptor is employed that may be associated with multiple CSs. - The SK is updated periodically or from time to time. In one embodiment, the SK is derived from the SPI. In an alternate embodiment, the SK is provided in encrypted form. A special port number may be used to indicate the packet containing the SK. For example, a Broadcast frame identifier, such as the BSR_ID, may be set to a predetermined value, such as “000,” to indicate the packet containing the SK.
-
FIG. 10 illustrates one embodiment providing link layer content encryption. Thesystem 700 includes aUIM 702 coupled to anME 704. TheUIM 702 provides an unencrypted BAK to theME 704. TheME 704 provides an encrypted BAK to theUIM 702. Similarly, theME 704 provides the RK-AKA to theUIM 702. As illustrated, SK generation, SK encryption, and content encryption are performed by the Base Station Controller/Packet Control Function (BSC/PCF)node 708 at the local network owned content provider. Unencrypted content is provided from an internal content source (CS2) 722 to the Packet Data Service Node (PDSN) 710. ThePDSN 710 then passes the unencrypted content to the BSC/PCF 708. ACS2 BAK generator 724 provides the unencrypted BAK value to thePDSN 710; and the CS2 BAK encryptor 726 receives a BAK request from thePDSN 710 and provides an encrypted BAK in return. ThePDSN 710 then forwards the unencrypted content, the unencrypted BAK and the encrypted BAK to the BSC/PCF 708. - The local network includes an
MSC 706, which serves as the VLR. The BSC/PCF 708 receives the RK from theMSC 706 in response to an RK request. AnAC 730 located in thehome network 728 serves as the HLR. The MSC requests the RK from theAC 730, which responds by providing the RK. TheMSC 706 provides the RK to the BSC/PCF 708, which provides the RK to theME 704. Further, the BSC/PCF 708 provides the encrypted content and encrypted BAK to theME 704. - A local third
party content provider 720 includes an external content source (CS1) 714, aCS1 BAK generator 716, and aCS1 BAK encryptor 718. The encrypted BAK is provided fromBAK encryptor 718 to thePDSN 710. The externalcontent source CS1 714 provides unencrypted content and unencrypted BAK to thePDSN 710. - The
entity 732 that stores the subscription includes thesubscription server 734. TheMSC 706 provides the RK to thesubscription server 734. The TK request and TK_RAND pair are communicated between thesubscription server 734 and theBAK encryptors FIG. 10 , wherein signals are listed in descending order starting with the RK Request. -
FIG. 11 illustrates an alternate embodiment providing end-to-end content encryption. The configuration ofsystem 800 is similar to that ofsystem 700; however, insystem 800, the content source (CS2) 822 provides the SK generation, SK encryption, and content encryption. Thecontent source 822 provides encrypted content to thePDSN 810; and theBAK encryptor 826 encrypts the BAK and provides the encrypted BAK to thePDSN 810 in response to a BAK request. The PDNS further receives encrypted content from the external content source (CS1) 814 within the local thirdparty content provider 820. As in thecontent source 822, theexternal content source 814 performs SK generation, SK encryption and content encryption. The BAK encryptor 818 provides an encrypted BAK to thePDSN 810. ThePDSN 810 then provides the encrypted content and the encrypted BAK to the BSC/PCF 808. -
FIG. 12 illustrates an embodiment providing centralized BAK encryption, with end-to-end content encryption. The configuration ofsystem 900 is similar to that ofsystem 800, wherein the SK generation, SK encryption, and content encryption are performed by content source (CS2) 922 and external content source (CS1) 914.System 900 includes a centralized BAK encryptor 912 that receives the unencrypted BAK from theCS2 BAK generator 924 and theCS1 BAK generator 916. In response the centralized BAK encryptor 912 provides an encrypted BAK to thePDSN 910 in response to a BAK request. The centralized BAK encryptor 912 further communicates with thesubscription server 932 to negotiate the TK request and TK_RAND/pair. -
FIG. 13 is a timing diagram for provisioning the RK. The vertical axis provides the time axis, and system elements are provided on the top horizontal axis. The ME initiates the Authenticated Key Agreement (AKA) procedure by sending a message to the MSC, acting as a VLR. The AKA procedure is identified within the block so labeled. The MSC then sends an Authentication Vector (AV) request to the HLR. The HLR selects a RAND value and generates the AV therefrom. The AV may include a random number RAND, as well as variables given as:
AUTH=f1(RAND,K) (13)
XRES=f2(RAND,K) (14)
CK=f3(RAND,K), (15)
Wherein f1, f2, f3, etc. are meant to indicate different functions for computing each of the variables. - The HLR provides the AV to the MSC or VLR. Note that if the MSC has a spare AV, the spare is used and there is no need to request an AV from the HLR. Information from the AV is forwarded to the UIM, which verifies authentication and computes processing variables. Such processing is then verified by the MSC. The MSC verifies the authentication by computing AUTH as described in Equ. (13), and further by computing the following variables:
RES=f2(RAND,K) (16)
RK=CK=f3(RAND,K). (17)
The RK value is sent to the SS, which continues the verification process. The SS then performs a further verification by selecting a random number RAND2 and computing:
AUTH2=f1(VER — RAND2,RK). (18)
The SS provides authentication information to the UIM, which verifies authentication and acknowledges (or negative acknowledges) to the ME. -
FIG. 14 is a timing diagram illustrating the generation of the SS encrypted BAK value. Refer toFIG. 9 , for the example of the BAK distribution server (or encryptor) 616 sends a BAK request to theSS 618, and theSS 618 encrypts the BAK with the RK to form the EBAK. TheSS 618 sends the EBAK to theBAK distribution server 616. As illustrated inFIG. 14 , the ME requests the BAK from the SS via the BAK encryptor. The ME sends a BAKreq message to the BAK encryptor. The BAK encryptor then sends the BAK and associated information to the SS. The SS receives the BAK and generates an Encrypted BAK (EBAK). The EBAK is forwarded to the UIM which decrypts the EBAK to recover the BAK, wherein such computation is given as:
BAK=D[EBAK,RK], (19)
wherein D[ ] is the decryption operator. The UIM further verifies the BAK by computing:
AUTH — BAK=f1 (RAND — BA,BAK). (20)
The UIM sends an acknowledge or fail message in response to such verification. On a fail, failure processing is performed or initiated by the ME. Note that as given throughout, the various functions for calculating variables may be a same function or each may be individually assigned. -
FIG. 15 is a timing diagram illustrating the locally encrypted BAK processing. Refer toFIG. 9 , for the example of the BAK distribution server (or encryptor) 616 sends a TK request to theSS 618, and theSS 618 forms TK from the root key and a random number TK_RAND. TheSS 618 sends the TK_RAND to theBAK distribution server 616. TheBAK distribution server 616 then encrypts the BAK with the TK_RAND. As illustrated inFIG. 15 , the ME sends a BAKreq message to the BAK encryptor. If the BAK encryptor does not have current subscription data, the BAK encryptor requests such from the SS. If the BAK encryptor does not have a TK pair, the SS chooses a random number TK_RAND, and computes TK as:
TK=f(TK — RAND,RK). (21)
The SS sends several (TK_RAND, TK) pairs to the BAK encryptor. The BAK encryptor computes EBAK by encrypting the BAK with the TK. The BAK encryptor then provides the EBAK, the TK_RAND, as well as other BAK information to the ME, which forwards such information to the UIM. The UIM computes TK according to Equ. (21), computes EBAK according to Equ. (19) and computes AUTH_BAK according to Equ. (20). The UIM verifies the BAK and sends an acknowledge or fail message to the ME accordingly. On a fail, fail processing is performed or initiated by the ME. -
FIG. 16 illustrates security processing when the local BAK has received the AV during an initial authentication procedure, and then uses the random value from the AV to generate the TK. In this situation, the BAK encryptor is the VLR. The BAK encryptor sends an AV request to the SS (which is considered the HLR). In response, the SS chooses a random number RAND and computes AUTH, XRES, and CK as given in Equs. (13), (14), and (15), respectively. The SS sends the AV to the BAK encryptor, which encrypts the BAK to form EBAK. The BAK encryptor then sends RAND, EBAK, and BAK information to the ME, which forwards such information to the UIM. The UIM computes TK according to Equ. (21), computes EBAK according to Equ. (19) and computes AUTH_BAK according to Equ. (20). The UIM verifies the BAK and sends an acknowledge or fail message to the ME accordingly. On a fail, fail processing is performed or initiated by the ME. -
FIG. 17 is a timing diagram illustrating link layer encryption, wherein the BSC encrypts the SK and the content. Refer toFIGS. 9 and 10 , wherein theBSC 708 performs SK generation, SK encryption and content encryption. As illustrated inFIG. 17 , the BAK encryptor provides the BAK, as well as BAK and SK information, to the BSC. The BSC chooses a SK and encrypts the SK using the BAK to form the ESK. The BSC further chooses a random number SK_RAND and computes an authentication variable AUTH_SK, given as:
AUTH — SK=f1(SK — RAND,SK). (22)
The BSC provides the ESK, SK_RAND, AUTH_SK, and BAK information to the ME, which forwards such information to the UIM. The UIM computes the SK as:
SK=D [ESK,BAK], (23)
and AUTH_SK as given in Equ. (22). The UIM then sends the SK or a fail message to the ME. For a fail, the ME performs or initiates fail processing. For verification of the SK, an encrypted link is now available for secure communication. - Key verification is a further security consideration in a communication system. If there has been some confusion in communication and/or processing of the SS, BAK encryptor, etc., an incorrect value key may be derived in the UIM. There is a need therefore, for the UIM to determine if the RK, BAK and SK have been provisioned correctly. According to one embodiment, verification is performed by using a random number associated with a given key, and performing a verification operation for the given key using the random number. The verification result is then sent to the UIM. The UIM checks the verification result. For example, let Kx represent RK, BAK, SK or any other key designated for encryption in a communication system. The entity that has established the key Kx first chooses a random number RAND_Kx. The entity then computes a verification result given as:
VERIF — Kx=f(RAND — Kx,Kx). (24)
The entity then sends the (RAND_Kx, VERIF_Kx) pair to the UIM. The UIM then determines if the Kx is correct by checking the verification result as defined in Equ. (24). If the verification result is correct, the UIM accepts the keys. Else, the UIM performs key verification error processing, which may include notifying the entity or entities involved that a key is incorrect. If the entity receives no response from the UIM, the entity assumes the key was received correctly. - Similarly, BAK verification may be implemented, wherein prior to sending the EBAK to the UIM, the BAK encryptor performs a verification procedure. The BAK encryptor chooses a random number RAND_BAK, and computes a verification result as:
VERIF — BAK=f1(RAND — BAK,BAK), (25)
wherein BAK is the key being verified. The BAK encryptor sends (EBAK, RAND_BAK, VERIF_BAK) to the UIM. The BAK encryptor may send additional information as well. The UIM decrypts the EBAK and confirms Equ. (25). On confirmation, the UIM uses the BAK value derived, else, the UIM notifies the BAK encryptor that the BAK is not correct. - Note that in key verification, RAND_Kx could include a value for the TIME. In this case, VERIF_Kx becomes a “timestamp” verifying when Kx was sent to the UIM. This prevents a replay attack when someone tries to confuse the UIM by sending the same packet, only at sometime later when the key has already been used. The UIM will detect that TIME is wrong. An attacker can't change TIME because this will also change the value of VERIF_Kx.
- Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
- Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
- The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
- The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
- The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (42)
1. A remote station supporting broadcast services, comprising:
receive circuitry for receiving an encrypted packet of broadcast data;
a User Identification Module (UIM) coupled to the receive circuitry, comprising:
a secure memory storage unit, adapted for storing a broadcast access key; and
a processor adapted to decrypt the encrypted packet of broadcast data using the broadcast access key.
2. The remote station as in claim 1 , wherein the secure memory storage unit is further adapted to store a short term key associated with the encrypted packet of broadcast data, and wherein each short term key is associated with a first number.
3. The remote station as in claim 2 , wherein the processor is adapted to generate the short term key from the broadcast access key and the first number.
4. The remote station as in claim 3 , wherein the processor is further adapted to extract the packet of broadcast data using the short term key.
5. The remote station as in claim 1 , wherein the receiver is further adapted to receive the broadcast access key as an encrypted broadcast access key.
6. The remote station as in claim 5 , wherein the secure memory storage unit is further adapted for storing a root key, the root key being associated with the secure memory storage unit, and wherein the processor is further adapted to decrypt the encrypted broadcast access key using the root key.
7. The remote station as in claim 6 , wherein the encrypted broadcast access key is unique to the remote station.
8. The remote station as in claim 7 , wherein the root key is used for authentication.
9. The remote station as in claim 6 , wherein the processor is further adapted to determine a temporary key and decrypt the encrypted broadcast access key using the temporary key.
10. The remote station as in claim 2 , wherein the short term key is updated periodically having a first period.
11. The remote station as in claim 10 , wherein the broadcast access key is updated periodically having a second period greater than the first period.
12. The remote station as in claim 11 , wherein the receiver is adapted to receive a broadcast access key expiration indicator identifying the second period.
13. The remote station as in claim 2 , wherein the first number is a random number.
14. The remote station as in claim 13 , wherein the first number is generated as a function of time.
15. The remote station as in claim 13 , wherein the receiver is adapted to receive the first number with at least one encrypted packet of data.
16. The remote station as in claim 1 , wherein the remote station supports spread-spectrum communications.
17. A method for a remote station to extract data from at least one encrypted packet of data provided by a broadcast service, comprising:
receiving a broadcast access key for the broadcast service;
receiving an encrypted packet of data from a plurality of encrypted packets of data, wherein the each encrypted packet of data is associated with one short-term key from a plurality of short-term keys, wherein each short-term key is associated with a first number;
receiving the first number corresponding to the short-term key associated with the encrypted packet of data;
generating the short-term key using the broadcast access key and the first number; and
extracting a packet of data from the encrypted packet of data using the short-term key.
18. A method as in claim 17 , further comprising:
storing the broadcast access key in a secure memory storage unit.
19. A method as in claim 17 , further comprising:
encrypting the broadcast access key to form an encrypted broadcast access key; and
storing the encrypted broadcast access key in a secure memory storage unit.
20. The method as in claim 19 , further comprising:
extracting the encrypted broadcast access key (EBAK) from the secure memory storage unit.
21. The method as in claim 20 , wherein encrypting the broadcast access key comprises:
storing a root key in the secure memory storage unit, wherein the root key is associated with the secure memory storage unit; and
wherein extracting the encrypted broadcast access key further comprises:
decrypting the EBAK based on the root key stored in the secure memory storage unit.
22. The method as in claim 21 , wherein the root key is also stored in a fifth server.
23. A method for encryption key management in a communication system supporting broadcast services, comprising:
generating a short-term key using a broadcast access key; and
encrypting a packet of data using the short-term key;
broadcasting the encrypted packet of data.
24. A method as in claim 23 , wherein broadcasting the encrypted packet of data comprises:
forming the encrypted packet of data using the short-term key at a third server.
25. A method as in claim 23 , wherein generating the short-term key comprises:
generating the short-term key using the broadcast access key and a first number at a second server.
26. The method of claim 25 , wherein generating the short-term key further comprises:
determining a value of the first number at the second server.
27. The method of claim 26 , wherein determining the value of the first number comprises:
generating at least part of the first number at the second server.
28. The method of claim 27 , wherein generating at least part of the first number at the second server comprises:
generating all of the first number at the second server.
29. The method of claim 27 , further comprising:
sending the broadcast access key from a first server to a remote station.
30. The method as in claim 23 , further comprising:
sending the broadcast access key from a first server to a remote station.
31. A remote station adapted to extract data from at least one encrypted packet of data provided by a broadcast service, comprising:
receiver adapted for:
receiving a broadcast access key for the broadcast service;
receiving an encrypted packet of data from a plurality of encrypted packets of data, wherein the each encrypted packet of data is associated with one short-term key from a plurality of short-term keys, wherein each short-term key is associated with a first number;
receiving the first number corresponding to the short-term key associated with the encrypted packet of data;
generator adapted for generating the short-term key using the broadcast access key and the first number and
means for extracting a packet of data from the encrypted packet of data using the short-term key.
32. The remote station as in claim 31 , further comprising:
secure memory storage unit for storing the broadcast access key.
33. The remote station as in claim 31 , further comprising:
means for encrypting the broadcast access key to form an encrypted broadcast access key, wherein the secure memory storage unit is further adapted to store the encrypted broadcast access key.
34. The remote station as in claim 33 , further comprising:
means for extracting the encrypted broadcast access key (EBAK) from the secure memory storage unit.
35. The remote station as in claim 34 , wherein the means for encrypting the broadcast access key comprises:
means for storing a root key in the secure memory storage unit, wherein the root key is associated with the secure memory storage unit; and wherein the means for extracting the encrypted broadcast access key comprises:
means for decrypting the EBAK based on the root key stored in the secure memory storage unit.
36. The remote station as in claim 34 , wherein the means for extracting the broadcast access key from the encrypted broadcast access key (EBAK) at the secure memory storage unit comprises:
means for receiving the encrypted broadcast access key and a second number and storing the encrypted broadcast access key and the second number in the secure memory storage unit.
37. The remote station as in claim 34 , wherein the means for extracting the encrypted broadcast access key (EBAK) from the secure memory storage unit comprises:
means for determining a Temporary Key (TK);
means for storing the TK in the secure memory storage unit; and
means for decrypting the EBAK using the TK to form the Broadcast Access Key (BAK).
38. The remote station as in claim 37 , wherein the means for determining the TK comprises:
means for determining the TK associated with a second number stored in the secure memory storage unit.
39. A wireless apparatus adapted for encryption key management in a communication system supporting broadcast services, comprising:
means for generating a short-term key using a broadcast access key;
means for encrypting a packet of data using the short-term key; and
means for broadcasting the encrypted packet of data.
40. The wireless apparatus as in claim 39 , further comprising:
means for forming an Encrypted Broadcast Access Key (EBAK) from the broadcast access key at a first server; and
means for transmitting the encrypted broadcast access key.
41. The wireless apparatus of claim 39 , wherein broadcasting the encrypted packet of data and the associated first number comprises:
sending the first number with each encrypted packet of data.
42. The wireless apparatus of claim 39 , wherein broadcasting the encrypted packet of data and the first number comprises:
sending the first number with at least one encrypted packet of data; and
sending at least one encrypted packet of data without the first number.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/626,822 US20070116282A1 (en) | 2001-08-20 | 2007-01-24 | Method and apparatus for security in a data processing system |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/933,972 US8121296B2 (en) | 2001-03-28 | 2001-08-20 | Method and apparatus for security in a data processing system |
US10/233,188 US7185362B2 (en) | 2001-08-20 | 2002-08-28 | Method and apparatus for security in a data processing system |
US11/626,822 US20070116282A1 (en) | 2001-08-20 | 2007-01-24 | Method and apparatus for security in a data processing system |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/933,972 Continuation-In-Part US8121296B2 (en) | 2001-03-28 | 2001-08-20 | Method and apparatus for security in a data processing system |
US10/233,188 Continuation US7185362B2 (en) | 2001-08-20 | 2002-08-28 | Method and apparatus for security in a data processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070116282A1 true US20070116282A1 (en) | 2007-05-24 |
Family
ID=31977175
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/233,188 Expired - Lifetime US7185362B2 (en) | 2001-08-20 | 2002-08-28 | Method and apparatus for security in a data processing system |
US11/626,822 Abandoned US20070116282A1 (en) | 2001-08-20 | 2007-01-24 | Method and apparatus for security in a data processing system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/233,188 Expired - Lifetime US7185362B2 (en) | 2001-08-20 | 2002-08-28 | Method and apparatus for security in a data processing system |
Country Status (12)
Country | Link |
---|---|
US (2) | US7185362B2 (en) |
EP (2) | EP1532506A1 (en) |
JP (2) | JP4927330B2 (en) |
KR (1) | KR101123591B1 (en) |
CN (2) | CN100380270C (en) |
AU (1) | AU2003270024A1 (en) |
BR (1) | BRPI0313783B1 (en) |
CA (1) | CA2496677C (en) |
HK (1) | HK1084201A1 (en) |
MX (1) | MXPA05002221A (en) |
TW (1) | TWI280768B (en) |
WO (1) | WO2004021153A1 (en) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080002594A1 (en) * | 2006-06-28 | 2008-01-03 | Nokia Corporation | Sequence number synchronization for ciphering |
US20080187137A1 (en) * | 2005-02-11 | 2008-08-07 | Pekka Nikander | Method and Apparatus for Ensuring Privacy in Communications Between Parties |
US20080226073A1 (en) * | 2001-10-09 | 2008-09-18 | Qualcomm Incorporated | Method and apparatus for security in a data processing system |
US20080273702A1 (en) * | 2002-04-18 | 2008-11-06 | Foster Eric M | Method, system and program product for attaching a title key to encrypted content for synchronized transmission to a recipient |
US20090006865A1 (en) * | 2007-06-28 | 2009-01-01 | Michael Zunke | Efficient Remotely-Keyed Symmetric Cryptography For Digital Rights Management |
WO2009095286A2 (en) * | 2008-01-30 | 2009-08-06 | Continental Automotive Gmbh | Data transmission method, and tachograph system |
US20100104103A1 (en) * | 2008-10-24 | 2010-04-29 | Qualcomm Incorporated | Method And Apparatus For Billing And Security Architecture For Venue-Cast Services |
EP2209256A1 (en) * | 2009-01-14 | 2010-07-21 | Fujitsu Limited | Apparatus and mobile terminal |
US20110194697A1 (en) * | 2008-08-21 | 2011-08-11 | China Iwncomm Co. Ltd. | Multicase key distribution method, updated method, and base station based on unicast conversation key |
US8077679B2 (en) | 2001-03-28 | 2011-12-13 | Qualcomm Incorporated | Method and apparatus for providing protocol options in a wireless communication system |
US8098818B2 (en) | 2003-07-07 | 2012-01-17 | Qualcomm Incorporated | Secure registration for a multicast-broadcast-multimedia system (MBMS) |
US8121296B2 (en) | 2001-03-28 | 2012-02-21 | Qualcomm Incorporated | Method and apparatus for security in a data processing system |
US8713400B2 (en) | 2001-10-12 | 2014-04-29 | Qualcomm Incorporated | Method and system for reduction of decoding complexity in a communication system |
US8718279B2 (en) | 2003-07-08 | 2014-05-06 | Qualcomm Incorporated | Apparatus and method for a secure broadcast system |
US8724803B2 (en) | 2003-09-02 | 2014-05-13 | Qualcomm Incorporated | Method and apparatus for providing authenticated challenges for broadcast-multicast communications in a communication system |
US8935523B1 (en) * | 2012-07-18 | 2015-01-13 | Dj Inventions, Llc | Cryptographic protected communication system with multiplexed cryptographic cryptopipe modules |
US8971790B2 (en) | 2003-01-02 | 2015-03-03 | Qualcomm Incorporated | Method and apparatus for broadcast services in a communication system |
US20150163843A1 (en) * | 2012-08-17 | 2015-06-11 | Huawei Technologies Co., Ltd. | User equipment pairing processing method, network side device, and user equipment |
US9100457B2 (en) | 2001-03-28 | 2015-08-04 | Qualcomm Incorporated | Method and apparatus for transmission framing in a wireless communication system |
US9276742B1 (en) * | 2014-09-25 | 2016-03-01 | International Business Machines Corporation | Unified storage and management of cryptographic keys and certificates |
US9756146B2 (en) * | 2015-05-19 | 2017-09-05 | Intel IP Corporation | Secure boot download computations based on host transport conditions |
US20220300435A1 (en) * | 2021-03-22 | 2022-09-22 | Jürgen Bretfeld | System, a server and a method for securely storing and processing raw data from a plurality of different data sources |
Families Citing this family (158)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693508B2 (en) * | 2001-03-28 | 2010-04-06 | Qualcomm Incorporated | Method and apparatus for broadcast signaling in a wireless communication system |
DE60239926D1 (en) * | 2001-03-28 | 2011-06-16 | Qualcomm Inc | PERFORMANCE CONTROL FOR POINT-TO-MULTIPORT SERVICES IN COMMUNICATION SYSTEMS |
US7185362B2 (en) * | 2001-08-20 | 2007-02-27 | Qualcomm, Incorporated | Method and apparatus for security in a data processing system |
US20040120527A1 (en) * | 2001-08-20 | 2004-06-24 | Hawkes Philip Michael | Method and apparatus for security in a data processing system |
US7697523B2 (en) * | 2001-10-03 | 2010-04-13 | Qualcomm Incorporated | Method and apparatus for data packet transport in a wireless communication system using an internet protocol |
US20030084171A1 (en) * | 2001-10-29 | 2003-05-01 | Sun Microsystems, Inc., A Delaware Corporation | User access control to distributed resources on a data communications network |
US20030084172A1 (en) * | 2001-10-29 | 2003-05-01 | Sun Microsystem, Inc., A Delaware Corporation | Identification and privacy in the World Wide Web |
US7275260B2 (en) * | 2001-10-29 | 2007-09-25 | Sun Microsystems, Inc. | Enhanced privacy protection in identification in a data communications network |
US20030084302A1 (en) * | 2001-10-29 | 2003-05-01 | Sun Microsystems, Inc., A Delaware Corporation | Portability and privacy with data communications network browsing |
US7139565B2 (en) | 2002-01-08 | 2006-11-21 | Seven Networks, Inc. | Connection architecture for a mobile network |
US7340214B1 (en) * | 2002-02-13 | 2008-03-04 | Nokia Corporation | Short-range wireless system and method for multimedia tags |
KR100605824B1 (en) * | 2002-05-13 | 2006-07-31 | 삼성전자주식회사 | Broadcasting service method for mobile telecommunication system using code division multiple access |
US20040043756A1 (en) * | 2002-09-03 | 2004-03-04 | Tao Haukka | Method and system for authentication in IP multimedia core network system (IMS) |
US20040166874A1 (en) * | 2002-11-14 | 2004-08-26 | Nadarajah Asokan | Location related information in mobile communication system |
US20060198520A1 (en) * | 2002-12-20 | 2006-09-07 | Peter Courtney | Secure transmission of digital audio signals |
US7853563B2 (en) | 2005-08-01 | 2010-12-14 | Seven Networks, Inc. | Universal data aggregation |
US8468126B2 (en) * | 2005-08-01 | 2013-06-18 | Seven Networks, Inc. | Publishing data in an information community |
US7917468B2 (en) | 2005-08-01 | 2011-03-29 | Seven Networks, Inc. | Linking of personal information management data |
US7698553B2 (en) * | 2003-05-20 | 2010-04-13 | Motorola, Inc. | Method for utilizing multiple level encryption |
AR045904A1 (en) * | 2003-07-08 | 2005-11-16 | Qualcomm Inc | METHOD, APPLIANCE AND LEGIBLE ENVIRONMENT BY MACHINE FOR SECURITY IN A DATA PROCESSING SYSTEM |
KR20050008081A (en) * | 2003-07-14 | 2005-01-21 | 삼성전자주식회사 | The Registration method in High Rate Packet Data System |
KR100987207B1 (en) * | 2003-08-02 | 2010-10-12 | 삼성전자주식회사 | Method for ciphering in a mobile communication system of serving multimedia broadcast/multicast service |
US7610485B1 (en) * | 2003-08-06 | 2009-10-27 | Cisco Technology, Inc. | System for providing secure multi-cast broadcasts over a network |
CA2438357A1 (en) * | 2003-08-26 | 2005-02-26 | Ibm Canada Limited - Ibm Canada Limitee | System and method for secure remote access |
EP1676384B1 (en) * | 2003-10-22 | 2009-08-19 | Nokia Corporation | Method and apparatus for facilitating management of multicast delivery to mobile devices |
US7239705B2 (en) * | 2003-12-10 | 2007-07-03 | Motorola Inc. | Apparatus and method for broadcast services transmission and reception |
US7461248B2 (en) * | 2004-01-23 | 2008-12-02 | Nokia Corporation | Authentication and authorization in heterogeneous networks |
DE602004026266D1 (en) * | 2004-02-06 | 2010-05-12 | Research In Motion Ltd | Method and device for providing content in a multicast system |
US20050198126A1 (en) * | 2004-02-06 | 2005-09-08 | Verbestel Willy M. | System and method of providing content in a multicast system |
EP1714459B1 (en) * | 2004-02-13 | 2016-08-03 | Nokia Technologies Oy | Accessing protected data on network storage from multiple devices |
GB2415860B (en) * | 2004-06-30 | 2007-04-18 | Nokia Corp | A method of providing a radio service at a remote terminal |
US7480567B2 (en) * | 2004-09-24 | 2009-01-20 | Nokia Corporation | Displaying a map having a close known location |
US8010082B2 (en) * | 2004-10-20 | 2011-08-30 | Seven Networks, Inc. | Flexible billing architecture |
US7441271B2 (en) | 2004-10-20 | 2008-10-21 | Seven Networks | Method and apparatus for intercepting events in a communication system |
US8095114B2 (en) * | 2004-10-22 | 2012-01-10 | Samsung Electronics Co., Ltd. | System and method for provisioning broadcast and multicast services in a wireless network |
US7706781B2 (en) | 2004-11-22 | 2010-04-27 | Seven Networks International Oy | Data security in a mobile e-mail service |
US7660981B1 (en) * | 2004-11-30 | 2010-02-09 | Adobe Systems Incorporated | Verifiable chain of transfer for digital documents |
FI117152B (en) | 2004-12-03 | 2006-06-30 | Seven Networks Internat Oy | E-mail service provisioning method for mobile terminal, involves using domain part and further parameters to generate new parameter set in list of setting parameter sets, if provisioning of e-mail service is successful |
KR100811046B1 (en) * | 2005-01-14 | 2008-03-06 | 엘지전자 주식회사 | Method for managing digital rights of broadcast/multicast service |
JP2006253746A (en) * | 2005-03-08 | 2006-09-21 | N-Crypt Inc | Data processing apparatus, system, and method |
US7752633B1 (en) | 2005-03-14 | 2010-07-06 | Seven Networks, Inc. | Cross-platform event engine |
US8438633B1 (en) | 2005-04-21 | 2013-05-07 | Seven Networks, Inc. | Flexible real-time inbox access |
WO2006136660A1 (en) | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Maintaining an ip connection in a mobile network |
US20060291660A1 (en) * | 2005-12-21 | 2006-12-28 | Telefonaktiebolaget Lm Ericsson (Publ) | SIM UICC based broadcast protection |
JP4596256B2 (en) * | 2005-08-02 | 2010-12-08 | ソニー株式会社 | Transmission / reception system and method, transmission device and method, reception device and method, and program |
FR2890267B1 (en) * | 2005-08-26 | 2007-10-05 | Viaccess Sa | METHOD FOR ESTABLISHING A SESSION KEY AND UNITS FOR IMPLEMENTING THE METHOD |
KR100724935B1 (en) * | 2005-09-15 | 2007-06-04 | 삼성전자주식회사 | Apparatus and method of interlock between entities for protecting contents, and the system thereof |
US8180342B2 (en) | 2005-10-14 | 2012-05-15 | Nokia Corporation | System, method and computer program product for delivering a service guide of a first broadcast/multicast system as a program of a second broadcast/multicast system |
US8447968B2 (en) * | 2005-10-28 | 2013-05-21 | Alcatel Lucent | Air-interface application layer security for wireless networks |
CN100571125C (en) * | 2005-12-30 | 2009-12-16 | 上海贝尔阿尔卡特股份有限公司 | A kind of method and device that is used for secure communication between subscriber equipment and internal network |
KR100740004B1 (en) | 2006-01-05 | 2007-07-16 | 에스케이 텔레콤주식회사 | Method of transmitting encrypted data to usim card of mobile phone |
US8176317B2 (en) | 2006-01-19 | 2012-05-08 | Helius, Inc. | System and method for multicasting IPSec protected communications |
DE102006002892A1 (en) * | 2006-01-20 | 2007-08-02 | Siemens Ag | Method, system, computer program, data carrier and computer program product for transmitting media data of a multicast service |
US20070204006A1 (en) * | 2006-02-24 | 2007-08-30 | Charles Vallis | Methods and systems for distributing movies for ownership |
EP1826931B1 (en) * | 2006-02-27 | 2018-12-19 | Samsung Electronics Co., Ltd. | Method and system for protecting broadcast service/content in a mobile broadcast system, and method for generating short term key message therefor |
US7769395B2 (en) | 2006-06-20 | 2010-08-03 | Seven Networks, Inc. | Location-based operations and messaging |
DE102006018645B4 (en) * | 2006-04-21 | 2008-07-24 | Nokia Siemens Networks Gmbh & Co.Kg | Methods, apparatus and computer program product for encrypting and decrypting media data |
CN1845599B (en) * | 2006-05-17 | 2010-09-01 | 中国移动通信集团公司 | Method for obtaining and updating service key in mobile television service |
CN1845600B (en) * | 2006-05-17 | 2010-05-12 | 中国移动通信集团公司 | Method and system for realizing user key arrangement in mobile broadcast television service |
EP1873998B1 (en) * | 2006-06-27 | 2018-09-19 | Vringo Infrastructure Inc. | Identifiers in a communication system |
JP4954622B2 (en) * | 2006-06-29 | 2012-06-20 | 京セラ株式会社 | Receiving apparatus and decoding method |
FR2906095B1 (en) * | 2006-09-19 | 2009-04-03 | Nimour Abdelkader Mohamed Abde | METHOD OF ENCRYPTING MESSAGES TO AT LEAST TWO RECEIVERS, ENCRYPTION DEVICE AND ASSOCIATED DECRYPTION DEVICE. |
US8387148B2 (en) * | 2006-11-17 | 2013-02-26 | Intel Corporation | Secure rights protection for broadcast mobile content |
KR101447726B1 (en) * | 2006-12-08 | 2014-10-07 | 한국전자통신연구원 | The generation method and the update method of authorization key for mobile communication |
US8805425B2 (en) | 2007-06-01 | 2014-08-12 | Seven Networks, Inc. | Integrated messaging |
US8693494B2 (en) | 2007-06-01 | 2014-04-08 | Seven Networks, Inc. | Polling |
IL186287A0 (en) * | 2007-09-25 | 2008-03-20 | Yaacov Belenky | Replacement of keys |
KR101421241B1 (en) * | 2007-11-16 | 2014-07-18 | 삼성전자주식회사 | Security system and method in network |
US8364181B2 (en) | 2007-12-10 | 2013-01-29 | Seven Networks, Inc. | Electronic-mail filtering for mobile devices |
US9002828B2 (en) * | 2007-12-13 | 2015-04-07 | Seven Networks, Inc. | Predictive content delivery |
US8793305B2 (en) * | 2007-12-13 | 2014-07-29 | Seven Networks, Inc. | Content delivery to a mobile device from a content service |
US8107921B2 (en) | 2008-01-11 | 2012-01-31 | Seven Networks, Inc. | Mobile virtual network operator |
US8862657B2 (en) | 2008-01-25 | 2014-10-14 | Seven Networks, Inc. | Policy based content service |
US20090193338A1 (en) | 2008-01-28 | 2009-07-30 | Trevor Fiatal | Reducing network and battery consumption during content delivery and playback |
EP2117200B1 (en) * | 2008-05-08 | 2012-02-01 | NTT DoCoMo, Inc. | Method and apparatus for broadcast authentication |
US8082582B2 (en) * | 2008-05-21 | 2011-12-20 | Mediatek Inc. | Authorization system of navigation device and associated authorization method |
US8346225B2 (en) * | 2009-01-28 | 2013-01-01 | Headwater Partners I, Llc | Quality of service for device assisted services |
KR101514840B1 (en) * | 2008-06-11 | 2015-04-23 | 삼성전자주식회사 | Method for Security Key Distribution in Broadcast Service System and System Therefor |
US8787947B2 (en) | 2008-06-18 | 2014-07-22 | Seven Networks, Inc. | Application discovery on mobile devices |
US8078158B2 (en) | 2008-06-26 | 2011-12-13 | Seven Networks, Inc. | Provisioning applications for a mobile device |
KR101523771B1 (en) | 2008-07-21 | 2015-11-20 | 엘지전자 주식회사 | The Broadcast System for Refreshing the Scramble Key and Method for Broadcast Information in thereof |
US8909759B2 (en) | 2008-10-10 | 2014-12-09 | Seven Networks, Inc. | Bandwidth measurement |
CN101931623B (en) * | 2010-07-06 | 2013-06-12 | 华南理工大学 | Safety communication method suitable for remote control with limited capability at controlled end |
EP3407673B1 (en) | 2010-07-26 | 2019-11-20 | Seven Networks, LLC | Mobile network traffic coordination across multiple applications |
CA2806557C (en) | 2010-07-26 | 2014-10-07 | Michael Luna | Mobile application traffic optimization |
WO2012018477A2 (en) | 2010-07-26 | 2012-02-09 | Seven Networks, Inc. | Distributed implementation of dynamic wireless traffic policy |
US8838783B2 (en) | 2010-07-26 | 2014-09-16 | Seven Networks, Inc. | Distributed caching for resource and mobile network traffic management |
CN102378294B (en) * | 2010-08-12 | 2015-08-12 | 中兴通讯股份有限公司 | A kind of method switched between PS operation system in bimodulus RNC and device |
US20120069995A1 (en) * | 2010-09-22 | 2012-03-22 | Seagate Technology Llc | Controller chip with zeroizable root key |
WO2012061430A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed management of keep-alive message signaling for mobile network resource conservation and optimization |
US8843153B2 (en) | 2010-11-01 | 2014-09-23 | Seven Networks, Inc. | Mobile traffic categorization and policy for network use optimization while preserving user experience |
US9060032B2 (en) | 2010-11-01 | 2015-06-16 | Seven Networks, Inc. | Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic |
US9330196B2 (en) | 2010-11-01 | 2016-05-03 | Seven Networks, Llc | Wireless traffic management system cache optimization using http headers |
US8484314B2 (en) | 2010-11-01 | 2013-07-09 | Seven Networks, Inc. | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
WO2012060996A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Caching adapted for mobile application behavior and network conditions |
US8166164B1 (en) | 2010-11-01 | 2012-04-24 | Seven Networks, Inc. | Application and network-based long poll request detection and cacheability assessment therefor |
US8903954B2 (en) | 2010-11-22 | 2014-12-02 | Seven Networks, Inc. | Optimization of resource polling intervals to satisfy mobile device requests |
WO2012060995A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
US8204953B2 (en) | 2010-11-01 | 2012-06-19 | Seven Networks, Inc. | Distributed system for cache defeat detection and caching of content addressed by identifiers intended to defeat cache |
WO2012071283A1 (en) | 2010-11-22 | 2012-05-31 | Michael Luna | Aligning data transfer to optimize connections established for transmission over a wireless network |
WO2012094675A2 (en) | 2011-01-07 | 2012-07-12 | Seven Networks, Inc. | System and method for reduction of mobile network traffic used for domain name system (dns) queries |
US8954722B2 (en) * | 2011-03-04 | 2015-02-10 | Broadcom Corporation | Enforcing software updates in an electronic device |
EP2700021A4 (en) | 2011-04-19 | 2016-07-20 | Seven Networks Llc | Shared resource and virtual resource management in a networked environment |
US8621075B2 (en) | 2011-04-27 | 2013-12-31 | Seven Metworks, Inc. | Detecting and preserving state for satisfying application requests in a distributed proxy and cache system |
GB2493473B (en) | 2011-04-27 | 2013-06-19 | Seven Networks Inc | System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief |
CN102857870B (en) * | 2011-06-30 | 2014-10-22 | 航天信息股份有限公司 | Mobile phone cell broadcast service encryption method |
WO2013015994A1 (en) | 2011-07-27 | 2013-01-31 | Seven Networks, Inc. | Monitoring mobile application activities for malicious traffic on a mobile device |
GB2494731B (en) * | 2011-09-06 | 2013-11-20 | Nds Ltd | Preventing data extraction by sidechannel attack |
US8934414B2 (en) | 2011-12-06 | 2015-01-13 | Seven Networks, Inc. | Cellular or WiFi mobile traffic optimization based on public or private network destination |
EP2789138B1 (en) | 2011-12-06 | 2016-09-14 | Seven Networks, LLC | A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation |
GB2498064A (en) | 2011-12-07 | 2013-07-03 | Seven Networks Inc | Distributed content caching mechanism using a network operator proxy |
US9277443B2 (en) | 2011-12-07 | 2016-03-01 | Seven Networks, Llc | Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol |
US9832095B2 (en) | 2011-12-14 | 2017-11-28 | Seven Networks, Llc | Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic |
EP2792188B1 (en) | 2011-12-14 | 2019-03-20 | Seven Networks, LLC | Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system |
US8861354B2 (en) | 2011-12-14 | 2014-10-14 | Seven Networks, Inc. | Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization |
US8504834B2 (en) | 2011-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Method and system for activation of local content with legacy streaming systems |
US8909202B2 (en) | 2012-01-05 | 2014-12-09 | Seven Networks, Inc. | Detection and management of user interactions with foreground applications on a mobile device in distributed caching |
WO2013116856A1 (en) | 2012-02-02 | 2013-08-08 | Seven Networks, Inc. | Dynamic categorization of applications for network access in a mobile network |
US9326189B2 (en) | 2012-02-03 | 2016-04-26 | Seven Networks, Llc | User as an end point for profiling and optimizing the delivery of content and data in a wireless network |
CN103297400A (en) * | 2012-03-01 | 2013-09-11 | 中兴通讯股份有限公司 | Security alliance management method and system based on bidirectional forwarding detection protocol |
US8812695B2 (en) | 2012-04-09 | 2014-08-19 | Seven Networks, Inc. | Method and system for management of a virtual network connection without heartbeat messages |
WO2013155208A1 (en) | 2012-04-10 | 2013-10-17 | Seven Networks, Inc. | Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network |
US9235406B2 (en) * | 2012-04-24 | 2016-01-12 | Apple Inc. | Methods and apparatus for user identity module update without service interruption |
US9537663B2 (en) * | 2012-06-20 | 2017-01-03 | Alcatel Lucent | Manipulation and restoration of authentication challenge parameters in network authentication procedures |
US9008309B2 (en) * | 2012-07-02 | 2015-04-14 | Intel Mobile Communications GmbH | Circuit arrangement and a method for roaming between a visited network and a mobile station |
WO2014011216A1 (en) | 2012-07-13 | 2014-01-16 | Seven Networks, Inc. | Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications |
US9161258B2 (en) | 2012-10-24 | 2015-10-13 | Seven Networks, Llc | Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion |
US8898769B2 (en) | 2012-11-16 | 2014-11-25 | At&T Intellectual Property I, Lp | Methods for provisioning universal integrated circuit cards |
US8959331B2 (en) | 2012-11-19 | 2015-02-17 | At&T Intellectual Property I, Lp | Systems for provisioning universal integrated circuit cards |
US9307493B2 (en) | 2012-12-20 | 2016-04-05 | Seven Networks, Llc | Systems and methods for application management of mobile device radio state promotion and demotion |
US9241314B2 (en) | 2013-01-23 | 2016-01-19 | Seven Networks, Llc | Mobile device with application or context aware fast dormancy |
US8874761B2 (en) | 2013-01-25 | 2014-10-28 | Seven Networks, Inc. | Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
US8750123B1 (en) | 2013-03-11 | 2014-06-10 | Seven Networks, Inc. | Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network |
CN103379486B (en) * | 2013-06-08 | 2016-12-28 | 山东量子科学技术研究院有限公司 | A kind of instant inserted and instant using type portable call privacy device and communication means thereof |
US9065765B2 (en) | 2013-07-22 | 2015-06-23 | Seven Networks, Inc. | Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network |
US9036820B2 (en) | 2013-09-11 | 2015-05-19 | At&T Intellectual Property I, Lp | System and methods for UICC-based secure communication |
US9124573B2 (en) | 2013-10-04 | 2015-09-01 | At&T Intellectual Property I, Lp | Apparatus and method for managing use of secure tokens |
US11349675B2 (en) * | 2013-10-18 | 2022-05-31 | Alcatel-Lucent Usa Inc. | Tamper-resistant and scalable mutual authentication for machine-to-machine devices |
US9208300B2 (en) | 2013-10-23 | 2015-12-08 | At&T Intellectual Property I, Lp | Apparatus and method for secure authentication of a communication device |
US9240994B2 (en) | 2013-10-28 | 2016-01-19 | At&T Intellectual Property I, Lp | Apparatus and method for securely managing the accessibility to content and applications |
US9240989B2 (en) | 2013-11-01 | 2016-01-19 | At&T Intellectual Property I, Lp | Apparatus and method for secure over the air programming of a communication device |
US9313660B2 (en) | 2013-11-01 | 2016-04-12 | At&T Intellectual Property I, Lp | Apparatus and method for secure provisioning of a communication device |
US9413759B2 (en) | 2013-11-27 | 2016-08-09 | At&T Intellectual Property I, Lp | Apparatus and method for secure delivery of data from a communication device |
US9246890B2 (en) * | 2014-02-18 | 2016-01-26 | Oracle International Corporation | PGP encrypted data transfer |
WO2015163777A1 (en) * | 2014-04-25 | 2015-10-29 | Общество с ограниченной ответственностью "Сетевизор" | Method for the protected distribution of multimedia information using a decentralized network |
US9713006B2 (en) | 2014-05-01 | 2017-07-18 | At&T Intellectual Property I, Lp | Apparatus and method for managing security domains for a universal integrated circuit card |
GB2544491B (en) * | 2015-11-17 | 2022-03-02 | Airbus Defence & Space Ltd | Improvements in and relating to communication links |
US9979554B2 (en) * | 2016-01-11 | 2018-05-22 | Panasonic Avionics Corporation | Methods and systems for securely accessing line replaceable units |
US11075949B2 (en) * | 2017-02-02 | 2021-07-27 | Nicira, Inc. | Systems and methods for allocating SPI values |
CN107295508A (en) * | 2017-07-27 | 2017-10-24 | 武汉虹信通信技术有限责任公司 | A kind of LTE network entity authentication and key updating method |
CN108307324B (en) * | 2018-01-22 | 2021-11-19 | 深圳优特利通信技术有限公司 | Method and device for safely transmitting broadcast message |
WO2021070177A2 (en) * | 2019-10-10 | 2021-04-15 | Cardlatch Ltd. | System and method for authenticating devices |
US11363582B2 (en) * | 2019-12-20 | 2022-06-14 | Qualcomm Incorporated | Key provisioning for broadcast control channel protection in a wireless network |
CN112669586A (en) * | 2020-12-16 | 2021-04-16 | 宁夏隆基宁光仪表股份有限公司 | Intelligent instrument remote monitoring system and method based on Android system |
CN114338071A (en) * | 2021-10-28 | 2022-04-12 | 中能电力科技开发有限公司 | Network security identity authentication method based on wind power plant communication |
KR102415905B1 (en) * | 2021-11-15 | 2022-07-05 | (주) 시스메이트 | Physical layer based private secure network system and method thereof supporting public wireless network |
CN114282232A (en) * | 2021-11-22 | 2022-04-05 | 岚图汽车科技有限公司 | Vehicle communication key management method and device, storage medium and equipment |
CN114285555A (en) * | 2021-12-15 | 2022-04-05 | 支付宝(杭州)信息技术有限公司 | Multicast method and device based on block chain |
Citations (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4901307A (en) * | 1986-10-17 | 1990-02-13 | Qualcomm, Inc. | Spread spectrum multiple access communication system using satellite or terrestrial repeaters |
USRE33189E (en) * | 1981-11-19 | 1990-03-27 | Communications Satellite Corporation | Security system for SSTV encryption |
US4924513A (en) * | 1987-09-25 | 1990-05-08 | Digital Equipment Corporation | Apparatus and method for secure transmission of data over an unsecure transmission channel |
US5103459A (en) * | 1990-06-25 | 1992-04-07 | Qualcomm Incorporated | System and method for generating signal waveforms in a cdma cellular telephone system |
US5117457A (en) * | 1986-11-05 | 1992-05-26 | International Business Machines Corp. | Tamper resistant packaging for information protection in electronic circuitry |
US5412655A (en) * | 1993-01-29 | 1995-05-02 | Nec Corporation | Multiprocessing system for assembly/disassembly of asynchronous transfer mode cells |
US5421006A (en) * | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
US5481613A (en) * | 1994-04-15 | 1996-01-02 | Northern Telecom Limited | Computer network cryptographic key distribution system |
US5504773A (en) * | 1990-06-25 | 1996-04-02 | Qualcomm Incorporated | Method and apparatus for the formatting of data for transmission |
US5513245A (en) * | 1994-08-29 | 1996-04-30 | Sony Corporation | Automatic generation of private authentication key for wireless communication systems |
US5515441A (en) * | 1994-05-12 | 1996-05-07 | At&T Corp. | Secure communication method and apparatus |
US5592470A (en) * | 1994-12-21 | 1997-01-07 | At&T | Broadband wireless system and network architecture providing broadband/narrowband service with optimal static and dynamic bandwidth/channel allocation |
US5708961A (en) * | 1995-05-01 | 1998-01-13 | Bell Atlantic Network Services, Inc. | Wireless on-premises video distribution using digital multiplexing |
US5740246A (en) * | 1994-12-13 | 1998-04-14 | Mitsubishi Corporation | Crypt key system |
US5751725A (en) * | 1996-10-18 | 1998-05-12 | Qualcomm Incorporated | Method and apparatus for determining the rate of received data in a variable rate communication system |
US5758291A (en) * | 1994-10-18 | 1998-05-26 | Motorola, Inc. | Method for automatically revising a wireless communication unit scan list |
US5878141A (en) * | 1995-08-25 | 1999-03-02 | Microsoft Corporation | Computerized purchasing system and method for mediating purchase transactions over an interactive network |
US5881368A (en) * | 1996-06-06 | 1999-03-09 | Qualcomm Incorporated | Method and apparatus of power control in a CDMA dispatch system |
US5884196A (en) * | 1996-06-06 | 1999-03-16 | Qualcomm Incorporated | Method and apparatus of preserving power of a remote unit in a dispatch system |
US6014765A (en) * | 1996-06-12 | 2000-01-11 | Fuji Xerox Co., Ltd. | Data transmission apparatus and method |
US6021124A (en) * | 1997-08-19 | 2000-02-01 | Telefonaktiebolaget Lm Ericsson | Multi-channel automatic retransmission query (ARQ) method |
US6026165A (en) * | 1996-06-20 | 2000-02-15 | Pittway Corporation | Secure communications in a wireless system |
US6044154A (en) * | 1994-10-31 | 2000-03-28 | Communications Devices, Inc. | Remote generated, device identifier key for use with a dual-key reflexive encryption security system |
US6047395A (en) * | 1998-01-30 | 2000-04-04 | Cirrus Logic, Inc. | Error correction processor for correcting a multi-dimensional code by generating an erasure polynomial over one dimension for correcting multiple codewords in another dimension |
US6052812A (en) * | 1998-01-07 | 2000-04-18 | Pocketscience, Inc. | Messaging communication protocol |
US6055236A (en) * | 1998-03-05 | 2000-04-25 | 3Com Corporation | Method and system for locating network services with distributed network address translation |
US6055314A (en) * | 1996-03-22 | 2000-04-25 | Microsoft Corporation | System and method for secure purchase and delivery of video content programs |
US6185430B1 (en) * | 1997-11-26 | 2001-02-06 | Motorola, Inc. | Voice call group function for a satellite based air traffic control system |
US6199161B1 (en) * | 1996-01-24 | 2001-03-06 | Nokia Telecommunication Oy | Management of authentication keys in a mobile communication system |
US20020001386A1 (en) * | 2000-06-30 | 2002-01-03 | Koichiro Akiyama | Broadcast receiving method and apparatus and information distributing method and apparatus |
US20020002674A1 (en) * | 2000-06-29 | 2002-01-03 | Tom Grimes | Digital rights management |
US20020010681A1 (en) * | 2000-04-28 | 2002-01-24 | Hillegass James C. | Method and system for licensing digital works |
US20020023165A1 (en) * | 2000-01-28 | 2002-02-21 | Lahr Nils B. | Method and apparatus for encoder-based distribution of live video and other streaming content |
US6353614B1 (en) * | 1998-03-05 | 2002-03-05 | 3Com Corporation | Method and protocol for distributed network address translation |
US6363480B1 (en) * | 1999-09-14 | 2002-03-26 | Sun Microsystems, Inc. | Ephemeral decryptability |
US6366776B1 (en) * | 1999-09-29 | 2002-04-02 | Trw Inc. | End-to-end transmission techniques for a processing satellite system |
US6373829B1 (en) * | 1998-04-23 | 2002-04-16 | Motorola, Inc. | Method and apparatus for group calls in a wireless CDMA communication system using outbound traffic channels for individual group members |
US6374103B1 (en) * | 1998-09-30 | 2002-04-16 | Lucent Technologies, Inc. | Method and system for overhead message updates |
US6510515B1 (en) * | 1998-06-15 | 2003-01-21 | Telefonaktlebolaget Lm Ericsson | Broadcast service access control |
US20030018891A1 (en) * | 2001-06-26 | 2003-01-23 | Rick Hall | Encrypted packet inspection |
US20030028805A1 (en) * | 2001-08-03 | 2003-02-06 | Nokia Corporation | System and method for managing network service access and enrollment |
US6523069B1 (en) * | 2000-03-13 | 2003-02-18 | Yahoo! Inc. | Transmission of multicast media between networks |
US20030035389A1 (en) * | 2001-08-20 | 2003-02-20 | Tao Chen | Method and system for utilization of an outer decoder in a broadcast services communication system |
US20030039361A1 (en) * | 2001-08-20 | 2003-02-27 | Hawkes Philip Michael | Method and apparatus for security in a data processing system |
US20030039237A1 (en) * | 1997-09-25 | 2003-02-27 | Jan E Forslow | Common access between a mobile communications network and an external network with selectable packet-switched and circuit-switched services |
US6529740B1 (en) * | 1999-12-10 | 2003-03-04 | Motorola, Inc. | Group radio with subscriber-radio controlled channel selection |
US6536041B1 (en) * | 1998-06-16 | 2003-03-18 | United Video Properties, Inc. | Program guide system with real-time data sources |
US20030054807A1 (en) * | 2001-09-17 | 2003-03-20 | Liangchi Hsu | Apparatus, and associated method, for facilitating multicast and broadcast services in a radio communication system |
US6539242B1 (en) * | 2000-03-31 | 2003-03-25 | Qualcomm Incorporated | Efficient detection of general paging messages in poor signal to noise environments |
US6538996B1 (en) * | 1998-02-25 | 2003-03-25 | Enterasys Networks, Inc. | Remote computer communication |
US6542504B1 (en) * | 1999-05-28 | 2003-04-01 | 3Com Corporation | Profile based method for packet header compression in a point to point link |
US20030064679A1 (en) * | 2001-09-28 | 2003-04-03 | Lg Electronics Inc. | Apparatus for transmitting and receiving MPEG data by using wireless LAN |
US20030070092A1 (en) * | 2001-10-09 | 2003-04-10 | Philip Hawkes | Method and apparatus for security in a data processing system |
US20030072384A1 (en) * | 2001-10-12 | 2003-04-17 | Tao Chen | Method and system for reduction of decoding complexity in a communication system |
US20040005860A1 (en) * | 2002-03-18 | 2004-01-08 | Taku Kato | Broadcasting system, broadcasting apparatus, broadcasting method and receiving apparatus |
US6678856B1 (en) * | 1998-12-14 | 2004-01-13 | Siemens Aktiengesellschaft | Method and configuration for encoding symbols for transmission via a radio interface of a radio communications system |
US6680920B1 (en) * | 1997-10-29 | 2004-01-20 | Skyworks Solutions, Inc. | Power management system for a mobile station |
US20040019787A1 (en) * | 2002-06-28 | 2004-01-29 | Norimasa Shibata | Method and system for authenticating communication terminals |
US20040022216A1 (en) * | 2002-08-02 | 2004-02-05 | Shi Guangming Carl | Multimode wireless device system provision validation and acquisition method and apparatus |
US6704368B1 (en) * | 1997-11-28 | 2004-03-09 | Nokia Mobile Phones Limited | Coding and modulation method and apparatus for its implementation |
US6704369B1 (en) * | 1999-08-16 | 2004-03-09 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method for signal separation and recording medium for the same |
US6707801B2 (en) * | 2001-03-28 | 2004-03-16 | Qualcomm Incorporated | Method and apparatus for data transport in a wireless communication system |
US6714784B1 (en) * | 1999-06-10 | 2004-03-30 | Nokia Mobile Phones Ltd. | Method and arrangement for providing fast cell change in a packet-switched cellular radio system |
US6725459B2 (en) * | 2001-02-09 | 2004-04-20 | Scientific-Atlanta, Inc. | Descrambling device for use in a conditional access system |
US6728226B1 (en) * | 1999-06-22 | 2004-04-27 | Nec Corporation | Multicast message communicating method, multicast message communicating system, base station thereof, and mobile station thereof |
US20050010774A1 (en) * | 2003-07-08 | 2005-01-13 | Rose Gregory Gordon | Apparatus and method for a secure broadcast system |
US20050008159A1 (en) * | 2003-07-07 | 2005-01-13 | Francesco Grilli | Secure registration for a multicast-broadcast-multimedia system (MBMS) |
US6856800B1 (en) * | 2001-05-14 | 2005-02-15 | At&T Corp. | Fast authentication and access control system for mobile networking |
US20050048963A1 (en) * | 1996-06-03 | 2005-03-03 | Kubler Joseph J. | Configurable premises based wireless network and operating protocol |
US20050055551A1 (en) * | 2001-10-19 | 2005-03-10 | Viaccess | Interactive protocol for remote management of access control to scrambled data |
US6870923B2 (en) * | 2000-09-15 | 2005-03-22 | Lg Electronics Inc. | Method for transferring message in a message transfer part with high speed |
US6879690B2 (en) * | 2001-02-21 | 2005-04-12 | Nokia Corporation | Method and system for delegation of security procedures to a visited domain |
US6879573B1 (en) * | 2000-09-15 | 2005-04-12 | Lucent Technologies Inc. | Channel sharing by diverse multiframes in a wireless communications network |
US6882850B2 (en) * | 2001-12-03 | 2005-04-19 | Sprint Spectrum L.P. | Method and system for zone-based capacity control |
US6885874B2 (en) * | 2001-11-27 | 2005-04-26 | Motorola, Inc. | Group location and route sharing system for communication units in a trunked communication system |
US6983410B2 (en) * | 2001-07-02 | 2006-01-03 | Qualcomm, Incorporated | System and method for a frame re-transmission in a broadcast communication system |
US6987982B2 (en) * | 1999-03-24 | 2006-01-17 | Qualcomm, Incorporated | Reservation multiple access |
US6990680B1 (en) * | 1998-01-05 | 2006-01-24 | Gateway Inc. | System for scheduled caching of in-band data services |
US7016351B1 (en) * | 2000-02-29 | 2006-03-21 | Cisco Technology, Inc. | Small group multicast in a computer network |
US7024616B2 (en) * | 2000-06-09 | 2006-04-04 | Hitachi, Ltd. | Method for encoding/decoding error correcting code, transmitting apparatus and network |
US20060078000A1 (en) * | 1999-02-10 | 2006-04-13 | Mika Rinne | Method for informing layers of a protocol stack about the protocol in use |
US7031666B2 (en) * | 2001-03-28 | 2006-04-18 | Qualcomm Incorporated. | Method and apparatus for header compression in a wireless communication system |
US7036023B2 (en) * | 2001-01-19 | 2006-04-25 | Microsoft Corporation | Systems and methods for detecting tampering of a computer system by calculating a boot signature |
US7177424B1 (en) * | 1999-06-22 | 2007-02-13 | Hitachi, Ltd. | Cryptographic apparatus and method |
US20070038610A1 (en) * | 2001-06-22 | 2007-02-15 | Nosa Omoigui | System and method for knowledge retrieval, management, delivery and presentation |
US7197072B1 (en) * | 2002-05-30 | 2007-03-27 | Intervideo, Inc. | Systems and methods for resetting rate control state variables upon the detection of a scene change within a group of pictures |
US7200230B2 (en) * | 2000-04-06 | 2007-04-03 | Macrovision Corporation | System and method for controlling and enforcing access rights to encrypted media |
US7203314B1 (en) * | 2000-07-21 | 2007-04-10 | The Directv Group, Inc. | Super encrypted storage and retrieval of media programs with modified conditional access functionality |
US7209459B2 (en) * | 2001-05-28 | 2007-04-24 | Nokia Corporation | Transmitting control messages on control channels of packet data network |
US7321968B1 (en) * | 1997-06-26 | 2008-01-22 | Fujitsu Siemens Computer | Method and apparatus for encoding, transmitting and decoding a digital message |
US7349425B2 (en) * | 2001-03-28 | 2008-03-25 | Qualcomm Incorporated | Method and apparatus for overhead messaging in a wireless communication system |
US7669104B2 (en) * | 2004-09-06 | 2010-02-23 | Yokogawa Electric Corporation | Forward error correction method and communication method, and forward error correction code addition apparatus and communication apparatus |
US20100048206A1 (en) * | 2003-01-02 | 2010-02-25 | Qualcomm Incorporated | Method and apparatus for broadcast services in a communication system |
US7693508B2 (en) * | 2001-03-28 | 2010-04-06 | Qualcomm Incorporated | Method and apparatus for broadcast signaling in a wireless communication system |
US7697523B2 (en) * | 2001-10-03 | 2010-04-13 | Qualcomm Incorporated | Method and apparatus for data packet transport in a wireless communication system using an internet protocol |
US20110045864A1 (en) * | 2001-03-28 | 2011-02-24 | Qualcomm Incorporated | Power control for point-to-multipoint services provided in communication systems |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2448825A1 (en) * | 1979-02-06 | 1980-09-05 | Telediffusion Fse | SYSTEM FOR TRANSMITTING INFORMATION BETWEEN A TRANSMISSION CENTER AND RECEIVING STATIONS, WHICH IS PROVIDED WITH A MEANS OF CONTROLLING ACCESS TO THE INFORMATION TRANSMITTED |
US5101501A (en) | 1989-11-07 | 1992-03-31 | Qualcomm Incorporated | Method and system for providing a soft handoff in communications in a cdma cellular telephone system |
JPH07115414A (en) * | 1993-10-19 | 1995-05-02 | Matsushita Electric Ind Co Ltd | Scramble transmission equipment |
JPH07288798A (en) * | 1994-04-15 | 1995-10-31 | Mitsubishi Electric Corp | Digital picture recording and reproducing device, reproducing device, and tv reception equipment |
US5467398A (en) * | 1994-07-05 | 1995-11-14 | Motorola, Inc. | Method of messaging in a communication system |
US5537474A (en) | 1994-07-29 | 1996-07-16 | Motorola, Inc. | Method and apparatus for authentication in a communication system |
US5758068A (en) * | 1995-09-19 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for software license management |
JPH10214233A (en) * | 1996-04-15 | 1998-08-11 | Toshiba Corp | Information processor, information processing system, method therefor, program storage device, method for judging key and device therefor |
GB2313749B (en) * | 1996-05-31 | 1998-05-13 | I Co Global Communications | Secure communications |
US6201961B1 (en) | 1996-09-13 | 2001-03-13 | Globalstar L. P. | Use of reference phone in point-to-point satellite communication system |
US6690795B1 (en) * | 1997-03-04 | 2004-02-10 | Lucent Technologies Inc. | Multiple keys for decrypting data in restricted-access television system |
JP2001512842A (en) * | 1997-08-01 | 2001-08-28 | サイエンティフィック−アトランタ・インコーポレーテッド | Encryption device used in conditional access system |
JP2002506296A (en) * | 1997-08-01 | 2002-02-26 | サイエンティフィック−アトランタ・インコーポレーテッド | Creating Services in the Conditional Access System |
BR9815610A (en) * | 1997-08-01 | 2004-06-22 | Scientific Atlanta | Verification of program information source in conditional access system |
JPH11136669A (en) * | 1997-11-04 | 1999-05-21 | Sony Corp | Device and method for satellite broadcasting |
FI980427A (en) * | 1998-02-25 | 1999-08-26 | Ericsson Telefon Ab L M | Procedure, arrangement and device for verification |
US6233341B1 (en) * | 1998-05-19 | 2001-05-15 | Visto Corporation | System and method for installing and using a temporary certificate at a remote site |
FI105966B (en) | 1998-07-07 | 2000-10-31 | Nokia Networks Oy | Authentication in a telecommunications network |
JO2117B1 (en) * | 1998-07-15 | 2000-05-21 | كانال + تيكنولوجيز سوسيته انونيم | method and apparatus for secure communication of information between aplurality of digital audiovisual devices |
JP3644579B2 (en) * | 1998-10-29 | 2005-04-27 | 富士通株式会社 | Security enhancement method and apparatus |
US6343280B2 (en) * | 1998-12-15 | 2002-01-29 | Jonathan Clark | Distributed execution software license server |
JP2000196546A (en) * | 1998-12-25 | 2000-07-14 | Jisedai Joho Hoso System Kenkyusho:Kk | Method for transmitting/receiving broadcast, broadcast transmitter, broadcast receiver, and broadcast transmitting/receiving system |
JP3816689B2 (en) * | 1999-03-31 | 2006-08-30 | 株式会社東芝 | Information distribution apparatus, information reception apparatus, and communication method |
WO2000062476A1 (en) * | 1999-04-13 | 2000-10-19 | Sony Corporation | Data transmission system |
US6377810B1 (en) | 1999-06-11 | 2002-04-23 | Motorola, Inc. | Method of operation of mobile wireless communication system with location information |
US6289455B1 (en) * | 1999-09-02 | 2001-09-11 | Crypotography Research, Inc. | Method and apparatus for preventing piracy of digital content |
JP2001134193A (en) * | 1999-11-09 | 2001-05-18 | Haneda Hume Pipe Co Ltd | Going-out display tag |
JP2001333032A (en) * | 2000-05-23 | 2001-11-30 | Matsushita Electric Ind Co Ltd | Restricted reception system |
JP2002026835A (en) * | 2000-07-10 | 2002-01-25 | Matsushita Electric Ind Co Ltd | Limited reception method and system |
JP2002027417A (en) * | 2000-07-10 | 2002-01-25 | Matsushita Electric Ind Co Ltd | Method and device for accumulating program |
WO2002015578A1 (en) * | 2000-08-11 | 2002-02-21 | Nds Limited | System and method for pre-encryption of transmitted content |
JP2002217894A (en) * | 2000-09-28 | 2002-08-02 | Hitachi Ltd | Method for data distribution service |
JP4691244B2 (en) * | 2000-11-10 | 2011-06-01 | 株式会社東芝 | Limited reception device and security module of limited reception system, limited reception system, limited reception device authentication method, and encryption communication method |
US6857075B2 (en) * | 2000-12-11 | 2005-02-15 | Lucent Technologies Inc. | Key conversion system and method |
US7278164B2 (en) * | 2001-01-05 | 2007-10-02 | Revit Technology Corporation | Software usage/procurement management |
WO2002061572A1 (en) | 2001-01-31 | 2002-08-08 | Ntt Docomo, Inc. | System for delivering program to storage module of mobile terminal |
US8121296B2 (en) * | 2001-03-28 | 2012-02-21 | Qualcomm Incorporated | Method and apparatus for security in a data processing system |
-
2002
- 2002-08-28 US US10/233,188 patent/US7185362B2/en not_active Expired - Lifetime
-
2003
- 2003-08-26 CN CNB038243288A patent/CN100380270C/en not_active Expired - Lifetime
- 2003-08-26 EP EP03751918A patent/EP1532506A1/en not_active Withdrawn
- 2003-08-26 EP EP10012072A patent/EP2317414A1/en not_active Withdrawn
- 2003-08-26 MX MXPA05002221A patent/MXPA05002221A/en active IP Right Grant
- 2003-08-26 BR BRPI0313783A patent/BRPI0313783B1/en active IP Right Grant
- 2003-08-26 JP JP2004531597A patent/JP4927330B2/en not_active Expired - Lifetime
- 2003-08-26 AU AU2003270024A patent/AU2003270024A1/en not_active Abandoned
- 2003-08-26 KR KR1020057003584A patent/KR101123591B1/en active IP Right Grant
- 2003-08-26 CN CN200710146509.7A patent/CN101110678B/en not_active Expired - Lifetime
- 2003-08-26 WO PCT/US2003/026897 patent/WO2004021153A1/en active Application Filing
- 2003-08-26 CA CA2496677A patent/CA2496677C/en not_active Expired - Lifetime
- 2003-08-28 TW TW092123744A patent/TWI280768B/en not_active IP Right Cessation
-
2006
- 2006-04-07 HK HK06104260A patent/HK1084201A1/en not_active IP Right Cessation
-
2007
- 2007-01-24 US US11/626,822 patent/US20070116282A1/en not_active Abandoned
-
2011
- 2011-11-28 JP JP2011258929A patent/JP5307220B2/en not_active Expired - Lifetime
Patent Citations (100)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE33189E (en) * | 1981-11-19 | 1990-03-27 | Communications Satellite Corporation | Security system for SSTV encryption |
US4901307A (en) * | 1986-10-17 | 1990-02-13 | Qualcomm, Inc. | Spread spectrum multiple access communication system using satellite or terrestrial repeaters |
US5117457A (en) * | 1986-11-05 | 1992-05-26 | International Business Machines Corp. | Tamper resistant packaging for information protection in electronic circuitry |
US4924513A (en) * | 1987-09-25 | 1990-05-08 | Digital Equipment Corporation | Apparatus and method for secure transmission of data over an unsecure transmission channel |
US5504773A (en) * | 1990-06-25 | 1996-04-02 | Qualcomm Incorporated | Method and apparatus for the formatting of data for transmission |
US5103459B1 (en) * | 1990-06-25 | 1999-07-06 | Qualcomm Inc | System and method for generating signal waveforms in a cdma cellular telephone system |
US5103459A (en) * | 1990-06-25 | 1992-04-07 | Qualcomm Incorporated | System and method for generating signal waveforms in a cdma cellular telephone system |
US5421006A (en) * | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
US5412655A (en) * | 1993-01-29 | 1995-05-02 | Nec Corporation | Multiprocessing system for assembly/disassembly of asynchronous transfer mode cells |
US5481613A (en) * | 1994-04-15 | 1996-01-02 | Northern Telecom Limited | Computer network cryptographic key distribution system |
US5515441A (en) * | 1994-05-12 | 1996-05-07 | At&T Corp. | Secure communication method and apparatus |
US5513245A (en) * | 1994-08-29 | 1996-04-30 | Sony Corporation | Automatic generation of private authentication key for wireless communication systems |
US5758291A (en) * | 1994-10-18 | 1998-05-26 | Motorola, Inc. | Method for automatically revising a wireless communication unit scan list |
US6044154A (en) * | 1994-10-31 | 2000-03-28 | Communications Devices, Inc. | Remote generated, device identifier key for use with a dual-key reflexive encryption security system |
US5740246A (en) * | 1994-12-13 | 1998-04-14 | Mitsubishi Corporation | Crypt key system |
US5592470A (en) * | 1994-12-21 | 1997-01-07 | At&T | Broadband wireless system and network architecture providing broadband/narrowband service with optimal static and dynamic bandwidth/channel allocation |
US5708961A (en) * | 1995-05-01 | 1998-01-13 | Bell Atlantic Network Services, Inc. | Wireless on-premises video distribution using digital multiplexing |
US5878141A (en) * | 1995-08-25 | 1999-03-02 | Microsoft Corporation | Computerized purchasing system and method for mediating purchase transactions over an interactive network |
US6199161B1 (en) * | 1996-01-24 | 2001-03-06 | Nokia Telecommunication Oy | Management of authentication keys in a mobile communication system |
US6055314A (en) * | 1996-03-22 | 2000-04-25 | Microsoft Corporation | System and method for secure purchase and delivery of video content programs |
US20050048963A1 (en) * | 1996-06-03 | 2005-03-03 | Kubler Joseph J. | Configurable premises based wireless network and operating protocol |
US5881368A (en) * | 1996-06-06 | 1999-03-09 | Qualcomm Incorporated | Method and apparatus of power control in a CDMA dispatch system |
US5884196A (en) * | 1996-06-06 | 1999-03-16 | Qualcomm Incorporated | Method and apparatus of preserving power of a remote unit in a dispatch system |
US6014765A (en) * | 1996-06-12 | 2000-01-11 | Fuji Xerox Co., Ltd. | Data transmission apparatus and method |
US6026165A (en) * | 1996-06-20 | 2000-02-15 | Pittway Corporation | Secure communications in a wireless system |
US5751725A (en) * | 1996-10-18 | 1998-05-12 | Qualcomm Incorporated | Method and apparatus for determining the rate of received data in a variable rate communication system |
US7321968B1 (en) * | 1997-06-26 | 2008-01-22 | Fujitsu Siemens Computer | Method and apparatus for encoding, transmitting and decoding a digital message |
US6021124A (en) * | 1997-08-19 | 2000-02-01 | Telefonaktiebolaget Lm Ericsson | Multi-channel automatic retransmission query (ARQ) method |
US20030039237A1 (en) * | 1997-09-25 | 2003-02-27 | Jan E Forslow | Common access between a mobile communications network and an external network with selectable packet-switched and circuit-switched services |
US6680920B1 (en) * | 1997-10-29 | 2004-01-20 | Skyworks Solutions, Inc. | Power management system for a mobile station |
US6185430B1 (en) * | 1997-11-26 | 2001-02-06 | Motorola, Inc. | Voice call group function for a satellite based air traffic control system |
US6704368B1 (en) * | 1997-11-28 | 2004-03-09 | Nokia Mobile Phones Limited | Coding and modulation method and apparatus for its implementation |
US6990680B1 (en) * | 1998-01-05 | 2006-01-24 | Gateway Inc. | System for scheduled caching of in-band data services |
US6052812A (en) * | 1998-01-07 | 2000-04-18 | Pocketscience, Inc. | Messaging communication protocol |
US6047395A (en) * | 1998-01-30 | 2000-04-04 | Cirrus Logic, Inc. | Error correction processor for correcting a multi-dimensional code by generating an erasure polynomial over one dimension for correcting multiple codewords in another dimension |
US6538996B1 (en) * | 1998-02-25 | 2003-03-25 | Enterasys Networks, Inc. | Remote computer communication |
US6055236A (en) * | 1998-03-05 | 2000-04-25 | 3Com Corporation | Method and system for locating network services with distributed network address translation |
US6353614B1 (en) * | 1998-03-05 | 2002-03-05 | 3Com Corporation | Method and protocol for distributed network address translation |
US6373829B1 (en) * | 1998-04-23 | 2002-04-16 | Motorola, Inc. | Method and apparatus for group calls in a wireless CDMA communication system using outbound traffic channels for individual group members |
US6510515B1 (en) * | 1998-06-15 | 2003-01-21 | Telefonaktlebolaget Lm Ericsson | Broadcast service access control |
US6536041B1 (en) * | 1998-06-16 | 2003-03-18 | United Video Properties, Inc. | Program guide system with real-time data sources |
US6374103B1 (en) * | 1998-09-30 | 2002-04-16 | Lucent Technologies, Inc. | Method and system for overhead message updates |
US6678856B1 (en) * | 1998-12-14 | 2004-01-13 | Siemens Aktiengesellschaft | Method and configuration for encoding symbols for transmission via a radio interface of a radio communications system |
US20060078000A1 (en) * | 1999-02-10 | 2006-04-13 | Mika Rinne | Method for informing layers of a protocol stack about the protocol in use |
US6987982B2 (en) * | 1999-03-24 | 2006-01-17 | Qualcomm, Incorporated | Reservation multiple access |
US6542504B1 (en) * | 1999-05-28 | 2003-04-01 | 3Com Corporation | Profile based method for packet header compression in a point to point link |
US6714784B1 (en) * | 1999-06-10 | 2004-03-30 | Nokia Mobile Phones Ltd. | Method and arrangement for providing fast cell change in a packet-switched cellular radio system |
US6728226B1 (en) * | 1999-06-22 | 2004-04-27 | Nec Corporation | Multicast message communicating method, multicast message communicating system, base station thereof, and mobile station thereof |
US7177424B1 (en) * | 1999-06-22 | 2007-02-13 | Hitachi, Ltd. | Cryptographic apparatus and method |
US6704369B1 (en) * | 1999-08-16 | 2004-03-09 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method for signal separation and recording medium for the same |
US6363480B1 (en) * | 1999-09-14 | 2002-03-26 | Sun Microsystems, Inc. | Ephemeral decryptability |
US6366776B1 (en) * | 1999-09-29 | 2002-04-02 | Trw Inc. | End-to-end transmission techniques for a processing satellite system |
US6529740B1 (en) * | 1999-12-10 | 2003-03-04 | Motorola, Inc. | Group radio with subscriber-radio controlled channel selection |
US20020023165A1 (en) * | 2000-01-28 | 2002-02-21 | Lahr Nils B. | Method and apparatus for encoder-based distribution of live video and other streaming content |
US7016351B1 (en) * | 2000-02-29 | 2006-03-21 | Cisco Technology, Inc. | Small group multicast in a computer network |
US6523069B1 (en) * | 2000-03-13 | 2003-02-18 | Yahoo! Inc. | Transmission of multicast media between networks |
US6539242B1 (en) * | 2000-03-31 | 2003-03-25 | Qualcomm Incorporated | Efficient detection of general paging messages in poor signal to noise environments |
US7200230B2 (en) * | 2000-04-06 | 2007-04-03 | Macrovision Corporation | System and method for controlling and enforcing access rights to encrypted media |
US20020010681A1 (en) * | 2000-04-28 | 2002-01-24 | Hillegass James C. | Method and system for licensing digital works |
US7024616B2 (en) * | 2000-06-09 | 2006-04-04 | Hitachi, Ltd. | Method for encoding/decoding error correcting code, transmitting apparatus and network |
US20020002674A1 (en) * | 2000-06-29 | 2002-01-03 | Tom Grimes | Digital rights management |
US20020001386A1 (en) * | 2000-06-30 | 2002-01-03 | Koichiro Akiyama | Broadcast receiving method and apparatus and information distributing method and apparatus |
US7203314B1 (en) * | 2000-07-21 | 2007-04-10 | The Directv Group, Inc. | Super encrypted storage and retrieval of media programs with modified conditional access functionality |
US6870923B2 (en) * | 2000-09-15 | 2005-03-22 | Lg Electronics Inc. | Method for transferring message in a message transfer part with high speed |
US6879573B1 (en) * | 2000-09-15 | 2005-04-12 | Lucent Technologies Inc. | Channel sharing by diverse multiframes in a wireless communications network |
US7036023B2 (en) * | 2001-01-19 | 2006-04-25 | Microsoft Corporation | Systems and methods for detecting tampering of a computer system by calculating a boot signature |
US6725459B2 (en) * | 2001-02-09 | 2004-04-20 | Scientific-Atlanta, Inc. | Descrambling device for use in a conditional access system |
US6879690B2 (en) * | 2001-02-21 | 2005-04-12 | Nokia Corporation | Method and system for delegation of security procedures to a visited domain |
US7031666B2 (en) * | 2001-03-28 | 2006-04-18 | Qualcomm Incorporated. | Method and apparatus for header compression in a wireless communication system |
US6707801B2 (en) * | 2001-03-28 | 2004-03-16 | Qualcomm Incorporated | Method and apparatus for data transport in a wireless communication system |
US7349425B2 (en) * | 2001-03-28 | 2008-03-25 | Qualcomm Incorporated | Method and apparatus for overhead messaging in a wireless communication system |
US7693508B2 (en) * | 2001-03-28 | 2010-04-06 | Qualcomm Incorporated | Method and apparatus for broadcast signaling in a wireless communication system |
US20110045864A1 (en) * | 2001-03-28 | 2011-02-24 | Qualcomm Incorporated | Power control for point-to-multipoint services provided in communication systems |
US6856800B1 (en) * | 2001-05-14 | 2005-02-15 | At&T Corp. | Fast authentication and access control system for mobile networking |
US7209459B2 (en) * | 2001-05-28 | 2007-04-24 | Nokia Corporation | Transmitting control messages on control channels of packet data network |
US20070038610A1 (en) * | 2001-06-22 | 2007-02-15 | Nosa Omoigui | System and method for knowledge retrieval, management, delivery and presentation |
US20030018891A1 (en) * | 2001-06-26 | 2003-01-23 | Rick Hall | Encrypted packet inspection |
US6983410B2 (en) * | 2001-07-02 | 2006-01-03 | Qualcomm, Incorporated | System and method for a frame re-transmission in a broadcast communication system |
US20030028805A1 (en) * | 2001-08-03 | 2003-02-06 | Nokia Corporation | System and method for managing network service access and enrollment |
US20030039361A1 (en) * | 2001-08-20 | 2003-02-27 | Hawkes Philip Michael | Method and apparatus for security in a data processing system |
US20030035389A1 (en) * | 2001-08-20 | 2003-02-20 | Tao Chen | Method and system for utilization of an outer decoder in a broadcast services communication system |
US7185362B2 (en) * | 2001-08-20 | 2007-02-27 | Qualcomm, Incorporated | Method and apparatus for security in a data processing system |
US20030054807A1 (en) * | 2001-09-17 | 2003-03-20 | Liangchi Hsu | Apparatus, and associated method, for facilitating multicast and broadcast services in a radio communication system |
US20030064679A1 (en) * | 2001-09-28 | 2003-04-03 | Lg Electronics Inc. | Apparatus for transmitting and receiving MPEG data by using wireless LAN |
US7697523B2 (en) * | 2001-10-03 | 2010-04-13 | Qualcomm Incorporated | Method and apparatus for data packet transport in a wireless communication system using an internet protocol |
US7352868B2 (en) * | 2001-10-09 | 2008-04-01 | Philip Hawkes | Method and apparatus for security in a data processing system |
US20030070092A1 (en) * | 2001-10-09 | 2003-04-10 | Philip Hawkes | Method and apparatus for security in a data processing system |
US20030072384A1 (en) * | 2001-10-12 | 2003-04-17 | Tao Chen | Method and system for reduction of decoding complexity in a communication system |
US20100107041A1 (en) * | 2001-10-12 | 2010-04-29 | Qualcomm Incorporated | Method and system for reduction of decoding complexity in a communication system |
US20050055551A1 (en) * | 2001-10-19 | 2005-03-10 | Viaccess | Interactive protocol for remote management of access control to scrambled data |
US6885874B2 (en) * | 2001-11-27 | 2005-04-26 | Motorola, Inc. | Group location and route sharing system for communication units in a trunked communication system |
US6882850B2 (en) * | 2001-12-03 | 2005-04-19 | Sprint Spectrum L.P. | Method and system for zone-based capacity control |
US20040005860A1 (en) * | 2002-03-18 | 2004-01-08 | Taku Kato | Broadcasting system, broadcasting apparatus, broadcasting method and receiving apparatus |
US7197072B1 (en) * | 2002-05-30 | 2007-03-27 | Intervideo, Inc. | Systems and methods for resetting rate control state variables upon the detection of a scene change within a group of pictures |
US20040019787A1 (en) * | 2002-06-28 | 2004-01-29 | Norimasa Shibata | Method and system for authenticating communication terminals |
US20040022216A1 (en) * | 2002-08-02 | 2004-02-05 | Shi Guangming Carl | Multimode wireless device system provision validation and acquisition method and apparatus |
US20100048206A1 (en) * | 2003-01-02 | 2010-02-25 | Qualcomm Incorporated | Method and apparatus for broadcast services in a communication system |
US20050008159A1 (en) * | 2003-07-07 | 2005-01-13 | Francesco Grilli | Secure registration for a multicast-broadcast-multimedia system (MBMS) |
US20050010774A1 (en) * | 2003-07-08 | 2005-01-13 | Rose Gregory Gordon | Apparatus and method for a secure broadcast system |
US7669104B2 (en) * | 2004-09-06 | 2010-02-23 | Yokogawa Electric Corporation | Forward error correction method and communication method, and forward error correction code addition apparatus and communication apparatus |
Non-Patent Citations (1)
Title |
---|
Menezes, Alfred J. et al. Handbook of Applied Cryptography, 1997 CRC Press, pp. 169-190. * |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9100457B2 (en) | 2001-03-28 | 2015-08-04 | Qualcomm Incorporated | Method and apparatus for transmission framing in a wireless communication system |
US8077679B2 (en) | 2001-03-28 | 2011-12-13 | Qualcomm Incorporated | Method and apparatus for providing protocol options in a wireless communication system |
US8121296B2 (en) | 2001-03-28 | 2012-02-21 | Qualcomm Incorporated | Method and apparatus for security in a data processing system |
US20080226073A1 (en) * | 2001-10-09 | 2008-09-18 | Qualcomm Incorporated | Method and apparatus for security in a data processing system |
US8983065B2 (en) * | 2001-10-09 | 2015-03-17 | Qualcomm Incorporated | Method and apparatus for security in a data processing system |
US8730999B2 (en) | 2001-10-12 | 2014-05-20 | Qualcomm Incorporated | Method and system for reduction of decoding complexity in a communication system |
US8713400B2 (en) | 2001-10-12 | 2014-04-29 | Qualcomm Incorporated | Method and system for reduction of decoding complexity in a communication system |
US20080273702A1 (en) * | 2002-04-18 | 2008-11-06 | Foster Eric M | Method, system and program product for attaching a title key to encrypted content for synchronized transmission to a recipient |
US9300465B2 (en) * | 2002-04-18 | 2016-03-29 | International Business Machines Corporation | Method, system and program product for attaching a title key to encrypted content for synchronized transmission to a recipient |
US8971790B2 (en) | 2003-01-02 | 2015-03-03 | Qualcomm Incorporated | Method and apparatus for broadcast services in a communication system |
US8098818B2 (en) | 2003-07-07 | 2012-01-17 | Qualcomm Incorporated | Secure registration for a multicast-broadcast-multimedia system (MBMS) |
US8718279B2 (en) | 2003-07-08 | 2014-05-06 | Qualcomm Incorporated | Apparatus and method for a secure broadcast system |
US8724803B2 (en) | 2003-09-02 | 2014-05-13 | Qualcomm Incorporated | Method and apparatus for providing authenticated challenges for broadcast-multicast communications in a communication system |
US8837729B2 (en) * | 2005-02-11 | 2014-09-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for ensuring privacy in communications between parties |
US20080187137A1 (en) * | 2005-02-11 | 2008-08-07 | Pekka Nikander | Method and Apparatus for Ensuring Privacy in Communications Between Parties |
US7813505B2 (en) * | 2006-06-28 | 2010-10-12 | Nokia Corporation | Sequence number synchronization for ciphering |
US20080002594A1 (en) * | 2006-06-28 | 2008-01-03 | Nokia Corporation | Sequence number synchronization for ciphering |
US7773753B2 (en) * | 2007-06-28 | 2010-08-10 | Aladdin Knowledge Systems Ltd. | Efficient remotely-keyed symmetric cryptography for digital rights management |
US20090006865A1 (en) * | 2007-06-28 | 2009-01-01 | Michael Zunke | Efficient Remotely-Keyed Symmetric Cryptography For Digital Rights Management |
US20100322423A1 (en) * | 2008-01-30 | 2010-12-23 | Continental Automotive Gmbh | Data Transmission Method, and Tachograph System |
US8484475B2 (en) | 2008-01-30 | 2013-07-09 | Continental Automotive Gmbh | Data transmission method, and tachograph system |
WO2009095286A3 (en) * | 2008-01-30 | 2009-11-12 | Continental Automotive Gmbh | Device and method for secure data transmission in a tachograph system |
WO2009095286A2 (en) * | 2008-01-30 | 2009-08-06 | Continental Automotive Gmbh | Data transmission method, and tachograph system |
US8588423B2 (en) * | 2008-08-21 | 2013-11-19 | China Iwncomm Co., Ltd | Group/multicast key distribution method and update method based upon unicast session key and base station |
US20110194697A1 (en) * | 2008-08-21 | 2011-08-11 | China Iwncomm Co. Ltd. | Multicase key distribution method, updated method, and base station based on unicast conversation key |
US20100104103A1 (en) * | 2008-10-24 | 2010-04-29 | Qualcomm Incorporated | Method And Apparatus For Billing And Security Architecture For Venue-Cast Services |
US8452011B2 (en) * | 2008-10-24 | 2013-05-28 | Qualcomm Incorporated | Method and apparatus for billing and security architecture for venue-cast services |
EP2209256A1 (en) * | 2009-01-14 | 2010-07-21 | Fujitsu Limited | Apparatus and mobile terminal |
US8935523B1 (en) * | 2012-07-18 | 2015-01-13 | Dj Inventions, Llc | Cryptographic protected communication system with multiplexed cryptographic cryptopipe modules |
US20160198512A1 (en) * | 2012-08-17 | 2016-07-07 | Huawei Technologies Co., Ltd. | User equipment pairing processing method, network side device, and user equipment |
US9320070B2 (en) * | 2012-08-17 | 2016-04-19 | Huawei Technologies Co., Ltd. | User equipment pairing processing method, network side device, and user equipment |
US20150163843A1 (en) * | 2012-08-17 | 2015-06-11 | Huawei Technologies Co., Ltd. | User equipment pairing processing method, network side device, and user equipment |
US9635697B2 (en) * | 2012-08-17 | 2017-04-25 | Huawei Technologies Co., Ltd. | User equipment pairing processing method, network side device, and user equipment |
US9288050B1 (en) * | 2014-09-25 | 2016-03-15 | International Business Machines Corporation | Unified storage and management of cryptographic keys and certificates |
US9276742B1 (en) * | 2014-09-25 | 2016-03-01 | International Business Machines Corporation | Unified storage and management of cryptographic keys and certificates |
US9756146B2 (en) * | 2015-05-19 | 2017-09-05 | Intel IP Corporation | Secure boot download computations based on host transport conditions |
US10375209B2 (en) | 2015-05-19 | 2019-08-06 | Intel IP Corporation | Secure boot download computations based on host transport conditions |
US20220300435A1 (en) * | 2021-03-22 | 2022-09-22 | Jürgen Bretfeld | System, a server and a method for securely storing and processing raw data from a plurality of different data sources |
US12001348B2 (en) * | 2021-03-22 | 2024-06-04 | Advaneo Gmbh | System, a server and a method for securely storing and processing raw data from a plurality of different data sources |
Also Published As
Publication number | Publication date |
---|---|
AU2003270024A8 (en) | 2004-03-19 |
CA2496677A1 (en) | 2004-03-11 |
CN100380270C (en) | 2008-04-09 |
JP2012070426A (en) | 2012-04-05 |
US7185362B2 (en) | 2007-02-27 |
TWI280768B (en) | 2007-05-01 |
KR20050057090A (en) | 2005-06-16 |
MXPA05002221A (en) | 2005-07-05 |
KR101123591B1 (en) | 2012-07-12 |
CA2496677C (en) | 2013-05-14 |
BR0313783A (en) | 2005-10-18 |
HK1084201A1 (en) | 2006-07-21 |
JP2005537713A (en) | 2005-12-08 |
WO2004021153A1 (en) | 2004-03-11 |
CN101110678A (en) | 2008-01-23 |
BRPI0313783B1 (en) | 2016-02-23 |
WO2004021153A8 (en) | 2005-04-07 |
TW200421810A (en) | 2004-10-16 |
CN1692319A (en) | 2005-11-02 |
CN101110678B (en) | 2015-01-21 |
EP1532506A1 (en) | 2005-05-25 |
AU2003270024A1 (en) | 2004-03-19 |
JP5307220B2 (en) | 2013-10-02 |
US20030039361A1 (en) | 2003-02-27 |
JP4927330B2 (en) | 2012-05-09 |
EP2317414A1 (en) | 2011-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7185362B2 (en) | Method and apparatus for security in a data processing system | |
US8121296B2 (en) | Method and apparatus for security in a data processing system | |
US8983065B2 (en) | Method and apparatus for security in a data processing system | |
AU2002342014A1 (en) | Method and apparatus for security in a data processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: QUALCOMM INCORPORATED, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HAWKES, PHILIP MICHAEL;HSU, RAYMOND TAH-SHENG;REZAIIFAR, RAMIN;AND OTHERS;REEL/FRAME:021248/0812;SIGNING DATES FROM 20080617 TO 20080709 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |