<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Guardant &mdash; Переход от защиты 2-го поколения к защите 3-го]]></title>
	<link rel="self" href="https://forum.guardant.ru/feed/atom/topic/15" />
	<updated>2015-06-23T06:21:18Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.guardant.ru/topic/15/</id>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/2729/#p2729" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Святослав пишет:</cite><blockquote><p>Я правильно понимаю, что на ключах Sign эти алгоритмы вообще не предусмотрены и данные, зашифрованные ключом StealthII функциями nskEnCode/nnkEnCode, расшифровать ключом Sign не получится?</p></blockquote></div><p>Да, все верно.</p>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2015-06-23T06:21:18Z</updated>
			<id>https://forum.guardant.ru/post/2729/#p2729</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/2725/#p2725" />
			<content type="html"><![CDATA[<p>К сожалению, в написанной версии защиты на ключах StealthII, базы данных расшифровываются с помощью функций nskCodeInit/nnkCodeInit, nskDeCode/nnkDeCode алгоритмом 1(Fast). Я правильно понимаю, что на ключах Sign эти алгоритмы вообще не предусмотрены и данные, зашифрованные ключом StealthII функциями nskEnCode/nnkEnCode, расшифровать ключом Sign не получится?</p>]]></content>
			<author>
				<name><![CDATA[Святослав]]></name>
				<uri>https://forum.guardant.ru/user/961/</uri>
			</author>
			<updated>2015-06-19T14:30:08Z</updated>
			<id>https://forum.guardant.ru/post/2725/#p2725</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/2700/#p2700" />
			<content type="html"><![CDATA[<p>Здравствуйте.<br /></p><div class="quotebox"><cite>Святослав пишет:</cite><blockquote><p>Возможно ли в принципе дописать защиту так, чтобы программа определяла какой ключ используется и в зависимости от этого вызывала разные функции для расшифровки данных, при этом сами данные были одни и те же для разных типов ключей?</p></blockquote></div><p>Определить тип (модель) используемого электронного ключа не сложно, достаточно после вызова функции <em><a href="http://developer.guardant.ru/display/DOC/GrdFind">GrdFind</a></em> воспользоваться структурой <em>TGrdFindInfo</em> или воспользоваться функцией <a href="http://developer.guardant.ru/display/DOC/GrdGetInfo">GrdGetInfo</a>. Однако, для того, чтобы расшифровать некоторые данные определенным алгоритмом, нужно чтобы эти данные, предварительно, были зашифрованы именно таким алгоритмом.</p><p>Наиболее просто осуществить миграцию с заданными условиями можно при помощи аппаратного алгоритма симметричного шифрования <strong>GSII64</strong>, поддержка которого имеется как в ключах Guardant Stealth II, так и в современных Guardant Sign. Таким образом, используя данный аппаратный алгоритм и идентичные определители, можно будет шифровать\дешифровать одинаковые данные при помощи ключей обоих типов.</p>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2015-06-04T11:54:35Z</updated>
			<id>https://forum.guardant.ru/post/2700/#p2700</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/2698/#p2698" />
			<content type="html"><![CDATA[<p>Нам также необходимо перейти со Stealth II на Sign. Проблема в том, что у нас около 50000 пользователей, защита была написана с использованием алгоритмов Encode/Decode на 4 версии API. Возможно ли в принципе дописать защиту так, чтобы программа определяла какой ключ используется и в зависимости от этого вызывала разные функции для расшифровки данных, при этом сами данные были одни и те же для разных типов ключей?</p>]]></content>
			<author>
				<name><![CDATA[Святослав]]></name>
				<uri>https://forum.guardant.ru/user/961/</uri>
			</author>
			<updated>2015-06-02T14:43:23Z</updated>
			<id>https://forum.guardant.ru/post/2698/#p2698</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/846/#p846" />
			<content type="html"><![CDATA[<p>Антон, мы всё переписали. Спасибо за помощь.</p>]]></content>
			<author>
				<name><![CDATA[plohushko]]></name>
				<uri>https://forum.guardant.ru/user/17/</uri>
			</author>
			<updated>2012-04-10T08:10:29Z</updated>
			<id>https://forum.guardant.ru/post/846/#p846</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/826/#p826" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>plohushko пишет:</cite><blockquote><p>Антон, какую функцию использовать???<br />На 4 версии мы использовали Transformex и Encode/Decode.<br />Какие функции можно использовать сейчас, чтобы быть уверенным, что вы их сохраните в следующих API ???</p></blockquote></div><p>Как и было сказано в предыдущем посте:<br /></p><div class="quotebox"><cite>AndreyStepin пишет:</cite><blockquote><p>переделать на софтовый AES вряд ли нужно много времени, а он точно стандарт</p></blockquote></div><p>лучше воспользоватся софтверной реализацией алгоритма AES. Для этого нужно вызывать <em>GrdCrypt/GrdCryptEx</em> с параметром <em>dwAlgo</em> = <em>GrdSC_AES256</em>.</p>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2012-04-02T12:29:32Z</updated>
			<id>https://forum.guardant.ru/post/826/#p826</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/825/#p825" />
			<content type="html"><![CDATA[<p>Антон, какую функцию использовать???<br />На 4 версии мы использовали Transformex и Encode/Decode.<br />Какие функции можно использовать сейчас, чтобы быть уверенным, что вы их сохраните в следующих API ???</p>]]></content>
			<author>
				<name><![CDATA[plohushko]]></name>
				<uri>https://forum.guardant.ru/user/17/</uri>
			</author>
			<updated>2012-04-02T11:49:47Z</updated>
			<id>https://forum.guardant.ru/post/825/#p825</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/824/#p824" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>plohushko пишет:</cite><blockquote><p>В нашем случае это очень плохо.<br />Поскольку на Encode на API 4 была завязана защита паролей для дальнейшего использования в функции Transformex. <br />А это три таблицы по 256 строк + 10 постоянных констант.<br />Причем вызов Decode осуществляется&nbsp; в более чем 100 процедурах.<br />Нам, чтобы заново сформировать таблицы для API 5 надо будет не менее месяца...:(<br />Да и потом главный вопрос, рационально ли это делать ??? <br />Если программный алгоритм Encode меняется от версии к версии,<br />то есть вероятность, что при переходе к следующей версии придется опять всё переписывать...<br />Честно говоря, даже не знаю как поступить...<br />Полностью менять всю логику защиты ? <br />Это месяца два работы, это значит что проект, который мы должны сдать, уже по срокам точно срываем.<br />При этом надо обязательно переходить на ключи Sign...<br />Одно слово, засада...</p></blockquote></div><p>Действительно, ситуация получается довольно странная. К сожалению, алгоритмы Encode/Decode являются устаревшими, были оставлены в 5ом АПИ только для совместимости и их использование очень не рекомендуется (об этом прямо говорится в документации). Выявленное поведение Encode в режиме ASCII в принципе можно считать и ошибкой. Проблема в том, что этой функцией в 5 API практически никто не пользуется и исправление ошибки будет происходит в очень низкоприоритетном режиме (т.е. счет идет на несколько месяцев, не раньше).</p><p>Могу лишь порекомендовать полностью отказаться от этой функции (уверен, что в можете найти и оперативное решение - переделать на софтовый AES вряд ли нужно много времени, а он точно стандарт). В случае если вы переделаете таблицы на новую функцию Encode, не могу гарантировать что мы не исправим это поведение через несколько месяцев и функционирование Encode не вернется к 4 версии API.</p><p>Перейти на Sign со вторых Stealth и четвертого API увы не получится &quot;без потерь&quot;.</p>]]></content>
			<author>
				<name><![CDATA[AndreyStepin]]></name>
				<uri>https://forum.guardant.ru/user/8/</uri>
			</author>
			<updated>2012-04-02T11:13:57Z</updated>
			<id>https://forum.guardant.ru/post/824/#p824</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/819/#p819" />
			<content type="html"><![CDATA[<p>В нашем случае это очень плохо.<br />Поскольку на Encode на API 4 была завязана защита паролей для дальнейшего использования в функции Transformex. <br />А это три таблицы по 256 строк + 10 постоянных констант.<br />Причем вызов Decode осуществляется&nbsp; в более чем 100 процедурах.<br />Нам, чтобы заново сформировать таблицы для API 5 надо будет не менее месяца...:(<br />Да и потом главный вопрос, рационально ли это делать ??? <br />Если программный алгоритм Encode меняется от версии к версии,<br />то есть вероятность, что при переходе к следующей версии придется опять всё переписывать...<br />Честно говоря, даже не знаю как поступить...<br />Полностью менять всю логику защиты ? <br />Это месяца два работы, это значит что проект, который мы должны сдать, уже по срокам точно срываем.<br />При этом надо обязательно переходить на ключи Sign...<br />Одно слово, засада...</p>]]></content>
			<author>
				<name><![CDATA[plohushko]]></name>
				<uri>https://forum.guardant.ru/user/17/</uri>
			</author>
			<updated>2012-04-02T08:11:11Z</updated>
			<id>https://forum.guardant.ru/post/819/#p819</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/818/#p818" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>plohushko пишет:</cite><blockquote><p>Антон, я сделал тестовый пример для 4 и 5 API.<br />По результатам видно, что идет несовпадение результатов при вызове EnCode и GrdEnCode для метода ASCII.</p></blockquote></div><p>Подобное несовпадение <span class="bbu">НЕ является</span> результатом, какой либо ошибки т.к. эти функции исключительно софтовые и алгоритм шифрования (а следственно и «вид» зашифрованных данных) для них может изменяться от версии к версии Guardant API. </p><p>Главное здесь то, что дешифрация проходит корректно.</p>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2012-04-02T07:52:39Z</updated>
			<id>https://forum.guardant.ru/post/818/#p818</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/817/#p817" />
			<content type="html"><![CDATA[<p>Антон, я сделал тестовый пример для 4 и 5 API.</p><p>По результатам видно, что идет несовпадение результатов при вызове EnCode и GrdEnCode для метода ASCII.</p><p><span class="postimg"><a class="fancybox fancybox.image" rel="group" href="https://forum.guardant.ru/uploads/legacy/0/500/817/p16pk3jnv51pif1ot6bra1al51rki1.jpg"><img class="fb_img" src="https://forum.guardant.ru/uploads/legacy/0/500/817/thumb/p16pk3jnv51pif1ot6bra1al51rki1.jpg" alt="" /></a></span></p><p>На почту отправил тестовые примеры для Delphi вместе с проектами и скриншот результатов.</p>]]></content>
			<author>
				<name><![CDATA[plohushko]]></name>
				<uri>https://forum.guardant.ru/user/17/</uri>
			</author>
			<updated>2012-03-31T09:10:28Z</updated>
			<id>https://forum.guardant.ru/post/817/#p817</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/815/#p815" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>plohushko пишет:</cite><blockquote><p>проверил, к этому файлу в модуле grddelphi.pas путь прописан,<br />файл там лежит...<br />т.е. вроде всё корректно, но результаты разные...<br />куда дальше копать не понятно</p></blockquote></div><p>Хочу еще раз особо подчеркнуть, что функции EnCode\DeCode версий 4.8 и 5.х работают корректно - т. е. расшифрованные данные идентичны, как Вы сами можете убедиться из наших примеров.&nbsp; Т. о. природа проблемы, скорее всего носит частный характер.</p><p>Поэтому&nbsp; для того, чтобы мы все-таки смогли обнаружить причину описанного Вами поведения софтовых функций, выполните следующие, обязательные, действия:<br />1)&nbsp; &nbsp; Соберите, пожалуйста, два небольших теста, на которых _проявляется данный эффект_: то есть просто использование данных функций для API v4 и v5 с явно передаваемым паролем. Пришлите полный тестовый проект нам на <a href="mailto:hotline@guardant.ru">почту</a>;<br />2)&nbsp; &nbsp; Обязательно уточните какая\ие <a href="https://forum.guardant.ru/post/2/#p2">верия-и</a> (если, например, для тестов используются различные версии драйверов, то обязательно укажите какие и для какого API) драйвера Guardant используется?</p><p>Это необходимые условия решения проблемы. Без этого определить, в чем она состоит, мы не можем.</p>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2012-03-30T13:01:05Z</updated>
			<id>https://forum.guardant.ru/post/815/#p815</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/814/#p814" />
			<content type="html"><![CDATA[<p>проверил, к этому файлу в модуле grddelphi.pas путь прописан,<br />файл там лежит...<br />т.е. вроде всё корректно, но результаты разные...<br />куда дальше копать не понятно</p>]]></content>
			<author>
				<name><![CDATA[plohushko]]></name>
				<uri>https://forum.guardant.ru/user/17/</uri>
			</author>
			<updated>2012-03-30T11:55:28Z</updated>
			<id>https://forum.guardant.ru/post/814/#p814</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/813/#p813" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>plohushko пишет:</cite><blockquote><p>Антон, моя почта wbp@mail.ru</p></blockquote></div><p>Отправил письмо.</p>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2012-03-30T09:53:07Z</updated>
			<id>https://forum.guardant.ru/post/813/#p813</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Переход от защиты 2-го поколения к защите 3-го]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/812/#p812" />
			<content type="html"><![CDATA[<p>Антон, моя почта wbp@mail.ru</p>]]></content>
			<author>
				<name><![CDATA[plohushko]]></name>
				<uri>https://forum.guardant.ru/user/17/</uri>
			</author>
			<updated>2012-03-30T09:36:57Z</updated>
			<id>https://forum.guardant.ru/post/812/#p812</id>
		</entry>
</feed>
