Alice and Bob are Really Confused
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Huerta, David
There have been over 20 cryptoparties in New York City, in which people are introduced to open source cryptography software. This doesn't always go smoothly. Usability experts have only recently being included in the design process for encryption tools, but by and large what we have to work with were designed by cryptography experts in the 90s. I'll be going over some pain points between real-world users and their real-life encounters with open source cryptography tools. David Huerta ships critical art in suspicious packages and helps organize cryptoparties, which bring technologists and everyone else in New York together to learn how to protect their online privacy. Before arriving in New York, he dropped out of Arizona State University and was one of the founding members for HeatSync Labs, an Arizona hackerspace which brings makers, hackers, and the occasional futurist together to build things and teach others how to do the same.
 So, hi, I'm David. So just a quick disclaimer, some people are allergic to cats. I'm allergic by the lack of cats, so I will cough sporadically throughout this presentation. Just a heads up. Cool. So this is a very obligatory like biography slide. This is really boring, so I added Doge, the kind of the Sriracha presentations. So I'm a developer by trade, but I've been doing more in the design and user experience world, so I've been kind of bringing in like UX and UI from developer perspective. I help organizing crypto parties in New York City, Brooklyn, Manhattan, etc., Staten Island, even at one point. And kind of the foray that I've had into privacy enhancing technology or something was the thing that I called case stacks, case studies, which is a thing that basically turns your Google search history into a big mess. There's a version on GitHub that kind of works on Chrome, but not really. I'm going to wipe up the suicide fruit bunk thing. Yeah. Oh, also I'm from New York. Cool. So here's kind of the typical story of what happens. There's been a lot more attention lately on a lot of privacy enhancing technology, namely a lot of things that use crypto. So people have been wanting to learn more about it. So people come to crypto parties, they're like, hey, I want to do this stuff. I want to be cool like little butchers. So yeah, so they go there. Also exporting PNGs apparently gives you the white background by default instead of a black one. So this is kind of the history of what we're going to be talking about. Since December 2012 when the first crypto party happened in New York, we've had like 24 of them and they've kind of been everywhere. So these are all different communities. They all have different skill levels, different areas of expertise. Not all of them are going to be like the holistic totality of security, cryptography and the math behind it and operational security. So it's a myth. So you have hacker spaces where these things end up kind of happening first because there's just enough of a crossover on Twitter between hackers and the CCC and like Ashravol that it just ends up happening. So that's kind of the first audience. There's been a few of them at like one, which is recently had its relaunch in my system which I'm a member of. And a lot of people there are kind of more or less primed to the idea of like security and technology. So but maybe less so on kind of usability, which I'll get into in a little bit. Libraries are kind of the different story. We've done a few crypto parties at the Brooklyn Public Library. And then Verso Books is not a library, but I added them in there because they've had a few things and it's kind of a silver environment. And that brings in kind of a cross section of everybody in Brooklyn. So not just like Williamsburg hipsters, but just like everybody, like people from like Coney Island and stuff. It's great. They deal with a lot of new internet users. So people that have never touched email outside of a web browser or like outside of an app. So the whole idea of like a protocol being what's actually behind the scenes is a new thing. So it's important to know like remember like what you know, mental models are around like a lot of these systems. So people are to see it as being end to end when it's really not. Art gallery is just because like New York has them. Calix Institute is not an art gallery. It's the Calix Institute, but it's inside an art gallery. Weirdly enough because they have space. Ccast was this kind of this weird video game slash coding slash digital art cool space that brings in like a lot of interesting folks. And they're kind of doing it just because like it's just an intrinsically like compelling thing to just be able to like have this technology that like, you know, it takes galaxies of computers worth like of computing power to actually like crack. So, so they're coming in from a totally different perspective, not necessarily always having a specific case for it, but just like the coolness of having the ability to do that. Co-working spaces are kind of a different story. It's kind of a mix of like, well, you know, I want to have, I just want to be more secure. The internet is like filthy and dangerous. Like what do I do? So that's kind of their perspective or use the using technology that is popular for conducting business, but maybe not necessarily knowing the policy view of just like what security means and all that. University is kind of the same kind of general issue just like grad students being curious and their speaker. So, if, so I'm bringing this in from kind of a developer perspective, but one of the best avenues for that kind of the first like place to start, I think. So the Macintosh human interface guidelines are actually really great for more than just Macintoshes from like OS two in the nineties. Not OS two like the IBM OS two, but like the second OS. The first two chapters or so kind of go through some of the fundamentals of user experience and user interface. And these are all just very valuable lessons that I'll just kind of dive into and particularly some of the ones that like specifically deal with or have kind of issues with dealing with security software. So here's some key lessons. So we have this idea back in the day of like modelessness of just like having the ability to have, do multiple things without having to switch between different modes. So like you have the ability to like, you know, print while you're doing something else and multitasking, et cetera. The idea though is that like with security, you have a mix of modes, including the, I'm not even going to touch the VGA cable. The fact that a lot of this stuff is actually built, you have the idea of modes between security and insecure mode, which were a little weird because that's a very unique case of when not even touching the table. It's something to keep in mind. And unfortunately, like this is a place where people can really, really mess up really easily if this isn't done extremely well. A lot of the crypto software that we have really sits popular is built on top of big existing systems that were not inherently designed to be secure email, XMPP. These things were not designed to be end to end encrypted. And because of that, we sort of built software that just piggybacks on top of it, thus creating a difference between a default and secure and a like extra secure mode. So yeah, this will, this will, that's something to think about. And there's very careful ways of like approaching that, I'll get into a little bit. There's also the idea of pre-seq stability is unfortunately the open source world, we tend to kind of code first and then kind of add a like UI later. It's kind of a problem because really the user only sees the UI, like they have no understanding of what's going on behind the scenes or need for understanding what's going on behind the scenes in some cases. But they do perceive that any like breaking that happens in the front end immediately translates to them as something that's broken kind of underneath the hood as well. So this is something that's particularly important in crypto because like if you screw up in your privacy, then it's kind of game over. So if you want to make sure that if something is working behind the scenes, but isn't on the front end, you want to make sure that the front end, the integrity of that matches what's going on in the back end as well. Otherwise, the workiness of the back end is just not communicated. They're going to assume it's broken. User testing, so it's a good idea to prototype your software, just like iterate. So instead of just like having one thing, it's like, all right, it's out and we're not touching it forever. Kind of go through as you add more features, dog food them on people, get them to use it. At Hope, there was a great talk by Katie Nesnith, which unfortunately there's only audio up on the Hope website. So you should check it out if you want to learn like how to use your tests. There's also the idea of metaphors. This ties into greater UX concept of steamorphism where it's like, here's your contact book, but it's not a book. It's like a database inside your phone. But we use these things to kind of explain like what a thing does and what its function is in the way you use it. And unfortunately, this is really hard in crypto because we have a lot of things that are really ambiguous or we reuse some things like Diffie Hellman created the idea of like public and private keys. But that was just because like for like all of the history of humanity, if you wanted to send a encrypted message, you had to share a private key of some kind or a private like Cypher key. So that sort of vertus was just like passed into it. So it's like, oh, well, you have a public key and a private key now. In the real world, you can't really do anything with two keys. Like my colleague from Crypto Party Phoenix will rather came up with the idea of having a lock and then that is your public key and then like the actual private key is the key and that makes more sense because you can lock stuff up with your private key, with your public key. Or sorry, you can lock things up with your private key and then distribute the public key for anybody that wants to send you something that you can only unlock. We also have issues with the term fingerprint as well, which I'll get into in a minute. So the more modern lessons specifically from cryptography software just from like years of kind of basically user testing in front of accidentally side affected user testing with Crypto Parties is there's an idea of like forgiveness in UX UI where you have the ability to undo something to like, you know, if you make a mistake, it's cool. We'll just undo it. It's fine. It's you can't like if you screw up once and in some of these in some processes within a lot of crypto software, it's just done. Like there is no undo. So that means that you instead have to like make sure that people know what they're getting into and kind of have things in your UI that communicate what's about to happen to mitigate mistakes. So another thing is just like having too many tools. Like we're looking at say like GTG for example, that typical setup is that we usually prescribe is essentially on OS 10 for example, it's like GTG tools, Thunderbird, and IgMill. And if you're doing, you know, checksums and all these things as you download them, it's a lot in process like it and it's tedious. That's probably people actually like, even though they've read about it and they kind of get the idea of what to do, they'll wait until they get to a crypto party before they actually attempt it because there's so many steps involved that they don't want to mess any of them up because of course crypto mistakes and crypto software mean, uh, phonish. Uh, anyway, so that's kind of the idea there. That's a huge force of proof and full out of things. Uh, there's also, I'm just calling this, it's totally made a turn false hope where if there is something that could go wrong, um, or a feature might not be available, it might not be what they're used to. It's a good idea to warn the user ahead of time, uh, just to like let them know. It's like the sort of digital equivalent of like the highway sign that has like cows or like goats or emus where it's like, you might hit a cow if you come here. Uh, it's the same idea. You want to like kind of communicate what's about to happen, what, what prerequisites they need before they get to the next step. Uh, and I'll get into some examples with that as we go along. There's also just like the fact that even if you have everything communicated 100% correctly and it's awesome and like there's no confusion, the internet will fuck it up. Like people will go home, do a duct, go a search and be like, I'm going to go look for XMPP and gain and oh, this website from 2003 says I need to install game and game doesn't exist anymore, it was renamed to pigeon. Uh, and it's also called Jabber in that system and on XMPP. So there's, there's one of those things where like you have to mitigate the realities of the confusion of everybody else. Uh, kind of prime example of that is just like explaining what a fingerprint is and then having an analysis where it also could be called like a hash for example. So actually before I did the talk, I had this idea in the back of my mind that I wanted to, uh, I wanted to actually sort of Tumblr blog that was inspired from, uh, read the fucking head dot tumblr dot com, which is all about like calling out bad design and Mac applications. Um, and I wanted to do that kind of with crypto stuff originally, but then it was just like looking at like how much that blog didn't solve and like everybody like tweeted really hard as snarky as they could to try to fix the security industry and design and it just didn't work. So in the spirit of kind of, uh, the sort of common themes of, uh, stability and empathy that we want to permeate through the tech industry, I'm just offering basically constructive criticism on existing tools and then like going to their bug tracker or their GitHub and through all these examples, except for two of them, because it's taken a long time for me to like to look at the design for that, basically offering alternatives on like how they can do things differently, uh, which I'm going to go over right now. So this first example, I never recommend in any crypto party because, uh, well, shitty crypto, um, but I'm going to bring it up for one great feature and one awful feature, uh, specifically when you're dealing with different devices, there's different contexts to software commands on. So, uh, you know, your crypto could be like awesome, but if the person on the other end can take a screenshot, then send it to somebody, then, you know, game over, like, uh, and I guess copy and paste and things like that too. So it's one of those things that you want to mitigate to like discourage that. Uh, Crypt Telegraph kinda does this by letting people know that they took a screenshot. Uh, also I realized I'm a blur out wolf name at the bottom, sorry. Uh, and the thing is, though, there's also issues with kind of going back to the idea of modes, of knowing like whether you're in a secure mode or not secure mode. I have no idea why Telegram isn't just always in a secure mode because they built their own infrastructure, they built their own everything, but maybe they're like crappy crypto does nothing to let them do that right of fault. Uh, so people make these mistakes, like this is secure and it's like, no, you didn't turn on OTR. Um, and so can you spot like where, like what indicator, what tells you, communicates to you in the UI, like whether one is encrypted or not? Like there is the tiniest like lock icon at the very top of next to the name. And it is the only thing that is like telling you like, by the way, this is end to end encrypted and not just like encrypted and transit. So there's a lot that could be done better there and do some examples of how to do it better. So Chrome does a pretty good job at this. Um, the, it's more obvious. Like you have this kind of like, you know, the top sort of like the way people kind of look at stuff top to bottom, left to right, sometimes, but not necessarily in this case you could go right to left. Uh, the first thing we'll see would be the top of things in this case of window and you're seeing that it's a different color than what the other windows are. It's different and it has like a weird creepy fedora guy in the background. Um, now in the, in the forefront though, you see like something that will only be needed a bit of be read once. And uh, basically that just kind of lets you know what's about to happen. Oh yes. Hi Defcon. Who's out there? Is this the first Defcon? Wow. That's a lot of hands. All right. So I'm guessing that you guys are going to be able to see what's going on. So first Defcon, wow, that's a lot of hands. All right. So I'm guessing that you guys have already seen this one today. For those of you who don't know what's going on, we have this tradition for first time speakers. Uh, they get to do a shot on stage with the goons. I thought we got two shots on stage. He has to. Everyone, should he join in? Awesome. Defcon. Defcon. Oh yeah, I'm actually 38. I know I look 17, but I'm actually 38. Yeah, yeah. We're 0, 84. Yeah. Fuck you. Yeah, yeah. No, go ahead. Cool. Yeah, yeah. Awesome. So, yeah, so we have the uh, so we have a good example of, I think it's just something about the connectivity of, it made the screen turn on. This is good. Excellent. Maybe just something about the metal table. I'm totally guessing. Uh. I'm helping. Management. So yeah, so Chrome in this case has like a little message in the front that you saw earlier. So it kind of tells you just like what's going on and what specifically this covers. Like it's not, it doesn't tell you you're about to enter like onion router lands or anything. It just says like specifically, you know, we're not going to store cookies except for this session. This doesn't protect you from your employer, et cetera, or anybody that has access to the network. It's something that you only had to read once. And that's why it's kind of in the background and out of the way. So it's useful the first time it's still there for anybody that needs it. Um, so it's just a good thing to have. It's a good design, I think it's out of the way. It's there. But uh, cool. Okay, cool. Thanks. Another good example is actually Torre product. So the Torre browser like happens in this completely distinct window where like inside of the era and like anonymity, like crypto utopia and outside of that you're back in like surveillance land. Uh, so that's kind of the idea there. The, uh, and I think that's a good design to just have a totally separate window and just like not screw down with anything outside of that. Uh, in like militaries, you see the idea of like, here's a computer that's like the red computer, the hot computer. Here's one that's like safe to use. Uh, so you have like two different devices and that makes it so that it's less easy to make a mistake on me like, oops, I did this on the wrong, totally different machine. Uh, versus like, oh no, I did this in the wrong window. I didn't have like my socks proxy set up or whatever. So this is one way to do mode really well. This also tells you like kind of how it works, uh, kind of next steps. Um, uh, and that's kind of, it's great. It's good that it explains things. On the opposite end of not explaining things, this is an old version. So I just, the full disclaimer, like this has all been fixed, but, uh, a release a signal like back in January, like can be kind of ran into some problems with people where it was like, yeah, there's a mystery blue button and nobody knows what it does. People were afraid to touch it. Uh, like please label things. Like it's one of those things where I know like sort of, the sort of like beauty side of design tends to favor things that have like, you know, very minimal text, very minimal thing and just have just sort of copy and apple on their industrial design. Uh, but when it comes to things like this, you really want to mitigate mistakes. And because of that, you want to make sure that people know what they're getting into specifically. Uh, and also kind of another thing that you see in the design world is just like, let's take this number of steps and turn them into two steps or three or like as, as few many steps as possible. So it made it so that you can just have a contact call on like two steps and then tap. Unfortunately, there doesn't give you the option of like asking you whether you actually want to call them. So like pretty much three out of the four people that tried this the first time, like accidentally called somebody without realizing it was just going to go through. Uh, this was also fixed. Now it does what it expects. The other thing is also going back to the theme of false hope. Uh, signal runs their own, like it's not using the telephone system like traditional voice telephone system. So it doesn't necessarily need like an iPhone. So it was installing my iPod touch, but then instead I couldn't and then it just kind of didn't have a thing to say no. Uh, it does now and actually just works on the iPod touch. It was great. Um, but it is one of those things where like you want to deal with these kind of cases and like, make sure people understand right away, like what they can or can't do before you like say, go follow these steps. By the way, you can't do anything. Uh, this is going to be a recurring thing too. There's soccer patches. Uh, currently, and this is like under GitHub. So this is being looked at. Uh, there's the idea of a call button having like a corded phone. Like I'm old enough that I remember using a non cellular phone and what those like were shaped like, including a rotary phone, like a seven 30. Uh, so yeah, it's, it's one of those things that just might be like a far future concern, like post millennials, like if people stop watching 80s movies, then people might understand this weird like half C shaped thing is a phone. Just something to think about. Uh, the other thing too is just like, uh, it's a good idea to explain what different features are. Um, Incognito mode did this of course. Uh, and you know, your mobile device scan too. So like there's a thing for street security. This actually specifically is like if you do the like expose thing in iOS for your like tabby between applications, that actually takes a screenshot of what you're doing. Um, and then kind of saves it in like memory, if I'm really, but in this case, it doesn't say that that's what this protects from. So it actually just like, when you do the expose thing, it just has a blue overlay, which is great. Uh, so the screenshot is just like this blue screen with the logo in the middle. So yeah, so many whether this is great. It's really not hard to do. I think I'm not a iOS developer. Uh, and there's also this, so here's the deal with fingerprints. So I kind of alluded to the idea of just like me not liking, like using fingerprint and phrasing, especially with mobile apps only because like in the context of where a lot of people are using using New York, these people that have been arrested or protest and they have their fingerprint taken in the back of their mind, they have this idea that yes, there is a way to like make this thing that was ink like into a digital thing. And it's like, is that what that is? Like iPhones have a fingerprint reader built into them. So the context of where this is happening is a little bit different. So that is something that has literally been tricking people up as far as like what that means. There's also just no explanation of just like what it's derived from or like why it's useful or like how to use it. Um, so if you're going to use that, I would recommend like saying like how, how it's useful. Um, and like how it's like, oh, it's a mathematical hash of like whatever and other protocol. So, uh, yeah, so fingerprint, I don't, I don't like that analogy, uh, with especially the mobile. So going back to the theme of like kind of systems that have their own infrastructure, uh, this is, this is great. This is awesome because like if you have that ability to just have only a secure mode and just have it run in the background and not have to think about it, it makes sense that you can't make the mistake of like, whoops, I accidentally sent this in plain text. Uh, so period is an example of this. There's others, of course, which I'll get into. Um, I have some of you wishes that we ran into, which I'll get into in the next slide. Uh, one of them wishes is like, do you have to add a contact before you can send a message to them, but that's not necessarily communicated well. And it looks so much like email that people just assume it works exactly like email. So like people will post like their period handles under Twitter or whatever, it'd be like, this is my period. They use your name and like, all right, I'm going to go send some of the period message and I can't. The other thing too is the idea of, so another thing that is, that is fantastic is it makes what I would consider better passwords in terms of using passwords that are really long instead of like, tiny, like weird things that are hard to remember. This is great, but there's also a short pin thing that lets you, if you're on specifically, that will only work on that device that you enter a short pin. And if you don't, it's kind of like a muscle, I guess, like, if you don't exercise that long pass, like people have been kind of forgetting that over like the course of a week or so. So there's ways of testing for that. I did a really weird project where I tried to use images for a pin that only worked on a local land at the last place that I worked at. The way we use our test before we wrote a single line of code is we took a giant piece of cardboard and placed a series of 12 baseball cards, 12 Pokemon cards, 12 World of Warcraft cards and 12 like weird animal zoo cards from like the Netherlands. And we went around the office and we were just like, pick your favorite one and we'll write it down. And then like a few days later, we'll be like, which one did you pick? And then a week later, it was like, which one did you pick? And then like a month later, three months later, they all remember it was awesome. That's just the only reason why we went forward with it. I think phrases could be done the same way, but I think there was a sweet spot of when people start forgetting. So similar user testing, doing things that way will, I think, be great in helping people, helping figure that sweet spot out, I think. There is kind of an average that can come in and play on that. This is kind of just what I was looking to earlier. Again, this is on their radar. This is something you're looking into. So this is just like what I did instinctively. What I think one of the first of the day or a couple of days. It's like, hey, I have their username. Let's write a message. Oh, no, I don't have recipients, but I have one. What do you mean it doesn't? So it's one of those things where you kind of want to let them know this is a career-represent step before you give them the false hope of continuing and then not being able to actually do a thing, especially after you put work into it. So here's the downside of a lot of these kind of systems that have their own infrastructure that doesn't piggyback on insecure legacy systems. Every investor wants their horse in the race as far as the new Messenger app. You totally want to go after WhatsApp or whatever. And almost none of them are interoperable. Nobody's going to install eight secure Messenger apps on their phone and then want to remember what contacts are and which one. So everybody's just counting on network effects that are just coming to play and be like, everybody's going to use ShureSpot or whatever. And there are standards. I would encourage any developers out there to use standards. Of course, Signal has a lot of, so our old Miniloc is a curious thing, but can be used by other things. OTR, of course, is used. PPP is also used. Let's talk about OTR. So here's the thing that just always the thing that comes up in every crypto party despite having kind of a lot of other secure messaging options. But for desktops, it's actually kind of sparse. We have an OTR plug-in for a DM, sorry, for a pigeon, and then we also have a DM which also has support for that. The thing is the way this is communicated is a little weird. It's people are like, hey, let's go download OTR. They'll go to their phone and look for OTR. But that really means like, oh, you have to use something like chat secure, different client, and you have to be, it's different depending on what platform you're on. And it's called, the actual protocol behind the scenes is called the different things. You already have to have an account. Or in some cases, you can create one, but sometimes there's not an easy way to do that built in. And so, yeah, basically the, and then you need an XMPP account, and sometimes some of the providers don't have them, like, science certificates. They just ends up looking weird and just always ends up sketching people out. So this is what the pigeon interface looks like now. We kind of like have people use. And so Thunderbird has this. They have an onboarding process where if you like over Thunderbird for the first time, you can just set up a new email account with like Gandhi or whatever. Pigeon unfortunately lacks this. It's something that I would like to see built in and working on designs and like GTK. I don't know how to do that. And so you have to kind of already have an account, or if you know the server that you want to connect to, you can create a new account there using this. But it's also weird because it's like, it's the same interface. Like it's like one of those things that's like probably really efficient in the code where it's like the same display used for the edit screen is also the same for the create screen. But you have this like persistent checkbox at the bottom. Like even if you're like just tweaking your like microphone, you still see it like creating an account on the server, but it doesn't belong in that context anyway. So why is it there? So I would recommend moving that out and I'll get it to a good example of how to do that for a second. Yeah, and then there's just like issues with like the fact that it's just a very alien way for a lot of people to do things that they would only be like, I already set my password. And then just things that are kind of a throwback to what old I am things used to do, but don't really make sense in this context like now notifications. There's also just a mix of like different things that are related to security or privacy being thrown out in kind of similar contexts, which will seem like PGP as well. But yeah, there's just not too much of there's not a very distinct way to distinguish like transit security versus end to end security, which I think is something that really is a new thing that people should think about. And I don't know how to communicate that visually well, but it's something that I'm interested in tackling in the U of T R settings, of course, in a different place because it's a plug-in, so it's more sort of like and the install process is a little different to you because you have to install two things. You have to install Pigeon or a VM and you have to install the O2R plug-in, etc. So there's just already like now you're just installing more tools and it's different in other places. Like if you're using Debian, you have like you just have to install it and have a signed copy of that primary like available. Whereas in other things, you just like checkbox install cross your fingers. And then people are like, hey, when we have this built in, yay, awesome 2013. Let's do it. Snowdo it. And then like afterwards, people are just kind of like, yeah, it comes up and nobody's done it yet. It says it's 55% there as of May and all such a while. So we'll see how far that goes, but it looks like that will be available in the Pigeon 3.0 release, which I'm looking forward to in five years. So there's ChatSecure, which is a really great example of how to do this. So this has a very distinct thing to like be able to say, do you have an account? No, let's create one and just have that be available right away. It's very easy to just kind of jump in immediately and start using it, which is good. So this is basically what it could be. Like you don't have to like memorize what the URLs for these different things are. And it's like, oh, is it ccc.com? No, it's c e. It's like, is it doc.go.com? No, it's something. And you see everything right there, which is great. Here's a few presets. You can add your own though. You still have the freedom to do that, which is awesome. And then there's some good defaults on our assert encryption with a few other things. This is a very good user experience. Like this is basically a user experience that other OTR and APLAP should use. So let's take it up a notch. So let's talk about PGP, which like, it's basically like if you replayed Icaruga, then you know what PGP is like. Usability has been talked about in PGP actually for a while. The recommendation is why Johnny can't encrypt, which my colleague Tram will recommend it in the audience somewhere. Which is great. So this talks about 1990 and I miss you like issues from 1999 regarding PGP. Some of them we actually still run into just one. Some of them have been sold actually quite well. But yeah, they actually did user testing with a specific audience of like, I think maybe 12 to 24 people and like two of them were able to successfully do everything properly as far as like sending encrypted emails to the other person through a confusion under points. Which I'll let you look into by downloading that paper sometime. Okay, so the thing with PGP is like you already have like too many movie parts. You already have installed too many tools, kind of what I alluded to earlier. This is just like different, the popularity of different platforms is necessarily lined up with foot volunteers. Now like for some other reasons, there's a huge crossover between security privacy and the BSD group. So at any given crypto party in New York, you'll have more people that know how to install PGP on BSD than you do on Windows. And because those interfaces are different, like it's hard to like help them out on like, well, open PGP tools, it's like this in here. It's like this, nobody really knows for sure. People are afraid to do things because if they make a mistake, they're fucked. So, and the order of things is also something you have to explain because like people just aren't used to the idea of emails or protocol. And it's like, oh, you have to set up your email account first and then install this. And Ignal is part of Thunderbird, but then Ignal has to be able to talk to your PGP install. So you have to do that. And even at users, they've never looked at email outside of a website or an app. So it's just something that has to be considered into play. It's like, you're not just introducing any encryption to them and PGP to them. You're also introducing the idea of email as a protocol to them, which is weird. And also like people that have been having that have had a Gmail account now for like 10 years. You know, I'm out of default. So it's just going to try to download everything. They use the internet connection slow and you can't actually do things while that's happening because it just chokes up the CPU so bad that you can't actually do it. So it's a good idea to like take advantage of threading for different processes and have things in the background run while things in the foreground happen. Of course, that wasn't the way email always was. Like Pop makes it so that you wouldn't have it so that you're not downloading your entire email history on the server. You're just getting the email as it comes to you via via of like one email landing in one place that you checked and a different email landing in another place that you checked. And having those not sync across devices in the modern age, like after the 90s is something that people are just terrified by. It's just a box window. All right. And the other thing too is just like the staff that we're counting on as far as like Thunderbird, like the cross platform like thing that we can tell everybody to use in Windows, Linux, or Mac or OpenVSE is basically a man wear at this point. Like they're doing bug fixes, but there's not going to be any other design changes happening anytime soon. There's just little things like that. People don't think about like set text sizes and like this resolution of displays and things like that and how small that gets. So it's important to like accommodate the idea of really big screens because even if you don't think that your email app is going to like show in Times Square, the resolutions of your screens are only going to get stronger. And so that that's something that's going to have to be thought about. There's also noting that you can't the subject lines and on and on. Also, something that was brought up in the 1999 paper on why Johnny Ken Cripps. There are ways of kind of highlighting things within like those text boxes. You do that for the two, PTP does that for the two phones, you let them know. It should also do it for the subject line. My opinion kind of like what it does here when you have like the two fuel it's like red because I don't have like signatures. So you have the subject line, but nothing is indicating that's on encrypted at all. So we literally just have to tell everybody individually forever. So we could just have something either highlighted red and you have a little thing that pops up say, hey, this is encrypted. The rest of the body isn't sorry. It's just the way 1970s designing. Let me also have this idea of multiple things. There are like multiple types of encryption happening and like a little bit of confusion on which of those are. So the future is not looking so good for that. But there's also the idea of like doing PGP in the browser, which has security issues. But that's why it's an extension, not a browser, but then browsers get hacked with so do operating systems. So security wise, I don't know. I'll leave that to all of you to figure out like whether that's an awful idea or not. There's a few people doing this. Yahoo, Google, Whiteout, Novelope, all basically doing kind of the same thing. I haven't had a chance to use Yahoo or Google saying, Novelope, sorry, Whiteout.io I couldn't use because it just kind of froze and maybe it did generate a key successfully and I didn't know if the front end was working. So this is what people do when they tell me when they use Novelope. They'll start writing a message. There'll be a little thing that pops up kind of in the very corner of that proposed window. No tax on it. Just like a little thing that has like a little icon with a pencil or cheese paper on it. And then as soon as you start typing in your gears, it doesn't go back. Then you're like, all right, I'm ready to encrypt. Oh, wait, I can't. And you open up the tab and it's saying that, or you open up the button and it's just saying that if you can add a tab, what does that mean? In this case, you have the ability to like add Novelope to different web and all service providers, which is a useful feature, but like it's not in the place where people expect it. That would be something like an advanced setting is like a different thing. The other thing too is like, you're just like the draft is safe. Like you've already typed in your secret message that you want to like say or whatever, and it's already done. Like there's no one do on that really. The agent Google like data retention. So that's the thing. It's like it should literally just stop you. It should have a different window composer, the proposal window that should ask you immediately. Is this going to be a secure message? Like do not start typing yet and then go for it. This is a complex design, especially to deal with in a web based context where like, you know, we have that. That's sorry for you, Senate. But there are advantages. Like everybody already has web browser. You already familiar with how to use Gmail or YAPO or Yandex or whatever Chromebooks are just all over the place. You like like the speaker room had Chromebooks just everywhere. You're not going away. There's also just the idea of just like PTP is fundamental architecture doesn't always work so well with browser extension. Contacts where you have like these are criminal storage and like things like you wiped out. You know, extension caches that include your private key and then suddenly you don't have a private key anymore of all. And these things made sense back in the day. Like I don't want to like this on those women for creating sort of they made my total sense in 1991. Like the idea is that like back then you had a computer. You only had one computer. You have to worry about moving files around because you were just always on one machine. And it was in a locked house. You really had to worry about key security. You have to worry about iCloud by copying your private key and giving it to Apple. That was just wasn't a thing back then. And there's the idea of key servers back then kind of made sense because you really have like secure like a real strong way to like say hey, here's how to announce my public key without securing it in transit. You need to do now with HBS. And with social media that also uses HTTPS and multiple kind of outlets for social media where you can put public keys. In not only different websites but different jurisdictions that those websites live in. So you have like your public key on QQ or Yandex, IAM, whatever. And you know Twitter. Then you have to deal with like three giant governments hate each other cooperating to like work over your public key. To like try to change all those basically. So it limits the threat model a lot that way. And that kind of approaches something that I really like. The other thing is like RSA was already slow to begin with with crime factoring. And like even I think the GitHub issue, one of the GitHub issues that I saw on Google's and Dan and Christian involved like trying to like find out like how to make factoring crimes faster. So we're looking at like Chinese mathematicians from like the ancient days and like how they did stuff. Actually it's SunZoob and not that SunZoob. Pretty cool. So that's just one of the things like do we need private keys to be filed? Like can we just have them like determined or like derive like deterministically from a hash of the public key with a long passphrase, which is what mini lock does. That gets around the idea of like having to worry about file security, which people are just not good at. People will literally had people go into classrooms and not understand what a file is like. This is the age of like iPad apps. So it's scary, but it's also something we need to like deal with. And like I said, like social media kind of helps with the function that key server is basically used at one point. The way what key base is doing I think is extremely compelling. That's just new where fast performance encryption like ECC actually runs really fast in JavaScript. I'm not saying that so much. Yeah, that's basically my talk. These are my Twitter's and website. Don't forget to add me as a contact person. I have to approve it and then that's when we can talk. Public key ID law fingerprint and also for any of you that are working on these tools, I throw open source check out simply secure.org. A lot of people running it behind the scenes are really great. Some of them have taught me some things about user testing. So they're kind of like they're good people to talk to. And like I said, check out that hope talk that you did. Yeah, that's it. Any questions, comments, ideas, concerns, grants. I have no idea where the microphones are for Q&A, but they're around I think. So the question was, do you think it makes sense to keep working on PGP or just kind of like send it to the Goon factory? I think a lot of people are already using it. It's one of those things like email where I think it will continue to exist whether we like it or not. So you might as well come up with ways to like have them use it in a way that makes sense. Some of the things that I was thinking about specifically for PGP is the idea of like, well, what if you treated file security the way you would with a key like for a door and it's just the thing that you carried with you. Like do you really need your private key on the computer that you want to use it with? We have like ARM based computers that can like live on USB drive. And I wonder whether that could just be like the super lockdown PGP like computer that you carry with you and then just plug in via USB to the laptop that you want to use PGP on or NFC to the mobile device to just like be able to say like, hey, crypt this message. Actually not even do the encryption on the machine on your like user device, but the actual PGP computer and just have it like send in plain text, do the back cipher text, and then just have it do the delivery from there. And that would help solve I think a lot of usability problems that are real as far as like file security, having to think about backup software, like all these other things. It's one approach I think works. The other is just like better desktop software, mail pile, seems like it's promising and doing well for that. Again, as long as private keys remain as files, you're going to have to have that file in like one place really secure where you're going to have to like learn and become a security expert. So yeah. Any other questions? Thank you.
 So, hi, I'm David.  So just a quick disclaimer, some people are allergic to cats.  I'm allergic by the lack of cats, so I will cough sporadically throughout this presentation.  Just a heads up.  Cool.  So this is a very obligatory like biography slide.  This is really boring, so I added Doge, the kind of the Sriracha presentations.  So I'm a developer by trade, but I've been doing more in the design and user experience  world, so I've been kind of bringing in like UX and UI from developer perspective.  I help organizing crypto parties in New York City, Brooklyn, Manhattan, etc., Staten Island,  even at one point.  And kind of the foray that I've had into privacy enhancing technology or something was the thing  that I called case stacks, case studies, which is a thing that basically turns your Google  search history into a big mess.  There's a version on GitHub that kind of works on Chrome, but not really.  I'm going to wipe up the suicide fruit bunk thing.  Yeah.  Oh, also I'm from New York.  Cool.  So here's kind of the typical story of what happens.  There's been a lot more attention lately on a lot of privacy enhancing technology, namely  a lot of things that use crypto.  So people have been wanting to learn more about it.  So people come to crypto parties, they're like, hey, I want to do this stuff.  I want to be cool like little butchers.  So yeah, so they go there.  Also exporting PNGs apparently gives you the white background by default instead of a black  one.  So this is kind of the history of what we're going to be talking about.  Since December 2012 when the first crypto party happened in New York, we've had like  24 of them and they've kind of been everywhere.  So these are all different communities.  They all have different skill levels, different areas of expertise.  Not all of them are going to be like the holistic totality of security, cryptography and the  math behind it and operational security.  So it's a myth.  So you have hacker spaces where these things end up kind of happening first because there's  just enough of a crossover on Twitter between hackers and the CCC and like Ashravol that  it just ends up happening.  So that's kind of the first audience.  There's been a few of them at like one, which is recently had its relaunch in my system  which I'm a member of.  And a lot of people there are kind of more or less primed to the idea of like security  and technology.  So but maybe less so on kind of usability, which I'll get into in a little bit.  Libraries are kind of the different story.  We've done a few crypto parties at the Brooklyn Public Library.  And then Verso Books is not a library, but I added them in there because they've had  a few things and it's kind of a silver environment.  And that brings in kind of a cross section of everybody in Brooklyn.  So not just like Williamsburg hipsters, but just like everybody, like people from like  Coney Island and stuff.  It's great.  They deal with a lot of new internet users.  So people that have never touched email outside of a web browser or like outside of an app.  So the whole idea of like a protocol being what's actually behind the scenes is a new  thing.  So it's important to know like remember like what you know, mental models are around like  a lot of these systems.  So people are to see it as being end to end when it's really not.  Art gallery is just because like New York has them.  Calix Institute is not an art gallery.  It's the Calix Institute, but it's inside an art gallery.  Weirdly enough because they have space.  Ccast was this kind of this weird video game slash coding slash digital art cool space  that brings in like a lot of interesting folks.  And they're kind of doing it just because like it's just an intrinsically like compelling  thing to just be able to like have this technology that like, you know, it takes galaxies of  computers worth like of computing power to actually like crack.  So, so they're coming in from a totally different perspective, not necessarily always having  a specific case for it, but just like the coolness of having the ability to do that.  Co-working spaces are kind of a different story.  It's kind of a mix of like, well, you know, I want to have, I just want to be more secure.  The internet is like filthy and dangerous.  Like what do I do?  So that's kind of their perspective or use the using technology that is popular for conducting  business, but maybe not necessarily knowing the policy view of just like what security  means and all that.  University is kind of the same kind of general issue just like grad students being curious  and their speaker.  So, if, so I'm bringing this in from kind of a developer perspective, but one of the  best avenues for that kind of the first like place to start, I think.  So the Macintosh human interface guidelines are actually really great for more than just  Macintoshes from like OS two in the nineties.  Not OS two like the IBM OS two, but like the second OS.  The first two chapters or so kind of go through some of the fundamentals of user experience  and user interface.  And these are all just very valuable lessons that I'll just kind of dive into and particularly  some of the ones that like specifically deal with or have kind of issues with dealing with  security software.  So here's some key lessons.  So we have this idea back in the day of like modelessness of just like having the ability  to have, do multiple things without having to switch between different modes.  So like you have the ability to like, you know, print while you're doing something else  and multitasking, et cetera.  The idea though is that like with security, you have a mix of modes, including the, I'm  not even going to touch the VGA cable.  The fact that a lot of this stuff is actually built, you have the idea of modes between  security and insecure mode, which were a little weird because that's a very unique case of  when not even touching the table.  It's something to keep in mind.  And unfortunately, like this is a place where people can really, really mess up really easily  if this isn't done extremely well.  A lot of the crypto software that we have really sits popular is built on top of big  existing systems that were not inherently designed to be secure email, XMPP.  These things were not designed to be end to end encrypted.  And because of that, we sort of built software that just piggybacks on top of it, thus creating  a difference between a default and secure and a like extra secure mode.  So yeah, this will, this will, that's something to think about.  And there's very careful ways of like approaching that, I'll get into a little bit.  There's also the idea of pre-seq stability is unfortunately the open source world, we  tend to kind of code first and then kind of add a like UI later.  It's kind of a problem because really the user only sees the UI, like they have no understanding  of what's going on behind the scenes or need for understanding what's going on behind the  scenes in some cases.  But they do perceive that any like breaking that happens in the front end immediately  translates to them as something that's broken kind of underneath the hood as well.  So this is something that's particularly important in crypto because like if you screw up in  your privacy, then it's kind of game over.  So if you want to make sure that if something is working behind the scenes, but isn't on  the front end, you want to make sure that the front end, the integrity of that matches  what's going on in the back end as well.  Otherwise, the workiness of the back end is just not communicated.  They're going to assume it's broken.  User testing, so it's a good idea to prototype your software, just like iterate.  So instead of just like having one thing, it's like, all right, it's out and we're not  touching it forever.  Kind of go through as you add more features, dog food them on people, get them to use it.  At Hope, there was a great talk by Katie Nesnith, which unfortunately there's only audio up  on the Hope website.  So you should check it out if you want to learn like how to use your tests.  There's also the idea of metaphors.  This ties into greater UX concept of steamorphism where it's like, here's your contact book,  but it's not a book.  It's like a database inside your phone.  But we use these things to kind of explain like what a thing does and what its function  is in the way you use it.  And unfortunately, this is really hard in crypto because we have a lot of things that  are really ambiguous or we reuse some things like Diffie Hellman created the idea of like  public and private keys.  But that was just because like for like all of the history of humanity, if you wanted  to send a encrypted message, you had to share a private key of some kind or a private like  Cypher key.  So that sort of vertus was just like passed into it.  So it's like, oh, well, you have a public key and a private key now.  In the real world, you can't really do anything with two keys.  Like my colleague from Crypto Party Phoenix will rather came up with the idea of having  a lock and then that is your public key and then like the actual private key is the key  and that makes more sense because you can lock stuff up with your private key, with  your public key.  Or sorry, you can lock things up with your private key and then distribute the public  key for anybody that wants to send you something that you can only unlock.  We also have issues with the term fingerprint as well, which I'll get into in a minute.  So the more modern lessons specifically from cryptography software just from like years  of kind of basically user testing in front of accidentally side affected user testing  with Crypto Parties is there's an idea of like forgiveness in UX UI where you have  the ability to undo something to like, you know, if you make a mistake, it's cool.  We'll just undo it.  It's fine.  It's you can't like if you screw up once and in some of these in some processes within  a lot of crypto software, it's just done.  Like there is no undo.  So that means that you instead have to like make sure that people know what they're getting  into and kind of have things in your UI that communicate what's about to happen to mitigate  mistakes.  So another thing is just like having too many tools.  Like we're looking at say like GTG for example, that typical setup is that we usually prescribe  is essentially on OS 10 for example, it's like GTG tools, Thunderbird, and IgMill.  And if you're doing, you know, checksums and all these things as you download them, it's  a lot in process like it and it's tedious.  That's probably people actually like, even though they've read about it and they kind  of get the idea of what to do, they'll wait until they get to a crypto party before they  actually attempt it because there's so many steps involved that they don't want to mess  any of them up because of course crypto mistakes and crypto software mean, uh, phonish.  Uh, anyway, so that's kind of the idea there.  That's a huge force of proof and full out of things.  Uh, there's also, I'm just calling this, it's totally made a turn false hope where  if there is something that could go wrong, um, or a feature might not be available, it  might not be what they're used to.  It's a good idea to warn the user ahead of time, uh, just to like let them know.  It's like the sort of digital equivalent of like the highway sign that has like cows or  like goats or emus where it's like, you might hit a cow if you come here.  Uh, it's the same idea.  You want to like kind of communicate what's about to happen, what, what prerequisites  they need before they get to the next step.  Uh, and I'll get into some examples with that as we go along.  There's also just like the fact that even if you have everything communicated 100% correctly  and it's awesome and like there's no confusion, the internet will fuck it up.  Like people will go home, do a duct, go a search and be like, I'm going to go look for  XMPP and gain and oh, this website from 2003 says I need to install game and game doesn't  exist anymore, it was renamed to pigeon.  Uh, and it's also called Jabber in that system and on XMPP.  So there's, there's one of those things where like you have to mitigate the realities of  the confusion of everybody else.  Uh, kind of prime example of that is just like explaining what a fingerprint is and then  having an analysis where it also could be called like a hash for example.  So actually before I did the talk, I had this idea in the back of my mind that I wanted  to, uh, I wanted to actually sort of Tumblr blog that was inspired from, uh, read the  fucking head dot tumblr dot com, which is all about like calling out bad design and  Mac applications.  Um, and I wanted to do that kind of with crypto stuff originally, but then it was just like  looking at like how much that blog didn't solve and like everybody like tweeted really  hard as snarky as they could to try to fix the security industry and design and it just  didn't work.  So in the spirit of kind of, uh, the sort of common themes of, uh, stability and empathy  that we want to permeate through the tech industry, I'm just offering basically constructive  criticism on existing tools and then like going to their bug tracker or their GitHub  and through all these examples, except for two of them, because it's taken a long time  for me to like to look at the design for that, basically offering alternatives on like how  they can do things differently, uh, which I'm going to go over right now.  So this first example, I never recommend in any crypto party because, uh, well, shitty  crypto, um, but I'm going to bring it up for one great feature and one awful feature,  uh, specifically when you're dealing with different devices, there's different contexts  to software commands on.  So, uh, you know, your crypto could be like awesome, but if the person on the other end  can take a screenshot, then send it to somebody, then, you know, game over, like, uh, and I  guess copy and paste and things like that too.  So it's one of those things that you want to mitigate to like discourage that.  Uh, Crypt Telegraph kinda does this by letting people know that they took a screenshot.  Uh, also I realized I'm a blur out wolf name at the bottom, sorry.  Uh, and the thing is, though, there's also issues with kind of going back to the idea  of modes, of knowing like whether you're in a secure mode or not secure mode.  I have no idea why Telegram isn't just always in a secure mode because they built their  own infrastructure, they built their own everything, but maybe they're like crappy crypto does  nothing to let them do that right of fault.  Uh, so people make these mistakes, like this is secure and it's like, no, you didn't turn  on OTR.  Um, and so can you spot like where, like what indicator, what tells you, communicates to  you in the UI, like whether one is encrypted or not?  Like there is the tiniest like lock icon at the very top of next to the name.  And it is the only thing that is like telling you like, by the way, this is end to end encrypted  and not just like encrypted and transit.  So there's a lot that could be done better there and do some examples of how to do it  better.  So Chrome does a pretty good job at this.  Um, the, it's more obvious.  Like you have this kind of like, you know, the top sort of like the way people kind of  look at stuff top to bottom, left to right, sometimes, but not necessarily in this case  you could go right to left.  Uh, the first thing we'll see would be the top of things in this case of window and you're  seeing that it's a different color than what the other windows are.  It's different and it has like a weird creepy fedora guy in the background.  Um, now in the, in the forefront though, you see like something that will only be needed  a bit of be read once.  And uh, basically that just kind of lets you know what's about to happen.  Oh yes.  Hi Defcon.  Who's out there?  Is this the first Defcon?  Wow.  That's a lot of hands.  All right.  So I'm guessing that you guys are going to be able to see what's going on.  So first Defcon, wow, that's a lot of hands.  All right.  So I'm guessing that you guys have already seen this one today.  For those of you who don't know what's going on, we have this tradition for first time  speakers.  Uh, they get to do a shot on stage with the goons.  I thought we got two shots on stage.  He has to.  Everyone, should he join in?  Awesome.  Defcon.  Defcon.  Oh yeah, I'm actually 38.  I know I look 17, but I'm actually 38.  Yeah, yeah.  We're 0, 84.  Yeah.  Fuck you.  Yeah, yeah.  No, go ahead.  Cool.  Yeah, yeah.  Awesome.  So, yeah, so we have the uh, so we have a good example of, I think it's just something  about the connectivity of, it made the screen turn on.  This is good.  Excellent.  Maybe just something about the metal table.  I'm totally guessing.  Uh.  I'm helping.  Management.  So yeah, so Chrome in this case has like a little message in the front that you saw earlier.  So it kind of tells you just like what's going on and what specifically this covers.  Like it's not, it doesn't tell you you're about to enter like onion router lands or anything.  It just says like specifically, you know, we're not going to store cookies except for  this session.  This doesn't protect you from your employer, et cetera, or anybody that has access to the  network.  It's something that you only had to read once.  And that's why it's kind of in the background and out of the way.  So it's useful the first time it's still there for anybody that needs it.  Um, so it's just a good thing to have.  It's a good design, I think it's out of the way.  It's there.  But uh, cool.  Okay, cool.  Thanks.  Another good example is actually Torre product.  So the Torre browser like happens in this completely distinct window where like inside  of the era and like anonymity, like crypto utopia and outside of that you're back in like surveillance  land.  Uh, so that's kind of the idea there.  The, uh, and I think that's a good design to just have a totally separate window and  just like not screw down with anything outside of that.  Uh, in like militaries, you see the idea of like, here's a computer that's like the red  computer, the hot computer.  Here's one that's like safe to use.  Uh, so you have like two different devices and that makes it so that it's less easy to  make a mistake on me like, oops, I did this on the wrong, totally different machine.  Uh, versus like, oh no, I did this in the wrong window.  I didn't have like my socks proxy set up or whatever.  So this is one way to do mode really well.  This also tells you like kind of how it works, uh, kind of next steps.  Um, uh, and that's kind of, it's great.  It's good that it explains things.  On the opposite end of not explaining things, this is an old version.  So I just, the full disclaimer, like this has all been fixed, but, uh, a release a signal  like back in January, like can be kind of ran into some problems with people where it was  like, yeah, there's a mystery blue button and nobody knows what it does.  People were afraid to touch it.  Uh, like please label things.  Like it's one of those things where I know like sort of, the sort of like beauty side  of design tends to favor things that have like, you know, very minimal text, very minimal  thing and just have just sort of copy and apple on their industrial design.  Uh, but when it comes to things like this, you really want to mitigate mistakes.  And because of that, you want to make sure that people know what they're getting into  specifically.  Uh, and also kind of another thing that you see in the design world is just like, let's  take this number of steps and turn them into two steps or three or like as, as few many  steps as possible.  So it made it so that you can just have a contact call on like two steps and then tap.  Unfortunately, there doesn't give you the option of like asking you whether you actually  want to call them.  So like pretty much three out of the four people that tried this the first time, like  accidentally called somebody without realizing it was just going to go through.  Uh, this was also fixed.  Now it does what it expects.  The other thing is also going back to the theme of false hope.  Uh, signal runs their own, like it's not using the telephone system like traditional  voice telephone system.  So it doesn't necessarily need like an iPhone.  So it was installing my iPod touch, but then instead I couldn't and then it just kind of  didn't have a thing to say no.  Uh, it does now and actually just works on the iPod touch.  It was great.  Um, but it is one of those things where like you want to deal with these kind of cases  and like, make sure people understand right away, like what they can or can't do before  you like say, go follow these steps.  By the way, you can't do anything.  Uh, this is going to be a recurring thing too.  There's soccer patches.  Uh, currently, and this is like under GitHub.  So this is being looked at.  Uh, there's the idea of a call button having like a corded phone.  Like I'm old enough that I remember using a non cellular phone and what those like were  shaped like, including a rotary phone, like a seven 30.  Uh, so yeah, it's, it's one of those things that just might be like a far future concern,  like post millennials, like if people stop watching 80s movies, then people might understand  this weird like half C shaped thing is a phone.  Just something to think about.  Uh, the other thing too is just like, uh, it's a good idea to explain what different features  are.  Um, Incognito mode did this of course.  Uh, and you know, your mobile device scan too.  So like there's a thing for street security.  This actually specifically is like if you do the like expose thing in iOS for your like tabby  between applications, that actually takes a screenshot of what you're doing.  Um, and then kind of saves it in like memory, if I'm really, but in this case, it doesn't  say that that's what this protects from.  So it actually just like, when you do the expose thing, it just has a blue overlay, which is  great.  Uh, so the screenshot is just like this blue screen with the logo in the middle.  So yeah, so many whether this is great.  It's really not hard to do.  I think I'm not a iOS developer.  Uh, and there's also this, so here's the deal with fingerprints.  So I kind of alluded to the idea of just like me not liking, like using fingerprint and  phrasing, especially with mobile apps only because like in the context of where a lot  of people are using using New York, these people that have been arrested or protest and they  have their fingerprint taken in the back of their mind, they have this idea that yes,  there is a way to like make this thing that was ink like into a digital thing.  And it's like, is that what that is?  Like iPhones have a fingerprint reader built into them.  So the context of where this is happening is a little bit different.  So that is something that has literally been tricking people up as far as like what that  means.  There's also just no explanation of just like what it's derived from or like why it's useful  or like how to use it.  Um, so if you're going to use that, I would recommend like saying like how, how it's useful.  Um, and like how it's like, oh, it's a mathematical hash of like whatever and other protocol.  So, uh, yeah, so fingerprint, I don't, I don't like that analogy, uh, with especially the  mobile.  So going back to the theme of like kind of systems that have their own infrastructure,  uh, this is, this is great.  This is awesome because like if you have that ability to just have only a secure mode and  just have it run in the background and not have to think about it, it makes sense that  you can't make the mistake of like, whoops, I accidentally sent this in plain text.  Uh, so period is an example of this.  There's others, of course, which I'll get into.  Um, I have some of you wishes that we ran into, which I'll get into in the next slide.  Uh, one of them wishes is like, do you have to add a contact before you can send a message  to them, but that's not necessarily communicated well.  And it looks so much like email that people just assume it works exactly like email.  So like people will post like their period handles under Twitter or whatever, it'd be  like, this is my period.  They use your name and like, all right, I'm going to go send some of the period message  and I can't.  The other thing too is the idea of, so another thing that is, that is fantastic is it makes  what I would consider better passwords in terms of using passwords that are really long  instead of like, tiny, like weird things that are hard to remember.  This is great, but there's also a short pin thing that lets you, if you're on specifically,  that will only work on that device that you enter a short pin.  And if you don't, it's kind of like a muscle, I guess, like, if you don't exercise that  long pass, like people have been kind of forgetting that over like the course of a week or so.  So there's ways of testing for that.  I did a really weird project where I tried to use images for a pin that only worked on  a local land at the last place that I worked at.  The way we use our test before we wrote a single line of code is we took a giant piece of cardboard  and placed a series of 12 baseball cards, 12 Pokemon cards, 12 World of Warcraft cards  and 12 like weird animal zoo cards from like the Netherlands.  And we went around the office and we were just like, pick your favorite one and we'll write it down.  And then like a few days later, we'll be like, which one did you pick?  And then a week later, it was like, which one did you pick?  And then like a month later, three months later, they all remember it was awesome.  That's just the only reason why we went forward with it.  I think phrases could be done the same way, but I think there was a sweet spot of when people start forgetting.  So similar user testing, doing things that way will, I think, be great in helping people,  helping figure that sweet spot out, I think.  There is kind of an average that can come in and play on that.  This is kind of just what I was looking to earlier.  Again, this is on their radar. This is something you're looking into.  So this is just like what I did instinctively.  What I think one of the first of the day or a couple of days.  It's like, hey, I have their username. Let's write a message.  Oh, no, I don't have recipients, but I have one. What do you mean it doesn't?  So it's one of those things where you kind of want to let them know this is a career-represent step  before you give them the false hope of continuing and then not being able to actually do a thing,  especially after you put work into it.  So here's the downside of a lot of these kind of systems that have their own infrastructure  that doesn't piggyback on insecure legacy systems.  Every investor wants their horse in the race as far as the new Messenger app.  You totally want to go after WhatsApp or whatever.  And almost none of them are interoperable.  Nobody's going to install eight secure Messenger apps on their phone  and then want to remember what contacts are and which one.  So everybody's just counting on network effects that are just coming to play and be like,  everybody's going to use ShureSpot or whatever.  And there are standards.  I would encourage any developers out there to use standards.  Of course, Signal has a lot of, so our old Miniloc is a curious thing,  but can be used by other things.  OTR, of course, is used.  PPP is also used.  Let's talk about OTR.  So here's the thing that just always the thing that comes up in every crypto party  despite having kind of a lot of other secure messaging options.  But for desktops, it's actually kind of sparse.  We have an OTR plug-in for a DM, sorry, for a pigeon,  and then we also have a DM which also has support for that.  The thing is the way this is communicated is a little weird.  It's people are like, hey, let's go download OTR.  They'll go to their phone and look for OTR.  But that really means like, oh, you have to use something like chat secure,  different client, and you have to be, it's different depending on what platform you're on.  And it's called, the actual protocol behind the scenes is called the different things.  You already have to have an account.  Or in some cases, you can create one, but sometimes there's not an easy way to do that built in.  And so, yeah, basically the, and then you need an XMPP account,  and sometimes some of the providers don't have them, like, science certificates.  They just ends up looking weird and just always ends up sketching people out.  So this is what the pigeon interface looks like now.  We kind of like have people use.  And so Thunderbird has this.  They have an onboarding process where if you like over Thunderbird for the first time,  you can just set up a new email account with like Gandhi or whatever.  Pigeon unfortunately lacks this.  It's something that I would like to see built in and working on designs and like GTK.  I don't know how to do that.  And so you have to kind of already have an account,  or if you know the server that you want to connect to,  you can create a new account there using this.  But it's also weird because it's like, it's the same interface.  Like it's like one of those things that's like probably really efficient in the code  where it's like the same display used for the edit screen is also the same for the create screen.  But you have this like persistent checkbox at the bottom.  Like even if you're like just tweaking your like microphone,  you still see it like creating an account on the server,  but it doesn't belong in that context anyway.  So why is it there?  So I would recommend moving that out and I'll get it to a good example of how to do that for a second.  Yeah, and then there's just like issues with like the fact that it's just a very alien way  for a lot of people to do things that they would only be like,  I already set my password.  And then just things that are kind of a throwback to what old I am things used to do,  but don't really make sense in this context like now notifications.  There's also just a mix of like different things that are related to security or privacy being thrown out  in kind of similar contexts, which will seem like PGP as well.  But yeah, there's just not too much of there's not a very distinct way to distinguish like transit security  versus end to end security, which I think is something that really is a new thing that people should think about.  And I don't know how to communicate that visually well,  but it's something that I'm interested in tackling in the U of T R settings, of course,  in a different place because it's a plug-in, so it's more sort of like  and the install process is a little different to you because you have to install two things.  You have to install Pigeon or a VM and you have to install the O2R plug-in, etc.  So there's just already like now you're just installing more tools and it's different in other places.  Like if you're using Debian, you have like you just have to install it and have a signed copy of that primary like available.  Whereas in other things, you just like checkbox install cross your fingers.  And then people are like, hey, when we have this built in, yay, awesome 2013.  Let's do it. Snowdo it. And then like afterwards, people are just kind of like, yeah, it comes up and nobody's done it yet.  It says it's 55% there as of May and all such a while.  So we'll see how far that goes, but it looks like that will be available in the Pigeon 3.0 release,  which I'm looking forward to in five years.  So there's ChatSecure, which is a really great example of how to do this.  So this has a very distinct thing to like be able to say, do you have an account?  No, let's create one and just have that be available right away.  It's very easy to just kind of jump in immediately and start using it, which is good.  So this is basically what it could be.  Like you don't have to like memorize what the URLs for these different things are.  And it's like, oh, is it ccc.com? No, it's c e.  It's like, is it doc.go.com? No, it's something.  And you see everything right there, which is great.  Here's a few presets. You can add your own though.  You still have the freedom to do that, which is awesome.  And then there's some good defaults on our assert encryption with a few other things.  This is a very good user experience.  Like this is basically a user experience that other OTR and APLAP should use.  So let's take it up a notch.  So let's talk about PGP, which like, it's basically like if you replayed Icaruga,  then you know what PGP is like.  Usability has been talked about in PGP actually for a while.  The recommendation is why Johnny can't encrypt, which my colleague Tram will recommend it in the audience somewhere.  Which is great. So this talks about 1990 and I miss you like issues from 1999 regarding PGP.  Some of them we actually still run into just one.  Some of them have been sold actually quite well.  But yeah, they actually did user testing with a specific audience of like,  I think maybe 12 to 24 people and like two of them were able to successfully do everything properly  as far as like sending encrypted emails to the other person through a confusion under points.  Which I'll let you look into by downloading that paper sometime.  Okay, so the thing with PGP is like you already have like too many movie parts.  You already have installed too many tools, kind of what I alluded to earlier.  This is just like different, the popularity of different platforms is necessarily lined up with foot volunteers.  Now like for some other reasons, there's a huge crossover between security privacy and the BSD group.  So at any given crypto party in New York, you'll have more people that know how to install PGP on BSD than you do on Windows.  And because those interfaces are different, like it's hard to like help them out on like,  well, open PGP tools, it's like this in here.  It's like this, nobody really knows for sure.  People are afraid to do things because if they make a mistake, they're fucked.  So, and the order of things is also something you have to explain because like people just aren't used to the idea of emails or protocol.  And it's like, oh, you have to set up your email account first and then install this.  And Ignal is part of Thunderbird, but then Ignal has to be able to talk to your PGP install.  So you have to do that.  And even at users, they've never looked at email outside of a website or an app.  So it's just something that has to be considered into play.  It's like, you're not just introducing any encryption to them and PGP to them.  You're also introducing the idea of email as a protocol to them, which is weird.  And also like people that have been having that have had a Gmail account now for like 10 years.  You know, I'm out of default.  So it's just going to try to download everything.  They use the internet connection slow and you can't actually do things while that's happening because it just chokes up the CPU so bad that you can't actually do it.  So it's a good idea to like take advantage of threading for different processes and have things in the background run while things in the foreground happen.  Of course, that wasn't the way email always was.  Like Pop makes it so that you wouldn't have it so that you're not downloading your entire email history on the server.  You're just getting the email as it comes to you via via of like one email landing in one place that you checked and a different email landing in another place that you checked.  And having those not sync across devices in the modern age, like after the 90s is something that people are just terrified by.  It's just a box window.  All right.  And the other thing too is just like the staff that we're counting on as far as like Thunderbird, like the cross platform like thing that we can tell everybody to use in Windows, Linux, or Mac or OpenVSE is basically a man wear at this point.  Like they're doing bug fixes, but there's not going to be any other design changes happening anytime soon.  There's just little things like that.  People don't think about like set text sizes and like this resolution of displays and things like that and how small that gets.  So it's important to like accommodate the idea of really big screens because even if you don't think that your email app is going to like show in Times Square, the resolutions of your screens are only going to get stronger.  And so that that's something that's going to have to be thought about.  There's also noting that you can't the subject lines and on and on.  Also, something that was brought up in the 1999 paper on why Johnny Ken Cripps.  There are ways of kind of highlighting things within like those text boxes.  You do that for the two, PTP does that for the two phones, you let them know.  It should also do it for the subject line.  My opinion kind of like what it does here when you have like the two fuel it's like red because I don't have like signatures.  So you have the subject line, but nothing is indicating that's on encrypted at all.  So we literally just have to tell everybody individually forever.  So we could just have something either highlighted red and you have a little thing that pops up say, hey, this is encrypted.  The rest of the body isn't sorry.  It's just the way 1970s designing.  Let me also have this idea of multiple things.  There are like multiple types of encryption happening and like a little bit of confusion on which of those are.  So the future is not looking so good for that.  But there's also the idea of like doing PGP in the browser, which has security issues.  But that's why it's an extension, not a browser, but then browsers get hacked with so do operating systems.  So security wise, I don't know.  I'll leave that to all of you to figure out like whether that's an awful idea or not.  There's a few people doing this.  Yahoo, Google, Whiteout, Novelope, all basically doing kind of the same thing.  I haven't had a chance to use Yahoo or Google saying, Novelope, sorry, Whiteout.io I couldn't use because it just kind of froze and maybe it did generate a key successfully and I didn't know if the front end was working.  So this is what people do when they tell me when they use Novelope.  They'll start writing a message.  There'll be a little thing that pops up kind of in the very corner of that proposed window.  No tax on it.  Just like a little thing that has like a little icon with a pencil or cheese paper on it.  And then as soon as you start typing in your gears, it doesn't go back.  Then you're like, all right, I'm ready to encrypt.  Oh, wait, I can't.  And you open up the tab and it's saying that, or you open up the button and it's just saying that if you can add a tab, what does that mean?  In this case, you have the ability to like add Novelope to different web and all service providers, which is a useful feature, but like it's not in the place where people expect it.  That would be something like an advanced setting is like a different thing.  The other thing too is like, you're just like the draft is safe.  Like you've already typed in your secret message that you want to like say or whatever, and it's already done.  Like there's no one do on that really.  The agent Google like data retention.  So that's the thing.  It's like it should literally just stop you.  It should have a different window composer, the proposal window that should ask you immediately.  Is this going to be a secure message?  Like do not start typing yet and then go for it.  This is a complex design, especially to deal with in a web based context where like, you know, we have that.  That's sorry for you, Senate.  But there are advantages.  Like everybody already has web browser.  You already familiar with how to use Gmail or YAPO or Yandex or whatever Chromebooks are just all over the place.  You like like the speaker room had Chromebooks just everywhere.  You're not going away.  There's also just the idea of just like PTP is fundamental architecture doesn't always work so well with browser extension.  Contacts where you have like these are criminal storage and like things like you wiped out.  You know, extension caches that include your private key and then suddenly you don't have a private key anymore of all.  And these things made sense back in the day.  Like I don't want to like this on those women for creating sort of they made my total sense in 1991.  Like the idea is that like back then you had a computer.  You only had one computer.  You have to worry about moving files around because you were just always on one machine.  And it was in a locked house. You really had to worry about key security.  You have to worry about iCloud by copying your private key and giving it to Apple.  That was just wasn't a thing back then.  And there's the idea of key servers back then kind of made sense because you really have like secure like a real strong way to like say hey,  here's how to announce my public key without securing it in transit.  You need to do now with HBS.  And with social media that also uses HTTPS and multiple kind of outlets for social media where you can put public keys.  In not only different websites but different jurisdictions that those websites live in.  So you have like your public key on QQ or Yandex, IAM, whatever.  And you know Twitter.  Then you have to deal with like three giant governments hate each other cooperating to like work over your public key.  To like try to change all those basically.  So it limits the threat model a lot that way.  And that kind of approaches something that I really like.  The other thing is like RSA was already slow to begin with with crime factoring.  And like even I think the GitHub issue, one of the GitHub issues that I saw on  Google's and Dan and Christian involved like trying to like find out like how to make factoring crimes faster.  So we're looking at like Chinese mathematicians from like the ancient days and like how they did stuff.  Actually it's SunZoob and not that SunZoob.  Pretty cool.  So that's just one of the things like do we need private keys to be filed?  Like can we just have them like determined or like derive like deterministically from a hash of the public key with a long passphrase, which is what mini lock does.  That gets around the idea of like having to worry about file security, which people are just not good at.  People will literally had people go into classrooms and not understand what a file is like.  This is the age of like iPad apps.  So it's scary, but it's also something we need to like deal with.  And like I said, like social media kind of helps with the function that key server is basically used at one point.  The way what key base is doing I think is extremely compelling.  That's just new where fast performance encryption like ECC actually runs really fast in JavaScript.  I'm not saying that so much.  Yeah, that's basically my talk.  These are my Twitter's and website.  Don't forget to add me as a contact person. I have to approve it and then that's when we can talk.  Public key ID law fingerprint and also for any of you that are working on these tools,  I throw open source check out simply secure.org.  A lot of people running it behind the scenes are really great.  Some of them have taught me some things about user testing.  So they're kind of like they're good people to talk to.  And like I said, check out that hope talk that you did.  Yeah, that's it. Any questions, comments, ideas, concerns, grants.  I have no idea where the microphones are for Q&A, but they're around I think.  So the question was, do you think it makes sense to keep working on PGP or just kind of like send it to the Goon factory?  I think a lot of people are already using it.  It's one of those things like email where I think it will continue to exist whether we like it or not.  So you might as well come up with ways to like have them use it in a way that makes sense.  Some of the things that I was thinking about specifically for PGP is the idea of like,  well, what if you treated file security the way you would with a key like for a door and it's just the thing that you carried with you.  Like do you really need your private key on the computer that you want to use it with?  We have like ARM based computers that can like live on USB drive.  And I wonder whether that could just be like the super lockdown PGP like computer that you carry with you and then just plug in via USB to the laptop that you want to use PGP on  or NFC to the mobile device to just like be able to say like, hey, crypt this message.  Actually not even do the encryption on the machine on your like user device, but the actual PGP computer and just have it like send in plain text, do the back cipher text,  and then just have it do the delivery from there.  And that would help solve I think a lot of usability problems that are real as far as like file security, having to think about backup software, like all these other things.  It's one approach I think works. The other is just like better desktop software, mail pile, seems like it's promising and doing well for that.  Again, as long as private keys remain as files, you're going to have to have that file in like one place really secure where you're going to have to like learn and become a security expert.  So yeah.  Any other questions?  Thank you.
DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_0_2075.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_2076_6887.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_6888_8003.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_8004_14051.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_14052_14951.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_14952_15011.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_15012_15059.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_15060_15143.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_15144_15791.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_15792_15983.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_15984_16127.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_16128_16919.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_16920_18335.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_18336_22067.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_22068_31319.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_31320_34871.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_34872_39059.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_39060_41951.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_41952_42035.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_42036_46103.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_46104_47543.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_47544_51455.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_51456_53939.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_53940_54491.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_54492_56687.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_56688_62027.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_62028_62087.png DEF_CON_23_-_David_Huerta_-_Alice_and_Bob_are_Really_Confused_pkh7gUm82QY_62088_65511.png