Datasikkerhet

Kurs: INF 1240 - 24. februar 2000
Revidert 20.02.2001 for bruk i INF 1250.
Åsvald Lima



Litteratur og URL om datasikkerhet:

1.    Virus og annen vandalisme

Datasikkerhet er et tema med mange aspekter. Hvilke tema som er i fokus har endret seg med tiden, i stor grad som en følge av endringer i teknologien.

For 10 år siden, var det tale om sikkerhet mot tyveri og innbrudd, og å ta backup av filer. Maskiner kunne stjeles, disker kunne krasje osv. Men alt dette har endret seg med utviklingen av Internet.

Har du data/filer som er verdifulle, må du ta backup (sikkerhetskopi) på diskett eller sørge for at en IT-tjeneste tar backup. Har du dyrt utstyr og verdifulle data/filer, må du sikre utstyret ved å låse rommet der utstyret står.

Mange har stiftet bekjentskap med slike ting som Virus, Trojansk hest og Worms.

Det finnes program for Virus sjekking som kan fjerne virus. Men stadig nye virus dukker opp, så en må hele tiden oppdatere virus-sjekke programmene. Etter det jeg forstår er virus-sjekke program basert på å gjenkjenne bitmønster i viruset. Ved å endre litt på koden i viruset, vil virus sjekkeprogrammet måtte omskrives. Jeg har inntrykk av at virus er noe vi stort sett finner på PCer med Windows, og at det er mindre av dette problemet i UNIX miljø. Macro virus for Windows har blitt et stort problem.

Nylig var det store oppslag i media om et mindre kjent problem.

En ny type problem kalles "defacement", se Multiple Web sites defaced in hacking spree .

Media har ofte oppslag om hackeres virksomhet. En hacker er enten en som bruker så mye tid på sin datamaskin at han ikke har tid til noe annet, eller det er en som prøver å bryte seg inn i andres datasystemer. Den første typen hackere er i stor grad delaktige i utviklingen av Internet. Den andre typen hackere er ofte vandaler, men ofte nøyer de seg med å komme inn i systemene, og de gjør lite (ingen?) skadeverk. Den andre typen hacker er ute etter publisistet (komme i media), etter penger, etter informasjon osv.

Lance Spitzner har satt igang et prosjekt kalt Honeynet Project. Det har gitt mye verdifull informasjon om hackeres virksomhet. Se også digitoday. Det finnes programvare for å overvåke om noen uten rettigheter prøver å trenge seg inn i datasystemer. Et av disse er Snort.

Den 5.2.2000 skrev Pål Steigan kronikken "Tyvene roper: Stopp tyven!" i Dagbladet. Det er  en meget lesverdig kronikk.



2.    Datasikkerhet og nettverk

Begrepet datasikkerhet har endret innhold etter at maskiner ble knyttet sammen i nett. Stort sett er det egne datakabler eller telefonlinjer som knytter sammen maskinene. Min PC på kontoret er knyttet til en Server på HiA som igjen er knyttet til andre Servere rundt i verden via telefonlinjer (det kan være fysiske kabler eller satelittforbindelse).

Det er som del av et stort datanett at datasikkerhet har blir et brennhett tema. En interessant artikkel om dette tema finnes i Scientific American fra oktober 1998.

Noen ganger blir televerket og posten sammenlignet. Skal du levere et dokument eller gjøre en viktig avtale, skriver du et brev og sender i posten. Du er nøye med å lime konvolutten godt igjen. (Er beskjeden lite viktig, bruker du postkort som alle i posten kan lese.) Mottakeren liker best at brevet ikke er åpnet og han/hun ser på underskriften om han/hun kjenner igjen den. (Det kan tenkes at noen har fått tak i brevet, endret innholdet og sendt det videre!) En viktig ting er at avsenderen bekrefter sin identitet ved å signere brevet. En annen viktig ting at avsenderen ikke kan benekte at han sendte brevet hvis han har undertegnet det.

Via telefon kan du sende beskjeder. Du bekrefter din identitet ved å si hva du heter, og han/hun i den andre enden gjenkjenner (ofte) din stemme og tror derfor at du er den du utgir deg for. Telefonlinjer er åpne, så POT og andre, med eller uten lovlig grunn, kan lytte på samtalen. Derfor vil du ikke opplyse om bedriftshemmeligheter over telefon. Hvis du skal gjøre det, velger du å bruke en GSM mobiltelefon. Da blir samtalen kryptert. Krypteringen beskytter deg og ditt firma, men gjør livet surere for POT og de som uten lovlig grunn ønsker å lytte til hva dere snakker om.

Bruce Schneier skriver side 105 om krypteringen i GSM telefoner: "The second worry is the quality of the encryption algorithm. ... If flaws in the algorithm allow for attacks, this effectively reduces the entropy in the keys. For example, the A5/1 algorithm, used in European GSM cell phones, has a 64-bit key, but can be broken in the time it takes to brute-force a 30-bits key. ... You might as well use a good algorithm with a 30-bit key." Side 344 skriver han: "A good security design has no secrets in its details. ... As the designers of  the once-proprietary digital cellular security systems, the DVD encryption scheme, and the Firewire interface learned, sooner or later the details will be released. ... A good system design is secure even if the details are public." Schneier gir en rekke eksempler på at sikkerheten i systemer er kraftig redusert på grunn av dårlig design i programmeringen og uheldig valg av algoritmer.

Når vi er knyttet til Internet, blir flere av problemstillingene vi har møtt via posten og televerket sterkt aktualisert. Virus som før kom via disketter, kommer nå via programmer du henter ned over Internett. Reklame som du tidligere fikk i overflod i posten, får du nå i overflod via epost.

Etter som vi utfører stadig flere oppgaver ved bruk av Internet, oppgaver som vi tidligere fikk løst via posten eller televerket, kommer de virkelig alvorlige risikomomentene klarere til syne. Vi kan lære mye av å se hvordan de som er mest avhengige av sikkerhet har løst sitt sikkerhetsproblem. Leser du om datasikkerhet i avisene, kan du lett bli mer forvirret enn klok.

Banker har overført penger mellom ulike konto på ulike datamaskiner lenge uten de alvorlige problemene. Hvordan har de kunnet gjøre dette uten at det oppstår problemer med at noen utenfor banken stjeler pengene (dvs. endrer kontoene pengene skal flyttes til)? Jo, de gjør som militære  gjør, de krypterer hele transaksjonen slik at meldingen som sendes (over avlyttbar telefonlinje) blir uforståelig for de som ikke kjenner koden. Krypteringen som brukes kalles DES (Data Encryption Standard) og ble utviklet i USA. Den ble foreslått i 1975, og vedtatt i 1977 som en Federal Information Processing Standard. DES bruker 56-bits nøkkellengde. De siste 2-3 årene har det blitt klart at DES må gjøre sikrere. Det er nå bare et spørsmål om penger (til å bygge kraftige nok maskiner) for å lese DES krypterte meldinger i løpet av noen timer. En ny standard AES (Advanced Encryption Standard) er nå under arbeid. En interessant artikkel om DES finnes i Notices of the Americal Mathematical Society, mars 2000.

Det finnes mye verdifullt på datamaskiner som det er viktig å beskytte. HiA må beskytte karakterdatabasen. Banker må beskytte kontoene og pengene. Sykehus må beskytte pasientjournaler. Firma må beskytte sine kunnskaper (forretningskontrakter, beskrivelser av hvordan medisiner lages osv.).
 



3.    Adgangskontroll og passord

Vi låser maskiner inne på kontorer som ledd i adgangskontrollen. Vi setter opp nettverkene med passord for å logge seg på, slik at vi kan kontrollere hvem som kan bruke systemene, og hvilke deler de skal få tilgang til.

Internet er i stor grad et produkt av UNIX-programmereres virksomhet. (Noen av disse er hackere i ordets positive betydning.) De som designet UNIX, tok med flere nyvinninger om passord, blant annet at passord skulle lagres i kryptert form. Som kryptering ble valgt en modifisert form av DES. Når passordene er kryptert, vil ikke de som bryter seg inn i datasystemet lett kunne lese passordene. Når et passord skal kontrolleres er det ikke passordet som kontrolleres, men kryteringen av passordet. (Som med minibankkort, det er ikke PIN koden vi taster inn som kontrolleres, men om dens krypterte form passer med det som er lagret.)

En stor svakhet med dagens praksis, er at ved pålogging er det vanlig at passordene går i ikke-kryptert form fra PCen til serveren. En som er koplet på linja med et sniffer-program, kan da lese passordene. Eller det kan være plassert en Trojansk hest på den lokale PCen. Dette programmet kan være et program som leser tastetrykkene på tastaturet, og når det merker at det er en pålogging som skal gjøres, leser den hvilke bokstaver som tastes inn. På et senere tidspunkt, kan dette programmet sende kopi av tastetrykkene til en anonym epost adresse. Mottakeren kan deretter finne ut hva du har tastet, om det var en pålogging og hvilket passord du brukte. (En sniffer er et program som overvåker trafikken på Internet og samler opplysninger.) Det er derfor nødvendig både å beskytte datalinjene og å holde PCen fri for Trojanske hester. Men det er ikke alltid mulig. Det er idag teknisk mulig å foreta pålogging med bruk av passord uten at passordet sendes over åpne linjer. Teknikken kalles Digest Authentication (noe sånt som "fordøyd bekreftelse"), og er beskrevet i Steins bok, sidene 259-260. (Det er likhetstrekk med digital signatur som vi skal omtale nedenfor.)

Passord må velges med omhu. Passord er et svakt punkt i datasystemers sikkerhet. Mange velger passord som er lette å gjette. Noen er skjødesløse og viser passordet til andre (f.eks. ved pålogging med vitner). Det finnes program som kan teste mange tusen passord hvert sekund. De bruker f.eks. ordbøker og tester alle ord der om de passer. Passord som finnes i en ordbok er ubrukelige. Passord bør være en blanding av små og store bokstaver og noen tall. (F.eks. T9aiX4hk - men ingen må bruke akkurat dette passordet!) Passord bør ikke skrives på en gul lapp og klistres på PCen, like lite som at PIN-koden bør skrives på bankkortet.

Om noen få år vil vi muligens få systemer der passordet erstattes av gyldige sertifikater (se nedenfor).

Dataansvarlige vil foreta logging av trafikken slik at de kan følge med i hva som skjer, og ha et grunnlag for å finne ut hvorfor ting går galt av og til.



4.    Brannmur

All vurdering av sikkerhet begynner med å kartlegge hva som er sårbare ledd. Vi må også se på hva vi ønsker å beskytte. En mulighet er å legge ut visse ting på en server utenfor den best beskyttede delen.

Seriøse firma har brannmur i tillegg til passordbeskyttelse. Firewall kan skjule det indre nettet for utenforstående og gjøre det mye vanskeligere å trenge inn i lokalnettet og få innpass på serverne. Vi skal ikke gå inn på detaljer om hvordan brannmurer fungerer. Hovedideene er å skjule detaljer i det lokale nettet, samt å foreta en automatisk vurdering av alle server-request om de ser ufarlige ut, eller om de eventuelt skal avvises.

Det finnes ulike utforminger av en brannmur (firewall). En måte å sette opp en brannmur på kan være å sette opp en gateway maskin (proxy server) som all trafikk ut/inn må gå igjennom. Inni maskinen finnes 2 nettverkskort, ett knyttet til det indre lokalnettet og ett knyttet til det ytre Internet. All trafikk (alle TCP/IP pakker) mellom nettverkskortene blir testet av ulike spesialprogram, såkalte "proxies", før de enten blir avvist eller sendt videre. Det kan være ulike kriterier for avvisning av pakker og det kan være flere ulike program, der hvert er spesialisert til å sjekke en/flere typer pakker. I noen tilfeller vil pakkene bli pakket på nytt før de sendes videre, og da kan visse typer informasjon anonymiseres for å hindre innsyn i det indre lokalnettet. (Forklaring: Hvis du gjør noe "by proxy", så får du en annen til å gjøre dette for deg. Det er proxy serveren som den ytre verden ser, og ikke den egentlige serveren.)

En type mulig sikkerhetshull er knyttet til "bugs" i programvaren, f.eks. i CGI scripts. Sikkerhetshull kan være knyttet til ulike typer programvare som Java (de fleste hull er trolig tettet nå), ActiveX, Javascript, browseren, osv. Når du klikker på en web-side og slik aktiviserer en ActiveX kontroll, starter du en program lokalt som får alle rettigheter, også til å slette harddisken din hvis det ligger skjult en programkode. Det er et problem at vi som brukere har små muligheter for å finne ut av om det vil kunne oppstå et sikkerhetsmessig problem i slike situasjoner.

En type bug som ofte utnyttes av hackere kalles buffer-overflow. Alle større dataprogram inneholder feil, og noen av disse feilene kan utnyttes av hackere. Større program som operativsystem kan bestå av noen millioner linjer koder. Feil som gjør at ting går tregt eller ting regnes ut feil er lettere å oppdage enn feil som går på sikkerhet. Vi kan ta som gitt at alle større dataprogram har feil som utgjør en sikkerhetsrisiko. For de firmaene som lager programmene og for de som administrerer datanettverk, er det en evig kamp om å få tettet sikkerhetshull i programvaren før det blir gjort større skade.

Bruce Schneier er meget kritisk til en del av programvaren fra Microsoft. På side 159 i boka si skriver han:
"... Microsoft scripting languages are very powerful, and basically assume that everything is trusted. These languages allow access to all operatingsystem rescources. They allow malware to use features in Microsoft Outlook to automatically e-mail themselves to friends of the user. Microsoft is certainly to blame for creating the powerful macro capabilities of Word and Excel, blurring the distinction between executable files and data files. They will be to blame when Outlook 2000's integrated HTML-support makes it possible for users to be attacked by HTML-based malware simply by downloading an e-mail. Or when malware takes advantage of Internet Explorer 5.0' ActiveX integration to spread without the user having to open av attachment. They built an operating environment where it is easy to write malware, where malware can spread easily, and where malware can do a lot of damage. But the fundamental problem - the inability to trust mobile code - is subtler." Det finnes mengder av artikler som går på sikkerhetshull i Windows, se f.eks. , A question of safety og Bug hunter spies holes in Windows.



5.    Secure Sockets Layer (SSL)

Internet har en rimelig grad av sikkerhet - hvis du bruker de mulighetene som finnes. Det er normalt rimelig god sikkerhet knyttet til det å handle på Internet. (Det er trolig mere usikkert å betale en restaurantregning i Spania med Visa kort en lørdagsnatt, enn det er å kjøpe bøker fra Amazon.com og oppgi Visa kort nummeret.) Men det kan oppstå problemer knyttet til bruk av kredittkort over Internet. I noen tilfeller finnes det dårlig designet programvare, eller regelrette programmeringstabber, som åpner for misbruk av kredittkort. L.D. Stein gjengir et slikt eksempel side 133 i boka si. (En programmerer som ikke tenkte over forskjellen på GET og POST i CGI script.) Steder som har vært testet en tid, som Amazon.com, vil jeg tro er meget sikre steder.

Når jeg handler bøker fra Amazon.com, bestiller jeg bøkene ved å fylle ut et skjema eller klikke på felter. Første gang spør Amazon.com etter kredittkort nummer. Ser vi etter på URLen, ser vi en endring, nå heter det ikke http://www.amazon.com, men https://www.amazon.com. HTTP har blitt til HTTPS, der S står for secure. Web-browseren har tatt i bruk noe som kalles SSL protokollen (Secure Sockets Layer). SSL ble utviklet av Netscape i 1994, og etter et forsøk på å lage sin egen sikkerhets protokoll, har Microsoft også tatt i bruk SSL. Det ble funnet sikkerhetshull i versjon 1 og 2 av SSL, men versjon 3 anses for å gi en viss grad av sikkerhet. (Heller ikke SSL versjon 3 er helt sikkert.)

Jeg bruker Netscape versjon 4.74 og skriver dette notatet i editoren, kalt Composer. Hvis jeg velger fra menyen: Communicator -> Tool -> Security Info, vil jeg se følgende. Klikker vi på Netscape, kommer det opp en side der det står Enabled SSL v3. Fordi jeg har sagt ja til SSL enabled, så vil min PC og serveren til Amazon.com finne ut hva som er det høyeste sikkerhetsnivå de har felles. Deretter sendes kredittkortnummeret i kryptert form til Amazon.com. Amazon.com sjekker at kortnummer stemmer med data som navn, adresse osv. Deretter sender Amazon.com boka til meg og lagrer mitt kortnummer på sin server.

Nå er det viktig for meg at: (1) Kredittkortnummeret mitt ble sendt på en sikker måte, og (2) At Amazon.com har en sikker server slik at ikke andre kan logge seg inn på og lese kortnummeret mitt (kortnummeret bør lages i kryptert form). Les hva som hendte med Egghead i desember 2000.

Hvordan kan Amazon.com sikre seg mot at andre logger seg inn på serveren? Her er det en serie tiltak som er mulige. Det viktigste er at operativsystemet er designet med tanke på sikkerhet. F.eks. Windows 95 som jeg bruker på PCen, regner jeg som helt uten sikkerhet. Hvem som helst kan slå på PCen og lese hva som finnes på harddisken. Når jeg starter opp PCen, må jeg oppgi et passord, men det er for å få tilgang til serverne. Jeg bruker ett passord for Novell-nettet og ett annet passord for UNIX-delen.

UNIX og  Linux gir bedre sikkerhet enn f.eks. Windows. (Bruce Schneier er meget kritisk til sikkerheten i alle utgaver av Windows, også Windows NT og Windows 2000.) Linux f.eks. har innebygget sikkerhet i flere nivåer, der superuser-nivået er best beskyttet. Klarer noen å trenge inn til superuser-nivå, ligger alt helt åpent.



6.    Kryptering, krigsmateriell og PGP

Det finnes mange kilder hvis en vil lese om kryptering. Stein gir en god framstilling i boka si. Netscape har en god beskrivelse av kryptering. Vi kopierer fra Netscape: "Internet Security Issues"
 

"All communication over the Internet uses the Transmission Control Protocol/Internet Protocol (TCP/IP). TCP/IP allows information to be sent from one computer to another through a variety of intermediate computers and separate networks before it reaches its destination.

The great flexibility of TCP/IP has led to its worldwide acceptance as the basic Internet and intranet communications protocol. At the same time, the fact that TCP/IP allows information to pass through intermediate computers makes it possible for a third party to interfere with communications in the following ways:

  • Eavesdropping. (Tyvlytting) Information remains intact, but its privacy is compromised. For example, someone could learn your credit card number, record a sensitive conversation, or intercept classified information.
  • Tampering. (Tukle med) Information in transit is changed or replaced and then sent on to the recipient. For example, someone could alter an order for goods or change a person's resume.
  • Impersonation. (Etterligning) Information passes to a person who poses as the intended recipient. Impersonation can take two forms:
  • Spoofing. (Parodisere) A person can pretend to be someone else. For example, a person can pretend to have the email address jdoe@mozilla.com, or a computer can identify itself as a site called www.mozilla.com when it is not. This type of impersonation is known as spoofing.
  • Misrepresentation. (Gi et falskt bilde) A person or organization can misrepresent itself. For example, suppose the site www.mozilla.com pretends to be a furniture store when it is really just a site that takes credit-card payments but never sends any goods.
  • Normally, users of the many cooperating computers that make up the Internet or other networks don't monitor or interfere with the network traffic that continuously passes through their machines. However, many sensitive personal and business communications over the Internet require precautions that address the threats listed above. Fortunately, a set of well-established techniques and standards known as public-key cryptography make it relatively easy to take such precautions.

    Public-key cryptography facilitates the following tasks:

  • Encryption and decryption allow two communicating parties to disguise information they send to each other. The sender encrypts, or scrambles, information before sending it. The receiver decrypts, or unscrambles, the information after receiving it. While in transit, the encrypted information is unintelligible to an intruder.
  • Tamper detection allows the recipient of information to verify that it has not been modified in transit. Any attempt to modify data or substitute a false message for a legitimate one will be detected.
  • Authentication (bekreftelse) allows the recipient of information to determine its origin--that is, to confirm the sender's identity.
  • Nonrepudiation (ikke-fornektelse) prevents the sender of information from claiming at a later date that the information was never sent."
  • De krypteringene som Netscape, Microsoft og andre har fått lov å eksportere fra USA har vært lette å dekryptere. Programvare med krypteringsrutiner omfattes av USAs lover om våpeneksport, og er underlagt samme bestemmelser som eksport av jagerfly. Helt nylig har Netscape, Microsoft og andre fått lov til å eksportere Web-browsere med 128 bits RSA krytpering. (Tidligere var grensen 40 bits.) Dette er ikke en sterk form for kryptering, men god nok når jeg skal kjøpe bøker over Internet.

    På grunn av restriksjonene med hensyn til å eksportere våpen og krypteringsalgoritmer fra USA, har det dukket opp internasjonale web-servere der det er mulig å hente ned sterke krypteringsrutiner. En av disse er PGP (Petty Good Privacy). Se også MIT Distribution Center for PGP.

    Fram til i begynnelsen på 1970-åra var all kryptering basert på at krypteringsnøkkelen ble holdt hemmelig. Kryptering og dekryptering (å gjøre kryptert melding lesbar igjen) var basert på samme nøkkel. Vi kaller dette symmetrisk kryptering.

    På 1970-tallet ble det oppdaget flere såkalte a-symmetriske krypterings algoritmer. A-symmetrisk viser til at det brukes ulike nøkler til kryptering og til dekryptering. Den kanskje best kjente av disse kalles RSA kryptering, og er basert på at det tar lang tid å faktorisere store primtall. At en kryptering er 128 bits, henspeiler på at produktet av to primtall som brukes er maksimalt av lengde 128 bits i 2-tall systemet. I dag anses RSA kryptering med nøkkellengde minst 1024 bits for å være helt sikkert. (Til og med ekspertene i NSA, National Security Agency, vil ha problemer med så lange nøkler.)

    Slik a-symmetrisk kryptering er treg, og brukes ofte bare for å avtale en hemmelig symmetrisk nøkkel, slik f.eks. SSL gjør. Pålogging med bruk av passord uten at passordet sendes over åpen linje, såkalt Digest Authentication, kan gjøres med MD5 kryptering (Message Digest kryptering, versjon 5). Symmetriske nøkler brukes vanligvis en gang eller en kort tid, og erstattes så av en ny nøkkel. Symmetriske nøkler er sikrere enn a-symmetriske nøkler, og 128 bits symmetrisk nøkkel gir god sikkerhet, men a-symmetriske nøkler bør være 512 eller 1024 bits.

    RSA kryptering baserer seg på at det tar lang tid å faktorisere store tall i primtall. Vi velger to store primtall p og q. La n=p*q. Velg et primtall k av passe størrelse. Paret (n,k) er min offentlige nøkkel. Så regner jeg ut et tall j slik at k*j=1 (modulo (p-1)*(q-1)). Paret (n,j) er min hemmelige nøkkel. En melding M, som skal sendes TIL meg,  gjøres om til blokker av tall (husk at bokstaver har et ASCII nummer som kan brukes, f.eks. er A=65). Kryptert melding er S= Mk (modulo n). S er nå uleselig og kan sendes i en TCP/IP pakke. S sendes til meg. Jeg beregner K=Sj (modulo n).  Jeg deler blokkene med tall opp i biter, og gjør tallene om til bokstaver ved å erstatte ASCII kodene med bokstavene de representerer, og der står meldingen M! Se Mathematica Notebook der dette vises.

    Modulo regning er slik regning vi hele tider bruker når vi skal holde styr på tiden. 12*4 (modulo 7) = 48 (modulo 7) = 6 = resten når 48 divideres med 7. Hvis noen klarer å regne seg fram til primtallsfaktorene p og q når de kjenner n, vil de raskt kunne bruke at k er kjent til å finne j, og da kan vi dekryptere meldingen S. Matematikerne har i noen hundre år strevet med å finne raske metoder for å faktorisere store tall, uten å lykkes. Hele sikkerheten er basert på at ingen finner en rask algoritme for faktorisering.

    "Message digest functions", også kalt en-veis hash-funksjoner, er en metode for sikker kontroll av integritet, enten av melding eller av person. Eksempler på slike funksjoner er MD4 og MD5 som begge lager 128 bits hash. DSS (Digital Signature Standard) er basert på Message Digest funksjoner. Det som skjer kan beskrives som en tre-trinns operasjon.

    1. Vi kjører en melding gjennom en MD funksjon og får ut en hash steng. (En melding kan være en kjøpekontrakt.)
    2. Vi signerer hash strengen ved å kryptere med vår private (hemmelige) nøkkel.
    3. Vi sender signert hash streng og meldingen (kryptert med mottakerens offentlige nøkkel) til mottakeren.
    Mottakeren dekrypterer med sin hemmelige nøkkel, og sjekker signaturen ved å kjøre samme tre-trinns operasjon som avsenderen. Hvis han får samme resultat, kan han stole på at avsenderen er den han gir seg ut for, og at meldingen ikke er endret av en tredje part.

    En hash er en tabell av key-value par, også kalt navn-verdi par. F.eks.
        %hash=(hash1="hakkemat",hash2="forkludre",Norwegian hash="pytt i panne").
    I en hash kan key være brukernavn, passord, URL, osv.
    F.eks. en pålogging uten at passordet sende over åpen linje kan skje slik:
        Bruker anmoder serveren om å få logge seg på.
        Serveren produserer et engangsord, nonce (en slags en-gangs nøkkel), og sender dette til brukeren.
        Brukeren skriver brukernavn+passord, som lokalt blir digestet ved bruk av MD5. Ut kommer en streng, la oss kalle den dup=digest(brukernavn+passord).
        Nonce+(annet)+dup digestes igjen med MD5, og ut kommer en streng, la oss kalle den hdup=digest(nonce+(annet)+dup).
        hdup sendes serveren.
        På serveren er kryptert brukernavn og passord lagret, la oss kalle dette sdup. (Kryptert med MD5.) Serveren kjører digest(nonce+(annet)+sdup) med MD5. Hvis resultatet blir det samme som hdup oversendt fra den som prøver å logge seg på, så aksepteres pålogging.

    SSL som vi har omtalt ovenfor, bruker en hemmelig nøkkel som sender og mottaker har blitt enige om, til å produsere en MAC (Message Authenticity Check) som beregnes slik:
        MAC = digest(secret key + digest(secret key + message)).



    7.    TCP/IP og Digitale konvolutter

    Både TCP (Transmission Control Protocol) og IP (Internet Protocol) ble utviklet med penger fra det amerikanske forsvarsdepartementet. Linken foran beskriver hvordan US Army hadde utviklet sitt nett ved hjelp av DEC, US Air Force hadde utviklet sitt nett ved hjelp av IBM og US Navy hadde brukt Unisys til å utvikle et datanett. Så bestemte den amerikanske presidenten at Grenada skulle invaderes, og generalene oppdaget at de ulike datanettverkene ikke kunne kommunisere med hverandre. IP ble utviklet for å lage et nettverk mellom (derav Inter-) nettverk.

    Hver datamaskin (eller annen enhet med en prosessor) gis en IP adresse, idag er den på 4 bytes = 32 bits. (Ny versjon IPv6 kommer snart.) Min PC har et IP nummer, 128.39.yyy.xxx, på samme måte som at jeg har et postnummer og et telefonnummer.  (IP adressen består av 32 bits, eller 4 tall mellom 0 og 255, 256=28.) Jeg tror at HiA disponerer IP-adresser av formen 128.39.xxx.yyy.

    I 1982 valgte UNIX BSD (Berkeley Software Distribution) å inkludere TCP/IP, og raskt ble TCP/IP den mest brukte kommunikasjonsprotokollen.

    Når vi benytter TCP/IP så sender vi "pakker" med data. En pakke ser omtrent slik ut, med TCP-delen pakket inni IP-delen:
     
    IP header
    Source Address, dvs. IP nummer
    Destination address, dvs. IP nummer
    mm.
    TCP header
    Source port,
    Destination port
    mm.
    DATA TCP CRC
    (kontrolldel)
    IP CRC
    (kontrolldel)

    Vi kan se på header-delene som adressen på et postkort. Vi bruker konvolutter til å skjule meldinger vi sender i posten (putter postkortet eller brevarket inni konvolutten), og ved å kryptere DATA-delen, kan vi skjule meldingen vi sender som en TCP/IP pakke.



    8.    Digitale signaturer, PKI (Public Key Infrastructure) og CA  (Certificate Authorities)

     På ODIN finnes en rekke dokumenter angående IT i ulike sammenhenger. Et dokument er datert 4. februar 2000: "Elektroniske signaturer - Myndighetsroller og regulering av tilbydere av sertifikattjenester." Et annet dokument, som er sentralt for tema datasikkerhet er "Digitale signaturer gir tillit til elektronisk kommunikasjon". Vi skal se på hva dette er for noe.

    En digital signatur er en signatur av et elektronisk dokument, en epost, en kjøpsavtale osv., som skal gi begge parter sikkerhet om hvem kontraktshaverne er, og som samtidig hindrer den som signerer fra å benekte ektheten av signaturen.

    Når vi skal ha et papir som identifiserer oss, bruker vi pass, førerkort (sertifikat), bankkort, osv. Disse er utstedt av en myndighet som har tillit. På samme måte finnes idag, og flere kommer, organisasjoner som utsteder sertifikater som i elektronisk sammenheng erstatter pass, førerkort osv. Det har vært forsøkt å bruke ordet "tiltrodd tredjepart" (TTP) om de som utsteder elektroniske sertifikater og dermed går god for at den som utgir seg for å være Åsvald Lima, faktisk er Åsvald Lima. Internasjonalt brukes ordene Certification Authority (CA) eller Certification-Service-Provider (CSP) om de som utsteder sertifikater og vedlikeholder katalogtjenesten. Slike elektroniske sertifikater eller elektroniske ID-kort, består av krypteringsnøkler, en som jeg får og en som CA firma beholder. En tredje part kan kontrollere min identitet, ved å be CA firma kontrollere mitt sertifikat.

    Kapittel 3 i "Digitale signaturer gir tillit til elektronisk kommunikasjon" har tittelen "Hva snakker vi om?" Vi kopierer en bit fra dette kapitlet:

    "Utviklingen av det moderne informasjonssamfunnet har skapt en elektronisk hverdag der de fleste former for informasjon skapes, behandles og utveksles i digital form. Nasjonale og internasjonale infrastrukturer har åpnet for nye måter av elektronisk samhandling. Utviklingen innebærer at prosedyrer forankret i papirbasert saksbehandling i stadig flere tilfeller må finne nye og «digitale» former. Bruk av digitale signaturer er eksempelvis en teknikk som kan benyttes til å «signere» digital informasjon på samme måte som en håndskreven signatur benyttes til å undertegne et papirdokument. Teknikken får dermed betydning for jussen, og i alle de sammenhenger hvor det å »skrive under» spiller en rolle.

    Samtidig med den teknologiske utvikling er det skapt et stort og voksende behov for å integrere sikkerhetsløsninger i systemene.

    Fagfeltet informasjonssikkerhet har til oppgave å utvikle metoder og teknikker som kan bidra til en trygg og sikker elektronisk hverdag. Et informasjonssystem vil sikres ved at vi anvender veldefinerte sikkerhetstjenester som skal beskytte informasjonen mot identifiserte trusler, og bidra til å realisere muligheter som uten sikkerhetstjenesten ville vært vanskelig eller umulig.

    Sikkerhetstjeneste er i denne sammenheng en overordnet betegnelse på en egenskap eller ytelse som vi ønsker eller trenger i et system, og sier ikke noe om hvilken teknologi som benyttes for å realisere løsningen. Sikkerhetstjenester realiseres eller implementeres ved hjelp av spesifikke sikkerhetsmekanismer eller sikkerhetsteknikker. Noen av de viktigste sikkerhetstjenestene er:

         Integritet

    Integritet betyr at informasjon ikke er endret under lagring eller transport. Dersom det er en fare for at skade kan oppstå ved at innholdet av en melding blir endret, vil det være behov for å benytte en integritetstjeneste.2 Eksempel: Uten en form for integritetsbeskyttelse vil det være mulig å endre en transaksjonsmelding mellom en minibank og banken slik at et uttak på 5000 kroner blir registrert som et uttak på 500 kroner på konto. På tilsvarende måte vil man ved overføring av elektroniske resepter kunne endre en forskrivning på 10 til 100 tabletter.

    Sekvensintegritet innebærer å sikre at en meldingsutveksling har foregått i riktig rekkefølge, f eks at en faktura er mottatt før det kan sendes en betalingsmelding. Tjenesten er med på å støtte duplikatkontroll. Eksempel: Dette er aktuelt ved forhåndsautorisert direktedebitering, der nummeret angir forhåndsdefinert rekkefølge for meldinger.

         Autentisering

    En autentiseringstjeneste skal sikre at en enhet (person/prosess) virkelig er den som vedkommende gir seg ut for å være. I forbindelse med utveksling av elektroniske meldinger vil autentisering innebære å skaffe seg hensiktsmessig sikkerhet for at avsenderen av en melding er den vedkommende gir seg ut for å være og knytte avsenderen til meldingens innhold.

    Eksempel: Bruker-autentisering av personer som logger seg på et elektronisk datasystem er spesielt viktig og danner grunnlaget for at vi kan stole på andre sikkerhetstjenester.

    Behovet for autentisering vil avhenge av hvilken type melding det er tale om å utveksle. I de fleste transaksjoner vil det være ønskelig eller nødvendig å få etablert tilfredsstillende autentisering, f eks av hensyn til økonomiske verdier, korrekt saksbehandling, personvern, mv.

         Sporbarhet

    Denne sikkerhetstjenesten skal sikre at viktige hendelser i systemet kan spores til ansvarlige personer eller prosesser. Autentiseringstjenester er ofte nødvendig for sporbarhet.

         Ikke-benekting

    Med ikke-benekting forstås den egenskap at mottakeren av et dokument har sikkerhet for (kan sannsynliggjøre) at den angitte avsender ikke senere kan nekte å ha sendt dokumentet. På samme måte må avsenderen av et dokument sikre seg mot at mottakeren på et senere tidspunkt kan nekte å ha mottatt dokumentet.

         Autorisering

    En autoriseringstjeneste skal på sikker måte gi opplysninger om hvilke rettigheter en person har i tilknytning til et IT-system.

         Tilgjengelighet

    Krav til tilgjengelighet skal sikre oss at informasjon og ressurser er tilgjengelig for brukere som har rettmessig adgang til informasjon når de har behov for det, ikke minst når de har dårlig tid f eks ved anvendelse av elektroniske meldinger/telemedisin i pasientbehandlinger.

         Konfidensialitet

    Konfidensialitet er den sikkerhetstjenesten som skal sikre at informasjon ikke blir gjort tilgjengelig for uvedkommende. Det betyr at informasjon er beskyttet mot innsyn under transport og lagring. Krav til konfidensialitet kan finnes dels i lovgivningen, eksempelvis ved taushetsplikter i helselovgivningen, dels i avtaler mellom partene.

    Eksempel: Forvaltningsloven pålegger taushetsplikt om »noens» personlige forhold og konkurranseutsatte opplysninger, uten å si hvordan plikten skal ivaretas, utover kravet om at det skal være »på betryggende måte». I staten finnes det noen instrukser som gir konkrete regler for sikker behandling av slike opplysninger.3 Tilsvarende har næringslivet behov for å skjerme sine forretningshemmeligheter, og private behov for å skjerme bl a sin personlige korrespondanse."

    Vi tar er sitat til:
    "3.3.3 PKI-infrastrukturer og kryssertifisering

    En Public Key Infrastructure (på halv-norsk/smør-på-flesk: PKI-infrastruktur), eller på hel-norsk: en infrastruktur for offentlige nøkler, kan sees på som de forhold, støttefunksjoner og -tjenester som må være til stede for å realisere digitale signaturer og øvrige kryptografiske tjenester, både lokalt, regionalt og globalt. Tjenestene som en PKI skal gi nettbrukeren er blant annet håndtering av nøkler, utstedelse av sertifikater, tilbakekalling av sertifikater, verifisering (bekreftelse) av nøkler og sertifikater.

    Infrastrukturen omfatter underliggende oppbygging eller sammensetning av komponenter og/eller forhold som anses nødvendige for å oppnå det som er hensikten med offentlige nøkler. Kort og upresist: »det som skal til».

    En PKI kan sees på som et formelt samarbeid mellom ulike TTPer/sertifiseringsautoriteter (SAer) slik at nøkler signert og godkjent av en TTP blir godtatt av alle andre TTPer i en PKI. Dette gir brukerne et bedre grunnlag for tillit. Det er grunn til å tro at det vil oppstå mange PKI'er, bransjevis, sektorvis, i kommunal, fylkeskommunal og statlig forvaltning.

    I noen sammenhenger er man mer avhengig av et kvalifisert grunnlag for tillit. Ved behov for et litt høyere sikkerhetsnivå enn »vanlig», kan slik »ekstra tillit» til en (eller flere) PKI være basert på at TTPene som deltar i infrastrukturen er godkjent av en sentral myndighet og at det er stilt krav til driften og administrasjonen av TTPene ut fra anerkjente kriterier. Spørsmål om »noen» skal godkjenne en TTP eller om det skal være et fritt marked, eller om det skal være en blanding, ut fra hvilke kriterier det eventuelt skal godkjennes, hvilket ansvar skal en TTP ha, hvem utsteder TTPenes nøkler, osv er policyspørsmål som det må tas stilling til, både i Norge og i andre land.

    Kryssertifisering er en mekanisme som innebærer at to eller flere TTP'er (SA'er) tilhørende forskjellige PKI'er gir hverandre sertifikater for å stadfeste et tillitsforhold. Denne fremgangsmåten skiller seg fra den strengt hierarkiske modellen der tillit flyter nedover langs fast definerte "stier" i et hierarki. Det er ikke snakk om kryssertifisering innenfor en PKI/et PKI-domene (område). For å oppnå kryssertifisering må en rekke også ikke-tekniske forhold være på plass, bl a at TTP'en har organisert seg og drives på et forutsatt sikkerhetsnivå iht aksepterte (helst internasjonale) normer/kriterier, herunder sertifiseringspolicy/regelverk og -praksis (Certification policy and -practice statement) og at bilaterale eller multilaterale avtaler kan inngås på bakgrunn av slike felles utgangspunkter/premisser, som er det som gir grunnlag for tillit.

    Et spesielt spørsmål er om politi- og påtalemyndighet ut fra lovlige etterforskningsformål skal ha mulighet for avlytting eller nøkkelregenerering (key recovery) på en eller annen måte. Dette siste berøres ikke i denne rapporten, fordi vi her er opptatt av sikkerhetstjenester som autentisering, integritet og ikke-benekting. Disse kan ivaretas av den teknologien innenfor området offentlig nøkkelkryptering som kalles digital signatur. Disse tjenestene representerer ikke problemer etterforskningsmessig, ettersom de ikke skjuler noe innhold."

    Det kanskje mest kjente av CA firmaene er Verisign. I Netscape under Communicator->Tools->Security Info->Certificates, vil du finne navn på CA firma. Til firma som står oppført der, eller til andre CA firma, kan du eller ditt firma henvende deg får å få utstedt elektronisk ID-kort.

    Bruce Schneier er kritisk til digitale sertifiaketer. På side 239 skriver han: "Digital certificates provide no actual security for electronic commerce; it's a complete sham." (sham = bløff, humbug) Se artikkel om Verisign.



    9.    Personvern eller Privacy: (Netscape skriver:)

                                       "How do I make sure unauthorized people
                                          don't use information about me?
                                          What are cookies, and how do they work?
                                          Can cookies be used to give my information
                                          to unauthorized people?

                                How Do I Make Sure Unauthorized People
                                     Don't Use Information About Me?

                                     The best way to keep your information private is to
                                     be cautious in providing it to others. The Internet is
                                     a public network, and you should assume that
                                     when someone asks you for your name, phone
                                     number, address, and other information, they may
                                     share that information with others.

                                     Providing your name, address, and phone number
                                     on the web is like having a listing in the telephone
                                     book. In fact, if you are listed in the white pages of
                                     the telephone book, your name, address, and
                                     phone number are probably listed in online
                                     directories and other databases on the World Wide
                                     Web. (Try looking yourself up in a directory such
                                     as the Netscape People Finder or Yellow Pages.)

                                     When you visit a web site, the site can tell who
                                     and where your Internet service provider (ISP) is,
                                     what site you last visited, what browser you are
                                     using, and what pages you visit at this site. The
                                     site has no way of knowing your name, email
                                     address, postal address, or other information about
                                     you - unless you explicitly provide that information.

                                     A site does know your IP address - the Internet
                                     address you are currently using. This address is
                                     normally assigned to you, temporarily, by your ISP
                                     when you connect to the Internet. It has nothing to
                                     do with your email address, and it can't be used to
                                     locate you later.

                                     If a web site asks for information about you, you
                                     should check the site's privacy policy. The privacy
                                     policy should tell you how the information about
                                     you will be used and whether it will be shared with
                                     others. Not all sites have privacy policies, but
                                     many do and more sites are developing them every
                                     day. (For an example, see Netscape's privacy
                                     policy.)

                                What Are Cookies, and How Do They Work?

                                     A cookie is a small bit of information that a web
                                     site stores on your computer. When you revisit the
                                     web site, your browser sends the information back
                                     to the site. Usually a cookie is designed to
                                     remember and tell a web site some useful
                                     information about you. For example, an online
                                     bookstore might use a cookie to record the authors
                                     and titles of books you have ordered. When you
                                     return to the online bookstore, your browser lets
                                     the bookstore's site read the cookie. The site might
                                     then compile a list of books by the same authors,
                                     or books on related topics, and show you that list.

                                     This activity is invisible to you. Unless you have set
                                     your preferences so that you will be alerted when a
                                     cookie is being stored on your computer, you won't
                                     know about it. When you return to a web site, you
                                     won't know that a cookie is being read. From your
                                     point of view, in the example above, you'd simply
                                     visit the online bookstore, and a list of books that
                                     might be of interest to you would magically appear.

                                Can Cookies Be Used to Give My Information
                                     to Unauthorized People?

                                     Cookies are usually harmless. They can't be used
                                     to gather information about you (unless you provide
                                     it). But some services do use cookies to create a
                                     profile of your interests based on the sites you visit
                                     and the things you do there. Advertisers on
                                     participating sites can then tailor online advertising
                                     to your interests and buying habits.

                                     When in doubt, always check a web site's privacy
                                     policy."

    Mens jeg skrev dette notatet om datasikkerhet, lærte jeg noe om cookies som jeg ikke visste. Jeg har nå gått inn i Netscape under Edit-Preferences-Advanced, og sjekket av: Accept only cookies that get sent back to the originating server. Firma som DoubleClick bruker cookies til å samle informasjon, som de deretter selger. At Amazon.com har lagt en cookies på min harddisk som de henter fram hver gang jeg besøker deres web server, er OK, men jeg liker ikke at cookies som forteller om mine vandringer på Internet sendes til en tredje part. Husk at i Internet verden er det ikke et spesielt lands lover som gjelder. Den norske data lovgivingen har meget liten innflytelse på Internet. Hvis noe enkeltlands lover gjelder, så er det USAs lover. Der er det big business å samle og å selge personopplysninger.

    Hvis du i Netscape går inn på Communicator->Tools->History, vil du kunne se hvor du har surfet den siste tiden. Der er mye informasjon om deg! Når du klikker på en lenke på en web-side, sendes du til en ny web-server, og samtidig sendes opplysning til den nye web-serveren hvor du kom fra. Dette kalles Referer log. Dette er en mulig kilde til misbruk av personvernet. Det er få land som har et Datatilsyn som ser etter at lover om personvern følges.

    Det finnes ulike organisasjoner som er opptatt av personvern, f.eks. Center for Democracy and Technology. Se spesielt http://www.cdt.org/privacy/guide/basic/topten.html. og http://www.cdt.org/privacy/guide/. Før du gir noen ditt kredittkortnummer, din email adresse eller annen viktig opplysning, se på stedets "Privacy Policy".

    Jeg vil sterkt anbefale at dere leser The Reinvention of Privacy - Page 3. Dette er en artikkel som beskriver noen av de viktigste "privacy" problemene vi nå sliter med.

    Digi.no har hatt noen oppslag om avlytting, se spesielt om Echelon - Fransk opprør mot Echelon-basert industrispionasje. Vi siterer: "Spesielt franske medlemmer av Europa-parlamentet skal være opprørt av opplysninger i rapportene om at amerikanske selskaper ved minst to   anledninger har vunnet kontrakter på bekostning av europeiske konkurrenter, fordi de er blitt foret med konfidensiell informasjon fanget opp av avlyttingssystemet Echelon." Ønsker du at dine meldinger ikke skal kunne leses av andre, bruk den sterkest mulige form for kryptering, og vær forsiktig med å eksponere deg!

    Det er igang en hissig debatt, særlig i USA om myndighetenes muligheter for å lese krypterte meldinger. For myndighetene er det viktig å kunne dekryptere meldinger som kan gi spor i kriminelle saker eller saker som angår rikets sikkerhet. For et firma, er det avgjørende, hvis dette firma skal bruke Internett til handel, at ingen konkurrenter (direkte eller gjennom andre) kan lese dokumenter sendt over nettet. Det kan se ut som om at for mange er personvernet underordnet de hensyn vi har nevnt ovenfor.



    Nå har vi sett på en del sentrale punkter om emnet datasikkerhet og personvern. Dette er bare en liten smatebit av problematikken. Min konklusjon er:
        - Det er stor grad av usikkerhet forbundet med å operere på Internet.
        - Visse oppgaver kan utføres på Internet med rimelig god sikkerhet, men en må velge å bruke de mulighetene for sikkerhet som finnes.
        - Personvernet må tas alvorlig. Ikke gi fra deg opplysninger eller legg igjen elektroniske spor unødvendig.