Secure Socket Layer (SSL) là gì?
Ngun: Chungta.com
SSL là giao thc đa mc đích được thiết kế để to ra các giao tiếp gia hai chương
trình ng dng trên mt cng định trước (socket 443) nhm mã hoá toàn b thông
tin đi/đến, mà ngày nay được s dng rng rãi cho giao dch đin t như truyn s
hiu th tín dng, mt khu, s bí mt cá nhân (PIN) trên Internet. Giao thc SSL
được hình thành và phát trin đầu tiên năm 1994 bi nhóm nghiên cu Netscape
dn dt bi Elgammal và ngày nay đã tr thành chun bo mt thc hành trên
mng Internet. Phiên bn SSL hin nay là 3.0 và vn đang tiếp tc đưc b sung
và hoàn thin. Tương t như SSL, mt giao thc khác có tên là PCT - Private
Communication Technology được đề xướng bi Microsoft hin nay cũng đưc s
dng rng rãi trong các mng máy tính chy trên h điu hành Windows NT.
Ngoài ra, mt chun ca IETF (Internet Engineering Task Force) có tên là TLS
(Transport Layer Security) da trên SSL cũng được hình thành và xut bn dưới
khuôn kh nghiên cu ca IETF Internet Draft được tích hp và h tr trong sn
phm ca Netscape.
Giao thc SSL làm vic như thế nào?
Đim cơ bn ca SSL được thiết kế độc lp vi tng ng dng để đảm bo tính bí
mt, an toàn và chng gi mo lung thông tin qua Internet gia hai ng dng bt
k, thí d như webserver và các trình duyt khách (browsers), do đó được s dng
rng rãi trong nhiu ng dng khác nhau trên môi trường Internet. Toàn b cơ chế
hot động và h thng thut toán mã hoá s dng trong SSL được ph biến công
khai, tr khoá chia x tm thi (session key) được sinh ra ti thi đim trao đổi
gia hai ng dng là to ngu nhiên và bí mt đối vi người quan sát trên mng
máy tính. Ngoài ra, giao thc SSL còn đỏi hi ng dng ch phi được chng thc
bi mt đối tượng lp th ba (CA) thông qua giy chng thc đin t (digital
certificate) da trên mt mã công khai (thí d RSA). Sau đây ta xem xét mt cách
khái quát cơ chế hot động ca SSL để phân tích cp độ an toàn ca nó và các kh
năng áp dng trong các ng dng nhy cm, đặc bit là các ng dng v thương
mi và thanh toán đin t...
Giao thc SSL da trên hai nhóm con giao thc là giao thc “bt tay” (handshake
protocol) và giao thc “bn ghi” (record protocol). Giao thc bt tay xác định các
tham s giao dch gia hai đối tượng có nhu cu trao đổi thông tin hoc d liu,
còn giao thc bn ghi xác định khuôn dng cho tiến hành mã hoá và truyn tin hai
chiu gia hai đối tượng đó. Khi hai ng dng máy tính, thí d gia mt trình
duyt web và máy ch web, làm vic vi nhau, máy ch và máy khách s trao đổi
“li chào” (hellos) dưới dng các thông đip cho nhau vi xut phát đầu tiên ch
động t máy ch, đồng thi xác định các chun v thut toán mã hoá và nén s
liu có th được áp dng gia hai ng dng. Ngoài ra, các ng dng còn trao đổi
“s nhn dng/khoá theo phiên” (session ID, session key) duy nht cho ln làm
vic đó. Sau đó ng dng khách (trình duyt) yêu cu có chng thc đin t
(digital certificate) xác thc ca ng dng ch (web server).
Chng thc đin t thường được xác nhn rng rãi bi mt cơ quan trung gian (là
CA -Certificate Authority) như RSA Data Sercurity hay VeriSign Inc., mt dng
t chc độc lp, trung lp và có uy tín. Các t chc này cung cp dch v “xác
nhn” s nhn dng ca mt công ty và phát hành chng ch duy nht cho công ty
đó như là bng chng nhn dng (identity) cho các giao dch trên mng, đây là
các máy ch webserver.
Sau khi kim tra chng ch đin t ca máy ch (s dng thut toán mt mã công
khai, như RSA ti trình máy trm), ng dng máy trm s dng các thông tin
trong chng ch đin t để mã hoá thông đip gi li máy ch mà ch có máy ch
đó có th gii mã. Trên cơ s đó, hai ng dng trao đổi khoá chính (master key) -
khoá bí mt hay khoá đối xng - để làm cơ s cho vic mã hoá lung thông tin/d
liu qua li gia hai ng dng ch khách. Toàn b cp độ bo mt và an toàn ca
thông tin/d liu ph thuc vào mt s tham s: (i) s nhn dng theo phiên làm
vic ngu nhiên; (ii) cp độ bo mt ca các thut toán bo mt áp dng cho SSL;
và (iii) độ dài ca khoá chính (key length) s dng cho lược đồ mã hoá thông tin.
Các thut toán mã hoá và xác thc ca SSL được s dng bao gm (phiên bn
3.0):
1. DES - chun mã hoá d liu (ra đời năm 1977), phát minh và s
dng ca chính ph M
2. DSA - thut toán chđin t, chun xác thc đin t), phát minh
và s dng ca chính ph M
3. KEA - thut toán trao đổi khoá), phát minh và s dng ca chính
ph M
4. MD5 - thut toán to giá tr “băm” (message digest), phát minh bi
Rivest;
5. RC2, RC4 - mã hoá Rivest, phát trin bi công ty RSA Data
Security;
6. RSA - thut toán khoá công khai, cho mã hoá va xác thc, phát trin
bi Rivest, Shamir và Adleman;
7. RSA key exchange - thut toán trao đổi khoá cho SSL da trên thut
toán RSA;
8. SHA-1 - thut toán hàm băm an toàn, phát trin và s dng bi
chính ph M
9. SKIPJACK - thut toán khoá đối xng phân loi được thc hin
trong phn cng Fortezza, s dng bi chính ph M
10. Triple-DES - mã hoá DES ba ln.
Cơ s lý thuyết và cơ chế hot động ca các thut toán s dng v bo mt bên
trên hin nay là ph biến rng rãi và công khai, tr các gii pháp thc hin trong
ng dng thc hành vào trong các sn phm bo mt (phn cng, phn do, phn
mm).