-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich auf die Verhinderung unberechtigten
Kopierens durch Zuordnen von elektronischen Daten zu einem bestimmten
Exemplar eines Speichermediums. Insbesondere bezieht sich die vorliegende
Erfindung auf ein Datenfernübertragungssystem,
bei dem die zu schützenden
elektronischen Daten in einer sicheren Weise auf eine lokale Maschine übertragen
werden, die die geschützten
Daten speichert und auf der Grundlage eines einzigartigen Schlüssels des
Mediums permanent einem bestimmten Speichermedienexemplar zuordnet.
-
Der
Schutz urheberrechtlich oder anders geschützte digital gespeicherter
Daten war immer ein Hauptanliegen der Eigentümer solchen Materials. Insbesondere
Piraterie von Computersoftware, Musik und Video war und ist weiter
von großer
Bedeutung, da sie nahezu unmöglich
zu stoppen ist. Auch wenn es mehrere frühere Versuche durch die Software-,
Musik- und Videoindustrie gegeben hat, Piraterie einzuschränken, war
jedem ein begrenzter Erfolg beschieden.
-
Als
Teil der Anstrengung, Piraterie zu bekämpfen, haben Softwareanbieter
Software lizenziert, anstatt beim Kauf das Eigentum zu übertragen.
Wenn Software gekauft wird, wird der Käufer eher ein lizenzierter
Benutzer (d.h. Lizenznehmer) als ein Eigentümer. Das Kopieren von Software
ist unter den meisten Lizenzverträgen im allgemeinen auf nur
eine Kopie für
Sicherungszwecke eingeschränkt,
um gesetzlich unbegrenztes Kopieren einzuschränken. Außerdem gewährt die Softwarelizenz typischerweise
ein Recht, die Software auf einem einzelnen Computer zu verwenden,
oder für
die Benutzung durch lediglich einen Benutzer zu einer Zeit.
-
Softwareanbieter
haben auch versucht, Softwarepiraterie durch Kopierschützen ihrer
Software zu bekämpfen.
Während
dieser Versuch in einen bestimmten Umfang wirkungsvoll war, scheiterte
er, weil die Benutzer keine Sicherungskopieren machen konnten. Ebenso
waren bald, nachdem die erste kopiergeschützte Computersoftware auf dem
Markt war, andere Programme zum Kopieren der kopiergeschützten Software
verfügbar.
In einem Versuch, die Piraterie zu stoppen, wurden dann andere Urheberrechtsschutzverfahren
entwickelt – ebenfalls
mit begrenztem Erfolg. Diese Versuche umfassten die Anforderung,
eine Masterdiskette in den Computer einzulegen, oder die Anforderung
an den Benutzer, einen Schlüssel
oder andere Information einzugeben, die in dem Benutzerhandbuch
oder dem Lizenzübereinkommen
enthalten waren, wenn die Software von der Festplatte des Computers
aus ausgeführt
wurde. Andere erforderten wieder, dass ein Hardwareschlüssel an
der parallelen Schnittstelle des Computers vorhanden war, der gelesen
wurde, wenn die Software ausgeführt
wurde. Softwareanbieter bekamen eine zeitweilige Atempause, als
CD-ROMs das Standardmedium für
das digitale Speichern und Verteilen von Software wurde, weil die
Anwendungen so groß wurden,
dass das einzige Mittel zum Kopieren der Software das "Brennen" von Duplikaten auf
teuren beschreibbaren CDs war. Die Preise für beschreibbare CDs und für die Laufwerke
zum Beschreiben beschreibbarer CDs sind jedoch dramatisch gefallen,
und Piraten können
wieder billige illegale Kopien der geschützten Software herstellen.
-
Die
Musik- und Video-Industrie hat ein anderes Anliegen als die Softwareanbieter.
Diese Industrien sind insbesondere betroffen von Piraten, die perfekte
Kopien digital gespeicherter Musik und Videos anfertigen. Während das
Kopieren von Musik und Video für
nichtgewerbliche Zwecke erlaubt ist, wurde ein solches Kopieren
früher
durch Kassettenrekorder und Videorekorder durchgeführt, die
analoge Aufzeichnungstechniken verwenden. Analoge Reproduktion resultiert
in einer sinkenden Qualität
mit jeder Generation, während
digitale Kopien exakt sind und keinen Qualitätsverlust erleiden. Wie angemerkt
sind die Preise von beschreibbaren CDs und für die Laufwerke zum Beschreiben
beschreibbarer CDs dramatisch gefallen, und diese Laufwerke können ebenso
leicht Musik auf die CDs aufzeichnen, wie sie Software und Daten
aufzeichnen. Weiter können
durch das Aufkommen der DVD (Digital Versatile Disc) nun Filme in
voller Länge
auf eine einzelne DVD aufgezeichnet werden. Daher haben auch die
Musik- und Videoindustrie ein ansteigendes Bedürfnis, das Kopieren digital
aufgezeichneter Werke zu verhindern.
-
Das
schnelle Wachsen des Digitalzeitalters und der globalen Kommunikationen
fördert
die Besorgnis der Softwareanbieter und der Musik- und Videoindustrie.
In den frühen
1980ern, als die persönlichen
Computer (PC) in den Kinderschuhen steckten und die Softwareanbieter
zum ersten Mal versuchten, ihr geistiges Eigentum zu schützen, gab
es – wenn überhaupt – wenige
Massenverteilungskanäle.
Zu derselben Zeit war die Musik- und Videoindustrie auf der Ebene
des Endverbrauchers strikt analog. Somit war Piraterie kein Hauptfaktor, da
sie auf kleine Gruppen von Leuten oder Organisationen beschränkt war.
Jedoch mit leistungsfähigen
Computern auf jedem Schreibtisch und der Entwicklung von Musik und
Video in ein Digitalformat wurde Piraterie ein Hauptfaktor, der
Softwareanbieter allein pro Jahr weltweit 4 Milliarden Dollar kostet.
Offensichtlich ist der finanzielle Verlust für Softwareentwickler, Musiker,
Schauspieler und ihre zugeordnete Industrie immens.
-
An
der Wurzel der Ausbreitung der globalen Kommunikation steht das
schnelle Wachstum des Internets, was das Piraterieproblem an die
vorderste Front gedrückt
hat. Wie bekannt wurde der Begriff "Internet" zuerst 1982 verwendet, um die enorme
Ansammlung miteinander verbundener Netzwerke zu bezeichnen, die TCP/IP-Protokolle
(Transmission Control Protocol/Internet Protocol) verwenden. Obwohl
es erst in den letzten vier Jahren eine Massenanerkennung gefunden
hat, hat das Internet seit den späteren 1960ern existiert und war
ursprünglich
als ein WAN (Wide Area Network) entworfen, das einen Nuklearkrieg überleben
würde.
Die 1970er und 1980er hindurch entwickelten sich eine ansteigende
Zahl von kleinen Netzwerken, die über Gateways mit dem Internet
verbunden waren, als Mittel zum Austauschen elektronischer Post.
In der Mitte der 1980er gab es einen bedeutsamen Anstieg in der
Anzahl verfügbarer
Internethosts, und seit den späten 1980ern
ist das Anwachsen des Internets exponential gewesen. Das Wachstum
des Internets hat Leuten überall
in der Wert ein Mittel bereitgestellt, Informationen gemeinsam zu
nutzen und zu verteilen. Somit existiert jetzt das Potential für die Massenverteilung
raubkopierter Software, Musik und Video in einem globalen Maßstab. Viele
Internetusenetgruppen und Kanäle
auf dem Internet Relay Chat (IRC) sind dem Handeln mit raubkopierten
Dateien, Musik und Videos gewidmet. Gruppen, die ein hohes Profil
bewahren und ein großes
Maß von
Stolz auf ihre Piraterieleistungen haben, fördern das Piraterieproblem
weiter. Das Piraterieproblem ist so groß gewachsen, dass ein neuer
Begriff "warez" zum Beschreiben
der Piraten und ihrer Aktivitäten
verwendet wird. Das Internet bietet jetzt aufgrund seiner Größe, Geschwindigkeit
und Durchdringung in die Häuser
der Endverbraucher ein großes
Potential für
legitimen Verkauf und Verteilung geschützter Software, Musik und Videos.
Jedoch genau diese Vorteile machen es leicht für Piraten, teure geschützte Software
zu stehlen, die zu entwickeln und herzustellen Jahre gekostet hat,
und sie innerhalb von Stunden für
jedermann frei zum Nehmen verfügbar
zu machen.
-
Die
WO9635158 A offenbarte ein Verwaltungsverfahren und -gerät zum Copyrightschutz
von Programmen auf Nachfrage (programs on demand). Das Verfahren
und das Gerät
ermöglichen
die Verteilung elektronischer Daten, aber die Daten sind nicht gut
geschützt,
da sie nicht verschlüsselt
sind.
-
Die
EP-A-0665486 lehrt ein Verfahren zum Schützen elektronisch veröffentlichten
Materials unter Verwendung kryptographischer Protokolle. Dieses
Verfahren verwendet jedoch einen bekanntes komplexes und schweres
Protokoll zum Verschlüsseln
der Daten, wobei der Benutzer dem System einen Bezeichner liefern muss
und das System einen geheimen Schlüssel zurückschickt. Wenn jemand diesen
geheimen Schlüssel
unerlaubt erhält,
können
die geschützten
Daten leicht angesehen oder angezeigt werden. Außerdem werden die Daten beim
Empfangen durch den Benutzer entschlüsselt, der sie dann kopieren
oder verteilen kann.
-
Im
Hinblick auf das obige gibt es einen Bedarf nach einem sicheren
Verfahren und Gerät
für die
elektronische Verteilung von Daten, die aus der weiten Verbreitung
von Netzwerken wie z.B. dem Internet Vorteile ziehen will, während gleichzeitig
unerlaubte und illegale Kopien geschützter Werke, Daten und Anwendungen verhindert
werden. Insbesondere gibt es einen Bedarf nach einem Verfahren und
einem Gerät,
die Anbieter von Software, Musik und Videos mit einem sicheren Mittel
versehen zum elektronischen Verteilen ihrer Werke und Anwendungen über die
großen
Netzwerke, während
es sicherstellt, dass ihre geschützten
Werke und Anwendungen nicht kopiert und raubkopiert werden. So ein
Verfahren und Gerät
würden
auch sicherstellen, dass die Rechte von Eigentümern geistigen Eigentums geschützt sind
und dass die Besitzer für
ihre kreativen Anstrengungen richtig entschädigt werden.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Im
Hinblick auf das obige wird die vorliegende Erfindung somit durch
eine oder mehrere ihrer verschiedenen Aspekte und/oder Ausführungsformen
präsentiert,
um eines oder mehrere Ziele und Vorteile wie die unten angemerkten
zu erzielen.
-
Gemäß der vorliegenden
Erfindung wird ein Verfahren bereitgestellt zum elektronischen Verteilen elektronischer
Daten von einem Server an eine Clientvorrichtung über eine
Netzwerkinfrastruktur. Dieses Verfahren verwendet einen einzigartigen
Bezeichner für
ein Medienexemplar, um die elektronischen Daten nur dem einen Medienexemplar
zuzuordnen. Das Verfahren umfasst: das Aufbauen einer Verbindung
zwischen der Clientvorrichtung und dem Server über die Netzwerkinfrastruktur;
das Übertragen
des einzigartigen Bezeichners des einen Zielmedienexemplars an den
Server; das Verschlüsseln
der an den Client zu übermittelnden
elektronischen Daten; das Übermitteln
der elektronischen Daten an die Clientvorrichtung, wobei die elektronischen
Daten in einem verschlüsselten
Format vorliegen; und das Schreiben der elektronischen Daten auf das
eine Medienexemplar, so dass auf die Information zur Verwendung
nur von dem einen Zielmedienexemplar zugegriffen werden kann, wobei
das Verschlüsseln
der an die Clientvorrichtung zu übermittelten
elektronischen Daten das Verschlüsseln
zumindest der elektronischen Daten oder eines Verschlüsselungsschlüssels für die elektronischen
Daten umfasst, wobei das Verschlüsseln
den einzigartigen Bezeichner als Verschlüsselungsschlüssel verwendet.
-
Entsprechend
einem Merkmal der Erfindung umfasst das Übertragen des einzigartigen
Bezeichners an den Server: das Zugreifen auf das eine Zielmedienexemplar,
das Lesen des einzigartigen Bezeichners von einer vorbestimmten
Stelle auf einem Zielmedienexemplar und das Formatieren des einzigartigen
Bezeichners in eine erste Datenstruktur für die Kommunikation mit der
Clientvorrichtung. Die vorbestimmte Stelle auf dem einen Zielmedienexemplar
kann eine vorbestimmte Spur sein. Zusätzliche Information kann an
den entfernten Server übermittelt
werden, wie z.B. eine Käuferidentifikation,
eine Adresse, eine Telefonnummer und eine Zahlungsinformation. Außerdem kann
die zusätzliche
Information zusammen mit den verschlüsselten Daten verschlüsselt sein.
-
Entsprechend
noch einem anderen Merkmal der vorliegenden Erfindung umfasst das
Aufbauen einer Verbindung zwischen der Clientvorrichtung und dem
Server über
die Netzwerkinfrastruktur: das Schicken eines Formulars an den Server,
das Ausführen
eines Programms zum Bearbeiten des Formulars und das Senden eines
Metatag und einer Transaktionsdatei. Das Metatag und die Transaktionsdatei
können
verwendet werden, um in der Clientvorrichtung ein Clientprogramm
zu starten, nachdem sie zu der Clientvorrichtung gesendet wurden.
Außerdem
kann das Clientprogramm die Transaktionsdatei öffnen und Metadaten von Metatags
in der Transaktionsdatei parsen. Der Client kann zu einer Serveradresse
verbinden, die von einem vorbestimmten Metatag in der Transaktionsdatei
identifiziert wird, um die elektronischen Daten zu empfangen, und die
Serveradresse kann dynamisch verändert
werden, wenn die elektronischen Daten von dem Server angefordert
werden.
-
Entsprechend
einem anderen Aspekt der vorliegenden Erfindung ist ein Verfahren
bereitgestellt zum Zugreifen auf elektronische Daten, die auf einem
Medium gespeichert sind, durch eine erste Vorrichtung, die zum Lesen
des Mediums angepasst ist, wobei die elektronischen Daten in einem
verschlüsselten
Format auf das Medium geschrieben worden sind. Das Verfahren umfasst
das Zugreifen auf die elektronischen Daten auf dem Medium, das Lesen
eines einzigartigen Bezeichners des Mediums, das Lesen eines Abschnitts
der elektronischen Daten von dem Medium und das Entschlüsseln der
elektronischen Daten unter Verwendung des einzigartigen Bezeichners
als Entschlüsselungsschlüssel.
-
Entsprechend
einem Merkmal der vorliegenden Erfindung umfasst das Lesen des einzigartigen
Bezeichners das Lesen des einzigartigen Bezeichners von einer vorbestimmten
Spur des Mediums. Das Lesen des einzigartigen Bezeichners des Mediums
kann weiterhin das Übermitteln
des einzigartigen Bezeichners an eine zweite Vorrichtung enthalten,
und das Lesen zumindest eines Teils der elektronischen Daten enthält weiter
das Übermitteln des
Abschnitts der elektronischen Daten an die zweite Vorrichtung, wobei
die zweite Vorrichtung das Entschlüsseln der elektronischen Daten
unter Verwendung des einzigartigen Bezeichners als Entschlüsselungsschlüssel durchführt.
-
Entsprechend
einem weiteren Merkmal kann das Verfahren weiter umfassen: das Übermitteln
eines Authentifizierungscodes zu der ersten Vorrichtung, das Lesen
des einzigartigen Bezeichners von dem Medium, das Vergleichen des
Authentifizierungscodes mit dem einzigartigen Bezeichner, und, wenn
der Authentifizierungscode gleich dem einzigartigen Bezeichner ist,
das Erzeugen eines Verifizierungscodes, der an die zweite Vorrichtung übermittelt
wird.
-
Entsprechend
noch einem weiteren Merkmal kann das Verfahren weiter enthalten:
das Lesen einer vorbestimmten Zeichenkette von dem Medium, das Entschlüsseln der
vorbestimmten Zeichenkette, das Vergleichen der vorbestimmten Zeichenkette
mit einer bekannten Zeichenkette und das Anhalten des Verfahrens, wenn
die vorbestimmte Zeichenkette nicht gleich der bekannten Zeichenkette
ist.
-
Entsprechend
einem weiteren Aspekt der vorliegenden Erfindung ist ein System
zum Verteilen elektronischer Daten über eine Netzwerkstruktur bereitgestellt,
mit: zumindest einer Clientvorrichtung zum Betrieb durch einen Benutzer,
der die elektronischen Daten empfangen will, und zumindest einem
Server, der die elektronischen Daten enthält und die elektronischen Daten
zum Herunterladen an die zumindest eine Clientvorrichtung über die
Netzwerkinfrastruktur anbietet. Die Clientvorrichtung übermittelt
dem zumindest einen Server einen einzigartigen Bezeichner, wobei
der einzigartige Bezeichner einem bestimmten Medienexemplar zugeordnet
ist, auf dem die elektronischen Daten gespeichert werden sollen.
Der Server verschlüsselt
die elektronischen Daten unter Verwendung des einzigartigen Bezeichners
als Schlüssel
und lädt
die verschlüsselten elektro nischen
Daten zu dem zumindest einen Clientcomputer herunter, und der Clientcomputer
schreibt die verschlüsselten
elektronischen Daten auf das bestimmte Medienexemplar, so dass auf
die verschlüsselten elektronischen
Daten nur von dem bestimmten Medienexemplar zugegriffen werden kann.
-
Entsprechend
einem Merkmal der vorliegenden Erfindung schickt die Clientvorrichtung
weiter ein Formular an den zumindest einen Server, wobei das Formular
von dem zumindest einen Server bearbeitet wird und der Server ein
Metatag und eine Transaktionsdatei an den zumindest einen Client
schickt. Das Metatag und die Transaktionsdatei starten in der Clientvorrichtung
ein Clientprogramm, nachdem sie an den Client übermittelt wurden. Weiter kann
das Clientprogramm die Transaktionsdatei öffnen, Metadaten aus Metatags in
der Transaktionsdatei parsen und mit einer Serveradresse verbinden,
die von einem vorbestimmten Metatag in der Transaktionsdatei bezeichnet
wird, um die elektronischen Daten zu empfangen. Die Serveradresse
kann von dem zumindest einen Server dynamisch verändert werden,
wenn die elektronischen Daten von dem zumindest einen Server angefordert
werden.
-
Entsprechend
noch einem anderen Aspekt der vorliegenden Erfindung wird ein Gerät bereitgestellt zum
Lesen verschlüsselter
elektronischer Daten, die durch einen einzigartigen Bezeichner,
der auf dem Medienexemplar enthalten ist, einem Medienexemplar zugeordnet
sind, mit einem Prozessor, der Anweisungen zum Lesen elektronischer
Daten und des einzigartigen Bezeichners von dem einen Medienexemplar
steuert und ausführt,
und einem Medienlaufwerk, das auf den Prozessor reagiert und den
einzigartigen Bezeichner und die elektronischen Daten von dem einen
Medienexemplar liest. Die elektronischen Daten werden zur Verwendung
durch das Gerät
oder eine andere Vorrichtung, die mit dem Gerät verbunden ist, unter Verwendung des
einzigartigen Bezeichners als Datenschlüssel entschlüsselt, und
auf die Daten kann nur von dem einen Medienexemplar mit dem ein zigartigen
Bezeichner zugegriffen werden, und auf die Daten kann nicht von
anderen Medien mit einem anderen oder gar keinem Bezeichner zugegriffen
werden. Der einzigartige Bezeichner kann auf einer vorbestimmten
Spur des einen Speichermediums angeordnet sein.
-
Gemäß einem
anderen Merkmal der vorliegenden Erfindung enthält das Gerät eine anwendungsspezifische
integrierte Schaltung, die die Entschlüsselung vornimmt. Das Gerät kann weiter
einen Analog-Digital-Wandler enthalten, wobei die anwendungsspezifische
integrierte Schaltung die elektronischen Daten dekomprimiert und
der Analog-Digital-Wandler die dekomprimierten elektronischen Daten
in Audiosignale umwandelt.
-
Entsprechend
noch einem anderen Merkmal der vorliegenden Erfindung enthält das Medienlaufwerk weiter
eine anwendungsspezifische integrierte Schaltung, die anwendungsspezifische
integrierte Schaltung des Medienlaufwerks führt die Entschlüsselung
durch, und die entschlüsselten
elektronischen Daten werden an das Gerät geleitet.
-
Entsprechend
noch einem anderen Merkmal der vorliegenden Erfindung liest das
Medienlaufwerk eine vorbestimmte Zeichenkette von dem Medium, und
der Prozessor entschlüsselt
die vorbestimmte Zeichenkette und vergleicht die vorbestimmte Zeichenkette
mit einer bekannten Zeichenkette, und das Gerät wird angehalten, wenn die
vorbestimmte Zeichenkette nicht mit der bekannten Zeichenkette übereinstimmt.
-
Entsprechend
noch einem anderen Aspekt der vorliegenden Erfindung wird ein Gerät bereitgestellt zum
Lesen verschlüsselter
elektronischer Daten, die durch einen auf dem einen Medienexemplar
enthaltenen einzigartigen Bezeichner einem Medienexemplar zugeordnet
sind. Das Gerät
ist mit einem Allzweckcomputer verbunden, der ein Medienlaufwerk
aufweist, das den einzigartigen Bezeichner und die elektronischen
Daten von dem einen Medienexemplar liest. Das Gerät enthält eine
anwendungsspezifische integrierte Schaltung, die Anweisungen zum
Empfangen der elektronischen Daten und des einzigartigen Bezeichners
von dem Allzweckcomputer steuert und ausführt. Die elektronischen Daten
werden zur Verwendung durch das Gerät unter Verwendung des einzigartigen
Bezeichners als Datenschlüssel
entschlüsselt,
und auf die Daten kann nur von dem einen Medienexemplar zugegriffen
werden, das den einzigartigen Bezeichner hat, und auf die Daten
kann nicht von einem beliebigen anderen Medium zugegriffen werden,
das einen anderen oder keinen Bezeichner hat. Der einzigartige Bezeichner
kann auf einer bestimmten Spur des einen Medienexemplars angeordnet sein.
-
Entsprechend
einem Merkmal der vorliegenden Erfindung führt die anwendungsspezifische
integrierte Schaltung die Entschlüsselung durch. Das Gerät kann weiter
einen Analog-Digital-Wandler
enthalten, wobei die anwendungsspezifische integrierte Schaltung
die elektronischen Daten komprimiert und der Analog-Digital-Wandler die
dekomprimierten elektronischen Daten in Audiosignale umwandelt.
-
Entsprechend
noch einem anderen Aspekt der vorliegenden Erfindung liest das Medienlaufwerk
eine vorbestimmte Zeichenkette von dem Medium, und die applikationsspezifische
integrierte Schaltung entschlüsselt
die vorbestimmte Zeichenkette und vergleicht die vorbestimmte Zeichenkette
mit einer bekannten Zeichenkette, und das Gerät wird angehalten, wenn die
vorbestimmte Zeichenkette nicht gleich der bekannten Zeichenkette
ist.
-
Andere
Merkmale der Erfindungen sind unten beschrieben.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Die
vorausgehende Zusammenfassung sowie die folgende detaillierte Beschreibung
der bevorzugten Ausführungsformen
wird besser verstanden, wenn sie in Verbindung mit den beigefügten Zeichnungen
gelesen wird. Zum Zweck der Veranschaulichung der Erfindung ist
in den Zeichnungen eine Ausführungsform
dargestellt, die derzeit bevorzugt ist, bei der gleiche Bezugszeichen
durch die verschiedenen Ansichten der Zeichnungen hindurch ähnliche
Teile bezeichnen, wobei es jedoch klar ist, dass die Erfindung nicht
auf die offenbarten spezifischen Verfahren und Instrumentalitäten eingeschränkt ist.
In den Zeichnungen ist:
-
1 eine
beispielhafte Computernetzwerkumgebung, in der die vorliegende Erfindung
implementiert werden kann;
-
2 ein
Blockdiagramm der Komponenten einer in 1 gezeigten
Client-PC/Workstation;
-
3 ein
Blockdiagramm der Komponenten eines in 2 gezeigten
bevorzugten Medienlaufwerks;
-
4 ein
Blockdiagramm der Komponenten einer beispielhaften in 1 gezeigten
Einzelvorrichtung;
-
5 ein
Blockdiagramm der Komponenten einer beispielhaften in 1 gezeigten
Entschlüsselungs/Dekomprimierungsvorrichtung;
-
6 ein
Flussdiagramm, das einen Überblick über die
bei der elektronischen Verteilung von Daten entsprechend der vorliegenden
Erfindung durchgeführten
Vorgänge
zeigt;
-
7 ein
Flussdiagramm der Vorgänge,
die während
einer Kommunikationssitzung zwischen einem Client und einem Server
zum Anfordern und Herunterladen von Daten entsprechend der vorliegenden
Erfindung durchgeführt
werden;
-
8 ein
beispielhaftes Format einer Datei, die Parameter enthält, die
an ein Clientprogramm übergeben
werden, das einen Datenherunterladevorgang steuert;
-
9 ein
Flussdiagramm der Vorgänge,
die von der PC/Workstation oder der Einzelmaschine während des
Lesens/Ausführens/Wiedergebens
der geschützten
Daten durchgeführt
werden; und
-
10A und 10B Flussdiagramme
der Vorgänge,
die von der Entschlüsselungs/Dekomprimierungsvorrichtung
während
des Lesens/Wiedergebens von Daten durchgeführt werden.
-
DETAILLIERTE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Die
vorliegende Erfindung stellt ein sicheres Verfahren bereit zum Übertragen
sensitiver und geschützter
elektronischer Daten (geschützter
Inhalt) von einem entfernten Server über eine Netzwerkinfrastruktur
an einen Clientcomputer oder eine Einzelvorrichtung und zum Verhindern
der unerlaubten Verteilung und des Kopierens von Daten, nachdem
sie an den Clientcomputer oder die Einzelvorrichtung übertragen
wurde. Der Begriff "Daten", wie er hierbei
verwendet wird, umfasst alle Informationen, die auf einem Speichermedium
gespeichert werden können,
einschließlich
ausführbare
Dateien, verlinkte Bibliotheksdateien, Datendateien, Datenbankdateien,
Audiodateien und Videodateien, aber nicht eingeschränkt darauf.
-
Mit
Bezug auf 1–5 werden
eine beispielhafte nicht einschränkende
Umgebung 10 und Vorrichtungen gezeigt, in denen die vorliegende
Erfindung implementiert werden kann. Wie in 1 dargestellt, enthält die Umgebung 10 eine
Fernnetzwerkinfrastruktur 12 (WAN = Wide Area Network).
Die WAN-Infrastruktur 12 kann
ein TCP/IP-Netzwerk (Transmission Control Protocol/Internet Protocol)
wie z.B. das Internet ent halten. Mit der WAN-Infrastruktur 12 können über Kommunikationsleitungen 24 ein
oder mehrere lokale Netze 14 (LAN = Local Area Network),
Server 16, Internet-Dienstanbieter 18 (Internetserviceprovider)
und Einzelvorrichtungen 22 verbunden sein, die mit den
Protokollen der WAN-Infrastruktur 12 kompatibel sind. Wie
dargestellt können
mit dem LAN 14 und dem ISP 18 Client-PCs/Workstations 20 und/oder
Einzelvorrichtungen 22 verbunden sein, die über das
LAN 14 oder den ISP 18 auf die Netzwerkinfrastruktur
zugreifen können
und die in der Lage sind, zumindest auf Daten auf einem herausnehmbaren
Medium 28 zuzugreifen und sie zu lesen. Ebenfalls dargestellt
ist eine Datenentschlüsselungs/Dekomprimierungsvorrichtung 30,
die mit einer PC/Workstation 20 verbunden ist.
-
Das
LAN 14 kann ein Ethernet- oder Token-Ring-Network enthalten
und einen Server 16 und ein (nicht gezeigtes) Gateway aufweisen,
das über
eine oder mehrere Kommunikationsverbindungen 24 eine Verbindung
mit der Netzwerkinfrastruktur 12 bereitstellt. Die Kommunikationsverbindungen 24 zu
entfernten Systemen können
drahtlose Verbindungen, Satellitenverbindungen oder zugeordnete
Leitungen sein.
-
Der
Server 16 kann z.B. eine auf UNIX oder Windows NT Server
basierende Computerplattform mit einem oder mehreren Prozessoren
(z.B. Intel Pentium II Prozessor, Digital Equipment Company Alpha RISC-Prozessor
oder Sun SPARC-Prozessor) enthalten, Langzeitspeicher (z.B. ein
RAID-Plattenfeld), einen Direktzugriffsspeicher (RAM), Kommunikationsperipherie
(z.B. Netzwerkinterfacekarte, Modem und/oder Terminaladapter) und
Anwendungsprogramme (z.B. Datenbanksoftwareanwendungen, World Wide
Web Publishing/Hosting-Software und Bestandsverwaltungssoftware),
die verwendet werden können,
um Informationen an die Client-PC/Workstations 20, die
Einzelvorrichtungen 22 und andere Server 16 zu
verteilen. Die Server 16 können z.B. als WWW-Server (World
Wide Web), FTP-Server (File Transfer Protocol), Emailserver (Electronic
Mail) usw. konfiguriert sein.
-
Der
ISP 18 ist typischerweise eine Organisation oder ein Dienst,
der über
einen (nicht gezeigten) Server, der über Kommunikationsverbindungen 24 mit
dem Internet verbunden ist, einen Zugriff auf das Internet (die
Netzwerkinfrastruktur 12) liefert. In der beispielhaften
Ausführungsform
von 1 können
der Client-PC 20 oder die Einzelvorrichtung 22 eine
Wählverbindung 26 (über das öffentlich
geschaltete Telefonnetzwerk) verwenden, um sich mit dem ISP 18 zu
verbinden.
-
Die
Client-PCs 20 können
persönliche
Computer auf der Grundlage von Windows 95, Windows 98 oder Windows
NT Workstation umfassen, die einen Intel Pentium Prozessor oder
höher,
Langzeitspeicher (z.B. eine IDE- oder SCSI-Festplatte), ein Laufwerk
für herausnehmbare
Medien (z.B. CD-R, DVD-RAM oder andere herausnehmbare Disketten-
oder Festplattenlaufwerke), Direktzugriffsspeicher (RAM), Kommunikationsperipherien
(z.B. Netzwerkschnittstellenkarte, Modem und/oder Terminaladapter)
und geeignete Anwendungsprogramme (z.B. Wählnetzwerkverbindungssoftware
und einen Webbrowser) haben. Wenn als Workstation konfiguriert,
können
die Workstations 20 z.B. UNIX-basierte IBM-RS/600- oder
SUN-SPARCStation-Workstations umfassen. Weiter können die Client-PC/Workstations 20 die
sogenannten "Netzwerkrechnervorrichtungen" umfassen.
-
Ein
Blockdiagramm einer beispielhaften PC-Workstation ist in 2 gezeigt.
Wie dargestellt ist die PC-/Workstation in interne und externe Komponenten
aufgeteilt. Die internen Komponenten beinhalten ein BIOS 70 (Basic
Input/Output System) und einen Prozessor 66 (CPU), die
den Gesamtbetrieb der PC/Workstation 20 steuern. Ein Speicher 64,
ein Festplattenlaufwerk 76, ein Diskettenlaufwerk 74,
ein Bandlaufwerk 78, eine Modem/Terminaladapter/Netzwerkschnittstellenkarte 82 und
ein Laufwerk 52 für
ein herausnehmbares Medium (Wechselmedienlaufwerk) sind ebenfalls
mit der CPU 66 verbunden. Das Wechselmedienlaufwerk 52a oder 52b arbeitet
zum Lesen und/oder Beschreiben eines Speichermediums, das in einer
herausnehmbaren Speicherkassette enthalten ist. Die beispielhafte
PC/Workstation 20 von 2 ist mit
zwei Wechselmedienlaufwerken 52a und 52b aufgebaut,
um zu betonen, dass ein Wechselmedienlaufwerk sowohl in interner als
auch in externer Form verwirklicht sein kann.
-
Die
Modem/Terminaladapter/Netzwerkschnittstellenkarte 82 kann wie in
der Technik bekannt einzelne Karten enthalten, die mit der Kommunikation
zusammenhängende
Funktion durchführen.
Die Modem/Terminaladapter/Netzwerkschnittstellenkarten 82 sind
in der PC/Workstation 20 enthalten, um Kommunikationen
mit externen Netzwerken bereitzustellen, mit denen die PC/Workstation 20 verbunden
ist. Insbesondere kann die Modem/Terminaladapter/Netzwerkschnittstellenkarte 82 verwendet
werden, um auf das LAN 14, den ISP 18 und die
Netzwerkinfrastruktur 12 zuzugreifen.
-
Die
Kommunikation zwischen internen und externen Vorrichtungen kann über Controller
bewerkstelligt werden, die in der PC/Workstation 20 bereitgestellt
sind. Ein Schnittstellencontroller für seriell/parallel/USB 58 (der
mehrere getrennte Controller umfassen kann), ein Bildschirmcontroller 60 (Videokarte),
und ein Tastatur- und Mauscontroller 62 stellen jeweils
eine Schnittstelle zwischen der CPU 66 und einem externen
Wechselmedienlaufwerk 52b (oder Drucker), einem Monitor 54 und
einer Tastatur- und Mausvorrichtung 56 bereit. Ein Festplatten-
und Diskettencontroller 72 dient jeweils als Schnittstelle
zwischen der CPU 66 und der Festplatte 76, dem
CD-ROM-Laufwerk 80,
der Diskette 74 und dem Bandlaufwerk 78. Für in der
Technik Bewanderte ist einzusehen, dass der Plattencontroller 72 getrennte
Disketten- und Festplattencontroller enthalten kann (z.B. IDE oder
SCSI-Controller).
-
Ein
Wechselmediencontroller 68 dient als Schnittstelle zwischen
dem Wechselmedienlaufwerk 52a und der CPU 66.
Der Wechselmediencontroller 68 kann z.B. einen SCSI-Controller
(Small Computer System Interface) oder einen IDE-Schnittstellencontroller
(Integrated Drive Electronics) enthalten. Ein Festplatten- und Diskettencontroller 72 dient
jeweils als Schnittstelle zwischen der CPU 66 und der Festplatte 76,
dem CD-ROM-Laufwerk 80,
der Diskette 74 und dem Bandlaufwerk 78. Alternativ
kann das Wechselmedienlaufwerk 52a den Plattencontroller 72 als
Schnittstelle zu der CPU 66 verwenden.
-
Mit
Bezug auf 3 ist dort ein Blockdiagramm
eines beispielhaften Medienlaufwerks 52 mit einer SCSI-Schnittstelle
zu der PC/Workstation 20 (über den Controller 68)
dargestellt.
-
Das
Medienlaufwerk 52 enthält
vorzugsweise ein ZIP®-Laufwerk, hergestellt
durch IOMEGR Corporation, Roy, Utah; es können jedoch auch andere Medienlaufwerke
als Medienlaufwerk 52 verwendet werden. Das Medienlaufwerk 52 enthält Komponenten,
die eine Kommunikation zwischen den Lese/Schreibkanal für das Medium
(untere rechte Seite des Diagramms) und der PC/Workstation 20 (obere
linke Seite des Diagramms) bereitstellen. Das Medienlaufwerk 52 enthält einen
AIC-Chip 101, der die Funktionen des SCSI 102, des
direkten Speicherzugriffs 103 (DMA = Direct Memory Access)
und des Plattenformatierers 104 durchführt. Die Schnittstelle enthält auch
einen PHAEDRUS 105, der einen 8032-Microcontroller 106, ein 1-kByte-RAM 107 und
eine anwendungsspezifische integrierte Schaltung 108 (ASIC
= Application Specific Integrated Circuit) enthält. Der ASIC 108 kann
verschiedene Funktionen durchführen
wie z.B. das Servosequenzieren, das Datensplitten, EOC, ENDEC, A/D-
und D/A-Umwandlung. Die Kommunikation zwischen dem Medienlaufwerk 52 und
der PC/Workstation 20 wird durch Übertragen von Daten zwischen
dem Eingabe/Ausgabekanal des Medienlaufwerks 52 und dem
Mediencontroller 68 (z.B. SCSI-Controller) der PC/Workstation 20 verwirklicht.
-
Mit
Bezug zurück
auf 1 kann die Einzelvorrichtung 22, wie
sie verwendet wird, außer
den "traditionellen" Rechnervorrichtungen
(z.B. PCs, Workstations, Netzwerkcomputer oder Termi nals) eine beliebige Vorrichtung
umfassen, die mit der Netzwerkinfrastruktur 12 Wechselwirken kann. Die Einzelvorrichtung 22 kann z.B.
Vorrichtungen enthalten wie WebTV®, erhältlich von
WebTV Networks, Palo Alto, Kalifornien, einen Musik- oder Videoplayer
usw. Es sei angemerkt, dass die Einzelvorrichtung nicht mit einer
Kommunikationsverbindung zu der Netzwerkinfrastruktur, dem LAN oder
dem ISP versehen sein braucht.
-
Ein
Blockdiagramm einer beispielhaften Einzelvorrichtung 22 ist
in 4 gezeigt. Die beispielhafte Einzelvorrichtung 22 enthält ein Wechselmedienlaufwerk 52a,
ein Wechselmediencontroller 68, eine CPU 66, einen
ASIC/Controller 36, einen Digital/Analog-Wandler 38,
ein ROM 37 und ein RAM 39. Wie von einem in der
Technik Bewanderten einzusehen ist, kann die Einzelvorrichtung 22 von 4 als "Player" oder "Viewer" der geschützten Daten
arbeiten, in dem die geschützten
Daten von dem Medium 28 gelesen werden. Das Wechselmedienlaufwerk 52a,
der Wechselmediencontroller 68 und die CPU 66 arbeiten
jeweils wie bei der PC/Workstation 20 von 1-3 beschrieben.
Das ROM 37 enthält
Anweisungen, um den Betrieb und die Funktionen der Einzelvorrichtung 22 zu
steuern. Der ASIC/Controller 36 kann verwendet werden,
um die geschützten
Daten zu entschlüsseln
und digitale Audio- und/oder Videosignale (z.B. PCM = Pulse Code
Modulation) zur Umwandlung in analoge Audio- oder Videosignale an
den Digital/Analog-Wandler 38 ausgeben.
-
Mit
Bezug zurück
auf 1 ist eine Entschlüsselungs/Dekomprimierungsvorrichtung 30 entsprechend der
vorliegenden Erfindung dargestellt, die mit dem PC 20 verbunden
ist, um Lesen/Wiedergeben/Ausführen der
geschützten
elektronischen Daten durchzuführen.
Die Entschlüsselungs/Dekomprimierungsvorrichtung 30 unterscheidet
sich von der Einzelvorrichtung 22 darin, dass die Entschlüsselungs/Dekomprimierungsvorrichtung 30 nicht
mit einer Vorrichtung (z.B. dem Wechselmedienlaufwerk 52)
zum Lesen des Mediums 28 versehen ist, sondern sie empfängt eher
Daten, die von der PC/Workstation 20 gelesen und übermittelt
wurden.
-
Mit
Bezug auf 5 ist dort ein Blockdiagramm
einer beispielhaften Entschlüsselungs/Dekomprimierungsvorrichtung 30 gezeigt.
Die Entschlüsselungs/Dekomprimierungsvorrichtung 30 kann
z.B. über
eine USB-Verbindung (Universal Seriell Bus), eine parallele Schnittstelle
oder eine serielle Schnittstelle mit der PC/Workstation 20 verbunden
sein, um die geschützten
elektronischen Daten von der PC/Workstation 20 zu empfangen,
und sie kann über
analoge Kommunikationsleitungen 42 analoge Audio- und Videosignale
zu einer externen Analogeingabevorrichtung ausgeben wie z.B. einem
Stereoverstärker,
einem Fernseher, einem Videokassettenrekorder oder einer Soundkarte.
Die Entschlüsselungs/Dekomprimierungsvorrichtung 30 enthält einen
Controller für
USB/Parallel/Seriell-Anschluss 34, einen ASIC/Controller 36,
einen Digital-Analog-Wandler 38 und ein RAM 39.
Der Controller für
USB/Parallel/Seriell-Anschluss 34 schließt an den
USB/Parallel/Seriell-Anschluss der PC/Workstation 20 über Leitungen 32 an,
um Kommunikationen zwischen der Entschlüsselungs/Dekomprimierungsvorrichtung 30 und
der PC/Workstation 20 bereitzustellen. Der Controller für USB/Parallel/Seriell-Anschluss 34 sorgt
auch für
eine Datenkommunikation zwischen der PC/Workstation 20 und
dem ASIC/Controller 36. Der ASIC/Controller 36 kann
die geschützten
Daten entschlüsseln
und digitale Audio- und/oder Videosignale (z.B. PCM = Pulse Code
Modulation) zur Umwandlung in analoge Audiosignale an den Digital/Analog-Wandler 38 übertragen.
-
Alternativ
kann die Entschlüsselungs/Dekomprimierungsvorrichtung 30 als
Karte bereitgestellt sein, die in der PC/Workstation 20 installiert
ist. So eine Entschlüsselungs/Dekomprimierungsvorrichtung 30 kann mit
der PC/Workstation 20 über
den internen Bus (z.B. ISA, PCI oder AGP) der PC/Workstation 20 kommunizieren
anstatt über
den USB/Parallel/Seriell-Anschluss. Weiterhin würde die Entschlüs selungs/Dekomprimierungsvorrichtung 30 in
diesem alternativen Aufbau mit einer Schnittstelle versehen sein,
um die Kommunikation mit dem internen Bus des PC 20 zu
ermöglichen.
-
Es
sei angemerkt dass die beispielhafte Umgebung und die Vorrichtungen,
die in 1–5 gezeigt sind,
nicht auf die dargestellte Umgebung beschränkt sind, da es beabsichtigt
ist, dass andere Netzwerkinfrastrukturen, Netzwerkverbindungen und
Vorrichtungen innerhalb des Umfangs und des Geists der vorliegenden Erfindung
liegen.
-
Mit
Bezug auf 6 ist dort ein Überblick über die
Vorgänge
gezeigt, die entsprechend dem elektronischen Verteilungsmodell der
vorliegenden Erfindung durchgeführt
werden. Wie den in der Technik Bewanderten einleuchtend ist, können die
Merkmale und Aspekte der vorliegenden Erfindung durch eine beliebige geeignete
Kombination von Hardware, Software und/oder Firmware implementiert
werden. Entsprechend der vorliegenden Erfindung können der
Netzwerkserver oder die Server 16 Daten wie z.B. Anwendungssoftware, Datenbanktabellen,
Musik, Video usw. speichern zur Verteilung an Clients 20 und/oder
Einzelvorrichtungen 22. Während die vorliegende Erfindung
auf alle Arten von Datenübertragungen
anwendbar ist, ist sie besonders anwendbar auf den Handel über das
Internet und insbesondere auf die elektronische Verteilung und Auslieferung
von Software, Musik- und
Videodaten.
-
Der
Benutzer beginnt den Vorgang zum Verteilen elektrischer Daten im
Schritt 200, wenn er oder sie unter Verwendung eines persönlichen
Computers 20 daheim oder einer Einzelvorrichtung 22 Software,
Musik oder Videos (d.h. geschützte
elektronische Daten) kaufen möchte.
Die geschützten
elektronischen Daten können
zum Verkauf gegen eine Gebühr
z.B. von einer WWW-Site (World Wide Web), die auf einem der Server 16 beheimatet
ist, angeboten und unter Verwendung einer Kreditkarte, einer Debitkarte,
einer Smartkarte, Virtual Cache usw. gekauft werden. Zu diesem Zweck
kann sich der Heimbenutzer über
einen Internetbrowser wie z.B. den Internet Explorer, der von Microsoft,
Redmond, WA erhältlich
ist, mit der WWW-Site verbinden (Schritt 202), indem er
den URL (Universal Resource Locator) eingibt oder einen Hypertextlink
anklickt, der den URL der WWW-Site enthält. Der URL kann z.B. eine
IP-Adresse (Internet Protocol, z.B. 147.178.20.151) oder einen Domain-Namen
(z.B. "sitename.com") enthalten, der
die IP-Adresse einer solchen Site identifiziert, so dass der Browser
eine TCP/IP-Verbindung aufbauen kann. Wenn er einmal verbunden ist,
führt der
Benutzer eine Auswahl der auf seinen oder ihren PC 20 herunterzuladenden
geschützten
elektronischen Daten durch (Schritt 204), und der WWW-Server
beginnt den Herunterladevorgang (Schritt 206) in Verbindung
mit Hilfsanwendungen, die auf der Client-PC/Workstation 20 laufen, unter
Verwendung wohl bekannter Protokolle (z.B. HTTP).
-
Entsprechend
der vorliegenden Erfindung werden die heruntergeladenen geschützten elektronischen Daten
während
des Herunterladevorgangs verschlüsselt
unter Verwendung eines einzigartigen Bezeichners (z.B. der Seriennummer)
des Mediums 28 als Verschlüsselungsschlüssel und
direkt auf das Medium 28 heruntergeladen. Die verschlüsselten
geschützten
elektronischen Daten sind dann durch den einzigartigen Bezeichner
dem Medium 28 zugeordnet und auf sie kann nicht von einem
beliebigen anderen Medium aus zugegriffen werden, das einen anderen
oder gar keinen einzigartigen Bezeichner hat. Wie unten beschrieben
werden wird, werden die Daten beim Wiedergeben/Ausführen/Betrachten
der geschützten
elektronischen Daten in einem PC 20, einer Einzelvorrichtung 22 oder
einer Entschlüsselungs/Dekomprimierungsvorrichtung 30 (Schritt 210)
unter Verwendung des einzigartigen Bezeichners des Mediums 28 als
Entschlüsselungsschlüssel entschlüsselt und
anschließend
für den
PC 20, die Einzelvorrichtung 22 oder die Entschlüsselungs/Dekomprimierungsvorrichtung 30 verfügbar gemacht.
Somit werden beliebige geschützte
elektronische Daten, die von dem Zielmedium 28 auf andere
Speichervorrichtungen kopiert werden, unbrauchbar, da die anderen
Speichervorrichtungen nicht denselben einzigartigen Bezeichner haben
werden wie das Zielmedium 28. Ein solches System würde das
unerlaubte Kopieren der geschützten
elektronischen Daten verhindern, wodurch es die Rechte an geistigem
Eigentum des Verkäufers
oder Inhabers solcher Rechte schützt.
-
Der
in 6 dargestellte Überblick wird nun mit Bezug
auf 7–9 detailliert
beschreiben. 7 zeigt den Herunterladevorgang
des elektronischen Verteilens von Daten über das Netzwerk 12 von
einem Server 16 zu einer Client-PC/Workstation 20 oder
einer Einzelvorrichtung 22. Wie oben angemerkt werden die
geschützten
elektronischen Daten auf ein bestimmtes Medienexemplar mit einem
einzigartigen Bezeichner heruntergeladen, so dass die Daten dem
bestimmten Medium zugeordnet sind und nur von dem bestimmten Medium
aus auf sie zugegriffen werden kann.
-
Bei
Schritt
300 beginnt der Vorgang, nachdem ein Benutzer auf
dem Client-PC
20 z.B. über
einen Webbrowser einen Server
16 (Webserver) kontaktiert
hat, mit ihm verbunden ist, und eine Auswahl geschützter Daten
zum Herunterladen durchführt.
Vorzugsweise enthält
der Webserver
16 einen IOMEGA-Speicherwebserver
16,
der unten beschrieben wird. Ebenfalls vorzugsweise ist die Verbindung
zwischen dem Webserver eine sichere (d.h. verschlüsselte)
Verbindung. Nachdem der Benutzer auf der angezeigten Webseite des Webservers
den Herunterladeknopf klickt, veranlasst diese Handlung die PC/Workstation,
ein HTML-Formular an den Webserver
16 zu schicken. Der
Webserver
16 führt
dann das geeignete CGI-Programm (Common Gateway Interface) durch.
Das CGI-Programm, das auf dem IOMEGA-Speicherwebserver
16 läuft, sendet
an die Client-PC/Workstation
20 das
Metatag "Content-Type:
application/xift" gefolgt
von einer geeigneten IOMEGA-Transaktionsdatei (ITF = Iomega Transaction
File). Diese ITF-Datei ist einzigar tig für den Iomega-Speicherwebserver
16,
und sie wird verwendet, um Informationen an ein ITF-Clientprogramm
zu liefern, das den Herunterladevorgang auf der Seite des Clients
steuert. Das Format der ITF-Datei ist in
8 gezeigt.
Wenn der Webbrowser das Metatag empfängt, startet er das ITF-Clientprogramm und übergibt
den ITF-Dateinamen als Befehlszeilenparameter. Die ITF-Clientanwendung öffnet die
ITF-Datei und parst die Metadaten aus den Metatags. Die Client-PC/Workstation
20 verbindet
zu der Serveradresse, die von dem ITFSERVER-Tag bereitgestellt ist,
um die elektronischen Daten zu empfangen (s. Schritt
308).
Die Serveradresse kann für
jede Anfrage dynamisch geändert
werden, um die Last auf dem Server auszugleichen. Die ITF-Datei
kann z.B. die folgende Information enthalten für das Übertragen einer einzelnen Datei,
die ein Lied enthält:
-
Im
Schritt 302 fragt der Client-PC 20 das bestimmte
Medienexemplar 28, auf das der heruntergeladene Inhalt
gespeichert werden soll, nachdem einzigartigen Bezeichner des Mediums.
Als nicht einschränkendes Beispiel
kann das Medium 28 eine ZIP®-Diskette enthalten,
die durch Iomega Corporation, Roy, Utah hergestellt ist. Jede Iomega-ZIP®-Diskette
enthält
eine einzigartige Seriennummer, die während des Formatierungsvorgangs in
eine vorbestimmte Spur geschrieben wurde und die als der einzigartige
Bezeichner verwendet werden kann. Weiterhin ist das Medium 28,
während
es mit Begriffen einer ZIP®-Diskette beschrieben
wurde, nicht auf die ZIP®-Diskette beschränkt, da
die Verwendung anderer herausnehmbarer und permanenter Medientypen,
die einen einzigartigen Bezeichner aufweisen, wie z.B. CD-R, DVD-RAM
und andere herausnehmbare Disketten und Festplatten, innerhalb des
Umfangs und Geistes der vorliegenden Erfindung liegt.
-
Der
Client-PC
20 kann das Medium abfragen unter Verwendung
einer Anwendungsprogrammierungsschnittstelle (API = Application
Programming Interface) wie z.B. des Iomega Ready API oder eines
anderen geeigneten Verfahrens. Wenn das Iomega Ready API aufgerufen
wird, veranlasst es das Medienlaufwerk, die einzigartige Seriennummer
aus der vorbestimmten Spur zu lesen unter Verwendung des SCSI 0 × 06 Non-Sense
Befehls. Insbesondere durch Aufrufen der Plattenstatusseite (Seite
0 × 06)
des Non-Sense Befehls kann
die Seriennummer des Mediums bestimmt werden durch Lesen der Offset
Bytes 20–59
der zurückgegebenen
Datenstruktur. Ein beispielhafter Quellcode zum Durchführen des
Schritts
302 in Verbindung mit Iomega-ZIP
®-Laufwerk
und -Diskette ist wie folgt:
-
Es
ist einsichtig, dass der einzigartige Bezeichner nicht beschränkt ist
auf die auf dem Medium 28 gespeicherte Information wie
z.B. die Seriennummer, und dass andere Arten von Information als
einzigartiger Bezeichner verwendet werden können. Außerdem sollte der einzigartige
Bezeichner eine hinreichende Anzahl von Bits (Länge) enthalten, um sicherzustellen,
dass nicht zwei Medienexemplare denselben Bezeichner haben. Jede
Iomega-ZIP®-Diskette
enthält
z.B. eine einzigartige Serien nummer aus 39 Byte (312 Bit), und andere Bitlängen können verwendet
werden.
-
Wenn
der Client-PC
20 einmal mit dem in dem ITFSERVER-Tag angegebenen
Server
16 verbunden ist (z.B. 147.178.20.151), sendet der
Client im Schritt
304 über
TCP/IP-Sockets ein Befehlspaket an den Server. Das erste Befehlspaket
hat einen Aktionscode von eins und enthält den zu übertragenden Dateinamen, alle
Benutzerinformationen, Rechnungsinformation und den einzigartigen
Bezeichner des Mediums. Das erste Befehlspaket kann wie folgt formatiert
sein:
-
Der
Server antwortet mit einem Datenpaket mit demselben Aktionscode
und informiert den Client darüber,
dass die Datei geöffnet
wurde sowie über
die Dateigröße.
-
Alternativ
kann das Datenfeld eine Mehrzahl von Feldern enthalten, die die
Benutzerinformation, die Rechnungsinformation und den einzigartigen
Bezeichner als geparste Felder enthält. Das Datenfeld kann so formatiert
sein, dass es die folgende Datenstruktur aufweist:
-
In
den Schritten 306–310 sendet
der Client ein Befehlspaket mit dem Aktionscode zwei (Schritt 306), der
den Rechner benachrichtigt, die nächsten 4000 Byte Daten den
einzigartigen Bezeichner verschlüsselt
zu senden. Dieser Aktionscode wird wiederholt, bis die gesamte Datei
von dem Server 16 zu dem Client-PC 20 übertragen
wurde. Der Server 16 verschlüsselt den Datenschlüssel für den herunterzuladenden
digitalen Inhalt unter Verwendung des einzigartigen Bezeichners
(und einer beliebigen zusätzlichen
Information) als Verschlüsselungsschlüssel (Schritt 308).
Während
im Schritt 308 ein beliebiger geeigneter Verschlüsselungsalgorithmus
verwendet werden kann, wird die Datenverschlüsselung vorzugsweise unter
Verwendung des gut bekannten Blowfish-Verschlüsselungsalgorithmus durchgeführt. Der
Blowfish-Verschlüsselungsalgorithmus
ist vorteilhaft schnell, besonders wenn er auf 32-Bit-Mikroprozessoren
mit großen
Datencache implementiert ist wie z.B. dem Intel Pentium und dem
IBM/Motorola-Power PC. Kurz gesagt ist Blowfish ein 64-Bit-Blockchiffre mit
variabler Schlüssellänge, der
entweder in Hardware oder in Software implementiert werden kann.
Der Algorithmus besteht aus zwei Teilen: einem Schlüsselexpansionsteil
und einem Datenverschlüsselungsteil.
Der Schlüsselexpansionsteil
wandelt einen Schlüssel
von höchstens
448 Bit in verschiedene Unterschlüsselfelder mit insgesamt 4168
Byte um. Die Datenverschlüsselung
geschieht über
ein 16-Runden-Feistelnetzwerk,
wobei jede Runde aus einer schlüsselabhängigen Permutation
und einer schlüssel-
und datenabhängigen
Substitution besteht. Alle Operationen sind exklusives ODER (XOR)
und Additionen von 32-Bit-Wörtern.
Die einzigen zusätzlichen
Operationen sind vier indizierte Felddatensuchen pro Runde, um die
verschlüsselten
Daten zu erzeugen.
-
Entsprechend
der vorliegenden Erfindung kann der Server 16 einen herunterzuladenden
digitalen Inhalt in einem verschlüsselten oder nicht verschlüsselten
Format enthalten. Wenn der herunterzuladende Inhalt nicht in einem
verschlüsselten
Format gespeichert ist, wird es vorzugsweise beim Herunterladen
verschlüsselt unter
Verwendung des einzigartigen Bezeichners als Verschlüsselungsschlüssel. Wenn
der herunterzuladende digitale Inhalt auf dem Server 16 vor
dem Herunterladen in einem verschlüsselten Format (vorverschlüsselt) gespeichert
ist, dann würde
der Server nur den Datenschlüssel
zu dem Inhalt (d.h. der Softwareanwendung, Musik oder Video) zu
verschlüsseln
brauchen. Vorverschlüsselung
kann vorteilhaft sein, um eine höhere
Leistungsfähigkeit
in Umgebungen bereitzustellen, in denen große Mengen von Daten pro Transaktion
verschlüsselt
werden müssen.
Solche elektronischen Verteilungssysteme wären schwer belastet, wenn sie
den gesamten Inhalt, der elektronisch verteilt werden soll, verschlüsseln müssten. Es
kann jedoch vorteilhaft sein, den heruntergeladenen Inhalt in Schritt 308 doppelt
zu verschlüsseln
durch Verschlüsseln
des vorverschlüsselten Inhalts
und des Datenschlüssels
zu dem vorverschlüsselten
Inhalt unter Verwendung des einzigartigen Bezeichners (und einer
beliebigen zusätzlichen
Information) als Verschlüsselungsschlüssel. Eine
solche Technik würde
die Sicherheit der zu übertragenen
Daten im großen
Maße erhöhen, da
die Daten vor der Übertragung an
den Client wie oben angemerkt doppelt verschlüsselt sind. Während der
Vorgang bei Schritt 308 das Verschlüsseln des Datenschlüssels oder
des Daten schlüssels
und des Inhalts bezeichnet hat, ist es auch möglich, das im Schritt 308 nur
der zu übertragende
Inhalt verschlüsselt
wird unter Verwendung des einzigartigen Bezeichners als Schlüssel. Wenn
verbesserte Sicherheit ein Anliegen ist, kann mit dem Inhalt eine
zusätzliche Transaktionsinformation
wie z.B. Name, Adresse, Kreditkartennummer usw. des Käufers in
dem Inhalt enthalten sein.
-
Ebenfalls
in Schritt
308 überträgt der Server
die Daten an den Client, z.B. über
TCP/IP-Sockets, und der Client PC
20 schreibt die Daten
im Schritt
310 auf das Medium
28. Die Daten können in
einem Standarddateisystemstruktur oder durch direktes Spur- oder
Sektorschreiben auf das Medium
28 geschrieben werden. Das
Format, in dem die Daten auf das Medium
28 geschrieben
werden, ist nicht auf die angegebenen Formate beschränkt, da
andere Formate verwendet werden können. Die von dem Server
20 an
den Client-PC
20 übertragenen
Daten haben vorzugsweise eine vorbestimmten Datenstruktur wie die
folgende:
-
Der
Vorgang von Schritt 306–310 wird wiederholt,
bis alle Daten von dem Server 16 auf den Client-PC 20 heruntergeladen
sind. Zu diesem Zeitpunkt wird der Client-PC 20 einen Aktionscode
von drei senden, um den Server 16 zu informieren, dass
die Übertragung
vollständig
ist und um den Socket zu trennen (Schritt 312). Es sei
angemerkt, dass obige Sourcecodes und Datenstrukturen hier nur für Beispielzwecke
eingeschlossen sind und in keiner Weise den Umfang der vorliegenden
Erfindung einschränken
sollen.
-
Wie
oben angemerkt, werden die Daten auf dem Medium 28 in einem
verschlüsselten
Format gespeichert unter Verwendung des einzigartigen Bezeichners
als Entschlüsselungsschlüssel. Wenn
die Daten auf ein anderes Medium kopiert werden, wird dementsprechend
der Entschlüsselungsvorgang
fehlschlagen, was den Inhalt unverwendbar macht. Somit wird unerlaubtes
Kopieren heruntergeladener Daten unter Verwendung der Vorrichtung
und des Verfahrens der vorliegenden Erfindung verhindert. Während der
oben beschriebene Vorgang sich auf einen Client-PC bezieht, ist
der Vorgang auf eine Einzelvorrichtung anwendbar, die in der Lage ist, über die
Netzwerkstruktur zu kommunizieren und das Medium, auf dem die geschützten elektronischen
Daten gespeichert sind, zu lesen und zu schreiben. Es kann zum Beispiel
ein Kiosk an Verkaufsstellen bereitgestellt sein, bei denen Käufer ein
Medienexemplar 28 in den Kiosk einlegen und Daten herunterladen,
die auf einem persönlichen
Computer daheim oder im Büro
verwendet werden sollen.
-
Mit
Bezug auf 9 sind dort die Vorgänge dargestellt,
die während
eines Lesens/Ausführens/Wiedergebens
der geschützten
Daten durchgeführt
werden, wenn sie einmal auf das Medium 28 geschrieben sind. Wie
den in der Technik Bewanderten einsichtig kann der Vorgang von 9 in
mehreren Threads ausgeführt werden,
um die Leistungsfähigkeit
des Wiedergabe/Ausführ/Betrachtungsvorgangs
zu erhöhen.
Wie unten beschrieben wird, werden die verschlüsselten Daten unter Verwendung
des einzigartigen Bezeichners des Mediums 28 als Entschlüsselungsschlüssel entschlüsselt, um
dem PC 20 oder der Einzelvorrichtung 22 verwendbare
elektronische Daten zu präsentieren.
-
Der
Wiedergabe/Ausführ/Betrachtungsvorgang
beginnt in Schritt 320, wenn der Benutzer das Medium 28 in
den PC 20 oder die Einzelvorrichtung 22 einlegt
und auf die geschützten
Daten auf dem Medium 28 zugreift. Der Benutzer kann unter
Verwendung einer Kombination aus Software und Hardware, die in dem
PC 20 oder der Einzelvorrichtung 22 installiert
sind, auf die geschützten
Daten zugreifen.
-
Im
Schritt 322 liest der PC 20 (oder die Einzelvorrichtung 22)
den einzigartigen Bezeichner von dem Medium 28 und speichert
den einzigartigen Bezeichner in dem RAM 64 (RAM 39).
Wie oben angemerkt ist das Medium vorzugsweise die Iomega-ZIP®- Diskette,
die die einzigartige Seriennummer auf einer vorbestimmten Spur jeder
ZIP®-Diskette
enthält;
das Medium ist jedoch nicht auf die ZIP®-Diskette
eingeschränkt
und kann ein beliebiges Medium umfassen, dem ein einzigartiger Bezeichner
zugeordnet ist. Wie ebenfalls oben angemerkt, kann die Software
des PC 20 die Iomega Ready API verwenden, um in Schritt 322 die
Seriennummer von der Diskette zu lesen.
-
In
Schritt 324 entschlüsselt
der PC 20 (oder die Einzelvorrichtung 22) eine
vorbestimmte Zeichenkette, die auf dem Medium 28 enthalten
ist, unter Verwendung des einzigartigen Bezeichners. Die vorbestimmte
Zeichenkette wird in Schritt 326 mit einer bekannten Zeichenkette
verglichen, um festzulegen, ob eine richtige Zeichenkette entschlüsselt wurde
(d.h. die entschlüsselte
vorbestimmte Zeichenkette gleich der bekannten Zeichenkette ist).
Wenn die vorbestimmte Zeichenkette in die bekannte Zeichenkette
entschlüsselt
wurde, fährt der
Vorgang bei Schritt 328 fort, wo die verschlüsselten
geschützten
elektronischen Daten von dem Medium 28 gelesen werden.
Wenn dagegen das Ergebnis der Entschlüsselung der vorbestimmten Zeichenkette
nicht die bekannte Zeichenkette war, enden alle Threads, wodurch
der Wiedergabe/Ausführ/Betrachtungsvorgang in
Schritt 344 beendet wird.
-
In
Schritt 328 liest der PC 20 (oder die Einzelvorrichtung 22)
die verschlüsselten
Daten von dem Medium 28 und speichert die geschützten elektronischen
Daten temporär
in dem RAM 64 (RAM 39). Der Lesevorgang kann in
einem ersten Thread durchgeführt werden,
der auf dem PC 20 läuft,
und er wird in einer analogen Weise wie das Schreiben der Daten
auf das Medium 28 z.B. durch Lesen eines Standarddateisystems oder
direktes Spur- oder Sektorlesen durchgeführt. Das Format, in dem die
Daten von dem Medium 28 gelesen werden, ist entsprechend
der Weise ausgeführt,
wie die Daten auf das Medium geschrieben worden waren, und wie beim
Schreiben der Daten auf das Medium 28 ist es nicht auf
die oben angegebenen Formate eingeschränkt, da andere Formate verwendet
werden können.
-
In
Schritt 330 wird bestimmt, ob all die geschützten Daten
von dem Medium 28 gelesen worden sind. Falls ja, endet
der Lese-Thread
in Schritt 332. Wenn dagegen weitere Daten gelesen werden
sollen, kehrt der Lese-Thread zu Schritt 328 zurück, um weitere
geschützte
Daten von dem Medium 28 zu lesen. Entsprechend einem Aspekt
der Erfindung muss in Schritt 328 nicht die Gesamtheit
des geschützten
Inhalts von dem Medium 28 gelesen werden, was die Speichermenge
verringert, die zum Verwirklichen des Entschlüsselungsvorgangs erforderlich
ist. Weil die Vorgänge
in 9 in einer Multi-Thread-Weise durchgeführt werden,
kann der Vorgang des Lesens der geschützten Daten von dem Medium 28 auch
durchgeführt
werden, wenn andere Teile der geschützten Daten in einem zweiten
Thread oder anderer Hardware entschlüsselt werden, wie unten diskutiert
wird.
-
Ebenfalls
von Schritt 330 aus entschlüsselt ein zweiter Thread die
geschützten
Daten (Schritt 334) unter Verwendung des (in Schritt 322 gelesenen)
einzigartigen Bezeichners der Mediums 28 als Entschlüsselungsschlüssel. Die
Entschlüsselung
der Daten in Schritt 334 wird in Übereinstimmung mit dem Verschlüsselungsalgorithmus
durchgeführt
und enthält,
wie oben angemerkt, vorzugsweise den Blowfish-Algorithmus. Die Entschlüsselung
kann in der Software geschehen, oder sie kann in Hardware durchgeführt werden,
wenn ein höherer
Sicherheitspegel erforderlich ist. Da die Entschlüsselung
in einem zweiten Thread (oder einer anderen Hardwarevorrichtung)
abläuft,
kann weiter wie oben beschrieben der Entschlüsselungsvorgang gleichzeitig
zu dem Lesevorgang im Schritt 328 durchgeführt werden.
-
In
Schritt 336 werden die entschlüsselten Daten überprüft um zu
bestimmen, ob sie gültige
Daten (d.h. verwendbar) sind. Wenn die Daten gültig sind, werden die Daten
in Schritt 338 von dem PC 20 (oder der Einzelvorrichtung 22)
ausgeführt/abgespielt/betrachtet.
Der Vorgang des Ausführens/Abspielens/Betrachtens kann
in einem dritten Thread oder einer anderen Hardwarevorrichtung (z.B.
einer Soundkarte) durchgeführt werden.
Wenn die Daten in Schritt 336 dagegen nicht gültig bzw.
verdorben sind, benachrichtigt der Vorgang in Schritt 342 den
Benutzer und beendet in Schritt 344 alle Threads. Wenn
einmal alle geschützten
Daten entschlüsselt
und abgespielt/betrachtet/ausgeführt
sind, werden in Schritt 344 alle Threads, die die Vorgänge von 9 enthalten,
beendet. Es ist vorzuziehen, bei Beenden des Vorgangs in Schritt 344 alle
temporären
Dateien zu löschen,
die unverschlüsselte
geschützte
elektronische Daten enthalten, um die Antipirateriemerkmale der
vorliegenden Erfindung weiter zu verbessern.
-
Durch
Verwirklichen der Vorgänge
von 9 in mehrfachen Threads können die Vorgänge des
Lesens, Entschlüsselns
und Ausführens/Abspielens/Betrachtens
der geschützten
Daten in dem PC 20 gleichzeitig ablaufen, um die Leistungsfähigkeit
zu erhöhen.
-
Es
sei angemerkt, dass die PC/Workstation 20 und die Einzelvorrichtung 22 oben
als die Schritte 320–344 in ähnliche
Weise ausführend
beschrieben sind. Da die PC/Workstation 220 jedoch einen
Allzweckrechner enthält,
können
bei der PC/Workstation 20 zusätzliche Merkmale der vorliegenden
Erfindung bereitgestellt werden, die unten beschrieben werden.
-
Beim
Ausführen/Abspielen/Betrachten
der geschützten
Daten auf der PC/Workstation 20 kann der Software- bzw.
Hardwareent schlüsselungsvorgang
in den Schritten 334 bis 338 so durchgeführt werden,
dass die geschützten
elektronischen Daten entschlüsselt
werden und automatisch ein ausführbares
Programm gestartet wird, um die entschlüsselten geschützten elektronischen
Daten zu verwenden. Alternativ kann der Software- oder Hardwareentschlüsselungsvorgang
die geschützten
elektronischen Daten in den Schritt 334 und 336 entschlüsseln und überprüfen und
die entschlüsselten
Daten temporär
auf dem Medium 28, einem anderen Medium (z.B. der Festplatte 76)
oder in einem Speicher (z.B. RAM 64) speichern zur Ausführung oder
Verwendung durch andere Software- oder Hardwareanwendungen in Schritt 338.
Diese Alternative ermöglicht
es dem Benutzer, die geschützten
elektronischen Daten zu einem Zeitpunkt nach der Entschlüsselung
abzuspielen/auszuführen/zu
betrachten. Wenn verbesserte Sicherheit vorgezogen wird, könnten die
geschützten
elektronischen Daten außerdem
in Schritt 328 in einer verschlüsselten Form in dem RAM 64 gespeichert
sein und in Schritt 334 wie benötigt temporär entschlüsselt werden.
-
Wie
oben angemerkt kann der Entschlüsselungsvorgang
in Schritt 334 (9) in Software oder Hardware
implementiert sein. Mit Bezug auf 2–4 wird
eine beispielhafte erste Hardwareimplementierung beschrieben. Wie
in der Technik wohl bekannt ist, ist ein ASIC eine maßgeschneiderte
oder halbmaßgeschneiderte
integrierte Schaltung, die zum Durchführen einer Vielfalt von Funktionen
entworfen sein kann. Dementsprechend können die ASICs 108 und/oder 36 zusätzlich zu
den anderen oben angegebenen von den ASICs 108 und 36 durchgeführten Funktionen
zum Durchführen
der Entschlüsselung
von Schritt 334 entworfen sein. Es ist vorzuziehen, den
Entschlüsselungsvorgang
in dem ASIC 108 und/oder 36 zu implementieren,
um die Wahrscheinlichkeit zu minimieren, dass skrupellose Piraten
die Entschlüsselungssoftware "hacken", um illegale Kopien
der geschützten
elektronischen Daten zu machen.
-
In
der ersten Hardwareausführungsform
wird die Gesamtheit der Schritte 320–344 von 9 in
einer einzelnen Vorrichtung (z.B. der PC/Workstation 20 oder
der Einzelvorrichtung 22) durchgeführt. Wenn die erste Hardwareausführungsform
in dem PC 20 implementiert wird, werden die von dem Medium 28 gelesenen
verschlüsselten
Daten (über
den Controller 68) dem ASIC 108 zugeführt zur
Entschlüsselung
(in den Schritten 324 und 334) unter Verwendung
des einzigartigen Bezeichners des Mediums 28 als Entschlüsselungsschlüssel. Wenn
die geschützten
elektronischen Daten einmal von dem ASIC 108 entschlüsselt sind,
werden sie (über
den Controller 68) zurück
zu dem PC 20 geleitet zur Überprüfung und Ausführung. Durch
Aufnahme der Entschlüsselungsverarbeitung
in den ASIC 108 wird die Last des Prozessors 66 vorteilhaft
verringert, was andere von der PC/Workstation 20 durchgeführte Vorgänge beschleunigt.
-
Wenn
die erste Hardwareausführungsform
in der Einzelvorrichtung 22 implementiert ist, werden die verschlüsselten
Daten (über
den Controller 68 und die CPU 66) dem ASIC/Controller 36 zugeführt zum
Entschlüsseln
in den Schritten 324 und 334 unter Verwendung
des einzigartigen Bezeichners des Mediums 28 als Entschlüsselungsschlüssel. Wenn
die geschützten
elektronischen Daten einmal von dem ASIC/Controller 36 entschlüsselt und überprüft sind,
werden sie in digitale Audio- und/oder Videodaten umgewandelt, die
dem Digital/Analog-Wandler 38 zugeführt werden zum Umwandeln in
analoge Audio- und Videoinformation. Die Analoginformation wird
dann an eine Analogeingabevorrichtung 44 ausgegeben, wie
z.B. einen VCR, einen Kassettenrekorder, einen Verstärker, eine
Soundkarte usw., und der Vorgang endet in Schritt 336.
-
Eine
zweite Hardwareausführungsform
wird nun beschrieben, die die Verarbeitung zwischen der PC/Workstation 20 und
der mit Bezug auf 5 beschriebenen Entschlüsselungs/Dekomprimierungsvorrichtung 30 aufteilt.
Die Entschlüsselungs/Dekomprimierungsvorrichtung 30 kann
z.B. als Spezialzweckmedienplayer arbeiten, der mit dem PC 20 verbunden
ist. Die Entschlüsselungs/Dekomprimierungsvorrichtung 30 ist mit
der Fähigkeit
versehen, die geschützten
elektronischen Daten von dem PC 20 zu empfangen, den Inhalt (falls
erforderlich) zu entschlüsseln
und zu dekomprimieren und Audio- und/oder Videoausgaben bereitzustellen.
-
Der
Betrieb der zweiten Hardwareimplementation wird mit Bezug auf die 10A und 10B beschrieben.
Der Vorgang beginnt in Schritt 400, wenn der Benutzer das
Medium 48 in den PC 20 einlegt und auf die geschützten elektronischen
Daten auf dem Medium 28 zugreift. In Schritt 402 wird
der Datenschlüssel (d.h.
der einzigartige Bezeichner) für
die geschützten
Daten gewonnen. Die Vorgänge
des Schritts 402 sind im Detail mit Bezug auf 10B beschrieben.
-
Mit
Bezug auf 10B (Schritt 450) beginnt
die Verarbeitung in Schritt 452, wenn der PC 20 den
einzigartigen Bezeichner von dem Medium 28 liest und ihn
in Schritt 454 an die Entschlüsselungs/Decodierungsvorrichtung 30 weitergibt.
Wie oben angemerkt, ist das Medium 28 vorzugsweise die
Iomega-ZIP®-Diskette, die die
einzigartige Seriennummer auf einer vorbestimmten Spur jeder ZIP®-Diskette
enthält;
das Medium ist jedoch nicht auf die ZIP®-Diskette
eingeschränkt
und kann ein beliebiges Medium umfassen, dem ein einzigartiger Bezeichner
zugeordnet ist. Die Software des PC 20 kann die Iomega
Ready API verwenden, um wie oben beschrieben die Seriennummer von
der Diskette zu lesen. In Schritt 456 erzeugt die Entschlüsselungs/Decodierungsvorrichtung 30 einen
Authentifizierungscode, der in Schritt 458 zurück an den
PC 20 (das Medienlaufwerk 52) geschickt wird.
In Schritt 460 überprüft das Medienlaufwerk,
ob der von der Entschlüsselungs/Decodierungsvorrichtung 30 gelieferte
Authentifizierungscode derselbe ist wie die einzigartige Seriennummer
auf dem Medium 28, das sich tatsächlich in dem Laufwerk 52 befindet.
Wenn der Authentifizierungscode nicht mit dem einzigartigen Bezeichner übereinstimmt,
endet der Wiedergabe/Ausführ/Betrachtungsvorgang
in Schritt 468. Wenn der Authentifizierungscode mit dem
einzigartigen Bezeichner übereinstimmt,
dann erzeugt das Medienlaufwerk 52 in Schritt 462 einen
Verifizierungscode. Der Verifizierungscode wird in Schritt 464 zu
der Entschlüsselungs/Decodierungsvorrichtung 30 geschickt,
und der Vorgang kehrt dann zu Schritt 404 in 10A zurück.
Der zweistufige Verifikationsprozess von 10B stellt
sicher, dass der einzigartige Bezeichner des Mediums 28,
das sich physikalisch in dem Medienlaufwerk 52 befindet,
denselben einzigartigen Bezeichner hat, der in Schritt 454 zu
der Entschlüsselungs/Decodierungsvorrichtung 30 geschickt
wurde, und verbessert weiter die Widerstandsfähigkeit der vorliegenden Erfindung
gegen Hacken. Der einzigartige Bezeichner wird zur Verwendung als
Entschlüsselungsschlüssel in
dem Entschlüsselungsvorgang
(Schritte 406 und 412) in dem RAM 39 gespeichert.
-
Mit
Bezug wieder auf 10A entschlüsselt die Entschlüsselungs/Decodierungsvorrichtung 30 in Schritt 404 eine
vorbestimmte Zeichenkette, die auf dem Medium 28 enthalten
ist, unter Verwendung des einzigartigen Bezeichners. Die vorbestimmte
Zeichenkette wird über
den USB/Parallel/Seriell-Anschluss 58 an die Entschlüsselungs/Decodierungsvorrichtung 30 gesendet.
Die vorbestimmte Zeichenkette wird in Schritt 406 von der
Entschlüsselungs/Decodierungsvorrichtung 30 mit
einer bekannten Zeichenkette verglichen, um festzustellen, ob eine
richtige Zeichenkette entschlüsselt
wurde (d.h. die entschlüsselte
Zeichenkette gleich der bekannten Zeichenkette ist). Wenn die entschlüsselte vorbestimmte
Zeichenkette gleich der bekannten Zeichnkette ist, geht der Vorgang
in Schritt 408 weiter, in dem die verschlüsselten
Daten von dem Medium 28 gelesen werden. Wenn dagegen die
entschlüsselte
vorbestimmte Zeichenkette nicht gleich der bekannten Zeichenkette
ist, darin endet der Vorgang in Schritt 424.
-
In
Schritt 408 werden die verschlüsselten Daten von dem Medium 28 gelesen
und über
den USB/Parallel/Seriell-Anschluss 58 in Schritt 410 an
die Entschlüsselungs/Dekomprimierungs-Vorrichtung 30 gesendet. In
Schritt 412 entschlüsselt
der ASIC/Controller 36 die von dem Controller 34 empfangenen
geschützten
elektronischen Daten. Der Entschlüsselungsvorgang wird wie oben
mit Bezug auf Schritt 334 (9) beschrieben durchgeführt. Wenn
die geschützten
elektronischen Daten entschlüsselt
sind, stellt der ASIC/Controller 36 (oder eine auf dem
PC 20 laufende Anwendungssoftware) in Schritt 414 den
Typ der Information fest, die die geschützten elektronischen Daten
enthalten und ob die entschlüsselten
Daten gültig
sind. Wenn die Daten in Schritt 414 als ungültig bestimmt
sind, kann der Benutzer in Schritt 422 benachrichtigt werden
und der Vorgang endet in Schritt 424.
-
Wenn
die geschützten
elektronischen Daten in Schritt 414 eine gültige Anwendungssoftware
oder eine gültige
ausführbare
Datei sind, kann die Entschlüsselungs/Dekomprimierungsvorrichtung 30 die
entschlüsselte
Datei zur Ausführung
in Schritt 416 zurück
an den PC 20 leiten. Wie in 10A dargestellt
kann der Vorgang des Sendens von verschlüsselten Daten an die Entschlüsselungs/Decodierungs-Vorrichtung 30 eine
Schleife durch die Schritte 408 bis 416 durchlaufen,
bis alle Daten von dem Medium 28 gelesen und zur Ausführung zurück an den
PC 20 geleitet sind. Nachdem alle geschützten elektronischen Daten
entschlüsselt
und an den PC 20 zurückgeleitet
sind, endet der Vorgang im Schritt 424.
-
Wenn
die geschützten
elektronischen Daten gültige
Audio- oder Videodaten sind, kann die Entschlüsselungs/Dekomprimierungsvorrichtung 30 zusätzlich die
Dekomprimierung der Audio- oder Videodaten in Schritt 418 in
dem ASIC/Controller 36 bereitstellen. Typischerweise sind
digitale Audio- und Videoinformationen entsprechend Standardkomprimierungsalgorithmen
komprimiert. Full-Motion-Video- und Audioinformationen können komp rimiert
sein unter Verwendung des MPEG-Standards (Moving Pictures Expert
Group) und Standbilder können
unter Verwendung des JPEG-Standards (Joint Picture Expert Group),
komprimiert sein. Die dekomprimierte Audio- oder Videoinformation
kann in Schritt 418 in digitale Daten (z.B. Pulscodemodulation
(PCM)) umgewandelt werden und an den Digital/Analog-Wandler 38 gesendet
werden.
-
In
Schritt 420 werden die digitalen Audio- oder Videodaten
von dem Digital/Analog-Wandler 38 in analoge Audio- oder
Videosignale umgewandelt. Die analogen Signale werden zum Wiedergeben/Betrachten
an eine Analogeingabevorrichtung 44 (z.B. einen Stereoverstärker, einen
Videokassettenrecorder, eine Soundkarte oder einen Fernseher) ausgegeben.
Wie in 10A dargestellt kann der Vorgang
des Sendens verschlüsselter
Daten an die Entschlüsselungs/Decodierungsvorrichtung 30 eine
Schleife durch die Schritte 408 bis 420 durchlaufen,
bis alle Daten von dem Medium 28 gelesen sind. Nachdem
alle geschützten
elektronischen Daten in eine analoge Ausgabe umgewandelt wurden,
endet der Vorgang in Schritt 424.
-
Entsprechend
der zweiten Hardwareimplementation können die geschützten Daten
von dem PC 20 als Strom zu der Entschlüsselungs/Dekomprimierungsvorrichtung 30 gesendet
werden oder alternativ in ihrer Gesamtheit vor der Entschlüsselung
durch den ASIC/Controller 36 in das RAM 39 heruntergeladen
werden.
-
Die
vorliegende Erfindung verwendet vorteilhaft den einzigartigen Bezeichner
des Mediums als Verschlüsselungsschlüssel, der
es ermöglicht,
dass beliebige elektronische Daten gegen Kopieren geschützt sind. Zusätzlich können die
geschützten
elektronischen Daten durch Verwenden des einzigartigen Bezeichner
des Mediums anstelle einer Hardwarevorrichtung auf einem beliebigen
Gerät gelesen/abgespielt
werden, das das Medium lesen kann. Somit werden die geschützten elektronischen
Daten portierbar und sind nur an ein einzelnes herausnehmbares Medi um
gebunden, was es ermöglicht,
dass die geschützten
elektronischen Daten gemeinsam genutzt werden, während verhindert wird, dass
die geschützten
elektronischen Daten kopiert und von einem anderen Medium gelesen/abgespielt
werden. Weiterhin kann die vorliegende Erfindung in einem einzelnen
Verschlüsselungsverfahren
oder einem Mehrfachverschlüsselungsverfahren
verwendet werden, bei dem der Schlüssel zu den geschützten elektronischen
Daten selbst verschlüsselt
ist unter Verwendung der Seriennummer der Platte als Schlüssel.
-
Es
sei angemerkt, dass die vorausgehenden Beispiele lediglich zum Zweck
der Erklärung
angeboten sind und in keiner Weise als einschränkend für die vorliegende Erfindung
ausgelegt werden dürfen.
Während die
Erfindung mit Bezug auf die bevorzugten Ausführungsformen beschrieben wurde,
ist klar, dass die dabei verwendeten Wörter Wörter der Beschreibung und der
Veranschaulichung und nicht Wörter
der Begrenzung sind. Auch wenn die Erfindung hier mit Bezug auf
bestimmte Mittel, Materialien und Ausführungsformen beschrieben ist,
ist weiterhin nicht beabsichtigt, dass die Erfindung auf die hier
offenbarten Besonderheiten eingeschränkt sein soll, sondern die
Erfindung erstreckt sich auf alle funktionell äquivalenten Aufbauten, Verfahren
und Verwendungen, soweit sie in dem Umfang der beigefügten Ansprüche liegen.
Die in der Technik Bewanderten, die den Nutzen der Lehren dieser
Beschreibung haben, können
zahlreiche Abwandlungen davon bewirken, und Änderungen können durchgeführt werden
ohne von dem Umfang der Erfindung in ihren Aspekten abzuweichen.
-
Es
kann zum Beispiel ein festes Medium mit einem einzigartigen Bezeichner
von der vorliegenden Erfindung benutzt werden zum Empfangen geschützter elektronischer
Daten. Auch muss das herausnehmbare Medium nicht eine herausnehmbare
Medienkassette sein, sondern sie kann auch eine herausnehmbares
Laufwerk umfassen wie jene, die entfernbar mit persönlichen
Computern und anderen Vorrichtungen z.B. über Laufwerksschächte, Vorrichtungsschächte und
PCMCIA-Schlitze verbunden sind.