"Is SHA256 sufficient as a commit function?"
Using SHA256 should be great. The only problem I've heard about is the hash extension vulnerability. If you produce multiple hashes using the same data, don't just concatenate more data to the end of the data that you already hashed. There are two hashes in your post "sha256 (UUID || DH pub || Chall)" and "sha256 (UUID || DH pub || DH sess || Chall)". If this second were "sha256 (UUID || DH pub || Chall || DH sess)" then there would be a relationship between the hash values if the UUID, DH pub and Chall were the same values as before. You must either take care to avoid the problem of expanding the hash, or include the salt value in the data you want to hash, either by passing the salt by reference, or with different values for each code.
On the side of the note: is it really necessary to transfer the call when you have already saved the previous session key and do not need to ask the user to manually confirm the call code?
"Is adding a shared secret as authentication information in a secure chain?"
I suppose you want to ask: "Is it safe to include secret information in a hash that needs to be made public?" If the secret is that it’s really hard to guess, and it really will take a lot of time to carry out an attack using bruteforce, then yes, it’s safe. If a secret is something easy to guess or has only a few possible meanings, then no, it is unsafe if at the same time you do not include some difficult secret in order to force a potential listening device to guess all such secrets at the same time. For a large, effective random number, such as DH's shared secret, then this should be just fine.
"What is the overall security of a 1024-bit DH group?"
I'm not sure that the DH group 1024 is what you want to use. A key exchange that is considered close to being as efficient as the SHA256 hash algorithm that you use will be 521 bits of ECDH. The cryptographic strength of ECDH is considered to be 1/2, so if you need 256-bit protection, you want 521 bits of ECDH. Unfortunately, I'm not sure about the security of many of the individual 521-bit ECDH groups that have been published.
"I assume no more than a 2 ^ -24 bit probability of a successful MITM attack (due to a 24-bit call). Is this plausible?"
There are several ways to carry out a MITM attack. Eve will use every resource available to her to carry out her attacks, and if you are not careful, she will use what you did not think about. That's why cryptography needs an expert review.
source share