i Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/ đại học thái nguyên Tr-ờng đại học CÔNG NGHệ THÔNG TIN Và TRUYềN THÔNG HOÀNG VĨNH HÀ [ NGHIấN CỨU GIẢI PHÁP XÁC THỰC WEB ỨNG
Trang 1i
Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/
đại học thái nguyên
Tr-ờng đại học CÔNG NGHệ THÔNG TIN Và TRUYềN THÔNG
HOÀNG VĨNH HÀ
[
NGHIấN CỨU GIẢI PHÁP XÁC THỰC WEB ỨNG DỤNG TRONG GIAO DỊCH ĐIỆN TỬ
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Chuyờn ngành: KHOA HỌC MÁY TÍNH
Mó số: 60.48.01
Người hướng dẫn khoa học: TS HỒ VĂN HƯƠNG
Thỏi Nguyờn, 2014
Trang 2ii
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của bản thân Các số liệu kết quả trình bày trong Luận văn này là trung thực Những tƣ liệu đƣợc sử dụng trong Luận văn có nguồn gốc rõ ràng, đầy đủ
Thái nguyên, tháng 9 năm 2014
Trang 3, em trong Công ty EcoIT đã chỉ
–
Trang 4iv
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN iii
DANH MỤC CÁC CHỮ VIẾT TẮT vi
DANH MỤC CÁC HÌNH vii
LỜI MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THÔNG TIN TRONG GIAO DỊCH ĐIỆN TỬ 3
1.1 Tổng quan về giao dịch điện tử 3
1.1.1 Giới thiệu về giao dịch điện tử 3
1.1.2 Những hạn chế trong giao dịch điện tử 4
1.2 An toàn thông tin trong giao dịch điện tử 5
1.3 Tổng quan về Web và ứng dụng WEB 8
1.3.1 Kiến trúc một ứng dụng WEB 10
1.3.2 Nguy cơ mất an toàn dịch vụ WEB 11
1.4 Một số kỹ thuật mật mã ứng dụng trong bảo mật và xác thực web 14
1.4.1 Mật mã khoá đối xứng 14
1.4.2 Mật mã khoá công khai 15
17
1.4.4 Chữ ký số 17
19
CHƯƠNG 2: MỘT SỐ GIẢI PHÁP XÁC THỰC WEB 21
2.1 Một số giải pháp xác thực người dùng của website 21
2.1.1 Các yếu tố xác thực 21
2.1.2 Một số phương pháp xác thực 21
2.2 Hệ thống đăng nhập duy nhất [3] 24
24
24
25
Trang 5v
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
2.2.4 Một số yếu tố quyết định đến hệ thống SSO 27
2.2.5 28
2.3 Giải pháp ký số, xác thực nội dung Web [4] 36
2.3.1 Một số giải pháp ký số đã triển khai trên nền tảng Web 36
2.3.2 Phương pháp tiếp cận ký số trên nền tảng Web 37
2.4 Sử dụng giao thức SSL/TLS trong quá trình trao đổi giữa Web client và WebServer 39
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 43
3.1 Xây dựng, tích hợp CAS với cổng thông tin nguồn mở Liferay 43
3.1.1 Mô hình xác thực người dùng 44
3.1.2 Mô tả quy trình xác thực 45
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 45
3.1.4 Xây dựng dịch vụ đăng nhập cho người dùng 46
3.2 Xây dựng ứng dụng ký số, xác thực trên nền tảng Web 51
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 51
3.2.2 Phân tích thiết kế quy trình ký số, xác thực 52
3.2.3 Thiết kế và xây dựng ứng dụng ký số, xác thực trên nền tảng Web 58
3.3 Cấu hình, tích hợp giao thức SSL/TLS trong quá trình trao đổi giữa Web Client và Web Server 60
3.3.1 Mô tả giải pháp 60
3.3.2 Sử dụng giao thức SSL/TLS 2 chiều trong quá trình xác thực người dùng của các website có sử dụng chứng thư số 61
KẾT LUẬN 66
DANH MỤC CÁC CÔNG TRÌNH LIÊN QUAN ĐẾN LUẬN VĂN 67
TÀI LIỆU THAM KHẢO 68
Trang 6vi
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC CHỮ VIẾT TẮT
HTTP Hypertext Transfer Protocol Giao thức truyền tải siêu văn bản
SPKC Simple Public Key Certificate Chứng thƣ khoá công khai đơn
giản
TLS Transport Layer Security Giao thức bảo mật tầng truyền
thông
Trang 7vii
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC HÌNH
Hình 1.1Thống kê bảo mật ứng dụng WEB 10
Hình 1.2 Kiến trúc một ứng dụng WEB 10
Hình 1.3 Mã hóa khóa bí mật 14
Hình 1.4 Mã hóa khóa công khai 15
Hình 1.5 Xác thực thông tin 16
Hình 1.6 Ký và mã hoá với khóa công khai 17
18
19
20
Hình 1.10 Nhận và kiểm tra chữ ký 21
nh Single Domain SSO 26
27
31
32
35
Hình 2.6 Mô hình ký số dữ liệu trên Server 39
Hình 3.1 Kiến trúc Liferay portal 43
Hình 3.2 Mô hình xác thực người dùng 44
Hình 3.3 Mô hình tiện ích quản lý định danh chuẩn 46
Hình 3.4 Cài đặt tệp tin server.xml 46
Hình 3.5 Giao diện tích hợp CAS 47
Hình 3.6 Cài đặt giao diện tích hợp với CAS 47
Hình 3.7 Tạo khóa riêng bằng câu lệnh 48
Hình 3.8 Tạo chứng nhận từ khóa riêng 48
Hình 3.9 Đăng ký xác thực vào keystore của java 49
Hình 3.10 Cài đặt CAS trên Liferay Portal 49
Hình 3.11 Kiểm tra kết nối tới CAS và thành công 49
Hình 3.12 Hoàn thành tích hợp CAS 50
Trang 8viii
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hình 3.13 Đăng nhập xác thực CAS 50
Hình 3.14 Thông báo thành công đăng nhập xác thực CAS 51
Hình 3.15 Trạng thái thoát khỏi xác thực CAS 51
Hình 3.16 Mô hình tổng quan 52
Hình 3.17 Các kiểu cơ bản của CMS 54
Hình 3.18 Lược đồ ký số dữ liệu 56
Hình 3.19 Lược đồ xác thực dữ liệu tổng quan 57
Hình 3.20 Giao diện chính 58
Hình 3.21 Giao diện chính – Mở rộng 59
Hình 3.22 Chọn đường dẫn thư viện PKCS#11 60
Hình 3.23 Xây dựng giải pháp sử dụng giao thức SSL/TLS trong quá trình trao đổi giữa Web Client và Web Server 61
Hình 3.24 Mô hình sử dụng giải pháp xác thực 2 chiều SSL/TLS 62
Hình 3.25 Lựa chọn chứng thư số xác thực vào website 64
Hình 3.26 Nhập mật khẩu thiết bị lưu khóa 65
Trang 9an toàn thông tin ví dụ như bị đánh cắp dữ liệu, được phép đọc các tài liệu mà không đủ thẩm quyền, dữ liệu bị phá hủy … Do đó, bên cạnh việc triển khai và sử dụng CNTT, chúng ta cũng phải đảm bảo ATTT Đảm bảo ATTT chính là đảm bảo
Bố cục đề tài Luận văn gồm có 3 phần, với nội dung từng phần cụ thể như sau:
Chương 1 TỔNG QUAN VỀ AN TOÀN THÔNG TIN VÀ BẢO MẬT THÔNG TIN TRONG GIAO DỊCH ĐIỆN TỬ
Chương này chúng tôi sẽ tìm hiểu về giao dịch điện tử, phân loại giao dịch điện tử, an toàn thông tin trong giao dịch điện tử, một số giải pháp bảo mật giao dịch điện tử, tổng quan về web và ứng dụng web, an toàn dịch vụ web, mật mã khóa đối xứng, mật mã khóa công khai, hàm băm, chữ ký số
Trang 102
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Chương 2 MỘT SỐ GIẢI PHÁP XÁC THỰC WEB
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
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
Chương này xây dựng ứng dụng cụ thể: Xây dựng, tích hợp hệ thống đăng nhập duy nhất CAS với cổng thông tin nguồn mở Liferay, xây dựng ứng dụng ký
số, xác thực trên nền tảng Web, cấu hình, tích hợp giao thức SSL/TLS cũng như
tích hợp với thiết bị Etoken
Do thời gian hoàn thành đề tài có hạn cũng như khả năng nghiên cứu còn hạn chế cho nên em không tránh khỏi những khiếm khuyết, em rất mong có được những góp ý và giúp đỡ của các thầy cô giáo để em có thể tiếp tục đề tài này ở mức ứng dụng cao hơn trong tương lai
Em xin chân thành cảm ơn
Học viên
Hoàng Vĩnh Hà
Trang 113
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Chương 1 TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THÔNG TIN TRONG
GIAO DỊCH ĐIỆN TỬ 1.1 Tổng quan về giao dịch điện tử
1.1.1 Giới thiệu về giao dịch điện tử
Càng ngày CNTT đã trở thành một trong những động lực quan trọng của sự phát triển Cùng với sự phát triển của máy tính điện tử, truyền thông phát triển kéo theo sự ra đời và phát triển của mạng máy tính, từ các mạng cục bộ, mạng diện rộng cho tới mạng toàn cầu Internet và xa lộ thông tin Việc thông tin chuyển sang dạng
số và nối mạng đã làm thay đổi sự chuyển hóa của nền kinh tế, các dạng thể chế, các mối quan hệ và bản chất của hoạt động kinh tế xã hội và có ảnh hưởng sâu sắc đển hầu hết các lĩnh vực hoạt động và đời sống con người, trong đó có hoạt động giao dịch điện tử Người ta đã có thể tiến hành các hoạt động giao dịch nhờ các phương tiện điện tử Đó chính là giao dịch điện tử (GDĐT)
Giao dịch điện tử là các hoạt động mua bán sản phẩm hay dịch vụ trên các hệ thống điện tử như Internet và các mạng máy tính Giao dịch điện tử dựa trên một số công nghệ như chuyển tiền, quản lý chuỗi dây chuyền cung cấp ứng dụng, tiếp thị Internet, quá trình giao dịch trực tuyến, trao đổi dữ liệu điện tử, các hệ thống quản
lý hàng tồn kho và các hệ thống tự động thu thập dữ liệu Giao dịch điện tử hiện đại thường sử dụng mạng World Wide Web là một điểm thiết yếu trong chu trình giao dịch mặc dù nó có thể bao gồm một phạm vi lớn hơn về mặt công nghệ như email, các thiết bị di động cũng như điện thoại Người ta phân loại GDĐT là theo bản chất của giao dịch điện tử hoặc mối quan hệ giữa các bên tham gia Người ta phân loại theo một số loại hình GDĐT chính như sau: GDĐT giữa các doanh nghiệp (B2B); GDĐT giữa người tiêu dùng – doanh nghiệp (C2B: Consumer- To-Business) GDĐT giữa người tiêu dùng – người tiêu dùng (C2C: Consumer-To-Consumer); Chính phủ điện tử; G2G (Government-To-Government); (Government-To-Business); G2C (Government-To-Custemer)
Các hình thức hoạt động của GDĐT chủ yếu là các Website và thư điện tử, thanh toán điện tử (Trao đổi dữ liệu điện tử tài chính, tiền mặt Internet, tiền túi điện
Trang 124
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
tử, giao dịch ngân hàng số hóa…) trao đổi dữ liệu điện tử, truyền nội dung, bán lẻ hàng hóa hữu hình…
1.1.2 Những hạn chế trong giao dịch điện tử
Theo nghiên cứu của EcommerceNet một tổ chức nghiên cứu tình hình phát triển của GDĐT có uy tín tại Mỹ, thì mười rào cản lớn nhất đối với sự phát triển GDĐT theo thứ tự là:
Các sàn giao dịch B2B chưa thực sự thân thiện với người dùng
Các rào cản thương mại quốc tế truyền thống
Thiếu các tiêu chuẩn quốc tế về GDĐT
Trong đó, hạn chế chia thành hai nhóm chính là nhóm hạn chế mang tính kỹ thuật và nhóm hạn chế mang tính thương mại Trong đó, nhóm hạn chế mang tính
kỹ thuật được thể hiện như sau:
An toàn: Vấn đề an toàn trong giao dịch là vấn đề lớn đối với GDĐT Nhiều khách hàng ngần ngại không muốn cung cấp số thẻ tín dụng qua Internet vì đã có rất nhiều trường hợp bị đánh cắp thông tin và tài khoản thẻ tín dụng gây nhiều thiệt hại cho người dùng
Toàn vẹn dữ liệu: Bảo vệ dữ liệu và tính toàn vẹn của dữ liệu là một vấn đề nghiêm trọng Do sự xuất hiện của các virut máy tính dẫn đến đường truyền dữ liệu
Trang 135
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
bị nghẽn, các tệp dữ liệu bị phá hủy, tin tặc truy cập trái phép hệ thống để lấy cắp thông tin, hủy hoại dữ liệu khiến cho khách hàng lo lắng về hệ thống GDĐT
Nỗi lo lắng về nâng cấp hệ thống: Sau một thời gian phát triển hệ thống website GDĐT, số lượng khách hàng truy cập ngày một đông sẽ dấn đến tốc độ truy cập chậm lại, nghẽn mạng Kết quả là khách hàng rời bỏ website Để tránh tình trạng này các doanh nghiệp phải thường xuyên nâng cấp hệ thống
Trên thế giới vẫn chưa có tiêu chuẩn quốc tế về chất lượng dịch vụ, độ an toàn và độ tin cậy trong GDĐT, mỗi quốc gia lại có một chính sách khác nhau và các chính sách về GDĐT vẫn chưa chặt chẽ và còn nhiều lỗ hổng Các công cụ xây dựng phần mềm về GDĐT (Như các nền tảng phát triển website GDĐT, cách thức thanh toán, xác thực…) vẫn chưa được hoàn thiện và còn trong đang giai đoạn phát triển Khi kếp hợp các phần mềm GDĐT với các phần mềm ứng dụng và các cơ sở
dữ liệu truyền thống vẫn gặp nhiều khó khăn
1.2 An toàn thông tin trong giao dịch điện tử
Thương mại điện tử là sự mua bán sản phẩm hay dịch vụ trên các hệ thống điện tử như Internet hoặc các mạng máy tính Các giao dịch điện tử trong thương mại điện tử chủ yếu là: chuyển tiền, mua sắm điện tử, trao đổi thông tin điện tử… Đây là các giao dịch hết sức quan trọng đòi hỏi phải có độ an toàn và bảo mật cao
Ngoài các yếu tố an toàn và bảo mật như đối với hệ thống thông tin, giao dịch điện tử cần phải chú trọng vào một số vấn đề sau:
Bảo mật thông tin khách hàng
Xác thực chủ thể, chống chối bỏ
Xác thực tính chính xác về thời gian giao dịch và kiểu giao dịch
Khi nhu cầu giao dịch điện tử ngày càng gia tăng thì các nguy cơ mất an toàn càng dễ xảy ra Điều này đòi hỏi phải có những chính sách thích hợp giúp cho người sử dụng yên tâm khi thực hiện các giao dịch điện tử Các doanh nghiệp kinh
Trang 146
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
doanh điện tử thường trú trọng đến các giải pháp để có thể xác thực người dùng: sử dụng chữ ký số, xác thực sinh trắc, xác nhận qua điện thoại, email… Các giải pháp này giúp hạn chế tối đa các trường hợp mạo danh để thực hiện các giao dịch điện tử
Lợi ích của giao dịch điện tử đối với nền kinh tế quốc dân cũng như sự phát triển về mặt công nghệ và thị trường toàn cầu là vô cùng to lớn Tuy nhiên, song hành cùng với những thuận lợi bao giờ cũng nảy sinh và tồn tại khó khăn Vấn đề đáng lo ngại nhất hiện nay mà tất cả các quốc gia đều phải đối mặt đó là sự tấn công, phá hoại của một số phần tử xã hội, gây ảnh hưởng không nhỏ đến nền kinh
tế Các cuộc tấn công mạng trên toàn cầu gây thiệt hại hàng tỉ USD mỗi năm và con
số này đang không ngừng gia tăng Theo thống kê của Ủy ban Thương mại Liên bang Hoa Kỳ, việc mất dữ liệu ở Mỹ trong 5 năm đã gây thiệt hại 60 tỉ USD Còn theo Computer Economics, chỉ riêng 4 loại sâu máy tính MyDoom, Bagel, Netsky
và Sasser đã gây tổng thiệt hại đến 11 tỉ USD… Thế giới trong năm qua bị rung động bởi sự hoành hành của Flame và Duqu, những vi rút đánh cắp thông tin mật của các hệ thống điện toán khu vực Trung Đông Gần đây nhất, đầu năm 2014, tại
Mỹ hàng loạt các công ty công nghệ hàng đầu cũng đã bị hacker tấn công như Apple, Facebook, Microsoft Bên cạnh đó, nhiều tòa báo lớn của Mỹ cũng đã bị hacker liên tiếp tấn công nhằm đánh cắp dữ liệu Một vấn đề bức xúc được đặt ra là các giải pháp an toàn thông tin cho giao dịch điện tử
Ở Việt Nam, trong những năm gần đây liên tục diễn ra các sự kiện liên quan đến vấn đề an toàn thông tin Những báo cáo, tham luận tại các Hội thảo đều cho thấy vấn đề an ninh các website, đặc biệt website của các công ty chứng khoán là những mối quan ngại lớn Với những diễn biến xảy ra, an ninh mạng Việt Nam thực
sự là bất ổn và được coi là “báo động đỏ” Hàng nghìn virus mới xuất hiện, những cuộc tấn công có chủ đích của giới hacker vào các website của các cơ quan, tổ chức
và doanh nghiệp đã gây ra những hậu quả nhất định cho các đơn vị này Nhiều hoạt động phạm pháp, lợi dụng Internet làm môi trường hoạt động, tình trạng phát tán thư rác, virus tăng theo cấp số nhân Theo ước tính, năm 2007 ở nước ta thiệt
Trang 157
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
hại do virus gây ra có thể lên tới hơn 2 nghìn tỉ đồng Đầu năm 2014, các số liệu thống kê cho thấy, tình hình mất an toàn an ninh mạng vẫn không có dấu hiệu giảm Theo nhận định của các chuyên gia, năm 2014 vẫn tiếp tục xuất hiện nhiều biến thể virus mới và tập trung tấn công vào từng nhóm đối tượng có chủ đích thay vì tấn công chung chung trên diện rộng Do đó, con số thiệt hại cũng sẽ tăng lên một cách đáng báo động [7]
Theo thống kê của BKAV, trong năm 2014, tại Việt nam có tới 2.203 website của các cơ quan doanh nghiệp (DN) bị tấn công, các cuộc tấn công này chủ yếu thông qua các lỗ hổng trên hệ thống mạng So với năm 2013 (có 2.245 website
bị tấn công), con số này hầu như không giảm Thực trạng này cho thấy, an ninh mạng vẫn chưa thực sự được quan tâm tại các cơ quan, DN Theo nhận định của các chuyên gia công ty BKAV, hầu hết cơ quan DN của Việt Nam chưa bố trí được nhân sự phụ trách an ninh mạng hoặc năng lực và nhận thức của đội ngũ này chưa tương xứng với tình hình thực tế Đó là những nguyên nhân chính Trong năm 2013, tấn công, phát tán phần mềm gián điệp (spyware) vào các cơ quan, DN là hình thái mới của giới tội phạm mạng mang tính chất quốc gia Trong năm, hệ thống giám sát
vi rút của Bkav đã phát hiện hàng loạt email đính kèm file văn bản chứa phần mềm gián điệp được gửi tới các cơ quan, DN Do từ trước tới nay các file văn bản vẫn được cho là an toàn, hầu hết người nhận được email đã mở file đính kèm và bị nhiễm vi rút dạng spyware khai thác lỗ hổng của phần mềm Microsoft Office (bao gồm cả Word, Excel và PowerPoint) Khi xâm nhập vào máy tính, virus này âm thầm kiểm soát toàn bộ máy tính nạn nhân, mở cổng hậu (backdoor), cho phép hacker điều khiển máy tính nạn nhân từ xa Chúng cũng nhận lệnh hacker tải các virus khác về máy tính để ghi lại thao tác bàn phím, chụp màn hình, lấy cắp tài liệu Các sự việc này đã rung lên hồi chuông báo động về thực trạng mất an toàn an ninh
mạng của các cơ quan, doanh nghiệp tại Việt nam
Việc kết nối qua mạng Internet hiện nay chủ yếu sử dụng giao thức TCP/IP TCP/IP cho phép các thông tin được gửi từ một máy tính này tới một máy tính khác
Trang 168
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
thông qua một loạt các máy trung gian hoặc các mạng riêng biệt trước khi nó có thể
đi tới đích Tính linh hoạt này của giao thức TCP/IP đã tạo cơ hội cho “bên thứ ba”
1.3 Tổng quan về Web và ứng dụng WEB
Website là một “trang web” được lưu trữ tại các máy chủ hay các hosting hoạt động trên Internet Đây là nơi giới thiệu những thông tin, hình ảnh về doanh nghiệp, sản phần và dịch vụ của doanh nghiệp hay giới thiệu thông tin để khách hàng có thể truy cập bất kì ở đâu, bất cứ lúc nào Website là tập hợp của nhiều web page Để tạo nên một website cần có 3 yếu tố sau:
Tên miền (domain): Thực chất một website không cần đến tên miền nó vẫn
có thể hoạt động bình thường vì nó còn có địa chỉ IP của trang web, chúng ta chỉ cần gõ vào trình duyệt IP của trang web thì ngay lập tức trình duyệt sẽ load trang web về trình duyệt của bạn Sỡ dĩ chúng ta cần phải có tên miền thay cho IP là vì IP
là mỗi chuỗi số thập phân, có những địa chỉ IP thì rất là dễ nhớ nhưng đa số địa chỉ
IP thì rất là khó nhớ Với cái tên nó rất gần gũi với ngôn ngữ tự nhiên của con người nên rất là dễ nhớ cũng chính vì vậy mà người ta đã thay tên miền cho IP và từ đó công nghệ DNS ra đời Nơi lưu trữ website (hosting): Nơi lưu trữ website thì bắt
Trang 179
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
buộc chúng ta phải có, nó có thể là một máy chủ để lưu trữ hay một hosting chúng
ta thuê từ nhà cung cấp dịch vụ
Nội dung các trang thông tin (web page): Nội dung trang thông tin này thì phải có vì mục đích của chúng ta lập nên website nhằm đăng thông tin của chúng ta lên website hay giới thiệu các thông tin của công ty Nói đến một website người ta thường nói website đấy là web động hay tĩnh, đa số các website bây giờ đến là website động
Website tĩnh có thể hiểu như thế sau người dùng gửi yêu cầu một tài nguyên nào đó và máy chủ sẽ trả về tài nguyên đó Các trang Web không khác gì là một văn bản được định dạng và phân tán Lúc mới đầu phát triển website thì web tĩnh được
sử dụng rất nhiều vì lúc đấy nhu cầu của việc đăng tải trên website là chưa cao như đăng thông tin về các sự kiện, địa chỉ hay lịch làm việc qua Internet mà thôi, chưa
có sự tương tác qua lại giữa các trang Web
Website động là thuật ngữ được dùng để chỉ những website được hỗ trợ bởi một phần mềm cơ sở web, một cách đơn giản web động là web có cơ sở dữ liệu Ngày nay, đa số các trang web đều có cơ sở dữ liệu vì mục đích, nhu cầu của con người càng ngày gia tăng Thực chất, website động có nghĩa là một website tĩnh được "ghép" với một phần mềm web (các modules ứng dụng cho Web) Với chương trình phần mềm này, người chủ website thực sự có quyền điều hành nó, chỉnh sửa
và cập nhật thông tin trên website của mình mà không cần phải nhờ đến những người chuyên nghiệp
Ứng dụng WEB là một ứng dụng máy chủ/máy khách sử dụng giao thức HTTP để tương tác với người dùng hay hệ thống khác Trình duyệt WEB giành cho người dùng như Internet Explore hoặc Firefox hay Chrome, Người dùng gửi và nhận các thông tin từ máy chủ WEB thông qua việc tác động vào các trang WEB Các ứng dụng WEB có thể là trang trao đổi mua bán, các diễn đàn, gửi và nhận email Với công nghệ hiện nay, website không chỉ đơn giản là một trang tin cung cấp các bài tin đơn giản Những ứng dụng web viết trên nền web không chỉ được
Trang 1810
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
gọi là một phần của website nữa, giờ đây chúng đƣợc gọi là phần mềm viết trên nền web Có rất nhiều phần mềm chạy trên nền web nhƣ Google Word (xử lý các file văn bản), Google spreadsheets (xử lý tính bảng tính), Google Translate (từ điển, dịch văn bản),
Hình 1.1Thống kê bảo mật ứng dụng WEB
1.3.1 Kiến trúc một ứng dụng WEB
Hình 1.2 Kiến trúc một ứng dụng WEB
Một ứng dụng web có đầy đủ các thành phần nhƣ sau:
Trang 19Ứng dụng web
Ứng dụng web được viết bằng các ngôn ngữ khác nhau như java, php, hay
có thể là một đoạn flash đơn giản để nhúng các ứng dụng vào trang web Ví dụ như games online trên facebook hay zing
Cơ sở dữ liệu
Là một máy chủ chịu đảm nhiệm việc lưu trữ thông tin của các ứng dụng web có thể là lưu trữ ngay trên máy chủ web hoặc là một máy chủ khác nhưng thường để bảo mật thì người ta lưu trên một máy chủ khác và sử dụng hệ quản trị cơ
sở dữ liệu như SQL Server hay Oracle, Ví dụ: như chơi games online trên web của facebook hay zing thì người chơi games xong thường lưu các giá trị của người chơi vào một cơ sở dữ liệu nào đấy và khi nào người chơi muốn tiếp tục chơi thì truy vấn lấy cơ sở dữ liệu đấy ra
1.3.2 Nguy cơ mất an toàn dịch vụ WEB
Ngày nay với sự phát triển mạnh mẽ của công nghệ thông tin việc ứng dụng công nghệ mạng máy tính trở lên vô cùng phổ cập và cần thiết Sự xuất hiện mạng internet cho phép mọi người có thể truy cập, chia sẻ và khai thác thông tin một cách dễ dàng và hiệu quả Sự phát triển mạnh mẽ của Internet xét về mặt bản chất chính là việc
Trang 2012
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
đáp ứng lại sự gia tăng không ngừng của nhu cầu giao dịch trực tuyến trên hệ thống mạng toàn cầu Các giao dịch trực tuyến trên Internet phát triển từ những hình thức sơ khai như trao đổi thông tin (email, message …), quảng bá (Web-publishing) đến những giao dịch phức tạp thể hiện qua các hệ thống chính phủ điện tử, thương mại điện tử ngày càng phát triển mạnh mẽ trên khắp thế giới Tuy nhiên lại nảy sinh các vấn đề an toàn thông tin, Internet có những kỹ thuật cho phép mọi người truy nhập, khai thác, chia sẻ thông tin Nhưng nó cũng là nguy cơ chính dẫn đến việc thông tin bị hư hỏng hoặc phá hủy Sở dĩ có lý do đó là việc truyền thông tin qua mạng Internet hiện nay chủ yếu sử dụng giao thức TCP/IP, cho phép các thông tin được gửi từ một máy tính này tới một máy tính khác đi qua một loạt các giao thức trung gian hoặc mạng riêng biệt trước khi có thể tới đích Chính vì điểm này, đã tạo cơ hội cho “bên thứ ba” có thể thực hiện các hành động gây mất mát thông tin trong giao dịch Một số vấn đề an toàn đối với nhiều mạng máy tính hiện nay
Nghe trộm (Eavaesdropping): Thông tin không bị thay đổi, nhưng sự bí mật của
nó thì không còn Ví dụ: Ai đó có thể biết được số ID và Password của thẻ tín dụng…
Giả mạo (Tampering): Các thông tin trong khi truyền trên mạng bị thay đổi trước khi đến người nhận Ví dụ: Một ai đó có thể sửa đổi đơn đặt hàng hoặc thay đổi lý lịch cá nhân trước khi các thông tin đó đi đến đích
Mạo danh (Impersonation): Một cá nhân có thể dựa vào thông tin của người khác để trao đổi với một đối tượng Có hai hình thức mạo danh:
Mạo danh bắt chước (Spoofing): Một cá nhân có thể dựa vào thông tin của người khác Ví dụ: Dùng địa chỉ mail của một người khác hoặc giả mạo một tên miền của một trang Web
Xuyên tạc (Mirepresentation): Một cá nhân hay một tổ chức có thể giả vờ như một đối tượng, hay đưa ra thông tin về kinh doanh máy tính mà có sử dụng thẻ tín dụng Nhưng thực tế trang này chuyên đánh cắp thẻ tín dụng
Trang 2113
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Chối cãi nguồn gốc (Non-repudiation): Một cá nhân có thể chối là đã không gửi tài liệu khi xảy ra tranh chấp Ví dụ: Khi gửi email thông thường, người nhận sẽ không thể khẳng định người gửi là chính xác
Để đảm báo tính bảo mật của thông tin không làm giảm sự phát triển của việc trao đổi thông tin quảng bá trên toàn cầu thì chúng ta cần có các giải pháp phù hợp Hiện tại có rất nhiều giải pháp cho vấn đề an toàn thông tin trên mạng như mã hóa thông tin, chữ ký điện tử Các bí mật đảm bảo an toàn cho giao dịch điện tử:
Thế nào là một hệ thống an toàn thông tin? An toàn thông tin trước cho các cuộc tấn công là một vấn đề mà các hệ thống giao dịch trực tuyến cần giải quyết Thông tin truyền trên mạng gặp rất nhiều rủi ro và nguy cơ mất thông tin là thường xuyên Chẳng hạn việc thanh toán bằng thẻ tín dụng thông qua dịch vụ Web sẽ gặp một số rủi ro sau:
Thông tin từ trình duyệt Web của khách hàng ở dạng thuần văn bản nên có thể bị lọt vào tay kẻ tấn công Trình duyệt Web của khách hàng không thể xác định được máy chủ mà mình trao đổi tin có phải là thật hay một Web giả mạo Không ai
có thể đảm bảo dữ liệu truyền đi có thể bị thay đổi hay không? Vì vậy các hệ thống cần phải có một cơ chế đảm bảo an toàn trong quá trình giao dịch điện tử Một hệ thống thông tin trao đổi dữ liệu an toàn phải đáp ứng một số yêu cầu sau:
Hệ thống phải đảm bảo dữ liệu trong quá trình chuyển đi là không bị đánh cắp Hệ thống phải có khả năng xác thực, tránh trường hợp giả danh, giả mạo Do vậy, cần tập trung vào việc bảo vệ các tài sản khi chúng được chuyển tiếp giữa khách và máy chủ từ xa Việc cung cấp kênh thương mại an toàn đồng nghĩa với việc đảm báo tính toàn vẹn của thông báo, tính sẵn sàng của kênh Các kỹ thuật đảm bảo cho an toàn giao dịch điện tử chính là sử dụng các hệ mật mã, chứng thư số và chữ ký số trong quá trình thực hiện các giao dịch
Trang 2214
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Mật mã được chia làm hai loại chính là mật mã khóa đối xứng (mật mã khóa
bí mật) và mật mã khóa công khai [1, 8, 9]
1.4 Một số kỹ thuật mật mã ứng dụng trong bảo mật và xác thực web
1.4.1 Mật mã khoá đối xứng
Mật mã khóa đối xứng còn được gọi là mật mã khóa bí mật Đây là phương pháp mã hóa sử dụng cặp khóa đối xứng Với phương pháp này, người gửi và người nhận sẽ dùng chung một khóa để mã hóa và giải mã thông điệp Trước khi mã hóa thông điệp gửi đi, hai bên gửi và nhận phải có khóa chung và phải thống nhất thuật toán để mã hóa và giải mã Để đảm bảo tính bí mật trong truyền thông thì hai bên tham gia truyền thông phải giữ kín và không để lộ thông tin về khóa mật cho người khác
Độ an toàn của thuật toán này phụ thuộc vào khoá, nếu để lộ khoá này nghĩa là bất kỳ người nào cũng có thể mã hoá và giải mã thông báo trong hệ thống mã hoá
Hình 1.3 Mã hóa khóa bí mật
Ứng dụng: Sử dụng trong môi trường mà khoá dễ dàng được chuyển đi, như là trong cùng một văn phòng Cùng dùng để mã hoá thông tin khi lưu trữ trên đĩa nhớ
Trang 2315
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
1.4.2 Mật mã khoá công khai
Mật mã khóa công khai là một dạng mật mã cho phép người sử dụng trao đổi các thông tin mật mã 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óa công khai (Public Key) và khóa cá nhân (Private Key)
Trong mật mã khóa công khai, khóa cá nhân phải được giữ bí mật trong khi khóa công khai được phổ biến công khai Trong hai khóa, một dùng để mã hóa và khóa 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
Việc sử dụng mật mã khóa công khai cung cấp cho ta những ứng dụng quan trọng trong bảo vệ thông tin:
1.4.2.1 Bảo vệ tính bí mật thông tin
Giả sử A muốn gửi cho B một thông điệp M, A sẽ phải:
Mã hóa thông điệp M bằng khóa công khai của B
Gửi bản mã thông điệp cho B
Khi B nhận được thông điệp M Thông điệp M đã được mã hóa của A, B sẽ
sử dụng khóa riêng của mình để giải mã thông điệp đó
Hình 1.4 Mã hóa khóa công khai
Phương pháp này cung cấp tính bí mật vì chỉ có B mới có khóa bí mật để giải
mã thành công bản mã mà A đã gửi Tuy nhiên, phương pháp này lại không cung
Trang 2416
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
cấp bất kỳ quá trình xác thực nào để khẳng định bản mã mà B nhận là do A gửi, vì khóa công khai của B ai cũng biết
1.4.2.2 Xác thực thông tin
A muốn mọi người biết được rằng tài liệu M là của chính A gửi, A có thể sử dụng khóa riêng của mình để ký lên tài liệu M
Khi ai đó nhận được tài liệu, ví dụ là B, B sẽ kiểm tra chữ ký có trong tài liệu
M bằng khóa công khai của A và có thể chắc chắn được rằng tài liệu này là do A ký
vì chỉ có A mới có khóa riêng dùng để ký lên tài liệu
Hình 1.5 Xác thực thông tin
Phương pháp này giúp người sử dụng có thể xác thực được nguồn gốc của tài liệu, nhưng lại không bảo vệ tính bí mật của tài liệu Do đó, người không được quyền xem tài liệu vẫn có thể xem được nó
1.4.2.3 Bảo vệ bí mật và xác thực thông tin
Để đảm bảo thông tin vừa bí mật vừa xác thực, chúng ta phải thực hiện mã hóa hai lần:
Đầu tiên, A phải ký thông điệp bằng khóa riêng của mình (thao tác này để đảm bảo tính xác thực)
Sau đó, A sử dụng khóa công khai của B để mã hóa tiếp thông báo vừa được
mã hóa (thao tác này để đảm bảo tính bí mật)
Trang 2517
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Sau đó, A gửi bản mã cuối cùng đến B, B nhận đƣợc, sẽ làm giải mã theo thứ
:
Trang 2618
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Trang 29
Chương 2 MỘT SỐ GIẢI PHÁP XÁC THỰC WEB
2.1 Một số giải pháp xác thực người dùng của website
2.1.1 Các yếu tố xác thực
Những yếu tố xác thực cho người sử dụng có thể được phân loại như sau: Những cái mà người sử dụng sở hữu bẩm sinh, chẳng hạn như dấu vân tay hoặc mẫu dạng võng mạc mắt, chuỗi AND, mẫu dạng giọng nói, chữ ký, tín hiệu sinh điện đặc thù do cơ thể sống tạo ra, hoặc những định dạng sinh học khác
Những cái người sử dụng có, chẳng hạn như chứng minh thư, chứng chỉ an ninh (Security token), chứng chỉ phần mềm (Software token) hoặc điện thoại di dộng…
Những gì người sử dụng biết, chẳng hạn như mật khẩu (password), mật ngữ (pasphrase) hoặc mã số định danh cá nhân (personal identification number – PIN)…
Trong thực tế, nhiều khi một tổ hợp của những yếu tố trên được sử dụng, lúc
đó người ta nói đến xác thực đa yếu tố Chẳng hạn trong giao dịch ATM, thẻ ngân hàng và mã số định danh cá nhân (PIN) được sử dụng – trong trường hợp này đó là một trong các dạng xác thực 2 yếu tố (two-factor-authentication – 2FA)
2.1.2 Một số phương pháp xác thực
a Xác thực dựa trên định danh người sử dụng (Username) và mật khẩu (password)
Trang 3022
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Sự kết hợp của một cặp Username và password là cách xác thực phổ biến nhất hiện nay Với phương thức xác thực này, thông tin cặp username và password nhập vào được đối chiếu với dữ liệu đã được lưu trên hệ thống Nếu thông tin trùng khớp thì người sử dụng được xác thực, còn nếu không người sử dụng bị từ chối hoặc cấm truy cập Phương thức xác thực này có tính bảo mật không cao vì thông tin cặp username và password dùng đăng nhập vào hệ thống mà ta gửi đi xác thực là trong tình trạng ký tự văn bản rõ, tức không được mã hóa và có thể bị chặn bắt trên đường truyền, thậm chí ngay trong quá trình nhập vào: password có thể bị lộ do đặt quá đơn giản (dạng „123456‟ hoặc „abc123‟, v.v ) hoặc dễ đoán (tên/ngày sinh của người thân…)
b Sử dụng giao thức xác thực bắt tay có thử thách (Challenge Handshake Authentication Protocol – CHAP)
Đây cũng là mô hình xác thực dựa trên username/password Khi người dùng (User) thực hiện thủ tục đăng nhập (log on), máy chủ (server) đảm nhiệm vai trò xác thực sẽ gửi một thông điệp thử thách (challengen message) cho máy tính của người dùng Lúc này máy tính của người dùng sẽ phản hồi lại bằng Username và password được mã hóa Máy chủ xác thực sẽ so sánh phiên bản xác thực người dùng được lưu giữ với phiên bản mã hóa vừa nhận, nếu trùng khớp thì người dùng
sẽ được xác thực Để đảm bảo an toàn, bản thân password không bao giờ được gửi qua mạng Phương thức CHAP thường được sử dụng khi người dùng đăng nhập vào các mày chủ ở xa (Remote server) của hệ thống, chẳng hạn như RAS server Dữ liệu chứa password được mã hóa đôi khi được gọi là “mật khẩu băm” (hash password) theo tên của phương pháp mã hóa dùng các hàm băm
c Xác thực Kerberos
Xác thực Kerberos là nền tảng xác thực chính của nhiều hệ điều hành như UNIX, Windows,…Xác thực Kerberos dùng một máy chủ trung tâm để kiểm tra việc xác thực người dùng và cấp phát thẻ dịch vụ (service ticket) để người dùng có
Trang 3123
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
thể truy cập vào tài nguyên hệ thống Xác thực Kerberos là một phương thức có tính
an toàn cao nhờ việc dùng thuật toán mã hóa mạnh Kerberos cũng dựa trên độ chính xác của thời gian xác thực giữa máy chủ và người dùng, do đó cần phải đảm bảo kết nối đồng bộ thời gian các thành phần này của hệ thống
d Xác thực sử dụng token
Token là những phương tiện vật lý như các thẻ thông minh (smart card), thẻ đeo của nhân viên (ID badge) chứa thông tin xác thực hoặc bộ tạo mật khẩu dùng một lần (One Time Password – OTP) Ở đây OTP là mật khẩu dùng một lần, được tạo ra trên bộ tạo OTP (token) và kiểm tra trong hệ thống bảo mật riêng OTP tự động thay đổi thường xuyên và chỉ tồn tại trong một thời gian ngắn (khoảng vài chục giây) cho từng lần truy nhập
Token có thể lưu trữ mã số nhận dạng cá nhân (PIN), thông tin về người dùng, lưu giữ hoặc tạo password Các thông tin trên token chỉ có thể được đọc/xử lý bởi các thiết bị hoặc hệ thống đặc dụng Chẳng hạn như thẻ thông minh được đọc bởi đầu đọc thẻ smart card chuyên dụng, OTP được xử lý bởi hệ thống xác thực sử dụng yếu tố xác thực thứ hai là mật khẩu người dùng một lần
e Xác thực áp dụng các phương pháp nhận dạng sinh trắc học (Biometrics) Đây là mô hình xác thực có tính bảo mật cao dựa trên đặc điểm sinh học của từng cá nhân, trong đó sử dụng các thủ tục như quét dấu vân tay (fingerprint scanner), quét võng mạc mắt (rential scanner), nhận dạng giọng nói (voice recognition),…Nhờ các tiến bộ vượt bậc của công nghệ sinh học, phương thức xác thực dựa trên nhận dạng sinh trắc học ngày càng trở nên phổ biến và được chấp nhận rộng rãi
f Phương thức xác thực lẫn nhau (Mutual Authentication)
Đây là phương thức bảo mật trong đó các thành phần tham gia giao tiếp với nhau sẽ kiểm tra, xác thực lẫn nhau Chẳng hạn trong một hệ thống mạng Client/Server, trước hết máy chủ (chứa tài nguyên) kiểm tra “giấy phép truy cập”
Trang 3224
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
của người dùng và sau đó người dùng lại kiểm tra “giấy phép cấp tài nguyên” của máy chủ Cũng tương tự như vậy, khi khách hàng thực hiện giao dịch với hệ thống e-Banking của một ngân hàng đã chọn, thì cần phải kiểm tra xem hệ thống đó có đúng là của Ngân hàng đó không và ngược lại hệ thống e-Banking của Ngân hàng cũng kiểm tra chính khách hàng thực hiện giao dịch
Trang 34Trang 35
27
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hình 2.2
2.2.4 Một số yếu tố quyết định đến hệ thống SSO
Trước khi đề cập đến các giải pháp SSO cụ thể, cần xác định SSO có ý nghĩa như thế nào đối với hệ thống sử dụng giải pháp này Có phải giải pháp này xuất phát từ việc cải thiện tình trạng bảo mật và kiểm duyệt, hay chỉ đóng vai trò cung cấp định danh điện tử cho người dùng trên mạng? Tình trạng hệ thống hiện tại trước khi có giải pháp SSO, số lượng các dịch vụ xác thực người dùng như thế nào? Số lượng người dùng có biến thiên hay không, phạm vi của người dùng truy nhập đồng thời vào các ứng dụng hay các hệ thống khác nhau như thế nào?
Trả lời được các câu hỏi trên, chúng ta sẽ có được một giải pháp tương ứng đối với hệ thống và môi trường cụ thể sử dụng giải pháp SSO
Trang 3628
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Phân loại hệ thống SSO: Phụ thuộc vào kiến trúc của hệ thống, có hai hướng tiếp cận chính đối với các hệ thống SSO là:
mạng (network identity) Thông tin người dùng, ví dụ địa chỉ, nơi ở, thẻ tín
dụng,… được coi là các thông tin nhạy cảm Vì vậy, người dùng tự quyết định
có chia sẻ các thông tin này với nhà cung cấp mà họ lựa chọn không Định danh chung sẽ chứa các các định danh độc lập Mỗi định danh độc lập đại diện cho một account (do một nhà cung cấp định danh nào đó cung cấp) Theo cách này, người dùng tự quyết định chia xẻ những thông tin nào cho nhà cung cấp của mình, không lưu thông tin trong một hệ thống phân quyền tập trung
2.2.5
2.2.5.1 CAS ( Central Authentication Service )
Trang 37
:
2EE
Trang 38