security - iOS network issue. TLS Session cache loophole -


I am facing a security problem for my iOS application. I am using HTTPS for all my network calls and the public certificate used is from a reliable authority, which has been bundled in the application to stop the main (REC) in the main attack. I am doing SSL pinning (confirming the certificate from the server before / before every network call) in Android, it works well in iOS, but there is a TLS session cache which validates the validity of the certificate after the network call Cache.

The certificate verification section works fine for the first network call, for 2 calls, the cache is used by OS and I am unable to confirm the certificate. My QA team can easily attack and get all data from network call for 2 more consecutive network calls. There is a reference to here: There seems to be no way to refresh the cash program.

Changing query parameters does not help, I've already tried, please provide iOS specific solutions. I can not encrypt my data for business reasons.

Edit: I am using the method described below to verify my certificate. This method is called by the OS for the first network call, this method is not being called for continuous calls.

  willSendRequestForAuthenticationChallenge: (NSURLAuthenticationChallenge *) challenge   

My QA team attacks MiTM only for every network call, they use their certificates And if any network call I do not verify the certificate, they can easily read the data. Due to the cache I am unable to verify my certificate.

The answer to this question is that this method will be called again if you switch your network The answer or result of authentication is continuous for one session and as long as the session is valid, the connection is secure. So just trust the method of structure and keep your communication safe.

Comments

Popular posts from this blog

ios - Adding an SKSpriteNode to SKScene from a child SKSpriteNode -

Matlab transpose a table vector -

c# - Textbox not clickable but editable -