Использование RSA (с openssl) в противоположность HTTPS - PullRequest
0 голосов
/ 16 февраля 2012

Я планирую реализовать защиту API в моем приложении REST, где мне нужно работать для URL авторизации (на серверном приложении PHP), который будет возвращать маркер сеанса клиенту (мобильные клиенты android, iphone, BB, wp7, wp8), запрашивающему этот URL.

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

  1. Использование RSA-шифрования с openssl для передачи пользовательских данных на URL авторизации (я собираюсь использовать openssl, чтобы придерживаться стандартного и безопасного метода).
  2. У меня есть догадка, что можно просто использовать HTTPS для передачи пользовательских данных и позволить ОС обрабатывать шифрование / дешифрование.

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

Любая помощь в этом очень ценится! ..

1 Ответ

0 голосов
/ 18 февраля 2012

Вы должны быть в порядке при отправке аутентификационного URL через SSL. SSL аутентифицирует сервер и гарантирует, что данные защищены от перехвата и атак посредников. URL будет затем отправлен по этому защищенному каналу, поэтому после проверки URL сервер может определить, что клиент действительно является правильным объектом. Затем токен можно безопасно отправить клиенту через тот же сеанс SSL

Если вы используете свою собственную схему, вам придется настроить собственную схему управления ключами и протокол. Это очень трудно понять правильно. Ваш комментарий о доступе к общедоступному ключу - хороший признак того, что у вас ничего не получится. SSL тоже не идеален, но он подвергся тщательному анализу, и шансы, что он потерпит неудачу, невелики.

Другими словами, выберите # 2 вместо # 1.

...