เพื่อให้อุปกรณ์ Android ทั้งหมดในอนาคตสามารถทำ Disk Encryption และ File Encryption ได้ทั้งหมดโดยไม่ติดปัญหาคอขวดทางด้านประสิทธิภาพของหน่วยประมวลผลและไม่ต้องใช้ Hardware เร่งการเข้ารหัสโดยเฉพาะ ทาง Google จึงได้ทำการพัฒนา Adiantum และเปิดตัวออกมาในครั้งนี้
ในปัจจุบันนี้ Android ยังทำ Storage Encryption ด้วยการใช้ Advanced Encryption Standard (AES) ซึ่งสามารถเร่งการเข้ารหัสข้อมูลได้ด้วยการใช้ ARMv8 Cryptography Extension แต่อุปกรณ์จำนวนมากก็ไม่ได้มี Hardware ในส่วนนี้ รวมถึงอุปกรณ์อย่าง Android Go, Smart Watch หรือ Smart TV เองก็ไม่มี Hardware เพื่อเร่งการเข้ารหัสนี้เช่นกัน
ในการเข้ารหัสของ HTTPS นั้น ปัญหาเรื่องประสิทธิภาพการเข้ารหัสข้อมูลได้ถูกแก้ไขด้วยการใช้ ChaCha20 Stream Cipher ซึ่งมีความเร็วสูงกว่า AES เป็นอย่างมากในการใช้ CPU ทั่วไปเพื่อประมวลผล ทำให้ Google เลือกที่จะใช้ ChaCha20-Poly1305 สำหรับ HTTPS
อย่างไรก็ดี เมื่อกลับมามองเรื่องการเข้ารหัสข้อมูลที่จัดเก็บบน Storage นั้น สิ่งทีต้องคำนึงถึงก็คือการเข้ารหัสนั้นจะต้องอาศัยพื้นที่เล็กน้อยเพิ่มเติมเพื่อเก็บ Nonce และข้อมูลสำหรับตรวจสอบ Integrity ซึ่งประเด็นนี้เองที่จะสร้างปัญหาให้กับระบบ Filesystem ที่จะต้องถูกออกแบบอย่างซับซ้อนยิ่งขึ้น และใช้พื้นที่จัดเก็บข้อมูลได้มีประสิทธิภาพน้อยลง อีกทั้ง AES เองก็ยังกินประสิทธิภาพสูงหากประมวลผลด้วย CPU ทั่วไป
Adiantum ได้ถูกออกแบบมาให้เป็น Encryption Mode ใหม่บน Android โดยใช้ ChaCha Stream Cipher แบบ Length-Preserving Mode ทำให้สามารถทำการเข้ารหัสได้อย่างมีประสิทธิภาพสูงบน CPU ทั่วๆ ไป ซึ่งทาง Google ก็ระบุว่าเมื่อทดสอบบน ARM Cortex-A7 แล้ว Adiantum สามารถทำการเข้ารหัสและถอดรหัสข้อมูลของ Sector ขนาด 4096-byte ได้ด้วยความเร็วสูงกว่าการใช้ AES-256-XTS ประมาณ 5 เท่าเลยทีเดียว
ผู้ที่สนใจรายละเอียดเพิ่มเติมเกี่ยวกับ Adiantum สามารถศึกษาข้อมูลได้ที่ https://source.android.com/security/encryption/adiantum ครับ
ที่มา: https://security.googleblog.com/2019/02/introducing-adiantum-encryption-for.html