Please enable JavaScript.
Coggle requires JavaScript to display documents.
CHƯƠNG 7:Tổng quan về mật mã - Coggle Diagram
CHƯƠNG 7:Tổng quan về mật mã
Tổng quan về mật mã :<3:
LÀ
Một công cụ to lớn
Cơ sở cho nhiều cơ chế bảo mật
KHÔNG LÀ
Giải pháp cho tất cả các vấn đề bảo mật
Đáng tin cậy trừ khi được triển khai đúng cách
Đáng tin cậy trừ khi được sử dụng đúng cách
Một cái gì đó bạn nên cố gắng phát minh hoặc thực hiện chính mình
Nguyên tắc của Kerckhoff
Một hệ thống mật mã phải được bảo mật ngay cả khi mọi thứ về hệ thống, ngoại trừ khóa bí mật, là kiến thức công khai.
Mục tiêu 1: giao tiếp an toàn
Bước 1: Thiết lập phiên để trao đổi khóa
Bước 2: Mã hóa dữ liệu
Mục tiêu 2: Tệp được bảo vệ
Giao tiếp tương tự để bảo mật:
Alice hôm nay gửi tin nhắn cho Alice vào ngày mai
Mật mã đối xứng RSA
Giả sử các bên đã chia sẻ khóa bí mật
Khối xây dựng: sym. mã hóA
Thuật toán mã hóa được biết đến công khai
Không bao giờ sử dụng mật mã độc quyền
Trường hợp sử dụng
Phím sử dụng một lần:
Khóa chỉ được sử dụng để mã hóa một tin nhắn
email được mã hóa: khóa mới được tạo cho mọi email
Không cần nonce (đặt thành 0)
Phím sử dụng nhiều lần: (phím nhiều thời gian)
Khóa được sử dụng để mã hóa nhiều tin nhắn
tệp: cùng một khóa được sử dụng để mã hóa nhiều tệp
Ví dụ đầu tiên: One Time Pad: dùng XoR cùng 0 # 1
Shannon ‘49:OTP “an toàn” chống lại các cuộc tấn công chỉ sử dụng bản mã
Mật mã luồng
Vấn đề: Khóa OTP dài như tin nhắn
Giải pháp: Khóa ngẫu nhiên giả - mật mã dòng
Mật mã luồng: ChaCha (643 MB / giây)
Nguy hiểm khi sử dụng mật mã luồng
C1 xor C2 --> tìm dc m1 và m2 ==> không an toàn
Mật mã khối: ngựa công việc tiền điện tử
Ví dụ chính tắc:
3DES: n= 64 bits, k = 168 bits
AES: n=128 bits, k = 128, 192, 256 bits
Xây dựng mật mã khối
Input: (m, k)
Lặp lại thao tác “trộn” đơn giản vài lần
DES: Lặp lại 16 lần:
AES-128: Lặp lại bước trộn 10 lần
Khó thiết kế: phải chống lại các cuộc tấn công tinh vi tấn công khác biệt, tấn công tuyến tính, bạo lực,
Sử dụng đúng các mật mã khối: Chế độ CTR
E(k,x): ): ánh xạ khóa k và khối n-bit x thành khối n-bit y
Chế độ bộ đếm (CTR) với IV ngẫu nhiên:
Lưu ý: Mã hóa song song
Các trường hợp sử dụng: cách chọn IV
Phím sử dụng một lần:không cần IV (IV = 0)
Phím đa dụng:(Bảo mật CPA)
Tốt nhất: sử dụng IV ngẫu nhiên mới cho mọi tin nhắn
Có thể sử dụng IV duy nhất (ví dụ: 0, 1, 2, 3,…)
lợi ích: có thể tiết kiệm truyền IV với bản mã
Hiệu suất:
Intel Core 2 (trên Windows Vista)
Chacha:
Tốc độ (MB / giây):643
3DES :red_flag:Tốc độ (MB / giây): 30
,Kích thước khối / khóa:64/168
AES-128/GCM :red_flag:Tốc độ (MB / giây):163
,Kích thước khối / khóa: 128/128
Bảo mật là gì
Bảo mật là nhu cầu tất yếu của sự phát triển
CNTT
hacker là ai
Hacker là lập trình viên giỏi, chuyên gia mạng và hệ thống,chuyên gia phần cứng
Hacker mũ trắng
Chuyên gia bảo mật
Hacker mũ đen
Hacker mũ xám
Dữ liệu và những yếu tố cần quan tâm:
Tính bảo mật
Tính toàn vẹn dữ liệu
Tính sẵn sàng
Tính chính xác
Tính không khước từ
lỗ hỏng bảo mật
Các lỗ hổng loại B có mức độ nguy hiểm
hơn lỗ hổng loại C
Các lỗ hổng loại B khác là các chương trình
có mã nguồn viết bằng C
Các lỗ hổng loại C cho phép tấn công DoS
Các lỗ hổng loại A có mức độ rất nguy hiểm
Quá trình tấn công hệ thống
do thám: trinh sát chủ động và thụ
động.
quét
giành được quyền truy cập ( xâm nhập hệ thống )
duy trì quyền truy cập cho lần
sau
Che đậy dấu vết để không bị
phát hiện
Toàn vẹn dữ liệu :<3:
Tính toàn vẹn của tin nhắn: MAC
Mục tiêu: tính toàn vẹn của thông điệp. Không có bí mật.
ví dụ: Bảo vệ tệp nhị phân công khai trên đĩa.
Generate tag:Tạo thẻ:
tag ⟵ S(k, m)
Verify tag:Xác minh thẻ
V(k, m, tag) = `yes’
MAC bảo mật
Thông tin kẻ tấn công: cuộc tấn công tin nhắn đã chọn
cho m1,m2,…,mq kẻ tấn công được đưa ra ti ⟵ S(k,mi)
Mục tiêu của kẻ tấn công: giả mạo tồn tại.
tạo ra một số cặp thẻ / tin nhắn hợp lệ mới (m,t).
(m,t) ∈ { (m1,t1) , … , (mq,tq) }
Một PRF an toàn cung cấp một MAC an toàn:
S(k,m) = F(k,m)
V(k,m,t):"yes" if t = F(k,m) and
"no" nếu không thì
Cấu trúc 2: HMAC (Hash-MAC)
MAC được sử dụng rộng rãi nhất trên Internet.
H: hash function.
thí dụ: SHA-256 ; đầu ra là 256 bits
Xây dựng MAC từ hàm băm:
Phương pháp tiêu chuẩn hóa: HMAC
S( k, m ) = H( k⊕opad || H( k⊕ipad || m ))
SHA-256: Merkle-Damgard
h (t, m [i]): hàm nén
Thm 1: nếu h là khả năng chống va chạm thì H cũng vậy “Thm 2”: nếu h là PRF thì HMAC là PRF
Cấu trúc 3: PMAC - MAC song song
ECBC và HMAC là tuần tự. PMAC:
CBC (hay còn gọi là Raw-CBC) không phải là MAC an toàn:
Mã hóa xác thực: Mã hóa + MAC
Kết hợp MAC và ENC
Khóa mã hóa KE
MAC key = KI
ma tr bam s An toan :red_flag:Tùy chọn 2: Mã hóa-sau đó-MAC (IPsec)
vua bam vua ma kem an toan Tùy :red_flag: chọn 3: Mã hóa và MAC (SSH)
bam tr ma s Tùy chọn 1: MAC sau đó Mã hóa (SSL)
Chế độ được đề xuất (hiện tại)
AES-GCM:
Counter mode AES(Chế độ bộ đếm AES)
Carter Wagman MAC
encrypt-then-MAC (mã hóa-sau đó-MAC)
Mật mã khóa công khai Gen (E, D)
Các ứng dụng
Thiết lập phiên :
Các ứng dụng không tương tác: (ví dụ: Email)
Bob gửi email đến Alice được mã hóa bằng pkalice
Lưu ý: Bob cần pkalice (quản lý khóa công khai)
Mã hóa trong cài đặt không tương tác:
Hệ thống tệp được mã hóa
Khoá ký quỹ: khôi phục dữ liệu mà không cần khoá của Bob
Chức năng cửa sập (TDF)
Def: một chức năng cửa sập.X⟶Y là một bộ ba của algs hiệu quả.(G, F, F-1)
G (): alg ngẫu nhiên. xuất cặp phím (pk, sk)
F (pk, ⋅): det. alg. xác định một chức năng. X ⟶ Y
F-1 (sk, ⋅): hàm. Y ⟶ X đảo ngược F (pk, ⋅)
Bảo mật: F (pk, ⋅) là một chiều không có sk
Mã hóa khóa công khai từ TDF
(G, F, F-1): TDF X ⟶ Y an toàn
(Es, Ds): chữ cái. auth. mã hóa bằng khóa trong K
H: X ⟶ K một hàm băm
Chúng tôi xây dựng một mã khóa pub-key. hệ thống (G, E, D): Tạo khóa G: giống như G cho TDF
Định lý Bảo mật: Nếu (G, F, F-1) là TDF an toàn, (Es, Ds) cung cấp xác thực. mã hóa. và H: X ⟶ K là “tiên tri ngẫu nhiên” thì (G, E, D) là CCAro an toàn.
Chữ ký kỹ thuật số
Mã hóa khóa công khai
Alice xuất bản khóa mã hóa
Bất kỳ ai cũng có thể gửi tin nhắn được mã hóa
Chỉ Alice mới có thể giải mã tin nhắn bằng khóa này
Lược đồ chữ ký điện tử
Alice xuất bản khóa để xác minh chữ ký
Bất kỳ ai cũng có thể kiểm tra tin nhắn có chữ ký của Alice
Chỉ Alice mới có thể gửi tin nhắn đã ký
Chữ ký kỹ thuật số từ TDPs
G, F, F-1): TDP an toàn X ⟶ X
H: M ⟶ X một hàm băm
Bảo mật: khả năng không thể sửa chữa tồn tại dưới một cuộc tấn công tin nhắn đã chọn (trong mô hình tiên tri ngẫu nhiên)
Cơ sở hạ tầng khóa công khai (PKI)
Bất kỳ ai cũng có thể gửi cho Bob một tin nhắn bí mật
… Miễn là họ biết khóa công khai của Bob
Làm thế nào để chúng tôi biết một khóa thuộc về Bob?
Nếu kẻ giả mạo thay thế khóa khác, có thể đọc tin nhắn của Bob
Một giải pháp: PKI
Cơ quan cấp chứng chỉ gốc đáng tin cậy (CA)
CA xác nhận rằng một khóa công khai nhất định thuộc về Bob
Kết hợp tất cả lại với nhau: SSL / TLS
Hạn chế của mật mã
Mật mã hoạt động khi được sử dụng đúng cách !!
… Nhưng không phải là giải pháp cho tất cả các vấn đề bảo mật
Cấu trúc 1 ECBC