Tìm hiểu về SSL và ứng dụng trên web sever - Pdf 13

1
®¹i häc th¸I nguyªn
Trêng ®¹i häc c«ng nghÖ th«ng tin & truyÒn th«ng
BÁO CÁO
AN NINH MẠNG
§Ò tµi :
TÌM HIỂU VỀ SSL VÀ ỨNG DỤNG TRÊN WEB SEVER
GVHD : Th.S NGUYỄN ĐỨC BÌNH
Sinh viên thực hiện :
NGUYỄN CÔNG LONG
ĐỖ VĂN TRUYỀN
Lớp : An Ninh Mạng N02
Th¸i Nguyªn, th¸ng 05 n¨m 2012
2
MỤC LỤC
LỜI NÓI ĐẦU…………………………………………………………………….2
I. Giới thiệu về SSL…………………………………………………………… 3
I.1 Lịch sử phát triển của giao thức SSL……………………………………………………3
I.1.1 Tại sao sử dụng SSL?………………………………………………………………3
I.1.2 Giao thức SSL là gì?……………………………………………………………… 4
I.1.3 Các phiên bản của SSL………………………………………………………… 4
I.2 Cấu trúc của giao thức SSL…………………………………………………………… 5
I.2.1 Giao
thức
SSL
Record
………………………………………………………………6
I.2.2 Giao
thức
SSL Change Cipher Spec……………………………………………… 8
I.2.3 Giao

động vào hay là lộ mất mát thông tin…vv
Để khắc phục những hạn chế đó người ta đã phát triển nên các giao thức giúp phần nào hạn chế
điều đó. Trong đó biết tới một giao thức góp phần tối ưu công việc bảo mật thông tin trên nền
World Wide Web. Đó là giao thức SSL (viết tắt Secure Sockets Layer)
Hôm nay nhóm em xin trình bày những hiểu biết về giao thức SSL cũng như ứng dụng của nó
trên Web Server.
4
“ Tìm hiểu SSL và ứng dụng trên web sever ”
Đề tài có th ể còn nhi ều thi ếu sót m ong
Thầy và
các bạn đóng góp
ý
kiến để
đề
tài được hoàn
t
h
i
ện
hơn.Chúng em xin
cảm ơn
sự
hướng dẫn
của
Thầy Ths. Nguyễn Đức Bình
đã
g
i
úp chú ng em
hoàn thành đề

i
ển nhanh chóng của công nghệ đã mang
lại
nhiều
t
i

n
ích
cho
ng
ườ
i
dùng như ng
đồng
t
hờ
i
cũng đặt
ra
một nhu cầu hết sức cấp thiết
về sự
an toàn

bảo mật
.Và SSL
chính
là giải
pháp tốt nh ất
h

chắc rằng bạn đang trao
đổ
i
thông
t
i
n
với
đúng đối tượng cần trao
đổi.
+ Dữ liệu
mạng có thể
bị
chặn
,vì vậy
dữ
liệu
có thể
bị 1
đối tượng thứ
3
khác đọc
t
r
ộm
,
thường được biết
đến
như attacker
.

- SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ trợ cho rất nhiều
ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên dưới các giao thức ứng dụng tầng
cao hơn như là HTTP (Hyper Text Transport Protocol), IMAP ( Internet Messaging Access
Protocol) và FTP (File Transport Protocol).
=> Để đảm bảo tính bảo mật thông tin trên internet hay bất kì mạng TCP/IP nào thì SSL
(Secure Socket Layer) ra đời kết hợp với những yếu tố sau để thiết lập giao dịch an toàn:
*Xác thực: đảm bảo tính xác thực của trang mà bạn sẽ làm việc ở đầu kia của kết nối. Cũng
như vậy, các trang Web cũng cần phải kiểm tra tính xác thực của người sử dụng.
*Mã hoá: đảm bảo thông tin không thể bị truy cập bởi đối tượng thứ ba. Để loại trừ việc
nghe trộm những thông tin “ nhạy cảm” khi nó được truyền qua Internet, dữ liệu phải được mã
hoá để không thể bị đọc được bởi những người khác ngoài người gửi và người nhận.
*Toàn vẹn dữ liệu: đảm bảo thông tin không bị sai lệch và nó phải thể hiện chính xác thông
tin gốc gửi đến.
I.1.3 Các phiên bản của SSL
- Giao
thức
SSL
ban đầu được phát
t
r
i

n
bở
i
N
e
t
sc
ape

* SSL 1.0: được sử dụng nội bộ chỉ bởi Netscape Communications. Nó chứa một số
khiếm khuyết nghiêm trọng và không bao giờ được tung ra bên ngoài.
* SSL 2.0: được kết nhập vào Netscape Communications 1.0 đến 2.x. Nó có một số
điểm yếu liên quan đến sự hiện thân cụ thể của cuộc tấn công của đối tượng trung gian.
Trong một nỗ lực nhằm dùng sự không chắc chắn của công chúng về bảo mật của SSL,
Microsoft cũng đã giới thiệu giao thức PCT cạnh tranh trong lần tung ra Internet Explorer
6
đầu tiên của nó vào năm 1996.
*SSL 3.0: Netscape Communications đã phản ứng lại sự thách thức PCT của Microsoft
bằng cách giới thiệu SSL 3.0 vốn giải quyết các vấn đề trong SSL 2.0 và thêm một số tính
năng mới. Vào thời điểm này, Microsoft nhượng bộ và đồng ý hỗ trợ SSL trong tất cả các
phiên bản phần mềm dựa vào TCP/IP của nó .
I.2 Cấu trúc của giao thức SSL
SSL
được
t
h
i
ế
t
kế
để dùng
TCP
cung cấp
1
dịch
vụ
bảo mật đầu
c
uố

nh
họa
dướ
i
đây:
Hình 5:
Chồng
g
i
ao
thức
SS
L
- Theo hình này, SSL ám chỉ một lớp (bảo mật) trung gian giữa lớp vận chuyển (Transport
Layer) và lớp ứng dụng (Application Layer). SSL được xếp lớp lên trên một dịch vụ vận
chuyển định hướng nối kết và đáng tin cậy, chẳng hạn như được cung cấp bởi TCP.
-
SSL
Record
P
r
o
t
oco
l
cung cấp các dịch
vụ
bảo mật cơ bản cho nhiều
g
i

v
er
,c
ó thể
hoạt
động trên
đ

nh
của
SSL.Ba
g
i
ao
thức
l

p
trên đ ược
đ

nh
nghĩa như

các phần của
SSL:
Hand shake
Pr
o
t

+ SSL Record Protocol.
II.2.1 Giao Thức SSL Record Protocol.
SSL
Record
P
r
o
t
oco
l
cung cấp
2
dịch
vụ
cho kết nối
S
SL
:
+
Confidentiality (tính cẩn
m
ật
)
:
Handshake Protocol
đ

nh nghĩa
1
khóa

chi
a
sẻ,
khóa này được sử dụng để hình thành
MAC
(mã
xác
thực
message).
- Hình
sau
chỉ
ra toàn bộ hoạt động của
SSL
Record Pro
t
oco
l
.SS
L
Record
Protocol
nhận
1
message ứng dụng
sắp
được truyền đi,phân mảnh d ữ
liệu
thành
nhiều block,nén dữ

hơn.
8
Phân mảnh :Mỗi
message của
l

p
bên trên được phân mảnh thành các block ,mỗi block
là 2
14
byte
(16384 byte) hoặc ít
hơn.
Nén:
Nén phải

không mất mát thông
t
i
n

có thể không
làm
tăng
chiều
dài
nộ
i
dung nhiều hơn
1024 byte

i
ện
tại của
TLS),không
có thu ật toán nén nào được
chỉ
rõ,vì vậy
t
hu ật
t
oán
nén mặc định
là null.
Tính toán MAC
(mã
xác
thực message) trên d ữ
liệu
đã được nén.Đ ể thực h
i
ện cần dùng
đến1
khóa

mật được chia sẻ.Phép
t
í
nh được định nghĩa như
s
au

byte 0x36 (0011 0110) được
l
ặp
lại
48 lần (384 bit) cho
MD5 và 40
lần
(320
bit) cho
SH
A
-1.
+ pad_2
:
byte
0x5c
(0101 1100) được
l
ặp
lại
48 lần cho
MD5 và 40
lần cho
SH
A
-1.
+seq_num: sequence number cho message nay
+SSLCompressed.type
:
g

hóa
đối xứng:Mã
hóa có
t
hể
không
làm
tăng chiều dài nội
dung hơn
1024 byte,vì
vậy
chiều dài tổng cộng không vượt quá 2
14
+20 48.
Các
t
huậ
t
toán mã hóa
sau được cho
phép:
Block
cipher
(Mã
hóa
khối)
Stream cipher
(Mã
hóa
luồng)

40
DES-
40
40
DE
S
56
3DE
S
168
Fortezz
a
80
9
Cuối
cùng của
xử lí
SS
L
Record
Protocol là
gắn
thêm
vào1
head e
r
,bao gồm các mục
sau:
Content Type (8
bit):

ph
i
ên
bản tối
t
h
i
ểu
được dùng.Ví
dụ
,
SSLv3 ,giá
trị này
là 0.
Compressed Length (16 bit)
:
chiều

i
theo byte của phân mảnh
pl
a
i
nt
ext
(hoặc chiều dài
theo byte
của
phân mảnh đã nén nếu nén đư ợc
dùng).Gía trị lớn

SSL
Record
. Giao
thức này bao gồm một message đơn
1
byte
g
i
á
trị
là 1.
Mục đích chính của
m
es
s
ag
e
này

sinh
ra
trạng
t

i
t
i
ếp
theo để gán vào trạng
t

kia.Như
với
nh ững ứng
dụng
khác
sử
dụng
SSL,
a
l
er
t
messages được nén


hóa
,
được
chỉ
định
bở
i
trạng
t
h
á
i
hiện
t
ại

,SS
L
lập tức chấp dứt
kết nối.Những kết
nố
i
cùng
phiên
khác vẫn có thể
t
i
ếp
tục nhưng sẽ khôn g kết nối nào khác trên
phiên này được
khởi
tạo
thêm.Byte thứ hai chứa
một

chỉ ra
cảnh báo đặc trưng.Đầu
t
i
ên
,
chúng ta
liệt
kê nh ững cảnh báo đó mà
l



i
đa cho
phép).
handshake_failure
:
bên
gửi
không thể thương
l
ư

ng một bộ chấp nhận được của các
thông số bảo
mật
được đưa ra từ những
lựa
chọn có
sẵn
11
illegal_parameter
:
một trường trong một hand shake message
thì vượt khỏi dãy hoặc trái
với
những
t
r
ườ
ng

có sẵn.
bad_certificate
:
certificate
nhận được thì không hợp
lệ(ví
dụ như chứa một chữ
ký không
xác minh)
unsupported_certificate
:
dạng
certificate
nhận được thì không hỗ
t
r

.
certificate_revoked
:
certificate đã
bị
thu hồ
i
bở
i
nhà cung
cấp.
certificate_expired
:

thư ơng
lượng
cơ chế mã hóa
,
thu ật toán
MAC và
khóa mật mã được
sử
dụng để bảo
vệ
dữ
liệu
được gửi
t
r
ong
SSL
record.Giao thức
SSL
Hand shake thường được
sử
dụng trước
khi
dữ
liệu
của ứng d ụng được truyền
đi.
Cơ chế giao thức SSL Handshake:
1) Client sẽ gửi cho server số phiên bản SSL đang dùng, các tham số
của thuật toán mã hoá, dữ liệu được tạo ra ngẫu nhiên (đó chính là

tiếp theo sẽ được mã hoá bằng session key. Sau đó nó gửi một lời nhắn
đã được mã hoá để thông báo rằng phía client đã kết thúc giai đoạn “bắt
tay”.
9) Server cũng gửi một lời nhắn đến client thông báo rằng các message
tiếp theo sẽ được mã hoá bằng session key. Sau đó nó gửi một lời nhắn
đã được mã hoá để thông báo rằng server đã kết thúc giai đoạn “bắt
tay”.
10) Lúc này giai đoạn “bắt tay” đã hoàn thành, và phiên làm việc SSL
bắt đầu. Cả hai phía client và server sẽ sử dụng các session key để mã
14
hoá và giải mã thông tin trao đổi giữa hai bên, và kiểm tra tính toàn vẹn
dữ liệu
I.3 Các thuật toán mã hóa dùng trong SSL
- Các thuật toán mã hoá (cryptographic algorithm -cipher) là các hàm để
mã hoá và giải mã thông tin.
- Giao thức SSL hỗ trợ rất nhiều các thuật toán mã hoá, sử dụng trong
quá trình xác thực server và client, truyền tải các certificates và thiết lập
các khoá của từng phiên giao dịch
- Client và server có thể hỗ trợ các bộ mật mã (cipher suite) khác nhau
tuỳ thuộc vào phiên bản SSL đang dùng, chính sách về độ dài khoá cảm
thấy chấp nhận được - điều này liên quan đến mức độ bảo mật của thông
tin, ….
Một số thuật toán SSL sử dụng :
- DES (Data Encryption Standard)
- DSA (Digital Signature Algorithm):
- MD5 (Message Digest algorithm):
- RSA: là thuật toán mã hoá công khai dùng cho cả quá trình xác
thực và mã hoá dữ liệu được Rivest, Shamir, and Adleman phát
triển.
- RSA key exchange: là thuật toán trao đổi khoá dùng trong SSL

ao thức bảo mật cao nh ất

chưa một
g
i
ao thức bảo mật nào có thể
thay thế
vai
trò của nó
.
Nó phổ
b
i
ến đến mức nếu thấy tên một
g
i
ao
thức

hậu tố
“s”
t
h
ì
ng
ườ
i
ta biết ngay
g
i

Description
Nsiiop
261
Dịch vụ IIOP
trên
T
LS
/
SS
L
Https
443
HTTP trên TLS/SSL
Smtps
465
SMTP trên TLS/SSL
Nntps
563
NNTP trên TLS/SSL
Ldaps
636
LDAP trên TLS/SSL
Ftps-data
989
FTP-
dữ
liệu
trên
T
LS

t

i
sao không
chỉ
các nhà cung cấp thiết
bị
mạng ph ần
cứng
đang đua nhau trong
việc
phát
t
r
i
ển
các sản phẩm hổ trợ
SSL
VPN

cả
nh ững nhà cung cấp
t
h
i
ết
bị
mạng
“mềm”
như Microsoft cũng đưa nó

Microsoft).
Hình 3
18
II.2.2 Giải Pháp Bảo Vệ Web Server
- Truyền thông HTTP được định nghĩa cho máy chủ Web nói chung,
thông thường là các trang thông tin.
- Một số phương pháp cho Web Server an toàn hơn(hình vẽ):
Hình 4
Tuy nhiên nếu đang nghĩ đến việc chạy một trang điện tử hoặc các dịch vụ Web khác yêu
cầu phiên giao dịch an toàn thì bạn cần phải mã hóa dữ liệu được truyền thông giữa máy chủ
Web và các máy khách của nó.
Trường hợp thường được sử dụng nhất đó là Secure Sockets Layer
(SSL), SSL sử dụng mã hóa khóa công khai để bảo vệ thông tin bí mật của
người dùng (như là thẻ tín dụng, số tài khoản ngân hàng) vẫn được truyền
tải trên Web. Trong bài viết này sẽ giới thiệu 2 phương pháp:
+ Cách cài đặt SSL trên máy chủ Internet Information Services (IIS)
Web trên Win Server.( Xin một chứng chỉ cho web)
+ Cách cài đặt SSL trên máy chủ Apache Web Server trên hệ điều
hành CenTos( Tự tạo một chứng chỉ web)
19
II.2.3 Quy Trình Và Cài Đặt SSL
II.2.3.1 Quy trình cài đặt
1. Chọn 1 Server Cho ứng dụng
2. Tạo 1 CSR(Certificate Signing Request)(tùy theo Server đã
chọn mà có cách thức tạo khác nhau)
* Ở bước này 1 Private Key sẽ được tạo ra cùng lúc với
CSR.
3. Đăng kí tạo SSL Certificate từ 1 CA(Certificate Authority).
( ví dụ xin chứng chỉ free :)
4. Cài đặt SSL tùy theo yêu cầu của từng Server.

(Opensource)
+ Tinh phí
:Verisign,Comodo,DigiCert,Entrust,GlobalSign,Godady
II.2.3.1 Cài đặt SSL
Như ở mục trên đã trình bày xin đưa ra 2 phương pháp cài đặt SSL
trên 2 loại Web erver phổ biến đó là IIS và Apache
+ Cách cài đặt SSL trên máy chủ Internet Information Services
(IIS) Web trên Win Server.( Xin một chứng chỉ cho web)
+ Cách cài đặt SSL trên máy chủ Apache Web Server trên hệ điều
hành CenTos.( Tự tạo một chứng chỉ web)
III. Demo
* Cài đặt SSL máy chủ IIS.
* Cài đặt SSL máy chủ Apache.
22
Tài Liệu Tham Khảo
1.Cryptography and Network Security Principles and Practices, Fourth
Edition –By William Stallings
2.Security Cryptographic Principles, Algorithms and Protocols

By
Man Young Rhee
3. MCP 70-299: Implementing and Administering Security in a
Microsoft Windows Server 2003 Network
4. (BlackHat-DC-09-Marlinspike-Defeating-
SSL.pdf)
5. />


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status