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 một hệ thống nhận dạng không cần mật khẩu.

Alexandra trắng
Alexandra White
Nguyễn Tuyết Anh
Yuya Ito

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! JAPAN dịch vụ 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 vấn đề dẫn đến việc mất quyền truy cập vào tài khoản. Hầu hết các 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 phương thức xác thực không sử dụng mật khẩu.

Tại sao nên sử dụng phương thức không dùng mật khẩu?

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

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

Các số liệu sau đây là kết quả 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 cho nhiều trang web

    70 %

    sử dụng mật khẩu làm phương thức chính để đăng nhập

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

Bằng cách sử dụng phương thức không dùng mật khẩu, Yahoo! JAPAN hướng đến việc cải thiện không chỉ khả năng bảo mật mà còn cải thiện 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 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, về mặt 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 tránh các trường hợp người dùng không thể đăng nhập vì họ quên mật khẩu.

Người bán trên Yahoo! Sáng kiến không dùng mật khẩu của JAPAN

Người bán trên Yahoo! JAPAN đang thực hiện một số bước để thúc đẩy phương thức xác thực không cần mật khẩu. Có thể chia thành 3 loại sau đây:

  1. Cung cấp phương thức thay thế để xác thực mật khẩu.
  2. Huỷ kích hoạt mật khẩu.
  3. Đăng ký tài khoản không cần mật khẩu.

Hai 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 thay thế để xác thực 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 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 phần 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ể mang đến trải nghiệm tương tự 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 đề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 các đề 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 một 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, thiết bị này có thể được kết hợp với phương thức xác thực sinh trắc học (chẳng hạn như cảm biến vân tay hoặc công nghệ nhận dạng khuôn mặt) để xác thực một bước theo hai yếu tố. Trong trường hợp này, chỉ chữ ký và chỉ báo thành công từ quy trình xác thực sinh trắc học được gửi tới máy chủ, do đó, sẽ 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 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 độc lập).

Sau khi người dùng thực hiện quy 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ử dụng một 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ý theo 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 và web dành cho thiết bị di động), 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 tốt để 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! lời nhắc xác thực bằng FIDO của JAPAN.

Người bán trên Yahoo! JAPAN khuyến nghị người dùng đăng ký FIDO bằng WebAuthn nếu họ chưa xác thực bằng 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ể xác thực nhanh chóng bằng cảm biến sinh trắc học.

Người dùng phải thiết lập phương thức xác thực FIDO trên tất cả thiết bị mà họ 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 cần mật khẩu và quan tâm đến những người dùng đang chuyển đổi không 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ó chế độ cài đặt phương thức xác thực riêng 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 tin rằng sẽ tốt hơn nếu người dùng đăng nhập bằng cùng một phương thức xác thực mỗi lần.

Để đá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 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 đã sử dụng trước đó và cấp độ xác thực tối thiểu bắt buộc.

2. Huỷ kích hoạt 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 phương thức đó. 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 không thể đăng nhập chỉ bằng mật khẩu) 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, việc 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 cần mật khẩu

Người dùng mới có thể tạo các tính năng của 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 họ đăng nhập, chúng tôi khuyến khích người dùng thiết lập phương thức 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 nếu thiết bị đó không hoạt động. Do đó, chúng tôi yêu cầu người dùng giữ lại số điện thoại mà họ đã đăng ký, ngay cả sau khi họ đã 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 quy trình xác thực không cần mật khẩu

Mật khẩu phụ thuộc vào bộ nhớ của 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 phụ thuộc vào thiết bị. Việc này có nhiều thách thức.

Khi bạn 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 phương thức 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ì nó yêu cầu phải có điện thoại của người dùng 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ý. Nhà sáng tạo phải hoàn tất quá trình đăng ký cho từng thiết bị mà trẻ định dùng.

Phương thức xác thực FIDO gắn liền với các thiết bị cụ thể, do đó, những thiết bị này phải thuộc quyền sở hữu của người dùng và đang hoạt động.

  • Nếu hợp đồng dịch vụ bị huỷ, bạn sẽ không thể gửi tin nhắn SMS tới số điện thoại đã đăng ký được nữa.
  • FIDO lưu trữ khoá riêng tư trên một thiết bị cụ thể. Nếu mất thiết bị, 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 thay thế vào tài khoản 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ẽ trở nên quan trọng hơn nữa khi phương thức xác thực không cần mật khẩu được mở rộng.

Quảng bá phương thức xác thực không cần 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 kể từ năm 2015. Điều này bắt đầu bằng việc mua lại chứng nhận máy chủ FIDO vào tháng 5 năm 2015, sau đó là giới thiệu 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, có hơn 30 triệu người dùng hoạt động hằng tháng đã vô hiệu hoá mật khẩu và đang sử dụng các phương thức xác thực không phải bằng mật khẩu. Người bán trên Yahoo! NHẬT BẢN hỗ trợ FIDO đã bắt đầu với Chrome trên Android và hiện có hơn 10 triệu người dùng đã thiết lập phương thức xác thực FIDO.

Do hoạt động của Yahoo! Theo sáng kiến của JAPAN, tỷ lệ số yêu cầu liên quan đến mật khẩu hoặc mã đăng nhập bị quên đã giảm 25% so với giai đoạn khi số lượng yêu cầu như vậy ở mức cao nhất. Ngoài ra, chúng tôi cũng có thể xác nhận rằng quyền 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 phát hiện thấy FIDO có CVR cao hơn phương thức xác thực qua 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 thành công nhờ xác thực 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, cũng như 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 cho mật khẩu, SMS và FIDO.
Trung bình, FIDO mất 8 giây để xác thực, trong khi mật khẩu mất 21 giây và quy trình xác minh qua SMS mất 27 giây.

Khó khăn lớn nhất của việc cung cấp tài khoản không cần mật khẩu không phải là việc bổ sung 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 người dùng không hài lòng khi sử dụng dịch vụ không cần mật khẩu, thì 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 ta phải cải thiện khả năng hữu dụng. Điều này đòi hỏi mỗi dịch vụ phải có những điểm cải tiến riêng.

Kết luận

Việc xác thực mật khẩu có nhiều rủi ro về mặt bảo mật đồng thời cũng gây ra nhiều thách thức về mặt khả năng hữu dụng. Giờ đây, khi mà 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 cung cấp 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 đã có tác động rõ ràng đến 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 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 đối với 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