29.07.2013 Views

Master of Science thesis Fighting Spam

Master of Science thesis Fighting Spam

Master of Science thesis Fighting Spam

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

to måder. Pengeserveren opretter forbindelse til verifikationsserveren ved at kryptere en<br />

sessionsnøgle med dennes <strong>of</strong>fentlige nøgle og dermed kan pengeserveren være sikker på,<br />

at det er en verifikationsserver, der kommunikeres med. Derudover sendes et nonce (altså<br />

et tilfældigt tal) med i hver pakke fra pengeserver til verifikationsserver, og<br />

verifikationsserveren returnerer et par bestående af true/false og det samme nonce.<br />

Dermed sikres imod replay-angreb, idet pakker ikke kan gentages eller ombyttes af en<br />

angriber.<br />

Et DOS angreb mod verifikationsserveren vil være nærliggende for en angriber, idet<br />

mønters ejerskab dermed ikke vil kunne kontrolleres. Derfor er det vigtigt, at<br />

pengeserveren ikke giver mulighed for at indløse mønter, så længe en verifikationsserver<br />

ikke kan kontaktes.<br />

6.8.4 Pengeserver<br />

Kommunikationstrådene i pengeserveren sikrer at brugeren er logget ind, før der<br />

videresendes forespørgsler til servertråden. Når login-information modtages, vil denne<br />

blive kontrolleret af servertråden. Når et login er gennemført successfuldt, husker<br />

kommunikationstråden brugernavnet for brugeren, og videregiver dette til servertråden<br />

ved de efterfølgende forespørgsler.<br />

Pengeserveren indeholder følgende variable:<br />

- CES_certificate Pengeserverens certifikat<br />

- PrivateKey Privat nøgle hørende til CES_certificate<br />

- BLS_certificate Blacklistserverens certifikat<br />

- RS_certificate Registreringsserverens certifikat (rodcertifikatet)<br />

- UsedCoins Liste med alle mønter der har været indløst<br />

- UsedSerialNumbers Liste med serienumre på alle mønter der har været indløst<br />

- Accounts Liste med konti for bankens brugere<br />

- CoinSets Liste med møntsæt.<br />

Variablen UsedSerialNumbers indeholder i princippet overflødig information (da denne<br />

er indeholdt i UsedCoins). For hurtigt at kunne undersøge om et givent serienummer har<br />

været anvendt før, er serienumrene dog gemt for sig i denne variabel. Derudover<br />

indeholder pengeserveren funktionalitet til at opretholde simple konti for brugerne.<br />

I det følgende beskrives serverens funktioner.<br />

6.8.4.a Login<br />

Det første der foregår, under en hvilken som helst interaktion med pengeserveren, er<br />

login. Herunder er beskrevet, hvorledes dette foregår og på Figur 19 ses det tilhørende<br />

sekvensdiagram.<br />

1. logonPacket(username, password): CES kontrollerer login informationen, og<br />

sender en logonResponsePacket(ok = true/false) tilbage. Er ok=true sættes<br />

loggedIn til true i den pågældende kommunikationstråd.<br />

81

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!