So, lets say we have Bob, Alice and Peter. Peter is trusted by Bob and Peter has an authserver. Bob hosts a userserver and Alice wants to connect to Bob over an insecure channel. But Bob needs to know that Alice is actually Alice. Peter knows that Alice is Alice and can talk to her via a secure channel. Bob can talk to Peter over a secure channel too. So Peter creates a secret key and sends it to Alice and Bob saying that the other person who has the key is Alice or Bob also providing hashes of Bob's and Alice's profile(these hashes include permissions and data for later authorization). Then Alice and Bob tell each other that they're themselves and exchange profiles and profile hashes. Then, to verify that, they use the key with AES to encrypt a handshake. Whenever they they want to talk securely over the insecure channel, they encrypt stuff with the key. To prevent replay attacks, they put an expiration time and a unique message id on encrypted every message. They also generate a shared secret which will be used for later authentication without the need of Peter. They, once in a while, re-authenticate using Peter's server.
Questions: How often should Alice's and Bob's shared secret be renewed? How often should Alice and Bob re-authenticate using Peter's server? How secure is this? If you were a hacker, how would you hack this? How can it be improved? How well it will work on a large scale?(One or two authservers like Peter, and lots of userservers like Bob, and even more users like Alice)
Note: this has to be both making sure that Bob is Bob and that Alice is Alice. Also, most of the traffic wont have to be encrypted. But some data will have to. Also, the secure connection to Peter(https) is temporal and limited. Alice and Bob obtain special keys during this connection and use them to encrypt connection to Peter over an insecure channel, making it the secure channel which I ment above. Every once in a while, Peter will generate new keys and send the over the same encrypted channel tp Alice and Bob. Https happens more rarely. Question - how often do they have to go through https and how often do they need to recive the new key over non-https but encrypted connection? (Note: for encryption, AES is used, which is said to be protected from known-plaintext attacks)