Luận văn đặt ra 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.
Trang 1LỜ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 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ử
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ự
Trang 2 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
Trang 3CHƯƠ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ử
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 Web2
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
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
Hình 1.3: Biểu đồ Quy mô TMĐT Việt Nam (tỷ USD)
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:
2 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)
Trang 4Hì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
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
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
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
Đố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
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
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:
Trang 5Hì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
Trang 6Hì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
Giai đoạn quảng cáo và giới thiệu sản phẩm (Marketing)
Giai đoạn thỏa thuận và ký kết hợp đồng
Giai đoạn thanh toán và chuyển giao sản phẩm:
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
Trang 7tổ 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
1.2.2 Mục tiêu của An toàn thông tin
Bảo đảm bí mật
Bảo đảm toàn vẹn
Bảo đảm xác thực
Bảo đảm sẵn sàng
Bảo đảm tính không thể chối bỏ
1.2.3 Các giải pháp bảo đảm An toàn thông tin
Bảo đảm toàn vẹn và xác thực thông tin
Kiểm soát lối vào ra của thông tin
hát hiện, xử lý các l hổng trong ATTT
hối hợp các phương pháp
1.3 Mã hóa dữ liệu
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.2 Phân loại hệ mã hóa
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ã
Mã hóa khóa đối xứng có thể chia thành: Mã hóa khối & Mã hóa 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
Trang 81.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
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
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
Inverse Cipher Thuật toán giải mã
Thủ tục sinh khóa (Key
Expansion)
Thủ tục được sử dụng để sinh ra các khóa sử dụng tại 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
Trang 92 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:
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()
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 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
Trang 101 Phân loại chữ ký theo khả năng khôi phục thông điệp gốc
2 Phân loại chữ ký theo mức an toàn
3 Phân loại chữ ký theo ứng dụng đặc trưng
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 = Z n
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
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) Ver k (x, y) =
Sai, nếu y Sig k (x)
Trang 11
+ G là nhóm con (theo phép nhân) cấp q sinh ra bởi g của
+ 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
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 = Z n
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)
Trang 121.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
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
- 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