Tìm hiểu về SSL và ứng dụng trên web sever
Web Server (Máy phục vụ Web): máy tính mà trên đó cài đặt phần
mềm phục vụ Web, đôi khi người ta cũng gọi chính phần mềm đó là
Web Server. Tất cả các Web Server đều hiểu và chạy được các file *.htm
và *.html.
- Máy Web Server là máy chủ có dung lượng lớn, tốc độ cao, được
dùng để lưu trữ thông tin như một n hàng dữ liệu, chứa những website
đã được thiết kế cùng với những thông tin liên quan khác. (các mã
Script, các chương trình, và các file Multimedia).
- Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có
thể có một Domain Name.
- Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu
truy cập các tông tin từ một trang Web nào đó, Web Server Software sẽ
nhận yêu cầu và gửi lại cho bạn những thông tin mà bạn mong muốn.
22 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3912 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Tìm hiểu về SSL và ứng dụng trên web sever, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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
2MỤ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 thức SSL Alert………………………………………………………………………………....9
I.2.4 Giao thức SSL Handshake………………………………………………………………….10
I.3 Các thuật toán mã hóa dùng trong SSL………………………………………………… 12
II. Ứng dụng của SSL…………………………………………………………………...13
II.1 Các ứng dụng phổ biến của SSL………………………………………………………. 13
II.2 Ứng Dụng SSL Trên Web Server………………………………………………………14
II.2.1 Web Server ? ……………………………………………………………………….14
II.2.2 Giải Pháp Bảo Vệ Web Server……………………………………………………...16
II.2.3 Quy Trình Và Cài Đặt SSL…………………………………………………………18
III. Demo …………………………………………………………………………………. 19
TÀI LIỆU THAM KHẢO……………………………………………………………………..20
3LỜI NÓI ĐẦU
-Như chúng ta đã biết thì kể từ khi Internet ra đời. Cùng theo đó lĩnh vực công nghệ tin không
ngừng phát triền, kèm theo Mạng Internet mang lại rất nhiều tiện ích hữu dụng cho người sử
dụng, một trong các tiện ích phổ thông của Internet là hệ thống thư điện tử (email), trò chuyện
trực tuyến (chat), máy truy tìm dữ liệu (search engine), các dịch vụ thương mại và chuyển ngân,
và các dịch vụ về y tế giáo dục như là chữa bệnh từ xa hoặc tổ chức các lớp học ảo. Chúng cung
cấp một khối lượng thông tin và dịch vụ khổng lồ trên Internet.
- Nguồn thông tin khổng lồ kèm theo các dịch vụ tương ứng chính là hệ thống các trang
Web liên kết với nhau và các tài liệu khác trong WWW (World Wide Web).
=>Đó là một kênh trao đổi thông tin rất hữu ích và nhanh chong . Song tất cả không phải là
toàn mỹ , nghĩa là mọi thông tin khi bạn trao đổi thông qua Internet có thể bị bên thứ 3 tác
độ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 mong Thầy và các bạn đóng góp ý kiến để đề tài được hoàn thiệ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 đã giúp chúng em
hoàn thành đề tài này.
Tìm hiểu SSL và ứng dụng trên Web Sever
I. Giới thiệu về SSL
I.1 Lịch sử phát triển của giao thức SSL
I.1.1 Tại sao sử dụng SSL?
- Như chúng ta đã biết công nghệ thông tin ngày càng phát triển và thay đổi hàng ngày hàng giờ. Đồng
thời cùng với sự ra đời của Internet, thì đã góp phần tăng thêm một kênh truyền tải thông tin.
- 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 thương mại điện tử.
- Việc truyền các thông tin nhạy cảm trên mạng rất không an toàn vì những vấn đề sau:
+ 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.
- Như vậy SSL được đã được phát triển nhằm giải quyết triệt để các vấn đề trên
I.1.2 Giao thức SSL là gì?
- SSL (Secure Sockets Layer) là giao thức an ninh thông tin mạng được sử dụng rộng rãi nhất
hiện nay nhằm mã hóa và cung cấp một kênh an toàn giữa các máy tính trên Internet hoặc mạng
5nội bộ. SSL thường được sử dụng khi một trình duyệt web cần kết nối bảo mật đến một máy
chủ web.
- Được phát triển bởi Netscape, ngày nay giao thức Secure Socket Layer (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á 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.
- 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 triển bởi Netscape.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ế giới đã và đang ứng dụng
SSL trong thương mại điện tử.
- Cho đến bây giờ, có ba phiên bản của SSL:
* 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 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 5: Chồng giao thức SSL
- 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 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
- Như vậy có ta thấy SSL có 2 lớp giao thức hay 4 thành phần con của SSL:
+ SSL Handshake Protocol.
7+ SSL Change Cipher Spec Protocol.
+ SSL Alert Protocol.
+ SSL Record Protocol.
II.2.1 Giao Thức SSL Record Protocol.
SSL Record Protocol cung cấp 2 dịch vụ cho kết nối SSL:
+ Confidentiality (tính cẩn mật): Handshake Protocol định nghĩa 1 khóa bí mật được chia
sẻ, khóa này được sử dụng cho mã hóa quy ước các dữ liệu SSL.
+ Message integrity (tính toàn vẹn thông điệp):Handshake Protocol cũng định nghĩa 1 khóa
bí mật được chia 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 Protocol.SSL 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ữ liệu 1 cách
tùy chọn,áp dụng vào 1 MAC,mã hóa,thêm vào header,và truyền khối kết quả thu được trong
1 segment TCP.Dữ liệu nhận được được giải mã,kiểm tra ,giải nén,sắp xếp lại và phân phối
đến người sử dụng ở lớp cao hơn.
8Phâ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à 214byte
(16384 byte) hoặc ít hơn.
Nén: Nén phải là không mất mát thông tin và có thể không làm tăng chiều dài nội dung nhiều hơn
1024 byte (Dĩ nhiên,người ta mong muốn nén làm co lại dữ liệu hơn là nới rộng dữ liệu.Tuy nhiên
,với những block ngắn,có thể ,do định dạng quy ước,thuật toán nén thực sự làm cho output dài hơn
input).Trong SSLv3 (cũng như phiên bản hiện tại của TLS),không có thuật toán nén nào được chỉ
rõ,vì vậy thuật toá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 hiện cần dùng đến1
khóa bí mật được chia sẻ.Phép tính được định nghĩa như sau:
hash(MAC_write_secret || pad_2 || hash(MAC_write_secret || pad_1 ||seq_num
||SSLCompressed.type || SSLCompressed.length || SSLCompressed.fragment))
trong đó:
+ || : phép nối/hoặc.
+MAC_write_secret: khóa bí mật được chia sẻ.
+ hash: thuật toán băm mã hóa, MD5 hoặc SHA-1.
+ pad_1: byte 0x36 (0011 0110) được lặp lại 48 lần (384 bit) cho MD5 và 40 lần (320 bit) cho
SHA-1.
+ pad_2: byte 0x5c (0101 1100) được lặp lại 48 lần cho MD5 và 40 lần cho SHA-1.
+seq_num: sequence number cho message nay
+SSLCompressed.type: giao thức ở lớp trên được dùng để xử lí phân mảnh này.
+SSLCompressed.length: chiều dài của phân mảnh đã được nén.
+SSLCompressed.fragment: phân mảnh đã được nén (nếu nén không được dùng, phân mảnh ở dạng
plaintext).
Mã hóa theo phương pháp mã hóa đối xứng:Mã hóa có thể 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á 214+2048. Các thuậ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)
Thuật toán Kích thước khóa Thuật toán Kích thước khóa
AE
S
128,25
6
RC4-
40
40
IDE
A
128 RC4-128 128
RC2-
40
40
DES-
40
40
DE
S
56
3DE
S
168
Fortezz
a
80
9Cuối cùng của xử lí SSL Record Protocol là gắn thêm vào1 header ,bao gồm các mục sau:
Content Type (8 bit): giao thức lớp trên được dùng để xử lí phân mảnh đi kèm.
Major Version (8 bit): chỉ ra phiên bản SSL tối đa được dùng. Ví dụ, SSLv3,giá trị này là 3.
Minor Version (8 bit) : chỉ ra phiên bản tối thiểu được dùng.Ví dụ, SSLv3 ,giá trị này là 0.
Compressed Length (16 bit) : chiều dài theo byte của phân mảnh plaintext (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 nhất là 214+2048.
I.2.2 Giao thức SSL Change Cipher Spec Protocol
Giao thức SSL Change Cipher Spec là giao thức đơn giản nhất trong ba giao thức đặc trưng
của SSL mà sử dụng giao thức SSL Record . Giao thức này bao gồm một message đơn 1 byte
giá trị là 1. Mục đích chính của message này là sinh ra trạng thái tiếp theo để gán vào trạng thái
hiện tại,và trạng thái hiện tại cập nhật lại bộ mã hóa để sử dụng trên kết nối này.
I.2.3 Giao thức SSL Alert
Giao thức SSL Alert được dùng để truyền cảnh báo liên kết SSL với đầu cuối bên kia.Như
với những ứng dụng khác sử dụng SSL, alert messages được nén và mã hóa, được chỉ định bởi
trạng thái hiện tại.
Mỗi message trong giao thức này gồm 2 bytes .Byte đầu tiên giữ giá trị cảnh báo(1) hoặc nguy
hiểm(2) để thông báo độ nghiêm ngặt của message.Nếu mức độ là nguy hiểm,SSL 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ể tiếp tục nhưng sẽ không 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 mã chỉ ra cảnh báo đặc trưng.Đầu tiên ,
chúng ta liệt kê những cảnh báo đó mà luôn ở mức nguy hiểm ( được định nghĩa từ những thông số
SSL):
10
unexpected_message: message không thích hợp
bad_record_mac: MAC không chính xác
decompression_failure: việc giải nén nhận input không thích hợp(ví dụ như không thể
giải nén hoặc giải nén lớn hơn độ dài tố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 handshake message thì vượt khỏi dãy hoặc trái với
những trường khác
Phần còn lại của cảnh báo thì như sau:
close_notify: thông báo cho bên nhận rằng bên gửi sẽ không gửi thêm message nào nữa trong
kết nối này.Mỗi nhóm thì được yêu cầu gửi một close_notify cảnh báo trước khi kết thúc
phần ghi của một kết nối.
no_certificate: có thể được gửi để trả lời cho một yêu cầu certificate nếu không certificate
thích hợp nào 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ỗ trợ.
certificate_revoked: certificate đã bị thu hồi bởi nhà cung cấp.
certificate_expired: certificate đã hết hạn đăng ký.
certificate_unknown: một số phát sinh không nói rõ xuất hiện trong quá trình xử ký
certificate làm cho nó không thể chấp nhận.
I.2.4 Giao Thức SSL Handshake
Giao thức này cho phép server và client chứng thực với nhau và 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 trong SSL record.Giao thức SSL Handshake 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à
digital signature) và một số thông tin khác mà server cần để thiết lập
kết nối với client.
2) Server gửi cho client 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 và một số thông tin
khác mà client cần để thiết lập kết nối với server. Ngoài ra server cũng
gửi certificate của nó đến client, và yêu cầu certificate của client nếu
cần.
3) Client sử dụng một số thông tin mà server gửi đến để xác thực
server. Nếu như server không được xác thực thì người sử dụng sẽ được
cảnh báo và kết nối không được thiết lập. Còn nếu như xác thực được
server thì phía client sẽ thực hiện tiếp bước 4.
13
4) Sử dụng tất cả các thông tin được tạo ra trong giai đoạn bắt tay ở
trên, client (cùng với sự cộng tác của server và phụ thuộc vào thuật
toán được sử dụng) sẽ tạo ra premaster secret cho phiên làm việc, mã
hoá bằng khoá công khai (public key) mà server gửi đến trong
certificate ở bước 2, và gửi đến server.
5) Nếu server có yêu cầu xác thực client, thì phía client sẽ đánh dấu
vào phần thông tin riêng chỉ liên quan đến quá trình “bắt tay” này mà
hai bên đều biết. Trong trường hợp này, client sẽ gửi cả thông tin được
đánh dấu và certificate của mình cùng với premaster secret đã được mã
hoá tới server.
6) Server sẽ xác thực client. Trường hợp client không được xác thực,
phiên làm việc sẽ bị ngắt. Còn nếu client được xác thực thành công,
server sẽ sử dụng khoá bí mật (private key) để giải mã premaster secret,
sau đó thực hiện một số bước để tạo ra master secret.
7) Client và server sẽ sử dụng master secret để tạo ra các session key,
đó chính là các khoá đối xứng được sử dụng để mã hoá và giải mã các
thông tin trong phiên làm việc và kiểm tra tính toàn vẹn dữ liệu.
8) Client sẽ gửi một lời nhắn đến server 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 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
dựa trên thuật toán RSA.
- RC2 and RC4:
- SHA-1 (Secure Hash Algorithm):
- Các thuật toán trao đổi khoá như KEA, RSA key exchange được sử
dụng để 2 bên client và server xác lập khoá đối xứng mà họ sẽ sử dụng
trong suốt phiên giao dịch SSL. Và thuật toán được sử dụng phổ biến là
RSA key exchange
- Các phiên bản SSL 2.0 và SSL 3.0 hỗ trợ cho hầu hết các bộ mã hoá.
Người quản trị có thể tuỳ chọn bộ mã hoá sẽ dùng cho cả client và
15
server. 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.
II. Ứng dụng của SSL
II.1 Các ứng dụng phổ biến của SSL
Tuy đến nay vẫn còn tồn tại một số lỗ hổng có thể bị khai thác nhưng SSL
vẫn là giao thức bảo mật cao nhất mà chưa một giao thức bảo mật nào có thể
thay thế vai trò của nó . Nó phổ biến đến mức nếu thấy tên một giao thức có
hậu tố “s” thì người ta biết ngay giao thức ứng dụng đó được kết hợp kèm với
SSL. Sau đây là một số port phổ biến của những ứng dụng đi kèm SSL được
IANA( Internet Assigned Numbers Authority) công nhận :
Hình 1
- Ngoài một số ứng dụng phổ biến hiện nay của SSL như bảo mật trong
Remote Desktop Protocol cho kết nối Terminal Service, Http cho Outlook
Name Port Description
Nsiiop 261 Dịch vụ IIOP trên TLS/SSL
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 TLS/SSL
Ftps 990 FTP-điều khiển trên TLS/SSL
Telnets 992 TELNET trên TLS/SSL
Imaps 994 IRC trên TLS/SSL
16
Web Access hay Smtp/Imap/Pop3 cho mail , ứng dụng quan trọng của SSL
mà không thể không nhắc tới là SSL VPN
- Đó là lý do 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 triển các sản phẩm hổ trợ SSL VPN mà cả
những nhà cung cấp thiết bị mạng “mềm” như Microsoft cũng đưa nó vào sản
phẩm Windows Server 2008 và Windows Vista Service Pack 1 của mình
với cơ chế Secure Socket Tunneling Protocol (SSTP).
II.2 Ứng Dụng SSL Trên Web Server
II.2.1 Web Server ?
- Web Server (Máy phục vụ Web): máy tính mà trên đó cài đặt phần
mềm phục vụ Web, đôi khi người ta cũng gọi chính phần mềm đó là
Web Server. Tất cả các Web Server đều hiểu và chạy được các file *.htm
và *.html.
- Máy Web Server là máy chủ có dung lượng lớn, tốc độ cao, được
dùng để lưu trữ thông tin như một n hàng dữ liệu, chứa những website
đã được thiết kế cùng với những thông tin liên quan khác. (các mã
Script, các chương trình, và các file Multimedia).
- Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có
thể có một Domain Name.
- Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu
truy cập các tông tin từ một trang Web nào đó, Web Server Software sẽ
nhận yêu cầu và gửi lại cho bạn những thông tin mà bạn mong muốn.
17
Hình 2
- Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngày
một năm, để phục vụ cho việc cung cấp thông tin trực tuyến.
-Có nhiều loại Web Server khác nhau, nhưng chủ yếu trên thị trường chỉ
thường sử dụng Apache và IIS (Internet Information Server của
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.
Trong đó thì :
CSR-Certificate Signing Request:Là một block Text được mã hóa
được lấy từ server mà ta sẽ dùng Certificate. Nó chứa những thông tin
xác thực như :organization name, common name (domain name),
locality, and country và publickey và một private key sẽ được tạo cùng
lúc tạo CSR .
Nội dung 1 CSR thường là :
20
+ Định dạng của SCR : Hấu hết các CSR được mã hóa theo Base64
-----BEGIN CERTIFICATE REQUEST-----
MIIByjCCATMCAQAwgYkxCzAJBgNVBAYTAlVTMRMwEQYDVQQ
IEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV
3MRMwEQYDVQQKEwpHb29nbGUgSW5jMR8w
HQYDVQQLExZJbmZvcm1hdGlvbiBUZWNobm9sb2d5MRcwFQYDVQ
QDEw53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQ
AwgYkCgYEApZtYJCHJ4VpVXHfVIlstQTlO4qC03hjX+ZkPyvdYd1Q4+
qbAeTwXmCUKYHThVRd5aXSqlPzyIBwieMZrWFlRQddZ1IzXAlVRD
WwAo60KecqeAXnnUK+5fXoTI/UgWshre8tJ+x/TMHaQKR/cIWPhqaQh
sJuzZbvAdGA80BLxdMCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4
GBAIhl4PvFq+e7ipARgI5ZM+GZx6mpCz44DTo0JkwfRDf+BtrsaC0q68e
Tf2XhYOsq4fkHQ0uA0aVog3f5iJxCa3Hp5gxbJQ6zV6kJ0TEsuaaOhEko9
sdpCoPOnRBm2i/XRD2D6iNh8f8z0ShGsFqjDgFHyF3o+lUyj+UC6H1Q
W7bn
-----END CERTIFICATE REQUEST-----
21
Certificate Authorety ( CA ):
- Là tổ chức cấp phát chữ kí điện tử.Nó giữ lại những thông tin nó ban
hành và những thông tin để phát hành chữ kí điện tử đó.
-Tính phí hoặc free:
+ Free : StartCom,Cacert ,các trial cua các CA, Godaddy
(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.
Các file đính kèm theo tài liệu này:
- sslset_120515003436_phpapp02_7451.pdf