Confidex
Sehemu

Je, seva inawezaje kuhifadhi na kusawazisha siri zetu bila kushikilia funguo ili kuzisoma? Tutafuata jinsi Confidex huunda funguo zake, kuzilinda katika kufuli na kuzitumia kusimba data na kuthibitisha mabadiliko.

Kufuli

Mteule pekee ndiye anayeweza kufungua mlango

Matrix Imepakiwa Upya

Fikiria kuwa tunaunda vault mtandaoni ili kuhifadhi data ya siri. Ni lazima ihifadhi data hiyo kwenye kompyuta ya mkononi baada ya programu kufungwa na tuifungue kwenye kifaa kingine. Vault itahitaji funguo zake mwenyewe. Lazima tuzihifadhi ili kunakili faili kumpa mtu wa nje njia yoyote ya kusoma au kubadilisha yaliyomo.

lock hulinda funguo: faili ndogo iliyosimbwa. Kuifungua kunahitaji nenosiri kuu na msimbo wa siri, secret_key; wala haimo kwenye faili yenyewe. Tungeweza kuchapisha kufuli nzima katika gazeti la asubuhi. Wasomaji wangepata nakala, lakini kuichapisha hakutafichua funguo za faragha.

Tuseme mtu wa nje anapata faili hii na hata kujifunza nenosiri kuu. Sasa wanaweza kurudia kila hesabu inayohitaji nenosiri pekee, lakini hesabu hizo hazitatoa ufunguo unaofungua kufuli: secret_key pia ni ingizo. Faili haina hundi tofauti ya nenosiri pekee. Kuifungua bado kunahitaji nambari ya siri isiyojulikana.

Nambari hiyo inatoka kwa data ya nasibu ya siri; mtu haizushi. Ilimradi secret_key haijulikani, hata nenosiri kuu lililokisiwa kwa usahihi halifungui kufuli: mvamizi bado hana siri nasibu. Nenosiri dhaifu pekee kwa hivyo haligeuzi nakala ya seva kuwa shambulio la vitendo la kamusi.

Ikiwa mvamizi pia atapata secret_key, wanaweza kujaribu ubashiri wa nenosiri kuu nje ya mtandao. Hii ni ya gharama kubwa, lakini ugumu wa mwisho unategemea nguvu ya nenosiri.

Funguo

Mabwana, funguo hufanya nini? Funguo... kufungua vitu?

Maharamia wa Karibiani - Kifua cha Mtu aliyekufa

Programu hupata baiti 32 nasibu kutoka kwa jenereta ya kriptografia ya mfumo wa uendeshaji na kuzitayarisha kwa matumizi kama ufunguo. Baiti hizi zilizotayarishwa ni ufunguo mkuu wa faragha, master_key.

Programu daima hupata funguo sawa kutoka kwa master_key: kurudia hesabu sawa kwenye baiti sawa hutoa matokeo sawa. Kwa hivyo, kompyuta ndogo na simu zinaweza kurejesha funguo zinazofanana. Ili kupata master_key kwenye kifaa kipya, programu lazima kwanza ifungue kufuli kwa nenosiri kuu na secret_key.

Jozi ya kwanza: usimbaji fiche

Mimi ndiye Msimamizi Mkuu.

Vizushi

Ili kuhifadhi data iliyosimbwa kwa njia fiche, programu hukusanya ufunguo wa umma kutoka kwa master_key: secret_key. Inaweza kusimba kwa njia fiche data ya vault, huku usimbaji fiche unahitaji master_key.

"Hadharani" inaelezea jukumu la ufunguo huu katika kanuni, sio wajibu wa kumpa kila mtu. Katika Confidex hukaa na mtumiaji. Pia ni siri ya pili inayohitajika kufungua kufuli, kwa hivyo inakaa ndani na haijatumwa kwenye mtandao. Kwa peke yake, secret_key huruhusu mtu kusimba data kwa kuba, lakini si kusimbua au kusaini mabadiliko kwa niaba yake.

X25519 ni algoriti inayochukua master_key na kukokotoa secret_key. Kurejesha master_key kutoka kwa secret_key haiwezekani. Mashambulizi ya kitambo kwenye kompyuta kuu ya kufikirika inayotekeleza utendakazi wa curve bilioni bilioni kwa sekunde moja inaweza kuchukua takriban miaka trilioni 2.3 kwa wastani (Makisio ya SafeCurves).

public bytes Random bytes32 bytes master_key secret_key public bytes Random bytes32 bytes master_key secret_key
Kutoka kwa baiti nasibu hadi funguo za usimbaji fiche.

Jozi ya pili: saini

Kitu asili pekee ni sahihi

Nishike Ukiweza

Jozi ya kwanza husaidia kuficha yaliyomo. Sasa tunahitaji njia ya kuthibitisha kwamba mmiliki wa vault aliidhinisha mabadiliko. Seva lazima iweze kuangalia saini pia, kwa hivyo tunahitaji kuituma ufunguo wa uthibitishaji wa umma. Sehemu ya umma ya jozi ya kwanza ni secret_key, ambayo seva haipaswi kupokea. Kwa hivyo tunaunda ufunguo wa pili, wa kudumu wa saini.

Badala ya kuhifadhi siri nyingine huru, tunapata ufunguo wa kutia sahihi wa faragha kutoka kwa master_key na kuuita signing_key. Programu huitumia kusaini data na kufuli. Vifaa vingine na seva hutumia sehemu yake ya umma kuangalia saini bila kusoma yaliyomo.

Tunaweza kurejesha jozi hizi kutoka kwa master_key sawa. Programu hupata thamani ya kuanzia kutoka kwayo: baiti 32 ambazo huamua ufunguo wa kusaini mahususi.

Ili kupata funguo tofauti za kazi tofauti, tunajumuisha lebo isiyobadilika katika hesabu: hapa, confidex/vault/ed25519/v1. master_key sawa na lebo sawa daima hutoa ufunguo sawa.

Nenosiri kuu halijaingiza hesabu hizi. Jozi zote mbili zinategemea baiti nasibu za master_key, si kwa mfuatano uliovumbuliwa na mtu. Tofauti hii itakuwa muhimu baadaye: nenosiri litalinda ufikiaji wa funguo ambazo tayari zipo, kwa hivyo tunaweza kuibadilisha bila kubadilisha funguo zenyewe.

Utokezi hutumia chaguo la kukokotoa la msimbo kulingana na hashi: HKDF, HMAC-based Extract-and-Expand Key Derivation Function. Confidex huitumia na SHA-256, kwa hivyo jina HKDF-SHA256. Baiti 32 zinazotokana ni seed kwa jozi ya Ed25519. Sehemu ya umma ya signing_key haionyeshi secret_key, kwa hivyo tunaweza kuituma kwa seva kwa uthibitishaji wa sahihi.

public bytes HKDF-SHA256keymaster_keyinfo"confidex/vault/ed25519/v1" signing_key Signature verification public bytes HKDF-SHA256keymaster_keyinfo"confidex/vault/ed25519/v1" signing_key Signature verification
Ufunguo tofauti wa kusaini, unaotokana na ufunguo mkuu sawa.

Faili ya kufuli ni nini, na inafanya nini?

Fungua milango ya pod bay, HAL.
Samahani, Dave. Ninaogopa siwezi kufanya hivyo.

Nafasi ya Odyssey

Kufuli huhifadhi master_key iliyosimbwa. Kuifungua kunahitaji nenosiri kuu na secret_key. Kijajuu cha umma kina toleo la umbizo, kitambulishi cha kuba, sehemu ya umma ya signing_key, chumvi na vigezo vya kuchakata nenosiri. Toleo la umbizo la ndani limesimbwa kwa njia fiche pamoja na master_key.

Wakati wa kuunda kufuli, programu tayari ina master_key, kwa hivyo inakokotoa secret_key kabla ya usimbaji fiche. Wakati wa kuifungua, mtumiaji hutoa secret_key kando: haipo kwenye nakala ya umma ya kufuli.

Baada ya kusimbua, programu hukusanya sehemu ya umma ya master_key kwa kutumia X25519 na inahitaji ilingane secret_key. Kisha hurejesha signing_key na kulinganisha sehemu yake ya umma na ufunguo kwenye kichwa. Kwa njia hii, kufuli hujiangalia yenyewe.

Ili kupunguza kasi ya kukisia nenosiri kuu, kila jaribio lazima ligharimu muda na kumbukumbu. Confidex hutumia Argon2id yenye kumbukumbu ya MiB 64 na pasi tatu. Uchakataji wa nenosiri pia hutumia chumvi nasibu. Chumvi sio siri: hufanya nenosiri sawa kutoa matokeo tofauti katika kufuli tofauti.

Ikiwa secret_key tayari inajulikana, urefu wa nenosiri hubadilisha kwa kiasi kikubwa ukubwa wa shambulio. Kuna takriban michanganyiko milioni 12 ya herufi 5 za Kilatini zisizo na mpangilio maalum, takriban bilioni 8 kati ya 7, na takriban quadrillion 95 ya 12. Kutoka herufi 7 hadi 12 huongeza nafasi ya utafutaji karibu mara milioni 12. Ikiwa kutafuta barua 7 kulichukua siku moja kwa wastani kwenye mashine fulani, 5 ingechukua kama dakika mbili, na 12 kama miaka 33,000.

Ili kupata ufunguo mmoja kutoka kwa matokeo ya Argon2id na secret_key, tunatumia chaguo za kukokotoa za HKDF-SHA256 zilizoletwa awali, na lebo confidex/lock/wrap/v1. Matokeo yake ni wrapping_key, ufunguo unaosimba kufuli.

Ni lazima tufiche master_key na kuilinda dhidi ya kuchezewa. XChaCha20-Poly1305 huisimba kwa njia fiche kwa wrapping_key na kuongeza lebo ya uthibitishaji. Lebo hufunga maandishi ya siri kwa kichwa cha umma: nenosiri lisilo sahihi au mabadiliko ya baiti zinazolindwa hufanya ufunguzi ushindwe. Lebo na thamani ya matumizi moja bila mpangilio, nonce, huhifadhiwa kwa maandishi ya siri.

Kila wakati kufuli inapoundwa au kusimbwa kwa njia fiche tena, programu hupata chumvi safi na nonce. Maudhui yaliyosimbwa kwa njia fiche ni pamoja na toleo la baiti moja na baiti 32 za master_key; baiti 24 nonce na lebo ya baiti 16 huhifadhiwa kando yao. nyaraka za algoriti hufafanua ujenzi.

Kutolingana kati ya vitufe vilivyorejeshwa kunaweza kusababisha kufuli iliyofanywa vibaya kimakusudi au hitilafu katika programu iliyoiunda. Ufisadi wa baiti bila mpangilio kawaida hugunduliwa mapema, lebo inapoangaliwa.

Seva haina siri zinazohitajika ili kuangalia lebo hii. Ili kuhamisha kufuli, kwa hivyo programu huongeza saini iliyotengenezwa na signing_key. Inashughulikia faili nzima iliyokamilishwa, pamoja na kichwa cha umma na yaliyomo yaliyosimbwa. Seva hukagua saini na, inapopakia kwanza, hubandika sehemu kamili ya umma ya signing_key na kitambulisho cha ndani cha kuba. Hukagua mabadiliko yanayofuata dhidi ya ufunguo huu. Data ya kufuli na iliyosimbwa kwa njia fiche imetiwa sahihi kwa signing_key ile ile, iliyorejeshwa kutoka kwa master_key.

kuba

Sasa tunaweza kuchapisha kufuli. Ni mtu anayejua secret_key na master password pekee ndiye anayeweza kusoma master_key, huku mtu yeyote anaweza kuchukua ufunguo wa kutia sahihi wa umma kutoka kwenye faili iliyofungwa na kuangalia data iliyosainiwa bila kuona yaliyomo kwenye kufuli au data.

Zingatia nenosiri, SuperPa55worD. Kwa sasa, tunataka tu kuihifadhi: baada ya kufunga programu, tunapaswa kuwa na uwezo wa kutuma faili ya kufunga na nenosiri lililosimbwa mahali popote bila mtu yeyote kuona SuperPa55worD, huku tukiendelea kuwaruhusu kuthibitisha uandishi wetu. Usimbaji fiche lazima urejeshwe tukiwa na secret_key na master password. Sifa linganifu inaweza kusimba na kusimbua kwa kutumia ufunguo sawa. Kwa kuwa hatuhifadhi ufunguo huo, ni lazima tuweze kuurejesha kwa kutumia kufuli. Tutaiita message_key.

Tutapata message_key tofauti kwa kila usimbaji fiche mpya. Bado tunahitaji kupanga urejeshaji wake: kuacha ufunguo wazi kando ya maandishi kunaweza kuruhusu mtu yeyote aliye na nakala asome kila kitu.

Kutoka kwa baiti mpya nasibu, programu huunda jozi ya muda ya X25519 kwa ajili ya usimbaji fiche huu: record_key. Kisha inachukua sehemu ya faragha ya record_key na ufunguo wa kudumu wa umma wa vault, secret_key, na kukokotoa siri iliyoshirikiwa. Chaguo tofauti za kukokotoa hupata message_key kutoka kwa siri hiyo; ufunguo huu husimba nenosiri letu kwa njia fiche.

Wakati wa kusoma, programu inachukua njia nyingine. Inatumia master_key na sehemu ya umma ya record_key. Funguo hizi mbili hutoa siri iliyoshirikiwa sawa. Kihisabati, njia zote mbili huzidisha sehemu moja ya mwanzo kwenye curve kwa nambari mbili za kibinafsi, kwa mpangilio tofauti. Agizo halibadilishi matokeo. Kwa hivyo tunaweza kurejesha ufunguo wa kusimbua bila kuweka sehemu ya faragha ya record_key.

Kupata siri hii kutoka kwa funguo mbili za umma haiwezekani: njia yoyote inahitaji ufunguo wa kibinafsi unaolingana. Hoja za umma hazituruhusu kurejesha kwa ufanisi nambari za kibinafsi zilizozitoa. Ujanja huu wa hisabati huimarisha usalama wa vault. Lakini haimzuii mtu kutupa vault tofauti na kufuli yetu iliyounganishwa nayo.

Sasa tunaweza kuhifadhi maandishi ya siri kando ya sehemu ya umma ya record_key. Sehemu ya faragha ya record_key na iliyotumika message_key haihitajiki tena kwa usomaji wa siku zijazo. Baadaye, programu hurejesha ufunguo wa kusimbua kutoka kwa master_key na sehemu ya umma iliyohifadhiwa ya record_key. Kwa hivyo, siri moja ya kudumu ya kuhifadhi inaweza kusimbua thamani nyingi zilizosimbwa kando, kila moja ikiwa na message_key yake ambayo hurejeshwa inapohitajika.

Kuficha maandishi haitoshi: lazima pia tugundue kuchezea wakati wa kuisoma. Kwa hivyo usimbaji fiche huongeza lebo ya uthibitishaji, thamani fupi iliyochaguliwa pamoja na data iliyosimbwa. Ikiwa hundi itashindwa, programu inakataa matokeo. Ni lazima isionyeshe maandishi nasibu au yaliyobadilishwa kama nenosiri lililofaulu kusimbwa.

public bytes Fresh random bytes record_key secret_key Shared secret Derive message key message_key Encrypted passwordpacket public bytes Fresh random bytes record_key secret_key Shared secret Derive message key message_key Encrypted passwordpacket
Jozi mpya ya vitufe kwa kila usimbaji fiche.

Tumeelezea muundo ambao jozi ya ulinganifu husaidia kupata siri iliyoshirikiwa, huku message_key ikisimba yaliyomo kwa njia fiche. Hii inaitwa Hybrid Public Key Encryption, au HPKE, na imebainishwa katika RFC 9180. Confidex hutumia X25519 kukubaliana kuhusu siri, HKDF-SHA256 kupata funguo, na ChaCha20-Poly1305 kwa usimbaji fiche kwa kukagua uadilifu. Hapa, HKDF inachukua siri iliyoshirikiwa iliyokubaliwa kwa kutumia record_key na jozi ya master_key; hii ni kazi tofauti na kupata Ed25519 seed. RFC 5869 inaeleza HKDF.

Kwa usimbaji fiche unaofuata, programu itaunda record_key mpya na muktadha mpya wa HPKE. Kutumia tena mseto wa message_key na nonce huvunja ulinzi wa cipher. Katika Confidex, ufunguo na nonce hutolewa ndani ya HPKE, hutumika kwa ujumbe mmoja, na kisha muktadha hutupwa.

ChaCha20 yenyewe hutumia 256-bit message_key. Ili kupata hisia za shambulio la moja kwa moja, fikiria kompyuta kuu ya kubuni inayojaribu funguo zinazowezekana bilioni bilioni kwa sekunde. Kutafuta funguo 2²⁵⁶ vinavyowezekana kungechukua takriban miaka 1.8 × 10⁵¹. RFC 8439 inafafanua kanuni na uchanganuzi wake.

Rekodi

Tuna furaha?

Fiction ya Pulp

Tumehifadhi nenosiri, lakini kuingia kwenye tovuti kwa kawaida pia kunahitaji jina la mtumiaji na anwani. Wakati mwingine tunahitaji barua kando yao. Ikiwa tutahifadhi thamani hizi kando, programu lazima ikumbuke kwa namna fulani kwamba ni pamoja. Hebu tuweke "karatasi" hizi kwenye bahasha. Tunaunganisha sehemu kuwa mkusanyiko mmoja na kuuita record.

Rekodi inaweza kuwa na mchanganyiko wowote wa sehemu. Programu inazikusanya kwenye pakiti moja, inaibana na kusimba nzima kwa kutumia muundo ambao tumeelezea hivi punde. Thamani za sehemu, majina, aina na lebo zote zinalindwa. Kubadilisha anwani ya tovuti, hata wakati wa kuhifadhi nenosiri lile lile, huunda toleo jipya la rekodi nzima, iliyosimbwa kwa njia fiche kwa record_key mpya.

Hash-mnyororo

JE, MRADI WAKO UTUMIE MFUNGO WA KUZUIA? → HAPANA

XKCD 2267

Mtu anayejua secret_key anaweza kuandaa rekodi iliyosimbwa kwa ajili ya kuhifadhi yetu. Ili kuepuka kuikubali kama yetu, programu hutia sahihi kila toleo la rekodi na signing_key. Bila ufunguo huu, mgeni hawezi kuunda toleo na sahihi ambayo seva na vifaa vingine vitakubali.

Toleo lililosimbwa kwa njia fiche linahitaji maelezo yanayoambatana: ni vault na rekodi gani, lilipobadilika, na matoleo yapi yanatangulia. Hii inaunda kichwa cha umma. Haina nenosiri, lakini bado inahitaji ulinzi: vinginevyo mtu anaweza kubadilisha umiliki wa vitu na uhusiano bila kugusa maandishi ya siri. Programu hutia sahihi baiti za kichwa pamoja na maandishi ya siri. Kubadilisha data iliyosainiwa kunabatilisha saini.

Seva inafanana na ghala la vifurushi vilivyofungwa. Huona kichwa, yaliyomo na saini iliyosimbwa kwa njia fiche, lakini sio nenosiri ndani, na inajua kuwa mpokeaji yuko jijini. Hukagua saini dhidi ya sehemu ya umma iliyobandikwa ya signing_key na kuamua ikiwa itakubali toleo jipya. Haihitaji nenosiri kuu wala secret_key wala ufunguo wowote wa faragha. Wakati wa kusoma, mteja hukagua sahihi hiyo hiyo, kisha hukagua uunganishaji kati ya yaliyomo na kichwa tena wakati wa kusimbua, kwa kutumia lebo ya uthibitishaji ya HPKE.

Sahihi pia hulinda viungo kati ya matoleo. Heshi SHA-256 ya kichwa halisi na baiti za maandishi huwa kitambulisho cha toleo. Kijajuu cha toleo linalofuata kina kitambulisho cha toleo la awali. Tunapobadilisha nenosiri la tovuti, programu huunda na kusaini kitu kipya kwa kiungo hiki. Kitu cha zamani na saini yake bado haijabadilika. Kubadilisha mtangulizi wakati wa kuhifadhi saini ya toleo jipya kutashindwa. Ikiwa vifaa viwili vinafanya mabadiliko ya kujitegemea, matawi yote mawili yanaishi; toleo lililounganishwa linaweza kurejelea zote mbili.

Unakumbuka blockchain? Hapo ni :-).

Kijajuu cha umma huturuhusu kuangalia viungo bila kusimbua, lakini habari fulani inabaki kuonekana. Seva inajua vitambulishi, viungo vya toleo, muda wa mabadiliko unaotolewa na mteja, idadi ya sehemu na saizi iliyosimbwa ya kila sehemu. Usimbaji fiche huficha yaliyomo kwenye rekodi, sio maelezo haya ya muundo.

Header andparent IDs Encrypted recordpacket Sign revision signing_key Signed revision Header andparent IDs Encrypted recordpacket Sign revision signing_key Signed revision
Kichwa na maandishi ya siri yametiwa saini pamoja.

Usawazishaji

“Si uvujaji wa data, nakala rudufu iliyosambazwa bila malipo.”

meme ya mtandao.

Ili kufanya kazi kwenye vifaa kadhaa, tunahitaji kuhamisha historia ya kufuli na kurekodi kati yao. Umbizo la kipengee haibadiliki: tunahamisha baiti na saini zile zile zilizosimbwa kwa njia fiche ambazo zimehifadhiwa ndani.

Kwa uhamishaji wa kibinafsi, programu huunda kumbukumbu ya ZIP iliyo na kufuli, matoleo yote ya rekodi yaliyosimbwa ndani ya nchi, na orodha ya faili iliyotiwa saini. Nenosiri wala secret_key haijajumuishwa. Kwenye kifaa kingine, programu hufungua kwanza kufuli, kisha huangalia saini, huondoa rekodi na kurejesha nakala ya ndani. Uingizaji umekusudiwa kwa kifaa ambacho vault hii bado haipo; haiunganishi historia na nakala iliyopo.

Seva ya kusawazisha hubadilishana mabadiliko kati ya nakala zinazofanya kazi. Inapopakiwa mara ya kwanza, hupokea kufuli iliyotiwa saini, hukagua saini na kukokotoa anwani ya kuba ya umma kutoka sehemu ya umma ya signing_key. Kisha inakumbuka ufunguo huu na kitambulisho cha vault kutoka kwa kichwa: hii inasajili vault kwenye seva. Mabadiliko yanayofuata lazima yalingane na kitambulisho hiki na yabebe saini kutoka kwa ufunguo sawa.

Kifaa kipya kinahitaji anwani ya vault na secret_key, kwa hivyo programu inazichanganya kuwa msimbo wa kuhamisha na hundi. Mtumiaji huhamisha msimbo huu kwenye kifaa na huingiza nenosiri kuu tofauti; ni anwani ya umma pekee inayotumwa kwa seva.

Baada ya kufungua kufuli iliyopakuliwa, programu hulinganisha sehemu za umma za vitufe vilivyorejeshwa na secret_key na kichwa, na hukagua anwani iliyokokotwa dhidi ya msimbo wa uhamishaji. Kisha huhifadhi sehemu ya umma iliyothibitishwa ya signing_key ili kuangalia rekodi.

Wakati wa kusawazisha, programu hutafuta matoleo ambayo hayapo na kupakia mabadiliko yake. Seva hukagua saini na viungo vya matoleo yaliyotangulia, huhifadhi vitu vinavyokubalika na kuvipitisha kwa vifaa vingine. Kuangalia data iliyopokelewa, kusimbua na kusuluhisha mizozo yote hufanyika kwenye vifaa vya mtumiaji.

Usajili hauhitaji jina, anwani ya barua pepe au nenosiri tofauti. Seva huona anwani ya umma, ufunguo wa uthibitishaji wa saini, vichwa vya umma, ukubwa wa vitu na viungo vya matoleo. Pia huona anwani za IP na nyakati za ombi. Nenosiri kuu, secret_key, funguo za faragha na maudhui ya rekodi ya maandishi wazi hukaa kwenye vifaa vya mtumiaji. Mtu yeyote anayejua anwani ya umma anaweza kupakua vitu vilivyosimbwa, lakini kuvisoma kunahitaji siri za mtumiaji.

Ukaguzi huu hutambua vitu ghushi, lakini hauthibitishi kuwa seva imeonyesha historia kamili na hali yake ya hivi punde. Inaweza kuficha tawi ambalo mteja hajawahi kuona au kurudisha hifadhidata ya zamani. Sahihi inathibitisha uhalisi wa kitu mahususi, si ukamilifu wa jibu la seva. Mtumiaji anaweza kuona mabadiliko yanayokosekana kwenye kifaa kingine, lakini historia thabiti ya zamani itapita uthibitishaji wa hash-chain.

Kubadilisha nenosiri kuu

Kwa hivyo, je, mtakatifu wako angejali kubadilisha nenosiri lake?

Wadukuzi (1995)

Kubadilisha nenosiri kuu husimba tena kufuli; master_key ndani husalia vile vile. Rekodi, sahihi zao, secret_key na anwani ya vault kwa hivyo hazijabadilika. Kufuli mpya imetiwa sahihi kwa signing_key sawa.

Nakala ya zamani ya kufuli bado inafunguliwa na nenosiri la zamani na lile lile secret_key; kubadilisha nenosiri hakubatilishi funguo ambazo tayari zimefichuliwa.

Picha kamili

Kufuli hulinda master_key, message_key husimba rekodi, na signing_key kuunda sahihi. ZIP kumbukumbu na seva hupokea vitu vilivyosimbwa kwa saini.

public bytes public bytes public bytes master_key Fresh randombytes secret_key record_key Master password wrapping_key signing_key message_key lock Encrypted records Signed lockand records Signatureverification ZIP archive /sync server public bytes public bytes public bytes master_key Fresh randombytes secret_key record_key Master password wrapping_key signing_key message_key lock Encrypted records Signed lockand records Signatureverification ZIP archive /sync server
Funguo, wanalinda nini, na nini kinaweza kushirikiwa.