Verifiable Credential เอกสารไม่ใช่กระดาษอีกต่อไป
สวัสดีครับ พบกันอีกครั้งกับเรื่องราวเกี่ยวกับ Blockchain ก่อนจะเข้าเนื้อหา อยากให้ลองอ่านบทความที่ผมได้เขียนก่อนหน้านี้ที่พูดถึงแนวคิดการมอบอำนาจแก่เจ้าของข้อมูลที่แท้จริง ให้ทุกคนสามารถเก็บข้อมูลของตัวเองด้วยตัวเอง และสามารถเลือกใช้งานได้อย่างอิสระ ในหัวข้อ รู้จักกับแนวคิด Self Sovereign Identity ที่มีเบื้องหลังเป็น Blockchain ได้เลยครับ
ในบทความนี้ เราจะมาทำความรู้จักกับ Verifiable Credential และแนวคิดที่เกี่ยวข้อง โดยทั้งหมดนี้จะสามารถทำให้โลกแห่งเอกสารกระดาษเปลี่ยนไปขนาดไหน? มีการทำงานอย่างไร? แล้วจะกระทบกับชีวิตประจำวันของพวกเราขนาดไหน? ไปดูกันเลยครับ
ปัญหาของการใช้งานเอกสารรูปแบบกระดาษ
เอกสารที่เราใช้ทำธุรกรรมต่างๆ ในชีวิตประจำวันนั้นถือเป็นเอกสารสำคัญที่สามารถบ่งบอกตัวตนของเจ้าของได้ (Credential) ส่วนมากจะอยู่ในรูปแบบของบัตรประจำตัวหรือแผ่นกระดาษที่ออกโดยราชการหรือไม่ก็เอกชน และประกอบไปด้วยข้อมูลสำคัญมากมาย ไม่ว่าจะเป็นข้อมูลส่วนบุคคล หน่วยงานที่ออกเอกสาร วันหมดอายุ และส่วนที่ระบุว่าเป็นข้อมูลจำพวกใด เช่น บัตรประจำตัวประชาชน ใบขับขี่ หนังสือทางราชการ หนังสือเงินกู้ โฉนดที่ดิน และอื่นๆ หากจะนำเอกสารเหล่านี้ไปใช้งานในระบบดิจิทัลก็ดูจะยุ่งยาก ทั้งยังติดตามได้ยาก และเสี่ยงกับการถูกปลอมแปลงโดยง่ายอีก
อย่างไรก็ตาม การจะนำเอกสารสำคัญเหล่านี้ไปใช้งานในปัจจุบันก็เห็นจะไม่ค่อยปลอดภัยเท่าไหร่นัก ผมขอลองยกตัวอย่างสักอันหนึ่งนะครับ การจะทำธุรกรรมใดๆ ก็ตามมักจะเริ่มต้นด้วยการที่เจ้าหน้าที่ขอบัตรประชาชนไปถ่ายเอกสาร จากนั้นก็นำสำเนามาให้เราลงลายเซ็นพร้อมเขียนกำกับว่าสำเนาถูกต้อง ถือเป็นเรื่องปกติใช่มั้ยครับ แต่ถ้าเกิดมีผู้ไม่หวังดีนำเอกสารไปใช้เพื่อการอื่นล่ะ? คนๆ นั้นก็จะสามารถสวมรอยเป็นเจ้าของเอกสารเพื่อทำธุรกรรมอื่นๆ ได้เลยทันที ตามที่ทุกคนได้เห็นในข่าวกันอยู่บ่อยๆ น่ากลัวใช่มั้ยล่ะครับ
ทั้งนี้ถ้าเราเลือกที่จะไม่ใช้เอกสารสำคัญหรือบัตรประจำตัว แต่ใช้โทรศัพท์มือถือในการพิสูจน์ข้อมูลส่วนตัวแทนล่ะ? เช่น ในกรณีที่ต้องการตรวจสอบอายุผู้เข้าใช้บริการของสถานที่หนึ่ง เราก็สามารถหยิบโทรศัพท์มือถือขึ้นมาแสดงบัตรประจำตัวประชาชน ไม่ต้องพบบัตรให้ยุ่งยาก ถ้าหากทำเช่นนี้ได้จริง ก็จะเพิ่มความสะดวกสบายให้กับทั้งผู้ใช้งานและผู้ให้บริการได้มากทีเดียว
Verifiable Credential คืออะไร
Verifiable Credential (VC) เป็นชื่อเรียกของ Credential ที่เหมือนกับเอกสารในรูปแบบของเอกสารกระดาษ เพียงแต่ถูกนำเข้าสู่ระบบดิจิทัล โดยจะถูกลงลายเซ็นไว้ด้วย Digital Signature (ลายเซ็นดิจิทัล) ที่ถูกสร้างขึ้นมาจากกระบวนการทาง Cryptographic และจะถูกตรวจสอบด้วยกระบวนการเดียวกัน ทำให้มีความน่าเชื่อถือและไม่สามารถถูกแก้ไขได้โดยง่ายเหมือนกับเอกสารกระดาษ
การสร้าง Verifiable Credential จะต้องมีการกำหนดรูปแบบของเอกสาร (Verifiable Credential Schema) ว่าจะให้มีข้อมูลอะไรบ้าง ซึ่งสามารถกำหนดรูปแบบได้ตามที่ต้องการ ทำให้ Verifiable Credential สามารถรองรับรูปแบบเอกสารได้แทบจะทุกชนิดบนโลก ภายในจะประกอบไปด้วยหัวข้อต่างๆ (Subject) เช่น ชื่อ นามสกุล ที่อยู่ หรือข้อมูลอื่นๆ ที่เรียกว่า ข้อเรียกร้อง (Claim) เพื่อนำไปใช้สำหรับอ้างอิงในการทำธุรกรรมต่างๆ ซึ่งข้อมูลเหล่านี้จะถูกออกโดยผู้ออกเอกสาร (Issuer) และนำไปใช้สร้าง Verifiable Presentation (VP) ที่จะเป็นการนำ Verifiable Credential มาใช้อีกทีหนึ่ง สามารถตรวจสอบความพร้อมในการใช้งานและความถูกต้องด้วยกระบวนการทาง Cryptographic ที่เรียกว่า Zero-Knowledge Proof
Verifiable Credentials Data Model กับการใช้งาน
สำหรับการใช้งานนั้น ผมอยากให้ดูแผนภาพ Verifiable Credentials Data Model นี้ประกอบกับตัวอย่างที่ผมจะยกมาเล่าให้ฟัง นั่นคือในกรณีของการสมัครงานบริษัทครับ รูปด้านบนนี้แสดงให้เห็นถึงการทำงานของ Verifiable Credential และแนวคิดที่เกี่ยวข้อง รวมถึงผู้เกี่ยวข้องในแต่ละขั้นตอน ซึ่งจะแบ่งออกเป็น 2 ขั้นตอน คือ
การสร้างเอกสาร (Issue Credential)
เอกสารที่จำเป็นต้องมีในการสมัครงาน คือ Transcript ซึ่งผู้ถือเอกสาร (Holder) จำเป็นต้องไปขอเอกสารนี้จากทางมหาวิทยาลัย ในที่นี้คือผู้ออกเอกสาร (Issuer)
ก่อนหน้าที่จะมีเอกสารประเภท Transcript ก็ต้องลงทะเบียน Identifier เพื่อระบุตัวตนบนระบบ ซึ่งอาจจะเป็น Public Key ที่ถูกสร้างด้วยวิธีการของระบบนั้นๆ รวมถึงสร้างรูปแบบของเอกสาร (ทำโดย Issuer) ทั้งสองอย่างนี้จะต้องส่งขึ้นไปเก็บบน Verifiable Data Registry หรือตัวกลางในการเก็บข้อมูลที่ทุกคนภายในระบบควรรู้ เช่น Identifier และ Verifiable Credential Schema (รูปแบบเอกสาร) จริงๆ แล้วแนวคิดนี้ไม่ได้กำหนดว่าต้องใช้ระบบเก็บข้อมูลแบบไหน แต่ในที่นี้ผมขอยกตัวอย่างเป็น Blockchain นะครับเพื่อให้สัมพันธ์กับเนื้อหาก่อนหน้านี้
หลังจากที่มี Identifier และ Verifiable Credential Schema แล้ว Issuer ก็จะสามารถออกเอกสารให้กับ Holder ได้ทันที โดย Holder อาจจะเข้าไปดูชนิดของเอกสารที่จะขอจาก Issuer เอง หรือดูผ่าน Blockchain ที่เป็นรูปแบบก็ได้ จากนั้นก็จะยื่นเรื่องขอเอกสาร Transcript ที่ลงลายเซ็นดิจิทัลของมหาวิทยาลัย โดย Verifiable Credential จะเก็บไว้ที่ Holder เพียงผู้เดียว
การยื่นเอกสาร (Send Presentation)
เมื่อจะมีการนำ Transcript ไปใช้ในการสมัครงาน ผู้ตรวจสอบ (Verifier) ต้องร้องขอเอกสารที่จำเป็นต้องใช้จาก Holder ซึ่งจากตัวอย่างก็คือ Transcript นั่นเอง (ของจริงอาจจะขอมากกว่านี้นะครับ) เอกสารก็จะถูกนำมาสร้างใหม่เป็นใบสมัครงาน โดยในการสร้างเอกสารใหม่นั้นอาจจะขอแค่ข้อมูลแค่บางส่วนของ Transcript (ใช้วิธีการ Selective Disclosure) หรือข้อมูลทั้งหมดก็ได้ ทั้งนี้ขึ้นอยู่กับบริษัทปลายทางที่ขอว่าจะนำไปใช้งานอย่างไร
โดย Verifiable Credential จะถูกเลือกตามรูปแบบที่ Verifier กำหนดไว้ เพื่อนำมาใช้งานและสร้างใหม่เป็น Verifiable Presentation เป็นเอกสารในรูปแบบที่ Verifier ต้องการ ข้อมูลทั้งหมดจะไม่มีการถูกแก้ไขใดๆ
เมื่อสร้าง Verifiable Presentation สำเร็จแล้ว Holder จะส่งไปยัง Verifier เพื่อให้ Verifier ตรวจสอบความถูกต้อง ทั้งในเชิง Cryptographic และเชิง Business ในส่วนของเนื้อหา นอกจากนี้ Verifier จะดูว่าเอกสารนั้นๆยังสามารถใช้งาน (Non Revoked) ผ่านทาง Blockchain และยังไม่หมดอายุได้อีกด้วย เมื่อผ่านการตรวจสอบแล้ว Verifier จะนำไปใช้ทำอะไรต่อก็ขึ้นอยู่กับกระบวนการขั้นถัดไปของบริษัท
สรุป
จากบทความนี้ทุกคนคงจะเข้าใจมากขึ้นเกี่ยวกับ Verifiable Credential ไปจนถึง Verifiable Presentation ภายใต้ Verifiable Credentials Data Model ผมหวังเป็นอย่างยิ่งว่าแนวคิดนี้ เมื่อนำไปรวมกับเทคโนโลยีใหม่แล้ว จะสามารถตอบโจทย์การใช้งานให้ชีวิตของทุกคนสะดวกสบายมากยิ่งขึ้น
สิ่งที่กล่าวมานี้เป็นการเสริมในเรื่องของความเป็นส่วนตัว (Privacy) เพื่อให้ผู้ใช้งานทุกคนมีความเป็นส่วนตัวมากขึ้น มีสิทธิ์ขาดในการควบคุมข้อมูลของตัวเอง เพราะ Privacy เป็นเรื่องที่ทุกคนจะต้องใส่ใจ ในโลกปัจจุบันนี้มีทั้งคนดีและคนไม่ดีอยู่ร่วมกัน ไม่มีใครรู้หรอกว่ามีใครจ้องจะหาผลประโยชน์จากข้อมูลของเราหรือไม่
ทั้งนี้หากเราจะนำแนวคิดนี้ไปใช้งานในด้านต่างๆ ไม่ว่าจะเป็นด้านการแพทย์ การเงิน การเกษตร หรือด้านอื่นๆ เราจำเป็นต้องเข้าใจในตัวธุรกิจนั้นๆ ก่อน แล้วจึงเริ่มออกแบบ รวมถึงทดลองประยุกต์ใช้ เพื่อที่เราจะสามารถเชื่อมั่นได้ว่าเทคโนโลนีที่เราสร้างขึ้นสามารถตอบโจทย์ตรงจุดจริงๆ
สุดท้ายนี้เนื่องจากบทความนี้ประกอบไปด้วยคำศัพท์เทคนิคมากมาย อาจจะไม่ได้อธิบายความหมายมากนักนะครับ ไม่ว่าจะเป็น
- Cryptographic: วิทยาการเข้ารหัสลับ
- Digital Signature: ลายมือชื่อดิจิทัล
- Zero-knowledge Proof: การพิสูจน์โดยปราศจากความรู้
- Selective Disclosure: การเลือกบางส่วนของข้อมูล
ศัพท์เทคนิคเหล่านี้อาจจะเป็นคำศัพท์ที่ไม่คุ้นเคย ถ้าหากใครสนใจอาจจะนำคำเหล่านี้ไปค้นคว้าศึกษาเพิ่มเติม หรือถ้าผมมีโอกาสจะนำมาทำเป็นบทความแยกให้อ่านกันนะครับ สำหรับบทความในครั้งหน้าจะเป็นเรื่องเกี่ยวกับอะไร ฝากให้ทุกคนติดตามผมในบทความต่อๆ ไปด้วยนะครับ น่าสนใจแน่นอน ^^
สำหรับผู้สนใจอ่านเพิ่มเติม
ถ้าอยากเข้าใจวิธีการใช้งาน Verifiable Credential และ Verifiable Credential Data Model เพิ่มเติม ลองอ่านข้อมูลนี้ดูครับ
แนวทางการสร้างระบบ Verifiable Credentials รวมถึง Format ของส่วนต่างๆในรูปแบบของ JWT, LD อีกด้วย
ถ้าสนใจในเรื่องของแนวคิด Self-Sovereign Identity กับ Verifiable Credential ในอีกมุมมอง แนะนำลิงก์นี้เลย
หากอยากรู้วิธีการใช้งาน หรือ Use Cases ต่างๆ ถ้าสนใจ อยากแนะนำให้เข้าไปอ่านครับ
สำหรับชาวเทคคนไหนที่สนใจเรื่องราวดีๆแบบนี้ หรืออยากเรียนรู้เกี่ยวกับ Product ใหม่ๆ ของ KBTG สามารถติดตามรายละเอียดกันได้ที่เว็บไซต์ www.kbtg.tech