COMPUTERWORLD
Specializovaný týdeník o výpočetní technice

Seriál
o bezpečnosti
a informačním soukromí

Část 48 - CW 18/98

Platební protokol SET

Petr Hanáček

Výrazným faktorem, který v poslední době významně ovlivnil rozvoj elektronických platebních protokolů, je elektronický obchod na počítačových sítích, zejména na počítačové síti Internet.

Historie protokolu SET

S rozšiřováním Internetu cítili poskytovatelé služeb stále větší potřebu neposkytovat informační zdroje zdarma, ale nechat si za poskytované informace zaplatit. Toto byl první krok k elektronickému obchodu na Internetu -- placené poskytování informačních služeb. Typicky se jedná o přístup k databázím, k internetovým stanicím "BBS", o placené poskytování počítačového času, placený přístup k elektronickým dokumentům, časopisům a knihám, o přístup k obchodním a finančním informacím atd. Druhým krokem, který přišel později, byla potřeba placeného poskytování i neelektronických služeb, jako je např. zásilkový prodej.

Problémem bylo, jak provádět platby za poskytované služby. Protože situace s elektronickými platebními protokoly byla ještě nedávno v prostředí Internetu neradostná (nikdo nechtěl jít s kůží na trh a provádět potřebnou konverzi elektronických peněz na reálné peníze a naopak), většina obchodníků musela volit způsob placení pomocí čísla kreditní karty.

Při tomto způsobu placení zákazník zašle obchodníkovi elektronickou cestou (v našem případě pomocí WWW stránky) typ a číslo své kreditní karty a obchodník si z ní pak inkasuje požadovanou částku. Vzhledem k rizikům, se kterými je tento způsob placení spojen (číslo kreditní karty jde nezabezpečené přes počítačovou síť, která patří mnoha poskytovatelům a která prochází různými státy), považuje se tento způsob placení z hlediska bezpečnosti za zcela nevyhovující a nelze jej doporučit.

Proto současně s vývojem bezpečných komunikačních protokolů probíhá vývoj bezpečných platebních protokolů, které by dovolovaly přímé platby za služby pomocí elektronických peněz. Vývoj platebních protokolů pro Internet sice započal už asi před 10 lety, ale protože v té době byl Internet finančními ústavy zcela ignorován, měl spíše charakter akademického výzkumu. Teprve před několika málo lety se za vyvíjené protokoly postavily významné instituce a sdružení, které mají sílu prosadit tyto platební protokoly do praxe.

Rok 1996 znamenal ve vývoji elektronických platebních protokolů velký přelom. V tomto roce vyvinul MasterCard platební protokol pro platby v rozlehlých počítačových sítích SEPP (Secure Electronic Payment Protocol) a VISA vyvinula platební protokol STT (Secure Transaction Technology) s velmi podobným použitím a vlastnostmi. Přestože v názvech ani v určení těchto protokolů nikde nefiguruje pojem Internet, je jasné, že jejich hlavním polem působnosti bude tato počítačová síť.

Velmi záhy VISA i MasterCard stáhly oba své návrhy a dohodly se na společném návrhu elektronického platebního protokolu, který se jmenuje SET (Secure Electronic Transactions).

SET je technická specifikace pro zabezpečení platebních transakcí, prováděných prostřednictvím rozsáhlých komunikačních sítí, jako je např. Internet. SET byl vyvinut společně společnostmi Visa a MasterCard. Na vývoji se také částečně podílely některé další firmy (Microsoft, IBM, Netscape, Terisa Systems a Verisign, RSA DSI). Detailní informace o protokolu SET je možno nalézt na adrese <www.mastercard.com/set> nebo na adrese <www.visa.com/set>.

Je však nutné také říci, čím protokol SET není. Protokol SET je platební protokol a není tedy obecným protokolem pro elektronický obchod. SET zajistí z celého procesu elektronického obchodu pouze samotnou platbu. Ostatní akce v procesu elektronického obchodu (např. nabídka zboží, výběr zboží, "nákupní košík", dodávka zboží a vazba na účetnictví) protokol SET neřeší a tyto akce musí být zajištěny jinými prostředky. Protokol SET se také poněkud liší od některých jiných platebních protokolů tím, že je velmi těsně navázaný na platební karty. Transakce, které z něj vycházejí na straně banky, jsou ekvivalentní transakcím, provedeným platební kartou. Proto také zákazník, který pomocí tohoto protokolu provádí platbu, musí být držitelem platební karty se všemi právy a povinnostmi s tím souvisejícími.

Zúčastněné strany v protokolu SET

Zúčastněné strany (účastníci) v protokolu SET se dělí na primární a sekundární. Primární strany jsou zákazník, banka zákazníka (issuer), obchodník a banka obchodníka (acquirer). Primární účastníci se přímo zúčastňují procesu platebního styku. Sekundární zúčastněné strany, kterými jsou platební brána a certifikační autorita, nefigurují jako aktivní účastníci platby, ale slouží pro zajištění funkčnosti systému. Nyní popíšeme činnost jednotlivých účastníků:

Zákazníkem se rozumí osoba, která vlastní platební kartu. Platební kartu zákazník obdrží od své banky zákazníka, u které má veden účet. Banka zákazníka je instituce, která vydala zákazníkovi platební kartu a která je odpovědná za proplacení transakcí zákazníka.

Obchodník je osoba nebo společnost, která zákazníkovi prodává zboží nebo služby. Banka obchodníka vykonává za obchodníka prověření autorizace platebního příkazu a realizuje přesun peněz na jeho účet v rámci vyřizování obchodníkovy pohledávky.

Obchodník může akceptovat karty více značek, je pro něj však neúnosné, aby spolupracoval s více asociacemi bankovních karet. Tuto službu mu poskytuje jeho banka. Jedná se o podporu autorizace verbální nebo telefonní formou a o elektronický přesun plateb na jeho účet. SET zprostředkovává přístup k těmto službám. Banka obchodníka si za poskytování služeb účtuje od obchodníka poplatek daný jistou procentní sazbou z každé transakce. Platební brána banky obchodníka (dále jen platební brána) je uzel sítě, který pracuje podle pravidel, stanovených bankou obchodníka. Jeho funkcí je podporovat rozhraní mezi protokolem SET a sítěmi asociací bankovních karet. Toto rozhraní zajišťuje jednak funkce provádějící autorizaci platby a jednak funkce pro provedení platby samotné.

Konečně poslední rolí, která vystupuje ve světě protokolu SET, je certifikační autorita. Certifikační autorita vydává certifikáty veřejných klíčů jednotlivých účastníků (zákazníků, obchodníků a platebních bran). Hierarchické uspořádání různých certifikačních autorit jednotlivých stran, které vystupují v transakcích řízených protokolem SET, umožňuje implementaci jejich vzájemné důvěryhodnosti. Tyto hierarchie prozatím zavádějí jednotlivé asociace bankovních karet nezávisle, neexistuje jediná společná celosvětová hierarchie certifikačních autorit.

Zabezpečení protokolu SET

Protokol SET byl vytvářen s cílem, aby splnil následující obchodní požadavky:

1. Zajištění důvěrnosti informací o platbách a důvěrnosti informací o objednávkách zboží, které jsou přenášeny spolu s platebními informacemi.

2. Zajištění integrity všech přenášených informací.

3. Autentizaci zákazníka a ověření, zda je legitimním vlastníkem bankovního účtu.

4. Autentizaci obchodníka a ověření, zda je obchodník oprávněn a schopen přijímat platby od finanční instituce.

5. Zajištění maximální bezpečnosti systému a maximální ochrany všech zúčastněných stran.

6. Vytvoření protokolu, který není závislý na bezpečnostních mechanismech na transportní úrovni ani nezabraňuje jejich použití.

7. Podpora interoperability mezi různými softwarovými platformami a různými typy sítí.

Transakce protokolu SET jsou zabezpečeny zašifrováním pomocí kryptografie veřejným klíčem a podepsány elektronickým podpisem. Typická transakce protokolu SET obsahuje informace, které jsou důvěrné mezi zákazníkem a obchodníkem (jako např. druh objednaného zboží) a informace, které jsou důvěrné mezi zákazníkem a bankou (jako je např. číslo účtu zákazníka). SET umožňuje, aby oba tyto druhy informací byly umístěny v jediné zprávě, podepsané jediným elektronickým podpisem.

Například zpráva, která obsahuje požadavek nákupu, se skládá ze 2 částí -- jedna je určena pro obchodníka a druhá pro banku obchodníka. Pole, určené pro obchodníka, je zašifrováno veřejným klíčem obchodníka. Pole, určené pro banku, je zašifrováno veřejným klíčem banky. Mimo tyto 2 zašifrované bloky obsahuje zpráva také 2 haše těchto dvou bloků a elektronický podpis. Elektronický podpis je spočten tak, že se spočte haš obou hašů a ten je podepsán soukromým klíčem zákazníka. Tento mechanismus podepsání zprávy umožňuje, aby si podpis zprávy mohl ověřit jak obchodník, tak i banka bez toho, aby potřebovali dešifrovat blok, patřící druhé straně.

Scénář použití

Použití protokolu SET může být velmi rozmanité. Předpokládá se však, že typický scénář při použití tohoto protokolu bude následující:

1. Zákazník nalezne zboží (pomocí WWW v on-line katalogu, v katalogu distribuovaném pomocí CD-ROM, v papírovém katalogu).

2. Zákazník vybere položku zboží.

3. Zákazníkovi je oznámena cena zboží.

4. Zákazník si zvolí způsob placení.

5. Zákazník zašle obchodníkovi vyplněnou objednávku spolu se způsobem platby. Objednávka a instrukce pro zaplacení jsou podepsány elektronickým podpisem zákazníka.

6. Obchodník požaduje autorizaci platby od banky obchodníka (eventuálně i od banky zákazníka).

7. Obchodník zašle potvrzení objednávky.

8. Obchodník zašle zboží nebo poskytne požadovanou službu.

9. Obchodník požaduje platbu od banky obchodníka.

Je třeba upozornit na to, že z výše uvedeného scénáře protokol SET zajistí pouze kroky 5, 6 a 7. Ostatní kroky scénáře musí být zajištěny jinými prostředky.


| COMPUTERWORLD - seriál o bezpečnosti | COMPUTERWORLD | IDG CZ homepage |