• No results found

Det här kapitlet innehåller en mer genomgående beskrivning av servern.

1.6.1 Funktionalitet av TOE

Servern hanterar inkommande anrop till servern och svarar på dessa:

Nytt konto:

När en användare skapar ett konto så laddar klienten upp den publika nyckeln till servern. Servern tilldelar då användaren ett nytt unikt id-värde (UserID), lagrar den publika nyckeln, beräknar och returnerar en digital signatur över krypteringsnyckeln tillsammans med UserID. Signaturen intygar att krypteringsnyckeln har lagrats för detta UserID. Det gör att klienten kan verifiera att det angivna UserID har tilldelats av servern och ingen annan, samt att korrekt nyckel laddades upp. Samtidigt tilldelas användaren en meddelandekorg på servern. De filer som behövs för att lagra kontot på servern skrivs till serverns arbetsmapp.

Nyckelnedladdning:

En användare kan när som helst begära att få ladda ned en annan användares nyckel genom att skicka en förfrågan om detta och ett UserID till servern. Servern svarar så med krypteringsnyckeln och en digital signatur som intygar att det är den krypteringsnyckeln som är lagrad för detta UserID.

Meddelandesändning:

Ett krypterat meddelande skickas till servern tillsammans med en lista av mottagare, servern placerar då meddelandet i de inkorgar som anges av mottagarna i listan.

Meddelandenedladdning:

Användaren begär att få de meddelanden som lagras på servern nedladdade, servern svarar då med de meddelanden som ligger i inkorgen, om det finns sådana, och när klienten sedan bekräftat att meddelanden har tagits emot så raderas alla meddelanden från inkorgen på servern.

Revokering:

En användare kan när som helst begära att få sitt konto raderat på servern. Informationen om kontot inaktiveras först, för att senare raderas helt. Efter radering återanvänds aldrig ett UserID utan är då förbrukat. Ett inaktivt konto kan varken används för att ta emot eller skicka meddelanden. Ett inaktivt konto kan inte återaktiveras av användaren själv.

1.6.2 Säkerhetsegenskaper av TOE

Serverns funktioner understödjs av en del säkerhetsfunktioner som tillsammans garanterar att kommunikationen med servern sker säkert. Systemets vitala funktionerna som kryptering och autentisering av meddelanden mellan användare är oberoende av dessa funktioner utan utförs i klienten.

• Alla anrop som skickas till servern signeras av klienten med användarens privata krypteringsnyckel, detta är för att verifiera att det inte är någon annan som gjort anropet (servern kan verifiera signaturerna eftersom den lagrar alla publika nycklar). Detta

understödjer att det inte går att ladda ned meddelanden för en annan användare (även om dessa ändå skulle vara krypterade), att det inte går att skicka meddelanden via någon annans konto (även om då meddelandets signatur skulle bli fel), samt att revokering enbart kan utföras av det egna kontot. Ett anrop att skapa ett nytt konto kan naturligtvis inte signeras utan verifieras istället från en aktiveringskod.

• All information som kan identifiera vem man kommunicerar med krypteras, exempelvis:

meddelanden under sändning, meddelanden under nerladdning, nedladdade krypteringsnycklar. Detta sker med en gemensam tillfällig krypteringsnyckel

(transportnyckeln) som sätts upp mellan klient och server vid varje anrop till servern.

• Resterade information som skickas via anslutningen efter den initiala förfrågan autentisera via en autentiseringskod (MAC) med transportnyckeln så att informationen inte kan ändras.

Detta gör att det inte går att modifiera serverns svar eller sätta upp en falsk server (även om den i så fall ändå inte skulle kunna certifiera krypteringsnycklar).

Servern har ytterligare säkerhetsfunktioner för att skydda servern mot replay och side channel attacker: ReplayFilter och AmountFilter.

Serverns viktigaste uppgift är att unikt numrera användarnas publika krypteringsnycklar och sedan certifiera dessa med certifieringsnyckeln. Om denna uppgift störs genom att publika nycklar byts ut kan det påverka kryptering och signering av meddelanden mellan användare.

1.6.3 Mer egenskaper av TOE

Det här stycket beskriver ett par ytterligare funktioner som servern har men som inte anses säkerhetsrelaterade.

Anti-spam kod:

Servern lagrar även en anti-spam kod (ASC) för användaren som laddas upp av klienten när kontot skapas. Koden behövs sedan för att kunna skicka meddelanden till en mottagare eller ladda ned krypteringsnycklar. Koden gör att man inte kan skicka meddelanden till okända användare och förebygger på så vis att skräppost skickas via servern. ASC är det som tillsammans med användarens UserID utgör en användes mottagaradress i systemet. För att kunna skicka

meddelanden till en användare eller ladda ned publika nycklar måste man därför ha tillgång till en användares aktuella mottagaradress. Det går även att byta ASC om det visar sig att man trotts allt börjar få skräppost skickat till kontot, användaren får då fyra nya sista siffror i mottagaradressen.

Användarinformation:

När ett konto skapas så laddas även användarinformation om användaren upp på servern.

Användaren fyller själv i information som består av: förnamn, efternamn, organisation, stad, land och en valfri presentation. Användarinformationen skickas sedan tillsammans med

krypteringsnycklar till andra användare. Användarinformationen är till för att minska risken att användare förväxlas med varandra av misstag samt göra systemet enklare att använda.

1.6.4 Arkitektur av TOE

Systemet består av 3 delsystem som tillhör servern och ytterligare 2 delsystem som är gemensam kod med klienten.

Server:

Server – Serverns grundprogram (server daemon).

ServerSystem – Ett system som erbjuder serverns grundprogram de funktioner som behövs.

ServerDB – Serverns databas som hantera och skriver information till disk som filer i mappen server_files (serverns arbetsmapp).

Gemensamma med servern:

SocketBox – Det delsystem som hanterar kommunikationen mot internet.

Krypto – Det delsystem som hanterar alla kryptorelaterade funktioner.

SocketBox

Klient Server

MailSystem

Internet

ServerSystem

ClientDB ServerDB

Användare

server_files TSC_wd

Krypto TOE

1.6.5 Omfattning av TOE

TOE består av fyra delar:

server_app, serverprogrammet.

config_app, ett program som används för att skapa binära konfigureringsfiler som servern behöver ha i sin arbetsmapp.

KeyManager, ett program som används för att generera de krypteringsnycklar som behövs av servern.

server_files, mappen där serverns databas lagras.

I TOE ingår inte operativsystemet eller de komponenter som tillhör operativsystemet.

2 Säkerhetspåstående (ASE_CCL)

Detta stycke ingår inte i denna versionen av dokumentet.

3 Säkerhetsproblem (ASE_SPD)

Det här stycket innehåller en definition av det säkerhetsproblem som systemet ska vara en lösning på.

Related documents