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