Với sự phát triển mạnh mẽ của nền công nghiệp 4.0 cùng sự gia tăng nhanh chóng các cuộc tấn công an ninh mạng trong thời điểm hiện tại, việc bảo vệ thông tin cho người dùng cuối là vô cùng quan trọng bởi đây là nút thắt dễ bị tấn công nhất trong hệ thống. Theo góc nhìn của các chuyên gia VSEC, phương thức xác thực U2F có giao thức mã nguồn mở, với phần cứng dễ sử dụng, thiết kế nhỏ gọn, thông minh và hiện đang được hỗ trợ mặc định trên rất nhiều các trình duyệt. U2F là phương pháp xác thực 2 bước rất phù hợp trong lĩnh vực ngân hàng hoặc tổ chức chính phủ, đặc biệt là trong chính phủ điện tử.
Giới thiệu tổng quan về U2F
U2F (Universal 2nd Factor) là một chuẩn xác thực mở, được sử dụng để củng cố và đơn giản hóa phương thức xác thực 2 yếu tố bằng các thiết bị chuyên dụng. Các thiết bị này có khả năng lưu trữ khóa, nhờ đó có thể truy cập vào các thiết bị, dịch vụ một cách an toàn chỉ bằng một thiết bị xác thực duy nhất mà không yêu cầu cài đặt trình điều khiển hoặc phần mềm hỗ trợ nào trên hệ thống của người dùng đầu cuối.
Phương thức xác thực U2F được nghiên cứu và phát triển bởi nhóm an ninh Google và Yubico với sự hỗ trợ của nhà sản xuất bán dẫn NXP (Next eXPerience), có mục tiêu đưa mật mã khóa công khai đến với thị trường đại chúng. Hiện nay, thông số kỹ thuật của U2F được nắm giữ bởi tổ chức liên minh ngành công nghiệp xác thực mở FIDO Alliance (Fast IDentity Online Alliance). U2F đã được triển khai trên hàng trăm triệu thiết bị với ước tính khoảng 1,5 tỷ tài khoản người dùng đang sử dụng và trên nhiều dịch vụ có quy mô lớn như Gmail, Dropbox, GitHub, Salesforce.com, Chính phủ Anh cùng nhiều thành viên trong tổ chức FIDO Alliance. Hiện tại, U2F đã được tích hợp mặc định trên hầu hết các trình duyệt, bao gồm Chrome/Chromium, Opera và Mozilla Firefox.
Ưu điểm của U2F
Những đặc điểm nổi bật của U2F so với các giải pháp xác thực 2 yếu tố phổ biến khác trên thị trường như SMS OTP, Smart OTP, Google Authentication, hay RSA SecurID như sau:
An toàn: Công nghệ U2F nổi bật với khả năng phòng chống tấn công phishing mà bất kỳ các sản phẩm, giải pháp yêu cầu chép mã OTP đều không thực hiện được. Đây là một tiêu chuẩn mở, các doanh nghiệp đều có thể tự đánh giá và triển khai giải pháp này mà không cần đến bên thứ ba.
Dễ sử dụng: Để xác thực, người dùng chỉ cần nhấn vào một nút duy nhất trên thiết bị, trong khi các giải pháp khác yêu cầu người dùng phải sao chép hoặc nhập lại một mã số được sinh ra từ thiết bị sinh mã.
Tiêu chuẩn mở: Vì là tiêu chuẩn mở, nên các thiết bị U2F có thể sử dụng cho nhiều dịch vụ khác nhau, từ việc đăng nhập các trang thương mại điện tử, mạng mã hội, đến việc truy cập vào các hệ thống cá nhân riêng trong tổ chức chỉ với cùng một thiết bị. Các sản phẩm U2F có cách thức hoạt động như nhau, nên các doanh nghiệp triển khai tránh được tình trạng phụ thuộc vào một nhà sản xuất độc quyền. Đây là vấn đề thường gặp khi triển khai các giải pháp xác thực 2 yếu tố như RSA SecurID, vì khi đã triển khai rồi thì khó có thể chuyển sang nhà cung cấp giải pháp khác.
Giá cả hợp lý: Tùy thuộc vào yêu cầu của người dùng, các thiết bị U2F có giá dao động từ 10-50$.
Phương thức xác thực U2F
Phương thức xác thực U2F bao gồm 2 luồng là đăng ký (registration) và xác thực (authentication). Để xác thực, U2F sử dụng giao thức challenge – response được mở rộng với các chức năng chống tấn công phishing và MitM (Man-in-the-Middle), định danh theo dịch vụ, chống giả mạo thiết bị và chứng thực thiết bị theo thông tin của nhà cung cấp. Quá trình xác thực của U2F bao gồm 3 nhân tố: thiết bị (U2F Device), trình duyệt của người dùng (Browser, Client) và hệ thống xác thực phía dịch vụ (Server, Relying party – RP).
Giao thức challenge – response
Giao thức challenge – response là phương thức xác thực cơ bản của U2F, thông qua mật mã khóa công khai. Thiết bị U2F sinh ra cặp khóa bí mật và công khai cho mỗi ứng dụng. Thiết bị U2F lưu trữ khóa bí mật kpriv để tạo chữ ký (signature) và RP lưu trữ khóa công khai kpub tương ứng để giải mã chữ ký. Cặp khóa được sinh ra trong môi trường chống tác động từ bên ngoài (tamper-resistant) để đảm bảo khóa bí mật được bảo vệ.
Hình 1. Giao thức xác thực challenge – response
Chống tấn công phishing và MitM
Trình duyệt sẽ kiểm tra những thông tin về kết nối HTTP hiện tại của trình duyệt bao gồm đường dẫn URI và kênh truyền. Tất cả những thông tin này đã được ký bởi thiết bị U2F và được gửi tới RP. Nếu quá trình xác thực thông tin thành công thì yêu cầu đăng nhập của người dùng được chấp nhận và đảm bảo dịch vụ người dùng đang đăng nhập là chính xác và an toàn.
Phương thức này kiểm tra đường dẫn URI (origin) của dịch vụ để đảm bảo người dùng không bị tấn công phishing và kiểm tra ID của kênh truyền TLS (channel ID) để đảm bảo thông tin trên đường truyền được mã hóa, không bị đánh cắp hoặc chỉnh sửa, nhờ đó có khả năng chống lại được tấn công MitM.
Hình 2. Phương thức chống tấn công phishing và MitM
Lưu trữ khóa theo dịch vụ
Một thiết bị U2F có thể lưu trữ nhiều khóa cho nhiều tài khoản user khác nhau của cùng một dịch vụ, bởi thiết bị U2F lưu trữ các khóa theo hình thức phân tách theo dich vụ. Với mỗi lần đăng kí, thiết bị sẽ tạo ra một cặp khóa bao gồm khóa công khai và khóa bí mật, cùng một khóa điều khiển (handle) tương ứng với mỗi tài khoản user khác nhau trên cùng một dịch vụ (app id). Khóa điều khiển này được lưu trữ trên RP và sẽ được gửi lại thiết bị U2F trong quá trình xác thực.
Ví dụ, có 2 tài khoản user1 và user2 đăng kí cùng một thiết bị U2F. Khi tài khoản user1 yêu cầu xác thực, phía RP kiểm tra nếu trên thiết bị đó có khóa điều khiển của tài khoản user1 thì phiên đăng nhập đó được xác thực và chấp nhận. Ngoài ra, việc lưu trữ theo khóa điều khiển đảm bảo nếu có tác động từ phía bên ngoài thì kẻ tấn công cũng không thể biết được đâu là khóa của tài khoản user1 và user2.
Hình 3. Phân tách khóa theo dịch vụ
Phòng chống sao chép thiết bị
Thiết bị U2F có phân vùng chống các tác động từ bên ngoài, nên khóa bí mật kpriv là không thể tác động được từ bên ngoài. Để chống việc sao chép (cloning), thì thiết bị U2F được tích hợp thêm một bộ đếm xác thực (counter). Bộ đếm này sẽ tăng lên sau mỗi quá trình xác thực thành công. Số đếm sẽ được lưu và kiểm tra bởi RP.
Hình 4. Phòng chống sao chép thiết bị
Chứng thực thiết bị
Chứng thực thiết bị là thông tin bổ sung của thiết bị, giúp RP có khả năng xác thực các thuộc tính của thiết bị. Chứng thực này được gửi thêm trong quá trình đăng nhập qua một chứng chỉ chứng thực (attestation cert) được ký bởi nhà cung cấp thiết bị mà thiết bị gửi đến RP khi đăng ký, không ảnh hưởng tới quá trình xử lý của thiết bị.
Hình 5. Cung cấp chứng thực thiết bị
Cơ chế sinh khóa của thiết bị U2F
Thiết bị U2F sẽ tạo ra một cặp khóa đường cong Elliptic (ECC) mới tương ứng với dịch vụ mà người dùng đăng kí thiết bị. Mỗi một dịch vụ có một tên dịch vụ riêng, được lưu trữ trên thiết bị.
Ví dụ: example.org là tên dịch vụ sử dụng cho example.org; acme.com là tên dịch vụ sử dụng cho acme.com. Thiết bị có thể sử dụng để đăng nhập cho nhiều tài khoản trên cùng một dịch vụ bằng cách gán khóa điều khiển tương ứng theo tên dịch vụ.
Ví dụ, KeyHandle [0x21AE9B] là khóa điều khiển 1 cho example.org, KeyHandle [0xFBD308] là khóa điều khiển 2 cho example.org.
Hình 6. Cơ chế sinh khóa của thiết bị U2F
Khi người dùng đăng kí một thiết bị U2F với một dịch vụ mới, dịch vụ sẽ cung cấp một AppID (được mặc định gắn theo địa chỉ của dịch vụ, có khả năng chống phishing). Thiết bị U2F sẽ sinh ra một số Nonce ngẫu nhiên. Sau đó, thiết bị đưa AppID và mã Nonce này qua hàm băm HMAC-SHA256 (hàm một chiều), sử dụng khóa bí mật của thiết bị (device secret) được sinh ra trên chip tại thời điểm sản xuất làm khóa. Đầu ra của hàm băm trở thành khóa bí mật (private key) tương ứng với AppID, từ khóa bí mật sinh ra khóa công khai của dịch vụ. Mã Nonce và MAC (Message Authentication Code) tổng hợp lại tạo thành khóa điều khiển (key handle), dùng để xác thực cả thiết bị lẫn dịch vụ. MAC đảm bảo rằng thông tin không bị sửa đổi và thông tin xác thực thuộc về AppID đã được cấp. Trong thiết bị có duy nhất một bộ đếm (Random Number Generation - RNG) tăng lên sau mỗi lần xác thực, và đây là yếu tố duy nhất của thiết bị có sự thay đổi trong toàn bộ quá trình xác thực. Ngoài ra, vì lưu trữ tài khoản thông qua AppID và khóa điều khiển nên toàn bộ thông tin đăng nhập của người dùng là không lưu trữ trên thiết bị nên không thể bị lộ, đồng thời không thể reset được thiết bị.
Cách thức sử dụng thiết bị U2F để xác thực
Hình 7. Quá trình xác thực 2 yếu tố qua thiết bị U2F
Để xác thực qua thiết bị U2F, người dùng cần đăng nhập vào tài khoản sử dụng tên đăng nhập (username) và mật khẩu (password). Sau khi hệ thống dịch vụ kiểm tra mật khẩu là chính xác, hệ thống sẽ gửi challenge (trong đó có khóa điều khiển) tới thiết bị U2F. Tại đây, người dùng nhấn nút trên thiết bị để thiết bị U2F tiến hành quá trình tạo và gửi response. Hệ thống dịch vụ sẽ kiểm tra response bằng việc sử dụng khóa công khai của thiết bị. Nếu kiểm tra thành công, người dùng có thể đăng nhập vào tài khoản.
Ví dụ sau là các bước kích hoạt xác thực 2 yếu tố qua thiết bị U2F của ứng dụng Dropbox.com:
Bước 1: Người dùng nhập tên và mật khẩu vào trường đăng nhập của dịch vụ. Hệ thống dịch vụ sẽ kiểm tra tên và mật khẩu đó có chính xác hay không. Nếu chính xác, hệ thống sẽ gửi yêu cầu cắm thiết bị U2F vào máy để xác minh, thay vì sử dụng mã OTP hoặc nhập mã trên điện thoại như thông thường.
Hình 8. Thông báo yêu cầu kết nối thiết bị U2F để xác thực
Bước 2: Kết nối thiết bị U2F vào cổng USB với chiều có nút ấn hướng lên phía trên. Sau đó, chạm nhẹ hoặc nhấn vào nút trên thiết bị khi thiết bị thông báo tín hiệu.
Hình 9. Thiết bị U2F thông báo tín hiệu cho người dùng
Bước 3: Cuối cùng, hệ thống dịch vụ sẽ kiểm tra thông tin từ thiết bị gửi lên, nếu thành công thì quá trình đăng nhập được hoàn tất.
Tuấn Anh, VSEC
13:00 | 18/09/2018
09:00 | 03/01/2019
09:00 | 23/05/2018
14:00 | 31/01/2018
08:00 | 22/12/2017
14:00 | 30/11/2020
14:00 | 16/01/2019
15:00 | 17/02/2022
15:00 | 11/05/2021
08:00 | 10/02/2024
Hệ thống mật mã RSA là một trong các hệ mật mã khóa công khai đang được sử dụng rất phổ biến trong hệ thống mạng máy tính hiện nay. Việc lựa chọn tham số an toàn cho hệ mật RSA là vấn đề rất quan trọng trong cài đặt ứng dụng hệ mật này. Bài báo này trình bày chi tiết về khuyến nghị độ dài các tham số sử dụng cho hệ thống mật mã RSA như thừa số modulo, số mũ bí mật, số mũ công khai và các thừa số nguyên tố trong một số tiêu chuẩn mật mã của châu Âu, Đức và Mỹ.
15:00 | 24/10/2023
Google cho biết đang thử nghiệm tính năng “IP Protection” mới cho trình duyệt Chrome để nâng cao quyền riêng tư của người dùng bằng cách che giấu địa chỉ IP của họ bằng máy chủ proxy.
10:00 | 22/09/2023
Internet robot hay bot là các ứng dụng phần mềm thực hiện các tác vụ lặp đi lặp lại một cách tự động qua mạng. Chúng có thể hữu ích để cung cấp các dịch vụ như công cụ tìm kiếm, trợ lý kỹ thuật số và chatbot. Tuy nhiên, không phải tất cả các bot đều hữu ích. Một số bot độc hại và có thể gây ra rủi ro về bảo mật và quyền riêng tư bằng cách tấn công các trang web, ứng dụng dành cho thiết bị di động và API. Bài báo này sẽ đưa ra một số thống kê đáng báo động về sự gia tăng của bot độc hại trên môi trường Internet, từ đó đưa ra một số kỹ thuật ngăn chặn mà các tổ chức/doanh nghiệp (TC/DN) có thể tham khảo để đối phó với lưu lượng bot độc hại.
12:00 | 16/03/2023
Metaverse (vũ trụ ảo) là một mạng lưới rộng lớn gồm các thế giới ảo 3D đang được phát triển mà mọi người có thể tương tác bằng cách sử dụng thực tế ảo (VR), hay thực tế tăng cường (AR). Công nghệ này hứa hẹn mang lại sự trải nghiệm mới mẻ, thú vị cho người dùng cũng như mang đến những cơ hội kinh doanh cho các doanh nghiệp trong việc chuyển đổi cách thức hoạt động. Tuy nhiên, bên cạnh những lợi ích thì Metaverse cũng đặt ra những thách thức và nguy cơ về vấn đề bảo mật trong không gian kỹ thuật số này.
Lược đồ chữ ký số dựa trên hàm băm là một trong những lược đồ chữ ký số kháng lượng tử đã được Viện Tiêu chuẩn và Công nghệ Quốc gia Mỹ (NIST) chuẩn hóa trong tiêu chuẩn đề cử FIPS 205 (Stateless Hash Based Digital Signature Standard) vào tháng 8/2023. Bài báo này sẽ trình bày tổng quan về sự phát triển của của lược đồ chữ ký số dựa trên hàm băm thông qua việc phân tích đặc trưng của các phiên bản điển hình của dòng lược đồ chữ ký số này.
09:00 | 01/04/2024
Theo báo cáo năm 2022 về những mối đe doạ mạng của SonicWall, trong năm 2021, thế giới có tổng cộng 623,3 triệu cuộc tấn công ransomware, tương đương với trung bình có 19 cuộc tấn công mỗi giây. Điều này cho thấy một nhu cầu cấp thiết là các tổ chức cần tăng cường khả năng an ninh mạng của mình. Như việc gần đây, các cuộc tấn công mã độc tống tiền (ransomware) liên tục xảy ra. Do đó, các tổ chức, doanh nghiệp cần quan tâm hơn đến phương án khôi phục sau khi bị tấn công.
19:00 | 30/04/2024