Құпиялар қоры
AiHummer барлық тіркелгі деректерін — арна токендерін, SMTP/IMAP парольдерін, OAuth токендерін, әр-тенанттың LLM кілттерін (BYOK) — сақтайды шифрланған құпиялар қоймасы. Қуыс деректер қорынан бөлек ешқашан оқылмайтындай, ораулы шифрлау (envelope encryption) қолданады және құпия дерек осылай өңделетіндей жобаланған модель контекстіне немесе журналдарға ешқашан енгізілмеген.
Конвертті шифрлау
Ваулт екі деңгейлі кілт иерархиясын пайдаланады:
- А негізгі кілт (KEK) — қамтамасыз етілген ретінде
AIHUMMER_MASTER_KEY, base64-кодталған 32-байттық мән — деректер кілттерін орап және орауын шешеді. Ол ешқашан хосттан шықпайды және мәліметтер қорына ешқашан жазылмайды. - А әр-тұрғынға арналған деректерді шифрлау кілті (DEK) нақты құпия мәндерді шифрлайды пен AES-256-GCM (аутентификацияланған шифрлау). Әрбір тұрғынның өзінің DEK бар, сондықтан бір тұрғынның кілттері басқа тұрғынның құпияларын аша алмайды.
Құпия мәндер шифр мәтіні ретінде сақталады; DEK KEK арқылы оралып сақталады. Шифрді ашу құпиялылық қажет болған сәтте жадыда жүзеге асады (мысалы, қосқыш аутентификация жасағанда), және кейіннен ашық мәтін жойылады.
AIHUMMER_MASTER_KEY (KEK) ──wraps──▶ per-tenant DEK ──AES-256-GCM──▶ secret value
[!NOTE] Ваулт PostgreSQL-ге сүйенеді
pgcryptoкеңейту. Оның бар екеніне көз жеткізіңіз сіздің дерекқорыңызда қол жетімді — бұл стандартты жүйелік талаптардың бір бөлігі.
Басты кілт
Мастер кілт — бұл бастапқы баға: ол іске қосу кезінде ортадан оқылады және емес әкімші UI-дан баптауға болады. Орнатушы (және бастапқы іске қосылғанда шлюз) әрқашан жасайды AIHUMMER_MASTER_KEY — бұл міндетті, өйткені тыныштықтағы құпиялар, куәлік қоры және әр-тұтынушыға арналған BYOK соның үстіне тәуелді. Сондықтан стандартты орнату әрқашан біреуін қамтиды.
# /home/.aihummer/etc/gateway.env
# 32 random bytes, base64-encoded
AIHUMMER_MASTER_KEY=Base64Of32RandomBytes==
Оны мынаны қолданып жасауға болады:
openssl rand -base64 32
[!WARNING] Барлық мәліметтерді сейфте ашу үшін басты кілт қажет. Онымен мұқият қараңыз құпияларыңның тамыры және оны бөлек сақта деректер қорынан — егер сіз оны жоғалтсаңыз, шифрланған мәндерді қалпына келтіру мүмкін емес. Қараңыз Операциялар сақтық көшірме нұсқаулығы үшін.
Егер басты кілт жоғалса
Түйме әрқашан қамтамасыз етілгендіктен, стандартты орнату әрқашан жұмыс істейтін сейфке ие болады. Мұндағы мінез-құлық - бұл ерекше жағдайларда жабық күйде қалады AIHUMMER_MASTER_KEY біртүрлі түрде орнатылмаған (мысалы, қолмен өңделген env файлы): тізім және оған тәуелді бәрі мүгедек — сақталған құпиялар үшін сақтау, тіркелгі қорабы және әр-тұтынушыға арналған BYOK кілттері толығымен өшірілген. Бұл қасақана жасалған — өнім құпияларды ашық мәтінде сақтау режиміне үндемей оралмайды.
Құпиялықтар ешқашан модельге жетпейді
Бұл сейфтің ең маңызды қасиеті, және ол саясаттық ескерту емес, құрылымдық қасиет болып табылады.
[!DANGER] Құпиялар ешқашан жүйелік сұрауға енгізілген, әңгіме тарих, немесе кез келген модельге көрінетін мәтін, және олар ешқашан журналдарға жазылды. Куәлік қажет ететін құралдар оны шақыру кезінде, ішінен қоймадан шығарады қақпа, және оны шығатын сұранымды аутентификациялау үшін пайдаланыңыз — тек модель құрал шақыру нәтижесін көреді, құпияны емес.
Өйткені өзара әрекеттесу құралдарды шақыру арқылы жүргізіледі (қараңыз Қорғаныс қоршаулары және жылдамдықпен енгізу қорғанысы), сақталған құпияны «оқып беруін» модельден сұрайтын ешқандай жол жоқ: модельдің оны оқу үшін көшірмесі жоқ.
Ортақ және әр пайдаланушыға арналған тіркелгі деректері
Сейф арасындағы айырмашылықты көрсетеді бөлісілген (жұмыс алаңы деңгейіндегі) куәліктер және жеке (пайдаланушыға арналған) куәліктер. Connections ағыны арқылы алынған пайдаланушыға арналған OAuth2 токендері қоймада сақталады және әрекет ететін пайдаланушы арқылы шешіледі, қажет болған жағдайда жұмыс кеңістігіне арналған резервтік нұсқасы бар. Бұл бірдей құралдың әртүрлі пайдаланушылар атынан өздерінің рұқсаттарымен әрекет етуіне мүмкіндік береді, бір пайдаланушының токенін ешқашан басқаға көрсетпей.
Келесі қайда
- RBAC және шектелген API кілттері — кім оқи алады немесе өзгерте алады vault-пен қорғалған конфигурация.
- Қатар деңгейіндегі қауіпсіздік — әр қожайынға арналған оқшаулау қойманы қолдайтын дерекқор.
- Қорғаныс қоршаулары және жылдамдықпен енгізу қорғанысы — неге модельді құпияны шығаратындай алдау мүмкін емес.