when reading about the TLS handshake protocol, I understood that the first response message from the server to the client is the server hello, which includes the session ID, and the latter will serve to identify the user for the next connections. I had read that the session ID information should be secret to avoid the danger of the session hijack, so is the server hello message encrypted? if so, how come knowing that the symmetric key which will be used for the encryption is not prepared yet?
I searched through the forums and viewed tutorials to clearly understood the TLS handshake protocol, but I didn't find a response to my question.
From RFC 5246:
ClientHello and ServerHello are not encrypted in TLS 1.2.
SessionID by itself is just random bytes. Client and server store somewhere negotiated keys for each session ID. You cannot do anything specific from attacker side if you know session ID.