Kích hoạt xác thực hai yếu tố. Đăng nhập bằng xác thực hai yếu tố

Yandex ra mắt ứng dụng cho phép bạn tránh phải nhớ mật khẩu phức tạp và tham gia cuộc đua bảo mật

Để đánh dấu

Yandex đã ra mắt cơ chế xác thực hai yếu tố và ứng dụng Yandex.Key mới, tạo mã truy cập cho tài khoản Yandex trên thiết bị di động. Điều này sẽ giúp bạn không phải nhớ một mật khẩu phức tạp vì mục đích bảo mật. Đại diện công ty đã thông báo cho TJ về việc này.

Đã cập nhật: hai giờ sau thông báo từ Yandex, Mail.Ru Group thông báo giới thiệu xác thực hai yếu tố.

Yandex.Key cho phép bạn tránh phải nhớ mật khẩu phức tạp

Để sử dụng Yandex.Key, bạn vẫn phải nghĩ ra và ghi nhớ mã PIN gồm bốn chữ số. Mật khẩu tạm thời mà bạn có thể đăng nhập vào tài khoản Yandex của mình sẽ được gửi đến thiết bị di động của bạn và có hiệu lực trong 30 giây.

Tuy nhiên, bạn có thể đăng nhập mà không cần nhập mật khẩu một lần. Mã QR đã xuất hiện trong biểu mẫu ủy quyền trên Yandex: chúng có thể được đọc bằng camera của điện thoại thông minh thông qua Yandex.Key. Người dùng thiết bị di động Apple không cần phải nhớ mã PIN: đối với họ, họ có thể truy cập vào ứng dụng thông qua việc đọc dấu vân tay bằng cảm biến Touch ID.

Hai yếu tố xác thực trong trường hợp này là mã PIN (hoặc dấu vân tay) mà chỉ người dùng mới có và kiến ​​thức về kết nối giữa tài khoản Yandex và thiết bị di động với Yandex.Key - nó được lưu trữ trên máy chủ của công ty. Mã bí mật được tạo đồng thời bằng cả mã PIN và “bí mật” từ máy chủ Yandex. Công ty cũng giải thích rằng quy trình xác thực chỉ gồm một bước: đăng nhập chỉ yêu cầu một hành động (nhập mã một lần hoặc quét mã QR).

Cần bảo mật hơn

Đây không phải là lần đầu tiên xác thực hai yếu tố xuất hiện trong Yandex. Trước đó, nó đã được sử dụng trong Yandex.Money và trong các dịch vụ nội bộ của công ty, Yandex nói với TJ.

Đại diện công ty cho biết quy trình xác thực hai yếu tố của họ an toàn hơn vì mật khẩu tạm thời được tạo từ các chữ cái thay vì số như các đối thủ cạnh tranh. Ngoài ra, người dùng không cần nhập thông tin đăng nhập và mật khẩu trước tiên: anh ta chỉ được ủy quyền bằng cách sử dụng thông tin đăng nhập và mã QR hoặc mật khẩu tạm thời.

Thông thường, với xác thực hai yếu tố, người dùng được yêu cầu đăng nhập vào tài khoản bằng tên người dùng và mật khẩu, sau đó xác nhận danh tính của họ - giả sử sử dụng SMS. Nó thậm chí còn đơn giản hơn đối với chúng tôi. Tất cả những gì bạn cần làm là kích hoạt xác thực hai yếu tố trong Passport và cài đặt ứng dụng Yandex.Key. Mã QR đã xuất hiện trong biểu mẫu ủy quyền trên trang chính của Yandex, trong Mail và Passport. Để đăng nhập vào tài khoản, người dùng cần đọc mã QR thông qua ứng dụng - và thế là xong.

Vladimir Ivanov, Phó Trưởng phòng Điều hành Yandex

Nếu người dùng đồng thời quên mã PIN và mất quyền truy cập vào thẻ SIM được liên kết với tài khoản của mình, họ vẫn có cơ hội khôi phục tài khoản của mình. Để làm được điều này, anh ta sẽ phải thực hiện quy trình tiêu chuẩn: điền vào biểu mẫu và nói chuyện với dịch vụ hỗ trợ, Yandex giải thích.

Người dùng đã bật xác thực hai yếu tố thường cẩn thận hơn về những điều như vậy - ví dụ: họ cho biết họ và tên thật của mình, những thông tin này có thể được sử dụng để khôi phục quyền truy cập bằng tài liệu nhận dạng. Bạn cũng có thể mở một biểu mẫu khôi phục quyền truy cập đặc biệt từ ứng dụng Yandex.Key - trong trường hợp điện thoại thông minh của bạn bị đánh cắp để có quyền truy cập, ở đó sẽ có một mức độ bảo vệ bí mật.

Dịch vụ báo chí Yandex

Quy trình xác thực hai yếu tố đã được đưa ra dưới dạng phiên bản beta. Công ty báo cáo rằng họ đang tham gia chương trình tiền thưởng lỗi - để tìm kiếm các lỗ hổng, bạn có thể nhận được tiền thưởng: theo thông báo, số tiền này dao động từ 5,5 đến 170 nghìn rúp.

“Giết” mật khẩu hàng loạt

Người dùng không muốn nhớ mật khẩu phức tạp và phần lớn không sử dụng xác thực hai yếu tố vì nó quá phức tạp. Thống kê cho thấy những mật khẩu phổ biến nhất năm 2014 vẫn bị thống trị bởi “123456”, “password” và “qwerty”.

Yandex quyết định sử dụng mã QR và Touch ID sau khi phân tích nhiều nghiên cứu khác nhau cho thấy quy trình xác thực hai yếu tố tiêu chuẩn được 0,02% đến 1% đối tượng của các dịch vụ khác nhau sử dụng.

Yandex không phải là công ty đầu tiên tham gia cuộc đua nâng cao bảo mật người dùng, đồng thời tránh việc phải nhớ mật khẩu phức tạp. Vào tháng 10, Twitter đã ra mắt một nền tảng giống Yandex.Key có tên là Digits, định vị nó là “kẻ giết mật khẩu”.

Với sự trợ giúp của Digits, người dùng sẽ có thể đăng nhập vào một số dịch vụ cùng một lúc: lúc đầu, Twitter đã công bố hợp tác với thiết bị theo dõi thể dục FitStar, dịch vụ đặt chỗ nhà hàng Resy và ứng dụng dành cho người hâm mộ thể thao OneFootball. Nền tảng Digits cũng được tích hợp vào bộ phần mềm dành cho nhà phát triển Twitter Fabric mới.

Yandex nói với TJ rằng họ sẽ mở khả năng đăng nhập vào các ứng dụng khác bằng Yandex.Key - sự xuất hiện của nó được lên kế hoạch trong các bản cập nhật chương trình tiếp theo

Giống như hầu hết các dịch vụ, Digits sử dụng điện thoại di động để đăng ký và xác minh, gửi mã qua SMS hoặc qua một số liên lạc trong trình nhắn tin. Ví dụ: phương pháp này được sử dụng trong trình nhắn tin WhatsApp và Telegram.

Ứng dụng di động Facebook từ lâu đã có dịch vụ Code Generator riêng, cho phép bạn đăng nhập bằng mã tạm thời. Tại Google, bạn có thể kích hoạt xác thực hai yếu tố cho tài khoản của mình và sử dụng ứng dụng Google Authenticator, ứng dụng này cho phép truy cập bằng mã QR hoặc bằng cách nhập mã bảo mật. Sau scandal rò rỉ ảnh cá nhân của những người nổi tiếng tại Apple, vấn đề bảo mật của người dùng iCloud cũng được quan tâm.

Chức năng tương tự như Google đã được giới thiệu vào tháng 6 trên VKontakte, nhưng mạng xã hội này cho biết các biện pháp bảo mật như vậy là không cần thiết đối với hầu hết người dùng. Không có xác thực hai bước trong dịch vụ email Mail.Ru.

Cập nhật lúc 15:34: Vài giờ sau thông báo từ Yandex, cổng Mail.Ru đã triển khai xác thực hai yếu tố cho Mail, Cloud, Calendar, Game Center và các dự án khác, đại diện công ty nói với TJ. Để đăng nhập, người dùng phải sử dụng mật khẩu và mã nhận được qua SMS tới điện thoại di động của mình.

Công ty nhấn mạnh rằng thử nghiệm beta kín về xác thực hai yếu tố đã bắt đầu vào cuối tháng 12 với sự hỗ trợ của cộng đồng Habrakhabra.

Các dịch vụ Internet có thể tăng mức độ bảo mật không ngừng, nhưng “liên kết yếu” thường là khả năng bảo mật mật khẩu của người dùng. Nếu yếu tố bảo mật thứ hai được kích hoạt, thì để đăng nhập vào tài khoản, kẻ tấn công sẽ phải chiếm hữu không chỉ mật khẩu mà còn cả điện thoại di động của nạn nhân, điều này khó khăn hơn nhiều.

Chúng tôi được yêu cầu triển khai tính năng này chủ yếu bởi người dùng nâng cao, nhưng tôi thực sự hy vọng rằng nó sẽ trở nên phổ biến với nhiều đối tượng hơn.

Anna Artamonova, Phó chủ tịch Tập đoàn Mail.Ru

Trước tiên, hãy đăng nhập vào tài khoản Yandex chính của bạn, nếu có. Nếu nó chưa tồn tại, bạn luôn có thể tạo nó sau khi đăng ký đơn giản.

Kích hoạt và định cấu hình xác thực hai yếu tố

Vì vậy, trong tài khoản Yandex của bạn, hãy nhấp vào tài khoản đó và chuyển đến phần Hộ chiếu. Sau đó - trong phần Kiểm soát truy cập nhấn Thiết lập xác thực hai yếu tố.

Một cửa sổ cùng tên sẽ mở ra, trong đó bạn cần thực hiện các bước kích hoạt và định cấu hình xác thực hai yếu tố.

Ở bước đầu tiên, chúng tôi cho biết số điện thoại và xác nhận bằng cách nhận mã qua SMS qua điện thoại.

Bước tiếp theo là tạo mã PIN. Cần phải truy cập ứng dụng Yandex.Key, được cài đặt trên điện thoại thông minh hoặc máy tính bảng của bạn.

Mã PIN có thể bao gồm 4 đến 16 chữ số. Nhập chúng vào trường và nhấp vào Tạo nên.

Một cửa sổ sẽ mở ra với mã QR và đề xuất thêm tài khoản của bạn vào ứng dụng Yandex.Key.

Cài đặt ứng dụng Yandex.Key

Chúng tôi khởi chạy nó và một nút màu vàng xuất hiện ở cuối cửa sổ mở ra kèm theo gợi ý - Thêm tài khoản vào ứng dụng.

Chúng ta nhấn nút, một cửa sổ sẽ mở ra trên màn hình điện thoại thông minh, trong đó bạn cần nhập mã PIN đã được phát minh trước đó.

Sau khi nhập mã PIN, camera sẽ tự động bật. Chúng ta hướng camera vào mã QR trên cửa sổ màn hình và chờ cấp phép.

Một cách khác để đăng nhập

Mặt khác, để tổ chức xác thực hai yếu tố sau khi nhập mã PIN, bạn có thể chọn tùy chọn nhận mật khẩu một lần 30 giây.

Ở bước thứ tư của quá trình thiết lập xác thực hai yếu tố, bạn cần liên kết chương trình Yandex.Key với tài khoản Yandex của mình. Để thực hiện việc này, hãy nhập mật khẩu một lần nhận được trên điện thoại thông minh của bạn.

Nếu không thể nhập kịp thời thì bạn cần đợi lần sau trên điện thoại thông minh xuất hiện các số rồi nhập.

Sau khi nhập xong nhấn nút Bật và thế là xong, chương trình Yandex.Key đã được kích hoạt và từ giờ trở đi xác thực hai yếu tố sẽ hoạt động.

Giờ đây, trên tất cả các thiết bị - máy tính, điện thoại thông minh - bạn cần đăng xuất và đăng nhập lại tài khoản của mình bằng mật khẩu một lần hiện có hoặc bằng mã QR bằng ứng dụng Yandex.Key trên điện thoại di động của bạn.

Trong Yandex.Mail, chúng tôi nhận được thư thông báo rằng xác thực hai yếu tố đang hoạt động.

Trong thư nhận được, bạn cũng có thể tìm thấy các đề xuất để thiết lập quyền truy cập mới và sử dụng xác thực hai yếu tố.

Xác thực hai yếu tố Yandex cho các dịch vụ khác

Đối với Yandex.Mail, Ya.Disk và các dịch vụ Yandex khác, có thể tạo các mật khẩu khác nhau. Điều này sẽ làm tăng đáng kể mức độ bảo mật của dữ liệu cá nhân và toàn bộ tài khoản. Bạn có thể đọc về cách lưu trữ an toàn của họ.

Để thực hiện việc này, hãy quay lại phần Hộ chiếu - Kiểm soát truy cập. Chúng tôi chọn chương trình, trong trường hợp này - Truy cập đĩa.

Để thuận tiện, chúng tôi gọi kết nối này là, ví dụ: Ổ đĩa của tôi và hãy nhấn Tạo một mật khẩu.

Như vậy, mật khẩu đã được tạo và nó sẽ chỉ được hiển thị một lần. Vì vậy, nếu nó không được lưu, tốt hơn hết bạn nên xóa nó sau này và tạo lại.

Bây giờ bạn có thể kết nối với ổ đĩa mạng Yandex. Thông qua bất kỳ trình quản lý tệp nào, chúng tôi có quyền truy cập vào Yandex.Disk bằng mật khẩu này.

Như vậy, Yandex.Disk và tài khoản Yandex chính sẽ được bảo vệ bằng mật khẩu riêng bằng chức năng xác thực hai yếu tố.

Vô hiệu hóa xác thực hai yếu tố

Nếu trong tương lai bạn muốn ngừng sử dụng xác thực hai yếu tố, thì chỉ cần chuyển đến phần Kiểm soát truy cập và thực hiện thủ tục tắt máy.

Tức là chúng ta nhấn công tắc Tắt nhập mật khẩu dùng một lần do Yandex.Key cấp, nhấp vào Xác nhận.

Do đó, xác thực hai yếu tố của tài khoản Yandex bị vô hiệu hóa. Bạn phải nhớ rằng trong trường hợp này, mật khẩu của Yandex.Disk và các dịch vụ khác, nếu chúng được tạo, cũng sẽ được đặt lại.

Đó là một bài đăng hiếm hoi trên blog Yandex, đặc biệt là một bài liên quan đến bảo mật mà không đề cập đến xác thực hai yếu tố. Chúng tôi đã suy nghĩ rất lâu về cách tăng cường bảo vệ tài khoản người dùng một cách hợp lý và theo cách mà nó có thể được sử dụng mà không gặp bất kỳ sự bất tiện nào bao gồm các cách triển khai phổ biến nhất hiện nay. Và than ôi, chúng thật bất tiện. Theo một số dữ liệu, trên nhiều trang web lớn, tỷ lệ người dùng đã kích hoạt các phương tiện xác thực bổ sung không vượt quá 0,1%.

Có vẻ như điều này là do sơ đồ xác thực hai yếu tố phổ biến quá phức tạp và bất tiện. Chúng tôi đã cố gắng tìm ra một phương pháp thuận tiện hơn mà không làm mất mức độ bảo vệ và hôm nay chúng tôi giới thiệu phiên bản beta của nó.

Chúng tôi hy vọng nó sẽ trở nên phổ biến hơn. Về phần mình, chúng tôi sẵn sàng nỗ lực cải tiến và tiêu chuẩn hóa nó.

Sau khi kích hoạt xác thực hai yếu tố trong Passport, bạn sẽ cần cài đặt ứng dụng Yandex.Key trong App Store hoặc Google Play. Mã QR đã xuất hiện trong biểu mẫu ủy quyền trên trang chính Yandex, trong Thư và trong Hộ chiếu. Để đăng nhập vào tài khoản của mình, bạn cần đọc mã QR thông qua ứng dụng - và thế là xong. Ví dụ: nếu không đọc được mã QR, camera của điện thoại thông minh không hoạt động hoặc không có quyền truy cập Internet, ứng dụng sẽ tạo mật khẩu một lần chỉ có hiệu lực trong 30 giây.

Tôi sẽ cho bạn biết lý do tại sao chúng tôi quyết định không sử dụng các cơ chế “tiêu chuẩn” như RFC 6238 hoặc RFC 4226. Các chương trình xác thực hai yếu tố phổ biến hoạt động như thế nào? Chúng có hai giai đoạn. Giai đoạn đầu tiên là xác thực thông thường bằng thông tin đăng nhập và mật khẩu. Nếu thành công, trang web sẽ kiểm tra xem nó có “thích” phiên người dùng này hay không. Và nếu bạn không thích, nó sẽ yêu cầu người dùng “xác thực lại”. Có hai phương pháp “xác thực trước” phổ biến: gửi SMS đến số điện thoại được liên kết với tài khoản và tạo mật khẩu thứ hai trên điện thoại thông minh. Về cơ bản, TOTP theo RFC 6238 được sử dụng để tạo mật khẩu thứ hai. Nếu người dùng nhập đúng mật khẩu thứ hai, phiên được coi là được xác thực hoàn toàn và nếu không thì phiên cũng mất tính năng “xác thực trước”.

Cả hai phương pháp ─ gửi SMS và tạo mật khẩu ─ đều là bằng chứng về quyền sở hữu điện thoại và do đó là một yếu tố khả dụng. Mật khẩu được nhập ở giai đoạn đầu tiên là yếu tố kiến ​​thức. Do đó, sơ đồ xác thực này không chỉ có hai bước mà còn có hai yếu tố.

Điều gì có vẻ khó khăn đối với chúng tôi trong kế hoạch này?

Hãy bắt đầu với thực tế là máy tính của người dùng bình thường không phải lúc nào cũng được gọi là mô hình bảo mật: tắt các bản cập nhật Windows, bản sao lậu của phần mềm chống vi-rút không có chữ ký hiện đại và phần mềm có nguồn gốc không rõ ràng - tất cả những điều này không làm tăng mức độ bảo vệ. Theo đánh giá của chúng tôi, xâm phạm máy tính của người dùng là phương pháp "chiếm đoạt" tài khoản phổ biến nhất (và gần đây đã có một xác nhận khác về điều này) và đây là điều chúng tôi muốn bảo vệ mình trước hết. Trong trường hợp xác thực hai yếu tố, nếu bạn cho rằng máy tính của người dùng bị xâm phạm, việc nhập mật khẩu vào đó sẽ làm tổn hại chính mật khẩu đó, đây là yếu tố đầu tiên. Điều này có nghĩa là kẻ tấn công chỉ cần chọn yếu tố thứ hai. Trong trường hợp triển khai chung RFC 6238, hệ số thứ hai là 6 chữ số thập phân (và mức tối đa được thông số kỹ thuật cho phép là 8 chữ số). Theo máy tính bruteforce cho OTP, trong ba ngày, kẻ tấn công có thể tìm ra yếu tố thứ hai nếu bằng cách nào đó hắn biết được yếu tố đầu tiên. Hiện chưa rõ dịch vụ nào có thể chống lại cuộc tấn công này mà không làm gián đoạn trải nghiệm thông thường của người dùng. Bằng chứng khả thi duy nhất về công việc là hình ảnh xác thực, theo ý kiến ​​​​của chúng tôi, đây là phương sách cuối cùng.

Vấn đề thứ hai là sự thiếu minh bạch trong đánh giá của dịch vụ về chất lượng phiên người dùng và đưa ra quyết định về nhu cầu “xác thực trước”. Tệ hơn nữa, dịch vụ này không quan tâm đến việc làm cho quá trình này trở nên minh bạch, bởi vì bảo mật bằng cách che khuất thực sự hoạt động ở đây. Nếu kẻ tấn công biết dựa trên cơ sở nào mà dịch vụ đưa ra quyết định về tính hợp pháp của một phiên, thì hắn có thể cố gắng giả mạo dữ liệu này. Theo nguyên tắc chung, chúng tôi có thể kết luận rằng phán quyết được đưa ra dựa trên lịch sử xác thực của người dùng, có tính đến địa chỉ IP (và các dẫn xuất của số hệ thống tự trị xác định nhà cung cấp và vị trí dựa trên cơ sở địa lý) và dữ liệu trình duyệt, ví dụ: tiêu đề Tác nhân người dùng và một bộ cookie, bộ nhớ cục bộ flash lso và html. Điều này có nghĩa là nếu kẻ tấn công điều khiển máy tính của người dùng, hắn không chỉ có thể đánh cắp tất cả dữ liệu cần thiết mà còn có thể sử dụng địa chỉ IP của nạn nhân. Hơn nữa, nếu quyết định được đưa ra dựa trên ASN, thì bất kỳ xác thực nào từ Wi-Fi công cộng trong quán cà phê đều có thể dẫn đến “đầu độc” từ quan điểm bảo mật (và tẩy trắng từ quan điểm dịch vụ) của nhà cung cấp điều này. quán cà phê và ví dụ như tẩy trắng tất cả các quán cà phê trong thành phố. Chúng ta đã nói về cách hoạt động của hệ thống phát hiện điểm bất thường và hệ thống này có thể được sử dụng, nhưng khoảng thời gian giữa giai đoạn xác thực thứ nhất và thứ hai có thể không đủ để tự tin đánh giá điểm bất thường. Hơn nữa, lập luận tương tự đã phá hủy ý tưởng về máy tính "đáng tin cậy": kẻ tấn công có thể đánh cắp bất kỳ thông tin nào ảnh hưởng đến phán đoán về độ tin cậy.

Cuối cùng, xác thực hai bước đơn giản là bất tiện: nghiên cứu về khả năng sử dụng của chúng tôi cho thấy không có gì khiến người dùng khó chịu hơn màn hình trung gian, các lần nhấp nút bổ sung và các hành động “không quan trọng” khác theo quan điểm của họ.
Dựa trên điều này, chúng tôi đã quyết định rằng việc xác thực phải là một bước và không gian mật khẩu phải lớn hơn nhiều so với khả năng có thể trong khuôn khổ RFC 6238 “thuần túy”.
Đồng thời, chúng tôi muốn duy trì xác thực hai yếu tố nhiều nhất có thể.

Xác thực đa yếu tố được xác định bằng cách gán các phần tử xác thực (thực ra chúng được gọi là các yếu tố) cho một trong ba loại:

  1. Yếu tố kiến ​​thức (đây là mật khẩu truyền thống, mã PIN và mọi thứ trông giống chúng);
  2. Yếu tố quyền sở hữu (trong các chương trình OTP được sử dụng, đây thường là điện thoại thông minh nhưng cũng có thể là mã thông báo phần cứng);
  3. Yếu tố sinh trắc học (dấu vân tay là phổ biến nhất hiện nay, mặc dù ai đó sẽ nhớ đến tập phim có nhân vật Wesley Snipes trong phim Demolition Man).

Phát triển hệ thống của chúng tôi

Khi chúng tôi bắt đầu nghiên cứu vấn đề xác thực hai yếu tố (các trang đầu tiên của wiki công ty về vấn đề này có từ năm 2012, nhưng nó đã được thảo luận ở hậu trường trước đó), ý tưởng đầu tiên là sử dụng các phương pháp xác thực tiêu chuẩn và áp dụng chúng. cho chúng tôi. Chúng tôi hiểu rằng chúng tôi không thể tin tưởng vào hàng triệu người dùng của mình sẽ mua mã thông báo phần cứng, vì vậy chúng tôi đã hoãn tùy chọn này trong một số trường hợp kỳ lạ (mặc dù chúng tôi không hoàn toàn từ bỏ nó, nhưng có lẽ chúng tôi sẽ có thể nghĩ ra điều gì đó thú vị). Phương thức SMS cũng không thể phổ biến: đây là một phương thức gửi rất không đáng tin cậy (tại thời điểm quan trọng nhất, SMS có thể bị trì hoãn hoặc không đến nơi) và gửi SMS sẽ tốn tiền (và các nhà khai thác đã bắt đầu tăng giá) . Chúng tôi quyết định rằng việc sử dụng SMS là dành cho các ngân hàng và các công ty công nghệ thấp khác và chúng tôi muốn cung cấp cho người dùng thứ gì đó thuận tiện hơn. Nói chung, sự lựa chọn rất nhỏ: sử dụng điện thoại thông minh và chương trình trong đó làm yếu tố thứ hai.

Hình thức xác thực một bước này rất phổ biến: người dùng nhớ mã PIN (yếu tố đầu tiên) và có mã thông báo phần cứng hoặc phần mềm (trong điện thoại thông minh) tạo ra OTP (yếu tố thứ hai). Trong trường nhập mật khẩu, anh nhập mã PIN và giá trị OTP hiện tại.

Theo chúng tôi, nhược điểm chính của sơ đồ này cũng giống như nhược điểm của xác thực hai bước: nếu chúng tôi cho rằng máy tính để bàn của người dùng bị xâm phạm, thì việc nhập mã PIN một lần sẽ dẫn đến việc lộ mã và kẻ tấn công chỉ có thể tìm thấy mã PIN thứ hai. nhân tố.

Chúng tôi quyết định đi một con đường khác: toàn bộ mật khẩu được tạo từ bí mật, nhưng chỉ một phần bí mật được lưu trữ trong điện thoại thông minh và một phần được người dùng nhập mỗi khi mật khẩu được tạo. Như vậy, bản thân điện thoại thông minh là yếu tố sở hữu, còn mật khẩu vẫn ở trong đầu người dùng và là yếu tố tri thức.

Nonce có thể là bộ đếm hoặc thời gian hiện tại. Chúng tôi quyết định chọn thời điểm hiện tại, điều này cho phép chúng tôi không sợ đồng bộ hóa trong trường hợp ai đó tạo quá nhiều mật khẩu và tăng bộ đếm.

Vì vậy, chúng tôi có một chương trình dành cho điện thoại thông minh trong đó người dùng nhập phần bí mật của mình, nó được trộn với phần được lưu trữ, kết quả được sử dụng làm khóa HMAC, dùng để ký thời gian hiện tại, được làm tròn thành 30 giây. Đầu ra HMAC được chuyển đổi thành dạng có thể đọc được và thì đấy ─ đây là mật khẩu một lần!

Như đã nêu trước đó, RFC 4226 chỉ định rằng kết quả HMAC bị cắt bớt tối đa 8 chữ số thập phân. Chúng tôi quyết định rằng mật khẩu có kích thước này không phù hợp để xác thực một bước và cần được tăng lên. Đồng thời, chúng tôi muốn duy trì tính dễ sử dụng (xét cho cùng, hãy nhớ rằng, chúng tôi muốn tạo ra một hệ thống sẽ được người dân bình thường sử dụng chứ không chỉ những người đam mê bảo mật), vì vậy, như một sự thỏa hiệp trong phiên bản hiện tại của hệ thống , chúng tôi đã chọn cắt bớt bảng chữ cái Latinh xuống còn 8 ký tự. Có vẻ như 26^8 mật khẩu có hiệu lực trong 30 giây là khá chấp nhận được, nhưng nếu giới hạn bảo mật không phù hợp với chúng tôi (hoặc các mẹo có giá trị về cách cải thiện sơ đồ này xuất hiện trên Habré), chẳng hạn, chúng tôi sẽ mở rộng thành 10 ký tự.

Tìm hiểu thêm về độ mạnh của mật khẩu đó

Trên thực tế, đối với các chữ cái Latinh không phân biệt chữ hoa chữ thường, số lượng tùy chọn cho mỗi ký tự là 26; đối với các chữ cái Latinh lớn và nhỏ cộng với số, số lượng tùy chọn là 26+26+10=62. Khi đó log 62 (26 10) ≈ 7.9, tức là mật khẩu gồm 10 chữ cái Latinh nhỏ ngẫu nhiên sẽ mạnh gần bằng mật khẩu gồm 8 chữ cái hoặc số Latinh lớn và nhỏ ngẫu nhiên. Điều này chắc chắn sẽ đủ trong 30 giây. Nếu chúng ta nói về mật khẩu 8 ký tự được làm bằng các chữ cái Latinh, thì độ mạnh của nó là log 62 (26 8) ≈ 6.3, tức là nhiều hơn một chút so với mật khẩu 6 ký tự được làm bằng chữ hoa, chữ thường và số. Chúng tôi cho rằng điều này vẫn có thể chấp nhận được đối với cửa sổ 30 giây.

Phép thuật, không mật khẩu, ứng dụng và các bước tiếp theo

Nói chung, lẽ ra chúng tôi có thể dừng lại ở đó, nhưng chúng tôi muốn làm cho hệ thống trở nên thuận tiện hơn nữa. Khi một người có điện thoại thông minh trong tay, anh ta không muốn nhập mật khẩu từ bàn phím!

Đó là lý do tại sao chúng tôi bắt đầu nghiên cứu “đăng nhập ma thuật”. Với phương thức xác thực này, người dùng khởi chạy ứng dụng trên điện thoại thông minh của mình, nhập mã PIN vào đó và quét mã QR trên màn hình máy tính. Nếu mã PIN được nhập chính xác, trang trong trình duyệt sẽ được tải lại và người dùng được xác thực. Ảo thuật!

Làm thế nào nó hoạt động?

Số phiên được nhúng trong mã QR và khi ứng dụng quét nó, số này sẽ được truyền đến máy chủ cùng với mật khẩu và tên người dùng được tạo theo cách thông thường. Điều này không khó vì điện thoại thông minh hầu như luôn trực tuyến. Trong bố cục của trang hiển thị mã QR, JavaScript đang chạy, chờ phản hồi từ máy chủ để kiểm tra mật khẩu cho phiên này. Nếu máy chủ phản hồi rằng mật khẩu đúng, cookie phiên sẽ được đặt cùng với phản hồi và người dùng được coi là đã xác thực.

Mọi chuyện đã tốt hơn nhưng chúng tôi cũng quyết định không dừng lại ở đây. Bắt đầu với iPhone 5S, điện thoại và máy tính bảng Apple đã giới thiệu máy quét dấu vân tay TouchID và trong phiên bản iOS 8, các ứng dụng của bên thứ ba cũng có thể sử dụng nó. Trên thực tế, ứng dụng không có quyền truy cập vào dấu vân tay, nhưng nếu dấu vân tay chính xác thì phần Móc khóa bổ sung sẽ có sẵn cho ứng dụng. Chúng tôi đã tận dụng điều này. Phần thứ hai của bí mật được đặt trong bản ghi Chuỗi khóa được bảo vệ bằng TouchID, phần mà người dùng đã nhập từ bàn phím trong kịch bản trước. Khi mở khóa Chuỗi khóa, hai phần bí mật được trộn lẫn và sau đó quy trình hoạt động như mô tả ở trên.

Nhưng nó đã trở nên vô cùng tiện lợi cho người dùng: anh ta mở ứng dụng, đặt ngón tay, quét mã QR trên màn hình và thấy mình được xác thực trong trình duyệt trên máy tính của mình! Vì vậy, chúng tôi đã thay thế yếu tố kiến ​​thức bằng yếu tố sinh trắc học và theo quan điểm của người dùng, mật khẩu đã bị loại bỏ hoàn toàn. Chúng tôi chắc chắn rằng những người bình thường sẽ thấy chương trình này thuận tiện hơn nhiều so với việc nhập hai mật khẩu theo cách thủ công.

Còn tranh cãi về việc xác thực hai yếu tố này về mặt kỹ thuật như thế nào, nhưng trên thực tế, bạn vẫn cần có điện thoại và có dấu vân tay chính xác để hoàn thành thành công, vì vậy chúng tôi tin rằng mình đã khá thành công trong việc loại bỏ yếu tố kiến ​​thức, thay thế bằng sinh trắc học . Chúng tôi hiểu rằng chúng tôi dựa vào tính bảo mật của ARM TrustZone làm nền tảng cho iOS Secure Enclave và chúng tôi tin rằng hệ thống con này hiện có thể được coi là đáng tin cậy trong mô hình mối đe dọa của chúng tôi. Tất nhiên, chúng tôi nhận thức được các vấn đề với xác thực sinh trắc học: dấu vân tay không phải là mật khẩu và không thể thay thế nếu bị xâm phạm. Tuy nhiên, mặt khác, mọi người đều biết rằng tính bảo mật tỷ lệ nghịch với sự thuận tiện và bản thân người dùng có quyền lựa chọn tỷ lệ giữa cái này và cái kia mà mình chấp nhận được.

Hãy để tôi nhắc bạn rằng đây vẫn là bản beta. Bây giờ, khi xác thực hai yếu tố được bật, chúng tôi tạm thời tắt đồng bộ hóa mật khẩu trong Trình duyệt Yandex. Điều này là do cách cơ sở dữ liệu mật khẩu được mã hóa. Chúng tôi đã đưa ra một cách thuận tiện để xác thực Trình duyệt trong trường hợp 2FA. Tất cả các chức năng khác của Yandex đều hoạt động như trước.

Đây là những gì chúng tôi có. Mọi việc có vẻ diễn ra tốt đẹp nhưng bạn là người phán xét. Chúng tôi sẽ rất vui khi nghe phản hồi và đề xuất của bạn, đồng thời chúng tôi sẽ tiếp tục nỗ lực cải thiện tính bảo mật cho các dịch vụ của mình: giờ đây, cùng với CSP, mã hóa vận chuyển thư và mọi thứ khác, chúng tôi hiện có xác thực hai yếu tố. Đừng quên rằng các dịch vụ xác thực và ứng dụng tạo OTP rất quan trọng và do đó, phần thưởng gấp đôi sẽ được trả cho các lỗi được tìm thấy trong chúng như một phần của chương trình Bug Bounty.

Thẻ: Thêm thẻ

Đối với các ứng dụng di động, chương trình máy tính và trình nhập thư của bên thứ ba, bạn phải sử dụng mật khẩu ứng dụng riêng lẻ.

  • Bước 1. Xác nhận số điện thoại của bạn

    Nếu bạn đã liên kết số điện thoại với tài khoản của mình, trình duyệt sẽ hiển thị số này và hỏi bạn muốn xác nhận hay thay đổi nó. Nếu số điện thoại hiện tại của bạn không được liên kết với tài khoản của bạn, bạn phải liên kết số đó, nếu không bạn sẽ không thể tự mình khôi phục quyền truy cập vào tài khoản của mình.

    Để liên kết hoặc xác nhận một số, hãy yêu cầu gửi mã qua SMS rồi nhập mã đó vào biểu mẫu. Khi bạn đã nhập chính xác mã, hãy nhấp vào Xác nhận để chuyển sang bước tiếp theo.

    Bước 2. Tạo mã PIN

    Hãy nghĩ đến mã PIN gồm bốn chữ số và nhập mã đó để xác thực hai yếu tố.

    Chú ý. Giống như thẻ ngân hàng, bạn không nên chia sẻ mã PIN của mình với bất kỳ ai và không thể thay đổi mã PIN của mình. Nếu bạn quên mã PIN, Yandex.Key không thể tạo mật khẩu một lần chính xác và chỉ có thể khôi phục quyền truy cập vào tài khoản của bạn. liên hệ với Phòng Hỗ trợ của chúng tôi

    Nhấp vào Tạo để xác nhận mã PIN của bạn.


    Bước 3. Thiết lập Yandex.Key

    Cần có ứng dụng Yandex.Key để tạo mật khẩu một lần cho tài khoản của bạn. Bạn có thể lấy liên kết đến ứng dụng trực tiếp trên điện thoại của mình hoặc bạn có thể cài đặt ứng dụng đó từ App Store hoặc Google Play.

    Ghi chú. Yandex.Key có thể yêu cầu quyền truy cập vào máy ảnh của bạn để nhận dạng mã QR khi tài khoản được thêm hoặc khi bạn đăng nhập bằng mã QR .

    Trong Yandex.Key, chạm vào nút Thêm tài khoản. Yandex.Key sẽ bật máy ảnh của bạn để quét mã QR được hiển thị trong trình duyệt.

    Nếu không thể đọc được mã QR, hãy nhấp vào Hiển thị khóa bí mật trong trình duyệt hoặc trên Thêm thủ công trong ứng dụng. Thay vì mã QR, trình duyệt sẽ hiển thị một chuỗi ký tự phải được nhập vào ứng dụng.

    Khi nhận ra tài khoản của bạn, thiết bị của bạn sẽ yêu cầu mã PIN bạn đã tạo ở bước hai.


    Bước 4. Kiểm tra mật khẩu dùng một lần của bạn

    Để đảm bảo bạn đã thiết lập mọi thứ chính xác, hãy nhập mật khẩu dùng một lần của bạn. Xác thực hai yếu tố sẽ chỉ hoạt động nếu bạn nhập đúng mật khẩu.

  • Yandex đã ra mắt hệ thống ủy quyền hai yếu tố và phát hành ứng dụng Yandex.Key để đăng nhập vào tài khoản của bạn mà không cần phải nhớ và nhập mật khẩu phức tạp. Ứng dụng này đã có sẵn trên Android và iOS và việc đăng nhập vào ứng dụng này trên các mẫu iPhone mới có thể được bảo vệ bằng máy quét dấu vân tay.

    Có một số cách để đăng nhập vào tài khoản của bạn thông qua Yandex.Key, nhưng trước tiên bạn cần truy cập trang cài đặt yandex.ru/promo/2fa và bật xác thực hai yếu tố.

    Xác nhận số điện thoại của bạn bằng mã nhận được qua SMS.

    Cài đặt ứng dụng Yandex.Key trên điện thoại thông minh hoặc máy tính bảng của bạn.

    Khởi chạy ứng dụng và quét mã QR trên trang web Yandex. Nếu thiết bị di động của bạn không có camera, hãy nhấp vào “Hiển thị khóa bí mật” và nhập các ký tự được hiển thị vào ứng dụng.

    Tạo mã PIN và nhập mã đó trên trang web hoặc ứng dụng.

    Nhập mật khẩu một lần được tạo bởi ứng dụng trên trang web. Mật khẩu này chỉ có hiệu lực trong 30 giây và sau đó mật khẩu mới sẽ xuất hiện. Để hoàn tất quá trình thiết lập, bạn sẽ cần nhập lại mật khẩu tài khoản cố định của mình.

    Các bước này chỉ cần được hoàn thành một lần. Sau khi kích hoạt xác thực hai yếu tố, bạn sẽ cần ủy quyền lại các trang web Yandex trên tất cả các thiết bị. Bạn có thể tạo mật khẩu riêng để truy cập các ứng dụng.

    Bây giờ, một nút có biểu tượng mã QR sẽ xuất hiện trên trang đăng nhập tài khoản Yandex.