Luận văn Bảo mật và an toàn thông tin trong thương mại điện tử

pdf 84 trang hapham 2140
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Bảo mật và an toàn thông tin trong thương mại điện tử", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbao_mat_va_an_toan_thong_tin_trong_thuong_mai_dien_tu.pdf

Nội dung text: Luận văn Bảo mật và an toàn thông tin trong thương mại điện tử

  1. ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN  VŨ ANH TUẤN BẢO MẬT VÀ AN TOÀN THÔNG TIN TRONG THƯƠNG MẠI ĐIỆN TỬ LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ THÔNG TIN Chuyên ngành : Khoa học máy tính Mã số : 60 . 48 . 01 Người hướng dẫn khoa học: PGS.TS NGUYỄN GIA HIỂU THÁI NGUYÊN – 2008
  2. Môc lôc Néi dung Trang Lêi nãi ®Çu 2 I. Nội dung nghiên cứu của đề tài 3 1. Mục tiêu và nhiệm vụ nghiên cứu của đề tài 3 2. ý nghĩa khoa học của đề tài 3 3. Phƣơng pháp nghiên cứu 3 4. Phạm vi nghiên cứu 3 5. Các kết quả nghiên cứu dự kiến cần đạt đƣợc 4 II. Bố cục của luận văn 5 Chƣơng I : CÁC KHÁI NIỆM VÒ TMĐT VÀ CÁC ĐẶC TRƢNG CỦA 6 TMĐT 1. Khái niệm về TMĐT 6 2. Lợi ích của thƣơng mại điện 6 tử 3. Các đặc trƣng cơ bản của TMĐT 8 4. Các loại thị trƣờng điện tử 9 5. Các hệ thống thanh toán trong TMĐT 10 6. Công nghệ thanh toán điện tử 11 7. Quy trình thanh toán điện tử 12 Ch•¬ng II : hÖ mËt m·, m· kho¸ ®èi xøng, m· kho¸ c«ng 14 khai, ch÷ ký sè I. tæng quan vÒ c¸c hÖ mËt m· 14 1. Mật mã học cổ điển 14 2. Mật mã học hiện đại 15 3. Thuật ngữ 16 4. Tiêu chuẩn mật mã 17 ii. c¸c ph•¬ng ph¸p m· ho¸ 19 1. Mã hoá đối xứng (mã hoá khoá bí mật) 19 2. Mã hóa không đối xứng (Mã hóa khóa công khai) 29 iii. CHỮ KÝ Sè 36 1. Chữ kí số 36 2. Phân loại các sơ đồ chữ kí số 37 3. Một số sơ đồ chữ ký cơ bản 40 3.1. Sơ đồ chữ ký RSA 40 3.2. Sơ đồ chữ ký DSA (Digital Signature Standard) 42 4. Các sơ đồ chữ kí số khả thi 46 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 2
  3. Néi dung Trang 5. Các cách tấn công chữ kí điện tử 47 Ch•¬ng III : b¶o mËt vµ an toµn th«ng tin trong tm®t 49 i. vÊn ®Ò an toµn th«ng tin 49 II. chøng chØ sè vµ c¬ chÕ m· ho¸ 51 1. Giới thiệu về chứng chỉ số 51 2. Xác thực định danh 52 3. Chứng chỉ khóa công khai 54 4. Mô hình CA 57 5. Một số giao thức bảo mật ứng dụng trong TMĐT 57 CHƢƠNG IV: cµi ®Æt b¶o mËt vµ an toµn th«ng tin trªn 74 website mua b¸n c¸c linh kiÖn m¸y tÝnh trªn m¹ng internet I. C¸c chøc n¨ng c¬ b¶n vµ ho¹t ®éng cña hÖ thèng website 74 1. Tổ chức dữ liệu 74 2. Quản trị thông tin 75 3. Mã hóa RSA và áp dụng trong hệ thống 75 4. Thực hiện mua hàng 75 5.Cách thức thực hiện mã hóa và giải mã 76 II. cµi ®Æt c¸c chøc n¨ng b¶o mËt vµ an toµn th«ng tin trªn 77 web site mua b¸n linh kiÖn m¸y tÝnh 1. Thủ tục đăng kí thành viên 77 2. Khách hàng lựa chọn và mua hàng trên website 79 kÕt luËn 82 Tµi liÖu tham kh¶o 83 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 3
  4. lêi nãi ®Çu Với sự phát triển mang tính toàn cầu của mạng Internet và TMĐT, con ngƣời có thể mua bán hàng hoá và dịch vụ thông qua mạng máy tính toàn cầu một cách dễ dàng trong mọi lĩnh vực thƣơng mại rộng lớn . Tuy nhiên đối với các giao dịch mang tính nhạy cảm này cần phải có những cơ chế đảm bảo bảo mật và an toàn vì vậy vấn đề bảo mật và an toàn thông tin trong thƣơng mại điện tử là một vấn đề hết sức quan trọng. Đề tài sẽ đề cập đến các kỹ thuật chính của lĩnh vực Bảo mật và an toàn thông tin trong thƣơng mại điện tử. Hiện nay vấn đề Bảo mật và an toàn thông tin trong TMĐT đã và đang đƣợc áp dụng phổ biến và rộng rãi ở Việt Nam và trên phạm vi toàn cầu. Vì thế vấn đề Bảo mật và an toàn đang đƣợc nhiều ngƣời tập trung nghiên cứu và tìm mọi giải pháp để đảm bảo Bảo mật và an toàn cho các hệ thống thông tin trên mạng. Tuy nhiên cũng cần phải hiểu rằng không có một hệ thống thông tin nào đƣợc bảo mật 100% bất kỳ một hệ thống thông tin nào cũng có những lỗ hổng về bảo mật và an toàn mà chƣa đƣợc phát hiện ra Vấn đề bảo mật và an toàn thông tin trong TMĐT phải đảm bảo bốn yêu cầu sau đây: - Đảm bảo tin cậy : Các nội dung thông tin không bị theo dõi hoặc sao chép bởi những thực thể không đƣợc uỷ thác. - Đảm bảo toàn vẹn : Các nội dung thông tin không bị thay đổi bởi những thực thể không đƣợc uỷ thác - Sự chứng minh xác thực : Không ai có thể tự trá hình nhƣ là bên hợp pháp trong quá trình trao đổi thông tin - Không thể thoái thác trách nhiệm : Ngƣời gửi tin không thể thoái thác về những sự việc và những nội dung thông tin thực tế đã gửi đi Xuất phát từ những khả năng ứng dụng trong thực tế và những ứng dụng đã có từ các kết quả của nghiên cứu trƣớc đây về lĩnh vực Bảo mật và an toàn trong TMĐT. Đề tài sẽ đi sâu nghiên cứu các kỹ thuật và các phƣơng pháp Bảo mật và an toàn thông tin trong thƣơng mại điện tử Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 4
  5. I. Nội dung nghiên cứu của đề tài 1. Mục tiêu và nhiệm vụ nghiên cứu của đề tài - Đề tài nghiên cứu các kỹ thuật và phƣơng pháp để thực hiện nhiệm vụ Bảo mật và an toàn trong thƣơng mại điện tử, quá trình thực hiện và các kiến thức khoa học và thuật toán liên quan nhƣ: Xác thực, Bảo mật, Bảo toàn dữ liệu, Mật mã, Chữ ký số - Áp dụng các kết quả đã nghiên cứu để triển khai hệ thống Bảo mật và an toàn trong TMĐT 2. ý nghĩa khoa học của đề tài Áp dụng các kết quả đã nghiên cứu để xây dựng các kỹ thuật Bảo mật và an toàn trong thƣơng mại điện tử với một số tính năng cơ bản nhƣ: Hệ thống chứng thực, Các cơ chế phân bố khoá tự động, Mã hoá các thông tin cần thiết, kỹ thuật ngăn ngừa các rui ro trong TMĐT. Vấn đề Bảo mật và an toàn trên mạng là một trong những vấn đề nóng hổi trong hoạt động thực tiễn của TMĐT, giải quyết tốt vấn đề bảo mật và an toàn trong TMĐT sẽ mang lại ý nghĩa hết sức to lớn nhƣ: Làm cho khách hàng tin tƣởng khi thực hiện các giao dịch trên mạng, và các nhà cung cấp dịch vụ giao dịch trực tuyến cũng nhƣ các ISP đảm bảo đƣợc những thông tin của khách hàng giao dịch trên mạng đƣợc an toàn. 3. Phương pháp nghiên cứu Thu thập, phân tích các tài liệu và những thông tin liên quan đến đề tài. Tìm hiểu các giao dịch trong thƣơng mại điện tử của một số Website trong và ngoài nƣớc, thu thập các thông tin về bảo mật các giao dịch thƣơng mại điện tử đã có. Kết hợp các nghiên cứu đã có trƣớc đây của các tác giả trong nƣớc cùng với sự chỉ bảo, góp ý của thầy hƣớng dẫn để hoàn thành nội dung nghiên cứu 4. Phạm vi nghiên cứu Các vấn đề về bảo mật chứng thực trong thƣơng mại điện tử Hàm băm, các thuật toán mã hoá đối xứng DES và và bất đối xứng nhƣ mã khoá công khai RSA, sử dụng chữ ký số DSA và RSA, các giao thức bảo mật trên mạng nhƣ: SSL, TLS, SET Các kỹ thuật sử dụng và các phƣơng pháp kết hợp các hệ mật mã trong bảo mật. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 5
  6. Do có những hạn chế nhất định về cơ sở vật chất và điều kiện tiếp cận thực tế với lĩnh vực an toàn và bảo mật trong thƣơng mại điện tử nên việc cài đặt các ứng dụng chủ yếu mang tính thử nghiệm. 5. Các kết quả nghiên cứu dự kiến cần đạt được Các vấn đề về bảo mật chứng thực trong thƣơng mại điện tử, sử dụng chữ ký số, Các kỹ thuật sử dụng và các phƣơng pháp kết hợp các hệ mật mã trong bảo mật. Cài đặt thử nghiệm vấn đề về bảo mật và an toàn trong thƣơng mại điện tử đã nghiên cứu. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 6
  7. II, Bố cục của luận văn Chƣơng I : CÁC KHÁI NIỆM VÒ TMĐT VÀ CÁC ĐẶC TRƢNG CỦA TMĐT 1. Khái niệm về TMĐT 2. Lợi ích của thƣơng mại điện tử 3. Các đặc trƣng cơ bản của TMĐT 4. Các loại thị trƣờng điện tử. 5. Các hệ thống thanh toán trong TMĐT 6. Công nghệ thanh toán điện tử 7. Quy trình thanh toán điện tử Chƣơng II : HỆ MẬT MÃ, MÃ KHOÁ ĐỐI XỨNG, MÃ KHOÁ CÔNG KHAI, CHỮ KÝ Sè I, Tổng quan về các hệ mật mã 1. Mã hoá khoá đối xứng: Thuật toán và quá trình tạo khoá 2. Mã hoá khoá công khai: Hoạt động, tạo khoá, mã hoá, giải mã, chuyển đổi văn bản rõ II, Chữ ký số 1. Khái niệm chữ ký số 2. Phân loại chữ ký số 3. Một số sơ đồ chữ ký số cơ bản 4. Đánh giá tính an toàn của các sơ đồ chữ ký số Chƣơng III : BẢO MẬT VÀ AN TOÀN TRONG TMĐT 1. An toàn thông tin 2. Cơ chế mã hoá 3. Chứng thực số hoá 4. Một số giao thức bảo mật ứng dụng trong TMĐT - Các vấn đề bảo mật ứng dụng WEB - Cơ chế bảo mật SSL và TSL - Cơ chế bảo mật SET Chƣơng IV: CÀI ĐẶT VÀ PHÁT TRIỂN CÁC ỨNG DỤNG - Cài đặt ứng dụng bảo mật và an toàn thông tin, chøng thùc sè ho¸, ch÷ ký sè trên WEBSITE mua b¸n m¸y tÝnh trªn m¹ng INTERNET Kết luận Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 7
  8. ch•¬ng i : c¸c kh¸i niÖm vÒ TM§T vµ c¸c ®Æc tr•ng cña TM§T 1. Khái niệm về TMĐT Thƣơng mại điện tử là hình thức mua bán hàng hoá và dịch vụ thông qua mạng máy rính toàn cầu. TMĐT theo nghĩa rộng đƣợc định nghĩa trong luật mẫu về thƣơng mại điện tử của Uỷ ban LHQ về luật thƣơng mại quốc tế: “Thuật ngữ thương mại cần được diễn giải theo nghĩa rộng để bao quát các vấn đề phát sinh từ mọi quan hệ mang tính chất thương mại dù có hay không có hợp đồng. Các quan hệ mang tính chất thương mại bao gồm các giao dịch sau đây: Bất cứ giao dịch nào về thương mại nào về cung cấp hoặc trao đổi hàng hoá hoặc dịch vụ, thoả thuận phân phối, đại diện hoặc đại lý thương mại, uỷ thác hoa hồng, cho thuê dài hạn, xây dựng các công trình, tư vấn, kỹ thuật công trình, đầu tư, cấp vốn, ngân hàng, bảo hiểm, thoả thuận khai thác hoặc tô nhượng, liên doanh các hình thức khác về hợp tác công nghiệp hoặc kinh doanh, chuyên chở hàng hoá hay hành khách bằng đường biển, đường không, đường sắt hoặc đường bộ” Nhƣ vậy, có thể thấy rằng phạm vi của Thƣơng mại điện tử rất rộng, bao quát hầu hết các lĩnh vực hoạt động kinh tế, việc mua bán hàng hoá và dịch vụ chỉ là một trong hàng ngàn lĩnh vực áp dụng của Thƣơng mại điện tử. Theo nghĩa hẹp TMĐT chỉ gồm các hoạt động thƣơng mại đƣợc tiến hành trên mạng máy tính mở nhƣ Internet. Trên thực tế chính các hoạt động thƣơng mại thông qua mạng Internet đã làm phát sinh thuật ngữ Thƣơng mại điện tử. Thƣơng mại điện tử gồm các hoạt động mua bán hàng hoá và dịch vụ qua phƣơng tiện điện tử, giao nhận các nội dung kỹ thuật số trên mạng, chuyển tiền điện tử, mua bán cổ phiếu điện tử, vận đơn đơn điện tử, đấu giá thƣơng mại, hợp tác thiết kế, tài nguyên mạng, mua sắm công cộng, tiếp thị trực tuyến tới ngƣời tiêu dùng và các dịch vụ sau bán hàng. Thƣơng mại điện tử đƣợc thực hiện đối với cả thƣơng mại hàng hoá (ví dụ nhƣ hàng tiêu dùng, các thiết bị y tế chuyên dụng) và thƣơng mại dịch vụ (ví dụ nhƣ dịch vụ cung cấp thông tin, dịch vụ pháp lý, tài chính). Các hoạt động truyền thống nhƣ chăm sóc sức khoẻ, giáo dục và các hoạt động mới (nhƣ siêu thị ảo). Thƣơng mại điện tử đang trở thành một cuộc cách mạng làm thay đổi cách thức mua săm của con ngƣời. 2. Lợi ích của TMĐT Xuất phát từ những kinh nghiệm thực tế trong quá trình hoạt động của thƣơng mại điện tử thì TMĐT đã mang lại cho con ngƣời và xã hội các lợi ích sau: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 8
  9. 2.1. Thu thập được nhiều thông tin TMĐT giúp cho mỗi cá nhân khi tham gia thu đƣợc nhiều thông tin về thị trƣờng, đối tác, giảm chi phí tiếp thị và giao dịch, rút ngắn thời gian sản xuất, tạo dựng và củng cố quan hệ bạn hàng. Các doanh nghiệp nắm đƣợc các thông tin phong phú về kinh tế thị trƣờng, nhờ đó có thể xây dựng đƣợc chiến lƣợc sản xuất và kinh doanh thích hợp với xu thế phát triển của thị trƣờng trong nƣớc, trong khu vực và quốc tế. Điều này đặc biệt có ý nghĩa đối với các doanh nghiệp vừa và nhỏ, hiện nay đang đƣợc nhiều nƣớc quan tâm coi là một trong những động lực phát triển kinh tế. 2.2. Giảm chi phí sản xuất TMĐT giúp giảm chi phí sản xuất, trƣớc hết là chi phí văn phòng. Các văn phòng không giấy tờ chiếm diện tích nhỏ hơn rất nhiều, chi phí tìm kiếm chuyển giao tài liệu giảm nhiều lần trong đó khâu in ấn gần nhƣ bỏ hẳn. Theo số liệu của hãng General Electricity của Mỹ tiết kiệm trên lĩnh vực này đạt tới 30 %. Điều quan trọng hơn, với góc độ chiến lƣợc là các nhân viên có năng lực đƣợc giải phóng khỏi nhiều công đoạn sự vụ và có thể tập trung vào nghiên cứu phát triển, sẽ đƣa đến những lợi ích to lớn lâu dài. 2.3. Giảm chi phí bán hàng, tiếp thị và giao dịch TMĐT giúp giảm thấp chi phí bán hàng và chi phí tiếp thị. Bằng phƣơng tiện Internet / Web một nhân viên bán hàng có thể giao dịch với rất nhiều khách hàng, catalogue điện tử trên web phong phú hơn nhiều so với catalogue in ấn chỉ có khuôn khổ giới hạn và luôn luôn lỗi thời, trong khi đó catalogue điện tử trên web đƣợc cập nhật thƣờng xuyên. TMĐT qua Internet / Web giúp ngƣời tiêu thụ và các doanh nghiệp giảm đáng kể thời gian và chi phí giao dịch. Thời gian giao dịch qua Internet chỉ bằng 7% thời gian giao dịch qua FAX, và bằng khoảng 0.5 phần nghìn thời gian giao dịch qua bƣu điện chuyển phát nhanh, chi phí thanh toán điện tử qua Internet chỉ bằng 10% đến 20% chi phí thanh toán theo lối thông thƣờng. 2.4. Xây dựng quan hệ đối tác Thƣơng mại điện tử tạo điều kiện cho việc thiết lập và củng cố mối quan hệ giữa các thành viên tham gia quá trình thƣơng mại thông qua mạng Internet các thành viên tham gia có thể giao tiếp trực tiếp (liên lạc trực tuyến) và liên tục với nhau, có cảm giác nhƣ không có khoảng cách về địa lý và thời gian nữa, nhờ đó sự hợp tác và quản lý đều đƣợc tiến hành nhanh chóng một cách liên tục, các bạn hàng mới, các cơ hội kinh doanh mới đƣợc phát hiện nhanh chóng trên phạm vi toàn thế giới và có nhiều cơ hội để lựa chọn hơn. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 9
  10. 2.5. Tạo điều kiện sớm tiếp cận kinh tế tri thức Trƣớc hết TMĐT sẽ kích thích sự phát triển của nghành CNTT tạo cơ sở cho phát triển kinh tế tri thức. Lợi ích này có một ý nghĩa lớn đối với các nƣớc đang phát triển, nếu không nhanh chóng tiếp cận nền kinh tế tri thức thì sau khoảng một thập kỷ nữa nƣớc đang phát triển có thể bị bỏ rơi hoàn toàn. Khía cạnh lợi ích này mang tính chiến lƣợc công nghệ và tính chính sách phát triển cần cho các nƣớc công nghiệp hoá. 3. Các đặc trƣng cơ bản của TMĐT So với các hoạt động thƣơng mại truyền thống, TMĐT có một số các đặc trƣng cơ bản sau: 3.1. Các bên tiến hành giao dịch trong thương mại điện tử không tiếp xúc trực tiếp với nhau và không đòi hỏi phải biết nhau từ trước. Trong thƣơng mại truyền thống các bên thƣờng gặp gỡ nhau trực tiếp để tiến hành giao dịch. Các giao dịch đƣợc thực hiện chủ yếu theo nguyên tắc vật lý nhƣ chuyển tiền, séc, hoá đơn, vận đơn, gửi báo cáo. Các phƣơng tiện viễn thông nhƣ: Fax, telex, chỉ đƣợc sử dụng để chao đổi số liệu kinh doanh. Tuy nhiên việc sử dụng các phƣơng tiện điện tử trong thƣơng mại truyền thống chỉ để chuyển tải thông tin một cách trực tiếp giữa 2 đối tác của cùng một giao dịch. Thƣơng mại điện tử cho phép tất cả mọi ngƣời cùng tham gia từ các vùng xa xôi hẻo lánh đến các khu vực đô thị rộng lớn, tạo điều kiện cho tất cả mọi ngƣời ở khắp mọi nơi đều có cơ hội ngang nhau tham gia vào thị trƣờng giao dịch toàn cầu và không đòi hỏi nhất thiết phải có mối quen biết với nhau. 3.2. Các giao dịch thương mại truyền thống được thực hiện với sự tồn tại của khái niệm biên giới quốc gia, còn thương mại điện tử được thực hiện trong một thị trường không có biên giới (thị trường thống nhất toàn cầu). Thương mại điện tử trực tiếp tác động tới môi trường cạnh tranh toàn cầu. Thƣơng mại điện tử càng phát triển thì máy tính cá nhân trở thành cửa sổ cho doanh nghiệp hƣớng ra thị trƣờng trên khắp thế giới. Với TMĐT một doanh nhân dù mới thành lập đã có thể kinh doang ở Nhật Bản, Đức và Chi lê , mà không hề phải bƣớc ra khỏi nhà, một công việc trƣớc kia phải mất nhiều năm. 3.3. Trong hoạt động giao dịch TMĐT đều có sự tham gia của ít nhất ba chủ thể, trong đó có một bên không thể thiếu được là người cung cấp dịch vụ mạng, các cơ quan chứng thực. Trong TMĐT ngoài các chủ thể tham gia quan hệ giao dịch giống nhƣ giao dịch thƣơng mại truyền thống đã xuất hiện một bên thứ 3 đó là nhà cung cấp dịch vụ mạng, các cơ quan chứng thực là những ngƣời tạo môi trƣờng cho các giao Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 10
  11. dịch thƣơng mại điện tử. Nhà cung cấp dịch vụ mạng và cơ quan chứng thực có nhiệm vụ chuyển đi, lƣu giữ các thông tin giữa các bên tham gia giao dịch TMĐT, đồng thời họ cũng xác nhận độ tin cậy của các thông tin trong giao dịch TMĐT. 3.4. Đối với thương mại truyền thống thì mạng lưới thông tin chỉ là phương tiện để trao đổi dữ liệu, còn đối với TMĐT thì mạng lưới thông tin chính là thị trường Thông qua TMĐT nhiều loại hình kinh doanh mới đƣợc hình thành. Ví dụ: Các dịch vụ gia tăng giá trị trên mạng máy tính hình thành nên các nhà trung gian ảo làm các dịch vụ môi giới cho giới kinh doanh và tiêu dùng, các siêu thị ảo đƣợc hình thành để cung cấp hàng hoá và dịch vụ trên mạng máy tính. Các chủ cửa hàng thông thƣờng ngày nay cũng đang đua nhau đƣa thông tin lên Web để tiến tới khai thác mảng thị trƣờng rộng lớn trên Web bằng cách mở cửa hàng ảo. 4. Các loại thị trƣờng điện tử Tuỳ thuộc vào đối tác kinh doanh mà ngƣời ta gọi đó là thị trƣờng B2B, B2C, C2B hay C2C. Thị trƣờng mở là những thị trƣờng mà tất cả mọi ngƣời có thể đăng ký và tham gia. Tại một thị trƣờng đóng chỉ có một số thành viên nhất định đƣợc mời hay cho phép tham gia. Một thị trƣờng ngang tập trung vào một quy trình kinh doanh riêng lẻ nhất định, ví dụ nhƣ lĩnh vực cung cấp: nhiều doanh nghiệp có thể từ các nghành khác nhau tham gia nhƣ là ngƣời mua và liên hệ với một nhóm nhà cung cấp. Ngƣợc lại thị trƣờng dọc mô phỏng nhiều quy trình kinh doanh khác nhau của một nghành duy nhất hay một nhóm ngƣời dùng duy nhất. Sau khi làn sóng lạc quan về TMĐT của những năm 1990 qua đi, thời gian mà đã xuất hiện nhiều thị trƣờng điện tử, ngƣời ta cho rằng sau một quá trình tập trung chỉ có một số ít thị trƣờng lớn là sẽ tiếp tục tồn tại. Thế nhƣng bên cạnh đó là ngày càng nhiều những thị trƣờng chuyên môn nhỏ. Ngày nay tình hình đã khác hăn đi, công nghệ để thực hiện một thị trƣờng điện tử đã rẻ đi rất nhiều. Thêm vào đó là xu hƣớng kết nối nhiều thông tin chào hàng khác nhau thông qua các giao diện lập trình ứng dụng để thành lập một thị trƣờng chung có mật độ chào hàng cao. Ngoài ra các thị trƣờng độc lập trƣớc đây còn đƣợc tích hợp ngày càng nhiều bằng các giải pháp phần mềm cho một cổng Web toàn diện. Thƣơng mại điện tử đƣợc phân loại theo tƣ cách của ngƣời tham gia giao dịch nhƣ sau: • Ngƣời tiêu dùng: C2C (Consumer – To – Consumer): Ngƣời tiêu dùng với ngƣời tiêu dùng C2B (Consummer – To – Business): Ngƣời tiêu dùng với doanh nghiệp C2G (Consumer – To – Government): Ngƣời tiêu dùng với chính phủ Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 11
  12. • Doanh nghiệp: B2C (Bussiness – To – Consumer): Doanh nghiệp với ngƣời tiêu dùng B2B (Bussiness – To – Business ): Doanh nghiệp với doanh nghiệp B2G (Bussiness – To – Government): Doanh nghiệp với chính phủ B2E (Bussiness – To – Employee): Doanh nghiệp với nhân viên • Chính phủ G2C (Government – To – Consumer): Chính phủ với ngƣời tiêu dùng G2B (Government – To – Business): Chính phủ với doanh nghiệp G2G (Government – To – Government): Chính phủ với chính phủ 5. Các hệ thống thanh toán trong TMĐT Thanh toán điện tử là một khâu quan trọng trong TMĐT. Hiểu một cách khái quát thì thanh toán điện tử là một quá trình thanh toán tiền giữa ngƣời mua và ngƣời bán. Điểm cốt lõi của vấn đề này là việc ứng dụng các công nghệ thanh toán tài chính (ví dụ nhƣ mã hoá số thẻ tin dụng, séc điện tử, hoặc tiền điện tử) giữa ngân hàng, nhà trung gian và các bên tham gia hoạt động thƣơng mại. Các ngân hàng và tổ chức tín dụng hiện nay sử dụng các phƣơng pháp này nhằm mục đích nâng cao hiệu quả hoạt động trong bối cảnh phát triển của nền kinh tế số, với một số lợi ích nhƣ giảm chi phí xử lý, chi phí công nghệ và tăng cƣờng thƣơng mại trực tuyến. Thanh toán điện tử là việc trả tiền thông qua các thông điệp điện tử thay vì trao tay trực tiếp. Việc trả lƣơng bằng cách chuyển tiền vào tài khoản ngân hàng, trả tiền mua hàng bằng thẻ tín dụng, bằng thẻ mua hàng thực chất cũng là những ví dụ đơn giản của thanh toán điện tử. Hình thức thanh toán điện tử có một số hệ thống thanh toán cơ bản sau: Thanh toán bằng thẻ tín dụng: Thực tế cho thấy, khách hàng trên mạng không thể trả tiền hoặc séc để thanh toán. Điều cần thiết là Website bán hàng cần phải tạo ra đƣợc các hình thức thanh toán trên mạng. Hệ thống thanh toán phổ biến hiện nay trên mạng là thanh toán bằng thẻ tín dụng. Một số thẻ tín dụng phổ biến hiện nay là Visa, MasterCard, American Express, JBC. Để tiến hành giao dịch thẻ tín dụng từ Website bán hàng cần thiết phải liên kết tới một dịch vụ tiến hành thanh toán thẻ tín dụng trên mạng nhƣ CyberCard hay PaymentNet, Dịch vụ thanh toán này cung cấp phần mềm định vị trên máy chủ dịch vụ an toàn tới dịc vụ thực hiện thanh toán. Dịch vụ thực hiện thanh toán xác nhận thông qua thẻ tín dụng để có thể hoàn tất giao dịch với khách hàng. Sau đó chuyển đến bộ phận xác nhận. Dịch vụ thanh toán bằng thẻ tín dụng đảm bảo rằng tiền đƣợc thực hiện ở tài khoản ngân hàng. Để tiến hành sử dụng dịch vụ thanh toán bằng thẻ tín dụng trên Website cần đăng ký một tài khoản giao dịch Internet với ngân hàng (acquier). Hiện tại không phải ngân hàng nào cũng cung cấp dịch vụ tài khoản giao dịch trên Internet. Tài khoản giao dịch Internet đƣợc thiết kế cho Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 12
  13. phép nhà kinh doanh thực hiện giao dịch thanh toán qua thẻ tín dụng trên Internet thông qua dịch vụ thẻ tín dụng trên mạng. Thanh toán vi điện tử (Electronic Cash MicroPayment): Đƣợc sử dụng cho những giao dịch quá nhỏ đối với yêu cầu thanh toán qua thẻ tín dụng (dƣới 10 USD). Micropayment vi thanh toán đƣợc duy trì qua biên nhận điện tử, khách hàng mở tài khoản với máy cung cấp biên nhận điện tử tự động. Máy cung cấp biên nhận điện tử tự động. Máy cung cấp biên nhận điện tử tự động sẽ cấp cho khách hàng tiền kỹ thuật số (digital money), do đó khách hàng có thể mua trực tiếp từ Website. Trƣớc khi khách hàng thanh toán tiền kỹ thuật số đến ngƣời bán, nó xác nhận cả ngƣời mua và máy bán hàng tự động để đảm bảo rằng tiền đi đến đúng nơi cung cấp tiền điện tử Cyberrcash. Chi phiếu điện tử (Electronic Check) : Đây là một dịch vụ cho phép khách hàng trực tiếp chuyển tiền điện tử từ ngân hàng đến ngƣời bán hàng. Chi phiếu điện tử đƣợc sử dụng thanh toán hoá đơn định kỳ. Các công ty nhƣ điện, nƣớc, ga, điện thoại đƣa ra hình thức thanh toán này để cải thiện tỉ lệ thu, giảm chi phí và dễ dàng hơn cho khách hàng trong việc quản lý hoá đơn. Từ triển vọng của khách hàng khi một khách hàng đăng kí với nhà cung cấp thì khách hàng sẽ nhận đƣợc thông tin thanh toán (số tài khoản, ngân hàng ). Khách hàng với tên đăng kí sử dụng và mật khẩu họ có thể truy nhập vào Website của công ty phát hành chi phiếu để kiểm tra số dƣ của họ. Khách hàng cũng có thể nhận những hoá đơn điện tử và gửi thƣ điện tử thông báo đã nhận đƣợc hoá đơn điện tử từ công ty cung cấp gửi đến. Khi khách hàng truy cập hoá đơn của mình trên Internet sau khi xem xét tất cả các hoá đơn khách hàng có thể chọn để thanh toán từ tiền của mình trong tài khoản tại ngân hàng. Quá trình thanh toán đƣợc thực hiện thông qua dịch vụ nhƣ dịch vụ thanh toán chi phiếu điện tử trên Cybercash’s Paynow (thanh toán nhanh) của Cybercash. Thƣ điện tử (Email): Có thể dùng để cho phép đối tác kinh doanh nhận thanh toán từ tài khoản khách hàng hoặc để lập tài khoản với nhà cung cấp. Với những lợi ích nêu trên, tăng cƣờng khả năng thanh toán điện tử sẽ là một giải pháp cắt giảm đáng kể các chi phí hoạt động. Theo tính toán của các ngân hàng thì việc giao dịch bằng tiền và séc rất tốn kém, do đó họ tìm kiếm các giải pháp khác với chi phí thấp hơn. Hiện nay ở Mỹ thì các giao dịch bằng tiền mặt chiếm khoảng 54% và bằng séc là 29% các giao dịch điện tử chiếm khoảng 17%. Dự báo con số này sẽ tăng lên trong thời gian tới. 6. Công nghệ thanh toán điện tử Các công nghệ thanh toán điện tử bắt đầu phát triển với dịch vụ chuyển tiền bằng điện tử ví dụ nhƣ dịch vụ chuyển tiền của Western Union giúp một cá nhân có thể chuyển tiền cho ngƣời nào đó ở địa điểm khác thông qua lệnh Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 13
  14. chuyển tiền của họ từ một quầy cung cấp dịch vụ của Western Union. Tiền chỉ có thể chuyển giao cho khách hàng sau khi đáp ứng đƣợc các yêu cầu nhận điện. Trong trƣờng hợp này, không có sự tham gia của bất kỳ ngân hàng nào cả, Western chỉ đơn thuần là một công ty điện tín. Sự an toàn phụ thuộc vào khả năng tài chính của hãng, và sự an toàn của dịch vụ này đƣợc kiểm soát qua các thông điệp gửi đi trong từng giao dịch riêng lẻ. Các thông tin này không đƣợc công bố rộng rãi mà chỉ khách hàng và ngƣời nhận đƣợc biết khoản tiền đƣợc chuyển. Chữ ký đƣợc sử dụng nhƣ một công cụ xác nhận nhằm mục đích cho biết quá trình chuyển giao đã hoàn thành khi khách hàng nhận đƣợc tiền. Các sáng kiến trong thanh toán điện tử hiện nay đều nhằm mục đích tạo ra một cách thức đơn giản, thuận lợi cho khách hàng trong giao dịch thanh toán và mang tính tức thời. Trong một giao dịch điện tử, các khâu kiểm tra hối đoái, tiến hành thủ tục thanh toán sẽ diễn ra ngay lập tức khi khách hàng gửi lệnh yêu cầu chuyển tiền để thanh toán cho một giao dịch mua bán trên mạng. Hệ thống thanh toán điện tử dành cho khách hàng phát triển rất nhanh chóng. 7. Quy trình thanh toán điện tử Một quy trình thanh toán điện tử bao gồm có 6 công đoạn cơ bản sau: 1. Khách hàng, từ một máy tính tại một nơi nào đó, điền những thông tin thanh toán và địa chỉ liên hệ vào đơn đặt hàng (Order Form) của Website bán hàng. Doanh nghiệp nhận đƣợc yêu cầu mua hàng hoá hay dịch vụ của khách hàng và phản hồi xác nhận tóm tắt lại những thông tin cần thiết nhƣ mặt hàng đã chọn, địa chỉ giao nhận và số phiếu đặt hàng 2. Khách hàng kiểm tra lại các thông tin và click chọn “đặt hàng”, để gởi thông tin trả về cho Doanh nghiệp. 3. Doanh nghiệp nhận và lƣu trũ thông tin đặt hàng đồng thời chuyển tiếp thông tin thanh toán (số thẻ tín dụng, ngày đáo hạn, chủ thẻ ) đã đƣợc mã hoá đến máy chủ (Server, thiết bị xử lý dữ liệu) của Trung tâm cung cấp dịch vụ xử lý thẻ trên mạng Internet. Với quá trình mã hoá các thông tin thanh toán của khách hàng đƣợc bảo mật an toàn nhằm chống gian lận trong các giao dịch (ngay cả doanh nghiệp sẽ không biết đƣợc thông tin về thẻ tín dụng của khách hàng). 4. Khi Trung tâm xử lý thẻ tín dụng nhận đƣợc thông tin thanh toán, sẽ giải mã thông tin và xử lý giao dịch đằng sau tƣờng lửa (Fire Wall) và tách rời mạng Internet (off the Internet), nhằm mục đích bảo mật tuyệt đối cho các giao dịch thƣơng mại, định dạng lại giao dịch và chuyển tiếp thông tin thanh toán đến Ngân hàng của Doanh nghiệp (Acquirer) theo một đƣờng dây thuê bao riêng (một đƣờng truyền số liệu riêng biệt). 5. Ngân hàng của Doanh nghiệp gởi thông điện điện tử yêu cầu thanh toán (authorization request) đến ngân hàng hoặc Công ty cung cấp thẻ tín dụng của khách hàng (Issuer). Và tổ chức tài chính này sẽ phản hồi là đồng ý hoặc từ chối thanh toán đến trung tâm xử lý thẻ tín dụng trên mạng Internet. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 14
  15. 6. Trung tâm xử lý thẻ tín dụng trên Internet sẽ tiếp tục chuyển tiếp những thông tin phản hồi trên đến doanh nghiệp và tuỳ theo đó doanh nghiệp thông báo cho khách hàng đƣợc rõ là đơn đặt hàng sẽ đƣợc thực hiện hay không. ch•¬ng II : hÖ mËt m·, m· kho¸ ®èi xøng m· kho¸ c«ng khai, ch÷ ký sè i. tæng quan vÒ c¸c hÖ mËt m· Mật mã học là một linh vực liên quan vói các kỹ thuật ngôn ngữ và toán học để đảm bảo an toàn thông tin, cụ thể là thông tin liên lạc. Về phƣơng diện lịch sử, mật mã học gắn liền với quá trình mã hóa; điều này có nghĩa là nó gắn với các cách thức để chuyển đổi thông tin từ dạng này sang dạng khác nhƣng ở đây là từ dạng thông thƣòng có thể nhận thức đƣợc thành dạng không thể nhận thức đƣợc, làm cho thông tin trở thành dạng không thể đọc đƣợc nếu nhƣ không có các kiến thức bí mật. Quá trình mã hoá đƣợc sử dụng chủ yếu để đảm bảo tính bí mật của các thông tin quan trọng , chẳng hạn trong công tác tình báo, quân sự hay ngoại giao cũng nhƣ các bí mật về kinh tế, thƣơng mại. Trong những năm gần đây, lĩnh vực hoạt động củ mật mã hoá đã dƣợc mở rộng; mật mã hoá hiện đại cung cấp cơ chế nhiều hoạt đông hơn là chỉ duy nhất việc giữ bí mật và có một loạt các ứng dụng nhƣ : chứng thực khoá công khai, chữ ký số, bầu cử điện tử hay tiền điện tử. Ngoài ra những ngƣời không có nhu cầu thiết yếu đặc biệt về tính bí mật cũng sử dụng các công nghệ mật mã hoá, thông thƣờng đƣợc thiết kế và tạo lập sẵn trong các cơ sở hạ tầng của công nghệ tính toán và liên lạc viễn thông. Mật mã học là một nghành có lịch sử từ hàng nghìn năm nay. Trong phần lớn thời gian phát triển của mình ( ngoại trừ vài thập kỉ trở lại đây ), lịch sử mật mã học chính là lịch sử của những phƣơng pháp mật mã học cổ điển – các phƣơng pháp mật mã hoá với bút và giấy, đôi khi có hỗ trợ từ những dụng cụ cơ khí đơn giản. Vào đầu thế kỉ 20, sự xuất hiện của các cơ cấu cơ khí và điện cơ, chẳng hạn nhƣ máy Enigma, đã cung cấp những những cơ chế phức tạp và hiệu quả hơn cho việc mật mã hoá. Sự ra đời và phát triển mạnh mẽ của ngành điên tử và máy tính trong thập niên gần đây đã tạo điều kiện để mạt mã học phát triển nhảy vọt lên một tầm cao mới. 1. Mật mã học cổ điển Những bằng chứng sớm nhất về sử dụng mật mã học là các chữ tƣơng hình không tiêu chuẩn tìm thấy trên các bức tƣờng Ai Cập cổ đại (cách đây khoảng 4500). Những kí hiệu tỏ ra không phải để phục vụ mục đích truyền thông tin bí mật mà có vẻ nhƣ là nhằm mục đích gợi nên những điều thần bí, trí tò mò hoặc thậm trí để tạo sự thích thú cho ngƣời xem. Ngoài ra còn rất nhiều ví dụ khác về Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 15
  16. những ứng dụng của mật mã học hoặc là những điều tƣơng tự. Muộn hơn, các học giả về tiếng Hebrew có sử dụng một phƣng pháp mã hoá thay thế bảng chữ cái đơn giản chẳng hạn nhƣ mật mã hoá Atbash ( khoảng năm 500 đến năm 600). Mật mã học từ lâu đã đƣợc sử dụng trong các tác phẩm tôn giáo để che giấu thông tin với chính quyền hoặc nền văn hoá thống trị. Ví dụ tiêu chuẩn nhất là “số chỉ kẻ thù của chúa” (Tiếng Anh number of the beast) xuất hiện trong kinh Tân Ƣớc của cơ đốc giáo. ở đây số 666 có thể là cách mã hoá để chỉ đến đế chế La Mã hoặc là đến hoàng đế nero của đế chế này. Việc không đề cập trực tiếp sẽ đỡ gây rắc rối khi chính sách bị chính quyền chú ý. Đối với cơ độc giáo chính thống thi việc che dấu này kết thúc khi constantine cải đạo và chấp nhận đạo cơ đốc là chính thống của đế chế. Hình 1: Scytale, một thiết bị mật mã hóa cổ đại Ngƣời Hy Lạp cổ đại cũng đƣợc biết đến là sử dụng các kỹ thuật mật mã (chẳng hạn nhƣ mật mã scytale ). Cũng có những bằng chứng tỏ ngƣời La Mã nắm đƣợc các kĩ thuật mật mã (mật mã caesar và các biện thể). Thậm trí đã có những đề cập đến một cuốn sách nói về mật mã trong quân đội La Mã, tuy nhiên cuốn sách này đã thất truyền. 2. Mật mã học hiện đại Nhiều ngƣời cho rằng kỷ nguyên của mật mã học hiện đại đƣợc bắt đầu với Claude Shannon, ngƣời đƣợc coi là cha đẻ của mật mã toán học. Năm 1949 ông dã công bố bài lý thuyết về truyền trhống trong các hệ thống bảo mật (Communication Theory of secrecy system ) trên tập san bell system technical journal _ tập san kỹ thuật của hệ thống bell_ và một thời gian ngắn sau đó, trong cuốn mathematical theory of communication _ lý thuyết toán học trong truyền thông _ cùng với tác giả warren weaver. Những công trình này, cùng với nhũng công trình nghiên cứu khác của ông về lí thuyết về tin học và truyền thông ( information and communication theory), đã thiết lập một nền tảng lí thuyết cơ bản cho mật mã học và thám mã học. Với ảnh hƣởng đó, mật mã học hầu nhƣ bị thâu tóm bởi các cơ quan truyền thông mật của chính phủ, chẳng hạn nhƣ NSA, Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 16
  17. và biến mất khỏi tầm hiểu biết của công chúng. Rất ít các công trình đƣợc tiếp tục công bố, cho đến thời kì giữa thập niên 1970, khi mọi sự đƣợc thay đổi. 3. Thuật ngữ Việc nghiên cứu tìm các phƣơng thức để phá vỡ việc sử dụng mật mã đƣợc gọi là phân tích mật mã, hay phá mã. Mật mã hoá và phân tích mật mã đôi khi đƣợc nhóm lại cùng nhau dƣới tên gọi chung mật mã học, nó bao bọc toàn bộ các chủ đề liên quan đến mật mã. Trong thực tế, thuật ngữ mật mã hoá thông thƣờng đƣợc sử dụng để nói đến ngành này một cách tổng thể. Trong một số ngôn ngữ nhƣ tiếng anh nó là cryptography, có nguồn gốc từ tiếng Hy Lạp kryptos tức là "ẩn" và graphein, "viết ra". Việc sử dụng từ "cryptography" lần đầu tiên có lẽ diễn ra trong bài diễn thuyết của Sir Thomas Browne năm 1658 có tên gọi The garden of cyrus: "The strange cryptography of gaffarel in his starrie booke of heaven". Mật mã hoá là quá trình chuyển đổi các thông tin thông thƣờng (văn bản thƣờng hay văn bản rõ ) thành dạng không đọc trực tiếp đƣợc, là văn bản mã. Giải mật mã, là quá trình ngƣợc lại, phục hồi lại văn bản thƣơng từ văn bản mã. Mật mã là thuật toán để mật mã hoá và giải mật mã. Hoạt động chính xác của mật mã thông thƣờng đựoc kiểm soát bởi khoá _ một đoạn thông tin bí mật nào đó cho phép tuỳ biến cách thức tạo ra văn bản mã. Các giao thức mật mã chỉ rõ các chi tiết về việc mật mã (và các nền tảng mật mã hoá khác) đƣợc sử dụng nhƣ thế nào để thu đƣợc các nhiệm vụ cụ thể. Một bộ các giao thức, thuật toán, cách thức quản lý khoá và các hành động quy định trứơc bởi ngƣời sử dụng thi hành cùng nhau nhƣ một hệ thống tạo ra hệ thống mật mã. Trong cách nói thông thƣờng, "mã" bí mật thông thƣờng đƣợc sử dụng đồng nghĩa với "mật mã". Trong mật mã học, thuật ngữ này có ý nghĩa kỹ thuật đặc biệt: Các mã là các phƣơng pháp lịch sử tham gia vào việc thay thế các đơn vị văn bản lớn hơn, thông thƣờng là các từ hay câu (ví dụ, "qua tao" thay thế cho "tan cong luc rang dong"). Ngƣợc lại, mật mã hoá cổ điển thong thƣờng thay thế hoạc sắp xếp lại các chữ riêng biệt (hoặc một nhóm nhỏ các chữ cái) ví dụ, "tan cong luc rang dong" trở thành "ubo dpoh mvd sboh epoh" bằng cách thay thế. Thám mã: Mục tiêu của thám mã (phá mã ) là tìm những điểm yếu hoặc không an toàn trong phƣơng thứ mật mã hoá. Thám mã có thể đƣợc thực hiện bởi những kẻ tấn công ác ý, nhằm làm hỏng hệ thống; hoặc bởi những ngƣời thiết kế ra hệ thống (hoặc những ngƣời khác ) với ý định đánh giá độ an toàn của hệ thống. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 17
  18. Có rất nhiều loại hình tấn công thám mã, và chung có thể đƣợc phân loại theo nhiều cách khác nhau. Một trong những đặc điểm liên quan là những ngƣời tấn công có thể biết và làm những gì để hiểu đƣợc thông tin bí mật. Ví dụ, những ngƣời thám mã chỉ truy cập đƣợc văn bản mã hoá không ? hoặc thậm chí: Anh ta có chọn lựa các văn bản ngẫu nhiên để mã hoá ? Các kịch bản này tƣơng ứng với tấn công văn bản mã, tấn công biết bản rõ và tấn công chọn lựa bản rõ. Trong công việc thám mã thuần tuý sử dụng các điểm yếu trong các thuật toán mật mã hoá, những cuộc tấn công khác lại dựa trên sự thi hành, đƣợc biết đến nhƣ là các tấn công side _channel. Nếu ngƣời thám mã biết lƣợng thời gian mà thuật toán cần để mã hoá một lƣợng bản rõ nào đó, anh ta có thể sử dụng phƣơng thức tấn công thời gian để mã hoá mà nếu không thì chúng chịu đƣợc phép thám mã. Ngƣời tấn công cũng có thể nghiên cứu các mẫu và độ dài của thông điệp để rút ra các thông tin hữu ích cho việc phá mã; điều này đƣợc biết đến nhƣ là thám mã lƣu thông. Nếu nhƣ hệ thống mật mã sử dụng khoá xuất phát từ mật khẩu, chúng có nguy sơ bị tấn công kiểu duyệt toàn bộ (brute force ), vì kích thƣớc không đủ lớn cũng nhƣ thiếu tính ngẫu nhiên của mật khẩu. Đây là điểm yếu chung trong hệ thông mật mã. Đối với các ứng dụng mạng, giao thức thoả thuận khoá chứng thực mật khẩu có thể giảm đi một số các giới hạn của mật khẩu. Đối với các ứng dụng độc lập, hoặc là biện pháp an toàn để lƣu trữ các dữ liệu chứa mật khẩu và/hoặc các cụm từ kiểm soat truy cập thông thƣờng đƣợc gợi ý nên sử dụng. Thám mã tuyến tính và Thám mã vi phân là các phƣơng pháp chung cho mật mã hoá khoa đối xứng. Khi mật mã hoá dựa vào các vấn đề toán tin nhƣ độ khó NP, giống nhƣ trong trƣờng hợp của thuật toán khoá đối xứng, các thuật toán nhƣ phân tích ra thừa số nguyên tố trở thành công cụ tiềm năng cho thám mã. 4. Tiêu chuẩn mật mã Thời kỳ giữa thập niên kỷ 1970 đƣợc chứng kiến hai tiến bộ cong chính lớn ( công khai ). Đầu tiên là sự công đề xuất tiêu chuẩn mật mã hoá dữ liệu (data encryption standard) trong "công báo liên bang " ( federal register ) ở nƣớc Mỹ vào ngày 17 tháng 3 năm 1975. Với đề cử của cục tiêu chuẩn quốc gia (national bureau of standards _NBS ), (hiện là NIST ), bản đề xuất DES đƣợc công ty IBM ( international business machines ) đệ trình trở thành một trong những cố gắng trong việc xây dựng các công cụ tiện ích cho thƣơng mại,nhƣ cho các nhà băng và cho các tổ chức tài chính lớn. Sau nhƣng chỉ đạo và thay đổi của NSA, vào năm 1977, nó đã đƣợc chấp thuận và đƣợc phát hành dƣới cái tên bản công bố về tiêu chuẩn xử lý thông tin của liên bang (federal information processing standard publication _FIPS) (phiên bản hiện nay là FIPS 46_3). DES Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 18
  19. là phƣơng thức mật mã công khai đầu tiên đƣợc một cơ quan quốc gia nhƣ NSA "tôn sùng". Sự phát hành bản đặc tả của nó bởi NBS đã khuyến khích sự quan tâm chú ý của công chúng cũng nhƣ của các tổ chức nghiên cứu về mật mã học. Năm 2001, DES đã chính thức đƣợc thay thế bởi AES ( viết tắt của advanced encryption standard _ tiêu chuẩn mã hoá tiên tiến) khi NIST công bố phiên bản FIPF 197. Sau một cuộc thi tổ chức công khai, NIST đã chọn Rijndael, do hai nhà mật mã ngƣời Bỉ đệ trình, và nó trở thành AES và một số biến thể của nó nhƣ tam phần DES (Triple Des), vẫn còn đƣợc sử dụng, do trƣớc đây nó đƣợc gắn liền với nhiều tiêu chuẩn quốc gia và các tổ chức. với chiều dài khoá chỉ là 56 bit, nó đã đƣợc chứng minh là không đủ sức chống lại những tấn công kiểu vét cạn (brute force attack- tấn công dùng bạo lực). Một trong những kiểu tấn công loại này đƣợc thực hiện bởi nhóm “ nhân quyền cyber” (cyber civil- rights group) tên là tổ chức tiền tuyến điện tử (electronic frontier foundation) vào năm 1997, và đã phá mã thành công trong 56 tiếng đồng hồ- câu truyện này đƣợc nhắc đến trong cuốn cracking DES( phá vỡ DES), đƣợc suất bản bởi “ O’reilly and Associates”. Do kết quả này mà hiện nay việc sử dụng phƣơng pháp mật mã hoá DES nguyên dạng, có thể đƣợc khẳng định một cách không nghi ngờ, là một việc làm mạo hiểm, không an toàn và những thông điệp ở dƣới sự bảo vệ của những hệ thống mã hoá trƣớc đây dùng DES, cũng nhƣ tất cả các thông điệp đƣợc truyền gửi từ năm 1976 trở đi sử dụng DES, đều ở tronh tình trạng rất đáng lo ngại. Bất chấp chất lƣợng vốn có của nó, một số sự kiện sảy ra trong năm 1976, đặc biệt là sự kiện công khai nhất của Whitfield Diffie, chỉ ra rằngchiều dài khoá mà DES sử dụng (56-bit) là một khoá quá nhỏ). Đã có một số nghi ngờ xuất hiện nói rằng mọt số các tổ chức của chính phủ, ngay tại thời điểm bấy giờ, cũng đã có đủ công suất máy tính để phá mã các thông diệp dùng DES; rõ ràng là những cơ quan khác cũng đã có khả năng làm việc nay rồi. Mật mã hoá đƣợc sử dụng để đảm bảo an toàn cho thông tin liên lạc.Các thuộc tính đƣợc yêu cầu là: . Tính bí mật: chỉ có ngƣời nhận đã xác thực có thể lấy ra đƣợc nội dung của thông tin chứa đựng trong dạng đã mật mã hoá của nó. Nói khác đi, nó không thẻ cho phép thu lƣợm đƣợc bất kì thông tin đáng kể nào về nội dung của thông điệp. Nguyên vẹn: ngƣời nhân cần có khả năng xác định đƣợc thông tin có bị thay đổi trong quá trình truyền hay không. Tính xác thực: ngƣời nhận cần có khả năng xác định ngƣời gửi và kiểm tra xem ngƣời gửi có thực sự gửi tin đi hay không. Không bị từ chối: ngƣời gửi không bị (không thể) từ chối việc đã gửi thông tin đi. Chống lặp lại: không cho phép bên thứ ba copy lại văn bản và gửi nhiều lần đến ngƣời nhận mà ngƣời gửi không hề hay biết. Mật mã học có thể cung cấp cơ chế để giúp đỡ thực hiện điều này.Tuy nhiên, Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 19
  20. một số mục tiêu không phải bao giờ cũng là cần thiết, trong nghĩa cảnh của thực tế hay mong muốn. Ví dụ, ngƣời gửi thông tin có thể mong muốn giữ mình là nặc danh; trong trƣờng hợp này sự không từ chối thực hiện rõ ràng là không thích hợp. ii. c¸c ph•¬ng ph¸p m· ho¸ 1. Mã hoá đối xứng (mã hoá khoá bí mật) 1.1. Định nghĩa Thuật toán đối xứng hay là thuật toán mà tại đó khoá mã hoá có thể tính toán ra đƣợc từ khoá giải mã.Trong rất nhiều trƣờng hợp, khoá mã hoá và khoá giải mã là giống nhau. Thuật toán này còn có nhiều tên gọi khác nhƣ thuật toán khoá bí mật, thuật toán khoá đơn giản, thuật toán một khoá. Thuật toán này yêu cầu ngƣời gửi và ngƣời nhận phải thoả thuận một khoá trƣớc khi thông báo đƣợc gửi đi, và khoá này phải đƣợc cất giữ bí mật. Độ an toàn của thuật toán này phụ thuộc vào khoá, nếu để lộ ra khoá này nghĩa là bất kì ngƣời nào cũng có thể mã hoá và giải mã thông báo trong hệ thống mã hoá. Sự mã hoá và giải mã của thuật toán đối xứng biểu thị bởi: EK (K) = C và DK (C ) = P H×nh2: M· ho¸ víi kho¸ m· vµ gi¶i m· gièng nhau 1.2. Các vấn đề đối với phƣơng pháp mã hóa đối xứng Phƣơng mã hóa đối xứng đòi hỏi ngƣời mã hóa và ngƣời giải mã phải cùng chung một khóa. Khi đó khóa phải đƣợc giữ bí mật tuyệt đối, do vậy ta dễ dàng xác định một khóa nếu biết khóa kia. Hệ mã hóa đối xứng không an toàn nếu khóa bị lộ với xác suất cao. Trong hệ này, khóa phải đƣợc gửi đi trên kênh an toàn. Vấn đề quản lý và phân phối khóa là khó khăn và phức tạp khi sử dụng hệ mã hóa đối xứng. Ngƣời gửi và nhận phải luôn thống nhất với nhau về khóa. Việc thay đổi khóa là rất khó và dễ bị lộ Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 20
  21. Khuynh hƣớng cung cấp khoá dài mà nó phải đƣợc thay đổi thƣờng xuyên cho mọi ngƣời trong khi vẫn duy trì cả tính an toàn lẫn hiệu quả chi phí sẽ cản trở rất nhiều tới hệ mật mã này. 1.3 chuẩn mã hoá dữ liệu DES. a, Giới thiệu Ngày 15.5.1973. uỷ ban tiêu chuẩn quốc gia Mỹ đẫ công bố một khuyến nghị cho các hệ trong Hồ sơ quản lý liên bang. Điều này cuối cùng đã dẫn đến sự phát triển của chuẩn mã dữ liệu (ĐES) và nó đã trở thành một hệ mật đƣợc sử dụng rộng rãi nhất trên thế giới. DES đƣợc IBM phát triển và đƣợc xem nhƣ là một cái biên của hệ mật LUCIPHER. Lần đầu tiên DES đƣợc công bố trong Hồ sơ liên bang vào ngày 17.3.1975. Sau nhiều cuộc tranh luận công khai, DES đẫ đƣợc chấp nhận làm chuẩn cho các ứng dụng không đƣợc coi là mật vào 5.1.197. Kể từ đó cứ 5 năm một lần,DES lại đƣợc uỷ ban tiêu chuẩn quốc gia xem xét lại. DES là thuật toán mã hoá khối (block algorithm), nó mã hoá một khối dữ liệu 64 bit bằng một khoá 56 bit. Một khối bản rõ 64 bit đƣa vào thực hiện, sau khi mã hoá dữ liệu ra là một khối bản mã 64 bit. Cả mã hoá và giải mã đều sử dụng cùng một thuật toán và khoá. Nền tảng để xây dựng khối của DES là sự kết hợp đơn giản của các kỹ thuật thay thế và hoán vị bản rõ dựa trên khoá, đó là các vòng lặp. DES sử dụng 16 vòng lặp áp dụng cùng một kiểu kết hợp các kỹ thuật trên khối bản rõ. Thuật toán chỉ sử dụng các phép toán số học và lôgic thông thƣờng trên các số 64 bit, vì vậy nó rễ ràng thự hiện vào những năm 1970 trong điều kiện về công nghệ lúc bấy giờ. Ban đầu, sự thực hiên các phần mềm kiểu này rất thô sơ, nhƣng hiện tại việc đó đã tốt hơn, và với đặc tính lặp đi lặp lại của thuật toán đã tạo nên ý tƣởng sử dụng chip với mục đích này đặc biệt này. b. Mô tả Mô tả đầy đủ của DES đƣợc nêu trong công bố số 64 về các chuẩn xử lý thông tin liên bang (Mỹ) vào 15.1.1977. DES mã hoá một sâu bit x của rõ độ dài 64 bằng một khoá 56 bit. Bản mã nhận đƣợc cũng là một xâu bit có độ dài 64. Trƣớc hết ta mô tả ở mức cao của hệ thống. Thuật toán tiến hành theo 3 giai đoạn: 1. Với bản rõ trƣớc x, một sâu bit x0 sẽ đƣợc xây dựng bằng cách hoán vị các bit của x theo phép hoán vị cố định ban đầuIP. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 21
  22. Ta viêt:x0 = IP (X)= L0R0, trong đó L0 gồm 32 bit đầu và R0 là 32 bit cuối. 2. sau đó tính toán 16 lần lặp theo một hàm xác định. Ta sẽ tính L1R1,1 i 16 theo qui tắc sau: L1=Ri-1 R1 = Li-1  f(Ri-1,Ki) Trong đó  kí hiệu phép hoặc loại trừ của hai xâu bit ( cộng theo modun 2). F là một hàm ta xẽ mô tả ở sau, còn K1,K2, ,K16 là các sâu bit độ dài 48 đƣợc tính nhƣ hàm của khoá Ki là một phép chọn hoán vị bít trong K). K1,K2, ,K16 sẽ tạo thành bảng khoá. Một vòng của phép mã hoá đƣợc mô tả trên hình 2. -1 3. áp dụng phép hoán vị IP (R16L16). Chú ý thứ tự đã đƣợc đảo của R16 va L16 . Li-1 L i-1 f K i i +- 1 i - Li-1 1 Ri Hình 3 : Một vòng của DES Hàm f có hai biến vào : biến thứ nhất A là xâu bit độ dài 32, biến thứ hai j là một xâu bit độ dài 48. đầu ra của f là một xâu bit độ dài 32. Các bước thực hiện: Biến thứ nhất A đƣợc mở rộng thành một xâu bit độ dài 48 theo một hàm mở rộng cố định E. E9A) gồm 32 bit của A (đƣợc hoán vị theo cách cố định ) với 16 bit xuất hiên hai lần. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 22
  23. Tính E(A)  j và viết kết quả thành một chuỗi 8 xâu 6 bit = B1B2B3B4B5B6B7B8 Bƣớc tiếp theo dùng 8 bảng S1,S2, ,S8 ( đƣợc gọi tắt là cái hộp S). Với mỗi Si là một bảng 4×6 cố định có các hàng là các số nguyên từ 0 đến 15. Với xâu bit có độ dài 6 (Kí hiệu B1 = b1b2b3b4b5b6), ta tính Si(Bi) nhƣ sau: Hai bit b1b2 xác định biểu diễn nhị phân của hàng r của Si ( 0 r 3) và 4 bit (b2b3b4b5) xác định biểu diễn nhị phân của cột c của Si (0 c 15) . Khi đó Si (Bi) sẽ xác định phần tử Si(r,c); phần tử này viết dƣới dạng nhị phân là một xaau bit có độ dài 4. (Bởi vậy , mỗi Si có thể đƣợc coi là một hàm mã mà đầu vào là một xâu bit có độ dài 2 và một xâu bit có độ dài 4, còn đầu ra là một xâu bit có độ dài4). Bằng cách tƣơng tự tính các Ci = Si (Bi) , 1 i 8 . Xâu bit C = C1C2 C8 có độ dài 32 đƣợc hoán vị theo phép hoán vị cố định P. Xâu kết quả là P(C) đƣợc xác định là f(A,J). Hàm f đƣợc mô tả trong hình 1.3. Chủ yếu nó gồm một phép thế (sử dụng hộp S), tiếp sau đó là phép hoán vị P . Hình 4: .Hàm f của DES Cuối cùng ta cần mô tả việc tính toán bảng khoá từ khoá K. Trên thực tế , K là một xâu bit độ dài 64 , tring đó 56 bit là khoá và 5 bit để kiểm tra tính chẵn lẻ nhằm phat hiện sai. Các bit ở các vị trí 8, 16, .,64 đƣợc xác định sao cho mỗi byte chứa một số lẻ các số 1 . Bởi vậy một sai sót đơn lẻ có thể phát hiện đƣợc trong mỗi nhóm 8 bit. Các bit kiểm trabị bỏ qua trong quá trình tính toán bảng khoá. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 23
  24. 1. Với một khoá K 64 bit cho trƣớc , ta loại bỏ các bit kiểm tra tính chẵn lẻ và hoán vị cá bit còn lại của K theo phép hoán vị cố định PC-1 (K) = C0D0. 2. Với i thay đổi từ 1 đến 16: Ci = LSi(Ci-1) Di = LSi (Di-1) Và Ki = PC-2 (CiDi). LSi thể hiện sự dịch sang trái 1 hoặc 2 bit , phụ thuộc vào giá trị của i:dịch 1vị trs nếu i = 1,2,9 hoặc 16 và dịch 2 vị trí trong các trƣờng hợp còn lại . PC-2 là một hoán vị cố định khác. Việc tính bảng khoá đƣợc mô tả trên hình 1.4 Hình 5: Tính bảng khoá DES c. Giải mã DES Sau khi thay đổi , hoán vị ,, và dịch vòng , bạn có thể nghĩ rằng thuật toán giải mã hoàn toàn khác và phức tạp , khó hiểu nhƣ thuật toán mã hoá . Trái lại , DES sử dụng cùng thuật toán làm việc cho cả mã hoá và giải mã. Với DES , có thể sử dụng cùng chức năng để giải mã hoá một khối. Chỉ có sự khác nhau đó là các khoá phải đƣợc sử dụng theo thứ tự ngƣợc lại . Nghĩa là , nếu các khoá mã hoá cho mỗi vòng là k1,k2,k3, .,k15,k16 thì các khoá giải là k16,k15, .,k3,k2,k1. Thuật tóan ding để sinh khoá đƣợc sử dụng cho mỗi vòng theo kiểu vòng quanh . Khoá đƣợc dịch phải , và số những vị trí đƣợc đƣợc tính tứ cuối của bảng lên, thay vì từ trên xuống . d. Tranh luận về DES Khi DES đƣợc đề xuất nhƣ một chuẩn mật mã , đã có rất nhiều ý kiến phê phán . Một lý do phản đối DES có liên quan đến các hộp S . Mọi tính toán liên Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 24
  25. quan đến DES ngoại trừ các hộp S đều tuyến tính , tức việc tính phép hoặc loại trừ của hai đầu ra cũng giống nhƣ phép hoặc loại trừ của hai đầu vào rồi tính toán đầu ra . Các hộp S- chứa đựng thành phần phi tuyến của của hệ mật là yếu tố quan trọng nhất đối với độ mật của hệ thống. Tuy nhiên tiêu chuẩn xây dựng các hộp S không đƣợc biết đầy đủ. Một số ngƣời đã gợi ý là các hộp S phải chứa các “cửa sập” đƣợc dấu kín, cho phép Cụ An ninh quốc gia Mỹ (NSA) giải mãs đƣợc các thông báo nhƣng vẫn giữ đƣơc mức độ an toàn của DES. Dĩ nhiên ta không thể bác bỏ đƣợc khẳng định này, tuy nhiên không có một chứng cớ nào đƣợc đƣa ras để chứng tỏ rằng trong thực tế có các cửa sập nhƣ vậy. Năm 1976 NSA đã khẳng định rằng, tính chất sau của hộp S là tiêu chuẩn thiết kế: Mỗi hàng trong mỗi họp S là một hoán vị của các số nguyên 0, 1, 15. Không một hộp S nào là một hàm Affine hoặc tuyến tính các đầu vào của nó. Việc thay đổi một bit vào của S phải tạo nên sự thay đổi ít nhất là hai bit ra. Đối với hộp S bất kỳ với đầu vào x bất kì S (s) và S(x  001100) phải khác nhau tối thiểu là hai bit (trong đó x là xâu bit độ dai 6). Hai tính chất khác nhau sau đây của các hộp S có thể coi là đƣợc rút ra từ tiêu chuẩn thiết kế của NSA. Với hộp S bất kì, đầu vào x bất kì với e, f {0,1}: S(x) S(x  11 ef00). Với hộp S bất kì, nếu cố định một bit vào và xem xét giá trị của một bit đầu ra cố định thì các mẫu vào để bit ra này bằng 0 sẽ xấp xỉ bằng số mẫu ra để bit đó bằng 1. (Chú ý rằng, nếu cố định giá trị bit vào thứ nhất hoặc bit vào thứ 6 thì có 16 mẫu vào làm một bit ra cụ thể bằng 0 và có 16 mẫu vào làm cho bit này bằng 1. Với các bit vào từ bít thứ hai đến bit thứ 5 thì điều này không còn dúng nữa. Tuy nhiên phân bố kết quả vẫn gần với phân bố đều. Chính xác hơn, với một hộp S bất kì, nếu ra cố định giá trị của một bit vào bất kì thì số mẫy vào làm cho một bit ra cố định nào đó có giá trị 0 hoặc luôn nằm trong khoảng 13 đến 19). Ngƣời ta không biếts rõ là liệu còn một chuẩn thiết kế bào đầy đủ hơn đƣợc dùng trong việc xây dựng hộp S hay không. Sự phản đối xác đáng nhất về DES chính là kích thƣcớ của không gian khoá : 256 là quá nhỏ để đảm bảo an toàn thực sự. Nhiều thiết bị chuyên dụng đã đƣợc đề xuất nhằm phục vụ cho việc tấn công với bản rõ đã biết. Phép tấn công này chủ yếu thực hiện tìm khoá theo phƣơng pháp vét cạn. Tức cới bản rõ x64 bít và bản mã y tƣơng ứng, mỗi khoá đều có thể đƣợc kiểm tra cho tới khi tìm đƣợc một khoá K thoả mãns ek (x) = y. Cần chú ý là có thể nhiều hơn một khoá K nhƣ vậy. Ngay từ năm 1977, Diffie và Hellman đã gợi ý rằng có thể xây dựng một chíp VLSI (mạch tích hợp mật độ lớn) có khả năng kiểm tra đƣợc 106 khoá/giây. Một máy có thể tìm toàn bộ không gian khoá cỡ 106 trong khoảng 1 ngày. Họ ƣớc tính chi phí để tạo một máy nhƣ vậy khoảng 2.107$. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 25
  26. Trong cuộc hội thảo tại hội nghị CRYPTO’93, Michael Wiener đã đƣa ra một thiết kế rất cụ thể về máy tìm khoá. Máy này xây dựng trên một chíp tìm khoá, có khả năng thực hiện đồng thời 16 phép mã và tốc độ tới 5.107 khoá/giây. Với công nghệ hiện nay, chi phí chế tạo khoảng 10,5$/ chip. Giá của một khung máy chứa 5760 chíp vào khoảng 100.000$ và nhƣ vậy nó có khả năng tìm ra một khoá của DES trong khoảng 1,5v ngày. Một thiết bị dùng 10 khung máy nhƣ vậy có giá chừng 106$ sẽ giảm thời gian tìm kiếm khoá trung bình xuống còn 3,5 giờ. e. Ứng dụng của DES Mặc dù việc mô tả DES khá dài song ngƣời ta có thể thực hiện DES rất hữu hiệu bằng cả phần cứng lẫn phần mềm. Các phép toán duy nhất cần đƣợc thực hiện là phép hoặc loại trừ xâu bit. Hàm mở rộng E, các hộp S, các hoán vị IP và P và việc tính toán các giá trị K1 ., K16 đều có thể thực hiện đƣợc cùng lúc bằng tra bảng (trong phần mềm) hoặc bằng cách nối cứng chúng thành một mạch. Các ứng dụng phần cứng hiện thời có thể đạt đƣợc tốc độ mã hoá cực nhanh. Năm 1991 đã có 45s ứng dụng phần cứng và chƣơng trình cơ sở của DES đƣợc uỷ ban tiêu chuẩn quốc gia Mỹ (NBS) chấp thuận. Một ứng dụng quan trọngs của DES là trong giao dịch ngân hàng Mỹ - (ABA) DES đƣợc dùng để mã hoá các số định danh cá nhân (PIN) và việc chuyển khoản bằng mảy thủ quỹ tự động (ATM). DES cũng đƣợc hệ thông chi trả giữa các nhà băng của ngân hàng hối đoái (CHIPS) dùng để xác thực các giao dịch. DES còn đƣợc sử dụng rộng rãi trong các tổ chức chính phủ. Chẳng hạn nhƣ bộ năng lƣợng, Bộ tƣ pháp và Hệ thống dự trữ liên bang. 1.4. Hệ mã hóa AES Trong mật mã học, AES ( viết tắt của từ tiếng Anh: Advanced Encryption Standard, hay tiêu chuẩn mã hóa tiên tiến) là một thuật toán mã hóa khối đƣợc chính phủ Hoa Kỳ áp dụng làm tiêu chuẩn mã hóa. Giống nhƣ tiêu chuẩn tiền nhiện DES, AES đƣợc kỳ vọng áp dụng trên phạm vi thế giới và đã đƣợc nghiên cứu rất kỹ lƣỡng. AES đƣợc chấp thuận làm tiêu chuẩn liên bang bởi viện tiêu chuẩn và công nghệ quốc gia Hoa Kỳ (NIST ) sau một quá trình tiêu chuẩn hóa kéo dài 5 năm. Thuật toán đƣợc thiết kế bởi hai nhà mật mã học ngƣời Bỉ: Joan Daemen và Vincent Rijmen (lấy tên chung là “Rijnadael” khi tham gia cuộc tthiết kế AES). Thông tin chung Tác giả Vincent Rijmen và Joan Daemen Năm công bố 1998 Phát triển từ Square (mã hóa) Các thuật toán dựa trên Crypton (mã hóa), Anubis (mã Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 26
  27. hóa),GRAND CRU Chi tiết thuật toán Khối dữ liệu 128 bit Độ dài khóa 128,192 hoặc 256 bit Cấu trúc Mạng thay thế- hoán vị Số chu trình 10,12 hoặc 14 (tùy theo độ dài khóa) Thuật toán đƣợc dựa vào bảng thiết kế Square có trƣớc của Daemen và Rijmen; còn Square lại đƣợc thiết kế dựa trên Shark. Khác với DES sử dụng mạng Feistel, Rijndael sử dụng mạng thay thế- hoán vị, AES có thể dễ dàng thực hiện vớ tố độ cao bằng phần mềm hoặc phần cứng và không đòi hỏi nhiều bộ nhớ. Do AES là một tiêu chuẩn mã hóa mới, nó đang đƣợc sử dụng rộng rãi trong nhièu ứng dụng. Mô tả thuật toán Trong bƣớc addRoundKey, mỗi byte đƣợc thiết kế với một byte trong khóa con của chu trình sử dụng phép toán XOR (). Trong bƣớc Subyte, mỗi byte đƣợc thay thế bằng một byte theo bang tra, S; bij= S(aij ) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 27
  28. Trong bƣớc ShiftRows, các byte trong mõi hàng đƣợc dịch vòng trái. Số vị trí dịch chuyển tùy thuộc từng bảng. Trong bƣớc MixColumns, mỗi cột đƣợc nhân với hệ số cố định c(x) Mặc dù 2 tên AES và Rijndael vẫn thƣờng đƣợc thay thế cho nhau nhƣng trên thực tế thì 2 thuật toán không hoàn toàn giống nhau. AES chỉ làm việc với khối dữ liệu 128 bít và khóa có độ dài 128, 192 hoặc 256 bít trong khi Rijndael có thể làm việc với khối dữ liệu và khóa có độ dài bất kì là bội số của 32 bít nằm trong khoảng từ 128 tới 256 bít. Các khóa con sử dụng trong các chu trình đƣợc tạo ra bởi quá trình tạo khóa con Rijndael. Hầu hết các phép toán trong thuật toán AES đều đựơc thực hiện trong một trƣờng hữu hạn. AES làm việc với từng khối dữ liệu 4×4 byte (tiếng Anh: state, khối trong Rijndael có thể thêm một cột). Quá trình mã hóa bao gồm 4 bƣớc: 1. AddRoundKey __mỗi byte của khối đƣợc kết hợp với khóa con, các khóa con này đƣợc tạo ra từ quá trình tạo khóa con Rijndael. 2. SubBytes __đây là phép thế (phi tuyến) trong đó mỗi byte sẽ đƣợc thế bằng một byte khác theo bảng tra (Rijndael-box). 3. ShiftRows __đổi chỗ, các hàng trong khối đƣợc dịch vòng. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 28
  29. 4. MixColumns __quá trình trộn làm việc theo các cột trong khối theo một phép biến đổi tuyến tính. Tại chu trình cuối thì bƣớc MixColumns đƣợc thay thế bằng bƣớc AddRoundKey. Bƣớc AddRoundKey Tại bƣớc này, khóa con đƣợc kết hợp với các khối. Khóa con trong mỗi chu trình đƣợc tạo ra từ khóa chính với quá trình tạo khóa con Rijndael; mỗi khóa con có đọ dài giống nhƣ các khối. Quá trình kết hợp đƣợc thực hiện bằng cách XOR từng bít của khóa con với khối dữ liệu. Bƣớc SubBytes Các bƣớc đƣợc thế thông qua bảng tra S-box. Đây chính là quá trình phi tuyến của thuật toán. Hộp S-box này đƣợc tạo ra từ một phép nghịch đảo trong trƣờng hữu hạn GF (28) có tính chất phi tuyến. Để chống lại các tấn công dựa trên các đặc tính đại số, hộp S-box này đƣợc tạo nên bằng cách kết hợp phép nghịch đảo với một phép biến đổi khả nghịch. Hộp S-box này cũng đƣợc chọn để tránh các điểm cố định (fixed point). Bƣớc ShiftRows Các hàng đƣợc dịch vòng một số vị trí nhất định. Đối với AES, hàng đầu đƣợc giữ nguyên. Mỗi byte của hàng thứ 2 đƣợc dịch trái một vị trí. Tƣơng tự các hàng thứ 3 và 4 đƣợc dịch 2 và 3 vị trí. Do vậy, mỗi cột khối đầu ra của bƣớc này sẽ bao gồm các byte ở đủ 4 cột khối đầu vào. Đối với Rijndael với độ dài khối khác nhau thì số vị trí dịch chuyển cũng khác nhau. Bƣớc MixColumns Mỗi cột đƣợc kết hợp lại theo một phép biến đổi tuyến tính khả nghịch. Mỗi khối 4 byte đầu vào sẽ cho một khối 4 byte đầu ra với tính chất là mỗi byte ở đầu vào đều ảnh hƣởng tới cả 4 byte đầu ra. Cùng với bƣớc ShiftRows, MixColumns đã tạo ra tính chất khuyến tán cho thuật toán. Mỗi cột đƣợc xem nhƣ một đa thức trong trƣờng hữu hạn và đƣợc nhân (modun x4 +1) với đa thức c(x) = 3x3 + x2 + x + 2. Vì thế, bƣớc này có thể đƣợc xem là phép nhân ma trận trong trƣờng hữu hạn. Tối ƣu hóa Đối với các hệ thống 32 bít hoặc lớn hơn, ta có thể tăng tốc độ thực hiện thuật toán bằng cách chuyển đổi các bƣớc Subbytes, ShiftRows và MixColumns thành dạng bảng. Mỗi bứoc sẽ tƣơng ứng với 4 bảng với 256 mục, mỗi mục là 1 từ 32 bít và chiếm 4096 byte trong bộ nhớ. Khi đó, mỗi chu trình sẽ đƣợc bao Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 29
  30. gồm 16 lần tra bảng và 12 lần thực hiện phép XOR 32 bít cùng với 4 phép XOR trong bƣớc AddRoundKey. Trong trƣờng hợp kích thƣớc các bảng vẫn lớn hơn so với thiết bị thực hiện thì các bƣớc tra bảng sẽ thực hiện lần lƣợt với từng bảng theo vòng tròn. 2. Mã hóa không đối xứng (Mã hóa khóa công khai) 2.1. Định nghĩa Thuật toán mã hóa công khai là thuật toán đƣợc thiết kế sao cho khóa mã hóa là khác so với khóa giải mã. Mà khóa giải mã hóa không thể tính toán đƣợc từ khóa mã hóa .Khóa mã hóa gọi là khóa công khai (public key ), khóa giải mã đƣợc gọi là khóa riêng (private key) B¶n râ B¶n m· Gi¶i m· B¶n râ Khãa m· Khãa gi¶i Hình 6: Mã hóa với khóa mã và giải mã khác nhau Đặc trƣng nổi bật của hệ mã hóa công khai là cả khóa công khai (public key ) và bản tin mã hóa (ciphertext) đều có thể gửi đi trên một kênh thông tin không an toàn 2.2.Các điều kiện của một hệ mã hóa công khai Việc tính toán ra cặp khóa công khai KB và bí mật kB dựa trên cơ sở các điều kiện ban đầu phải đƣợc thực hiện một cách dễ dàng, nghĩa là thực hiện trong thời gian đa thức . Ngƣời gửi A có đƣợc khóa công khai của ngƣời nhận B và có bản tin P cần gửi đi có thể dễ dàng tạo ra đƣợc bản mã C. C =EKB(P) = EB (P) Công việc này cũng trong thời gian đa thức . Ngƣời nhận B khi nhận đƣợc bản tin mã hóa C với khóa bí mật kB thì có thể giải mã bản tin trong thời gian đa thức Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 30
  31. P =DkB (C) = DB [EB(M)] Nếu kẻ địch biết khóa công khai KB cố gắng tính toán khóa bí mật thì khi đó chúng phải đƣơng đầu với trƣờng hợp nan giải, trƣờng hợp này đòi hỏi nhiều yêu cầu không khả thi về thời gian Nếu kẻ địch biết đƣợc cặp (KB,C) và cố gắng tính toán ra bản rõ P thì giải quyết bài toán khó với số phép thử vô cùng lớn, do đó không khả thi 2.3. Thuật toán mã hóa RSA a. Khái niệm hệ mã hóa RSA Khái niệm hệ mật mã RSA đã đƣợc ra đời năm 1976 bởi các tác giả R.RivetsK,A.Shamir , và L.Adleman. Hệ mã hóa này dựa trên cơ sở của hai bài toán Bài toán Logarith rời rạc Bài toán phân tích thành thừa số Trong hệ mã hóa RSA các bản rõ, các bản mã và các khóa (public key và private key) là thuộc tập số nguyên ZN ={1, ,N-1}. Trong đó tập ZN với N =pxq là các số nguyên tố khác nhau cùnh với phép cộng, phép nhân mođun N tạo ra mođun số học N Khóa mã hóa EKB là cặp số nguyên (N, KB) và khóa giải mã DkB là cặp số nguyên (N, kB), các số là rất lớn, số N có thể lên tới hàng trăm chữ số Các phƣơng pháp mã hóa và giải mã hóa là rất dễ dàng. Công việc mã hóa là sự biến đổi bản rõ P (Plaintext) thành bản mã C (ciphertext) dựa trên cặp khóa công khai KB và bản rõ P theo công thức sau đây KB C = EKB(P) = p (mod N) (1) Công việc giảI ma là sự biến đổi ngƣợc lại bản mã C thành bản rõ P dựa trên cặp khóa bí mật kB , mođun N theo công thức sau : kB P =DkB(C) =C (mod N) (2) Dễ thấy rằng, bản rõ ban đầu cần đƣợc biến đổi một cách thích hợp thành bản mã, sau đó để có thể tái tạo lại bản rõ ban đầu từ chính bản mã đó: P =DkB (EKB(P)) (3) Thay thế (1) vào (2) ta có: ( PKB)kB =P (mod N) (4) Ta thấy N =pxq với p, q là số nguyên tố. Trong toán học đã chứng minh đƣợc rằng, nếu N là số nguyên tố thì công thức (4) sẽ có lời giải khi và chỉ khi: KB.kB 1 (mod (N)) (5) Trong đó  (N) =LCM(p-1, q-1 ). (Lest Common Multiple) là bội số chung nhỏ nhất . Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 31
  32. Nói một cách khác, đầu tiên ngƣời nhận B lựa chọn một khóa công khai KB một cách ngẫu nhiên. Khi đó khóa bí mật kB đƣợc tính ra bằng công thức (5). Điều này hoàn toàn tính đƣợc vì khi B biết đƣợc cặp số nguyên tố (p, q) thì sẽ tính đƣợc  (N). Chän p vµ q TÝnh N=pxq B¶n râ P TÝnh  (N) KB C=PKB (mod N) Chän khãa KB B¶n m· c kB kB Chän khãa kB P= c (mod N) B¶n râ gèc Hình H×nh 7: Sơ đồ các bƣớc thực hiện mã hóa theo thuật toán RSA Ví dụ: 6 2 N=11413=101x113, (N) =100x112 =11200 =2 x5 x7. KB phải chọn sao cho -1 không chia hết cho 2,5, 7. Chọn, chẳng hạn KB =3533 khi đó kB =KB =6579mod11200. Và ta có khóa công khai là (N,KB)=(11413,3533) khóa bí mật là 6759. Phép lập mã và giải mã là KB 3533 EKB(P) =P (mod N) =P (mod 11413) kB 6579 DkB(C) =C (mod N) =C (mod 11413) Chẳng hạn với PC =9726, ta có C =5761 b. Độ an toàn của hệ RSA Một nhận định chung là tất cả các cuộc tấn công giải mã đều mang mục đích không tốt. Tính bảo mật của RSA chủ yếu dựa vào việc giữ bí mật khóa giải mã hay giữ bí mật các thừa số p, q của N. Ta thử xét một vài phƣơng thức Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 32
  33. tấn công điển hình của kẻ địch nhằm giải mã trong thuật toán này (nhằm xâm phạm tới các yếu tố bí mật đó). Trƣờng hợp 1: chúng ta xét đếnơtrƣờng hợp khi kẻ địch nào đó biết đƣợc mođun N, khóa công khai KB và bản tin mã hóa C, khi đó kể địch sẽ tìm ra bản tin gốc (Plaintext) nhƣ thế nào. Để làm đƣợc điều đó kẻ địch thƣờng tấn côngvào hệ thống mật mã bằng hai phƣơng thức sau đây: Phƣơng thức thứ nhất: Trƣớc tiên dựa vào phân tích thừa số mô đun N. Tiếp theo sau chúng sẽ tìm cách tính toán ra hai số nguyên tố p và q, và có khả năng thành công khi đó sẽ tính đƣợc (N) + (p-1) (q-1) và khoá bí mật KB. Ta thấy N cần phải là tích của hai số nguyên tố, vì nếu N là tích của hai số nguyên tố thì thuật toán phân tích thừa số đơn giản cần tối đa N1/2 bƣớc, bởi vì có một số nguyên tố nhỏ hơn N1/2. Mặt khác, nếu N là tích của n số nguyên tố, thì thuật toán phân tích thừa số đơn giản cần tối đa N1/n bƣớc. Phƣơng thức thứ hai: Phƣơng thức tấn công thứ hai vào hệ mã hóa RSA là có thể khởi đầu bằng cách giải quyết trƣờng hợp thích hợp của bài toán logarit rời rạc. Trƣờng hợp này kẻ địch đã có trong tay bản mã C và khóa công khai KB tức là có cặp (KB, C). Trƣờng hợp 2: Chúng ta xét trƣờng hợp khi kẻ địch nào đó biết đƣợc mođun N và (N), khi đó kẻ địch sẽ tìm ra bản tin gốc (Plaintext) bằng cách sau: Biết (N) thì có thể tính p, q theo hệ phƣơng trình: P * q = N, (p -1) (q-1) = (N) Do đó p và q là nghiệm của phƣơng trình bậc hai: x2- (n - (N) +1 ) + n = 0. Ví dụ: n = 84773093, và biết (N) = 84754668. Giải phƣơng trình bậc hai tƣơng ứng ta sẽ đƣợc hai nghiệm p = 9539 và q = 8887. c. Một số tính chất của hệ RSA Trong các hệ mật mã RSA, một bản tin có thể được mã hóa trong thời thời gian tuyến tính. Đối với các bản tin dài, độ dài của các số đƣợc dùng cho các khóa có thể đƣợc coi nhƣ là hằng. Tƣơng tự nhƣ vậy, nâng một số lên lũy thừa đƣợc thực hiện trong thời gian hằng. Thực ra tham số này che dấu nhieeuf chi tiết cài đặt có liên quan đến việc tính toán với các con số dài, chi phí của các phép toán thực sự là một yếu tố ngăn cản sự phổ biến ứng dụng của phƣơng pháp này. Phần quan trọng nhất của việc tính toán có liên quan đến việc mã hoá bản tin. Nhƣng Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 33
  34. chắc chắn là sẽ không có hệ mã hoá nào hết nếu không tính ra đƣợc các khóa của chúng là các số lớn. Các khóa cho hệ mã hóa RSA có thể được tạo ra mà không phải tính toán quá nhiều. Một lần nữa, ta lại nói đến các phƣơng pháp kiểm tra số nguyên tố. Mỗi số nguyên tố lớn có thể đƣợc phát sinh bằng cách đầu tiên tạo ra một số ngẫu nhiên lớn, sau đó kiểm tra các số kế tiếp cho tới khi tìm đƣợc một số nguyên tố. Một phƣơng pháp đơn giản thực hiện một phép tính trên một con số ngẫu nhiên, với xác suất 1/2 sẽ chứng minh rằng số đƣợc kiểm tra không phải nguyên tố. Bƣớc cuối cùng là tính p dựa vào thuật toán Euclid. Nhƣ phần trên đã trình bày trong hệ mã hóa công khai thì khóa giải mã (Privatekey) KB và các thừa số p, q là đƣợc giữ bí mật và sự thành công của phƣơng pháp là tuỳ thuộc vào kẻ địch có khả năng tìm ra đƣợc giá trị của KB hay không nếu cho trƣớc N và KB. Rất khó có thể tìm ra đƣợc KB từ KB, cần biết về p và q. Nhƣ vậy cần phân tích N ra thành thừa số để tính p và q. Nhƣng việc phân tích ra thừa số là một việc làm tốn rất nhiều thời gian, với kỹ thuật hiện đại ngày nay thì cần tới hàng triệu năm để phân tích một số có 200 chữ số ra thừa số. Độ an toàn của thuật toán RSA dựa trên cơ sở những khó khăn của việc xác định các thừa số nguyên tố của một số lớn. Bảng dƣới đây cho biết các thời gian dự đoán, giả sử rằng mỗi phép toán thực hiện trong một micro giây. Số các chữ số trong Thời gian phân tích số đƣợc phân tích 50 4 giờ 75 104 giờ 100 74 năm 200 4.000.000 năm 300 5 * 1015 năm 500 4 *1025 năm Bảng: Thời gian dự đoán thực hiện phép tính. d. ứng dụng của RSA. Hệ mã hóa RSA đƣợc ứng dụng rộng rãi chủ yếu cho web và các chƣơng trình email. Ngày nay, RSA còn đƣợc sử dụng rộng rãi trong các công nghệ bảo mật sử dụng cho thƣơng mại điện tử (ví dụ nhƣ công nghệ bảo mật SSL v). 2.4. Hàm băm. Chúng ta có thể thấy rằng các sơ đồ chữ kí nói chung chỉ cho phép kí các bức điện nhỏ. Thông thƣờng khi sử dụng một sơ đồ chữ ký, chữ ký đƣợc sinh ra có độ dài lớn hơn so với văn bản ký, do vậy kích thƣớc văn bản sau khi ký sẽ tăng lên rất nhiều. Và trên thực tế ta cần ký trên các bức điện rất dài, chẳng hạn, một tài liệu về pháp luật có thể dài nhiều Megabyte. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 34
  35. Một cách đơn giản để giải bài toán này là chia các bức điện dài thành nhiều đoạn sau đó kí lên các đoạn đó độc lập nhau. Điều này cũng tƣơng tự nhƣ mã hóa một chuỗi dài bản rõ bằng cách mã hóa mỗi kí tự bản rõ độc lập nhau sử dụng cùng một bản khóa. (Ví dụ: Chế độ ECB trong mã hóa). Biện pháp này có một số vấn đề trong việc tạo ra các chữ kí số. Trƣớc hết, với một bức điện dài, ta kết thúc bằng một chữ kí rất lớn. Nhƣợc điểm khác là các sơ đồ chữ kí “an toàn” lại chậm vì chúng dùng các phƣơng pháp số học phức tạp nhƣ số mũ modulo. Tuy nhiên, vấn đề nghiêm trọng hơn với phép toán này là bức điện đã kí có thể bị sắp xếp lại các đoạn khác nhau, hoặc một số đoạn trong chúng có thể bị loại bỏ và bức điện nhận đƣợc vẫn xác minh đƣợc. Ta cần bảo vệ sự nguyên vẹn của toàn bộ bức điện và điều này không thể thực hiện đƣợc bằng cách kí độc lập từng mẩu nhỏ của chúng. Giải pháp cho tất cả các vấn đề này là dùng hàm HASH mã hóa khóa công khai nhanh. Hàm này lấy một bức điện có độ dài tuỳ ý và tạo ra một bản tóm lƣợc thông báo có kích thƣớc quy định (ví dụv: 160 bít với DSS) sau đó bản tóm lƣợc thônng báo sẽ đƣợc kí thay vì kí trực tiếp trên văn bản gốc. Khi Bob muốn kí bức điện x, trƣớc tiên anh ta xây dựng một bản tóm lƣợc thông báo z = h(x) và sau đó tính y = sigk(z). Bob truyền cặp (x,y) trên kênh. Xét thấy có thể thực hiện xác minh (bởi ai đób) bằng cách trƣớc hết khôi phục bản tóm lƣợc thông báo z = h(x) bằng hàm h công khai và sau đó kiểm tra xem verk(x,y) có = true, hay không. Bức điện X có độ dài bất kì Bản tóm lƣợc thông báo z = h(x) Chữ ký y = sigk(z) Hình 8: Ký một bản tóm lƣợc thông báo Bản tóm lƣợc (giá trị của hàm băm) còn đƣợc gọi là đại diện văn bản (Message digest). Một message digest là có chiều dài cố định với các đặc điểm nhƣ sau: Giá trị trả lại của hàm băm duy nhất đối với mỗi giá trị đầu vào. Bất kỳ sự thay đổi nào của dữ liệu vào cũng đều dẫn đến một kết quả sai. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 35
  36. Từ đại diện văn bản không thể suy ra đƣợc dữ liệu gốc là gì, chính vì điều này mà ngƣời ta gọi là one -way. Nhƣ đã đề cập trong phần mã hóa khóa khóa công khai, nó có thể sử dụng khóa bí mật của bạn cho việc mã hóa và khóa khóa công khai cho việc giải mã. Cách sử dụng cặp khóa nhƣ vậy không đƣợc dùng khi cần có sự bí mật thông tin, mà chủ yếu nó dùng để “ký” cho dữ liệu. Thay vào việc đi mã hóa dữ liệu, các phần mềm kí tạo ra message digest của dữ liệu và sử dụng khóa bí mật để mã hóa đại diện đó. Hình 1.8 đƣa ra mô hình đơn giản hóa việc chữ kí số đƣợc sử dụng nhƣ thế nào để kiểm tra tính toàn vẹn của dữ liệu đƣợc ký. Trong hình 1.8 có hai phần đƣợc gửi cho ngƣời nhận: Dữ liệu gốc và chữ kí số. Để kiểm tra tính toàn vẹn của dữ liệu, ngƣời nhận trƣớc tiên sử dụng khóa khóa công khai của ngƣời kí để giải mã đại diện văn bản (Message digest) đã đƣợc mã hóa và khóa bí mật của ngƣời ký. Dựa vào thông tin về thuật toán băm trong chữ ký số, ngƣời nhận sẽ tạo ra đại diện văn bản từ dữ liệu gốc và mới. Nếu các đại diện này giống nhau tức là dữ liệu không bị thay đổi từ lúc đƣợc ký. Nếu không giống nhau có nghĩa là dữ liệu đã bị giả mạo điều này cũng có thể xảy ra khi sử dụng hai khóa khoá khóa công khai và khóa bí mật không tƣơng ứng. H Message Message Message Compare H K K D E a, Using conventional encryption H Message Message Message Compare H Kprivate Kpublic D E Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 36
  37. b, Using public-key encryption Hình 9: Sử dụng chữ ký số để kiểm tra tính toàn vẹn của dữ liệu. Nếu nhƣ hai đại diện văn bản giống nhau, ngƣời nhận có thể chắc chắn rằng khóa khóa công khai đƣợc sử dụng để giải mã chữ ký số là tƣơng ứng với khóa bí mật đƣợc sử dụng để tạo ra chữ ký số. Để xác thực định danh của một đối tƣợng cũng cần phải xác thực khóa khóa công khai của đối tƣợng đó. Trong một vài trƣờng hợp, chữ ký số đƣợc đánh giá là có thể thay thế chữ ký bằng tay. Chữ ký số chỉ có thể đảm bảo khi khóa bí mật không bị lộ. Khi khóa bí mật bị lộ thì ngƣời sở hữu chữ ký không thể ngăn chặn đƣợc việc bị giả mạo chữ ký. iii. CHỮ KÍ Sè chữ kí của một ngƣời trên một tài liệu (thƣờng đặt ở cuối bản tin ) để xác nhận nguồn gốc hay trách nhiệm với tài liệu đó. Với tài liệu “số hoá” (điện tử),nếu chữ kí cũng đặt ở cuối bản tin, thì việc sao chép lại “chữ kí số” là hoàn toàndễ dàng và không thể phân biệt dƣợc bản gốc với bản saovì chữ kí số là các số 0,1. Vậy một “chữ kí số” đặt cuối “tài liệu loại số” không thể chịu trách nhiệm đối với toàn bộ nội dung văn bản . “Chữ kí số” thể hiện trách nhiệm đối với toàn bộ tài liệu phải là chữ kí trên từng bit của tài liệu đó. Trong chƣơng này, em trình bày các vấn đề cơ bản nhất về chữ kí số, các khái niệm, các tính chất, các sơ đồ kí hiện đang đƣợc sử dụng. Chúng ta không thể kí trên bất kì tài liệu nào với độ dài tuỳ ý, vì nhƣ vậy chữ kí sẽ có đọ dài rất lớn, ít nhất cũng dài bằng độ dài của tài liệu đƣợc kí. Với tài liệu dài, ngƣời ta kí trên đại diện của nó. Đại diện của bản tin đƣợc thiét lập qua Hàm băm. 1. Chữ kí số Với chữ kí thông thƣờng, nó là một phần vật lí của tài liệu.Tuy nhiên, một chữ kí số không gắn theo kiểu vật lí vào bức điện nên thuật toán đƣợc dùng phải “không nhìn thấy” theo cách nào đố trên bức điện. Thứ hai là vấn đề về kiểm tra .Chữ kí thông thƣờng đƣợc kiểm tra bằng cách so sánh nó với các chữ kí xác thực khác. Ví dụ, ai đó kí một tấm séc để mua hàng,nƣời bán phải so sánh chữ kí trên mảnh giấy với chữ kí nằm ở mặt su của thẻ tín dụng để kiểm tra .Dĩ nhiên, đây không phải là phƣơng pháp an toànvì nó dễ dàng giả mạo. Mặt khác,các chữ kí số có thể đƣợc kiểm tra nhờ dùng một Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 37
  38. thuật toán kiểm tra công khai. Nhƣ vậy, bất kì ai cũng có thể kiểm tra đƣợc chữ kí số. Việc dùng một sơ đồ chữ kí an toàn có thể sẽ ngăng chặn đƣợc khả năng giả mạo. Sự khác biệt cơ bản giữa chữ kí số và chữ kí thông thƣờng bản copy tài liệu đƣợc kí bằg chữ kí số đồng nhất với bản gốc , còn copy tài liệu có chữ kí trên giấy thƣờng có thể khác với bản gốc.Điều này có nghĩa là phải cẩn thận ngăn chặn một bức kí số khỏi bị dùng lại. Ví dụ. Bob kí một bức điện xác nhận Ailice có khả năng làm một điều đó một lần. Vì thế, bản thân bức điện cần chứa thông tin (chẳng hạn nhƣ ngày tháng)để ngăn nó khỏi bị dùng lại. Một sơ đồ chữ kí số thƣờng chứa hai thành phần: thuật toán kí và thuật toán xác minh. Bob có thể kí điện x dùng thuật toán kí an toàn . Chữ kí sig(x) nhận đƣợc có thể kiểm tra bằng thuật toán kí an toàn . Chữ kí sig(x) nhận đƣợc có thể kiểm tra bằng thuật toán xác minh công khai ver. Khi cho trƣớc cặp (x,y), thuật toán xác minh có giá trị TRUE hay FALSE tuỳ thuộc vào chữ kí đƣợc thực nhƣ thế nào . Dƣới đây là định nghĩa hình thức của chữ kí: Định nghĩa: một sơ đồ chữ kí số là bộ 5(P,A,K,S,C) trong đó : 1.P Là tập hữu hạn các bức điện (thông điệp) có thể . 2.A là tập hữu hạn các chữ kí có thể. 3.K không gian khoá là tập hữu hạn các khoá có thể. 4.Với mỗi K thuộc K tồn tại một thuật toán kí sigk S và là một thuật toán xác định Verk V. Mỗi sigk:P A vàVerk : P A { true,false} là hàm sao cho mỗi thông điệp x P và chữ kí y A thoảmãn phƣơng tình dƣới đây. Verk= True nếu y=sing(x) False nếu y sing(x) Với mỗi k thuộc K hàm sigk ,Verk là các hàm có thời gian đa thức .Verk sẽ là hàm công khai , sigk là bí mật. không thể dễ dàng tính toán để giả mạo chữ kí của Bob trên thông điệp x .Nghĩa là x cho trƣớc ,chỉ có Bob mới có thể tính đƣợc y để Verk= true . Một sơ đồ chữ kí không thể an toàn vô điều kiện vì Oscar có thể kiểm tra tất cả các chữ số y có thể có trên thông điệp x nhờ dùng thuật toán verk công khai cho đến khi anh ta tìm thấy một chữ kí đúng.Vì thế , nếu có đủ thời gian ,Oscar luôn luôn có thẻ giả mạo chữ kí của Bob .Nhƣ vậy , giống nhƣ trƣờng hợp hệ thống mã khoá công khai , mục đích của chúng ta là tìm các sơ đồ chữ kí số an toàn về mặt tính toán. 2. Phân loại các sơ đồ chữ kí số Cơ chế chữ kí điện tử đƣợc chia làm hai 2 lớp , lớp chũ kí kèm thông điệp (message appendix)và lớp chữ kí khôi phục thông điệp (message recovery). Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 38
  39. Chữ kí kèm thông điệp: đòi hỏi thông điệp ban đầu là đầu vào giải thuật kiểm tra . Chữ kí khôi phục thông điệp: thông điệp ban đầu đƣợc sinh ra từ bản thân chữ kí. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 39
  40. Hình 10: Hình biểu diễn phân loại ở mức tổng quan về chữ kí điện tử ngẫu nhiên Khôi phục thông diệp Xác định s chữ kí điện tử ngẫu nhiên Kèm thông điệp Xác định 2.1. Sơ đồ chữ kí kèm thông điệp Sơ đồ chữ kí kèm thông điệp là sơ đồ đƣợc sử dụng nhiều nhất trong thực tế. Nó dựa trên các hàm băm mã hoá đơn là dựa trên các hàm băm bất kì và ít bị lỗi khi bị tấn công theo kiểu giả mạo.Chúng ta có thể định nghiã chính xác sơ đồ chữ kí này nhƣ sau : Định nghĩa :Một sơ đồ kí đòi hỏi thông điệp đầu vào là một tham số cho quá trình xác nhận chữ kí là sơ đồ kí kèm thông điệp .Ví dụ EIGamal,DSA,Schonor. a. Giải thuật sinh khoá: Mỗi một thực thể tạo một khoá riêng để cho thông điệp cần khoá và một khóa công khai tƣơng ứng để các thực thể khác xác nhận chữ kí . Mỗi thựcthể A phải chọn một khoá riêng cùng với việc xác định không gian khoá SA,k :k thuộc R ,của dạng chuyển đổi. SA,k xác định một anhhs xạ 1-1 từ không gian Mh vào khong gian khoá S gọi là dạng chuyển đổi chữ kíhay cào là thuật toán kí số. SAtƣơng ứng (corresponding mapping)VA từ không gian Mh S vào tập hợp { false,true} có nghĩa là : VA(m,s*)=true nếu SA,k(m)=s* VA(m,s*)=false trong các trƣờng hợp khác. Va là khoá công khai của A ,SA là khoá riêng của A Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 40
  41. b. Giải thuật sinh và xác nhận chữ kí: Thực thể A tạo một chữ kí s vào án xạ M và đƣợc xác nhận bởi thực thể B. Quá trình sinh chữ kí Chọn một chữ kí k thuộc R Tính hàm băm m’=h(m) và s*=SA,k(m’) Chữ kí của A cho m là s*.Cặp m’ và s* dùng để xác nhận Quá trình xác nhận chữ kí Nhận khoá công khai định danh choA và vA Tính hàm băm m’=h(m)và u=vA(m’,s*) Chấp nhận chữ kí của A cho m là s* nếu u=TRUE. M M S h h A,k s m  m a) TiÕn tr×nh ký th«ng ®iÖp Mh x S VA TRU E FALSE b) TiÕn tr×nh x¸c nhËn ch÷ ký 2.2. Sơ đồ chữ kí khôi phục thông điệp Đặc trƣng cho sơ đồ này là thông điệp có thể đƣợc khôi phục từ chính bản thân chữ kí .Trong thực tế sơ đồ kiểu này thƣờng đƣợc kí cho các thông điệp ngắn . Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 41
  42. Định nghĩa Một sơ đồ kí đƣợc gọi là có khôi phục thông điệpkhi và chỉ khi nó là sơ đồ mà với nó mức độ hiểu biết về thông diệp là không đòi hỏi trong quá trình xác nhận chữ kí .Ví dụ về các sơ đồ chữ kí có khôi phục thông điệp trong thực tế là :RSA,Rabin ,Nyber –Rueppel với khoá chung . a. Thuật toán sinh khoá Mỗi một thực thể A phải chọn một tập hợp SA={SA,k:k thuộc R} mỗi SA,k xác định một ánh xạ 1-1 tù không gian Mh vao không gian khoá S goi là dang chuyển đổi chữ ký. SA xác định một ánh xạ tƣơng ứng(corresponding mapping) VA sao cho VA* SA,k ánh xạ xác định MS cho tất cả k thuộc R. VA là khoá công khai của A, SA là khoá riêng của A. b. Thuật toán sinh chữ ký và xác nhận chữ ký Tiến trình sinh chữ ký: Thực thể phảI làm theo các bƣớc sau: • Chọn một số k R • Tính m' = R(m) và s * = S A,k(m'). (R là hàm redundancy) • Chữ ký của A là s * Tiến trình xác nhận chữ ký: Thực thể B phảI làm nhƣ sau: • Nhận khoá công khai của A là VA • Tính m' = VA(s*) • Xác nhận m' MR (Nếu m' MR thì từ chối chữ ký) • Khôi phục m từ m' bằng cách tính R -1(m') SA,k S M R M M R s*=S A,k (m ' m' mm '' ) Hình 12: Sơ đồ chữ ký khôi phục thông điêp 3. Một số sơ đồ chữ ký cơ bản Sau đây chúng ta sẽ nghiên cứu các sơ đồ chữ ký cơ bản nhất và có ứng dụng rộng rãi cũng nhƣ đáng tin cậy nhất hiện nay . 3.1. Sơ đồ chữ ký RSA Chúng ta sẽ nghiên cứu đến sơ đồ chữ ký RSA và các sơ đồ tƣơng tự . Đặc điểm của các sơ đồ chữ ký này là mức độ tính toán phụ thuộc hoàn toàn vào độ lớn của giải thuật giải quyết các bài toán nhân số nguyên – bài toán luỹ thừa . Sơ đồ chữ ký bao gồm cả hai loại kèm thông điệp và khôi phục thông điệp . Sơ Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 42
  43. đồ chữ ký RSA đƣợc phát minh bởi 3 nhà nghiên cứu Rivest, Shamir và Adleman, đây là sơ đồ có ứng dụng thực tế rộng rãi nhất dựa trên công nghệ sử dụng khoá chung. Các phƣơng pháp tấn công RSA đầu tiên (multicative property) và các vấn đề khác liên quan tới chữ ký RSA đƣợc đƣa ra bởi Davia, Jonge và Chaum. a. Thuật toán sinh khoá: Thực thể A tạo khoá công khai RSA và khoá riêng tƣơng ứng theo phƣơng thức sau: • Sinh ra hai số nguyên tố lớn ngẫu nhiên p và q cùng kích thƣớc bit • Tính n = p.q và  = (p-1)(q-1) • Chọn một số tự nhiên ngẫu nhiên a thoả mãn điều kiện sau: 1< a < và USCLN (a, ) = 1 hay a Z*P . • Sử dụng giải thuật mở rộng Euclidean để tính toán số tự nhiên duy nhất b sao cho 1 < b <  và ab  1 (mod ) • Khoá công khai của A là K’ = (n, a) khoá riêng của A là K” = b b. Thuật toán sinh và xác định chữ ký Thực thể A ký trên thông điệp m . Thực thể B có thể xác định đƣợc chữ ký của A và khôi phục lại thông điệp từ chữ ký. Sinh chữ ký: Thực thể A làm theo các bƣớc sau: • Tính m' = H(m) , là một số nguyên trong khoảng  0,n-1  • Tính s = m'd mod n • Chữ ký của A cho m là s Xác nhận chữ ký: Thực thể B làm theo các bƣớc sau: • Nhận khoá công khai của A là (n, b) • Tính m' = sb mod n • Kiểm tra m' MR nếu không sẽ không chấp nhận chữ ký • Lấy lại thông điệp m từ m = H-1(m') c. Tóm tắt lược đồ ký theo RSA: Cho n = p.q với p và q là các số nguyên tố Cho P = A =Zn và định nghĩa p = (n,p,q,a,b) n = p.q, p và q nguyên tố, ab  1 mod  (n)  Các giá trị n, b là công khai. Định nghĩa a Sigk (x) = x mod n và b Verk(x,y) = true x  y (mod n) với x,y Zn Nếu độ dài thông diệp x lớnN, ta sử dụng hàm băm. Ví dụ: Ví dụ sau đây sử dụng sơ đồ ký RSA, với thông điệp lớn Sinh khoá: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 43
  44. Thực thể A chọn số nguyên tố p =7927 và q =6997. Tính n =pq =5546521 và  =7926.6996 =55450296. A chọn a =5 và giải ab =5.b 1 (mod 55450296) đƣợc b = 44360237. Sinh chữ ký: ’ Để ký thông điệp m =31229978, A tính m 1 =H(m) =31229978. ’b 4430237 Chữ ký s = m1 =mod n =31229978 mod 55465219 =30729435 Xác nhận chữ ký: ’ a 5 B tính m2 = s mod n = 30729435 mod 55465219 =31229978 ’ ’. B chấp nhận chữ ký vì m2 = m1 3.2. Sơ đồ chữ ký DSA (Digital Signature Standard) Trong phần này nội dung chính là nghiên cứu các sơ đồ chữ ký điện tử DSA và lớp các chữ ký tƣơng tự, đặc điểm của những giải thuật này là đều sử dụng chữ ký theo kiểu chọn lựa ngẫu nhiên. Tất cả các sơ đồ DSA kèm thông điệp đều có thể cải biến thành các sơ đồ ký khôi phục thông điệp .Đặc biệt, sẽ đi sâu vào chuẩn chữ ký điện tử DSS(Digital Signature Standard) do khả năng cài đặt thực tế của nó a. Giới thiệu Sơ đồ chữ ký DSS dựa trên giảI thuật ký điện tử DSA (Digital Signature Algorithm). Chữ ký dạng DSS là một dạng chữ ký kèm thông điệp, điều đó có nghĩa là chữ ký phải đƣợc gửi kèm với thông điệp mà bản thân chữ ký không chứa (hoặc không sinh ra) thông điệp, thông thƣờng nhƣng chữ ký dạng này đều đòi hỏi có một hàm băm trên thông điệp (do nội dung thông điệp có độ dài không xác định). Hàm băm này đƣợc sử dụng trong quá trình sinh chữ ký để xây dựng một dạng nén của dữ liệu (condensed version of data). Dữ liệu này gọi là đại diện văn bản (message digest). Phần đại diện văn bản này là đầu vào của giải thuật sinh chữ ký. Ngƣời xác nhận chữ ký cũng sử dụng hàm băm này để xây dựng phƣơng pháp xác nhận chữ ký. Đối với sơ đồ chữ ký DSS hàm băm là security Hash Algorithm (SHA) đƣợc miêu tả trong FIPS 186, hàm băm này tạo ra một giá trị số nguyên 160 bít đặc trƣng cho một thông điệp, điều này làm hạn chế một trong các giá trị tham số của DSS phảI là 160 bit. Ngoài ra, chuẩn này yêu cầu việc sinh chữ ký phải sử dụng một khóa riêng cho mỗi ngƣời ký, ngƣợc Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 44
  45. lại để xác nhận chữ ký, ngƣời xác nhận phải có một khóa công khai tƣơng ứng với khóa riêng của ngƣời gửi Hình 13: Chữ ký DSA b. Các giải thuật cơ bản của DSA Thuật toán sinh khóa Mỗi thực thể tạo một khóa công khai và một khóa mật tƣơng ứng theo cách sau: 1. Chọn một số nguyên tố q sao cho 2159 < q < 2160 2. Chọn một số nguyên tố p sao cho 2511+64t < p < 2512+64t ở đó t [0,8] 3. Chọn số nhƣ sau: • Chọn g là một số nguyên bất kỳ nhỏ hơn p, =g(p-1)/q mod p • khác 1 4. Chọn số nguyên a sao cho: 1 a q 1 5. Tính  a mod p 6. Khóa riêng của thực thể là a, khóa công khai là bộ (p,q,  ) Thuật toán sinh chữ ký Khi cần sinh chữ ký cho một thông điệp x thực thể phảI làm những việc nhƣ sau: 1. Chọn một số nguyên mật k, 0 < k <q-1 2. T ính  =(akmod p ) mod q. 3. Tính k -1 mod q. 4. Tính  =k-1 (h(x)+a ) mod q 5. Chữ ký của thực thể cho x là cặp ( , ) Thuật toán xác nhận chữ ký Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 45
  46. Khi cần xác nhận chữ kí cho một thông điệp m thực thể phải làm những việc nhƣ sau: 1. Dành lấy khoá công khai của thực thể kí (p, q, a, ò) 2. Nếu điều kiện: 0 < d,? < q không thoả mãn thì từ chối chữ kí 3. Tính w = d-1 mod q và h(x) 4. Tính e1 = w.h(x) mod q và e2 =?w mod q 5. Tính v = (ae1 .òe2 mod p) mod q 6. Nếu v = ? thì chấp nhận chữ kí ngoài ra thì từ chối. c. Tóm tắt lƣợc đồ chữ kí số DSS Giả sử p là số nguyên tố 512 bít sao cho bài toán logarit rời rạc trong Z là khó p giải. Cho p là số nguyên tố160 bít là ƣớc của (p-1). Gỉa thiết a? Z là căn bậc q của một modulo p p Cho p thuộc Zp và a = Zq ì Zp và định nghĩa: A = {(p, q , a, a, ò ): ò trùng a a (mod p)} Các số p, q , a, ò công khai, có a mật. Với K = (p, q , a, a, ò ) và với một số ngẫu nhiên (mật) k, 1 = k = q -1, ta định nghĩa: Qúa trình kí số sigk (x, k) = (?,dδ) trong đó: ? = (ak mod p) mod q và -1 d = (x + a ?)k mod q với x? Zp và?, d ? Zq Qúa trình xác minh sẽ hoàn thành sau các tính toán: -1 e1 = xd mod q -1 e2 =?d mod q e1 e2 ver(x, g, d) = true (a ò mod p) mod q =? Ví dụ: Gỉa sử q = 101, p = 78q + 1 = 7879 78 3 là phần tử nguyên thuỷ trong Z7879 nên ta có thể lấy: a = 3 mod 7879 = 170 Gỉa sử a = 75, khi đó ò = aa mod 7879 = 4576 Muốn kí bức điện x = 1234, ta chọn số ngãu nhiên k = 50 Vì thế có k -1 mod 101 = 99, khi đó có: ? = (17030 mod 7879) mod 101 = 2518 mod 101 = 94 Và d = (1234 + 75*94)*99 mod 101 = 96 Chữ kí (94, 97) trên bức điện 1234 đƣợc xác minh bằng các tính toán sau: d-1 = 97-1 mod 101 = 25 e1 = 1234*25 mod 101 = 45 e2 = 94*25 mod 101 = 27 Có (17045.456727 mod 7879) mod 101 = 2518 mod 101 = 94 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 46
  47. Vì thế chữ kí hợp lệ. d. Tính chất của chữ kí DSA Độ an toàn Độ an toàn của chữ kí phụ thuộc vào độ bí mật của khoá riêng. Ngƣời sử dụng phải đƣợc bảo vệ trƣớc về khoá riêng của mình. Nếu khoá riêng đảm bảo an toàn tuyệt đối thì chữ kí cũng có mức độ an toàn hầu nhƣ tuyệt đối. Mặt khác, với khoá riêng là công khai, chữ kí DSA là an toàn khi từ khoá công khai không thể tìm đƣợc khoá riêng. Thật vậy, ta có: Cho p là một số nguyên tố rất lớn, phƣơng trình toán học sau là không thể giải đƣợc: y = ax mod p (1) với y, a = g(p-1)/q và khác 1. Để xem xét điều này trƣớc hết ta nhận xét phƣơng trình (1) có nghiệm x duy nhất thuộc khoảng [1, q]. Thật vậy, giả sử có hai nghiệm x1 và x2 , từ (1) ta có: y = ax1 mod p và y = ax2 mod p Không mất tính tổng quát ta giả sử x1 < x2 từ đây ta suy ra: ax1 chia hết cho p (không thoả mãn do p nguyên tố) Tồn tại k nhỏ hơn p sao cho ak  1 (mod p). Với giá trị a có dạng a = g(p-1)/q thì điều này không thể xảy ra khi g < p. Trong nhiều trƣờng hợp, thông điệp có thể mã và giải mã chỉ một lần nên nó phù hợp cho việc dùng với hệ mật bất kì (an toàn tại thời điểm đƣợc mã). Song trên thực tế, nhiều khi một bức điện đƣợc làm một tài liệu đối chứng, chẳng hạn nhƣ bản hợp đồng hay một chúc thƣ và vì thế cần xác minh chữ kí sau nhiều năm kể từ khi bức điện đƣợc kí. Bởi vậy, điều quan trọng là có phƣơng án dự phòng liên quan đến sự an toàn của sơ đồ chữ kí khi đối mặt với hệ thống mã. Vì sơ đồ Elgamal không an toàn hơn bài toán logarithm rời rạc nên cần dùng modulo p lớn hơn chẳng hạn 512 bit trở lên. Tuy nhiên độ dài chữ kí theo sơ đồ Elgamal là gấp đôi số bit của p mà với nhiều ứng dụng dùng thẻ thông minh thì cần chữ kí ngắn hơn nên giải pháp sửa đổi là: một mặt dùng p với độ dài biểu diễn từ 512 đến 1024 bit, mặt khác trong chữ kí (?,dδ), các số?, d có độ dài biểu biễn ngắn, chẳng hạn là 160 bit – Khi đó độ dài chữ kí là 320 bit. Điều này thực hiện bằng cách dùng nhóm con Cyclic Zq* của Zp* thay cho chính bản thân Zp*, do đó mọi tính toán vẫn đƣợc thực hiện trong Zp* nhƣng dữ liệu và thành phần chữ kí lại thuộc Zq*. Tính hợp lệ: Tính hợp lệ của chữ kí DSA dựa trên hai định lí sau: Định lí 1: Cho p, q là hai số nguyên tố thoả mãn điều kiện q \ (p - 1). h là một số nguyên dƣơng bất kì thoả mãn h < p. Nếu: g  h(p - 1) / q mod p thì gq  1 mod p Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 47
  48. Thật vậy gq  (h(p - 1)/q)q  hp – 1 mod p (theo định lí Fecma nhỏt). Định lí 2: Với g, p, q xác định nhƣ trên ta luôn có: nếu m  n mod p thì gm  gn mod p. Thật vậy không mất tính tổng quát ta đặt m = n + kq Thì gm  gn + kq  (gn mod p).(gkq mod p)  gn mod p điều phải chứng minh. Nhƣợc điểm: Một ý kiến cho rằng, việc xử lí lựa chọn của NIST là không công khai. Tiêu chuẩn đã đƣợc cục an ninh quốc gia phát triển mà không có sự tham gia của khối công nghiệp Mỹ. Còn những chỉ trích về mặt kĩ thuật thì chủ yếu là về kích thƣớc modulo p cố định = 512 bít. Nhiều ngƣời đã muốn kích thƣớc này có thể thay đổi đƣợc nếu cần, có thể dùng kích cỡ lớn hơn. Đáp ứng những điều kiện này, NIST đã chọn tiêu chuẩn cho phép có nhiều kích cỡ modulo bất kì chia hết cho 64 trong phạm vi từ 512 đến 1024 bít. Một phàn nàn nữa về DSA là chữ kí đƣợc tạo ra nhanh hơn việc xác minh nó. Trong khi đó, nếu dùng RSA làm sơ đồ chữ kí với số mũ xác minh công khai nhỏ hơn (chẳng hạn = 3) thì có thể xác minh nhanh hơn nhiều so với việc lập chữ kí. Điều này dẫn đến hai vấn đề liên quan đến những ứnh dụng của sơ đồ chữ kí: Bức điện chỉ đƣợc kí một lần, xong nhiều khi lại phải xác minh chữ kí nhiều lần trong nhiều năm. Điều này tạo gợi ý nhu cầu có thuật toán xác minh nhanh hơn. Những kiểu máy tính nào có thể dùng để kí và xác minh? Nhiều ứng dụng, chẳng hạn các thẻ thông minh có khả năng xử lí hạn chế liên lạc với máy tính nhanh hơn. Vì thế có nhu cầu nhƣng thiết kế một sơ đồ để có thể thực hiện trên thẻ một số tính toán. Tuy nhiên có một số tình huống cần hệ thống minh tạo chữ kí, trong những tình huống khác lại cần thẻ thông minh xác minh chữ kí. Vì thế có thể đƣa ra giải pháp xác định ở đây. Sự đáp ứng của NIST đối với yêu cầu về số lần tạo xác minh chữ kí thực ra không có yêu cầu gì ngoài yêu cầu về tốc độ, miễn là cả hai thể thực hiện nhanh. 4. Các sơ đồ chữ kí số khả thi Trong các sơ đồ chữ kí điện tử ngƣời ta thƣờng sử dụng hai sơ đồ chữ kí là DSA và RSA bởi vì một số nguyên nhân sau: Cả hai sơ đồ đều đƣợc chính phủ Mỹ thông qua trong Chuẩn chữ kí số (DSS) . Cả hai giải thuật DSA và RSA đều đƣợc công bố trong Hồ sơ Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 48
  49. trong liên bang (FIPS) vào ngày 19/5/94 và đƣợc đƣa ra làm chuẩn chính thức của chữ kí điện tử vào 1/12/94 mặc dù nó đã đƣợc đề xuất từ 8/91. Các sơ đồ chữ kí này đều là cá sơ đồ chữ kí dựa trên các phƣơng pháp mã hoá khoá khoá công khai vadf đều có độ bảo mật rát cao. Các bộ số liệu để kiểm nghiệm sự đúng đắn trong việc cài đặt các chữ kí này đều đƣợc công khai. Nếu trong quá trình thử nghiệm các chữ kí này đều đảm bảo đúng với bộ số liệu thì chữ kí đƣợc coi là an toàn. Cả hai sơ đồ chữ kí đều có thể chuyển đổi từ các chữ kí kèm thông điệp thành chữ kí khôi phục thông điệp không mấy khó khăn với việc tích hợp thêm các hàm có độ dƣ R (Redundancy Function). Trong thực tế khi đƣa ra hệ thống CA server, phía đối tác quyết định lựa chọn sơ đồ chữ ki DSA là chữ kí chính thức cho toàn bộ các giao dịch. Thời gian xác nhận chữ kí của cả hai loại chữ kí này đều ngắn và chấp nhận đƣợc trong môi trƣờng mạng công cộng. 5. Các cách tấn công chữ kí điện tử Khi nói đến chữ kí điện tử chúng ta luôn đặt mục tiêu an toàn lên hàng đầu, một chữ kí điện tử chỉ thực sự đƣợc áp dụng trong thực tế nếu nhƣ nó đƣợc chứng minh là không hề giả mạo. Mục tiêu lớn nhất của những kẻ tấn công các sơ đồ chữ kí là giả mạo chữ, điều này có nghĩa là kẻ tấn công sinh ra đƣợc chữ kí của ngƣời kí lên thông điệp mà chữ kí này sẽ đƣợc chấp nhận bởi ngƣời xác nhận. Trong thực tế các hành vi tấn công chữ kí điện tử rất đa dạng, để dễ dàng phân tích một sơ đồ chữ kí là an toàn hay không ngƣời ta tiến hành kiểm nghiệm độ an toàn của chữ kí trƣớc các sự tấn công sau: Tolal break (tấn công toàn bộ): Một kẻ giả mạo không những tính đƣợc thông tin về khoá riêng (private key) mà còn có thể sử dụng một thuật toán sinh chữ kí tƣơng ứng tạo ra đƣợc chữ kí cho thông điệp. Selective forgert (giả mạo có lựa chọn) : Kẻ tấn công có khả năng tạo ra đựơc một tập hợp các chữ kí cho một lớp các thông điệp nhất định, các thông điệp này đƣợc kí mà không cần phải có khoá mật của ngƣời kí. Existential forgert (giả mạo với thông điệp biết trƣớc): Kẻ tấn công có khae năng giả mạo chữ kí cho một thopong điệp, kẻ tấn công không thể hoặc có ít nhất khả năng kiểm soát thông điệp đƣợc giả mạo này. Ngoài ra, hầu hết các chữ kí điện tử đều dựa vào cơ chế mã hoá khoá công khai, các chữ kí điện tử dựa trên cơ chế này có thể bị tấn công theo các phƣơng thức sau: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 49
  50. Key – only attacks (tấn công với khoá): Kẻ tấn công chỉ biết khoá chung của ngƣời kí. Message attacks (tấn công vào thông điệp): ở đay kẻ tấn công có khả năng kiểm tra các chữ kí khác hau có phù hợp với thông điệp có trƣớc hay không. Đây là kiểu tấn công rất thông dụng, trong thực tế nó thƣờng đƣợc chia làm ba lớp: o Known – message attack (tấn công với thông điệp đã biết): Kẻ tấn công có chữ kí cho một lớp các thông điệp. o Chosen – message attack (tấn công lựa chọn thông điệp): Kẻ tấn công dành đƣợc các chữ kí đúng cho một danh sách các sthông điệp trƣớc khi tiến hành hoath động phá huỷ chữ kí, cách tấn công này là non – adaptive (không mang tính phù hợp) bởi vì thông điệp đƣợc chọn trƣớc khi bất kì môth chữ kí nào đƣợc gửi đi. o Adaptive – chosen message attack (tấn công lựa chọn thông điệp chủ động): Kẻ tấn công đƣợc phép sử dụng ngƣời kí nhƣ là một bên đáng tin cậy, kẻ tấn công có thể yêu cầu chữ kí cho các thông điệp mà các thông điệp này phụ thuộc vào khoá công khai của ngƣời kí, nhƣ vậy kẻ tấn công có thể yêu cầu chữ kí của các thông điệp phụ thuộc vào chữ kí và thông điệp dành đƣợc trrƣớc đây và qua đó tính đƣợc chữ kí. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 50
  51. CHƢƠNG III b¶o mËt vµ an toµn th«ng tin trong tm®t i. vÊn ®Ò an toµn th«ng tin Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin việc ứng dụng công nghệ mạng máy tính trở nên vô cùng phổ cập và cần thiết. Công nghệ mạng máy tính đã mang lại lợi ích to lớn.Sự xuất hiện mạng Internet cho phép mọi ngƣời có thể truy cập, chia sẻ và khai thác thông tin một cách dễ dàng và hiệu quả. Sự phát triển mạnh mẽ của Internet xét về mặt bản chất chính là việc đáp ứng lại sự gia tăng không ngừng của nhu cầu giao dịch trực tuyến trên hệ thống mạng toàn cầu. Các giao dịch trực tuyến trên Internet phát triển từ những hình thức sơ khai nhƣ trao đổi thông tin ( email, message, v.v ), quảng bá ( web-publishing) đến những giao dịch phức tạp thể hiện qua các hệ thống chính phủ điện tử, thƣơng mại điện tử ngày càng phát triển mạnh mẽ trên khắp thế giới. Tuy nhiên lại nảy sinh các vấn đề an toàn thông tin, Internet có những kỹ thuật cho phép mọi ngƣời truy nhập, khai thác, chia sẻ thông tin. Nhƣng nó cũng là nguy cơ chính dẫn đến việc thông tin của bạn bị hƣ hỏng hoặc phá huỷ hoàn toàn. Sở dĩ có lý do đó là vì việc truyền thông tin qua mạng Internet hiện nay chủ yếu sử dụng giao thức TCP /IP. TCP/IP cho phép các thông tin đƣợc gửi từ một máy tính này tới một máy tính khác mà đi qua một loạt các máy tính trung gian hoặc mạng riêng biệt trƣớc khi nó có thể đi tới đƣợc đích. Chính vì điểm này, giao thức TCP /IP đã tạo cơ hội cho "bên thứ ba" có thể thực hiện các hành động gây mất mát an toàn thông tin trong giao dịch. Theo số liệu của CERT (Computer Emegency Response Team - "Đội cấp cứu máy tính"), số lƣợng các vụ tấn công trên internet đƣợc thông báo cho tổ chức này là ít hơn 200 vào năm 1989, khoảng 400 vào năm 1991, 1400 vào năm 1993, và 2241 vào năm 1994. Những vụ tấn công này nhằm vào tất cả các máy tính có mặt trên Internet, các máy tính của tất cả các công ty lớn nhƣ AT &T, IBM, các trƣờng đại học, các cơ quan nhà nƣớc, các tổ chức quân sự nhà băng Một số vụ tấn công có quy mô khổng lồ (có tới 100.000 máy tính bị tấn công). Hơn nữa, những con số này chỉ là phần nổi của tảng băng. Một phần rất lớn các vụ tấn công không đƣợc thông báo, vì nhiều lý do, trong đó có thể kể đến nỗi lo bị mất uy tín, hoặc đơn giản những ngƣời quản trị hệ thống không hề hay biết những cuộc tấn công nhằm vào hệ thống của họ. Không chỉ số lƣợng các cuộc tấn công tăng lên nhanh chóng, mà các phƣơng pháp tấn công cũng liên tục đƣợc hoàn thiện. Điều đó một phần do các Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 51
  52. nhân viên quản trị hệ thống đƣợc kết nối với Internet ngày càng đề cao cảnh giác. Cũng theo CERT, những cuộc tấn công thời kỳ 1988-1989 chủ yếu đoán tên ngƣời sử dụng – mật khẩu (UserID-password) hoặc sử dụng một số lỗi của các chƣơng trình và hệ điều hành (security hole) làm vô hiệu hóa hệ thống bảo vệ, tuy nhiên các cuộc tấn công vào thời gian gần đây bao gồm cả các thao tác nhƣ giả mạo địa chỉ IP, theo dõi thông tin truyền qua mạng, chiếm các phiên làm việc từ xa (telnet hoặc rlogin). Một số vấn đề an toàn đối với nhiều mạng hiện nay: Nghe trộm (Eavesdropping): Thông tin không hề bị thay đổi, nhƣng sự bí mật của nó thì không còn. Ví dụ, một ai đó có thể biết đƣợc số thẻ tín dụng, hay các thông tin cần bảo mật của bạn. Giả mạo (Tampering): Các thông tin trong khi truyền trên mạng bị thay đổi hay bị thay đổi trƣớc khi đến ngƣời nhận. Ví dụ, một ai đó có thể sửa đổi nội dung của một đơn đặt hàng hoặc thay đổi lý lịch của một cá nhân trƣớc khi các thông tin đó đi đến đích. Mạo danh (Impersonation): Một cá nhân có thể dựa vào thông tin của ngƣời khác để trao đổi với một đối tƣợng. Có hai hình thức mạo danh sau: o Bắt trƣớc (Spoofing): Một cá nhân có thể giả vờ nhƣ một ngƣời khác. Ví dụ, dùng địa chỉ mail của một ngƣời khác hoặc giả mạo một tên miền của một trang Wed. o Xuyên tạc (Misrepresentation): Một cá nhân hay một tổ chức có thể giả vờ nhƣ một đối tƣợng, hay đƣa ra những thông tin về mình mà không đúng nhƣ vậy. Ví dụ, có một trang chuyên về thiết bị nội thất mà có sử dụng thẻ tín dụng, nhƣng thực tế là một trang chuyên đánh cắp thẻ tín dụng. Chối cãi nguồn gốc: Một cá nhân có thể chối là đã không gửi tài liệu khi xảy ra tranh chấp. Ví dụ, khi gửi email thông thƣờng, ngƣời nhận sẽ không thể khẳng định ngƣời gửi là chính xác. Để vừa đảm bảo tính bảo mật của thông tin lại không làm giảm sự phát triển của việc trao đổi thông tin quảng bá trên toàn cầu thì chúng ta cần có các giải pháp phù hợp. Hiện tại có rất nhiều giải pháp cho vấn đề an toàn thông tin trên mạng nhƣ mã hoá thông tin, chữ ký điện tử (chứng chỉ khoá khoá công khai) Sau đây chúng ta lần lƣợt tìm hiểu các khái niệm căn bản về mã hoá thông tin và đi sâu vào viềc sử dụng chữ ký số cho việc xác thực trên mạng. Các bí mật bảo đảm an toàn cho giao dịch điện tử Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 52
  53. Thế nào là một hệ thống an toàn thông tin? An toàn trƣớc các cuộc tấn công là một vấn đề mà các hệ thống giao dịch trực tuyến cần giải quyết. Thông tin truyền trên mạng gặp rất nhiều rủi ro và nguy cơ bị mất thông tin là thƣờng xuyên. Chẳng hạn việc thanh toán bằng thẻ tín dụng thông qua dịch vụ wed sẽ gặp một số rủi ro sau: o Thông tin từ trình duyệt wed của khách hàng ở dạng thuần văn bản nên có thể bị lọt vào tay kẻ tấn công. o Trình duyệt wed của khách hàng không thể xác định đƣợc máy chủ mà mình trao đổi thông tin có phải là thật hay một wed giả mạo. o Không ai có thể đản bảo dữ liệu truyền đi có bị thay đổi hay không. Vì vậy các hệ thống cần phải có một cơ chế đảm bảo an toàn trong quá trình giao dịch điện tử. Một hệ thống thông tin trao đổi dữ liệu an toàn phải đáp ứng một số yêu cầu sau: o Hệ thống phải đảm bảo dữ liệu trong quá trìmh truyền đi là không bị đánh cắp. o Hệ thống phải có khả năng xác thực, tránh trƣờng hợp giả danh, giả mạo. Do vậy, cần tập trung vào việc bảo vệ các tài sản khi chúng đƣợc chuyển tiếp giữa máy khách và máy chủ từ xa. Việc cung cấp kênh thƣơng mại an toàn đồng nghĩa với việc đảm bảo tính toàn vẹn của thông báo và tính sẵn sàng của kênh. Thêm vào đó, một kế hoạch an toàn đầy đủ còn bao gồm cả tính xác thực. Các kỹ thuật đảm bảo cho an toàn giao dịch điện tử chính là sử dụng các hệ mật mã, các chứng chỉ số và sử dụng chữ ký số trong quá trìmh thực hiện các giao dịch. II. chøng chØ sè vµ c¬ chÕ m· ho¸ 1. Giới thiệu về chứng chỉ số Việc sử dụng mã hóa hay kí số chỉ giải quyết đuợc vấn đề bảo mật thông điệp và xác thực. Tuy nhiên không có thể đảm bảo rằng đối tác không thể bị giả mạo, trong nhiều trƣờng hợp cần thiết phải “chứng minh” bằng phƣơng tiện điện tử danh tính của ai đó. Chứng chỉ số là một tệp tin điện tử đƣợc sử dụng để nhận diện một cá nhân, một máy dịch vụ, một tổ chức, nó gắn định danh của đối tƣợng đó với một khóa công khai, giống nhƣ bằng lái xe, hộ chiếu, chứng minh thƣ. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 53