Giao thức truyền thụng an toàn đó đƣợc trỡnh bày cho quỏ trỡnh đấu thầu trực tuyến dựa trờn hàm băm một chiều và mó húa phi đối xứng, ngoài ra cũn kết hợp cỏc thuật toỏn ký số và chuỗi băm, đạt đƣợc yờu cầu về cỏc đặc tớnh bảo vệ thụng tin.
Giao thức này sử dụng quỏ trỡnh hỡnh thành chuỗi băm tƣơng tự thủ tục ký kết hợp đồng truyền thống, bảo vệ cỏc giao thức từ cỏc cuộc tấn cụng kinh doanh truyền thống (giả mạo). Giao thức sử dụng mó húa khúa cụng khai để cung cấp bảo mật truyền thụng. Cỏc thuật toỏn chữ ký số cung cấp tớnh xỏc thực nguồn gốc dữ liệu, và chuỗi băm giỳp kiểm tra tớnh toàn vẹn của thụng điệp ban đầu, thỏa món cỏc yờu cầu về bảo đảm an toàn dữ liệu [5].
3.3. ĐỀ XUẤT CẢI TIẾN GIAO THỨC
Trong giao thức trờn, mặc dự đƣợc đỏnh giỏ là khỏ an toàn khi kết hợp cả mó húa khúa cụng khai, hàm băm và ký số. Tuy nhiờn, nếu trong một quỏ trỡnh thực thi hợp đồng mà hai bờn phải trao đổi cho nhau rất nhiều tài liệu, với độ dài khỏc nhau, thỡ việc mó húa bằng khúa cụng khai sẽ trở thành vấn đề đỏng bàn. Mó húa khúa cụng khai thƣờng bị đỏnh giỏ là chậm hơn rất nhiều so với mó húa khúa đối xứng, vỡ thế tỏc giả đề xuất thay đổi một số bƣớc trong giao thức nhƣ sau:
Giai đoạn đầu:
Trong giai đoạn đầu khởi tạo thụng điệp, A sẽ sinh ra một khúa đối xứng KdxA (sử dụng hệ mó húa DES hoặc AES).
Khúa này sẽ đƣợc sử dụng trong toàn bộ quỏ trỡnh thỏa thuận hợp đồng hay trong từng bƣớc trao đổi là do thỏa thuận giữa hai bờn. Trong sơ đồ này sẽ dựng phƣơng phỏp mỗi lần gửi thụng điệp, cỏc bờn sẽ sinh ngẫu nhiờn cỏc khúa đối xứng để thực hiện mó húa thụng điệp. Và mỗi khúa sẽ gắn kốm với “ngày hết hạn” (Expiration Date), cho đến khi hết hạn, khúa sẽ bị cấm (khụng thể mó húa cho thụng điệp khỏc). Vỡ thế, nếu một bản sao của thụng điệp gửi đi, thỡ cũng bị từ chối vỡ khúa đó bị cấm. Sau đú, A sẽ mó húa khúa này bằng khúa cụng khai của B: βA=EKB(KdxA) và thực hiện gửi thụng điệp M0 gồm:
M0 = EKdxA(TD|| σA)|| βA||CA A B L0= h(TD) σA = Sig K-1A(L0) βA=EKB(KdxA) M0 = EKdxA(TD|| σA)|| βA||CA
Hỡnh 3.21: Cải tiến giao thức con: giai đoạn đầu
Giai đoạn đàm phỏn A B KndxB = D K-1B (βnB) (mn||σnB) = DKndxB(Mn) Ln = VKB (σnB) L‟n = h(mn||Ln-1) Nếu L’n = Ln σnA = Sig K-1A(Ln) βnA=EKB(KndxA) RSPn = EKndxA(σnA)|| βnA||CA Nếu L’n ≠ Ln
Khụng gửi RSP mà kớch hoạt gửi lại Mn
Ln= h(mn||Ln-1) σnB = Sig K-1B(Ln)
βnB=EKA(KndxB) Mn = EKndxB(mn || σnB)|| βnB||CB
Hỡnh 3.22: Cải tiến giao thức con: giai đoạn đàm phỏn
RSPn
Giai đoạn cuối A B σfA = Sig K-1A(Lf) βfA=EKTTP(KfdxA) MfA = EKfdxA(σfA||B)|| βfA||CA σfB = Sig K-1B(Lf) βfB=EKTTP(KfdxB) MfB = EKfdxB(σfB||A)|| βfB||CB
Hỡnh 3.22: Cải tiến giao thức con: giai đoạn cuối
MfA MfB TTP KfdxB = D K-1TTP (βnB) KfdxA = D K-1TTP (βnA) σnB = DKfdxB(MfB) σnA = DKfdxA(MfA) L‟f = VKA (σfA) L‟‟f = VKB (σfB) Nếu L’f = L’’f σTTP = Sig K-1TTP(σfA || σfB || mcf) βfTTPA=EKA(KTTP) βfTTPB=EKB(KTTP) MfTTPA=EKTTP(σTTP)|| βfTTPA||CTTP MfTTPB=EKTTP(σTTP)|| βfTTPB||CTTP Nếu L’f ≠ L’’f σTTP = Sig K-1TTP(σfA || σfB || mer) βfTTPA=EKA(KTTP) βfTTPB=EKB(KTTP) MfTTPA=EKTTP(σTTP)|| βfTTPA||CTTP MfTTPB=EKTTP(σTTP)|| βfTTPB||CTTP MfTTPB MfTTPA MfTTPA MfTTPB
Chương 4. CHƢƠNG TRèNH THỬ NGHIỆM
4.1. GIỚI THIỆU CHƢƠNG TRèNH
Trong chƣơng này, tỏc giả sẽ thử nghiệm một số bƣớc trong quỏ trỡnh thực hiện hợp đồng điện tử bao gồm ký số, mó húa hợp đồng và tạo ra một kờnh giao tiếp an toàn để gửi và nhận tài liệu trong quỏ trỡnh thỏa thuận hợp đồng.
Chƣơng trỡnh ký: Dựa trờn hệ mó húa khúa cụng khai RSA để ký và xỏc nhận chữ ký. Chƣơng trỡnh cũng đƣợc viết dựa trờn chƣơng trỡnh mó nguồn mở OpenSSL. Thụng điệp sẽ đƣợc ký trƣớc, sau đú chuyển sang bƣớc mó húa và gửi đi.
Chƣơng trỡnh mó húa: Dựa trờn hệ mó húa khúa cụng khai RSA để mó húa khúa (đƣợc tạo ra ngẫu nhiờn dựa trờn hệ mó húa khúa đối xứng AES) và sử dụng khúa này để mó húa thụng theo lƣợc đồ nhƣ giao thức ở chƣơng 3 đó trỡnh bày.
Chƣơng trỡnh sẽ viết theo mụ hỡnh Client/Server, coi nhƣ hai bờn tham gia thỏa thuận hợp đồng, một bờn là Client (bờn tham gia đấu thầu), và bờn kia là Server (bờn mở thầu).
Cỏc bƣớc thực hiện trong chƣơng trỡnh:
1/. Server bắt đầu, 1 cặp khúa RSA đƣợc sinh ra (hoặc load từ ổ đĩa – Tạo ra trƣớc từ chƣơng trỡnh OpenSSL).
2/. Client bắt đầu, họ sẽ yờu cầu mỏy chủ gửi khúa cụng khai từ cặp khúa vừa sinh ra ở bờn server.
3/. Client chuẩn bị thụng điệp yờu cầu (Request).
- 1 khúa ngẫu nhiờn AES đƣợc tạo ra (gồm 2 phần: khúa (key) và vecto khởi tạo (IV)). - Thụng điệp đƣợc mó húa bằng khúa AES tạo ra ở trờn.
- Khúa AES đƣợc mó húa bằng khúa cụng khai RSA của mỏy chủ và thờm vào thụng điệp mó húa.
4/. Server nhận đƣợc thụng điệp.
- Dựng khúa riờng RSA của Server giải mó ra khúa AES. - Giải mó thụng điệp bằng khúa AES của Client.
5/. Server trả lời (Response)
Thụng bỏo đó nhận đƣợc thụng điệp và giải mó thành cụng. 6/. Client nhận thụng điệp trả lời.
4.2. CẤU HèNH HỆ THỐNG
Hệ điều hành: Windows XP/Vista/2007
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
4.3. HƢỚNG DẪN SỬ DỤNG
4.3.1 Chƣơng trỡnh ký
Sau khi sử dụng chƣơng trỡnh OpenSSL sinh ra khúa cụng khai (publickey.crt) và khúa bớ mật (privatekey.pem), ta sử dụng 2 khúa này cho chƣơng trỡnh ký và xỏc nhận chữ ký.
Vào chƣơng trỡnh
1/. Ký:
Nhập thụng tin vào cỏc ụ: file văn bản, file chứa khúa cụng khai, file chứa khúa bớ mật (dựng để ký), file chứa bản băm và file chứa chữ ký. (Vỡ chữ ký đƣợc ký trờn đại diện thụng điệp).
Chọn khúa là 1024 bit (vỡ lỳc sinh khúa chỳng ta đó chọn khúa 1024 bit), và nhấn vào nỳt “Ký”
2/. Xỏc nhận:
Chọn sang Tab: “Xỏc thực”, nhập thụng tin về file văn bản, file chữ ký và khúa cụng khai.
4.3.2 Chƣơng trỡnh mó húa
Sau khi thực hiện ký vào thụng điệp, cỏc bờn tham gia sẽ tiếp tục mó húa thụng điệp để gửi đi.
Chƣơng trỡnh chia làm 2 phần chớnh, ỏp dụng cho Text (những thụng bỏo ngắn) và File (thụng điệp dài).
4.3.2.1 Làm việc với Text
Vào chƣơng trỡnh
Tạo ngẫu nhiờn khúa bớ mật AES (gồm 2 phần: Key và IV)
Mó húa thụng điệp bằng khúa AES
Khi kết nối thành cụng, nỳt bấm “Gửi thụng điệp” sẽ hiện lờn, khi đú chỳng ta sẽ thực hiện gửi thụng điệp đó đƣợc mó húa kốm với khúa (đƣợc mó húa bằng khúa cụng khai RSA). Nếu Server nhận đƣợc và giải mó thành cụng thỡ Server sẽ thụng bỏo về cho Client đó nhận thụng điệp.
4.3.2.2 Làm việc với File
Cũng tƣơng tự nhƣ với Text, chỳng ta cũng nhập địa chỉ Server, nhận khúa cụng khai từ Server, và sinh khúa ngẫu nhiờn AES. Đồng thời thực hiện mó húa khúa AES bằng khúa cụng khai RSA
Tiếp đú, chọn đến File đầu vào, tự động chƣơng trỡnh sẽ sinh ra 2 đƣờng dẫn đến file mó húa cú đuụi “.enc” và file giải mó cú đuụi “.enc.doc”
Chỳng ta cú thể thực hiện mó húa và giải mó để lƣu lại thụng tin trờn mỏy Client (nếu khụng cũng khụng ảnh hƣởng gỡ, vỡ trong bƣớc gửi thụng điệp, Client sẽ thực hiện mó húa và gửi thụng điệp đi).
Tiếp theo, thực hiện kết nối đến Server
KẾT LUẬN
Cựng với cuộc cỏch mạng cụng nghệ thụng tin và truyền thụng đang diễn ra hết sức mạnh mẽ trờn thế giới và tại Việt Nam, thƣơng mại điện tử đó trở thành một phần khụng thể thiếu trong hoạt động kinh tế của mỗi quốc gia, tổ chức, doanh nghiệp và cỏ nhõn. Hợp đồng điện tử là yếu tố trung tõm trong cỏc hoạt động thƣơng mại điện tử, đảm bảo sự thành cụng của cỏc giao dịch điện tử giữa cỏc tổ chức và cỏ nhõn.
Trong những năm gần đõy, nhiều chớnh sỏch, nhiều văn bản quy phạm phỏp luật về cụng nghệ thụng tin, về thƣơng mại điện tử và giao dịch điện tử đó đƣợc ban hành. Tuy nhiờn, hợp đồng điện tử vẫn là vấn đề mới mẻ và phức tạp đối với cỏc cơ quản quản lý, doanh nghiệp và cỏ nhõn. Mặc dự cú những lợi ớch rừ ràng, sự phức tạp về kỹ thuật, luật phỏp và quy trỡnh kinh doanh của hợp đồng điện tử đem lại nhiều khú khăn, thỏch thức đối với cỏc cơ quan, doanh nghiệp cũng nhƣ từng cỏ nhõn trong việc ký kết và thực hiện hợp đồng điện tử.
Chớnh vỡ vậy, việc nghiờn cứu cỏc vấn đề kỹ thuật nhằm bảo vệ thụng tin trong thỏa thuận thuận hợp đồng điện tử là thực sự cần thiết.
Luận văn đạt đƣợc 2 kết quả chớnh:
1. Nghiờn cứu lý thuyết và thực tế để tổng hợp lại cỏc vấn đề sau:
Nhu cầu bảo vệ hợp đồng trong giao dịch trực tuyến.
Phƣơng phỏp bảo vệ thụng tin trong hợp đồng điện tử.
Một số giao thức đảm bảo an toàn thụng tin trong hợp đồng điện tử. Trong đú cú đề xuất một số cải tiến nhỏ cho giao thức.
TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt
[1]Dƣơng Anh Đức, Trần Minh Triết (2005), Thuật toỏn mó húa và ứng dụng, ĐH Khoa học tự nhiờn – ĐH Quốc Gia Thành phố Hồ Chớ Minh.
[2]Trƣơng Thị Thu Hiền (2007), tài liệu nghiờn cứu: Túm lược thụng điệp (hàm băm), ĐH Cụng nghệ.
[3]Nguyễn Văn Thoan (2010), Luận ỏn TS: Ký kết và thực hiện hợp đồng điện tử trong điều kiện Việt Nam hội nhập kinh tế quốc tế, ĐH Ngoại Thƣơng.
[4]Trịnh Nhật Tiến, Bài giảng: An toàn dữ liệu , ĐH Cụng nghệ - ĐH Quốc gia Hà Nội.
Tài liệu tiếng Anh
[5]Brian Fitzgerald, Rong Du, Ernest Foo, Colin Boyd (2004), Secure Communication Protocol For Preserving E-Tendering Integrity, ISRC Queensland University of Technology.
[6]John Mitchell (2005), Contract-Signing Protocols, Stanford University.
[7]Juan A.Garay, Markus Jakobsson, Philip MacKenzie, Abus-Free Optimistic Contract Signing, Bell Laboratories.
[8]William Stallings (2007), Cryptography and Network Security, Third Edition. [9]Bruce Schneier (1999), Applied Cryptography, Second Edition.
[10] Vijayakrishnan Pasupathinathan, Josef Pieprzyk, HuaxiongWang (2008), A Fair E- Tendering Protocol, ACAC, Department of Computing, Macquarie University & Division of Mathematical Sciences, Nanyang Technological University.