Sirlari ombori
AiHummer har bir hisob ma’lumotlarini — kanal tokenlari, SMTP/IMAP parollari, OAuth tokenlari, har bir ijarachiga tegishli LLM kalitlari (BYOK) — saqlaydi shifrlangan sirlar ombori. Xavfsiz ombor qiymat bazadan yolgʻiz o‘qilmasligi uchun sumka shifrlashdan foydalanadi va u shunday qilib ishlab chiqilganki, sir hech qachon model konteksti yoki loglarga joylashtirilmagan.
Konvert shifrlash
Xavfsiz xona ikki darajali kalit ierarxiyasidan foydalanadi:
- A asosiy kalit (KEK) — sifatida taqdim etilgan
AIHUMMER_MASTER_KEY, base64-kodlangan 32-baytli qiymat — ma’lumot kalitlarini o‘rash va ochish uchun ishlatiladi. U hech qachon xostdan chiqmaydi va hech qachon ma’lumotlar bazasiga yozilmaydi. - A har bir ijarachiga mo‘ljallangan ma’lumotlarni shifrlash kaliti (DEK) haqiqiy sirli qiymatlarni shifrlaydi bilan AES-256-GCM (tasdiqlangan shifrlash). Har bir ijarachi o’zining DEKiga ega, shunday qilib, bir ijarachining kalitlari boshqa ijarachining sirlarini ocholmaydi.
Maxfiy qiymatlar shifrlangan matn sifatida saqlanadi; DEK KEK tomonidan o‘ralgan holda saqlanadi. Deshifrlash maxfiy qiymat kerak bo‘lgan paytda xotirada sodir bo‘ladi (masalan, ulanuvchi autentifikatsiya qilganda), va undan keyin ochiq matn tashlab yuboriladi.
AIHUMMER_MASTER_KEY (KEK) ──wraps──▶ per-tenant DEK ──AES-256-GCM──▶ secret value
[!NOTE] Kassa PostgreSQL ga tayanadi
pgcryptouzaytma. Uni ishonch hosil qiling maʼlumotlar bazangizda mavjud — bu standart tizim talablari tarkibiga kiradi.
Asosiy kalit
Asosiy kalit – bu boshlang‘ich qiymat: u ishga tushganda muhitdan o‘qiladi va emas admin UI orqali sozlanishi mumkin. O‘rnatuvchi (va birinchi ishga tushirishda gateway) har doim yaratadi AIHUMMER_MASTER_KEY — bu ixtiyoriy emas, chunki secrets-at-rest, credential vault va har-ijara BYOK bularning barchasi unga bog‘liq. Shuning uchun standart o‘rnatishda har doim bittasi bo‘ladi.
# /home/.aihummer/etc/gateway.env
# 32 random bytes, base64-encoded
AIHUMMER_MASTER_KEY=Base64Of32RandomBytes==
Uni quyidagicha yaratishingiz mumkin:
openssl rand -base64 32
[!WARNING] Quloq kalitini omborda hamma narsani shifrlashni yechish uchun talab qilinadi. Uni quyidagicha ko’ring siringning ildizi va uni alohida zaxiralang ma’lumotlar bazasidan — agar agar uni yo’qotsangiz, shifrlangan qiymatlarni tiklashning iloji yo’q. Ko’rish Operatsiyalar zaxira bo‘yicha yo‘l-yo‘riq uchun.
Agar bosh kalit yo‘q bo‘lsa
Chunki kalit har doim taqdim etiladi, standart o‘rnatishda har doim ishlaydigan kalit saqlovi mavjud bo‘ladi. Bu yerda xatti-harakatlar noodatiy holat uchun yopiq-himoya qilib qo‘yilgan. AIHUMMER_MASTER_KEY biror tarzda o‘rnatilmagan (masalan, qo‘l bilan tahrirlangan env fayli): xavfsizlik ombori va unga bog‘liq bo‘lgan hamma narsa nogiron — tinch holatdagi sir saqlash, credential ombori va har bir ijarachiga tegishli BYOK kalitlarining hammasi o‘chiq. Bu ataylab qilingan — mahsulot siri shunchaki ochiq matnda saqlashga qaytmaydi.
Sirlar hech qachon modelga yetib bormaydi
Bu omonat xonasining eng muhim xossasi bo‘lib, u siyosat eslatmasidan ko‘ra tuzilishga oiddir.
[!DANGER] Sirlardir hech qachon tizim so’roviga yuborilgan, suhbat tarix, yoki har qanday model-ko‘rinadigan matn, va ular hech qachon loglarga yozilgan. Kredential talab qiladigan vositalar uni chaqirish vaqtida, ichida xazinadan hal qiladi eshikni va uni foydalanib chiqish so‘rovini autentifikatsiya qil — faqat model har doim asbob chaqiruvining natijasini, sirini emas, ko’radi.
Chunki interaktivlik vosita chaqirish bilan boshqariladi (qarang Qo‘riq temirlari va tezkor-inyeksiya himoyasi), so’rov modeldan saqlangan sirni “o’qishni” so’rash uchun yo’l yo’q: modelda o’qish uchun nusxasi yo’q.
Umumiy va foydalanuvchi bo‘yicha ma’lumotlar
Saklama farqlanadi ulashilgan (ish joyi darajasidagi) sertifikatlar va shaxsiy (foydalanuvchi-bo‘yicha) autentifikatsiya ma’lumotlari. Connections oqimi orqali olingan foydalanuvchi-bo‘yicha OAuth2 tokenlari kripto omborda saqlanadi va amal qilayotgan foydalanuvchi tomonidan hal qilinadi, kerak bo‘lganda ishchi maydon (workspace) zaxirasi bilan. Bu bir xil vositaning turli foydalanuvchilar nomidan o‘zlarining ruxsati bilan harakat qilishiga imkon beradi, hech qachon bir foydalanuvchining tokenini boshqasiga oshkor qilmasdan.
Keyingi qayerga
- RBAC va cheklangan API kalitlari — kim o‘qishi yoki o‘zgartirishi mumkin vault bilan qo’llab-quvvatlangan konfiguratsiya.
- Qator darajasidagi xavfsizlik — ijarachiga xos ajratish gʻarni qoʻllab-quvvatlaydigan maʼlumotlar bazasi.
- Qo‘riq temirlari va tezkor-inyeksiya himoyasi — nima uchun model hech qachon sirni oshkor qilishga chala choralarga aldana olmaydi.