Bảo mật giao dịch thanh toán điện tử

Một phần của tài liệu Đồ án tốt nghiệp Xây dựng ứng dụng bán hàng trực tuyến bằng Struts và Hibernate (Trang 30)

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ười mua ,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ôn bá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 tham gia 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 trung tìm hiểu hai giao thức SET (Secure Electronic Transaction) và SSL/TSL ( Secure Socket 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. Đến nă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 Layer Security). Nói chung TLS 1.0 không khác với SSL 3.0 là mấy và các trình duyệt Web 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ến trú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ặc khô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ế giao thứ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êm chú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 .

Hì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ật SSL 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

trong 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ường hợ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ản nhấ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 gia truyề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ền thông. Vai trò thứ nhất là vai trò Client, vai trò thứ hai là vai trò Server. Sự phân biệ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ống trên. Client đóng vai trò khởi tạo phiên truyền thông bảo mật, và Server đáp lại yê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ức ChangeCipherSpec, 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.

Bả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.

Đâ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ển thô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ấu trê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

Giao thức ChangeCipherSpec

Giao thức ChangeCipherSpec được sử dụng để truyền thông điệp duy nhất ChangeCipherSpec. Thông điệp chỉ rõ các dịch vụ bảo mật nào được gọi.

Giao thức Alert

Hệ thống sử dụng giao thức Alert để đánh dấu một lỗi hoặc cảnh báo tới các thành phần tham gia khác trong kênh truyền thông của chúng.

Giao thức Handshake

Giao thức Handshake được SSL sử dụng cho các kênh đàm phán giữa Client và Server. Cũng như các giao thức thành phần khác của SSL, giao thức Handshake sử dụng Record Layer để đóng gói các thông điệp của nó để chuyển xuống tầng vận chuyển.

d. Các hạn chế của SSL

Các hạn chế của SSL được phân thành ba loại chính:

Hạn chế của giao thức (adsbygoogle = window.adsbygoogle || []).push({});

Mặc dù SSL được thiết kế cho nhiều ứng dụng khác nhau, SSL tập trung bào bảo đảm an toàn giao dịch trên mạng. SSL phụ thuộc vào giao thức tầng vận chuyển như TCP và không thể hoạt động trên nền giao thức vận chuyển theo hướng phi kết nối như UDP.

Mộ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 SSL khô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ó được truyền qua mạng. Không giao thức nào bảo về dữ liệu trước khi nó được gửi hoặ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ào tấ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ể áp dụng cho phần lớn các ứng dụng Web. SSL có thể là dịch vụ để đảm bảo an toàn trong 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ảo mậ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át triể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ác thành phần khác nhau để phục vụ cho mua bán trực tuyến, đàm phán giá cả, lựa chọ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ượng tiề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ịch thanh toán với người bán sử dụng SET. Người bán sau đó dùng SET để xin phép thanh toán được cấp phép. Bộ phận xử lý cấp phép cho thanh toán, hay cho phương tiện thanh toán là cổng thanh toán (payment gateway). Cổng thanh toán

hoạt động như 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ực hiệ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óa cô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 ). Giao dị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ác thông điệp trong các giai đoạn thực hiện của giao thức SET.

Như 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 an toàn cho giao dịch thanh toán điện tử. Nó định nghĩa giao tiếp giữa người mua với người bán, người bán với cổng thanh toán (payment gateway) cho việc thanh toán bằ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ững cô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ải pháp khác nhau. Và SET là một phần trong bộ giải pháp đó để đảm bảo an toàn cho giao 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ật trong ứ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 an toà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ín dụ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ười mua và người bán, hệ thống sử dụng PayPal API để xin cấp phép thanh toán cho phươ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ực trạ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ài khoả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 đảm bả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 thanh toá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án khi 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ân ngườ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ếu người dùng không nhớ nó.

Hệ thống cũng phân quyền truy cập cho người dùng một cách hợp lí để đảm bả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 ro xảy ra. (adsbygoogle = window.adsbygoogle || []).push({});

Tóm lại, trong phạm vi của mình, đồ án đã đưa ra được các giải pháp cơ bản nhất cho vấn đề an toàn cho ứng dụng bán hàng trực tuyến mà nó xây dựng.

Kết chương

Chương này của đồ án tốt nghiệp giới thiệu các dịch vụ đảm bảo an toàn thông tin nói chung và các dịch vụ đảm bảo an toàn cho ứng dụng thương mại điện tử nói riêng. Sau khi phân tích kiến trúc ứng dụng, tìm hiểu các dịch vụ được cung cấp như các giao thức SSL, giao thức SET, các kỹ thuật điều khiển truy cập, các dịch vụ chứng thực, giới thiệu về các kỹ thuật mã hóa, kỹ thuật sử dụng chữ ký số, tác giả đã đề 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 theo của đồ án trình bày về thực trạng thương mại điện tử ở Việt Nam.

Chươ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

Một phần của tài liệu Đồ án tốt nghiệp Xây dựng ứng dụng bán hàng trực tuyến bằng Struts và Hibernate (Trang 30)