TIỂU LUẬN MÔN HỌC MẬT MÃ VÀ AN TOÀN DỮ LIỆU XÁC THỰC TÍNH TOÀN VẸN CỦA DỮ LIỆU BẰNG “CHỮ KÝ SỐ” Những năm 80 của thế kỷ 20, các nhà khoa học đã phát minh ra “chữ ký số” để chứng thực một “tài liệu số”. Đó chính là “bản mã” của xâu bít tài liệu. Người ta tạo ra “chữ ký số” (chữ ký điện tử) trên “tài liệu số” giống như tạo ra “bản mã” của tài liệu với “khóa lập mã”. Như vậy “ký số” trên “tài liệu số” là “ký” trên từng bit tài liệu. Kẻ gian khó thể giả mạo “chữ ký số” nếu nó không biết “khóa lập mã”.
ĐẠI HỌC CÔNG NGHỆ ĐẠI HỌC QUỐC GIA HÀ NỘI BÁO CÁO MÔN HỌC MẬT MÃ VÀ AN TOÀN DỮ LIỆU XÁC THỰC TÍNH TOÀN VẸN CỦA DỮ LIỆU BẰNG “CHỮ KÝ SỐ” Lớp môn học: Giảng viên: Mật mã và an toàn dữ liệu PGS.TS Trịnh Nhật Tiến Học viên thực hiện : Vũ Minh Đức - 12025209 1 HÀ NỘI – 2014 2 MỤC LỤC XÁC THỰC TÍNH TOÀN VẸN CỦA DỮ LIỆU BẰNG “CHỮ KÝ SỐ” Họ tên : Vũ Minh Đức Ngày sinh : 22/12/1988 Mã học viên : 12025209 Email : ducvm.mi12@vnu.edu.vn Điện thoại : 0975645716 1 Khái niệm chữ ký số Những năm 80 của thế kỷ 20, các nhà khoa học đã phát minh ra “chữ ký số” để chứng thực một “tài liệu số”. Đó chính là “bản mã” của xâu bít tài liệu. Người ta tạo ra “chữ ký số” (chữ ký điện tử) trên “tài liệu số” giống như tạo ra “bản mã” của tài liệu với “khóa lập mã”. Như vậy “ký số” trên “tài liệu số” là “ký” trên từng bit tài liệu. Kẻ gian khó thể giả mạo “chữ ký số” nếu nó không biết “khóa lập mã”. Để kiểm tra một “chữ ký số” thuộc về một “tài liệu số”, người ta giải mã “chữ ký số” bằng “khóa giải mã”., và so sánh với tài liệu gốc. “Ký số” thực hiện trên từng bit tài liệu, nên độ dài của “chữ ký số” ít nhất cũng bằng độ dài của tài liệu. Do đó thay vì ký trên tài liệu dài, người ta thường dùng “hàm băm” (trình bày ở phần sau) để tạo “đại diện” cho tài liệu, sau đó mới “Ký số” lên “đại diện” này. 1.1 Sơ đồ chữ ký số Sơ đồ chữ ký là bộ năm (P, A, K, S, V ), trong đó: P là tập hữu hạn các văn bản có thể. 3 A là tập hữu hạn các chữ ký có thể. K là tập hữu hạn các khoá có thể. S là tập các thuật toán ký. V là tập các thuật toán kiểm thử. Với mỗi khóa k thuộc K, có thuật toán ký Sig k thuộc S, Sig k : P ánh xạ vào A, có thuật toán kiểm tra chữ ký Ver k thuộc V, Ver k : P x A -> {đúng, sai}, thoả mãn điều kiện sau với mọi x thuộc P, y thuộc A: Đúng, nếu y = Sig k (x) Ver k (x, y) = Sai, nếu y khác Sig k (x) Chú ý Người ta thường dùng hệ mã hóa khóa công khai để lập “Sơ đồ chữ ký số”. Ở đây khóa bí mật a dùng làm khóa “ký”, khóa công khai b dùng làm khóa kiểm tra “chữ ký”. Ngược lại với việc mã hóa, dùng khóa công khai b để lập mã., dùng khóa bí mật a để giải mã. Điều này là hoàn toàn tự nhiên, vì “ký” cần giữ bí mật nên phải dùng khóa bí mật a để “ký”. Còn “chữ ký” là công khai cho mọi người biết, nên họ dùng khóa công khai b để kiểm tra. 2 Hàm băm và đại diện thông điệp của tài liệu Các tài liệu (bản tin) có thể dưới dạng văn bản, hình ảnh, âm thanh, …và kích thước của chúng tùy ý (vài KB đến vài chục MB), qua các thuật toán băm: như MD4, MD5, SHA, các “đại diện” tương ứng của chúng có kích thước cố định, ví dụ 128 bit với dòng MD, 160 bit với dòng SHA. “Đại diện” của tài liệu chính là giá trị của “hàm băm” trên tài liệu, nó còn được gọi là “tóm lược” hay “bản thu gọn” của tài liệu. Với mỗi tài liệu (đầu vào), qua “hàm băm” chỉ có thể tính ra được một “đại diện”- giá trị băm tương ứng - duy nhất. “Đại diện” của tài liệu được xem là “đặc thù” của tài liệu (thông điệp), giống như dấu vân tay của mỗi người. 4 Trên thực tế, hai tài liệu khác nhau có hai “đại diện” khác nhau. 2.1 Khái niệm hàm băm Hàm băm là thuật toán không dùng khóa để mã hóa (ở đây dùng thuật ngữ “băm” thay cho “mã hóa”), nó có nhiệm vụ “lọc” (băm) tài liệu (bản tin) và cho kết quả là một giá trị “băm” có kích thước cố định, còn gọi là “đại diện tài liệu” hay “đại diện bản tin”, “đại diện thông điệp”. 2.2 Tính chất hàm băm 1/. Hàm băm h là hàm một chiều (One-way Hash): Tính xuôi thì “dễ”, nhưng tính ngược thì “khó”. Tức là: Với thông điệp x thì “dễ” tính được z = h(x), nhưng “khó” tính ngược lại được x = h -1(z) nếu chỉ biết giá trị băm h(x) (Kể cả khi biết hàm băm h). Nội dung của bản tin gốc “khó” thể suy ra từ giá trị hàm băm của nó. 2/. Với bản tin đầu vào x, chỉ thu được giá trị băm duy nhất z = h(x). 3/. Nếu dữ liệu trong bản tin x bị thay đổi hay bị xóa để thành bản tin x’, thì giá trị băm h(x’) ≠ h(x). Cho dù chỉ là một sự thay đổi nhỏ, ví dụ chỉ thay đổi 1 bit dữ liệu của bản tin gốc x, thì giá trị băm h(x) của nó cũng vẫn thay đổi. Điều này có nghĩa là: hai thông điệp khác nhau, thì giá trị băm của chúng cũng khác nhau. 5 3 Quy trình ký số và kiểm tra chữ ký số, tính toàn vẹn được đảm bảo 3.1 Quy trình ký số Tại bước 1, tài liệu gốc được cho đi qua hàm băm để ra được giá trị băm. Bước 2, giá trị này được ký số bằng khóa riêng của người gửi để tạo thành chữ ký số. Tiếp đó, văn bản và chữ ký số được gửi qua mạng đến cho người nhận 3.2 Quy trình xác thực chữ ký số Tại máy của người nhận diễn ra quy trình xác thực chữ ký. Bước 1, tài liệu gửi đến được cho qua một hàm băm cùng loại với hàm băm tại quá trình ký số, ta sẽ có được giá trị băm 1 của tài liệu Bước 2, chữ ký số được giải mã bằng khóa công khai của người gửi ta có được giá trị băm 2 Bước 3, so sánh 2 giá trị băm 1 và băm 2, nếu chúng giống nhau thì tức là tài liệu đã được chuyển toàn vẹn từ người gửi sang người nhận. Quá trình xác thực chữ ký số dựa vào tính duy nhất của giá trị băm đối với mỗi tài liệu và tính liên kết giữa khóa riêng và khóa công khai của người gửi. Cụ thể, nếu giả sử tài liệu bị một bên thứ ba thay đổi thì khi đó giá trị băm của tài liệu sẽ bị thay đổi so với giá trị băm đầu vào của chữ ký số của văn bản. Từ đó ta có thể biết ngay tài liệu có bị 6 thay đổi không tại bước 3 trong quy trình xác thực chữ ký. Chữ ký số này mặt khác lại không thể bị làm giả do khóa riêng của người gửi được người gửi giữ an toàn và khóa công khai của người gửi nếu giải mã một chuỗi không phải chuỗi bit được khóa riêng tương ứng mã hóa thì sẽ không khôi phục được giá trị băm của tài liệu. 7 . ĐẠI HỌC CÔNG NGHỆ ĐẠI HỌC QUỐC GIA HÀ NỘI BÁO CÁO MÔN HỌC MẬT MÃ VÀ AN TOÀN DỮ LIỆU XÁC THỰC TÍNH TOÀN VẸN CỦA DỮ LIỆU BẰNG “CHỮ KÝ SỐ” Lớp môn học: Giảng viên: Mật mã và an toàn dữ liệu PGS.TS. “khóa lập mã . Để kiểm tra một “chữ ký số” thuộc về một “tài liệu số”, người ta giải mã “chữ ký số” bằng “khóa giải mã ., và so sánh với tài liệu gốc. Ký số” thực hiện trên từng bit tài liệu, . chữ ký số Những năm 80 của thế kỷ 20, các nhà khoa học đã phát minh ra “chữ ký số” để chứng thực một “tài liệu số”. Đó chính là “bản mã của xâu bít tài liệu. Người ta tạo ra “chữ ký số” (chữ ký