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.

Fordelen ved at strukturere serverne på denne måde er, at flere klienter (i princippet<br />

uendeligt mange) kan håndteres samtidig. Derudover opnås det, at modtagetråden altid er<br />

klar til at modtage en forbindelse fra en ny klient. Servicen, der leveres, er altså altid<br />

tilgængelig. Det er dog nødvendigt, at indføre et l<strong>of</strong>t på antallet af tråde for at reducere<br />

risikoen for et succesfuldt DOS-angreb.<br />

Serverne er altså meget klientvenlige, idet de altid er tilgængelige. Til gengæld skal det<br />

understreges, at hvis en server oplever nogen form for problemer, såsom ulæseligt data<br />

eller protokolfejl, vil forbindelsen til klienten blive afbrudt øjeblikkeligt. Herefter kan<br />

klienten starte forfra, hvis det ønskes.<br />

I de følgende afsnit beskrives de enkelte serveres funktionalitet, altså virkemåden af<br />

servertråden i de forskellige servere. Der gives derudover et overblik over protokollerne<br />

ved hjælp af sekvensdiagrammer. På diagrammerne er vist applikationerne i systemet og<br />

hvilke netværkspakker, der sendes mellem disse.<br />

6.8.2 Blacklistserver<br />

Brugere autentificeres ikke, når disse kontakter blacklistserveren. Dette skyldes, at<br />

blacklisten er <strong>of</strong>fentlig tilgængelig og at serverens arbejde på denne måde begrænses.<br />

Skulle serveren autentificere brugerne, ville det kræve mindst lige så meget trafik og<br />

arbejde, at autentificere (og evt. afvise) brugere, som hvis disse blot får tilsendt<br />

blacklisten uden autentifikation. Grundet blacklistserverens knudepunktsrolle i<br />

systemet, er dennes arbejde forsøgt reduceret mest muligt. Derfor indeholder serveren<br />

udelukkende følgende variable og funktionalitet.<br />

Blacklistserveren indeholder følgende variable:<br />

- BLS_certificate Blacklistserverens certifikat<br />

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

- CES_certificate Pengeserverens certifikat<br />

- RS_certificate Registreringsserverens certifikat (rodcertifikatet)<br />

- Blacklist En liste med hashværdier af klientcertifikater<br />

Herunder er beskrevet serverens input og output. Ved hvert punkt er vist hvilken<br />

netværkspakke, der modtages og derefter de resulterende handlinger og tilbagesendte<br />

pakker. Denne opstilling vil også blive benyttet i de følgende afsnit.<br />

1. ReportCoinsPacket(Coin a, Coin b). Medfører intet svar, men blacklistserveren<br />

sørger for korrekt opdatering af blacklisten. Dette gøres ved at benytte proceduren<br />

beskrevet i afsnit 6.4.<br />

2. GetBlacklistPacket(Index k). Blacklistserveren returnerer en<br />

BlackListPacket(BlackList) med de certifikat-hash-værdier, der er blevet tilføjet<br />

blacklisten efter indeks k.<br />

78

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

Saved successfully!

Ooh no, something went wrong!