Tải bản đầy đủ (.ppt) (50 trang)

Kỹ thuật mã hóa dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (929.05 KB, 50 trang )

© 2011, Vietnam-Korea Friendship IT College
KỸ THUẬT MÃ HÓA
KỸ THUẬT MÃ HÓA
Encryption
© 2011, Vietnam-Korea F
riendship IT College
Mã hóa

Căn bản về mã hóa

Khái niệm

Phân loại

PKI

Tiêu chuẩn và các giao thức về mã hóa
© 2011, Vietnam-Korea F
riendship IT College
Khái niệm về mã hóa

Mã hóa nhằm đảm bảo các yêu cầu sau:

Tính bí mật
Tính bí mật (confidentiality): dữ liệu không bị xem
bởi “bên thứ 3”

Tính toàn vẹn
Tính toàn vẹn (Integrity): dữ liệu không bị thay
đổi trong quá trình truyền


Tính không khước từ
Tính không khước từ (Non-repudiation): là cơ chế
người thực hiện hành động không thể chối bỏ
những gì mình đã làm, có thể kiểm chứng được
nguồn gốc hoặc người đưa tin
© 2011, Vietnam-Korea F
riendship IT College
Khái niệm về mã hóa
Security
Mã hóa là một quá trình xáo trộn (scramble) nội dung của một file hoặc một bản
tin sao cho chỉ có đối tượng sở hữu khóa giải mã mới có thể đọc được nội dung đã
được mã hóa
© 2011, Vietnam-Korea F
riendship IT College

Stream Cipher
Khái niệm về mã hóa
Let
us
talk
one
to
one
a->1
b->2
c->3
d->4
e ->5
f ->6
g ->a

h ->b
.
.
y->s
z->t
F5n
om
n1fe
ih5
ni
ih5
1->a
2->b
3->c
4->d
5 ->d
6 ->f
a ->g
b ->h
.
.
s->y
t->z
Let
us
talk
one
to
one
Stream cipher

Ví dụ: mã RC4
© 2011, Vietnam-Korea F
riendship IT College

Block Cipher
Khái niệm về mã hóa
Ví dụ: mã DES, SHA-1
© 2011, Vietnam-Korea F
riendship IT College
Các giải thuật mã hóa

Giải thuật băm (mã hóa 1 chiều: one-way encrypt)
compare
Một số giải thuật băm:
MD5: tạo ra 128-bit checksum
SHA: tạo ra 160-bit checksum
© 2011, Vietnam-Korea F
riendship IT College
Các giải thuật mã hóa

Giải thuật băm (hash)

Nhằm đảm bảo tính toàn vẹn của thông tin

Dữ liệu sau khi xử lý qua giải thuật băm gọi là giá trị băm
(hash value)

Giá trị băm có đội dài không đổi, không phụ thuộc vào độ
dài dữ liệu và được gửi đi cùng dữ liệu.


Giá trị băm này sẽ được so sánh với giá trị băm gửi kèm
để xác định dữ liệu có bị thay đổi trên đường truyền hay
không?

Một số giải thuật băm

MD5 (Message Digest 5): giá trị băm 128 bit (32 hex)

SHA-1 (Secure Hash Algorithm): giá trị băm 160 bit
© 2011, Vietnam-Korea F
riendship IT College
Message digest #5 (MD5)

Thuật toán biến đổi 1 chuổi string thành 1 tín
hiệu “message digest” hay còn gọi là “MD5
hashes” (128 bits – 32 ký tự hexa)

Bất cứ string nào cũng điều có duy nhất một
hash, không bao giờ có 2 hashes cho 1 string

Từ 1 hash không thể tìm ngược lại string của nó

Ý nghĩa: “vân tay của thông điệp”

Checksum

Password

Ví dụ:
Plaintext:

viethan
viethan
MD5: 6A6FAB2F8227790C0776019B9DF67C1F
© 2011, Vietnam-Korea F
riendship IT College
Message digest #5 (MD5)

Thuật toán

Gắn thêm độ dài của dữ liệu vào sao cho + 64 bit
chia hết cho 512

Chia dữ liệu thành 16 từ mã 32-bit (512-bit)

Khởi tạo bộ đệm MD

Xử lý bản tin theo khối 16 từ mã

Xuất mã MD5

Có thể bẻ khóa bằng tấn công Brute Force
© 2011, Vietnam-Korea F
riendship IT College
Secure Hash Algorithm-1 (SHA-1)

SHA-1 tương tự như MD5 nhưng độ dài của giá trị băm
là 160 bit  có độ bảo mật cao hơn MD5, khó bị bẻ
khóa bởi Brute Force

Dữ liệu vào được nhóm thành khối 16 từ mã 32-bit dạng

Hex (khối 512-bit)  dữ liệu ra 160 bit

Dữ liệu khối 512-bit được đưa vào xử lý tuần tự B
1,
, B
2,
B
3,


B
n

Việc tính toán được thực hiện trên 80 từ mã W
0
, W
1
, …,
W
79
được đưa vào 2 bộ đệm có kích thước 5 từ mã

Bộ đệm 1: A, B, C, D, E

Bộ đệm 2: H
0
, H
1
, H
2

, H
3
, H
4
© 2011, Vietnam-Korea F
riendship IT College
Secure Hash Algorithm-1 (SHA-1)

Từ mã W
16
– W
79
được tính như sau:

Quá trình tính toán xuất ra từ mã SHA – 160 bit:
H
0
H
1
H
2
H
3
H
4

Ví dụ
Plaintext:
viethan
viethan

SHA-1: 61223A9F54B6AA8D15F93D1E04E8ADC225F2E9DC
© 2011, Vietnam-Korea F
riendship IT College
Secure Hash Algorithm-2 (SHA-2)

Các phiên bản của SHA-1

Độ dài của giá trị băm: 256, 348 và 512

SHA-2 256

SHA-2 348

SHA-2 512
© 2011, Vietnam-Korea F
riendship IT College
Các giải thuật mã hóa

Giải thuật mã hóa đồng
bộ/đối xứng (Symmetric)

Sử dụng cùng một khóa
để mã hóa và giải mã

Sơ đồ mã hóa là một
song ánh
E = K x M → C
E
k
: M → C, m → E(k,m)

sciphertext C
function decryption :
function encryption
keys
plaintexts
1−
=


kk
k
ED
E
Kk
Mm
© 2011, Vietnam-Korea F
riendship IT College
Các giải thuật mã hóa

Giải thuật mã hóa đồng bộ/đối xứng (Symmetric)

Đặc điểm:

Tốc độ mã hóa nhanh, phù hợp với dữ liệu dung lượng lớn

Quá trình trao đổi khóa không an toàn

Các loại

DES (Data Encryption Standard): 56 bit key / 64 bit plaintext


3DES (Triple DES): 168 bit key

AES (Advanced Encryption Standard): 128, 192, 256 bit key

Vernam’s One-time pad: khóa thay đổi “giả ngẫu nhiên”

Có thể bẻ khóa bằng tấn công vét cạn (Brute Force)
© 2011, Vietnam-Korea F
riendship IT College
Data Encryption Standard (DES)

Sơ đồ mã hóa

Nếu khóa k được chọn, ta có

Quá trình mã hóa gồm 16 bước (round), mỗi bước sử
dụng 1 key 48-bit (round key), bản tin được chia thành 2
khối 32-bit
© 2011, Vietnam-Korea F
riendship IT College
Data Encryption Standard (DES)

Cứ sau mỗi round, khối 32-bit được hoán vị cho đến
round cuối cùng thì xuất mã DES

Đặc điểm

Tốc độ mã hóa nhanh, được sử dụng rộng rãi


Khóa có thể bị dò tìm bằng cách thử tất cả các tổ hợp có
thể có của khóa
nicmkDES
k
ii
, ,1,),(
)1,0(
56
==

© 2011, Vietnam-Korea F
riendship IT College
Triple DES (3-DES)

Là một phiên bản của DES

Sử dụng 2-3 khóa thay vì 1 khóa đối với DES và mã hóa
liên tục 3 lần
© 2011, Vietnam-Korea F
riendship IT College
Advanced Encryption Standard
(AES)

Xử lý khối dữ liệu 128-bit

Sử dụng 03 loại khóa 128, 192, 256-bit

AES-128

AES-192


AES-256

Đối với AES-128, mã hóa được thực hiện qua
10 round sử dụng thuật toán Rijdael xuất mã
AES 128 bit
© 2011, Vietnam-Korea F
riendship IT College
Các giải thuật mã hóa

Giải thuật mã hóa không đồng bộ/không đối xứng
(Asymmetric)

Khóa dùng để mã hóa và giải mã là khác nhau

Có 2 loại khóa

Khóa bí mật (Private key): giữ riêng

Khóa công khai (Public key): đưa ra công cộng
© 2011, Vietnam-Korea F
riendship IT College
Các giải thuật mã hóa

Giải thuật mã hóa không đồng bộ/không đối
xứng (tt)

Các giải thuật

RSA (Ron Rivest, Adi Shamir, and Leonard

Adleman)

DSA (Digital Signature Standard)

Diffie-Hellman (W.Diffie and Dr.M.E.Hellman)

Ý nghĩa thực tiễn

Mã hóa

Chữ ký điện tử
© 2011, Vietnam-Korea F
riendship IT College
RSA

Tạo khóa (Public/Private) RSA theo thuật toán
sau:

Chọn 2 số nguyên tố (bí mật) p và q

Tính tích n = p*q

Tính giá trị E = (p-1)*(q-1)

Chọn khóa chung (public) k
p

(số nguyên tố)

Tính khóa riêng k

r
sao cho: E mod (k
p
*k
r
) =1

Mã hóa bản tin C = m
kr
mod n

Giải mã tín hiệu nhận được = m
kp
mod n
© 2011, Vietnam-Korea F
riendship IT College
Công cụ

PGP Desktop

TrueCrypt

GPG
© 2011, Vietnam-Korea F
riendship IT College
Thực hành

Mã hóa file dữ liệu bằng PGP

Tìm kiếm trên Internet ứng dụng sau và cài vào

máy:

PGP Desktop
PGP Desktop

Mã hóa một file dữ liệu (kích thước nhỏ ~ vài
trăm KB)

Gửi kết quả đến:
© 2011, Vietnam-Korea F
riendship IT College


Mã hóa nội dung email

1-Cài đặt
ThunderBird
ThunderBird

2-Cài đặt
Enigmail
Enigmail (add-on) tải về tại


3-Tạo khóa (RSA hoặc DES)

4-Gửi một email với nội dung đã được mã hóa

5-Xuất key và gửi đến người nhận


6-Giải mã nội dung email

×