← Blogi

Kas sinu tehisintellekti vestlus on krüpteeritud? ChatGPT, Lumo ja DentroChat

Üle vaadanudPaul Petritsch
Tabalukk kolme kaardi kohal, mis võrdlevad ChatGPT-d, Lumot ja DentroChati edastuse krüpteerimise, puhkeoleku krüpteerimise, järeldamise ja mudelitreeningu osas

Mõni aeg tagasi võttis meiega ühendust üks DentroChati kasutaja:

Lumo väidab, et krüpteerib kõik vestlused. Kas DentroChat teeb sama või on tal teistsugune lähenemine?

See küsimus pani mind veidi mõtlema, sest kirjutasin kunagi bakalaureusetöö krüptograafiast ja tahtsin oma mõtted kord korralikult kirja panna. Minu vastus läks üsna pikaks ja tehniliseks, nii et kui mõni osa tundub liiga tihe, siis võib-olla on parim kleepida see artikkel Lumo või DentroChati sisse ja lasta tehisintellektil asja lihtsamalt seletada :-)

Et anda korralik vastus, kuidas krüpteeritud AI vestlus toimib, vaatame esmalt, kuidas töötab Proton, siis Lumo, ning seejärel, kuidas seda teevad DentroChat ja ChatGPT.

Kuidas töötab Proton’i nullteadmise krüpteerimine

Oleme Proton’i ökosüsteemi suured fännid ja oleme seda aktiivselt kasutanud juba aastaid VPN-i, e-kirjade, videokõnede ja muu jaoks.

Proton’i suur atraktiivsus on tema nullteadmise (zero-knowledge) süsteem. Avalik-privaatvõtmete paarid tuletatakse sinu konto paroolist ja need on igal kasutajal unikaalsed. Seda privaatvõtit kasutatakse meie e-kirjade, Drive’i sisu jms krüpteerimiseks. Ainult kasutaja ehk meie saame oma andmeid kohalikus seadmes dekrüpteerida. Proton’i töötajad ei saa meie andmeid dekrüpteerida, sest nad ei pääse kunagi meie privaatvõtmele ligi.

Hea külg on see, et isegi kui NSA „istub” Proton’i serveris, ei saa nad meie andmeid kätte (vähemalt seni, kuni kõik muud turvaeeldused kehtivad). Halb külg on see, et kui me kaotame Proton’i parooli ja varukoodid ning meil pole taastemeetodit seadistatud, ei saa Proton meie andmeid taastada.

Kui soovid aru saada, kuidas avalik-privaatvõtmeline krüpteerimine algusest peale toimib, on see YouTube’i video avalik-võtmelisest krüptograafiast suurepärane. Kui ma selle oma esimesel ülikooliaastal vaatasin, lõi see mind tõesti pikali!

Lumo: miks LLM muudab pildi

Lumo erineb Proton’i teistest teenustest põhimõtteliselt tänu sellele, kuidas suured keelemudelid (LLM-id) töötavad. Et AI / LLM mudelilt vastust saada, tuleb sisend mudelisse edastada lihtteksti kujul ehk dekrüpteeritult. (On lähenemisi, kuidas seda teha krüpteeritumalt, sellest allpool rohkem.)

Kui käitaksid LLM-i oma arvutis kohapeal, töötaks ülalkirjeldatud klassikaline Proton’i krüpteerimine endiselt: andmed dekrüpteeritakse masinas kohapeal, antakse kohalikule LLM-ile, saadakse vastus ja andmed krüpteeritakse uuesti kohapeal. Just nii toimib kohalike mudelite kasutamine tööriistadega nagu Ollama.

Probleem on selles, et parimad LLM-id vajavad käitamiseks väga võimsaid masinaid, mis tavalises tarbijaarvutis lihtsalt ei ole realistlik. Seetõttu peab LLM töötama Proton’i serveris ja sinu andmed tuleb enne nende Proton’i LLM-ile andmist dekrüpteerida.

Mis juhtub, kui saadad Lumole sõnumi

Lumo kasutamisel toimub see järgmiselt (nagu on dokumenteeritud Proton’i Lumo turvamudelis):

  1. Dekrüpteerid oma vestlusajaloo kohapeal oma seadmes.
  2. Lisad uue kasutajasõnumi.
  3. Kogu sõnumiajalugu koos uue sõnumiga krüpteeritakse selle Proton’i serveri avaliku võtmega, kus LLM töötab.
  4. Krüpteeritud andmed jõuavad Proton’i serverisse ja dekrüpteeritakse serveri privaatvõtmega. Dekrüpteeritud andmed antakse LLM-ile ning genereeritakse vastus.
  5. Genereeritud vastus krüpteeritakse uuesti ja saadetakse sulle tagasi.
  6. Dekrüpteerid selle oma seadmes ja loed vastust.

Antud piirangute korral on see väga kindel lähenemine.

Ainus probleem: järelduse (inference) ajal ei ole see enam nullteadmise süsteem. Kui Šveitsi politsei, NSA või pahatahtlik Proton’i töötaja pealtkuulab Proton’i serveris, kus sinu andmed dekrüpteeritakse enne LLM-ile andmist, saavad nad sinu andmeid lugeda. Lumo ei kasuta teiste Proton’i teenuste moodi otsast-otsani krüpteerimist (E2EE), vaid nad on seda nimetanud kasutaja-Lumo krüpteerimiseks (User-to-Lumo Encryption, U2L). Lumo tugevus seisneb selles, et sinu salvestatud vestlusajalugu on puhkeolekus krüpteeritud sinu võtmega, nii et keegi Proton’i juures ei saa hiljem su vanu vestlusi lugeda.

Kuidas DentroChat seda teeb

Mõtlesime välja viisi, kuidas tagada DentroChati jaoks tõeline otsast-otsani krüpteerimine, ja jõudsime arhitektuurini, mis on sellele väga lähedal. Kahjuks ei olnud selle ehitamine meile rahaliselt teostatav (veel).

Meie praegune lähenemine on klassikaline krüpteerimine, mida kasutab enamik kaasaegseid rakendusi: krüpteerimine edastamisel ja krüpteerimine puhkeolekus:

  • Kui saadame sulle sinu andmed või sina saadad DentroChatile oma andmed, krüpteeritakse see liiklus edastamisel TLS-i abil (see kasutab avalik-privaatvõtmeid krüpteeritud ühenduse loomiseks).
  • Kui sinu andmed on salvestatud meie serveritesse Saksamaal, on need puhkeolekus krüpteeritud (seda seadistame ja haldame ise, sest tavalised hostinguteenuse pakkujad ei krüpteeri kettaid vaikimisi puhkeolekus). Kui ründaja kopeerib meie serverite kõvaketta, saab ta ainult krüpteeritud andmed.

Valisime selle lähenemise, sest hetkel, kui tehisintellekt vastab su päringule, on sellel sama põhiline usaldusefekt, mis Lumol: kasutaja peab meid usaldama, et me ei loe tema andmeid nende töötlemise ajal. Meie praegune lahendus oli palju lihtsam üles seada, samas kui Proton’i lahendus on keerukam ja seab salvestatud vestlusajaloo puhul potentsiaalsetele ründajatele rohkem takistusi. Võime ka ühel hetkel nende teed minna, kui näeme selget kasu. Praegu on DentroChati lähenemine turvaline, usaldusväärne ja aastate jooksul paljude rakenduste poolt läbi proovitud.

Kuidas ChatGPT sinu vestlusi krüpteerib (ja kus on kinnijääv koht)

Paberil kasutab ChatGPT täpselt samu krüptograafilisi ehitusplokke nagu DentroChat ja enamik pilvetarkvara: krüpteerimist edastamisel (TLS) su brauseri ja OpenAI serverite vahel ning krüpteerimist puhkeolekus (AES-256) nende kettal. ChatGPT ei kasuta samuti otsast-otsani krüpteerimist, sest OpenAI GPU-d vajavad vastuse genereerimiseks samuti sinu päringut lihtteksti kujul.

ChatGPT puhul ei seisne erinevus selles, kes hoiab võtmeid ja mida OpenAI tohib sinu andmetega teha, kui nad need dekrüpteerivad:

  • Mudelite treenimine ja inimülevaatus: ChatGPT tasuta ja Plus kasutajate puhul kasutatakse dekrüpteeritud vestlusi vaikimisi tulevaste OpenAI mudelite treenimiseks ning valimis olevaid vestlusi võivad lugeda inimülevaatajad, välja arvatud juhul, kui loobud sellest seadetes käsitsi. Ei Lumo ega DentroChat ei treeni kunagi oma mudeleid sinu vestluste peal.
  • Säilitamine pärast kustutamist: Isegi kui kustutad vestluse või kasutad ChatGPT režiimi „Ajutine vestlus”, hoiab OpenAI koopiat oma serverites kuni 30 päeva (kõik üksikasjad oleme siin lahti seletanud).
  • Ameerika CLOUD Actiga seotud risk: Kuna OpenAI hoiab sinu salvestatud vestluste dekrüpteerimisvõtmeid ja on Ameerika ettevõte, saavad USA ametivõimud nõuda ligipääsu US CLOUD Actiga. Isegi siis, kui su töökeskkond on seadistatud EL-i andmeasukohale!
ChatGPTProton LumoDentroChat
Krüpteeritud edastamisel (TLS)JahJahJah
Krüpteeritud puhkeolekusJah (OpenAI hoiab võtmeid)Jah (Nullpääs, sina hoiad võtmeid)Jah (DentroChat hoiab võtmeid)
Otsast-otsani krüpteeritud tehisintellekti järelduse ajalEi (serveris lihtteksti kujul)Ei (serveris lihtteksti kujul, U2L)Ei (serveris lihtteksti kujul)
Treenib tehisintellekti mudeleid sinu vestluste põhjalJah, vaikimisi (loobumine võimalik)Mitte kunagiMitte kunagi
Allub US CLOUD ActileJahVestluste osas ei (arveldus ja tugi USA-s)Ei (100% EL / Šveitsi tehnoloogiline stack)

Kaks viisi, kuidas saada tehisintellektile (peaaegu) tõeline otsast-otsani krüpteerimine

Niisiis, kas saab kunagi LLM-i pilves käitada nii, et serveri operaator ei näe sinu lihtteksti päringut? On kaks lähenemist, mis annavad korraliku E2EE.

1. Homomorfne krüpteerimine

Homomorfne krüpteerimine on uskumatu uurimisvaldkond. See võimaldab teha arvutusi otse krüpteeritud andmete peal.

Näiteks: sina krüpteerid arvu 12 ja teine kasutaja krüpteerib arvu 17. Mõlemad krüpteeritud arvud liidetakse krüpteeritud liitmisega. Tulemuseks on krüpteeritud arv 29 ning ainult sina ja teine kasutaja saate selle dekrüpteerida ja teada, et tulemus on 29. Server, mis arvutuse tegi, ei teadnud kunagi, et arvud olid 12, 17 või 29.

See näide on lihtne, kuid see võib toimida ka LLM-ide puhul. Sel juhul sisestad LLM-ile krüpteeritud andmed, LLM väljastab krüpteeritud vastuse ja ainult kasutaja saab vastuse dekrüpteerida. Selles valdkonnas tehakse tõsist akadeemilist uurimistööd, näiteks see hiljutine artikkel krüpteeritud LLM-i järelduse kohta (Cachemir).

Homomorfse krüpteerimise probleem on see, et see on arvutuslikult väga kulukas ja seetõttu väga aeglane. Isegi viimaste kiirendustega kulub iga genereeritud märgi peale umbes 100 sekundit GPU-aega, mis tähendab, et lihtsa vastuse saamiseks küsimusele „Mis on Hispaania pealinn?” peaksid ootama 30 minutit.

2. NVIDIA H100/H200 konfidentsiaalse arvutuse GPU-d (TEE)

Teine lähenemine on kasutada NVIDIA H100/H200 konfidentsiaalse arvutuse GPU-sid usaldusväärse täitmiskeskkonnaga (Trusted Execution Environment, TEE).

See toimib nii: GPU-l on oma privaat-avalik võtmepaar, mis on otse selle riistvarasse sisse kodeeritud. See luuakse üks kord GPU tootmise ajal ja pärast loomist ei saa privaatvõtit väljastpoolt kätte, isegi mitte serveririiuli omanik.

See on suurepärane, sest nüüd saad oma andmed krüpteerida GPU avaliku võtmega ja saata need serverisse. GPU dekrüpteerib need oma riistvaralises enklaavis privaatvõtmega, annab need GPU sees töötavale LLM-ile, krüpteerib vastuse uuesti ja saadab selle sulle tagasi.

Nii saame peaaegu tõelise E2EE. Ainus alles jäänud riistvaraline ründevektor on tootmisetapp: kui NSA oleks salvestanud kõik privaatvõtmed, kui need NVIDIA GPU-d tehases valmistati, võiksid nad teoreetiliselt ikka pealt kuulata ja liiklust hiljem dekrüpteerida, kui GPU juurutatakse. Siiski on NVIDIA GPU koos TEE-ga väga tugev turvaeeldus.

DentroChati jaoks oli meil kaks võimalust: osta sellised GPU-d ise või leida Euroopa pakkuja, kes neid pakub. Esimene oli meile liiga kallis: üks H100 maksab umbes 40 000 eurot ja selleks, et käitada suuri avatud kaaluga mudeleid, nagu meil DentroChatis on, vajaksime neid 8. Omafinantseeritud ettevõttena polnud see tol ajal võimalik. Euroopa pakkuja leidmine, kes kasutab konfidentsiaalse arvutuse GPU-sid, ei olnud võimalik ka pool aastat tagasi. See on siiski kõige realistlikum tee edasi ja otsime pidevalt Euroopa tehisintellekti infrastruktuuri pakkujaid, kes seda toetavad.

Miks me arvame, et DentroChat on Lumo kõrval tugev valik

Isegi ilma salvestatud ajaloo nullpääsu krüpteerimiseta on mitmeid põhjuseid, miks paljud kasutajad valivad Lumo asemel DentroChati:

  • Paremad tehisintellekti mudelid: Viimati Lumot testides oli vastuste kvaliteet üsna nõrk ja aeglane. DentroChatis saad kasutada parimaid avatud lähtekoodiga mudeleid ja kohandatud agendi raamistikku, mis töötab taustal.
  • Null USA alltöövõtjat kogu tehnoloogiapaketis: Nii Lumo kui DentroChat käitavad oma tehisintellekti järeldust Euroopa ja Šveitsi serverites. Lumo suunab aga arveldust ja klienditoe siiski USA ettevõtetele (nagu Stripe ja Zendesk). DentroChatis ei kasuta me kusagil USA alltöövõtjaid. Kogu tehnoloogiapaketti saad kontrollida meie alltöövõtjate lehel.

Kui soovid neid kahte põhjalikumalt võrrelda, vaata meie täielikku Lumo alternatiivide testi, juhendit privaatse tehisintellekti vestluse kohta või seda, kuidas Euroopa ChatGPT alternatiivid välja näevad. Ja kui sul on tehniline küsimus nagu see, ära kõhkle meiega ühendust võtmast DentroChati tagasiside nupu kaudu!

Korduma kippuvad küsimused

Kas ChatGPT on otsast-otsani krüpteeritud?

Ei. OpenAI krüpteerib sinu vestlused edastamisel (TLS) ja puhkeolekus oma serverites, mis on pilverakenduste tavaline baas. Kuna LLM vajab vastuse genereerimiseks lihtteksti, dekrüpteerivad OpenAI serverid sinu päringu töötlemiseks. Kui sul ei ole äriplaani või sa ei loobu selgesõnaliselt, võidakse ka tarbijate vestlusi kasutada mudelite treenimiseks.

Kas Proton Lumo on otsast-otsani krüpteeritud?

Mitte otsast-otsani. Lumo kasutab seda, mida Proton nimetab kasutaja-Lumo (U2L) krüpteerimiseks: su salvestatud vestlusajalugu on lukustatud nullpääsu krüpteerimisega, nii et Proton ei saa su vanu vestlusi lugeda, ning su päring on krüpteeritud kuni järelduse serverini. Proton’i GPU server peab siiski sinu sõnumi mälus dekrüpteerima, et see LLM-ile anda.

Kuidas DentroChat minu vestlusi krüpteerib?

DentroChat krüpteerib kogu liikluse edastamisel TLS-i abil ning salvestab su vestlused ja failid isehaldatud krüpteeringuga puhkeolekus Euroopa serverites Saksamaal ja Prantsusmaal. Nagu Lumo ja ChatGPT puhul, tuleb päringud järelduse ajal serveri mälus dekrüpteerida, et tehisintellekti mudel saaks neile vastata, ja me ei treeni kunagi oma mudeleid sinu andmete peal.

Kas tehisintellekti vestlus saab kunagi olla tõeliselt otsast-otsani krüpteeritud?

Jah, kas käitades väikest mudelit kohapeal oma arvutis või pilves homomorfse krüpteerimise või NVIDIA konfidentsiaalse arvutuse GPU-de (TEE) abil. Praegu on homomorfne krüpteerimine interaktiivseks vestluseks liiga aeglane, samas kui konfidentsiaalse arvutuse GPU-d on kõige paljulubavam tee edasi, kui Euroopa hostinguteenuse pakkujad need laialdaselt kättesaadavaks teevad.