Can "they" snoop on my https (secure web traffic) ?
For many of us the details of how encryption works is a little over our heads. Whilst I understand the principles pretty well, some of the maths is still just out of my grasp. i.e. I know I have understood it several times when explained to me, and lost it a day later. It is strange being able to pinpoint one's limits quite so precisely...
So, I thought I'd try and tackle the tricky question I am sometimes asked, especially with the concerns over PRISM and GCHQ monitoring fibres and so on. If I am using https, can someone snoop on that? Can "they" see what I am doing?
The basic answer is no, but there are some caveats that are worth covering.
The concept of https is that you create a transport layer security link to carry your communications in a secure way. The whole concept of this is to stop anyone snooping.
End points see all
The first thing to be very aware of is that the two ends of the link see everything. This means that on your computer the communications are in the clear, and at the far end web server. This stands to reason, but is worth thinking more about.
For a start, this means that your communications may be logged on files on your computer. Importantly, if you have any sort of virus or spyware on your computer, that may have access to the communications. For the real paranoid, it means that the people that created your operating system, device drivers, possibly even hardware, could have planted ways to get at that data.
In practice, I suspect the biggest risk is some sort of virus on your machine. Keep the machine clean and you are fine. That said, why would a virus want to track you. Maybe it is a virus planted by "them"? I am sure if you are a "person of interest" then that is possible, but most of us are concerned about the general collection of everything we are doing rather than being specifically targeted.
Even so, do not forget that the web server sees all. You have to trust them. This means for things like social network sites, you may be using https to them but they see all, and could be telling "them" all. Do you trust the web site operator?
End points are trackable
The way https works is that the traffic still goes between you and the server. The hidden data is what is sent and received, not the addresses. So, any level of snooping on an Internet link can tell what servers you connect to. A server could have many web sites, so this may not be a big clue in itself, but see below on DNS...
DNS tells a lot
Before contacting a server, even by https, you need to do a DNS lookup. This gets the IP for the server. If someone can log the DNS requests then they have a lot of clues about what web sites you are accessing, by name. This is more detail than simply the IP address, as above.
Diverting DNS used to be something that was vaguely possible by some clever attacks on ISP DNS servers. It was used mainly to try and target on-line banking. These tricks can be detected, and DNSSEC is already being deployed to stop that. Though, "they" may have access to DNS root signing certificates. This can be detected so any systematic tricks like this will be "outed" quickly.
There are two types of snooping to consider. What has been discussed in the press is passive snooping. This means obtaining a copy of the data as it passes by. It is called interception by the RIP Act. Legalities aside, passive monitoring cannot see what is going on with a transport layer security connection. I.e. they cannot see what is happening on an https connection.
Part of the reason for this is the initial key exchange done as part of the transport layer security. This is done in a way that means only the two ends can tell what the keys actually are.
There is, however, talk of "them" having root certificates. This is very likely to be true, and it allows active monitoring. But it does not help with passive monitoring.
The rather more tricky way of snooping it active. This means that you are able not just to monitor things as they pass, but divert the traffic and change it on the way. This could mean actually diverting traffic, or simply diverting DNS in a way that means you think you are talking to some other server than you think you are.
If you have access to a root certificate it is possible to fake the signing and authentication that is used by a web server to convince you and your web browser that it is legit. Having done that, they can then connect to the real web server, pretending to be you. In between they can monitor the communications.
If they are very clever, they can do this without even making the IP addresses look wrong.
The trick with this type of monitoring is that it can be detected. It could be used for a specific "person of interest", and hope they do not notice, and have the legal orders to back it up if they do. It could not be done on a mass scale to monitor everyone - someone would notice. We are lucky that there are enough people "out there" that can see both ends of an https link and spot if the ends do not tie up.
Assuming the maths is good
We are making an assumption - that the maths is good. We can be pretty sure this is the case simply because of the sheer number of people that know the maths far better than I do. There is always a risk that someone finds a quick algorithm to crack factorisation, or one of the other basic "hard sums" that are involved, and there may be a small window of time where that trick is known to "them" and not public, but it is pretty unlikely to last long. We pretty much have to assume the maths is good.
The maths always has limits, and there are choices of algorithms. It is possible that what we consider secure today is not so much in 10 years. What we communicate now could be recorded and cracked with enough effort, maybe. All security has to be considered in terms of time and effort and not absolutes. But again, you are talking of the difference between trawling everything and searching for stuff, or "person of interest". At present we have no reason to think the encryption normally used on https can be cracked within years of concentrated effort, so pretty safe.
Basically, there is no way to tap in to what is sent and received on an https link, in the middle (without access to either end), in a way that cannot be detected.
Why worry? The best quote I have seen so far is: If you're doing nothing wrong, you have nothing to hide from the giant surveillance apparatus the government's been hiding.