Kurs: INF 1240 - 24. februar 2000
Revidert 20.02.2001 for bruk i INF 1250.
Åsvald Lima
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.
Nylig var det store oppslag i media om et mindre kjent problem.
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.
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.).
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.
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.
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.
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.
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.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.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:
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.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. 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."
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.
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)).
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.
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.Vi tar er sitat til: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."
"3.3.3 PKI-infrastrukturer og kryssertifiseringDet 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.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."
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.
"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.