IP Library Granted Patent US 12,368,580
Granted Patent B2
US 12,368,580 · App. 18/139,486 · Granted Jul 22, 2025

System and method for pre-shared key (PSK) based selective encryption of partial sections of messages

Inventor: Srinivas Kumar (Cupertino, CA)
Assignee: SYMMERA INC.
H04L9/085G06F21/602H04L9/08H04L9/0819H04L9/083H04L9/088H04L9/0891
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 12,368,580
App. No.
18/139,486
Granted
Jul 22, 2025
Kind
B2
Abstract

The method provides an automated and scalable system for the generation, distribution, management of symmetric pre-shared keys (PSKs) to applications executing on headless and mobile devices. It helps achieve device protection, application security, and data protection with data authenticity and confidentiality in intra-device, inter-device, device-to-edge, and device-to-cloud communications. It helps Transport Layer Security (TLS) enabled applications dynamically acquire and renew PSKs and use identity hints for PSK based authentication ceremony during a TLS handshake. It helps client-server applications dynamically acquire and renew PSKs using keyed-hash message authentication code (HMAC) for data integrity and authenticity, content signing, and data encryption for confidentiality. It helps manage and distribute API shared secrets and API access tokens required for authenticated API requests and API security. It helps applications (producers, brokers, and consumers of content) with PSKs for supply chain tamper resistance. It helps real-time low-latency applications with selective encryption of partial messages.

Claims (46)

1. A method of generating, distributing, and managing a lifecycle of a symmetric pre-shared key (PSK) used in certificate-less selective encryption (S-PSK) of partial sections of messages over insecure transport, for use between applications executing on distributed devices including a client application executing on a client device, a server application executing on a server device, a key distribution service (KDS), a KDS proxy, a KDS interface, a symmetric KDS member M-PSK, a M-PSK identity hint, a tenant identifier, a device group identifier associated with the tenant identifier, a member domain associated with the group identifier, an application identifier associated with the group identifier, a S-PSK identity hint, a key record, a dynamic host configuration protocol (DHCP) server, and a domain name system (DNS) server, the method comprising:

authenticating, with the KDS, by the client application executing on the client device, using the tenant identifier, the symmetric KDS member PSK (M-PSK) and the M-PSK identity hint, wherein the client device is registered by a first DNS hostname on the DNS server, configured with the KDS or the KDS proxy, and configured as a first member of a device group on the KDS;

acquiring, by the client application, the S-PSK from the KDS using at least the group identifier and the S-PSK identity hint, wherein the S-PSK is used as a shared symmetric key for selective encryption of partial sections of messages over an insecure transport protocol during communication with a server application executing on the server device registered by a second DNS hostname on the DNS server, wherein the server device is configured as a second member of the device group;

authenticating with the KDS, by the server application executing on the server device, using the configured tenant identifier, the symmetric KDS member PSK (M-PSK), and M-PSK identity hint, wherein the server device is registered by the second DNS hostname on the DNS server configured with the KDS or the KDS proxy;

acquiring, by the server application, the S-PSK from the KDS using at least the group identifier and the S-PSK identity hint, wherein the S-PSK is used as a shared symmetric key for selective encryption of partial sections of messages over an insecure transport protocol during communication with the client application executing on the client device, wherein the client device is registered by the first DNS hostname on the DNS server;

protecting, selectively by the client application executing on the client device, using the acquired S-PSK the authenticity and/or a confidentiality of partial sections of messages in communications with the server application executing on the server device over an insecure connection-oriented or a connection-less transport protocol;

protecting, selectively by the server application executing on the server device, using the acquired S-PSK, the authenticity and/or the confidentiality of partial sections of messages in communications with the client application executing on the client device over the insecure connection-oriented or the connection-less transport protocol; and

renewing, by the client application and the server application, the S-PSK, programmatically and automatically using the KDS interface, without requiring human intervention, and without service disruption.

2. The method of claim 1 , wherein a device member authentication handshake is performed by the KDS interface on the client device and the server device using the tenant identifier, the device member PSK (M-PSK) and the M-PSK identity hint as a first factor of a device authentication, and further wherein the session key is generated using a key exchange handshake between the KDS interface and the KDS or the KDS proxy, and further wherein a device member validation is performed as a second factor of device authentication by:

performing, by the KDS or the KDS proxy, a DNS reverse lookup of a device member IP address to query for the DNS hostname;

retrieving, by the KDS or the KDS proxy, the DNS hostname from a resource record in a DNS response; and

comparing and matching, by the KDS or the KDS proxy, the retrieved DNS hostname with the device member identifier in the KDS requests.

3. The method of claim 2 , wherein the device authentication and a plurality of key exchange handshakes are performed over a connection-less UDP or connection-oriented TCP transport protocol, without requiring a security transport protocol, and further wherein a data authentication and/or a data encryption is performed with the retrieved pre-shared keys over any communications protocol.

4. The method of claim 1 , wherein the KDS interface provides a plurality of application programming interfaces (APIs), wherein the client application and the server application send a plurality of requests for key operations directly to the KDS and receive a plurality of responses for key operations directly from the KDS, or wherein the client application and the server application send a plurality of requests for key operations indirectly through the KDS proxy and receive a plurality of responses for key operations indirectly through the KDS proxy.

5. The method of claim 1 , wherein the client device and the server device are registered by a unique DNS hostname in the domain on a local DNS server with an IP address (A) record and a PTR record used in a DNS hostname reverse lookup.

6. The method of claim 1 , wherein on the KDS, the client device and the server device are configured as members of a tenancy associated with the tenant identifier and the device group associated with the tenant identifier, and further wherein the device group is configured with a key record that includes a key instance used in securing communications between the client application and the server application.

7. The method of claim 1 , wherein a key record configured for the device group on the KDS includes a key expiration timestamp and a key status to manage automatic key renewal, key rotation, and key revocation operations on the KDS.

8. The method of claim 1 , wherein prior to acquiring the S-PSK from the KDS by the client application, the S-PSK is created on the KDS by the server application with the server device as a key creator and with restricted key usage permissions for data authentication, data encryption, content signing, broadcast signing, broadcast encryption, multicast signing, multicast encryption, token signing, or token encryption operations.

9. The method of claim 1 , wherein the acquiring of the S-PSK from the KDS by the client application restricts key usage based on permissions configured by a key creator.

10. A method of claim 1 , wherein an authenticated member device's request for any key operation, based on the group identifier and the S-PSK identity hint, is processed by the KDS and permitted based on a match of a member domain with a domain derived from a plurality of resource records retrieved by a DNS reverse lookup for a member device DNS hostname.

11. A method of claim 1 , wherein an authenticated member device's request for any key operation, based on the group identifier, the S-PSK identity hint, and the application identifier, is processed by the KDS and permitted based on a match with an application identifier associated with the group identifier, wherein the KDS is configured to allow or deny the key operation.

12. A method of claim 1 , wherein device specific information configured as extended custom attributes for a member device is retrieved from the DHCP server using a plurality of extended KDS interface APIs to automate local device configuration and export vendor specific member device information to the KDS.

13. A method of claim 1 , wherein an authenticated member device's request for any key operation, based on the group identifier and the S-PSK identity hint, is processed by the KDS and permitted based on a match of the member device tenant identifier with an associated license owner identifier retrieved from the DHCP server as a vendor specific member device information.

14. A method of generating, distributing, and managing a lifecycle of a symmetric pre-shared key (PSK) used in certificate-less selective encryption (S-PSK) of partial sections of messages over insecure transport, for use between applications executing on distributed mobile devices including a client application executing on a client mobile device, a server application executing on a server mobile device, a key distribution service (KDS), a KDS proxy, a KDS interface, a symmetric KDS member M-PSK, a M-PSK identity hint, a tenant identifier, a device group identifier associated with the tenant identifier, a member domain associated with the group identifier, an application identifier associated with the group identifier, a S-PSK identity hint, a key record, a device directory service (DDS), and a mobile service provider (MSP) server, the method comprising:

authenticating, with the KDS, by the client application executing on the client mobile device, using the tenant identifier, the symmetric KDS member PSK (M-PSK), and the M-PSK identity hint, wherein the client mobile device is registered by an international mobile subscriber identity (IMSI) on the MSP server, configured with a KDS or KDS proxy, and configured as a first member of a device group on the KDS;

acquiring, by the client application, the S-PSK from the KDS, using at least the group identifier and the S-PSK identity hint, wherein the S-PSK is used as a shared symmetric key for selective encryption of partial sections of messages over an insecure transport protocol during communication with a server application executing on the server mobile device, wherein the server mobile device is registered by a second international mobile subscriber identity (IMSI) on the MSP server, wherein the server mobile device is configured as a second member of the device group;

authenticating, with the KDS, by the server application executing on the server mobile device, using the tenant identifier, the symmetric KDS member PSK (M-PSK) and the M-PSK identity hint, wherein the server mobile device is registered by a second international mobile subscriber identity (IMSI) on the MSP server configured with the KDS or the KDS proxy;

acquiring, by the server application, the S-PSK from the KDS, using at least the group identifier and the S-PSK identity hint, wherein the S-PSK is used as the shared symmetric key for selective encryption of partial sections of messages over the insecure transport protocol during communication with the client application executing on the client mobile device, wherein the client mobile device registered by a first international mobile subscriber identity (IMSI) on the MSP server;

protecting, selectively by the client application executing on the client mobile device, using the acquired S-PSK the authenticity and/or the confidentiality of partial sections of messages in communications with the server application executing on the server mobile device over an insecure connection-oriented or a connection-less transport protocol;

protecting, selectively by the server application executing on the server mobile device, using the acquired S-PSK the authenticity and/or the confidentiality of partial sections of messages in communications with the client application executing on the client mobile device over the insecure connection-oriented or the connection-less transport protocol; and

renewing, by the client application and the server application, the S-PSK, programmatically and automatically using the KDS interface, without requiring human intervention, and without service disruption.

15. The method of claim 14 , wherein a device member authentication handshake is performed by the KDS interface on the client mobile device and server mobile device using the tenant identifier, the device member PSK (M-PSK) and the M-PSK identity hint as a first factor of a device authentication, and further wherein the session key is generated using a key exchange handshake between the KDS interface and the KDS or the KDS proxy, and further wherein a device member validation is performed as a second factor of device authentication by:

receiving, by the KDS from the client mobile device, an integrated circuit card identifier (ICCID), international mobile equipment identity (IMEI), and IMSI information of the client mobile device;

sending, by the KDS to the client mobile device, a nonce for signing by a SIM on the client mobile device using the authentication key stored securely with the SIM, wherein a storage location is in a card circuitry or on an applet on the SIM;

receiving, by the KDS from the client mobile device, the signed nonce;

sending, by the KDS to the mobile services provider of the client mobile device, the nonce and the IMSI for signing using an associated authentication key of the client mobile device; and

authenticating, by the KDS, the client mobile device by comparing and matching the signed nonces received from the client mobile device and the mobile service provider to authenticate and validate the client mobile device.

16. The method of claim 14 , wherein the device authentication and a plurality of key exchange handshakes are performed over a connection-less UDP or connection-oriented TCP transport protocol, without requiring a security transport protocol, and further wherein a data authentication and/or a data encryption is performed with the retrieved pre-shared keys over any communications protocol.

17. The method of claim 14 , wherein the KDS interface provides a plurality of application programming interfaces (APIs), wherein the client application and the server application send a plurality of requests for key operations directly to the KDS and receive a plurality of responses for key operations directly from the KDS, or wherein the client application and the server application send a plurality of requests for key operations indirectly through the KDS proxy and receive a plurality of responses for key operations indirectly through the KDS proxy.

18. The method of claim 14 , wherein on the KDS, the client device and server device are configured as members of a tenancy associated with the tenant identifier and the device group associated with the tenant identifier, and further wherein the device group is configured with a key record that includes a key instance used to secure communications between the client and server applications.

19. The method of claim 14 , wherein a key record configured for the device group on the KDS includes a key expiration timestamp and a key status to manage automatic key renewal, key rotation, and key revocation operations on the KDS.

20. The method of claim 14 , wherein prior to acquiring the S-PSK from the KDS by the client application, the S-PSK is created on the KDS by the server application with the server member device as a key creator and with restricted key usage permissions for data authentication, data encryption, content signing, broadcast signing, broadcast encryption, multicast signing, multicast encryption, token signing, or token encryption operations.

21. The method of claim 14 , wherein the acquiring of the S-PSK from the KDS by the client application restricts key usage based on permissions configured by a key creator.

22. A method of claim 14 , wherein an authenticated member device's request for any key operation, based on the group identifier and the S-PSK identity hint, is processed by the KDS and permitted based on a match of a member domain with a domain derived from a plurality of resource records retrieved by a DNS reverse lookup for a member device DNS hostname.

23. A method of claim 14 , wherein an authenticated member device's request for any key operation, based on the group identifier, the S-PSK identity hint, and the application identifier, is processed by the KDS and permitted based on a match with an application identifier associated with the group identifier, wherein the KDS is configured to allow or deny the key operation.

24. A method of claim 14 , wherein an authenticated member device's request for any key operation, based on the group identifier and the S-PSK identity hint, is processed by the KDS and permitted based on a match of the member device tenant identifier with an associated license owner identifier retrieved from the DDS as a vendor specific member device information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2024
From: KUMAR, SRINIVAS
To: SYMMERA INC.
Reel/Frame 068326/0742 →
Continuity (2)
Provisional Application 63454612 · Mar 24, 2023
Related Publication 20240322996A1 · Sep 26, 2024
References Cited (114)
US 6226618B1 · Downs et al. · 2001 [cited by applicant]
US 6574609B1 · Downs et al. · 2003 [cited by applicant]
US 6587837B1 · Spagna et al. · 2003 [cited by applicant]
US 6859791B1 · Spagna et al. · 2005 [cited by applicant]
US 6983371B1 · Hurtado et al. · 2006 [cited by applicant]
US 7110984B1 · Spagna et al. · 2006 [cited by applicant]
US 7228437B2 · Spagna et al. · 2007 [cited by applicant]
US 7346580B2 · Lisanke et al. · 2008 [cited by applicant]
US 7487128B2 · Spagna et al. · 2009 [cited by applicant]
US 8180708B2 · Hurtado et al. · 2012 [cited by applicant]
US 9565172B2 · Ståhl · 2017 [cited by applicant]
US 10057243B1 · Kumar et al. · 2018 [cited by applicant]
US 10162968B1 · Kumar et al. · 2018 [cited by applicant]
US 10250383B1 · Kumar et al. · 2019 [cited by applicant]
US 10326797B1 · Murray · 2019 [cited by examiner]
US 10341321B2 · Kumar et al. · 2019 [cited by applicant]
US 10469480B2 · Kumar et al. · 2019 [cited by applicant]
US 10492069B2 · Gupta et al. · 2019 [cited by applicant]
US 10505920B2 · Kumar et al. · 2019 [cited by applicant]
US 10587586B2 · Kumar et al. · 2020 [cited by applicant]
US 10657261B2 · Kumar et al. · 2020 [cited by applicant]
US 10764040B2 · Kumar et al. · 2020 [cited by applicant]
US 10909250B2 · Rudzitis · 2021 [cited by applicant]
US 10979419B2 · Kumar et al. · 2021 [cited by applicant]
US 11025627B2 · Li et al. · 2021 [cited by applicant]
US 11134379B2 · Shi · 2021 [cited by examiner]
US 11153344B2 · Hayton · 2021 [cited by applicant]
US 11206134B2 · Kumar et al. · 2021 [cited by applicant]
US 11303616B2 · Kumar et al. · 2022 [cited by applicant]
US 11349675B2 · Kim et al. · 2022 [cited by applicant]
US 11403402B2 · Kumar et al. · 2022 [cited by applicant]
US 11444753B1 · Williams et al. · 2022 [cited by applicant]
US 11451959B2 · Windsor et al. · 2022 [cited by applicant]
US 11595217B2 · Kumar et al. · 2023 [cited by applicant]
US 11627464B2 · Ficara et al. · 2023 [cited by applicant]
US 11716622B2 · Sloane · 2023 [cited by applicant]
US 20020002468A1 · Spagna et al. · 2002 [cited by applicant]
US 20020107803A1 · Lisanke et al. · 2002 [cited by applicant]
US 20030110130A1 · Pelletier · 2003 [cited by applicant]
US 20030185395A1 · Lee et al. · 2003 [cited by applicant]
US 20050251491A1 · Medina et al. · 2005 [cited by applicant]
US 20060089912A1 · Spagna et al. · 2006 [cited by applicant]
US 20080172747A1 · Hurtado et al. · 2008 [cited by applicant]
US 20090185685A1 · DeRobertis · 2009 [cited by applicant]
US 20100008500A1 · Lisanke et al. · 2010 [cited by applicant]
US 20100293370A1 · Xiao · 2010 [cited by examiner]
US 20120042160A1 · Nakhjiri et al. · 2012 [cited by applicant]
US 20130159724A1 · Kim · 2013 [cited by examiner]
US 20150180662A1 · Cui · 2015 [cited by examiner]
US 20160156626A1 · Roth · 2016 [cited by applicant]
US 20160364553A1 · Smith et al. · 2016 [cited by applicant]
US 20170041296A1 · Ford et al. · 2017 [cited by applicant]
US 20170272944A1 · Link, II · 2017 [cited by examiner]
US 20180082083A1 · Smith et al. · 2018 [cited by applicant]
US 20180123784A1 · Gehrmann · 2018 [cited by applicant]
US 20180367506A1 · Ford et al. · 2018 [cited by applicant]
US 20190149989A1 · Moriya et al. · 2019 [cited by applicant]
US 20190222560A1 · Ford et al. · 2019 [cited by applicant]
US 20190320477A1 · Korber · 2019 [cited by applicant]
US 20190327209A1 · Seferiadis et al. · 2019 [cited by applicant]
US 20200008029A1 · Cao · 2020 [cited by examiner]
US 20200145409A1 · Pochuev et al. · 2020 [cited by applicant]
US 20200162917A1 · Anantha et al. · 2020 [cited by applicant]
US 20200186365A1 · Kumar et al. · 2020 [cited by applicant]
US 20200295933A1 · Link, II · 2020 [cited by applicant]
US 20200382957A1 · Johnson · 2020 [cited by applicant]
US 20200396067A1 · Barker · 2020 [cited by applicant]
US 20200396604A1 · Olshansky et al. · 2020 [cited by applicant]
US 20210050999A1 · Huang et al. · 2021 [cited by applicant]
US 20210099873A1 · Windsor et al. · 2021 [cited by applicant]
US 20210194681A1 · Nix · 2021 [cited by applicant]
US 20210240536A1 · Brazeau et al. · 2021 [cited by applicant]
US 20210377252A1 · Monro · 2021 [cited by examiner]
US 20220006652A1 · Mishra et al. · 2022 [cited by applicant]
US 20220045930A1 · Williams · 2022 [cited by applicant]
US 20220060899A1 · Harding et al. · 2022 [cited by applicant]
US 20220103578A1 · Srivastav et al. · 2022 [cited by applicant]
US 20220294609A1 · Williams et al. · 2022 [cited by applicant]
US 20220376898A1 · Kaliski, Jr. et al. · 2022 [cited by applicant]
US 20220393865A1 · Williams et al. · 2022 [cited by applicant]
US 20220393866A1 · Williams et al. · 2022 [cited by applicant]
US 20220407688A1 · Childe et al. · 2022 [cited by applicant]
US 20220417742A1 · Dey et al. · 2022 [cited by applicant]
US 20230020193A1 · Williams et al. · 2023 [cited by applicant]
US 20230057469A1 · Hoole et al. · 2023 [cited by applicant]
US 20230163958A1 · Sheng et al. · 2023 [cited by applicant]
US 20230229758A1 · Terpstra et al. · 2023 [cited by applicant]
US 20230269099A1 · Medvinsky et al. · 2023 [cited by applicant]
US 20240163661A1 · Krishan · 2024 [cited by applicant]
US 20240214802A1 · Gupta et al. · 2024 [cited by applicant]
US 20240349052A1 · Madappa · 2024 [cited by applicant]
US 20240406726A1 · Yang et al. · 2024 [cited by applicant]
CN 114745170A · 2023 [cited by applicant]
WO 2023022724A1 · 2023 [cited by applicant]
WO 2023034121A1 · 2023 [cited by applicant]
Non-Final Office Action, datedf Aug. 17, 2023, issued in corresponding U.S. Appl. No. 18/206,426, 17 pgs. [cited by applicant]
Notice of Allowance, dated Aug. 17, 2023, issued in corresponding U.S. Appl. No. 18/206,399, 17 pgs. [cited by applicant]
S. Maksuti et al., “Automated and Secure Onboarding for System of Systems,” in IEEE Access, vol. 9, pp. 111095-111113, 2021. ( Year: 2021). [cited by applicant]
Boskov, Ivana Arsen et al. “Time-to-Provision Evaluation of loT Devices Using Automated Zero-Touch Provisioning.” GLOBECOM 2020-2020 IEEE Global Communications Conference (2020): pp. 1-7. (Year: 2020). [cited by applicant]
Arqit announces QuantumCloud powered b AWS, Dec. 9, 2022, 4 pps. [cited by applicant]
Raza et al, “Security Considerations for the WirelessHART Protocol”, IEEE, 2009, 8 pps. [cited by applicant]
Raza et al, “S3K: Scalable Security with Symmetric Keys—DTLS Key Establishment for the Internet of Things”, Jun. 1, 2015, 11 pps. [cited by applicant]
Siddiqa et al, “Scalable Asymmetric Security Mechanism for Internet of Things”, International Journal of Advanced Computer Science and Applications, vol. 11, No. 8, 2020, pp. 365-373. [cited by applicant]
Vohra, Meenakshi “Internet key exchange (IKE) based secure wireless and mobile networks” [online] San Jose State University, May 2004 [retrieved Jul. 5, 2023]. Retrieved from the Internet: URL: https://scholarworks.sjsu… [cited by applicant]
“Symmetric Identity Based Device Attestation” [online] TrustedComputing Group, Jan. 2020 [retrieved Jul. 5, 2023]. Retrieved from the Internet: URL: https://trustedcomputinggroup.org/wp-content/uploads/TCG_DICE_SymIDAtt… [cited by applicant]
Eronen, Ed et al. “R.F.C. 4279: Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)” [online] R.F.C., Dec. 2005 [retrieved Jul. 5, 2023] Retrieved from the Internet: URL: https://www.rfc-editor.org/rfc/rfc427… [cited by applicant]
Raza, Shahid et al. “S3K: Scalable Security With Symmetric Keys—DTLS Key Establishment for the Internet of Things” [online] IEEE, Jan. 2016 [retrieved Jul. 5, 2023]. Retrieved from the Internet: URL: https://ieeexplore.… [cited by applicant]
Notice of Allowance, dated Jan. 24, 2024, issued in corresponding U.S. Appl. No. 18/377,866, 48 pages. [cited by applicant]
Notice of Allowance mailed Feb. 5, 2025 in copending U.S. Appl. No. 18/139,498 (15 pages). [cited by applicant]
R. Housley, Guidance for External Pre-Shared Key (PSK) Usage in TLS (RFC9257), Original Publication Date: Jul. 1, 2022 IP.com No. IPCOM000271272D, IP.com Electronic Publication Date: Nov. 19, 2022, 14 pages (Year: 2022). [cited by applicant]
Diogo Domingues Regateiro, “Supporting Pre-shared Keys in Closed Implementations of TLS”, academia.edu, 8 pages (Year: 2017). [cited by applicant]
Notice of Allowance, issued on Jan. 16, 2025, in corresponding U.S. Appl. No. 18/139,508, 47 pages. [cited by applicant]
Non-Final Office Action issued on Feb. 27, 2025 in corresponding U.S. Appl. No. 18/438,586 (48 pages). [cited by applicant]
C. Malathi, I. Naga Padmaja, Identification of cyber attacks using machine learning in smart IoT networks, Materials Today: Proceedings, vol. 80, Part 3, pp. 2518-2523 (Year: 2023) 6 pages. [cited by applicant]