ดูวิธีที่ Yahoo! Japan ได้สร้างระบบข้อมูลประจำตัวแบบไม่ใช้รหัสผ่าน
Yahoo! JAPAN เป็นบริษัทสื่อที่ใหญ่ที่สุดแห่งหนึ่งในญี่ปุ่น ซึ่ง ให้บริการต่างๆ เช่น การค้นหา ข่าวสาร อีคอมเมิร์ซ และอีเมล ผู้ใช้กว่า 50 ล้านคน เข้าสู่ระบบ Yahoo! JAPAN
ในช่วงหลายปีที่ผ่านมา มีการโจมตีบัญชีผู้ใช้จำนวนมากและมีปัญหาต่างๆ ที่ทำให้เสียสิทธิ์เข้าถึงบัญชี ปัญหาส่วนใหญ่เหล่านี้เกี่ยวข้องกับการใช้รหัสผ่าน สำหรับการตรวจสอบสิทธิ์
ด้วยความก้าวหน้าล่าสุดของเทคโนโลยีการตรวจสอบสิทธิ์ ทำให้ Yahoo! JAPAN ตัดสินใจ เปลี่ยนจากการตรวจสอบสิทธิ์แบบไม่ใช้รหัสผ่าน ไปใช้การตรวจสอบสิทธิ์แบบไม่ใช้รหัสผ่าน
เหตุใดจึงไม่ใช้รหัสผ่าน
เนื่องจาก Yahoo! JAPAN ให้บริการอีคอมเมิร์ซและบริการอื่นๆ ที่เกี่ยวข้องกับเงิน ซึ่งมีความเสี่ยงที่จะเกิดความเสียหายอย่างมากต่อผู้ใช้ในกรณีที่มีการเข้าถึงโดยไม่ได้รับอนุญาตหรือการสูญเสียบัญชี
การโจมตีที่เกี่ยวข้องกับรหัสผ่านที่พบบ่อยที่สุดคือการโจมตีด้วยรายการรหัสผ่านและกลโกงฟิชชิง หนึ่งในเหตุผลที่การโจมตีด้วยรายการรหัสผ่านเกิดขึ้นได้บ่อยและมีประสิทธิภาพคือ ผู้คนจำนวนมากชอบใช้รหัสผ่านเดียวกันในแอปพลิเคชันและเว็บไซต์ต่างๆ
ตัวเลขต่อไปนี้คือผลการสำรวจโดย Yahoo! JAPAN
50 %
ใช้ ID และรหัสผ่านเดียวกันในเว็บไซต์ 6 แห่งขึ้นไป
60 %
ใช้รหัสผ่านเดียวกันในหลายเว็บไซต์
70 %
ใช้รหัสผ่านเป็นวิธีหลักในการเข้าสู่ระบบ
ผู้ใช้มักลืมรหัสผ่าน ซึ่งเป็นต้นเหตุของคำถามส่วนใหญ่ที่เกี่ยวข้องกับรหัสผ่าน นอกจากนี้ยังมีการสอบถามจากผู้ใช้ที่ลืมรหัสการเข้าสู่ระบบด้วยนอกเหนือจากรหัสผ่าน ในช่วงสูงสุด การสอบถามเหล่านี้ เป็นมากกว่า 1 ใน 3 ของการสอบถามเกี่ยวกับบัญชีทั้งหมด
การไม่ใช้รหัสผ่านจะทำให้ Yahoo! JAPAN ไม่เพียงมุ่งปรับปรุงความปลอดภัย แต่ยังรวมถึงความสามารถในการใช้งาน โดยไม่สร้างภาระเพิ่มเติมให้กับผู้ใช้
จากมุมมองด้านความปลอดภัย การตัดรหัสผ่านออกจากกระบวนการตรวจสอบสิทธิ์ผู้ใช้จะลดความเสียหายจากการโจมตีแบบรายการ และในแง่ของความสามารถในการใช้งาน การนำเสนอวิธีการตรวจสอบสิทธิ์ที่ไม่ต้องจำรหัสผ่านจะช่วยป้องกันไม่ให้ผู้ใช้เข้าสู่ระบบไม่ได้เนื่องจากลืมรหัสผ่าน
Yahoo! โครงการริเริ่มที่ไม่ต้องใช้รหัสผ่านของ JAPAN
Yahoo! JAPAN ใช้ขั้นตอนหลายขั้นในการส่งเสริมการตรวจสอบสิทธิ์โดยไม่ใช้รหัสผ่าน ซึ่งแบ่งได้เป็น 3 หมวดหมู่กว้างๆ ดังนี้
- ระบุวิธีการตรวจสอบสิทธิ์ทางเลือกให้กับรหัสผ่าน
- การปิดใช้งานรหัสผ่าน
- การลงทะเบียนบัญชีแบบไม่ใช้รหัสผ่าน
โครงการริเริ่ม 2 รายการแรกมุ่งเป้าไปที่ผู้ใช้เดิม ส่วนการลงทะเบียนแบบไม่ใช้รหัสผ่านจะมุ่งไปที่ผู้ใช้ใหม่
1. การเสนอทางเลือกในการตรวจสอบสิทธิ์ให้กับรหัสผ่าน
Yahoo! JAPAN มีทางเลือกต่างๆ ต่อไปนี้ให้ใช้แทนรหัสผ่าน
นอกจากนี้ เรายังมีวิธีการตรวจสอบสิทธิ์ เช่น การตรวจสอบสิทธิ์อีเมล รหัสผ่านที่ใช้ร่วมกับ SMS OTP (รหัสผ่านที่สามารถใช้งานได้เพียงครั้งเดียว) และรหัสผ่านที่รวมกับ OTP ของอีเมล
การตรวจสอบสิทธิ์ทาง SMS
การตรวจสอบสิทธิ์ผ่าน SMS เป็นระบบที่อนุญาตให้ผู้ใช้ที่ลงทะเบียนรับรหัสการตรวจสอบสิทธิ์ 6 หลักผ่านทาง SMS เมื่อได้รับ SMS แล้ว ผู้ใช้จะป้อนรหัสการตรวจสอบสิทธิ์ในแอปหรือเว็บไซต์ได้
Apple อนุญาตให้ iOS อ่านข้อความ SMS และแนะนำรหัสการตรวจสอบสิทธิ์จากเนื้อความของข้อความมานานแล้ว เมื่อไม่นานมานี้ คุณอาจใช้คำแนะนำด้วยการระบุ "โค้ดแบบใช้ครั้งเดียว" ในแอตทริบิวต์ autocomplete
ขององค์ประกอบอินพุต Chrome ใน Android, Windows และ Mac มอบประสบการณ์การใช้งานแบบเดียวกันได้โดยใช้ WebOTP API
เช่น
<form>
<input type="text" id="code" autocomplete="one-time-code"/>
<button type="submit">sign in</button>
</form>
if ('OTPCredential' in window) {
const input = document.getElementById('code');
if (!input) return;
const ac = new AbortController();
const form = input.closest('form');
if (form) {
form.addEventListener('submit', e => {
ac.abort();
});
}
navigator.credentials.get({
otp: { transport:['sms'] },
signal: ac.signal
}).then(otp => {
input.value = otp.code;
}).catch(err => {
console.log(err);
});
}
ทั้ง 2 วิธีได้รับการออกแบบมาเพื่อป้องกันฟิชชิงโดยใส่โดเมนในเนื้อหา SMS และให้คำแนะนำสำหรับโดเมนที่ระบุเท่านั้น
ดูข้อมูลเพิ่มเติมเกี่ยวกับ WebOTP API และ autocomplete="one-time-code"
ได้ที่แนวทางปฏิบัติแนะนำสำหรับแบบฟอร์ม OTP ของ SMS
FIDO ที่มี WebAuthn
FIDO กับ WebAuthn ใช้ Authenticator ฮาร์ดแวร์เพื่อสร้างคู่การเข้ารหัสคีย์สาธารณะและพิสูจน์การครอบครอง เมื่อใช้สมาร์ทโฟนเป็นโปรแกรมตรวจสอบสิทธิ์ ก็จะสามารถรวมกับการตรวจสอบสิทธิ์ด้วยข้อมูลไบโอเมตริก (เช่น เซ็นเซอร์ลายนิ้วมือหรือการจดจำใบหน้า) เพื่อดำเนินการตรวจสอบสิทธิ์แบบ 2 ขั้นตอนแบบ 2 ขั้นตอน ในกรณีนี้ ระบบจะส่งเฉพาะลายเซ็นและตัวบ่งชี้ความสำเร็จจากการตรวจสอบสิทธิ์ด้วยข้อมูลไบโอเมตริกไปยังเซิร์ฟเวอร์ จึงไม่มีความเสี่ยงที่จะถูกขโมยข้อมูลไบโอเมตริก
แผนภาพต่อไปนี้แสดงการกำหนดค่าไคลเอ็นต์เซิร์ฟเวอร์สำหรับ FIDO ตัวตรวจสอบสิทธิ์ไคลเอ็นต์จะตรวจสอบสิทธิ์ผู้ใช้ด้วยข้อมูลไบโอเมตริกและเซ็นชื่อในผลลัพธ์โดยใช้วิทยาการเข้ารหัสคีย์สาธารณะ ระบบจะจัดเก็บคีย์ส่วนตัวที่ใช้สร้างลายเซ็นไว้อย่างปลอดภัยใน TEE (สภาพแวดล้อมการดำเนินการที่เชื่อถือได้) หรือตำแหน่งที่คล้ายกัน ผู้ให้บริการที่ใช้ FIDO จะเรียกว่า RP (ผู้ที่พึ่งพาอาศัย)
อ่านข้อมูลเพิ่มเติมได้ที่หลักเกณฑ์การตรวจสอบสิทธิ์จาก FIDO Alliance
Yahoo! JAPAN รองรับ FIDO ใน Android (แอปบนอุปกรณ์เคลื่อนที่และเว็บ), iOS (แอปบนอุปกรณ์เคลื่อนที่และเว็บ), Windows (Edge, Chrome, Firefox) และ macOS (Safari, Chrome) FIDO เป็นบริการสำหรับผู้บริโภค อุปกรณ์เกือบทุกชนิดจึงเป็นตัวเลือกที่ดีในการโปรโมตการตรวจสอบสิทธิ์แบบไม่ใช้รหัสผ่าน
Yahoo! JAPAN แนะนำให้ผู้ใช้ลงทะเบียนสำหรับ FIDO ด้วย WebAuthn หากผู้ใช้ยังไม่ได้ตรวจสอบสิทธิ์ด้วยวิธีอื่น เมื่อต้องเข้าสู่ระบบด้วยอุปกรณ์เดียวกัน ผู้ใช้จะตรวจสอบสิทธิ์ได้อย่างรวดเร็วโดยใช้เซ็นเซอร์ข้อมูลไบโอเมตริก
ผู้ใช้ต้องตั้งค่าการตรวจสอบสิทธิ์ FIDO กับอุปกรณ์ทุกเครื่องที่ใช้เข้าสู่ระบบ Yahoo! JAPAN
เรามีวิธีการตรวจสอบสิทธิ์หลายวิธีเพื่อส่งเสริมการตรวจสอบสิทธิ์แบบไม่ใช้รหัสผ่านและคำนึงถึงผู้ใช้ที่เปลี่ยนจากการใช้รหัสผ่านด้วย ซึ่งหมายความว่าผู้ใช้แต่ละรายอาจมีการตั้งค่าวิธีการตรวจสอบสิทธิ์ที่แตกต่างกัน และวิธีการตรวจสอบสิทธิ์ที่ใช้อาจแตกต่างกันไปในแต่ละเบราว์เซอร์ เราเชื่อว่าผู้ใช้จะได้รับประสบการณ์ที่ดียิ่งขึ้นหากเข้าสู่ระบบด้วยวิธีการตรวจสอบสิทธิ์เดิมทุกครั้ง
เพื่อให้เป็นไปตามข้อกำหนดเหล่านี้ คุณจำเป็นจะต้องติดตามวิธีการตรวจสอบสิทธิ์ก่อนหน้านี้และเชื่อมโยงข้อมูลนี้กับไคลเอ็นต์โดยจัดเก็บข้อมูลไว้ในรูปแบบคุกกี้ ฯลฯ จากนั้นเราจะวิเคราะห์วิธีการใช้เบราว์เซอร์และแอปพลิเคชันต่างๆ ในการตรวจสอบสิทธิ์ ระบบจะขอให้ผู้ใช้ระบุการตรวจสอบสิทธิ์ที่เหมาะสมตามการตั้งค่าของผู้ใช้ วิธีการตรวจสอบสิทธิ์ก่อนหน้านี้ที่ใช้ และระดับการตรวจสอบสิทธิ์ขั้นต่ำที่จำเป็น
2. การปิดใช้งานรหัสผ่าน
Yahoo! JAPAN ขอให้ผู้ใช้ตั้งค่าวิธีการตรวจสอบสิทธิ์ทางเลือก แล้วปิดใช้รหัสผ่านเพื่อไม่ให้ใช้ได้อีก นอกจากการตั้งค่าการตรวจสอบสิทธิ์ทางเลือกแล้ว การปิดใช้การตรวจสอบสิทธิ์ด้วยรหัสผ่าน (จึงทำให้ลงชื่อเข้าใช้ด้วยรหัสผ่านเพียงอย่างเดียวไม่ได้) ช่วยปกป้องผู้ใช้จากการโจมตีตามรายการ
เราใช้ขั้นตอนต่อไปนี้เพื่อส่งเสริมให้ผู้ใช้ปิดรหัสผ่าน
- โปรโมตวิธีการตรวจสอบสิทธิ์ทางเลือกเมื่อผู้ใช้รีเซ็ตรหัสผ่าน
- สนับสนุนให้ผู้ใช้ตั้งค่าวิธีการตรวจสอบสิทธิ์ที่ใช้ง่าย (เช่น FIDO) และปิดใช้รหัสผ่านในกรณีที่ต้องมีการตรวจสอบสิทธิ์บ่อยครั้ง
- การขอให้ผู้ใช้ปิดใช้รหัสผ่านก่อนใช้บริการที่มีความเสี่ยงสูง เช่น การชำระเงินอีคอมเมิร์ซ
หากผู้ใช้ลืมรหัสผ่าน ผู้ใช้จะสามารถเรียกใช้การกู้คืนบัญชีได้ ซึ่งก่อนหน้านี้จะเกี่ยวข้องกับการรีเซ็ตรหัสผ่าน ตอนนี้ผู้ใช้สามารถเลือกที่จะตั้งค่าวิธีการตรวจสอบสิทธิ์ ที่ต่างออกไป และเราขอสนับสนุนให้ทำเช่นนั้น
3. การลงทะเบียนบัญชีที่ไม่มีรหัสผ่าน
ผู้ใช้ใหม่สามารถสร้าง Yahoo! โดยไม่ต้องใช้รหัสผ่าน JAPAN ผู้ใช้ต้องลงทะเบียนด้วยการตรวจสอบสิทธิ์ทาง SMS ก่อน เมื่อผู้ใช้เข้าสู่ระบบแล้ว ขอแนะนำให้ผู้ใช้ตั้งค่าการตรวจสอบสิทธิ์ FIDO
เนื่องจาก FIDO เป็นการตั้งค่าสำหรับแต่ละอุปกรณ์ การกู้คืนบัญชีจึงเป็นเรื่องยาก หากอุปกรณ์ไม่ทำงาน ดังนั้น เราจึงกำหนดให้ผู้ใช้เก็บหมายเลขโทรศัพท์ไว้ต่อไป แม้ว่าจะตั้งค่าการตรวจสอบสิทธิ์เพิ่มเติมแล้วก็ตาม
ความท้าทายที่สำคัญสำหรับการตรวจสอบสิทธิ์แบบไม่ใช้รหัสผ่าน
รหัสผ่านต้องอาศัยหน่วยความจำของมนุษย์และไม่ขึ้นอยู่กับอุปกรณ์ ในทางกลับกัน วิธีการตรวจสอบสิทธิ์ที่เริ่มใช้ในโครงการริเริ่มแบบไม่ใช้รหัสผ่านของเรานั้นจะขึ้นอยู่กับอุปกรณ์ ซึ่งมีความท้าทายหลายประการ
เมื่อมีการใช้อุปกรณ์หลายเครื่อง จะเกิดปัญหาบางอย่างเกี่ยวกับความสามารถในการใช้งาน ดังนี้
- เมื่อใช้การตรวจสอบสิทธิ์ทาง SMS เพื่อเข้าสู่ระบบจาก PC ผู้ใช้ต้องตรวจสอบโทรศัพท์มือถือเพื่อดูข้อความ SMS ขาเข้า วิธีนี้อาจเป็นเรื่องยากเพราะต้องใช้โทรศัพท์ของผู้ใช้ที่พร้อมใช้งานและเข้าถึงได้ง่ายทุกเมื่อ
- เมื่อใช้ FIDO โดยใช้โปรแกรมตรวจสอบสิทธิ์แพลตฟอร์ม ผู้ใช้ที่มีอุปกรณ์หลายเครื่องจะไม่สามารถตรวจสอบสิทธิ์ในอุปกรณ์ที่ไม่ได้ลงทะเบียน โดยต้องดำเนินการลงทะเบียนสำหรับอุปกรณ์แต่ละเครื่องที่ต้องการใช้
การตรวจสอบสิทธิ์ FIDO จะผูกกับอุปกรณ์บางอย่างซึ่งกำหนดให้ต้องมีผู้ใช้ไว้ในครอบครองและใช้งานอยู่
- หากสัญญาให้บริการถูกยกเลิก คุณจะไม่สามารถส่งข้อความ SMS ไปยังหมายเลขโทรศัพท์ที่ลงทะเบียนไว้ได้อีกต่อไป
- FIDO จะจัดเก็บคีย์ส่วนตัวไว้ในอุปกรณ์ที่เฉพาะเจาะจง หากอุปกรณ์สูญหาย คีย์เหล่านั้นจะใช้งานไม่ได้
Yahoo! JAPAN จึงดำเนินการหลายขั้นตอนเพื่อจัดการกับปัญหาเหล่านี้
วิธีแก้ปัญหาที่สำคัญที่สุดคือการกระตุ้นให้ผู้ใช้ตั้งค่าวิธีการตรวจสอบสิทธิ์หลายวิธี ซึ่งเป็นตัวเลือกในการเข้าถึงบัญชี เมื่ออุปกรณ์สูญหาย เนื่องจากคีย์ FIDO ขึ้นอยู่กับอุปกรณ์ จึงเป็นแนวทางปฏิบัติที่ดีในการลงทะเบียนคีย์ส่วนตัว FIDO ในอุปกรณ์หลายเครื่อง
หรืออีกวิธีหนึ่ง ผู้ใช้สามารถใช้ WebOTP API เพื่อส่งรหัสยืนยันทาง SMS จากโทรศัพท์ Android ไปยัง Chrome บน PC
เราเชื่อว่าการจัดการกับปัญหาเหล่านี้จะมีความสำคัญมากยิ่งขึ้นเมื่อมีการแพร่กระจายของการตรวจสอบสิทธิ์แบบไร้รหัสผ่าน
การโปรโมตการตรวจสอบสิทธิ์แบบไม่ใช้รหัสผ่าน
Yahoo! JAPAN ดําเนินการกับโครงการริเริ่มที่ไม่ต้องใช้รหัสผ่านเหล่านี้มาตั้งแต่ปี 2015 ขั้นตอนนี้เริ่มต้นจากการได้มาซึ่งการรับรองเซิร์ฟเวอร์ FIDO ในเดือนพฤษภาคม 2015 ตามด้วยการเปิดตัวการตรวจสอบสิทธิ์ทาง SMS ฟีเจอร์การปิดใช้งานรหัสผ่าน และการสนับสนุน FIDO สำหรับอุปกรณ์แต่ละเครื่อง
ปัจจุบันมีผู้ใช้ที่ใช้งานอยู่รายเดือนกว่า 30 ล้านคนได้ปิดใช้รหัสผ่านไปแล้วและใช้วิธีการตรวจสอบสิทธิ์แบบไม่ใช้รหัสผ่าน Yahoo! JAPAN สนับสนุน FIDO ด้วย Chrome บน Android และตอนนี้ผู้ใช้มากกว่า 10 ล้านคน ตั้งค่าการตรวจสอบสิทธิ์ FIDO
ผลลัพธ์จาก Yahoo! ความคิดริเริ่มของญี่ปุ่น เปอร์เซ็นต์ของการสอบถามที่เกี่ยวข้องกับรหัสการเข้าสู่ระบบหรือรหัสผ่านที่ลืมลดลง 25% เมื่อเทียบกับช่วงที่มีคำถามดังกล่าวมีจำนวนสูงสุด และเรายังยืนยันได้ว่าการเข้าถึงที่ไม่ได้รับอนุญาตลดลงเนื่องจากจำนวนบัญชีที่ไม่ใช้รหัสผ่านที่เพิ่มขึ้น
เนื่องจาก FIDO นั้นตั้งค่าได้ง่ายมาก จึงมีอัตรา Conversion สูงเป็นพิเศษ ที่จริงแล้ว Yahoo! JAPAN พบว่า FIDO มี CVR สูงกว่าการตรวจสอบสิทธิ์ผ่าน SMS
25 %
คำขอข้อมูลเข้าสู่ระบบที่ลืมลดลง
74 %
ผู้ใช้ดำเนินการตรวจสอบสิทธิ์ FIDO สำเร็จ
65 %
ยืนยันทาง SMS เรียบร้อยแล้ว
FIDO มีอัตราความสำเร็จสูงกว่าการตรวจสอบสิทธิ์ทาง SMS และเวลาในการตรวจสอบสิทธิ์เฉลี่ยและค่ามัธยฐานที่เร็วกว่า สำหรับรหัสผ่าน บางกลุ่มจะมีเวลาในการตรวจสอบสิทธิ์สั้นๆ และเราสงสัยว่ากรณีนี้เกิดจาก autocomplete="current-password"
ของเบราว์เซอร์
ความยากที่สุดของการเสนอบัญชีแบบไม่ใช้รหัสผ่านไม่ใช่การเพิ่มวิธีการตรวจสอบสิทธิ์ แต่เป็นการทำให้การใช้ Authenticator เป็นที่นิยม หากประสบการณ์การใช้บริการที่ไม่ต้องใช้รหัสผ่านนั้นใช้ยาก การเปลี่ยนแปลงจะไม่ใช่เรื่องง่าย
เราเชื่อว่าหากต้องการปรับปรุงความปลอดภัย เราต้องปรับปรุงความสามารถในการใช้งานก่อน ซึ่งจะต้องมีนวัตกรรมเฉพาะสำหรับแต่ละบริการ
บทสรุป
การตรวจสอบสิทธิ์ด้วยรหัสผ่านมีความเสี่ยงในแง่ของการรักษาความปลอดภัยและยังท้าทายในเรื่องของความสามารถในการใช้งานอีกด้วย ขณะนี้เทคโนโลยีที่รองรับการตรวจสอบสิทธิ์แบบไม่ใช้รหัสผ่าน เช่น WebOTP API และ FIDO พร้อมให้บริการอย่างแพร่หลายมากขึ้นแล้ว ได้เวลาเริ่มตรวจสอบสิทธิ์แบบไม่ใช้รหัสผ่าน
ที่ Yahoo! JAPAN การใช้แนวทางนี้มีผลอย่างมากต่อทั้ง ความสามารถในการใช้งานและความปลอดภัย อย่างไรก็ตาม ผู้ใช้จำนวนมากยังคงใช้รหัสผ่านอยู่ เราจึงจะส่งเสริมผู้ใช้จำนวนมากขึ้นให้เปลี่ยนไปใช้วิธีการตรวจสอบสิทธิ์แบบไม่ใช้รหัสผ่านต่อไป นอกจากนี้ เราจะปรับปรุงผลิตภัณฑ์อย่างต่อเนื่องเพื่อเพิ่มประสิทธิภาพประสบการณ์ของผู้ใช้สำหรับวิธีการตรวจสอบสิทธิ์แบบไม่ใช้รหัสผ่าน
รูปภาพโดย olieman.eth ใน Unsplash