OTPClient
ซอฟต์แวร์ GTK+ ที่มีความปลอดภัยสูงและใช้งานง่ายสำหรับการตรวจสอบสิทธิ์แบบสองปัจจัย ซึ่งรองรับทั้งรหัสผ่านแบบใช้ครั้งเดียวตามเวลา (TOTP) และรหัสผ่านแบบใช้ครั้งเดียวแบบ HMAC (HOTP)
ความต้องการ
ชื่อ | เวอร์ชั่นมิน |
---|
จีทีเค+ | 3.24 |
กะล่อน | 2.68.0 |
แจนสัน | 2.12 |
libgcrypt.php | 1.10.1 |
libpng | 1.6.30 |
libcotp | 3.0.0 |
ซบาร์ | 0.20 |
โปรโตบุฟ-ซี | 1.3.0 |
โปรโตบุฟ | 3.6.0 |
อุ๊ย | 2.34 |
libsecret | 0.20 |
คิวเรนโค้ด | 4.0.2 |
โปรดทราบว่าค่า memlock ควรเป็น >= 64 MB
ค่าใดๆ ที่น้อยกว่านี้อาจทำให้เกิดปัญหาเมื่อต้องจัดการกับโทเค็นหลายสิบรายการ (โดยเฉพาะเมื่อนำเข้าจากการสำรองข้อมูลของบุคคลที่สาม) ดูส่วนวิกินี้สำหรับข้อมูลเกี่ยวกับวิธีการตรวจสอบค่าปัจจุบันและตั้งค่าให้สูงขึ้น หากจำเป็น
คุณสมบัติ
- บูรณาการกับผู้ให้บริการความลับของระบบปฏิบัติการผ่าน libsecret
- รองรับทั้ง TOTP และ HOTP
- รองรับการตั้งค่าตัวเลขที่กำหนดเอง (รวมระหว่าง 4 ถึง 10)
- รองรับการกำหนดช่วงเวลาเอง (รวมระหว่าง 10 ถึง 120 วินาที)
- รองรับอัลกอริธึม SHA1, SHA256 และ SHA512
- รองรับรหัส Steam (โปรดอ่านหน้านี้)
- นำเข้าและส่งออกการสำรองข้อมูลที่เข้ารหัส/ธรรมดาและ OTP
- นำเข้าและส่งออกการสำรองข้อมูล Aegis ที่เข้ารหัส / ธรรมดา
- นำเข้าและส่งออกข้อมูลสำรอง FreeOTPPlus ธรรมดา (รูปแบบ URI คีย์เท่านั้น)
- นำเข้าและส่งออกการสำรองข้อมูล AuthenticatorPro ที่เข้ารหัส / ธรรมดา
- นำเข้าและส่งออกข้อมูลสำรอง 2FAS ที่เข้ารหัส/ธรรมดา
- การนำเข้ารหัส QR การย้ายข้อมูลของ Google
- ฐานข้อมูลท้องถิ่นถูกเข้ารหัสโดยใช้ AES256-GCM
- คีย์ได้รับมาโดยใช้ Argon2id พร้อมพารามิเตอร์เริ่มต้นต่อไปนี้: การวนซ้ำ 4 ครั้ง, ราคาหน่วยความจำ 128 MiB, ความขนาน 4 ครั้ง, 32 แท็กเลน ผู้ใช้สามารถเปลี่ยนแปลงพารามิเตอร์สามตัวแรกได้
- ไฟล์ที่ถอดรหัสจะไม่ถูกบันทึก (และหวังว่าจะไม่มีการสลับ) ลงดิสก์ ขณะที่แอปกำลังทำงาน เนื้อหาที่ถอดรหัสแล้วจะอยู่ในบัฟเฟอร์ "หน่วยความจำที่ปลอดภัย" ที่ Gcrypt จัดสรรไว้
การทดสอบ
- ก่อนการเผยแพร่แต่ละครั้ง ฉันเรียกใช้ PVS Studio และ Coverity เพื่อตรวจจับจุดบกพร่องมากยิ่งขึ้น
- ด้วยความมุ่งมั่นในการควบคุมทุกครั้ง OTPClient จะถูกคอมไพล์ใน CircleCI เทียบกับ distros ที่แตกต่างกัน
โปรโตบุฟ
ไฟล์ protobuf ที่จำเป็นในการถอดรหัสรหัส otpauth-migration qr ของ Google ถูกสร้างขึ้นด้วย protoc --c_out=src/ proto/google-migration.proto
วิกิ
สำหรับสิ่งต่างๆ เช่น แผนการทำงาน ภาพหน้าจอ วิธีใช้ OTPClient ฯลฯ โปรดดูที่วิกิของโครงการ คุณจะพบข้อมูลที่เป็นประโยชน์มากมายที่นั่น
การติดตั้งด้วยตนเอง
หาก OTPClient ไม่ได้รับการจัดทำแพ็คเกจสำหรับ distro ของคุณ (ตรวจสอบที่นี่) และ distro ของคุณไม่รองรับ Flatpak คุณจะต้องคอมไพล์และติดตั้ง OTPClient ด้วยตนเอง
- ติดตั้งไลบรารีที่จำเป็นทั้งหมดตามรายการข้อกำหนด
- โคลนและติดตั้ง OTPClient:
git clone https://github.com/paolostivanin/OTPClient.git
cd OTPClient
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make
sudo make install
ใบอนุญาต
ซอฟต์แวร์นี้เผยแพร่ภายใต้ลิขสิทธิ์ GPLv3 โปรดดูไฟล์ LICENSE เพื่อดูรายละเอียดเพิ่มเติม
ไอดี
พัฒนาโดยใช้ JetBrains CLion