– Khoá cần được giữ bí mật • Mã hoá khoá công khai khóa bất đối xứng – Sử dụng một cặp khoá, trong đó khoá công khai dùng để mã hoá encryption và khoá riêng/bí mật để giải mã decryption.
Trang 2Các giải pháp đảm b ảo an to àn
dựa trên mã ho á
• Mã hoá khoá bí mật (secret key cryptogrphy)
• Mã hoá khoá công khai (public key
cryptogrphy)
• Các hàm băm (hash functions)
• Chữ ký điện tử (digital signatures)
• Các giao thức/kỹ thuật bảo mật: SSL/TLS,
SET, PGP
• Một số mô hình bảo mật
Trang 4• Nguyên lý Kerckhoff: “tính an toàn của một hệ
mã hoá không nên phục thuộc vào việc giữ bí
mật giải thuật mã hoá, mã chỉ nên phục thuộc
vào việc giữ bí mật khoá mã”.
Trang 5Lịch sử mã ho á
• Các kỹ thuật mã hoá thô sơ đã được người
cổ Ai cập sử dụng cách đây 4500 năm
• Người cổ Hy lạp, Ấn độ cũng đã sử dụng mã
hoá cách đây hàng ngàn năm
• Các kỹ thuật mã hoá chỉ thực sự phát triển
mạnh từ thế kỷ 1800 nhờ công cụ toán học,
và phát triển vượt bậc trong thế kỷ 20 nhờ sựphát triển của máy tính và ngành CNTT
Trang 7Các tiêu chu ẩn đánh gi á
• Độ an toàn (level of security): thường được đánh giá
thông qua số lượng tính toán để có thể phá được hệ
mã hoá.
• Tính năng (functionality): hệ thống có thể được sử
dụng cho nhiều mục đích bảo mật.
• Chế độ hoạt động (methods of operation): cung c ấp
các tính năng khác nhau theo chế độ hoạt động.
• Hiệu năng (performance): có thể được đo bằng tốc
độ mã hoá (bits/giây).
• Độ dễ cài đặt (ease of implementation): độ khó của
việc cài đặt thuật toán trong thực tế trên phần cứng
hoặc phần mềm.
Trang 8Mã ho á khoá bí mật và
• Mã hoá khoá bí mật (khóa đối xứng)
– Sử dụng một khoá duy nhất cho cả hai khâu mã hoá (encryption) và giải mã (decryption).
– Khoá cần được giữ bí mật
• Mã hoá khoá công khai (khóa bất đối xứng)
– Sử dụng một cặp khoá, trong đó khoá công khai dùng
để mã hoá (encryption) và khoá riêng/bí mật để giải
mã (decryption).
– Chỉ có khoá riêng (private key) cần được giữ bí mật,
Trang 9Mã ho á khoá bí mật
• Trao đổi khoá:
– Hai bên gửi và nhận trao đổi khoá bí mật (secret key) – Việc trao đổi khoá phải được thực hiện an toàn.
• Mã hoá tại bên gửi:
– Bản rõ (plaintext) được mã hoá sử dụng khoá bí mật tạo ra bản mã (ciphertext);
– Bản mã được gửi cho bên nhận.
• Giải mã tại bên nhận:
– Bản mã được giải mã sử dụng khoá bí mật để khôi
Trang 10Mã ho á khoá bí mật (ti ếp)
Trang 11– Gặp khó khăn trong việc đảm bảo an toàn khi
chuyển giao khoá (key distribution).
– Càng gặp nhiều khó khăn khi số lượng thực thể
tham gia trao đổi thông tin lớn:
Trang 12Mã ho á khoá công khai
• Trao đổi khoá:
– Bên nhận gửi khoá công khai của mình (public key) cho bên gửi;
– Việc trao đổi khoá công khai có thể được thực hiện trong môi trường mở như internet.
• Mã hoá tại bên gửi:
– Bản rõ (plaintext) được mã hoá sử dụng khoá công khai của bên nhận tạo ra bản mã (ciphertext);
– Bản mã được gửi cho bên nhận.
• Giải mã tại bên nhận:
– Bản mã được giải mã sử dụng khoá bí mật của bên nhận để khôi phục lại bản rõ ban đầu.
Trang 13Mã ho á khoá công khai (ti ếp)
Trang 14Mã ho á khoá công khai (ti ếp)
• Ưu điểm:
– Trao đổi khoá đơn giản do:
• Chỉ cần trao đổi khoá công khai của cặp khoá
• Khoá riêng/bí mật luôn được giữ bí mật
– Độ an toàn cao
• Nhược điểm:
– Tốc độ chậm so với mã hoá khoá bí mật
– Đòi hỏi công suất tính toán lớn
– Độ phức tạp của thuật toán cao
Trang 15Mã ho á khối và dòng
• Mã hoá khối (block cipher):
– Chia thông điệp thành các khối có chiều dài
cố định và mã hoá từng khối;
– Giải mã cũng được thực hiện trên từng khối
và sau đó ghép các khối lại để khôi phục
thông điệp ban đầu
• Mã hoá theo dòng (stream cipher):
– Là trường hợp đặc biệt của mã hoá khối khichiều dài khối là 1 ký tự
– Từng ký tự được mã hoá và giải mã riêng rẽ
Trang 16• DES (Data Encryption Standard) l à một trong
những phương pháp mã hoá nổi tiếng nhất ra
đời vào những năm 1970
• DES mã hoá thông điệp theo khối, kích thước
khối 64 bít
• Khoá của DES dài 64 bít, trong đó:
– 56 bít là khoá hiệu dụng (effective key)
– 8 bít còn lại có thể được dùng như các bít chẵn lẻ.
• Tổng số khoá trong không gian kho á hiệu dụng
là 256
Trang 17DES
Trang 18Triple DES
Trang 19• IDEA (International Data Encryption
Algorithm) là phương pháp mã hoá theo
khối:
– Kích thước khối là 64 bít
– Kích thước khoá là 128 bít
• Thuật toán IDEA gồm:
– 8 vòng lặp, kết quả của mỗi vòng trước là đầuvào cho vòng tiếp theo
– Một vòng chuyển đổi kết quả
Trang 20IDEA
Trang 21Mã ho á công khai RSA
• RSA do R Rivest, A Shamir, v à
L Adleman phát minh vào năm 1977, là
phương pháp mã hoá công khai được sử dụng rộng rãi nhất.
• Độ an toàn của RSA dựa tính khó của việc phân tách số nguyên lớn.
• RSA được sử dụng để:
– Cung cấp tính bí mật
– Tạo chữ ký điện tử
Trang 22RSA: t ạo cặp khoá
Trang 23RSA: mã ho á & gi ải mã
Trang 24• Kích thước của các khoá d và e phải
tương tự nhau và tương đương kích
thước của n.
• Kích thước của n phải từ 1024 bít trở lên.
Trang 25Kích thư ớc khoá RSA
Trang 26Các hàm băm
• Một hàm băm (hash function) là một hàm
h với tối thiểu hai thuộc tính sau:
– Nén: h ánh xạ chuỗi vào x có độ dài tuỳ ý
sang chuỗi ra h(x) có độ dài cố định
– Dễ tính toán: cho trước hàm h và chuỗi vào x,
có thể dễ dàng tính chuỗi ra h(x)
• Hàm băm thường được sử dụng:
– Tạo chuỗi kiểm tra phát hiện sửa đổi MDC
– Tạo chuỗi xác thực thông điệp MAC
Trang 27Các hàm băm thông d ụng
• MD5 (Message Digest)
– Xử lý chuỗi đầu vào theo khối 512 bít
– Chuỗi đầu ra có kích thước cố định 128 bít
• SHA1 (Secure Hash Algorithm)
– Xử lý chuỗi đầu vào theo khối 512 bít
– Chuỗi đầu ra có kích thước cố định 160 bít
• SHA256, SHA384, SHA512: t ăng kích
thước của chuỗi đầu ra.
Trang 28– Quá trình tạo chữ ký số cho thông điệp
(digital signature signing)
– Quá trình kiểm tra chữ ký số (digital signatureverification)
Trang 29Tạo ch ữ ký s ố
Trang 30Kiểm tra ch ữ ký số
Trang 31Các giao th ức bảo mật
• SSL/TLS (Secure Sockets Layer,
Transport Layer Security) l à giao thức bảo mật được sử dụng rộng rãi nhất trên mạng Internet.
• SET (Secure Electronic Transaction): giao thức cho thanh toán điện tử.
• PGP (Pretty Good Privacy): giao th ức bảo mật dùng cho nhiều mục đích.
Trang 32• SSL do công ty Netscape phát minh, TLS đượcxây dựng dựa trên SSL và do IETF phê chuẩn
• Đặc điểm của SSL/TLS:
– Sử dụng mã hoá khoá công khai để trao đổi khoá
phiên Mỗi khoá phiên chỉ được sử dụng trong 1
phiên làm việc.
– Sử dụng khoá phiên và mã hoá khoá bí mật để mã
hoá toàn bộ dữ liệu trao đổi.
– Ít nhất một thực thể có chứng chỉ số cho khoá công khai (public key certificate).
Trang 33SSL/TLS trong giao th ức TCP/IP
Trang 34Các giao th ức con c ủa SSL/TLS
Trang 36Các thành ph ần của SET
Trang 37PGP-Pretty Good Privacy
• PGP do Philip Zimmermann ph át triển năm
Trang 40Mô hình cung c ấp tính bí mật &
toàn vẹn thông tin