یوبیکی رو بذار کنار؛ لپتاپت یه توکن امنیتی داره!
خلاصهٔ کاملتر
توکنهای امنیتی مثل YubiKey یه ایده ساده و قدرتمند دارن: یه جفت کلید رمزنگاری داخل دستگاه ساخته میشه و کلید خصوصی هرگز از دستگاه خارج نمیشه. هر بار که نیاز به احراز هویت داری، دادهها به توکن فرستاده میشن تا همونجا امضا بشن — و این کار معمولاً نیاز به یه تعامل فیزیکی داره، مثل لمس دکمهای روی دستگاه. این یعنی حتی اگه کسی از راه دور به کامپیوترت دسترسی داشته باشه، بدون دخالت فیزیکی تو نمیتونه کاری بکنه.
نویسنده از توکن امنیتیاش برای چند کار اصلی استفاده میکنه: احراز هویت SSH، امضای کامیتهای گیت، و ورود بدون رمز عبور به سیستمهای لینوکسی از طریق PAM (یه لایه احراز هویت در لینوکس). برای SSH کافیه به جای ssh-keygen معمولی، دستور ssh-keygen -t ed25519-sk رو با توکن متصل اجرا کنی. فایل «کلید خصوصی» تولیدشده در واقع فقط یه اشارهگر به کلید داخل توکنه، نه خود کلید.
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAASgAAABpzay1zc2
gtZWQyNTUxOUBvcGVuc3NoLmNvbQAAACD9zOiJ55uYy6qviTz+RiSspJpLrau+pN3o6MZX
...
-----END OPENSSH PRIVATE KEY-----این فایل رو میشه بدون نگرانی عمومی کرد، چون بدون خود توکن فیزیکی هیچ ارزشی نداره.
برای امضای کامیتهای گیت هم میشه از همین کلید SSH استفاده کرد. با آپلود کلید عمومی در تنظیمات گیتفورج و فعال کردن git config --global commit.gpgsign true، هر کامیت بهصورت خودکار امضا میشه. البته یه نکته مهم: موقع ریبیس کردن تعداد زیادی کامیت، باید هر بار توکن رو لمس کنی که میتونه خستهکننده بشه.
یه مشکل اساسی توکنهای فیزیکی اینه که اگه گمشون کنی، کلید خصوصی برای همیشه از دست میره. به همین خاطر باید حداقل دو تا توکن بخری و هر دو رو در سرویسهات ثبت کنی. نویسنده اشاره میکنه که روش بکآپ با BIP 39 (لیست کلمات قابلخواندن انسانی که از دنیای کریپتو اومده) یه راهحل جایگزین هست، هرچند ریسکهای فیشینگ خودش رو داره.
نکته اصلی مطلب اینه که نویسنده بعد از سالها تازه متوجه شده لپتاپهای مدرن (از جمله مکبوک) یه Secure Enclave داخلی دارن که دقیقاً همین کار رو میکنه. حمل یوبیکی که از پورت USB-C آویزون باشه و هر لحظه ممکنه بیفته و پورت رو خراب کنه، دیگه ضرورتی نداره. هدف نویسنده اینه که همه کارهایی که با یوبیکی انجام میداده رو روی Secure Enclave لپتاپش پیاده کنه.
نکات کلیدی:
- توکن امنیتی کلید خصوصی رو داخل خودش نگه میداره و هرگز بیرون نمیفرسته
ssh-keygen -t ed25519-skکلیدی میسازه که به توکن فیزیکی گره خورده- امضای کامیتهای گیت با SSH key و توکن امنیتی ممکنه
- گم کردن توکن یعنی از دست دادن کلید؛ پس همیشه باید حداقل دو توکن داشته باشی
- لپتاپهای مدرن Secure Enclave داخلی دارن که میتونه جای یوبیکی رو بگیره




