Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA chống tấn công mã hóa liên tiếp

MỤC LỤC

XÂY DỰNG HỆ TIÊU CHUẨN THAM SỐ AN TOÀN CHO HỆ THỐNG MẬT MÃ RSA

CÁC TIÊU CHUẨN MỚI CHỐNG LẠI TẤN CÔNG MÃ HOÁ LIÊN TIẾP

    Tuy nhiên, với các tiêu chuẩn về độ lớn của số mũ công khai và số mũ bớ mật được đưa ra trong [10] thỡ hệ mật mó RSA rừ ràng khụng an toàn trước tấn công của kiểu tấn công của Boneh và Durfee đã trình bày ở trên. Phép tấn công mã hoá liên tiếp để giải bài toán RSA được thực hiện theo thuật toán sau. Theo định nghĩa về chu kỳ RSA thỡ rừ ràng thuật toỏn sẽ thành cụng sau đúng per(m) vòng lặp từ bước 2 đến bước 4.

    Để có thể chống được tấn công trên ta cần thiết kế được bộ tham số RSA sao cho tập. Tương tự để ord mN không là bội của q1 thì ord mq không là bội của q1, trong q* có đúng. Với kết quả trên chúng ta thấy mật độ m*N để ord mN không là bội của p1 và q1 là không quá.

    Từ các kết quả trên ta có thể đề xuất các tiêu chuẩn dưới đây cho các số nguyên tố p, q và số mũ công khai e để đảm bảo rằng hệ mã hoá khoá công khai RSA an toàn trước kiểu tấn công mã hoá liên tiếp theo nghĩa xác suất để tấn công mã hoá liên tiếp thành công với độ phức tạp bé hơn độ an toàn mà hệ thống RSA cung cấp là không đáng kể (≤. Theo định nghĩa về chu kỳ RSA, các thông điệp không thể bị che dấu sẽ có chu kỳ RSA bằng 1, như vậy chúng thuộc tập các thông điệp đã được xem xét khi xây dựng các tiêu chuẩn chống lại tấn công mã hoá liên tiếp.

    Bảng 2.7: Độ dài tối thiểu của p 11 , q 11
    Bảng 2.7: Độ dài tối thiểu của p 11 , q 11

    CÁC TIÊU CHUẨN AN TOÀN CHO THAM SỐ RSA ĐƯỢC ĐỀ XUẤT

    Một thụng điệp rừ m*N được gọi là thụng điệp khụng thể bị che dấu nếu me(modN)m. Độ dài tối thiểu theo bít của số mũ bí mật d được cho như bảng 2.13. Tiêu chuẩn E1 (Tiêu chuẩn thứ nhất cho số mũ công khai e) e có độ dài tối thiểu là 32 bít.

    Bảng 2.9: Tiêu chuẩn PQ2.
    Bảng 2.9: Tiêu chuẩn PQ2.

    SINH VÀ TÍCH HỢP THAM SỐ RSA AN TOÀN CHO DỊCH VỤ BẢO MẬT WEB

    THUẬT TOÁN SINH THAM SỐ RSA AN TOÀN

      Ngoài ra ta có thể cụ thể hoá các tiêu chuẩn mang tính định lượng có trong hệ tiêu chuẩn.  random(x) hàm sinh ngẫu nhiên một số nguyên nhỏ hơn hoặc bằng số nguyên x. level Qui ước về mức độ dài modulus. p Số nguyên tố cần sinh p0 Ước nguyên tố của |p-q|. Giá trị trả về:. Phân tích thuật toán 3.1.  Số nguyên p ở đầu ra của thuật toán trên là số nguyên tố:. Cơ sở của khẳng định trên dựa trên hệ quả của định lý dưới đây. Nếu tồn tại số nguyên a sao cho. không là ước thực sự của F.  Điều kiện thành công của thuật toán 3.1. thay condlen được tính từ bước 1 của thuật toán 3.1 ta có:. Như vậy trong thuật toán 3.1 ta có thể kiểm tra cỡ 5plen ứng cử viên cho p. Để xem xét khả năng tồn tại các ứng cử viên trong cỡ 5L số ứng cử viên cho p được tính theo thuật toán trên ta có thể đánh giá thô thông qua việc sử dụng một kết quả được đưa ra trong [19] như sau:. Từ công thức tính ứng cử viên cho p trong thuật toán là.  Số lượng số nguyên tố trong tmax – tmin ứng cử viên là #p. Bây giờ ta đánh giá vế phải của tương đương trên, chú ý rằng. max min 8log2 max. Với Pmax và Pmin là các số có cùng độ dài theo bít, ta có đánh giá thô:. Như vậy, theo kết quả đánh giá thô trong 8L ứng cử viên sẽ tồn tại trên 8 ứng cử viên là nguyên tố có độ dài L bít. level Độ dài theo bít của số nguyên tố cần sinh q. p Số nguyên tố thứ nhất dùng để tính RSA modulus p0 Ước nguyên tố của |p-q|. Giá trị trả về:. Nếu counter > 5qlen thì chuyển sang bước 15. Phân tích thuật toán 3.2. i) Số nguyên q được sinh bởi Thuật toán 3.2 chắc chắn là số nguyên tố. Bây giờ chúng ta xem xét các tính chất của các số nguyên tố p, q được sinh bởi các Thuật toán 3.1 và 3.2.

      Mặt khác, nếu với cách tính độ n0 trong bước 2 của thuật toán 3.1 thì khi đó tiêu chuẩn PQ5 được thoả mãn. Bước 1 của thuật toán đảm bảo tiêu chuẩn về độ dài modulus được thoả mãn (tiêu chuẩn N1). Bước 4 của thuật toán có thể được lặp lại nhiều lần để sinh được số nguyên tố q.

      Bảng 3.1: Cụ thể hoá một số tiêu chuẩn mang tính định lượng
      Bảng 3.1: Cụ thể hoá một số tiêu chuẩn mang tính định lượng

      XÂY DỰNG CHƯƠNG TRÌNH SINH THAM SỐ RSA AN TOÀN Nội dung chính của phần này trình bày về việc xây dựng chương trình

        Sinh số nguyên tố có độ dài theo bít cho trước theo thuật toán sinh số nguyên tố tất định của Maurer (Thuật toán 1.14). Sinh số mũ bí mật và số mũ công khai cho bộ tham số RSA an toàn theo Thuật toán 3.3. 1 Quá trình sinh tham số RSA thành công 0 Quá trình sinh tham số RSA thất bại.

        Chi tiết về mã nguồn một số hàm quan trọng được luận án liệt kê trong Phụ lục 1. Luận án thực hiện chạy bộ chương trình đã được xây dựng trên máy tính cá nhân (PC) Dell Optiplex 2100L với cấu hình: CPU Intel Pentium IV 3 GHz, 256 Mb RAM. Để sinh mỗi loại theo độ dài modulus là 100 bộ, thời gian chạy được thống kê trong bảng 3.2.

        Kết quả chạy chương trình ngoài việc ghi lại các bộ tham số RSA an toàn đã sinh được, chương trình còn lưu lại các số nguyên tố p, q, p0, p1, p2, q1, q2 và bằng chứng về tính nguyên tố của chúng. Dưới đây là một ví dụ về bằng chứng nguyên tố của số nguyên tố p.

        Bảng 3.2: Thời gian sinh các bộ tham số RSA an toàn
        Bảng 3.2: Thời gian sinh các bộ tham số RSA an toàn

        ỨNG DỤNG THAM SỐ RSA AN TOÀN

          Bởi vậy, để các tham số RSA an toàn có tính phổ dụng trên thực tế ta thực hiện tích hợp thuật toán sinh chúng cho một bộ công cụ phần mềm mã nguồn mở thực thi chức năng phát hành quản lý chứng chỉ điện tử, bộ phần mềm OpenSSL phiên bản 0.9.8j. Sau khi tích hợp thành công bộ chương trình sinh tham số RSA an toàn cho OpenSSL-0.9.8j, ta có thể sử dụng công cụ này cho mục đích quản lý và phân phối tham số công khai RSA dưới dạng các chứng chỉ điện tử. Phần này sẽ thực hiện giải pháp đã nêu ở các phần trước: lựa chọn, khai thác, tìm hiểu và sửa đổi mã nguồn các phần mềm Web server và trình duyệt Web có mã nguồn mở nhằm tạo ra các ứng dụng có thể áp dụng được các tham số RSA an toàn đã được sinh cho mục đích bảo mật dịch vụ Web.

          Các phần mềm Web server và trình duyệt Web mã nguồn mở hiện nay có rất nhiều, dưới đây là tóm lược một số bộ mã nguồn mở tương đối phổ thông hiện nay đối với cộng đồng người dùng trên thế giới (lược trích từ [14]. Trên cơ sở tìm hiểu ban đầu về một số bộ phần mềm mã nguồn mở Web server và trình duyệt Web được công bố trên thế giới, luận án lựa chọn bộ phần mềm Web server Apache phiên bản 2.2.15 và bộ phần mềm trình duyệt Mozilla Firefox phiên bản 3.6 để tìm hiểu, nghiên cứu và phát triển chúng thành các bộ phần mềm phục vụ cho việc bảo mật thông tin được trao.  Đây là hai bộ phần mềm thực hiện chức năng của Web server và trình duyệt Web có mã nguồn mở hiện đang được sử dụng phổ biến nhất ở nước ta cũng như trên thế giới (theo [14] số lượng người dùng trình duyệt Mozilla Firefox chỉ đứng sau trình duyệt Internet Explorer của Microsoft).

          Để có thể tích hợp thêm hoặc thay thế các thuật toán và các tham số mật mã cho hai bộ phần mềm trên, chúng ta cần có những hiểu biết chi tiết về cấu trúc của các phần mềm này, đặc biệt là cấu trúc của các mô đun cung cấp các dịch vụ mật mã cho chúng. Bởi vậy ta đã thực hiện việc sửa đổi mô đun NSS của bộ phần mềm này với mục đích làm cho trình duyệt Mozilla Firefox phiên bản 3.6 có thể hoạt động tương thích với các bộ tham số RSA an toàn.

          Bảng 3.3: Một số bộ phần mềm Web server mã nguồn mở  Web server  Nhà phát triển  Có hỗ trợ
          Bảng 3.3: Một số bộ phần mềm Web server mã nguồn mở Web server Nhà phát triển Có hỗ trợ

          MỘT SỐ HÀM CHÍNH TRONG CHƯƠNG TRÌNH SINH THAM SỐ RSA AN TOÀN

          SỬ DỤNG THAM SỐ RSA AN TOÀN BẢO MẬT DỊCH VỤ WEB

          CÀI ĐẶT CHỨNG CHỈ SỐ CHO CHO MOZILLA FIREFOX Việc cài đặt chứng chỉ người dùng được thực hiện qua các bước dưới

          Chọn "Import" rồi thực hiện theo hướng dẫn của các hộp hội thoại xuất hiện trên màn hình để chọn tệp lưu chứng chỉ cần cài đặt. Quá trình cài đặt thành công khi trên màn hình xuất hiện hộp hội thoại thông báo như hình B.3. Việc cài đặt chứng chỉ cho CA (tổ chức phát hành và quản lý chứng chỉ cho các thực thể sử dụng) hoàn toàn tương tự như việc cài đặt chứng chỉ cho trình duyệt, khi ta sử dụng Tab "Authorities" trong hình B.2.

          Sau khi cài đặt xong chứng chỉ của CA ta vừa cài đặt xuất hiện trong danh sách chứng chỉ của các tổ chức CA như hình B.6.

          Hình B.2: Hộp hội thoại quản lý chứng chỉ
          Hình B.2: Hộp hội thoại quản lý chứng chỉ

          CÀI ĐẶT CHỨNG CHỈ SỐ CHO APACHE SERVER

          Đối với tệp httpd-ssl.conf chúng ta cần chỉnh sửa lại các thẻ cấu hình phần chỉ ra đường dẫn các tệp chứng chỉ, khoá bí mật dùng cho Web server và tệp chứng chỉ của CA. Khi thiết lập cấu hình xong cho Apache server chúng ta cần khởi động lại ứng dụng này (sử dụng nút lệnh "Restart").

          Hình B.7: Công cụ quản trị Apache
          Hình B.7: Công cụ quản trị Apache