Голосование

Нужна ли привязка хранилища?

К лицензии
К компьютеру
К дополнительному файлу-ключу
Не надо привязывать!
Свой вариант (сейчас напишу в теме)

Автор Тема: Storage (Сторож): защищенное хранилище секретных данных.  (Прочитано 16203 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн NA

  • Плагинописатель
  • Эксперт
  • ******
  • Сообщений: 906
  • Репутация +78/-20
    • Просмотр профиля
Выпало внеплановое время, посему внеплановый набросок.

По факту работают только генерация пароля и оценка устойчивости к взлому. Остальное - размышления о внешнем виде.

Хранилище и настройки - имитация поведения (не сохраняет изменения).

Еще не решил, использовать собственное шифрование или через системных криптопровайдеров (во втором случае больше заморочек с настройками, ниже коэффициент портабельности, но зато шире выбор поставщиков шифрования без изменения самого плагина).

Это эксперимент еще и с переводом API на другой язык, плюс первый плагин с несколькими собственными окнами сразу, поэтому любые сообщения о багах полезны вдвойне.

Приложенные файлы:
Storage.ltp - эскиз интерфейса и настроек. Копируется в папку LeaderTask\Plugins и подхватывается как плагин.
Store.exe - самостоятельная программа-тест контейнера. Создает, шифрует, сохраняет, открывает и расшифровывает фрагмент текста.
« Последнее редактирование: 10 Апреля 2010, 00:35:51 от NA »
Приглашаю обсудить мои мечты о Контактах.

Gantt... как много в этом слове. Оч ждется.

"Анонимному" минусишке: чем больше неудачников меня ненавидит, тем более правильно я живу. Твои минусы исподтишка - это настоящие плюсы мне. Спасибо!

Оффлайн Do_zent

  • Мега Модератор
  • Опытный
  • *****
  • Сообщений: 597
  • Репутация +52/-0
    • Просмотр профиля
Несколько мыслей:
Немного смущает модальная форма.
Будет ли пароль вставляться в формы (или хотя бы в буфер обмена)?
Можно сделать опцию, что через заданное время бездействия программы она автоматически закрывалась.

Оффлайн NA

  • Плагинописатель
  • Эксперт
  • ******
  • Сообщений: 906
  • Репутация +78/-20
    • Просмотр профиля
Модальную сделал, чтобы не отвлекаться на побочные (вероятность запуска второй копии, например). Да и проблемно это, надо как-то исхитряться с оконными процедурами, чтобы окно тут же не схлопнулось.

В буфер обмена сгенерированный пароль вставляется, для этого есть специально обученная кнопка  8)

Есть доводы работать с таким хранилищем, открыв и не закрывая долгое время?
Или по-другому: есть ли вообще смысл делать форму немодальной, прятать в трей, и т.д.?

Насчет закрытия по бездействию совсем вылетело из головы, спасибо! С юбилеем!  *az*



Да, еще к обсуждению.

1. Просмотр записей специально сделан на той же форме, но вне закладок, чтобы тут же проверить на вшивость пароль из ячейки или наоборот - сгенерировать новый и сразу сохранить его в ячейке.
Т.е., чтобы можно было производить действия между выбранной записью и содержимым других закладок.

2. Обзорный список содержит только названия записей, чтобы создать дополнительную ступень доступа к информации.
Предусмотрен режим, когда форма разворачивается только по вводу пароля.

3. Нужно ли дерево, или достаточно линейного списка? Мне не жалко, но чем проще компоненты, тем меньше они жрут памяти, например.
« Последнее редактирование: 04 Апреля 2010, 04:06:33 от NA »
Приглашаю обсудить мои мечты о Контактах.

Gantt... как много в этом слове. Оч ждется.

"Анонимному" минусишке: чем больше неудачников меня ненавидит, тем более правильно я живу. Твои минусы исподтишка - это настоящие плюсы мне. Спасибо!

Оффлайн Иван Абрамовский

  • Администратор
  • Маэстро
  • *****
  • Сообщений: 2598
  • Репутация +104/-4
    • Просмотр профиля
    • Органайзер LeaderTask
NA, идея отличная! А если сделать шифрование по ключевому слову, т.е. пользователь знает свое ключевое слово и только в этом случе будет корректная расшифровка. Как такой вариант?

Оффлайн NA

  • Плагинописатель
  • Эксперт
  • ******
  • Сообщений: 906
  • Репутация +78/-20
    • Просмотр профиля
Предполагается именно шифрование по слову плюс двухступенчатая авторизация.

Пользователь по сути вводит даже не пароль, а пин-код, который, взаимодействуя с хэшем от лицензионной информации, и образует "ключевое слово" для расшифровки хранилища.

Базой может быть не только лицензионная информация, но такая база должна храниться неподалеку от LT (для флэшки быть как минимум на том же диске).
Сейчас я думаю над тем, чтобы ключом к пин-коду служил произвольный внешний файл, о котором не будет знать злоумышленник.
Приглашаю обсудить мои мечты о Контактах.

Gantt... как много в этом слове. Оч ждется.

"Анонимному" минусишке: чем больше неудачников меня ненавидит, тем более правильно я живу. Твои минусы исподтишка - это настоящие плюсы мне. Спасибо!

Оффлайн Дмитрий Маслов

  • Администратор
  • Маэстро
  • *****
  • Сообщений: 6146
  • Репутация +220/-19
  • Я делаю мир таким!
    • Просмотр профиля
Я считаю что привязка в лицензионному ключу - это лишнее. С одной стороны дополнительная защита, а с другой стороны слишком сложно, да и ключи имеют свойство меняться, пусть не часто.

Оффлайн NA

  • Плагинописатель
  • Эксперт
  • ******
  • Сообщений: 906
  • Репутация +78/-20
    • Просмотр профиля
zitz
В чем сложность для пользователя?

Как такой порядок?
1. При первом запуске создается контейнер, сразу запрашивается файл привязки (или ввод серийника).
2. При последующих запусках контейнер открывается при наличии файла-привязки и верного пароля.
3. Можно сменить файл или отключить привязку, но сначала надо открыть контейнер.

Если не совпал абсолютный путь расположения файла-привязки, плагин попросит его указать. Владелец такой файл укажет, а злоумышленник - вряд ли угадает его среди многих остальных, особенно, если ограничить число попыток.

Вообще лицензия - слабоватая защита. Если злоумышленник получил возможность скопировать контейнер - он скопирует программу целиком, заодно с лицензией. Поэтому мне все больше нравится произвольный внешний файл.
К слабым сторонам относится:
- если привязываться к имени файла, то его нельзя переименовывать. Зато неожиданный способ :)
- если к содержимому - то в файле нельзя производить никаких изменений, иначе доступ к контейнеру будет навсегда потерян.
Приглашаю обсудить мои мечты о Контактах.

Gantt... как много в этом слове. Оч ждется.

"Анонимному" минусишке: чем больше неудачников меня ненавидит, тем более правильно я живу. Твои минусы исподтишка - это настоящие плюсы мне. Спасибо!

Оффлайн Дмитрий Маслов

  • Администратор
  • Маэстро
  • *****
  • Сообщений: 6146
  • Репутация +220/-19
  • Я делаю мир таким!
    • Просмотр профиля
Самое простое - это генерировать этот файл-привязку, а пользователю говорить что нужно его хранить отдельно и не менять. Но лучше опционально, вроде: "повысить защищенность дополнительным файлом-привязкой", кому нужно установит (только нужно описать все преимущества)

Оффлайн NA

  • Плагинописатель
  • Эксперт
  • ******
  • Сообщений: 906
  • Репутация +78/-20
    • Просмотр профиля
Генерировать - это практически сразу "палить" всю защиту (по сути имя файла по умолчанию не сильно отличается от файла лицензии по умолчанию - 99% пользователей просто нажмут "Ок").

А вот когда пользователь укажет (хотя бы относительно случайный, но реально существующий) файл - степень защиты будет повыше.
Позже можно будет добавить привязку, например, к серийнику флэшки, на которую записана портабельная версия.

P.S.: пока варианты "лицензия", "не привязывать" и "свой вариант" идут наравне. Я сначала проголосовал за "лицензию", сейчас переголосовал бы за внешний файл, но поздно.
Приглашаю обсудить мои мечты о Контактах.

Gantt... как много в этом слове. Оч ждется.

"Анонимному" минусишке: чем больше неудачников меня ненавидит, тем более правильно я живу. Твои минусы исподтишка - это настоящие плюсы мне. Спасибо!

Оффлайн Do_zent

  • Мега Модератор
  • Опытный
  • *****
  • Сообщений: 597
  • Репутация +52/-0
    • Просмотр профиля
Да, привязка к файлу очень интересный вариант!
Только привязок (путей к файлу) должно быть несколько (на тот случай, если человек работает с несколькими компьютерами), а LT носит на флешке. 
На этой флешке можно носить и файл привязки (только не привязывать к нему). Если настоящий файл привязки (например в  c:\windows\system32) потерян, то его можно восстановить с флешки. В этом случае надо знать путь - куда его положить.

Оффлайн NA

  • Плагинописатель
  • Эксперт
  • ******
  • Сообщений: 906
  • Репутация +78/-20
    • Просмотр профиля
Еще вот что подумал: настройки без пароля изменить нельзя, но можно подсмотреть большинство из них. Может, вынести настройки в отдельное окно?

Do_zent
больше того - можно носить этот файл... в голове! :D
Например, текстовик с содержимым "куда я сунул этот пароль".
Приглашаю обсудить мои мечты о Контактах.

Gantt... как много в этом слове. Оч ждется.

"Анонимному" минусишке: чем больше неудачников меня ненавидит, тем более правильно я живу. Твои минусы исподтишка - это настоящие плюсы мне. Спасибо!

Оффлайн NA

  • Плагинописатель
  • Эксперт
  • ******
  • Сообщений: 906
  • Репутация +78/-20
    • Просмотр профиля
В шапке - новая порция размышлений о внешнем виде и функционале. Отказался от нескольких органов управления в пользу меню. Нижние кнопки тоже теперь думаю выкинуть, оставил только для сравнения на время.
В связи с этим вопрос - насколько очевидно меню, особенно правая часть.

В настройки внес поправки и дополнения по обсуждениям в теме.

Немного горячих клавиш - Esc прячет и показывает правую часть формы (подробности).

Окно ввода пароля - с прозрачностью (отлупает некоторые программы удаленного управления). Может, и не надо.

А, вот еще: сделал примитивный драго-дроп правой кнопкой мыши между однострочными полями. Не пойму, нужен ли, не нужен вообще...
« Последнее редактирование: 06 Апреля 2010, 01:38:04 от NA »
Приглашаю обсудить мои мечты о Контактах.

Gantt... как много в этом слове. Оч ждется.

"Анонимному" минусишке: чем больше неудачников меня ненавидит, тем более правильно я живу. Твои минусы исподтишка - это настоящие плюсы мне. Спасибо!

Оффлайн NA

  • Плагинописатель
  • Эксперт
  • ******
  • Сообщений: 906
  • Репутация +78/-20
    • Просмотр профиля
Еще несколько нововведений в настройках, и небольшая унификация интерфейса.
Никто не обсуждает - потом переделывать не буду :)
Приглашаю обсудить мои мечты о Контактах.

Gantt... как много в этом слове. Оч ждется.

"Анонимному" минусишке: чем больше неудачников меня ненавидит, тем более правильно я живу. Твои минусы исподтишка - это настоящие плюсы мне. Спасибо!

Оффлайн NA

  • Плагинописатель
  • Эксперт
  • ******
  • Сообщений: 906
  • Репутация +78/-20
    • Просмотр профиля
Позволил себе еще один эскиз-билд. Пара дней на оседание ощущений - и наступит пора Мистера контейнера.

С интерфейсом все, если не будет серьезных доводов против.

P.S.: файл-привязка в голосовании начинает выигрывать ;) В настройках можно будет выбрать оба варианта привязки: к содержимому файла, и к его имени.

Что это дает? Можно выбрать любой стандартно названный системный файл, лежащий в нестандартном месте, независимо от его версии (а значит, и содержимого).
В качестве опоры ключа будет использоваться полный путь к файлу плюс его имя.
Приглашаю обсудить мои мечты о Контактах.

Gantt... как много в этом слове. Оч ждется.

"Анонимному" минусишке: чем больше неудачников меня ненавидит, тем более правильно я живу. Твои минусы исподтишка - это настоящие плюсы мне. Спасибо!

Оффлайн NA

  • Плагинописатель
  • Эксперт
  • ******
  • Сообщений: 906
  • Репутация +78/-20
    • Просмотр профиля
Просьба потестировать демо-контейнер (store.exe - в шапке темы).

В первую очередь пользователям "портабельного" варианта - создать контейнер на одном компьютере, а просмотреть на другом.

Как ОНО работает:
После запуска элементы становятся доступны пошагово, запутаться не удастся *bs*
Если файла не существует - он будет создан после разрешения пользователя, а текстовые поля заполнены строками по умолчанию.
Если файл был сохранен, то при следующем открытии (и вводе того же пароля, что при сохранении) должен загрузиться текст пользователя.

Можно создать любое количество контейнеров (при нажатии кнопки "Создать\загрузить" открывается диалог выбора файла).

Емкость полей - однострочное 128 знаков, многострочное - 4095.
« Последнее редактирование: 09 Апреля 2010, 17:26:28 от NA »
Приглашаю обсудить мои мечты о Контактах.

Gantt... как много в этом слове. Оч ждется.

"Анонимному" минусишке: чем больше неудачников меня ненавидит, тем более правильно я живу. Твои минусы исподтишка - это настоящие плюсы мне. Спасибо!