WebAuthn และ Passkey, การจัดการคีย์สำหรับผู้ใช้คริปโตประจำวัน

บทความนี้สำรวจเรื่องของ Passkey, WebAuthn, AA, และ MPC, พร้อมกับวิธีการแก้ปัญหาที่เป็นไปได้ที่ดีที่สุด

TL; ดร

กุญแจส่วนตัวคือส่วนสำคัญที่ช่วยให้เราลงนามในการทำธุรกรรมบน Ethereum แต่การจัดการกับมันเป็นสิ่งนั้นแทบจะเป็นฝันร้าย แม้ในรูปแบบที่อ่านง่ายเช่น​ “seed phrases” แต่เป้าหมายของเราไม่เคยที่จะทำให้บล็อกเชนกลายเป็นเกมที่ซับซ้อน

การตรวจสอบผู้ใช้ที่ได้รับอนุญาตเป็นสิ่งสำคัญสำหรับธุรกรรมที่ปลอดภัย ด้วยความความคืบหน้าของความปลอดภัยบนอินเทอร์เน็ตและประสบการณ์ผู้ใช้ เราได้เคลื่อนไปจากการตรวจสอบรหัสผ่านไปสู่เทคโนโลยีชีวิตแบบใบหน้าและลายนิ้วมือ WebAuthn เป็นการพัฒนาที่สำคัญในการก้าวหน้านี้ บทความนี้ได้สนใจถึงสามคำศัพท์ที่เกี่ยวข้องอย่างใกล้ชิด

WebAuthn: มาตรฐานการรับรองเว็บใช้ข้อมูลประจำตัวที่ใช้กุญแจสาธารณะเป็นหลัก ซึ่งมักถูกสร้างโดยเครื่องรับรองภายนอก มันกำจัดความจำเป็นในการใช้รหัสผ่านและเปิดใช้งานการรับรองตัวตนของผู้ใช้อย่างปลอดภัย

Secure Enclave: พื้นที่ที่ปลอดภัยบนฮาร์ดแวร์ภายในอุปกรณ์คอมพิวเตอร์ที่ออกแบบมาเพื่อป้องกันข้อมูลที่เป็นสิ่งลับ มีเวอร์ชันของ Secure Enclave พบได้ในอุปกรณ์ iOS, Android, และ Windows มันสามารถทำหน้าที่เป็นเครื่องพิสูจน์ตัวตนที่ปลอดภัยโดยการใช้งาน WebAuthn แต่คีย์ส่วนตัวที่เชื่อมโยงกับ SE มักเป็นปัญหาในการใช้งานในอุปกรณ์หลายเครื่อง

Passkey: การนำ WebAuthn มาใช้ที่ระดับของระบบปฏิบัติการ ที่ได้รับการปรับแต่งโดยผู้ให้บริการอุปกรณ์และระบบต่าง ๆ ตัวอย่างเช่น Passkey ของ Apple ใช้กุญแจที่เก็บไว้ใน iCloud Keychain สำหรับการซิงโครไหลย่านระหว่างอุปกรณ์ อย่างไรก็ตาม วิธีการนี้มักจะถูกล็อคไว้บนแพลตฟอร์มหรือระบบที่เฉพาะเจาะจง

เหมือนที่กล่าวไว้ข้างต้น การปฏิบัติ webAuthn จะสอดคล้องกับเป้าหมายของเราสำหรับผู้ใช้บล็อกเชนรายวัน เพื่อบรรลุความปลอดภัยระดับสูงในการป้องกันฟิชชิ่งและประสบการณ์ที่เป็นมิตร นี่คือไอเดียในการผสานพวกเขาเข้าด้วยกันในบล็อกเชน

ชั้นคีย์: ผู้ใช้รับรองความถูกต้องโดยใช้วิธีชีวภาพอย่างไม่รู้เหมือนการรู้จำใบหน้าหรือลายนิ้วมือ ภายใต้ตัวรถ, มันคือประมวลกลัวรังสีฮาร์ดแวร์เช่น Secure Enclave หรือบริการคลาวด์เช่น iCloud และ Google Cloud ที่จัดการกับการจัดการคีย์ ฉันจะสำรวจการแสดงความเห็นในเรื่องข้ามอุปกรณ์และประเภทในภายหลัง

ชั้นบัญชี: บัญชีสมาร์ทคอนแทร็ก (SCA) มีความสามารถในการกำหนดผู้เซ็นต์อิสระ (เช่น SE และ Passkey) และกลไกค่าความสำคัญ นอกจากนี้ การออกแบบแบบโมดูลาร์ของมันยังเพิ่มความยืดหยุ่นและความสามารถในการอัพเกรด ตัวอย่างเช่น SCA สามารถปรับการต้องการในการเซ็นต์ได้โดยได้มีการเปลี่ยนแปลงตามปัจจัยเช่น จำนวนเงินที่ทำธุรกรรม เวลา หรือที่อยู่ IP ในทางตรงกันข้าม บัญชีเจ้าของภายนอกแบบดั้งเดิม (EOA) สามารถเพิ่มความสามารถด้วยบริการ MPC และการผสมผสานของพวกเขานำเสนอความสามารถในการปฏิบัติต่อกันและคุ้มค่ามากกว่า SCA อย่างไรก็ตาม มันขาดความสามารถขั้นสูงที่ SCA ให้ โดยเฉพาะอย่างยิ่งสำหรับการหมุนกุญแจ

เลเยอร์การเซ็นต์: Ethereum รองรับ k1 curve อย่างเดียวในรูปแบบธรรมชาติ แต่การตรวจสอบลายเซ็นเจนของ WebAuthn มีค่าใช้จ่ายสูงกว่าเนื่องจากใช้ r1 curve สำหรับการสร้างคีย์ ดังนั้น มีบาง Layer 2 โซลูชัน เช่น zkSync ที่วางแผนที่จะมี precompiles ของ r1 curve รูปแบบธรรมชาติ EIP-7212 อีกด้วย นอกจากนี้ ยังมีบริการจากบุคคลที่สาม ผู้ตรวจสอบ Solidity ผู้ตรวจสอบซีโรตี และระบบการจัดการคีย์แบบกระจาย เพื่อส่งเสริมการเซ็นต์ r1 curve ในลักษณะที่มีค่าใช้จ่ายมากกว่านี้

คำปฏิเสธ:

ความก้าวหน้าทางเทคโนโลยีไม่ได้รับการรับรองว่าจะประสบความสำเร็จในตลาด; ไม่ทุกอุปกรณ์และแพลตฟอร์มได้นำ Passkey มาใช้; การใช้ SCA อาจมีค่าใช้จ่ายสูงกว่า EOA; วิธีการที่เสนอนี้ก้าวไปข้างหน้าพร้อมกับความก้าวหน้าในเทคโนโลยี

คริปโต UX sucks? การจัดการคีย์ sucks!

ในอาณาจักรบล็อกเชนการควบคุมสินทรัพย์บล็อกเชนที่แท้จริงไม่ได้อยู่ในมือของผู้ใช้หรือผู้ให้บริการกระเป๋าเงิน แต่อยู่ที่คีย์ส่วนตัว คีย์นี้เป็นส่วนสําคัญที่สุดในกระบวนการทั้งหมดในการทําธุรกรรมบน Ethereum เพื่อให้เข้าใจสิ่งนี้ได้ดีขึ้นลองใช้ EOA เป็นตัวอย่าง:

การสร้างคีย์: ตัวเลขสุ่มที่เลือกจากเส้นโค้งวงรี secp256k1 ทําหน้าที่เป็นคีย์ส่วนตัว คีย์นี้จะถูกคูณด้วยจุดที่กําหนดไว้ล่วงหน้าบนเส้นโค้งเพื่อสร้างคีย์สาธารณะ ที่อยู่ Ethereum ได้มาจาก 20 ไบต์สุดท้ายของคีย์สาธารณะที่แฮช 'วลีเมล็ดพันธุ์' มักจะถูกนํามาใช้สําหรับการสํารองข้อมูลที่มนุษย์สามารถอ่านได้ทําให้สามารถกําหนดคีย์ส่วนตัวและคีย์สาธารณะได้

ธุรกรรมการลงนาม: ธุรกรรมที่มีรายละเอียดเช่น nonce (หมายเลขตามลําดับ) จํานวนเงินราคาก๊าซและที่อยู่ผู้รับจะลงนามโดยใช้คีย์ส่วนตัว กระบวนการนี้เกี่ยวข้องกับ ECDSA ซึ่งเป็นอัลกอริธึมลายเซ็นดิจิทัลที่ใช้การเข้ารหัสเส้นโค้งวงรีและใช้ secp256k1 เป็นเส้นโค้งสร้างลายเซ็นที่ประกอบด้วยค่า (r, s, v) ลายเซ็นและธุรกรรมต้นฉบับจะถูกออกอากาศบนเครือข่าย

การตรวจสอบธุรกรรม: เมื่อธุรกรรมถึงโหนด Ethereum แล้ว จะมีกระบวนการตรวจสอบที่เกิดขึ้นใน mempool ของโหนด โหนดจะใช้ลายเซ็นเจอร์และการแฮชธุรกรรมเพื่อคำนวณคีย์สาธารณะของผู้ส่งและยืนยันความถูกต้องของธุรกรรมโดยการเทียบที่อยู่ที่ได้กับผู้ส่ง

เหมือนที่ได้กล่าวมาข้างต้น คีย์ส่วนตัวเป็นสิ่งสำคัญบนเชื่อมโยง ต้นฉบับแล้วบัญชี Ethereum ที่เรียกว่าบัญชี External Owned Accounts (EOAs) พึงพอใจเพียงแค่คีย์ส่วนตัวเดียว ซึ่งมีความเสี่ยงอันมากมาย เนื่องจากหากสูญหายคีย์จะหมายถึงสูญเสียการเข้าถึงบัญชี

หลายคนอาจคิดว่า Account Abstraction (AA) เป็นวิธีแก้ปัญหาทุกอย่างที่เกี่ยวข้องกับประสบการณ์การใช้งานที่ไม่ดีซึ่งฉันจะบอกว่าไม่แน่ AA เป็นเรื่องเกี่ยวกับการเปลี่ยนกฎความถูกต้องให้สามารถตั้งโปรแกรมได้ และความสามารถในการตั้งโปรแกรมของ Smart Contract Account (SCAs) ทําให้เป็นไปได้ AA มีประสิทธิภาพช่วยให้สามารถส่งธุรกรรมหลายรายการในแบบคู่ขนาน (นามธรรม nonce) การสนับสนุนก๊าซและจ่ายก๊าซใน ERC20 (ก๊าซนามธรรม) และเกี่ยวข้องกับหัวข้อของบทความนี้มากขึ้นเพื่อทําลายการตรวจสอบลายเซ็นคงที่ (ลายเซ็น ECDSA ที่เป็นนามธรรม) แทนที่จะเป็น EOA SCAs สามารถกําหนดผู้ลงนามและกลไกการลงนามโดยพลการ เช่น multi-signature(multisigs) หรือ scoped keys(session keys) อย่างไรก็ตาม แม้จะมีความยืดหยุ่นและความก้าวหน้าในการอัพเกรดของ AA แต่การพึ่งพาคีย์พื้นฐานสําหรับการลงนามธุรกรรมยังคงไม่เปลี่ยนแปลง

แม้ว่าจะแปลงเป็นวลีตัวเลข 12 คำสำคัญ การจัดการกุญแจส่วนตัวยังคงท้าทาย ซึ่งเสี่ยงต่อการสูญเสียหรือโจมตีด้วยการโปรโมท. ผู้ใช้ต้องนำทางระหว่างชั้นข้อมูลที่ซับซ้อนของสิ่งที่ฉลองจากบริการที่ตกแต่ง โดยไม่มีทางใดที่เป็นที่ต้องการ.

ทําไมประสบการณ์การเข้ารหัสลับถึงแย่? ส่วนใหญ่เป็นเพราะการจัดการที่สําคัญแย่มาก มันต้องมีการแลกเปลี่ยนประสบการณ์ความปลอดภัยและการกระจายอํานาจเสมอ บทความนี้จะสํารวจโซลูชันที่เหมาะสมที่สุดสําหรับการจัดการคีย์

ชั้นควบคุมคีย์การจัดการ

ไม่มีทางไหนที่เหมาะสมกับทุกคน วิธีที่ดีที่สุดในการรักษาคีย์คือการปรับแต่งให้เหมาะกับสถานการณ์ของผู้ใช้เฉพาะ ที่ได้รับผลกระทบจากปัจจัยต่างๆ เช่น ประเภทของผู้ใช้ (สถาบัน หรือ บุคคล), จำนวนทุน, ความถี่ของการทำธุรกรรม และประเภทของการจับคู่

เพื่อชี้แจงล่วงหน้าฉันหลีกเลี่ยงการใช้วิธีการ 'ตนเองกึ่งและการดูแลอย่างเต็มที่' ที่เป็นที่นิยมเพื่อจัดทําแคตตาล็อก ในมุมมองของฉันการดูแลตนเองที่แท้จริงหมายถึงการลงนามในธุรกรรมอย่างอิสระโดยไม่ต้องพึ่งพาบุคคลอื่นสิ่งนี้ถือแม้ว่าโซลูชันจะไม่ได้รับการดูแลในความหมายดั้งเดิม (เช่นถูกเก็บไว้ใน TEE ของโหนดแบบกระจายอํานาจ) การจัดหมวดหมู่โซลูชันเป็นเพียง 'ดี' หรือ 'ไม่ดี' ตามประเภทการดูแลนั้นง่ายเกินไปและไม่ได้คํานึงถึงความเหมาะสมที่แตกต่างกัน สําหรับการประเมินวิธีการจัดการที่สําคัญอย่างละเอียดยิ่งขึ้นฉันขอแนะนําให้วิเคราะห์ผ่านสามชั้นที่แตกต่างกัน:

ความรับผิดชอบ

ว่าจะแบ่งหน้าที่ในการจัดการคีย์เป็นหลายฝ่ายหรือไม่

เนื่องจากบุคคลบ่อยครั้งต้องเผชิญกับความท้าทายในการจัดการกุญแจ การแบ่งหน้าที่ในการป้องกันกุญแจก็เกิดขึ้นเป็นกลยุทธ์ในการลดความเสี่ยงอย่างธรรมชาติ หมวดหมู่นี้รวมถึงวิธีการเช่นการใช้กุญแจหลายตัวในการลงนามร่วมกัน ตามที่เห็นในระบบลายเซ็นหลายตัว (Multi-Signature (Multi-sig)) และการแบ่งกุญแจส่วนตัวเป็นส่วนๆ ผ่านกระบวนการแบ่งปันความลับ (Secret Sharing Scheme (SSS)) หรือการคำนวณหลายฝ่าย (Multi-Party Computation (MPC))

Multi-sig: การต้องการกุญแจส่วนตัวที่สมบูรณ์หลายตัวเพื่อสร้างลายเซ็นธุรกรรม วิธีนี้จำเป็นต้องมีการสื่อสารบนโซ่บล็อกเกี่ยวกับผู้เซ็นต์ต่าง ๆ ซึ่งทำให้ค่าธรรมเนียมการทำธุรกรรมสูงขึ้น และส่งผลต่อความเป็นส่วนตัวเนื่องจากจำนวนผู้เซ็นต์สามารถมองเห็นได้บนโซ่บล็อก

SSS: กุญแจส่วนตัวถูกสร้างขึ้นที่สถานที่เดียว และตัวแทนจะแจกส่วนหนึ่งของกุญแจนี้ให้กับฝ่ายต่าง ๆ ทุกฝ่ายต้องสร้างกุญแจส่วนตัวทั้งหมดเพื่อลงนามในธุรกรรม อย่างไรก็ตาม กระบวนการสร้างชั่วคราวนี้อาจทำให้เกิดช่องโหว่

MPC-TSS(Threshold Signature Scheme): ในฐานะการปฏิบัติของ MPC, วิธีการเข้ารหัสที่ทำให้หลายฝ่ายสามารถดำเนินการคำนวณโดยรักษาความเป็นส่วนตัวของข้อมูลของตนร่วมกัน แต่ละฝ่ายสร้างส่วนของคีย์ลับอย่างอิสระ และธุรกรรมถูกลงลายโดยไม่จำเป็นต้องพบกันโดยกาลแต่อย่างใด มันลดค่าธรรมเนียมเนื่องจากเป็น off-chain และไม่มีความเสี่ยงจุดล้มละลายเหมือน SSS

การเก็บ

จัดเก็บคีย์หรือหุ้นที่ได้รับผลกระทบจากปัจจัยด้านความปลอดภัยการเข้าถึงต้นทุนและการกระจายอํานาจ

บริการคลาวด์ที่มีการจัดกลุ่มเช่น AWS, iCloud และเซิร์ฟเวอร์อื่น ๆ เหล่านี้ มันสะดวกสำหรับธุรกรรมที่ทำบ่อย ๆ แต่มีโอกาสที่จะถูกเซ็นเซอร์

การจัดเก็บแบบกระจายเช่น IPFS และ Filecoin

คอมพิวเตอร์/โทรศัพท์มือถือท้องถิ่น: คีย์ถูกเก็บไว้ในท้องถิ่นภายในพื้นที่จัดเก็บที่ปลอดภัยของเบราว์เซอร์

กระเป๋าเงินกระดาษ: การพิมพ์คีย์ส่วนตัวหรือรหัส QR ทางกายภาพ

Trusted Execution Environment (TEE): TEE ให้พื้นที่ที่ปลอดภัยภายในหน่วยประมวลผลหลักเพื่อดำเนินการหรือเก็บข้อมูลที่เป็นสารวัตถุจากระบบปฏิบัติการหลัก

Secure Enclave: Secure Enclave บนอุปกรณ์ที่ทันสมัยถูกแยกจากตัวประมวลผลหลักเพื่อให้ได้รับชั้นความปลอดภัยที่สูงขึ้นและถูกออกแบบมาเพื่อให้ข้อมูลของผู้ใช้ที่ละเอียดอ่อนปลอดภัย แม้กระทั่งเมื่อ Applicaticon Processor kernel ถูกละเมิด

ฮาร์ดแวร์วอลเล็ท: อุปกรณ์ที่เป็นเครื่อง Ledger และ Trezor ที่ออกแบบมาเพื่อเก็บกุญแจส่วนตัวอย่างปลอดภัย

โมดูลการรักษาความปลอดภัยของฮาร์ดแวร์ (HSM): HSMs เป็นอุปกรณ์ฮาร์ดแวร์ที่ได้รับการออกแบบมาเพื่อการจัดการกุญแจที่ปลอดภัยและดำเนินการทางคริปโตกราฟอย่างประณีต พวกเขามักจะใช้ในสภาพแวดล้อมขององค์กรและมีคุณสมบัติด้านความปลอดภัยระดับสูง

เข้าถึง

วิธีการยืนยันตัวตนของผู้ใช้เพื่อเข้าถึงคีย์ที่เก็บไว้

การพิสูจน์สิทธิ์เกี่ยวข้องกับการเข้าถึงกุญแจที่เก็บไว้ มันเกี่ยวกับการตรวจสอบว่าบุคคลที่พยายามเข้าถึงมีสิทธิ์จริง ๆ ในการทำเช่นนั้น มองกลับไปที่ประวัติศาสตร์เราสามารถจัดประวัติศาสตร์เป็นกลุ่มดังนี้

บางสิ่งที่คุณทราบ: รหัสผ่าน, รหัส PIN, คำตอบของคำถามเกี่ยวกับความปลอดภัย, หรือรูปแบบที่แน่นอน

บางสิ่งที่คุณมี: รวมถึงบัตรสมาร์ทการ์ด โทเค็นฮาร์ดแวร์ (รหัสผ่านชั่วคราวที่ใช้ได้หนึ่งครั้งตามเวลา) หรือปัจจัยดิจิทัลเช่นการตรวจสอบบัญชีโซเชียลและรหัส SMS ที่ส่งไปยังโทรศัพท์

คุณคือใคร: เกี่ยวข้องกับลักษณะกายภาพที่เฉพาะเจาของผู้ใช้ เช่น ลายนิ้วมือ การระบุใบหน้า (เช่น Apple's Face ID หรือ Windows Hello) การระบุเสียง หรือ การสแกนไอริส/สแกนรีตินา

บนพื้นฐานเหล่านี้ 2FA และ MFA เป็นวิธีการที่รวมกันอย่างน้อยสองหรือมากกว่าสิ่งที่มีประสิทธิภาพ เช่น SMS ที่รวมการแจ้งเตือนด้วยการกด เพื่อเพิ่มชั้นความปลอดภัยให้กับบัญชีผู้ใช้

การวิเคราะห์ผู้เล่นที่มีอยู่

MetaMask ช่วยให้ผู้ใช้สามารถใช้รหัสผ่านเพื่อเข้าถึงคีย์ที่เก็บไว้ในพื้นที่จัดเก็บของเบราว์เซอร์ท้องถิ่นของผู้ใช้

Trust Wallet ช่วยให้ผู้ใช้สามารถใช้รหัสผ่านหรือ faceID เพื่อเข้าถึงคีย์ที่เก็บไว้ในพื้นที่จัดเก็บของเบราว์เซอร์ภายในเครื่องผู้ใช้ ผู้ใช้ยังสามารถเลือกบริการคลาวด์เพื่อสำรองคีย์ส่วนตัว

Privy ช่วยให้ผู้ใช้สามารถใช้วิธีการเข้าสู่ระบบทางสังคมหลายรูปแบบ เช่น อีเมล โดยใช้ SSS เพื่อแยกรายละเอียดเป็นสามส่วน:

แชร์อุปกรณ์: บราวเซอร์-ไอเฟรม, โทรศัพท์มือถือ-ที่อยู่อย่างปลอดภัย

ใช้สิทธิ์ร่วมกัน: จัดเก็บโดยองคมนตรีลิงก์ไปยังรหัสองคมนตรี)

Recovery share: รหัสผ่านผู้ใช้หรือถูกเข้ารหัสโดย Privy ที่เก็บไว้ในโมดูลรักษาความปลอดภัยฮาร์ดแวร์ (HSM)

Particle ช่วยให้ผู้ใช้สามารถใช้การเข้าสู่ระบบโซเชียล โดยใช้ MPC-TSS ที่มีหุ้นสองชุด:

การแชร์อุปกรณ์: เบราว์เซอร์ iFrame

Server key share: แชร์คีย์เซิร์ฟเวอร์ของ Particle

โซลูชันใหม่

ชั้นคีย์: WebAuthn, Secure Enclave และ Passkey

โซลูชันที่มีอยู่ข้างต้นมีบทบาทสำคัญในการนำผู้ใช้เข้าใจ web3 อย่างได้เปรียบ อย่างไรก็ตาม พวกเขามักมาพร้อมกับความท้าทาย: รหัสผ่านอาจจะถูกลืมหรือถูกเป้าหมายในการโจมตีด้วยการโจมตีฟิชชิ่ง และแม้ว่า 2FA จะมีความปลอดภัยมากขึ้น ก็ยังอาจเป็นอุปสรรคด้วยขั้นตอนหลายขั้นตอน นอกจากนี้ ไม่ใช่ทุกคนมีความสะดวกในการให้ความไว้วางใจกับบุคคลที่สามรับผิดชอบด้านการจัดการกุญแจ ผู้ใช้ยังขึ้นอยู่กับความพร้อมใช้งานของระบบและการมีชีวิตชีวาขณะที่บางบริการก็รับประกันว่าพวกเขาจะไม่สามารถเข้าถึงกุญแจได้

สิ่งนี้นําเราไปสู่การไตร่ตรองว่ามีโซลูชันที่มีประสิทธิภาพมากขึ้นหรือไม่ซึ่งเป็นโซลูชันที่ใกล้เคียงที่สุดกับประสบการณ์การใช้งานที่เชื่อถือได้ความปลอดภัยสูงและราบรื่น การค้นหานี้นําเราไปสู่วิธีการ web2 ที่ดีที่สุด คําศัพท์หลายคําเกี่ยวข้องกับหัวข้อนี้อย่างแน่นหนาดังที่ฉันได้อธิบายไว้ในตอนต้นของบทความ WebAuthn เป็นมาตรฐานการรับรองความถูกต้องในขณะที่ Secure Enclave และ Passkey เป็นการใช้งานหรือส่วนประกอบที่เกี่ยวข้องกับมาตรฐานนี้

WebAuthn

WebAuthn มาตรฐานการให้บริการอินเตอร์เฟซในการพิสูจน์ตัวตนของผู้ใช้สำหรับแอปพลิเคชันบนเว็บ มันช่วยให้ผู้ใช้เข้าสู่บัญชีอินเทอร์เน็ตโดยใช้อุปกรณ์พิสูจน์ตัวตนภายนอกแทนที่จะใช้รหัสผ่าน อุปกรณ์พิสูจน์ตัวตนอาจเป็น Roaming Authenticators (Yubikey, Titan key) หรือ Platform Authenticator (Built-in keychain บนอุปกรณ์ Apple) และอื่น ๆ

สมาคม FIDO (Fast IDentity Online) พัฒนาเทคโนโลยีที่อยู่เบื้องหลัง WebAuthn โดยเริ่มต้น มีการประกาศให้มาตรฐานของเว็บโดย W3C เมื่อเดือนมีนาคม 2019 พร้อมกับมาตรฐานนี้ บราวเซอร์ชั้นนำ เช่น Google Chrome, Mozilla Firefox, Microsoft Edge, และ Apple Safari ได้นำ WebAuthn มาใช้งานซึ่งเพิ่มความสามารถในการเข้าถึงและการใช้งานอย่างมีนัยยะ ตอนนี้มีการสนับสนุนจากอุปกรณ์ขั้นสูงหลายรายการ

ประโยชน์ของ webAuthn:

ความปลอดภัยที่ปรับปรุง: กำจัดความขึ้นอยู่กับรหัสผ่าน ลดความเสี่ยงต่อการโจมตีด้วยการล่องลอย การโจมตีด้วยความแรง และการโจมตีแบบ replay

ประสบการณ์ผู้ใช้ที่ดีขึ้น: มีกระบวนการการเข้าสู่ระบบที่ง่ายและรวดเร็วมากขึ้น โดยมักจะใช้เพียงการแตะหน้าจอหรือการยืนยันตัวตนด้วยชีวภาพ

การป้องกันความเป็นส่วนตัว: ไม่มีความลับที่ถูกแชร์ขณะทำการตรวจสอบสิทธิ์ และเว็บไซต์แต่ละแห่งไม่ได้รับข้อมูลที่สามารถระบุตัวบุคคลใด ๆ

ความยืดหยุ่นและมาตรฐาน: ในฐานะเป็นมาตรฐานของเว็บ WebAuthn รับรองความสอดคล้องและสามารถใช้งานร่วมกันได้ในเบราว์เซอร์และแพลตฟอร์มที่แตกต่างกัน

WebAuthnที่ผูกกับอุปกรณ์ เช่น ที่มั่นใจ

ในกรณีที่เป็นปัจจุบัน เราสามารถใช้ฮาร์ดแวร์โปรเซสเซอร์เป็นตัวสิทธิผู้ใช้ เช่น Secure Enclave สำหรับ Apple device, Trustzone สำหรับ Android, และ Strongbox สำหรับ Google Pixel

การสร้างคีย์: การใช้การเข้ารหัสคีย์สาธารณะคู่คีย์จะถูกสร้างขึ้นตามมาตรฐาน WebAuthn โดยทั่วไปจะใช้เส้นโค้ง P-256 r1 คีย์สาธารณะจะถูกส่งไปยังบริการในขณะที่คีย์ส่วนตัวจะไม่ออกจาก Secure Enclave ผู้ใช้ไม่เคยจัดการคีย์ข้อความธรรมดาทําให้คีย์ส่วนตัวถูกบุกรุกได้ยาก

การเก็บรักษาคีย์: คีย์ส่วนตัวถูกจัดเก็บอย่างปลอดภัยภายใน Secure Enclave ของอุปกรณ์ ซึ่งเป็นระบบย่อยที่ได้รับการป้องกันอย่างมั่นคงจากโปรเซสเซอร์หลัก มันปกป้องข้อมูลที่เป็นสิ่งที่ละเอียดอ่อน โดยจะทำให้เกิดความปลอดภัยว่าแม้ระบบหลักจะถูกโจมตี วัสดุคีย์เริ่มต้นจะยังคงอยู่ในสถานะที่ไม่สามารถเข้าถึงได้ ระดับความยากจะสูงมากในการโจมตี Secure Enclave และดังนั้น ชนิดของข้อมูลที่ละเอียดอ่อนที่สุดเช่น Apple Pay และข้อมูล FaceID จะถูกจัดเก็บที่นั่น นี่คือการอธิบายลึกลงไปในวิธีการทำงานของ SE

การพิสูจน์สิทธิ์: ผู้ใช้ใช้การจดจำใบหน้าหรือลายนิ้วมือเพื่อเข้าถึง ที่ Secure Enclave ใช้กุญแจส่วนตัวเพื่อลายเซ็นคำท้าที่ได้รับจากบริการ และบริการตรวจสอบโดยใช้กุญแจสาธารณะ

ข้อดีของ webAuthn ที่ใช้เชื่อมต่อกับอุปกรณ์

การรักษาความปลอดภัยในระดับฮาร์ดแวร์: โดยใช้ Secure Enclave, ตัวจัดการคีย์ที่มีพื้นฐานบนฮาร์ดแวร์ที่แยกจากกันเพื่อให้มีชั้นความปลอดภัยเพิ่มเติม

การต้านการลอกข้อมูล: อย่าเกี่ยวข้องกับการป้อนข้อมูลใด ๆ ลงในอุปกรณ์หรือเว็บไซต์ที่อาจถูกละเมิด

ประสบการณ์ที่สะดวก: พวกเขาให้ประสบการณ์ที่ใช้งานง่ายมากขึ้น ผู้ใช้ไม่ต้องจดจำรหัสผ่านที่ซับซ้อนสำหรับเว็บไซต์ต่าง ๆ อีกต่อไป

ข้อเสียของ webAuthn ที่ใช้งานบนอุปกรณ์

ข้อ จํากัด ของอุปกรณ์: ไม่สามารถส่งออกหรือดึงคีย์ส่วนตัวได้หากอุปกรณ์สูญหายหรือเสียหายการทํางานข้ามอุปกรณ์เป็นไปไม่ได้

ระบบ Cloud-based WebAuthn, Passkey

การท้าทายในการดำเนินการข้ามอุปกรณ์ เทคโนโลยียักษ์ใหญ่ได้นำเสนอการประยุกต์ใช้ webAuthn บนคลาวด์ Passkey มีความคุ้นเคยอย่างกว้างขวางเพราะ Apple

ให้เราใช้ Passkey ของ Apple เป็นตัวอย่าง:

การสร้างคีย์: อุปกรณ์ macOS, iOS หรือ iPadOS ของผู้ใช้ ในฐานะ Authenticator จะสร้างคู่กุญแจสาธารณะ-ส่วนตัวเมื่อผู้ใช้สร้างบัญชี จากนั้นส่งกุญแจสาธารณะไปยังเซิร์ฟเวอร์ และเก็บกุญแจส่วนตัวบน iCloud keychain ของอุปกรณ์ ข้อมูล iCloud Keychain ถูกเข้ารหัสด้วยคู่กุญแจแบบมีขอบเขตทางฮาร์ดแวร์ และเก็บไว้ในโมดูลความปลอดภัยทางฮาร์ดแวร์ (HSM) กุญแจไม่สามารถเข้าถึงได้โดย Apple

การซิงโครไนซ์ในระหว่างอุปกรณ์: กระบวนการนี้จะเหมือนกับการเข้าถึง iCloud ให้ยืนยันตัวตนกับบัญชี iCloud รับรหัส SMS และใส่รหัสผ่านของอุปกรณ์หนึ่ง

Cloud-based webAuthn pros:

Cross-device: ผ่านกุญแจถูกออกแบบให้สะดวกและเข้าถึงได้จากอุปกรณ์ทั้งหมดที่ใช้เป็นประจำ แต่ในปัจจุบัน จำกัดเฉพาะอุปกรณ์ Apple เท่านั้น สำหรับ Android มันยากมากขึ้นเนื่องจากมีรุ่นและการแตกต่างของฮาร์ดแวร์

ความต้านทานฟิชชิ่ง: เช่นเดียวกับข้างต้น

ประสบการณ์ที่สะดวก: เหมือนเดิม

ข้อเสียของ Passkey ที่ใช้เก็บข้อมูลบนคลาวด์

การพึ่งบริการคลาวด์: เปรียบเทียบกับการใช้งานบนอุปกรณ์ของ webAuthn การใช้ passkey บนคลาวด์ย้ายระดับความปลอดภัยจากฮาร์ดแวร์ Secure Enclave ไปยัง iCloud keychain บางคนอาจอ้างว่ามันอยู่ในความควบคุมของบริการคลาวด์ของคุณ บางจุดสำคัญที่ควรพิจารณา รวมถึง: บัญชี AppleID ของผู้ใช้ที่ใช้กับ iCloud ถูกบุกรุก; ในขณะที่ iCloud Keychain ใช้การเข้ารหัสจุดสิ้นสุดเพื่อป้องกันข้อมูล ข้อผิดพลาดในการดำเนินการหรือช่องโหว่สามารถเป็นอันตราย

จำกัดไว้ที่แพลตฟอร์ม: ตัวอย่างเช่น การใช้ iCloud-based passkey บนอุปกรณ์ Android นั้นมีความท้าทายอย่างมาก นอกจากนี้ ไม่เหมือนกับวิธีที่เป็นประจำ Apple และ Google ไม่ส่งการยืนยันที่เฉพาะเจาะจงของอุปกรณ์ ซึ่งหมายความว่า ในปัจจุบันไม่สามารถที่จะยืนยันประเภทของอุปกรณ์ที่สร้างคีย์ได้ ซึ่งเป็นสิ่งที่ทำให้เกิดคำถามเกี่ยวกับความเชื่อถือได้ของคีย์และเมตาดาต้าที่เกี่ยวข้อง

เลเยอร์บัญชี: SCA และ EOA

จนถึงตอนนี้เราเห็นว่าการรักษาความปลอดภัยระดับฮาร์ดแวร์ในขณะที่ต้องจัดการกับความเข้ากันได้ระหว่างอุปกรณ์และแพลตฟอร์มต่าง ๆ นั้นเป็นเรื่องที่ท้าทาย สำคัญอย่างเท่าเทียมกันคือตัวเลือกการกู้คืนด้านสังคม เช่นการเพิ่มผู้ปกครองหลายคนเพื่อความปลอดภัยที่เพิ่มขึ้น ในบริบทนี้ บล็อกเชนสามารถแสดงให้เห็นถึงวิธีการของเรา

ช่องว่างที่โดดเด่นเมื่อเราพยายามใช้ web2 webAuthn กับ web3: Web2 ต้องการเพียงการพิสูจน์ความเป็นเจ้าของในขณะที่ web3 ยังจําเป็นต้องอนุมัติการทําธุรกรรมพร้อมกัน เมื่อใช้ Passkey นักพัฒนาจะไม่สามารถควบคุมข้อความการเซ็นชื่อซึ่งโดยทั่วไปจะเป็นแบบทั่วไป เช่น 'ลงชื่อเข้าใช้' สิ่งนี้สามารถนําไปสู่การจัดการส่วนหน้าที่อาจเกิดขึ้นผู้ใช้ลงนามในข้อความสุ่มสี่สุ่มห้าซึ่งเป็นข้อกังวลเล็กน้อย แต่สําคัญ

บัญชีสมาร์ทคอนแทรค(Smart Contract Accounts, SCA) ซึ่งเป็นสมาร์ทคอนแทรคต์เอง ทำงานเป็นฤดูกาลบนเชน ที่สามารถกำหนดผู้ลงนามอย่างสุมสุด ความยืดหยุงนี้ช่วยให้สามารถเขียนโปรแกรมต่าง ๆ และแพลตฟอร์มต่าง ๆ เช่น การตั้งค่าโทรศัพท์ Android, Macbook และ iPhone เป็นผู้ลงนาม และยิ่งไปกว่านั้น บัญชีสมาร์ทคอนแทรคแบบโมดูลาร์ยังสามารถอัปเกรดได้ สามารถเปลี่ยนผู้ลงนามใหม่ และเปลี่ยนค่าขอบเขตในการลงนามจาก 2 จาก 3 เป็นการกำหนดค่าที่ซับซ้อนมากขึ้น

Envision a wallet that adapts its security requirements based on context: it allows single-signer authentication when the user is on a familiar local IP address, but requires multiple signers for transactions from unknown IP addresses or above a certain value. With modularity and programmability, our imagination is the only limit to such innovations. Many SCA service providers actively build this space, including Safe, Zerodev, Biconomy, Etherspots, Rhinestone, etc. Also shout out to infrastructure like Stackup, Plimico, Alchemy make it possible.

โปรดตรวจสอบว่างานวิจัยก่อนหน้านี้ของฉันให้ความหมายที่เป็นรายละเอียดมากขึ้นเกี่ยวกับ SCA

EOAs สามารถบรรลุการกู้คืนทางสังคมและความเข้ากันได้ในหลายอุปกรณ์/แพลตฟอร์มผ่านบริการ MPC อย่างไรก็ตาม ผู้ให้บริการ MPC สามารถแบ่งกุญแจเป็นส่วนย่อยสำหรับความปลอดภัยและความยืดหยุ่นที่เพิ่มขึ้น วิธีนี้ขาดคุณสมบัติที่สามารถเขียนโปรแกรมและอัปเกรดได้ของ SCA เช่น การกู้คืนแบบ timelock และการปิดกุญแจอย่างง่าย อย่างไรก็ตาม มันยังคงมีความสามารถในการเชื่อมโยงระบบเชื่อมโยงที่ดีกว่าด้วยการไม่สนใจเชื่อมโยงและปัจจุบันมีราคาที่สมเหตุสมผลกว่า SCA ผู้ให้บริการ MPC ที่โดดเด่นรวมถึง Privy, Particle Network, web3Auth, กระเป๋าเงิน OKX, กระเป๋าเงิน Binance ฯลฯ

เลเยอร์การลงชื่อ: R1 การสนับสนุน

เรามาถอยหลังกันเพื่อทำความเข้าใจบริบท: บน Ethereum, กุญแจส่วนตัวเป็นตัวเลขสุ่มที่ถูกเลือกจากเส้นโค้ง k1 และกระบวนการเซ็นต์ก็ใช้เส้นโค้งนี้ด้วย

อย่างไรก็ตามคู่คีย์ที่สร้างขึ้นตามมาตรฐาน WebAuthn ใช้เส้นโค้ง r1 ดังนั้นการตรวจสอบลายเซ็น r1 บน Ethereum จึงมีราคาแพงกว่าลายเซ็น k1 ประมาณสามเท่า นี่คือวิธีการบางอย่างเพื่อแก้ไขปัญหานี้:

เครดิตให้ Dogan, สำหรับความรู้ที่ลึกซึ้งมากขึ้น โปรดตรวจสอบงานวิจัยของเขา

โซลูชันโปรโตคอล:

Solution: EIP7212, Precompiled for secp256r1 Curve Support proposed by Clave team.

การประเมิน: ข้อเสนอนี้สร้างสัญญาก่อนคอมไพล์ที่ทำการตรวจสอบลายมือในเส้นโค้งเอลลิปติก "secp256r1" ด้วยพารามิเตอร์ที่กำหนดของแฮชข้อความ คอมโพเนนต์ r และ s ของลายมือ และพิกัส x, y ของคีย์สาธารณะ ดังนั้น โซน EVM ใดก็ตาม - โดยหลัก Ethereum rollups - สามารถรวมสัญญาก่อนคอมไพล์นี้ได้อย่างง่ายดาย จนถึงตอนนี้ สำหรับโปรโตคอล การคำนวณอาจเป็นทางเลือกที่มีประสิทธิภาพในด้านแก๊สที่สุด

การปฏิบัติ: zkSync

บริการบุคคลที่สาม

โซลูชั่น: Turnkey

การประเมิน: การใช้ Turkey TEE ให้แน่ใจว่า กุญแจส่วนตัวสามารถเข้าถึงได้เฉพาะผู้ใช้ผ่าน PassKey และไม่เคยสามารถเข้าถึงได้สำหรับ Turnkey เอง อย่างไรก็ตามนี้ยังต้องการการดำเนินการของบริการ

การปฏิบัติ: Goldfinch

โซลิดิตี้เครื่องมือตรวจสอบ:

Solution: ตรวจสอบความถูกต้อง Solidity ของ FCL, ตรวจสอบความถูกต้อง Solidity พร้อมการคำนวณของ FCL, P256Verifier ของ Daimo

การดำเนินการ: Clave, Obvious Wallet

Zero-Knowledge(ZK) Verifier:

Solution: Risc0 บอนไซ, Axiom’s halo2-ecc

การประเมิน: วิธีการนี้ใช้ซึ่งพิสูจน์ได้ว่าการคำนวณภายนอกเครื่องจำลอง Ethereum Virtual Machine (EVM) ลดค่าการคำนวณบนเชื่อมโยง (on-chain)

การปฏิบัติ: กระเป๋าเงิน Bonfire(Risc0), ห้องทดลอง Know Nothing(Axiom)

แต่ละวิธีเหล่านี้มีวิธีการต่าง ๆ เพื่อเสริมความสามารถในการยืนยันลายเซ็น r1 ที่ถูกกว่าและเป็นไปได้ในระบบนิเวศ Ethereum และนี่คือการประเมินโดย Dogan

การศึกษากรณีการปฏิบัติ

*โปรดทราบว่าตั้งแต่ธันวาคม 2023 เป็นต้นมา ส่วนใหญ่ของข้อเสนอเหล่านี้ยังอยู่ในช่วงเริ่มต้นและอาจมีการเปลี่ยนแปลงหรือปรับปรุงได้ตลอดเวลา เหตุผลเหล่านี้เป็นตัวอย่างเพียงเพื่อการเรียนรู้เท่านั้น โปรดอ้างถึงเว็บไซต์อย่างเป็นทางการของพวกเขาเสมอเพื่อข้อมูลที่แม่นยำ

กระเป๋าเงิน Clave: (Secure Enclave webAuthn) + (SCA)

พื้นฐาน:

ตัวอย่าง: https://getclave.io/

บัญชี: SCA

โซน: ZkSync

ขั้นตอนการทำธุรกรรม:

การสร้างคีย์: ผู้ใช้ให้การยืนยันตัวตนด้วยช่วงลายนิ้วมือหรือการรู้จำใบหน้า การสร้างคีย์เปียร์อยู่ภายใน Secure Enclave ซึ่งไม่เคยเปิดเผยหรือออกนอก

การเซ็นลายกุญแจ: แอปพลิเคชันเข้าถึงข้อความธุรกรรมที่จำเป็นและส่งคำขอลงลายเซ็นเพื่อ Secure Enclave, ผู้ใช้ทำการตรวจสอบข้อมูลชีวภาพเพื่ออนุมัติการเซ็นลาย, และ Secure Enclave ทำการลงลายกับข้อความด้วยกุญแจและส่งออกไปยังโหนดบล็อกเชน

ฟังก์ชันเสริม: บัญชีสมาร์ทคอนแทรคช์ช่วยให้มีฟังก์ชันที่มีประสิทธิภาพมากมาย ในที่สุด การสนับสนุนแก๊ส ด้วยการชำระเงิน ฝ่ายอื่น ๆ เช่น dApp หรือผู้โฆษณาสามารถช่วยเสริมค่าธรรมเนียมแก๊สของผู้ใช้ ทำให้กระบวนการธุรกรรมเรียบขึ้น และยังสามารถอนุญาตให้ผู้ใช้ชำระค่าธรรมเนียมแก๊สในรูปแบบ ERC20 แทนที่จะใช้ Ether หรือโทเคนธรรมดา และโดยใช้กุญแจเซสชันผู้ใช้สามารถดำเนินการธุรกรรมโดยไม่ต้องลงชื่อในช่วงเวลาหนึ่ง

กลไกการกู้คืน:

กระบวนการกู้คืนถูกดำเนินการโดยสัญญาอัจฉริยะของ Clave บน zkSync ผู้ใช้สามารถยกเลิกกระบวนการกู้คืนในระยะเวลา 48 ชั่วโมง เพื่อป้องกันกิจกรรมที่ไม่ได้รับอนุญาตและเต็มไวรัส

การสำรองข้อมูลบนคลาวด์: เมื่อผู้ใช้เลือกการสำรองข้อมูลบนคลาวด์ จะสร้าง EOA ขึ้นมา คีย์ส่วนตัวของ EOA จะถูกเก็บไว้ใน iCloud หรือ Google Drive ผู้ใช้สามารถใช้คีย์ส่วนตัวที่เก็บบนคลาวด์เพื่อเข้าถึงบัญชีของตนจากอุปกรณ์ที่แตกต่างกัน และผู้ใช้สามารถลบหรือเขียนทับส่วนสำรองข้อมูลนี้ได้ในทุกเวลา

การกู้คืนโดยทางสังคม: ผู้ใช้สามารถกำหนดที่อยู่คีย์ของครอบครัวหรือเพื่อนให้เป็นการสำรอง หากผู้ปกครอง M ของ N คนยืนยันการกู้คืน การกู้คืนจะถูกดำเนินการหลังจากล็อคดาวน์ 48 ชั่วโมงหากไม่มีการยกเลิก

กระเป๋า Soul: (Passkey) + (4337 SCA)

พื้นฐาน:

Demo: https://alpha.soulwallet.io/wallet

บัญชี: ERC4337 SCA

Chain: Ethereum, Optimism, Arbitrum, and soon all EVM layer2

ขั้นตอนการทำธุรกรรม:

การสร้างคีย์: ผู้ใช้ให้การรับรองตัวบนระบบชีวภาพ เช่น ลายนิ้วมือหรือการรับรู้ใบหน้า และระบบปฏิบัติการจะสร้าง Passkey และสำรองข้อมูลด้วยบริการคลาวด์ คุณสามารถเพิ่ม passkey ได้มากกว่าหนึ่งตัว ระหว่างอุปกรณ์และแพลตฟอร์มต่างๆ

เพิ่มผู้อารักขา(ไม่บังคับ): ผู้ใช้สามารถกำหนดที่อยู่ EVM EOA ที่แตกต่างกันเป็นผู้พิทักษ์และตั้งค่าเกณฑ์สำหรับการกู้บัญชี

การสร้างบัญชี: โดยใช้การติดตั้งโดยไม่จริง, ผู้ใช้ไม่ต้องจ่ายค่าธรรมเนียมใด ๆ จนกระทำธุรกรรมครั้งแรก

กลไกการกู้คืน:

Passkey: ใช้ passkey ที่กำหนดไว้เพื่อเข้าสู่กระเป๋าเงินโดยใช้อุปกรณ์อย่างสมบูรณ์

การกู้คืนของผู้พิทักษ์: ผู้พิทักษ์ที่ได้รับมอบหมายสามารถหมุนกระเป๋าเงินตามเกณฑ์ และอาจมีการตั้งล็อคเวลาภายหลังเพื่อป้องกันพฤติกรรมที่ไม่ดี

กระเป๋าเงิน OKX:(MPC-TSS + Passkey) + (4337 SCA)

พื้นฐาน:

Demo: https://www.okx.com/help/what-is-an-aa-smart-contract-wallet

Chain: 30+ โซ่

คีย์: MPC-TSS, 2/3

บัญชี: 4337 SCA

กระบวนการธุรกรรม:

การสร้างคีย์: โดยการสร้างกระเป๋าเงิน OKX จะแปลงคีย์ส่วนตัวเดียวเป็นสามส่วนที่แยกกัน ส่วนที่ 1 ถูกเก็บไว้ในเซิร์ฟเวอร์ OKX ส่วนที่ 2 ถูกเก็บไว้ในพื้นที่จัดเก็บบนอุปกรณ์ของผู้ใช้และส่วนที่ 3 ถูกสร้างขึ้นโดยอุปกรณ์ ถูกเข้ารหัสและสามารถสำรองข้อมูลไปยังบริการคลาวด์ที่ผู้ใช้เลือก เช่น Google Cloud, iCloud และ Huawei Cloud

การเซ็นลายมือ: OKX โดยใช้เทคโนโลยี MPC-TSS ผู้ใช้สามารถได้รับลายมือเต็มโดยใช้สองในสามส่วนของกุญแจส่วนตัวเมื่อเซ็นลายมือ ส่วนกุญแจไม่เคยพบกันในระหว่างกระบวนการนี้

กลไกการกู้คืน:

2/3 mechanism: เมื่อผู้ใช้ล็อกเอาท์ อุปกรณ์ไม่สามารถใช้หรือหนึ่งในคีย์บนอุปกรณ์ถูกบุกรุก คุณสามารถใช้อุปกรณ์ใหม่เพื่อเข้าสู่กระเป๋าเงิน OKX (รับการแบ่งปันของเซิร์ฟเวอร์) และได้รับการแบ่งปันบริการคลาวด์ รวมกันเพื่อกู้คืนกระเป๋าเงิน กระเป๋าเงิน OKX จะสร้างการแบ่งปันลับใหม่

Web3Auth: (MPC-TSS + Passkey)+ (EOA/SCA)

พื้นฐาน:

สาธิต: https://w3a.link/passkeysDemo

Chain: ทุก EVM และ Solana

คีย์: MPC-TSS, โดยทั่วไป 2/3

บัญชี: บัญชีใด ๆ เช่น EOA, 4337 SCA หรือ SCA ทั่วไป

ขั้นตอนการทำธุรกรรม:

การสร้างคีย์: โดยการสร้างกระเป๋าเงิน จะสร้างคีย์แชร์สามตัว แชร์1 เป็นคีย์การเข้าสู่โซเชียล ผู้ใช้สามารถพิมพ์อีเมลของพวกเขาและเครือข่ายที่กระจายอยู่แบบกระจายที่เก็บคีย์สำหรับผู้ใช้แต่ละคน; แชร์2 เป็นคีย์ของอุปกรณ์ที่เก็บไว้ในหน่วยจัดเก็บข้อมูลภายในอุปกรณ์ของผู้ใช้; แชร์3 สร้างโดยคอมพิวเตอร์ภายในและถูกสำรองข้อมูลโดยบริการคลาวด์ที่ผู้ใช้เลือก

การเซ็นลายกุญแจ: สถาปัตยกรรม Web3Auth MPC-TSS ทำให้แน่ใจได้ว่ากุญแจของผู้ใช้จะมีอยู่เสมอ แม้ใช้การเซ็นลายกุญแจเป็น threshold กุญแจจะไม่ถูกสร้างใหม่หรือเก็บไว้ในที่เดียว

กลไกการกู้คืน:

การกู้คืนเกณฑ์ เมื่อผู้ใช้ออกจากระบบ อุปกรณ์ไม่สามารถใช้งานหรือหนึ่งในกุญแจบนอุปกรณ์ถูกคัดค้าน คุณสามารถใช้วิธีการเข้าสู่ระบบโดยใช้สื่อสังคมเพื่อเข้าสู่ระบบบัญชี webAuthn และรับการแบ่งปันคลาวด์พาสเวย์ รวมกันเพื่อกู้คืนกระเป๋าเงิน

Lit Protocol(MPC-TSS + โหนดที่แบ่งเบาะแส + พาสคีย์)+ (EOA/SCA)

ข้อมูลพื้นฐาน:

การสาธิต: https://lit-pkp-auth-demo.vercel.app/

Chain: ส่วนใหญ่ของ EVM, Cosmos, Solana.

บัญชี: MPC-TSS, 20 จาก 30 เครือข่าย, สามารถนำไปใช้ได้ทั้ง SCA และ EOA

กระบวนการธุรกรรม:

การสร้างคีย์: เมื่อผู้ใช้ต้องการสร้างกระเป๋าเงิน ให้เลือกวิธีการตรวจสอบก่อน(passkey, รองรับการเข้าสู่ระบบโซเชียลด้วย oAuth), จากนั้นส่งคำขอไปยัง relayer เพื่อสร้างคู่คีย์และเก็บตรรกะตรรกะกับสมาร์ทคอนแทรค แต่ละคู่คีย์ถูกสร้างร่วมกันโดยโหนด Lit ผ่านกระบวนการที่เรียกว่า Distributed Key Generation (DKG) ทำงานเป็นเครือข่ายที่ไม่มีการจัดกลุ่ม โหนด Lit จำนวน 30 ทำงานภายใน TEE แต่ละโหนดมีสิ่งแบ่งของของคีย์ แต่คีย์ส่วนตัวไม่มีอยู่ในรูปแบบที่สมบูรณ์

การเซ็นลายมือ: เมื่อได้รับคำขอ โหนด Lit จะทำการตรวจสอบหรือปฏิเสธคำขอโดยอิสระตามวิธีการตรวจสอบที่กำหนดไว้ และใช้เทคโนโลยี MPC-TSS 1. ส่วนหุ้นของคีย์ถูกสะสมขึ้นเหนือค่าเกณฑ์ (20 จาก 30) เพื่อสร้างลายมือและรวมโดยไคลเอ็นต์เพื่อปฏิบัติคำขอ

กลไกการกู้คืน:

กลไก 2/3: ใช้วิธีการตรวจสอบที่เก็บไว้ในสมาร์ทคอนแทรคเพื่อเข้าถึงบัญชี Lit nodes ตรวจสอบคำขอและจะดำเนินการต่อไปหากมีการยืนยันจากโหนดมากกว่า 2/3

สรุป:

ด้วยความกระตือรือร้นใน Layer2, Layer3, และ โซลูชันความพร้อมในการใช้ข้อมูล เราสนใจที่จะปรับปรุงประสิทธิภาพของบล็อกเชน โดยมุ่งหวังที่จะพัฒนาความปลอดภัยจริง ๆ โดยรวม Zero Knowledge Proof Privacy กับลักษณะการเปิดเผยที่โปร่งใส ทุกความพยายามเน้นหมายเลขเดียว: เพื่อพร้อมสำหรับผู้ใช้จริงที่มีการกระทำกับบล็อกเชนอย่างถี่ถ้วนและนำสกุลเงินดิจิตอลเข้าสู่ชีวิตประจำวัน

มันง่ายที่จะตกอยู่ในฝันเทคโนโลยีที่ดีที่สุด แต่เราต้องถามตัวเอง: เราต้องการประสบการณ์แบบไหน? เรามองเห็นโลกที่คริปโตเป็นเรื่องสัมผัสมากกว่าคำศัพท์เทคนิคที่น่ากลัว ที่ผู้ใช้กระโดดเข้าไปในรู้ภูมิไร้ระบบโดยไม่ลังเล

สมมติว่ามีผู้ใช้ชื่อ รุย: เธอค้นพบ dApp ที่ยอดเยี่ยม ลงทะเบียนโดยใช้การรู้จำใบหน้าหรือลายนิ้วมือได้อย่างง่ายดาย พร้อมทางเลือกในการตั้งค่าการสำรองข้อมูลหรือผู้ปกครอง ขณะที่เธอมีส่วนร่วมกับ dApp เธอจะทำธุรกรรมได้อย่างราบรื่น บางทีอาจมีค่าธรรมเนียม ERC20 ขนาดเล็ก หรือบางทีอาจไม่มีเลย ภายหลังเธอก็ปรับแต่งการตั้งค่ากระเป๋าเงินของเธอ - บางทีเธอเปิดใช้การล็อคเวลาสำหรับธุรกรรมอัตโนมัติ เพิ่มอุปกรณ์อีกตัวเป็นผู้ลงนามสำรอง หรือปรับปรุงรายชื่อผู้ปกครองของเธอ

ผู้สร้างของเราทําให้สิ่งนั้นเกิดขึ้น การรวม WebAuthn และ Passkey เราปรับปรุงการจัดการคีย์ส่วนตัวทําให้ทั้งปลอดภัยและใช้งานง่าย นอกเหนือจากคีย์แล้ว SCA ในฐานะเอนทิตียังเปิดขอบเขตของความปลอดภัยและฟังก์ชันการทํางานส่วนบุคคล และสําหรับค่าน้ํามัน? พวกเขากลายเป็นภาระน้อยลงด้วยผู้ให้บริการ Paymaster ที่สามารถสร้าง 'ห้องนิรภัย' สําหรับการแลกเปลี่ยนหรือแม้แต่อนุญาตให้ผู้โฆษณาครอบคลุมค่าธรรมเนียมสําหรับผู้ใช้ หัวใจของวิวัฒนาการนี้โดยเฉพาะอย่างยิ่งสําหรับ Ethereum mainnet และ Layer2s ที่เทียบเท่ากันนั้น ERC4337 มันแนะนํา mempool ทางเลือกที่แยกธุรกรรม SCA ออกจาก EOAs โดยไม่ต้องยกเครื่องโปรโตคอลที่สําคัญ ในทางกลับกันเครือข่ายเลเยอร์ 2 บางเครือข่ายยังยอมรับ SCA โดยกําเนิดโดยรวมเข้ากับระบบของพวกเขาอย่างราบรื่น

ต้องใช้ความพยายามมากเพื่อทำให้ทุกอย่างง่ายขึ้น มีอุปสรรคหลายประการ เช่น ลดค่าใช้จ่ายในการติดตั้ง การตรวจสอบ และการดำเนินการสำหรับ SCA; มาตรฐานการให้บริการเพื่อเพิ่มความสามารถในการทำงานร่วมกันของบัญชี; การซิงค์สถานะบัญชีข้ามซีก; และอื่น ๆ ขอขอบคุณผู้สร้างทุกคน เรากำลังเข้าใกล้กับการแก้ปริศนาทุกวัน และผู้ลงทุนในด้านสกุลเงินดิจิทัลเช่นเรา - SevenX, พร้อมช่วยให้บริษัทที่ยอดเยี่ยมสามารถเข้าใจวิสัยทางธุรกิจของตน

ข้อความปฏิเสธความรับผิดชอบ:

  1. บทความนี้ถูกพิมพ์ใหม่จาก [ SevenX Ventures]. ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [@Rui]. หากมีข้อความท้าทานในการพิมพ์นี้ โปรดติดต่อGate เรียนทีม และพวกเขาจะจัดการกับมันโดยเร็ว
  2. คำปฏิเสธความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำใด ๆ เกี่ยวกับการลงทุน
  3. การแปลบทความเป็นภาษาอื่นๆ ทำโดยทีม Gate Learn ห้ามคัดลอก แจกจ่าย หรือลอกเลียนบทความที่ถูกแปล นอกจากที่ได้ระบุไว้

WebAuthn และ Passkey, การจัดการคีย์สำหรับผู้ใช้คริปโตประจำวัน

กลาง1/11/2024, 3:44:46 PM
บทความนี้สำรวจเรื่องของ Passkey, WebAuthn, AA, และ MPC, พร้อมกับวิธีการแก้ปัญหาที่เป็นไปได้ที่ดีที่สุด

TL; ดร

กุญแจส่วนตัวคือส่วนสำคัญที่ช่วยให้เราลงนามในการทำธุรกรรมบน Ethereum แต่การจัดการกับมันเป็นสิ่งนั้นแทบจะเป็นฝันร้าย แม้ในรูปแบบที่อ่านง่ายเช่น​ “seed phrases” แต่เป้าหมายของเราไม่เคยที่จะทำให้บล็อกเชนกลายเป็นเกมที่ซับซ้อน

การตรวจสอบผู้ใช้ที่ได้รับอนุญาตเป็นสิ่งสำคัญสำหรับธุรกรรมที่ปลอดภัย ด้วยความความคืบหน้าของความปลอดภัยบนอินเทอร์เน็ตและประสบการณ์ผู้ใช้ เราได้เคลื่อนไปจากการตรวจสอบรหัสผ่านไปสู่เทคโนโลยีชีวิตแบบใบหน้าและลายนิ้วมือ WebAuthn เป็นการพัฒนาที่สำคัญในการก้าวหน้านี้ บทความนี้ได้สนใจถึงสามคำศัพท์ที่เกี่ยวข้องอย่างใกล้ชิด

WebAuthn: มาตรฐานการรับรองเว็บใช้ข้อมูลประจำตัวที่ใช้กุญแจสาธารณะเป็นหลัก ซึ่งมักถูกสร้างโดยเครื่องรับรองภายนอก มันกำจัดความจำเป็นในการใช้รหัสผ่านและเปิดใช้งานการรับรองตัวตนของผู้ใช้อย่างปลอดภัย

Secure Enclave: พื้นที่ที่ปลอดภัยบนฮาร์ดแวร์ภายในอุปกรณ์คอมพิวเตอร์ที่ออกแบบมาเพื่อป้องกันข้อมูลที่เป็นสิ่งลับ มีเวอร์ชันของ Secure Enclave พบได้ในอุปกรณ์ iOS, Android, และ Windows มันสามารถทำหน้าที่เป็นเครื่องพิสูจน์ตัวตนที่ปลอดภัยโดยการใช้งาน WebAuthn แต่คีย์ส่วนตัวที่เชื่อมโยงกับ SE มักเป็นปัญหาในการใช้งานในอุปกรณ์หลายเครื่อง

Passkey: การนำ WebAuthn มาใช้ที่ระดับของระบบปฏิบัติการ ที่ได้รับการปรับแต่งโดยผู้ให้บริการอุปกรณ์และระบบต่าง ๆ ตัวอย่างเช่น Passkey ของ Apple ใช้กุญแจที่เก็บไว้ใน iCloud Keychain สำหรับการซิงโครไหลย่านระหว่างอุปกรณ์ อย่างไรก็ตาม วิธีการนี้มักจะถูกล็อคไว้บนแพลตฟอร์มหรือระบบที่เฉพาะเจาะจง

เหมือนที่กล่าวไว้ข้างต้น การปฏิบัติ webAuthn จะสอดคล้องกับเป้าหมายของเราสำหรับผู้ใช้บล็อกเชนรายวัน เพื่อบรรลุความปลอดภัยระดับสูงในการป้องกันฟิชชิ่งและประสบการณ์ที่เป็นมิตร นี่คือไอเดียในการผสานพวกเขาเข้าด้วยกันในบล็อกเชน

ชั้นคีย์: ผู้ใช้รับรองความถูกต้องโดยใช้วิธีชีวภาพอย่างไม่รู้เหมือนการรู้จำใบหน้าหรือลายนิ้วมือ ภายใต้ตัวรถ, มันคือประมวลกลัวรังสีฮาร์ดแวร์เช่น Secure Enclave หรือบริการคลาวด์เช่น iCloud และ Google Cloud ที่จัดการกับการจัดการคีย์ ฉันจะสำรวจการแสดงความเห็นในเรื่องข้ามอุปกรณ์และประเภทในภายหลัง

ชั้นบัญชี: บัญชีสมาร์ทคอนแทร็ก (SCA) มีความสามารถในการกำหนดผู้เซ็นต์อิสระ (เช่น SE และ Passkey) และกลไกค่าความสำคัญ นอกจากนี้ การออกแบบแบบโมดูลาร์ของมันยังเพิ่มความยืดหยุ่นและความสามารถในการอัพเกรด ตัวอย่างเช่น SCA สามารถปรับการต้องการในการเซ็นต์ได้โดยได้มีการเปลี่ยนแปลงตามปัจจัยเช่น จำนวนเงินที่ทำธุรกรรม เวลา หรือที่อยู่ IP ในทางตรงกันข้าม บัญชีเจ้าของภายนอกแบบดั้งเดิม (EOA) สามารถเพิ่มความสามารถด้วยบริการ MPC และการผสมผสานของพวกเขานำเสนอความสามารถในการปฏิบัติต่อกันและคุ้มค่ามากกว่า SCA อย่างไรก็ตาม มันขาดความสามารถขั้นสูงที่ SCA ให้ โดยเฉพาะอย่างยิ่งสำหรับการหมุนกุญแจ

เลเยอร์การเซ็นต์: Ethereum รองรับ k1 curve อย่างเดียวในรูปแบบธรรมชาติ แต่การตรวจสอบลายเซ็นเจนของ WebAuthn มีค่าใช้จ่ายสูงกว่าเนื่องจากใช้ r1 curve สำหรับการสร้างคีย์ ดังนั้น มีบาง Layer 2 โซลูชัน เช่น zkSync ที่วางแผนที่จะมี precompiles ของ r1 curve รูปแบบธรรมชาติ EIP-7212 อีกด้วย นอกจากนี้ ยังมีบริการจากบุคคลที่สาม ผู้ตรวจสอบ Solidity ผู้ตรวจสอบซีโรตี และระบบการจัดการคีย์แบบกระจาย เพื่อส่งเสริมการเซ็นต์ r1 curve ในลักษณะที่มีค่าใช้จ่ายมากกว่านี้

คำปฏิเสธ:

ความก้าวหน้าทางเทคโนโลยีไม่ได้รับการรับรองว่าจะประสบความสำเร็จในตลาด; ไม่ทุกอุปกรณ์และแพลตฟอร์มได้นำ Passkey มาใช้; การใช้ SCA อาจมีค่าใช้จ่ายสูงกว่า EOA; วิธีการที่เสนอนี้ก้าวไปข้างหน้าพร้อมกับความก้าวหน้าในเทคโนโลยี

คริปโต UX sucks? การจัดการคีย์ sucks!

ในอาณาจักรบล็อกเชนการควบคุมสินทรัพย์บล็อกเชนที่แท้จริงไม่ได้อยู่ในมือของผู้ใช้หรือผู้ให้บริการกระเป๋าเงิน แต่อยู่ที่คีย์ส่วนตัว คีย์นี้เป็นส่วนสําคัญที่สุดในกระบวนการทั้งหมดในการทําธุรกรรมบน Ethereum เพื่อให้เข้าใจสิ่งนี้ได้ดีขึ้นลองใช้ EOA เป็นตัวอย่าง:

การสร้างคีย์: ตัวเลขสุ่มที่เลือกจากเส้นโค้งวงรี secp256k1 ทําหน้าที่เป็นคีย์ส่วนตัว คีย์นี้จะถูกคูณด้วยจุดที่กําหนดไว้ล่วงหน้าบนเส้นโค้งเพื่อสร้างคีย์สาธารณะ ที่อยู่ Ethereum ได้มาจาก 20 ไบต์สุดท้ายของคีย์สาธารณะที่แฮช 'วลีเมล็ดพันธุ์' มักจะถูกนํามาใช้สําหรับการสํารองข้อมูลที่มนุษย์สามารถอ่านได้ทําให้สามารถกําหนดคีย์ส่วนตัวและคีย์สาธารณะได้

ธุรกรรมการลงนาม: ธุรกรรมที่มีรายละเอียดเช่น nonce (หมายเลขตามลําดับ) จํานวนเงินราคาก๊าซและที่อยู่ผู้รับจะลงนามโดยใช้คีย์ส่วนตัว กระบวนการนี้เกี่ยวข้องกับ ECDSA ซึ่งเป็นอัลกอริธึมลายเซ็นดิจิทัลที่ใช้การเข้ารหัสเส้นโค้งวงรีและใช้ secp256k1 เป็นเส้นโค้งสร้างลายเซ็นที่ประกอบด้วยค่า (r, s, v) ลายเซ็นและธุรกรรมต้นฉบับจะถูกออกอากาศบนเครือข่าย

การตรวจสอบธุรกรรม: เมื่อธุรกรรมถึงโหนด Ethereum แล้ว จะมีกระบวนการตรวจสอบที่เกิดขึ้นใน mempool ของโหนด โหนดจะใช้ลายเซ็นเจอร์และการแฮชธุรกรรมเพื่อคำนวณคีย์สาธารณะของผู้ส่งและยืนยันความถูกต้องของธุรกรรมโดยการเทียบที่อยู่ที่ได้กับผู้ส่ง

เหมือนที่ได้กล่าวมาข้างต้น คีย์ส่วนตัวเป็นสิ่งสำคัญบนเชื่อมโยง ต้นฉบับแล้วบัญชี Ethereum ที่เรียกว่าบัญชี External Owned Accounts (EOAs) พึงพอใจเพียงแค่คีย์ส่วนตัวเดียว ซึ่งมีความเสี่ยงอันมากมาย เนื่องจากหากสูญหายคีย์จะหมายถึงสูญเสียการเข้าถึงบัญชี

หลายคนอาจคิดว่า Account Abstraction (AA) เป็นวิธีแก้ปัญหาทุกอย่างที่เกี่ยวข้องกับประสบการณ์การใช้งานที่ไม่ดีซึ่งฉันจะบอกว่าไม่แน่ AA เป็นเรื่องเกี่ยวกับการเปลี่ยนกฎความถูกต้องให้สามารถตั้งโปรแกรมได้ และความสามารถในการตั้งโปรแกรมของ Smart Contract Account (SCAs) ทําให้เป็นไปได้ AA มีประสิทธิภาพช่วยให้สามารถส่งธุรกรรมหลายรายการในแบบคู่ขนาน (นามธรรม nonce) การสนับสนุนก๊าซและจ่ายก๊าซใน ERC20 (ก๊าซนามธรรม) และเกี่ยวข้องกับหัวข้อของบทความนี้มากขึ้นเพื่อทําลายการตรวจสอบลายเซ็นคงที่ (ลายเซ็น ECDSA ที่เป็นนามธรรม) แทนที่จะเป็น EOA SCAs สามารถกําหนดผู้ลงนามและกลไกการลงนามโดยพลการ เช่น multi-signature(multisigs) หรือ scoped keys(session keys) อย่างไรก็ตาม แม้จะมีความยืดหยุ่นและความก้าวหน้าในการอัพเกรดของ AA แต่การพึ่งพาคีย์พื้นฐานสําหรับการลงนามธุรกรรมยังคงไม่เปลี่ยนแปลง

แม้ว่าจะแปลงเป็นวลีตัวเลข 12 คำสำคัญ การจัดการกุญแจส่วนตัวยังคงท้าทาย ซึ่งเสี่ยงต่อการสูญเสียหรือโจมตีด้วยการโปรโมท. ผู้ใช้ต้องนำทางระหว่างชั้นข้อมูลที่ซับซ้อนของสิ่งที่ฉลองจากบริการที่ตกแต่ง โดยไม่มีทางใดที่เป็นที่ต้องการ.

ทําไมประสบการณ์การเข้ารหัสลับถึงแย่? ส่วนใหญ่เป็นเพราะการจัดการที่สําคัญแย่มาก มันต้องมีการแลกเปลี่ยนประสบการณ์ความปลอดภัยและการกระจายอํานาจเสมอ บทความนี้จะสํารวจโซลูชันที่เหมาะสมที่สุดสําหรับการจัดการคีย์

ชั้นควบคุมคีย์การจัดการ

ไม่มีทางไหนที่เหมาะสมกับทุกคน วิธีที่ดีที่สุดในการรักษาคีย์คือการปรับแต่งให้เหมาะกับสถานการณ์ของผู้ใช้เฉพาะ ที่ได้รับผลกระทบจากปัจจัยต่างๆ เช่น ประเภทของผู้ใช้ (สถาบัน หรือ บุคคล), จำนวนทุน, ความถี่ของการทำธุรกรรม และประเภทของการจับคู่

เพื่อชี้แจงล่วงหน้าฉันหลีกเลี่ยงการใช้วิธีการ 'ตนเองกึ่งและการดูแลอย่างเต็มที่' ที่เป็นที่นิยมเพื่อจัดทําแคตตาล็อก ในมุมมองของฉันการดูแลตนเองที่แท้จริงหมายถึงการลงนามในธุรกรรมอย่างอิสระโดยไม่ต้องพึ่งพาบุคคลอื่นสิ่งนี้ถือแม้ว่าโซลูชันจะไม่ได้รับการดูแลในความหมายดั้งเดิม (เช่นถูกเก็บไว้ใน TEE ของโหนดแบบกระจายอํานาจ) การจัดหมวดหมู่โซลูชันเป็นเพียง 'ดี' หรือ 'ไม่ดี' ตามประเภทการดูแลนั้นง่ายเกินไปและไม่ได้คํานึงถึงความเหมาะสมที่แตกต่างกัน สําหรับการประเมินวิธีการจัดการที่สําคัญอย่างละเอียดยิ่งขึ้นฉันขอแนะนําให้วิเคราะห์ผ่านสามชั้นที่แตกต่างกัน:

ความรับผิดชอบ

ว่าจะแบ่งหน้าที่ในการจัดการคีย์เป็นหลายฝ่ายหรือไม่

เนื่องจากบุคคลบ่อยครั้งต้องเผชิญกับความท้าทายในการจัดการกุญแจ การแบ่งหน้าที่ในการป้องกันกุญแจก็เกิดขึ้นเป็นกลยุทธ์ในการลดความเสี่ยงอย่างธรรมชาติ หมวดหมู่นี้รวมถึงวิธีการเช่นการใช้กุญแจหลายตัวในการลงนามร่วมกัน ตามที่เห็นในระบบลายเซ็นหลายตัว (Multi-Signature (Multi-sig)) และการแบ่งกุญแจส่วนตัวเป็นส่วนๆ ผ่านกระบวนการแบ่งปันความลับ (Secret Sharing Scheme (SSS)) หรือการคำนวณหลายฝ่าย (Multi-Party Computation (MPC))

Multi-sig: การต้องการกุญแจส่วนตัวที่สมบูรณ์หลายตัวเพื่อสร้างลายเซ็นธุรกรรม วิธีนี้จำเป็นต้องมีการสื่อสารบนโซ่บล็อกเกี่ยวกับผู้เซ็นต์ต่าง ๆ ซึ่งทำให้ค่าธรรมเนียมการทำธุรกรรมสูงขึ้น และส่งผลต่อความเป็นส่วนตัวเนื่องจากจำนวนผู้เซ็นต์สามารถมองเห็นได้บนโซ่บล็อก

SSS: กุญแจส่วนตัวถูกสร้างขึ้นที่สถานที่เดียว และตัวแทนจะแจกส่วนหนึ่งของกุญแจนี้ให้กับฝ่ายต่าง ๆ ทุกฝ่ายต้องสร้างกุญแจส่วนตัวทั้งหมดเพื่อลงนามในธุรกรรม อย่างไรก็ตาม กระบวนการสร้างชั่วคราวนี้อาจทำให้เกิดช่องโหว่

MPC-TSS(Threshold Signature Scheme): ในฐานะการปฏิบัติของ MPC, วิธีการเข้ารหัสที่ทำให้หลายฝ่ายสามารถดำเนินการคำนวณโดยรักษาความเป็นส่วนตัวของข้อมูลของตนร่วมกัน แต่ละฝ่ายสร้างส่วนของคีย์ลับอย่างอิสระ และธุรกรรมถูกลงลายโดยไม่จำเป็นต้องพบกันโดยกาลแต่อย่างใด มันลดค่าธรรมเนียมเนื่องจากเป็น off-chain และไม่มีความเสี่ยงจุดล้มละลายเหมือน SSS

การเก็บ

จัดเก็บคีย์หรือหุ้นที่ได้รับผลกระทบจากปัจจัยด้านความปลอดภัยการเข้าถึงต้นทุนและการกระจายอํานาจ

บริการคลาวด์ที่มีการจัดกลุ่มเช่น AWS, iCloud และเซิร์ฟเวอร์อื่น ๆ เหล่านี้ มันสะดวกสำหรับธุรกรรมที่ทำบ่อย ๆ แต่มีโอกาสที่จะถูกเซ็นเซอร์

การจัดเก็บแบบกระจายเช่น IPFS และ Filecoin

คอมพิวเตอร์/โทรศัพท์มือถือท้องถิ่น: คีย์ถูกเก็บไว้ในท้องถิ่นภายในพื้นที่จัดเก็บที่ปลอดภัยของเบราว์เซอร์

กระเป๋าเงินกระดาษ: การพิมพ์คีย์ส่วนตัวหรือรหัส QR ทางกายภาพ

Trusted Execution Environment (TEE): TEE ให้พื้นที่ที่ปลอดภัยภายในหน่วยประมวลผลหลักเพื่อดำเนินการหรือเก็บข้อมูลที่เป็นสารวัตถุจากระบบปฏิบัติการหลัก

Secure Enclave: Secure Enclave บนอุปกรณ์ที่ทันสมัยถูกแยกจากตัวประมวลผลหลักเพื่อให้ได้รับชั้นความปลอดภัยที่สูงขึ้นและถูกออกแบบมาเพื่อให้ข้อมูลของผู้ใช้ที่ละเอียดอ่อนปลอดภัย แม้กระทั่งเมื่อ Applicaticon Processor kernel ถูกละเมิด

ฮาร์ดแวร์วอลเล็ท: อุปกรณ์ที่เป็นเครื่อง Ledger และ Trezor ที่ออกแบบมาเพื่อเก็บกุญแจส่วนตัวอย่างปลอดภัย

โมดูลการรักษาความปลอดภัยของฮาร์ดแวร์ (HSM): HSMs เป็นอุปกรณ์ฮาร์ดแวร์ที่ได้รับการออกแบบมาเพื่อการจัดการกุญแจที่ปลอดภัยและดำเนินการทางคริปโตกราฟอย่างประณีต พวกเขามักจะใช้ในสภาพแวดล้อมขององค์กรและมีคุณสมบัติด้านความปลอดภัยระดับสูง

เข้าถึง

วิธีการยืนยันตัวตนของผู้ใช้เพื่อเข้าถึงคีย์ที่เก็บไว้

การพิสูจน์สิทธิ์เกี่ยวข้องกับการเข้าถึงกุญแจที่เก็บไว้ มันเกี่ยวกับการตรวจสอบว่าบุคคลที่พยายามเข้าถึงมีสิทธิ์จริง ๆ ในการทำเช่นนั้น มองกลับไปที่ประวัติศาสตร์เราสามารถจัดประวัติศาสตร์เป็นกลุ่มดังนี้

บางสิ่งที่คุณทราบ: รหัสผ่าน, รหัส PIN, คำตอบของคำถามเกี่ยวกับความปลอดภัย, หรือรูปแบบที่แน่นอน

บางสิ่งที่คุณมี: รวมถึงบัตรสมาร์ทการ์ด โทเค็นฮาร์ดแวร์ (รหัสผ่านชั่วคราวที่ใช้ได้หนึ่งครั้งตามเวลา) หรือปัจจัยดิจิทัลเช่นการตรวจสอบบัญชีโซเชียลและรหัส SMS ที่ส่งไปยังโทรศัพท์

คุณคือใคร: เกี่ยวข้องกับลักษณะกายภาพที่เฉพาะเจาของผู้ใช้ เช่น ลายนิ้วมือ การระบุใบหน้า (เช่น Apple's Face ID หรือ Windows Hello) การระบุเสียง หรือ การสแกนไอริส/สแกนรีตินา

บนพื้นฐานเหล่านี้ 2FA และ MFA เป็นวิธีการที่รวมกันอย่างน้อยสองหรือมากกว่าสิ่งที่มีประสิทธิภาพ เช่น SMS ที่รวมการแจ้งเตือนด้วยการกด เพื่อเพิ่มชั้นความปลอดภัยให้กับบัญชีผู้ใช้

การวิเคราะห์ผู้เล่นที่มีอยู่

MetaMask ช่วยให้ผู้ใช้สามารถใช้รหัสผ่านเพื่อเข้าถึงคีย์ที่เก็บไว้ในพื้นที่จัดเก็บของเบราว์เซอร์ท้องถิ่นของผู้ใช้

Trust Wallet ช่วยให้ผู้ใช้สามารถใช้รหัสผ่านหรือ faceID เพื่อเข้าถึงคีย์ที่เก็บไว้ในพื้นที่จัดเก็บของเบราว์เซอร์ภายในเครื่องผู้ใช้ ผู้ใช้ยังสามารถเลือกบริการคลาวด์เพื่อสำรองคีย์ส่วนตัว

Privy ช่วยให้ผู้ใช้สามารถใช้วิธีการเข้าสู่ระบบทางสังคมหลายรูปแบบ เช่น อีเมล โดยใช้ SSS เพื่อแยกรายละเอียดเป็นสามส่วน:

แชร์อุปกรณ์: บราวเซอร์-ไอเฟรม, โทรศัพท์มือถือ-ที่อยู่อย่างปลอดภัย

ใช้สิทธิ์ร่วมกัน: จัดเก็บโดยองคมนตรีลิงก์ไปยังรหัสองคมนตรี)

Recovery share: รหัสผ่านผู้ใช้หรือถูกเข้ารหัสโดย Privy ที่เก็บไว้ในโมดูลรักษาความปลอดภัยฮาร์ดแวร์ (HSM)

Particle ช่วยให้ผู้ใช้สามารถใช้การเข้าสู่ระบบโซเชียล โดยใช้ MPC-TSS ที่มีหุ้นสองชุด:

การแชร์อุปกรณ์: เบราว์เซอร์ iFrame

Server key share: แชร์คีย์เซิร์ฟเวอร์ของ Particle

โซลูชันใหม่

ชั้นคีย์: WebAuthn, Secure Enclave และ Passkey

โซลูชันที่มีอยู่ข้างต้นมีบทบาทสำคัญในการนำผู้ใช้เข้าใจ web3 อย่างได้เปรียบ อย่างไรก็ตาม พวกเขามักมาพร้อมกับความท้าทาย: รหัสผ่านอาจจะถูกลืมหรือถูกเป้าหมายในการโจมตีด้วยการโจมตีฟิชชิ่ง และแม้ว่า 2FA จะมีความปลอดภัยมากขึ้น ก็ยังอาจเป็นอุปสรรคด้วยขั้นตอนหลายขั้นตอน นอกจากนี้ ไม่ใช่ทุกคนมีความสะดวกในการให้ความไว้วางใจกับบุคคลที่สามรับผิดชอบด้านการจัดการกุญแจ ผู้ใช้ยังขึ้นอยู่กับความพร้อมใช้งานของระบบและการมีชีวิตชีวาขณะที่บางบริการก็รับประกันว่าพวกเขาจะไม่สามารถเข้าถึงกุญแจได้

สิ่งนี้นําเราไปสู่การไตร่ตรองว่ามีโซลูชันที่มีประสิทธิภาพมากขึ้นหรือไม่ซึ่งเป็นโซลูชันที่ใกล้เคียงที่สุดกับประสบการณ์การใช้งานที่เชื่อถือได้ความปลอดภัยสูงและราบรื่น การค้นหานี้นําเราไปสู่วิธีการ web2 ที่ดีที่สุด คําศัพท์หลายคําเกี่ยวข้องกับหัวข้อนี้อย่างแน่นหนาดังที่ฉันได้อธิบายไว้ในตอนต้นของบทความ WebAuthn เป็นมาตรฐานการรับรองความถูกต้องในขณะที่ Secure Enclave และ Passkey เป็นการใช้งานหรือส่วนประกอบที่เกี่ยวข้องกับมาตรฐานนี้

WebAuthn

WebAuthn มาตรฐานการให้บริการอินเตอร์เฟซในการพิสูจน์ตัวตนของผู้ใช้สำหรับแอปพลิเคชันบนเว็บ มันช่วยให้ผู้ใช้เข้าสู่บัญชีอินเทอร์เน็ตโดยใช้อุปกรณ์พิสูจน์ตัวตนภายนอกแทนที่จะใช้รหัสผ่าน อุปกรณ์พิสูจน์ตัวตนอาจเป็น Roaming Authenticators (Yubikey, Titan key) หรือ Platform Authenticator (Built-in keychain บนอุปกรณ์ Apple) และอื่น ๆ

สมาคม FIDO (Fast IDentity Online) พัฒนาเทคโนโลยีที่อยู่เบื้องหลัง WebAuthn โดยเริ่มต้น มีการประกาศให้มาตรฐานของเว็บโดย W3C เมื่อเดือนมีนาคม 2019 พร้อมกับมาตรฐานนี้ บราวเซอร์ชั้นนำ เช่น Google Chrome, Mozilla Firefox, Microsoft Edge, และ Apple Safari ได้นำ WebAuthn มาใช้งานซึ่งเพิ่มความสามารถในการเข้าถึงและการใช้งานอย่างมีนัยยะ ตอนนี้มีการสนับสนุนจากอุปกรณ์ขั้นสูงหลายรายการ

ประโยชน์ของ webAuthn:

ความปลอดภัยที่ปรับปรุง: กำจัดความขึ้นอยู่กับรหัสผ่าน ลดความเสี่ยงต่อการโจมตีด้วยการล่องลอย การโจมตีด้วยความแรง และการโจมตีแบบ replay

ประสบการณ์ผู้ใช้ที่ดีขึ้น: มีกระบวนการการเข้าสู่ระบบที่ง่ายและรวดเร็วมากขึ้น โดยมักจะใช้เพียงการแตะหน้าจอหรือการยืนยันตัวตนด้วยชีวภาพ

การป้องกันความเป็นส่วนตัว: ไม่มีความลับที่ถูกแชร์ขณะทำการตรวจสอบสิทธิ์ และเว็บไซต์แต่ละแห่งไม่ได้รับข้อมูลที่สามารถระบุตัวบุคคลใด ๆ

ความยืดหยุ่นและมาตรฐาน: ในฐานะเป็นมาตรฐานของเว็บ WebAuthn รับรองความสอดคล้องและสามารถใช้งานร่วมกันได้ในเบราว์เซอร์และแพลตฟอร์มที่แตกต่างกัน

WebAuthnที่ผูกกับอุปกรณ์ เช่น ที่มั่นใจ

ในกรณีที่เป็นปัจจุบัน เราสามารถใช้ฮาร์ดแวร์โปรเซสเซอร์เป็นตัวสิทธิผู้ใช้ เช่น Secure Enclave สำหรับ Apple device, Trustzone สำหรับ Android, และ Strongbox สำหรับ Google Pixel

การสร้างคีย์: การใช้การเข้ารหัสคีย์สาธารณะคู่คีย์จะถูกสร้างขึ้นตามมาตรฐาน WebAuthn โดยทั่วไปจะใช้เส้นโค้ง P-256 r1 คีย์สาธารณะจะถูกส่งไปยังบริการในขณะที่คีย์ส่วนตัวจะไม่ออกจาก Secure Enclave ผู้ใช้ไม่เคยจัดการคีย์ข้อความธรรมดาทําให้คีย์ส่วนตัวถูกบุกรุกได้ยาก

การเก็บรักษาคีย์: คีย์ส่วนตัวถูกจัดเก็บอย่างปลอดภัยภายใน Secure Enclave ของอุปกรณ์ ซึ่งเป็นระบบย่อยที่ได้รับการป้องกันอย่างมั่นคงจากโปรเซสเซอร์หลัก มันปกป้องข้อมูลที่เป็นสิ่งที่ละเอียดอ่อน โดยจะทำให้เกิดความปลอดภัยว่าแม้ระบบหลักจะถูกโจมตี วัสดุคีย์เริ่มต้นจะยังคงอยู่ในสถานะที่ไม่สามารถเข้าถึงได้ ระดับความยากจะสูงมากในการโจมตี Secure Enclave และดังนั้น ชนิดของข้อมูลที่ละเอียดอ่อนที่สุดเช่น Apple Pay และข้อมูล FaceID จะถูกจัดเก็บที่นั่น นี่คือการอธิบายลึกลงไปในวิธีการทำงานของ SE

การพิสูจน์สิทธิ์: ผู้ใช้ใช้การจดจำใบหน้าหรือลายนิ้วมือเพื่อเข้าถึง ที่ Secure Enclave ใช้กุญแจส่วนตัวเพื่อลายเซ็นคำท้าที่ได้รับจากบริการ และบริการตรวจสอบโดยใช้กุญแจสาธารณะ

ข้อดีของ webAuthn ที่ใช้เชื่อมต่อกับอุปกรณ์

การรักษาความปลอดภัยในระดับฮาร์ดแวร์: โดยใช้ Secure Enclave, ตัวจัดการคีย์ที่มีพื้นฐานบนฮาร์ดแวร์ที่แยกจากกันเพื่อให้มีชั้นความปลอดภัยเพิ่มเติม

การต้านการลอกข้อมูล: อย่าเกี่ยวข้องกับการป้อนข้อมูลใด ๆ ลงในอุปกรณ์หรือเว็บไซต์ที่อาจถูกละเมิด

ประสบการณ์ที่สะดวก: พวกเขาให้ประสบการณ์ที่ใช้งานง่ายมากขึ้น ผู้ใช้ไม่ต้องจดจำรหัสผ่านที่ซับซ้อนสำหรับเว็บไซต์ต่าง ๆ อีกต่อไป

ข้อเสียของ webAuthn ที่ใช้งานบนอุปกรณ์

ข้อ จํากัด ของอุปกรณ์: ไม่สามารถส่งออกหรือดึงคีย์ส่วนตัวได้หากอุปกรณ์สูญหายหรือเสียหายการทํางานข้ามอุปกรณ์เป็นไปไม่ได้

ระบบ Cloud-based WebAuthn, Passkey

การท้าทายในการดำเนินการข้ามอุปกรณ์ เทคโนโลยียักษ์ใหญ่ได้นำเสนอการประยุกต์ใช้ webAuthn บนคลาวด์ Passkey มีความคุ้นเคยอย่างกว้างขวางเพราะ Apple

ให้เราใช้ Passkey ของ Apple เป็นตัวอย่าง:

การสร้างคีย์: อุปกรณ์ macOS, iOS หรือ iPadOS ของผู้ใช้ ในฐานะ Authenticator จะสร้างคู่กุญแจสาธารณะ-ส่วนตัวเมื่อผู้ใช้สร้างบัญชี จากนั้นส่งกุญแจสาธารณะไปยังเซิร์ฟเวอร์ และเก็บกุญแจส่วนตัวบน iCloud keychain ของอุปกรณ์ ข้อมูล iCloud Keychain ถูกเข้ารหัสด้วยคู่กุญแจแบบมีขอบเขตทางฮาร์ดแวร์ และเก็บไว้ในโมดูลความปลอดภัยทางฮาร์ดแวร์ (HSM) กุญแจไม่สามารถเข้าถึงได้โดย Apple

การซิงโครไนซ์ในระหว่างอุปกรณ์: กระบวนการนี้จะเหมือนกับการเข้าถึง iCloud ให้ยืนยันตัวตนกับบัญชี iCloud รับรหัส SMS และใส่รหัสผ่านของอุปกรณ์หนึ่ง

Cloud-based webAuthn pros:

Cross-device: ผ่านกุญแจถูกออกแบบให้สะดวกและเข้าถึงได้จากอุปกรณ์ทั้งหมดที่ใช้เป็นประจำ แต่ในปัจจุบัน จำกัดเฉพาะอุปกรณ์ Apple เท่านั้น สำหรับ Android มันยากมากขึ้นเนื่องจากมีรุ่นและการแตกต่างของฮาร์ดแวร์

ความต้านทานฟิชชิ่ง: เช่นเดียวกับข้างต้น

ประสบการณ์ที่สะดวก: เหมือนเดิม

ข้อเสียของ Passkey ที่ใช้เก็บข้อมูลบนคลาวด์

การพึ่งบริการคลาวด์: เปรียบเทียบกับการใช้งานบนอุปกรณ์ของ webAuthn การใช้ passkey บนคลาวด์ย้ายระดับความปลอดภัยจากฮาร์ดแวร์ Secure Enclave ไปยัง iCloud keychain บางคนอาจอ้างว่ามันอยู่ในความควบคุมของบริการคลาวด์ของคุณ บางจุดสำคัญที่ควรพิจารณา รวมถึง: บัญชี AppleID ของผู้ใช้ที่ใช้กับ iCloud ถูกบุกรุก; ในขณะที่ iCloud Keychain ใช้การเข้ารหัสจุดสิ้นสุดเพื่อป้องกันข้อมูล ข้อผิดพลาดในการดำเนินการหรือช่องโหว่สามารถเป็นอันตราย

จำกัดไว้ที่แพลตฟอร์ม: ตัวอย่างเช่น การใช้ iCloud-based passkey บนอุปกรณ์ Android นั้นมีความท้าทายอย่างมาก นอกจากนี้ ไม่เหมือนกับวิธีที่เป็นประจำ Apple และ Google ไม่ส่งการยืนยันที่เฉพาะเจาะจงของอุปกรณ์ ซึ่งหมายความว่า ในปัจจุบันไม่สามารถที่จะยืนยันประเภทของอุปกรณ์ที่สร้างคีย์ได้ ซึ่งเป็นสิ่งที่ทำให้เกิดคำถามเกี่ยวกับความเชื่อถือได้ของคีย์และเมตาดาต้าที่เกี่ยวข้อง

เลเยอร์บัญชี: SCA และ EOA

จนถึงตอนนี้เราเห็นว่าการรักษาความปลอดภัยระดับฮาร์ดแวร์ในขณะที่ต้องจัดการกับความเข้ากันได้ระหว่างอุปกรณ์และแพลตฟอร์มต่าง ๆ นั้นเป็นเรื่องที่ท้าทาย สำคัญอย่างเท่าเทียมกันคือตัวเลือกการกู้คืนด้านสังคม เช่นการเพิ่มผู้ปกครองหลายคนเพื่อความปลอดภัยที่เพิ่มขึ้น ในบริบทนี้ บล็อกเชนสามารถแสดงให้เห็นถึงวิธีการของเรา

ช่องว่างที่โดดเด่นเมื่อเราพยายามใช้ web2 webAuthn กับ web3: Web2 ต้องการเพียงการพิสูจน์ความเป็นเจ้าของในขณะที่ web3 ยังจําเป็นต้องอนุมัติการทําธุรกรรมพร้อมกัน เมื่อใช้ Passkey นักพัฒนาจะไม่สามารถควบคุมข้อความการเซ็นชื่อซึ่งโดยทั่วไปจะเป็นแบบทั่วไป เช่น 'ลงชื่อเข้าใช้' สิ่งนี้สามารถนําไปสู่การจัดการส่วนหน้าที่อาจเกิดขึ้นผู้ใช้ลงนามในข้อความสุ่มสี่สุ่มห้าซึ่งเป็นข้อกังวลเล็กน้อย แต่สําคัญ

บัญชีสมาร์ทคอนแทรค(Smart Contract Accounts, SCA) ซึ่งเป็นสมาร์ทคอนแทรคต์เอง ทำงานเป็นฤดูกาลบนเชน ที่สามารถกำหนดผู้ลงนามอย่างสุมสุด ความยืดหยุงนี้ช่วยให้สามารถเขียนโปรแกรมต่าง ๆ และแพลตฟอร์มต่าง ๆ เช่น การตั้งค่าโทรศัพท์ Android, Macbook และ iPhone เป็นผู้ลงนาม และยิ่งไปกว่านั้น บัญชีสมาร์ทคอนแทรคแบบโมดูลาร์ยังสามารถอัปเกรดได้ สามารถเปลี่ยนผู้ลงนามใหม่ และเปลี่ยนค่าขอบเขตในการลงนามจาก 2 จาก 3 เป็นการกำหนดค่าที่ซับซ้อนมากขึ้น

Envision a wallet that adapts its security requirements based on context: it allows single-signer authentication when the user is on a familiar local IP address, but requires multiple signers for transactions from unknown IP addresses or above a certain value. With modularity and programmability, our imagination is the only limit to such innovations. Many SCA service providers actively build this space, including Safe, Zerodev, Biconomy, Etherspots, Rhinestone, etc. Also shout out to infrastructure like Stackup, Plimico, Alchemy make it possible.

โปรดตรวจสอบว่างานวิจัยก่อนหน้านี้ของฉันให้ความหมายที่เป็นรายละเอียดมากขึ้นเกี่ยวกับ SCA

EOAs สามารถบรรลุการกู้คืนทางสังคมและความเข้ากันได้ในหลายอุปกรณ์/แพลตฟอร์มผ่านบริการ MPC อย่างไรก็ตาม ผู้ให้บริการ MPC สามารถแบ่งกุญแจเป็นส่วนย่อยสำหรับความปลอดภัยและความยืดหยุ่นที่เพิ่มขึ้น วิธีนี้ขาดคุณสมบัติที่สามารถเขียนโปรแกรมและอัปเกรดได้ของ SCA เช่น การกู้คืนแบบ timelock และการปิดกุญแจอย่างง่าย อย่างไรก็ตาม มันยังคงมีความสามารถในการเชื่อมโยงระบบเชื่อมโยงที่ดีกว่าด้วยการไม่สนใจเชื่อมโยงและปัจจุบันมีราคาที่สมเหตุสมผลกว่า SCA ผู้ให้บริการ MPC ที่โดดเด่นรวมถึง Privy, Particle Network, web3Auth, กระเป๋าเงิน OKX, กระเป๋าเงิน Binance ฯลฯ

เลเยอร์การลงชื่อ: R1 การสนับสนุน

เรามาถอยหลังกันเพื่อทำความเข้าใจบริบท: บน Ethereum, กุญแจส่วนตัวเป็นตัวเลขสุ่มที่ถูกเลือกจากเส้นโค้ง k1 และกระบวนการเซ็นต์ก็ใช้เส้นโค้งนี้ด้วย

อย่างไรก็ตามคู่คีย์ที่สร้างขึ้นตามมาตรฐาน WebAuthn ใช้เส้นโค้ง r1 ดังนั้นการตรวจสอบลายเซ็น r1 บน Ethereum จึงมีราคาแพงกว่าลายเซ็น k1 ประมาณสามเท่า นี่คือวิธีการบางอย่างเพื่อแก้ไขปัญหานี้:

เครดิตให้ Dogan, สำหรับความรู้ที่ลึกซึ้งมากขึ้น โปรดตรวจสอบงานวิจัยของเขา

โซลูชันโปรโตคอล:

Solution: EIP7212, Precompiled for secp256r1 Curve Support proposed by Clave team.

การประเมิน: ข้อเสนอนี้สร้างสัญญาก่อนคอมไพล์ที่ทำการตรวจสอบลายมือในเส้นโค้งเอลลิปติก "secp256r1" ด้วยพารามิเตอร์ที่กำหนดของแฮชข้อความ คอมโพเนนต์ r และ s ของลายมือ และพิกัส x, y ของคีย์สาธารณะ ดังนั้น โซน EVM ใดก็ตาม - โดยหลัก Ethereum rollups - สามารถรวมสัญญาก่อนคอมไพล์นี้ได้อย่างง่ายดาย จนถึงตอนนี้ สำหรับโปรโตคอล การคำนวณอาจเป็นทางเลือกที่มีประสิทธิภาพในด้านแก๊สที่สุด

การปฏิบัติ: zkSync

บริการบุคคลที่สาม

โซลูชั่น: Turnkey

การประเมิน: การใช้ Turkey TEE ให้แน่ใจว่า กุญแจส่วนตัวสามารถเข้าถึงได้เฉพาะผู้ใช้ผ่าน PassKey และไม่เคยสามารถเข้าถึงได้สำหรับ Turnkey เอง อย่างไรก็ตามนี้ยังต้องการการดำเนินการของบริการ

การปฏิบัติ: Goldfinch

โซลิดิตี้เครื่องมือตรวจสอบ:

Solution: ตรวจสอบความถูกต้อง Solidity ของ FCL, ตรวจสอบความถูกต้อง Solidity พร้อมการคำนวณของ FCL, P256Verifier ของ Daimo

การดำเนินการ: Clave, Obvious Wallet

Zero-Knowledge(ZK) Verifier:

Solution: Risc0 บอนไซ, Axiom’s halo2-ecc

การประเมิน: วิธีการนี้ใช้ซึ่งพิสูจน์ได้ว่าการคำนวณภายนอกเครื่องจำลอง Ethereum Virtual Machine (EVM) ลดค่าการคำนวณบนเชื่อมโยง (on-chain)

การปฏิบัติ: กระเป๋าเงิน Bonfire(Risc0), ห้องทดลอง Know Nothing(Axiom)

แต่ละวิธีเหล่านี้มีวิธีการต่าง ๆ เพื่อเสริมความสามารถในการยืนยันลายเซ็น r1 ที่ถูกกว่าและเป็นไปได้ในระบบนิเวศ Ethereum และนี่คือการประเมินโดย Dogan

การศึกษากรณีการปฏิบัติ

*โปรดทราบว่าตั้งแต่ธันวาคม 2023 เป็นต้นมา ส่วนใหญ่ของข้อเสนอเหล่านี้ยังอยู่ในช่วงเริ่มต้นและอาจมีการเปลี่ยนแปลงหรือปรับปรุงได้ตลอดเวลา เหตุผลเหล่านี้เป็นตัวอย่างเพียงเพื่อการเรียนรู้เท่านั้น โปรดอ้างถึงเว็บไซต์อย่างเป็นทางการของพวกเขาเสมอเพื่อข้อมูลที่แม่นยำ

กระเป๋าเงิน Clave: (Secure Enclave webAuthn) + (SCA)

พื้นฐาน:

ตัวอย่าง: https://getclave.io/

บัญชี: SCA

โซน: ZkSync

ขั้นตอนการทำธุรกรรม:

การสร้างคีย์: ผู้ใช้ให้การยืนยันตัวตนด้วยช่วงลายนิ้วมือหรือการรู้จำใบหน้า การสร้างคีย์เปียร์อยู่ภายใน Secure Enclave ซึ่งไม่เคยเปิดเผยหรือออกนอก

การเซ็นลายกุญแจ: แอปพลิเคชันเข้าถึงข้อความธุรกรรมที่จำเป็นและส่งคำขอลงลายเซ็นเพื่อ Secure Enclave, ผู้ใช้ทำการตรวจสอบข้อมูลชีวภาพเพื่ออนุมัติการเซ็นลาย, และ Secure Enclave ทำการลงลายกับข้อความด้วยกุญแจและส่งออกไปยังโหนดบล็อกเชน

ฟังก์ชันเสริม: บัญชีสมาร์ทคอนแทรคช์ช่วยให้มีฟังก์ชันที่มีประสิทธิภาพมากมาย ในที่สุด การสนับสนุนแก๊ส ด้วยการชำระเงิน ฝ่ายอื่น ๆ เช่น dApp หรือผู้โฆษณาสามารถช่วยเสริมค่าธรรมเนียมแก๊สของผู้ใช้ ทำให้กระบวนการธุรกรรมเรียบขึ้น และยังสามารถอนุญาตให้ผู้ใช้ชำระค่าธรรมเนียมแก๊สในรูปแบบ ERC20 แทนที่จะใช้ Ether หรือโทเคนธรรมดา และโดยใช้กุญแจเซสชันผู้ใช้สามารถดำเนินการธุรกรรมโดยไม่ต้องลงชื่อในช่วงเวลาหนึ่ง

กลไกการกู้คืน:

กระบวนการกู้คืนถูกดำเนินการโดยสัญญาอัจฉริยะของ Clave บน zkSync ผู้ใช้สามารถยกเลิกกระบวนการกู้คืนในระยะเวลา 48 ชั่วโมง เพื่อป้องกันกิจกรรมที่ไม่ได้รับอนุญาตและเต็มไวรัส

การสำรองข้อมูลบนคลาวด์: เมื่อผู้ใช้เลือกการสำรองข้อมูลบนคลาวด์ จะสร้าง EOA ขึ้นมา คีย์ส่วนตัวของ EOA จะถูกเก็บไว้ใน iCloud หรือ Google Drive ผู้ใช้สามารถใช้คีย์ส่วนตัวที่เก็บบนคลาวด์เพื่อเข้าถึงบัญชีของตนจากอุปกรณ์ที่แตกต่างกัน และผู้ใช้สามารถลบหรือเขียนทับส่วนสำรองข้อมูลนี้ได้ในทุกเวลา

การกู้คืนโดยทางสังคม: ผู้ใช้สามารถกำหนดที่อยู่คีย์ของครอบครัวหรือเพื่อนให้เป็นการสำรอง หากผู้ปกครอง M ของ N คนยืนยันการกู้คืน การกู้คืนจะถูกดำเนินการหลังจากล็อคดาวน์ 48 ชั่วโมงหากไม่มีการยกเลิก

กระเป๋า Soul: (Passkey) + (4337 SCA)

พื้นฐาน:

Demo: https://alpha.soulwallet.io/wallet

บัญชี: ERC4337 SCA

Chain: Ethereum, Optimism, Arbitrum, and soon all EVM layer2

ขั้นตอนการทำธุรกรรม:

การสร้างคีย์: ผู้ใช้ให้การรับรองตัวบนระบบชีวภาพ เช่น ลายนิ้วมือหรือการรับรู้ใบหน้า และระบบปฏิบัติการจะสร้าง Passkey และสำรองข้อมูลด้วยบริการคลาวด์ คุณสามารถเพิ่ม passkey ได้มากกว่าหนึ่งตัว ระหว่างอุปกรณ์และแพลตฟอร์มต่างๆ

เพิ่มผู้อารักขา(ไม่บังคับ): ผู้ใช้สามารถกำหนดที่อยู่ EVM EOA ที่แตกต่างกันเป็นผู้พิทักษ์และตั้งค่าเกณฑ์สำหรับการกู้บัญชี

การสร้างบัญชี: โดยใช้การติดตั้งโดยไม่จริง, ผู้ใช้ไม่ต้องจ่ายค่าธรรมเนียมใด ๆ จนกระทำธุรกรรมครั้งแรก

กลไกการกู้คืน:

Passkey: ใช้ passkey ที่กำหนดไว้เพื่อเข้าสู่กระเป๋าเงินโดยใช้อุปกรณ์อย่างสมบูรณ์

การกู้คืนของผู้พิทักษ์: ผู้พิทักษ์ที่ได้รับมอบหมายสามารถหมุนกระเป๋าเงินตามเกณฑ์ และอาจมีการตั้งล็อคเวลาภายหลังเพื่อป้องกันพฤติกรรมที่ไม่ดี

กระเป๋าเงิน OKX:(MPC-TSS + Passkey) + (4337 SCA)

พื้นฐาน:

Demo: https://www.okx.com/help/what-is-an-aa-smart-contract-wallet

Chain: 30+ โซ่

คีย์: MPC-TSS, 2/3

บัญชี: 4337 SCA

กระบวนการธุรกรรม:

การสร้างคีย์: โดยการสร้างกระเป๋าเงิน OKX จะแปลงคีย์ส่วนตัวเดียวเป็นสามส่วนที่แยกกัน ส่วนที่ 1 ถูกเก็บไว้ในเซิร์ฟเวอร์ OKX ส่วนที่ 2 ถูกเก็บไว้ในพื้นที่จัดเก็บบนอุปกรณ์ของผู้ใช้และส่วนที่ 3 ถูกสร้างขึ้นโดยอุปกรณ์ ถูกเข้ารหัสและสามารถสำรองข้อมูลไปยังบริการคลาวด์ที่ผู้ใช้เลือก เช่น Google Cloud, iCloud และ Huawei Cloud

การเซ็นลายมือ: OKX โดยใช้เทคโนโลยี MPC-TSS ผู้ใช้สามารถได้รับลายมือเต็มโดยใช้สองในสามส่วนของกุญแจส่วนตัวเมื่อเซ็นลายมือ ส่วนกุญแจไม่เคยพบกันในระหว่างกระบวนการนี้

กลไกการกู้คืน:

2/3 mechanism: เมื่อผู้ใช้ล็อกเอาท์ อุปกรณ์ไม่สามารถใช้หรือหนึ่งในคีย์บนอุปกรณ์ถูกบุกรุก คุณสามารถใช้อุปกรณ์ใหม่เพื่อเข้าสู่กระเป๋าเงิน OKX (รับการแบ่งปันของเซิร์ฟเวอร์) และได้รับการแบ่งปันบริการคลาวด์ รวมกันเพื่อกู้คืนกระเป๋าเงิน กระเป๋าเงิน OKX จะสร้างการแบ่งปันลับใหม่

Web3Auth: (MPC-TSS + Passkey)+ (EOA/SCA)

พื้นฐาน:

สาธิต: https://w3a.link/passkeysDemo

Chain: ทุก EVM และ Solana

คีย์: MPC-TSS, โดยทั่วไป 2/3

บัญชี: บัญชีใด ๆ เช่น EOA, 4337 SCA หรือ SCA ทั่วไป

ขั้นตอนการทำธุรกรรม:

การสร้างคีย์: โดยการสร้างกระเป๋าเงิน จะสร้างคีย์แชร์สามตัว แชร์1 เป็นคีย์การเข้าสู่โซเชียล ผู้ใช้สามารถพิมพ์อีเมลของพวกเขาและเครือข่ายที่กระจายอยู่แบบกระจายที่เก็บคีย์สำหรับผู้ใช้แต่ละคน; แชร์2 เป็นคีย์ของอุปกรณ์ที่เก็บไว้ในหน่วยจัดเก็บข้อมูลภายในอุปกรณ์ของผู้ใช้; แชร์3 สร้างโดยคอมพิวเตอร์ภายในและถูกสำรองข้อมูลโดยบริการคลาวด์ที่ผู้ใช้เลือก

การเซ็นลายกุญแจ: สถาปัตยกรรม Web3Auth MPC-TSS ทำให้แน่ใจได้ว่ากุญแจของผู้ใช้จะมีอยู่เสมอ แม้ใช้การเซ็นลายกุญแจเป็น threshold กุญแจจะไม่ถูกสร้างใหม่หรือเก็บไว้ในที่เดียว

กลไกการกู้คืน:

การกู้คืนเกณฑ์ เมื่อผู้ใช้ออกจากระบบ อุปกรณ์ไม่สามารถใช้งานหรือหนึ่งในกุญแจบนอุปกรณ์ถูกคัดค้าน คุณสามารถใช้วิธีการเข้าสู่ระบบโดยใช้สื่อสังคมเพื่อเข้าสู่ระบบบัญชี webAuthn และรับการแบ่งปันคลาวด์พาสเวย์ รวมกันเพื่อกู้คืนกระเป๋าเงิน

Lit Protocol(MPC-TSS + โหนดที่แบ่งเบาะแส + พาสคีย์)+ (EOA/SCA)

ข้อมูลพื้นฐาน:

การสาธิต: https://lit-pkp-auth-demo.vercel.app/

Chain: ส่วนใหญ่ของ EVM, Cosmos, Solana.

บัญชี: MPC-TSS, 20 จาก 30 เครือข่าย, สามารถนำไปใช้ได้ทั้ง SCA และ EOA

กระบวนการธุรกรรม:

การสร้างคีย์: เมื่อผู้ใช้ต้องการสร้างกระเป๋าเงิน ให้เลือกวิธีการตรวจสอบก่อน(passkey, รองรับการเข้าสู่ระบบโซเชียลด้วย oAuth), จากนั้นส่งคำขอไปยัง relayer เพื่อสร้างคู่คีย์และเก็บตรรกะตรรกะกับสมาร์ทคอนแทรค แต่ละคู่คีย์ถูกสร้างร่วมกันโดยโหนด Lit ผ่านกระบวนการที่เรียกว่า Distributed Key Generation (DKG) ทำงานเป็นเครือข่ายที่ไม่มีการจัดกลุ่ม โหนด Lit จำนวน 30 ทำงานภายใน TEE แต่ละโหนดมีสิ่งแบ่งของของคีย์ แต่คีย์ส่วนตัวไม่มีอยู่ในรูปแบบที่สมบูรณ์

การเซ็นลายมือ: เมื่อได้รับคำขอ โหนด Lit จะทำการตรวจสอบหรือปฏิเสธคำขอโดยอิสระตามวิธีการตรวจสอบที่กำหนดไว้ และใช้เทคโนโลยี MPC-TSS 1. ส่วนหุ้นของคีย์ถูกสะสมขึ้นเหนือค่าเกณฑ์ (20 จาก 30) เพื่อสร้างลายมือและรวมโดยไคลเอ็นต์เพื่อปฏิบัติคำขอ

กลไกการกู้คืน:

กลไก 2/3: ใช้วิธีการตรวจสอบที่เก็บไว้ในสมาร์ทคอนแทรคเพื่อเข้าถึงบัญชี Lit nodes ตรวจสอบคำขอและจะดำเนินการต่อไปหากมีการยืนยันจากโหนดมากกว่า 2/3

สรุป:

ด้วยความกระตือรือร้นใน Layer2, Layer3, และ โซลูชันความพร้อมในการใช้ข้อมูล เราสนใจที่จะปรับปรุงประสิทธิภาพของบล็อกเชน โดยมุ่งหวังที่จะพัฒนาความปลอดภัยจริง ๆ โดยรวม Zero Knowledge Proof Privacy กับลักษณะการเปิดเผยที่โปร่งใส ทุกความพยายามเน้นหมายเลขเดียว: เพื่อพร้อมสำหรับผู้ใช้จริงที่มีการกระทำกับบล็อกเชนอย่างถี่ถ้วนและนำสกุลเงินดิจิตอลเข้าสู่ชีวิตประจำวัน

มันง่ายที่จะตกอยู่ในฝันเทคโนโลยีที่ดีที่สุด แต่เราต้องถามตัวเอง: เราต้องการประสบการณ์แบบไหน? เรามองเห็นโลกที่คริปโตเป็นเรื่องสัมผัสมากกว่าคำศัพท์เทคนิคที่น่ากลัว ที่ผู้ใช้กระโดดเข้าไปในรู้ภูมิไร้ระบบโดยไม่ลังเล

สมมติว่ามีผู้ใช้ชื่อ รุย: เธอค้นพบ dApp ที่ยอดเยี่ยม ลงทะเบียนโดยใช้การรู้จำใบหน้าหรือลายนิ้วมือได้อย่างง่ายดาย พร้อมทางเลือกในการตั้งค่าการสำรองข้อมูลหรือผู้ปกครอง ขณะที่เธอมีส่วนร่วมกับ dApp เธอจะทำธุรกรรมได้อย่างราบรื่น บางทีอาจมีค่าธรรมเนียม ERC20 ขนาดเล็ก หรือบางทีอาจไม่มีเลย ภายหลังเธอก็ปรับแต่งการตั้งค่ากระเป๋าเงินของเธอ - บางทีเธอเปิดใช้การล็อคเวลาสำหรับธุรกรรมอัตโนมัติ เพิ่มอุปกรณ์อีกตัวเป็นผู้ลงนามสำรอง หรือปรับปรุงรายชื่อผู้ปกครองของเธอ

ผู้สร้างของเราทําให้สิ่งนั้นเกิดขึ้น การรวม WebAuthn และ Passkey เราปรับปรุงการจัดการคีย์ส่วนตัวทําให้ทั้งปลอดภัยและใช้งานง่าย นอกเหนือจากคีย์แล้ว SCA ในฐานะเอนทิตียังเปิดขอบเขตของความปลอดภัยและฟังก์ชันการทํางานส่วนบุคคล และสําหรับค่าน้ํามัน? พวกเขากลายเป็นภาระน้อยลงด้วยผู้ให้บริการ Paymaster ที่สามารถสร้าง 'ห้องนิรภัย' สําหรับการแลกเปลี่ยนหรือแม้แต่อนุญาตให้ผู้โฆษณาครอบคลุมค่าธรรมเนียมสําหรับผู้ใช้ หัวใจของวิวัฒนาการนี้โดยเฉพาะอย่างยิ่งสําหรับ Ethereum mainnet และ Layer2s ที่เทียบเท่ากันนั้น ERC4337 มันแนะนํา mempool ทางเลือกที่แยกธุรกรรม SCA ออกจาก EOAs โดยไม่ต้องยกเครื่องโปรโตคอลที่สําคัญ ในทางกลับกันเครือข่ายเลเยอร์ 2 บางเครือข่ายยังยอมรับ SCA โดยกําเนิดโดยรวมเข้ากับระบบของพวกเขาอย่างราบรื่น

ต้องใช้ความพยายามมากเพื่อทำให้ทุกอย่างง่ายขึ้น มีอุปสรรคหลายประการ เช่น ลดค่าใช้จ่ายในการติดตั้ง การตรวจสอบ และการดำเนินการสำหรับ SCA; มาตรฐานการให้บริการเพื่อเพิ่มความสามารถในการทำงานร่วมกันของบัญชี; การซิงค์สถานะบัญชีข้ามซีก; และอื่น ๆ ขอขอบคุณผู้สร้างทุกคน เรากำลังเข้าใกล้กับการแก้ปริศนาทุกวัน และผู้ลงทุนในด้านสกุลเงินดิจิทัลเช่นเรา - SevenX, พร้อมช่วยให้บริษัทที่ยอดเยี่ยมสามารถเข้าใจวิสัยทางธุรกิจของตน

ข้อความปฏิเสธความรับผิดชอบ:

  1. บทความนี้ถูกพิมพ์ใหม่จาก [ SevenX Ventures]. ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [@Rui]. หากมีข้อความท้าทานในการพิมพ์นี้ โปรดติดต่อGate เรียนทีม และพวกเขาจะจัดการกับมันโดยเร็ว
  2. คำปฏิเสธความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำใด ๆ เกี่ยวกับการลงทุน
  3. การแปลบทความเป็นภาษาอื่นๆ ทำโดยทีม Gate Learn ห้ามคัดลอก แจกจ่าย หรือลอกเลียนบทความที่ถูกแปล นอกจากที่ได้ระบุไว้
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!