Bài giảng An toàn an ninh thông tin: Chương 5 Chữ ký số cung cấp cho người học những kiến thức như: Khái niệm cơ bản về chữ ký số; Một số phương pháp ký số; Giao thức chữ ký số; Hạ tầng khóa công khai PKI. Mời các bạn cùng tham khảo!
05/05/2021 BÀI CHỮ KÝ SỐ Bùi Trọng Tùng, Viện Công nghệ thông tin Truyền thông, Đại học Bách khoa Hà Nội 1 Nội dung • Khái niệm chữ ký số • Một số phương pháp ký số • Giao thức chữ ký số • Hạ tầng khóa cơng khai PKI 2 05/05/2021 KHÁI NIỆM CƠ BẢN 3 Khái niệm – Digital Signature • Chữ kí số(Digital Signature) hay cịn gọi chữ ký điện tử đoạn liệu bên gửi gắn vào văn gốc để chứng thực nguồn gốc nội dung văn • Yêu cầu: • Tính xác thực: người nhận chứng minh văn • • • • ký gửi Tính tồn vẹn: người nhận chứng minh khơng có sửa đổi văn ký Không thể tái sử dụng: chữ ký có giá trị văn Khơng thể giả mạo Chống từ chối: người gửi phủ nhận hành động ký vào văn • Đề nghị Diffie-Hellman: Sử dụng khóa cá nhân mật mã công khai để tạo chữ ký 4 05/05/2021 Chữ ký số • Hàm sinh khóa: Gen() • Hàm ký S(sk, m) • Đầu vào: • sk: Khóa ký • m: Văn cần ký • Hàm ký phải có tính ngẫu nhiên • Bất kỳ có khóa sk tạo chữ ký • Đầu ra: chữ ký số S • Hàm kiểm tra: V(pk, m, sig) • Đầu vào: • Bất kỳ có khóa pk kiểm tra chữ ký • pk: Khóa thẩm tra • m, sig • Đầu ra: True/False • Tính đắn: V(pk, m, S(sk,m)) = True 5 Tấn cơng vào chữ ký số • Kẻ công chọn trước số tin 1, 2, , có chữ ký tin ← ( , ) ∉ { 1, 2, , } • Mục tiêu: Tạo chữ ký cho tin • Yêu cầu đồi với chữ ký số: Xác suất công thành công không đáng kể • Quiz: Nếu kẻ cơng tìm tin m1, m2 cho V(pk, m1, sig) = V(pk, m2, sig) ∀(sk, pk)thì chữ ký số có an tồn khơng? 6 05/05/2021 Một số ứng dụng chữ ký số • Chữ ký xác thực phần mềm Khởi tạo cài đặt, pk sk Cập nhật, sig • Chữ ký xác thực giao dịch Chi tiết giao dịch Chữ ký số Chi tiết giao dịch, Mã PIN (nếu có) sk Chữ ký số • Chữ ký xác thực thư điện tử: DKIM •… 7 Khi cần sử dụng chữ ký số? • Nếu bên ký bên xác thực: sử dụng MAC/HMAC bên cần chia sẻ trước khóa bí mật Khơng có khả chống từ chối: bên nhận thay đổi nội dung ký lại • Nếu bên ký nhiều bên xác thực: sử dụng chữ ký số Bên ký cần công bố khóa cơng khai Có khả chống từ chối 8 05/05/2021 Chữ ký số dựa hàm băm • Phía gửi : hàm ký Băm tin gốc, thu giá trị băm h Mã hóa giá trị băm khóa riêng chữ kí số sig Gắn chữ kí số lên tin gốc (m || sig) • Phía nhận : hàm xác thực Tách chữ kí số sig khỏi tin Băm tin m, thu giá trị băm h Giải mã sig với khóa công khai người gửi, thu h’ So sánh : h h’ Kết luận 9 Một số phương pháp tạo chữ ký số • Chữ ký số lần: khóa dùng để ký tin Thuật tốn Lamport • Chữ ký số nhiều lần: Chữ ký số RSA Chữ ký số ElGamal Chuẩn chữ ký số DSS • Chữ ký mù: người ký nội dung tin 10 10 05/05/2021 Chữ ký số RSA • Sinh cặp khóa: kU = (n, e), kR = (n, d) • Chữ ký: sig = E(kR, H(m)) = H(m)d mod n • Thẩm tra: H(m) = sige mod n chấp nhận D(kU, H(m)) 11 11 Chuẩn chữ ký số DSS • Digital Signature Standard • Các tham số: Hàm băm H L: Kích thước khóa, N ≤ Kích thước mã băm • Tạo khóa nhóm kUG = (p, q, g): Số nguyên tố p kích thước N bit Số nguyên q ước số p-1 g = h(p - 1)/q mod p • Khóa riêng: x ngẫu nhiên thỏa mãn < x