Tìm hiểu về U2F - bảo mật hai lớp bằng phần cứng và UAF - chuẩn đăng nhập không cần password

0

U2F (Universal Second Factor) là một chuẩn xác thực hai lớp mới đang được rất nhiều công ty lớn ủng hộ, và bởi vì nó sử dụng thêm phần cứng bên ngoài nên độ an toàn cao hơn so với việc gửi code qua email vốn có thể bị trộm dễ dàng. Những phần cứng này có thể là một cái bút nhớ USB, một cái vòng tay, một chiếc nhẫn hay thậm chí là chìa khóa xe. Chúng sẽ giao tiếp với máy tính bằng nhiều cách khác nhau: USB, NFC, Bluetooth. Hiện tại Chrome đã hỗ trợ U2F cho một số dịch vụ của mình, Dropbox cũng đã bắt đầu triển khai, và Microsoft thì đang làm việc để mang U2F vào Edge.

  1. U2F là gì?

    Bảo mật 2 lớp là một cách cơ bản giúp bạn bảo vệ những tài khoản online quan trọng. Đó có thể là tài khoản email, tài khoản lưu trữ đám mây, tài khoản ngân hàng online hay tài khoản để đăng nhập vào web nội bộ của công ty. Thông thường, các ứng dụng hay dịch vụ nào có hỗ trợ bảo mật 2 lớp thì sẽ yêu cầu bạn đăng nhập với các bước như sau:

    Buoc_xac_thuc_hai_lop_truyen_thong.
    1. Mở trang web / dịch vụ cần đăng nhập, gõ vào username và password như bình thường
    2. Sau đó, một mã xác thực sẽ được gửi đến bạn theo nhiều cách khác nhau: có thể là qua SMS, qua email, đọc mã bằng điện thoại, hoặc sử dụng một số app chuyên biệt.
    3. Khi đã có mã xác thực trong tay, bạn tiếp tục nhập mã đó vào website / dịch vụ thì mới đăng nhập thành công.
    Về cơ bản, lớp bảo mật thứ 2 có tác dụng ngăn chặn sự xâm nhập trái phép vào tài khoản ngay cả khi bạn đã bị lộ hết chi tiết đăng nhập. Ví dụ, người nắm trong tay username và password của bạn để vào web ngân hàng không thể nào lấy được mã xác thực vì nó chỉ được gửi vào điện thoại của bạn hoặc chỉ được gửi vào email của bạn mà thôi. Kết quả là hắn ta vẫn sẽ bị kẹt lại bên ngoài trang web đó và không thể làm gì hơn, cùng lắm là xem được vài chi tiết về số dư chứ không thể thực hiện giao dịch chuyển tiền.

    Tất nhiên, nếu hắn cũng trộm được điện thoại hay biết cách đăng nhập vào tài khoản email thì đó lại là chuyện khác. Rất nhiều người hiện nay xài chung mật khẩu của email cho nhiều trang web và dịch vụ online nên kẻ xấu vẫn có thể truy cập vào hộp thư rồi lấy code bảo mật 2 lớp. Lúc này thì lợi ích của cơ chế bảo mật 2 lớp hoàn toàn biến mất.

    Tương tự, điện thoại cũng là thứ rất dễ bị ăn cắp và mở SMS ra xem code bảo mật 2 lớp. Thậm chí không cần phải đánh cắp, kẻ xấu vẫn có thể thấy được code xác thực gửi đến điện thoại của bạn khi thông báo hiện ra màn hình khóa. Chỉ đơn giản thế thôi, mà lại cực kì nguy hiểm đúng không nào?

    U2F ra đời để giải quyết những hạn chế này. U2F sử dụng PHẦN CỨNG để làm code xác thực nên bạn không còn lo ngại nếu có ai đó hack được vô hộp thư hay lấy điện thoại của bạn nữa. Việc đăng nhập bắt buộc phải thực hiện với sự có mặt của cái phần cứng đó, không thể hack hay đột nhập từ xa nên giảm được nhiều rủi ro. Hiện tại phần cứng U2F phổ biến nhất là bút nhớ USB, nó có kích thước rất nhỏ gọn nên dễ đem theo bên mình mọi lúc mọi nơi. Trong tương lai sẽ có thêm các hãng làm thiết bị U2F trong hình thù của chiếc nhẫn, vòng cổ, vòng tay, chìa khóa và hàng tá những thứ khác.

    U2F được phát triển bởi một liên minh gọi là FIDO (Fast IDentity Online), trong đó có sự tham gia của Google, Microsoft, PayPal, American Express, MasterCard, VISA, Intel, ARM, Samsung, Qualcomm, Bank of America và nhiều công ty lớn khác. Tính đến tháng 6 năm nay, FIDO đã có 200 thành viên từ nhiều quốc gia khác nhau. FIDO hiện đang rất tích cực trong việc quảng bá U2F, từ phần cứng đến phần mềm, và trong tương lai nó sẽ xuất hiện ở khắp mọi nơi.

    U2F hoạt động như thế nào?


    U2F. ​
    Mình sẽ mô tả quy trình hoạt động của U2F với ổ USB vì nó là giải pháp phổ biến nhất hiện nay. Lúc cần đăng nhập vào một dịch vụ online, ví dụ Gmail, bạn vẫn phải nhập username và password như bình thường. Ở bước kế tiếp, bạn sẽ được yêu cầu ghim ổ USB tương thích U2F vào máy tính. Trình duyệt Chrome ngay lập tức phát hiện ra sự hiện diện của thiết bị và sử dụng các công nghệ mã hóa để lấy dữ liệu từ nó (bạn sẽ phải nhấn một cái nút trên ổ USB). Chrome tiếp tục xác nhận dữ liệu có đúng, có hợp chuẩn hay không và nếu mọi thứ đều ổn thì bạn sẽ được đăng nhập tiếp vào Gmail.

    Lý do bạn vẫn phải nhập username và password ở bước đầu tiên là để ngăn ngừa tình trạng ai đó đột nhập được vào tài khoản của bạn chỉ bằng cách trộm chìa khóa. Mà cũng đúng thôi, vì như vậy mới là "2 lớp" chứ không thì nó cũng như 1 lớp mà thôi.

    Trong quá trình Chrome xác thực thông tin thực chất có rất nhiều thứ diễn ra để đảm bảo sự an toàn cho bạn. Đầu tiên, trình duyệt sẽ kiểm tra xem liệu nó có đang giao tiếp với website thật thông qua giao thức https hay không. Điều này giúp tránh tình trạng bạn dùng bảo mật 2 lớp với một website giả mạo. Kế tiếp, trình duyệt sẽ gửi một mã lấy từ ổ USB của bạn lên thẳng website nên về lý thuyết, một kẻ tấn công sẽ không thể lấy được mã này trong lúc dữ liệu đang truyền đi.

    Theo cấu hình của U2F, ngoài việc nhập password đầy đủ như bình thường, các website cũng có thể cho bạn tùy chọn nhập mã PIN ngắn sau đó ấn một nút trên thiết bị USB để tiếp tục đăng nhập. Bằng cách này bạn có thể đơn giản hóa việc ghi nhớ password cũng như tiết kiệm thời gian hơn trong quá trình sử dụng dịch vụ (vì bạn phải gõ ít kí tự hơn).

    Hiện U2F đã được hỗ trợ ở đâu?

    Tính đến lúc viết bài này thì không nhiều website, dịch vụ và phần mềm đã hỗ trợ chính thức cho U2F. Chrome hiện là trình duyệt duy nhất tích hợp U2F và nó có mặt trên cả Windows, Mac, Linux lẫn Chrome OS. Firefox và Edge thì đang được tích hợp nhưng chưa biết bao giờ thì hoàn thiện. Một số website đã xài U2F bao gồm các web của Google, Dropbox, Github (anh em dev chắc biết trang quản lý source code này). Hi vọng là trong tương lai thì sẽ thấy thêm nhiều web lớn khác hỗ trợ cho U2F.

    2619236_Security_Key_Gmail. ​

    Và như đã nói ở trên, để dùng được U2F thì bạn phải xài một cái ổ USB đặc biệt chứ không thể lấy ngay ổ USB mà bạn đang có trong tay. Các ổ này có thể tìm thấy trên Google, Amazon và bạn có thể dùng từ khóa "FIDO U2F Security Key" để tìm kiếm, giá dao động từ vài đô cho đến chục đô. Mình chưa thấy mấy ổ U2F có bán ở Việt Nam nên nếu muốn mua cũng sẽ khó khăn, có thể nhờ ship hay xách tay về.

    Giả sử như bạn đã mua được một ổ USB U2F rồi thì bạn có thể vào trang cấu hình bảo mật 2 lớp của Google rồi thực hiện theo chỉ dẫn của web để bắt đầu sử dụng.

    But_nho_USB_FIDO_U2F.

    Còn UAF là gì?

    UAF (Universal Authentication Framework) cũng là một chuẩn đăng nhập khác được phát triển bởi chính FIDO, tuy nhiên nó không cần password gì luôn. Chính vì vậy mà UAF còn được gọi là trải nghiệm passwordless. UAF yêu cầu phải có một biện pháp xác thực nào đó nằm ở trên chính thiết bị của người dùng và không truyền ra bên ngoài (local). Một vài ví dụ của biện pháp xác thực local đó là cảm biến vân tay, cảm biến mống mắt, nhận diện gương mặt, thậm chí là xài microphone để nhận diện giọng nói. Sau khi đã đăng kí với dịch vụ online, mỗi khi cần đăng nhập thì người dùng chỉ đơn giản là quét ngón tay qua cảm biến hay đưa mặt lại gần camera là xong.

    UAF. ​

    Bạn có thể tưởng tượng đến UAF như cách mà Apple sử dụng cảm biến Touch ID để giúp chúng ta đăng nhập vào App Store, hay cách mà Samsung dùng cảm biến vân tay của Note 4, Note 5, S6, S6 Edge để giúp bạn login vào các website hay mua hàng PayPal mà không cần gõ mật khẩu. Mỗi khi cần xác thực, chỉ việc để ngón tay lên cảm biến là xong, mọi thứ khác sẽ được tiến hành hoàn toàn tự động.

    UAF khác với giải pháp của Apple và Samsung ở chỗ nó được chuẩn hóa, do đó mọi website hoặc ứng dụng sẽ có thể triển khai kiểu bảo mật này thật nhanh chóng và dễ dàng, không phải làm từ đầu, và thậm chí còn không bị phụ thuộc vào bất kì nền tảng hay hệ điều hành nào. Điều đó sẽ giúp UAF trở nên hấp dẫn hơn và được nhiều dịch vụ xài hơn, cũng như tiếp cận được với nhiều người dùng hơn trên diện rộng.

    UAF cũng cho phép xài kết hợp mã PIN hoặc password với bảo mật local, tuy nhiên khi đó thì trải nghiệm sẽ không còn thật sự là passwordless nữa mà chuyển thành bảo mật hai lớp.

    Dữ liệu dùng để xác thực cho chuẩn UAF, ví dụ như dấu vân tay hay mẫu giọng nói của bạn, sẽ luôn nằm trên chính thiết bị của bạn mà thôi và tất nhiên là chúng được mã hóa kĩ càng. Những dữ liệu nhảy cảm này không được phép lộ diện ra bên ngoài vì khi đó sẽ có rủi ro bị đánh cắp bởi các tin tặc.

    Tham khảo: FIDOHowToGeekYubicoWikipediaTinhte