Sự an toàn của một hệ thống bảo vệ mật khẩu phụ thuộc vào nhiều yếu tố. Toàn bộ hệ thống phải được bảo vệ chống lại virus máy tính, tấn công maninthemiddle, máy quay video và sniffers bàn phím, vv... Các mật khẩu được lựa chọn như vậy rất khó cho kẻ tấn công để đoán và sử dụng bất kỳ các phương án tấn công tự động có sẵn. Ngày nay, các hệ thống máy tính cần để ẩn mật khẩu khi họ đang nhập. Mục đích của biện pháp này là để tránh người ngoài đọc mật khẩu. Tuy nhiên, một số người cho rằng việc này có thể dẫn đến những sai lầm và căng thẳng, khuyến khích người dùng lựa chọn các mật khẩu yếu. Thay vào đó, người dùng nên có tùy chọn để hiển thị hoặc ẩn mật khẩu khi họ loại chúng. Dưới đây là một số vấn đề quản lý mật khẩu cụ thể phải được xem xét trong suy nghĩ, lựa chọn và xử lý một mật khẩu.
Trang 1MỤC LỤC
A LÝ THUYẾT 2
I Mật khẩu là gì? 2
II Cách chọn mât khẩu an toàn và dễ nhớ 2
III Yếu tố an toàn của một hệ thống mật khẩu 5
3.1 Tỷ lệ việc kẻ tấn công có thể đoán được mật khẩu 5
3.2 Giới hạn số lần đoán mật khẩu 6
3.3 Hình thức lưu trữ mật khẩu 6
3.4 Các phương pháp xác định một mật khẩu qua mạng 11
3.5 Thủ tục thay đổi mật khẩu 13
3.6 Tuổi thọ mật khẩu 13
3.7 Nhiều user dùng một mật khẩu 13
3.8 Kiến trúc bảo mật mật khẩu 14
3.9 Tái sử dụng mật khẩu 15
3.10 Ghi lại mật khẩu trên giấy 15
3.11 Hai yếu tố xác thực 16
IV Cracking Password 16
4.1 Thời gian cần thiết để tìm kiếm mật khẩu 16
4.2 Phòng ngừa 18
4.3 Phần mềm 19
V Giải pháp thay thế mật khẩu trong xác thực 19
VI The Password is dead 21
VII Hệ thống mật khẩu trang web 22
B DEMO 24
Trang 2A LÝ THUYẾT
Một mật khẩu là một từ hoặc chuỗi các ký tự sử dụng cho người dùng xác thực để chứng minh nhận dạng hoặc chấp thuận cho phép quyền truy cập vào một tài nguyên được giữ bí mật từ những người truy cập không được phép
Việc sử dụng các mật khẩu được biết đến từ thơi cổ đại Sentries sẽ thách thức những người muốn vào hoặc tiếp cận một khu vực để cung cấp một mật khẩu hoặc khẩu hiệu, và sẽ chỉ cho phép một người hoặc một nhóm vượt qua nếu họ biết mật khẩu Trong thời hiện đại, tên người dùng và mật khẩu thường được sử dụng trong quá trình kiểm soát truy cập để bảo vệ máy tính hệ điều hành, điện thoại di động, truyền hình cáp giải mã, các máy rút tiền tự động (ATM), vv… máy tính có mật khẩu được sử dụng cho nhiều mục đích như: đăng nhập vào tài khoản, lấy e-mail, truy cập vào các ứng dụng, cơ sở dữ liệu, mạng, các trang web, và thậm chí đọc báo online
Một số mật khẩu được hình thành từ nhiều từ được gọi là một cụm từ mật khẩu Các thuật ngữ mật mã và passkey đôi khi sử dụng các thông tin bí mật hoàn toàn là số, chẳng hạn như số nhận dạng cá nhân (PIN) thường được sử dụng cho ATM truy cập Mật khẩu thường ngắn, đủ để được dễ dàng ghi nhớ và
gõ
Hầu hết các tổ chức chỉ định một chính sách mật khẩu mà đặt yêu cầu về thành phần và cách sử dụng mật khẩu, thường đưa ra mệnh lệnh chiều dài tối thiểu, chủng loại cần thiết (ví dụ như số, và các ký tự đặc biệt), yếu tố bị cấm (ví
dụ như tên riêng, ngày tháng năm sinh, địa chỉ, số điện thoại) Một số chính phủ
có các khuôn khổ xác thực quốc gia để xác định các yêu cầu để xác thực người
sử dụng các dịch vụ của chính phủ, bao gồm các yêu cầu cho mật khẩu
Một mật khẩu dễ nhớ đồng nghĩa nó dễ dàng bị kẻ tấn công đoán ra Tuy nhiên, mật khẩu khó nhớ cũng làm giảm độ an toàn của hệ thống bởi vì người dùng có thể viết ra hoặc sử dụng cách lưu trữ điện tử, thường xuyên thay mật
Trang 3khẩu hoặc dùng lại mật khẩu Tương tự như vậy, một mật khẩu quá mạnh có thể gây khó khăn cho hệ thống trong quá trình lưu trữ cũng như xác thực do quá phức tạp
Nhiều trang dịch vụ trực tuyến cài đặt sẵn bộ kiểm tra mật khẩu Mật khẩu
bị đánh giá là yếu khi chỉ dùng từ 8 kí tự chữ cái trở xuống, tất cả đều viết thường Mật khẩu được xem là mạnh thường dài trên 11 kí tự, bao gồm cả chữ,
số, viết hoa, viết thường và cả những kí tự đặc biệt ! ~ / ) [ * ^ $ &…
Thử đặt trường hợp hacker có một máy tính cực mạnh có khả năng dò 100
tỉ mật khẩu mỗi giây, hãy xem phải mất bao lâu để mật khẩu của bạn bị phát hiện?
Mật khẩu gồm 6 kí tự chữ cái, viết thường: chưa tới 1 giây
Mật khẩu gồm 11 kí tự chữ cái, viết thường: 11 tiếng
Mật khẩu gồm 11 kí tự chữ cái, viết thường và viết hoa: 1 năm rưỡi
Mật khẩu gồm 11 kí tự có chữ cái, số và kí tự đặc biệt, viết thường và viết hoa: 500 năm
Rất ấn tượng đúng không nào? Hãy ghi nhớ con số ấn tượng nhất và bắt đầu tìm cho mình một mật khẩu theo tiêu chuẩn, đồng thời tuân theo 10 nguyên tắc sau đây:
1 Đừng dùng thông tin cá nhân làm mật khẩu Rất nhiều người dùng tên, ngày tháng năm sinh của người thân làm mật khẩu Nếu hacker có quen biết bạn – hoặc chỉ cần kết bạn trên Facebook – ngày sinh của bạn chắc chắn là mật khẩu được chúng thử đầu tiên
2 Đừng dùng những chuỗi kí tự phổ thông làm mật khẩu Hãng bảo mật Sophos có cung cấp danh sách 50 mật khẩu hay được dùng nhất, đứng đầu là
“123456”, “password”, “qwerty”
3 Đừng dùng những từ hay cụm từ hay xuất hiện trong từ điển vì hacker
có thể sử dụng chương trình cho phép chúng thử tất cả chỉ trong 1 khoảng thời gian ngắn Cũng đừng nghĩ những cách thay thế kí tự thông thường có hiệu quả Như “1” và “5” thay cho “i” và “s” (pa55word, 1l0vey0u)
Trang 44 Dùng ít nhất 11 kí tự làm mật khẩu, nhiều nghiên cứu cho thấy tối thiểu cần tới 15
5 Dùng càng nhiều kí tự ngẫu nhiên càng tốt Mật khẩu nên gồm cả chữ thường, chữ hoa, số và kí tự đặc biệt (dù một số trang web không cho dùng kí tự đặc biệt)
6 Tạo mật khẩu dài nhưng phải dễ nhớ, có thể là 1 câu ngắn, 1 cụm từ -
“HoangSaTruongSa” Cách khác là dùng một câu thật dài, lấy chữ cái đầu, viết hoa xen lẫn viết thường – “Không có gì quý hơn độc lập tự do” thành
9 Nếu bạn có quá nhiều mật khẩu phải nhớ (mà chắc chắn là như vậy), hãy thử dùng các chương trình quản lý mật khẩu như LastPass hoặc RoboForm Các chương trình này mã hóa và lưu trữ mật khẩu của bạn rất an toàn Tất cả những gì cần nhớ là một mật khẩu trung tâm duy nhất, đủ mạnh mẽ và dễ nhớ để truy cập vào chương trình quản lý
10 Cuối cùng, chắc chắn rằng máy bạn không bị cài phần mềm theo dõi bàn phím (keylogger) nào, nếu không tất cả công sức tạo mật khẩu khó của bạn
sẽ “đổ sông đổ biển” hết
Khi đã chắc chắn, hãy vào https://www.grc.com/haystack.htm để thử độ
khó của mật khẩu Lưu ý, đây không phải công cụ kiểm tra độ mạnh của mật khẩu, chỉ là đánh giá độ khó nếu phải dò từng-kí-tự-trong-mật-khẩu Từ
Trang 5“password” cho thấy có thể bị dò ra trong… 6 năm (nếu dò lần lượt ngẫu nhiên) nhưng chắc chắn là một trong những từ được dò đầu tiên
Sự an toàn của một hệ thống bảo vệ mật khẩu phụ thuộc vào nhiều yếu tố Toàn bộ hệ thống phải được bảo vệ chống lại virus máy tính, tấn công man-in-the-middle, máy quay video và sniffers bàn phím, vv Các mật khẩu được lựa chọn như vậy rất khó cho kẻ tấn công để đoán và sử dụng bất kỳ các phương án tấn công tự động có sẵn
Ngày nay, các hệ thống máy tính cần để ẩn mật khẩu khi họ đang nhập Mục đích của biện pháp này là để tránh người ngoài đọc mật khẩu Tuy nhiên, một số người cho rằng việc này có thể dẫn đến những sai lầm và căng thẳng, khuyến khích người dùng lựa chọn các mật khẩu yếu Thay vào đó, người dùng nên có tùy chọn để hiển thị hoặc ẩn mật khẩu khi họ loại chúng
Dưới đây là một số vấn đề quản lý mật khẩu cụ thể phải được xem xét trong suy nghĩ, lựa chọn và xử lý một mật khẩu
3.1 Tỷ lệ việc kẻ tấn công có thể đoán được mật khẩu
Tỷ lệ mà một kẻ tấn công có thể nộp đoán mật khẩu để hệ thống là một yếu tố quan trọng trong việc xác định an ninh hệ thống Một số hệ thống áp đặt thời gian chờ vài giây sau khi một số lượng nhỏ (ví dụ như 5) lần nhập mật khẩu sai Các hệ thống như vậy có thể có hiệu quả an toàn với mật khẩu tương đối đơn giản, nếu chúng đã được lựa chọn tốt và không dễ đoán
Nhiều hệ thống lưu trữ một mật mã băm của mật khẩu Nếu kẻ tấn công được truy cập vào các tập tin của mật khẩu băm có thể tấn công off-line và nhanh chóng đoán mật khẩu Trong ví dụ của một máy chủ web, một kẻ tấn công trực tuyến có thể đoán chỉ ở tốc độ mà các máy chủ sẽ trả lời, trong khi một kẻ tấn công off-line (người giành được quyền truy cập vào các tập tin) có thể đoán với tốc độ chỉ bị giới hạn bởi phần cứng
Mật khẩu được sử dụng để tạo ra các khóa mã hóa (ví dụ, để mã hóa ổ đĩa hoặc Wi-Fi bảo mật) cũng bị đoán ở tỉ lệ cao Danh sách các mật khẩu thường dùng được phổ biến rộng rãi và giúp cho việc tấn công mật khẩu rất hiệu quả
Trang 6An ninh trong tình huống như vậy phụ thuộc vào việc sử dụng mật khẩu hoặc passphrase của đủ phức tạp Một số hệ thống, chẳng hạn như PGP và Wi-Fi WPA , áp dụng một băm tính toán chuyên sâu vào mật khẩu để làm chậm các cuộc tấn công như vậy
3.2 Giới hạn số lần đoán mật khẩu
Một cách giúp hạn chế tốc độ để một kẻ tấn công dự đoán được mật khẩu
là để hạn chế tổng số các dự đoán có thể được thực hiện Các mật khẩu có thể bị
vô hiệu hóa, đòi hỏi một thiết lập lại, sau khi một số lượng nhỏ lần nhập sai liên tiếp; và người dùng có thể yêu cầu thay đổi mật khẩu sau khi một số lượng lớn lần nhập sai mật khẩu
3.3 Hình thức lưu trữ mật khẩu
3.3.1 Dạng lưu trữ mật khẩu
Một số mật khẩu hệ thống máy tính lưu trữ người dùng kiểu bản rõ Nếu một kẻ tấn công truy cập vào nơi lưu trữ mật khẩu nội bộ như vậy, tất cả mật khẩu và tài khoản người dùng, sẽ bị tổn hại Nếu một số người dùng sử dụng cùng một mật khẩu cho các tài khoản trên hệ thống khác nhau thì tổn hại là rất lớn
Một hình thức an toàn hơn để lưu trữ mỗi mật khẩu là mã hóa bảo vệ, khi
đó dù có được quyền truy cập nội bộ vào hệ thống thì việc xác định mật khẩu vẫn có trở ngại An toàn nhất là không lưu trữ tất cả mật khẩu, mà sẽ lưu trữ nó
như một đa thức, mô đun, hoặc một hàm băm Roger Needham đã phát minh ra
phương pháp chỉ lưu trữ một "băm" của bản rõ mật khẩu Khi một user nhập mật khẩu trên một hệ thống như vậy, mật khẩu được xử lý bằng một thuật toán băm, nếu giá trị băm được tạo ra đúng với giá trị băm được lưu trữ trong cơ sở dữ liệu mật khẩu, người dùng được phép truy cập Các giá trị băm được tạo ra bằng cách sử dụng hàm băm mật mã bao gồm các mật khẩu đã đệ trình và, một giá trị gọi là salt Một salt ngăn chặn việc xây dựng một danh sách các giá trị băm cho mật khẩu phổ biến và ngăn chặn những nỗ lực bẻ mật khẩu MD5 và SHA1 thường được sử dụng với hàm băm mật mã nhưng họ không được khuyến khích
Trang 7cho băm mật khẩu trừ khi chúng được sử dụng như là một phần của một cấu trúc lớn hơn như trong PBKDF2
Các dữ liệu được lưu trữ đôi khi được gọi là "mật khẩu kiểm tra xác nhận" hoặc "password hash" thường được lưu trữ trong Modular Crypt Format hoặc RFC 2307 định dạng băm, đôi khi trong thư mục /etc/passwd hoặc thư mục /etc/shadow
Các phương pháp lưu trữ chính cho các mật khẩu là bản rõ, băm, băm và salt, và mã hóa ngược Nếu một kẻ tấn công truy cập vào các tập tin mật khẩu, sau đó nếu nó được lưu trữ dưới dạng văn bản, thì sẽ không cần bẻ mật khẩu Nếu nó được băm nhưng không có salt cũng dễ bị bảng cầu vồng tấn công Nếu
nó được mã hóa ngược thì kẻ tấn công cần có được khóa giải mã nếu không việc crack là không thể
Nếu một hàm băm mật mã được thiết kế tốt, nó có thể dịch ngược ra bản
rõ mật khẩu Một kẻ tấn công có thể sử dụng các công cụ có sẵn rộng rãi để cố gắng đoán mật khẩu Những công cụ này làm việc bằng cách băm mật khẩu dự đoán và so sánh với giá trị băm mật khẩu thực tế Nếu tìm thấy một liên kết tức
là mật khẩu dự đoán và mật khẩu thực tế có liên quan Công cụ bẻ mật khẩu có thể hoạt động bằng sức mạnh vũ phu (tức là cố gắng mọi kết hợp có thể có của các ký tự) hoặc bằng cách băm mỗi từ trong một danh sách; danh sách lớn các mật khẩu có thể trong nhiều ngôn ngữ được phổ biến rộng rãi trên Internet Sự tồn tại của công cụ bẻ mật khẩu cho phép kẻ tấn công để dễ dàng khôi phục mật khẩu ít được chọn Đặc biệt, những kẻ tấn công có thể nhanh chóng khôi phục lại các mật khẩu ngắn, từ điển, biến thể đơn giản trên từ điển mà có thể dễ dàng đoán được Một phiên bản sửa đổi của thuật toán DES được sử dụng làm cơ sở cho các thuật toán mật mã băm vào hệ thống UNIX đời đầu Các thuật toán mật
mã sử dụng một giá trị salt 12-bit để băm mỗi người dùng là duy nhất và lặp các thuật toán DES 25 lần để làm cho chức năng băm chậm hơn, cả hai biện pháp nhằm làm thất bại cuộc tấn công đoán tự động Mật khẩu của người dùng đã được sử dụng như một chìa khóa để mã hóa một giá trị cố định Gần đây Unix hoặc hệ thống tương tự Unix (ví dụ, Linux) sử dụng các thuật toán mật mã băm
Trang 8an toàn hơn như PBKDF2, bcrypt, và scrypt có nhiều salt và chi phí điều chỉnh hoặc số lần lặp lại Một hàm băm kém có thể bị tấn công ngay cả với một mật khẩu mạnh
3.3.2 Tập tin lưu trữ mật khẩu trong hệ điều hành
a Tập tin Password
Các tập tin /etc/passwd là một văn bản dựa trên cơ sở dữ liệu về thông tin người sử dụng có thể đăng nhập vào hệ thống hay danh tính người dùng hệ điều hành khác có tiến trình đang chạy
Tập tin /etc/passwd thường có quyền tập tin hệ thống cho phép tất cả người dùng hệ thống dễ dàng đọc được (world-readable), nhưng chỉ có thể sửa đổi được bằng tài khoản siêu người dùng hoặc bằng cách sử dụng một vài lệnh đặc quyền mục đích đặc biệt
Các tập tin /etc/passwd là một tập tin văn bản với một bản ghi trên một dòng, mô tả một tài khoản người dùng Mỗi bản ghi bao gồm bảy trường phân cách bằng dấu hai chấm Thứ tự của các bản ghi trong tập tin nói chung là không quan trọng
Ví dụ:
jsmith:x:1001:1000:Joe Smith,Room 0044,email:/home/jsmith:/bin/sh
1007,(234)555-8910,(234)555-Các trường, theo thứ tự từ trái sang phải là:
1 Tên người dùng: chuỗi người dùng sẽ nhập vào khi đăng nhập vào hệ điều hành: các LOGNAME phải là duy nhất trong tập tin
2 Thông tin sử dụng để xác nhận mật khẩu người sử dụng; hầu hết hiện nay, trường này thường được chuyển thành "x" (hoặc "*", hay một số kiểu khác) với các thông tin mật khẩu thực đang được lưu trữ trong tập tin che mật khẩu riêng Trên hệ thống Linux, đặt trường này thành một dấu sao ("*") là một cách phổ biến để vô hiệu hóa các đăng nhập trực tiếp vào tài khoản trong khi vẫn giữ tên gọi của nó, trong khi một giá trị có thể là "*NP*" sử dụng một máy chủ NIS
Trang 9để có được mật khẩu Nếu không thực hiện che, trường này thường chứa một băm của mật khẩu (kết hợp với một muối)
3 Số định danh người dùng, được sử dụng bởi hệ điều hành cho mục đích nội bộ Nó không cần phải là duy nhất
4 Số định danh nhóm, trong đó xác định các nhóm chính của người sử dụng; tất cả các tập tin được tạo ra bởi người sử dụng này có thể được truy cập bởi nhóm này
5 Trường Gecos, chú thích mô tả người hay tài khoản Thông thường, đây là một tập hợp các giá trị bao gồm tên đầy đủ và chi tiết liên lạc của người dùng được ngăn cách bằng dấu phẩy
6 Đường dẫn đến thư mục chủ của người dùng
7 Chương trình được bắt đầu mỗi khi người dùng đăng nhập vào hệ thống Để một tương tác với người sử dụng, nó thường là trình biên dịch các lệnh của hệ thống
b Tập tin Shadow
/etc/shadow được sử dụng để tăng mức độ bảo mật của mật khẩu bằng cách hạn chế tất cả người dùng đặc quyền cao truy cập vào dữ liệu băm mật khẩu Thông thường, dữ liệu được lưu giữ trong các tập tin do superuser sở hữu
và truy cập
Quản trị hệ thống có thể làm giảm khả năng của các cuộc tấn công force bằng cách làm cho người dùng đặc quyền không đọc được danh sách mật khẩu băm Cách rõ ràng để làm điều này là làm cho các cơ sở dữ liệu passwd chỉ
brute-có thể đọc bởi root Tuy nhiên, điều này sẽ hạn chế quyền truy cập vào dữ liệu khác trong hồ sơ như ánh xạ username-to-userid, phá vỡ nhiều tiện ích và các quy định Một giải pháp là một "che" tập tin mật khẩu để giữ các mật khẩu băm tách biệt với các dữ liệu khác trên tập tin world-readable Đối với các tập tin địa phương, nó thường là /etc/shadowtrên hệ thống Linux và Unix, hoặc /etc/master.passwd hệ thống trên BSD; từng loại chỉ có thể đọc được bằng root (Root được phép truy cập vào dữ liệu vì trên hệ thống với các mô hình bảo mật truyền thống "all-powerful root", root sẽ có thể để có được những thông tin theo
Trang 10nhiều cách trong mọi trường hợp) Gần đây hầu như tất cả hệ điều hành giống như Unix đều sử dụng “mật khẩu bóng”
Các tập tin “mật khẩu bóng” không hoàn toàn giải quyết được vấn đề tấn công mật khẩu băm, như một số chương trình xác thực mạng hoạt động bằng cách truyền các mật khẩu băm qua mạng (đôi khi ở dạng cleartext, ví dụ như Telnet), làm cho nó dễ bị đánh chặn Các bản sao của dữ liệu hệ thống, chẳng hạn như sao lưu hệ thống được viết vào băng hoặc phương tiện truyền thông quang học, cũng có thể trở thành một phương tiện bất chính để có được mật khẩu băm Ngoài ra, các chức năng được sử dụng chương trình kiểm tra mật khẩu hợp pháp cần phải được viết sao cho các chương trình độc hại không thể tiến hành một lượng lớn kiểm tra xác thực ở tốc độ cao
Với một chương trình che mật khẩu khi sử dụng, các / tập tin etc/passwd thường hiển thị một ký tự như ' *', hoặc 'x' trong trường mật khẩu sử dụng thay
vì mật khẩu băm, và /etc/shadow thường có chứa các thông tin người dùng sau đây:
1 Tên đăng nhập người dùng
2 Muối và mật khẩu băm hoặc một giá trị tình trạng ngoại lệ
3 Ngày kể từ lần thay đổi mật khẩu cuối cùng
4 Ngày có thể thay đổi mật khẩu tiếp
5 Ngày trước yêu cầu thay đổi
6 Ngày cảnh báo hết hạn
7 Ngày tài khoản không hoạt động
8 Ngày tài khoản hết hạn
9 Riêng biệt
Các định dạng của tập tin shadow là đơn giản, và về cơ bản giống như của các tập tin password, một dòng cho mỗi người dùng, các trường được đặt trên mỗi dòng, và các được phân cách bởi dấu hai chấm Nhiều hệ thống đòi hỏi thứ
tự của dòng người sử dụng trong các tập tin shadow giống với thứ tự của những người sử dụng tương ứng trong tập tin password
c Tập tin SAM
Trang 11SAM (Security Account Manager) là một tập tin cơ sở dữ liệu trong Windows XP, Windows Vista và Windows 7 để lưu mật khẩu người dùng Nó được sử dụng để xác thực người dùng địa phương và từ xa Bắt đầu với Windows 2000 SP4, Active Directory xác thực người dùng từ xa SAM sử dụng các biện pháp mã hóa để ngăn chặn người sử dụng bị cấm có thể đạt được quyền truy cập vào hệ thống
Microsoft lưu mật khẩu của User trong file SAM như sau:
Microsoft dành 14 ký tự cho mật khẩu của User, 14 ký tự này chia làm hai phần, mỗi phần 7 ký tự và mã hoá với cùng một thuật toán
Nếu mật khẩu dưới 7 ký tự, ví dụ mật khẩu là: abc Windows sẽ tiến hành: abc → |ABC_ _ _ _||_ _ _ _ _ _ _| và mã hoá từng phần một Vậy với password là 123cde khi Windows mã hoá chuỗi ký tự sẽ là
|123CDE_||_ _ _ _ _ _ _| và mã hoá từng phần một (Thiếu ký tự nào Windows sẽ tự thêm dấu “_” vào để đủ 7 ký tự một phần và 14 ký tự hai phần rồi mã hoá) Cho nên khi hai mật khẩu dưới 7 ký tự sẽ có phần thứ hai là 7 dấu cách mã hoá – dữ liệu đầu vào giống nhau, thuật toán giống nhau sẽ ra kết quả giống nhau
3.4 Các phương pháp xác định một mật khẩu qua mạng
3.4.1 Truyền đơn giản của mật khẩu
Mật khẩu rất dễ bị đánh chặn (tức là, "snooping") trong khi đang được truyền tới máy chứng thực hoặc người Nếu mật khẩu được thực hiện như là tín hiệu điện trên dây vật lý không có bảo đảm giữa các điểm truy cập người dùng
và hệ thống trung tâm kiểm soát các cơ sở dữ liệu mật khẩu, nó sẽ bị snopping bằng phương pháp nghe lén Nếu nó được chuyển dưới dạng gói tin qua Internet, bất cứ ai đều có thể xem các gói tin có chứa các thông tin đăng nhập với xác suất bị phát hiện thấp
Email từng đôi khi được sử dụng để phân phối mật khẩu nhưng nó là một phương pháp không an toàn Do hầu hết các email được gửi như bản rõ nên một tin nhắn có chứa mật khẩu có thể dễ dàng bị đọc trộm khi được gửi Hơn nữa, tin nhắn sẽ được lưu trữ như là bản rõ trên ít nhất hai máy tính: của người gửi và
Trang 12người nhận Nếu nó đi qua hệ thống trung gian, nó có thể sẽ được lưu trữ trên đó
và có thể được sao chép vào sao lưu, bộ nhớ cache hoặc lịch sử trên các hệ thống này
Sử dụng mã hóa phía khách hàng sẽ chỉ bảo vệ đường truyền từ hệ thống máy chủ xử lý mail cho các máy client Trước hoặc sau khi email được gửi đi,
nó sẽ không được bảo vệ và các email có thể sẽ được lưu trữ trên nhiều máy tính, ít nhất là trên các máy gốc và máy tiếp nhận; và nó thường là văn bản rõ rang không mã hóa
3.4.2 Lây truyền qua kênh mã hóa
Nguy cơ các mật khẩu được gửi qua Internet bị đánh chặn có thể được giảm bằng cách sử dụng mật mã bảo vệ Được sử dụng rộng rãi nhất là Transport Layer Security (TLS, trước đây được gọi là SSL) - tính năng tích hợp vào các trình duyệt Internet hiện nay Khi TLS được sử dụng, hầu hết các trình duyệt cảnh báo người dùng bằng cách hiển thị một biểu tượng ổ khóa đóng, hoặc một số dấu hiệu khác
3.4.3 Phương pháp dựa trên giá trị băm
Thật không may, có một cuộc xung đột giữa lưu trữ mật khẩu băm và chứng thực; hơn nữa client cần chứng minh với server rằng họ biết thông tin bí mật được chia sẻ (ví dụ, mật khẩu) là gì, và để làm được điều này, các máy chủ phải được biết những bí mật đó từ hình thức lưu trữ của nó Trên nhiều hệ thống (bao gồm cả hệ thống kiểu Unix) thực hiện chứng thực từ xa, những bí mật được chia sẻ thường chuyển thành dạng băm và ít khi bị tấn công Ngoài ra, khi các giá trị được sử dụng như một bí mật được chia sẻ, một kẻ tấn công không cần
mật khẩu ban đầu để xác thực từ xa mà chỉ cần giá trị băm
3.4.4 Chứng minh thông tin mật khẩu
Thay vì truyền một mật khẩu, hoặc truyền giá trị băm của mật khẩu, hệ thống khóa chứng thực mật khẩu có thể thực hiện phương pháp chứng minh thông tin mật khẩu mà không cần dùng đến mật khẩu
Phát triển hơn, hệ thống khóa chứng thực mật khẩu (ví dụ, AMP , Speke , PAK-Z , SRP-6 ) được nâng cấp giúp tránh các cuộc xung đột và hạn