260 likes | 345 Vues
Learn about key cryptographic algorithms such as DES, 3DES, IDEA, AES, and other secure algorithms like RSA and ECC, along with key establishment and distribution methods. Understand the importance of secure hash functions and their role in data security.
E N D
Security Definition • Unconditional Security • The system cannot be defeated, no matter how much power is available by the adversary. • Computational security • The perceived level of computation required to defeat the system using the best known attack exceeds, by a comfortable margin, the computational resources of the hypothesized adversary. • e.g., given limited computing resources, it takes the age of universe to break cipher.
Security Definition • Provable security • The difficulty of defeating the system can be shown to be essentially as difficult as solving a well-known and supposedly difficult problem (e.g., integer factorization) • Ad hoc security • Claims of security generally remain questionable • Unforeseen attacks remain a threat
Secret Key Cryptographic Algorithms • DES (Data Encryption Standard) • 3DES (Triple DES) • IDEA (International Data Encryption Algorithm) • AES (Advanced Encryption Standard)
DES (Data Encryption Standard) • Authors: NSA & IBM, 1977 • Data block size: 64-bit (64-bit input, 64-bit output) • Key size: 56-bit key • Encryption is fast • DES chips • DES software: a 500-MIP CPU can encrypt at about 30K octets per second • Security • No longer considered secure: 56 bit keys are vulnerable to exhaustive search
DES operation Symmetric key crypto: DES initial permutation 16 identical “rounds” of function application, each using different 48 bits of key final permutation
Triple-DES (3DES) • C = DESk3(DESk2(DESk1(P))). • Data block size: 64-bit • Key size: 168-bit key; effective key size: 112 (due to man-in-the-middle attack) • Encryption is slower than DES • Securer than DES
IDEA (International Data Encryption Algorithm) • Authors: Lai & Massey, 1991 • Data block size: 64-bit • Key size: 128-bit • Encryption is slower than DES • Security • Nobody has yet published results on how to break it • Having patent protection
AES (Advanced Encryption Standard) • Authors: Daemen & Rijmen • Block size:128-bit • Key size: 128-bit, 192-bit, 256-bit • Encryption is fast • Security • As of 2005, no successful attacks are recognized. • NSA stated it secure enough for non-classified data.
Other SKC Algorithms • RC2 • Block size: 64 bits; key size: variable • Vulnerable to a chosen plaintext attack • RC4 • Stream cipher • Key size: variable (typically 40-256 bits) • No longer considered secure: the key stream generated by RC4 is slightly biased in favor of certain sequences of bytes. • RC5 • Block size: variable (32, 64, 128 bits); key size: variable (0-2040bits) • Not secure when key size <= 64 bits • RC6 • Derived from RC5 • Block size: variable; key size: variable
Some Hash functions • Message digest (MD) algorithms • MD2, MD4, MD5, MD6; Author: Ron Rivest • 128-bit hash value • Some collisions are found. • Secure hash algorithm (SHA) family • SHA-0, SHA-1 • 160-bit hash value • Reported “being broken”: collisions can be found with a complexity lower than the brute-force search • SHA-2 • SHA-224, SHA-256, SHA-384, SHA-512.
PKC Algorithm: RSA • Its security is based on the difficulty of factoring • Choose two large prime numbers, p and q. • Compute n=p*q and z=(p-1)*(q-1). • Find d and e (both less than n), such that e has no common factors with z, and e*d-1 is divisible by z. • Encryption: c=me mod n; decryption: m=cd mod n. • The best known algorithm for solving the problem is sub-exponential (less than exponential), but super-polynomial (more than any fixed degree polynomial) • Key size should be large (e.g., 1024 bits) • Encryption/decryption involves exponentiation operations on large numbers.
PKC Algorithm: ECC (Elliptic Curve Cryptography) • Its security is based on the difficulty of solving the discrete logarithm problem for the group of an elliptic curve over some finite field. • Encryption/decryption operations are slower for an ECC system than for a factorization system or modulo integer discrete log system of the same size. • Why ECC outperform RSA? • Till now, the mathematicians do not (yet?) have sub-exponential algorithms for breaking the ECC system. • Key size can be smaller (e.g., 160 bits) than RSA (1024 bits).
Key Establishment • DH (Diffie-Hellmen) Scheme Alice Bob Pick y Pick x n, g, gx mod n gy mod n Compute: (gxmod n)y =gxy mod n Compute: (gymod n)x =gxy mod n
Key Establishment • DH (Diffie-Hellmen) Scheme: Man-in-the-middle attack gxu mod n gvy mod n Alice Bob Pick y Pick x n, g, gx mod n n, g, gv mod n gy mod n gu mod n Judy gvy mod n gxu mod n
KB-KDC KX-KDC KY-KDC KZ-KDC KP-KDC KB-KDC KA-KDC KA-KDC KP-KDC Key Distribution Center (KDC) • Alice, Bob need shared symmetric key. • KDC: server shares different secret key with each registered user (many users) • Alice, Bob know own symmetric keys, KA-KDC KB-KDC , for communicating with KDC. KDC
Key Distribution Center (KDC) Q: How does KDC allow Bob, Alice to determine shared symmetric secret key to communicate with each other? KDC generates R1 KA-KDC(A,B) KA-KDC(R1, KB-KDC(A,R1) ) Alice knows R1 Bob knows to use R1 to communicate with Alice KB-KDC(A,R1) Alice and Bob communicate: using R1 as session key for shared symmetric encryption
+ + digital signature (encrypt) K K B B K CA Certification Authorities • Certification authority (CA): binds public key to particular entity, E. • E (person, router) registers its public key with CA. • E provides “proof of identity” to CA. • CA creates certificate binding E to its public key. • certificate containing E’s public key digitally signed by CA – CA says “this is E’s public key” Bob’s public key CA private key certificate for Bob’s public key, signed by CA - Bob’s identifying information
+ + digital signature (decrypt) K K B B K CA Certification Authorities • When Alice wants Bob’s public key: • gets Bob’s certificate (Bob or elsewhere). • apply CA’s public key to Bob’s certificate, get Bob’s public key Bob’s public key CA public key +
A certificate contains • Serial number (unique to issuer) • info about certificate owner, including algorithm and key value itself (not shown) • info about certificate issuer • valid dates • digital signature by issuer
Group Key management: A naïve approach • Distribution • Open a secure channel with each of the members. • Send the group key • Complexity order = N [O(N)] • Rekeying when membership changes • Send the new group key, separately to each of the remaining members. • complexity O(N)
Group key Group Controller Logical entities N number of members d tree degree ln ( N ) depth + 1 ln ( d ) members Tree-Based Algorithms • 2 types of keys • SEKs (Session Encryption Key) • KEKs (Key Encryption Key) • A Group Controller constructs a tree based hierarchy of KEKs
Logical Key Hierarchy (LKH) • Updates the group key and the key encryption key by means of the ciphering of key-nodes in a hierarchical tree where members are located at the leaves. • Achieve rekeying with only O(logN) messages instead of O(N) showed by trivial approach. • Different ciphering algorithms can be used (DESede, AES…)
K0 GKCs N secure channels K11 K12 K21 K22 K23 K24 K31 K32 K33 K34 K35 K36 K37 K38 M1 M2 M3 M4 M5 M6 M7 M8 Logical Key Hierarchy (LKH) • Initialization
K0 K’0 K34 { K0’} K34 { K11’} K34 { K22’} K21 { K0’} K21 { K11’} GKCs K12 { K0’} K11 K’11 K12 K21 K22 K’22 K23 K24 K31 K32 K34 K35 K36 K37 K38 M1 M2 M3 M4 M5 M6 M7 M8 Logical Key Hierarchy (LKH) • Leaving Member Rekeying Messages ln ( N ) ln ( d )
Rekeying messages ln ( N ) ln ( d ) K0 K’0 K31 { K21’} K31 { K11’} K31 { K0’} K21 { K21’} K11 { K11’} K0{ K0’} GKCs K11 K’11 K12 K21 K’21 K22 K23 K24 K31 K32 K33 K34 K35 K36 K37 K38 M1 M2 M3 M4 M5 M6 M7 M8 Logical Key Hierarchy (LKH) • Joining Member