Author Topic: Хранилище сертификатов  (Read 872 times)

0 Members and 1 Guest are viewing this topic.

Offline Erjo Loksn

  • Newbie
  • *
  • Posts: 23
Хранилище сертификатов
« on: 07 08 2020, 07:34:19 »
Мне представляется, что имеет смысл добавить такую опцию, как собственное хранилище корневых ssl-сертификатов (в виде обычного файла в папке Миранды), чтобы Миранда могла пользоваться вместо системных сертификатов собственными. Например, будет полезно, когда человек ходит с флешкой и запускает Миранду с чужих компьютеров.
« Last Edit: 07 08 2020, 07:36:39 by Erjo Loksn »
 

Offline ghazan

Re: Хранилище сертификатов
« Reply #1 on: 07 08 2020, 15:32:17 »
Erjo Loksn,
ага, пиджин со своими сертами, миранда со своими сертами, MSYS со своими etc
может уже под виндой делать как положено, с единым хранилищем?
 

Offline Erjo Loksn

  • Newbie
  • *
  • Posts: 23
Re: Хранилище сертификатов
« Reply #2 on: 07 08 2020, 16:14:12 »
Большим достоинством Миранды является то, что она абсолютно портативна - её можно записать на флешку и запускать откуда угодно. Это достоинство может уменьшаться за счёт отсутствия собственного хранилища сертификатов - это приводит к тому, что Миранда не сможет запуститься там, где хранилище Windows по каким-либо причинам не функционирует (точнее, сможет, но только после того, как будет отключена проверка сертификатов, что приводит к риску атаки MITM). Также  MITM возможен при запуске с компьютера, где специально установлены "плохие" сертификаты с целью слежки за пользователями. Все эти проблемы будут устранены, если у Миранды появится возможность использовать собственное хранилище сертификатов. Что касаемо того, каким ещё программам имеет смысл использовать собственное хранилище - то тут всё зависит от ситуации. Разумеется, польза от собственного хранилища может быть сомнительна, если программа в принципе не является портативной.
 

Offline dartraiden

Re: Хранилище сертификатов
« Reply #3 on: 08 08 2020, 15:45:55 »
Не менее большим достоинством Миранды является использование всего, что Windows предоставляет нативно, в том числе WinCrypto и системного хранилища сертификатов (OpenSSL мы вынуждены тащить лишь ради Windows XP, встроенная криптография которой уже не позволяет подключаться многим протоколам, поскольку серверы требуют поддержку современного крипто).

За счёт этого она имеет небольшой размер и очень скромные требования (оборотная сторона - невозможность кроссплатформенности).

Впрочем, можно завести фичреквест, возможно, когда-нибудь кто-нибудь захочет этим заниматься.
« Last Edit: 08 08 2020, 15:58:46 by dartraiden »
 

Offline Erjo Loksn

  • Newbie
  • *
  • Posts: 23
Re: Хранилище сертификатов
« Reply #4 on: 09 08 2020, 10:04:22 »
А я вот тут задумался: а как оно работает в Wine? Нет, сам я никогда не пробовал запускать Миранду в Wine, просто интересно. Там есть какое-то "системное" хранилище сертификатов, или люди, запускающие Миранду в Wine, просто плюют на то, что их переписка может быть перехвачена, и отключают проверку сертификатов? Нет, в принципе понятно, подавляющее большинство людей вообще считает, что им особо скрывать нечего, и на всю эту безосность им глубоко наплевать. Но вот а я хочу, чтобы было безопаснее. В реальности мне было бы интересно, чтобы у меня для Миранды было отдельное хранилище, даже по вот такому простому соображению: в системном хранилище сертификатов у меня хранится огромное количество корневых сертификатов, выпущенных самыми разными центрами. И каждый из этих центров технически может выпустить фальшивые сертификаты для того же Скайпа, Агента и т.п. И я при этом ничего не замечу. Понятно, что это крайне маловероятно, но всё же технически здесь ничего невозможного нет. Именно по этой причине мне было бы приятно иметь для Миранды своё собственное хранилище, где лежали бы только чётко те парочку сертификатов, которыми действительно пользуется Миранда, чтобы вероятность такой атаки была бы равна нулю. В Mozilla Firefox для предотвращения таких атак есть плагин Certificate Patrol, а для Миранды, учитывая то, что она коннектится всего-то к нескольким серверам, достаточно было бы просто иметь своё собственное хранилище.
 

Offline Erjo Loksn

  • Newbie
  • *
  • Posts: 23
Re: Хранилище сертификатов
« Reply #5 on: 09 08 2020, 10:31:41 »
Ещё один вопрос: завести фичреквест - это написать в раздел форума Feature request? Это всё действительно имеет смысл делать? Есть программисты, которые просматривают тот раздел форума, но не просматривают этот? Если такое есть, то я, может, когда соберусь с мыслями - то напишу туда, причём не только по этому вопросу. Но сначала мне нужно знать, что в этом есть смысл.
 

Offline dartraiden

Re: Хранилище сертификатов
« Reply #6 on: 09 08 2020, 10:53:04 »
Там есть какое-то "системное" хранилище сертификатов
Ни разу не интересовался, но в Linux, в общем-то, есть пакеты ca-certificates и ca-bundle, которые, например, используются wget и curl для работы по https. Возможно, Wine использует их.

Quote
люди, запускающие Миранду в Wine, просто плюют на то, что их переписка может быть перехвачена
Вернёмся к Windows, установка плагина OpenSSL не решает проблему?
Ещё нужно понимать, что мы не будет тащить поддержку XP вечно, а делать такой мощный костыль ради давно мертвой операционки...

щё один вопрос: завести фичреквест - это написать в раздел форума Feature request?
Это значит завести тикет в багтрекере.
Всё, что пользователи пишут на форуме, в итоге, всё равно мною переносится в багтрекер, поэтому при наличии каких-то хотелок или баг-репортов их можно сразу создавать в багтрекере, что сэкономит мне время :D

хотя, конкретно по этой хотелке создавать смысла мало, @ghazan это реализовывать не хочет, а других кодеров у нас нет. Возможно, когда-нибудь они появятся.
« Last Edit: 09 08 2020, 11:00:28 by dartraiden »
 

Offline Erjo Loksn

  • Newbie
  • *
  • Posts: 23
Re: Хранилище сертификатов
« Reply #7 on: 09 08 2020, 11:16:36 »
В смысле - при установке плагина OpenSSL есть возможность пользоваться собственным (не системным) хранилищем сертификатов? Насколько я смотрел, при установке OpenSSL происходит лишь то, что реализация SSL-соединения происходит через библиотеку OpenSSL, а не через системную библиотеку библиотеку Windows, которая называется SChannel. И всё. Сертификаты плагин тоже берёт из системного хранилища. Или есть возможность, чтобы брал свои собственные? Как это в таком случае сделать?
 

Offline dartraiden

Re: Хранилище сертификатов
« Reply #8 on: 09 08 2020, 11:28:18 »
Я не программист. Знаю, что у OpenSSL при сборке есть ключ --openssldir=/полный/путь/к/сертификатам
Возможно, если пересобрать ssleay и libeay, то может что-то и получится.
(как их пересобирать, я не знаю, в солюшне их нет)
 

Offline Erjo Loksn

  • Newbie
  • *
  • Posts: 23
Re: Хранилище сертификатов
« Reply #9 on: 09 08 2020, 13:00:48 »
По-моему, именно плагин OpenSSL.dll берёт системные сертификаты и скармливает их библиотеке openssl.  Именно по этой причине я думаю, что для программистов сделать в виде опции так, чтобы он скармливал своё собственное хранилище в виде pem-файла в папке Миранды - это задача абсолютно несложная.