Tài sản nhận dạng dùng chung của Nhà cung cấp Google

Thông tin khái quát

Tài liệu này đề cập đến các thuộc tính bắt buộc đối với giá trị nhận dạng dùng chung được dùng trong quá trình tích hợp giữa Google và Nhà cung cấp (hoặc Nhà phát hành tài khoản với người dùng). Bạn nên xem xét giá trị nhận dạng dùng chung, đó là một con trỏ không rõ ràng tới cạnh giữa Tài khoản Google và tài khoản Nhà phát hành.

Do đó, điều quan trọng cần nhớ là giá trị nhận dạng được chia sẻ không tham chiếu đến Tài khoản Google (hoặc người dùng hay thực thể khác trong bộ nhớ của Google) cũng như Tài khoản nhà cung cấp/công ty phát hành (hoặc thực thể khác). Cụm từ này đề cập đến mối liên kết giữa hai phần tử này.

Thuộc tính giá trị nhận dạng dùng chung

Các thuộc tính bắt buộc cho giá trị nhận dạng dùng chung bắt nguồn từ kinh nghiệm trước đây và các vấn đề kỹ thuật gặp phải do việc thiếu các thuộc tính này trong giá trị nhận dạng dùng chung.

Để tích hợp giữa Google và một đối tác bên ngoài, điều quan trọng là các giá trị nhận dạng dùng chung được sử dụng phải có các thuộc tính sau:

  1. Duy nhất trên toàn cầu: giá trị nhận dạng dùng chung này phải trỏ đến chính xác một đường liên kết giữa người dùng Google và tài khoản Tổ chức phát hành. Không được có cùng một giá trị nhận dạng dùng chung khác cho cùng một Công ty phát hành có cùng giá trị.
  2. Không thể đoán được: Các giá trị nhận dạng dùng chung này mang lại quyền hành động thay mặt cho người dùng, vì vậy, điều quan trọng là bên thứ ba không thể đoán được giá trị giá trị nhận dạng dùng chung.
  3. Có thể thu hồi: Điều quan trọng là người dùng phải có thể thu hồi giá trị nhận dạng dùng chung và việc thu hồi này sẽ ngăn cấm mọi hoạt động sử dụng giá trị nhận dạng dùng chung trong tương lai. Thuộc tính này có một số thuộc tính hệ quả như sau:
    • Không dựa trên thuộc tính không thể thay đổi của một trong hai tài khoản: Nếu giá trị nhận dạng dùng chung phải dựa trên một thuộc tính bất biến của tài khoản của Người phát hành hoặc Tài khoản Google, thì việc tạo lại giá trị nhận dạng dùng chung đã thu hồi sẽ dẫn đến cùng một giá trị của giá trị nhận dạng dùng chung đó (do đó sẽ huỷ việc thu hồi), do đó, giá trị của giá trị nhận dạng được chia sẻ không được là thuộc tính của tài khoản (ví dụ: số điện thoại hoặc không phải là một hàm băm).
    • Không chỉ đơn thuần là <Tài khoản Google, Tài khoản đối tác>: phải có một số giá trị khác (ví dụ: thời gian) để cho phép thu hồi.
  4. Cho phép nhiều tài khoản liên kết ở một trong hai bên: Điều quan trọng là việc tạo giá trị nhận dạng được chia sẻ không làm cho một người dùng Google không thể liên kết với nhiều tài khoản ngân hàng hoặc nhiều Tài khoản Google liên kết với một tài khoản ngân hàng (ví dụ: tài khoản mẹ và tài khoản con, cả hai đều liên kết với tài khoản ngân hàng của nhà xuất bản mẹ). Tương tự như khả năng thu hồi, trường hợp này có một số hệ quả:
    • Xin nhắc lại, không dựa trên thuộc tính không thể thay đổi của cả hai tài khoản: Nếu không, giá trị nhận dạng dùng chung sẽ có cùng giá trị khi một người dùng Google liên kết nhiều tài khoản ngân hàng (nếu giá trị nhận dạng dùng chung dựa trên Tài khoản Google) hoặc nếu nhiều Tài khoản Google được liên kết với một tài khoản ngân hàng (nếu giá trị nhận dạng dùng chung dựa trên một thuộc tính của tài khoản ngân hàng)
  5. Sử dụng lâu dài: Giá trị nhận dạng được chia sẻ chỉ hợp lệ trong ngữ cảnh bảo mật (việc tích hợp giữa Google và nhà cung cấp, trong đó sử dụng cả biện pháp bảo vệ ở cấp kết nối và cấp ứng dụng (ví dụ: PGP, SSL chung, v.v.), vì vậy không cần vòng đời ngắn để duy trì tính bảo mật. Google ưu tiên các giá trị nhận dạng dùng chung không bao giờ hết hạn, nhưng nếu nhà cung cấp yêu cầu hết hạn, thì đó phải là một khoảng thời gian dài (ví dụ: hơn 1 năm).

Sau đây là các thuộc tính giá trị nhận dạng dùng chung khác mà bạn nên sử dụng:

  1. Base64: điều này giúp việc truyền tải và truyền đạt giá trị trong quá trình tích hợp dễ dàng qua https.
  2. Độ dài tối thiểu: Bạn nên có tối thiểu 27 chữ số (trước khi mã hoá Base64) để đảm bảo có nhiều không gian địa chỉ nhằm tránh xung đột.

Vấn đề có thể xảy ra

Để giúp người đọc hiểu các thuộc tính bắt buộc, sau đây là một số nghiên cứu điển hình minh hoạ các vấn đề gặp phải khi không tuân thủ các thuộc tính này.

Nghiên cứu điển hình về giá trị nhận dạng dùng chung

Nghiên cứu điển hình số 1: Tái chế số điện thoại

Tổ chức phát hành đã sử dụng số điện thoại của người dùng làm giá trị nhận dạng chung của họ. Khi người dùng A thay đổi gói điện thoại, họ đã từ bỏ số điện thoại của mình và nhận số mới. Một tháng sau, công ty điện thoại sử dụng lại số điện thoại cũ và đột nhiên chủ sở hữu mới của số điện thoại đó là Người dùng B bắt đầu thấy các khoản phí được tính vào tài khoản của họ cho những thứ mà họ không mua.

Tổ chức phát hành đã vi phạm nhiều tài sản nhận dạng chung, chủ yếu là tài sản #1. Những nội dung như số điện thoại có thể di chuyển từ người dùng này sang người dùng khác, vì vậy, chúng chỉ là duy nhất trong một thông tin tổng quan nhanh cụ thể về thời gian.

Nghiên cứu điển hình số 2: Dán

Một nhân viên của Google/Đối tác vô tình dán một giá trị nhận dạng được chia sẻ vào một cuộc trò chuyện thay vì một công cụ nội bộ. Các lớp bảo vệ bổ sung ngăn chặn bất cứ ai sử dụng giá trị nhận dạng dùng chung một cách ác ý, nhưng để đảm bảo an toàn, Google muốn thu hồi giá trị nhận dạng dùng chung và thay thế bằng một giá trị nhận dạng mới. Khi Google/Đối tác cố gắng thu hồi giá trị nhận dạng dùng chung, họ sẽ thấy rằng giá trị nhận dạng dùng chung chỉ là mã tài khoản của người dùng trong hệ thống của Nhà phát hành và giá trị nhận dạng dùng chung được dùng để trực tiếp tra cứu tài khoản của người dùng. Do đó, không thể thu hồi giá trị nhận dạng dùng chung nếu không xoá tài khoản của người dùng và tạo một tài khoản mới cho họ.

Nghiên cứu điển hình số 3: The Bad Employee

Sau sự cố "Dán" ở trên, một đối tượng xấu trong Google/Đối tác nhận ra rằng vì giá trị nhận dạng được chia sẻ chỉ là mã tài khoản của người dùng, nên nếu họ có thể đặt ID tài khoản của người khác vào giá trị nhận dạng được chia sẻ của riêng mình, họ có thể thực hiện các giao dịch mua đối với tài khoản của người khác. Việc vi phạm Thuộc tính #2 đã khiến thao tác dán vô tình này không còn là lỗ hổng bảo mật cho một người dùng nữa – đây là lỗ hổng bảo mật cho mọi người dùng.

Nghiên cứu điển hình số 4: Xoay vòng

Sau sự cố "Dán" ở trên, Trình phát hành sẽ chuyển sang UUID làm định dạng giá trị nhận dạng được chia sẻ của họ. Lần này, nhân viên của Tổ chức phát hành đã gửi nhầm một số giá trị nhận dạng dùng chung ở dạng văn bản thuần tuý trong chuỗi email gỡ lỗi. Google cho biết, đừng lo, chúng tôi sẽ chỉ thu hồi và thay thế giá trị nhận dạng được chia sẻ của người dùng.

Trong quá trình xoay vòng này, Google sẽ thông báo cho Nhà phát hành biết rằng mỗi tài khoản người dùng bị xâm phạm sẽ có hai giá trị nhận dạng dùng chung hoạt động trong một khoảng thời gian ngắn khi đang tiến hành dọn dẹp cơ sở dữ liệu. Tuy nhiên, Tổ chức phát hành không cho phép Thuộc tính số 4 và cho Google biết rằng họ có một quy tắc ràng buộc rằng một tài khoản người dùng cụ thể chỉ được có một giá trị nhận dạng dùng chung. Điều này dẫn đến một vòng xoay rất lộn xộn với các điều kiện tranh đấu.