Share.Ninja

Безбедност

Кратка верзија: ваши фајлови се шифрују на вашем уређају пре него што било шта оде са њега, кључеви никада не стижу до нас, а ми чувамо оно што не можемо да прочитамо. Следи дуга верзија.

Шта се шифрује

Сваки фајл, свако име фајла, сваки списак фасцикле и назив дељења. Све то се шифрује на вашем уређају кључем који се тамо прави и тамо остаје. Наши сервери, складиште иза њих и мрежа између увек рукују само шифрованим текстом.

Примитиве, да не морате да нагађате: AES-256-GCM за садржај и метаподатке, X25519 са HKDF-SHA256 за паковање кључева за уређај или налог, насумични 256-битни кључеви по дељењу.

Како линк носи свој кључ

Линк за дељење изгледа овако: share.ninja/#…. Све после # је токен који прегледачи никада не шаљу серверу; остаје у адресној траци. Сервер чува само хеш тог токена, плус кључ дељења упакован под кључем изведеним из њега. Ко отвори линк, локално изводи кључ за паковање, отпакује кључ дељења и дешифрује. Ко нема линк, нема ништа, а то важи и за нас.

Прекините дељење и сервер одбија линк свуда одједном. Истек ради на исти начин.

Директни линкови

На вебу и на десктопу линк може бити директан. Тада се ништа не отпрема: фајлови остају на рачунару пошиљаоца и преносе се примаоцу уживо, преко WebRTC-а. Пренос је шифрован два пута: транспортним шифровањем самог WebRTC-а и нашим сопственим AES-256-GCM слојем са кључем изведеним из кључа дељења. Ако не постоји директна мрежна путања, релеј прослеђује пакете; релеј види шифровани текст и ништа друго. Затворите пошиљаоца и нема више шта да се преузме.

У близини

Уређаји се проналазе на три начина: у истој локалној мрежи, преко Bluetooth-а (само апликације) и преко нашег сервера, који групише уређаје иза исте интернет везе. Уређај објављује своје име, јавни кључ и осмоцифрени отисак тог кључа, и то само док је подешен као видљив. Прекидач је у картици „У близини“.

Слање у близини пакује кључ дељења за јавни кључ уређаја који прима. Сервер прослеђује ту запечаћену понуду, али не може да је отвори. Прималац види име и отисак пошиљаоца и прихвата или одбија; отисак приказан на оба екрана омогућава вам да проверите да нико није између. Ваши сопствени пријављени уређаји прихватају аутоматски. Фајлови затим путују директно, или преко релеја који види само шифровани текст.

Ваш налог и ваши уређаји

Пријава прави кључ идентитета на вашем првом уређају. Он никада не напушта ваше уређаје у отвореном облику: сваки уређај чува копију упаковану под сопственим кључем уређаја, а сервер чува само те упаковане копије и јавне половине.

Нови уређај тражи да се придружи. Уређај којем већ верујете приказује захтев са именом и отиском новог уређаја, и ако одобрите, пакује кључ идентитета за њега. Ми не можемо да додамо уређај вашем налогу, нити можемо да читамо ваша дељења да бисмо то урадили уместо вас.

Ако изгубите све уређаје, фраза за опоравак од 24 речи из Подешавања отпакује кључ идентитета на новом. Опоравак опозива сваки претходни уређај. Ако немате ни фразу за опоравак ни уређај, дељења су изгубљена; немамо копију која би могла да их врати. То није политика, то је аритметика.

Шта наши сервери могу да виде

Искреност је овде важнија од краћег списка.

  • За свако дељење: његов идентификатор, када је направљено и када истиче, укупну величину шифрованих података, да ли живи у облаку или је директан линк, и коме припада ако је власник пријављен.
  • За свако преузимање: да се десило, када и са које IP адресе. На томе почивају ограничења учесталости и обрада злоупотреба.
  • За сваки пријављени налог: адресу е-поште, приказано име, имена и јавне кључеве његових уређаја, искоришћен простор.
  • За сваки уређај, пријављен или не: идентификатор уређаја, његов јавни кључ, име које објављује уређајима у близини.
  • Логове сервера са IP адресама и путањама захтева.

Логови сервера чувају се 30 дана. Записи о преузимањима и дневник активности вашег налога чувају IP адресу 90 дана, после тога остаје само догађај.

Шта наши сервери не могу да виде: ниједан фајл, ниједно име фајла, ниједан списак фасцикле, ниједан назив дељења, ниједан кључ.

Пријављени, овај запис можете видети и сами: дневник активности у подешавањима налога наводи сваку радњу на вашем налогу, са временом, IP адресом и уређајем.

Складиште и инфраструктура

Наши сервери раде код Hetzner-а у ЕУ. Шифровани подаци живе тамо на нашим сопственим серверима за складиштење и на Wasabi S3, у више региона. Складиште прима и враћа шифровани текст преко краткотрајних потписаних URL-ова; никада нема кључ.

Злоупотреба

Страница сваког линка има акцију „Пријави злоупотребу“ која не захтева налог. Пошто сами не можемо да отворимо дељење, онај ко пријављује одлучује да ли ће уз пријаву приложити кључ линка; тек тада можемо да погледамо шта је пријављено. Потврђена пријава искључује линк свуда, а ми можемо да блокирамо уређај који га је направио. Контакт е-пошта пријавиоца брише се чим се пријава обради.

Сајт

Без скрипти за праћење, без аналитичких колачића, ништа се не шаље трећим странама. Посете се броје из наших сопствених логова сервера. Апликације уопште немају аналитику.

Пријава рањивости

Пишите на support@share.ninja и ставите „security“ у наслов. Одговарамо на сваку пријаву.