
Nếu bạn không quan tâm đến bảo mật và thường xuyên phớt lờ vấn đề an ninh của tài khoản, thì tốt nhất là bạn không nên đọc bài viết này. Nhưng nếu bạn chưa biết gì về hệ thống bảo mật hai lớp hoặc muốn tài khoản của mình được bảo vệ an toàn và thuận tiện hơn rất nhiều, thì đây là bài viết dành cho bạn. Chúng ta sẽ tìm hiểu về khóa bảo mật, một phương pháp bảo mật cao cấp từng được yêu cầu rất nhiều trong các doanh nghiệp lớn và ngày càng phổ biến hơn đối với người dùng cá nhân.
Một chút về kinh nghiệm cá nhân:
Trước khi công ty áp đặt, mình đã sử dụng khóa bảo mật được gần 10 năm. Nếu không cắm vào cổng USB, không thể truy cập vào tài khoản công ty. Sau đó, thử dùng điện thoại làm khóa bảo mật thay cho khóa USB, thậm chí không cần mật khẩu nữa ().
Ok, dài dòng thế là đủ rồi. Quay lại chủ đề chính của bài viết: khóa bảo mật, cách sử dụng và những điều cần lưu ý. Nhưng trước tiên, bạn cần hiểu sơ qua về bảo mật đã.
- Khái niệm cơ bản về bảo mật hai lớp
- Khóa bảo mật là gì, giá trị của nó, FIDO và FIDO2
- Lựa chọn và sử dụng khóa bảo mật như thế nào, những lưu ý (lý thuyết tổng quan thôi nhé, mình đang không còn key nào ở cạnh, nhưng Google hỗ trợ dùng chính điện thoại của bạn làm khóa bảo mật đấy, mình nghĩ nhiều bạn dùng thử rồi mà không biết)
1. Bảo mật hai lớp
Nhớ những lúc xưa, đăng nhập vào gmail thật đơn giản phải không? Chỉ cần nhập tên đăng nhập và mật khẩu vào trình duyệt là xong, không cần phức tạp gì cả. Nhưng sự đơn giản đó lại có thể gây ra những hậu quả nghiêm trọng: nếu mật khẩu bị lộ (ví dụ như bị nhìn trộm, máy tính bị cài trojan, hoặc keylog...) thì tài khoản của bạn có thể bị đánh cắp toàn bộ. Kẻ xấu có thể đăng nhập vào tài khoản của bạn một cách nhanh chóng và dễ dàng như bạn vậy. Trang web hoặc dịch vụ đó không cần biết ai đang đăng nhập, chỉ cần đúng mật khẩu và tên người dùng là đủ.
Mặc dù bạn đã biết sơ qua về xác thực hai lớp, nhưng bạn đã bao giờ tự hỏi rằng làm sao mà hệ thống của Microsoft có thể tương thích với hệ thống của Google được không? Liệu các nhà phát triển web có phải xây dựng một hệ thống xác thực hai lớp riêng cho Google, một hệ thống khác cho Microsoft, và thậm chí còn một hệ thống khác cho Apple, Facebook...? Và liệu người dùng có phải sử dụng các ứng dụng khác nhau của Google, Facebook... để tạo mã đăng nhập?
Đó chính là lý do dẫn đến việc ra đời của các tiêu chuẩn khác nhau. Mặc dù có nhiều tiêu chuẩn, nhưng bạn không cần phải quan tâm đến tất cả. Chúng ta đã giải quyết vấn đề đó và bước tiếp theo là các tiêu chuẩn W3C cho phép đăng nhập mà không cần mật khẩu.
Bảo mật thông tin:
Qua một quãng đường dài, chúng ta đã đến phần quan trọng, đó là bảo mật thông tin. Như bạn có thể thấy trong hình ảnh trên, bảo mật thông tin là một phương pháp xác thực hai lớp, nhưng nó khác biệt hoàn toàn so với các phương pháp khác, bởi vì nó không tạo ra mã mà chúng ta phải nhập vào nữa.
Về tác dụng của bảo mật thông tin, có thể hình dung như sau:
- Bạn muốn truy cập vào tài khoản Apple trên điện thoại nhưng gặp sự cố, không nhận được tin nhắn SMS và không thể xác nhận trên MacBook. Làm thế nào để đăng nhập? Vấn đề này thường xảy ra với các dịch vụ nhỏ.
- Bạn cần truy cập vào một máy tính xa nhưng điện thoại của bạn hết pin.
- Bạn bị mất điện thoại và muốn khóa tài khoản nhưng không thể vượt qua bước xác thực hai lớp để khóa và gỡ điện thoại khỏi tài khoản.
- Bạn cần truy cập vào tài khoản Microsoft trên một máy tính tạm thời ở khách sạn (kết nối LAN qua dây Ethernet), nhưng không có Wi-Fi hoặc mạng di động. Làm thế nào để đăng nhập?
- Bạn truy cập vào một quán Internet Cafe hoặc quán game, trong một thành phố lớn với đầy đủ mạng. Thông tin đăng nhập của bạn có thể bị ghi lại bởi kẻ xấu thông qua keylog hoặc trojan trên máy tính. Dù bạn có bảo mật hai lớp nhưng đừng quá tự tin. Họ đã có email và mật khẩu của bạn, có thể dò ra nhiều thông tin khác, đặc biệt là nếu bạn sử dụng mật khẩu giống nhau. Xác thực hai lớp qua email/tin nhắn cũng có thể bị hack từ xa.
- Để giảm thiểu nguy cơ khi đăng nhập từ một máy tính không quen thuộc, bạn đã thường xuyên sử dụng chế độ ẩn danh và xóa tất cả thông tin sau khi sử dụng chưa?
Nếu bạn lo lắng về những tình huống trên, thì khóa bảo mật là giải pháp giúp chúng ta đối phó với chúng, đặc biệt là nó vẫn có thể sử dụng song song với các phương thức như tin nhắn SMS, tạo mã bảo mật truyền thống. Khi đó, để đăng nhập vào một thiết bị không quen thuộc, chúng ta không cần phải đợi hoặc nhập mã bảo mật nữa, chỉ cần cắm khóa vào là xong.
Nguyên tắc hoạt động cơ bản của khóa bảo mật là như sau: Người sử dụng đăng ký phần mềm bảo mật với hệ thống xác thực (có thể là máy tính, có thể là các dịch vụ như Google, Apple, Microsoft...), từ đó hệ thống sẽ tạo ra một cặp khóa công khai lưu trữ trên máy chủ và khóa riêng lưu trữ trên phần mềm bảo mật. Chính như tên gọi của nó, khóa riêng không bao giờ được tiết lộ cho bất kỳ ai, chỉ được lưu trữ trong phần mềm bảo mật.
Khi người sử dụng đăng nhập, hệ thống xác thực sẽ gửi yêu cầu đến phần mềm bảo mật, 'bắt' nó chứng minh rằng nó đang lưu trữ khóa riêng của người dùng. Khi đó, người sử dụng phải nhập mã PIN hoặc sử dụng vân tay để mở khóa riêng. Khóa riêng sau đó sẽ được xác minh với khóa công khai. Nếu chính xác, hệ thống cho phép truy cập vào tài khoản.Do đó, có thể thấy rằng kể cả khi mất phần mềm bảo mật thì kẻ gian vẫn không thể truy cập vào tài khoản của chúng ta vì họ cần biết thêm cả mã PIN hoặc giả mạo được vân tay. Vấn đề ở đây là mã PIN đó được lưu trữ trực tiếp trong phần mềm bảo mật, không truyền qua máy tính hay gửi qua Internet, do đó nó hoàn toàn an toàn và bảo mật hơn rất nhiều. Đó là lý do mà các chuyên gia khuyên chúng ta nên sử dụng đồng thời 2-3 phần mềm bảo mật, một cái ở nhà, một cái ở công ty và một cái mang theo mình.
Thực tế, có 3 điều cần bạn cân nhắc khi mua khóa bảo mật: 1. Lựa chọn loại khóa, 2. Thiết bị đăng nhập, và 3. Hỗ trợ FIDO hay FIDO2?Đầu tiên, câu hỏi số 1. Chọn loại khóa bảo mật. Câu hỏi này thực ra không quá quan trọng, chỉ giúp bạn hiểu rõ thị trường hơn. Có thể có các khóa như YubiKey hoặc sản phẩm tương tự, hoặc thiết bị kết hợp như smartwatch/điện thoại hoặc thẻ thông minh.
Thực ra, không chỉ có các thiết bị USB làm khóa bảo mật, mà chúng ta còn có thể sử dụng các thiết bị khác như điện thoại hoặc smartwatch. FIDO cung cấp hướng dẫn chi tiết cho việc này, và đã có điện thoại như Vsmart Aris/Aris Pro hỗ trợ xác thực không cần mật khẩu FIDO2. Nhưng thông tin này chỉ để bạn biết thôi, vì Vsmart đã ngừng sản xuất...Vì vậy, câu trả lời cho câu hỏi 1 đơn giản: hầu hết chúng ta chỉ có thể chọn các thiết bị nhỏ gọn như YubiKey hay Google Titan, các lựa chọn khác gần như không khả thi hoặc rất hiếm.Câu hỏi 2, bạn muốn sử dụng với thiết bị nào?Như đã nói, khóa bảo mật có thể sử dụng đa mục đích, bạn cần tùy thuộc vào thiết bị mà bạn đang sử dụng để lựa chọn phù hợp. Ví dụ, nếu bạn muốn đăng nhập trên cả điện thoại và máy tính, tốt nhất là nên mua một khóa có cổng USB C và hỗ trợ NFC để sử dụng được cả hai. Tuy nhiên, loại này thường sẽ lớn hơn và dài hơn, dễ mất hơn so với loại nhỏ gọn hơn mà gắn chết vào máy tính.
Cả iPhone và Android đều hỗ trợ khóa bảo mật qua cổng Lightning/USB C hoặc NFC, vì vậy bạn không cần phải lo lắng. Thậm chí, ngay cả YubiKey 5C nano, loại siêu nhỏ để gắn vào máy tính, cũng tương thích với iPhone thông qua adapter USB C sang Lightning. Các phiên bản YubiKey Edge từ năm 2015 hay Neo từ năm 2012 vẫn hoạt động tốt trên iPhone, miễn là có cổng kết nối phù hợp.Câu hỏi 3, mua khóa cũ có FIDO hay mua các phiên bản mới hơn có FIDO2FIDO bao gồm 3 giao thức:U2F (Universal 2nd Factor): giao thức bảo mật hai lớp, chính là cái chúng ta nói ở đầu bài. UAF (Universal Authentication Framework): giao thức giúp đăng nhập không cần mật khẩu trên các thiết bị di động.
FIDO2 yêu cầu sử dụng cặp mã hóa public-private theo chuẩn RSA, sử dụng các bộ xác thực trên thiết bị như TPM trên máy tính hoặc Secure Element trên điện thoại, hoặc sử dụng các phần cứng bên ngoài như USB, thẻ thông minh, thậm chí là SIM điện thoại.Tính năng của FIDO2 và WebAuthn là khả năng đăng nhập không cần mật khẩu thật sự, loại bỏ cả bước nhập mật khẩu lớp đầu lẫn lớp 2 với các dịch vụ được hỗ trợ. Do đó, với các khóa FIDO2, việc đăng nhập trở nên tiện lợi hơn bao giờ hết. Đặc biệt, độ an toàn cũng được nâng cao khi người dùng không cần phải nhập mật khẩu, giảm bớt nguy cơ bị lộ thông tin cá nhân.Dĩ nhiên, sự thuận tiện cũng đi đôi với giá tiền. Các khóa FIDO đời đầu như Google Titan hoặc YubiKey có giá khoảng 20-30$, trong khi các khóa FIDO2 có thể lên đến 70-90$ tùy loại.Làm thế nào để sử dụng:
Như đã đề cập trong phần Nguyên tắc hoạt động của khóa bảo mật cơ bản, bạn cần đăng nhập vào tài khoản của mình. Điều này luôn là một phần quan trọng trong các biện pháp bảo mật hai lớp.Đối với Facebook, bạn có thể truy cập vào Cài đặt>Bảo mật & đăng nhập> Sử dụng xác thực hai yếu tố>chỉnh sửa>cài đặt khóa bảo mậtĐối với Google, bạn có thể truy cập vào đây hoặc vào Quản lý tài khoản của tôi>Bảo mật>Xác minh hai bước>Khóa bảo mật. Google cũng cho phép sử dụng điện thoại iOS và Android làm Khóa bảo mật, nhưng chỉ hỗ trợ trên trình duyệt Edge và Chrome.
Những ai sử dụng iCloud, Microsoft, Dropbox, Binance… và các dịch vụ khác cũng có thể thử tương tự nhé.Hình minh họa: PCMag