กรณีศึกษา
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 แสดงวิธีเชื่อมโยงโดเมน Relying Party กับแอป 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 • ใช้เวลาอ่าน 5 นาที
-
กรณีศึกษา
X เป็นแอปโซเชียลมีเดียที่มุ่งช่วยให้ผู้ใช้เกือบ 500 ล้านคนทั่วโลกได้รับทราบเรื่องราวทั้งหมดพร้อมการแสดงความคิดเห็นแบบสด ไม่ว่าจะเป็นข่าวด่วน ความบันเทิง กีฬา หรือการเมือง
Niharika Arora • ใช้เวลาอ่าน 3 นาที
-
กรณีศึกษา
Monzo เป็นธนาคารดิจิทัลในสหราชอาณาจักรที่มีลูกค้า 15 ล้านรายและกำลังเติบโต เมื่อแอปขยายขนาด ทีมวิศวกรพบว่าเวลาเริ่มต้นของแอปเป็นส่วนสำคัญที่ควรปรับปรุง แต่กังวลว่าการปรับปรุงนี้จะต้องมีการเปลี่ยนแปลงที่สำคัญในโค้ดเบส
Ben Weiss • ใช้เวลาอ่าน 2 นาที
รับข่าวสาร
รับข้อมูลเชิงลึกด้านการพัฒนาแอป Android ล่าสุดส่งตรงถึงกล่องจดหมายของคุณทุกสัปดาห์