• Nơi gửi thông tin cần phải xác thực có thể là: – một người dùng sử dụng một máy tính– bản thân một máy tính – một chương trình ứng dụng máy tính computer program... Th ẻ bài, smart ca
Trang 1Network Security
L ươ ng Tr ầ n Hy Hi ế n
Trang 2Chapter 6: Authentication
(ch ươ ng 6: Xác th ự c)
Trang 56.1 Xác th ự c (Authentication) là gì?
• Là một quy trình nhằm cố gắng xác minh nhận dạng số
(digital identity) của nơi gửi thông tin đi (sender) trong
giao thông liên lạc
– VD: xác thực một yêu cầu đăng nhập từ user
• Nơi gửi thông tin cần phải xác thực có thể là:
– một người dùng sử dụng một máy tính– bản thân một máy tính
– một chương trình ứng dụng máy tính (computer program)
Trang 6Các nhân t ố xác th ự c
• Những cái mà người dùng sở hữu bẩm sinh
– VD: vết lăn tay , mẫu hình võng mạc mắt , chuỗi DNA , mẫu hình
về giọng nói sự xác minh chữ ký, tín hiệu sinh điện đặc hữu do
cơ thể sống tạo sinh (unique bio-electric signals), hoặc những biệt danh sinh trắc (biometric identifier)
• Những cái gì người dùng có
– VD: chứng minh thư (ID card), chứng chỉ an ninh (security token), chứng chỉ phần mềm (software token) hoặc điện thoại di động (cell phone)
• Những gì người dùng biết
– VD: mật khẩu , hoặc số định danh cá nhân (personal identification number - PIN))
Trang 76.2 Phân lo ạ i xác th ự c
• Xác thực
– Xác thực người dùng – Xác thực tiến trình – Xác thực tình huống
Trang 86.2.1 Xác th ự c ng ườ i dùng
• Cơ chế xác thực chia làm 3 loại:
– What you know: mật khẩu, tên đăng nhập…
– What you process: thẻ bài, năng lực…
– Something about you: hình ảnh, dấu vân tay…
• Không sử dụng các ký hiệu, tên phổ biến
• Không được giống nhau
• Thay đổi thường xuyên
Trang 9• Mật khẩu sử dụng 1 lần:
– Dành cho các user đăng nhập hệ thống 1 lần– Mỗi lần đăng nhập, user sẽ được cấp lại mật khẩu
Trang 10Th ẻ bài, smart card, nh ậ n d ạ ng user
• Thẻ bài (token):
– User hợp pháp được cấp thẻ sử dụng – Chứng thực luận lý: thẻ bài + mã số thẻ – Chứng thực vật lý: thẻ bài + mã thẻ + máy đọc thẻ
• Thẻ từ mã vạch (magnetic stripe credit card):
– Bổ sung thông tin user, gia tăng độ an toàn của thẻ bài – Độ an toàn chưa cao (thẻ có thể bị mất, đánh cắp…)
• Thẻ thông minh (smart card, chip card):
– Thẻ từ mã vạch sử dụng chip điện tử, vi xử lý – Độ an toàn cao, tiện dụng (user có thể sử dụng ở nhiều nơi)
• Nhận dạng thông minh:
– Xác thực đặc trưng user (vân tay, mống mắt) bằng máy quét – Độ chính xác cao, tuy nhiên tập đặc trưng user vẫn có thể bị đánh cắp
Trang 11• Xác thực tiến trình nhằm đối phó với nguy cơ:
– Mất kiểm soát server – Cắt đứt hoặc thay đổi dữ liệu trao đổi giữa các server – Tái hiện các quá trình xác thực trước đây
Trang 12Xác th ự c Kerberos
• Giao thức xác thực sử dụng cho các hệ
phân tán (ví dụ client-server) sử dụng
khóa mã
Trang 13Các ki ế n trúc xác th ự c ti ế n trình
• DCE (Digital Equipment Corp.):
– Môi trường xác thực hỗ trợ các ứng dụng phân tán dựa trên kiến trúc xác thực Kerberos
– Quản lý các truy nhập chia sẻ, từ xa hoặc phân tán – Sử dụng 1 server thay vì 2 server như Kerberos
• SESAME: giống DCE, bổ sung dịch vụ thuộc tính đặc quyền
• CORBA (Common Object Request Broker Architecture):
– Tiếp cận phổ biến cho các ứng dụng phân tán – Quản lý yêu cầu user, thực hiện các hoạt động của đối tượng
• Cơ chế xác thực của Windows 2000:
– Microsoft tích hợp xác thực Kerberos V5 vào các dịch vụ an ninh của Windows 2000
– Áp dụng cho domain controler, domain’s activities directory như
cơ sở dữ liệu tài khoản an ninh
Trang 146.2.3 Xác th ự c tình hu ố ng
• Quá trình xác thực thi hành luật kiểm tra an ninh nghiêm ngặt các ứng dụng web
• Khi user cung cấp tên và mật khẩu, ứng dụng web sẽ
phân định đặc quyền user, dựa vào sự ủy nhiệm của hệ
thống
• Có thể ngăn chặn các cuộc tấn công xác thực tự động
bằng cách đưa dữ liệu ngẫu nhiên chèn vào giao diện
user
• Người dùng xác nhận nội dung dữ liệu này (văn bản,
hình ảnh, chữ số…) như là một phần của quá trình xác
thực
Trang 156.2.3 Xác th ự c tình hu ố ng
Trang 166.3 Ph ươ ng th ứ c xác th ự c
• Xác thực dựa trên User Name và Password
• Challenge Handshake Authentication Protocol
Trang 17Xác th ự c d ự a trên User Name và Password
• Là cách xác thực cơ bản nhất
• Cơ chế: Với kiểu xác thực này, chứng từ ủy
nhiệm User được đối chiếu với chứng từ được
lưu trữ trên database hệ thống, nếu trùng khớp
username và password, thì user được xác thực
và nếu không User bị cấm truy cập
• Phương thức này không bảo mật lắm vì chứng
từ xác nhận User được gửi đi xác thực dưới
dạng plain text, tức không được mã hóa và có
thể bị tóm trên đường truyền
Trang 18Challenge Handshake Authentication Protocol (CHAP)
• Là mô hình xác thực dựa trên user
name/password
• Cơ chế:
– B1: Khi user cố gắng log on, 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
– B2: Lúc này máy tính User sẽ phản hồi lại user name
và password được mã hóa
– B3: 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, user sẽ được authenticated
Trang 19CHAP (tt)
• Bản thân Password không bao giờ được gửi qua
network.
• Phương thức CHAP thường được sử dụng khi
User logon vào các remote servers của cty
chẳng hạn như RAS server.
• Dữ liệu chứa password được mã hóa gọi là
password băm (hash password).
Trang 20• Kerberos authentication 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 tickets) để User có thể truy cập vào tài nguyên
• Kerberos là một phương thức rất an toàn trong
authentication bởi vì 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 Computer, do đó cần đảm bảo
có một time server hoặc authenticating servers được
đồng bộ time từ các Internet time server
• Kerberos là nền tảng xác thực chính của nhiều OS như
Unix, Windows
Trang 21• Tokens là phương tiện vật lý như các thẻ thông minh
(smart cards) hoặc thẻ đeo của nhân viên (ID badges)
chứa thông tin xác thực
• Tokens có thể lưu trữ số nhận dạng cá nhân-personal
identification numbers (PINs), thông tin về user, hoặc
Trang 22• Vì nhận dạng sinh trắc học hiện rất tốn kém chi
phí khi triển khai nên không được chấp nhận
rộng rãi như các phương thức xác thực khác.
Trang 23• Ví dụ: Cần phải đưa thẻ nhận dạng vào
đầu đọc và cho biết tiếp password là gì?
Trang 24Mutual Authentication
• là kỹ thuật bảo mật mà mỗi thành phần tham
gia giao tiếp với nhau kiểm tra lẫn nhau.
• Trước hết Server chứa tài nguyên kiểm tra “giấy
phép truy cập” của client và sau đó client lại
kiểm tra “giấy phép cấp tài nguyên” của Server.
• Điều này giống như khi bạn giao dịch với một
Server của ngân hàng, bạn cần kiểm tra Server
xem có đúng của ngân hàng không hay là một
cái bẫy của hacker giăng ra, và ngược lại Server
ngân hàng sẽ kiểm tra bạn…
Trang 256.4 H ệ xác th ự c Kerberos
• Hỗ trợ xác thực trên các hệ phân tán an toàn và
hiệu quả bằng các pp mật hóa và khóa công cộng
• Nguyên tắc: server trung tâm cấp thẻ bài xác thực
(ticket, vé) cho các ứng dụng có yêu cầu
– Vé được cấp 1 lần, không dùng lại – Vé cấp cho 1 user sử dụng 1 dịch vụ nào đó – Vé dùng nhận dạng user, quyền truy nhập, khóa làm việc, tài nguyên được sử dụng, thời gian hiệu lực…
• Các ứng dụng đã xác thực có thể bị lợi dụng để hoạt động trở lại
Trang 27Nguyên t ắ c ho ạ t độ ng
• Khi login, mã nh ận dạng user được gửi đến server
• Server xác nh ậ n user và g ử i cho:
– User: vé TG (ticket) và session key SG m ật hóa bằng user password + vé: E(SG+TG, pw)
– Server vé: b ản sao SG và mã xác thực user mật hóa bằng khóa chia s ẻ giữa server trung tâm và server vé
Trang 28Nguyên t ắ c ho ạ t độ ng…
• Sử dụng session key SG, user yêu cầu các dịch vụ
– Server vé xác nh ậ n, g ử i vé và 1 b ả n sao session key SF cho user
– User s ử d ụ ng vé và SF, yêu c ầ u server đ áp ứ ng d ị ch v ụ
Trang 29Kh ả n ă ng ch ố ng đỡ
• Bảo vệ mật khẩu: user password được lưu trên Kerb
server, không chuyển password qua mạng khi user login
• Mật hóa chống lừa đảo: mỗi yêu cầu đều được server vé
xác thực, dựa vào xác thực của Kerb server và các hoạt
động user muốn thực hiện
• Hạn chế thời hạn hiệu lực: giảm nguy cơ tấn công vào
server trung tâm do vé hết hạn sử dụng
• Cấm sử dụng lại vé: vé chỉ sử dụng 1 lần, đánh dấu
bằng đồng hồ toàn cầu, không sử dụng lại
• Xác thực tương hỗ (user, server Kerb., server vé)
Trang 30• Apache (với mô đun mod_auth_kerb)
• Dovecot IMAP4 và POP3
• Một cách gián tiếp, tất cả phần mềm sử dụng SASL để
nhận thực, chẳng hạn như OpenLDAP
• Bộ Kerberos còn đi kèm với các bộ phần mềm máy chủ
và máy khách của rsh, FTP và Telnet
• Hệ thống X Window
Trang 316.5 Dịch vụ xác thực X.509
Trang 32D ị ch v ụ xác th ự c X.509
• Nằm trong loạt khuyến nghị X.500 của ITU-T
nhằm chuẩn hóa dịch vụ thư mục
– Servers phân tán lưu giữ CSDL thông tin người dùng
• Định ra một cơ cấu cho dịch vụ xác thực
– Danh bạ chứa các chứng thực khóa công khai– Mỗi chứng thực bao gồm khóa công khai của người dùng ký bởi một bên chuyên trách chứng thực đáng tin
• Định ra các giao thức xác thực
• Sử dụng mật mã khóa công khai và chữ ký số
Trang 33Khuôn d ạ ng X.509
Trang 34Nh ậ n ch ứ ng th ự c
• Cứ có khóa công khai của CA (cơ quan chứng
thực) là có thể xác minh được chứng thực
• Chỉ CA mới có thể thay đổi chứng thực
– Chứng thực có thể đặt trong một thư mục công khai
• Cấu trúc phân cấp CA
– Người dùng được chứng thực bởi CA đã đăng ký– Mỗi CA có hai loại chứng thực
• Chứng thực thuận: Chứng thực CA hiện tại bởi CA cấp trên
• Chứng thực nghịch: Chứng thực CA cấp trên bởi CA hiện tại
• Cấu trúc phân cấp CA cho phép người dùng xác
Trang 35Phân c ấ p X.509
Trang 36Thu h ồ i ch ứ ng th ự c
• Mỗi chứng thực có một thời hạn hợp lệ
• Có thể cần thu hồi chứng thực trước khi hết hạn
– Khóa riêng của người dùng bị tiết lộ– Người dùng không còn được CA chứng thực– Chứng thực của CA bị xâm phạm
• Mỗi CA phải duy trì danh sách các chứng thực bị
thu hồi (CRL)
• Khi nhận được chứng thực, người dùng phải
kiểm tra xem nó có trong CRL không
Trang 37Các thủ tục xác thực
Trang 38Cấp chứng chỉ
• Certification authority (CA): gắn kết khóa công cộng với thực
thể E nào đó
• E (người, router) đăng ký khóa công cộng của họ với CA
• E cung cấp “bằng chứng để nhận dạng” cho CA
• CA tạo ra chứng chỉ ràng buộc E với khóa công cộng của nó
• chứng chỉ chứa khóa công cộng của E được ký số bởi CA – CA nói “đây
là khóa công cộng của E”
CA K CA
-K B+
chứng chỉ cho khóa công cộng của Bob,
Trang 39Mô tả chứng chỉ
• Số thứ tự (duy nhất)
• thông tin về người sở hữu chứng chỉ, bao gồm giải
thuật và chính giá trị khóa (không hiển thị ra)
❒ thông tin về người phát hành chứng chỉ
❒ ngày kiểm tra tính hợp lệ
❒ chữ ký số bởi người phát hành chứng chỉ
Trang 40Sử dụng chứng chỉ
Thông tin
Public key Private
Chứng nhận X.509
& còn giá trị
Ok! Tin tưởng &
chấp nhận đề nghị.
Trang 42Q & A
Trang 43THE END