Data Integrity Integrity without knowledge is weak and useless, and knowledge without integrity is dangerous Samuel Johnson, 1759.

Slides:



Advertisements
Liknende presentasjoner
Hans Olav Norheim
Advertisements

Design av sikre web-applikasjoner
Virksomhetssertifikater i kommunene Erfaringer og utfordringer
Mange til mange sammenhengen
Høgskolen i Oslo Webprogrammering SQL og databaser del 3.
Universell utforming Kirsten Ribu HiO Evaluering av datasystemer Analyse av systemegenskaper Kirsten Ribu
Sikkerhet - bakgrunn og introduksjon til kryptosystemer
Avansert SQL og problemløsning
LC238D Datamodellering og databaser Else Lervik, november 2012 Forelesning 12, uke 45 Transaksjoner og flerbrukerproblematikk.
IS-102 Klassedefinisjoner
Databasehåndtering med MySQL
Aksess kontroll None shall pass.
Kvalitetssikring av analyser til forskningsbruk
SQL The questing beast Sir Thomas Mallory. Codds krav 5.Krav om omfattende språk for datahåndtering Det må finnes et relasjonelt språk som støtter datadefinisjon,
Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner.
IPSec og VPN.
Datamodellering og databaser Else Lervik, oktober 2011 Forelesning 9, uke 41 SQL, del 2 Eksempelbaseside 2 Virtuelle.
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.
Jæger: Robuste og sikre systemer INF150 Programmering torsdag 31.8 Kapittel 3: Grunnlag for programmering i Visual Basic.
Sqlite Et lite eksempel på en SQL- database. SQL kan startes på ulike måter Kommandolinjeversjon or Windows –Programmet må innstalleres Hentes fra
Method for evaluating authentication system quality Morten Sporild.
SQLHiA Transaksjoner. SQLHiA TransaksjonDefinisjon En transaksjon er en serie av en eller flere SQL-statement som til sammen danner en logisk enhet. Med.
Ledelse av smidige prosjekter – gi slipp på kontrollen?
Gruppe 3 – Presentasjon 2 Henning Kristiansen, Mats Lindh, André Hauge og Vegard Simensen.
Teknikker for å bedre design- prosessen -Design by contract -Prototyping design -Fault-tree analyses.
Triggere Mutasjoner i basen. Triggers Triggers are stored procedures that execute automatically when something (event) happens in the database: : data.
Instead-of-trigger Faglig forum. Instead-of-trigger Problem: En har et VIEW som består av mange JOINs. Komplekst å oppdatere alle tabellene som inngår.
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
A randomized protocol for signing contracts (extended abstract) S.Even, O. Goldreich, A.Lempel.
Fødselsdato (dmå) er født har lønn Ansatt (ansnr) Beløp (NKr)+ Telefon
Problemstyring Problem Management
Linq To SQL Fagdag 20. November DataContext  DataContexten er mappingen mot databasen –Generer objekter for alle entiteter (tabeller), med properties.
Planning and controlling a project Content: Results from Reflection for action The project settings and objectives Project Management Project Planning.
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
Security Considerations for Peer- to-Peer Distributed Hash Tables TDT2 – Avanserte Distribuerte Systemer Lars-Erik Bjørk.
Økonomiske utsikter - med lavere oljepris
Building the One to One Enterprise - Personalizing products for developing customer communities’ Relationships between customer loyalty and interactive.
Kerberos System som kan brukes til å sette opp en sikker forbindelse med en server Bruker delte hemmelige nøkler Basert på Needham-Schroeder autentifikasjonsprotokoll.
INTERNASJONAL PRIVATRETT Lovvalg i kontrakt
PKI – Norge Gruppe 3  Thorstein  Rune  Kjersti  Rasmus.
1 Kap. 57 – Cloud Computing How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
Sikkerhetsmomenter Konfidensialitet Integritet Tilgjengelighet Autentisering Non-Repudiation (Uomtvistelig) Sporbarhet.
Primary French Presentation 10 Colours L.I. C’est de quelle couleur?
Lave oljepriser kan bremse utvinningen på norsk sokkel Thina Margrethe Saltvedt, Sjefanalytiker Makro/Olje (Ph. D.) Mars
Revisjon i Skolen.  Each Party shall ensure that:  1. the training and assessment of seafarers, as required under the Convention, are administered,
NUAS Programme for Leaders in Administration. Mål for møtet Avklare hva innholdet i presentasjonen skal være Se på sammenheng mellom de forskjellige bidrag,
Privacy by Design: Forslag til metode for å bygge personvern inn i systemløsninger Dag Wiese Schartum.
MT-innehavers implementering av rett produktkode til rett tid
Eksempel fra Nevrologisk avdeling
Group theory I dette kapitlet skal vi se på utvidelse av lister som vi behandlet generelt i kap 04. Vi skal nå benytte klassehierarkiet som vi utviklet.
Relevant questions for the Reference Group
Økonomiske forutsetninger
Using nursery rhymes and songs
Slide 2:. Forretningsmodellen forklart på engelsk og norsk
Skipskontroll og klassifikasjon
Project Honolulu - An Island or a new way to manage servers ????????
Hva er det gode liv for universitetet eller høgskolen?
Skadedata og risikoanalyser
Slide 2:. Forretningsmodellen forklart på engelsk og norsk
Databaser: dvs. data lagret i informasjonsteknologi
MEDLEMSKAP OG KLUBBUTVIKLING
Titteloppsett Undertittel.
Slide 2:. Forretningsmodellen forklart på engelsk og norsk
Slide 2:. Forretningsmodellen forklart på engelsk og norsk
Vaccine Delivery in Developing Countries
Kom i gang med Alma Analytics i dag!
Database.
EPiServer Connect for CRM
URI-pattern Geographical data in Norway
Utskrift av presentasjonen:

Data Integrity Integrity without knowledge is weak and useless, and knowledge without integrity is dangerous Samuel Johnson, 1759

Management of organizational memories

Strategier for dataintegritet Lovverk Personvern Administrativt Policy SOP Teknisk Bruke databasen for å håndheve referanseintegritetsbeskrankninger Taushetsplikt Personopplysningsloven Straffeloven Regnskapsloven

Strategier for å opprettholde dataintegritet Beskytte Preventivt Isolasjon Reparerende Database backup og gjenoppretting Vedlikeholde kvalitet Oppdateringstillatelse Integritets-constrainter Datavalidering Kontroll over samtidig oppdatering Sikre konfidensialitet Kontroll over tilgang til data Kryptering

Transaksjonsbehandling En transaksjon er en rekke handlinger som skal gjøres på databasen, som enten må fullføres fullstendig eller ikke bli gjennomført i det hele tatt En transaksjon er en logisk arbeidsenhet Eksempel BEGIN TRANSACTION; EXEC SQL INSERT …; EXEC SQL UPDATE …; EXEC SQL INSERT …; COMMIT TRANSACTION;

Krav til transaksjonshåndtering: ACID Atomicity Udelelig Hvis en transaksjon inneholder to eller flere forskjellige endringer så blir enten alle endringene gjennomført eller ingen av dem. Consistency Konsistent En transaksjon skaper enten en ny gyldig tilstand i databasen eller hvis en feil oppstår, så skal transaksjonssystemet føre databasen tilbake til sin forrige gyldige tilstand. Isolation Isolert En transaksjon som er i gang og som enda ikke er commited må være isolert fra alle andre transaksjoner Durability Varig Data fra en transaksjon som er commited må være lagret av databasen slik at om det skjer en feil og systemet gjenopprettes skal disse dataene være tilgjengelige i sin korrekte tilstand.

Samtidig oppdatering Tapte data

Samtidig oppdatering Unngå tapte data vha låsing

Samtidig oppdatering - Deadlock AKA Deadly embrace (dødelig omfavnelse) Transaksjon A låser post 1 Transaksjon B låser post 2 Transaksjon A vil låse post 2 for oppdatering Transaksjon B vil låse post 1 for oppdatering

Deadlock-håndtering Deadlock-prevensjon: Alle poster som skal brukes må kunne låses før transaksjonen fortsetter To-fase-låsings-protokoll Eller Deadlock-oppløsning DBHS finner låsingssituasjoner og rydder opp Den ene transaksjonen blir avbrutt med rollback og opplåsing Den andre kan da fortsette

Viktigste kategorier av it- katastrofer Rapportert til en stor internasjonal leverandør av gjenoppretting etter katastrofale feil

Transaksjonsfeil og gjenoppretting Årsaker til transaksjonsfeil: Programfeil Transaksjonshåndtereren kan avbryte transaksjonen Self-abort (feil i transaksjonsdata) Systemsammenbrudd

Oppdateringsprosess Database (state 1) Database (state 2) Database (state 3) Database (state 4) Database (state 2) Update transaction A Update transaction B Update transaction C Backup

Mulige backupprosedyrer

Backup-muligheter Hva du vil ta vare påHandling Komplett kopi av databasenDobbel lagring av data (mirroring) Tidligere tilstander av databasen (også kjent som database dumps) Database backup Endringer i databasenBefore image log eller journal After image log eller journal Transaksjoner som endret tilstander i databasen Transaksjonslog or journal

Gjenopprettingsstrategier Bytt til duplikatdatabasen RAID tilnærming Bakover gjennoppretting or rollback Gå tilbake til tidligere tilstand ved å anvende before-images Framover gjenoppretting eller rollforward Gjenopprett ved å anvende after-images på tidligere backup Gjenomføre transaksjonene på nytt

Gjenoppretting av data ProblemRecovery Procedures Lagringsmediet er ødelagt (databasen er uleselig) *Bytt til duplikat-databasen. Dette kan gjøres transparent med RAID. Framovergjenoppretting Gjenomføre transaksjoene på nytt. Unormal avslutning av en oppdateringstransaksjon (transaksjonsfeil eller systemfeil) *Bakover gjenoppretting Framover gjenoppretting eller gjenomføre transaksjonene på nytt – fram til tilstand rett før den avbrutte transaksjonen Ukorrekte data funnet (databasen er blitt oppdatert på feil måte) *Bakover gjenoppretting Gjenomføre transaksjonene på nytt (Unntatt de som lagde de ukorrekte dataene) * foretrukket løsning.

Transaksjonsbehandling gjenopprettingsprosedyre MAIN * If an error occurs perform undo code block 1 EXEC SQL WHENEVER SQL ERROR PERFORM UNDO * Insert a single row in table A 2 EXEC SQL INSERT * Update a row in table B 3 EXEC SQL UPDATE * Successful transaction, all changes are now permanent 4 EXEC SQL COMMIT WORK 5 PERFORM FINISH UNDO * Unsuccessful transaction, rollback the transaction 6 EXEC SQL ROLLBACK WORK FINISH EXIT

Datakvalitet Definisjon Data har høy kvalitet hvis de støtter bruk i forretninger, beslutninger og planlegging. De støtter bruk hvis de er fri for feil og har ønskelige egenskaper relevante, fullstendinge, passe detaljrete, lette å finne fram i, lesbare og entydige Bestemt av kunden Avhengig av oppgaven som skal løses

Datakvalitet Data av lav kvalitet Kunden får dårligere sørvis Tapt effektivitet Databehandlingen blir avbrutt Tapt effektivitet Kvalitetsdata Nøyaktig, korrekte, oppdaterte, komplette og stemmer med andre kilder

Generasjoner i datakvalitet Første Finne og korrigere eksisterende feil Andre Fjerne feil ved kilden Tredje Feil er svært usannsynlig Six-sigma standarder 3.4 defekter per million transaksjoner

Datakvalitetsdimensjoner

Integrity constraints Type of constraint ExplanationExample TYPEValidating a data item value against a specified data type. Supplier number is numeric. SIZEDefining and validating the minimum and maximum size of a data item. Delivery number must be at least 3 digits and at most 5. VALUESProviding a list of acceptable values for a data item. Item colors must match the list provided. RANGEProviding one or more ranges within which the data item must fall or must NOT fall. Employee numbers must be in the range PATTERNProviding a pattern of allowable characters which define permissible formats for data values. Department phone number must be of the form 542- nnnn (stands for exactly four decimal digits). PROCEDUREProviding a procedure to be invoked to validate data items. A delivery must have valid itemname, department, and supplier values before it can be added to the database. (Tables are checked for valid entries.) CONDITIONALProviding one or more conditions to apply against data values. If item type is ‘Y’, then color is null. NOT NULL (MANDATORY) Indicating whether the data item value is mandatory (not null) or optional. The not null option is required for primary keys. Employee number is mandatory. UNIQUEIndicating whether stored values for this data item must be unique (unique compared to other values of the item within the same table or record type). The unique option is also required for identifiers. Supplier number is unique.

Integrity constraints ExampleExplanation CREATE TABLE stock ( stkcode CHAR(3), …, natcode CHAR(3), PRIMARY KEY(stkcode), CONSTRAINT fk_stock_nation FOREIGN KEY (natcode) REFERENCES nation ON DELETE RESRICT); Column stkcode must always be assigned a value of 3 or less alphanumeric characters. stkcode must be unique because it is a primary key. Column natcode must be assigned a value of 3 or less alphanumeric characters and must exist as the primary key of nation. Do not allow the deletion of a row in nation while there still exist rows in stock containing the corresponding value of natcode.

En generell modell for datasikkerhet

Autentiseringsmekanismer Informasjon som personen husker Navn Kontonummer Passord Objekt som personen har Merke Kort Nøkkel Personlige karakteristikker Fingeravtrykk Signatur Stemmeavtrykk Håndstørrelse

Autorisasjonstabeller Indikerer autoritet for hver bruker/gruppe Subject/ClientActionObjectConstraint Accounting departmentInsertSupplier recordNone Purchase department clerkInsertSupplier recordIf quantity < 200 Purchase department supervisorInsertDelivery recordIf quantity ≥ 200 Production departmentReadDelivery recordNone ToddModifyItem recordType and color only Order processing programModifySale recordNone BrierDeleteSupplier recordNone

SQL autorisering Grant Gir privilegier til brukere Revoke Fjerner privilegier

Brannmur En enhet plassert mellom organisasjonens nettverk og internett. Overvåker og kontrollerer trafikken mellom Internett og intranettet

Kryptering Kryptering er like gammel som skrift Sensitiv informasjon må sikres Kritisk for elektronisk handel Kryptering skjuler meningen i en melding Dekryptering gjør meningen synlig Nå asymetrisk kryptering der hver part har En tilgjengelig offentlig nøkkel En hemmelig privat nøkkel Kryptering med en nøkkel krever dekryptering med den andre

Public key kryptering Decrypt Encrypt Receiver’s public key Receiver’s private key Sender Receiver

Signering Autentisering av meldinger Verify Sign Sender’s private key Sender’s public key Sender Receiver

Aktivitetsmonitorering Audit trail-analyse (revisjonsspor?) Tids og datastempel på alle transaksjoner Overvåkning av spørringssekvenser Tracker queries Bruke flere lovlige spørringer for å få tak i hemmelig informasjon Neste side viser hvordan man kan finne lønna til en gitt professor, selv om bare grupperte spørringer er tillatt

Tracker queries SELECT COUNT(*) FROM faculty WHERE dept = 'MIS' AND age >= 40 and age <= 5;0 10 SELECT COUNT(*) FROM faculty WHERE dept = 'MIS' AND age >= 40 and age <= 50 AND degree_from = 'Minnesota'; 2 SELECT COUNT(*) FROM faculty WHERE dept = 'MIS' AND age >= 40 and age <= 50 AND degree_from = 'Minnesota' AND marital_status = 'S'; 1 SELECT AVG(SALARY) FROM faculty WHERE dept = 'MIS' AND age >= 40 and age <= 50 AND degree_from = 'Minnesota' AND marital_status = 'S'; 85,000