Не уверен.
1) Сервис пропишет все права обратно, он же этим и занимается.
2) Даже если посчитать что убрать права достаточно — эти ветки созданы для настроек игр (ну как я понял) и хз что сломается, если права убрать.
Строго говоря, нет ничего плохого, чтобы делать какие-то операции через симлинки. Ведь для этого они и были придуманы.
Без стима это все делать нельзя по ряду причин:
1) Симлинки из менее защищенных веток в более защищенные не работают (условно говоря, симлинк из HKCU в HKLM не будет работать).
2) Чтобы создать симлинк в HKLM в 99,99% ключей нужно уже иметь права администратора, по дефолтным правам доступа.
У МС весьма своеобразные представления о том, что является границами безопасности. Даже среди своих компонентов они не все считают необходимым защищать. В стороннее ПО они не полезут и подавно. Например, посмотрите на мой обход UAC (https://habr.com/ru/company/pm/blog/328008/) — до сих пор работает.
Я думал об уведомлении MS, учитывая, что они как раз опубликовали Safe Harbor (https://www.microsoft.com/en-us/msrc/bounty-safe-harbor), но все же ситуация не та — MS не виноваты и Valve не третья сторона, а первая.
MS не виноват и, в общем смысле вряд ли, имеет право указывать на ошибки.
В любом случае будет. Сначала я планирую дать некоторое время на решение всем желающим (недели две, я думаю, хватит за глаза), может кто-то из решивших напишет райтапы. Если нет, то сам опубликую решения.
В-третьих, само построение протокола скрывает шаги аутентификации, поэтому у третьей стороны в общем случае нет способа понять, для кого и когда дергать рубильник.
Вот эти строки навели на мысли. Потому что из текущего описания мне понятно в какой момент дергать рубильник. Неизвестно только если вы скрываете алгоритм.
Использование PKI легко определить даже на глаз, она решает задачу явной аутентификации, а не скрытой
Если посылки запихнуть в стегу, то будет не видно по вашей логике.
Для этого как раз потребуется держать общий ключ и, что важнее, алгоритм в секрете. Я думал, тут речь о криптографии)
О том и речь, что сейчас я вижу базу вашего алгоритма именно в этом.
одноразовые, поэтому знание M противнику ничего не даст — набор данных уже был использован.
Я понимаю, что можно взять миллион вариантов для M, но не вижу смысла тратить место, если PKI решает все это проще.
у третьей стороны в общем случае нет способа понять, для кого и когда дергать рубильник
При таком доверии к стеганке — просто в первом же сообщении отправляйте секретные данные. Сам факт использования стеганки будет означать, что А и Б из одного агентства. Если кто-то из них левый человек, то либо данные не будут извлечены, либо не будут положены — хуже не сделается.
В классических системах с открытым ключом передаваться между сторонами будет около-случайный набор байт, который сам по себе содержит информацию о связи двух лиц, а именно — они хотят что-то скрыть от посторонних, а сама форма данных может даже раскрывать сампротокол. Я стараюсь решить именно эту задачу, не давая наблюдателю абсолютно никакой информации об обмене информации
Если цель такая, то прошу прощения, я думал тут речь о криптографии. А придумывать системы которые базируются на неразглашении алгоритма можно по 10 штук за час.
Как будто владея набором байт, который является частью из классической схемы разделения можно что-то сделать до обмена сообщениями. Вот никак не вижу усиления от того, что стеганка используется как часть секрета.
Давайте посмотрим на такую ситуацию — некоторая служба знает алгоритм (Керкгоффс), предполагает что некоторые Алиса и Боб шпионы, но не имеет доступа к их данным, только к обмену. Они видят что А и Б обменялись картинкой и репликой. В этот момент им нужно щелкнуть переключателем, чтобы разорвать связь А и Б (забанить на площадке общения, как вариант). Теперь кто угодно, знающий ответную реплику, может выдавать себя за А. Да, можно запастись миллионом исходных фраз. Но очевидным улучшением будет идея не заготавливать такие фразы, а иметь возможность проверять это как-то на лету. И тут мы получаем самую обычную PKI с сертификатами и подписями, которую можно использовать для любого алгоритма взаимной аутентификации.
Я не очень понимаю назначение вашего протокола, в плане какой недостаток он нивелирует? Общий секрет все равно есть, просто в производном виде. MITM как работал, так и работает.
Поскольку я все же осилил пройти через все описание автора краткий итог:
Автор придумал свой вариант пороговой схемы разделения секрета (2,2) и предлагает его использовать в двусторонней аутентификации.
Центр генерирует некоторый секрет и делит его по схеме на две части.
До обмена сообщениями первый участник (А) получает только свою часть, а второй (Б) свою часть и способ проверки (хэш).
Во время обмена Б отправляет А свою часть, А собирает секрет и отправляет его Б, Б проверяет.
Первая пересылка маскируется стеганкой, вторая маскируется тем, что общий секрет выбран так, что похож на нормальную ответную реплику.
Надежность схемы разделения мне разбирать лень, но, честно говоря, но по косвенным признакам она не похожа на безопасную, хотя могу ошибаться.
Глобально алгоритм лучше чем аутентификация плейнтекстом, но, я думаю, что хуже, чем классические challenge–response.
1) Сервис пропишет все права обратно, он же этим и занимается.
2) Даже если посчитать что убрать права достаточно — эти ветки созданы для настроек игр (ну как я понял) и хз что сломается, если права убрать.
Без стима это все делать нельзя по ряду причин:
1) Симлинки из менее защищенных веток в более защищенные не работают (условно говоря, симлинк из HKCU в HKLM не будет работать).
2) Чтобы создать симлинк в HKLM в 99,99% ключей нужно уже иметь права администратора, по дефолтным правам доступа.
MS не виноват и, в общем смысле вряд ли, имеет право указывать на ошибки.
Вот эти строки навели на мысли. Потому что из текущего описания мне понятно в какой момент дергать рубильник. Неизвестно только если вы скрываете алгоритм.
Если посылки запихнуть в стегу, то будет не видно по вашей логике.
О том и речь, что сейчас я вижу базу вашего алгоритма именно в этом.
Я понимаю, что можно взять миллион вариантов для M, но не вижу смысла тратить место, если PKI решает все это проще.
При таком доверии к стеганке — просто в первом же сообщении отправляйте секретные данные. Сам факт использования стеганки будет означать, что А и Б из одного агентства. Если кто-то из них левый человек, то либо данные не будут извлечены, либо не будут положены — хуже не сделается.
Если цель такая, то прошу прощения, я думал тут речь о криптографии. А придумывать системы которые базируются на неразглашении алгоритма можно по 10 штук за час.
Давайте посмотрим на такую ситуацию — некоторая служба знает алгоритм (Керкгоффс), предполагает что некоторые Алиса и Боб шпионы, но не имеет доступа к их данным, только к обмену. Они видят что А и Б обменялись картинкой и репликой. В этот момент им нужно щелкнуть переключателем, чтобы разорвать связь А и Б (забанить на площадке общения, как вариант). Теперь кто угодно, знающий ответную реплику, может выдавать себя за А. Да, можно запастись миллионом исходных фраз. Но очевидным улучшением будет идея не заготавливать такие фразы, а иметь возможность проверять это как-то на лету. И тут мы получаем самую обычную PKI с сертификатами и подписями, которую можно использовать для любого алгоритма взаимной аутентификации.
Я не очень понимаю назначение вашего протокола, в плане какой недостаток он нивелирует? Общий секрет все равно есть, просто в производном виде. MITM как работал, так и работает.
Автор придумал свой вариант пороговой схемы разделения секрета (2,2) и предлагает его использовать в двусторонней аутентификации.
Центр генерирует некоторый секрет и делит его по схеме на две части.
До обмена сообщениями первый участник (А) получает только свою часть, а второй (Б) свою часть и способ проверки (хэш).
Во время обмена Б отправляет А свою часть, А собирает секрет и отправляет его Б, Б проверяет.
Первая пересылка маскируется стеганкой, вторая маскируется тем, что общий секрет выбран так, что похож на нормальную ответную реплику.
Надежность схемы разделения мне разбирать лень, но, честно говоря, но по косвенным признакам она не похожа на безопасную, хотя могу ошибаться.
Глобально алгоритм лучше чем аутентификация плейнтекстом, но, я думаю, что хуже, чем классические challenge–response.
The Windows command to update Group Policy is “gpupdate”
Guess which just launched when I typed it into the start menu.
источник