พาสพอยท์ (ฮอตสปอต 2.0)

Passpoint คือโปรโตคอล Wi-Fi Alliance (WFA) ที่ช่วยให้อุปกรณ์เคลื่อนที่สามารถค้นพบและรับรองความถูกต้องของฮอตสปอต Wi-Fi ที่ให้บริการอินเทอร์เน็ตได้

การสนับสนุนอุปกรณ์

เพื่อรองรับ Passpoint ผู้ผลิตอุปกรณ์จำเป็นต้องใช้อินเทอร์เฟซผู้จัดหา ตั้งแต่ Android 13 เป็นต้นไป อินเทอร์เฟซจะใช้ AIDL สำหรับคำจำกัดความ HAL สำหรับรุ่นก่อน Android 13 อินเทอร์เฟซและพาร์ติชันของผู้จำหน่ายจะใช้ HIDL ไฟล์ HIDL อยู่ใน hardware/interfaces/supplicant/1.x และไฟล์ AIDL อยู่ใน hardware/interfaces/supplicant/aidl ผู้ร้องขอให้การสนับสนุนมาตรฐาน 802.11u โดยเฉพาะคุณลักษณะการค้นหาและการเลือกเครือข่าย เช่น Generic Advertisement Service (GAS) และ access network Query Protocol (ANQP)

การนำไปปฏิบัติ

ระบบปฏิบัติการ Android 11 หรือสูงกว่า

หากต้องการรองรับ Passpoint ในอุปกรณ์ที่ใช้ Android 11 ขึ้นไป ผู้ผลิตอุปกรณ์จำเป็นต้องให้การสนับสนุนเฟิร์มแวร์สำหรับ 802.11u ข้อกำหนดอื่นๆ ทั้งหมดสำหรับการรองรับ Passpoint จะรวมอยู่ใน AOSP

Android 10 หรือต่ำกว่า

สำหรับอุปกรณ์ที่ใช้ Android 10 หรือต่ำกว่า ผู้ผลิตอุปกรณ์จำเป็นต้องให้การสนับสนุนทั้งเฟรมเวิร์กและ HAL/เฟิร์มแวร์:

  • กรอบงาน: เปิดใช้งาน Passpoint (ต้องมีแฟล็กคุณลักษณะ)
  • เฟิร์มแวร์: รองรับ 802.11u

หากต้องการรองรับ Passpoint ให้ใช้ Wi-Fi HAL และเปิดใช้งานการตั้งค่าสถานะคุณลักษณะสำหรับ Passpoint ใน device.mk ที่อยู่ใน device/<oem>/<device> ให้แก้ไขตัวแปรสภาพแวดล้อม PRODUCT_COPY_FILES เพื่อรวมการสนับสนุนคุณลักษณะ Passpoint:

PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml

ข้อกำหนดอื่นๆ ทั้งหมดสำหรับการรองรับ Passpoint จะรวมอยู่ใน AOSP

การตรวจสอบ

หากต้องการตรวจสอบการใช้งานฟีเจอร์ Passpoint ให้ใช้ชุดการทดสอบหน่วยและการทดสอบการรวมที่มีให้ในชุดทดสอบ Android Comms Test Suite (ACTS)

การทดสอบหน่วย

รันการทดสอบหน่วยแพ็คเกจ Passpoint ต่อไปนี้

การทดสอบบริการ:

atest com.android.server.wifi.hotspot2

การทดสอบผู้จัดการ:

atest android.net.wifi.hotspot2

การทดสอบบูรณาการ (ACTS)

ชุดทดสอบ ACTS Passpoint ซึ่งอยู่ใน tools/test/connectivity/acts_tests/tests/google/wifi/WifiPasspointTest.py ใช้ชุดการทดสอบการทำงาน

การจัดเตรียม Passpoint R1

Android รองรับ Passpoint R1 ตั้งแต่ Android 6.0 ทำให้สามารถจัดเตรียมข้อมูลรับรอง Passpoint R1 (รุ่น 1) ผ่านการดาวน์โหลดไฟล์พิเศษทางเว็บที่มีโปรไฟล์และข้อมูลรับรอง ไคลเอนต์จะเปิดตัวโปรแกรมติดตั้งพิเศษสำหรับข้อมูล Wi-Fi โดยอัตโนมัติ และอนุญาตให้ผู้ใช้ดูข้อมูลบางส่วนก่อนที่จะยอมรับหรือปฏิเสธเนื้อหา

ข้อมูลโปรไฟล์ที่อยู่ในไฟล์จะถูกใช้เพื่อจับคู่กับข้อมูลที่ดึงมาจากจุดเข้าใช้งานที่เปิดใช้งาน Passpoint และข้อมูลประจำตัวจะถูกนำไปใช้กับเครือข่ายที่ตรงกันโดยอัตโนมัติ

การใช้งานอ้างอิงของ Android รองรับ EAP-TTLS, EAP-TLS, EAP-SIM, EAP-AKA และ EAP-AKA'

กลไกการดาวน์โหลด

ไฟล์การกำหนดค่า Passpoint จะต้องโฮสต์บนเว็บเซิร์ฟเวอร์และควรได้รับการป้องกันด้วย TLS (HTTPS) เนื่องจากอาจมีรหัสผ่านข้อความที่ชัดเจนหรือข้อมูลคีย์ส่วนตัว เนื้อหาประกอบด้วยข้อความ MIME หลายส่วนที่ห่อซึ่งแสดงในรูปแบบ UTF-8 และเข้ารหัสด้วยการเข้ารหัส base64 ตาม RFC-2045 มาตรา 6.8

ไคลเอนต์ใช้ฟิลด์ส่วนหัว HTTP ต่อไปนี้เพื่อเปิดตัวติดตั้ง Wi-Fi บนอุปกรณ์โดยอัตโนมัติ:

  • ต้องตั้งค่า Content-Type เป็น application/x-wifi-config
  • ต้องตั้งค่า Content-Transfer-Encoding เป็น base64
  • ต้องไม่ตั้งค่า Content-Disposition

วิธี HTTP ที่ใช้ในการดึงไฟล์จะต้องเป็น GET เมื่อใดก็ตามที่ HTTP GET จากเบราว์เซอร์ได้รับการตอบกลับด้วยส่วนหัว MIME เหล่านี้ แอปการติดตั้งจะเริ่มทำงาน การดาวน์โหลดจะต้องทริกเกอร์โดยการแตะที่องค์ประกอบ HTML เช่น ปุ่ม (ไม่รองรับการเปลี่ยนเส้นทางอัตโนมัติไปยัง URL ดาวน์โหลด) ลักษณะการทำงานนี้มีเฉพาะใน Google Chrome; เว็บเบราว์เซอร์อื่นๆ อาจมีหรือไม่มีฟังก์ชันการทำงานที่คล้ายคลึงกัน

องค์ประกอบของไฟล์

เนื้อหาที่เข้ารหัส Base64 ต้องประกอบด้วยเนื้อหาหลายส่วน MIME โดยมี Content-Type เป็น multipart/mixed ส่วนต่อไปนี้ประกอบขึ้นเป็นแต่ละส่วนของเนื้อหาที่มีหลายส่วน

ส่วนหนึ่ง ประเภทเนื้อหา (เครื่องหมายคำพูดน้อยกว่า) ที่จำเป็น คำอธิบาย
ประวัติโดยย่อ application/x-passpoint-profile เสมอ เพย์โหลดที่จัดรูปแบบ OMA-DM SyncML ซึ่งมี Passpoint R1 PerProviderSubscription ที่จัดรูปแบบ MO สำหรับ HomeSP และ Credential
ใบรับรองความน่าเชื่อถือ application/x-x509-ca-cert จำเป็นสำหรับ EAP-TLS และ EAP-TTLS เพย์โหลดใบรับรองที่เข้ารหัส X.509v3 base64 รายการเดียว
คีย์ EAP-TLS application/x-pkcs12 จำเป็นสำหรับ EAP-TLS โครงสร้าง PKCS #12 ASN.1 ที่เข้ารหัส base64 ประกอบด้วยสายใบรับรองไคลเอ็นต์ที่มีอย่างน้อยใบรับรองไคลเอ็นต์และคีย์ส่วนตัวที่เกี่ยวข้อง คอนเทนเนอร์ PKCS 12 รวมถึงคีย์ส่วนตัวและใบรับรองทั้งหมดต้องเป็นข้อความที่ชัดเจนและไม่มีรหัสผ่าน

ส่วนโปรไฟล์จะต้องถ่ายโอนเป็นข้อความ XML ที่เข้ารหัส base64 และเข้ารหัส UTF-8 ที่ระบุส่วนของแผนผังย่อย HomeSP และ Credential ในข้อกำหนดทางเทคนิค Passpoint R2 เวอร์ชัน 1.0.0 ส่วนที่ 9.1

โหนดระดับบนสุดต้องเป็น MgmtTree และโหนดย่อยทันทีต้องเป็น PerProviderSubscription ไฟล์ XML ตัวอย่างปรากฏใน โปรไฟล์ตัวอย่าง OMA-DM XML

โหนดทรีย่อยต่อไปนี้ถูกใช้ภายใต้ HomeSP :

  • FriendlyName : ต้องตั้งค่า; ใช้เป็นข้อความที่แสดง
  • FQDN : จำเป็น
  • RoamingConsortiumOI

โหนดทรีย่อยต่อไปนี้ถูกใช้ภายใต้ Credential :

  • Realm : ต้องเป็นสตริงที่ไม่ว่างเปล่า
  • UsernamePassword : จำเป็นสำหรับ EAP-TTLS ที่มีชุดโหนดต่อไปนี้:

    • Username : สตริงที่มีชื่อผู้ใช้
    • Password : สตริงที่เข้ารหัส Base64 (ตั้งค่าเป็น cGFzc3dvcmQ= ซึ่งเป็นสตริงที่เข้ารหัส base64 สำหรับ "รหัสผ่าน" ในตัวอย่างด้านล่าง)
    • EAPMethod/EAPType : ต้องตั้งค่าเป็น 21
    • EAPMethod/InnerMethod : ต้องตั้งค่าเป็น PAP , CHAP , MS-CHAP หรือ MS-CHAP-V2 อย่างใดอย่างหนึ่ง
  • DigitalCertificate : จำเป็นสำหรับ EAP-TLS ต้องตั้งค่าโหนดต่อไปนี้:

    • CertificateType ตั้งค่าเป็น x509v3
    • CertSHA256Fingerprint ตั้งค่าเป็นการแยกย่อย SHA-256 ที่ถูกต้องของใบรับรองไคลเอ็นต์ในส่วน MIME ของคีย์ EAP-TLS
  • SIM : จำเป็นสำหรับ EAP-SIM, EAP-AKA และ EAP-AKA' ต้องตั้งค่าฟิลด์ EAPType ให้เป็นประเภท EAP ที่เหมาะสม และ IMSI จะต้องตรงกับ IMSI ของหนึ่งในซิมการ์ดที่ติดตั้งในอุปกรณ์ ณ เวลาที่จัดเตรียม สตริง IMSI สามารถประกอบด้วยหลักทศนิยมทั้งหมดเพื่อบังคับให้จับคู่ความเท่าเทียมกันทั้งหมด หรือประกอบด้วยทศนิยม 5 หรือ 6 หลักตามด้วยเครื่องหมายดอกจัน (*) เพื่อผ่อนปรนการจับคู่ IMSI กับ MCC/MNC เท่านั้น ตัวอย่างเช่น สตริง IMSI 123456* จะจับคู่ซิมการ์ดใดๆ ที่มี MCC เป็น 123 และ MNC เป็น 456

Android 11 นำเสนอความสามารถที่ทำให้การจัดเตรียม Passpoint R1 มีความยืดหยุ่นมากขึ้น

แยกชื่อโดเมนการรับรองความถูกต้อง การอนุญาต และการบัญชี (AAA)

ผู้ดูแลระบบเครือข่าย Passpoint ที่ต้องมีการระบุชื่อโดเมน AAA โดยไม่ขึ้นอยู่กับชื่อโดเมนแบบเต็ม (FQDN) ที่โฆษณาโดยเครือข่ายผ่าน Access Network Query Protocol (ANQP) สามารถระบุรายการ FQDN ที่คั่นด้วยเครื่องหมายอัฒภาคในโหนดใหม่ภายใต้ทรีย่อยส่วน Extension . นี่เป็นโหนดเสริมและอุปกรณ์ที่ใช้ Android เวอร์ชัน 10 หรือต่ำกว่าจะไม่สนใจโหนดนี้

  • Android : ทรีย่อยส่วนขยาย Android

    • AAAServerTrustedNames : จำเป็นสำหรับชื่อที่เชื่อถือได้ของเซิร์ฟเวอร์ AAA โดยมีชุดโหนดต่อไปนี้:

      • FQDN : สตริงที่มีชื่อที่เชื่อถือได้ของเซิร์ฟเวอร์ AAA ใช้เครื่องหมายอัฒภาคเพื่อแยกชื่อที่เชื่อถือได้ ตัวอย่างเช่น example.org;example.com
Root CA ส่วนตัวที่ลงนามด้วยตนเอง
ผู้ดูแลระบบเครือข่าย Passpoint ที่จัดการใบรับรองภายในสามารถจัดเตรียมโปรไฟล์ด้วย CA แบบส่วนตัวที่ลงชื่อด้วยตนเองสำหรับการตรวจสอบสิทธิ์ AAA
อนุญาตให้ติดตั้งส่วนกำหนดค่าโดยไม่มีใบรับรอง Root CA
ใบรับรอง Root CA ที่แนบมากับโปรไฟล์ใช้สำหรับการรับรองความถูกต้องของเซิร์ฟเวอร์ AAA ผู้ดูแลระบบเครือข่าย Passpoint ที่ต้องการใช้ Root CA สาธารณะที่เชื่อถือได้สำหรับการรับรองความถูกต้องของเซิร์ฟเวอร์ AAA สามารถจัดเตรียมโปรไฟล์โดยไม่ต้องใช้ใบรับรอง Root CA ในกรณีนี้ ระบบจะตรวจสอบใบรับรองเซิร์ฟเวอร์ AAA กับใบรับรอง Root CA สาธารณะที่ติดตั้งใน trust store

การจัดเตรียม Passpoint R2

Android 10 เปิดตัวการรองรับฟีเจอร์ Passpoint R2 Passpoint R2 ใช้การลงทะเบียนออนไลน์ (OSU) ซึ่งเป็นวิธีการมาตรฐานในการจัดเตรียมโปรไฟล์ Passpoint ใหม่ Android 10 ขึ้นไปรองรับการจัดเตรียมโปรไฟล์ EAP-TTLS โดยใช้โปรโตคอล SOAP-XML บน OSU ESS แบบเปิด

คุณสมบัติ Passpoint R2 ที่รองรับ ต้องใช้รหัสอ้างอิง AOSP เท่านั้น ไม่จำเป็นต้องมีไดรเวอร์หรือเฟิร์มแวร์เพิ่มเติม) รหัสอ้างอิง AOSP ยังรวมการใช้งาน Passpoint R2 UI ตามค่าเริ่มต้นในแอปการตั้งค่าด้วย

เมื่อ Android ตรวจพบจุดเข้าใช้งาน Passpoint R2 กรอบงาน Android:

  1. แสดงรายการผู้ให้บริการที่ AP โฆษณาในตัวเลือก Wi-Fi (นอกเหนือจากการแสดง SSID)
  2. แจ้งให้ผู้ใช้แตะผู้ให้บริการรายใดรายหนึ่งเพื่อตั้งค่าโปรไฟล์ Passpoint
  3. แนะนำผู้ใช้ผ่านขั้นตอนการตั้งค่าโปรไฟล์ Passpoint
  4. ติดตั้งโปรไฟล์ Passpoint ที่เป็นผลลัพธ์เมื่อดำเนินการเสร็จสิ้น
  5. เชื่อมโยงกับเครือข่าย Passpoint โดยใช้โปรไฟล์ Passpoint ที่จัดเตรียมใหม่

คุณสมบัติพาสพอยต์ R3

Android 12 แนะนำฟีเจอร์ Passpoint R3 ต่อไปนี้ที่ปรับปรุงประสบการณ์ผู้ใช้และอนุญาตให้เครือข่ายปฏิบัติตามกฎหมายท้องถิ่น:

ข้อกำหนดและเงื่อนไข

จำเป็นต้องยอมรับข้อกำหนดและเงื่อนไขตามกฎหมายในสถานที่และสถานที่บางแห่งเพื่อให้สามารถเข้าถึงเครือข่ายได้ คุณลักษณะนี้ช่วยให้การปรับใช้เครือข่ายแทนที่พอร์ทัลแบบ Captive ที่ไม่ปลอดภัยซึ่งใช้เครือข่ายแบบเปิดด้วยเครือข่าย Passpoint ที่ปลอดภัย การแจ้งเตือนจะแสดงต่อผู้ใช้เมื่อจำเป็นต้องยอมรับข้อกำหนดและเงื่อนไข

URL ข้อกำหนดและเงื่อนไขต้องชี้ไปยังเว็บไซต์ที่ปลอดภัยโดยใช้ HTTPS หาก URL ชี้ไปยังเว็บไซต์ที่ไม่ปลอดภัย เฟรมเวิร์กจะตัดการเชื่อมต่อและบล็อกเครือข่ายทันที

URL ข้อมูลสถานที่

ช่วยให้ผู้ให้บริการเครือข่ายและสถานที่ให้ข้อมูลเพิ่มเติมแก่ผู้ใช้ เช่น แผนที่สถานที่ ไดเรกทอรี โปรโมชั่น และคูปอง การแจ้งเตือนจะแสดงต่อผู้ใช้เมื่อมีการเชื่อมต่อเครือข่าย

URL ข้อมูลสถานที่ต้องชี้ไปยังเว็บไซต์ที่ปลอดภัยโดยใช้ HTTPS หาก URL ชี้ไปยังเว็บไซต์ที่ไม่ปลอดภัย เฟรมเวิร์กจะไม่สนใจ URL และไม่แสดงการแจ้งเตือน

คุณสมบัติ Passpoint อื่น ๆ

Android 11 แนะนำความสามารถของ Passpoint ต่อไปนี้ ซึ่งปรับปรุงประสบการณ์ผู้ใช้ การใช้พลังงาน และความยืดหยุ่นในการปรับใช้

การบังคับใช้และการแจ้งเตือนวันหมดอายุ
การบังคับใช้วันที่หมดอายุบนโปรไฟล์ช่วยให้เฟรมเวิร์กหลีกเลี่ยงการเชื่อมต่ออัตโนมัติไปยังจุดเข้าใช้งานที่มีข้อมูลรับรองหมดอายุ ซึ่งผูกมัดว่าจะล้มเหลว สิ่งนี้จะป้องกันการใช้เวลาออกอากาศและช่วยประหยัดแบตเตอรี่และแบนด์วิดท์แบ็กเอนด์ กรอบงานจะแสดงการแจ้งเตือนแก่ผู้ใช้เมื่อเครือข่ายที่ตรงกับโปรไฟล์ของตนอยู่ในช่วงและโปรไฟล์หมดอายุ
หลายโปรไฟล์ที่มี FQDN เหมือนกัน
ผู้ให้บริการที่ใช้เครือข่าย Passpoint และใช้ ID เครือข่ายโทรศัพท์เคลื่อนที่สาธารณะ (PLMN) หลายรายการสามารถจัดเตรียมโปรไฟล์ Passpoint หลายโปรไฟล์ด้วย FQDN เดียวกัน หนึ่งโปรไฟล์สำหรับแต่ละ PLMN ID ซึ่งจะจับคู่กับซิมการ์ดที่ติดตั้งโดยอัตโนมัติและใช้ในการเชื่อมต่อเครือข่าย

Android 12 แนะนำความสามารถของ Passpoint ต่อไปนี้ ซึ่งปรับปรุงประสบการณ์ผู้ใช้ การใช้พลังงาน และความยืดหยุ่นในการปรับใช้:

คำนำหน้าตัวตนที่ตกแต่งแล้ว
เมื่อตรวจสอบความถูกต้องกับเครือข่ายที่มีการตกแต่งคำนำหน้า คำนำหน้าเอกลักษณ์ที่ได้รับการตกแต่งจะช่วยให้ผู้ให้บริการเครือข่ายอัปเดต Network Access Identifier (NAI) เพื่อดำเนินการกำหนดเส้นทางที่ชัดเจนผ่านพร็อกซีหลายตัวภายในเครือข่าย AAA (ดู RFC 7542 ) Android 12 ใช้ฟีเจอร์นี้ตาม ข้อกำหนด WBA สำหรับส่วนขยาย PPS-MO
การจัดการการพิสูจน์ตัวตนใกล้จะเกิดขึ้น
อนุญาตให้ผู้ให้บริการเครือข่ายส่งสัญญาณไปยังอุปกรณ์ว่าไม่มีบริการสำหรับข้อมูลรับรองที่ใช้ในการตรวจสอบสิทธิ์กับเครือข่ายในช่วงระยะเวลาหนึ่ง (ระบุผ่านการหน่วงเวลาหมดเวลา) หลังจากรับสัญญาณนี้ อุปกรณ์จะไม่พยายามเชื่อมต่อกับเครือข่ายอีกครั้งด้วยข้อมูลประจำตัวเดียวกันจนกว่าการหน่วงเวลาหมดเวลาจะหมดลง ในทางตรงกันข้าม อุปกรณ์ที่ไม่รองรับคุณสมบัตินี้อาจพยายามเชื่อมต่อกับเครือข่ายซ้ำหลายครั้งในขณะที่บริการไม่พร้อมใช้งาน

ตัวอย่างของโปรไฟล์ OMA-DM PerProviderSubscription-MO XML

โปรไฟล์พร้อมชื่อผู้ใช้/รหัสผ่าน (EAP-TTLS)

ตัวอย่างต่อไปนี้สาธิตโปรไฟล์สำหรับเครือข่ายด้วย:

  • ชื่อที่เป็นมิตรกับเครือข่ายตั้งค่าเป็น Example Network
  • FQDN ตั้งค่าเป็น hotspot.example.net
  • OI ของกลุ่มการโรมมิ่ง (สำหรับการโรมมิ่ง)
  • ข้อมูลประจำตัวที่มีชื่อผู้ใช้ user รหัสผ่าน password ผ่านที่เข้ารหัสด้วย Base64 และขอบเขตที่ตั้งค่าเป็น example.net
  • วิธี EAP ตั้งค่าเป็น 21 (EAP-TTLS)
  • วิธีภายในเฟส 2 ตั้งค่าเป็น MS-CHAP-V2
  • ชื่อโดเมน AAA ทางเลือกที่ตั้งค่าเป็น trusted.com และ trusted.net
<MgmtTree xmlns="syncml:dmddf1.2">
  <VerDTD>1.2</VerDTD>
  <Node>
    <NodeName>PerProviderSubscription</NodeName>
    <RTProperties>
      <Type>
        <DDFName>urn:wfa:mo:hotspot2dot0-perprovidersubscription:1.0</DDFName>
      </Type>
    </RTProperties>
    <Node>
      <NodeName>i001</NodeName>
      <Node>
        <NodeName>HomeSP</NodeName>
        <Node>
          <NodeName>FriendlyName</NodeName>
          <Value>Example Network</Value>
        </Node>
        <Node>
          <NodeName>FQDN</NodeName>
          <Value>hotspot.example.net</Value>
        </Node>
        <Node>
          <NodeName>RoamingConsortiumOI</NodeName>
          <Value>112233,445566</Value>
        </Node>
      </Node>
      <Node>
        <NodeName>Credential</NodeName>
        <Node>
          <NodeName>Realm</NodeName>
          <Value>example.net</Value>
        </Node>
        <Node>
          <NodeName>UsernamePassword</NodeName>
          <Node>
            <NodeName>Username</NodeName>
            <Value>user</Value>
          </Node>
          <Node>
            <NodeName>Password</NodeName>
            <Value>cGFzc3dvcmQ=</Value>
          </Node>
          <Node>
            <NodeName>EAPMethod</NodeName>
            <Node>
              <NodeName>EAPType</NodeName>
              <Value>21</Value>
            </Node>
            <Node>
              <NodeName>InnerMethod</NodeName>
              <Value>MS-CHAP-V2</Value>
            </Node>
          </Node>
        </Node>
      </Node>
      <Node>
        <NodeName>Extension</NodeName>
        <Node>
            <NodeName>Android</NodeName>
            <Node>
                <NodeName>AAAServerTrustedNames</NodeName>
                <Node>
                    <NodeName>FQDN</NodeName>
                    <Value>trusted.com;trusted.net</Value>
                </Node>
            </Node>
        </Node>
      </Node>
    </Node>
  </Node>
</MgmtTree>

โปรไฟล์ที่มีข้อมูลรับรองใบรับรองดิจิทัล (EAP-TLS)

ตัวอย่างต่อไปนี้สาธิตโปรไฟล์สำหรับเครือข่ายด้วย:

  • ชื่อที่เป็นมิตรกับเครือข่ายตั้งค่าเป็น GlobalRoaming
  • FQDN ตั้งค่าเป็น globalroaming.net
  • Roaming Consortium OIs (สำหรับการโรมมิ่ง)
  • ขอบเขตตั้งค่าเป็น users.globalroaming.net
  • ข้อมูลรับรองพร้อมใบรับรองดิจิทัลที่มีลายนิ้วมือที่ระบุ
<MgmtTree xmlns="syncml:dmddf1.2">
  <VerDTD>1.2</VerDTD>
  <Node>
    <NodeName>PerProviderSubscription</NodeName>
    <RTProperties>
      <Type>
        <DDFName>urn:wfa:mo:hotspot2dot0-perprovidersubscription:1.0</DDFName>
      </Type>
    </RTProperties>
    <Node>
      <NodeName>i001</NodeName>
      <Node>
        <NodeName>HomeSP</NodeName>
        <Node>
          <NodeName>FriendlyName</NodeName>
          <Value>GlobalRoaming</Value>
        </Node>
        <Node>
          <NodeName>FQDN</NodeName>
          <Value>globalroaming.net</Value>
        </Node>
        <Node>
          <NodeName>RoamingConsortiumOI</NodeName>
          <Value>FFEEDDCC0,FFEEDDCC1,009999,008888</Value>
        </Node>
      </Node>
      <Node>
        <NodeName>Credential</NodeName>
        <Node>
          <NodeName>Realm</NodeName>
          <Value>users.globalroaming.net</Value>
        </Node>
        <Node>
          <NodeName>DigitalCertificate</NodeName>
          <Node>
            <NodeName>CertificateType</NodeName>
            <Value>x509v3</Value>
          </Node>
          <Node>
            <NodeName>CertSHA256Fingerprint</NodeName>
            <Value>0ef08a3d2118700474ca51fa25dc5e6d3d63d779aaad8238b608a853761da533</Value>
          </Node>
        </Node>
      </Node>
    </Node>
  </Node>
</MgmtTree>

โปรไฟล์พร้อมข้อมูลรับรอง SIM (EAP-AKA)

ตัวอย่างต่อไปนี้สาธิตโปรไฟล์สำหรับเครือข่ายด้วย:

  • ชื่อที่เป็นมิตรกับเครือข่ายตั้งค่าเป็น Purple Passpoint
  • FQDN ตั้งค่าเป็น wlan.mnc888.mcc999.3gppnetwork.org
  • ข้อมูลรับรอง SIM ที่มี PLMN ID 999888
  • วิธี EAP ตั้งค่าเป็น 23 (EAP-AKA)
<MgmtTree xmlns="syncml:dmddf1.2">
  <VerDTD>1.2</VerDTD>
  <Node>
    <NodeName>PerProviderSubscription</NodeName>
    <RTProperties>
      <Type>
        <DDFName>urn:wfa:mo:hotspot2dot0-perprovidersubscription:1.0</DDFName>
      </Type>
    </RTProperties>
    <Node>
      <NodeName>i001</NodeName>
      <Node>
        <NodeName>HomeSP</NodeName>
        <Node>
          <NodeName>FriendlyName</NodeName>
          <Value>Purple Passpoint</Value>
        </Node>
        <Node>
          <NodeName>FQDN</NodeName>
          <Value>purplewifi.com</Value>
        </Node>
      </Node>
      <Node>
        <NodeName>Credential</NodeName>
        <Node>
          <NodeName>Realm</NodeName>
          <Value>wlan.mnc888.mcc999.3gppnetwork.org</Value>
        </Node>
        <Node>
          <NodeName>SIM</NodeName>
          <Node>
            <NodeName>IMSI</NodeName>
            <Value>999888*</Value>
          </Node>
          <Node>
            <NodeName>EAPType</NodeName>
            <Value>23</Value>
          </Node>
        </Node>
      </Node>
    </Node>
  </Node>
</MgmtTree>

ให้คำปรึกษาด้านการตรวจสอบสิทธิ์

อุปกรณ์ที่ใช้ Android 8.x หรือ Android 9 ที่มีโปรไฟล์ Passpoint R1 EAP-SIM, EAP-AKA หรือ EAP-AKA จะไม่เชื่อมต่อกับเครือข่าย Passpoint โดยอัตโนมัติ ปัญหานี้ส่งผลต่อผู้ใช้ ผู้ให้บริการ และบริการโดยการลดภาระงาน Wi-Fi

เซ็กเมนต์ ผลกระทบ ขนาดของแรงกระแทก
ผู้ให้บริการและผู้ให้บริการ Passpoint เพิ่มภาระบนเครือข่ายเซลลูล่าร์ ผู้ให้บริการรายใดที่ใช้ Passpoint R1
ผู้ใช้ พลาดโอกาสในการเชื่อมต่ออัตโนมัติกับจุดเข้าใช้งาน Wi-Fi ของผู้ให้บริการ (AP) ส่งผลให้ต้นทุนข้อมูลสูงขึ้น ผู้ใช้ที่มีอุปกรณ์ที่ทำงานบนเครือข่ายผู้ให้บริการที่รองรับ Passpoint R1

สาเหตุของความล้มเหลว

Passpoint ระบุกลไกในการจับคู่ผู้ให้บริการที่โฆษณา (ANQP) กับโปรไฟล์ที่ติดตั้งบนอุปกรณ์ กฎการจับคู่ต่อไปนี้สำหรับ EAP-SIM, EAP-AKA และ EAP-AKA' เป็นชุดกฎบางส่วนที่เน้นไปที่ความล้มเหลวของ EAP-SIM/AKA/AKA':

If the FQDN (Fully Qualified Domain Name) matches
    then the service is a Home Service Provider.
Else: If the PLMN ID (3GPP Network) matches
    then the service is a Roaming Service Provider.

เกณฑ์ที่สองได้รับการแก้ไขใน Android 8.0:

Else: If the PLMN ID (3GPP Network) matches AND the NAI Realm matches
    then the service is a Roaming Service Provider.

ด้วยการปรับเปลี่ยนนี้ ระบบพบว่าไม่ตรงกับผู้ให้บริการที่ทำงานก่อนหน้านี้ อุปกรณ์ Passpoint จึงไม่เชื่อมต่ออัตโนมัติ

วิธีแก้ปัญหา

หากต้องการแก้ไขปัญหาเกณฑ์การจับคู่ที่ได้รับการแก้ไข ผู้ให้บริการและผู้ให้บริการจำเป็นต้องเพิ่มขอบเขตตัวระบุการเข้าถึงเครือข่าย (NAI) ลงในข้อมูลที่เผยแพร่โดย Passpoint AP

วิธีแก้ปัญหาที่แนะนำคือให้ผู้ให้บริการเครือข่ายใช้วิธีแก้ไขปัญหาฝั่งเครือข่ายเพื่อให้ใช้งานได้เร็วที่สุด วิธีแก้ปัญหาฝั่งอุปกรณ์ขึ้นอยู่กับ OEM ที่ได้รับรายการการเปลี่ยนแปลง (CL) จาก AOSP แล้วอัปเดตอุปกรณ์ในภาคสนาม

การแก้ไขเครือข่ายสำหรับผู้ให้บริการและผู้ให้บริการ Passpoint

วิธีแก้ปัญหาฝั่งเครือข่ายจำเป็นต้องกำหนดค่าเครือข่ายใหม่เพื่อเพิ่มองค์ประกอบ ANQP ขอบเขต NAI ตามที่ระบุไว้ด้านล่าง ข้อมูลจำเพาะของ Passpoint ไม่จำเป็นต้องมีองค์ประกอบ ANQP ขอบเขตของ NAI แต่การเพิ่มคุณสมบัตินี้สอดคล้องกับข้อกำหนดของ Passpoint ดังนั้นการใช้งานไคลเอนต์ที่เป็นไปตามข้อกำหนดไม่ควรหยุดทำงาน

  1. เพิ่มองค์ประกอบ ANQP ขอบเขต NAI
  2. ตั้งค่าฟิลด์ย่อยขอบเขต NAI ให้ตรงกับ Realm ของโปรไฟล์ที่ติดตั้งบนอุปกรณ์
  3. ตั้งค่าข้อมูลต่อไปนี้ตาม EAP แต่ละประเภท:

    • EAP-TTLS: ตั้ง EAPMethod(21) และประเภทการตรวจสอบภายในที่รองรับ ( PAP , CHAP , MS-CHAP หรือ MS-CHAP-V2 )
    • EAP-TLS: ตั้งค่า EAPMethod(13)
    • EAP-SIM: ตั้งค่า EAPMethod(18)
    • EAP-AKA: ตั้งค่า EAPMethod(23)
    • EAP-AKA': ตั้งค่า EAPMethod(50)

การแก้ไขอุปกรณ์/AOSP สำหรับ OEM

หากต้องการใช้วิธีแก้ปัญหาฝั่งอุปกรณ์ OEM จำเป็นต้องเลือกแพตช์ CL aosp/718508 แพทช์นี้สามารถนำไปใช้กับรุ่นต่อไปนี้ได้ (ใช้ไม่ได้กับ Android 10 หรือสูงกว่า):

  • แอนดรอยด์ 9
  • แอนดรอยด์ 8.x

เมื่อแพตช์ถูกหยิบขึ้นมา OEM จำเป็นต้องอัปเดตอุปกรณ์ในภาคสนาม