MỞ ĐẦU Trong kỷ nguyên công nghệ thông tin, Internet tại Việt Nam đã và đang có những bƣớc phát triển mạnh mẽ, tạo nền tảng cho những ứng dụng hết sức đa dạng và phong phú nhƣ chính phủ điện tử, giao dịch điện tử, truyền thông giải trí. Tuy nhiên một vấn đề lâu nay vẫn gây lo ngại cho các cấp quản lý cũng nhƣ đông đảo quần chúng và giới doanh nghiệp, đó là tính an toàn. Trên thực tế, rất nhiều website và thông tin dữ liệu về sản phẩm dịch vụ do không đảm bảo tính toàn vẹn đã bị sụp đổ. Các hacker có thể thâm nhập vào những hệ thống của các “đại gia” nhƣ Microsoft, Cisco, ở Việt Nam thì VDC, FPT cũng bị hacker thâm nhập.
Việc bị cƣớp tên miền cũng xảy ra nhiều lần. Cho tới nay, việc mã hoá dữ liệu là một phƣơng pháp đủ mạnh để bảo vệ những dữ liệu quan trọng hoặc riêng tƣ không bị xâm phạm bởi chú ý, tò mò. Tuy nhiên, ngày càng có nhiều tin tặc có thể thêm, tráo đổi dữ liệu, mạo danh một cách táo tợn và thiện nghệ. Chữ ký điện tử giúp ngƣời ta tin tƣởng vào tính nguyên vẹn của thông báo, xác thực đƣợc ngƣời ký thông báo và tạo chứng cứ không thể chối bỏ đƣợc về trách nhiệm của ngƣời ký.
Đó là lý do tại sao sự an toàn trong dữ liệu cần phải tích hợp các chữ ký điện tử, các chứng thực điện tử và phƣơng pháp quản lý khoá theo trật tự cấp bậc. Nếu áp dụng một cách khôn ngoan các phƣơng pháp này vào việc quản lý dữ liệu cùng với sự hỗ trợ của những khuôn mẫu thực thi, thì chúng ta sẽ có một nền tảng an toàn lƣu trữ đa tầng, toàn diện, có khả năng đối đầu đƣợc với tình trạng đe doạ đa chiều trƣớc mắt và trong tƣơng lai. Thị trƣờng an toàn thông tin tại Việt Nam đang bƣớc vào giai đoạn giao thời khi cơ cở hạ tầng truyền thông cơ bản đã hình thành rõ nét, nhu cầu sử dụng ngày càng nhiều các thiết bị của thời đại kỹ thuật số…Đã đến giai đọan cần phải nắn nót và trau chuốt lại hệ thống của mình, nếu không bảo đảm an toàn tốt, chúng ta sẽ đánh mất nhiều thứ. Có rất nhiều hệ mã hoá đã đƣợc biết đến trong lĩnh vực mật mã học.
Nhƣng không phải hệ mã hoá nào cũng đáp ứng đủ các thuộc tính cần thiết của hệ mật: tính bí 7 z mật, tính nguyên vẹn, tính xác thực, tính không bị từ chối và tính chống chối lặp. Có ba hệ mã hóa thông dụng đã đứng vững và đƣợc sử dụng để xây dựng các lƣợc đồ ký điện tử: RSA, hệ mã hoá dựa trên logarit rời rạc, và hệ mã hoá dựa trên đƣờng cong elliptic. Các hàm một chiều sử dụng trong hệ mã này đƣợc xem là an toàn theo thừa nhận,tức là không có thuật toán nào hữu hiệu để tính hàm ngƣợc của chúng. Trong khoảng mƣời năm trở lại đây, vấn đề này đang thu hút rất nhiều sự quan tâm của cộng đồng mật mã trên thế giới.
RSA đƣợc liệt vào một trong các giải thuật mã hóa bất đối xứng đƣợc dùng thông dụng nhất cho đến ngày hôm nay (ra đời năm 1977 tại MIT), RSA đƣợc đặt tên từ ba nhà khoa học phát minh ra nó: Ron Rivest, Adi Shamir, và Leonard Adleman. Nó đƣợc dùng hàng ngày trong các giao dịch thƣơng mại điện tử qua web browser (SSL), PGP, dùng cho chữ ký số đảm bảo tính toàn vẹn của các thông điệp khi lƣu chuyển trên Internet, phân phối & cấp phát các khoá bí mật. Mật mã khoá công khai liên quan đến các khái niệm, định nghĩa và cấu trúc của các hệ thống tính toán, liên quan đến tính an toàn. Để thiết kế các hệ thống mật mã phải dựa trên cơ sở vững chắc.
Nó dựa trên các công cụ toán học cơ bản nhƣ: lý thuyết số học-cụ thể lý thuyết đồng dƣ thức, logarit rời rạc, lý thuyết về độ phức tạp tính toán (hàm một chiều) cũng nhƣ khả năng phân tích các thuật toán… Ngƣời ta đang cố gắng đƣa ra những lƣợc đồ ký sao cho tính không thể giả mạo đƣợc của nó có thể đánh giá thông qua độ an toàn của các hàm một chiều mà nó sử dụng. Trong phạm vi luận văn này lƣợc đồ ký sử dụng hàm một chiều của hệ mã RSA-PSS đƣợc đi sâu nghiên cứu, trong đó nêu ra một số phƣơng pháp chứng minh cho tính an toàn của lƣợc đồ đó. Luận văn gồm 6 chƣơng: Chƣơng 1: Trong phần này luận văn trình bày những nghiên cứu lý thuyết về hệ mật khoá công khai bao gồm: Lịch sử ra đời và phát triển, định nghĩa hệ mật khoá công khai và xem xét tính an toàn của hệ mật khoá công khai. Chƣơng 2: Chƣơng này nghiên cứu cụ thể hệ mật khoá công khai và hệ chữ ký số RSA.
Những lý thuyết đƣợc đề cập đến bao gồm: Nghiên cứu quá trình tạo khoá, mã 8 z hoá, giả mã, và tính không an toàn của hệ mật RSA. Đồng thời cũng nghiên cứu tính an toàn của lƣợc đồ ký số RSA. Chƣơng 3: Giới thiệu tổng quan lƣợc đồ ký RSA-PSS bao gồm Cơ chế hoạt động, ƣu thế, các công trình chuẩn và một số nhận xét quý báo về lƣợc đồ ký này. Sau đấy định nghĩa và nghiên cứu cụ thể lƣợc đồ ký PSS2000.
Chƣơng 4: Nghiên cứu sự chuẩn hoá của lƣợc đồ ký RSA-PSS, cụ thể là các tiêu chuẩn tham số sử dụng trong chữ ký số RSA-PSS để áp dụng lƣợc đồ vào các ứng dụng thực tế an toàn. Chƣơng 5: Chứng minh tính toàn cho lƣợc đồ ký dựa vào phƣơng pháp xác suất. Chƣơng 6: Chứng minh tính toàn cho lƣợc đồ ký RSA-PSS và giới thiệu các mô hình an toàn của lƣợc đồ ký RSA-PSS với việc khôi phục thông điệp 9 z Chƣơng 1 NGHIÊN CỨU HỆ MẬT KHOÁ CÔNG KHAI 1.1 Lịch sử ra đời và phát triển Trong hầu hết lịch sử mật mã học, khóa dùng trong các quá trình mã hóa và giải mã phải đƣợc giữ bí mật và cần đƣợc trao đổi bằng một phƣơng pháp an toàn khác (không dùng mật mã) nhƣ gặp nhau trực tiếp hay thông qua một ngƣời đƣa thƣ tin cậy. Vì vậy quá trình phân phối khóa trong thực tế gặp rất nhiều khó khăn, đặc biệt là khi số lƣợng ngƣời sử dụng rất lớn.
Mật mã khóa công khai đã giải quyết đƣợc vấn đề này vì nó cho phép ngƣời dùng gửi thông tin mật trên đƣờng truyền không an toàn mà không cần thỏa thuận khóa từ trƣớc. Mật mã khóa công khai đƣợc thiết kế đầu tiên bởi James H. Ellis, Clifford Cocks, và Malcolm Williamson tại GCHQ (Anh) vào đầu thập kỷ 1970. Sau này đƣợc phát triển và biết đến là một trƣờng hợp đặc biệt của RSA.
Tuy nhiên những thông tin này chỉ đƣợc tiết lộ vào năm 1997. Năm 1976, Whitfield Diffie và Martin Hellman công bố một hệ thống mật mã khóa bất đối xứng trong đó nêu ra phƣơng pháp trao đổi khóa công khai. Công trình này chịu ảnh hƣởng từ xuất bản trƣớc đó của Ralph Merkle về phân phối khóa công khai. Trao đổi khóa Diffie-Hellman là phƣơng pháp có thể áp dụng trên thực tế đầu tiên để phân phối khóa bí mật thông qua một kênh thông tin không an toàn.
Kỹ thuật thỏa thuận khóa của Merkle có tên là hệ thống câu đố Merkle. Thuật toán đầu tiên cũng đƣợc Rivest, Shamir và Adleman tìm ra vào năm 1977 tại MIT. Công trình này đƣợc công bố vào năm 1978 và thuật toán đƣợc đặt tên là RSA. RSA sử dụng phép toán tính hàm mũ môđun (môđun đƣợc tính bằng tích số của 2 số nguyên tố lớn khác nhau) để mã hóa và giải mã cũng nhƣ tạo chữ ký số.
An toàn của thuật toán đƣợc đảm bảo với điều kiện là không tồn tại kỹ thuật hiệu quả để phân tích một số rất lớn thành thừa số nguyên tố.[3] 10 z Kể từ thập kỷ 1970, đã có rất nhiều thuật toán mã hóa, tạo chữ ký số, thỏa thuận khóa. đƣợc phát triển. Các thuật toán nhƣ ElGamal (mật mã) do Netscape phát triển hay DSA do NSA và NIST dựa trên các bài toán lôgarit rời rạc. Vào giữa thập kỷ 1980, Neal Koblitz bắt đầu cho một dòng thuật toán mới: mật mã đƣờng cong elliptic và cũng tạo ra nhiều thuật toán tƣơng tự.
Mặc dù cơ sở toán học của dòng thuật toán này phức tạp hơn nhƣng lại giúp làm giảm khối lƣợng tính toán, đặc biệt khi khóa có độ dài lớn.2 Định nghĩa hệ mật khoá công khai Định nghĩa một sơ đồ hệ thống mật mã Một sơ đồ hệ thống mật mã là một bộ năm S = (P,C,K,E,D) thoả mãn các điều kiện sau đây: 1. P là một tập hữu hạn các bản rõ. C là một tập hợp hữu hạn các bản mã 3. K là một tập hữu hạn các khóa 4.
E là một ánh xạ từ K P C, đƣợc gọi là phép lập mật mã và D là một ánh xạ từ K C P, đƣợc gọi là phép giải mã. Với mỗi k K, ta định nghĩa ek: P C, dk : : C P là hai hàm cho bởi: x P: ek(x) = E(k,x); y C: dk(y) = D(k,y); ek và dk đƣợc gọi lần lƣợt là hàm lập mã và hàm giải mã ứng với khóa mật mã k. Các hàm đó phải thỏa mãn hệ thức: x P: dk(ek(x)) = x. Bây giờ chúng ta xem một bài toán truyền thông tin giữa hai thành phần là Bob và Alice đƣợc minh hoạ nhƣ hình vẽ dƣới đây.
11 z Chọn một số ngẫu nhiên lớn để sinh cặp kkhóa. Dùng khoá công khai để mã hóa, nhƣng dùng khoá bí mật để giải mã.1 Minh họa sau hệ mật khoá công khai Bob chọn cặp khoá (e,d). Bob gửi khoá mã hoá e (đƣợc gọi là khoá công khai) cho Alice qua một kênh nào đó nhƣng giữ lại khóa giải mã d an toàn và bảo mật (đƣợc gọi là khóa bí mật). Sau đó Alice có thể gửi một thông điệp m cho Bob bằng cách áp dụng phép biến đổi mã hóa đƣợc xác định bởi khóa công khai của Bob để có đƣợc c=E e(m).
Bob giải mã bản mã c bằng cách áp dụng phép biến đổi ngƣợc Dd đƣợc xác định duy nhất bởi d. 12 z Ta có thể mô phỏng trực quan một hệ mật mã khoá công khai nhƣ sau : Bob muốn gửi cho Alice một thông tin mật mà Bob muốn duy nhất Alice có thể đọc đƣợc. Để làm đƣợc điều này, Alice gửi cho Bob một chiếc hộp có khóa đã mở sẵn và giữ lại chìa khóa.