Thỏa thuận hợp đồng là việc thống nhất giữa hai bên về: Tên và địa chỉ các bên Thông điệp nêu rõ sự đồng ý trên thỏa thuận Nội dung và phạm vi công việc thực hiện / hàng hóa đượ
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ THỊ THU
NGHIÊN CỨU MỘT SỐ GIAO THỨC BẢO VỆ THÔNG TIN TRONG THỎA THUẬN
HỢP ĐỒNG ĐIỆN TỬ
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05
LUẬN VĂN THẠC SĨ
Người hướng dẫn khoa học: PGS.TS Trịnh Nhật Tiến
HÀ NỘI - 2011
Trang 3MỤC LỤC
LỜI CAM ĐOAN 3
MỤC LỤC 5
DANH MỤC CÁC TỪ VIẾT TẮT 6
DANH MỤC BẢNG BIỂU, HÌNH VẼ 8
LỜI NÓI ĐẦU 10
Chương 1 NHU CẦU BẢO VỆ HỢP ĐỒNG TRONG GIAO DỊCHTRỰC TUYẾN 13
1.1 HỢP ĐỒNG TRONG GIAO DỊCH TRỰC TUYẾN 13
1.1.1 Hợp đồng điện tử là gì ? 13
1.1.2 Quy trình ký kết hợp đồng điện tử 13
1.1.3 Nguyên tắc pháp lý 14
1.1.4 Yêu cầu bảo mật 15
1.2 THỰC TRẠNG AN TOÀN THÔNG TIN TRONG CÁC HỢP ĐỒNG ĐIỆN TỬ 17
1.3 PHƯƠNG PHÁP BẢO VỆ THÔNG TIN TRONG HỢP ĐỒNG ĐIỆN TỬ 19
1.4 PHÂN LOẠI HỢP ĐỒNG ĐIỆN TỬ 20
1.4.1 Ký kết hợp đồng sử dụng email 20
1.4.2 Ký kết hợp đồng điện tử sử dụng bấm vào nút 'đồng ý' (chấp nhận) 20
1.4.3 Hình thành các hợp đồng sử dụng XML 21
1.4.4 Ký kết hợp đồng sử dụng hệ thống hợp tác dựa trên nền web 22
1.5 NGUYÊN TẮC PHÁP LÝ CHUNG VỀ VIỆC LƯU GIỮ TÀI LIỆU ĐIỆN TỬ 24
Chương 2 PHƯƠNG PHÁP BẢO VỆ THÔNG TIN TRONG HỢP ĐỒNGĐIỆN TỬ 25
2.1 TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP BẢO VỆ THÔNG TIN 25
2.2 MÃ HÓA 27
2.2.1 Mã hóa khóa đối xứng 27
2.2.2 Mã hóa khóa công khai 29
2.2.3 Một số hệ mã hóa tiêu biểu 30
2.3 CHỮ KÝ SỐ 38
2.4 HÀM BĂM 40
2.5. CÔNG CỤ XÁC THỰC THÔNG ĐIỆP MAC 45
Chương 3 MỘT SỐ GIAO THỨC ĐẢM BẢO AN TOÀN THÔNG TIN TRONG
HỢP ĐỒNG ĐIỆN TỬ 47
3.1 KÝ HỢP ĐỒNG VÀ CÁC GIAO THỨC SỬ DỤNG 47
Trang 43.1.1 Ký kết hợp đồng điện tử 47
3.1.2 Thách thức liên quan đến ký điện tử 48
3.1.3 Đặc tính của giao thức ký hợp đồng 49
3.1.4 Một số giao thức sử dụng trong ký hợp đồng điện tử 52
3.2 GIAO THỨC GIAO TIẾP AN TOÀN TRONG THỎA THUẬN HỢP ĐỒNG
ĐIỆN TỬ 61
3.2.1 Ứng dụng hàm băm 62
3.2.2 Giao thức đảm bảo an toàn hợp đồng trong đấu thầu điện tử 63
3.3 ĐỀ XUẤT CẢI TIẾN GIAO THỨC 73
Chương 4 CHƯƠNG TRÌNH THỬ NGHIỆM 76
4.1 GIỚI THIỆU CHƯƠNG TRÌNH 76
4.2 CẤU HÌNH HỆ THỐNG 76
4.3 HƯỚNG DẪN SỬ DỤNG 77
4.3.1 Chương trình ký 77
4.3.2 Chương trình mã hóa 79
KẾT LUẬN 88
TÀI LIỆU THAM KHẢO 89
DANH MỤC CÁC TỪ VIẾT TẮT
Trang 5Chữ viết tắt Tên đầy đủ
Bên thứ ba tin cậy
Giao thức an ninh tầng giao vận
Chuẩn mã hóa dữ liệu
Chuẩn mã hóa nâng cao
Thuật toán mã hóa khóa công khai
Thuật toán hàm băm an toàn
Mã xác thực thông điệp
Ngôn ngữ đánh dấu mở rộng
Trang 6DANH MỤC BẢNG BIỂU, HÌNH VẼ
Hình 2.1 Biểu diễn dạng ma trận trạng thái (Nb = 6) và mã khóa (Nk = 4) 34
Hình 2.2: Thao tác AddRoundKey tác động lên mỗi cột của trạng thái 35
Hình 2.3: Thao tác SubBytes tác động trên từng byte trạng thái 35
Hình 2.4: Thao tác MixColumns tác động lên mỗi cột trạng thái 35
Hình 2.5: Thao tác ShiftRows tác động trên từng dòng trạng thái 36
Hình 2.6: Nhiều thông điệp nguồn cho cùng một kết quả đích sau ký số 40
Hình 2.7a: Băm thông điệp 41
Hình 2.7b: Ký trên đại diện thông điệp 42
Hình 2.7c: Truyền dữ liệu thông tin cần gửi 42
Hình 2.7: Sơ đồ mô tả các công đoạn người gửi A thực hiện trước khi gửi thông điệp cho người B (sử dụng hàm băm rồi ký số) 42
Hình 2.8a: Xác minh chữ ký 43
Hình 2.8b: Tiến hành băm thông điệp x đi kèm 43
Hình 2.8c: Kiểm tra tính toàn vẹn của thông điệp 43
Hình2 8: Sơ đồ mô tả các công đoạn sau khi người B nhận được thông điệp 43
Hình 2.9 : Tạo mã xác thực 45
Hình 3.1: Ký hợp đồng dạng đơn giản có sự tham gia của TTP 53
Hình 3.2: Ký hợp đồng sử dụng hàm băm 53
Hình 3.3: Ký hợp đồng sử dụng giao thức Optimistic 54
Hình 3.4: Các bước thực hiện khi bên thứ 3 thực thi hợp đồng 55
Hình 3.5: Các bước thực hiện khi bên thứ 3 hủy bỏ hợp đồng 56
Hình 3.6: Hình thức tấn công 57
Hình 3.7: Cách thức giải quyết 57
Hình 3.8: Giao thức ký đảm bảo không lộ kết quả hợp đồng 58
Hình 3.9: Qui trình bên thứ 3 hủy bỏ quá trình ký hợp đồng 59
Hình 3.10: Qui trình bên thứ 3 thực thi ký hợp đồng 59
Hình 3.11: Kẻ giả mạo trong quá trình ký hợp đồng 60
Hình 3.12: Giải quyết việc giả mạo các bên tham gia 60
Hình 3.13: Sơ đồ giao thức 64
Hình 3.14: Giao thức con: giai đoạn đầu 65
Trang 7Hình 3.15: Giao thức con: giai đoạn đàm phán 66
Hình 3.16: Giao thức con: giai đoạn cuối 67
Hình 3.17: Giao thức con: Tranh chấp I 68
Hình 3.18: Giao thức con: tranh chấp II 70
Hình 3.19: Giao thức con: kết thúc (chấm dứt) 71
Hình 3.20: Giao thức con: TTP tham gia 72
Hình 3.21: Cải tiến giao thức con: giai đoạn đầu 73
Hình 3.22: Cải tiến giao thức con: giai đoạn đàm phán 74
Hình 3.22: Cải tiến giao thức con: giai đoạn cuối 75
Trang 8LỜI NÓI ĐẦU
1 Tính cấp thiết của đề tài
Từ trước đến nay, việc thỏa thuận và ký kết hợp đồng luôn là vấn đề được các bên tham gia quan tâm và hết sức chú trọng Bởi lẽ, hợp đồng là bằng chứng quan trọng nhất
để mang lại lợi ích cũng như làm bằng chứng cho cả hai bên nếu có tranh chấp xảy ra Hợp đồng được thực thi theo khuôn khổ pháp lý và được pháp luật công nhận Vì thế, việc bảo
vệ thông tin hợp đồng và làm sao để hợp đồng được ký kết một cách công bằng nhất là yêu cầu cấp thiết Với phương thức truyền thống, các bên tham gia sẽ gặp gỡ nhau, bàn bạc và đi đến kết luận, sau đó sẽ cùng ký vào hợp đồng Tuy nhiên, hiện nay, với sự phát triển nhanh chóng của mạng máy tính và công nghệ thông tin (CNTT) đã kéo theo nhiều hình thức mới ra đời để phù hợp với yêu cầu của con người cũng như giảm bớt thời gian thực hiện công việc mà vẫn mang lại hiệu quả cao Với xu thế phát triển đó, việc gặp gỡ trực tiếp để bàn bạc, thỏa thuận công việc giữa các bên sẽ ít đi, thay vào đó là sử dụng CNTT để hỗ trợ cho việc thỏa thuận hợp đồng Các bên tham gia sẽ sử dụng những phần mềm trên nền web để tìm hiểu, gửi thông tin cho nhau, bàn bạc, thỏa thuận và cùng đưa ra hợp đồng cuối cùng, và cùng nhau ký vào đó Những hợp đồng ký kết như thế này gọi là hợp đồng điện tử (HĐĐT) Tuy nhiên, với cách thức này, sẽ có những gian lận xảy ra bởi
lý do các bên không gặp trực tiếp nhau Tính công bằng, tính xác thực và tính toàn vẹn thông tin có thể bị xâm phạm
Hiện nay, để đẩy nhanh tiến trình gia nhập WTO của Việt Nam, năm 2005, hàng loạt các văn bản pháp luật đã được ban hành nhằm tạo cơ sở pháp lý phù hợp để Việt Nam thực hiện các cam kết quốc tế, trong đó có cam kết về thúc đẩy sự phát triển của thương mại điện tử Tiêu biểu trong số đó là Luật Giao dịch điện tử, Luật thương mại và Luật công nghệ thông tin… Các văn bản pháp luật này đã tạo môi trường pháp lý quan trọng cho việc ký kết và thực hiện hợp đồng điện tử Đặc biệt, Luật Giao dịch điện tử đã dành hẳn chương IV với 6 điều khoản (từ điều 33 đến điều 38) để hướng dẫn việc ký kết và thực hiện hợp đồng điện tử [3]
Mặc dù vậy, trong thực tế, việc ký kết và thực hiện hợp đồng điện tử ở Việt Nam phát triển chưa mạnh mẽ như mong muốn Sự phức tạp về mặt công nghệ, sự đầu tư thiếu đồng bộ về cơ sở hạ tầng, sự thiếu chuyên nghiệp của đội ngũ nguồn nhân lực… cũng đang là rào cản làm cho việc ký kết và thực hiện hợp đồng điện tử gặp nhiều khó khăn Các quy định trong các văn bản pháp luật về ký kết và thực hiện hợp đồng điện tử còn chung chung, quy trình ký kết và thực hiện hợp đồng điện tử còn chưa được chuẩn hóa và còn rất phức tạp; Nhiều cá nhân, tổ chức, thậm chí nhiều doanh nghiệp vẫn còn xa lạ với việc ký kết hợp đồng điện tử
Trang 9Để giải quyết được vấn đề trên thì phải thực hiện rất nhiều các công việc khác nhau
từ phía nhà nước, phía doanh nghiệp, phía xã hội Tuy nhiên luận văn sẽ chỉ tập trung nghiên cứu về các vấn đề mang tính kỹ thuật trong ký kết hợp đồng điện tử Đây là một vấn đề cần thiết và rất thiết thực trong bối cảnh hiện nay, vì thế tác giả đã lựa chọn đề tài
“Nghiên cứu một số giao thức bảo vệ thông tin trong thỏa thuận hợp đồng điện tử” làm
đề tài nghiên cứu của mình
Ernest Foo, Colin Boyd, Brian Fitzgerald, ISRC Queensland University of Technology,
“Secure Communication Protocol For Preserving E-Tendering Integrity”; John Mitchell, Stanford University, “Contract-Signing Protocols”; Juan A.Garay, Markus Jakobsson, Philip MacKenzie, Bell Laboratories, “Abus-Free Optimistic Contract Signing”
Nội dung của các công trình này đề cập đến một số khía cạnh của hợp đồng điện tử như: những vấn đề về kỹ thuật và pháp lý về hợp đồng điện tử, một số tình huống về hợp đồng điện tử… Đây là những tài liệu tham khảo rất bổ ích trong quá trình làm luận văn
Trang 104 Nhiệm vụ nghiên cứu
Để thực hiện mục đích nghiên cứu nêu trên, luận văn phải giải quyết các nhiệm vụ cụ thể sau đây:
- Nêu rõ khái niệm, đặc điểm, lợi ích cũng như các vấn đề gặp phải khi thực hiện HĐĐT
- Phân tích một số hình thức ký kết và thực hiện hợp đồng điện tử hiện nay
- Tìm hiểu những công cụ sử dụng trong bảo vệ thông tin hợp đồng
- Tìm hiểu, nghiên cứu một số giao thức đảm bảo an toàn thông tin được sử dụng trong thỏa thuận hợp đồng, đề xuất một số cải tiến
- Xây dựng chương trình thử nghiệm một số bước trong thực thi HĐĐT
5 Đối tượng và phạm vi nghiên cứu
5.1 Đối tượng nghiên cứu của đề tài là những vấn đề liên quan đến việc ký kết và
thực hiện hợp đồng điện tử, trong đó đặc biệt chú trọng đến những vấn đề về kỹ thuật và một số vấn đề pháp lý liên quan đến việc thực hiện HĐĐT
5.2 Phạm vi nghiên cứu
Về mặt nội dung, phạm vi nghiên cứu của luận án là các vấn đề về kỹ thuật, và một
số vấn đề về pháp lý liên quan đến việc ký kết và thực hiện HĐĐT Đó là các vấn đề về quy trình và thủ tục ký kết HĐĐT, về chữ ký điện tử; về chứng thực chữ ký điện tử và các biện pháp phòng tránh rủi ro về mặt kỹ thuật liên quan đến ký kết và thực hiện HĐĐT Đề tài cũng giới hạn phạm vi nghiên cứu về ký kết và thực hiện hợp đồng điện tử trong lĩnh vực thương mại
6 Phương pháp nghiên cứu
Tác giả sử dụng các phương pháp nghiên cứu tổng hợp như: phương pháp phân tích, phương pháp thống kê, phương pháp hệ thống hóa và phương pháp diễn giải
7 Kết cấu của luận văn
Luận văn gồm 4 chương (không bao gồm phần mở đầu, kết luận, các phụ lục, các bảng biểu ):
Chương 1 Nhu cầu bảo vệ hợp đồng trong giao dịch trực tuyến
Chương 2 Phương pháp bảo vệ thông tin trong hợp đồng điện tử
Chương 3 Một số giao thức đảm bảo an toàn thông tin trong hợp đồng điện tử
Chương 4 Thử nghiệm chương trình
Trang 11Chương 1 NHU CẦU BẢO VỆ HỢP ĐỒNG TRONG GIAO DỊCH
TRỰC TUYẾN
1.1 HỢP ĐỒNG TRONG GIAO DỊCH TRỰC TUYẾN
Hiện nay, giao dịch trực tuyến đang ngày một mở rộng và có thể sử dụng vào mọi thời điểm, mọi địa điểm khác nhau Các giao dịch như: mua bán, hành chính, đào tạo, giáo dục, trong nghiên cứu đặc biệt là các giao dịch trong thương mại điện tử - đều liên quan đến hợp đồng Vấn đề bảo vệ thông tin trong hợp đồng là yêu cầu cấp thiết đặt ra lúc này Thỏa thuận hợp đồng là việc thống nhất giữa hai bên về:
Tên và địa chỉ các bên
Thông điệp nêu rõ sự đồng ý trên thỏa thuận
Nội dung và phạm vi công việc thực hiện / hàng hóa được mua bán
Giá cả và số lượng hàng hóa
Thời điểm và phương thức giao hàng
Phương thức giải quyết tranh chấp, luật áp dụng và tòa thụ lý nếu có tranh tụng
Bảo mật thông tin
Các điều khoản chung và thời hạn hợp đồng
Vậy, hợp đồng điện tử khác biệt gì so với hợp đồng truyền thống ?
1.1.1 Hợp đồng điện tử là gì ?
Hợp đồng: là sự trao đổi mang tính pháp lý có sự ràng buộc bởi lời hứa hoặc thỏa thuận
giữa các bên tham gia và được pháp luật công nhận
Hợp đồng điện tử (Hợp đồng trực tuyến): là một thỏa thuận hợp đồng, thể hiện bằng các
thông tin số và được ký bằng chữ ký số của các bên tham gia
Ký kết hợp đồng điện tử: là quá trình định dạng và đàm phán hợp đồng điện tử, và cũng
có thể giám sát việc thực hiện hợp đồng
Đàm phán hợp đồng điện tử: là việc đàm phán trên mạng các vấn đề trong việc giải quyết
tranh chấp, đồng ý các hành động, thực hiện mặc cả để đem lại lợi ích cho cá nhân hoặc tập thể, hoặc cố gắng để xây dựng các kết quả phục vụ cho lợi ích chung của tất cả các bên tham gia
Trang 12• Một khi hợp đồng đã được hình thành, các bên sẽ quản lý hợp đồng thông qua các phương tiện điện tử Ví dụ, các bên có thể sử dụng một hệ thống cộng tác trực tuyến để giao tiếp với nhau, cung cấp các thông báo hợp đồng, đồng ý sửa đổi hợp đồng, thay đổi
kế hoạch dự án và phê duyệt dự án;
• Sau khi hoàn thành hợp đồng, hồ sơ dự án có liên quan và thông tin liên lạc được lưu trữ bằng cách sử dụng phương tiện lưu trữ điện tử (trái ngược với hợp đồng truyền thống là dựa trên phương pháp lưu trữ hồ sơ)
Mỗi giai đoạn của quá trình ký kết hợp đồng điện tử (như đã nêu ở trên) làm phát sinh một số vấn đề về pháp lý và rủi ro an ninh
1.1.3 Nguyên tắc pháp lý
Trên một mức độ cơ bản, hợp đồng là một thỏa thuận giữa các bên và được pháp luật thực thi Hợp đồng điện tử chỉ đơn giản được mô tả như một hợp đồng đã được hình thành thông qua việc sử dụng các thông tin điện tử Theo luật chung, năm yếu tố cơ bản sau đây phải có mặt trước khi pháp luật thực thi hợp đồng (Willmott, Christensen & Butler 2005):
Những nguyên tắc cơ bản của pháp luật đối với hợp đồng đã được phát triển trong những năm qua dưới các quyết định của Toà án Các xu hướng tư pháp hiện nay cho thấy rằng những nguyên tắc này sẽ áp dụng cho tất cả các hợp đồng bất kể cho dù nó được được tạo ra bằng điện tử, bằng miệng hoặc thông qua các thông tin liên lạc trên giấy Vậy với nhiều vấn đề phát sinh liên quan đến những nguyên tắc hợp đồng truyền thống sẽ được
áp dụng như thế nào với các hình thức hợp đồng điện tử của công nghệ hiện nay
Hiện nay, ở Việt Nam, luật giao dịch thương mại điện tử (TMĐT) đã ra đời với mục đích tạo nên một hành lang pháp lý cho các giao dịch điện tử và để có thể tiếp cận với những công nghệ mới Mục đích chung của bộ luật này là để cung cấp một khuôn khổ pháp lý như sau:
Trang 13a/ Nhận ra tầm quan trọng của nền kinh tế thông tin với tương lai kinh tế và sự thịnh vượng xã hội;
b/ Tạo điều kiện cho việc sử dụng giao dịch điện tử;
c/ Thúc đẩy sự tự tin kinh doanh và cộng đồng trong việc sử dụng các giao dịch điện tử; d/ Cho phép doanh nghiệp, cộng đồng có thể sử dụng thông tin điện tử để giao dịch với chính phủ
Để có hiệu lực cho những mục tiêu này, cần dựa trên hai nguyên tắc cơ bản: chức năng tương đương (có nghĩa là đối xử bình đẳng cho cả hai hình thức giao dịch trên giấy
và trên giao dịch điện tử) và trung lập công nghệ (có nghĩa là pháp luật sẽ không phân biệt
đối xử giữa các loại hình khác nhau của công nghệ)
Theo đó, khi xem xét áp dụng các hợp đồng điện tử, phải cho phép các vấn đề sau đây được đáp ứng:
• Yêu cầu cung cấp thông tin bằng văn bản;
• Cho phép cung cấp thông tin bằng văn bản;
• Yêu cầu cho chữ ký;
• Yêu cầu tạo ra tài liệu;
• Cho phép tạo ra tài liệu ;
• Yêu cầu ghi lại thông tin bằng văn bản;
• Yêu cầu giữ tài liệu bằng văn bản hoặc thông tin liên lạc điện tử
Tuy nhiên, sự đan xen giữa đạo luật trong pháp luật truyền thống và những đạo luật mới trong giao dịch điện tử này đã phát sinh những rủi ro về mặt pháp lý và nhiều điểm mất an toàn
1.1.4 Yêu cầu bảo mật
Trong khi các yêu cầu bảo vệ thông tin của thương mại điện tử và kinh doanh điện
tử nói chung đã được đưa ra (Knorr năm 2001, Rohrig 2004), thì yêu cầu an ninh trong hệ thống hợp đồng điện tử lại chưa được kiểm tra chặt chẽ Một hệ thống ký kết hợp đồng điện tử phải thoả mãn các mục tiêu an ninh sau:
• Độ tin cậy: Đảm bảo việc bảo vệ hồ sơ điện tử trong ký kết hợp đồng, từ việc tránh tiết
lộ trái phép hoặc sử dụng thông tin trái phép Danh tính của các bên được ủy quyền sẽ được xác định bởi thỏa thuận giữa các bên ký kết
• Tính toàn vẹn: Tính toàn vẹn của hồ sơ điện tử đảm bảo rằng hợp đồng sẽ không bị sao
chép, sửa đổi hoặc xóa bỏ thông tin
Trang 14• Tính xác thực: Xác thực bảo đảm rằng các bên được phép mới có thể sử dụng hoặc truy
cập vào hệ thống ký kết hợp đồng điện tử Các bên ký kết hợp đồng chứng thực bản thân thông qua hệ thống ký hợp đồng và các thông tin của họ cần được ghi lại và duy trì
• Chống chối cãi: Trong trường hợp sử dụng các giao thức chống chối cãi, các bên không
thể phủ nhận được các hành động và thời gian thực hiện các hành động mà họ tham gia Ví
dụ, một bên không thể phủ nhận có ký kết hợp đồng, gửi hoặc nhận được một tin nhắn hoặc cập nhật một bản ghi điện tử
• Tính sẵn sàng: Sẵn sàng đảm bảo rằng hệ thống ký kết hợp đồng và hồ sơ điện tử có
liên quan đến hợp đồng luôn trong trạng thái sẵn sàng để các bên có thẩm quyền có thể sử dụng khi có yêu cầu
Trang 151.2 THỰC TRẠNG AN TOÀN THÔNG TIN TRONG CÁC HỢP ĐỒNG ĐIỆN TỬ
Các rủi ro về mặt pháp lý và an ninh liên quan đến hợp đồng điện tử có thể xảy ra như sau:
• Thời gian hợp đồng điện tử được hình thành có thể không chính xác
• Địa điểm hợp đồng điện tử được hình thành có thể không xác định
• Cơ quan của cá nhân tham gia hợp đồng có thể không có thật
• Thông tin liên lạc điện tử có thể không đáp ứng các yêu cầu về luật định đối với một số hợp đồng bằng văn bản
• Thông tin liên lạc điện tử có thể không đáp ứng được các yêu cầu về luật định đối với một số hợp đồng được ký kết
• Tùy thuộc vào các điều khoản của hợp đồng, có thể không chắc chắn rằng các thông báo điện tử đưa ra là hợp lệ
• Khi hệ thống hợp tác bị gián đoạn có thể gây ra những can thiệp trái phép với các dự án
• Công nghệ không tương thích có thể được sử dụng bởi các bên ký kết hợp đồng khác nhau
• Tranh chấp có thể phát sinh giữa các nhà cung cấp hệ thống hợp tác trực tuyến và các bên ký kết hợp đồng, liên quan đến việc sử dụng hệ thống
• Tranh chấp có thể phát sinh giữa các bên ký kết hợp đồng liên quan đến việc sử dụng hệ thống
• Tranh chấp có thể phát sinh liên quan đến quyền sở hữu trí tuệ, liên quan với dự án
• Bí mật của hồ sơ điện tử có thể bị tổn hại trong quá trình trao đổi hoặc lưu giữ thông tin
• Hồ sơ điện tử được tạo ra và duy trì bởi một hệ thống có thể không được chấp nhận tại tòa án làm bằng chứng trong trường hợp tranh chấp
• Hồ sơ điện tử được tạo ra và duy trì bởi một hệ thống có thể không được coi trọng bằng chứng từ tương tự như hồ sơ giấy
• Có thể có khó khăn trong việc chứng minh thời gian, mà tại đó một bản ghi điện tử đã được truyền đi
• Danh tính của các bên ký kết hợp đồng có thể không được xác thực
• Quá trình tiết lộ các tài liệu có liên quan trong trường hợp tranh chấp có thể không quản
lý được
• Các bên có thể có những hành vi vi phạm nhiệm vụ của họ trong việc bảo vệ chứng cứ những hồ sơ điện tử không được bảo quản
Trang 16• Các bên có thể vi phạm các nghĩa vụ theo luật định của họ để duy trì hồ sơ nếu hồ sơ điện tử không được lưu trữ một cách thích hợp
• Trường hợp nhà có sự tham gia của nhà cung cấp dịch vụ, các bên ký kết hợp đồng có thể sẽ không được truy cập vào hồ sơ điện tử sau khi hoàn thàn dự án
Luận văn sẽ thảo luận về những rủi ro trên và sẽ trình bày một số khuyến nghị để loại bỏ hoặc giảm thiểu các nguy cơ có liên quan Một số giao thức về quá trình ký kết hợp đồng điện tử để giải quyết các nguy cơ bảo mật đã được xác định, cũng sẽ được trình bày trong chương 3 của luận văn Giao thức này kết hợp an ninh và chức năng sẽ giảm thiểu tác động của các rủi ro an ninh từ khi hình thành, quá trình quản lý và lưu trữ lại các hợp đồng hình thành trong môi trường điện tử
Trang 171.3 PHƯƠNG PHÁP BẢO VỆ THÔNG TIN TRONG HỢP ĐỒNG ĐIỆN TỬ
Dưới đây sẽ liệt kê một số cơ chế mã hóa hoặc công cụ có thể được sử dụng để đạt được các mục tiêu an ninh của một hệ thống hợp đồng điện tử Mô tả chi tiết hơn về những
cơ chế này sẽ được trình bày trong các phần sau của luận văn:
• Giao thức bảo mật Internet như Secure Socket Layer (SSL) hoặc Transport Layer
Security (TLS) đảm bảo tính bảo mật và tính toàn vẹn của thông điệp trao đổi bằng cách
sử dụng một hệ thống ký kết hợp đồng điện tử
• Sử dụng chữ ký số cho một hồ sơ điện tử có thể đảm bảo tính toàn vẹn, tính xác thực và
tính chống chối cãi trên thông tin của bản ghi Chữ ký số dựa trên hàm băm và mật mã khóa công khai
• Sử dụng phương pháp mã hóa giúp bảo vệ dữ liệu hợp đồng
• Sử dụng nhãn thời gian trên một hồ sơ điện tử đảm bảo sự tồn tại của bản ghi
điện tử tại một thời điểm cụ thể Nhãn thời gian được tạo ra dựa trên hàm băm và hệ mã hóa khóa công khai
• Đăng nhập và kiểm tra các hồ sơ điện tử được thực hiện bằng cách sử dụng một hệ
thống ký kết hợp đồng điện tử cung cấp các thông số về sự tồn tại của bản ghi tại một thời gian và thông tin riêng của người dùng đã truy cập hoặc thay đổi các bản ghi vào thời điểm đó Chữ ký số và nhãn thời gian là những phương pháp đáng tin cậy hơn cả trong các phương pháp thiết lập những vấn đề này
• Mục tiêu sẵn sàng không được đáp ứng bởi mật mã
Trang 181.4 PHÂN LOẠI HỢP ĐỒNG ĐIỆN TỬ
Có nhiều hệ thống khác nhau có thể được sử dụng để tiến hành ký kết hợp đồng điện tử Các loại hệ thống được sử dụng để thực hiện một quá trình ký kết hợp đồng phụ thuộc vào các yếu tố như nhu cầu kinh doanh, phạm vi hoạt động, doanh thu hàng năm của tổ chức và khung thời gian dự án phải hoàn thành Trong phần này, một số hệ thống
ký hợp đồng điện tử khác nhau sẽ được thảo luận
1.4.1 Ký kết hợp đồng sử dụng email
Hợp đồng điện tử có thể được hình thành bởi việc trao đổi tài liệu văn bản bằng cách sử dụng thông tin liên lạc điện tử như thư điện tử Trừ khi được sử dụng chữ ký số, hợp đồng điện tử được hình thành theo cách này sẽ dẫn đến thách thức liên quan đến việc xác thực các bên tham gia và tính toàn vẹn của tài liệu
Việc sử dụng các thông tin liên lạc qua Email cũng dẫn đến những khó khăn trong quản lý hợp đồng và lưu trữ hồ sơ điện tử liên quan đến hợp đồng:
• Email thông tin liên lạc không cung cấp một hệ thống toàn diện với các công cụ hỗ trợ ghi lại các thông tin truy nhập và kiểm soát hồ sơ điện tử và truyền thông Điều này có thể làm giảm bớt giá trị chứng cứ của hồ sơ điện tử và dẫn đến sự kém hiệu quả trong quá trình công khai trong các trường hợp xảy ra tranh chấp
• Thông tin liên lạc qua Email vốn đã không an toàn (Kangas 2004) Một email có thể được đọc và thay đổi trong khi truyền tin ngay cả trước khi nó đến đích Điều này càng dễ xảy ra khi các nhà cung cấp dịch vụ email không hỗ trợ các giao thức Internet an toàn chẳng hạn như giao thức SSL hoặc TLS
• Thông tin liên lạc Email không tạo điều kiện thuận lợi cho sự hợp tác về nhiệm vụ liên quan đến việc quản lý dự án chung
1.4.2 Ký kết hợp đồng điện tử sử dụng bấm vào nút 'đồng ý' (chấp nhận)
Các bên có thể tham gia vào một hợp đồng điện tử bằng cách sử dụng nút „click‟ để đồng ý trên một trang web Các điều khoản và điều kiện của hợp đồng được hiển thị trên trang web điều hành bởi một trong các bên ký kết hợp đồng Bên kia đồng ý hợp đồng bằng cách hoàn thành một Form, sau đó nhấn vào "Tôi đồng ý các điều khoản có liên quan
và điều kiện đưa ra” Khi được nhấn vào nút "Tôi đồng ý", các thông tin của bên tham gia được ghi lại trên máy chủ web duy trì bởi bên thứ nhất
Đây là loại hệ thống hợp đồng thích hợp nhất để sử dụng trong kinh doanh cho người tiêu dùng giao dịch Tuy nhiên nó sẽ không thích hợp với các hợp đồng cần một mức độ xác thực và toàn vẹn cao Ngoài ra, bấm vào 'đồng ý' chỉ là một phương pháp hình thành hợp đồng và không tạo điều kiện thuận lợi cho việc quản lý điện tử của một dự án
Trang 191.4.3 Hình thành các hợp đồng sử dụng XML
Các tài liệu, văn bản hình thành cơ sở của một hợp đồng điện tử, có thể được viết bằng XML - ngôn ngữ đánh dấu cho các tài liệu có chứa thông tin có cấu trúc (Walsh 1998) XML là viết tắt của ngôn ngữ đánh dấu mở rộng Cấu trúc thông tin chứa cả nội dung và một số thẻ có vai trò đóng/mở nội dung
Các phát triển của lược đồ XML và công nghệ chữ ký số, cùng với việc XML đã cụ thể hóa từ vựng cho các ngành công nghiệp khác nhau đã góp phần vào sự phát triển của hợp đồng điện tử XML có thể được sử dụng để đại diện cho các hợp đồng trong các định dạng bán cấu trúc
Tập đoàn World Wide Web (W3C) đã phát triển XML tuân thủ hướng dẫn cho chữ
ký số Sử dụng XML, nội dung của hợp đồng có thể được thể hiện trong một bán cấu trúc định dạng bằng cách phân loại các hợp đồng thành bốn nhóm sau:
Ai tham gia (WHO)
Thông tin về các bên liên quan trong hợp đồng có thể được thể hiện với XML Vai trò như “chủ dự án” và “người chiến thắng hợp đồng” có thể được giao cho mỗi bên
Sản phẩm là gì (WHAT)
Các sản phẩm hoặc dịch vụ, đó là đối tượng của hợp đồng, có thể được mô tả trong XML bằng cách sử dụng từ vựng XML cụ thể cho từng loại Các nghĩa vụ mà các bên cần thực hiện có thể được mô tả trong một hình thức cấu trúc
Thực hiện như thế nào (HOW)
Thực hiện hợp đồng và quá trình kinh doanh có thể được mô tả bằng cách sử dụng XML Quy trình và mối quan hệ giữa các nghĩa vụ được xác định Ví dụ, việc qui định thời điểm cung cấp sản phẩm Luật của việc không thực hiện qui định như điều khoản sẽ được áp dụng nếu một bên không thực hiện đầy đủ nghĩa vụ của mình
Điều khoản và điều kiện pháp lý (LEGAL)
Hợp đồng có thể được thể hiện trong một định dạng bán cấu trúc Lợi thế của việc
sử dụng định dạng XML cho các hợp đồng là hợp đồng có thể được máy tính xử lý và hợp đồng có thể được nhập vào công cụ quản lý và đàm phán
Một thuận lợi khác của việc sử dụng định dạng XML cho ký kết hợp đồng điện tử
là đặc điểm kỹ thuật của hợp đồng có thể đạt được bằng cách sử dụng ngành cụ thể có trong bộ từ vựng XML Ví dụ, XML có thể được sử dụng cho một mô tả sản phẩm Hợp đồng mẫu có thể được thiết kế bằng cách sử dụng các nguyên tắc của lược đồ XML
Cấu trúc tài liệu của hợp đồng và các điều khoản, điều kiện được xác định trước có thể được xác định bằng cách sử dụng hợp đồng mẫu Tài liệu XML có thể được truyền đạt bởi một bên khác sử dụng email hoặc một phần của hệ thống cộng tác trực tuyến
Trang 201.4.4 Ký kết hợp đồng sử dụng hệ thống hợp tác dựa trên nền web
Những hạn chế của việc sử dụng email và nút 'đồng ý' trong việc ký kết hợp đồng điện tử cho thấy rằng một hệ thống ký kết hợp đồng tập trung thông qua các hoạt động khác nhau như đấu thầu, hình thành hợp đồng, quản lý dự án và có thể thực hiện lưu trữ tài liệu điện tử nên được được sử dụng trong các hợp đồng yêu cầu cao về tính bảo mật, xác thực và toàn vẹn dữ liệu Với những hợp đồng cho các dự án lớn sẽ tạo ra một số lượng lớn các bản ghi, từ kế hoạch dự án và các cuộc thảo luận trên trang web chính thức, các văn bản cuối cùng chẳng hạn như hồ sơ, kế hoạch dự án Để tạo điều kiện thuận lợi cho việc quản lý hiệu quả các hồ sơ, dựa trên các sản phẩm hợp tác và các công cụ thường được sử dụng để quản lý các dự án Internet là môi trường liên lạc thông tin cho phép tạo
ra các ứng dụng mạng tiên tiến
Hệ thống hợp tác kết hợp phần mềm và phần cứng được sử dụng để giúp mọi người
cộng tác với nhau Wilkinson (2005) định nghĩa “sự hợp tác công nghệ” như sau: Một sự
kết hợp của công nghệ với nhau tạo ra một giao diện chung duy nhất giữa hai hoặc nhiều
cá nhân quan tâm, cho phép họ tham gia trong một quá trình sáng tạo, trong đó họ chia sẻ
kỹ năng tập thể của họ, chuyên môn, sự hiểu biết và kiến thức (thông tin) trong một bầu không khí cởi mở, trung thực, tin tưởng và tôn trọng lẫn nhau, và qua đó cùng nhau cung cấp những giải pháp tốt nhất đáp ứng mục tiêu chung của họ
Các công cụ hợp tác bao gồm cổng thông tin doanh nghiệp và các ứng dụng mạng nội bộ, chung không gian làm việc hoặc nhóm dự án nghiên cứu ứng dụng, web và hội nghị truyền hình trực tuyến đáp ứng các ứng dụng, mạng ngang hàng (peer-to-peer) chia
sẻ tập tin và thời gian thực gửi/nhận tin nhắn tức thời
Một hệ thống hợp tác là một hệ thống ký kết hợp đồng sử dụng các công cụ hợp tác
và thường được sử dụng như là một cơ sở dữ liệu trực tuyến trung tâm, có thể được truy cập bởi tất cả các thành viên tham gia trong dự án Như vậy, tất cả các hồ sơ điện tử được lưu trữ trong cùng một nơi, người sử dụng có thể xem các tài liệu gần đây nhất khi chúng được cập nhật Những tài liệu này được chia sẻ qua Internet, việc cung cấp tài liệu giấy là không còn cần thiết
Các loại hệ thống được sử dụng có thể chia làm ba loại sau:
• Hệ thống cộng tác dựa trên sự tiết kiệm chi phí
Được thiết kế bởi các nhà cung cấp dịch vụ ứng dụng, khách hàng sử dụng sẽ trả một khoản phí cho nhà cung cấp trong một khoảng thời gian Đổi lại khách hàng có thể quản lý nhiều dự án trong cùng một thuê bao với khoảng thời gian đã trả phí Tuy nhiên hạn chế của hệ thống này là vấn đề an ninh và chức năng bị hạn chế bởi nhà cung cấp
Trang 21• Xây dựng riêng cho mình một giải pháp
Một doanh nghiệp có qui mô lớn có đủ khả năng đầu tư chi phí thì có thể phát triển riêng một trang web dựa trên hệ thống hợp tác, để đáp ứng mục tiêu kinh doanh riêng của mình và duy trình phong cách kinh doanh độc đáo đó Tuy nhiên, nhược điểm của phương pháp này là chỉ phù hợp với công ty có tiềm năng tài chính cao và sẵn sàng đầu tư cho việc phát triển vòng đời của hệ thống Các chức năng của hệ thống có thể thay đổi liên tục tùy thuộc vào yêu cầu của mỗi dự án khác nhau
• Phần mềm trên nền web
Các công ty sẽ phải bỏ chi phí để có thể mua và sử dụng phần mềm vĩnh viễn, vì thế chi phí bỏ ra ban đầu sẽ vẫn cao và các giải pháp mà họ yêu cầu có thể nâng cấp hoặc thay đổi liên tục
Thiếu sót chung của các hệ thống cộng tác trực tuyến hiện có
Trong khi hệ thống cộng tác trực tuyến có tiềm năng để đáp ứng các yêu cầu an ninh mong muốn đối với hợp đồng điện tử thì một số hệ thống hiện có lại đang bị một loạt các khiếm khuyết an ninh Một trong số các vấn đề bảo đảm an toàn và an ninh thông tin
có thể được xác định bao gồm:
• Một số hệ thống không sử dụng giao thức Internet an toàn như SSL hoặc TLS khi phát hành hồ sơ điện tử và các tài liệu trên Internet Theo đó, tính bảo mật và tính toàn vẹn của những hồ sơ này và các văn bản có thể không được đảm bảo
• Thủ tục lưu trữ thông qua một số hệ thống là không rõ ràng và hệ thống các thủ tục sử dụng nhãn thời gian sau khi dự án hoàn thành, sẽ đảm bảo tính toàn vẹn của tài liệu dự án
và lưu trữ hồ sơ
• Từ quan điểm thực tế, người sử dụng hệ thống thường gửi hồ sơ điện tử sử dụng các hệ thống bên ngoài của hệ thống cộng tác trực tuyến Nếu điều này xảy ra, an ninh và tính toàn vẹn của các hồ sơ này không thể được đảm bảo
• Các hệ thống xác thực được sử dụng bởi một số hệ thống cộng tác trực tuyến không cung cấp mức độ đủ chứng thực hợp đồng điện tử Nói chung, hệ thống xác thực được sử dụng bởi hầu hết các hệ thống dựa trên mật khẩu và không kết hợp các tính năng bảo mật
bổ sung như lịch sử và hạn định của cơ chế mật khẩu Hệ thống kiểm soát truy cập dựa trên địa điểm (trong đó sẽ cung cấp một mức độ xác thực người dùng cao hơn) thường không được sử dụng
Trang 221.5 NGUYÊN TẮC PHÁP LÝ CHUNG VỀ VIỆC LƯU GIỮ TÀI LIỆU ĐIỆN TỬ
Trong quá trình quản lý của mỗi dự án khác nhau, tài liệu liên quan đến dự án sẽ được tạo ra Có một số quy định pháp luật phát sinh liên quan đến nghĩa vụ của các bên để giữ lại những tài liệu liên quan đến hợp đồng
1/ Các bên có nghĩa vụ phải giữ lại hồ sơ theo quy định tùy vào luật pháp của mỗi nước 2/ Trong trường hợp có tranh chấp giữa các bên, các bên sẽ có nghĩa vụ tiết lộ thêm các
tài liệu khác có hoặc đã có trong sở hữu của họ có liên quan đến tranh chấp Việc tiết lộ nội dung đến mức độ nào tùy thuộc vào yêu cầu của từng trường hợp
3/ Nếu các bên muốn dựa vào tài liệu làm bằng chứng tại tòa án, họ cần phải đáp ứng các
yêu cầu và chứng minh được những tài liệu này được luật pháp công nhận và xác thực
Trang 23Chương 2 PHƯƠNG PHÁP BẢO VỆ THÔNG TIN TRONG
HỢP ĐỒNG ĐIỆN TỬ
2.1 TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP BẢO VỆ THÔNG TIN
Trong trường hợp các bên thỏa thuận hợp đồng trong giao dịch thương mại điện tử không có mặt trên diễn đàn (offline), thì các bên ký kết hợp đồng trực tuyến vẫn có thể giải quyết một số mối quan tâm của họ về danh tính của nhau, về sự toàn vẹn và bảo mật thông tin liên lạc trong hợp đồng, thông qua việc sử dụng các công nghệ mã hóa, chữ ký
số và hàm băm
Mã hóa thường làm cho thông tin trở nên “khó hiểu” với bên không được phép đọc nội dung của tài liệu đó, khiến cho người này sẽ phải tốn quá nhiều thời gian hoặc rất khó khăn để có thể tìm ra nội dung thực sự của tài liệu Một hình thức của mã hóa đã được thực hiện trong thương mại điện tử, thường được sử dụng trong các giao dịch ngân hàng điện tử để bảo vệ thông tin tài khoản không bị lộ ra trong quá trình truyền tin Phương thức này dựa trên mã hóa đối xứng, sử dụng chìa khóa bí mật được biết đến bởi cả hai bên để dùng cho việc mã hóa và giải mã thông điệp Cả hai bên phải đồng ý về khóa bí mật mà không cho bất cứ ai khác biết hoặc tìm kiếm được, nếu họ sử dụng hệ thống mạng an toàn hoặc hệ thống bảo đảm không tiết lộ chìa khóa cho bên thứ ba Hình thức này có sự hạn chế rõ ràng như: đòi hỏi sự tin tưởng giữa các bên tham gia sẽ không tiết lộ khóa bí mật cho người khác, hoặc không phủ nhận một tin nhắn bằng cách tuyên bố đó là giả mạo do bên thứ ba gửi
Những hạn chế này với mã hóa đối xứng có thể được khắc phục thông qua việc sử dụng mã hóa bất đối xứng bằng phương tiện cơ sở hạ tầng khóa công khai Theo hệ thống này, mỗi bên một hợp đồng trực tuyến có một chìa khóa công cộng được chia sẻ với bên kia (và với công chúng trực tuyến nói chung) và có thể được sử dụng để giải mã hoặc mã hóa thông điệp, cùng với một khóa riêng mà không được chia sẻ Để gửi thông điệp, người gửi mã hóa thông điệp bằng cách sử dụng khóa công khai của người nhận, và khi nhận được tin nhắn, người nhận sử dụng khóa riêng của mình để giải mã
Để cung cấp cho người nhận một phương tiện xác thực nguồn gốc thông điệp, người gửi sử dụng khóa riêng của mình ký vào thông điệp trước khi gửi, một số gọi là
"chữ ký số" Người nhận, nhận được thông điệp, sẽ sử dụng khóa công khai của người gửi
để xác thực chữ ký Chữ ký số không phải là phiên bản số của một chữ ký thực tế, mà đó
là quá trình biến đổi một thông điệp điện tử thành dạng duy nhất cho mỗi người dùng Một chữ ký số nói chung không giống với chữ ký của một cá nhân và thông thường chỉ là một chuỗi số hoặc một số phương tiện khác để xác thực người dùng
Trang 24Việc sử dụng chữ ký số được thiết kế để đảm bảo: (i) Xác thực người ký (xác minh danh tính của người gửi), (ii) không thay đổi (các tài liệu hoặc thông điệp không bị thay đổi sau khi nó đã được "ký kết"), và (iii) chống chối cãi (người ký đã chỉ ra ý định pháp lý
ràng buộc bởi các điều khoản trong tài liệu, như chữ ký truyền thống bằng văn bản)
Tuy nhiên, có khả năng rằng một kẻ mạo danh có thể thay thế khóa công khai của một người với khóa công khai của người khác Để chống lại điều này, một số tổ chức được lựa chọn là "cơ quan cấp giấy chứng nhận" để xác nhận rằng một người sử dụng thực sự
sở hữu một khóa công khai hoặc xác nhận rằng một khóa công khai không còn giá trị vì cặp khóa riêng của nó đã bị xâm nhập
Ngoài việc các bên xem xét thông qua một số hình thức về mật mã khóa công khai khi giao kết hợp đồng trực tuyến, họ vẫn khuyên nên sử dụng các kỹ thuật khác để xác nhận danh tính của các bên tham gia Mật khẩu bảo mật, mã số cá nhân hoặc mã truy cập vẫn có thể được giao cho người dùng cá nhân, và yêu cầu một số truy vấn nhận dạng cá nhân của người gửi thông điệp
Trang 25
2.2 MÃ HÓA
Hiện nay, mã hóa không còn là vấn đề xa lạ đối với chúng ta, các thuật toán mã hóa được sử dụng trong rất nhiều lĩnh vực với nhiều cách thức khác nhau Mã hoá là phần rất quan trọng trong bảo vệ thông tin Mã hoá ngoài nhiệm vụ chính là bảo mật tài liệu, nó còn có một lợi ích quan trọng là: thay vì truyền đi tài liệu thô (không được mã hoá) trên một đường truyền đặc biệt (được canh phòng cẩn mật không cho người nào có thể “xâm nhập” vào lấy dữ liệu), người ta có thể truyền tài liệu đã được mã hoá, mà không lo dữ liệu
bị đánh cắp, vì nếu dữ liêu có bị đánh cắp đi nữa thì dữ liệu đó cũng không dùng được Với hình thức khá phổ biến hiện nay là truyền tin qua thư điện tử và không sử dụng các công cụ mã hoá, chữ ký điện tử, thì các tình huống sau có thể xảy ra:
- Không chỉ nguời nhận mà người khác có thể đọc được thông tin
- Thông tin nhận được có thể không phải là của người gửi đúng đắn
- Thông tin nhận được bị người thứ ba sửa đổi
- Bị nghe trộm: thông tin trên đường truyền có thể bị ai đó “xâm nhập” vào lấy ra, tuy nhiên vẫn đến được người nhận mà không bị thay đổi
- Bị thay đổi: thông tin bị chặn lại ở một nơi nào đó trên đường truyền và bị thay đổi Sau đó thông tin đã bị thay đổi này được truyền tới cho người nhận như không có chuyện gì xảy ra
- Bị lấy cắp: thông tin bị lấy ra nhưng hoàn toàn không đến được người nhận
Để giải quyết vấn đề này, thông tin trước khi truyền đi sẽ được mã hoá và khi tới người nhận, nó sẽ được giải mã trở lại
Để đảm bảo rằng chỉ người cần nhận có thể đọc được thông tin mà ta gửi khi biết rằng trên đường đi, nội dung thông tin có thể bị theo dõi và đọc trộm, người ta sử dụng các thuật toán để mã hoá thông tin Trong trường hợp này, trước khi thông tin được gửi đi, chúng sẽ được mã hoá lại và kết quả là ta nhận được một nội dung thông tin "không có ý nghĩa" Khi thông điệp bị theo dõi hoặc bị bắt giữ trên đường đi, để hiểu được thông tin của bạn, kẻ tấn công phải làm một việc là giải mã nó Thuật toán mã hoá càng tốt thì chi phí cho giải mã đối với kẻ tấn công càng cao Khi chi phí giải mã cao hơn giá trị thông tin thì coi như bạn đã thành công trong vấn đề bảo mật
Các hệ mã hóa chia làm 2 loại chính : mã hóa khóa đối xứng và mã hóa khóa công khai
2.2.1 Mã hóa khóa đối xứng
Mã hóa khóa đối xứng là hệ mã hóa có khóa lập mã và khóa giải mã “giống
nhau”, theo nghĩa biết được khóa này thì “dễ” tính được khóa kia Đặc biệt một số Hệ mã
hóa loại này có khoá lập mã và khoá giải mã trùng nhau
Trang 26Hệ mã hóa khóa đối xứng còn có tên gọi là Hệ mã hóa khoá bí mật, vì phải giữ bí
mật khóa Trước khi dùng hệ mã hóa khóa đối xứng, người gửi và người nhận phải thoả thuận thuật toán mã hóa và một khoá chung (lập mã hay giải mã), khoá này phải được giữ
bí mật Độ an toàn của hệ mã hóa loại này phụ thuộc vào khoá [4]
- Không an toàn: càng nhiều người biết khoá thì độ rủi ro càng cao
- Trong trường hợp khoá mã hoá thay đổi, cần thay đổi đồng thời ở cả người gửi và người nhận, khi đó rất khó có thể đảm bảo được là chính bản thân khoá không bị đánh cắp trên đường đi
- Không cho phép ta tạo ra chữ ký điện tử
Mã hóa khóa đối xứng có thể chia thành hai loại : mã hóa khối và mã hóa dòng
theo đặc trưng xử lý bản rõ
Mã hóa khối
Mã hóa khối thao tác trên các khối của bản rõ và bản mã sử dụng phép biến đổi mã hóa cố định Bản rõ được chia thành một chuỗi các khối có kích thước xác định, có thể đệm thêm vào nếu cần thiết, và mã hóa khối mã hóa từng khối một tại mỗi thời điểm Với cùng khóa, các khối bản rõ luôn luôn được mã hóa thành những khối bản mã tương ứng
Hệ mã hóa DES (Data Encryption Standard) và thế hệ sau của nó là AES (Advance Encryption Standard) là hai hệ mã hóa sử dụng mã hóa khối DES thao tác trên những khối
64 bit với khóa 56 bit AES sử dụng khối 128 bit và kích cỡ khóa có thể là 128, 192, hoặc
256 bit
Mã hóa dòng
Khác với mã hóa khối, mã hóa dòng xử lý từng bit hoặc byte của bản rõ và bản mã tại một thời điểm Với mã hóa dòng, mỗi bit của bản rõ sẽ được mã hóa thành một bit khác mỗi lần mà nó được mã hóa Mã hóa dòng áp dụng những phép biến đổi mã hóa tùy thuộc vào một keystream được sử dụng Keystream có thể được sinh một cách ngẫu nhiên hoặc dựa vào một thuật toán gọi là keystream-generator từ một keystream nhỏ ban đầu gọi là mầm khóa (seed) hoặc từ một mầm khóa và biểu tượng bản mã trước
Rất nhiều thuật toán, bao gồm cả phương pháp chaos-based, đã được phát triển để sinh ra những keystream ảo ngẫu nhiên Trong một mã hóa dòng tự đồng bộ, mỗi
Trang 27keystream bit là một hàm gồm một số cố định những bit đã được mã hóa, trong khi keystream trong một mã hóa dòng đồng bộ lại được tạo ra theo một cách độc lập với đoạn
dữ liệu ban đầu
Một dạng truyền thông mã hóa trong mã hóa dòng là phép hoặc loại trừ - XOR, tác động vào keystream và dữ liệu ban đầu để tạo ra dữ liệu được mã hóa RC4 là một dạng
mã hóa dòng đồng bộ với khóa có độ dài thay đổi được sử dụng một cách rộng rãi.Mã hóa dòng cung cấp nhiều tiện ích so với mã hóa khối
Mã hóa dòng thường nhanh hơn và sử dụng ít bộ đệm dữ liệu Mật mã dòng đồng
bộ không sinh ra bất kì lỗi khi truyền đi nào Điều này đặc biệt có ích khi mà thông tin media đã mã hóa được truyền đi bởi những đường truyền có thể phát sinh lỗi như là việc truyền thông không dây
2.2.2 Mã hóa khóa công khai
Mã hóa khóa công khai là hệ mã hóa có khóa lập mã và khóa giải mã khác nhau,
biết được khóa này cũng “khó” tính được khóa kia
Hệ mã hóa này được gọi là hệ mã hoá khóa công khai, vì:
Khoá lập mã cho công khai, gọi là khoá công khai (Public key)
Khóa giải mã giữ bí mật, còn gọi là khóa riêng (Private key)
Một người bất kỳ có thể dùng khoá công khai để mã hoá bản tin, nhưng chỉ người nào có đúng khoá giải mã thì mới có khả năng xem được bản rõ
Hệ mã hóa khoá công khai hay Hệ mã hóa phi đối xứng do Diffie và Hellman phát minh
vào những năm 1970
Ưu điểm
1/ Người mã hoá dùng khóa công khai, người giải mã giữ khóa bí mật Khả năng lộ khóa
bí mật khó hơn vì chỉ có một người gìn giữ
Nếu kẻ phá hoại biết khoá công khai, cố gắng tìm khoá bí mật, thì chúng phải đương đầu với bài toán “khó”
2/ Khi biết các tham số ban đầu của hệ mã hóa, việc tính ra cặp khoá công khai và bí mật phải là “dễ”, tức là trong thời gian đa thức
Người gửi có bản rõ P và khoá công khai, thì “dễ” tạo ra bản mã C
Người nhận có bản mã C và khoá bí mật, thì “dễ” giải được thành bản rõ P
3/ Nếu kẻ phá hoại biết khoá công khai và bản mã C, thì việc tìm ra bản rõ P cũng là bài toán “khó”, số phép thử là vô cùng lớn, không khả thi
4/ Hệ mã hóa khóa công khai tiện lợi hơn Hệ mã hóa đối xứng cổ điển còn ở chỗ:
Trang 28Thuật toán được viết một lần, công khai cho nhiều lần dùng và cho nhiều người dùng, chỉ cần giữ bí mật khóa riêng [4]
Nhược điểm
Tốc độ mã hoá chậm: tốc độ mã hoá nhanh nhất của loại mã hóa khóa công khai vẫn chậm hơn nhiều lần so với mã hóa khóa đối xứng Do đó người ta thường kết hợp 2 loại mã hoá để nâng tốc độ mã hoá lên
Một số thuật toán mã hoá không đối xứng
- RSA: Loại mã này được dùng nhiều nhất cho web và chương trình email Độ dài khoá thông thường là từ 512 đến 1024 bit
Mô tả thuật toán:
Với hình mô tả trên thì ta kiểm tra xem các phép mã và giải mã có phải là nghịch đảo của nhau hay không vì:
))((mod
nên ta có: ab t ( n ) 1
với một số nguyên t1 nào đó Giả sử x Zn* khi đó ta có:
Cho n = p * q với p, q là hai số nguyên tố lớn Đặt P = C = Zn
Chọn b nguyên tố với (n),(n)(p1)(q1)
Ta định nghĩa: K = {(n, a, b): a*b 1(mod(n))}
Giá trị n và b là công khai, và a là bí mật
Với mỗi K = (n, a, b), mỗi xP và yC, định nghĩa:
Hàm mã hoá:
y = ek(x) = xb mod n Hàm giải mã:
dk(x) = ya mod n
Trang 29
) (mod
) (mod 1
) (mod )
(
) (mod
) (
1 ) (
n x
n x
n x
x
n x
x
t
n t
n t a
3 R chọn một số ngẫu nhiên b(1 b(n)) sao cho UCLN(b, (n)) = 1
4 R tính a = b-1 mod (n) dùng thuật toán Euclide mở rộng
5 R công bố n và b trong một danh bạ và dùng chúng làm khoá công khai
Tính an toàn của RSA
Với hệ RSA thì cách tấn công dễ thấy nhất là cố gắng phân tích n ra thừa số nguyên
tố Và khi thực hiện đƣợc việc phân tích này thì có thể dễ dàng tính đƣợc (n)=( p - 1)*(q – 1) rồi tính số mũ a từ b Nhƣng để đảm bảo an toàn thì p và q phải là những số có chừng
100 chữ số thập phân và khi đó thì n có tới 200 chữ số thập phân Và những thuật toán phân tích hiện thời có khả năng phân tích các số tới 130 chữ số thập phân và nhƣ vậy thì việc phân tích n thành thừa số nguyên tố là không dễ dàng
Ngoài cách phân tích n thành số nguyên tố thì còn có cách khác là cần tính đƣợc
Bên cạnh đó, việc mã và giải mã xoay quanh phép lấy luỹ thừa theo module n Vì n
là một số rất lớn nên ta phải sử dụng số học lấy chính xác nhiều lần để thực hiện các tính toán trong Zn và thời gian tính toán cần thiết sẽ phụ thuộc vào số các bit trong biểu diễn
Trang 30nhị phân của n Xét phép lấy luỹ thừa module ( tức là hàm dạng tính xc mod n) Việc tính
xc mod n có thể thực hiện bằng c – 1 phép nhân module; tuy nhiên c lớn thì phép tính này
rất lớn Chú ý là c lớn cỡ (n) - 1 Và đây cũng là một điểm giúp cho RSA được bảo mật
2.2.3.2 Hệ mật mã AES (Advance Encryption Standard)
Để tìm kiếm một phương pháp mã hóa quy ước mới với độ an toàn cao hơn DES, NIST đã công bố một chuẩn mã hóa mới, thay thế cho chuẩn DES Thuật toán đại diện cho chuẩn mã hóa nâng cao AES (Advanced Encryption Standard) sẽ là thuật toán mã hóa khóa quy ước, sử dụng miễn phí trên toàn thế giới Chuẩn AES bao gồm các yêu cầu sau :
- Thuật toán mã hóa theo khối 128 bit
- Chiều dài khóa 128 bit, 192 bit và 256 bit
- Không có khóa yếu
- Hiệu quả trên hệ thống Intel Pentium Pro và trên các nền phần cứng và phần mềm khác
- Thiết kế dễ dàng, đơn giản (hỗ trợ chiều dài khóa linh hoạt, có thể triển khai ứng dụng rộng rãi trên các nền và các ứng dụng khác nhau)
- Chấp nhận bất kỳ chiều dài khóa lên đến 256 bit
- Không chứa bất kỳ phép toán nào làm giảm khả năng trên các bộ vi xử lý 8 bit, 16 bit, 32 bit và 64 bit
- Không bao hàm bất kỳ phần tử nào làm giảm khả năng của phần cứng
- Thời gian mã hóa dữ liệu rất thấp dưới 10/1000 giây trên bộ vi xử lý 8 bit
- Có thể thực hiện trên bộ vi xử lý 8 bit với 64 byte bộ nhớ RAM
Sau khi thực hiện hai lần tuyển chọn, có năm thuật toán được lựa chọn, gồm có: MARS, RC6, SERPENT, TWOFISH và RIJNDAEL Các thuật toán này đều đạt các yêu cầu của AES nên được gọi chung là các thuật toán ứng viên AES Các thuật toán ứng viên AES có độ an toàn cao, chi phí thực hiện thấp
Viện Tiêu chuẩn và Công nghệ Hoa Kỳ (National Institute of Standards and Technology – NIST) đã quyết định chọn một chuẩn mã hóa mới với độ an toàn cao nhằm phục vụ nhu cầu bảo mật thông tin liên lạc của Chính phủ Hoa Kỳ cũng như trong các ứng dụng dân sự Thuật toán Rijndael do Vincent Rijmen và Joan Daeman đã được chính thức chọn trở thành chuẩn mã hóa nâng cao AES (Advanced Encryption Standard) từ ngày 02 tháng 10 năm 2000 Phương pháp mã hóa Rijndael là phương pháp mã hóa theo khối (block cipher) có kích thước khối và mã khóa thay đổi linh hoạt với các giá trị 128, 192 hay 256 bit Phương pháp này thích hợp ứng dụng trên nhiều hệ thống khác nhau từ các thẻ thông minh cho đến các máy tính cá nhân [1]
Trang 31 Một số tham số, hàm, thuật ngữ
AddRoundKey Phép biến đổi sử dụng trong mã hóa và giải mã, thực hiện việc cộng mã
khóa của chu kỳ vào trạng thái hiện hành Độ dài của mã khóa của chu
kỳ bằng với kích thước của trạng thái
SubBytes Phép biến đổi sử dụng trong mã hóa, thực hành việc thay thế phi tuyến
từng byte trong trạng thái hiện hành thông qua bảng thay thế (S-box) InvSubBytes Phép biến đổi sử dụng trong giải mã Đây là phép biến đổi ngược của
phép biến đổi SubBytes
MixColumns Phép biến đổi sử dụng trong mã hóa, thực hiện thao tác trộn thông tin
của từng cột trong trạng thái hiện hành Mỗi cột được xử lý độc lập InvMixColumns Phép biến đổi sử dụng trong giải mã Đây là phép biến đổi ngược của
phép biến đổi MixColumns
ShiftRows Phép biến đổi sử dụng trong mã hóa, thực hiện việc dịch chuyển xoay
vòng từng dòng của trạng thái hiện hành với di số tương ứng khác nhau InvShiftRows Phép biến đổi sử dụng trong giải mã Đây là phép biến đổi ngược của
phép biến đổi ShiftRows
Nw Số lượng byte trong một đơn vị dữ liệu “từ” Trong thuật toán Rijndael,
thuật toán mở rộng 256/384/512 bit và thuật toán mở rộng
512/768/1024 bit, giá trị Nw lần lượt là 4, 8 và 16
Nb Số lượng cột (số lượng các từ 8×Nw bit) trong trạng thái Giá trị Nb =
4, 6, hay 8 Chuẩn AES giới hạn lại giá trị của Nb = 4
Nk Số lượng các từ (8×Nw bit) trong khóa chính Giá trị Nk = 4, 6, hay 8
Nr Số lượng chu kỳ, phụ thuộc vào giá trị Nk and Nb theo công thức: Nr =
max (Nb, Nk)+6
RotWord Hàm được sử dụng trong quá trình mở rộng mã khóa, thực hiện thao
tác dịch chuyển xoay vòng Nw byte thành phần của một từ
SubWord Hàm được sử dụng trong quá trình mở rộng mã khóa Nhận vào một từ
(Nw byte), áp dụng phép thay thế dựa vào S-box đối với từng byte thành phần và trả về từ gồm Nw byte thành phần đã được thay thế
Trang 32 Phương pháp mã hóa Rijndael
Phương pháp mã hóa Rijndael bao gồm nhiều bước biến đổi được thực hiện tuần tự, kết quả đầu ra của bước biến đổi trước là đầu vào của bước biến đổi tiếp theo Kết quả
trung gian giữa các bước biến đổi được gọi là trạng thái (state) Một trạng thái có thể được biểu diễn dưới dạng một ma trận gồm 4 dòng và Nb cột với Nb bằng với độ dài của khối
chia cho 32 Mã khóa chính (Cipher Key) cũng được biểu diễn dưới dạng một ma trận
gồm 4 dòng và Nk cột với Nk bằng với độ dài của khóa chia cho 32 Trong một số tình
huống, ma trận biểu diễn một trạng thái hay mã khóa có thể được khảo sát như mảng một chiều chứa các phần tử có độ dài 4 byte, mỗi phần tử tương ứng với một cột của ma trận
Số lượng chu kỳ, ký hiệu là Nr, phụ thuộc vào giá trị của Nb và Nk theo công thức: Nr = max{Nb,Nk}+ 6
Hình 2.1 Biểu diễn dạng ma trận trạng thái (Nb = 6) và mã khóa (Nk = 4)
Quy trình mã hóa
Quy trình mã hóa Rijndael sử dụng bốn phép biến đổi chính:
1 AddRoundKey: cộng mã khóa của chu kỳ vào trạng thái hiện hành Độ dài của mã khóa của chu kỳ bằng với kích thước của trạng thái
Trang 33Hình 2.2: Thao tác AddRoundKey tác động lên mỗi cột của trạng thái
2 SubBytes: thay thế phi tuyến mỗi byte trong trạng thái hiện hành thông qua bảng thay thế (S-box)
Hình 2.3: Thao tác SubBytes tác động trên từng byte trạng thái
3 MixColumns: trộn thông tin của từng cột trong trạng thái hiện hành Mỗi cột đƣợc xử lý độc lập
Hình 2.4: Thao tác MixColumns tác động lên mỗi cột trạng thái
4 ShiftRows: dịch chuyển xoay vòng từng dòng của trạng thái hiện hành với di số khác
nhau
Trang 34Hình 2.5: Thao tác ShiftRows tác động trên từng dòng trạng thái
Mỗi phép biến đổi thao tác trên trạng thái hiện hành S Kết quả S’ của mỗi phép
biến đổi sẽ trở thành đầu vào của phép biến đổi kế tiếp trong quy trình mã hóa
Trước tiên, toàn bộ dữ liệu đầu vào được chép vào mảng trạng thái hiện hành Sau
khi thực hiện thao tác cộng mã khóa đầu tiên, mảng trạng thái sẽ được trải qua Nr = 10, 12
hay 14 chu kỳ biến đổi (tùy thuộc vào độ dài của mã khóa chính cũng như độ dài của khối
được xử lý) Nr −1 chu kỳ đầu tiên là các chu kỳ biến đổi bình thường và hoàn toàn tương
tự nhau, riêng chu kỳ biến đổi cuối cùng có sự khác biệt so với Nr −1 chu kỳ trước đó
Cuối cùng, nội dung của mảng trạng thái sẽ được chép lại vào mảng chứa dữ liệu đầu ra
Quy trình mã hóa Rijndael được tóm tắt lại như sau:
1/ Thực hiện thao tác AddRoundKey đầu tiên trước khi thực hiện các chu kỳ mã hóa
2/ Nr – 1 chu kỳ mã hóa bình thường: mỗi chu kỳ bao gồm bốn bước biến đổi liên tiếp
nhau: SubBytes, ShiftRows, MixColumns, và AddRoundKey
3/ Thực hiện chu kỳ mã hóa cuối cùng: trong chu kỳ này thao tác MixColumns được bỏ qua
Quy trình giải mã
Quy trình giải mã được thực hiện qua các giai đoạn sau:
1/ Thực hiện thao tác AddRoundKey đầu tiên trước khi thực hiện các chu kỳ giải mã
2/ Nr −1 chu kỳ giải mã bình thường: mỗi chu kỳ bao gồm bốn bước biến đổi liên tiếp
nhau: InvShiftRows, InvSubBytes, AddRoundKey, InvMixColumns
3/ Thực hiện chu kỳ giải mã cuối cùng Trong chu kỳ này, thao tác InvMixColumns được
bỏ qua
Độ an toàn
Việc sử dụng các hằng số khác nhau ứng với mỗi chu kỳ giúp hạn chế khả năng tính đối xứng trong thuật toán Sự khác nhau trong cấu trúc của việc mã hóa và giải mã đã hạn chế được các khóa “yếu” (weak key) như trong phương pháp DES Ngoài ra, thông
Trang 35thường những điểm yếu liên quan đến mã khóa đều xuất phát từ sự phụ thuộc vào giá trị
cụ thể của mã khóa của các thao tác phi tuyến như trong phương pháp IDEA (International Data Encryption Algorithm)
Trong các phiên bản mở rộng, các khóa được sử dụng thông qua thao tác XOR và tất cả những thao tác phi tuyến đều được cố định sẵn trong S-box mà không phụ thuộc vào giá trị cụ thể của mã khóa Tính chất phi tuyến cùng khả năng khuếch tán thông tin trong việc tạo bảng mã khóa mở rộng làm cho việc phân tích mật mã dựa vào các khóa tương đương hay các khóa có liên quan trở nên không khả thi Đối với phương pháp vi phân rút gọn, việc phân tích chủ yếu khai thác đặc tính tập trung thành vùng của các vết vi phân trong một số phương pháp mã hóa Trong trường hợp thuật toán Rijndael với số lượng chu
kỳ lớn hơn 6, không tồn tại phương pháp công phá mật mã nào hiệu quả hơn phương pháp thử và sai Tính chất phức tạp của biểu thức S-box trên GF(28) cùng với hiệu ứng khuếch tán giúp cho thuật toán “khó” có thể bị phân tích bằng phương pháp nội suy
Đánh giá
Phương pháp Rijndael thích hợp cho việc triển khai trên nhiều hệ thống khác nhau, không chỉ trên các máy tính cá nhân mà điển hình là sử dụng các chip Pentium, mà cả trên các hệ thống thẻ thông minh Trên các máy tính cá nhân, thuật toán AES thực hiện việc xử
lý rất nhanh so với các phương pháp mã hóa khác Trên các hệ thống thẻ thông minh, phương pháp này càng phát huy ưu điểm không chỉ nhờ vào tốc độ xử lý cao mà còn nhờ vào mã chương trình ngắn gọn, thao tác xử lý sử dụng ít bộ nhớ Ngoài ra, tất cả các bước
xử lý của việc mã hóa và giải mã đều được thiết kế thích hợp với cơ chế xử lý song song nên phương pháp Rijndael càng chứng tỏ thế mạnh của mình trên các hệ thống thiết bị mới
Xuyên suốt phương pháp AES, yêu cầu đơn giản trong việc thiết kế cùng tính linh hoạt trong xử lý luôn được đặt ra và đã được đáp ứng Độ lớn của khối dữ liệu cũng như của mã khóa chính có thể tùy biến linh hoạt từ 128 đến 256-bit với điều kiện là chia hết cho 32 Số lượng chu kỳ có thể được thay đổi tùy thuộc vào yêu cầu riêng được đặt ra cho từng ứng dụng và hệ thống cụ thể
Tuy nhiên, vẫn tồn tại một số hạn chế mà hầu hết liên quan đến quá trình giải mã
Mã chương trình cũng như thời gian xử lý của việc giải mã tương đối lớn hơn việc mã hóa, mặc dù thời gian này vẫn nhanh hơn đáng kể so với một số phương pháp khác Khi cài đặt bằng chương trình, do quá trình mã hóa và giải mã không giống nhau nên không thể tận dụng lại toàn bộ đoạn chương trình mã hóa cũng như các bảng tra cứu cho việc giải mã Khi cài đặt trên phần cứng, việc giải mã chỉ sử dụng lại một phần các mạch điện tử sử dụng trong việc mã hóa và với trình tự sử dụng khác nhau
Trang 362.3 CHỮ KÝ SỐ
Nếu việc sử dụng mật mã đã trở nên phổ biến, không chỉ trong quân đội mà còn trong thương mại và những mục đích cá nhân thì những đoạn tin và tài liệu điện tử sẽ cần những chữ ký giống như các tài liệu giấy
Cũng giống như trong thực tế, chữ ký để xác nhận cho người nhận rằng hợp đồng
đó do người này gửi mà không phải ai khác Chữ ký điện tử sử dụng thuật toán mã không đối xứng để định danh người gửi Thông thường, để bảo vệ các văn bản mã hoá người ta dùng chữ ký điện tử Việc ứng dụng chữ ký điện tử cũng như công nhận giá trị pháp lý của
nó là điều kiện tiên quyết cho thương mại điện tử Nếu như việc giả mạo chữ ký viết tay hoặc con dấu là không đơn giản thì việc làm giả một đoạn thông tin nào đó là rất dễ dàng
Vì lý do đó, chúng ta không thể quét chữ ký của mình cũng như con dấu tròn của công ty
để chứng tỏ rằng tài liệu đã truyền đi đúng là do chúng ta gửi
V là tập các thuật toán kiểm thử
Với mỗi k K, các thuật toán ký sigk S, sigk : P A,
và thuật toán kiểm thử Verk V, Verk : P A đúng, sai,
thoả mãn điều kiện sau với mọi xP, y A:
Đúng, nếu x = Ver k(y) ( hay y = sig k(x)) Verk (x, y) = Sai, nếu x # Verk (y) (hay y # sigk (x))
Ta hình dung một quá trình ký, nhận và xác nhận chữ ký như sau:
- Người gửi G chuyển văn bản trên mạng cho người nhận N Khi nhận được, N sẽ kiểm thử xem chữ ký đó là đúng hay sai để hồi đáp lại cho G Kẻ tấn công H có thể đột nhập vào quá trình truyền thông tin từ G đến N, lấy cắp văn bản, giả mạo chữ ký sau đó mới gửi đến N
Trang 37- Liệu H có thể giả mạo được không? Điều này là hoàn toàn có thể khi các thuật toán verk và sigk là các thuật toán đa thức, tập văn bản và tập chữ ký đều là hữu hạn, thì H
sẽ thử mọi trường hợp có thể để đạt được điều kiện kiểm thử đúng
- Cụ thể là để chuyển đi văn bản x, G ký y= sigK(x) sao cho verK(x, y) = true Khi trộm được x, H kiểm tra với mọi y có thể trên x cho đến khi verK(x, y) = true
Việc mua bán trên mạng được thực hiện như thế nào? Với một giao dịch mua bán bình thường, người mua và người bán xác nhận sự đồng ý mua bán bằng cách ký tay vào cuối hợp đồng mua bán Vì bằng cách nào đó người ta phải thể hiện đó là chữ ký của họ và
kẻ khác không thể giả mạo Mọi cách sao chép trên văn bản thường đều bị phát hiện vì bản sao dễ bị phân biệt được với bản gốc Mua bán trên mạng cũng được thực hiện theo cách
thức tương tự như vậy Nghĩa là người gửi và người nhận cũng phải “ký” vào hợp đồng
mua bán Một số văn bản khác cũng cần phải xác nhận trách nhiệm của người gửi đối với
văn bản gửi đi tức là họ phải “ký” vào văn bản trước khi gửi Nhưng “ký” trên văn bản
truyền qua mạng như thế nào, khi tất cả nội dung văn bản đều được biểu diễn dưới dạng số hoá (chỉ dùng hai số 0 và 1 – ta gọi văn bản loại này là văn bản số) Việc giả mạo và sao chép lại đối với văn bản số là hoàn toàn dễ dàng và không thể phân biệt được bản gốc với bản sao Hơn nữa, một văn bản số có thể bị cắt dán, lắp ghép là hoàn toàn có thể và ta không thể phân biệt được bản gốc với bản sao Vậy một chữ ký ở cuối văn bản loại này không thể chịu trách nhiệm đối với toàn nội dung văn bản Chữ ký như thế nào thì mới thể hiện được trách nhiệm đối với toàn bộ văn bản? Chắc chắn chữ ký đó phải được ký trên từng bít của văn bản
Như vậy thông tin trên mạng có thể bị lấy cắp, bị cắt dán, lắp ghép mà đối với những văn bản cần ký tên hay cần sự xác nhận của người gửi đối với văn bản lại là những văn bản quan trọng (nhất là trong các lĩnh vực quân sự, ngân hàng, thương mại điện tử), cần được bảo vệ an toàn khi truyền trên mạng Mã hoá thông tin sẽ giúp chúng ta bảo vệ thông tin an toàn
Thuật toán ký phải dựa vào hệ mã hoá bởi vì các thông tin cần được ký chắc là các thông tin phải được giữ bí mật hoặc là phải tránh bị tấn công, do đó bản ký và cả chữ ký đều cần được bảo mật Trên cơ sở một số hệ mật mã, người ta đã xây dựng nên các sơ đồ chữ ký tương ứng Sơ đồ chữ ký RSA được xây dựng dựa trên hệ mật mã RSA
Trang 38- Chữ ký Elgamal
- Chữ ký DSS
2.4 HÀM BĂM
Sơ đồ chữ ký số thường là mã hóa trên từng bit của thông tin, thời gian để ký tỷ lệ
thuận với dung lượng của thông tin Thêm vào đó có thể xảy ra trường hợp: Với nhiều thông điệp đầu vào khác nhau, sử dụng sơ đồ ký số giống nhau (có thể khác nhau) thì cho
ra kết chữ ký số giống nhau (ánh xạ N-1: nhiều – một), như Hình 2.6 Điều này sẽ dẫn đến
một số rắc rối về sau cho việc xác thực thông tin
Hình 2.6: Nhiều thông điệp nguồn cho cùng một kết quả đích sau ký số
Với các sơ đồ ký số, chỉ cho phép ký các thông điệp (thông tin) có kích thước nhỏ
và sau khi ký, bản ký số có kích thước gấp đôi bản thông điệp gốc – ví dụ với sơ đồ chữ
ký chuẩn DSS chỉ ký trên các thông điệp có kích thước 160 bit, bản ký số sẽ có kích thước
320 bit Trong khi đó trên thực tế, ta cần phải ký các thông điệp có kích thước lớn hơn nhiều, chẳng hạn vài chục MegaByte Hơn nữa, dữ liệu truyền qua mạng không chỉ là bản thông điệp gốc, mà còn bao gồm cả bản ký số (có dung lượng gấp đôi dung lượng bản thông điệp gốc), để đáp ứng việc xác thực sau khi thông tin đến người nhận
Một cách đơn giản để giải bài toán (với thông điệp có kích thước vài chục MB) này
là chặt thông điệp thành nhiều đoạn 160 bit, sau đó ký lên các đoạn đó độc lập nhau Nhưng, biện pháp này có một số vấn đề trong việc tạo ra các chữ ký số:
1/ Với một thông điệp có kích thước a, thì sau khi ký kích thước của chữ ký sẽ là 2a
(trong trường hợp sử dụng DSS)
2/ Với các chữ ký “an toàn” thì tốc độ chậm vì chúng dùng nhiều phép tính số học phức
tạp như số mũ modulo
Trang 393/ Vấn đề nghiêm trọng hơn đó là kết quả sau khi ký, nội dung của thông điệp có thể bị xáo trộn các đoạn với nhau, hoặc một số đoạn trong chúng có thể bị mất mát, trong khi người nhận cần phải xác minh lại thông điệp Ta cần phải bảo vệ tính toàn vẹn của thông điệp
Giải pháp cho các vấn đề vướng mắc đến chữ ký số là dùng hàm băm để trợ giúp cho việc ký số Các thuật toán băm với đầu vào là các thông điệp có dung lượng, kích thước tùy ý (vài KB đến vài chục MB thậm chí hơn nữa) – các thông điệp có thể là dạng văn bản, hình ảnh, âm thanh, file ứng dụng v.v… - và với các thuật toán băm: MD2, MD4, MD5, SHA cho các bản băm đầu ra có kích thước cố định: 128 bit với dòng MD, 160 bit với SHA
Như vậy, thông điệp kích thước tùy ý sau khi băm sẽ được thu gọn thành những bản băm – được gọi là các văn bản đại diện – có kích thước cố định (128 bit hoặc 160 bit) Với mỗi thông điệp đầu vào chỉ có thể tính ra được một văn bản đại diện – giá trị băm tương ứng– duy nhất Giá trị băm được coi là đặc thù của thông điệp, giống như dấu vân tay của mỗi người Hai thông điệp khác nhau chắc chắn có hai văn bản đại diện khác nhau Khi đã
có văn bản đại diện duy nhất cho bức thông điệp, áp dụng các sơ đồ chữ ký số ký trên văn bản đại diện đó
Cơ chế gửi thông tin sử dụng hàm băm trợ giúp cho chữ ký số được mô tả theo thứ
Hình 2.7a: Băm thông điệp
Trang 40Hình 2.7b: Ký trên đại diện thông điệp
Th«ng ®iÖp, B¶n ký sè
(x, y)
Hình 2.7c: Truyền dữ liệu thông tin cần gửi
Hình 2.7: Sơ đồ mô tả các công đoạn người gửi A thực hiện trước khi gửi thông điệp cho
người B (sử dụng hàm băm rồi ký số)
Giả sử A muốn gửi cho B thông điệp x A thực hiện các bước sau:
1/ A băm thông điệp x (Hình 2.7a), thu được bản đại diện z = h(x) – có kích thước
cố định 128 bit hoặc 160 bit
2/ A ký số trên bản đại diện z (Hình 2.7b), bằng khóa bí mật của mình, thu được bản
ký số y = sig K1(z)
3/ A gửi (x, y) cho B (Hình 2.7c)
Khi B nhận được (x, y) B thực hiện các bước sau:
1/ B kiểm tra chữ ký số để xác minh xem thông điệp mà mình nhận được có phải được
gửi từ A hay không bằng cách giải mã chữ ký số y, bằng khóa công khai của A, được z (Hình 2.8a)
2/ B dùng một thuật toán băm – tương ứng với thuật toán băm mà A dùng – để băm
thông điệp x đi kèm, nhận được h(x) (Hình 2.8b)