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

Xác thực người sử dụng nguyên lý, các phương pháp xác thực người sử dụng

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 (2.05 MB, 74 trang )

POSTS AND TELECOMMUNICATIONS INSTITUTE OF TECHNOLOGY
FACULTY OF TELECOMMUNICATIONS 1

BÁO CÁO
MÔN: AN NINH MẠNG THÔNG TIN
Tên đề tài: Xác thực người sử dụng: nguyên lý, các phương
pháp xác thực người sử dụng


Bài tập tiểu luận môn ANM

MỤC LỤC
MỞ ĐẦU .................................................................................................................... 5
PHÂN CÔNG CÔNG VIỆC ...................................................................................... 6
CÁC THUẬT NGỮ VIẾT TẮT ................................................................................ 7
CHƯƠNG 1: CÁC PHƯƠNG PHÁP VÀ MỐI ĐE DỌA CỦA VIỆC CHỨNG
THỰC ......................................................................................................................... 9
1.1. Định nghĩ chứng thực...................................................................................... 9
1.2. Các yếu tố chứng thực ................................................................................... 10
1.2.1. Thông tin do người cung cấp biết .......................................................... 10
1.2.2. Thông tin mà người dùng có (sở hữu) ................................................... 10
1.2.3. Thơng tin cá nhân của người dùng ......................................................... 11
1.2.4. Thông tin do người dùng xử lý .............................................................. 12
1.3. Các khó khăn của việc chứng thực ............................................................... 13
1.3.1. Mật khẩu mặc định ................................................................................. 13
1.3.2. Nghe lén ................................................................................................. 14
1.3.3. Các cuộc tấn cơng Man-in-the-Middle .................................................. 14
1.3.4. Đốn mật khẩu ....................................................................................... 15
1.3.5. Tấn công phi kỹ thuật............................................................................. 15
CHƯƠNG 2: CHỨNG THỰC DỰA TRÊN MẬT KHẨU ..................................... 17
2.1. Các vấn đề về mật khẩu ................................................................................ 18


2.1.1. Khóa và mật khẩu................................................................................... 18
2.1.2. Lựa chọn mật khẩu ................................................................................. 19
2.1.3. Chất lượng mật khẩu .............................................................................. 19
2.2. Lưu trữ mật khẩu ........................................................................................... 20
2.2.1. Mật khẩu văn bản thô ............................................................................. 20
2.2.2. Mật khẩu được mã hóa ........................................................................... 20
2.2.3. Mật khẩu được mã hóa băm ................................................................... 21
2.2.4. Salted password ...................................................................................... 22
2.3. Sắp đặt và tạo Salt động ................................................................................ 22


Bài tập tiểu luận môn ANM
2.3.1. Điều chỉnh chất lượng mật khẩu ............................................................ 22
2.3.2. Lượng Salt hợp lý................................................................................... 23
2.3.3. Sắp đặt vị trí cho Salt. ............................................................................ 23
2.3.4. Cơ chế hoạt động.................................................................................... 24
2.3.5. Độ bảo mật của Salt ............................................................................... 25
2.4. Mật khẩu dựa trên hình ảnh .......................................................................... 25
2.4.1. Hệ thống dựa trên việc ghi nhớ .............................................................. 25
CHƯƠNG 3: CHỨNG THỰC BẰNG SINH TRẮC HỌC ..................................... 28
3.1. Định nghĩa về sinh trắc học........................................................................... 29
3.1.1. Phân loại sinh trắc học ........................................................................... 30
3.1.2. Các thuộc tính của sinh trắc học ............................................................ 32
3.2. Chứng thực sinh trắc học .............................................................................. 33
3.3. Chỉ số hiệu năng của sinh trắc học ................................................................ 34
3.3.1. Các chỉ số hiệu năng cơ bản ................................................................... 34
3.3.2. Các chỉ số hiệu năng chứng thực ........................................................... 35
3.3.3. Ngưỡng sinh trắc học ............................................................................. 36
3.3.4. Tỉ lệ lỗi ngang bằng................................................................................ 36
3.4. Xác định giá trị ngưỡng sinh trắc học ........................................................... 37

3.5. Các trường hợp sử dụng sinh trắc học .......................................................... 40
3.5.1. Điện thoại thông minh ............................................................................ 40
3.5.2. Hệ thống tính giờ và kiểm sốt truy cập ................................................ 40
CHƯƠNG 4: CHỨNG THỰC ĐA YẾU TỐ .......................................................... 40
4.1. Các vấn đề của các phương thức chứng thực truyền thống .......................... 41
4.2. Chứng thực hai yếu tố ................................................................................... 41
4.3. Các yếu tố chứng thực thông thường ............................................................ 42
4.3.1. Token chứng thực qua phần cứng .......................................................... 42
4.3.2. Sử dụng SMS ......................................................................................... 43
4.3.4. Token chứng thực qua phần mềm .......................................................... 44


Bài tập tiểu luận môn ANM
4.4. Đánh giá chứng thực hai yếu tố .................................................................... 45
4.5. Chứng thực đa yếu tố .................................................................................... 46
4.6. Chứng thực đa yếu tố dựa trên sinh trắc học ................................................ 47
4.6.1. Tạo yếu tố chứng thực............................................................................ 47
4.6.2. Chứng thực ............................................................................................. 48
4.7. Đánh giá chứng thực đa yếu tố...................................................................... 49
4.7.1. Đánh giá bảo mật ................................................................................... 49
4.7.2. Đánh giá khả năng sử dụng .................................................................... 50
CHƯƠNG 5: CÁC GIAO THỨC XÁC THỰC VÀ TẠO KHÓA .......................... 51
5.1. Các giao thức xác thực .................................................................................. 51
5.2. Giao thức khóa cơng khai Needham – Schroeder ......................................... 53
5.3. Giao thức SSL (Secure Socket Layer) .......................................................... 54
5.4. Giao thức Kerberos ....................................................................................... 58
5.5.1. Đăng nhập máy khách ............................................................................ 60
5.5.2. Trao đổi vé ............................................................................................. 60
5.5. Nguyễn tắc thiết kế giao thức xác thực ......................................................... 62
CHƯƠNG 6: XU HƯỚNG HIỆN TẠI VÀ TƯƠNG LAI ...................................... 63

6.1. Sáng kiến ID4D ............................................................................................. 63
6.2. Mức độ đảm bảo của xác thực ...................................................................... 65
6.2.1. Mức độ đảm bảo xác thực 1 (AAL1) ..................................................... 66
6.2.2. Mức độ đảm bảo xác thực 2 (AAL2) ..................................................... 66
6.2.3. Mức độ đảm bảo xác thực 3 (AAL3) ..................................................... 67
KẾT LUẬN .............................................................................................................. 68
DANH MỤC BẢNG BIỂU HÌNH VẼ .................................................................... 70
TÀI LIỆU THAM KHẢO ........................................................................................ 72


Bài tập tiểu luận mơn ANM

MỞ ĐẦU
1. Lí do chọn đề tài
Ngày nay với sự phát triển với tốc độ theo từng giây hay phút thì con người ta đã ngày
càng được tiếp cận với các công nghệ mới, dịch vụ mới. Tuy nhiên, đây cũng là một thách
thức mới khi các cuộc tấn công kỹ thuật số đã ngày càng phát triển hơn. Các cuộc tấn công
nhằm chiếm đoạt tài khoản và giả mạo danh tính chủ nhân tài khoản đã khơng cịn hiếm
trong tình hình hiện nay. Các cuộc tấn cơng này đã và đang có những ảnh hưởng tiêu cực
tới tất cả các mặt của cuộc sống như đời tư cá nhân, tài chính, bí mật quân sự, … Đó cũng
là lí do vì sao mà chúng ta cần có những nghiên cứu và hiểu biết về các phương pháp chứng
thực nhằm hạn chế mức độ nghiêm trọng của các cuộc tấn cơng này.
2. Mục đích và phạm vi của tiểu luận
Tìm hiểu và đưa ra các phương pháp hay cách thức có thể được áp dụng để thực hiện
công việc chứng thực trong bối cảnh công nghệ hiện nay.
Các phương pháp được đề cập đa dạng về mặt cách thức. Qua đó cung cấp được kiến
thức về các phương án để thực hiện chứng thực người dùng hiện nay.
3. Phương pháp nghiên cứu
Thực hiện nghiên cứu qua phương thức phi thực nghiệm và nghiên cứu tài liệu



PHÂN CƠNG CƠNG VIỆC

Họ và Tên

Mã sinh viên

Cơng việc
Phụ trách nội dung, bảng biểu và hình
vẽ tại chương 1 và 2
Phụ trách nội dung, bảng biểu và hình
vẽ tại chương 3 và 4
Hoàn thiện bản Word
Phụ trách nội dung, bảng biểu và hình
vẽ tại chương 5 và 6


Bài tập tiểu luận môn ANM

CÁC THUẬT NGỮ VIẾT TẮT
PWD
FTP
HTTP
AES
VPN
NLP
USB
ID
SHA-1
MD5

DAS
FTE
FTA

Password
File transfer protocol
Hypertext Transfer Protocol
Advanced encryption standard
Virtual private network
Neuro-linguistic programming
Universal serial bus
Identification
Secure hash algorithm 1
Message-Digest algorithm 5
Draw-a-Secret
Failure-to-Enroll Rate
Failure-to-Acquire Rate

FAR

False acceptance rate

FRR

False rejection rate

GAR

Genuine acceptance rate


EER
PIN
ML
KNN
2FA
MFA
SMS
service
OTP
HOTP

Equal Error Rate
Personal identification number
Machine learning
K-nearest neighbors
2-factor-authentication
Multi-factor-authentication
Small message service

One-time password
HMAC-based one-time
password
SS7
Signaling system # 7
TOPT
Time-based one-time password
OWASP Open web application security
project
NIST
National Institute of Standards

and Technology
RPC
Remote procedure call

Mật khẩu
Giao thức truyền tập tin
Giao thức truyền tải siêu văn bản
Tiêu chuẩn mã hóa tiên tiến
Mạng riêng ảo
Lập trình ngơn ngữ tư duy
Chuẩn kết nối
Định danh
Thuật tốn mã hóa Hash 1
Giải thuật đồng hóa thơng tin 5
Mật khẩu đồ họa Draw-a-Secret
Chỉ số đo lường số lần đăng kí thất bại
Chỉ số đo lường số lượng sinh trắc thất
bại
Số lượng mà một phần người dùng khơng
được cấp quyền có khả năng được hệ
thống chấp nhận bởi hệ thống
Số lượng hay một phần người dùng được
cấp quyền đã bị hệ thống từ chối quyền
truy cập
Số lượng hay một phần người dùng được
cấp quyền có thể được chấp nhận bởi hệ
thống sinh trắc
Tỉ lệ lỗi cân bằng
Mã số định danh cá nhân
Máy học

Giải thuật K hàng xóm gần nhất
Chứng thực 2 yếu tố
Chứng thực đa yếu tố
Dịch vụ tin nhắn
Mật khẩu sử dụng 1 lần
Mật khẩu sử dụng 1 lần dựa trên bản tin
mã hóa chứng thực Hash
Giao thức báo hiệu số 7
Mật khẩu sử dụng 1 lần dựa trên thời gian
Dự án mở về bảo mật web
Viện Tiêu chuẩn và Công nghệ
Cuộc gọi thủ tục từ xa


Bài tập tiểu luận môn ANM
TTP
MitM
SSL
TLS
CA
CRL
SSO
KDC
TGT
ID4D
SDGs
NIST
AAL

Third party provider

Man-in-the-middle
Secure socket layer
Transport Layer Security
Certificate authority
Certificate Revocation
Single Sign-on
Key Distribute Center
Ticket Granting Ticket
Identification for Development
Sustainable Development Goals
National Institute of Standards
and Technology
Authentication Assurance Level

Bên thứ ba đáng tin cậy
Tấn công ở giữa
Lớp cổng bảo mật
Bảo mật lớp truyền tải
Chứng chỉ
Thu hồi chứng chỉ
Đăng nhập một lần
Trung tâm phân phối khóa
Vé cấp quyền
Nhận dạng để Phát triển
Mục tiêu Phát triển Bền vững
Viện Tiêu chuẩn và Công nghệ Quốc gia
Cấp độ đảm bảo xác thực


Bài tập tiểu luận môn ANM


CHƯƠNG 1: CÁC PHƯƠNG PHÁP VÀ MỐI ĐE DỌA CỦA VIỆC
CHỨNG THỰC
1.1. Định nghĩ chứng thực
Có bốn quy trình đối với cơ chế kiểm sốt truy cập - xác định, chứng thực, ủy quyền
và kế tốn. Chứng thực là một q trình được sử dụng để xác nhận danh tính của người
dùng. Có nghĩa là, một khi thông tin được nhập, người dùng phải chứng minh rằng nó thực
sự thuộc về họ. Ủy quyền cho biết những gì mỗi người dùng được và khơng được phép truy
cập. Nói cách khác, ủy quyền cung cấp cho người dùng quyền truy cập của họ vào tài
nguyên. Tiếp đến kế toán là lưu giữ hồ sơ về những ai đã vào hệ thống, những gì người đó
đã làm và khi nào.
Thơng thường, có hai thành phần tham gia vào quá trình chứng thực thực thể. Họ được
biết đến như một bên cung cấp và một bên chứng thực. Chúng được mơ tả trong Hình 1.1
như sau:
1. Bên cung cấp - Thực thể sẽ cung cấp danh tính của họ và sẽ được chứng
minh tính hợp lệ.
2. Bên chứng thực - Bên kiểm tra thông tin chứng thực của người cung cấp
và cho biết liệu quy trình chứng minh danh tính của người cung cấp có
thành cơng hay khơng.

Hình 1.1 - Q trình chứng thực của 2 bên

Đơi khi cần có thành phần thứ ba trong q trình chứng thực. Thành phần thứ ba này
thường được gọi là bên thứ ba đáng tin cậy, có cơng việc là phân tích danh tính và thơng
tin chứng thực đã nhận. Bên thứ ba đáng tin cậy cũng đưa ra quyết định về việc quy trình
chứng thực có thành cơng hay khơng, có nghĩa là bên thứ ba đáng tin cậy sẽ trở thành người
chứng thực của quy trình. Quá trình chứng thực điển hình liên quan đến ba bên được minh
họa trong Hình 1.2.

Hình 1.2 - Quá trình chứng thực của 3 bên



Bài tập tiểu luận môn ANM
1.2. Các yếu tố chứng thực
Để thực hiện q trình xác nhận danh tính, các hệ thống yêu cầu chứng thực thường
đòi hỏi bằng chứng từ thực thể đang cố gắng thực hiện chứng thực. Bằng chứng này được
gọi là các yếu tố chứng thực.
1.2.1. Thơng tin do người cung cấp biết
Phương pháp này có nghĩa là bên cung cấp sử dụng những gì họ nhớ để chứng minh
rằng họ thực sự là ai.
Trong giai đoạn chứng thực, bên cung cấp nhập mật khẩu của họ. So sánh sẽ được thực
hiện giữa mật khẩu đã nhập và mật khẩu đã lưu trước đó. Nếu chúng khớp, quyền truy cập
vào hệ thống sẽ được cấp và ngược lại sẽ bị từ chối, được mô tả trong Hình 1.3.

Hình 1.3 - Q trình chứng thực thơng-tin-do-người-cung-cấp-biết

1.2.2. Thơng tin mà người dùng có (sở hữu)
Yếu tố chứng thực thứ hai yêu cầu người cung cấp phải sở hữu một món đồ vật chất,
là loại thẻ thơng minh token. Token là một thiết bị nhỏ, có màn hình để hiển thị một bộ số.
Các số trên màn hình của token được sử dụng làm mật mã cho quá trình chứng thực. Token
chứng thực có thể là đồng bộ hoặc không đồng bộ. Mã thông báo đồng bộ được đồng bộ
hóa với trình chứng thực hoặc máy chủ chứng thực. Nghĩa là, token có hàm f () lấy thời
gian hiện tại t làm đầu vào và tính tốn mật khẩu PWDt cho thời điểm cụ thể lúc đó. Nói
một cách dễ hiểu, điều này có thể được biểu thị bằng PWDt = f (t). Khi người dùng muốn
đăng nhập vào hệ thống, họ nhập tên họ cùng với số hiển thị trên token.
Đối với quá trình xác minh, máy chủ chứng thực thực hiện quá trình tương tự. Tức là,
máy chủ chứng thực cũng sử dụng hàm f (), lấy thời gian hiện tại t làm đầu vào của nó, để
tính mật khẩu PWDt. Mật khẩu đã tính và đã nhận được so sánh. Nếu chúng khớp với nhau,



Bài tập tiểu luận môn ANM
người cung cấp được phép vào hệ thống. Quá trình chứng thực đồng bộ điển hình của token
được minh họa trong Hình 1.4.

Hình 1. 4 - Quá trình chứng thực token đồng bộ ở bất cứ thời điểm t

Lưu ý: Số hoặc mật khẩu được tính tốn bởi token và chứng thực máy chủ thay đổi
mỗi phút và cũng được đồng bộ hóa với máy chủ chứng thực.
Token chứng thực không đồng bộ là loại token thứ hai hoạt động hơi khác một chút
so với mã đồng bộ loại 1. Với loại này, token và máy chủ khơng cần phải được đồng bộ
hóa theo thời gian.
Khi đăng nhập vào hệ thống, x do máy chủ chứng thực tạo ra được sử dụng làm đầu
vào cho hàm f (), thường là hàm băm trong token. Mật khẩu PWDx = f (x) sau đó được
token tính tốn và truyền đến máy chủ chứng thực. Về phía trình chứng thực, quá trình
xác minh cũng được thực hiện bằng cách tính tốn PWDx = f (x), sau đó được so sánh với
mật khẩu đã nhận. Nếu chúng khớp, quá trình chứng thực thành cơng, nếu khơng thì q
trình khơng thành cơng. Q trình chứng thực của token chứng thực khơng đồng bộ điển
hình được minh họa trong Hình 1.5.

Hình 1.5 - Q trình chứng thực token khơng đồng bộ

Lưu ý: Chuỗi số do máy chủ chứng thực tạo ra sẽ thay đổi mỗi khi có người đăng
nhập. Do đó, mật khẩu cũng thay đổi mỗi lần.

1.2.3. Thông tin cá nhân của người dùng
Quá trình sử dụng các cách đo đạc bộ phận của cơ thể, được gọi là sinh trắc học. Sinh
trắc học thường được sử dụng cho mục đích chứng thực bao gồm vân tay, vân tay, hình học
bàn tay, khuôn mặt, mống mắt và võng mạc. Tuy nhiên, chỉ có vân tay, võng mạc và mống
mắt được coi là thực sự duy nhất.



Bài tập tiểu luận mơn ANM
Q trình chứng thực sinh trắc học hoạt động theo hai phần chính. Đầu tiên là đăng ký.
Tiếp đến là chứng thực. Trong giai đoạn đăng ký, dữ liệu sinh trắc học được thu thập bằng
thiết bị cảm biến, chẳng hạn như máy quét dấu vân tay để lấy dữ liệu hoặc máy ảnh cho dữ
liệu khn mặt. Dữ liệu thu được sau đó sẽ được xử lý để trích xuất và chuyển đổi nó thành
một mẫu sinh trắc học. Mẫu sinh trắc học thu được được lưu trữ trong cơ sở dữ liệu nơi có
thể thực hiện quy trình chứng thực sau này.
Q trình chứng thực bắt đầu khi dữ liệu sinh trắc học của người cung cấp được thu
thập và xử lý để trích xuất và chuyển đổi nhằm thu được thơng tin sinh trắc học của người
đó. Sau đó, nó được so sánh với mẫu sinh trắc học được lưu trữ trong cơ sở dữ liệu. Nếu
chúng khớp, quá trình chứng thực là thành cơng. Nếu khơng, q trình chứng thực khơng
thành cơng. Q trình này được tóm tắt trong Hình 1.6.

Hình 1.6 - Q trình chứng thực sử dụng thơng tin cá nhân

1.2.4. Thông tin do người dùng xử lý
Loại yếu tố chứng thực này dựa trên khả năng xử lý mọi thứ của một người cung cấp.
Yếu tố thông tin do người dùng xử lý hoạt động với mức độ nhận thức của con người.
Hình 1.7 cho thấy một ví dụ đơn giản về cơ chế chứng thực dựa trên thông tin do người
dùng xử lý. Trong giai đoạn đăng ký, người dùng phải ghi nhớ các vị trí trong lưới đã cho,
cơng thức là phép tốn do sự lựa chọn của họ, với số khơng đổi. Ví dụ: cơng thức tốn học
từ lưới được hình thành trong giai đoạn đăng ký có thể là aa ∗ 1 + bb + 3, trong đó aa và bb
là ví dụ về vị trí lưới trong các giao điểm của hàng a với cột a và hàng b với cột b, tương
ứng . Đây là điều mà người dùng phải ghi nhớ.


Bài tập tiểu luận mơn ANM

Hình 1.7 - Một ví dụ về q trình chứng thực thơng tin do người dùng xử lý


Trong phiên đăng nhập, người dùng được xem một lưới có giá trị ngẫu nhiên trong
mỗi ơ. Để đăng nhập, họ phải tính tốn kết quả của cơng thức đã chọn trong giai đoạn
đăng ký.
Tiếp tục với ví dụ tương tự trong Hình 1-7, giá trị trong ơ aa là 7. Giá trị trong ô bb là
7. Do đó, kết quả của cơng thức tốn học aa ∗ 1 + bb + 3 là 7 ∗ 1 + 7 + 3 = 17, được nhập
làm mật mã cho phiên đăng nhập cụ thể này.
Lưu ý: Các số trong các ô của lưới thay đổi mỗi khi phiên đăng nhập mới bắt đầu.
Điều này có nghĩa là kết quả của phép tính, dựa trên cơng thức đã ghi nhớ, sẽ tạo thành
mật mã dùng một lần cho phép người cung cấp đăng nhập thành cơng.

1.3. Các khó khăn của việc chứng thực
Phần này xem xét các cách tiếp cận khác nhau mà kẻ tấn cơng có thể sử dụng để cố
gắng phá vỡ cơ chế chứng thực của hệ thống máy tính. Trước tiên chúng ta hãy thử tìm
hiểu sự khác biệt giữa ba từ có liên quan đến nội dung của phần này. Chúng là lỗ hổng, mối
đe dọa và các cuộc tấn công.
Thứ nhất, lỗ hổng bảo mật là một điểm yếu trong hệ thống khiến mối đe dọa xảy ra.
Nó đề cập đến việc khơng có khả năng chống lại những thách thức thù địch. Thứ hai, một
mối đe dọa được xác định là một mối nguy hiểm tiềm tàng có thể xảy ra. Nói cách khác,
một mối đe dọa là bất kỳ mối nguy hiểm nào có khả năng xảy ra đối với một tài ngun.
Khơng quan trọng là nó có thực sự xảy ra hay khơng. Miễn là có cơ hội xảy ra, nó có thể
được coi là một mối đe dọa. Thứ ba, tấn công là một hành động độc hại khai thác lỗ hổng,
gây thiệt hại hoặc truy cập trái phép vào tài ngun máy tính. Mục đích của một cuộc tấn
cơng hầu như luôn luôn là gây ra tổn hại hoặc thiệt hại cho hệ thống thông tin.

1.3.1. Mật khẩu mặc định
Mật khẩu mặc định là mật khẩu được xác định trước và cấu hình trước cho một phần
mềm hoặc một thiết bị. Mật khẩu mặc định thường được sử dụng cho các thiết bị mạng như



Bài tập tiểu luận môn ANM
bộ định tuyến, thiết bị chuyển mạch, điểm truy cập không dây, cũng như các thiết bị IoT.
Ví dụ điển hình về mật khẩu mặc định là 1234.
Trong nhiều trường hợp, các kỹ sư và nhà phát triển hệ thống quá bận rộn với việc triển
khai các chức năng của hệ thống mà họ quên mất thay thế mật khẩu mặc định. Nếu mật
khẩu mặc định khơng thay đổi, nó có thể gây ra một vấn đề nghiêm trọng là kẻ thù có thể
dễ dàng tìm thấy mật khẩu mặc định cho bất kỳ thiết bị hoặc phần mềm nào trên Internet.
May mắn thay, có nhiều cách để chống lại sự bảo mật của mật khẩu mặc định. Thứ
nhất, nhà cung cấp phần mềm và phần cứng có thể sử dụng mật khẩu mặc định độc đáo và
an toàn hơn. Thứ hai, nhà cung cấp phần mềm và phần cứng có thể thiết kế thiết bị hoặc hệ
thống của họ theo cách mà người dùng buộc phải thay đổi mật khẩu khi mật khẩu mặc định
được sử dụng lần đầu tiên. Thứ ba, về trách nhiệm của người dùng, người dùng hoặc chủ
sở hữu thiết bị phải thay đổi mật khẩu mặc định thành mật khẩu mạnh hơn khi họ lần đầu
tiên truy cập vào hệ thống hoặc thiết bị.
1.3.2. Nghe lén
Nghe lén về cơ bản là các hành động lắng nghe thông tin liên lạc riêng tư của người
khác mà khơng có sự cho phép của họ. Do đó, nghe trộm là một phương pháp dễ dàng để
lấy mật khẩu của kẻ trộm cũng như các thông tin chứng thực khác từ lưu lượng truy cập
trên mạng máy tính.
Nhiều ứng dụng, thiết bị và hệ thống truyền thông tin, bao gồm mật khẩu và các thông
tin đăng nhập khác qua mạng ở định dạng khơng được mã hóa. Ví dụ điển hình bao gồm
FTP và HTTP. Trong cấu hình mặc định của chúng, các giao thức này khơng mã hóa bất
kỳ tin nhắn và gói tin nào. Điều đó có nghĩa là nếu kẻ thù muốn nghe trộm hoặc đánh hơi
các gói tin ngồi mạng, bằng cách sử dụng ứng dụng như Wireshark, chúng sẽ có thể dễ
dàng lấy được mật khẩu ở định dạng văn bản rõ ràng.
Để bảo vệ mật khẩu và thông tin đăng nhập của người dùng, các kỹ thuật mã hóa như
AES-128 và AES-256 có thể được áp dụng. Bằng cách này, ngay cả khi thông tin bị kẻ tấn
cơng đánh hơi, chúng vẫn khơng thể đọc nó một cách có ý nghĩa, giúp an tồn hơn.
1.3.3. Các cuộc tấn công Man-in-the-Middle
Các cuộc tấn công Man-in-the-middle hoặc MitM xảy ra khi một kẻ thù xâm nhập vào

giữa hai máy chủ, cho dù họ là bên cung cấp và bên chứng thực hay khách hàng và trang
web, thì tất cả các thông điệp và thông tin liên lạc đều đi qua đó. Bằng cách ở giữa hai thực
thể, kẻ tấn cơng có thể nhận và gửi tin nhắn cho cả hai bên. Điều đó có nghĩa là kẻ tấn cơng
có thể mạo danh cả hai thực thể, khiến họ tin rằng kẻ tấn công là người kia. Hơn nữa, không
chỉ nhận và truyền thông điệp từ các thực thể liên quan, kẻ tấn cơng cịn có thể thay đổi và
thậm chí xóa các phần của những thơng điệp đó.


Bài tập tiểu luận môn ANM
Để giảm nguy cơ bị tấn cơng kiểu này, bạn nên sử dụng mã hóa mạnh. Một phương
pháp khác có thể giúp ngăn chặn cuộc tấn công là áp dụng mạng riêng ảo hoặc VPN.
Phương pháp này đảm bảo rằng kẻ tấn công không thể giải mã các thông điệp được truyền
đi trong phiên chứng thực.
1.3.4. Đốn mật khẩu
Kể từ thời kỳ đầu của cơng nghệ thông tin, việc chứng thực thực thể thường được thực
hiện bằng tên người dùng và mật khẩu. Do đó, đoán mật khẩu là khi kẻ thù cố gắng đoán
tên người dùng và mật khẩu và sau đó chứng thực là người dùng hợp lệ. Lấy tên người dùng
khơng khó đối với kẻ tấn công. Điều này là do tên người dùng thường chỉ là địa chỉ email
của người dùng đó hoặc kẻ tấn cơng có thể biết quy ước đặt tên được sử dụng bởi tổ chức
cụ thể đó. Đơi khi kẻ tấn cơng thậm chí có quyền truy cập vào thư mục chứa tất cả tên người
dùng của một tổ chức.
Phương pháp đầu tiên mà kẻ thù có thể sử dụng để đốn mật khẩu là tấn cơng bruteforce, cịn được gọi là tìm kiếm tồn diện. Đây là một cuộc tấn cơng trong đó kẻ tấn cơng
cố gắng tạo ra tất cả các tổ hợp mật khẩu có thể có và cố gắng chứng thực hệ thống bằng
tên người dùng với các tổ hợp mật khẩu khác nhau. Khoảng thời gian cần thiết để thực hiện
cuộc tấn cơng này phụ thuộc vào kích thước của mật khẩu. Nói một cách dễ hiểu, nếu kích
thước của mật khẩu là 8 ký tự, tức là 64 bit, thì tổng số tổ hợp mật khẩu sẽ là 264. Với công
nghệ ngày nay, số lần đoán khác nhau mỗi giây của một máy tính thơng thường là khoảng
100.000.000 lần đốn. Điều đó có nghĩa là một máy tính bình thường sẽ mất khoảng
184.467.440.737 giây hoặc 5.850 năm.
Tất cả các cuộc tấn cơng đốn mật khẩu có thể được ngăn chặn bằng cách yêu cầu

người dùng chọn một mật khẩu mạnh và ngừng sử dụng lại mật khẩu trong các hệ thống
được bảo vệ bằng mật khẩu khác nhau.
1.3.5. Tấn công phi kỹ thuật
Tấn công phi kỹ thuật được coi là một cách tiếp cận rất mạnh mẽ để tấn công chứng
thực người dùng. Nó liên quan đến việc sử dụng các kỹ năng cá nhân, không cần đến công
nghệ thông tin. Kẻ thù cố gắng lừa người dùng tin rằng họ được yêu cầu cung cấp một số
thông tin cụ thể hoặc thậm chí thực hiện một hành động cụ thể. Trong bối cảnh bảo mật
thông tin, tấn công phi kỹ thuật thường được thực hiện với mục đích khiến người dùng tiết
lộ thơng tin bí mật của họ.
1.3.5.1. Tấn cơng phi kỹ thuật qua điện thoại
Kẻ tấn công qua điện thoại được cho là phương pháp phổ biến nhất. Cuộc gọi điện
thoại của quản trị viên trước chỉ là một ví dụ của kỹ thuật này. Kỹ thuật này áp dụng để gây
ra áp lực và hoảng loạn và thực hiện một cuộc giả mạo mạo danh.


Bài tập tiểu luận môn ANM
Chiến thuật gây áp lực bắt đầu bằng việc kẻ tấn công theo dõi chuyển động của các
nhân viên cấp điều hành. Giả sử một giám đốc điều hành chuẩn bị rời đến một thành phố
hoặc quốc gia khác; kẻ tấn công sẽ gọi điện đến văn phịng điều hành và giả mạo rằng họ
khơng thể truy cập một số tệp rất quan trọng. Tại một thời điểm nào đó, kẻ tấn cơng sẽ giả
vờ rất tức giận và yêu cầu quyền truy cập vào các tệp đó ngay lập tức. Mục tiêu cuối cùng
là các nhân viên văn phòng nhượng bộ và kẻ tấn cơng có thể truy cập các tệp đó.
Trong chiến thuật hoảng loạn, kẻ tấn công gọi điện thoại cho người dùng nói rằng tài
khoản của họ đã bị xâm phạm. Kẻ tấn cơng thuyết phục người dùng đó rằng kẻ tấn công là
người từ đơn vị hỗ trợ kỹ thuật và có thể giúp đỡ. Tuy nhiên, để khắc phục sự cố, kẻ tấn
công thông báo cho người dùng rằng tên người dùng và mật khẩu là bắt buộc. Trong nhiều
trường hợp, kẻ tấn công giả vờ hướng dẫn người dùng qua quy trình, khiến họ tin rằng đây
là một vấn đề phức tạp và kẻ tấn công trở nên hữu ích để người dùng cung cấp thơng tin bí
mật cho hắn
1.3.5.2. Tấn công phi kỹ thuật qua nền tảng kỹ thuật số

Nền tảng số là một cách thức phổ biến ngày này để cho những kẻ tấn công hoạt động.
Kẻ tấn công đã sử dụng nhiều chiến thuật bao gồm lấy cớ, để lại thiết bị, giả mạo diện rộng
và giả mạo trực tiếp.
Cách thức lấy cớ là khi kẻ tấn cơng gửi email có tên miền đáng tin cậy. Email được
tạo để trông giống như email của một nhân viên cấp điều hành hoặc một địa chỉ liên hệ đã
biết. Ví dụ: Hình 1.8 cho thấy một email được gửi từ một miền giả mạo sut.co.th, trông rất
giống với một miền hợp pháp của sut.ac.th. Nó cũng được gửi với tên thật của một liên hệ
đã biết, Hoang.

Hình 1.8 - Ví dụ của cách thức lấy cớ


Bài tập tiểu luận môn ANM
Sau khi nhận được sự chú ý từ người nhận, tệp đính kèm có thể được nhấp vào và phần
mềm độc hại được cài đặt trên máy tính của mục tiêu, điều này có thể cho phép kẻ tấn công
theo dõi hoặc giành quyền truy cập vào máy.
Chiến thuật để lại thiết bị là một ví dụ khác. Đây là khi kẻ tấn cơng cố tình để lại ổ đĩa
flash USB, ổ cứng ngồi hoặc bất kỳ loại thiết bị lưu trữ nào xung quanh văn phòng. Kẻ
thù thường viết một nhãn hấp dẫn trên thiết bị đó, chẳng hạn như hồ sơ lương hoặc tài liệu
bí mật. Bất kỳ ai rơi vào bẫy này và sử dụng thiết bị đều có thể bị nhiễm phần mềm độc hại
sau khi thiết bị được cắm vào máy tính của họ. Một lần nữa, nếu máy bị nhiễm virus, kẻ
thù sẽ có thể truy cập vào nó. Do đó, kẻ tấn cơng có thể lấy được thơng tin bí mật.
Chiến thuật tiếp theo trong tấn cơng là giả mạo. Tấn công giả mạo sử dụng email,
phương tiện truyền thông xã hội hoặc ứng dụng nhắn tin tức thời để lừa nạn nhân cung cấp
thơng tin bí mật hoặc truy cập các trang web độc hại. Kẻ tấn cơng thiết kế một email có vẻ
phù hợp với nhiều nhóm người dùng, chẳng hạn như từ Google. Sau đó, email sẽ được phân
phối. Kẻ thù chờ đợi và xem liệu có người dùng nào mắc lừa của họ hay khơng. Nếu vậy,
một số thơng tin chứng thực bí mật sẽ bị kẻ tấn công thu thập và sẽ được sử dụng để truy
cập vào tài khoản của người dùng. Hình 1.9 minh họa một ví dụ về email giả mạo trên diện
rộng.


Hình 1.9 - Ví dụ của cách thức email giả mạo diện rộng

Vì con người dễ dàng hack hơn máy móc, nên cần phải có một cách để ngăn chặn kẻ
tấn công. Một cách tốt hơn để giảm nguy cơ bị tấn công là nhắc nhở người dùng để họ nhận
thức rõ hơn về nguy cơ. Một cách khác là để người dùng cẩn trọng hơn. Có nghĩa là, khi
nhận được email, người dùng nên xem xét kỹ hơn tên miền của email của người gửi. Trong
một số trường hợp, nếu không chắc chắn về email hoặc các hành động được u cầu thực
hiện, người dùng ln có thể kiểm tra nguồn, chẳng hạn như trường đại học hoặc ngân hàng
của họ. Hơn nữa, trong trường hợp kẻ tấn công trực tiếp, người dùng nên cẩn thận không
cung cấp bất kỳ thơng tin bí mật nào cho người lạ.

CHƯƠNG 2: CHỨNG THỰC DỰA TRÊN MẬT KHẨU
Trong số các yếu tố và phương pháp chứng thực ngày nay, yếu tố thông tin do người
cung cấp biết, cụ thể hơn là mật khẩu, được sử dụng phổ biến nhất. Đây vẫn là phương pháp


Bài tập tiểu luận mơn ANM
chính để chứng minh danh tính của người dùng cho các dịch vụ trực tuyến. Điều này có thể
hiểu được vì mọi người dùng chỉ cần nhớ mật khẩu của họ linh hoạt hơn là mang theo mã
token chứng thực hoặc một thẻ thông minh bổ sung.
Ngồi sự tiện lợi của nó, một lý do khác mà yếu tố thông tin do người cung cấp biết
được nhiều hệ thống và dịch vụ ưa chuộng là vì tính đơn giản của nó. Thiết lập cơ bản nhất
là nơi người yêu cầu chứng thực họ với trình chứng thực. Giả sử rằng cả hai đều chia sẻ
kiến thức về mật khẩu (thông thường, bên cung cấp sẽ gửi mật khẩu đó cho bên chứng thực
trong q trình đăng ký), việc trao đổi tin nhắn trong cơ chế chứng thực dựa trên mật khẩu
cơ bản như sau:
Bên cung cấp → Bên chứng thực: ID của bên cung cấp, Mật khẩucung cấp
Bên chứng thực →Bên cung cấp: Chứng thực thành cơng hoặc khơng
Chương này thảo luận về nhiều khía cạnh của bảo mật mật khẩu, bắt đầu từ cách tạo

mật khẩu an toàn đến các cách lưu trữ mật khẩu một cách an toàn. Hơn nữa, các biến thể
đa dạng mật khẩu sẽ được minh họa. Nó sẽ được giải thích rằng phương pháp được sử dụng
phổ biến nhất để lưu trữ mật khẩu ngày nay, đó là hàm băm MD5 hoặc SHA-1, có thể khơng
phải là giải pháp tốt nhất. Do đó, các giải pháp tốt hơn là password Salting hoặc dynamic
Salting sẽ được giới thiệu.

2.1. Các vấn đề về mật khẩu
Mật khẩu, như đã được đề xuất, là phương pháp chứng thực phổ biến nhất trong máy
tính hiện nay. Trước khi đề cập thêm, chúng ta nên định nghĩa ở đây mật khẩu lý tưởng
phải là gì. Nhìn chung, người ta đã gợi ý rằng một mật khẩu lý tưởng phải là thứ mà người
dùng có thể nhớ được, thứ mà máy tính có thể xác minh và thứ mà khơng ai khác có thể
đốn được. Điều này nghe có vẻ dễ, nhưng rất khó để đạt được.

2.1.1. Khóa và mật khẩu
Giả sử kẻ tấn cơng Trudy phải đối mặt với khóa mật mã 64-bit. Điều đó có nghĩa là có
thể có tổng cộng 264 khóa; do đó, trung bình, Trudy phải thử 263 khóa trước khi tìm ra cái
chính xác.
Lần này, giả sử Trudy phải đối mặt với một mật khẩu tám ký tự. Mỗi ký tự dài 8 bit,
có nghĩa là có 256 sự lựa chọn khả thi cho mỗi ký tự. Do đó, tổng số mật khẩu có thể có là
2568 = 264 mật khẩu. Con số dường như tương đương với vấn đề tìm kiếm khóa đầy đủ.
Một vấn đề với mật khẩu là người dùng không chọn mật khẩu một cách ngẫu nhiên.
Lý do là vì họ phải nhớ nó. Ví dụ: người dùng có nhiều khả năng chọn một mật khẩu tám
ký tự làm mật khẩu, thay vì một cái gì đó ngẫu nhiên như s9@ KOpwA. Hàm ý của điều
này là những kẻ tấn công thông minh sẽ thực hiện ít hơn 263 lần đoán trước khi nhận được
mật khẩu chính xác. Nói cách khác, số lượng mật khẩu thực tế ít hơn nhiều so với số lượng
khóa có cùng kích thước. Phần lớn các mật khẩu được tạo ngẫu nhiên khơng được tính đến
NHĨM 19 - TRANG 18


Bài tập tiểu luận mơn ANM

vì chúng khơng được sử dụng. Do đó, có thể khẳng định rằng tính khơng ngẫu nhiên của
mật khẩu làm giảm khối lượng công việc mà những kẻ tấn cơng thực hiện để bẻ khóa mật
khẩu và cũng là gốc rễ của nhiều vấn đề nghiêm trọng nhất với mật khẩu.
2.1.2. Lựa chọn mật khẩu
Mật khẩu yếu tạo ra các vấn đề về bảo mật. Ví dụ về mật khẩu khơng hợp lệ bao gồm
“Alice”, “Doraemon”, “09111979” và “JohnSmith”. Mẫu mật khẩu đầu tiên, “Alice”, chỉ
là tên của một người dùng. Đây sẽ là một dự đoán rất dễ dàng. Mật khẩu thứ hai,
"Doraemon", cũng sẽ dễ đốn nếu ai đó biết rằng người dùng là fan của Doraemon, một
chú mèo máy nổi tiếng của Nhật Bản. Thứ ba chỉ là ngày sinh của người dùng và thứ tư
chứa tên và họ của người dùng. Rõ ràng là tất cả các ví dụ này đều là mật khẩu yếu, vì
chúng khơng khó để kẻ tấn cơng hoặc bất kỳ ai đốn được.
Cụm mật khẩu là một chuỗi các ký tự bắt nguồn từ một tập hợp các từ hoặc một câu.
Một cách để tạo cụm mật khẩu là người dùng nghĩ về câu yêu thích của họ, sau đó lấy chữ
cái đầu tiên của mỗi từ và ghép chúng lại với nhau. Ví dụ: câu u thích của người dùng có
thể là “Tơi thích đọc tất cả các sách Tam Quốc”. Lấy chữ cái đầu tiên của mỗi từ, cụm mật
khẩu được hình thành từ câu này sẽ là “IlatTKb”. Người dùng không thực sự phải lấy chữ
cái đầu tiên của mỗi từ. Bất kỳ chữ cái nào cũng có thể được sử dụng, nhưng lấy những chữ
cái đầu tiên sẽ là cách dễ nhớ nhất.
2.1.3. Chất lượng mật khẩu
Tuy nhiên, về lý thuyết, có thể kiểm tra chất lượng của mật khẩu bằng cách sử dụng
chỉ báo chất lượng mật khẩu. Cần phải nhấn mạnh lại rằng khi kẻ thù tấn công một mật
khẩu, chúng chỉ cần thử các tổ hợp khác nhau cho đến khi tìm thấy một mật khẩu phù hợp.
Chiến lược mà kẻ tấn cơng có thể áp dụng là thử các mật khẩu thường được sử dụng trước
khi cố gắng Brute Force tất cả các tổ hợp của mật khẩu. Nói cách khác, một đường dẫn có
khả năng bị kẻ tấn cơng mật khẩu theo thứ tự sau:
• Thử các từ thơng thường
• Thử mật khẩu trong từ điển mật khẩu
• Thử một hoặc hai biến thể của ký tự trong từ điển từ ngữ thơng thường
• Thử tất cả các kết hợp có thể có của chữ thường, chữ hoa chữ cái và chữ số
dựa trên các từ trong từ điển thơng thường

• Brute Force tất cả các tổ hợp mật khẩu có thể có
Nhìn chung, chất lượng của mật khẩu phụ thuộc vào thời gian mất bao lâu để tìm thấy
mật khẩu trùng khớp chính xác của mật khẩu cụ thể đó. Thời gian càng lâu thì chất lượng
của mật khẩu càng tốt. Vì vậy, người ta khẳng định rằng chất lượng của một mật khẩu có
thể được đo lường bằng cách nó khác với một từ trong từ điển, độ dài của nó và độ lớn của
bộ ký tự mật khẩu.
NHÓM 19 - TRANG 19


Bài tập tiểu luận môn ANM
Một phương pháp để đo sự khác biệt giữa hai chuỗi là sử dụng khoảng cách chỉnh sửa
của Levenshtein. Phương pháp này thực tế đếm số lượng các thao tác ký tự đơn lẻ - chèn,
xóa hoặc sửa đổi - cần thiết để làm cho hai chuỗi giống nhau. Ví dụ: khoảng cách giữa “bat”
và “cat” là 1 và khoảng cách giữa “net” và “bat” là 2. Điều này có nghĩa là mật khẩu khác
với các từ trong từ điển như thế nào có thể được đo bằng cách kiểm tra phần chỉnh sửa của
Levenshtein khoảng cách.
Yếu tố thứ hai về chất lượng của mật khẩu là độ dài của mật khẩu. Độ dài của mật khẩu
về cơ bản là số ký tự có trong mật khẩu. Người ta tin rằng độ dài của một mật khẩu là chìa
khóa quyết định mất bao lâu để bẻ khóa nó.
Thứ ba, cần phải hiểu rằng một mật khẩu được tạo từ các ký tự khác nhau từ các nhóm
ký tự hoặc bộ ký tự khác nhau. Được ghi chép rõ ràng rằng các ký tự có thể in được có thể
được chia thành bốn nhóm, đó là:
• Nhóm 1 gồm 26 chữ cái thường: abcdefghijklmnopqrstuvwxyz
• Nhóm 2 gồm 26 chữ cái viết hoa: ABCDEFGHIJKLMNOPQRSTUVWXYZ
• Nhóm 3 gồm các ký tự 10 chữ số: 0123456789
• Nhóm 4 gồm 31 ký tự đặc biệt: ∼! @ $ #% ˆ & ∗ () _ - + = {} | [] \: “<>? ; ',. /

2.2. Lưu trữ mật khẩu
2.2.1. Mật khẩu văn bản thô
Cách cơ bản nhất mà một mật khẩu có thể được lưu trữ là ở dạng bản thơ. Điều này có

nghĩa là trong tệp mật khẩu hoặc cơ sở dữ liệu mật khẩu, tên người dùng và mật khẩu được
lưu trữ ở dạng con người có thể đọc được. Nghĩa là, nếu một mật khẩu là testpassword, nó
cũng được lưu trữ trong cơ sở dữ liệu dưới dạng testpassword. Khi người dùng nhập tên
người dùng và mật khẩu của họ, hệ thống sẽ kiểm tra chúng với cơ sở dữ liệu để xem chúng
có khớp hay khơng.
Đây là phương pháp kém nhất có thể để lưu trữ mật khẩu. Hầu hết các hệ thống và
trang web có uy tín khơng lưu trữ mật khẩu ở dạng bản thô của chúng. Điều này là do nếu
kẻ tấn công lấy được hoặc truy cập vào cơ sở dữ liệu mật khẩu, mật khẩu của mọi người sẽ
ngay lập tức được biết và bị xâm phạm.
2.2.2. Mật khẩu được mã hóa
Để giảm nguy cơ mật khẩu bị lộ dưới dạng văn bản thô, một số hệ thống và trang web
đã sử dụng mã hóa làm giải pháp của họ. Mã hóa, như một lời nhắc nhở, sử dụng khóa bí
mật để chuyển đổi mật khẩu bản rõ thành một chuỗi văn bản hoặc bản mã ngẫu nhiên.
Điều này có nghĩa là nếu kẻ thù nắm giữ cơ sở dữ liệu mật khẩu, họ sẽ không thể biết
mật khẩu thực là gì. Chỉ những mật khẩu ở định dạng bản mã mới được nhìn thấy. Kẻ thù
sẽ cần phải có khóa bí mật để giải mã chúng. Ví dụ về cách mật khẩu được lưu trữ ở định
dạng mã hóa được minh họa trong Bảng 2-1
NHÓM 19 - TRANG 20


Bài tập tiểu luận môn ANM

Mật khẩu

Mật khẩu được mã hóa

admin

C18A9E9AA6ABA7C3D188F944FC78E99E


password

E00460FD7EB0917D9BA8C9F35A65FFBC

superman

0BBCD954C56B60CC494925BEE1D3C758

D0raem0n

BEF5EDC17F05DE6B3C9E9FCBCBB2FA21

MtFbwY

FA624063C11E1E2DB37646AF727EB066
Bảng 2.1 - Ví dụ về mã hóa mật khẩu

Có một số vấn đề với phương pháp này. Đầu tiên là loại mật mã sẽ được sử dụng. Mật
mã đối xứng hay mật mã không đối xứng sẽ phù hợp hơn? Nếu mật mã đối xứng được sử
dụng, thì cần bao nhiêu khóa? Một khóa sẽ được sử dụng cho tất cả các mục nhập, hay một
khóa khác sẽ được sử dụng cho mỗi mục nhập? Nếu một khóa được sử dụng để mã hóa tất
cả mật khẩu và kẻ tấn cơng có thể lấy được khóa, tất cả các bản ghi sẽ bị xâm phạm. Nếu
một khóa được sử dụng cho mỗi mục nhập và có hàng nghìn bản ghi, việc lưu trữ khóa sẽ
tạo ra một vấn đề khác. Do đó, đây là một vấn đề quản lý quan trọng. Mặt khác, nếu mật
mã không đối xứng được sử dụng, hiệu quả của tính tốn sẽ là điều cần xem xét.
Một vấn đề khác với phương pháp này là khóa bí mật, cả khóa đối xứng và khóa bảo
mật, thường bị bỏ qua và được lưu trữ trên cùng một máy hoặc máy chủ lưu trữ mật khẩu.
Điều gì xảy ra nếu máy chủ bị tấn cơng? Tin tặc sẽ khơng phải làm nhiều việc để có được
khóa bí mật, điều này sẽ cho phép họ giải mã tất cả các mật khẩu. Vì thế phương pháp này
khơng an tồn như bề ngồi.

2.2.3. Mật khẩu được mã hóa băm
Mã hóa băm theo nghĩa là nó biến mật khẩu thành một chuỗi ký tự và số ngẫu nhiên.
Tuy nhiên, như đã được giải thích, băm đảm bảo ít nhất hai điều. Thứ nhất, không thể thực
hiện việc đảo ngược hàm băm. Không thể lấy mật khẩu băm và chạy ngược thuật toán băm
để lấy mật khẩu ban đầu. Thứ hai, không thể xảy ra trường hợp hai mật khẩu khác nhau sẽ
tạo ra cùng một đầu ra của chuỗi ký tự và số ngẫu nhiên.
Băm là phương pháp được sử dụng rộng rãi nhất để lưu trữ mật khẩu cả trên mạng
cục bộ và trên Internet. Hàm băm hoạt động bằng cách lấy mật khẩu làm đầu vào và xáo
trộn nó để tạo ra một kết quả dường như ngẫu nhiên. Hai hàm băm phổ biến được sử dụng
để lưu trữ mật khẩu là MD5 và SHA-1. Ví dụ về mật khẩu trông như thế nào sau khi được
băm được trình bày trong Bảng 2.2.

NHĨM 19 - TRANG 21


Bài tập tiểu luận mơn ANM
Mật
khẩu

MD5

SHA-1

admin

21232f297a57a5a743894a0e4a8
01fc3

d033e22ae348aeb5660fc2140aec35850c
4da997


passwor
d

5f4dcc3b5aa765d61d8327deb88
2cf99

5baa61e4c9b93f3f0682250b6cf8331b7e
e68fd8

superma
n

84d961568a65073a3bcf0eb216b
2a576

18c28604dd31094a8d69dae60f1bcd347f
1afc5a

D0raem
0n

3cd70ea8040d94980c4644d6a3e
29b3f

058ded9bbbadf334515454d8030bbff8c5
0b0f89

MtFbw
Y


b4e7d9a5aed04ac29736a311433
dfde6

73160bfef9d2b95f4fce443d4283a13105
279bb8

Bảng 2.2 - Ví dụ về mật khẩu mã hóa băm

2.2.4. Salted password
Một cách để giảm bớt những lo lắng về bảng cầu vồng là sử dụng một thành phần được
gọi là Salt. Salting một hàm băm có nghĩa là thêm một chuỗi ký tự và số ngẫu nhiên, được
gọi là Salt, vào đầu hoặc cuối của mật khẩu trước khi băm nó.
Giả sử một mật khẩu, "mật khẩu", được chọn bởi người dùng. Sau đó, một giá trị Salt
ngẫu nhiên chẳng hạn như “fh90 $$ PA28” sẽ được hệ thống tạo ra. Do đó, thay vì chỉ tính
tốn giá trị băm của “mật khẩu”, H (mật khẩu), H (passwordfh90 $$ PA28) được tính để
có được giá trị băm 29e20a65f0d0336463b0391174ac74b3 cho MD5 hoặc giá trị băm
b6ac9606d892f5af75ec9ceb39435a1e5f567-1dc cho SHA. Hoặc nếu hệ thống chọn đặt giá
trị Salt trước mật khẩu, thì giá trị băm H (fh90 $$ PA28password) sẽ được tính tốn để thu
được
191673df9b0770e1a32cfd71ae00052e
cho
MD5

0debe946b686492301fe4ada680161e885ee8c34 cho SHA- 1.
Có thể thấy rằng mặc dù mật khẩu ban đầu là một mật khẩu yếu trong “password”, giá
trị Salt có thể giúp giảm nguy cơ nó bị bẻ khóa thơng qua bảng cầu vồng. Do đó, có thể
khẳng định rằng bằng cách sử dụng phương pháp Salt, việc lưu trữ mật khẩu trở nên an
toàn hơn so với phương pháp băm thơng thường. Tuy nhiên, vị trí của giá trị Salt chỉ là tiền
tố hoặc hậu tố của mật khẩu. Điều này đã đặt ra một câu hỏi quan trọng. Tức là, vị trí của

giá trị Salt có ảnh hưởng đến độ mạnh của việc lưu trữ mật khẩu không?

2.3. Sắp đặt và tạo Salt động
2.3.1. Điều chỉnh chất lượng mật khẩu
Trước hết, điều quan trọng là phải kiểm tra chất lượng của mật khẩu mà người dùng đã
đăng ký, trước khi thực sự lưu trữ nó. Điều này được thực hiện để đảm bảo rằng kẻ thù sẽ
thấy khó khăn hơn khi cố gắng phá hoại. Trong quá trình kiểm tra mật khẩu, chỉ số chất
lượng mật khẩu, được giải thích trong phần “Chất lượng của mật khẩu”, có thể áp dụng.
NHÓM 19 - TRANG 22


Bài tập tiểu luận môn ANM
Chỉ mục chất lượng mật khẩu yêu cầu mật khẩu mạnh phải chứa ít nhất 8 ký tự, 3 trong số
đó phải là các ký tự đặc biệt và cũng có một số con số.
2.3.2. Lượng Salt hợp lý
Nói về độ dài hoặc kích thước cần thiết, cần phải tạo ra một giá trị Salt có kích thước
phù hợp cho mỗi mật khẩu. Cần phải chú ý lại rằng chất lượng của một mật khẩu có thể
được đo lường bằng thời gian thực hiện để bẻ khóa nó. Mật khẩu khó bẻ khóa hơn phải có
ít nhất tám ký tự chứa ba ký tự đặc biệt trở lên. Mật khẩu tốt hơn cũng nên chứa số.
Một giá trị Salt có thể được tạo cho mỗi mật khẩu. Câu hỏi đặt ra là làm thế nào để tích
hợp giá trị Salt với mật khẩu ban đầu theo cách mà chuỗi kết quả đủ mạnh để ngăn chặn
các cuộc tấn cơng.
2.3.3. Sắp đặt vị trí cho Salt.
Trước khi chỉ định vị trí đặt giá trị Salt trong mật khẩu, cần tạo một mẫu vị trí. Cần
phải hiểu và nhận ra rằng mẫu vị trí là động vì nó phụ thuộc vào mật khẩu bắt đầu và giá
trị Salt đã chọn. Điều đó có nghĩa là một mật khẩu khác và giá trị Salt khác nhau sẽ có một
mẫu vị trí khác. Mơ hình vị trí có thể được xác định như sau.
Đầu tiên, mật khẩu bắt đầu được sử dụng làm đầu vào cho một hàm băm, chẳng hạn
như MD5, để lấy giá trị băm của nó. Thứ hai, mật khẩu và giá trị băm của nó được chuyển
đổi thành nhị phân. Bước tiếp theo là XOR (⊕) các giá trị nhị phân của mật khẩu bắt đầu

và giá trị băm của chính nó. Tuy nhiên, chỉ có bit ít quan trọng nhất (bit ngồi cùng bên
phải) của mỗi byte mới được XOR. Giá trị thu được sau đó sẽ được sử dụng làm quy tắc
cho vị trí của giá trị Salt. Để làm cho việc tìm kiếm mẫu trực quan hơn, chúng tơi cung cấp
một ví dụ đơn giản như sau.
Giả sử mật khẩu bắt đầu là mật khẩu. Mật khẩu là đầu vào vào MD5, một ví dụ về hàm
băm, để lấy giá trị băm là 5f4dcc3b5aa765d61d8327deb882cf99. Với mục đích tạo mẫu,
chúng tơi sẽ chỉ lấy n byte đầu tiên của giá trị băm, trong đó n là số byte của mật khẩu.
Trong ví dụ này, mật khẩu dài tám byte, vì vậy chỉ tám byte đầu tiên của giá trị băm được
sử dụng, là 5f4dcc3b5aa765d6. Mật khẩu và giá trị băm được chuyển đổi thành nhị phân
như trong Bảng 2.3.

Mật
khẩu
Giá trị
băm

0111
0000
0101
1111

01100
001
01001
101

011100
11
110011
00


011100
11
001110
11

011101
11
010110
10

011011
11
101001
11

011100
10
011001
01

011001
00
110101
10

Bảng 2.3 - Mật khẩu và giá trị băm của nó

Tiếp tục với ví dụ, các giá trị nhị phân trong Bảng 2-3 được XOR với nhau. Như đã
nêu, chỉ bit quan trọng nhất của mỗi byte kết quả sẽ được sử dụng làm mẫu vị trí. Sử dụng

NHĨM 19 - TRANG 23


Bài tập tiểu luận mơn ANM
ví dụ trước, giá trị 1010101010 lần lượt nhận được từ 0 ⊕ 1, 1 ⊕ 1, 1 ⊕ 0, 1 ⊕ 1, 1 ⊕ 0,
1 ⊕ 1, 0 ⊕ 1 và 0 ⊕ 0. Đây là mẫu đặt Salt cho ví dụ mật khẩu cụ thể này.
Như đã đề cập, giá trị thu được đại diện cho cách đặt giá trị Salt vào trong mật khẩu.
Dựa trên phân tích của một nghiên cứu, quy tắc sau được sử dụng để xác định cách giá trị
Salt sẽ được tích hợp vào mật khẩu: Nếu giá trị bit của mẫu là 0, khơng có Salt nào được
đặt vào mật khẩu tại vị trí đó. Nếu có hai bit 0 liên tiếp trong mẫu vị trí, thì hai ký tự Salt
sẽ được đặt vào mật khẩu tại vị trí đó. Nếu giá trị bit của mẫu là 1, một ký tự của Salt được
đặt vào mật khẩu tại vị trí đó. Nếu các giá trị bit của mẫu hết và vẫn còn các ký tự Salt chưa
sử dụng, thì nối phần cịn lại của các ký tự Salt vào cuối mật khẩu.
2.3.4. Cơ chế hoạt động
Để tạo giá trị Salt, chất lượng mật khẩu phải được kiểm tra. Sau khi có giá trị Salt thích
hợp, một mơ hình vị trí được xác định trước khi đặt Salt vào mật khẩu được tạo. Các bước
này có thể được tóm tắt trong Hình 2-1

Hình 2.1 - Thuật tốn tạo và sắp đặt ví trí của Salt

Giả sử người dùng nhập mật khẩu được đăng ký trên hệ thống ở định dạng văn bản thô.
Chất lượng của mật khẩu đã nhập được đánh giá dựa trên các tiêu chí bắt buộc. Sau đó, một
giá trị Salt được tạo theo cách sao cho kích thước của nó phù hợp với mật khẩu cụ thể này.
Lưu ý rằng, với phương pháp này, mỗi mật khẩu sẽ được cung cấp một giá trị Salt khác
nhau. Mục tiêu của bước này là để đảm bảo rằng khi kết hợp mật khẩu với giá trị Salt, sẽ
thu được một mật khẩu mạnh hơn trước khi băm hoặc lưu trữ.
Sau khi có được giá trị Salt thích hợp, mơ hình vị trí Salt sẽ được tính toán. Điều này
được thực hiện bằng cách XOR bit quan trọng nhất trong mỗi byte của mật khẩu ban đầu
NHÓM 19 - TRANG 24



Bài tập tiểu luận môn ANM
với bit quan trọng nhất trong mỗi byte giá trị băm của nó. Bước tiếp theo là chèn giá trị Salt
vào mật khẩu.
Những gì thu được ở cuối quá trình là một mật khẩu mạnh hơn. Sau đó, nó sẽ được
nhập vào hàm băm một chiều. Giá trị băm kết quả là giá trị được lưu trữ trong cơ sở dữ liệu
mật khẩu của hệ thống.
2.3.5. Độ bảo mật của Salt
Mỗi mật khẩu được liên kết với một giá trị Salt khác nhau, dựa trên chất lượng của nó.
Cách đưa Salt vào mỗi mật khẩu cũng khác nhau. Do đó, việc xâm nhập mật khẩu với việc
sử dụng bảng cầu vồng đã trở nên khó khăn hơn rất nhiều.
Ngoài ra, người ta tin rằng mặc dù kẻ tấn công nắm được mã nguồn, nhưng mô hình
đặt Salt vẫn chưa được biết. Điều này là do mẫu được xác định bởi mật khẩu bản thô ban
đầu. Điều này ngụ ý rằng cách duy nhất mà kẻ tấn cơng có thể tìm ra mơ hình đặt Salt là
biết mật khẩu ban đầu, mật khẩu này không được lưu trữ ở bất kỳ đâu. Do đó, kẻ tấn cơng
khơng thể tìm ra mơ hình đặt Salt là gì.

2.4. Mật khẩu dựa trên hình ảnh
2.4.1. Hệ thống dựa trên việc ghi nhớ
Hệ thống mật khẩu lưới đôi khi được gọi là hệ thống drawmetric. Điều này là do nó
yêu cầu người dùng vẽ, nhớ lại và tái tạo một bản vẽ bí mật.
Khi cố gắng xác thực bản thân, người dùng chỉ cần “nhớ lại” và vẽ lại hình ảnh của họ
để khớp với mẫu. Ví dụ về lược đồ mật khẩu đồ họa Draw-a-Secret trong Hình 2.2.

Hình 2.2 - Hệ thống Draw-a-Secret

Lược đồ mật khẩu đồ họa Draw-a-Secret hoặc DAS đã tạo cơ sở cho nhiều đề án tương
tự khác. Một hệ thống dựa trên thu hồi thú vị khác được gọi là Passdoodle, một lần nữa
được tạo ra dựa trên sơ đồ DAS. Tuy nhiên, Passdoodle không chỉ cho phép người dùng
tạo mật khẩu vẽ tay mà còn sử dụng một phương pháp so khớp mật khẩu phức tạp hơn, bao

gồm cả số lượng đường, màu đường và thậm chí cả tốc độ vẽ.
NHĨM 19 - TRANG 25


×