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.
7 trang |
Chia sẻ: trungkhoi17 | Lượt xem: 554 | Lượt tải: 0
Bạn đang xem 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, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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
Các file đính kèm theo tài liệu này:
- nghien_cuu_dich_vu_web_de_xay_dung_he_thong_dang_nhap_mot_la.pdf