BẢO VỆ HỆ THỐNG MÁY TÍNH CHƯƠNG 2 MÃ HÓA BẤT ĐỐI XỨNG (Asymmetric) 2 Khái niệm • Mã hoá bất đối xứng (hay còn gọi là mã hoá công khai) là hai loại khoá khác nhau để khoá và mở khoá thông tin bí mật •[.]
Trang 1CHƯƠNG 2
MÃ HÓA BẤT ĐỐI XỨNG
(Asymmetric)
Trang 2Khái niệm
• Mã hoá bất đối xứng (hay còn gọi là mã hoá công khai): là hai loại khoá khác nhau để khoá và mở
khoá thông tin bí mật.
• Public key sẽ được công khai và được gửi đi đến đối tượng cần mã hoá thông tin
• Private key được giữ bí mật, và nó đóng vai trò như chìa khoá vạn năng có thể mở được tất cả thông tin được khoá bằng public key.
Trang 3Mô hình mã hóa BĐX
Trang 4So sánh mã hóa đối xứng
và bất đối xứng
• Kỹ thuật mã hóa đối xứng có tốc độ mã hóa và giải mã
nhanh hơn so với kỹ thuật mã hóa bất đối xứng
• Kỹ thuật mã hóa bất đối xứng an toàn hơn so với kỹ thuật
mã hóa đối xứng
• Trong thực tế, sử dụng kết hợp cả hai kỹ thuật mã hóa đối xứng và bất đối xứng
• Kỹ thuật mã hóa đối xứng: thích hợp mã hóa những dữ liệu lớn và yêu cầu bảo mật không cao lắm -> Mã hóa dữ liệu
• Kỹ thuật mã hóa bất đối xứng: thích hợp mã hóa những dữ liệu nhỏ
và yêu cầu bảo mật cao -> Mã hóa khóa bí mật
Trang 5Mã hóa BĐX: RSA
• RSA: tên được đặt theo tên 3 nhà phát minh ra giải thuật Rivest, Shamir và Adleman
• Thuật toán sử dụng 2 khóa có quan hệ toán học với nhau: khóa công khai và khóa bí mật
• Khóa công khai được công bố rộng rãi cho mọi người và được dùng để mã hóa
• Khóa bí mật dùng để giải mã
• Ứng dụng:
• Sử dụng giao thức HTTPs để mã hóa các ứng dụng như: Facebook, Gmail, Amazon, Lazada, Tiki,…
Trang 6Thuật toán RSA
Khi đó ta có:
- (n, e) là khóa công khai
- (n, d) là khóa riêng
Trang 7Thuật toán RSA
Trang 8Ví dụ RSA
• Sinh khóa
Trang 9Ví dụ RSA
• Mã hóa và giải mã:
Trang 10Tính an toàn của RSA
• Tính an toàn của RSA chủ yếu dựa vào bộ tạo số ngẫu
nhiên sinh ra 2 số nguyên tố p và q ban đầu => Việc tính
số nguyên tố 2048 bits nhưng việc tính ra d từ p và q là việc rất dễ dàng
• Do đó nếu như đoán ra được hoặc tìm ra lỗ hổng của bộ
sinh số ngẫu nhiên đó thì coi như RSA bị hoá giải
• Gần đây có thông tin cho rằng Bộ An ninh Nội địa Hoa Kỳ (NSA) đã cài một back door vào bộ tạo số ngẫu nhiên Dual Elliptic Curve để giúp NSA có thể crack RSA nhanh hơn 10,000 lần.
• https://www.reuters.com/article/us-usa-security-nsa-rsa-idUSBREA2U0TY20140331
Trang 11Ứng dụng RSA Chữ ký số (Digital Signature)
liên kết với một thông điệp (message) và thực thể tạo ra thông điệp.
• Giải thuật tạo chữ ký số là một phương pháp sinh chữ ký số
• Quá trình tạo chữ ký số bao gồm:
• Giải thuật tạo chữ ký số.
• Phương pháp chuyển dữ liệu thông điệp thành dạng có thể ký được.
Trang 12Chữ ký số (Digital Signature)
Trang 13Chữ ký số (Digital Signature)
• Quá trình ký
• Tính toán chuỗi đại diện (message digest/
hash value) của thông điệp sử dụng một
giải thuật băm (Hashing algorithm);
• Chuỗi đại diện được ký sử dụng khóa
riêng (Private key) của người gửi và một
giải thuật tạo chữ ký (Signature
algorithm) Kết quả là chữ ký số (Digital
signature) của thông điệp hay còn gọi là
chuỗi đại diện được mã hóa (Encrypted
message digest);
• Thông điệp ban đầu (message) được
ghép với chữ ký số (Digital signature) tạo
thành thông điệp đã được ký (Signed
message);
Trang 14Chữ ký số (Digital Signature)
• Quá trình kiểm tra
• Tách chữ ký số và thông điệp gốc khỏi
thông điệp đã ký để xử lý riêng.
• Tính toán chuỗi đại diện MD1 (message
digest) của thông điệp gốc sử dụng giải
thuật băm (là giải thuật sử dụng trong quá
trình ký).
• Sử dụng khóa công khai (Public key) của
người gửi để giải mã chữ ký số -> chuỗi
đại diện thông điệp MD2.
• So sánh MD1 và MD2:
• Nếu MD1 = MD2 -> chữ ký kiểm tra thành công
Thông điệp đảm bảo tính toàn vẹn và thực sự xuất phát từ người gửi (do khóa công khai được chứng thực)
Trang 15Ứng dụng RSA
Chứng chỉ số (Digital certificate)
Trang 16Ứng dụng RSA
Chứng chỉ số (Digital certificate)
• Chứng chỉ số (Digital certificate), còn gọi là chứng chỉ khóa công khai (Public key certificate), hay chứng chỉ nhận dạng (Identity certificate) là một tài liệu điện tử sử dụng một chữ ký số để liên kết một khóa công khai và thông tin nhận dạng của một thực thể.
Trang 17Chứng chỉ số (Digital certificate)
• Chứng chỉ số gồm các trường chính sau:
• Serial Number: Số nhận dạng của chứng chỉ số.
• Subject: Thông tin nhận dạng một cá nhận hoặc một
tổ chức.
• Signature Algorithm: Giải thuật tạo chữ ký.
• Signature Hash Algorithm: Giải thuật tạo chuỗi băm
cho tạo chữ ký.
• Signature: Chữ ký của người/tổ chức cấp chứng chỉ.
• Issuer: Người/tổ chức có thẩm quyền/tin cậy cấp
chứng chỉ.
• Valid-From: Ngày bắt đầu có hiệu lực của chứng chỉ.
• Valid-To: Ngày hết hạn sử dụng chứng chỉ.
• Key-Usage: Mục địch sử dụng khóa (chữ ký số, mã
hóa,…).
• Public Key: Khóa công khai của chủ thể.
• Thumbprint Algorithm: Giải thuật hash sử dụng để
Trang 18Ứng dụng RSA
Hạ tầng khóa công khai (Public-key infrastructure - PKI)
• Hạ tầng khóa công khai (Public-key infrastructure - PKI) là một tập các phần cứng, phần mềm, nhân lực, chính sách và các thủ tục để tạo, quản lý, phân phối, sử dụng, lưu trữ và thu hồi các chứng chỉ số
• Một PKI gồm:
• Certificate Authority (CA): Cơ quan cấp và kiểm tra chứng chỉ số.
• Registration Authority (RA): Bộ phận kiểm tra thông tin nhận dạng của người dùng theo yêu cầu của CA.
• Validation Authority (VA): Cơ quan xác nhận thông tin nhận dạng của người dùng thay mặt CA.
• Central Directory (CD): Là nơi lưu danh mục và lập chỉ số các khóa.
• Certificate Management System: Hệ thống quản lý chứng chỉ.
Trang 19Ứng dụng RSA
Hạ tầng khóa công khai (Public-key infrastructure - PKI)
• Qui trình cấp và sử dụng chứng thư số trên hạ tầng khóa công khai
Trang 20Chi tiết qui trình
• (1) : Người dùng gửi yêu cầu phát hành thẻ chứng thư số và khóa công khai của
nó đến RA (Bộ phận kiểm tra thông tin nhận dạng của người dùng theo yêu cầu của CA.)
• (2) : Sau khi xác nhận tính hợp lệ định danh của người dùng thì RA sẽ chuyển
• (3) : CA phát hành thẻ chứng thư số cho người dùng;
• (4) : Sau đó người dùng “ký” thông điệp trao đổi với thẻ chứng thư số mới vừa nhận được từ CA và sử dụng chúng (thẻ chứng thực số + chữ ký số) trong giao dịch;
• (5) : Định danh của người dùng được kiểm tra bởi đối tác thông qua sự hỗ trợ
(6) : Nếu chứng thư số của người dùng được xác nhận là hợp lệ thì đối tác mới tin cậy người dùng và có thể bắt đầu quá trình trao đổi thông tin với nó.