IP Library Granted Patent US 10,986,501
Granted Patent B2
US 10,986,501 · App. 16/737,854 · Granted Apr 20, 2021

Secure telephone identity (STI) certificate management system

Inventors: Homer Nicolas B. Filart (Renton, WA); Andrew Lee Watts (Seattle, WA); Jose R. Mendoza, Jr. (Renton, WA)
Assignee: T-Mobile USA, Inc.
H04W12/0609H04L65/105H04L65/1006H04L65/1069H04M3/42059H04W8/02H04W12/1008H04W48/02H04W84/042
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,986,501
App. No.
16/737,854
Granted
Apr 20, 2021
Kind
B2
Abstract

A Secure Telephony Identity (STI) proxy server is described for intercepting incoming Voice over Internet Protocol (VoIP) communication requests for the purpose of mitigating an effect of fraudulent and nuisance VoIP communications. The STI proxy server may facilitate an STI verification server in verifying an authenticity of an originating network associated with an incoming call request. In one example, the STI proxy server may verify that the visited network is permitted to interact with the home network, based on a list of permissible networks. In addition, the STI proxy server may determine whether public STI certificates associated with an originating network have expired or set to expire within a predetermined time interval. In response to an actual o impending expiration, the STI proxy server may facilitate retrieval of a superseding, new public STI certificate for use by an STI authentication server to digitally sign an outgoing SIP INVITE messages.

Claims (82)

1. A Secure Telephone Identity (STI) proxy server associated with a first Public Land Mobile Network (first PLMN), comprising:

one or more processors;

memory coupled to the one or more processors, the memory including one or more modules that are executable by the one or more processor to:

determine that a first public STI certificate associated with the first PLMN is set to expire within a predetermined time interval;

receive, from an STI Certificate Authority, an updated first public STI certificate associated with the first PLMN;

store, within a certificate repository, the updated first public STI certificate;

transmit, to an STI-Authentication Server (STI-AS), a notification indicating that the updated first public STI certificate associated with the first PLMN is stored within the certificate repository;

receive a call request from an originating device within a second PLMN, the second PLMN being different from the first PLMN;

infer an identity of the second PLMN based at least in part on a network identifier associated with the call request;

determine whether the second PLMN is permitted to interact with the first PLMN;

in response to the second PLMN being permitted to interact with the first PLMN, retrieve a second public STI certificate associated with the second PLMN; and

transmit the second public STI certificate to an STI Verification Server (STI-VS) associated with the first network, the STI-VS to use the second public STI certificate to verify that an origin of the call request corresponds to the second PLMN.

2. The STI proxy server of claim 1 , wherein the call request corresponds to a Session Initiation Protocol (SIP) INVITE message, the SIP INVITE message further including SIP identity header, and

wherein the network identifier is included within the SIP identity header of the SIP INVITE message.

3. The STI proxy server of claim 1 , wherein the one or more modules are further executable by the one or more processors to:

retrieve, from a data store, a Uniform Resource Identifier (URI) list of permissible PLMNs that are authorized to interact with the first PLMN, and

wherein, to determine whether the second PLMN is permitted to interact with the first PLMN is based at least in part on a comparison of the network identifier with data entries of the URI list of permissible PLMNs.

4. The STI proxy server of claim 3 , wherein the one or more modules are further executable by the one or more processors to:

in response to determining that the second PLMN is not permitted to interact with the first PLMN, rejecting the call request.

5. The STI proxy server of claim 1 , wherein the one or more modules are further executable by the one or more processors to:

transmit a certificate request to a peer-CR associated with the second PLMN; and

retrieve the public STI certificate from the peer-CR, based at least in part on the certificate request.

6. The STI proxy server of claim 1 , wherein the one or more modules are further executable by the one or more processors to:

retrieve, from an STI Key Management Server (STI-KMS), an asymmetric key pair associated with the first PLMN, the asymmetric key pair including a private key and a public key;

transmit, to the STI-AS, the private key, the STI-AS to use the private key to digitally sign an outgoing SIP INVITE message associated with the second PLMN.

7. The STI proxy server of claim 1 , wherein the one or more modules are further executable by the one or more processors to:

retrieve, from an STI-Policy Administrator (STI-PA), a secure list of approved STI-CAs to facilitate receipt of the public STI certificate; and

select the STI-CA from the secure list of approved STI-CAs.

8. The STI proxy server of claim 1 , wherein the one or more modules are further executable by the one or more processors to:

transmit, to an STI-PA, a token request associated with retrieval of the first public STI certificate from the STI-CA, the token request including the public key; and

receive, from the STI-PA, the token, and

wherein, to transmit the certificate request to the STI-CA further includes transmitting the token to the STI-CA.

9. The STI proxy of claim 1 , wherein the one or more modules are further executable by the one or more processors to:

receive, from the STI-VS, a Hyper Text Transfer Protocol (HTTP)/HTTP Secure (HTTPS) GET message or an HTTP/HTTPS POST message that is associated with verifying the call request, and

wherein, to infer an identity of the second PLMN occurs in response to the HTTP/HTTPS GET message or the HTTP/HTTPS POST message.

10. A computer-implemented method, comprising:

under control of one or more processors:

receiving a call request from an originating device within a first PLMN, the call request intended to initiate a voice communication with a recipient device within a second PLMN, the first PLMN being different from the second PLMN;

inferring an identity of the first PLMN, based at least in part on a network identifier associated with the call request;

retrieving a first public STI certificate associated with the first PLMN;

transmitting the first public STI certificate to an STI-VS associated with the second PLMN, the STI-VS to use the first public STI certificate to verify that an origin of the call request corresponds to the first PLMN;

determining that a second public STI certificate that is associated with the second PLMN is set to expire within a predetermined time interval;

receiving, from the STI-CA, the new second public STI certificate;

storing, within a certificate repository, the new second public STI certificate; and

transmitting, to an STI-AS, a notification indicating that the new second public STI certificate is stored within the certificate repository.

11. The computer-implemented method of claim 10 , further comprising:

retrieving, from a data store, a URI list of permissible networks that are authorized to interact with the second PLMN; and

determining whether the first PLMN is permitted to interact with the second PLMN, based at least in part on a comparison of the network identifier with data entries of the URI list of permissible networks, and

wherein, retrieving the public STI certificate is based at least in part on the first PLMN being permitted to interact with the second PLMN.

12. The computer-implemented method of claim 10 , further comprising:

retrieving the public STI-certificate from a peer CR.

13. The computer-implemented method of claim 10 , further comprising:

transmitting, to an STI-CA, a certificate request for a new second public STI certificate associated with the second PLMN, and

wherein, receiving the new second public STI certificate is based at least in part on transmitting the certificate request.

14. The computer-implemented method of claim 10 , further comprising:

retrieving, from an STI-KMS, an asymmetric key pair associated with the second PLMN, the asymmetric key pair including a private key and a public key; and

transmitting, to the STI-AS, the private key, the STI-AS to use the private key to digitally sign outgoing SIP INVITE messages associated with the second PLMN.

15. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed on one or more processors, cause the one or more processors to perform acts comprising:

determining that a public STI certificate associated with a PLMN is set to expire within a predetermined time interval;

retrieving, from an STI-KMS, an asymmetric key pair associated with the PLMN, the asymmetric key pair including a private key and a public key;

transmitting, to an STI-CA, a certificate request for a new public STI certificate associated with the first PLMN that includes the public key;

receiving, from the STI-CA, the new public STI certificate; and

transmitting, to an STI-AS, a notification associated with the new public STI certificate and the private key, the STI-AS to use the private key to digitally sign an outgoing SIP INVITE messages associated with the PLMN.

16. The one or more non-transitory computer-readable media of claim 15 , further storing instructions that, when executed cause the one or more processors to perform acts comprising:

storing, within a certificate repository, the new public STI certificate, and

wherein, the notification indicates that the new public STI certificate associated with the PLMN is stored within the certificate repository.

17. The one or more non-transitory computer-readable media of claim 15 , further storing instructions that, when executed cause the one or more processors to perform acts comprising:

retrieving, from an STI-PA, a secure list of approved STI-CAs to facilitate receipt of the Public STI certificate; and

selecting, from the secure list of approved STI-CAs, the STI-CA.

18. The one or more non-transitory computer-readable media of claim 15 , further storing instructions that, when executed cause the one or more processors to perform acts comprising:

transmitting, to an STI-PA, a token request associated with retrieval of the Public STI certificate from the STI-CA, the token request including the public key; and

retrieving, from the STI-PA, the token, and

wherein, to transmit the certificate request to the STI-CA further includes the transmitting the token to the STI-CA.

19. The one or more non-transitory computer-readable media of claim 15 , wherein the PLMN is a first PLMN, and the new public STI certificate is a first public STI certificate, and further storing instructions that, when executed cause the one or more processors to perform acts comprising:

receiving an additional call request from a recipient device within a second PLMN, the second PLMN being different from the first PLMN;

retrieving, from a peer CR associated with the second PLMN, a second public STI certificate associated with the second PLMN; and

transmitting the second public STI certificate to an STI-VS associated with the first PLMN, the STI-VS to use the public STI certificate to verify that an origin of the additional call request corresponds to the second PLMN.

20. The one or more non-transitory computer-readable media of claim 19 , further storing instructions that, when executed cause the one or more processors to perform acts comprising:

inferring an identity of the second PLMN based at least in part on a network identifier associated with the call request;

retrieving, from a data store, a URI list of permissible networks that are authorized to interact with the PLMN; and

determining whether the second PLMN is permitted to interact with the first PLMN, based at least in part on comparing the network identifier with the URI list of permissible networks, and

wherein, retrieving the second public STI certificate is based at least in part on the determining that the second PLMN is permitted to interact with the first PLMN.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2022
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: IBSV LLC; LAYER3 TV, LLC; PUSHSPRING, LLC; T-MOBILE CENTRAL LLC; T-MOBILE USA, INC.; ASSURANCE WIRELESS USA, L.P.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; SPRINTCOM LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM LLC
Reel/Frame 062595/0001 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: T-MOBILE USA, INC.; ISBV LLC; T-MOBILE CENTRAL LLC; LAYER3 TV, INC.; PUSHSPRING, INC.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; CLEARWIRE LEGACY LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM L.P.; ASSURANCE WIRELESS USA, L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 053182/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2020
From: FILART, HOMER NICOLAS B.; WATTS, ANDREW LEE; MENDOZA, JOSE R., JR.
To: T-MOBILE USA, INC.
Reel/Frame 051472/0247 →
Continuity (2)
Provisional Application 62789969 · Jan 8, 2019
Related Publication 20200221302A1 · Jul 9, 2020