Security key. Where to store.
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
-
- Пользователь
- Сообщения: 113
- Зарегистрирован: 24 сен 2003, 21:52
Security key. Where to store.
Есть 3-х слойный веб апп. Браузер -> веб апп сервер -> БД.
Юзера хотят шифровать инфу, которая лежит в БД, фамилии, номера и тп. Типа засекретить данные от админов.
Я ДБА. Мне эти данные тоже видеть не полагается.
Я предложил шифровать в БД, что прозрачно для апп, но ключ давать извне.
Вопрос.
Где (и как) хранить ключ шифрования?
В БД я хранить не хочу, т.к. я им потенциально могу воспользоваться.
Хранить в Апп, веб-сервере - сисадмины могут докопаться.
Выход - раз ключ нужен юзерам - хранить у них на тонком клиенте.
Как?
Юзера хотят шифровать инфу, которая лежит в БД, фамилии, номера и тп. Типа засекретить данные от админов.
Я ДБА. Мне эти данные тоже видеть не полагается.
Я предложил шифровать в БД, что прозрачно для апп, но ключ давать извне.
Вопрос.
Где (и как) хранить ключ шифрования?
В БД я хранить не хочу, т.к. я им потенциально могу воспользоваться.
Хранить в Апп, веб-сервере - сисадмины могут докопаться.
Выход - раз ключ нужен юзерам - хранить у них на тонком клиенте.
Как?
- Marmot
- Графоман
- Сообщения: 39274
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
-
- Частый Гость
- Сообщения: 11
- Зарегистрирован: 20 фев 2003, 09:41
Вопрос: а как ты собираешься ключь передавать? Открывать SSL и делать полностью секьюрный коннекшен или просто слать бинарный файл при логине и кешировать ключ в сессии?
А вобще, это очень неуклюжее решение, да и скарость будет сильно страдать. У тебя прям шпионская параноя какая-то или это у клиента?
А как же люди держат базы данных с личной инфой, с кред. картами?
А вобще, это очень неуклюжее решение, да и скарость будет сильно страдать. У тебя прям шпионская параноя какая-то или это у клиента?
А как же люди держат базы данных с личной инфой, с кред. картами?
-
- Частый Гость
- Сообщения: 15
- Зарегистрирован: 28 фев 2003, 18:04
-
- Пользователь
- Сообщения: 113
- Зарегистрирован: 24 сен 2003, 21:52
Ключ.
Пока пришли к идее:
Данне шифруются симметричным ключем (ключ данных, КД) по ДЕС3. Етот ключ лежит в БД зашифрованный приватным ключом РСА (ПК). ПК хранится в "сейфе". Паблик ключ (ОК) "устанавливается" на тонкие клиенты. С помошю ОК клиент, или Апп, рашифровывает КД и отдает его басе данных в качестве параметров для расшифровки-зашифровки.
Я пробовал датабазную част. Довольно быстро.
Повторяю, проблема только в том как хранить-манажить ето хозяйство ключей.
Да, КД один на всех. Да и паблик кеы тоже.
И еше. Весь трафик будет засунут в ССЛ.
Данне шифруются симметричным ключем (ключ данных, КД) по ДЕС3. Етот ключ лежит в БД зашифрованный приватным ключом РСА (ПК). ПК хранится в "сейфе". Паблик ключ (ОК) "устанавливается" на тонкие клиенты. С помошю ОК клиент, или Апп, рашифровывает КД и отдает его басе данных в качестве параметров для расшифровки-зашифровки.
Я пробовал датабазную част. Довольно быстро.
Повторяю, проблема только в том как хранить-манажить ето хозяйство ключей.
Да, КД один на всех. Да и паблик кеы тоже.
И еше. Весь трафик будет засунут в ССЛ.
- Marmot
- Графоман
- Сообщения: 39274
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
Re: Ключ.
Хм, с клиента ключик скопировать могут...MarkM писал(а):Пока пришли к идее:
Данне шифруются симметричным ключем (ключ данных, КД) по ДЕС3. Етот ключ лежит в БД зашифрованный приватным ключом РСА (ПК). ПК хранится в "сейфе". Паблик ключ (ОК) "устанавливается" на тонкие клиенты. С помошю ОК клиент, или Апп, рашифровывает КД и отдает его басе данных в качестве параметров для расшифровки-зашифровки.
Я пробовал датабазную част. Довольно быстро.
Повторяю, проблема только в том как хранить-манажить ето хозяйство ключей.
Да, КД один на всех. Да и паблик кеы тоже.
И еше. Весь трафик будет засунут в ССЛ.
У меня есть другая идея
1. Берёшь токен, типа того, про который я тебе писал на кухне и инициализируешь его (у него внутри PKI computer:-) )
2. Генеришь симметричный ключ и ТУТ ЖЕ шифруешь его используя PUBLIC key из токена
3. зашифрованный ключ кладёшь на appserver
4. перед стартом appserver-а втыкаешь токен к нему в USB
5. На startupe appserver читает зашифрованный ключ, расшифровывает его используя PRIVATE key из токена и сохраняет в памяти.
6. Токен прячется к Большому Начальнику в сейф
7. Appserver может передать симметричный ключ в DB, или если захочет шифровать сам.
8. Возможность утечки ключа из appserver-а контролируется простым source code audit.
-
- Пользователь
- Сообщения: 113
- Зарегистрирован: 24 сен 2003, 21:52
[trn]Ne hotelos' by podkljuchat' eto prjamo k app serveru
[trn]
1. usera ne imejut fizicheskij dostup k serveru.
2. developery, i sysadminy, supportery potencial'no mogut imet' dostup.
hotelos'by reshenie na kliente, hotja by na odnoj tachke, Glavnogo Usera.
[/trn][/trn]
1. usera ne imejut fizicheskij dostup k serveru.
2. developery, i sysadminy, supportery potencial'no mogut imet' dostup.
hotelos'by reshenie na kliente, hotja by na odnoj tachke, Glavnogo Usera.
[/trn][/trn]
- Marmot
- Графоман
- Сообщения: 39274
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
Re: [trn]Ne hotelos' by podkljuchat' eto prjamo k app server
А им и не надо!MarkM писал(а):[trn]
1. usera ne imejut fizicheskij dostup k serveru.
[/trn]
MarkM писал(а):[trn]2. developery, i sysadminy, supportery potencial'no mogut imet' dostup.
hotelos'by reshenie na kliente, hotja by na odnoj tachke, Glavnogo Usera.
[/trn]
Ну и пусть, вытащить ключ из памяти - это надо ну очень сильно стараться, запускать appserver под дебагером с токеном в USB
Я не понял, чем тебе такой подход не нравится?
Токен нужен только в момент старта appserver-а, потом его убирают в сейф и всё...
Симметричный ключ из памяти хрен вытащишь, а для расшифровки нужен токен, который лежит в сейфе...
Правда в этом случае рестарт сервера превращается в этакую "торжественную" процедуру, но это даже лучше, начальство будет видеть, что без него ну никак

-
- Пользователь
- Сообщения: 113
- Зарегистрирован: 24 сен 2003, 21:52
[trn]ne, nu eto ne ser'ezno[/trn]
[trn] nado razvjazat' restarty i uzerov. oni ne dolzhny zaviset'. da i vodit' "Glavnogo Uzera" v servernuju, ne solidno kak to, tem bolee esli oni v drugom rajone goroda.
luchshe skazhi, mozhno li skormit' kljuch v pamjat' app servera s klienta.
T.e. token vtykat' ne v server a v rabochuju stanciju Glavnogo Uzera.
Smozhet li brauzer zalezt' v token, vytashit' kljuch i otdat' App Serveru?[/trn][/trn]
luchshe skazhi, mozhno li skormit' kljuch v pamjat' app servera s klienta.
T.e. token vtykat' ne v server a v rabochuju stanciju Glavnogo Uzera.
Smozhet li brauzer zalezt' v token, vytashit' kljuch i otdat' App Serveru?[/trn][/trn]
- Marmot
- Графоман
- Сообщения: 39274
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
Тут имеются некоторые сложности.
Browser передаёт только сертификат, ключ можно туда засунуть как extention, но это плохо.
Можно использовать webservices, написать маленькую аппликуху (command line) которая открывает токен, достаёт PRIVATE key, посылает на сервер, который расшифровывает симметричный ключ.
Но это надо делать опять после каждого рестарта.
Browser передаёт только сертификат, ключ можно туда засунуть как extention, но это плохо.
Можно использовать webservices, написать маленькую аппликуху (command line) которая открывает токен, достаёт PRIVATE key, посылает на сервер, который расшифровывает симметричный ключ.
Но это надо делать опять после каждого рестарта.
-
- Пользователь
- Сообщения: 113
- Зарегистрирован: 24 сен 2003, 21:52
-- Browser передаёт только сертификат, ключ можно туда засунуть как extention, но это плохо.
[trn]Pochemu ploho? Mozhno imet' 2 certifikata. 1-j dlja SSL sojedinenija, vtoroj kak konvert dlja simmetr kljucha. Esli Web App smozhet zaprosit' vtoroj sert, i vytashit' iz nego kljuch, to tak mozhno delat' ne tol'ko pri restartah no i pri kazhdom konnekte. Ja ne Java programmer, i ne znaju est' li tam API dlja zaprosa sertifikatov iz brausera. Dumaju est'.[/trn]
[trn]Pochemu ploho? Mozhno imet' 2 certifikata. 1-j dlja SSL sojedinenija, vtoroj kak konvert dlja simmetr kljucha. Esli Web App smozhet zaprosit' vtoroj sert, i vytashit' iz nego kljuch, to tak mozhno delat' ne tol'ko pri restartah no i pri kazhdom konnekte. Ja ne Java programmer, i ne znaju est' li tam API dlja zaprosa sertifikatov iz brausera. Dumaju est'.[/trn]
- Marmot
- Графоман
- Сообщения: 39274
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
В Java есть API для доступа к сертификату который был использован для инициализации SSL connection, и только к этом сертификату.MarkM писал(а):-- Browser передаёт только сертификат, ключ можно туда засунуть как extention, но это плохо.
[trn]Pochemu ploho? Mozhno imet' 2 certifikata. 1-j dlja SSL sojedinenija, vtoroj kak konvert dlja simmetr kljucha. Esli Web App smozhet zaprosit' vtoroj sert, i vytashit' iz nego kljuch, to tak mozhno delat' ne tol'ko pri restartah no i pri kazhdom konnekte. Ja ne Java programmer, i ne znaju est' li tam API dlja zaprosa sertifikatov iz brausera. Dumaju est'.[/trn]
т.е можно получить доступ только к тому, что засуното в это единственный сертификат.
А вообще сколько у вас юзверей-то?
-
- Частый Гость
- Сообщения: 15
- Зарегистрирован: 28 фев 2003, 18:04
-
- Пользователь
- Сообщения: 113
- Зарегистрирован: 24 сен 2003, 21:52
[trl]marmotu.
userov eshe ne znaju skoka.
imho, esli dlja SSL soedinenija, kotoroe budet sekjurno, ispol'zuetsja sertifikat, to hranenie kljucha v takom sertifikate dostatochno sekjurno.
Pravil'no? Ved' tam vnutri vse zashifrovano?
Ivanu,
Teoreticheski da. Tak chto, zastavljat' usera kopi-pejst kljuch v eto pole?
userov eshe ne znaju skoka.
imho, esli dlja SSL soedinenija, kotoroe budet sekjurno, ispol'zuetsja sertifikat, to hranenie kljucha v takom sertifikate dostatochno sekjurno.
Pravil'no? Ved' tam vnutri vse zashifrovano?
Ivanu,
Teoreticheski da. Tak chto, zastavljat' usera kopi-pejst kljuch v eto pole?
-
- Частый Гость
- Сообщения: 15
- Зарегистрирован: 28 фев 2003, 18:04

Только не смейся ладно...я тут все вникаю, потому что скоро мне надо будет тоже заняться безопасностью нашего проекта, а не для того чтобы тут крассоваться...
Вот такая еще идея: на маленьком CD (типа визитки) пишется ключ. На этом CD по аутозапуску запускается маленткая апликуха которая автоматом пишет этот ключ в то поле...
