Alexandra Vanea - Tehnologii Avansate de Securitate

Post on 03-Jul-2015

148 views 4 download

Transcript of Alexandra Vanea - Tehnologii Avansate de Securitate

TEHNOLOGII ALTERNATIVE DE SECURITATE FOLOSIND JAVA

Vanea Alexandra-GabrielaE-mail: adutza.vanea@yahoo.com

Îndrumător: Prof. Dr. Ing. Mircea Vaida

Facultatea de Electronică, Telecomunicaţii siTehnologia Informatiei

Cuprins1. Identificarea cerințelor2. Tehnologii alternative de securitate Tehnologii alternative Criptarea ADN3. Modelul ADN Structura ADN Alfabetul ADN Codul genetic Steganografia ADN4. Algoritmul propus ca soluție la tema lucrării de diplomă Proprietățile algoritmului Criptarea Decriptarea5. Implementarea unui Provider pentru JCE Criptografia în Java Implementarea Providerului CryptoDNA Comparație între algoritmi clasici și algoritmul de criptare

ADN propus6. Dezvoltări ulterioare7. Concluzii

Tehnologii alternative de securitate

folosind Java

JCA/JCE

Alegerea unui algoritm

Identificarea cerințelor

Cuprins1. Identificarea cerințelor2. Tehnologii alternative de securitate Tehnologii alternative Criptarea ADN3. Modelul ADN Structura ADN Alfabetul ADN Codul genetic Steganografia ADN4. Algoritmul propus ca soluție la tema lucrării de diplomă Proprietățile algoritmului Criptarea Decriptarea5. Implementarea unui Provider pentru JCE Criptografia în Java Implementarea Providerului CryptoDNA Comparație între algoritmi clasici și algoritmul de criptare

ADN propus6. Dezvoltări ulterioare7. Concluzii

Tehnologii alternative de securitate

Criptarea ADN

• 1950 - von Neumann - sistemele de auto-reproducere automata(în termeni de biologie moleculară)

•1999 – Viviana Risca, Dr. Carter Bancroft, Catherine Clelland – Steganografia ADN

•Prezent – Ashish Gehani, Thomas LaBean, John Reif - DNA-based Cryptography

Cuprins1. Identificarea cerințelor2. Tehnologii alternative de securitate Tehnologii alternative Criptarea ADN3. Modelul ADN Structura ADN Alfabetul ADN Codul genetic Steganografia ADN4. Algoritmul propus ca soluție la tema lucrării de diplomă Proprietățile algoritmului Criptarea Decriptarea5. Implementarea unui Provider pentru JCE Criptografia în Java Implementarea Providerului CryptoDNA Comparație între algoritmi clasici și algoritmul de criptare

ADN propus6. Dezvoltări ulterioare7. Concluzii

Structura ADN

• Acid nucleic dublu spiralat • Se află doar în nucleul

celulei• Polinucleotidă• Nucleotide:

▫ Adenină▫ Guanină▫ Citozină▫ Timină (ARN ->Uracil)

Alfabetul ADN

Adenină, Citozină, Guanină, Timină

{{AA,, C C,, G G,, T T}}

Codul geneticPrimul nucleotid

Al doilea nucleotid Ultimul nucleotid

U C A G

U Fenilanină Serină Tirozină Cisteină U

U Fenilanină Serină Tirozină Cisteină C

U Leucină Serină STOP STOP A

U Leucină Serină STOP Triptofan G

C Leucină Prolină Histidină Arginină U

C Leucină Prolină Histidină Arginină C

C Leucină Prolină Glicină Arginină A

C Leucină Prolină Glicină Arginină G

A Izoleucină Treonină Asparagină Serină U

A Izoleucină Treonină Asparagină Serină C

A Izoleucină Treonină Lizină Arginină A

A Metionină Treonină Lizină Arginină G

G Valină Alanină Acid Aspartic Acid glutamic U

G Valină Alanină Acid Aspartic Acid glutamic C

G Valină Alanină Glutamină Acid glutamic A

G Valină Alanină Glutamină Acid glutamic G

AMINOACID CODIFICAT

Steganografia ADN

Cuprins1. Identificarea cerințelor2. Tehnologii alternative de securitate Tehnologii alternative Criptarea ADN3. Modelul ADN Structura ADN Alfabetul ADN Codul genetic Steganografia ADN4. Algoritmul propus ca soluție la tema lucrării de diplomă Proprietățile algoritmului Criptarea Decriptarea5. Implementarea unui Provider pentru JCE Criptografia în Java Implementarea Providerului CryptoDNA Comparație între algoritmi clasici și algoritmul de criptare

ADN propus6. Dezvoltări ulterioare7. Concluzii

Proprietățile algoritmului implementat

• Algoritm simetric

• Prelucrează texte

• Substituție

• Cheie unică

A - CGA L - TGC W - CCG 3 - GAC

B - CCA M - TCC X - CTA 4 - GAG

C - GTT N - TCT Y - AAA 5 - AGA

D - TTG O - GGA Z - CTT 6 - TTA

E - GGC P - GTG _ - ATA 7 - ACA

F - GGT Q - AAC , - TCG 8 - AGG

G - TTT R - TCA . - GAT 9 - GCG

H - CGC S - ACG : - GCTspace - CCC

I - ATG T - TTC 0 - ACT

J - AGT U - CTG 1 - ACC

K - AAG V - CCT 2 - TAG

Criptarea

Text ADN

Text în clar

Text cifrat

A - CGA L - TGC W - CCG 3 - GACB - CCA M - TCC X - CTA 4 - GAG

C - GTT N - TCT Y - AAA 5 - AGAD - TTG O - GGA Z - CTT 6 - TTAE - GGC P - GTG _ - ATA 7 - ACAF - GGT Q - AAC , - TCG 8 - AGGG - TTT R - TCA . - GAT 9 - GCG

H - CGC S - ACG : - GCTspace - CCC

I - ATG T - TTC 0 - ACTJ - AGT U - CTG 1 - ACCK - AAG V - CCT 2 - TAG

XOR

SUBSTITUȚIE

Decriptarea

Text ADN

Text cifrat

Text în clar

A - CGA L - TGC W - CCG 3 - GACB - CCA M - TCC X - CTA 4 - GAG

C - GTT N - TCT Y - AAA 5 - AGAD - TTG O - GGA Z - CTT 6 - TTAE - GGC P - GTG _ - ATA 7 - ACAF - GGT Q - AAC , - TCG 8 - AGG

G - TTT R - TCA . - GAT 9 - GCG

H - CGC S - ACG : - GCTspace - CCC

I - ATG T - TTC 0 - ACTJ - AGT U - CTG 1 - ACCK - AAG V - CCT 2 - TAG

XOR

SUBSTITUȚIE

INVERSĂ

Cuprins1. Identificarea cerințelor2. Tehnologii alternative de securitate Tehnologii alternative Criptarea ADN3. Modelul ADN Structura ADN Alfabetul ADN Codul genetic Steganografia ADN4. Algoritmul propus ca soluție la tema lucrării de diplomă Proprietățile algoritmului Criptarea Decriptarea5. Implementarea unui Provider pentru JCE Criptografia în Java Implementarea Providerului CryptoDNA Comparație între algoritmi clasici și algoritmul de criptare

ADN propus6. Dezvoltări ulterioare7. Concluzii

Criptografia în JavaSecurity API <-> java.security packageJCA – framework -> accesare și dezvoltare de funcționalități

criptografice pentru platforma JavaJCE – extinde JCA, incluzând API-uri pentru criptări, schimbi

de chei și MAC(Message Authentication Code)

Implementarea Providerului CryptoDNA

public class Provider extends java.security.Provider { public Provider() { super ("CryptoDNA", 1.1, "DNA Cryptography Provider"); put("KeyGenerator.DNA“,"dnaPack2.DNAKeyGenerator"); put("Cipher.DNA", "dnaPack2.DNACipher"); }}

Comparație între algoritmi clasici și algoritmul de criptare ADN propusS-au efectuat teste:

• Intel Pentium 4 CPU, 3.00 GHz, RAM: 1,5GB, OS: Ubuntu 9.04• Lungime text: 435.840 caractere, 77.100 cuvinte• Algoritmi: DES (Data Encryption Standard)- Cheie: 64 biți (56

biți utili, 8 biți paritate), bloc: 64 biți TripleDES: 3xDES, Cheie: 3x56=168 biți Blowfish: Cheie: 32-448 biți, bloc: 64 biți AES (Advanced Encryption Standard) – Cheie: 128,

192, 256 biți, bloc: 128 biți DNA - Cheie: variabila, implicit 48 caractere*8=384

biți

Comparație între algoritmi clasici și algoritmul de criptare ADN

propus

Cuprins1. Identificarea cerințelor2. Tehnologii alternative de securitate Tehnologii alternative Criptarea ADN3. Modelul ADN Structura ADN Alfabetul ADN Codul genetic Steganografia ADN4. Algoritmul propus ca soluție la tema lucrării de diplomă Proprietățile algoritmului Criptarea Decriptarea5. Implementarea unui Provider pentru JCE Criptografia în Java Implementarea Providerului CryptoDNA Comparație între algoritmi clasici și algoritmul de criptare

ADN propus6. Dezvoltări ulterioare7. Concluzii

Dezvoltări ulterioare

• Obținerea unui certificat de la SUN• Folosirea algoritmului în aplicații de

transfer de informații medicale• Folosirea algoritmului împreună cu un

algoritm de criptare ADN asimetric în scopul dezvoltării unui protocol de criptare hibrid

Concluzii

•Algoritm simetric de criptare ADNAlfabet ADNCifru de substituțieCheie unică – One-Time PadDezvoltat în OpenJDK Integrat în JCA/JCE•Comparație din punctul de vedere al timpului necesar criptării/decriptării între algoritmul propus și algoritmi simetrici clasici

Concluzii•Aplicație demonstrativă

• Am concluzionat că este un algoritm sigur (OTP ) dar că necesită un timp mai îndelungat pentru criptare și decriptare

Algoritmi clasici

Algoritm ADN propus

Duratecriptare/

decriptare