Tải bản đầy đủ (.pdf) (24 trang)

Nghiên cứu kỹ thuật Cracking Password và Bảo mật mật khẩu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (666.75 KB, 24 trang )

MỤ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

B.

VI.

The Password is dead ................................................................. 21

VII.

Hệ thống mật khẩu trang web .................................................... 22

DEMO .............................................................................................. 24


A. LÝ THUYẾT
I.

Mật khẩu là gì?

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.
II.

Cách chọn mât khẩu an toàn và dễ nhớ

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


khẩ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).


4. 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
“KcGqHdLtD”.
7. Thêm ngẫu nhiên một chuỗi nữa ghép vào đầu hoặc đuôi mật khẩu.
Thêm “iO$” và “M$” vào ví dụ ta có “iO$HoangSaTruongSa” và
“KcGqHdLtDM$”.
8. Thường xuyên thay đổi mật khẩu có thể không phải là ý hay vì sẽ khó
nhớ. Cách dễ nhớ là thêm thông tin thời gian vào mật khẩu, tạo thành
“0106iO$HoangSaTruongSa” hay “KcGqHdLtDM$0613” – mật khẩu được đổi
ngày 1/6 và tháng 6/2013. Sau đó tiến hành thay đổi định kì, hàng tháng hoặc
vài tháng một lần.
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 để 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ừ


“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.
III.

Yếu tố an toàn của một hệ thống mật khẩu


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-inthe-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ả.



An 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


cho 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


an 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 1007,(234)555-8910,(234)5550044,email:/home/jsmith:/bin/sh

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


để 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 bruteforce 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ỉ
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


nhiề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


SAM (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à


ngườ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 , BSpeke , PAK-Z , SRP-6 ) được nâng cấp giúp tránh các cuộc xung đột và hạn


chế của phương pháp băm. Một hệ thống đã nâng cấp cho phép một client chứng
minh thông tin của mật khẩu cho một máy chủ.

3.5.

Thủ tục thay đổi mật khẩu

Thông thường, một hệ thống phải cung cấp một cách để thay đổi mật khẩu
khi client cho rằng mật khẩu hiện tại đã bị (hoặc có thể bị) tấn công, hoặc như
một biện pháp phòng ngừa. Nếu mật khẩu mới được chuyển vào hệ thống ở
dạng không mã hóa thì tính bảo mật có thể bị mất trước khi được mật khẩu mới
cài đặt trong các cơ sở dữ liệu mật khẩu. Một số trang chứa danh sách những
mật khẩu để người dùng chọn trong một email xác nhận không được mã hóa,
điều này là thật sự nguy hiểm.
Hệ thống quản lý danh tính đang được sử dụng để tự động hóa việc thay
thế cho mật khẩu bị mất, gọi là dịch vụ tự thiết lập lại mật khẩu. Danh tính của
người dùng được xác nhận bằng cách đặt câu hỏi và so sánh câu trả lời được lưu
trước đó.
Một số câu hỏi thiết lập lại mật khẩu yêu cầu thông tin cá nhân có thể
được tìm thấy trên phương tiện truyền thông xã hội. Do vậy, một số chuyên gia
bảo mật khuyên bạn nên tự tạo câu hỏi hoặc cho câu trả lời sai.
3.6.

Tuổi thọ mật khẩu

"Mật khẩu lão hóa" là một tính năng của một số hệ điều hành mà buộc
người dùng thay đổi mật khẩu thường xuyên (ví dụ, hàng quý, hàng tháng hoặc
thậm chí nhiều hơn). Nhiều người có thói quen ghi lại các mật khẩu và để nó ở
nơi nó có thể dễ dàng được tìm thấy, cũng như sử dụng các cuộc gọi trợ giúp để
thiết lập lại mật khẩu bị quên. Người dùng có thể sử dụng mật khẩu đơn giản
hơn hoặc quy luật theo một chủ đề để mật khẩu dễ nhớ hơn. Vì những vấn đề
này, có một số tranh luận về hiệu quả của tính năng “mật khẩu lão hóa”.
3.7.


Nhiều user dùng một mật khẩu

Từ góc nhìn an ninh, phân chia mật khẩu riêng biệt cho mỗi người dùng
của hệ thống là thích hợp hơn là sử dụng mật khẩu riêng lẻ. Điều này là do
người dùng sẵn sàng hơn để nói với người khác (những người có thể không
được uỷ quyền) một mật khẩu được chia sẻ hơn một mật khẩu dành riêng cho


họ. Nhưng mật khẩu riêng lẻ cũng ít thuận tiện hơn để thay đổi vì cần thông báo
cho nhiều người cùng lúc đó, và nó làm cho việc loại bỏ các quyền truy cập của
người dùng cụ thể khó khăn hơn, như ví dụ sau khi tốt nghiệp hoặc từ chức.
3.8.

Kiến trúc bảo mật mật khẩu

Kỹ thuật thường được sử dụng để cải thiện an ninh của các hệ thống máy
tính được bảo vệ bởi một mật khẩu bao gồm:
 Không hiển thị các mật khẩu trên màn hình hiển thị khi nó được
nhập hoặc che nó khi nhập bằng cách sử dụng dấu (*) hoặc (•).
 Cho phép mật khẩu có độ dài vừa đủ. (Trong một số hệ điều
hành mở, bao gồm cả phiên bản đầu của Unix và Windows, mật khẩu tối
đa là 8 ký tự)
 Người sử dụng phải nhập lại mật khẩu sau một thời gian không
hoạt động.
 Thi hành một chính sách mật khẩu để tăng sức mạnh và tính an
ninh của mật khẩu, như:
 Yêu cầu thay đổi mật khẩu định kỳ.
 Gán mật khẩu được chọn ngẫu nhiên.
 Yêu cầu độ dài tối thiểu của mật khẩu.

 Một số hệ thống đòi hỏi có các kí tự từ những nhóm kí tự
khác nhau, ví dụ mật khẩu phải có ít nhất một chữ hoa và ít nhất
một chữ cái thường. Tuy nhiên, khi nhập mật khẩu, mật khẩu chỉ
gồm các chữ cái thường an toàn hơn mật khẩu kết hợp với chữ cái
hoa.
 Sử dụng danh sách đen mật khẩu để ngăn chặn việc sử
dụng các mật khẩu yếu, dễ dàng đoán.
 Cung cấp một thay thế cho việc nhập bàn phím (mật khẩu
nói, mật khẩu sinh trắc học).
 Đòi hỏi nhiều hơn một hệ thống xác thực, chẳng hạn như
xác thực hai yếu tố (một cái gì đó người dùng có và những gì người
đó biết).


 Sử dụng các đường hầm được mã hóa hoặc thỏa thuận mật khẩu
xác thực để ngăn chặn các cuộc tấn công truy cập vào mật khẩu truyền
qua mạng.
 Hạn chế số lần nhập sai mật khẩu trong một khoảng thời gian
nhất định (để ngăn chặn việc đoán mật khẩu nhiều lần). Sau khi đã đạt
giới hạn, việc nhâp mật khẩu sẽ đều thất bại (bao gồm cả việc nhập đúng
mật khẩu) cho đến khi bắt đầu giai đoạn tiếp theo. Tuy nhiên, điều này là
điểm yếu giúp cho tấn công từ chối dịch vụ.
 Thêm khoảng trễ vào giữa những lần nhập thất bại để làm chậm
chương trình đoán mật khẩu tự động.
Một số biện pháp thực thi chính sách nghiêm ngặt có thể gây ra nguy cơ
tránh xa người sử dụng, từ đó làm giảm tính bảo mật.
3.9.

Tái sử dụng mật khẩu


Đó là thực tế phổ biến khi người dùng máy tính tái sử dụng cùng một mật
khẩu trên nhiều trang web. Việc này dẫn đến nguy cơ bảo mật đáng kể, vì một
kẻ tấn công chỉ cần thỏa hiệp một trang web duy nhất để đạt được quyền truy
cập vào các trang web khác nạn nhân sử dụng. Vấn đề này càng trầm trọng hơn
khi tái sử dụng tên người dùng, vì có một số trang web yêu cầu đăng nhập bằng
email; điều này làm cho kẻ tấn công dễ dàng hơn khi chỉ cần theo dõi một người
dùng duy nhất trên nhiều trang web. Có thể tránh hoặc giảm việc tái sử dụng mật
khẩu bằng cách sử dụng các kỹ thuật ghi nhớ, viết mật khẩu ra giấy, hoặc sử
dụng các trình quản lý mật khẩu.
Vấn đề này đã được thảo luận bởi các nhà nghiên cứu Redmond Dinei
Florencio và Cormac Herley, cùng với Paul C. van Oorschot của Đại học
Carleton, Canada, rằng: Tái sử dụng mật khẩu là không thể tránh khỏi, và người
dùng nên sử dụng lại mật khẩu cho các trang web bảo mật thấp (có chứa ít dữ
liệu cá nhân và không có thông tin tài chính) và thay vào đó tập trung cố gắng
nhớ lâu mật khẩu phức tạp cho một vài tài khoản quan trọng, chẳng hạn như tài
khoản ngân hang.
3.10. Ghi lại mật khẩu trên giấy


Trong lịch sử, nhiều chuyên gia an ninh yêu cầu mọi người ghi nhớ mật
khẩu của mình: "Không bao giờ viết xuống một mật khẩu". Gần đây, nhiều
chuyên gia bảo mật như Bruce Schneier khuyên người sử dụng mật khẩu quá
phức tạp để ghi nhớ, hãy viết chúng ra giấy, và giữ chúng trong một chiếc ví.
Phần mềm quản lý mật khẩu cũng có thể lưu mật khẩu tương đối an toàn
trong một tập tin mã hóa được gắn vào với một mật khẩu chính duy nhất.
3.11. Hai yếu tố xác thực
Hai yếu tố xác thực làm cho mật khẩu an toàn hơn. Ví dụ, xác thực hai
yếu tố sẽ gửi cho bạn một tin nhắn văn bản, e-mail, hoặc thông báo thông qua
một ứng dụng của bên thứ ba bất cứ khi nào thực hiện đăng nhập.
IV.


Cracking Password

Trong phân tích mật mã và an ninh máy tính, bẻ mật khẩu là quá trình
phục hồi mật khẩu từ dữ liệu đã được lưu trữ hoặc truyền qua một hệ thống máy
tính . Một phương pháp phổ biến (brute-force) là cố gắng đoán mật khẩu nhiều
lần và kiểm tra xem chúng có chống lại giá trị băm mật mã của mật khẩu hay
không.
Mục đích của việc bẻ mật khẩu có thể được để giúp người dùng khôi phục
mật khẩu bị quên lãng (cài đặt một mật khẩu hoàn toàn mới tuy bảo mật hơn
nhưng nó liên quan đến quyền Quản trị hệ thống), để đạt được quyền truy cập
trái phép vào hệ thống, hoặc như một biện pháp phòng ngừa bằng cách quản trị
hệ thống kiểm tra mật khẩu dễ dàng bị bẻ hay không. Trên cơ sở file-by-file, bẻ
mật khẩu được sử dụng để truy cập vào bằng chứng kỹ thuật số mà thẩm phán
đã cho phép nhưng việc truy cập các tập tin đặc biệt bị hạn chế.
4.1. Thời gian cần thiết để bẻ mật khẩu
Thời gian để crack một mật khẩu có liên quan đến độ mạnh bit, tức là
entropy của mật khẩu, và chi tiết về cách lưu trữ mật khẩu. Hầu hết các phương
pháp bẻ mật khẩu yêu cầu máy tính tạo ra nhiều mật khẩu ứng cử viên rồi kiểm
tra chúng. Ví dụ trong brute-force cracking một máy tính thử từng khóa hoặc
mật khẩu có thể cho đến khi nó thành công. Phương pháp bẻ mật khẩu phổ biến


hơn như các cuộc tấn công từ điển, kiểm tra mẫu, danh sách từ thay thế, vv…
giúp giảm số lượng các thử nghiệm cần thiết và thường sẽ được thử trước khi
phải dùng đến biện pháp mạnh. Mật khẩu mạnh hơn theo hàm mũ làm tăng số
lượng mật khẩu ứng cử viên phải kiểm tra, giúp khôi phục mật khẩu và làm
giảm khả năng mật khẩu được tìm thấy trong từ điển crack.
Khả năng để crack mật khẩu sử dụng các chương trình máy tính dựa vào
số mật khẩu được kiểm tra mỗi giây. Nếu kẻ tấn công biết giá trị băm của mật

khẩu mục tiêu thì con số này có thể khá lớn. Nếu không, con số này tùy theo tần
suất kiểm tra mật khẩu của phần mềm xác thực, hoặc độ trễ, CAPTCHA, hoặc
không cho nhập mật khẩu sau một số lần thất bại. Có thể đoán nhanh là khi mật
khẩu được sử dụng để tạo một khóa mật mã. Trong trường hợp này, kẻ tấn công
có thể nhanh chóng kiểm tra để xem nếu một mật khẩu thử giải mã thành công
dữ liệu mã hóa.
Đối với một số loại giá trị băm mật khẩu, máy tính để bàn có thể thử
nghiệm trên một trăm triệu mật khẩu mỗi giây khi sử dụng các công cụ bẻ mật
khẩu chạy trên một CPU và hàng tỷ mật khẩu mỗi giây khi sử dụng công cụ bẻ
mật khẩu trên nền GPU. Tỷ lệ đoán mật khẩu phụ thuộc rất nhiều vào các hàm
mã hóa được hệ thống sử dụng để tạo ra các giá trị băm mật khẩu. Một hàm băm
mật khẩu thích hợp, chẳng hạn như bcrypt, là số mũ của lũy thừa 10, tốt hơn
những hàm đơn giản như MD5 hoặc SHA. Một mật khẩu tám ký tự gồm với số,
chữ thường, chứ hoa và các biểu tượng được ước tính là mạnh đến 30 bit nhưng
sẽ bị bẻ sau vài giây nếu sử dụng hàm băm đơn giản. Khi máy tính để bàn thông
thường được kết hợp trong một nỗ lực crack, như được thực hiện với các botnet,
khả năng bẻ mật khẩu được mở rộng đáng kể. Năm 2002, distributed.net tìm
thành công một khóa RC5 64-bit trong bốn năm, trong đó sử dụng hơn 300.000
máy tính khác nhau nhiều lần, và tạo ra trung bình hơn 12 tỷ khóa mỗi giây. Bộ
xử lý đồ họa có thể tăng tốc độ bẻ mật khẩu bằng 50 đến 100 máy tính. Tính đến
năm 2011, sản phẩm thương mại được khẳng định có thể thử nghiệm đến
2800000000 mật khẩu một giây trên một máy tính để bàn tiêu chuẩn sử dụng bộ
xử lý đồ họa cao cấp. Một thiết bị như vậy có thể crack mật khẩu có 10 chữ cái


trong một ngày. Lưu ý rằng công việc có thể được phân phối trên nhiều máy tính
để tốc độ tăng thêm tỷ lệ với số lượng máy tính có GPU tương thích với nhau.
Tuy nhiên, CPU máy tính để bàn vẫn chậm hơn so với các máy thiết kế
nhằm mục đích bẻ mật khẩu. Trong năm 1998, Electronic Frontier Foundation
(EFF) đã xây dựng một máy bẻ mật khẩu chuyên dụng sử dụng ASICs tên là

Deep Crack. Nó đã phá vỡ một khóa DES 56-bit trong 56 giờ, thử hơn 90 tỷ
khóa mỗi giây. Năm 2010, Viện Nghiên cứu Công nghệ Georgia đã phát triển
một phương pháp sử dụng GPGPU để bẻ mật khẩu có độ dài tối thiểu 12 ký tự.

4.2. Phòng ngừa
Phương pháp tốt nhất để ngăn một mật khẩu không bị bẻ là để đảm bảo
rằng những kẻ tấn công không thể truy cập đến mật khẩu băm. Ví dụ, trên hệ
điều hành Unix, mật khẩu băm ban đầu được lưu trữ trong một tập tin truy cập
công khai /etc/passwd . Trên hệ thống Unix hiện đại, chúng được lưu trữ trong
tập tin /etc/shadow chỉ được truy cập vào các chương trình đang chạy với quyền
nâng cao (tức là "hệ thống" đặc quyền). Điều này làm cho người dùng nguy
hiểm khó khăn hơn để có được mật khẩu băm. Thật không may, nhiều giao thức
mạng phổ biến truyền mật khẩu ở dạng cleartext hoặc sử dụng các chương trình
thách thức / phản hồi yếu.
Hệ thống Unix hiện đại đã thay hàm băm truyền thống crypt() dựa trên
DES bằng các phương pháp mạnh hơn như bcrypt và scrypt. Các hệ thống khác
cũng đã bắt đầu áp dụng những phương pháp này. Ví dụ, Cisco IOS ban đầu
dịch ngược mã Vigenère để mã hóa mật khẩu, nhưng bây giờ sử dụng md5-crypt
với muối 24-bit khi lệnh bí mật được sử dụng. Những phương pháp mới sử dụng
các giá trị muối lớn để ngăn chặn các cuộc tấn công nhiều tài khoản người dùng
cùng một lúc. Các thuật toán cũng chậm hơn nhiều để làm tăng đáng kể thời
gian cần thiết để tấn công thành công.
Nhiều hàm băm được sử dụng để lưu trữ mật khẩu, chẳng hạn như MD5
và nhóm SHA, được thiết kế để tính toán nhanh chóng và thực hiện hiệu quả
trong phần cứng. Do vậy, chúng không có hiệu quả trong việc ngăn chặn bẻ mật


khẩu, đặc biệt là với các phương pháp như các bảng cầu vồng. Sử dụng thuật
toán kéo dài khóa, chẳng hạn như PBKDF2, để tạo thành các mật khẩu băm có
thể giảm đáng kể tỉ lệ thử mật khẩu.

Những giải pháp như thẻ bảo mật liên tục thay đổi mật khẩu. Những giải
pháp đó đột ngột giảm thời hạn của tấn công cưỡng chế (kiểu tấn công phá vỡ và
sử dụng mật khẩu mà không cần thay đổi nó) và làm giảm giá trị của các mật
khẩu bị đánh cắp vì nó chỉ có giá trị trong thời gian ngắn.
4.3. Phần mềm
Có rất nhiều các công cụ phần mềm bẻ mật khẩu, nhưng phổ biến nhất là
Aircrack, Cain và Abel, John the Ripper, Hashcat, Hydra, Dave Grohl và
ElcomSoft. Nhiều phần mềm hỗ trợ tranh chấp cũng có chức năng bẻ mật khẩu.
Hầu hết hiệu quả nhất là các gói sử dụng hỗn hợp các chiến lược crack, thuật
toán mạnh và tấn công từ điển.
Những tin tặc thiếu kinh nghiệm cũng có thể hoạt động nhờ năng lực ngày
càng tăng của máy tính cũng như những phần mềm tự động bẻ mật khẩu thông
thường.
V.

Giải pháp thay thế mật khẩu trong xác thực

Việc sử dụng các mật khẩu thường trú hoặc bán kiên cố vẫn có thể bị tổn
hại đã thúc đẩy việc phát triển các kỹ thuật khác như:
 Mật khẩu dùng một lần .
Mật khẩu chỉ có giá trị sử dụng một lần làm cho nhiều cuộc tấn
công mất hiệu quả. Hầu hết người dùng thấy mật khẩu sử dụng một lần vô
cùng bất tiện. Tuy nhiên, mật khẩu dùng một lần vẫn được triển khai rộng
rãi trong các giao dịch ngân hàng trực tuyến. Vì hầu hết người dùng chỉ
thực hiện một số lượng nhỏ các giao dịch mỗi tuần, nên sự bất tiện này ẫn
có thể chấp nhận được.
 Mật khẩu một lần đồng bộ thời gian
Tương tự như mật khẩu một lần, nhưng nó chỉ được hiển thị trong
một thời gian ngắn và thay đổi liên tục.
 Mật khẩu một lần PassWindow



Được sử dụng như mật khẩu sử dụng duy nhất, nhưng các kí tự
được đọc chỉ khi một người sử dụng thêm vào một khóa hình ảnh duy
nhất qua một thử thách hình ảnh do sever tạo ra hiển thị trên màn hình của
người dùng.
 Mật mã khóa công khai
Điều khiển truy cập dựa trên mật mã khóa công khai ví dụ như ssh.
Các khóa là quá lớn để ghi nhớ và phải được lưu trữ trên một máy tính địa
phương, thẻ bảo mật hoặc bộ nhớ di động thiết bị, chẳng hạn như một ổ
đĩa flash USB hoặc đĩa mềm .
 Sinh trắc học
Phương pháp xác thực dựa trên những đặc điểm cá nhân không thay
đổi, nhưng hiện nay có tỷ lệ lỗi cao và đòi hỏi phần cứng nâng cấp để
quét, ví dụ như: dấu vân tay, tròng mắt, vv… Những đặc điểm dễ dàng bị
giả mạo, và bởi vì những đặc điểm này là bất di bất dịch, nên có thể
không được thay đổi nếu bị tổn hại.
 Công nghệ đăng nhập một lần
Giúp loại bỏ việc phải có nhiều mật khẩu. Giải pháp này không làm
ảnh hưởng tới người sử dụng và quản trị trong việc lựa chọn mật khẩu
duy nhất hợp lý;; người thiết kế hệ thống quản trị hay người quản trị trong
việc đảm bảo rằng các thông tin kiểm soát truy cập được an toàn.
 Công nghệ Envaulting
Đây là một cách quản lý mật khẩu miễn phí để bảo vệ dữ liệu trên
các thiết bị lưu trữ di động như ổ đĩa flash USB. Thay vì sử dụng mật
khẩu, việc kiểm soát truy cập sẽ dựa trên việc người dùng truy cập đến
một tài nguyên mạng.
 . Password không có dạng văn bản
Ví dụ như mật khẩu đồ họa hoặc di chuyển chuột. Mật khẩu là một
phương tiện xác thực cho log-in, dự định sẽ được sử dụng thay cho mật

khẩu thông thường. Chúng sử dụng hình ảnh , đồ họa hoặc màu sắc thay
vì chữ , chữ số hoặc ký tự đặc biệt . Một hệ thống có thể yêu cầu người


dùng chọn một loạt các gương mặt như một mật khẩu. Thực tế, người
dùng có thể phải chọn một loạt các hình ảnh theo trình tự chính xác để
truy cập được. Giải pháp mật khẩu đồ họa tạo ra một mật khẩu sử dụng
một lần bằng cách sử dụng một mạng lưới hình ảnh ngẫu. Mỗi khi người
dùng được yêu cầu phải xác thực, họ tìm kiếm những hình ảnh phù hợp
với loại mà họ đã chọn trước đó và nhập ký tự chữ và số được tạo ngẫu
nhiên xuất hiện trong hình ảnh để tạo mật khẩu một lần. Cho đến nay, mật
khẩu đồ họa đầy hứa hẹn, nhưng không được sử dụng rộng rãi. Các
nghiên cứu về đề tài này đã được thực hiện để xác định khả năng sử dụng
của nó trong thế giới thực. Trong khi một số người tin rằng mật khẩu đồ
họa sẽ khó khăn hơn để crack thì có người cho rằng nó chỉ là khả năng
chọn hình ảnh hoặc các trình tự phổ biến như dạng mật khẩu phổ biến.
 2D chính (2-Dimensional Key)
Đây là phương pháp mà đầu vào là dạng ma trận 2D các khóa,
trong đó các khóa là cụm từ mật khẩu đa dạng, ô chữ, biểu tượng ASCII /
Unicode, với phiên âm tùy chọn, để tạo ra lớn mật khẩu / khóa lớn hơn
128 bit để nhận MePKC (Mã hóa công khai dễ nhớ) sử dụng khóa có thể
nhớ được với các công nghệ quản lý khóa riêng hiện nay như mã hóa
khóa, tách khóa, và đổi chỗ khóa.
 Mật khẩu nhận thức
Sử dụng các cặp câu hỏi và câu trả lời để xác minh danh tính.
VI.

The Password is dead

"Mật khẩu sẽ chết" là một ý tưởng tái diễn trong bảo mật máy tính . Nó

thường đi kèm với lập luận rằng việc thay thế mật khẩu bằng một phương tiện
an toàn hơn để xác thực là cần thiết và sẽ xảy ra. Tuyên bố này đã được thực
hiện bởi nhiều người ít nhất từ năm 2004. Đáng chú ý, tại Hội nghị RSA 2004
dự đoán sự sụp đổ của các mật khẩu Bill Gates đã phát biểu rằng "Chúng không
đáp ứng các thách thức đối với bất cứ điều gì bạn muốn bảo vệ." Năm 2011 IBM
dự đoán rằng, trong thời hạn năm năm, "Bạn sẽ không bao giờ cần một mật khẩu
một lần nữa." Matt Honan, một nhà báo, người là nạn nhân của một vụ hack,


trong năm 2012 đã viết "Thời của mật khẩu đã đi đến kết thúc.” Heather Adkins,
quản lý an ninh thông tin tại Google, vào năm 2013 nói rằng: “các mật khẩu
được giải quyết tại Google.” Eric Grosse, VP kỹ thuật an ninh tại Google, nói
rằng" mật khẩu và thẻ đơn giản, chẳng hạn như các tập tin cookie, không còn đủ
để giữ cho người sử dụng an toàn." Christopher Mims, viết trong Wall Street
Journal cho biết các mật khẩu “cuối cùng sẽ chết” và dự đoán sự thay thế của họ
bằng cách dựa trên thiết bị xác thực
Những tuyên bố rằng "mật khẩu sẽ chết" thường được nêu bởi những
người có chủ trương thay thế cho mật khẩu, như sinh trắc học, xác thực hai yếu
tố hoặc đăng nhập một lần. Nhiều sáng kiến đã được đưa ra với mục tiêu rõ ràng
để loại bỏ mật khẩu. Chúng bao gồm Microsoft 's CardSpace, các dự án Higgins,
các liên minh Liberty, NSTIC, FIDO 2.0. Jeremy Grant, người đứng đầu
NSTIC, tuyên bố "Mật khẩu là một thảm họa từ góc độ an ninh, chúng tôi muốn
bắn chúng chết.”
Bất chấp những dự đoán và nỗ lực để thay thế mật khẩu, nó vẫn xuất hiện
như hình thức chi phối việc xác thực trên web. Trong "The Persistence of
Passwords," Cormac Herley và Paul van Oorschot giả định “mật khẩu sẽ chết” là
không chính xác và lập luận rằng: không có công nghệ nào khác phù hợp cả về
chi phí, tính tức thì và thuận tiện như mật khẩu.
VII.


Hệ thống mật khẩu trang web

Mật khẩu được sử dụng trên các trang web để xác thực người dùng và
thường được duy trì trên các máy chủ web, có nghĩa là trình duyệt trên hệ thống
từ xa sẽ gửi một mật khẩu cho máy chủ (bằng HTTP POST), server sẽ kiểm tra
mật khẩu và gửi lại các nội dung có liên quan (hoặc một tin nhắn từ chối truy
cập). Quá trình này loại bỏ khả năng kỹ thuật đảo ngược vì các mã được sử dụng
để xác thực mật khẩu không nằm trên máy cục bộ.
Đường truyền mật khẩu, thông qua trình duyệt, dưới dạng bản rõ có thể bị
chặn trên hành trình đến máy chủ. Nhiều hệ thống xác thực trang web sử dụng
SSL để thiết lập một phiên mã hóa giữa các trình duyệt và máy chủ nhằm có một


“trang web an toàn”. Điều này được thực hiện tự động bởi trình duyệt và làm
tăng tính toàn vẹn của phiên.


B. DEMO



×