Chứng chỉ số SSL (còn gọi là chứng thư số SSL) có vai trò rất quan trọng trong các giao dịch trực tuyến như: đặt hàng, thanh toán, trao đổi thông tin,... đặc biệt là trong các lĩnh vực thương mại điện tử, sàn giao dịch vàng và chứng khoán, cổng thanh toán, ví điện tử, ngân hàng điện tử, chính phủ điện tử. Khi được sử dụng, mọi dữ liệu trao đổi giữa người dùng và website sẽ được mã hóa (ở phía người gửi) và giải mã (ở phía người nhận) bởi cơ chế SSL mạnh mẽ nhất hiện nay. Nếu website không sử dụng chứng chỉ số SSL, mọi dữ liệu nhập vào website từ người dùng sẽ được truyền đi nguyên bản trên Internet. Khi đó, nguy cơ dữ liệu bị xâm nhập trong quá trình trao đổi dữ liệu giữa người dùng và website sẽ rất cao. Một hậu quả trước mắt là khách hàng sẽ không tin tưởng, và dẫn đến không sử dụng dịch vụ của website đó. VeriSign® là CA đầu tiên trên thế giới và vẫn luôn dẫn đầu trong nền công nghiệp xác thực. Một website có gắn biểu tượng VeriSign Secured Seal sẽ gia tăng mức độ tin cậy từ phía khách hàng lên rất nhiều lần. Tại thị trường Việt Nam, chúng tôi là Gold Partner của VeriSign trong lĩnh vực cung cấp chứng chỉ số.
Trang 1Mục Lục:
CHƯƠNG 1: TỔNG QUAN 1
1.1 Tổng quan về đồ án 1
1.2 Nhiệm vụ đồ án 1
1.3 Cấu trúc của đồ án 1
CHƯƠNG 2: CƠ SỞ LÍ THUYẾT 2
2.1 Tổng quan về SSL 2
2.1.1 Tổng quan SSL 2
2.1.2 Mục đích 2
2.2 Lịch sử phát triển SSl 3
2.3 Các thuật toán 5
2.4 Quá trình hoạt động SSL 5
2.5 Kiến trúc SSL 9
2.6 Ưu điểm và hạn chế của SSL 12
2.6.1.Ưu điểm 12
2.6.2 Nhược điểm 13
CHƯƠNG 3 KẾT QUẢ THỰC NGHIỆM 14
3.1 Ứng dụng phổ biến của SSL 14
3.2 cài đặt SSL 15
3.2.1 cài đặt Active Directory Cetificate Services 15
3.2.2 cấu hình Active Directory Cetificate Services 17
3.2.3 Request Cetificate từ CA server 18
3.2.4 cấu hình IIS với Cetificate 20
3.3 Phân tích 22
Chương 4 HƯỚNG PHÁT TRIỂN 23
4.1 Kết luận và hướng phát triển 23
CHƯƠNG : TÀI LIỆU THAM KHẢO 24
Trang 2CHƯƠNG 1: TỔNG QUAN
1.1 Tổng quan về đồ án
Sercure Socket Layer (SSL) hiện nay là giao thức bảo mật rất phổ biến trên Internet và đặc biệt là trong các hoạt động thương mại điện tử (E-Commerce) Việt Nam đang trên đường hội nhập với nền công nghệ thông tin thế giới, nên nay mai, các hoạt động giao dịch trên mạng ở Việt Nam cũng sẽ diễn ra sôi nổi, khi đó vấn đềbảo mật trở nên quan trọng, việc triển khai SSL là điều thiết yếu
Nhận thức được tầm quan trọng đó, em làm đồ án này để trình bày về SSL
và những vấn đề liên quan như :
Tổng quan về SSL
Lịch sử phát tiển
Các thuật toán sử dụng trong giao thức
Ưu điểm nhược điểm trong SSL
Cuối cùng là kết quả thực nghiệm
Đây đồ án khá quan trọng nên không tránh khỏi sai sót
Chương 2: CƠ SỞ LÝ THUYẾT
Ở chương này em tìm hiểu tổng quan về SSL, các thuật toán, lịch sử phát tiển, ưu điểm nhược điểm của SSL
Chương 3: KẾT QUẢ THỰC NGHIỆM
Kết quả thực nghiệm khi triển khai giao thức SSL
Chương 4: TÀI LIỆU THAM KHẢO
Trang 3CHƯƠNG 2: CƠ SỞ LÍ THUYẾT
2.1 Tổng quan về SSL
2.1.1 Tổng quan SSL
Việc kết nối giữa một Web browser tới bất kỳ điểm nào trên mạng Internet đi qua rất nhiều các hệ thống độc lập mà không có bất kỳ sự bảo vệ nào với các thông tin trên đường truyền Không một ai kể cả người sử dụng lẫn Web server có bất kỳ sự kiểm soát nào đối với đường đi của dữ liệu hay có thể kiểm soát được liệu có ai đó thâm nhập vào thông tin trên đường truyền Để bảo vệ những thông tin mật trên mạng Internet hay bất kỳ mạng TCP/IP nào, SSL đã kếthợp những yếu tố sau để thiết lập được một 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
Với việc sử dụng SSL, các Web site có thể cung cấp khả năng bảo mật thông tin, xác thực và toàn vẹn dữ liệu đến người dùng SSL được tích hợp sẵn vào các browser và Web server, cho phép người sử dụng làm việc với các trang Web ở chế độ an toàn Khi Web browser sử dụng kết nối SSL tới server, biểu tượng ổ khóa sẽ xuất hiện trên thanh trạng thái của cửa sổ browser và dòng “http” trong hộp nhập địa chỉ URL sẽ đổi thành “https” Một phiên giao dịch HTTPS sử dụngcổng 443 thay vì sử dụng cổng 80 như dùng cho HTTP
2.1.2 Mục đích
Ngày nay việc bảo mật thông tin là yếu tố quan trọng dể 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 nhu cầu đó và nó được coi như là “lá chắn cuối cùng” trong bảo mặt thương mại điện tử
Việc truyền thông tin nhạy cảm trên mạng rất không an toàn vì những vấn
đề sau:
Trang 4 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.
Dữ liệu mạng có thể bị chặn, vì vậy dữ liệu có thể bị 1 đối tượng thứ 3khá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 được các vấn đề trên SSL giải quyết vấn đề đầu tiên bằng cách cho phép một cách tự chọn mỗi bên trao đổi có thể chắt chắn về định dạng của phía đối tác trong một quá trình gọi là uthentication( xác thực) Một khi các bên đã được xác thực, SSl cung cấp một kết nối được mã hóa giữa hai bên đã truyền bảo mật các message Việc mã hóa trong quá trình trao đổi thông tin giữa hai 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 ở trên Thuật toá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ư một checksum Nó đảm bảo rằng dữ liệu không bị thây đổi trông quá trình truyền dẩn hàm băm mã hóa giải quyết vấn đề thứ 3 ở trên, tính toà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 suiter(các bộ mã hóa ) được đàm phán giữa 2 đối tượng
Một ví dụ rõ ràng nhất mà trong đó bạn sử dụng SSL là trao đổi thong 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ỉ để 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 các 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
Một khi client và server đã hài lòng với định danh mỗi bênh đối tác SSL cung caaos tính bảo mật và tính toàn vẹn thông qua các thuật toá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à toàn vẹn dũ liệu, nó không cung cấp non- repudiation (tính không từ chối) Non-repudiation có nhĩa là khi một đối tượng gửi đi một message, thì sau đó không thể phủ nhạn việc mình đã gửi message đó Khi một chữ kí số tương đương được liên kết với một message, việc trao đỏi này sau đó có thể được chứng minh SSL một mình cókhông cung cấp non-repudiation
2.2 Lịch sử phát triển SSl
SSL được phát triển bởi Netscape, ngày nay giao thức SSL đã được sử dụng rộng rãi trên World Wide Web trong việc xác thực và mã hoá thông tin giữaclient và server Tổ chức IETF (Internet Engineering Task Force ) đã chuẩn hoá
Trang 5SSL và đặt lại tên là TLS (Transport Layer Security) Mặc dù là có sự thay đổi vềtên nhưng TSL chỉ là một phiên bản mới của SSL Phiên bản TSL 1.0 tương đương với phiên bản SSL 3.1 Tuy nhiên SSL là thuật ngữ được sử dụng rộng rãi hơn.
Giao thức SSL bao gồm 2 giao thức con:
– Giao thức SSL record: xác định các định dạng dùng để truyền dữ liệu
– Giao thức SSL handshake (gọi là giao thức bắt tay) : sử dụng SSL record protocol để trao đổi một số thông tin giữa server và client vào lấn đầu tiên thiết lập kết nối SSL
Khi một client và server trao đổi thông tin trong giai đoạn bắt tay (handshake), họ sẽ xác định bộ mã hoá mạnh nhất có thể và sử dụng chúng trong phiên giao dịch SSL
Như chúng ta đã biết có hai giao thức bảo mật quan trọng lớp vận chuyển (Layer Transport) có tầm quan trọng cao nhất đối với sự bảo mật của các trình ứng dụng trên Web: đó là hai giao thức SSL và TLS
Nói chung, có một số khả năng để bảo vệ bằng mật mã lưu lượng dữ liệu HTTP Ví dụ, vào những năm 1990, tập đoàn CommerceNet đã đề xuất S-HTTP
mà về cơ bản là một cải tiến bảo mật của HTTP Một phần thực thi của S-HTTP
đã làm cho có sẵn công cộng trong một phiên bản được chỉnh sửa của trình duyệtMosaic NCSA mà những người dùng phải mua (trái với trình duyệt Mo NCSA
"chuẩn" có sẵn công cộng và miễn phí trên Internet)
Tuy nhiên, cùng thời điểm Netscape Communication đã giới thiệu SSL vàmột giao thức tương ứng với phiên bản đầu tiên của Netscape Navigator, Trái vớitập đoàn CommerceNet, Netscape Communications đã không tính phí các khách hàng của nó về việc thực thi giao thức bảo mật của nó Kết quả, SSL trở thành giao thức nổi bật để cung cấp các dịch vụ bảo mật cho lưu lượng dữ liệu HTTP
1994 và S-HTTP lặng lẽ biến mất
Cho đến bây giờ, có ba phiên bản của SSL:
1 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
2 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 (Private
Communication Technology) cạnh tranh trong lần tung ra Internet Explorer đầu tiên của nó vào năm 1996
3 SLL 3.0: Netscape Communications đã phản ứng lại sự thách thức PCT của
Trang 6Microsoft 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ó (mặc
dù phiên bản riêng của nó vẫn hỗ trợ PCT cho sự tương thích ngược)
Thông số kỹ thuật mới nhất của SSL 3.0 đã được tung ra chính thức vào tháng 3 năm 1996 Nó được thực thi trong tất cả các trình duyệt chính bao gồm ví dụ Microsoft Internet Explorer 3.0 (và các phiên bản cao hơn), Netscape Navigator 3.0 (và các phiên bản cao hơn), và Open Như được thảo luận ở phần sau trong chương này, SSL 3.0 đã được điều chỉnh bởi IETF TLS WG Thực tế, thông số
kỹ thuật giao thức TLS 1.0 dẫn xuất từ SSL 3.0 Hai phần tiếp theo tập trung chỉ vào các giao thức SSL và TLS; giao thức PCT không được trình bầy thêm trong bài viết sắp tới
2.3 Các thuật toán
Các thuật toán mã hoá và xác thực của SSL được sử dụng bao gồm:
– DES (Data Encryption Standard) là một thuật toán mã hoá có chiều dài khoá là 56 bit
– 3-DES (Triple-DES): là thuật toán mã hoá có độ dài khoá gấp 3 lần độ dài khoá trong mã hoá DES
– DSA (Digital Signature Algorithm): là một phần trong chuẩn về xác thực số đang được được chính phủ Mỹ sử dụng
– KEA (Key Exchange Algorithm) là một thuật toán trao đổi khoá đang được chính phủ Mỹ sử dụng
– MD5 (Message Digest algorithm) được phát thiển bởi Rivest.– 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 dựa trên thuật toán RSA
– RC2 and RC4: là các thuật toán mã hoá được phát triển bởi Rivest dùng cho RSA Data Security
– SHA-1 (Secure Hash Algorithm): là một thuật toán băm đang được chính phủ Mỹ sử dụng
Trang 7 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
Đàm phán Cipher suite :
Một phiên SSL bắt đầu với việc đàm phán giữa client và server xemcipher suite nào mà chúng sẽ sử dùng.Một cipher suite là 1 tập các thuật toá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 ciphersuite bao gồm thông tin về các thuật toán trao đổi khóa công khai và các thuậttoá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 ciphersuite nào nó có sẵn và server lựa chọn cipher suite tốt nhất có thể chấp nhận
Xác thực server :
Trong SSL,bước xác thực là tùy chọn,nhưng trong ví dụ về giao tác commerce trên Web, client theo thông thường sẽ muốn xác thực server.Việc xácthực server cho phép client chắc chắn rằng chính server này đại diện cho đốitượng mà client tin tưởng
e-Để chứng minh server thuộc về tổ chức mà nó khẳng định là nó đạidiệ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ửithô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
Gửi dữ liệu đã mã hóa:
Bây giờ,cả client và server có thể truy cập đến khóa bí mật chung.Với mỗimessage ,chúng dùng đến hàm băm mã hóa,đã được chọn trong bước thứ nhấtcủa tiến trình này,và chia sẻ thông tin bí mật,để tính toán 1 HMAC nối thêm vàomessage.Sau đó,chúng dùng khóa bí mật và thuật toán khóa bí mật đã được đàmphán ở bước đầu tiên của tiến trình này để mã hóa dữ liệu và HMAC antoàn.Client và server giờ đây có thể trao đổi thông tin với nhau 1 cách an toànvới các dữ liệu đã băm và mã hóa
Giao thức SSL:
Phần trước cung cấp sự mô tả sơ lược về SSL handshake, là sự trao đổithông tin giữa client và server trước khi gửi các message đã được mã hóa.Phầnnày mô tả chi tiết hơn.Hình sau minh họa chuỗi tuần tự các message được trao
Trang 8đổ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.
Hình 2.4: Các message 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ậttoán mã hóa và kích thước khóa
Trang 92) 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ề choclient
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ôngkhai của server và kết thúc bằng chứng chỉ gốc của tổ chức có thẩmquyề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àyhiế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ó hoà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 message3
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óanày bằng khóa công khai của server rồi gửi nó đến server
Trang 109) 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 hoàn thành tiến trình xácthự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ằngkhó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ã
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 toá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ênSSL 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:
Trang 11Giao thức SSL/TLS định nghĩa 1 chuỗi các bước đặc biệt để bảo đảm 1kế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 đượcchọ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ảovệ.Thêm vào đó,giao thức SSL/TLS không chỉ rõ rằng những tài liệu chứng nhậnnhậ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 rathì đượ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ẽ đượcxé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 ứngdụ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
2.5 Kiến trúc SSL
SSL được thiết kế để dùng TCP cung cấp 1 dịch vụ bảo mật đầu cuối-đến-đầucuối đáng tin cậy.SSL không phải là một giao thức đơn mà là 2 lớp giao thức,như minhhọa dưới đây
Hình 2.5 : Chồng giao thức SSLSSL Record Protocol cung cấp các dịch vụ bảo mật cơ bản cho nhiều giao thứckhác nhau ở các lớp trên.Trong thực tế, Hyper Text Transfer Protocol (HTTP),cung cấpdịch vụ trao đổi cho tương tác Web client/server,có thể hoạt động trên đỉnh của SSL.Bagiao thức lớp trên được định nghĩa như là các phần của SSL: HandshakeProtocol,Change Cypher Spec Protocol và Alert Protocol.Các giao thức mang tính đặctrưng-SSL này được dùng trong phần quản lý trao đổi SSL và được xét đến trong phầnsau
Trang 12Hai khái niệm SSL quan trọng là SSL session (phiên SSL) và SSL connection(kết nối SSL) ,được định nghĩa như sau:
Connection ( kết nối): 1 kết nối là 1 transport _ trong định nghĩa mô hình
phân lớp OSI_ cung cấp 1 loại dịch vụ thích hợp.Với SSL,những kết nối như vậy
là những mối quan hệ ngang hàng.Các kết nối thì trao đổi nhanh chóng.Mỗi kếtnối gắn với 1 phiên
Session (phiên): 1 phiên SSL là 1 liên kết giữa 1 client và 1 server.Các
phiên được tạo ra bằng Handshake Protocol (giao thức bắt tay).Các phiên địnhnghĩa 1 tập các tham số bảo mật bằng mật mã,có thể được chia sẻ giữa nhiều kếtnối.Các phiên được dùng để tránh những đàm phán tốn kém_về các tham số bảomật mới_cho mỗi kết nối
Giữa bất kì 1 cặp của nhóm nào (các ứng dụng như HTTP trên client hayserver),có thể có nhiều kết nối bảo mật Về lý thuyết ,có thể có nhiều phiên đồng thờigiữa các nhóm,nhưng đặc trưng này không được dùng trong thực tiễn
Thực sự có nhiều trạng thái gắn với mỗi phiên.Một khi 1 phiên được thànhlập,có trạng thái hoạt động hiện thời cho cả đọc và ghi, (như nhận và gửi ).Thêm vàođó, trong suốt quá trình Handshake Protocol, trạng thái treo đọc và ghi được tạo ra.Dựatrên kết luận thành công của Handshake Protocol,các trạng thái treo trở thành trạng tháihiện thời
- Một trạng thái phiên được định nghĩa bởi các thông số sau (các định nghĩa lấy từ đặc trưng SSL):
Session Identifier : 1 chuỗi byte bất kì được chọn bởi server để nhận
dạng trạng thái phiên là hoạt động(active) hay phục hồi lại (resumable)
Peer certificate: một chứng chỉ X509.v3.Thành phần này của trạng thái
có thể là null
Compression method: thuật toán được dùng để nén dữ liệu trước khi mã
hóa
Cypher spec : chỉ ra thuật toán mã hóa dữ liệu (như rỗng,AES…) và
thuật toán băm (như MD5 hay SHA –
- Sử dụng để tính toán MAC.Nó cũng định nghĩa các thuộc tính mã hóa như size.
Master secret : 48 byte bí mật được chia sẻ giữa client và server.
Trang 13Is resumable : một cờ chỉ ra rằng phiên này có thể được dùng để khởi tạo
các kết nối khác hay không
Một trạng thái kết nối được định nghĩa bởi các tham số sau:
Server and client random: các chuỗi byte được chọn bởi server và client
cho mỗi kết nối
Server write MAC secret: khóa bí mật được sử dụng bởi phép tính MAC
trên dữ liệu, được gửi bởi server
Client write MAC secret: khóa bí mật được sử dụng bởi phép tính MAC
trên dữ liệu,được gửi bởi client
Server write key: khóa mã hóa quy ước cho dữ liệu được mã hóa bởi
server và giải mã bởi client
Client write key :khóa mã hóa quy ước cho dữ liệu được mã hóa bởi
client và giải mã bởi server
Initialization vectors: khi 1 khối mã trong mode CBC được dùng, một
vector khởi tạo (IV) được duy trì cho mỗi key.Phần này được khởi tạo trước tiênbởi SSL Handshake Protocol.Sau đó,khối mã hóa cuối cùng từ mỗi record được
để dành lại để dùng làm IV cho record sau
Sequence number : mỗi bên duy trì các sequence number riêng cho mỗi
message được truyền hoặc được nhận trong mỗi kết nối.Khi 1 bên gửi hoặc nhậnmột change cypher spec message, sequence number thích hợp được thiết lập về0.Sequence number không thể vượt quá 264-1
2.6 Ưu điểm và hạn chế của SSL
2.6.1.Ưu điểm
Chứng chỉ SSL cũng cung cấp sự an toàn ngay lập tức và sự an tâm cho khách hàng của bạn, nếu website của bạn sử dụng bảo mật SSL thì nó sẽ hiển thị rằng nó an toàn bằng cách hiển thị một ổ khóa hoặc một thanh địa chỉ màu xanh
lá cây
Mã hóa thông tin
Tất nhiệm nhiệm vụ chính và cũng là lợi ích dịch vụ SSL mang lại chính
là việc mã hóa thông tin Thông tin sau khi được mã hóa chỉ được đọc và hiểu