Source: https://doubleoctopus.com/blog/your-complete-guide-to-fido-fast-identity-online/

FIDO, viết tắt của Fast Identity Online, được thành lập bởi một số công ty công nghệ bao gồm PayPal và Lenovo. Những năm sau đó thì nhiều công ty khác cũng tham gia như 1 số công ty công nghệ lớn như Google, Microsoft và Amazon. FIDO cũng bao gồm các nhà sản xuất phần cứng lớn như Intel và Samsung, 1 số tổ chức tài chính như Visa, MasterCard và American Express. Trong suốt quá trình tồn tại của mình, FIDO đã phát triển một số bản đặc tả (specifications) cho các cơ chế xác thực. Các specifications có thể được thực hiện với nhiều loại công nghệ như cảm biến vân tay, nhận dạng khuôn mặt hoặc hardware tokens. Giao thức cơ bản được sử dụng trong tất cả các phiên bản của FIDO là mật mã không đối xứng (asymmetric cryptography). Trái ngược với symmetric cryptography, trong đó một khóa duy nhất được sử dụng cho cả mã hóa và giải mã, asymmetric cryptography sử dụng các khóa riêng biệt để mã hóa và giải mã dữ liệu. Asymmetric encryption là cơ sở cho public key infrastructure (PKI), được sử dụng trong công nghệ xác thực FIDO. Đối với mỗi người dùng, một cặp khóa công khai và riêng tư được tạo. Khóa công khai được lưu trữ trên các máy chủ của nhà cung cấp dịch vụ và được sử dụng để xác minh danh tính của người dùng và mã hóa thông tin của họ. Khóa riêng tư được lưu trữ độc quyền trên thiết bị của người dùng và được sử dụng để đăng nhập vào các hệ thống yêu cầu xác thực và xác thực danh tính của người dùng cũng như giải mã thông tin của họ. PKI đảm bảo rằng ngay cả khi tin tặc xâm phạm máy chủ của nhà cung cấp dịch vụ, hacker sẽ không thể chiếm đoạt tài khoản người dùng hoặc truy cập thông tin nhạy cảm mà họ lưu trữ.

FIDO là gì

Bản đặc tả FIDO đầu tiên, được xuất bản vào tháng 12 năm 2014, bao gồm hai thành phần: Universal Authentication Framework (UAF) và Universal 2nd Factor (U2F). U2F là tiêu chuẩn cho các khóa bảo mật hoạt động như một factor thứ hai (2FA) đối với mật khẩu của các tài khoản trực tuyến. Các khoá U2F thường được kết nối với máy tính qua USB, nhưng cũng có thể là các mô hình near-field communication (NFC) và Bluetooth Low Energy (BLE) được sử dụng cho thiết bị di động. Các thiết bị U2F sử dụng hình khóa mã hóa công khai để bảo vệ tài khoản. Khóa riêng tư được lưu trữ độc quyền trên thiết bị U2F và không bao giờ tách rời khỏi thiết bị này. Điều này làm cho hệ thống an toàn hơn nhiều so với các phương pháp 2FA dựa trên SMS và thời gian, có thể bị giả mạo bởi các tin tặc trình độ cao. Giao thức UAF là một tiêu chuẩn cho phép các dịch vụ áp dụng bảo mật passwordless (không cần password) and multi-factor (bảo mật nhiều lớp). Khi tạo tài khoản, người dùng đăng ký thiết bị họ chọn với dịch vụ và chỉ định cơ chế xác thực cục bộ, chẳng hạn như quét vân tay, nhận dạng khuôn mặt hoặc giọng nói, nhập mã PIN, v.v. Cũng giống như U2F, UAF tạo một cặp khóa, lưu khóa cá nhân trên thiết bị người dùng và khóa công khai trong máy chủ của dịch vụ.

FIDO2 là gì

Vào tháng 4 năm 2018, hiệp hội FIDO đã cho ra mắt FIDO2, phiên bản cập nhật và nâng cấp các bản đặc tả ban đầu. FIDO2 nhằm mở đường cho việc áp dụng xác thực không mật khẩu, an toàn dễ dàng hơn cho nhiều loại dịch vụ trực tuyến và thiết bị người dùng. Thành phần chính của FIDO2 là Web Authentication (WebAuthn), được phát triển với sự cộng tác của World Wide Web Consortium (W3C). WebAuthn là một bộ tiêu chuẩn và giao diện lập trình ứng dụng web (API) có thể thêm xác thực dựa trên FIDO vào các trình duyệt và nền tảng được hỗ trợ. Điều này có nghĩa là người dùng sẽ có thể đăng nhập vào các ứng dụng web và di động yêu thích của họ bằng sinh trắc học (biometrics), ứng dụng di động (mobile apps) hoặc khoá FIDO. WebAuthn nhằm làm cho xác thực FIDO dễ tiếp cận hơn với người dùng sử dụng nhiều công nghệ. Tiêu chuẩn này được hỗ trợ bởi tất cả các trình duyệt phổ biến, bao gồm Chrome, Firefox, Edge và Safari. Windows 10 và Android cũng hỗ trợ cho WebAuthn. Trong cùng một bản release, FIDO cũng giới thiệu CTAP2, về cơ bản giống như U2F nhưng nới lỏng các yêu cầu của nó để các thiết bị di động cũng có thể được sử dụng như trình xác thực bên ngoài được chấp nhận (acceptable external authenticators).

Đặc tính chính

FIDO 1.0:
  • U2F/CTAP1: Bản đặc tả tiêu chuẩn cho khóa xác thực hai yếu tố (2FA)
  • UAF: Bản đặc tả tiêu chuẩn cho công nghệ xác thực không cần mật khẩu
  • FIDO 2.0:
  • WebAuthn: Một bộ web API tiêu chuẩn cho phép xác thực không cần mật khẩu trong trình duyệt
  • CTAP2: Bản đặc tả cho việc sử dụng khóa và ứng dụng xác thực di động để triển khai xác thực 2FA và không cần mật khẩu.

  • Out-of-band (OOB) security tokens

    Một trong những ý tưởng chính giúp xác thực FIDO an toàn là sử dụng các phương pháp out-of-band (OOB) để xác thực danh tính người dùng. Xác thực OOB đặc biệt có khả năng phục hồi chống lại các vụ lấy cắp dữ liệu smash-and-grab (đánh sập và lấy cắp), trong đó tin tặc xâm nhập máy chủ và giành quyền truy cập vào nhiều tài khoản người dùng. Xác thực FIDO có thể được thực hiện trong phần cứng hoặc phần mềm. Một số khóa FIDO phần cứng bao gồm một trusted platform module (TPM) để xử lý danh tính người dùng. TPM là một phần cứng có thể lưu trữ thông tin nhạy cảm như khóa mã hóa riêng và có khả năng chống giả mạo. Các khóa FIDO như dòng sản phẩm Yubikey của Yubico đều chứa các modules bảo mật để bảo vệ khóa riêng của người dùng. FIDO cũng có thể được triển khai trong phần mềm thông qua các ứng dụng di động như một software token trên smartphones. Trình xác thực di động tận dụng phần cứng và modules bảo mật tồn tại trên thiết bị của người dùng, chẳng hạn như nhận dạng khuôn mặt và máy quét vân tay, để bảo vệ khóa bảo mật của người dùng.

    Cách thức đăng ký trong FIDO như thế nào?

    Khi người dùng đăng ký dịch vụ hỗ trợ FIDO, những bước sau đây sẽ xảy ra:
  • Sau khi người dùng điền vào biểu mẫu đăng ký, dịch vụ yêu cầu họ chọn một trình xác thực FIDO mà họ chọn. Nó có thể là authenticator app hoặc là 1 khoá bảo mật hoặc là một TPM.
  • Khi người dùng chỉ định trình xác thực của mình, thiết bị FIDO sẽ tạo một cặp khóa mật mã.
  • Thiết bị gửi khóa công khai tới dịch vụ, khóa này sẽ đăng ký trong cơ sở dữ liệu của người dùng và liên kết khóa đó với tài khoản của người dùng.
  • Khóa riêng tư và các thông tin nhạy cảm khác như quét vân tay và dữ liệu khuôn mặt sẽ không bao giờ tách biệt khỏi thiết bị của người dùng.

  • Cách thức chứng thực (authentication) trong FIDO như thế nào?

    Khi người dùng muốn đăng nhập vào dịch vụ hỗ trợ FIDO, những bước sau đây sẽ xảy ra:
  • Người dùng tự giới thiệu bằng cách cung cấp tên người dùng hoặc email.
  • Dịch vụ đưa ra một bản yêu cầu mật mã (cryptographic challenge).
  • Người dùng sử dụng authenticator app hoặc khoá FIDO để ký vào bản xác thực (challenge).
  • Sau khi ký vào bản challenge, người dùng sẽ gửi lại challenge đã ký cho máy chủ.
  • Máy chủ xác minh phản hồi (response) bằng khóa công khai tương ứng của người dùng và nếu thành công, sẽ cấp cho người dùng quyền truy cập vào tài khoản.
  • Thực tế thú vị trong quy trình xác thực FIDO là máy chủ và máy khách không có trao đổi bí mật nào. Thông tin bí mật chính, là khóa riêng tư của người dùng, vẫn còn trên thiết bị mọi lúc.

    FIDO certification làm việc như thế nào?

    FIDO có một certification program xác định mức độ tuân thủ và bảo mật của các dịch vụ và ứng dụng khác nhau. Điều này rất quan trọng vì nó đảm bảo khả năng tương tác giữa các ứng dụng và dịch vụ khác nhau và cũng cung cấp các tiêu chí quan trọng để truyền đạt mức độ tin cậy mà mỗi dịch vụ cung cấp. Các nhà cung cấp sản phẩm được FIDO chứng nhận sẽ nhận được huy hiệu (badge) xác nhận tính toàn vẹn và khả năng tương tác của sản phẩm với các bản đặc tả của FIDO. Ví dụ: một máy chủ được chứng nhận FIDO2 sẽ có thể hoạt động với bất kỳ trình authenticator nào được chứng nhận FIDO2, ngay cả khi hai sản phẩm được phát triển bởi các công ty khác nhau. FIDO có các certification programs khác nhau phù hợp với nhiều mức độ tham gia khác nhau trong việc tạo máy chủ, ứng dụng và phần cứng xác thực. Chương trình Chứng nhận Chức năng (Functional Certification program) là một quá trình đầu cuối (end-to-end) cho phép các tổ chức xác nhận tính tương thích và khả năng tương tác của các sản phẩm và dịch vụ của họ với các thông số kỹ thuật của FIDO. Quá trình này bao gồm các công cụ tự kiểm tra và xác minh bởi các chuyên gia FIDO. Sau khi trải qua quá trình này và nhận được sản phẩm của họ được chấp thuận, các tổ chức có thể nộp đơn để nhận được một logo được chứng nhận, logo này có thể in trên bao bì và xuất bản trên trang web của họ. Các nhà cung cấp Authenticator cũng có thể đăng ký siêu dữ liệu của sản phẩm của họ trên máy chủ của FIDO để hỗ trợ khả năng tương tác với các sản phẩm hỗ trợ FIDO khác.

    FIDO Authenticator Certification

    Các FIDO authenticators được chứng nhận được phân loại theo các cấp độ khác nhau với các mức độ bảo mật khác nhau:
  • Cấp độ 1: Điều này bao gồm tất cả các software và hardware authenticators triển khai FIDO2, UAF hoặc U2F. Đây là cách triển khai cơ bản nhất của FIDO authenticator và bảo vệ người dùng chống lại phishing, server breaches, và man-in-the-middle (MitM) attacks.
  • Cấp độ 2: authenticators được chứng nhận cấp độ 2 phải có các biện pháp bảo mật bổ sung để bảo vệ khóa bảo mật chống lại các cuộc tấn công nâng cao hơn. Authenticators cấp 2 có khả năng chống lại phần mềm độc hại có thể muốn trích xuất thông tin bằng cách giành quyền truy cập vào hệ điều hành của thiết bị.
  • Cấp độ 3: authenticators FIDO cấp 3 bảo vệ khóa của người dùng chống lại các cuộc tấn công phần cứng cơ bản. Thiết bị phải có khả năng chống giả mạo vật lý (physical tampering) hoặc ít nhất là chỉ ra những dấu hiệu rõ ràng nếu tin tặc thao túng phần cứng của thiết bị.
  • Cấp độ 3+: Đây là authenticator FIDO an toàn nhất. Trình xác thực cấp độ 3 phải lưu trữ khóa của họ trong TPM, ngăn chặn bất kỳ loại xâm nhập vật lý nào


  • Biometric Authentication Certification

    Với việc xác thực sinh trắc học trở thành một lựa chọn thuận tiện, an toàn và giá cả phải chăng trên nhiều thiết bị, các nhà cung cấp đang có xu hướng cung cấp nó cho khách hàng của họ hơn. Tuy nhiên, độ nhạy của việc triển khai xác thực sinh trắc học và xử lý dữ liệu sinh trắc học đã tạo ra những sự phức tạp trong việc xác minh sản phẩm của nhà cung cấp. Chương trình chứng nhận xác thực sinh trắc học của FIDO nhằm cung cấp cơ sở để xác minh tính bảo mật và độ tin cậy của các công nghệ xác thực sinh trắc học. FIDO Biometric Certification là yêu cầu đối với bất kỳ trình xác thực FIDO nào có thành phần sinh trắc học. Tuy nhiên, các nhà cung cấp biometric authenticator không đăng ký FIDO Authenticator Certification vẫn có thể đánh giá và chứng nhận công nghệ của họ cho FIDO’s Biometric Certification.

    Kết luận

    Kể từ khi chính thức ra mắt, FIDO Alliance đã có thể tập hợp một số tên tuổi lớn nhất trong ngành công nghệ và tài chính để giúp mang lại xác thực an toàn và thuận tiện hơn cho các ứng dụng mà người dùng sử dụng hàng ngày. Ngày nay, chúng ta đang tiến gần hơn đến Internet không mật khẩu so với trước đây. Khi những nỗ lực của Liên minh bắt đầu thành công, chúng ta có thể hy vọng rằng mật khẩu có thể sớm trở thành dĩ vãng.