2013-05-29 3 views
0

Один из наших клиентов требует, чтобы мы зашифровали возврат сообщения из нашей веб-службы с помощью AES 256 & Шифрование с открытым ключом Сторона сервера (веб-служба) основана на Java. Клиентская сторона может быть java или .Net.JAVA AES 256 и шифрование с открытым ключом

Я не знаком ни с одной из методологии шифрования и не может найти ни одного примера, который я начал получать ...

Может ли это быть даже реализована AES 256 & Public Key Encryption?

Как это работает (шифрование с открытым ключом)?

Пожалуйста, направьте меня на пример, который поможет мне начать.

+0

Нам нужно, чтобы вы были более точными, сначала AES является симметричным алгоритмом шифрования, так как симметричный он не работает с частными/открытыми ключами, которые являются асимметричными. Или ваш веб-сервис настолько чувствителен, что его нужно дважды зашифровать? – gma

+0

Вы хотите использовать SSL/TLS. В Java это обеспечивается классами и API, которые составляют [JSSE] (http://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html) –

+0

Обычно, что такое используемым в этом случае, является шифрование со случайным ключом AES, который, в свою очередь, зашифровывается открытым ключом, предоставленным клиентом. Но, поскольку вы полностью не осознаете криптографии, не говоря уже о всех подводных камнях, я бы очень посоветовал вам нанять профессионала. Если вам это удастся, настройте TLS как предложенный GregS с помощью Cipher Suite, который включает шифрование AES. –

ответ

2

AES256 - это конкретная схема шифрования symmetric, которая требует, чтобы связывающие стороны имели предварительно разделенный ключ шифрования. Public-key cryptography, с другой стороны, является асимметричным принципом шифрования, где каждая сообщающаяся сторона имеет открытый ключ, общий для каждого, и закрытый ключ, который он хранит в секрете. Типичным примером для последнего будет RSA.

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

+0

Это то, что нам потребовало от отдела ИТ Secuirty, Risk & Compliance (ITSRC). У меня нет знаний в этой области, поэтому мысль о том, что если это то, что спросили, они знают, что они говорят ... Если я правильно понял, я не могу реализовать как криптографию AES256, так и криптографию с открытым ключом, правильно? – user2046810

+0

При использовании TLS/SSL используются как симметричное, так и асимметричное шифрование (как указано выше в GregS), возможно, ваш отдел ответил на это. – korius

Смежные вопросы