Sicherheitsarchitektur von Videospiel-Konsolen - Ruhr
Transcrição
Sicherheitsarchitektur von Videospiel-Konsolen - Ruhr
Sicherheitsarchitektur von Videospiel-Konsolen (am Beispiel des Cell-Prozessors der PlayStation 3) Bachelor-Seminar Systemsicherheit Ruhr-Universität Bochum Wintersemester 2009/2010 Oliver Domke E-mail: [email protected] 20. April 2010 Zusammenfassung Die Anforderungen an die Rechenleistung und Sicherheitsmechanismen aktueller Videospielsysteme nehmen stets zu. In Zeiten von Echtzeitanwendungen, dem Vertrieb digitaler Güter und verstärkter Internetnutzung sind sowohl für die Endkunden als auch für die Hersteller und Entwickler Content Protection, Rechtemanagement und Datenschutz von groÿer Bedeutung. Bisherige softwarebasierte Schutzmechanismen in den Systemen erfüllen diese Ziele durch Implementierungsfehler nur selten. Die Sicherheits-Features des Cell -Mehrkernprozessors in der Sony PlayStation 3 realisieren hingegen eine Sicherheitsarchitektur auf der Hardware-Ebene und ermöglichen Anwendungen, sich selbst vor Angrien durch Software zu schützen. Der Secure Processing Vault bewirkt die physische Isolierung einer Applikation, um Daten und Programmcode vor Manipulation und Abhören zu schützen. Der Secure Runtime Boot authentiziert Anwendungen auch nach dem Einschaltzeitpunkt des Systems zuverlässig und sorgt dafür, dass nur verizierte Programme ausgeführt werden können. Die letzte Kernkomponente des Konzepts, die Hardware Root of Secrecy, gibt anschlieÿend nur isolierten und verizierten Prozessen vertrauliche Daten preis. Durch das Zusammenspiel dieser Hardware-Mechanismen können somit einerseits sicherheitsrelevante Informationen robust geheimgehalten und ausschlieÿlich als vertrauenswürdig eingestuften Anwendungen zur Verfügung gestellt werden; andererseits können Prozesse dadurch gegenüber anderen Parteien (Server, Systemspeicher o.ä.) ihre Identität und Authentizität attestieren und einen sicheren Kommunikationskanal etablieren. 1 Einleitung Videospiele und die Systeme, für die sie entwickelt werden, haben sich in den letzten Jahrzehnten stark verändert. Die Tage, in denen sie als Spielzeuge ein Nischendasein in Kinderzimmern fristeten, sind längst Vergangenheit; die Zeiten, in denen man einfach nur ein Modul einsteckte, das Gerät einschaltete und losspielte, sind seit dem Beginn des 21. Jahrhunderts endgültig vorbei. Die Spieler von heute sind im Durchschnitt 35 Jahre alt und verursachen einen weltweiten Jahresumsatz von mehr als 30 Milliarden US-Dollar[1, 2]. Der Deutsche Kulturrat hat 2007 den Bundesverband für Entwickler von Computerspielen (G.A.M.E.) als Mitglied aufgenommen und setzt sich fortan oziell für Computer- und 1 Videospiele als Kulturgut ein[3]. Die insbesondere von der älteren Generation oft verpönte Unterhaltungssoftware ist aus dem heutigen Leben nicht mehr wegzudenken. Die Anforderungen an aktuelle Konsolen sind vielfältig. Im Gegensatz zu klassischen digitalen Medien wie Film-DVDs werden dem Benutzer die Daten nicht per Stream geliefert, sondern erst unmittelbar vor ihrer Darstellung meist in Echtzeit und abhängig von den Eingaben durch den Anwender generiert[4]. Die Prozessoren und Grakkarten der Systeme führen die für die Darstellung komplexer optischer Eekte und aufwändiger Animationen nötigen Berechnungen zwar immer schneller und ezienter aus, doch die Trends in der Entwicklung neuer Soft- und insbesondere neuer Hardware gehen mittlerweile weit über das Darstellen von und Interagieren mit virtuellen Welten hinaus, was vorallem durch die Anbindung an das Internet und dessen kontinuierliche Nutzung begründet ist. Die Konsolen der aktuellen Generation - Nintendo Wii, Microsofts Xbox 360 sowie die PlayStation 3 von Sony - sind durch ihre Online-Services Nintendo Wi-Fi Connection, Xbox LIVE und PlayStation Network permanent mit dem World Wide Web verbunden. Während einerseits das Onlinegaming, also Partien wettkämpferischer oder kooperativer Natur mit mehreren Spielern gleichzeitig, für viele Kunden einen (zusätzlichen) Kaufanreiz bei einem Titel darstellt, nutzen andererseits die Konsolenhersteller selbst ihre virtuellen Marktplätze verstärkt zur digitalen Distribution[5]. Durch einen simplen Knopfdruck kann der Konsument virtuelle Güter für echtes Geld erwerben und auf sein System herunterladen. Das Angebot reicht von zusätzlichen Spielinhalten über vollständige Spiele (meist mit geringerem Umfang und zu einem günstigeren Preis als die Ladenversionen) bis hin zu Fernsehserien und Hollywood-Filmen. In diesem verhältnismäÿig neuen Geschäftsbereich steigt natürlich auch der Schutzbedarf der beteiligten Parteien und dadurch das Verlangen nach mehr Sicherheit. Auf der einen Seite stehen die Konsumenten, die ihre persönlichen Daten, wie beispielsweise die Passwörter ihrer Benutzerkonten, vor unbefugtem Zugri schützen möchten. Die bei einem Online-Kauf als Alternative zu Prepaid-Karten verwendeten Kreditkarteninformationen der Nutzer sollten selbstverständlich ebenfalls speziell geschützt werden. Nicht auÿer Acht gelassen werden sollten zudem die Fähigkeiten der aktuellen Konsolen, die Spieler per Text-, Sprach- und Video-Chat miteinander interagieren zu lassen. Vermutlich werden es auch hier viele Kunden begrüÿen, wenn ihre Kommunikation nicht von Dritten abgehört werden kann[6]. Die beteiligten Firmen haben wiederum ein gewisses Interesse daran, ihre Inhalte vor Software-Piraterie zu schützen, da sie als Rechteinhaber der Produkte die Anzahl an Raubkopien verständlicherweise gering halten möchten. Auch Modikationen an der Hardware oder die Installation nicht autorisierter und lizenzierter Software (so genannter Homebrew) sind von den Konsolenherstellern unerwünscht. Nicht zuletzt sollen nach Möglichkeit auch Cheats oder Manipulationen der Software unterbunden werden, da das besonders in Mehrspielerpartien Auswirkungen auf die Spielbalance und somit auf die Fairness haben kann man möchte die ehrlichen Kunden schlieÿlich nicht verärgern oder gar verlieren[7]. Einen sehr interessanten Ansatz für eine Sicherheitsarchitektur in einer Spielkonsole verwendet Sony in der PlayStation 3. Unter Einsatz eines speziellen Prozessors, dem 2 Cell Broadband Engine Prozessor, soll die Konsole nicht nur besonders leistungsstark, sondern auch eine hardwarebasierte Lösungsmöglichkeit für einen Groÿteil der vorstellbaren, sicherheitsrelevanten Aspekte liefern. Im nachfolgenden Kapitel 2 wird die Architektur des Prozessors in groben Zügen vorgestellt, um die Grundlagen für das Verständnis der zur Verfügung stehenden Sicherheitsfeatures zu schaen. In Kapitel 3 werden die einzelnen Cell im Detail präsentiert. Kapitel 4 geht Encrypt-In, Encrypt-Out ein und verdeutlicht mit exemplari- Komponenten der Sicherheitsarchitektur von auf das Programmiermodell schen Einsatzmöglichkeiten, wie die einzelnen Features ezient ausgenutzt werden können. In Kapitel 5 folgt schlieÿlich ein Anwendungsbeispiel für die PlayStation 3, in dem die Zusammenarbeit der unterschiedlichen Komponenten aufgezeigt wird. Ein abschlieÿdenes Fazit fasst in Kapitel 6 die Sicherheitsmerkmale dieser speziellen Prozessorarchitektur zusammen. 2 Der Cell Broadband Engine Prozessor (Cell BE) Die Entwicklung des Cell Broadband Engine Prozessors 1 (kurz Cell BE ) begann im Jahr 2001 mit einer Zusammenarbeit zwischen SCEI , Toshiba und IBM. Zielsetzung war es, eine neuartige Prozessorarchitektur zu entwerfen, die nicht nur herausragende Leistungen insbesondere bei Videospiel- und Multimedia-Anwendungen bietet, sondern auch ein Echtzeit-Antwortverhalten gegenüber dem Benutzer und dem Netzwerk (Internet) aufweist. Zudem sollten erstmals auch verschiedene Sicherheitsfeatures Bestandteil des Prozessordesigns sein[8]. Cell BE (Abbildung 1) ist ein Multicore-Prozessor mit insgesamt neun Cores. Der Haupt- prozessor des Konzepts ist ein PowerPC Processor Element (PPE), welches auf der 64-bit PowerPC-Architektur von IBM basiert - die Weiterentwicklung dieser bestehenden Technologie ist der Grund, warum die Entwicklung von Cell BE lediglich, für Prozessoren unübliche, vier Jahre in Anspruch genommen hat. Das PPE ist über einen connect Bus (EIB) Element Inter- mit den anderen Kernen, sowie dem chip-externen Hauptspeicher und der Ein-/Ausgabe verbunden. Die acht übrigen Prozessorkerne sind von Grund auf neu entwickelte und dynamisch kongurierbare Synergistic Processing Elements (SPE). Eine schematische Darstellung der Prozessorarchitektur liefert Abbildung 2. Das PPE ist primär dafür verantwortlich, den unterstützenden SPEs ihre Aufgaben zuzuweisen, sie zu überwachen und ihnen die jeweils benötigten Datensätze zur Verfügung zu stellen; auf ihm läuft beispielsweise das Betriebssystem. Seine Funktionsweise ist mit der eines Hypervisors in der Virtualisierungstechnik vergleichbar[9]. Im Gegensatz zum skalar arbeitenden PPE handelt es sich bei den acht SPEs um auf Rechenleistung optimierte 2 Vektorprozessoren mit eigenem Instruktionssatz . Durch die Verteilbarkeit der auszuführenden Instruktionen auf die unterstützenden Rechenkerne eignet sich Cell BE besonders gut für die Verwendung in rechenintensiven Anwendungsgebieten wie dem Rendering komplexer Graken oder Videodecoding und ist damit prädestiniert für den Einsatz in einer Videospiel-Konsole[10]. 1 Sony Computer Entertainment Incorporated RISC-SIMD-Instruktionssatz; hohe Performance durch die Ausführung derselben Operation auf mehreren Daten gleichzeitig. Besonders gut geeignet für Multiplikationen von Matrizen. 2 3 Abbildung 1: Cell Broadband Engine Prozessor (Quelle: IBM Research, The Cell Project) Die SPEs spielen im Sicherheitskonzept des Cell BE eine Schlüsselrolle. Um ezient arbeiten zu können, besitzt jede dieser Einheiten einen eigenen Speicher, den (LS) ; Local Store jede SPE arbeitet dabei ausschlieÿlich mit ihrem Local Store. Die Funktionalität des LS ist nicht mit einem Cache zu verwechseln: Code und Daten, die von einer SPE benötigt werden, werden vom PPE oder der Anwendung in der SPE vom/zum entsprechenden LS transferiert; gespeichert/geladen werden kann dabei zu/von jedem mit dem Bus verbundenen Element (zum Beispiel Hauptspeicher, I/O oder einem anderen LS). Die Datentransfers werden dabei grundsätzlich softwareseitig initiiert; die Hardware hat darauf keinen Einuss. In einem beispielhaften Szenario könnte der Hypervisor auf dem PPE einer SPE die Ausführung einer Anwendung zuweisen. Wenn der SPE-Prozessor bereit ist, lädt die Software des PPE sämtliche benötigten Programmcodes und Daten in den zugehörigen Local Store und weist die SPE anschlieÿend an, mit der Ausführung zu beginnen. Für den Fall, dass die Anwendung nun während der Laufzeit weitere Daten aus dem Hauptspeicher benötigt, muss die in der SPE aktive Software darauf ausgelegt sein, einen entsprechenden Informationstransfer vom Systemspeicher in den lokalen Speicher auslösen zu können[5]. Aufgrund seiner hohen Performance durch die Parallelisierbarkeit von Operationen auf einer Vielzahl von Daten eignet sich der Cell BE sehr gut zur Berechnung kryptograscher Algorithmen. Zahlreiche Artikel und Dokumente beschreiben Angrie auf Passwörter (beziehungsweise deren Hashwerte) oder Verschlüsselungen, die mit Hilfe von PlayStation-3Systemen erfolgreich und ezient durchgeführt wurden, beispielsweise das Erstellen einer Rainbow Table für MD5-Hashwerte[11] oder der Brute-Force-Angri auf eine 128-bit AESVerschlüsselung[12]. Darüber hinaus unterstützt Cell BE eine Bibliothek mit den gängigs- ten kryptograschen Standards wie DES, SHA-1, RSA oder DSA[7]. 4 Abbildung 2: Schema der Cell BE Architektur Das zentrale Sicherheitskonzept besteht darin, dass die Prozessorarchitektur Anwendungen die Möglichkeit bietet, sich selbst zu schützen. Durch diese Maÿnahme müssen ein Programm und dessen Programmierer keine Annahmen mehr über die Laufzeitumgebung oder andere Software treen; sie können der Hardware vollkommen vertrauen. Viele bestehende Mikroprozessorarchitekturen bieten kaum oder keine Sicherheitsfeatures; diese werden oft nur als Software nachgereicht. Beim Cell -Prozessor hängt die Sicherheit je- doch nicht mehr von der Integrität der zugrundeliegenden Software (Betriebssystem oder Hypervisor) ab; die Verantwortung geht auf den Besitzer eines Prozesses über. 3 Sicherheitsarchitektur des Cell BE Software mit anderer Software zu beschützen, ist riskant: Wird das überwachende Programm kompromittiert, kann ein Angreifer alle Schutzmaÿnahmen leicht umgehen[6]. Bei Cell sind die Security-Features daher Bestandteil der Hardware und deswegen wesentlich schwieriger zu übergehen. Bei der Neustrukturierung des Chip-Designs wurde von Anfang an Wert darauf gelegt, Schutzmechanismen in den Prozessor selbst zu integrieren. Insgesamt bietet Cell drei Haupt-Sicherheitsfeatures: • Secure Processing Vault • Runtime Secure Boot • Hardware Root of Secrecy Secure Processing Vault erlaubt es Prozessen, sich vollständig vom restlichen System Runtime Secure Boot (Laufzeit-Authentizierung) ermöglicht das Bilden einer vertrauenswürdigen Laufzeitumgebung. Mit Hilfe des Hardware Root of Secrecy kann Der zu isolieren. Der letztlich sichergestellt werden, dass bestimmte Informationen ausschlieÿlich in vertrauenswürdigen und isolierten Umgebungen preisgegeben werden[13]. Zudem besitzt noch einen Hardware-Zufallszahlengenerator. 5 Cell BE Werden diese Komponenten korrekt zusammen verwendet, kann ein Prozess nahezu unabhängig vom restlichen System arbeiten. Das heiÿt, selbst wenn das Betriebssystem kompromittiert wurde, der Systemadministrator vergessen hat, die aktuellsten Patches zu installieren oder Schadcode aktiv ist, kann der Programmlauf der Anwendung nicht beeinusst werden. Es sei angemerkt, dass die Sicherheitsarchitektur des Prozessors insbesondere auf ein softwarebasiertes Angreifermodell ausgelegt ist. Selbstverständlich sind auch physische Angrie denkbar; diese bedürfen jedoch meist teure Zusatz-Hardware und ein gewisses technisches Verständnis seitens des Angreifers. Software-Attacken sind wesentlich einfacher: Sie sind auf nahezu jedem System ausführbar, können leicht kopiert werden und stehen meist bereits in unzähligen Varianten im Internet zur Verfügung[14]. Darüber hinaus können sie durch die Anbindung der Konsolen an das Internet auch von externen Benutzern durchgeführt werden, während hardwarebasierte Angrie Zugang zum Gerät voraussetzen. 3.1 Secure Processing Vault Der erste Schritt, einer Anwendung eine sichere Laufzeitumgebung zu bieten, ist es, sie vollständig vom Rest des Systems zu isolieren. Die klassischen Ansätze verwenden zur Umsetzung dieses Vorhabens Software: Per Virtualisierung und überwacht durch einen Hypervisor beziehungsweise Virtual Machine Monitor können einzelne Prozesse separiert werden[9]; ähnliches kann auch ein Betriebssystem durch ein entsprechendes Rechtemanagement leisten. Das Problem an dieser Vorgehensweise sind oft die Schwächen in der Implementierung. Durch das geschickte Ausnutzen verschiedener Fehler im Programmcode gelingt es Angreifern häug (beispielsweise durch manipulierte Programme oder Buer Overow Attacken), die überwachende Software zu übernehmen oder Administratorrechte zu erlangen um Zugri auf die zu schützenden Daten zu erhalten. Cell bietet mit dem Secure Processing Vault eine hardwarebasierte Lösung für dieses Pro- blem an; er ermöglicht Anwendungen die Ausführung in einer vom System separierten Umgebung. Dieser Hardware-Mechanismus verhindert die Manipulation, die Modikation und das Abhören von Code und Daten und kann von keiner Software umgangen werden. Vault ist dabei nichts anderes als eine SPE, die in einem speziellen Modus, dem isolierten Modus, läuft. Wird eine SPE in diesem Modus betrieben, trennt sie sich und ihren Der zugehörigen LS nahezu vollständig vom restlichen System (siehe Abbildung 3). Da die SPEs dem Prozessordesign zufolge ohnehin unabhängig voneinander arbeiten, können jederzeit beliebig viele von ihnen gleichzeitig im isolierten Modus aktiv sein. Wechselt eine SPE in den isolierten Modus, entkoppelt sie sich und ihren Local Store vom EIB und somit auch vom gesamten Rest des Systems. Code und Daten der in der SPE aktiven Anwendung wurden zuvor in den LS transferiert und ausschlieÿlich die SPE hat nach der Isolierung (lesenden und schreibenden) Zugri auf diese Informationen. 6 Abbildung 3: Funktionsweise des Secure Processing Vault An den Zugrisrechten der SPE auf den LS ändert sich durch den Wechsel in diesen Modus nichts, während externe Zugrie wie beispielsweise von der PPE, der Ein-/Ausgabe oder anderen SPEs verhindert werden. Selbst überwachende Prozesse der PPE haben keine Möglichkeit, die Informationen im so entstandenen Vault zu lesen oder sie zu verändern. Das bedeutet im Umkehrschluss, dass selbst ein Angreifer mit Administratorrechten im Betriebssystem der PPE keine Möglichkeit hat, an die sensiblen Daten in der isolierten SPE zu gelangen[13]. Zu Kommunikationszwecken ist jedoch stets ein bestimmter Bereich des separierten Local Store gegenüber dem Bus geönet, so dass ein Datentransfer vom oder zum Hauptspeicher oder anderen Medien möglich ist. Allerdings ist es die Aufgabe der Anwendung in der geschützten SPE, diesen Datenuss zu kontrollieren und die Sicherheit weiterhin zu gewährleisten[6]. Genrell ist von auÿen nur noch eine Aktion möglich - der Abbruch der Aufgabe in der SPE und das Auösen des Vault. In diesem Fall wird nicht einfach nur der aktive Pro- zess abgebrochen; sämtliche Informationen in der SPE und dem LS werden automatisch vollständig gelöscht, bevor der Processing Vault Vault geönet wird. Das gesamte Konzept des Secure inklusive des Löschvorgangs beim Auösen der Trennung der SPEs vom System beruht vollständig auf dem Hardwaredesign und den Hardwareoperationen des Prozessors. An keinem dieser Vorgänge ist Software beteiligt, die für die Einhaltung der Zugrisrechte sorgt[15]. 3.2 Runtime Secure Boot Anwendungen, die im Vault arbeiten, sind vor Angrien weitgehend geschützt, doch zuvor sollte dafür gesorgt sein, dass nur authentizierte Software tatsächlich im Vault ausgeführt wird. Wenn ein Angreifer es schat, eine Anwendung vor der Ausführung im isolierten Prozessorkern derart zu manipulieren, dass sie geheime Daten über den Kommunikationskanal des LS nach auÿen schleust, wäre dieser Schutzmechanismus nutzlos. Ein Lösungsansatz wäre ein Lade- oder Boot-Modul, welches die Authentizität und Integrität eines Programms vor dem Laden prüft. Doch auch in dieser Situation führen softwarebasierte Maÿnahmen 7 nicht zum gewünschten Ergebnis: Das Modul kann durch einen Angri modiziert oder sogar vollständig umgangen werden. Cell bietet mit seinem Secure Boot eine weitere Sicherheitskomponente auf Hardware- Ebene an, die genau dieses Problem adressiert[6]. Ein Hardware-Schlüssel im Prozessor dient als Root of Trust. Mit ihm wird zum Einschaltzeitpunkt des Systems die Authentizi- tät des Boot-Moduls durch einen kryptograschen Algorithmus 3 geprüft. Ist die Verika- tion erfolgreich, testet es wiederum das erste Software-Modul. So entwickelt sich nach und nach eine Vertrauenskette bis zum Ladevorgang des Betriebssystems und schlieÿlich der gewünschten Anwendung. Es gilt: Wenn man der Authentizität der Wurzel, also in diesem Fall der Hardware der CPU, vertrauen kann, kann man auch den von ihr verizierten Komponenten trauen. Sollte der Integritätstest an einer Stelle fehlschlagen, wird eine mögliche Ausführung unverzüglich angehalten. Ein Problem wird bei dieser Verfahrensweise jedoch schnell übersehen. Manipulationen im System werden zwar zum Einschaltzeitpunkt geprüft, viele Angrie nden aber erst statt, wenn das System bereits aktiv ist. Hierzu erweitert einen Mechanismus zur Laufzeitauthentikation. Der Cell Runtime Secure Boot um Secure Boot erlaubt es seinen Anwendungen, sich jederzeit erneut auf Integrität und Authentizität prüfen zu lassen und so gegebenenfalls ihre Glaubwürdigkeit zurückzuerlangen. Das funktioniert durch den nicht modizierbaren Hardware Root of Trust insbesondere auch dann, wenn andere Prozesse im System Ziel eines erfolgreichen Angris wurden. Dieser Vorgang kann beliebig oft wiederholt werden. Das Ineinandergreifen von Runtime Secure Boot und dem Secure Processing Vault sorgt dafür, dass weder manipulierte Anwendungen gestartet, noch aktive Anwendungen manipuliert werden können. Um diese Sicherheit zu gewährleisten, wird bei jedem Wechsel einer Anwendung in den Vault eine Hardware-Authentizierung durchgeführt. Dazu wird zunächst ein gegebenenfalls zuvor in der SPE aktiver Prozess gestoppt und gelöscht. Anschlieÿend werden die benötigten Datensätze von der Prozessor-Hardware in den LS geladen und dabei auf Integrität geprüft; bei erfolgreicher Verikation geht die SPE in den isolierten Modus über und startet die Applikation. Sollte der Integritätstest durch die Hardware fehlschlagen, kann das zwei Gründe haben: Entweder wurde der Programmcode verändert und seine ursprüngliche Funktionalität kann nicht mehr garantiert werden, oder der Programmierer der Anwendung kennt den für den Authentizierungsvorgang nötigen Schlüssel nicht, weil er beispielsweise kein zertizierter Entwickler ist. In beiden Fällen ist die Durchführung des Programms unerwünscht und der Startvorgang wird abgebrochen[6]. Verdeutlicht wird die Funktionsweise von Boot Secure Processing Vault und Runtime Secure durch den Zustandsautomaten in Abbildung 4. Durch das Kommando laden kann eine angehaltene SPE in den isolierten Modus übergehen; der Integritätstest durch die Hardware ndet im gleichnamigen Zustand statt. Nur wenn dieser erfolgreich ist, wird die SPE isoliert und die Anwendung ausgeführt. Wenn die Überprüfung fehlschlägt oder die SPE den Vault auöst, geht das System in den Zustand 3 Verlassen über; hier wird der au- Bei der Recherche zu dieser Arbeit wurde kein Hinweis darauf gefunden, wie der Authentikationsprozess im Cell -Prozessor im Detail arbeitet. Es ist davon auszugehen, dass ein für diese Aufgabe übliches Vorgehen basierend auf digitalen Signaturen und Hashwertbildung, wie beispielhaft in [16] gezeigt, verwendet wird. 8 tomatische, hardwarebasierte Löschvorgang ausgelöst, der alle Inhalte des LS löscht. Erst anschlieÿend wird die SPE wieder freigegeben. Durch dieses Verhalten werden nicht nur die oben genannten Sicherheitsziele erreicht, sondern zudem auch beispielsweise SeitenkanalAttacken auf Cell verhindert[15]. Abbildung 4: Zustandsautomat zum Übergang in den isolierten Modus (nach [15]) 3.3 Hardware Root of Secrecy Hardware Root of Trust zum eine Hardware Root of Secrecy Abgesehen von der besitzt Cell auch Aufbau einer Authentikationskette zur eektiven Umsetzung von Ver- schlüsselungsmechanismen[15]. Einer der kritischsten Aspekte bei Systemen, die mit Verschlüsselungen arbeiten, ist das Schlüsselmanagement, insbesondere die Art und Weise, wie die verwendeten Schlüssel gespeichert und vor unbefugtem Zugri geschützt werden. Würde ein Angreifer die Schlüssel kennen, wären alle Schutzmechanismen nutzlos, da er jedes Geheimnis mitlesen und nach Belieben verändern könnte. Alle Schlüssel benden sich zunächst im Speicher des Systems. Damit sie nicht einfach im Klartext ausgelesen werden können, liegen sie als Chirate vor und werden ausschlieÿlich solchen Anwendungen in ihrer ursprünglichen Form zur Verfügung gestellt, die zuvor authentiziert wurden. Dieser Vorgang setzt jedoch wiederum die Existenz eines weiteren Schlüssels voraus. Dieser Wurzelschlüssel (root key) wird für die Ver- und Entschlüsselungen sämtlicher Geheimnisse verwendet und wird infolge seiner prekären Aufgabe im Prozessor besonders robust verwahrt: Er ist in die Chip-Hardware eingebettet und kann ausschlieÿ- 9 lich von Hardware-Mechanismen, die von Natur aus unveränderbar sind, ausgelesen und verwendet werden. Software und dadurch insbesondere von Angreifern erstellte oder manipulierte Programme erhalten keinen Zugri. Damit ein wirksamer Schutzmechanismus entsteht, darf die in der Hardware Root of Secrecy verankerte Verschlüsselungskette nur in Verbindung mit den anderen Sicherheits-Features von Cell aufgebaut werden. Ist für die Ausführung einer Applikation die Verwendung verschlüsselter Informationen notwendig, muss diese Anwendung zwangsläug in einem Vault gestartet werden. Wenn die SPE dazu in den isolierten Modus übergeht, lädt das Entschlüsselungswerk der Hardware die mit dem root key chirierten Informationen im Klartext in den zugehörigen Local Store. Der Entschlüsselungsvorgang wird ausschlieÿlich in der isolierten SPE ausgeführt; dieser Prozess ist in keiner anderen Systemkomponente, wie einer nichtisolierten SPE oder dem PPE möglich. Die auf diesem Weg dechirierten Daten und Anwendungsschlüssel werden dadurch auch nur Applikationen zugänglich gemacht, die den Runtime Secure Boot erfolgreich durchlaufen haben; modizierte und dadurch möglicherweise manipulierte Programme erhalten somit keinen Zugri auf diese Informationen. Ein weiterer vorteilhafter Verwendungszweck des root key liegt darin, ihn als Garantie für die Ausführung einer Anwendung im Vault einzusetzen. Durch einen einfachen Trick kann ein Anwendungsentwickler die Ausführung seines Programms in einer isolierten SPE erzwingen: Wenn er einen Teil des Quelltextes verschlüsselt, kann die Applikation zwangsläug nur im Vault starten. Ein Angreifer, der den Schlüssel nicht kennen kann, hat somit keine Möglichkeit, die Anwendung auÿerhalb des Secure Vault zu benutzen[6]. Dadurch kann sichergestellt werden, dass vertrauliche Informationen einerseits ausschlieÿlich in einer authentizierten, sicheren Laufzeitumgebung (durch Secure Boot ) im Klartext vorliegen und andererseits von der restlichen Umgebung und somit nicht verizierten Anwendungen und Prozessen abgeschirmt sind (durch Secure Vault )[13]. Root of Secrecy funktioniert äquivalent zur Root of Trust ausgeht: In beiden Fällen beginnt der Schutzmechanismus auf der Hardware-Ebene des Cell -Prozessors. Der dort eingebettete root key Die Bildung von Vertraulichkeit durch die Vertrauenskette, die von der ist weder manipulier- noch auslesbar und kann somit als Ausgangspunkt für die Entschlüsselung beziehungsweise Authentikation weiterer Systemkomponenten oder -module verwendet werden. 4 4.1 Anwendungsbeispiele Programmiermodell: Encrypt-In, Encrypt-Out Einer der ezientesten Wege, von der Sicherheitsarchitektur des Cell -Prozessors zu proEncrypt-In, tieren, ist das in Abbildung 5 schematisch dargestellte Anwendungsmodell Encrypt-Out. Die Funktionsweise ist wie folgt: Die von einer Anwendung zur Ausführung (ENC) und werden erst beim Laden Vault im Local Store der isolierten SPE von der dort aktiven Anwendung entschlüsselt (DEC). Anschlieÿend werden sie gegebenenfalls verarbeitet und/oder verändert. benötigten Daten liegen verschlüsselt im Speicher vor in den Bevor die vertraulichen Informationen die Sicherheitszone wieder verlassen (um sie zum Beispiel wieder im Systemspeicher abzulegen), werden sie noch innerhalb des verschlüsselt; dafür ist ebenfalls die Applikation selbst verantwortlich. 10 Vault wieder Abbildung 5: Encrypt-In, Encrypt-Out (nach [15]) Der oensichtliche Vorteil an diesem Verfahren ist, dass vertrauliche Informationen ausschlieÿlich innerhalb des abgeschirmten Prozessorkerns im Klartext vorliegen, wodurch lediglich die durch den Runtime Secure Boot authentizierte Applikation Zugri erlangt. Für die Ver- und Entschlüsselung kann die Software auf die in Kapitel 2 erwähnte und Cell -Chips zurückgreiHardware Root of Secrecy geheim. jenseits des Vault, wie Datei- oder in [7] näher beschriebene, vorimplementierte Krypto-Bibliothek des fen; das Schlüsselmaterial bleibt unter Verwendung der Darüber hinaus können bestehende Systemfunktionen Netzwerkoperationen, weiterhin ohne Einschränkungen und vor allem ohne Sicherheitsverlust verwendet werden, selbst wenn ein Angreifer die Kontrolle über das restliche System erlangt hat[14]. Dieses Programmiermodell ist in Verbindung mit Cell in der Lage, sicherheitskritische Daten (z.B. Kreditkartennummern oder Passwörter) zu schützen, da es die Vertraulichkeit und Authentizität der Informationen garantieren kann. Das funktioniert in gleichem Maÿe auch bei gestreamten Anwendungen, wie der Dekodierung von Videosignalen [15], was auch für Anbieter solcher Daten auf Videospiel-Konsolen (etwa Filmverleihen beim Streaming von Filmen) interessant sein dürfte. 4.2 Einsatzmöglichkeiten des Cell-Prozessors Die Situationen, in denen die Nutzung der speziellen Architektur von Cell in Bezug auf Performance und Security vorteilhaft sein kann, sind vielfältig. Denkbar ist zum Beispiel die Verwendung in folgenden Situationen: • in Umgebungen mit MILS(-ähnlicher) Funktionalität • zum Aufbau sicherer Kanäle zwischen zwei Endgeräten • in Netzwerken mit heterogener Sicherheitstechnologie zum Schutz digitaler Inhalte 4.2.1 MILS-Umgebungen Das Konzepts der Multiple Independent Levels of Security (MILS) ist recht einfach realisier- bar. In einem MILS-System werden einzelne Komponenten entsprechend ihrer Vertrauenswürdigkeit voneinander separiert (vgl. Abbildung 6). Dadurch lassen sich die Informationsüsse von nichtklassizierten, über geheime bis hin zu Top-Secret-Daten kontrollieren und demzufolge bestehende Sicherheits-Policies umsetzen. Unter Einsatz des Cell -Prozessors könnte ein MILS-Kernel diese Strategie ohne hohe Kosten (die beispielsweise durch das Entwickeln einer eigenen Architektur entstanden wären), dafür aber mit hoher Ezienz 11 umsetzen, indem er die einzelnen Prozessorkerne isoliert und die Vaults entsprechend klassi- ziert. Durch die hardwarebasierte Implementierung können auf diesem Weg auch Gefahren wie Covert Channels unterbunden werden[13, 17]. Abbildung 6: MILS-Design (Quelle: COTS-Journal Issue 11/2005 [18]) 4.2.2 Sichere Kommunikationskanäle Nahezu alle Systeme der digitalen Welt, darunter auch die PlayStation 3, kommunizieren häug mit anderen Systemen oder diversen Komponenten des eigenen Systems und müssen dabei zwangsläug Daten durch unsichere Umgebungen wie dem Internet oder dem eigenen Betriebssystem senden. Die Zwecke dieser Kommunikationen sind höchst unterschiedlich; dabei kann es sich um den Datenaustausch mit einem Server handeln (Onlinegaming, digitale Distribution), das Schreiben/Lesen zum/vom internen Speicher (Spielstände, Proldaten) oder die Informationsübermittlung von/zu weiteren Peripheriegeräten (Disc-Laufwerk, Speicherkarten). Der Aufbau eines sicheren Kommunikationskanals zwischen einer Anwendung und der entsprechenden Komponente über die unsichere Umgebung hinweg kann durch die vorgestellten Features von Cell erreicht werden und wird im folgenden an einem Beispiel erläutert (vgl. Abbildung 7). Die zu übermittelnden Daten liegen unter Benutzung einer asymmetrischen Chire verschlüsselt vor. Der Vault sorgt nun zum einen dafür, dass Geheimnisse nie im Klartext für die übrigen Teile des Systems oder der Umgebung lesbar sind und stellt zum anderen sicher, dass die Abwicklung der Authentizierung der jeweils anderen Partei nicht manipuliert werden kann. Der Runtime Secure Boot lädt die Liste revozierter Zertikate (Cer- ticate Revocation List) und verhindert durch den Integritätstest die Modikation durch einen Angreifer, der gegebenenfalls seinen Eintrag aus dem Verzeichnis löschen möchte. Die Hardware Root of Secrecy wiederum schützt die für die kryptograschen Algorithmen verwendeten Schlüssel, indem sie diese mit dem Wurzelschlüssel chiriert. Wird zusätzlich noch der Einsatz des eingangs erwähnten Zufallszahlengenerators in Erwägung gezogen, 4 durch die Verwendung von Nonces unterbunden werden. Der so können Replay-Angrie entstehende authentizierte und vertrauenswürdige Kanal zwischen zwei Parteien (Pointto-Point-Verbindung) kann der Anwendung und dem Anwender einen sicheren Datenaustausch in einem unsicheren Netzwerk oder System garantieren[5]. 4 Ein Replay-Angri bezeichnet das Einschleusen abgefangener Nachrichten aus einer früheren Kommunikation in den aktuellen Protokolllauf durch einen Angreifer. Dieser Angri funktioniert, wenn die Freshness der Protokollnachrichten nicht ausreichend geprüft wird, z.B. durch Nonces oder Timestamps. 12 Abbildung 7: Sichere, authentizierte Kommunikationskanäle (nach [15]) 4.2.3 Konvertierung von Schutzmechanismen Ein weiterer nicht zu unterschätzender Trend ist die Funktionalität vieler Systeme, dem Anwender einen virtuellen Inhalt auf mehreren unterschiedlichen (stationären und mobilen) Endgeräten zur Verfügung zu stellen und das nicht zwangsläug nur per Internet (die Vorstellung des Digital Home). Im speziellen Fall der PlayStation 3 ist es etwa möglich, Spiele früherer Konsolengenerationen (zumeist Emulationen von PlayStation-1-Software) oder Filme online über das PlayStation Network zu erwerben und herunterzuladen, um diese anschlieÿend über ein USB-Kabel oder Ad-Hoc Netzwerk auf Sonys Spiele-Handheld PlayStation Portable zu übertragen. Unabhängig davon, ob nun diese spezielle oder eine andere, vergleichbare Situation besteht - das Problem bleibt stets identisch: Normalerweise entsteht eine heterogene Struktur verwendeter Schutzmechanismen, da jedes Medium andere Standards zur Sicherung der digitalen Inhalte einsetzt. So ist davon auszugehen, dass sowohl die Speichermedien (DVD, Blu-Ray Disc, Server), als auch die zahlreichen Endgeräte, welche die Darstellung und Interaktion mit den Inhalten ermöglichen sollen, 5 unterschiedliche Verschlüsselungsmechanismen (wie etwa AACS , HDCP 6 oder DTCP7 ) zum Schutz der Software vor Raubkopien verwenden. Durch die Nutzung des isolierten Modus einer Encrypt-In, Encrypt-Out Cell -SPE und dem Programmiermodell lässt sich dieser Umstand verhältnismäÿig einfach umgehen, in- dem man die verwendeten Mechanismen innerhalb eines Vault konvertiert. Die eingehen- den, verschlüsselten Daten (in Abbildung 8 unter Verwendung von AACS) werden im separierten Prozessorkern entschlüsselt und liegen nur an dieser Stelle - unerreichbar für einen Angreifer - im Klartext vor. Bevor der Datenstrom den Vault verlässt, wird er mit dem zweiten Standard (dem des Empfängergeräts) wieder verschlüsselt. Die entschlüsselten Informationen werden also noch innerhalb der verizierten, sicheren Umgebung verarbeitet. Die Endgeräte selbst kommunizieren nicht direkt miteinander; der gesamte Daten- 5 Advanced Access Content System: digitales Rechtemanagement, u.a. verwendet bei Blu-Ray Discs High-bandwidth Digital Content Protection: Verschlüsselungssystem, u.a. verwendet bei HDMISchnittstellen 7 Digital Transmission Content Protection: Kopierschutzmechanismus, z.B. verwendet bei Video-onDemand-Services 6 13 transfer wird jeweils nur mit der authentizierten, vertrauenswürdigen SPE ausgeführt. Dadurch müssen, abgesehen von der Verwendung eines kryptograsch sicheren Verfahrens und einem ausreichenden Schutz der verwendeten Schlüssel, keine weiteren Annahmen über das restliche eigene oder das jeweils andere System getroen werden, insbesondere nicht über das Vorhandensein von möglichen Angrispunkten in den übergeordneten Betriebssystemen[19]. Abbildung 8: Umwandlung verschiedener Schutzmechanismen mit Cell (nach [19]) 5 Der Cell-Prozessor in der PlayStation 3 Dass die PlayStation 3 von den guten Performance-Eigenschaften des Cell -Prozessors ins- besondere beim Grak-Rendering protiert, liegt auf der Hand. Informationen dazu, ob und in welchem Umfang die Konsole die vorhandenen Sicherheitskomponenten einsetzt und wie genau diese Vorgänge dort funktionieren, sind in den öentlich zugänglichen Artikeln und Dokumentationen zu diesem Thema leider kaum aufzunden, weswegen über den tatsächlichen Einsatz letztlich nur gemutmaÿt werden kann. Bekannt ist jedoch, dass Sony in der PlayStation 3 Cell -Chips mit geringfügigen Abweichungen vom Prototypen einsetzt, welche sich aber letzten Endes nur marginal auf die Leistung und Sicherheit auswirken und zumeist in der Kostenersparnis begründet liegen. Der in der Sony-Konsole verwendete Prozessor ist auf eine Taktrate von 3,2 GHz beschränkt; der Cell -Prozessor erreicht üblicherweise Geschwindigkeiten von 4,6 GHz. Von den acht synergetischen Kernen ist stets einer inaktiv; so kann auch Ausschussware aus dem Produktionsprozess mit einer defekten Zelle weiterverwendet werden. Für SoftwareEntwickler stehen dennoch nur sechs der aktiven SPEs zur Verfügung, da die siebte exklusiv für das Betriebssystem verwendet wird und als Hypervisor dient. Es ist davon auszugehen, dass diese SPE im isolierten Modus betrieben wird. In der aktuellen Hardware-Revision (PS3 Slim) wurde die Chip-Gröÿe der CPU zudem auf eine 45nm-Technologie geschrumpft. Unter anderem dadurch konnte der Stromverbrauch der Konsole im Vergleich zur vorangegangenen Produktionsserie (65nm) um ein Drittel gesenkt werden; im direkten Vergleich zum Ursprungsmodell aus dem Jahr 2006 (90nm) sogar um 60%[20, 21]. 14 Das folgende Beispiel soll ein mögliches Szenario für den Einsatz der Cell -CPU in der 8 PlayStation 3 erläutern . Es zeigt die Verwendung der Hardware-Sicherheitsmechanismen beim Online-Kauf eines Film-Streams und eines Download-Spiels im PlayStation Store. Anmelden der Konsole im PlayStation Network sole einschaltet, wird das Betriebssystem mit dem Wenn der Anwender seine Kon- Secure Boot -Feature in einer isolierten SPE gestartet. Da die Authentikation auf Hardware-Mechanismen basiert, ist sichergestellt, dass das Betriebssystem der Konsole nicht manipuliert wurde. Nach erfolgreicher Verikation dient es als Hypervisor für alle folgenden Prozesse. Da die Login-Daten des Benutzers verschlüsselt im Hauptspeicher vorliegen, können sie in den LS des aktuell einzig aktiven Vault geladen und dort durch den root key entschlüsselt werden. Das Betriebssys- tem baut daraufhin eine gesicherte Verbindung zum Server auf (unter Verwendung von SSL oder TLS) und sendet ihm die Daten für einen automatischen Login zu; weitere Eingaben vom Benutzer sind dazu nicht nötig. Diese und die nachfolgende Kommunikation der Konsole mit dem Server ist zusätzlich mit Nonces vom Zufallszahlengenerator gesichert, um Replay-Angrie zu unterbinden. Kaufvorgang Nachdem der User den PlayStation Store in der Xross Media Bar (dem Hauptmenü der PS3) ausgewählt hat, wird die Shop-Anwendung in einem Vault gestar- tet. Der Boot-Vorgang der Anwendung wird vom zuvor verizierten Betriebssystem aus- Runtime Secure Boot eingeleitete Hardware Root of Trust. Die Anwendung lädt schlieÿlich neue Informationen, wie kürzlich hinzugefügte Spie- geführt. Dadurch entsteht die vom le oder Download-Inhalte vom Server, um sie dem Benutzer im User-Interface präsentieren zu können. Hat sich der Kunde für die gewünschten Inhalte entschieden, wird der Bezahlvorgang eingeleitet. Tätigte der Benutzer bereits zuvor mit seiner Kreditkarte Einkäufe im PlayStation Store, liegen die Kartendaten in verschlüsselter Form im Systemspeicher vor (sofern der Speicherung zugestimmt wurde). Bestätigt der Kunde den Einkauf, können diese direkt in den LS der isolierten SPE geladen, entschlüsselt und über einen sicheren Kommunikationskanal an der Server gesendet werden. Ist dies sein erster Einkauf, muss der Benutzer seine Bankverbindung zunächst mit einer Bildschirmtastatur hinterlegen. Da das ein weiterer Angrispunkt für einen Angreifer wäre, muss auch das Eingabemodul vom Betriebssystem veriziert werden. Daten-Streaming Hat sich der Benutzer für den Stream eines Films entschieden, kann der Prozess recht einfach mit Encrypt-In, Encrypt-Out realisiert werden, da die Daten nicht dauerhaft im Systemspeicher abgelegt werden müssen. Nach Bestätigung des Kaufvorgangs werden die Film-Daten in verschlüsselter Form vom Server bezogen und im Local Store eines Vault zwischengespeichert. Die hier zuvor per Runtime Secure Boot durch das Betriebssystem indirekt von der Hardware geladene und verizierte Player-Software entschlüsselt die Daten, bereitet sie gegebenenfalls für die Präsentation auf und sendet sie, mit einem anderen Standard verschlüsselt (z.B. mit HDCP, dem Sicherungsmechanismus für HDTV-Geräte bzw. HDMI-Übertragung) aus dem Vault, um sie dem Anwender auf dem Monitor zu präsentieren. Der Film liegt somit nur innerhalb des Vault in seiner Klar- textform vor. Sony hat aus wirtschaftlichen Gründen wenig Interesse daran, die genaue Funktionsweise von Cell in ihrer Konsole oenzulegen, weswegen kaum öentlich zugängliche Literatur zu diesem Thema existiert. Das Exempel basiert daher auf den Annahmen des Autors und kann nicht mit Quellen belegt werden. 8 15 Daten-Download Entscheidet sich der Käufer hingegen für den Download eines Spiels (der Download eines Films verläuft äquivalent), ist ein leicht abgeändertes Vorgehen nötig. Erneut werden die Daten verschlüsselt vom Server empfangen und im Vault entschlüsselt. Nach der dortigen Weiterverarbeitung (z.B. Installation verschiedener Routinen, Konvertierung der Verschlüsselung oder Komprimierung/Dekomprimierung der Daten) werden sie sicher unter Verwendung der Hardware Root of Secrecy im Hauptspeicher abgelegt. Startet der Benutzer das heruntergeladene Spiel, muss das Betriebssystem einen Vault vorbereiten und den Code der Software authentizieren sowie in einen Local Store laden. Die zugehörige SPE kann anschlieÿend die Software abspielen. Beenden des Kaufvorgangs Beendet der Kunde den Kaufvorgang erfolgreich oder bricht ihn ab, muss nicht nur die Store-Anwendung beendet, sondern auch der Vault auf- gelöst werden. Wenn das Betriebssystem in Funktion des Hypervisors die Auösung des Vault initiiert, werden von einer Hardware-Operation sämtliche Informationen (wie die Kreditkarten- oder Programmdaten) aus dem Local Store gelöscht, unabhängig davon, ob sie im Klartext oder verschlüsselt vorliegen. Erst wenn dieser Prozess beendet ist, wird die SPE wieder freigegeben. Interessant ist in diesem Zusammenhang die Frage, was mit den erworbenen virtuellen Gütern im Reparaturfall passiert, wenn z.B. das Mainboard der Konsole ausgetauscht wird. Ein Übertragen der Daten auf ein neues System ist durch die Bindung an den HardwareSchlüssel nicht ohne weiteres möglich. Einerseits könnten die Daten nach dem Verschieben auf ein neues System nicht mehr entschlüsselt werden, andererseits könnte neue Hardware zu einem Integritätsverlust führen, was eine Verwendung der Software ebenfalls verhindern würde. Diese Probleme könnten zum Beispiel durch das serverseitige Hinterlegen der Kaufhistorie eines Benutzer-Accounts umgangen werden - so kann ein User erworbene Anwendungen erneut und kostenfrei herunterladen, um sie auch auf dem neuen System nutzen zu können. 6 Fazit Die besondere Architektur der Cell -Prozessors bietet insbesondere bei einem Einsatz in Systemen mit rechenintensiven Echtzeitanwendungen und dem Handel digitaler Güter wie der PlayStation 3 nicht nur eine besonders leistungsstarke, sondern auch sichere Plattform an, die den stetig steigenden Anforderungen an Content Protection und Datenschutz gerecht werden kann. Durch das Zusammenspiel der Sicherheitsmechanismen wird sichergestellt, dass manipulierte Anwendungen nicht gestartet und aktive Anwendungen nicht manipuliert werden können und dadurch sensible Informationen auch in kompromittierten oder gefährdeten Umgebungen und Systemen garantiert geheim bleiben und gegen softwarebasierte Angrie geschützt sind. Die gesamte Verantwortung wird dabei jedoch auf die Anwendung bzw. ihre Entwickler übertragen. Es muss sichergestellt sein, dass alle Daten korrekt verarbeitet und vor dem Verlassen eines speziell geschützten Bereichs wieder verschlüsselt werden. Ist ein Programm korrekt implementiert, hat es stets die Möglichkeit, sich von der Hardware seine Vertrauenswürdigkeit attestieren zu lassen, um so anderen beteiligten Parteien seine Identität beweisen zu können[15]. Natürlich wird keine Sicherheit allein durch den Einsatz von 16 Cell erreicht. Es ist viel Einarbeitungszeit durch die Anwendungsprogrammierer nötig, um die Applikationen auf Schutz und Performance zu optimieren. Viele Entwickler sparen sich daher bei Multiplattformentwicklungen den Aufwand, die Software für die Cell -Architektur umzuschreiben und optimal anzupassen. Selbstverständlich ist die Verwendung von Cell -CPUs (oder vergleichbaren CPU-Designs) auch abseits der PlayStation 3 möglich. Durch das Zusammenschalten mehrerer Chips lassen sich beispielsweise verhältnismäÿig kostengünstige Supercomputer-Strukturen umsetzen[20]. Auch die Implementierung in Heimkino-Geräte wie HDTVs kann vorteilhaft sein: Die Kommunikation der Systeme untereinander (beispielsweise zwischen der Konsole und dem Fernsehgerät) könnte ohne groÿen Aufwand realisiert und ausgeweitet werden. Trotz der zahlreichen positiven Eigenschaften des Prozessors hat IBM im Rahmen der Supercomputing Conference SC09 in Portland (Oregon, USA) bekannt gegeben, dass man die Produktion der Cell -Chips einstellen werde; auch an der geplanten nächsten Iteration der Architektur, bestehend aus zwei PowerPC-Prozessoren und 32 synergetischen Kernen, werde nicht mehr gearbeitet. Nach aktuellem Informationsstand soll die PlayStation 4 möglicherweise mit einer Variante der IBM Server-Architektur Power 7 ausgestattet werden; als Grund wird die leichtere Programmierbarkeit genannt[22]. Dennoch könnten die beteiligten Firmen viel Erfahrung von Cell auf die Entwicklung zukünftiger Prozessorar- chitekturen und unter anderem deren Sicherheitsmechanismen übertragen, denn laut IBM stellen heterogene Mehrkernprozessoren eindeutig die Zukunft des CPU-Designs dar[23]. Literatur [1] Entertainment Software Association: 2009 Sales, Demographic and Usage Data - Essential Facts about the Computer and Video Game Industry (http://www.theESA. com). [2] G.A.M.E. Bundesverband der Entwickler von Computerspielen game-bundesverband.de/). (http://www. [3] Deutscher Kulturrat (http://www.kulturrat.de). [4] B. Matthews, J.-D. Wellman, M. Gschwind: Exploring Real Time Multimedia Content Creation in Video Games, IBM T. J. Watson Research Center, http://www. research.ibm.com/people/m/mikeg/papers/2004_msp.pdf, [5] 2004. K. Shimizu, S. Nusser, W. Ploue, V. Zbarsky, M. Sakamoto, M. Murase: Cell Broad- Proceedings of the 4th ACM international workshop on Contents protection and security, Santa Barbara, California, USA, Oktober 2006. band Engine Processor Security Architecture and Digital Content Protection, [6] K. Shimizu: The Cell Broadband Engine Vault Processor Security Architecture: Hardware security solutions, VME and Critical Systems, OpenSystems Publishing, Februar 2007. [7] K. Shimizu, D. Brokenshire, M. Peyravian: Cell Broadband Engine Support for Privacy, Security, and Digital Rights Management Applications, 17 IBM Systems and Tech- nology Group, https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/ 3F88DA69A1C0AC40872570AB00570985/, [8] Mai 2005. J. A. Kahle, M. N. Day, H. P. Hofstee, C. R. Johns, T. R. Maeurer, D. Shippy: IBM Journal of Research and Development Volume 49 Number 4/5, S. 589 ., IBM, Juli 2005. Introduction to the Cell multiprocessor, [9] A.-R. Sadeghi: Operating System Security Chapter 6: Virtualization and Secure Hypervisors, 232/, Lecture Slides, http://www.ei.rub.de/studium/lehrveranstaltungen/ Ruhr-Universität Bochum, 2008. [10] M. Gschwind, H. P. Hofstee, B. Flachs, M. Hopkins, Y. Watanabe, T. Yamazaki: Synergistic Processing in Cell's Multicore Architecture, 2, S. 10-24, IEEE Computer Society, März 2006. [11] U. H. Auckland: Kiwicon demo uses IEEE Micro Volume 26 Number PlayStation 3 to crack pass- words, Computerworld, http://computerworld.co.nz/news.nsf/scrt/ C50D36EFEC2B482ACC2573A00070EF83?Opendocument&HighLight=2,kiwicon, Fairfax Media Business Group, 28. November 2007. [12] K. Roe: Cryptography on the Playstation 3: Brute Force AES Attack, kennethroe.com/WWW/CryptographyOnThePS3.PDF, http://www. University of New Haven, April 2007. [13] M. Aguilar: High Performance Secure Embedded Computing for the Cell Broadband Proceedings of the Power Architecture Developer Conference '07, Austin, Texas, USA, September 2007. Engine, [14] K. IBM Shimizu: The Cell developerWorks, pa-cellsecurity/, Broadband Engine processor security architecture, http://www.ibm.com/developerworks/power/library/ IBM, 17. April 2006. [15] K. Shimizu, H. P. Hofstee, J. S. Liberty: Cell Broadband Engine processor vault IBM Journal of Research and Development Volume 51 Number 5, S. 521 ., IBM, September 2007. security architecture, [16] W. A. Arbaugh, D. J. Farber, J. M. Smith: A Secure and Reliable Bootstrap Archi- Proceedings of the 1997 IEEE Symposium on Security and Privacy, Oakland, California, USA, Mai 1997. tecture, [17] A.-R. Sadeghi: System Security II: Connement Problem, //www.ei.rub.de/studium/lehrveranstaltungen/265/, Lecture Slides, http: Ruhr-Universität Bochum, 2008. COTS Journal Issue 11/2005, http://www.cotsjournalonline.com/magazine/articles/view/100423/, [18] J. Jacob: MILS: High-Assurance Security at Aordable Costs, RTC Group, November 2005. Shimizu: Cell Broadband Engine and content protection, IBM developerWorks, http://www.ibm.com/developerworks/power/library/pa-cellsecurity/, [19] K. IBM, 17. April 2006. 18 [20] W. Laarsch: Cell-Chip, 82702/index.html, 3sat, 26. August 2005. [21] PlayStation 3 hardware, 3_hardware, neues, http://www.3sat.de/neues/sendungen/magazin/ Wikipedia, http://en.wikipedia.org/wiki/PlayStation_ aufgerufen am 4. Dezember 2009. [22] B. Holzhauer: Sony has chosen the CPU for the next generation PlayStation, //fgnonline.webs.com/, [23] A. heise Stiller: http: FGNOnline, 25. November 2009. SC09: IBM lässt Cell-Prozessor auslaufen, online, http://www.heise.de/newsticker/meldung/ SC09-IBM-laesst-Cell-Prozessor-auslaufen-864497.html, Heise Zeitschriften Verlag, 19. November 2009. 19