ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
PHẠM THỊ THANH THỦY
NGHIÊN CỨU MỘT SỐ BÀI TOÁN VỀ
AN TOÀN THÔNG TIN TRONG THỎA THUẬN VÀ
KÝ KẾT HỢP ĐỒNG CỦA THƢƠNG MẠI ĐIỆN TỬ
Ngành:
Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số:
60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS. TS. TRỊNH NHẬT TIẾN
Giáo viên hướng dẫn Chủ tịch hội đồng
Học viên thực hiện
Hà Nội – 2016
LỜI CẢM ƠN
Trong khoảng thời gian nghiên cứu và học tập tại trường Đại học Công Nghệ
- Đại học Quốc Gia Hà Nội, bản thân tôi đã được sự động viên và giúp đỡ rất lớn
của gia đình, thầy cô và bạn bè, đặc biệt là Thầy PGS. TS. Trịnh Nhật Tiến - Thầy
là người trực tiếp hướng dẫn luận văn cho tôi, Thầy luôn chỉ dạy mỗi khi tôi gặp
khó khăn trong việc tìm hiểu đề tài của mình. Thầy đã giúp tôi vững vàng và trưởng
thành hơn rất nhiều trên con đường nghiên cứu và học tập. Thầy ơi, em muốn gửi
tới Thầy lời tri ân chân thành và sâu sắc nhất, em chúc Thầy luôn mạnh khỏe để
tiếp tục sự nghiệp trồng người và tiếp tục hướng dẫn những thế hệ chúng em đạt
được những thành quả cao hơn trên con đường mà mình đã chọn.
Tôi xin bày tỏ lòng biết ơn chân thành tới các Thầy - Cô giáo, các anh chị, các
bạn trong chuyên ngành Hệ thống thông tin - khoa Công nghệ thông tin, những người
luôn sát cánh bên tôi, nhiệt thành chỉ bảo, hướng dẫn và chia sẻ với tôi rất nhiều
những kiến thức về công nghệ thông tin - đó là những kiến thức quý báu và bổ ích
giúp tôi tự tin hơn trong công việc của mình. Hơn thế nữa, tình cảm tôi nhận được từ
những người bạn trong khoảng thời gian học tập tại trường đã giúp chúng tôi thân
thiết hơn và trở thành những người bạn tốt của nhau, đó là một điều tuyệt vời!!!
Tôi xin gửi lời cảm ơn chân thành tới Ban Giám hiệu Nhà trường, Phòng Đào
tạo sau đại học, Đại học Công nghệ - Đại học Quốc gia Hà Nội đã tạo điều kiện tốt
nhất giúp tôi trong suốt quá trình học tập.
Cuối cùng tôi muốn gửi đến gia đình những tình cảm thân thương nhất. Con
cảm ơn bố mẹ đã luôn tin tưởng, động viên và giúp đỡ để con đạt được mơ ước của
mình. Cảm ơn anh và con luôn là chỗ dựa vững chắc giúp em cố gắng phấn đấu,
cảm ơn các em đã dành mọi điều kiện để giúp chị tập trung vào nghiên cứu.
Hà Nội, ngày … tháng… năm 2016 Học viên Phạm Thị Thanh Thủy
i
LỜI CAM ĐOAN
Tôi xin cam đoan nội dung trình bày trong luận văn này là do tôi tự nghiên
cứu và tìm hiểu dưới sự hướng dẫn trực tiếp của Thầy PGS. TS. Trịnh Nhật Tiến.
Luận văn này của tôi chưa từng được ai công bố trong bất cứ công trình nào trước đây.
Trong quá trình nghiên cứu tôi có tham khảo đến các tài liệu của một số tác giả. Tôi
đều có trích dẫn đầy đủ và liệt kê trong mục “TÀI LIỆU THAM KHẢO” ở cuối
luận văn.
Hà Nội, ngày … tháng … năm 2016 Học viên Phạm Thị Thanh Thủy
ii
MỤC LỤC
LỜI CẢM ƠN .............................................................................................................. i
LỜI CAM ĐOAN ....................................................................................................... ii
LỜI MỞ ĐẦU ............................................................................................................ 1
CHƢƠNG 1. CÁC KHÁI NIỆM CƠ BẢN ............................................................ 3
1.1. Tổng quan về thương mại điện tử .................................................................... 3
1.1.1. Khái niệm về TMĐT ............................................................................... 3
1.1.2. Vai trò tác động của TMĐT .................................................................... 4
1.1.3. Các đặc trưng của TMĐT ....................................................................... 6
1.1.4. Các loại hình giao dịch TMĐT ............................................................... 8
1.1.5. Ba giai đoạn hoạt động của TMĐT ....................................................... 10
1.2. Tổng quan về An toàn thông tin ..................................................................... 12
1.2.1. An toàn thông tin là gì? Tại sao cần bảo đảm An toàn thông tin? ........ 12
1.2.2. Mục tiêu của An toàn thông tin............................................................. 13
1.2.3. Các giải pháp bảo đảm An toàn thông tin ............................................. 13
1.3. Mã hóa dữ liệu ................................................................................................ 14
1.3.1. Khái niệm Mã hóa dữ liệu ..................................................................... 15
1.3.2. Phân loại hệ mã hóa .............................................................................. 16
1.3.3. Một số Hệ mã hóa tiêu biểu .................................................................. 18
1.4. Chữ ký số ........................................................................................................ 23
1.4.1. Khái niệm “Chữ ký số” ........................................................................... 23
1.4.2. Một số chữ ký số tiêu biểu ...................................................................... 25
1.5. Đại diện tài liệu và hàm băm .......................................................................... 27
1.5.1. Hàm băm (Hàm tạo đại diện tài liệu)...................................................... 27
1.5.2. Các Hàm băm .......................................................................................... 28
1.6. Thủy vân số (Digital watermarking) .............................................................. 28
1.6.1 Phân loại Thủy vân số .............................................................................. 29
1.6.2. Các ứng dụng của Thuỷ vân với ảnh số .................................................. 30
iii
CHƢƠNG 2. CÁC BÀI TOÁN VỀ ATTT TRONG THỎA THUẬN VÀ KÝ KẾT HỢP ĐỒNG CỦA TMĐT ............................................................................. 31 2.1. Thỏa thuận và ký kết hợp đồng của TMĐT ................................................... 31 2.1.1. Khái niệm về giao kết hợp đồng điện tử ................................................ 31 2.1.2. Chủ thể của hợp đồng điện tử ................................................................ 31 2.1.3. Hình thức hợp đồng điện tử ................................................................... 33 2.1.4. Nội dung hợp đồng điện tử .................................................................... 33 2.2. Các bài toán về ATTT trong thỏa thuận và ký kết hợp đồng của TMĐT ...... 34 2.2.1. Bảo đảm tính toàn vẹn thông tin hợp đồng trực tuyến ........................... 35 2.2.2. Bảo đảm tính xác thực ............................................................................ 45 2.2.3. Chống chối bỏ hợp đồng giao dịch ......................................................... 47 CHƢƠNG 3. THỰC NGHIỆM CHƢƠNG TRÌNH ............................................ 50 3.1. Giới thiệu chương trình .................................................................................. 50 3.1.1. Chương trình mã hóa AES ...................................................................... 50 3.1.2. Chương trình ký không thể phủ định ...................................................... 50 3.2. Cấu hình hệ thống ........................................................................................... 50 3.3. Hướng dẫn sử dụng ........................................................................................ 50 3.3.1. Chương trình mã hóa AES ...................................................................... 50 3.3.2. Chương trình ký không thể phủ định ...................................................... 55 KẾT LUẬN .............................................................................................................. 58 TÀI LIỆU THAM KHẢO ...................................................................................... 59
iv
BẢNG CÁC CHỮ VIẾT TẮT
Từ viết tắt Ý nghĩa
AES Advance Encryption Standard
(Chuẩn mã hóa tiên tiến)
DES Data Encryption Standard
(Chuẩn mã hóa dữ liệu)
RSA Rivest, Shamir, & Adleman
(Một công nghệ mã hóa khóa công khai)
UNCITRAL The United Nations Commission on International Trade Law
(Ủy ban về Luật Thương mại Quốc tế của Liên Hợp Quốc)
TMĐT Thương mại điện tử
ATTT An toàn thông tin
v
DANH SÁCH HÌNH VẼ VÀ BẢNG
Danh mục hình Hình 1.1: Mô hình đơn giản thương mại điện tử ........................................................ 3 Hình 1.2: Khảo sát giá trị mua hàng trực tuyến của người dùng Việt Nam 2015 ...... 5 Hình 1.3: Biểu đồ Quy mô TMĐT Việt Nam (tỷ USD). .............................................. 6 Hình 1.4: Biểu đồ so sánh mức độ ứng dụng TMĐT ở Việt Nam ............................... 6 Hình 1.5: Các loại giao dịch B2B trong TMĐT ......................................................... 8 Hình 1.6: Doanh thu bán lẻ TMĐT của Hoa Kỳ ......................................................... 9 Hình 1.7: Doanh thu bán lẻ TMĐT của Hàn Quốc .................................................... 9 Hình 1.8: Doanh thu bán lẻ TMĐT của Indonesia ..................................................... 9 Hình 1.9: Doanh thu bán lẻ TMĐT của Úc .............................................................. 10 Hình 1.10: Doanh thu bán lẻ TMĐT của Ấn Độ ....................................................... 10 Hình 1.11: Sơ đồ mã hóa đơn giản. .......................................................................... 15 Hình 1.12: Phân loại Thủy vân ................................................................................. 29 Hình 1.13: Ví dụ về thuỷ vân hiện (trên trang web của Thư viện số liên bang Mỹ) . 29 Hình 1.14: Giấu thông tin trong ảnh ........................................................................ 30 Hình 2.1: Mô hình giải quyết bài toán ...................................................................... 34 Hình 2.2: Sơ đồ thuật toán AES ................................................................................ 38 Hình 2.3: Các phần tử biến đổi của S-box dưới dạng ma trận ................................. 39 Hình 2.4: Kết quả biến đổi của hàm SubBytes() với mảng trạng thái ...................... 39 Hình 2.5: Nội dung bảng S-box sau khi tính toán ..................................................... 40 Hình 2.6: Kết quả tính toán....................................................................................... 40 Hình 2.7: Minh họa sự dịch vòng .............................................................................. 41 Hình 2.8: Minh họa làm việc trên cột trạng thái ...................................................... 42 Hình 2.9: Thực hiện hàm AddRoundKey() ................................................................ 42 Hình 2.10: Quá trình thực hiện Expand Key ............................................................ 43 Hình 2.11: Minh họa thực hiện hàm InvShiftRows() ................................................ 44 Hình 2.14: Kiểm tra tính đúng đắn của chữ ký ......................................................... 48 Hình 2.15: Giao thức kiểm thử chữ ký số ................................................................. 49 Hình 2.16: Giao thức chối bỏ chữ ký số. .................................................................. 49 Hình 3.1: Quá trình mã hóa văn bản ........................................................................ 51 Hình 3.2: Quá trình giải mã văn bản ........................................................................ 52 Hình 3.3: Quá trình mã hóa tệp tin ........................................................................... 53 Hình 3.4: Quá trình giải mã tệp tin .......................................................................... 54 Hình 3.5: Quá trình ký .............................................................................................. 56 Hình 3.6: Giao thức kiểm thử ................................................................................... 56 Hình 3.7: Giao thức chối bỏ. .................................................................................... 57
vi
Danh mục bảng
Bảng 1: Qui ước mô số từ viết tắt và thuật ngữ của AES ........................................ 20
Bảng 2: Các hàm, ký hiệu, các tham số của thuật toán ............................................ 21
Bảng 3: Các trạng thái của AES ............................................................................... 36
Bảng 4: Độ dài khóa AES ......................................................................................... 37
vii
LỜI MỞ ĐẦU
Như chúng ta đã biết, ngày nay thông tin trở thành một tài nguyên vô giá và không thể thiếu trong các hoạt động của con người. Nhu cầu trao đổi thông tin ngày càng lớn. Mạng máy tính ra đời giúp việc trao đổi và xử lý thông tin một cách dễ dàng và nhanh chóng.
Các cơ quan, tổ chức, cá nhân ở khắp mọi nơi trên thế giới biết đến nhau thông qua việc sử dụng Internet để trao đổi thông tin và dữ liệu. Internet đã tác động sâu sắc đến hoạt động sản xuất kinh doanh của các doanh nghiệp và tác động đến hầu hết mọi hoạt động của đời sống kinh tế xã hội. Trong đó, việc thỏa thuận và ký kết hợp đồng giữa các bên tham gia là một khâu rất quan trọng đòi hỏi các bên phải thực hiện hợp đồng theo đúng khuôn khổ pháp lý và được pháp luật công nhận. Trước tiên, ta phải hiểu Hợp đồng điện tử là gì? Theo [10] Luật Giao dịch điện tử Việt Nam 2005 chỉ ra rằng Hợp đồng điện tử là hợp đồng được thiết lập dưới dạng thông điệp dữ liệu, trong đó thông điệp dữ liệu là thông tin được tạo ra, được gửi đi, được nhận và được lưu trữ bằng phương tiện điện tử1. Trước đây, các bên tham gia sẽ trực tiếp gặp nhau để giới thiệu, lựa chọn sản phẩm, bàn bạc và cùng thống nhất ký vào hợp đồng nhưng ngày nay nhờ Internet mà việc thỏa thuận hợp đồng giảm được nhiều thời gian trao đổi giữa doanh nghiệp với doanh nghiệp đối tác cũng như các khách hàng của họ và sau khi bàn bạc họ cũng đưa ra quyết định và ký vào hợp đồng nhưng khác với phương thức truyền thống ở chỗ là việc thỏa thuận và ký kết diễn ra trên mạng, đó chính là Hợp đồng điện tử.
Vấn đề đặt ra là trong môi trường mạng một lượng tin hay dữ liệu khi được gửi từ người gửi đến người nhận thường phải qua nhiều nút, nhiều trạm không ai đảm bảo rằng thông tin đến người nhận không bị sao chép, không bị đánh cắp hay không bị sửa đổi…Mục 1.3 [2] chỉ ra rằng bảo đảm an toàn thông tin trong thỏa thuận và ký kết hợp đồng của thương mại điện tử là bảo đảm việc xác minh nguồn gốc giao dịch, đảm bảo bí mật, toàn vẹn thông tin và chống chối bỏ giao dịch. Đây là một vấn đề cấp thiết cần phải được giải quyết hiện nay, xuất phát từ yêu cầu này mà tác giả đã lựa chọn đề tài “Nghiên cứu một số bài toán về an toàn thông tin trong thỏa thuận và ký kết hợp đồng của thương mại điện tử” làm đề tài nghiên cứu của mình.
Trên cơ sở làm rõ một số bài toán về an toàn thông tin trong giai đoạn thỏa thuận và ký kết hợp đồng điện tử, luận văn sẽ tập trung nghiên cứu một số kỹ thuật để đảm bảo việc xác minh nguồn gốc giao dịch, đảm bảo bí mật, toàn vẹn thông tin 1 Phương tiện điện tử là phương tiện hoạt động dựa trên công nghệ điện, điện tử, kỹ thuật số, từ tính, truyền dẫn không dây, quang học, điện từ hoặc công nghệ tương tự.
1
và chống chối bỏ giao dịch cũng như thử nghiệm chương trình thực hiện việc xác nhận đúng hợp đồng, đảm bảo thông tin hợp đồng không bị sửa đổi và tiến hành ký kết hợp đồng.
Nhiệm vụ cụ thể mà luận văn cần giải quyết đó là: Nêu rõ khái niệm, vai trò, đặc điểm, phân loại, phương pháp và các vấn đề
gặp phải khi thực hiện thỏa thuận hợp đồng điện tử.
Phân tích, nghiên cứu, tìm hiểu một số bài toán về ATTT trong thỏa thuận và
ký kết hợp đồng điện tử.
Nghiên cứu một số kỹ thuật đảm bảo an toàn thông tin trong giai đoạn thỏa
thuận hợp đồng.
Xây dựng chương trình thử nghiệm sử dụng các kỹ thuật trên để thực hiện
việc giải quyết một số bài toán trong thỏa thuận và ký kết hợp đồng.
Đối tượng nghiên cứu của đề tài là những vấn đề liên quan đến giai đoạn thứ hai của quy trình TMĐT (giai đoạn thỏa thuận hợp đồng), trong đó đặc biệt chú trọng đến việc nghiên cứu các kỹ thuật đảm bảo An toàn thông tin trong giai đoạn này.
Phạm vi nghiên cứu của luận văn
tập trung chủ yếu đến các kỹ thuật thủy vân số, mã hóa, chữ ký số để xác minh nguồn gốc giao dịch, đảm bảo tính toàn vẹn thông tin và chống chối bỏ giao dịch trong thỏa thuận và ký kết hợp đồng. Ngoài ra còn có một số kỹ thuật khác cũng được đề cập trong luận văn.
Về phương pháp tiếp cận của bài toán, tác giả sử dụng các phương pháp cơ
bản như:
Phương pháp phân tích và tổng hợp lý thuyết. Phương pháp chuyên gia khi tham khảo các giáo trình, bài giảng, tạp chí liên
quan đến việc giải quyết bài toán.
Phương pháp diễn giải các thuật toán. Phương pháp tổng hợp để đưa ra kết luận. Luận văn được trình bày theo bố cục như sau: Chương 1. Các khái niệm cơ bản. Trong chương này, tác giả sẽ nêu tổng
quan về An toàn thông tin trong TMĐT, hướng tiếp cận, phương pháp giải quyết.
Chương 2. Các bài toán về ATTT trong thỏa thuận và ký kết hợp đồng của TMĐT. Chương này sẽ giới thiệu những bài toán về ATTT trong giai đoạn thỏa thuận hợp đồng. Tiếp theo là đưa ra các kỹ thuật cụ thể để giải quyết từng bài toán trong giai đoạn này bao gồm: Thủy vân số để xác nhận đúng hợp đồng, Mã hóa AES để mã hóa hợp đồng và chữ ký không thể phủ nhận để ký kết hợp đồng.
Chương 3. Thực nghiệm chương trình. Là chương cài đặt, thử nghiệm chương trình ứng dụng mã hóa AES và chữ ký không thể phủ nhận để giải quyết bài toán đặt ra.
2
CHƢƠNG 1. CÁC KHÁI NIỆM CƠ BẢN
1.1. Tổng quan về thƣơng mại điện tử
1.1.1. Khái niệm về TMĐT
Theo Bill Gates: “Cạnh tranh ngày nay không phải giữa các sản phẩm mà giữa các mô hình kinh doanh”. Điều đó có nghĩa là sự thành công của doanh nghiệp không phải phụ thuộc hoàn toàn vào sản phẩm mà phụ thuộc khá nhiều vào mô hình kinh doanh. Nếu doanh nghiệp muốn nhận được nhiều cơ hội mới thì cần phải quan tâm nhiều đến thông tin, Internet, Web. Như chúng ta đã biết sự ra đời của công nghệ Web kích thích các doanh nghiệp tham gia và dẫn đến sự ra đời của TMĐT.
Hình 1.1: Mô hình đơn giản thương mại điện tử
TMĐT được hiểu theo [9] như sau: Việc mua bán hàng hóa, sản phẩm hay dịch vụ trên hệ thống điện tử như Internet và mạng máy tính gọi là Thương mại điện tử (e-commerce).
Mặt khác, [9] cũng đưa ra các định nghĩa về khái niệm TMĐT như sau:
Theo WTO: "Thương mại điện tử bao gồm việc sản xuất, quảng cáo, bán hàng và phân phối sản phẩm được mua bán và thanh toán trên mạng Internet, nhưng được giao nhận một cách hữu hình, cả các sản phẩm giao nhận cũng như những thông tin số hoá thông qua mạng Internet".
Theo APEC: "TMĐT liên quan đến việc trao đổi hàng hóa, dịch vụ giữa các nhóm hoặc các cá nhân chủ yếu là thông qua các giao dịch thương mại dựa trên Internet."
3
TMĐT [4] được định nghĩa trong Luật mẫu TMĐT của Ủy ban Liên Hợp quốc về Luật Thương mại Quốc tế (UNCITRAL): “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: bất cứ giao dịch nào về thương mại, giao dịch nào về cung cấp, trao đổi hàng hóa hoặc dịch vụ, thỏa thuận phân phối, đại diện hoặc đại lý thương mại, cho thuê dài hạn, ủy thác hoa hồng, tư vấn, xây dựng các công trình, đầu tư, cấp vốn, kỹ thuật công trình, bảo hiểm, ngân hàng, tô nhượng hoặc thỏa thuận khai thác, liên doanh với các hình thức khác về kinh doanh hoặc hợp tác công nghiệp, chuyên chở hành khách hay hàng hóa bằng đường không, đường biển, đường sắt hoặc đường bộ.”
Ngoài ra, [11] cũng chỉ ra rằng: “TMĐT là hoạt động kinh doanh trực tuyến. Việc bán hàng theo cách truyền thống giờ đây có thể được thực hiện bằng điện tử do một phần mềm nào đó lập trình chạy các chức năng chính của một website2 TMĐT bao gồm: hiển thị sản phẩm, đặt hàng trực tuyến và quản lý hàng tồn kho. Phần mềm này tập trung trên một máy chủ thương mại và làm việc chung với các hệ thống thanh toán trực tuyến để xử lý thanh toán. Vì vậy những máy chủ và đường truyền dữ liệu này tạo nên sức mạnh của Internet, theo nghĩa rộng TMĐT có nghĩa là kinh doanh trên mạng kết nối với nhau.”
Các học giả nghiên cứu tại đại học Texas3 cho rằng TMĐT và kinh doanh điện tử4 đều bị bao hàm bởi nền kinh tế Internet. Như vậy chúng ta có thể hiểu rằng TMĐT chỉ có thể xảy ra khi việc kinh doanh được thực hiện trong mạng Internet.
1.1.2. Vai trò tác động của TMĐT
Cùng với sự ra đời và phát triển của Internet cũng như World Wide Web5 thì
TMĐT ngày càng phát triển và khẳng định vị thế của nó trong đời sống xã hội. Trong hoạt động kinh doanh, TMĐT góp những vai trò đáng kể [2]:
Với doanh nghiệp:
So với thương mại truyền thống TMĐT giúp cho các doanh nghiệp có thể tương tác với nhau, tìm kiếm khách hàng tiện lợi hơn, nhanh hơn với chi phí thấp hơn nhiều. TMĐT dẫn đến việc cạnh tranh toàn cầu phát triển.
2 Website là tập hợp trang web, thông thường chỉ nằm trong một tên miền hay tên miền phụ trên World Wide Web của Internet. 3 Texas là viện đại học chuyên về nghiên cứu của tiểu bang Texas – Hoa Kỳ. 4 Kinh doanh điện tử là việc sử dụng Internet, sử dụng các công nghệ trực tuyến tạo ra quá trình kinh doanh hiệu quả cho dù việc có hay không có lợi nhuận, do đó tăng lợi ích với khách hàng. 5 Gọi tắt là Web hay WWW- mạng lưới toàn cầu là không gian thông tin mà mọi người có thể đọc và viết (truy cập) thông qua các máy tính nối mạng Internet.
4
Nhờ sự ra đời của TMĐT các doanh nghiệp vừa và nhỏ có thể cạnh tranh với các doanh nghiệp lớn hơn. Nó giúp các doanh nghiệp này có thể giới thiệu hàng hóa hay sản phẩm của mình đến khách hàng một cách nhanh chóng, tự động mà lại giảm chi phí liên lạc, giảm chi phí giao dịch và marketing.
Với người tiêu dùng:
Nhờ vào TMĐT, người mua có thể nghiên cứu, tìm hiểu hàng hóa, sản phẩm và các dịch vụ kèm theo một cách tiện lợi và nhanh nhất có thể. Họ có thể so sánh chất lượng cũng như giá cả của hàng hóa để có sự lựa chọn tốt nhất.
Internet cách mạng hoá marketing trực tiếp và marketing bán lẻ. Người tiêu dùng có thể mua sắm bất kì sản phẩm hàng hóa nào của những nhà sản xuất và bán lẻ trên khắp thế giới…Tất cả đều có thể thực hiện ngay tại nhà.
Hình 1.2: Khảo sát giá trị mua hàng trực tuyến của người dùng Việt Nam 2015
Với ngành ngân hàng và các ngành dịch vụ khác:
Khi TMĐT phát triển ngành ngân hàng từ giữ tiền truyền thống đã chuyển sang lưu trữ, giao dịch và quản lý đồng tiền số dựa vào Internet và TMĐT…Ngoài ra, các ngành như: giáo dục, tư vấn, thiết kế, marketing và rất nhiều những dịch vụ tương ứng đã và đang thay đổi rất nhiều về cách thức, chất lượng dịch vụ để đáp ứng nhu cầu phát triển của xã hội.
Doanh thu từ TMĐT chiếm tỷ trọng ngày càng lớn trong doanh thu thương mại...Doanh nghiệp và người tiêu dùng từ các quốc gia khác nhau trên thế giới tham gia vào TMĐT ngày càng nhiều, chẳng hạn:
Một báo cáo gần đây [13] từ dịch vụ khảo sát trực tuyến Q&Me đã đưa ra nhiều thống kê mới về thị trường TMĐT Việt Nam so sánh với các quốc gia khác. Theo đó, doanh thu bán hàng TMĐT của Việt Nam đã đạt 4,07 tỷ USD. So với Quốc gia có nền TMĐT hàng đầu thế giới là Mỹ, quy mô Việt Nam chỉ bằng 1/83 lần. So với Nhật Bản, với mức doanh thu năm 2015 là 106,6 tỷ USD, quy mô TMĐT nước này gấp đúng 26 lần Việt Nam.
Mặc dù quy mô TMĐT của Việt Nam còn nhỏ nhưng tốc độ tăng trưởng lại rất nhanh. Năm 2013 và 2014, tổng doanh thu từ TMĐT Việt Nam lần lượt cán mốc 2,2 tỷ USD và 2,97 tỷ USD. Như vậy mức tăng trưởng trong hai năm này lần lượt là 35% và 37%. Trong 2 năm này, tốc độ tăng trưởng của TMĐT Nhật Bản là 17% và 15%. TMĐT Việt Nam tăng trưởng nhanh hơn TMĐT Nhật Bản.
5
Hình 1.3: Biểu đồ Quy mô TMĐT Việt Nam (tỷ USD).
Có thể nói, trong mắt các chuyên gia trong và ngoài ngành, TMĐT Việt Nam vẫn còn đầy tiềm năng, “đang ngủ yên chưa được đánh thức”. Điều này củng cố bởi sự tăng lên của tổng số người dùng Internet tại Việt Nam, của tỷ lệ người dùng tin tưởng mua hàng trên các kênh trực tuyến và kỳ vọng vào sự xuất hiện của các hình thức mua sắm trực tuyến. Dưới đây là việc khảo sát mức độ ứng dụng TMĐT ở Việt Nam ở các độ tuổi từ dưới 15 đến 49 tuổi cho thấy sự ảnh hưởng của TMĐT đến các độ tuổi có sự chênh lệch khá lớn:
Hình 1.4: Biểu đồ so sánh mức độ ứng dụng TMĐT ở Việt Nam
1.1.3. Các đặc trƣng của TMĐT
Những điểm khác biệt cơ bản [4] của TMĐT so với các hoạt động Thương
mại truyền thống:
Các bên tiến hành giao dịch trong thương mại điện tử không tiếp xúc trực
tiếp với nhau và không đòi hỏi phải biết nhau từ trước.
6
Thương mại truyền thống thì các bên thường trực tiếp gặp nhau tiến hành giao dịch. Các giao dịch thực hiện chủ yếu theo nguyên tắc như vận đơn, chuyển tiền, gửi báo cáo, séc hóa đơn. Các phương tiện viễn thông như: fax, telex,... chỉ được sử dụng để trao đổi số liệu kinh doanh.
Mọi người đều có thể tham gia vào TMĐT từ các vùng xa xôi hẻo lánh đến các khu đô thị lớn, điều đó chứng tỏ tất cả mọi người ở khắp 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 nhất thiết đòi hỏi phải có mối quen biết với nhau từ trước.
Các giao dịch của TMĐ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) còn 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. TMĐT tác động trực tiếp tới môi trường cạnh tranh toàn cầu.
Máy tính cá nhân giúp cho doanh nghiệp hướng ra thị trường trên toàn thế giới. Trước kia phải mất nhiều năm thì các doanh nhân mới thành lập mới có thể kinh doanh ở các nước như Nhật Bản, Đức, Chile…nhưng nhờ vào sự phát triển của TMĐT thì điều đó hoàn toàn có thể mà không phải bước ra khỏi nhà chỉ cần một chiếc máy tính kết nối Internet.
Trong giao dịch TMĐT đều có sự tham gia của ít nhất ba chủ thể, trong đó có người cung cấp dịch vụ mạng, các cơ quan chứng thực là bên không thể thiếu được.
Trong TMĐT, bên thứ ba đó là các cơ quan chứng thực, nhà cung cấp dịch vụ mạng... là những người tạo ra môi trường cho các giao dịch TMĐT. Cơ quan chứng thực và nhà cung cấp dịch vụ mạng có nhiệm vụ chuyển, lưu giữ và xác nhận độ tin cậy thông tin giữa các bên tham gia giao dịch TMĐT.
Đối với TMĐT thì mạng lưới thông tin chính là thị trường còn đố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.
Thông qua TMĐT, nhiều loại hình kinh doanh mới được hình thành. Các trang Web nổi tiếng như Yahoo! America Online, Google góp phần quan trọng vào việc cung cấp thông tin trên mạng. Các trang Web này được ví như các “khu chợ” khổng lồ trên Internet. Chỉ cần nhấn chuột là khách hàng có thể truy cập vào hàng ngàn cửa hàng ảo khác nhau và tỷ lệ khách hàng vào thăm rồi mua hàng là rất cao. Nhiều người sẵn sàng mất thêm một chút chi phí còn hơn là phải đi tới tận cửa hàng. Các chủ cửa hàng ngày nay cũng đang đua nhau 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 để đưa thông tin lên Web.
7
Hình 1.5: Các loại giao dịch B2B trong TMĐT
1.1.4. Các loại hình giao dịch TMĐT
Theo [4] trong TMĐT có ba chủ thể tham gia bao gồm: Chính phủ (G) - vai
trò là định hướng, điều tiết và quản lý; doanh nghiệp (B) - vai trò động lực phát
triển TMĐT; người tiêu dùng (C) - vai trò quyết định sự thành công của TMĐT. Từ
đó ta có các loại giao dịch TMĐT: B2B, B2C, B2G, C2C, C2G…trong đó B2B và
B2C là hai loại hình quan trọng nhất.
B2B: Mô hình TMĐT giữa Doanh nghiệp với Doanh nghiệp
B2C: Mô hình TMĐT giữa Doanh nghiệp với Người tiêu dùng. Dưới đây là
doanh thu TMĐT B2C của một số nước trên thế giới:
8
Hình 1.6: Doanh thu bán lẻ TMĐT của Hoa Kỳ
Hình 1.7: Doanh thu bán lẻ TMĐT của Hàn Quốc
Hình 1.8: Doanh thu bán lẻ TMĐT của Indonesia
9
Hình 1.9: Doanh thu bán lẻ TMĐT của Úc
Hình 1.10: Doanh thu bán lẻ TMĐT của Ấn Độ
1.1.5. Ba giai đoạn hoạt động của TMĐT
Như chúng ta đã thấy việc ứng dụng TMĐT trong hoạt động sản xuất, kinh doanh hiện nay được xem là một trong những công cụ hỗ trợ đắc lực trong hoạt động kinh doanh, đã mang lại hiệu quả rõ rệt trong chiến lược kinh doanh của doanh nghiệp, giúp doanh nghiệp tiết kiệm thời gian, giảm chi phí, rút ngắn khoảng cách giao thương và dễ dàng mở rộng thị trường. Trong TMĐT bao gồm quá trình mua bán hàng hóa, giao dịch thương mại thông qua các phương tiện điện tử. Quy trình TMĐT có các giai đoạn sau:
Giai đoạn quảng cáo và giới thiệu sản phẩm (Marketing): Quảng cáo và giới thiệu sản phẩm là khâu đầu tiên và là một trong những khâu quyết định sự thành công của doanh nghiệp trong quy trình thương mại. Quảng cáo
10
hàng hóa trực tuyến chính là hoạt động giới thiệu và chào bán sản phẩm, dịch vụ qua hệ thống điện tử như Internet, mạng máy tính. Nó cung cấp đầy đủ các thông tin về sản phẩm, dịch vụ tới khách hàng, đối tác nhằm góp phần nâng cao sức cạnh tranh, tiết kiệm chi phí cho hoạt động tiếp thị cũng như bán hàng mang lại hiệu quả kinh tế cho doanh nghiệp.
Người tiêu dùng có thể phản hồi ngay lập tức hoặc có thể giao tiếp trực tiếp với nhà cung ứng nhờ vào sự tương tác của quảng cáo hàng hóa trực tuyến làm cho các giao dịch TMĐT dễ dàng hơn, tiết kiệm thời gian và chi phí cho hoạt động mua bán. Việc mua sắm được thực hiện thuận tiện hơn nhờ vào các ứng dụng công nghệ thông tin, người dùng có thể ngồi ở bất cứ đâu và mua sắm chỉ với các thiết bị thông minh như máy tính, smartphone được kết nối mạng Internet. Việc đặt hàng, nhận hàng diễn ra đơn giản và tiện lợi thông qua các website trực tuyến.
Một lượng lớn thông tin luôn sẵn sàng trong quảng cáo trực tuyến giúp người tiêu dùng có thể xem thông tin của sản phẩm mọi lúc và thực hiện mua bán, giao dịch bất cứ lúc nào và bất kì nơi đâu. Nó giúp cho các doanh nghiệp mở rộng thị trường, giúp tiết kiệm được chi phí thuê mặt bằng, chi phí thuê nhân viên bán hàng…Tuy nhiên, bên cạnh những lợi thế mà quảng cáo trực tuyến đem lại thì có không ít vấn đề về an toàn thông tin như: truy nhập trái phép vào CSDL để thay đổi thông tin về sản phẩm, dịch vụ..vi phạm bản quyền sở hữu trí tuệ, sao chép trái phép…
Giai đoạn thỏa thuận và ký kết hợp đồng: Để đáp ứng được yêu cầu hợp tác kinh doanh thì các bên phải đối thoại, thương lượng với nhau nhằm tiến đến một thỏa thuận chung đó chính là thỏa thuận hợp đồng. Và việc xác nhận các nội dung đã đàm phán chính là ký kết hợp đồng, nghĩa là ký xác nhận để từ đó bản hợp đồng có hiệu lực.
Việc thỏa thuận và ký kết hợp đồng TMĐT đều phải tuân theo luật thương mại. Internet đã giúp cho việc thỏa thuận hợp đồng giảm được nhiều thời gian trao đổi giữa các bên. Tuy nhiên, bài toán đặt ra là làm thế nào để giải quyết các vấn đề an toàn thông tin trong giao dịch bao gồm việc xác minh nguồn gốc, đảm bảo tính bí mật, toàn vẹn thông tin, chống chối bỏ giao dịch là việc chúng ta cần phải giải quyết.
Giai đoạn thanh toán và chuyển giao sản phẩm: Đây là giai đoạn thực hiện các giao dịch thanh toán trong kinh doanh, vì vậy việc đảm bảo an toàn thông tin trong việc thanh toán giữa các bên là rất cần thiết. Nhờ vào TMĐT việc truyền dữ liệu đến thẻ tín dụng hay truyền dữ liệu đến các phương tiện thanh toán khác của khách hàng được thực hiện dễ dàng và thuận tiện hơn. Tuy nhiên, khi các giao dịch thanh toán qua mạng được diễn ra thì nguy cơ bị mất thông tin liên quan đến thẻ hoặc các giao dịch có sử dụng thẻ là rất lớn. Kẻ gian sẽ thực hiện các hành vi lừa đảo, gian lận thẻ và lấy cắp các thông tin của khách
11
hàng để thực hiện mưu đồ đen tối, chẳng hạn chúng có thể giả danh khách hàng để thiết lập các khoản tín dụng mới…
Trong trường hợp khách hàng nước ngoài trước đó có đặt hàng nhưng sau đó phủ nhận việc này thì sẽ là một thiệt hại rất lớn cho người bán hàng trực tuyến bởi vì thực tế thường không có cách nào xác định được hàng đã đến tay khách hàng chưa và chủ thẻ có đúng là người đã đặt đơn hàng hay không? Do vậy, sự an toàn trong thanh toán trực tuyến là một trong những vấn đề cốt yếu của TMĐT.
1.2. Tổng quan về An toàn thông tin
1.2.1. An toàn thông tin là gì? Tại sao cần bảo đảm An toàn thông tin?
An toàn thông tin là gì? An toàn thông tin là thuật ngữ dùng để chỉ việc bảo vệ thông tin số và các hệ thống thông tin chống lại các nguy cơ tự nhiên, các hành động truy cập, sử dụng, phát tán, phá hoại, sửa đổi và phá hủy bất hợp pháp nhằm bảo đảm cho các hệ thống thông tin thực hiện đúng chức năng, phục vụ đúng đối tượng một cách sẵn sàng, chính xác và tin cậy.
Tại sao cần đảm bảo An toàn thông tin? Nhu cầu trao đổi thông tin phát triển nhanh chóng trong thời đại ngày nay. Sự ra đời của Internet giúp con người trao đổi thông tin một cách dễ dàng và thuận tiện. Chỉ cần với một chiếc máy tính kết nối mạng bạn có thể gửi nhận Email và thực hiện các giao dịch buôn bán trực tuyến…Vấn đề ở chỗ thông tin quan trọng có được toàn vẹn hay không? Những bí mật về tài chính, về kinh doanh có được bảo mật không? Điều đáng lo là thông tin ở kho dữ liệu hay đang trên đường truyền có thể bị sửa đổi, sao chép, giả mạo làm ảnh hưởng đến các tổ chức, doanh nghiệp hay rộng hơn là cả một quốc gia. Mục tiêu của các tổ chức tình báo là nắm được những thông tin quan trọng về vấn đề an ninh quốc gia.
Số lượng các vụ tấn công của tin tặc ngày càng nhiều, quy mô và phương pháp tấn công ngày càng lớn. Chẳng hạn, vụ tin tặc tấn công các sân bay tại Việt Nam 2016 là vụ tấn công của các tin tặc (hacker) vào chiều 29 tháng 7 năm 2016 vào một số màn hình hiển thị thông tin chuyến bay tại khu vực làm thủ tục bay của các Sân bay Tân Sơn Nhất, Sân bay Nội Bài, Sân bay Đà Nẵng, Sân bay Phú Quốc. Các màn hình của sân bay đã bị chèn những hình ảnh và nội dung câu chữ xúc phạm Việt Nam và Philippines, xuyên tạc các nội dung về biển Đông. Hệ thống phát thanh của sân bay cũng phát đi những thông điệp tương tự. Đồng thời website của Vietnam Airlines cũng bị hack với 411.000 dữ liệu của hành khách đi máy bay đã bị hacker thu thập và phát tán. Cuộc tấn công website và hệ thống thông tin sân bay này được đánh giá là lớn nhất từ trước đến nay vào hệ thống thông tin hàng
12
không của Việt Nam. Vì vậy, đảm bảo an toàn thông tin là nhiệm vụ cấp thiết đặt ra cho chúng ta.
Khi ai đó nhận được một bản tin trên mạng, có gì bảo đảm rằng đối tác đã gửi bản tin đó cho họ. Có cách nào để biết được tiền điện tử hay Sec điện tử được thanh toán trên mạng có phải là của đối tác trả cho họ hay không? Tiền đó là tiền thật hay tiền giả?
Trước đây, kỹ thuật đơn giản để “bảo mật” thông tin đó là giữa người gửi và người nhận thỏa thuận một số từ ngữ mà hay gọi là tiếng “lóng” trước khi truyền thông báo để bảo vệ thông tin.
Theo cách truyền thống, người gửi thường ký phía dưới của văn bản quan trọng. Tuy nhiên, văn bản có thể bị sao chép, sửa đổi và có thể bị giả mạo chữ ký khi truyền qua mạng. Do vậy, đảm bảo ATTT được đặt ra để giải quyết vấn đề trên.
Ngày nay, người ta dùng mật mã cổ điển để hoán vị, thay thế các ký tự trong bản tin “gốc” để được bản tin “mật mã” làm cho người khác “khó” có thể đọc được.
1.2.2. Mục tiêu của An toàn thông tin
Bảo đảm bí mật: thông tin chỉ cho phép một số người có thẩm quyền được đọc, được biết thông tin (nghĩa là thông tin không bị lộ đối với người không được phép) còn sẽ giữ bí mật đối với tất cả mọi người không được phép.
Bảo đảm toàn vẹn: thông tin không bị sửa đổi bởi những người không có quyền hoặc bằng những phương tiện không được phép (nghĩa là ngăn chặn, hạn chế bổ sung, loại bỏ và sửa dữ liệu không được phép).
Bảo đảm xác thực: Xác thực đúng thực thể có trách nhiệm về nội dung thông
tin (xác định nguồn gốc thông tin), thực thể có giao dịch, kết nối.
Bảo đảm sẵn sàng: Thông tin sẵn sàng cho những người dùng được phép. Bảo đảm tính không thể chối bỏ: Ngăn chặn việc chối bỏ trách nhiệm với
một cam kết đã có (chối bỏ việc đã ký vào một hợp đồng, văn bản nào đó…).
1.2.3. Các giải pháp bảo đảm An toàn thông tin
Các giải pháp bảo đảm An toàn thông tin [1] gồm: Bảo đảm toàn vẹn và xác thực thông tin: - Mã hóa (”Che” dữ liệu): thay đổi hình dạng dữ liệu gốc làm cho người khác
khó nhận ra.
- “Giấu” dữ liệu: dữ liệu này được giấu trong môi trường dữ liệu khác. - Bảo đảm toàn vẹn và xác thực thông tin. Kỹ thuật sử dụng: Mã hóa, giấu tin, thủy ký, ký số, hàm băm … Giao thức bảo toàn thông tin, xác thực thông tin...
13
Kiểm soát lối vào ra của thông tin: - Kiểm soát ngăn chặn thông tin vào hoặc ra hệ thống máy tính. - Kiểm soát cấp quyền sử dụng thông tin trong hệ thống máy tính. - Kiểm soát, tìm diệt Virus, Trojan horse... vào ra hệ thống máy tính. Kỹ thuật sử dụng: Mật khẩu, mạng riêng ảo, tường lửa, xác thực, nhận dạng,
cấp quyền.
Phát hiện, xử lý các lỗ hổng trong ATTT:. - “Các lỗ hổng” trong thuật toán hay trong các giao thức mật mã, giấu tin. - “Các lỗ hổng” trong các giao thức mạng. - “Các lỗ hổng” trong các hệ điều hành mạng. - “Các lỗ hổng” trong các ứng dụng.
Phối hợp các phương pháp: Xây dựng ”hành lang” an toàn cho thông tin
bao gồm:
- Hạ tầng PKI (mật mã khóa công khai). - Kiểm soát lối vào hay kiểm soát lối ra: mật khẩu, mạng riêng ảo, tường lửa,
cấp quyền.
- Kiểm soát và xử lý các lỗ hổng trên.
1.3. Mã hóa dữ liệu
Như chúng ta đã thấy hiện nay mã hóa được biết đến rất nhiều trong các lĩnh vực với nhiều cách thức khác nhau thông qua việc sử dụng các thuật toán mã hóa. Để bảo vệ thông tin thì mã hóa chính là lựa chọn tối ưu giúp bảo mật tài liệu, giúp việc truyền tài liệu được an toàn mà không lo dữ liệu bị đánh cắp hoặc sửa đổi bởi vì thông tin đã được mã hóa chứ không còn ở dạng tài liệu thô nữa và như vậy việc đánh cắp thông tin sẽ rất khó khăn hoặc nếu có bị đánh cắp thì cũng không thể dùng được.
Hiện nay, có rất nhiều vấn đề có thể xảy ra khi truyền thông tin qua mạng nếu
không sử dụng các công cụ mã hóa hoặc chữ ký điện tử thì:
- Thông tin nhận được có thể bị người khác sửa đổi. - Thông tin nhận được có thể không phải của người cần gửi. - Ngoài người nhận ra thì người khác có thể đọc được thông tin. - Thông tin được truyền trên mạng có thể bị “xâm nhập” và lấy thông tin tuy
nhiên vẫn đến được người nhận mà không bị thay đổi nội dung.
- Thông tin có thể bị sửa đổi và truyền tới cho người nhận mà người nhận
không biết thông tin đã bị thay đổi trên đường truyền.
- Thông tin bị đánh cắp và không đến được người nhận. Để giải quyết được những vấn đề trên thì thông tin sẽ được mã hóa trước khi
truyền đi và khi đến người nhận thì sẽ được giải mã để biết được nội dung.
14
Trên đường truyền nội dung của thông tin có thể bị theo dõi, bị đọc trộm hay bị đánh cắp vì vậy để đảm bảo rằng chỉ có người nhận mới được đọc tin thì trước khi gửi chúng cần phải được mã hóa thành “thông tin không có ý nghĩa”. Và để hiểu được thông điệp này thì kẻ tấn công phải giải mã được nó, nếu chúng được mã hóa với thuật toán càng tốt thì chi phí giải mã càng cao đối với những kẻ tấn công này và đương nhiên chúng sẽ phải tính toán xem chi phí giải mã có cao hơn thông tin cần biết hay không? Như vậy thuật toán mã hóa càng tốt thì vấn đề bảo mật thông tin càng cao. 1.3.1. Khái niệm Mã hóa dữ liệu
Để bảo đảm ATTT lưu trữ trong máy tính hay bảo đảm ATTT trên đường truyền tin [1] người ta phải “Che Giấu” (mã hóa) các thông tin này để người khác khó nhận ra.
Mã hóa: Là quá trình chuyển thông tin từ dạng đọc được (bản rõ) thành
thông tin không thể đọc được (bản mã) đối với người không được phép.
Giải mã: Là quá trình chuyển đổi thông tin ngược lại từ thông tin không thể
đọ được (bản mã) sang thông tin có thể đọc được (bản rõ).
Hình 1.11: Sơ đồ mã hóa đơn giản.
1.3.1.1. Hệ mã hóa
Hệ mã hóa: là tập hợp các thuật toán, các khóa nhằm mã hóa và giải mã thông
tin. Hệ mã hóa là bộ năm (P, C, K, E, D) trong đó:
P là tập hữu hạn các bản rõ có thể. C là tập hữu hạn các bản mã có thể. K là tập hữu hạn các khoá có thể. E là tập các hàm lập mã. D là tập các hàm giải mã. Khóa lập mã ke K, hàm lập mã eke E, eke: P C, Khóa giải mã kd K, hàm giải mã dkd D, dkd: C P, sao cho dkd (eke (x)) = x, x P.
x ở đây được gọi là bản rõ và eke (x) được gọi là bản mã.
15
1.3.1.2. Mã hóa và Giải mã
Người gửi G eke (T) Người nhận N (có khóa lập mã ke) (có khóa giải mã kd) Tin tặc có thể trộm bản mã eke (T)
Người gửi G muốn gửi bản tin T cho người nhận N. Để bảo đảm bí mật, G mã hoá bản tin bằng khóa lập mã ke, sau khi mã hóa G nhận được bản mã eke (T), rồi gửi cho N. Tin tặc có thể trộm bản mã eke (T), nhưng nếu có trộm được bản mã này cũng “khó” hiểu được bản tin gốc T nếu không có khoá giải mã kd.
N nhận được bản mã và dùng khoá giải mã kd để giải mã bản mã eke (T), sau
khi giải mã xong sẽ nhận được bản tin gốc T = dkd (eke (T)). 1.3.2. Phân loại hệ mã hóa
Như chúng ta đã biết hiện nay có 2 loại mã hóa chính bao gồm: mã hóa khóa
đối xứng và mã hóa khoá công khai.
1.3.2.1. Hệ mã hóa khóa đối xứng
Mã hóa khóa đối xứng [1] là hệ mã hóa mà cả khóa lập mã và khóa giải mã “giống nhau” nếu biết được khóa lập mã thì có thể “dễ” tính ra được khóa giải mã và ngược lại biết được khóa giải mã thì sẽ “dễ” tính ra được khóa lập mã. Đặc biệt có một số hệ mã hóa có khoá lập mã và khoá giải mã trùng nhau (ke = kd), chẳng hạn như hệ mã hóa “dịch chuyển” hay DES.
Hệ mã hóa khóa đối xứng hay còn gọi là hệ mã hóa khoá bí mật, khóa riêng bởi vì phải giữ bí mật cả hai khóa. Người gửi, người nhận phải thoả thuận khoá chung (lập mã hay giải mã) và khoá này phải được giữ bí mật trước khi dùng hệ mã hóa khóa đối xứng. Độ an toàn của hệ mã hóa khóa đối xứng phụ thuộc vào khoá.
Ưu điểm: - Mã hóa khóa đối xứng thì mã hóa và giải mã nhanh hơn hệ mã hóa khóa
công khai.
Nhược điểm: - Mã hóa khóa đối xứng chưa thật sự an toàn vì: người mã hoá và người giải mã phải có “chung” một khoá. Do vậy khóa phải được giữ bí mật tuyệt đối (vì biết khoá này “dễ” tính được khoá kia và ngược lại).
- Việc thỏa thuận và quản lý khóa chung là khó khăn và phức tạp. Người gửi, người nhận luôn phải thống nhất với nhau về khoá chung. Việc thay đổi khoá là rất khó và dễ bị lộ. Khóa chung phải được gửi cho nhau giữa người gửi và người nhận trên kênh an toàn.
16
- Hai người (lập mã, giải mã) cùng biết “chung” một bí mật, thì việc giữ được
bí mật là rất khó!
Nơi sử dụng: - Thường được sử dụng trong môi trường như trong cùng mạng nội bộ thì
khoá chung có thể dễ dàng trao chuyển bí mật.
- Hệ mã hóa khóa đối xứng mã hóa và giải mã nhanh hơn hệ mã hóa khóa
công khai nên thường dùng để mã hóa những bản tin lớn.
Mã hóa khóa đối xứng có thể chia thành:
Mã hóa khối: là mã hóa sử dụng phép biến đổi mã hóa cố định thao tác trên
các khối của bản rõ và bản mã. Bản rõ được chia thành một chuỗi các khối có kích
thước xác định và mã hóa từng khối một tại mỗi thời điểm. Các khối bản rõ cùng
với khóa luôn được mã hóa thành các khối bản mã tương ứng. Chẳng hạn, hệ mã
hóa DES và hệ mã hóa AES (thế hệ sau của DES) 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, còn AES thao tác trên
nhữ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: 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. Mỗi lần nó được mã hóa thì mỗi bit của bản rõ sẽ được mã hóa thành một bit khác. 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 dòng khóa được sử dụng. 1.3.2.2. Hệ mã hóa khóa công khai
Hệ mã hóa khóa công khai (hệ mã hóa khóa phi đối xứng) [1] do Diffie và Hellman phát minh vào những năm 1970, là hệ mã hóa có khóa lập mã và khóa giải
mã khác nhau (ke kd), biết được khóa này cũng “khó” tính được khóa kia.
Một ai đó có thể dùng khoá công khai để mã hoá bản tin, nhưng chỉ người có
đúng khoá giải mã thì mới có khả năng đọc được bản rõ.
Ưu điểm: - Người mã hoá dùng khóa công khai và ngược lại người giải mã giữ khóa bí
mật. Vì chỉ có một người giữ khóa bí mật nên khả năng lộ khóa bí mật khó hơn.
- Nếu thám mã cố gắng tìm khoá bí mật (mặc dù biết khoá công khai) thì
chúng phải đương đầu với bài toán “khó”.
- Thuận tiện ở chỗ là thuật toán được viết một lần nhưng có thể công khai cho nhiều người dùng và cho nhiều lần dùng và họ chỉ cần giữ bí mật khóa riêng của mình.
17
- Việc tính ra cặp khoá công khai, bí mật phải trong thời gian đa thức (cho biết
các tham số ban đầu của hệ mã hóa).
- Người gửi “dễ” tạo ra bản mã C khi có bản rõ P, khoá công khai. - Người nhận “dễ” giải được thành bản rõ P khi có bản mã C, khoá bí mật. - Việc tìm ra bản rõ P cũng là bài toán “khó” nếu thám mã biết khoá công
khai, biết bản mã C thì số phép thử là vô cùng lớn và không khả thi.
Nhược điểm: - Hệ mã hóa khóa công khai mã hóa, giải mã chậm hơn hệ mã hóa khóa đối xứng. Nơi sử dụng:
- Việc trao chuyển khoá bí mật khá khó khăn và thường sử dụng đa số trên các
mạng công khai như Internet.
- Khoá công khai, bản mã đều có thể gửi đi trên một kênh truyền tin không an toàn.
- Nếu có biết cả khóa công khai, bản mã thì việc thám mã khám phá được bản
rõ cũng không phải dễ dàng.
- Hệ mã hóa khóa công khai chỉ dùng để mã hóa những bản tin ngắn vì mã hóa
và giải mã chậm.
- Đa số được sử dụng cho cặp người dùng thỏa thuận khóa bí mật của hệ mã
hóa khóa riêng. 1.3.3. Một số Hệ mã hóa tiêu biểu 1.3.3.1. Hệ mã hóa đối xứng AES
Giới thiệu: Advanced Encryption Standard (AES) - 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 nhằm mã hóa và giải mã dữ liệu do Viện Tiêu chuẩn và Công nghệ quốc gia Hoa Kỳ (National Institute Standards and Technology – NIST) phát hành ngày 26 11 2001 và được đặc tả trong Tiêu chuẩn Xử lý thông tin Liên bang 197 (Federal Information Processing Standard – FIPS 197) sau quá trình kéo dài 5 năm trình phê duyệt, AES tuân theo mục 5131 trong Luật Cải cách quản lý công nghệ thông tin năm 1996 và Luật An toàn máy tính năm 1997.
Thuật toán được hai nhà mật mã học người Bỉ là Joan Daemen và Vincent Rijmen thiết kế. Khi tham gia cuộc thi thiết kế AES thì thuật toán được đặt tên là "Rijndael". Vào những năm 1990, nhận thấy nguy cơ của mã hóa DES là kích thước khóa ngắn, nó có thể bị phá mã trong tương lai gần nên cục tiêu chuẩn quốc gia Hoa Kỳ đã kêu gọi xây dựng một phương pháp mã hóa mới. Cuối cùng
18
một thuật toán có tên là Rijndael được chọn và đổi tên thành Andvanced Encryption Standard (AES).
Thuật toán Rijndael dựa trên bản thiết kế trước đó của Daemen và Rijmen (đó là Square và Square lại được thiết kế dựa trên Shark). Khác với Rijndael sử dụng mạng thay thế hoán vị thì DES lại sử dụng mạng Feistel. AES không đòi hỏi nhiều bộ nhớ và có thể dễ dàng được thực hiện với tốc độ cao bằng phần mềm hoặc phần cứng.
Chuẩn mã hóa AES cho phép xử lý các khối dữ liệu đầu vào kích thước 128 bit và sử dụng các khóa có độ dài là 128, 192 hoặc 256 bit. Hệ mã hóa Rijndael có thể làm việc với các khóa và khối dữ liệu có độ dài lớn hơn, nhưng khi được Ủy ban tiêu chuẩn của Hoa kỳ đưa ra vào năm 2001 và chọn là chuẩn mã hóa thì nó được quy định chỉ làm việc với khối dữ liệu 128 bit và các khóa có độ dài 128, 192 hoặc 256 bit (do vậy nó còn có các tên AES-128, AES-192, AES-256 tương ứng với độ dài khóa sử dụng).
Ưu điểm:
- AES đã được sử dụng trong thông tin mật (do chính phủ Hoa Kỳ tuyên bố là
có độ an toàn cao).
- AES sử dụng bảng tra và phép thế có tính chất phi tuyến mạnh dẫn đến mức
độ phân tán thông tin phức tạp làm tăng độ an toàn cho thuật toán.
- AES mô tả cấu trúc rõ ràng, đơn giản, mô tả toán học đơn giản.
Nhược điểm:
Do cấu trúc toán học của AES mô tả toán học khá đơn giản mặc dù điều này hiện tại chưa dẫn đến mối nguy hiểm nào nhưng một số nhà nghiên cứu cho rằng trong tương lai sẽ có người lợi dụng được cấu trúc này.
Ứng dụng:
Hiện nay, AES được sử dụng rộng rãi trên toàn thế giới để bảo vệ dữ liệu ở các tổ chức như tài chính, ngân hàng, chính phủ, chữ ký điện tử, thương mại điện tử.
Mã hóa AES được ứng dụng nhanh đối với cả phần mềm và phần cứng, chỉ yêu cầu một không gian lưu trữ nhỏ sử dụng cho việc mã hóa những thiết bị cầm tay nhỏ như ổ CD, ổ USB, …
Mã hóa AES được sử dụng như một hàm băm.
19
Các khái niệm và định nghĩa:
1. Các khái niệm và ký hiệu
Biến đổi Affine Phép biến đổi bao gồm một phép nhân với một ma trận
sau đó là môṭ phép cộng của một vectơ
Bit Một số nhi ̣phân nhận giá tri ̣0 hoặc 1
Block Một dãy các bit nhi ̣phân tạo thành input, output, trạng
thái (state) và các khóa sử dụng tại các vòng lặp (Round
Key) của hệ mã. Độ dài của dãy (khối) là số lượng các
bit mà nó chứa. Các khối cũng có thể được xem là một
dãy các byte
Byte Một nhóm 8 bit
Cipher Thuật toán mã hóa
Cipher Key Khóa của hệ mã, có thể được biểu diễn dưới dạng một
mảng 2 chiều gồm 4 hàng và Nk cột
Ciphertext Bản mã
Inverse Cipher Thuật toán giải mã
Thủ tục sinh khóa (Key Thủ tục được sử dụng để sinh ra các khóa sử dụng tại
Expansion) các vòng lặp của thuật toán mã hóa, giải mã từ khóa
chính ban đầu
Round Key Là các giá trị sinh ra từ khóa chính bằng cách sử dụng
thủ tục sinh khóa. Các khóa này được sử dụng tại các
vòng lặp của thuật toán
Trạng thái (State)
Các giá trị mã hóa trung gian có thể biểu diễn dưới dạng môṭ mảng 2 chiều gồm 4 hàng và Nb cột
S-box
Một bảng thế phi tuyến được sử dụng trong thủ tuc ̣ sinh khóa và trong các biến đổi thay thế các byte để thực hiện các thay thế 1-1 đối với một giá tri ̣1 byte
Word
Một nhóm 32 bit có thể được xem như 1 đơn vi ̣tính toán độc lập hoặc là một mảng 4 byte
Bảng 1: Qui ước một số từ viết tắt và thuật ngữ của AES
20
2. Các hàm, ký hiệu và các tham số của thuật toán Các tham số thuật toán, các ký hiệu và các hàm được sử dụng trong mô tả thuật toán:
Tên hàm Giải thích
AddRoundKey() Hàm biến đổi được sử dụng trong thuật toán mã hóa và giải mã trong đó thực hiện phép XOR bit giữa trạng thái trung gian (state) và một khóa vòng lặp (Round Key). Kích thước của một Round Key bằng kích thước của trạng thái, ví dụ với Nb=4 độ dài của một Round Key sẽ là 128 bit hay 16 byte
MixColumns()
Hàm biến đổi trong thuật toán mã hóa nhận tất cả các cột của một trạng thái (state) và trộn với dữ liệu của nó (không phụ thuộc lẫn nhau) để nhận được cột mới
ShiftRows() Hàm sử dụng trong quá trình mã hóa, xử lý các trạng thái bằng cách dịch vòng ba hàng cuối của trạng thái với số lần dịch khác nhau
SubBytes()
Hàm biến đổi sử dụng trong quá trình mã hóa, xử lý một trạng thái bằng cách sử dụng một bảng thế phi tuyến các byte (S-box) thao tác trên mỗi byte một cách độc lập
InvMixColumns() Hàm biến đổi được sử dụng trong thuật toán giải mã, là hàm ngược của hàm MixColumns()
InvShiftRows() Hàm biến đổi sử dụng trong thuật toán giải mã và chính là hàm ngược của hàm ShiftRows()
Inv SubBytes() Hàm biến đổi được sử dụng trong thuật toán giải mã, là hàm ngược của hàm SubBytes()
Khóa mã hóa K
Nb Số lượng các cột (là các word 32 bit) tạo thành một trạng thái, Nb = 4)
Nk Số lượng các word 32 bit taọ thành khóa mã hóa K (Nk = 4, 6, hoặc 8)
Nr
Số lượng các vòng lặp của thuật toán, là một hàm của Nk và Nb (là các giá trị cố định) ( Nr = 10, 12 hoặc 14 tương ứng với các giá trị khác nhau của Nk)
Rcon[] Mảng word hằng số sử dụng trong các vòng lặp
RotWord() Hàm sử dụng trong thủ tục sinh khóa nhận một word 4-byte và thực hiện một hoán vị vòng
SubWord() Hàm sử dụng trong thủ tục sinh khóa nhận một word input 4-byte và sử dụng một S -box trên mỗi giá trị 4-byte này để thu được 1 word output
XOR ⊕ ⊗ ● Phép or bit tuyệt đối Phép or bit tuyệt đối Phép nhân 2 đa thức (bậc nhỏ hơn 4) theo modulo (x4 + 1) Phép nhân trên trường hữu hạn
Bảng 2: Các hàm, ký hiệu, các tham số của thuật toán
21
Độ 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” như trong phương pháp DES. Ngoài ra, thông thườ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. Trong 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 khóa mã hó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ản mã khóa mở rộng làm cho việc phân tích mật mã dựa vào 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 thuật toán AES, 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ử sai. Tính chất phức tạp của biểu thức S-box cùng với hiệu ứng khuếch tán giúp cho thuật toán không thể bị phân tích bằng phương pháp nội suy.
Đối với phương pháp thử sai với chiều dài khóa 256-bit tương ứng 2256 hay 1.2 x 1077 khả năng có thể xảy ra. Thậm chí nếu sử dụng một trong những siêu máy tính mạnh nhất hiện nay là Roadrunner 54 của IBM để xử lý thì cũng cần 3.5 x 1054 năm để kiểm tra tất cả khả năng (Roadrunner có khả năng thực hiện 1.042 triệu tỉ phép tính / giây). 1.3.3.2. Hệ mã hóa RSA Sơ đồ Là hệ mã hóa sử dụng các phép tính toán trong Zn, trong đó n là tích của hai số nguyên tố phân biệt p và q. Ta nhận thấy: (n) = (p-1).(q-1).
Mô tả thuật toán:
1. Tạo cặp khóa (bí mật, công khai) (a, b) : Chọn bí mật nguyên tố lớn p, q và tính n = p * q, công khai n, đặt P = C = Zn Tính bí mật (n) = (p-1).(q-1). Chọn khóa công khai b < (n) và b lànguyên tố cùng nhau với (n). Khóa bí mật a là phần tử nghịch đảo của b theo mod (n) ta có: a*b 1 (mod (n). Cặp khóa (bí mật, công khai) K = (a, b)/ a, b Z(n) , a*b 1 (mod (n)). Với Bản rõ x P và Bản mã y C, định nghĩa: 2. Mã hoá: y = ek (x) = x b mod n 3. Giải mã: x = dk (y) = y a mod n
22
Ta kiểm tra xem các phép mã hóa và giải mã có phải là nghịch đảo của nhau
không vì:
a*b 1 (mod (n)).
* khi đó ta có:
nên ta có: a*b t(n) +1 với một số nguyên t ≥ 1 nào đó. Giả sử x Zn
(x b)a xt(n) +1(mod n) (xt(n))x(mod n) (1t)x(mod n) x(mod n)
Thực hiện: Thiết lập hệ RSA cần tuân theo các bước sau:
1. Tạo hai số nguyên tố lớn p và q. 2. Tính n = p × q và (n) = (p-1).(q-1). 3. Chọn một số ngẫu nhiên b (với điều kiện 1 < b < (n)) sao cho UCLN(b, (n)) = 1 4. Tính a = b-1 mod (n) dùng thuật toán Euclide mở rộng. 5. Công bố n và b trong cùng một danh bạ và dùng chúng làm khóa công khai.
Độ an toàn
1. Hệ mã hóa RSA là tất định nghĩa là với một bản rõ x và một khóa bí mật
a, thì chỉ có duy nhất một bản mã y.
2. Hệ mật RSA an toàn, khi giữ được bí mật khoá giải mã a, p, q, (n).
Độ an toàn của hệ mật RSA dựa vào việc giải bài toán phân tích số nguyên
Thám mã dễ dàng tính được (n) = (q-1)*(p-1) nếu biết được p và q. Thám mã sẽ tính được a theo thuật toán Euclide mở rộng nếu biết được (n) Việc phân tích n thành tích của p và q là bài toán không dễ dàng hay nói cách khác là bài toán “khó”. dương n thành tích của hai số nguyên tố lớn p và q.
1.4. Chữ ký số
1.4.1. Khái niệm “Chữ ký số”
Để chứng thực nguồn gốc hay hiệu lực của một tài liệu [1] trước đây người ta dùng chữ ký “tay”, ghi vào phía dưới của mỗi tài liệu. Như vậy người ký phải trực tiếp “ký tay“ vào tài liệu.
Ngày nay các tài liệu được số hóa, người ta cũng có nhu cầu chứng thực nguồn gốc hay hiệu lực của các tài liệu này. Rõ ràng không thể “ký tay“ vào tài liệu, vì chúng không được in ấn trên giấy. Tài liệu “số” (hay tài liệu “điện tử”) là một xâu các bit (0 hay 1), xâu bít có thể rất dài (có thể hàng nghìn trang). “Chữ ký”
23
để chứng thực một xâu bít tài liệu cũng không thể là một xâu bit nhỏ đặt phía dưới xâu bit tài liệu. Một “chữ ký” như vậy chắc chắn sẽ bị kẻ gian sao chép để đặt dưới một tài liệu khác bất hợp pháp.
“Chữ ký số” để chứng thực một “tài liệu số” đó chính là “bản mã” của xâu bit
tài liệu.
Người ta tạo ra “chữ ký số” (chữ ký điện tử) trên “tài liệu số” giống như tạo
ra “bản mã” của tài liệu với “khóa lập mã”.
Như vậy “ký số” trên “tài liệu số” là “ký” trên từng bit tài liệu. Kẻ gian khó
thể giả mạo “chữ ký số” nếu nó không biết “khóa lập mã”.
Để kiểm tra một “chữ ký số” thuộc về một “tài liệu số”, người ta giải mã “chữ
ký số” bằng “khóa giải mã”, và so sánh với tài liệu gốc.
Ngoài ý nghĩa để chứng thực nguồn gốc hay hiệu lực của các tài liệu số hóa, “chữ ký số” còn dùng để kiểm tra tính toàn vẹn của tài liệu gốc. Mặt mạnh của “chữ ký số” hơn “chữ ký tay” còn là ở chỗ người ta có thể “ký” vào tài liệu từ rất xa (trên mạng công khai). Hơn thế nữa, có thể “ký” bằng các thiết bị cầm tay tại khắp mọi nơi miễn là kết nối được vào mạng. Đỡ tốn thời gian, sức lực, chi phí.
Sơ đồ chữ ký là bộ năm (P, A, K, S, V ), trong đó: P là tập hữu hạn các văn bản có thể. A là tập hữu hạn các chữ ký có thể. K là tập hữu hạn các khoá có thể. S là tập các thuật toán ký. V là tập các thuật toán kiểm thử. Với mỗi khóa k K, có thuật toán ký Sig k S, Sig k : P A, có thuật toán kiểm tra chữ ký Ver k V, Ver k : P A đúng, sai,
thoả mãn điều kiện sau với mọi x P, y A:
Đúng, nếu y = Sig k (x)
“Ký số” thực hiện trên từng bit tài liệu, nên độ dài của “chữ ký số” ít nhất cũng bằng độ dài của tài liệu. Do đó thay vì ký trên tài liệu dài, người ta thường dùng “hàm băm” để tạo “đại diện” cho tài liệu, sau đó mới “Ký số” lên “đại diện” này. Sơ đồ chữ ký số: Sai, nếu y Sig k (x)
Ver k (x, y) =
24
Người ta thường dùng hệ mã hóa khóa công khai để lập “Sơ đồ chữ ký số”.
Ngược lại với việc mã hóa, dùng khóa công khai b để lập mã, dùng khóa bí
Chú ý: Ở đây khóa bí mật a dùng làm khóa “ký”, khóa công khai b dùng làm khóa kiểm tra “chữ ký”. mật a để giải mã.
Phân loại “Chữ ký số”: 1. Phân loại chữ ký theo khả năng khôi phục thông điệp gốc.
- Chữ ký có thể khôi phục thông điệp gốc - Chữ ký không thể khôi phục thông điệp gốc
2. Phân loại chữ ký theo mức an toàn: - Chữ ký “không thể phủ nhận”
- Chữ ký “một lần”
3. Phân loại chữ ký theo ứng dụng đặc trưng:
- Chữ ký “mù” (Blind Signature). - Chữ ký “nhóm” (Group Signature). - Chữ ký “bội” (Multy Signature). - Chữ ký “mù nhóm” (Blind Group Signature). - Chữ ký “mù bội” (Blind Multy Signature).
1.4.2. Một số chữ ký số tiêu biểu
1.4.2.1. Chữ ký RSA Sơ đồ [1]: 1. Tạo cặp khóa (bí mật, công khai) (a, b) : Chọn bí mật số nguyên tố lớn p, q, tính n = p * q, công khai n, đặt P = A = Zn Tính bí mật (n) = (p-1).(q-1). Chọn khóa công khai b < (n), nguyên tố cùng nhau với (n). Khóa bí mật a là phần tử nghịch đảo của b theo mod (n): a*b 1 (mod (n). Tập cặp khóa (bí mật, công khai) K = (a, b)/ a, b Zn , a*b 1 (mod (n)). 2. Ký số: Chữ ký trên x P là y = Sig k (x) = x a (mod n), y A (R1) 3. Kiểm tra chữ ký: Verk (x, y) = đúng x y b (mod n) (R2) Chú ý: - So sánh giữa sơ đồ chữ ký RSA và sơ đồ mã hóa RSA ta thấy có sự tương ứng.
25
- Việc ký là mã hoá, việc kiểm thử lại chính là việc giải mã
- Việc “ký số” vào x tương ứng với việc “mã hoá” tài liệu x.
- Kiểm thử chữ ký chính là việc giải mã “chữ ký”, để kiểm tra xem tài liệu đã
giải mã có đúng là tài liệu trước khi ký không? Thuật toán và khóa kiểm thử “chữ
ký” là công khai, ai cũng có thể kiểm thử chữ ký được.
1.4.2.2. Chữ ký không thể phủ định (Chaum - van Antwerpen)
Giới thiệu:
Sơ đồ chữ ký không thể chối bỏ được David Chaum và Hans van Antwerpen
đề xuất năm 1989. Giả sử tài liệu cùng chữ ký từ G gửi đến N. Khi N yêu cầu G
cùng kiểm thử chữ ký thì một vấn đề nảy sinh là làm sao để ngăn cản G chối bỏ một
chữ ký mà anh ta đã ký, G có thể tuyên bố rằng chữ ký đó là giả mạo?
Để giải quyết tình huống trên, cần có thêm giao thức chối bỏ, bằng giao thức
này, G có thể chứng minh một chữ ký là giả mạo. Nếu G từ chối tham gia vào giao
thức đó thì có thể xem rằng G không chứng minh được chữ ký đó là giả mạo.
Sơ đồ [6]:
Chuẩn bị các tham số:
+ Chọn số nguyên tố p sao cho bài toán logarit rời rạc trong Zp là khó giải,
là phần tử có cấp q.
đồng thời thỏa mãn điều kiện p = 2 * q + 1, q cũng là nguyên tố.
+ G là nhóm con (theo phép nhân) cấp q sinh ra bởi g của
+ Chọn g ∈ + Chọn 1 ≤ a ≤ q – 1, tính h = ga mod p.
+ Tập hữu hạn các văn bản có thể P, tập hữu hạn các chữ ký có thể A
+ P = A = G
+ Khóa công khai được định nghĩa pk = ( p, g, h ), khóa bí mật sk = a.
26
Thuật toán ký: Dùng khóa bí mật sk ở trên để ký lên thông điệp x, chữ ký là: y = sigsk( x ) = xa mod p
Giao thức kiểm thử: Bob muốn xác thực chữ ký y trên thông điệp x được ký bởi Alice. Giao thức
được thực hiện như sau:
- Bob chọn ngẫu nhiên e1, e2∈ 𝑍𝑞 - Bob tính c = 𝑦𝑒1ℎ𝑒2 mod p và gửi cho Alice. - Alice tính d = 𝑐𝑎−1 𝑚𝑜𝑑 𝑞 mod p và gửi cho Bob. - Bob chấp nhận y là chữ ký đúng trên x khi và chỉ khi d ≡ 𝑥𝑒1𝑔𝑒2 mod p
Giao thức chối bỏ chữ ký: - Bob chọn ngẫu nhiên e1, e2 ∈ 𝑍𝑞 - Bob tính c = 𝑦𝑒1ℎ𝑒2 mod p và gửi cho Alice. - Alice tính d = 𝑐𝑎−1 𝑚𝑜𝑑 𝑞 mod p và gửi cho Bob. - Bob kiểm tra d ≢ 𝑥𝑒1𝑔𝑒2 mod p - Bob chọn ngẫu nhiên f1, f2 ∈ 𝑍𝑞 - Bob tính C = 𝑦 𝑓1ℎ𝑓2 mod p và gửi cho Alice - Alice tính D = 𝐶𝑎−1 𝑚𝑜𝑑 𝑞 mod p và gửi cho Bob - Bob kiểm tra D ≢ 𝑥 𝑓1𝑔𝑓2 mod p - Bob kết luận chữ ký y thực sự là giả mạo nếu: (𝑑𝑔−𝑒2)𝑓1 ≡ (D𝑔−𝑓2)𝑒1 mod p
1.5. Đại diện tài liệu và hàm băm 1.5.1. Hàm băm (Hàm tạo đại diện tài liệu) Khái niệm Hàm băm [1]:
Hàm băm là thuật toán không dùng khóa để mã hóa (ở đây dùng thuật ngữ “băm” thay cho “mã hóa”), nó có nhiệm vụ “lọc” (băm) tài liệu và cho kết quả là một giá trị “băm” có kích thước cố định, còn gọi là “đại diện tài liệu” hay “đại diện bản tin” hay “đại diện thông điệp”.
Hàm băm là hàm một chiều, nghĩa là giá trị của hàm băm là duy nhất và từ giá trị băm này “khó có thể” suy ngƣợc lại được nội dung hay độ dài ban đầu của tài liệu gốc.
27
Đặc tính của Hàm băm:
Hàm băm h là hàm một chiều có các đặc tính sau: 1. Với tài liệu đầu vào (bản tin gốc) x, chỉ thu được giá trị băm duy nhất z = h(x). 2. Nếu dữ liệu trong bản tin x bị thay đổi hay bị xóa để thành bản tin x’, thì giá
Cho dù chỉ là một sự thay đổi nhỏ, ví dụ chỉ thay đổi 1 bit dữ liệu của bản tin gốc x, thì giá trị băm h(x) của nó cũng vẫn thay đổi. Điều này có nghĩa là: hai thông điệp khác nhau thì giá trị băm của chúng cũng khác nhau.
trị băm h(x’) h(x).
3. Nội dung của bản tin gốc “khó” thể suy ra từ giá trị hàm băm của nó. Nghĩa là: với thông điệp x thì “dễ” tính được z = h(x), nhưng lại “khó” tính ngược lại được x nếu chỉ biết giá trị băm h(x) (kể cả khi biết hàm băm h).
Ứng dụng của hàm băm:
1. Với bản tin dài x, thì chữ ký trên x cũng sẽ dài, như vậy tốn thời gian “ký”, tốn bộ nhớ lưu giữ “chữ ký”, tốn thời gian truyền “chữ ký” trên mạng. Người ta dùng hàm băm h để tạo đại diện bản tin z = h(x), nó có độ dài ngắn (chẳng hạn 128 bit). Sau đó ký trên z, như vậy chữ ký trên z sẽ nhỏ hơn rất nhiều so với chữ ký trên bản tin gốc x.
2. Hàm băm dùng để xác định tính toàn vẹn dữ liệu. 3. Hàm băm dùng để bảo mật một số dữ liệu đặc biệt (chẳng hạn bảo vệ mật
khẩu, bảo vệ khóa mật mã, …)
1.5.2. Các Hàm băm
Các hàm băm dòng MD (MD2, MD4, MD5) do Rivest đề xuất. Giá trị băm theo các thuật toán này có độ dài cố định là 128 bit. Hàm băm MD4 đưa ra vào năm 1990. Một năm sau phiên bản mạnh hơn là MD5 cũng được đề xuất.
Hàm băm an toàn SHA, phức tạp hơn nhiều, cũng dựa trên các phương pháp tương tự, được công bố trong Hồ sơ Liên bang năm 1992 và được chấp nhận làm tiêu chuẩn vào năm 1993 do Viện Tiêu Chuẩn và Công Nghệ Quốc Gia (NIST). Giá trị băm theo thuật toán này có độ dài cố định là 160 bit.
1.6. Thủy vân số (Digital watermarking)
Theo [1] Thuỷ vân số là một kỹ thuật mới dựa trên lý thuyết tổng hợp của nhiều lĩnh vực khác nhau như: lý thuyết thông tin, lý thuyết truyền thông, mật mã học, xử lý tín hiệu số, xử lý ảnh.
Mục đích của kỹ thuật này là giấu một lượng thông tin có ích vào tài liệu số cần
bảo vệ bản quyền, lượng tin này được gọi là Thuỷ vân.
28
Thuỷ vân số là một kỹ thuật dùng để bảo vệ bản quyền các tài liệu số, chống sao chép, phân biệt giả mạo. Các tài liệu này có thể là văn bản, audio, video, phần mềm, ảnh, bản vẽ, các hình khối 3D.
Có hai loại thuỷ vân: thuỷ vân hiện (visible watermark), thuỷ vân ẩn
1.6.1 Phân loại Thủy vân số (invisible watermark).
Hình 1.12: Phân loại Thủy vân
Thuỷ vân hiện là loại thuỷ vân mà người ta có thể nhận biết được nó bằng mắt thường.
Nói cách khác, nó như một loại dấu nổi.
Hình 1.13: Ví dụ về thuỷ vân hiện (trên trang web của Thư viện số liên bang Mỹ)
Thuỷ vân ẩn là loại thuỷ vân mà ta không thể nhận biết được nó trong ảnh
bằng mắt thường.
29
Hình 1.14: Giấu thông tin trong ảnh
1.6.2. Các ứng dụng của Thuỷ vân với ảnh số
- Bảo vệ bản quyền: Kỹ thuật thuỷ vân cho phép gắn một “dấu hiệu” vào tài liệu, nhờ đó có thể xác định được người nắm giữ bản quyền. Có thể gắn thêm một dấu hiệu khác gọi là “vân tay” để xác định người dùng sản phẩm.
“Dấu hiệu” có thể là một dãy số như mã hàng hoá, một message hoặc một logo. Thuật ngữ “thuỷ vân” đã có từ thời xa xưa, xuất phát từ cách đánh dấu giấy tờ với một logo.
- Xác thực ảnh và bảo toàn dữ liệu: Thuỷ vân có thể dùng để xác thực ảnh số và phát hiện giả mạo. Thuỷ vân dùng để xác định xem ảnh là nguyên bản hay đã chịu sự tác động của con người, bằng các ứng dụng xử lý ảnh.
Thuỷ vân được giấu lúc đầu phải mang tính chất không bền vững, để bất kỳ sự
thay đổi nhỏ nào tới ảnh cũng có thể làm hỏng thuỷ vân, hay phát hiện được thay
đổi đối với thuỷ vân. Tuy vậy, thuỷ vân vẫn phải tồn tại với các phép biến đổi ảnh
thông thường như chuyển đổi định dạng, lấy mẫu, hay nén.
- Giấu dữ liệu và gán nhãn ảnh: Giấu dữ liệu là “giấu” nó vào một tài liệu khác (chẳng hạn như một bức ảnh),
người khác “khó” nhận ra nó bằng mắt thường. Điều này cho phép trao đổi thông tin mà không gây chú ý đối với người ngoài. Khối lượng dữ liệu dấu được là quan trọng nhất đối với mục đích này.
Gán nhãn ảnh là ứng dụng để cung cấp thêm thông tin cho người dùng hoặc
nhằm phục hồi ảnh từ cơ sở dữ liệu.
30
CHƢƠNG 2. CÁC BÀI TOÁN VỀ ATTT TRONG THỎA THUẬN VÀ KÝ KẾT HỢP ĐỒNG CỦA TMĐT
2.1. Thỏa thuận và ký kết hợp đồng của TMĐT 2.1.1. Khái niệm về giao kết hợp đồng điện tử
Giao kết hợp đồng [7] là thuật ngữ được Bộ luật dân sự Việt Nam năm 2005 sử dụng để chỉ việc ký kết hợp đồng. Do vậy, giao kết hợp đồng điện tử là quá trình thương thảo, đàm phán, tạo lập và ký kết thông qua trao đổi các dữ liệu điện tử. Các hợp đồng như vậy sẽ được lưu trữ ở dạng dữ liệu điện tử.
Luật Giao dịch điện tử Việt Nam năm 2005 định nghĩa: “Giao kết hợp đồng điện tử là sử dụng thông điệp dữ liệu để thực hiện một phần hay toàn bộ giao dịch trong quá trình giao kết hợp đồng”. Quá trình giao kết hợp đồng có thể được thực hiện qua nhiều giao dịch, từ việc quảng cáo hàng hóa (dịch vụ), chào bán, chào mua hàng hóa (dịch vụ) đến chấp nhận mua hay bán hàng hóa, dịch vụ đó. Khi một số các giao dịch này hay toàn bộ các giao dịch này được thực hiện thông qua việc trao đổi dữ liệu (như trao đổi dưới dạng điện tín, điện báo, fax, thư điện tử...) thì quá trình đó được gọi là quá trình giao kết hợp đồng điện tử.
Trên thực tế việc giao kết hợp đồng điện tử có thể đơn giản là việc người tiêu dùng thực hiện một giao dịch nhỏ, đơn giản thông qua các phương tiện điện tử như đặt mua vé máy bay, vé tàu qua điện thoại hoặc Internet; đặt mua sách, mua hàng hóa tiêu dùng thông qua chào hàng hoặc đặt hàng thông qua website bán hàng của doanh nghiệp kinh doanh hàng hóa trên mạng, thanh toán thông qua thẻ ngân hàng. Hợp đồng điện tử cũng có thể được giao kết giữa hai hay nhiều công ty để thực hiện giao dịch, trao đổi nhằm bán hoặc mua hàng hóa, dịch vụ nhằm mục đích thương mại. Quá trình giao kết này có thể dẫn đến giá trị một hợp đồng lớn và tính chất phức tạp, trong thực tiễn TMĐT phương thức này được gọi là B2B (BUSINESS TO BUSINESS). 2.1.2. Chủ thể của hợp đồng điện tử
Chủ thể tham gia giao kết hợp đồng điện tử gồm các bên - người bán và người mua hàng hoá (hoặc cung ứng dịch vụ) qua mạng. Để hợp đồng có hiệu lực, chủ thể phải có năng lực hành vi, năng lực pháp lý. Tuy nhiên, việc xác định năng lực chủ thể của các chủ thể trong giao kết hợp đồng điện tử sẽ trở nên khó khăn hơn rất nhiều so với trong hợp đồng truyền thống. Những khó khăn đó là:
- Người bán trên mạng chắc chắn không muốn và không thể bán hàng hoá và dịch vụ cho mọi đối tượng vào mạng Internet. Họ bị ràng buộc và chi phối bởi các quy định pháp lý của nước mình cũng như nước ngoài tham gia giao kết với họ. Chẳng hạn
31
lệnh cấm vận của Mỹ với Iran, Libya, Cuba sẽ làm vô hiệu hoá các hợp đồng điện tử được giao kết giữa các cá nhân và tổ chức của các nước này với nhau. Hoặc theo quy định của pháp luật mỗi nước, một mặt hàng hoá hay dịch vụ đối với nước này là hợp pháp nhưng ở nước khác lại bị cấm lưu thông cũng làm cho hợp đồng điện tử được giao kết để mua hàng hay dịch vụ không thực hiện được dù đã giao kết. Vì vậy, chỉ một sơ suất nhỏ trong việc xác định năng lực của các chủ thể sẽ có thể dẫn đến hợp đồng điện tử vô hiệu và gây ra nhiều tổn thất thiệt hại cho người bán.
- Khó khăn nhất trong việc xác định năng lực chủ thể đối với các doanh nghiệp cung cấp hàng hoá (dịch vụ) qua mạng là khó xác định được xem liệu khách hàng có đủ năng lực hành vi hay chưa? Vấn đề rắc rối phát sinh khi khách hàng ở tuổi vị thành niên. Cụ thể:
Một là, theo quy định của pháp luật ở một số nước, có một số loại hàng hoá cấm bán cho đối tượng là vị thành niên như thuốc lá, rượu, sách báo khiêu dâm v.v.. .Theo pháp luật của những nước này, người bán trong trường hợp này có thể bị buộc vào tội hình sự hoặc phải chịu trách nhiệm dân sự nếu không biết chắc khách hàng của mình đã đủ tuổi hành vi hay chưa? Rất khó xác định được điều này khi mua hàng qua mạng.
Hai là, các hợp đồng giao kết với tuổi vị thành niên mà không nhằm phục vụ nhu cầu sinh hoạt thiết yếu của chúng cũng sẽ bị vô hiệu. Vấn đề là hợp đồng sẽ bị vô hiệu với vị thành niên nhưng vị thành niên sẽ được miễn trách nhiệm và sẽ gây ra nhiều hậu quả pháp lý cho người bán.
- Sự xuất hiện của người thứ ba trong giao kết hợp đồng điện tử. Có thể thấy vai trò của người thứ ba trong việc giao kết hợp đồng điện tử, vai trò của bên thứ ba là nhà cung cấp dịch vụ mạng, các cơ quan chứng thực là rất quan trọng vì họ có thể đảm bảo giá trị pháp lý và tính hiệu lực của hợp đồng điện tử. Họ chính là người truyền, lưu các thông điệp số, các thông tin điện tử, cung cấp chứng thực xác nhận độ tin cậy, độ chính xác của các thông điệp số và thông tin điện tử đó. Vì vậy, để các hoạt động TMĐT phát huy hết vai trò của nó một cách có hiệu quả thì pháp luật về TMĐT cần phải có các quy định về trách nhiệm và giới hạn trách nhiệm của các nhà cung cấp dịch vụ mạng với các thông tin mà họ gửi, nhận và lưu trữ trong máy chủ. Đồng thời cũng cần phải ban hành các quy định pháp lý cụ thể điều chỉnh hoạt động của các cơ quan chứng thực trên mạng. Những quy định này chính là cơ sở pháp lý hướng dẫn việc giao kết hợp đồng điện tử mà các chủ thể giao kết hợp đồng điện tử, đặc biệt là các doanh nghiệp kinh doanh trên mạng phải nghiên cứu để tuân thủ trước khi thực hiện giao kết hợp đồng điện tử nói chung và giao kết hợp đồng thương mại điện tử nói riêng, nếu họ muốn thành công trong lĩnh vực kinh doanh đặc biệt này.
32
Tóm lại, việc xác định năng lực của chủ thể trong giao kết hợp đồng điện tử là vô cùng quan trọng, với tính đặc thù của loại hình kinh doanh này mang tính phi biên giới nên nó mang trong mình những rủi ro pháp lý về chủ thể giao kết hợp đồng mà những nhà kinh doanh cần hết sức cẩn trọng trong việc giao kết hợp đồng điện tử. Chỉ cần một chút thiếu cẩn trọng trong việc xác định năng lực của chủ thể giao kết hợp đồng điện tử có thể đem lại cho những nhà cung cấp hàng hoá (dịch vụ) những tổn thất và hậu quả pháp lý nghiêm trọng. 2.1.3. Hình thức hợp đồng điện tử
Hợp đồng điện tử được thiết lập dưới dạng thông điệp dữ liệu, hay nói cách khác là hợp đồng điện tử không sử dụng các hình thức hợp đồng truyền thống như hợp đồng bằng lời nói, bằng hành vi hay bằng văn bản. Hợp đồng điện tử có thể là hợp đồng được thảo và gửi qua thư điện tử hoặc là hợp đồng nhấn nút đồng ý qua các trang web bán hàng, theo đó khi người mua nhấn vào nút “tôi đồng ý” trên trang web bán hàng (có chứa các điều kiện mua bán trước khi giao dịch hoàn thành) thì hợp đồng được coi là giao kết và các bên phải thực hiện các cam kết của mình.
Một trong những vấn đề khó khăn của hợp đồng điện tử là các thoả thuận như vậy thường được thực hiện trong môi trường hoàn toàn trực tuyến. Một môi trường như vậy liệu có mang tính ràng buộc pháp lý hay không? 2.1.4. Nội dung hợp đồng điện tử
Nội dung của một hợp đồng điện tử bao gồm các điều khoản thoả thuận giữa các chủ thể. Đối với hợp đồng điện tử, các điều khoản này mang tính kỹ thuật điện tử rất cao và thường do người bán (hoặc người cung ứng dịch vụ) làm sẵn và hiển thị trên web của mình.
Vì vậy, khi nói đến nội dung của hợp đồng điện tử, khác với hợp đồng truyền thống - hợp đồng mà khi đàm phán để tiến tới giao kết, các bên thường chỉ chú ý đến các điều khoản chủ yếu làm thành nội dung của hợp đồng như đối tượng của hợp đồng, giá cả, điều kiện thanh toán, điều kiện cơ sở giao hàng v.v...Ở hợp đồng điện tử, các bên giao kết hợp đồng bắt buộc và trước hết phải chú ý đến những quy định có tính kỹ thuật của công nghệ tin học. Đó là cách hiển thị nội dung của hợp đồng điện tử. Nếu không thao tác tốt, chính xác quy trình kỹ thuật này thì việc giao kết hợp đồng điện tử về mặt nội dung cũng không thể đạt được. Vì vậy, khía cạnh pháp lý của quy trình giao kết liên quan đến nội dung của hợp đồng điện tử. Từ đó, có thể khẳng định, các yêu cầu về mặt kỹ thuật của cách hiển thị nội dung của hợp đồng điện tử cũng chính là cơ sở pháp lý mà các bên phải tuân thủ khi giao kết hợp đồng điện tử, đặc biệt là hợp đồng TMĐT.
33
2.2. Các bài toán về ATTT trong thỏa thuận và ký kết hợp đồng của TMĐT
Theo [2] thỏa thuận hợp đồng thương mại gồm có hai giai đoạn chính là đàm phán và ký kết hợp đồng. Đàm phán là việc thực hiện một hay nhiều cuộc đối thoại, trao đổi, thương lượng giữa các bên có ý muốn quan hệ đối tác với nhau nhằm tiến đến một thoả thuận chung mà có thể đáp ứng yêu cầu cá nhân hoặc yêu cầu hợp tác kinh doanh của các bên đàm phán.
Ký kết hợp đồng làm cho bản hợp đồng có hiệu lực chính là việc ký xác nhận
các nội dung đã đàm phán thỏa thuận ở trên.
Nhờ Internet mà việc thỏa thuận hợp đồng giữa doanh nghiệp với doanh nghiệp giảm được nhiều thời gian trao đổi giữa đối tác cũng như các khách hàng của họ. Việc tuân theo Luật thương mại được yêu cầu trong các vấn đề đàm phán, thỏa thuận, ký kết hợp đồng, điều này cũng giống như việc thỏa thuận hợp đồng của thương mại truyền thống.
Đàm phán
Đảm bảo tính toàn vẹn thông tin hợp đồng trực tuyến
Thủy vân số, Mã hóa AES, Chữ ký không thể phủ định
Đảm bảo tính xác thực Hợp đồng
Chống chối bỏ hợp đồng giao dịch
Ngoài ra những vấn đề nảy sinh trong thỏa thuận hợp đồng trực tuyến còn có an toàn thông tin trong giao dịch như: đảm bảo bí mật, toàn vẹn thông tin thỏa thuận ký kết hợp đồng, xác minh nguồn gốc giao dịch, chống chối bỏ giao dịch.
Hình 2.1: Mô hình giải quyết bài toán
Các bƣớc giải quyết bài toán nhƣ sau: - Bên A Thủy vân số vào nội dung hợp đồng (chẳng hạn có thể Thủy vân vào
từng dấu cách trong bản hợp đồng mỗi dấu cách chỉ giấu được 1 bit). Cụ thể:
Muốn giấu chữ P H E O vào các dấu cách trong bản hợp đồng thì trong mã nhị
phân các chữ này sẽ tương ứng với mã sau: 01010000 P 01001000 H 01000101 E 01001111 O
34
- Bên A sẽ sử dụng hệ mã hóa AES để mã hóa hợp đồng và chuyển cho bên B. - Bên B giải mã hợp đồng (AES) và kiểm tra xem có phải là hợp đồng của bên
A gửi không? (Kiểm tra bằng tách Thủy vân).
- Nếu bên B thấy hợp đồng hợp lý thì hai bên thỏa thuận ký kết. - Ký hợp đồng bằng chữ ký không thể phủ định để chống chối bỏ hợp đồng
giao dịch. 2.2.1. Bảo đảm tính toàn vẹn thông tin hợp đồng trực tuyến Bài toán:
Trong thỏa thuận hợp đồng trực tuyến giữa A và B về cung cấp hay đặt mua một loại mặt hàng hay dịch vụ nào đó, giả sử rằng A là người soạn hợp đồng và gửi đến B xem xét và thỏa thuận hợp đồng, sau khi kiểm tra nội dung nếu B đồng ý với các điều khoản của hợp đồng thì B sẽ ký lên hợp đồng đó. Vấn đề đặt ra là liệu có một kẻ thứ ba trái phép nào đó đã xem trộm và sửa bản hợp đồng đó, nội dung bản hợp đồng mà B nhận được liệu có đúng với nội dung mà A đã soạn thảo hay không? Khi B nhận được hợp đồng từ A, giả sử bản hợp đồng không bị sửa đổi trên đường truyền, B đồng ý với các điều khoản trong bản hợp đồng và ký chấp nhận hợp đồng, hay nếu B không đồng ý với tất cả các điều khoản trong hợp đồng thì B bổ sung một số điều khoản để thỏa thuận lại và gửi lại cho A. Trong quá trình bản hợp đồng đã được B gửi về A, liệu bản hợp đồng đó có đúng như bản hợp đồng mà B đã gửi hay đã bị sửa đổi, bị xâm phạm tính toàn vẹn thông tin của bản hợp đồng này. Giải pháp:
Do vậy, để chống lại sự tấn công hay giả mạo thì cần phải làm thế nào cho văn bản khi được gửi đi sẽ “không được nhìn thấy” hoặc có xâm nhập được vào văn bản thì cũng không thể giả mạo. Xuất phát từ nhu cầu đó công nghệ mã hóa và chữ ký số ra đời để giải quyết bài toán bảo mật khi trao đổi thông tin.
Để đảm bảo tính toàn vẹn của bản hợp đồng trực tuyến trong khi chúng được truyền đi trên mạng trước hết ta cần một kênh truyền an toàn, với các phương pháp đảm bảo tính toàn vẹn trong giao dịch nói chung, một kỹ thuật đặc trưng quan trọng để đảm bảo tính toàn vẹn hợp đồng giao dịch là dùng chữ ký số và chứng chỉ điện tử.
Khi nội dung của bản hợp đồng bị thay đổi, thì chữ ký trên bản hợp đồng đó cũng phải thay đổi theo. Chữ ký điện tử nhằm đảm bảo tính toàn vẹn, duy nhất và không bị sửa đổi dữ liệu gốc bởi người khác. Chữ ký là bằng chứng xác thực người gửi chính là tác giả của thông điệp mà không phải là một ai khác. Không những thế, khi chữ ký điện tử được gắn với thông điệp điện tử thì đảm bảo rằng thông tin trên
35
đường chuyển đi sẽ không bị thay đổi. Mọi sự thay đổi dù nhỏ nhất sẽ đều bị phát hiện dễ dàng.
Cụ thể, để đảm bảo tính toàn vẹn thông tin hợp đồng trực tuyến thì tác giả đã
sử dụng hệ mã hóa AES như sau:
Input (Đầu vào), Output (Đầu ra) của hệ mã hóa AES:
Đầu vào và đầu ra của chuẩn mã hóa tiên tiến (AES) đều là các dãy 128 bit, còn gọi là các khối (block), độ dài của mỗi khối này là số bit dữ liệu mà nó chứa.
Khóa của chuẩn mã hóa tiên tiến là một dãy có độ dài 128, 192 hoặc 256 bit. Chuẩn
mã hóa dữ liệu tiên tiến không làm việc với các giá trị đầu vào, đầu ra, khóa có các
đô ̣dài khác (mặc dù thuật toán cơ sở của nó cho phép điều này). Các bit của đầu vào, đầu ra, khóa của hê ̣mã được đánh số từ 0.
Trạng thái (State):
Các trạng thái bên trong của AES được thực hiện trên một mảng hai chiều và
các byte được gọi là trạng thái. Một trạng thái gồm có 4 hàng các byte trong đó mỗi
hàng có Nb byte (Nb là kích thước của khối chia cho 32). Mảng trạng thái ký hiệu là s trong đó mỗi byte của mảng có hai chỉ số là hàng r và cột c (0<=r, c<=4).
Tại thời điểm bắt đầu input của thuật toán – mảng byte in0, in1,...in15 được
copy vào mảng trạng thái theo quy tắc được minh họa bằng hình vẽ.
Bảng 3: Các trạng thái của AES
Trong đó các giá trị của mảng s và mảng output được tính như sau:
s[r,c]=in[r+4c] với mọi 0<=r, c<4 out[r+4c]=s[c,r] với mọi 0<=r, c<4 Biểu diễn trạng thái
Bốn cột của mảng trạng thái của thuật toán tạo thành 4 word 32 bit w0,
w1,...w3 được biểu diễn như sau:
w0 = s0,0 s1,0 s2,0 s3,0 w1 = s0,1 s1,1 s2,1 s3,1 w2 = s0,2 s1,2 s2,2 s3,2 w3 = s0,3 s1,3 s2,3 s3,3
36
Mã hóa và Giải mã AES: Độ dài của input, output và các trạng thái (state) của chuẩn mã hóa cao cấp
AES là 128 bit tương ứng vớ i giá tri ̣của Nb = 4 (là số lượng các word 32-bit và
cũng là số cột của mỗi trạng thái). Khóa của AES có độ dài là 128, 192, 256 bit
tương ứng với các giá trị của Nk là 4, 6, 8 và cũng là số cột của khóa mã hóa.
Tương ứng với độ dài của khóa sử dụng số vòng lặp của thuật toán Nr nhận
các giá trị 10 (Nk = 4), 12 (Nk = 6) hoăc ̣ 14 (Nk = 8). Chúng ta có thể minh họa qua
bảng sau:
Độ dài khóa Độ dài khối Số vòng
(Nk từ) (Nb từ) (Nr)
4 4 10 AES-128
6 4 12 AES-196
8 4 14 AES-256
Bảng 4: Độ dài khóa AES
Quá trình mã hóa và giải mã AES đều sử dụng một hàm lặp kết hợp của bốn
hàm biến đổi sau:
- Biến đổi thay thế byte sử dụng một bảng thế (S-box)
- Số lần dịch của mỗi hàng dịch mảng trạng thái với là khác nhau
- Kết hợp dữ liệu của mỗi cột trong mảng trạng thái và cộng một khóa Round
Key vào trạng thái z.
1. Thuật toán mã hóa AES
Thuật toán mã hóa AES [5] được thực hiện các công việc giống nhau dựa trên
4 hàm (lần lượt theo thứ tự SubBytes(), ShiftRows(), MixColumns(),
AddRoundKey() trừ vòng cuối cùng bỏ qua việc thực hiện hàm MixColumns().
37
Hình 2.2: Sơ đồ thuật toán AES
Hàm SubByte():
Hàm SubBytes() sử dụng một bảng thế S-box để thực hiện phép thay thế các byte của mảng trạng thái, bảng thay thế S-box này là khả nghịch, được xây dựng bằng cách kết hợp hai biến đổi:
a. Nhân nghịch đảo trên trường hữu hạn GF(28), phần tử {00} được ánh xạ
thành chính nó.
b. Áp dụng biến đổi Affine sau (trên GF(2)):
38
bi’= bi b(i+4)mod8 b(i+5)mod8 b(i+6)mod8 b(i+7)mod8 ci, trong đó 0i8 là bit thứ i
của byte b tương ứng và ci là bit thứ I của byte c với giá trị {63} hay {01100011} Các phần tử biến đổi affine của S-box có thể được biểu diễn dưới dạng ma trận như sau:
Hình 2.3: Các phần tử biến đổi của S-box dưới dạng ma trận
Hình dưới đây minh họa kết quả của việc áp dụng hàm biến đổi SubBytes()
đối với mảng trạng thái
Hình 2.4: Kết quả biến đổi của hàm SubBytes() với mảng trạng thái
Trong đó phép cộng thực hiện như phép XOR. Hình dưới trình bày nội dung
bảng S-box sau khi tính toán.
39
Hình 2.5: Nội dung bảng S-box sau khi tính toán
Ví dụ: xét giá trị {95}, tại bước 1, giá trị tại dòng 9 cột 5 là {95}, sau bước 2 tính nghịch đảo giá trị của ô này là {8A} có dạng nhị phân là 10001010. Thực hiện phép nhân ma trận:
Hình 2.6: Kết quả tính toán
Kết quả dưới dạng thập lục phân là {2A}. Hàm ShiftRows(): Các byte trong ba hàng cuối của mảng trạng thái sẽ được dịch vòng với số lần dịch khác nhau. Hàng đầu tiên r=0 không bị dịch. Cụ thể hàm này sẽ tiến hành bước đổi sau:
S’rc = Sr,(c+shift(r,Nb))modNb (Nb=4) trong đó giá trị dịch shift(r,Nb) phụ thuộc vào số hàng r như sau:
shift(1,4)=1, shift(2,4)=2, shift(3,4)=3
40
Thao tác này sẽ chuyển các byte tới các vị trí thấp hơn trong các hàng và các byte thấp nhất sẽ được chuyển lên đầu hàng. Tất cả các mô tả trên có thể minh họa qua hình vẽ sau:
Hình 2.7: Minh họa sự dịch vòng
Hàm MixColumns():
Hàm này làm việc trên các cột của mảng trạng thái, nó coi mỗi cột của mảng
trạng thái như là một đa thức gồm 4 hạng tử. Các cột sẽ được xem như là các đa thức trên GF(28) và được nhân trên modulo x4+1 với một đa thức cố định a(x):
a(x) = {03}x3 + {02}x2 + {01}x + {02}
Có thể biểu diễn bằng phép nhân ma trận:
s’(x) = a(x) s(x)= =
Với mọi 0≤c Kết quả là bốn byte trong mỗi cột sẽ được thay thế theo công thức sau: s’0,c = ({02}●s0,c)({03}●s1,c) s2,c s3,c s’1,c = s0,c({02}●s1,c) ({03}●s2,c) s3,c s’2,c = s0,cs1,c ({02}●s2,c) ({03}●s3,c) s’3,c = ({03}●s0,c)s1,c s2,c ({02}●s3,c) 41 Có thể minh họa việc thực hiện hàm này bằng hình vẽ sau: Hình 2.8: Minh họa làm việc trên cột trạng thái Hàm AddRoundKey():
Hàm này một khóa vòng (Round Key) sẽ được cộng vào mảng trạng thái bằng
một thao tác XOR bit. Mỗi khóa vòng gồm Nb word được sinh ra bởi thủ tục sinh
khóa. Các word này sẽ được cộng vào mỗi cột của mảng trạng thái như sau:
round*Nb+c] 0≤c≤Nb = 4 [s’0,c, s’1,c, s’2,c, s’3,c] = [s0,c, s1,c, s2,c, s3,c
Trong đó [wi] là các word của khóa và round là lần lặp tương ứng với quy ước
0≤round≤Nb. Trong thuật toán mã hóa phép cộng khóa vòng khởi tạo xảy ra với
round=0 trước khi các vòng lặp của thuật toán được
thực hiện. Hàm
AddRoundKey() được thực hiện trong thuật toán mã hóa khi 1≤round≤Nb. Việc thực hiện hàm này có thể được minh họa như trong hình vẽ, trong đó l=round*Nb. Địa chỉ byte trong các word của dãy khóa được mô tả như sau:
Hình 2.9: Thực hiện hàm AddRoundKey() 42 Thuật toán sinh khóa (Key Expansion): Thuâṭ toán sinh khóa của AES nhận một khóa mã hóa K sau đó thực hiện một
thủ tục sinh khóa để sinh một dãy các khóa cho việc mã hóa. Thủ tục này sẽ sinh
tổng số Nb*(Nr+1) word, thủ tục sử dụng một tập khởi tạo Nb word và mỗi một lần
lặp trong số Nr lần sẽ cần tới Nb word của dữ liệu khóa. Dãy khóa kết quả là một
mảng tuyến tính các word 4-byte được ký hiệu là [wi] trong đó 0<= i < Nb(Nr + 1). Hình 2.10: Quá trình thực hiện Expand Key 2. Thuật toán giải mã AES InvShiftRows(), InvSubBytes(), Thuật toán giải mã [5] về mặt cấu trúc cũng khá giống với thuật toán mã hóa
tuy nhiên bốn hàm cơ bản sử dụng là các hàm ngược của các hàm trong thuật toán
giải mã bao gồm:
InvMixColumns() và
AddRoundKey(). Hàm InvSubBytes(): Hàm này là hàm ngược của hàm SubBytes(), hàm sử dụng nghịch đảo của biến đổi Affine bằng cách thực hiện nhân nghịch đảo trên GF(28) Hàm InvShiftRows(): Hàm này là hàm ngược của hàm ShiftRows(). Các byte của ba hàng cuối (của
mảng trạng thái) sẽ được dịch vòng với vị trí dịch là khác nhau. Hàng đầu tiên
không bị dịch, ba hàng cuối bị dịch đi Nb-shift(r,Nb) byte trong đó giá trị
shift(r,Nb) phụ thuộc vào số hàng Cụ thể hàm này tiến hành xử lý như sau:
s’r,(c+shift(r,Nb))modNb = sr,c 0 43 Hình 2.11: Minh họa thực hiện hàm InvShiftRows() Hàm InvMixColumns():
Hàm này là hàm ngược của hàm MixColumns(). Nó làm việc trên các cột của mảng trạng thái, coi mỗi cột như một đa thức bốn hạng tử. Các cột được xem như là các đa
thức trên GF(28) và được nhân theo modulo x4+1 với một đa thức cố định là a-1(x) a-1(x) = {0b}x3 + {0d}x2 + {09}x + {0e}
Có thể được mô tả bằng phép nhân ma trận sau: s’(x) = a-1(x) s(x) = = trong đó 0≤c s’0,c = ({0e}●s0,c)({0b}●s1,c) ({0d}●s2,c) ({09}●s3,c)
s’1,c = ({09}●s0,c)({0e}●s1,c) ({0b}●s2,c) ({0d}●s3,c)
s’2,c = ({0d}●s0,c)({09}●s1,c) ({0e}●s2,c) ({0b}●s3,c) s’3,c = ({0b}●s0,c)({0d}●s1,c) ({09}●s2,c) ({0e}●s3,c) 44 Biến đổi nghịch AddRoundKey(): Hàm nghịch của hàm AddRoundKey() cũng chính là nó vì hàm này chỉ có phép toán XOR bit. 2.2.2. Bảo đảm tính xác thực Bài toán: Xác thực là một thủ tục nhằm kiểm tra các thông báo nhận được, xem chúng có đến từ một nguồn hợp lệ và có bị sửa đổi hay không? Xác thực thông báo cũng có thể kiểm tra tính trình tự và tính đúng lúc. Chữ ký số là một kỹ thuật xác thực. Nó cũng bao gồm nhiều biện pháp để chống lại việc chối bỏ đã gửi hay đã nhận thông báo của hai bên gửi và bên nhận. Khi nhận được đơn đặt hàng, hay giao dịch nào đó, chủ doanh nghiệp phải biết rõ thông tin đó có phải đã đến từ một nguồn tin cậy hay không? Khách hàng cũng như doanh nghiệp cần phải biết chính xác rằng họ đang giao dịch với ai, và đối tác giao dịch của họ có đáng tin cậy không, có an toàn không? Đôi khi khách hàng, hay các nhà giao dịch không biết được mình đang giao dịch với ai. Rất nhiều công ty ma, hay các địa chỉ ảo, các website giả mạo website của doanh nghiệp để lừa gạt khách hàng, gây thiệt hại không nhỏ cho khách hàng giao dịch, hay các doanh nghiệp tham gia TMĐT … Xác thực thông báo sẽ bảo vệ hai thành viên (trao đổi thông báo qua thành viên thứ ba). Tuy nhiên hai thành viên không bảo vệ lẫn nhau. Giả thiết, John gửi một thông báo đã xác thực cho Mary. Có thể xảy ra tranh chấp giữa hai thành viên như sau: Mary có thể làm giả một thông báo khác và tuyên bố rằng thông báo này có nguồn gốc từ John. Mary có thể tạo một thông báo và gắn mã xác thực bằng khóa chung của họ. John có thể chối bỏ đã gửi thông báo. Vì Mary có thể làm giả thông báo và vì vậy không có cách nào để chứng minh John đã gửi thông báo. Giải pháp: Các tranh chấp xảy ra giữa người gửi và người nhận không có sự tin cậy tuyệt đối. Có nhiều giải pháp cho vấn đề xác thực như hàm băm, chứng chỉ điện tử, chữ ký số, thủy vân số. Giải pháp thường dùng là chữ ký số. Chữ ký số, tương tự như chữ ký bằng tay, nó phải có một số tính chất sau: - Có khả năng xác thực tác giả và thời gian ký. - Có khả năng xác thực nội dung tại thời điểm ký. - Các thành viên thứ ba có thể kiểm tra để giải quyết tranh chấp. 45 Vì chức năng ký số bao hàm cả chức năng xác thực, dựa vào các tính chất cơ bản này ta đưa ra một số yêu cầu sau cho chữ ký số: - Chữ ký số phải là một mẫu bít phụ thuộc vào thông báo được ký. - Chữ ký phải dùng thông tin duy nhất nào đó từ người gửi, nhằm ngăn chặn tình trạng giả mạo và chối bỏ. - Tạo ra chữ ký số dễ dàng. - Dễ nhận ra và dễ kiểm tra chữ ký. - Khó làm giả chữ ký số bằng cách tạo ra một thông báo mới cho một chữ ký số hiện có, hoặc tạo ra một chữ ký giả cho một thông báo có trước. - Trong thực tế, cần phải lưu giữ bản sao của chữ ký số. Để bảo đảm tính xác thực thông tin hợp đồng trực tuyến, tác giả sử dụng Thủy vân số như sau: 1. Quy trình nhúng Thủy vân Phương tiện
chứa
(Image, Audio,
Video, Text) Hình 2.12: Quy trình nhúng Thủy vân 46 2. Xác thực Thủy vân Hình 2.13: Xác thực Thủy vân 2.2.3. Chống chối bỏ hợp đồng giao dịch Bài toán:
Với hợp đồng thông thường, đối tác hai bên biết mặt nhau, cùng nhau trực tiếp
ký kết hợp đồng với sự chứng kiến của nhiều người với luật giao dịch rõ ràng minh
bạch. Giao kết hợp đồng TMĐT được thực hiện trong môi trường Internet …, các
bên tham gia ký kết hợp đồng xa nhau về địa lý, thậm chí họ có thể không biết mặt
nhau, thì vấn đề chối bỏ hợp đồng có thể xảy ra rất cao, mặt khác, luật pháp cho
TMĐT chưa đủ, gây ra thiệt hại lớn cho các bên tham gia ký kết hợp đồng. Ví dụ ông A muốn đặt mua một mặt hàng của công ty X ở nước ngoài. Sau khi
thỏa thuận ký kết hợp đồng, Công ty X chuyển hàng đến ông A (kèm theo đó là chi
phí vận chuyển, thuế hải quan), khi sản phẩm đến, ông A thay đổi ý kiến, không
muốn mua sản phẩm này nữa, và ông A đã chối bỏ những gì mình đã thỏa thuận
(không có bên thứ 3 thực nào xác nhận cuộc thỏa thuận hợp đồng mua hàng giữa
ông A và công ty X) … Việc này gây thiệt hại cho công ty X. Trường hợp công ty X mang hàng đến cho ông A, nhưng mặt hàng không
đúng như trong thỏa thuận, mà công ty X cứ một mực khẳng định rằng ông A đã đặt
mua sản phẩm này. Điều này gây thiệt hại cho ông A. 47 Như vậy, chối bỏ thỏa thuận hợp đồng gây thiệt hại cho các đối tượng tham
gia TMĐT. Chống chối bỏ giao dịch là bài toán quan trọng trong quá trình thỏa
thuận hợp đồng trong TMĐT. Giải pháp:
Để chống chối bỏ hợp đồng giao dịch TMĐT trước hết cần có một hành lang
pháp lý cho giao dịch TMĐT. Về mặt kỹ thuật, giải pháp thông dụng để đảm bảo
chống chối bỏ thỏa thuận hợp đồng TMĐT, đó là chữ ký số và chứng thực điện tử.
Ví dụ chữ ký không thể phủ nhận được, đó là chữ ký có thể chứng minh xác thực
rằng anh A có tham gia vào một giao dịch điện tử nào hay không, chữ ký trên văn
bản giao dịch có đúng đích thực của anh A hay không, nếu đó là chữ ký của A mà A
chối bỏ, sẽ có giao thức chứng minh, buộc A không được chối bỏ giao dịch hợp
đồng đã thỏa thuận. Để chống chối bỏ hợp đồng giao dịch thì tác giả sử dụng chữ ký không thể
phủ định. Cụ thể, sơ đồ chữ ký không phủ định được gồm 3 phần: một thuật toán
ký, một giao thức kiểm thử và một giao thức chối bỏ. G Kiểm tra tra tính
đúng đắn của chữ
ký Ký tài liệu và gửi N A B Chữ ký số không thể phủ nhận Hình 2.14: Kiểm tra tính đúng đắn của chữ ký 48 G Ký tài liệu và gửi N N yêu cầu G tham gia kiểm thử chữ ký N đã copy chữ ký
của G gửi cho A A Kiểm thử chữ ký số
Hình 2.15: Giao thức kiểm thử chữ ký số N G Ký tài liệu và gửi N yêu cầu G tham gia kiểm thử chữ ký Kiểm thử chữ ký số G chối bỏ chữ ký
mà anh ta đã ký G có thể tuyên bố
chữ ký đó là giả
mạo Hình 2.16: Giao thức chối bỏ chữ ký số. G từ chối tham gia
kiểm thử chữ ký Chữ ký đó là
giả mạo Cần có thêm giao thứ
chối bỏ 49 CHƢƠNG 3. THỰC NGHIỆM CHƢƠNG TRÌNH 3.1. Giới thiệu chƣơng trình Trong chương này tác giả sẽ thực hiện một số bước trong quá trình thỏa thuận và ký kết hợp đồng của TMĐT bao gồm mã hóa và ký số hợp đồng để đảm bảo toàn vẹn thông tin và chống chối bỏ hợp đồng giao dịch. 3.1.1. Chƣơng trình mã hóa AES Đây là chương trình Mã hóa theo Hệ mã hóa tiêu chuẩn tiên tiến-Advanced Encyption standard (AES) được viết bằng ngôn ngữ C#. Chức năng:
- Chương trình có thể mã hóa, giải mã text gồm chữ và số, chữ có dấu
- Chương trình có thể mã hóa, giải mã file gồm chữ, số, chữ có dấu. 3.1.2. Chƣơng trình ký không thể phủ định Đây là chương trình Chữ ký số không thể phủ định theo sơ đồ chữ ký Chaum- Van Antwerpen được viết bằng ngôn ngữ C#. Chức năng:
- Thực hiện được thuật toán ký.
- Thực hiện được giao thức kiểm thử
- Thực hiện được giao thức chối bỏ. 3.2. Cấu hình hệ thống - Hệ điều hành: Windows XP/2007/2010.
- Ngôn ngữ: C# (có sử dụng bộ công cụ Visual Studio 2010) - Yêu cầu môi trường: Cài đặt môi trường . Net FrameWork 4.0 3.3. Hƣớng dẫn sử dụng 3.3.1. Chƣơng trình mã hóa AES Chương trình được chia thành 2 phần:
- Phần 1: Mã hóa văn bản gồm ký tự và số, trong đó ký tự có thể có dấu
- Phần 2: Mã hóa tệp tin gồm file .doc hoặc file .txt
Nội dung chi tiết:
Tab thứ nhất: Mã hóa văn bản:
Quá trình mã hóa
- Nhập chuỗi cần mã hóa vào ô text nội dung: Ví dụ: Cộng hòa xã hội chủ nghĩa Việt Nam - Nhập khóa vào ô text khóa: ví dụ: abc 50 - Bấm vào nút mã hóa: kết quả sẽ được hiển thị ở ô text phần nội dung kết quả là:
p/RR6lSmFq+3XOUqc6TngOmGfK7o3a01jRt5nrrqPijAcSi5XZGXPJsdZnpuo3b2
Rj6v8eASqbfZ1pnlR7bPNFfx8jHSRahZuT874WaDS5k= Hình 3.1: Quá trình mã hóa văn bản Quá trình giải mã - Nhập chuỗi cần giải mã vào ô text nội dung: Ví dụ: p/RR6lSmFq+3XOUqc6TngOmGfK7o3a01jRt5nrrqPihZryPwPf+68P8rGebHeOU
XZaRyCHaE6wZdcAx1sKQaiG2DLxfaJRBG2rHGjyClRFY= - Nhập khóa vào ô text khóa: giống khóa đã đặt trong quá trình mã hóa
- Bấm vào nút giải mã: kết quả giải mã sẽ được hiển thị ở ô text phần nội dung kết quả là: Cộng hòa xã hội chủ nghĩa Việt Nam 51 Hình 3.2: Quá trình giải mã văn bản Tab thứ hai: Mã hóa tệp tin: Quá trình mã hóa: - Bấm vào nút tìm để chọn tệp tin cần mã hóa: - Chương trình sẽ tự lưu file được mã hóa cùng thư mục của file được mã hóa nhưng đã đổi tên thành file số 2 - Bấm vào nút mã hóa ta được kết quả như sau: 52 Hình 3.3: Quá trình mã hóa tệp tin Quá trình giải mã tệp tin - Bấm vào nút tìm tệp tin cần giả mã: chọn tệp tin vừa mã hóa - Chương trình tự động lưu tệp tin giải mã vào cùng thư mục tệp tin đã mã hóa nhưng tên file sẽ được đổi thành tên tệp tin số 2 - Bấm vào nút giải mã ta được kết quả như sau: 53 Hình 3.4: Quá trình giải mã tệp tin Độ an toàn của thuật 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” như trong phương pháp DES. Đánh giá độ phức tạp của thuật toán: - Thuật toán AES 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à cả trên các hệ thống thẻ thông minh. - 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 AES càng chứng tỏ thế mạnh của mình trên các hệ
thống thiết bị mới. 54 - Do đặc tính của việc xử lý thao tác trên từng byte dữ liệu nên không có sự khác biệt nào được đặt ra khi triển khai trên hệ thống big-endian hay little-endian. - Độ lớn của khóa mã có thể thay đổi linh hoạt từ 128 đến 256 bit. 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ể. 3.3.2. Chƣơng trình ký không thể phủ định Trong ví dụ này, Tom là người ký, Mary là người cần xin chữ ký. cấp q. Chọn phần tử sinh của nhóm G là g = 4. , h ≡ ga mod p } Chuẩn bị các tham số
Tom chuẩn bị các tham số cho việc ký - Chọn số nguyên tố p = 467 = 2 * q + 1, q = 233 cũng là số nguyên tố
- G là nhóm nhân con của
- Đặt P = A = G, K = {(p, g, a, h ): a ∈
Chọn a = 121, h = 4121 mod 467 = 422 Thuật toán ký
Dùng khóa bí mật sk = a để ký lên x = 229
Chữ ký thu được là y = sigsk (x) = xa mod p = 229121mod 467 = 382.
Giao thức kiểm thử chữ ký
Dùng khóa công khai pk = ( p, g, h ) = ( 467, 4, 233 )
- Mary chọn ngẫu nhiên e1 = 13, e2 = 18 ∈
- Mary tính c = mod p = 207
- Tom tính d = −1 mod p = 1.045057654999
- Mary kiểm tra điều kiện d ≡ mod p
→ Mary kết luận chữ ký là đúng. Giao thức chối bỏ chữ ký
Giả sử Tom gửi tài liệu x = 229, với chữ ký y = 382
- Mary chọn ngẫu nhiên e1 = 12, e2 = 16 ∈
- Mary tính c = mod p = 148
- Tom tính d = −1 mod p = 1.04216395248539
- Mary kiểm tra điều kiện d ≡ mod p => Mary thực hiện tiếp
Mary chọn ngẫu nhiên f1 = 15, f2 = 11 ∈ 55 - Mary tính C = mod p = 153 và gửi cho Alice
- Tom tính D = −1 mod p = 1.04245016179765 và gửi cho Bob
- Mary kiểm tra D ≢ mod p
- Mary kiểm tra:
(dg-e2)f1≡ (Dg-f2)e1 (mod p)
(dg-e2)f1≡ (Dg-f2)e1 (mod p)
Mary kết luận chữ ký là giả mạo
Nhập các tham số ở trên, ta lần lượt đạt được kết quả như sau: Hình 3.5: Quá trình ký Hình 3.6: Giao thức kiểm thử 56 Hình 3.7: Giao thức chối bỏ. Độ an toàn của chữ ký Điều này phụ thuộc vào bài toán logarit rời rạc do khóa bí mật sk = a được
tính từ công thức h = ga mod p => a = loggh mod p, trong đó g, h, p là công khai.
Đây chính là vấn đề của bài toán logarit rời rạc khó giải. Vấn đề chữ ký không thể phủ nhận là một trong những vấn đề khó trong lĩnh vực mật mã học. Nó là một vấn đề không mới, đang được phát triển ở nước ta hiện nay và có nhiều công việc cần giải quyết nếu muốn xây dựng một hệ thống ký số điện tử đạt tiêu chuẩn quốc gia. Hướng tiếp cận theo mật mã học khóa công khai là hướng tiếp cận dựa vào yêu cầu thực tế công nghệ là công khai và khóa mới là cái bí mật, độ an toàn của hệ thống không dựa vào độ an toàn của công nghệ mà chính là khóa. 57 KẾT LUẬN Luận văn này đã trình bày chi tiết nhất có thể một số bài toán về an toàn thông tin trong thỏa thuận và ký kết hợp đồng của thương mại điện tử. Tác giả đã làm được: Nghiên cứu lý thuyết và thực tế để tổng hợp lại các vấn đề sau: - Tổng quan về ATTT trong TMĐT. - Các phương pháp bảo vệ thông tin trong thỏa thuận và ký kết hợp đồng điện tử. - Một số bài toán về ATTT trong thỏa thuận và ký kết hợp đồng điện tử. Theo sự tìm hiểu của mình, đây là một trong những nghiên cứu về mã hóa AES và chữ ký không thể phủ nhận. Đã mã hóa và giải mã thành công cho một số hợp đồng giao dịch cụ thể, dùng chữ ký không thể phủ nhận để chống chối bỏ hợp đồng giao dịch. Tuy nhiên do thời gian có hạn nên tác giả chưa đưa ra được chương trình thủy vân số để giấu thủy vân vào trong hợp đồng. Trong tương lai, nếu có cơ hội và thời gian, tác giả sẽ cải thiện những vấn đề còn tồn tại như đã đề cập ở trên để đưa đề tài được hoàn thiện hơn nữa. 58 Tài liệu tiếng Việt: TÀI LIỆU THAM KHẢO [1] Trịnh Nhật Tiến. Giáo trình An toàn dữ liệu - Đại học Công Nghệ - ĐH Quốc Gia Hà Nội, 2008. [2] Trịnh Nhật Tiến. Bài giảng Tổng quan về An toàn thông tin trong TMĐT - Đại học Công Nghệ - Đại học Quốc Gia Hà Nội. [3] Phan Đình Diệu. Lý thuyết mật mã và An toàn thông tin, 2002. [4] Nguyễn Đăng Hậu. Kiến thức thương mại điện tử, 11- 2004. [5] Trần Phương Nam. Tiểu luận Mật mã và An toàn dữ liệu-ĐHCN-ĐHQGHN, 2014. [6] Hoàng Thị Vân. Tiểu luận Mật mã và An toàn dữ liệu-ĐHCN-ĐHQGHN, 2013. [7] Phạm Thành Luân. Đồ án tốt nghiệp: Tìm hiểu, nghiên cứu một số tình huống trong thỏa thuận hợp đồng điện tử - ĐHDL Hải Phòng, 2012. [8] Lê Thị Thu. Luận văn thạc sĩ: 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ử - ĐHCN - ĐHQGHN, 2011. Website: [9] http://en.wikipedia.org/wiki/Thuong_mai_dien_tu [10] http://www.moj.gov.vn [11] http://vixra.org/pdf/1405.0049v1.pdf [12] http://www.dynamicwebs.com.au/tutorials/e-commerce.htm#services [13] http://ecommerce.httt.uit.edu.vn [14] http://en.wikipedia.org/wiki/Digital_signature [15] http://www.rsa.com/rsalabs/node.asp?id=2344 59 Tài liệu tiếng Anh: [16] Chaum, David, van Heijst, Eugene and Pfitzmann, Birgit, Cryptographically strong undeniable signatures, unconditionally secure for the signer (extended abstract) [17] Ecient Convertible Undeniable Signature Schemes – D. Chaum, E. van Heys [18] William Stallings (2007), Cryptography and Network Security, Third Edition. [19] D. Stinson. Cryptography: Theory and Practice, CRT Press 1995. [20] N. F. Johnson (2002), Steganography, George Mason University, pp 5-6. [21] Bruce Schneier (1999), Applied Cryptography, Second Edition. [22] Alfred J. Menezes Paul C. van Ooschot Scott A. Vanstone (1998): Handbook of Applied Cryptography, CRC press. [23] Bart Van Rompay. Analysis and Desigbn of Cryptographic Hash Functions, MAC Algorithms and Block Ciphers, Juni 2004. [24] Benoıt Libert Jean-Jacques Quisquater, Identity Based Undeniable Signatures, UCL Crypto Group, Belgium. [25] David Chaum, Hans van Antwerpen. Undeniable Signature. CRYPTO. [26] Moti Young : Weaknesses of Undeniable Signature Schemes. 60Thông tin
xác nhận
Phân phối
Bộ nhúng
Thông tin
Phương tiện
chứa đã được
thủy vân
Khóa
Khóa
Bộ giải tin
Phương tiện chứa
(Image, Audio,
Video, Text)
Phương tiện
cần xác thực
Kiểm định
Thủy vân
…