Kryptische Cores

11. April 2007, 15:42 Uhr | Andrew Dauman
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Kryptische Cores

Mit dem privaten Schlüssel des IP-Anbieters ausgestattet, kann das EDA-Tool die Schlüssel und das IP selbst dechiffrieren, das IP mit den unverschlüsselten Elementen des Designs kombinieren, das gesamte Design verarbeiten und anschließend die proprietären Bestandteile des Resultats wieder mit den ursprünglich benutzten Schlüsseln chiffrieren. Jedes EDA-Tool verwendet seinen eigenen privaten Schlüssel für den Zugriff auf den besonderen symmetrischen Schlüssel des IP-Anbieters. Sämtliche Entschlüsselungs-, Datenmanipulations- und Verschlüsselungsaktivitäten erfolgen somit innerhalb der EDA-Applikationen. Das unverschlüsselte IP wird dem Endanwender zu keiner Zeit offen gelegt, und die Dechiffrierung der Dateien erfolgt ausschließlich im Speicher ohne jegliche Auslagerung auf Plattenspeicher. 

Abgesehen von der Hybrid- Verschlüsselung hat eine weitere entscheidende Entwicklung zum Entstehen eines offenen IP-basierten Designflows beigetragen, nämlich die zurzeit in Standard- Designsprachen und Datenformaten erscheinenden Mechanismen zur Einbettung von Verschlüsselungsverfahren. Der jüngst vorgelegte Verilog-Standard IEEE 1364-2005 und der bevorstehende VHDL-Standard 2006 sind beide kompatibel zu einem Hybrid-Verschlüsselungsverfahren. 

Die Standards ermöglichen dem IP-Anbieter außerdem die Wahl der zu verwendenden Verschlüsselungsmethode und bieten auch die Flexibilität, einzelne Elemente, die mehr Transparenz erfordern (z.B. Verifikation und Debugging), in bestimmten Phasen des Designprozesses partiell zu dechiffrieren. 

Sinnvoll verschlüsseln 

Da die Schlüssel ebenso wie die Ver- und Entschlüsselung allesamt in der EDA-Umgebung und für den Anwender transparent abgewickelt werden, erfordert der beschriebene Ablauf keinerlei Einwirkung seitens des IC-Designers. 

Das Verfahren, bei dem die IP-Provider lediglich einen symmetrischen privaten Schlüssel generieren und den jeweiligen symmetrischen Schlüssel mit dem öffentlichen Schlüssel des einzelnen EDA-Anbieters chiffrieren, trägt durch den geringen Aufwand den Anforderungen der Anwender Rechnung. 

Allein schon die Tatsache, dass lediglich eine einzige (nicht allzu große) Datei pro IP-Core nötig ist, zeigt, dass der Ablauf recht einfach vonstatten geht. Wer die Verwendung seiner IP mit den Tools eines bestimmten EDA-Anbieters ermöglichen möchte, nutzt den öffentlichen Schlüssel des Toolherstellers. 

Die hybride IP-Chiffrierung ist kein allzu komplexer Vorgang und gestaltet sich beispielsweise deutlich einfacher als frühere Methoden. Zum Beispiel kann der Codeentwickler seinen Quellcode mit dem von Synplicity frei verfügbaren Perl-Script »protectip « (Schalter siehe Tabelle 1) chiffrieren.

Das Script übernimmt sämtliche Verschlüsselungs- und Packaging-Optionen und bedient sich dazu eines quelloffenen Verschlüsselungs- Utilitys namens »Openssl«. Dieses Utility findet sich in den meisten Linux- Konfigurationen, und auch entsprechende .exe- Dateien für Windows finden sich im Internet.


  1. Kryptische Cores
  2. Kryptische Cores
  3. DES

Jetzt kostenfreie Newsletter bestellen!