[00:04.140 --> 00:15.100] Okay, so we're starting on time. And this is... let's see if I can do this... multiple cameras. [00:16.420 --> 00:20.980] So this is the... can you guess in this hour? [00:26.280 --> 00:33.650] This is the badge clinic. You almost can read that. [00:35.430 --> 00:39.210] So what will we talk about in this hour? We'll talk about badges. [00:40.070 --> 00:41.950] These things here. [00:45.870 --> 00:51.590] Yeah, so we'll probably see what they can... what we can do with this year's badge because it's [00:51.590 --> 00:56.790] kind of a storage device. So we can use it for backup and some other interesting things. [00:56.790 --> 01:00.430] Because it's an office hour, there is no set agenda. [01:01.530 --> 01:05.670] So we'll probably jump around a bit from different topics. [01:07.030 --> 01:14.410] And I will watch the... keep my eyes on the general text and the office text channels in case... [01:15.230 --> 01:17.630] in case there are some questions. [01:19.490 --> 01:26.550] Okay, so I guess you can see that this year's badge looks a little different than last year's badge. [01:27.330 --> 01:33.890] They're about the same size. This year we have no LEDs and no power supply. There's no battery [01:33.890 --> 01:39.330] inside this year. In place of that, we have a fine leather finish on the back [01:40.650 --> 01:47.650] with a plastic enclosure and a full color front overlay. And I'm just curious [01:50.290 --> 02:00.140] if audio is okay. I don't know which channel to type to. There's all these channels. [02:00.140 --> 02:07.400] Okay, so I'm not going to make any changes unless somebody tells me. So [02:08.560 --> 02:12.700] one of the things you can see in this year's badge, even though it does have [02:14.620 --> 02:20.910] a front overlay that usually covers all of the parts with color plastic is PET. [02:22.140 --> 02:24.930] So instead of seeing this, which is a PCB, [02:26.250 --> 02:33.850] you see this, which is a cover over a front overlay, full color printed. And in order to [02:33.850 --> 02:38.910] see these very small chips, which we thought would be interesting for all of the hardware [02:38.910 --> 02:46.630] hackers among us, we put in these transparent windows. All right, so let's take a look [02:46.630 --> 02:49.850] under the microscope at these transparent windows. [02:51.910 --> 03:03.770] Because I'm curious as well what this looks like. So this is the raw PCB with a [03:03.770 --> 03:11.190] EEPROM integrated circuit on top there, soldered in. And when we take a look at the [03:14.410 --> 03:17.190] color overlay, okay, this is going to need [03:19.430 --> 03:26.530] focusing and less illumination. Yeah, you can't see too well, can you? [03:27.630 --> 03:39.570] I guess because the light needs to be just right. Let's turn the light on again. [03:39.570 --> 03:46.390] Okay, so my experiment didn't work that well, but these are the EEPROMs that are [03:46.390 --> 03:53.710] storing our data this year. All right, so take a look at the channels, and it seems [03:53.710 --> 03:59.710] that video and audio is okay. So we'll do a quick demonstration on how [04:02.110 --> 04:11.570] we can write to these storage locations. All right, so that's with and without the [04:11.570 --> 04:19.130] front overlay. And to write to this, the antenna is on the back. So we're going to [04:19.130 --> 04:26.430] need to align the antenna from the back with a reader device, which typically is a [04:26.430 --> 04:35.030] smartphone. All right, in order to use the radio, to be able to use NFC, you have to [04:35.030 --> 04:41.630] turn the phone on, and it has to be at some accessible screen for the users, right? So [04:41.630 --> 04:46.610] it can't be turned off. That's the first thing you need to do in order to use the [04:46.610 --> 04:52.990] badge over radio. The next thing, you have to ensure that the NFC circuit is turned [04:52.990 --> 05:01.670] on. And that's right here. I can turn it off. And you need to have that turned on. [05:01.670 --> 05:08.310] All right, so those are the two things that you need. And after that, if you have nothing [05:08.310 --> 05:17.150] else happening, aside from what do we have? We have Discord and the Chrome browser running [05:17.150 --> 05:25.630] on my phone. So something should happen if I have programmed something to this device. [05:26.130 --> 05:33.570] And I align the antenna of the badge device to the phone. So I'm going to push the middle button [05:33.570 --> 05:47.130] there. And it brings up a web browser that's telling me that the data stored on this button, [05:48.790 --> 05:55.050] and in case you're curious, this is what the URL is on all of the middle buttons. [05:57.920 --> 06:02.220] All right, so that's reading data off of the device, off of the badge, [06:02.220 --> 06:07.860] this year's electronic badge, without really doing anything at all. This is right out of the box. [06:09.160 --> 06:16.020] What does the box look like? It looks like this. I don't know if this is so interesting, [06:16.020 --> 06:22.940] we'll do the unboxing. So you get a... so actually, this is a wrong manual for this box, but [06:24.580 --> 06:32.940] we got this excellent manual by Andres. And in some part, I discovered this just on my own. [06:33.120 --> 06:40.960] Let's see if we can... in fact, on the printed manual, his name isn't on here. Oh, yes, it is. [06:40.960 --> 06:48.900] In fact, there it is. So it's not so... so it's not so anonymous. I'm glad that he put his name [06:48.900 --> 06:57.460] on there. I thought he hadn't. So that comes in the box. Obviously, the different parts for a [06:57.460 --> 07:02.560] do-it-yourself model, you have to put it yourself together. You have to put... do it yourself, [07:02.560 --> 07:07.980] put it together. So the parts that do come assembled are all the very difficult things. [07:07.980 --> 07:16.060] That's these dome switches, which if you get three of them and you lose one, [07:16.060 --> 07:20.880] then you don't have enough. If you don't lose all three, you still have to align them perfectly well [07:20.880 --> 07:27.380] over the circuits and then place tape on top without anything moving more than a half millimeter. [07:27.380 --> 07:32.840] So it's just kind of messy and uncomfortable. On top of everything else, we knew that we would [07:32.840 --> 07:37.760] have to pre-assemble some of the parts anyway, because these EEPROMs, which we have already seen [07:37.760 --> 07:45.160] under the microscope, they're only two by three millimeters wide and they're one half millimeter [07:45.160 --> 07:51.840] tall also. So they're very, very small. That's why we're pre-assembling at least some of the parts [07:52.820 --> 07:59.760] which come in the do-it-yourself kit. All right. So that's what comes in the box. And after you [07:59.760 --> 08:11.210] take that out, you have something like this. You put it together, put the leather on the back, [08:11.530 --> 08:17.530] the color overlay on the front, and then you can start programming and doing just the same thing [08:19.310 --> 08:26.690] that I showed before. I will do that just once more in case you didn't completely see it. [08:26.690 --> 08:33.350] This time, there's nothing on the front. This time I'm going to show the action from the back. [08:33.350 --> 08:39.350] I'm going to align it over the antenna. I'm going to push down. Did you hear that? [08:41.930 --> 08:47.550] So that's how it sounds. And when I look at the front, well, it opened a web browser. Okay. Now [08:47.550 --> 08:55.210] I've got a whole bunch of web browsers. Yeah. Okay. So that's the reading right out of the box. [08:55.210 --> 09:01.290] Okay. Because we did pre... we programmed some of these identifiers onto these devices. There are [09:01.290 --> 09:08.430] three EEPROMs. And on each EEPROM, you have a variety of different slots, depending on how [09:08.430 --> 09:15.270] data, because they do have different capacities, these three EEPROMs. The first two are 512 bytes, [09:15.270 --> 09:20.210] and the last one is eight kilobytes. So depending on how much is there, [09:20.210 --> 09:26.990] you can do quite a lot of things. In fact, let's try using this program called NFC Tools. [09:28.770 --> 09:34.410] And I'm going to add several records. I'll try to do this very fast. Let's do [09:37.050 --> 09:49.470] Monero Village. Oops. Monero Village. I'm not spelling too well today. [09:52.630 --> 10:00.050] All right. We've got Monero Village. I'll put another URL on there for a pop quiz later on. [10:02.750 --> 10:15.590] Monero Devices. We'll put... we'll put a piece of text. We'll say this is... [10:16.590 --> 10:28.890] we'll just say DEF CON... DEF CON 28 safe mode. Do you like that? Okay. So we have some text. [10:28.890 --> 10:34.210] What else should we put on there? Somebody give me an idea. Here, take a look at all of these [10:34.210 --> 10:42.940] things. I'll help you choose. Quite a lot of different types of information, isn't it? [10:43.440 --> 10:51.700] Each one of these conforms with the NDEF standard. So that's what goes on NFC data storage. [10:51.800 --> 10:57.320] Every single one has a MIME type, which it's hiding from you because it's not a comfortable [10:57.320 --> 11:05.300] way to store information. It just tells you, okay, an address and there's a MIME type associated with [11:05.300 --> 11:15.640] this. So let's just say Iceland. That's a place, isn't it? I think so. All right. So that's a place. [11:15.640 --> 11:22.460] We'll add another one. We'll add a file link. I don't know how... I've never done file link. I [11:22.460 --> 11:32.920] don't know how that works. So let's do application. What's an easy one here? Email is really easy. [11:33.560 --> 11:51.170] We can do email. Info at MoneroDevices.com. And object. Oh, okay. It seems that [11:51.650 --> 12:01.950] that should say subject, shouldn't it? Dumb subject. I don't know why it says object there. [12:02.350 --> 12:06.830] And here we'll just type hello world. So we're putting an entire email, [12:07.470 --> 12:13.890] the headers and the body, hello email, I guess. So we've got all of these different pieces of data. [12:13.890 --> 12:19.110] Do you folks see that? I mean, I could keep going, right? I could... what's more options? [12:20.390 --> 12:26.710] So I could keep going and we would have 20, 30, 50 pieces of data here. And we can rearrange them. [12:27.110 --> 12:34.450] And what I wanted to show is that there are two URLs. So which one do you think will open a website? [12:36.190 --> 12:43.870] I mean, it's going to open a website if I write this to a village badge. And then let's do that [12:43.870 --> 12:52.070] now. Let's write. So now it's saying approach NFC tag. Do you see that? This is all quite [12:52.070 --> 13:01.050] self-evident, I think. So I'll turn the phone over. I'll align the badge onto the phone's [13:01.050 --> 13:06.970] antenna on the back. This time I will use the star button. Shall I do that? [13:08.710 --> 13:13.850] All right. So it's saying approach NFC tag. And now I'm going to click on the star. [13:18.090 --> 13:21.970] All right. Maybe you heard that. And it does say write complete. [13:22.910 --> 13:25.830] So what will happen now? If I close this application... [13:28.750 --> 13:34.790] Do I want to close this? Not really. Let's see what happens if I don't close it. [13:34.790 --> 13:41.230] So we're at the home screen, I suppose you call this. And I will, [13:41.230 --> 13:45.450] instead of clicking the second button, the moon there, I will click the star. [13:49.570 --> 13:51.990] So it does bring up a website. [13:54.310 --> 13:57.400] Monerovillage.org. Oh, I think it's... I think... [13:59.150 --> 14:05.950] I didn't use encryption. I just wrote HTTP, I think. Is that what it's complaining about? [14:05.950 --> 14:11.450] No. Monerovillage. What's wrong with this? I don't understand the problem. [14:11.450 --> 14:17.230] Okay. So here is a URI. Maybe it's because www is not correct. [14:18.290 --> 14:21.710] The point is that the web browser opened. [14:23.850 --> 14:28.230] Certificate date is invalid. Okay. So it seems that we have some problem with our website. [14:28.230 --> 14:31.750] It doesn't matter too much. What's important is that this badge [14:31.750 --> 14:35.710] opened automatically a website that we have programmed in by ourself [14:38.430 --> 14:42.710] onto this device, right? We can try this again. [14:43.350 --> 14:49.710] Looking back at the list of pieces of data, what happens now if I rearrange this? [14:49.710 --> 14:53.930] If this URI replaces the first one? Let's do that now, shall we? [14:53.950 --> 14:58.750] So I'm going to use the star again, but this is a different badge. [15:00.990 --> 15:10.380] So put that on the back there. And I will click... [15:10.950 --> 15:35.460] Why isn't it working yet? Could it be that another... [15:35.460 --> 15:41.280] So this is not working, is it? Let's try this one again. Let's try this one. [15:46.860 --> 15:51.160] So this time it worked. Not sure what happened with that other badge. [15:53.260 --> 16:02.260] And the test is to see what happens now when I use that one button and it will bring up a website. [16:02.400 --> 16:09.500] Okay, so that's the correct website now that we looked at, that we got before, right? [16:09.500 --> 16:19.220] So that's kind of the workflow of programming these and using them for day-to-day data storage. [16:20.040 --> 16:25.860] Right? MoneroVillage.com. Is that what AJ is saying? [16:27.160 --> 16:31.060] I thought it was .org. Have I been typing the wrong thing? [16:32.620 --> 16:36.340] All right, so AJ, sorry, I have to do this. [16:38.760 --> 16:45.020] This is my screen and it looks quite good. Oh, but okay, that's German. I'm sorry about that. [16:45.700 --> 16:52.840] No, you're right. So I've been typing org all these days and you're saying that I have to type [16:52.840 --> 17:01.600] com there? Then do I get a certificate? And it still says it's not secure. [17:05.310 --> 17:11.730] All right, so this is not the right time to troubleshoot and debug the website. [17:14.520 --> 17:18.720] But we did, however, we did just have a demonstration [17:23.520 --> 17:31.360] of how to program and use these badges on a day-to-day basis. So I can show you our application [17:32.880 --> 17:39.640] or homepage, I suppose you could call it, for this year's Village badge. How do I do that? [17:39.640 --> 17:53.790] I have to go back to this web browser. And because we were spending most of our time on the [17:53.790 --> 18:06.920] hardware, the software interface or the website, in other words, some of the parts are working [18:06.920 --> 18:18.160] and others aren't. So this is bobmonerodevices.com. This is with a good certificate. [18:18.760 --> 18:23.300] Okay, that's German, but it says a good certificate is fine. So we have two different [18:23.300 --> 18:28.880] menus here, one at the top that can toggle left to right, and one that goes up to down. [18:29.800 --> 18:33.360] And we've got some actions. I mean, this is a standard web application, right? We're not [18:33.360 --> 18:42.020] trying to make a whole operating system here. But the typical things like the about page, [18:42.020 --> 18:46.620] I guess this is good enough. It has all the information that you might expect. [18:47.600 --> 18:51.920] We have the welcome page there, which gives you an idea that you can use the badge [18:51.920 --> 18:58.640] on Android or iOS, because those two devices are smartphones with NFC circuits inside, [18:58.640 --> 19:03.380] and that NFC tools is the application that works. [19:04.440 --> 19:09.820] There's a few other things that work as well, like the game. I'll just click on game there on [19:09.820 --> 19:18.100] the left. It takes a bit to load. So we teamed up, Monero Village teamed up with the Rogues Village [19:18.100 --> 19:27.460] and a few others as well. And they programmed a game which works with the badge. I haven't got [19:27.460 --> 19:33.920] that far myself, but you can see there's a few people who have made it to the end. And [19:34.660 --> 19:39.080] the one thing that I don't like, if you just left click on the play button, [19:39.080 --> 19:46.020] so there's a cross side scripting problem, which it's not a problem. It's how the website is [19:46.020 --> 19:57.440] intended to work, but it's called CORS, C-O-R-S. And what you have to do is click on the right, [19:58.940 --> 20:01.480] and I mean, you can choose any of these things. I'm just saying, [20:01.480 --> 20:04.740] if I choose this, you won't see it. It's going to a different tab. [20:06.180 --> 20:11.860] All right. So what I'm going to do is copy the URL and then put it up here to show you [20:11.860 --> 20:19.340] what the game looks like. And this is the Rogues adventure game. There's a bunch of [20:19.340 --> 20:26.360] things to read about it here, but we will just kind of start playing. And although I haven't [20:26.360 --> 20:31.300] made it too far, according to our colleagues at the Rogue Village, [20:31.300 --> 20:37.600] it's about halfway through that you can use your electronic badge with this game. [20:39.640 --> 20:42.720] So I'll just type some random thing here. [20:46.880 --> 20:51.540] And so I'm not going to do this too long, but I'd like to give you some idea of how it works. So [20:51.540 --> 20:58.520] you can go down the stairs. I think there's something to look at here. Look at fossils. [21:00.300 --> 21:09.180] You get the idea, right? So this is kind of fun. Now, how do I go backwards? [21:10.880 --> 21:18.440] Oh, I can indeed change the tabs. All right. So that's one of the things that is working. [21:18.440 --> 21:22.880] Some other easy to implement things are working, like the gallery. I mean, [21:22.880 --> 21:28.420] this is not very valuable, but if you're interested in what the red one looks like, [21:28.420 --> 21:34.120] there it is. These are the different colors. And you've got the DIY to do it yourself. That's why [21:34.120 --> 21:39.400] there's no plastic enclosures. And you've got the different parts that you put together yourself. [21:40.360 --> 21:47.020] This is the wonderful user manual that Andres created for us. It's really nice. [21:47.840 --> 21:51.920] And this is kind of our experiment with the packaging, which we failed at last year. And [21:51.920 --> 21:56.160] this year we did pretty well, but we went overboard with that. So that's the gallery. [21:56.160 --> 22:02.840] We've got a file server where you can download the glossy color user manual. Well, it's not [22:02.840 --> 22:09.640] glossy. I don't know. Maybe I should take that off. It's not printed on paper when you download [22:09.640 --> 22:15.700] it electronically. So there's no gloss or matte finish. But you can get copies of either one. [22:16.260 --> 22:21.320] I'm not sure what happens if I click there, if it even works. You see, it does work. [22:22.140 --> 22:27.020] So there's Andres' design and all of the illustrations. Really wonderful work. [22:27.740 --> 22:33.360] So I'll go back and you can tell that the file server is working. We've got status, [22:33.360 --> 22:36.260] which is kind of halfway accurate. It just says there, [22:36.260 --> 22:41.800] application is undergoing development, which is true. We've got a top 10 FAQ. [22:41.800 --> 22:48.720] So I explained already why the playing of the game fails when you click on it. [22:48.780 --> 22:53.700] Which villages are participating? So none of this is all too exciting. What we actually [22:53.700 --> 22:58.800] really want, we start at the beginning here again. What we actually really want is here [22:58.800 --> 23:04.020] at the configure. No, I'm sorry, not the configure, but at the onboard. This is where it's going to [23:04.020 --> 23:13.700] get exciting because although it's not fully implemented to actually write the NDEF identifiers [23:13.700 --> 23:20.080] and pieces of data over radio. So we want to implement those things here and the way it will [23:20.080 --> 23:28.340] work. So you put your name here, any name at all. You could write, you could change the gender and [23:28.980 --> 23:39.180] geography. You can write you're some dead person. You could write, I am Alfred Nobel. [23:41.000 --> 23:46.740] So Alfred Nobel is no longer with us. What I'm just saying is that you can create a pseudonym [23:46.740 --> 23:53.260] here. All right. It's a nickname. After you put that in, you check off the things that you're [23:53.260 --> 24:01.160] interested in. So I like IOT. I like rogues a lot. And while that's too many, maybe I want [24:01.160 --> 24:06.080] biohacking as well. I won't be able to get them all on there because I'm programming the [24:06.080 --> 24:11.380] very small EEPROM. So I need to take some off. You get the idea. So I'm just going to be interested [24:11.380 --> 24:17.780] in this one round, rogues, Monero and biohacking. We'll click on associate me. And this is where [24:17.780 --> 24:24.480] it starts to not work. So even if I click on there, it's kind of these are not my choices. [24:25.140 --> 24:30.060] Yeah, you can see that this is still in prototype mode. So these are not my choices. [24:32.280 --> 24:39.120] But eventually we'll be able to write data or cancel. And it will start waiting for you to [24:39.120 --> 24:44.960] attach a badge or put a badge next to the antenna on the phone. If I want to do a factory reset, [24:44.960 --> 24:52.660] I can do that as well. And that's how this association and onboarding [24:54.540 --> 24:59.900] functionality will work. Once you have your identifiers on the EEPROMs all lined up like [24:59.900 --> 25:05.040] you'd like, you might want red team on the third EEPROM, you might want biohacking on the [25:05.680 --> 25:11.200] second one and crypto privacy and Monero you'll want maybe on the first one, whatever it is, [25:11.200 --> 25:18.720] you line these up and you write them to your badge. You can then use the intervillage network. [25:19.320 --> 25:24.720] Right. And although this looks okay, actually does look like it works. So it says here under [25:24.720 --> 25:30.420] development, please stay tuned. So it's not working yet. Okay. In the end, you can connect [25:30.420 --> 25:36.060] to the intervillage badge network by clicking on connect. You can do a ping just to test the [25:36.060 --> 25:42.340] network connection. If you need to authenticate, because for example, some of the village rooms [25:42.340 --> 25:49.020] or channels or topics are protected, maybe they would like to know who walks in through their [25:49.020 --> 25:56.000] doors, then you can authenticate. And if you don't need to, then you just skip that opcode or [25:56.000 --> 26:04.720] network code. You can turn on the bridge. I think the bridge will be activated by this command, [26:04.720 --> 26:10.380] safe mode, which basically means we're going to do a proxy from the MQTT network, [26:10.380 --> 26:16.960] which is what we're connected to here, to the DEF CON discord. I mean, this is kind of [26:16.960 --> 26:23.300] not relevant because they're probably going to turn off the DEF CON discord tomorrow. So there [26:23.300 --> 26:29.820] won't be much time to use it, but that's there just maybe for another day next year. So we can [26:29.820 --> 26:34.940] knock on one of the participating village's doors. We can knock on Monero's door. [26:37.040 --> 26:41.160] And if we don't get a response, we can knock again. And maybe on the third knock, [26:41.160 --> 26:46.020] we're automatically allowed to enter. There can be some logic like that. [26:46.080 --> 26:53.140] Once we're inside, we can tip using AJ's tip arrow, but one, two, four units. [26:54.200 --> 26:59.620] And once we're inside, we can get information about our room. Maybe we're walking in [26:59.820 --> 27:04.800] the biohacking room for the first time, and we didn't realize that there is a device program [27:04.800 --> 27:09.940] there, medical device program. We'd like to know more about the room that we walked in. We click [27:09.940 --> 27:15.300] on info. We can leave the room just as easily with the leave command and disconnect from the [27:15.300 --> 27:22.040] network with disconnect. All right. So that's kind of the rundown of the web application, [27:22.040 --> 27:27.420] which is under development. If we look at status, it says that clearly, application under development. [27:28.120 --> 27:35.000] Anybody who wants to help develop this, let me see how to... [27:38.160 --> 27:44.360] All right. So there is a URL to show. I've written it down some other place, [27:44.360 --> 27:48.740] but I'll never be able to find it. So I'll just reuse this piece of paper. [27:48.740 --> 28:03.180] Is everything going okay, AJ? So if you'd like to help to develop all of this web application [28:03.180 --> 28:09.640] logic, which is quite challenging, it's just tedious, lots of troubleshooting, firebug, and [28:10.460 --> 28:17.080] debugging, you can do a fork of the repository because it's all open source. [28:17.080 --> 28:40.090] The repository is found here. So this one is certainly calm. I know that because we don't [28:40.090 --> 28:48.860] have org. And we have a certificate. Everything's okay here. SCM stands for source code management. [28:49.750 --> 28:55.470] And if you do go there, then you can find all of our source code. Shall we take a look? Or are [28:55.470 --> 29:02.010] there questions about something else, some other topic? General text, office text. I don't see [29:02.010 --> 29:07.070] questions. So what we'll do, we'll take a look at the source code management system. [29:07.710 --> 29:18.510] How do I get back to that? Here it is. Okay, so now we will choose instead of BoB, [29:21.360 --> 29:33.720] let's go to SCM, shall we? And the nice thing about SCM is that it takes quite a long, [29:33.720 --> 29:45.800] long time to load because it's a very slow virtual server. [29:46.620 --> 29:52.660] VPS, virtual private server. All right. But in any case, we see that something did come up here. [29:53.040 --> 29:58.680] So instead of explaining all of these things and clicking through each one, which is a very [29:58.680 --> 30:05.900] slow process, I will just go right to apparatus, which is Esperanto for devices. [30:08.180 --> 30:16.520] And then we have a list of the different types of devices. Badges is here. [30:17.520 --> 30:21.700] And in the list of badges, we should see a few different things. And there is Monero [30:21.700 --> 30:32.000] Rising, Iron Triangle, which is the parent project of this derivative, the bush of being. [30:32.000 --> 30:35.090] And I think I should rename this, but the bush of being is the [30:37.980 --> 30:44.680] intervillage badge. So I just clicked on that. Let's navigate over to where the web application [30:46.660 --> 30:57.870] is found. It's under software. So there's a bit of things to read about here. The storyline, [30:57.870 --> 31:05.250] hardware, network. It's not up to date, but I think it's good enough explaining a few things. [31:05.250 --> 31:09.470] So right here in software, that's because it's obviously not hardware, graphics, [31:09.470 --> 31:14.110] enclosure, or documents. So if we have a web application, it's going to be listed under [31:14.110 --> 31:19.710] software. So I click there. We've got the website. So we may see other things here [31:20.430 --> 31:28.130] under software. We may have, you know, Android APK, not the APK itself, but the source code [31:28.130 --> 31:34.250] that builds the APK and whatever it's called for the Apple. I'm going to click on website. [31:34.250 --> 31:39.490] And then most people who are familiar with websites, you see the traditional CSS, [31:39.490 --> 31:49.410] the HTML5 and JavaScript CSS arrangement. So we've got documents. This is where Andres' [31:51.630 --> 31:58.050] user manuals are located inside the actual sources. And then we've got a few things. I [31:58.050 --> 32:04.230] think font awesome is in here as well. A few things like that. So here's the index. I don't [32:04.230 --> 32:11.150] think anything else is all that interesting. I'll just click on index to see what that looks like. [32:11.930 --> 32:17.830] And we're not going to drill down too deep, but this very last level is just kind of maybe [32:18.610 --> 32:25.230] interesting for some reason. This is all the source code. Oh, my. And it's just not interesting [32:25.230 --> 32:35.050] at all. Okay. So we do have some snippets. And you can navigate through this SCM source [32:35.050 --> 32:39.430] code management on your own because it is public site. You can fork, pull, and [32:41.130 --> 32:53.020] fetch sources. You can do merge requests. And I certainly hope that you do as well, [32:53.020 --> 32:58.300] because we could use a help. I mean, there's few of us doing work on this. So that's why [32:58.300 --> 33:06.000] we're kind of behind on things like the web application. So AJ says it all is good. I'm [33:06.000 --> 33:13.200] happy about that. We have another 20 minutes or so. What should I do now? So yesterday, [33:13.200 --> 33:21.600] what I said I would demonstrate was the impersonation is going to be a bit difficult, [33:21.600 --> 33:28.680] but I said I would demonstrate a passive capture. It's not data theft, because these are my own [33:28.680 --> 33:35.720] devices. So it's like opening the drawers to your shirt drawer. You're not stealing your [33:35.720 --> 33:42.080] shirts when you do that in your own house, right? So that's why I can take my own data [33:42.080 --> 33:48.040] and everything is just fine. If you do this without your own data, it's just not okay at all. [33:48.160 --> 33:56.600] So what I have here is a very nice box of chocolates. I wish the light was a bit better. [33:59.180 --> 34:03.000] I'm going to try to adjust the lights a bit. I'm not sure if that helps. [34:07.420 --> 34:11.360] I don't know if that helps. So I've got a nice box of chocolate here. [34:12.420 --> 34:18.720] And first thing what I will do is prepare this, because I forgot to turn something on. [34:19.000 --> 34:25.680] All right, and that's the other camera angle. That's about the size of the box of chocolates. [34:29.030 --> 34:35.970] And that's the way a box of chocolate sounds, isn't it? I don't know if you heard that. So [34:35.970 --> 34:42.030] remove this cover. Open this up. What do you think is inside? You want to take a guess? [34:43.930 --> 34:49.470] No, you don't want to guess? I'll show you. Okay, so that's these chocolates are inside. [34:54.310 --> 34:56.950] No, no, they're definitely chocolates. [34:59.010 --> 35:11.830] All right. Okay, so I've eaten almost all of them. I'm sorry, I didn't leave any for you. [35:16.830 --> 35:27.710] So what do you think will happen once we put this lid on the chocolate again? [35:29.510 --> 35:36.470] And let me just do that. I should have prepared this beforehand. Sorry about that. [35:39.500 --> 35:46.300] All right, so we've got the box of chocolates. I'm now going to place... let me just do this [35:46.980 --> 35:56.320] a different way. I'm going to place a library card on the box of chocolates. [35:56.320 --> 36:00.960] The contrast is very bad because it's a blue library card and blue chocolates. I'm [36:00.960 --> 36:08.760] sorry about that. I couldn't change the colors quickly. All right, so here's a library card. [36:10.900 --> 36:17.620] And I'm just going to drop that on there. Not sure if you heard that. If you didn't, [36:17.620 --> 36:28.740] I will put my microphone next to that box of chocolates. So I think you heard it that time. [36:30.000 --> 36:35.980] What I just did is capture data off of my library card. All right, so here I'm looking at the data [36:35.980 --> 36:41.980] now because if this wasn't my own data, and if it was a credit card instead of a library card, [36:41.980 --> 36:49.060] or say a passport, I'm not sure what types of cards and devices have this kind of circuit inside. [36:49.060 --> 36:55.760] But this one, as we can see, is a MyFair. So it's an ISO 14443. This is an RFID standard. [36:56.320 --> 37:01.160] And we just captured the data, right? The good news is that it's encrypted. [37:01.160 --> 37:07.980] You can tell that because it's got an ATQA and an SAK. But the serial number is there and you can [37:08.720 --> 37:17.520] certainly see some things, right? So what is this number? ISO 14443. Let's just do one more thing. [37:19.160 --> 37:23.180] How shall I do this? I'm going to capture the data off of my [37:23.180 --> 37:28.300] InterVillage badge now. And I will demonstrate that [37:30.280 --> 37:34.460] it's very difficult to trick your InterVillage badge in the same manner [37:36.260 --> 37:42.840] for one reason, because it has passive data theft protection built in. All right, so this is the [37:42.840 --> 37:49.640] screen. You can see that it's empty. I'm now going to try to capture the data in the same way. [37:49.640 --> 37:55.780] And just dropping it on there, it does nothing. It's impossible to capture the data. All right, [37:55.780 --> 38:01.140] I'm going to align the antenna. There is no problem. The device is perfectly well aligned [38:01.140 --> 38:06.520] on top of the turned on smartphone, which is capturing right now. It's reading. [38:07.160 --> 38:16.440] The reason that it does not successfully capture the data passively in this manner, [38:16.440 --> 38:22.780] would be known as theft, is that I have not pushed on one of the three buttons. And once I do that, [38:22.780 --> 38:28.540] as long as the screen is still turned on, once I do that, we should hear it capture. [38:28.760 --> 38:39.100] So let me go back here. All right, so I think you heard that. It did capture something as I [38:39.100 --> 38:44.000] was pushing down on there. Let's see what it captured. So I got all the data off of my [38:44.000 --> 38:51.100] intervillage badge, that thing. And the good news about that, so it's a different ISO standard. If [38:51.100 --> 38:57.520] we want to use the ISO 14443, like the library card was, and I just need to use [38:59.460 --> 39:08.880] a different button, right, because we have 15693 on these two, and the sun is a 14443 standard, [39:08.880 --> 39:15.260] which is my fair. So we can basically copy the data off of this library card [39:15.800 --> 39:20.700] onto this badge. All right, it is encrypted, which makes it more difficult, but some [39:20.700 --> 39:27.980] library cards are not encrypted. So some of the things to understand about that, it did [39:27.980 --> 39:35.000] successfully copy the data or capture it, right? If this is a box of chocolates that's unopened, [39:35.000 --> 39:39.640] you would not know that this is happening. And you can do this with a number of daily objects [39:39.640 --> 39:49.380] like magazines, newspapers, you can embed a reader into a table itself at a coffee shop. [39:49.380 --> 39:55.220] I think you understand the point. So today and tomorrow, yesterday and forever, there are [39:58.260 --> 40:04.100] people stealing data, and we wouldn't know it. And that's what makes it important to have a [40:04.100 --> 40:11.400] sense of, not a sense, to have a technical circuit built in which disconnects the antenna [40:12.300 --> 40:18.880] when you're not pushing on this. When a human is not pushing on one of the three buttons, [40:19.540 --> 40:26.560] this antenna is not connected to the ICs, the integrated circuits, which are storing the data. [40:27.020 --> 40:32.200] And what that means is that it's nearly impossible, it could possibly, it might not be [40:32.200 --> 40:37.420] impossible, I just don't want to say that, but it's very difficult, it's very, very difficult [40:38.740 --> 40:43.820] to capture data off of these things unless you're pushing on a button. And what I call that is [40:44.840 --> 40:51.200] defense of passive data theft. Is that what you call it too? Need money? Are you watching? [40:52.060 --> 40:57.380] All right, so we just demonstrated the passive data theft protection. [40:58.340 --> 41:07.180] And we demonstrated the writing of information. We demonstrated the passive capture of a library [41:07.180 --> 41:16.680] card. We demonstrated the difficulty of copying encrypted information. And we saw a nice chocolate [41:16.680 --> 41:24.880] box demonstration. And what else do we have? So there are a variety. What I like to experiment [41:24.880 --> 41:35.300] with are these types of transit cards are quite often, they either have a copper smart card [41:37.780 --> 41:42.340] integrated circuit, or they have an antenna inside, you can't see it then. [41:43.100 --> 41:47.100] And here's one, for example, with an antenna inside. [41:47.100 --> 41:51.820] How about this? Let's do another test. I will turn on this smartphone again. [41:57.440 --> 42:01.380] So we'll get this working again. And we've got this turned on. Remember, it's always very [42:01.380 --> 42:06.720] important to have your screen turned on. Otherwise, the NFC circuit, a lot of the radios don't work. [42:07.060 --> 42:11.360] All right, so this is an empty screen. There is no data on the screen. We're now going to [42:14.400 --> 42:23.120] passively copy data off of a transit card. Shall we do that? All right, so I'll just drop it on there. [42:23.860 --> 42:27.420] And if you heard that, it's already, it's too late. [42:27.420 --> 42:35.140] If I was not the owner, then I would have just lost the information. So what we have here, [42:35.140 --> 42:40.700] this is an interesting memory model. It's a MIFARE again. So you would see the 14443. [42:41.260 --> 42:48.480] Has a serial number, it has memory information. So this is quite interesting. [42:50.680 --> 42:58.540] On the pro model, it dumps the memory. On this one, it doesn't. [42:59.380 --> 43:03.340] But in any case, so we just captured the data from a transit card. [43:04.880 --> 43:09.560] All right, so that's how that works. What else can we demonstrate? [43:12.290 --> 43:19.510] You can take a quick look at what the devices look like from start to finish. [43:22.680 --> 43:31.460] During the manufacturing. So the manufacturing starts with a etched circuit board like this. [43:32.800 --> 43:38.440] Get the light a bit better. The light's not... [43:41.940 --> 43:47.320] Yeah, the lighting is just not very good. But so I'm not happy about that. And then there's a [43:47.320 --> 43:53.240] shadow if I do that. Okay, so this is the PCB or printed circuit board. And if you take a quick [43:53.240 --> 44:03.010] look, there are no parts on there. You can see the three different footprints. [44:05.050 --> 44:12.810] U1, U2, U3. There's no switches on the switch. SW1, SW2, SW3. [44:14.890 --> 44:21.210] So that's how we start. The other side needs to be flush and straight. So we don't have parts on [44:21.210 --> 44:26.670] at all. Because it needs to be right up against the reader device in some situations. [44:26.750 --> 44:36.770] So we begin by populating parts on this side. So I'm going to show a different PCB now. [44:36.770 --> 44:42.490] There they are side by side. And the one doesn't have parts and this one does. Okay, [44:42.490 --> 44:48.630] so what does that look like? After we populate the PCB with switches, with EPROMs, with integrated [44:48.630 --> 44:57.230] circuits, that's what it looks like then. There we go, focused. So we've got the three switches [44:57.230 --> 45:03.270] on there. We've got a piece of Kapton tape on top to keep them in place. And then we've got [45:03.270 --> 45:11.870] our EPROMs. Two of which are holding data in NDEF type 4. I'm sorry, NDEF type 5. And the last one, [45:12.550 --> 45:20.830] U3, is holding data in the format of NDEF type 4. That's my fair one. All right, now the other [45:20.830 --> 45:26.230] side is just the same. Because like I said before, in some cases, we need this antenna to be right up [45:26.230 --> 45:34.550] against the reading device. And for this reason, we can't put parts there. And the next step in [45:34.550 --> 45:41.190] the procedure to populate or to create these devices and assemble them is to place an overlay [45:41.190 --> 45:47.250] on the front and a piece of leather on the back for protection. All right, so what does that look [45:47.250 --> 45:56.140] like? The overlays look like this. So that's what it's like when... I'll just use one here. [45:57.300 --> 46:04.360] So that's what it looks like when we have placed the overlay, which has an adhesive [46:05.440 --> 46:10.580] back on it. Peel the adhesive back on and put the overlays on. And you can see that through [46:10.580 --> 46:14.560] the overlay, there are windows, transparent windows that show you the parts underneath [46:14.560 --> 46:22.200] the small chips. The other side of the badge, because we're going to be... so this is hard [46:22.200 --> 46:27.380] to see because it's black, but in this case, it's red. This is where we differentiate the [46:27.380 --> 46:34.480] colors in the villages. Monero obviously has an orange one. And the reason that leather is on [46:35.020 --> 46:40.980] so that when you put this against the phone, that it's not scratching your lens. [46:41.220 --> 46:45.860] Okay, so there's a functional purpose for this leather. Most people think that it's [46:45.860 --> 46:51.600] decorational. I mean, it does feel good, but it's actually there to protect the lens of your [46:51.600 --> 46:56.460] reading device, which is usually a smartphone. All right, so that's the front and the back. [46:56.460 --> 47:01.760] And once we do that, all we need to do to finish the device is to put it inside a [47:02.980 --> 47:09.620] enclosure frame. The reason this has two stripes is that they come out of the printer like this. [47:09.620 --> 47:17.780] It needs supports in between those two protruding pieces of the model. And that's why we put some [47:17.780 --> 47:26.060] supports in between. And one problem that we found is that every 10th badge that we assemble, [47:26.060 --> 47:34.160] we break the frame on it. So that's one reason we're not enclosing frames with the do-it-yourself [47:34.160 --> 47:39.680] models, because it would just be too much of a... we would need to supply two, three, [47:39.680 --> 47:45.360] four frames for each badge to make sure to ensure that the person didn't break it. [47:45.980 --> 47:49.640] All right, so that frame goes on the edge of the badge, as you can imagine. [47:50.560 --> 47:55.560] And it covers part of the leather to keep that on, and the edge is no longer... [47:57.080 --> 48:00.980] well, let me... I mean, this doesn't look good when you don't have... [48:01.900 --> 48:06.160] when you don't have that plastic on. You can see the different layers. [48:06.660 --> 48:10.740] So that's kind of a decorational thing. I do suppose that if you drop the badge, [48:10.740 --> 48:16.320] that the plastic frame does help a bit there as well. So you could call it a protectional feature. [48:17.100 --> 48:24.500] All right, so that's... I just realized that I forgot to record this. I'm supposed to record... [48:25.140 --> 48:31.460] okay, now it's too late. We're five minutes or 10 minutes away from the end. Okay, I forgot. Sorry. [48:32.480 --> 48:40.680] Right, so this is what happens when you fully create the badge. We have some black ones, [48:40.680 --> 48:47.570] which are called... the model number is called Black Matter. Black Matter. More narrow orange. [48:49.560 --> 48:58.020] We've got some Attack Red. Red on the back and on the front. We've got Defense Blue. [48:59.580 --> 49:02.300] The Defense Blue is quite nice. It's very translucent. [49:04.200 --> 49:08.320] You can see right through the plastic in some areas. [49:08.320 --> 49:15.280] This is what's so nice about SLA stereolithography. It's much more difficult to get a FDM or Fused [49:15.280 --> 49:22.240] Deposition Modeling process translucent. Anyway, so these are all the colors. I think there's a [49:22.240 --> 49:28.840] green one as well. And then we have some unique village colors. Let me show a couple of those. [49:28.840 --> 49:37.400] This one belongs to the Rogues Village. Colors do not... I don't know if maybe I can... [49:38.940 --> 49:44.980] I think it's a lighting problem. In any case, this is blue. You can't tell that it's blue. [49:45.420 --> 49:51.320] With a white frame. And they chose this because these are the colors of the Rogues Village. [49:52.380 --> 49:56.060] They chose the symbols as well. We got a lot of help from the Rogues Village. [49:56.060 --> 50:00.140] Really appreciate that. Thanks, folks, at the Rogues Village. This is the biohacking [50:00.660 --> 50:06.040] color scheme that they chose and reserved for their village. Because in biohacking, they have [50:06.040 --> 50:12.260] black and green. And so, as you can imagine, the front is the same on all of these. [50:12.400 --> 50:18.340] Translucent green frame. You can really see through that, can't you? And the back is black. [50:18.340 --> 50:23.740] So, I don't need to go through all of these because there are five or six different ones. [50:24.340 --> 50:29.720] But that's kind of how they look. And so, with five minutes left, [50:29.720 --> 50:34.460] I would just invite questions. And if there are no questions, we can either [50:35.960 --> 50:43.500] finish early or I can maybe look for some more. Oh, I know what I forgot. I wrote this in the [50:43.500 --> 50:51.860] description for this presentation. What I forgot is to show other badge types. So, [50:51.860 --> 50:59.000] as a prototype, this is kind of how we were developing before we got far enough to release [50:59.000 --> 51:06.360] the design. So, we have some wires soldered on there and extra button up here, which is a [51:08.240 --> 51:16.040] different tactile strength. Here, these are 260 grams. And this one up here is only 130, I think. [51:16.040 --> 51:23.900] And different parts. These are M24SRLR04. And the back looks very similar. So, this is a [51:23.900 --> 51:33.120] prototype board. Here is the Monero Rising. This is quite nice. I soldered a header on there for the [51:33.820 --> 51:39.020] SAO connection. And basically, how these work, it comes with a battery. [51:40.280 --> 51:47.840] And you turn it on and off on the side here. And when you turn it on, it lights up. [51:48.300 --> 51:52.540] Obviously, because there are a lot of LEDs on here. So, let's see what that looks like on the [51:52.540 --> 52:03.040] front. Now, we'll turn it on. All right. So, that flash is a... it's kind of a negotiation. It says [52:03.040 --> 52:08.820] I've turned on. It's indicating that the badge is ready for action. So, there are three capacitive [52:08.820 --> 52:12.720] touch buttons on the bottom here. They're not tactile. They're capacitive touch, which means I [52:12.720 --> 52:22.350] just lightly put my finger on the middle one to turn it on and off. So, now it's on. I have to be [52:22.350 --> 52:27.790] careful when I'm using the buttons because they are very sensitive. So, pressing them from the [52:27.790 --> 52:33.890] back is possible as well. Let's see if I can do that. Okay. It's not so easy, as easy as I thought. [52:33.890 --> 52:39.350] But if I push the same button again, it turns it off. You understand how that works? Once it turns [52:39.350 --> 52:45.350] it on, once turns it off. So, that's the on off button. The buttons to the side, left and right, [52:45.350 --> 52:49.850] these change the animation. Some of you already know this because we've produced quite a lot of [52:49.850 --> 52:55.970] these badges and a lot of people took them home last year. So, I will move to the second animation. [53:00.100 --> 53:03.240] Here's the third animation. So, I can go back to the first. [53:04.500 --> 53:10.520] And in all cases, when I switch the animation, I have to rest my finger on there long enough for [53:10.520 --> 53:17.140] it to complete the entire animation cycle. If I just do a quick tap, it will not read. Okay. Well, [53:17.140 --> 53:23.760] then it did, but you get the idea. Unless I'm touching that button at the very end, [53:23.760 --> 53:30.140] it won't register. All right. So, that's how the animations work. [53:30.720 --> 53:35.720] You can switch. You can turn this on and off with the middle. Turn it back on. [53:37.360 --> 53:43.280] Turn it off. Turn it on. So, that's how these things work. The one that I like the most, [53:43.280 --> 53:48.940] it's the very first one. I think it's starry night or sparkle. I can't remember the name. [53:48.940 --> 53:58.200] These animations have names. Yeah. I wish Mitty Poet was here because he did the firmware design [53:58.200 --> 54:03.240] and engineering and called these things what they look like, like the starry night. [54:03.240 --> 54:09.460] And we're close to finished with the badge clinic for today, but I hope that some of this [54:09.460 --> 54:14.940] information was helpful. Once again, I will turn it over just to show the back in case you're [54:14.940 --> 54:24.790] curious. That's how it looks. I could put this under the microscope, but anything larger than [54:24.790 --> 54:32.050] this very small part on the end under the microscope, it doesn't, you can't tell, [54:32.050 --> 54:39.030] it doesn't help because the microscope is too powerful. So, this is what this badge looks like. [54:39.030 --> 54:45.690] It has, I think, 100, between 120 and 140 parts. I've forgotten the actual number. [54:46.350 --> 54:51.410] You turn it on and off with a switch on the right here. Be careful with this switch. You [54:51.410 --> 54:58.750] don't want to push down while you're, it's good to be careful with it. It has bent off in some [54:58.750 --> 55:03.270] situations and you have to bend it back. So, I'll just turn it off there. And that's the hardware on [55:03.270 --> 55:10.910] off switch. All right. So, we're five minutes until the next presentation, which I believe is, [55:10.910 --> 55:20.370] let's just check that out, unless AJ wants me to stop or I don't know if we have a next presenter. [55:21.210 --> 55:33.360] Let's just check this out. MoneroVillage.org.com. I really, I don't know. I'm going to do org. [55:33.720 --> 55:40.820] Okay. So, this is not TLS protected, but in this moment, I'm not so concerned. [55:41.380 --> 55:44.340] So, let's see who's doing the next presentation. [55:47.800 --> 55:51.960] We have Badge Clinic is what's happening right now. [55:54.160 --> 56:00.680] And so, in one half hour, we're going to hear from Ruben. [56:01.880 --> 56:06.040] Giving competition to Monero by ditching opt-in privacy. [56:07.880 --> 56:12.380] All right. So, this looks very interesting. This appeals to me quite a lot. [56:13.080 --> 56:19.020] It's always nice to know what other cryptocurrencies are doing and how that relates [56:19.020 --> 56:27.240] and contrasts with our technology here at the Monero Village. And we actively welcome all the [56:27.240 --> 56:31.940] cryptocurrencies in the world, including the one you just made five minutes ago with your Python [56:31.940 --> 56:40.780] module, right? Your Python library. So, this is what we do at Monero Village, right? [56:41.340 --> 56:46.120] Anything that's blockchain related, cryptocurrency, things like that, you're welcome to [56:46.920 --> 56:52.900] ask questions about it or just come by and explain your project. We have that with Loki [56:52.900 --> 56:59.180] Mesh as well today. Really interesting stuff. And in the next presentation, which is coming in just [56:59.180 --> 57:06.820] one half hour, it will be from a Zcoin enthusiast and developer, I believe. So, that looks really [57:06.820 --> 57:13.800] good. So, I'm going to say goodbye. And I hope that you liked all of these devices. [57:13.800 --> 57:22.620] These badges, I think are sold out for the do-it-yourself models because people seem to [57:22.620 --> 57:28.080] like those quite a lot. But I do have this stack right here, plus a few others of the [57:28.600 --> 57:37.220] pre-assembled model. So, if you're interested in an attack red, a defense blue, you can get that. [57:37.220 --> 57:43.120] I'll write the URL here as well, just in case you're not sure where to find them. And with [57:43.120 --> 57:57.560] that, we will turn off the stream. So, the URL is shop.monerodevices.com. That's where you can [57:57.560 --> 58:09.320] still get your badge. Does that sound good? Need money? Are you watching now? Are you watching, [58:09.320 --> 58:16.760] Scott? Who's watching besides myself? All right. So, that's all for today. This was the badge [58:16.760 --> 58:23.960] clinic, the last badge clinic of the year 2020. Well, you know, we could be in China for... [58:24.560 --> 58:31.000] I'm not sure about that. They canceled China. But that was the badge clinic for DC28. And [58:31.540 --> 58:37.240] thanks a lot to the AV folks for helping. AJS, you did a great job and Justin as well. [58:37.240 --> 58:46.140] Okay. So, I will say goodbye. And that's it for me. My name is Michael. I'm MSVB. [58:46.400 --> 58:48.180] Have a good one and thanks for listening.