Upload
cristina-david
View
148
Download
4
Embed Size (px)
Citation preview
TEHNOLOGII ALTERNATIVE DE SECURITATE FOLOSIND JAVA
Vanea Alexandra-GabrielaE-mail: [email protected]
Î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