Tải bản đầy đủ (.pptx) (59 trang)

Thuyết trình SSL môn bảo mật thông tin

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.24 MB, 59 trang )

CHÀO MỪNG THẦY VÀ
CÁC BẠN ĐẾN VỚI BÀI
THUYẾT TRÌNH CỦA
NHĨM MÌNH


SSL
Secure Sockets Layer


SSL
SSL là viết tắt của từ Secure Sockets Layer.
Đây là một tiêu chuẩn an ninh cơng nghệ tồn cầu tạo ra một liên kết giữa máy
chủ web và trình duyệt.
Liên kết này đảm bảo tất cả dữ liệu trao đổi giữa máy chủ web và trình duyệt ln
được bảo mật và an toàn.
SSL đảm bảo rằng tất cả các dữ liệu được truyền giữa các máy chủ web và các
trình duyệt được mang tính riêng tư, tách rời.
SSL là một chuẩn công nghệ được sử dụng bởi hàng triệu trang web trong việc
bảo vệ các giao dịch trực tuyến với khách hàng của họ.


SSL
✘ Ngày nay việc bảo mật thông tin
là yếu tố quan trọng để quyết
định sự sống còn của một tổ
chức ,một công ty hay doanh
nghiệp . Với sự phát triển nhanh
chóng của cơng nghệ đã mang
lại nhiều tiện ích cho người
dùng nhưng đồng thời cũng đặt


ra một nhu cầu hết sức cấp thiết
về sự an toàn và bảo mật .Và
SSL chính là giải pháp tốt nhất
hiện nay đáp ứng những nhu cầu
đó và nó được coi như là “lá
chắn cuối cùng” trong bảo mật

✘ Giao thức SSL ban đầu được phát
triển bởi Netscape.Version 1.0 thì
đã khơng bao giờ được cơng bố
Tại sao
sử dụng2.0
SSL
? công bố
rộnglại
rãi.Version
được
vào tháng 2/1995 nhưng chứa
nhiều lỗ hỏng bảo mật và sau
cùng đưa đến mơ hình SSL
version 3.0 được ban hành năm
1996. Bản sau cùng này được
dùng cho TLS version 1.0 và được
IETF xác định như một giao thức
chuẩn trong RFC 2246 vào tháng
1/1999. Ngày nay Visa,
MasterCard, American Express
cũng như nhiều cơng ty giải pháp
tài chính hàng đầu khác trên thế



SSL
Bạn không thể luôn luôn
chắc rằng bạn đang trao
đổi thông tin với đúng
đối tượng cần trao đổi.

Việc truyền các
thông tin nhạy
cảm trên mạng
rất khơng an
tồn vì những
vấn đề sau:

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 trộm, thường
được biết đến như
attacker
.

Nếu attacker có thể chặn
dữ liệu, attacker có thể
sửa đổi dữ liệu trước khi
gửi nó đến người nhận
.

SSL giải quyết vấn đề đầu tiên bằng cách cho
phép 1 cách tùy chọn mỗi bên trao đổi có thể

chắc chắn về định danh của phía đối tác trong 1
q trình gọi là thentication (xác thực).Một khi
các bên đã được xác thực,SSL cung cấp 1 kết nối
được mã hóa giữa 2 bên để truyền bảo mật các
message .Việc mã hóa trong q trình trao đổi
thông tin giữa 2 bên cung cấp sự riêng tư bí
mật,vì vậy mà giải quyết được vấn đề thứ 2

Thuật tốn mã hóa được sử dụng với
SSL bao gồm hàm băm mã
hóa,tương tự như 1 checksum.Nó
đảm bảo rằng dữ liệu khơng bị thay
đổi trong q trình truyền dẫn.Hàm
băm mã hóa giải quyết vấn đề thứ
3,tính tồn vẹn dữ liệu.
Chú ý rằng,cả xác thực và mã
hóa đều là tùy chọn, và phụ
thuộc vào cipher suites (các
bộ mã hóa) được đàm phán
giữa 2 đối tượng.


SSL
Một ví dụ rõ ràng nhất mà trong đó
bạn nên sử dụng SSL là trao đổi
thông tin giao dịch qua mạng
(e-commerce).Trong trao đổi
e-commerce,thật dại dột khi giả định
rằng bạn có thể chắc chắn về định
danh của server mà bạn đang trao đổi

thơng tin. Ai đó có thể dễ dàng tạo ra
1 Website giả hứa hẹn các dịch vụ
tuyệt vời ,chỉ để cho bạn nhập vào
đó số tài khoản.SSL cho phép bạn,
client,xác thực về định danh của
server.Nó cũng cho phép server xác
thực định danh của client,mặc dù
trong các giao tác Internet,việc này
hiếm khi được làm.PTIT

Một khi client và
server đã hài lòng với
định danh của mỗi bên
đối tác. SSL cung cấp
tính bảo mật và tính
tồn vẹn thơng qua các
thuật tốn mã hóa mà
nó sử dụng.Điều này
cho phép các thơng tin
nhạy cảm,như số tài
khoản,được truyền đi 1
cách an toàn trên
Internet.

Trong khi SSL cung cấp tính
xác thực,tính bảo mật và tồn
vẹn dự liệu, nó khơng cung cấp
non-repudiation (tính khơng từ
chối). Non-repudiation có nghĩa
là khi 1 đối tượng gửi đi 1

message ,thì sau đó khơng thể
phủ nhận việc mình đã gửi
message đó. Khi 1 chữ kí số
tương đương được liên kết với
1 message, việc trao đổi này
sau đó có thể được chứng minh.
SSL 1 mình nó khơng cung cấp
non-udiation.


SSL


Điểm cơ bản của SSL được thiết kế độc lập với tầng ứng dụng để đảm
bảo tính bí mật, an tồn và chống giả mạo luồng thơng tin qua Internet
giữa hai ứng dụng bất kỳ, thí dụ như
SSLwebserver
hoạt động
và như
các trình
thế nào?
duyệt khách
(browsers), do đó được sử dụng rộng rãi trong nhiều ứng dụng khác nhau
trên mơi trường Internet. Tồn bộ cơ chế hoạt động và hệ thống thuật toán
mã hố sử dụng trong SSL được phổ biến cơng khai, trừ khoá chia xẻ tạm
thời (session key) được sinh ra tại thời điểm trao đổi giữa hai ứng dụng là
tạo ngẫu nhiên và bí mật đối với người quan sát trên mạng máy tính.
Ngồi ra, giao thức SSL cịn đỏi hỏi ứng dụng chủ phải được chứng thực
bởi một đối tượng lớp thứ ba (CA) thông qua giấy chứng thực điện tử
(digital certificate) dựa trên mật mã cơng khai (thí dụ RSA). Sau đây ta

xem xét một cách khái quát cơ chế hoạt động của SSL để phân tích cấp độ
an tồn của nó và các khả năng áp dụng trong các ứng dụng nhạy cảm,
đặc biệt là các ứng dụng về thương mại và thanh toán điện tử...


SSL


Giao thức SSL dựa trên hai nhóm con giao thức là giao thức “bắt tay”
(handshake protocol) và giao thức “bản ghi” (record protocol). Giao
thức bắt tay xác định các tham số giao dịch giữa hai đối tượng có nhu
cầu trao đổi thơng tin hoặc dữ liệu, cịn giao thức bản ghi xác định
khn dạng cho tiến hành mã hố và truyền tin hai chiều giữa hai đối
tượng đó. Khi hai ứng dụng máy tính, thí dụ giữa một trình duyệt web và
máy chủ web, làm việc với nhau, máy chủ và máy khách sẽ trao đổi “lời
chào” (hellos) dưới dạng các thông điệp cho nhau với xuất phát đầu tiên
chủ động từ máy chủ, đồng thời xác định các chuẩn về thuật tốn mã
hố và nén số liệu có thể được áp dụng giữa hai ứng dụng. Ngoài ra, các
ứng dụng cịn trao đổi “số nhận dạng/khố theo phiên” (session ID,
session key) duy nhất cho lần làm việc đó. Sau đó ứng dụng khách (trình
duyệt) u cầu có chứng thực điện tử (digital certificate) xác thực của


SSL
✘ Chứng thực điện tử thường
được xác nhận rộng rãi bởi
một cơ quan trung gian (là CA
-Certificate Authority) như
RSA Data Sercurity hay
VeriSign Inc., một dạng tổ

chức độc lập, trung lập và có
uy tín. Các tổ chức này cung
cấp dịch vụ “xác nhận” số
nhận dạng của một công ty và
phát hành chứng chỉ duy nhất
cho cơng ty đó như là bằng
chứng nhận dạng (identity)



Sau khi kiểm tra chứng chỉ điện tử của máy chủ
(sử dụng thuật tốn mật mã cơng khai, như RSA
tại trình máy trạm), ứng dụng máy trạm sử dụng
các thông tin trong chứng chỉ điện tử để mã hố
thơng điệp gửi lại máy chủ mà chỉ có máy chủ
đó có thể giải mã. Trên cơ sở đó, hai ứng dụng
trao đổi khố chính (master key) - khố bí mật
hay khoá đối xứng - để làm cơ sở cho việc mã
hố luồng thơng tin/dữ liệu qua lại giữa hai ứng
dụng chủ khách. Toàn bộ cấp độ bảo mật và an
tồn của thơng tin/dữ liệu phụ thuộc vào một số
tham số: (i) số nhận dạng theo phiên làm việc
ngẫu nhiên; (ii) cấp độ bảo mật của các thuật
toán bảo mật áp dụng cho SSL; và (iii) độ dài
của khố chính (key length) sử dụng cho lược đồ


SSL
 Các thuật toán mã hoá và xác thực của SSL được sử dụng bao gồm (phiên
bản 3.0):

1. DES - chuẩn mã hoá dữ liệu (ra đời năm 1977), phát minh và sử dụng của chính phủ
Mỹ.
2. DSA - thuật toán chữ ký điện tử, chuẩn xác thực điện tử), phát minh và sử dụng của
chính phủ Mỹ
3. KEA - thuật toán trao đổi khoá), phát minh và sử dụng của chính phủ Mỹ
4. MD5 - thuật tốn tạo giá trị “băm” (message digest), phát minh bởi Rivest;
5. RC2, RC4 - mã hố Rivest, phát triển bởi cơng ty RSA Data Security;
6. RSA - thuật tốn khố cơng khai, cho mã hoá va xác thực, phát triển bởi Rivest,
Shamir và Adleman;
7. RSA key exchange - thuật toán trao đổi khoá cho SSL dựa trên thuật toán RSA;
8. SHA-1 - thuật tốn hàm băm an tồn, phát triển và sử dụng bởi chính phủ Mỹ
9. SKIPJACK - thuật tốn khố đối xứng phân loại được thực hiện trong phần cứng
Fortezza, sử dụng bởi chính phủ Mỹ
10. Triple-DES - mã hố DES ba lần.


 Cơ sở lý thuyết và cơ chế hoạt động
của các thuật toán sử dụng về bảo
mật bên trên hiện nay là phổ biến
rộng rãi và công khai, trừ các giải
pháp thực hiện trong ứng dụng thực
hành vào trong các sản phẩm bảo
mật (phần cứng, phần dẻo, phần
mềm).


I. SSL
Tiến trình SSL:
 Việc trao đổi trên
mạng sử dụng SSL bắt

đầu với việc trao đổi
thông tin qua lại giữa
client và server. Sự
trao đổi thông tin này
gọi là SSL handshake.

 Ba mục tiêu chính của
SSL handshake là:
- Đàm phán cipher suite.
- Xác thực định danh (tùy
chọn).
- Hình thành cơ chế bảo
mật thơng tin, bằng cách
thỏa thuận các cơ chế mã
hóa.


SSL
 Một phiên SSL bắt đầu với việc đàm phán giữa
client và server xem cipher suite nào mà chúng sẽ
sử dùng.Một cipher suite là 1 tập các thuật tốn
mã hóa và kích thước khóa mà máy tính có thể
dùng để mã hóa dữ liệu.Một cipher suite bao gồm
thơng tin về các thuật tốn trao đổi khóa cơng
khai và các thuật tốn thỏa thuận khóa,và các hàm
băm mã hóa.Client nói với server các cipher suite
nào nó có sẵn và server lựa chọn cipher suite tốt
nhất có thể chấp nhận.

Đàm phán

Cipher suite


SSL
 Trong SSL,bước xác thực là tùy chọn,nhưng trong ví dụ về giao tác
e-commerce trên Web, client theo thông thường sẽ muốn xác thực
server.Việc xác thực server cho phép client chắc chắn rằng chính
server này đại diện cho đối tượng mà client tin tưởng.
 Để chứng minh server thuộc về tổ chức mà nó khẳng định là nó đại
diện,server phải trình chứng chỉ khóa cơng khai của nó cho
client.Nếu chứng chỉ này là hợp lệ, client có thể chắc chắn về định
danh của server.
 Thông tin trao đổi qua lại giữa client và server cho phép chúng
thỏa thuận 1 khóa bí mật chung.Ví dụ,với RSA, client dùng khóa
cơng khai của server,có được từ chứng chỉ khóa cơng khai, để mã
hóa thơng tin khóa bí mật.Client gửi thơng tin khóa bí mật đã được
mã hóa đến server.Chỉ có server mới có thể giải mã cái message
này bởi vì quá trình giải mã phải cần đến khóa riêng của server

Xác thực
server


SSL
 Bây giờ, cả client và server có thể truy cập đến khóa bí mật
chung. Với mỗi message, chúng dùng đến hàm băm mã hóa,
đã được chọn trong bước thứ nhất của tiến trình này, và chia
sẻ thơng tin bí mật, để tính tốn 1 HMAC nối thêm vào
message. Sau đó, chúng dùng khóa bí mật và thuật tốn khóa
bí mật đã được đàm phán ở bước đầu tiên của tiến trình này

để mã hóa dữ liệu và HMAC an tồn. Client và server giờ
đây có thể trao đổi thơng tin với nhau 1 cách an toàn với các
dữ liệu đã băm và mã hóa.

Gửi dữ
liệu đã
mã hóa


SSL
 Giao thức SSL:PTIT 2009
Phần trước cung cấp sự mô tả sơ
lược về SSL handshake, là sự trao
đổi thông tin giữa client và server
trước khi gửi các message đã được
mã hóa.Phần này mơ tả chi tiết
hơn.Hình sau minh họa chuỗi tuần
tự các message được trao đổi trong
SSL handshake.Các message mà
chỉ được gửi trong 1 trường hợp
nào đó được đánh dấu là tùy chọn.


SSL
Các message SSL được gửi theo thứ tự sau:
1) Client hello: client gửi đến server các thông tin bao gồm phiên bản SSL cao nhất và 1 danh sách các cipher suite mà
nó hỗ trợ. (TLS 1.0 được chỉ ra như là SSL3.1).Thông tin cipher suite bao gồm các thuật tốn mã hóa và kích thước
khóa.
2) Server hello: server chọn ra phiên bản SSL cao nhất và cipher suite tốt nhất mà cả client và server hỗ trợ và gửi
thông tin này về cho client.

3) Certificate: server gửi cho client 1 chứng chỉ hoặc 1 chuỗi chứng chỉ.Về cơ bản,1 chuỗi chứng chỉ bắt đầu bằng
chứng chỉ khóa cơng khai của server và kết thúc bằng chứng chỉ gốc của tổ chức có thẩm quyền chứng chỉ.Message
này là tùy chọn,nhưng nó được dùng bất cứ khi nào xác thực server là cần thiết.
4) Certificate request: nếu server cần xác thực client,nó gửi cho client 1 yêu cầu xem chứng chỉ.Trong các ứng dụng
internet,message này hiếm khi được gửi đi.
5) Server key exchange: server gửi cho client 1 message trao đổi khóa server trong khi khóa cơng khai được gửi ở
phần 3) bên trên thì khơng đủ cho trao đổi khóa.
6) Server hello done: server nói với client rằng nó hồn thành các message đàm phán ban đầu.
7) Certificate: nếu server cần chứng chỉ từ client trong message 4, client gửi chuỗi chứng chỉ của nó,cũng giống như
server làm trong message 3.


SSL
Các message SSL được gửi theo thứ tự sau:
8) Client key exchange: client sinh ra thông tin được dùng để tạo ra khóa trong mã hóa đối xứng.Với RSA, client mã
hóa thơng tin khóa này bằng khóa cơng khai của server rồi gửi nó đến server.
9) Certificate verify: message này được gửi khi client trình ra chứng chỉ như trên.Mục tiêu của nó là cho phép server
hồn thành tiến trình xác thực client.Khi message này được dùng,client gửi thông tin với chữ kí số tạo bằng hàm băm
mã hóa.Khi server giải mã thơng tin này bằng khóa cơng khai của client,server có thể
xác thực client.
10) Change cipher spec: client gửi message bảo server thay đổi kiểu mã hóa.
11) Finished: client nói với server rằng nó sẵn sàng để bắt đầu trao đổi dữ liệu an toàn.
12) Change cipher spec: server gửi message bảo client thay đổi kiểu mã hóa.
13) Finished: server nói với client rằng nó sẵn sàng để bắt đầu trao đổi dữ liệu an toàn.Kết thúc SSL handshake.
14) Encrypted data: client và server trao đổi với nhau,sử dụng thuật tốn mã hóa đối xứng và hàm băm mã hóa đã
đàm phán ở message 1 và 2,và dùng khóa bí mật mà client gửi cho server trong message 8.
15) Closed messages : Kết thúc 1kết nối,mỗi bên gửi 1 message close-notify để thông báo đầu kia biết kết nối bị
đóng.



 Nếu các tham số được sinh ra

trong 1 phiên SSL được lưu
lại,các tham số này có thể
thỉnh thoảng được dùng lại cho
các phiên SSL sau.Việc lưu lại
các tham số phiên SSL cho
phép các trao đổi bảo mật về
sau được bắt đầu nhanh chóng
hơn.


Lựa chọn Cipher suite và xóa Entity verification:
Giao thức SSL/TLS định nghĩa 1 chuỗi
các bước đặc biệt để bảo đảm 1 kết nối
“được bảo vệ”.Tuy nhiên,việc lựa chọn
Cipher suite sẽ tác động trực tiếp đến loại
bảo mật mà kết nối có được.Ví dụ,nếu 1
cipher suite nặc danh được chọn,ứng dụng
khơng có cách nào để kiểm tra định danh của
đầu xa.Nếu 1 suite-khơng có mã hóa, được
chọn,tính bí mật của dữ liệu khơng thể được
bảo vệ.Thêm vào đó,giao thức SSL/TLS
khơng chỉ rõ rằng những tài liệu chứng nhận
nhận được phải khớp với những cái mà đầu
kia gửi.Nếu kết nối theo cách nào đó mà bị
redirect đến 1 kẻ xấu,nhưng tài liệu chứng
nhận của kẻ xấu này khi trình ra thì được
chấp nhận dựa trên những tư liệu tin tưởng
hiện tại,kết nối này sẽ được xét là hợp lệ.


Khi dùng
SSLSockets/SSLEngines,nên
luôn luôn kiểm tra tài liệu
chứng nhận của đầu xa trước
khi gửi bất kì dữ liệu nào.Các
lớp SSLSockets và
SSLEngines khơng tự động
kiểm tra hostname trong URL
có khớp với hostname trong tài
liệu chứng nhận của đầu kia
hay khơng.Một ứng dụng có
thể bị khai thác bằng URL
spoofing nếu hostname không
được kiểm tra.

Các giao thức
như HTTPS cần
thiết phải kiểm tra
hostname.Các ứng
dụng có thể dùng
HostnameVerifier
để viết chồng lên
luật hostname
HTTPS mặc định


SSL
 Tìm hiểu về các thuật tốn
trong mã hóa SSL/TLS

Nếu bạn nghiên cứu SSL và
mã hóa đủ lâu, cuối cùng bạn
sẽ đi qua từ “cipher” hay còn
gọi là mật mã. Mật mã là một
phần rất quan trọng của mã
hóa.


SSL
✘ Mật mã là thuật toán, cụ thể hơn là ✘ Trong những năm qua, mật
chúng là một tập hợp các bước
mã đã trở nên phức tạp hơn,
thực hiện mã hóa cũng như giải mã
nhưng logic đằng sau chúng
tương ứng. Ngày nay mật mã phụ
vẫn giữ nguyên. Cho dù đó
thuộc vào khả năng xử lý tiên tiến
là Caesar băng qua Rubicon,
của máy tính. Tuy nhiên nó khơng
mật mã Enigma khét tiếng
phải là phụ thuộc hoàn toàn. Một
của Thế chiến II hay một số
trong những mật mã lịch sử đầu
thuật tốn của ngày hơm nay
tiên nổi tiếng thuộc về Caesar –
– ý tưởng luôn ln là mã
hồng đế Rome và nhà cung cấp
hóa hoặc mã hóa một thơng
món salad khai vị ưa thích – người
điệp theo cách mà chỉ có

đã sử dụng nó để giao tiếp với các
bên phát triển mới có thể đọc
tướng lĩnh của mình trong các hoạt
được.


Hai loại mật mã
✘ Đối với tất cả các
ý định và mục
đích, khi chúng ta
thảo luận mật mã
khi chúng liên
quan đặc biệt đến
mã hóa SSL, có
hai loại thuật
tốn: đối xứng và
khơng đối
xứng. Điều này
thực sự đi kèm
với loại mã hóa
bạn sẽ thực hiện,
một lần nữa, đối

✘ Mã hóa đối xứng liên quan
đến hai bên giống nhau. Cả
hai bên có thể thực hiện cả
hai chức năng: mã hóa và giải
mã. Bạn thấy điều này trong
khi kết nối web được mã hóa


hóa đối xứng
giữa trình duyệt và máy
chủ. Sau khi chứng chỉ SSL
đã được xác thực và bắt tay
SSL hồn tất, trình duyệt và
trao đổi máy chủ “khóa
phiên” đối xứng cho phép
chúng giao tiếp an tồn trong
suốt thời gian truy cập. Trong
khi các khóa phiên này đang

✘ Ngược lại, với mã
hóa bất đối
xứng, bạn đang
nói về các khóa
khác nhau với
cácMã
khả hóa
năng bất
khác
nhau. Ví
dụ
đối
xứng
rõ ràng nhất về
điều này là cặp
khóa cơng khai /
riêng được sử
dụng trong q
trình bắt tay

SSL. Trong trường
hợp này, một


Mật mã chung
✘ Có rất nhiều
thuật tốn mã
hóa khác
nhau thường
được sử dụng
trong mã hóa
kết hợp với
nhau. Đó là
bởi vì, cụ thể
vì nó liên
quan đến SSL,
bạn khơng chỉ
sử dụng một
thuật tốn
đơn lẻ mà là

✘ Bây giờ
chúng ta đã
hiểu được
hai loại
thuật toán –
đối xứng và
khơng đối
xứng –
chúng ta có

thể xem xét
một số thuật
tốn mã hóa
khác nhau

✘ Dưới đây là
một số ví dụ
về mật mã
và các thuật
toán tương
tự khác:
✘ RSA
✘ DiffieHellman
✘ Elliptic
Curve
DiffieHellman


Trao đổi khóa
✘ PSK
✘ Thường được viết
dưới dạng TLS-PSK,
đây là một thuật
tốn mã hóa cung
cấp thơng tin liên
lạc an tồn dựa trên
các khóa đối xứng
được chia sẻ trước
giữa các bên.


✘ RSA
✘ Diffie-Hellman
✘ RSA được đặt theo tên
✘ Được đặt tên theo
của những người đã
Whitfield Diffie và Martin
tạo ra nó: Rivest,
Hellman, đây là một giao
Shamir và
thức khóa cơng khai được
Adleman. Đây là một
sử dụng chủ yếu để trao
hệ thống mã hóa
đổi các khóa mật mã trên
khơng đối xứng khá
các kênh cơng cộng. Trước
phổ biến, sử dụng số
các phương pháp như DH,
nguyên tố và có nhiều
các khóa phải được truyền
ứng dụng.
dưới dạng vật lý.
✘ Elliptic Curve Diffie-Hellman
✘ Một giao thức thỏa thuận khóa, cung cấp cho hai bên
với cặp khóa cơng khai để thiết lập bí mật được chia sẻ
(được sử dụng trực tiếp như một khóa) một cách an
tồn trên kênh cơng khai.



×