Đang tải... (xem toàn văn)
Nội dung đồ án: - Tìm hiểu, nghiên cứu cơ sở lý luận về an toàn, chứng thực thông tin. - Tìm hiểu về chữ ký điện tử. - Tìm hiểu về các phương thức mã hóa dữ liệu cơ bản, tìm hiểu về hàm băm. - Tìm hiểu về phương thức mã hóa bất đối xứng sử dụng cho chữ ký điển tử. - Tìm hiểu về các hệ chữ ký điện tử cơ bản và hệ chữ ký RSA ứng dụng cho chữ ký điện tử. - Cài đặt thành công chương trình minh họa ký số.
Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa. Mục lục khóa luận Phần 1: Tìm hiểu lịch sử về an toàn thông tin, chứng thực thông tin và chữ ký điện tử 7 Phần 2: Nội dung 10 I. Tổng quan về chứng thực và an toàn thông tin 10 II. Mã hóa dữ liệu và giải mã 11 a. Tổng quan về mã hóa dữ liệu và giải mã: 11 b. Mã hóa bất đối xứng (asymmetric) 13 c. Mã hóa đối xứng (symmetric) 15 d. Hàm băm (Hashing) 17 - Tính chất của hàm băm 18 - Một số hàm băm nổi tiếng 19 + MD5 (Message Digest) 19 + SHA (Secure Hash Algorithm) 25 III. Chữ ký điện tử 28 1. Tổng quan 28 2. Quy trình sử dụng chữ ký điện tử 30 3. Một số sơ đồ CKĐT phổ biến 32 a. Rivest Shamir Adleman (RSA) 32 - Sơ lược về các khái niệm toán học dùng trong RSA 32 - Cách tạo khóa: 34 - Quy trình thực hiện ký và xác nhận văn bản 35 Phần này đã được cắt bỏ, hãy liên hệ chủ đề tài để nhận được bản chi tiết hơn. 35 - Tính bảo mật 37 - Các dạng tấn công 38 b. Hệ chữ ký ElGammal 40 c. Chuẩn chữ kí số (DSS) 44 4. Hàm băm và kết hợp hàm băm vào chữ ký điện tử 47 IV. Cài đặt minh họa sơ đồ ký số RSA kết hợp băm SHA 47 + Các bước thực hiện của chương trình 47 a. Phát sinh khóa: 47 b. Ký chữ ký điện tử: 47 47 Phần này đã được cắt bỏ, hãy liên hệ chủ đề tài để nhận được bản chi tiết hơn. 47 47 - Một số hàm sử dụng trong chương trình 47 - Giao diện của chương trình: 49 Phần 3. Kết luận: 50 + Những phần đã làm được 50 + Những phần chưa làm được 50 + Hướng phát triển của đề tài 50 51 1 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa. Danh mục từ viết tắt: - RSA: Rivest Shamir Adleman - SHA: Secure Hash Algorithm - MD5: Message Digest - CKĐT: Chữ ký điện tử - CA: Certificate Authority - ủy quyền chứng chỉ - UCLN: Ước chung lớn nhất Liên hệ mail: Hainhat007@gmail.com or đt: 0982.070.520 để lấy bài + Code đầy đủ và chi tiết hơn! 2 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa. A. PHẦN MỞ ĐẦU 1. Lí do chọn đề tài Ngày nay, các ứng dụng của công nghệ thông tin ngày càng không thể thiếu được đối với các thành phần như xã hội, kinh tế, chính trị, quân sự Một lĩnh vực quan trọng mà công nghệ thông tin được ứng dụng rất mạnh mẽ và không thể thiếu đó là lĩnh vực truyền thông. Rất nhiều thông tin liên quan đến những công việc hàng ngày đều do máy vi tính quản lý và truyền gửi đi trên hệ thống mạng, kéo theo đó là vấn đề về xác thực nguồn thông tin nhận được. Và vấn đề được đặt ra là làm thế nào để xác thực được một cách chính xác nguồn thông tin nhận là của một người, một máy chủ hay của một thực thể nào đó gửi tin trên hệ thống mạng? Hình 1.1 – Mô hình trao đổi thông tin qua mạng INTERNET. Ví dụ: khi A gửi một thông tin điện tử cho D, và giả sử B “giả mạo” A cũng gửi một thông tin cho D, hoặc một người C trên môi trường truyền bắt được và sửa đổi thông tin A gửi sau đó các thông tin này được gửi lại cho D. Vậy thông tin D nhận A INTERNE T B D 3 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa. được không chính xác và người nhận D cũng không thể xác thực được thông tin đó là do người A gửi, hay B gửi, hay một người nào khác gửi. Vấn đề đặt ra là người D sau khi nhận được bản tin phải xác thực được rằng thông tin là của chính một đối tượng cụ thể gửi và thông tin không bị tiết lộ cũng như bị không thay đổi trên môi trường truyền thông. Đề tài “TÌM HIỂU VỀ CHỮ KÝ ĐIỆN TỬ VÀ CÀI ĐẶT CHƯƠNG TRÌNH MINH HỌA” sẽ tìm hiểu vấn đề nêu trên và cài đặt chương trình ký số minh họa. 2. Mục đích nghiên cứu Tìm hiểu cơ sở lý luận về chứng thực thông tin, chữ ký điện tử, cài đặt chương trình ký số kết hợp RSA và hàm Băm. 3. Nhiệm vụ nghiên cứu - Nghiên cứu cơ sở lý luận về chứng thực thông tin. - Tìm hiểu về chữ ký điện tử. - Tìm hiểu về các phương thức mã hóa dữ liệu cơ bản. - Tìm hiểu phương thức mã hóa bất đối xứng sử dụng cho chữ ký điển tử. - Tìm hiểu về hàm băm. - Cài đặt chương trình minh họa. 4. Đối tượng nghiên cứu - Cơ sở lý luận về chứng thực thông tin. - Hệ mã hóa công khai RSA. - Hàm băm kết hợp cho chữ ký điện tử. 5. Phạm vi nghiên cứu 4 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa. Nghiên cứu lý thuyết về chứng thực thông tin, hệ mã hóa công khai RSA, hàm băm SHA và cài đặt chương trình minh họa. 6. Phương pháp nghiên cứu - Hoạt động nghiên cứu cá nhân - Hoạt động nghiên cứu tài liệu - Trao đổi với giảng viên hướng dẫn 7. Cấu trúc khóa luận Gồm 5 phần chính: 1. Phần mở đầu 2. Phần nội dung 3. Phần kết luận 4. Phần tài liệu tham khảo 5. Phần phụ lục A. Phần mở đầu: Lý do chọn đề tài Mục đích nghiên cứu Nhiệm vụ nghiên cứu Đối tượng nghiên cứu Phạm vi nghiên cứu Phương pháp nghiên cứu Cấu trúc khóa luận B. Phần nội dung: Gồm 2 Phần: Phần 1: Tìm hiểu lịch sử về an toàn thông tin, chứng thực thông tin, chữ ký điện tử. 5 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa. Phần 2: Nội dung. I. Tổng quan về chứng thực và an toàn thông tin. II. Mã hóa dữ liệu và giải mã a. Tổng quan về mã hóa dữ liệu. b. Mã hóa bất đối xứng (asymmetric). c. Mã hóa đối xứng (symmetric). d. Hàm băm (Hashing) III. Chữ ký điện tử 1. Tổng quan a. Tổng quan về chữ ký điện tử b. Quy trình sử dụng chữ ký điện tử 2. Một số sơ đồ CKĐT phổ biến a. Rivest Shamir Adleman (RSA). b. Sơ đồ ký số El Gamal. c. Chuẩn chữ kí số (DSS) 3. Hàm băm và kết hợp hàm băm vào chữ ký điện tử. IV. Cài đặt minh họa sơ đồ ký số RSA kết hợp băm SHA. + Các bước thực hiện của chương trình. + Cài đặt chương trình minh họa bằng ngôn ngữ C#. C. Phần kết luận: + Những phần đã làm được 6 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa. + Những phần chưa làm được + Hướng phát triển của đề tài. - Tài liệu tham khảo - Phụ lục Phần 1: Tìm hiểu lịch sử về an toàn thông tin, chứng thực thông tin và chữ ký điện tử. Nhu cầu về bảo đảm an toàn thông tin đã xuất hiện từ rất sớm, khi con người biết trao đổi và truyền đưa thông tin cho nhau, đặc biệt khi các thông tin đó đã được thể hiện dưới hình thức ngôn ngữ, thư từ. Lịch sử cho ta biết, các hình thức mật mã đượ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 trên khắp 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 (chẳng hạn dưới dạng một văn bản). Suốt mấy nghìn năm lịch sử, các thông báo, thư từ được truyền đưa và trao đổi với nhau thường là các văn bản, tức là có dạng các dãy ký tự trong một ngôn ngữ nào đó. Vì vậy, các thuật toán lập mật mã thường cũng đơn giản là thuật toán xáo trộn, thay đổi các ký tự được xác định bởi các phép chuyển dịch, thay thế hay hoán vị các ký tự trong bảng ký tự của ngôn ngữ tương ứng, khóa mật mã là thông tin dùng để thực hiện phép lập mật mã và giải mật mã cụ thể, thí dụ như số vị trí đối với phép chuyển dịch, bảng xác định các cặp ký tự tương ứng đối với phép thay thế hay hoán vị, Mật mã chưa phải là một khoa học, do đó chưa có nhiều kiến thức sách vở để lại, tuy nhiên hoạt động bảo mật và thám mã trong lịch sử các cuộc đấu tranh chính trị, ngoại giao và quân sự thì hết sức phong phú, và mật mã đã có nhiều tác động rất quan trọng đưa đến những kết quả lắm khi có ý nghĩa quyết định trong 7 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa. các cuộc đấu tranh đó. Do trong một thời gian dài, bản thân hoạt động mật mã cũng được xem là một bí mật, nên các tài liệu kỹ thuật về mật mã được phổ biến đến nay thường chỉ ghi lại các kiến thức kinh nghiệm, thỉnh thoảng mới có một vài "phát minh" như các hệ mật mã Vigenère vào thế kỷ 16 hoặc hệ mật mã Hill ra đời năm 1929 là các hệ mã thực hiện phép chuyển dịch (đối với mã Vigenère) hay phép thay thế (mã Hill) đồng thời trên một nhóm ký tự chứ không phải trên từng ký tự riêng rẽ. [2 - tr12,13] Bước sang thế kỷ 20, vào những thập niên đầu của thế kỷ. Sự phát triển của các kỹ thuật biểu diễn, truyền và xử lý tín hiệu đã có tác động giúp cho các hoạt động lập và giải mật mã từ thủ công chuyển sang cơ giới hóa rồi điện tử hóa. Các văn bản, các bản mật mã trước đây được viết bằng ngôn ngữ thông thường nay được chuyển bằng kỹ thuật số thành các dãy tín hiệu nhị phân, tức các dãy bit, và các phép biến đổi trên các dãy ký tự được chuyển thành các phép biến đổi trên các dãy bit, hay các dãy số, việc thực hiện các phép lập mã, giải mã trở thành việc thực hiện các hàm số số học. Toán học và kỹ thuật tính toán bắt đầu trở thành công cụ cho việc phát triển khoa học về mật mã. Khái niệm trung tâm của khoa học mật mã là khái niệm bí mật. Đó là một khái niệm phổ biến trong đời sống, khái niệm bí mật thoạt đầu được gắn với khái niệm ngẫu nhiên, rồi về sau trong những thập niên gần đây, với khái niệm phức tạp, cụ thể hơn là khái niệm độ phức tạp tính toán. [2 – tr13] Năm 1978, Rivest, Shamir và Adleman tìm ra một hệ mật mã khóa công khai và một sơ đồ chữ ký điện tử hoàn toàn có thể ứng dụng trong thực tiễn, tính bảo mật và an toàn của chúng được bảo đảm bằng độ phức tạp của một bài toán số học nổi tiếng là bài toán phân tích số nguyên thành các thừa số nguyên tố. Sau phát minh ra hệ mật mã đó (mà nay ta thường gọi là hệ RSA), việc nghiên cứu để phát minh ra các hệ mật mã khóa công khai khác, và ứng dụng các hệ mật mã khóa công khai vào các bài toán khác nhau của an toàn thông tin đã được tiến hành rộng rãi, lý thuyết mật mã và an toàn thông tin trở thành một lĩnh vực khoa học được phát triển nhanh 8 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa. trong vài ba thập niên cuối của thế kỷ 20, lôi cuốn theo sự phát triển của một số bộ môn của toán học và tin học [2 – tr96]. Con người đã sử dụng các hợp đồng dưới dạng điện tử từ hơn 100 năm nay với việc sử dụng mã Morse và điện tín. Vào năm 1889, tòa án tối cao bang New Hampshire (Hoa kỳ) đã phê chuẩn tính hiệu lực của chữ ký điện tử. Tuy nhiên, chỉ với những phát triển của khoa học kỹ thuật gần đây thì chữ ký điện tử mới đi vào cuộc sống một cách rộng rãi. Vào thập kỷ 1980, các công ty và một số cá nhân bắt đầu sử dụng máy fax để truyền đi các tài liệu quan trọng. Mặc dù chữ ký trên các tài liệu này vẫn thể hiện trên giấy nhưng quá trình truyền và nhận chúng hoàn toàn dựa trên tín hiệu điện tử. Hiện nay, chữ ký điện tử có thể bao hàm các cam kết gửi bằng email, nhập các số định dạng cá nhân (PIN) vào các máy ATM, ký bằng bút điện tử với thiết bị màn hình cảm ứng tại các quầy tính tiền, chấp nhận các điều khoản người dùng (EULA) khi cài đặt phần mềm máy tính, ký các hợp đồng điện tử online [7] 9 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa. Phần 2: Nội dung. I. Tổng quan về chứng thực và an toàn thông tin. Chúng ta đang sống trong một thời đại bùng nổ thông tin. Nhu cầu trao đổi thông tin và các phương tiện truyền đưa thông tin phát triển một cách nhanh chóng. Và cùng với sự phát triển đó, đòi hỏi bảo vệ tính bí mật và chứng thực nguồn thông tin cũng càng ngày càng to lớn và có tính phổ biến. Có nhiều bài toán khác nhau về yêu cầu an toàn thông tin tùy theo những tình huống khác nhau. Ví dụ trong thực tế, một số bài toán chung nhất mà ta thường gặp là những bài toán sau đây: - Bảo mật: Giữ thông tin được bí mật đối với tất cả mọi người, trừ một ít người có thẩm quyền được đọc, biết thông tin đó. - Toàn vẹn thông tin: Bảo đảm thông tin không bị thay đổi hay xuyên tạc bởi những kẻ không có thẩm quyền hoặc bằng những phương tiện không được phép. - Nhận thực một thực thể: Xác nhận danh tính của một thực thể, chẳng hạn một người, một máy tính cuối trong mạng, một thẻ tín dụng, - Nhận thực một thông báo: Xác nhận nguồn gốc của một thông báo được gửi đến. - Chữ ký: Một cách để gắn kết một thông tin với một thực thể, thường dùng trong bài toán nhận thực một thông báo cũng như trong nhiều bài toán nhận thực khác. 10 [...]... chương trình minh họa một tập con của chữ ký điện tử (chữ ký điện tử bao hàm chữ ký số) Một chữ ký điện tử sẽ là một chữ ký số nếu nó sử dụng một phương pháp mã hóa nào đó để đảm bảo tính toàn vẹn (thông tin) và tính xác thực Ví dụ như một bản dự thảo hợp đồng soạn bởi bên bán hàng gửi bằng email tới người mua sau khi được ký (điện tử) [1- tr117] Một văn bản được ký có thể được mã hóa khi gửi nhưng điều... nhận đúng thì chữ ký Y chính là A ký trên văn bản P, ngược lại thì không phải hoặc bản ký đã được thay đổi Một số trường hợp xảy ra với chữ ký điện tử, cũng giống như các trường hợp xảy ra với chữ ký truyền thống Ví dụ: Khi tài liệu TL của A bị thay đổi (dù chỉ một ký tự, một dấu chấm, hay một ký hiệu bất kỳ), khi B xác nhận, anh ta sẽ thấy bản giải mã khác với tài liệu TL của anh A B sẽ kết luận rằng... môđun) bằng (thuật toán bình phương và nhân) Cuối cùng ta có bản ký c hay bản chữ ký điện tử và gửi cho đối tác * Xác nhận (Giải mã) 35 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa Sau khi nhận được bản chữ ký điện tử, người nhận cần phải xác nhận chữ ký trên văn bản là đúng người ký bằng cách xác nhận bản ký với khóa công khai của người ký với công thức sau... thống như trên sẽ rất dễ dàng bị giả mạo chữ ký Vậy làm sao để có thể ký vào các văn bản, tài liệu số như vậy? Câu trả lời đó là sử dụng chữ ký điện tử! Chữ ký điện tử đi kèm với các thông tin chủ sở hữu và một số thông tin cần thiết khác sẽ trở thành Chứng chỉ điện tử 28 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa Chữ ký điện tử (tiếng Anh: electronic signature)... sẽ thực hiện băm văn bản thành một bản tóm lược X, sau đó dùng khóa bí mật của mình ký lên bản tóm lược X để được văn bản chữ ký điện tử Y, sau đó gửi tài liệu P kèm theo chữ ký Y cho A Giả sử B muốn xác nhận tài liệu P là của A, với chữ ký là bản mã Y Bên B sẽ dùng khóa công khai của A để xác nhận chữ ký Y của A ký trên văn bản P gửi có 30 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và... so với hàm Băm MD5 128 bit [1 – tr117] III Chữ ký điện tử 1 Tổng quan Trong cuộc sống hàng ngày, ta cần dùng chữ ký để xác nhận các văn bản tài liệu nào đó và có thể dùng con dấu với giá trị pháp lý cao hơn đi kèm với chữ ký Cùng với sự phát triển nhanh chóng của công nghệ thông tin, các văn bản tài liệu được lưu dưới dạng số, dễ dàng được sao chép, sửa đổi Nếu ta sử dụng hình thức chữ ký truyền thống... hàm Băm SHA 160 bit [1 – tr115 > tr117] b Tính bảo mật trong SHA: Để hiểu rõ hơn về tính bảo mật của SHA, ta hãy so sánh SHA với MD5 để có thể tìm ra những điểm khác nhau của hai hàm Băm này: 27 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt chương trình minh họa - MD5 và SHA đều cộng thêm các bit “giả” để tạo thành những khối chia hết cho 512 bit, nhưng SHA. .. Xuất phát từ thực tế, chữ ký điện tử cũng cần đảm bảo các chức năng: Xác định được người chủ của một dữ liệu nào đó ví dụ văn bản, ảnh, video, dữ liệu đó có bị thay đổi hay không Hai khái niệm chữ ký số (digital signature) và chữ ký điện tử thường được dùng thay thế cho nhau mặc dù chúng không hoàn toàn có cùng nghĩa Chữ ký số chỉ là 29 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ ký điện tử và cài đặt... đáng tin cậy Để đảm bảo giao thông liên lạc an toàn cho tất cả mọi người trong một nhóm gồm n người, tổng số lượng chìa khóa cần phải có là n(n-1)/2 Các thuật toán khóa đối xứng không thể dùng cho mục đích xác thực hay mục đích chống thoái thác d Hàm băm (Hashing) - Tổng quan về hàm băm Trong ngành mật mã học, một hàm băm mật mã học (tiếng Anh: Cryptographic hash function) là một hàm băm với một số. .. liệu anh A đã ký Trường hợp khác, nếu A để lộ khóa bí mật, nghĩa là văn bản tài liệu của A có thể ký bởi người khác có khóa bí mật của A Khi một ai đó xác nhận tài liệu được cho là của A ký, chữ ký vẫn là hợp lệ, mặc dù không phải chính A ký Như vậy, chữ ký của A sẽ không còn giá trị pháp lý nữa Do đó, việc giữ khóa bí mật là tuyệt đối quan trọng trong hệ thống chữ ký điện tử Trong trường hợp ví dụ trên, . dạng tấn công 38 b. Hệ chữ ký ElGammal 40 c. Chuẩn chữ kí số (DSS) 44 4. Hàm băm và kết hợp hàm băm vào chữ ký điện tử 47 IV. Cài đặt minh họa sơ đồ ký số RSA kết hợp băm SHA 47 + Các bước thực. Shamir Adleman (RSA) . b. Sơ đồ ký số El Gamal. c. Chuẩn chữ kí số (DSS) 3. Hàm băm và kết hợp hàm băm vào chữ ký điện tử. IV. Cài đặt minh họa sơ đồ ký số RSA kết hợp băm SHA. + Các bước thực hiện. (symmetric). d. Hàm băm (Hashing) III. Chữ ký điện tử 1. Tổng quan a. Tổng quan về chữ ký điện tử b. Quy trình sử dụng chữ ký điện tử 2. Một số sơ đồ CKĐT phổ biến a. Rivest Shamir Adleman (RSA) . b. Sơ đồ ký