Bản dùng thử theo nguyên gốc cho quyền truy cập mạng riêng tư: Một đường dẫn để di chuyển trang web bằng HTTPS

Yifan Luo
Yifan Luo

Thông tin khái quát

Chrome 94 đã áp dụng quy tắc chặn đối với quyền truy cập mạng riêng từ các trang web công khai không an toàn. Bản dùng thử ngừng sử dụng tính năng Quyền truy cập mạng riêng từ bối cảnh không an toàn đang diễn ra đã cho thấy những thách thức trong việc di chuyển các trang web bị ảnh hưởng sang HTTPS. Mối lo ngại chung thường gặp là sự khó khăn trong việc di chuyển thiết bị riêng tư sang HTTPS, dẫn đến lỗi vi phạm quy trình kiểm tra nội dung hỗn hợp.

Để giải quyết thách thức đã đề cập trước đó, hiện có một lời nhắc cấp quyền mới trong bản dùng thử theo nguyên gốc của Chrome 120

Lời nhắc cấp quyền dưới dạng lựa chọn mới

Khi bạn thêm thuộc tính targetAddressSpace mới làm tuỳ chọn tìm nạp, yêu cầu sẽ có thể bỏ qua bước kiểm tra nội dung hỗn hợp.

Ví dụ:

fetch("http://router.local/ping", {
  targetAddressSpace: "private",
});

Theo quy định về Quyền truy cập mạng riêng: giới thiệu các chuyến bay kiểm tra, mọi yêu cầu mạng riêng đều sẽ đứng trước yêu cầu kiểm tra. Yêu cầu kiểm tra này sẽ bao gồm một tiêu đề mới là Access-Control-Request-Private-Network: true và phản hồi tương ứng phải bao gồm tiêu đề Access-Control-Allow-Private-Network: true.

Để đáp ứng lời nhắc cấp quyền mới, chúng tôi yêu cầu các thiết bị kết hợp 2 tiêu đề phản hồi mới: Private-Network-Access-NamePrivate-Network-Access-ID.

Private-Network-Access-Name: <some human-readable device name>
Private-Network-Access-ID: <the MAC address of the device>

Ví dụ:

Private-Network-Access-Name: "My Smart Toothbrush"
Private-Network-Access-ID: "01:23:45:67:89:0A"

Private-Network-Access-ID: Một giá trị 48 bit được trình bày dưới dạng 6 byte thập lục phân được phân tách bằng dấu hai chấm. Private-Network-Access-Name: Tên hợp lệ dưới dạng chuỗi khớp với biểu thức chính quy /^[a-z0-9_-.]+$/ của ECMAScript. Độ dài tối đa của tên là 248 đơn vị mã UTF-8.

Bản minh hoạ

Bạn có thể xem bản minh hoạ tại: https://private-network-access-permission-test.glitch.me/.

Đăng ký bản dùng thử theo nguyên gốc

Để đảm bảo rằng Lời nhắc cấp quyền truy cập vào mạng riêng giúp nhà phát triển áp dụng các quy định hạn chế theo bối cảnh bảo mật khi truy cập vào mạng riêng, chúng tôi sẽ cung cấp tính năng này trong Chrome từ phiên bản 120 đến 122 dưới dạng bản dùng thử theo nguyên gốc.

Hãy đăng ký bản dùng thử theo nguyên gốc để cho phép trang web của bạn sử dụng lời nhắc cấp quyền:

  1. Yêu cầu mã thông báo cho nguồn gốc của bạn.
  2. Sử dụng mã thông báo theo một trong những cách sau:
    • Trong HTML của bạn: html <meta http-equiv="Origin-Trial" content="TOKEN_GOES_HERE">
    • Trong JavaScript: js const meta = document.createElement('meta'); meta.httpEquiv = 'Origin-Trial'; meta.content = 'TOKEN_GOES_HERE'; document.head.append(meta);
    • Trong tiêu đề HTTP: text Origin-Trial: TOKEN_GOES_HERE

Nếu bạn có ý kiến phản hồi hoặc đề xuất về tính năng này, vui lòng báo cáo vấn đề trong kho lưu trữ GitHub.

Tài nguyên