US20100332852A1 - Creating Secure Communication Channels Between Processing Elements - Google Patents

Creating Secure Communication Channels Between Processing Elements Download PDF

Info

Publication number
US20100332852A1
US20100332852A1 US12/492,513 US49251309A US2010332852A1 US 20100332852 A1 US20100332852 A1 US 20100332852A1 US 49251309 A US49251309 A US 49251309A US 2010332852 A1 US2010332852 A1 US 2010332852A1
Authority
US
United States
Prior art keywords
key
processing element
bridge
processing elements
processing
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.)
Granted
Application number
US12/492,513
Other versions
US9589159B2 (en
Inventor
Balaji Vembu
Aditya Navale
Sathyamurthi Sadhasivan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to US12/492,513 priority Critical patent/US9589159B2/en
Assigned to INTEL CORPORATION reassignment INTEL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NAVALE, ADITYA, SADHASIVAN, SATHYAMURTHI, VEMBU, BALAJI
Publication of US20100332852A1 publication Critical patent/US20100332852A1/en
Application granted granted Critical
Publication of US9589159B2 publication Critical patent/US9589159B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Abstract

Two processing elements in a single platform may communicate securely to allow the platform to take advantage of the certain cryptographic functionality in one processing element. A first processing element, such as a bridge, may use its cryptographic functionality to request a key exchange with a second processing element, such as a graphics engine. Each processing element may include a global key which is common to the two processing elements and a unique key which is unique to each processing element. A key exchange may be established during the boot process the first time the system boots and, failing any hardware change, the same key may be used throughout the lifetime of the two processing elements. Once a secure channel is set up, any application wishing to authenticate a processing element without public-private cryptographic function may perform the authentication with the other processing element which shares a secure channel with the first processing element.

Description

    BACKGROUND
  • This relates generally to communications between processing elements.
  • In a number of instances, one processing element in a platform may wish to communicate with another processing element in the same platform. Examples of such communications include communications between input/output (I/O) bridges and graphics chips or communications between a chipset and a graphics chip. Each of the chipset, the graphics chip, and the bridge may have an integrated internal controller or processor.
  • There are instances when two of these processor-based components wish to communicate in a secure fashion. Typically, such secure communications involve repeated establishment of secure communication channels between the two different devices.
  • Various types of secure content may be received to be played back on a computer. For example, pay per view video or proprietary content may be received on a computer system for playback. Digital versatile disk (DVD) content may also be played on computers. This content may arrive in an encrypted fashion and, therefore, cannot easily be intercepted in route to the receiving computer.
  • However, once the content arrives at the computer, it may be decrypted for playback. Once decrypted, it may be accessed by malevolent software in the computer system and stolen by unauthorized entities. Unauthorized copies of software, DVD disks, games, videos, and other content may be made in this way.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a depiction of a system in accordance with one embodiment of the present invention;
  • FIG. 2 is a flow chart for the embodiment shown in FIG. 1 in accordance with one embodiment;
  • FIG. 3 is a depiction of a system in accordance with one embodiment of the present invention;
  • FIG. 4 is a flow chart for the embodiment shown in FIG. 3 in accordance with one embodiment;
  • FIG. 5 is a depiction of a system in accordance with one embodiment of the present invention; and
  • FIG. 6 is a flow chart for the embodiment shown in FIG. 5 in accordance with one embodiment.
  • DETAILED DESCRIPTION
  • Referring to FIG. 1, a processor-based system 12, such as a graphics engine, includes a processor or controller. The system 12 may wish to communicate with another processor-based system 18, such as a bridge, in this example. However, the two processor-based systems 12 and 18 may be a variety of different devices, including a central processing unit, a south bridge, a north bridge, a peripheral component hub, or a graphics engine, to mention a few examples.
  • The systems 12 and 18 may be part of a larger processor-based system 10, such as a personal computer, have a central processing unit coupled to the processors 12 and 18. Other examples of such larger systems 10 include media players, set top boxes, and handheld or mobile devices.
  • In one scenario, one of the two processor-based systems 12 or 18 may have a cryptographic capability. It may be advantageous, in some embodiments, to enable communications between the two devices without providing the same graphics capability in both devices. In one embodiment, the system 18 may have such a cryptographic capability. For example, it may have a so-called manageability engine (ME) or controller which implements cryptographic functions. As one example, it may include a direct, anonymous, attestation (DAA), public-private key system that provides RSA like functionality with an entity. No such capability may be provided on the other device 12.
  • In order to play a secure DVD disk, as one example, it is necessary for system 18 to perform a cryptographic operation with a third party application 78, such as a software player, and then communicate the result to system 12 in a secure fashion. This may be possible in some embodiments even though both systems 12 and 18 do not have the full cryptographic functionality that one of the devices, in this case the system 18, may possess.
  • Thus, upon booting of both the systems 12 and 18, the system 18 may initially inquire as to whether or not it has a secure communication key. In some embodiments, this may be done during the boot sequence of the system 10, after booting of the systems 12 and 18, but before completing system 10 boot and before there is any handoff of control to the operating system.
  • Thus, the boot environment is generally a secure environment. However, communications between the components 12 and 18, in some embodiments, may be done using a secure message protocol, such as vendor defined messages available with the PCI Express standard. See PCI Express Base 2.0 Specification (2007), available from the PCI Special Interest Group, Beaverton, Oreg. 97006. Messages using the vendor defined message (VDM) protocol may be exchanged in a proprietary fashion.
  • Thus, the system 18 may initially ask whether it has a communication key 34. It then sends a request for a communication key, as indicated at 28, over a direct memory interface (DMI) interconnecting bus communication links 22, for example. The message may be received within the system 12 by a traffic control entity. The system 12 may have a global key 38 in one embodiment. The global key 38 may be provided to all devices that are meant to operate with one another. All of these devices may have the same global key G. Thus, in this embodiment, the system 12 includes the global key G, as indicated at 38 and the system 18 includes the global key G, indicated at 38.
  • Initially, the system 12 derives the encrypted key kf1 from a fuse value F1, as indicated in block 20. In one embodiment, the system 12 has a unique, stored, randomly generated 128 bit value which is unique to the system 12. It may be stored in a permanent memory, which may be referred to as a fuse or fuse block. The fuse or fuse block 14 may permanently store the fuse value. However, any type of permanent memory storage may be used for this purpose. The fuse block 14 provides the fuse F1 to the block 20. The block 20 then derives, from fuse F1, the encrypted value kf1.
  • In one embodiment, kf1 may be derived from F1 using the Advanced Encryption Standard (AES), available from NIST Publications, Springfield, Va., 22161. Then kf1 is encrypted with the global key G, still as indicated in block 20. Then the system 12 sends the value of kf1, encrypted with the global key G, as indicated at 30, over the communication link 22, back to the system 18.
  • In the system 18, the encrypted key kf1 is decrypted using the global key G from the storage 38 in block 32. Then kf1 is encrypted with a key kf2, which comes from a fuse block 40 on the system 18. The fuse value F2 is totally unique to the system 18 and may be a random number permanently stored on the system 18, for example, in the form of a 128 bit randomly generated value. The value of kf1, encrypted with kf2, is stored in a system flash memory, as indicated at 42, in accordance with one embodiment.
  • Thus, referring to FIG. 2, the system 10 begins to boot and the system 12 boots up and determines it has no key for communications with the system 18, as determined in block 50. Then the system 18 requests the communications key from the system 12, as indicated in block 52. The system 12 then generates the desired key using a global key 38 and a fuse block fuse 14 in one embodiment. The encrypted key is then sent to the system 12, as indicated in block 54. The system 18 then securely stores the communication key, as indicated in block 56.
  • In some embodiments, this key exchange may be done the first time that the system 18 boots up. From then on, all communications are possible in a cryptographic mode using the now exchanged key that is stored in the flash. This key will be useful as long as there is no hardware change. Messages can then be sent across the DMI interface using vendor defined messages. Thus, secure communications are now possible between the two devices, despite the fact that only one of the devices has full cryptographic capabilities. DMI messages may be used as long as both sides of the communication have a suitable mailbox that has been established.
  • In some embodiments, the key exchange code just described may be part of the boot up code. Thus, there may be a storage or memory that stores the boot up code, code for the system 18, and the code to implement the secure communication protocol described herein. For example, this may all be stored in the flash memory 42. In some embodiments, the boot code may contain manageability capabilities to protect this stored code.
  • System 18 may perform cryptographic operations on behalf of system 12 with a media source (like a software media player) or other applications 78 and then pass the result to system 12. However, the general concept is that any one processor may use the security functions of another processor to enable secure communications between the two processors. As one example, every time that you need to play a movie, a session key may be sent across a communication interface. The application running on a central processing unit, such as a Windows® media player, may authenticate the system 12 hardware before setting up a session key for transmission of video data.
  • The above-described protocol is one way to make such an exchange. The scheme allows for the application to authenticate the hardware using system 18 cryptographic hardware and then securely transmits the session key to system 12. From this point, the application and system 12 can communicate securely using the session key.
  • Referring to FIG. 3, each time there is another boot, a check may be implemented to make sure that the right key is possessed by the system 18. Thus, upon booting, the system 18 obtains the encrypted key from flash 42. It unwraps the key using the kf2 value from the fuse 40. It takes the kf1 value and encrypts a standard variable, such as zero in this case, as indicated in block 36. Then it sends the encrypted value to the system 12 with a message 60 asking if the communication key is valid and telling the system 12 that it has encrypted zero with the key that is believed to be common between the two devices. The system 12 then derives kf1 using the fuse F1 from the fuse block 14. It decrypts the message payload, as indicated in block 64 and returns a yes if it finds a zero and, otherwise, it returns a no, as indicated at 62. Again, the communications 60 and 62 may be over a secure protocol, such as the DMI.
  • The system 18 determines if the response was yes and the key matched. If so, it knows it does not need to do a new key exchange. Otherwise, it triggers a new key exchange, as indicated in block 26.
  • Thus, referring to FIG. 4, the system 18 checks, upon each new boot, to determine whether the key is valid (block 66). It does so by encrypting a zero with kf1 and sending a message to the system 12, as indicated in block 68. The system 12 checks the validity of the key and sends a response, as indicated in block 70. Then, in block 72, the system 18 processes the response from the system 12 and takes appropriate steps. Namely, if the key is valid, communications may continue using the key and, otherwise, a new key exchange must be established using the protocol of FIG. 1 and FIG. 2.
  • Playback of premium content, such as DVD movies on a personal computer, is carried out by a software application provided by independent software vendors. These application vendors sign the content license and, hence, are responsible for the secure playback of the content. To fulfill the terms of their contract license, the player applications need to ensure that the data flow of content from the DVD disk to the display device is protected. For video playback, typical applications perform a portion of the video decode and rely on a graphics hardware for the remaining decode and display. Since the application needs to send the premium content over to the graphics device for further processing, the application needs to authenticate that device and set up a secure channel for sending this data over.
  • The standard available mechanisms for authentication of the devices setting up a secure channel are fairly complex and generally involve the application and graphics hardware sharing a secret key. The graphics hardware uses a public-private key infrastructure and sends the public key to the application. The use of a shared secret key may be weak from a robustness point of view since a compromise of the secret key in the application affects all other vendors. Relying on graphics hardware to have a public/private key infrastructure involves a significant hardware cost since it involves RSA style exponentiation.
  • A session key setup may be negotiated between the application and the bridge to the graphics engine. This can happen at the beginning of each playback session, such as the beginning of a movie.
  • Thus, referring to FIG. 5, the application 78, which may be a software application of an independent software vendor, initiates authentication of a graphics device, as indicated at 88. This request actually goes to the system 18, which generates a public/private key DAA signed public key, as indicated in block 74. Thus, the application interacts with the bridge to perform the DAA authentication. The system 18 generates and sends a signed Diffie-Hellman value to the application, as indicated at 76, and the application 78 verifies the signature. Then the application and the bridge derive a unique session key.
  • The system 18 retrieves the graphics bridge communication key from the flash 42 and derives a session key re-encrypted with kf1 (block 86). Then the system 12, compatible session key 84 is sent over DMI to the system 12. At block 82, the graphics engine derives kf1, using the fuse F1 from the fuse block 14. With kf1, it is able to decrypt the session key. As a result, content encrypted with the session key 80 may be sent from the application 78 and decoded in whole or in part by the system 12.
  • Thus, referring to FIG. 6, the application initiates authentication of the graphics device, as indicated in block 90, through the bridge. The application and the bridge derive a unique session key, as indicated in block 92. Then the bridge sends the encrypted session (block 94). Multiple writes may be required to get the session key to the graphics engine.
  • Thus, in some embodiments, both a platform specific key in the form of the fuse block 14 and the fuse 40 may be used, together with a global key 38, which is not platform specific. Even if the global key were broken, the platform specific key is still useful.
  • The graphics processing techniques described herein may be implemented in various hardware architectures. For example, graphics functionality may be integrated within a chipset. Alternatively, a discrete graphics processor may be used. As still another embodiment, the graphics functions may be implemented by a general purpose processor, including a multicore processor.
  • In accordance with some embodiments of the present invention, capabilities described herein may be implemented in hardware, software, or firmware. In software or firmware embodiments, a computer readable medium, such as a semiconductor memory, may store instructions for implementation by a processing entity, such as a central processing unit, a bridge, or any controller. For example, in some embodiments, each of the steps illustrated in FIGS. 1-6 may be implemented in software and may be executed on any processor or processing element. For example, in one embodiment, such instructions may be implemented by execution on the system 18. In other embodiments, portions of the sequences may be executed on the systems 12 and/or 18.
  • References throughout this specification to “one embodiment” or “an embodiment” mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one implementation encompassed within the present invention. Thus, appearances of the phrase “one embodiment” or “in an embodiment” are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be instituted in other suitable forms other than the particular embodiment illustrated and all such forms may be encompassed within the claims of the present application.
  • While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.

Claims (20)

1. A method comprising:
enabling a first processing element to use a security capability of a second processing element for secure communications between an application and the first processing element.
2. The method of claim 1 including enabling a graphics engine to communicate with a bridge.
3. The method of claim 2 including enabling the playback of secure media content using a bridge having a cryptographic functionality and a graphics engine without said cryptographic functionality.
4. The method of claim 1 including using a unique key value on each of said processing elements.
5. The method of claim 4 including using a global key common to said processing elements.
6. The method of claim 1 including requesting a communication key during a boot process, and providing a communication key during the boot process.
7. The method of claim 6 including securely storing said communication key.
8. The method of claim 7 including checking or each boot to ensure that a stored communication key is valid.
9. The method of claim 1 including deriving a unique session key between an application and one of said processing elements.
10. The method of claim 9 including sending said unique session key in encrypted form to other of said processing elements.
11. A computer readable medium storing instructions executed by a computer to perform a sequence comprising:
enabling a first processing element to use a security capability of a second processing element for secure communications between an application and the first processing element.
12. The medium of claim 11 further storing instructions to implement a sequence including enabling a graphics engine to communicate with a bridge.
13. The medium of claim 12 further storing instructions to implement a sequence including enabling the playback of secure media content using a bridge having a cryptographic functionality and a graphics engine without said cryptographic functionality.
14. The medium of claim 11 further storing instructions to implement a sequence including using a unique key value on each of said processing elements.
15. The medium of claim 14 further storing instructions to implement a sequence including using a global key common to said processing elements.
16. The medium of claim 11 further storing instructions to implement a sequence including requesting a communication key during a boot process, and providing a communication key during the boot process.
17. The medium of claim 16 further storing instructions to implement a sequence including securely storing said communication key.
18. An apparatus comprising:
a second processing element; and
a first processing element to use a security capability of the second processing element for secure communications between an application and said first processing element.
19. The apparatus of claim 18 wherein said first and second processing elements are a graphics engine and a bridge.
20. The apparatus of claim 19 wherein said application enables playback of secure media content using the bridge having a cryptographic functionality and the graphics engine without said cryptographic functionality.
US12/492,513 2009-06-26 2009-06-26 Creating secure communication channels between processing elements Active 2031-06-17 US9589159B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/492,513 US9589159B2 (en) 2009-06-26 2009-06-26 Creating secure communication channels between processing elements

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/492,513 US9589159B2 (en) 2009-06-26 2009-06-26 Creating secure communication channels between processing elements

Publications (2)

Publication Number Publication Date
US20100332852A1 true US20100332852A1 (en) 2010-12-30
US9589159B2 US9589159B2 (en) 2017-03-07

Family

ID=43382073

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/492,513 Active 2031-06-17 US9589159B2 (en) 2009-06-26 2009-06-26 Creating secure communication channels between processing elements

Country Status (1)

Country Link
US (1) US9589159B2 (en)

Cited By (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120209968A1 (en) * 2010-06-23 2012-08-16 Twilio, Inc. System and method for managing a computing cluster
US9398622B2 (en) 2011-05-23 2016-07-19 Twilio, Inc. System and method for connecting a communication to a client
US9456008B2 (en) 2008-04-02 2016-09-27 Twilio, Inc. System and method for processing telephony sessions
US9455949B2 (en) 2011-02-04 2016-09-27 Twilio, Inc. Method for processing telephony sessions of a network
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
US9483328B2 (en) 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
US9491309B2 (en) 2009-10-07 2016-11-08 Twilio, Inc. System and method for running a multi-module telephony application
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
US9509782B2 (en) 2014-10-21 2016-11-29 Twilio, Inc. System and method for providing a micro-services communication platform
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US9553900B2 (en) 2014-07-07 2017-01-24 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US9569601B2 (en) 2015-05-19 2017-02-14 Anvaya Solutions, Inc. System and method for authenticating and enabling functioning of a manufactured electronic device
US9591033B2 (en) 2008-04-02 2017-03-07 Twilio, Inc. System and method for processing media requests during telephony sessions
US9588974B2 (en) 2014-07-07 2017-03-07 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US9614972B2 (en) 2012-07-24 2017-04-04 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US9621733B2 (en) 2009-03-02 2017-04-11 Twilio, Inc. Method and system for a multitenancy telephone network
US9628624B2 (en) 2014-03-14 2017-04-18 Twilio, Inc. System and method for a work distribution service
US9641677B2 (en) 2011-09-21 2017-05-02 Twilio, Inc. System and method for determining and communicating presence information
US9648006B2 (en) 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
US9654647B2 (en) 2012-10-15 2017-05-16 Twilio, Inc. System and method for routing communications
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US9807244B2 (en) 2008-10-01 2017-10-31 Twilio, Inc. Telephony web event system and method
US9813395B2 (en) 2015-05-19 2017-11-07 Anvaya Solutions, Inc. System and method for authenticating and enabling an electronic device in an electronic system
US9811398B2 (en) 2013-09-17 2017-11-07 Twilio, Inc. System and method for tagging and tracking events of an application platform
US9853872B2 (en) 2013-09-17 2017-12-26 Twilio, Inc. System and method for providing communication platform metadata
US9907010B2 (en) 2014-04-17 2018-02-27 Twilio, Inc. System and method for enabling multi-modal communication
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
US9967224B2 (en) 2010-06-25 2018-05-08 Twilio, Inc. System and method for enabling real-time eventing
US9992608B2 (en) 2013-06-19 2018-06-05 Twilio, Inc. System and method for providing a communication endpoint information service
US10032016B2 (en) 2015-05-19 2018-07-24 Anvaya Solutions, Inc. System and method to cause an obfuscated non-functional device to transition to a starting functional state using a specified number of cycles
US10033617B2 (en) 2012-10-15 2018-07-24 Twilio, Inc. System and method for triggering on platform usage
US10051011B2 (en) 2013-03-14 2018-08-14 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US10057734B2 (en) 2013-06-19 2018-08-21 Twilio Inc. System and method for transmitting and receiving media messages
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
US10069773B2 (en) 2013-11-12 2018-09-04 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US10165015B2 (en) 2011-05-23 2018-12-25 Twilio Inc. System and method for real-time communication by using a client application communication protocol
US10320983B2 (en) 2012-06-19 2019-06-11 Twilio Inc. System and method for queuing a communication session
US10367639B2 (en) 2016-12-29 2019-07-30 Intel Corporation Graphics processor with encrypted kernels
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
US11637934B2 (en) 2010-06-23 2023-04-25 Twilio Inc. System and method for monitoring account usage on a platform
US11973835B2 (en) 2019-01-28 2024-04-30 Twilio Inc. System and method for managing media and signaling in a communication platform

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020163522A1 (en) * 2001-05-07 2002-11-07 Porter Allen J.C. Method and apparatus for maintaining secure and nonsecure data in a shared memory system
US20030135742A1 (en) * 2002-01-16 2003-07-17 Evans Glenn F. Secure video card methods and systems
US20030235303A1 (en) * 2002-06-24 2003-12-25 Evans Glenn F. Systems and methods for securing video card output
US20040071293A1 (en) * 2002-10-09 2004-04-15 Masato Yamamichi Encryption apparatus, decryption apparatus and encryption system
US20050074125A1 (en) * 2003-10-03 2005-04-07 Sony Corporation Method, apparatus and system for use in distributed and parallel decryption
US20070006169A1 (en) * 2005-06-30 2007-01-04 Alexander Iliev Method and apparatus for binding TPM keys to execution entities
US20070088959A1 (en) * 2004-12-15 2007-04-19 Cox Michael B Chipset security offload engine
US20090172331A1 (en) * 2007-12-31 2009-07-02 Balaji Vembu Securing content for playback
US7940934B2 (en) * 2005-09-21 2011-05-10 Broadcom Corporation System and method for securing computing management functions

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020163522A1 (en) * 2001-05-07 2002-11-07 Porter Allen J.C. Method and apparatus for maintaining secure and nonsecure data in a shared memory system
US20030135742A1 (en) * 2002-01-16 2003-07-17 Evans Glenn F. Secure video card methods and systems
US20030235303A1 (en) * 2002-06-24 2003-12-25 Evans Glenn F. Systems and methods for securing video card output
US20040071293A1 (en) * 2002-10-09 2004-04-15 Masato Yamamichi Encryption apparatus, decryption apparatus and encryption system
US20050074125A1 (en) * 2003-10-03 2005-04-07 Sony Corporation Method, apparatus and system for use in distributed and parallel decryption
US20070088959A1 (en) * 2004-12-15 2007-04-19 Cox Michael B Chipset security offload engine
US20070006169A1 (en) * 2005-06-30 2007-01-04 Alexander Iliev Method and apparatus for binding TPM keys to execution entities
US7940934B2 (en) * 2005-09-21 2011-05-10 Broadcom Corporation System and method for securing computing management functions
US20090172331A1 (en) * 2007-12-31 2009-07-02 Balaji Vembu Securing content for playback

Cited By (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11706349B2 (en) 2008-04-02 2023-07-18 Twilio Inc. System and method for processing telephony sessions
US11765275B2 (en) 2008-04-02 2023-09-19 Twilio Inc. System and method for processing telephony sessions
US9456008B2 (en) 2008-04-02 2016-09-27 Twilio, Inc. System and method for processing telephony sessions
US11575795B2 (en) 2008-04-02 2023-02-07 Twilio Inc. System and method for processing telephony sessions
US10986142B2 (en) 2008-04-02 2021-04-20 Twilio Inc. System and method for processing telephony sessions
US10893079B2 (en) 2008-04-02 2021-01-12 Twilio Inc. System and method for processing telephony sessions
US10893078B2 (en) 2008-04-02 2021-01-12 Twilio Inc. System and method for processing telephony sessions
US10694042B2 (en) 2008-04-02 2020-06-23 Twilio Inc. System and method for processing media requests during telephony sessions
US11831810B2 (en) 2008-04-02 2023-11-28 Twilio Inc. System and method for processing telephony sessions
US9906651B2 (en) 2008-04-02 2018-02-27 Twilio, Inc. System and method for processing media requests during telephony sessions
US9906571B2 (en) 2008-04-02 2018-02-27 Twilio, Inc. System and method for processing telephony sessions
US11283843B2 (en) 2008-04-02 2022-03-22 Twilio Inc. System and method for processing telephony sessions
US11611663B2 (en) 2008-04-02 2023-03-21 Twilio Inc. System and method for processing telephony sessions
US11444985B2 (en) 2008-04-02 2022-09-13 Twilio Inc. System and method for processing telephony sessions
US10560495B2 (en) 2008-04-02 2020-02-11 Twilio Inc. System and method for processing telephony sessions
US9591033B2 (en) 2008-04-02 2017-03-07 Twilio, Inc. System and method for processing media requests during telephony sessions
US11722602B2 (en) 2008-04-02 2023-08-08 Twilio Inc. System and method for processing media requests during telephony sessions
US11843722B2 (en) 2008-04-02 2023-12-12 Twilio Inc. System and method for processing telephony sessions
US9596274B2 (en) 2008-04-02 2017-03-14 Twilio, Inc. System and method for processing telephony sessions
US11856150B2 (en) 2008-04-02 2023-12-26 Twilio Inc. System and method for processing telephony sessions
US11665285B2 (en) 2008-10-01 2023-05-30 Twilio Inc. Telephony web event system and method
US9807244B2 (en) 2008-10-01 2017-10-31 Twilio, Inc. Telephony web event system and method
US10187530B2 (en) 2008-10-01 2019-01-22 Twilio, Inc. Telephony web event system and method
US11632471B2 (en) 2008-10-01 2023-04-18 Twilio Inc. Telephony web event system and method
US11005998B2 (en) 2008-10-01 2021-05-11 Twilio Inc. Telephony web event system and method
US10455094B2 (en) 2008-10-01 2019-10-22 Twilio Inc. Telephony web event system and method
US11641427B2 (en) 2008-10-01 2023-05-02 Twilio Inc. Telephony web event system and method
US9894212B2 (en) 2009-03-02 2018-02-13 Twilio, Inc. Method and system for a multitenancy telephone network
US11785145B2 (en) 2009-03-02 2023-10-10 Twilio Inc. Method and system for a multitenancy telephone network
US11240381B2 (en) 2009-03-02 2022-02-01 Twilio Inc. Method and system for a multitenancy telephone network
US9621733B2 (en) 2009-03-02 2017-04-11 Twilio, Inc. Method and system for a multitenancy telephone network
US10348908B2 (en) 2009-03-02 2019-07-09 Twilio, Inc. Method and system for a multitenancy telephone network
US10708437B2 (en) 2009-03-02 2020-07-07 Twilio Inc. Method and system for a multitenancy telephone network
US10554825B2 (en) 2009-10-07 2020-02-04 Twilio Inc. System and method for running a multi-module telephony application
US9491309B2 (en) 2009-10-07 2016-11-08 Twilio, Inc. System and method for running a multi-module telephony application
US11637933B2 (en) 2009-10-07 2023-04-25 Twilio Inc. System and method for running a multi-module telephony application
US9459925B2 (en) * 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US11637934B2 (en) 2010-06-23 2023-04-25 Twilio Inc. System and method for monitoring account usage on a platform
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US20120209968A1 (en) * 2010-06-23 2012-08-16 Twilio, Inc. System and method for managing a computing cluster
US11936609B2 (en) 2010-06-25 2024-03-19 Twilio Inc. System and method for enabling real-time eventing
US11088984B2 (en) 2010-06-25 2021-08-10 Twilio Ine. System and method for enabling real-time eventing
US9967224B2 (en) 2010-06-25 2018-05-08 Twilio, Inc. System and method for enabling real-time eventing
US9882942B2 (en) 2011-02-04 2018-01-30 Twilio, Inc. Method for processing telephony sessions of a network
US10230772B2 (en) 2011-02-04 2019-03-12 Twilio, Inc. Method for processing telephony sessions of a network
US11032330B2 (en) 2011-02-04 2021-06-08 Twilio Inc. Method for processing telephony sessions of a network
US11848967B2 (en) 2011-02-04 2023-12-19 Twilio Inc. Method for processing telephony sessions of a network
US9455949B2 (en) 2011-02-04 2016-09-27 Twilio, Inc. Method for processing telephony sessions of a network
US10708317B2 (en) 2011-02-04 2020-07-07 Twilio Inc. Method for processing telephony sessions of a network
US9648006B2 (en) 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
US10819757B2 (en) 2011-05-23 2020-10-27 Twilio Inc. System and method for real-time communication by using a client application communication protocol
US9398622B2 (en) 2011-05-23 2016-07-19 Twilio, Inc. System and method for connecting a communication to a client
US11399044B2 (en) 2011-05-23 2022-07-26 Twilio Inc. System and method for connecting a communication to a client
US10560485B2 (en) 2011-05-23 2020-02-11 Twilio Inc. System and method for connecting a communication to a client
US10165015B2 (en) 2011-05-23 2018-12-25 Twilio Inc. System and method for real-time communication by using a client application communication protocol
US10122763B2 (en) 2011-05-23 2018-11-06 Twilio, Inc. System and method for connecting a communication to a client
US10841421B2 (en) 2011-09-21 2020-11-17 Twilio Inc. System and method for determining and communicating presence information
US9942394B2 (en) 2011-09-21 2018-04-10 Twilio, Inc. System and method for determining and communicating presence information
US9641677B2 (en) 2011-09-21 2017-05-02 Twilio, Inc. System and method for determining and communicating presence information
US10182147B2 (en) 2011-09-21 2019-01-15 Twilio Inc. System and method for determining and communicating presence information
US10686936B2 (en) 2011-09-21 2020-06-16 Twilio Inc. System and method for determining and communicating presence information
US11489961B2 (en) 2011-09-21 2022-11-01 Twilio Inc. System and method for determining and communicating presence information
US10212275B2 (en) 2011-09-21 2019-02-19 Twilio, Inc. System and method for determining and communicating presence information
US11093305B2 (en) 2012-02-10 2021-08-17 Twilio Inc. System and method for managing concurrent events
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
US10467064B2 (en) 2012-02-10 2019-11-05 Twilio Inc. System and method for managing concurrent events
US11165853B2 (en) 2012-05-09 2021-11-02 Twilio Inc. System and method for managing media in a distributed communication network
US10200458B2 (en) 2012-05-09 2019-02-05 Twilio, Inc. System and method for managing media in a distributed communication network
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US10637912B2 (en) 2012-05-09 2020-04-28 Twilio Inc. System and method for managing media in a distributed communication network
US10320983B2 (en) 2012-06-19 2019-06-11 Twilio Inc. System and method for queuing a communication session
US11546471B2 (en) 2012-06-19 2023-01-03 Twilio Inc. System and method for queuing a communication session
US9948788B2 (en) 2012-07-24 2018-04-17 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US10469670B2 (en) 2012-07-24 2019-11-05 Twilio Inc. Method and system for preventing illicit use of a telephony platform
US11063972B2 (en) 2012-07-24 2021-07-13 Twilio Inc. Method and system for preventing illicit use of a telephony platform
US11882139B2 (en) 2012-07-24 2024-01-23 Twilio Inc. Method and system for preventing illicit use of a telephony platform
US9614972B2 (en) 2012-07-24 2017-04-04 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US11246013B2 (en) 2012-10-15 2022-02-08 Twilio Inc. System and method for triggering on platform usage
US10033617B2 (en) 2012-10-15 2018-07-24 Twilio, Inc. System and method for triggering on platform usage
US11689899B2 (en) 2012-10-15 2023-06-27 Twilio Inc. System and method for triggering on platform usage
US10757546B2 (en) 2012-10-15 2020-08-25 Twilio Inc. System and method for triggering on platform usage
US9654647B2 (en) 2012-10-15 2017-05-16 Twilio, Inc. System and method for routing communications
US10257674B2 (en) 2012-10-15 2019-04-09 Twilio, Inc. System and method for triggering on platform usage
US11595792B2 (en) 2012-10-15 2023-02-28 Twilio Inc. System and method for triggering on platform usage
US10560490B2 (en) 2013-03-14 2020-02-11 Twilio Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US11032325B2 (en) 2013-03-14 2021-06-08 Twilio Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US10051011B2 (en) 2013-03-14 2018-08-14 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US11637876B2 (en) 2013-03-14 2023-04-25 Twilio Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9992608B2 (en) 2013-06-19 2018-06-05 Twilio, Inc. System and method for providing a communication endpoint information service
US10057734B2 (en) 2013-06-19 2018-08-21 Twilio Inc. System and method for transmitting and receiving media messages
US9483328B2 (en) 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
US9853872B2 (en) 2013-09-17 2017-12-26 Twilio, Inc. System and method for providing communication platform metadata
US11539601B2 (en) 2013-09-17 2022-12-27 Twilio Inc. System and method for providing communication platform metadata
US10671452B2 (en) 2013-09-17 2020-06-02 Twilio Inc. System and method for tagging and tracking events of an application
US11379275B2 (en) 2013-09-17 2022-07-05 Twilio Inc. System and method for tagging and tracking events of an application
US10439907B2 (en) 2013-09-17 2019-10-08 Twilio Inc. System and method for providing communication platform metadata
US9959151B2 (en) 2013-09-17 2018-05-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
US9811398B2 (en) 2013-09-17 2017-11-07 Twilio, Inc. System and method for tagging and tracking events of an application platform
US10069773B2 (en) 2013-11-12 2018-09-04 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US11621911B2 (en) 2013-11-12 2023-04-04 Twillo Inc. System and method for client communication in a distributed telephony network
US10686694B2 (en) 2013-11-12 2020-06-16 Twilio Inc. System and method for client communication in a distributed telephony network
US11831415B2 (en) 2013-11-12 2023-11-28 Twilio Inc. System and method for enabling dynamic multi-modal communication
US11394673B2 (en) 2013-11-12 2022-07-19 Twilio Inc. System and method for enabling dynamic multi-modal communication
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US10063461B2 (en) 2013-11-12 2018-08-28 Twilio, Inc. System and method for client communication in a distributed telephony network
US9628624B2 (en) 2014-03-14 2017-04-18 Twilio, Inc. System and method for a work distribution service
US11882242B2 (en) 2014-03-14 2024-01-23 Twilio Inc. System and method for a work distribution service
US11330108B2 (en) 2014-03-14 2022-05-10 Twilio Inc. System and method for a work distribution service
US10904389B2 (en) 2014-03-14 2021-01-26 Twilio Inc. System and method for a work distribution service
US10291782B2 (en) 2014-03-14 2019-05-14 Twilio, Inc. System and method for a work distribution service
US10003693B2 (en) 2014-03-14 2018-06-19 Twilio, Inc. System and method for a work distribution service
US10873892B2 (en) 2014-04-17 2020-12-22 Twilio Inc. System and method for enabling multi-modal communication
US9907010B2 (en) 2014-04-17 2018-02-27 Twilio, Inc. System and method for enabling multi-modal communication
US11653282B2 (en) 2014-04-17 2023-05-16 Twilio Inc. System and method for enabling multi-modal communication
US10440627B2 (en) 2014-04-17 2019-10-08 Twilio Inc. System and method for enabling multi-modal communication
US10229126B2 (en) 2014-07-07 2019-03-12 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US11768802B2 (en) 2014-07-07 2023-09-26 Twilio Inc. Method and system for applying data retention policies in a computing platform
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US10757200B2 (en) 2014-07-07 2020-08-25 Twilio Inc. System and method for managing conferencing in a distributed communication network
US10212237B2 (en) 2014-07-07 2019-02-19 Twilio, Inc. System and method for managing media and signaling in a communication platform
US9588974B2 (en) 2014-07-07 2017-03-07 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US11755530B2 (en) 2014-07-07 2023-09-12 Twilio Inc. Method and system for applying data retention policies in a computing platform
US9553900B2 (en) 2014-07-07 2017-01-24 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US10747717B2 (en) 2014-07-07 2020-08-18 Twilio Inc. Method and system for applying data retention policies in a computing platform
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US10116733B2 (en) 2014-07-07 2018-10-30 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US11341092B2 (en) 2014-07-07 2022-05-24 Twilio Inc. Method and system for applying data retention policies in a computing platform
US9858279B2 (en) 2014-07-07 2018-01-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US9906607B2 (en) 2014-10-21 2018-02-27 Twilio, Inc. System and method for providing a micro-services communication platform
US10637938B2 (en) 2014-10-21 2020-04-28 Twilio Inc. System and method for providing a micro-services communication platform
US9509782B2 (en) 2014-10-21 2016-11-29 Twilio, Inc. System and method for providing a micro-services communication platform
US9749428B2 (en) 2014-10-21 2017-08-29 Twilio, Inc. System and method for providing a network discovery service platform
US11019159B2 (en) 2014-10-21 2021-05-25 Twilio Inc. System and method for providing a micro-services communication platform
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
US9805399B2 (en) 2015-02-03 2017-10-31 Twilio, Inc. System and method for a media intelligence platform
US11544752B2 (en) 2015-02-03 2023-01-03 Twilio Inc. System and method for a media intelligence platform
US10467665B2 (en) 2015-02-03 2019-11-05 Twilio Inc. System and method for a media intelligence platform
US10853854B2 (en) 2015-02-03 2020-12-01 Twilio Inc. System and method for a media intelligence platform
US10560516B2 (en) 2015-05-14 2020-02-11 Twilio Inc. System and method for signaling through data storage
US11272325B2 (en) 2015-05-14 2022-03-08 Twilio Inc. System and method for communicating through multiple endpoints
US11265367B2 (en) 2015-05-14 2022-03-01 Twilio Inc. System and method for signaling through data storage
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US10129037B2 (en) 2015-05-19 2018-11-13 Anvaya Solutions, Inc. System and method for authenticating and enabling functioning of a manufactured electronic device
US10628575B2 (en) 2015-05-19 2020-04-21 Anvaya Solutions, Inc. System and method to cause an obfuscated non-functional device to transition to a starting functional state using a specified number of cycles
US10771442B2 (en) 2015-05-19 2020-09-08 Anvaya Solutions, Inc. System and method for authenticating and enabling an electronic device in an electronic system
US9569601B2 (en) 2015-05-19 2017-02-14 Anvaya Solutions, Inc. System and method for authenticating and enabling functioning of a manufactured electronic device
US9813395B2 (en) 2015-05-19 2017-11-07 Anvaya Solutions, Inc. System and method for authenticating and enabling an electronic device in an electronic system
US10250577B2 (en) 2015-05-19 2019-04-02 Anvaya Solutions, Inc. System and method for authenticating and enabling an electronic device in an electronic system
US9825766B2 (en) 2015-05-19 2017-11-21 Anvaya Solutions, Inc. System and method for authenticating and enabling functioning of a manufactured electronic device
US9906507B2 (en) 2015-05-19 2018-02-27 Anvaya Solutions, Inc. System and method for authenticating and enabling an electronic device in an electronic system
US10032016B2 (en) 2015-05-19 2018-07-24 Anvaya Solutions, Inc. System and method to cause an obfuscated non-functional device to transition to a starting functional state using a specified number of cycles
US11171865B2 (en) 2016-02-04 2021-11-09 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
US11622022B2 (en) 2016-05-23 2023-04-04 Twilio Inc. System and method for a multi-channel notification service
US11076054B2 (en) 2016-05-23 2021-07-27 Twilio Inc. System and method for programmatic device connectivity
US10440192B2 (en) 2016-05-23 2019-10-08 Twilio Inc. System and method for programmatic device connectivity
US11265392B2 (en) 2016-05-23 2022-03-01 Twilio Inc. System and method for a multi-channel notification service
US11627225B2 (en) 2016-05-23 2023-04-11 Twilio Inc. System and method for programmatic device connectivity
US10367639B2 (en) 2016-12-29 2019-07-30 Intel Corporation Graphics processor with encrypted kernels
US11018863B2 (en) 2016-12-29 2021-05-25 Intel Corporation Graphics processor with encrypted kernels
US11973835B2 (en) 2019-01-28 2024-04-30 Twilio Inc. System and method for managing media and signaling in a communication platform

Also Published As

Publication number Publication date
US9589159B2 (en) 2017-03-07

Similar Documents

Publication Publication Date Title
US9589159B2 (en) Creating secure communication channels between processing elements
CN111181720B (en) Service processing method and device based on trusted execution environment
US10582256B2 (en) Method and apparatus for building a hardware root of trust and providing protected content processing within an open computing platform
CN110214440B (en) Computing system, method for transmitting protected data and readable storage medium
CN110249332B (en) Addressing trusted execution environments using encryption keys
JP7416775B2 (en) Peripheral device
US9954826B2 (en) Scalable and secure key management for cryptographic data processing
CN110249336B (en) Addressing trusted execution environments using signing keys
US9990473B2 (en) Method and apparatus for policy-based content sharing in a peer to peer manner using a hardware based root of trust
US11251942B2 (en) Secure communication channel between encryption/decryption component and trusted execution environment
US8165304B2 (en) Domain digital rights management system, license sharing method for domain digital rights management system, and license server
US20140068238A1 (en) Arbitrary Code Execution and Restricted Protected Storage Access to Trusted Code
JP2007525913A (en) Method, apparatus and computer program product for sharing encryption key among embedded agents at network endpoints in a network domain
US7636441B2 (en) Method for secure key exchange
US8538890B2 (en) Encrypting a unique cryptographic entity
CN110235134B (en) Addressing trusted execution environments using clean room provisioning
JP2017525236A (en) Ensuring communication safety with enhanced media platform
US11783091B2 (en) Executing entity-specific cryptographic code in a cryptographic coprocessor
US11496287B2 (en) Privacy preserving fully homomorphic encryption with circuit verification
EP4016921A1 (en) Certificate management method and apparatus
US20210111901A1 (en) Executing entity-specific cryptographic code in a trusted execution environment
EP3525391A1 (en) Device and method for key provisioning
JP7385025B2 (en) Execution of Entity-Specific Cryptographic Code in a Cryptographic Coprocessor
WO2023218514A1 (en) Calculation result distribution device, calculation result protection system, and calculation result distribution method
CN116962845A (en) Multimedia playing method and device for virtual system

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTEL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VEMBU, BALAJI;NAVALE, ADITYA;SADHASIVAN, SATHYAMURTHI;REEL/FRAME:023212/0850

Effective date: 20090619

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4