Bảo mật và an toàn thông tin trong thương mại điện tử
Trang 1ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học:
PGS.TS NGUYỄN GIA HIỂU
THÁI NGUYÊN – 2008
Trang 2Mục lục
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 TMĐT 6 1 Khỏi niệm về TMĐT 6
2 Lợi ớch của thương mại điện tử 6
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
khai, chữ ký số 14 I tổng quan về các hệ mật mã 14
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
3.1 Sơ đồ chữ ký RSA
3.2 Sơ đồ chữ ký DSA (Digital Signature Standard)
40 40 42 4 Cỏc sơ đồ chữ kớ số khả thi 46
Trang 3Nội dung Trang
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 website mua bán các linh kiện máy tính trên mạng internet 74 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 web site mua bán linh kiện máy tính77 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
Trang 4lê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ử
Trang 5I 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
Trang 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
Trang 7II, 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
Trang 8ch-ơ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:
Trang 92.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
Trang 102.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á
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
Trang 11dị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ủ
Trang 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
Trang 13phé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
Trang 14chuyể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
Trang 156 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ề
Trang 16nhữ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,
Trang 17và 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
Trang 18Có 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
Trang 19là 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,
Trang 20mộ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ộ
Trang 21Khuynh 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
Trang 22Ta 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
3 áp dụng phép hoán vị IP-1(R16L16) Chú ý thứ tự đã đƣợc đảo của R16 va L16
L i-1 Li-1
fi-1i-1
+
Ri Li-1
K i
Trang 23Tính E(A) j và viết kết quả thành một chuỗi 8 xâu 6 bit = B1B2B3B4B5B6B7B8Bướ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á
Trang 241 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
Trang 25quan đế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$
Trang 26Trong 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
Các thuật toán dựa trên Crypton (mã hóa), Anubis (mã
Trang 27hóa),GRAND CRU Chi tiết thuật toán
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 )
Trang 28Trong 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
Trang 294 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
Trang 30gồ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
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)
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
B¶n m·
Trang 31P =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
( 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
Trang 32Nó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 KBmộ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)
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
Chän khãa kB
B¶n m· c B¶n râ P KB
kB TÝnh N=pxq
Chän p vµ q
C=PKB (mod N) Chän khãa KB
TÝnh (N)
B¶n râ gèc P=ckB(mod N)
Trang 33tấ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
Trang 34chắ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
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 số được phân tích
Thời gian phân tích
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
Trang 35Mộ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ản tóm lược thông báo z = h(x)
Chữ ký y = sigk(z)
Trang 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
Compare K K
a, Using conventional encryption
Compare Kprivate Kpublic
Trang 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ý
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
Trang 38thuậ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í sigkS và là một thuật toán xác định Verk V Mỗi sigk:PA vàVerk : PA { 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)
Trang 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í
Trang 40Hình 10: Hình biểu diễn phân loại ở mức tổng quan về chữ kí điện tử
s
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í
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
ngẫu nhiên Khôi phục thông
chữ kí điện tử
ngẫu nhiên Kèm thông điệp
Xác định