Verkkomaksut

From OWASP
Revision as of 10:10, 21 February 2011 by Psillanp (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Ohjeet turvallisen verkkomaksutoteutuksen tekemiseen

Contents

1. Varmista pankin paluutietojen oikeellisuus

Varmista, että kaikissa "OK"-paluuosoitteissa tulevat paluutiedot tarkistetaan oikein käyttäen mukana tulevaa tarkistetta ja kaikkia tarvittavia tietokenttiä.

Huomioitavaa: Esimerkiksi Nordea-pankissa paluutiedot lasketaan myös CANCEL ja REJECT url:issa ilman RETURN_PAID-kenttää, eli pelkkä oikean tarkisteen olemassaolo ei riitä osoittamaan maksun onnistumista. Onnistuneessa maksussa tulee olla RETURN_PAID kenttä mukana. Jos sitä ei ole, ei maksu ole onnistunut. Eri pankkien määritelmät poikkeavat toisistaan, mikä tulee ottaa huomioon toteutuksessa.

2. Varmista maksutapahtumien kertakäyttöisyys

Varmista, että maksun viitenumero/arkistointitunnus säilytetään. Maksutapahtumia hyväksyttäessä tulee tarkastaa, ettei vastaanotettua viitenumeroa/arkistointitunnusta ole käytetty aikaisemmin.

Toistohyökkäys voi olla mahdollinen, jos verkkomaksujen viitenumeroista tai arkistointitunnuksista ei pidetä kirjaa eikä tarkasteta.

3. Varmista maksun onnistuminen pankista transaktion jälkeen

Suurien ostosten yhteydessä on suositeltavaa aina tarkastaa tililtä, että maksu on todellisuudessa saapunut perille, ennen kuin tuote lähetetään asiakkaalle.

Mikäli tarkisteavaimet ovat päätyneet vääriin käsiin, on hyökkääjällä mahdollisuus luoda väärennettyjä maksuja. On suositeltavaa tehdä maksukysely jokaisen onnistuneen paluuviestin jälkeen, eikä luottaa pelkkään paluuviestiin.

4. Säilytä tarkisteavaimet turvallisesti

Tarkisteavaimet tulee siirtää suojattuun sijaintiin. Suositeltavaa on tehdä tarkisteavaimien käsittely täysin eriytetyssä ympäristössä erillään varsinaiselta verkkokauppapalvelimelta. Tämä rajoittaa pääsyä tarkisteavaimiin sekä oman henkilöstön, että mahdollisen hyökkääjän taholta.

5. Määritä prosessi tarkisteavaimien vaihtamiselle

Suunnittele prosessi, kuinka käytännössä vaihdetaan tarkisteavaimet niiden joutuessa vääriin käsiin tai avainhenkilöstön vaihtuessa.

6. Määritä paluuosoitteet käyttäen ainoastaan salattua yhteyttä (https)

Varmista lähdekoodista, että kaikki paluuosoitteet alkavat https-alkuisella osoitteella, jolloin pankin tekemä uudelleenohjaus toimii ei välity salaamattomana. Jos verkkokauppatoteutus tekee itse uudelleenohjauksen salattuun osoitteeseen vasta verkkokaupan päässä, tieto kulkee verkossa ensin salaamattomana.