กรณีศึกษา
Zoho เข้าสู่ระบบได้เร็วขึ้น 6 เท่าด้วยการผสานรวมพาสคีย์และ Credential Manager
ใช้เวลาอ่าน 10 นาที
ในฐานะนักพัฒนาแอป Android คุณจะมองหาวิธีเพิ่มความปลอดภัย ปรับปรุงประสบการณ์ของผู้ใช้ และเพิ่มประสิทธิภาพการพัฒนาอยู่เสมอ Zoho ซึ่งเป็นชุดซอฟต์แวร์บนคลาวด์แบบครบวงจรที่มุ่งเน้นด้านความปลอดภัยและประสบการณ์การใช้งานที่ราบรื่น ได้รับการปรับปรุงที่สำคัญด้วยการนำพาสคีย์มาใช้ในแอป OneAuth Android
นับตั้งแต่ผสานรวมพาสคีย์ในปี 2024 Zoho มีความเร็วในการเข้าสู่ระบบเร็วขึ้นสูงสุด 6 เท่า เมื่อเทียบกับวิธีการก่อนหน้า และมีการนำพาสคีย์มาใช้เพิ่มขึ้น 31% เมื่อเทียบกับเดือนก่อนหน้า
กรณีศึกษาฉบับนี้จะตรวจสอบการนำพาสคีย์และ Android's Credential Manager API มาใช้ของ Zoho เพื่อแก้ไขปัญหาการตรวจสอบสิทธิ์ โดยจะอธิบายรายละเอียดกระบวนการติดตั้งใช้งานทางเทคนิคและเน้นผลลัพธ์ที่สำคัญ
การเอาชนะความท้าทายในการตรวจสอบสิทธิ์
Zoho ใช้การผสมผสานวิธีการตรวจสอบสิทธิ์เพื่อปกป้องบัญชีผู้ใช้ ซึ่งรวมถึง Zoho OneAuth ซึ่งเป็นโซลูชันการตรวจสอบสิทธิ์แบบหลายปัจจัย (MFA) ของตนเองที่รองรับการตรวจสอบสิทธิ์ด้วยรหัสผ่านและการตรวจสอบสิทธิ์แบบไม่ต้องใช้รหัสผ่านโดยใช้การแจ้งเตือนแบบพุช, คิวอาร์โค้ด และรหัสผ่านแบบใช้ครั้งเดียวตามเวลา (TOTP) นอกจากนี้ Zoho ยังรองรับการเข้าสู่ระบบแบบรวมศูนย์ ซึ่งอนุญาตให้ตรวจสอบสิทธิ์ผ่านภาษามาร์กอัปเพื่อยืนยันความปลอดภัย (SAML) และผู้ให้บริการข้อมูลประจำตัวบุคคลที่สามรายอื่นๆ
ความท้าทาย
Zoho มีเป้าหมายที่จะปรับปรุงความปลอดภัยในการตรวจสอบสิทธิ์และประสบการณ์ของผู้ใช้ พร้อมทั้งลดภาระด้านการดำเนินงาน เช่นเดียวกับองค์กรอื่นๆ ความท้าทายหลักๆ ที่นำไปสู่การนำพาสคีย์มาใช้ ได้แก่
- ช่องโหว่ด้านความปลอดภัย: วิธีการแบบเดิมที่ใช้รหัสผ่านทำให้ผู้ใช้เสี่ยงต่อการโจมตีแบบฟิชชิงและการละเมิดรหัสผ่าน
- ความไม่สะดวกของผู้ใช้: การที่ต้องจำรหัสผ่านจำนวนมากทำให้ผู้ใช้ลืมรหัสผ่าน รู้สึกหงุดหงิด และต้องพึ่งพากระบวนการกู้คืนที่ซับซ้อนมากขึ้น
- ความไม่มีประสิทธิภาพในการดำเนินงาน: การจัดการการรีเซ็ตรหัสผ่านและปัญหา MFA ทำให้เกิดค่าใช้จ่ายในการสนับสนุนที่สูง
- ข้อกังวลด้านความสามารถในการปรับขนาด: ฐานผู้ใช้ที่เพิ่มขึ้นทำให้ต้องมีโซลูชันการตรวจสอบสิทธิ์ที่ปลอดภัยและมีประสิทธิภาพมากขึ้น
เหตุผลที่เปลี่ยนไปใช้พาสคีย์
เราได้ติดตั้งใช้งานพาสคีย์ในแอปของ Zoho เพื่อแก้ไขปัญหาการตรวจสอบสิทธิ์โดยนำเสนอแนวทางแบบไม่ต้องใช้รหัสผ่าน ซึ่งช่วยปรับปรุงความปลอดภัยและประสบการณ์ของผู้ใช้ได้อย่างมาก โซลูชันนี้ใช้ประโยชน์จากการตรวจสอบสิทธิ์ที่ปลอดภัยจากฟิชชิง ข้อมูลเข้าสู่ระบบที่ซิงค์กับระบบคลาวด์เพื่อให้เข้าถึงได้ง่ายในอุปกรณ์ต่างๆ รวมถึงข้อมูลไบโอเมตริก (เช่น ลายนิ้วมือหรือการจดจำใบหน้า), PIN หรือรูปแบบสำหรับการเข้าสู่ระบบที่ปลอดภัย ซึ่งจะช่วยลดช่องโหว่และความไม่สะดวกที่เกี่ยวข้องกับรหัสผ่านแบบเดิม
การนำพาสคีย์มาใช้กับ Credential Manager ช่วยให้ Zoho ลดเวลาในการเข้าสู่ระบบได้สูงสุด 6 เท่า ลดค่าใช้จ่ายในการสนับสนุนที่เกี่ยวข้องกับรหัสผ่าน และมีการนำพาสคีย์มาใช้อย่างมาก โดยมีการลงชื่อเข้าใช้ด้วยพาสคีย์เพิ่มขึ้น 2 เท่า ใน 4 เดือน และมีการนำมาใช้เพิ่มขึ้น 31% เมื่อเทียบกับเดือนก่อนหน้า ตอนนี้ผู้ใช้ Zoho ได้รับการเข้าสู่ระบบที่ง่ายและรวดเร็วขึ้น รวมถึงความปลอดภัยที่ปลอดภัยจากฟิชชิง
การติดตั้งใช้งานด้วย Credential Manager ใน Android
Zoho ได้ผลลัพธ์เหล่านี้มาได้อย่างไร Zoho ใช้ Android's Credential Manager API ซึ่งเป็นไลบรารี 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 ซึ่งจะตรวจสอบลายเซ็นกับคีย์สาธารณะที่จัดเก็บไว้ของผู้ใช้และตรวจสอบความถูกต้องของ Challenge เพื่อให้กระบวนการลงชื่อเข้าใช้ที่ปลอดภัยเสร็จสมบูรณ์
การติดตั้งใช้งานฝั่งเซิร์ฟเวอร์
การเปลี่ยนไปรองรับพาสคีย์ของ 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 จึงสร้างสภาพแวดล้อมการทดสอบที่เข้าถึงได้แบบสาธารณะ ซึ่งรวมถึงการโฮสต์เซิร์ฟเวอร์ชั่วคราวที่มี ไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) และการตรวจสอบโดเมน
ตัวอย่างนี้จากไฟล์ 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 คาดหวังไว้อย่างแม่นยำ ตัวอย่างด้านล่างแสดงส่วนหนึ่งของตรรกะการแปลงที่ใช้กับข้อมูลไคลเอ็นต์ก่อนที่เซิร์ฟเวอร์จะประมวลผล
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 accounts
วิธีนี้ช่วยให้มั่นใจได้ว่ากระบวนการตั้งค่าและใช้พาสคีย์เข้าถึงได้และผสานรวมเข้ากับแพลตฟอร์มที่ผู้ใช้ใช้อยู่แล้ว ไม่ว่าผู้ดูแลระบบจะกำหนดให้ใช้หรือผู้ใช้เลือกใช้เองก็ตาม ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างขั้นตอนของผู้ใช้ที่ราบรื่นสำหรับการตรวจสอบสิทธิ์พาสคีย์ได้โดยสำรวจคู่มือประสบการณ์ของผู้ใช้พาสคีย์แบบครอบคลุม
ผลกระทบต่อความเร็วของนักพัฒนาแอปและประสิทธิภาพการผสานรวม
Credential Manager ซึ่งเป็น API แบบรวมยังช่วยปรับปรุงประสิทธิภาพของนักพัฒนาแอปเมื่อเทียบกับขั้นตอนการลงชื่อเข้าใช้แบบเก่า โดยช่วยลดความซับซ้อนในการจัดการวิธีการตรวจสอบสิทธิ์และ API หลายรายการแยกกัน ซึ่งนำไปสู่การผสานรวมที่เร็วขึ้น จากหลายเดือนเป็นหลายสัปดาห์ และข้อผิดพลาดในการติดตั้งใช้งานน้อยลง โดยรวมแล้วสิ่งนี้ช่วยเพิ่มประสิทธิภาพกระบวนการลงชื่อเข้าใช้และปรับปรุงความน่าเชื่อถือโดยรวม
การติดตั้งใช้งานพาสคีย์ด้วย Credential Manager ช่วยให้ Zoho ได้รับการปรับปรุงที่สำคัญและวัดผลได้ในทุกด้าน ดังนี้
- ความเร็วเพิ่มขึ้นอย่างมาก
- การเข้าสู่ระบบเร็วขึ้น 2 เท่า เมื่อเทียบกับการตรวจสอบสิทธิ์ด้วยรหัสผ่านแบบเดิม
- การเข้าสู่ระบบเร็วขึ้น 4 เท่า เมื่อเทียบกับการตรวจสอบสิทธิ์ด้วยชื่อผู้ใช้หรือหมายเลขโทรศัพท์มือถือพร้อมการตรวจสอบสิทธิ์ OTP ทางอีเมลหรือ SMS
- การเข้าสู่ระบบเร็วขึ้น 6 เท่า เมื่อเทียบกับการตรวจสอบสิทธิ์ด้วยชื่อผู้ใช้ รหัสผ่าน และ OTP ทาง SMS หรือ Authenticator
- ค่าใช้จ่ายในการสนับสนุนลดลง
- คำขอการสนับสนุนที่เกี่ยวข้องกับรหัสผ่านลดลง โดยเฉพาะคำขอการกู้คืนรหัสผ่านที่ลืม
- ค่าใช้จ่ายลดลง ที่เกี่ยวข้องกับ 2FA ผ่าน SMS เนื่องจากผู้ใช้ที่มีอยู่สามารถเริ่มต้นใช้งานพาสคีย์ได้โดยตรง
- การนำพาสคีย์มาใช้เพิ่มขึ้นอย่างมากและความปลอดภัยที่ดียิ่งขึ้น
- การลงชื่อเข้าใช้ด้วยพาสคีย์เพิ่มขึ้น 2 เท่า ในเวลาเพียง 4 เดือน ซึ่งแสดงให้เห็นว่าผู้ใช้ยอมรับพาสคีย์เป็นอย่างมาก
- ผู้ใช้ที่เปลี่ยนไปใช้พาสคีย์จะได้รับการปกป้องอย่างเต็มที่ จากภัยคุกคามทั่วไปของการโจมตีแบบฟิชชิงและการละเมิดรหัสผ่าน
- ด้วยการนำพาสคีย์มาใช้เพิ่มขึ้น 31% เมื่อเทียบกับเดือนก่อนหน้า ผู้ใช้จำนวนมากขึ้นจึงได้รับประโยชน์ทุกวันจากความปลอดภัยที่ดียิ่งขึ้นเพื่อป้องกันช่องโหว่ต่างๆ เช่น การโจมตีแบบฟิชชิงและการสลับซิม
คำแนะนำและแนวทางปฏิบัติแนะนำ
นักพัฒนาแอปควรพิจารณาแนวทางปฏิบัติแนะนำต่อไปนี้เพื่อติดตั้งใช้งานพาสคีย์ใน Android ให้สำเร็จ
- ใช้ประโยชน์จาก Android's Credential Manager API:
- 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 นาที
-
กรณีศึกษา
แอป Gratitude ซึ่งเป็นแอปเพื่อการมีสติจะกระตุ้นให้ผู้ใช้ทำกิจกรรมอย่างสม่ำเสมอผ่านการจดบันทึกประจำวันขนาดเล็ก ข้อความเสริมสร้างกำลังใจ และบอร์ดวิสัยทัศน์ แอปนี้มีการดาวน์โหลดมากกว่า 6 ล้านครั้ง ได้รับคะแนน 5 ดาว 150,000 รายการ และมีการบันทึกรายการบันทึกมากกว่า 100 ล้านรายการ
Amrit Sanjeev, Ash Nohe • ใช้เวลาอ่าน 3 นาที
รับข่าวสาร
รับข้อมูลเชิงลึกล่าสุดเกี่ยวกับการพัฒนา Android ส่งตรงถึงกล่องจดหมายของคุณ ทุกสัปดาห์