Sử dụng giao thức SSL/TLS trong quỏ trỡnh trao đổi giữa Web client và

Một phần của tài liệu nghiên cứu giải pháp xác thực web ứng dụng trong giao dịch điện tử (Trang 47)

WebServer

Chứng thƣ số cỏ nhõn cũn cho phộp ngƣời dựng cú thể chứng thực mỡnh với một web server thụng qua giao thức bảo mật SSL. Phƣơng phỏp chứng thực dựa trờn chứng thƣ số đƣợc đỏnh giỏ là tốt, an toàn và bảo mật hơn phƣơng phỏp chứng thực truyền thống dựa trờn mật khẩu. Với sự kết hợp của giao thức SSL và chứng thực ngƣời dựng bằng chữ ký số sẽ mang lại sự bảo mật cao và an toàn cho hệ thống.

Việc kết nối giữa một Web browser tới bất kỳ điểm nào trờn mạng Internet đi qua rất nhiều cỏc hệ thống độc lập mà khụng cú bất kỳ sự bảo vệ nào với cỏc thụng tin trờn đƣờng truyền. Khụng một ai kể cả ngƣời sử dụng lẫn Web server cú bất kỳ sự kiểm soỏt nào đối với đƣờng đi của dữ liệu hay cú thể kiểm soỏt đƣợc liệu cú ai đú thõm nhập vào thụng tin trờn đƣờng truyền. Để bảo vệ những thụng tin mật trờn mạng Internet hay bất kỳ mạng TCP/IP nào, SSL đó kết hợp những yếu tố sau để thiết lập đƣợc một giao dịch an toàn:

40

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Xỏc thực: đảm bảo tớnh xỏc thực của trang mà bạn sẽ làm việc ở đầu kia của

kết nối. Cũng nhƣ vậy, cỏc trang Web cũng cần phải kiểm tra tớnh xỏc thực của ngƣời sử dụng.

Mó hoỏ: đảm bảo thụng tin khụng thể bị truy cập bởi đối tƣợng thứ ba. Để

loại trừ việc nghe trộm những thụng tin “ nhạy cảm” khi nú đƣợc truyền qua Internet, dữ liệu phải đƣợc mó hoỏ để khụng thể bị đọc đƣợc bởi những ngƣời khỏc ngoài ngƣời gửi và ngƣời nhận.

Toàn vẹn dữ liệu: đảm bảo thụng tin khụng bị sai lệch và nú phải thể hiện

chớnh xỏc thụng tin gốc gửi đến.

Với việc sử dụng SSL, cỏc Web site cú thể cung cấp khả năng bảo mật thụng tin, xỏc thực và toàn vẹn dữ liệu đến ngƣời dựng. SSL đƣợc tớch hợp sẵn vào cỏc browser và Web server, cho phộp ngƣời sử dụng làm việc với cỏc trang Web ở chế độ an toàn. Khi Web browser sử dụng kết nối SSL tới server, biểu tƣợng ổ khúa sẽ xuất hiện trờn thanh trạng thỏi của cửa sổ browser và dũng “http” trong hộp nhập địa chỉ URL sẽ đổi thành “https”. Một phiờn giao dịch HTTPS sử dụng cổng 443 thay vỡ sử dụng cổng 80 nhƣ dựng cho HTTP

Mụ tả giao thức:

Đƣợ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 tin giữ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ờn nhƣ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ới phiờ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ợ cho rấ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 giao thức ứng dụng tầng cao hơn nhƣ là HTTP (Hyper Text Transport Protocol),

41

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

IMAP (Internet Messaging Access Protocol) và FTP (File Transport Protocol). Trong khi SSL 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 nhau trờn Internet, thỡ hiện nay SSL đƣợc sử dụng chớnh cho cỏc giao dịch trờn Web. SSL khụng phải là một giao thức đơn lẻ, mà là một tập cỏc thủ tục đó đƣợc chuẩn hoỏ để thực hiện cỏc nhiệm vụ bảo mật sau:

Xỏc thực server: Cho phộp ngƣời sử dụng xỏc thực đƣợc server muốn kết nối. Lỳc này, phớa browser sử dụng cỏc kỹ thuật mó hoỏ cụng khai để chắc chắn rằng certificate và public ID của server là cú giỏ trị và đƣợc cấp phỏt bởi một CA (certificate authority) trong danh sỏch cỏc CA đỏng tin cậy của client. Điều này rất quan trọng đối với ngƣời dựng. Vớ dụ nhƣ khi gửi mó số credit card qua mạng thỡ ngƣời dựng thực sự muốn kiểm tra liệu server sẽ nhận thụng tin này cú đỳng là server mà họ định gửi đến khụng.

Xỏc thực Client: Cho phộp phớa server xỏc thực đƣợc ngƣời sử dụng muốn kết nối. Phớa server cũng sử dụng cỏc kỹ thuật mó hoỏ cụng khai để kiểm tra xem certificate và public ID của server cú giỏ trị hay khụng và đƣợc cấp phỏt bởi một CA (certificate authority) trong danh sỏch cỏc CA đỏng tin cậy của server khụng. Điều này rất quan trọng đối với cỏc nhà cung cấp. Vớ dụ nhƣ khi một ngõn hàng định gửi cỏc thụng tin tài chớnh mang tớnh bảo mật tới khỏch hàng thỡ họ rất muốn kiểm tra định danh của ngƣời nhận.

Mó hoỏ kết nối: Tất cả cỏc thụng tin trao đổi giữa client và server đƣợc mó hoỏ trờn đƣờng truyền nhằm nõng cao khả năng bảo mật. Điều này rất quan trọng đối với cả hai bờn khi cú cỏc giao dịch mang tớnh riờng tƣ. Ngoài ra, tất cả cỏc dữ liệu đƣợc gửi đi trờn một kết nối SSL đó đƣợc mó hoỏ cũn đƣợc bảo vệ nhờ cơ chế tự động phỏt hiện cỏc xỏo trộn, thay đổi trong dữ liệu (đú là cỏc thuật toỏn băm – hash algorithm).

Giao thức SSL bao gồm 2 giao thức con: giao thức SSL record và giao thức SSL handshake. Giao thức SSL record xỏc định cỏc định dạng dựng để truyền dữ liệu. Giao thức SSL handshake (gọi là giao thức bắt tay) sẽ sử dụng SSL record

42

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

protocol để trao đổi một số thụng tin giữa server và client vào lần đầu tiờn thiết lập kết nối SSL.

Với cỏch thiết lập cho HTTPS, dũng dữ liệu cú thể đƣợc mó hoỏ trờn đƣờng truyền với thuật toỏn mó hoỏ 3DES, AES 128, 256 bit.

Chƣơng này trỡnh bày về một số giải phỏp xỏc thực web bao gồm giải phỏp xỏc thực ngƣời dựng Web, hệ thống đăng nhập duy nhất, giải phỏp ký số, xỏc thực nội dung Web và giải phỏp sử dụng giao thức SSL/TLS trong quỏ trỡnh trao đổi giữa Web client và WebServer để xõy dựng ứng dụng cho chƣơng tiếp theo.

43

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Chƣơng 3 XÂY DỰNG VÀ TÍCH HỢP GIẢI PHÁP XÁC THỰC WEB TRấN

CỔNG THễNG TIN NGUỒN MỞ LIFERAY 3.1 Xõy dựng, tớch hợp CAS với cổng thụng tin nguồn mở Liferay (adsbygoogle = window.adsbygoogle || []).push({});

Để xõy dựng đƣợc ứng dụng tụi dựa trờn cổng thụng tin, Liferay cú một thiết kế kiến trỳc rất rừ ràng và linh hoạt dựa trờn thực tế tốt nhất của J2EE. Do đú, nú cú thể sử dụng tốt cỏc server khỏc nhau nhƣ Tomcat, Jetty, JBoss, JRun, Oracle9iAS, Orion, WebLogic, WebSphere hay cụng nghệ khỏc nhau nhƣ Struts, Tiles, Spring, EJB , JMS, Java Mail, Web Service…Nhƣ vậy, Liferay là một open source portal container hỗ trợ gần nhƣ hầu hết JavaServer open source hay thƣơng mại.

Liferay cú thể đƣợc sử dụng với bất kỳ database nào với chỳt ớt ảnh hƣởng tựy theo việc sử dụng Hibernate trong thiết kế của nú. Liferay cú cỏc JSP tag lib và nhiều class tiện ớch khỏc trong những package khỏc nhau để trợ giỳp cỏc developer trong việc phỏt triển portal/portlet. Kiến trỳc Liferay portal nhƣ hỡnh sau:

44

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Rừ ràng, việc sử dụng cụng cụ hỗ trợ luụn luụn là phƣơng ỏn tốt nhất giỳp cho ngƣời dựng xõy dựng Cổng thụng tin điện tử cú tớnh phức tạp hoặc đặc thự cụng việc.

Với Liferay portal ngƣời dựng cú thể xõy dựng đƣợc bất kỡ Cổng thụng tin điện tử nào nhƣ: social network, e-learning portal, e-commerce portals,… dành cho cả doanh nghiệp lẫn ngƣời dựng thụng thƣờng. Nhƣng điều đặc biệt nhất Liferay portal là mó nguồn mở và miễn phớ sử dụng.

Trong khuụn khổ của đề tài, chỳng tụi lựa chọn Liferay portal để xõy dựng cỏc giải phỏp xỏc thực web. 3.1.1 Mụ hỡnh xỏc thực người dựng CAS Server Trỡnh Duyệt Web Server Liferay Portal 1 - N gười dựng truy c ập ứn g dụng (Ứng dụng sẽ ch uyển hướn g đến địa c hỉ CA S Serv er) LDAP Server 2 - Yờu cầu Server chứng thực CAS với địa chỉ (URL) của ứng dụng 3 - Gửi yờu cầu tới

LDAP Server 4 - LDAP Server trả

lời OK, cú tồn tại User và xỏc thực thành cụng 5 – CAS Server trả lại một session cookie (TGC) HTTP S 6 - T rỡnh d uyệt chuy ển m ột ticke t tro ng H TTP GET (ST) HTTPS

7 - Ứng dụng chuyển tick et trong HTTP G

ET (ST) 8 – CAS Server trả

lại UID của người dựng, n

húm,...

45

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Hệ thống cổng thụng tin điện tử Liferay xỏc thực ngƣời dựng dựa trờn cơ chế đăng nhập một lần (SSO). Ngƣời sử dụng cần phải cung cấp thụng tin định danh cho hệ thống xỏc thực SSO. Thụng tin này đƣợc dựng để nhận dạng ngƣời dựng. Một khi đó đƣợc xỏc thực, ngƣời dựng cú thể truy cập đƣợc vào cỏc chức năng của hệ thống. Thụng tin định danh ngƣời dựng đƣợc lƣu trữ trong LDAP server.

3.1.2 Mụ tả quy trỡnh xỏc thực

1.Ngƣời sử dụng mở ứng dụng Liferay

2. Cổng thụng tin Liferay hiển thị trang đăng nhập yờu cầu chứng thực CAS với địa chỉ URL của Liferay. Ngƣời sử dụng gửi tờn đăng nhập và mật khẩu của hệ thống.

3.Server chứng thực CAS gửi yờu cầu xỏc thực tới LDAP server.

4.Nếu thụng tin định danh ngƣời dựng tồn tại và chớnh xỏc, LDAP server trả lời OK.

5.Server chứng thực CAS trả lại một session cookie (TGC) 6.Trỡnh duyệt Liferay chuyển một ticket trong HTTP GET (ST) 7.Ứng dụng Liferay chuyển ticket trong HTTP GET (ST)

8.Server chứng thực CAS trả lại UID của ngƣời dựng. Quỏ trỡnh xỏc thực hoàn tất, ngƣời dựng cú thể đăng nhập vào để sử dụng cỏc chức năng của hệ thống.

3.1.3 Thiết kế và xõy dựng tiện ớch quản lý định danh xỏc thực người dựng

Sử dụng OpenLDAP để quản lý tập trung định danh chuẩn. OpenLDAP là một phần mềm mó nguồn mở đƣợc xõy dựng dựa trờn một giao thức cú tờn gọi là LDAP (Lightweight Directory Access Protocol).

46

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Hỡnh 3.3 Mụ hỡnh tiện ớch quản lý định danh chuẩn

3.1.4 Xõy dựng dịch vụ đăng nhập cho người dựng Tiến hành tớch hợp CAS với liferay portal

Đầu tiờn ta phải vào thƣ mục conf trong tomcat để chỉnh sửa tệp tin server.xml. Nhằm mở cổng mật https để thực hiện bảo mật nhƣ hỡnh dƣới đõy. (adsbygoogle = window.adsbygoogle || []).push({});

Hỡnh 3.4 Cài đặt tệp tin server.xml

Hệ thống quản lý định danh chuẩn Hệ thống ký và xỏc thực chữ ký RSA Hệ thống xỏc thực chung OpenLDAP Server Hệ thống Liferay

47

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Tƣơng tự nhƣ tớch hợp LDAP. Tớch hợp CAS cũng đƣợc thực hiện ở mục Authentication, chọn mục CAS. Nhƣ hỡnh dƣới đõy

Hỡnh 3.5 Giao diện tớch hợp CAS

Ta tiến hành cài đặt giao diện tớch hợp CAS nhƣ dƣới đõy

Hỡnh 3.6 Cài đặt giao diện tớch hợp với CAS

Nhƣng để kết nối đƣơc với CAS server ta phải tạo ra khúa xỏc thực SSL, và đăng ký với xỏc thực của Java nhƣ cỏc bƣớc dƣới đõy

48

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Hỡnh 3.7 Tạo khúa riờng bằng cõu lệnh

Sau đú tạo ra chứng nhận từ khúa riờng bằng cõu lệnh dƣới đõy:

Hỡnh 3.8 Tạo chứng nhận từ khúa riờng

49

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Hỡnh 3.9 Đăng ký xỏc thực vào keystore của java

Sau đú khởi động lại tomcat và LDAP server. Tiến hành cài đặt nhƣ hỡnh 3.14 và test thử kết nối và lƣu lại cài đặt là hoàn thành nhƣ hỡnh dƣới đõy.

Hỡnh 3.10 Cài đặt CAS trờn Liferay Portal

50

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Hỡnh 3.12 Hoàn thành tớch hợp CAS

Khởi động LDAP server và tomcat

Ta cú thể đăng nhập vào xỏc thực CAS nhƣ dƣới đõy

51

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Hỡnh 3.14 Thụng bỏo thành cụng đăng nhập xỏc thực CAS

Sau khi đăng nhập thành cụng xỏc thực CAS nú sẽ tự động chuyển sang trang Liferay Portal.

Khi thoỏt ra khỏi liferay portal thỡ sẽ tự động chuyển tới trang thoỏt khỏi xỏc thực CAS nhƣ dƣới đõy

Hỡnh 3.15 Trạng thỏi thoỏt khỏi xỏc thực CAS 3.2 Xõy dựng ứng dụng ký số, xỏc thực trờn nền tảng Web (adsbygoogle = window.adsbygoogle || []).push({});

3.2.1 Mụ hỡnh tổng quan giải phỏp ký số, xỏc thực trờn nền tảng Web

Web Server

Ngƣời sử dụng cuối 1 Ngƣời sử dụng cuối 2 2. Tải ứng dụng ký số

applet

1. Tƣơng tỏc trực tuyến

4. Upload dữ tài liệu 3. Applet băm và ký số dữ liệu

52

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Hỡnh 3.16 Mụ hỡnh tổng quan

Ngƣời sử dụng cuối 1 sau khi nhập liệu trờn web form cú thể ký dữ liệu trờn web form và gửi lờn web server, ngƣời sử dụng cuối 2 sẽ tải dữ liệu đó ký lờn web form trờn mỏy của mỡnh và tiến hành xỏc thực dữ liệu trờn server.

3.2.2 Phõn tớch thiết kế quy trỡnh ký số, xỏc thực

Chuẩn khuụn dạng ký số CMS/PKCS#7

CMS viết tắt của Cryptographic Message Syntax (Cỳ phỏp mó húa thụng điệp). Cỳ phỏp này đƣợc sử dụng để ký số, túm lƣợc, xỏc thực mó húa nội dung của một thụng điệp bất kỳ.

CMS mụ tả một cỳ phỏp đúng gúi để bảo vệ dữ liệu. Nú hỗ trợ mó húa và ký số dữ liệu. Cỳ phỏp này cho phộp đúng gúi nhiều lần; một vỏ bọc gúi cú thể đƣợc lồng trong gúi khỏc. Tƣơng tự nhƣ vậy, một bờn cú thể ký số lờn dữ liệu đó đƣợc đúng gúi trƣớc đú. Nú cũng cho phộp cỏc thuộc tớnh bất kỳ, vớ dụ thời gian ký (signing time), đƣợc ký cựng với nội dung thụng điệp, và cung cấp cho cỏc thuộc tớnh nhƣ countersignatures đƣợc liờn kết với một chữ ký.

Cỏc giỏ trị CMS đƣợc tạo ra sử dụng ASN.1, BER-ENCODING. Cỏc giỏ trị thụng thƣờng đƣợc biểu diễn dƣới dạng cỏc chuỗi octet. Trong khi nhiều hệ thống cú khả năng truyền nhận cỏc chuỗi octet bất kỳ, trong đú cú một số hệ thống thƣ điện tử.

CMS đƣợc xõy dựng dựa trờn PKCS#7 phiờn bản 1.5. CMS cú sự tƣơng thớch với PKCS#7, tuy nhiờn cần thiết cú một số thay đổi để phự hợp với thuộc tớnh chuyển đổi chứng thƣ số, cỏc kỹ thuật thỏa thuận khúa và khúa mó húa đối xứng để quản lý khúa.

CMS sử dụng cỏc yếu tố mật mó để mó húa và ký số dữ liệu. CMS sử dụng một kiểu định dạng và giỏ trớ cơ bản nhƣ hỡnh bờn dƣới.

53

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

Content

CMS định nghĩa 6 kiểu cơ bản để mụ tả dạng của mó húa nõng cao đƣợc ỏp dụng cho cỏc dữ liệu số, cỏc hỡnh dƣới chỉ ra cỳ phỏp cơ bản của chỳng. Sỏu kiểu đú là:

Data: Sử dụng để tham chiếu tới chuỗi octet bất kỳ (vớ dụ ASCII) và thƣờng đƣợc đúng gúi trong một kiểu khỏc

Signed Data: Sử dụng để ký nội dung, cú thể cú nhiều hơn một ngƣời ký Enveloped Data: Chứa nội dung đƣợc mó húa với một khúa giải mó cho mỗi ngƣời nhận (khúa này đƣợc mó húa)

Digested Data: Kiểu này chứa nội dung và một túm lƣợc thụng điệp của nội dung để cung cấp tớnh toàn vẹn của nội dung

Encrypted Data: Đõy chỉ là dữ liệu đƣợc mó húa. Một phƣơng thức cho quản lý khúa bắt buộc phải đƣợc sử dụng! CMS khụng định nghĩa bất kỳ phƣơng thức quản lý khúa cụ thể nào.

Authenticated Data: Kiểu này bao gồm cỏc nội dung, mó xỏc thực thụng điệp (MAC), và cỏc khúa xỏc thực đƣợc mó húa cho một hoặc nhiều ngƣời nhận

54

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/

55

Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/ (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu nghiên cứu giải pháp xác thực web ứng dụng trong giao dịch điện tử (Trang 47)