Web browsers work in two main ways. These can be distinguished in the URL. Eg http://www.theyworkforyou.com is insecure. https://www.twitter.com is secure.
If, for example, you try to use twitter in an insecure manner it automatically switches to a secure link.
The data that passes between two insecure web links can be tracked by anyone who has access to any of the networks that the data passes on. There are programs such as packet sniffers that are created to do this. Obviously the Internet Service Provider (ISP) can do this. However, data that transfers in a secure manner cannot be tracked. The secure system is called SSL Secure Sockets Layer.
The way it works is that a system called asymmetric key encryption is used to exchange a session encryption key between client and server. The server first passes out what is called a certificate with details of a number that can be used to encrypt a message. The client then encrypts the session key using that number. The system is asymmetric in that a different number is used to decode the session key than is used to encode the session key. Hence it is possible to encode the session key in such a way as only the server (and no-one in the middle of the conversation) can decode it.
This is normally done with the Rivest Shamir Adleman (RSA) algorithm which is based upon the mathematical rule that factoring the product of two very large prime numbers takes a very very long time.
Maths bit:
This is that if n=pq (p and q being both prime numbers) and m=(p-1)(q-1) and E a number selected to be coprime with m (ie it has no common factors) and D is another number selected so that DE mod n=1 then if your session key is x
y=x ** E mod n (** to the power of)
and the magic is that x=y ** D mod n
So E (plus n) is your public key and D (plus n) the private key. The client encrypts the session key with the public key and the server uses the private key to decrypt it. To get the private key from the public key you need to factor n.
If you pick long enough session keys and long enough prime numbers it is not practical to break the encryption. (it takes too many centuries of processing).
Hence if you are using SSL all that can be tracked by a "man in the middle" is which IP address is being used for the server. It is not possible to know which web pages on that server are being looked at or even the domain of the server.
The IP addresses are the numbers of each computer. You can find your public IP address here.
The same can be done for email. Furthermore it is possible to use onion routing to conceal what the destination IP address is. Hence no useful information can be obtained by people getting access to the communications between client and server.
Hence unless the state bans the use of encryption (which is used for credit card transations) then ISPs are unable to pick up any useful information about what people are doing on the net.
Obviously the state could require everyone to have a chip implanted in their skull to record all communications, but I don't think that would enthuse people.
The above, however, is why the snooping bill won't acheive anything.
Comments
and you have been spying on my emails for years, never mind cameras in the house/ prison in which i try to survive (and other devices most likely, RIPA 2001- not just Mafia5 doing it these days! even the dutbin man can and any other private employee as authroised- as JSA seekers also pay NINO they're considered employees of the state...that means anyone can do it! unless oyu do it to them, defned themselves then Victor says YOU are the bad guy)
....the odd fifth columnist does let me know now and then!
pretty sure John knows this as he is an MP + has worked in the field...onion routing eh...? tempted to look that one up but what's the point if you're advocating it?