[00:04.190 --> 00:10.330] Hey, everyone. If you're anything like me, your missed calls list looks a lot like this. [00:10.930 --> 00:17.330] And I know I'm not unique. You know, the average person gets about 14 unwanted calls every month. [00:17.330 --> 00:22.810] And you might notice that some of these in my call list are flagged as spam, which is somewhat useful. [00:23.090 --> 00:28.710] But what if we could actually start to verify callers? What if we weren't just flagging things as spam [00:28.710 --> 00:34.410] and potentially harmful, but actually doing the opposite and saying, hey, you can trust this call. [00:34.830 --> 00:40.770] We already do this with websites. We already do this with emails. Why can't we do this with phone numbers? [00:42.130 --> 00:46.550] The good news is the short answer is that we can. And I'm going to be telling you about this [00:46.550 --> 00:52.390] TLS-like technology that's been developed to solve the call authentication problem. [00:52.390 --> 00:57.750] It's called Shake It and Stir, and we'll be diving into the history of why this is a problem, [00:57.750 --> 01:03.690] some definitions and technical details of the spec, how the U.S. is going to enforce implementation. [01:03.690 --> 01:07.630] Unfortunately, a lot of this is specific to North America right now. [01:07.690 --> 01:11.590] But we'll also be diving into the limitations of what this technology is, [01:11.590 --> 01:16.690] one of those obviously being that it's not applicable to the rest of the globe yet. [01:17.390 --> 01:21.630] So my name is Kelly Robinson. I have been working at Twilio for about three years. [01:21.630 --> 01:25.870] Twilio offers a lot of communication services, including a lot of stuff around telephony. [01:25.870 --> 01:30.370] I actually work on Twilio's account security products for things like phone verification, [01:30.370 --> 01:35.170] but this was just something that I got really interested in in terms of what the telephony security [01:35.170 --> 01:38.890] of actually authenticating call systems was. [01:39.030 --> 01:44.030] So we have a separate team that I'm not involved with at Twilio that is working on implementing some of this stuff, [01:44.030 --> 01:48.430] but this is just some of my own research into what this is, how it works, [01:48.430 --> 01:54.630] and hopefully I can share that with you in somewhat of an introduction to what Shake and Stir is. [01:56.410 --> 02:00.350] So let's start with just talking about what telephony security even means. [02:00.350 --> 02:07.750] Security is in quotes there very obviously because basically there wasn't a lot of security when telephony got started. [02:07.750 --> 02:14.430] There was a monopoly of companies, and even as recent as 30 years ago, the network basically looked like this. [02:14.430 --> 02:19.250] It was private. It was closed. There was proprietary technology everywhere. [02:19.250 --> 02:22.950] There were just a couple of companies, and they all basically knew how to trust each other. [02:22.950 --> 02:28.210] They all knew who they were dealing with, and they all had direct lines of communication with one another. [02:28.910 --> 02:32.810] And if you compare that to today, there's literally thousands of companies. [02:32.810 --> 02:35.710] It's really easy to access this technology. [02:35.850 --> 02:39.570] There's more standard technology now built on top of IP, [02:39.570 --> 02:45.330] so you don't have to have this kind of proprietary technology and a lot of infrastructure to get started. [02:45.330 --> 02:49.070] And there's all these potential paths and routes for a call to take. [02:49.070 --> 02:54.790] And you can think of the difference in accessing the telephony network like you would in deploying a website today. [02:54.790 --> 03:00.250] So this is kind of the difference between having your own on-prem hardware, your own servers that you're running, [03:00.250 --> 03:05.710] versus today you can use something like AWS to get up and running very quickly. [03:07.150 --> 03:12.710] And before we dive into this a little bit further, I do want to give a little bit more context on some telephony jargon. [03:12.710 --> 03:18.290] If you aren't familiar with telephony like I wasn't before I started working at a telephony company, [03:18.290 --> 03:24.590] I'm starting with the PSTN. So this is the analog and digital systems like cellular networks, [03:24.590 --> 03:27.910] undersea fiber optic cables, and copper telephone lines. [03:27.910 --> 03:31.570] This is what allows people across the globe to complete voice calls. [03:32.030 --> 03:36.170] Something that you might have heard of before is VoIP, and this is the voice over internet protocol. [03:36.170 --> 03:41.170] This is what a lot of mobile infrastructure and businesses are actually using now. [03:41.290 --> 03:43.310] And so this is what people are moving towards. [03:43.310 --> 03:47.650] This is kind of the standard technology that people have more access to now. [03:47.650 --> 03:51.150] But it can also interact with the PSTN. [03:51.770 --> 03:57.230] And then finally SIP is a way to initiate IP phone calls and other communications. [03:57.230 --> 04:00.990] You can kind of think of it like an HTTP request for phone calls. [04:00.990 --> 04:05.410] It contains metadata and instructions about where a call is both coming from, [04:05.410 --> 04:09.290] who it's going to, and some other data about what the call should be. [04:09.390 --> 04:16.370] And the important thing to note here is that SHAKEN and STIR will only apply to SIP initiated phone calls. [04:17.510 --> 04:20.010] And so let's kind of talk about what the problem is here. [04:20.010 --> 04:25.190] And I specifically frame this as unwanted robocalls because not all robocalls are bad. [04:25.190 --> 04:29.610] So you can think of things like prescription pickup notifications, food delivery services, [04:30.070 --> 04:33.150] things like the school has a snow delay type thing. [04:33.150 --> 04:35.650] There's reasons to automatically dial. [04:35.650 --> 04:40.030] But we do know that most of the robocalls that we get aren't that. [04:40.030 --> 04:41.330] They're spam and that's bad. [04:41.330 --> 04:46.030] And so we wanted to focus on the greater problem of the unwanted robocalls here. [04:46.030 --> 04:51.870] And the reason that this is a problem, it's gotten super common in the last 5 to 10 years for a few main reasons. [04:51.870 --> 04:54.030] First, there's a lot of cheap dialers now. [04:54.030 --> 05:03.650] It's really easy to do this automated dialing in an efficient way that actually makes spam and fraud more both efficient but also profitable. [05:03.930 --> 05:07.530] And second, there's over 4,000 service providers in the U.S. alone. [05:07.530 --> 05:14.050] And that makes it easier to access and also gives you more options to access the PSTN. [05:14.050 --> 05:19.430] And third, there's no validation or authentication on who is placing a call. [05:19.630 --> 05:22.810] So you can basically set the from number to whatever you want. [05:23.010 --> 05:27.190] So there's an app that I downloaded on iOS that just lets you spoof phone numbers. [05:27.270 --> 05:29.610] And you don't really even have to know how SIP works. [05:29.610 --> 05:34.890] There's a way that you can do this with some SIP knowledge that's even more cheap. [05:34.890 --> 05:43.210] But there's these consumer applications that you can download if you're an iOS or Android user that you don't have to have any technical know-how. [05:43.210 --> 05:48.690] You just have to believe me. And this is a call I placed to myself from 867-5309. [05:50.190 --> 05:53.650] So you might be asking, like, why isn't this just illegal, right? [05:53.650 --> 05:59.030] And the main reason is that because there are some legitimate use cases for spoofing phone numbers. [05:59.030 --> 06:07.790] So nowadays, the practice for companies like Uber or DoorDash or something like that, they'll proxy phone calls through a third number that connects individuals. [06:07.790 --> 06:15.510] So when you call your Uber driver, when your DoorDash delivery person calls you, you're not getting a phone call from their number. [06:15.510 --> 06:20.370] You're getting a phone call from a third party, a number that's being proxied in between you. [06:20.370 --> 06:24.630] And that has privacy use cases and also some cost-saving measures. [06:24.630 --> 06:26.630] But it wasn't always like that, right? [06:26.630 --> 06:35.350] And so you also had enterprise systems or private branch exchanges that might be placing a call to a customer from an individual agent's line. [06:35.350 --> 06:39.290] But they want to display something like the toll-free callback number. [06:39.370 --> 06:41.270] And historically, those were just spoofed. [06:41.270 --> 06:46.170] You would say, hey, this isn't coming from me, Kelly. This is coming from my organization. [06:46.350 --> 06:51.050] And I want to make sure that you see this phone number in case you need to call that back. [06:51.050 --> 06:55.250] And these systems still exist, so we can't just outlaw this completely. [06:56.210 --> 07:01.610] In fact, the New York Times actually spoofed their From number until 2011. [07:01.610 --> 07:04.350] And it was one of those things to help protect their sources. [07:04.350 --> 07:10.550] If journalists were calling from their desk phones, they didn't want to necessarily be calling from an individual journalist's phone. [07:10.550 --> 07:14.750] But they now actually will use a 212 number that you can call back. [07:17.410 --> 07:19.790] We did introduce some legislation to address this. [07:19.790 --> 07:22.750] The 2009 Truth in Caller ID Act was what did that. [07:22.750 --> 07:27.010] So, again, this is only about 10 years old that we started to really think about this as a problem. [07:27.010 --> 07:32.690] But we can't completely ban call spoofing because of the legitimate ways that businesses are still using it. [07:32.690 --> 07:38.750] So, legislation specifies that it is illegal to spoof numbers if there's that intent to defraud. [07:38.770 --> 07:42.870] But there's also this enforcement struggle with this because the network hops. [07:42.870 --> 07:47.490] It might take 5 or 10 service providers before you know who actually initiated the call. [07:47.490 --> 07:54.130] And they might or might not be able to tell you about the caller because they're placing calls on behalf of many, many customers. [07:54.230 --> 07:57.970] And so tracking down a spammer takes a lot of time and effort and, therefore, money. [07:57.970 --> 08:00.690] And that makes enforcement of this really hard. [08:01.290 --> 08:05.910] So, that brings us to the solution. That brings us to SHAKEN and STIR and what we're here to do. [08:06.250 --> 08:09.830] SHAKEN and STIR are the most egregious of acronym crimes. [08:10.230 --> 08:15.770] So, SHAKEN is the signature-based handling of asserted information using tokens. [08:16.230 --> 08:20.190] STIR, again, is Secure Telephony Identity Revisited. [08:20.250 --> 08:28.310] It does get worse. There's a proposal out there for Lemon Twist, but we're not even going to look at that because I think people are just getting a little too creative. [08:28.310 --> 08:42.710] But, basically, as the FCC describe it, what SHAKEN and STIR does, calls would have their caller ID signed as legitimate by the originating carriers and then validated by the terminating carriers before reaching consumers. [08:42.850 --> 08:47.050] And so this is where it comes into that TLS-like authentication. [08:47.050 --> 08:58.710] You are signing calls as legitimate and then the terminating service provider would then display some information to the end user signifying that calls can be trusted and they were not spoofed. [08:58.710 --> 09:02.690] We're not reinventing the wheel here. We're borrowing from other web authentication. [09:02.690 --> 09:08.130] Things like public key infrastructure, certificates, JSON web tokens are all being used for this. [09:08.150 --> 09:14.350] And it's very similar to emails DKIM and DMARC, which basically authenticates the from sender in an email. [09:14.350 --> 09:26.950] And so a lot of the work that was done on SHAKEN and STIR was done in conjunction with some of the authors from DKIM and DMARC as a way to kind of set best practices for this type of communication. [09:28.110 --> 09:34.010] And this is a simplified view of the end-to-end system, what happens with the SHAKEN and STIR signed calls. [09:34.010 --> 09:42.530] So the signing service includes some public key infrastructure, key management, and it will be up to the originating service provider to do the key management there. [09:42.590 --> 09:54.130] And so calls are routed in a few ways. So basically between the originating service provider and the terminating service provider, you might remember from that early slide that there's like all these kind of routes that a call can take. [09:54.250 --> 09:59.510] And the way that that happens is there's something called the LNP or local number portability. [09:59.510 --> 10:11.650] And this is what people are using to both track whether numbers have been ported between carriers, but it also works as kind of a DNS-like lookup to look up phone numbers so that you can then route calls to the right service provider. [10:11.650 --> 10:20.910] And usually the originating service provider, it's up to them to basically do this routing, the onus is on them to decide on the route that a call is going to take. [10:20.910 --> 10:30.470] They're usually using something called least cost routing. You know, Twilio uses like an inter-exchange carrier. There's vendors that allow you to do this to route calls. [10:30.510 --> 10:42.490] I don't want to get into that too much, but basically when it is being passed through the other service providers in the middle there, it is just being passed through. There's not additional validation in the middle there. They're just passing the call through. [10:43.250 --> 11:03.250] And then on the other side of things, the terminating service providers then has their own verification service. And the verification service is what contacts the certificate authority and uses the certificate authority's authority there to then verify whether or not the call that came into them is a valid signed call. [11:03.250 --> 11:21.790] And so certificate authorities are being chosen by ADIS. That's the Alliance for Telecommunications Industry Solutions. And so this is the standards body that authored Shaken. So some of the certificate authorities that have been chosen are people like Newstar and Transnexus. I think there's a few others that haven't been publicly announced yet. [11:21.790 --> 11:27.290] And these are similar to the certificate authorities that administer TLS certificates like Let's Encrypt. [11:27.290 --> 11:47.090] And so then when a call reaches a terminating service provider, it's up to the client. So this would be somebody like Apple or Google to decide how to display that the calls are trusted. And so this could be something like, hey, I've got a checkmark next to this call. We display something like you saw an early slide there that says there's a verified caller here. [11:47.090 --> 12:15.910] You could do something like a lock that we have like in browsers with TLS, HTTPS sites. So there's different options here. And that has not been standardized in terms of how to signify this to consumers that these calls are not spoofed. And so I think that's going to be one of the interesting challenges that we see as this gets rolled out more is how do we build this trust on the consumer end of things and display this to them in a consistent way so that they know what to expect. [12:17.050 --> 12:32.630] So let's get into a little bit of the weeds of how this actually works from the technical perspective. So this is what a SIP header looks like currently. You can see the metadata included there. Just a reminder, SIP is the way to initiate VoIP calls or a way to initiate VoIP calls. [12:32.630 --> 12:55.830] But note the from here. So the problem here, Ray, is that the from number can be spoofed. And that happens if either the originating service provider allows it, isn't doing any validation on that. There might be those legitimate reasons for that. But they basically want to make sure that... and a lot of legitimate service providers are already doing this validation. They're not letting you place calls from numbers that you don't have access to. [12:55.830 --> 13:04.570] But there's, like I mentioned, there's over 4,000 service providers in the U.S. alone. A lot of the long-tail service providers might not be doing this validation. [13:05.630 --> 13:17.030] So what Shaken does is it introduces a new identity header. And this is in the form of a Base64 encoded JSON Web Token. And I'm going to focus on just some of the information that's encoded in the middle section here. [13:17.030 --> 13:28.970] And so the information that's encoded there includes things like the attestation level. And so this is in the header. And we'll talk more about what the attestation level is on the next slide. [13:28.970 --> 13:42.290] But this is basically the crux of whether or not we trust this call. But it also includes some additional metadata like who the call is going to, who placed the call, and then importantly, the origination ID. [13:42.290 --> 13:50.070] This is for the originating service provider's underlying customer. And so this is set by the originating service provider. [13:50.070 --> 14:00.710] And so the originating service provider, the OSP there, is really putting their reputation on the line saying, hey, this is my customer that is placing this call and I'm giving them this level of attestation. [14:00.710 --> 14:14.410] And this is important because this ID makes it near instant to identify bad actors because you can trace back the call to the underlying customer. And this is what's going to allow us to enforce the Truth in Caller ID Act. [14:14.410 --> 14:28.950] And so not only does Shaken allow you to build trust in calls that aren't spoofed, but it also allows a lot of the enforcement side of things to make sure that we can track down bad actors more quickly and more efficiently. [14:29.670 --> 14:44.710] And so back to the attestation levels, there are three levels that can be attributed to a caller. And so the originating service provider is going to decide what the attestation level is here. So A is the highest level of attestation, of course. [14:44.710 --> 15:10.410] And so this is saying, I know who this customer is, and I know they can use this number that they are calling from. And so that is what you would assume most of the legitimate business calls being placed are. Attestation levels B and C have some less level of trust in the call, but this is still likely to be a less fraudulent call if it's signed with any of these attestation levels than if it wasn't signed at all. [15:10.410 --> 15:35.970] And so generally I think what, and this is where we don't have a lot of standardization around this yet, but the clients, so the Googles, the Apples, are going to have to decide in conjunction with the carriers, the Verizons, the T-Mobiles, these types of people, how to display trust. And likely what's going to happen is that they're only going to display a checkmark or a verified caller if there is that attestation level A. [15:38.210 --> 15:53.810] So new technology is really great, but we need to make sure that people are actually implementing this. And so one of the things that is good about this is it puts the onus on businesses to do the implementation and not as much on the consumers to, you know, increase consumer protections. [15:53.810 --> 16:14.190] But the main way that we're going to ensure that businesses implement this is with the TRACED Act. And so this is the Telephone Robocall Abuse Criminal Enforcement Deterrence Act. It was passed by the Senate last May, passed by the House and signed into law in December of 2019. So I think it was like December 30th of 2019 it was signed into law. [16:14.190 --> 16:43.970] And what it did is gave a timeline that started at that point. So basically you can think of the beginning of this year, it gives telecom companies 18 months to implement, shake it and stir. And so you can think mid-2021 is kind of when the deadline for this is. A lot of bigger companies have been working on this for a while, but it's still going to start to enforce the deadline in mid-2021, assuming that everything goes as planned. [16:44.190 --> 16:57.290] So it also allows for a $10,000 fine for offenders. And so this does also add an additional fine on top of the existing Truth in Color ID Act. [16:58.090 --> 17:15.030] So the authentication requirements for the Trace Act depend on the type of call. So if it's VoIP, the requirements there is that you have to implement shake it and stir. But they do acknowledge that there isn't really a good solution for non-VoIP calls yet. And there are a lot of non-VoIP calls there on the PSTN. [17:15.030 --> 17:34.950] And so NuSTAR has a solution called Stir Out of Ban for non-VoIP authentication. You know, if you are a company that's placing non-VoIP calls, there's things that you can look into here for you or your customers. But definitely, I think that's one of the challenges to getting this implemented is not everything is just going to be able to implement shake it and stir. [17:36.170 --> 17:57.250] And that's kind of what I wanted to get into now, which is what are the limitations of this technology? First being, you know, according to my curmudgeonly coworker, Randy, who's been working in telecom for many, many years, the phone network is kind of an ungodly beast. And so it's, you know, a collection of wires that has been rapidly expanding for over 100 years. [17:57.250 --> 18:21.670] And so there is this kind of situation that we've run into where there isn't a standard technology that's being used for all the calls. And so we can't just flip a switch and change everything over to be suddenly authenticated. And part of that ungodly beast is this thing called time division multiplexing, or TDM. This is essentially the opposite of VoIP. It's old school hardware that's been around for 50 years. It's baked into a lot of enterprise private networks. [18:21.670 --> 18:44.010] And the TRACED Act explicitly acknowledges TDM as a potential burden to implementing shaken and stir. So they said that the burdens are barriers to the implementation, including for providers of voice service to the extent the networks of such providers use time division multiplexing. Fancy language in the bill that basically says, we get it. This might be hard for people that aren't using VoIP. [18:44.770 --> 19:13.670] And then another challenge that we have is that there just is this long tail of service providers. Like this is something that companies like Twilio and Verizon, Comcast, other large companies have been working on for months. What happens when you're a smaller scale service provider that's running, you know, limited infrastructure, you might have different access points to the PSTN that aren't going to be VoIP, like I said. And so, you know, of the 4000 service providers in the US alone, I don't know what percentage of those is going to be [19:14.010 --> 19:18.230] compliant by mid 2021. So the requirements to [19:20.370 --> 19:28.770] comply with this law, it does require significant investment. I don't know if we can reasonably expect that everybody will be able to make that investment in time. [19:29.790 --> 19:56.430] And then there's all these other problems. You know, the biggest problem like is in the US right now. But this is also a problem in places like UK and Norway. And I haven't really heard of any initiatives outside of North America to address this. There are starting to be, you know, some initiatives to implement this in Canada. But, you know, maybe this is something that if your country has a solution for this, definitely reach out. I'd love to hear about what you're doing for enforcement there. [19:56.430 --> 20:07.690] But, you know, there's other things that we have to think about, like what about ported numbers, you know, the international side, like I mentioned, and also like text messages, there's other communication channels that don't have the same type of authentication. [20:10.330 --> 20:26.270] So the FCC's number one complaint right now is robocalls, but the government is obviously a little distracted with other global pandemics right now. But, you know, I think in terms of that department, this is something that they have a priority and a motivation to fix. [20:26.270 --> 20:43.350] And so, like I said, the timeline for enforcement here is that towards the end of 2020 or into 2021, we'll start to see more people start to implement this. And you might start to see calls coming through already on your phone that might have a checkmark or might have an indication that they're being signed. [20:44.150 --> 21:00.030] So what can you do in terms of implementing Shake and Stir for your business? Talk to your service provider, whoever is doing your telephony. Most businesses probably won't have to do much in terms of implementation. A lot of the onus is going to be on the service providers themselves. [21:00.030 --> 21:16.450] You might have to go through some additional verifications and like KYC know your customer type stuff with your service provider. So at Twilio, we'll need you to create a business profile that has some additional details about your account before we would give you and start signing your calls with the highest attestation. [21:18.890 --> 21:37.110] And then there's some precautions that you can take as just application security professionals. So you can protect your numbers from web scraping bots. Don't assign sequential numbers to your employees. That's a way that people can kind of guess which employees might have lines at your company. [21:37.110 --> 21:54.490] And then you can use actual authentication in your call centers. This is another way that you can protect your business from phishing. This is something that I could talk about for many, many hours that a lot of companies basically will only ask for a consumer, you know, date of birth and email in order to verify the customer. [21:54.570 --> 21:59.270] And so there's a lot of other things you can do to actually authenticate people on either end of the call. [21:59.270 --> 22:16.590] And then if you know what a PBX is and you have one, you might look into installing the FCC blacklist database on that. Some controversy around whether or not you want to do that. It's hard to get off the blacklist database if you're on there. But this is something that you may or may not have to worry about. [22:17.350 --> 22:43.870] And then there is some ongoing legislation. But things have been pretty quiet from the FCC this year. They did recently, somewhat recently, like in the last year, give telcos the authority to block unwanted calls without explicit subscriber permission. And so, you know, AT&T, Verizon, T-Mobile in the U.S., they can now decide, hey, we're going to send this to basically like a spam folder without ever notifying you that the call came in. And I don't need you, Kelly, to tell me that that's okay. [22:44.510 --> 22:50.290] And then, like I mentioned, in terms of timeline for the TRACE Act, the enforcement will start to begin at the end of 2020. [22:50.870 --> 23:06.970] The last update from the FCC on this was March 31st. And this reaffirmed their call to implement shake it and stir, but it did already grant an exception for and an extension for small voice service providers. And I don't know what that means. [23:06.970 --> 23:20.250] I don't know exactly how they're going to decide who is a small voice service provider, but they are already thinking about, you know, this was three months after the bill was signed into law. They're already saying, hey, maybe this timeline isn't reasonable. [23:20.250 --> 23:39.930] So while I do think that a lot of larger telecom providers will start to sign calls within the end of this year, I do think that there is going to be an exception for that long tail of service providers and not everything is going to be a signed call before, you know, the end of 2021. [23:40.850 --> 24:05.590] There are a couple of things you can do as a consumer to protect yourself today. You can install one of these apps, depending on how much you trust them. A lot of times you have to give them basically complete control over your phone. So your mileage may vary there. But things like Novo Robo, Robo Killer call app, you know, companies like AT&T have a partnership with a company called Haya that does, you know, some protection against spam calls. [24:05.590 --> 24:22.890] Of course, a lot of consumer telecoms are starting to upsell spam detection services. So Verizon offers their call filter plus for the low, low price of $3 a month. But you know, these are things that you can look into installing on your phone if this is something that is a huge annoyance to you right now. [24:23.810 --> 24:48.910] So like I said, unfortunately, I don't think this is going to solve all problems right away. But I think people are really optimistic that shaken and stir will help restore trust and telephony, because not only is it going to help, you know, mitigate spam calls that are coming into your phone, but for those wanted calls for, you know, the calls that you want to see, that might be from unknown numbers, there's going to be a renewed trust in some of those phone calls. [24:48.910 --> 24:54.530] And so there is that motivation from businesses to restore that type of trust so that people will answer the calls. [24:55.590 --> 25:07.470] Hopefully, this is a good overview in terms of what you can expect from shaken and stir. If you have any questions, you can find me on Twitter. I'm also on discord. Once again, my name is Kelly Robinson, and thank you for listening.