পাসপয়েন্ট হলো ওয়াই-ফাই অ্যালায়েন্স (WFA)-এর একটি প্রোটোকল, যা মোবাইল ডিভাইসগুলোকে ইন্টারনেট সংযোগ প্রদানকারী ওয়াই-ফাই হটস্পট খুঁজে পেতে এবং তাতে প্রমাণীকরণ করতে সক্ষম করে।
ডিভাইস সমর্থন
পাসপয়েন্ট সমর্থন করার জন্য, ডিভাইস নির্মাতাদের সাপ্লিক্যান্ট ইন্টারফেসটি ইমপ্লিমেন্ট করতে হবে। অ্যান্ড্রয়েড ১৩ থেকে শুরু করে, এই ইন্টারফেসটি HAL ডেফিনিশনের জন্য AIDL ব্যবহার করে। অ্যান্ড্রয়েড ১৩-এর আগের রিলিজগুলোর জন্য, ইন্টারফেস এবং ভেন্ডর পার্টিশনগুলো HIDL ব্যবহার করত। HIDL ফাইলগুলো hardware/interfaces/supplicant/1.x এ এবং AIDL ফাইলগুলো hardware/interfaces/supplicant/aidl এ রয়েছে। সাপ্লিক্যান্টটি 802.11u স্ট্যান্ডার্ডকে সমর্থন করে, বিশেষত নেটওয়ার্ক ডিসকভারি এবং সিলেকশন ফিচার যেমন জেনেরিক অ্যাডভার্টাইজমেন্ট সার্ভিস (GAS) এবং অ্যাক্সেস নেটওয়ার্ক কোয়েরি প্রোটোকল (ANQP)-কে।
বাস্তবায়ন
অ্যান্ড্রয়েড সংস্করণের উপর নির্ভর করে পাসপয়েন্ট বাস্তবায়ন ভিন্ন হয়।
অ্যান্ড্রয়েড ১১ বা তার উচ্চতর
অ্যান্ড্রয়েড ১১ বা তার উচ্চতর সংস্করণে চালিত ডিভাইসগুলিতে পাসপয়েন্ট সমর্থন করার জন্য, ডিভাইস নির্মাতাদের ৮০২.১১ইউ-এর জন্য ফার্মওয়্যার সমর্থন প্রদান করতে হবে। পাসপয়েন্ট সমর্থনের জন্য অন্যান্য সমস্ত প্রয়োজনীয়তা AOSP-তে অন্তর্ভুক্ত রয়েছে।
অ্যান্ড্রয়েড ১০ বা তার নিচের
অ্যান্ড্রয়েড ১০ বা তার নিম্ন সংস্করণে চালিত ডিভাইসগুলোর জন্য, ডিভাইস প্রস্তুতকারকদের ফ্রেমওয়ার্ক, HAL এবং ফার্মওয়্যার উভয় ধরনের সমর্থন প্রদান করতে হবে:
- ফ্রেমওয়ার্ক: পাসপয়েন্ট সক্রিয় করুন (এর জন্য একটি ফিচার ফ্ল্যাগ প্রয়োজন)
- ফার্মওয়্যার: 802.11u এর জন্য সমর্থন
পাসপয়েন্ট সমর্থন করার জন্য, Wi-Fi HAL প্রয়োগ করুন এবং পাসপয়েন্টের জন্য ফিচার ফ্ল্যাগটি সক্রিয় করুন। device/<oem>/<device> ফোল্ডারে অবস্থিত device.mk ফাইলে, পাসপয়েন্ট ফিচারের সমর্থন অন্তর্ভুক্ত করতে PRODUCT_COPY_FILES এনভায়রনমেন্ট ভেরিয়েবলটি পরিবর্তন করুন:
PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml
পাসপয়েন্ট সমর্থন করার জন্য অন্যান্য সমস্ত প্রয়োজনীয়তা AOSP-তে অন্তর্ভুক্ত রয়েছে।
বৈধতা
পাসপয়েন্ট ফিচারের আপনার বাস্তবায়ন যাচাই করতে, নিম্নলিখিত পাসপয়েন্ট প্যাকেজ ইউনিট টেস্টগুলো চালান:
পরিষেবা পরীক্ষা:
atest com.android.server.wifi.hotspot2ব্যবস্থাপক পরীক্ষা:
atest android.net.wifi.hotspot2পাসপয়েন্ট R1 প্রোভিশনিং
অ্যান্ড্রয়েড ৬.০ থেকে পাসপয়েন্ট আর১ (Passpoint R1) সমর্থিত। এর মাধ্যমে প্রোফাইল ও ক্রেডেনশিয়াল তথ্য সম্বলিত একটি বিশেষ ফাইল ওয়েব-ভিত্তিক ডাউনলোডের মাধ্যমে পাসপয়েন্ট আর১ (রিলিজ ১)-এর ক্রেডেনশিয়াল সরবরাহ করা যায়। ক্লায়েন্টটি স্বয়ংক্রিয়ভাবে ওয়াই-ফাই তথ্যের জন্য একটি বিশেষ ইনস্টলার চালু করে এবং ব্যবহারকারীকে বিষয়বস্তু গ্রহণ বা প্রত্যাখ্যান করার আগে তথ্যের কিছু অংশ দেখার সুযোগ দেয়।
ফাইলটিতে থাকা প্রোফাইল তথ্য পাসপয়েন্ট-সক্ষম অ্যাক্সেস পয়েন্ট থেকে প্রাপ্ত ডেটার সাথে মেলানোর জন্য ব্যবহৃত হয় এবং মিলে যাওয়া যেকোনো নেটওয়ার্কের জন্য ক্রেডেনশিয়ালগুলো স্বয়ংক্রিয়ভাবে প্রয়োগ করা হয়।
অ্যান্ড্রয়েড রেফারেন্স ইমপ্লিমেন্টেশনটি EAP-TTLS, EAP-TLS, EAP-SIM, EAP-AKA, এবং EAP-AKA' সমর্থন করে।
ডাউনলোড প্রক্রিয়া
পাসপয়েন্ট কনফিগারেশন ফাইলটি অবশ্যই একটি ওয়েব সার্ভারে হোস্ট করতে হবে এবং এটিকে TLS (HTTPS) দিয়ে সুরক্ষিত রাখা উচিত, কারণ এতে ক্লিয়ার টেক্সট পাসওয়ার্ড বা প্রাইভেট কী ডেটা থাকতে পারে। এর বিষয়বস্তু UTF-8-এ উপস্থাপিত র্যাপড মাল্টিপার্ট MIME টেক্সট দ্বারা গঠিত এবং RFC-2045-এর ৬.৮ ধারা অনুযায়ী বেস৬৪ এনকোডিং-এ এনকোড করা হয়।
ডিভাইসে স্বয়ংক্রিয়ভাবে একটি ওয়াই-ফাই ইনস্টলার চালু করার জন্য ক্লায়েন্ট নিম্নলিখিত HTTP হেডার ফিল্ডগুলি ব্যবহার করে:
-
Content-Typeঅবশ্যইapplication/x-wifi-configএ সেট করতে হবে। -
Content-Transfer-Encodingঅবশ্যইbase64এ সেট করতে হবে। -
Content-Dispositionসেট করা যাবে না।
ফাইলটি পুনরুদ্ধার করার জন্য ব্যবহৃত HTTP মেথডটি অবশ্যই GET হতে হবে। যখনই ব্রাউজার থেকে করা কোনো HTTP GET অনুরোধ এই MIME হেডারগুলোসহ একটি প্রতিক্রিয়া পায়, ইনস্টলেশন অ্যাপটি চালু হয়ে যায়। ডাউনলোডটি অবশ্যই একটি বাটনের মতো কোনো HTML এলিমেন্টে ট্যাপ করার মাধ্যমে শুরু করতে হবে (ডাউনলোড URL-এ স্বয়ংক্রিয়ভাবে রিডাইরেক্ট করা সমর্থিত নয়)। এই আচরণটি শুধুমাত্র গুগল ক্রোমের জন্য প্রযোজ্য; অন্যান্য ওয়েব ব্রাউজারগুলোতে অনুরূপ কার্যকারিতা থাকতেও পারে বা নাও থাকতে পারে।
ফাইল গঠন
Base64 এনকোড করা কন্টেন্টটি অবশ্যই multipart/mixed Content-Type সহ MIME মাল্টিপার্ট কন্টেন্ট দ্বারা গঠিত হতে হবে। নিম্নলিখিত অংশগুলো মাল্টিপার্ট কন্টেন্টের স্বতন্ত্র অংশগুলো তৈরি করে।
| অংশ | কন্টেন্ট-টাইপ (উদ্ধৃতি ছাড়া) | প্রয়োজনীয় | বর্ণনা |
|---|---|---|---|
| প্রোফাইল | application/x-passpoint-profile | সর্বদা | OMA-DM SyncML ফরম্যাটের পেলোড, যাতে HomeSP এবং Credential জন্য Passpoint R1 PerProviderSubscription ফরম্যাটের MO অন্তর্ভুক্ত রয়েছে। |
| ট্রাস্ট সার্টিফিকেট | application/x-x509-ca-cert | EAP-TLS এবং EAP-TTLS এর জন্য আবশ্যক | একটিমাত্র X.509v3 বেস৬৪-এনকোডেড সার্টিফিকেট পেলোড। |
| EAP-TLS কী | application/x-pkcs12 | EAP-TLS এর জন্য আবশ্যক | একটি বেস৬৪-এনকোডেড PKCS #12 ASN.1 কাঠামো, যাতে একটি ক্লায়েন্ট সার্টিফিকেট চেইন থাকে এবং এই চেইনে অন্তত ক্লায়েন্ট সার্টিফিকেট ও তার সাথে যুক্ত প্রাইভেট কী অন্তর্ভুক্ত থাকে। PKCS 12 কন্টেইনার, প্রাইভেট কী এবং সার্টিফিকেট—এই সবগুলোই অবশ্যই পাসওয়ার্ড ছাড়া ক্লিয়ার টেক্সটে থাকতে হবে। |
পাসপয়েন্ট আর২ টেকনিক্যাল স্পেসিফিকেশন ভার্সন ১.০.০-এর ৯.১ অনুচ্ছেদে উল্লেখিত HomeSP এবং Credential সাবট্রি-এর অংশবিশেষ নির্দিষ্ট করে এমন প্রোফাইল সেকশনটি অবশ্যই বেস৬৪-এনকোডেড, ইউটিএফ-৮-এনকোডেড এক্সএমএল টেক্সট হিসেবে স্থানান্তর করতে হবে।
শীর্ষ-স্তরের নোডটি অবশ্যই MgmtTree এবং নিকটতম সাবনোডটি অবশ্যই PerProviderSubscription হতে হবে। একটি উদাহরণ XML ফাইল Example profile OMA-DM XML- এ দেওয়া আছে।
HomeSP এর অধীনে নিম্নলিখিত সাবট্রি নোডগুলি ব্যবহৃত হয়:
-
FriendlyName: অবশ্যই সেট করতে হবে; এটি প্রদর্শিত টেক্সট হিসেবে ব্যবহৃত হয়। -
FQDN: আবশ্যক -
RoamingConsortiumOI
Credential অধীনে নিম্নলিখিত সাবট্রি নোডগুলি ব্যবহৃত হয়:
-
Realm: অবশ্যই একটি অ-খালি স্ট্রিং হতে হবে UsernamePassword: নিম্নলিখিত নোডগুলি সেট করা থাকলে EAP-TTLS এর জন্য আবশ্যক:-
Username: ইউজারনেম ধারণকারী স্ট্রিং -
Password: বেস৬৪-এনকোডেড স্ট্রিং (নিচের উদাহরণে 'password'-এর বেস৬৪-এনকোডেড স্ট্রিং 'cGFzc3dvcmQ='-এ সেট করা হয়েছে) -
EAPMethod/EAPType: অবশ্যই21এ সেট করতে হবে। -
EAPMethod/InnerMethod: অবশ্যইPAP,CHAP,MS-CHAP, অথবাMS-CHAP-V2এর মধ্যে যেকোনো একটিতে সেট করতে হবে।
-
DigitalCertificate: EAP-TLS এর জন্য আবশ্যক। নিম্নলিখিত নোডগুলি অবশ্যই সেট করতে হবে:-
CertificateTypex509v3তে সেট করা হয়েছে - EAP-TLS কী MIME বিভাগে
CertSHA256Fingerprintক্লায়েন্ট সার্টিফিকেটের সঠিক SHA-256 ডাইজেস্টে সেট করতে হবে।
-
SIM: EAP-SIM, EAP-AKA, এবং EAP-AKA'-এর জন্য আবশ্যক।EAPTypeফিল্ডটি অবশ্যই উপযুক্ত EAP টাইপে সেট করতে হবে এবং প্রোভিশনিংয়ের সময় ডিভাইসে ইনস্টল করা সিম কার্ডগুলোর মধ্যে একটির IMSI-এর সাথে এরIMSIঅবশ্যই মিলতে হবে। সম্পূর্ণ সমতা মেলানোর জন্য IMSI স্ট্রিংটি সম্পূর্ণরূপে দশমিক সংখ্যা দিয়ে গঠিত হতে পারে, অথবা শুধুমাত্র MCC/MNC-এর মধ্যে IMSI মেলানোর শর্ত শিথিল করার জন্য ৫ বা ৬টি দশমিক সংখ্যার পরে একটি অ্যাস্টারিস্ক (*) থাকতে পারে। উদাহরণস্বরূপ,123456*IMSI স্ট্রিংটি এমন যেকোনো সিম কার্ডের সাথে মেলে যার MCC হলো123এবং MNC হলো456।
অ্যান্ড্রয়েড ১১ এমন কিছু নতুন বৈশিষ্ট্য যোগ করেছে যা পাসপয়েন্ট আর১ প্রভিশনিংকে আরও নমনীয় করে তোলে।
- পৃথক প্রমাণীকরণ, অনুমোদন এবং অ্যাকাউন্টিং (AAA) ডোমেন নাম
পাসপয়েন্ট নেটওয়ার্ক অ্যাডমিনিস্ট্রেটরগণ, যাদের অ্যাক্সেস নেটওয়ার্ক কোয়েরি প্রোটোকল (ANQP)-এর মাধ্যমে নেটওয়ার্ক দ্বারা বিজ্ঞাপিত সম্পূর্ণ যোগ্য ডোমেইন নাম (FQDN) থেকে স্বাধীনভাবে একটি AAA ডোমেইন নাম নির্দিষ্ট করার প্রয়োজন হয়, তারা
Extensionসাবট্রি-এর অধীনে একটি নতুন নোডে সেমিকোলন দ্বারা বিভক্ত FQDN-এর একটি তালিকা নির্দিষ্ট করতে পারেন। এটি একটি ঐচ্ছিক নোড এবং অ্যান্ড্রয়েড সংস্করণ ১০ বা তার নিচের সংস্করণে চালিত ডিভাইসগুলো এই নোডটিকে উপেক্ষা করে।Android: অ্যান্ড্রয়েড এক্সটেনশন সাবট্রিAAAServerTrustedNames: AAA সার্ভারের বিশ্বস্ত নামগুলির জন্য আবশ্যক, যেখানে নিম্নলিখিত নোডগুলি সেট করা আছে:-
FQDN: একটি স্ট্রিং যা AAA সার্ভারের বিশ্বস্ত নামগুলো ধারণ করে। বিশ্বস্ত নামগুলো আলাদা করতে সেমিকোলন ব্যবহার করুন। উদাহরণস্বরূপ,example.org;example.com।
-
- স্ব-স্বাক্ষরিত ব্যক্তিগত রুট সিএ
পাসপয়েন্ট নেটওয়ার্ক অ্যাডমিনিস্ট্রেটররা, যারা তাদের সার্টিফিকেটগুলো অভ্যন্তরীণভাবে পরিচালনা করেন, তারা AAA অথেনটিকেশনের জন্য একটি প্রাইভেট সেলফ-সাইন্ড CA ব্যবহার করে প্রোফাইল প্রোভিশন করতে পারেন।
- রুট সিএ সার্টিফিকেট ছাড়াই প্রোফাইল ইনস্টল করার অনুমতি দিন।
প্রোফাইলের সাথে সংযুক্ত রুট সিএ সার্টিফিকেটটি AAA সার্ভার অথেনটিকেশনের জন্য ব্যবহৃত হয়। পাসপয়েন্ট নেটওয়ার্ক অ্যাডমিনিস্ট্রেটররা, যারা তাদের AAA সার্ভার অথেনটিকেশনের জন্য পাবলিক ট্রাস্টেড রুট সিএ-এর উপর নির্ভর করতে চান, তারা রুট সিএ সার্টিফিকেট ছাড়াই প্রোফাইল প্রোভিশন করতে পারেন। এই ক্ষেত্রে, সিস্টেমটি ট্রাস্ট স্টোরে ইনস্টল করা পাবলিক রুট সিএ সার্টিফিকেটগুলোর সাথে AAA সার্ভার সার্টিফিকেটগুলো যাচাই করে।
পাসপয়েন্ট R2 প্রোভিশনিং
অ্যান্ড্রয়েড ১০-এ পাসপয়েন্ট আর২ (Passpoint R2)-এর ফিচারগুলোর জন্য সাপোর্ট চালু করা হয়েছে। পাসপয়েন্ট আর২ অনলাইন সাইন আপ (OSU) বাস্তবায়ন করে, যা নতুন পাসপয়েন্ট প্রোফাইল তৈরির একটি প্রচলিত পদ্ধতি। অ্যান্ড্রয়েড ১০ এবং এর পরবর্তী সংস্করণগুলো ওপেন OSU ESS-এর মাধ্যমে SOAP-XML প্রোটোকল ব্যবহার করে EAP-TTLS প্রোফাইল তৈরির সুবিধা দেয়।
সমর্থিত Passpoint R2 ফিচারগুলো ব্যবহারের জন্য শুধুমাত্র AOSP রেফারেন্স কোড প্রয়োজন (কোনো অতিরিক্ত ড্রাইভার বা ফার্মওয়্যার সাপোর্টের প্রয়োজন নেই)। AOSP রেফারেন্স কোডের মধ্যে সেটিংস অ্যাপে Passpoint R2 UI-এর একটি ডিফল্ট বাস্তবায়নও অন্তর্ভুক্ত রয়েছে।
যখন অ্যান্ড্রয়েড একটি পাসপয়েন্ট R2 অ্যাক্সেস পয়েন্ট শনাক্ত করে, তখন অ্যান্ড্রয়েড ফ্রেমওয়ার্ক:
- ওয়াই-ফাই পিকার-এ AP দ্বারা বিজ্ঞাপিত পরিষেবা প্রদানকারীদের একটি তালিকা প্রদর্শন করে (SSID-গুলো দেখানোর পাশাপাশি)।
- পাসপয়েন্ট প্রোফাইল তৈরি করার জন্য ব্যবহারকারীকে পরিষেবা প্রদানকারীদের মধ্যে যেকোনো একটিতে ট্যাপ করতে বলা হয়।
- ব্যবহারকারীকে পাসপয়েন্ট প্রোফাইল সেটআপ করার প্রক্রিয়াটি ধাপে ধাপে দেখিয়ে দেয়।
- সফলভাবে সম্পন্ন হলে প্রাপ্ত পাসপয়েন্ট প্রোফাইলটি ইনস্টল করে।
- নতুনভাবে সরবরাহ করা পাসপয়েন্ট প্রোফাইল ব্যবহার করে পাসপয়েন্ট নেটওয়ার্কে যুক্ত হন।
পাসপয়েন্ট R3 এর বৈশিষ্ট্য
অ্যান্ড্রয়েড ১২-এ নিম্নলিখিত পাসপয়েন্ট আর৩ ফিচারগুলো যুক্ত করা হয়েছে, যা ব্যবহারকারীর অভিজ্ঞতা উন্নত করে এবং নেটওয়ার্কগুলোকে স্থানীয় আইন মেনে চলতে সক্ষম করে:
- শর্তাবলী
কিছু নির্দিষ্ট স্থান ও ভেন্যুতে নেটওয়ার্ক অ্যাক্সেস প্রদানের জন্য শর্তাবলী গ্রহণ করা আইনত আবশ্যক। এই ফিচারটি নেটওয়ার্ক ডেপ্লয়মেন্টকে অসুরক্ষিত ক্যাপটিভ পোর্টাল (যা ওপেন নেটওয়ার্ক ব্যবহার করে) প্রতিস্থাপন করে একটি সুরক্ষিত পাসপয়েন্ট নেটওয়ার্ক স্থাপনের সুযোগ দেয়। যখন শর্তাবলী গ্রহণ করার প্রয়োজন হয়, তখন ব্যবহারকারীকে একটি নোটিফিকেশন দেখানো হয়।
শর্তাবলী ও নিয়মাবলীর ইউআরএল অবশ্যই HTTPS ব্যবহার করে একটি সুরক্ষিত ওয়েবসাইটে নির্দেশিত হতে হবে। যদি ইউআরএলটি কোনো অসুরক্ষিত ওয়েবসাইটে নির্দেশিত হয়, তবে ফ্রেমওয়ার্কটি তাৎক্ষণিকভাবে সংযোগ বিচ্ছিন্ন করে দেয় এবং নেটওয়ার্কটি ব্লক করে দেয়।
- ভেন্যু তথ্যের ইউআরএল
নেটওয়ার্ক অপারেটর এবং ভেন্যুগুলোকে ব্যবহারকারীকে অতিরিক্ত তথ্য, যেমন ভেন্যুর মানচিত্র, ডিরেক্টরি, প্রচারমূলক অফার এবং কুপন প্রদান করার সুযোগ দেয়। নেটওয়ার্ক সংযুক্ত হলে ব্যবহারকারীকে একটি বিজ্ঞপ্তি দেখানো হয়।
ভেন্যুর তথ্যের URL অবশ্যই HTTPS ব্যবহার করে একটি সুরক্ষিত ওয়েবসাইটের দিকে নির্দেশ করতে হবে। যদি URL-টি কোনো অসুরক্ষিত ওয়েবসাইটের দিকে নির্দেশ করে, তবে ফ্রেমওয়ার্কটি URL-টিকে উপেক্ষা করে এবং কোনো বিজ্ঞপ্তি প্রদর্শন করে না।
পাসপয়েন্টের অন্যান্য বৈশিষ্ট্য
অ্যান্ড্রয়েড ১১ নিম্নলিখিত পাসপয়েন্ট বৈশিষ্ট্যগুলো চালু করেছে, যা ব্যবহারকারীর অভিজ্ঞতা, বিদ্যুৎ ব্যবহার এবং স্থাপনের নমনীয়তা উন্নত করে।
- মেয়াদ শেষ হওয়ার তারিখ কার্যকর করা এবং বিজ্ঞপ্তি
- প্রোফাইলে মেয়াদ শেষ হওয়ার তারিখ বাধ্যতামূলক করার ফলে ফ্রেমওয়ার্কটি মেয়াদোত্তীর্ণ ক্রেডেনশিয়ালযুক্ত অ্যাক্সেস পয়েন্টে স্বয়ংক্রিয় সংযোগ এড়াতে পারে, যা ব্যর্থ হতে বাধ্য। এটি এয়ারটাইম ব্যবহার রোধ করে এবং ব্যাটারি ও ব্যাকএন্ড ব্যান্ডউইথ সাশ্রয় করে। যখন ব্যবহারকারীর প্রোফাইলের সাথে মেলে এমন কোনো নেটওয়ার্ক সীমার মধ্যে থাকে এবং প্রোফাইলটির মেয়াদ শেষ হয়ে যায়, তখন ফ্রেমওয়ার্কটি ব্যবহারকারীকে একটি বিজ্ঞপ্তি প্রদর্শন করে।
- একই FQDN সহ একাধিক প্রোফাইল
- যেসব ক্যারিয়ার পাসপয়েন্ট নেটওয়ার্ক স্থাপন করে এবং একাধিক পাবলিক ল্যান্ড মোবাইল নেটওয়ার্ক (PLMN) আইডি ব্যবহার করে, তারা প্রতিটি PLMN আইডির জন্য একই FQDN দিয়ে একাধিক পাসপয়েন্ট প্রোফাইল তৈরি করতে পারে, যা ইনস্টল করা সিম কার্ডের সাথে স্বয়ংক্রিয়ভাবে মিলে যায় এবং নেটওয়ার্ক সংযোগের জন্য ব্যবহৃত হয়।
অ্যান্ড্রয়েড ১২ নিম্নলিখিত পাসপয়েন্ট বৈশিষ্ট্যগুলো চালু করেছে, যা ব্যবহারকারীর অভিজ্ঞতা, বিদ্যুৎ ব্যবহার এবং স্থাপনের নমনীয়তা উন্নত করে:
- সজ্জিত পরিচয় উপসর্গ
- প্রিফিক্স ডেকোরেশন সহ নেটওয়ার্কগুলিতে প্রমাণীকরণের সময়, ডেকোরেটেড আইডেন্টিটি প্রিফিক্স নেটওয়ার্ক অপারেটরদের একটি AAA নেটওয়ার্কের ভিতরে একাধিক প্রক্সির মাধ্যমে সুস্পষ্ট রাউটিং সম্পাদন করার জন্য নেটওয়ার্ক অ্যাক্সেস আইডেন্টিফায়ার (NAI) আপডেট করার সুযোগ দেয় (দেখুন RFC 7542 )। অ্যান্ড্রয়েড ১২, PPS-MO এক্সটেনশনের জন্য WBA স্পেসিফিকেশন অনুযায়ী এই বৈশিষ্ট্যটি বাস্তবায়ন করে।
- প্রমাণীকরণ বাতিলের আসন্ন প্রক্রিয়া
- এটি নেটওয়ার্ক অপারেটরদেরকে একটি ডিভাইসকে সংকেত দেওয়ার সুযোগ দেয় যে, নেটওয়ার্কে প্রমাণীকরণের জন্য ব্যবহৃত ক্রেডেনশিয়ালটির জন্য একটি নির্দিষ্ট সময় পর্যন্ত (যা একটি টাইমআউট ডিলে দ্বারা নির্ধারিত হয়) পরিষেবাটি উপলব্ধ নেই। এই সংকেত পাওয়ার পর, টাইমআউট ডিলে শেষ না হওয়া পর্যন্ত ডিভাইসগুলো একই ক্রেডেনশিয়াল দিয়ে নেটওয়ার্কে পুনরায় সংযোগ করার চেষ্টা করবে না। এর বিপরীতে, যে ডিভাইসগুলো এই বৈশিষ্ট্যটি সমর্থন করে না, সেগুলো পরিষেবা অনুপলব্ধ থাকাকালীন নেটওয়ার্কে বারবার পুনরায় সংযোগ করার চেষ্টা করতে পারে।
OMA-DM PerProviderSubscription-MO XML প্রোফাইলের উদাহরণ
ব্যবহারকারীর নাম এবং পাসওয়ার্ড পরিচয়পত্র সহ প্রোফাইল (EAP-TTLS)
নিম্নলিখিত উদাহরণটি একটি নেটওয়ার্কের প্রোফাইল প্রদর্শন করে, যেখানে রয়েছে:
- নেটওয়ার্কের বন্ধুত্বপূর্ণ নাম
Example Networkএ সেট করা হয়েছে - FQDN-কে
hotspot.example.netএ সেট করা হয়েছে। - রোমিং কনসোর্টিয়াম OI (রোমিং এর জন্য)
- ইউজারনেম
user, Base64-এ এনকোড করা পাসওয়ার্ডpassword, এবং রিয়েলমexample.netএ সেট করা ক্রেডেনশিয়াল। - EAP পদ্ধতি
21এ সেট করা হয়েছে (EAP-TTLS) - ফেজ-২ অভ্যন্তরীণ পদ্ধতি
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 (রোমিং এর জন্য)
- রিয়েলম
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 -
999888PLMN আইডি সহ সিমের পরিচয়পত্র - 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>
কর্তৃত্ব পরামর্শ
অ্যান্ড্রয়েড ৮.x বা অ্যান্ড্রয়েড ৯ চালিত ডিভাইস, যেগুলিতে পাসপয়েন্ট আর১ ইএপি-সিম, ইএপি-একেএ, বা 'ইএপি-একেএ' প্রোফাইল রয়েছে, সেগুলি পাসপয়েন্ট নেটওয়ার্কে স্বয়ংক্রিয়ভাবে সংযুক্ত হবে না। এই সমস্যাটি ওয়াই-ফাই অফলোড কমিয়ে দিয়ে ব্যবহারকারী, ক্যারিয়ার এবং পরিষেবাগুলিকে প্রভাবিত করে।
| সেগমেন্ট | প্রভাব | প্রভাবের আকার |
|---|---|---|
| বাহক এবং পাসপোর্ট পরিষেবা প্রদানকারী | মোবাইল নেটওয়ার্কের উপর চাপ বৃদ্ধি। | পাসপয়েন্ট আর১ ব্যবহারকারী যেকোনো ক্যারিয়ার। |
| ব্যবহারকারীরা | ক্যারিয়ার ওয়াই-ফাই অ্যাক্সেস পয়েন্ট (AP)-এর সাথে স্বয়ংক্রিয়ভাবে সংযোগ স্থাপনের সুযোগ হাতছাড়া হওয়ায় ডেটার খরচ বেড়ে গেছে। | যেকোনো ব্যবহারকারী যার ডিভাইসটি পাসপয়েন্ট আর১ (Passpoint R1) সমর্থনকারী কোনো ক্যারিয়ার নেটওয়ার্কে চলে। |
ব্যর্থতার কারণ
পাসপয়েন্ট ডিভাইসে ইনস্টল করা একটি প্রোফাইলের সাথে একটি বিজ্ঞাপিত (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.
অ্যান্ড্রয়েড ৮.০-তে দ্বিতীয় মানদণ্ডটি সংশোধন করা হয়েছিল:
Else: If the PLMN ID (3GPP Network) matches AND the NAI Realm matches
then the service is a Roaming Service Provider.
এই পরিবর্তনের ফলে, সিস্টেমটি পূর্বে সচল থাকা কোনো পরিষেবা প্রদানকারীর মিল খুঁজে পায়নি, তাই পাসপয়েন্ট ডিভাইসগুলো স্বয়ংক্রিয়ভাবে সংযুক্ত হয়নি।
বিকল্প উপায়
পরিবর্তিত ম্যাচিং মানদণ্ডের সমস্যাটি সমাধান করার জন্য, ক্যারিয়ার এবং পরিষেবা প্রদানকারীদের পাসপোর্ট এপি (Passpoint AP) দ্বারা প্রকাশিত তথ্যে নেটওয়ার্ক অ্যাক্সেস আইডেন্টিফায়ার (NAI) রিয়েলম যোগ করতে হবে।
দ্রুততম সময়ে ডেপ্লয়মেন্ট নিশ্চিত করার জন্য নেটওয়ার্ক সার্ভিস প্রোভাইডারদের একটি নেটওয়ার্ক-সাইড ওয়ার্কঅ্যারাউন্ড প্রয়োগ করাই হলো প্রস্তাবিত সমাধান। ডিভাইস-সাইড ওয়ার্কঅ্যারাউন্ড নির্ভর করে OEM-দের AOSP থেকে একটি চেঞ্জলিস্ট (CL) সংগ্রহ করে ফিল্ডে থাকা ডিভাইসগুলো আপডেট করার ওপর।
ক্যারিয়ার এবং পাসপোর্ট পরিষেবা প্রদানকারীদের জন্য নেটওয়ার্ক সমাধান
নেটওয়ার্ক-সাইডের সমাধানটির জন্য নেটওয়ার্কটি পুনরায় কনফিগার করে নিম্নলিখিতভাবে NAI realm ANQP এলিমেন্টটি যোগ করতে হবে। Passpoint স্পেসিফিকেশনে NAI realm ANQP এলিমেন্টটির প্রয়োজন নেই, কিন্তু এই প্রপার্টিটি যোগ করা Passpoint স্পেসিফিকেশনের সাথে সঙ্গতিপূর্ণ, তাই স্পেক-সম্মত ক্লায়েন্ট ইমপ্লিমেন্টেশনগুলোতে কোনো সমস্যা হওয়ার কথা নয়।
- NAI রিয়েলম ANQP এলিমেন্টটি যোগ করুন।
- ডিভাইসে ইনস্টল করা প্রোফাইলের
Realmসাথে মিলিয়ে NAI রিয়েলম সাবফিল্ডটি সেট করুন। - প্রতিটি 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 :
OEM-দের জন্য ডিভাইস/AOSP সমাধান
ডিভাইস-সাইডে একটি সমাধান প্রয়োগ করতে, OEM-দের aosp/718508 প্যাচ CL-টি বেছে নিতে হবে। এই প্যাচটি নিম্নলিখিত রিলিজগুলোর উপরে প্রয়োগ করা যেতে পারে (অ্যান্ড্রয়েড ১০ বা তার উচ্চতর সংস্করণের জন্য প্রযোজ্য নয়):
- অ্যান্ড্রয়েড ৯
- অ্যান্ড্রয়েড ৮.x
প্যাচটি গৃহীত হলে, OEM-দেরকে ফিল্ডে থাকা ডিভাইসগুলো আপডেট করতে হবে।