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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

- RS_certificate Registreringsserverens certifikat (rodcertifikatet)<br />

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

- CES_certificate Pengeserverens certifikat<br />

- PendingAccounts Liste med PendingAccount-elementer:<br />

o PendingAccount<br />

Indeholder:<br />

ActivationNumber Sendes fra CES til RS når klienten har betalt<br />

CertificateSigningRequest Genereres af klienten ved oprettelse<br />

Variablen PendingAccounts indeholder et element for hver klient, der er blevet oprettet<br />

for nylig (og muligvis endnu ikke har fået tilsendt sit certifikat). Variablen<br />

ActivationNumber benyttes til at skelne mellem oprettelser. Da klienter ikke<br />

autentificeres, vil angribere kunne forsøge at gætte et activationNumber med henblik på<br />

at få tilsendt en andens certifikat. Der er dog ikke noget sikkerhedsproblem i dette, da<br />

certifikaterne er <strong>of</strong>fentlige. Certifikatet må ikke slettes fra serveren, så snart klienten har<br />

hentet dette, da serveren ikke kan vide, om det vitterlig er klienten og ikke en angriber,<br />

der har hentet dette. Hvis certifikatet blev slettet, ville en angriber kunne hente den eneste<br />

kopi af dette. Hermed vil klienten, der forsøger at oprette sig, umiddelbart miste sit<br />

oprettelsesgebyr. Vi vælger derfor at lade RS beholde en kopi af certifikatet i en<br />

begrænset tidsperiode (indtil det må antages, at klienten har hentet dette).<br />

På Figur 22 ses et sekvensdiagram, der viser oprettelsesproceduren og herunder ses<br />

registreringsserverens opgaver undervejs. Der modtages en:<br />

1. RegistrationRequestPacket(registrationRequest) (trin 1 i protokollen) RS udfører<br />

nu følgende:<br />

a. Genererer et stort tilfældigt tal: activationNumber.<br />

b. Opretter et element i PendingAccounts-listen indeholdende<br />

activationNumber samt det medsendte CertificateSigningRequest.<br />

c. RS sender en RegistrationInfoPacket til klienten indeholdende:<br />

activationNumber+1<br />

2. ActivationPacket(activationNumber) (trin 4 i protokollen) RS verificerer<br />

signaturen af activationNumber og kontrollerer, at denne stammer fra en gyldig<br />

pengeserver. Hvis (og kun hvis) dette er tilfældet, finder RS activationNumber i<br />

pendingAccounts-listen og genererer det tilhørende certifikat.<br />

3. RegistrationInfoPacket(activationNumber) (trin 5 i protokollen) RS slår<br />

activationNumber op i pendingAccounts-listen og sender det tilhørende certifikat<br />

til klienten i en ActivationCompletedPacket(Certificate). Opstod der fejl i<br />

forbindelse med udstedelse af certifikatet, sendes en StatusPacket(false) til<br />

klienten. Elementer i PendingAccounts, der er mere end én måned gamle slettes.<br />

86

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

Saved successfully!

Ooh no, something went wrong!