-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Шифрование на лету (paranoidal mode) #5
Comments
Я думаю, можно это делать не для всего аккаунта, а только для определённого списка папок. |
Как удобно сделать некий список шифруемых каталогов - я не очень представляю, но тут можно подумать. |
Например файл .encrypted в корне каталога, как признак необходимости шифрования? Чтобы не заморачиваться с настройкой в плагине. |
Отличная идея! |
Да, ещё. В свете того, что mail.ru, по некоторым сведениям, может удалять криптоконтейнеры, возможно, имеет смысл использовать стеганографию, делая из них .avi-файлы. Содержимое их не столь важно, главное, чтобы автоматический детектор выдавал тип "видео" |
причём этот файл и содержит, например, и используемый метод шифрования (для расширения поддерживаемых методов, а путь файла можно передавать "шифровалке"; и тогда его, вероятно, лучше назвать |
Есть информация (лично не проверял), что mail.ru удаляет шифрованные файлы из облака (вплоть до бана аккаунта). Судя по всему, шифрованным считается файл с неопознанной сигнатурой, т.о. нельзя применять только чистое шифрование, это должна быть какого-то рода стеганография. |
А информация по блокировки шифрованных файлов актуальная или Вы это давно слышали? Больше года храню на 7 аккаунтах зашифрованные файлы, пока без последствий. Но очень не хочется их лишиться. |
Пока я сам не проверил, будем считать, что это из разряда ОБС. |
Понемногу оформляю задачу.
|
Это прекрасная новость! |
DCPCrypt? |
Да, это единственное, что находится по теме, скорее всего оно и будет. Я пока не знаю, какой из форков выбрать, они все выглядят одинаково заброшенными. |
видимо, там менять нечего ))) всё и так работает )))) |
Я пока взял этот форк, но, думаю, они взаимозаменяемы. |
ну, по коду - вероятно, да, только судя по коммиту https://sourceforge.net/p/dcpcrypt/code/12/, структура немного изменена |
Я не буду включать код в плагин. А для инсталляции компонентов в среду разработки структура значения не имеет. |
выпуск релизов из IDE только на машине разработчика? ооок... |
Глупость. Зависимость будет указана в документации, желаешь свою сборку - ставь компонент, собирай. |
поверьте мне - отнюдь, не глупость про отсутствие тестов в новых проектах я вообще уж молчу )) |
Ок, я подумаю над включением DCPCrypt подмодулем. Но вообще это именно что компонент, и нет никакой разницы из каких исходников собирать и ставить bpl. Вариант "форкнуть и юзать исходники" не рассматриваю.
Это романтика опенсорса =). Интересно не потому что работает, а потому что не работает.
Мне тесты писать неинтересно, да и не умею. Есть желание и возможности - жду пулл-реквестов, может и сам научусь. Библиотека в Delphi 10+ собирается без всяких свистоплясок, спулил-открыл-собрал. |
диссонирует с
проверено не на одном проекте в продакшне ) я не навязываю... но лично я не испытываю ни толики уверенности при работе с кодом, не покрытым тестами, даже старым своим (без тестов), а уж с чужим... |
Ну, с одной стороны тесты - хорошо, но тесты писать тесты на glue code между интеграцией TC, сторонним шифровальщиком и загрузкой в облако... Удовольствие на троечку. Если знаешь и умеешь - еще можно попробовать, если нет - вряд ли толк выйдет. |
Мы в оффтопик ушли. Порядка ради, всё, что не касается тикета напрямую обсуждаем в новых тикетах. |
сорре, но я допишу |
Я тоже могу с умным видом рассказывать на что и как надо тесты писать, но на практике они пользу приносят не всегда. Если не согласны - присылайте пулреквесты с полезными тестами, заодно ci настроите. |
Боюсь, что это не так
|
Спасибо, я упустил этот момент. |
Возможно сигнатура и засветит файл то он шифрованный. Но его ещё злодеям нужно расшифровать что проблематично. А класть в отдельную папку типа ".crypt" ещё хуже это засветит. А принципиально расшифровывать файл по настройкам, если файл не шифрованный это не есть хорошо. Я столкнулся с этим при попытке расшифровать имя файла неправильным паролем, имя файла получалось такое что шла ругань что невозможно создать файл с таким именем. Использование модуля AES было только из нежелания раздувать размеры дополнительной библиотеки. К тому-же в мой модуль AES встроил сжатие, поэтому получаемый файл зачастую меньше оригинала. В общем если плагин будет красиво переделан, то почему-бы и воспользоваться оригиналом. :) И кстати, в файл зашивается шифрованный пароль, если введённый пароль не совпадает или это не шифрованный файл, то операция прерывается. |
Не в этом дело. Мы пытаемся скрыть факт шифрования непосредственно от mail.ru - в т.ч. из-за слухов из-за того, что аккаунты с шифрованными данными блочатся.
Если сжатие нестандартное, это потеря совместимости. Если это стандартные форматы - то конкретно в плагине они мне кажутся излишними, сжимать данные при копировании может и Total Commander. |
Доверюсь мыслям автора. :) |
Кстати... А идея с RAR не такая плохая. Почему мейлру блочит зашифрованное? У них не работает дедупликация. То есть раз уж тут Security through obscurity, то логично было бы класть шифрованный файл в такой вот легальный контейнер (хотя, может и стоит выбрать что-то не столь популярное). Там и метаданные можно прихранить (вплоть до создания "саморасшифровывающегося" sfx архива!), и совместимость с криптоутилитами не теряется. А что бы понять, что в архиве что-то шифрованное - надо не просто распарсить заголовок, но и разархивировать. |
areht, |
Ну как стеганография, не больше, чем липовую сигнатуру прилепить. Я бы сразу в шифровании прикручивал поддержку pipeline(всё равно пригодится), а там уж на одном из этапов дернуть за архиватор (до и/или после шифрования) - 3 строчки. |
Кстати, это issue #103 с другого конца |
я тут вспомнил про |
Переделал поддержку шифрования, теперь им управляет непосредственно класс CloudMailRu, плюс где это возможно, обработка происходит через TStream. Избавиться от временного файла при аплоаде не удалось, но код стал чище и проще. В целом, остаются нерешёнными следующие проблемы:
|
Текущее состояние шифрования имен файлов: Из-за кодирования в Base64 шифрованное имя файла в Облаке становится вдвое длиннее + удвоение из-за того, что работаем с юникодом - итого каждый символ исходного имени превращается в 4 символа имени в Облаке. Это нужно учитывать, чтобы вписаться а) в ограничения WFX API б) ограничения облака (и там и там лимит пути - 1024 символа) - т.е. нужно добавлять проверки. Также нужно проверять существование удалённого и локального файла при шифровании дешифровке имени соответственно: поскольку шифрование для TC невидимо, он проконтролировать эти операции не может. |
|
Имхо, усложнение кода не оправдает избавления от временного файлика, но я подумаю. |
Оправдывает. Если посчитать сколько времени будет потрачено на лишний цикл сохранения и загрузки файла если файл боооооольшой и их несколько. |
не уверен, что это усложнение... особенно, помня о SOLID |
|
|
offtopic: |
По удобству - без разницы. Галка - подзадача внутри большого тикета, мне кажется логичным делать так. |
не хотелось бы "учительствовать" например, вы не сможете быстро посмотреть всё ли вы доделали/исправили (получить список открытых багов/задач по данной фиче) З.Ы. предлагаю посмотреть в как задумано |
Спасибо, я подумаю над этим. |
Еще раз попробую склонить вас в сторону EncFS..
Пы.Сы. Кстати, тут же на Гитхабе есть неплохая реализация под виндовс: https://github.com/jetwhiz/encfs4win |
А я с удовольствием склонюсь, на самом деле, - успел пощупать encfs в бою, и мне ок. Там тоже есть вопросы, но плюсы перевешивают. |
Подскажите есть подвижку в этой области? Держу весь архив 2Tb на двух аках в мейле. Шифрую encFs только содержимое, чтобы самому же можно было разобраться и скачать только то что нужно и локально дешифрануть. Плагин дешифрующий на лету был бы очень очень кстати. Пока приходится загружать (и в него же обратно) из виртуальной папки с параметром --reverse. Сами файлы локально нешифрованы. Очень нравится encFs в этом плане. |
Подвижек нет, причины - сообщением выше. |
|
Идея: настраиваемое шифрование на лету. При копировании в облако файл предварительно шифруется, при извлечении - дешифруется. При работе через плагин всё прозрачно, при использовании других клиентов потребуется сторонний дешифратор.
The text was updated successfully, but these errors were encountered: