Tinh Toan Ven Du Lieu

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 18

4.

Tính toàn vẹn của dữ liệu và xác thực thông báo


Tính toàn vẹn của dữ liệu: Đảm bảo rằng dữ liệu không bị thay đổi một cách bất hợp
pháp trong quá trình truyền tải hoặc lưu trữ.

Ví dụ: Trong giao thức HTTPS, TLS sử


dụng mã hóa và hàm băm để đảm bảo
tính toàn vẹn của dữ liệu truyền tải qua
mạng Internet. Khi một trang web được tải
xuống, trình duyệt sẽ tính toán lại giá trị
băm của dữ liệu nhận được và so sánh với
giá trị băm được gửi kèm theo từ máy chủ.
Nếu các giá trị không khớp, trình duyệt
cảnh báo người dùng về một tiềm năng
bị tấn công.
11
4. Tính toàn vẹn của dữ liệu và xác thực thông báo

Message Authentication Code

Cung Cấp Tính Toàn Vẹn


MDC (Manipullation Detection Code) và
Của Dữ Liệu Bằng Cách
mã hóa
Dùng Các Hàm Băm

MDC (Manipullation Detection Code) và


kênh tin cậy

12
4. Tính toàn vẹn của dữ liệu và xác thực thông báo

Message Authentication Code

Một hàm băm được kết hợp với một khóa bí mật để tạo ra
một mã băm duy nhất cho mỗi phần dữ liệu. Mã băm này
được gửi cùng với dữ liệu. Người nhận sẽ sử dụng cùng
khóa bí mật để tính toán mã băm mới và so sánh với mã
băm được gửi. Nếu chúng khớp, dữ liệu được coi là toàn
vẹn.

13
4. Tính toàn vẹn của dữ liệu và xác thực thông báo

MDC (Manipullation Detection Code) và


mã hóa

Trong trường hợp này, dữ liệu được băm bằng MDC và


sau đó mã hóa bằng một thuật toán mã hóa đối xứng hoặc
không đối xứng. Người nhận nhận được dữ liệu, giải mã
và tính toán lại giá trị băm từ dữ liệu đã giải mã. Nếu giá trị
băm này khớp với giá trị băm gửi kèm, dữ liệu được coi là
toàn vẹn. Một ứng dụng phổ biến của phương pháp này là
sử dụng trong giao thức SSL/TLS, nơi mà dữ liệu được
băm và sau đó mã hóa để đảm bảo toàn vẹn và bảo mật.
14
4. Tính toàn vẹn của dữ liệu và xác thực thông báo

Trong trường hợp này, dữ liệu được băm bằng MDC và


giá trị băm được gửi cùng với dữ liệu. Trong một kênh tin
cậy, người nhận nhận được dữ liệu và tính toán lại giá trị
băm từ dữ liệu nhận được. Nếu giá trị băm này khớp với
giá trị băm gửi kèm, dữ liệu được MDC (Manipullation
coi là toàn vẹn. Kênh tinDetection Code) và
cậy ở đây thường được hiểu là một kênh
kênhtinmà
cậykhông có sự
can thiệp từ bên ngoài hoặc không có sự thay đổi dữ liệu
trong quá trình truyền tải.

15
4. Tính toàn vẹn của dữ liệu và xác thực thông báo
Xác thực tính nguyên bản của dữ liệu: Một kiểu xác thực đảm bảo một bên liên lạc được chứng thực là
nguồn thực sự tạo ra dữ liệu đó ở một thời điểm nào đó trong quá khứ.

Ví dụ: Trong mạng điện thoại di động, các tin nhắn


văn bản có thể được ký số bởi người gửi. Khi tin
nhắn được nhận, điện thoại di động của người nhận
có thể kiểm tra chữ ký số để xác định xem tin nhắn
có bị sửa đổi hay không. Nếu chữ ký không hợp lệ,
điện thoại di động có thể cảnh báo về một tiềm
năng cuộc tấn công.

16
4. Tính toàn vẹn của dữ liệu và xác thực thông báo
Xác thực thông báo là quá trình đảm bảo rằng thông điệp được truyền tải từ một nguồn đáng tin cậy và
không bị sửa đổi trong quá trình truyền tải.

Ví dụ: Trong mạng nội bộ của một văn phòng


chính phủ, một email quan trọng có thể được ký
số bởi người đứng đầu trong văn phòng đó. Khi
nhân viên nhận được email, họ có thể kiểm tra
chữ ký số để đảm bảo rằng email đến từ người
đứng đầu không và có bị sửa đổi trong quá trình
truyền tải.

17
4. Tính toàn vẹn của dữ liệu và xác thực thông báo

Message Authentication Code

Đảm Bảo Xác Thực Tính


Sơ Đồ Chữ Ký Số
Nguyên Vẹn Dữ Liệu

Gắn một giá trị thẻ xác thực bí mật vào


văn bản được mã.

18
4. Tính toàn vẹn của dữ liệu và xác thực thông báo

Message Authentication Code


MAC là một loại mã hóa được sử dụng để xác minh tính
nguyên vẹn và xác thực của một thông điệp hoặc tệp dựa
trên một khóa bí mật chia sẻ giữa bên gửi và bên nhận.
Nó giúp đảm bảo rằng dữ liệu không bị thay đổi trong
quá trình truyền và rằng người nhận có thể xác minh rằng
dữ liệu đến từ nguồn đã được xác minh.

19
4. Tính toàn vẹn của dữ liệu và xác thực thông báo

Message Authentication Code


VD: Giả sử bạn muốn gửi một thư từ Alice đến Bob và muốn đảm
bảo rằng thư không bị sửa đổi trong quá trình truyền. Bạn sử dụng
một MAC để làm điều này.
Bước 1: Alice viết thư của mình.
Bước 2: Alice tạo ra một mã MAC cho thư bằng cách sử dụng một
hàm băm và một khóa bí mật mà chỉ cô và Bob biết.
Bước 3: Mã MAC được gắn vào thư của Alice.
Bước 4: Thư và mã MAC được gửi đến Bob.
Bước 5: Bob nhận thư và mã MAC từ Alice.
Bước 6: Bob sử dụng cùng khóa bí mật và hàm băm để tính toán lại
mã MAC từ thư nhận được.
Bước 7: Bob so sánh mã MAC tính toán lại với mã MAC được gửi
kèm theo thư. Nếu chúng khớp, Bob có thể tin rằng thư không bị
sửa đổi trong quá trình truyền và đến từ Alice.
20
4. Tính toàn vẹn của dữ liệu và xác thực thông báo

Các sơ đồ chữ ký số sử dụng các thuật toán mã hóa đối


xứng hoặc không đối xứng để tạo ra một chữ ký số duy
nhất cho mỗi tài liệu hoặc thông điệp, giúp xác thực danh
tính của bên gửi và tính toàn vẹn của dữ liệu.
Sơ Đồ Chữ Ký Số

VD: Khi bạn ký một email bằng chữ ký số của mình,


một hàm băm sẽ được tính toán từ nội dung của email
và sau đó ký bằng khóa riêng của bạn. Bên nhận sau
đó có thể sử dụng khóa công khai của bạn để xác minh
chữ ký và tính nguyên vẹn của email.

21
4. Tính toàn vẹn của dữ liệu và xác thực thông báo

Trước khi mã hóa dữ liệu, một giá trị thẻ xác thực bí mật
(chẳng hạn như một mã băm) được tính toán từ dữ liệu và
gắn vào văn bản hoặc tệp tin. Khi dữ liệu được nhận, giá
trị thẻ được tính toán lại và so sánh với giá trị thẻ ban đầu
để xác minh tính toàn vẹn của dữ liệu

VD: Trong quá trình chuyển tệp từ một máy tính này
sang một máy tính khác, một giá trị thẻ xác thực bí
mật được tính toán từ tệp và gắn vào tệp trước khi
mã hóa. Khi tệp đến đích, giá trị thẻ được tính toán
lại và so sánh với giá trị thẻ ban đầu để đảm bảo rằng Gắn (trước khi mã hoá) một giá trị thẻ xác thực
dữ liệu không bị thay đổi trong quá trình chuyển bí mật vào văn bản được mã
giao.

22
II.Phương pháp xây dựng hàm băm( Hash function)
4.2. Các hàm băm không khóa
4.2.1: Mã khóa (n, r) là một mã hóa khối xác định một hàm khả nghịch từ các thông điệp n
bit sang các bản mã bit bằng cách sử dụng một mã khóa k (r bit). Nếu E là một phép mã hóa
như vậy thì ký hiệu Ek ( x )

4.2.2: Cho h là một hàm băm có cấu trúc lặp được xây dựng từ một mã hóa khối với hàm
nén thực hiện S phép mã khóa khối để xử lý từng khối thông điệp n bit. Khi đó tốc độ của h
là 1/s.
II.Phương pháp xây dựng hàm băm( Hash function)
4.2.1 MDC độ dài đơn
• Một mã hóa khối n bit khởi sinh Ek ( x ) được tham số hóa bằng một
khóa đối xứng k.
• Một hàm g ánh xạ n bit vào thành khóa k sử dụng cho E (Nếu các
khóa cho E cũng có độ dài n thì g có thể là hàm đồng nhất).
• Một giá trị khởi tạo thích hợp H 0 để dùng với E.
II.Phương pháp xây dựng hàm băm( Hash function)

a, Thuật toán băm Matyas – Mayer – Oseas.


• Input: Chuỗi đầu vào x
• Output: Chuỗi đầu ra sau khi băm có kích thước n bit.
Nếu length X  div  0 thêm 1 số bit cần thiết => khối hoàn
chỉnh
Đầu ra là H m được xác định như sau:
H i  Eg  Hi 1  xi   xi 1  i  m 
II.Phương pháp xây dựng hàm băm( Hash function)
Ví dụ: “Hello, world”
1.Chọn một giá trị hằng số ban đầu, ví dụ: 0.
2.Chia chuỗi thành các khối có kích thước cố định, ví dụ: 4 ký tự mỗi khối. Chuỗi
"Hello, world!" sẽ được chia thành các khối như sau: "Hell", "o, w", "orld", "!".
3.Xử lý từng khối dữ liệu:
1. Khối 1 ("Hell"): hash = hash XOR ASCII("Hell") = 0 XOR (ASCII(H) XOR ASCII(e) XOR
ASCII(l) XOR ASCII(l)) = 0 XOR (72 XOR 101 XOR 108 XOR 108) = 0 XOR 389 = 389
2. Khối 2 ("o, w"): hash = hash XOR ASCII("o, w") = 389 XOR (ASCII(o) XOR ASCII(,)
XOR ASCII( ) XOR ASCII(w)) = 389 XOR (111 XOR 44 XOR 32 XOR 119) = 389 XOR
306 = 83
3. Khối 3 ("orld"): hash = hash XOR ASCII("orld") = 83 XOR (ASCII(o) XOR ASCII(r) XOR
ASCII(l) XOR ASCII(d)) = 83 XOR (111 XOR 114 XOR 108 XOR 100) = 83 XOR 433 =
350
4. Khối 4 ("!"): hash = hash XOR ASCII("!") = 350 XOR ASCII(!) = 350 XOR 33 = 317
4.Giá trị hash cuối cùng là 317, đó là giá trị băm của chuỗi "Hello, world!" bằng thuật
toán băm Matyas-Mayer-Oseas.
II.Phương pháp xây dựng hàm băm( Hash function)
b, Thuật toàn băm Davies – Mayer:
- Input: Chuỗi đầu vào x
- Output: Chuỗi đầu ra sau khi băm có kích thước n bit.
- Mô tả thuật toàn:

You might also like