Я создаю приложение, которое должно отправить пароль с устройства пользователя для аутентификации на сервере до того, как сервер выполнит какие-либо операции. это происходит следующим образом:
пользователь хочет получить что-то из базы данных, поэтому пользователь отправляет свой идентификатор и пароль на сервер через (в настоящее время обычный текст).
NSString *url = [NSString stringWithFormat:@"%@f=getUserInfo&ID=%@&password=%@",[[Globals global] operationServerName], self.ID, self.password]; NSData *data =[[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:url]];
сервер хэширует пароль, полученный от пользователя, и извлекает уже хешированный пароль с сервера и делает сравнение, если они совпадают, он получает что-то из базы данных
Проблема в том, что идентификатор и пароль отправляются на сервер по простому тексту, и я понятия не имею, что делать или внедрять, чтобы защитить его, чтобы он избегал атак подслушивания. я абсолютно не знаю, что делать, но я слышал, что ssl / tls поможет, если кто-нибудь сможет на начальном уровне объяснить мне, как исправить проблему или указать мне в правильном направлении, я ДЕЙСТВИТЕЛЬНО оценил бы это! Любые советы или пояснения о том, как улучшить это, были бы замечательными! Я совершенно не знаю.
также на стороне сервера, было бы хорошо знать, что я должен добавить туда, чтобы это стало возможным в приложении. В настоящее время я использую локальный сервер, но когда он будет жить, это будет от хостинговой компании
Вам необходимо отправить данные через HTTPS- соединения вместо HTTP. Таким образом, поток данных между клиентом и сервером будет зашифрован.
Вам необходимо установить SSL-сертификат на свой сервер. (Если вы не знаете об установке, просто попросите своего хост-провайдера сделать это). Теперь вместо того, чтобы возвращать ссылку http в вашем глобальном методе [[Globals global] operationServerName]
вернуть HTTPS ( https://example.com )
Это должно позаботиться о шифровании потока данных между сервером и клиентом.
Ссылка: http://www.tldp.org/HOWTO/SSL-Certificates-HOWTO/x64.html