Sirlər seyfi
AiHummer hər etibarnaməni — kanal tokenləri, SMTP/IMAP parolları, OAuth tokenləri, kiracı üzrə LLM açarları (BYOK) — şifrələnmiş sirlər seyfində saxlayır. Seyf zərf şifrələməsindən istifadə edir ki, istirahətdəki dəyər təkcə verilənlər bazasından oxuna bilməsin və o, sirrin heç vaxt model kontekstinə və ya loglara yerləşdirilməməsi üçün hazırlanıb.
Zərf şifrələməsi
Seyf iki səviyyəli açar iyerarxiyasından istifadə edir:
- Master açar (KEK) —
AIHUMMER_MASTER_KEYkimi təqdim olunur, base64 ilə kodlanmış 32 baytlıq dəyər — məlumat açarlarını büküb açır. O, heç vaxt hostu tərk etmir və heç vaxt verilənlər bazasına yazılmır. - Kiracı üzrə məlumat şifrələmə açarı (DEK) faktiki sir dəyərlərini AES-256-GCM (autentifikasiya olunmuş şifrələmə) ilə şifrələyir. Hər kiracının öz DEK-i var, ona görə də bir kiracının açarları başqa kiracının sirlərini şifrəaça bilməz.
Sir dəyərləri şifrmətn kimi saxlanılır; DEK KEK ilə bükülmüş şəkildə saxlanılır. Şifrəaçma sirə ehtiyac duyulan anda (məsələn, konnektor autentifikasiya etdikdə) yaddaşda baş verir və açıq mətn sonradan atılır.
AIHUMMER_MASTER_KEY (KEK) ──wraps──▶ per-tenant DEK ──AES-256-GCM──▶ secret value
[!NOTE] Seyf PostgreSQL-in
pgcryptogenişlənməsinə əsaslanır. Onun verilənlər bazanızda mövcud olduğundan əmin olun — o, standart sistem tələblərinin bir hissəsidir.
Master açar
Master açar bootstrap dəyəridir: o, başlanğıcda mühitdən oxunur və admin UI-dən konfiqurasiya edilə bilməz.
# /home/.aihummer/etc/gateway.env
# 32 random bytes, base64-encoded
AIHUMMER_MASTER_KEY=Base64Of32RandomBytes==
Birini bununla yarada bilərsiniz:
openssl rand -base64 32
[!WARNING] Master açar seyfdəki hər şeyi şifrəaçmaq üçün tələb olunur. Ona sirlərinizin kökü kimi yanaşın və onu verilənlər bazasından ayrıca ehtiyat nüsxələyin — əgər onu itirsəniz, şifrələnmiş dəyərlər bərpa edilə bilməz. Ehtiyat nüsxə üzrə təlimat üçün Əməliyyatlar bölməsinə baxın.
Master açar olmadan
AIHUMMER_MASTER_KEY təyin edilməyibsə, seyf və ondan asılı olan hər şey
söndürülür: istirahətdə-sirlər saxlanması, etibarnamə seyfi və kiracı üzrə
BYOK açarları hamısı söndürülür. Bu, qəsdən təhlükəsiz-bağlanma davranışıdır —
məhsul sirləri açıq mətndə saxlamağa gizlicə geri qayıtmır.
Sirlər heç vaxt modelə çatmır
Bu, seyfin ən vacib xüsusiyyətidir və o, siyasət xatırlatması deyil, strukturaldır.
[!DANGER] Sirlər sistem promptuna, söhbət tarixçəsinə və ya hər hansı model-görünən mətnə heç vaxt inyeksiya edilmir və loglara heç vaxt yazılmır. Etibarnaməyə ehtiyacı olan alətlər onu çağırış zamanı, gateway-in içində seyfdən həll edir və gedən sorğunu autentifikasiya etmək üçün istifadə edir — model yalnız alət çağırışının nəticəsini görür, sirri yox.
İnteraktivlik alət çağırışı ilə idarə olunduğu üçün (bax Mühafizələr və prompt inyeksiyasına qarşı müdafiə), promptun modeldən saxlanmış sirri “oxumasını” istəyə biləcəyi heç bir yol yoxdur: modelin oxumaq üçün onun surəti yoxdur.
Paylaşılan və istifadəçi üzrə etibarnamələr
Seyf paylaşılan (iş sahəsi səviyyəli) etibarnamələrlə şəxsi (istifadəçi üzrə) etibarnamələri ayırır. Connections axını vasitəsilə əldə edilən istifadəçi üzrə OAuth2 tokenləri seyfdə saxlanılır və hərəkət edən istifadəçi tərəfindən, uyğun olan yerdə iş sahəsi ehtiyat variantı ilə həll olunur. Bu, eyni alətə fərqli istifadəçilərin adından öz avtorizasiyaları ilə hərəkət etməyə imkan verir, heç vaxt bir istifadəçinin tokenini başqasına ifşa etmədən.
Sonra hara
- RBAC və əhatəli API açarları — seyf-dəstəkli konfiqurasiyanı kimin oxuya və ya dəyişdirə biləcəyi.
- Sətir Səviyyəli Təhlükəsizlik — seyfi dəstəkləyən verilənlər bazasında kiracı üzrə izolyasiya.
- Mühafizələr və prompt inyeksiyasına qarşı müdafiə — modelin niyə heç vaxt sirri buraxmağa aldadıla bilməyəcəyi.