The preferred embodiment for implementing MyMail’s SES requires at least three groups of servers (where a group of servers consists of at least one or more computers), where each group of servers is dedicated to performing a single independent function.
The three independent functions are:
The server group performing the “Email Database Host” function requires at least one private network connection and no public Internet connections. The server group performing the “Application Host” function requires at least one public Internet connection and one private network connection. And the server group performing the “Paired Key Store” function requires at least one private network connection and no public Internet connections.
Alternatively a MyMail’s SES system or service can be configured using two groups of servers configured for the “Combined Application Database Host” function, and the “Paired Key Store” function. This implementation, although secure, is not as secure as the preferred embodiment implementation described above since the actual email message storage is on a server that is directly connected to the public Internet.
![]() |
The PKS is housed on secure servers physically separated from the Email Database Host (EDH), Application Host (AH) and/or the Combined Application Database Host. The PKS stores each subscriber’s encryption key pairs in an encrypted MySQL database table. The PKS references the subscriber’s Public Encryption Key (PEK) and Private Decryption Key (PDK) pair using a 32-bit hash of the subscriber’s full email address. There are several functions of the PKS described below. The PKS is a Representational State Transfer “REST” web service with a command link interface. Access to the PKS is restricted to the source IP addresses of the Application Hosts with a valid 32-bit User ID and password pair. A call is made to retrieve a user’s PEK when new mail arrives and is encrypted from the SSL stream before storage. At login a call is made to retrieve a subscriber’s PDK when the user accesses their mail via Webmail or POP3.
Account Provisioning involves three processes:
Each subscriber’s User ID is generated by taking the user’s name and desired or assigned domain name and running it through an ID inspection calculation to insure that the User ID is unique for the desired or assigned domain name prior to creation. For example if the User ID john.smith@MyMail .net already existed the subscriber would be given the option of selecting a known unique address such as: johnsmith@MyMail.net, john.smith01@MyMail.net or johnsmith123@MyMail.net, or of entering his own alternative address.
Generating each subscriber’s Public Encryption Key and Private Decryption Key pair involves the following steps:
Once the subscriber’s Public Encryption Key and Encrypted Private Decryption Key pair is created it is secured with a Dynamic Row Secret created by a hardware random number generated algorithm on the Paired Key Store. The Dynamic Row Secret is used to encrypt each subscriber’s Public Encryption Key and Encrypted Private Decryption Key pair, and is itself encrypted using the Paired Key Store’s Public Encryption Key.
After the subscriber’s Public Encryption Key, Encrypted Private Decryption Key and Encrypted Dynamic Row Secret have been created they are stored in a MySQL database on the Paired Key Store.
The last process of provisioning a subscriber’s account creates a file for the MyMail SES’s proprietary secure-qmail Message Transfer Agent.
Webmail Account Login Process (ALP)