Next: Sapphiren tulevaisuus Up: Case study: Sapphire Previous: Taustaa

Toteutus

Sapphire salausjärjestelmä on toteutettu UNIX-käyttöjärjestelmässä C++ kielellä. Järjestelmän tekninen spesifikaatio ei kuitenkaan ota kantaa käytettävään järjestelmään eikä ohjelmointikieleen, eikä sen siirtäminen muihin järjestelmiin olisi erityisen vaikeata. Verkkoyhteydet on Sapphire-järjestelmässä toteutettu UNIX:n udp-socketeilla [BERK86], mutta järjestelmä voidaan helposti sovittaa käyttämään mitä tahansa verkkoyhteyttä.

Kryptologisena järjestelmänä Sapphire käyttää RSA:ta sekä symmetristä salausjärjestelmää, joka on johdettu edellämainitusta IDEA:sta. Symmetrinen salausjärjestelmä on Sapphiressa eristetty niin, että se voidaan tarpeen vaatiessa helposti vaihtaa. Tällaisen tarpeen saattaisi aiheuttaa esim. lisenssi- tai patenttiongelmat.

Sapphire muodostaa verkkoyhteyden siten, että kummallakin osapuolella on joku identiteetti. Identiteetti voi liittyä joko yksittäiseen käyttäjään, käytettävään sovellukseen tai käytettävään tietokoneeseen. Myös käyttäjän organisaatio saattaa toimia identiteettinä. Kutakin identiteettiä vastaa yksi RSA-avainpari.

Yhteydenmuodostuksessa avaa kutsuja () verkkoyhteyden vastaanottajaan (). Tämän jälkeen lähettää :lle yhteyden aikana käytettävän symmetrisen salausavaimen. Avain on luonnollisesti salattu :n julkisella avaimella sekä allekirjoitettu :n salaisella avaimella. vastaa lähettämällä oman symmetrisen avaimensa :lle vastaavasti kryptattuna. Tämän välkeen sekä että avaavat ja verifioimat saamansa avaimet. Mikäli avaus ja verifiointi onnistuu, muodostetaan varsinainen datayhteys, joka käyttää symmetristä kryptausta. Symmetriset salausavaimet generoidaan ajonaikaisesti satunnaislukugeneraattorilla.

Kumpi tahansa yhteyttä ylläpitävä osapuoli voi milloin tahansa vaihtaa käyttämäänsä salausavainta tai pyytää vastapuolta tekemään niin. Sapphirea käyttävät sovellukset voivat kertoa Sapphirelle, kuinka usein symmetristä salausavainta halutaan vaihtaa. Vaihtamistiheys voidaan sitoa joko aikaan tai lähetettyjen viestien määrään tai tarvittaessa molempiin.

Tarvittavat julkiset avaimet toimitetaan kuhunkin Sapphirea käyttävään järjestelmään manuaalisesti. Kukin identiteetti vastaa viime kädessä itse oman salaisen avaimensa salassapidosta, vaikka Sapphire kryptaakin kaikki levylle talletettavat avaimet automaattisesti.


tri@cs.hut.fi
Thu Mar 31 14:58:17 EET DST 1994