Bepul maxfiylik vositasi
Faylni muhrlang
Faylni yangi bir martalik kalit bilan shifrlang va istalgan kanal orqali yuboring. Kalit kimda bo‘lsa, faylni shu sahifaning o‘zida ochadi. Hech narsa serverga yuklanmaydi, buzib topiladigan parol iborasi yo‘q va biror narsa saqlanishidan oldin ichida nima borligini ko‘rasiz.
To‘liq shu varaqda ishlaydi. Bu sahifa hech qanday server bilan aloqa qila olmaydi.
Muhrlanmoqda…
Muhrlandi.
Bu sizning shifrlangan faylingiz. Kalitsiz uni hech kim o‘qiy olmaydi. Biz ham, boshqa hech kim ham.
Kalit — faqat hozir ko‘rsatiladi
Bu kalit faqat shu sahifada, ayni paytda mavjud. U hech qayerda saqlanmaydi va hech qayerga yuborilmaydi. Yo‘qotsangiz, faylni hech kim, jumladan biz ham ocha olmaymiz. Sahifadan chiqishdan oldin uni saqlang.
Yoki kalitni havola sifatida ulashing
Kalit havoladagi # belgisidan keyin joylashadi. Brauzerlar bu qismni hech qachon hech bir serverga yubormaydi. Havola shu sahifani Ochish varag‘i faol va kalit kiritilgan holda ochadi, so‘ng kalitni manzil satridan olib tashlaydi.
Fayl va kalitni alohida yuboring.
Muhrlangan fayl ham, kalit ham qo‘lida bo‘lgan har kim uni ocha oladi. Ularni turli kanallar orqali yuboring, masalan, faylni elektron pochta, kalit havolasini esa SMS orqali. Shunda ikkalasi bir pochta qutisida jamlanmaydi.
Kalit havolangizdan o‘qildi va manzil satridan olib tashlandi, shunda tarixingizda qolmaydi.
Tekshirilmoqda…
Bu muhrlangan fayl ichida
Hali hech narsa saqlanmadi. Muhrlangan faylda ichidagi mazmun shunday ko‘rsatilgan:
- Nom
- Hajm
- Tur
Ehtiyot bo‘ling — bu turdagi fayl qurilmangizda kod ishga tushirishi mumkin
Shifr ochildi.
Faylning shifri qurilmangizda ochildi va u yuklab olish uchun taqdim etildi. Unga oid hech narsa bu sahifadan tashqariga chiqmadi.
iPhone uchun shifrlangan seyf — Sealby yaratuvchilaridan
Sealby foto, fayl va qaydlarni iPhone qurilmangizdagi shifrlangan seyflarda saqlaydi. Hisob ham, serverlar ham yo‘q, faqat siz o‘qiy olasiz.
Barcha parametrlar ochiq ko‘rsatilgan
- Shifrlash algoritmi
- AES-256-GCM (WebCrypto), har bir bo‘lak uchun 128 bitli teg
- Kalit
- brauzer CSPRNG vositasidan 256 bit; har muhrlashda yangidan yaratiladi, bir marta ishlatiladi, hech narsadan hosil qilinmaydi
- Bo‘laklarga ajratish
- shifrlangan manifest (fayl nomi, hajmi, turi), so‘ng 1 MiB bo‘laklarga ajratilgan fayl — har birining autentifikatsiyasi alohida tekshiriladi
- Nonce
- 32 bitli tasodifiy seal salt ‖ 64 bitli bo‘lak hisoblagichi — bitta fayl ichida hech qachon takrorlanmaydi, kalitning o‘zi ham bir martalik
- Autentifikatsiyalangan ma‘lumotlar
- to‘liq 16 baytli sarlavha, har bir bo‘lak indeksi va jami bo‘laklar soni — bo‘laklarni qayta tartiblash, kesish yoki boshqa bo‘lak ulash shifrni ochishni imkonsiz qiladi
- Kalit satri
- base64url, 47 ta belgi: 32 baytli kalit va 3 baytli SHA-256 nazorat yig‘indisi; yozuv xatosi ma‘nosiz natija berish o‘rniga tekshiruvda aniqlanadi
Bu vosita nima qilishi haqida ochiq javoblar
Hammasi brauzeringizda bajariladi.
Muhrlash ham, ochish ham faylni shu sahifa xotirasiga o‘qiydi, brauzeringizning ichki WebCrypto mexanizmi bilan shu yerda AES-256-GCM amalini bajaradi va natijani yuklab olish uchun beradi. Hech narsa serverga yuklanmaydi. Hisob ham, serverda qayta ishlash ham yo‘q. Saytning boshqa sahifalaridan farqli ravishda, bu sahifa hatto cookie ishlatmaydigan tashrif hisoblagichini ham yuklamaydi. Hech qanday tahliliy kuzatuv yo‘q.
Bu shunchaki va‘da emas. Sahifa brauzerga faqat shu saytning o‘z statik fayllarini olishga ruxsat beradigan Content-Security-Policy bilan taqdim etiladi. U faylingiz, kalitingiz yoki boshqa biror narsani hech bir serverga, jumladan biznikiga ham yubora olmaydi. Muhrlash paytida brauzeringizning dasturchi vositalarini ochsangiz, birorta ham so‘rov bo‘lmaganini ko‘rasiz. Eng aniq isbot uchun Toolbox o‘rnating va samolyot rejimida muhrlang. Tarmoq o‘chiq bo‘lsa, hech narsa tashqariga chiqmaydi.
Hammasi kalitga bog‘liq — u bizda hech qachon bo‘lmaydi.
Har bir muhrlash brauzeringizda yangi tasodifiy 256 bitli kalit yaratadi. U sizga bir marta ko‘rsatiladi va hech qayerda saqlanmaydi: tizimlarimizda ham (ular bu jarayonda qatnashmaydi), brauzer omborida ham, muhrlangan faylda ham. Taxmin bilan topiladigan parol iborasi ham, brute-force qilinadigan narsa ham yo‘q. Kalit va fayl kimda bo‘lsa, o‘sha ocha oladi. Ular bo‘lmasa, ochib bo‘lmaydi.
Buning qat‘iy oqibati bor: kalit yo‘qolsa, fayl ham yo‘qoladi. Qayta o‘rnatish, yordam xizmatiga murojaat qilish yoki tiklash bilan ochib bo‘lmaydi. Bu yordam berishni istamasligimizdan emas. Biz tiklay oladigan nusxa bo‘lsa, uni kimdir o‘g‘irlashi yoki talab qilib olishi ham mumkin bo‘lardi.
Kalit havolasi serverga hech qachon yetib bormaydi.
Ulashish havolasida kalit URL ichidagi # belgisidan keyin joylashadi. Fragment deb ataladigan bu qism brauzerda qoladi. U brauzer biror serverga — biznikiga yoki boshqasinikiga — yuboradigan ma‘lumotlarga hech qachon kiritilmaydi. Sahifa kalitli havola bilan yuklanganda, kalitni o‘qiydi, Ochish varag‘iga o‘tadi va kalitni darhol manzil satridan olib tashlaydi. Shu sabab u ko‘rinib turgan URL yoki brauzer tarixida qolib ketmaydi.
Shunga qaramay, havola ham, muhrlangan fayl ham qo‘lida bo‘lgan har kim uni ocha oladi. Shuning uchun bu sahifa fayl va kalitni turli kanallar orqali yuborishni aytadi.
Biror narsa saqlanishidan oldin ichida nima borligini ko‘rasiz.
Ochish ikki bosqichda bajariladi. Avval sahifa faqat kichik manifestning shifrini ochadi: asl fayl nomi, hajmi va turi. Bu ma‘lumotni ko‘rsatadi; kod ishga tushirishi mumkin bo‘lgan fayl turlari (dasturlar, skriptlar, o‘rnatuvchilar, makrosli hujjatlar, HTML) va invoice.pdf.exe kabi qo‘sh kengaytma bilan niqoblangan nomlar uchun yaqqol ogohlantirish chiqaradi. Shifrni ochish tugmasini bosmaguningizcha hech narsa yozilmaydi. Sahifaning o‘zi shifri ochilgan mazmunni hech qachon ochmaydi yoki ekranga chiqarmaydi. U faqat faylni yuklab olishni taklif qiladi.
Shifrlash nimani isbotlashi va nimani isbotlamasligini aniq biling. Muhrlangan fayl uzatishda maxfiy qoladi. Muhrlash uni kim yuborgani yoki ichidagi mazmun xavfsizligi haqida hech narsa bildirmaydi. Kutilmagan muhrlangan faylga xabarga kutilmaganda biriktirilgan faylga qaragandek shubha bilan qarang.
Ishonchning haqiqiy chegarasi qayerda.
Siz bu sayt taqdim etgan kodni ishga tushiryapsiz. Agar sealby.app yoki unga ulanishingiz buzib kirish bilan zararlansa, zararli sahifa unga kiritganlaringizni o‘qishi mumkin. Bu internetdagi barcha shifrlash vositalariga tegishli, biz esa buni yashirmay aytamiz. Ko‘rayotgan choralarimiz: sahifa statik fayldan iborat va unda uchinchi tomon kodi yo‘q. O‘rnatilgan Toolbox avval yuklangan versiyadan foydalanishda davom etish imkonini beradi. Format esa quyida hujjatlashtirilgan, shuning uchun unga mos mustaqil vositalar yaratish mumkin.
O‘z qurilmangiz ham shu ishonch doirasiga kiradi. Sahifaga kirish ruxsati bor brauzer kengaytmalari yoki qurilmadagi zararli dasturlar sahifa o‘qiy oladigan hamma narsani o‘qishi mumkin. Muhrlangan fayl mazmunini yashiradi, ammo hamma narsani emas. Uni qo‘lga olgan odam hajmini (asl faylnikiga yaqin) va Sealby bilan muhrlangan fayl ekanini ko‘ra oladi.
Oddiy tildagi cheklovlar
- Kalit yo‘qolsa, fayl ham yo‘qoladi. Bu ataylab shunday qurilgan, istisnosi yo‘q.
- Fayllaringiz yoki kalitlaringizni ko‘ra olmaymiz, shu sabab ularni zararli dasturlarga ham tekshira olmaymiz. Fayl turi haqidagi ogohlantirish faqat fayl nomiga asoslanadi. Bu xavfsizlik kafolati emas.
- Muhrlangan fayl va kalit qo‘lida bo‘lgan har kim uni ocha oladi. Vosita ularning kimligini bilmaydi va tekshirmaydi.
- Muhrlangan fayl hajmidan asl fayl hajmini taxminan bilish mumkin.
- Har muhrlashda 100 MBgacha bitta fayl. Bir nechta faylni avval zip arxiviga joylang.
Format baytma-bayt
Texnik bilimli o‘quvchi sahifa natijasini mustaqil tekshirishi yoki o‘ttiz qator Python kodi bilan .sealed faylini ochishi uchun kerakli barcha ma‘lumotlar:
| bytes | field | contents |
|---|---|---|
| 0–7 | magic | ASCII "SEALBY-W" |
| 8 | version | 0x01 — boshqa har qanday qiymat “yangiroq versiyada yaratilgan” deb rad etiladi |
| 9 | algorithm | 0x01 = AES-256-GCM |
| 10–13 | seal salt | 4 bayt, CSPRNG, har muhrlash uchun yangidan |
| 14–15 | reserved | nol bo‘lishi kerak |
| 16–end | chunk frames | har biri: uint32 BE shifrmatn uzunligi, so‘ng AES-GCM shifrmatni + 16 baytli teg |
0-bo‘lak — manifest: UTF-8 JSON {"name":…,"size":…,"type":…}. 1…N−1-bo‘laklar — faylning 1 MiB qismlari. Jami N bo‘lakning har bir i-bo‘lagi uchun: nonce = salt ‖ uint64 BE i; authenticated data = header ‖ uint64 BE i ‖ uint64 BE N. Shu sabab o‘zgartirish, kesish, qayta tartiblash, boshqa joyga ko‘chirish va turli fayllardan bo‘laklarni ulash autentifikatsiyadan o‘tmaydi. Har bir holat repozitoriyga kiritilgan salbiy test bilan tasdiqlangan.
Kalit satri: 32 baytli kalit va undan keyin uning SHA-256 qiymatining dastlabki 3 bayti base64url (to‘ldirishsiz) ko‘rinishida, jami 47 ta belgi. Yozuv xatosi ma‘nosiz natija berish o‘rniga nazorat yig‘indisi tekshiruvidan o‘tmaydi.
Baytigacha aniq to‘liq spetsifikatsiya (FORMAT-WEB-v1) ·Javobi ma‘lum sinov vektorlari (JSON)
Namunaviy ochish dasturi (Python, cryptography kutubxonasi)
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"])Bu vosita uzatilayotgan fayllar uchun. Seyf esa saqlanadigan fayllar uchun.
Muhrlash faylni biror joyga yuborishda himoyalaydi. Sealby esa qurilmada qoladigan hamma narsani himoyalaydi: iPhone qurilmangizdagi shifrlangan seyflarda foto, fayl va qaydlarni. Hisob ham, serverlar ham yo‘q, faqat siz o‘qiy olasiz.
iPhone va iPad · iOS 17+ · Bepul