Bài giảng An toàn an ninh thông tin: Chương 6 - Bùi Trọng Tùng

37 33 0
Bài giảng An toàn an ninh thông tin: Chương 6 - Bùi Trọng Tùng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng An toàn an ninh thông tin: Chương 6 Xác thực danh tính cung cấp cho người học những kiến thức như: Khái niệm chung; Xác thực dựa trên mật khẩu; Các giao thức xác thực dựa trên mật khẩu; Giao thức zero-knowledge; Giới thiệu một số phương pháp xác thực khác. Mời các bạn cùng tham khảo!

BÀI XÁC THỰC DANH TÍNH Bùi Trọng Tùng, Viện Công nghệ thông tin Truyền thông, Đại học Bách khoa Hà Nội 1 Nội dung • Khái niệm chung • Xác thực dựa mật • Các giao thức xác thực dựa mật • Giao thức zero-knowledge • Giới thiệu số phương pháp xác thực khác 2 1 KHÁI NIỆM CHUNG 3 Xác thực danh tính gì? • Xác thực danh tính tạo liên kết định danh đối tượng, thực thể: bước  Chủ thể cung cấp định danh hệ thống  Chủ thể cung cấp thơng tin xác thực chứng minh liên kết định danh chủ thể • Các phương pháp xác thực chính:  Cái chủ thể biết (What the entity knows)  Cái chủ thể có (What the entity has)  Chủ thể (What the entity is)  Vị trí chủ thể (Where the entity is) • Xác thực đa yếu tố: sử dụng >1 yếu tố xác thực 4 Các thành phần hệ xác thực • A: Tập thông tin đặc trưng mà chủ thể sử dụng để • • • • chứng minh định danh C: Tập thông tin mà hệ thống lưu trữ sử dụng để xác minh đắn thông tin tập A F: Tập hàm sinh C từ A ∈ , : → L: Tập hàm xác thực ∈ , : × →{ , } S: Tập hàm lựa chọn cho phép thực thể tạo thay thông tin A C 5 Một ví dụ - Hệ xác thực mật • Hệ xác thực mật khẩu, giả sử mật lưu dạng rõ  A: tập chuỗi ký tự chấp nhận mật C=A  F: hàm đồng thức I  L: hàm so sánh =  S: hàm thiết lập, thay đổi mật 6 HỆ XÁC THỰC BẰNG MẬT KHẨU 7 Hệ xác thực mật • Mật khẩu: chuỗi ký tự nhóm từ sử dụng để xác thực danh tính thực thể  Thực thể(Entity) cần xác thực (người dùng, thiết bị, ứng dụng )  Người thẩm tra(Verifier): kiểm tra tính hợp lệ mật • Một số điểm yếu hệ thống xác thực mật khẩu:  Lưu trữ mật CSDL khơng an tồn  Truyền mật kênh khơng an tồn  Người dùng khơng cẩn trọng:  Sử dụng mật yếu  Ghi chép mật vào văn  Chia sẻ mật cho người khác (vơ tình cố ý)  Nhưng… 8 Không đổ lỗi cho người dùng • Thông thường, thường đổ lỗi cho người dùng họ sơ ý bị kẻ công khai thác • Chúng ta cần xây dựng hệ thống có khả hỗ trợ người dùng không hành động sai • Ví dụ, thư giả mạo (phising email) 9 Người dùng bị đánh cắp tài khoản nào? • Con người khơng thể nhớ nhiều mật cho “mạnh” 10 10 Người dùng bị đánh cắp tài khoản nào? • Vì vậy, người dùng thường dùng lại mật cho tài khoản khác  Với hy vọng khơng xảy điều tồi tệ • Khi tài khoản bị lộ?  Kẻ cơng có mật người dùng  Và đăng nhập vào tài khoản khác • Thực tế: Hacker thử công đánh cắp tài khoản vận hành mạng lưới điện Mỹ theo hướng tiếp cận  Gửi email giả mạo chia sẻ tài liệu Dropbox  Tấn cơng vào website có u cầu xác thực người dùng 11 11 Giải pháp cho người dùng • Phần mềm quản lý mật khẩu: Password Manager  Ví dụ: KeePassX, 1password  Có thể tạo mật “mạnh” quản lý tài khoản sử dụng mật  Người dùng cần nhớ mật (Master Password) để mở “kho mật khẩu” • Thẻ xác thực yếu tố U2F Security Keys  Người dùng cần kết nối thẻ với máy tính đăng nhập  Có khả giảm thiểu nguy bị cơng phishing • Kích hoạt tùy chọn xác thực hai yếu tố (2FA) hệ thống dịch vụ 12 12 Lưu trữ mật • Lưu mật dạng rõ:  Nguy an tồn cao • Lưu mật dạng mã:  An toàn sử dụng hệ mật mã tốt, bảo vệ khóa giải mã an tồn  Hạn chế: cần thao tác giải mã cần xác thực • Lưu mật dạng mã băm:  Chi phí thấp  Hạn chế: nguy bị cơng dị đốn dựa từ điển Có thể hạn chế cách đưa thêm “salt” vào mật trước băm • Sử dụng máy chủ lưu trữ:  Giải pháp 1: Người thẩm tra yêu cầu máy chủ chuyển mật để xác thực  Giải pháp 2: Người thẩm tra đưa cho máy chủ thông tin người dùng Máy chủ xác thực thông báo lại kết 13 13 Tấn công vào hệ xác thực mật • Tấn cơng thụ động: nghe lén, quan sát trình nhập mật  Nhìn trộm  Sử dụng chương trình key logging  Tấn cơng kênh bên  Chặn bắt gói tin • Tấn cơng chủ động:  Giải mạo chương trình cung cấp dịch vụ (server)  Giả mạo chương trình khách (client)  Tấn cơng man-in-the-middle  Tấn cơng vào máy chủ vật lý cung cấp dịch vụ 14 14 Tấn cơng dạng online • Kẻ cơng biết tập hàm xác thực L • Mục đích: dị thử mật dựa kết xác thực hệ thống trả lại • Đặc điểm:  Tương tác trực tiếp với hệ xác thực  Có thể thử đồng thời nhiều tài khoản • Xác suất cơng thành cơng: ≥ ( ×  G: Tốc độ kẻ cơng dị thử  T: Thời gian kẻ cơng dị thử  N: Số mật hệ thống tạo )/ Giảm thiểu: Tăng độ dài mật Quy định số lần thử xác thực tối đa khoảng thời gian 15 15 Tấn cơng dạng off-line • Kẻ công biết:  Tập thông tin C hệ thống dùng để xác thực  Tập hàm biến đổi F ∈ Đặc điểm: không tương tác với hệ xác thực Ví dụ: kẻ cơng biết có sở liệu chứa mã băm mật hàm băm sử dụng Nguy cơ: người dùng sử dụng mật dễ đốn, kẻ cơng có từ điển chưa mã băm tương ứng Giảm thiểu nguy cơ: Hash(Password, Salt) • Mục tiêu: tìm thơng tin • • • • 16 16 Băm mật với “salt” • Lưu trữ [salt,Hash(password || salt) • Ví dụ: Hệ điều hành Linux username hash salt bkcs:$1$J54g/weK$aAVR2Nd6opPl9kcUuTTgk.:17422:0:99999:7::: Lần cuối thay đổi(tính từ ngày 1/1/1970) Số ngày tối thiểu trước đổi Số ngày tối đa trước đổi Số ngày trước hết hạn cảnh báo Ngày hết hạn (tính từ 1/1/1970) algorithm 1: MD5-based 2: Blowfish 5: SHA-256 6: SHA-512 • Lưu trữ CSDL username salt hash levn iU9KjTeD 5myyo4W7zppTOEdVUeP8/E6Km… tungbt r.PhJ0HG Y.xOpTBqJbWpc3f0uri.g8ErCu4wIiUGq 17 17 Băm mật với “salt” – Nâng cao an toàn • Kẻ cơng tạo từ điển với giá trị “salt” • Băm nhiều lần: hash(hash(… hash(password || salt)))))  Mục đích: làm chậm thời gian tính tốn giá trị xác thực  làm chậm thời gian cơng dị tìm…  …nhưng kẻ cơng kiên nhẫn tạo từ điển • Băm mật với giá trị “pepper” bí mật  Mục đích: ngăn chặn kẻ cơng tạo từ điển • Sử dụng thuật toán bcrypt, scrypt, PBKDF2 thay cho hàm băm thông thường 18 18 Khôi phục mật • Làm để người dùng khơi phục mật họ quên? Gửi trực tiếp qua email Reset qua email Câu hỏi bí mật Sử dụng tin nhắn SMS  • Lưu ý: xây dựng giao thức an toàn 19 19 Sử dụng câu hỏi bí mật cịn an tồn? • Năm 2008, ứng viên Phó Tổng thống Hoa Kỳ Sarah Palin bị đánh cắp tài khoản Yahoo Mail • Năm 2012, ứng viên Tổng thống Mitt Romney bị đánh cắp tài khoản Hotmail 20 20 10 Sử dụng HOTP giao thức xác thực • Yêu cầu: Chia sẻ khóa K C cách an tồn • Server: C  C + Tính HOTP(K, C) lưu CSDL • Client: C  C + Tính HOTP(K, C) người dùng gửi cho server • Server:  Nếu OTP nhận hợp lệ tạo OTP thay cho giá trị cũ CSDL  Nếu OTP nhận không hợp lệ, thực đồng lại với tham số đồng s Yêu cầu xác thực lại  Sau T lần xác thực lại khơng hợp lệ, khóa tài khoản 45 45 Đồng HOTP • Khi sử dụng HOTP thiết bị OTP Hardware Token, mã OTP sinh theo u cầu người dùng • Tính trạng đồng bộ: người dùng yêu cầu mã OTP không xác thực  giá trị đếm Token Server khác • Đồng hóa:  Server tính tốn HOTP cho s lần  u cầu người dùng gửi chuỗi (2-3, hơn) giá trị HOTP sinh từ Token  So sánh chuỗi HOTP người dùng với chuỗi HOTP sinh thực đồng 46 46 23 TOTP(RFC 6238) • Thực tương tự HOTP Client Server • Thay đếm C giá trị thời gian: T = (Current UnixTime – T0)/X T0: Mốc thời gian X: Bước thời gian (time step) • Vấn đề trễ xử lý • Client gửi TOTP bước thời gian, server chấp nhận cho lần xác thực Tạo gửi TOTP Nhận kiểm tra 47 47 Mất đồng TOTP • Đồng hồ bên có sai số khác  sau thời gian đồng • Phía kiểm tra cho phép chấp nhận giá trị OTP nằm khoảng sai số cho phép • Miền chấp nhận [TOTP(Tp) , TOTP(Tf)] Tp = (Current UnixTime – 2X + – T0)/X Tf = (Current UnixTime + X – – T0)/X t Thời điểm Tf tb kiểm tra tf Lưu ý: Nếu xác thực thành cơng tinh chỉnh lại việc đồng đồng hồ thời gian server Tp 48 48 24 SMS OTP • Giá trị OTP sinh server gửi cho người dùng qua tin nhắn SMS • Khơng đảm bảo an tồn:  Điện thoại người dùng bị nghe  Giả mạo trạm BTS  Tấn công lợi dụng lỗ hổng giao thức SS7 49 49 Tấn cơng lợi dụng lỗ hổng SS7 • SS7(Signaling System 7): giao thức điều khiển truyền • • • • • • • liệu cell mạng động Khơng có chế xác thực IMSI: Định danh thẻ SIM IMEI: Định danh thiết bị MSISDN: Số thuê bao HLR(Home Location Register): CSDL thuê bao MSC(Mobile Switching Center): Bộ chuyển mạch MAP(Mobile Application Part): giao thức điều phối truyền liệu thành phần phiên dịch vụ 50 50 25 Tấn công SS7 – Bước (1) Kẻ công gửi thông điệp SendRoutingInfoForSM chứa MSISDN tới HLR (2) HLR gửi thơng điệp trả lời chứa: • Số th bao • Địa MSC xử lý kết nối nạn nhân(Bob) • IMSI nạn nhân 51 51 Tấn công SS7 – Bước (1) Kẻ công đăng ký thông tin Bob MSC giả mạo (Fake MSC) (2) HLR cập nhật vị trí Bob (3) HLR u cầu MSC cũ giải phóng thơng tin 52 52 26 Tấn công SS7 – Bước (1) Alex gửi tin nhắn SMS cho Bob (2) MSC chuyển tiếp tin nhắn tới SMS-C (3)SMS-C gửi thông điệp tới HLR yêu cầu vị trí Bob (4) HLR trả lại địa Fake MSC (5) SMS-C chuyển tiếp tin nhắn tới Fake MSC 53 53 Một vụ việc công xác thực người dùng 54 54 27 Một vụ việc công xác thực người dùng Kịch sử dụng dịch vụ: • B1: Khách hàng đăng nhập vào hệ thống eBanking • B2: Khách hàng nhập lệnh chuyển tiền • B3: Hệ thống eBanking gửi mã OTP qua tin nhắn SMS tới số điện thoại mà khách hàng đăng ký • B4: Khách hàng nhập mã OTP nhận vào hệ thống để xác nhận chuyển tiền Xác thực đa yếu tố: (1) Mật truyền thống (2) SMS OTP 55 55 Một vụ việc cơng xác thực người dùng • Vietcombank cung cấp ứng dụng di • • • • động Vietcombank Smart OTP cung cấp mã xác thực OTP B1: Mở ứng dụng điền số ĐT đăng ký SMS Banking B2: Hệ thống gửi mã xác thực OTP tới số điện thoại B3: Người dùng nhập mã xác thực vào ứng dụng B4: Nếu mã OTP đúng, ứng dụng kích hoạt 56 56 28 XÁC THỰC SỬ DỤNG SINH TRẮC 57 57 Xác thực sinh trắc (biometric) 58 58 29 Dấu vân tay 59 59 Vân lòng bàn tay 60 60 30 Cấu trúc bàn tay 61 61 Khuôn mặt 62 62 31 Mống mắt 63 63 Vành tai 64 64 32 Mạch máu 65 65 Xác thực sinh trắc User Tấn công nghe User nonce h=H( Server Server Mẫu sinh trắc ? h=H( , nonce) khơng ổn định , nonce) 66 66 33 Những khó khăn sử dụng hệ xác thực sinh trắc • Chi phí tính tốn • Giá thành cao • Tính khơng ổn định • Khơng bền vững • Lo ngại người dùng liên quan đến sức khỏe 67 67 SINGLE SIGN ON(SSO) 68 68 34 Khái niệm • SSO chế xác thực yêu cầu người dùng đăng nhập vào lần với tài khoản mật để truy cập vào nhiều ứng dụng phiên làm việc (session) 69 69 Single Sign On • CAS (Central Authentication Service) giải pháp SSO mã nguồn mở phát triển đại học Yale • CAS hỗ trợ nhiều thư viện phía máy khách viết nhiều ngơn ngữ: PHP, Java, PL/SQL • Các thơng tin phiên đăng nhập đặt cookie CAS sinh ra(Ticket Granting Cookie) • Hỗ trợ xác thực đa yếu tố 70 70 35 Single Sign On • Người dùng chưa chứng thực CAS • TGC: Ticket Granting Cookie • ST: Session Token 71 71 Single Sign On • Người dùng chứng thực CAS 72 72 36 Các giải pháp SSO khác • Open SAML • OpenID Connect • CA Single Sign On • Java Open Single Sign On • Google Sign-In • Facebook Login 73 73 37 ... hoạt 56 56 28 XÁC THỰC SỬ DỤNG SINH TRẮC 57 57 Xác thực sinh trắc (biometric) 58 58 29 Dấu vân tay 59 59 Vân lòng bàn tay 60 60 30 Cấu trúc bàn tay 61 61 Khuôn mặt 62 62 31 Mống mắt 63 63 Vành... Mống mắt 63 63 Vành tai 64 64 32 Mạch máu 65 65 Xác thực sinh trắc User Tấn công nghe User nonce h=H( Server Server Mẫu sinh trắc ? h=H( , nonce) không ổn định , nonce) 66 66 33 Những khó khăn sử... hết hạn (tính từ 1/1/1970) algorithm 1: MD5-based 2: Blowfish 5: SHA-2 56 6: SHA-512 • Lưu trữ CSDL username salt hash levn iU9KjTeD 5myyo4W7zppTOEdVUeP8/E6Km… tungbt r.PhJ0HG Y.xOpTBqJbWpc3f0uri.g8ErCu4wIiUGq

Ngày đăng: 20/06/2021, 09:03

Tài liệu cùng người dùng

Tài liệu liên quan