Nghiên cứu dịch vụ web để xây dựng hệ thống đăng nhập một lần
Việc mỗi tổ chức sở hữu và vận hành nhiều website ngày càng phổ biến trên thế giới. Tuy nhiên,
nó thường dẫn đến vấn đề một người dùng cần phải ghi nhớ nhiều tài khoản đăng nhập và mật
khẩu để đăng nhập vào các website khác nhau của cùng một tổ chức do cơ sở dữ liệu tồn tại độc
lập với nhau. Từ đó, vấn đề đăng nhập một lần cho các website trong cùng một tổ chức là một yêu
cầu phổ biến. Tác giả nghiên cứu đã xây dựng giải pháp và xây dựng hệ thống đăng nhập một lần
hoàn toàn mới, cung cấp các dịch vụ xác thực người dùng dựa trên cơ sở dữ liệu người dùng tập
trung. Hệ thống được xây dựng dựa trên việc khai thác tính độc lập đối với nền tảng của dịch vụ
web, khả năng chia sẻ cookie giữa các trình duyệt cũng như ứng dụng web. Nghiên cứu cũng tiến
hành triển khai ứng dụng thử nghiệm trên hệ thống đã được xây dựng.
Tóm tắt nội dung tài liệu: Nghiên cứu dịch vụ web để xây dựng hệ thống đăng nhập một lần
![Nghiên cứu dịch vụ web để xây dựng hệ thống đăng nhập một lần Nghiên cứu dịch vụ web để xây dựng hệ thống đăng nhập một lần](https://s1.tailieuvn.net/xb70nb5jd4llaq8g/thumb/2021/11/21/nghien-cuu-dich-vu-web-de-xay-dung-he-thong-dang-nhap-mot-la_xy6frnHI3l.jpg)
Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 27 - 33 27 NGHIÊN CỨU DỊCH VỤ WEB ĐỂ XÂY DỰNG HỆ THỐNG ĐĂNG NHẬP MỘT LẦN Nguyễn Trần Quốc Vinh1*, Nguyễn Văn Vương2 1Trường Đại học Sư phạm, Đại học Đà Nẵng 2Trường Đại học Kinh tế, Đại học Đà Nẵng TÓM TẮT Việc mỗi tổ chức sở hữu và vận hành nhiều website ngày càng phổ biến trên thế giới. Tuy nhiên, nó thường dẫn đến vấn đề một người dùng cần phải ghi nhớ nhiều tài khoản đăng nhập và mật khẩu để đăng nhập vào các website khác nhau của cùng một tổ chức do cơ sở dữ liệu tồn tại độc lập với nhau. Từ đó, vấn đề đăng nhập một lần cho các website trong cùng một tổ chức là một yêu cầu phổ biến. Tác giả nghiên cứu đã xây dựng giải pháp và xây dựng hệ thống đăng nhập một lần hoàn toàn mới, cung cấp các dịch vụ xác thực người dùng dựa trên cơ sở dữ liệu người dùng tập trung. Hệ thống được xây dựng dựa trên việc khai thác tính độc lập đối với nền tảng của dịch vụ web, khả năng chia sẻ cookie giữa các trình duyệt cũng như ứng dụng web. Nghiên cứu cũng tiến hành triển khai ứng dụng thử nghiệm trên hệ thống đã được xây dựng. Từ khóa: Xác thực người dùng; đăng nhập một lần; website; cookie; dịch vụ web. ĐẶT VẤN ĐỀ* Ngày nay, việc sở hữu và vận hành nhiều ứng dụng web đã trở nên phổ biến, đặc biệt là các tổ chức lớn. Các ứng dụng hoạt động độc lập với nhau, có thể được phát triển trên những nền tảng khác nhau. Người dùng phải thực hiện đăng ký thông tin và đăng nhập lại khi chuyển sang sử dụng ứng dụng khác. Tổ chức càng nhiều ứng dụng, người dùng càng phải nhớ một lượng lớn tên đăng nhập và mật khẩu khác nhau. Công việc này chiếm một khoản thời gian lớn của người dùng, làm giảm hiệu suất phục vụ của toàn hệ thống. Các nhà phát triển phải giải quyết hàng loạt vấn đề liên quan đến quản lý cơ sở dữ liệu người dùng và bảo mật ở các hệ thống khác nhau. Để giảm bớt thao tác của người dùng, tăng tính chuyên nghiệp cho hệ thống, xây dựng hệ thống đăng nhập một lần (ĐNML, Single Sign On – SSO) được đánh giá là giải pháp tốt nhất hiện nay. Đăng nhập một lần là quá trình xác thực phiên làm việc của người dùng, cho phép sử dụng một tên đăng nhập và mật khẩu để truy cập vào nhiều ứng dụng [1]. Sau khi được xác thực, người dùng có thể truy cập các ứng * Tel: 0914 780898, Email: ntquocvinh@gmail.com dụng khác mà không phải đăng nhập lại, các quyền được trao và thông tin người dùng được lưu giữ trong suốt phiên làm việc. Như vậy, hệ thống ĐNML vừa đảm bảo tính thuận tiện vừa tăng độ bảo mật khi sử dụng. Hơn nữa, việc quản lý tài khoản tập trung sẽ làm cho nhà quản trị chuyên tâm vào phát triển ứng dụng, công việc bảo mật sẽ do hệ thống ĐNML đảm nhận. Đối với người dùng, họ chỉ cần một tài khoản cho tất cả các ứng dụng. Tuy nhiên, hệ thống ĐNML gặp phải vấn đề đó là cơ chế bảo mật độc lập với nền của ứng dụng, hoạt động trên kiến trúc riêng biệt [2]. Điều này đặt ra vấn đề các ứng dụng phải hiểu được và chấp nhận các thông tin xác thực do ĐNML cung cấp. Đồng thời phải kiểm tra được tính chính xác của thông tin xác thực. CÁC HỆ THỐNG ĐNML TRÊN THẾ GIỚI Trên thế giới, có nhiều giải pháp ĐNML với nhiều phiên bản miễn phí và thương mại. Nổi bật nhất là hệ thống Central Authentication Service (CAS) và Oracle Enterprise Single Sign-on (Oracle ESSO). Hệ thống CAS do có đặc thù là mã nguồn mở nên cung cấp khả năng mở rộng cho nhà phát triển và được cộng đồng không ngừng bổ sung các tính năng mới. CAS client hỗ trợ các Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 27 - 33 28 ứng dụng được phát triển bằng nhiều ngôn ngữ như PHP, Java, .NET. Tuy nhiên, tất cả ứng dụng phải được phát triển bằng một ngôn ngữ chung nhất, đây chính là hạn chế lớn của hệ thống CAS. Khi người dùng chưa đăng nhập, i) ứng dụng sẽ yêu cầu CAS xác thực tài khoản do người dùng cung cấp; ii) sau khi xác thực thành công, CAS trả về cho trình duyệt các chuỗi ký tự ngẫu nhiên chứa dữ liệu bảo mật và bắt đầu bằng tiền tố nhất định gọi là các vé (Ticket). Mỗi vé có một ý nghĩa riêng, CAS sử dụng vé ủy quyền (Ticket-Granting Ticket - TGT) làm cơ sở cho CAS thực hiện ĐNML. Ngoài ra, CAS sử dụng vé dịch vụ (Service Ticket - ST) được tạo duy nhất cho mỗi ứng dụng. Vé dịch vụ được dùng một lần trong một phiên làm việc của người dùng; iii) ứng dụng gửi vé dịch vụ cho CAS để nhận về mã người dùng và tự động tạo phiên làm việc cho người dùng [3]. Trường hợp người dùng truy cập vào ứng dụng khi đã được CAS xác thực, i) ứng dụng sẽ gửi vé ủy quyền được lấy từ trình duyệt cho CAS để xác thực; ii) khi xác thực thành công, CAS sẽ gửi cho ứng dụng vé dịch vụ; iii) ứng dụng gửi vé dịch vụ cho CAS để lấy về thông tin mã người dùng và tự động tạo phiên làm việc cho người dùng [3]. Tất cả được xử lý thông qua các liên kết (URL) được trao đổi giữa các ứng dụng web và máy chủ CAS. Khác với hệ thống CAS, hệ thống Oracle ESSO là bản thương mại do Oracle phát triển. Hệ thống này là một giải pháp trọn gói cho việc xác thực và quản lý người dùng đối với tất cả các ứng dụng do Oracle cung cấp. Tuy nhiên, việc triển khai hệ thống này không hề đơn giản, tác động lớn đến hệ thống sử dụng do phải thay đổi phương thức truy cập hệ thống [4]. Bên cạnh đó, kinh phí để triển khai hệ thống này là khá lớn, chỉ phù hợp với số ít các doanh nghiệp sẵn sàng chi một số tiền lớn để triển khai. Oracle ESSO có cơ chế xác thực rất phức tạp, dựa trên các công nghệ quản lý đăng nhập (Logon Manager), khôi phục mật khẩu (Password Reset), quản lý khởi tạo xác thực người dùng và tự động tạo “chữ ký tắt” của người dùng (Kiosk Manager), quản lý xác thực (Authentication Manager), các công cụ dành cho quản trị viên (Provisioning Gateway). Oracle ESSO không chỉ cung cấp xác thực một lần cho ứng dụng nền web mà còn cho các loại ứng dụng khác [5]. Tại Việt Nam, nhu cầu về việc triển khai hệ thống quản lý ĐNML ngày càng trở nên cấp thiết và đã được triển khai ứng dụng ở nhiều nơi, chủ yếu là dựa trên các hệ thống có sẵn. Chẳng hạn, Đại học Đà Nẵng đã xây dựng và triển khai hệ thống quản lý đăng nhập tập trung, được công bố trong công trình [6]. Tuy nhiên, công trình này cũng mới chủ yếu tập trung giới thiệu tổng quan về ĐNML, giới thiệu mô hình hệ thống tổng quan và các kết quả triển khai ứng dụng, chưa chỉ ra được các công nghệ được ứng dụng cũng như cách thức ứng dụng các công nghệ, kỹ thuật khác nhau để xây dựng hệ thống ngoài thông tin về giao thức LDAP. Nghiên cứu này chỉ rõ kiến trúc của hệ thống, cụ thể cách thức ứng dụng công nghệ dịch vụ web [7, 8] cùng với kỹ thuật chia sẻ cookie giữa các ứng dụng web để xây dựng hệ thống ĐNML. Việc phân chia rõ ràng giữa quản lý xác thực và quản lý phân quyền cũng là yêu cầu phổ biến, nghiên cứu chỉ quan đến khía cạnh quản lý xác thực người dùng. XÂY DỰNG HỆ THỐNG ĐNML Các công nghệ được sử dụng Dịch vụ web Dịch vụ web (web service) là một tập các chuẩn đặc tả mở rộng khả năng của các chuẩn có sẵn như XML, URL và HTTP nhằm cung cấp chuẩn truyền thông giữa các hệ thống với nhau. Dịch vụ web cung cấp các phương thức giúp ứng dụng tại máy khách truy cập và sử dụng các dịch vụ như là một ứng dụng web thực sự. Về bản chất, dịch vụ web dựa trên XML và HTTP, trong đó XML làm nhiệm vụ mã hóa và giải mã dữ liệu và dùng SOAP để Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 27 - 33 29 truyền tải dữ liệu. Một đặc trưng quan trọng của dịch vụ web đó là không phụ thuộc vào nền tảng công nghệ nào, điều này được tác giả ứng dụng để truyền dữ liệu giữa các ứng dụng khác nhau. Trong hệ thống ĐNML được tác giả xây dựng, dịch vụ web đóng vai trò trung tâm của việc xử lý đăng nhập và quản lý dữ liệu tài khoản người dùng. Nhằm đảm bảo các yêu cầu đặt ra, hệ thống ĐNML cần cung cấp các dịch vụ cơ bản như: i) Dịch vụ LogOn cung cấp các phương thức truy cập thông tin tài khoản người dùng dựa trên tên đăng nhập và mật khẩu; ii) dịch vụ VerifySessionKey dùng để xác thực thông tin phiên làm việc của người dùng được gửi kèm yêu cầu của ứng dụng; iii) dịch vụ AutoLogin trả về thông tin người dùng dựa vào thông tin phiên làm việc; iv) dịch vụ LogOut hỗ trợ đăng xuất người dùng ở tất cả các ứng dụng; v) dịch vụ ChangePassword giúp người dùng thay đổi mật khẩu. Tất nhiên, để có thể sử dụng các dịch vụ web này, người dùng hoặc trình ứng dụng triệu gọi chúng phải cung cấp thông tin xác thực quyền sử dụng. Cookie và vấn đề truyền dữ liệu giữa các ứng dụng Cookie là một phần dữ liệu được lưu trữ trên trình duyệt của máy khách và tồn tại trong một khoảng thời gian nhất định do ứng dụng web quy định. Cookie được trình duyệt tự động gửi theo mỗi khi truy cập đến máy chủ web. Cookie của các ứng dụng khác nhau sẽ khác nhau. Việc lấy thông tin cookie từ một ứng dụng web khác là rất khó khăn, nhất là khi hai ứng dụng khác tên miền (domain). Trong nghiên cứu này, tác giả đã tiến hành tạo cookie theo cách thay đổi đường dẫn mặc định để cookie được tạo ra có thể dùng chung cho các ứng dụng có nhu cầu. Đây chính là cơ sở quan trọng cho việc xây dựng hệ thống ĐNML cho nhiều ứng dụng với tên miền khác nhau. SSL và kết nối HTTPS SSL (Secure Sockets Layer) là công nghệ bảo mật tiêu chuẩn để thiết lập một kết nối đã được mã hóa giữa một máy chủ và một máy khách [9]. Thông thường, dữ liệu được truyền qua lại giữa máy khách và máy chủ dưới dạng không được mã hóa, dữ liệu được truyền tải giữa hai nút mạng có thể được đọc và hiểu được bởi một bên thứ ba quan sát ở nút trung gian. Nếu dữ liệu được truyền qua kênh SSL, nó sẽ được mã hoá và bên thứ ba nằm ở nút trung gian sẽ không thể hiểu được nội dung thông điệp. HTTPS là giao thức HTTP trên nền SSL/TSL. Tất cả dịch vụ của hệ thống ĐNML được xây dựng trong phạm vi nghiên cứu được yêu cầu sử dụng SSL. Mọi kết nối từ máy khách đến hệ thống ĐNML đều được thiết lập bằng giao thức HTTPS. Việc mã hoá và giải mã được thực hiện theo chứng chỉ số SSL. Nếu chứng chỉ được cấp bởi một tổ chức có uy tín và được chấp nhận rộng rãi trên thế giới, chứng chỉ sẽ được trình duyệt web cũng như các ứng dụng tự động chấp nhận. Nếu chứng chỉ SSL được tạo ra bởi các cá nhân hoặc tổ chức chưa được công nhận rộng rãi trên thế giới, người dùng phải thực hiện thao tác xác nhận chứng chỉ số này khi duyệt web. Tuy nhiên, với ứng dụng web truy cập đến dịch vụ web, cần phải lập trình xử lý để mặc định nó luôn luôn tự động xác nhận chứng chỉ SSL của máy chủ dịch vụ web mà không chờ đợi vào thao tác thủ công của con người. Thiết kế hệ thống Mô hình xác thực người dùng Hệ thống ĐNML dùng một chuỗi ký tự được sinh ra ngẫu nhiên và không trùng nhau giữa các phiên làm việc của người dùng, gọi là SessionKey, để nhận biết phiên làm việc của người dùng. Khi người dùng truy cập vào các trang có yêu cầu xác thực, ứng dụng sẽ gọi các dịch vụ của hệ thống ĐNML. Trong trường hợp SessionKey không tồn tại, hoặc không hợp lệ, ứng dụng sẽ chuyển người dùng đến trang đăng nhập. Vậy, để được xác thực, người dùng cần phải có tài khoản và mật khẩu hợp lệ hoặc là SessionKey hợp lệ. Hình 1 mô tả quá trình xác thực người dùng. Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 27 - 33 30 Browser Ứng dụng domain1.udn.vn Hệ thống SSO sso.udn.vn Hệ thống Quản lý người dùng UserManager Gửi thông tin đăng nhập Kiểm tra tài khoản với thông tin đăng nhập [tài khoản không tồn tại] Thông báo đăng nhập không thành công [tài khoản tồn tại] Tạo SessionKey Lưu SessionKey vào cơ sở dữ liệu Gọi dịch vụ kiểm tra thông tin đăng nhập Yêu cầu SessionKey [Tồn tại SessionKey] Gọi dịch vụ xác thực SessionKey Kiểm tra tài khoản với giá trị SessionKey [SessionKey không tồn tại] Chuyển đến trang đăng nhập [SessionKey tồn tại] Xóa cookie Gọi dịch vụ lấy thông tin người dùng Tạo phiên làm việc cho người dùngChuyển về trang người dùng yêu cầu Cập nhật thời hạn SessionKey của phiên làm việc Tìm kiếm người dùng với SessionKey Lưu SessionKey vào cookie của trình duyệt Gửi SessionKey thông qua cookie Hình 1: Sơ đồ mô tả quá trình xác thực người dùng Ban đầu, trình duyệt không có bất kỳ cookie nào dùng cho việc xác thực với dịch vụ ĐNML. Vì vậy, khi người dùng truy cập vào trang web có yêu cầu xác thực ở bất kỳ hệ thống domain1.udn.vn hoặc domain2.udn.vn đều được yêu cầu nhập thông tin người dùng tại trang đăng nhập của mỗi hệ thống. Một khi người dùng đăng nhập thành công vào hệ thống, cookie chứa thông tin xác thực cho người dùng sẽ được tạo và được gửi đến trình duyệt web. Bấy giờ, nếu người dùng truy cập vào bất cứ hệ thống domain1.udn.vn hoặc domain2.udn.vn, trình duyệt sẽ gửi cookie xác thực đến ứng dụng web. Các ứng dụng web sẽ nhận cookie và gửi SessionKey đến hệ thống sso.udn.vn. Nó sẽ kiểm tra và gửi thông tin người dùng về cho ứng dụng web yêu cầu, gia hạn thời gian cho phiên làm việc nếu SessionKey hợp lệ. Ứng dụng web sẽ cập nhật và gửi cookie mới cho trình duyệt web để nó gửi đến máy chủ web trong lần truy cập sau của người dùng. Mô hình đăng xuất một lần (Single Sign Out). Để kết thúc phiên làm việc, người dùng cần yêu cầu chức năng đăng xuất từ một hệ thống bất kỳ. Dịch vụ ĐNML sẽ được gọi để hủy SessionKey và xóa phiên làm việc của người dùng. Hình 2 mô tả chức năng đăng xuất một lần. Người dùng khi đăng xuất tại một hệ thống bất kỳ thì các hệ thống khác cũng tự động hủy phiên làm việc của người dùng. Lúc này, mọi thông tin đăng nhập của sẽ bị xóa, người dùng sẽ phải đăng nhập lại để bắt đầu phiên làm việc mới. Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 27 - 33 31 Trình duyệt Browser Ứng dụng domain1.udn.vn Hệ thống SSO sso.udn.vn Hệ thống Quản lý người dùng UserManager Yêu cầu đăng xuất Lấy giá trị SessionKey Kiểm tra SessionKey [Tồn tại SessionKey] Gửi yêu cầu đăng xuất Xóa SessionKey trong CSDL Chuyển đến trang đăng nhập Xóa SessionKey trên trình duyệt Gửi SessionKey thông qua cookie Hình 2: Mô hình Đăng xuất một lần Ứng dụng asp.udn.vn IP: 192.168.20.9 Hệ thống SSO sso.udn.vn IP: 192.168.8.30 Ứng dụng php1.udn.vn php2.udn.vn IP: 192.168.3.3 IP: 192.168.7.10 Hình 3: Sơ đồ thử nghiệm hệ thống ĐNML CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ Hệ thống ĐNML được xây dựng trong phạm vi nghiên cứu đã được triển khai ứng dụng thành công tại Trường Đại học Kinh tế - Đại học Đà Nẵng từ tháng 5/2013 cho các ứng dụng web trên các máy chủ web riêng biệt, đó là các website được xây dựng dựa trên nền tảng Apache/PHP tapchikhkt.due.udn.vn, hoithao.due.udn.vn và kh.due.udn.vn và tại Trường Đại học Sư phạm – Đại học Đà Nẵng từ tháng 11/2013 cho các website scv.ued.udn.vn, conf.ued.udn.vn và jse.ued.udn.vn. Để kiểm tra khả năng thích ứng với các nền tảng lập trình khác nhau, các tác giả đã xây dựng, thử nghiệm kết hợp thành công một ứng dụng trên nền tảng .NET. Sơ đồ các ứng dụng thử nghiệm hệ thống như hình 3. Ứng dụng .NET gồm hai trang chính: Trang đăng nhập và trang hiển thị thông tin người dùng. Kịch bản thử nghiệm được mô tả như sau: Khi truy cập vào trang hiển thị thông tin người dùng, nếu chưa đăng nhập thì sẽ chuyển về trang đăng nhập. Nếu người dùng đã đăng nhập thì sẽ được chuyển tự động đến trang thông tin người dùng. Sau đó, người dùng có thể truy cập ở các ứng dụng còn lại mà không cần đăng nhập. Hệ thống ĐNML được xây dựng đã hoàn chỉnh các chức năng và giải quyết các vấn đề xác thực người dùng tập trung và ĐNML cho các ứng dụng. Ngoài ra, hệ thống còn đảm Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 27 - 33 32 bảo được tính bảo mật trong quá trình truyền dữ liệu giữa ĐNML và các ứng dụng. Hệ thống ĐNML do các tác giả đề xuất về cơ bản đã giải quyết được các hạn chế mà các hệ thống ĐNML hiện có. Các dịch vụ do hệ thống ĐNML cung cấp có thể được sử dụng trên nhiều nền tảng khác nhau với các ngôn ngữ lập trình như .NET, Java, PHP, Việc triển khai hệ thống ĐNML cũng trở nên đơn giản bởi vì mọi thứ được thực hiện qua dịch vụ web. Nhà phát triển chỉ cần triệu gọi các dịch vụ của ĐNML trong ứng dụng của mình, việc còn lại do ĐNML thực hiện. Trong phạm vi bài viết này, tác giả đi sâu về giải pháp máy chủ ĐNML không cung cấp giao diện đăng nhập. Việc đăng nhập được thực hiện trên giao diện của các ứng dụng web sử dụng dịch vụ ĐNML. Tuy nhiên, hệ thống cũng cung cấp khả năng cấu hình để việc đăng nhập được thực hiện chỉ trên giao diện của máy chủ ĐNML bằng cách chuyển người dùng đến giao diện đăng nhập trên máy chủ ĐNML. Với cấu hình này, các ứng dụng web sử dụng dịch vụ sẽ không đọc được mật khẩu của người dùng. Trong mọi trường hợp, máy chủ ĐNML chỉ quản lý về việc xác thực người dùng. Các ứng dụng tự quản lý về việc phân quyền sử dụng hệ thống của mình. KẾT LUẬN Trong phạm vi nghiên cứu, tác giả đã xây dựng hệ thống ĐNML hoàn toàn độc lập với các hệ thống và các công bố trước đây bằng ngôn ngữ PHP và dịch vụ web. Hệ thống cung cấp các dịch vụ xác thực người dùng và ĐNML cho nhiều ứng dụng trong cùng một tổ chức. Tác giả cũng đã xây dựng thành công giải pháp dựa trên việc sử dụng dịch vụ web và chia sẻ cookie giữa các ứng dụng web khác nhau được xây dựng trên các nền tảng khác nhau, cũng như xây dựng thành công hệ thống quản lý ĐNML và triển khai ứng dụng thành công trên nhiều ứng dụng web tại Trường Đại học Kinh tế - Đại học Đà Nẵng từ tháng 5/2013 và Trường Đại học Kinh tế - Đại học Đà Nẵng từ tháng 11/2013. Hệ thống hoạt động hoàn toàn độc lập với nền tảng công nghệ dung để xây dựng các ứng dụng. Tuy nhiên, tác giả chưa thực hiện nghiên cứu so sánh giữa hệ thống xây dựng được với các hệ thống khác về mặt hiệu năng. TÀI LIỆU THAM KHẢO 1. Chris Waynforth, “Definition single sign-on (SSO)”, Information Security Magazine Online, < ngle-sign-on> (truy cập ngày 11/2/2014). 2. Hồ Văn Hương, Đào Thị Ngọc, “Ứng dụng hệ thống kiểm soát truy nhập mạng theo mô hình truy nhập một lần”, Tạp chí An toàn thông tin, < CatID=8ab90f49-a562-4157-a607- d2474bf129a9&NewsID =1caffb79-e759-4855- 91fc-76840dfc 5424> (truy cập ngày 11/2/2014).. 3. Trần Nghi Phú, “Cơ chế Single Sign On phần 2”, < com/2013/06/portal-co-che-single-sign-on- 2.html> (truy cập ngày 11/2/2014).. 4. “Dịch vụ và giải pháp chứng thực một lần Oracle Single Sign On (SSO)”, sso.html (truy cập ngày 11/2/2014). 5. Oracle Corporation, Oracle Enterprise Single Sign-on Technical Guide, USA, June 2009. 6. Mai Trần Trung Hiếu*, Trịnh Công Duy, Hồ Phan Hiếu, “Nghiên cứu kiến trúc và xây dựng hệ thống chứng thực tập trung cho Đại học Đà Nẵng”, Tạp chí Khoa học và Công nghệ Đại học Đà Nẵng, số 1(74).2014. 7. Robert Daigneau, Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services, Pearson Education, 2012. 8. Võ Trung Hùng, Nguyễn Thị Quỳnh Lâm, “Nghiên cứu ứng dụng web service xây dựng hệ thống một cửa điện tử”, (truy cập ngày 11/03/2014). 9. Hồng Phúc, Nguyễn Ngọc Tuấn, Công nghệ bảo mật, Nhà xuất bản Thống kê, 2005. Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 27 - 33 33 SUMMARY BUILDING A SYSTEM FOR SINGLE SIGN ON BASED ON THE WEB SERVICE Nguyen Tran Quoc Vinh1*, Nguyen Van Vuong2 1College of Education – Da Nang University, 2College of Economy – Da Nang University There is an increasing trend around the world that one organization owns and operates several websites. However, it often leads to problem that a user needs to remember multiple login accounts and passwords to log into different sites within the same organization due to database existing independently from each other. Thus, one single sign-on to websites within the same organization is commonly requested. Within the scope of the article, the authors propose solutions and building system of single sign-on services based that provide services of user authentication based on concentrated user database. The system is built based on the exploitation of the independence of the foundation of web services, the ability to share cookies between browsers and web applications. The paper also conducts application testing for the sign-on system that has already been built. Key words: User authentication; single sign on; website; cookie; web service. Ngày nhận bài:30/5/2014; Ngày phản biện:12/6/2014; Ngày duyệt đăng: 25/8/2014 Phản biện khoa học: TS. Huỳnh Công Pháp – Đại học Đà Nẵng * Tel: 0914 780898, Email: ntquocvinh@gmail.com
File đính kèm:
nghien_cuu_dich_vu_web_de_xay_dung_he_thong_dang_nhap_mot_la.pdf