Đề tài Nghiên cứu, phát triển các lược đồ chữ ký sô tập thể

Mô hình chữ ký s ố t ập thể : đây là mô hình ứng dụng chữ ký số nhằm đáp ứng yêu c ầ u xác thực nguồn gốc và tính toàn vẹ n cho các thông điệ p dữ li ệ u ở nhi ều c ấ p độ khác nhau, ứng dụng phù hợp trong các tổ chức xã hội, các cơ quan hành chính nhà nư ớc, các doanh nghi ệp,. K ết qu ả này được th ể hi ệ n ở công trình số [ 4] , [ 5] c ủa Lu ậ n án. - Lược đồ cơ sở LD 1.01: đây là m ột d ạ ng thuậ t toán ch ữ k‎ ý số mới đư ợc xây dựng trên cơ sở bài toán khai căn trên vành Z n=p.q , trong đó { p,q} là các s ố nguyên t ố phân bi ệt. K ế t qu ả này được th ể hiệ n ở công trình s ố [ 5] c ủa Lu ậ n án. - Lược đ ồ cơ sở LD 2.01: đư ợc xây dựng trên cơ sở bài toán logarit r ời r ạ c trên trư ờng hữu hạ n nguyên tố theo cùng nguyên t ắ c với các lư ợc đồ chữ k‎ ý h ọ ElGamal (DSS, GOST R34.10- 94). Lược đồ này có ưu đi ểm so v ới các lư ợc đồ họ El Gamal là chỉ c ầ n sử dụng m ột khóa bí m ậ t duy nh ấ t đ ể hình thành chữ ký, do đó đã khắ c ph ục đư ợc y ế u điểm của các lư ợc đồ họ ElGamal khi khóa thứ hai bị s ử d ụng lặ p l ại. K ế t qu ả này được thể hi ệ n ở công trình số [ 6] , [ 7] , [ 8] c ủa Luậ n án. - Các lược đồ chữ ký s ố t ập thể : đư ợc phát tri ể n từ các lư ợc đồ cơ sở (LD 1.01, LD 2.01) theo mô hình ứng dụng m ới đ ề xuấ t, có th ể đáp ứng yêu cầ u chứng th ực các thông đi ệ p dữ li ệ u trong các giao dị ch đi ệ n tử áp d ụng cho các t ổ chức xã hội, cơ quan hành chính nhà nư ớc, các doanh nghi ệp,. K ế t qu ả này đư ợc th ể hi ệ n ở công trình s ố [ 4] , [ 5 ] , [ 6] c ủa Lu ậ n án.

pdf24 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2427 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu, phát triển các lược đồ chữ ký sô tập thể, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 MỞ ĐẦU 1. Tính cấp thiết của đề tài Trong các giao dịch điện tử, chữ ký số được sử dụng nhằm đáp ứng yêu cầu chứng thực về nguồn gốc và tính toàn vẹn của thông tin. Các mô hình ứng dụng chữ ký số hiện tại cho phép đáp ứng tốt các yêu cầu về chứng thực nguồn gốc thông tin được tạo ra bởi những thực thể có tính độc lập. Tuy nhiên, khi mà các thực thể tạo ra thông tin là thành viên hay bộ phận của một tổ chức (đơn vị hành chính, hệ thống kỹ thuật,...) thì nguồn gốc thông tin ở cấp độ tổ chức mà thực thể tạo ra nó là một thành viên hay bộ phận lại không được chứng thực. Hiện tại, có thể chưa được đặt ra yêu cầu có tính cấp thiết về vấn đề này, nhưng trong một tương lai không xa, khi Chính phủ điện tử và Thương mại điện tử cùng với hạ tầng công nghệ thông tin và truyền thông đã phát triển mạnh mẽ thì nhu cầu ứng dụng chữ ký số với các yêu cầu đặt ra như thế sẽ là tất yếu. Xuất phát từ thực tế đó, NCS đã chọn đề tài “Nghiên cứu, phát triển các lƣợc đồ chữ ký sô tập thể” với mong muốn có những đóng góp vào sự phát triển khoa học và công nghệ chung của đất nước. 2. Đối tƣợng và phạm vi nghiên cứu Đối tượng nghiên cứu của Luận án bao gồm: - Cơ sở của các hệ mật khóa công khai và các lược đồ chữ ký số. - Nguyên lý xây dựng các hệ mật khóa công khai và lược đồ chữ ký số. - Các mô hình ứng dụng mật mã khóa công khai và chữ ký số. Phạm vi nghiên cứu của Luận án bao gồm: - Các chuẩn chữ ký số DSS của Hoa Kỳ và GOST R34.10-94 của Liên bang Nga và các cơ sở toán học liên quan. 3. Mục tiêu nghiên cứu Mục tiêu nghiên cứu của Luận án bao gồm: - Đề xuất mô hình ứng dụng chữ ký số nhằm đáp ứng các yêu cầu đặt ra khi triển khai một Chính phủ điện tử trong thực tế xã hội, áp dụng phù hợp cho đối tượng là các tổ chức, cơ quan hành chính, các doanh nghiệp,.... - Phát triển một số lược đồ chữ ký số có độ an toàn và hiệu quả thực hiện cao theo mô hình đã đề xuất. 4. Phƣơng pháp nghiên cứu - Phát triển một số lược đồ cơ sở dựa trên các chuẩn chữ ký số được đánh giá có độ an toàn và hiệu quả thực hiện cao. - Xây dựng một số lược đồ chữ ký số theo mô hình ứng dụng mới đề xuất có khả năng ứng dụng trong thực tiễn. 2 5. Nội dung nghiên cứu Nội dung nghiên cứu của Luận án bao gồm: - Các chuẩn chữ ký số DSS của Hoa Kỳ và GOST R34.10-94 của Liên bang Nga. - Phát triển một số lược đồ cơ sở dựa trên các lược đồ chữ k‎ý RSA, DSA và GOST R34.10-94. - Xây dựng một số lược đồ chữ ký số từ các lược đồ cơ sở theo mô hình ứng dụng mới đề xuất. 6. Ý nghĩa khoa học và thực tiễn - Đề xuất mô hình ứng dụng chữ ký số nhằm đáp ứng các yêu cầu đặt ra cho việc chứng thực các văn bản, tài liệu,… khi triển khai một Chính phủ điện tử trong thực tế xã hội. Mô hình mới đề xuất áp dụng phù hợp cho đối tượng là các tổ chức, cơ quan hành chính, các doanh nghiệp,....hoàn toàn phù hợp với các thủ tục hành chính trong thực tế hiện nay. - Một số lược đồ chữ ký‎ số được đề xuất có tính mới về nguyên l‎ý xây dựng, có tính ứng dụng thực tế, khả thi và không vi phạm về vấn đề bản quyền. 7. Bố cục của luận án Luận án bao gồm 3 chương cùng với các phần Mở đầu, Kết luận và Danh mục các công trình, bài báo đã được công bố của tác giả liên quan đến các vấn đề nghiên cứu của Luận án. Chương 1. Khái quát về mô hình chữ ký số tập thể và hướng nghiên cứu của đề tài. Trình bày một số khái niệm và thuật ngữ liên quan đến các nội dung nghiên cứu và được sử dụng trong Luận án. Định hướng nghiên cứu của đề tài Luận án. Đề xuất mô hình ứng dụng chữ ký‎ số áp dụng phù hợp cho đối tượng là các tổ chức có tư cách pháp nhân trong xã hội. Chương 2. Xây dựng lược đồ chữ ký số tập thể dựa trên hệ mật RSA. Trình bày cơ sở toán học của hệ mật RSA, từ đó đề xuất xây dựng một dạng lược đồ chữ ký‎ số làm cơ sở để phát triển các lược đồ chữ ký số tập thể theo mô hình ứng dụng đã đề xuất ở Chương 1. Chương 3. Xây dựng lược đồ chữ ký số tập thể dựa trên hệ mật ElGamal. Đề xuất xây dựng một lược đồ chữ k‎ý số theo cùng nguyên tắc với các thuật toán chữ k‎ý số họ ElGamal như DSA, GOST R34.10-94, từ đó phát triển 2 lược đồ chữ ký số tập thể theo mô hình mới đề xuất. 3 CHƢƠNG 1 KHÁI QUÁT VỀ MÔ HÌNH CHỮ KÝ SỐ TẬP THỂ VÀ HƢỚNG NGHIÊN CỨU CỦA ĐỀ TÀI Nội dung Chương 1 phân tích các yêu cầu của thực tế, từ đó đề xuất mô hình ứng dụng chữ k‎ý số nhằm đáp ứng các yêu cầu thực tế đặt ra. Mô hình này được sử dụng để phát triển các lược đồ chữ ký số trong các chương tiếp theo. Nội dung Chương 1 cũng thống nhất một số khái niệm và thuật ngữ liên quan được sử dụng trong Luận án. 1.1 Một số khái niệm và thuật ngữ liên quan 1.1.1 Một số khái niệm 1.1.2 Các thuật ngữ liên quan 1.2 An toàn thông tin trong các hệ thống truyền tin 1.2.1 Các hệ thống truyền tin và một số vấn đề về an toàn thông tin Cấu trúc của một hệ thống truyền tin với các thành phần chức năng cơ bản được chỉ ra trên Hình 1.1 như sau: Đứng về quan điểm an toàn thông tin, một hệ thống như thế có thể tiềm ẩn nhiều nguy cơ gây mất an toàn, như: - Lộ bí mật thông tin. - Thông tin có thể bị mất mát, sai lệch. - Thông tin có thể bị giả mạo. 1.2.2 Giải pháp an toàn thông tin trong các hệ thống truyền tin Trên thực tế, kỹ thuật mật mã là một giải pháp hiệu quả cho việc bảo đảm an toàn thông tin trong các hệ truyền dẫn và xử lý thông tin phân tán. Mô hình chung của một hệ thống truyền tin an toàn sử dụng mật mã được chỉ ra trên Hình 1.2. Nguồn tin Điều chế Giải điều chế Nhận tin Hình 1.1 Cấu trúc của một hệ truyền tin cơ bản Kênh truyền Bên phát Bên thu 4 1.3 Hƣớng nghiên cứu của đề tài Luận án 1.3.1 Các vấn đề thực tế và những hạn chế của mô hình hiện tại Trên thực tế, nhiều khi một thực thể ký (con người, thiết bị kỹ thuật,...) là thành viên hay bộ phận của một tổ chức (đơn vị hành chính, hệ thống kỹ thuật,...) và thông điệp dữ liệu (bản tin, thông báo, tài liệu,...) được thực thể ký tạo ra với tư cách là một thành viên hay bộ phận của tổ chức đó. Trong trường hợp này, thông tin không chỉ có nguồn gốc từ thực thể (ký) tạo ra nó, mà còn có nguồn gốc từ tổ chức mà ở đó thực thể ký là một thành viên hay bộ phận của tổ chức này. Vấn đề ở đây là, thông tin cần phải được chứng thực về nguồn gốc và tính toàn vẹn ở 2 cấp độ: cấp độ cá nhân thực thể ký và cấp độ tổ chức mà thực thể ký là một thành viên hay bộ phận của nó. Các mô hình ứng dụng chữ ký số hiện tại chủ yếu mới chỉ đảm bảo cho nhu cầu chứng thực thông tin ở cấp độ cá nhân của thực thể ký, còn việc chứng thực đồng thời ở cả 2 cấp độ như thế hiện tại vẫn chưa được đặt ra. Có thể là, một yêu cầu như vậy chưa thực sự cần thiết được đặt ra ở thời điểm hiện tại, nhưng rõ ràng đó sẽ là nhu cầu thực tế và ngày càng trở nên cần thiết trong bối cảnh Chính phủ điện tử, Thương mại điện tử hay nói chung là các giao dịch điện tử đang được phát triển với qui mô toàn cầu. Từ những phân tích trên đây, hướng nghiên cứu của đề tài Luận án là đề xuất mô hình ứng dụng chữ ký số, được gọi là mô hình chữ ký‎ số tập thể, nhằm đáp ứng cho các yêu cầu chứng thực nguồn gốc và tính toàn vẹn Nguồn tin Mã mật Điều chế Kênh truyền Giải điều chế Mã mật Nhận tin Hình 1.2 Cấu trúc của một hệ truyền tin an toàn Bên phát Bên thu 5 thông tin ở nhiều cấp độ khác nhau và xây dựng các lược đồ chữ ký số theo mô hình mới đề xuất nhằm đáp ứng tốt các yêu cầu mà thực tiễn đặt ra. 1.3.2 Mô hình chữ ký số tập thể Mô hình chữ ký‎ số tập thể được đề xuất cơ bản dựa trên cấu trúc của một PKI truyền thống nhằm bảo đảm các chức năng về chứng thực số cho đối tượng áp dụng là các tổ chức có tư cách pháp nhân trong xã hội (đơn vị hành chính, cơ quan nhà nước, doanh nghiệp...). Trong mô hình này, đối tượng ký‎ là một hay một nhóm thành viên của một tổ chức và được phép ký‎ lên các thông điệp dữ liệu với danh nghĩa thành viên của tổ chức này. Cũng trong mô hình này, CA là bộ phận có chức năng bảo đảm các dịch vụ chứng thực số, như: chứng nhận một thực thể là thành viên của tổ chức, chứng thực các thông điệp dữ liệu được ký‎ bởi các thực thể là thành viên trong một tổ chức, mà CA là cơ quan chứng thực thuộc tổ chức này. Trong mô hình này, chữ ký‎ của CA cùng với chữ ký‎ cá nhân của các thực thể ký hình thành nên chữ ký tập thể cho một thông điệp dữ liệu. Nói cách khác, chữ ký tập thể trong mô hình này bao hàm chữ ký với tư cách cá nhân của thực thể ký và chữ ký‎ của CA với tư cách của tổ chức mà đối tượng ký‎ là thành viên thuộc tổ chức này. Nói chung, một CA trong mô hình được đề xuất có những chức năng cơ bản như sau: - Chứng nhận tính hợp pháp của các thành viên trong một tổ chức: thực chất là chứng nhận khóa công khai và danh tính (các thông tin nhận dạng) của các thành viên trong tổ chức bằng việc phát hành Chứng chỉ khóa công khai (PKC - Public Key Certificate). Ngoài ra, CA còn có trách nhiệm thu hồi PKC hết hạn lưu hành hoặc vi phạm chính sách an toàn của tổ chức. - Chứng thực nguồn gốc và tính toàn vẹn của các thông điệp dữ liệu được ký bởi các đối tượng là thành viên của tổ chức mà CA là cơ quan chứng thực của tổ chức này. Chữ ký‎ tập thể được hình thành trên cơ sở chữ ký‎ cá nhân của thực thể ký (một hoặc một nhóm đối tượng k‎ý) và chứng nhận của CA với vai trò chứng thực của tổ chức đối với thông điệp dữ liệu cần ký‎. Có thể hình thành chữ k‎ý tập thể ở 2 dạng như sau: - Chữ k‎ý tập thể dạng kết hợp: ở dạng này CA k‎ý trực tiếp lên thông điệp dữ liệu như các thành viên khác, chữ k‎ý của CA và chữ k‎ý cá nhân của các đối tượng ký được kết hợp với nhau theo một qui tắc nhất định để hình thành chữ ký tập thể. - Chữ k‎ý tập thể dạng phân biệt: ở dạng này chữ ký‎ tập thể bao gồm chữ ký‎ cá nhân của thực thể ký và chữ ký của CA là 2 thành phần phân biệt hay tách biệt nhau. Trong mô hình chữ ký‎ tập thể, chứng chỉ khóa công khai được sử dụng để một tổ chức chứng nhận các đối tượng ký‎ là thành viên của nó. Một chứng chỉ khóa công khai bao gồm những thông tin cơ bản và cơ chế hình 6 thành được chỉ ra trên Hình 1.3. Cấu trúc cơ bản của một PKC bao gồm khóa công khai của chủ thể chứng chỉ và các thông tin khác như: Thông tin nhận dạng của chủ thể, Trạng thái hoạt động của chứng chỉ, Số hiệu chứng chỉ, Thông tin nhận dạng của CA,... Không làm mất tính tổng quát, trong Luận án sử dụng thuật ngữ Thông tin nhận dạng (IDi) của đối tượng ký để đại diện cho các thành phần thông tin nói trên‎. Trong thực tế, có thể sử dụng khuôn dạng chứng chỉ X.509 cho mô hình mới đề xuất. Kiểm tra tính hợp pháp của đối tượng k‎ý là kiểm tra tính hợp lệ của chứng chỉ khóa công khai mà đối tượng ký‎ được cấp, thực chất là kiểm tra tính hợp lệ chữ ký‎ của CA trên chứng chỉ khóa công khai của thực thể này‎. Dữ liệu đầu vào của thuật toán là chữ ký‎ của CA, khóa công khai của chủ thể chứng chỉ và các thông tin khác như: Thông tin nhận dạng của chủ thể,.... Kết quả đầu ra của thuật toán là sự khẳng định về nguồn gốc và tính toàn vẹn của khóa công khai được sở hữu bởi chủ thể chứng chỉ. Các thông tin nhận dạng (IDi) của chủ thể: Tên, Tổ chức và địa chỉ,... Khóa công khai của chủ thể (yi) Thông tin nhận dạng của CA. Khóa riêng của CA (x CA ) Hình 1.3 Cấu trúc cơ bản và cơ chế hình thành của một Chứng chỉ khóa công khai Chữ ký số của CA Trạng thái hoạt động của chứng chỉ Số hiệu của chứng chỉ Thuật toán ký‎ 7 Cơ chế kiểm tra tính hợp lệ của một chứng chỉ khóa công khai hay kiểm tra tính hợp pháp của một đối tượng ký‎ là thành viên của một tổ chức được chỉ ra trên Hình 1.4 như sau: Chữ ký‎ tập thể được hình thành trên cơ sở chữ ký‎ cá nhân của thực thể ký (một hoặc một nhóm đối tượng k‎ý) và chứng nhận của CA với vai trò chứng thực của tổ chức đối với thông điệp dữ liệu cần ký‎. Có thể hình thành chữ k‎ý tập thể ở 2 dạng như sau: - Chữ k‎ý tập thể dạng kết hợp: ở dạng này CA k‎ý trực tiếp lên thông điệp dữ liệu như các thành viên khác, chữ k‎ý của CA và chữ k‎ý cá nhân của các đối tượng ký được kết hợp với nhau theo một qui tắc nhất định để hình thành chữ ký tập thể. - Chữ k‎ý tập thể dạng phân biệt: ở dạng này chữ ký‎ tập thể bao gồm chữ ký‎ cá nhân của thực thể ký và chữ ký của CA là 2 thành phần phân biệt hay tách biệt nhau. Trong Luận án, chữ k‎ý tập thể dạng phân biệt được sử dụng do có khả năng chống lại các kiểu tấn công tập thể từ bên trong hệ thống. Cơ chế hình thành chữ ký số tập thể dạng phân biệt được chỉ ra trên Hình 1.5. Các thông tin nhận dạng (IDi) của chủ thể: Tên, Tổ chức và địa chỉ… Khóa công khai của chủ thể (yi). Thông tin nhận dạng của CA Khóa công khai của CA (y CA ) Hình 1.4 Cơ chế kiểm tra tính hợp lệ của một chứng chỉ khóa công khai Chữ ký số của CA Trạng thái hoạt động của chứng chỉ Số hiệu của chứng chỉ Công nhận/Từ chối Thuật toán kiểm tra 8 Chữ ký‎ cá nhân hình thành từ khóa bí mật của thực thể ký và thông điệp dữ liệu cần k‎ý theo cơ chế được chỉ ra trên Hình 1.6 như sau: Trong mô hình chữ k‎ý tập thể dạng phân biệt, chứng nhận của CA được tạo ra từ khóa bí mật của CA, thông điệp dữ liệu được k‎ý và khóa công khai của thực thể ký (một hay một nhóm các đối tượng k‎ý). Cơ chế hình thành chứng nhận‎ của CA‎ được chỉ ra trên Hình 1.7. Thông điệp dữ liệu cần ký‎ (M ) Khóa bí mật của thực thể ký (x1,x2,…,xn) Chữ ký‎ cá nhân của thực thể ký‎ SU = f(M;x1,x2,…,xn) ) Hình 1.6 Cơ chế hình thành chữ ký‎ cá nhân Thuật toán ký f(M;x1,x2,…,xn) Chứng nhận‎ của CA‎ (S CA ) Chữ ký‎ số tập thể (S) Hình 1.5 Chữ ký tập thể dạng phân biệt Chữ ký‎ cá nhân của thực thể ký‎ (Su) Chữ ký‎ cá nhân của thực thể ký‎ (SU) Chứng nhận‎ của CA‎ (S CA ) 9 Cơ chế kiểm tra chứng nhận của CA về việc một hay một nhóm đối tượng k‎ý lên một thông điệp dữ liệu được chỉ ra trên Hình 1.8. Cơ chế kiểm tra chữ k‎ý cá nhân được chỉ ra trên Hình 1.9. Kiểm tra chữ k‎ý cá nhân cần phải được thực hiện sau khi kiểm tra chứng nhận của CA, Thông điệp dữ liệu cần thẩm tra (M) Khóa công khai của thực thể ký‎ (y1, y2,…,yn) Công nhận/Từ chối Hình 1.8 Cơ chế kiểm tra chứng nhận của CA Thuật toán kiểm tra V(M; y1,…yn; yCA, SCA)‎ Chứng nhận của CA (SCA) Khóa công khai của CA (yCA) Thông điệp dữ liệu cần ký (M) Khóa bí mật của CA (x CA ) Hình 1.7 Cơ chế hình thành chứng nhận‎ của CA Thuật toán ký f(M; y1,..,yn; xCA)‎ Khóa công khai của thực thể k‎ý (y1,..,yn) Chứng nhận của CA S CA = f(M; y1,..,yn; xCA) 10 nếu chứng nhận của CA và chữ k‎ý cá nhân được công nhận hợp lệ thì tính toàn vẹn của thông điệp dữ liệu cần thẩm tra được bảo đảm, đồng thời khẳng định thông điệp dữ liệu này được k‎ý bởi các đối tượng đã được CA chứng nhận là thành viên của tổ chức. 1.4 Kết luận Chƣơng 1 Các kết quả đã đạt được ở Chương 1 bao gồm: - Thống nhất một số khái niệm và thuật ngữ liên quan được sử dụng trong Luận án. - Đề xuất mô hình ứng dụng cho các lược đồ chữ ký số có thể áp dụng cho các tổ chức xã hội như: các cơ quan hành chính nhà nước, các doanh nghiệp,... nhằm bảo đảm việc chứng thực cho các thông điệp dữ liệu trong các giao dịch điện tử (Chính phủ điện tử, Thương mại điện tử,...) phù hợp với việc chứng thực các văn bản, tài liệu,... trong các thủ tục hành chính thực tế hiện nay. CHƢƠNG 2 XÂY DỰNG LƢỢC ĐỒ CHỮ KÝ SỐ TẬP THỂ DỰA TRÊN HỆ MẬT RSA Nội dung Chương 2 đề xuất xây dựng lược đồ chữ ký số dựa trên hệ mật RSA theo mô hình chữ k‎ý tập thể đã được trình bày trong Chương 1. 2.1 Cơ sở toán học 2.1.1 Bài toán khai căn trên vành số nguyên Zn Cho cặp các số nguyên dương {n,t} với n là tích của hai số nguyên tố p Thông điệp dữ liệu cần thẩm tra (M) Khóa công khai của thực thể ký‎ (y1,…yn)‎ (y1, y2,…,yn) Công nhận/Từ chối Hình 1.9 Cơ chế kiểm tra tính hợp lệ của chữ ký‎ cá nhân Thuật toán kiểm tra‎ V(M; y1,…yn; SU)‎ Chữ ký‎ cá nhân (SU) 11 và q, còn t được chọn trong khoảng: 1 < t < (p1).(q1). Khi này bài toán khai căn trên vành số nguyên Zn hay còn gọi là bài toán RSA(n,t) được phát biểu như sau: Bài toán RSA(n,t): Với mỗi số nguyên dương y ℤn * , hãy tìm x thỏa mãn phương trình sau: x t mod n = y (2.1) Thuật toán để giải bài toán RSA(n,t) có thể được viết như một thuật toán tính hàm RSA(n,t)(.) với biến đầu vào là y còn giá trị hàm là nghiệm x của phương trình (2.1): x = RSA(n,t)(y) Trong một hệ thống giao dịch điện tử với dịch vụ chứng thực số dùng chung bộ tham số {n,t}, bài toán RSA(n,t) là khó theo nghĩa không thể thực hiện được trong thời gian thực. Ở đó, mỗi thành viên U của hệ thống tự chọn cho mình khóa bí mật x thỏa mãn: 1 < x < n, tính và công khai tham số: y = x t mod n (2.2) Chú ý: (i) Mặc dù bài toán RSA(n,t) là khó, tuy nhiên không phải với mọi yℤn * thì việc tính RSA(n,t)(y) đều khó, chẳng hạn những y = x t mod n với x không đủ lớn thì bằng cách duyệt dần x = 1, 2, ... cho đến khi tìm được nghiệm của (2.2) ta sẽ tìm được khóa bí mật x, do đó các tham số mật x phải được lựa chọn sao cho việc tính RSA(n,t)(y) đều khó. (ii) Với lựa chọn x nêu trên thì rõ ràng không có ai ngoài U biết được giá trị x, vì vậy việc biết được x đủ để xác thực đó là U. 2.1.2 Hệ mật RSA Hệ mật RSA là hệ mật khóa công khai đầu tiên được đề xuất và công bố bởi Ron Rivest, Adi Shamir và Len Adleman vào năm 1977 tại Viện Công nghệ Massachusetts Hoa Kỳ. Hệ mật này được xây dựng dựa trên tính khó giải của các bài toán phân tích một số nguyên lớn ra các thừa số nguyên tố, bài toán logarit rời rạc trong modulo hợp số và bài toán RSA(n,t) trên đây, nó bao gồm một thuật toán mật mã khóa công khai và một thuật toán chữ k‎ý số mà việc thực hiện một trong 2 thuật toán này chỉ là sự hoán đổi vai trò của khóa công khai hay khóa bí mật. Hiện tại, hệ mật RSA vẫn đang được sử dụng phổ biến trong các giao dịch điện tử (Chính phủ điện tử, Thương mại điện tử,...) do tính khả thi và hiệu quả thực hiện cao, nó được đánh giá là an toàn khi các tham số {p,q} được lựa chọn hợp lý. Trên thực tế, chưa có phương pháp tấn công hiệu quả nào phá vỡ được hệ mật này. Như vậy, có thể coi hệ mật RSA là một đánh giá thực tế cho tính khó giải của bài toán RSA(n,t) nêu trên. 12 2.2 Xây dựng lƣợc đồ ‎cơ sở Lược đồ cơ sở ở đây xây dựng trên bài toán RSA(n,t) và được sử dụng để phát triển các lược đồ chữ k‎ý tập thể theo mô hình đề xuất ở Chương 1. 2.2.1 Lược đồ cơ sở dạng tổng quát Lược đồ cơ sở dạng tổng quát bao gồm các phương pháp hình thành các tham số hệ thống và khóa, phương pháp hình thành chữ k‎ý và phương pháp kiểm tra tính hợp lệ của chữ ký. Từ dạng tổng quát này, bằng cách lựa chọn các tham số cụ thể sẽ cho phép tạo ra các lược đồ cơ sở phù hợp cho việc xây dựng các lược đồ chữ k‎ý tập thể.  Phương pháp hình thành tham số và khóa Dữ liệu vào: p, q, t, x. Kết quả: n, y. Các bước thực hiện: 1. Tính: n = p.q; 2. Tính khóa công khai: y = x t mod n; Chú thích: (i) p, q: các số nguyên tố phân biệt. (ii) x: khóa bí mật có giá trị trong khoảng: 1 < x < n. (iii) t: số mũ có giá trị trong khoảng: 1 < t < (p - 1).(q - 1).  Phương pháp hình thành chữ ký Dữ liệu vào: n, t, x, k, M – thông điệp dữ liệu cần k‎ý. Kết quả: (r,s) – chữ k‎ý của U lên M. Các bước thực hiện: 1. Tính thành phần thứ nhất của chữ k‎ý: r = k t mod n; 2. Tính thành phần thứ 2 của chữ k‎ý: s = k f 1 (M,r) . x f 2 (M,r) mod n; Chú thích: (i) k: khóa bí mật ngắn hạn có giá trị trong khoảng: 1 < k < n. (ii) f1(.), f2(.): các hàm của M và r.  Phương pháp kiểm tra chữ ký Dữ liệu vào: n, t, y, (r,s), M. Kết quả: Khẳng định (r,s) là chữ k‎ý hợp lệ ((r,s) = true) hay (r,s) là giả mạo và/hoặc M không còn toàn vẹn ((r,s) = false). Các bước thực hiện: 1. Tính vế thứ nhất của phương trình kiểm tra: u = s t mod n; 2. Tính vế thứ hai của phương trình kiểm tra: v = r f 1 (M,r) . y f 2 (M,r) mod n; 3. Nếu (u = v) thì (r,s) = true , ngược lại thì (r,s) = false. 13 2.2.2 Lược đồ cơ sở LD 1.01 Lược đồ cơ sở - k‎ý hiệu LD 1.01, được hình thành từ lược đồ dạng tổng quát với lựa chọn: f1(M,r) = 1, f2(M,r) = H(r||M)). 2.2.2.1 Thuật toán hình thành tham số và khóa. Thuật toán 1.1: Hình thành tham số và khóa. Input: p, q, x. Output: n, t, y, H(.). [1]. n ← p . q; [2]. select H: {0,1} * → Zm , m < n; [3]. t ← [m/2] + 1; [4]. y ← x -t mod n; [5]. return {n,t,y,H(.)}; 2.2.2.2 Thuật toán hình thành và kiểm tra chữ k‎ý. Thuật toán 1.2: Hình thành chữ ký. Input: n, t, x, k, H(.), M. Output: (e,s). [1]. r ← k t mod n; [2]. e ← H(r||M); [3]. s ← k . x e mod n; [4]. return (e,s); Thuật toán 1.3: Kiểm tra chữ ký. Input: n, t, y, H(.), M, (e,s). Output: (e,s) = true / false. [1]. u ← s t . y e mod n ; [2]. v ← H(u||M); [3]. if (v = e) then {return true;} else {return false;} 2.3 Xây dựng lƣợc đồ chữ ký số tập thể 2.3.1 Lược đồ chữ ký tập thể LD 1.02 2.3.1.1 Thuật toán hình thành các tham số hệ thống và khóa. Giả sử nhóm ký‎ gồm m-thành viên: U = {Ui| i=1,2,...,m}. Các thành viên nhóm ký‎ có khóa bí mật là: KS = {xi| i=1,2,...,m} và các khóa công khai tương ứng là: KP = {yi| i=1,2,...,m}. Thuật toán 1.9a: Hình thành khóa của U = {Ui| i = 1,2,...,m}. Input: n, t, m, Ks = {xi| i=1,2,...m}, gcd (xi,n)=1. Output: KP = {yi| i=1,2,...,m}. [1]. for i = 1 to m do 14 [1.1]. yi ← (xi) -t mod n; [1.2]. KP[i] ← yi; [2]. return KP; Thuật toán 1.9b: Hình thành khóa của CA. Input: n, t, x CA , gcd (x CA ,n)=1 Output: yCA. [1]. y CA ← (x CA ) -t mod n; [2]. return (y CA ); 2.3.1.2 Thuật toán chứng nhận và kiểm tra đối tượng k‎ý. Thuật toán 1.10a: CA chứng nhận đối tượng ký Ui (i = 1,2,..,m). Input: n, t, IDi, yi, xCA. Output: (ui,vi) – chứng nhận của CA đối với Ui. [1]. ki ← H(xCA||yi||IDi); [2]. ri ← (ki) t mod n; [3]. ui ← H(ri||yi||IDi); [4]. vi ← ki . (xCA) ui mod n; [5]. return (ui,vi); Thuật toán 1.10b: Kiểm tra tính hợp pháp của đối tượng k‎ý. Input: n, t, yi, yCA, IDi, (ui,vi). Output: (ui,vi) = true/false. [1]. r * ← (vi) t . (y CA ) ui mod n; [2]. u ← H(r * ||yi||IDi); [3]. if (u = ui) then {return true;} else {return false;} 2.3.1.3 Thuật toán hình thành và kiểm tra chữ k‎ý tập thể. Thuật toán 1.11: Hình thành chữ ký cá nhân của một hay một nhóm đối lên thông điệp dữ liệu M. Input: n, t, M, m, Ks = {xi| i=1,2,...m}, KP = {yi| i=1,2,...m}. Output: (e,s) – chữ k‎ý của Ui (i = 1, 2,..,m} hay U lên M. [1]. for i = 1 to m do [1.1]. ki ← H(xi||M); [1.2]. ri ← (ki) t mod n; [1.3]. send ri to {U1, U2,..., Ui-1, Ui+1,..., Um}, GM; [2]. r ← 1; for i = 1 to m do r ← r . ri mod n; [3]. e ← H(r||M); 15 [4]. for i = 1 to m do [4.1]. si ← ki . (xi) e mod n; [4.2]. send si to GM; [5]. s ← 1; for i = 1 to m do if ( ri = (si) t . (yi) e mod n) then {s ← s . si mod n;} else return (0,0); [6]. return (e,s); Chú ‎ý: Trường hợp hình thành chữ k‎ý của một đối tượng lên thông điệp dữ liệu cần k‎ý thì chỉ cần thực hiện Thuật toán 1.11 với lựa chọn m = 1. Thuật toán 1.12: Hình thành chứng nhận của CA đối với chữ k‎ý cá nhân của một hay một nhóm đối tượng k‎ý. Input: n, t, m, x CA , KP = {yi| i=1,2,...m}, (ui,vi), M, (e,s). Output: (u M ,v M ) - chứng nhận của CA lên {M, (e,s)}. [1]. y ← 1; for i = 1 to m do [1.1]. r* ← (vi) t . (y CA ) ui mod n; [1.2]. u ← H(r*||yi||IDi); [1.3]. if (u ≠ ui) then return (0,0); [1.4]. y ← y . yi mod n; [2]. If ( e = 0 or s = 0) then {return (0,0);} else [2.1]. u ← s t . y e mod n; [2.2]. v ← H(u||M); [2.3]. if (v ≠ e) then return (0,0); [3]. k ← H(x CA ||y||M); [4]. r ← k t mod n; [5]. u M ← H(r||y||M); [6]. v M ← k . (x CA ) u M mod n; [7]. return (u M ,v M ); Chú ‎ý: - Chữ k‎ý tập thể của một hay một nhóm đối tượng lên thông điệp dữ liệu M là {(e,s), (u M ,v M )}. - Trường hợp (e,s) là chữ k‎ý của một đối tượng lên thông điệp dữ liệu M thì chỉ cần thực hiện Thuật toán 1.12 với lựa chọn m = 1. Thuật toán 1.13: Kiểm tra chữ ký tập thể của một hay một nhóm đối tượng lên thông điệp dữ liệu M. Input: n, t, m, y CA , KP = {yi| i=1,2,...m},(ui,vi), M, {(e,s), (uM,vM)}. Output: {(e,s), (u M ,v M )} = true / false. [1]. y ← 1; for i = 1 to m do 16 [1.1]. r* ← (vi) t . (yCA) ui mod n; [1.2]. u ← H(r * ||yi||IDi); [1.3]. if (u ≠ ui) then return false; [1.4]. y ← y . yi mod n; [2]. if (u M = 0 or v M = 0) then return false; [2.1]. r * ← (v M ) t . (y CA ) u M mod n; [2.2]. u ← H(r*||y||M); [2.3]. if (u ≠ u M ) then return false; [3]. If ( e = 0 or s = 0) then {return (0,0);} else [3.1]. u ← s t . y e mod n; [3.2]. v ← H(u||M); [3.3]. if (v = e) then return true; else return false; Chú ‎ý: Trường hợp chữ k‎ý tập thể {(e,s), (u M ,v M )} là chữ k‎ý của một đối tượng lên thông điệp dữ liệu M thì chỉ cần thực hiện Thuật toán 1.13 với lựa chọn m = 1. 2.3.2 Lược đồ chữ ký tập thể LD 1.03 Lược đồ chữ ký‎ tập thể - ký‎ hiệu LD 1.03, cũng được phát triển từ lược đồ cơ sở LD 1.01với các chức năng tương tự như lược đồ LD 1.02. Điểm khác nhau giữa 2 lược đồ là: LD 1.02 không qui định thứ tự k‎ý của các thành viên trong nhóm, còn ở LD 1.03 chữ ký‎ của nhóm được hình thành từ 3 yếu tố: - Thông điệp dữ liệu cần ký‎ M. - Khóa bí mật của các thành viên KS. - Thứ tự ký‎ của các thành viên trong nhóm‎. Như vậy ở lược đồ LD 1.03, chữ k‎ý cá nhân của một nhóm đối tượng và do đó là chữ k‎ý tập thể tương ứng chỉ có thể được tạo ra khi các thành viên thực hiện đúng thứ tự k‎ý đã qui định. Điều đó cũng có nghĩa là, một chữ k‎ý tập thể do lược đồ LD 1.03 tạo ra, khi được công nhận là hợp lệ thì nó khẳng định đồng thời các yếu tố: - Tính toàn vẹn của thông điệp dữ liệu được thẩm tra. - Nguồn gốc của thông điệp dữ liệu ở 2 cấp độ cá nhân của đối tượng hay nhóm nhóm đối tượng k‎ý và tổ chức mà các đối tượng ký là thành viên của nó. - Trình tự k‎ý của các thành viên trong nhóm ký. Lược đồ LD 1.03 được xây dựng với các thuật toán hình thành tham số và khóa, thuật toán chứng nhận và kiểm tra tính hợp pháp của các đối tượng k‎ý, thuật toán hình thành chứng nhận của CA đối với chữ k‎ý của một hay một nhóm đối tượng ký lên một thông điệp dữ liệu, thuật toán 17 kiểm tra chữ k‎ý tập thể là hoàn toàn như các thuật toán tương ứng của lược đồ LD 1.02. Chỉ có thuật toán hình thành chữ k‎ý cá nhân của một hay một nhóm đối tượng lên thông điệp dữ liệu được xây dựng mới nhằm bảo đảm qui định về thứ tự k‎ý của các thành viên trong nhóm, đây là điểm khác biệt duy nhất giữa 2 lược đồ này. Vì vậy, mục này (2.3.2) chỉ trình bày Thuật toán hình thành chữ ký cá nhân của một hay một nhóm đối tượng k‎ý lên một thông điệp dữ liệu. Giả sử nhóm ký‎ gồm m thành viên: U = {Ui| i=1,2,...,m}. Các thành viên nhóm ký‎ có khóa bí mật là: KS = {xi| i=1,2,...,m} và các khóa công khai tương ứng là: KP = {yi| i=1,2,...,m}. Trong thực tế, thứ tự k‎ý của các thành viên trong nhóm được qui định bởi vai trò, chức trách (chức vụ, quyền hạn,...) của mỗi thành viên trong tổ chức. Không làm mất tính tổng quát, ở lược đồ mới đề xuất giả thiết rằng thứ tự ký‎ của các thành viên được qui định là chỉ số i gán cho các tham số cá nhân (xi, yi, ri, si, ...) cuả mỗi thành viên trong nhóm. Cụ thể là, thành viên có chỉ số i = 1 sẽ là người ký‎ đầu tiên, còn thành viên có chỉ số i = m sẽ ký‎ sau cùng. Thuật toán 1.16: Hình thành chữ ký của một nhóm đối tượng lên thông điệp dữ liệu M theo dạng k‎ý tuần tự của các thành viên.. Input: n, t, M, m, KS = {xi| i=1,2,..,m}, KP = {yi| i=1,2,..,m}. Output: (e,s) – chữ k‎ý U lên M. [1]. for i = 1 to m do [1.1]. ki ← H(xi||M); [1.2]. ri ← (ki) t mod n; [1.3]. send ri to {U1, U2,..., Ui-1, Ui+1,..., Um} [2]. r ← 1; for i = 1 to m do r ← r . ri mod n; [3]. e ← H(r||M); [4]. s0 ← 1; Y0 ← 1; R0 ← 1; [5]. for i = 1 to m do [5.1]. Yi-1 ← y1 . y2 .... yi-1 mod n; [5.2]. Ri-1 ← r1 . r2 .... ri-1 mod n; [5.3]. if (Ri-1 ≠ ((si-1) t . (Yi-1) e mod n)) then return (0,0); [5.4]. si ← si-1 . ki . (xi ) e mod n; [5.5] if (i < m) then {send si to Ui+1 } else s = si ; [6]. return (e,s); 2.4 Kết luận Chƣơng 2 Các kết quả đã đạt được ở Chương 2 bao gồm 3 lược đồ chữ ký số mới, bao gồm một lược đồ cơ sở (LD 1.01) và 2 lược đồ chữ k‎ý tập thể (LD 1.02, LD 1.03). 18 Trong đó, lược đồ cơ sở‎ LD 1.01 là một dạng lược đồ chữ k‎ý số mới, được xây dựng trên cơ sở bài toán khai căn trên vành số nguyên Zn=p.q với {p,q} là các số nguyên tố phân biệt. Hai lược đồ chữ k‎ý tập thể là kết quả được phát triển từ lược đồ cơ sở theo mô hình ứng dụng được đề xuất ở Chương 1. CHƢƠNG 3 XÂY DỰNG LƢỢC ĐỒ CHỮ KÝ SỐ TẬP THỂ DỰA TRÊN HỆ MẬT ELGAMAL Nội dung Chương 3 đề xuất xây dựng lược đồ chữ ký tập thể dựa trên hệ mật ElGamal theo mô hình ứng dụng đã được trình bày ở Chương 1. 3.1 Cơ sở toán học 3.1.1 Bài toán logarit rời rạc trên trường hữu hạn nguyên tố ZP Cho p là một số nguyên tố và g là phần tử sinh của nhóm ZP*. Khi đó bài toán logarit rời rạc trên trường ZP hay còn gọi là bài toán DLP(p,g) được phát biểu như sau: Bài toán DLP(p,g): Với mỗi số nguyên dương y ℤp * , hãy tìm x thỏa mãn phương trình sau: g x mod p = y (3.1) Giải thuật cho bài toán logarit rời rạc với các tham số {p, g} công khai có thể được viết như một thuật toán tính hàm DLP(p,g)(.) với biến đầu vào là y còn giá trị hàm là nghiệm x của phương trình (3.1): x = DLP(p,g)(y) 3.1.2 Hệ mật ElGamal Hệ mật ElGamal được xây dựng dựa trên tính khó của bài toán DLP(p,g) nói trên và do T. El Gamal đề xuất vào năm 1985. Không như RSA, hệ mật này bao gồm 2 thuật toán mật mã khóa công khai và chữ k‎ý số độc lập. Các chuẩn chữ k‎ý số DSA của Hoa Kỳ và GOST R34.10-94 của Liên bang Nga đều là các biến thể của thuật toán chữ k‎ý số El Gamal và được gọi chung là các thuật toán chữ k‎ý số họ ElGamal. Trên thực tế, chưa có phương pháp tấn công hiệu quả nào phá vỡ được hệ mật ElGamal nói chung và các thuật toán chữ k‎ý số họ ElGamal nói riêng nếu các tham số của nó được lựa chọn phù hợp. Cũng như hệ mật RSA với bài toán khai căn trên vành Zn, có thể coi hệ mật ElGamal là một đánh giá thực tế cho tính khó giải của bài toán DLP(p,g). 3.2 Xây dựng lƣợc đồ cơ sở Lược đồ cơ sở đề xuất ở đây được xây dựng dựa trên bài toán logarit rời rạc theo cùng nguyên tắc với các thuật toán chữ k‎ý số họ ElGamal (DSA, GOST R34.10-94). Lược đồ này sẽ được sử dụng để xây dựng các lược đồ chữ ký tập thể theo mô hình ứng dụng được đề xuất ở Chương 1. 3.2.1 Lược đồ cơ sở dạng tổng quát  Phương pháp hình thành tham số và khóa Dữ liệu vào: p, q, x. 19 Kết quả: g, y, H(.). Các bước thực hiện: 1. Tính phần tử sinh g của Zp*: g = h (p-1)/q mod p, với: 1 < h < p; 2. Tính khóa công khai: y = g -x mod p; 3. Chọn hàm băm H: {0,1} * → Zq ; Chú thích: (i) p, q: 2 số nguyên tố thỏa mãn q|(p-1). (ii) x: khóa bí mật của đối tượng ký.  Phương pháp hình thành chữ ký Dữ liệu vào: p, q, g, x, k, M. Kết quả: (r,s). Các bước thực hiện: 1. Hình thành phần thứ nhất của chữ k‎ý theo công thức: r = (g k mod p) mod q; 2. Hình thành phần thứ nhất của chữ k‎ý theo công thức: s = k.f1(M,r) -1 + x.f2(M,r) mod q; Chú thích: (i) M: thông điệp dữ liệu cần k‎ý. (ii) (r,s): chữ ký lên M của đối tượng sở hữu {x,y}.  Phương pháp kiểm tra chữ ký Dữ liệu vào: p, q, g, y, M, (r,s). Kết quả: Khẳng định (r,s) là chữ k‎ý hợp lệ ((r,s) = true) hay (r,s) là giả mạo và/hoặc M không còn toàn vẹn ((r,s) = false). Các bước thực hiện: 1. Tính giá trị: u = (g s.f 1 (M,r) . y f 1 (M,r).f 2 (M,r) mod p) mod q; 2. Nếu u = r thì (r,s) = true, ngược lại: (r,s) = false. 3.2.2 Lược đồ cơ sở LD 2.01 Lược đồ cơ sở - k‎ý hiệu LD 2.01, được hình thành từ lược đồ cơ sở dạng tổng quát với lựa chọn: f1(M,r) = H(M), f2(M,r) = r. 3.2.2.1 Thuật toán hình thành tham số và khóa Thuật toán 2.1a: Hình thành các tham số hệ thống. Input: lp, lq: độ dài (tính theo bit) của số nguyên tố p, q. Output: p, q, g, H(.). [1]. select p, q: len(p) = lp, len(q)= lq, q|(p-1); [2]. select h  ℤp * ; [3]. g ← h (p-1)/q mod p [4]. if (g = 1) then goto [2]; [5]. select H: {0,1} * → Zq ; 20 [6]. return {p, q, g, H(.)}; Chú thích: len(.): hàm cho kết quả là kích thước theo bit của một giá trị số. Thuật toán 2.1b: Hình thành khóa. Input: p, q, g, x. Output: y. [1]. y ← g -x mod p; [2]. return (y); 3.2.2.2 Thuật toán hình thành chữ k‎ý Thuật toán 2.2: Hình thành chữ ký. Input: p, q, g, x, k , M, H(.). Output: (r,s). [1]. e ← H(M); [2]. r ← (g k mod p) mod q; [3]. s ← k. e -1 + x. r mod q; [4]. return (r,s); 3.2.2.3 Thuật toán kiểm tra chữ k‎ý Thuật toán 2.3: Kiểm tra chữ ký. Input: p, q, g, y, H(.), M, (r,s). Output: (r,s) = true / false. [1]. e ← H(M); [2]. u ← (g s.e . y r.e mod p) mod q; [3]. if (u = r) then {return true;} else {return false;} 3.3 Xây dựng lƣợc đồ chữ ký số tập thể Hai lược đồ chữ ký‎ tập thể đề xuất ở đây - k‎ý hiệu LD 2.02 và LD 2.03, được phát triển từ lược đồ cơ sở LD 2.01 theo mô hình đề xuất ở Chương 1 và có cùng nguyên tắc xây dựng với các lược đồ chữ k‎ý tập thể LD 1.02 và LD 1.03 đã được trình bày ở Chương 2. 3.3.1 Lược đồ chữ ký tập thể LD 2.02 3.3.1.1 Thuật toán hình thành tham số và khóa. Các tham số hệ thống được hình thành theo phương pháp của DSA hoặc GOST R34.10-94. Thuật toán 2.6a: Hình thành khóa của U = {Ui| i = 1, 2,..,n}. Input: p, g, n, KS = {xi| i = 1,2,…,n}. Output: KP = {yi| i = 1, 2,..,n}. [1]. for i = 1 to n do [1.1]. yi ← g -xi mod p; 21 [1.2]. KP[i] ← yi; [2]. return KP; Thuật toán 2.6b: Hình thành khóa của CA. Input: p, g, x CA . Output: y CA . [1]. y CA ← g -x CA mod p; [2]. return (y CA ); 3.3.1.2 Thuật toán chứng nhận và kiểm tra đối tượng k‎ý. Thuật toán 2.7a: CA chứng nhận đối tượng ký. Input: IDi, yi, xCA. Output: (ui,vi) – chứng nhận của CA đối với Ui. [1]. ki ← H(xCA||yi||IDi); [2]. ui ← (g ki mod p) mod q; [3]. e ← H(yi||IDi); [4]. vi ← ki. e -1+ x CA . ui mod q; [5]. return (ui,vi); Thuật toán 2.7b: Kiểm tra tính hợp pháp của đối tượng k‎ý. Input: yi, yCA, IDi, (ui,vi). Output: (ui,vi) = true / false. [1]. e ← H(yi||IDi); [2]. u ← (g vi.e . (y CA ) ui.e mod p) mod q; [3]. if (u = ui) then {return true;} else {return false;} 3.3.1.3 Thuật toán hình thành và kiểm tra chữ k‎ý tập thể. Thuật toán 2.8: Hình thành chữ ký cá nhân của một hay một nhóm đối tượng k‎ý lên thông điệp dữ liệu M. Input: M, n, KS = {xi| i = 1, 2,..,n}, KP = {yi| i = 1, 2,..,n}. Output: (r,s) – chữ k‎ý của Ui (i = 1, 2,..,n) hay U lên M. [1]. for i = 1 to n do [1.1]. ki ← H(xi||M); [1.2]. ri ← g ki mod p; [1.3]. send ri to {U1, U2,...., Ui-1, Ui+1,..., Un}; [2]. r ← 1; for i = 1 to n do r ← r . ri mod n; [3]. for i = 1 to n do [3.1]. e ← H(M); 22 [3.2]. si ← ki. e -1+ xi. r mod q; [4]. s ← 1; for i = 1 to n do [4.1]. if (ri ≠ g si.e . (yi) ri.e mod p) then return (0,0); [4.2]. s ← s . si mod q; [5]. return (r,s); Thuật toán 2.9: Hình thành chứng nhận của CA đối với chữ ký cá nhân của một hay một nhóm đối tượng k‎ý. Input: p, q, g, x CA , n, KP = {yi| i = 1, 2,..,n}, (ui,vi), {M, (r,s)}. Output: (u M ,v M ) – chứng nhận của CA đối với {M, (r,s)}. [1]. y ← 1; for i = 1 to n do [1.1]. e ← H(yi||IDi); [1.2]. u ← (g vi.e . (y CA ) ui.e mod p) mod q; [1.3]. if (u ≠ ui) then return (0,0); [1.4]. y ← y. yi mod p; [2]. if ( r = 0 or s = 0) then {return (0,0);} else [2.1]. e ← H(M); [2.2]. u ← (g s.e . y r.e mod p) mod q; [2.3]. if (u ≠ r) then {return (0,0);} [3]. k ← H(x CA ||y||M); [4]. u M ← (g k mod p) mod q; [5]. e ← H(y||M); [6]. v M ← k. e -1 + x CA . u M mod q; [7]. return (u M ,v M ); Thuật toán 2.10: Kiểm tra chữ ký tập thể của một hay một nhóm đối tượng lên thông điệp dữ liệu M. Input: p, q, g, n, yCA, KP = {yi| i = 1, 2,..,n}, M, (r,s), (uM,vM). Output: {(r,s), (uM,vM)} = true / false. [1]. y ← 1; for i = 1 to n do [1.1]. e ← H(yi||IDi); [1.2]. u ← (g vi.e . (y CA ) ui.e mod p) mod q; [1.3]. if (u ≠ ui) then return (0,0); [1.4]. y ← y . yi mod p; [2]. if (u M = 0 or v M = 0) then return false; [2.1]. e ← H(y||M); [2.2]. u ← (g v M .e . (y CA ) u M .e mod p) mod q; [2.3]. if (u ≠ u M ) then return false; 23 [3]. If ( r = 0 or s = 0) then {return (0,0);} else [3.1]. e ← H(M); [3.2]. u ← (g s.e . y r.e mod p) mod q; [3.3]. if (u = r) then {return true;} else {return false;} 3.3.2 Lược đồ chữ ký tập thể LD 2.03 Lược đồ LD 2.03 được xây dựng với các thuật toán hình thành tham số và khóa, thuật toán chứng nhận và kiểm tra tính hợp pháp của các đối tượng k‎ý, thuật toán chứng nhận của CA đối với chữ k‎ý cá nhân của một hay một nhóm đối tượng, thuật toán kiểm tra chữ k‎ý tập thể hoàn toàn như các thuật toán tương ứng của lược đồ LD 2.02. Riêng thuật toán hình thành chữ k‎ý cá nhân của một nhóm đối tượng lên một thông điệp dữ liệu được xây dựng mới với qui định về thứ tự k‎ý của các thành viên trong nhóm. Giả sử nhóm ký‎ gồm n-thành viên: U = {Ui| i=1,2,...,n}. Các thành viên nhóm ký‎ có khóa bí mật là: KS = {xi| i=1,2,...,n} và các khóa công khai tương ứng là: KP = {yi| i=1,2,...,n}. Thuật toán 2.13: Hình thành chữ ký cá nhân của một nhóm đối tượng k‎ý. Input: p, q, g, M, n, KS = {xi| i = 1, 2,..,n}, KP = {yi| i = 1, 2,..,n}. Output: (r,s) – chữ ký của Ui (i = 1, 2,..,n) hay U lên M. [1]. for i = 1 to n do [1.1]. ki ← H(xi||M); [1.2]. ri ← g ki mod p; [1.3]. send ri to {U1, U2,..., Ui-1, Ui+1,..., Un} [2]. r ← 1; for i = 1 to n do r ← r . ri mod p; [3]. r ← r mod q; [4]. e ← H(M); [5]. s0 ← 0, Y0 ← 1, R0 ← 1; for i = 1 to n do [5.1]. Yi-1 ← y1 . y2 .... yi-1 mod p; [5.2]. Ri-1 ← r1 . r2 .... ri-1 mod p; [5.3]. if (Ri-1 ≠ (g si-1.e . (Yi-1) r.e mod p)) then return (0,0); [5.4]. si ← si-1 + ki . e -1+ xi . r mod q; [5.5] if (i < n) then {send si to Ui+1} else s = si; [6]. return (r,s); 3.4 Kết luận Chƣơng 3 Các kết quả đã đạt được ở Chương 3 bao gồm 3 lược đồ chữ ký số mới, trong đó có 1 lược đồ cơ sở xây dựng trên bài toán logarit rời rạc trong trường hữu hạn nguyên tố theo cùng nguyên tắc với các lược đồ chữ k‎ý họ ElGamal như các chuẩn chữ ký số DSS và GOST R34.10-94. Lược đồ này có ưu điểm so với các 24 lược đồ thuộc họ El Gamal là chỉ cần sử dụng một khóa bí mật duy nhất để hình thành chữ ký, do đó đã khắc phục được yếu điểm của các lược đồ họ ElGamal khi khóa thứ hai bị sử dụng lặp lại. Hai lược đồ chữ ký tập thể là kết quả phát triển từ lược đồ cơ sở theo mô hình đã đề xuất ở Chương 1. KẾT LUẬN 1. Những kết quả đã đạt đƣợc của Luận án: - Đề xuất mô hình ứng dụng chữ ký số nhằm đáp ứng các yêu cầu về chứng thực các thông điệp dữ liệu trong các giao dịch điện tử, có thể áp dụng phù hợp trong các tổ chức xã hội, cơ quan hành chính nhà nước, các doanh nghiệp,... - Xây dựng 6 lược đồ chữ ký số, trong đó có 2 lược đồ cơ sở (LD 1.01, LD 2.01) và 4 lược đồ chữ ký tập thể (LD 1.02, LD 1.03, LD 2.02, LD 2.03) theo mô hình mới đề xuất. 2. Những đóng góp mới của Luận án: - Mô hình chữ ký số tập thể: đây là mô hình ứng dụng chữ ký số nhằm đáp ứng yêu cầu xác thực nguồn gốc và tính toàn vẹn cho các thông điệp dữ liệu ở nhiều cấp độ khác nhau, ứng dụng phù hợp trong các tổ chức xã hội, các cơ quan hành chính nhà nước, các doanh nghiệp,... Kết quả này được thể hiện ở công trình số [4],[5] của Luận án. - Lược đồ cơ sở LD 1.01: đây là một dạng thuật toán chữ k‎ý số mới được xây dựng trên cơ sở bài toán khai căn trên vành Zn=p.q, trong đó {p,q} là các số nguyên tố phân biệt. Kết quả này được thể hiện ở công trình số [5] của Luận án. - Lược đồ cơ sở LD 2.01: được xây dựng trên cơ sở bài toán logarit rời rạc trên trường hữu hạn nguyên tố theo cùng nguyên tắc với các lược đồ chữ k‎ý họ ElGamal (DSS, GOST R34.10-94). Lược đồ này có ưu điểm so với các lược đồ họ El Gamal là chỉ cần sử dụng một khóa bí mật duy nhất để hình thành chữ ký, do đó đã khắc phục được yếu điểm của các lược đồ họ ElGamal khi khóa thứ hai bị sử dụng lặp lại. Kết quả này được thể hiện ở công trình số [6],[7],[8] của Luận án. - Các lược đồ chữ ký số tập thể: được phát triển từ các lược đồ cơ sở (LD 1.01, LD 2.01) theo mô hình ứng dụng mới đề xuất, có thể đáp ứng yêu cầu chứng thực các thông điệp dữ liệu trong các giao dịch điện tử áp dụng cho các tổ chức xã hội, cơ quan hành chính nhà nước, các doanh nghiệp,... Kết quả này được thể hiện ở công trình số [4],[5],[6] của Luận án.

Các file đính kèm theo tài liệu này:

  • pdftom_tat_luan_an_8616.pdf