1
Mụ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
1
CHƯƠ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.
1.2 Nhiệm vụ đồ án.
Tìm hiểu lý thuyết về SSL , tìm hiểu lịch sử SSL và một số vấn đề liên quan đến
SSL.
Kết quả đạt được: hiểu rỏ hơn về SSL , và cách giử bảo mật cho 1 website.
1.3 Cấu trúc của đồ án.
Đồ án gồm 5 chương chính:
Chương 1: TỔNG QUAN
Trong chương này em giới thiệu sơ về các mục tiêu em tìm
hiểu.
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
2
CHƯƠ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ết
hợ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ụng
cổ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:
3
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ứ 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 đượ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ữa
client và server. Tổ chức IETF (Internet Engineering Task Force ) đã chuẩn hoá
4
SSL 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ệt
Mosaic 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ới
tậ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
5
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ó (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.
2.4. Quá trình hoạt động 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 suit.
6
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 xem
cipher 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 cipher
suite bao gồm thông tin về các thuật toán trao đổi khóa công khai và các thuật
toá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.
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 ecommerce 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.
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ỗ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 toán 1 HMAC nối thêm vào
message.Sau đó,chúng dùng khóa bí mật và thuật toá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
toà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.
Giao thức SSL:
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
7
đổ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ật
toán mã hóa và kích thước khóa.
8
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ó 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 message
3.
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
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 hoà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 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 closenotify để 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:
10
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 suitekhô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 .
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-đầu
cuố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ư minh
họa dưới đây.
Hình 2.5 : Chồng giao thức SSL
SSL Record Protocol cung cấp các dịch vụ bảo mật cơ bản cho nhiều giao thức
khác nhau ở các lớp trên.Trong thực tế, Hyper Text Transfer Protocol (HTTP),cung cấp
dịch vụ trao đổi cho tương tác Web client/server,có thể hoạt động trên đỉnh của SSL.Ba
giao thức lớp trên được định nghĩa như là các phần của SSL: Handshake
Protocol,Change Cypher Spec Protocol và Alert Protocol.Các giao thức mang tính đặc
trưng-SSL này được dùng trong phần quản lý trao đổi SSL và được xét đến trong phần
sau.
11
Hai 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ết
nố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 định
nghĩ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ết
nố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ảo
mậ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 hay
server),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ời
giữ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ành
lậ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ựa
trê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ái
hiệ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ư hashsize.
Master secret : 48 byte bí mật được chia sẻ giữa client và server.
12
Is 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ên
bở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ận
mộ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
13
bởi người được chỉ định. Sẽ không có cơ hội cho một người thứ 3 dễ dàng lấy
được thông tin của bạn. Dù có lấy được cũng sẽ không hiểu được nội dung đó là
gì.
Cung cấp sự xác thực (Chứng thực máy chủ)
Khách hàng sẽ an tâm khi cung cấp cho bạn các thông tin cá nhân của
họ trên website/email của bạn khi bạn có chứng thực có sử dụng dịch vụ SSL
này.
Chứng chỉ SSL sẽ giữ cho bạn và website/email của bạn được bảo vệ
và không chỉ là khách hàng của bạn. Để làm việc website của bạn sẽ sử dụng
một máy chủ, nơi tất cả các thông tin và chi tiết của bạn về website/email của
bạn được lưu trữ trực tuyến và do đó bạn sẽ cần một cái gì đó gọi là giấy
chứng nhận kỹ thuật số. Khi bạn mua một chứng chỉ SSL, bạn sẽ được cung
cấp một một trong những chứng chỉ này. Khách hàng và khách truy cập vào
website của bạn sau đó bạn sẽ có thể đọc chúng. Giấy chứng nhận kỹ thuật số
thu được từ các bên thứ ba đáng tin cậy được gọi là Certificate Authorities
(Chứng nhận phân quyền) có thể đảm bảo việc mã hóa các website của bạn.
Chứng chỉ SSL gần như là an toàn tuyệt đối với những kẻ lừa đảo trực
tuyến để giả vờ là một máy chủ khác trên website của bạn, và SSL làm cho
khách hàng của bạn cảm thấy an toàn và muốn sử dụng website của bạn một
lần nữa.
Chống lừa đảo & Tăng sự tin tưởng với khách hàng.
Cũng tương tự như vấn đề trên, nếu khách hàng của bạn nhận được
những email lừa đảo mang danh nghĩa của bạn. Họ sẽ dễ dàng nhận biết liệu
trang web này có an toàn hay không bằng cách xem thông tin. Điều này đảm
bảo an toàn cho khách hàng của bạn cũng như giúp gia tăng uy tín của công
ty.
Niềm tin của khách hàng có lẽ là lý do chính tại sao bạn cần phải có
một giấy chứng nhận SSL ở vị trí trên website của bạn. Nó sẽ cho phép khách
hàng xem và xác minh rằng bạn đang bảo vệ thông tin cá nhân của họ một
cách nghiêm túc. Đây là lý do tại sao quan trọng để hiển thị và đặt biểu tượng
chứng chỉ SSL trên website của bạn. Ngoài ra một ý tưởng để thông báo cho
khách hàng rằng bạn đang sử dụng một SSL để giữ cho website của bạn an
toàn để đặt các thông tin trong website của bạ
Cần thiết cho các hoạt động thanh toán.
Nếu như website của bạn là một trang thương mại điện tử, hay hỗ trợ
thanh toán qua mạng. Hẳn là bạn đã phải biết dịch vụ SSL này, vì hầu hết các
14
hình thức thanh toán Payment đòi hỏi các website phải có chứng chỉ SSL với mã
hóa ít nhất là 123-bit. Bạn sẽ không thể tích hợp hình thức thanh toán nếu không
đáp ứng được những yêu cầu này.
Khách hàng cũng được hưởng lợi ích từ việc bạn sử dụng SSL cho
website/email.
Điều quan trọng đối với khách truy cập vào website của bạn là họ được
bảo vệ thông tin an toàn đó là một lợi thế trước các đối thủ đang cạnh tranh kinh
doanh với bạn. Các website với một chứng chỉ SSL sẽ bảo vệ bất kỳ thông tin
thanh toán cá nhân của khách hàng. Nếu bạn là một người truy cập vào website
để mua hàng, thì một trong những điều quan trọng mà sẽ trong đầu của bạn là
website này có an toàn để sử dụng và bạn sẽ muốn biết rằng thông tin cá nhân
của bạn an toàn hay không. Bằng cách sử dụng các chứng chỉ SSL, bạn sẽ biết
rằng các website mà bạn đang sử dụng là an toàn và các công ty trực tuyến mà
bạn đang sử dụng là công ty an toàn và uy tín.
2.6.2 Nhược điểm.
+ thêm tiền để duy trì chứng chỉ https (đừng có dại mà dùng hàng free, web nó rớt
lên rớt xuống chỉ làm cho khách hàng bực mình bỏ đi vì quá trình mã hóa giải mã ở
cụm máy chủ lỗi thì 404 ngay)
+ nếu trang tên tuổi lâu ngày rồi chắc bị rớt mất vài từ khóa đến vài chục từ khóa
sau khi chuyển trong quá trình redirect tạm thời anh google có thể chưa index kịp
+ một số khai báo cũ http với anh face, lượng like, comment có thể bị mất trắng khi bạn
chuyển sang https
Ta nên chuyển sang SSL, nhưng mà cứ đợi mấy cái trang như vnxpress, dân trí,
nó chuyển sang https đã sau đó mình chuyển cũng chưa muộn nếu như bạn đang phân
vân.
ngoài ra bạn là web mới cần đầu tư nghiêm túc, lâu dài cũng nên chuyển
15
CHƯƠNG 3. KẾT QUẢ THỰC NGHIỆM
3.1 Ứng dụng phổ biến của SSL.
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ố.
Hình 3.1.1. Thống kê các nhãn hiệu chứng chỉ số được dùng bởi 100 nhà bán lẻ lớn
nhất toàn cầu năm 2009:
16
Hình 3.1.2.
3.2. cài đặt SSL
Yêu cầu các công cụ sau:
3.2.1. cài đặt Active Directory Cetificate Services.
Server Manager>Dashboard>Add roles and features
Chọn ok
17
Sau đó tiếp tục lick Next đến muc seve roles> Active Directory Cetificate Services
Tiếp tục ấn Next đến muc Role Services chọn Certification Authority Web
Enrollment.
Tiếp tục Next đến Role Services>Centralized SSL Certificate Support
18
Next>Restart the destimation server automaticcally if raquired>install
3.2.2. cấu hình Active Directory Cetificate Services
Lick vào biểu tượng như hình
19
Next> Role Services chọn Cetification Authority và Cetification Authority Wed
Enrollment.
Tiếp tục Next >Confimation>Configure
Kiểm tra lại các quá trình.
20
3.2.3. Request Cetificate từ CA server.
Mở trinh duyệt>truy cập localhost/certsrv>Request certificate>Advanced certificate
request>Create and submit a request to this CA>Yes>Yes để bắt đầu Request
21
Tiếp tục điền Name
Chọn server Authentimation Cetificate
Lick ô mark keys as exportable>điền https vào ô Friendly name ở dưới>Submit.
22
3.2.4 cấu hình IIS với Cetificate
Server Manager>Dashboard>Tools>Intenet information Services(IIS) manager
Lick chuột phải import>add thông tin host vào
23
Chọn Sites>Default Web Site>bindigs
Chọn All>điền thong tin như hình>ok >Clost
Kết quả nhận được
24
3.3. Phân tích
Mở tập tin ssl.pcapng bắt được trên wireshark, sau khi client truy cập vào trang web
trên máy server
1.
2.
3.
4.
Lọc gói tin ssl
Cho biết phiên bản giao thức ssl
Các thông điệp bắt tay của giao thức ssl
Mã hóa dữ liệu ssl
Thông điệp Client Hello
SSL bắt tay được bắt đầu với thông điệp Client Hello được thể hiện trong hình bên
dưới: