Tải bản đầy đủ - 0 (trang)
CHƯƠNG 2: TỔNG QUAN VỀ XÁC THỰC

CHƯƠNG 2: TỔNG QUAN VỀ XÁC THỰC

Tải bản đầy đủ - 0trang

-



Những gì người sử dụng biết, chẳng hạn như mật khẩu (password),

mật ngữ (pass phrase) hoặc mã số định danh cá nhân (personal



2.3.



identification number - PIN)…

Các phương pháp xác thực

2.3.1.

Dựa trên định danh và mật khẩu.

Xác thực dựa trên User Name (định danh người sử dụng) và Password (mật



khẩu): Sự kết hợp của một cặp username và password có thể nói là cách xác thực

cơ bản nhất (và cũng phổ biến nhất). Với phương thức xác thực này, thông tin cặp

username và password nhập vào được đối chiếu với dữ liệu lưu trữ trên hệ thống,

nếu trùng khớp username và password, thì người sử dụng (User) được xác thực còn

nếu không người sử dụng bị từ chối hoặc cấm truy cập.

Nói chung phương thức xác thực này có tính bảo mật khơng cao lắm vì

những lý do như thường thì thông tin cặp username và password nhập vào được

gửi đi xác thực trong tình trạng plain text (ký tự văn bản thuần), tức khơng được

mã hóa và có thể bị chặn bắt trên đường truyền, thậm chí ngay trong quá trình nhập

vào; lộ password do đặt quá đơn giản (dạng ‘123456’, ‘abc123’ v.v.) hoặc dễ đoán

(tên / ngày sinh của người thân...).

2.3.2.

Dựa trên giao thức thách thức, đáp ứng.

Giao thức xác thực bắt tay có thử thách - Challenge Handshake

Authentication Protocol (CHAP): Challenge Handshake Authentication Protocol

(CHAP) cũng là mơ hình xác thực dựa trên username/password. Khi User cố gắng

đăng nhập (log on), máy chủ (server) đảm nhiệm vai trò xác thực sẽ gửi một thông

điệp thử thách (challenge message) trở lại máy tính User. Lúc này máy tính User sẽ

phản hồi lại username và password được mã hóa. Server xác thực sẽ so sánh phiên

bản xác thực User được lưu giữ với phiên bản mã hóa vừa nhận, nếu trùng khớp thì

User sẽ được xác thực. Bản thân password khơng bao giờ được gửi qua mạng.

Phương thức CHAP thường được sử dụng khi User đăng nhập vào các máy

chủ ở xa (remote server) của hệ thống, chẳng hạn như RAS server. Dữ liệu chứa



8



password được mã hóa đơi khi được gọi là hash password (mật khẩu băm) theo tên

của phương pháp mã hoá dùng các hàm băm.

2.3.3.

Dựa trên giao thức xác thực Kerberos

Xác thực Kerberos: Kerberos là nền tảng xác thực chính của nhiều hệ điều

hành như UNIX, Windows... Xác thực Kerberos dùng một server trung tâm để

kiểm tra việc xác thực user và cấp phát thẻ thông hành (service ticket) để User có

thể truy cập vào tài nguyên hệ thống.

Xác thực Kerberos là một phương thức có tính an tồn khá cao nhờ việc

dùng cấp độ mã hóa rất mạnh.

Kerberos cũng dựa trên độ chính xác của thời gian xác thực giữa Server và

Client, do đó cần phải đảm bảo kết nối đồng bộ thời gian giữa các thành phần này

của hệ thống.

2.3.4.

Dựa trên nhận dạng nhân trắc học.

Xác thực áp dụng các phương pháp nhận dạng sinh trắc học (Biometrics):

Đây là mơ hình xác thực có tính bảo mật cao dựa trên đặc điểm sinh học của từng

cá nhân trong đó có sử dụng các thủ tục như quét dấu vân tay (fingerprint scanner),

quét võng mạc mắt (retinal scanner), nhận dạng giọng nói (voice recognition), nhận

dạng khn mặt (face recognition).

Nhờ các tiến bộ vượt bậc của công nghệ sinh học phương thức xác thực dựa

trên nhận dạng sinh trắc học ngày càng trở nên phổ biến và được chấp nhận rộng

rãi. Ví dụ xác thực quét dấu vân tay hiện đã khá phổ biến trên các máy tính xách

tay, thậm chí trên điện thoại di động.

Dựa trên token.

Xác thực sử dụng token (biểu trưng kỹ thuật số): Token là phương tiện vật lý

2.3.5.



như các thẻ thông minh (smart card), thẻ đeo của nhân viên (ID badge) chứa thông

tin xác thực hoặc bộ tạo OTP (One Time Password - mật khẩu dùng một lần).

Tokens có thể lưu trữ mã số nhận dạng cá nhân (PIN), thông tin về user, lưu

giữ hoặc tạo ra password.



9



Các thông tin trên token chỉ có thể được đọc / xử lý bởi các thiết bị / hệ

thống đặc dụng. Chẳng hạn như thẻ thông minh được đọc bởi đầu đọc thẻ smart

card chuyên dụng, OTP được xử lý bởi hệ thống xác thực sử dụng yếu tố xác thực

thứ hai là mật khẩu dùng một lần.

2.4.

Một số phương thức xác thực

LDAP:

LDAP là chữ viết tắt của Lightweight Directory Access Protocol. LDAP phát

triển dựa trên chuẩn X500. Đây là chuẩn cho dịch vụ thư mục (Directory Service DS) chạy trên nền tảng OSI.

LDAP được coi là lightweight vì LDAP sử dụng gói tin overhead thấp, được

xác định chính xác trên lớp TCP của danh sách giao thức TCP/IP (các dịch vụ

hướng kết nối) còn X500 là heavyweight vì là lớp giao thức ứng dụng, chứa nhiều

header hơn (các header của các layer tầng thấp hơn)



Hình trên là sự tương quan giữa 2 mơ hình là x.500 (mơ hình OSI) với mơ

hình LDAP (mơ hình TCP/IP)

LDAP chỉ là giao thức, không hỗ trợ xử lý như cơ sở dữ liệu. Mà nó cần một

nơi lưu trữ backend và xử lý dữ liệu tại đó. Vì vậy mà LDAP client kết nối tới

LDAP server theo mơ hình sau.



10



LDAP là giao thức truy cập vì vậy nó theo mơ hình dạng cây (Directory

Information Tree). LDAP là giao thức truy cập dạng client/server.



Kerneros

Kerberos là một giao thức mật mã dùng để xác thực trong các mạng máy

tính hoạt động trên những đường truyền khơng an tồn. Giao thức Kerberos có khả

năng chống lại việc nghe lén hay gửi lại các gói tin cũ và đảm bảo tính tồn

vẹn của dữ liệu. Mục tiêu khi thiết kế giao thức này là nhằm vào mơ hình máy chủmáy khách (client-server) và đảm bảo nhận thực cho cả hai chiều.

Giao thức được xây dựng dựa trên mật mã hóa khóa đối xứng và cần đến

một bên thứ ba mà cả hai phía tham gia giao dịch tin tưởng.

11



Kerberos được thiết kế dựa trên giao thức Needham-Schroeder. Kerberos sử

dụng một bên thứ ba tham gia vào quá trình nhận thực gọi là "trung tâm phân phối

khóa" (tiếng Anh: key distribution center - KDC). KDC bao gồm hai chức năng:

"máy chủ xác thực" (authentication server - AS) và "máy chủ cung cấp vé" (ticket

granting server - TGS). "Vé" trong hệ thống Kerberos chính là các chứng thực

chứng minh tính hợp lệ của người sử dụng.

Mỗi người sử dụng (cả máy chủ và máy khách) trong hệ thống chia sẻ một

khóa chung với máy chủ Kerberos. Việc sở hữu thơng tin về khóa chính là bằng

chứng để chứng minh tính hợp lệ của một người sử dụng. Trong mỗi giao dịch giữa

hai người sử dụng trong hệ thống, máy chủ Kerberos sẽ tạo ra một khóa

phiên dùng cho phiên giao dịch đó.

SASL

SASL là 1 framework cho việc cung cấp 2 dịch vụ cho các protocol (giao

thức) hướng kết nối (TCP là 1 trong số đó):

-



Authentication (xác thực)

Security layer ( tầng bảo mật)



Khi một giao thức đã hỗ trợ SASL, bạn không cần phải code thêm để xác

thực người dùng ( cơ bản nhất là sử dụng 1 cặp username/password) mà chỉ việc

“đá quả bóng trách nhiệm” sang cho SASL ( có thể là 1 thư viện hay 1 daemon),

SASL sẽ thực hiện công việc xác thực người dùng theo cách bạn đã chọn, đồng

thời cũng cung cấp các tính năng security như khả năng đảm bảo dữ liệu khi truyền

được nguyên vẹn và bí mật.

SSH

SSH, hoặc được gọi là Secure Shell, là một giao thức điều khiển từ xa cho

phép người dùng kiểm soát và chỉnh sửa server từ xa qua Internet. Dịch vụ được

12



tạo ra nhằm thay thế cho trình Telnet vốn khơng có mã hóa và sử dụng kỹ thuật

cryptographic để đảm bảo tất cả giao tiếp gửi tới và gửi từ server từ xa diễn ra

trong tình trạng mã hóa. Nó cung cấp thuật toán để chứng thực người dùng từ xa,

chuyển input từ client tới host, và relay kết quả trả về tới khách hàng.

Để hiểu SSH là gì thì trước tiên bạn cần phải biết nó hoạt động như thế nào.

Nếu bạn đang sử dụng Linux hoặc Mac, sử dụng SSH rất đơn giản. Nếu bạn sử

dụng Windows, bạn chỉ cần sử dụng những SSH client để mở kết nối SSH. Những

trình SSH client phổ biến là Putty.



13



CHƯƠNG 3: XÁC THỰC PAM TRÊN LINUX

3.1.



Khái niệm về PAM

PAM (Pluggable Authentication Modules) là một bộ các thư viện chia sẻ cho



phép người quản trị hệ thống cục bộ chọn cách các ứng dụng xác thực người dùng.

Chức năng của (các) tệp cấu hình là cung cấp ánh xạ từ tên dịch vụ của ứng

dụng tới một tập hợp các module cung cấp dịch vụ xác thực cho ứng dụng thô. Khi

một ứng dụng nhận biết pam với một tập tin trong /etc/pam.d bắt đầu, thư viện

PAM nạp cấu hình cho dịch vụ được chỉ định và xây dựng bốn chuỗi module (một

cho mỗi cơ sở.) Nếu cấu hình khơng chỉ định bất kỳ module nào cho một hoặc

nhiều cơ sở hơn, cấu hình cho dịch vụ khác được sử dụng thay cho các cơ sở này.

Linux là một máy chủ, có thể cung cấp một số dịch vụ khác nhau (ví dụ:

web, ftp với các khu vực bị hạn chế bởi kiểm sốt mật khẩu). Thơng qua việc sử

dụng các module, PAM có thể cho phép một chương trình tìm kiếm thơng qua một

số cơ sở dữ liệu mật khẩu khác nhau, ngay cả khi chương trình đó khơng được mã

hóa rõ ràng cho cơ sở dữ liệu cụ thể đó.

3.2.



Cấu trúc PAM

Các ứng dụng PAM được thiết lập trong thư mục /etc/pam.d hay trong file



/etc/pam.conf ( login, passwd, sshd, vsftp, …)

Thư viện các module được lưu trong /lib/security ( pam_chroot.so,

pam_access.so, pam_rootok.so, pam_deny.so, … )

Các file cấu hình được lưu trong /etc/security ( access.conf, chroot.conf,

group.conf ,… )





access.conf : Điều khiển quyền truy cập, được sử dụng cho thư viện







pam_access.so.

group.conf : Điểu khiển nhóm người dùng, sử dụng bởi

pam_group.so



14







limits.conf : Thiết lập các giới hạn tài nguyên hệ thống, được sử







dụng bởi pam_limits.so.

pam_env : Điểu khiển khả năng thay đổi các biến môi trường, sử







dụng cho thư viện pam_env.so .

time : Thiết lập hạn chế thời gian cho dịch vụ và quyền người dùng,

sử dụng cho thư viện pam_time.so.



3.3. Phương thức hoạt động hoạt động của PAM

Thuật ngữ

Các chương trình login, pass, su, sudo, … trên được gọi là privilege-granting

application ( chương trình trao đặc quyền ).

PAM-aware application: là chương trình giúp các privile-granting

application làm việc với thư viện PAM.

Các bước hoạt động:





Bước 1:Người dùng chạy một ứng dụng để truy cập vào dịch vụ mong







muốn, vd login.

Bước 2: PAM-aware application gọi thư viện PAM để thực hiện nhiệm vụ







xác thực.

Bước 3: PAM library sẽ dựa vào file cấu hình của chương trình đó trong

/etc/pam.d ( vd ở đây là login -> file cấu hình /etc/pam.d/login ) xác định

loại xác thực nào được u cầu cho chương trình trên. Trong trường hợp









khơng có file cấu hình, thì file /etc/pam.d/other sẽ được sử dụng.

Bước 4:PAM library sẽ load các module yêu cầu cho xác thực trên.

Bước 5: Các modules này sẽ tạo một liên kết tới các hàm chuyển đổi







( conversation functions ) trên chương trình.

Bước 6: Các hàm này dựa vào các modules mà đưa ra các yêu cầu với người









dùng, vd chúng yêu cầu người dùng nhập password.

Bước 7: Người dùng nhập thông tin vào theo yêu cầu.

Bước 8: Sau khi quá trình xác thực kết thúc, chương trình này sẽ dựa vào

kết quả mà đáp ứng yêu cầu người dùng ( vd cho phép login vào hệ thống )

hay thông báo thất bại với người dùng.

15



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

CHƯƠNG 2: TỔNG QUAN VỀ XÁC THỰC

Tải bản đầy đủ ngay(0 tr)

×