2013-09-23 41 views
7

Tôi đang lên kế hoạch đăng nhập an toàn trong một trang web không được mã hóa ssl bằng cách lưu tên người dùng/mật khẩu do người dùng nhập vào biến javascript.Cách lưu trữ mật khẩu trong angularjs an toàn

Mỗi khi người dùng thực hiện yêu cầu, ứng dụng của tôi trước tiên sẽ yêu cầu mã thông báo từ máy chủ, sau đó kết hợp nó với $ scope.password được lưu trữ, được băm sau đó được gửi tới máy chủ để xác thực. Nếu xác nhận là chính xác, thì yêu cầu sẽ tiếp tục, nếu không nó sẽ bị dừng lại.

Ngoài ra, mỗi lần xác thực được thực hiện, máy chủ sẽ tạo một mã thông báo mới, cho dù nó có hợp lệ hay không. Theo hiểu biết của tôi, nó sẽ an toàn nếu tôi sử dụng các chức năng ngay lập tức, nhưng vì tôi sẽ sử dụng angularjs, tôi không nghĩ rằng nó là có thể, vậy làm thế nào để đảm bảo rằng tên người dùng/mật khẩu được lưu trữ trong bộ nhớ không thể hack được?

Cảm ơn.

+0

Giữ mật khẩu thô ở phía máy khách ** không bao giờ ** an toàn. Vấn đề của bạn có vẻ như bạn đang sử dụng mật khẩu làm hạt giống cho băm. Bạn không thể chỉ yêu cầu máy chủ cho một hạt giống "ngẫu nhiên" (nghĩa là duy nhất cho mỗi người dùng) và lưu trữ ở phía khách hàng? – freakish

Trả lời

2

Bạn không thể ngăn ai đó đọc tên người dùng và mật khẩu từ bộ nhớ, nhưng bạn có thể dành một chút nỗ lực vào những gì được gửi đến máy chủ.

Bạn nên thử băm mật khẩu và tên người dùng khi gửi chúng đến máy chủ. Sử dụng một muối duy nhất cho phiên người dùng, do đó, nó là không thể đoán trước và đòi hỏi một bản ghi đầy đủ của toàn bộ lưu lượng truy cập.

Điều này sẽ không dẫn đến bảo mật tuyệt đối, nhưng hãy tăng thanh cho một số người khác để đọc mọi thứ.

P.S .: Tôi thực sự khuyên bạn nên sử dụng SSL.

1

Tôi nghĩ bạn cần phải xác định những gì bạn có nghĩa là "an toàn". Đặc biệt, xác định chính xác những gì nó là bạn đang cố gắng để bảo vệ chống lại và tại sao bạn không bảo vệ chống lại các vector tấn công phổ biến.

Nếu bạn hoàn toàn cố gắng bảo vệ thiết bị vật lý chống lại việc đọc bộ nhớ, thì bạn sẽ không may mắn vì NOTHING có thể làm điều đó. Có, có những cách để làm cho nó khó khăn hơn, nhưng cuối cùng nếu họ có quyền truy cập vật lý vào thiết bị thì không có gì bạn có thể làm sẽ ngăn ngừa mất mát.

Nếu bạn đang nói về người đàn ông trong cuộc tấn công kiểu trung hoặc tương tự thì bằng cách bỏ qua công cụ tốt nhất trong bộ của bạn (chứng chỉ SSL) bạn đã mất.

Các trang web duy nhất hoạt động theo bộ nhớ đệm và liên tục gửi lại người dùng/pw là những người được xây dựng bởi những người không biết họ đang làm gì vì đó là một thực hành rất xấu.

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