Zephyrnet-logo

Beveiliging van PCIe Transaction Layer Packet (TLP)-overdrachten tegen digitale aanvallen - Semiwiki

Datum:

In de snel veranderende wereld van datacommunicatie gaat de honger naar snelle gegevensoverdracht gepaard met een groeiende behoefte aan vertrouwelijkheid en integriteit van gegevens. De razend populaire PCIe-interfacestandaard voor connectiviteit heeft niet alleen de gegevensoverdrachtsnelheden verhoogd, maar heeft ook een Integrity and Data Encryption (IDE)-beveiligingsoptie geïntroduceerd. De introductie van IDE-functies in PCIe maakt de verwerking van hogere gegevensbandbreedtes mogelijk terwijl de gegevens worden gecodeerd om de integriteit te behouden.

Siemens EDA heeft een whitepaper gepubliceerd waarin de encryptiestroom wordt besproken die wordt gebruikt in IDE Transaction Layer Packets (TLP's) in PCIe en de onderliggende softwarestack. In de paper wordt uitgelegd hoe IDE zorgt voor beveiliging tegen digitale aanvallen op TLP's die worden overgedragen van de zender naar de ontvanger, inclusief link-to-link-verbindingen en apparaten die zijn aangesloten via schakelaars. De TLP's worden versleuteld met behulp van sleutels die worden uitgewisseld tijdens IDE-sleutelbeheer. Verder legt de whitepaper de onderliggende protocollen uit die in IDE worden gebruikt, waaronder gegevensobjectuitwisseling (DOE), componentmeting en authenticatie (CMA) en beveiligingsprotocol en gegevensmodel (SPDM).

Uitwisseling van gegevensobjecten (DOE)

Data Object Exchange (DOE) in PCIe is een uitgebreide mogelijkheid die is geïntroduceerd om verschillende soorten data-objecten tussen apparaten over te dragen. Elke leverancier kan specifieke gegevensobjecten definiëren, die worden geïdentificeerd door een leveranciers-ID die is toegewezen door PCI-SIG. Gegevens worden overgedragen als gegevensobjecten, één dubbel woord (32-bits) per keer, waarbij pakketten worden gevormd via configuratieschrijftransacties in PCIe. Het verzendende apparaat stelt de DOE go-bit in na het verzenden van de volledige lengte van het data-object. Het ontvangende apparaat verbruikt de gegevens en begint een reactie te vormen. Zodra het antwoord klaar is, zet het ontvangende apparaat de DOE-dataobject-ready-bit in zijn configuratieruimte. De zender leest het antwoord met één dubbel woord tegelijk totdat de data-object gereed-bit hoog is. Dit proces maakt de overdracht van gegevens van het ene apparaat naar het andere mogelijk.

Componentmeting en authenticatie (CMA)

De Component Measurement and Authentication (CMA)-functie in PCIe is afhankelijk van het onderliggende Security Protocol and Data Model (SPDM)-protocol. CMA gebruikt de DOE-functie om pakketten over te dragen voor het tot stand brengen van een veilige verbinding. Binnen het CMA/SPDM-framework wordt de authenticiteit van aangesloten apparaten geverifieerd met behulp van digitale handtekeningen en cryptografie met openbare sleutels. Dit proces zorgt ervoor dat de apparaten die betrokken zijn bij de verbinding echt en vertrouwd zijn. Zodra de authenticiteit van de aangesloten apparaten is vastgesteld, wordt er een veilige verbinding tot stand gebracht tussen de aanvrager en de responder. Het beveiligde CMA/SPDM-protocol wordt vervolgens gebruikt om gegevensobjecten veilig over te dragen. De gegevensobjecten worden verzonden met behulp van het onderhandelde algoritme dat werd gebruikt tijdens het tot stand brengen van de beveiligde verbinding.

IDE-sleutelbeheer

IDE-sleutelbeheer wordt gebruikt om sleutels uit te wisselen die zullen worden gebruikt om IDE TLP's te coderen. Het proces omvat het uitwisselen van sleutels per substream voor zowel het verzenden als het ontvangen van TLP's. Er kunnen twee sets sleutels zijn die worden geïdentificeerd door de K-bit in het IDE-voorvoegsel, waarbij elke set verschillende sleutels bevat voor de Tx- en Rx-richtingen. Er zijn zeven verschillende soorten pakketten betrokken bij het IDE-sleutelbeheerproces, elk geïdentificeerd door een object-ID-veld. De volledige details worden beschreven in het witboek.

Integriteit en gegevensversleuteling (IDE)

Het doel van het beveiligen van gegevensoverdrachten is niet alleen het voorkomen van ongeoorloofde toegang, maar ook om sabotage te voorkomen. Zelfs met codering is het mogelijk dat aanvallers de gegevens kunnen wijzigen zonder medeweten van de ontvanger, tenzij er een controle is op de gegevensintegriteit. De Message Authentication Code (MAC)-functie van het IDE-mechanisme maakt controle van de gegevensintegriteit mogelijk. Een veilige status wordt bereikt door een beveiligde verbinding tot stand te brengen met behulp van CMA/SPDM, configuratie van sleutels met behulp van IDE-sleutelbeheer en IDE inschakelen door de IDE-activeringsbit in te stellen. De whitepaper gaat in op de details van de gegevensstroom van verzenden en ontvangen en het versleuteling/ontsleutelingsproces van de Advanced Encryption Standard-Galois/Counter Mode (AES-GCM) met behulp van sleutels en initialisatievectoren. Op basis van de MAC-controle kan een IDE-stream worden gemarkeerd als zijnde in beveiligde of onveilige toestand. Een IDE-stream kan overgaan van een beveiligde naar een onveilige status als de beveiligingsconditie in het gedrang komt.

PCIe TLP-codering

PCIe TLP-decodering

Het IDE-mechanisme biedt ook flexibiliteit bij het beveiligen van TLP-overdrachten. Het tot stand brengen van een IDE-stream tussen twee poorten kan worden bereikt door verbinding te maken met behulp van Link IDE of Selective IDE. Wanneer er een switch aanwezig is tussen de poorten, wordt selectieve IDE gebruikt om de pakketten die daartussen worden overgedragen te versleutelen. Link IDE en selectieve IDE kunnen onafhankelijk of samen werken voor direct aangesloten poorten.

Link IDE en selectieve IDE

Verificatie van IDE-functie met Questa VIP van Siemens EDA

Siemens QVIP dient als een uitgebreide verificatieoplossing die ondersteuning biedt voor het volledige verificatieproces van IDE-functies. Het omvat het genereren van prikkels, controles van beweringen, mogelijkheden voor foutinjectie en uitgebreide sequentiebibliotheken. De aanwezigheid van debug- en logfuncties verbetert de efficiëntie en effectiviteit van het verificatieproces verder.

Samengevat

De whitepaper gaat ook in op de details van IDE TLP-voorvoegsels (M-bit, K-bit, T-bit en P-bit) en welk doel ze dienen. De aanwezigheid van het M-bit in een IDE-voorvoegsel geeft bijvoorbeeld aan of er een MAC aanwezig is of niet. Het artikel behandelt ook TLP-aggregatie waarmee meerdere TLP's kunnen worden gecombineerd tot een enkele eenheid voor verzending om een ​​hogere doorvoer te bereiken.

De whitepaper zal waardevol zijn voor iedereen die betrokken is bij het implementeren van gegevensintegriteit en beveiliging voor op PCIe gebaseerde systemen.

Lees ook:

Sterker uit de recessie komen

Chipletmodellering en workflowstandaardisatie via CDX

Tessent SSN maakt aanzienlijke testtijdbesparingen mogelijk voor SoC ATPG

Deel dit bericht via:

spot_img

Laatste intelligentie

spot_img

Chat met ons

Hallo daar! Hoe kan ik u helpen?