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.
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 WCDMA 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.
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
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.
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)=Pe mod pq, D—K(C)=Cd mod 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.
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
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.
Terminals 106 in the coverage area may be fixed (i.e., stationary) or mobile. As shown in
The downlink, or FL, refers to transmission from the base station to the terminal, and the uplink, or RL, 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
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 in
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 user 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 in
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. Within the UIM 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 the UIM 308, the access will require a significantly large amount of resources. Also within the UIM 308, 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. Similarly, outputs from the SUPU 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, the UIM 308 is a stationary unit within the MS 300. Note that in addition to the secure memory and processing within the UIM 308, 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. 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 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. 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 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. In the subscription process the CS sends the UIM 308 the value of a common Broadcast Access Key (BAK). 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. The UIM 308 then 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 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, 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.
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 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.
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. 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 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 to MS 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. 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. In the exemplary embodiment, 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.
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. 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 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.
In the exemplary embodiment, 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. After decryption, 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. 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 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. 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 the MS 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 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.
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 of
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 3 GPP key generation function f3, 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 that UIM 308. The SUPU 316 decrypts BAKI using RK stored in the SUMU 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 the SUPU 316 decrypting BAKI. Alternate embodiments may implement any number of key combinations in addition to or in place of those illustrated in
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
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
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.
Key management and updates are illustrated in
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.
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.
The present Application for Patent claims priority of U.S. Provisional Application No. 60/279,970, filed Mar. 28, 2001, assigned to the assignee hereof and hereby expressly incorporated by reference herein. The present invention is related to the following Applications for Patent in the U.S. Patent & Trademark Office: “METHOD AND APPARATUS FOR OVERHEAD MESSAGING IN A WIRELESS COMMUNICATION SYSTEM” by Nikolai Leung, having U.S. application Ser. No. 09/933,971, filed Aug. 20, 2001 and assigned to the assignee hereof, and which is expressly incorporated by reference herein;“METHOD AND APPARATUS FOR OUT-OF-BAND TRANSMISSION OF BROADCAST SERVICE OPTION IN A WIRELESS COMMUNICATION SYSTEM” by Nikolai Leung, having U.S. application Ser. No. 09/934,021, filed Aug. 20, 2001 and assigned to the assignee hereof, and which is expressly incorporated reference herein;“METHOD AND APPARATUS FOR BROADCAST SIGNALING IN A WIRELESS COMMUNICATION SYSTEM” by Nikolai Leung, having U.S. application Ser. No. 09/933,914, filed Aug. 20, 2001 and assigned to the assignee hereof, and which is expressly incorporated by reference herein;“METHOD AND APPARATUS FOR TRANSMISSION FRAMING IN A WIRELESS COMMUNICATION SYSTEM” by Raymond Hsu, having U.S. application Ser. No. 09/933,639, filed Aug. 20, 2001 and assigned to the assignee hereof, and which is expressly incorporated by reference herein;“METHOD AND APPARATUS FOR DATA TRANSPORT IN A WIRELESS COMMUNICATION SYSTEM” by Raymond Hsu, having U.S. application Ser. No. 09/933,977, filed Aug. 20, 2001 and assigned to the assignee hereof, and which is expressly incorporated by reference herein; and“METHOD AND APPARATUS FOR HEADER COMPRESSION IN A WIRELESS COMMUNICATION SYSTEM” by Raymond Hsu, having U.S. application Ser. No. 09/933,690, filed Aug. 20, 2001 and assigned to the assignee hereof, and which is expressly incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
4163255 | Pires et al. | Jul 1979 | A |
4323921 | Guillou | Apr 1982 | A |
4750167 | Meyer et al. | Jun 1988 | A |
4870408 | Zdunek et al. | Sep 1989 | A |
4881263 | Herbison et al. | Nov 1989 | A |
4901307 | Gilhousen et al. | Feb 1990 | A |
4924513 | Herbison et al. | May 1990 | A |
5056109 | Gilhousen et al. | Oct 1991 | A |
5101501 | Gilhousen et al. | Mar 1992 | A |
5103459 | Gilhousen et al. | Apr 1992 | A |
5117457 | Comerford et al. | May 1992 | A |
5136586 | Greenblatt et al. | Aug 1992 | A |
5150412 | Maru | Sep 1992 | A |
5159447 | Haskell et al. | Oct 1992 | A |
5164988 | Matyas et al. | Nov 1992 | A |
5235631 | Grube et al. | Aug 1993 | A |
5237612 | Raith | Aug 1993 | A |
5241598 | Raith | Aug 1993 | A |
5253294 | Maurer et al. | Oct 1993 | A |
5257396 | Auld, Jr. et al. | Oct 1993 | A |
5325357 | Kimoto et al. | Jun 1994 | A |
5351087 | Christopher et al. | Sep 1994 | A |
5353332 | Raith et al. | Oct 1994 | A |
5363379 | Eckenrode et al. | Nov 1994 | A |
5365572 | Saegusa et al. | Nov 1994 | A |
5369784 | Nelson et al. | Nov 1994 | A |
5371794 | Diffie et al. | Dec 1994 | A |
5404563 | Green et al. | Apr 1995 | A |
5410602 | Finkelstein et al. | Apr 1995 | A |
5412655 | Yamada et al. | May 1995 | A |
5421006 | Jablon et al. | May 1995 | A |
5448568 | Delpuch et al. | Sep 1995 | A |
5467398 | Pierce et al. | Nov 1995 | A |
5473609 | Chaney | Dec 1995 | A |
5473642 | Osawa | Dec 1995 | A |
5481613 | Ford et al. | Jan 1996 | A |
5485577 | Eyer et al. | Jan 1996 | A |
5504773 | Padovani et al. | Apr 1996 | A |
5513245 | Mizikovsky et al. | Apr 1996 | A |
5515441 | Faucher et al. | May 1996 | A |
5537474 | Brown et al. | Jul 1996 | A |
5565909 | Thibadeau et al. | Oct 1996 | A |
5592470 | Rudrapatna et al. | Jan 1997 | A |
5673259 | Quick, Jr. | Sep 1997 | A |
5686963 | Uz et al. | Nov 1997 | A |
5708961 | Hylton et al. | Jan 1998 | A |
5729540 | Wegrzyn | Mar 1998 | A |
5740246 | Saito | Apr 1998 | A |
5748736 | Mittra | May 1998 | A |
5751707 | Voit et al. | May 1998 | A |
5751725 | Chen et al. | May 1998 | A |
5758068 | Brandt et al. | May 1998 | A |
5758291 | Grube et al. | May 1998 | A |
5768276 | Diachina et al. | Jun 1998 | A |
5774496 | Butler et al. | Jun 1998 | A |
5778059 | Loghmani et al. | Jul 1998 | A |
5778069 | Thomlinson et al. | Jul 1998 | A |
5778187 | Monteiro et al. | Jul 1998 | A |
5787347 | Yu et al. | Jul 1998 | A |
5796829 | Newby et al. | Aug 1998 | A |
5835730 | Grossman et al. | Nov 1998 | A |
5850444 | Rune et al. | Dec 1998 | A |
5850445 | Chan et al. | Dec 1998 | A |
5870474 | Wasilewski et al. | Feb 1999 | A |
5878141 | Daly et al. | Mar 1999 | A |
5881368 | Grob et al. | Mar 1999 | A |
5884196 | Lekven et al. | Mar 1999 | A |
5887252 | Noneman | Mar 1999 | A |
5909491 | Luo et al. | Jun 1999 | A |
5923649 | Raith | Jul 1999 | A |
5936965 | Doshi et al. | Aug 1999 | A |
5940507 | Cane et al. | Aug 1999 | A |
5946316 | Chen et al. | Aug 1999 | A |
5956404 | Schneier et al. | Sep 1999 | A |
5956681 | Yamakita | Sep 1999 | A |
5970072 | Gammenthaler, Jr. et al. | Oct 1999 | A |
5970417 | Toyryla et al. | Oct 1999 | A |
5978386 | Hamalainen | Nov 1999 | A |
5983099 | Yao et al. | Nov 1999 | A |
5990928 | Sklar et al. | Nov 1999 | A |
5991400 | Kamperman | Nov 1999 | A |
5991407 | Murto et al. | Nov 1999 | A |
6006073 | Glauner et al. | Dec 1999 | A |
6018360 | Stewart et al. | Jan 2000 | A |
6021124 | Haartsen et al. | Feb 2000 | A |
6026165 | Marino et al. | Feb 2000 | A |
6032197 | Birdwell et al. | Feb 2000 | A |
6044154 | Kelly et al. | Mar 2000 | A |
6047071 | Shah | Apr 2000 | A |
6047395 | Zook et al. | Apr 2000 | A |
6052812 | Chen et al. | Apr 2000 | A |
6055236 | Nessett et al. | Apr 2000 | A |
6055314 | Spies et al. | Apr 2000 | A |
6058289 | Gardner et al. | May 2000 | A |
6065061 | Blahut et al. | May 2000 | A |
6067290 | Paulraj et al. | May 2000 | A |
6073122 | Wool | Jun 2000 | A |
6081907 | Witty et al. | Jun 2000 | A |
6097817 | Bilgic et al. | Aug 2000 | A |
6098878 | Dent et al. | Aug 2000 | A |
6108424 | Pitiot et al. | Aug 2000 | A |
6108706 | Birdwell et al. | Aug 2000 | A |
6111866 | Kweon et al. | Aug 2000 | A |
6128389 | Chan et al. | Oct 2000 | A |
6128490 | Shaheen et al. | Oct 2000 | A |
6148010 | Sutton et al. | Nov 2000 | A |
6157719 | Wasilewski et al. | Dec 2000 | A |
6172972 | Birdwell et al. | Jan 2001 | B1 |
6185430 | Yee et al. | Feb 2001 | B1 |
6195546 | Leung et al. | Feb 2001 | B1 |
6199161 | Ahvenainen et al. | Mar 2001 | B1 |
6201961 | Schindall et al. | Mar 2001 | B1 |
6208634 | Boulos et al. | Mar 2001 | B1 |
6230024 | Wang et al. | May 2001 | B1 |
6233234 | Curry et al. | May 2001 | B1 |
6233341 | Riggins | May 2001 | B1 |
6240091 | Ginzboorg et al. | May 2001 | B1 |
6253069 | Mankovitz | Jun 2001 | B1 |
6253326 | Lincke et al. | Jun 2001 | B1 |
6256509 | Tanaka et al. | Jul 2001 | B1 |
6266420 | Langford et al. | Jul 2001 | B1 |
6272632 | Carman et al. | Aug 2001 | B1 |
6295361 | Kadansky et al. | Sep 2001 | B1 |
6310661 | Arsenault | Oct 2001 | B1 |
6314095 | Loa | Nov 2001 | B1 |
6343280 | Clark | Jan 2002 | B2 |
6345307 | Booth | Feb 2002 | B1 |
6353614 | Borella et al. | Mar 2002 | B1 |
6363242 | Brown, Jr. et al. | Mar 2002 | B1 |
6363480 | Perlman et al. | Mar 2002 | B1 |
6373829 | Vilmur et al. | Apr 2002 | B1 |
6374103 | Kamel et al. | Apr 2002 | B1 |
6377810 | Geiger et al. | Apr 2002 | B1 |
6385200 | Erami et al. | May 2002 | B1 |
6385461 | Raith et al. | May 2002 | B1 |
6415312 | Boivie | Jul 2002 | B1 |
6424717 | Pinder et al. | Jul 2002 | B1 |
6424947 | Tsuria et al. | Jul 2002 | B1 |
6434367 | Kumar et al. | Aug 2002 | B1 |
6438612 | Ylonen et al. | Aug 2002 | B1 |
6449491 | Dailey et al. | Sep 2002 | B1 |
6463155 | Akiyama et al. | Oct 2002 | B1 |
6473419 | Gray et al. | Oct 2002 | B1 |
6473858 | Shimomura et al. | Oct 2002 | B1 |
6477377 | Backstrom et al. | Nov 2002 | B2 |
6490259 | Agrawal et al. | Dec 2002 | B1 |
6502140 | Boivie | Dec 2002 | B1 |
6507590 | Terho et al. | Jan 2003 | B1 |
6510515 | Raith | Jan 2003 | B1 |
RE38007 | Tsukamoto et al. | Feb 2003 | E |
6519266 | Manning et al. | Feb 2003 | B1 |
6523069 | Luczycki et al. | Feb 2003 | B1 |
6529740 | Ganucheau, Jr. et al. | Mar 2003 | B1 |
6536041 | Knudson et al. | Mar 2003 | B1 |
6538996 | West et al. | Mar 2003 | B1 |
6539242 | Bayley | Mar 2003 | B1 |
6542490 | Ahmadvand et al. | Apr 2003 | B1 |
6549771 | Chang et al. | Apr 2003 | B2 |
6560206 | Naden et al. | May 2003 | B1 |
6564211 | Andreev et al. | May 2003 | B1 |
6567914 | Just et al. | May 2003 | B1 |
6571109 | Kim | May 2003 | B1 |
6574211 | Padovani et al. | Jun 2003 | B2 |
6577734 | Etzel et al. | Jun 2003 | B1 |
6577848 | Gregg et al. | Jun 2003 | B1 |
6580756 | Matsui et al. | Jun 2003 | B1 |
6598203 | Tang et al. | Jul 2003 | B1 |
6600745 | Chopping et al. | Jul 2003 | B1 |
6601068 | Park et al. | Jul 2003 | B1 |
6603857 | Batten-Carew et al. | Aug 2003 | B1 |
6606706 | Li et al. | Aug 2003 | B1 |
6608841 | Koodli | Aug 2003 | B1 |
6614804 | McFadden et al. | Sep 2003 | B1 |
6633979 | Smeets et al. | Oct 2003 | B1 |
6647000 | Persson et al. | Nov 2003 | B1 |
6654384 | Reza et al. | Nov 2003 | B1 |
6658463 | Dillon et al. | Dec 2003 | B1 |
6665718 | Chuah et al. | Dec 2003 | B1 |
6680920 | Wan et al. | Jan 2004 | B1 |
6690795 | Richards | Feb 2004 | B1 |
6704368 | Nefedov et al. | Mar 2004 | B1 |
6704369 | Kawasaki et al. | Mar 2004 | B1 |
6711182 | Gibbs et al. | Mar 2004 | B1 |
6714650 | Maillard et al. | Mar 2004 | B1 |
6714784 | Forssell et al. | Mar 2004 | B1 |
6721805 | Bhagwat et al. | Apr 2004 | B1 |
6725459 | Bacon et al. | Apr 2004 | B2 |
6728226 | Naito | Apr 2004 | B1 |
6731936 | Chen et al. | May 2004 | B2 |
6735177 | Suzuki et al. | May 2004 | B1 |
6751218 | Hagirahim et al. | Jun 2004 | B1 |
6760602 | Tangorra et al. | Jul 2004 | B2 |
6760752 | Liu et al. | Jul 2004 | B1 |
6763025 | Leatherbury et al. | Jul 2004 | B2 |
6765909 | Sen et al. | Jul 2004 | B1 |
6766024 | Rix et al. | Jul 2004 | B1 |
6775303 | Rustad et al. | Aug 2004 | B1 |
6781999 | Eyuboglu et al. | Aug 2004 | B2 |
6788681 | Hurren et al. | Sep 2004 | B1 |
6792048 | Lee et al. | Sep 2004 | B1 |
6798791 | Riazi et al. | Sep 2004 | B1 |
6801508 | Lim et al. | Oct 2004 | B1 |
6804520 | Johansson et al. | Oct 2004 | B1 |
6819930 | Laroia et al. | Nov 2004 | B1 |
6826406 | Vialen et al. | Nov 2004 | B1 |
6831910 | Moon et al. | Dec 2004 | B1 |
6832314 | Irvin | Dec 2004 | B1 |
6856800 | Henry et al. | Feb 2005 | B1 |
6862684 | DiGiorgio | Mar 2005 | B1 |
6870923 | Yi et al. | Mar 2005 | B2 |
6879573 | Huo et al. | Apr 2005 | B1 |
6879690 | Faccin et al. | Apr 2005 | B2 |
6882850 | McConnell et al. | Apr 2005 | B2 |
6882860 | Kim | Apr 2005 | B1 |
6885874 | Grube et al. | Apr 2005 | B2 |
6895216 | Sato et al. | May 2005 | B2 |
6898285 | Hutchings et al. | May 2005 | B1 |
6898640 | Kurita | May 2005 | B1 |
6915272 | Zilliacus et al. | Jul 2005 | B1 |
6918035 | Patel et al. | Jul 2005 | B1 |
6920119 | Rinchiuso | Jul 2005 | B2 |
6925285 | Kim et al. | Aug 2005 | B2 |
6944763 | Asano et al. | Sep 2005 | B1 |
6956833 | Yukie et al. | Oct 2005 | B1 |
6959384 | Serret-Avila | Oct 2005 | B1 |
6970689 | Khorram | Nov 2005 | B2 |
6978143 | Vialen | Dec 2005 | B1 |
6983410 | Chen et al. | Jan 2006 | B2 |
6987982 | Willenegger et al. | Jan 2006 | B2 |
6990680 | Wugofski et al. | Jan 2006 | B1 |
7016351 | Farinacci et al. | Mar 2006 | B1 |
7036023 | Fries et al. | Apr 2006 | B2 |
7039180 | Issaa et al. | May 2006 | B1 |
7046672 | Liao et al. | May 2006 | B2 |
7058809 | White et al. | Jun 2006 | B2 |
7069436 | Akachi | Jun 2006 | B1 |
7072865 | Akiyama et al. | Jul 2006 | B2 |
7079502 | Yamano et al. | Jul 2006 | B2 |
7079523 | Nelson, Jr. et al. | Jul 2006 | B2 |
7096355 | Marvit et al. | Aug 2006 | B1 |
7114175 | Lahteenmaki et al. | Sep 2006 | B2 |
7116892 | Wajs | Oct 2006 | B2 |
7133353 | Sourour et al. | Nov 2006 | B2 |
7134019 | Shelest et al. | Nov 2006 | B2 |
7177424 | Furuya et al. | Feb 2007 | B1 |
7181620 | Hur | Feb 2007 | B1 |
7185362 | Hawkes et al. | Feb 2007 | B2 |
7197072 | Hsu et al. | Mar 2007 | B1 |
7200230 | Knauft et al. | Apr 2007 | B2 |
7203314 | Kahn et al. | Apr 2007 | B1 |
7209459 | Kangas et al. | Apr 2007 | B2 |
7215775 | Noguchi et al. | May 2007 | B2 |
7237108 | Medvinsky et al. | Jun 2007 | B2 |
7239704 | Maillard et al. | Jul 2007 | B1 |
7266687 | Sowa et al. | Sep 2007 | B2 |
7278164 | Raiz et al. | Oct 2007 | B2 |
7280660 | Salo et al. | Oct 2007 | B2 |
7290063 | Kalliokulju et al. | Oct 2007 | B2 |
7301968 | Haran et al. | Nov 2007 | B2 |
7352868 | Hawkes et al. | Apr 2008 | B2 |
7376963 | Kato et al. | May 2008 | B2 |
20010004761 | Zehavi et al. | Jun 2001 | A1 |
20010029581 | Knauft | Oct 2001 | A1 |
20010036200 | Nelson et al. | Nov 2001 | A1 |
20010036834 | Das et al. | Nov 2001 | A1 |
20010055298 | Baker et al. | Dec 2001 | A1 |
20020001386 | Akiyama | Jan 2002 | A1 |
20020002541 | Williams | Jan 2002 | A1 |
20020002674 | Grimes et al. | Jan 2002 | A1 |
20020010681 | Hillegass et al. | Jan 2002 | A1 |
20020014159 | Tatsumi et al. | Feb 2002 | A1 |
20020021809 | Salo et al. | Feb 2002 | A1 |
20020023165 | Lahr | Feb 2002 | A1 |
20020071558 | Patel | Jun 2002 | A1 |
20020076195 | Nakajima et al. | Jun 2002 | A1 |
20020080887 | Jeong et al. | Jun 2002 | A1 |
20020091860 | Kalliokulju et al. | Jul 2002 | A1 |
20020091931 | Quick, Jr. et al. | Jul 2002 | A1 |
20020097722 | Liao et al. | Jul 2002 | A1 |
20020099949 | Fries et al. | Jul 2002 | A1 |
20020102964 | Park | Aug 2002 | A1 |
20020112234 | Bacon | Aug 2002 | A1 |
20020152384 | Shelest et al. | Oct 2002 | A1 |
20020154781 | Sowa et al. | Oct 2002 | A1 |
20020164025 | Raiz et al. | Nov 2002 | A1 |
20020169724 | Moroney et al. | Nov 2002 | A1 |
20020176408 | Kangas et al. | Nov 2002 | A1 |
20020181423 | Chen et al. | Dec 2002 | A1 |
20030009669 | White et al. | Jan 2003 | A1 |
20030018891 | Hall et al. | Jan 2003 | A1 |
20030030581 | Roy | Feb 2003 | A1 |
20030031322 | Beckmann et al. | Feb 2003 | A1 |
20030035389 | Chen et al. | Feb 2003 | A1 |
20030039237 | Forslow et al. | Feb 2003 | A1 |
20030039361 | Hawkes et al. | Feb 2003 | A1 |
20030054807 | Hsu et al. | Mar 2003 | A1 |
20030064679 | Kim et al. | Apr 2003 | A1 |
20030070092 | Hawkes et al. | Apr 2003 | A1 |
20030072384 | Chen et al. | Apr 2003 | A1 |
20030087653 | Leung et al. | May 2003 | A1 |
20030101401 | Salvi et al. | May 2003 | A1 |
20030123669 | Koukoulidis et al. | Jul 2003 | A1 |
20030126440 | Go et al. | Jul 2003 | A1 |
20030134655 | Chen et al. | Jul 2003 | A1 |
20030135748 | Yamada et al. | Jul 2003 | A1 |
20030159029 | Brown et al. | Aug 2003 | A1 |
20030217057 | Kuroiwa et al. | Nov 2003 | A1 |
20040005860 | Kato et al. | Jan 2004 | A1 |
20040019787 | Shibata et al. | Jan 2004 | A1 |
20040022216 | Shi et al. | Feb 2004 | A1 |
20040095515 | Tajima et al. | May 2004 | A1 |
20040101138 | Revital et al. | May 2004 | A1 |
20040107350 | Wasilewski et al. | Jun 2004 | A1 |
20040120527 | Hawkes et al. | Jun 2004 | A1 |
20040131185 | Kakumer et al. | Jul 2004 | A1 |
20040132402 | Agashe et al. | Jul 2004 | A1 |
20040151317 | Hyyppa et al. | Aug 2004 | A1 |
20040199474 | Ritter | Oct 2004 | A1 |
20040202329 | Jung et al. | Oct 2004 | A1 |
20040243808 | Ishiguro et al. | Dec 2004 | A1 |
20040266391 | Hafren et al. | Dec 2004 | A1 |
20050008159 | Grilli et al. | Jan 2005 | A1 |
20050048963 | Kubler et al. | Mar 2005 | A1 |
20050055551 | Becker et al. | Mar 2005 | A1 |
20050063544 | Uusitalo et al. | Mar 2005 | A1 |
20050108563 | Becker et al. | May 2005 | A1 |
20050144550 | Jeon et al. | Jun 2005 | A1 |
20050165711 | Hamatsu | Jul 2005 | A1 |
20050216731 | Saito et al. | Sep 2005 | A1 |
20050238315 | Kataoka | Oct 2005 | A1 |
20050271210 | Soppera et al. | Dec 2005 | A1 |
20060078000 | Rinne et al. | Apr 2006 | A1 |
20060168446 | Ahonen et al. | Jul 2006 | A1 |
20060171540 | Lee et al. | Aug 2006 | A1 |
20060242412 | Jung et al. | Oct 2006 | A1 |
20070038610 | Omoigui | Feb 2007 | A1 |
20070116282 | Hawkes et al. | May 2007 | A1 |
20070214482 | Nguyen | Sep 2007 | A1 |
20070280169 | Cam Winget | Dec 2007 | A1 |
Number | Date | Country |
---|---|---|
1281561 | Jan 2001 | CN |
0636963 | Feb 1995 | EP |
0702477 | Mar 1996 | EP |
748058 | Dec 1996 | EP |
813309 | Dec 1997 | EP |
854618 | Jul 1998 | EP |
924898 | Jun 1999 | EP |
928084 | Jul 1999 | EP |
951198 | Oct 1999 | EP |
0993128 | Apr 2000 | EP |
0999656 | May 2000 | EP |
1001570 | May 2000 | EP |
1024661 | Aug 2000 | EP |
1030484 | Aug 2000 | EP |
1032150 | Aug 2000 | EP |
1071296 | Jan 2001 | EP |
1075118 | Feb 2001 | EP |
1075123 | Feb 2001 | EP |
1098446 | May 2001 | EP |
1117204 | Jul 2001 | EP |
1134951 | Sep 2001 | EP |
1143635 | Oct 2001 | EP |
1185125 | Mar 2002 | EP |
1190526 | Mar 2002 | EP |
1213943 | Jun 2002 | EP |
1248188 | Oct 2002 | EP |
1374477 | Jan 2004 | EP |
2204940 | Jul 2010 | EP |
2346512 | Aug 2000 | GB |
1101042 | Apr 1989 | JP |
02090840 | Mar 1990 | JP |
03179841 | May 1991 | JP |
5216411 | Aug 1993 | JP |
06125554 | May 1994 | JP |
7115414 | May 1995 | JP |
7193569 | Jul 1995 | JP |
7288798 | Oct 1995 | JP |
9135478 | May 1997 | JP |
10023529 | Jan 1998 | JP |
10051380 | Feb 1998 | JP |
10063598 | Mar 1998 | JP |
10093547 | Apr 1998 | JP |
10191459 | Jul 1998 | JP |
10200536 | Jul 1998 | JP |
10214233 | Aug 1998 | JP |
10240826 | Nov 1998 | JP |
10512428 | Nov 1998 | JP |
11127468 | May 1999 | JP |
11136669 | May 1999 | JP |
11161167 | Jun 1999 | JP |
11243569 | Sep 1999 | JP |
11510668 | Sep 1999 | JP |
11313059 | Nov 1999 | JP |
11331070 | Nov 1999 | JP |
11331150 | Nov 1999 | JP |
11513853 | Nov 1999 | JP |
11355460 | Dec 1999 | JP |
11355858 | Dec 1999 | JP |
2000078555 | Mar 2000 | JP |
2000115860 | Apr 2000 | JP |
2000134193 | May 2000 | JP |
2000137551 | May 2000 | JP |
2000165258 | Jun 2000 | JP |
2000196546 | Jul 2000 | JP |
2000196673 | Jul 2000 | JP |
2000244603 | Sep 2000 | JP |
2000253459 | Sep 2000 | JP |
2000261374 | Sep 2000 | JP |
2000269959 | Sep 2000 | JP |
2000511733 | Sep 2000 | JP |
000513519 | Oct 2000 | JP |
2000287192 | Oct 2000 | JP |
2000295541 | Oct 2000 | JP |
2000324155 | Nov 2000 | JP |
2001007800 | Jan 2001 | JP |
2001016253 | Jan 2001 | JP |
2001500327 | Jan 2001 | JP |
200136941 | Feb 2001 | JP |
2001036466 | Feb 2001 | JP |
2001045100 | Feb 2001 | JP |
2001053675 | Feb 2001 | JP |
2001077859 | Mar 2001 | JP |
2001077859 | Mar 2001 | JP |
2001119340 | Apr 2001 | JP |
2001134193 | May 2001 | JP |
2001136507 | May 2001 | JP |
2001177513 | Jun 2001 | JP |
2001177523 | Jun 2001 | JP |
2001177564 | Jun 2001 | JP |
2001512842 | Aug 2001 | JP |
2001513587 | Sep 2001 | JP |
2001333032 | Nov 2001 | JP |
2001522164 | Nov 2001 | JP |
2002026835 | Jan 2002 | JP |
2002027417 | Jan 2002 | JP |
2002064785 | Feb 2002 | JP |
2002505458 | Feb 2002 | JP |
2002506296 | Feb 2002 | JP |
2002084470 | Mar 2002 | JP |
2002152194 | May 2002 | JP |
2002514024 | May 2002 | JP |
2002175505 | Jun 2002 | JP |
20025211879 | Jul 2002 | JP |
2002216040 | Aug 2002 | JP |
2002217894 | Aug 2002 | JP |
2002232418 | Aug 2002 | JP |
2002232962 | Aug 2002 | JP |
2002300152 | Oct 2002 | JP |
2002319936 | Oct 2002 | JP |
2002541685 | Dec 2002 | JP |
2003503896 | Jan 2003 | JP |
200352029 | Feb 2003 | JP |
2003099327 | Apr 2003 | JP |
2003115832 | Apr 2003 | JP |
2003124927 | Apr 2003 | JP |
2003521843 | Jul 2003 | JP |
2003259284 | Sep 2003 | JP |
2003297015 | Oct 2003 | JP |
2003529963 | Oct 2003 | JP |
2003339000 | Nov 2003 | JP |
2004048718 | Feb 2004 | JP |
200480663 | Mar 2004 | JP |
2004532554 | Oct 2004 | JP |
2004533174 | Oct 2004 | JP |
2004343764 | Dec 2004 | JP |
2005509367 | Apr 2005 | JP |
2005512471 | Apr 2005 | JP |
20000062153 | Oct 2000 | KR |
200130725 | Apr 2001 | KR |
20010030696 | Apr 2001 | KR |
2073913 | Feb 1997 | RU |
2077113 | Apr 1997 | RU |
2091983 | Sep 1997 | RU |
2115249 | Jul 1998 | RU |
2147792 | Apr 2000 | RU |
2187205 | Aug 2002 | RU |
353841 | Mar 1999 | TW |
373372 | Nov 1999 | TW |
388158 | Apr 2000 | TW |
420910 | Feb 2001 | TW |
448658 | Aug 2001 | TW |
502190 | Sep 2002 | TW |
508958 | Nov 2002 | TW |
WO8607224 | Dec 1986 | WO |
WO9611538 | Apr 1996 | WO |
WO9715161 | Apr 1997 | WO |
WO9716890 | May 1997 | WO |
WO9717790 | May 1997 | WO |
9748212 | Dec 1997 | WO |
WO9747094 | Dec 1997 | WO |
WO9810604 | Mar 1998 | WO |
WO9825422 | Jun 1998 | WO |
WO9857509 | Dec 1998 | WO |
WO9922466 | May 1999 | WO |
WO9922478 | May 1999 | WO |
WO9930234 | Jun 1999 | WO |
WO9944114 | Sep 1999 | WO |
WO9949595 | Sep 1999 | WO |
WO9959355 | Nov 1999 | WO |
WO9962231 | Dec 1999 | WO |
WO9966657 | Dec 1999 | WO |
WO0002406 | Jan 2000 | WO |
WO0004718 | Jan 2000 | WO |
WO0008883 | Feb 2000 | WO |
WO0013356 | Mar 2000 | WO |
WO0033535 | Jun 2000 | WO |
WO0036804 | Jun 2000 | WO |
WO0048358 | Aug 2000 | WO |
WO0051308 | Aug 2000 | WO |
WO0052880 | Sep 2000 | WO |
WO0056018 | Sep 2000 | WO |
WO0057601 | Sep 2000 | WO |
WO0062476 | Oct 2000 | WO |
WO0062547 | Oct 2000 | WO |
WO0072609 | Nov 2000 | WO |
WO00074311 | Dec 2000 | WO |
WO0074425 | Dec 2000 | WO |
WO0076125 | Dec 2000 | WO |
WO0078008 | Dec 2000 | WO |
WO0079734 | Dec 2000 | WO |
WO0101630 | Jan 2001 | WO |
WO01013358 | Feb 2001 | WO |
WO011046 | Mar 2001 | WO |
WO0117163 | Mar 2001 | WO |
WO0119027 | Mar 2001 | WO |
WO0120805 | Mar 2001 | WO |
WO0145443 | Jun 2001 | WO |
WO0150783 | Jul 2001 | WO |
WO0156232 | Aug 2001 | WO |
WO0247356 | Jun 2002 | WO |
WO0247407 | Jun 2002 | WO |
WO02061572 | Aug 2002 | WO |
WO02080449 | Oct 2002 | WO |
WO02080454 | Oct 2002 | WO |
WO02096150 | Nov 2002 | WO |
WO03001772 | Mar 2003 | WO |
WO03032573 | Apr 2003 | WO |
WO03051072 | Jun 2003 | WO |
WO03063418 | Jul 2003 | WO |
WO2004025895 | Mar 2004 | WO |
Number | Date | Country | |
---|---|---|---|
20020141591 A1 | Oct 2002 | US |
Number | Date | Country | |
---|---|---|---|
60279970 | Mar 2001 | US |