IP Library › Granted Patent US 12,309,204
Granted Patent B2
US 12,309,204 · App. 17/966,719 · Granted May 20, 2025

SPF layering for performant message authorization assertions

Inventors: Keith Wayne Coleman (Atlanta, GA); Richard Duncan (Atlanta, GA)
Assignee: Fraudmarc Inc.
H04L63/20H04L51/212
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,309,204
App. No.
17/966,719
Filed
Oct 14, 2022
Granted
May 20, 2025
Kind
B2
Art Unit
2493
USPC
713/189
Abstract

Sender Policy Framework (SPF) is a widely used method of distinguishing authorized email from unauthorized email. SPF policies are published into a domain's DNS and then looked up and evaluated by mail receivers. Due to the complexity and limitations of the SPF specification, implementation mistakes and risks are widespread. Embodiments of the present disclosure enable new SPF techniques such as creating a top layer SPF policy for dividing addresses into categories, and multiple second layer SPF policies for identifying IP addresses corresponding to each category. One of the second layer policies is selected as a default policy, such that any IP address that does not correspond to any other of the second layer SPF policies will match the default policy.

Claims (68)

1. A method comprising:

generating a Sender Policy Framework (SPF) policy; wherein the SPF policy comprises:

a top layer SPF policy comprising a plurality of terms, each term of the plurality of terms corresponding to a category of a plurality of categories, and

a plurality of second layer SPF policies, each second layer SPF policy corresponding to a particular category, of the plurality of categories, wherein each second layer SPF policy indicates a set of IP addresses in the particular category; and

applying the generated SPF policy to an IP address of a source of a received email message to determine a qualifier associated with the received email message;

wherein each term, of the plurality of terms, comprises:

an SPF mechanism;

an SPF qualifier; and

a reference to a particular one of the plurality of second layer SPF policies; and

wherein the plurality of second layer SPF policies includes a default second layer policy, and wherein the set of IP addresses indicated by the default second layer policy corresponds to one of the following:

a set of all IP addresses, or

an inverse of a union of IP addresses indicated in all other second layer SPF policies.

2. The method of claim 1 , wherein the SPF mechanism comprises one of the following:

an “a” mechanism, or

an “include” mechanism.

3. The method of claim 1 , wherein each qualifier is selected from one of the following:

a pass qualifier,

a neutral qualifier,

a softfail qualifier, or

a fail qualifier.

4. The method of claim 3 , wherein each term of the plurality of terms comprises a unique qualifier.

5. The method of claim 1 , wherein the default second layer SPF policy corresponds to a right-most term in the top layer SPF policy.

6. The method of claim 1 , wherein each of the second layer SPF policies is stored at a unique domain.

7. A method comprising:

publishing a Sender Policy Framework (SPF) policy;

wherein the SPF policy comprises:

a top layer SPF policy comprising a plurality of terms, each term of the plurality of terms corresponding to a category of a plurality of categories, and

a plurality of second layer SPF policies, each second layer SPF policy corresponding to a particular category, of the plurality of categories, wherein each second layer SPF policy indicates a set of IP addresses in the particular category; and

applying the published SPF policy to an IP address of a source of a received email message to determine a qualifier associated with the received email message;

wherein each term, of the plurality of terms, comprises:

an SPF mechanism;

an SPF qualifier; and

a reference to a particular one of the plurality of second layer SPF policies; and

wherein the plurality of second layer SPF policies includes a default second layer policy, and wherein the set of IP addresses indicated by the default second layer policy corresponds to one of the following:

a set of all IP addresses, or

an inverse of a union of IP addresses indicated in all other second layer SPF policies.

8. The method of claim 7 , wherein the SPF mechanism comprises one of the following:

an “a” mechanism, or

an “include” mechanism.

9. The method of claim 7 , wherein each qualifier is selected from one of the following:

a pass qualifier,

a neutral qualifier,

a softfail qualifier, or

a fail qualifier.

10. The method of claim 9 , wherein each term of the plurality of terms comprises a unique qualifier.

11. The method of claim 7 , wherein the default second layer SPF policy corresponds to a right-most term in the top layer SPF policy.

12. The method of claim 7 , wherein each of the second layer SPF policies is stored at a unique domain.

13. A method comprising:

providing a top layer Sender Policy Framework (SPF) policy for inclusion in an SPF policy;

wherein providing the top layer SPF policy comprises providing a plurality of terms, each term of the plurality of terms corresponding to a category of a plurality of categories, and wherein each term, of the plurality of terms, comprises:

an SPF mechanism;

an SPF qualifier; and

a reference to a particular one of a plurality of second layer SPF policies;

wherein each second layer SPF policy indicates a set of IP addresses in a particular category of the plurality of categories;

wherein the plurality of second layer SPF policies includes a default second layer policy, and wherein the set of IP addresses indicated by the default second layer policy corresponds to one of the following:

a set of all IP addresses, or

an inverse of a union of IP addresses indicated in all other second layer SPF policies and

applying the provided top-layer SPF policy to an IP address of a source of a received email message to determine a qualifier associated with the received email message.

14. The method of claim 13 , wherein the SPF mechanism comprises one of the following:

an “a” mechanism, or

an “include” mechanism.

15. The method of claim 13 , wherein each qualifier is selected from one of the following:

a pass qualifier,

a neutral qualifier,

a softfail qualifier, or

a fail qualifier.

16. The method of claim 15 , wherein each term of the plurality of terms comprises a unique qualifier.

17. The method of claim 13 , wherein the default second layer SPF policy corresponds to a right-most term in the top layer SPF policy.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2022
From: COLEMAN, KEITH WAYNE; DUNCAN, RICHARD
To: FRAUDMARC INC.
Reel/Frame 061431/0620 →
Continuity (2)
Provisional Application 63255484 · Oct 14, 2021
Related Publication 20230121553A1 · Apr 20, 2023
References Cited (55)
US 8090940B1 · Fenton et al. · 2012 [cited by applicant]
US 8392357B1 · Zou et al. · 2013 [cited by applicant]
US 11019076B1 · Jakobsson et al. · 2021 [cited by applicant]
US 11171939B1 · Blank et al. · 2021 [cited by applicant]
US 11200581B2 · Williams et al. · 2021 [cited by applicant]
US 11212245B1 · Ding et al. · 2021 [cited by applicant]
US 11223599B1 · Mielke et al. · 2022 [cited by applicant]
US 11349945B2 · Coleman et al. · 2022 [cited by applicant]
US 11463392B2 · Coleman et al. · 2022 [cited by applicant]
US 11706178B2 · Coleman et al. · 2023 [cited by applicant]
US 11716403B2 · Coleman et al. · 2023 [cited by applicant]
US 12120079B2 · Coleman et al. · 2024 [cited by applicant]
US 20050144451A1 · Voice et al. · 2005 [cited by applicant]
US 20060031319A1 · Nelson et al. · 2006 [cited by applicant]
US 20060179113A1 · Buckingham et al. · 2006 [cited by applicant]
US 20080184366A1 · Alperovitch et al. · 2008 [cited by applicant]
US 20080189770A1 · Sachtjen · 2008 [cited by applicant]
US 20080282344A1 · Shuster · 2008 [cited by applicant]
US 20080307226A1 · Chow et al. · 2008 [cited by applicant]
US 20090147936A1 · Won et al. · 2009 [cited by applicant]
US 20100121928A1 · Leonard · 2010 [cited by applicant]
US 20100299399A1 · Wanser · 2010 [cited by examiner]
US 20130086187A1 · Cohen et al. · 2013 [cited by applicant]
US 20140181516A1 · Yoshioka · 2014 [cited by applicant]
US 20140215571A1 · Shuster · 2014 [cited by applicant]
US 20160315969A1 · Goldstein · 2016 [cited by examiner]
US 20170078321A1 · Maylor · 2017 [cited by examiner]
US 20170093772A1 · Gupta · 2017 [cited by applicant]
US 20180227259A1 · Gupta · 2018 [cited by examiner]
US 20190141077A1 · Tyler et al. · 2019 [cited by applicant]
US 20190222608A1 · Naccarato et al. · 2019 [cited by applicant]
US 20190379660A1 · Thirumavalavan · 2019 [cited by applicant]
US 20200213332A1 · Thirumavalavan · 2020 [cited by applicant]
US 20210126942A1 · Fantham et al. · 2021 [cited by applicant]
US 20210152610A1 · Fryback et al. · 2021 [cited by applicant]
US 20210266294A1 · Chechik et al. · 2021 [cited by applicant]
US 20210289001A1 · Wilson et al. · 2021 [cited by applicant]
US 20210344721A1 · Coleman et al. · 2021 [cited by applicant]
US 20210352093A1 · Hassanzadeh et al. · 2021 [cited by applicant]
US 20220014543A1 · Jakobsson et al. · 2022 [cited by applicant]
US 20220124059A1 · Coleman et al. · 2022 [cited by applicant]
US 20220124165A1 · Coleman et al. · 2022 [cited by applicant]
US 20220294873A1 · Coleman et al. · 2022 [cited by applicant]
US 20230026045A1 · Coleman et al. · 2023 [cited by applicant]
US 20240019821A1 · Rice · 2024 [cited by applicant]
US 20240073296A1 · Coleman et al. · 2024 [cited by applicant]
S. Kitterman “Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1 (RFC7208)” Apr. 1, 2014 [ retrieved on Jul. 15, 2024]. Retrieved from the internet: <URL: https://priorart.ip.com/IPCOM/0002… [cited by examiner]
U.S. Non-Final Office Action dated Jan. 12, 2022 cited in U.S. Appl. No. 17/504,423, 13 pgs. [cited by applicant]
Lars Lind Nilsson et al., “What does a “-all” do in an included (secondary) SPF record?” Super User, Retrieved Jan. 8, 2022 from https://superuser.com/questions/1167143/what-does-a-all-do-in-an-included-secondary-spf-re… [cited by applicant]
Hakan Lindqvist et al., “SPF with-all includes directive with ˜all?” Server Fault, Retrieved January 8, 202 from https://serverfault.com/questions/848711/spf-with-all-includes-directive-with-all, May 8, 2017, 5 pgs. [cited by applicant]
Roaima et al., “Adding an SPF record for a 3rd party, but don't have one for my own domain,” Server Fault, Retrieved Jan. 8, 2022 from https://serverfault.com/questions/734297/adding-an-spf-record-for-a-3rd-party-but-do… [cited by applicant]
MadHatter et al., “What are SPF records, and how do I configure them?” Server Fault, Retrieved Jan. 8, 2022 from https://serverfault.com/questions/369460/what-are-spf-records-and-how-do-i-configure-them/369478#369478, M… [cited by applicant]
U.S. Final Office Action dated Apr. 27, 2022 cited in U.S. Appl. No. 17/504,423, 22 pgs. [cited by applicant]
Coleman, “Introducting Unviersal SPF,” Fraudmarc, Oct. 28, 2020, https://web.archive.org/web/202010281937/https://fraudmarc.com/introducing-universal-spf/, 8 pgs. [cited by applicant]
U.S. Non-Final Office Action dated Feb. 14, 2024 cited in U.S. Appl. No. 18/362,848, 13 pgs. [cited by applicant]