Passpoint เป็นโปรโตคอลของ Wi-Fi Alliance (WFA) ที่ช่วยให้อุปกรณ์เคลื่อนที่สามารถค้นหาและตรวจสอบสิทธิ์กับฮอตสปอต Wi-Fi ที่ให้บริการอินเทอร์เน็ต
การสนับสนุนอุปกรณ์
ผู้ผลิตอุปกรณ์ต้องใช้อินเทอร์เฟซ Suก่อนจึงจะรองรับ Passpoint ได้ ตั้งแต่ Android 13 เป็นต้นไป อินเทอร์เฟซจะใช้ AIDL สำหรับคำจำกัดความ HAL
สำหรับรุ่นก่อน Android 13
อินเทอร์เฟซและพาร์ติชันผู้ให้บริการจะใช้ HIDL
ไฟล์ HIDL อยู่ใน hardware/interfaces/supplicant/1.x
ส่วนไฟล์ AIDL อยู่ใน hardware/interfaces/supplicant/aidl
ผู้สมัครจะให้การสนับสนุนมาตรฐาน 802.11u โดยเฉพาะฟีเจอร์การค้นหาและการเลือกเครือข่าย เช่น บริการโฆษณาทั่วไป (GAS) และโปรโตคอลการค้นหาเครือข่ายการเข้าถึง (ANQP)
การใช้งาน
Android 11 ขึ้นไป
หากต้องการรองรับ Passpoint ในอุปกรณ์ที่ใช้ Android 11 ขึ้นไป ผู้ผลิตอุปกรณ์จะต้องรองรับเฟิร์มแวร์สำหรับ 802.11u ข้อกำหนดอื่นๆ ทั้งหมดสำหรับการรองรับ Passpoint จะรวมอยู่ใน AOSP
Android 10 หรือต่ำกว่า
สำหรับอุปกรณ์ที่ใช้ Android 10 หรือต่ำกว่า ผู้ผลิตอุปกรณ์ต้องรองรับทั้งเฟรมเวิร์กและ HAL/เฟิร์มแวร์ ดังนี้
- เฟรมเวิร์ก: เปิดใช้ Passpoint (ต้องมีแฟล็กฟีเจอร์)
- เฟิร์มแวร์: รองรับ 802.11u
หากต้องการรองรับ Passpoint ให้ใช้ Wi-Fi HAL และเปิดใช้ Flag ฟีเจอร์สำหรับ 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 ให้เรียกใช้การทดสอบหน่วยแพ็กเกจ Passpoint ต่อไปนี้
การทดสอบบริการ
atest com.android.server.wifi.hotspot2
การทดสอบผู้จัดการ:
atest android.net.wifi.hotspot2
การจัดสรร 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
ส่วนต่างๆ ต่อไปนี้เป็นส่วนประกอบของเนื้อหาที่มีหลายส่วน
ส่วน | Content-Type (ไม่ใส่เครื่องหมายคำพูด) | ต้องระบุ | คำอธิบาย |
---|---|---|---|
โปรไฟล์ |
application/x-passpoint-profile
|
เสมอ | เพย์โหลดรูปแบบ OMA-DM SyncML ที่มี MO รูปแบบ Passpoint R1
PerProviderSubscription สำหรับ HomeSP
และ Credential |
ใบรับรองความน่าเชื่อถือ |
application/x-x509-ca-cert
|
จำเป็นสำหรับ EAP-TLS และ EAP-TTLS | เพย์โหลดใบรับรอง X.509v3 ที่เข้ารหัสฐาน 64 รายการเดียว |
คีย์ EAP-TLS |
application/x-pkcs12
|
ต้องระบุสำหรับ EAP-TLS | โครงสร้าง ASN.1 ของ PKCS #12 ที่เข้ารหัส Base64 ซึ่งมีเชนใบรับรองไคลเอ็นต์ที่มีใบรับรองไคลเอ็นต์และคีย์ส่วนตัวที่เชื่อมโยงกันอย่างน้อย 1 รายการ คอนเทนเนอร์ PKCS 12 รวมถึงคีย์ส่วนตัวและใบรับรองต้องอยู่ในรูปแบบข้อความธรรมดาโดยไม่มีรหัสผ่าน |
ส่วนโปรไฟล์ต้องโอนเป็นข้อความ XML ที่เข้ารหัสฐาน 64 และเข้ารหัส UTF-8 ซึ่งระบุบางส่วนของซับต้นไม้ HomeSP
และ Credential
ในข้อกำหนดทางเทคนิคของ Passpoint R2 เวอร์ชัน 1.0.0 ส่วนที่ 9.1
โหนดระดับบนสุดต้องเป็น MgmtTree
และโหนดย่อยโดยตรงต้องเป็น PerProviderSubscription
ตัวอย่างไฟล์ XML จะปรากฏใน Example profile 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) ที่เครือข่ายโฆษณาผ่านโปรโตคอลการค้นหาเครือข่ายการเข้าถึง (ANQP) สามารถระบุรายการ FQDN ที่คั่นด้วยเซมิโคลอนได้ในโหนดใหม่ภายใต้ซับต้นไม้
Extension
นี่เป็นโหนดที่ไม่บังคับและอุปกรณ์ที่ใช้ Android เวอร์ชัน 10 หรือต่ำกว่าจะไม่สนใจโหนดนี้
Android
: ซับต้นไม้ของส่วนขยาย AndroidAAAServerTrustedNames
: ต้องระบุสำหรับชื่อที่เชื่อถือได้ของเซิร์ฟเวอร์ AAA ที่มีการตั้งค่าโหนดต่อไปนี้FQDN
: สตริงที่มีชื่อที่เชื่อถือได้ของเซิร์ฟเวอร์ AAA ใช้เซมิโคลอนเพื่อคั่นชื่อที่เชื่อถือ ตัวอย่างเช่นexample.org;example.com
- CA รากส่วนตัวที่ลงนามด้วยตนเอง
- ผู้ดูแลระบบเครือข่าย Passpoint ที่จัดการใบรับรองเป็นการภายในจะจัดสรรโปรไฟล์ด้วย CA ส่วนตัวที่ลงนามด้วยตนเองสำหรับการตรวจสอบสิทธิ์ AAA
- อนุญาตให้ติดตั้งโปรไฟล์ที่ไม่มีใบรับรอง CA รูท
- ใบรับรอง Root CA ที่แนบอยู่กับโปรไฟล์จะใช้สำหรับการตรวจสอบสิทธิ์เซิร์ฟเวอร์ AAA ผู้ดูแลระบบเครือข่าย Passpoint ที่ต้องการใช้ CA รูทที่เชื่อถือได้แบบสาธารณะสำหรับการตรวจสอบสิทธิ์เซิร์ฟเวอร์ AAA สามารถจัดสรรโปรไฟล์ได้โดยไม่ต้องมีใบรับรอง CA รูท ในกรณีนี้ ระบบจะยืนยันใบรับรองเซิร์ฟเวอร์ AAA กับใบรับรอง CA รูทสาธารณะที่ติดตั้งไว้ในที่เก็บข้อมูลที่เชื่อถือได้
การจัดสรร Passpoint R2
Android 10 เปิดตัวการรองรับฟีเจอร์ Passpoint R2 Passpoint R2 ใช้การลงชื่อสมัครใช้ออนไลน์ (OSU) ซึ่งเป็นวิธีการมาตรฐานในการจัดสรรโปรไฟล์ Passpoint ใหม่ Android 10 ขึ้นไปรองรับการจัดสรรโปรไฟล์ EAP-TTLS โดยใช้โปรโตคอล SOAP-XML ผ่าน OSU ESS แบบเปิด
ฟีเจอร์ Passpoint R2 ที่รองรับซึ่งต้องใช้เพียงรหัสอ้างอิง AOSP เท่านั้น (ไม่จำเป็นต้องรองรับไดรเวอร์หรือเฟิร์มแวร์เพิ่มเติม) โค้ดอ้างอิงของ AOSP ยังมีการใช้งาน UI ของ Passpoint R2 โดยค่าเริ่มต้นในแอปการตั้งค่าด้วย
เมื่อ Android ตรวจพบจุดเข้าใช้งาน Passpoint R2 เฟรมเวิร์ก Android จะดำเนินการต่อไปนี้
- แสดงรายชื่อผู้ให้บริการที่ AP โฆษณาในเครื่องมือเลือก Wi-Fi (นอกเหนือจากการแสดง SSID)
- แจ้งให้ผู้ใช้แตะผู้ให้บริการรายใดรายหนึ่งเพื่อตั้งค่าโปรไฟล์ Passpoint
- แนะนำผู้ใช้เกี่ยวกับขั้นตอนการตั้งค่าโปรไฟล์ Passpoint
- ติดตั้งโปรไฟล์ Passpoint ที่ได้จนเสร็จสมบูรณ์
- เชื่อมโยงกับเครือข่าย Passpoint โดยใช้โปรไฟล์ Passpoint ที่จัดสรรใหม่
ฟีเจอร์ของ Passpoint R3
Android 12 เปิดตัวฟีเจอร์ Passpoint R3 ต่อไปนี้ที่ปรับปรุงประสบการณ์ของผู้ใช้และช่วยให้เครือข่ายปฏิบัติตามกฎหมายท้องถิ่นได้
- ข้อกำหนดและเงื่อนไข
การยอมรับข้อกำหนดและเงื่อนไขเป็นข้อกำหนดทางกฎหมายในบางสถานที่และสถานที่เพื่อให้สิทธิ์เข้าถึงเครือข่าย ฟีเจอร์นี้ช่วยให้การติดตั้งใช้งานเครือข่ายสามารถแทนที่แคพทีฟพอร์ทัลที่ไม่ปลอดภัยซึ่งใช้เครือข่ายแบบเปิดด้วยเครือข่าย Passpoint ที่ปลอดภัย การแจ้งเตือนจะแสดงต่อผู้ใช้เมื่อคุณต้องยอมรับข้อกำหนดและเงื่อนไข
URL ข้อกําหนดและเงื่อนไขต้องชี้ไปยังเว็บไซต์ที่ปลอดภัยโดยใช้ HTTPS หาก URL ชี้ไปยังเว็บไซต์ที่ไม่ปลอดภัย เฟรมเวิร์กจะยกเลิกการเชื่อมต่อและบล็อกเครือข่ายทันที
- URL ข้อมูลสถานที่
อนุญาตให้ผู้ให้บริการเครือข่ายและสถานที่ให้ข้อมูลเพิ่มเติมแก่ผู้ใช้ เช่น แผนที่ของสถานที่ ไดเรกทอรี โปรโมชัน และคูปองในสถานที่ ระบบจะแสดงการแจ้งเตือนให้ผู้ใช้ทราบเมื่อเชื่อมต่อเครือข่ายแล้ว
URL ข้อมูลสถานที่ต้องชี้ไปยังเว็บไซต์ที่ปลอดภัยโดยใช้ HTTPS หาก URL ชี้ไปยังเว็บไซต์ที่ไม่ปลอดภัย เฟรมเวิร์กจะไม่สนใจ URL นั้นและจะไม่แสดงการแจ้งเตือน
ฟีเจอร์อื่นๆ ของ Passpoint
Android 11 เปิดตัวความสามารถต่อไปนี้ของ Passpoint ซึ่งช่วยปรับปรุงประสบการณ์ของผู้ใช้ การใช้พลังงาน และความยืดหยุ่นในการใช้งาน
- การบังคับใช้และการแจ้งเตือนวันที่หมดอายุ
- การบังคับใช้วันที่หมดอายุในโปรไฟล์จะช่วยให้เฟรมเวิร์กหลีกเลี่ยงการเชื่อมต่อโดยอัตโนมัติกับจุดเข้าใช้งานที่มีข้อมูลเข้าสู่ระบบที่หมดอายุ ซึ่งอาจทำไม่สำเร็จ ซึ่งจะช่วยป้องกันการใช้เวลาออกอากาศ รวมถึงประหยัดแบตเตอรี่และแบนด์วิดท์แบนด์วิทของแบ็กเอนด์ เฟรมเวิร์กจะแสดงการแจ้งเตือนให้ผู้ใช้ทราบเมื่อเครือข่ายที่ตรงกับโปรไฟล์ของผู้ใช้อยู่ในระยะสัญญาณและโปรไฟล์หมดอายุแล้ว
- โปรไฟล์หลายรายการที่มี FQDN เหมือนกัน
- ผู้ให้บริการที่ใช้เครือข่าย Passpoint และใช้รหัสเครือข่ายมือถือสาธารณะ (PLMN) หลายรหัสจะจัดสรรโปรไฟล์ Passpoint หลายรายการที่มี FQDN เดียวกันได้ 1 โปรไฟล์สำหรับรหัส PLMN แต่ละรหัส ซึ่งจะจับคู่กับซิมการ์ดที่ติดตั้งไว้และใช้เพื่อเชื่อมต่อเครือข่ายโดยอัตโนมัติ
Android 12 เปิดตัวความสามารถต่อไปนี้ของ Passpoint ซึ่งช่วยปรับปรุงประสบการณ์ของผู้ใช้ การใช้พลังงาน และความยืดหยุ่นในการใช้งาน
- คำนำหน้าข้อมูลประจำตัวที่ตกแต่งอย่างสวยงาม
- เมื่อตรวจสอบสิทธิ์เครือข่ายที่มีการตกแต่งนำหน้า คำนำหน้าข้อมูลประจำตัวที่มีการตกแต่งไว้จะช่วยให้ผู้ให้บริการเครือข่ายอัปเดตตัวระบุการเข้าถึงเครือข่าย (NAI) เพื่อทำการกำหนดเส้นทางที่ชัดเจนผ่านพร็อกซีหลายรายการภายในเครือข่าย AAA (ดู RFC 7542) Android 12 ใช้ฟีเจอร์นี้ตามข้อกำหนดของ WBA สำหรับส่วนขยาย PPS-MO
- การจัดการกับการยกเลิกการตรวจสอบสิทธิ์ที่กําลังจะเกิดขึ้น
- อนุญาตให้ผู้ให้บริการเครือข่ายส่งสัญญาณไปยังอุปกรณ์ว่าบริการไม่พร้อมใช้งานสำหรับข้อมูลเข้าสู่ระบบที่ใช้ตรวจสอบสิทธิ์กับเครือข่ายเป็นระยะเวลาหนึ่ง (ระบุผ่านเวลารอที่หมดอายุ) หลังจากได้รับสัญญาณนี้ อุปกรณ์จะไม่พยายามเชื่อมต่อกับเครือข่ายอีกครั้งด้วยข้อมูลเข้าสู่ระบบเดียวกันจนกว่าเวลาหมดอายุของระยะหน่วงจะสิ้นสุดลง ในทางตรงกันข้าม อุปกรณ์ที่ไม่รองรับฟีเจอร์นี้อาจพยายามเชื่อมต่อกับเครือข่ายซ้ำๆ ขณะบริการไม่พร้อมใช้งาน
ตัวอย่างโปรไฟล์ XML ของ OMA-DM PerProviderSubscription-MO
โปรไฟล์ที่มีข้อมูลเข้าสู่ระบบชื่อผู้ใช้/รหัสผ่าน (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
แล้ว - OI ของกลุ่มบริษัทโรมมิ่ง (สําหรับการโรมมิ่ง)
- ตั้งค่า Realm เป็น
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>
โปรไฟล์ที่มีข้อมูลเข้าสู่ระบบของซิม (EAP-AKA)
ตัวอย่างต่อไปนี้แสดงโปรไฟล์สําหรับเครือข่ายที่มีข้อมูลต่อไปนี้
- ตั้งชื่อที่แสดงในเครือข่ายเป็น
Purple Passpoint
แล้ว - ตั้งค่า FQDN เป็น
wlan.mnc888.mcc999.3gppnetwork.org
แล้ว - ข้อมูลเข้าสู่ระบบของซิมที่มีรหัส PLMN ของ
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 ที่มีโปรไฟล์ EAP-SIM, EAP-AKA หรือ EAP-AKA ของ Passpoint R1 จะไม่เชื่อมต่อกับเครือข่าย 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.
เกณฑ์ที่ 2 ได้รับการแก้ไขใน 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 ดังนั้นการใช้งานไคลเอ็นต์ที่เป็นไปตามข้อกำหนดก็ไม่ควรขัดข้อง
- เพิ่มองค์ประกอบขอบเขต NAI ANQP
- ตั้งค่าช่องย่อยของอาณาจักร NAI ให้ตรงกับ
Realm
ของโปรไฟล์ที่ติดตั้งในอุปกรณ์ ตั้งค่าข้อมูลต่อไปนี้ตาม 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)
- EAP-TTLS: ตั้งค่า
การแก้ไขอุปกรณ์/AOSP สำหรับ OEM
หากต้องการใช้วิธีแก้ปัญหาฝั่งอุปกรณ์ OEM จะต้องเลือกแพตช์ CL aosp/718508 แพตช์นี้สามารถใช้กับรุ่นต่อไปนี้ (ไม่ใช้กับ Android 10 ขึ้นไป)
- Android 9
- Android 8.x
เมื่อเลือกแพตช์แล้ว OEM จะต้องอัปเดตอุปกรณ์ในสนาม