กรณีศึกษา
Zoho เข้าสู่ระบบได้เร็วขึ้น 6 เท่าด้วยการผสานรวมพาสคีย์และ Credential Manager
ใช้เวลาอ่าน 10 นาที
ในฐานะนักพัฒนาแอป Android คุณมองหาวิธีเพิ่มความปลอดภัย ปรับปรุงประสบการณ์ของผู้ใช้ และเพิ่มประสิทธิภาพการพัฒนาอยู่เสมอ Zoho ซึ่งเป็นชุดซอฟต์แวร์บนระบบคลาวด์ที่ครอบคลุมซึ่งมุ่งเน้นด้านความปลอดภัยและประสบการณ์การใช้งานที่ราบรื่น ได้รับการปรับปรุงอย่างมากจากการใช้พาสคีย์ในแอป Android OneAuth
นับตั้งแต่ผสานรวมพาสคีย์ในปี 2024 Zoho ก็เข้าสู่ระบบได้เร็วขึ้นถึง 6 เท่าเมื่อเทียบกับวิธีเดิม และมีการใช้งานพาสคีย์เพิ่มขึ้น 31% เมื่อเทียบเป็นรายเดือน (MoM)
กรณีศึกษานี้จะพิจารณาการนำพาสคีย์และ Credential Manager API ของ Android มาใช้เพื่อแก้ไขปัญหาความยากในการตรวจสอบสิทธิ์ของ Zoho โดยจะอธิบายกระบวนการติดตั้งใช้งานทางเทคนิคและไฮไลต์ผลลัพธ์ที่สำคัญ
การแก้ปัญหาการตรวจสอบสิทธิ์
Zoho ใช้วิธีการตรวจสอบสิทธิ์หลายวิธีร่วมกันเพื่อปกป้องบัญชีผู้ใช้ ซึ่งรวมถึง Zoho OneAuth ซึ่งเป็นโซลูชันการตรวจสอบสิทธิ์แบบหลายปัจจัย (MFA) ของตนเองที่รองรับทั้งการตรวจสอบสิทธิ์ด้วยรหัสผ่านและแบบไม่ใช้รหัสผ่านโดยใช้การแจ้งเตือนแบบพุช คิวอาร์โค้ด และรหัสผ่านแบบใช้ครั้งเดียวตามเวลา (TOTP) นอกจากนี้ Zoho ยังรองรับการเข้าสู่ระบบแบบรวมศูนย์ ซึ่งอนุญาตให้ตรวจสอบสิทธิ์ผ่านภาษามาร์กอัปเพื่อยืนยันความปลอดภัย (SAML) และผู้ให้บริการข้อมูลประจำตัวบุคคลที่สามอื่นๆ
ความท้าทาย
Zoho มีเป้าหมายที่จะปรับปรุงความปลอดภัยในการตรวจสอบสิทธิ์และประสบการณ์ของผู้ใช้ พร้อมทั้งลดภาระด้านการปฏิบัติงานเช่นเดียวกับองค์กรอื่นๆ ความท้าทายหลักที่นำไปสู่การใช้พาสคีย์ ได้แก่
- ช่องโหว่ด้านความปลอดภัย: วิธีการแบบเดิมที่ใช้รหัสผ่านทำให้ผู้ใช้เสี่ยงต่อการโจมตีแบบฟิชชิงและการละเมิดรหัสผ่าน
- ความไม่สะดวกของผู้ใช้: ความเหนื่อยล้าจากรหัสผ่านทำให้ผู้ใช้ลืมรหัสผ่าน รู้สึกหงุดหงิด และต้องพึ่งพากระบวนการกู้คืนที่ซับซ้อนมากขึ้น
- การดำเนินงานที่ไม่มีประสิทธิภาพ: การจัดการการรีเซ็ตรหัสผ่านและปัญหาเกี่ยวกับ MFA ทำให้เกิดค่าใช้จ่ายในการสนับสนุนจำนวนมาก
- ข้อกังวลเรื่องความสามารถในการปรับขนาด: ฐานผู้ใช้ที่เพิ่มขึ้นทำให้ต้องมีโซลูชันการตรวจสอบสิทธิ์ที่ปลอดภัยและมีประสิทธิภาพมากขึ้น
เหตุผลที่เปลี่ยนมาใช้พาสคีย์
Zoho ได้นำพาสคีย์มาใช้ในแอปเพื่อแก้ปัญหาความท้าทายในการตรวจสอบสิทธิ์ด้วยการเสนอแนวทางที่ไม่ต้องใช้รหัสผ่าน ซึ่งช่วยปรับปรุงความปลอดภัยและประสบการณ์ของผู้ใช้ได้อย่างมาก โซลูชันนี้ใช้ประโยชน์จากการตรวจสอบสิทธิ์ที่ป้องกันฟิชชิง ข้อมูลเข้าสู่ระบบที่ซิงค์กับระบบคลาวด์เพื่อให้เข้าถึงอุปกรณ์ต่างๆ ได้อย่างง่ายดาย และข้อมูลไบโอเมตริก (เช่น ลายนิ้วมือหรือการจดจำใบหน้า), PIN หรือรูปแบบสำหรับการเข้าสู่ระบบที่ปลอดภัย ซึ่งจะช่วยลดช่องโหว่และความไม่สะดวกที่เกี่ยวข้องกับรหัสผ่านแบบเดิม
การใช้พาสคีย์กับ Credential Manager ช่วยให้ Zoho ลดเวลาในการเข้าสู่ระบบได้สูงสุด 6 เท่า ลดต้นทุนการสนับสนุนที่เกี่ยวข้องกับรหัสผ่าน และเห็นการใช้งานของผู้ใช้อย่างมาก ซึ่งทำให้การลงชื่อเข้าใช้ด้วยพาสคีย์เพิ่มขึ้นเป็น 2 เท่า ใน 4 เดือน โดยมีการเติบโตแบบเดือนต่อเดือน 31% ตอนนี้ผู้ใช้ Zoho จะได้รับการเข้าสู่ระบบที่รวดเร็วและง่ายขึ้น รวมถึงความปลอดภัยที่ป้องกันฟิชชิง
การติดตั้งใช้งานด้วย Credential Manager บน Android
Zoho ทำได้อย่างไร โดยใช้ Credential Manager API ของ Android ซึ่งเป็นไลบรารี Jetpack ที่แนะนำสำหรับการติดตั้งใช้งานการตรวจสอบสิทธิ์ใน Android
Credential Manager มี API แบบรวมที่ช่วยให้การจัดการวิธีการตรวจสอบสิทธิ์ต่างๆ ง่ายขึ้น คุณจะใช้เพียงอินเทอร์เฟซเดียวแทนการสลับใช้ API ต่างๆ สำหรับรหัสผ่าน พาสคีย์ และการเข้าสู่ระบบแบบรวม (เช่น การลงชื่อเข้าใช้ด้วย Google)
การใช้พาสคีย์ที่ Zoho ต้องมีการปรับทั้งฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ ต่อไปนี้คือรายละเอียดของกระบวนการสร้างพาสคีย์ การลงชื่อเข้าใช้ และการติดตั้งใช้งานฝั่งเซิร์ฟเวอร์
การสร้างพาสคีย์
หากต้องการสร้างพาสคีย์ แอปจะดึงรายละเอียดการกำหนดค่าจากเซิร์ฟเวอร์ของ Zoho ก่อน กระบวนการนี้รวมถึงการยืนยันที่ไม่ซ้ำกัน เช่น ลายนิ้วมือหรือการจดจำใบหน้า แอปใช้ข้อมูลการยืนยันนี้ซึ่งจัดรูปแบบเป็นrequestJsonสตริง) เพื่อสร้างCreatePublicKeyCredentialRequest จากนั้นแอปจะเรียกใช้เมธอด credentialManager.createCredential ซึ่งจะแจ้งให้ผู้ใช้ตรวจสอบสิทธิ์โดยใช้การล็อกหน้าจอของอุปกรณ์ (ข้อมูลไบโอเมตริก ลายนิ้วมือ PIN ฯลฯ)
เมื่อผู้ใช้ยืนยันสำเร็จแล้ว แอปจะได้รับข้อมูลเข้าสู่ระบบใหม่ของพาสคีย์ ส่งข้อมูลดังกล่าวกลับไปยังเซิร์ฟเวอร์ของ Zoho เพื่อยืนยัน จากนั้นเซิร์ฟเวอร์จะจัดเก็บข้อมูลพาสคีย์ที่ลิงก์กับบัญชีของผู้ใช้ แอปจะตรวจจับและจัดการความล้มเหลวหรือการยกเลิกของผู้ใช้ในระหว่างกระบวนการ
ลงชื่อเข้าใช้
แอป Zoho สำหรับ Android จะเริ่มกระบวนการลงชื่อเข้าใช้ด้วยพาสคีย์โดยการขอตัวเลือกการลงชื่อเข้าใช้ ซึ่งรวมถึงchallengeที่ไม่ซ้ำกันจากเซิร์ฟเวอร์แบ็กเอนด์ของ Zoho จากนั้นแอปจะใช้ข้อมูลนี้เพื่อสร้าง GetCredentialRequest ซึ่งบ่งบอกว่าแอปจะตรวจสอบสิทธิ์ด้วยพาสคีย์ จากนั้นจะเรียกใช้ Android CredentialManager.getCredential() API ด้วยคำขอนี้ การดำเนินการนี้จะทริกเกอร์อินเทอร์เฟซระบบ Android ที่ได้มาตรฐาน ซึ่งจะแจ้งให้ผู้ใช้เลือกบัญชี Zoho (หากมีพาสคีย์หลายรายการ) และตรวจสอบสิทธิ์โดยใช้การล็อกหน้าจอที่กำหนดค่าไว้ของอุปกรณ์ (ลายนิ้วมือ การสแกนใบหน้า หรือ PIN) หลังจากตรวจสอบสิทธิ์สำเร็จแล้ว Credential Manager จะส่งการยืนยันที่ลงนาม (หลักฐานการเข้าสู่ระบบ) ไปยังแอป Zoho แอปจะส่งต่อการยืนยันนี้ไปยังเซิร์ฟเวอร์ของ Zoho ซึ่งจะตรวจสอบลายเซ็นกับคีย์สาธารณะที่จัดเก็บไว้ของผู้ใช้และตรวจสอบความท้าทาย ซึ่งเป็นการดำเนินการกระบวนการลงชื่อเข้าใช้อย่างปลอดภัยให้เสร็จสมบูรณ์
การใช้งานฝั่งเซิร์ฟเวอร์
การเปลี่ยนไปใช้การรองรับพาสคีย์ของ Zoho ได้รับประโยชน์จากระบบแบ็กเอนด์ที่สอดคล้องกับ FIDO WebAuthn อยู่แล้ว ซึ่งช่วยให้กระบวนการติดตั้งใช้งานฝั่งเซิร์ฟเวอร์มีประสิทธิภาพมากขึ้น อย่างไรก็ตาม ยังคงต้องมีการแก้ไขบางอย่างเพื่อผสานรวมฟังก์ชันการทำงานของพาสคีย์อย่างเต็มรูปแบบ
ความท้าทายที่สำคัญที่สุดคือการปรับระบบจัดเก็บข้อมูลเข้าสู่ระบบ วิธีการตรวจสอบสิทธิ์ที่มีอยู่ของ Zoho ซึ่งส่วนใหญ่ใช้รหัสผ่านและคีย์ความปลอดภัย FIDO สำหรับการตรวจสอบสิทธิ์แบบหลายปัจจัยนั้นต้องใช้วิธีการจัดเก็บที่แตกต่างจากพาสคีย์ ซึ่งอิงตามคีย์สาธารณะแบบเข้ารหัส Zoho จึงใช้สคีมาฐานข้อมูลใหม่ที่ออกแบบมาโดยเฉพาะเพื่อจัดเก็บคีย์สาธารณะของพาสคีย์และข้อมูลที่เกี่ยวข้องอย่างปลอดภัยตามโปรโตคอล WebAuthn ระบบใหม่นี้สร้างขึ้นควบคู่ไปกับกลไกการค้นหาเพื่อตรวจสอบและดึงข้อมูลเข้าสู่ระบบตามข้อมูลผู้ใช้และอุปกรณ์ เพื่อให้มั่นใจว่าระบบจะเข้ากันได้แบบย้อนหลังกับวิธีการตรวจสอบสิทธิ์แบบเดิม
การปรับฝั่งเซิร์ฟเวอร์อีกอย่างหนึ่งคือการติดตั้งใช้งานความสามารถในการจัดการคำขอจากอุปกรณ์ Android คำขอพาสคีย์ที่มาจากแอป Android จะใช้รูปแบบต้นทางที่ไม่ซ้ำกัน (android:apk-key-hash:example) ซึ่งแตกต่างจากต้นทางของเว็บมาตรฐานที่ใช้รูปแบบตาม URI (https://example.com/app) ต้องอัปเดตตรรกะของเซิร์ฟเวอร์เพื่อให้แยกวิเคราะห์รูปแบบนี้ได้อย่างถูกต้อง ดึงแฮชลายนิ้วมือ SHA-256 ของใบรับรองการลงนามของแอป และตรวจสอบกับรายการที่ลงทะเบียนไว้ล่วงหน้า ขั้นตอนการยืนยันนี้ช่วยให้มั่นใจได้ว่าคำขอการตรวจสอบสิทธิ์มาจากแอป Android ของ Zoho จริงๆ และช่วยป้องกันการโจมตีแบบฟิชชิง
ข้อมูลโค้ดนี้แสดงวิธีที่เซิร์ฟเวอร์ตรวจสอบรูปแบบต้นทางเฉพาะของ Android และตรวจสอบแฮชใบรับรอง
val origin: String = clientData.getString("origin")
if (origin.startsWith("android:apk-key-hash:")) {
val originSplit: List<String> = origin.split(":")
if (originSplit.size > 3) {
val androidOriginHashDecoded: ByteArray = Base64.getDecoder().decode(originSplit[3])
if (!androidOriginHashDecoded.contentEquals(oneAuthSha256FingerPrint)) {
throw IAMException(IAMErrorCode.WEBAUTH003)
}
} else {
// Optional: Handle the case where the origin string is malformed }
}การจัดการข้อผิดพลาด
Zoho ได้ใช้กลไกการจัดการข้อผิดพลาดที่มีประสิทธิภาพเพื่อจัดการข้อผิดพลาดทั้งที่ผู้ใช้และนักพัฒนาแอปพบ ข้อผิดพลาดที่พบบ่อย CreateCredentialCancellationException จะปรากฏขึ้นเมื่อผู้ใช้ยกเลิกการตั้งค่าพาสคีย์ด้วยตนเอง Zoho ติดตามความถี่ของข้อผิดพลาดนี้เพื่อประเมินการปรับปรุง UX ที่อาจเกิดขึ้น Zoho ได้ดำเนินการตามคำแนะนำด้าน UX ของ Android เพื่อให้ความรู้แก่ผู้ใช้เกี่ยวกับพาสคีย์ได้ดียิ่งขึ้น รวมถึงตรวจสอบว่าผู้ใช้ทราบว่ามีพาสคีย์ให้ใช้งาน และส่งเสริมการใช้พาสคีย์ในระหว่างการพยายามลงชื่อเข้าใช้ครั้งต่อๆ ไป
ตัวอย่างโค้ดนี้แสดงแนวทางของ Zoho ในการจัดการข้อผิดพลาดในการสร้างพาสคีย์ที่พบบ่อยที่สุด
private fun handleFailure(e: CreateCredentialException) {
val msg = when (e) {
is CreateCredentialCancellationException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_CANCELLED", GROUP_NAME)
Analytics.addNonFatalException(e)
"The operation was canceled by the user."
}
is CreateCredentialInterruptedException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_INTERRUPTED", GROUP_NAME)
Analytics.addNonFatalException(e)
"Passkey setup was interrupted. Please try again."
}
is CreateCredentialProviderConfigurationException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_PROVIDER_MISCONFIGURED", GROUP_NAME)
Analytics.addNonFatalException(e)
"Credential provider misconfigured. Contact support."
}
is CreateCredentialUnknownException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_UNKNOWN_ERROR", GROUP_NAME)
Analytics.addNonFatalException(e)
"An unknown error occurred during Passkey setup."
}
is CreatePublicKeyCredentialDomException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_WEB_AUTHN_ERROR", GROUP_NAME)
Analytics.addNonFatalException(e)
"Passkey creation failed: ${e.domError}"
}
else -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_FAILED", GROUP_NAME)
Analytics.addNonFatalException(e)
"An unexpected error occurred. Please try again."
}
}
}การทดสอบพาสคีย์ในสภาพแวดล้อมอินทราเน็ต
Zoho พบความท้าทายเบื้องต้นในการทดสอบพาสคีย์ภายในสภาพแวดล้อมอินทราเน็ตแบบปิด กระบวนการยืนยันพาสคีย์ในเครื่องมือจัดการรหัสผ่านบน Google ต้องใช้การเข้าถึงโดเมนสาธารณะเพื่อตรวจสอบโดเมนของ Relying Party (RP) อย่างไรก็ตาม สภาพแวดล้อมการทดสอบภายในของ Zoho ไม่มีการเข้าถึงอินเทอร์เน็ตสาธารณะนี้ จึงทำให้กระบวนการยืนยันไม่สำเร็จและขัดขวางการทดสอบการตรวจสอบสิทธิ์ด้วยพาสคีย์ให้สำเร็จ Zoho จึงสร้างสภาพแวดล้อมการทดสอบที่เข้าถึงได้แบบสาธารณะ ซึ่งรวมถึงการโฮสต์เซิร์ฟเวอร์ชั่วคราวที่มีไฟล์ลิงก์เนื้อหาและการตรวจสอบโดเมน
ตัวอย่างนี้จากไฟล์ assetlinks.json ที่ใช้ในสภาพแวดล้อมการทดสอบสาธารณะของ Zoho แสดงวิธีเชื่อมโยงโดเมนของบุคคลที่สามกับแอป Android ที่ระบุเพื่อการตรวจสอบพาสคีย์
[
{
"relation": [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target": {
"namespace": "android_app",
"package_name": "com.zoho.accounts.oneauth",
"sha256_cert_fingerprints": [
"SHA_HEX_VALUE"
]
}
}
]ผสานรวมกับเซิร์ฟเวอร์ FIDO ที่มีอยู่
ระบบพาสคีย์ของ Android ใช้มาตรฐาน FIDO2 WebAuthn ที่ทันสมัย มาตรฐานนี้กำหนดให้คำขอต้องอยู่ในรูปแบบ JSON ที่เฉพาะเจาะจง ซึ่งจะช่วยรักษาความสอดคล้องกันระหว่างแอปพลิเคชันเนทีฟและแพลตฟอร์มเว็บ Zoho ได้ทำการเปลี่ยนแปลงความเข้ากันได้และโครงสร้างเล็กน้อยเพื่อสร้างและประมวลผลคำขอที่สอดคล้องกับโครงสร้าง JSON ของ FIDO2 ที่จำเป็นอย่างถูกต้อง เพื่อเปิดใช้การรองรับพาสคีย์ Android
การอัปเดตเซิร์ฟเวอร์นี้เกี่ยวข้องกับการปรับแต่งทางเทคนิคที่เฉพาะเจาะจงหลายอย่าง ดังนี้
1. การแปลงการเข้ารหัส: เซิร์ฟเวอร์จะแปลงการเข้ารหัส URL แบบ Base64 (ซึ่งใช้กันทั่วไปใน WebAuthn สำหรับช่องต่างๆ เช่น รหัสข้อมูลเข้าสู่ระบบ) เป็นการเข้ารหัส Base64 มาตรฐานก่อนที่จะจัดเก็บข้อมูลที่เกี่ยวข้อง ข้อมูลโค้ดด้านล่างแสดงวิธีเข้ารหัส rawId เป็น Base64 มาตรฐาน
// Convert rawId bytes to a standard Base64 encoded string for storage val base64RawId: String = Base64.getEncoder().encodeToString(rawId.toByteArray())
2. รูปแบบรายการการรับส่ง: ตรรกะของเซิร์ฟเวอร์จะจัดการรายการกลไกการรับส่ง (เช่น USB, NFC และบลูทูธ ซึ่งระบุวิธีที่เครื่องมือตรวจสอบสิทธิ์สื่อสาร) เป็นอาร์เรย์ JSON เพื่อให้มั่นใจว่าการประมวลผลข้อมูลจะสอดคล้องกัน
3. การจัดแนวข้อมูลไคลเอ็นต์: ทีม Zoho ปรับวิธีที่เซิร์ฟเวอร์เข้ารหัสและถอดรหัสฟิลด์ clientDataJson วิธีนี้ช่วยให้มั่นใจว่าโครงสร้างข้อมูลจะสอดคล้องกับความคาดหวังของ API ภายในที่มีอยู่ของ Zoho อย่างแม่นยำ ตัวอย่างด้านล่างแสดงตรรกะ Conversion บางส่วนที่ใช้กับข้อมูลไคลเอ็นต์ก่อนที่เซิร์ฟเวอร์จะประมวลผล
private fun convertForServer(type: String): String {
val clientDataBytes = BaseEncoding.base64().decode(type)
val clientDataJson = JSONObject(String(clientDataBytes, StandardCharsets.UTF_8))
val clientJson = JSONObject()
val challengeFromJson = clientDataJson.getString("challenge")
// 'challenge' is a technical identifier/token, not localizable text.
clientJson.put("challenge", BaseEncoding.base64Url()
.encode(challengeFromJson.toByteArray(StandardCharsets.UTF_8)))
clientJson.put("origin", clientDataJson.getString("origin"))
clientJson.put("type", clientDataJson.getString("type"))
clientJson.put("androidPackageName", clientDataJson.getString("androidPackageName"))
return BaseEncoding.base64().encode(clientJson.toString().toByteArray())
}คำแนะนำสำหรับผู้ใช้และค่ากำหนดการตรวจสอบสิทธิ์
ส่วนสำคัญของกลยุทธ์พาสคีย์ของ Zoho คือการกระตุ้นให้ผู้ใช้ยอมรับการใช้งานในขณะที่ให้ความยืดหยุ่นเพื่อให้สอดคล้องกับข้อกำหนดต่างๆ ขององค์กร ซึ่งทำได้ด้วยการออกแบบ UI อย่างรอบคอบและการควบคุมนโยบาย
Zoho ทราบดีว่าองค์กรต่างๆ มีความต้องการด้านความปลอดภัยที่แตกต่างกัน Zoho จึงได้ดำเนินการดังนี้
- การบังคับใช้ของผู้ดูแลระบบ: ผู้ดูแลระบบสามารถกำหนดให้พาสคีย์เป็นวิธีการตรวจสอบสิทธิ์เริ่มต้นที่จำเป็นสำหรับทั้งองค์กรผ่านแผงผู้ดูแลระบบ Zoho Directory เมื่อเปิดใช้นโยบายนี้ พนักงานจะต้องตั้งค่าพาสคีย์เมื่อเข้าสู่ระบบครั้งถัดไปและใช้พาสคีย์ต่อไป
- ตัวเลือกของผู้ใช้: หากองค์กรไม่ได้บังคับใช้นโยบายที่เฉพาะเจาะจง ผู้ใช้แต่ละรายจะยังคงมีสิทธิ์ควบคุม โดยสามารถเลือกวิธีการตรวจสอบสิทธิ์ที่ต้องการในระหว่างการเข้าสู่ระบบได้ โดยเลือกจากพาสคีย์หรือตัวเลือกอื่นๆ ที่กำหนดค่าไว้ผ่านการตั้งค่าการตรวจสอบสิทธิ์
Zoho ได้ดำเนินการต่อไปนี้เพื่อให้การใช้พาสคีย์เป็นเรื่องที่น่าสนใจและตรงไปตรงมาสำหรับผู้ใช้ปลายทาง
- ตั้งค่าได้ง่าย: Zoho ได้ผสานรวมการตั้งค่าพาสคีย์เข้ากับแอป Zoho OneAuth บนอุปกรณ์เคลื่อนที่โดยตรง (พร้อมใช้งานทั้งใน Android และ iOS) ผู้ใช้สามารถกำหนดค่าพาสคีย์ภายในแอปได้อย่างสะดวกทุกเมื่อ ซึ่งจะช่วยให้การเปลี่ยนไปใช้พาสคีย์เป็นไปอย่างราบรื่น
- การเข้าถึงที่สอดคล้องกัน: เราได้ติดตั้งใช้งานการรองรับพาสคีย์ในทัชพอยต์หลักของผู้ใช้ เพื่อให้มั่นใจว่าผู้ใช้จะลงทะเบียนและตรวจสอบสิทธิ์โดยใช้พาสคีย์ผ่านช่องทางต่อไปนี้ได้
- แอป Zoho OneAuth บนอุปกรณ์เคลื่อนที่ (Android และ iOS)
- หน้าบัญชีบนเว็บของ Zoho
วิธีนี้ช่วยให้มั่นใจได้ว่ากระบวนการตั้งค่าและใช้พาสคีย์จะเข้าถึงได้และผสานรวมเข้ากับแพลตฟอร์มที่ผู้ใช้ใช้อยู่แล้ว ไม่ว่าจะเป็นการบังคับใช้โดยผู้ดูแลระบบหรือผู้ใช้เลือกเองก็ตาม ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างโฟลว์ของผู้ใช้ที่ราบรื่นสำหรับการตรวจสอบสิทธิ์ด้วยพาสคีย์ได้โดยอ่านคู่มือประสบการณ์ของผู้ใช้พาสคีย์ฉบับสมบูรณ์
ผลกระทบต่อความเร็วของนักพัฒนาซอฟต์แวร์และประสิทธิภาพการผสานรวม
นอกจากนี้ Credential Manager ในฐานะ API แบบรวมยังช่วยปรับปรุงประสิทธิภาพการทำงานของนักพัฒนาซอฟต์แวร์เมื่อเทียบกับขั้นตอนการลงชื่อเข้าใช้แบบเดิมด้วย ซึ่งช่วยลดความซับซ้อนในการจัดการวิธีการตรวจสอบสิทธิ์และ API หลายรายการแยกกัน ส่งผลให้การผสานรวมเร็วขึ้นจากหลายเดือนเหลือเพียงไม่กี่สัปดาห์ และลดข้อผิดพลาดในการติดตั้งใช้งาน ซึ่งช่วยปรับปรุงกระบวนการลงชื่อเข้าใช้และเพิ่มความน่าเชื่อถือโดยรวม
การใช้พาสคีย์กับ Credential Manager ช่วยให้ Zoho ได้รับการปรับปรุงที่สำคัญและวัดผลได้ในทุกด้าน ดังนี้
- ปรับปรุงความเร็วอย่างมาก
- เข้าสู่ระบบเร็วกว่าเดิม 2 เท่าเมื่อเทียบกับการตรวจสอบสิทธิ์ด้วยรหัสผ่านแบบเดิม
- เข้าสู่ระบบเร็วกว่าเดิม 4 เท่าเมื่อเทียบกับชื่อผู้ใช้หรือหมายเลขโทรศัพท์มือถือที่มีการตรวจสอบสิทธิ์ OTP ทางอีเมลหรือ SMS
- เข้าสู่ระบบเร็วขึ้น 6 เท่าเมื่อเทียบกับการตรวจสอบสิทธิ์ชื่อผู้ใช้ รหัสผ่าน และ OTP ทาง SMS หรือ Authenticator
- ลดต้นทุนการสนับสนุน
- คำขอรับการสนับสนุนเกี่ยวกับรหัสผ่านลดลง โดยเฉพาะรหัสผ่านที่ลืม
- ลดต้นทุนที่เกี่ยวข้องกับการยืนยันแบบ 2 ขั้นตอนผ่าน SMS เนื่องจากผู้ใช้เดิมสามารถเริ่มต้นใช้งานด้วยพาสคีย์ได้โดยตรง
- การยอมรับของผู้ใช้ที่แข็งแกร่งและการรักษาความปลอดภัยที่ดียิ่งขึ้น:
- การลงชื่อเข้าใช้ด้วยพาสคีย์เพิ่มขึ้นเป็น 2 เท่าในเวลาเพียง 4 เดือน ซึ่งแสดงให้เห็นว่าผู้ใช้ยอมรับการใช้งานพาสคีย์ในระดับสูง
- ผู้ใช้ที่เปลี่ยนไปใช้พาสคีย์จะได้รับการปกป้องอย่างเต็มที่จากภัยคุกคามทั่วไปที่เกิดจากฟิชชิงและการละเมิดรหัสผ่าน
- การเติบโตของการใช้งานแบบเดือนต่อเดือนที่ 31% ทำให้ผู้ใช้จำนวนมากขึ้นได้รับประโยชน์จากความปลอดภัยที่ดียิ่งขึ้นทุกวัน ซึ่งช่วยป้องกันช่องโหว่ต่างๆ เช่น ฟิชชิงและการสลับซิม
คำแนะนำและแนวทางปฏิบัติแนะนำ
หากต้องการติดตั้งใช้งานพาสคีย์ใน Android ให้สำเร็จ นักพัฒนาแอปควรพิจารณาแนวทางปฏิบัติแนะนำต่อไปนี้
- ใช้ประโยชน์จาก Credential Manager API ของ Android:
- Credential Manager ช่วยให้การดึงข้อมูลเข้าสู่ระบบง่ายขึ้น ลดความพยายามของนักพัฒนาซอฟต์แวร์ และมอบประสบการณ์การตรวจสอบสิทธิ์ที่สอดคล้องกัน
- จัดการรหัสผ่าน พาสคีย์ และขั้นตอนการเข้าสู่ระบบแบบรวมศูนย์ในอินเทอร์เฟซเดียว
- ตรวจสอบว่าการเข้ารหัสข้อมูลมีความสอดคล้องกันขณะย้ายข้อมูลจากโซลูชันการตรวจสอบสิทธิ์ FIDO อื่นๆ
- ตรวจสอบว่าคุณจัดการการจัดรูปแบบที่สอดคล้องกันสำหรับอินพุต/เอาต์พุตทั้งหมดขณะย้ายข้อมูลจากโซลูชันการตรวจสอบสิทธิ์ FIDO อื่นๆ เช่น คีย์ความปลอดภัย FIDO
- เพิ่มประสิทธิภาพการจัดการข้อผิดพลาดและการบันทึก:
- ใช้การจัดการข้อผิดพลาดที่มีประสิทธิภาพเพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ราบรื่น
- ระบุข้อความแสดงข้อผิดพลาดที่แปลแล้วและใช้บันทึกโดยละเอียดเพื่อแก้ไขข้อบกพร่องและแก้ไขความล้มเหลวที่ไม่คาดคิด
- ให้ความรู้ผู้ใช้เกี่ยวกับตัวเลือกการกู้คืนพาสคีย์
- ป้องกันสถานการณ์ที่ถูกล็อกไม่ให้เข้าถึงบัญชีโดยแนะนำตัวเลือกการกู้คืนแก่ผู้ใช้ในเชิงรุก
- ตรวจสอบเมตริกการยอมรับและความคิดเห็นของผู้ใช้:
- ติดตามการมีส่วนร่วมของผู้ใช้ อัตราการใช้พาสคีย์ และอัตราการเข้าสู่ระบบสำเร็จเพื่อเพิ่มประสิทธิภาพประสบการณ์ของผู้ใช้ต่อไป
- ทำการทดสอบ A/B ในขั้นตอนการตรวจสอบสิทธิ์ต่างๆ เพื่อปรับปรุง Conversion และการรักษาผู้ใช้
พาสคีย์เมื่อใช้ร่วมกับ Android Credential Manager API จะเป็นโซลูชันการตรวจสอบสิทธิ์แบบรวมที่มีประสิทธิภาพซึ่งช่วยเพิ่มความปลอดภัยพร้อมทั้งลดความซับซ้อนของประสบการณ์ของผู้ใช้ พาสคีย์ช่วยลดความเสี่ยงจากฟิชชิง การขโมยข้อมูลเข้าสู่ระบบ และการเข้าถึงที่ไม่ได้รับอนุญาตได้อย่างมาก เราขอแนะนำให้นักพัฒนาแอปทดลองใช้ประสบการณ์การใช้งานในแอปของตนและนำการตรวจสอบสิทธิ์ที่ปลอดภัยที่สุดมาให้ผู้ใช้
เริ่มต้นใช้งานพาสคีย์และ Credential Manager
ลองใช้พาสคีย์และ Credential Manager ใน Android โดยใช้โค้ดตัวอย่างที่เผยแพร่ต่อสาธารณะ
หากมีคำถามหรือพบปัญหา โปรดแจ้งให้เราทราบผ่านเครื่องมือติดตามปัญหาเกี่ยวกับข้อมูลเข้าสู่ระบบของ Android
อ่านต่อ
-
กรณีศึกษา
Uber ใช้ประโยชน์จาก Android Restore Credentials API เพื่อเพิ่มประสิทธิภาพการลงชื่อเข้าใช้อุปกรณ์ใหม่ โดยคาดว่าจะลดการเข้าสู่ระบบด้วยตนเองได้ 4 ล้านครั้งต่อปีและเพิ่มการคงผู้ใช้ไว้
Niharika Arora, Tracy Agyemang • ใช้เวลาอ่าน 5 นาที
-
กรณีศึกษา
X เป็นแอปโซเชียลมีเดียที่มุ่งมั่นที่จะช่วยให้ผู้ใช้เกือบ 500 ล้านคนทั่วโลกได้รับทราบเรื่องราวทั้งหมดพร้อมความคิดเห็นแบบเรียลไทม์ ไม่ว่าจะเป็นข่าวด่วน ความบันเทิง กีฬา หรือการเมือง
Niharika Arora, Tracy Agyemang • ใช้เวลาอ่าน 3 นาที
-
กรณีศึกษา
การถดถอยของประสิทธิภาพเป็นปัญหาที่ทราบกันดีว่าจำลองได้ยากมาก ซึ่งทำให้การถดถอยเป็นอุปสรรคสำคัญสำหรับนักพัฒนาแอปบนอุปกรณ์เคลื่อนที่
Alice Yuan, Arti Arutiunov, Nikita Ogorodnikov • ใช้เวลาอ่าน 4 นาที
รับข่าวสาร
รับข้อมูลเชิงลึกด้านการพัฒนาแอป Android ล่าสุดส่งตรงถึงกล่องจดหมายของคุณทุกสัปดาห์