เมื่อเริ่มใช้ Tink เป็นครั้งแรก คุณควรทำความเข้าใจแนวคิดหลักบางอย่าง ก่อนที่จะเริ่มเส้นทางของคุณ ซึ่งจะอธิบายไว้ใน ส่วนต่อไปนี้
แบบพื้นฐาน
Tink ใช้Primitive เป็นบล็อกสร้างการเข้ารหัสที่จัดการอัลกอริทึมพื้นฐานเพื่อให้ผู้ใช้สามารถทำงานด้านการเข้ารหัสได้อย่างปลอดภัย A Primitive จะกำหนดรายละเอียดของอัลกอริทึมการเข้ารหัสและประเภทคีย์
- ดูภาพรวมของ Primitive ที่รองรับและกรณีการใช้งานได้ที่เลือก Primitive
ดูข้อมูลความเข้ากันได้ได้ที่Primitive ที่รองรับตามภาษา
ดูข้อมูลพื้นฐานโดยละเอียดได้ที่การออกแบบดั้งเดิม
ประเภทคีย์
ประเภทคีย์จะใช้ค่าดั้งเดิมที่เฉพาะเจาะจง Primitive ส่วนใหญ่มีคีย์ หลายประเภทให้เลือกตามข้อกำหนดด้านความปลอดภัย รันไทม์ และ พื้นที่ เช่น AES128_GCM เป็น AEAD ที่รวดเร็วและ มีประสิทธิภาพสำหรับความต้องการส่วนใหญ่ ดูข้อมูลเพิ่มเติมได้ที่ประเภทคีย์ที่รองรับตามภาษา
ชุดคีย์และแฮนเดิลชุดคีย์
Tink ใช้ชุดคีย์ในการจัดการคีย์ ชุดคีย์คือชุดของคีย์ที่ช่วยอำนวยความสะดวกในการหมุนเวียนคีย์ คุณสมบัติที่ควรทราบของชุดคีย์มีดังนี้
- คีย์แต่ละรายการในชุดคีย์จะมีรหัสที่ไม่ซ้ำกัน ซึ่งจะไม่ซ้ำกันภายในชุดคีย์ โดยปกติแล้ว ระบบจะเพิ่มรหัสนี้เป็นคำนำหน้าของข้อความที่เข้ารหัส ลายเซ็น หรือแท็กแต่ละรายการที่สร้างขึ้นเพื่อระบุว่าใช้คีย์ใด (ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ Tink ติดแท็กข้อความที่เข้ารหัส)
- ในชุดคีย์จะมีคีย์ที่เป็นคีย์หลักได้ครั้งละ 1 รายการเท่านั้น คีย์หลักในชุดคีย์ คือคีย์ที่ "ใช้งาน" อยู่ในขณะนั้น
- คีย์ทั้งหมดในชุดคีย์ต้องเป็นการใช้งานค่าดั้งเดิมเดียวกัน (เช่น AEAD) แต่สามารถมีประเภทคีย์ที่แตกต่างกันได้ (เช่น คีย์ AES-GCM และ XCHACHA20-POLY1305)
การติดตั้งใช้งาน Tink แต่ละครั้งจะมี API สำหรับสร้างหรือแก้ไขชุดคีย์ อย่างไรก็ตาม เราขอแนะนำให้ใช้ Tinkey ซึ่งเป็นเครื่องมือ CLI ของเรา
ผู้ใช้จะดำเนินการกับชุดคีย์โดยใช้แฮนเดิลชุดคีย์ แฮนเดิลชุดคีย์จะจำกัดการเปิดเผยเนื้อหาคีย์จริงที่ละเอียดอ่อน นอกจากนี้ยังแยกชุดคีย์
เพื่อให้ผู้ใช้ได้รับ Primitive ที่ "ห่อหุ้ม" ชุดคีย์ทั้งหมด ตัวอย่างเช่น คุณสามารถรับ Primitive AEAD ของชุดคีย์ที่มีคีย์ N ได้ จากนั้นการเข้ารหัสและ
การถอดรหัสด้วย Primitive ที่ได้รับจะใช้คีย์หลักในชุดคีย์
ดูข้อมูลเพิ่มเติมได้ที่การออกแบบชุดคีย์