Kryptische Cores

Noch vor ein paar Jahren drehte sich ein Großteil der Nachrichten aus der EDA-Welt um Intellectual-Property, oder IP. Firmen wurden gegründet und verkauft oder aufgelöst, Venture-Capital-Millionen verpufften einfach. Das eigentlich überzeugende Konzept der IP-Blöcke konnte sich nicht wirklich durchsetzen. Eigentlich schade.

Noch vor ein paar Jahren drehte sich ein Großteil der Nachrichten aus der EDA-Welt um Intellectual-Property, oder IP. Firmen wurden gegründet und verkauft oder aufgelöst, Venture-Capital-Millionen verpufften einfach. Das eigentlich überzeugende Konzept der IP-Blöcke konnte sich nicht wirklich durchsetzen. Eigentlich schade.

Wertsteigerndes IP kam im IC-Design bereits vor mehr als zehn Jahren ins Spiel und bot Entwicklern reizvolle Perspektiven. Man erhoffte sich eine Verkürzung der Entwicklungszeit bei gleichzeitiger deutlicher Verbesserung des Designs. Wie man weiß, haben sich diese Erwartungen in der Praxis nicht in vollem Umfang erfüllt. Kein Zweifel – es ist äußerst überzeugendes IP auf den Markt gekommen, doch es existiert noch Nachholbedarf bezüglich der Effektivität, mit der dieses IP in einen Designflow integriert werden kann. Bisher fehlte es den Designern an einer einheitlichen Möglichkeit, das gewählte IP-Element mit dem im Einzelfall vorhandenen Bestand an Designtools zu nutzen.  

Der Kern dieses Problems liegt in der Notwendigkeit für IP-Anbieter, ihre Entwicklungs- Investitionen zu schützen. Da sich nur wenige IC-Designer die enormen Kosten für den IP-Quellcode leisten können, bieten die IP-Zulieferer ihre Produkte auch in Form von preisgünstigeren, verschlüsselten und nur für bestimmte Designtools konzipierten Black-Box-Lösungen an. Dies zwingt den IP-Anbieter, mehrere Versionen für die unterschiedlichen Toolpakete vorzuhalten. Entscheidender ist jedoch, dass hieraus für viele Designer eine unvollständige Lösung resultiert, denn die Mehrzahl der heute im Einsatz befindlichen Toolsätze besteht aus EDA-Lösungen unterschiedlicher Provenienz. Die Verwendung von verschlüsseltem IP im gesamten Flow gestaltet sich für IC-Designer deshalb häufig schwierig. Ein solcher »Back-Box-Flow« beeinträchtigt das Debuggen und Analysieren der Designs und hindert auch die EDA-Tools daran, optimale Resultate hervorzubringen. 

Synplicity hat eine offene Methode zur Ver- und Entschlüsselung von IP entwickelt, um der Forderung nach Schutz vor IP-Piraterie nachzukommen und dem IP-Zulieferer das Deployment, dem IC-Designer die Anwendung und dem EDA Anbieter die Unterstützung des IP zu erleichtern. Diese nicht proprietäre Lösung nutzt andere Entwicklungen wie etwa IEEE 1364-2005 für Verilog sowie gängige Verschlüsselungsmechanismen innerhalb eines Nutzungskonzepts, welches durchaus zu einem Industriestandard werden könnte. So gerüstet, können IP- und EDA-Anbieter Lösungen zur Verfügung stellen, die so viel Flexibilität und Sicherheit bieten, dass Designer in ihren Entwicklungsprojekten das gesamte Potenzial des IP ausschöpfen können.

Verschlüsseln inbegriffen 

Bis vor kurzem war ein interoperables und allgemein zugängliches IP-Verschlüsselungsverfahren nicht machbar, da entscheidende Elemente entweder fehlten oder noch nicht als solche erkannt waren. Entscheidende Entwicklungen auf dem Gebiet der Verschlüsselungsverfahren und der EDA-Standards konnten diese technischen Hindernisse allerdings aus dem Weg räumen. Das von Synplicity gewählte Konzept stellt eine Synthese aus diesen Entwicklungen dar. Ein entscheidender Bestandteil dieser Kombination ist die Umwandlung des IP-Quellcodes in ein sicheres, nur von freigegebenen Tools lesbares Format. 

Man teilt Verschlüsselungsverfahren traditionell in symmetrische und asymmetrische Techniken ein. Bei symmetrischen Algorithmen dient ein und derselbe geheime Schlüssel dem Anbieter zum Chiffrieren des IP-Elements und dem Anwender zum Entschlüsseln. Symmetrische Kryptografie ist in aller Regel schnell und kostengünstig. Allerdings bestehen hier Sicherheitsbedenken, da der Anwender Zugriff auf den Schlüssel haben muss. Das Risiko, dass ein Schlüssel geknackt oder von einem der Zehntausenden von IP-Anwendern weltweit offen gelegt wird, möchte kaum ein IP-Anbieter eingehen. Um diese Gefahr zu bannen, haben IP-Anbieter beispielsweise versucht, jeweils einen eigenen Schlüssel für jeden EDA-Anbieter zu benutzen. Das einzelne EDA-Unternehmen muss dann wiederum besondere Schlüssel für jeden unterstützten Halbleiteranbieter verwenden. Hierdurch aber gerät die Situation schnell außer Kontrolle, besonders wenn man zusätzlich die Einführung neuer Softwareversionen und Änderungen der IP-Schlüssel berücksichtigt. Nicht nur, dass sich die Interoperabilität zwischen den Designtools hierdurch schwieriger gestaltet, auch das Sicherheitsrisiko wird hierdurch nicht beseitigt. 

Asymmetrische Algorithmen unterscheiden sich von symmetrischen Lösungen dadurch, dass zwei verschiedene Schlüssel verwendet werden. Für die Verschlüsselung kommt ein so genannter »öffentlicher Schlüssel« (Public Key) zum Einsatz. Diesen stellen die Anbieter all jenen zur Verfügung, die Informationen verschlüsseln müssen. Hinzu kommt der »private Schlüssel« (Private Key). Beide Schlüssel stehen in einem mathematischen Zusammenhang dergestalt, dass der öffentliche Schlüssel das Produkt zweier großer Primzahlen ist, von denen eine als privater Schlüssel dient. Für die asymmetrische Verschlüsselung des IP erzeugt der EDA-Anbieter öffentliche und private Schlüssel, stellt dem IP-Anbieter einen öffentlichen Schlüssel zum Chiffrieren seines IP zur Verfügung und bettet den privaten Schlüssel in chiffrierter Form in seine Tools ein, damit diese das IP dechiffrieren können. Algorithmen dieser Art sind nicht nur schwieriger zu knacken als symmetrische Verfahren, sondern vermeiden auch das Risiko der Offenlegung, da der Endanwender zum Dechiffrieren keinen Zugriff auf den Schlüssel erhalten muss. 

Dennoch hat die asymmetrische Verschlüsselung auch gravierende Nachteile. So muss der IP-Anbieter nach wie vor verschlüsselte IP-Versionen für jeden EDA-Anbieter generieren. Die logistischen Konsequenzen hieraus sind durchaus mit jenen bei der Verwaltung mehrerer Schlüssel bei symmetrischen Verfahren vergleichbar. Entscheidender ist jedoch, dass die Entschlüsselung eines großen IP-Blocks mit rechenaufwändigen asymmetrischen Algorithmen Stunden dauern kann, sodass diese Technik für den Anwender kaum praktikabel ist. 

Anders sieht es bei einem Hybrid-Verschlüsselungsverfahren aus. Dies kombiniert die Stärken symmetrischer und asymmetrischer Verfahren, um den hohen Sicherheits- und Produktivitätserwartungen aller Beteiligten gerecht zu werden. In einem hybriden IP-Kryptosystem (Bild 1) generiert der IP-Anbieter einen symmetrischen Schlüssel, mit dem er sein IP zügig chiffrieren kann. Anschließend kodiert der IP-Anbieter den zuvor verwendeten Schlüssel mit Hilfe eines asymmetrischen Algorithmus und dem öffentlichen Schlüssel des EDA-Anbieters. Dieser Vorgang wird für jeden unterstützten EDA-Anbieter wiederholt. Da dieser Schlüssel keinen allzu großen Datenumfang darstellt, geht die asymmetrische Verschlüsselung selbst für mehrere EDA-Anbieter sehr schnell vonstatten. Der IP-Provider fasst das verschlüsselte IP und die chiffrierten Schlüssel für alle EDA-Anbieter in einer einzigen großen Datei zusammen, die er an alle Kunden in einheitlicher Form ausliefert. EDA-Tools, die diese Methode unterstützen, finden in den ergänzenden Informationen zum IP ausreichende Angaben, um dieses umfassend nutzen zu können, wenn es der Endanwender in ein Design integriert.