Шифрование данных на отдыхе - PullRequest
2 голосов
/ 09 июня 2011

Есть ли способ шифрования данных, передаваемых через спокойный сервис?

У меня есть сервис getUser, который принимает идентификатор пользователя и предоставляет информацию о нем.В соответствии с остальными уроками, я должен отправить запрос, подобный этому, чтобы получить информацию о пользователе: http://myrestfulserver/getUser/123, где 123 - идентификатор пользователя.Есть ли простой способ зашифровать 123 с использованием https без реализации проприетарного уровня безопасности?

1 Ответ

1 голос
/ 09 июня 2011

Да, но чтобы понять, что происходит, вам, вероятно, нужно поиграть с telnet.

По сути, в SSL есть три этапа, тогда как в HTTP (обычный) их два.

  1. Открытие сокета для сервера.
  2. Согласование зашифрованного канала.
  3. Отправка зашифрованных данных.

Итак, 1) буквально является соединением.2) не происходит в HTTP, но происходит с HTTPS, тогда 3) в обоих случаях используется HTTP.Как выглядит HTTP?Используйте telnet:

$ telnet google.com 80
Trying 209.85.227.103...
Connected to google.com.
Escape character is '^]'.
GET / HTTP/1.1 # <---- I typed this

HTTP/1.1 302 Found
Location: http://www.google.co.uk/
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Set-Cookie: PREF=ID=71ab4b30677eaa81:FF=0:TM=1307626411:LM=1....
Date: Thu, 09 Jun 2011 13:33:31 GMT
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.co.uk/">here</A>.
</BODY></HTML>
...
...

Хорошо, так что вы должны понять из этого, что соединение и запрос нужной вам части URL - это разные вещи.Вернемся к нашей трехэтапной теме:

  1. Подключение к yourrestfulserver.com
  2. Установка SSL
  3. Проблема GET / getUser / 123 HTTP / 1.1

Как видите, 3) выполняется по зашифрованному соединению, поэтому весь URL-адрес невидим для всех, кто отслеживает операцию, а не только идентификатор, поэтому нет необходимости шифровать параметр url для проблем с OTA.

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

...