1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bảo mật trong xây dựng ứng dụng ecommerce

132 523 4
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 132
Dung lượng 8 MB

Nội dung

Tài liệu tham khảo công nghệ thông tin Bảo mật trong xây dựng ứng dụng ecommerce

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN TỐT NGHIỆP

NGHIÊN CỨU VẤN ĐỀ BẢO MẬT TRONG XÂY DỰNG ỨNG DỤNGECOMMERCE (ONLINE PAYMENT)

Giảng Viên Hướng Dẫn : VÕ THỊ THANH VÂN

Sinh viên thực hiện : NGUYỄN CẢNH CHÂN

TP Hồ Chí Minh, tháng 04 năm 2009

Trang 2

Internet đã xuất hiện, đó chính là “Thương mại điện tử”.

Tuy mới xuất hiện và chỉ chiếm một tỷ trọng nhỏ trong thương mại song thươngmại điện tử đã mang lại những lợi ích to lớn cho doanh nghiệp, chính phủ, người tiêudùng và xã hội Thương mại điện tử đã vượt ra khỏi lĩnh vực thương mại, ngày càngtác động đến các lĩnh vực khác và hứa hẹn mang lại những thay đổi to lớn và sâu sắcmọi mặt đời sống xã hội loài người Thương mại điện tử ngày càng được sự quan tâmcủa chính phủ, doanh nghiệp và người tiêu dùng và đang trở thành một công cụ hữuhiệu trong quá trình toàn cầu hoá và trong xây dựng nền kinh tế số Thât khó mà hìnhdung ra xã hội tương lai nếu không có thương mại điện tử.

Bên cạnh đó, thương mại điện tử cũng đặt ra nhiều vấn đề cần phải giải quyết đểkhai thác các lợi ích của thương mại điện tử như vấn đề an toàn, an ninh cho các giaodịch trên mạng, các vấn đề về bảo vệ bí mật, tính riêng tư, cơ sở hạ tầng, các vấn đề vềnhân lực, chuyển đổi mô hình kinh doanh, các vấn đề về quản lý, thay đổi tập quán,thói quen trong kinh doanh… Trong đó vấn đề an toàn, an ninh cho các giao dịch trênmạng và các vấn đề về bảo vệ tính riêng tư, gọi chung là “các vấn đề bảo mật trongthương mại điện tử” có ý nghía sống còn đối với việc phát triển của thương mại điệntử.

Đồ án “Nghiên cứu các vấn đề bảo mật trong xây dựng ứng dụng thương mại điệntử và thanh toán trực tuyến” sẽ giúp tìm hiểu rõ thêm các vấn đề bảo mật và cách đểxây dựng một ứng dụng thương mại điện tử an toàn, đảm bảo lợi ích của doanh nghiệpvà khách hàng.

Trang 3

bảo mật trong xây dựng ứng dụng ecommerce(online payment)” , đến nay đồ án đã cơbản được hoàn thành Ngoài sự cố gắng của bản thân, em đã nhận được sự giúp đỡ,động viên khuyến khích từ gia đình, thầy cô và bạn bè.

Em xin chân thành cảm ơn đến thầy cô khoa công nghệ thông tin trường Đại họccông nghiệp TP.HCM đã tận tình giảng dạy, truyền đạt những kiến thức quý báu chochúng em trong suốt thời gian qua Đặc biệt em xin gửi lời cảm ơn sâu sắc đến giáoviên hướng dẫn của em đã tận tình giúp đỡ em hoàn thành đồ án này.

Đồ án đã hoàn thành với những kết quả nhất định, tuy nhiên không tránh khỏinhững thiếu sót Kính mong sự cảm thông và đóng góp từ các thầy cô

TP HCM, 4/2009 Nguyễn Cảnh Chân

Trang 6

MỤC LỤC 6

DANH MỤC CÁC BẢNG SƠ ĐỒ HÌNH 9

DANH MỤC CÁC CỤM TỪ VIẾT TẮT 11

CHƯƠNG 1.GIỚI THIỆU 13

1.1.Thương mại điện tử và thanh toán điện tử 13

1.1.1 Thương mại điện tử 13

1.1.2 Thanh toán trong thương mại điện tử 18

1.2.Mục tiêu 22

1.3.Phạm vi thực hiện 22

CHƯƠNG 2.CƠ SỞ LÝ THUYẾT 23

2.1.Các thuật toán và kỹ thuật mã hóa sử dụng trong thanh toán điện tử và thương mại điện 23

2.1.1 Secure Socket Layer (SSL) 23

2.1.2 Hàm băm (Cryptographic hash function) 27

2.1.3 Mã hóa đối xứng (Symmetric Encryption) 31

2.1.4 Mã hóa khóa công khai 34

2.1.5 Chữ ký số (Digital Signature) 37

2.1.6 RSA 39

2.1.7 Hạ tầng khóa công khai (Public key Infrastructure) 42

2.1.8 SET (Secure Electronic Transaction) 48

2.2.Bảo mật Web 51

2.2.1 Hypertext Transfer Protocol 51

2.2.2 Bảo mật Web Server 56

2.2.3 Bảo mật ứng dụng Web 65

2.2.4 Bảo mật Web Client 69

2.3.Cổng thanh toán điện tử 72

2.3.1 Cổng thanh toán điện tử (Payment Gateways) 72

2.3.2 Hoạt động của cổng thanh toán điện tử 73

2.3.3 Bảo mật trong hệ thống cổng thanh toán điện tử 75

3.2.1 Ngôn ngữ lập trình và công cụ phát triển 79

3.2.2 Hệ quản trị cơ sở dữ liệu 79

Trang 7

3.4.Các mô hình 81

3.4.1 ERD 81

3.4.2 Mô hình Use Case 82

3.4.3 Mô hình hoạt động (Activity) 84

3.4.4 Mô hình lớp ( Class) 88

CHƯƠNG 4.HIỆN THỰC 90

4.1.Bảo mật thông tin 90

4.1.1 Bảo mật thông tin trên URL 90

4.1.2 Bảo mật thông tin thiết lập trong web.config 90

4.1.3 Bảo mật thông tin thẻ tín dụng 90

4.1.4 Bảo mật các thiết lập quan trọng 91

4.3.5 Trang nhập thông tin chuyển hàng 96

4.3.6 Trang nhập thông tin hóa đơn 96

4.3.7 Trang nhập thông tin thẻ tín dụng 97

4.3.8 Xác nhận mua hàng 97

4.3.9 Trang quản lý sản phẩm 98

4.3.10.Trang quản lý nhóm sản phẩm 98

4.3.11.Trang quản lý hóa đơn 99

4.3.12.Trang quản lý nhân viên 99

4.3.13.Trang quản lý nhóm và quyền nhân viên 99

4.3.14.Trang quản lý thiết lập hệ thống 100

CHƯƠNG 5.NHẬN XÉT ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN 101

Trang 9

Bảng 2.1 Những dịch vụ nên hạn chế trên máy chủ web 64

Sơ đồ 4.1 Sơ đồ trang web phần khách hàng 93

Sơ đồ 4.2 Sơ đồ trang web phần quản trị 94

Hình 2.1 Thiết lập một phiên SSL 24

Hình 2.2 Ví dụ hàm băm 27

Hình 2.3 Quá trình mã hóa đối xứng 31

Hình 2.4 Sinh khóa công khai 35

Hình 2.5 Mã hóa và giải mã bằng mã hóa khóa công khai 36

Hình 2.16 Ví dụ HTTP header của vietnamnet.vn 52

Hình 2.17 Thông tin máy chủ trong HTTP Header 53

Hình 2.18 Ví dụ Referer trong HTTP Header 54

Hình 2.19 Proxy cache 54

Hình 2.20 Thiết lập tường lửa bảo vệ máy chủ web 65

Hình 2.21 Quá trình xử lý yêu cầu của CGI 66

Hình 2.22 Thiết lập tường lữa bảo vệ máy chủ cơ sở dữ liệu 69

Hình 2.23 Giả mạo web 70

Hình 2.24 Sử dụng máy chủ proxy tin cậy để lướt web ẩn danh 72

Hình 2.25 Hoạt động của cổng thanh toán điện tử 73

Hình 3.1 Mô hình ERD 81

Hình 3.2 Mô hình Use Case phần khách hàng 82

Hình 3.3 Mô hình Use Case phần quản trị 83

Hình 3.4 Mô hình hoạt động quá trình đăng ký thành viên mới 84

Hình 3.5 Mô hình hoạt động quá trình đăng nhập 85

Hình 3.6 mô hình hoạt động quá trình thêm sản phẩm vào giỏ hàng 86

Hình 3.7 Mô hình hoạt động quá trình mua hàng 87

Hình 4.1 Bảo mật thông tin trên URL 91

Hình 4.2 Thông tin kết nối vào CSDL trong web.config chưa được mã hóa 91

Hình 4.3 Thông tin kết nối vào CSDL trong web.config đã được mã hóa 91

Hình 4.4 Mã hóa các thiết lập quan trọng trong cơ sở dữ liệu 92

Hình 4.5 Màn hình trang chủ 95

Hình 4.6 Màn hình trang đăng ký khách hàng 95

Hình 4.7 Màn hình trang nhóm sản phẩm 96

Hình 4.8 Màn hình trang cập nhật giỏ hàng 96

Trang 10

Hình 4.9 Màn hình trang thông tin chuyển hàng 97

Hình 4.10 Màn hình trang thông tin hóa đơn 97

Hình 4.11 Màn hình trang thông tin thẻ tín dụng 98

Hình 4.12 Màn hình xác nhận mua hàng 98

Hình 4.13 Màn hình trang quản lý sản phẩm 99

Hình 4.14 Màn hình trang quản lý hóa đơn 100

Hình 4.15 Màn hình trang quản lý nhân viên 100

Trang 11

DANH MỤC CÁC CỤM TỪ VIẾT TẮT

UNCITRAL : United Nations Commission On International Trade LawWTO : World Trade Organization

B2B : Business To BusinessB2C : Business to CustomersB2G : Business to GovernmentC2C :Customers to CustomersG2C : Customers to GovernmentSSL : Secure Sockets LayerID : Identification

PIN : Personal Identificate NumberBIN : Bank Identificate NumberIETF : Internet Engineering Task ForceTLS : Transport Layer Security

HTTP : Hyper Text Transport ProtocolIMAP : Internet Messaging Access ProtocolFTP : File Transport Protocol

MIT : Massachusetts Institute of TechnologyDES : Data Encryption Standard

DSA : Digital Signature AlgorithmKEA : Key Exchange AlgorithmMD5 : Message Digest algorithm 5

Trang 12

SHA-1 : Secure Hash Algorithm

NIST : National Institute of Standards and TechnologyPGP : Pretty Good Privacy

GPG : GNU Privacy Guard

FIPS : Federal Information Processing StandardNSA : National Security Agency

AES : Advanced Encryption StandardPKI : Public key infrastructure

CA : Certificate Authority URL : Uniform Resource LocatorIP : Internet Protocol

ITU :International Telecommunication UnionSET : Secure Electronic Transaction

LAN : Local Area Network

CGI : Common Gateway Interface CSC : Card Security Code

CVV : Card Verification ValueCVC : Card Verification CodeAVS : Address Verification SystemCSDL : Cơ sở dữ liệu

TMĐT : Thương mại điện tử

Trang 13

CHƯƠNG 1.GIỚI THIỆU

1.1 Thương mại điện tử và thanh toán điện tử

1.1.1.Thương mại điện tử

1.1.1.1 Khái niệm

Hiện nay có nhiều quan điểm khác nhau về “thương mại điện tử” nhưng tựu trunglại có hai quan điểm lớn trên thế giới xin được nêu ra dưới đây Thương mại điện tửtheo nghĩa rộng được định nghĩa trong Luật mẫu về Thương mại điện tử của Ủy banLiên Hợp quốc về Luật Thương mại Quốc tế (UNCITRAL): Thuật ngữ “thương mại”cần được diễn giải theo nghĩa rộng để bao quát các vấn đề phát sinh từ mọi quan hệmang tính chất thương mại dù có hay không có hợp đồng Các quan hệ mang tínhthương mại bao gồm các giao dịch sau đây: Bất cứ giao dịch nào về thương mại nào vềcung cấp hoặc trao đổi hàng hóa hoặc dịch vụ; thỏa thuận phân phối; đại diện hoặc đạilý thương mại, ủy thác hoa hồng; cho thuê dài hạn; xây dựng các công trình; tư vấn; kỹthuật công trình; đầu tư; cấp vốn; ngân hàng; bảo hiểm; thỏa thuận khai thác hoặc tônhượng; liên doanh các hình thức khác về hợp tác công nghiệp hoặc kinh doanh;chuyên chở hàng hóa hay hành khách bằng đường biển, đường không, đường sắt hoặcđường bộ Như vậy, có thể thấy rằng phạm vi của Thương mại điện tử rất rộng, baoquát hầu hết các lĩnh vực hoạt động kinh tế, việc mua bán hàng hóa và dịch vụ chỉ làmột trong hàng ngàn lĩnh vực áp dụng của thương mại điện tử.

Ủy ban Châu Âu đưa ra định nghĩa về thương mại điện tử như sau: Thương mạiđiện tử được hiểu là việc thực hiện hoạt động kinh doanh qua các phương tiện điện tử.Nó dựa trên việc xử lý và truyền dữ liệu điện tử dưới dạng text, âm thanh và hình ảnh.Thương mại điện tử gồm nhiều hành vi trong đó hoạt động mua bán hàng hóa và dịchvụ qua phương tiện điện tử, giao nhận các nội dung kỹ thuật số trên mạng, chuyển tiềnđiện tử, mua bán cổ phiếu điện tử, vận đơn điện tử, đấu giá thương mại, hợp tác thiếtkế, tài nguyên mạng, mua sắm công cộng, tiếp thị trực tiếp tới người tiêu dùng và cácdịch vụ sau bán hàng Thương mại điện tử được thực hiện đối với cả thương mại hànghóa (ví dụ như hàng tiêu dùng, các thiết bị y tế chuyên dụng) và thương mại dịch vụ (ví

Trang 14

dụ như dịch vụ cung cấp thông tin, dịch vụ pháp lý, tài chính); các hoạt động truyềnthống (như chăm sóc sức khỏe, giáo dục ) và các hoạt động mới (ví dụ như siêu thị ảo).

Tóm lại, theo nghĩa rộng thì thương mại điện tử có thể được hiểu là các giao dịchtài chính và thương mại bằng phương tiện điện tử như: trao đổi dữ liệu điện tử; chuyểntiền điện tử và các hoạt động gửi rút tiền bằng thẻ tín dụng.

Thương mại điện tử theo nghĩa hẹp bao gồm các hoạt động thương mại được thựchiện thông qua mạng Internet Các tổ chức như: Tổ chức Thương mại thế giới (WTO),Tổ chức Hợp tác phát triển kinh tế đưa ra các khái niệm về thương mại điện tử theohướng này Thương mại điện tử được nói đến ở đây là hình thức mua bán hàng hóađược bày tại các trang Web trên Internet với phương thức thanh toán bằng thẻ tín dụng.Có thể nói rằng thương mại điện tử đang trở thành một cuộc cách mạng làm thay đổicách thức mua sắm của con người.

Theo Tổ chức Thương mại Thế giới: Thương mại điện tử bao gồm việc sản xuất,quảng cáo, bán hàng và phân phối sản phẩm được mua bán và thanh toán trên mạngInternet, nhưng được giao nhận một cách hữu hình cả các sản phẩm được giao nhậncũng như những thông tin số hóa thông qua mạng Internet.

Khái niệm về Thương mại điện tử do Tổ chức hợp tác phát triển kinh tế của LiênHợp quốc đưa ra là: Thương mại điện tử được định nghĩa sơ bộ là các giao dịch thươngmại dựa trên truyền dữ liệu qua các mạng truyền thông như Internet.

Theo các khái niệm trên, chúng ta có thể hiểu được rằng theo nghĩa hẹp thương mạiđiện tử chỉ bao gồm những hoạt động thương mại được thực hiện thông qua mạngInternet mà không tính đến các phương tiện điện tử khác như điện thoại, fax, telex

Qua nghiên cứu các khái niệm về thương mại điện tử như trên, hiểu theo nghĩa rộngthì hoạt động thương mại được thực hiện thông qua các phương tiện thông tin liên lạcđã tồn tại hàng chục năm nay và đạt tới doanh số hàng tỷ đô la Mỹ mỗi ngày Theonghĩa hẹp thì thương mại điện tử chỉ mới tồn tại được vài năm nay nhưng đã đạt đượcnhững kết quả rất đáng quan tâm, thương mại điện tử chỉ gồm các hoạt động thương

Trang 15

mại được tiến hàng trên mạng máy tính mở như Internet Trên thực tế, chính các hoạtđộng thương mại thông qua mạng Internet đã làm phát sinh thuật ngữ “thương mại điệntử”.

1.1.1.2 Các đặc trưng của thương mại điện tử

Đế xây dựng khung pháp luật thống nhất cho thương mại điện tử, chúng ta cầnnghiên cứu và tìm ra các đặc trưng của thương mại điện tử So với các hoạt độngthương mại truyền thống, thương mại điện tử có một số điểm khác biệt cơ bản sau:

- 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ếpvới nhau và không đòi hỏi phải biết nhau từ trước

- 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áiniệm biên giới quốc gia, còn thương mại điện 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) Thương mại điện tửtrực tiếp tác động tới môi trường cạnh tranh toàn cầu.

- Trong hoạt động giao dịch thương mại điện tử đều có sự tham ra của ít nhất bachủ thể, trong đó có một bên không thể thiếu được là người cung cấp dịch vụmạng, các cơ quan chứng thực.

- Đố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, còn đối với thương mại điện tử thì mạng lưới thông tin chính làthị trường

1.1.1.3 Những lợi ích của thương mại điện tử

- Thương mại điện tử giúp cho các doanh nghiệp nắm được thông tin phong phúvề thị trường và đối tác

- Thương mại điện tử giúp giảm chi phí sản xuất

- Thương mại điện tử giúp giảm chi phí bán hàng và tiếp thị.

- Thương mại điện tử qua Internet giúp người tiêu dùng và các doanh nghiệp giảmđáng kể thời gian và chí phí giao dịch.

Trang 16

- Thương mại điện tử tạo điều kiện cho việc thiết lập và củng cố mối quan hệ giữacác thành phần tham gia vào quá trình thương mại.

- Tạo điều kiện sớm tiếp cận nền kinh tế số hoá.

1.1.1.4 Một số loại hình ứng dụng trong thương mại điện tử

- B2B (Business To Business): Thương mại điện tử B2B được định nghĩa đơn

giản là thương mại điện tử giữa các công ty Đây là loại hình thương mại điện tửgắn với mối quan hệ giữa các công ty với nhau

- B2C (Business to Customers): Thương mại điện tử B2C là việc một doanhnghiệp dựa trên mạng internet để trao đổi các hang hóa dịch vụ do mình tạo rahoặc do mình phân phối.

- B2G (Business to Government): Thương mại điện tử giữa doanh nghiệp vớichính phủ (B2G) được định nghĩa chung là thương mại giữa công ty và khốihành chính công Nó bao hàm việc sử dụng Internet cho mua bán công, thủ tụccấp phép và các hoạt động khác liên quan tới chính phủ Hình thái này củathương mại điện tử có hai đặc tính: thứ nhất, khu vực hành chính công có vai tròdẫn đầu trong việc.

- C2C (Customers to Customers): Thương mại điện tử khách hàng tới khách hàngC2C đơn giản là thương mại giữa các cá nhân và người tiêu dùng.

- G2C (Customers to Government): Thương mại điện tử cơ quan nhà nước với cánhân chủ yếu là những giao dịch mang tính hành chính, nhưng có thể mangnhững yếu tố của thương mại điện tử

1.1.1.5 Các bước cơ bản của một giao dịch mua bán trên mạng

- Khách hàng, từ một máy tính tại một nơi nào đó, điền những thông tin thanhtoán và điạ chỉ liên hệ vào đơn đặt hàng (Order Form) của website bán hàng(còn gọi là website thương mại điện tử) Doanh nghiệp nhận được yêu cầu muahàng hoá hay dịch vụ của khách hàng và phản hồi xác nhận tóm tắt lại những

Trang 17

thông tin cần thiết nh mặt hàng đã chọn, địa chỉ giao nhận và số phiếu đặthàng

- Khách hàng kiểm tra lại các thông tin và kích (click) vào nút (button) "đặthàng", từ bàn phím hay chuột (mouse) của máy tính, để gởi thông tin trả về chodoanh nghiệp.

- Doanh nghiệp nhận và lưu trữ thông tin đặt hàng đồng thời chuyển tiếp thông tinthanh toán (số thẻ tín dụng, ngày đáo hạn, chủ thẻ ) đã được mã hoá đến máychủ (Server, thiết bị xử lý dữ liệu) của Trung tâm cung cấp dịch vụ xử lý thẻtrên mạng Internet Với quá trình mã hóa các thông tin thanh toán của kháchhàng được bảo mật an toàn nhằm chống gian lận trong các giao dịch (chẳng hạndoanh nghiệp sẽ không biết được thông tin về thẻ tín dụng của khách hàng).- Khi Trung tâm Xử lý thẻ tín dụng nhận được thông tin thanh toán, sẽ giải mã

thông tin và xử lý giao dịch đằng sau bức tường lửa (FireWall) và tách rời mạngInternet (off the Internet), nhằm mục đích bảo mật tuyệt đối cho các giao dịchthương mại, định dạng lại giao dịch và chuyển tiếp thông tin thanh toán đếnngân hàng của doanh nghiệp (Acquirer) theo một đường dây thuê bao riêng (mộtđường truyền số liệu riêng biệt).

- Ngân hàng của doanh nghiệp gởi thông điệp điện tử yêu cầu thanh toán(authorization request) đến ngân hàng hoặc công ty cung cấp thẻ tín dụng củakhách hàng (Issuer) Và tổ chức tài chính này sẽ phản hồi là đồng ý hoặc từ chốithanh toán đến trung tâm xử lý thẻ tín dụng trên mạng Internet.

- Trung tâm xử lý thẻ tín dụng trên Internet sẽ tiếp tục chuyển tiếp những thôngtin phản hồi trên đến doanh nghiệp, và tùy theo đó doanh nghiệp thông báo chokhách hàng được rõ là đơn đặt hàng sẽ được thực hiện hay không.

- Toàn bộ thời gian thực hiện một giao dịch qua mạng từ bước 1 -> bước 6 đượcxử lý trong khoảng 15 - 20 giây.

Trang 18

1.1.2.Thanh toán trong thương mại điện tử

1.1.2.1 Thẻ tín dụng

Thẻ tín dụng đã được xử lý điện tử hàng thập kỷ nay Chúng được sử dụng đầu tiêntrong các nhà hàng và khách sạn sau đó là các cửa hàng bách hoá và cách sử dụng nóđã được giới thiệu trên các chương trình quảng cáo trên truyền hình từ 20 năm nay Cảmột ngành công nghiệp lớn đang tồn tại trong lĩnh vực xử lý các giao dịch thẻ tín dụngtrực tuyến với các công ty như First Data Corp., Total System Corp., và National DataCorp., chi tiết hoá các giao dịch phía sau mối quan hệ giữa nhà băng, người bán hàngvà người sử dụng thẻ tín dụng Hàng triệu các cửa hàng bách hoá trên toàn nước Mỹđược trang bị các trạm đầu cuối (Hewlett-Package Verifone là nhà sản xuất hàng đầucủa thiết bị này) thông qua đó thể tín dụng được kiểm tra, nhập số thẻ và biên lai đượcin ra Người sử dụng ký vào biên lai này để xác thực việc mua hàng.

Trước khi nhận số thẻ tín dụng của người mua qua Internet bạn cần có một chứngnhận người bán Nếu bạn đã hoạt động kinh doanh thì đơn giản là yêu cầu nhà băng củabạn cung cấp chứng nhận này Nếu bạn chưa có bất cứ cái gì thì bạn có thể thực hiệnviệc này nhanh chóng tại một nhà băng nào đó hoặc truy nhập vào một WEB site cócác mẫu đăng ký trực tuyến.

Sử dụng thẻ tín dụng trực tuyến ngày hôm nay, tuy nhiên, giống như việc sử dụngchúng với một "operating standing by" Số thẻ và chi tiết của giao dịch được lưu lại vàxử lý, nhưng không có sự xuất hiện của người mua và khi có một vụ thanh toán bị lỡthì nó vẫn được lưu lại trên hệ thống Bởi lý do này các chi phí xử lý thẻ tín dụng trựctuyến nhiều ngang bằng với chi phí để xử lý một giao dịch chứ không ngang bằng vớimột mức phí như điện thoại và thông thường là vào khoảng 50 xen (Các giao dịchđược xử lý thông qua các trạm đầu cuối đã được hợp đồng chỉ mất khoảng từ 3 đến 5xen).

Ngoài các khoản trên, phí được giảm nhờ việc sử dụng các dịch vụ của Visa vàMasterCard, là các tổ hợp của các nhà băng, hoặc American Express Co và Discoverlà các công ty riêng rẽ xử lý và quản lý các giao dịch thẻ tín dụng Ðiều đó có nghĩa là

Trang 19

bạn sẽ phải trả từ 2 đến 3 xen cho một đô la khi sử dụng Visa hay MasterCard, và íthơn một chút với Discover, đối với American Express phí này vào khoảng 5 xen chomột đô la Các thoả ước giữa các công ty cung cấp thẻ và các chủ doanh nghiệp giúpcho khách hàng không phải trả các chi phí này Việc chiết khấu cũng khác giữa ngườisử dụng tại trạm đầu cuối nơi mà thẻ tín dụng tồn tại một cách vật lý, và môi trườngWEB nơi mà thẻ không hiện diện Trong quá trình chuyển đổi để chiết khấu người bánđược đảm bảo thanh toán Người mua được đảm bảo về việc sẽ nhận được hàng hoá vàmột số đảm bảo có giới hạn khác chống lại việc bị lừa hoặc mất thẻ (Bảo hiểm thẻđược bán bởi các nhà băng phát hành thẻ và các rủi ro sẽ được thanh toán).

Cửa hàng trên web của bạn cần phần mềm nào để có thể xử lý thẻ tín dụng? ở mứcđơn giản nhất, bạn phải có sẵn một số biểu mẫu có khả năng mã hoá bảo mật, thôngthường là Sercure Socket Layer (SSL), một tiêu chuẩn đối với cả các trình duyệt củaMicrosoft và Netscape, và điều đó cũng có nghĩa là máy chủ của bạn phải có một khoámã hoá Tiếp theo bạn phải có một chương trình đóng vai trò là một giỏ mua hàng, chophép người sử dụng thu thập các mặt hàng cần mua, tính giá và thuế sau đó đưa ra mộthoá đơn cuối cùng để phê chuẩn Cuối cùng nếu như bạn không muốn xử lý các tệpgiao dịch bằng tay hoặc xử lý một gói các tệp thì bạn phải cần một cơ chế giao dịchđiện tử.

1.1.2.2 Ðịnh danh hay ID số hoá (Digital identificator)

Các khoá mã bảo mật trên máy chủ, được biết đến như là các ID số hoá, được cungcấp bởi một số các cơ quan chứng nhận thẩm quyền, là nơi cấp phép và bảo dưỡng cácbản ghi diễn biến trên các ID số hoá này Tổ chức chứng thực thẩm quyền lớn nhấtđược điều hành bởi VeriSign Inc., một công ty được thành lập vào năm 1995 chuyên vềlĩnh vực quản lý các chứng nhận số hoá Công ty xử lý các yêu cầu ID số hoá cho cáccông ty như American Online, Microsoft, Netscape, tuy nhiên bạn cũng có thể trực tiếpcó các ID số hoá trên web site của công ty Vào mùa hè năm 1998, VeriSign thu phí349 USD cho máy chủ ID đầu tiên mà một công ty mua và 249 USD cho thêm mỗi

Trang 20

máy chủ ID tiếp theo Một Máy chủ ID toàn cục - Global Server ID, 128 bit có mứcchi phí 695 USD

Công nghệ nền tảng cho các ID số hoá của VeriSign là SSL được xây dựng đầu tiênbởi RSA Technologies inc., nay là một đơn vị của Sercurity Dynamics Mỗi thôngđiệp, được mã hoá bằng hai mã hoặc khoá là một chuỗi các bit làm thay đổi giá trị đãđược số hoá các của dữ liệu được đưa vào hay lấy ra khỏi chương trình Một khoá côngcộng được dùng để mã hoá các thông điệp, trong khi khoá riêng thứ hai được dùng đểgiải mã nó Tính thống nhất và xác thực của các khoá riêng được đảm bảo bởi một cơquan chứng nhận thẩm quyền như VeriSign Một máy chủ ID số hoá cho phép bạn kývào các văn bản điện tử và chứng thực chữ ký của mình với một cơ quan chứng nhậnthẩm quyền

1.1.2.3 Một số thuật ngữ

- Cơ sở chấp nhận thẻ (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ấp nhận thanh toán thẻnhư: nhà hàng, khách sạn, cửa hà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àng hoá, dịch vụ, trả nợ thay chotiền mặt.

- Ngân hàng đại lý hay Ngân hàng thanh toán (Acquirer): Là Ngân hàng trực tiếpký hợp đồng với cơ sở tiếp nhận và thanh toán các chứng từ giao dịch do cơ sởchấp nhận thẻ xuất trình Một Ngân hàng có thể vừa đóng vai trò thanh toán thẻvừa đóng vai trò phát hành.

- Ngân hàng phát hành thẻ (Issuer): Là thành viên chính thức của các Tổ chức thẻquốc tế, là Ngân hàng cung cấp thẻ cho khách hàng Ngân hàng phát hành chịutrách nhiệm tiếp nhận hồ sơ xin cấp thẻ, xử lý và phát hành thẻ, mở và quản lýtài khoản thẻ, đồng thời thực hiện việc thanh toán cuối cùng với chủ thẻ.

- Chủ thẻ (Cardholder): Là người có tên ghi trên thẻ được dùng thẻ để chi trảthanh toán tiền mua hàng hoá, dịch vụ Chỉ có chủ thẻ mới có thể sử dụng thẻ

Trang 21

của mình mà thôi Mỗi khi thanh toán cho các cơ sở chấp nhận thẻ vể hàng hoádịch vụ hoặc trả nợ, chủ thẻ phải xuất trình thẻ để nơi đây kiểm tra theo qui trìnhvà lập biên lai thanh toán.

- Danh sách Bulletin: Còn gọi là danh sách báo động khẩn cấp, là một danh sáchliệt kê những số thẻ không được phép thanh toán hay không được phép muahàng hóa, dịch vụ Đó là những thẻ tiêu dùng quá hạn mức, thẻ giả mạo đanglưu hành, thẻ bị lộ mật mã cá nhân (PIN), thẻ bị mất cắp, thất lạc, thẻ bị loạibỏ Danh sách được cập nhật liên tục và gởi đến cho tất cả các Ngân hàngthanh toán để thông báo kịp thời cho cơ sở chấp nhận.

- Hạn mức tín dụng (Credit limit): Được hiểu là tổng số tín dụng tối đa mà Ngânhàng phát hành thẻ cấp cho chủ thẻ sử dụng đối với từng loại thẻ.

- Số PIN (Personal Identificate Number): Là mã số cá nhân riêng của chủ thẻ đểthực hiện giao dịch rút tiền tại các máy rút tiền tự động Mã số này do Ngânhàng phát hành thẻ cung cấp cho chủ thẻ khi phát hành Đối với mã số PIN,người chủ thẻ phải giữ bí mật, chỉ một mình mình biết.

- BIN (Bank Identificate Number): Là mã số chỉ Ngân hàng phát hành thẻ Tronghiệp hội thẻ có nhiều ngân hàng thành viên, mỗi ngân hàng thành viên có mộtmã số riêng giúp thuận lợi trong thanh toán và truy xuất.

- Ngày hiệu lực: Ngày sao kê (Statement date): là ngày ngân hàng phát hành thẻlập các sao kê về khoản chi tiêu mà chủ thẻ phải thanh toán trong tháng.

- Ngày đáo hạn (Due date): là ngày mà ngân hàng phát hành qui định cho chủ thẻthanh toán toàn bộ hay một phần trong giá trị sao kê trên

- Merchant account: Merchant account là một tài khoản ngân hàng đặc biệt, chophép bạn khi kinh doanh có thể chấp nhận thanh toán bằng thẻ tín dụng Việcthanh toán bằng thẻ tín dụng chỉ có thể tiến hành thông qua dạng tài khoản này.

Trang 22

- Cổng thanh toán điện tử (payment gateway): là một chuơng trình phần mềm.Phần mềm này sẽ chuyển dữ liệu của các giao dịch từ website của người bánsang trung tâm thanh toán thẻ tín dụng để hợp thức hoá quá trình thanh toán thẻtín dụng.

1.2 Mục tiêu

- Tìm hiểu về thương mại điện tử.

- Tìm hiểu thanh toán điện tử trực tuyến.

- Tìm hiểu về các phương thức bảo mật trong thương mại điện tử và thanh toánđiện tử trực tuyến.

- Xây dựng được một website thương mại điện tử với mô hình B2C.- Tích hợp được hệ thống thanh toán trực tuyến vào trong trang web.

- Thiết lập các cơ chế bảo mật thông tin trên website.

- Tích hợp thanh toán bằng thẻ tín dụng qua một cổng thanh toán điện tử.

Trang 23

Chương 2 CƠ SỞ LÝ THUYẾT

2.1 Các thuật toán và kỹ thuật mã hóa sử dụng trong thanh toán điện tử và thương mại điện

2.1.1.Secure Socket Layer (SSL)

2.1.1.1 Giới thiệu SSL

SSL (Secure Socket Layer) là giao thức đa mục đích được thiết kế để tạo ra các giaotiếp giữa hai chương trình ứng dụng trên một cổng định trước (socket 443) nhằm mãhoá toàn bộ thông tin đi/đến, được sử dụng trong giao dịch điện tử như truyền số liệuthẻ tín dụng, mật khẩu, số bí mật cá nhân (PIN) trên Internet.

Được phát triển bởi Netscape, ngày nay giao thức Secure Socket Layer (SSL) đãđược sử dụng rộng rãi trên World Wide Web trong việc xác thực và mã hoá thông tingiữa client và server Tổ chức IETF (Internet Engineering Task Force) đã chuẩn hoáSSL và đặt lại tên là TLS (Transport Layer Security) Mặc dù là có sự thay đổi về tênnhưng TSL chỉ là một phiên bản mới của SSL Phiên bản TSL 1.0 tương đương vớiphiên bản SSL 3.1 Tuy nhiên SSL là thuật ngữ được sử dụng rộng rãi hơn.

SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ trợ chorất nhiều ứng dụng Giao thức SSL hoạt động bên trên TCP/IP và bên dưới các giaothức ứng dụng tầng cao hơn như là HTTP (Hyper Text Transport Protocol), IMAP( Internet Messaging Access Protocol) và FTP (File Transport Protocol) Trong khiSSL có thể sử dụng để hỗ trợ các giao dịch an toàn cho rất nhiều ứng dụng khác nhautrên Internet, thì hiện nay SSL được sử dụng chính cho các giao dịch trên Web.

2.1.1.2 Cơ chế mã hóa của SSL

Giao thức SSL dựa trên hai nhóm con giao thức là giao thức "bắt tay" (handshakeprotocol) và giao thức "bản ghi" (record protocol) Giao thức bắt tay xác định các thamsố giao dịch giữa hai đối tượng có nhu cầu trao đổi thông tin hoặc dữ liệu, còn giaothức bản ghi xác định khuôn dạng cho tiến hành mã hoá và truyền tin hai chiều giữa haiđối tượng đó Khi hai ứng dụng máy tính, thí dụ giữa một trình duyệt web và máy chủ

Trang 24

web, làm việc với nhau, máy chủ và máy khách sẽ trao đổi "lời chào" (hello) dưới dạngcác thông điệp cho nhau với xuất phát đầu tiên chủ động từ máy chủ, đồng thời xácđịnh các chuẩn về thuật toán mã hoá và nén số liệu có thể được áp dụng giữa hai ứngdụng Ngoài ra, các ứng dụng còn trao đổi "số nhận dạng/khoá theo phiên" (session ID,session key) duy nhất cho lần làm việc đó Sau đó ứng dụng khách (trình duyệt) yêucầu có chứng chỉ điện tử (digital certificate) xác thực của ứng dụng chủ (web server).

Hình 2.1 Thiết lập một phiên SSL

Trang 25

Chứng chỉ điện tử thường được xác nhận rộng rãi bởi một cơ quan trung gian(Thẩm quyền xác nhận CA - Certificate Authority) như RSA Data Sercurity hayVeriSign Inc., một dạng tổ chức độc lập, trung lập và có uy tín Các tổ chức này cungcấp dịch vụ "xác nhận" số nhận dạng của một công ty và phát hành chứng chỉ duy nhấtcho công ty đó như là bằng chứng nhận dạng (identity) cho các giao dịch trên mạng, ởđây là các máy chủ webserver.

Sau khi kiểm tra chứng chỉ điện tử của máy chủ (sử dụng thuật toán mật mã côngkhai, như RSA tại trình máy trạm), ứng dụng máy trạm sử dụng các thông tin trongchứng chỉ điện tử để mã hoá thông điệp gửi lại máy chủ mà chỉ có máy chủ đó có thểgiải mã Trên cơ sở đó, hai ứng dụng trao đổi khoá chính (master key) - khoá bí mậthay khoá đối xứng - để làm cơ sở cho việc mã hoá luồng thông tin/dữ liệu qua lại giữahai ứng dụng chủ khách Toàn bộ cấp độ bảo mật và an toàn của thông tin/dữ liệu phụthuộc vào một số tham số:

- Số nhận dạng theo phiên làm việc ngẫu nhiên;

- Cấp độ bảo mật của các thuật toán bảo mật áp dụng cho SSL;

- Độ dài của khoá chính (key length) sử dụng cho lược đồ mã hoá thông tin.Có thể tóm tắt cơ chế của SSL như sau:

- Client phát sinh 1 Session Key ngẫu nhiên khi truy cập đến Server- Client yêu cầu Server gởi Certificate (gồm Public Key của Server)- Client kiểm tra tính hợp lệ của Certificate

- Nếu Certificate của Server hợp lệ, Client mã hóa Session Key bằng Public Keycủa Server

- Client gởi Session Key đã mã hóa cho Server

- Server giải mã Session Key đã được mã hóa bằng Private Key

Trang 26

- Các thông tin trao đổi giữa server và client sẽ được mã hóa và giải mã bằngSession Key

Hiện nay, khi public một web site lên internet, để áp dụng cơ chế mã hóa SSLchúng ta phải thuê SSL Certificate cho Web Server từ các tổ chức cung cấp DigitalCertificate như: Verisign, CyberTrust, EnTrust…

2.1.1.3 Các thuật toán mã hóa trong SSL

Các thuật toán mã hoá và xác thực của SSL được sử dụng bao gồm (phiên bản 3.0):- DES - chuẩn mã hoá dữ liệu (ra đời năm 1977), phát minh và sử dụng của chính

- RSA - thuật toán khoá công khai, cho mã hoá và xác thực, phát triển bởi Rivest,Shamir và Adleman;

- RSA key exchange - thuật toán trao đổi khoá cho SSL dựa trên thuật toán RSA;- SHA-1 - thuật toán hàm băm an toàn, phát triển và sử dụng bởi chính phủ Mỹ;- SKIPJACK - thuật toán khoá đối xứng phân loại được thực hiện trong phần

cứng Fortezza, sử dụng bởi chính phủ Mỹ;- Triple-DES - mã hoá DES ba lần.

Trang 27

2.1.2.Hàm băm (Cryptographic hash function)

2.1.2.1 Giới thiệu hàm băm

Trong ngành mật mã học, một hàm băm mật mã học (tiếng Anh: Cryptographichash function) là một hàm băm với một số tính chất bảo mật nhất định để phù hợp việcsử dụng trong nhiều ứng dụng bảo mật thông tin đa dạng, chẳng hạn như chứng thực(authentication) và kiểm tra tính nguyên vẹn của thông điệp (message integrity) Mộthàm băm nhận đầu vào là một xâu ký tự dài (hay thông điệp) có độ dài tùy ý và tạo rakết quả là một xâu ký tự có độ dài cố định, đôi khi được gọi là tóm tắt thông điệp(message digest) hoặc chữ ký số (digital fingerprint).

Trang 28

2.1.2.2 Ứng dụng của hàm băm

Một ứng dụng điển hình của một hàm băm mật mã học như sau: Alice đưa cho Bobmột câu đố khó và tuyên bố rằng cô ấy đã giải được rồi Bob muốn tự giải, nhưng cũngmuốn chắc chắn là Alice đúng là đã giải được Do đó, Alice viết đáp án, gắn thêm mộtnonce ngẫu nhiên, tính giá trị băm của nó, và đưa kết quả băm cho Bob (trong khi vẫngiữ bí mật đáp án và nonce) Bằng cách này, khi Bob tự giải xong, Alice có thể chứngminh rằng cô đã có đáp án từ trước bằng cách đưa nonce cho Bob

Trong thực tiễn, Alice và Bob thường là các chương trình máy tính, và bí mậtthường là cái gì đó không dễ lừa bằng một lời giải cho câu đó Ứng dụng trên được gọilà một hệ thống tin cậy (commitment scheme)

Một ứng dụng quan trọng khác của các hàm băm bảo mật là sự kiểm tra tính toànvẹn của thông điệp Ví dụ, việc xác định xem một file hay một thông điệp có bị sửa đổihay không có thể thực hiện bằng cách so sánh tóm tắt được tính trước và sau khi gửi(hoặc một sự kiện bất kỳ nào đó) Còn có thể dùng tóm tắt thông điệp làm một phươngtiện đáng tin cậy cho việc nhận dạng file Một ứng dụng có liên quan là kiểm tra mậtkhẩu Mật khẩu thường không được lưu dưới dạng văn bản rõ (clear text), mà ở dạngtóm tắt Để xác thực một người dùng, mật khẩu do người đó nhập vào được băm và sosánh với kết quả băm được lưu trữ.

Do các lý do cả về bảo mật và hiệu năng chương trình, đa số các thuật toán chữ kýsố nói rằng chỉ có tóm lược của thông điệp, chứ không phải toàn văn thông điệp, được"ký" Các hàm băm còn có thể được dùng để tạo các bit giả ngẫu nhiên(pseudorandom).

SHA-1, MD5, và RIPEMD-160 nằm trong số các thuật toán tóm tắt thông điệpđược dùng rộng rãi nhất của năm 2005 Tháng 8 năm 2004, các nhà nghiên cứu đã tìmđược các điểm yếu của một loạt hàm băm, trong đó có MD5, SHA-0 và RIPEMD.Tháng 2 năm 2005, người ta ghi nhận một tấn công đối với SHA-1 Tháng 8 năm 2005,người ta lại ghi nhận một tấn công khác đối với SHA-1.

Trang 29

Các hàm băm được dùng để nhận dạng các file trong các mạng chia sẻ tệp đồngđẳng Ví dụ, trong một ed2k link, một biến thể của MD4 được kết hợp với kích thướcfile để cung cấp thông tin cho việc xác định nguồn file, tải xuống và kiểm tra nội dung.

2.1.2.3 MD5 (Message-Digest algorithm 5)

MD5 (Message-Digest algorithm 5) là một hàm băm để mã hóa với giá trị băm là128bit Từng được xem là một chuẩn trên Internet, MD5 đã được sữ dụng rông rảitrong các chương trình an ninh mạng, và cũng thường được dùng để kiểm tra tínhnguyên vẹn của tập tin

MD5 được thiết kế bởi Ronald Rivest vào năm 1991 để thay thế cho hàm băm trướcđó, MD4 (cũng do ông thiết kế, trước đó nữa là MD2).

MD5 có 2 ứng dụng quan trọng:

- MD5 được sử dụng rộng rải trong thế giới phần mềm để đảm bảo rằng tập tin tảivề không bị hỏng Người sử dụng có thể so sánh giữa thông số kiểm tra phầnmềm bằng MD5 được công bố với thông số kiểm tra phần mềm tải về bằngMD5 Hệ điều hành Unix sử dụng MD5 để kiểm tra các gói mà nó phân phối,trong khi hệ điều hành Windows sử dụng phần mềm của hãng thứ ba

- MD5 được dùng để mã hóa mật khẩu Mục đích của việc mã hóa này là biến đổimột chuổi mật khẩu thành một đoạn mã khác, sao cho từ đoạn mã đó không thểnào lần trở lại mật khẩu Có nghĩa là việc giải mã là không thể hoặc phải mấtmột khoãng thời gian vô tận (đủ để làm nản lòng các hacker)

Trang 30

MD5("hallo") = 598d4c200461b81522a3328565c25f7c- Bảng băm của một chuỗi rỗng là:

MD5("") = d41d8cd98f00b204e9800998ecf8427e2.1.2.4 SHA (Secure Hash Algorithm)

SHA (Secure Hash Algorithm hay thuật giải băm an toàn) là năm thuật giải đượcchấp nhận bởi FIPS dùng để chuyển một đoạn dữ liệu nhất định thành một đoạn dữ liệucó chiều dài không đổi với xác suất khác biệt cao

Năm thuật giải SHA là:

- SHA-1 : trả lại kết quả dài 160 bit- SHA-224 : trả lại kết quả dài 224 bit- SHA-256: trả lại kết quả dài 256 bit- SHA-384: trả lại kết quả dài 384 bit- SHA-512: trả lại kết quả dài 512 bit.

Thuật giải SHA là thuật giải băm mật được phát triển bởi cục an ninh quốc gia Mĩ(National Security Agency hay NSA) và được xuất bản thành chuẩn của chính phủ Mĩbởi viện công nghệ và chuẩn quốc gia Mĩ (National Institute of Standards andTechnology hay NIST) Bốn thuật giải sau thường được gọi chung là SHA-2.

SHA-1 được sử dụng rộng rãi trong nhiều ứng dụng và giao thức an ninh khácnhau, bao gồm TLS và SSL, PGP, SSH, S/MIME, và IPSec SHA-1 được coi là thuậtgiải thay thế MD5, một thuật giải băm 128 bit phổ biến khác.

Hiện nay, SHA-1 không còn được coi là an toàn bởi đầu năm 2005, ba nhà mật mãhọc người Trung Quốc đã phát triển thành công một thuật giải dùng để tìm được haiđoạn dữ liệu nhất định có cùng kết quả băm tạo ra bởi SHA-1[1] Mặc dù chưa có ailàm được điều tương tự với SHA-2, nhưng vì về thuật giải, SHA-2 không khác biệtmấy so với SHA-1 nên nhiều nhà khoa học đã bắt đầu phát triển một thuật giải khác tốt

Trang 31

hơn SHA NIST cũng đã khởi đầu một cuộc thi phát triển thuật giải băm mới an toànhơn SHA, giống như quy trình phát triển chuẩn mã hóa tiên tiến (Advanced EncryptionStandard hay AES).

Một vài bảng băm SHA-1

- Đoạn dữ liệu gốc sử dụng bảng mã ASCII được biểu diễn bằng chuỗi 40 số thậplục phân

SHA-1 ("hello") = aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d- Thay “e” thành “a”:

SHA-1 ("hallo") = fd4cef7a4e607f1fcc920ad6329a6df2df99a4e8- Bảng băm của một chuỗi rỗng là:

SHA-1 ("") = da39a3ee5e6b4b0d3255bfef95601890afd80709

2.1.3.Mã hóa đối xứng (Symmetric Encryption)

2.1.3.1 Giới thiệu mã hóa đối xứng

Trong mật mã học, các thuật toán khóa đối xứng (tiếng Anh: symmetric-keyalgorithms) là một lớp các thuật toán mật mã hóa trong đó các khóa dùng cho việc mậtmã hóa và giải mã có quan hệ rõ ràng với nhau (có thể dễ dàng tìm được một khóa nếubiết khóa kia)

Hình 2.3 Quá trình mã hóa đối xứng

Khóa dùng để mã hóa có liên hệ một cách rõ ràng với khóa dùng để giải mã cónghĩa chúng có thể hoàn toàn giống nhau, hoặc chỉ khác nhau nhờ một biến đổi đơngiản giữa hai khóa Trên thực tế, các khóa này đại diện cho một bí mật được phân

Trang 32

hưởng bởi hai bên hoặc nhiều hơn và được sử dụng để giữ gìn sự bí mật trong kênhtruyền thông tin.

Nhiều thuật ngữ khác dành cho việc mã hóa dùng chìa khóa đối xứng bao gồm cácphương pháp mã hóa đơn khóa (single-key), phương pháp mã hóa một khóa (one-key)và phương pháp mã hóa khóa cá nhân (private-key) Cách sử dụng thuật ngữ sau cùngđôi khi gây xung đột với thuật ngữ khóa cá nhân (private-key) dùng trong mật mã hóakhóa công khai (public key cryptography).

Các thuật toán đối xứng nói chung đòi hỏi công suất tính toán ít hơn các thuật toánkhóa bất đối xứng (asymmetric key algorithms) Trên thực tế, một thuật toán khóa bấtđối xứng có khối lượng tính toán nhiều hơn gấp hằng trăm, hằng ngàn lần một thuậttoán khóa đối xứng (symmetric key algorithm) có chất lượng tương đương.

Thuật toán đối xứng có thể được chia ra làm hai thể loại, mật mã luồng (streamciphers) và mật mã khối (block ciphers) Mật mã luồng mã hóa từng bit của thông điệptrong khi mật mã khối gộp một số bit lại và mật mã hóa chúng như một đơn vị Cỡ khốiđược dùng thường là các khối 64 bit Thuật toán tiêu chuẩn mã hóa tân tiến (AdvancedEncryption Standard), được NIST công nhận tháng 12 năm 2001, sử dụng các khốigồm 128 bit.

Các thuật toán đối xứng thường không được sử dụng độc lập Trong thiết kế của cáchệ thống mật mã hiện đại, cả hai thuật toán bất đối xứng (asymmetric) (dùng chìa khóacông khai) và thuật toán đối xứng được sử dụng phối hợp để tận dụng các ưu điểm củacả hai Những hệ thống sử dụng cả hai thuật toán bao gồm những cái như SSL (SecureSockets Layer), PGP (Pretty Good Privacy) và GPG (GNU Privacy Guard) v.v Cácthuật toán chìa khóa bất đối xứng được sử dụng để phân phối chìa khóa mật cho thuậttoán đối xứng có tốc độ cao hơn.

Một số ví dụ các thuật toán đối xứng nổi tiếng và khá được tôn trọng bao gồmTwofish, Serpent, AES (còn được gọi là Rijndael), Blowfish, CAST5, RC4, Tam phầnDES (Triple DES), và IDEA (International Data Encryption Algorithm - Thuật toánmật mã hóa dữ liệu quốc tế).

Trang 33

2.1.3.2 DES (Data Encryption Standard )

DES (viết tắt của Data Encryption Standardlà một phương pháp mật mã hóa đượcFIPS (Tiêu chuẩn Xử lý Thông tin Liên bang Hoa Kỳ) chọn làm chuẩn chính thức vàonăm 1976 Sau đó chuẩn này được sử dụng rộng rãi trên phạm vi thế giới Ngay từ đầu,thuật toán của nó đã gây ra rất nhiều tranh cãi, do nó bao gồm các thành phần thiết kếmật, độ dài khóa tương đối ngắn, và các nghi ngờ về cửa sau để Cơ quan An ninh quốcgia Hoa Kỳ (NSA) có thể bẻ khóa Do đó, DES đã được giới nghiên cứu xem xét rất kỹlưỡng, việc này đã thúc đẩy hiểu biết hiện đại về mật mã khối (block cipher) và cácphương pháp thám mã tương ứng.

Hiện nay DES được xem là không đủ an toàn cho nhiều ứng dụng Nguyên nhânchủ yếu là độ dài 56 bit của khóa là quá nhỏ Khóa DES đã từng bị phá trong vòngchưa đầy 24 giờ Đã có rất nhiều kết quả phân tích cho thấy những điểm yếu về mặt lýthuyết của mã hóa có thể dẫn đến phá khóa, tuy chúng không khả thi trong thực tiễn.Thuật toán được tin tưởng là an toàn trong thực tiễn có dạng Triple DES (thực hiệnDES ba lần), mặc dù trên lý thuyết phương pháp này vẫn có thể bị phá Gần đây DESđã được thay thế bằng AES (Advanced Encryption Standard, hay Tiêu chuẩn Mã hóaTiên tiến).

DES là thuật toán mã hóa khối: nó xử lý từng khối thông tin của bản rõ có độ dàixác định và biến đổi theo những quá trình phức tạp để trở thành khối thông tin của bảnmã có độ dài không thay đổi Trong trường hợp của DES, độ dài mỗi khối là 64 bit.DES cũng sử dụng khóa để cá biệt hóa quá trình chuyển đổi Nhờ vậy, chỉ khi biết khóamới có thể giải mã được văn bản mã Khóa dùng trong DES có độ dài toàn bộ là 64 bit.Tuy nhiên chỉ có 56 bit thực sự được sử dụng; 8 bit còn lại chỉ dùng cho việc kiểm tra.Vì thế, độ dài thực tế của khóa chỉ là 56 bit.

2.1.3.3 AES (Advanced Encryption Standard)

Trong mật mã học, AES (viết tắt của từ tiếng Anh: Advanced Encryption Standard,hay Tiêu chuẩn mã hóa tiên tiến) là một thuật toán mã hóa khối được chính phủ Hoa kỳáp dụng làm tiêu chuẩn mã hóa Giống như tiêu chuẩn tiền nhiệm DES, AES được kỳ

Trang 34

vọng áp dụng trên phạm vi thế giới và đã được nghiên cứu rất kỹ lưỡng AES đượcchấp thuận làm tiêu chuẩn liên bang bởi Viện tiêu chuẩn và công nghệ quốc gia Hoa kỳ(NIST) sau một quá trình tiêu chuẩn hóa kéo dài 5 năm.

Thuật toán được thiết kế bởi hai nhà mật mã học người Bỉ: Joan Daemen vàVincent Rijmen (lấy tên chung là "Rijndael" khi tham gia cuộc thi thiết kế AES).Rijndael được phát âm là "Rhine dahl" theo phiên âm quốc tế (IPA: [ɹaindal]).

Mặc dù 2 tên AES và Rijndael vẫn thường được gọi thay thế cho nhau nhưng trênthực tế thì 2 thuật toán không hoàn toàn giống nhau AES chỉ làm việc với khối dữ liệu128 bít và khóa có độ dài 128, 192 hoặc 256 bít trong khi Rijndael có thể làm việc vớidữ liệu và khóa có độ dài bất kỳ là bội số của 32 bít nằm trong khoảng từ 128 tới 256bít.

Các khóa con sử dụng trong các chu trình được tạo ra bởi quá trình tạo khóa conRijndael.

Hầu hết các phép toán trong thuật toán AES đều thực hiện trong một trường hữuhạn.

2.1.4.Mã hóa khóa công khai

2.1.4.1 Giới thiệu mã hóa khóa công khai

Mã hóa khóa công khai là một dạng mã hóa cho phép người sử dụng trao đổi cácthông tin mật mà không cần phải trao đổi các khóa chung bí mật trước đó Điều nàyđược thực hiện bằng cách sử dụng một cặp khóa có quan hệ toán học với nhau là khóacông khai và khóa cá nhân (hay khóa bí mật).

Thuật ngữ mật mã hóa khóa bất đối xứng thường được dùng đồng nghĩa với mật mãhóa khóa công khai mặc dù hai khái niệm không hoàn toàn tương đương Có nhữngthuật toán mật mã khóa bất đối xứng không có tính chất khóa công khai và bí mật nhưđề cập ở trên mà cả hai khóa (cho mã hóa và giải mã) đều cần phải giữ bí mật.

Trong mật mã hóa khóa công khai, khóa cá nhân phải được giữ bí mật trong khikhóa công khai được phổ biến công khai Trong 2 khóa, một dùng để mã hóa và khóa

Trang 35

còn lại dùng để giải mã Điều quan trọng đối với hệ thống là không thể tìm ra khóa bímật nếu chỉ biết khóa công khai.

Hình 2.4 Sinh khóa công khai

Thông thường, các kỹ thuật mật mã hóa khóa công khai đòi hỏi khối lượng tínhtoán nhiều hơn các kỹ thuật mã hóa khóa đối xứng nhưng những lợi điểm mà chúngmang lại khiến cho chúng được áp dụng trong nhiều ứng dụng.

Để đạt được độ an toàn tương đương, thuật toán mật mã hóa khóa bất đối xứng đòihỏi khối lượng tính toán nhiều hơn đáng kể so với thuật toán mật mã hóa khóa đốixứng Vì thế trong thực tế hai dạng thuật toán này thường được dùng bổ sung cho nhauđể đạt hiệu quả cao Trong mô hình này, một bên tham gia trao đổi thông tin tạo ra mộtkhóa đối xứng dùng cho phiên giao dịch Khóa này sẽ được trao đổi an toàn thông quahệ thống mã hóa khóa bất đối xứng Sau đó 2 bên trao đổi thông tin bí mật bằng hệthống mã hóa đối xứng trong suốt phiên giao dịch.

2.1.4.2 Các ứng dụng

Hệ thống mật mã hóa khóa công khai có thể sử dụng với các mục đích:

- Mã hóa: giữ bí mật thông tin và chỉ có người có khóa bí mật mới giải mã được.

Trang 36

Hình 2.5 Mã hóa và giải mã bằng mã hóa khóa công khai

- Tạo chữ ký số (xác thực thông tin): cho phép kiểm tra một văn bản có phải đãđược tạo với một khóa bí mật nào đó hay không.

Hình 2.6 Tạo và xác thực chữ ký số

- Thỏa thuận khóa: cho phép thiết lập khóa dùng để trao đổi thông tin mật giữa 2bên.

Trang 39

- Chống chối bỏ: Trong giao dịch, một bên có thể từ chối nhận một văn bản nàođó là do mình gửi Để ngăn ngừa khả năng này, bên nhận có thể yêu cầu bên gửiphải gửi kèm chữ ký số với văn bản Khi có tranh chấp, bên nhận sẽ dùng chữký này như một chứng cứ để bên thứ ba giải quyết Tuy nhiên, khóa bí mật vẫncó thể bị lộ và tính không thể phủ nhận cũng không thể đạt được hoàn toàn.- Xác thực sự toàn vẹn của thông tin: Cả hai bên tham gia vào quá trình thông tin

đều có thể tin tưởng là văn bản không bị sửa đổi trong khi truyền vì nếu văn bảnbị thay đổi thì hàm băm cũng sẽ thay đổi và lập tức bị phát hiện Quá trình mãhóa sẽ ẩn nội dung của gói tin đối với bên thứ 3 nhưng không ngăn cản đượcviệc thay đổi nội dung của nó Một ví dụ cho trường hợp này là tấn công đồnghình (homomorphism attack): tiếp tục ví dụ như ở trên, một kẻ lừa đảo gửi1.000.000 đồng vào tài khoản của a, chặn gói tin (a,b) mà chi nhánh gửi về trungtâm rồi gửi gói tin (a,b3) thay thế để lập tức trở thành triệu phú!

2.1.6.1 Giới thiệu

Trong mật mã học, RSA là một thuật toán mật mã hóa khóa công khai Đây là thuậttoán đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với việc mã hóa Nóđánh dấu một sự tiến bộ vượt bậc của lĩnh vực mật mã học trong việc sử dụng khóacông cộng RSA đang được sử dụng phổ biến trong thương mại điện tử và được cho làđảm bảo an toàn với điều kiện độ dài khóa đủ lớn.

Thuật toán được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vàonăm 1977 tại Học viện Công nghệ Massachusetts (MIT) Tên của thuật toán lấy từ 3chữ cái đầu của tên 3 tác giả.

RSA là thuật toán mã khối có kích thước khối thay đổi được.

Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và khóa bí mật(hay khóa cá nhân) Mỗi khóa là những số cố định sử dụng trong quá trình mã hóa vàgiải mã Khóa công khai được công bố rộng rãi cho mọi người và được dùng để mã

Trang 40

hóa Những thông tin được mã hóa bằng khóa công khai chỉ có thể được giải mã bằngkhóa bí mật tương ứng Nói cách khác, mọi người đều có thể mã hóa nhưng chỉ cóngười biết khóa cá nhân (bí mật) mới có thể giải mã được.

Ta có thể mô phỏng trực quan một hệ mật mã khoá công khai như sau : Bob muốngửi cho Alice một thông tin mật mà Bob muốn duy nhất Alice có thể đọc được Để làmđược điều này, Alice gửi cho Bob một chiếc hộp có khóa đã mở sẵn và giữ lại chìakhóa Bob nhận chiếc hộp, cho vào đó một tờ giấy viết thư bình thường và khóa lại(như loại khoá thông thường chỉ cần sập chốt lại, sau khi sập chốt khóa ngay cả Bobcũng không thể mở lại được-không đọc lại hay sửa thông tin trong thư được nữa) Sauđó Bob gửi chiếc hộp lại cho Alice Alice mở hộp với chìa khóa của mình và đọc thôngtin trong thư Trong ví dụ này, chiếc hộp với khóa mở đóng vai trò khóa công khai,chiếc chìa khóa chính là khóa bí mật.

2.1.6.2 Thuật toán

Giả sử Alice và Bob cần trao đổi thông tin bí mật thông qua một kênh không antoàn (ví dụ như Internet) Với thuật toán RSA, Alice đầu tiên cần tạo ra cho mình cặpkhóa gồm khóa công khai và khóa bí mật theo các bước sau:

 Chọn 2 số nguyên tố lớn và với , lựa chọn ngẫu nhiên và độc lập. Tính:

Ngày đăng: 23/11/2012, 15:35

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Thiết lập một phiên SSL - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.1 Thiết lập một phiên SSL (Trang 26)
Hình 2.3 Quá trình mã hóa đối xứng - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.3 Quá trình mã hóa đối xứng (Trang 34)
Hình 2.4 Sinh khóa công khai - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.4 Sinh khóa công khai (Trang 37)
Hình 2.5 Mã hóa và giải mã bằng mã hóa khóa công khai - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.5 Mã hóa và giải mã bằng mã hóa khóa công khai (Trang 38)
Hình 2.6 Tạo và xác thực chữ ký số - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.6 Tạo và xác thực chữ ký số (Trang 39)
Hình 2.9 Tạo chứng chỉ số - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.9 Tạo chứng chỉ số (Trang 47)
Hình 2.10 Cấu trúc chứng chỉ số X.509 - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.10 Cấu trúc chứng chỉ số X.509 (Trang 48)
Hình 2.11 Các thành phần của PKI - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.11 Các thành phần của PKI (Trang 49)
Hình 2.12 Mô hình CA nhiều cấp - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.12 Mô hình CA nhiều cấp (Trang 51)
Hình 2.14 Các thành phần tham gia SET - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.14 Các thành phần tham gia SET (Trang 53)
Hình 2.18 Ví dụ Referer trong HTTP Header - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.18 Ví dụ Referer trong HTTP Header (Trang 58)
Hình 2.20 Thiết lập tường lửa bảo vệ máy chủ web - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.20 Thiết lập tường lửa bảo vệ máy chủ web (Trang 70)
Hình 2.23 Giả mạo web - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.23 Giả mạo web (Trang 75)
Hình 2.24 Sử dụng máy chủ proxy tin cậy để lướt web ẩn danh - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.24 Sử dụng máy chủ proxy tin cậy để lướt web ẩn danh (Trang 78)
Hình 2.25 Hoạt động của cổng thanh toán điện tử - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 2.25 Hoạt động của cổng thanh toán điện tử (Trang 79)
3.4.2.Mô hình Use Case - Bảo mật trong xây dựng ứng dụng ecommerce
3.4.2. Mô hình Use Case (Trang 89)
Hình 3.28 Mô hình Use Case phần quản trị - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 3.28 Mô hình Use Case phần quản trị (Trang 90)
3.4.3.Mô hình hoạt động (Activity) - Bảo mật trong xây dựng ứng dụng ecommerce
3.4.3. Mô hình hoạt động (Activity) (Trang 91)
Hình 3.30 Mô hình hoạt động quá trình đăng nhập - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 3.30 Mô hình hoạt động quá trình đăng nhập (Trang 92)
Hình 3.32 Mô hình hoạt động quá trình mua hàng - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 3.32 Mô hình hoạt động quá trình mua hàng (Trang 94)
Hình 3.34 Mô hình lớp xử lý thanh toán - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 3.34 Mô hình lớp xử lý thanh toán (Trang 96)
4.3.Một số màn hình - Bảo mật trong xây dựng ứng dụng ecommerce
4.3. Một số màn hình (Trang 105)
Hình 4.41 Màn hình trang nhóm sản phẩm - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 4.41 Màn hình trang nhóm sản phẩm (Trang 106)
Hình 4.40 Màn hình trang đăng ký khách hàng - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 4.40 Màn hình trang đăng ký khách hàng (Trang 106)
Hình 4.43 Màn hình trang thông tin chuyển hàng - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 4.43 Màn hình trang thông tin chuyển hàng (Trang 107)
Hình 4.45 Màn hình trang thông tin thẻ tín dụng - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 4.45 Màn hình trang thông tin thẻ tín dụng (Trang 109)
Hình 4.46 Màn hình xác nhận mua hàng - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 4.46 Màn hình xác nhận mua hàng (Trang 110)
Hình 4.47 Màn hình trang quản lý sản phẩm - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 4.47 Màn hình trang quản lý sản phẩm (Trang 111)
Hình 4.49 Màn hình trang quản lý hóa đơn - Bảo mật trong xây dựng ứng dụng ecommerce
Hình 4.49 Màn hình trang quản lý hóa đơn (Trang 112)
1.1.3.3.Cấu hình Trusted Root Certification Authority - Bảo mật trong xây dựng ứng dụng ecommerce
1.1.3.3. Cấu hình Trusted Root Certification Authority (Trang 129)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w