As someone currently going for their masters in cybersecurity. They have been a massive help in understanding comp sci and IT concepts. While my professors are great people and they mean the best its was easier for me to get a concept down with a 10-30min computerphile video than a 4 hour long lecture with no practical application. Just wanted to say thanks chaps you been a massive help.
@@intellectualhybrid2 not all professors are like the guy in this video. most of them don't even speak properly. they only focus on their research. educating students is just a time waste for them
Traffic Analysis (discussed from about 11:20 to 13:00) is one of the major reasons tor works best when a lot of people near you are also connecting to the network. The more people that are connected to the same node, the "noisier" it is on the harder it is to correlate the inputs and outputs. Of course, this resistance to analysis is at a cost: all of that extra traffic also has to be processed by the node at some point, making it slower, so it's a bit of a balancing act
No... the last layer is electronics, and the whole point of computer technology is layers of abstraction. I dont need to know circuit design to program and app or design a computer system.
Confidentiality is hiding the contents of the message so that only an authorized entity can access the contents. Hiding the presence of the message is known as obscurity.
Actually, Facebook was used to rally people in for example places like Egypt on Facebook which eventually lead to them overthrowing their government. Which a large part of the public in Egypt seemed to not be against. Which Egypt could not easily block. Now the problem in general with overthrowing a government is, it's like the Forrest Gump's box of chocolate: you never know what you are gonna get.
@@autohmae actually that was hillary clinton trying to be clever but instead sabotaged the trust in the american government so now no dictator will trust them again.
A key point left out: Network requests can often have blatant identifiers of who sent that request, and the specifics about what they're doing. It's not just always seemingly arbitrary requests that give no hint of who issued the request. Like when using any sort of system you have to user a user ID or password for. This means the final node on the routing path actually can figure out info about who originated the request, and possibly why, despite having the multiple levels of encryption and routing between themselves and the originator
It could be solved by using another circuit. We pass decryption key with our sessionID and when server gets encrypted user credentials, it will decrypt it with the key that matches to our sessionID (that passed with user credentials).
If you use a torrent via TOR, then the servers that are feeding you your files will have your IP address. The data stream initiated by your computer will include your IP address, when using a torrent. No one sniffing the hops will know your IP address or what you are doing. But when your request reaches the intended servers, then those servers will have your IP address, if you are transferring a file via a torrent. Not covered in this video is that TOR can be used for all manner of internet activity (not just web browsing). But web browsing is probably the most heavily used part of internet activity, including over TOR. So take note that your web browser can give away your identity. If you do not take steps to keep yourself anonymous, your web browser will send along a load of information about your computer, which the server on the other end will see. Also: To remain anonymous, you must disable javascript when you use your web browser. But doing so will break the functionality of countless web sites. You will find that they do not load properly. Some sites will know that you disabled javascript, and will tell you that their site requires javascript to be enabled for it to work properly. But if you enable javascript, you will almost certainty give up your identity. Lastly, due to bad actors, abusing the fact that TOR keeps them anonymous, countless web sites will not accept connections from TOR exit nodes (those nodes are publicly known). So if you use TOR to go to some web site, it might time-out, or you might get a connection refused message, or something similar. And then there is Windows, that monitors everything that you do, and phones home. If you use TOR on a Windows computer, you really do not know what is being logged on your computer, or being sent to Microsoft. For the safest TOR experience, use the Linux TAILS operating system. If will be a bit of a struggle to surf the web, via TAILS. But that is due to TAILS protecting you from yourself. The roadblocks that TAILS puts up are to keep you from revealing your identity, when you did not realize that you were about to reveal your identity.
BitTorrent can be anonymized, you just need a client built with the anonymity network in mind. I2P and Tribler has this. I don't think there's a reason why one can't be built with Tor. For the web, Tor is best used with Tor Browser. That already takes the steps needed to anonymize the web browser. JavaScript is safe for most users. Tor Browser sanitizes anonymity threatening functions and proxies it over Tor. The main problem is the potential for critical vulnerabilities. Keeping the browser up to date is usually enough. It's only worth disabling for high risk threat models. There is an idea being floated around about the concept of Exit Bridges, basically hiding the fact you're using Tor from the destination. But until then, you can use an archive or web proxy depending on your situation. Using Tor on Windows still reduces the total number of entities that can track you. And it's still helpful for bypassing censorship. That's still a win, even if it's not complete. Tails is too extreme for the average user. I'd recommend any mainstream Linux distro.
few questions: 1- why not asymmetric encryption as opposed to symmetric? 2- could you make it harder to de-anomynise you if packets had a short, random delay before being sent to the next node? 3- could you make it harder to de-anomynise you if you added dummy data or dummy packets at the entry and/or exit points?
Great video but I am not sure about the last part. An Etherframe is 64-1518 bytes long, not 1512. 1512 would only include the data in the frame, and source mac and destination mac. The data encapulated by the fame is set to a default maximum transmission unit of 1500. This does not include the Preamble + Start Frame Delimiter ether type FCS or the inter frame gap. I am also not sure about the point that was made about how a router decides to forward a packet. The router would check the destination mac address to see if it is being sent to its self. Then the router would check the CRC hash at the tail of the L2PDU to see if there was corruption to the transmission of the packet first to determine if it is even going to process the frame. Then it would check the destination ip address and figure out it if will need to do a routing table lookup or if it is destined to the router its self. A new hash is created each time the ethernet frame is rewritten, which is each time it hits a layer 3 device that needs to route it. The hash must match each time a switch or router checks the CRC, if it does not pass it will drop the frame or packet. The tor protocol does encryption at Layer 6 of the OSI model and would not interfere with the passing of the CRC. As you said at 13:14 a router determines if a router needs to read a message or forward based on the hash. Incorrect because if the hash does not pass it will drop the packet. A router will determine whether or not to forward the packet based on its IP destination in the L3PDU, not the CRC hash. Does tor networking handle routing differently where something would need to be done in the application layer?
Great video, but I think you should probably have mentioned hidden services (or otherwise servers running nodes themselves, such that the B node is the same as the server you're communicating with). Combining that with information about running one's own node (such that the user controls node A) gives a more complete picture of optimal Onion Routing conditions (though, again, not entirely without potential for pattern analysis). Lastly, I think some people in the comments appear to be treating "being an exit node" like a thing one chooses, so this is just to say that a node is a node and routes, while they can be controlled manually by the sender, generally are generated and the exit node has nothing to do with choosing which node will be the exit (or entrance, for that matter). Love your work, keep it up!
Although these routers do not stink, or when you leave 'em out in the sun, they get all brown, start sproutin’ little white hairs., but I'd say they can make you cry.
12:00 He talked about the possibility of de-anonymization through message time signature analysis. Isn't there way to, sort of, stagger those time signatures somehow?
Yes but the problem is the size. If send 30kb of data in 5kb chunks it will be difficult but not impossible. In real life they'll just need to find your location and then when you're not home they'll just place some extra piece of software/hardware on your device. Silk road owner got his laptop straight up stolen by FBI lol . You dont play fair so dont expect them to play fair
Mix networks have the concept of dummy messages that are produced by the relays (routing nodes) to make the original message ordering harder to trace. Messages may also be output in batches and random or lexicographic ordering may be performed by the relays
Yes, it is possible to ask each node to add some specific randomly chosen delay. But this will impact performance so badly that it may become unusable. Everything comes with a price.
Thanks. I don't know why but I find the way Dr Mike Pound talks about subjects to be very engaging. The pace, content and level is exactly at the level I like 'Great Job!' As the Americans would say. As a Brit it's more of a 'he's OK to be fair, end of' (great job, ignore the brit thing)
I knew nothing about Tor but I saw it was a Mike Pound video so I watched it, definitely glad I did and I feel like I learned something new and important from it :) Thanks a lot for the videos!
So I created a chain proxy a few years back I could easy implement encryption into the request but man that part about checking the hash at the end to determine where the packet should go is Genius !
Very interesting stuff... another extra reason for the idea that the more people use TOR, the safer it is. Then again, the most congested it might become. I imagine a potential solution for traffic shape analysis would be for client and end node to have constant input without spikes with complete saturation, filling blanks with garbage. But that would also make the whole thing kinda useless in terms of speed.. or extremely complicated to pull. :P And also extremely taxing for every node.
Why are the lines on Dr. Pound's illustration torn?! Like some sort of screen tearing. It seems to be with almost all the lines drawn. It's really tearing me apart...
Mikkel Laursen They fixed the camera perspective in post, which I guess left some artifacts. You can see the camera angle switch to and from the torn perspective near the end of the video.
I heard that an issue TOR has is that organizations (government and others) have started signing up servers that they control as nodes, effectively infiltrating the network. The more nodes they have than the more complete their picture will be on what is going on. In this example, if one entity just so happens to control all three nodes then they can see exactly what you are doing despite the encryption because they can just follow the message along from beginning to end. Which is why TOR is very dependent on volunteers that provide a collective massive amount of servers so it becomes increasingly unfeasible for a single entity to control a large enough share.
Great vid, I really appreciate this content. Does anyone know how long a routing chain lasts? It seems pretty important that the paths you take don't remain constant. Would a new route be established with every request, browsing session, or change in server destination? Or is it more of a timed switch?
Bravo. This man is the most gifted, lucid explainer of computer matters whom I have come upon. His diagrams, articulateness, and sense of organization are superior. He is commandingly competent. Two small complaints: (1) he speaks too quickly; the pace of his (British) English would be more suited to a neophyte audience were he to slow down, and (2) his occasional jokes sometimes come at crucial moments and so detract from the clarity. He does employ jargon that sometimes I, at any rate, have to look up, when I can catch it (the speed issue again), but that nay be on me, not him.
8:53 "We've got a situation here where no one really knows anything about what's going on at all" gee sounds like my life and politics and lots of things really
Wouldn't it be possible to use random network delay to prevent what you defined as frequency deanonymization? Lets say you have an average delay time on 1 second, and then each message gets randomly delayed from 0 to 2 seconds on each of the nodes. Yes, this would slow down the speed, but would greater improve the anonymity.
Yeah, I had the same idea. But there is probably more flaws in this system. If it was this simple to make it fully anonymous, thay would probably have already done that :D Maybe generating random delay lenghts is the problem, since pseudorandom numbers can be cracked down pretty easily.
While adding a small random delay can help with obscurity, it's not really worth it. The delays can still be taken into account and detected by frequency analysis of large amounts of traffic. This solution is not really worth the loss of speed in communications. The only way to solve this, would be through completely asynchronous batched data transfers, but that's impossible to manage without introducing a whole bunch of vulnerabilities, or redesigning the whole technique.
+Michael Incog That's not really true. Your computer probably has thousands of threads sleeping right now. Delays don't have to be active livelocks. Even "single-threaded" applications on frameworks like node.js, can deal with that. Event-driven wake ups, can deal with that. Even so, a delay is far less expensive than actually processing/decrypting data, and since you add an average delay over the whole network, you essentially replace some actual processing with a delay, in function of time, which should even lower the network load.
Could you explain further how one can analyse the frequency of a random delay? I dont see how we can know where data comes from if we dont know the mean-time of which data is being sent between each requesting computer and responding server.
Gjert Ingar Gjersund I am not sure, but i think this has to do with generating trully random numbers. Computers cant do that. They would generate pseudorandom intervals. Which maybe would make it hard to detect the connection for a human, but for a computer it would not actually make much of a challange because it could quickly figure out how the numbers were generated and still see the connection.
I wish Mike would have discussed the differences between exiting the TOR network into the clearnet and accessing hidden services (the packets never exit the TOR network).
I didnt quite get why the first node couldnt decrypt what you are sending? I mean it only has one layer at this point. Wouldnt it be easy to crack those one layers?
Discovering this channel with this nice topic : thanks a lot! Short question, Mike Pound evokes the weakness of finding timely correlations between entry and exit points. But, could some kind of controlled shuffling of the various requests do the trick ( a mixing with other requests)?
I think that you can partially solve the problem, with someone controlling A and B (front and exit node) and measuring intervals between front and exit nodes, but you need to sacrifice performance... The idea is that you could delay each message by some random amount. Construct message with variable length of hops between you and server. E.g. exchange some keys from K1,K2,K3,K4,K5, construct 1st message K1->K5->K2->server, 2nd message K3->K2->server, 3rd message K4->K1->K4->K2->server, etc... because no node knows full path, and each message will have different amount of hops, all messages will arrive at different time ;) that's the general idea. In theses cases when server doesn't have "sticky" sessions, you can change exit not for each message!
What are your thoughts on the US government claiming that Tor is essentially useless and they can spy on Tor traffic? Do you believe its entirely based on sniffing the beginning node and end node?
When Edward Snowden leaked the NSA files back in 2013, one of them was a slideshow called "Tor Stinks", in short it was a classified NSA talk about how challenging tor is to break, and how much they hate it. World governments definitely operate tor relays, but at the moment I don't think (we can't know) they have access to some flaw in the protocol. They have in the past, they funded researchers from CMU to perform lot of traffic analysis via compromised relays and a flaw in the protocol, Silk Road 2.0 was among the sites taken down in that attack. You can read more here: blog.torproject.org/blog/tor-security-advisory-relay-early-traffic-confirmation-attack Do they still have access? Difficult to say, but I would guess they don't right now.
Tor is still vulnerable to deanonymizing attacks, ie user error with badly configured browsers/proxies. This is why it is so recommended to use the Tor browser, as it will do its best to keep yourself from those.
Hey great video. You talk a lot about the key excange. But how does this work? Cant the Routers see your IP when you pass them the key directly? Or if you send it trought the Routers you've already connected with, cant the see the Key for the next Router?
Don't know how it's implemented but you can do the key exchange with node 2 over the connection of node 1, and with node 3 over node 2 and 1. Just like the final connection but with less nodes. This is what you would do if you browse e.g. Facebook over Tor. You make a key exchange with Facebook over all the Tor nodes.
Hi, it works using a process called diffie-hellman. It's a bit complex for a youtube comment, but you basically create half the key, and the router creates the other half. You send a public part of your half to them, and they send one back, then you both calculate the key in secret. To add to this, you also encrypt the bit you're sending using the public key of the router in question. So each intermediate router sends on the key exchange, without actually being able to see what's going on. As Keex11 says, you don't ever send keys directly, you send them via already established connections.
I just got done watching the Silk Road movie and wanted to know more about this. Not for nefarious reasons. It’s just interesting. This was a great video thanks.
I may sound like a devils advocate here but you dont host anything so it shouldn't matter. If I send something ilegal via mail you dont hold post office responsible. Same with CP. I mean those people should seek help but people who host those websites or even making a content are the problem.
One of the key features of Utopia P2P private browser is its web proxy function. A proxy server is a server that acts as an intermediary between a user's computer and the internet. When a user requests a web page, the proxy server receives the request and forwards it to the web server. The web server then sends the requested page back to the proxy server, which in turn sends it to the user.
wouldn't a downside to being a node be that you'd get into trouble for the sites that other people went to? because it'll look like your computer went to those sites when it was someone on the other side of the world who actually requested it
Im no expert but if you’re a node, then dont you automatically not have any affiliation with the client? It looks like a client can’t be a node for it’s own message so any node in that chain is innocent for that particular message
That's exactly why you can't be pinpointed. It could be anyone and the secret services can't simply hunt you without knowing for sure you really did it
I love your videos, they are very interesting. Can we make slow loris attacks anonymously using TOR ? If so, there is still potentially the problem of comparing signals tempo ?
11:24 I might not have the inside you have, but I think that this problem of someone controlling A and B is not unsolvable: If you accept slower network speeds, simply add a randomized timer to every layer, so you can't correlate packages at A and packages at B. Packages will be out of order on the other end, but this shouldn't be a problem as this can happen in non-TOR networks too.
Couldnt you theoretically have the messages passed through some random functions on every note so that their sendtime differs in a intervall of 0.1 to 1 second or something? Would that not solve the correlation possability ?
Also a kind of similar question (2 years later I know), would it be possible to simulate the traffic on an end-node (ie. send other packets to other websites that are not reverted back to you) ?
I am placing all my personal data, information and its protection to the hands of Tobey "I am a technical genius as well as a popularly acclaimed actor" Maguire
No. That would mean all ISPs in the world would also be responsible for all illegal stuff in the internet. Usually nothing is illegal unless it involves you, acquiring or redistributing illegal information, or using illegal services.
When we're talking about digging into the 'tempo' of messages and de-anonymizing the data- what is the certainty that we're able to establish on those? Correct me if I'm wrong but there should be a significant amount of variation resulting from using a lot of nodes, and obviously, the more nodes we use, the more varied our output 'tempo' is going to be. So we have two variables there- the size of the message (which stays the same) and the time interval it takes for the message to arrive at the last link (point B in the video) which is varying depending on many external factors. Also, wouldn't the data be sent over different amount of nodes (and different nodes) every time, which would add to the ambiguity? Great video by the way, thanks for making those!
@Computerphile quick question at 5:43 you say the middle node doesnt need to know who you are. if this is the case how would you exchange keys with it??
You'll probably need to reupload this. There is a serious flaw at 4:09, where no image of Shrek appears when he says "in layers" and raises his eyebrows.
Numbers, that's about it. There are 7000+ relays, that's a challenging thing to DOS. This is one of the reasons TOR are always looking for people to volunteer as relays. metrics.torproject.org/networksize.html
There is route convergence and re-routing delays. All you need to do is DDoS enough then move on to the next set of routers. Botnets can range into the 100s of thousands of nodes so taking out 7000 TOR nodes is not out the realm of possibility.
The game is rigged? Lol All the nodes are public knowledge, the only way for the nsa to use this information is to knock out all the servers except 3, then they will control k1 k2 k3. I think they’ve only done that once.
Tor is the opposite of non-repudiation. The origin/sender of a message can't be verified because the message goes through several routers randomly. It's also encrypted in transit until the last router before the destination
As someone currently going for their masters in cybersecurity. They have been a massive help in understanding comp sci and IT concepts. While my professors are great people and they mean the best its was easier for me to get a concept down with a 10-30min computerphile video than a 4 hour long lecture with no practical application. Just wanted to say thanks chaps you been a massive help.
same, this channel is very helpful ngl, have a great life
Are the servers for K1 K2 and K3 predetermined? how does the prior server (k1) know which next server to send it to if K2 is still encrypted?
When guys like these become professors, they end up making a generation of youngsters who revolutionise the technology.
They are professors
@@intellectualhybrid2 reading comprehension fail
@@intellectualhybrid2 not all professors are like the guy in this video. most of them don't even speak properly. they only focus on their research.
educating students is just a time waste for them
Genius people like inventing more than teaching which is why we're stuck with the fools we call professors
Yet sometimes they devolve technology by creating trash like facebook and twitter.
Could you also talk about garlic routing? Which is more vulnerable to leeks?
Pierre Abbat very punny
Stick to nose picking.
Tor can be vulnerable to attacks, if running on a potato.
@@TheyRiseBand it isn't a pun, garlic routing is a term used by the I2P network for their own anonymity network
@@shardv1309 the pun was about leeks.
Traffic Analysis (discussed from about 11:20 to 13:00) is one of the major reasons tor works best when a lot of people near you are also connecting to the network. The more people that are connected to the same node, the "noisier" it is on the harder it is to correlate the inputs and outputs. Of course, this resistance to analysis is at a cost: all of that extra traffic also has to be processed by the node at some point, making it slower, so it's a bit of a balancing act
"No one really knows anything about what's going on at all." Great description of my life.
DiabloMinero Nah fam, the FBI got your back
Why did I read that as he said it?
that didn't age well.. imagine, then 2020 hit you, and u don't probably know who u are anymore do you?
Same here!
How u doing friend
The absolute best explanation of onion routing ever heard.
I wish he was my teacher when I first took up computer science.
Yea, this guy knows a lot about networks and technology
Yea and is an excellent presenter of some pretty complex ideas.
the first layer is electronics though
No... the last layer is electronics, and the whole point of computer technology is layers of abstraction. I dont need to know circuit design to program and app or design a computer system.
I broke the 666 likes chain.... I'm sorry
This is definitely my favorite guy on this channel.
I'm between him and Tom Scott.
I say Tom
You like Frodo eh?
That preview picture tho. At first blink I was sure that was anything but an onion lol
( ͡° ͜ʖ ͡°)
Clickbait :P
I looked at it and saw the onion framework. Life of a virgin, I know.
it is shallot, not onion
Yeah SAME I thought it was a shallot
Confidentiality is hiding the message, anonymity is hiding the sender.
Confidentiality is hiding the contents of the message so that only an authorized entity can access the contents. Hiding the presence of the message is known as obscurity.
GodzerkerTF must be not so very well known as those guys didn’t pick this word. Love these two comments BTW!
@@godzerkertf4764 Right, I should have said "hiding the contents of the message" Obscurity is indeed hiding the presence of the message.
Beateau if we're getting really pedantic, obfuscation is obscuring the message by surrounding it with meaningless noise
@@rickastley885 Yeah, that's one way to do it.
Using Tor to access Facebook... Oh what irony...
It doesn't need to be your account ...
Actually, Facebook was used to rally people in for example places like Egypt on Facebook which eventually lead to them overthrowing their government. Which a large part of the public in Egypt seemed to not be against. Which Egypt could not easily block. Now the problem in general with overthrowing a government is, it's like the Forrest Gump's box of chocolate: you never know what you are gonna get.
Using Facebook for political goals in many Countries like Syria Egypt and Iran can get u arrested
lol
@@autohmae actually that was hillary clinton trying to be clever but instead sabotaged the trust in the american government so now no dictator will trust them again.
4:06
Layer encryption.
6:02
Attack.
7:42
Onion routing.
8:08
Speed.
9:24
Eavesdropping.
10:28
Drawbacks.
13:03
Cells.
Are the servers for K1 K2 and K3 predetermined? how does the prior server (k1) know which next server to send it to if K2 is still encrypted?
@@norcalpacificat 7:42
cells interlinked within cells
Clearest description of Tor I've ever heard, obviously a teacher!
A key point left out: Network requests can often have blatant identifiers of who sent that request, and the specifics about what they're doing. It's not just always seemingly arbitrary requests that give no hint of who issued the request. Like when using any sort of system you have to user a user ID or password for.
This means the final node on the routing path actually can figure out info about who originated the request, and possibly why, despite having the multiple levels of encryption and routing between themselves and the originator
are you talking about the point of if you log onto something, or something else?
It could be solved by using another circuit. We pass decryption key with our sessionID and when server gets encrypted user credentials, it will decrypt it with the key that matches to our sessionID (that passed with user credentials).
When someone else goes "TOR router"
and you're there like
"The Onion Router router?"
May I know what your profile pic is from?
(Who's the cosplayer/character?)
@@rewrose2838 Right click on the image, select Search Google for image.
@@rewrose2838 i can make a wild guess at 2b but i doubt that is any close
i dont do pop culture sorry
@ĐulaRu no one calls it ram memory though
"The TOR router"
If you use a torrent via TOR, then the servers that are feeding you your files will have your IP address. The data stream initiated by your computer will include your IP address, when using a torrent.
No one sniffing the hops will know your IP address or what you are doing. But when your request reaches the intended servers, then those servers will have your IP address, if you are transferring a file via a torrent.
Not covered in this video is that TOR can be used for all manner of internet activity (not just web browsing).
But web browsing is probably the most heavily used part of internet activity, including over TOR.
So take note that your web browser can give away your identity.
If you do not take steps to keep yourself anonymous, your web browser will send along a load of information about your computer, which the server on the other end will see.
Also:
To remain anonymous, you must disable javascript when you use your web browser.
But doing so will break the functionality of countless web sites. You will find that they do not load properly. Some sites will know that you disabled javascript, and will tell you that their site requires javascript to be enabled for it to work properly. But if you enable javascript, you will almost certainty give up your identity.
Lastly, due to bad actors, abusing the fact that TOR keeps them anonymous, countless web sites will not accept connections from TOR exit nodes (those nodes are publicly known).
So if you use TOR to go to some web site, it might time-out, or you might get a connection refused message, or something similar.
And then there is Windows, that monitors everything that you do, and phones home.
If you use TOR on a Windows computer, you really do not know what is being logged on your computer, or being sent to Microsoft.
For the safest TOR experience, use the Linux TAILS operating system.
If will be a bit of a struggle to surf the web, via TAILS. But that is due to TAILS protecting you from yourself. The roadblocks that TAILS puts up are to keep you from revealing your identity, when you did not realize that you were about to reveal your identity.
BitTorrent can be anonymized, you just need a client built with the anonymity network in mind. I2P and Tribler has this. I don't think there's a reason why one can't be built with Tor.
For the web, Tor is best used with Tor Browser. That already takes the steps needed to anonymize the web browser.
JavaScript is safe for most users. Tor Browser sanitizes anonymity threatening functions and proxies it over Tor. The main problem is the potential for critical vulnerabilities. Keeping the browser up to date is usually enough. It's only worth disabling for high risk threat models.
There is an idea being floated around about the concept of Exit Bridges, basically hiding the fact you're using Tor from the destination. But until then, you can use an archive or web proxy depending on your situation.
Using Tor on Windows still reduces the total number of entities that can track you. And it's still helpful for bypassing censorship. That's still a win, even if it's not complete.
Tails is too extreme for the average user. I'd recommend any mainstream Linux distro.
Been following for years and I love the content. Always so fascinating. One of the best channels on YT.
I love the Computerphile episodes that Mike pound is in!
I love Dr. Pound's in-depth explanations, and this channel, too.
few questions:
1- why not asymmetric encryption as opposed to symmetric?
2- could you make it harder to de-anomynise you if packets had a short, random delay before being sent to the next node?
3- could you make it harder to de-anomynise you if you added dummy data or dummy packets at the entry and/or exit points?
Great points
ogres have layers
iammaxhailme
Why would they have that much skin? Ew.
+KarjamP Shrek Reference...
Trolls have even more layers, gotta stay anonymous.
Hey! I resemble that remark!
Ryan Stewart
Perhaps you should know, I was actually joking.
Great video but I am not sure about the last part. An Etherframe is 64-1518 bytes long, not 1512. 1512 would only include the data in the frame, and source mac and destination mac. The data encapulated by the fame is set to a default maximum transmission unit of 1500. This does not include the Preamble + Start Frame Delimiter ether type FCS or the inter frame gap.
I am also not sure about the point that was made about how a router decides to forward a packet. The router would check the destination mac address to see if it is being sent to its self. Then the router would check the CRC hash at the tail of the L2PDU to see if there was corruption to the transmission of the packet first to determine if it is even going to process the frame. Then it would check the destination ip address and figure out it if will need to do a routing table lookup or if it is destined to the router its self. A new hash is created each time the ethernet frame is rewritten, which is each time it hits a layer 3 device that needs to route it. The hash must match each time a switch or router checks the CRC, if it does not pass it will drop the frame or packet. The tor protocol does encryption at Layer 6 of the OSI model and would not interfere with the passing of the CRC.
As you said at 13:14 a router determines if a router needs to read a message or forward based on the hash. Incorrect because if the hash does not pass it will drop the packet. A router will determine whether or not to forward the packet based on its IP destination in the L3PDU, not the CRC hash.
Does tor networking handle routing differently where something would need to be done in the application layer?
Great video, but I think you should probably have mentioned hidden services (or otherwise servers running nodes themselves, such that the B node is the same as the server you're communicating with). Combining that with information about running one's own node (such that the user controls node A) gives a more complete picture of optimal Onion Routing conditions (though, again, not entirely without potential for pattern analysis). Lastly, I think some people in the comments appear to be treating "being an exit node" like a thing one chooses, so this is just to say that a node is a node and routes, while they can be controlled manually by the sender, generally are generated and the exit node has nothing to do with choosing which node will be the exit (or entrance, for that matter). Love your work, keep it up!
Uh I think you'll find that TOR actually stands for The Ogre Router, because ogres have layers, like cakes.
OGRES
are _NOT_
LIKE *CAKES*
This comment needs more likes
Although these routers do not stink, or when you leave 'em out in the sun, they get all brown, start sproutin’ little white hairs., but I'd say they can make you cry.
Women: uhh i bet he's cheating on me
Men: SHREEEEEEEEK
5:16 what an enthusiastic server
I appreciate how you make a complex topic easy to understand. Thank you for the helpful video.
12:00 He talked about the possibility of de-anonymization through message time signature analysis. Isn't there way to, sort of, stagger those time signatures somehow?
Yes but the problem is the size. If send 30kb of data in 5kb chunks it will be difficult but not impossible. In real life they'll just need to find your location and then when you're not home they'll just place some extra piece of software/hardware on your device. Silk road owner got his laptop straight up stolen by FBI lol . You dont play fair so dont expect them to play fair
@@kukuricapica yes but if you are just a user the chances are very low. if you are hosting a black market you will have a high risk
Mix networks have the concept of dummy messages that are produced by the relays (routing nodes) to make the original message ordering harder to trace. Messages may also be output in batches and random or lexicographic ordering may be performed by the relays
Yes, it is possible to ask each node to add some specific randomly chosen delay. But this will impact performance so badly that it may become unusable. Everything comes with a price.
Thanks. I don't know why but I find the way Dr Mike Pound talks about subjects to be very engaging.
The pace, content and level is exactly at the level I like
'Great Job!' As the Americans would say. As a Brit it's more of a 'he's OK to be fair, end of'
(great job, ignore the brit thing)
Great insight for a newcomer to the topic, thank you for taking the time to explain!
I knew nothing about Tor but I saw it was a Mike Pound video so I watched it, definitely glad I did and I feel like I learned something new and important from it :) Thanks a lot for the videos!
Can make a video by explaining how i2p works ?
TecnoCR I2P is also called "garlic routing" for those interested.
Yes but the thumbnail may not be as interesting.
I thought it was called "i have 2p"
I could listen to this guy explain stuff all day...
Such a bad choice of an onion drawing, cant stop seeing it. Love the channel!
So I created a chain proxy a few years back I could easy implement encryption into the request but man that part about checking the hash at the end to determine where the packet should go is Genius !
Very interesting stuff... another extra reason for the idea that the more people use TOR, the safer it is. Then again, the most congested it might become.
I imagine a potential solution for traffic shape analysis would be for client and end node to have constant input without spikes with complete saturation, filling blanks with garbage. But that would also make the whole thing kinda useless in terms of speed.. or extremely complicated to pull. :P And also extremely taxing for every node.
3:30 if I as a client negotiated a symmetric key with each of the Tor Nodes that means each Tor node knows my IP address correct?
No, because when you're sending the message to Node B to negotiate the key, you send it through Node A.
Jordan Macdonald thanks Jordan! Make sense, its like the Entry node acts like a proxy. And thats ok because the entry node already knows the client..
@@hnasr Yup, but a proxy that doesn't know your request.
This guy definitely put all of his skill points into speech.
Agree 100% - impressive communicator.
I enjoy listening to Dr. Pound's explanations. I can understand him. The subject is fascinating.
4:25 I can't be the only one who sees something....
I also see an onion
red onion right there :]
( ͡° ͜ʖ ͡°)
KabyAlkaris they could have chosen a better picture of an onion right
i see a shallot
The last minute of the video contains one of its most important points.
Why are the lines on Dr. Pound's illustration torn?! Like some sort of screen tearing. It seems to be with almost all the lines drawn.
It's really tearing me apart...
Mikkel Laursen They fixed the camera perspective in post, which I guess left some artifacts. You can see the camera angle switch to and from the torn perspective near the end of the video.
I noticed it at first with his hands and that there's never any camera above him in wide shots.
In 3:45 they switch to a still photo and the tearing disappear, a video specific problem I guess...
I knew I wasn't going to be the only fuming pedant in the comments. Lol.
Mauricio Omg i didn't even notice!
I heard that an issue TOR has is that organizations (government and others) have started signing up servers that they control as nodes, effectively infiltrating the network.
The more nodes they have than the more complete their picture will be on what is going on. In this example, if one entity just so happens to control all three nodes then they can see exactly what you are doing despite the encryption because they can just follow the message along from beginning to end.
Which is why TOR is very dependent on volunteers that provide a collective massive amount of servers so it becomes increasingly unfeasible for a single entity to control a large enough share.
I love these videos!
Tymscar Sha
Racist
Great vid, I really appreciate this content. Does anyone know how long a routing chain lasts? It seems pretty important that the paths you take don't remain constant. Would a new route be established with every request, browsing session, or change in server destination? Or is it more of a timed switch?
Interesting video! But I'd like to know how the key exchange works between tor nodes
That would be another video on its own. But I suggest you look up diffie-hellman key exchange
Bravo. This man is the most gifted, lucid explainer of computer matters whom I have come upon. His diagrams, articulateness, and sense of organization are superior. He is commandingly competent. Two small complaints: (1) he speaks too quickly; the pace of his (British) English would be more suited to a neophyte audience were he to slow down, and (2) his occasional jokes sometimes come at crucial moments and so detract from the clarity. He does employ jargon that sometimes I, at any rate, have to look up, when I can catch it (the speed issue again), but that nay be on me, not him.
Great video!
Faisal Abid a
Best computerphile video I have seen yet.
8:53
"We've got a situation here where no one really knows anything about what's going on at all"
gee sounds like my life
and politics
and lots of things really
no one needs to know what's going on in your but you
I often find great content videos on this channel ! Guys are technically very rich and great in explaining things easiest way possible - Top man !
Ahh .. just checked and found he`s a researcher (dr.) as I presumed :) respect sir !!
Wouldn't it be possible to use random network delay to prevent what you defined as frequency deanonymization? Lets say you have an average delay time on 1 second, and then each message gets randomly delayed from 0 to 2 seconds on each of the nodes. Yes, this would slow down the speed, but would greater improve the anonymity.
Yeah, I had the same idea. But there is probably more flaws in this system. If it was this simple to make it fully anonymous, thay would probably have already done that :D Maybe generating random delay lenghts is the problem, since pseudorandom numbers can be cracked down pretty easily.
While adding a small random delay can help with obscurity, it's not really worth it. The delays can still be taken into account and detected by frequency analysis of large amounts of traffic. This solution is not really worth the loss of speed in communications.
The only way to solve this, would be through completely asynchronous batched data transfers, but that's impossible to manage without introducing a whole bunch of vulnerabilities, or redesigning the whole technique.
+Michael Incog That's not really true. Your computer probably has thousands of threads sleeping right now. Delays don't have to be active livelocks. Even "single-threaded" applications on frameworks like node.js, can deal with that. Event-driven wake ups, can deal with that.
Even so, a delay is far less expensive than actually processing/decrypting data, and since you add an average delay over the whole network, you essentially replace some actual processing with a delay, in function of time, which should even lower the network load.
Could you explain further how one can analyse the frequency of a random delay? I dont see how we can know where data comes from if we dont know the mean-time of which data is being sent between each requesting computer and responding server.
Gjert Ingar Gjersund I am not sure, but i think this has to do with generating trully random numbers. Computers cant do that. They would generate pseudorandom intervals. Which maybe would make it hard to detect the connection for a human, but for a computer it would not actually make much of a challange because it could quickly figure out how the numbers were generated and still see the connection.
Thanks for releasing this just before your exam
I wish Mike would have discussed the differences between exiting the TOR network into the clearnet and accessing hidden services (the packets never exit the TOR network).
I didnt quite get why the first node couldnt decrypt what you are sending? I mean it only has one layer at this point. Wouldnt it be easy to crack those one layers?
Discovering this channel with this nice topic : thanks a lot! Short question, Mike Pound evokes the weakness of finding timely correlations between entry and exit points. But, could some kind of controlled shuffling of the various requests do the trick ( a mixing with other requests)?
I think that you can partially solve the problem, with someone controlling A and B (front and exit node) and measuring intervals between front and exit nodes, but you need to sacrifice performance...
The idea is that you could delay each message by some random amount. Construct message with variable length of hops between you and server. E.g. exchange some keys from K1,K2,K3,K4,K5,
construct 1st message K1->K5->K2->server, 2nd message K3->K2->server, 3rd message K4->K1->K4->K2->server, etc... because no node knows full path, and each message will have different amount of hops, all messages will arrive at different time ;) that's the general idea.
In theses cases when server doesn't have "sticky" sessions, you can change exit not for each message!
this guy and the animations are amazing!!
This video made my day ! I got to learn a valuable lesson about Tor. Thankyou!
Gabe from Office seems to have taken a keen interest in tech! Good for Sabre for promoting cross team functions
Looks nothing like Gabe though.
This man is my favorite on this channel I wish he was my personal teacher things would be much simpler.
What are your thoughts on the US government claiming that Tor is essentially useless and they can spy on Tor traffic? Do you believe its entirely based on sniffing the beginning node and end node?
When Edward Snowden leaked the NSA files back in 2013, one of them was a slideshow called "Tor Stinks", in short it was a classified NSA talk about how challenging tor is to break, and how much they hate it. World governments definitely operate tor relays, but at the moment I don't think (we can't know) they have access to some flaw in the protocol. They have in the past, they funded researchers from CMU to perform lot of traffic analysis via compromised relays and a flaw in the protocol, Silk Road 2.0 was among the sites taken down in that attack. You can read more here:
blog.torproject.org/blog/tor-security-advisory-relay-early-traffic-confirmation-attack
Do they still have access? Difficult to say, but I would guess they don't right now.
Tor is still vulnerable to deanonymizing attacks, ie user error with badly configured browsers/proxies. This is why it is so recommended to use the Tor browser, as it will do its best to keep yourself from those.
The tor nodes are publically listed so you might even be more safe to actually buy drugs or stuff if you are an exit node.
How would the FBI know that theyre an exit node, and not just another along the way?
ShadyPossum I think it's public
Very cool guy. Its always nice to hear a lection from him. Next video could be how do people find you on a tor via flash or ads or cookies and so on.
Why not add random delays to solve the deanonymizing problem? Would it be too costly for servers and make the connection too slow?
there's magic in michael pound and tom scott. literally magic!!
Hey great video. You talk a lot about the key excange. But how does this work? Cant the Routers see your IP when you pass them the key directly? Or if you send it trought the Routers you've already connected with, cant the see the Key for the next Router?
Don't know how it's implemented but you can do the key exchange with node 2 over the connection of node 1, and with node 3 over node 2 and 1. Just like the final connection but with less nodes. This is what you would do if you browse e.g. Facebook over Tor. You make a key exchange with Facebook over all the Tor nodes.
Hi, it works using a process called diffie-hellman. It's a bit complex for a youtube comment, but you basically create half the key, and the router creates the other half. You send a public part of your half to them, and they send one back, then you both calculate the key in secret. To add to this, you also encrypt the bit you're sending using the public key of the router in question. So each intermediate router sends on the key exchange, without actually being able to see what's going on. As Keex11 says, you don't ever send keys directly, you send them via already established connections.
@@michaelpound9891 Yes, but how do the intermediate routers know where to send the messages?
I just got done watching the Silk Road movie and wanted to know more about this. Not for nefarious reasons. It’s just interesting. This was a great video thanks.
I would not want to be the last guy forwarding a request to some dodgy website.
I know right, seems insecure. kinda beating the whole meaning of it.
If you got nothing to hide :pPPPPpPPPpPp
Tor gives you the option to manually disable being a bridge, or an entrance exit node.
If someone sets up a bridge, they can prove to everyone they have a bridge and can not be held responsible
I may sound like a devils advocate here but you dont host anything so it shouldn't matter. If I send something ilegal via mail you dont hold post office responsible. Same with CP. I mean those people should seek help but people who host those websites or even making a content are the problem.
One of the key features of Utopia P2P private browser is its web proxy function. A proxy server is a server that acts as an intermediary between a user's computer and the internet. When a user requests a web page, the proxy server receives the request and forwards it to the web server. The web server then sends the requested page back to the proxy server, which in turn sends it to the user.
wouldn't a downside to being a node be that you'd get into trouble for the sites that other people went to?
because it'll look like your computer went to those sites when it was someone on the other side of the world who actually requested it
Im no expert but if you’re a node, then dont you automatically not have any affiliation with the client? It looks like a client can’t be a node for it’s own message so any node in that chain is innocent for that particular message
That's exactly why you can't be pinpointed. It could be anyone and the secret services can't simply hunt you without knowing for sure you really did it
I like this guy. I just subscribed. He explains things well like a friend who wants to teach you.
I always thought tor stood for "the onion ring".
mmm... onion rings...
Thank you homer
@@34cvc That's exactly what I thought of right now :D :D
Simply amazing! This is exactly how you should explain technology. Thank you.
How does the client side share k2 and k3 without creating a connection with those machines?
Did you ever find out? I thought the same thing.
@@supercoolgames8218 I just re-watched it. I think the client shares the keys using public/private key encryption. He explains at 3:46 .
But to share the keys doesnt that mean a direct connection with those nodes?
best host ever I absolutely love him doesn't matter what he is talking about its always interesting. .
I love your videos, they are very interesting.
Can we make slow loris attacks anonymously using TOR ? If so, there is still potentially the problem of comparing signals tempo ?
11:24 I might not have the inside you have, but I think that this problem of someone controlling A and B is not unsolvable: If you accept slower network speeds, simply add a randomized timer to every layer, so you can't correlate packages at A and packages at B. Packages will be out of order on the other end, but this shouldn't be a problem as this can happen in non-TOR networks too.
Couldnt you theoretically have the messages passed through some random functions on every note so that their sendtime differs in a intervall of 0.1 to 1 second or something? Would that not solve the correlation possability ?
It would maybe make that a little better, but it would make latency and throughput a lot worse.
MultiAblee Yes. There are systems like that. They are often called tumblers or mailboxes, or just stochastic routers.
Also a kind of similar question (2 years later I know), would it be possible to simulate the traffic on an end-node (ie. send other packets to other websites that are not reverted back to you) ?
I am placing all my personal data, information and its protection to the hands of Tobey "I am a technical genius as well as a popularly acclaimed actor" Maguire
We gonna have a word about the video thumbnail
this guy is so interesting to listen to , captivating is the word
If I set up a TOR node, am I responsible for all the traffic that goes through it? Could you be arrested if some of the traffic was illegal?
No. That would mean all ISPs in the world would also be responsible for all illegal stuff in the internet. Usually nothing is illegal unless it involves you, acquiring or redistributing illegal information, or using illegal services.
Unless you are an exit node, not really.
Unless you're a math teacher in Russia and tor exit node.
Ronan Only if you're the exit node, really, because they're the only ones that know where traffic is going to.
If you setup an END node then yes, if middle then no.
When we're talking about digging into the 'tempo' of messages and de-anonymizing the data- what is the certainty that we're able to establish on those?
Correct me if I'm wrong but there should be a significant amount of variation resulting from using a lot of nodes, and obviously, the more nodes we use, the more varied our output 'tempo' is going to be. So we have two variables there- the size of the message (which stays the same) and the time interval it takes for the message to arrive at the last link (point B in the video) which is varying depending on many external factors. Also, wouldn't the data be sent over different amount of nodes (and different nodes) every time, which would add to the ambiguity?
Great video by the way, thanks for making those!
POV: you didn't search for this video
@Computerphile quick question at 5:43 you say the middle node doesnt need to know who you are. if this is the case how would you exchange keys with it??
you exchange keys with it thru the previous node, which you exchange with thru the previous node etc?
You'll probably need to reupload this.
There is a serious flaw at 4:09, where no image of Shrek appears when he says "in layers" and raises his eyebrows.
The ring of power does indeed gives you superpowers, I never thought Frodo will end up in CS.
That picture in the thumbnail might not of been the best choice.
8:54-8:58 beautifully sums up the current situation
But if your operating system is compromised as most are by default, tor is useless right? No?
Linux exists for that matter. It's open source and verified.
True.
That's why you shall use Tails OS :-)
Wonderful intermediate overview. Would recommend.
What prevents a massive DDoS attack from taking out TOR routing nodes?
Not a lot. The node will just become unresponsive and a new chain of connections will be made instead because that routing node is not responsive.
Numbers, that's about it. There are 7000+ relays, that's a challenging thing to DOS. This is one of the reasons TOR are always looking for people to volunteer as relays.
metrics.torproject.org/networksize.html
There is route convergence and re-routing delays. All you need to do is DDoS enough then move on to the next set of routers.
Botnets can range into the 100s of thousands of nodes so taking out 7000 TOR nodes is not out the realm of possibility.
Nation states do have incentives -- and they do it. With increasing frequency.
Also the attack would be extremely easy to notice and a warning would be put up saying to not use tor in that time period.
Use full disk encryption on your computer's operating system (OS), just to be safe if you are using Tor.
What if the majority of the nodes is controlled by NSA?
The game is rigged? Lol
All the nodes are public knowledge, the only way for the nsa to use this information is to knock out all the servers except 3, then they will control k1 k2 k3. I think they’ve only done that once.
computerphile aint the only phile analysing TOR
I love these videos, but one day I'll make a compilation of Him putting His shirt straight on His left shoulder (with Yakety sax of course) :-D
Didn't realize Elijah Wood was a computer guru. Much respect.
We have a situation where nobody knows what is going on at all also. We call it Congress.
Tor is the opposite of non-repudiation. The origin/sender of a message can't be verified because the message goes through several routers randomly. It's also encrypted in transit until the last router before the destination
Damn this thumbnail
Oh man these are my favorite. Thanks Dr. Pound!