- Trên iOS 26.2 trở lên, các ứng dụng dành cho người dùng tại Nhật Bản có thể sử dụng công cụ trình duyệt không phải WebKit, và có hai loại được cho phép: ứng dụng trình duyệt đầy đủ và ứng dụng sử dụng công cụ trình duyệt nhúng
- Apple cung cấp cho các nhà phát triển được phê duyệt quyền truy cập vào công nghệ hệ thống để triển khai công cụ trình duyệt hiệu năng cao, bao gồm biên dịch JIT, hỗ trợ đa tiến trình
- Với lý do rủi ro bảo mật, Apple chỉ cấp quyền cho các nhà phát triển đáp ứng các yêu cầu nghiêm ngặt về bảo mật và quyền riêng tư và cam kết cập nhật bảo mật liên tục
- Cả ứng dụng trình duyệt và ứng dụng duyệt web trong ứng dụng đều phải đáp ứng các tiêu chí chi tiết như tỷ lệ vượt qua bài kiểm thử, an toàn bộ nhớ, ứng phó lỗ hổng, chính sách chặn cookie
- Động thái này được đánh giá là một thay đổi chính sách nhằm mở rộng lựa chọn công cụ trình duyệt tại thị trường Nhật Bản đồng thời duy trì bảo mật cho người dùng
Tổng quan về việc cho phép công cụ trình duyệt thay thế trên iOS 26.2
- Trên iOS 26.2 trở lên, việc sử dụng công cụ trình duyệt ngoài WebKit được cho phép cho người dùng tại Nhật Bản
- Có hai loại ứng dụng được phép:
- Ứng dụng trình duyệt chuyên dụng (cung cấp trải nghiệm duyệt web đầy đủ)
- Ứng dụng duyệt web trong ứng dụng do đơn vị quản lý công cụ trình duyệt cung cấp (sử dụng công cụ nhúng)
- Apple cấp cho các nhà phát triển được phê duyệt quyền truy cập vào các công nghệ hệ thống cốt lõi như biên dịch JIT, hỗ trợ đa tiến trình
- Vì công cụ trình duyệt có thể tiếp xúc với nội dung độc hại và dữ liệu người dùng nhạy cảm, Apple chỉ phê duyệt những nhà phát triển đáp ứng các tiêu chí nhất định và thực hiện liên tục các yêu cầu bảo mật
Web Browser Engine Entitlement (dành cho ứng dụng trình duyệt chuyên dụng)
- Quyền này cho phép phát triển ứng dụng trình duyệt sử dụng công cụ trình duyệt thay thế
- Cần rà soát các yêu cầu trước khi nộp đơn và gửi yêu cầu tới Apple
- Tài liệu kỹ thuật tham khảo được cung cấp gồm BrowserEngineKit, BrowserEngineCore, hướng dẫn cài đặt trình duyệt mặc định
Điều kiện đủ
- Ứng dụng phải chỉ phân phối cho iOS tại Nhật Bản và được cấu thành dưới dạng binary tách biệt với các ứng dụng khác dùng công cụ do hệ thống cung cấp
- Phải có Default Browser Entitlement
- Yêu cầu chức năng:
- Vượt qua trên 90% Web Platform Tests và trên 80% Test262
- Ngay cả khi JIT bị vô hiệu hóa (ví dụ: Lockdown Mode), vẫn phải đáp ứng cùng tiêu chuẩn
Yêu cầu bảo mật
- Áp dụng quy trình phát triển bảo mật và giám sát lỗ hổng trong chuỗi cung ứng
- Cung cấp URL chính sách công bố lỗ hổng và bảo đảm có kênh tiếp nhận báo cáo từ bên thứ ba
- Có nghĩa vụ phản ứng nhanh như thực hiện biện pháp giảm thiểu lỗ hổng trong vòng 30 ngày
- Vận hành trang công bố các lỗ hổng đã được khắc phục
- Công khai chính sách chứng chỉ gốc và tham gia CA/Browser Forum
- Bắt buộc hỗ trợ các giao thức TLS mới nhất
Yêu cầu bảo mật chương trình
- Sử dụng ngôn ngữ an toàn bộ nhớ hoặc các tính năng an toàn tương đương
- Áp dụng các công nghệ giảm thiểu hiện đại như Pointer Authentication Codes(PAC), Memory Integrity Enforcement(MIE)
- Tách biệt tiến trình và xác minh IPC, ưu tiên khắc phục lỗ hổng
- Cấm sử dụng thư viện đã ngừng cập nhật bảo mật
Yêu cầu quyền riêng tư
- Chặn cookie bên thứ ba theo mặc định, chỉ cho phép khi có sự đồng ý của người dùng
- Tách biệt lưu trữ theo từng trang web và chặn truy cập chéo giữa các trang
- Cấm đồng bộ trạng thái giữa các ứng dụng, chỉ cho phép khi có chấp thuận rõ ràng từ người dùng
- Cấm chia sẻ mã định danh thiết bị, bắt buộc gắn nhãn App Privacy Report
- Các API truy cập PII cần có sự kích hoạt và đồng ý từ người dùng
Embedded Browser Engine Entitlement (dành cho duyệt web trong ứng dụng)
- Có thể nhúng công cụ trình duyệt thay thế vào trong ứng dụng để hiển thị nội dung web
- Duyệt web trong ứng dụng chỉ được giới hạn cho mục đích hiển thị nội dung có thể truy cập bằng trình duyệt web
- UI phải chiếm phần lớn màn hình, cần có nút mở bằng trình duyệt mặc định và hiển thị domain/URL
Điều kiện đủ
- Người nộp đơn phải là đơn vị quản lý công cụ trình duyệt (browser engine steward)
- Tổ chức trực tiếp chịu trách nhiệm vận hành và ứng phó bảo mật của công cụ
- Phải là một công cụ riêng biệt có kiến trúc độc lập và hỗ trợ Web API
Yêu cầu ứng dụng
- Chỉ phân phối cho iOS tại Nhật Bản, không được sở hữu quyền trình duyệt mặc định
- Vượt qua 90% Web Platform Tests và 80% Test262 trở lên
- Ngay cả khi JIT bị vô hiệu hóa, vẫn phải đáp ứng cùng tiêu chuẩn
Yêu cầu bảo mật và chương trình
- Quy trình phát triển bảo mật, chính sách công bố lỗ hổng, phản ứng trong vòng 30 ngày, hỗ trợ TLS... giống với ứng dụng trình duyệt chuyên dụng
- Bắt buộc sử dụng ngôn ngữ an toàn bộ nhớ, áp dụng công nghệ giảm thiểu bảo mật mới nhất, ưu tiên khắc phục lỗ hổng
- Cấm sử dụng thư viện đã ngừng cập nhật bảo mật
Yêu cầu quyền riêng tư
- Chặn cookie bên thứ ba, tách biệt lưu trữ theo từng trang web, cấm chia sẻ mã định danh thiết bị
- Cần gắn nhãn App Privacy Report và sự đồng ý của người dùng khi truy cập PII
Yêu cầu bổ sung
- Khi gửi ứng dụng phải ghi rõ tên và phiên bản của công cụ nhúng
- Sau khi phát hành phiên bản mới của công cụ, phải nộp bản cập nhật ứng dụng trong vòng 15 ngày
Tài liệu tham khảo cho nhà phát triển và hướng dẫn bảo mật
- Secure SDLC: khuyến nghị phát triển lấy bảo mật làm trung tâm như mô hình hóa mối đe dọa, rà soát mã, kiểm thử fuzzing
- Memory Safety: tận dụng tính an toàn bộ nhớ mặc định của Swift,
std::span của C/C++, tùy chọn -fbounds-safety...
- Vulnerability Management: cần quản lý lỗ hổng công khai dựa trên CVE-ID và triển khai bản vá nhanh chóng
- Network Security: khuyến nghị sử dụng Network framework và SecTrust API của iOS SDK
- Bắt buộc hỗ trợ TLS 1.2, 1.3, và cần cảnh báo người dùng nếu dùng giao thức cũ
Tài liệu liên quan và phụ lục hợp đồng
- Embedded Browser Engine Entitlement Addendum for Apps in Japan
- Web Browser Engine Entitlement Addendum for Apps in Japan
3 bình luận
Không phải mỉa mai đâu, nhưng chắc Safari cũng đang... tuân thủ tốt tất cả đống yêu cầu đó chứ nhỉ?
Wow, việc bắt đầu từ Nhật Bản cũng thật thú vị. Tôi cứ nghĩ những chuyện như thế này thì châu Âu hoặc Mỹ sẽ đi trước cơ.
Ý kiến trên Hacker News
Tôi không nghĩ Apple sẽ ngăn các trình duyệt cạnh tranh, nhưng tôi biết điều đó sẽ xảy ra
Tôi cho rằng iPhone thực chất là thành trì cuối cùng ngăn sự độc quyền của Chrome/Chromium
Google sẽ không bỏ bê như Microsoft từng làm, nhưng rồi họ vẫn sẽ có được mức ảnh hưởng tương tự
Tôi thật sự không muốn rơi vào tình trạng phần lớn trang web chỉ hoạt động tốt trên Chrome
Cuối cùng thì sự cố chấp của Apple, dù không chủ ý, lại đang ngăn dòng chảy này
Tôi nghĩ nỗi lo Chrome thống trị web đang bị phóng đại. Việc có API mới không có nghĩa là mọi website sẽ dùng nó
Firefox đã từng cứu web ngay cả trong thời IE chiếm 95% thị phần, nên tôi không hiểu vì sao bây giờ lại phải phụ thuộc vào riêng Apple
Điều này giống một kiểu sự bất lực do bị điều kiện hóa
Hơn nữa, bản thân web di động cũng đang dần thu hẹp theo hướng lấy app làm trung tâm
Còn có xu hướng để tìm kiếm bằng AI thay thế tìm kiếm web, nên ảnh hưởng của web có lẽ sẽ còn giảm thêm
Ví dụ, vì FaceTime không hỗ trợ Firefox nên tôi đã dùng Edge, rồi cuối cùng lại phải chuyển sang Google Meet
Vấn đề bắt đầu khi họ ngừng đổi mới
Các công nghệ như ActiveX, Flash, Silverlight gây ra vấn đề bảo mật và làm hỏng web, cuối cùng biến IE thành địa ngục cho cả nhà phát triển lẫn người dùng
Tôi nghĩ Mobile Safari hiện nay đang nối tiếp vai trò đó
Tôi dùng Firefox trên PC và Android, nhưng trên di động thì tôi thấy trình duyệt dựa trên Chromium là lựa chọn tốt hơn
Yêu cầu “sử dụng ngôn ngữ an toàn bộ nhớ” trong quy định mới của Nhật khá thú vị
Nhưng chính Apple có đáp ứng được không? WebKit được viết bằng C++
Cũng không rõ cụ thể “các tính năng cải thiện an toàn bộ nhớ” nghĩa là gì
Tôi ngạc nhiên vì Apple vẫn chưa mở ra trên toàn cầu
Duy trì một hệ thống mở ở nước này nhưng chặn ở nước khác rốt cuộc sẽ dẫn đến sự hỗn loạn và chi phí
Với các tập đoàn đa quốc gia, việc ứng phó các quy định phức tạp như vậy là chuyện thường ngày
Việc kiểm soát engine trình duyệt có vẻ là vấn đề duy trì quyền kiểm soát hơn là doanh thu
Đàm phán với Nhật có khá hơn với EU, nhưng họ vẫn còn rất nhiều bất mãn
Vì vậy họ sẽ không dễ dàng nhượng bộ trên phạm vi toàn cầu
Có vẻ Apple đang áp dụng nguyên xi quy tắc cho phép engine trình duyệt bên thứ ba mà họ lập ra ở EU cho Nhật
Nhưng điều kiện quá khắt khe nên trên thực tế chưa từng có trình duyệt engine thay thế nào được phát hành ngay cả ở EU
Ứng dụng phải được tạo thành một binary hoàn toàn riêng biệt, nên những trình duyệt lớn như Chrome rất khó chuyển đổi
Tôi từng hy vọng luật của Nhật và EU sẽ thúc đẩy thay đổi trên toàn cầu, nhưng các tập đoàn lớn có đủ nguồn lực để chấp nhận sự kém hiệu quả theo từng quốc gia
Ví dụ, iPhone hạn chế quyền truy cập vào app store thay thế dựa trên vị trí
Xem bài viết liên quan
Apple đã từng bị phạt vì popup đó ở hai quốc gia rồi
Nhìn vào yêu cầu về “nhà quản lý engine trình duyệt”, có vẻ trên thực tế chỉ Google và Mozilla là đủ điều kiện
Ngay cả Microsoft cũng bị loại vì dùng Blink
Các engine nhỏ khó mà đáp ứng được các yêu cầu chức năng cơ bản, nên về thực chất gần như không thể gia nhập
Giờ tôi tự hỏi liệu có thể dùng Firefox thật sự + uBlock Origin trên iOS hay chưa
Các yêu cầu phức tạp, API hạn chế, bỏ mặc bug... sẽ khiến nhà phát triển rất khổ sở
Có lẽ sẽ không có công ty nào đầu tư đủ nguồn lực pháp lý và phát triển để port một engine hoàn chỉnh chỉ vì thị trường Nhật
Bài viết liên quan
Khá ổn
Hiện tại có thể dùng uBlock Origin Lite cho Safari hoặc các trình chặn quảng cáo khác
Firefox cũng có tính năng chặn theo dõi riêng
Tôi thường thấy những người sợ rằng nếu Apple mở hệ sinh thái ra thì hình ảnh thân thiện với người tiêu dùng của họ sẽ biến mất
Nhưng lập luận kiểu “nếu Apple không kiểm soát thì sẽ hỗn loạn” thực ra chỉ là một lựa chọn giữa hai cực
Chúng ta cần một điểm trung gian giữa việc Apple kiểm soát hoàn toàn và việc mặc kệ người dùng
Nếu thị trường không vận hành cạnh tranh, thì quy định phải bảo vệ người dùng và nhà phát triển
Việc Apple khóa chặt phần cứng là một tiền lệ nguy hiểm, và tôi lo các công ty khác sẽ làm theo
Tính năng hay ứng dụng mới không thể tồn tại nếu Apple không cho phép
Các dịch vụ như Dropbox, GDrive cũng mất đi tính năng để thích nghi với backend đầy lỗi của Apple
Cấu trúc như vậy là không bình thường
Yêu cầu của Apple về binary riêng biệt thực chất gần như ở mức vi phạm pháp luật
Việc cấm chia sẻ trạng thái đăng nhập, ép chặn cookie... không phải là việc OS nên làm
Thậm chí chính Apple còn không tuân thủ quy định vá bảo mật trong vòng 30 ngày
Thật đáng ngạc nhiên khi Apple lại nỗ lực đến mức cực đoan chỉ để tạo ngoại lệ cho một vài quốc gia nhất định