Hành vi tạo địa chỉ MAC ngẫu nhiên

Tính năng sắp xếp ngẫu nhiên địa chỉ MAC cho phép thiết bị sử dụng địa chỉ MAC ngẫu nhiên khi kết nối với mạng Wi-Fi. Để biết hướng dẫn triển khai, hãy xem bài viết Triển khai tính năng sắp xếp ngẫu nhiên địa chỉ MAC. Trang này mô tả hành vi của tính năng sắp xếp ngẫu nhiên địa chỉ MAC trong Android.

Khi kết nối với mạng Wi-Fi hoặc điểm truy cập, thiết bị của bạn sẽ sử dụng địa chỉ MAC. Vì các địa chỉ MAC này được truyền đi mà không được mã hoá, nên chúng có thể bị thu thập và dùng để theo dõi vị trí của người dùng. Trước đây, các thiết bị sử dụng địa chỉ MAC gốc để liên kết với mạng Wi-Fi. Địa chỉ MAC gốc là duy nhất và tĩnh trên toàn cầu, cho phép theo dõi và xác định từng thiết bị.

Tính năng sắp xếp ngẫu nhiên địa chỉ MAC giúp tăng cường quyền riêng tư của người dùng bằng cách sử dụng địa chỉ MAC ngẫu nhiên khi kết nối với mạng Wi-Fi.

Địa chỉ MAC dài 48 bit và thường được biểu thị bằng 12 chữ số hệ thập lục phân (6 octet, vì mỗi octet là 8 bit), chẳng hạn như 00:11:22:AA:BB:CC. Tính năng sắp xếp ngẫu nhiên địa chỉ MAC sắp xếp ngẫu nhiên địa chỉ bằng cách đặt bit được quản lý cục bộ thành 1 và bit đơn hướng thành 0. 46 bit còn lại được sắp xếp ngẫu nhiên.

Đối với các thiết bị chạy Android 10 trở lên, khung này sử dụng địa chỉ MAC ngẫu nhiên theo mặc định. Bạn có thể bật hoặc tắt tính năng sắp xếp ngẫu nhiên địa chỉ MAC cho từng mạng thông qua một tuỳ chọn trong màn hình Network details trong phần Settings, như minh hoạ trong Hình 1. Nếu bạn tắt tính năng sắp xếp ngẫu nhiên địa chỉ MAC cho một mạng, thì khung này sẽ sử dụng địa chỉ MAC gốc (địa chỉ duy nhất trên toàn cầu).

Lựa chọn tạo địa chỉ MAC ngẫu nhiên

Hình 1. Tuỳ chọn sắp xếp ngẫu nhiên địa chỉ MAC.

Các loại sắp xếp ngẫu nhiên địa chỉ MAC

Khung Android sử dụng 2 loại sắp xếp ngẫu nhiên địa chỉ MAC: sắp xếp ngẫu nhiên liên tụcsắp xếp ngẫu nhiên không liên tục. Nếu người dùng tắt tính năng sắp xếp ngẫu nhiên địa chỉ MAC, thì địa chỉ MAC gốc sẽ được sử dụng.

Android xác định loại sắp xếp ngẫu nhiên địa chỉ MAC sẽ sử dụng khi thiết bị của bạn liên kết với mạng Wi-Fi. Theo mặc định, Android sử dụng tính năng sắp xếp ngẫu nhiên liên tục. Kể từ Android 12, Android sử dụng tính năng sắp xếp ngẫu nhiên không liên tục trong các trường hợp sau:

  • Một ứng dụng đề xuất mạng chỉ định rằng tính năng sắp xếp ngẫu nhiên không liên tục sẽ được sử dụng cho mạng thông qua WifiNetworkSuggestion.Builder#setMacRandomizationSetting API.
  • Mạng là mạng mở chưa gặp phải trang xác thực và lớp phủ config_wifiAllowEnhancedMacRandomizationOnOpenSsids được đặt thành true. Lớp phủ này bị tắt (đặt thành false) theo mặc định.

Sắp xếp ngẫu nhiên liên tục

Android sử dụng loại sắp xếp ngẫu nhiên liên tục theo mặc định khi bật tính năng sắp xếp ngẫu nhiên địa chỉ MAC. Android tạo địa chỉ MAC ngẫu nhiên liên tục dựa trên các tham số của hồ sơ mạng, bao gồm SSID, loại bảo mật hoặc FQDN (đối với mạng Passpoint). Địa chỉ MAC này vẫn giữ nguyên cho đến khi bạn đặt lại về trạng thái ban đầu. Địa chỉ MAC không được sắp xếp ngẫu nhiên lại nếu bạn quên và thêm lại mạng Wi-Fi, vì địa chỉ MAC phụ thuộc vào các tham số của hồ sơ mạng.

Bạn cần có địa chỉ MAC liên tục khi các mạng dựa vào tính liên tục của địa chỉ MAC để cung cấp chức năng hữu ích. Ví dụ: các địa chỉ này có thể giúp ghi nhớ một thiết bị và cho phép bạn bỏ qua màn hình đăng nhập như dự kiến hoặc bật tính năng kiểm soát của cha mẹ.

Đối với Android 10 và 11, khung này sử dụng tính năng sắp xếp ngẫu nhiên liên tục cho tất cả các mạng khi bật tính năng sắp xếp ngẫu nhiên địa chỉ MAC.

Sắp xếp ngẫu nhiên không liên tục

Với tính năng sắp xếp ngẫu nhiên không liên tục (được dùng cho một số mạng trong Android 12 trở lên), mô-đun Wi-Fi sẽ sắp xếp ngẫu nhiên lại địa chỉ MAC khi bắt đầu mỗi kết nối hoặc khung này sẽ sử dụng địa chỉ MAC ngẫu nhiên hiện có để kết nối với mạng. Mô-đun Wi-Fi sẽ sắp xếp ngẫu nhiên lại địa chỉ MAC trong các trường hợp sau:

  • Thời gian thuê bao DHCP đã hết và đã hơn 4 giờ kể từ lần cuối thiết bị ngắt kết nối với mạng này.
  • Địa chỉ MAC ngẫu nhiên hiện tại cho hồ sơ mạng được tạo cách đây hơn 24 giờ. Tính năng sắp xếp ngẫu nhiên lại địa chỉ MAC chỉ xảy ra khi bắt đầu một kết nối mới. Wi-Fi sẽ không chủ động ngắt kết nối để sắp xếp ngẫu nhiên lại địa chỉ MAC.

Nếu không có trường hợp nào trong số này áp dụng, thì khung này sẽ sử dụng địa chỉ MAC được sắp xếp ngẫu nhiên trước đó để kết nối với mạng.

Tuỳ chọn cho nhà phát triển để sắp xếp ngẫu nhiên không liên tục

Đối với các thiết bị chạy Android 11 trở lên, bạn có thể bật tính năng sắp xếp ngẫu nhiên địa chỉ MAC không liên tục trên toàn cầu cho tất cả các mạng Wi-Fi (đã bật tính năng sắp xếp ngẫu nhiên địa chỉ MAC đã bật) thông qua màn hình tuỳ chọn cho nhà phát triển. Bạn có thể tìm thấy tuỳ chọn bật tính năng sắp xếp ngẫu nhiên địa chỉ MAC không liên tục cho tất cả các hồ sơ tại Settings > Developer Options > Wi-Fi non-persistent MAC randomization (Cài đặt > Tuỳ chọn cho nhà phát triển > Sắp xếp ngẫu nhiên địa chỉ MAC không liên tục cho Wi-Fi).

Lựa chọn tạo địa chỉ MAC ngẫu nhiên, không cố định mỗi khi kết nối Wi-Fi

Hình 2. Tuỳ chọn sắp xếp ngẫu nhiên địa chỉ MAC không liên tục cho Wi-Fi.