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

Documentos relacionados