Kỹ sư quan hệ với nhà phát triển
Khi ngành này không còn sử dụng mật khẩu và ví vật lý, việc mang đến một hành trình của người dùng hiện đại đòi hỏi cả quy trình xác thực liền mạch và quy trình xác minh danh tính đáng tin cậy. Mặc dù khoá truy cập giúp thiết lập quy trình đăng nhập an toàn bằng một lần nhấn, nhưng việc chuyển đổi thiết bị vẫn là một trong những điểm khiến người dùng bỏ cuộc nhiều nhất trong mức độ tương tác của người dùng. Tìm hiểu cách giảm bớt trở ngại khi di chuyển bằng cách sử dụng API Khôi phục thông tin xác thực để đáp ứng tiêu chuẩn mới về tính năng Đăng nhập không cần chạm của Google Play.
Phiên này khám phá cách một lần tích hợp duy nhất với Trình quản lý thông tin xác thực của Android giúp hợp nhất khoá truy cập, khôi phục thiết bị thầm lặng và Thông tin xác thực kỹ thuật số, cho phép bạn xác minh các thuộc tính danh tính ngay trên thiết bị và xây dựng quy trình làm quen dễ dàng, an toàn.
Bản chép lời
Chào các bạn!
Cảm ơn các bạn đã tham gia cùng chúng tôi hôm nay!
Hôm nay, chúng tôi rất vui được chia sẻ về tương lai của quy trình xác thực và danh tính kỹ thuật số.
Tôi là Tom Colvin.
Tôi là Giám đốc công nghệ của Apptaura và là GDE về Android. Đồng hành cùng tôi là Chiping Yeh, một Kỹ sư quan hệ với nhà phát triển Android cấp cao tại Google.
Mật khẩu truyền thống đã lỗi thời.
Hoặc ít nhất, đó là điều nên làm.
Hôm nay, tôi sẽ chia sẻ với các bạn về một thế giới không cần mật khẩu.
Mật khẩu là một lỗ hổng bảo mật phổ biến trong cơ sở hạ tầng bảo mật của chúng ta.
Ngay cả khi được lưu trữ an toàn, mật khẩu vẫn dễ bị tấn công giả mạo, xâm phạm máy chủ và tấn công tự động như nhồi thông tin đăng nhập.
Trong ngành này, chúng tôi đã cố gắng giải quyết vấn đề này bằng cách tăng độ phức tạp: ký tự đặc biệt, số, thay đổi bắt buộc.
Bằng chứng cho thấy điều này đã thất bại, một phần vì bạn càng làm cho việc này trở nên khó khăn, thì bạn càng khuyến khích hành vi không an toàn.
Vì mật khẩu phức tạp và được thay đổi thường xuyên là mật khẩu có khả năng được ghi trên giấy ghi chú.
Và ngay cả phương thức xác thực hai yếu tố dựa trên SMS cũng dễ bị chặn, chẳng hạn như hoán đổi SIM.
Tuy nhiên, ngày nay, vấn đề này đã được giải quyết phần lớn.
Khoá truy cập được xây dựng dựa trên các tiêu chuẩn của FIDO và sử dụng phương thức mã hoá khoá công khai-riêng tư.
Khoá truy cập có khả năng chống lừa đảo cao, không bị lộ khi máy chủ bị xâm phạm và liên kết trực tiếp với tính năng bảo mật của điện thoại thông qua phương thức khoá màn hình (trong hầu hết các trường hợp, phương thức này dựa trên dữ liệu sinh trắc học, vân tay, v.v.). Khoá truy cập cũng chủ động cải thiện trải nghiệm người dùng nhờ mang lại trải nghiệm đồng nhất trên các nền tảng và giúp người dùng không cần nhớ mật khẩu phức tạp.
Tuyên ngôn của chúng tôi hôm nay rất đơn giản.
Đã đến lúc chuyển sang một thế giới không cần mật khẩu.
Và chúng ta đã có sẵn các công cụ để thực hiện việc này.
Để thực hiện bước nhảy vọt này trên Android, chúng tôi có Trình quản lý thông tin xác thực Jetpack.
API này được hỗ trợ từ Android 4.4 trở lên, và hỗ trợ khoá truy cập từ Android 9 trở lên. API này cung cấp một API duy nhất, hợp nhất, hỗ trợ khoá truy cập cũng như phương thức xác thực truyền thống như đăng nhập liên kết, chẳng hạn như đăng nhập bằng Google, và bao gồm cả phương án dự phòng linh hoạt cho mật khẩu nếu cần.
Bạn gọi Credential Manager API và API này sẽ xử lý giao diện người dùng để chọn phương pháp xác thực mà người dùng muốn xem.
Sau đó, thư viện này sẽ thực hiện các bước phức tạp để trả về thông tin xác thực chính xác, được lấy một cách an toàn.
API này hỗ trợ đăng nhập, đăng ký và sao lưu thông tin xác thực.
Bạn có thể dùng API này để cập nhật và xoá thông tin xác thực.
Tính năng này cũng giúp người dùng di chuyển mật khẩu và khoá truy cập giữa các nhà cung cấp thông tin đăng nhập chỉ bằng vài cú nhấp chuột mà không cần tải tệp xuống.
Dự án này được thiết kế để giúp người dùng có toàn quyền kiểm soát dữ liệu của họ và tự do chuyển đổi nhà cung cấp bất cứ khi nào cần.
Trình quản lý thông tin xác thực hỗ trợ nhiều kiểu dáng thiết bị, bao gồm cả đồng hồ, TV, XR, ô tô, điện thoại, thiết bị gập, máy tính bảng.
Và quan trọng nhất đối với chúng tôi là nó có một quy trình dành riêng cho khoá truy cập.
Dưới đây là giao diện mà người dùng thấy trong quá trình đăng ký.
Ứng dụng của tôi thông báo cho Trình quản lý thông tin xác thực rằng phương thức xác thực bằng khoá truy cập đã sẵn sàng, đồng thời cung cấp cho Trình quản lý thông tin xác thực thông tin chi tiết thu thập được từ phần phụ trợ.
Bạn nhấn vào Register (Đăng ký) và Trình quản lý thông tin xác thực sẽ cung cấp cho bạn một bảng dưới cùng có lời nhắc khoá màn hình.
Thông thường, bạn có thể mở khoá bằng dữ liệu sinh trắc học như vân tay hoặc khuôn mặt.
Sau đó, Trình quản lý thông tin xác thực sẽ xử lý công việc mật mã phức tạp như tạo khoá truy cập.
Và nó lưu khoá truy cập vào trình quản lý thông tin xác thực của tôi, trong trường hợp này là Trình quản lý mật khẩu của Google, nhưng cũng có thể là một trình quản lý khác.
Dưới đây là giao diện của mã.
val createPublicKeyCredentialRequest = CreatePublicKeyCredentialRequest(
requestJson = registerRequestJson
)
val createCredentialResponse = credentialManager.createCredential (
context = localActivity,
request = createPublicKeyCredentialRequest
)Trước tiên, chúng ta sẽ tạo đối tượng createPublicKeyCredentialRequest này bằng cách sử dụng thông tin chi tiết mà phần phụ trợ cung cấp, đó là registerRequestJson này.
Sau đó, chúng ta gọi phương thức kỳ diệu credentialManager.createCredential.
Chúng tôi truyền vào yêu cầu đó và bối cảnh địa phương, cho phép yêu cầu đó hiển thị giao diện người dùng.
Nhân tiện, hãy lưu ý rằng tôi không cần phải viết bất kỳ mã giao diện người dùng nào ở đây.
Trình quản lý thông tin xác thực sẽ đảm nhận toàn bộ việc đó cho chúng ta.
Bây giờ, đây là quy trình đăng nhập.
Đối với người dùng, quy trình này trông rất giống với quy trình đăng ký.
Chỉ cần một lời nhắc mở khoá là xong.
Đối với nhà phát triển, chỉ có một chút khác biệt.
val getPublicKeyCredentialOption = GetPublicKeyCredentialOption(
requestJson = authenticationRequestJson
)
val signInRequest =
GetCredentialRequest(listOf(getPublicKeyCredentialOption))
val result = credentialManager.getCredential (
context = localActivity,
request = signInRequest
)Trước tiên, chúng ta lấy thông tin chi tiết về hoạt động đăng nhập từ phần phụ trợ để tạo một thực thể GetPublicKeyCredential.
Chúng ta cho Trình quản lý thông tin xác thực biết loại thông tin xác thực mà chúng ta hỗ trợ.
Ở đây chỉ có khoá truy cập.
Nhưng chúng ta cũng có thể thêm các loại thông tin xác thực khác nếu muốn.
Sau đó, chúng ta gọi credentialManager.getCredential để truyền vào danh sách thông tin xác thực mà chúng ta vừa yêu cầu.
Một lần nữa, không có mã giao diện người dùng.
Bạn không cần phải viết mã giao diện người dùng.
Trình quản lý thông tin xác thực sẽ xử lý toàn bộ việc đó cho chúng ta.
Chế độ này nhắc người dùng chọn phương án thường dùng nhất, đồng thời giữ lại các phương án khác làm phương án dự phòng.
Điều này tự động giải quyết một trong những vấn đề xác thực gây phiền toái nhất hiện nay.
Bạn có nhận thấy không?
Đó là ghi nhớ phương thức tôi đã dùng gần đây nhất để đăng nhập.
Hãy xem, câu trả lời được trình bày gọn gàng trong một bảng dưới cùng.
Nhân tiện, điều đó không chỉ gây phiền toái cho người dùng.
Đó là một điểm bất đồng thực sự.
Điều này dẫn đến việc khôi phục tài khoản không cần thiết và gây ảnh hưởng đến hoạt động thương mại, chẳng hạn như giỏ hàng bị bỏ quên.
Sau đây là mã xử lý ứng dụng minh hoạ của tôi. Bạn có thể dùng mã này để tự mình dùng thử Trình quản lý thông tin xác thực.
Bạn có thể xem các quy trình này trên thiết bị của mình.
Và có các mã mẫu chính thức của Google ở bên trái.
Đó là cách xử lý việc tạo khoá truy cập.
Còn việc nâng cấp người dùng mật khẩu hiện tại lên khoá truy cập thì sao?
Một công cụ mạnh mẽ cho việc này là Conditional Create (Tạo có điều kiện).
Nếu người dùng vừa đăng nhập bằng mật khẩu và mật khẩu đó được một trình cung cấp thông tin xác thực được hỗ trợ tự động điền, thì chúng tôi biết rằng họ đang tích cực tương tác và chúng tôi vừa xác minh danh tính của họ.
Trong trường hợp đó, tính năng Tạo có điều kiện cho phép chúng ta yêu cầu tạo khoá truy cập tự động ở chế độ nền.
Nó không làm gián đoạn quy trình làm việc của người dùng.
Mật khẩu... khoá truy cập được tạo và lưu trữ một cách thầm lặng.
Trình quản lý mật khẩu của Google sẽ thông báo để xác nhận rằng việc này đã xảy ra.
Các trình quản lý mật khẩu khác có thể có cách hoạt động khác.
Mã cho tính năng Tạo có điều kiện trông rất giống với mã để đăng ký.
val createPublicKeyCredentialRequest = CreatePublicKeyCredentialRequest(
requestJson = registerRequestJson,
preferImmediatelyAvailableCredentials = false,
isConditional = true
)
val createCredentialResponse = credentialManager.createCredential (
context = localActivity,
request = createPublicKeyCredentialRequest
)Cờ ma thuật isConditional có giá trị true, đảm bảo người dùng không thấy giao diện người dùng đó.
Và vì nó hoạt động theo cơ hội, chúng ta sẽ đặt nó vào một khối try-catch.
Chúng tôi sẽ xử lý mọi lỗi một cách thầm lặng để không làm phiền người dùng nếu quá trình này không thành công.
Sau đó, khoá truy cập sẽ được lưu vào Trình quản lý thông tin xác thực của người dùng và sẽ có sẵn cho họ vào lần tiếp theo.
Trình quản lý thông tin xác thực cũng cho phép các nhà cung cấp thông tin xác thực nhập và xuất thông tin xác thực của họ một cách an toàn.
Chỉ cần vài lượt nhấp.
Bạn không cần tải xuống.
Điều này giúp bạn linh hoạt hơn, trong khi vẫn đảm bảo an toàn cho thông tin.
Quy trình diễn ra như sau.
Trong trình cung cấp thông tin xác thực mới, người dùng yêu cầu nhập thông tin xác thực.
Sau đó, Trình quản lý thông tin xác thực sẽ xử lý giao diện người dùng nhập, cho phép người dùng chọn nguồn dữ liệu thông tin xác thực.
Sau đó, trình cung cấp thông tin xác thực xuất có thể cung cấp giao diện người dùng riêng, đồng thời cho phép họ hướng dẫn người dùng và đưa ra cảnh báo có liên quan.
Cuối cùng, nhà cung cấp thông tin xác thực mới của người dùng sẽ nhận được dữ liệu thông qua một kênh bảo mật.
Vì vậy, ứng dụng có thể nhập tệp mà không cần người dùng tương tác.
Nhưng điều gì sẽ xảy ra nếu người dùng thu hồi khoá truy cập khỏi ứng dụng hoặc trang web của họ?
Khi đó, nhà cung cấp thông tin xác thực không nhất thiết phải biết rằng điều đó đã xảy ra.
Lần tiếp theo họ cố gắng đăng nhập, Trình quản lý thông tin xác thực sẽ cung cấp khoá truy cập không hoạt động đó và họ sẽ bị từ chối đăng nhập.
Tương tự, khi người dùng cập nhật tên người dùng hoặc tên hiển thị, bạn cần phải đồng bộ hoá.
Giờ đây, với Signal API, ứng dụng của bạn có thể gắn cờ các trạng thái cụ thể này cho nhà cung cấp thông tin xác thực.
Hãy lấy trường hợp đăng nhập bằng mật khẩu đã bị thu hồi làm ví dụ.
Ứng dụng của bạn có thể phát hiện trạng thái lỗi cụ thể đó và dùng trạng thái này để thông báo cho nhà cung cấp thông tin xác thực của người dùng.
Sau đó, nhà cung cấp thông tin xác thực có thể tự cập nhật để không cung cấp khoá truy cập cụ thể đó.
Đó là một số tính năng của Trình quản lý thông tin xác thực. Trình quản lý này rất hữu ích trong việc giúp người dùng đăng ký bằng khoá truy cập và ưu tiên khoá truy cập hơn các phương thức khác khi đăng nhập.
Nhưng hãy nhớ rằng mục tiêu cuối cùng của chúng ta là hoàn toàn không dùng mật khẩu.
Trình quản lý thông tin xác thực giúp đạt được mục tiêu đó như thế nào?
Sau đây là quy trình 5 bước mà chúng tôi đề xuất.
Trong hai bước đầu tiên, bạn nâng cấp người dùng mật khẩu lên khoá truy cập.
Trước tiên, chúng ta thử tạo có điều kiện.
Sau đó, nếu không có cơ hội như vậy, cuối cùng chúng ta sẽ cần đến sự can thiệp của người dùng, vì vậy, lời mời trong ứng dụng sẽ yêu cầu người dùng thiết lập khoá truy cập.
Chúng ta có thể dần dần bắt đầu hiển thị những thông tin đó ngày càng nổi bật hơn.
Xét cho cùng, theo quan điểm của người dùng, họ thường chỉ cần cung cấp phương thức khoá màn hình, chẳng hạn như dữ liệu sinh trắc học.
Sau khi số liệu phân tích cho thấy phần lớn người dùng của bạn có tài khoản sử dụng khoá truy cập, thì bạn có thể bắt buộc tất cả người dùng mới phải sử dụng khoá truy cập.
Nhưng những người dùng cũ đó, đây là những người mà chúng ta xử lý trong ba bước cuối cùng này.
Chúng tôi khuyến khích người dùng khoá truy cập xoá mật khẩu của họ.
Vì vậy, ở bước 3, chúng tôi cho phép họ thực hiện việc này theo cách thủ công, bằng một lựa chọn Xoá mật khẩu rất rõ ràng trong phần cài đặt tài khoản.
Ở bước 4, chúng tôi bắt đầu thúc đẩy việc xoá mật khẩu, chẳng hạn như sử dụng thông báo trong ứng dụng, kết hợp với nội dung hướng dẫn.
Cuối cùng, bạn chuyển từ chế độ chọn xoá mật khẩu sang chế độ chọn không tham gia xoá mật khẩu.
Cuối cùng, ngay cả lựa chọn không tham gia cuối cùng đó cũng có thể biến mất.
Dữ liệu phân tích sẽ giúp chúng tôi tự tin loại bỏ hoàn toàn quy trình mật khẩu khỏi ứng dụng.
Vì vậy, việc chuyển sang một thế giới không dùng mật khẩu không còn là một khái niệm bảo mật mang tính lý thuyết trong tương lai nữa.
Tính năng này được hỗ trợ rất nhiều.
API mạnh mẽ, trải nghiệm người dùng tuyệt vời.
Bạn nên bắt đầu tích hợp quy trình khoá truy cập với Trình quản lý thông tin xác thực ngay hôm nay.
Hãy bắt đầu nâng cấp cho người dùng và bỏ lại mật khẩu trong quá khứ.
Cảm ơn bạn.
Bây giờ, tôi xin nhường lời cho Chiping để nói về bước phát triển tiếp theo trong quá trình di chuyển và nhận dạng thiết bị.
Chúng ta tìm hiểu tiếp nhé.
Cảm ơn Tom.
Như Tom đã nhấn mạnh, việc xác thực liền mạch trên thiết bị của người dùng là rất quan trọng.
Nhưng điều gì sẽ xảy ra khi người dùng mua điện thoại mới?
Hiện nay, tỷ lệ người dùng bỏ ngang cao nhất trong hành trình của người dùng thường xảy ra khi họ chuyển đổi thiết bị.
Hôm nay, trước tiên tôi muốn nói về cách chúng tôi giải quyết vấn đề đó và nhanh chóng đề cập đến một yêu cầu sắp tới của Cửa hàng Play liên quan đến việc khôi phục thông tin xác thực.
Kể từ tháng 4 năm 2027, Google Play sẽ yêu cầu các ứng dụng đáp ứng yêu cầu về tính năng đăng nhập không cần chạm để duy trì toàn bộ khả năng xuất bản và mức độ hiển thị tối ưu trên Cửa hàng Play.
Tính năng đăng nhập không cần chạm là gì?
Điều này có nghĩa là người dùng không cần xác thực lại theo cách thủ công trong ứng dụng của bạn khi chuyển sang thiết bị mới.
Làm cách nào để triển khai tính năng này?
Phương thức chính mà chúng tôi đề xuất để thực hiện việc này là thông qua API Khôi phục thông tin đăng nhập của Android thông qua Trình quản lý thông tin xác thực.
API này cho phép bạn tạo khoá khôi phục. Khoá này được lưu trên thiết bị của người dùng hoặc trên đám mây dựa trên chế độ cài đặt sao lưu của người dùng.
Bạn nên tạo khoá này ở chế độ nền sau khi người dùng đăng nhập.
Trong sơ đồ này, chúng tôi minh hoạ một người dùng đang đăng nhập vào ứng dụng.
Sau đó, khoá khôi phục sẽ được tạo trong khi họ sử dụng ứng dụng tại một thời điểm nào đó.
Sau đó, khoá này sẽ được lưu trữ cục bộ hoặc trên đám mây (nếu được bật).
Khi người dùng thiết lập thiết bị mới, thông tin đăng nhập khôi phục sẽ được chuyển ngầm trong nền trong quá trình thiết lập thiết bị.
Người dùng có thể chọn khôi phục dữ liệu từ đám mây hoặc chuyển dữ liệu từ thiết bị này sang thiết bị khác.
Sau đó, khi ứng dụng của bạn được mở, bạn có thể gọi Credential Manager API để sử dụng khoá khôi phục này nhằm đăng nhập cho người dùng trên thiết bị mới trong lần khởi chạy đầu tiên.
Nhờ đó, người dùng có thể đăng nhập vào ứng dụng của bạn một cách nhanh chóng và an toàn ngay lập tức.
Nếu muốn khôi phục ứng dụng ngay sau khi thiết lập mà không cần mở ứng dụng, bạn có thể triển khai một tác nhân sao lưu tuỳ chỉnh để thực hiện việc này.
Thao tác này sẽ cho phép người dùng đăng nhập vào ứng dụng của bạn mà không cần mở ứng dụng theo cách thủ công.
Một số đối tác của chúng tôi đã triển khai tính năng này trong ứng dụng của họ.
Uber là công ty cung cấp dịch vụ đi chung xe lớn nhất thế giới, cung cấp dịch vụ vận chuyển cho hàng triệu người, đồng thời hỗ trợ giao đồ ăn, vận chuyển y tế và hậu cần vận chuyển hàng hoá.
Sự đơn giản trong việc truy cập là yếu tố quan trọng.
Khi chuyển sang thiết bị mới, người dùng mong muốn có một quá trình chuyển đổi liền mạch mà không cần phải đăng nhập lại vào ứng dụng Uber hoặc thực hiện quy trình xác thực một lần qua SMS mỗi lần.
Việc người dùng thường xuyên đổi thiết bị là một thách thức đối với việc giữ chân người dùng.
Sau khi đánh giá nhu cầu của người dùng và tạo nguyên mẫu mã, Uber đã hỗ trợ tính năng Khôi phục thông tin đăng nhập trong ứng dụng Uber Rider và đạt được kết quả rất tích cực.
Họ ước tính rằng tính năng này sẽ giúp tiết kiệm 4 triệu lượt đăng nhập trung bình hằng ngày và dự kiến con số này sẽ tăng lên khi tỷ lệ sử dụng tăng.
Vui lòng xem mã QR và đường liên kết này để tìm hiểu thêm về chính sách sắp tới và cách ứng dụng của bạn có thể đáp ứng các yêu cầu về tính năng khôi phục không cần nhấn.
Xin nhắc lại, thay đổi này sẽ có hiệu lực từ tháng 4 năm 2027, vì vậy, hãy nhớ đánh dấu mốc thời gian này trên lịch của bạn.
Nếu bạn muốn bắt đầu triển khai tính năng Khôi phục thông tin xác thực trong ứng dụng của mình, vui lòng xem mã QR và đường liên kết này để truy cập vào kỹ năng Khôi phục thông tin xác thực của chúng tôi.
Bạn có thể dùng kỹ năng này để nhanh chóng phát triển hoặc thử nghiệm tính năng với tác nhân mà bạn chọn.
Bây giờ, hãy cùng tìm hiểu về ranh giới tiếp theo của danh tính kỹ thuật số: Digital Credentials API thông qua Trình quản lý thông tin xác thực.
Hãy cùng tìm hiểu thông tin xác thực kỹ thuật số là gì và cách hoạt động của thông tin này.
Thông tin xác thực kỹ thuật số là các tài liệu kỹ thuật số có thể xác minh bằng mật mã mà người dùng có thể sử dụng để cung cấp thông tin về bản thân.
Các giấy tờ này được lưu trữ trong các ứng dụng lưu trữ kỹ thuật số trên thiết bị của người dùng và có thể được các ứng dụng khác trên thiết bị yêu cầu hoặc được trình bày cho thế giới theo cách kết hợp, tương tự như thông qua mã QR.
Có rất nhiều mục đích sử dụng, từ xác minh danh tính đến truy cập dịch vụ và mua hàng trực tuyến.
Giấy tờ tuỳ thân điện tử là một cách an toàn và thuận tiện để chia sẻ thông tin mà không cần thẻ vật lý.
Giấy chứng nhận kỹ thuật số liên quan đến ba bên: bên phát hành, bên sở hữu và bên xác minh.
Vòng đời của thông tin xác thực kỹ thuật số thường diễn ra từ trái sang phải.
Hãy cùng tìm hiểu từng thực thể này và vai trò của chúng.
Đầu tiên là tổ chức phát hành, đúng như tên gọi, là bên phát hành thông tin xác thực, giống như chính phủ cấp hộ chiếu cho bạn.
Tuy nhiên, trong thế giới kỹ thuật số, để ngăn chặn hành vi giả mạo, các thông tin xác thực này cũng được tổ chức phát hành ký bằng chứng chỉ kỹ thuật số của họ, nhờ đó, bất kỳ ai nhận được thông tin xác thực đều có thể biết chính xác thông tin đó đến từ ai.
Trên thực tế, bất kỳ ai cũng có thể là đơn vị phát hành, cho dù đó là phòng tập thể dục, khách sạn hay thậm chí là chính bạn.
Bạn chỉ cần tạo thông tin xác thực và ký thông tin đó.
Được rồi, vậy là tổ chức phát hành tạo và cấp thông tin xác thực, nhưng thông tin xác thực cần được lưu trữ ở đâu đó, giống như cách bạn cần lưu trữ giấy tờ tuỳ thân do chính phủ cấp trong ví của mình.
Đây là bên tiếp theo, được gọi là bên lưu giữ, thường được mô tả là ví điện tử.
Người nắm giữ, đúng như tên gọi, chủ yếu nắm giữ thông tin xác thực do tổ chức phát hành cấp.
Giấy tờ này nằm trong một ứng dụng trên thiết bị của bạn và bạn có thể xuất trình cho bên yêu cầu.
Tương tự như người phát hành, bất kỳ ai cũng có thể là người sở hữu.
Trên thực tế, việc bên phát hành và bên sở hữu do cùng một pháp nhân quản lý là điều không hiếm gặp.
Hãy nghĩ đến một phòng tập thể dục muốn tạo thông tin xác thực thành viên kỹ thuật số của riêng họ và cũng quản lý thông tin đó thông qua ứng dụng của riêng họ.
Đó sẽ là cả tổ chức phát hành và chủ sở hữu trong một.
Được rồi, bên thứ ba là bên xác minh hoặc bên yêu cầu Giấy chứng nhận kỹ thuật số.
Bên xác minh thường đưa ra yêu cầu về thông tin xác thực để kiểm tra các thuộc tính về người dùng, chẳng hạn như yêu cầu về độ tuổi hoặc họ, v.v.
Đây là những doanh nghiệp hoặc ứng dụng cần thêm dữ liệu người dùng để cung cấp dịch vụ, chẳng hạn như mua đồ uống có cồn hoặc xác minh độ tuổi tối thiểu.
Trên Android, hoạt động tương tác giữa ba bên này và người dùng được điều phối thông qua Trình quản lý thông tin xác thực bằng Digital Credentials API.
Tổ chức phát hành có thể gọi API để cấp thông tin xác thực cho chủ sở hữu, mặc dù điều này là không cần thiết nếu họ là cùng một pháp nhân.
Sau khi thông tin xác thực được cấp, bên xác minh có thể gọi một API để yêu cầu thông tin xác thực.
Trình quản lý thông tin xác thực so khớp yêu cầu với tất cả chủ sở hữu hiện có và hiển thị các chủ sở hữu đó cho người dùng để chọn thông tin xác thực và đưa ra sự đồng ý.
Sau khi được chọn, ứng dụng lưu trữ sẽ được gọi và có thể thực hiện các bước kiểm tra bổ sung nếu cần trước khi chia sẻ thông tin xác thực với bên xác minh.
Sau khi nhận được thông tin xác thực, người xác minh cũng có thể thực hiện nhiều bước kiểm tra về tính hợp pháp của thông tin xác thực, bao gồm cả việc kiểm tra tổ chức phát hành ban đầu.
Giờ đây, có thể bạn đang thắc mắc: "Thông tin xác thực kỹ thuật số được bảo mật chính xác như thế nào?"
Thực ra, bảo mật được tích hợp vào từng bước của quy trình và chúng ta sẽ tìm hiểu một số bước ngay sau đây.
Vì vậy, về phía bên phát hành, khi bên phát hành muốn chia sẻ thông tin xác thực với bên sở hữu, bên phát hành cần xác minh rằng bên sở hữu không thể bị can thiệp hoặc sao chép, về cơ bản là có thể tin tưởng được.
Làm cách nào để xác minh thông tin này?
Trước khi phát hành thông tin xác thực, tổ chức phát hành cần người sở hữu chứng minh danh tính của mình và tính bảo mật của thiết bị mà người sở hữu đang sử dụng.
Người sở hữu gửi chứng thực ví, thường là một chuỗi chứng chỉ có thể xác minh.
Người sở hữu cũng tạo một cặp khoá liên kết với phần cứng.
Ứng dụng sẽ gửi cho tổ chức phát hành khoá công khai từ cặp khoá này bằng tính năng chứng thực khoá Android, chẳng hạn như để tổ chức phát hành có thể xác thực tính hợp pháp của phần cứng.
Tổ chức phát hành sẽ ký khoá công khai này vào thông tin xác thực được cấp để thông tin xác thực đó được liên kết chính thức với một thiết bị duy nhất.
Về phía người sở hữu, sau khi có thông tin xác thực mới, người sở hữu chỉ đăng ký siêu dữ liệu thông tin xác thực của mình với Trình quản lý thông tin xác thực.
Trình quản lý thông tin xác thực sử dụng siêu dữ liệu này để xác định chủ sở hữu nào sẽ hiển thị khi trình xác minh đưa ra yêu cầu về thông tin xác thực.
Không có dữ liệu người dùng thực nào được đăng ký với Trình quản lý thông tin xác thực hoặc được tiết lộ cho Google.
Và ngay cả khi Trình quản lý thông tin xác thực đang chọn ví để hiển thị cho người dùng, thì nội dung bên trong mỗi ví cũng không được tiết lộ tại thời điểm đó.
Giờ đây, khi có yêu cầu về thông tin xác thực và người dùng đồng ý chia sẻ thông tin xác thực, ứng dụng lưu trữ được chọn sẽ được gọi và quyền kiểm soát quy trình công việc sẽ được chuyển giao cho ứng dụng lưu trữ.
Như bạn có thể nhớ, phần tử giữ chỗ chỉ là một ứng dụng, vì vậy ứng dụng sẽ được gọi.
Tại thời điểm này, chủ sở hữu có thể xem những thông tin như người xác minh yêu cầu và thông tin xác thực được yêu cầu, đồng thời có thể quyết định xem có muốn chia sẻ thông tin xác thực đó với người xác minh đó hay không, ngay cả khi người dùng đã cấp quyền.
Google không thể truy cập vào dữ liệu thông tin xác thực.
Chỉ siêu dữ liệu định tuyến được đăng ký và tải trọng được mã hoá hai đầu giữa người sở hữu và người xác minh.
Điều này giúp chủ sở hữu kiểm soát được những bên mà họ muốn chia sẻ thông tin xác thực.
Cuối cùng, về phía bên xác minh, sau khi thông tin xác thực được yêu cầu và chủ sở hữu chia sẻ thông tin xác thực, bên xác minh sẽ nhận được thông tin xác thực từ chủ sở hữu.
Giờ đây, bên xác minh có thể kiểm tra xem phản hồi có phải do chủ sở hữu thông tin xác thực ban đầu tạo cho yêu cầu hay không.
Nó có thể xác nhận rằng phản hồi thông tin xác thực được ký bằng khoá liên kết với thiết bị của chủ sở hữu, bao gồm cả việc yêu cầu mã thông báo một lần và gọi nguồn gốc mà chủ sở hữu quan sát được.
Bên xác minh cũng có thể kiểm tra tính xác thực của tổ chức phát hành thông tin xác thực bằng cách xác minh chứng chỉ của tổ chức phát hành, đảm bảo chứng chỉ đó đến từ một nguồn đáng tin cậy.
Nói tóm lại, tổ chức phát hành nhận được sự đảm bảo về phần cứng, chủ sở hữu có quyền kiểm soát thông tin xác thực mà họ muốn chia sẻ, người xác minh nhận được bằng chứng mã hoá của tổ chức phát hành và chủ sở hữu, sau đó người dùng giữ toàn quyền đồng ý đối với dữ liệu mà họ muốn chia sẻ.
Giờ đây, khi đã tìm hiểu về tính bảo mật của Thông tin xác thực kỹ thuật số, hãy cùng khám phá một số trường hợp sử dụng Thông tin xác thực kỹ thuật số hiện có thông qua Digital Credentials API trên Android.
Phương thức đầu tiên mà tôi sẽ đề cập là xác minh email.
API này lấy trực tiếp địa chỉ Gmail mà người dùng đã đăng nhập trên thiết bị của họ và trình bày địa chỉ đó dưới dạng thông tin xác thực kỹ thuật số được Google xác minh cho ứng dụng của bạn, nhờ đó bạn không cần gửi mật khẩu một lần hoặc đường liên kết dùng một lần.
Điều này có nghĩa là người dùng không bao giờ rời khỏi ứng dụng của bạn và chỉ cần đồng ý bằng Một lần nhấn vào bảng dưới cùng quen thuộc của Trình quản lý thông tin xác thực.
Sau đây là bản minh hoạ về bản ghi minh hoạ của API đang hoạt động.
Đây là một ứng dụng mẫu triển khai quy trình xác minh email thông qua Digital Credentials API.
Khi tôi nhấn vào "Yêu cầu email đã xác minh", Trình quản lý thông tin xác thực sẽ yêu cầu thông tin xác thực kỹ thuật số của email đã xác minh từ những người sở hữu trên thiết bị có loại thông tin xác thực này.
Trong trường hợp này, chỉ Google mới là bên nắm giữ thông tin xác thực email đã xác minh này. Bạn sẽ thấy thông tin này trong bảng dưới cùng.
Đây là một trong những email mà người dùng đã đăng nhập trên thiết bị.
Và trên thực tế, Google vừa là bên cấp vừa là bên lưu giữ thông tin xác thực kỹ thuật số trong trường hợp này.
Sau khi tôi chọn thông tin xác thực muốn chia sẻ, thông tin đó sẽ được trả về ứng dụng. Hiện tại, ứng dụng chỉ hiển thị các trường có trong thông tin xác thực, tức là email đã xác minh.
Trong ứng dụng, bạn có thể sử dụng thông tin này để chuyển sang màn hình tiếp theo của ứng dụng, chẳng hạn như tạo khoá truy cập hoặc các bước tạo tài khoản khác.
Đối với người dùng, việc này thực sự đơn giản như việc đưa ra sự đồng ý rồi chuyển sang màn hình tiếp theo.
Nếu muốn dùng thử, bạn có thể chuyển đến mẫu của chúng tôi trên GitHub và cài đặt mẫu đó trên thiết bị của riêng bạn.
Vui lòng thử sử dụng tính năng này trên thiết bị thực và lưu ý rằng bạn cần đăng nhập vào ít nhất một tài khoản Gmail trên thiết bị.
Vì vậy, tôi sẽ dành thêm một chút thời gian nếu mọi người quan tâm.
Được rồi.
Nghe thật thú vị phải không?
Khi nghĩ đến việc xác minh email, bạn nghĩ đến hình thức xác minh người dùng nào tiếp theo?
Đúng vậy, đó là quy trình xác minh số điện thoại.
Digital Credentials API cũng hỗ trợ xác minh số điện thoại theo cách gốc, giúp loại bỏ sự phiền hà và lỗ hổng bảo mật của OTP qua SMS.
Quy trình xác minh số điện thoại cũng hoạt động thông qua Digital Credentials API. Trong trường hợp này, số điện thoại trên thiết bị sẽ được yêu cầu và trình bày dưới dạng thông tin xác thực kỹ thuật số.
Người dùng chỉ thấy bảng dưới cùng quen thuộc của Trình quản lý thông tin xác thực để chia sẻ hoặc xác minh số điện thoại của họ, vẫn ở trong ứng dụng và chỉ cần nhấn vài lần để hoàn tất quy trình xác minh.
Tại đây, bạn có thể xem một ứng dụng mẫu mà khách hàng có thể chia sẻ số điện thoại của họ chỉ bằng một lần nhấn mà không cần rời khỏi ứng dụng.
Vậy thì cách thiết lập này hoạt động như thế nào?
Nếu chúng ta liên kết thông tin này với các bên liên quan đến thông tin xác thực kỹ thuật số, thì bên phát hành trong trường hợp này là nhà mạng điện thoại của số điện thoại trên thẻ SIM của thiết bị, còn bên lưu giữ là Android Telephony.
Khi một trình xác minh (chẳng hạn như ứng dụng của bạn) yêu cầu số điện thoại của người dùng, số điện thoại đó sẽ được truy xuất từ Google Telephony bằng một lệnh gọi API Thông tin xác thực kỹ thuật số.
Có thể bạn đang thắc mắc về cách hoạt động của quy trình thanh toán.
Có một bước bổ sung dành riêng cho quy trình này, trong đó thông tin xác thực được chuyển đến nhà mạng hoặc công ty tổng hợp của bạn cho mục đích thanh toán.
Điều này xảy ra sau khi số điện thoại được truy xuất từ Google Telephony, nơi số điện thoại được lưu trữ ở trạng thái mã hoá.
Sau đó, mã này sẽ được chuyển đến nhà mạng. Nhà mạng sẽ giải mã và trả về số điện thoại trực tiếp cho phần phụ trợ của ứng dụng. Trong thời gian này, bạn sẽ bị tính phí.
Điều tuyệt vời là nhà mạng sẽ chỉ tính phí cho những lần xác minh thành công, được chuyển qua dữ liệu di động hoặc Wi-Fi và đáng tin cậy hơn nhiều so với SMS.
Sau đây là bản minh hoạ về quy trình xác minh số điện thoại, trong đó Firebase đóng vai trò là trình tổng hợp nhà mạng.
Ứng dụng yêu cầu số điện thoại của người dùng trong quá trình đăng nhập.
Người dùng này có nhiều thẻ SIM và chọn một thẻ để chia sẻ với ứng dụng.
Sau khi người dùng xác nhận lựa chọn của họ, quá trình trao đổi sẽ diễn ra trong nền.
Sau đó, bạn chỉ thấy màn hình tiếp theo có số điện thoại đã truy xuất.
Người dùng không cần phải rời khỏi ứng dụng mà chỉ cần chọn và xác nhận số điện thoại để chia sẻ nhằm tiếp tục quy trình một cách suôn sẻ, tất cả chỉ trong vài lần nhấn.
Hãy để quá trình này hoàn tất để bạn có thể thấy trạng thái hoàn tất một lần nữa.
Và bạn sẽ thấy số điện thoại trên màn hình cuối cùng đó.
Chỉ vậy thôi.
Hôm nay chúng ta đã cùng nhau khám phá rất nhiều điều.
Trước tiên, chúng ta đã tìm hiểu cách sử dụng Trình quản lý thông tin xác thực để cải thiện việc triển khai khoá truy cập và chuyển sang một thế giới không cần mật khẩu.
Vui lòng xem tài nguyên của chúng tôi về Trình quản lý thông tin xác thực và khoá truy cập tại đây để tìm hiểu thêm và truy cập vào các ứng dụng mẫu của chúng tôi.
Tiếp theo, chúng tôi đã đề cập đến yêu cầu sắp tới về tính năng đăng nhập không cần nhấn cho ứng dụng của bạn, giúp người dùng đăng nhập liền mạch khi thiết lập thiết bị mới.
Yêu cầu này sẽ bắt buộc áp dụng trên Cửa hàng Play kể từ tháng 4 năm 2027, vì vậy, hãy lưu ý mốc thời gian này.
Cuối cùng, chúng ta đã tìm hiểu cách hoạt động của thông tin xác thực kỹ thuật số và một số tính năng hữu ích nhất của thông tin xác thực kỹ thuật số trên Android.
Vui lòng xem tài nguyên của chúng tôi về thông tin xác thực kỹ thuật số tại đây để tìm hiểu kỹ hơn về nội dung và xem các mẫu của chúng tôi.
Mọi thông tin chúng tôi chia sẻ hôm nay đều đã được triển khai và sẵn sàng để bạn sử dụng.
Tương lai của danh tính trên Android đã đến và thú vị hơn bao giờ hết.
Cảm ơn bạn đã dành thời gian. Tôi biết bây giờ là giờ ăn trưa, nên hãy thưởng thức đồ ăn bên ngoài nhé.
Và đừng ngại liên hệ với tôi hoặc Tom nếu bạn có câu hỏi về khoá truy cập hoặc thông tin xác thực kỹ thuật số.
Trân trọng.
val createPublicKeyCredentialRequest = CreatePublicKeyCredentialRequest(
requestJson = registerRequestJson
)
val createCredentialResponse = credentialManager.createCredential (
context = localActivity,
request = createPublicKeyCredentialRequest
)val getPublicKeyCredentialOption = GetPublicKeyCredentialOption(
requestJson = authenticationRequestJson
)
val signInRequest =
GetCredentialRequest(listOf(getPublicKeyCredentialOption))
val result = credentialManager.getCredential (
context = localActivity,
request = signInRequest
)val createPublicKeyCredentialRequest = CreatePublicKeyCredentialRequest(
requestJson = registerRequestJson,
preferImmediatelyAvailableCredentials = false,
isConditional = true
)
val createCredentialResponse = credentialManager.createCredential (
context = localActivity,
request = createPublicKeyCredentialRequest
)