Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

*HTTPS

1. Tổng quan:
_ Hypertext Transfer Protocol Security (HTTPS) là một phần mở rộng của Hypertext
Transfer Protocol (HTTP). Nó được sử dụng để giao tiếp an toàn qua mạng máy tính và
được sử dụng rộng rãi trên Internet.
_ Trong HTTPS, giao thức truyền thông được mã hóa bằng Transport Layer Security
(TLS) hay trước đây là Secure Sockets Layer (SSL). Do đó, giao thức này còn được gọi
là HTTP qua TLS, hoặc HTTP qua SSL.
_ Các động cơ chính để dùng HTTPS là xác thực trang web được truy cập và bảo vệ
quyền riêng tư và tính toàn vẹn của dữ liệu được trao đổi trong khi truyền. Nó bảo vệ
chống lại các cuộc tấn công của kẻ trung gian và mã hóa hai chiều của giao tiếp giữa máy
khách và máy chủ bảo vệ thông tin liên lạc khỏi bị nghe trộm và giả mạo.
2. Đôi nét lịch sử
_ Netscape Communications đã tạo ra HTTPS vào năm 1994 cho trình duyệt web
Netscape Navigator. Ban đầu, HTTPS được sử dụng với giao thức SSL. Khi SSL phát
triển thành Bảo mật tầng truyền tải (TLS), HTTPS được RFC 2818 chính thức xác định
vào tháng 5 năm 2000. Google đã thông báo vào tháng 2 năm 2018 rằng trình duyệt
Chrome của họ sẽ đánh dấu các trang web HTTP là "Không an toàn" sau tháng 7 năm
2018.[38] Động thái này nhằm khuyến khích chủ sở hữu trang web triển khai HTTPS,
như một nỗ lực để làm cho World Wide Web an toàn hơn.

3. Cách thức hoạt động:

Quá trình hoạt động diễn ra như sau:


1. Client sẽ gửi request cho một secure page (có URL bắt đầu với https://)
2. Sau đó Server gửi phản hồi lại cho client certificate của nó.
3. Tiếp đến Client (web browser) tiến hành kiểm chứng xác thực certificate này
bằng cách kiểm tra (verify) dựa trên tính hợp lệ của chữ ký số của CA được kèm theo
certificate. Giả sử trường hợp ,certificate đã được xác thực và còn hạn sử dụng hoặc
client vẫn muốn truy cập dù cho Web browser đã cảnh báo trước rằng certificate này có
thể không đáng tin cậy (do là dạng self-signed SSL certificate hoặc certificate hết hiệu
lực hay thông tin trong certificate cập nhật không đúng) thì lúc đó mới xảy ra diễn biến
nằm ở bước 4 sau.
4.Client ngẫu nhiên tự tạo một symmetric encryption key (hay còn gọi là session
key), rồi sử dụng public key (được lấy trong certificate) để mã hóa session key này và sau
đó gửi về cho server.
5. Server sẽ sử dụng private key này (tương ứng với public key trong certificate ở
trên) để giải mã ra session key như ở trên.
6. Cuối cùng, cả server và client đều sử dụng session key đó để mã hóa/giải mã
các thông điệp trong suốt quá trình phiên truyền thông.

Điều hiển nhiên là các session key này sẽ được tạo ra một cách ngẫu nhiên và có sự thay
đổi để khác nhau trong mỗi phiên làm việc với server. Ngoài encryption thì cơ chế
hashing cũng sẽ được dùng để chắn chắn bảo toàn về tính chất Integrity cho các thông
điệp khi được trao đổi.
Ví dụ:
Giả sử một khách hàng truy cập trang web thương mại điện tử của nhà bán lẻ để mua một
mặt hàng. Khi khách hàng sẵn sàng đặt hàng, họ sẽ được chuyển đến trang đặt hàng của
sản phẩm. URL của trang này bắt đầu bằng https://, không phải http://.

Để đặt hàng, khách hàng được nhắc nhập một số chi tiết cá nhân (ví dụ: tên và địa chỉ
giao hàng), cũng như dữ liệu tài chính (ví dụ: số thẻ tín dụng của họ). HTTPS mã hóa dữ
liệu này để đảm bảo rằng dữ liệu không thể bị xâm phạm hoặc đánh cắp bởi một bên trái
phép, chẳng hạn như tin tặc hoặc tội phạm mạng.

Đơn đặt hàng sau đó đến máy chủ nơi nó được xử lý. Khi đơn đặt hàng được đặt thành
công, người dùng sẽ nhận được xác nhận từ máy chủ, xác nhận này cũng sẽ di chuyển ở
dạng mã hóa và hiển thị trong trình duyệt web của họ. Xác nhận này được giải mã bởi lớp
con HTTPS của trình duyệt.
4. Sử dụng HTTPS như thế nào:

Đầu tiên muốn sử dụng HTTPS thì trong khi cấu hình Web server, bạn có thể dễ dàng để
tạo được một SSL certificate dành cho website của mình và nó gọi là self-signed SSL
certificate.

SSL certificate tự cấp vẫn đảm bảo tính Confidentiality và Integrity trong quá trình
truyền giữa server và client. Tuy nhiên, có thể thấy rõ ràng rằng nó sẽ không thoả được
yếu tố Authenticity do không có bên thứ 3 đáng tin cậy nào để đứng ra kiểm chứng tính
xác thực của certificate tự gán này.

Do đó, đối với một số website có tính chất quan trọng như E-Commerce, Online
Payment, Web Mail,… thì họ sẽ quyết định mua hẳn một SSL certificate từ một Trusted
Root CA nào đó như VeriSign, Comodo, GoDaddy,…Khi đó, các CA có nhiệm vụ chính
là quản lý và cấp phát các certificate.

Thực ra thì SSL certificate cũng được xem như là một loại digital certificate (một loại file
trên máy tính). Vì HTTPS có liên quan đến giao thức SSL nên người ta mới gán tên cho
nó là SSL certificate, mục đích để dễ phân biệt với các loại digital certificate khác.
Trong quá trình kết nối HTTPS khi sử dụng chứng chỉ SSL chất lượng, người dùng sẽ
thấy biểu tượng hình ổ khóa nằm trên thanh địa chỉ của công cụ trình duyệt. Khi một
chứng chỉ Extended Validation Certificate được thiết lập trên trang web, thanh địa chỉ sẽ
tự động chuyển sang màu xanh lá cây.

5. Ý nghĩa:
HTTPS cung cấp nhiều lợi thế so với kết nối HTTP:

_ Bảo vệ dữ liệu và người dùng. HTTPS ngăn chặn nghe trộm giữa trình duyệt web và
máy chủ web và thiết lập liên lạc an toàn. Do đó, nó bảo vệ quyền riêng tư của người
dùng và bảo vệ thông tin nhạy cảm khỏi tin tặc. Điều này rất quan trọng đối với các giao
dịch liên quan đến dữ liệu cá nhân hoặc tài chính.
_ Cải thiện trải nghiệm người dùng. Khi khách hàng biết rằng một trang web là xác thực
và bảo vệ dữ liệu của họ, điều đó sẽ tạo nên sự tự tin và tin tưởng. Ngoài ra, HTTPS tăng
tốc độ truyền dữ liệu bằng cách giảm kích thước của dữ liệu.
_ Tối ưu hóa công cụ tìm kiếm (SEO). Các trang web HTTPS thường xếp hạng cao hơn
trong các trang kết quả của công cụ tìm kiếm, đây là một lợi thế đáng kể cho các tổ chức
đang tìm cách tăng cường sự hiện diện kỹ thuật số của họ thông qua SEO.
_ HTTPS đặc biệt quan trọng đối với các mạng không an toàn và mạng có thể bị giả mạo.
Các mạng không an toàn, chẳng hạn như các điểm truy cập Wi-Fi công cộng, cho phép
bất kỳ ai trong cùng một mạng cục bộ có thể dò tìm gói và phát hiện ra thông tin nhạy
cảm không được bảo vệ bởi HTTPS. Ngoài ra, một số mạng WLAN miễn phí sử dụng và
trả phí đã được quan sát thấy giả mạo các trang web bằng cách tham gia vào việc đưa vào
gói để phân phát quảng cáo của chính họ trên các trang web khác. Phương thức này có
thể bị lợi dụng một cách ác ý theo nhiều cách, chẳng hạn như bằng cách đưa phần mềm
độc hại vào các trang web và đánh cắp thông tin cá nhân của người dùng.[2]
_ HTTPS cũng rất quan trọng đối với các kết nối qua mạng ẩn danh Tor, vì các nút Tor
độc hại có thể làm hỏng hoặc thay đổi nội dung đi qua chúng theo cách không an toàn và
đưa phần mềm độc hại vào kết nối.

6. So sánh HTTP và HTTPS:


Bảng dưới đây cung cấp những điều khác biệt giữa HTTP và HTTPS:

HTTP HTTPS

Được viết trên thanh địa chỉ là http://. được viết trên thanh địa chỉ là https://.

HTTP truyền dữ liệu qua cổng số 80 HTTPS truyền dữ liệu qua cổng số 443.

Không an toàn vì văn bản thuần túy được An toàn hơn vì HTTPS gửi dữ liệu được
gửi, tin tặc có thể truy cập được mã hóa mà tin tặc không thể hiểu được.

Nó chủ yếu được sử dụng cho những trang Đây là một giao thức an toàn, vì vậy nó
web cung cấp thông tin như viết blog được sử dụng cho những trang web yêu
cầu truyền chi tiết tài khoản ngân hàng
hoặc số thẻ tín dụng

Là một giao thức lớp ứng dụng Là một giao thức lớp vận chuyển

Không sử dụng SSL sử dụng SSL cung cấp mã hóa dữ liệu

Tốc độ tải trang nhanh Tốc độ chậm hơn

7. Nhận xét
Do lợi thế về vấn đề bảo mật, việc sử dụng HTTPS đã được thay thế cho HTTP. Điều này
giúp cho dữ liệu người dùng trở nên an toàn hơn, giúp người dùng an tâm hơn khi sử
dụng Internet.

* Tổng quan về Web:


Cho đến đầu những năm 1990, Internet chỉ được sử dụng chủ yếu bởi các nhà
nghiên cứu, học giả và sinh viên đại học đăng nhập vào máy chủ từ xa, để chuyển tệp từ
máy chủ cục bộ sang máy chủ từ xa máy chủ và ngược lại, để nhận và gửi tin tức, và để
nhận và gửi thư điện tử. Mặc dù những ứng dụng này cực kỳ hữu ích, Internet về cơ bản
không được biết đến bên ngoài cộng đồng học thuật và nghiên cứu.
Sau đó, vào đầu những năm 1990, một ứng dụng mới quan trọng đã xuất hiện—
World Wide Web [Berners-Lee 1994]. Web là ứng dụng Internet đầu tiên được ra mắt
công chúng. Nó đã thay đổi đáng kể cách mọi người tương tác bên trong và bên ngoài
môi trường làm việc của họ. Nó nâng Internet từ chỉ là một trong nhiều mạng dữ liệu cơ
bản thành mạng dữ liệu duy nhất.
Có lẽ điều hấp dẫn người dùng nhất là Web hoạt động theo yêu cầu. Người dùng
nhận được những gì họ muốn mỗi khi họ cần. Điều này không giống như đài phát thanh
và truyền hình truyền thống, buộc người dùng phải điều chỉnh khi nhà cung cấp nội dung
làm cho nội dung có sẵn. Ngoài khả năng sẵn có theo yêu cầu, Web còn có nhiều tính
năng tuyệt vời khác mà mọi người yêu thích. Nó rất dễ dàng cho bất kỳ cá nhân nào cung
cấp thông tin trên Web—mọi người đều có thể trở thành nhà xuất bản với chi phí cực kỳ
thấp. Các siêu liên kết và công cụ tìm kiếm giúp chúng ta định hướng trong 1 biển các
trang Web. Đồ họa kích thích các giác quan của chúng ta. JavaScript, Java applet và
nhiều thiết bị khác cho phép chúng ta tương tác với các trang (Page) và các trang web.
Web đóng vai trò là nền tảng cho nhiều ứng dụng sát thủ đang nổi lên sau năm 2003, bao
gồm YouTube, Gmail và Facebook.

* Tổng quan về HTTP:


Giao thức truyền tải siêu văn bản (HTTP), giao thức tầng ứng dụng của Web, là
trung tâm của Web. Nó được định nghĩa trong [RFC 1945] và [RFC 2616]. HTTP được
thực hiện trong hai chương trình: chương trình máy khách và chương trình máy chủ.
Chương trình khách và chương trình máy chủ, thực thi trên các hệ thống đầu cuối khác
nhau giao tiếp với nhau bằng cách trao đổi thông điệp HTTP. HTTP xác định cấu trúc của
các thông báo này và cách máy khách và máy chủ trao đổi thông điệp. Trước khi giải
thích chi tiết về HTTP, chúng ta xem lại một số thuật ngữ Web:
Một trang Web (còn được gọi là tài liệu) bao gồm các đối tượng. Một đối
tượng chỉ đơn giản là một tập tin—chẳng hạn như tập tin HTML, hình ảnh JPEG,
Java hoặc video clip—tức là địa chỉ bởi một URL duy nhất. Hầu hết các trang Web
bao gồm một tệp HTML cơ sở và một số đối tượng được tham chiếu. Ví dụ: nếu
một trang Web chứa văn bản HTML và năm JPEG, thì trang Web có sáu đối
tượng: tệp HTML cơ sở cộng với năm tệp JPEG . Tệp HTML cơ sở tham chiếu
đến các đối tượng khác trong trang với URL của đối tượng. Mỗi URL có hai thành
phần: tên máy chủ của máy chủ chứa đối tượng và tên đường dẫn của đối tượng.
Ví dụ: URL http://www.someSchool.edu/someDepartment/picture.gif có
www.someSchool.edu cho tên máy chủ và /someDepartment/picture.gif để biết
tên đường dẫn.
Trình duyệt (Browser) – chương trình giao tiếp người dùng của ứng dụng
Web cho phép hiển thị trang Web. Trình duyệt là phía máy khách (Client) của giao
thức HTTP. Máy chủ Web lưu giữ các đối tượng của Web và được xác định qua
địa chỉ URL. Phần mềm máy chủ Web là phía máy chủ ( Sever) của giao thức
HTTP.
HTTP xác định cách các máy khách Web yêu cầu các trang Web từ các máy chủ Web và
cách máy chủ chuyển các trang Web cho khách hàng. Quá trình này được minh họa trong
hình dưới đây.

Khi một người dùng yêu cầu một trang Web (ví dụ: nhấp vào siêu liên kết (Hyperlink),
trình duyệt sẽ gửi HTTP thông báo yêu cầu cho các đối tượng trong trang đến máy chủ.
Máy chủ nhận được yêu cầu và phản hồi bằng các thông báo phản hồi HTTP có chứa các
đối tượng. HTTP sử dụng TCP làm giao thức vận chuyển cơ bản của nó (chứ không phải
chạy trên UDP). Máy khách HTTP trước tiên khởi tạo kết nối TCP với máy chủ. Khi kết
nối được thiết lập, trình duyệt và máy chủ sẽ xử lý truy cập TCP thông qua giao diện ổ
cắm. Như đã mô tả, ở phía máy khách, giao diện ổ cắm là cánh cửa giữa tiến trình máy
khách và kết nối TCP; về phía máy chủ, đó là cửa giữa quá trình máy chủ và kết nối TCP.
Máy khách gửi HTTP thông báo yêu cầu vào giao diện ổ cắm của nó và nhận thông báo
phản hồi HTTP từ giao diện ổ cắm của nó. Tương tự, máy chủ HTTP nhận thông báo yêu
cầu từ giao diện ổ cắm và gửi thông báo phản hồi vào giao diện ổ cắm của nó. Một khi
khách hàng gửi một tin nhắn vào giao diện ổ cắm của nó, tin nhắn nằm ngoài tầm tay của
khách hàng và “trong tay” của TCP. TCP cung cấp dịch vụ truyền dữ liệu đáng tin cậy
sang HTTP. Điều này ngụ ý rằng mỗi thông báo yêu cầu HTTP được gửi bởi máy khách
cuối cùng đến nguyên vẹn tại máy chủ; tương tự, mỗi thông báo phản hồi HTTP được gửi
bởi quá trình máy chủ cuối cùng đến máy khách nguyên vẹn. Ở đây chúng ta thấy một
trong những những ưu điểm tuyệt vời của kiến trúc phân lớp—HTTP không cần phải lo
lắng về việc mất dữ liệu hoặc chi tiết về cách TCP phục hồi khi mất hoặc sắp xếp lại dữ
liệu trong mạng. Đó là công việc của TCP và các giao thức ở các lớp thấp hơn của chồng
giao thức. Điều quan trọng cần lưu ý là máy chủ gửi các tệp được yêu cầu tới máy khách
mà không lưu trữ bất kỳ thông tin trạng thái nào về máy khách. Nếu một khách hàng cụ
thể yêu cầu cùng một đối tượng hai lần trong khoảng thời gian vài giây, máy chủ không
phản hồi bằng cách nói rằng nó chỉ phục vụ đối tượng cho khách hàng; thay vào đó, máy
chủ gửi lại đối tượng, vì nó đã hoàn toàn quên những gì nó đã làm trước đó. Bởi vì một
máy chủ HTTP không duy trì thông tin về các máy khách, HTTP được cho là một giao
thức không trạng thái. Chúng ta cũng nhận xét rằng các Web sử dụng kiến trúc ứng dụng
máy khách-máy chủ. Một trang web máy chủ luôn bật, với một địa chỉ IP cố định và nó
phục vụ các yêu cầu từ hàng triệu trình duyệt khác nhau.

You might also like