Đăng ký Đăng nhập
Trang chủ Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp alt và rsa....

Tài liệu Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp alt và rsa.

.PDF
79
136
115

Mô tả:

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯƠNG MINH HỢI XÂY DỰNG SƠ ĐỒ CHỮ KÝ SỐ DỰA TRÊN HỆ MÃ KẾT HỢP ALT VÀ RSA Chuyên ngành: CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN TS. HỒ NGỌC VINH Hà Nội - 2015 LỜI CAM ĐOAN Luận văn thạc sĩ này do tôi nghiên cứu và thực hiện dưới sự hướng dẫn của thầy giáo TS. Hồ Ngọc Vinh. Để hoàn thành bản luận văn này, ngoài các tài liệu thảm khảo đã liệt kê, tôi cam đoan không sao chép toàn văn các công trình hoặc thiết kế tốt nghiệp của người khác. Tác giả luận văn Trương Minh Hợi MỤC LỤC DANH MỤC CÁC CHỮ VIẾT TẮT....................................................................... i DANH MỤC CÁC HÌNH VẼ.................................................................................. ii DANH MỤC CÁC BẢNG ...................................................................................... iv LỜI NÓI ĐẦU ...........................................................................................................v Chương I: TỔNG QUAN VỀ MẬT MÃ VÀ HỆ MÃ RSA ..................................1 1.1. Giới thiệu chung ..............................................................................................1 1.2. Khái niệm hệ mật mã .......................................................................................2 1.3. Hệ mật mã khoá đối xứng ................................................................................3 1.3.1. Khái niệm cơ bản ......................................................................................3 1.3.2. Các thuật toán dùng trong hệ mật mã khoá đối xứng ...............................4 1.3.3. Những vấn đề cần giải quyết trong hệ mật mã khoá đối xứng .................4 1.4. Hệ mật mã khoá công khai ..............................................................................5 1.4.1. Ý tưởng xây dựng hệ mật mã khoá công khai ..........................................5 1.4.2. Hệ mật mã khoá công khai .......................................................................5 1.4.3. Các thuật toán dùng trong hệ mật mã khoá công khai ...........................11 1.5. Hệ mã RSA ....................................................................................................12 1.5.1. Giới thiệu chung về thuật toán mã hóa dữ liệu RSA ..............................12 1.5.2.Độ an toàn của hệ mã RSA......................................................................14 1.5.3. Ứng dụng của hệ mã RSA ......................................................................15 1.5.4. Một số tính chất của hệ mã RSA ............................................................16 1.6. Hệ chữ ký RSA ..............................................................................................17 Chương II: GIỚI THIỆU VỀ GIẢI PHÁP MPSFV6 VÀ OPEN VPN .............20 2.1. Nhu cầu ứng dụng MPSFV6 trên Cổng TTĐT tỉnh Nghệ An .......................20 2.2. Giới thiệu về MPSFV6 ..................................................................................21 2.2.1. Tính năng của MPSFV6 .........................................................................21 2.2.2. Khả năng sử dụng ...................................................................................22 2.3. Mô hình ứng dụng MPSFV6 trên hệ thống Cổng TTĐT tỉnh Nghệ An .......23 2.4. Mô hình triển khai hệ thống VPN của giải pháp MPSFV6 trên Cổng TTĐT tỉnh Nghệ An .........................................................................................................32 2.4.1. Đối với hệ thống mạng của Sở Thông tin và Truyền thông ...................32 2.4.2. Đối với các đơn vị tham gia quản trị Cổng TTĐT tỉnh Nghệ An ..........33 2.5. Phần mềm mã nguồn mở OpenVPN ..............................................................35 Chương III: XÂY DỰNG CHỮ KÝ SỐ DỰA TRÊN MÃ KẾT HỢP ALT VÀ RSA ...........................................................................................................................38 3.1. Tích không nhập nhằng..................................................................................38 3.2. Mã với tích không nhập nhằng ......................................................................40 3.2.1. Mã luân phiên .........................................................................................40 3.2.2. Đặc trưng của mã luân phiên ..................................................................46 3.3. Đề xuất sơ đồ chữ ký ALT - RSA .................................................................54 3.3.1 Sơ đồ tạo chữ ký ALT - RSA ..................................................................54 3.3.2. Sơ đồ giải mã chữ ký ALT – RSA .........................................................56 3.4. Ứng dụng hệ mã kết hợp ALT - RSA vào hệ thống MPSFV6 ......................57 3.4.1. Sơ đồ cài đặt ứng dụng ...........................................................................57 3.4.2. Cài đặt ứng dụng trên Server ..................................................................60 3.4.3. Cài đặt ứng dụng Client ..........................................................................62 KẾT LUẬN VÀ KIẾN NGHỊ SỬ DỤNG KẾT QUẢ NGHIÊN CỨU .............65 Kết quả đạt được ...................................................................................................65 Hướng phát triển ...................................................................................................66 TÀI LIỆU THAM KHẢO ......................................................................................67 DANH MỤC CÁC CHỮ VIẾT TẮT STT Viết tắt 1. ALT 2. ATTT 3. CA Tiếng Anh Tiếng Việt ALTernative code Mã luân phiên An toàn thông tin Certification Authority Tổ chức cung cấp dịch vụ Chứng thực chữ ký số Công nghệ thông tin 4. CNTT 5. IP Internet Protocol Giao thức Liên mạng 6. LAN Local Area Network Mạng máy tính cục bộ 7. TT&TT Thông tin và Truyền thông 8. TTĐT Thông tin điện tử 9. VPN Virtual Private Network Mạng riêng ảo 10. WAN Wide Area Network Mạng diện rộng i DANH MỤC CÁC HÌNH VẼ Hình 1.1: Quá trình mã hoá và giải mã .......................................................................2 Hình 1.2: Hệ mật mã khoá bí mật ...............................................................................3 Hình 1.3: Sơ đồ mã hóa và giải mã .............................................................................7 Hình 1.4: Hệ mật mã khoá công khai bảo đảm tin cậy ...............................................9 Hình 1.5: Hệ mật mã khoá công khai bảo đảm tính xác thực ...................................10 Hình 1.6: Hệ mật mã khoá công khai bảo đảm tính xác thực và tin cậy ..................11 Hình 1.7: Sơ đồ các bước thực hiện mã hoá theo thuật toán RSA ............................13 Hình 1.8: Sơ đồ giải mã của hệ mã RSA ..................................................................14 Hình 2.1: Mô hình triển khai tường lửa MPSFV6 trên Cổng TTĐT tỉnh Nghệ An .23 Hình 2.2: Mô hình kết nối thử nghiệm MPSFV6_VPN ...........................................23 Hình 2.3: Thông số thiết lập VPN Server Site – to – Site.........................................25 Hình 2.4: Thông số thiết lập VPN Server Client – to – Site .....................................25 Hình 2.5: Kết quả tạo VPN Server ............................................................................25 Hình 2.6: Thông số card mạng ảo trên VPN Server .................................................26 Hình 2.7: Thông số tạo VPN Client Gateway ...........................................................26 Hình 2.8: Kết quả tạo VPN Client Gateway .............................................................27 Hình 2.9: Cài đặt gói phần mềm openvpn-install-2.3.0-I005-i686 ...........................27 Hình 2.10: Thông số thiết lập cấu hình cho VPN Client ..........................................28 Hình 2.11: Địa chỉ IP của mạng trong và thực hiện lệnh ping ..................................29 Hình 2.12: Truy cập dịch vụ web ..............................................................................29 Hình 2.13: Thông số card mạng ảo trên VPN Client Gateway .................................30 Hình 2.14: Kết quả thử nghiệm thành công ..............................................................31 Hình 2.15: Trạng thái kết nối của các VPN Server ...................................................31 Hình 2.16: Trạng thái kết nối của VPN Client tới VPN Server ................................31 Hình 2.17: Trạng thái kết nối của VPN Client tới VPN Server ................................32 ii Hình 2.18: Nhật ký kết nối của toàn hệ thống ..........................................................32 Hình 2.19: Mô hình sử dụng MPSFV6 làm VPN Gateway ......................................33 Hình 2.20: Mô hình kết nối MPS VPN Client vào hệ thống ....................................34 Hình 2.21: Mô hình lưu khóa sử dụng OpenVPN ....................................................36 Hình 3.1: Các Overlap của hai phân tích của từ w ...................................................42 Hình 3.2: Trường hợp X -1X YY -1 – {}  .......................................................48 Hình 3.3: Trường hợp Y -1(XY)+ (XY)+............................................................48 Hình 3.4: Trường hợp (XY)+ X -1  (XY)+ ...........................................................49 Hình 3.5: Sơ đồ tạo chữ ký ALT - RSA....................................................................54 Hình 3.6: Ví dụ quy trình mã hóa ALT với k=2 .......................................................55 Hình 3.7: Sơ đồ giải mã chữ ký ALT-RSA..............................................................56 Hình 3.8. Chức năng tạo chứng chỉ số Server trên hệ thống MPSFV6 hiện tại .......57 Hình 3.9: Tạo chứng chỉ VPN CA trên hệ thống MPSFV6 hiện tại .........................58 Hình 3.10: Sơ đồ cài đặt ứng dụng ở Server .............................................................59 Hình 3.11: Sơ đồ cài đặt hệ thống xác thực thông tin người dùng ...........................59 Hình 3.12: Form cập nhật thông tin người sử dụng ..................................................60 Hình 3.13: Thông báo tạo và ghi khóa thành công ...................................................60 Hình 3.14: Thông báo đã nhập thông tin tài khoản vào hệ thống .............................61 Hình 3.15: Xác nhận yêu cầu mã hóa ALT-RSA .....................................................61 Hình 3.16: Thông báo kết quả mã hóa thành công ...................................................61 Hình 3.17: Giao diện đăng nhập hệ thống VPN Client .............................................62 Hình 3.18: Giao diện hệ thống VPN Client ..............................................................62 Hình 3.19: Yêu cầu xác nhận giải mã ALT-RSA .....................................................63 Hình 3.20: Kết quả xác thực thông tin người dùng ...................................................63 Hình 3.21: Thông báo người dùng đã kết nối thành công vào hệ thống ...................64 iii DANH MỤC CÁC BẢNG Bảng 1.1: So sánh mã hóa quy ước và mã hóa công khai ...........................................8 Bảng 1.2: Bảng thời gian phân tích thừa số ..............................................................17 iv LỜI NÓI ĐẦU Trong một xã hội thông tin, các cá nhân và tổ chức giao tiếp, trao đổi thông qua môi trường mạng. Với ưu điểm thuận tiện và nhanh chóng, trao đổi thông tin trên Internet ngày càng được mở rộng và trở thành một phương thức hỗ trợ trao đổi, giao tiếp không chỉ giữa các cá nhân, tổ chức mà còn trong cơ quan nhà nước, giữa cơ quan nhà nước với công dân, doanh nghiệp. Tuy nhiên, trao đổi thông tin trên Internet đặt ra các vấn đề về đảm bảo an toàn thông tin cần được cân nhắc như vấn đề xác thực người giao dịch, bí mật thông tin, tính toàn vẹn của thông tin và chống chối bỏ đối với những hành động đã thực hiện trong quá trình trao đổi thông tin. Ứng dụng chữ ký số và dịch vụ chứng thực chữ ký số đã trở thành giải pháp hiệu quả để giải quyết cho những vấn đề tồn tại nói trên. Từ trước tới nay, giải pháp xây dựng chữ ký số bằng hệ mã RSA đã trở nên phổ biến. Tuy nhiên cùng với sự phát triển nhanh chóng của công nghệ, không nằm ngoài tình trạng chung của các giải pháp bảo mật, hệ thống chữ ký số luôn là mục tiêu tấn công của tin tặc. Với ý nghĩa, tầm quan trọng của chữ ký số, hệ thống này cần thiết phải luôn nghiên cứu những giải pháp cải tiến, nâng cao tính an toàn, bảo mật thông tin Với ý nghĩa trên, tác giả đã chọn đề tài luận văn tốt nghiệp “Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp ALT và RSA” nhằm xây dựng một mô hình mã hóa kết hợp giữa hệ mã luân phiên (Alternative code) và hệ mã RSA.Trong cơ chế mã hóa hai lớp này trước hết thông tin sẽ được mã hóa bằng hệ mã hóa luân phiên. Sau khi bản rõ đã mã hóa sẽ được đưa vào mảng và mã hóa tiếp bằng hệ mã RSA và hiển thị xâu được mã hóa cho người giải mã. Bên cạnh đó đi sâu nghiên cứu xây dựng bộ chữ ký số dựa trên hệ mã kết hợp ALT và RSA phục vụ xác thực người truy cập vào hệ thống mạng riêng ảo (VPN), cải tiến từ hệ thống MPSFV6_VPN của Phòng an toàn thông tin và tác chiến tin học – Cục Tin học nghiệp vụ (H49), Bộ Công an. v Trong khuôn khổ nghiên cứu, luận văn được trình bày trong 3 chương chính: Chương I: Tổng quan về mật mã và hệ mã RSA Chương II: Giới thiệu về giải pháp MPSFV6 và Open VPN. Chương III:Xây dựng chữ ký số dựa trên hệ mã kết hợp ALT và RSA Hoàn thành luận văn này, em xin gửi lời cảm ơn chân thành đến thầy giáo TS. Hồ Ngọc Vinh đã nhiệt tình giúp đỡ, hướng dẫn. Cảm ơn tập thể giảng viên Viện CNTT&TT - Trường Đại học Bách Khoa Hà nội, bạn bè, đồng nghiệp và gia đình đã luôn động viên, hỗ trợ trong thời gian qua. Hà nội, tháng 4 năm 2015 Học viên Trương Minh Hợi vi Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp ALT và RSA Chương I: TỔNG QUAN VỀ MẬT MÃ VÀ HỆ MÃ RSA 1.1. Giới thiệu chung Mật mã đã được con người sử dụng từ lâu đời. Các hình thức mật mã sơ khai đã được tìm thấy từ khoảng bốn nghìn năm trước trong nền văn minh Ai Cập cổ đại. Trải qua hàng nghìn năm lịch sử, mật mã đã được sử dụng rộng rãi ở khắp nơi trên thế giới từ Đông sang Tây để giữ bí mật cho việc giao lưu thông tin trong nhiều lĩnh vực hoạt động giữa con người và các quốc gia, đặc biệt trong các lĩnh vực quân sự, chính trị, ngoại giao. Mật mã trước hết là một loại hoạt động thực tiễn, nội dung chính của nó là để giữ bí mật thông tin. Ví dụ muốn gửi một văn bản từ một người gửi A đến một người nhận B, A phải tạo cho văn bản đó một bản mã mật tương ứng và thay vì gửi văn bản rõ thì A chỉ gửi cho B bản mã mật, B nhận được bản mã mật và khôi phục lại văn bản rõ để hiểu được thông tin mà A muốn gửi cho mình. Do văn bản gửi đi thường được chuyển qua các con đường công khai nên người ngoài có thể “lấy trộm” được, nhưng vì đó là bản mật mã nên không đọc hiểu được; Còn A có thể tạo ra bản mã mật và B có thể giải bản mã mật thành bản rõ để hiểu được là do hai người đã có một thoả thuận về một chìa khoá chung, chỉ với khoá chung này thì A mới tạo được bản mã mật từ bản rõ và B mới khôi phục được bản rõ từ bản mã mật. Khoá chung đó được gọi là khoá mật mã. Để thực hiện được một phép mật mã, ta còn cần có một thuật toán biến bản rõ cùng với khoá mật mã thành bản mã mật và một thuật toán ngược lại biến bản mật cùng với khoá mật mã thành bản rõ. Các thuật toán đó được gọi tương ứng là thuật toán lập mã và thuật toán giải mã. Các thuật toán này thường không nhất thiết phải giữ bí mật, mà cái luôn cần được giữ bí mật là khoá mật mã. Trong thực tiễn, có những hoạt động ngược lại với hoạt động bảo mật là khám phá bí mật từ các bản mã “lấy trộm” được, hoạt động này thường được gọi là mã thám hay phá khoá. Học viên: Trương Minh Hợi 1 Luận văn Thạc sĩ kỹ thuật Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp ALT và RSA 1.2. Khái niệm hệ mật mã Hệ mật mã được định nghĩa là một bộ năm (P, C, K, E, D), trong đó: 1. P (Plaintext) là tập hữu hạn các các bản rõ có thể. 2. C (Ciphertext) tập hữu hạn các bản mã có thể. 3. K là tập hữu hạn các khoá có thể. 4. E (Encryption) là tập các hàm lập mã. 5. D (Decryption) là tập các hàm giải mã. Với mỗi k ∈ K, có một hàm lập mã: ek ∈ E, ek : P → C và một hàm giải mã dk ∈ D, dk: C → P sao cho: dk(ek(x)) = x , ∀x ∈ P. Key k Plaintext (X) Encryption Key k Ciphertext (Y) Decryption Plaintext (X) Y= Ek(X) Hình 1.1: Quá trình mã hoá và giải mã Như vậy đầu ra là bản mã tuỳ thuộc vào khoá và bản rõ. Bản rõ sẽ được bên gửi mã hoá thành bản mã gửi qua kênh liên lạc, tới người nhận. Bên nhận sẽ làm ngược lại, nhận bản mã rồi giải mã thành bản rõ để đọc được nội dung. Hệ mật mã có khoá dùng chung cho cả thuật toán mã hoá và giải mã gọi là hệ mật mã khoá đối xứng (bí mật), còn hệ mật mã khoá dùng cho thuật toán mã hoá khác với khoá dùng cho giải mã gọi là hệ mật mã khoá công khai (không đối xứng). Sau đây chúng ta sẽ xem xét hai loại mật mã trên. Học viên: Trương Minh Hợi 2 Luận văn Thạc sĩ kỹ thuật Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp ALT và RSA 1.3. Hệ mật mã khoá đối xứng 1.3.1. Khái niệm cơ bản Đây là kiểu mật mã được sử dụng từ nhiều thế kỷ. Tên của nó bắt nguồn từ thực tế là người gửi và người nhận dùng chung một khoá, và khoá này phải được giữ bí mật. Như vậy là trước khi trao đổi bản tin cho nhau, phải có kênh liên lạc mật để chuyền cho nhau khoá mật. Quá trình này gọi là phân phối khoá. Thực hiện quá trình này rất khó khăn, vì nếu đã bảo đảm có kênh liên lạc mật để truyền khoá, thì tại sao lại không truyền trực tiếp bản tin? Mật mã khoá bí mật còn được gọi là mật mã đối xứng, bởi vì cùng một khoá được sử dụng cho cả hai đầu của kênh liên lạc. Trên hình 2 minh hoạ mô hình hệ mật mã khoá bí mật. KA-B Plaintext (X) Message, m KA-B Encryption algorithm Ciphertext (Y) Decryption algorithm KA-B(m) Plaintext (X) m=KA-B(KA-B(m)) Hình 1.2: Hệ mật mã khoá bí mật Tại nơi gửi, tạo ra một tập hợp các bản rõ X = [X1, X2,…,XM] Nguồn khoá tạo ra một tập hợp khoá K = [K1, K2,….,KL ]. Nếu khoá được tạo ra tại nơi gửi, thì nó phải được truyền đến nơi nhận theo một kênh an toàn. Bản rõ X, khoá K là đầu vào, Bộ mã dùng thuật toán mã hoá tạo ra được bản mã Y = [Y1,Y2,….,YN ]. Ta có: Y = Ek (X) Học viên: Trương Minh Hợi 3 Luận văn Thạc sĩ kỹ thuật Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp ALT và RSA Y được tạo ra bằng cách sử dụng thuật toán mã hoá E một hàm của X và được xác định nhờ khoá K. Nơi nhận, nhận lại thông tin nhờ “bộ giả mã”, với hàm giải mã D X = Dk (Y) Mô hình trên bảo đảm cả tính tin cậy (bảo mật) và xác thực vì chỉ có người gửi và nhận có khoá K, nhưng không làm chữ ký số được vì người nhận có thể giả mạo bản tin và người gửi có thể chối bỏ bản tin. 1.3.2. Các thuật toán dùng trong hệ mật mã khoá đối xứng Có nhiều thuật toán khoá bí mật, sau đây chỉ liệt kê một số loại thông dụng nhất: - DES (Data Encryption Standard) chuẩn mã hoá dữ liệu, được chấp nhận như là chuẩn của chính phủ Hoa kỳ năm 1977. DES dùng khoá 56 bits, được coi là một thuật toán mạnh. Nhược điểm của DES là độ dài khoá ngắn 56 bits. - Triple DES làm cho DES an toàn hơn, bằng cách dùng thuật toán DES 3 lần với 2 khoá khác nhau. - IDEA (International Data Encryption Algorithm) được Jane L.Masey và Xuejia Lai xây dựng tại Thụy Sĩ và được công bố năm 1990. IDEA sử dụng khoá 128 bits. IDEA cũng được coi là một thuật toán mạnh, dùng thay cho DES. 1.3.3. Những vấn đề cần giải quyết trong hệ mật mã khoá đối xứng Hệ mật mã này có những vấn đề khó khăn sau: - Phân phối khoá. - Không thể gửi bản mã cho một người nào đó nếu người gửi không có khả năng gửi cho người nhận khoá bí mật. Học viên: Trương Minh Hợi 4 Luận văn Thạc sĩ kỹ thuật Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp ALT và RSA 1.4. Hệ mật mã khoá công khai 1.4.1. Ý tưởng xây dựng hệ mật mã khoá công khai Trong mô hình mật mã cổ điển mà cho tới tận ngày nay vẫn đang được nghiên cứu: A (người gửi) và B (người nhận) cùng chọn một khoá k bí mật. Sau đó A và B dùng khoá k, luật mã hoá ek và luật giải mã dk để chuyển đổi bản tin rõ M thành bản tin mã C. Trong đó dk giống như ek hoặc dễ dàng nhận được từ ek (ví dụ như hệ mật DES có quá trình giải mã hoàn toàn tương tự như quá trình mã hoá nhưng thủ tục khoá thì ngược lại). Các hệ mật này được gọi là các hệ mật mã khoá bí mật. Một nhược điểm của hệ mật loại này là giữa A và B phải có một kênh an toàn để trao đổi thông tin trước về khoá, trước khi gửi một bản tin bất kỳ. Hơn nữa để bảo đảm tính mật thì sự phân phối khoá cho A và B (trong khi đó khoá chỉ dùng một lần, không được trùng lặp khoá) là rất cồng kềnh. Hơn nữa một kênh truyền riêng để phân phối khoá bí mật sẽ dẫn đến tốn kém về mặt kinh tế và tổ chức kênh truyền (đặc biệt tốn kém khi A và B ở quá xa). Chính vì vậy mà ý tưởng xây dựng một hệ mật mà khoá mã có thể được công khai (khoá công khai của từng người có thể được quản lý chung bởi một Server quản lý khoá công cộng). Như vậy khi A gửi tin cho B thì A không cần thông tin trước về khoá mà A chỉ việc lấy khoá công khai của B về và dùng luật mã hoá ek mã hoá bản tin và gửi cho B. Để giải mã thì B dùng luật giải mã dk và khoá bí mật của riêng mình giải mã bản tin đó. Đây chính là ý tưởng xây dựng một hệ mật mã khoá công khai (khoá dùng chung) làm cho việc sử dụng trở nên thuận tiện, giảm chi phí kênh truyền và khắc phục sự cồng kềnh trong phân phối khoá. 1.4.2. Hệ mật mã khoá công khai Ý tưởng về hệ mật mã khoá công khai đã được Diffie và Hellman đưa ra vào năm 1976 đó là hệ mật mã bất đối xứng. Hay nói cách khác hệ mật mã khoá công Học viên: Trương Minh Hợi 5 Luận văn Thạc sĩ kỹ thuật Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp ALT và RSA khai có tính chất bất đối xứng, nó bao gồm việc sử dụng hai khoá riêng biệt tương phản với mã hoá quy ước có tính chất đối xứng là chỉ sử dụng một khoá. Việc sử dụng hai khoá có tầm quan trọng sâu sắc trong lĩnh vực cần tính bí mật phân bố khoá và sự chứng thực. Sự phát triển của mật mã khoá công khai đóng một vai trò rất lớn và tạo ra cuộc cách mạng trong toàn bộ lịch sử của mật mã. Trong đó những giải thuật khoá công khai đều dựa trên những hàm toán học hơn là những phép thay thế và chuyển vị trong những hệ mật mã cổ điển. Quan trọng hơn là mật mã khoá công khai có tính chất bất đối xứng bao gồm việc sử dụng hai khoá riêng biệt. Khái niệm mật mã khoá công khai đã tạo ra sự cố gắng để giải quyết hai vấn đề khó khăn nhất trong mã hoá quy ước đó là sự phân bố khoá và chữ ký số: - Trong mã hoá quy ước sự phân bố khoá yêu cầu hai hoặc nhiều người truyền thông cùng (share – chia sẻ) tham gia một khoá mà bằng cách nào đó đã được phân bố tới họ hoặc sử dụng một trung tâm phân bố khoá. - Nếu mật mã đã trở nên phổ biến (không chỉ trong Quân đội, Công an, Đảng chính mà còn dùng trong thương mại.v.v..) thì những bản tin và tài liệu điện tử sẽ cần những chữ ký tương đương mà đã sử dụng trong các tài liệu giấy. Tức là một phương pháp có thể được nghĩ ra có quy định làm hài lòng tất cả những user tham gia khi mã một đoạn tin số được gửi bởi một cá nhân đặc biệt hay không? Trong sơ đồ mã hoá quy ước, các khoá được dùng cho mã hoá và giải mã một đoạn tin là giống nhau. Thay vì điều đó có thể phát triển giải thuật mã hoá dựa trên một khoá cho mã hoá, một khoá khác (có liên quan tới khoá trên) cho giải mã. Hơn nữa các giải thuật này có những đặc điểm quan trọng sau: - Việc tính toán một cách không khả thi để xác định khoá giải mã trong khi chỉ biết giải thuật mật mã và khoá mã hoá (khoá công khai). - Trong RSA (sẽ nói ở phần sau) còn có đặc điểm hoặc một trong hai khoá Học viên: Trương Minh Hợi 6 Luận văn Thạc sĩ kỹ thuật Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp ALT và RSA quan hệ có thể được sử dụng cho mã hoá còn khoá kia được dùng cho giải mã. Các bước tiến hành trong quá trình mã hoá công khai: - Mỗi user tạo ra một cặp khoá để dùng cho mã hoá và giải mã bản tin mà sẽ nhận. - Mỗi hệ thống công bố rộng rãi khoá mã hoá bằng cách đặt khoá vào một thanh ghi hay một file công khai. Đây chính là khoá công khai, khoá còn lại được giữ riêng và bí mật. - A muốn gửi bản tin cho B thì A mã hoá bản tin bằng khoá công khai của B rồi gửi cho B. - Khi B nhận được bản tin mã hoá, B giải bản mã bằng khoá bí mật của mình. Không một người nào có thể giải mã bản mã này bởi chỉ có B mới có khoá bí mật. Ta có sơ đồ mã hoá và giải mã sau: Khóa công khai của B Khóa bí mật của B USER A Bản tin Giải thuật mã hóa Mật mã Giải thuật giải mã Bản tin USER B Hình 1.3: Sơ đồ mã hóa và giải mã Với cách tiếp cận trên, tất cả những người tham gia có thể truy xuất khoá công khai. Khoá bí mật được tạo bởi từng cá nhân vì vậy không bao giờ được phân bố. Ở bất kỳ thời điểm nào, hệ thống cũng có thể chuyển đổi cặp khoá để đảm bảo tính bí mật. Bảng tóm tắt một số khía cạnh quan trọng về mã hoá quy ước và mã hoá công khai: để phân biệt giữa hai loại, chúng ta sẽ tổng quát hoá liên hệ khoá sử Học viên: Trương Minh Hợi 7 Luận văn Thạc sĩ kỹ thuật Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp ALT và RSA dụng trong mã hoá công khai là khoá công khai và khoá bí mật. Bảng tóm tắt: Mã hoá quy ước *Yêu cầu: Mã hoá công khai *Yêu cầu: Giải thuật tương tự cho mã hoá và giải Một giải thuật cho mã hoá và một giải mã. thuật cho giải mã. Người gửi và người nhận phải tham Người gửi và người nhận mỗi người phải gia cùng giải thuật và cùng khoá. có cặp khoá riêng cho mình. *Tính bảo mật: *Tính bảo mật: Khoá phải được giữ bí mật. Một trong hai khoá phải được giữ bí mật. Không thể hay ít nhất không có tính Không thể hay ít nhất không có tính thực thực tế để giải mã bản mã nếu thông tế để giải mã đoạn tin nếu thông tin tin “khác” không có sẵn. “khác” không có sẵn. Kiến thức về giải thuật cộng với các Kiến thức về giải thuật cộng với một mẫu về mật mã không đủ để xác định trong các khoá, cộng với các mẫu về mật khoá. mã không đủ để xác định khoá kia. Bảng 1.1: So sánh mã hóa quy ước và mã hóa công khai Tùy thuộc vào cách sử dụng chúng ta có các mô hình khác nhau. Trong mô hình đảm bảo tính tin cậy (Confidentially), người nhận B phát sinh ra một cặp khoá: khoá công khai KUb và khoá cá nhân KRb. Khoá công khai KUb được công bố cho tất cả mọi người, còn khoá cá nhân KRb chỉ có người B biết. Khi người gửi A muốn gửi bản tin cho người nhận B, sẽ dùng khoá công khai của người nhận B để mã hoá. Chỉ có người nhận B sử dụng khoá cá nhân của mình KRb mới giải mã được bản tin. Học viên: Trương Minh Hợi 8 Luận văn Thạc sĩ kỹ thuật Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp ALT và RSA Với bản tin X và khoá KUb ở đầu vào, người gửi A dùng thuật toán mã hoá E để tạo ra bản mã Y = [Y1,Y2,…YN]: Y = EKUb (X) Người nhận B dùng thuật toán giải mã D để tạo lại bản tin X: X = DKRb (Y) Mô hình hệ mật mã khoá công khai dùng để bảo đảm độ tin cậy được minh hoạ trên hình 1.4: Thám mã Nơi gửi Người gửi A Nơi nhận X Mã hoá Y Giải mã Người KRb nhận B Nguồn khoá KUb của B Hình 1.4: Hệ mật mã khoá công khai bảo đảm tin cậy Trong mô hình bảo đảm tính xác thực, A chuẩn bị gửi bản tin cho B, dùng khoá cá nhân của mình là KRa để mã hoá. B có thể giải mã dùng khoá công khai của A là KUa. Chỉ có A mới tạo được bản mã, nó sử dụng làm chữ ký số. Với bản tin X và khoá KRa ở đầu vào, người gửi A dùng thuật toán mã hoá E để tạo ra bản mã Y = [Y1,Y2,…,YN]: Y = EKRa (X) Học viên: Trương Minh Hợi 9 Luận văn Thạc sĩ kỹ thuật Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp ALT và RSA Người nhận B dùng thuật toán giải mã D để tạo lại bản tin X X = DKUa (X) Mô hình hệ mật mã khoá công khai để bảo đảm tính xác thực được minh hoạ trên hình 1.5. Thám mã Nơi gửi Người gửi A X Mã hoá Y Nơi nhận Giải mã X Người nhận B KRa Nguồn khóa của A KUa Hình 1.5: Hệ mật mã khoá công khai bảo đảm tính xác thực Hệ mật mã này không bảo đảm được tính tin cậy, bản tin được truyền đi không thể bị thay thế, nhưng bất kỳ ai dùng khoá công khai của A đều đọc được bản tin này. Để bảo đảm cả tính tin cậy và xác thực, phải sử dụng hai lần mã hoá. Người gửi A mã bản tin dùng khóa cá nhân của mình là KRa (tạo ra chữ ký số). Sau đó lại mã hoá lần hai dùng khoá công khai của người nhận B là KUb. Quá trình giải mã tại nơi nhận sẽ xảy ra ngược lại với quá trình trên. Người nhận sẽ giải mã bản mã dùng khoá cá nhân của mình là KRb. Sau đó lại giải mã lần hai dùng khoá công khai của người gửi A là KUa: Z = EKUb (EKRa (X)) X = DKUa (DKRb (Z)) Mô hình hệ mật mã khoá công khai bảo đảm tính tin cậy và xác thực được Học viên: Trương Minh Hợi 10 Luận văn Thạc sĩ kỹ thuật
- Xem thêm -

Tài liệu liên quan

Tài liệu xem nhiều nhất