Người bán trên Yahoo! Tính năng xác thực không cần mật khẩu giúp giảm 25% số yêu cầu xác thực, tăng tốc thời gian đăng nhập lên 2,6 lần

Tìm hiểu cách Yahoo! Nhật Bản đã xây dựng hệ thống nhận dạng không cần mật khẩu.

Người bán trên Yahoo! JAPAN là một trong những công ty truyền thông lớn nhất tại Nhật Bản, cung cấp các dịch vụ như tìm kiếm, tin tức, thương mại điện tử và email. Hơn 50 triệu người dùng đăng nhập vào Yahoo! Các dịch vụ tại JAPAN mỗi tháng.

Trong những năm qua, đã có nhiều cuộc tấn công vào tài khoản người dùng và các sự cố dẫn đến mất quyền truy cập vào tài khoản. Hầu hết vấn đề này đều liên quan đến việc sử dụng mật khẩu để xác thực.

Với những tiến bộ gần đây trong công nghệ xác thực, Yahoo! JAPAN đã quyết định chuyển từ phương thức xác thực dựa trên mật khẩu sang xác thực không sử dụng mật khẩu.

Tại sao lại không cần mật khẩu?

Giống như Yahoo! JAPAN cung cấp thương mại điện tử và các dịch vụ khác liên quan đến tiền bạc, người dùng có nguy cơ bị thiệt hại đáng kể trong trường hợp bị truy cập hoặc mất tài khoản trái phép.

Các cuộc tấn công phổ biến nhất liên quan đến mật khẩu là tấn công danh sách mật khẩu và thủ đoạn lừa đảo. Một trong những lý do khiến các cuộc tấn công danh sách mật khẩu trở nên phổ biến và hiệu quả là thói quen của nhiều người khi sử dụng cùng một mật khẩu cho nhiều ứng dụng và trang web.

Những số liệu sau đây là kết quả của một cuộc khảo sát do Yahoo! NHẬT BẢN.

    50 %

    sử dụng cùng một mã nhận dạng và mật khẩu trên 6 trang web trở lên

    60 %

    Sử dụng cùng một mật khẩu trên nhiều trang web

    70 %

    sử dụng mật khẩu làm cách chính để đăng nhập

Người dùng thường quên mật khẩu của họ, điều này chiếm phần lớn các yêu cầu liên quan đến mật khẩu. Ngoài ra, cũng có thắc mắc của những người dùng đã quên mã đăng nhập và mật khẩu của họ. Lúc cao điểm, những yêu cầu này chiếm hơn 1/3 trong số tất cả các câu hỏi liên quan đến tài khoản.

Bằng cách ngừng sử dụng mật khẩu, Yahoo! JAPAN hướng đến việc cải thiện không chỉ bảo mật mà còn cả khả năng hữu dụng, mà không đặt thêm gánh nặng nào cho người dùng.

Từ góc độ bảo mật, việc loại bỏ mật khẩu khỏi quy trình xác thực người dùng sẽ giúp giảm thiệt hại do các cuộc tấn công dựa trên danh sách gây ra. Đồng thời, từ góc độ khả năng hữu dụng, việc cung cấp phương thức xác thực không dựa vào việc ghi nhớ mật khẩu sẽ giúp ngăn chặn trường hợp người dùng không thể đăng nhập do họ quên mật khẩu.

Người bán trên Yahoo! Các sáng kiến không dùng mật khẩu của NHẬT BẢN

Người bán trên Yahoo! JAPAN đang thực hiện một số bước để quảng bá chính sách xác thực không cần mật khẩu, có thể chia thành 3 hạng mục chính:

  1. Cung cấp phương thức xác thực thay thế cho mật khẩu.
  2. Vô hiệu hoá mật khẩu.
  3. Đăng ký tài khoản không sử dụng mật khẩu.

2 sáng kiến đầu tiên nhắm đến người dùng hiện tại, còn tính năng đăng ký không cần mật khẩu nhắm đến người dùng mới.

1. Cung cấp phương thức xác thực thay thế bằng mật khẩu

Người bán trên Yahoo! JAPAN cung cấp các lựa chọn thay thế sau cho mật khẩu.

  1. Xác thực qua SMS
  2. FIDO với WebAuthn

Ngoài ra, chúng tôi cũng cung cấp các phương thức xác thực như xác thực email, mật khẩu kết hợp với SMS OTP (mật khẩu một lần) và mật khẩu kết hợp với OTP qua email.

Xác thực SMS

Xác thực SMS là hệ thống cho phép người dùng đã đăng ký nhận mã xác thực gồm 6 chữ số thông qua SMS. Sau khi nhận được tin nhắn SMS, người dùng có thể nhập mã xác thực vào ứng dụng hoặc trang web.

Từ lâu, Apple đã cho phép iOS đọc tin nhắn SMS và đề xuất mã xác thực trong nội dung văn bản. Gần đây, bạn có thể sử dụng các đề xuất bằng cách chỉ định "mã một lần" trong thuộc tính autocomplete của phần tử đầu vào. Chrome trên Android, Windows và Mac có thể cung cấp cùng một trải nghiệm bằng cách sử dụng API WebOTP.

Ví dụ:

<form>
  <input type="text" id="code" autocomplete="one-time-code"/>
  <button type="submit">sign in</button>
</form>
if ('OTPCredential' in window) {
  const input = document.getElementById('code');
  if (!input) return;
  const ac = new AbortController();
  const form = input.closest('form');
  if (form) {
    form.addEventListener('submit', e => {
      ac.abort();
    });
  }
  navigator.credentials.get({
    otp: { transport:['sms'] },
    signal: ac.signal
  }).then(otp => {
    input.value = otp.code;
  }).catch(err => {
    console.log(err);
  });
}

Cả hai phương pháp này đều được thiết kế để ngăn chặn hành vi lừa đảo bằng cách đưa miền vào nội dung SMS và chỉ cung cấp nội dung đề xuất cho miền đã chỉ định.

Để biết thêm thông tin về API WebOTP và autocomplete="one-time-code", hãy xem các phương pháp hay nhất về biểu mẫu OTP qua tin nhắn SMS.

FIDO với WebAuthn

FIDO với WebAuthn sử dụng trình xác thực phần cứng để tạo cặp mật mã khoá công khai và chứng minh quyền sở hữu. Khi dùng điện thoại thông minh làm trình xác thực, bạn có thể kết hợp điện thoại thông minh với xác thực sinh trắc học (chẳng hạn như cảm biến vân tay hoặc nhận dạng khuôn mặt) để xác thực một bước hai yếu tố. Trong trường hợp này, chỉ chữ ký và chỉ báo thành công của quá trình xác thực bằng sinh trắc học được gửi tới máy chủ, do đó, không có nguy cơ bị đánh cắp dữ liệu sinh trắc học.

Sơ đồ dưới đây minh hoạ cấu hình máy chủ-ứng dụng của FIDO. Trình xác thực ứng dụng sẽ xác thực người dùng bằng hệ thống nhận dạng sinh trắc học và ký kết quả bằng cách sử dụng tiêu chuẩn mã hoá khoá công khai. Khoá riêng tư dùng để tạo chữ ký được lưu trữ an toàn trong TEE (Môi trường thực thi đáng tin cậy) hoặc vị trí tương tự. Nhà cung cấp dịch vụ sử dụng FIDO được gọi là RP (bên trung thực).

Sau khi người dùng thực hiện quá trình xác thực (thường là quét sinh trắc học hoặc mã PIN), trình xác thực sẽ sử dụng khoá riêng tư để gửi tín hiệu xác minh đã ký đến trình duyệt. Sau đó, trình duyệt sẽ chia sẻ tín hiệu đó với trang web của bên bị hạn chế.

Sau đó, trang web của bên bị hạn chế sẽ gửi tín hiệu xác minh đã ký đến máy chủ của bên bị hạn chế. Máy chủ này sẽ xác minh chữ ký dựa trên khoá công khai để hoàn tất quá trình xác thực.

Để biết thêm thông tin, hãy đọc nguyên tắc xác thực của Liên minh FIDO.

Người bán trên Yahoo! JAPAN hỗ trợ FIDO trên Android (ứng dụng và web dành cho thiết bị di động), iOS (ứng dụng dành cho thiết bị di động và web), Windows (Edge, Chrome, Firefox) và macOS (Safari, Chrome). Là một dịch vụ tiêu dùng, FIDO có thể được sử dụng trên hầu hết mọi thiết bị. Do đó, đây là một lựa chọn phù hợp để quảng bá tính năng xác thực không cần mật khẩu.

Hệ điều hành Hỗ trợ FIDO
Android Ứng dụng, trình duyệt (Chrome)
iOS Ứng dụng (iOS14 trở lên), Trình duyệt (Safari 14 trở lên)
Windows Trình duyệt (Edge, Chrome, Firefox)
Mac (Big Sur trở lên) Trình duyệt (Safari, Chrome)
Mẫu Yahoo! JAPAN lời nhắc xác thực bằng FIDO.

Người bán trên Yahoo! JAPAN khuyên người dùng nên đăng ký FIDO bằng WebAuthn, nếu họ chưa xác thực bằng các phương thức khác. Khi cần đăng nhập bằng cùng một thiết bị, người dùng có thể nhanh chóng xác thực bằng cảm biến sinh trắc học.

Người dùng phải thiết lập tính năng xác thực FIDO với tất cả thiết bị mà họ sử dụng để đăng nhập vào Yahoo! NHẬT BẢN.

Để thúc đẩy tính năng xác thực không sử dụng mật khẩu và hãy cân nhắc đến những người dùng sắp chuyển sang dùng mật khẩu, chúng tôi cung cấp nhiều phương thức xác thực. Điều này có nghĩa là mỗi người dùng có thể có các chế độ cài đặt phương thức xác thực khác nhau và phương thức xác thực mà họ có thể sử dụng có thể khác nhau tuỳ theo trình duyệt. Chúng tôi cho rằng sẽ tốt hơn nếu người dùng đăng nhập mỗi lần bằng cùng một phương thức xác thực.

Để đáp ứng các yêu cầu này, bạn cần theo dõi các phương thức xác thực trước đó và liên kết thông tin này với ứng dụng bằng cách lưu trữ thông tin dưới dạng cookie, v.v. Sau đó, chúng ta có thể phân tích cách các trình duyệt và ứng dụng khác nhau được sử dụng để xác thực. Người dùng được yêu cầu cung cấp phương thức xác thực phù hợp dựa trên chế độ cài đặt của người dùng, các phương thức xác thực trước đó đã sử dụng và cấp độ xác thực tối thiểu bắt buộc.

2. Vô hiệu hoá mật khẩu

Người bán trên Yahoo! JAPAN yêu cầu người dùng thiết lập một phương thức xác thực thay thế, sau đó vô hiệu hoá mật khẩu của họ để người dùng không thể sử dụng mật khẩu đó. Ngoài việc thiết lập phương thức xác thực thay thế, việc tắt tính năng xác thực mật khẩu (do đó khiến người dùng không thể đăng nhập chỉ bằng mật khẩu) sẽ giúp bảo vệ người dùng khỏi các cuộc tấn công dựa trên danh sách.

Chúng tôi đã thực hiện các bước sau đây để khuyến khích người dùng tắt mật khẩu của họ.

  • Quảng bá các phương thức xác thực thay thế khi người dùng đặt lại mật khẩu.
  • Khuyến khích người dùng thiết lập các phương thức xác thực dễ sử dụng (chẳng hạn như FIDO) và tắt mật khẩu trong những tình huống yêu cầu xác thực thường xuyên.
  • Thúc đẩy người dùng vô hiệu hoá mật khẩu trước khi sử dụng các dịch vụ có rủi ro cao, chẳng hạn như thanh toán thương mại điện tử.

Nếu người dùng quên mật khẩu, họ có thể tiến hành khôi phục tài khoản. Trước đây, điều này bao gồm việc đặt lại mật khẩu. Giờ đây, người dùng có thể chọn thiết lập một phương thức xác thực khác và chúng tôi khuyến khích họ làm như vậy.

3. Đăng ký tài khoản không sử dụng mật khẩu

Người dùng mới có thể tạo các mẫu quảng cáo Yahoo! mà không cần mật khẩu Tài khoản JAPAN. Trước tiên, người dùng phải đăng ký xác thực qua SMS. Sau khi đăng nhập, người dùng nên thiết lập tính năng xác thực FIDO.

Vì FIDO là chế độ cài đặt theo từng thiết bị, nên bạn có thể khó khôi phục tài khoản được nếu thiết bị không hoạt động được. Do đó, chúng tôi yêu cầu người dùng duy trì trạng thái đăng ký số điện thoại, ngay cả sau khi đã thiết lập phương thức xác thực bổ sung.

Những thách thức chính đối với việc xác thực không cần mật khẩu

Mật khẩu phụ thuộc vào bộ nhớ con người và độc lập với thiết bị. Mặt khác, các phương thức xác thực được giới thiệu từ trước đến nay trong sáng kiến không dùng mật khẩu của chúng tôi đều phụ thuộc vào thiết bị. Việc này đặt ra một số thách thức.

Khi sử dụng nhiều thiết bị, sẽ có một số vấn đề liên quan đến khả năng hữu dụng:

  • Khi sử dụng tính năng xác thực SMS để đăng nhập trên máy tính, người dùng phải kiểm tra điện thoại di động để tìm tin nhắn SMS đến. Điều này có thể bất tiện vì điện thoại của người dùng phải luôn có sẵn và dễ dàng truy cập bất cứ lúc nào.
  • Với FIDO, đặc biệt là với trình xác thực nền tảng, người dùng có nhiều thiết bị sẽ không thể xác thực trên các thiết bị chưa đăng ký. Bạn phải hoàn tất quá trình đăng ký cho từng thiết bị mà mình định sử dụng.

Quy trình xác thực FIDO gắn liền với các thiết bị cụ thể, đòi hỏi người dùng phải sở hữu và sử dụng các thiết bị này.

  • Nếu hợp đồng dịch vụ bị huỷ, bạn sẽ không thể gửi tin nhắn SMS đến số điện thoại đã đăng ký được nữa.
  • FIDO lưu trữ các khoá riêng tư trên một thiết bị cụ thể. Nếu thiết bị bị mất, các khoá đó sẽ không sử dụng được.

Người bán trên Yahoo! JAPAN đang thực hiện nhiều biện pháp để giải quyết những vấn đề này.

Giải pháp quan trọng nhất là khuyến khích người dùng thiết lập nhiều phương thức xác thực. Thao tác này cung cấp quyền truy cập vào tài khoản thay thế khi thiết bị bị mất. Vì khoá FIDO phụ thuộc vào thiết bị, bạn cũng nên đăng ký khoá riêng tư FIDO trên nhiều thiết bị.

Ngoài ra, người dùng có thể sử dụng API WebOTP để truyền mã xác minh qua SMS từ điện thoại Android sang Chrome trên máy tính.

Chúng tôi tin rằng việc giải quyết các vấn đề này sẽ càng quan trọng hơn nữa khi tình trạng xác thực không cần mật khẩu được mở rộng.

Quảng bá tính năng xác thực không sử dụng mật khẩu

Người bán trên Yahoo! JAPAN đã triển khai các sáng kiến không dùng mật khẩu này từ năm 2015. Quá trình này bắt đầu bằng việc đạt được chứng nhận máy chủ FIDO vào tháng 5 năm 2015, sau đó là việc giới thiệu tính năng xác thực qua SMS, tính năng huỷ kích hoạt mật khẩu và hỗ trợ FIDO cho từng thiết bị.

Hiện nay, hơn 30 triệu người dùng hoạt động hằng tháng đã tắt mật khẩu và sử dụng các phương thức xác thực không dùng mật khẩu. Người bán trên Yahoo! Ban đầu, JAPAN hỗ trợ FIDO từ Chrome trên Android và hiện đã có hơn 10 triệu người dùng thiết lập tính năng xác thực FIDO.

Nhờ hoạt động của Yahoo! Theo sáng kiến của JAPAN, tỷ lệ yêu cầu liên quan đến mã đăng nhập hoặc mật khẩu bị quên đã giảm 25% so với giai đoạn khi số lượng yêu cầu như vậy đạt mức cao nhất. Chúng tôi cũng xác nhận được rằng việc truy cập trái phép đã giảm do số lượng tài khoản không cần mật khẩu tăng lên.

Vì FIDO rất dễ thiết lập nên có tỷ lệ chuyển đổi đặc biệt cao. Trên thực tế, Yahoo! JAPAN nhận thấy rằng FIDO có TLCĐ cao hơn phương thức xác thực qua tin nhắn SMS.

    25 %

    Số lượng yêu cầu cung cấp thông tin đăng nhập bị quên giảm

    74 %

    Người dùng xác thực thành công theo FIDO

    65 %

    Xác minh thành công qua SMS

FIDO có tỷ lệ thành công cao hơn so với xác thực qua SMS và thời gian xác thực trung bình và trung bình nhanh hơn. Đối với mật khẩu, một số nhóm có thời gian xác thực ngắn và chúng tôi nghi ngờ rằng điều này là do autocomplete="current-password" của trình duyệt.

Biểu đồ so sánh thời gian xác thực mật khẩu, SMS và FIDO.
Trung bình, FIDO cần 8 giây để xác thực, trong khi mật khẩu cần 21 giây và quy trình xác minh qua SMS mất 27 giây.

Khó khăn lớn nhất đối với việc cung cấp tài khoản không dùng mật khẩu không phải là việc bổ sung các phương thức xác thực, mà là phổ biến việc sử dụng trình xác thực. Nếu trải nghiệm sử dụng dịch vụ không cần mật khẩu không thân thiện với người dùng, quá trình chuyển đổi sẽ không dễ dàng.

Chúng tôi tin rằng để cải thiện khả năng bảo mật, trước tiên, chúng tôi phải cải thiện khả năng hữu dụng. Việc này đòi hỏi mỗi dịch vụ phải có những cải tiến riêng.

Kết luận

Việc xác thực mật khẩu chứa nhiều rủi ro về mặt bảo mật cũng như những thách thức về khả năng hữu dụng. Giờ đây, khi các công nghệ hỗ trợ xác thực không cần mật khẩu (chẳng hạn như API WebOTP và FIDO) đã được phổ biến rộng rãi hơn. Đã đến lúc bắt đầu hướng tới việc xác thực không cần mật khẩu.

Tại Yahoo! NHẬT BẢN, việc áp dụng phương pháp này đã mang lại tác động rõ ràng cho cả khả năng hữu dụng và tính bảo mật. Tuy nhiên, nhiều người dùng vẫn đang sử dụng mật khẩu. Vì vậy, chúng tôi sẽ tiếp tục khuyến khích thêm nhiều người dùng chuyển sang các phương thức xác thực không cần mật khẩu. Chúng tôi cũng sẽ tiếp tục cải thiện các sản phẩm của mình để tối ưu hoá trải nghiệm người dùng cho các phương thức xác thực không cần mật khẩu.

Ảnh của olieman.eth trên Unsplash