« PrécédentContinuer »
METHOD AND APPARATUS FOR AN
ADAPTED DIGITAL SIGNATURE
FIELD OF THE INVENTION
This invention is related to the field of electronic messaging systems, and more particularly to a method and apparatus for creating an electronic userid.
BACKGROUND OF THE INVENTION
Junk e-mail or unsolicited bulk e-mail ("UBE"), referred 10 to hereafter as "spam", has become a significant problem. Users of electronic messaging applications are barraged with spam on a daily basis by spammers (those who create and send spam). Spammers usually advertise sham wares, services, pyramid schemes, and, even worse, they send electronic viruses.
Spam has grown in popularity for a number of reasons. Primarily, it is a low cost and fast medium through which messages can be delivered. Further, the ease with which a 2Q spammer can harvest e-mail addresses, for example, from joke lists, newsgroups, web pages and cookies, provides a steadily expanding audience to which spam can be directed.
Filters have been proposed and a few developed that attempt to reduce or eliminate spam from a user's mail host 25 and/or e-mail client.
One type of spam filter is a sender filter. The sender filter rejects all messages from an untrusted source, such as by way of an authorized or an unauthorized sender list. Inbound e-mail messages are simply rejected based upon the source 30 of the message (e.g., the "from:" address of a message header). A major problem with the sender filter is that the sender's identity is frequently spoofed as either a random sender (which bypasses the unauthorized sender list) or as a sender unlikely to be rejected (which bypasses the autho- 35 rized sender list.)
Another example of a spam filter is a context filter. A context filter examines a message body or a message subject header and removes messages based upon key words or phrases a spammer is likely to include in the message (e.g., 40 "get rich", "work from home", "call now ", "porn", "xxx", etc.) A problem with context filters is that linguistic rules must be set up for a particular user in a particular environment. Moreover, language or context alone is inherently imprecise. Thus, context type filters generally suffer from an 45 over-inclusiveness problem—meaning they filter more messages than they should because legitimate messages occasionally match the linguistic rules of the context filter.
Still another approach is the use of traditional encryption/ decryption technology. Traditional encryption/decryption 50 technology includes the use of shared encryption/decryption algorithms or keys (e.g., asymmetric or symmetric encryption). For example, in an asymmetric encryption/ decryption system, a sender encrypts a message body using the intended recipient's public key. The recipient receives 55 the encrypted message and decrypts it using her private key. A problem with this technique is that special equipment is required by both the sender and receiver—such as proprietary software or hardware. In a symmetric encryption solution, a secret key is shared between the sender and 60 recipient. Aproblem here is that the shared key can easily be compromised. Moreover, encryption/decryption solutions can be computationally expensive and difficult to manage as compared to the low value of most e-mail messages. Some encryption/decryption solutions even require multiple hand- 65 shaking and/or a real-time connection between the sender and receiver.
There is a need for a secure and trusted technique for identifying and filtering unauthorized electronic messages.
SUMMARY OF THE INVENTION
A method and apparatus for an adapted digital signature is provided. According to an aspect of the present invention, the adapted digital signature is generated using a digital signature engine and an adaptation algorithm.
According to one embodiment, a method for creating an adapted digital signature comprises: retrieving an originator key, the originator key corresponding to a local userid; running a digital signature engine to create a digital signature, the digital signature based on at least the originator key and remote user information; retrieving a word from a word list, the word indexed to at least a portion of the digital signature; and returning at least the word as the adapted digital signature.
According to another embodiment, a method for verifying an adapted digital signature comprises: retrieving an originator key based on a first portion of address information; generating an adapted digital signature based on the originator key and a second portion of the address information; comparing a third portion of the address information to the adapted digital signature; and accepting the electronic message if the third portion of the address information and the adapted digital signature match.
According to another embodiment, an electronic message system comprises: an authenticated message server configured to remove inbound electronic messages if an authenticated electronic userid cannot be verified; and a mail host coupled to the authenticated message server; and wherein the authenticated message server is configured to remove inbound electronic messages by performing the acts of: generating an adapted digital signature; comparing a portion of an inbound electronic message to the adapted digital signature; and rejecting the inbound electronic message if the portion of the inbound electronic message and the adapted digital signature do not match.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 depicts an overview of a presently preferred electronic messaging system;
FIG. 2 depicts a functional overview of an authenticated message server;
FIG. 3 depicts a presently preferred adapted digital signature technique; and
FIG. 4 is a flowchart depicting steps for authenticating an inbound electronic message comprising an adapted digital signature.
DETAILED DESCRIPTION OF THE
This application is related to U.S. patent application Ser. No. 09/133,875, filed Aug. 14, 1998, now U.S. Pat. No. 6,356,935, "APPARATUS AND METHOD FOR AN AUTHENTICATED ELECTRONIC USERID", issued Mar. 12, 2002 and 09/134,133, filed Aug. 14,1998, now U.S. Pat. No. 6,085,321, "UNIQUE DIGITAL SIGNATURE", issued Jul. 4, 2000, which are incorporated herein by reference in their entirety.
FIG. 1 is an overview of a presently preferred electronic messaging system 100 employing the invention described herein. Internet 104 is a wide area network of interconnected computers. Connected to internet 104 via a simple mail transfer protocol ("SMTP") connection is a mail exchanger
108. (SMTP is further described in publicly available Internet Engineering Task Force (IETF) RFC821, "Simple Mail Protocol", Aug. 1982.) A mail exchanger, as used herein, is a server that transmits and receives electronic messages (e.g., e-mail) via the internet 104. The mail exchanger 108 5 resides in an internal network (e.g., a local area network). The mail exchanger 108 is the designated sender and receiver of e-mail between the internal network and the internet. For load balancing purposes, more than one mail exchanger 108 may service an internal network. The desig- 10 nation of a mail exchanger, such as mail exchanger 108, is preferably defined by a domain name server ("DNS") in a mail exchange record.
Optionally connected to authenticated message server 112 via a hyper text transfer protocol ("HTTP") link is an :5 administration interface 124. (HTTP is further described in publicly available Internet IETF RFC 1945, "Hypertext Transfer Protocol—HTTP/1.0", May, 1996.) An administrator is able to configure the authenticated message server 112 via a web browser or equivalent device through data 20 exchanges via HTTP and the administration interface 124.
Connected to authenticated message server 112 via an SMTP link is a mail host 116. Mail host 116 receives inbound e-mail messages and stores them for reading by a user. Mail host 116 can also send outbound e-mail messages 25 created by the user. Because mail host 116 supports SMTP and post office protocol version 3 ("POP3), it can be embodied in virtually any mail server software, such as Microsoft Exchange Server and Lotus Notes. (POP3 is further described in publicly available IETF RFC 1939, 30 "Post Office Protocol—Version 3", May, 1996.) Thus, mail host 116 supports both inbound and outbound electronic messaging.
Optionally connected to authenticated message server 112 3J via a hyper text transfer protocol ("HTTP") link is an administration interface 124. (HTTP is further described in publicly available Internet RFC 1945, which is incorporated herein by reference in its entirety.) An administrator is able to configure the authenticated message server 112 via a web 4Q browser or equivalent device through data exchanges via HTTP and the administration interface 124.
Users are able to connect to the mail host 116 via a POP3 or an SMTP connection by way of one or more user e-mail clients 120. Embodiments of e-mail clients include the 45 Netscape Communicator available from Netscape Corporation <http://www.netscape.com> in Mountain View, Calif, and the Microsoft Outlook client, available from Microsoft Corporation <http://www.microsoft.com> in Redmond, Wash. 50
FIG. 2 depicts a functional overview of authenticated message server 200. Embodiments of digital signature engine 218 are further described in U.S. application Ser. Nos. 09/133,875, filed Aug. 14, 1998, now U.S. Pat. No. 6,356,935 and, U.S. application Ser. No. 09/134,133 filed 55 Aug. 14, 1998, now U.S. Pat. No. 6,085,321 which have been incorporated herein by reference in their entirety. The digital signature engine 200 is preferably embodied in the authenticated message server 112. It is noted that the adaptation algorithm 220 is different in the present invention than 60 in the previous applications. An improvement in the adaptation algorithm is described below with reference to FIG. 3. Moreover, the authenticated electronic userid 250 is different from the previous application. Minor modifications include the use of a plus sign "+"delineator rather than a 65 period between the local userid 224 and the adapted digital signature 228. Significantly, the adapted digital signature
228 is no longer an unrememberable value, but rather a rememberable value.
FIG. 3 depicts a preferred embodiment of the adapted digital signature techniques of the present invention. A local userid list 304 is shown to illustrate the relationship between local userids and originator keys—shown in originator key list 312.
According to a presently preferred embodiment, thirtyseven originator keys are used, each originator key having a one-to-many relationship with local userids 304. The first character of local userids 304 determines which originator key is associated with it. Twenty-six keys are reserved for letters A-Z (case insensitive), ten for numbers 0-9, and a miscellaneous key for characters not matching the first thirty-six values. According to an alternative embodiment, any number of originator keys, n, can be used. In yet another embodiment, a database can be maintained by the mail host 116 or the authenticated message server 112 that identifies local userids and their preferences (e.g., always reject messages having an invalid adapted digital signature). If each local userid is allowed one or more originator keys, then the database can store them.
Digital signature engine 218, shown as hash function 320 (preferably the MD5 function), combines a local userid 308, "Alice", with Alice's corresponding originator key 310 and remote user information 316. Remote user information includes at least a domain name and can also include the remote userid. The output of the digital signature engine 218 (shown here hash function 320) is a digital signature (or "hash value" 324, as the case may be). The digital signature is a 128-bit value. The adaptation algorithm 326 then modifies the digital signature.
Adaptation algorithm 326 first performs a boolean function 328 on the hash value 324. The extent to which the hash value 324 is modified depends on the size of a word list 336. According to a presently preferred embodiment, the word list is 4096 words long (as used herein, "words" does not refer to a length of a value, rather it refers to the value itself—a word in the word list can be virtually any length), however, the word list 336 can be any length, m, depending on the degree of security desired (the more words, the greater the security). Since 4096 words are in the word list, the extent of the modification is such that it yields a value that is equal to or greater than the number of words, m, in the word list 336. The boolean function 328 modifies the hash value 324 into a 12-bit value referred to herein as a "modified digital signature", or more specifically a "modified hash value". In one embodiment, the boolean function 328 selects the first twelve bits as the modified hash value. In another embodiment, AND or OR functions can combine one or more preset bit masks to generate the modified hash value.
The modified hash value from the boolean function 328 is passed to the adapted digital signature selector 332. The adapted digital signature selector 332 includes the word list 336 and, optionally, a number generator 340. The adapted digital signature selector 332 selects a particular word from the word list 336 using the modified hash value from the boolean function 328.
According to one embodiment, a modulus function (e.g., the C language modf function or % operator) is applied to the modified hash value, the base being the number of words, m, in the word list 336. If the modulus function returns zero, then the adapted digital signature selector 332 retrieves a word corresponding to (i.e., indexed to) the modified hash value. However, if the modulus function
returns a value other than zero, then the adapted digital signature selector 332 retrieves a word corresponding to the value returned by the modulus function (e.g., the remainder).
For example, if the modified hash value is 3 and there are 5 words in the word list 336, then word3 is the word selected 5 from the word list 336. However, if the modified hash value is 7 and there are 5 words in the word list 336, then word2 is the word selected from the word list 336.
The number generator 340 generates a calculated number, a preset number (e.g., identifying a status or mode for the 10 adapted digital signature 352), or any combination thereof. Preferably, the number generator 340 generates a number based on the remaining 116 bits from the digital signature (or hash value 324). According to one embodiment, a six digit ASCII number is generated. The first digit corresponds 15 to the mode of the adapted digital signature (e.g., which set of remote user information was used as an input to the digital signature engine 218—the remote user domain name, or the remote use rid and domain name). The subsequent five digits are based upon a bit pattern of the unused portion of the hash 20 value 324. For example, sixteen bits of the 116 bits can be selected and a combination of those sixteen bits can be turned into the five digit number.
The value 360 generated by the number generator 340 is appended to the word 356 selected from the word list 336 to form the adapted digital signature 352. The adapted digital signature 352 is concatenated with a local userid 308 and a domain name 364 to form the authenticated electronic userid 344. A delineator (e.g., "+") separates the local userid 308 from the adapted digital signature 352, while the at sign ("@") separates the adapted digital signature 352 from the domain name 364. Of course, other delineators, such as the
minus sign ("-"), the underscore (" "), the period ("."), the
equal sign ("=") or fixed length values can be used to delineate the address information.
If added security is desired, then the word list 336 can be bit-wise barrel-shifted or otherwise scrambled so that the values in the word list 336 cannot be casually copied. Accordingly, the scrambled value can be converted by the 4Q adaptation algorithm 326 when the word is needed, or just before concatenation of the adapted digital signature 352 to form the authenticated electronic userid 344.
FIG. 4 depicts a method for processing an inbound electronic message comprising an adapted digital signature 45 352.
In act 404, an inbound electronic message is received over the internet 104 at the mail exchanger 108. According to one embodiment, the inbound electronic message comprises message header information, such as an SMTP "MAIL 50 From" address and an SMTP "RCPT To" address. In act 408, authenticated message server 112 parses the "to:" field ("receiver" information) from the address information (e.g., the "RCPT To" information in the SMTP message) to identify a local userid and, possibly, an adapted digital 55 signature. The "from:" field ("remote user" or "sender" information) can also be parsed in act 408. Next, in act 412, a test is performed on the receiver information to determine whether an associated local userid is protected by the authenticated message server 112. If the associated local 60 userid is not protected, then in act 416, the message is accepted and passed on to the mail host 116. If the associated userid is protected, then processing continues to act 420.
In act 420, the authenticated message server 112 tests the receiver information parsed in act 408 to determine whether 65 the receiver information comprises an adapted digital signature 352. If the receiver information does not include an
adapted digital signature 352, then in act 424 the message is conditionally accepted but marked as unsigned. In one embodiment, if a local user or the administrator has configured the authenticated message server 112 to reject all unsigned messages, then a receipt log record is made recording the message header information and the message is then purged. However, in another embodiment, the administrator, or the local user may specify that unsigned messages must be queued to a particular location for later manual review. If the receiver information does include an adapted digital signature 352 then processing continues to act 428.
In act 428, a key lookup is performed. According to one embodiment, a key lookup includes matching a local userid (e.g., from the local userid list 304) with the local userid in the authenticated electronic userid (that is, the portion of the userid before the "+") and then retrieving the corresponding originator key from the originator key list 312. In act 432, the remote user information 316, together with the retrieved originator key (e.g., originator key 310) and the local userid 308 are used to calculate a hash value 324 with the hash function 320.
It is important to note that if mode information is contained in the inbound adapted digital signature, then the particular remote user information used by the hash function 320 will vary. Thus, according to one embodiment, the first digit of the number 360 will determine which remote user information to include as an input to the hash function 320.
In act 436, the adaptation algorithm 326 adapts the hash value 324 to form an adapted digital signature 352 (e.g., the word 356 and number 360). In act 440, the newly created adapted digital signature is compared with the adapted digital signature in the inbound e-mail message receiver information. If the two adapted digital signatures match, then processing continues to act 448. However, if the two adapted digital signatures do not match, then the inbound e-mail message is rejected by the authenticated message server 112.
In act 448, the inbound e-mail message is accepted by the authenticated message server 112 and marked as signed. Once the inbound e-mail message is marked as signed, it can be passed to the mail host 116 for access by the user e-mail client 120.
According to one embodiment, the word list 336 is not configurable after set up of the authenticated message server 112. Rather, the word list 336 is must be modified prior to initialization of the authenticated message server 112. However, if a post set up modifiable word list is desired, then a substitution list can be maintained. According to one embodiment, the substitution list is a two field, multi-row table configured to hold a first word and a second word in each row. A removed word field (column) holds the word that was removed from the word list 336 and a new word field (column) holds the new word substituted for the replaced word.
Thus, when an inbound e-mail message is received at the authenticated message server 112 the authentication process can further involve testing the substitution list to determine whether the word 356 in the adapted digital signature 352 is a word in the removed word field of the substitution list. If the word 356 is in the removed word field of the substitution list, then when the adaptation algorithm is performed the word selected by the adapted digital signature selector 332 from the word list 336 is matched with a word in the new word field in the substitution list. The word selected by the adapted digital signature selector 332 from the word list 336 is then replaced with the word in the replaced word field of the substitution list.