Analiza Comparativa a Serviciilor de Securitate. Criptarea Si Autentificareaa

CUPRINS

Introducere 4

Securitatea informației electronice 4

Soluții de securitate oferite de Sun in Java SDK1.4 7

Soluții de securitate oferite de Microsoft 12

Structura lucrării pe capitole 14

Capitolul 1 Securitatea datelor în sistemele informatice în general 15

Arhitectura OSI a securității 16

Servicii de siguranță 17

Sisteme de securitate 18

Capitolul 2 Modalități și tehnici de implementare a securității la nivelul SGBD 21

2.1. Administrarea și asigurarea securității bazelor de date Access 21

2.1.1 Compactarea și repararea datelor 22

2.1.2 Crearea copiilor de siguranță 24

2.1.3 Securitatea bazelor de date 25

2.1.4 Principiile securității bazelor de date în rețele locale 25

2.1.5 Protejarea prin parolă la nivelul bazei de date 26

2.2. Notiuni de baze de date necesare elaborarii aplicatiei 30 2.2.1 Privilegiile și funcțiile modelului 32

2.2.2 Avantajele sistemului 32

2.2.3 Roluri 33

Capitolul 3. Criptografia actuală și aplicațiile acesteia în domeniul bazelor de date 36

3.1. Criptografia în spațiul cibernetic 36

3.2. Securitatea informatică – componentă majoră a spațiului cibernetic 37

3.3. Algoritmi criptografici cu cheie secretă 39

3.4. Algoritmi criptografici cu chei publice 39

3.5. Sisteme cu chei în custodie 41

3.6. RSA 44

3.7. Analiza pachetelor de date transmise prin conexiunea în condiții de securitate folosind Wireshark 47

Concluzii 53

BIBLIOGRAFIE 54

Introducere

Securitatea informației electronice

În primele decenii ale informației electronice, Internetul era folosit doar de câteva universități pentru trimiterea poștei electronice. În aceste condiții, securitatea informației electronice nu dădea dureri de cap nimănui. În zilele noastre, informația electronică și mai ales schimbul de date în această formă este din ce în ce mai prezentă în viața a milioane de oameni. Statisticile arată ca la începutul anului 2002 existau în întreaga lume peste 800 de milioane de utilizatori Internet.

În decursul acestei dezvoltari, activități care trebuie să se bucure de securitate maximă (transmiterea de bani dintr-un cont în altul, semnare de contracte, transmitere de informatii confidentiale, licitații) și care erau efectuate în mod tradițional, cu ajutorul telefonului, faxului, prezenței personale la locul / instituția „faptei”, organizarea de transpoarte de bani însoțite de bodyguarzi profesioniști și poliție) au început să se regăsească din ce în ce mai mult printre aplicațiile software contemporane, care ne ușurează pur și simplu pe nesimțite viața de toate zilele – atât privat cât și în afaceri.

În noul context, ca și în cel vechi, securitatea informației este un element fundamental. Indiferent dacă o licitație are loc prin trimiterea de scrisori sigilate sau de oferte în formă electronică, participanții la licitație nu au voie să vadă de exemplu cine este și ce prețuri propune concurența! A garanta integritatea unor asemenea procese este o știință în sine, care cuprinde atât know-how în domeniu organizatoric cât mai ales în domeniul tehnic, acesta cuprinzând transferul și menținerea datelor în retelele de calculatoare cât și accesul autorizat, asigurând nemanipularea, al acestora.

Pentru a dezvolta un sistem de securitate al informației electronice trebuie să știm cine pot fi atacatorii, cum pot interveni ei în sistem și ce stricăciuni pot produce acestuia. Deoarece oricine poate fi un posibil atacator iar gama de stricăciuni produse este foarte largă, trebuie să ne îndreptăm atenția asupra felului în care sistemul poate fi agresat și cum putem preveni acest lucru.

Cele patru scopuri de bază in ceea ce privește securiatea unui sistem informatic sunt:

a) confidențialitatea – păstrarea informației departe de utilizatorii neautorizați;

b) autentificarea – determinarea identității partenerului înainte de comunicație;

c) nerepudierea – dovedirea partenerului că el este acela care a trimis datele;

d) controlul integrității – siguranța faptului că datele nu au fost modificate;

În general ne referim la două calculatoare conectate în rețea (LAN, WAN, Internet) care doresc să schimbe date între ele.

În Fig.1 este prezentat modelul de referință OSI (International Standards Organization), model general valabil pentru două sau mai multe calculatoare conectate în rețea (LAN, WAN, Internet).

Fig. 1.1 Comunicația între nivele pereche ale modelului OSI ISO

Atacurile se pot efectua la oricare dintre cele 7 nivele, începând cu cel fizic și terminând cu nivelul aplicație. De asemenea, la fiecare din cele 7 nivele se poate implementa o strategie de securitate care să dea un plus de siguranță rețelei.

Chiar la nivel fizic, liniile pot fi închise în tuburi sigilate conținând gaz de argon la presiuni înalte, orice încercare de a atenta la integritatea tubului ducând la pierderi de gaz și deci la alertarea celor ce urmăresc acest lucru. Securitatea se implementează la nivelul rețea prin firewalls pentru a păstra anumite pachete în interiorul sau în afara acestuia, conform cu necesitățile impuse de administrarea rețelei. La nivelul transport, conexiunile pot fi criptate de la un capăt la celălalt, adică de la un proces la celălalt. Cu toate că aceste soluții conduc la realizarea confidențialității și chiar a integrității, nici una din ele nu soluționează problema autentificării sau nerepudierii. Pentru a asigura aceste cerințe, soluțiile trebuie să se găsească la nivelul aplicație. Atacurile la nivelul aplicație sunt cele mai periculoase deoarece pot trece cu destulă ușurință de sistemele de securitate implementate la nivelele inferioare (de exemplu la nivelul rețea – firewalls). Practic, aplicațiile trebuie ele însele să se ocupe de asigurarea celor 4 scopuri de bază ale unui sistem de securitate. Pentru aceasta, aplicațiile ce rulează in rețea trebuie să se găsească într-un cadru de securitate. Cadrul general de securitate funcționează după un principiu foarte simplu. Înainte ca datele să parăsească nivelul aplicație spre nivelele inferioare trebuie să fie criptate. Operațiunea inversă are loc la destinație, imediat ce datele ajung la nivelul aplicație. Dacă ne asigurăm că acest sistem funcționează, din momentul în care datele părăsesc nivelul aplicație al sursei până în momentul în care

acestea ajung la nivelul aplicație al destinației acestea vor fi criptate și deci orice atac la nivele inferioare va fi sortit eșecului.

În general, criptarea și decriptarea decurge ca în figura urmatoare:

Algoritmii care sunt folosiți în modelul general de criptare sunt publici, insă sunt foarte complecși. Forța acestor algoritmi constă în imposibilitatea generării cheilor de criptare și decriptare. Lungimea acestora (64, 128, 256 biți) determină un spațiu foarte mare al cheilor ceea ce conduce practic la imposibilitatea determinarii lor.

Fig. 1.2 Modelul general de criptare

Soluții de securitate oferite de Sun in Java SDK1.4

Sun propune trei extensii, ca parte integrantă din pachetul SDK 1.4 și care crează o altă imagine asupra securității. Ei propun trei extensii , care sunt după : Java Criptography Extension ( JCE ) , Java Secure Socket Extension ( JSSE ) și Java Authenticațion and Authorization Service ( JAAS ) . [1]

In cadrul JCE se regăsesc implementați:

– algoritmi de criptare

– algoritmi pentru generarea de chei

JCE API acoperă următoarele tipuri de algoritmi de criptare

– algoritmi simetrici ( cu cheie privată ) – DES, RC2, RC4, IDEA

– algoritmi asimetrici ( cu cheie publică ) – RSA

– criptare cu parolă, PBE ( Password Based Encryption )

Mai mult decât atât, pe lângă serviciile criptografice legate de algoritmi și chei, JCE oferă și posibilitatea conversiilor între diferitele tipuri de chei.

Serviciile ( engine classes ) care se regăsesc în JCE sunt :

– fabrici de chei – se pot genera chei pentru tipurile amintite de algoritmi;

– crearea și managementul bazelor de date în care sunt ținute cheile;

– managementul și crearea parametrilor algoritmilor de criptare;

– fabricarea de certificate.

Un serviciu criptografic oferit de JCE are următoarele proprietăți :

– este întotdeauna asociat cu un algoritm;

– implementează cele două funcții de bază;

– de dispersie (digest) a mesajului;

– de semnătură a mesajului;

– generează materialul criptografic reprezentat de chei și parametri pentru algoritmi;

– generează certificate și baze de date în care să fie ținute cheile (keystore);

Serviciul JCE este reprezentat de următoarele clase de bază :

1) Clasa MessageDigest – implementează funcția de dispersie (digest) a mesajului

2) Clasa Signature – semnează un mesaj sau verifică sau verifică semnătura dintr-un

mesaj

3) Clasa KeyPairGenerator – generează o pereche de chei, una publică iar cealaltă privată pentru a fi folosite de un anumit algoritm.

4) Clasa CertificateFactory – generează certificate și CRL ( Certificate Revocation Lists )

5) Clasa KeyStore – generează și face managementul obiectelor ''keystore'' , adică a

bazelor de date în care sunt ținute cheile.

6) Clasa AlgorithmParameters – face managementul parametrilor pentru un anumit

algoritm, inclusiv codificarea și decodificarea acestora.

7) Clasa AlgorithmParameterGenerator – generează parametrii pentru un anumit algoritm.

8) Clasa SecureRandom – generează numere aleatoare .

9) Clasa CertPathBuilder – generează înlănțuiri de certificate .

10) Clasa CertPathValidator – validează înlănțuiri de certificate

11) Clasa CertStore – folosit pentru obținerea certificatelor sau a CRL-urilor.

Pachetele în care se găsesc aceste clase sunt java.security, java.security.spec,

java.security.cert, java.security.interfaces.

În ceea ce privește criptografia, Java pune la dispoziția noastră tool-uri, și anume keytool și jarsigner care se pot folosi cu succes la generarea de chei și certificate cu posibilitatea de a semna arhivele Java (jar files).

Următoarea secvență de comenzi se poate folosi la generarea unui certificat și la semnarea arhivelor jar.

1) keytool –genkey –alias signLegal –keystore senderKeystore

Generează o bază de date, numită senderKeystore in care se găsește cheia publică.

2) keytool –export –keystore senderKeystore signLegal –file sender.cer

Generează certificatul sender.cer ce conține cheia publică din senderKeystore .

3) jarsigner –keystore senderKeystore –signedJar Ssecurity.jar security.jar signLegal

Semnează arhiva security.jar cu cheia privată din senderKeystore, generând astfel

Ssecurity.jar

În acest moment, certificatul împreună cu arhiva semnată (Ssecurity.jar), pot fi trimise partenerului(în exemplu receiver), iar acesta poate verifica arhiva cu urmatoarele comenzi:

1) keytool –import –alias sender sender.cer –keystore receiverKeystore

Importă cheia publică din sender.cer in baza de date a partenerului (receiverKeystore).

2) jarsigner –verify –verbose –keystore receiverKeystore Ssecurity.jar

Verifică arhiva Ssecurity.jar folosind cheia publica din baza de date receiverKeystore, unde a fost importată.

Considerând că problemele de criptografie au fost rezolvate, nu ne rămâne decât să ne asigurăm că putem comunica în siguranță. Protocoalele SSL V3 (Secure Socket Layer) și TLS 1.0 (Transport Layer Security) implementate de către sunt JSSE. Bineînteles că, această extensie oferă suport pentru protocolul HTTPS și algoritmul de criptare RSA.

SSL, ca strat nou între aplicație și nivelul de transport, folosește criptografia cu cheie publică pentru autentificare. În acest context criptografia cu cheie privată și semnăturile digitale asigură integritatea și confidențialitatea datelor.

Pașii urmați în procesul criptografic al implementării SSL sunt : [2]

1) criptăm codul cu cheia secretă a expeditorului

2) criptăm codul cu cheia publică a destinatarului

3) generăm certificate care transportă cheia publică folosită în criptografia asimetrică.

Un certificat conține :

– fabricantul, adică CA (Certificate Authority)

– perioada de valabilitate

– informații despre entitatea (persoana, firma etc. ) pe care certificatul o reprezintă

– cheia publică a entității

– semnătura digitală

”Esența procesului de comunicare prin SSL constă în stabilirea unor parametri criptografici înainte de transmiterea efectivă a datelor. Stabilirea parametrilor poartă numele de ''SSL handshake''. În primul rând, clientul comunică serverului ce ''cipher suites'' are disponibile” [2]. Un ''cipher suite'' reprezintă o combinație de parametri criptografici ce definesc algoritmul și cheile folosite pentru autentificare și criptare. Apoi, serverul se poate autentifica (acest pas este opțional), permițându-i clientului să fie sigur că entitatea server este ceea cu care clientul se așteaptă să comunice. Pentru aceasta, serverul prezintă clientului un certificat ce conține cheia sa publică. Verificând acest certificat clientul poate fi sigur de identitatea serverului. Din acest moment, pot fi schimbate date între client și server. Pachetele ce implementează acest serviciu sunt javax.net, javax.ssl.net, javax.security.cert.

Dr. Ing. Mihai Hulea este de părere că ”Serviciul JSSE este reprezentat de următoarele clase de bază :

1. Clasele SocketFactory și SSLSocketFactory

Creează diverse tipuri de socluri (sockets). Astfel, folosind mai multe tipuri de fabrici, aplicația poate crea și folosi mai multe tipuri de socluri.

2. SSLSocket și SSLServerSocket

Aceste clase extind javax.net.Socket. Obiectele de acest tip au acces la contextual în care au fost create, adică la SSLContext.

3. Interfața SSLSession

Reprezintă contextual negociat intre cele două parți care comunică .

4. Clasa HttpsURLConection

HTTPS este un protocol similar cu HTTP. HTTPS, înainte de a începe comunicația, stabilește un canal sigur între server și client prin socluri SSL/TLS. Înainte de obținerea unei conexiuni de tip HttpsURLConection, se pot configura parametrii de comunicație ai HTTP/HTTPS.

5. Clasa SSLContext

Un obiect de acest tip conține informații despre toate soclurile create in respectivul context. Configurarea unui obiect de acest tip este realizată prin manageri de chei și manageri de încredere (key and trust managers). Acești manageri asigură suportul pentru autentificare și pentru stabilirea de comun acord a cheilor, acestea fiind necesare în definirea cifrurilor (cipher suites) suportate de context.

6. Clasa TrustManager

Această clasă determină dacă autentificarea este reușită sau nu. În caz că autentificarea nu reușește, conexiunea va fi distrusă.” [2]. Este momentul în care atenția ne este atrasă de extensia JAAS. Ceea ce reușește această extensie , este să permită serviciilor care rulează pe un server să se autentifice și, de asemenea, tot cu ajutorul acestei extensii se garantează și controlul asupra utilizatorilor ce folosesc serviciile respective. Autentificarea are scopul de a determina cine execută la un moment dat codul Java. Modul de implementare pentru un anumit tip de autentificare este determinat la runtime și este specificat într-un fișier de configurare (login configuration file). [1]

Pentru aceasta există:

• obiectul LoginContext ce descrie metodele de bază folosite în autentificare.

• obiectul Configuration ce descrie tehnologiile de autentificare

• obiectul LoginModule care realizează efectiv autentificarea

Extensia JAAS conține module de autentificare ce folosesc JNDI (Java Naming and Directory Interface), Unix Operating Environement, Windows NT, Kerberos, Keystore (baze de date ce conțin chei publice sau private). Administratorul sistemului este responsabil de configurarea unui fișier de configurare ce conține una sau mai multe directive care stabilesc ce se întâmplă când o aplicație încearcă să logheze un utilizator. Aceste directive reprezintă modulele de login care sunt folosite

pentru autentificarea unui utilizator. Administratorul sistemului poate instala câte module de login dorește și le poate defini ca opționale sau obligatorii, conform cu politica de securitate adoptată. Deciziile referitoare la controlul accesului sunt luate în baza a două criterii.

Primul criteriu se referă la locul unde se află codul executat și semnăturile care sunt efectuate asupra lui.

Al doilea criteriu are în vedere utilizatorul sau după caz serviciul care execută codul (Subject).

Autorizarea, din punctul de vedere al JAAS extinde arhitectura de securitate din Java, care înseamnă o politică de securizare (security policy) specificând drepturile de acces ale codului care se execută. JAAS adaugă la controlul centrat în jurul codului care se execută (code-centric access control), controlul userului care execută (user-centric acces control). Permisiunile garantate nu se mai referă decât evidența codului ce se execută dar și pe evidența entităților ce îl execută.

Serviciul JAAS este reprezentat de următoarele clase de bază :

• Clasa Subject – Reprezintă o grupare de informații referitoare la o singură entitate (persoană, firma, etc.). Aceasta cuprinde informații despre Principals, credite publice, și credite private (public and private credentials)

• Clasa Principal – Această clasă reține identitatea entității. Clasa Subject se ocupă de updatarea identității pentru respective entitate.

Referitor la autentificare, JAAS pune la dispoziție următoarele clase:

• Clasa LoginContext – Această clasă pune la dispoziția noastră metode de autentificare a entităților (Subject). Ea se pune lacurent cu setările din fișierul de configurare, sau cu modulele de login (LoginModules) configuratepentru o anumită aplicație.

• Interfața LoginModule – Această interfață asigură dezvoltatorilor posibilitatea de a implementa diferite tehnologii de autentificare ce se pot folosi in alte aplicații, în mod plugin. Modulele de login pot asigura interfața cu diverse componente hardware, cum ar fi smart cards.

Referitor la autorizare, JAAS pune la dispoziție următoarea clasă:

• Clasa Policy – Aceasta clasă este abstractă, reprezentând politica de securitate a sistemului. În mod implicit, Java 2 SDK oferă o implementare a acestei clase reprezentată de fișierul java.policy. Java 2SDK v1.4 permite configurarea fișierului java.policy astfel încât să suporte înregistrări care au în componența lor obiecte de tip Principal.Așa cum pentru criptare Java 2 SDK pune la dispoziția noastră utilitare precum keytool sau jarsigner, pentru autorizare și autentificare putem folosi utilitarul policytool. [3]

Soluții de securitate oferite de Microsoft

Microsoft a elaborat o arhitectură numită Microsoft Internet Security Framework (MISF) ce furnizează un set de tehnologii de securitate multiplatformă pentru aplicații de comunicații online și de comerț electronic.

Printre tehnologiile MISF implementate se numără:

– Authenticode – interfață pentru autentificarea componentelor software pe Internet 7

– CryptoAPI – interfață pentru criptografie

– Servicii de securizare canale (SSL si PCT)

– Implementarea protocolului SET (Secure Electronic Transactions) pentru tranzacții

online cu cărți de credit

Tehnologia MISF este distribuită prin intermediul sistemelor de operare Windows și Windows NT și prin aplicații ca Microsoft Internet Explorer, Microsoft Certificate Server și Microsoft Internet Information Server.

Arhitectura CryptoAPI se prezintă astfel :

Fig. 1.3 Arhitectura CryptoAPI

Arhitectura CryptoAPI se compune din cinci zone funcționale:

– funcții criptografice de bază (funcții de conectare la un furnizor de servicii criptografice, funcții

de generare a cheilor și funcții de schimbare a cheilor)

– funcții de codificare/decodificare a certificatelor

– funcții de stocare a certificatelor

– funcții de criptare/decriptare a mesajelor și a datelor

– funcții pentru mesaje de nivel scăzut

Microsoft pune la dispoziție dezvoltatorilor și un set de unelte CryptoAPI (instalate în directorul mssdk\bin) care permit producătorilor de software să semneze fișiere de tip .exe, .cab, .cat, .ocx, .dll, .stl.

Acest set de unelte CryptoAPI se compune din:

– MakeCert.exe – creează un certificat X.509 de test

– Cert2SPC.exe – creează un certificat de publicare de software

– SignCode.exe – semnează și marchează temporal un fișier

– ChkTrust.exe – verifică validitatea unui fișier

– MakeCTL.exe – creează o listă de certificate de încredere (certificate trust list – CTL)

– CertMgr.exe – gestionează certificatele, listele de certificate de încredere și lista cu certificatele revocate (certificate revocation list – CRL)

– SetReg.exe – setează cheile din registru pentru verificarea certificatelor

– MakeCat.exe – creează un fișier catalog nesemnat cu codurile hash ale unui set de fișiere și cu atributele asociate fiecărui fișier

Microsoft pune la dispoziția dezvoltatorilor și un client COM ce suportă Automation, numit CAPICOM, care execută funcții criptografice folosind Microsoft ActiveX și obiecte COM. Se poate utiliza în aplicații dezvoltate cu Microsoft Visual Basic, Visual Basic Scripting Edition și C++ și poate semna digital date, verifica semnături digitale, cripta și decripta informații diverse.

Structura lucrarii pe capitole

Având în vedere că aplicațiile software implementează din ce în ce mai mult servicii in care securitatea este o componentă majoră (plăți on-line, transmitere de documente strict secrete, etc.) putem spune că folosirea unei arhitecturi de securitate (fie cea propusă de Java, fie cea propusă de Microsoft) va fi o necesitate din ce în ce mai stringentă. De asemenea nu putem să nu amintim că pierderile cauzate de hackeri sunt deosebite, acest fapt determinând companiile să cheltuiască sume importante pentru asigurarea securității. Costurile care revin unei intreprinderi pentru garantarea sigurantei informației electronice trebuie întotdeauna comparate cu costurile de garantare a siguranței informației in forma traditionala. Daca este vorba de a urmări cine intra într-o instituție este suficient un post de portar 24 de ore din 24 sau se poate instala un sistem electronic cu cartela care rezolvă problema în mod evident mai bine și văzut pe o durată mai lungă precis și mai ieftin. Daca am nevoie să asigur informațiile despre trezoreria unei banci, desigur ca am nevoie în viata normala de un seif în interiorul unei clădiri păzită de mai mulți gardienti etc. Pentru a transplanta acest scenariu in forma electronica va fi necesara dezvoltarea si mentinerea unei infrastructuri similare (firewall, zona demilitarizata, autentificare pe baza de smart card sau cu mijloace biometrice, asigurarea sistemului de distribuție a acestor smart carduri etc).

În ceea ce privește dezvoltarea de aplicatii cu un grad ridicat de securizare, putem spune cu siguranță că arhitecturile prezentate sunt suficient de puternice și flexibile pentru a satisface necesitățile de implementare ale pieței de software actuale.

CAPITOLUL I Securitatea datelor în sistemele informatice în general

Una dintre componentele majore ale internetului a devenit , securitatea informatică. Luând în considerare, nevoia de conectivitate și comunicații, pe de o parte, și necesitatea asigurării confidențialității și autenticității informațiilor, pe de alta parte s-a constatat o reală contradicție. Noul domeniu al securității informatice este într-o continuă căutare de soluții tehnice pentru rezolvarea acestei aparente contradicții. Eficiența și viteza comunicațiilor “subite” de documente și mesaje oferă numeroase atuuri referitoare la rapiditatea deciziei într-o societate modernă, care se bazează din ce în ce mai mult pe un mod de economie concurențială. Cu toate acestea, utilizarea poștei electronice, a web-ului, a transferului de foduri etc. se sprijină pe un sentiment, adeseori fals de securitate a comunicațiilor, ce poate transforma posibile câștiguri generate de accesul rapid la multitudinea de informații, în pierderi majore, produse de furtul de date sau de introducerea de date denaturate.

Amenințările asupra sistemelor informatice pot fi cauzate atât din interior cât și din exterior. Acestea sunt fie urmarea erorilor umane de operare, cât și a persoanelor rău intenționate, al căror scop este penetrarea sistemelor informatice, cu riscul sacrificării timpului și al banilor. Printre factorii tehnici ce permit erori de securitate pot fi considerate anumite greșeli ale software-ului de prelucrare și de comunicare sau, de ce nu, anumite defecte ale echipamentelor (de comunicație sau de calcul ). Nu în ultimul rând, lipsa unei pregătiri adecvate a administratorului de rețea, a operatorilor dar și a utilizatorilor de sisteme amplifică probabilitatea unor puncte slabe ale securității rețelei. Ca atare, unul din factorii de risc major asupra securității sistemelor informatice este reprezentat de folosirea abuzivă a unor sisteme de piraterie informatică.

Având în vedere că în ultimii ani, în toate tările dezvoltate, hârtia a devenit doar un simplu mediu de prezentare a informațiilor dar nu și de arhivare sau transport al acestora, cele două funcții au fost preluate absolut de către calculatoare și rețelele de interconectare ale acestora. Ca urmare, a fost nevoie de găsirea unor soluții valide pentru înlocuirea sigiliilor, a ștampilelor și nu în ultimul rând, a semnăturilor olografe din documentele clasice cu variantele lor digitale, bazate bineînteles pe criptografia clasică și cu chei publice. O dată cu rezolvarea acestor « probleme », criptografia computațională a devenit tot mai folosită pentru anihilarea problemelor de securitate informatică.

Deși criptografia computațională a fost folosită o bună perioadă de timp doar pentru asigurarea confidențialității comunicațiilor militare și diplomatice, în ultimii 20 de ani a reușit progrese spectaculoase, grație aplicațiilor sale în securitatea datelor calculatoarelor si rețelelor.

Îmbunătățirea securității sistemelor informatice trebuie să fie unul dintre obiectivele cele mai importante ale oricărei organizații. Foarte important este să fie luat în vedere asigurarea unui echilibru între costuri și avantaje obținute. Măsurile luate trebuie să descurajeze tentativele de pătrundere neautorizată, și să le facă mult mai costisitoare decât obținerea pe cale legală a accesului la aceste informații. OCED (Organization for Economic Co-operation and Development) [2] este unul din organismele internaționale a cărui misiune este de a promova politici ce vor putea ajuta la dezvoltarea bunăstării economice și sociale a populației lumii. domeniul protecției datelor cu caracter personal,

În ceea ce privește protecția datelor cu caracter personal, al securității sistemelor informatice și al protecției proprietății intelectuale, OECD a elaborat în anul 1980, conform oecd.org, « Guidelines on the Protection of Privacy and Transborder Flows of Personal Data » (Declarația cu privire la fluxul transfrontarier al datelor ) . Ideea fundamentală era și este de a se realiza, prin măsuri juridice și tehnice, controlul direct asupra datelor cu caracter personal și asupra utilizării acestora. În momentul de față, eforturile acestei organzații sunt îndreptate către realizarea unui cadru internațional în ceea ce privește viața personală și dreptul individual al persoanelor.

1.1. Arhitectura OSI a securității

Arhitectura OSI a securității este o descriere generală a serviciilor de securitate și a mecanismelor înrudite și discută relațiile dintre acestea și cum corespund unei arhitecturi de rețea. Modelul OSI se bazează pe o propunere dezvoltată de către Organizația Internațională de Standardizare (ISO – International Standards Oraganization ) ca un prim pas către standardizarea internațională a protocoalelor folosite pe diferite niveluri. [4] ( Day și Zimmermann, 1983 ). A fost revizuit în 1995 (Day, 1995). Modelul se numește ISO OSI ( Open Systems Interconnection –Interconectarea Sistemelor Deschise), pentru că el se ocupă de conectarea sistemelor deschise – adică de sisteme deschise comunicării cu alte sisteme.

Proiectarea, întreținerea și administrarea rețelelor de comunicații se poate face mai eficient prin folosirea unui model de rețea stratificat. Modelul ISO-OSI împarte arhitectura rețelei în șapte nivele (Layers), construite unul deasupra altuia, adaugând funcționalitate serviciilor oferite de nivelul inferior. Fiecare nivel are rolul de a ascunde nivelului superior detaliile de transmisie către nivelul inferior și invers. Nivelele superioare beneficiază de serviciile oferite de cele inferioare în mod transparent. Acest model permite realizarea de module software necesare funcționării rețelei care implementează diferite funcții (codare, criptare, împachetare, fragmentare etc.). Modelul nu precizează cum se construiesc nivelele, dar insistă asupra serviciilor oferite de fiecare și specifică modul de comunicare între nivele prin intermediul interfețelor. Fiecare producator poate construi nivelele așa cum dorește, însă fiecare nivel trebuie sa furnizeze un anumit set de servicii. Proiectarea arhitecturii pe nivele determină extinderea sau îmbunătățirea facilă a sistemului.

Servicii de siguranță

Arhitectura OSI evidențiază cinci categorii de servicii de securitate: autentificarea, controlul accesului, confidențialitatea datelor, integritatea datelor și non-acceptul. [5] [6]

Serviciile de autentificare dau voie autentificării entităților participante la comunicație â

Serviciul de autentificare al entităților analoge verifică faptul că o entitate dintr-o asociație aparține acesteia și nu încarcă să-și falsifice identitatea Acest fel de autentificare se face în faza de stabilire a legăturilor, și ocazional în timpul fazei de transfer de date.

Serviciul de autentificare a provenienței datelor verifică sursele de date, dar nu poate oferi protecție împotriva multiplicării sau modificării datelor, în acest caz folosindu-se serviciul de la punctul anterior. Acest serviciu se folosește în timpul fazei de transfer de date.

Serviciul de control al accesului, putem spune că protejează împotriva folosirii neautorizate a resurselor sistemelor. Acest tip de serviciu se află în strânsă legătură cu serviciile de autentificare, deoarece pentru a face demersurile necesare către accesul la o resursă, utilizatorul trebuie să își confirme identitatea.

Serviciul de confidențialitate a datelor protejează sistemul de transmiterea neautorizată a datelor.

Sisteme de autentificare în rețele de calculatoare și sisteme distribuite

Serviciul de confidențialitate selectivă furnizează confidențialitatea câmpurilor specifice dintr-un flux pe durata unei conexiuni.

Serviciul de confidențialitate a fluxului de trafic oferă protecție împotriva analizei traficului.

Serviciile de integritate a datelor protejează datele de modificări neautorizate.

Serviciul de integritate a unui câmp desemnat furnizează integritatea unor câmpuri specifice în cadrul conexiunii.

Serviciul de integritate fără conexiune furnizează integritatea unor unități de date separate.

Serviciul de integritate a unui câmp desemnat fără conexiune furnizează integritatea unor câmpuri specifice din unități de date separate.

Serviciul non-negare furnizează protecție împotriva acceptării ulterioare a trimiterii sau recepționării unui mesaj. Putem distinge două feluri de servicii, conform listei întocmite de Valer Bocan : [5] [6]

Serviciul non-negare cu dovada originii, oferă receptorului o dovadă a originii mesajului

Serviciul non-negare cu dovada livrării, oferă transmițătorului o dovadă a recepționării mesajului.

Serviciile non-negare devin din ce în ce mai importante în contextul actual de schimb electronic de date și comerțul electronic pe Internet.

Sisteme de securitate

Arhitectura OSI de securitate face o diferență clară între mecanisme specifice și cele generale de securitate. Sistemele specifice de securitate OSI numără opt mecanisme specifice de securitate.

1. Codificarea se folosește pentru a proteja confidențialitatea unităților de informație și deseori se folosește complementar cu alte mecanisme. Tehnicile de criptografie sunt prezentate în secțiunile următoare. [7]

2. Semnăturile digitale se folosesc în analogie electronică la semnăturile de mână, pentru documente electronice. Similar cu corespondentul real, semnăturile electronice nu trebuie să se poată falsifica, destinatarul să o poată verifica și emitentul să nu o poată nega mai târziu. [7]

3. Controlul accesului forțează aplicarea drepturilor de acces prin utilizarea identității autentificate a părților. Dacă una dintre părți încearcă să folosească o resursă neautorizată, serviciul blochează această tentativă și opțional poate genera o alarmă care să apară în auditul de securitate. [7]

4. Integritatea datelor este un mecanism care protejează unitățile de informație sau câmpuri din acestea. În general, acest tip de mecanism nu protejează împotriva atacurilor de tip replay. [7]

5. Schimbul de autentificare verifică identitatea părților. În conformitate cu ITU X.509, un mecanism de autentificare se numește puternic dacă se bazează pe tehnici criptografice pentru a codifica schimbul de mesaje. [7]

6. Completarea traficului protejează împotriva analizei datelor. Acest mecanism maschează datele reale intercalând date fără valoare, fiind efectiv în conjuncție cu un mecanism de confidențialitate.

7. Controlul rutărilor se folosește pentru alegerea dinamică sau într-un mod predeterminat a rutelor pentru transmiterea informației. Sistemele de comunicație pot comanda modificarea rutei la descoperirea unui atac pasiv sau activ. [7]

8. Notarizarea face trimitere la asigurarea transmiterii unor calități ale informației, cum ar fi integritatea, timpul, destinația sau originea. [7]

Sisteme generale de securitate

Sistemele generale de securitate nu pot fi considerate specifice nici unui serviciu, însă unele se pot confunda cu managementul securității. Importanța mecanismelor generale de securitate este în strânsă legătură cu nivelul de securitate cerut. Arhitectura OSI enumeră șase mecanisme specifice de securitate:

1. Conceptul general de funcționalitate credibilă poate fi utilizat fie pentru a crește, fie pentru a defini eficiența altor mecanisme de securitate. Indiferent de situație, funcționalitatea care oferă în mod direct sau mijlocește accesul la mecanismele de securitate, trebuie să fie de încredere.

2. Rezervele sistemului pot avea etichete de securitate care să fie asociate cu acestea. Adesea este nevoie ca etichetele să fie transmise împreună cu datele în tranzit, sub forma unor informații adiționale asociate datelor de transferat sau sub formă implicită dată de context, cum ar fi sursa.

3. Detectarea evenimentelor se poate folosi pentru a identifica încălcarea securității. [7]

4. Auditul de securitate se referă la o analiză independentă a jurnalelor sistemului pentru a testa capacitatea controalelor de sistem și practicile de securitate, pentru a detecta breșele de securitate și pentru a recomanda schimbări în control, politică și proceduri. [7]

5. Recuperarea de siguranță se îngrijește de manipularea solicitărilor mecanismelor de securitate și folosirea unui set de reguli stabilit apriori. Modelul Open Systems Interconnection al securității nu urmărește să rezolve o anume problemă a rețelei, ci stabilește un cadru care poate fi folosit pentru a descrie și discuta problemele și soluțiile lor.

6. autentificarea se referă la procesul de verificare a identității unei părți. Autentificarea rezultă în autenticitate, însemnând că partea care verifică (verificatorul)poate fi sigur că partea verificată (verificatul) este cel care spune că este. Uzual, tehnicile de autentificare se împart în trei categorii fundamentale:

– Autentificare prin cunoștințe (ceva ce utilizatorul știe: coduri PIN, coduri de tranzacție, parole)

– Autentificare prin posesie (ceva ce utilizatorul are: chei, carduri de identificare sau alt fel de dispozitive fizice)

– Autentificare prin proprietăți (identificarea biometrică a utilizatorului cum ar fi identificarea feței, imagini ale retinei, șabloane vocale, amprente)

În tehnica de calcul actuală autentificarea preponderentă este cea prin cunoștințe.

Capitolul II Modalități și tehnici de implementare a securității la nivelul DBMS – DataBase Management System (SGBF – Sistem de Gestiune a Bazelor de Date)

Sistemul de Gestiune a Bazelor de Date poate fi considerat un ansamblu complex de programe care face legătura între utilizatori și baza de date. Dat fiind faptul că, polivalența informațiilor cu care oamenii se află într-un raport permanent, a făcut necesară gestionarea eficientă a acestora. Fiecare bibliotecă, agendă personală, catalog de produse, chiar și mersul trenurilor, nu este altceva decât un mijloc de gestionare eficientă a informațiilor. Prin această formă de gestionare se încearcă nde altfel, într-o manieră neautomatizată, rezolvarea problemele legate de organizare, stocare și regăsire performantă a informațiilor. Rezolvarea eficientă a acestor probleme în condițiile unui volum foarte mare de informații, nu poate fi concepută decât prin utilizarea calculatoarelor electronice și anume a bazelor de date. [8]

Scopul principal în alegerea bazelor de date, ca soluție de rezolvare a problemei gestiunii informațiilor, este acela de a descoperi într-un timp cât mai scurt informația căutată după anumite criterii, de a minimiza spațiul necesar de memorare, de a asigura securitatea acestora, de a asigura flexibilitatea și unicitatea datelor gestionate.

General vorbind, o bază de date poate fi definită ca fiind o ″colecție de date înrudite care se referă la un anumit obiect sau obiectiv, împreună cu instrumentele folosite pentru manipularea acestor date. Orice bază de date trebuie să conțină descrierea datelor și înregistrările de date. Sistemul complex de programe care permite descrierea, organizarea, memorarea, regăsirea, administrarea și securizarea informațiilor dintr-o bază de date se numește sistemul de gestiune a bazelor de date (SGBD).″

Reținerea datelor conținute de bazele de date se face pe hard-disk-urile interne sau externe folosite de calculatoare.

2.1. Administrarea și asigurarea securității bazelor de date Access

Bazele de date moderne au fost proiectate astfel încât să asigure facilități de lucru în rețea. Majoritatea dintre ele pot funcționa în regim multiutilizator și oferă deschidere către internet. De aceea, securitatea bazelor de date este un domeniu ce nu mai poate fi ignorat. Pe lângă performanțele de conectivitate, de acces la date, de asigurare a integrității acestora, posibilitățile de import / export, instrumentele de dezvoltare oferite, elementele de securitate constituie de asemenea criterii importante atunci când se alege un tip sau altul de bază de date.

Access 2007, la fel ca și Access 2010 sau Access 2013, este un sistem de gestiune a bazelor de date modern la proiectarea căruia, pe lângă toate celelalte elemente de performanță s-au avut în vedere ca priorități și posibilitățile de compactare, recuperare și reparare a datelor în cazul apariției unor defecte, dar și asigurarea unui puternic sistem de securitate.

Defectele ce necesită o reparare a datelor pot fi datorate unor cauze interne sau externe cum sunt: [8]

§ întreruperea accidentală a curentului electric în timpul lucrului

§ defectarea unor zone de pe hard-disc

§ procesări greșite ale datelor de către programele de aplicație

§ alocări defectuase ale spațiului de memorare datorate sistemului de operare

§ defecte ale memoriei RAM

§ defecte datorate procesorului, etc.

Asigurarea unui sistem solid de securitate a fost de asemenea una dintre priorități. În ceea ce privește asigurarea securității datelor, Access pune la dispoziție:

§ posibilități de criptare / decriptare a bazei de date

§ lucrul cu parole la nivelul global al bazei de date, lucrul cu parole la nivelul utilizator

§ posibilitatea acordării diferențiate a drepturilor asupra obiectelor bazei de date pe proprietari, grupuri și nume de utilizatori.

Compactarea, recuperarea, repararea datelor și prezentarea elementelor de configurare a securității Access vor constitui următoarele teme abordate.

2.1.1. Compactarea și repararea datelor

În timpul lucrului, pentru a crește randamentul, Access-ul gestionează într-un mod propriu, intern, spațiul fișierelor .accdb în care sunt memorate tabelele și celelalte obiecte ale bazelor de date. Pentru Access 2007 sunt prioritare în primul rând viteza de acces la date și de procesare a acestora. Spațiul ocupat pe hard-disc de către bazele de date (fișierele *.accdb) nu mai reprezintă o problemă pentru calculatoarele moderne (echipate cu hard-discuri ce oferă capacități de peste 10 GB). Pentru a crește performanța de lucru cu bazele de date, de cele mai multe ori Access 2007 sacrifică spațiul ocupat de acestea pe hard-disc, ceea ce face ca în timp fișierele *.accdb să-și mărească dimensiunile într-un mod aparent nejustificat. De asemenea, datorită unei exploatări necorespunzătoare sau unor cauze externe, bazele de date se pot „corupe” ceea ce poate determina pierderea de date, inconsistența bazelor de date, „ruperea” legăturilor dintre tabele, lucrul defectuos al obiectelor bazei de date, lipsa vizibilității acestora, pierderea accesibilității la date, etc.

Office Access 2007 aduce un model îmbunătățit de securitate care simplifică procesul de aplicare a securității pentru o bază de date și de deschidere a unei baze de date care are activate elemente de securitate. De asemenea, acesta are un algoritm mai puternic pentru criptarea bazelor de date în formatul de fișier Office Access 2007, care utilizează caracteristica de parolă a bazei de date. Criptarea unei baze de date amestecă datele din tabele și împiedică citirea datelor de către utilizatori nedoriți.

Office Access 2007 nu furnizează securitate la nivel de utilizator pentru bazele de date care sunt create în noul format de fișier (fișiere .accdb și .accde). Cu toate acestea, dacă deschideți o bază de date dintr-o versiune anterioară de Access în Office Access 2007 și baza de date are aplicată securitate la nivel de utilizator, acele setări vor funcționa în continuare.

Dacă efectuați conversia unei baze de date dintr-o versiune anterioară de Acces cu securitate la nivel de utilizator în noul format de fișier, Access elimină automat toate setările de securitate și se aplică regulile de securizare a unui fișier .accdb sau .accde.

La deschiderea bazelor de date Access-ul lansează un diagnostic de control, în urma căruia decide dacă acestea sunt „corupte” sau nu. Dacă da, atunci declanșează automat procedura de reparare. Verificarea integrității bazelor de date și repararea acestora, se mai pot produce și atunci când se solicită compactarea. [9]

Atât compactarea cât și repararea bazelor de date se pot lansa prin intermediul opțiunii disponibile la Office button Manage Compact and Repair Database, prezentată mai jos :

Fig. 2.1 Compactarea și repararea bazelor de date cu opțiunea Compact and Repair Database

2.1.2. Crearea copiilor de siguranță

De regulă, atât compactarea și repararea cât și crearea copiilor de siguranță sunt sarcini ale administratorului bazei de date. Realizarea periodică a copiilor de siguranță este o activitate de administrare foarte importantă care, dacă este făcută corect, salvează utilizatorii de multe neplăceri ce ar putea fi cauzate de imposibilitatea reparării și refacerii corecte a bazei de date „corupte” în urma unor incidente nedorite. Literatura de specialitate recomandă câteva reguli legate de crearea copiilor de siguranță:

● crearea zilnică a copiilor

● existența a cel puțin trei copii

● rotația copiilor pe diferiți suporți de informație: ZIP, CD-uri, hard-discuri

● verificarea periodică a copiilor

● păstrarea copiilor în locuri diferite.

2.1.3. Securitatea bazelor de date

Sistemul de securitate al bazelor de date este un domeniu sensibil și foarte interesant, care poate influența decizia de alegere a unui anume tip de bază de date în funcție de aplicația dorită și de felul rețelei gazdă.

Faptul că majoritatea bazelor de date moderne pot funcționa în regim multiutilizator în intranet sau în internet a schimbat profund concepția despre sistemul de securitate al acestora care trebuie să asigure protecția împotriva încercărilor de acces neautorizat la obiectele bazei de date. [13]

De regulă, pentru securitatea accesului se utilizează o schemă de autentificare pe baza numelui de utilizator, apartenenței la un anumit grup de utilizatori, și a parolei personale. Această autentificare asigură funcții de control al accesului, de păstrare a confidențialității și de verificare a sursei. Fiecare utilizator va dispune de o parolă personală (parolă utilizator). Accesul la obiectele bazei de date (tabele, formulare, rapoarte etc), este reglementat prin apartenența la un grup de lucru care are anumite drepturi de acces. Toți utilizatorii au acces diferențiat la informații și la aplicații, în funcție de grupul căruia îi aparțin și de numele de utilizator alocat. Alte forme de protecție sunt accesul pe bază de parolă la nivelul bazei de date și criptarea acesteia cu posibilitatea de decriptare prin intermediul unei parole.

2.1.4. Principiile securității bazelor de date în rețele locale

Literatura de specialitate recomandă următoarele principii de securitate ce trebuie respectate la nivelul rețelei locale (LAN) și al bazelor de date:

● Fiecare utilizator al rețelei trebuie identificat înainte de a i se permite accesul în rețea.

● Accesul la resursele din rețea trebuie diferențiat în funcție de drepturile utilizatorului la acestea.

● Acțiunile utilizatorilor trebuie monitorizate pentru a se identifica dacă aceștia au încercat intrări sau acțiuni frauduloase sau rău intenționate.

● Conținutul tabelelor bazelor de date trebuie criptat pentru a nu fi posibilă citirea datelor conținute în acestea prin intermediul programelor utilitare.

● Utilizatorii unei baze de date trebuie identificați înainte de a li se permite deschiderea acesteia.

● Sistemul de securitate trebuie să permită acordarea sau retragerea drepturilor utilizatorilor asupra obiectelor bazei de date. [9]

2.1.5. Protejarea prin parolă la nivelul bazei de date

O metodă simplă de asigurare a securității bazelor de date Access este protejarea acestora printr-o parolă primară de acces. Această parolă va trebui să fie cunoscută de fiecare utilizator al bazei de date. La fiecare încercare de acces a bazei de date, înainte ca aceasta să fie deschisă, pe ecran va apărea un dialog care va solicita parola de acces. Pentru a seta parola primară la nivelul bazei de date este necesar în primul rând ca administratorul acesteia (care are toate drepturile) să deschidă baza de date în modul Exclusiv și nu în modul Shared Access, așa cum se deschide de obicei, implicit. Dacă o bază de date este deschisă Exclusiv, atunci ea nu mai poate funcționa în regimul de lucru multiutilizator, deci asupra ei nu poate opera decât o singură persoană. Programul Access oferă posibilitatea de a deschide o bază de date în patru moduri posibile: [10]

● Open – este modul implicit de lucru în regim multiutilizator (Shared Acces);

● Open Read Only – mod de lucru în regim multiutilizator dar permite numai citirea;

● Open Exclusive – mod de lucru monoutilizator;

● Open Exclusive Read Only – mod de lucru monoutilizator care permite numai citirea.

Pentru a deschide o bază de date în modul Exclusiv trebuie încărcat mai întâi programul Access și apoi deschidem baza de date aleasă activând de sub Office button opțiunea Open (deschide). Va apărea un dialog Open specific programului Access care va oferi posibilitatea alegerii modului de lucru dorit:

Fig. 2.1 Deschidere unei baze de date cu opțiunea Open Exclusive

După ce baza de date a fost deschisă prin modul « Exclusive », o nouă fereastră ni se va deschide , de data aceasta, o fereastră privind securitatea documentului. Vom alege, din cele două optiuni prezente, varianta ″ Enable this content ″ .

Fig. 2.3 Security alert – Enable this content

Setarea parolei bazei de date (Set Database Password) devine disponibilă după încărcarea acesteia în modul Exclusiv (Open Exclusive) și alegerea opțiunii ″Encrypt with Password″ a meniului Database Tools:

Fig 2.4 Set Database Password din Meniul Database Tools Encrypt with Password

Opțiunea Set Database Password lansează un dialog prin intermediul căruia va putea fi setată parola.

Putem testa dacă am setat parola bine sau nu, deschizând baza de date din nou de la butonul Office și alegând opțiunea Close Database, ca în figura de mai jos :

Fig. 2.4 Opțiunea Close Database

În partea din dreapta sus se va deschide un meniu din care vom putea alege ultimul document la care am lucrat. Vom deschide ultimul document, cel pe care l-am criptat cu parola ″ Remote ″ . Ne va aparea o fereastră în care va trebui să introducem parola pentru a putea accesa baza de date.

Fig. 2.5 Baza de data nou criptată

2.2. Noțiuni de baze de date necesare elaborării aplicației

Baza de date Oracle este un sistem de management al bazelor de date ( Relational Database Management System) aparținând Corporației Oracle folosit pentru stocarea și managementul informației utilizate de aplicații. Inițial a fost dezvoltată în 1977 de către Lawrence Ellison și alți programatori ; de atunci Oracle DB este una dintre cele mai de încredere și des utilizate motoare de baze de date relaționale.

Ea constă dintr-un set complet de constructori de aplicații și produse pentru utilizatori, căutând să asigure soluții complete în tehnologia informației. [11]

Aplicațiile Oracle sunt portabile peste un număr mare de stații de lucru și sisteme de operare, de la calculatoare personale la procesoare paralele. [11]

Ultimul server Oracle ,Oracle Database 12c ,conduce o bază de date cu toate avantajele unei structuri relaționale, având în plus capacitatea de a stoca si executa obiecte de tip bază de date precum proceduri și mecanisme de siguranță. [11] [12]

Compania a anuntat disponibilitatea ultimei aplicații, Oracle Database Appliance. Oferind o platfomă de baze de date extrem de accesibilă, Oracle Database Appliance este un sistem proiectat să simplifice implementarea, întreținerea, și susținerea soluțiilor bazelor de date, atât software cât și hardware. Aceasta permite, de asemenea clienților crearea unei soluții ” n-a-box „ facilitând alocarea eficientă a resurselor pentru bazele de date și aplicațiile care rulează pe același server fizic.

De asemenea, este disponibil un șablon de implementare îmbunătățită pentru Oracle WebLogic Server care acceptă opțiuni de implementare multidomain și multicluster. Utilizand noua capacitate instantaneu se reduce timpul de implementare cu aproximativ 15 minute.

Fiecare bază de date Oracle are una sau mai multe fișiere de date fiyice. Fișierele de date conțin toate datele bazei de date. Datele structurii logice ale bayei de date, cum ar fi tabelele și indicii, sunt stocate fizic în fișierele de date alocate pentru o bază de date.

Fișierele de date pot avea anumite caracteristici stabilite de a le extinde în mod automat atunci când baza de date rămâne fără spațiu.

Unul sau mai multe fisiere de date formează o unitate logică de stocare de date, numită tabelă.

Serverul Oracle cuprinde un DBMS care controlează:

– Stocarea de date in sfera bazelor de date dedicate

– Recuperarea de date pentru aplicații utilizând tehnici de optimizare adecvate

– Securitatea bazelor de date si a taskurilor permise pentru anumiți utilizatori

– Consistența și protecția datelor,incluzând arhivarea taskurilor și mecanisme de căutare

– Comunicarea și integritatea informațiilor,când bazele de date sunt distribuite într-o rețea. [11] [13]

Aplicațiile Oracle trebuie rulate pe acelasi computer la fel ca și Serverul Oracle.

”Alternativ, aplicațiile și utilitarele utilizate de ele pot să fie rulate pe un sistem local pentru utilizator (sistemul 'client'), în timp ce Oracle DBMS rulează pe un altul (sistemul 'server'). În acest mediu 'client-server',un număr mare de resurse de calcul pot fi rulate. De exemplu, o aplicație 'Oracle Forms' poate rula pe un computer personal client,în timp ce accesarea datelor este condusă convențional de un Server Oracle pe un computer central.” [11]

2.2.1 Privilegiile și funcțiile modelului

Sistemul utilizat de Oracle este unul de securitate descentralizat, unde utilizatorii sunt ei înșiși răspunzători pentru acordarea accesului pentru obiectele pe care le dețin, către ceilalți utilizatori. Oricum, înainte ca ei să faca aceasta, un utilizator nevoie de drepturile importante ale sistemului care permit acțiuni ca conectarea la o bază de date sau crearea de obiecte.

Când un nou utilizator Oracle este creat de către Administratorul Bazelor de Date, există un număr de drepturi ce pot fi atribuite pentru a defini categoriile de activități ale bazelor de date fiecărui utilizator, și este mult mai avantajos pentru Administratorul Bazelor de Date pentru a grupa aranjamentele obișnuite de drepturi în roluri (roles). [13]

2.2.2 Avantajele sistemului

Sunt mai mult de 80 tipuri de drepturi ale sistemului disponibile pentru atribuite către utilizatori și roluri. Cele mai importante vor fi enumerate mai jos. Pentru o specificare completă, s-a cercetat

" Oracle Database PL/SQL Language Reference, 12c Release 1 (12.1) (https://docs.oracle.com/database/121/LNPLS/E50727-04.pdf ) [14]

Operații autorizate

CREATE FUNCTION STATEMENT

Permite utilizatorului să creeze sau să înlocuiască o funcție de sine stătătoare.

CREATE PACKAGE STATEMENT

Permite crearea sau înlocuirea specificațiilor pentru un pachet salvat, care are incapsulată o colecție de proceduri, funcții și alte părți ale programului salvate ca o unitate în baza de date.

CREATE PROCEDURE STATEMENT

Permite crearea sau înlocuirea unei funcții de sine stătătoare ( un sub-program care execută

acțiune specifică)

CREATE TYPE STATEMENT

Permite utilizatorului să creeye sau să înlocuiască specificațiile pentru unele subprograme bine-definite.

2.2.3 Roluri

Un rol este o colecție de drepturi sistem cu nume. Un utilizator poate avea acces la mai multe roluri, și mai multi utilizatori pot fi atribuiți aceluiași rol, oferindu-se flexibilitate și ușurință sistemului de securitate.

Sunt câteva roluri predefinite, ca DBA ( Administrator de Baze de Date ) care include toate privilegiile sistemului, dar un DBA va crea de obicei roluri pentru cerințele sistemului. [14]

Dacă aveți atribuite mai multe roluri, puteți oscila între ele în timpul unei sesiuni pentru a activa sau nu drepturile asociate. Aceasta este realizată prin comanda SET ROLE.

De exemplu, pentru a activa un rol care are parola "examen" atașată :

SET ROLE gardener IDENTIFIED BY examen;

Pentru a activa toate rolurile exeptând un singur rol pentru un utilizator :

SET ROLE ALL EXCEPT manager;

Pentru a dezactiva toate rolurile

SET ROLE NONE;

Un utilizator va avea unele roluri implicite care sunt activate la intrare în sesiune. Acestea sunt de obicei toate rolurile acordate utilizatorului, dar pot fi schimbate cu comanda ALTER USER.

Acordarea de drepturi Utilizatori

făra roluri o o o

/|\ /|\ /|\

/^\ /^\ /^\

| | |

+–-+–+––-+––-+

| | | | | |

| +––|-+–+–|-+––|-+

| | | | | | | | |

| | +–|-|-+–|-|-++–|-|-+

/\+ | /\+ | /\+ | /\+ |

\/–+ \/–+ \/–+ \/–+

DREPTURI

Acordarea de drepturi

utilizând roluri

o o o Utilizatori

/|\ /|\ /|\

/^\ /^\ /^\

\ | /

\ | /

\ | /

\ | /

++–+–++

| | <–––– ROL

+–+–+–+

| | | |

+––-+ | | +––-+

| | | |

/\ /\ /\ /\

\/ \/ \/ \/

Privilegii

Schimbarea Parolei Utilizatorului

Administratoru Bazei de Date setează utilizatorului o parolă inițială când utilizatorul este creat ( via CREATE USER ). Utilizatorul poate mai tarziu să-și schimbe parola utilizând comanda ALTER USER.

Sintaxa :

ALTER USER nume_utilizator IDENTIFIED BY parola

De exemplu :

ALTER USER glenn IDENTIFIED BY swordfish;

De notat că de asemenea comanda poate fi utilizată pentru a schimba parola proprie, alte opțiuni în ALTER USER pot necesita unele drepturi ale sistemului pentru a se încheia cu succes. [14]

CAPITOLUL III Criptografia actuală și aplicațiile acesteia în domeniul bazelor de date

3.1. Criptografia în spațiul cibernetic

Rolul determinant în societatea umană este deținut fără doar și poate de către informatică, datorită faptului că, în momentul de față ″trăiește″ una din cele mai profunde transformări din întreaga ei existență. Dacă deceniul trecut a fost marcat de apariția și perfecționarea calculatoarelor personale, ușor accesibile și la prețuri din ce în ce mai scăzute, deceniul anilor 2000 este caracterizat de conectivitatea tot mai pronunțată, adică fuziunea dintre calculatoare și comunicații: cele mai multe calculatoare sunt folosite azi în interconectare, în rețele locale-LAN și în rețele de arie largă-WAN, ceea ce conferă informaticii un rol determinant în asigurarea legăturilor stiințifice, de afaceri, bancare sau de natură umană între persoane si instituții. Trăim astăzi o lume în care sute de milioane de calculatoare, deservind utilizatori foarte diverși, sunt interconectate într-o infrastructură informatică globală, numită de ziariști și Cyberspace(Spațiul Cibernetic). Specialiștii caută și găsesc, cu o viteză de-a dreptul incredibilă, soluții tehnice pentru dezvoltarea capacității de comunicație a calculatoarelor și pentru sporirea calității serviciilor de rețea oferite. În acelasi timp societatea se adaptează din mers noilor tehnologii informatice, învătând să trăiască în acestă lume nouă, dominată de calculatoare și comunicații între acestea. [15]

Societatea umană a început să transfere pe rețele o parte din activitățiile obisnuite, cărora comunicațiile aproape instantanee între puncte situate geografic la mii de kilometri le conferă valențe superioare. Vorbim astăzi de teleconferințe și grupuri de lucru prin rețele de calculatoare, grupuri de discuții, ca niște veritabile cluburi, profilate pe cele mai variate domenii de interes, ziare distribuite prin rețele, sisteme electronice de plăți prin rețele, sisteme de transfer de fonduri și de comerț prin rețele, etc. Toate aceste servicii si încă alte sute de acest fel, au început să fie o realitate a celui mai mare si mai impresionant mediu de comunicații între oameni care a devenit Internet-ul. [16]

3.2 Securitatea informatică – componentă majoră a spațiului cibernetic

Rețelele de calculatoare pot fi considerate structuri deschise, la care se pot conecta un număr mare și uneori necontrolat de calculatoare. Complexitatea arhitecturală și distribuția topologică a rețelelor conduc la o mărire necontrolată a mulțimii utilizatorilor cu acces nemijlocit la resursele rețelei- fișiere, baze de date, rutere etc. de aceea putem vorbi de o vulnerabilitate a rețelelor ce se manifestă pe variate planuri. De aceea un aspect crucial al rețelelor de calculatoare, în special al comunicaților pe Internet, îl constituie securitatea informațiilor. Din nefericire, sistemele de parole au devenit vulnerabile, atât datorită hacker-ilor care și-au perfecționat metodele, cât și datorită alegerii necorespunzătoare a parolelor de către utilizatori. Nevoia de securitate și de autenticitate, apare la toate nivelele arhitecturale ale rețelelor. La nivel înalt, utilizatorii vor să se asigure că poșta electronică, de exemplu, sosește chiar de la persoana care pretinde a fi expeditorul. Uneori utilizatorii, mai ales când actionează în numele unor firme, doresc asigurarea caracterului confidențial al mesajelor transmise. [16]

În tranzacțiile financiare, alături de autenticitate și confidențialitate, un loc de mare importanță îl are și integritatea mesajelor, ceea ce înseamnă că mesajul recepționat nu a fost alterat în timpul tranziției prin retea. În tranzacțiile de afaceri este foarte important ca odată receptionată o comandă, aceasta să fie nu numai autentică, cu continut nemodificat, dar să nu existe posibilitatea ca expeditorul să nu o mai recunoască, adică să se respecte proprietatea de nerepudiere. La nivel scăzut, gateway-urile si ruterele trebuie să discearnă între calculatoarele autorizate să comunice și cele intruse. [16] [17] De asemenea, este necesar ca, de exemplu, informația medicală transmisă prin rețele să fie confidențială și să ajungă nealterată (voit sau nu) la nodurile care retin marile baze de date ale sistemelor de asigurări medicale.

În aceste circumstante, securitatea informatică a devenit una din componentele majore ale cea ce numim Cyberspace. Analiștii acestui concept au sesizat o contradicție aparentă (antinomia) între nevoia de comunicații și conectivitate, pe de o parte și necesitatea asigurării confidențialității și autentificării datelor la calculatoare și rețele, pe de alta parte. Domeniul relativ nou al securității informatice caută o serie de soluții tehnice pentru rezolvarea acestei contradicții. Viteza și eficiența pe care o aduc comunicațiile instantanee de documente si mesaje (postă electronică, mesagerie electronică, transfer electronic de fonduri, etc) actului decizional al managerilor care acționează într-o economie puternic concurențială, conduc la un fel de euforie a utilizării rețelelor, bazată pe un sentiment fals de securitate a comunicațiilor, care poate transforma potențialele câștiguri generate de accesul la informații, în pierderi majore cauzate de furtul de date sau de inserarea de date false sau denaturate. [17]

Criptografia computațională oferă cele mai puternice soluții pentru toate aceste probleme privind securitatea informatică. Folosită multă vreme pentru asigurarea confidentialitătii comunicațiilor în domeniul militar și diplomatic, criptografia a cunoscut în ultimii 20 de ani progrese spectaculoase datorate aplicațiilor sale în securitatea datelor la calculatoare. [16] [17]

Putem spune că domeniul criptografiei computaționale a devenit azi un spațiu legitim de intense cercetări academice.

Criptografia este știința scrierilor secrete. Un cifru se definește ca transformarea unui mesaj-clar sau text clar în mesaj-cifrat ori criptogramă. Procesul de transformare a textului clar în text cifrat se numește cifrare sau criptare, iar transformarea inversă, a criptogramei în text clar, are denumirea de descifrare sau decriptare. Atât cifrarea cât și descifrarea sunt controlate de către una sau mai multe chei criptografice.

Un sistem criptografic (criptosistem) are cinci componente: [16]

spațiul mesajelor în text clar, {M};

spațiul mesajelor în text cifrat, {C};

spațiul cheilor, {K};

familia transformărilor de cifrare,

Ek: M-> C ;unde K Î{ K}

familia transformărilor de descifrare, Dk: C -> M, unde KÎ{K}

Fiecare transformare de cifrare, Ek, este definită de un algoritm de cifrare, E, comun tuturor transformărilor familiei, și o cheie, K, distinctă de la o transformare la alta. În mod similar, fiecare transformare de descifrare, Dk, este definită de un algoritm de descifrare D, si de cheia K. Pentru un K dat, DK reprezintă inversa lui EK, adică: [18]

Dk(Ek((M))=M, ,MÎ{M}.

Există două mari categorii de sisteme criptografice folosite azi în securitatea informatică:sisteme simetrice și sisteme cu chei publice. [15]

Istoria recentă a criptografiei cunoaște numeroase inovații care au marcat o cotitură semnificativă în dezvoltarea metodelor criptografice. Acestea sunt legate de dezvoltarea rețelelor de calculatoare al căror stimulent extraordinar s-a manifestat atât prin presiunea exercitată de tot mai multi utilizatori, a căror dorință expresă era păstrarea secretului și a siguranței poștei electronice private, a transferului electronic de fonduri și a altor aplicații, cât și prin potențarea gamei de instrumente folosite, pe de o parte pentru execuția algoritmilor de cifrare iar pe de altă parte pentru spargerea sistemelor criptografice. Vom marca câteva din aspectele caracteristice ale utilizării criptografiei în domeniul calculatoarelor si rețelelor. [15]

3.3. Algoritmi criptografici cu cheie secretă

Pentru asigurarea confidențialitătii datelor memorate în calculatoare sau transmise prin rețele se folosesc preponderent algoritmi criptografici cu cheie secretă (simetrici). Ei se caracterizează prin aceea că ambii utilizatori ai algoritmului împart aceeași cheie secretă, folosită atât la cifrare cât și la descifrare (a se vedea schema criptosistemului simetric). [15]

Deoarece algoritmul este valid în ambele direcții, utilizatorii trebuie să aibă încredere reciprocă. Securitatea acestui tip de algoritm depinde de lungimea cheii și posibilitatea de a o păstra secretă. Când comunicațiile dintre numeroși utilizatori trebuie să fie criptate, apare o mare problemă a managementului cheilor; pentru n utilizatori sunt posibile n(n-1)/2 legături bidirecționale, fiind necesare tot atâtea chei. Aceasta implica în general probleme dificile în generarea, distributia si memorarea cheilor [15] [18] .Utilizarea calculatoarelor electronice a permis folosirea unor chei de dimensiuni mai mari, sporindu-se astfel rezistența la atacuri criptoanalitice. Când cheia secretă are o dimensiune convenabilă și este suficient de frecvent schimbată, devine practic imposibilă spargerea cifrului, chiar dacă se cunoaste algoritmul de cifrare. Pe această idee se bazează și standardul american de cifrare a datelor-DES (Data Encryption Standard), larg utilizat de guvernul SUA și de diverse companii internaționale. Propus initial de IBM sub forma sistemului Lucifer, DES a rezistat evaluării făcute de-a lungul a aproape două decenii nu numai de „spărgătorii de cifruri" de la NSA-National Security Agency din SUA ci și de nenumărați matematicieni de la marile universități din lume. DES a fost adoptat ca standard federal în 1977 și a fost folosit intens datorită performanțelor de viteză atinse la cifrare. Să amintim doar că ”DES este folosit azi pentru cifrarea datelor de către multe armate din lume sau de către comunitatea bancară internațională.” [16] Din păcate nu există o certitudine absolută că specialiștii de la NSA, sau de la vreo altă organizație, au reușit sau nu să spargă DES. Experiența a arătat însă că orice schemă criptografică are o viață limitată și că avansul tehnologic reduce, mai devreme sau mai târziu, securitatea furnizată de ea. Se consideră că perioada DES este aproape încheiată și că alte sisteme, cum ar fi IDEA sau Clipper îi vor lua locul. [15]

3.4. Algoritmi criptografici cu chei publice

Un alt moment foarte important în evoluția criptografiei computaționale l-a constituit adoptarea unui principiu diferit de acela al cifrării clasice, cunoscută de mii de ani. Whitfield Diffie și Martin Hellman, de la Univeritatea Stanford din California, printr-un articol celebru publicat în 1976, au pus bazele criptografiei cu chei publice. [19] [15] În locul unei singure chei secrete, criptografia asimetrică folosește două chei diferite, una pentru cifrare, alta pentru descifrare. Deoarece este imposibilă deducerea unei chei din cealaltă, una din chei este făcută publică fiind pusă la dispoziția oricui dorește să transmită un mesaj cifrat. Doar destinatarul, care deține cea de-a doua cheie, poate descifra și utiliza mesajul. Tehnica cheilor publice poate fi folosită și pentru autentificarea mesajelor, prin asa numita semnătură digitală, fapt care i-a sporit popularitatea. Folosind algoritmi cu cheie publică (asimetrici), se crează criptosisteme cu două chei, în cadrul cărora doi utilizatori (procese) pot comunica cunoscînd fiecare doar cheia publică a celuilalt.

”În criptosistemele cu chei publice fiecare utilizator A, deține o transformare de cifrare publică, EA, care poate fi memorată într-un registru (fisier) public si o transformare de descifrare secretă, DA, ce nu este posibil să fie obținută din EA. Cheia de descifrare (secretă) este derivată din cheia de cifrare (publică) printr-o transformare greu inversabilă (one-way). În sistemele cu chei publice, protecția și autentificarea sunt realizate prin transformări distincte. Să presupunem că utilizatorul (procesul) A dorește să emită un mesaj, M, unui alt utilizator (proces) B. Dacă A cunoaste transformarea publică EB, atunci A poate transmite M la B sub forma C=EB(M), asigurîndu-se astfel funcția de confidențialitate.

La recepție, B, va descifra criptograma C utilizând transformarea secretă DB, cunoscută doar de el:

DB(C)=DB(EB(M))=M. ” [15]

Schema nu furnizează facilități de autentificare, deoarece orice utilizator (proces) are acces la transformarea publică EB a lui B și îi poate trimite mesaje false M' sub forma C'=EB(M').

Pentru autentificare se aplică lui M transformarea secretă DA a lui A. Ignorând protecția pentru moment, A va emite C=DA(M) la B, care la recepție va aplica transformarea publică, EA a lui A:

EA(C)=EA(DA(M))=M [16]

Autentificarea este realizată deoarece numai A poate aplica transformarea DA. Acest concept poartă numele de semnătură digitală, fiind folosit pentru recunoașterea sigură a utilizatorilor sau proceselor. Fie B un receptor de mesaj semnat de A. Semnătura lui A trebuie să satisfacă următoarele proprietăți:

B să fie capabil să valideze semnătura lui A;

să fie imposibil pentru oricine, inclusiv B, să falsifice semnătura lui A;

în cazul în care A nu recunoaște semnarea unui mesaj M, trebuie să existe un „judecător" care să poată rezolva disputa dintre A si B. [20]

Protecția nu este asigurată, întrucât este posibil ca mesajul M să fie obținut de oricine, aplicând transformarea publică EA. Pentru a se realiza simultan protecția și autentificarea informațiilor spațiului {M} trebuie să fie echivalent spațiului {C}, așa încât orice pereche (EA, DA) să fie în măsură să opereze atât asupra textului clar, cât și asupra textului cifrat; în plus se cere ca EA și DA să fie mutual inverse, adică: [15]

EA(DA(M))=DA(EA(M))=M.

Emițătorul de mesaj A va aplica mai întâi transformarea secretă a sa, DA, mesajului M, semnându-l. Apoi A va cifra rezultatul – utilizând transformarea publică a lui B, EB și va emite către receptor criptograma:

C=EB(DA(M)). [15]

Receptorul B îl obține pe M aplicând la început propria-i funcție de descifrare, DB, iar apoi transformare publică a lui A, EA, cea care furnizează autentificarea :

EA(DB(C))=EA(DB(EB(DA(M))))

=EA(DA(M))

=M.

Cel mai cunoscut sistem cu chei publice este RSA al cărui nume provine de la de cei trei cercetători de la Massachusetts Institute of Technology care l-au creat- Rivest, Shamir si Adleman. [15]

El este un adevărat standard „de facto" în domeniul semnăturilor digitale și al confidențialității cu chei publice. Se bucură de o foarte mare apreciere atât în mediul guvernamental cât și în cel comercial, fiind susținut prin lucrări și studii de comunitatea academică. Sub diferite forme de implementare, prin programe sau dispozitive hardware speciale, RSA este astăzi recunoscută ca cea mai sigură metodă de cifrare si autentificare disponibilă comercial. O serie de firme producătoare de sisteme de programe si echipamente ca DEC, Lotus, Novell, Motorola precum si o serie de instituții importante (Departamentul Apărării din SUA, National Aeronautics-SUA, Boeing, rețeaua bancară internațională SWIFT, guvernul Belgiei etc), [16] folosesc acest algoritm pentru protejarea și autentificarea datelor, parolelor, fișierelor, documentelor memorate sau transmise prin rețele.

De exemplu firma Lotus a dezvoltat Notes, un nou concept de lucru în comun (groupware) într-o rețea. La o astfel de legătură în comun a numeroase programe și persoane se cere însă o mare încredere în informație cât și o mare confidențialitate; ca urmare Lotus foloseste semnătura digitală și secretizarea cu ajutorul criptosistemelor RSA. [16] [21]

În sistemul de operare NetWare, pentru rețele locale, al firmei Novell, se folosește curent RSA în mecanismele de autentificare care permit utilizatorilor să acceadă la orice server al rețelei. [16]

Motorola comercializează telefoane sigure care încorporează o serie de metode de confidențialitate și autentificare a utilizatorilor cât și a partenerilor de dialog.Toate acestea se bazează pe algoritmul RSA și se regăsesc atât în variante de uz general cât și în variante pentru comunicații militare, fiind destinate atît transmisiilor de voce cât si de FAX. [16] [21]

Un alt exemplu semnificativ de utilizare a sistemului RSA este rețeaua de poștă electronică a guvernului belgian.Toate protocoalele de asigurare a confidențialității și de autentificare prin semnătură digitală folosesc acest algoritm.

Publicat în 1978, RSA este bazat pe imposibilitatea practică, la nivelul performanțelor calculatoarelor de azi, de a factoriza numere prime mari. În același timp găsirea unor numere prime mari este ușoară. Funcțiile de criptare / decriptare sunt exponențiale, unde exponentul este cheia și calculele se fac în inelul claselor de resturi modul n. [15]

Dacă p si q sunt numere prime foarte mari (100-200 de cifre zecimale), cifrarea și descifrarea se fac astfel:

C=E(M)=Me mod(p*q) ;

M=D(C)=Cd mod(p*q) ; [15] [16]

Numerele e si d sunt cheile, publică si secretă. Valorile p si q sunt ținute secrete iar n=p*q este făcut public.

Cifrarea și descifrarea sunt bazate pe generalizarea lui Euler a teoremei lui Fermat, care afirmă că pentru orice M relativ prim cu n,

Mj(n) (mod n) = 1,

unde j(n) este indicatorul lui Euler. Această proprietate implică faptul că e si d să satisfacă proprietatea:

e*d (mod j(n)) = 1,

Rezultă:

Med = M (mod n). [15] [16]

Criptosistemele cu chei publice au următoarele aplicatii mai importante în serviciile specifice rețelelor de azi:

-autentificarea conținutului mesajelor și al emițătorului, prin semnătură digitală;

-distributia cheilor de cifrare simetrică, prin anvelopare cu ajutorul sistemelor cu chei publice;

-autentificarea utilizatorilor si a cheilor publice prin asa numitele certificate digitale. [16]

Dată fiind importanța pentru securitatea informatică a criptosistemelor cu chei publice guvernul SUA a inițiat adoptarea unui standard de semnatură digitală bazat pe conceptul de cheie publică. Acest demers a generat controverse, soldate chiar cu acuze între organizațiile implicate. Până în decembrie 1990, Institutul Național de Standarde și Tehnologie al SUA recomanda pentru adoptare ca standard metoda RSA, prezentă deja în industrie. Dar nouă luni mai târziu, în august 1991, NIST a avansat un cu totul alt algoritm, bazat pe o metodă cu chei publice publicată de El Gamal în 1985. Noua propunere, denumită DSS (Digital Signature Standard), a fost dezvoltată de Agentia de Securitate Natională a SUA (NSA). Ea a stârnit controverse, nu datorită performanțelor sale, ci mai degrabă ca urmare a suspiciunilor asupra autorului (NSA), care este și spărgător de cifruri. [16] [22]

3.5. Sisteme cu chei în custodie

Un alt concept este pe cale a fi implementat în SUA de către NSA (National Security Agency). El este numit sistem cu chei în custodie (Escrowed Key System) și promovează pentru SUA o nouă tehnologie criptografică sub numele de Clipper. El este destinat să permită, sub control (legal se sustine), interceptarea si decriptarea, de către instituțiile abilitate ale statului, a unor informații transmise prin telefon, fax sau Internet. Decriptarea se face cu ajutorul unor fragmente de chei obținute prin aprobări legale de la asa numite agenții de custodie a cheilor. [15] [16]

Cipul Clipper, care va fi integrat atât în telefoane, fax-uri cât și în interfața de rețea a calculatoarelor, conține un algoritm de criptare simetrică, pe 64 biti, numit „Skipjack". Acesta foloseste o cheie de 80 biti (în comparație cu 56 de biti la DES) si are 32 de runde de iterații (față de numai 16 la DES), suportând toate cele 4 moduri DES de operații. [15] [16]

Fiecare cip include următoarele componente :

algoritmul de criptare „Skipjack"(secret și studiat sub jurământ de câțiva mari specialiști);

F- cheie de familie pe 80 biti comună tuturor chip-urilor ;

N – număr serial al chip-ului, de 30 biti;

U- cheie secretă pe 80 biti, care va fi lăsată, sub forma unor fragmente în custodie. [15] [16]

Cipurile sunt programate de Mykotronx Inc., care le denumeste MYK-78. Suportul fizic este asigurat de VLSI Tehnology Inc., în tehnologia de 0.8 microni, costând aproximativ 30 dolari bucata, pentru cantităti mai mari de 10.000 bucăți. [15] [16]

Majoritatea firmelor din SUA ca și societatea civilă rejectează concepția NSA, obiectând în principal următoarele:

Clipper a fost dezvoltat în secret, fără informarea și colaborarea producătorilor în domeniu ;

Algoritmii nu sunt documentați și disponibili;

Există teama existenței unor trape care pot permite FBI/CIA să spargă cifrul ;

Controlul sever exercitat de guvernul SUA asupra producției și exportului vor restricționa afacerile;

Există teamă în fata posibilitățiilor FBI/CIA de a intercepta comunicațiile dintre calculatoare pe scară mare, fără aprobările legale. [15]

3.6. RSA

RSA este un sistem de criptare cu cheie publicã dezvoltat în anul 1977 de cãtre profesorii de la MIT (Massachusetts Institute of Technology) Ronald L. Rivest, Adi Shamir și Leonard M. Adleman, [25] cu scopul de a asigura securitatea datelor pe Internet. Generarea cheilor Algoritmul RSA are la bazã elemente de teoria numerelor și teoria grupurilor. Primul pas în folosirea algoritmilor de criptare și decriptare pentru tehnica RSA constã în construirea celor douã chei. Pe baza unei parole (șir de caractere) introdusã de utilizator și care trebuie sã aibã o lungime suficient de mare, se genereazã douã numere prime mari (cu o lungime mai mare de 64 de biți) p și q. Dupã ce s-au generat cele douã numere prime se construiește un numãr n ca fiind produsul dintre p și q. [24]

Fie Φ = (p – 1) (q – 1).

La pasul urmãtor se cautã un numãr e care trebuie sã fie relativ prim cu Φ adicã cel mai mare divizor comun al numerelor e și Φ este 1.

În continuare se construiește numãrul d ca fiind inversul numãrului

e modul Φ

d ≡ e^-1 mod φ

7

Numerele n și e formeazã cheia privatã, în timp ce cheia publicã este datã de numerele n și d. Pentru ca generarea cheilor sã fie optimã în timp, la calcularea numãrului d se folosește forma extinsã a algoritmului lui Euclid. [23]

Practic, pentru a ne conecta la remote la sistemele folosite pentru a monitoriza o rețea de telecomunicații de exemplu, folosim o conexiune în condiții de securitate și anume Check Point Mobile.

Mai jos vom prezenta pas cu pas, logarea remote prin sistemul de criptare RSA pentru a ne asigura securitatea datelor pe Internet.

Mai întai vom porni aplicația Check Point Mobile Client :

Fig. 3.1 Check Point Mobile

Vom da un clic de dreapta pe iconiță, selectăm "  VPN Option " și " Properties "

Fig. 3.2 VPN Option

Fig. 3.3 VPN Option

Din meniul nou deschis , dăm un clic de stânga pe tab-ul Settings, după care alegem metoda de autentificare ca "  SecureID-KeyFob ", după care închidem fereastra "VPN Option "

Fig. 3.4 SecureID -KeyFob

Următorul pas ne duce din nou la task bar, clic de dreapta pe iconiță, "Connect to… " după care introducem numele de utilizator, PIN-ul token-ului și codul afișat pe token-ul RSA.

Fig. 3.5 Connect to…

Fig. 3.6 Connecting to theVPN

3.7 Analiza pachetelor transmise prin conexiunea în condiții de securitate folosind Wireshark

Ne vom folosi mai departe Wireshark, un program care a fost dezvoltat în 1998 de către Gerald Combs , pentru a vedea toate pachetele transmise, nu doar cele adresate interfeței MAC.

Wireshark este cel mai popular analizator de rețea din lume. Această ″unealtă″ foarte puternică furnizează informații despre datele capturate în rețea și în straturile superioare ale protocoalelor. La fel ca majoritatea programelor de rețea, Wireshark folosește librăria de rețea pcap pentru a captura pachete.

Puterea Wireshark vine din :

Simplitatea de instalare

Simplitatea de folosire a interfeței GUI

Numărul foarte mare de funcții oferite.

Cele 8 meniuri din partea superioară a platformei sunt pentru configurarea Wireshark : File, Edit, View, Go, Capture, Analyze, Statistics și Help. De asemenea dispune de foarte multe scurtături care se află chiar sub meniuri. Pentru afișarea filtrelor, se caută în log-ul capturii.

Vom începe cu descoperirea IP-ului nostru .Vom deschide de la meniul

Start cmd ipconfig /all . Pornind de la IP-ul pentru care dorim să capturăm pachetele transmise, vom selecta din lista aflată în partea dreaptă a programului, interfața pe care dorim să o analizăm.

Fig. 3.7 IP-ul pentru care dorim să capturăm pachetele transmise

În acest caz vom analiza traficul de date făcut pe conexiunea mai devreme inițializată, prin VPN . Transmiterea de pachete pe interfața conectată, ne va arata și mai simplu , care conexiune ar trebui să o alegem pentru a fi analizată. Apăsăm butonul de Start din Wireshark și asteptăm să generăm trafic pentru a-l putea analiza. Putem filtra pachetele utilizând funcția de filtru built-in, permițându-ne să examinam protocoale specifice. Ce poate Wireshark să facă?

Capturează traficul de pachete

Identifică și analizează protocoale

Identifică sursa și destinația traficului

Arată conținutul pachetelor

Programul Wireshark începe să analizeze transferul nostru de pachete în trei panouri diferite, aflate una sub cealaltă :

?xml version="1.0"?>

<psml version="0" creator="wireshark/1.10.2">

<structure>

<section>No.</section>

<section>Time</section>

<section>Source</section>

<section>Destination</section>

<section>Protocol</section>

<section>Length</section>

<section>Info</section>

</structure>

<packet>

<section>29</section>

<section>17.806324000</section>

<section>10.8.210.88</section>

<section>10.8.224.9</section>

<section>HTTP</section>

<section>149</section>

<section>CONNECT mtalk.google.com:443 HTTP/1.1 </section>

</packet>

<packet>

<section>174</section>

<section>77.862418000</section>

<section>10.8.210.88</section>

<section>10.8.224.22</section>

<section>HTTP</section>

<section>1226</section>

<section>CCM_POST /ccm_system/request HTTP/1.1 (text/plain) (application/octet-stream)</section>

</packet>

<packet>

<section>183</section>

<section>78.032152000</section>

<section>10.8.210.88</section>

<section>10.8.224.22</section>

<section>HTTP</section>

<section>1282</section>

<section>CCM_POST /ccm_system_windowsauth/request HTTP/1.1 (text/plain) (application/octet-stream)</section>

</packet>

3.8 Capurarea pachetelor de date

Fiecare dintre cele trei panouri în care este împărțită interfața Wireshark ne furnizează informații atât despre pachetele transmise cât și despre informațiile primite. În primul panou, numit și Panoul cu lista de pachete, ne sunt afișate toate pachetele capturate. Putem afla informații ca sursa și destinația adreselor MAC/IP, numărul TCP/UDP, protocolul sau conținutul pachetelor.

În cel de-al doilea panou, numit și Panoul cu detalii despre pachete, ni se vor oferi informații mai multe despre pachetul selectat din lista de pachete. Informațiile afișate pe fiecare strat TCP/IP pot fi expandate și pliate.

Fig. 3.9 Modelul TCP/IP

În ultimul panou, numit Panoul de analiză sau panoul pachetelor biți, se afișează aceleași informații furnizate și de panoul cu detalii despre pachete, dar în mod hexadecimal. care a fost transmisă. Prima coloană reprezintă numărul coloanei la care ne uităm în valori hexa-decimale, ultima coloană este traducerea din binar în ASCII.

În josul platformei Wireshark se mai pot găsi următoarele informații :

Placa de rețea folosită în captură

Dacă, captura este pornită sau oprită

Unde sunt stocate datele capturii pe harddisk

Mărimea capturii

Numărul pachetelor (P)

Numărul pachetelor afișate (D)

Numărul pachetelor marcate (M)

Wireshark vine cu o mulțime de statistici care pot fii consultate apăsând pe câmpul "Statistics", din partea superioară a ecranului.

Informațiile de bază care sunt disponibile în fereastră sunt:

Proprietățile fișierului de capture

Timpul de capture

Informații despre filtrul de capture

Informații despre filtrul de afișare

CONCLUZII

La tema aleasă se mai pot spune, bineînțeles foarte multe, dat fiind faptul că este vorba de un domeniu în dezvoltare continuă. Această lucrare a avut tendința de a arăta și demonstra unele tendințe și linii generale privind tematica dată. Un lucru este cert, și anume că, internetul, securizarea și criptarea datelor și nu în ultimul rând utilizarea acestora, nu mai au rol secundar în viața de zi cu zi, dar cel mai important, aceste elemente ale lumii digitale au devenit de neînlocuit.

Scopul propus de această lucrare a fost de a aduce la cunoștință posibilitățile oferite de accesarea informațiilor prin conexiunile în condiții de siguranță și importanța criptării bazelor de date.

În primul capitol am prezentat securitatea datelor în sistemele informatice în general, o descriere generală a serviciilor de securitate și a mecanismelor înrudite și cum relațiile dintre acestea corespund unei arhitecturi de rețea.

În cadrul capitolului doi m-am oprit asupra modalităților și tehnicilor de implementare a securității la nivelul Sistemelor de Gestiune a Bazelor de Date. O atenție deosebită am acordat-o administrării și asigurării securității bazelor de date Access.

După ce am dat o explicație asupra importanței criptării bazelor de date, în ultimul capitol am prezentat tendința criptografică actuală și aplicațiile acesteia în domeniul bazelor de date și în special conexiunea prin sistemul de criptare cu cheie publică RSA și analizarea pachetelor de date transmise astfel cu ajutorul celui mai popular analizator de rețea din lume și anume Wireshark.

Astfel sper că prin această lucrare am reușit să demostrez cât este de importantă problema dată, ce impact are ea asupra societății contemporane și nu în ultimul rând, cum putem utiliya toate aceste informații în interese proprii.

BIBLIOGRAFIE

1. http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html

2. http://control.aut.utcluj.ro/hmihai/doku.php?id=java2:retele_ssl

3. Jamsa, Kris – Web programming, Jamsa Pr, 1996

4. John D. Day, Hubert Zimmermann – Proceedings of the IEFJ2 – The OSI Refernce Model, Vol. 71, No. 12, 1983

5. http://www.bocan.ro/Media/Default/Downloads/referat1-valer-bocan.pdf

6. stst.elia.pub.ro/news/RC/Teme_RC_IVA_2013_14/2_FloreaCa_SecMailWeb.doc

7.http://www.creeaza.com/referate/informatica/retele-calculatoare/Protocoale-modele-de-referinta487.php

8. Despi Ioan, Reisz Robert, Petrov Gheorghe, – Teoria generală a bazelor de date, Editura Mirton, 1998

9. Sales, Susan – Utilizare Microsoft Access 2000, Editura Teora, 2000

10. Jennings, Roger – Totul despre Microsoft Access 2000 , Editura Teora, 2000

11. http://www.scribd.com/doc/156021765/proiect

12. Lungu,Ion – Baze de date Oracle, Editura ASE, 2005

13. A. Bara,I. Botha, V. Diaconița, I. Lungu, A. Velicanu –Baze de date. Limbajul PL/SQL, ed. ASE, 2009

14. http://docs.oracle.com/database/121/LNPLS/E50727-04.pdf

15. http://www.security.ase.md/publro/pubro23/pubro23.html

16.http://www.securitatea-informatica.ro/securitatea-informatica/securitatea-datelor/criptografia-in-cyberspace/

17. http://moldnet.narod.ru/securitate.html

18. http://www.scritub.com/stiinta/informatica/Criptografia-in-Cyberspace34939.php

19. Diffie Whitfield, Martin E. Hellmann – New Directions in Criptography, 1976 http://www4.ncsu.edu/~singer/437/proj38.pdf

20. http://www.scribd.com/doc/161871868/Algoritm-Asimetric-de-Criptare-Algoritmul-EG

21. A. Salomaa – Criptografie cu chei publice, Editura Militara, 1994

22. D. Stinton – Cryptographie, theorie et pratique, International Thompson Publishing, 1995

23. http://www.vidarholen.net/contents/blog/?p=24

24.http://iit.qau.edu.pk/books/Data%20Communications%20and%20Networking%20By%20Behrouz%20A.Forouzan.pdf

25. https://www.cybertext.com/books/primerprev/chapters/ch2.htm#components

Similar Posts

  • Etape de Creare a Unui Site Web In Comertul

    Capitolul 5 Etape de creare a unui site web în comerțul electronic Realizarea unui site Web de comerț electronic, indiferent de modelul pe care îl implementează (business-to-consumer B2C sau business-to-business B2B) implică mai multe etape(vezi figura 2.1): analiza/planificarea sistemelor; proiectarea sistemelor; construirea sistemelor; testarea; implementarea și promovarea. Figura 1 Ciclul de viață al dezvoltării site-urilor…

  • Magazin Virtual Folosind Php Si Mysql

    Cuprins Cuprins Capitolul 1 Studiul și analiza sistemului existent 1.1. Prezentarea succintă a societății și identificarea domeniului aplicației 1.2. Activitățile desfășurate în unitatea economică 1.3. Studiul sistemului de conducere 1.4. Studiul sistemului condus 1.5. Studiul sistemului informațional 1.6. Analiza critică a sistemului existent 1.7. Direcții de perfecționare 1.8. Spațiul virtual al afacerilor 1.9. E –…

  • Puncte Deosebite In Triunghi

    Сеrϲul – рunϲtе rеmarϲabilе СUΡRIΝS IΝΤRODUСЕRЕ Univеrsuri sрiritualе atât dе îndерărtatе рrеϲum ϲеlе ϲrеștinе sau hindusе, daoistе sau islamiϲе au utilizat gеomеtria рrimară ϲa mijloϲ dе a traduϲе în sеmn noțiuni fundamеntalе alе sistеmеlor dе ϲrеdințе. Ρătratul, triunghiul și mai alеs ϲеrϲul au, în varii tradiții, valori sрiritualе dе рrim rang și surрrinzător dе asеmănătoarе….

  • Aplicatie Software Pentru Monitorizarea Sistemelor Linux

    APLICAȚIE SOFTWARE PENTRU MONITORIZAREA SISTEMELOR LINUX CUPRINS CAP 1. INTRODUCERE Context Tema proiectului CAP 2. TEHNOLOGII UTILIZATE Generalități Politici si Tehnici de securitate Virtualizarea Bash scripting PHP HTML CSS CAP 3. INSTALARE ȘI TESTARE Instalarea si configurarea mediului de lucru Securizarea serverului de monitorizare Instalare intr-o incinta cu o topologie de retea de tip stea…

  • Digitizarea Si Conservarea Digitala

    Încadrarea temei de cercetare în domeniul științific Introducere Tema de cercetare propusă se încadrează în domeniul științific al ingineriei industriale având ca scop reconstituirea artefactele istorice distruse sau incomplete cu ajutorul softurilor CAD, al tehnologiilor de scanare 3D și de prototipizare rapidă. Modelele 3D reprezentând artefactele restaurate vor fi valorificate cu ajutorul mediilor virtuale interactive,…

  • Gestiunea Unui Magazin Online de Piese Auto

    CUPRINS Introducere…………………………………………………………………………………………………………4 Introducere In ultimele doua decenii dezvoltarea fara precedent a tehnologiilor informationale determinate de necesitatea stocarii si a transmiterii rapide a informatiilor cu costuri cat mai mici, a revolutionat comertul global, redefinind principiile clasice ale marketingului. In prezent notiunea de comert electronic a devenit sinonim cu cresterea profitului. Potrivit Organizatiei Economice de Cooperare si…