Patent ID: 7447744

Claim:
A method of determining if a message from a sender having an address is to be delivered to a recipient, the recipient having an address store, the method comprising the steps of: determining if the address is listed in the address store of the recipient; if the address is listed in the address store: delivering the message to the recipient when the recipient has not flagged the sender to be blocked and blocking the message when the recipient has flagged the sender to be blocked; and if the address is not listed in the address store: determining if the message from a sender includes a skeleton key token associated with the recipient, said skeleton key token being generated by the recipient and provided to a trusted audience including the sender by the recipient, said skeleton key remaining valid after at least one use; if the message includes the skeleton key token, delivering the message to the recipient; if the message does not include the skeleton key token: sending a challenge message to the sender, the challenge message having a token including instructions that the sender provides a spam certificate to in order for the message to be sent to the recipient, the token being randomly generated such that the token is pseudo-unique for each recipient-sender pair so that another sender cannot use the spam certificate to send a message to the recipient; if the sender does not provide the spam certificate, dropping the message; if the sender provides the spam certificate: determining a root certificate authority of the spam certificate; determining if the root certificate authority is trustworthy, said determining comprising: determining if the spam certificate is current; and determining if an identity contained in the certificate matches the root certificate authority's identity; indicating the spam certificate is correct if the root certificate authority is trustworthy and when the spam certificate is correct: adding the sender to the address store; and delivering the message to the recipient if the recipient has not flagged the sender to be blocked and blocking the message if the recipient has flagged the sender to be blocked.