Ví dụ: Người dùng sử dụng nhiều dịch vụ: Email,forum,web…khi chưa có Single SignOn thì với mỗi dịch vụ ta phải nhập thông tin để xác thực.Khi một tổ chức đã thống nhất sử dụng Single Sig
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2CDiT Độc lập - Tự do - Hạnh phúc
PHIẾU NHẬN XÉT ĐÁNH GIÁ THỰC TẬP TỐT NGHIỆP
Họ và tên sinh viên thực tâp : Lê Thu Trang
Đơn vị thực tập : Viện công nghệ thông tin và truyền thông
Thời gian thực tập : Từ ngày 16/04/2012 đến ngày 27/05/2012
Xác nhận của cơ quan thực tập
(Ký, ghi rõ họ tên và đóng dấu)
Hà Nội , ngày tháng … năm 2012
Người đánh giá
(Ký và ghi rõ họ tên)
Trang 3VIỆN CÔNG NGHỆ THÔNG TIN
CDIT
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập Tự do Hanh phúc
ĐÁNH GIÁ KẾT QUẢ THỰC TẬP TỐT NGHIỆP
(Thời gian thực tập: Từ ngày 16/04/2012 đến ngày 27/05/2012 )
Họ và tên sinh viên: Lê Thu Trang
Lớp : C09HTTT
NỘI DUNG ĐÁNH GIÁ
1 Chấp hành kỷ luật: (Tốt, Trung bình, hoặc Yếu)
2 Ý thức học tập: (Tốt, Trung bình, hoặc Yếu)
3 Quan hệ, giao tiếp: (Tốt, Trung bình, hoặc Yếu)
4 Điểm ((Thang điểm 10)
Các ý kiến khác (nếu có:
Ngày tháng năm 20….
Giáo viên hướng dẫn thực tập
(Ký và ghi rõ họ tên)
Trang 4LỜI CẢM ƠN
Trong thời gian thực tập tại Viện Công nghệ Thông tin – CDIT, từ ngày 16/04/2012 đến27/05/2012 , em đã nhận được sự quan tâm chỉ bảo của các thầy cô, các cô chú và anh chịtại Viện để hoàn thành báo cáo thực tập tốt nghiệp này Em xin tỏ lòng biết ơn :
- Các thầy cô, các cô chú và các anh chị trong Viện Công nghệ Thông tin – CDIT đãquan tâm, giúp đỡ cung cấp cho em những kiến thức để em có thể hoàn thành báo cáothực tập tốt nghiệp
- Thầy Hoàng Cường đã tận tình hướng dẫn em trong suốt quá trình thực tập tại Viện
- Ban lãnh đạo Học viện Công nghệ Bưu Chính Viễn Thông, Phòng giáo vụ - Công táchọc sinh sinh viên đã giới thiệu cho em được thực tập tại Viện
Em xin chân thành cảm ơn và gửi đến thầy cô, các cô chú, anh chị ở Viện Công NghệThông Tin – CDIT,Thầy Hoàng Cường cũng như các thầy cô giáo trong Học Viện nhữnglời chúc tốt đẹp cả trong cuộc sống và trong công tác!
Em xin chân thành cảm ơn !
Trang 5MỤC LỤC
PHIẾU NHẬN XÉT ĐÁNH GIÁ THỰC TẬP TỐT NGHIỆP 2
LỜI CẢM ƠN 4
Phần A : GIỚI THIỆU CÔNG TY THỰC TẬP 6
I Chức năng 6
III Các lĩnh vực hoạt động 7
1.1.3 Đảo ngược Proxy SSO 14
1.1.4 Đăng xuất từ một đơn miền Single Sign-On Session 14
1.2.4 Đăng xuất từ một phiên đa miền SSO 18
Bước 5: CASify HelloWorld Servlet 24
Bước 6: Thả CAS Client jar vào servlets-examples 25
Phần C: NHẬT KÝ THỰC TẬP 30
Trang 6Phần A : GIỚI THIỆU CÔNG TY THỰC TẬP
I Chức năng
Được thành lập năm 1999 trong xu thế cạnh tranh và hội nhập toàn cầu, Viện Công nghệThông tin CDIT, với vai trò là đơn vị nghiên cứu phát triển hàng đầu trong lĩnh vực côngnghệ thông tin, xác định: việc lĩnh hội, đúc kết và phát huy tiềm năng, nội lực, làm chủcông nghệ là mục tiêu chiến lược nhằm thực hiện thành công định hướng gắn kết Nghiêncứu - Đào tạo - Sản xuất Kinh doanh CDIT đã duy trì, phát triển và chiếm lĩnh thị trườngtrong nước với các sản phẩm đáp ứng tiêu chí: Tiên tiến - Tương thích - Toàn cầu, thay thếsản phẩm nhập khẩu, nỗ lực đóng góp cho sự phát triển của mạng lưới bưu chính viễnthông và công nghệ thông tin Việt Nam, vươn mình hòa nhập với cộng đồng CNTT trongkhu vực và trên thế giới
Viện Công nghệ Thông tin CDIT được Tổng giám đốc Tổng Công ty Bưu chínhViễn thông Việt Nam ký quyết định thành lập số 636/QĐ.TCCB-LĐ ngày 22 tháng 3 năm
1999, trên cơ sở sắp xếp lại hai đơn vị thành viên của các đơn vị trực thuộc Học viện Côngnghệ Bưu chính Viễn thông :
Viện Nghiên cứu Phát triển Phần mềm thuộc Viện KHKT Bưu điện;
Viện Đào tạo Phát triển Phần mềm thuộc Viện Đào tạo BCVT1 (cũ)
Chức năng, nhiệm vụ
Viện Công nghệ Thông tin CDIT có nhiệm vụ: nghiên cứu, phát triển, triển khai sảnphẩm, chuyển giao công nghệ và đào tạo trong lĩnh vực Công nghệ Thông tin phục vụNgành Bưu chính Viễn thông và xã hội
Trang 7II Tổ chức
III Các lĩnh vực hoạt động
Viện Công nghệ Thông tin hoạt động trên năm lĩnh vực chính:
- Nghiên cứu khoa học công nghệ;
- Phát triển, triển khai công nghệ và sản phẩm;
- Sản xuất phần mềm và thiết bị;
- Tiếp nhận và chuyển giao công nghệ;
- Đào tạo và bồi dưỡng nhân lực
Trang 8PHẦN B: NỘI DUNG THỰC TẬP
Vấn đề đặt ra:
Quá nhiều thông tin đăng nhập (username và password) để nhớ.
Nhầm lẫn các thông tin giữa các ứng dụng
Phải nhập thông tin đăng nhập nhiều lần đối với từng ứng dụng khác nhau
Quá trình cấp phát tài khoản mới phức tạp
Quản lý thông tin truy cập của user
Hạn chế các truy cập trái phép
Triển khai các ứng dụng lớn (cấp độ enterpise)
Giải quyết vấn đề:
1 thông tin đăng nhập, dùng cho nhiều Web, Applications khác nhau
Đăng nhập 1 lần tại 1 ứng dụng, và có thể sử dụng các ứng dụng khác mà không cần đăng nhập lại trong 1 khoảng thời gian nhất định
Quản lý tập trung thông tin đăng nhập của user
Hạn chế được các truy cập trái phép
I Tìm hiểu Single Sign On
1 Khái niệm
Single Sign On: Người sử dụng dùng tài khoản đăng nhập chỉ một lần và có thể sửdụng nhiều ứng dụng trong cùng một tổ chức một cách liên tục mà không cần phải nhập lạithông tin cho mỗi ứng dụng
Trang 9Ví dụ: Người dùng sử dụng nhiều dịch vụ: Email,forum,web…khi chưa có Single Sign
On thì với mỗi dịch vụ ta phải nhập thông tin để xác thực.Khi một tổ chức đã thống nhất
sử dụng Single Sign On cho hệ thống của họ thì người dùng chỉ phải đăng nhập một lầnvào bất kì ứng dụng nào trong hệ thống thì khi dùng các ứng dụng khác người dùng khôngphải đăng nhập lại
2.Các khái niệm quan trọng của Single Singn On:
Xác thực: Quá trình xác minh danh tính của người dùng, làm cho chắc chắn rằngngười dùng là họ.Điều này có thể dựa trên thông tin đăng nhập và mật khẩu kết hợp ,hoặcthẻ thông minh,sinh trắc học…
Ủy quyền: Là một quy trình nhằm xác minh rằng một người dùng biết trước, có quyềnlực để thao tác một quá trình hoạt động nào đó hay không
Giấy chứng nhận: Là các chi tiết được cung cấp bởi một người dùng trong quá trìnhxác thực vào ứng dụng
Domain: Là sự nhận dạng vị trí của một máy tính trên mạng Internet nói cách khác tênmiền là tên của các mạng lưới, tên của các máy chủ trên mạng Internet
Bảo vệ dữ liệu: Dữ liệu của chúng cũng không cho tất cả mọi người có thể truy cập.Người dùng cần phải thông qua xác thực và ủy quyền trước khi truy cập vào một nguồn tàinguyên bảo vệ
Cookie: Cookie là các thông tin lưu trong máy tính thường được dùng để nhận ra ngườidùng khi viếng thăm một trang web Nó là những tập tin mà trang web gửi đến máy tínhcủa người dùng Các nội dung thực tế của một cookie có thể khác nhau tùy thuộc vào ứng
Trang 10dụng.Sau khi có một cookie, nếu người dùng duyệt để một ứng dụng khác nhau đó là mộtphần của Single Sign On,thông tin được lưu trong cookie sẽ được trình duyệt sử dụng đểtrực tiếp đăng nhập vào ứng dụng khác,nếu người sử dụng được phép truy nhập vào.
3 Ý nghĩa SSO
- Tránh việc nhớ nhiều thông tin đăng nhập (username & password) khi dùng nhiềudịch vụ
- Tiết kiệm thời gian khi tái lập lại mật khẩu cho một người dùng (identity user)
- Bảo mật tất cả các cấp độ của việc thoát hay truy xuất vào hệ thống
- Người phát triển ứng dụng không cần phải hiểu và thực hiện nhận dạng bảo mật trongứng dụng của họ
II Phân loại Single Sign On
Hầu hết các sản phẩm SSO có sẵn trên thị trường có thể được phân loại thành hai loại dựatrên kiến trúc:
1 Trên web (Enterprise SSO)
SSO trên web được sử dụng dưới các dạng:
Single Domain: Khi xác thực thành công vào domain.com, người dùng đồng thời được
xác thực vào các sub-domain.domain.com tồn tại
Multi Domain: Khi xác thực thành công vào facebook.com, người dùng đồng thời
được xác thực vào example.com
Các SSO được sử dụng phổ biến trên web hiện nay:
-OpenID: Hệ thống đăng nhập một lần không có tính tập trung Đối với những trang
web có sử dụng OpenID thì người sử dụng không cần phải nhớ các thông tin về username
và password cho riêng trang đó nữa Thay vào đó họ chỉ cần đăng ký trước 1 tài khoảnOpenID tại một trong những nhà cung cấp OpenID, hay thường gọi là i-broker DoOpenID không mang tính tập trung nên bất kỳ trang web nào cũng có thể sử dụng đượcOpenID như là một cách đăng nhập cho người dùng.Các hệ thống lớn đang sử dụng là :Yahoo,google,facebook…
Trang 11- Open Single Sign-On (OpenSSO) hoạt đông dựa trên Token: Là một sản phẩm open
source của SUN Nó là một sản phẩm đơn lẽ, kết hợp các tính năng của Sun Java System.Access Manager, Sun Java System Fedearation Manager và Sun System SAML v2 JavaPlugin
- Java Open Single Sign On ( JOSSO)
Trang 12- Central Authenticate Service (CAS) hoạt đông dựa trên Ticket.
1.1 Single Domain SSO
1.1.1 Xây dựng một đơn miền SSO
Sử dụng cookie để nhận diện user, cơ chế này cũng được sử dụng trong mô hình Multi Domain SSO
Web Server (hay Web Gate) gửi cookie đã được mã hóa cho browser sau khi xác thực thành công
Cookie này sẽ là chìa khóa sử dụng cho các xác thực tới các tài nguyên khác hoặc cho các xác thực có cùng cấp
Dựa theo mô hình Single Domain SSO của Oracle Access System.
Cookie thường được đặt tên “.domain.com”, bao gồm 2 phần:
o Phần mã hóa (sử dụng thuật toán AES, MD5…):
• Session ID – chuỗi ký tự xác nhận phiên hoạt động của user
• Distinguished Name – định danh của user
• Địa chỉ IP của client mà user đang sử dụng
• Thời gian khởi tạo cookie
• Lần cập nhật gần nhất của cookie
o Phần không mã hóa:
• Thời hạn sử dụng của cookie
• Domain mà cookie đó có hiệu lực
• Các flag khác như: SSL, HTTPonly…
Trong mô hình SSO của Oracle Access System, cookie này thường có tên là ObSSOCookie
Trong hình 2.1 , dòng chảy quá trình là như sau:
Trang 132 WebGate bảo vệ máy chủ này là một thách thức xác thực.
3 Người sử dụng trình bày các thông tin mà WebGate chuyển đến máy chủ truy cập
4 Access Server xác thực người sử dụng và qua ObSSOCookie.Và WebGate gửi ra page1.html cho người sử dụng
5 Yêu cầu người sử dụng page2.html trên host2.domain1.com
Sever này được bảo vệ bởi một WebGate và tên miền duy nhất một dấu hiệu được cấu hình giữa này WebGate và là một trong những đầu tiên ObSSOCookie được bao gồm trong yêu cầu
6 WebGate qua ObSSOCookie vào máy chủ truy cập, trong đó xác nhận các cookie
7 Trả về page2.html
Hình 2.1 Đơn miền SSO
1.1.2 Thiết lập đơn miền SSO
Nhiệm vụ tổng quan:
Cài đặt một máy chủ thư mục và máy chủ Web theo hướng dẫn của nhà cung cấp
1 Cài đặt và thiết lập một hệ thống quản lý Oracle làm việc truy cập
Trang 144 Thiết lập 1 WebGate thứ hai.
5 Cấu hình kiểm soát truy cập đến tài nguyên khác được bảo vệ bởi các WebGate thứ hai, một lần nữa bằng cách sử dụng
6 Chỉ định tên miền cookie cùng chính hai WebGates này
1.1.3 Đảo ngược Proxy SSO
Nếu bạn đang sử dụng một proxy ngược lại trong một cấu hình đăng nhập, hãy chắc chắn
để thiết lập các tham số ipvalidation sai hoặc để thêm các địa chỉ IP của proxy vào danh sách IPValidationExceptions trong cấu hình AccessGate Bạn cần phải làm điều này bởi vìproxy ngược lại che giấu địa chỉ IP của khách hàng
Trong một số trường hợp Reverse Proxy Apache không vượt qua ObSSOCookie các BEAWebLogic sau khi xác thực thành công Để tránh vấn đề này, sử dụng mẫu dựa trên xác thực thay vì cơ bản Trong LDAP khi sử dụng Reverse Proxy Apache với BEA WebLogic
1.1.4 Đăng xuất từ một đơn miền Single Sign-On Session
Theo mặc định, WebGate đăng nhập người dùng khi nhận được một URL có chứa "đăng xuất." (Bao gồm cả "."), Với các trường hợp ngoại lệ của logout.gif và logout.jpg Ví dụ, logout.html logout.pl Khi WebGate nhận được một URL với chuỗi này, giá trị của
ObSSOCookie được thiết lập để "đăng xuất."
WebGate cũng đối xử với bất kỳ URL được chỉ định như là một tín hiệu để đăng nhập người sử dụng đăng nhập một miền URL đăng xuất được cấu hình trong trang cấu hình AccessGate Nếu cấu hình không được chỉ định, thì hành vi mặc định được sử dụng
Ví dụ, bạn có thể cấu hình như sau đăng xuất URL:
Trang 15URL ví dụ đầu tiên, %lang% đại diện cho các thư mục cho một gói ngôn ngữ cụ thể.
Bạn có thể chỉ định nhiều đăng xuất URL Đối với mỗi yêu cầu trình duyệt, danh sách các URL đăng xuất cấu hình được quét để xác định xem người dùng sẽ được đăng xuất khỏi miền đăng nhập một lần Trên máy Unix, đăng xuất URL là trường hợp nhạy cảm
Số lượng của logout URL ảnh hưởng đến các hiệu suất hoạt động của WebGate
1.2 Multi domain Single Sign On
1.2.1 Khái niệm, nhiệm vụ
Multi Domain SSO cho phép người dùng truy cập vào nhiều domains/hosts sau 1 lần đăng nhập
Vd: Google.com, Windows Live Passport, Gate passport…
Tuy nhiên cookie không thể được thiết đặt cho across domains do Policy bảo mật của hầu hết browser
Chọn ra 1 domain làm Master Domain
Mỗi Web Gate của hệ thống đó sẽ redirect tới master domain
Master domain sẽ hoạt động như quy trình của Single Domain SSO, nó chính là
“proxy” để truyền tải cookie hợp lệ về cho mỗi domain có yêu cầu xác thực
Hình 2.2 Đa miền SSO
Trang 16Quy trình tổng quan:
1 Người sử dụng khởi tạo một yêu cầu cho một trang web từ một trình duyệt
Ví dụ, yêu cầu có thể được cho host1.domain1.com/page1.html
2 WebGate1 trên host1.domain1.com gửi yêu cầu xác thực lại thông qua trình duyệt của người sử dụng tìm kiếm của máy chủ xác thực chính
Trong ví dụ này, bạn đã chỉ định host2.domain2.com là máy chủ xác thực chính
3 Các yêu cầu chứng thực được gửi từ trình duyệt của người sử dụng máy chủ xác thực chính
Yêu cầu này chảy vào máy chủ truy cập Người sử dụng đăng nhập và
ObSSOCookie được thiết lập cho domain2.com Access Server cũng tạo ra một mã thông báo phiên họp với một URL có chứa ObSSOCookie
4 Các mã thông báo phiên và ObSSOCookie được trả lại cho trình duyệt của người dùng
5 Các mã thông báo phiên và ObSSOCookie được gửi đến host1.domain1.com
6 WebGate trên host1.domain1.com đặt ObSSOCookie cho tên miền riêng của mình (domain1.com) và đáp ứng yêu cầu ban đầu của người sử dụng
Trang 177 Nếu người dùng sau đó sẽ gửi một yêu cầu để host3.domain3.com, một bộ tương tự của chuyển hướng diễn ra để thiết lập các cookie cho tên miền đó.
Kể từ khi ObSSOCookie cho tên miền chính đã được thiết lập, người sử dụng sẽ không phải đăng nhập để domain3
1.2.2 Sử dụng Redirection để Kích hoạt tính năng Multi-Domain SSO
Đối với mỗi WebGate trong một cấu hình SSO đa miền, bạn cần phải xác định một chươngtrình xác thực với các quy tắc chuyển hướng Ví dụ, giả sử bạn có ba máy chủ xác thực, trong một lĩnh vực riêng biệt:
host2.domain2.com
Để cấu hình chuyển hướng
1 Từ Console Access Server, nhấp vào Truy cập Server Configuration, sau đó nhấp vào Quản lý xác thực
2 Nhấp vào một liên kết cho một chương trình xác thực
3 Trong lĩnh vực chuyển hướng Challenge, nhập vào máy chủ xác thực chính cho đăng nhập một lần duy nhất chương trình đa miền
4 Lặp lại các bước này cho WebGates trong từng miền trong chương trình SSO nhiều tên miền của bạn, và cho tất cả các hệ thống xác thực được bảo vệ tài nguyên trong các lĩnh vực này
Thủ tục này chuyển hướng các máy chủ trên các tên miền với máy chủ xác thực chính
Tiếp theo, bạn cần phải chắc chắn rằng ObSSOCookie có thể được thông qua giữa các WebGates trong một lĩnh vực cụ thể
Trang 185 Trong mỗi tên miền cá nhân, đảm bảo rằng mỗi WebGate được cấu hình để sử dụngcùng một tên miền cookie chính HTTP
6 Kiểm tra nhiều tên miền đăng nhập một lần
1.2.3 Kiểm tra Multi-Domain Single Sign-On
Để kiểm tra nhiều tên miền duy nhất đăng nhập vào cấu hình, thiết lập trình duyệt của bạn
để thông báo cho bạn khi bạn nhận được các tập tin cookie Nếu đơn đăng ký đang làm việc, bạn sẽ nhận được thông báo cookie phiên từ mỗi miền mà bạn đã cấu hình
1.2.4 Đăng xuất từ một phiên đa miền SSO
Khi bạn đăng nhập của một ứng dụng, truy cập hệ thống chỉ loại bỏ các ObSSOCookie miền hiện hành Ví dụ, nếu bạn đang đăng nhập vào DOMAIN1, DOMAIN2, và domain3,
và bạn đăng nhập từ DOMAIN1, chỉ ObSSOCookie cho DOMAIN1 được loại bỏ
Thời gian chờ của cookie luôn luôn được xác định bằng máy thực hiện việc chứng
thực Cho ví dụ, giả sử www.a.com lập một hết hạn cookie của một giờ, và www.b.com thiết lập một hết hạn cookie của 30 phút Một người sử dụng để www.b.com và được chuyển để www.a.com để xác thực Sau 30 phút cookie www.b.com hết hạn và người dùng
sẽ được chuyển hướng đến www.a.com Các cookie cho www.a.com là vẫn còn giá trị, do
đó, người sử dụng không được nhắc nhở để xác thực lại Www.b.com miền đặt một cookiemới với một giá trị thời gian chờ
Bạn có thể thiết lập giá trị thời gian chờ www.a.com được ít hơn của bất kỳ miền
khác Điều này đảm bảo rằng xác thực xảy ra bất cứ lúc nào một cookie của miền khác hết hạn Nhược điểm là nếu bạn thiết lập hết hạn www.a.com là quá ngắn, đơn đăng ký có thể không xảy ra bởi vì www.a.com của cookie có thể hết hạn trước khi nỗ lực tiếp theo của người sử dụng đăng nhập một lần Bạn cần xác định sự cân bằng giữa dấu hiệu duy nhất vềchức năng và chính sách hết hạn
2 Không trên nền tảng web
Các doanh nghiệp trong những ngày này thường có Microsoft Windows ® người sửdụng máy tính để bàn truy cập các ứng dụng doanh nghiệp đa dạng ,ứng dụng thường cóyêu cầu an ninh khác nhau và phải đăng nhập cho các ứng dụng khác nhau
SSO giữa Oracle Access Manager và IBM WebSphere Application Server.Phổ biếnnhất hiện nay là hệ thống của Microsoft sử dụng cho windows, Microsoft OfficeSharePoint Server