Eine große Herausforderung bei eCommerce Anwendung ist es, die Transaktionskosten möglichst zu minimieren. Dies war der Grundgedanke bei der Entwicklung des NetBill Systems.
Electronic Commerce verlangt von Systemen ein hohes Maß an Sicherheit, Ausfalltole-ranz und intelligenter Datenverteilung. Das NetBill Projekt, entwickelt an der Carnegie Mellon University, versucht diesen Anforderungen durch die Implementation des NetBill Testsystems Rechnung zu tragen.
Das NetBill System stelllt Authentifizierungsverfahren, Kontenmanagement, Transaktionsverarbeitung, Abrechnung und Berichtsfunktionalitäten zur Verfügung. Mit einem NetBill Konto und der zugehörigen Client-Software können Benutzer elektronisch finanzielle Transaktionen vornehmen, wobei NetBill als ‚Provider‘ der Finanzdienstleistungen auftritt.
Allgemein erfordert der Verkauf von Waren über ein Netzwerk zwei grundlegende Transferleistungen: Den Transport der Ware zu dem Kunden und die Überweisung des Geldes zum Anbieter. Information als Ware kann nun auch über das Netzwerk übertragen werden – dies erlaubt eine Optimierung des Systemdesigns.
Ein Problem sollte hier nicht unerwähnt bleiben. Für den Anbieter
gibt es keine zuverlässige Möglichkeit, nach der Informationsübertragung
der ‚Ware‘ an den Kunden die Einhaltung eines Copyrights zu überwachen.
Der Kunde kann z.B. die Information an Dritte weiterverkaufen.
Die Client Bibliothek (als ‚checkbook‘ bezeichnet) und die Server Bibliothek
(als ‚till‘ bezeichnet) haben eine standardisierte API (Programmierschnittstelle),
die eine einfache Integration von NetBill in bestehende Applikationen erlaubt.
In den Bibliotheken sind alle Funktionen für die Zahlungsabwicklung
und Sicherheitskontrolle integriert, so daß der Programmierer sich
über diese Themen keine Gedanken mehr machen muß. Jegliche Daten,
die zwischen dem checkbook und dem till ausgetauscht werden, sind verschlüsselt.
Die Informationsdarstellung der Anfrage nach dem Preis wird durch Standardmethoden gelöst (Website & Browser). Die Anfrage selber erfolgt dann z.B. durch Klick auf einen Hyperlink, der einen Verweis für diese Anfrage darstellt. Dann wird von der Client Anwendung eine Anfrage an die checkbook Bibliothek gestellt, die dann wiederum eine authorisierte Anfrage an die till Bibliothek sendet. Diese wiederum leitet die Anfrage an die Anwendung des Anbieters weiter (Abb. 5-2, Schritt 1).
Die Anwendung des Anbieters ermittelt den Preis und sendet ihn mit digitaler Unterschrift mittels der till Bibliothek zu der checkbook Bibliothek und weiter an die Client Anwendung (Schritt 2). Der Anwender kann dann eine Entscheidung über den Kauf fällen.
Entscheidet sich der Anwender nun für den Kauf, wird eine digital unterzeichnete Kauforder an die till Bibliothek des Anbieters gesendet (Schritt 3), die dann von der Anwendung des Anbieters die Informationen verschlüsselt mit einem Einmalschlüssel an den Kunden überträgt (Schritt 4) und noch mit einer Checksumme (z.B. MD5) versieht.
Wenn nun das checkbook die Informationen empfangen und lokal auf dem Client gespeichert hat, berechnet das checkbook noch die Checksumme zum Vergleich, und sendet diese zusammen mit einer Produktidentifikation, dem festgelegten Preis und einem Zeitstempel digital unterschrieben wieder an die till Bibliothek zurück (Schritt 5). Im NetBill System wird dies als Electronic Payment Order (EPO) bezeichnet. Zu beachten ist noch, daß zu diesem Zeitpunkt weder der Kunde die Informationen entschlüsseln kann, noch eine Abbuchung von Konto des Kunden erfolgt ist.
Wenn die EPO von dem till empfangen wurde, wird ein Vergleich der Checksummen vorgenommen und die Transaktion ggf. wiederholt oder auch abgebrochen. Dadurch erreicht man mit hoher Sicherheit, daß die verschlüsselten Güter korrekt empfangen wurden.
Stimmen die Checksummen überein, wird von der Applikation des Anbieters eine digital unterschriebene Rechnung, die aus dem festgelegten Preis, der Checksumme und dem Schlüssel zur Entschlüsselung der ‚Ware‘ besteht, zusammen mit der EPO zu dem NetBill Server geschickt (Schritt 6).
Der NetBill Server vergleicht dann die Produktinformationen, Preise und Checksum-men. Ist nun das Konto des Kunden gedeckt, wird der Betrag überwiesen, die Transaktion in einem Logfile eingetragen und der Schlüssel zur Entschlüsselung abgespeichert. Der NetBill Server überträgt daraufhin eine digital unterschriebene Nachricht an den Anbieter, die eine Bestätigung der Transaktion oder ggf. einen Fehlercode enthält (Schritt 7).
Schließlich überträgt die Anwendung des Anbieters die
Antwort des NetBill Servers an die Kundenapplikation und sendet den Schlüssel
zur Entschlüsselung mit (Schritt 8).
Kontoführung und Kontoverwaltung werden über Standard-Webbrowser
erledigt, wobei Authentifizierung und Sicherheit der Daten wiederum durch
Anwendung des NetBill Protokolls gewährleistet wird.
Ein entscheidender Punkt zur Kostenoptimierung ist die automatisierte Kontoerstellung (Kontoeröffnungen verursachen mit den größten Kostenanteil bei traditionellen Bankkonten).
Als ersten Schritt erhält der Benutzer per eMail oder auch FTP ein digital unterschrie-benes NetBill Modul, das mit dem Webbrowser zusammenarbeitet (Plug-In). Nach Überprüfung der Echtheit des Zertifikates kann das Modul installiert werden.
Die gesamten Daten zur Kontoeröffnung werden nun online per Browser
eingegeben und mit dem NetBill Plug-In sicher zu einem NetBill Server übertragen.
Der NetBill Server nimmt nun eine Überprüfung der Korrektheit
der Daten vor (dies kann durch übliche, schon implementierte Standardmechanismen
geschehen).
Möchte der Kunde dagegen z:B. ein Video herunterladen (Video on demand Server), wird er den Film per Stream-Technologie auch direkt ansehen wollen. Dies ist ein Konflikt mit dem NetBill System, da es von einer Bestätigung der Lieferung ausgeht. Eine Lösung könnte sein, für die nächsten N Minuten einen Schlüssel zur Entschlüsse-lung des Video-Streams zu kaufen.
Denkbar wäre auch das Leihen von Software, wobei der Kunde alle N Monate einen neuen Schlüssel erwerben muß, damit die Software voll funktionsfähig bleibt