Chứng thực thông điệpLà thủ tục để kiểm tra xem thông điệp nhận được đến từ 1 nguồn gốc rõ ràng và có bị sửa đổi hay không Khi nhận thông báo, người nhận cần phải biết ai gởi thông báo
Trang 1Phạm Văn Tho
Chương 5 chứng thực thông điệp
Trang 3Các kiểu tấn công qua mạng
Digital Signature
Trang 4Bảo toàn dữ liệu (data integrity)
Dữ liệu được truyền trên mạng
không chỉ cần bảo mật mà cần được bảo toàn
Đôi khi yêu cần bảo toàn cần thiết hơn bảo mật nó
4
Trang 5Chứng thực thông điệp
Là thủ tục để kiểm tra xem thông
điệp nhận được đến từ 1 nguồn gốc
rõ ràng và có bị sửa đổi hay không
Khi nhận thông báo, người nhận cần phải biết ai gởi thông báo
Người gởi cần chứng thực
(authentication) thông báo của mình
Trang 6Chứng thực thông điệp
Bất kỳ cơ chế chứng thực thông báo hay chữ ký số đều có hay cấp:
Ở mức thấp: hàm tạo giá trị chứng thực (autheticator) dùng để chứng thực thông điệp
Mức cao: hàm mức thấp được dùng làm cơ sở cho giao thức chứng thực, cho phép người nhận kiểm tra tính chính xác của thông điệp
6
Trang 8Mã hóa thông điệp để chứng thực
Đối với mã hóa, bản thân nó cũng có thể dùng để chứng thực thông điệp
Mã hóa đối xứng
Mã hóa phi đối xứng
8
Trang 9Dùng mã đối xứng để chứng thực thông điệp
Thông điệp truyền từ A đến B được
mã hóa bằng khóa bí mật dùng
chung cho A và B Nếu không ai biết khóa chung này thì việc truyền thông
Trang 10Khi thông báo M được khôi phục, B
biết ko có bit nào của M bị biến đổi vì không ai biết khóa bí mật K; hơn nữa không thể thay đổi một số bit bản mã
để tạo ra bản rõ mong muốn được
10
Trang 11Dùng mã đối xứng để chứng thực
Thực tế thông điệp M là một chuỗi bit ngẫu nhiên, do đó không có cách xác định một bản mã là thông điệp hợp lệ
Đối thủ có thể gây rối bằng cách tạo
ra các thông điệp có nội dung ngẫu
nhiên và giả như một thông điệp đến
từ một nguồn hợp lệ
Giải pháp: biến bản tin từ dãy bit ngẫu nhiên thành dãy bit có cấu trúc
Trang 12Dùng mã đối xứng để chứng thực
Thông điệp M được đưa vào hàm F để
có mã FCS, rồi thêm mã FCS vào cuối
M trước khi mã hóa
B mã hóa khối nhận được thông điệp
có mã FCS ở cuối B áp dụng cùng
hàm F để tính FCS, nếu FCS tính bằng FCS nhận thì thông báo được xem
hợp lệ
12
Trang 13Chứng thực bằng mã hóa phi đối xứng
Nếu dùng khóa công khai Kub thì
không thể chứng thực được, vì bất cứ
ai cũng có thể dùng khoa công khai
của B để mã hóa thông điệp
Trang 14Chứng thực bằng mã hóa phi đối xứng
Nếu A dùng khóa riêng của mình để
mã hóa thông điệp, B dùng khoa
chung của A để giải mã thì có thể
chứng thực thong điệp
Tuy nhiên bản rõ cầu có cấu trúc để
phân biệt bản rõ thực sự với bản rõ
các bit ngẫu nhiên
14
Trang 15Chứng thực bằng mã hóa phi đối xứng
Nếu muốn đảm bảo bí mật thông
điệp thì:
Phức tạp, phải qua 4 lần biến đổi
Trang 16Message authentication code (MAC)
Sử dụng 1khóa bí mật để sinh ra 1
khối dữ liệu có kích thước cố định
được gọi là MAC gắn vào cuối thông
điệp
16
Trang 17Message authentication code (MAC)
Trang 18Message authentication code (MAC)
18
Trang 19Message authentication code (MAC)
Trang 20Message authentication code (MAC)
20
Trang 21Đặc điểm của hàm MAC
Tương tự như hàm mã hóa nhưng
Trang 22n-Hàm băm (hash function)
Áp dụng cho các thông điệp có chiều dài khác nhau
Đầu ra là mã băm có kích thước cố định và nhỏ
Không giống như MAC, không cần
khóa K mà chỉ có thông điệp cần
chứng thực
Mã băm còn được gọi là message
digesst hay hash value
22
Trang 23Yêu cầu của hàm băm H(x)
1 Có thể áp dụng cho các thông điệp x có độ dài khác nhau
2 Output h=H(x) cố định và nhỏ
3 Tính một chiều: với h cho trước, không thể
tìm lại x sao cho h = H(x) (về mặt thời gian tính toán).
4 Chống trùng yếu: cho trước x, không thể tìm
y ≠x sao cho H(x) = H(y).
5 Chống trùng mạnh: không thể tìm ra cặp x, y bất kỳ sao cho H(x)=H(y), hay nói cách khác,
Trang 24Hàm băm đơn giản
Đầu vào là một chuổi các khối n bit
Thực hiện phép XOR để kiểm tra từng
vị trí bit, được gọi là phép kiểm tra dư thừa theo độ dài
Ci =
Ci là bit thứ i của mã băm, 1≤ i ≤ n
m là số khối ngõ vào, mỗi khối n bit
bij là bit thứ i của khối j
24
Trang 25Hàm băm đơn giảm
Trang 26số thông điệp có cùng giá trị băm
MD5 (tính chống trùng mạnh) Tuy nhiên vẫn còn sử dụng phổ biến
26
Trang 28Hàm băm MD5
28
Trang 29Hàm băm MD5
Kj =round(2 32 abs(sin(i)))
i biểu diễn theo radian Phép cộng modulo 2 32
Trang 31SHA (secure hash algorithm)
Năm 1993, NIST (national institute of standards and technology) đề xuất
giải thuật SHA, tương tự như MD5
nhưng mạnh hơn và chậm hơn MD5
Được thiết kế thích hợp với AES
Các phiên bản SHA
Trang 3232
Trang 33SHA1
Trang 35SHA-512
Trang 3636
Trang 37SHA-512
Trang 38Một số ứng dụng hàm băm
Lưu trữ mật khẩu
38
Trang 39Đấu giá trực tuyến
Trang 40Download file
40
Trang 41Chữ ký số
Trang 4242