sayhello hat geschrieben:Geht es bei diesem Hack aber nicht darum die digitale Signatur selber erstellen zu können? Somit meint das System es handle sich um authorisierte Software, was es ja aber nicht ist und somit nicht legal ist.
flextastic hat geschrieben:@zappes: klär mich mal bitte auf, um die "harmlose" homebrew-geschichte auf die ps3 zu kriegen, muss ich mit irgendeiner software irgendwas anstellen, als nebeneffekt wird der kopierschutz ausgehebelt, soweit richtig?
damit hat man doch schon gegen die agb´s verstossen, oder irre ich da?
Um mal beide Sachen auf einen Schlag zu beantworten, muss ich vielleicht kurz darlegen, was eine digitale Signatur ist. Das geht in zwei Schritten:
Zunächst braucht man ein grobes Verständnis davon, wie asymmetrische Verschlüsselung funktioniert. Dabei besteht jeder Schlüssel aus zwei Teilschlüsseln, die eine interessante Eigenschaft haben: Wenn man mit einem der Teilschlüssel etwas verschlüsselt, kann ausschließlich der andere es wieder entschlüsseln und andersrum. Nun macht man es so, dass man die eine Hälfte (den "secret key" oder "private key") gut versteckt, die andere Hälfte (den "public key") kann man frei ins Internet stellen. Die Idee ist dabei, dass jeder mit dem public key eines Empfängers etwas verschlüsseln kann - um die Nachricht lesen zu können, braucht man zwingend den privaten Schlüssel des Empfängers. Das ist jetzt zwar etwas vereinfacht dargestellt, reicht aber schon mal, um zu verstehen, wie moderne Mailverschlüsselung funktioniert.
Der nächste Schritt sind digitale Signaturen. Mit so einer Signatur kann man zweifelsfrei beweisen, dass eine Datei von einer ganz bestimmten Person stammt und nicht verändert wurde, seit diese Person die Datei erzeugt hat. Um das zu erreichen, benutzt man die oben beschriebenen Eigenschaften eines asymmetrischen Schlüsselpaars, und zwar wie folgt:
Im ersten Schritt bildet man über die Datei eine Prüfsumme, einen so genannten "Hash" - dafür gibt es verschiedenste Verfahren mit Namen wie "SHA-1" oder "MD5". Allen Verfahren ist gemeinsam, dass jeder weiß, wie man so einen Hash berechnet und dass idealerweise keine zwei verschiedenen Dateien den selben Hash haben. Jetzt nehmen wir mal an, dass eine Datei, beispielsweise ein Spiel für die PS3, den Hash "12AB45EF" hat (der ist erfunden und kürzer als in Echt). Um eine Signatur zu bekommen, nimmt Herr Sony jetzt seinen
privaten Schlüssel, den niemand außer ihm kennt
(*), verschlüsselt damit diesen Hash und legt ihn zu der Datei. Genau das ist eine digitale Signatur! Jeder, der die Datei und diese Signatur hat, kann nämlich selber den Hash der Datei berechnen (das Verfahren ist ja bekannt), die Signatur mit dem
öffentlichen Schlüssel von Herrn Sony entschlüsseln und schauen, ob sein Hash mit dem aus der Signatur übereinstimmt. Wenn er es nicht tut, wurde die Datei verändert. Weil nur eine mit dem privaten Schlüssel von Herrn Sony erstellte Signatur überhaupt mit Herrn Sonys öffentlichem Schlüssel entschlüsselt werden kann und nur Herr Sony diesen Schlüssel kennt, wissen wir bei übereinstimmenden Hashes also, dass die Datei von Herrn Sony kommt und nicht verändert wurde. Yeah! Wenn Herr Sony jetzt noch in die Signatur zusätzlich zum Hash der Datei das Gamertag reinschreibt, mit dessen Account das File ausgeführt werden darf, haben wir alles, was man an Sicherhheit braucht: Bei jeder Datei auf der Platte kann das Betriebssystem der PS3 prüfen, ob Herr Sony diese Datei signiert und für den aktuellen User freigegeben hat, und wenn nicht, zeigt sie uns den Stinkefinger.
Der wichtige Punkt ist mit
(*) markiert: Mittlerweile kennt JEDER den Schlüssel von Herrn Sony. Und zwar nicht, weil man ihm den geklaut hätte, sondern weil der Depp ihn einfach offen hat rumliegen lassen. Jetzt kann also jeder Programmierer so tun, als sei er selbst Herr Sony und eine digitale Signatur erzeugen. Für jedes Programm, das er geschrieben hat. Und die Konsole wird es ohne jede Änderung der Firmware ausführen, denn sie kann ja gar nicht mehr sagen, ob ein Stück Code von Herrn Sony kommt, oder von irgendwem sonst.
Ganz wichtig ist dabei, dass mit den Homebrew-Programmen nicht etwa die bösen, geklauten Schlüssel verbreitet werden. Nein, es werden nur digitale Signaturen verbreitet - und weil die für jedes Programm logischerweise anders aussehen, sind sie NICHT Eigentum von Herrn Sony, auch wenn man für ihre Erstellung seine Schlüssel benutzt hat. Falls sich also überhaupt irgendwer strafbar machen sollte, wäre es der, der die Schlüssel hat. Also die bösden Homebrewer. Sind die dann doch kriminell? Vermutlich bald nicht mehr.
Es wird meiner Meinung nämlich nicht lange dauern, bis Bewohner eines Landes, in dem der Schlüsselbesitz legal ist, kleine Webfrontends anbieten werden, um digitale Signaturen für die Sony-Konsole zu erzeugen. Dann würde der Homebrewer weder die Schlüssel noch irgendwelche Spezialtools selber haben und es gibt eigentlich nur noch einen, der doof da steht: Herr Sony, weil er nicht auf seine Schlüssel aufgepasst hat.
Noch mal: Das da oben ist teilweise stark vereinfacht, stimmt aber im Prinzip so. Wenn man so was im Detail verstehen will, sollte man sich im Netz über Begriffe wie "Public-Key-Kryptographie", "Hashes" und "Digitale Signaturen" schlau machen - dazu gibt es mehr Material, als man in einem Menschenleben lesen kann.