Trình bày: Ths. Lương Trần Hy Hiến http://hienlth.info/hutech/baomatthongtin
1. Xác thực thông điệp
2. Hàm băm
2
Khi truyền tin trong mạng, quan tâm các hành động: Để lộ bí mật: giữ bí mật nội dung mẩu tin, chỉ cho người
có quyền biết.
Thám mã đường truyền: không cho theo dõi hoặc làm
trì hoãn việc truyền tin.
Giả mạo: lấy danh nghĩa người khác để gửi tin. Sửa đổi nội dung: thay đổi, cắt xén, thêm bớt thông tin. Thay đổi trình tự các gói tin nhỏ của mẩu tin truyền. Sửa đổi thời gian: làm trì hoãn mẩu tin. Từ chối gốc: không cho phép người gửi từ chối trách
nhiệm của tác giả mẩu tin.
Từ chối đích: không cho phép người nhận phủ định sự
tồn tại và đến đích của mẩu tin đã gửi.
3
Bảo vệ tính toàn vẹn của mẩu tin
Kiểm chứng danh tính và nguồn gốc
Không chối từ bản gốc
Các lựa chọn:
Mã mẩu tin bằng mã đối xứng hoặc mã công khai.
Mã xác thực mẩu tin (MAC)
Hàm hash (hàm băm)
4
Mã xác thực mẫu tin (MAC – Message
Authentication Code) sinh ra bởi một thuật toán
mà tạo ra một khối thông tin nhỏ có kích thước
cố định.
5
MÔ HÌNH ÁP DỤNG
6
Hàm băm là gì? Các cách sử dụng hàm băm để xác thực Tính một chiều, vấn đề đụng độ của hàm băm Hàm băm đơn giản Nghịch lý sinh nhật, tấn công sinh nhật Họ hàm băm SHA
Hàm băm nhận input là một chuỗi chiều dài không cố
Output thường được gọi là: hash code, hash value,
định, và output một chuỗi chiều dài cố định.
Hàm băm SHA-512 nhận input chiều dài <= 2128 bit và output MD (message digest) chiều dài 512 bit. SHA = secure hash algorithm.
hoặc là message digest.
Message:
SHA1 hash code:
"A hungry brown fox jumped over a lazy dog"
Message:
a8e7038cf5042232ce4a2f582640f2aa5caf12d2
SHA1 hash code:
"A hungry brown fox jumped over a lazy dog"
d617ba80a8bc883c1c3870af12a516c4a30f8fda Chỉ một khác biệt nhỏ trong chuỗi input hash code khác nhau hoàn toàn khó bị tấn công
Cách 1
Cách 1
Cách 1
Cách 2
Cách 2
Cách 2
3 versions:
Message Digest 2 (MD2) – 1989.
▪ Run on Intel-based computers that processed 16 bits at a time. ▪ MD2 is considered too slow today and is rarely used.
Message Digest 4 (MD4) – 1990 ▪ for computers that processed 32 bits ▪ Like MD2, MD4 takes plaintext and creates a hash of 128 bits. ▪ is padded to a length of 512 bits
Message Digest 5 (MD5), a revision of MD4, 1991 ▪ by Ron Rivest and designed to address MD4’s weaknesses
more secure hash than MD. SHA-1:
is patterned after MD4, but creates a hash that is 160 bits in length instead of 128 bits.
more resistant to attacks (longer hash)
SHA pads messages of less than 512 bits with zeros and an integer that describes the original length of the message
SHA-2:
4 versions: SHA-224, SHA-256, SHA-384, and SHA-512. 224, 256, 384, 512 - the length in bits of the digest.
Không khả thi để tìm được thông điệp tương ứng với 1 hash code. Đây là tính một chiều (one-way function).
Không khả thi để tìm được hai thông điệp cho ra chung một hash code. Chống đụng độ (strong collision resistance).
Một hàm hash mà tính đụng độ không tốt dễ
bị tấn công sinh nhật.
Giả sử trong phòng có 30 người. Vậy xác suất
để có hai người có cùng ngày sinh là bao nhiêu phần trăm?
Lý thuyết xác suất thống kê đã chỉ ra rằng với 23 người ngẫu nhiên thì xác suất có ít nhất hai người có trùng ngày sinh là 50%. Chứng minh: giáo trình trang 74, 75.
19
Gọi xác suất cần tính là P(A). Chúng ta giải bài toán ngược lại, tìm xác suất P(A’) để 23 người ngẫu nhiên có ngày sinh hoàn toàn khác nhau.
Vì mỗi một người đều có thể có ngày sinh là
một ngày trong 365 ngày của năm nên số khả năng về tình trạng ngày sinh của 23 người sẽ là nk = 36523
Số khả năng thuận lợi là số bộ 23 ngày sinh mà
không có cặp hai ngày sinh nào trùng nhau:
20
Vậy xác suất P(A’), từ đó xác suất P(A) sẽ bằng
Công thức tổng quát cho n người, xác suất p(n)
để có ít nhất hai người trong n người ngẫu nhiên trùng ngày sinh sẽ là
21
Các kiểu giao thức xử lý dữ liệu ứng dụng
hàm băm
22
Các kiểu giao thức xử lý dữ liệu ứng dụng
hàm băm
23
24
25
Kiểm tra tính toàn vẹn của tập tin