2009-06-07 39 views
50

Tôi hiện đang làm việc trên một nhà cung cấp PHP OpenID sẽ hoạt động qua HTTPS (do đó được mã hóa SSL).
Có phải sai để tôi truyền mật khẩu dưới dạng văn bản thuần túy không? HTTPS trong lý thuyết, không thể bị chặn, vì vậy tôi không thấy bất cứ điều gì sai trái. Hoặc điều này không an toàn ở một mức độ nào đó và tôi không thấy điều này?Mật khẩu văn bản thuần túy qua HTTPS

Trả lời

74

Nó an toàn. Đó là cách toàn bộ web hoạt động. Tất cả mật khẩu trong biểu mẫu luôn được gửi dưới dạng văn bản thuần túy, do đó, tối đa HTTPS để bảo mật.

+16

Nitrat nhỏ: một số biểu mẫu đăng nhập sử dụng JavaScript để băm mật khẩu thay vì gửi văn bản thuần túy. – Thorarin

+3

@Thorarin nếu họ thực sự băm nó, điều đó có nghĩa là máy chủ lưu trữ mật khẩu ở dạng văn bản thuần túy để nó có thể băm với cùng một muối để xác minh. Ick! Gửi mật khẩu trong ssl gói văn bản là tốt hơn, như máy chủ không sau đó cần phải lưu trữ mật khẩu trong văn bản thuần túy. – DGM

+9

@DGM: băm kép cũng là một tùy chọn, vì vậy mật khẩu thuần văn bản không cần thiết. – Thorarin

18

Nếu HTTP bị tắt và bạn chỉ sử dụng HTTPS, thì bạn vẫn chưa thực sự truyền mật khẩu dưới dạng văn bản thuần túy.

45

Bạn vẫn cần phải đảm bảo gửi nó qua yêu cầu POST chứ không phải GET. Nếu bạn gửi nó qua yêu cầu GET, nó có thể được lưu trong bản rõ trong nhật ký lịch sử trình duyệt của người dùng hoặc nhật ký truy cập của máy chủ web.

+3

Vâng, tôi biết điều đó, nhưng nó vẫn là một bình luận tốt để bỏ lại cho những người khác đến đây. :) – WhyNotHugo

5

Các áp phích khác là chính xác. Bây giờ bạn đang sử dụng SSL để mã hóa truyền của mật khẩu, hãy chắc chắn bạn đang băm nó với một thuật toán tốt và muối vì vậy nó được bảo vệ khi nó nghỉ ngơi, quá ...

+0

Vâng, tôi nhận ra điều này, cảm ơn, tôi chỉ đề cập đến việc truyền tải ở đây. – WhyNotHugo

4

Hash khách hàng bên. Tại sao? Hãy để tôi cho bạn biết về một thử nghiệm nhỏ. Đi bộ đến máy tính trong quán cà phê của công ty. Mở trình duyệt tới trang đăng nhập trang web của công ty (https). Nhấn F12, nhấp vào tab mạng, kiểm tra nhật ký lưu giữ, giảm thiểu giao diện điều khiển nhưng để trang web mở trang đăng nhập. Ngồi xuống và ăn trưa. Xem như nhân viên sau khi nhân viên đăng nhập vào trang web của công ty và trở thành một công nhân giỏi khi đăng xuất. Kết thúc bữa ăn trưa, ngồi xuống máy tính đưa lên tab mạng và xem từng tên người dùng và mật khẩu trong văn bản thuần túy trong thân hình.

Không có công cụ đặc biệt, không có kiến ​​thức đặc biệt, không có phần cứng hacking ưa thích, không có keyloggers chỉ tốt cũ F12.

Nhưng này, hãy suy nghĩ tất cả những gì bạn cần là SSL. Những kẻ xấu sẽ yêu bạn vì điều đó.

+2

Nhận xét về nhà ăn của bạn không có ý nghĩa gì, cho dù tôi đọc lại bao nhiêu. Tại sao mọi người chỉ cần đi đến một máy tính và nhập thông tin đăng nhập của họ? Bạn đang cố chứng tỏ điều gì vậy? Ngoài ra, băm sẽ không làm điều này * nhiều hơn nữa * không an toàn, theo bất kỳ cách nào. Đó là một điều phổ biến để băm mật khẩu và truyền chúng qua HTTP thuần văn bản khi câu hỏi này được viết, vào năm 2009. – WhyNotHugo

+0

Tôi upvoted cả hai vì, có, câu trả lời được chấp nhận _is_ được đọc nhiều năm sau đó. Nó sẽ là tốt nếu @CodeDog xin vui lòng chỉ đến một số chiến lược giảm nhẹ. Và có, mọi người sẽ chỉ cần đi bộ đến máy tính ngẫu nhiên, ví dụ, trong thư viện địa phương, và nhập chi tiết của họ! – JoeAC

+0

Tôi mã hóa phía máy khách mật khẩu bằng khóa công khai, sau đó chỉ đăng mật khẩu được mã hóa trong biểu mẫu. Nó là một chìa khóa không đối xứng vì vậy có chìa khóa công cộng phía khách hàng là vô ích cho những kẻ tấn công. Mỗi bản ghi nó tạo ra một cặp khóa mới để các cuộc tấn công phát lại sẽ không hoạt động. Phím thậm chí còn thay đổi khi đăng nhập không thành công. Các cặp khóa được tạo phía máy chủ khi người dùng đến màn hình đăng nhập. Chỉ có khóa công khai được cung cấp cho mã phía máy khách. – CodeDog

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