B GIÁO D
O
I H C DÂN L P H I PHÒNG
-------o0o-------
ÁN T T NGHI P
NGÀNH CÔNG NGH THÔNG TIN
H I PHÒNG 2013
I H C DÂN L P H I PHÒNG
-------o0o-------
TÌM HI
PM TL N
(SINGLE SIGN ON) VÀ TH NGHI M D A TRÊN
N PHPCAS
I H C DÂN L P H I PHÒNG
-------o0o-------
TÌM HI
PM TL N
(SINGLE SIGN ON) VÀ TH NGHI M D A TRÊN
N PHPCAS
ng d n:Th.s Bùi Huy Hùng
p m t l n (single sign on) và th nghi m
NHI M V
TÀI
1. N i dung và các yêu c u c n gi i quy t trong nhi m v
tài t t nghi p
a. N i dung
Tìm hi u v
p m t l n (Single Sign On).
Tìm hi u v CAS (Central Authentication Service).
Th nghi
phpCAS.
t CAS, ki m th v i website PHP d
Nghiêm túc th c hi n các nhi m v và n
n
ng d n.
b. Các yêu c u c n gi i quy t
Lý thuy t
N
ng d n:
Tìm hi u v Single Sign On d a trên Central Authentication Service
Th nghi m v i website PHP s d
n phpCAS
ng d n th hai:
H
H c hàm, h c v
N
ng d
tài t t nghi
Yêu c u ph
n nhi m v
n nhi m v
Sinh viên
Cán b
ng d
Th.s Bùi Huy Hùng
H
HI
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
3.
m c a cán b
ng d n:
m ghi b ng s và ch )
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
Cán b
ng d n chính
(Ký, ghi rõ h tên)
PH N NH
T T NGHI P
A CÁN B CH M PH N BI
tài t t nghi p (v các m
th c t ).
thuy
n, c n thi t trong nh
cv
em có
tài t t nghi p c a mình.
c bi t em xin bày t lòng bi
Hùng, th y
c nh t t i th y giáo Ths. Bùi Huy
ng d n, ch b o t n tình trong su t th
tài t t nghi p.
Em xin c
y
tr em r t nhi
Con xin g
n cha m l
b o
án.
1
án t t nghi p
p H i Phòng
M CL C
L IC
.......................................................................................................................1
M C L C ............................................................................................................................2
DANH M C HÌNH .............................................................................................................4
DANH M C B NG.............................................................................................................6
DANH SÁCH CH
L I NÓI
VI T T T .........................................................................................7
U......................................................................................................................8
I THI U V
P 1 L N (SINGLE SIGN ON). 9
1.1. T ng quan v SSO. [1]........................................................................... 9
1.2. L i ích mà SSO mang l i. ...................................................................... 9
1.3. M t s v
ng g p khi tri n khai SSO..................................... 10
2.5.1. phpCAS requirements. .................................................................. 41
2.5.2 phpCAS examples.......................................................................... 43
2.5.3. phpCAS logout.............................................................................. 44
2.5.4. phpCAS troubleshooting............................................................... 45
2.6. V
v b o m t cho SSO................................................................. 46
C NGHI M. .....................................................................................48
t h th ng. .................................................................................. 48
3.1.1.
u ki n c n thi t. ...................................................................... 48
3.1.2. Gi i thi u...................................................................................... 48
3.1.3. Cài d t CAS-server. ..................................................................... 49
3.1.4. Tích h p CAS client vào h th ng............................................... 64
3.2. Các pha trong h th
p......................................... 70
K T LU N.........................................................................................................................75
TÀI LI U THAM KH O.................................................................................................76
PH L C............................................................................................................................77
Ph l c A: CAS ph n h
Ph l c B: Chuy
XML.................................................... 77
Hình 2.5: logout flow. ..................................................................................... 40
Hình 2.6: Nguyên t c ho
ng phpCAS. ..................................................... 43
v trí CAS trong h th ng m ng. .......................................... 47
Hình 3.1: T i RubyInstaller............................................................................. 49
c1. .......................................................... 50
c2. .......................................................... 50
c 3. ......................................................... 51
c4. .......................................................... 52
Hình 3.6: Gi i nén Development Kit .............................................................. 52
c 5. ......................................................... 53
Hình 3.8: Cài d t Bunlde................................................................................. 53
Hình 3.9: T i mã ngu n RubyCAS................................................................. 54
Hình 3.10: Tri
c1. ........................................................ 54
Hình 3.11: T
i dùng cho RubyCAS xác th c........................... 57
Hình 3.12: T
i dùng cho RubyCAS xác th c 2........................ 58
Hình 3.13: Tri
c 2. ....................................................... 58
Hình 3.14: Tri
c 3. ....................................................... 59
Hình 3.15: Tri
c 4. ....................................................... 59
Hình 3.16: Tri
c 5. ....................................................... 60
Hình 3.17: Ki m th
t RubyCAS. .......................................... 63
Hình 3.18: C u trúc b ng casserver_lt ............................................................ 63
- CT1301
5
án t t nghi p
B
B
B
B
B
B
B
p H i Phòng
ng 1.1: Danh sách các gi i pháp SSO......................................................... 11
ng 2.1: T ng h p các URI. ......................................................................... 27
ng 2.2: Danh sách tham s phpCAS. .......................................................... 44
ng 3.1: Thông tin table casserver_lt............................................................ 60
ng 3.2: Thông tin table casserver_pgt......................................................... 61
ng 3.3: Thông tin table casserver_st. .......................................................... 61
ng 3.4: Thông tin table casserver_tgt.......................................................... 62
- CT1301
6
Hypertext Transfer Protocol Secure
SSL
Secure Sockets Layer
ST
Service Ticket
PT
Proxy Ticket
LT
Login Ticket
PGT
Proxy-granting ticket
PGTIOU
Proxy-granting ticket IOU
TGTIOU
Ticket -granting ticket IOU
nhi u tài kho n, m t kh u cho các d ch v h
u này s x y ra nhi u r i
i dùng ph i ghi nh các tài kho
a, các ng d ng
và d ch v công ngh thông tin ngày càng nhi
ng. Do v y nhu c
nh p m t l n cho các ng d ng và d ch v này là không th thi u.
l n (Single Sign On)
pm t
c nhi u t ch c, công ty trên th gi i nghiên c u và
phát tri n, tuy nhiên t i Vi
c còn khá m i.
c tìm hi u và th c nghi m h th
nh
p m t l n. V i
c, em hy v ng s
[1]
SSO là m
xác th c yêu c
v i m t tài kho n và m t kh
vi c (session).
p vào ch m t l n
truy c p vào nhi u ng d ng trong 1 phiên làm
Hình 1.1: Single sign on là gì?
1.
p m t l n (SSO), m
is d
i nh p các
tài kho n và m t kh u cho t ng ng d ng m i khi h
p vào các ng d ng
khác nhau ho c các h th ng trong cùng m
u này rõ ràng có
th t n nhi u th
c bi
ng doanh nghi
i gian
là ti n b
i gian là lãng phí b i vì nhân viên ph
p m i khi h
truy c p vào m t h th ng m i t máy tính c a h .
c th c hi n thông qua m t môbi t ho
p1l nn
Trong khi SSO là r t ti n l i, m t s nh n th
tv
an ninh
c a riêng mình. N u h th ng SSO b t
t k t n công có quy n truy
c p không gi i h n cho t t c các ng d ng ch ng th c c a các module SSO.SSO
ng là m t d án l n c n l p k ho ch c n th
c khi th c hi n.
1.
- Có ph i n u s d ng SSO s c i thi n v
b o m t?
Xin tr l i r ng:
p m t l n ( SSO ) là m
i. SSO t nó không th c s
c i thi n b o m t và trên th c t , n u không tri
b om
c s d ng nhi
i s d ng thu n ti n.
làm gi m
th ng c a công ty nhân, v i m i m t yêu c u m t kh u riêng c a
án t t nghi p
c ng,
p H i Phòng
m b o t t c các xác th
theo các ch ng ch
h th ng SSO. H th
u tiên thông qua máy ch SSO,
xác th c các ng d ng c th
i ph i l p k ho ch c th và chi ti
c
ký v i
ki
n truy c
ch
i các h th
ph n c ng thích h p thì nó s
o m t).
Ngoài ra, h th
c
ng
i s d ng ch c
p1l
s d ng nhi u ng
-
B o m t: B i vì ch có m
p m t l n, SSO có th lo i b nh ng
r i ro v n có trong vi c ghi nh nhi u username/password.
Hai r i ro chính là:
nh
-
B o m t: N u m t k xâm nh p làm t n h i tài kho n c
i dùng
ho c m t kh u, k xâm nh p có th có r ng rãi và d dàng truy c p vào
r t nhi u ng d ng.
-
Chi phí: tri n khai SSO có th t n kém, c v
nhân l
tri n khai.
mua và ngu n
Lo i hình
N n t ng
Mô t
Client-side
implementation
Accounts &
SSO
Nokia, Intel,
with plugins for
various
Mi n phí
services/protoc
ols
webSSO to
Novell Access
NetIQ
Manager
browser based
applications
with rules,
policies and
Claims-based
system and
application
federation
Yes
Protocol and
SSO
server/client
implementation
SSO for
12
án t t nghi p
p H i Phòng
Tên s n
Nhà phát
ph m
tri n
sign on
Microsoft
FreeIPA
Red Hat
HP IceWall
SSO
HewlettPackard
Development
Company,
L.P.
- CT1301
Mô t
Michigan
University
System
(DACS)
Facebook
connect
N n t ng
Facebook SSO
to third parties
Tên s n
Nhà phát
ph m
tri n
LTPA
IBM Tivoli
Identity
Manager
Janrain Federa
te SSO
JBoss SSO
Lo i hình
IBM
Mô t
i
IBM
i
Microsoft
account
JOSSO
Mi n phí
Single Sign-On
Server
M.I.T.
Protocol
Computer
network
authentication
protocol
Microsoft
Mi n phí và
i
(Microsoft bây
gi thu hút các
trang web m
s d ng h th ng)
Microsoft
single sign-on
Single sign-on
Numina
Application
Framework
OneLogin
Okta
OpenAM
Numina
Solutions
i
Yes
system for
Windows
(OpenID RP &
OP, SAML IdP,
and proprietary)
OneLogin
Inc.
i và
Mi n Phí
Yes, used in
management,
conjunction
entitlements
withOpenDJ and
and federation
OpenIDM
server platform
15
án t t nghi p
p H i Phòng
Tên s n
Nhà phát
ph m
tri n
Lo i hình
Persona
Mozilla
Mi n phí
Enterprize
Single-Sign-On
i
Protocol
XML-based
open standard
protocol
Mi n phí
SAML-based
open source
access control
OpenID-based
SSO for
Launchpad and
Ubuntu services
i và
mi n phí
Mi n phí
Yes
nhu c u công vi c c a mình.
M t ph n m m áp d ng lo i gi y phép mà cho phép b t c ai s d
i
m i hình th c, có th là truy c p, ch nh s
i các phiên b n
khác nhau c a mã ngu n ph n m
thu t ng
l i chính là s mi
c g i là open-source software. Nhìn chung,
lôi cu n các nhà kinh doanh, m
u thu n
i dùng có quy n "s h u h th ng".
Ti n ích mà opensource mang l i chính là quy n t do s d
cho m i m
nt
nghiên c u c u trúc c
ng trình
nh s a
phù h p v i nhu c u, truy c p vào mã ngu n, quy n t do phân ph i l i các phiên
b n cho nhi
i, quy n t do c i ti
ng b n c i
ti n vì m
ng.
2.
t máy ch
d li u, nó không có
giao di n HTTP riêng c
p v i m t ng d ng web.
Khi client truy c p m t ng d ng mong mu
xác th c v i nó, ng d ng
chuy
n CAS. CAS xác nh n tính xác th c c
ng là b ng
cách ki
i dùng và m t kh
iv im
d li u (ch ng h
MYSQL/PGSQL). N u xác th c thành công, CAS tr client v ng d
thông qua 1 service ticket(ST). ng d
n ticket b ng cách liên
- CT1301
17