DE202015009799U1 - Sicherheits-Plug-In für eine System-on-a-Chip-Plattform - Google Patents

Sicherheits-Plug-In für eine System-on-a-Chip-Plattform Download PDF

Info

Publication number
DE202015009799U1
DE202015009799U1 DE202015009799.5U DE202015009799U DE202015009799U1 DE 202015009799 U1 DE202015009799 U1 DE 202015009799U1 DE 202015009799 U DE202015009799 U DE 202015009799U DE 202015009799 U1 DE202015009799 U1 DE 202015009799U1
Authority
DE
Germany
Prior art keywords
cryptographic
component
message
security
connection
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.)
Active
Application number
DE202015009799.5U
Other languages
English (en)
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
Publication of DE202015009799U1 publication Critical patent/DE202015009799U1/de
Active legal-status Critical Current
Anticipated 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/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
    • 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/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • G06F2211/008Public Key, Asymmetric Key, Asymmetric Encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • 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/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Vorrichtung für einen System-on-a-Chip, wobei die Vorrichtung umfasst:eine kryptographische Schaltung, die enthält:eine Vielzahl kryptographischer Maschinen, die eine erste kryptographische Maschine enthalten, wobei die Vielzahl kryptographischer Maschinen jeweils Advanced Encryption Standard (AES) implementieren; undeine Standardschnittstelle, die für die Vielzahl kryptographischer Maschinen generisch ist, wobei im Betrieb unverschlüsselte Nachrichten von einer Initiatorkomponente, die von einer System-on-a-Chip-Verbindungsschnittstelle empfangen werden, über die Standardschnittstelle an die Vielzahl kryptographischer Maschinen bereitgestellt werden, um verschlüsselte Nachrichten zu erzeugen, die an eine Zielkomponente übertragen werden,wobei die Standardschnittstelle dazu dient, jede der unverschlüsselten Nachrichten für eine Schnittstelle einer zugeordneten kryptographischen Maschine der Vielzahl kryptographischer Maschinen zu übersetzen, wodurch jede der Vielzahl kryptographischer Maschinen für eine Verbindung des System-on-a-Chips verfügbar gemacht wird;eine kryptographische Steuereinrichtung zum Verwalten eines kryptographischen Schlüssels, der von der ersten kryptographischen Maschine zum Erzeugen einer verschlüsselten Nachricht verwendet wird, wobei die kryptographische Steuereinrichtung Schlüsselaushandlung mit einer anderen Komponente durchführt; undeine kryptographische Zustandsverwaltungseinrichtung zum Verwalten von kryptographischen Sitzungszuständen einer kryptographischen Sitzung zwischen der Initiatorkomponente und der Zielkomponente, wobei die kryptographische Zustandsverwaltungseinrichtung eine Datenstruktur pflegt, wobei die Datenstruktur ein Feld für einen Sitzungsschlüssel enthält.

Description

  • PRIORITÄTSBEANSPRUCHUNG
  • Diese Anmeldung beansprucht den Nutzen von einer US-amerikanischen Patentanmeldung mit Nr. 14/577,812 , die am 19 Dezember 2014 eingereicht wurde und die hier durch Verweis in ihrer Gesamtheit aufgenommen wird.
  • TECHNISCHES GEBIET
  • Die hier beschriebenen Ausführungsformen beziehen sich im Allgemeinen auf eine System-on-a-Chip (SoC)-Verbindung und im Besonderen auf ein Sicherheitszusatzprogramm (Sicherheits-Plug-in) für eine SoC-Plattform.
  • HINTERGRUND
  • Ein SoC ist ein integrierter Schaltkreis (IC), der eine Reihe von Computerkomponenten auf einem einzigen Chipsubstrat enthält. Ein SoC kann eine beliebige Anzahl von Komponentenblöcken (z. B. Blöcke mit geistigem Eigentum oder IP-Blöcke), hier als SoC-Komponenten bezeichnet, enthalten, die eine Funktion wie zum Beispiel Graphikverarbeitung, Speicherverwaltung, allgemeine oder spezielle Verarbeitung usw. durchführen. Der SoC kann auch eine Struktur (Fabric) enthalten, um die verschiedenen SoC-Komponenten miteinander (z. B. Intra-Chip-Kommunikation) oder mit Komponenten außerhalb des SoC (z. B. Inter-Chip-Kommunikation) über eine Verbindung (z. B. Bus) zu verbinden. Verbindungsendpunkte können die SoC-Komponenten mit der Verbindung verbinden, z. B. durch Paketieren von Daten der SoC-Komponenten in Verbindungsnachrichten zur Übertragung auf der Verbindung und Entpaketieren von Verbindungsnachrichten zur Übertragung an die SoC-Komponenten.
  • Figurenliste
  • In den Zeichnungen, die nicht unbedingt maßstabsgerecht gezeichnet sind, können gleiche Ziffern ähnliche Komponenten in verschiedenen Ansichten beschreiben. Gleiche Ziffern mit unterschiedlichen Buchstaben-Suffixen können verschiedene Instanzen von ähnlichen Komponenten veranschaulichen. Die Zeichnungen veranschaulichen allgemein als Beispiele, aber nicht als Einschränkung verschiedene Ausführungsformen, die in dem vorliegenden Dokument diskutiert werden.
    • 1 ist ein Blockdiagramm eines Beispiels eines Systems für ein Sicherheits-Plug-in für eine SoC-Plattform in Übereinstimmung mit einer Ausführungsform.
    • 2 veranschaulicht ein Beispiel eines Datenflusses in einem System für ein Sicherheits-Plug-in für eine SoC-Plattform in Übereinstimmung mit einer Ausführungsform.
    • 3-6 veranschaulichen Beispiele von Verbindungsnachrichten in einem System für ein Sicherheits-Plug-in für eine SoC-Plattform in Übereinstimmung mit einer Ausführungsform.
    • 7 ist ein Swimlane-Flussdiagramm, das ein Beispiel für ein Verfahren für ein Sicherheits-Plug-in für eine SoC-Plattform in Übereinstimmung mit einer Ausführungsform veranschaulicht.
    • 8 ist ein Blockdiagramm, das ein Beispiel einer Maschine veranschaulicht, auf der eine oder mehrere Ausführungsformen realisiert werden können.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Mit der sich abzeichnenden Dominanz der SoCs auf dem Markt werden SoC-Plattformen zu hochentwickelten und umfassenden Plattformen, die eine große Anzahl von SoC-Komponenten umfassen, die von Video-/Audio-/Bildverarbeitung über eine Vielzahl von Sensoren bis hin zu den Low-Level-Allzweck-Prozessoren und Input-Output-Schnittstellen reichen. SoC-Komponenten mit fester Funktion und programmierbare SoC-Komponenten ermöglichen Herstellern, auf dem Markt Spezialisierungen zu bieten.
  • SoC-Komponenten können zur Verwendung in mehreren Plattformen konzipiert und implementiert sein, bevor die Sicherheitsanforderungen einer bestimmten Plattform definiert sind. Dieser Designzyklus kann es für die Designer von SoC-Komponenten zu einer Herausforderung machen, die Merkmale zu bestimmen, die in eine bestimmte SoC-Komponente integriert werden müssen, um Sicherheitsanforderungen der Zielplattform zu erfüllen. Da Plattform-Eigenschaften (Schlüssel, Konfigurationswert usw.) über die Strukturen/Verbindungen von einem IP-Block zum anderen transportiert werden, werden Integrität und Vertraulichkeit von Daten kritisch. Beispielhafte Sicherheitsanforderungen für die Zielplattform können Ansprechen auf Intra-Chip-Angriffe - z. B. Nachrichten-Sniffing oder -Modifikation an der Verbindung zwischen zwei SoC-Komponenten unter Verwendung beispielsweise von Debugging-Hardware oder -Software - oder Ansprechen auf Inter-Chip-Angriffe - z. B. Sniffen oder Modifizieren von Nachrichten zwischen einer SoC-Komponente auf einem ersten SoC und einer SoC-Komponente auf einem zweiten SoC über eine Inter-Chip-Verbindung - beinhalten.
  • Inzwischen treibt die SoC-Konvergenz durch Definition einer gemeinsamen Struktur, einschließlich einer Komponentenverbindung, Wiederverwendung und schnelle Integration von SoC-Komponenten über eine Vielzahl von SoC-Plattformen hinweg voran, die von Telefonen/Tablets/Mikro-Servern bis hin zu Client/Server-Plattformen reichen. Daher wurden die folgenden Beispielprobleme identifiziert:
    • • SoC-Plattform (z. B. 14nm-Transistorprozess) erfordert eine spezielle SoC-Komponente, die eine Krypto-Schaltung aufweist, die auf einer älteren Generation von Prozesstechnologie (z. B. 45nm-Transistorprozess) aufbaut ist. Dies führt zu einer weniger optimierten Plattform.
    • • SoC-Komponenten, die von verschiedenen Gruppen entwickelt wurden, können inkonsistente Sicherheitsimplementierungen haben, da einige mehr optimierte Schaltungen mit einer soliden Sicherheitsanwendung verwenden und andere mit einem Ad-hoc-/angepassten Krypto-Design enden.
    • • Angesichts der Vielfalt von SoC-Strukturen erfordert Integrieren der SoC-Komponenten zu entwickelnde Wrapper und Brücken, die dem Die-Bereich hinzugefügt werden und zusätzliche Ressourcen für Implementierung und Validierung erfordern.
    • • Integrieren von Krypto/Sicherheit für die SoC-Komponente basierend auf den Sicherheitsanforderungen der Zielplattform wird zu einer lästigen Aufgabe.
  • Infolgedessen ist Implementierung von Sicherheitsmerkmalen hinsichtlich der Auswirkungen auf den Zeitplan ein harter Kampf, und es kann sein, dass sie nicht rechtzeitig zur Vermarktung des Produkts kommt. Um diese Probleme zu lösen, kann ein modulares und skalierbares Mikroarchitektur-Sicherheits-Plug-in (z. B. Sicherheitskomponente oder Sicherheitsblock) als SoC-Komponente mit einer Vielzahl von kryptographischen Maschinen verwendet werden, die über eine Standardschnittstelle zur SoC-Verbindungsstruktur zur Verfügung stehen. Wie hier verwendet, ist das Sicherheits-Plug-in ein in Hardware implementierter Funktionsblock in einer SoC-Plattform. Durch die Verwendung einer Standardschnittstelle können verschiedene kryptographische Maschinen ausgewählt werden, um Sicherheits- und Herstellungsziele zu erreichen, ohne dass andere SoC-Komponenten neu entworfen werden müssen. Beispielsweise können SoC-Designer zwischen vier oder fünf verschiedenen Implementierungen von SoC-Komponenten für den Advanced Encryption Standard (AES) wählen. Ohne das Sicherheits-Plug-in kann jede Implementierung unterschiedliche Schnittstellen haben, die das SoC-Integrationsteam berücksichtigen muss, um eine Implementierung zu integrieren. Dies kann Herausforderungen für ihre Markteinführung darstellen. Mit der beschriebenen Kryptographie-Maschine können die SoC-Integratoren jedoch jede der Implementierungen auswählen, ohne die Verbindungen anderer SoC-Komponenten neu zu entwerfen. So braucht das SoC-Integrationsteam keine Zeit auf die Interna einer Sicherheitsschaltung oder die Busschnittstelle zwischen Sicherheitsschaltung und einer Steuereinrichtung verschwenden. Stattdessen könnten sie eine geeignete Richtlinie auf der Grundlage ihrer Sicherheits- und Herstellungsziele - wie z. B. einen Verschlüsselungsdurchsatz, Energieverbrauch, Die-Größe, Kosten usw. - auswählen und das Sicherheits-Plug-in instanziieren, das diese Ziele ohne zusätzliches Design erfüllt. Durch Integration des Plug-ins an SoC-verbundenen Endpunkten brauchen sich die einzelnen SoC-Komponenten nicht um die Sicherheit kümmern, da die gesamten Kommunikationen von der Sicherheit des beschriebenen Plug-ins profitieren. Weitere Einzelheiten werden unten aufgeführt.
  • 1 ist ein Blockdiagramm eines Beispiels eines System 100 für ein Sicherheits-Plug-in für eine SoC-Plattform in Übereinstimmung mit einer Ausführungsform. Das System 100 kann einen ersten SoC-Die 105 und einen zweiten SoC-Die 175 enthalten, die über eine Verbindung (Interconnect) 170 verbunden sind. Der erste SoC-Die 105 kann eine Vielzahl von SoC-Komponenten (z. B. Komponente A 110, Komponente B 115 und Komponente C 120) enthalten, die über einen Verbindungsendpunkt 125 kommunikationsfähig miteinander oder mit anderen Komponenten außerhalb des Die (z. B. Komponente D 195 des zweiten SoC-Die) gekoppelt sind. Der Verbindungsendpunkt 125 kann eine Sicherheitskomponente 130, einen einer Komponente zugewandten Transceiver 155, eine Sicherheitsverbindung 160 und einen Verbindungspaketierer 165 enthalten. Ähnlich dem ersten SoC-Die 105 kann der zweite SoC-Die 175 eine oder mehrere SoC-Komponenten (z. B. Komponente D 195) und Verbindungsendpunkt 180 enthalten. Ähnlich dem Verbindungsendpunkt 125 kann der Verbindungsendpunkt 180 eine Sicherheitskomponente 185, einen Verbindungspaketierer 186, eine Sicherheitsverbindung 187 und einen einer Komponente zugewandten Transceiver 188 enthalten. Bei einem Beispiel spiegeln die Komponenten des Verbindungsendpunkts 180 und der Sicherheitskomponente 185 jeweils die des Verbindungsendpunkts 125 und der Sicherheitskomponente 130 wider.
  • Der einer Komponente zugewandte Transceiver 155 kann so angeordnet sein (z. B. konfiguriert, konstruiert, gefertigt, strukturiert usw.), dass er Komponentennachrichten an Komponenten (z. B. Komponente A 110, Komponente B 115, Komponente C 120 oder Komponente D 195) senden oder empfangen kann. Wie hier verwendet, handelt es sich bei Komponentennachrichten um Kommunikationen zwischen einzelnen SoC-Komponenten und Verbindungsendpunkt 125, wie zum Beispiel eine Register-Lese- oder -Schreib-Nachricht (z. B. in ein im Speicher abgebildetes Ein-/Ausgabe-Register) oder eine Nachricht für direkten Speicherzugriff (Direct Memory Access, DMA).
  • Die Sicherheitsverbindung 160 kann so angeordnet sein, dass sie die Nachrichten-Pipeline des einer Komponente zugewandten Transceivers 155 und des Verbindungspaketierers 165 mit der Sicherheitskomponente 130 verbindet. Die Sicherheitsverbindung 160 kann einer Standardschnittstelle der Sicherheitskomponente 130 entsprechen. Während des Betriebs kann eine Komponentennachricht, die von dem einer Komponente zugewandten Transceiver 155 oder von der Verbindung 170 am Verbindungspaketierer 165 empfangen wird, an die Sicherheitskomponente 130 geleitet werden, um die Nachricht zu verschlüsseln bzw. zu entschlüsseln, bevor sie zu ihrem Ziel weiter geht. Bei einem Beispiel kann eine Verbindungsnachrichtenkopf-Analyseeinrichtung in der Sicherheitskomponente 130, der Sicherheitsverbindung 160 oder an anderer Stelle im Verbindungsendpunkt 125 vorhanden sein, um einen Verbindungsnachrichtenkopf zu lesen und zu bestimmen, ob es sich um eine verschlüsselte Nachricht handelt, und um die Sicherheitskomponente 130 zu veranlassen, die Nachricht zu entschlüsseln oder zu authentifizieren, wenn es sich um eine verschlüsselte Nachricht handelt.
  • Der Verbindungspaketierer 165 kann so eingerichtet sein, dass er eine Komponentennachricht in eine Verbindungsnachricht und umgekehrt umwandelt. Eine Verbindungsnachricht ist, wie hier verwendet, so strukturiert, dass sie einem Nachrichtenstandard der Verbindung 170 entspricht. Beispielhafte Nachrichten sind in den 3-6 veranschaulicht, einschließlich einer einfachen Verbindungsnachricht in 3.
  • Die Sicherheitskomponente 130 kann eine kryptographische Schaltung 135, eine kryptographische Steuereinrichtung 140 und eine Zustandsverwaltungseinrichtung 145 enthalten. Bei einem Beispiel kann die Sicherheitskomponente eine Zugriffssteuereinrichtung 150 enthalten. Die kryptographische Schaltung 135 kann eine kryptographische Maschine enthalten, die aus einer Vielzahl von kryptographischen Maschinen ausgewählt wurde. Zum Beispiel kann eine Bibliothek von kryptographischen SoC-Komponenten-Maschinen für SoC-Designer zur Verfügung stehen. Während des SoC-Designs können die Designer ein oder mehrere Sicherheits- oder Herstellungsziele haben. Eine Richtlinie kann diese Ziele verkörpern und auf die Eigenschaften der kryptographischen Maschine angewendet werden, um eine geeignete Maschine auszuwählen. Beispielhafte Ziele können Kosten, Die-Größe, Energieverbrauch, Datendurchsatz, kryptographische Stärke etc. sein. Beispielsweise kann eine Vielzahl von kryptographischen Maschinen AES implementieren. AES-Implementierungen können Bandbreitenanforderungen entsprechen, wie z. B. mehr als zehn Gigabit pro Sekunde (Gbps) für Implementierung mit hoher Leistung, die im Allgemeinen eine große Die-Größe verwendet oder viel Energie verbraucht, mehr als 100 Megabit pro Sekunde (Mbps) für Implementierung mit mittlerer Leistung, die eine kleinere Die-Größe hat oder weniger Energie verbraucht als die Implementierung für hohe Leistung, und etwa ein Mbps für Implementierung mit kleiner Die-Größe (z. B. etwa 10.000 Gates). Wenn also die SoC-Spezifikation eine Verschlüsselungsbandbreite von einem Gbps erfordert, kann eine Implementierung, die diesem Durchsatz entspricht, von den SoC-Integratoren mit einem Medium, das den AES-Block durchführt, instanziiert werden.
  • Die Bibliothek von kryptographischen Maschinen kann auch Maschinen enthalten, die andere Sicherheitsoperationen durchführen, wie z. B. Hash-Funktionen, Integritäts-Maschinen (z. B. Message Authentication Code (MAC)-Maschine) oder Operationen mit einem öffentlichen Schlüssel (Rivest-Shamir-Adleman-Kryptosystem (RSA), Kryptographie mit elliptischen Kurven (ECC) usw.). Bei einem Beispiel kann die kryptographische Schaltung 135 eine Integritäts-Maschine enthalten, die aus einer Vielzahl von Integritäts-Maschinen ausgewählt wurde, und die Standardschnittstelle ist für die Vielzahl der Integritäts-Maschinen generisch. Die Standardschnittstelle verbindet also die Nachrichten-Pipeline des Verbindungsendpunkts 125 mit der kryptographischen Maschine und der Integritäts-Maschine oder mit beiden. Bei einem Beispiel kann die Vielzahl der kryptographischen Maschinen oder der Integritäts-Maschinen durch mindestens eine der folgenden klassifiziert werden: Die-Größe, Energieverbrauch, Kosten, Durchsatzleistung (z. B. Bits pro Sekunde), kryptographische Leistung (z. B. Schwierigkeitsgrad zum Knacken), Herstellungsüberlegungen (z. B. unterschiedliche Merkmalsgrößen) usw. Diese Klassifizierungen können verwendet werden, um die kryptographische Maschine oder die Integritäts-Maschine auszuwählen, um die Designziele der SoC-Designer zu erfüllen.
  • Die kryptographische Schaltung kann auch eine Standardschnittstelle enthalten, die für die Vielzahl der kryptographischen Maschinen generisch ist. Die Standardschnittstelle kann bidirektional zwischen der kryptographischen Maschine und einem Anforderer sein (z. B. der Sicherheitsverbindung 160). Die Generizität für die Vielzahl möglicher kryptographischer Maschinen erlaubt es SoC-Designern, eine bestimmte kryptographische Maschine zu fast jeder Zeit während des SoC-Designs auszuwählen, da zusätzliche Verbindungsschnittstellen, Wrapper etc. nicht notwendig sind, um die kryptographische Maschine zu verwenden. Bei einem Beispiel ist die Standardschnittstelle ein Nachrichtenbus, in dem Anfragen an bestimmte kryptographische Maschinen übertragen und in eine bestimmte Hardwareschnittstelle der kryptographischen Maschine übersetzt werden.
  • Die kryptographische Steuereinrichtung 140 kann so eingerichtet sein, dass sie einen kryptographischen Schlüssel verwaltet, der von der kryptographischen Maschine verwendet wird. Bei einem Beispiel kann ein Saat (z. B. Initialisierungs) -Schlüssel der kryptographischen Steuereinrichtung 140, wenn sie hergestellt wird, zugewiesen werden. Bei einem Beispiel kann während des Betriebs des SoC die kryptographische Steuereinrichtung 140 so eingerichtet sein, dass sie die Schlüsselaushandlung mit anderen Endpunktkomponenten (z. B. der Sicherheitskomponente 185) durchführt, um zum Beispiel einen Sitzungsschlüssel zu erhalten. Bei einem Beispiel können kryptographische Schlüssel, einschließlich Sitzungsschlüssel, von feldprogrammierbaren Geräten, wie zum Beispiel feldprogrammierbaren Sicherungen, Festwertspeichern usw., erhalten werden. Bei einem Beispiel sind die Sitzungsschlüssel zwischen verschiedenen kryptographischen Sitzungen unterschiedlich. Die kryptographische Steuereinrichtung 140 stellt die kryptographischen Schlüssel an die kryptographische Schaltung bereit und kommuniziert mit der kryptographischen Zustandsverwaltungseinrichtung 145, um den Kommunikationssitzungszustand zu pflegen.
  • Die kryptographische Zustandsverwaltungseinrichtung kann so eingerichtet sein, dass sie kryptographische Sitzungszustände zwischen einer Initiatorkomponente (z. B. Komponente A 110) und einer Zielkomponente (z. B. Antworter) verwaltet. Bei einem Beispiel kann die kryptographische Zustandsverwaltungseinrichtung 145 eine Tabelle pflegen, um die kryptographischen Sitzungszustände zu verwalten. Bei einem Beispiel kann die Tabelle für jede kryptographische Sitzung einen Ziel-SoC-Komponentenbezeichner, eine Sequenznummer und Sitzungsschlüsselfelder enthalten. Im obigen Beispiel der unterschiedlichen Sitzungsschlüssel für verschiedene Sitzungen können Transaktionen an verschiedene SoC-Komponenten unterschiedliche Sitzungsschlüssel verwenden. Ein Kompromittieren einer Transaktion an Komponente D 195 wird daher eine Transaktion an Komponente B 115 nicht kompromittieren. Die Sequenznummer kann dazu verwendet werden, Replay-Angriffe zu vereiteln, um zu verhindern, dass frühere Sitzungsdaten zur Änderung des aktuellen Zustands der Sitzung verwendet werden. Bei einem Beispiel sind der Sitzungsschlüssel und/oder die Sequenznummer durch den Ziel-SoC-Komponentenbezeichner indiziert.
  • Die Zugriffssteuereinrichtung 150 kann so eingerichtet sein, dass sie Zugriffsrechte der SoC-Komponenten verwaltet. Die Zugriffssteuereinrichtung 150 kann eine Registrierung von Sicherheitsattributen der Initiatoren enthalten, die dazu eingerichtet ist, Zugriffsrechte der SoC-Komponenten zu speichern. Die Zugriffssteuereinrichtung 150 kann auch einen Filter enthalten, um eine Nachricht (z. B. entweder eine Komponentennachricht oder eine Verbindungsnachricht) zu blockieren, wenn festgestellt wird, dass eine Initiatorkomponente der Nachricht keinen Zugriff (z. B. zum Senden einer Nachricht) auf eine Zielkomponente hat, und zwar auf der Grundlage der Registrierung von Sicherheitsattributen der Initiatoren. Bei einem Beispiel kann die Zugriffssteuereinrichtung 150 auf einen Sicherheitsattribut-Index im Nachrichtenkopf zugreifen, um zu bestimmen, ob eine Nachrichtentransaktion zu erlauben ist oder nicht.
  • Durch Verwendung der Sicherheitskomponente 130, wie oben beschrieben, können die gesamten Inter- und Intra-SoC-Komponenten-Kommunikationen gesichert werden, ohne dass die SoC-Komponenten neu entworfen werden müssen. Damit arbeitet das System 100 anders als zum Beispiel die Anti-Piraterie-Hardwarekomponentenverschlüsselung (z. B. Verschlüsselung vom Graphikprozessor zum Bildschirmtreiber), die die Einhaltung der SoC-Komponentenebene erfordert. Das System 100 bietet eine sicherere Umgebung, da jede Kommunikation unter Verwendung einer kryptographischen Implementierung gesichert wird, die unabhängig von einzelnen SoC-Komponenten ist. Darüber hinaus ermöglicht die flexible Natur der kryptographischen Maschinen-Implementierung eine flexible Architektur, die Sicherheits- und Herstellungsziele erfüllt.
  • 2 veranschaulicht ein Beispiel eines Datenflusses in einem System 200 für ein Sicherheits-Plug-in für eine SoC-Plattform in Übereinstimmung mit einer Ausführungsform. Die Komponenten des Systems 200 können durch die oben mit Bezug auf 1 diskutierten Komponenten implementiert werden. Das System 200 kann eine Initiatorkomponente 205, einen Verbindungsendpunkt 210 mit einer Sicherheitskomponente 215, eine SoC-Struktur mit einer Verbindung 220, einen weiteren Verbindungsendpunkt 225 mit Sicherheitskomponente 230 und eine Zielkomponente 235 enthalten. Die durchgezogenen Pfeile kennzeichnen den Nachrichtenfluss innerhalb der Grenze eines Verbindungsendpunkts und einer SoC-Komponente. Diese Verknüpfung gehört einzig der SoC-Komponente und profitiert im Allgemeinen nicht von kryptographischen Schutzmaßnahmen. Die gepunkteten Linien kennzeichnen einen gesicherten Nachrichtenfluss (z. B. verschlüsselte oder gegen Manipulation gesicherte Nachricht), da die dargestellten Verknüpfungen nicht von der gegebenen SoC-Komponente kontrolliert werden.
  • Wie veranschaulicht, überträgt die Initiatorkomponente 205 eine Nachricht an den Verbindungsendpunkt 210, der die Initiatorkomponente bedient. Der Verbindungsendpunkt 205 kann die Nachricht an seine Sicherheitskomponente 215 leiten, um die Nachricht zu sichern, wodurch eine gesicherte Nachricht erstellt wird. Die gesicherte Nachricht kann an den Verbindungsendpunkt zurückgegeben werden, um in eine Verbindungsnachricht paketiert zu werden. Die Verbindungsnachricht kann über die Verbindung 220 an den Verbindungsendpunkt 225 übertragen werden. Der Verbindungsendpunkt 225 liest einen Kopf der Verbindungsnachricht und bestimmt, dass es sich um eine gesicherte Nachricht handelt. Als Reaktion auf diese Bestimmung leitet der Verbindungsendpunkt 225 die gesicherten Teile der Verbindungsnachricht an seine Sicherheitskomponente 230 weiter. Bei einem Beispiel kann die Sicherheitskomponente 230 mit der Sicherheitskomponente 215 aushandeln, den Sitzungsschlüssel für diese Transaktion zu diesem Zeitpunkt zu erhalten. Bei einem Beispiel kann die Aushandlung vom Sitzungsschlüssel jedoch zu irgendeinem Zeitpunkt zwischen dem Empfang der Anforderung bis Sichern der Komponentennachricht durch die Sicherheitskomponente 215 stattfinden und die Aushandlung vom Sitzungsschlüssel kann durch die Sicherheitskomponente 215 eingeleitet werden.
  • Bei einem Beispiel befinden sich die Verbindungsendpunkte 210 und 225 auf demselben SoC-Die (z, B. zum Durchführen der Intra-Chip-Kommunikationen). Bei einem Beispiel befinden sich die Verbindungsendpunkte 210 und 225 nicht auf demselben SoC-Die (z. B. zum Durchführen von Inter-Chip-Kommunikationen). Durch Sichern der Kommunikationen der SoC-Komponenten, wie in 2 veranschaulicht, kann böswilligen Akteuren durch Verweigern von deren Zugriff auf die Nachrichten entgegengewirkt werden, wenn sie sich auf der SoC-Verbindung 220 bewegen. Weiterhin können beliebige SoC-Komponenten verwendet werden, ohne Rücksicht darauf, welche einer Vielzahl von Sicherheitskonfigurationen von den SoC-Designern gewählt wurden.
  • 3-6 veranschaulichen Beispiele von Verbindungsnachrichten in einem System für ein Sicherheits-Plug-in für eine SoC-Plattform in Übereinstimmung mit verschiedenen Ausführungsformen.
  • 3 veranschaulicht die Bestandteile einer einfachen (z. B. ungesicherten) Verbindungsnachricht in Übereinstimmung mit einer Ausführungsform. Die einfache Verbindungsnachricht kann einen Nachrichtenkopf 305 und eine Nachrichtendaten-Nutzlast 310 enthalten. Bei diesem Beispiel ist der Nachrichtenkopf 305 spezifisch für ein Protokoll der Verbindung. Weiterhin kann die Nachrichtendaten-Nutzlast 310 die gesamte Komponentennachricht oder ein Teil der Komponentennachricht sein (z. B. die in ein Register zu schreibenden Daten, wobei die Registeradresse im Nachrichtenkopf 305 platziert werden kann).
  • 4 veranschaulicht die Bestandteile einer verschlüsselten Nachricht in Übereinstimmung mit einer Ausführungsform. Die verschlüsselte Nachricht kann erstellt werden, nachdem die gesamte oder ein Teil der Komponentennachricht durch eine kryptographische Maschine, wie die oben in Bezug auf 1 beschrieben ist, verschlüsselt wurde, um die verschlüsselte Nachrichtendaten-Nutzlast 320 zu erstellen. Die verschlüsselte Nachricht kann auch einen Sicherheitskopf 315 enthalten, der zum Beispiel durch die kryptographische Steuereinrichtung oder kryptographische Schaltung bereitgestellt wird. Der Sicherheitskopf 315 identifiziert zumindest die Nachricht als eine verschlüsselte Nachricht an einen Empfänger-Verbindungsendpunkt. Weiterhin kann der Sicherheitskopf 315 bei einem Beispiel Identifikationsinformation enthalten, um es einer Empfänger-Sicherheitskomponente zu erlauben, die verschlüsselte Nachrichtendaten-Nutzlast zu entschlüsseln. Beispielsweise kann der Sicherheitskopf 315 die auslösende Sicherheitskomponente gegenüber der Ziel-Sicherheitskomponente identifizieren, um eine Aushandlung vom Sitzungsschlüssel zwischen den beiden zu ermöglichen. Die verschlüsselte Nachricht kann auch den Nachrichtenkopf 305 enthalten, um der Verbindung zu erlauben, die Nachricht ohne Bedenken hinsichtlich der verschlüsselten Natur der Nachricht zuzustellen.
  • 5 veranschaulicht die Bestandteile einer integritätsgeschützten Nachricht in Übereinstimmung mit einer Ausführungsform. Die integritätsgeschützte Nachricht kann einen Nachrichtenkopf 305 und Nachrichtendaten-Nutzlast 310 (unverschlüsselt) enthalten, genau wie die einfache Verbindungsnachricht. Zusätzlich kann die integritätsgeschützte Nachricht eine Integritätskomponente 325 (z. B. MAC, kryptographischer Hash usw.) und einen Sicherheitskopf 315 enthalten.
  • 6 veranschaulicht die Bestandteile einer verschlüsselten und integritätsgeschützten Nachricht in Übereinstimmung mit einer Ausführungsform. Die verschlüsselte und integritätsgeschützte Nachricht bietet sowohl Geheimhaltung als auch Manipulationsschutz für die Daten der Komponentennachricht. Die verschlüsselte und integritätsgeschützte Nachricht kann den Nachrichtenkopf 305 enthalten, der sich in allen Verbindungsnachrichten befindet. Zusätzlich kann die verschlüsselte und integritätsgeschützte Nachricht einen Sicherheitskopf 315, eine verschlüsselte Nachrichtendaten-Nutzlast 320 und eine Integritätskomponente 325 enthalten, wie oben beschrieben.
  • 7 ist ein Swimlane-Flussdiagramm, das ein Beispiel für ein Verfahren 700 für ein Sicherheits-Plug-in für eine SoC-Plattform in Übereinstimmung mit einer Ausführungsform veranschaulicht. Die Operationen des Verfahrens 700 können durch die oben in 1 oder 2 aufgeführten Komponenten oder durch Computerhardware durchgeführt werden, wie zum Beispiel Schaltungsgruppen, wie unten mit Bezug auf 8 beschrieben. Die Operationen 705, 710 und 730 werden von einer Verbindungsendpunkt-Komponente einer SoC-Verbindung durchgeführt, und die Operationen 715, 720 und 725 werden von einer Sicherheitskomponente durchgeführt, die kommunikationsfähig an den Verbindungsendpunkt gekoppelt ist.
  • Bei Operation 705 kann eine Komponentennachricht von einer SoC-Komponente (z. B. der initiierenden Komponente) empfangen werden.
  • Bei Operation 710 kann die Komponentennachricht an die Sicherheitskomponente über eine Sicherheitsverbindung übergeben werden.
  • Bei Operation 715 kann die Komponentennachricht von der Sicherheitskomponente empfangen werden.
  • Bei Operation 720 kann die Komponentennachricht von der Sicherheitskomponente gesichert werden. Bei einem Beispiel kann die zu sichernde Komponentennachricht von der Sicherheitskomponente unter Verwendung einer kryptographischen Maschine verschlüsselt werden, die eine aus einer Vielzahl von kryptographischen Maschinen ist, für die die Sicherheitsverbindung dieselbe ist. Bei einem Beispiel kann Verschlüsseln der Komponentennachricht Hinzufügen eines Nachrichtenintegritätselements aus einer Nachrichtenintegritätsschaltung der Sicherheitskomponente enthalten.
  • Bei einem Beispiel enthält Sichern der Komponentennachricht Hinzufügen des Nachrichtenintegritätselements aus einer Nachrichtenintegritätsschaltung der Sicherheitskomponente, ohne die Daten der Komponentennachricht zu verschlüsseln. Die Operation des Nachrichtenintegritätselements kann Lesen eines Sicherheitskopfes einer Verbindungsnachricht und Verwenden des Integritätselements enthalten, um die Integrität der Nachrichten-Nutzlast zu überprüfen. Beispielsweise kann eine zweite gesicherte Nachricht über die Verbindung vom Verbindungsendpunkt empfangen werden. Der Endpunkt kann die zweite verschlüsselte Nachricht an die Sicherheitskomponente weiterleiten, um die Integrität der Nachrichten-Nutzlast unter Verwendung des Integritätselements und einer Integritätsmaschine zu überprüfen. Beispielsweise kann ein kryptographischer Hash der Nutzlast im Integritätselement gespeichert werden. Die Integritätsmaschine kann den Hash aus der Nutzlast berechnen und den Hash mit dem im Integritätselement vergleichen. Wenn die Hashe übereinstimmen, wurde die Nutzlast während des Transports nicht verändert. Bei einem Beispiel kann die Sicherheitskomponente die zweite gesicherte Nachricht als Reaktion darauf verwerfen, dass sie nicht in der Lage ist, die Integrität der zweiten verschlüsselten Nachricht zu überprüfen.
  • Bei Operation 725 kann die verschlüsselte Nachricht über die Sicherheitsverbindung an den Verbindungsendpunkt übermittelt werden. Bei einem Beispiel kann die Sicherheitskomponente eine kryptographische Sitzung für Kommunikationen zwischen der SoC-Komponente und der Zielkomponente aufbauen. Bei einem Beispiel wird ein Sitzungsschlüssel für die kryptographische Sitzung von der kryptographischen Maschine verwendet, um die Komponentennachricht zu verschlüsseln. Bei einem Beispiel entspricht der Sitzungsschlüssel dem Kommunikationsstrom und keinem anderen Kommunikationsstrom der Verbindung.
  • Bei Operation 730 kann die verschlüsselte Nachricht über die Verbindung übertragen werden. Bei einem Beispiel wird jede vom Bus-Endpunkt übertragene Nachricht von der Sicherheitskomponente verschlüsselt. Bei einem Beispiel wird jede Nachricht, die einen Bus durchläuft, zu dem der Bus-Endpunkt ein Endpunkt ist, durch entsprechende Sicherheitskomponenten in Endpunkten des Busses verschlüsselt. Somit besteht die gesamte Verbindung aus gesicherten Kommunikationen.
  • Die oben veranschaulichten Operationen beschreiben im Allgemeinen einen Vorgang für ausgehende Nachrichten. Ein umgekehrter Vorgang kann eingehende gesicherte Nachrichten akzeptieren und diese Nachrichten für eine Zustellung an eine SoC-Komponente ungesichert machen. Zum Beispiel kann eine zweite verschlüsselte Nachricht über die Verbindung empfangen werden. Der Nachrichtenkopf (z. B. ein Sicherheitskopf) der zweiten verschlüsselten Nachricht kann gelesen werden, um festzustellen, dass es sich um eine verschlüsselte Nachricht handelt. Die verschlüsselte Nachricht kann vom Verbindungsendpunkt über die Sicherheitsverbindung an die Sicherheitskomponente weitergeleitet werden. Die zweite verschlüsselte Nachricht kann dann von der Sicherheitskomponente entschlüsselt und die Inhalte der Komponentennachricht an den Endpunkt geliefert werden. Der Endpunkt kann dann die Inhalte der Komponentennachricht an die Ziel-SoC-Komponente übertragen.
  • Bei einem Beispiel kann eine Zugriffssteuereinrichtung so arbeiten, dass sie Zugriffsbeschränkungen für SoC-Komponenten durchsetzt. Beispielsweise kann eine zweite Komponentennachricht empfangen werden, die eine Initiatorkennung (z. B. SoC-Komponenten-ID) und eine Zielkennung (z. B. eine weitere SoC-Komponenten-ID) enthält. Die Sicherheitskomponente kann auf eine Registrierung von Sicherheitsattributen der Initiatoren zugreifen, um auf der Basis der Initiator- und der Zielkennung festzustellen, dass die Initiatorkomponente keinen Zugriff auf die Zielkomponente hat. Die Sicherheitskomponente kann dann die zweite Komponentennachricht verwerfen, wenn festgestellt wird, dass eine Initiatorkomponente keinen Zugriff auf eine Zielkomponente hat. Dieser Vorgang kann auch auf der Empfangsseite funktionieren, wo die Zugriffssteuereinrichtung empfangene Verbindungsnachrichten (im Gegensatz zu Komponentennachrichten) mit Hilfe der Zugriffssteuereinrichtung verwirft.
  • 8 veranschaulicht ein Blockdiagramm einer beispielhaften Maschine 800, auf der eine oder mehrere der hier diskutierten Techniken (z. B. Methodiken) durchgeführt werden können. Bei alternativen Ausführungsformen kann die Maschine 800 als eigenständiges Gerät arbeiten oder mit anderen Maschinen verbunden (z. B. vernetzt) sein. Bei einer vernetzten Verwendung kann die Maschine 800 in der Kapazität einer Servermaschine, einer Clientmaschine oder in beiden in Server-Client-Netzwerkumgebungen arbeiten. Bei einem Beispiel kann die Maschine 800 als Partner (Peer) -Rechner in einer Partner-zu-Partner (Peer-to-Peer, P2P) (oder einer anderen verteilten) -Netzwerkumgebung fungieren. Die Maschine 800 kann ein Personal Computer (PC), ein Tablet-PC, eine Set-Top-Box (STB), ein Personal Digital Assistant (PDA), ein Mobiltelefon, eine Web-Appliance, ein Netzwerk-Router, Switch oder Bridge oder jedes Gerät sein, das in der Lage ist, Anweisungen (sequentiell oder anders) auszuführen, die die von dieser Maschine auszuführenden Aktionen festlegen. Während zwar nur eine einzelne Maschine veranschaulicht ist, umfasst der Begriff „Maschine“ ferner jedoch auch jede Sammlung von Maschinen, die einzeln oder gemeinsam eine Reihe (oder mehrere Reihen) von Anweisungen ausführen, um eine oder mehrere der hier diskutierten Methodiken auszuführen, wie zum Beispiels Cloud Computing, Software-asa-Service (SaaS), andere Computercluster-Konfigurationen.
  • Beispiele, wie sie hier beschrieben sind, können Logik oder eine Reihe von Komponenten oder Mechanismen enthalten oder durch sie gesteuert werden. Schaltungssätze (auch als Gruppe von Schaltungen oder Schaltungsgruppen bezeichnet) sind eine Sammlung von Schaltungen, die in materielle Einheiten implementiert sind, die Hardware (z. B. einfache Schaltungen, Gatter, Logik usw.) enthalten. Die Zugehörigkeit zu einem Schaltungssatz kann im Laufe der Zeit und der zugrunde liegenden Hardwarevariabilität flexibel sein. Schaltungssätze umfassen Elemente, die allein oder in Kombination bestimmte Operationen beim Betrieb ausführen können. Bei einem Beispiel kann Hardware des Schaltungssatzes unveränderlich so ausgelegt sein, dass sie eine bestimmte Operation ausführt (z. B. fest verdrahtet). Bei einem Beispiel kann die Hardware des Schaltungssatzes variabel verbundene physikalische Komponenten (z. B. Ausführungseinheiten, Transistoren, einfache Schaltungen usw.) enthalten, einschließlich eines computerlesbaren Mediums, das physikalisch modifiziert ist (z. B. magnetisch, elektrisch, bewegliche Anordnung von unveränderlichen Massenteilchen usw.), um Anweisungen der spezifischen Operation zu kodieren. Beim Verbinden der physikalischen Komponenten werden die zugrunde liegenden elektrischen Eigenschaften eines Hardware-Bestandteils verändert, zum Beispiel von einem Isolator zu einem Leiter oder umgekehrt. Die Anweisungen ermöglichen es eingebetteter Hardware (z. B. den Ausführungseinheiten oder einem Lademechanismus), über die variablen Verbindungen Elemente des Schaltungssatzes in Hardware zu erstellen, um Teile der spezifischen Operation beim Betrieb auszuführen. Dementsprechend ist das computerlesbare Medium im Betrieb des Gerätes mit den anderen Komponenten des Elements des Schaltungssatzes kommunikationsfähig gekoppelt. Bei einem Beispiel kann jede der physischen Komponenten in mehr als einem Element von mehr als einem Schaltungssatz verwendet werden. Beispielsweise können im Betrieb Ausführungseinheiten in einer ersten Schaltung eines ersten Schaltungssatzes zu einem Zeitpunkt verwendet werden und von einer zweiten Schaltung des ersten Schaltungssatzes oder von einer dritten Schaltung eines zweiten Schaltungssatzes zu einem anderen Zeitpunkt wiederverwendet werden.
  • Eine Maschine (z. B. ein Computersystem) 800 kann einen Hardware-Prozessor 802 (z. B. eine Zentraleinheit (CPU), eine Graphikverarbeitungseinheit (GPU), einen Hardware-Prozessorkern oder eine beliebige Kombination davon), einen Hauptspeicher 804 und einen statischen Speicher 806 umfassen, die teilweise oder vollständig über eine Verbindung (z. B. Bus) 808 kommunizieren können. Die Maschine 800 kann ferner eine Anzeigeeinheit 810, ein alphanumerisches Eingabegerät 812 (z. B. eine Tastatur) und ein Nutzerschnittstellen (UI) -Navigationsgerät 814 (z B. eine Maus) enthalten. Bei einem Beispiel können die Anzeigeeinheit 810, das Eingabegerät 812 und das UI-Navigationsgerät 814 eine Touchscreen-Anzeige sein. Die Maschine 800 kann zusätzlich ein Speichergerät (z. B. Antriebseinheit) 816, ein Signalerzeugungsgerät 818 (z. B. ein Lautsprecher), ein Netzwerk-Schnittstellengerät 820 und einen oder mehrere Sensoren 821 wie zum Beispiel einen Global Positioning System (GPS) -Sensor, Kompass, Beschleunigungsmesser oder einen anderen Sensor enthalten. Die Maschine 800 kann eine Ausgabesteuereinrichtung 828 enthalten, wie zum Beispiel eine serielle (z. B. Universal Serial Bus (USB), parallele oder andere drahtgebundene oder drahtlose (z. B. Infrarot (IR), Nahfeldkommunikation (NFC) etc.) Verbindung, um mit ein oder mehreren Peripheriegeräten (z. B. Drucker, Kartenleser etc.) zu kommunizieren oder sie zu steuern.
  • Das Speichergerät 816 kann ein maschinenlesbares Medium 822 enthalten, auf dem ein oder mehrere Sätze von Datenstrukturen oder Anweisungen 824 (z. B. Software) gespeichert sind, die eine oder mehrere der hier beschriebenen Techniken oder Funktionen verkörpern oder von diesen benutzt werden. Die Anweisungen 824 können sich auch ganz oder zumindest teilweise im Hauptspeicher 804, im statischen Speicher 806 oder im Hardware-Prozessor 802 während ihrer Ausführung durch die Maschine 800 befinden. Bei einem Beispiel kann eine oder eine beliebige Kombination aus dem Hardware-Prozessor 802, dem Hauptspeicher 804, dem statischen Speicher 806 oder dem Speichergerät 816 ein maschinenlesbares Medium bilden.
  • Während das maschinenlesbare Medium 822 als ein einzelnes Medium veranschaulicht ist, kann der Begriff „maschinenlesbares Medium“ ein einzelnes Medium oder mehrere Medien (z. B. eine zentralisierte oder verteilte Datenbank und/oder zugehörige Caches und Server) enthalten, die so eingerichtet sind, dass sie die eine oder mehrere Anweisungen 8224 speichern.
  • Der Begriff „maschinenlesbares Medium“ kann jedes Medium enthalten, das in der Lage ist, Anweisungen zur Ausführung durch die Maschine 800 zu speichern, zu kodieren oder zu tragen und die die Maschine 800 dazu veranlassen, eine oder mehrere der Techniken der vorliegenden Offenbarung durchzuführen, oder das in der Lage ist, Datenstrukturen zu speichern, zu kodieren oder zu tragen, die von solchen Anweisungen verwendet werden oder ihnen zugeordnet sind. Nicht beschränkende Beispiele für ein maschinenlesbares Medium enthalten Festkörperspeicher sowie optische und magnetische Medien. Bei einem Beispiel umfasst ein massebehaftetes maschinenlesbares Medium ein maschinenlesbares Medium mit einer Vielzahl von Teilchen, die eine unveränderliche (z. B. Ruhe-) Masse haben. Dementsprechend sind massebehaftete maschinenlesbare Medien keine vorübergehenden, sich ausbreitenden Signale. Spezifische Beispiele für massebehaftete maschinenlesbare Medien können enthalten: nichtflüchtige Speicher, wie Halbleiterspeichergeräte (z. B. elektrisch programmierbare Festwertspeicher (EPROM), elektrisch löschbare programmierbare Festwertspeicher (EEPROM)) und Flash-Speichergeräte; Magnetplatten, wie interne Festplatten und Wechselplatten; magnetooptische Platten; und CD-ROM und DVD-ROM-Platten.
  • Die Anweisungen 824 können ferner über ein Kommunikationsnetzwerk 826 mit einem Übertragungsmedium über das Netzwerk-Schnittstellengerät 820 unter Verwendung eines von mehreren Übertragungsprotokollen (z. B. Frame Relay, Internetprotokoll (IP), Übertragungssteuerungsprotokoll (TCP), Benutzer-Datagramm-Protokoll (UDP), Hypertext-Übertragungsprotokoll (HTTP) usw.) gesendet oder empfangen werden. Beispiele für Kommunikationsnetze können unter anderem ein lokales Netz (LAN), ein Weitverkehrsnetz (WAN), ein Paketdatennetz (z. B. das Internet), Mobilfunknetze (z. B. Zellularnetze), einfache alte Telefonnetze (Plain Old Telephone, POTS) und drahtlose Datennetze (z. B. Institute of Electrical and Electronics Engineers (IEEE) 802.11-Familie von Standards bekannt als Wi-Fi®, IEEE 802.16-Familie von Standards bekannt als WiMax®), IEEE 802.15.4-Familie von Standards, Peer-to-Peer (P2P) -Netze enthalten. Bei einem Beispiel kann das Netzwerk-Schnittstellengerät 820 eine oder mehrere physikalische Buchsen (z. B. Ethernet-, Koaxial- oder Telefonbuchsen) oder eine oder mehrere Antennen zum Anschluss an das Kommunikationsnetzwerk 826 enthalten. Bei einem Beispiel kann das Netzwerk-Schnittstellengerät 820 eine Vielzahl von Antennen zur drahtlosen Kommunikation unter Verwendung mindestens einer der Techniken Single-Input-Multiple-Output (SIMO), Multiple-Input-Multiple-Output (MIMO) oder Multiple-Input-Single-Output (MISO) enthalten. Der Begriff „Übertragungsmedium“ soll so verstanden werden, dass er jedes immaterielle Medium enthält, das in der Lage ist, Anweisungen zur Ausführung durch die Maschine 800 zu speichern, zu kodieren oder zu tragen, einschließlich digitaler oder analoger Kommunikationssignale oder anderer immaterieller Medien zur Erleichterung der Kommunikation solcher Software.
  • Zusätzliche Hinweise & Beispiele
  • Beispiel 1 enthält einen Gegenstand (wie ein Gerät, eine Vorrichtung oder eine Maschine), der Folgendes umfasst: eine kryptographische Schaltung, enthaltend: eine kryptographische Maschine, die aus einer Vielzahl von kryptographischen Maschinen ausgewählt ist; und eine Standardschnittstelle, die für die Vielzahl von kryptographischen Maschinen generisch ist, wobei im Betrieb eine unverschlüsselte Nachricht von einer Initiatorkomponente, die von einer System-on-a-Chip-Verbindungsschnittstelle empfangen wird, an die kryptographischen Maschine über die Standardschnittstelle bereitgestellt wird, um eine verschlüsselte Nachricht herzustellen, die an eine Zielkomponente übertragen wird; eine kryptographische Steuereinrichtung zum Verwalten eines kryptographischen Schlüssels, der von der kryptographischen Maschine zum Erstellen der verschlüsselten Nachricht verwendet wird; und eine kryptographische Zustandsverwaltungseinrichtung zum Verwalten von kryptographischen Sitzungszuständen einer kryptographischen Sitzung zwischen der Initiatorkomponente und der Zielkomponente.
  • Bei Beispiel 2 kann der Gegenstand von Beispiel 1 enthalten, dass die kryptographische Schaltung eine Integritätsmaschine enthält, die aus einer Vielzahl von Integritätsmaschinen ausgewählt ist, und dass die Standardschnittstelle für die Vielzahl von Integritätsmaschinen generisch ist.
  • Bei Beispiel 3 kann der Gegenstand von einem der Beispiele 1 bis 2 enthalten, dass die Vielzahl kryptographischer Maschinen einen Satz kryptographischer Maschinen für Advanced Encryption Standard umfassen.
  • Bei Beispiel 4 kann der Gegenstand von einem der Beispiele 1 bis 3 enthalten, dass die Vielzahl kryptographischer Maschinen durch Die-Größe, Energieverbrauch, Kosten, Durchsatzleistung und/oder kryptographische Leistung klassifiziert sind.
  • Bei Beispiel 5 kann der Gegenstand von einem der Beispiele 1 bis 4 enthalten, dass die kryptographische Steuereinrichtung mindestens einen Saat- oder Initialisierungsschlüssel enthält.
  • Bei Beispiel 6 kann der Gegenstand von einem der Beispiele 1 bis 5 enthalten, dass die kryptographische Steuereinrichtung mit einem Kommunikationspartner verhandeln soll, um einen Sitzungsschlüssel zu erhalten.
  • Bei Beispiel 7 kann der Gegenstand von einem der Beispiele 1 bis 6 enthalten, dass die kryptographische Steuereinrichtung einen Sitzungsschlüssel von einer feldprogrammierbaren Komponente des System-on-a-Chips abrufen soll.
  • Bei Beispiel 8 kann der Gegenstand von einem der Beispiele 1 bis 7 enthalten, dass zum Verwalten von kryptographischen Sitzungszuständen zwischen der Initiatorkomponente und der Zielkomponente enthält, dass die kryptographische Zustandsverwaltungseinrichtung eine Datenstruktur von kryptographischen Sitzungen pflegt, wobei die Datenstruktur Felder für eine Zielkomponente, eine Sequenznummer und einen Sitzungsschlüssel enthält.
  • Bei Beispiel 9 kann der Gegenstand eines der Beispiele 1 bis 8 enthalten, dass der Sitzungsschlüssel zwischen verschiedenen kryptographischen Sitzungen unterschiedlich ist.
  • Bei Beispiel 10 kann der Gegenstand von einem der Beispiele 1 bis 9 enthalten: eine Registrierung von Sicherheitsattributen des Initiators zum Speichern von Zugriffsrechten der System-on-a-Chip-Komponenten und einen Filter zum Blockieren der Nachricht als Reaktion auf eine Feststellung basierend auf der Registrierung von Sicherheitsattributen des Initiators, dass die Initiatorkomponente keinen Zugriff auf die Zielkomponente hat.
  • Bei Beispiel 11 kann der Gegenstand von einem der Beispiele 1 bis 10 enthalten: Bestimmen, ob eine von der Verbindungsschnittstelle von einer anderen System-on-a-Chip-Verbindungsschnittstelle empfangene Nachricht eine verschlüsselte Nachricht ist; Weiterleiten der Nachricht an die kryptographische Schaltung, wenn die Nachricht eine verschlüsselte Nachricht ist; und Leiten der Nachricht durch die Verbindungsschnittstelle, wenn die Nachricht keine verschlüsselte Nachricht ist.
  • Beispiel 12 enthält einen Gegenstand (wie ein Gerät, eine Vorrichtung oder eine Maschine), umfassend: einen Sicherheitsblock, enthaltend: eine kryptographische Schaltung, enthaltend: eine kryptographische Maschine, die aus einer Vielzahl von kryptographischen Maschinen ausgewählt ist; und eine Standardschnittstelle, die für die Vielzahl von kryptographischen Maschinen generisch ist, wobei die Standardschnittstelle bidirektional zwischen der kryptographischen Maschine und einem Anforderer ist; eine kryptographische Steuereinrichtung zum Verwalten eines kryptographischen Schlüssels, der von der kryptographischen Maschine verwendet wird; und eine kryptographische Zustandsverwaltungseinrichtung zum Verwalten von kryptographischen Sitzungszuständen zwischen einer Initiatorkomponente und einer Zielkomponente; und einen System-on-a-Chip-Verbindungsendpunkt, der mit einer Verbindung des System-on-a-Chips gekoppelt ist, wobei die Verbindung mit einer Vielzahl von System-on-a-Chip-Verbindungsendpunkten gekoppelt ist, wobei die Vielzahl von System-on-a-Chip-Verbindungsendpunkten mit Komponenten des System-on-a-Chips gekoppelt ist, wobei die System-on-a-Chip-Verbindungsschnittstelle enthält: einen einer Komponente zugewandten Transceiver zum Senden oder Empfangen von Komponentennachrichten an Komponenten; einen Verbindungspaketierer zum Umwandeln einer von einer Komponente empfangenen Komponentennachricht in eine Verbindungsnachricht und Umwandeln der von einem anderen Verbindungsendpunkt empfangenen Verbindungsnachricht in eine Komponentennachricht; und eine Sicherheitsverbindung, die der Standardschnittstelle der kryptographischen Schaltung des Sicherheitsblocks entspricht, wobei die Sicherheitsverbindung zwischen Kommunikationen des einer Komponente zugewandten Transceivers und des Verbindungspaketierers eingefügt ist, wobei eine Komponentennachricht, die von dem einer Komponente zugewandten Transceiver empfangen wird, über die Standardschnittstelle an die Sicherheitsschaltung geleitet wird, um eine verschlüsselte Nachricht zu erzeugen, die über die Standardschnittstelle zurückgegeben wird, um von dem Verbindungspaketierer vor der Übertragung auf der Verbindung paketiert zu werden.
  • Bei Beispiel 13 kann der Gegenstand von Beispiel 12 enthalten, dass der Verbindungsendpunkt eine Verbindungskopf-Analyseeinrichtung enthält, um festzustellen, ob eine von der Verbindung empfangene Nachricht verschlüsselt ist, und die Nachricht über die Sicherheitsverbindung an den Sicherheitsblock weiterzuleiten, wenn sie verschlüsselt ist, und andernfalls die Sicherheitsverbindung zu umgehen.
  • Bei Beispiel 14 kann der Gegenstand von einem der Beispiele 12 bis 13 enthalten: eine Zugriffssteuereinrichtung zum Verwalten von Zugriffsrechten von System-ona-Chip-Komponenten, wobei die Zugriffssteuereinrichtung eine Registrierung von Sicherheitsattributen der Initiatoren zum Speichern von Zugriffsrechten der System-on-a-Chip-Komponenten und einen Filter zum Blockieren der Nachricht als Reaktion auf die Feststellung basierend auf der Registrierung von Sicherheitsattributen der Initiatoren., dass die Initiatorkomponente keinen Zugriff auf die Zielkomponente hat
  • Bei Beispiel 15 kann der Gegenstand von einem der Beispiele 12 bis 14 enthalten, dass die kryptographische Schaltung eine Integritätsmaschine enthält, die aus einer Vielzahl von Integritätsmaschinen ausgewählt ist, und dass die Standardschnittstelle für die Vielzahl von Integritätsmaschinen generisch ist.
    Bei Beispiel 16 kann der Gegenstand von einem der Beispiele 12 bis 15 enthalten, dass die Vielzahl von kryptographischen Maschinen durch Die-Größe, Energieverbrauch, Kosten, Durchsatzleistung und/oder kryptographische Leistung klassifiziert sind.
  • Bei Beispiel 17 kann der Gegenstand von einem der Beispiele 12 bis 16 enthalten, dass zum Verwalten von kryptographischen Sitzungszuständen zwischen der Initiatorkomponente und der Zielkomponente enthält, dass die kryptographische Zustandsverwaltungseinrichtung eine Datenstruktur von kryptographischen Sitzungen pflegt, wobei die Datenstruktur Felder für eine Zielkomponente, eine Sequenznummer und einen Sitzungsschlüssel enthält.
  • Bei Beispiel 18 kann der Gegenstand von einem der Beispiele 12 bis 17 enthalten, dass der Sitzungsschlüssel zwischen verschiedenen kryptographischen Sitzungen unterschiedlich ist.
  • Beispiel 19 enthält den Gegenstand (wie zum Beispiel ein Verfahren, Mittel zur Durchführen von Handlungen, maschinenlesbares Medium einschließlich Anweisungen, die, wenn sie von einer Maschine ausgeführt werden, die Maschine zum Durchführen von Handlungen veranlassen, oder eine Vorrichtung zum Durchführen), umfassend: Empfangen einer Komponentennachricht an einem Bus-Endpunkt von einer System-on-a-Chip-Komponente; Leiten der Komponentennachricht durch den Bus-Endpunkt an eine Sicherheitskomponente über eine Sicherheitsverbindung; Empfangen der Komponentennachricht durch die Sicherheitskomponente über die Sicherheitsverbindung; Verschlüsseln der Komponentennachricht unter Verwendung einer kryptographischen Maschine, wobei die kryptographische Maschine eine aus einer Vielzahl kryptographischer Maschinen ist, wobei die Sicherheitsverbindung für alle der Vielzahl kryptographischer Maschinen die gleiche ist; Kommunizieren der verschlüsselten Nachricht an den Bus-Endpunkt über die Sicherheitsverbindung; und Übertragen der verschlüsselten Nachricht über die Verbindung durch den Bus-Endpunkt.
  • Bei Beispiel 20 kann der Gegenstand von Beispiel 19 enthalten, dass Verschlüsseln der Komponentennachricht Hinzufügen eines Nachrichtenintegritätselements aus einer Nachrichtenintegritätsschaltung der Sicherheitskomponente enthält.
  • Bei Beispiel 21 kann der Gegenstand von einem der Beispiele 19 bis 20 enthalten: Empfangen einer zweiten verschlüsselten Nachricht über die Verbindung; Leiten der zweiten verschlüsselten Nachricht an die Sicherheitskomponente, um die Integrität der zweiten verschlüsselten Nachricht zu überprüfen; und Verwerfen der zweiten verschlüsselten Nachricht als Reaktion darauf, dass die Integrität der zweiten verschlüsselten Nachricht nicht überprüft werden kann.
  • Bei Beispiel 22 kann der Gegenstand von einem der Beispiele 19 bis 21 enthalten, dass die zweite verschlüsselte Nachricht ein ungültiges Nachrichtenintegritätselement enthält.
  • Bei Beispiel 23 kann der Gegenstand von einem der Beispiele 19 bis 22 enthalten: Empfangen einer zweiten verschlüsselten Nachricht über die Verbindung; Lesen eines Nachrichtenkopfes für die zweite verschlüsselte Nachricht, um festzustellen, dass sie verschlüsselt ist; Leiten der zweiten verschlüsselten Nachricht über die Sicherheitsverbindung an die Sicherheitskomponente durch den Bus-Endpunkt; Entschlüsseln der zweiten verschlüsselten Nachricht durch die Sicherheitskomponente, um eine zweite Komponentennachricht zu erstellen; und Übertragen der zweiten Komponentennachricht an die System-on-a-Chip-Komponente.
  • Bei Beispiel 24 kann der Gegenstand von einem der Beispiele 19 bis 23 enthalten: Empfangen einer zweiten Komponentennachricht, die eine Initiatorkennung und eine Zielkennung enthält; Zugreifen auf eine Registrierung von Sicherheitsattributen der Initiatoren, um auf der Grundlage der Initiator- und der Zielkennung festzustellen, dass eine Initiatorkomponente keinen Zugriff auf eine Zielkomponente hat; und Verwerfen der zweiten Komponentennachricht als Reaktion auf das Festellen, dass eine Initiatorkomponente keinen Zugriff auf eine Zielkomponente hat.
  • Bei Beispiel 25 kann der Gegenstand von einem der Beispiele 19 bis 24 Herstellen einer kryptographischen Sitzung für eine Kommunikation zwischen der System-on-a-Chip-Komponente und einer Zielkomponente enthalten.
  • Bei Beispiel 26 kann der Gegenstand von einem der Beispiele 19 bis 25 enthalten, dass ein Sitzungsschlüssel für die kryptographische Sitzung von der kryptographischen Maschine zum Verschlüsseln der Komponentennachricht verwendet wird.
  • Bei Beispiel 27 kann der Gegenstand von einem der Beispiele 19 bis 26 enthalten, dass der Sitzungsschlüssel dem Kommunikationsstrom und keinem anderen Kommunikationsstrom der Verbindung entspricht.
  • Bei Beispiel 28 kann der Gegenstand von einem der Beispiele 19 bis 27 enthalten, dass jede vom Bus-Endpunkt übertragene Nachricht von der Sicherheitskomponente verschlüsselt wird.
  • Bei Beispiel 29 kann der Gegenstand von einem der Beispiele 19 bis 28 enthalten, dass jede Nachricht, die einen Bus durchläuft, zu dem der Bus-Endpunkt ein Endpunkt ist, durch entsprechende Sicherheitskomponenten in den Endpunkten des Busses verschlüsselt wird.
  • Bei Beispiel 30 enthält mindestens ein maschinenlesbares Medium Anweisungen, die, wenn sie von einer Maschine ausgeführt werden, die Maschine dazu veranlassen, eines der Beispiele 19-29 zu implementieren.
  • Bei Beispiel 31 kann ein System Mittel zum Implementieren von einem der Beispiele 19-29 enthalten.
  • Beispiel 32 enthält einen Gegenstand (wie zum Beispiel ein Gerät, eine Vorrichtung oder eine Maschine), der Folgendes umfasst: Mittel zum Empfangen einer Komponentennachricht an einem Bus-Endpunkt von einer System-on-a-Chip-Komponente; Mittel zum Leiten der Komponentennachricht an eine Sicherheitskomponente über eine Sicherheitsverbindung durch den Bus-Endpunkt; Mittel zum Empfangen der Komponentennachricht durch die Sicherheitskomponente über die Sicherheitsverbindung; Verschlüsseln der Komponentennachricht unter Verwendung einer kryptographischen Maschine, wobei die kryptographische Maschine eine aus einer Vielzahl kryptographischer Maschinen ist, wobei die Sicherheitsverbindung für alle der Vielzahl kryptographischer Maschinen die gleiche ist; Mittel zum Kommunizieren der verschlüsselten Nachricht an den Bus-Endpunkt über die Sicherheitsverbindung; und Mittel zum Übertragen der verschlüsselten Nachricht über die Verbindung durch den Bus-Endpunkt.
  • Bei Beispiel 33 kann der Gegenstand von Beispiel 32 enthalten, dass Verschlüsseln der Komponentennachricht Hinzufügen eines Nachrichtenintegritätselements aus einer Nachrichtenintegritätsschaltung der Sicherheitskomponente enthält.
  • Bei Beispiel 34 kann der Gegenstand von einem der Beispiele 32 bis 33 enthalten: Mittel zum Empfangen einer zweiten verschlüsselten Nachricht über die Verbindung; Mittel zum Leiten der zweiten verschlüsselten Nachricht an die Sicherheitskomponente, um die Integrität der zweiten verschlüsselten Nachricht zu überprüfen; und Mittel zum Verwerfen der zweiten verschlüsselten Nachricht als Reaktion darauf, dass die Integrität der zweiten verschlüsselten Nachricht nicht überprüft werden kann.
  • Bei Beispiel 35 kann der Gegenstand von einem der Beispiele 32 bis 34 enthalten, dass die zweite verschlüsselte Nachricht ein ungültiges Nachrichtenintegritätselement enthält.
  • Bei Beispiel 36 kann der Gegenstand von einem der Beispiele 32 bis 35 enthalten: Mittel zum Empfangen einer zweiten verschlüsselten Nachricht über die Verbindung; Mittel zum Lesen eines Nachrichtenkopfes für die zweite verschlüsselte Nachricht, um festzustellen, dass sie verschlüsselt ist; Mittel zum Leiten der zweiten verschlüsselten Nachricht über die Sicherheitsverbindung an die Sicherheitskomponente durch den Bus-Endpunkt; Mittel zum Entschlüsseln der zweiten verschlüsselten Nachricht durch die Sicherheitskomponente, um eine zweite Komponentennachricht zu erzeugen; und Mittel zum Übertragen der zweiten Komponentennachricht an die System-on-a-Chip-Komponente.
  • Bei Beispiel 37 kann der Gegenstand von einem der Beispiele 32 bis 36 enthalten: Mittel zum Empfangen einer zweiten Komponentennachricht, die eine Initiatorkennung und eine Zielkennung enthält; Mittel zum Zugreifen auf eine Registrierung von Sicherheitsattributen der Initiatoren, um auf der Basis der Initiatorkennung und der Zielkennung festzustellen, dass eine Initiatorkomponente keinen Zugang auf eine Zielkomponente hat; und Mittel zum Verwerfen der zweiten Komponentennachricht als Reaktion auf das Feststellen, dass eine Initiatorkomponente keinen Zugang zu einer Zielkomponente hat.
  • Bei Beispiel 38 kann der Gegenstand von einem der Beispiele 32 bis 37 Herstellen einer kryptographischen Sitzung für eine Kommunikation zwischen der System-on-a-Chip-Komponente und einer Zielkomponente enthalten.
  • Bei Beispiel 39 kann der Gegenstand von einem der Beispiele 32 bis 38 enthalten, dass ein Sitzungsschlüssel für die kryptographische Sitzung von der kryptographischen Maschine zum Verschlüsseln der Komponentennachricht verwendet wird.
  • Bei Beispiel 40 kann der Gegenstand von einem der Beispiele 32 bis 39 enthalten, dass der Sitzungsschlüssel dem Kommunikationsstrom und keinem anderen Kommunikationsstrom der Verbindung entspricht.
  • Bei Beispiel 41 kann der Gegenstand von einem der Beispiele 32 bis 40 enthalten, dass jede vom Bus-Endpunkt übertragene Nachricht von der Sicherheitskomponente verschlüsselt wird.
  • Bei Beispiel 42 kann der Gegenstand von einem der Beispiele 32 bis 41 enthalten, dass jede Nachricht, die einen Bus durchläuft, zu dem der Bus-Endpunkt ein Endpunkt ist, durch entsprechende Sicherheitskomponenten in den Endpunkten des Busses verschlüsselt wird.
  • Die obige ausführliche Beschreibung enthält Verweise auf die beigefügten Zeichnungen, die einen Teil der ausführlichen Beschreibung bilden. Die Zeichnungen zeigen zur Veranschaulichung spezifische Ausführungsformen, die praktiziert werden können. Diese Ausführungsformen werden hier auch als „Beispiele“ bezeichnet. Solche Beispiele können Elemente zusätzlich zu den gezeigten oder beschriebenen enthalten. Die vorliegenden Erfinder ziehen jedoch auch Beispiele in Erwägung, in denen nur die gezeigten oder beschriebenen Elemente vorgesehen sind. Darüber hinaus ziehen die vorliegenden Erfinder auch Beispiele in Erwägung, die eine beliebige Kombination oder Permutation der gezeigten oder beschriebenen Elemente (oder eines oder mehrerer Aspekte davon) verwenden, entweder in Bezug auf ein bestimmtes Beispiel (oder eines oder mehrerer Aspekte davon) oder in Bezug auf andere Beispiele (oder eines oder mehrerer Aspekte davon), die hier gezeigt oder beschrieben sind.
  • Im Falle von inkonsistenten Verwendungen zwischen diesem Dokument und den so durch Verweis einbezogenen Dokumenten sollte die Verwendung in dem/den einbezogenen Verweis(en) als ergänzend zu der von diesem Dokument betrachtet werden; bei unvereinbaren Inkonsistenzen regelt die Verwendung in diesem Dokument.
  • In diesem Dokument werden die Begriffe „ein“ („a“) oder „ein“ („an“) verwendet, wie es in Patentdokumenten üblich ist, um einen oder mehrere zu umfassen, unabhängig von allen anderen Fällen oder Verwendungen von „mindestens einem“ oder „einem oder mehreren“. In diesem Dokument wird der Begriff „oder“ für ein nicht exklusives Oder verwendet, so dass „A oder B“ „A aber nicht B“, „B aber nicht A“ und „A und B“ einschließt, sofern nicht anders angegeben. In den beigefügten Ansprüchen werden die Begriffe „einschließlich“ und „in denen“ als die rein englischen Entsprechungen der jeweiligen Begriffe „umfassend“ und „wobei“ verwendet. Auch in den folgenden Ansprüchen sind die Begriffe „einschließen“ und „umfassen“ unbeschränkt, d. h. ein System, Vorrichtung, Artikel oder Vorgang, welche/s/r zusätzlich zu den nach einem solchen Begriff in einem Anspruch aufgeführten Elementen weitere Elemente enthält, fallen nach wie vor in den Umfang dieses Anspruchs. Darüber hinaus werden in den folgenden Ansprüchen die Begriffe „erster“, „zweiter“ und „dritter“ usw. lediglich als Bezeichnungen verwendet und sollen keine numerischen Anforderungen an ihre Objekte stellen.
  • Die obige Beschreibung soll veranschaulichend und nicht einschränkend sein. So können beispielsweise die oben beschriebenen Beispiele (oder ein oder mehrere Aspekte davon) in Kombination miteinander verwendet werden. Es können andere Ausführungsformen verwendet werden, wie zum Beispiel durch Fachleute nach Durchsicht der obigen Beschreibung. Die Zusammenfassung soll es dem Leser ermöglichen, die Art der technischen Offenbarung schnell zu erkennen, und wird mit der Maßgabe vorgelegt, dass sie nicht zur Auslegung oder Einschränkung des Umfangs oder Bedeutung der Ansprüche verwendet wird. Außerdem können in der vorstehenden ausführlichen Beschreibung verschiedene Merkmale zusammengefasst werden, um die Offenbarung zu rationalisieren. Dies sollte nicht dahingehend interpretiert werden, dass ein nicht beanspruchtes offenbartes Merkmal für jeden Anspruch wesentlich ist. Vielmehr kann der erfinderische Gegenstand in weniger als allen Merkmalen einer bestimmten offenbarten Ausführungsform liegen. Daher sind hiermit die folgenden Ansprüche in die ausführliche Beschreibung aufgenommen, wobei jeder Anspruch für sich genommen eine eigene Ausführungsform darstellt. Der Umfang der Ausführungsformen sollte unter Bezugnahme auf die beigefügten Ansprüche sowie den vollen Umfang von Äquivalenten, auf die solche Ansprüche gerichtet sind, bestimmt werden.
  • Die Offenbarung der vorliegenden Anmeldung umfasst ferner die folgenden Ausführungsformen als Teil der obigen Beschreibung:
    • Ausführungsform 1: Ein Sicherheits-Plug-in für eine System-on-a-Chip-Plattform, wobei das Sicherheits-Plug-in umfasst:
      • eine kryptographische Schaltung, die enthält:
        • eine kryptographische Maschine, die aus einer Vielzahl kryptographischer Maschinen ausgewählt ist; und
        • eine Standardschnittstelle, die für die Vielzahl kryptographischer Maschinen generisch ist, wobei im Betrieb eine unverschlüsselte Nachricht von einer Initiatorkomponente, die von einer System-on-a-Chip-Verbindungsschnittstelle empfangen wird, der kryptographischen Maschine über die Standardschnittstelle zur Verfügung gestellt wird, um eine verschlüsselte Nachricht zu erzeugen, die an eine Zielkomponente übertragen wird;
      • eine kryptographische Steuereinrichtung zum Verwalten eines kryptographischen Schlüssels, der von der kryptographischen Maschine zum Erstellen der verschlüsselten Nachricht verwendet wird; und
      • eine kryptographische Zustandsverwaltungseinrichtung zum Verwalten der kryptographischen Sitzungszustände einer kryptographischen Sitzung zwischen der Initiatorkomponente und der Zielkomponente.
    • Ausführungsform 2: Das Sicherheits-Plug-in nach Ausführungsform 1, wobei die kryptographische Schaltung eine Integritätsmaschine enthält, die aus einer Vielzahl von Integritätsmaschinen ausgewählt ist, und wobei die Standardschnittstelle für die Vielzahl von Integritätsmaschinen generisch ist.
    • Ausführungsform 3: Das Sicherheits-Plug-in nach Ausführungsform 1, wobei die Vielzahl kryptographischer Maschinen einen Satz von kryptographischen Maschinen für Advanced Encryption Standard enthält.
    • Ausführungsform 4: Das Sicherheits-Plug-in nach Ausführungsform 1, wobei die Vielzahl kryptographischer Maschinen durch Die-Größe, Energieverbrauch, Kosten, Durchsatzleistung und/oder kryptographische Leistung klassifiziert sind.
    • Ausführungsform 5: Das Sicherheits-Plug-in nach Ausführungsform 1, wobei die kryptographische Steuereinrichtung mindestens einen Saat- oder Initialisierungsschlüssel enthält.
    • Ausführungsform 6: Das Sicherheits-Plug-in nach Ausführungsform 1, wobei die kryptographische Steuereinrichtung mit einem Kommunikationspartner verhandeln soll, um einen Sitzungsschlüssel zu erhalten.
    • Ausführungsform 7: Das Sicherheits-Plug-in nach Ausführungsform 1, wobei die kryptographische Steuereinrichtung einen Sitzungsschlüssel von einer feldprogrammierbaren Komponente des System-on-a-Chip abrufen soll.
    • Ausführungsform 8: Das Sicherheits-Plug-in nach Ausführungsform 1, wobei zum Verwalten der kryptographischen Sitzungszustände zwischen der Initiatorkomponente und der Zielkomponente enthält, dass die kryptographische Zustandsverwaltungseinrichtung eine Datenstruktur von kryptographischen Sitzungen pflegt, wobei die Datenstruktur Felder für eine Zielkomponente, eine Sequenznummer und einen Sitzungsschlüssel enthält.
    • Ausführungsform 9: Das Sicherheits-Plug-in nach Ausführungsform 8, wobei der Sitzungsschlüssel zwischen verschiedenen kryptographischen Sitzungen unterschiedlich ist.
    • Ausführungsform 10: Das Sicherheits-Plug-in nach einer der Ausführungsformen 1-9, umfassend eine Zugriffssteuereinrichtung zum Verwalten von Zugriffsrechten von System-on-a-Chip-Komponenten, wobei die Zugriffssteuereinrichtung enthält:
      • eine Registrierung von Sicherheitsattributen der Initiatoren zum Speichern von Zugriffsrechten der System-on-a-Chip-Komponenten; und
      • einen Filter zum Blockieren der Nachricht als Reaktion auf die Feststellung basierend auf der Registrierung von Sicherheitsattributen der Initiatoren, dass die Initiatorkomponente keinen Zugriff auf die Zielkomponente hat.
    • Ausführungsform 11: Das Sicherheits-Plug-in nach einer der Ausführungsformen 1-9, umfassend eine Verbindungsnachrichtenkopf-Analyseeinrichtung zum:
      • Bestimmen, ob eine von der Verbindungsschnittstelle von einer anderen System-on-a-Chip-Verbindungsschnittstelle empfangene Nachricht eine verschlüsselte Nachricht ist;
      • Weiterleiten der Nachricht an die kryptographische Schaltung, wenn die Nachricht eine verschlüsselte Nachricht ist; und
      • Leiten der Nachricht an die Verbindungsschnittstelle, wenn die Nachricht keine verschlüsselte Nachricht ist.
    • Ausführungsform 12: Ein System für ein Sicherheits-Plug-in einer System-on-a-Chip-Plattform, wobei das System umfasst:
      • einen Sicherheitsblock, der enthält:
        • eine kryptographische Schaltung, die enthält:
          • eine kryptographische Maschine, die aus einer Vielzahl kryptographischer Maschinen ausgewählt ist; und
          • eine Standardschnittstelle, die für die Vielzahl kryptographischer Maschinen generisch ist, wobei die Standardschnittstelle bidirektional zwischen der kryptographischen Maschine und einem Anforderer ist;
        • eine kryptographische Steuereinrichtung zum Verwalten eines kryptographischen Schlüssels, der von der kryptographischen Maschine verwendet wird; und
        • eine kryptographische Zustandsverwaltungseinrichtung zum Verwalten von kryptographischen Sitzungszuständen zwischen einer Initiatorkomponente und einer Zielkomponente; und
        • einen System-on-a-Chip-Verbindungsendpunkt, der mit einer Verbindung des System-on-a-Chip gekoppelt ist, wobei die Verbindung mit einer Vielzahl von System-on-a-Chip-Verbindungsendpunkten gekoppelt ist, wobei die Vielzahl von System-on-a-Chip-Verbindungsendpunkten mit Komponenten des System-on-a-Chip gekoppelt ist, wobei die System-on-a-Chip-Verbindungsschnittstelle umfasst:
          • einen einer Komponente zugewandten Transceiver zum Senden oder Empfangen von Komponentennachrichten an/von Komponenten;
          • einen Verbindungspaketierer zum Umwandeln einer von einer Komponente empfangenen Komponentennachricht in eine Verbindungsnachricht und Umwandeln der von einem anderen Verbindungsendpunkt empfangenen Verbindungsnachricht in eine Komponentennachricht; und
          • eine Sicherheitsverbindung, die mit der Standardschnittstelle der kryptographischen Schaltung des Sicherheitsblocks konform ist, wobei die Sicherheitsverbindung zwischen Kommunikationen des einer Komponente zugewandten Transceivers und des Verbindungspaketierers eingefügt ist, wobei eine Komponentennachricht, die von dem einer Komponente zugewandten Transceiver empfangen wird, über die Standardschnittstelle an die Sicherheitsschaltung geleitet wird, um eine verschlüsselte Nachricht zu erzeugen, die über die Standardschnittstelle zurückgegeben wird, um von dem Verbindungspaketierer vor der Übertragung auf der Verbindung paketiert zu werden.
    • Ausführungsform 13: Das System nach Ausführungsform 12, wobei der Verbindungsendpunkt eine Verbindungskopf-Analyseeinrichtung enthält, um festzustellen, ob eine von der Verbindung empfangene Nachricht verschlüsselt ist, und die Nachricht über die Sicherheitsverbindung an den Sicherheitsblock weiterzuleiten, wenn sie verschlüsselt ist, und andernfalls die Sicherheitsverbindung zu umgehen.
    • Ausführungsform 14: Ein Verfahren zum Verwenden eines Sicherheits-Plug-ins für einen System-on-a-Chip, wobei das Verfahren umfasst:
      • Empfangen einer Komponentennachricht an einem Bus-Endpunkt von einer System-on-a-Chip-Komponente;
      • Leiten der Komponentennachricht durch den Bus-Endpunkt an eine Sicherheitskomponente über eine Sicherheitsverbindung;
      • Empfangen der Komponentennachricht durch die Sicherheitskomponente über die Sicherheitsverbindung;
      • Verschlüsseln der Komponentennachricht unter Verwendung einer kryptographischen Maschine, wobei die kryptographische Maschine eine von einer Vielzahl kryptographischer Maschinen ist, wobei die Sicherheitsverbindung für alle der Vielzahl kryptographischer Maschinen die gleiche ist;
      • Kommunizieren der verschlüsselten Nachricht an den Bus-Endpunkt über die Sicherheitsverbindung; und
      • Übertragen der verschlüsselten Nachricht über die Verbindung durch den Bus-Endpunkt.
    • Ausführungsform 15: Das Verfahren nach Ausführungsform 14, wobei Verschlüsseln der Komponentennachricht Hinzufügen eines Nachrichtenintegritätselements aus einer Nachrichtenintegritätsschaltung der Sicherheitskomponente enthält.
    • Ausführungsform 16: Das Verfahren nach Ausführungsform 15, umfassend:
      • Empfangen einer zweiten verschlüsselten Nachricht über die Verbindung;
      • Weiterleiten der zweiten verschlüsselten Nachricht an die Sicherheitskomponente, um die Integrität der zweiten verschlüsselten Nachricht zu überprüfen; und
      • Verwerfen der zweiten verschlüsselten Nachricht als Reaktion darauf, dass die Integrität der zweiten verschlüsselten Nachricht nicht überprüft werden konnte.
    • Ausführungsform 17: Das Verfahren nach Ausführungsform 16, wobei die zweite verschlüsselte Nachricht ein ungültiges Nachrichtenintegritätselement enthält.
    • Ausführungsform 18: Das Verfahren nach Ausführungsform 14, umfassend:
      • Empfangen einer zweiten verschlüsselten Nachricht über die Verbindung;
      • Lesen eines Nachrichtenkopfes für die zweite verschlüsselte Nachricht, um festzustellen, dass sie verschlüsselt ist;
      • Leiten der zweiten verschlüsselten Nachricht durch den Bus-Endpunkt an die Sicherheitskomponente über die Sicherheitsverbindung;
      • Entschlüsseln der zweiten verschlüsselten Nachricht durch die Sicherheitskomponente, um eine zweite Komponentennachricht zu erstellen; und
      • Übertragen der zweiten Komponentennachricht an die System-on-a-Chip-Komponente.
    • Ausführungsform 19: Das Verfahren nach Ausführungsform 14, umfassend:
      • Empfangen einer zweiten Komponentennachricht mit einer Initiatorkennung und einer Zielkennung;
      • Zugreifen auf eine Registrierung von Sicherheitsattributen der Initiatoren, um basierend auf der Initiatorkennung und der Zielkennung festzustellen, dass eine Initiatorkomponente keinen Zugriff auf eine Zielkomponente hat; und
      • Verwerfen der zweiten Komponentennachricht als Reaktion auf das Feststellen, dass eine Initiatorkomponente keinen Zugang auf eine Zielkomponente hat.
    • Ausführungsform 20: Das Verfahren nach Ausführungsform 14, umfassend Herstellen einer kryptographischen Sitzung für eine Kommunikation zwischen der System-on-a-Chip-Komponente und einer Zielkomponente.
    • Ausführungsform 21: Das Verfahren nach Ausführungsform 20, wobei ein Sitzungsschlüssel für die kryptographische Sitzung von der kryptographischen Maschine zum Verschlüsseln der Komponentennachricht verwendet wird.
    • Ausführungsform 22: Das Verfahren nach Ausführungsform 14, wobei jede vom Bus-Endpunkt übertragene Nachricht von der Sicherheitskomponente verschlüsselt wird. Ausführungsform 23: Das Verfahren nach Ausführungsform 22, wobei jede Nachricht, die einen Bus durchläuft, zu dem der Bus-Endpunkt ein Endpunkt ist, durch entsprechende Sicherheitskomponenten in Endpunkten des Busses verschlüsselt wird.
    • Ausführungsform 24: Ein System für ein Sicherheits-Plug-in für eine System-on-a-Chip-Plattform, wobei das System Mittel zum Durchführen eines Verfahrens nach Ausführungsformen 14-23 umfasst.
    • Ausführungsform 25: Mindestens ein maschinenlesbares Medium, das Anweisungen enthält, die, wenn sie von einer Maschine ausgeführt werden, die Maschine dazu veranlassen, Operationen für ein Sicherheits-Plug-in für eine System-on-a-Chip-Plattform auszuführen, wobei die Operationen ein Verfahren nach Ausführungsformen 14-23 implementieren.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 14/577812 [0001]

Claims (4)

  1. Vorrichtung für einen System-on-a-Chip, wobei die Vorrichtung umfasst: eine kryptographische Schaltung, die enthält: eine Vielzahl kryptographischer Maschinen, die eine erste kryptographische Maschine enthalten, wobei die Vielzahl kryptographischer Maschinen jeweils Advanced Encryption Standard (AES) implementieren; und eine Standardschnittstelle, die für die Vielzahl kryptographischer Maschinen generisch ist, wobei im Betrieb unverschlüsselte Nachrichten von einer Initiatorkomponente, die von einer System-on-a-Chip-Verbindungsschnittstelle empfangen werden, über die Standardschnittstelle an die Vielzahl kryptographischer Maschinen bereitgestellt werden, um verschlüsselte Nachrichten zu erzeugen, die an eine Zielkomponente übertragen werden, wobei die Standardschnittstelle dazu dient, jede der unverschlüsselten Nachrichten für eine Schnittstelle einer zugeordneten kryptographischen Maschine der Vielzahl kryptographischer Maschinen zu übersetzen, wodurch jede der Vielzahl kryptographischer Maschinen für eine Verbindung des System-on-a-Chips verfügbar gemacht wird; eine kryptographische Steuereinrichtung zum Verwalten eines kryptographischen Schlüssels, der von der ersten kryptographischen Maschine zum Erzeugen einer verschlüsselten Nachricht verwendet wird, wobei die kryptographische Steuereinrichtung Schlüsselaushandlung mit einer anderen Komponente durchführt; und eine kryptographische Zustandsverwaltungseinrichtung zum Verwalten von kryptographischen Sitzungszuständen einer kryptographischen Sitzung zwischen der Initiatorkomponente und der Zielkomponente, wobei die kryptographische Zustandsverwaltungseinrichtung eine Datenstruktur pflegt, wobei die Datenstruktur ein Feld für einen Sitzungsschlüssel enthält.
  2. Vorrichtung nach Anspruch 1, wobei unterschiedliche kryptographische Schlüssel für verschiedene kryptographische Sitzungen verwendet werden.
  3. Vorrichtung nach Anspruch 1, ferner umfassend eine Verbindung zum Bereitstellen von Inter-Chip-Kommunikation.
  4. System-on-a-Chip, umfassend: die Vorrichtung nach Anspruch 1; und eine Vielzahl von System-on-a-Chip-Komponenten.
DE202015009799.5U 2014-12-19 2015-12-08 Sicherheits-Plug-In für eine System-on-a-Chip-Plattform Active DE202015009799U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/577,812 US10726162B2 (en) 2014-12-19 2014-12-19 Security plugin for a system-on-a-chip platform
US14/577,812 2014-12-19

Publications (1)

Publication Number Publication Date
DE202015009799U1 true DE202015009799U1 (de) 2020-03-17

Family

ID=56127363

Family Applications (3)

Application Number Title Priority Date Filing Date
DE202015009801.0U Active DE202015009801U1 (de) 2014-12-19 2015-12-08 Sicherheits-Plug-In für eine System-on-a-Chip-Plattform
DE202015009799.5U Active DE202015009799U1 (de) 2014-12-19 2015-12-08 Sicherheits-Plug-In für eine System-on-a-Chip-Plattform
DE202015009800.2U Active DE202015009800U1 (de) 2014-12-19 2015-12-08 Sicherheits-Plug-In für eine System-on-a-Chip-Plattform

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE202015009801.0U Active DE202015009801U1 (de) 2014-12-19 2015-12-08 Sicherheits-Plug-In für eine System-on-a-Chip-Plattform

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE202015009800.2U Active DE202015009800U1 (de) 2014-12-19 2015-12-08 Sicherheits-Plug-In für eine System-on-a-Chip-Plattform

Country Status (5)

Country Link
US (4) US10726162B2 (de)
EP (2) EP3525392A1 (de)
CN (2) CN111859472B (de)
DE (3) DE202015009801U1 (de)
WO (1) WO2016100012A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10726162B2 (en) 2014-12-19 2020-07-28 Intel Corporation Security plugin for a system-on-a-chip platform
EP3304859A1 (de) * 2015-05-26 2018-04-11 Frigerio, Tommaso Telekommunikationssystem zur sicheren übertragung von daten darin und vorrichtung im zusammenhang damit
US9710401B2 (en) 2015-06-26 2017-07-18 Intel Corporation Processors, methods, systems, and instructions to support live migration of protected containers
US10664179B2 (en) 2015-09-25 2020-05-26 Intel Corporation Processors, methods and systems to allow secure communications between protected container memory and input/output devices
US10187375B1 (en) * 2016-04-22 2019-01-22 Walgreen Co. Cryptographic services engine
CN109643351B (zh) 2016-08-30 2023-12-15 株式会社索思未来 处理装置、半导体集成电路以及半导体集成电路的启动方法
JP7078633B2 (ja) * 2017-03-08 2022-05-31 ヒタチ・エナジー・スウィツァーランド・アクチェンゲゼルシャフト ネットワーク内のデータパケットの相対的なタイミングと順序を保持するための方法および装置
EP3373183B1 (de) * 2017-03-09 2020-10-28 STMicroelectronics Srl System mit soc-verbindungen zwischen ip und mehreren gpios und zugehöriges verfahren
IT201700057307A1 (it) * 2017-05-26 2018-11-26 St Microelectronics Srl Sistema ip-gpio, apparecchiatura e procedimento corrispondenti
US11093653B2 (en) 2018-05-24 2021-08-17 Texas Instruments Incorporated Secure message routing
US11632235B2 (en) * 2019-04-09 2023-04-18 Samsung Electronics Co., Ltd. Method and apparatus for handling security procedure in mc communication system
US11550917B2 (en) * 2019-06-28 2023-01-10 Intel Corporation Standardized interface for intellectual property blocks
US11250167B2 (en) * 2019-09-26 2022-02-15 Intel Corporation Secure external SoC debugging
GB2591978B (en) * 2019-10-07 2023-06-21 Siemens Ind Software Inc Message Monitoring
US11294849B1 (en) * 2020-11-20 2022-04-05 Dell Products L.P. Systems and methods for in-band pulse-addressable multiplexer
US11768963B2 (en) * 2021-01-22 2023-09-26 Nxp Usa, Inc. System and method for validating trust provisioning operation on system-on-chip
KR20230145167A (ko) * 2021-04-09 2023-10-17 구글 엘엘씨 보안 칩-와이드 통신
FR3135585A1 (fr) * 2022-05-13 2023-11-17 Stmicroelectronics S.R.L. Routeur

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559889A (en) * 1995-03-31 1996-09-24 International Business Machines Corporation System and methods for data encryption using public key cryptography
US5828753A (en) * 1996-10-25 1998-10-27 Intel Corporation Circuit and method for ensuring interconnect security within a multi-chip integrated circuit package
US6295604B1 (en) * 1998-05-26 2001-09-25 Intel Corporation Cryptographic packet processing unit
US7140005B2 (en) * 1998-12-21 2006-11-21 Intel Corporation Method and apparatus to test an instruction sequence
US6389537B1 (en) * 1999-04-23 2002-05-14 Intel Corporation Platform and method for assuring integrity of trusted agent communications
DE10025321A1 (de) 2000-05-22 2002-01-10 Wolff Walsrode Ag Folienlaminate als Hochbarrierefolien und deren Verwendung in Vakuumisolierpaneelen
US7100133B1 (en) * 2000-06-23 2006-08-29 Koninklijke Philips Electronics N.V Computer system and method to dynamically generate system on a chip description files and verification information
US20020104004A1 (en) * 2001-02-01 2002-08-01 Bruno Couillard Method and apparatus for synchronizing real-time clocks of time stamping cryptographic modules
US6578174B2 (en) * 2001-06-08 2003-06-10 Cadence Design Systems, Inc. Method and system for chip design using remotely located resources
US8788996B2 (en) * 2003-09-15 2014-07-22 Nvidia Corporation System and method for configuring semiconductor functional circuits
US20050132186A1 (en) * 2003-12-11 2005-06-16 Khan Moinul H. Method and apparatus for a trust processor
US7636858B2 (en) * 2003-12-11 2009-12-22 Intel Corporation Management of a trusted cryptographic processor
US8711161B1 (en) * 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
US7620743B2 (en) * 2004-04-01 2009-11-17 Lsi Corporation System and method for implementing multiple instantiated configurable peripherals in a circuit design
US20060059574A1 (en) * 2004-09-10 2006-03-16 International Business Machines Corporation System for securely configuring a field programmable gate array or other programmable hardware
US7340672B2 (en) * 2004-09-20 2008-03-04 Intel Corporation Providing data integrity for data streams
US7987356B2 (en) * 2004-11-29 2011-07-26 Broadcom Corporation Programmable security platform
US20060224883A1 (en) * 2005-03-30 2006-10-05 Intel Corporation Programming interface for configuring network services in a server
EP1802030A1 (de) * 2005-12-23 2007-06-27 Nagracard S.A. Sicheres System-on-Chip
US8438658B2 (en) * 2006-02-02 2013-05-07 International Business Machines Corporation Providing sealed storage in a data processing device
FR2897736B1 (fr) * 2006-02-22 2008-04-11 Viaccess Sa Procede d'etablissement d'une cle cryptographique, tete de reseau et recepteur pour ce procede, et procede de transmission de signaux
US9177176B2 (en) * 2006-02-27 2015-11-03 Broadcom Corporation Method and system for secure system-on-a-chip architecture for multimedia data processing
US8560863B2 (en) * 2006-06-27 2013-10-15 Intel Corporation Systems and techniques for datapath security in a system-on-a-chip device
US8782249B1 (en) * 2006-09-28 2014-07-15 Rockwell Automation Technologies, Inc. Message engine
US8467527B2 (en) * 2008-12-03 2013-06-18 Intel Corporation Efficient key derivation for end-to-end network security with traffic visibility
US8316258B2 (en) * 2007-05-03 2012-11-20 Oracle America, Inc. System and method for error detection in a data storage system
US20080320263A1 (en) * 2007-06-20 2008-12-25 Daniel Nemiroff Method, system, and apparatus for encrypting, integrity, and anti-replay protecting data in non-volatile memory in a fault tolerant manner
EP2186251B1 (de) * 2007-08-28 2019-10-09 ABB Schweiz AG Echtzeit-kommunikationssicherheit für automatisierungsnetzwerke
US7778166B2 (en) * 2007-11-28 2010-08-17 Intel Corporation Synchronizing sequence numbers among peers in a network
US8532303B2 (en) * 2007-12-14 2013-09-10 Intel Corporation Symmetric key distribution framework for the internet
US8516602B2 (en) * 2008-04-25 2013-08-20 Nokia Corporation Methods, apparatuses, and computer program products for providing distributed access rights management using access rights filters
WO2009140707A1 (en) * 2008-05-21 2009-11-26 Technische Universität Wien Cross-domain soc architecture for dependable embedded applications
EP2350910B1 (de) * 2008-11-24 2018-07-25 Certicom Corp. System und verfahren für hardwarebasierte sicherheit
US8281122B2 (en) * 2009-03-02 2012-10-02 Intel Corporation Generation and/or reception, at least in part, of packet including encrypted payload
US20100278338A1 (en) 2009-05-04 2010-11-04 Mediatek Singapore Pte. Ltd. Coding device and method with reconfigurable and scalable encryption/decryption modules
US8675674B2 (en) 2009-12-23 2014-03-18 Citrix Systems, Inc. Systems and methods for queue level SSL card mapping to multi-core packet engine
US8799673B2 (en) * 2009-12-31 2014-08-05 Intel Corporation Seamlessly encrypting memory regions to protect against hardware-based attacks
US8873746B2 (en) * 2010-01-28 2014-10-28 Intel Corporation Establishing, at least in part, secure communication channel between nodes so as to permit inspection, at least in part, of encrypted communication carried out, at least in part, between the nodes
US8332631B2 (en) * 2010-11-22 2012-12-11 Intel Corporation Secure software licensing and provisioning using hardware based security engine
WO2013089725A1 (en) * 2011-12-15 2013-06-20 Intel Corporation Method and device for secure communications over a network using a hardware security engine
US20130275769A1 (en) * 2011-12-15 2013-10-17 Hormuzd M. Khosravi Method, device, and system for protecting and securely delivering media content
WO2013095411A1 (en) * 2011-12-21 2013-06-27 Intel Corporation INCORPORATING ACCESS CONTROL FUNCTIONALITY INTO A SYSTEM ON A CHIP (SoC)
US9092644B2 (en) * 2011-12-28 2015-07-28 Intel Corporation Method and system for protecting memory information in a platform
WO2013147908A1 (en) * 2012-03-31 2013-10-03 Intel Corporation Methods and systems for cryptographic access control of video
WO2014047135A2 (en) * 2012-09-18 2014-03-27 Interdigital Patent Holdings, Inc. Generalized cryptographic framework
US9436623B2 (en) * 2012-09-20 2016-09-06 Intel Corporation Run-time fabric reconfiguration
KR101458479B1 (ko) * 2012-10-12 2014-11-07 한국전자통신연구원 세션상태정보의 암호화 및 복호화 방법
US20140173249A1 (en) 2012-12-18 2014-06-19 Nvidia Corporation System and method for connecting a system on chip processor and an external processor
US9165143B1 (en) * 2013-03-15 2015-10-20 Xilinx, Inc. Image file generation and loading
US9256551B2 (en) * 2013-08-09 2016-02-09 Apple Inc. Embedded encryption/secure memory management unit for peripheral interface controller
US9716708B2 (en) * 2013-09-13 2017-07-25 Microsoft Technology Licensing, Llc Security certificates for system-on-chip security
US9124421B2 (en) * 2013-12-04 2015-09-01 Intel Corporation Data prioritization, storage and protection in a vehicular communication system
KR102263880B1 (ko) * 2014-06-19 2021-06-11 삼성전자주식회사 호스트 컨트롤러 및 시스템-온-칩
CN104202161B (zh) * 2014-08-06 2018-05-04 广东电网公司电力科学研究院 一种SoC密码芯片
US10726162B2 (en) 2014-12-19 2020-07-28 Intel Corporation Security plugin for a system-on-a-chip platform

Also Published As

Publication number Publication date
US20220405427A1 (en) 2022-12-22
CN107004097A (zh) 2017-08-01
US20160180114A1 (en) 2016-06-23
CN111859472A (zh) 2020-10-30
US20200356699A1 (en) 2020-11-12
WO2016100012A1 (en) 2016-06-23
US12093431B2 (en) 2024-09-17
CN111859472B (zh) 2024-01-16
US20230376637A1 (en) 2023-11-23
DE202015009801U1 (de) 2020-03-17
US11768964B2 (en) 2023-09-26
DE202015009800U1 (de) 2020-03-17
EP3235166A4 (de) 2018-06-27
EP3525392A1 (de) 2019-08-14
US11263352B2 (en) 2022-03-01
CN107004097B (zh) 2021-06-08
EP3235166A1 (de) 2017-10-25
EP3235166B1 (de) 2019-02-27
US10726162B2 (en) 2020-07-28

Similar Documents

Publication Publication Date Title
DE202015009799U1 (de) Sicherheits-Plug-In für eine System-on-a-Chip-Plattform
DE112017008311T5 (de) Technologien zur internet-der-dinge-schlüsselverwaltung
DE202017106894U1 (de) System von Enklaven
DE112018007007T5 (de) Verteilte selbstsouveräne identitäten zur virtualisierung von netzwerkfunktionen
CH709936B1 (de) System und Verfahren für das kryptographische Suite-Management.
EP3125492A1 (de) Verfahren und system zum erzeugen eines sicheren kommunikationskanals für endgeräte
DE102004004799B4 (de) Hardware/Software-Partitionierung für verschlüsselte WLAN-Verbindungen
CN104272676A (zh) 通信系统、访问控制装置、交换机、网络控制方法及程序
US20220414224A1 (en) Methods & processes to securely update secure elements
DE112021006319T5 (de) Hochverfügbare kryptografische schlüssel
DE112019003096B4 (de) Abgesicherte kommunikation aus einer nichtflüchtigen speichervorrichtung heraus
Liu et al. Secure Video Streaming with Lightweight Cipher PRESENT in an SDN Testbed.
EP3878149A1 (de) Hardware-sicherheitsmodul
US9288116B2 (en) System and method for NAS server test load generation
DE102020131898A1 (de) Daten-Anonymisierung auf Switch-Basis
EP3149913B1 (de) System und verfahren für eine sichere und anonyme kommunikation in einem netzwerk
DE102022205385A1 (de) End-to-end-flusskontrolle mit zwischengeschalteten medienzugangskontrollsicherheitsgeräte
EP3603012A1 (de) Verfahren und vorrichtung zum schutz einer kommunikation zwischen mindestens einer ersten kommunikationseinrichtung und wenigstens einer zweiten kommunikationseinrichtung insbesondere innerhalb eines kommunikationsnetzwerkes einer industriellen fertigung und/oder automatisierung
DE102014004917A1 (de) Bereitstellen einer virtuellen Verbindung zum Übertragen von Anwendungsdateneinheiten
EP3244332A1 (de) Verfahren zum lesen von attributen aus einem id-token
DE102023201474A1 (de) Bildung von sicheren benutzerdomänen nach bedarf
JP2004328066A (ja) Vpn装置
DE202024100118U1 (de) Blockchain-basiertes sicheres Datenverwaltungssystem für IoT-Geräte
DE102018113920A1 (de) Identifikationsprotokoll durch Einsatz von geheimen unbekannten Chriffren

Legal Events

Date Code Title Description
R150 Utility model maintained after payment of first maintenance fee after three years
R150 Utility model maintained after payment of first maintenance fee after three years
R207 Utility model specification
R151 Utility model maintained after payment of second maintenance fee after six years
R152 Utility model maintained after payment of third maintenance fee after eight years