[00:00.000 --> 00:03.060] Thank you all of you for coming out today to see this presentation. [00:03.900 --> 00:14.800] I also wanted to give a special thanks to my friend, Shepherd, who helped me by seeing several drafts of this talk and this feedback has made this significantly better. [00:15.040 --> 00:16.260] He's walking in the door now. [00:16.460 --> 00:17.900] So thank you very much, my friend. [00:18.540 --> 00:22.220] So this is intended as an entertaining and educational presentation. [00:22.660 --> 00:29.980] My hope is that it will spark an interest in people to start exploring the vast landscape of networks. [00:35.480 --> 00:41.720] There is a lot of different research that could be done to continue on with what I'm presenting on today. [00:42.360 --> 00:52.080] After this talk, some might get reasonably paranoid about what might be hidden in traveling over the wires of whatever they consider a secure, sensitive area for them. [00:52.080 --> 01:05.660] But even people that trust their environment might still be interested in verifying unexpected running over the cables around them and or how to filter out what they want. [01:07.700 --> 01:08.340] All right. [01:08.600 --> 01:10.560] So I'm Robert Sheehy. [01:10.860 --> 01:14.260] Just ignore what they put on the program for the handle. [01:14.420 --> 01:16.480] That was just an email address for my submission. [01:17.860 --> 01:30.840] So I've identified as a phone freak and a hacker since my early teenage years as an autodidact as I entered adulthood and most recently as a highly senior cybersecurity professional. [01:31.880 --> 01:45.640] On this slide are links for my LinkedIn profile, references for two decades of professional certifications that I've obtained and maintained through SANS, and an email address that you guys can reach out to me at for any reason. [01:45.640 --> 01:53.980] I am currently looking for work, so please reach out to me if I might be a match for anything anybody might have an opening for. [01:54.220 --> 02:08.440] I've experienced in incident response, reverse engineering, forensics, penetration testing, threat intelligence, cybersecurity architecture, compliance, cloud, and most recently machine learning and AI. [02:20.720 --> 02:25.140] I also have management experience. [02:25.380 --> 02:32.380] So if you're looking for superhuman cybersecurity, emerging technologies, or virtual CISO, please reach out to me. [02:32.780 --> 02:41.160] And although I'm a regular user of machine learning and AI and LLMs, I have not used them in the creation of this slide deck. [02:41.320 --> 02:44.520] So I'm kind of curious to get some feedback on what people think of that. [02:45.000 --> 02:53.900] For anyone who doesn't know what an autodidact is, I'm just going to say that finding out in response to this presentation could be your first step to becoming one yourself. [02:55.900 --> 02:56.500] All right. [02:56.700 --> 03:07.580] So I think one of the most impactful things that I've done for this community in my early years was the curation of a collection of Patrick Conference archives reporting that some of you might have downloaded from. [03:07.880 --> 03:18.640] So in this slide, if anyone downloaded recordings or rainbow tables from some of the sites listed, that was coming for well over a decade. [03:19.200 --> 03:28.060] When the data set finally got too big for me to continue finding hosting, or on my own, it was rescued by DEF CON and DARK TANGEN. [03:28.220 --> 03:30.220] And now it has people found that more. [03:31.000 --> 03:34.560] Since then, it's become the data set behind the database application building. [03:36.420 --> 03:38.300] So amazing thing. [03:38.440 --> 03:43.480] So my apologies if I've forgotten anybody who's provided hosting services for that in the past. [03:43.480 --> 03:44.820] It's been amazing. [03:50.760 --> 03:56.960] So it's an amazing thing to have worked on this project that has taken on a life of its own. [03:57.100 --> 04:03.080] It's one of the reasons why I'm driven to continue to contribute to such an amazing community. [04:03.300 --> 04:04.700] So let's get started. [04:05.020 --> 04:06.500] Got a lot to go through still. [04:06.500 --> 04:15.120] So this talk will discuss networking and IoT devices designed for consumer home networks and maybe a lab network. [04:15.320 --> 04:26.360] I would generally recommend against using them in small business environments, but depending upon your use case and budgets and risk tolerances, some of these might work out for you. [04:26.480 --> 04:32.420] But do not assume these reference technologies that I'm talking about are ready for prime time. [04:32.420 --> 04:35.840] There are major security risks in these devices. [04:36.200 --> 04:42.020] I'll acknowledge those risks and give you some guidance on some possible approaches for risk mitigation. [04:43.480 --> 04:47.780] So here I want to set the stage for the major focus of this presentation. [04:48.080 --> 04:49.040] There's a lot here. [04:49.580 --> 04:55.380] I've got another formal outline coming up that I'll kind of track where we are in the process of the talk. [04:56.500 --> 05:06.300] I'm going to be talking about a lot of different type of IoT devices because it kind of relates to these alternate networking technologies too. [05:06.520 --> 05:11.880] So I've got experience with these IoT devices, some going back 20 years. [05:14.500 --> 05:18.120] Now, here is the specific outline of what we're going to cover. [05:20.020 --> 05:38.720] I'm kind of hoping to show you how cool these technologies are, how they're similar and different from Ethernet and other networking technologies like Wi-Fi, and how you can use them to augment your existing networks and how to attack them. [05:38.980 --> 05:52.720] It gets really cool at the end when I tie it all together with HDMI over IP with Mocha Powerline Wi-Fi networking to create a whole synchronized whole home TV distribution system. [05:53.300 --> 05:55.500] So, plus other cool stuff like that. [05:55.660 --> 05:57.040] Hope you'll enjoy this presentation. [05:57.700 --> 06:00.640] There also is going to be a lot of dumb memes. [06:01.440 --> 06:02.040] All right. [06:02.180 --> 06:07.300] So, we're coming to the first part of what we're going to cover. [06:07.560 --> 06:11.160] So, a little bit of history. [06:11.380 --> 06:22.140] So, just to move on, backwards compatibility is going to be a recurring theme, particularly when it comes down to security issues. [06:22.140 --> 06:36.140] The same problems keep coming up, such as how to migrate to new technology and attempting to reuse existing infrastructure in originally unintended ways to support that effort. [06:36.600 --> 06:38.960] What is old often becomes new again. [06:39.180 --> 06:41.980] So, reusing cables is not new. [06:42.660 --> 06:46.160] It's been happening for at least 100 years, as I've found. [06:46.160 --> 06:55.500] In this slide is a reference to a Bell Systems Technical Journal from 1925 on the use of carrier grade high voltage lines. [06:55.780 --> 07:07.120] And so, this was where they would merge a local city's multiple phone lines, aggregate that, and then send them over long distance power lines that existed. [07:07.120 --> 07:11.020] So, this is not new or novel at all. [07:11.880 --> 07:19.000] And continuing on with that, here's a little 10-year overview of the bootstrapping of the original Internet. [07:19.000 --> 07:21.180] So, this is very condensed. [07:21.180 --> 07:35.860] But, my understanding is that the first east-west coast ARPANET link, which was the predecessor to the Internet, was from the RAND Corporation to MIT Lincoln Labs going over a phone line. [07:38.100 --> 07:40.200] That is essentially how the Internet started. [07:40.420 --> 07:42.760] Over a phone line, reusing existing cables. [07:42.760 --> 07:48.600] So, when home consumer adoption of the Internet started, it was also over phone dial-up lines. [07:48.780 --> 07:49.860] Not really a coincidence. [07:50.200 --> 07:52.860] We're going to use what is widely deployed and saturated. [07:53.420 --> 08:02.060] But, of course, though the telephone line was too small, or too slow, to really allow the Internet technology to take off. [08:02.260 --> 08:04.920] So, then, more reuse of wires. [08:06.120 --> 08:08.600] Now, you guys don't need to read this slide. [08:08.600 --> 08:09.820] There's a lot there. [08:11.580 --> 08:17.140] But, basically, the shorthand for the large-scale reuse of wires is called broadband. [08:17.740 --> 08:22.660] This busy slide is just to show that there are a lot of different broadband standards. [08:23.240 --> 08:28.140] I'm hoping to make my point, reusing cables is actually a fairly standard practice. [08:28.380 --> 08:32.480] So, so standard, I have a whole screen full of all of the different standards. [08:32.480 --> 08:39.600] The slide lists different types of broadband technologies, speeds, as well as the year of initial availability. [08:40.040 --> 08:50.660] Although there are fiber rollouts happening, there's a significant amount of residential home Internet that still has the last mile covered by what will be considered legacy infrastructure. [08:52.420 --> 08:56.320] So, that kind of ends the short history there. [08:56.560 --> 09:04.020] So, let me dive into some pitfalls of early home security networking, because this is a pattern. [09:04.660 --> 09:08.720] When Wi-Fi networking first came out, it really changed everything. [09:08.720 --> 09:17.280] I remember attending the first years of the Wi-Fi hacking talks at DEF CON, seeing it go from nothing to everywhere in a blink of an eye. [09:17.940 --> 09:24.700] The initial devices, unfortunately, had many security issues, but they remained in use for quite a long time. [09:25.320 --> 09:31.500] There, we also start to see the deployment of long-lived IoT type devices. [09:33.380 --> 09:43.460] Now, high-end printers of the 90s were one of the first wired network print servers, making them, in my opinion, some of the first OG IoT devices. [09:44.300 --> 09:52.900] Once home networking, 802.11, 11 megabit Wi-Fi became available, it exploded, everybody wanted them. [09:53.280 --> 09:59.740] Then war driving to find these wireless networks became a thing to map them out. [10:00.280 --> 10:04.120] These things can also happen with the wires that are all around you. [10:04.320 --> 10:08.600] There are things and networks that can continue to be mapped again. [10:08.600 --> 10:14.300] Now, just like before with the original wireless, the encryption was weak. [10:14.580 --> 10:18.380] And this is another thing that we'll see repeated here. [10:18.580 --> 10:24.400] So, even if you were going to use encryption, your only option was WEP. [10:24.640 --> 10:26.200] And then WEP was broken. [10:26.500 --> 10:36.380] And when you then broke into WEP, what you would typically find would be the admin panel was directly accessible and was still set with default creds. [10:36.380 --> 10:41.520] So, it was truly a golden age of zero fucks given security-wise. [10:43.580 --> 10:54.520] Unfortunately, some of the modern alternative medium network devices for the consumer share many of these same issues as these 25-year-olds devices. [10:54.740 --> 10:57.080] It's for that reason that I'm covering all of these. [10:58.920 --> 11:04.240] You should expect some of the same issues today that you would almost expect in some of these devices. [11:04.240 --> 11:16.180] One of the oldest IoT devices that I can kind of find was this Linksys WPS 11, which was a wireless Ethernet print server that worked over a communication port. [11:16.200 --> 11:20.480] Of course, it only supported 802.11b and WEP. [11:21.060 --> 11:26.120] So, if anyone is still using these, I hope they're not printing anything sensitive. [11:26.400 --> 11:31.940] But there is honestly nothing that would prevent some of these devices continuing to be out there for a while. [11:32.680 --> 11:41.160] So, even with WEP and Wi-Fi disabled, this device would still work over the RJ45 network connection. [11:41.360 --> 11:43.920] So, it could still be there. [11:51.900 --> 12:00.120] So, there was, back in the day, some security guidance on them, but not that much. [12:00.300 --> 12:07.740] So, this is typical guidance for what you would have seen for an IoT product back then. [12:07.740 --> 12:15.100] And my understanding of reading through that is that the focus seems to be that the traffic might be consuming bandwidth. [12:15.360 --> 12:19.840] And that is going to be what the user is concerned about when they're reading the manual. [12:20.060 --> 12:25.800] Nothing about all of these services running on the device that are never, ever going to see a patch ever again. [12:25.800 --> 12:34.640] So, but it's really the last line of that text that really kind of drew my attention. [12:36.460 --> 12:41.940] Leave TCIP alone, unless you require it to be disabled. [12:42.720 --> 12:47.740] Please raise your hand, any of you who require TCP IP to be disabled. [12:48.540 --> 12:49.160] Okay. [12:49.520 --> 12:52.480] So, everyone else, leave TCP IP alone. [12:52.880 --> 12:55.300] Not much in the way of good guidance there. [12:57.640 --> 13:06.900] So, now, for attacking IoT, having the management plane merged with the data plane is a common mistake in cybersecurity to this day. [13:07.620 --> 13:14.280] It's kind of what allowed the blue boxes of the last century to allow you to hack the telephone lines. [13:14.280 --> 13:23.020] If you're not quite following what I'm saying with management plane and data plane, it's as simple as you have your home router. [13:23.660 --> 13:32.860] You connect to the Wi-Fi and that same network that gets you out to the network, which is your data path, is the same one that gets you to the management interface. [13:33.220 --> 13:35.380] There is no way to separate them. [13:35.780 --> 13:42.980] And that was the same thing that blue boxes ran on because the tones just went over the same line as the voice. [13:45.000 --> 13:46.340] that was being communicated. [13:47.140 --> 13:47.760] All right. [13:47.940 --> 13:57.600] So, now we're getting to the part where I'm going to complain about the first generation of Wi-Fi extenders, which either did not work at all or did not work reliably. [13:58.640 --> 14:12.220] And it was actually because of these extenders that I started looking for alternatives to kind of expand the coverage of my RJ45 switch network. [14:12.900 --> 14:19.220] I had not had positive experiences with many of the first generations of Wi-Fi expanders. [14:19.620 --> 14:31.620] I'm going to cop that I've heard things have gotten better with the Mimo technologies and mesh, but by this time I had already solved my problem using the technologies I'm about to talk to you about. [14:32.720 --> 14:33.260] All right. [14:33.420 --> 14:38.360] So, now I'm on to my first major topic here, reusing existing phone lines. [14:39.680 --> 14:42.380] Unfortunately, not a lot of great options here. [14:42.620 --> 14:52.700] So, one thing to check if you have a telephone wire running in your house that you're not using is to check what type of cable it is. [14:52.700 --> 14:58.500] If it's cat5 cable, then that is kind of your best case. [14:58.720 --> 15:07.480] You can kind of change that into an RJ45 connection and reuse those wires as RJ45 connection straight out. [15:07.960 --> 15:11.960] Now, what I would expect, though, is they're going to be cat3 cable. [15:12.340 --> 15:17.160] Now, the difference between cat3 and cat5 is four wires. [15:17.720 --> 15:19.580] Cat3 has four wires. [15:19.740 --> 15:21.340] Cat5 has eight wires. [15:21.340 --> 15:30.800] Now, in theory, you could combine two cat3 cables and make a single cat8 outlet. [15:31.000 --> 15:37.400] But that, I think, is one of the worst ideas in this presentation and really recommend against even consideration of that. [15:37.660 --> 15:47.660] There is a technology I'm going to talk about later called G.HN that does support all kinds of cool stuff for networking. [15:47.660 --> 15:55.060] But unfortunately, I wasn't able to find any devices that would be applicable to a home use. [15:55.160 --> 16:03.880] It was more something like if you have an apartment building or an office that you would be able to use that kind of existing large scale wired infrastructure. [16:04.240 --> 16:07.320] So products are out there, but not much for the consumer. [16:08.600 --> 16:09.340] All right. [16:09.540 --> 16:13.000] So now we're getting on to the mocha coaxial networking. [16:14.120 --> 16:16.880] So this is a list of the current mocha specs. [16:17.760 --> 16:28.000] The most interesting lines of which are at the top with bandwidth, basically the version numbers at the top and the bandwidth potential below that. [16:28.000 --> 16:32.720] To my knowledge, there are no mocha 3.0 devices yet. [16:33.640 --> 16:38.940] This is also kind of being replaced by G.HN that I'll be talking about later. [16:39.340 --> 16:43.120] So I've used mocha 2.0 and 2.5 devices. [16:43.520 --> 16:52.900] I've not used mocha 2.1, so I cannot speak to the enhanced privacy that's referenced on the slide, but I'm not expecting it to be good. [16:53.060 --> 16:55.260] Again, one of those areas for some future research. [16:56.100 --> 17:08.700] Now, the pre-shared key configuration that I've used with mocha 2.0 and 2.5 do not scale well, and introduces some key management complexities that I'll get into. [17:09.000 --> 17:15.780] I have a deeper dive on encryption that's applicable to mocha when I get on to the topic of powerline networking. [17:17.240 --> 17:17.740] All right. [17:17.740 --> 17:24.520] So, mocha is meant to run and coexist on a coax cable that is already running other services. [17:25.060 --> 17:33.060] As you can see how radio, TV, and mocha use non-overlapping frequencies in the cable. [17:33.260 --> 17:44.660] So, in addition to DVR devices such as TiVos that may have integrated mocha support, there are also adapters such as these that you can get. [17:44.660 --> 17:48.820] Note that the management face is also the traffic interface. [17:49.880 --> 17:55.440] And the IP addresses are statically configured when you get them. [17:56.020 --> 18:00.040] And they all use the same static address by default. [18:01.740 --> 18:03.960] So, there's sort of... [18:05.540 --> 18:15.740] So, it makes configuring a lot of them from a central location mean that you essentially have to plug each one in and configure it. [18:15.900 --> 18:17.560] And so, that doesn't really scale. [18:17.760 --> 18:20.860] And then once you've deployed them, kind of good luck. [18:20.860 --> 18:27.760] You would have had to have changed the management IP address of each one of them and hopefully change the management credentials. [18:28.440 --> 18:33.020] And at the same time, there's no way to lock that management interface really away. [18:33.240 --> 18:40.500] You really do want that restricted so that maybe only that person that's directly plugged in can get to it. [18:40.500 --> 18:46.240] And it's not accessible from across whatever, you know, the mocha network in this case. [18:46.380 --> 18:49.700] But many adapters have this security vulnerability. [18:51.240 --> 19:00.020] So, configuring the encryption key means logging into the local management interface to set literally a pre-shared key that has to be set everywhere. [19:00.020 --> 19:09.260] So, even if someone is able to physically get a device that has that pre-shared key, they could move that to somewhere else where that key is in use. [19:10.280 --> 19:15.560] Now, there might be a firmware update to fix that if you can contact the manager, but kind of good luck. [19:16.800 --> 19:29.480] Now, this, with encryption, you can kind of get around that if you just use it as more of a point-to-point link, kind of going maybe over a single cable that you might have deployed. [19:29.480 --> 19:38.360] This was actually kind of the approach that I took where a cable source would come in and then go through a splitter throughout the house. [19:38.520 --> 19:48.840] I just disconnected the splitter from everything and then set up individual mocha connections with the termination on each point, effectively making it a single link. [19:49.060 --> 19:50.880] So, that's one approach that you can do. [19:51.480 --> 20:01.200] Then you don't really have to worry about so much of the encryption of the traffic beyond, like, physical security and physical access to tap it. [20:03.360 --> 20:03.880] Okay. [20:04.100 --> 20:11.120] So, with Mocha, specifically, as I mentioned, that there were frequencies that are used for different services. [20:11.120 --> 20:25.400] If you are using a coax cable that has other services on it, you may need to have filters and splitters that are rated at specific frequencies to support the proper traffic distribution. [20:25.400 --> 20:37.000] And what those frequencies are really is going to be case dependent to what you guys are looking at, what you have deployed, what's already running over it, what you want to go where. [20:37.000 --> 20:46.240] So, it can get a bit complicated depending upon your setup, which is why kind of my point-to-point link is the simplest way to do it. [20:48.900 --> 21:11.960] Now, if you have a central point, you're then also able to take advantage of VLAN-ing and maybe segment different VLANs onto these different alternate network traffic mediums, which may have a different threat vulnerability than potentially other parts of your network. [21:13.920 --> 21:14.600] All right. [21:14.760 --> 21:22.740] So, you will need to investigate the devices that are running on coax to ensure you're using the right type of filters. [21:23.020 --> 21:25.440] Like I said, not all filters are created equal. [21:25.440 --> 21:34.880] But it usually will be written on them what frequency ratings they're either filtering or splitting or doing what have you with. [21:37.970 --> 21:38.790] All right. [21:38.970 --> 21:45.310] So, one problem that you can have using these technologies is getting network loops. [21:45.790 --> 21:53.610] Network loops will eventually bring down your network but may initially exhibit symptoms of network latency. [21:53.610 --> 21:55.590] It depends upon the network. [21:55.810 --> 21:59.150] Some networks can survive a network loop longer than others. [21:59.390 --> 22:06.790] The best case for a network loop is a repeating, recurring, but short-lived outage. [22:07.130 --> 22:15.430] The worst case is that you reboot everything and it stays up for a few minutes until enough devices come on and then it all falls over. [22:16.550 --> 22:23.310] So, the TiVo settings that I am referencing in this slide was actually turning on Mocha networking. [22:23.830 --> 22:26.610] So, this had many issues. [22:26.830 --> 22:30.910] So, the TiVo devices would have actually three network interfaces. [22:31.130 --> 22:35.910] An Ethernet, they have Wi-Fi, and they would run Mocha over the coax cable. [22:36.150 --> 22:39.870] And you could turn all three on and it would bridge all of them. [22:40.870 --> 22:51.210] So, first, when you turned on Mocha, if you had an existing network, it would potentially downgrade that network to a lower version of Mocha, causing issues. [22:51.970 --> 22:57.810] If it didn't have the right encryption key, then you're effectively having two networks step on each other. [22:59.330 --> 23:07.190] And then when you have, say, two TiVos that are plugged in, and it doesn't matter how they're connected, one's wired, one's Wi-Fi. [23:07.510 --> 23:17.330] If someone goes through the remotes and just turns Mocha on on both of them, you now have a network loop that is really difficult to track down. [23:17.690 --> 23:19.190] Ask me how I know that. [23:22.130 --> 23:28.290] So, yeah, when you have an active network loop, you're likely going to have intermittent network issues. [23:28.470 --> 23:32.470] That is kind of the point of that. [23:33.270 --> 23:34.730] So, be careful about that. [23:34.930 --> 23:37.830] So, now we're going to get to the part about Powerline networking. [23:38.850 --> 23:44.870] So, a lot in this section, and I'm already 30 minutes in, so I got to keep continuing to talk fast. [23:45.590 --> 23:50.150] All right, so, I'm going to get to the meat with Powerline networking. [23:50.390 --> 23:55.530] So, first, there's a distinction between indoor PLC and outdoor PLC. [23:56.850 --> 24:01.750] Outdoor PLC kind of refers to long-haul, high-voltage power lines. [24:01.930 --> 24:10.450] So, all of the technologies I'm talking about refer to indoor PLC, which is kind of the lower-voltage stuff that you're going to have in your house. [24:10.450 --> 24:19.270] Now, a possible issue with Powerline networking is that the electrical signals are not always going to be clean, and the equipment's going to have to deal with that. [24:19.490 --> 24:23.730] High-end music gear requires stable power to function, as an example. [24:23.890 --> 24:28.550] So, this user group is well aware that, like, dirty power is a problem. [24:29.210 --> 24:34.390] And there are devices that will clean out your power, specifically for audiophiles. [24:34.390 --> 24:42.050] So, the Powerline networking specifications, and there are a bunch of them, attempt to address this dirty power in different ways. [24:42.270 --> 24:49.710] But the technology is still going to be limited by the physical characteristics of whatever medium you're actually deploying this into. [24:49.930 --> 24:55.150] So, it's kind of beyond the scope of this talk to really go into how to clean up your Powerline. [24:55.150 --> 25:00.630] So, this is a busy slide, but it kind of ties together well. [25:00.910 --> 25:02.210] Ignore the URLs. [25:02.210 --> 25:04.030] They're for reference. [25:04.030 --> 25:18.090] But the current standard for medium reuse that was released in 2016 after a very long period is called G.HN. [25:18.290 --> 25:27.050] But it's not available in all consumer products for all supported wiring categories, at least not yet. [25:27.250 --> 25:29.410] And I mentioned telephone being one of them. [25:29.410 --> 25:41.290] Now, HomePlug AV 2 was an older Powerline standard before G.HN was released in 2011. [25:41.390 --> 25:47.010] And was dominant when G.HN was released in 2016. [25:47.470 --> 25:53.830] But at that point, HomePlug AV and HomePlug AV 2 effectively became dead-end technologies. [25:54.250 --> 25:56.190] That said, they still work. [25:56.190 --> 26:00.610] Okay, so you very well might find these deployed in the wild. [26:00.950 --> 26:06.990] And there's no reason why, unless there's some reason that you would switch them out. [26:07.410 --> 26:20.390] In doing research on this, I've even found examples where in some environments, these older technologies by certain vendors would work much better than newer stuff you might get today. [26:20.390 --> 26:26.250] Again, a lot of it is sometimes vendor specific, firmware specific, and environment specific. [26:26.650 --> 26:31.970] So even as I'm showing you products, I'm not necessarily recommending the products. [26:32.130 --> 26:35.930] I'm like, these are the ones that I have gotten and have worked for me. [26:35.930 --> 26:39.850] But you may need to try different things. [26:40.030 --> 26:43.390] So there's a lot to G.HN. [26:45.730 --> 26:47.050] I think it would... [26:47.050 --> 26:49.230] But I'm not sure if it would... [26:49.230 --> 26:53.030] Deep dive on G.HN standard would be an interesting talk. [26:53.210 --> 26:54.230] So I'm not going to go there. [26:54.230 --> 26:57.330] Just know that it exists, and there's a lot there. [26:57.530 --> 27:09.870] The big part being that it's a single chip that supports multiple mediums, such as coax, CAT3, twisted pair, power line, and more. [27:12.910 --> 27:20.190] So I found coaxial G.HN devices, but they're incompatible with Mocha. [27:20.190 --> 27:26.350] So G.HN is incompatible with anything previously, whether it's Powerline, Mocha, or whatever. [27:26.530 --> 27:30.400] So it is kind of a choice between, are you going to use G.HN? [27:30.990 --> 27:35.550] Well, then don't try and use Mocha, because they're probably at least not on the same cable. [27:38.510 --> 27:39.070] All right. [27:39.230 --> 27:47.510] So now the Powerline technology has had some fits and starts with getting the industry on the same page. [27:47.510 --> 27:59.030] Even G.HN, I was reading about them having a draft of it in like 2010, but nobody decided to create hardware until there was a future release in 2016. [27:59.390 --> 28:05.030] So that's really kind of when G.HN has its official availability. [28:05.850 --> 28:13.490] So these older Homeplug AV and AV2 adapters, again, never going to receive a security patch. [28:13.670 --> 28:14.670] So keep that in mind. [28:15.350 --> 28:17.150] But they will work. [28:17.650 --> 28:21.670] And you can get them for very cheap, thrift stores or eBay. [28:23.510 --> 28:32.510] And so, but if you are doing stuff, I kind of recommend against doing all in one devices if you can avoid it. [28:34.510 --> 28:41.610] Particularly with cheap hardware, I've found if you're doing that, just go for a piece of cheap hardware that just does one thing. [28:41.610 --> 28:55.570] So that's all you're focused on, making it work and just combining cheap, single purposes, cheap, single purpose devices, rather than trying to find something that sort of does more than you need. [28:55.850 --> 29:00.050] Now, there is an issue of encryption. [29:00.050 --> 29:04.210] So you can encrypt the media, the alternate media. [29:04.210 --> 29:08.410] But sometimes you need encryption and sometimes you don't. [29:08.630 --> 29:12.510] The answer to that is going to be specific to your use case. [29:12.650 --> 29:15.630] And there's some things to think about on that. [29:16.130 --> 29:21.170] You should try to understand the physical boundaries of your alternate medium. [29:21.450 --> 29:25.410] So whether it be coax, power line and what have you. [29:25.850 --> 29:31.850] Single family homes are less likely to have overlap with a neighbor, but it might be possible. [29:31.850 --> 29:35.170] It really depends upon your specific environment. [29:35.890 --> 29:41.510] So, and then you're going to want to look at what is the sensitivity of the data that you're transferring over this medium? [29:42.070 --> 29:44.430] Like, do you really care if it's encrypted? [29:44.650 --> 29:47.270] Is it a guest Wi-Fi that's already unencrypted? [29:47.590 --> 29:51.650] Is it unencrypted video that might capture something sensitive? [29:52.710 --> 29:58.210] You know, are there external power receptacles that might be exposing access to this network? [29:58.810 --> 30:02.870] Whether this is good or bad kind of depends upon your network design. [30:03.070 --> 30:05.810] None of these are a judgment. [30:06.930 --> 30:16.950] Now, what you need to sort of understand is when you have these alternate mediums, it's really like the concept of a hub or a flat network. [30:17.890 --> 30:26.150] This is before switches, there were hubs and every device connected to a hub would see all the traffic. [30:26.390 --> 30:32.590] And if two devices tried to transmit at the same time, they would collide and they would have to back off. [30:32.790 --> 30:37.850] This is exactly the same thing that has to happen with these newer technologies. [30:37.850 --> 30:51.310] They have the same issue, which again, you can get around very well with coax by just using a single link of coax, but less easy to do in something like a power line network. [30:55.710 --> 30:59.790] So you never know what might be running over the power line. [31:02.790 --> 31:05.810] So yeah, so this is exactly what I did. [31:06.370 --> 31:10.870] And those are exactly the adapters that I did to do it. [31:11.090 --> 31:20.770] So they have adapters where you can basically have a one side, like that's where all your networking equipment is, plug it in. [31:20.770 --> 31:31.090] And then on the other side, in this case that I was very proud of, it was a detached garage that had power where the circuit breaker was in the main house. [31:31.190 --> 31:38.170] And so I was just able to plug an adapter into the garage that had a POE cable that just went to a camera. [31:38.170 --> 31:47.390] And it was a very simple installation of a home security camera to what was a detached building without having to run any new cables. [31:47.390 --> 31:53.850] Now, again, in that specific example, we segmented that with a VLAN. [31:54.050 --> 31:57.210] I mean, because of course, someone could break into that garage. [31:57.570 --> 31:59.910] And what is then the exposure of that network? [32:00.850 --> 32:03.870] So these are the type of things you're going to want to think about. [32:04.130 --> 32:05.990] What is the exposure of the data? [32:06.150 --> 32:10.270] Do you even care if someone accesses that connection? [32:12.510 --> 32:19.870] Now, another use case with this is sort of a mobile network access point. [32:20.030 --> 32:36.730] So if you have something plugged in inside the house that is serving up a network connection, you can have another wired connection and kind of, you know, an extension cord and move it all around the house and basically have some kind of portable network plug. [32:36.730 --> 32:40.170] Again, certain use cases that that could be of benefit. [32:46.480 --> 32:48.760] So this looks like the same thing. [32:52.210 --> 32:52.770] Yep. [32:52.890 --> 32:53.910] So that's what I just talked about. [32:54.030 --> 32:55.010] I think a duplicate side. [32:55.290 --> 33:12.570] So now there's a lot of options for adding additional layers of encryption to the traffic, but adding encryption also adds latency, which again, depending upon your use case is not going to be great. [33:13.030 --> 33:15.510] But for others, it may not matter. [33:16.050 --> 33:20.630] So using a VPN is one option. [33:20.850 --> 33:33.030] But again, if the traffic is already TLS encrypted, and you have other protections in place to filter out unwanted traffic, then you may not really need encryption. [33:33.030 --> 33:40.090] You should not just assume on these mediums that using encryption should be the way that you should go. [33:40.430 --> 33:45.550] Because if you do it wrong, it doesn't even necessarily add any security for you. [33:45.710 --> 33:55.110] An example being sure you've got a pre-shared key, but the admin credentials are the same, or someone can just have physical access to the adapter. [33:55.110 --> 34:06.790] So this is a trick I've hardly seen discussed or recommended online, but seems obvious for me for doing key encryption setup with these Powerline devices. [34:07.030 --> 34:14.050] So many of them are sort of a black box when it comes to their key distribution. [34:14.390 --> 34:21.510] You essentially have them both plugged in, and you press a button on both sides, and it supposedly works. [34:21.510 --> 34:33.130] Now, without any ability to really sniff on the electrical lines to really understand what's going on, it's kind of hard to know, like, did they really generate a new key? [34:33.310 --> 34:34.450] Is there any encryption? [34:34.750 --> 34:38.930] Are they using just a default key that the devices came with? [34:38.930 --> 34:45.650] And this also accounts if you're adding additional devices to an existing Powerline network. [34:46.050 --> 34:50.150] So what I've come up with is using a UPS. [34:50.730 --> 34:52.910] You charge that up to 100%. [34:52.910 --> 34:55.070] You then disconnect it from the wall. [34:55.330 --> 34:57.510] You now have an air-gapped network. [34:57.890 --> 35:06.810] You plug in whatever power strips you need and whatever devices you want to configure, and you're able to quickly configure them usually before UPS runs out. [35:06.810 --> 35:08.930] That doesn't take very long. [35:09.110 --> 35:19.690] You still don't have necessarily the visibility into what may be happening on the wire, but at least you know that whatever is happening is happening on a completely isolated network. [35:19.930 --> 35:31.470] So there wouldn't be any interference or potentially key exchanges with other devices that you didn't even know that were on the network or on the medium, should I say. [35:34.490 --> 35:42.430] All right, so the thing that applies to pretty much all of this technology is latency. [35:42.930 --> 35:45.410] So applies to Mocha, HomePlug AV. [35:46.510 --> 35:52.630] Short definition is latency is the delay for data to move from point A to point B. [35:53.030 --> 35:57.090] There's more specific ways to define latency, but I'm just going to keep it simple. [35:57.970 --> 36:04.030] And there's a lot of things that could introduce latency like dirty power as an example. [36:04.890 --> 36:12.150] Something as simple as somebody runs a microwave and then all of a sudden your electrical network just gets a little wonky for a while. [36:12.170 --> 36:19.110] If you're in the middle of a first-person shooter game, that's not going to be the best time. [36:19.110 --> 36:29.410] So the traffic and the latency requirements is going to be something that you're going to have to consider and see what you might work around. [36:29.670 --> 36:35.670] A small increase in latency can have a huge impact on certain types of systems. [36:35.690 --> 36:37.990] On others, it may not matter. [36:41.350 --> 36:46.230] So, now, the above kind of applies to almost any shared medium. [36:46.510 --> 36:51.150] Just kind of assume that you're going to get the half speed at best of whatever it rated. [36:51.630 --> 36:57.210] Don't try and be over-optimistic and then you won't be setting yourself up for disappointment. [37:00.530 --> 37:02.990] All of these shared mediums are... [37:04.310 --> 37:07.030] It is a shared medium, all of these technologies. [37:07.030 --> 37:14.430] So, all of the devices are listening on the wire to transmit and retransmit. [37:14.530 --> 37:22.330] The takeaway from this is that they're inherently prone to congestion as you add more devices as the traffic is increased. [37:22.610 --> 37:28.410] So, now we're getting to the last part and really running out of time, but I'm going to get through this. [37:28.770 --> 37:31.330] So, HDMI over IP. [37:31.330 --> 37:37.110] So, the first thing to get through is a little bit of history about HDMI. [37:37.590 --> 37:45.990] So, one thing many people don't know is that all DVI cables really are HDMI. [37:46.690 --> 37:57.410] So, HDMI, they basically took the DVI standard, increased the bandwidth, so it could send higher resolution, and added an audio channel. [37:57.410 --> 38:14.150] But you can take a passive DVI to HDMI adapter, and they work great for running at 1,440p, which is the speed of a dual-link DVI. [38:14.550 --> 38:17.410] HDMI can go faster than that. [38:17.410 --> 38:24.310] And then with later versions, they also added Ethernet recently in some of the recent specs. [38:25.470 --> 38:29.290] Now, not all HDMI cables are created the same. [38:29.670 --> 38:35.370] So, keep that in mind if you're using HDMI over IP and have issues. [38:35.990 --> 38:41.430] This YouTube video, they did a lot of testing, and we'll explain it a lot better than I will. [38:41.550 --> 38:42.290] So, I'm going to move on. [38:44.010 --> 38:50.070] So, there's a major difference between consumer devices and the professional devices. [38:50.430 --> 38:58.870] In a professional setting, they go overboard to make sure that there is no audio delay or anything from any screen. [38:59.210 --> 39:04.030] But in a home setting, that can be a little more acceptable. [39:04.030 --> 39:15.530] So, the feature that I have found that works well for syncing up audio in multiple rooms is Sonos speakers. [39:15.910 --> 39:21.530] They've basically got that down pat for having sound all on the same page. [39:22.110 --> 39:28.350] Video, if it's off a little second, but the audio is solid, it works. [39:30.090 --> 39:36.090] Now, these are kind of what these HDMI over IP devices look like. [39:36.290 --> 39:41.550] They basically put an HDMI input in, and it comes out the other side. [39:41.730 --> 39:46.770] The way it works is you can have one transmitter with multiple receivers. [39:47.490 --> 39:54.170] Now, there is a difference between HDMI over Ethernet and HDMI over IP. [39:54.850 --> 39:59.890] You know, over IP, that will allow you to go through routers and such, and switches. [40:00.510 --> 40:04.290] Just going over Cat5 really doesn't handle that well. [40:04.470 --> 40:07.190] So, just understand there are a difference in those devices. [40:08.230 --> 40:21.870] Now, I've used a switch to try and downscale like 4K, because these HDMI adapters that run at 1080p run at 100 megabit. [40:22.010 --> 40:23.770] The interface runs at 100 megabit. [40:24.410 --> 40:28.410] When you're going at 4K, you end up needing gigabit bandwidth. [40:29.570 --> 40:33.330] And in my opinion, I just haven't bothered with that upgrade. [40:33.490 --> 40:35.850] It just used the whole home at 1040p. [40:37.510 --> 40:41.330] So, for downscaling, I've now used this device. [40:41.330 --> 40:43.890] The previous device didn't really work great. [40:44.190 --> 40:48.310] This device is what I use and works really well for that. [40:49.410 --> 40:49.710] Yeah. [40:49.850 --> 40:51.490] So, this is specifically the devices. [40:51.710 --> 40:53.870] So, let me get to the part about remotes. [40:54.410 --> 40:55.030] All right. [40:55.230 --> 41:05.390] So, if you have whole home TV, and you're in another room, and you've got the other master device, you want to be able to control it. [41:05.710 --> 41:08.110] Infrared remotes are simply not going to cut it. [41:08.210 --> 41:11.670] And I haven't used infrared remotes in a long time, simply because of that. [41:12.130 --> 41:15.150] All of the devices I now use radio remotes. [41:15.590 --> 41:20.570] So, the TiVo devices that I use for DVR all have radio remotes. [41:20.750 --> 41:25.390] So, I can program multiple remotes, spread them throughout the house, and they just work. [41:25.510 --> 41:27.230] You don't have to point them at the device. [41:27.910 --> 41:32.310] NVIDIA Shield is another good one that has radio remotes. [41:32.310 --> 41:35.430] Apple TV is another one. [41:35.530 --> 41:37.350] But that's kind of key. [41:37.570 --> 41:45.150] So, you have the remote control by having devices that have radio remotes, and having multiple remotes. [41:45.750 --> 41:49.990] I was able to use Sonos to have truly synchronized sound. [41:49.990 --> 41:53.730] But without that, you could just kind of deal with it. [41:53.850 --> 41:58.910] It depends upon how far things are spaced, what the volume levels are, where you are. [41:59.330 --> 42:01.450] That can afford an echo. [42:01.750 --> 42:05.310] And then even TVs have their own delay that they can set. [42:05.550 --> 42:09.470] So, again, there's many options to solve that audio problem. [42:09.470 --> 42:14.110] But it is potentially going to be a problem that you may need to look into. [42:14.550 --> 42:17.870] So, and the radio remotes work through walls and such. [42:18.410 --> 42:22.470] And yeah, as I kind of already talked about those devices. [42:22.710 --> 42:27.430] So, yeah, I had a bit in SonosNet, but I think I'm... [42:27.430 --> 42:30.970] Oh, I'm actually still have more time than I thought. [42:31.150 --> 42:31.310] Okay. [42:31.850 --> 42:34.950] So, SonosNet is interesting. [42:35.970 --> 42:42.350] So, SonosNet is an alternate wireless network that runs in addition to the Sonos speakers. [42:42.750 --> 42:47.770] And Sonos speakers are another great way I regularly take out my network. [42:48.050 --> 42:52.410] So, the... by creating a network loop. [42:52.590 --> 42:54.200] So, certain... the idea being... [42:54.630 --> 42:57.890] So, you have one... say you have a surround sound system. [42:58.130 --> 43:01.870] You have one speaker that has an Ethernet connection going to it. [43:01.870 --> 43:12.330] And then, through the SonosNet, the other speakers basically coordinate the sound with that one that is wired. [43:13.930 --> 43:15.850] And it could be wired or wireless. [43:16.010 --> 43:20.570] And they have devices that have both wired and wireless connections. [43:20.790 --> 43:30.170] And this can be another problem where something can be wireless and like, Oh, I have an opportunity to plug in another Ethernet port into this speaker. [43:30.170 --> 43:31.190] Let me just do it. [43:31.330 --> 43:34.330] It'll make things better than it running on Wi-Fi. [43:34.870 --> 43:40.050] And you... all of a sudden, your network just starts going out instead of improving your audio quality. [43:40.330 --> 43:47.070] So, it is a issue to look out for... for these... these media devices that have... [43:47.070 --> 43:54.770] what I'm calling multiple ports being like Wi-Fi capability, Ethernet capability, like in the TiVo Mocha capability. [43:55.370 --> 44:00.030] And there's no reason why something couldn't have Powerline capability or all... [44:00.030 --> 44:01.770] all of the above built into them. [44:01.990 --> 44:04.230] It's kind of up to what people are going to build. [44:06.730 --> 44:07.470] All right. [44:07.570 --> 44:10.810] So, I have covered everything there. [44:11.370 --> 44:11.910] All right. [44:12.150 --> 44:13.910] So, a lot there. [44:13.910 --> 44:19.010] I gave this talk... or attempted to give this talk last week... [44:19.010 --> 44:23.270] in Holland at the Y-2025 camp... [44:23.270 --> 44:25.230] and did not get through all the materials. [44:25.470 --> 44:27.670] So, I'm very happy that I actually got through this with... [44:27.670 --> 44:30.350] looks like five minutes to spare for questions. [44:32.090 --> 44:32.650] So... [44:33.770 --> 44:34.510] Thank you. [44:39.420 --> 44:40.100] All right. [44:40.340 --> 44:41.240] Any... any questions? [44:41.580 --> 44:41.760] Yes. [44:41.760 --> 44:45.680] Do you know if the HDMI over IP devices can pass along CEC commands? [44:49.180 --> 44:50.020] The... um... [44:50.400 --> 44:51.960] you... no... travel back? [44:52.080 --> 44:52.200] No. [44:52.340 --> 44:52.900] It's a one-way. [44:53.060 --> 44:53.960] It transmits out. [44:54.180 --> 44:55.740] So, it wouldn't be able to receive anything back. [44:55.940 --> 44:56.180] Okay. [44:57.180 --> 45:00.560] At least... for the models I'm using, which... [45:02.280 --> 45:05.660] I bought... they're like seven or eight years old. [45:06.280 --> 45:09.000] So, they're newer 4K bottles. [45:09.000 --> 45:11.620] So, to your question, the products I... [45:12.320 --> 45:16.020] I'm using don't, but that doesn't mean there are not products available. [45:16.220 --> 45:17.020] So, I'll be clear about that. [45:17.920 --> 45:18.560] Yes. [45:18.900 --> 45:20.240] So, you've got... [45:20.240 --> 45:25.460] this all focused on very, like, commercial product-oriented ideas. [45:25.940 --> 45:31.160] Are there... you can transmit over any kind of a... right? [45:31.340 --> 45:35.340] There have been proof of concept of Ethernet over barbed wire. [45:35.340 --> 45:39.860] You can inductively couple to high-tension wires. [45:40.740 --> 45:42.400] Presumably transmit on those. [45:42.480 --> 45:44.640] Although the power company will come and visit you very quickly. [45:45.520 --> 45:50.320] Are there options for using arbitrary media? [45:51.220 --> 45:54.400] Instead of, you know, specifically a phone line... [45:55.240 --> 45:59.380] or like a power... Ethernet over power line product. [45:59.840 --> 46:03.900] Something that you can just kind of plug on to any arbitrary conductor and make it go. [46:03.900 --> 46:07.360] So, no, not quite like that. [46:07.600 --> 46:14.760] What there is is the G.HN standard, which allows for a single chip that will support multiple mediums. [46:14.780 --> 46:16.900] And that could be as simple as one cable. [46:17.120 --> 46:18.380] Or two cables. [46:18.780 --> 46:22.380] And even with power lines, they had different ways where... [46:22.380 --> 46:25.440] If you've only got two cables, it'll work one way. [46:25.600 --> 46:30.600] If you've got the ground, it'll be able to use that to support more bandwidth. [46:32.300 --> 46:39.180] So, that would be the G.HN standard itself would be kind of a path to follow. [46:39.720 --> 46:41.540] Then you would have used that... [46:41.540 --> 46:46.900] My understanding is you would then use that chip with that technology for whatever your specific use case is. [46:46.900 --> 46:49.680] We have one from Matrix. [46:50.360 --> 46:52.300] If you have time... [46:52.300 --> 46:53.580] If you have time... [46:53.580 --> 47:06.100] I have a dream of finding or building a network protocol that allows for a bring-your-own medium to allow for desperate connection methods to have common communication. [47:06.960 --> 47:10.280] Think of it like Collapse OS for networking. [47:10.280 --> 47:13.680] Do you have any insight on this as a possibility? [47:14.520 --> 47:15.120] No. [47:15.320 --> 47:17.760] I'm not familiar with Collapse OS or anything. [47:18.240 --> 47:18.820] So, I'm sorry. [47:19.320 --> 47:19.580] Okay. [47:20.560 --> 47:21.340] Any other questions? [47:24.260 --> 47:24.860] Yes. [47:26.900 --> 47:34.160] So, this is a lot about using non-network media to transmit a network. [47:34.160 --> 47:45.440] Have you looked at any of the newer stuff around using networks for non-network activity, such as the Xfinity security system that turns the antenna into a radar to map motion in the house? [47:46.020 --> 47:46.360] No. [47:46.560 --> 47:51.520] I've not gotten into that, but simply because I don't have those devices. [47:52.180 --> 47:56.760] Well, if you get any Xfinity router, it's been backported to all of them. [47:58.500 --> 47:59.280] Oh, wow. [47:59.700 --> 47:59.880] Okay. [48:00.140 --> 48:01.140] That's interesting to know. [48:01.520 --> 48:01.620] Okay. [48:03.900 --> 48:04.340] Yes. [48:05.100 --> 48:08.560] Have you had any luck to get your power learning to go past the fuse box? [48:10.500 --> 48:10.940] Yes. [48:11.420 --> 48:11.500] Yeah. [48:11.680 --> 48:14.220] I mean, oh, you mean to another neighbor? [48:14.400 --> 48:14.600] Yeah. [48:16.940 --> 48:17.380] Yeah. [48:17.560 --> 48:20.620] I can get them through my fuse boxes in my house. [48:20.620 --> 48:29.880] It's not a limitation in my house, but I've not attempted to... and I mean, like I said, it worked out to a garage. [48:31.120 --> 48:33.600] So, we're still going over a pretty far distance. [48:34.080 --> 48:43.020] It comes down to the perimeter of that physical media is really going to be specific to your case. [48:43.580 --> 48:45.080] There's no real general answer. [48:45.260 --> 48:45.460] Yes? [48:50.540 --> 48:52.040] Well, they haven't given me permission. [48:52.220 --> 48:54.120] I want to, I just haven't gotten to it yet. [49:18.740 --> 49:20.160] I think we're in time. [49:20.300 --> 49:21.420] Thank you very much, everyone. [49:21.640 --> 49:22.660] It's been a great audience. [49:22.840 --> 49:23.140] Thank you. [49:23.140 --> 49:23.160] Thank you.