Integritatea informației este un termen în informatică ( criptografie , teoria telecomunicațiilor, teoria securității informațiilor ), adică datele nu au fost modificate la efectuarea vreunei operațiuni asupra acestora, fie că este vorba de transmitere, stocare sau afișare.
În telecomunicații, integritatea datelor este adesea verificată folosind suma hash a mesajelor calculată de algoritmul MAC ( codul de autentificare a mesajelor ) .
În criptografie și securitatea informațiilor , integritatea datelor (în sens larg) este o stare a informațiilor în care nu există nicio modificare a acesteia, sau modificarea este efectuată doar intenționat de subiecții care au dreptul la aceasta [1] . Exemple de încălcări ale integrității datelor:
În teoria bazelor de date, integritatea datelor înseamnă corectitudinea datelor și consistența acestora. De obicei, include și integritatea relației, care elimină erorile de relație dintre cheile primare și secundare.
Exemple de încălcări ale integrității datelor:
Pentru a verifica integritatea datelor în criptografie , sunt utilizate funcții hash , de exemplu, MD5 . Funcția hash convertește o secvență de octeți de dimensiune arbitrară într-o secvență de octeți de dimensiune (număr) fixă. Dacă datele se modifică, atunci se va modifica și numărul generat de funcția hash .
Integritatea datelor este o proprietate în care datele păstrează o formă și o calitate predeterminate.
Documentul R 50.1.053-2005 [2] dă următoarea definiție.
Integritatea informatiei (resursele unui sistem informatic automatizat) este starea informatiei (resursele unui sistem informatic automatizat), in care modificarea acesteia (lor) este efectuata doar intentionat de catre subiectii indreptatiti la aceasta.
În documentul Р 50.1.056-2005 [3] , definițiile sunt specificate și separate prin obiecte de aplicație.
Integritatea informației este starea informației în care nu există nicio modificare a acesteia, sau modificarea este efectuată doar intenționat de către subiecții care au dreptul la ea.
Integritatea resurselor sistemului informațional este starea resurselor sistemului informațional, în care modificarea acestora este efectuată doar intenționat de către subiecții îndreptățiți la aceasta, în timp ce compoziția, conținutul și organizarea interacțiunii acestora sunt păstrate.
Unele standarde specializate folosesc propriile definiții ale acestui concept.
Integritatea [ 4 ] este proprietatea de a menţine corectitudinea şi caracterul complet al activelor .
Integritatea informațiilor [5] — asigurarea fiabilității și integralității informațiilor și a metodelor de prelucrare a acestora.
Integritatea documentului [6] este o proprietate a unui document, ceea ce înseamnă că, în orice demonstrație a unui document, valorile specificate ale parametrilor prezentării afișate a documentului îndeplinesc cerințele specificate.
Termenul este folosit în următoarele domenii de cunoaștere: securitatea informațiilor , securitatea computerelor , securitatea informațiilor , protecția rețelelor de calculatoare și a sistemelor informatice , tehnologia informației , sistemele informaționale corporative .
Conceptul de „ integritate a obiectelor ” ( în engleză integritate ) este folosit în teoria securității informațiilor (IS). Un obiect este înțeles ca informații, date specializate sau resurse ale unui sistem automatizat. Integritatea informațiilor (ca resursă a unui sistem automatizat) este una dintre cele trei proprietăți principale ale unui obiect IS.
Proprietățile obiectului IB:
Uneori se adaugă această listă:
Metodele și mijloacele de implementare a cerințelor prevăzute în definițiile termenului sunt descrise în detaliu în cadrul unei scheme unificate de asigurare a securității informațiilor unui obiect ( protecția informațiilor ).
Principalele metode de asigurare a integrității informațiilor (datelor) atunci când sunt stocate în sisteme automate sunt:
Una dintre metodele eficiente de implementare a cerințelor de integritate a informațiilor în timpul transmiterii acesteia prin linii de comunicație este protecția criptografică a informațiilor ( criptare , hashing , semnătură digitală electronică ).
Cu o abordare integrată a protecției afacerii, direcția de asigurare a integrității și disponibilității informațiilor (resursele proceselor de afaceri) se dezvoltă într-un plan de acțiune care vizează asigurarea continuității afacerii [7] .
Criptarea datelor nu garantează că integritatea datelor nu va fi compromisă. Prin urmare , sunt utilizate metode suplimentare pentru a verifica integritatea datelor în criptografie .
Încălcările integrității datelor înseamnă următoarele:
În criptografie , soluția problemei integrității informațiilor implică utilizarea unor măsuri care să permită detectarea nu atât de multă distorsiuni aleatoare ale informațiilor, deoarece metodele de codificare a teoriei cu detectarea și corectarea erorilor sunt destul de potrivite în acest scop , dar un scop intenționat. schimbarea informațiilor de către un criptoanalist activ.
Procesul de control al integrității este asigurat prin introducerea redundanței în informațiile transmise. Acest lucru se realizează prin adăugarea unor parități de octeți la mesaj. Această combinație de octeți este calculată în funcție de anumiți algoritmi și vă permite să verificați dacă datele au fost modificate de o terță parte. Probabilitatea ca datele să fi fost modificate este o măsură a puterii de imitare a cifrului.
Informațiile suplimentare redundante introduse în mesaj se numesc inserție de imitație . Imitația poate fi calculată înainte sau în timpul criptării mesajului.
Numărul de cifre binare (numărul de biți) din insertul de imitație este determinat în general de cerințele criptografice, ținând cont de faptul că probabilitatea de a impune date false este , unde este numărul de cifre binare (numărul de biți) din imitație introduce. 1/2pp
Imitația este un număr calculat pe baza conținutului mesajului. Adică, inserarea imitației este o funcție de mesaj:
Unde:
Imitația poate fi folosită atât pentru a autentifica un mesaj, cât și pentru a verifica integritatea acestuia. În funcție de scopul simulării de inserare, algoritmii pentru funcționarea funcțiilor f(codurilor) sunt împărțiți în două clase:
Funcțiile hash pentru calcularea unui cod de verificare a integrității mesajului aparțin unei subclase de funcții hash fără cheie . În criptosistemele din viața reală, aceste funcții hash sunt criptografice , adică, în plus față de proprietățile minime ale funcțiilor hash (comprimarea datelor, ușurința de a calcula un rezumat dintr -un mesaj) satisfac următoarele proprietăți:
În funcție de care dintre aceste proprietăți le satisfac funcțiile hash MDC , se pot distinge două subclase:
Există trei tipuri principale de algoritmi hash MDC , în funcție de modul în care sunt construiți:
Funcțiile hash MAC pentru calcularea codurilor de autentificare a mesajelor , o subfamilie de funcții hash cheie, includ o familie de funcții care satisfac următoarele proprietăți :
Dacă ultima proprietate nu este îndeplinită, atunci MAC-ul poate fi falsificat. De asemenea, ultima proprietate implică faptul că cheia nu poate fi calculată, adică având una sau mai multe perechi ( x[i], h(x[i])) cu cheia k, este imposibil din punct de vedere computațional să se obțină această cheie.
Algoritmii pentru obținerea codului de autentificare a mesajelor pot fi împărțiți în următoarele grupe în funcție de tipul lor:
Există metode pentru obținerea codurilor de autentificare a mesajelor de la MDC prin includerea cheii secrete în intrarea algoritmului MDC. Dezavantajul acestei abordări este că, în practică, majoritatea algoritmilor MDC sunt proiectați să fie fie OWHF , fie CRHF , care au cerințe diferite față de algoritmii MAC.
De fapt, în termeni generali, procesul de transfer al datelor și verificarea integrității acestora este următorul: utilizatorul A adaugă un rezumat la mesajul său . Această pereche va fi transmisă celei de-a doua părți B. Acolo, se selectează un mesaj, se calculează un rezumat pentru acesta și se compară rezumatele. Dacă valorile se potrivesc, mesajul va fi considerat valid. O nepotrivire va indica faptul că datele au fost modificate.
Din mesajul original, MDC este calculat , = h ( x ). Acest rezumat este atașat la mesajul C =( x || h ( x )). Apoi mesajul extins în acest fel este criptat de un criptoalgoritm E cu o cheie comună k . După criptare, mesajul primit C criptat este transmis celui de-al doilea, care, folosind cheia, extrage datele x' din mesajul criptat și calculează valoarea digest ' pentru acesta. Dacă se potrivește cu valoarea primită , atunci integritatea mesajului este considerată a fi păstrată. Scopul acestei criptări este de a proteja MDC-ul adăugat, astfel încât o terță parte să nu poată modifica mesajul fără a încălca corespondența dintre textul decriptat și codul de verificare a integrității datelor recuperate. Dacă în transmiterea datelor confidențialitatea nu este esențială, cu excepția asigurării integrității datelor, atunci sunt posibile scheme în care doar mesajul x sau MDC va fi criptat.
Față de cazul precedent, următorul mesaj este transmis către canal: E k ( x || h k1 ( x )). Această schemă de integritate are un avantaj față de schema anterioară MDC : dacă cifrul este rupt, MAC va impune în continuare integritatea datelor. Dezavantajul este că sunt folosite două chei diferite, pentru algoritmul cripto și pentru MAC. Când utilizați o astfel de schemă, ar trebui să vă asigurați că orice dependență dintre algoritmul MAC și algoritmul de criptare nu va duce la o vulnerabilitate a sistemului. Se recomandă ca acești doi algoritmi să fie independenți (de exemplu, un astfel de defect al sistemului poate apărea atunci când CBC-MAC este utilizat ca algoritm MAC și CBC este folosit ca schemă de criptare).
În general, criptarea întregului mesaj atunci când se utilizează coduri de autentificare a mesajelor nu este necesară din punct de vedere al integrității datelor, așa că în cele mai simple cazuri, schema poate să nu cripteze mesajul ( x || h k ( x )).
Din punctul de vedere al criptografiei , interesul principal este problema asigurării integrității datelor în care acestea sunt modificate în mod deliberat. Cu toate acestea, se aplică și metode pentru a se asigura că modificările aleatoare sunt verificate. Astfel de metode includ utilizarea codurilor de detectare și corectare a erorilor , de exemplu, coduri Hamming , CRC , BCH și altele.
Problema verificării integrității datelor este strâns legată de problema verificării autenticității acestora (adică problema determinării sursei datelor). Aceste probleme nu pot fi considerate izolat. Datele care au fost modificate au de fapt o nouă sursă. Dacă noua sursă este necunoscută (nu există nicio legătură către sursă), problema modificării datelor nu poate fi rezolvată. Astfel, mecanismele de verificare a integrității datelor le asigură autenticitatea și invers.