We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

CRYPTO AND PRIVACY VILLAGE - Green Locks for You and Me

00:00

Formal Metadata

Title
CRYPTO AND PRIVACY VILLAGE - Green Locks for You and Me
Title of Series
Number of Parts
322
Author
License
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.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Domain nameEncryptionTheoryCryptographyDifferent (Kate Ryan album)Graphical user interface
WebsiteWebsiteBlogTransport Layer SecurityGraphical user interfaceComputer animation
Graphical user interfaceInformation securityTransport Layer SecurityGreen's functionMereologyINTEGRALQuicksortPoint (geometry)WebsiteDomain nameComputer animation
Direct numerical simulationWebsiteDomain nameInheritance (object-oriented programming)Sinc functionServer (computing)CuboidWeb pageTouch typingPublic key certificateComputer animation
Convex hullBitPublic key certificateEmailTransport Layer SecurityWebsiteMultiplication signEncryption
WebsiteEncryptionPublic key certificateService (economics)Computer configurationSet (mathematics)Computer configurationWeb pageDirect numerical simulationWebsiteEncryptionComputer animation
FreewareError messageDirection (geometry)Domain nameQuicksortPublic key certificateUsabilityMereologyBitBlogService (economics)
Public key certificateTime domainGreatest elementBlogDirection (geometry)EncryptionSoftware repositoryComputer animation
Virtual machineMedical imagingHand fanComputer fileLocal ringWebsite
RootSoftware repositoryRootComputer fileDomain nameSet (mathematics)Direct numerical simulationSerial portWebsiteTransport Layer Security
Surjective functionDirect numerical simulationProgrammable read-only memoryInternet service providerDirect numerical simulationDirection (geometry)BitWordLevel (video gaming)Domain name
Set (mathematics)Direction (geometry)EmailPoint cloudWeb pageEncryptionComputer animation
Time domainEmailDomain nameEmailQuicksortContext awarenessRow (database)Hydraulic jumpFrustrationSet (mathematics)Causality
EmailTime domainAddress spaceIP addressEmailUniform resource locatorRight angleMathematicsDomain nameRow (database)MultiplicationService (economics)Direct numerical simulationFlagSlide ruleTwitterComputer animation
Key (cryptography)EmailTime domainServer (computing)EmailMereologyMobile appDirect numerical simulationBitOnline helpDomain nameKey (cryptography)Internet service providerComputer animation
Message passingAuthenticationEmailTraffic reportingEmailElectronic signatureQuicksortBlock (periodic table)Traffic reportingComputer animation
EmailCompilation albumMail ServerTraffic reportingGraph (mathematics)Public-key cryptographyEmailBlock (periodic table)Domain nameGreen's functionIP addressComputer animation
GoogolBlogMobile appSuite (music)Domain nameBitComputer animation
Server (computing)Set (mathematics)PlanningFreewareDifferent (Kate Ryan album)BitRow (database)Server (computing)Point cloudDirect numerical simulationSet (mathematics)Domain name
Mobile appKey (cryptography)EmailDirect numerical simulationDirect numerical simulationSet (mathematics)EmailQuicksortPublic-key cryptographyRow (database)Computer animation
EmailMobile appInfinite conjugacy class propertyDirect numerical simulationKey (cryptography)Web pageOnline helpUniform resource locatorSuite (music)Domain nameType theoryRow (database)Direct numerical simulationBlock (periodic table)Computer animation
Graphical user interfaceRow (database)Direct numerical simulationKey (cryptography)String (computer science)Domain nameRow (database)Direct numerical simulation
Row (database)Graphical user interfaceDirect numerical simulationDomain nameKey (cryptography)Set (mathematics)Direct numerical simulationPublic-key cryptographyType theory1 (number)Row (database)QuicksortOnline helpComputer animation
Direct numerical simulationSet (mathematics)Direction (geometry)Online helpString (computer science)Domain name
Set (mathematics)Key (cryptography)Time domainSign (mathematics)Domain nameKey (cryptography)Volume (thermodynamics)EmailEnterprise architectureFreewareInheritance (object-oriented programming)Sheaf (mathematics)Computer animation
Sheaf (mathematics)Sheaf (mathematics)Computer configurationBlock (periodic table)EmailMessage passingGraph (mathematics)Traffic reportingRow (database)Filter <Stochastik>Computer animation
EmailRow (database)Direction (geometry)Traffic reportingFlagEmailComputer animation
EmailComputer configurationAddress spaceEmailRow (database)
Row (database)EmailTraffic reportingComputer animation
EmailEnterprise architectureSpacetimeDomain nameSet (mathematics)FlagComputer animation
Domain nameState of matterView (database)Computer animation
Information Technology Infrastructure LibraryMultiplication signFrequencyDomain nameHand fanEmailBitComputer animation
File viewerIP addressSpacetimeMultiplication signComputer animation
EmailRange (statistics)MultiplicationPlanningComputer animation
Video gameGreen's functionEmailOnline helpSet (mathematics)LaptopMessage passingComputer animation
Mail ServerWeb pageEmailType theoryInformation securityFlagServer (computing)Computer animation
Transport Layer SecurityInformation securityEmailServer (computing)EncryptionEmailSet (mathematics)Information securityDomain nameWeb 2.0Transport Layer SecurityElectronic mailing listComputer animation
Slide ruleTraffic reportingUniform resource locatorEncryptionSet (mathematics)EmailMusical ensembleComputer animation
Transcript: English(auto-generated)
Our next talk will be by the wonderful Wendy Knox Everett, she's gonna be speaking to us about green locks for you and me. Well, hi everybody, can you hear me? Cool. So this is going to be a little bit different than some of the other cryptovillage talks. It's not about encryption theory or anything, this is going to be about using encryption for
your own personal domains if you have one. So, pretty recently, um, Chrome made a change, uh, they've been driving towards, uh, securing everything on the website with TLS and they had been labeling secure sites with a little green lock, which is where the title of my
talk came from, but they just recently made an update such that non-secure websites now are explicitly labeled as not secure. They have a really cool blog post about this, this is just, uh, about, I guess at this point 3 weeks ago, um, where they wrote about how this is part of their goal towards driving to securing everything with TLS. So TLS is really
important because it's, um, basically makes sure that the integrity of the website, um, is preserved. I'm not gonna go too much into TLS, I'm assuming if you're in a nerdy talk about green locks, you know what TLS is, uh, but we're gonna sort of dive into, um, using
this for some of our own personal domains. So this is my personal domain, uh, I have had a website since, like, the early two, actually I've had a website since, like, 1995. I've had my own domain since the early 2000s and it was just running on a Linux box that I was paying space for and I really didn't touch it. If you, like, go look at it, assuming my
DNS is not horked, um, it is a super, super simple, like, plain HTML page and I kept being like, yeah, I should actually do something about it because I'm such a big TLS advocate and my own personal website is not secure. And I kept being like, well, it's kind of a pain in the neck if you have, like, a two HTML page website on a very, uh,
crufty old Linux server that you're just renting from someone. Like, this is a pain in the neck, how am I gonna do this without, uh, basically spending hours on it because I don't have hours to do. So I ended up getting a, uh, TLS certificate for my website and
we're gonna run through that quickly and then I'm gonna end up spending the bulk of this time talking about email security because that's one that was actually a little bit more difficult to, to set up. Um, so Let's Encrypt is probably the most famous way to do this. I'm actually not going to talk about that method because I host my website now on
GitHub pages which is free, which is awesome. I don't pay anything to host my little tiny, uh, HTML pages. Uh, and when I set it up, they were not yet quite support, like, officially supporting Let's Encrypt, so I use Cloudflare. So my DNS is over there. There's lots of other hosting options out there. You can use WordPress as another very common one. Um, but I like GitHub pages because I already had a GitHub account. Um, I
like GitHub desktop as a tool to push things up. This may be a little worry here. This is, uh, showing the certificate that's on my domain, um, and it's a Cloudflare one. So I'm gonna go pretty quickly through how I set this domain up. Uh, GitHub does not have
the best directions unfortunately, which is part of what drove me to do this talk. This entire experience was a lot of trial and error, and I'm pretty nerdy. So I wanted to sort of document my path through as I did this for people to go back, um, and try again. And if you're at GitHub, I love your service. Please, uh, make your
documentation a little bit more user-friendly. So they have a blog post, uh, where they announce the Let's Encrypt stuff, and the directions at the bottom are what I followed. They're still pretty, uh, up to date. So you start out by creating, uh, a repo, and you just name it whatever your username is. Uh, my GitHub username is wendyck. Uh,
then you check it out in local machine. I'm a big fan of GitHub desktop. I like command lines, but the desktop thing makes it very nice to see, like, the graphical diffs and everything. Uh, and you move over your files. You can see I have, like, two HTML files and a couple of images. I have, like, the world's dumbest website. This is one of the first, like, not even tricky, but, like, slightly arcane
things you have to do. You create a text file called CNAME at the root of the repo, and you're gonna check that in. Then we're gonna go to settings, and we're gonna scroll down, and we're gonna add the custom domain. Uh, you can see that GitHub
thinks that my domain is not currently working. This is why I was joking about my DNS being horked. I grabbed this screenshot this morning, so I realized I'd forgotten this step. Uh, and of course, it now thinks my site's not secure, even though it is, and the redirect is actually working. So, DNS screws up everything, even when you're trying to give a talk on, uh, TLS. Uh, it is actually still working, so I'm not sure why GitHub thinks it's not. Uh, one of the
things that tripped me up a little bit is because I'm not really a DNS person, uh, was I didn't know what the word apex domain meant. It just means a top level domain, like example.com. For me, it's wendyk.org. And I was talking about, like, apex domains, and I'm like, well, I don't know what that is, and so I don't think that I have
that, but I do. Uh, so that's just a terminology that GitHub did not really particularly define very well. Um, I thought I had, like, a subdomain, like, www.wendyk.org, but I don't because I own the domain. So, they basically are gonna tell you to point to this, here's my DNS settings, I am copying their directions
and putting it in, and boom, I have a secure website, it's pretty cool. Uh, although it will take, it took, like, 48 hours, so I have to propagate out. Um, but that is essentially how you use GitHub pages with Cloudflare, the Let's Encrypt setup is almost identical. Um, you're just creating, uh, basically that CNAME, um, and you're
telling in the setting that this is gonna be a secure one. So, email spam is a big problem. Uh, I used to work in email marketing way back in the day, um, and kinda knew what SPF was, and so forth. Uh, and I've had my domain on Google Apps, uh, since it came out, and so I was kinda lazy about this whole thing, I'm like,
surely Google is taking care of this for me, I pay them $5 a month, I just use Gmail for my domain, I've not configured a damn thing, I'm sure they're on top of this. And then, um, I kinda started thinking, like, wait, no, to use SPF, you have to set domain records, uh, and I don't think Google can go set my domain records, and I
was like, maybe I should look into this, cause maybe my email is not half as secure as I think it is, or like, my email is secure, but like, my domain could be used to spoof, and because I have a very old .org domain, it's actually somewhat valuable for spam, so I was like, I should probably take care of this, and then fell down the, uh, email security rabbit hole, it took me about 3 weeks to get this to all
work, uh, and so that frustration kinda drove wanting to do this talk, to just lay out my path through setting this up, and sort of raising awareness for people to realize that you do have to go through some of this. So we're gonna do a nice jump into 3 technologies, SPF, DKIM, and DMARC, uh, and they all work together to keep people from
spoofing your domain when they send spam. So SPF is pretty old, uh, when I worked on email marketing from like 2002 to 2006, uh, SPF came out, I wanna say maybe in the middle of that, like, it was definitely around then, this is not a new technology. It
essentially allows you to publish a DNS record that says for this particular domain, like for wendykay.org, only a handful of, uh, IP addresses can send email, if you're getting email that is from any other IP address and purports to be from this domain, you should flag it spam. Um, and also I'm gonna, I'm gonna publish these slides to my
Twitter account right afterwards, so don't worry too much about capturing the URLs, I've got a whole, like a end slide of URLs for all of you too. Um, but the problem with this is that it requires every single person who receives email to go do that look up, people are lazy, it also can be kinda brittle, um, depending on your setup,
like at the IP address that is sending email changes, it can be a problem, um, people who send email from multiple places, like if you have your company's email and then your company's also sending marketing email under that, maybe through like a mail service or so forth, you have to remember to keep these all up to date. DKIM is the second part of this, it's kinda cool, we can cryptographically send our emails without
doing a darn bit of work besides entering a DNS key. Uh, Gmail works very well with this, so if you're just using, um, Google apps in your domain, they'll help you generate the key, which you're about to walk through, um, and you publish it. And these are gonna work with DMARC, um, to basically help you, uh, prevent people from
spoofing. Um, because it's a little tricky, it's not actually super widely, uh, adopted yet, this is still somewhat niche, uh, the big providers like Gmail and so forth are using it, um, but JoeQ mail server may not yet support DKIM. This is the headers from an email I sent myself the other day and I just pulled out the DKIM, uh,
pieces of it, we can see I've got DKIM signature and xGoogle DKIM signature showing that the email was cryptographically signed. And finally, DMARC, you can think of as sort of a block and report, um, it allows you to publish a policy and to basically see what's happening with your email. You can't use DMARC until you have DKIM and SPF
setup, um, which I didn't realize when I started this, I like jumped into DMARC and I was like, okay, I don't understand what's going on here, what's happening and had to kind of back up and do the SPF and DKIM first. Uh, so this is kind of an overview of, uh, how DMARC works. Essentially, um, the receiver is doing a lot of the work
here. They basically get the email, um, they're going to go check, uh, DKIM the public key, make sure that this is working, um, they're going to verify that the SPF is set correctly, so making sure that, like, the IP address, uh, is al- that they got the email
from is allowed to send email for that domain, and then they're going to apply a DMARC policy, which is what we're going to go, uh, walk through. Um, and then they generate reports for you. You have very nice, pretty little graphs, so I've got lots of, like, nice red and green, uh, pictures of block spam coming up. If you're on G Suite, which is the Google Apps for your domain thing, uh, they have, uh, actually fairly
good, uh, support. Um, it was way better than GitHub's. And there's also this DMARC analyzer, uh, thing as a blog post that's also fairly decent that will walk you through how to do this. So this is a little bit jumping back, I mentioned I use Cloudflare for my DNS, um, so this is just showing that, uh, the place where I registered my
domain, I am pointing to Cloudflare DNS servers, and I'm going to do all my DNS settings through Cloudflare. I'm just on a Cloudflare free plan, I'm not paying them anything. Um, and there's 3 different DNS records that we're going to go set up. So first, we want to generate the DKIM, uh, public keys. This is basic public key
cryptography, um, they're going to keep the private key, I'm going to publish the public key out in my DNS records, anybody who gets email from me can go check it. And in G Suite, you basically have to sort of hop down in through a couple settings to get it. Um, you would probably want to, oh it's probably back to the G page, uh, check the G, the G
Suite help pages before you do this because they do like to basically rebuild their dashboard and this could move. Uh, as of the other day, it was still at this location. And this is what it looks like. Um, it's going to generate a TXT record value for you, and TXT is a type of DNS record that just allows you to publish a block of
text. The name of it, as we saw, is Google underscore domain key, and the value starts, uh, with this V DKIM, it goes out, um, K is RSA, we're telling it's an RSA key, and P equals, um, that whole big long string. So I go to Cloud4DNS entry, up at the top,
there's a way to add a new record, I tell it I want a text, so for name, I put in the Google underscore domain key, for value I paste in that whole big value, and voila, I have the first of my required, uh, DNS settings up here. So I'm not going to dive too
deeply into, uh, all of the DKIM tags, uh, the only required one here is P equals, which is your public key, um, if you don't have that in your DKIM, uh, TXT record, you do not have a valid one. All these other ones are optional, uh, the only ones that I'm
using, um, I believe are, uh, like the K equals RSA, and I think we have V equals, uh, so those sort of help it figure out what type, uh, key your public key is. So next we're going to do the SPF settings, um, again, Google has pretty decent help for this, it will tell you exactly the string that you need to copy and paste into your DNS
setting, you just, uh, follow their directions, copy it, paste it in, so now we have two DNS settings published. And so now we're ready to set up some DMARC domain keys, this is the fun stuff. Uh, I use DMARCian, if you have a personal domain and you don't have a lot of email volume, this is great because it's free, you're going to see later, like, my
super low email volume, I just don't send very much. If you're a company, it's also really cool, I know some folks who have enterprise accounts are very happy with it, um, you do have to pay for those, but you have to be sending a significant volume of email before you're paying for it, so if it's just your personal domain, you're probably going to be fine on the free one. They make you sign up first for a trial, and
then, um, they'll tell you if you can remain free after two weeks, like, you're probably going to remain free. Um, so they have a whole section that's going to walk you through how to add DMARC. These are all the DMARC options here. Um, the PCT is going to be the percent of messages that we're going to be doing this filtering. Some people
like to start out with just subjecting 10% of their sent email to it. I sent such little email that I just immediately sent it to 100%. The, um, RUF and RUA are used for reporting. We're going to see some, uh, reporting options that I get from DMARC-ing, so I, DMARCian, so I can see, like, very nice graphs of block to email and so forth. Um, and
if you're using DMARCian, they will tell you what email value to put in. The P is a policy. You can be doing, um, quarantining or blocking, um, or, and I'm spacing on the name of the, uh, like, don't do anything, just let me see what's being sent option. So, there's three options there. Um, this is my, uh, DMARC, uh, TXT record. I went to
Cloudflare and I put it in. So, DMARCian has fairly good directions. Um, P equals none is the, like, don't do anything, I just want to see what's out there. I, it's a good one to start with. Um, once you have, like, your reporting working, um, and
DMARCian has, like, a little issue tracker and it tells you, like, hey, things are great, it's not flagging any issues, which for me, it was flagging, like, I didn't have SPF set up at first. Then you can move to quarantine, which means, like, hey, flag these things as spam, and then once you have that, you can move to reject, which means, like, don't allow this mail to get sent. Reporting is really fun. The RUA equals
option is where you set it. You don't have to use DMARCian, you don't have to use their stuff for it. You can put your own email address in here and do your own filtering and so forth, but I'm lazy and don't want to write my own tools, I'm using the free tools. They have a really nice thing called the DMARC record wizard. Uh, my DMARC
setting came out of this tool. It walks you through, it basically prompts you, like, what do you want to do, do you want to be blocking, what percent of email, do you want to use our tools, or do you want to use another one? And they, as I've been mentioning, they have really nice reporting. Uh, so as I mentioned, you could use your own email in that RUA
tag. Uh, some people have, like, bigger enterprises, um, are doing that. Otherwise, uh, if you have the DMARCian email in there, it goes there, um, it will show, uh, where email from your domain is sent from. I've had some friends who have set this up and been like, whoa, where, where is that email coming from? Like, that's within our IP space
and we didn't realize that was sending email, so that can be kind of enlightening. Um, threat unknown emails that it flags are basically things that are not, um, within your SPF and they're not following your DKIM settings. So when you log in, you get this very nice domain overview. I only have one domain, my1dk.org. You can see right now, um, the SPF and the DKIM state are all set up because I published those keys and they've
propagated out. Uh, this is going into, um, essentially a summary, uh, view that they have. You can export as CSVs or so forth. This is an older screenshot. I had one day when, like, 36 spam mails were sent from my domain and we blocked them. Uh, it varies
immensely. Like, I've seen up to, like, 200 and then long periods of time with nothing, um, the long periods of time with nothing is a little bit more common now, um, because I've had this set up for a little while and I think that people are starting to decide my domain is not worth spoofing anymore. But it's really fun when you are getting
spammed to go in and, like, see, like, whoa, who's trying to spoof me? This is really cool. Uh, you can sort of dive into, like, the IP address space, look it up, see what country it is. Uh, it's very interesting. I lost a lot of time just poking at it because it was fascinating to me. Uh, the detailed viewer, this is from that day with a ton of spam and you can see also I'm a very light email user. I sent, like, four
emails on those days. This is well within the range of demarking and free. I could probably, like, quadruple or more my email, uh, sending volume and be quite fine on the free plan. This is what it looks like now. Uh, I've sent two emails over the last week, everything's green, nobody's trying to spoof me, life is great. Uh, demarking
and issues tab under monitor is super helpful. Uh, I took screenshots and I was trying to set this up and I lost them on my laptop so I don't have anything to show you but it would be a little, like, your SPF is screwed up, go fix it, uh, message, which I found incredibly helpful. Uh, so if for no other reason than for that, I
recommend you use demarking if you're setting this up. Uh, so finally I just want to touch on a couple other things. I am the world's biggest advocate of, uh, outsourcing your email. I did email, it's ridiculously complicated. I remember getting pages at 4AM when things went wrong so I do not want to do this anymore. But I have some
friends who, for whatever reason, like to run email servers in their basement. Uh, so if you're that type of crazy, uh, there's two things I wanted to flag for you. Uh, MTA strict, uh, security basically allows domains to require TLS encryption. Um, it's an interesting setting. StartTLS also allows your mail server to protect against
downgrades. They're building, um, a list of basically servers that, uh, are going to do this and it is basically going to be like, um, what happens with the web, with TLS? You can say, no, I only support TLS, like, please do not ground, downgrade me. And so finally, um, I have some slides or some URLs for you here. Uh, Aaron pointed out
that the FTC has a really helpful report on, um, why you would want to use, uh, these email, uh, encryption settings. If I haven't convinced you, like, blocking spammers is fabulous. You can go read about the FTC. Uh, these how to explain SPF, DKIM and
DMARC, um, are really helpful, uh, because I had to go very fast over them. And so, cool, that's the end of my talk. Thank you for coming.