HTTP
I'm aware that HTTP sends plain text over the network which can be sniffed and modified if a MITM is performed.
HTTPS
On the other hand, HTTPS sends encrypted text over the network that can neither be sniffed nor modified.
Other?
I'm wondering if there is an in between where the traffic can be sniffed, but not modified. I was thinking the server could just sign every packet using a CA.
I'm also aware of manually verifying hashes of files downloaded, but seeing as those hashes are served over a modifiable means (HTTP), it doesn't seem that this really provides any authenticity as the hash could modified to match the modified file. As @mti2935 suggested, the hash could be sent over HTTPS, but I'm looking for a preexisting protocol to handle all this.
Why
I'm sure this question begs the question why. So here are a few example scenarios.
- A user wants to allow their network security device to scan files downloaded for malware without having to modify their trust store.
- I'm a ham radio operator and I'd like to stream movies over ham bands, but I'm not allowed to encrypt. I do care about the video maintaining it's integrity, but I don't care about someone else snooping.
- Sites that only distribute data and don't need encryption, they only but do need data integrity, so why add more complexity? I understand it's not a lot of added complexity.