a16z Podcast - a16z Podcast: Establishing Online Identity is Hard -- It Shouldn't Be
Episode Date: August 17, 2015As more and more of what we do for fun and work- happens online, establishing identity becomes ever more critical. Whether it’s for dating or sending money, you want to trust that not only are you i...nteracting with the person you think you are, but that your messages (or money) are in fact reaching the right person -- and only them. Sounds simple, but with an internet and computers in between, a lot can go wrong -- whether by accident or malicious design. A16z’s Chris Dixon, and Max Krohn, co-founder of the encryption startup Keybase, examine the problem in this segment of the pod. What makes cryptography so hard to use, what approach Krohn and the Keybase team are taking, and why crypto “key parties” are not what you might think. The views expressed here are those of the individual AH Capital Management, L.L.C. (“a16z”) personnel quoted and are not the views of a16z or its affiliates. Certain information contained in here has been obtained from third-party sources, including from portfolio companies of funds managed by a16z. While taken from sources believed to be reliable, a16z has not independently verified such information and makes no representations about the enduring accuracy of the information or its appropriateness for a given situation. This content is provided for informational purposes only, and should not be relied upon as legal, business, investment, or tax advice. You should consult your own advisers as to those matters. References to any securities or digital assets are for illustrative purposes only, and do not constitute an investment recommendation or offer to provide investment advisory services. Furthermore, this content is not directed at nor intended for use by any investors or prospective investors, and may not under any circumstances be relied upon when making a decision to invest in any fund managed by a16z. (An offering to invest in an a16z fund will be made only by the private placement memorandum, subscription agreement, and other relevant documentation of any such fund and should be read in their entirety.) Any investments or portfolio companies mentioned, referred to, or described are not representative of all investments in vehicles managed by a16z, and there can be no assurance that the investments will be profitable or that other investments made in the future will have similar characteristics or results. A list of investments made by funds managed by Andreessen Horowitz (excluding investments and certain publicly traded cryptocurrencies/ digital assets for which the issuer has not provided permission for a16z to disclose publicly) is available at https://a16z.com/investments/. Charts and graphs provided within are for informational purposes solely and should not be relied upon when making any investment decision. Past performance is not indicative of future results. The content speaks only as of the date indicated. Any projections, estimates, forecasts, targets, prospects, and/or opinions expressed in these materials are subject to change without notice and may differ or be contrary to opinions expressed by others. Please see https://a16z.com/disclosures for additional important information.
Transcript
Discussion (0)
The content here is for informational purposes only, should not be taken as legal business tax
or investment advice or be used to evaluate any investment or security and is not directed
at any investors or potential investors in any A16Z fund. For more details, please see A16Z.com
slash disclosures. Welcome to the A16Z podcast. I'm Michael Copeland. As more and more of what we
do for fun and work happens online, establishing identity becomes ever more critical.
Whether it's for dating or sending money, you want to trust that not only are you interacting with the person you think you are, but that your messages or money are, in fact, reaching the right person and only them.
Sounds simple, but with an internet and computers in between, a lot can go wrong, whether by accident or malicious design.
A16Z's Chris Dixon and Max Crone, co-founder of the encryption startup Keybase, examine the problem in this segment of the pod.
What makes cryptography so hard to use, what approach Crone and the Keybase team are taking, and why crypto key parties are not what you might think.
Chris Dixon starts us off.
So you and Chris co-founded Keybase, and prior to that, you guys were the co-founders of OKCupid and Spark Notes.
Can you just tell us a little bit about your background and how you started Keybase?
We started a little bit over a year ago just because we were convinced that in the future, people would really really.
see a need for mapping what they considered notions of identity that computers could understand.
Chris and I got together and we thought we had a pretty good background between the two of us
for tackling this problem. It's a problem that on the one hand has some cryptographic and
security components to it, as you can imagine. But on the other hand, it also has a lot of
social networking and social engineering aspects to it as well. And obviously, as
co-founders and long-time engineers and product designers at OKCupid.
We thought we got a lot of exposure in the past running that side of the business,
and that side of what we thought would be important in making PKK or a public key usable for more people.
And, you know, at OKCupid, though, it seems so obvious now at the time,
there was a lot of coercing people and more or less asking them to use their product
because they didn't think it was right for them.
That could have been because attitudes are different back then
or it could have been because the site
when we started it was too small.
So we basically spent about nine years
in OkCupid getting the site
so it would be big enough and work as a dating website,
more or less fighting with people the whole way
because it was hard to attract users
for a lot of OkCupid history.
If you look at crypto apps,
a lot of the same things are at play.
I mean, obviously people should be using this stuff
and it will definitely make their lives better.
The question is, do they understand that?
And can they be motivated to use the products?
So in that respect, we think that our experience at OCP is very helpful for moving
into something like getting crypto to be popular for more people.
There's a lot of common elements of user recruitment and user onboarding and making people
like the product, even though maybe they thought it wasn't for them when they first heard
about it.
So you said it's about, you know, obviously encryption and social identities.
Can you describe for people that don't know just what that means exactly, like in specific terms?
Yeah, sure things.
There are two things you really can do with this technology that's really fundamental and so deep in terms of what people might do online.
But let's just do with one of them first.
So one of them is this idea of encryption.
So, you know, Chris, imagine I want to send you a message over the Internet, and I didn't want anyone to be able to read it in between your computer and my computer.
So it doesn't matter what application I'm using.
It doesn't matter if we're video conferencing or sending email.
What really has to be done before we get off the ground is I need to convince my computer
that it's talking to you and that's someone who's pretending to be you.
And this is a big problem.
It's a social problem and that you could have a lot of people pretending to be you online.
And it's also a technological problem.
And that is if someone had hacked any of the social media accounts you own,
any of the things that you used to prove who you are, I mean, that would be a way that that
person could receive messages for you, even though they're intended for you. So the first thing
that any crypto really need for me to have a person in my head who I want to talk to, and then
tell my program, whatever computer program I'm using, to talk to that person and not someone
else out there. So that's what Keybase is trying to solve.
And before there were social networks, people would do this with these so-called key-signing
parties? Can you talk about this really? It sounds very primitive now, but it's funny because it was
the best practice until we had Twitter and Reddit and Facebook. Yeah, absolutely. So I think
the first attempt that public key crypto got off the ground in the 90s when there was the first
iteration of the so-called crypto wars. And I think back then, there was a lot of distrust of any sort
of infrastructure that wasn't just a computer you ran in your own home. And so what this means
is that if the people wanted to exchange identities, they would show up in person with a bunch
of random strangers and check each other's driver's licenses.
And all comes to the conclusion that the 20 people in the room with them were the 20 people
at the driver's license.
So you see the driver's license, and then you get the, and then that person shows the driver's
license gives you their public key, and then you take the public key with you,
and then you know from then on whenever you want to send a message to the person that you met
in person with the driver's license, if you can code it with that message with that key,
only that person can read it.
Yeah, that's exactly right.
Because the whole basis of all of this is you have to pair a person to a public key, right?
And so in the old days, or, you know, being the 90s, there was no way to do it or to people trust it except for physical, in-person, driver's license kind of parties.
Sounds like great parties.
Yeah, you can look at pictures of them online.
But, yeah, and, you know, that was like the first kind of level of the graph.
And if you go up a couple of levels, you'd say that, well, you know, Chris and I, you are not at the thesis.
signing party, but we know someone in common who was. And so in a way, it's a little bit
a friend of a friend type of graph. And that's so obvious now in terms of Facebook, but trying
to recreate that offline through these key signing parties. I think in retrospect, it was a really
cool idea that just never hit critical mass. It's probably one of the reasons why I failed.
Yeah. And so going back to you were describing Keybase, the idea then is that now I know you as,
you know, as Max Taco on Twitter, is that your Twitter handle, right?
That's exactly right, yeah.
Or let's say I want to communicate with a journalist who I follow on Twitter,
and I know his or her Twitter handle, or I want to share a file with someone I met on Reddit,
or I want to, or Facebook is an obvious one, et cetera.
You know, in some ways now the Twitter handle is almost more verification than their driver's license.
And so a lot of these people I interact with, at least on Twitter and other places all the time,
and I might read their articles in New York Times, I've never met them in person.
Yeah.
I'm not sure how much meeting in person would really add to the verification, right?
Yeah, you're totally right.
And as these online communities get bigger and more important to just the way we communicate,
the notion of identity is changing.
And so it's almost more important now what your online identity is more so than what your wallet says,
what your driver's license says, absolutely.
And so we're seeing more and more in the press.
It seems like almost on a daily basis there's a massive security.
issue, you know, everything from the Sony hack, which was Sony Pictures, had all of their email stolen and published online.
Apple, ICloud hack with a bunch of celebrities had their private photos stolen and put online.
The target breach, it just goes on and on.
Can you talk more so broadly about what you think is happening and, like, why is that happening and what do we need to do to fix it?
Yeah, I think for the last 10 years or last 15 years since the Internet has really caught on, we've been just building systems in the most obvious way possible.
The most obviously way possible is to just put a bunch of servers somewhere in a closet
somewhere and to do your best to make sure no one breaks into those servers and just put
all the important data in those servers and then trust you'll make the right decisions
of who to send the data back out to on the other end.
And that's the way, you know, all of the major social networks are built.
That's the way almost everything online that we use today is built.
And if you were to tell people 40 years ago that's the way we're building system,
they would have probably not been able to believe it.
They would have said, that is madness.
That is not the way you should build any system if you care about what's actually being put onto the server and being judicially released to people who are authorized to see it.
So the way we should be building systems is that if the server doesn't need to see the data or access the data that you're putting onto it, then it just shouldn't.
There's no reason why it has to see it, then the data should be not available to the server in plain text.
Yeah, basically the assumption has been that it's so-called perimeter defense, right?
Which is, as you say, you put it in the closet.
It's a big mess.
And once you get in the closet, it's, you know, you get everything.
But we hopefully will have the perimeter defended enough, meaning, you know, just sort of like the building, you've got these giant piles of gold sitting there.
But we have some security guards around the building.
And as long as they can do their job, we're great.
That was the model up until now.
And it turns out that there's people inside the building that are stealing the gold, that there's a whole bunch more ways inside than you think.
You know, one of the big things changes now is that.
A lot of the perimeter defenses were built under the assumption that people would be using kind of replicated attacks like viruses as opposed to customized attacks, which is what we're seeing now, where people are, you know, a gang of hackers are mapping out an organization and doing spearfishing and all these very customized attacks to get through the perimeter.
And then once they get in there, boom, you know, it's game over.
Yeah, exactly right. It's a perimeter with about a thousand different gates on it where maybe there are, you know, 30 people manning all thousand of those gates.
And it's a tough problem.
I mean, the more data you have, the more system-ins you probably need to run the service,
and the more likely one of those systemsans is going to just fall down and not do their task well.
So it's something I don't think that big cloud providers have the best intentions,
because in general I think they do, it's just that they've chosen to do a job that's basically impossible
that no one can really do relative to all the threats that are lined up against them.
With Keybase's architecture, so if I am a Keybase user, and we've talked about this publicly,
you're building some apps, some native client apps for mobile and for,
desktop that let people do text messaging and file sharing and things like this. If I use your
service and you guys get hacked, what happens? Can you explain how that's different with Keybase
versus kind of the traditional architecture? Yeah, that's exactly right. The basic idea of Keybase is
that whenever I send data to other people and I want the other people to receive it and know in
between, then all the infrastructure in between just is not able to see the plain text data.
They just get to see the encrypted data. And so what that means if I want to send a five,
to you, Chris, as I first look up your public key,
I encrypt the data with your public key,
and then put that encryption on the server.
So therefore, if anyone ever breaks into the server,
all they really get is a bunch of encryption.
And unlike with other systems,
the key you need to decrypt the data
is just not on the server.
The only person has a key is the phone in your pocket
or the desktop in your office.
And so, therefore, there's nothing you could do
in the server infrastructure or anywhere in between
to recover that message that I tried to send you
unless you've broken the crypto,
which we believe is basically not done yet,
that no one's been able to break the crypto.
This is a totally other way of building the system
where in the worst case scenario,
if everything about Keybase's and Restructure's blown wide open,
there's really limited damage,
and in fact, we don't think there'd be any damage.
And that's the way we're designing the system.
That's one aspect of it.
Now, if you have a more advanced attacker
who broke into Keybase
and sort of doing sophisticated things in our infrastructure.
Like, let's say, you know, Chris, you had decided to throw away your iPad and add an
new iPhone or something, and the server was supposed to propagate that message to other people.
And a sophisticated attacker might say, well, I can't read the data that Maxis was trying
to send Chris, but I can mess with other people so that they don't have the right
idea as to what Chris's devices are right now.
So that would be a slightly more sophisticated attack that someone could do if they owned
our servers, but we're also designing countermeasures for those types of the technology.
attacks as well. So once we eliminate the basic attack, we have to also eliminate these more
subtle attacks, but that's also part of the architecture that we're building.
There's often, one of the reasons things that security online fails is that it's hard to use,
right? I just think about my passwords, right? Like people should be using strong passwords
two-factor authentication. I think most people have been told that and know that. A lot of people
don't do that. And that's because it's a pain. You know, you can't remember these passwords.
They're hard to type. You have to log in all the time. Do you think it's just a fundamental tension
there, I guess, between usability and security.
And it feels like a lot of the security community just tries to push the burden onto users
and say, well, it's the user's fault for not doing all of these complicated measures
when, in fact, of course, the users mostly aren't technical and aren't security experts.
What do you think about that?
Well, I think you're totally right.
Let me just add my condemnation to the password system that probably many other people have mentioned up until now.
The idea that you type this string, and that's what identifies you, is really,
an old idea that probably isn't robust enough to deal with the current level of threats that we have
and also to be very useful on your iPhone, right?
When you're typing on a keyboard and you have to type a 12-letter passphrase,
you're probably not very happy at all when it's going on.
So one solution to the usability problem is just, first off, to harness the power of the devices that we're using more and more.
So I think the AgileBets product, one password does a really good job of this,
where they maybe they unlock your passwords for all the sites.
you use is that's your thumbprint on iPhone. And that's actually a really good solution because
it means that for someone to steal all your passwords, they have to steal your phone and also
be able to hack your thumbprint. So I think solutions like that are really good and potentially
a solution to the password problem. I think a key feature of such a solution is that to take
advantage of the technology that the devices are giving you and not just pretend the devices are
like kind of like a small version of your computer. So I think that's one thing that's going on.
I think that in a world in which Keybase has a lot of penetration,
you know, we might say the password is just the wrong idea altogether,
which you ought to be doing is signing a statement saying,
on Max, and I wanted to log into the service,
and the service would just have your public key,
you know, Max is identified with this public credential,
and as long as he's able to sign the statement with the corresponding private key,
I'll let him into the service.
And so that's actually a far superior way to log into a system.
And, you know, programmers who use SSH have been doing this for years.
They don't type passwords anymore.
They just do private key signing when they sign it to servers.
And this is something that everyone should have access to, not just programmers.
And so that's one of the real promises of getting public key crypto in the hands of more users,
that, you know, something that just as basic as passwords now become no longer important
and hopefully authentication becomes a lot easier.
That's one of our many hopes for eBay.
You're planning to release your applications as open source and let other people build apps on top of Keybase.
Can you talk about kind of how you think about that and how you think about sort of the open source community and developer use cases?
The first thing that's really important for us is that because we're building software that we think people need to trust.
There's no possible way that people can trust us unless they get to see what the code actually is and how the software we're writing is using crypto and is using the various things that we talked about.
verifying your public identities.
And unless people have the ability to look inside the software and verify that it's doing
what we say is doing, there'd be no reason for anyone to trust us.
So I think for that one reason alone, it's crucial that as we build Keybase or as people
build security apps, that they're able to look inside the application and see exactly how
it works.
So, I mean, and that's just one thing I can say for the philosophy that we have on the team
in terms of building Keybase.
The other thing is that, I mean, we've got in a really good response so far with just our little demo app that we've been running from open source contributors and people who use open source tools all day and obviously would like to contribute and would like to look into how our code is working and build their apps on top of it.
And if we were to just kind of do the old-fashioned thing, it just distribute a closed source binary that people couldn't really cry into, we'd be cutting off all that goodwill and all the willingness for people to experiment with the software and built stuff on top of it.
So that's the second thing.
And I guess to be a little bit more specific, what people want to build with KeyBase,
I think there's so much work that we're putting into getting this thing to work properly,
both in terms of verifying your public identities and managing your secret keys,
that this is just basic plumbing that you need nowadays to build a good application.
And so we really hope that a lot of other app developers can exploit all the work,
exploit might be the wrong word, but benefit from all the work that we've done
without having to reinvent itself.
And, you know, I think the status quo is now, I mean, a good analogy would be like, you know, hey, you want to write Photoshop with photo sharing, you know, you first have to implement TCPIP before you can get that done.
I mean, that's kind of the world we live in right now with regard to crypto.
So if you wanted to, you know, make a Photoshop plug-in where potentially you want to share photos secretly with your friends, then you'd basically be up as ugly level of having to re-implement a lot of stuff that you don't care about that doesn't make any difference to you in terms of not.
application developer. So we want that to be available at service or a library. We spent a lot of
time just dealing with what's probably being called now gross hacking. And so, you know, a lot of the
ideas we had towards making OKCupid digger had very little to do with dating. We had to do with
all such other things that we could entice people to show up at OKCupid and then kind of route them
into a different part of the service they were using that turned out to be dating. That was like
the OKCupid experience. That's basically what we did for six years before people had heard about
We have to come up a lot of different independent growth hacks.
And, you know, what does it take to get to crypto or security into more people's pipelines?
Well, or workflows.
I think the first thing that you've got to get right is you have to have the software, you know, and work well,
even if the person you're trying to communicate with hasn't signed up yet.
And I think that's where a lot of crypto software just dies.
It's like basically step one.
And we have to get that experience right,
and we have to get that experience common enough for people to use
that they wind up bringing the people,
recruiting people for us by way of the application.
And I think there's just no other way to get a service like this
to get good adoption.
And so that's been one of the huge problems with PGP up until now
that the typical experience is you try,
you say, okay, this week I'm going to move all my email to PGP,
and Monday at 930 to say, oh man,
And the first person I want to email doesn't use PGP.
What do I do now?
I need to say, well, I guess this experiment failed.
And so that's something we can't have happened.
We have to really allow the operation to go through as far as possible,
as far as the sender is concerned,
and then get the receiver onboarded also with minimum friction.
And I think unless an application does that, it's doomed to fail.
So that's part of the challenge.
And that's kind of where the usability experience from OKCupid is really coming in
in terms of what we're building.
I think we're intending for the first users of this product to be programmers and technical types.
And that's not our long-term vision, just to be limited to that audience,
but we think as a primary set of users, and we already have a small set of users of our current kind of trial products online now.
They tend to be security professionals, crypto professionals, programmers.
But we think there's tens or hundreds of millions of people who meet that description,
people who know that they should be using crypto
and they know that they should be encrypting,
but just don't have the first idea
or don't have the first clue as to where to start.
And you can ask anyone who's programmed before,
like, you know, have you ever used GPG?
Have you ever read the man page for GPG?
And they'd look at you like, of course not.
I mean, are you kidding me?
And it's not because the software is like,
the software does his job really well,
but it's just not for anyone
but the most sophisticated computer practitioners now.
And so we want to just bring that bar
way, way, way, way, way down. So even if you know you should be using PGP or something like it,
we're going to do all the heavy lifting for you, and you're just going to basically use the tools
you used to use much the same way you did before. So that's part of the vision right there to try to
go after people who are, you know, technologists are slightly technically savvy. And from there,
we think there's obviously the possibility to go out a lot further, but that's definitely the group
we want to try to start with. All right, Max. Thanks a lot for your time. Thank you, Chris. I enjoyed it.
Thank you.