Get in touch
or send us a question?
CONTACT

Bảo mật 2 lớp Two-Factor Authentication (F2A)

alt text

Trong những năm gần đây, xu hướng tăng cường bảo mật đang ngày càng được ưa chuộng khi các cuộc tấn công an ninh mạng đang ngày càng tăng và để lại các hậu quả kinh tế nghiêm trọng. Theo thống kê, chỉ riêng trong năm 2016, Mỹ đã thiệt hại khoảng 16 tỷ đô la khi các tài khoản của người tiêu dùng bị đánh cắp hoặc bẻ khóa. 2FA hay Two-factor Authentication ra đời là giải pháp tăng thêm một lớp bảo mật nhằm tăng cường an toàn cho tài khoản.

2FA là gì? 

Two-Factor Authentication (2FA) hay còn gọi là Bảo mật 2 lớp, là một phương thức để chứng thực user bằng việc combine 2 factors khác nhau từ bộ source:

  • Một cái gì đó bạn biết.
  • Một cái gì đó bạn có.
  • Một cái gì đó mà nó mặc nhiên như vậy.

Một ví dụ khá cơ bản của 2FA đó là khi bạn rút tiền ở ATM, bạn cần 2 thứ, một là cái thẻ (bạn có) và mã PIN (bạn biết) mới có khả năng thực hiện rút tiền.

2FA là một tính năng bảo mật cực kỳ hiệu quả, giúp người dùng tránh khỏi nguy cơ bị đăng nhập trái phép vào các tài khoản mạng, chẳng hạn như: Tài khoản google (gmail), tài khoản facebook, hay tài khoản các sàn giao dịch tiền ảo, v.v

2FA là gì? Tối ưu bảo mật với xác thực 2 yếu tố - Ảnh 1.

2FA và cách thức hoạt động của 2FA

Các loại 2FA

  • Hardware Token
  • SMS/Voice based
  • Software Token
  • Push notification
  • Các loại khác

Như bạn thấy, có rất nhiều cách để mô phỏng cái mà “bạn có”.

Chẳng hạn, SMS là một sự lựa chọn không tồi, server gửi SMS về cho user để đăng nhập. Nhưng SMS lại ko quá an toàn (có thể bị intercepted), và bị vấn đề về network, việc delay có thể làm ảnh hưởng tới authentication process.

Vì nhiều lí do khác nhau nên team quyết định chọn dùng Software Token cho 2FA. Và từ bây giờ trong bài viết mình 2FA cũng được ám chỉ tới phương pháp sử dụng cryptographically key của Software Token.

Cách thức hoạt động của 2FA 

Thông thường, để đăng nhập một tài khoản trực tuyến nào đó, bạn sẽ chỉ nhập tên tài khoản và mật khẩu – thứ duy nhất bảo mật cho tài khoản của bạn. Nếu bạn sử dụng Internet trên máy tính công cộng, hoặc máy bạn bị cài keylog, các phần mềm theo dõi để đánh cắp mật khẩu, tài khoản của bạn sẽ dễ dàng bị xâm nhập bởi các hacker. 2FA sẽ bổ sung một bước vào thủ tục đăng nhập của bạn để gia tăng mức độ an toàn cho tài khoản.

Khi sử dụng bảo mật 2FA, ngoài việc sử dụng tên đăng nhập hoặc địa chỉ email và mật khẩu thì người dùng còn phải thực hiện thêm một bước xác nhận thứ hai. Bước xác nhận này có thể yêu cầu bạn nhập đoạn mã được gửi đến tin nhắn điện thoại, email, mã ngẫu nhiên từ ứng dụng đi kèm hoặc có thể dùng Security keys có sẵn. 

Nếu bạn tham gia thị trường tiền ảo như Bitcoin, Ethereum… hoặc giao dịch chứng khoán trên máy tính hay điện thoại thì bảo mật 2FA cho các tài khoản ví, các tài khoản sàn giao dịch lại càng quan trọng hơn cả. Những trang giao dịch điện tử luôn là miếng mồi ngon, vì vậy chúng luôn là đích nhắm của các hacker. Đơn giản đó là những nơi chứa tiền đầu tư của bạn. Trong trường hợp xấu hơn, họ sẽ thay đổi hết mọi thông tin trong tài khoản khiến bạn sẽ không thể đăng nhập được. Qua đó, khiến bạn mất trắng khoản đầu tư của mình. 

2FA có ưu điểm gì?

2FA giúp bảo vệ an toàn cho tài khoản của người dùng khi áp dụng nhiều lớp bảo mật, đòi hỏi quá trình đăng nhập cần nhiều thời gian hơn, nhiều phương thức xác thực hơn. Nhờ vậy, các tài khoản trực tuyến trở nên an toàn hơn trước các thủ đoạn đánh cắp tài khoản.

2FA là gì? Tối ưu bảo mật với xác thực 2 yếu tố - Ảnh 2.

Các cách thức bảo mật của 2FA

Các phương thức bảo mật 2FA

2FA sử dụng nhiều phương thức bảo mật để tăng cường bảo mật cho mỗi thao tác đăng nhập, giao dịch, v.v. 

Xác thực qua tin nhắn SMS: Ứng dụng mà bạn đang cần đăng nhập sẽ gửi mã xác thực tới số điện thoại bạn đăng ký. Ngoài ra, một số đơn vị cũng áp dụng phương pháp gọi điện thoại và thông báo dãy số hoặc ký tự xác thực. 

Tạo mã xác thực bằng một ứng dụng khác: Bạn cần có một ứng dụng để tạo tự động và ngẫu nhiên một mã xác thực (Verification codes). Thông thường mã xác thực này chỉ tồn tại trong 30 giây hoặc 1 phút, sau đó nó sẽ tạo mã mới. Bên cạnh đó, với một số ngân hàng, một số thiết bị dùng để tạo mã tự động và ngẫu nhiên cũng sẽ được gửi kèm thẻ tín dụng khách hàng. 

Sử dụng Security keys: Khóa bảo mật là một thiết bị vật lý nhỏ được sử dụng để đăng nhập, cắm vào cổng USB của máy tính. Mỗi lần đăng nhập, chỉ cần gắn khóa này là hoàn tất thủ tục xác thực. 

Sử dụng Recovery codes: Nếu bạn bị mất điện thoại, mất USB xác thực, tài khoản bị khóa hoặc hacker đã thay đổi thông tin tài khoản, Recovery codes chính là chìa khóa giúp bạn lấy lại thông tin. Hacker có thể lấy được tài khoản của bạn và tạo ra Recovery codes mới. Tuy nhiên, nếu Recovery codes của bạn là mã được tạo ra đầu tiên thì bạn được mặc định là chủ nhân của tài khoản. Vì vậy, tốt nhất bạn hãy tạo Recovery codes và in ra hoặc ghi ra giấy rồi giữ gìn cẩn thận để phòng thân.

Kết luận

2FA là một kĩ thuật dùng để enhance security layer của một application. Hay nói cách khác, bạn khóa 1 cửa bằng 2 cái khóa luôn an toàn hơn 1 cái. Trong xã hội đầy loạn lạc này thì ứng dụng nào quan trọng, chứa nhiều sensitive data và liên quan tới tiền bạc thì cứ auto bật 2FA thôi.

References