Các vấn đề đó từ những vấn đề rất lớn như hoàn thiện hệ thống thanh toánliên ngân hàng, xây dựng các dịch vụ cổng thanh toán, hạ tầng quản lý khóa côngkhai, các dịch vụ bảo mật cho giao
Trang 1PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1 Định hướng đề tài
Tìm hiểu mô hình thương mại điện tử B2C và xây dựng một giải phápquản lý hàng hóa và bán hàng trực tuyến sử dụng Struts và HibernateFramework
2 Các nhiệm vụ cụ thể của ĐATN
Tìm hiểu về thương mại điện tử, đặc biệt là thương mại điện tử B2C
Tìm hiểu thực trạng thương mại điện tử Việt Nam
Tìm giải pháp cho vấn đề an toàn trong thương mại điện tử
Tìm hiểu Struts và Hibernate Framework
Thiết kế và xây dựng một phần ứng dụng web-based sử dụng Struts vàHibernate Framework cho phép người bán hàng có thể quản lý loạihàng hóa bất kỳ và giúp người mua có thể mua hàng hóa và thanh toántrực tuyến
3 Lời cam đoan của sinh viên
Tôi – Phan Vũ Giáp – cam kết ĐATN là công trình nghiên cứu của bản thântôi dưới sự hướng dẫn của Th.S.Bùi Thị Hòa
Các kết quả nêu trong ĐATN là trung thực, không sao chép toàn văn của bất
Trang 2TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Thương mại điện tử đang có những bước phát triển vượt bậc trên Thế giới cũng như ởViệt Nam trong thời gian gần đây Đây là lĩnh vực kinh tế có gắn bó mật thiết với côngnghệ thông tin vì tất cả các sản phẩm hàng hóa và dịch vụ được trao đổi buôn bán thôngqua hạ tầng công nghệ thông tin, viễn thông, đặc biệt là Internet
Do đây là một lĩnh vực nghiên cứu rất rộng nên trong đồ án này, tác giả chỉ tập trungvào nghiên cứu bộ phận rất nhỏ trong lĩnh vực hấp dẫn này, đó là lĩnh vực thương mạiđiện tử B2C Thương mại điện tử B2C dường như là một mô hình tối ưu cho các doanhnghiệp nhỏ ở các nước đang phát triển như Việt Nam có thể áp dụng để giảm chi phí bánhàng nhằm mang lại lợi thế cạnh tranh cho sản phẩm hàng hóa, dịch vụ của họ
Trong đồ án tốt nghiệp này, tác giả sẽ tập trung vào bộ giải pháp cho ứng dụng B2C,hay nói một cách rõ ràng hơn, là bộ giải pháp cho phép người bán quản lý công việc bánhàng của mình trên Internet
Vấn đề đầu tiên gặp phải trong ứng dụng B2C là vấn đề an toàn thông tin Tác giả đưa
ra giải pháp về an toàn cho ứng dụng B2C dựa trên các giao thức bào mật SSL, giao thứcbảo mật giao dịch thanh toán SET, các kỹ thuật điều khiển truy cập (Access Control),chứng thực, mã hóa
Vấn đề lớn tiếp theo gây khó khăn trong việc phát triển các ứng dụng loại này là vớimỗi loại hàng hóa khác nhau, luôn có các đặc tính khác nhau, và như thế, để thống nhấtchúng trong một gian hàng trực tuyến là rất khó khăn Tác giả tập trung vào tìm hiểu giảipháp cho một ứng dụng trên nền Web cho phép người bán có thể tự quản lý hàng hóa củamình một cách uyển chuyển nhất, tức là họ thích bán gì tùy ý, đồng thời đưa ra các giảipháp hỗ trợ người mua có được thuận lợi khi mua hàng và thực hiện thanh toán trực tuyếnbằng các phương tiện thanh toán điện tử như thẻ tín dụng
Tác giả cũng áp dụng trong đồ án tốt nghiệp hai khung làm việc thông dụng trong việcxây dựng các ứng dụng Web là Struts và Hibernate Framework
Phần cuối cùng của đồ án, tác giả sẽ đưa ra một số đánh giá về kết quả đã đạt đượccũng như hạn chế của đồ án đồng thời đề xuất các hướng phát triển trong tương lai
Từ khóa: thương mại điện tử, thương mại điện tử B2C, hệ thống thanh toán điện tử,Struts Framework, Hibernate Framework, kho hàng trực tuyến, phương tiện thanh toánđiện tử
Trang 3ABSTRACT OF THE THESIS
In the recent year, the e-commerce is developing very strongly all over the world andViet Nam Because of the way goods and services are exchanged through infrastructure ofinformation technology and communication, this area of economic has a very close relation
to information technology, especially Internet
The e-commerce is a very wide area, so in this thesis, the author concentrated just onone part of this attractive area, that’s B2C e-commerce The author chose B2C because thismodel is very suitable for the bussiness in developing countries like Viet Nam to havecapability of competition at the age of globalization
In this thesis, the author proposed and built some solutions of B2C e-commerceapplication More clearly, the author will build a web-based application that allowsmerchant to do business online It means, merchant can sell goods and services forcustomers and get funds from them
The first problem need to be solved is the problem of information security The authorproposed some solutions to gurantee the security of B2C application based on SecureSocket Layer Protocol, Secure Electronic Transaction Protocol, Access ControlMechanisms, Encrytion Mechanisms and Authentication Mechanism
The next problem that makes everyone difficutl to develop this kind of application isthe difference of each different goods need to be showed on the same place The authorwill give some solutions to help merchants manage their goods easily and help customersget advantage of shopping and paying online
The author also applied two popular framework in developing web-based applicationare Struts and Hibernate to implement solutions in thesis
The last part of the thesis, the author gave some estimations about the result of thethesis and proposed some orientation to develop, extend in future
Key words: e-commerce, B2C, electronic payment system, Struts Framework,Hibernate Framework, online store, electronic payment instrument
Trang 4LỜI CẢM ƠNTrước tiên em xin tỏ lòng biết ơn sâu sắc đến ThS Bùi Thị Hòa, giảng viên bộ
môn Công nghệ Phần mềm, khoa Công nghệ Thông tin, trường đại học Bách Khoa
Hà Nội Cô là người trực tiếp hướng dẫn em thực hiện đề tài này, cũng là người tậntình chỉ bảo, động viên em trong suốt quá trình thực tập và khi làm đồ án tốtnghiệp
Em chân thành cảm ơn TS Huỳnh Quyết Thắng , Ths Đỗ Văn Uy, ThS.
Lương Mạnh Bá, ThS Vũ Đức Vượng đã hướng dẫn, giúp đỡ, động viên em rất
nhiều trong suốt quá học tập tại khoa công nghệ thông tin, thực tập tại bộ môn côngnghệ phần mềm và thực tập tốt nghiệp tại công ty Mitani
Em gửi lời cảm ơn sâu sắc tới các thầy cô giáo trong khoa Công nghệ thông tin
và trường đại học Bách Khoa Hà Nội đã giúp đỡ và dạy dỗ em trong suốt thời gian
em học tập tại trường
Em gửi lời cảm ơn chân thành tới các anh, các chị trong công ty AIT Mitani;anh Chính, chị Hồng, chị Duyên, anh Thiện, anh Trang, anh Đạm, anh Đông, anhVăn, anh Quân, anh Việt, anh Lý; những người đã giúp đỡ em rất nhiều trong suốtquá trình em thực tập tốt nghiệp tại công ty
Cuối cùng, em gửi lời cảm ơn chân thành tới gia đình, bạn bè đã quan tâm,động viên, đóng góp ý kiến và giúp đỡ em trong suốt quá trình học tập cũng nhưthực hiện đồ án tốt nghiệp này
Do thời gian, kiến thức và kinh nghiệm của em còn hạn chế nên đồ án chắcchắn có những khiếm khuyết, em mong được các thầy cô, anh chị và các bạn góp ý
để đồ án được hoàn thiện hơn
Sinh viên Phan Vũ Giáp
Trang 5MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 2
ABSTRACT OF THE THESIS 3
LỜI CẢM ƠN 4
DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ 7
DANH MỤC HÌNH VẼ 9
DANH MỤC BẢNG VÀ HỘP 12
LỜI NÓI ĐẦU 14
Chương 1 MÔ HÌNH THƯƠNG MẠI ĐIỆN TỬ B2C 16
1.1 Khái niệm và phân loại thương mại điện tử 16
1.2 Mô hình thương mại điện tử B2C 16
1.3 Các hệ thống thanh toán điện tử 17
1.3.1 Hệ thống thanh toán điện tử 17
1.3.2 Các kiểu hệ thống thanh toán điện tử 18
1.3.3 Các phương tiện thanh toán điện tử và cách thức giao dịch tương ứng 19
1.4 Hệ thống bán hàng (Store-Front) 22
1.4.1 Cửa hàng trưng bày sản phẩm 23
1.4.2 Giỏ hàng 23
1.4.3 Bàn thanh toán 23
1.4.4 Các dịch vụ khách hàng và chính sách của công ty 24
1.5 Hệ thống quản lý hàng hóa và kinh doanh (Back-End) 24
1.5.1 Quản lý kho hàng 24
1.5.2 Quản lý đơn hàng 24
1.5.3 Quản lý quan hệ khách hàng (Customer Relationship Management-CRM) 24
1.5.4 Phân tích dữ liệu khách hàng 25
Kết chương 25
Chương 2 GIẢI PHÁP AN TOÀN THÔNG TIN CHO ỨNG DỤNG THƯƠNG MẠI ĐIỆN TỬ 26
2.1 Tổng quan về an toàn thông tin 26
2.1.1 Quy trình xây dựng hệ thống an toàn 26
2.1.2 Các đe dọa về an toàn thông tin 27
2.1.3 Các dịch vụ bảo mật 27
2.1.4 Các kỹ thuật bảo mật 28
2.2 An toàn thông tin trong thương mại điện tử 29
2.2.1 Các dịch vụ bảo mật trong thương mại điện tử 30
2.2.2 Bảo mật giao dịch thanh toán điện tử 31
2.3 Lựa chọn giải pháp an toàn cho ứng dụng B2C 38
Kết chương 39
Chương 3 THỰC TRẠNG THƯƠNG MẠI ĐIỆN TỬ VIỆT NAM 40
3.1 Môi trường phát triển thương mại điển tử Việt Nam 40
Trang 63.1.2 Chính sách và pháp luật cho thương mại điện tử 41
3.1.3 Đáp ứng về cơ sở hạ tầng công nghệ 44
3.1.4 Hệ thống thanh toán điện tử ở Việt Nam 47
3.1.5 Đáp ứng về nguồn nhân lực 48
3.2 Tình hình ứng dụng thương mại điện tử trong doanh nghiệp.51 3.2.1 Mức độ sẵn sàng của doanh nghiệp cho thương mại điện tử 51 3.2.2 Mức độ triển khai ứng dụng thương mại điện tử 54
3.2.3 Hiệu quả ứng dụng thương mại điện tử 56
3.3 Các vấn đề cần giải quyết để phát triển thương mại điện tử Việt Nam 57
3.3.1 Các trở ngại trong ứng dụng thương mại điện tử 57
3.3.2 Các giải pháp đề xuất 58
Kết chương 59
Chương 4 GIỚI THIỆU VỀ STRUTS VÀ HIBERNATE FRAMEWORK 60
4.1 Struts Framework 60
4.1.1 Mô hình thiết kế ba lớp MVC (Model-View-Controller) 60
4.1.2 Struts Framework 61
4.2 Hibernate Framework 64
4.2.1 Ánh xạ quan hệ đối tượng (Object-Relation Mapping) 64
4.2.2 Hibernate Framework 70
4.3 Kết hợp của Struts và Hibernate theo mô hình MVC 73
Kết chương 74
Chương 5 XÂY DỰNG ỨNG DỤNG BÁN HÀNG TRỰC TUYẾN 75 5.1 Giới thiệu yêu cầu bài toán 75
5.2 Phân tích hệ thống 76
5.2.1 Phân tích hệ thống về chức năng 76
5.2.2 Phân tích hệ thống về tương tác 83
5.3 Thiết kế 91
5.3.1 Biểu đồ lớp của các chức năng cơ bản 92
5.3.2 Thiết kế cơ sở dữ liệu 93
5.3.3 Thiết kế giao diện 106
5.4 Cài đặt chương trình 106
5.4.1 Công cụ sử dụng 106
5.4.2 Cấu trúc mã nguồn chương trình 106
5.4.3 Một số màn hình thực hiện chương trình 107
Kết chương 110
Chương 6 ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 111
6.1 Các vấn đề đồ án đã giải quyết được 111
6.2 Các vấn đề còn hạn chế 111
6.3 Hướng phát triển của đề tài 112
TÀI LIỆU THAM KHẢO 112
Các tài liệu điện tử 112
Các địa chỉ Website 112
Trang 7DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ
STT Thuật ngữ Giải thích
1 E-Commerce Thương mại điện tử
2 Merchant
Là các thành phần kinh doanh hàng hoá và dịch vụ
có ký kết với Ngân hàng thanh toán về việc chấpnhận thanh toán thẻ như: nhà hàng, khách sạn, cửahàng Các đơn vị này phải trang bị máy móc kỹthuật để tiếp nhận thẻ thanh toán tiền mua hànghoá, dịch vụ, trả nợ thay cho tiền mặt
3 Acquirer Bank Ngân hàng thụ hưởng
4 Issuer Bank Ngân hàng phát hành phương tiện thanh toán
7 Merchant Account
Là một tài khoản ngân hàng đặc biệt cho phép chophép người bán khi kinh doanh có thể chấp nhậnthanh toán bằng thẻ tín dụng Việc thanh toánbằng thẻ tín dụng chỉ có thể tiến hành thông quadạng tài khoản này
8 Payment Gateway
“Cổng thanh toán”, là một chương trình phầnmềm Phần mềm này được sử dụng để cấp phépthanh toán cho các phương tiện thanh toán Nó làkênh trung gian liên kết tất cả các bên tham giatrong giao dịch thanh toán điện tử
Là nơi để chuyển tiền gửi cho tài khoản cá nhân
và chuyển giao thanh toán giữa các cơ quanthương mại
10 EDI Electronic Data Interchanger-Trao đổi dữ liệu điện
tử tài chính
11 Store-Front Cửa hàng trên mạng
12 Back-End Hệ thống quản lý hàng hóa và kinh doanh củangười bán
17 Digital Envelope Phong bì số
Trang 820 TMTT Thương mại truyền thống
24 SET Secure Electronic Transaction-Giao thức bảo mậtgiao dịch thanh toán điện tử
25 Struts Framework Một khung làm việc được phát triển theo mô hình
MVC trên nền ngôn ngữ Java
26 Hibernate Framework Một khung làm việc cho công việc ánh xạ cơ sởdữ liệu quan hệ được phát triển trên nền ngôn ngữ
Java
27 MVC Model-View-Controller, mô hình 3 lớp trong kiếntrúc ứng dụng Web
29 ORM Object/Relation Mapping, ánh xạ quan hệ/đốitượng
30 EPS Electronic Payment System: Hệ thống thanh toán
36 M-Commerce Mobile Commerce: Thương mại dựa trên thiết bịdi động
37 CRMS Customer Relationship Management System: Hệthống quản lý quan hệ khách hàng.
Trang 9DANH MỤC HÌNH VẼ
Hình 1-1 Mô hình chung của hệ thống thanh toán điện tử 18
Hình 1-2 Giao dịch thanh toán điện tử sử dụng thẻ tín dụng 20
Hình 1-3 Giao dịch thanh toán điện tử sử dụng tiền số 21
Hình 1-4 Giao dịch thanh toán điện tử sử dụng séc điện tử 22
Hình 2-1 Lịch sử phát triển của SSL/TSL 32
Hình 2-2 SSL đóng vai trò là giao thức dành riêng cho dịch vụ bảo mật 32
Hình 2-3 Các giao thức thành phần của SSL 34
Hình 2-4 Cách thức đóng gói các thông điệp của SSL 35
Hình 2-5 Vị trí của SET trong giao dịch thanh toán điện tử 37
Hình 2-6 Các thông điệp trong giao thức SET 37
Hình 3-1 Biểu đồ phát triển người dùng Internet Việt Nam từ 2001 đến 2006 46
Hình 3-2 Quy mô lao động của các doanh nghiệp được điều tra 51
Hình 3-3 Tỷ lệ phân bố máy tính trong các doanh nghiệp 52
Hình 3-4 Hình thức kết nối Internet trong các doanh nghiệp 53
Hình 3-5 Trở ngại về an toàn mạng đối với các doanh nghiệp 53
Hình 3-6 Tỉ lệ doanh nghiệp có Website 54
Hình 3-7 Tấn suất cập nhật Website của các doanh nghiệp 55
Hình 4-1 Các thành phần chính trong mô hình MVC 60
Hình 4-2 Kiến trúc MVC theo mô hình 2 trong J2EE 62
Hình 4-3 Kiến trúc Struts theo mô hình 2 63
Hình 4-4 Vị trí của lớp Persistence trong kiến trúc phân lớp 66
Hình 4-5 Một biểu đồ lớp đơn giản 67
Hình 4-6 Biểu đồ lớp được làm phức tạp hơn 68
Hình 4-7 Biểu đồ lớp có thừa kế 69
Hình 4-8 Kiến trúc Hibernate 70
Hình 5-1 Biểu đồ UserCase với tác nhân là khách hàng 76
Hình 5-2 Biểu đồ các UC liên quan đến giỏ hàng 77
Hình 5-3 Các UC của chức năng tìm kiếm 78
Hình 5-4 Các UC của chức năng xem hàng hóa 78
Hình 5-5 Các UC liên quan đến quản lý tài khoản 79
Trang 10Hình 5-7 Biểu đồ UC của hệ thống quản lý hàng hóa và đơn hàng 80
Hình 5-8 Biểu đồ UC cho tác nhân là thư ký đơn hàng 81
Hình 5-9 Biểu đồ UC cho với tác nhân là Store Admin 81
Hình 5-10 Biểu đồ UC quản lý sản phẩm 82
Hình 5-11 Biểu đồ UC quản lý các mặt hàng và giá bán hàng 83
Hình 5-12 Biểu đồ tuần tự của chức năng đăng ký 84
Hình 5-13 Biểu đồ tuần tự của chức năng thay đổi thông tin tài khoản 84
Hình 5-14 Biểu đồ tuần tự của chức năng đăng nhập 85
Hình 5-15 Biểu đồ tuần tự của chức năng thanh toán 85
Hình 5-16 Quy trình thực hiện thanh toán 86
Hình 5-17 Biểu đồ tuần tự của chức năng thêm hàng vào giỏ hàng 86
Hình 5-18 Thêm một kho lưu trữ 87
Hình 5-19 Thêm Catalog Group mới 87
Hình 5-20 Thêm Item mới 88
Hình 5-21 Soạn thảo mô tả cho Item 88
Hình 5-22 Thêm mới giá trị cho thuộc tính 89
Hình 5-23 Thêm mới giá trị và thuộc tính cho Item 89
Hình 5-24 Phân cấp hàng hóa 90
Hình 5-25 Mô hình tĩnh của toàn bộ hệ thống 91
Hình 5-26 Biểu đồ lớp của chức năng quản lý tài khoản của khách hàng 92
Hình 5-27 Biểu đồ lớp cho các chức năng liên quan tới giỏ hàng 92
Hình 5-28 Biểu đồ lớp của chức năng thanh toán phần 1 93
Hình 5-29 Biểu đồ lớp của chức năng thanh toán phần 2 93
Hình 5-30 Biểu đồ thực thể liên kết phần 1 94
Hình 5-31 Biểu đồ thực thể liên kết phần 2 94
Hình 5-32 Biểu đồ thực thể liên kết phần 3 95
Hình 5-33 Danh sách các tệp ánh xạ các bảng của cơ sở dữ liệu và đối tượng theo Hibernate Framework 107
Hình 5-34 Giao diện cho người quản trị (Store Admin) với chức năng thêm mới kho hàng 107
Hình 5-35 Màn hình đăng nhập 108
Hình 5-36 Màn hình chọn vai trò cho thành viên 108
Hình 5-37 Giao diện cho người dùng là người quản lý sản phẩm, hàng hóa đưa ra để bán 109
Hình 5-38 Giao diện với tác nhân là kế toán đơn hàng 109
Trang 11Hình 5-39 Nhập mới thành viên quản trị hệ thống 110
Trang 12DANH MỤC BẢNG VÀ HỘP
Bảng 2-1 Các thông điệp trong giao thức SSL 34
Bảng 2-2 Giá trị các kiểu giao thức truyền thông điệp cho Record layer 35
Bảng 3-1 Các địa phương đã có đề án triển khai thương mại điện tử 42
Bảng 3-2 Các chính sách liên quan tới thương mại điện tử 43
Bảng 3-3 Một số văn bản pháp quy liên quan đến thương mại điện tử 44
Bảng 3-4 Thống kê lương máy tính của Việt Nam trong tương quan với thế giới 45
Bảng 3-5 Một số thống kê Internet của Việt Nam so với thế giới năm 2005 46
Bảng 3-6 Một số thống kê về thực trạng thanh toán thẻ 47
Bảng 3-7 Một số chương trình đào tạo thương mại điện tử tại các trường Đại học 49 Bảng 3-8 Khảo sát ban đầu về đội ngũ giảng viên thương mại điện tử 50
Bảng 3-9 Các hình thức đào tạo thương mại điện tử của các doanh nghiệp 52
Bảng 3-10 Dự án phát triển thương mại điện tử ở các doanh nghiệp 54
Bảng 3-11 Cac phương thức thanh toán của doanh nghiệp 55
Bảng 3-12 Các phương thức đặt hàng của doanh nghiệp 56
Bảng 3-13 Tỷ lệ dầu tư của doanh nghiệp cho thương mại điện tử trên tổng chi phí đầu tư 56
Bảng 3-14 Tác động của thương mại điện tử vào kết quả kinh doanh của doanh nghiệp 57
Bảng 3-15 Các trở ngại đối với việc triển khai ứng dụng thương mại điện tử 58
Bảng 4-1 Mô tả các thành phần chính trong mô hình MVC 60
Bảng 5-1 Bảng Store 95
Bảng 5-2 Bảng Customer 96
Bảng 5-3 Bảng phương thức vận chuyển 96
Bảng 5-4 Bảng loại hàng hóa 97
Bảng 5-5 Bảng địa chỉ chuyển hàng 97
Bảng 5-6 Bảng nhóm hàng 98
Bảng 5-7 Quan hệ giữa các nhóm hàng 98
Bảng 5-8 Lưu trữ thông tin về hàng hóa nhập vào 98
Bảng 5-9 Mô tả thông tin cho hàng hóa nhập vào 99
Bảng 5-10 Quan hệ giữa các Item 99
Bảng 5-11 Kiểu Item 100
Bảng 5-12 Bảng giá đề nghị bán hàng hóa của nhà sản xuất 100
Trang 13Bảng 5-13 Bảng giá bán thực của người bán đưa ra 100
Bảng 5-14 Thuộc tính của hàng hóa 101
Bảng 5-15 Giá trị thuộc tính 101
Bảng 5-16 Giá trị thuộc tính của Item 101
Bảng 5-17 Giỏ hàng 102
Bảng 5-18 Item trong giỏ hàng 102
Bảng 5-19 Hàng hóa trong hóa đơn 102
Bảng 5-20 Đơn hàng 103
Bảng 5-21 Đơn hàng phụ 103
Bảng 5-22 Item trong đơn hàng phụ 104
Bảng 5-23 Định nghĩa các module cơ bản của hệ thống 104
Bảng 5-24 Bảng yêu cầu thanh toán đơn hàng 104
Bảng 5-25 Bảng thành viên 105
Bảng 5-26 Vai trò của thành viên 105
Bảng 5-27 Phân vai cho thành viên 105
Bảng 5-28 Phân quyền thực hiện các module của các vai 106
Hộp 3-1Một số hành vi tội phạm trong giao dịch thương mại điện tử C2C năm 2006 40
Hộp 3-2 Yêu cầu về nhân lực cho thương mại điện tử 48
Hộp 3-3 Yêu cầu về đầu tư phát triển nguồn nhân lực cho thương mại điện tử 49
Trang 14LỜI NÓI ĐẦU
Thương mại điện tử đang phát triển rất nhanh và mạnh mẽ trên thế giới, đặc biệt
là ở những nước có hạ tầng công nghệ thông tin phát triển Trong bối cảnh nền kinh
tế thế giới đang hội nhập ngày càng sâu và rộng Quá trình làm phẳng thế giới đangdiễn ra ở mọi nơi trong đời sống kinh tế, điều này đặc biệt đúng trong lĩnh vựcthương mại điện tử do tính chất dựa trên hệ thống mạng máy tính toàn cầu của nó.Cùng với sự phát triển của Internet ở Việt Nam, thương mại điện tử cũng đangbước những bước đầu tiên trong quá trình phát triển Các doanh nghiệp đã nhận ravai trò quan trọng của thương mại điện tử trong việc phát triển công việc kinhdoanh của họ Người tiêu dùng cũng đang dần thay đổi thói quen mua sắm bằngcách thay vì tới trực tiếp cửa hàng thì vào máy tính và tìm kiếm hàng hóa mình cầnmua trên Internet và thực hiện mua hàng với một vài thao tác đơn giản trên máytính Chính phủ Việt Nam, các ngân hàng cũng đang có sự đầu tư lớn để đáp ứng và
hỗ trợ các yêu cấu phát triển của nền thương mại điện tử trong nước
Ở giai đoạn đầu phát triển thương mại điện tử ở các nước phát triển trên thế giớinhư Mỹ, việc thiết kế các Website bán hàng trực tuyến, xây dựng các phần mềmquản lý quan hệ khách hàng CRM, các phần mềm quản trị doanh nghiệp ERP vàcác phần mềm hỗ trợ cho việc phát triển giao dịch thương mại trực tuyến giữa ngườimua và người bán rất phát triển Thực trạng thương mại điện tử ở nước ta hiện naycũng tương tự như các quốc gia này trong thời gian đầu của họ Chúng ta dễ dàngnhận thấy rằng, xây dựng các phần mềm hỗ trợ các doanh nghiệp trong việc ứngdụng thương mại điện tử là một thị trường hấp dẫn cho kỹ sư công nghệ thông tin.Với mong muốn đóng góp một phần công sức của mình vào tiến trình phát triển
của nền thương mại điện tử Việt Nam, tôi quyết định chọn lĩnh vực “Thương mại
điện tử” làm đề tài cho đồ án tốt nghiệp của mình.
Nội dung và phạm vi nghiên cứu của đồ án:
Thương mại điện tử là một lĩnh vực rất rộng bao gồm rất nhiều vấn đề cần giảiquyết Các vấn đề đó từ những vấn đề rất lớn như hoàn thiện hệ thống thanh toánliên ngân hàng, xây dựng các dịch vụ cổng thanh toán, hạ tầng quản lý khóa côngkhai, các dịch vụ bảo mật cho giao dịch thương mại điện tử, các giải pháp cho phép
sử dụng tiền số thay vì tiền mặt trong giao dịch thanh toán, đến những vấn đề nhưxây dựng các ứng dụng hỗ trợ các bên trực tiếp tham gia thương mại điện tử làngười mua và người bán
Tôi không có tham vọng và không thể đưa ra giải pháp cho tất cả các vấn đềtrên Trong phạm vi đồ án tốt nghiệp của mình, tôi tập trung vào tìm hiểu thươngmại điện tử với mục đích cuối cùng là xây dựng giải pháp cho phép doanh nghiệpbán hàng trực tuyến Giải pháp gồm hai phần chính:
Xây dựng Website cho phép khách hàng có thể mua hàng trực tuyến
Xây dựng ứng dụng trên nền Web Back-End cho phép người bán quản
lý cửa hàng trực tuyến của mình
Hệ thống được xây dựng với mục đích cho phép người bán có thể mở rộng kinhdoanh bất cứ lúc nào họ muốn, nghĩa là không phụ thuộc vào loại hàng hóa mà họ
Trang 15bán Ứng dụng cũng được thiết kế cho phép người mua có thể sử dụng thẻ tín dụng
để thanh toán qua mạng
Đồ án tốt nghiệp cũng tìm hiểu thực trạng nền thương mại điện tử ở Việt Nam
để có được cái nhìn khách quan nhất về nền thương mại điện tử trong nước và đểthấy được tính bức thiết của đề tài
Công cụ được tôi lựa chọn để phát triển ứng dụng là hai bộ công cụ được pháttriển trên ngôn ngữ Java là Struts và Hibernate Framework Hệ quản trị cơ sở dữliệu được dùng là SQL Server 2000
Như vậy, nội dụng cụ thể bài toán đồ án tốt nghiệp này giải quyết là: Xây dựng
ứng dụng thương mại điện tử bằng Struts và Hibernate Framework.
Bố cục đồ án:
Đồ án được chia làm sáu chương với nội dung chính như sau:
Chương 1: Mô hình thương mại điện tử B2C
Giới thiệu chung về thương mại điện tử, các hệ thống thanh toán điện
tử và giới thiệu chi tiết về mô hình thương mại điện tử B2C
Chương 2:Giải pháp an toàn thông tin cho ứng dụng thương mại điện tử
Giới thiệu về an toàn thông tin, an toàn thông tin trong thương mạiđiện tử và tìm giải pháp để đảm bảo an toàn cho ứng dụng thương mạiđiện tử
Chương 3: Thực trạng thương mại điện tử ở Việt Nam
Tìm hiểu thực trạng thương mại điện tử Việt Nam và đề xuất một sốgiải pháp nhằm thúc đẩy phát triển thương mại điện tử ở Việt Nam
Chương 4: Giới thiệu về Struts và Hibernate Framework
Giới thiệu chung về hai công nghệ được phát triển trên nền tảng làngôn ngữ Java là Struts và Hibernate Framework
Chương 5: Xây dựng ứng dụng bán hàng trực tuyến
Phân tích, thiết kế và cài đặt ứng dụng bán hàng trực tuyến Doanhnghiệp có thể sử dụng nó với bất kỳ loại hàng hóa nào
Chương 6: Đánh giá ứng dụng.
Những đánh giá về ưu, nhược điểm và hướng phát triển của ứng dụng
Phần cuối cùng của đồ án là danh mục tài liệu tham khảo.
Trang 16Chương 1 MÔ HÌNH THƯƠNG MẠI ĐIỆN TỬ B2C
Khái niệm và phân loại thương mại điện tử
Thương mại điện tử (TMĐT) là một không gian mua bán trên Internet TMĐT(cũng được nói đến như EC, e-commerce, Commerce hoặc ecommerce) bao gồmcác chức năng chính như phân phối, mua, bán, quảng cáo, tiếp thị và phục vụ cácsản phẩm hoặc dịch vụ thông qua mạng truyền thông
Công nghiệp công nghệ thông tin (IT) có thể xem nó như một ứng dụng kinhdoanh điện tử được tập trung vào các giao dịch thương mại Như vậy, các hệ thốngchuyển tiền điện tử (electronic fund transfer), quản lý chuỗi cung (supply chainmanagement), tiếp thị điện tử (e-marketing), xử lý giao dịch trực tuyến (onlinetransaction processing), trao đổi dữ liệu điện tử (electronic data interchange), hệthống quản lý kiểm kê tự động (automated inventory management system), và hệthống thu thập dữ liệu tự động (automated data collection systems)… đều là cácthành phần thuộc TMĐT TMĐT phổ biến sử dụng các công nghệ truyền thông điện
tử của WWW, mặc dù ở một vài thời điểm trong vòng đời các giao dịch nó phụthuộc vào máy tính hơn là vào WWW, như cơ sở dữ liệu, email Nó tất nhiên cũngphụ thuộc vào các công nghệ phi máy tính khác như cơ sở hạ tầng vận chuyển trongtrường hợp hàng hóa trong TMĐT là hàng hóa vật lý
Nếu nhìn thương mại điện tử dưới dạng các giao dịch thương mại truyền thống,người ta phân chia TMĐT thành các loại hình giao dịch cơ bản dưới đây
Các giao dịch B2B (Bussiness To Bussiness hay giao dịch giữa các doanhnghiệp)
Các giao dịch B2C (Bussiness To Customer hay giao dịch giữa doanhnghiệp và khách hàng)
Các giao dịch C2C (Customer To Customer hay các giao dịch giữa kháchhàng và khách hàng)
Các giao dịch giữa người dân với các dịch vụ quản lý công cộng
Như vậy, khi nói đến thương mại điện tử, chúng ta đang nói đến một lĩnh vực rấtlớn với rất nhiều loại ứng dụng Với thời hạn và phạm vi của đồ án tốt nghiệp này,tôi không thể bao trùm hết tất cả các lĩnh vực ứng dụng thương mại điện tử như đãnêu trên Phần tiếp theo của luận văn chúng ta sẽ tập trung tìm hiểu mô hình TMĐTB2C và xây dựng ứng dụng bán hàng trực tuyến để mô tả cho loại hình thương mạiđiện tử này
Mô hình thương mại điện tử B2C
Một giải pháp thương mại điện tử B2C hoàn chỉnh bao gồm:
Hệ thống thanh toán điện tử bao gồm cổng thanh toán (PaymentGateway) và hệ thống các ngân hàng cung cấp các dịch vụ thanh toántrong các giao dịch thương mại điện tử Cổng thanh toán là tầng trung
Trang 17gian kết nối các bên tham gia bao gồm người bán, khách hàng, ngân hàng
và các bộ phận liên quan khác
Mạng truyền thông như Intranet, Internet hay thậm chí mạng điện thoại diđộng
Các giải pháp đảm bảo an toàn trong TMĐT
Hệ thống quản lý hàn hóa và kinh doanh Đây là kho lưu trữ hàng hóatrực tuyến và người bán thực hiện các công việc liên quan đến kinh doanhcủa họ như, quản lý đơn hàng, quan hệ khách hàng, phân tích dữ liệu kinhdoanh …
Cửa hàng trực tuyến là nơi để khách hàng có thể xem hàng hóa, lựa chọnhàng hóa, xem chính sách của công ty, gửi các yêu cầu tới người bán vàthực hiện thanh toán
Trong phần tiếp theo của đồ án tốt nghiệp, chúng ta sẽ lần lượt tìm hiều từng thànhphần riêng rẽ và dựa trên lý thuyết đó để xây dựng một ứng dụng thương mại điện
tử B2C hoàn chỉnh Và từ đây trở đi, nếu không nói rõ chi tiết, từ ngữ thương mạiđiện tử được sử dụng cho loại hình thương mại điện tử B2C
Các hệ thống thanh toán điện tử
Để xây dựng thành công một ứng dụng thương mại điện tử, chúng ta phải tìmhiểu hạt nhân của nó Đó là hệ thống thanh toán điện tử Phần này sẽ giới thiệu vềcác hệ thống thanh toán điện tử và tổng quan về các phương tiện thanh toán
1.1.1 Hệ thống thanh toán điện tử
Hệ thống thanh toán điện tử (EPS-Electronic Payment System) tiến hóa từ hệthống thanh toán truyền thống, và kết quả là, hai kiểu hệ thống này có rất nhiềuđiểm chung Tuy nhiên, EPS có nhiều sức mạnh hơn, đặc biệt bởi vì các kỹ thuậtbảo mật không có trong các hệ thống thanh toán truyền thống Nói môt cách tổngquát, một EPS là bất kỳ loại dịch vụ mạng nào đó bao gồm sự trao đổi tiền cho việcthanh toán trong trao đổi hàng hóa hoặc dịch vụ Hàng hóa có thể là hàng hóa vật lýnhư sách vở, đĩa CD, hoặc hàng hóa điện tử như tài liệu, ảnh, nhạc Tương tự cũng
có các dịch vụ truyền thống như đặt phòng khách sạn, đặt vé máy bay hoặc các dịch
vụ điện tử phân tích thị trường tài chính
EPS không phải là ý tưởng mới “Tiền điện tử” đã được sử dụng giữa cácngân hàng dưới dạng chuyển tiền từ những năm 1960 Khách hàng cũng có khảnăng rút tiền từ máy rút tiền tự động ATM từ lâu rồi
Một hệ thống thanh toán điện tử đặc trưng được biểu diễn trong hình 2.1 Đểtham gia trong một hệ thống thanh toán điện tử, một khách hàng và người bán phải
có khả năng truy cập vào Internet và trước tiên phải đăng kí với các nhà cung cấpdịch vụ thanh toán tương ứng Người cung cấp điều hành một “cổng thanh toán”(payment gateway) có thể tới được từ cả hai mạng công cộng và mạng riêng của hệthống ngân hàng Cổng thanh toán phục vụ như một cầu nối trung gian giữa cơ sở
hạ tầng thanh toán truyền thống và cơ sở hạ tầng thanh toán điện tử Một yêu cầukhác là khách hàng và người bán phải có tài khoản ngân hàng mà có thể kết nốiđược tới mạng thanh toán liên ngân hàng Ngân hàng của người mua gọi là ngân
Trang 18thanh toán) Ngân hàng của người bán gọi là ngân hàng thụ hưởng (acquier bank),
họ nhận các bản ghi thanh toán từ người bán Khi mua hàng hóa hoặc dịch vụ,khách hàng trả tiền cho người bán Chúng ta giả sử rằng người mua chọn trả tiềncủa họ dưới dạng thẻ ghi nợ hoặc thẻ tín dụng Trước khi cung cấp hàng hóa hoặcdịch vụ được đặt, người bán hỏi cổng thanh toán (payment gateway) để cho phépngười mua sử dụng các phương tiện thanh toán của họ trong giao dịch Paymentgateway tiếp xúc với ngân hàng phát hành để thực hiện việc kiểm tra cấp phép Nếumọi việc tốt đẹp, tổng số tiền sẽ được khấu trừ hoặc ghi nợ trong tài khoản củangười mua và được gửi vào tài khoản người bán Quy trình này biểu diễn một giaodịch thanh toán thực sự Cổng thanh toán gửi thông báo tới cho người mua về giaodịch thanh toán thành công và họ có thể cung cấp các hàng hóa được đặt tới chokhách hàng Trong một vài trường hợp, đặc biệt, khi giá cả cho hàng hóa hoặc dịch
vụ là thấp, hàng hóa còn có thể được phân phối trước khi thực hiện kiểm tra câpphép
1.1.2 Các kiểu hệ thống thanh toán điện tử
Một hệ thống thanh toán điện tử có thể trực tuyến (online) hoặc không trựctuyến (offline) Trong một hệ thống không trực tuyến, người trả và người nhận tiềngiao tiếp trực tuyến với nhau trong giao dịch thanh toán nhưng họ không có kết nốiđiện tử với ngân hàng tương ứng của nhau Trong kịch bản này, người trả không thểyêu cầu cấp phép từ ngân hàng phát hành phương tiện thanh toán theo đường cổngthanh toán, vì thế người nhận tiền không thể chắc chắn rằng anh ta có đang nhậnđược tiền
Hình 1-1 Mô hình chung của hệ thống thanh toán điện tử
Trang 19Không có cấp phép, rất khó để đảm bảo người trả không tiêu nhiều tiền hơngiá trị thực mà anh ta có Vì lí do chính này, phần lớn hệ thống thanh toán điện tửđược đề xuất là trực tuyến Một hệ thống online yêu cầu sự có mặt của máy chủthực hiện việc cấp quyền thanh toán, bộ phận này có thể là một phần của ngân hàngphát hành hoặc ngân hàng thụ hưởng Rõ ràng, một hệ thống trực tuyến yêu cầunhiều dịch vụ truyền thông hơn, nhưng bảo mật hơn so với hệ thống thanh toánkhông trực tuyến.
Nếu chúng ta phân loại hệ thống thanh toán theo quy mô thanh toán thì có hailoại là hệ thống thanh toán lớn (macropayment system) và hệ thống thanh toán nhỏ(micropayment system) Một hệ thống thanh toán điện tử với lượng tiền lớn thườngxuyên được trao đổi được xem như một hệ thống thanh toán lớn Mặt khác, nếu một
hệ thống được thiết kế cho các giao dịch thanh toán nhỏ (tới 5 euros) được gọi là hệthống thanh toán nhỏ Độ lớn của thanh toán đóng một vai trò quan trọng trong thiết
kế hệ thống và quyết định các chính sách bảo mật có liên quan Người ta không cầnchi phí các dịch vụ bảo mật đắt đỏ để bảo vệ hệ thống có lượng tiền giao dịch vớigiá trị thấp
Một hệ thống thanh toán có thể dựa trên ghi nợ (debit-based system) hoặc tíndụng (credit-based) Trong hệ thống dựa trên tín dụng, các loại phí được gửi tới tàikhoản người trả tiền và sau đó người trả trả lượng tiền tích lũy cho các dịch vụthanh toán như ngân hàng Trong một hệ thống dựa trên ghi nợ (như thẻ ghi nợ hayséc) tài khoản người trả được ghi nợ ngay lập tức khi giao dịch được xử lí
1.1.3 Các phương tiện thanh toán điện tử và cách thức giao dịch
tương ứng
Các thẻ tín dụng (Credit Cards)
Một vài hệ thống thanh toán sử dụng các phương tiện thanh toán truyềnthống Thẻ tín dụng hiện tại được sử dụng nhiều nhất trong các phương tiện thanhtoán trên Internet Thẻ tín dụng đầu tiên từ nhiều thập kỷ trước (Diner’s Club 1949,American Express 1958) Một thời gian dài, thẻ tín dụng được giới thiệu vớimagnetic strips và không được mã hóa với các thông tin chỉ đọc, không ghi được.Ngày nay, xuất hiện càng nhiều các loại thẻ thông minh bao gồm thiết bị phần cứng
là các chip điện tử có mã hóa và dung lượng bộ nhớ lớn Gần đây, thậm chí các loạithẻ tín dụng ảo như các phần mềm ví điện tử đã xuất hiện trên thị trường
Hình vẽ 1.2 biểu diễn một giao dịch thanh toán đặc trưng với thẻ tín dụng được sử
dụng làm phương tiện thanh toán
1 Khách hàng đưa thông tin thẻ tín dụng cần thiết cho người bán
2 Người bán hỏi ngân hàng thụ hưởng về cấp phép thanh toán
3 Ngân hàng thụ hưởng gửi thông tin cho ngân hàng phát hành để hỏi về cấp phépthanh toán
3 Ngân hàng phát hành gửi thông tin cho ngân hàng thụ hưởng trả lời về cấp phép
4 Nếu trả lời là cho phép, ngân hàng thụ hưởng nói với người bán rằng tiền đượcchấp nhận Bây giờ người bán có thể gửi hàng hóa tới cho khách hàng
Trang 206 (6 sang trái) Ngân hàng thụ hưởng gửi yêu cầu thanh toán tới cho ngân hàngphát hành.
7 (6 sang phải ) Ngân hàng phát hành đưa tiền vào tài khoản thanh toán liên ngânhàng và ghi nợ vào tài khoản khách hàng
8 Ở một thời điểm trung gian, ngân hàng phát hành nhắc khách hàng về các giaodịch sau đó khách hàng trả phí tổn cho ngân hàng dưới một vài hình thức khácnhư ( direct debit order, bank transfer, check) (5 đi xuống)
Hình 1-2 Giao dịch thanh toán điện tử sử dụng thẻ tín dụng
Tiền điện tử (Electronic Money)
Tiền điện tử là dạng biểu diễn điện tử của tiền truyền thống Một đơn vị tiềnđiện tử thường được hiểu như một đồng xu điện tử hay đồng xu số (electronic coinhoặc digital coin) Giá trị thực sự của một đồng tiền số khác với giá trị của mộtđồng tiền thật Các đồng xu số được sinh bởi nhà phát hành đồng xu số (brokers).Nếu một khách hàng muốn mua tiền số, họ tiếp xúc với broker, đề nghị tiền và trảbằng tiền thật Khách hàng sau đó có thể mua hàng từ bất kỳ nơi nào chấp nhận tiền
số do broker này phát hành Mỗi người bán có thể trả lại các đồng xu số của brokerlấy được từ khách hàng Mặt khác, broker lấy lại tiền số và ghi có vào tài khoảnngười bán bằng tiền thật
Trang 21Hình 1-3 Giao dịch thanh toán điện tử sử dụng tiền số
Hình 1.3 diễn tả một giao dịch thanh toán sử dụng tiền điện tử Trong ví dụnày, ngân hàng phát hành có thể đồng thời là broker Khách hàng và người bán phải
có một current or checking account Tài khoản người bán cần thiết một dạng chuyểntrạng thái từ tiền thật sang tiền số, ít nhất miễn là tiền số không được xem như làtiền tệ Khi khách hàng mua tiền số, checking account được ghi nợ Bây giờ anh ta
có thể sử dụng tiền này để mua hàng trên internet Bởi vì tiền số sử dụng trong cácdịch vụ giá trị thấp, người bán thường gửi hàng trước khi xác thực khả năng sửdụng của tiền
Séc điện tử (Electronic Check).
Séc điện tử là dạng điện tử tương đương với sec truyền thống Một sec điện tử làmột tài liệu điện tử với các dữ liệu sau đây:
Trang 22 Chữ ký điện tử của người trả
Chứng thực của người nhận
Hình 1-4 Giao dịch thanh toán điện tử sử dụng séc điện tử
Một giao dịch thanh toán đặc trưng sử dụng Séc điện tử được biểu diễn trong Hình
1.4 Khách hàng đặt hàng hóa hoặc dịch vụ từ người bán, và sau đó người bán gửi
một hóa đơn điện tử tới khách hàng (1) Khi thanh toán, khách hàng gửi một sécđiện tử được ký (2) Như với các phiếu chi truyền thống, người bán chứng thực vàoSec (ký vào sau) (3) Ngân hàng phát hành và ngân hàng thụ hưởng xem tổng sốlượng tiền thực sự được rút từ tài khoản người mua và ghi có vào tài khoản ngườibán (4) Sau khi nhận được sec từ khách hàng, người bán có thể gửi hàng hóa đếncho họ
Hệ thống bán hàng (Store-Front)
Hệ thống bán hàng là nơi để trưng bày hàng hóa sản phẩm trực tuyến tới kháchhàng Do tính chất của thương mại điện tử không phải là mặt đối mặt, đây là kênhtiếp xúc duy nhất của người bán hàng với khách hàng của họ Tại đây, người muahàng xem tất cả thông tin về hàng hóa, lựa chọn các sản phẩm họ muốn mua và đưavào giỏ hàng và thực hiện thanh toán Nói tóm lại, đây là bộ phận thay thế cho bộmặt của công ty trong các giao dịch buôn bán Nó là người đại diện cho người bán,cho cửa hàng người bán trong các hệ thống bán hàng mặt đối mặt truyền thống
Trang 231.1.4 Cửa hàng trưng bày sản phẩm
Cửa hàng trưng bày sản phẩm chúng ta muốn nói ở đây là một cửa hàng đểbán hàng hóa bình thường Điều khác biệt duy nhất với cửa hàng truyền thống là nóhiện diện trên mạng Internet dưới dạng một Website Đây là nơi khách hàng duyệtqua hàng hóa được bán, họ được tạo điều kiện để xem xét cẩn thận và biết được sựtồn tại của các loại hàng hóa Việc thiết kế một cửa hàng đẹp, trước tiên là hấp dẫnngười duyệt Web tới thăm Site, hay là nơi bán hàng trực tuyến của mình, sau đó làkhuyến khích họ mua hàng trên Site Tất nhiên, giá cả là điểm mà khách hàng quantâm nhất trước khi quyết định mua hàng nên đây là thông tin không thể thiếu bêncạnh việc trưng bày sản phẩm Cửa hàng cũng là nơi cho phép hệ thống lấy về cácyêu cầu của khách hàng về hàng hóa, dịch vụ nhằm nâng cao chất lượng dịch vụ vàtrợ giúp cho quá trình phân tích kinh doanh của người bán
1.1.5 Giỏ hàng
Nếu chúng ta đi siêu thị, người mua hàng luôn có một giỏ hàng để khi muốnmua một loại hàng hóa nào đó, chúng ta sẽ bỏ vào đó và tiếp tục lựa chọn sản phẩmhoặc qua gian hàng khác Trong khi mua hàng, người mua cũng có thể thêm vào,bớt đi các sản phẩm trong giỏ hàng Họ cũng có thể so sánh giữa các sản phẩm mà
họ mua để có lựa chọn thích hợp nhất Hệ thống bán hàng cũng xây dựng tương tựmột giỏ hàng, cho phép khách hàng lựa chọn hàng hóa khi duyệt qua các hàng hóa.Điểm hay hơn của giỏ hàng trong một hệ thống trực tuyến là người mua có thể kiểmsoát được tổng tiền mà họ phải trả cho hàng hóa họ đang mua Hệ thống bán hàngtrực tuyến của có thể lưu lại thông tin trong giỏ hàng trong cơ sở dữ liệu với kháchhàng đã có tài khoản trên Site nhằm phục vụ tốt nhất khách hàng của họ Tuy nhiên,với khách hàng chưa có tài khoản mua ở cửa hàng, chúng ta duy trì giỏ hàng ở từngphiên họ truy cập Site Sau khi lựa chọn đầy đủ hàng hóa
1.1.6 Bàn thanh toán
Sau khi lựa chọn đầy đủ hàng hóa, việc cuối cùng để hoàn tất công việc muasắm là đến bàn thanh toán và thực hiện thanh toán Với hệ thống bán hàng trựctuyến, người mua chỉ đơn giản nhấp chuột vào nút “thanh toán” ở giỏ mua hàng trênSite Sau đó, hệ thống bán hàng sẽ lập hóa đơn bán hàng bao gồm cả thuế và phícho dịch vụ vận chuyển, qua đó tính tổng tiền mà họ phải trả cho người bán để cóđược hàng hóa Một hệ thống bán hàng trực tuyến có thể cài đặt nhiều phương thứcthanh toán khác nhau, cho phép sử dụng nhiều phương tiện khác nhau để thực hiệncông việc thanh toán
Ở các nước có nền thương mại điện tử phát triển với hạ tầng thanh toán hoànchỉnh, người dân sử dụng thẻ tín dụng làm phương tiện chủ yếu trong giao dịchthanh toán Nghiên cứu thị trường ở các nước này cho thấy, nếu một hệ thống bánhàng trực tuyến sẽ mất đi 60% tới 80% đơn hàng tiềm năng nếu hệ thống của họkhông chấp nhận thanh toán thẻ tín dụng Nghiên cứu cũng chỉ ra rằng, nếu hệthống của bạn chấp nhận thẻ tín dụng thì không chỉ số lượng đơn hàng nhiều hơn
mà giá trị đơn hàng cũng lớn hơn Việc chấp nhận thanh toán thẻ tín dụng cho phépđáp ứng ngay lập tức mong muốn mua hàng và làm cho người mua cảm thấy chắcchắn về luật pháp đồng thời đơn giản hóa quá trình lấy tiền cho người bán
Trang 241.1.7 Các dịch vụ khách hàng và chính sách của công ty
Phần này của ứng dụng bán hàng là nơi đưa ra các thông tin để trợ giúp trongquá trình mua hàng của khách hàng Ở đây, người bán đưa ra các hỗ trợ về cáchthức sử dụng các chức năng của hệ thống Đưa ra các hướng dẫn cơ bản, các chínhsách của công ty về tính riêng tư, về việc đảm bảo an toàn thông tin cho kháchhàng Người mua cũng có thể xem các câu hỏi thường xuyên mà bất kì người dùngnào mới ghé thăm Site hay chưa hiểu các vấn đề của mua bán trực tuyến có thểtham khảo Các thông tin về cách thức vận chuyển hàng hóa, giải thích các dịch vụ
mà người bán cung cấp cũng nên cung cấp đầy đủ nhất trong phần này
Hệ thống quản lý hàng hóa và kinh doanh (Back-End)
Trước khi hàng hóa, sản phẩm được đưa ra trưng bày, bán trên website, côngviệc trước tiên là người bán phải đưa thông tin của hàng hóa, dịch vụ đó vào cơ sở
dữ liệu Để thực hiện được công việc này, một doanh nghiệp thương mại điện tửphải có hệ thống quản lý hàng hóa trực tuyến và lưu lại kết quả bán hàng của họ.Với những ứng dụng thương mại điện tử lớn và hoàn thiện, chúng ta có thể phân racác thành phần cơ bản bao gồm bộ phận quản lý kho hàng, quản lý đơn hàng, quản
lý quan hệ khách hàng và bộ phận phân tích dữ liệu kinh doanh
có thể thực hiện các phép thống kê tự động nhanh gọn ở bất cứ thời điểm nào Côngviệc kinh doanh cũng hiệu quả hơn nhờ việc phân tính tình hình kinh doanh dựatrên dữ liệu bán hàng và các chiến lược bán hàng mới cũng được người bán đưa tớicho khách hàng của họ cực nhanh thông qua hệ thống này
1.1.9 Quản lý đơn hàng
Bộ phận quản lý đơn hàng do kế toán đơn hàng đảm nhận Họ duyệt và quản lýcác đơn hàng do người mua đặt để đảm bảo tính đúng đắn, tiền đã được thanh toánchưa, và hàng đã được chuyển chưa Bộ phận này cho phép kế toán tìm kiếm hóađơn người dùng, xem chi tiết hóa đơn và quản lý thông tin đơn hàng, giữ thông tincập nhật cho hóa đơn Bộ phận phân tích dữ liệu khách hàng có thể sử dụng thôngtin này để xác định yêu cầu khách hàng về đơn hàng của họ và thay đổi các thôngtin cần thiết cho khách hàng của họ
1.1.10 Quản lý quan hệ khách hàng (Customer Relationship
Management-CRM)
Không quan tâm tới việc cửa hàng được thiết kế tốt như thế nào, các dịch vụ cánhân cung cấp cho khách hàng tốt đến mức nào Chúng ta luôn có cơ hội để tiếp xúcvới khách hàng bằng hệ thống này Hệ thống có nhiệm vụ giải quyết các yêu cầukhách hàng tới từ nhiều nơi theo mọi đường từ email, fax tới điện thoại Các vấn đềcủa khách hàng cũng được hệ thống này đảm nhận để đảm bảo giải quyết nhanhnhất đem đến sự hài lòng lớn nhất cho khách hàng
Trang 251.1.11 Phân tích dữ liệu khách hàng
Dữ liệu về khách hàng được lưu trữ một cách tự động vào trong cơ sở dữ liệu.Bằng các phép toán thống kê, người bán có thể đưa ra các chiến lược kinh doanhđem lại cho họ lợi ích tốt nhất Với đặc thù của mình, ứng dụng thương mại điện tử
có thể lưu lại tất cả các hành vi của khách hàng trong quá trình họ duyệt Site Bộphận phân tích dữ liệu khách hàng thu thập, phân tích và hiểu hành vi của kháchhàng, qua đó nó hỗ trợ cho việc quản lý các nhóm hay đưa ra những chiến lược đểthúc đẩy khách hàng mua hàng hóa trên Site của họ
Trong bối cảnh phát triển của công nghệ, kỹ thuật hiện nay Việc xây dựng mộtcửa hàng trực tuyến hấp dẫn không phải là vấn đề quá khó mà các doanh nghiệpkhông thể thực hiện được Sự khác biệt trong thành công của các doanh nghiệptham gia thương mại điện tử thể hiện chính ở chỗ khả năng phân tích dữ liệu kháchhàng của họ đúng đắn đến đâu và các giải pháp, quyết định như thế nào được đưa ra
để phù hợp với kết quả phân tích dữ liệu đó
Kết chương
Trong chương đầu tiền của đồ án tốt nghiệp này, đồ án đã đi từ khái niệm tổngquát là thương mại điện tử, đưa ra các mô hình thương mại điện tử phổ biến và tậptrung giới thiệu về mô hình thương mại điện tử B2C, là cơ sở lý thuyết cho việc xâydựng ứng dụng bán hàng trực tuyến, mục tiêu chính của đồ án tốt nghiệp
Trong chương 2, chương tiếp theo của đồ án này, tác giả sẽ đi tìm giải pháp vềvấn đề an toàn, vấn đề nổi cộm nhất cho các ứng dụng thương mại điện tử
Trang 26Chương 2 GIẢI PHÁP AN TOÀN THÔNG TIN CHO
ỨNG DỤNG THƯƠNG MẠI ĐIỆN TỬ
Để xây dựng thành công một hệ thống thương mại điện tử, vấn đề an toàn thôngtin được đưa lên hàng đầu Giao dịch thương mại điện tử về cơ bản bao gồm việctrao đổi thông tin, tiền giữa người mua, người bán và bên thứ ba Nguy cơ và rủi rotrong môi trường số yêu cầu sự hiểu biết về các vấn đề kỹ thuật và các thách thức về
an toàn để đảm bảo tính riêng tư và sự tin tưởng trong môi trường trực tuyến Phầnnày của luận văn sẽ nói về an toàn thông tin trong thương mại điện tử Trước tiên,chúng ta tìm hiểu các khái niệm cơ bản về an toàn thông tin, tìm hiểu về bảo mậttrong hệ thống thanh toán điện tử và phân tích bảo mật giao thức trong các mô hìnhmạng để đưa ra giải pháp tổng thể cho an toàn thông tin trong thương mại điện tử
Tổng quan về an toàn thông tin
Như bất kỳ một hệ thống nào khác, việc phân tích an toàn thông tin cho hệthống thương mại điện tử cũng phải tuân theo quy tắc chung về lý thuyết an toànthông tin Trong phần này này của đồ án, tôi trình bày bộ khung cơ bản cho việcthiết kế an toàn cho một hệ thống thông tin, các đe dọa về an toàn trong hệ thốngthông tin và các giải pháp được cung cấp để bảo đảm an toàn cho hệ thống là cácdịch vụ và kỹ thuật bảo mật Do phạm vi của đồ án, phần này tôi chỉ trình bày mangtính chất giới thiệu để có cái nhìn toàn diện nhất cho bảo mật trong thương mại điệntử
2.1.1 Quy trình xây dựng hệ thống an toàn
Các bước trong quy trình xây dựng hệ thống an toàn
Bước 1: Nghiên cứu về kiến trúc hệ thống cần bảo vệ
Bước 2: Phân tích điểm hở
Bước 3: Phân tích nguy cơ từ điểm hở
o Dạng can thiệp
o Mức độ thiệt hại
o Khả năng phục hồi
o Khả năng xuất hiện nguy cơ
Bước 4: Hoạch định chính sách an toàn
o Phân mức giá trị tài sản
o Xác định các tình huống truy nhập tài sản
o Xác định các đối tượng, phạm vi tài sản mà đối tượng được phép truy nhập
Bước 5: Đề xuất giải pháp, cân nhắc tính khả thi
Bước 6: Cài đặt và kiểm thử giải pháp
Trang 272.1.2 Các đe dọa về an toàn thông tin
Tại sao mọi người cần các chức năng bảo mật đặc biệt? Điều gì sẽ xảy ra nếu
họ không có các chức năng này? Hệ thống có thể bị phơi bày dưới nhiều kiểu đedọa hoặc tấn công khác nhau Chúng ta đang nói về an toàn thông tin cho thươngmại điện tử, môi trường làm việc của ứng dụng thương mại điện tử là môi trườngtrực tuyến, từ hệ thống ở đây của chúng ta chỉ các dịch vụ sẵn có trên mạng truyềnthông như Internet Trong phần tiếp theo của bài viết này, chúng ta sẽ sử dụng thuậtngữ “các đối tượng” để thay cho những người sử dụng, các nhà cung cấp dịch vụ,các máy chủ hoặc các tiến trình xử lí tính toán khi nói về vấn đề an toàn thông tin
Các hình thức tấn công vào một hệ thống có thể phân loại như sau:
Nghe trộm (Eavesdropping): Chặn và đọc thông tin có ý định cho “các đối
tượng” khác
Giả mạo (Masquerading): Gửi và nhận tin sử dụng định danh của “các đối
tượng” khác
Thay đổi thông tin bất hợp pháp (Message Tampering): Chặn và thay đổi
thông tin được gửi cho “các đối tượng” khác
Gọi lại (Replaying): Sử dụng tin đã gửi từ trước để lấy về các đặc quyền
của “các đối tượng” khác
Bí mật ăn trộm (Infiltration): Lạm dụng quền hành của một người để làm
những điều không được phép hoặc ăn cắp chương trình
Phân tích lưu lượng (Traffic Analysis): Quan sát lưu lượng đến và đi từ
“các đối tượng”
Từ chối dịch vụ (Denial of Service): Chống lại các đối tượng được phép
truy cập vào tài nguyên
2.1.3 Các dịch vụ bảo mật
Dựa trên kết quả phân tích rủi ro, mọi người đưa ra chính sách bảo mật.Chính sách này là các giải pháp chỉ rõ những gì cần được bảo vệ Một chính sáchbảo mật không thể bao tất cả rủi ro có thể của hệ thống Các chức năng được cài đặt
để thực hiện chính sách bảo mật được gọi là các dịch vụ bảo mật Các dịch vụ nàyđược cài đặt bởi các giải thuật mã hóa và các giao thức bảo mật Tổ chức tiêu chuẩnquốc tế (ISO) định nghĩa các dịch vụ bảo mật cơ bản sau
Chứng thực (Authentication): Chắc chắn rằng một đối tượng hoặc nguồn
gốc dữ liệu là trung thực Chứng thực được thực hiện trên cơ sở các nhân tốsau:
o Kiến thức của đối tượng: Như password hoặc số chứng minh thư
(PIN) Nghĩa là chỉ những đối tượng biết mật mã hoặc số PIN đượcyêu cầu mới có khả năng truy cập tài nguyên
o Cái đối tượng có: Như thẻ thông minh hoặc token Nghĩa là chỉ những
người sở hữu tài khoản có thẻ thông minh cần thiết hoặc token đúngmới có thể mở tài khoản
Trang 28o Đặc tính riêng của đối tượng: Người ta có thể chứng thực dựa vào các
đặc tính sinh học như vân tay, giọng nói, …
o Vị trí của đối tượng: Ví dụ, đối tượng đang ở trong hay ở ngoài tường
lửa chẳng hạn
Điều khiển truy cập (Access Control): Đảm bảo các đối tượng được cấp
phép có thể lấy được quyền truy cập tới các tài nguyên được bảo vệ Trongkhoa học máy tính, điều khiển truy cập bao gồm chứng thực (authentication),cấp phép (authorization) và kiểm tra (audit) Kỹ thuật bảo mật cung cấp cácdịch vu cơ bản để xác định và chứng thực (identification and authentication-I&A), cấp phép (authorization) và lưu lại các chứng cứ, vết để kiểm tra xemcác đối tượng đã thực hiện những gì trên tài nguyên (accountability)
Tính riêng tư (Data Confidentiality-Privacy): Đảm bảo chỉ những đối
tượng được phép mới hiểu được dữ liệu được bảo vệ Vấn đề riêng tư tồn tạibất cứ đâu khi dữ liệu có tính duy nhất quan hệ tới một người hoặc nhómngời được tuyển chọn và lưu trữ dưới dạng thông tin số Trong thương mạiđiện tử, nơi mà các giao dịch tài chính được thực hiện trực tuyên Tính riêng
tư của dữ liệu là một trong những vấn đề quan trọng nhất
Toàn vẹn dữ liệu (Data Integrity): Trong an toàn thông tin nói chung, toàn
vẹn dữ liệu là tính đúng đắn của dữ liệu Dịch vụ toàn vẹn dữ liệu phải đảmbảo dữ liệu không bị, thay đổi, làm giả, mất mát bởi kẻ thù hay khi thực hiệncác thao tác trên dữ liệu như truyền, lưu trữ, … Dạng phổ biến của toàn vẹn
dữ liệu là toàn vẹn tham chiếu trong cơ sở dữ liệu quan hệ
Không được từ chối (Nonrepudiation): Đảm bảo rằng một đối tượng
không thể bị từ chối trong việc thực hiện các hành động trên dữ liệu mà họđược cấp phép
Các kỹ thuật mã hóa-Encryption Mechanisms
Mã hóa là một kỹ thuật cơ bản trong việc bảo đảm an toàn thông tin Kỹthuật mã hóa bảo vệ tính riêng tư và toàn vẹn của dữ liệu Phần lớn các dịch vụ đảmbảo an toàn cho thông tin đều phải sử dụng các kỹ thuật mã hóa Có hai kiểu mã hóa
cơ bản là mã hóa bằng khóa đối xứng và mã hóa với khóa bất đối xứn hay khóacông khai.Đối với mã hóa, việc quản lý khóa (Key Management) là một vấn đề rấtquan trọng trong việc đảm bảo an toàn cho hệ thống thông tin
Chữ ký số-Digital Signature Mechanisms
Chữ ký số có sức mạnh lớn hơn nhiều so với chữ ký tay Nó có thể được sinh
ra bởi một kỹ thuật ký số đặc biệt như các kỹ thuật mã hóa Chữ ký số được tạo ra
Trang 29bằng các hàm toán học đặc biệt với tham số cơ bản là nội dung của tài liệu cần đượcký.
Các kỹ thuật điều khiển truy cập-Access Control Mechanisms
Dịch vụ điều khiển truy cập, dù được cài đặt như thế nào cũng phải có cácthành phần chứng thực, cấp phép và kiểm tra Giải pháp an toàn cho hệ thống phảichính sách đúng đắn trong việc cấp phép và có thể kiểm tra trong mọi trường hợp.Với cách thức cài khác nhau, mức độ an toàn cho hệ thống sẽ khác nhau Các kỹthuật điều khiển truy cập cơ bản dựa trên đối tượng sở hữu tài nguyên(Discreationary Access Control) hay điều khiển truy cập bằng chính sách hệ thống(Madatory Access Control-MAC) Các phương pháp cài đặt MAC phổ biến đượcdùng là RBAC (Role-Based Access Control) và LBAC ( Lattice-Base AccessControl) Với ứng dụng thương mại điện tử, áp dụng RBAC để điều khiển truy cậpvào hệ thống là giải pháp tốt
Các kỹ thuật toàn vẹn dữ liệu-Data Integrity Mechanisms
Các kỹ thuật để cài đặt toàn vẹn dữ liệu thường dùng là MIC và MAC
MAC:Message Authentication Code
MAC là một mẩu tin ngắn được sử dụng để chứng thực thông tin Giải thuật để
mã hóa bản tin chấp nhận một đầu vào là một khóa mật và chiều dài của bản tinbất kỳ để được chứng thực, đầu ra là một MAC Giá trị MAC có hai chức năng
là bảo vệ toàn vẹn bản tin và chứng thực bằng việc xác định nguồn gốc củakhóa
MIC: Message Integrity Code
MIC là một kỹ thuật tương tự như MAC nhưng sử dụng trong truyền thông không dây
Các kỹ thuật trao đổi xác thực- Authentication Exchange Mechanisms
Xác thực có thể được thực hiện trên cơ sở mã hóa, nhưng với các lý do chínhtrị, đây thường không phải là cách thức mong muốn Vì thế, một vài kỹ thuật đãđược phát triển chỉ với mục đích để trao đổi xác thực
Các kỹ thuật đệm lưu lượng-Traffic Padding Mechanisms
Đề xuất việc chống lại phân tích thông lượng tình thoảng kẻ thù có thể đưa
ra kết luận bằng cách quan sát, ví dụ, một thay đổi trong tổng lượng dữ liệu trao đổigiữa hai đối tượng Vì thế, nó có thể được kiểm soát bằng cách sinh ra thông lượnggiả để giữ mức xấp xỉ hằng số và kẻ thù không thu được thông tin gì hết
An toàn thông tin trong thương mại điện tử
Có 80% lượng khách hàng tiềm năng còn băn khoăn khi quyết định tham giathương mại điện tử với chỉ một lý do duy nhất là bảo mật Thương mại điện tử, như
đã nói ở trên, thực chất là việc truyền thông tin về hàng hóa, dịch vụ, và tiền giữangười mua, người bán và các thành phần tham gia trung gian Phần này của đồ ántốt nghiệp đề cập đến vấn đề chung nhất, quan trọng nhất của thương mại điện tử,
đó là đảm bảo an toàn thông tin cho các giao dịch thanh toán điện tử
Trang 302.1.5 Các dịch vụ bảo mật trong thương mại điện tử
Phần này phân loại một cách đơn giản các dịch vụ bảo mật thanh toán điện tửdựa trên cơ sở của các dịch vụ an toàn thông tin Một vài dịch vụ bảo mật thanhtoán được phát triển cho các loại dịch vụ mạng khác nhau Các dịch vụ bảo mậtthanh toán thực sự được cài đặt phụ thuộc vào chính sách bảo mật của hệ thống, ứngdụng cần xây dựng Xây dựng chính sách an toàn cho cho hệ thống thông tin thườngbắt đầu với việc phân tích rủi ro Việc xây dựng ứng dụng thương mại điện tử cũngkhông đứng ngoài quy luật đó Một ứng dụng thương mại điện tử cho phép cácgiao dịch với số lượng lớn tiền cần chuyển sẽ cần phân tích kỹ hơn, và vì thế đắt đỏhơn chính sách bảo mật của một ứng dụng nhỏ với giá trị thanh toán thấp Phụthuộc vào thông tin được bảo vệ, các dịch vụ bảo mật được chọn từ phần một vàmột hoặc nhiều hơn các dịch vụ bảo mật thanh toán để cài đặt Tuy nhiên, các dịch
vụ bảo mật ta đã nói ở trên là rất đa dạng và có xung đột với nhau Ví dụ, chính sáchbảo mật có thể yêu cầu sự vô danh đối với tiền số, nhưng nó cũng yêu cầu việc xácđịnh đối tượng tiêu tiền hai lần Vì thế không việc kết hợp các dịch vụ bảo mật phảidựa trên việc phân tích hệ thống kỹ càng và xét đến sự tương tác giữa các dịch vụnày
Các ứng dụng thương mại điện tử khác nhau sẽ có các dịch vụ thanh toánkhác nhau hoặc tổng hợp giữa chúng Do đặc thù của phương thức thanh toán, mỗi
hệ thống thanh toán có một tập các yêu cầu bảo mật rõ ràng và kết quả là, có choriêng nó các kỹ thuật bảo đảm an toàn
Bảo mật hệ thống thanh toán chia thành ba nhóm chính phụ thuộc vào vàophương tiện thanh toán hay phương thức thanh toán được sử dụng:
Nhóm đầu tiên có quan hệ tới tất cả các kiểu của hệ thống thanh toán và tất
cả các phương tiện thanh toán Các dịch vụ từ nhóm đầu tiên được xem như
là các dịch vụ bảo mật giao dịch thanh toán.
o Các dịch vụ đảm bảo tính vô danh của người trả tiền
o Các dịch vụ đảm bảo không thể dò vị trí
o Các dịch vụ đảm bảo không thể dò vết của giao dịch thanh toán
o Các dịch vụ đảm bảo độ tin cậy trong dữ liệu giao dịch thanh toán
o Các dịch vụ đảm bảo tính không thể từ chối các thông tin giao dịchthanh toán
o Các dịch vụ đảm bảo tính trong sạch của giao dịch thanh toán
Nhóm tiếp theo là các dịch vụ bảo mật cho hệ thống thanh toán sử dụng tiền số:
o Chống lại tiêu tiền hai lần
o Chống làm giả tiền
o Chống ăn trộm tiền
Trang 31 Nhóm dịch vụ thứ ba dựa trên cơ sở các kỹ thuật dùng sec điện tử là phương tiện thanh toán Làm cho sự chuyển thanh toán cấp phép từ người dùng này sang người dùng khác được chọn bởi đối tượng được cấp phép.
Các dịch vụ trên không thể tách rời Chúng kết hợp với nhau tạo nên một giảipháp tổng thể cho ứng dụng thương mại điện tử Khi xây dựng ứng dụng thươngmại điện tử Tùy theo quy mô của doanh nghiệp, theo phương thức thanh toánkhác nhau với các phương tiện thanh toán tương ứng, người xây dựng chínhsách an toàn cho ứng dụng sẽ đưa ra giải pháp an toàn riêng để đạt được hiệuquả tốt nhất
2.1.6 Bảo mật giao dịch thanh toán điện tử
Với ứng dụng thương mại điện tử, trung tâm của nó là hệ thống thanh toánđiện tử với các giao dịch chuyển tiền qua lại giữa các bên tham gia là ngườimua ,người bán và bên thứ ba Ở các nước có nền thương mại điện tử phát triển,lượng giao dịch thanh toán bằng thẻ tín dụng chiếm 80% trong các giao dịch buônbán trực tuyến Vấn đề đầu tiên một người cân nhắc để quyết định xem có nên thamgia vào việc mua bán trực tuyến hay không chính là thông tin cá nhân, thông tin về
số thẻ tín dụng của họ có an toàn hay không Phân tiếp theo của đồ án sẽ tập trungtìm hiểu hai giao thức SET (Secure Electronic Transaction) và SSL/TSL ( SecureSocket Layer/Transport Layer Security) để đưa ra giải pháp cho vấn đề trên
Giao thức bảo mật SSL/TLS
a Lịch sử của SSL/TSL
Giao thức SSL (Secure Socket Layer) được Nestcaped thiết kế để đảm bảo
an toàn Web Phiên bản đầu tiên, SSL 1.0 ra đời vào khoảng năm 1993 Đếnnăm 1995, phiên bản cuối cùng của SSL được công bố là SSL 3.0 Để tránh sựxuất hiện các phiên bản của SSL theo hướng riêng biệt ở từng công ty IETF(Internet Engineering Task Force) đổi tên SSL thành TLS (Transport LayerSecurity) Nói chung TLS 1.0 không khác với SSL 3.0 là mấy và các trình duyệtWeb hiện nay đang hỗ trợ đồng thời SSL 3.0 và TLS
b Vai trò của SSL/TSL trong kiến trúc Internet.
Có nhiều cách tiếp cận trong việc xây dựng cơ chế bảo mật cho Web Kiếntrúc Internet phụ thuộc vào các giao thức được phân lớp và các lớp này, có hoặckhông có hỗ trợ bảo mật và chúng có các điểm thuận lợi, không thuận lợi riêng
Để đảm bảo an toàn thông tin cho ứng dụng Web, những người thiết kế giaothức SSL chọn cách tạo ra một giao thức bảo mật hoàn toàn mới Nó có thểđược thêm vào như là các dịch vụ bảo mật trong giao thức ứng dụng hay thêmchúng tới một giao thức ở tầng lõi của mạng Như vậy SSL đóng vai trò như làmột giao thức bảo mật riêng
Trang 32Hình 2-5 Lịch sử phát triển của SSL/TSL
Hình 2-6 SSL đóng vai trò là giao thức dành riêng cho dịch vụ bảo mật
Trong Hình 2.2, phía bên trái là các giao thức cơ bản trong truyền thông web,
các giao thức cơ bản từ dưới lên trên lần lượt là IP (Internet Protocol),TCP(Transmission Control Protocol) và HTTP (Hypertext Transfer Protocol).Phía bên phải của hình vẽ là ứng dụng Web được thêm vào giao thức bảo mậtSSL hoạt động như một giao thức riêng, nó chèn chính nó giữa ứng dụng HTTP
và TCP Vì nó hoạt động như một giao thức mới, nó yêu cầu có sự thay đổi giữa
Trang 33trong các giao thức ở trên và ở dưới nó Giao thức tầng ứng dụng HTTP hoạtđộng giao tiếp với SSL gần như cái cách mà nó làm việc với TCP trong trườnghợp hình vẽ phía bên trái Với trường hợp của giao thức TCP, SSL chỉ là mộtứng dụng khác sử dụng dịch vụ của nó
c Hoạt động của SSL
Mặc dù SSL không phải là giao thức phức tạp, cũng cũng cho phép một sốlựa chọn khá đa dạng Phần này, chúng ta sẽ giải thích SSL ở chức năng cơ bảnnhất của nó, thiết lập một kênh truyền thông được mã hóa Sau đó, chúng ta sẽnói sơ qua về các lựa chọn phức tạp hơn, bao gồm chứng thực các bên tham giatruyền thông, phân chia giữa mã hóa và chứng thực
SSL đảm nhận hai vai trò khác nhau cơ bản cho các thành phần tham gia truyềnthông Vai trò thứ nhất là vai trò Client, vai trò thứ hai là vai trò Server Sự phânbiệt này rất quan trọng vì SSL yêu cầu cách ứng xử khác nhau của hai hệ thốngtrên Client đóng vai trò khởi tạo phiên truyền thông bảo mật, và Server đáp lạiyêu cầu của Client Trong phần lớn các kịch bản sử dụng SSL, trình duyệt Web
có cài đặt SSL đóng vai trò là Client và Website đóng vai trò là Server
Khi SSL Clients và Servers giao tiếp với nhau, chúng trao đổi các SSL
Messages Bảng 2.1 liệt kê các SSL messages ở tất cả các mức của giao thức Giao thức SSL bao gồm các thành phần khác nhau được mô tả trong hình 2.3.
Bốn nguồn khác nhau để tạo thành các thông điệp SSL là: giao thứcChangeCipherSpec, giao thức Alert, giao thức Handshake và dữ liệu từ tầngứng dụng như HTTP Giao thức Record Layer chấp nhận tất cả các thông điệp,sau đó định dạng và đóng khung chúng rồi truyền chúng tới một giao thức ởtầng vận chuyển như TCP để truyền đi
Trang 34Bảng 2-1 Các thông điệp trong giao thức SSL
Hình 2-7 Các giao thức thành phần của SSL
Hình 2.3 trên mô tả vị trí của các giao thức thành phần trong giao thức SSL.
Chúng ta sẽ nói về các chức năng cơ bản của các giao thức trên
Giao thức Record Layer
Trang 35Đây là giao thức quan trọng nhất trong các giao thức thành phần của SSL Nó cónhiệm vụ đóng gói tất cả các thông điệp từ giao thức ở tầng trên hoặc dữ liệu từtầng ứng dụng để chuyển xuống tầng thấp hơn, tầng vận chuyển để chuyểnthông điệp.Công việc mã hóa, công việc thực sự đảm bảo thông tin được che dấutrên đường truyền được thực hiện ở lớp này
Hình 2.4 dưới đây là cách thức đóng gói các thông điệp của SSL để truyền đi.
Hình 2-8 Cách thức đóng gói các thông điệp của SSL
Bảng dưới đây các giá trị để lớp Record nhận biết được các giao thức truyền thông điệp xuống cho nó
Bảng 2-2 Giá trị các kiểu giao thức truyền thông điệp cho Record layer
Tóm lại, SSL cho phép dữ liệu từ tầng ứng dụng được mã hóa trước khi truyền
đi qua mạng Internet để chống lại sự xâm phạm bất hợp pháp
Trang 36Một hạn chế nữa của SSL là nó không hỗ trợ dịch vụ bảo mật non-repudation.Giao thức SSL không cung cấp các dịch vụ non-repudation nên một mình SSLkhông thể là giải pháp cho một ứng dụng yêu cầu dịch vụ bảo mật này.
Hạn chế công cụ
An toàn của SSL phụ thuộc vào độ an toàn của các giải thuật mã hóa mà nó
áp dụng, tức là nó phụ thuộc vào độ an toàn của các dịch vụ mã hóa
Hạn chế môi trường
Một giao thức mạng chỉ có thể cung cấp bảo mật cho thông tin khi nó đượctruyền qua mạng Không giao thức nào bảo về dữ liệu trước khi nó được gửihoặc sau khi nó tới đích Bảo mật trong bất kỳ mạng máy tính nào phụ thuộc vàotất cả các thành phần tạo nên nó Nó phụ thuộc vào các giao thức bảo mật mạng,
hệ thống máy tính sử dụng giao thức đó, và người sử dụng hệ thống máy tínhđó
e Tổng kết về SSL
Giao thức bảo mật SSL là một công cụ bảo mật mạnh, hiệu quả và có thể ápdụng cho phần lớn các ứng dụng Web SSL có thể là dịch vụ để đảm bảo an toàntrong giao dịch thanh toán điện tử, loại giao dịch Web mà yêu cầu bảo mật đượcđặt lên rất cao Tuy nhiên, SSL chỉ là một công cụ đơn, để đàm bảo yêu cầu bảomật, chúng ta phải có chính sách bảo mật hợp lý và có các dịch vụ bảo mật hỗtrợ tạo nên một giải pháp an toàn tốt cho ứng dụng
Giao thức an toàn giao dịch điện tử-SET (Secure Electronic
Transactions)
Giao thức SET (Secure Electronic Transactions) được Master và VISA pháttriển năm 1996 Phạm vi của giao thức SET là rất hạn chế vì nó được thiết kế chỉcho thanh toán điện tử Tài liệu đặc tả chỉ rõ rằng, nó có thể được phát triển bởi cácthành phần khác nhau để phục vụ cho mua bán trực tuyến, đàm phán giá cả, lựachọn phương thức thanh toán và các chức năng thương mại điện tử khác SET chỉthực hiện nhiệm vụ của mình khi mà khách hàng đã quyết định mua hàng với lượngtiền là bao nhiêu và họ muốn thanh toán bằng thẻ thanh toán
Hình 2.5 biểu diễn tổng quan một giao dịch thanh toán và xem vị trí của SET
trong giao dịch thanh toán này Trước tiên, người giữ thẻ khởi tạo một giao dịchthanh toán với người bán sử dụng SET Người bán sau đó dùng SET để xin phépthanh toán được cấp phép Bộ phận xử lý cấp phép cho thanh toán, hay cho phươngtiện thanh toán là cổng thanh toán (payment gateway) Cổng thanh toán hoạt động
Trang 37như một cửa trước của mạng tài chính, và trong đó, ngân hàng phát hành thẻ có thểtiếp xúc để cấp phép rõ ràng cho mọi giao dịch.
Hình 2-9 Vị trí của SET trong giao dịch thanh toán điện tử
Mỗi bên thanh gia trong giao dịch thanh toán với SET, có thể ngoại trừ người giữthẻ, phải chứng thực họ ở một vài điểm nào đó trong quy trình thanh toán Họ thựchiện công việc này bằng khóa riêng hoặc cặp khóa công khai Tất nhiên, các khóacông khai phải được chứng nhận bởi bên thứ ba thực sự đáng tin cậy Trong SET,việc gắn kết giữa đối tượng và khóa công khai tương ứng của họ sử dụng chứng chỉtheo chuẩn định dạng X.509 phiên bản 3
Giao thức SET bao gồm các cặp thông điệp yêu cầu/đáp (request/response ) Giaodịch được thực hiện dựa trên các cặp thông điệp này Hình vẽ … mô tả đầy đủ cácthông điệp trong các giai đoạn thực hiện của giao thức SET
Hình 2-10 Các thông điệp trong giao thức SET
Trang 38Như vậy các bước chính trong giao dịch thanh toán và các thông điệp tương ứng trong từng bước như sau:
Khởi tạo-Initialization: PinitReq/PinitRes
Đề nghị mua hàng-Purchase order: Preq/Pres
Cấp phép-Authorizationv: AuthReq/AuthRes
Đạt được thanh toán-Capture of payment: CapReq/CapRes
Thẩm tra của người giữ thẻ hay người trả tiền-Cardholder inquiry:InqReq/InqRes
Giao thức bảo mật giao dịch thanh toán SET chỉ hạn chế trong việc đảm bảo antoàn cho giao dịch thanh toán điện tử Nó định nghĩa giao tiếp giữa người mua vớingười bán, người bán với cổng thanh toán (payment gateway) cho việc thanh toánbằng thẻ Nó cũng định nghĩa cách thức giao tiếp cho các thành phần khác nhau vàviệc chứng thực khóa công khai của CA (Certificate Authorities) Ngoài nhữngcông việc trên, nó không thực hiện bất cứ công việc gì khác Như vậy, để đảm bảo
an toàn cho một ứng dụng thương mại điện tử, chúng ta phải kết hợp nhiều giảipháp khác nhau Và SET là một phần trong bộ giải pháp đó để đảm bảo an toàn chogiao dịch thanh toán thẻ tín dụng
Lựa chọn giải pháp an toàn cho ứng dụng B2C
Chương này của đồ án tốt nghiệp tập trung vào tìm hiểu về vấn đề bảo mậttrong ứng dụng thương mại điện tử Mục đích cuối cùng là đưa ra được giải pháp antoàn cho ứng dụng bán hàng trực tuyến qua mạng và chấp nhận thanh toán thẻ tíndụng
Để đảm bảo an toàn trong việc truyền thông tin giữa người mua và người bán,
kể cả thông tin thẻ tín dụng hay các thông tin cá nhân của người dùng, hệ thống sửdụng giao thức bảo mật SSL
Để đảm bảo an toàn cho việc chuyển tiền trong giao dịch thanh toán giữa ngườimua và người bán, hệ thống sử dụng PayPal API để xin cấp phép thanh toán chophương tiện thanh toán của người mua và lấy tiền cho tài khoản người bán Do thựctrạng thương mại điện tử ở Việt Nam, hệ thống chỉ có thể thanh toán với các tàikhoản ngân hàng mà PayPal Payment Gateway có khả năng giao tiếp với chúng,tức là bên ngoải lãnh thổ Việt Nam Do PayPal API đã sử dụng các giao thức đảmbảo an toàn trong giao dịch điện tử giữa họ với người bán đồng thời là sự công nhận
về tính an toàn của nó với hàng triệu người dùng trên thế giới có thể cho khách hàng
sự tin tưởng về an toàn giao dịch thanh toán điện tử mà họ thực hiện
Hệ thống không lưu trữ thông tin thẻ tín dụng của người mua mà chỉ lưu lại các
số thẻ tín dụng đã tham gia giao dịch mà không trung thực để không cấp phép thanhtoán cho lần mua bán sau Đây là giải pháp đảm bảo thiệt hại ít nhất cho người bánkhi bán hàng trực tuyến
Hệ thống cũng cài đặt các dịch vụ để đảm bảo an toàn cho thông tin cá nhânngười dùng như chứng thực tên truy nhập, mật mã truy nhập Mật mã truy nhậpđược mã hóa trước khi được lưu trữ vào cơ sở dữ liệu và có thể được tạo lại nếungười dùng không nhớ nó
Trang 39Hệ thống cũng phân quyền truy cập cho người dùng một cách hợp lí để đảmbảo an toàn tốt nhất cho dữ liệu hệ thống.
Dữ liệu của hệ thống cũng được lên kế hoạch để backup thường xuyên để dữliệu kinh doanh của người bán không bị mất đi và hạn chế thấp nhất thiệt hại khi rủi
đã đề xuất giải pháp để đảm bảo an toàn cho giao dịch thanh toán điện tử Giải pháp
này sẽ được thể hiện rõ ràng hơn trong việc thiết kế và cài đặt ứng dụng ở Chương
5 cùa đồ án này
Đề hiểu rõ hơn tính bức thiết của đồ án tốt nghiệp này, vị trí của nó, khả năngđóng góp của nó trong lính vực thương mại điện tử ở Việt Nam, chương tiếp theocủa đồ án trình bày về thực trạng thương mại điện tử ở Việt Nam
Trang 40Chương 3 THỰC TRẠNG THƯƠNG MẠI ĐIỆN TỬ VIỆT
NAM
Môi trường phát triển thương mại điển tử Việt Nam
3.1.1 Nhận thức của xã hội về thương mại điện tử
Theo kết quả điều tra của Bộ Thương mại thực hiện trên 1.077 doanh nghiệptrên toàn quốc, nhận thức xã hội về thương mại điện tử đang được doanh nghiệpđánh giá là trở ngại hàng đầu cho sự phát triển của thương mại điện tử ở Việt Nam.Đánh giá này đồng thời cũng cho thấy doanh nghiệp cũng bắt đầu ý thức được tầmquan trọng, ảnh hường của nhận thức xã hội tới thương mại điện tử Tuy nhiên, thayđổi nhận thức của xã hội về một phương thức sản xuất kinh doanh mới là một quátrình lâu dài và phức tạp, đòi hỏi sự tham gia của mọi thành phần từ các cơ quannhà nước, phương tiện truyền thông, tổ chức xã hội cho đến bản thân doanh nghiệp
và người tiêu dùng Sự thay đổi nhận thức của các nhóm đối tượng khác nhau có thểdiễn ra với nhịp độ khác nhau, nhưng nhìn chung nhận thức xã hội về thương mạiđiện tử trong thời gian vừa qua đã có những chuyển biến tích cực so với thời giantrước
Theo báo cáo của Ngân hàng ngoại thương Việt Nam (Vietcombank), nếunăm 2005 số tiền thanh toán qua thẻ chỉ chiếm 1% trên tổng số tiền giao dịch củachủ thẻ với ngân hàng thì đến tháng 7/2006, con số này đã tăng lên 15% TạiVietcombank, số thẻ được phát hành đến cuối tháng 6/2006 đạt 1.2 triệu thẻ vớitổng số dư khoảng 3000 tỷ đồng, trung bình mỗi tài khoản luôn có 2.5 triệu đồng.Những thay đổi này tuy chỉ là bước đầu nhưng cho thấy sự chuyển biến tích cực củangười dân trong việc chuyển từ sử dụng tiền mặt sang sử dụng tiền số, một nền tảngquan trọng để Việt Nam có thể triển khai rộng rãi các ứng dụng thương mại điện tử
Hộp 3-1Một số hành vi tội phạm trong giao dịch thương mại điện tử C2C năm 2006.