Bezmaksas privātuma rīks
Aizzīmogot failu
Šifrējiet failu ar jaunu vienreizēju atslēgu un nosūtiet to pa jebkuru vēlamo kanālu. Ikviens, kam ir atslēga, var failu atvērt tepat šajā lapā. Nekas netiek augšupielādēts, nav uzlaužamas ieejas frāzes, un pirms saglabāšanas varat redzēt, kas atrodas failā.
Pilnībā darbojas šajā cilnē. Šī lapa vispār nevar sazināties ne ar vienu serveri.
Aizzīmogo…
Aizzīmogots.
Šis ir jūsu šifrētais fails. Bez atslēgas to nevar izlasīt neviens — ne mēs, ne kāds cits.
Atslēga — redzama tikai tagad
Šī atslēga pašlaik pastāv tikai šajā lapā. Tā nekur netiek glabāta vai nosūtīta. Ja to pazaudēsiet, failu nevarēs atvērt neviens, arī mēs. Saglabājiet atslēgu pirms lapas aizvēršanas.
Vai arī kopīgojiet atslēgu kā saiti
Atslēga saitē atrodas aiz zīmes #. Pārlūkprogrammas šo daļu nekad nesūta nevienam serverim. Saite atver šo lapu sagatavotā cilnē “Atvērt” ar aizpildītu atslēgu un pēc tam noņem atslēgu no adreses joslas.
Nosūtiet failu un atslēgu atsevišķi.
Ikviens, kam ir gan aizzīmogotais fails, gan atslēga, var failu atvērt. Nosūtiet tos pa dažādiem kanāliem, piemēram, failu pa e-pastu, bet atslēgas saiti īsziņā. Tad nevienā iesūtnē neatrodas abi.
Atslēga nolasīta no jūsu saites un noņemta no adreses joslas, tāpēc tā paliek ārpus jūsu vēstures.
Pārbauda…
Šajā aizzīmogotajā failā
Nekas vēl nav saglabāts. Aizzīmogotajā failā norādīts šāds saturs:
- Nosaukums
- Izmērs
- Veids
Uzmanību — šis faila tips var palaist kodu jūsu ierīcē
Atšifrēts.
Fails tika atšifrēts jūsu ierīcē un piedāvāts lejupielādei. Nekādi ar to saistīti dati neatstāja šo lapu.
No Sealby veidotājiem — šifrēts seifs iPhone tālrunim
Sealby glabā fotoattēlus, failus un piezīmes šifrētos seifos jūsu iPhone tālrunī. Nav ne konta, ne serveru; saturu varat izlasīt tikai jūs.
Visi parametri ir norādīti
- Šifrs
- AES-256-GCM (WebCrypto), 128 bitu autentifikācijas birka katram blokam
- Atslēga
- 256 biti no pārlūka CSPRNG; katrai aizzīmogošanai ģenerēta jauna, vienreiz lietojama un ne no kā neatvasināta atslēga
- Dalījums blokos
- šifrēts manifests (faila nosaukums, lielums, tips), pēc tam fails 1 MiB blokos — katrs autentificēts atsevišķi
- Nonce
- 32 bitu nejauša aizzīmogojuma sālsvērtība ‖ 64 bitu bloka skaitītājs — failā nekad neatkārtojas, turklāt atslēga jebkurā gadījumā ir vienreizēja
- Autentificēti dati
- pilna 16 baitu galvene, katra bloka indekss un kopējais bloku skaits — bloku pārkārtošana, saīsināšana vai savienošana pārtrauc atšifrēšanu
- Atslēgu virkne
- base64url, 47 rakstzīmes: 32 baitu atslēga un 3 baitu SHA-256 kontrolsumma; tādēļ pārrakstīšanās kļūda tiek nepārprotami noraidīta, nevis rada nederīgus datus
Godīgas atbildes par to, ko tas dara
Viss notiek jūsu pārlūkprogrammā.
Gan aizzīmogošanas, gan atvēršanas laikā fails tiek nolasīts šīs lapas atmiņā, tur apstrādāts ar AES-256-GCM, izmantojot pārlūkā iebūvēto WebCrypto dzini, un rezultāts tiek piedāvāts lejupielādei. Nekas netiek augšupielādēts. Nav ne konta, ne apstrādes serverī. Atšķirībā no pārējās vietnes šī lapa pat neielādē apmeklējumu skaitītāju bez sīkdatnēm. Nekādas analītikas.
Tas nav tikai solījums. Lapa tiek nodrošināta ar Content-Security-Policy, kas pārlūkam ļauj ielādēt vienīgi šīs vietnes statiskos failus. Tā nevar nosūtīt jūsu failu, atslēgu vai jebko citu nevienam serverim, arī mūsējam. Aizzīmogošanas laikā atveriet pārlūka izstrādātāja rīkus, un redzēsiet, ka netiek veikts neviens pieprasījums. Vēl nepārprotamākam pierādījumam instalējiet rīkkopu un aizzīmogojiet failu lidmašīnas režīmā. Ja tīkls ir izslēgts, nekas nevar atstāt ierīci.
Atslēga ir viss — un mums tās nekad nav.
Katrā aizzīmogošanas reizē pārlūkā tiek ģenerēta jauna, nejauša 256 bitu atslēga. Tā tiek parādīta vienreiz un nekur netiek glabāta: ne mūsu sistēmās (tās procesā nepiedalās), ne pārlūka krātuvē, ne aizzīmogotajā failā. Nav ieejas frāzes, ko minēt, un nav nekā, kam veikt pilno pārlasi. Ikviens, kam ir atslēga un fails, var to atvērt; bez tiem — nevar.
Tam ir skarbas sekas: ja atslēga ir pazaudēta, arī fails ir zaudēts. Nav ne atiestatīšanas, ne atbalsta pieprasījuma, ne atkopšanas. Tas nav tāpēc, ka nevēlamies palīdzēt. Kopiju, kuru mēs spētu atkopt, kāds varētu arī nozagt vai pieprasīt.
Atslēgas saite nekad nesasniedz serveri.
Kopīgošanas saitē atslēga atrodas aiz URL zīmes #. Šī daļa — fragments — paliek pārlūkā un nekad netiek iekļauta datos, ko pārlūks sūta mūsu vai kādam citam serverim. Kad lapa tiek ielādēta ar atslēgu saitē, tā nolasa atslēgu, pārslēdzas uz cilni “Atvērt” un nekavējoties noņem atslēgu no adreses joslas. Tādēļ atslēga nepaliek redzamajā URL vai pārlūka vēsturē.
Tomēr ikviens, kam ir gan saite, gan aizzīmogotais fails, to var atvērt. Tāpēc šī lapa liek jums nosūtīt failu un atslēgu, izmantojot dažādus kanālus.
Jūs redzat, kas ir iekšā, pirms kaut kas tiek saglabāts.
Atvēršana notiek divos posmos. Vispirms lapa atšifrē tikai nelielu manifestu: sākotnējo faila nosaukumu, lielumu un tipu. Tā parāda šo informāciju un skaidri brīdina par failu tipiem, kas var palaist kodu (programmām, skriptiem, instalētājiem, dokumentiem ar makro un HTML), kā arī par nosaukumiem ar maldinošu dubulto paplašinājumu, piemēram, invoice.pdf.exe. Nekas netiek ierakstīts, līdz noklikšķināt uz atšifrēšanas pogas. Lapa pati nekad neatver un neatveido atšifrēto saturu — tā tikai piedāvā failu lejupielādei.
Skaidri nošķiriet, ko šifrēšana nodrošina un ko tā nepierāda. Aizzīmogots fails pārsūtīšanas laikā ir konfidenciāls. Aizzīmogošana neko nepasaka par sūtītāja identitāti vai satura drošumu. Pret negaidītu aizzīmogotu failu izturieties tikpat piesardzīgi kā pret negaidītu pielikumu.
Kur uzticības robeža patiešām ir.
Jūs darbināt kodu, ko šī vietne jums piegādāja. Ja sealby.app vai savienojums ar to būtu apdraudēts, ļaunprātīga lapa varētu nolasīt visu, ko tajā ievadāt. Tas attiecas uz ikvienu tīmekļa šifrēšanas rīku, un mēs to pasakām atklāti. Risku mazinām šādi: lapa ir statisks fails bez trešo pušu koda; instalētā Rīkkopa ļauj turpināt izmantot jau ielādētu versiju; turklāt tālāk ir dokumentēts formāts, lai tam varētu izveidot neatkarīgus rīkus.
Arī jūsu ierīce atrodas uzticamības robežās. Pārlūka paplašinājumi ar piekļuvi lapai vai ļaunprogrammatūra datorā var nolasīt visu, ko var nolasīt lapa. Aizzīmogotais fails slēpj saturu, bet ne visu: ikviens, kam fails ir pieejams, var redzēt tā lielumu, kas aptuveni atbilst oriģināla lielumam, un to, ka tas ir ar Sealby aizzīmogots fails.
Ierobežojumi vienkāršā valodā
- Pazaudēta atslēga = pazaudēts fails. Tā tas ir izstrādāts, bez izņēmumiem.
- Mēs nevaram redzēt jūsu failus vai atslēgas, tāpēc nevaram arī pārbaudīt failus, vai tajos nav ļaunprogrammatūras. Brīdinājums par faila tipu balstās tikai uz faila nosaukumu. Tā nav drošības garantija.
- Ikviens, kam ir gan aizzīmogotais fails, gan atslēga, var to atvērt. Rīks nezina un nepārbauda šīs personas identitāti.
- Aizzīmogotā faila lielums aptuveni atklāj sākotnējā faila lielumu.
- Katrā aizzīmogošanas reizē — viens fails līdz 100 MB. Vairākus failus vispirms ievietojiet ZIP arhīvā.
Formāts baitu pa baitam
Viss, kas tehniskam lasītājam vajadzīgs, lai neatkarīgi pārbaudītu šīs lapas izvadi vai atvērtu .sealed failu trīsdesmit Python koda rindās:
| bytes | field | contents |
|---|---|---|
| 0–7 | signatūra | ASCII "SEALBY-W" |
| 8 | versija | 0x01 — jebkura cita vērtība tiek noraidīta kā “izveidots ar jaunāku versiju” |
| 9 | algoritms | 0x01 = AES-256-GCM |
| 10–13 | aizzīmogojuma sālsvērtība | 4 baiti, CSPRNG; katrā aizzīmogošanas reizē ģenerēta no jauna |
| 14–15 | rezervēts | jābūt nullei |
| 16–beigām | bloku ietvari | katram: uint32 BE šifrteksta garums, pēc tam AES-GCM šifrteksts + 16 baitu autentifikācijas birka |
Bloks 0 ir manifests: UTF-8 JSON {"name":…,"size":…,"type":…}. Bloki 1…N−1 ir fails 1 MiB daļās. Katram blokam i no N: nonce = sālsvērtība ‖ uint64 BE i; autentificētie dati = galvene ‖ uint64 BE i ‖ uint64 BE N. Tādēļ pārveidošana, saīsināšana, pārkārtošana, pārvietošana un bloku savienošana no dažādiem failiem neiztur autentifikāciju. Katru gadījumu apliecina repozitorijā iekļauts negatīvais tests.
Atslēgas virkne: 32 baitu atslēgas base64url kodējums (bez papildinājuma), kam seko tās SHA-256 pirmie 3 baiti; kopā 47 rakstzīmes. Pārrakstīšanās kļūdas dēļ kontrolsummas pārbaude neizdodas, nevis tiek iegūti nederīgi dati.
Pilna, līdz baitam precīza specifikācija (FORMAT-WEB-v1) ·Testa vektori ar zināmām atbildēm (JSON)
Atsauces atvērējs (Python, bibliotēka cryptography)
import base64, hashlib, json, struct, sys
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
raw = open(sys.argv[1], "rb").read()
assert raw[:8] == b"SEALBY-W" and raw[8] == 1 and raw[9] == 1
assert raw[14:16] == b"\x00\x00"
header, salt = raw[:16], raw[10:14]
frames, off = [], 16
while off < len(raw):
(n,) = struct.unpack(">I", raw[off:off + 4]); off += 4
frames.append(raw[off:off + n]); off += n
assert off == len(raw)
kb = base64.urlsafe_b64decode(sys.argv[2] + "=") # 47-char key string
key, check = kb[:32], kb[32:35]
assert hashlib.sha256(key).digest()[:3] == check # typo check
N = len(frames)
def chunk(i):
nonce = salt + struct.pack(">Q", i)
aad = header + struct.pack(">QQ", i, N)
return AESGCM(key).decrypt(nonce, frames[i], aad)
manifest = json.loads(chunk(0))
data = b"".join(chunk(i) for i in range(1, N))
assert len(data) == manifest["size"]
open(manifest["name"], "wb").write(data)
print("decrypted ->", manifest["name"])Šis rīks paredzēts pārsūtāmiem failiem. Seifs — glabājamiem failiem.
Aizzīmogošana aizsargā failu, kamēr to kādam nosūtāt. Sealby aizsargā visu, kas paliek pie jums: fotoattēlus, failus un piezīmes šifrētos seifos jūsu iPhone tālrunī. Nav ne konta, ne serveru, un saturu nevar izlasīt neviens cits.
iPhone un iPad · iOS 17+ · Bezmaksas