2009-08-02 28 views
11

Dường như hầu hết các trang web lớn sẽ sử dụng một miền bảo mật, nhưng có một số ngoại lệ lớn, đặc biệt là facebook và twitter.Miền an toàn (HTTPS) có cần thiết hoàn toàn cho trang đăng nhập không?

Lợi ích của việc sử dụng miền bảo mật là hiển nhiên, tôi cho rằng - thông tin xác thực đăng nhập của bạn sẽ không bao giờ được truyền ở dạng văn bản thuần túy.

Vậy làm cách nào để các trang web lớn như facebook và twitter thoát khỏi ứng dụng này? Nếu một miền bảo mật không có sẵn vì lý do nào đó, bạn có thể thực hiện biện pháp phòng ngừa bổ sung nào?

Trả lời

11

Nếu bảo mật quan trọng: Có, trang đăng nhập phải là https, như trang phải đăng. Đơn giản là không có cách nào khác.

Nếu bạn truy cập trang và không phải là https, bạn hoàn toàn không thể tin tưởng bất kỳ nội dung nào được gửi từ trang đó. Vì kết nối không được bảo vệ, có thể dễ dàng bị giả mạo (có thể bằng cách làm cho nó gửi đến trang không phải https hoặc có thể gửi đến một miền hoàn toàn khác, mà bạn sẽ không bao giờ biết cho đến khi quá muộn). Trong khi đó nếu bạn truy cập vào trang https, bạn có thể tin tưởng nó. Bạn biết trang bắt nguồn từ đâu và nó không bị giả mạo. Và tất nhiên bạn phải gửi đến trang https, vì bạn muốn dữ liệu đó được mã hóa (và trình duyệt nên cảnh báo bạn nếu nó cố gửi biểu mẫu từ trang https đến trang không phải https) .

0

Tôi không chắc chắn kỹ thuật nào thường được sử dụng, nhưng mọi thông tin không được lưu trữ và chỉ được so sánh (ví dụ: tên người dùng và mật khẩu) có thể được băm (ví dụ: SHA1 hoặc MD5) trên máy khách.

Tuy nhiên, điều này yêu cầu kịch bản phía máy khách có thể bị tắt hoặc không khả dụng. Nó chỉ có thể là một số trang web không xem xét thông tin của họ đủ nhạy cảm để yêu cầu truyền tải an toàn (bạn không nên gửi bất kỳ thông tin nhạy cảm nào tới Facebook hoặc Twitter, v.v.).

+1

Vì giá trị được băm được gửi đi rõ ràng, tất cả mọi người sẽ phải làm là gửi cùng giá trị được băm về máy chủ để đăng nhập. Ngoài ra, vì kịch bản phía máy khách có thể đọc được, bất kỳ thuật toán nào để băm các giá trị sẽ có sẵn cho một hacker. –

+0

@ Jeffrey "bất kỳ thuật toán nào để băm các giá trị sẽ có sẵn cho một hacker". phần này là không liên quan chỉ biết rằng một giá trị được băm với MD5 không vốn đã làm cho nó bất kỳ yếu hơn. Trong khi có các bảng cầu vồng để crack MD5 băm nếu bạn có một mật khẩu an toàn không có bảng cầu vồng sẽ đánh nó. Tuy nhiên phần đầu tiên của việc có thể mô phỏng việc đăng giá trị băm là hợp pháp. –

1

Đập mật khẩu của bạn trước khi truyền mã không được mã hóa không thực sự hữu ích trong tình huống ở giữa vì ai đó đang chặn liên lạc có thể dễ dàng phát lại mật khẩu của bạn và đăng nhập bằng chứng chỉ của bạn.

Tôi sẽ nói rằng một số loại mã hóa phải là bắt buộc cho mục đích xác thực. Về câu hỏi, có, HTTPS sẽ là lựa chọn tốt nhất. Rõ ràng, điều đơn giản nhất để kiểm tra là thanh vị trí ở trên cùng nếu nó bắt đầu bằng "https: //", nhưng điều đó không thực sự quan trọng. Điều quan trọng là nơi thông tin xác thực (tên người dùng/mật khẩu) của bạn được gửi đi, có thể là một số trang khác thông qua các biểu mẫu HTML chuẩn hoặc một số phép thuật JavaScript. Cách tốt nhất là kiểm tra nguồn, hoặc bật cảnh báo trình duyệt liên quan đến việc gửi dữ liệu không được mã hóa.

HTH

3

Xin lỗi vì bài đăng muộn nhưng tôi không nghĩ rằng bất kỳ ai ở trên đã giải quyết yếu tố quan trọng về cách facebook và twitter thực hiện điều đó. Phần chính là, biểu mẫu đăng nhập không phải HTTPS của họ đăng lên URL tuyệt đối qua HTTPS.

Nhìn vào hành động:

// facebook 
<form method="POST" action="https://login.facebook.com/login.php?login_attempt=1" id="login_form"> 

// twitter 
<form method="post" id="signin" action="https://twitter.com/sessions"> 

Trong trường hợp này, "hành động" của một hình thức được thiết lập để sử dụng https và SSL Handshake diễn ra trước bất kỳ dữ liệu được gửi để kết nối được an toàn.(Có hay không biểu mẫu ban đầu được hiển thị bằng https không quan trọng). Tuy nhiên, nếu hành động biểu mẫu sử dụng đường dẫn tương đối thì hành động này sẽ mặc định thành giao thức được sử dụng để hiển thị biểu mẫu. Tóm lại, bạn phải sử dụng URL tuyệt đối nếu bạn muốn thiết lập phiên SSL trước khi thông tin đăng nhập của bạn được gửi.

2

Tôi có thể sẽ bị downvoted nhưng câu trả lời là "hoàn toàn cần thiết", câu trả lời đúng thực sự là không. Trong hầu hết các trường hợp, nó không thực sự quan trọng. Ngay cả hotmail.com và các trang web lớn khác có quy trình đăng nhập không được mã hóa, một số yêu cầu bạn nhấp vào liên kết để goto trang https.

Nó thực sự phụ thuộc vào những gì bạn đang đảm bảo. Dữ liệu HIPPA, thông tin tài chính có hoàn toàn cần thiết. Diễn đàn chuẩn hoặc trang web khác, không thực sự quan trọng.

Thực hiện một người đàn ông trong cuộc tấn công trung gian cũng không phải là một sự kiện trival, điều này thực sự là một mối quan tâm với các mạng thù địch (như WIFI/mạng trường học/etc) không phải internet. Nó là chủ yếu là không thể thực hiện một người đàn ông sống trong cuộc tấn công giữa trên trang web chính nó mà không ảnh hưởng một máy chủ DNS gốc. Cross scripting trang web là nhiều hơn nữa của một vector tấn công thực sự không giống như con người ở giữa mà chỉ thực sự có một mục đích để cố gắng thực hiện chống lại các ngân hàng lớn.

+0

Mất nhiều thời gian hơn tôi nghĩ cho lần giảm đầu tiên, nhưng như mong đợi không ai bác bỏ tuyên bố của tôi với nó. –

+1

Không thể đồng ý hơn. 1 cho những gì thực tế cho thế giới thực. – Wick

+0

Thú vị khi thấy điểm này từ năm 2010. Ngày nay mọi người đang kiểm tra facebook của họ qua WiFi tại các quán cà phê với các bộ định tuyến được thiết lập bởi một người pha chế ... và bất chấp những gì được khuyến nghị họ sử dụng cùng một mật khẩu cho tất cả thông tin tài chính của họ. Tôi nghĩ rằng nó là bắt buộc ngay cả những trang web tầm thường nhất sử dụng HTTPS và đang mặn/băm mật khẩu của họ. –

Các vấn đề liên quan