Trong bối cảnh hiện tại, mọi hệ thống thông tin điện tử đều phải đƣơng đầu với bài toán đảm bảo an toàn và bảo mật. Nhƣ nội dung chƣơng 1 đã trình bày, có nhiều chiến lƣợc cũng nhƣ phƣơng pháp bảo đảm an toàn thông tin. Trong đó, an toàn thông tin bằng mật mã có vai trò rất quan trọng và đƣợc ứng dụng rộng khắp. Từ các cơ sở toán của mật mã nhƣ thuật toán trong không gian Zp, bài toán logarrit rời rạc …góp phần tạo ra hai hệ thống mã hóa (khóa công khai và khóa bí mật). Khi triển khai trong thực tiễn, qua việc phân tích ƣu nhƣợc điểm của hai phƣơng pháp có thể cho ta kết luận rằng hệ thống mật mã với khóa công khai có hiệu quả hơn cả. Chính vì vậy, luận văn lựa chọn hệ mã RSA giải quyết bài toán ký và xác minh văn bản quản lý nhà nƣớc. Qua việc trình bày ở trên ta thấy đƣợc sự an toàn cũng nhƣ cách tránh tấn công vào hệ mã hóa RSA. Hệ mã RSA là một công cụ chính trong việc tạo ra chữ ký số, vấn đề này sẽ đƣợc phân tích chi tiết trong chƣơng 2.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Chƣơng 2. CHỮ KÝ ĐIỆN TỬ
Chƣơng này sẽ tập trung vào mô hình chữ ký số, trọng tâm là chữ ký số RSA và những ứng dụng của nó. Chữ ký số ra đời chính là nhằm giải quyết những vấn đề chƣa giải quyết đƣợc của xác thực và toàn vẹn dữ liệu.
2.1. ĐẶT VẤN ĐỀ 2.1.1. Vấn đề xác thực
Bảo mật thông tin luôn là vấn đề quan trọng hàng đầu trong mọi lĩnh vực và cũng là vấn đề đƣợc nghiên cứu hàng nghìn năm nay. Trong thời đại bùng nổ công nghệ thông tin ngày nay, hầu nhƣ các hoạt động, giao dịch đều đƣợc thực hiện qua mạng máy tính. Mạng máy tính cho phép mọi ngƣời truy cập, khai thác và chia sẻ thông tin. Trong trao đổi thông tin qua mạng, thông điệp đƣợc truyền đi giữa bên gửi và bên nhận cần có các tiêu chuẩn cần xác minh, đó chính là xác thực. Xác thực thông báo là một kỹ thuật trong mật mã học để xác minh tính đúng đắn của thông báo đƣợc gửi. Một thông báo đƣợc xác thực khi thỏa mãn các yêu cầu:
- Thông báo có nguồn gốc rõ ràng, chính xác - Nội dung thông báo toàn vẹn, không bị thay đổi - Thông báo đƣợc gửi đúng trình tự và thời điểm Các phƣơng pháp xác thực:
Xác thực thông báo có thể đƣợc sử dụng cả bằng hệ mã khóa bí mật giữa những ngƣời dùng chung khóa hoặc dùng mã khóa công khai bằng cách ngƣời gửi dùng khóa bí mật của mình để mã hóa thông báo gửi. Một số phƣơng pháp xác thực thông dụng.
+ Mã hóa thông báo sử dụng một trong hai cách mã hóa đối xứng hoặc công khai.
+ Sử dụng mã xác thực thông báo (MAC): MAC là một kỹ thuật xác thực thông báo bằng cách sử dụng một khóa bí mật.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
+ Sử dụng hàm băm: Hàm băm sẽ tạo ra một giá trị cố định từ một thông báo đầu vào. Ngƣời tham gia trao đổi cũng sẽ tạo ra một giá trị băm từ thông báo nhận đƣợc, rồi so sánh nó với giá trị băm nhận đƣợc cùng thông báo để kiểm tra tính đúng đắn.
2.1.2. Vấn đề chữ ký số
Xác thực thông báo bảo vệ hai bên tham gia trong quá trình trao đổi thông tin từ ngƣời thứ ba. Tuy nhiên, xác thực thông báo không có tác dụng khi bên gửi và bên nhận muốn gây hại cho nhau:
- Bên nhận giả mạo thông báo của bên gửi - Bên gửi chối là đã gửi thông báo đến bên nhận
- Chữ ký số không những giúp xác thực thông báo mà còn bảo vệ mỗi bên khỏi bên kia
Hình 2.1. Tổng quan về chữ ký số
Kỹ thuật chữ ký số hay chữ ký điện tử là kỹ thuật sử dụng kỹ thuật số để mô phỏng chữ ký bằng tay. Kỹ thuật số đƣợc dùng để xác định ngƣời đã tạo ra và chịu trách nhiệm với thông tin mà ngƣời đó ký vào. Kỹ thuật chữ ký số gồm 2 phần : thuật toán ký tên và thuật toán xác nhận và kiểm tra chữ ký. Theo kỹ thuật này thì chỉ có ngƣời tạo ra thông điệp mới có thể ký tên và tất cả mọi ngƣời đều có thể kiểm chứng chữ ký. Mô hình chữ ký số cũng giống nhƣ mô hình mã hóa công khai. Do vậy, thuật
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
toán RSA có thể đƣợc áp dụng để xây dựng chữ ký số. Hiện nay, có 3 thuật toán chữ ký số thông dụng là chữ ký RSA, chữ ký Elgamall và chữ ký DSS (Digital Signature Standard).
2.2. HÀM BĂM MẬT MÃ 2.2.1. Định nghĩa
Hàm băm (hash function) là một trong hai kỹ thuật chủ yếu phục vụ quá trình xác thực. Chức năng chính của nó là thực hiện ánh xạ các bản tin có chiều dài khác nhau thành một miếng băm có kích thƣớc cố định. Miếng băm mới tạo ra thƣờng có kích thƣớc nhỏ hơn rất nhiều so với bản tin ban đầu.
Một giá trị miếng băm h đƣợc sinh ra bởi hàm băm H có dạng: h= H(M) trong đó: M là bản tin có chiều dài tùy ý, h là giá trị băm chiều dài cố định. [6]
Các yêu cầu đối với hàm băm
- Hàm H có thể áp dụng cho các khối dữ liệu với kích thƣớc tùy ý. - Đầu ra của hàm H có độ dài xác định.
- Việc tính giá trị H(x) đủ đơn giản để việc cài đặt là khả thi đối với cả phần mềm và phần cứng.
- Hàm H là hàm một chiều, nghĩa là với x cho trƣớc thì H(x) xác định nhƣng với h cho trƣớc thì việc tính x là cực kỳ khó khăn.
- Với hai giá trị đầu vào x ≠ y thì H(x) ≠ H(y)
Hiện nay, một số kỹ thuật băm đƣợc sử dụng phổ biến nhƣ: SHA-1, SHA-256, SHA-384, SHA-512, MD-4, MD-5.
Trong lĩnh vực mã hóa thông tin, mã băm đƣợc xem nhƣ đặc trƣng thu gọn của một chuỗi bit tùy ý và dùng để nhận ra chuỗi bít đó. Hàm băm chính là công cụ để tạo ra chữ ký số và đảm bảo an toàn dữ liệu.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
2.2.2. Phân loại
Hàm băm một chiều (one- way hash functions): Là hàm băm mang tính chất với mọi mã băm biết trƣớc, không thể tính toán để tìm đƣợc chuỗi bit ban đầu vào mã có băm trùng với mã băm đã cho [6]
Hàm băm kháng xung đột (collision resistant hash funcsions): Là hàm băm mang tính chất không thể tính toán để tìm ra chuỗi bit có cùng giá trị băm
- (I) Có thể áp dụng với thông báo đầu có độ dài bất kỳ - (II) Tạo ra giá trị băm y = h(x) có độ dài cố định - (III) h(x) có thể dễ dàng tính đƣợc với bất kì x nào
- (IV) Tính một chiều: Với mọi đầu ra y cho trƣớc không thể tìm đƣợc x’ sao cho h(x’) bằng giá trị y cho trƣớc
- (V) Tính chống xung đột yếu: Với mọi dữ liệu đầu vào x1 cho trƣớc không thể tìm đƣợc bất kì giá trị x2 nào (x2 khác x1) mà h(x2) = h(x1)
- (VI) Tính chống xung đột mạnh: Không thể tính toán để tìm đƣợc dữ liệu đầu vào x1 và x2 phân biệt sao cho chúng có cùng giá trị băm (h(x1) = h(x2))
Nhƣ vậy dựa theo tính chất trên ta thấy hàm băm một chiều thỏa mẫn tính chất IV và tính chất V, còn hàm băm kháng xung đột thỏa mãn tính chất IV và tính chất VI.