Download SELS brochure
|
List Moderator
After meeting the prerequisites defined for List Moderator under Installation, you are ready to create a
secure email list. In the following we use the example of a list called mylist. In order to secure the list
several keys needs to be established and shared between the List Moderator
and the List Server. To identify these keys, we use the following convention:
PK represents a public key, K represents a private key, LM represents the
List Moderator, LS represents the list server, and the sig, ver, enc, dec
denote the function of the key, namely, signing, verification, encryption,
and decryption. Furthermore, all these keys are unique to the list mylist. Using this convention, the keys
of primary interest are (1) the List Moderator's signing and verification
keys K_LMsig, PK_LMver, (2) the List Moderator's
decryption and encryption keys K_LMdec, PK_LMenc, (3)
the List Server's signing and verification keys K_LSsig,
PK_LSver, (3) the List Server's decryption and encryption keys
K_LSdec, PK_LSenc, and (4) the list's encryption key
PK_mylistenc.
We note that GPG users are typically familiar with public and private
keys, and not necessarily with signature, verification, encryption and
decryption keys. In fact, verification key is nothing but the corresponding
public key of the private (signing) key and encryption key is nothing but the
corresponding public key of the private (decryption) key. Most GPG
certificates contain these two public/private key pairs. If you execute the
command:
gpg --edit-key <key-id/name>
you will see the two keys pairs distinguished by their usage codes: C for
certificate, S for Signing and A for authentication are typically associated
with the signing/verification key pair while E for encryption is typically
associated with the encryption/decryption key pair. This is illustrated in
the example below. We make this distinction between these two keys pairs to
help you, the List Moderator, in following the implementation and use of SELS
software a little better.
$ gpg --edit-key 5009CAFF
gpg (GnuPG) 1.4.1; Copyright (C) 2005 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
Secret key is available.
pub 1024D/5009CAFF created: 2006-09-20 expires: never usage:
CSA
sub 1024g/B812A35E created: 2006-09-20 expires: never usage:
E
Let us say you want to create a list by the name mylist, your
e-mail address is testuser@pkirack1.ncsa.uiuc.edu, and SELS List
Moderator software is installed in <sels-install-path>.
If you already have a GPG Key you can use it or you can create one
using the following command:
gpg --gen-key
Please remember the passphrase protecting the signing key as you will be
asked to enter this passphrase every time you sign a message with this
key.
Request list creation and establish List Moderator's
signature verification key. Use the following command to export
your signature verification key (signing public-key) in ascii encoded
format to a temporary file
gpg --export -a <signature-key-id/name> > tmp-pubkey.asc
Usually <signature-key-name> is your e-mail address.
Send your signature verification key in an email, by attaching file
created above (tmp-pubkey.asc), to the List Administrator
(selsadmin@pkirack1.ncsa.uiuc.edu) with a subject heading " Request to create list mylist". On receiving this
message, the List Server will place trust in the provided signature
verification key, PK_LMver. To do so, the List Server admin
may contact you to provide a fingerprint verification of this key, which
you do by executing the following command
gpg --fingerprint <signature-key-id/name>
Establish List Server's signature verification
key.
You will receive an email back from the List Server with the list creator
password and his signature verification key (signing public key). Import
this key into your keyring by 1) saving this e-mail as a file say
filename.msg and 2) using the following command:
"gpg --import filename.msg"
After importing the key you need to trust it using your email client's
GPG plug-in or via GnuPG command:
"gpg --sign-key<list-server-signature-key-id/name>"
In this case <list-server-signature-key-name> is
selsadmin or selsadmin@pkirack1.ncsa.uiuc.edu. If you'd
like an independent fingerprint verification of the key before trusting
it, please contact Meenal
Pant. Note that prior to sending this email the Site Administrator
needs to execute some manual steps, therefore, please allow for some time
during business hours for this email to be sent.
Create List. Now go to NCSA list server here and create a
list using the list creator password provided in the e-mail from List
Server. Enter your email address in the "Initial list owner address"
field. Set up a password for the list administration interface using
fields "Initial list password" and Confirm initial password". Enter list
creator password provided by List Server (LS) in "List creator's
(authentication) password" field.
To use SELS effectively, some changes are needed for the list
settings. At present these will be done by the site administrator,
selsadmin. These changes are as follows:
- Message footer option under Non Digest Options are turned off.
- Under the Privacy options, "Confirm & Approve" is chosen for
the question "What steps are required for subscribing?"
- Digest option for batch delivery of email are turned off.
You will receive a signed email from the List Server once these
configuration changes have been made. You are then ready to generate and
install keys. Note that prior to sending this email the Site
Administrator needs to execute some manual steps, therefore, please allow
for some time during business hours for this email to be sent.
Establishing List Moderator's decryption and encryption
keys. Go to <sels-install-path>/sels-x.x/bin
and execute the following command.
python SELSModerator.py -l mylist --createLMkeys
This script creates and installs the List Moderator's signature as
well as decryption/encryption key pair associated with the list into your
GnuPG keyring ((K_LMsig,PK_LMver),
(K_LMdec, PK_LMenc)).
You will be asked to provide 1) your e-mail address and 2) an ascii
encoded key block of your signing and verification keys:
K_LMsig, PK_LMver. This key block can be generated
by using the following command:
You will be then asked to provide a password to protect your
decryption key. Please choose a strong password that you can remember.
(You will be asked to provide this password every time you subscribe a
user.)
This script will end with sending an email containing the key
PK_LMenc and some parameters to List Server. These parameters
are used by the List Server to generate its decryption and encryption
keys.
Wait to receive a signed email with the subject "LS public key for list mylist" from the List Server. This email
contains the List Server's encryption key, PK_LSenc (signed by
the List Server) for the list mylist.
Establishing the list encryption key. Execute the
following command to generate PK_mylistenc and send the signed
key to the List server via email.
python SELSModerator.py -l mylist --createListkey
You will be asked to provide a key block of the List Server's
encryption key, which was sent to you by the List Server in the previous
email.
You will receive a signed email from the List Server after the list
encryption key has been correctly installed at the server. At this point
in time, you can start subscribing users.
Before generating Subscriber key pair for a user, the user should be
subscribed to the list. Either you, as a List Moderator, could subscribe the
user to the list via the Mailman website or the user could subscribe itself
via the Mailman website. In the latter case the user's subscription request
is forwarded to you for approval, which you can provide via email or via the
website. After giving this approval, you as List Moderator need to generate
and distribute a decryption and encryption key to the user
(K_Udec, PK_Uenc), the list encryption key
(PK_mylistenc), and parameters to the List Server for generation
of proxy keys. NOTE: To receive messages sent to the list, you must first
subscribe yourself; i.e., first subscribe to the list via the Mailman website
and then generate keys for yourself as you would for any other user (and
follow List Subscriber
instructions to complete your subscription process).
Got to <sels-install-path>/sels-x.x/bin/.
Execute the following command:
python SELSModerator.py -l mylist --subscribeUser
You will need to provide the List Subscriber's name and email, say
test-subscriber and test-subscriber@pkirack1.ncsa.uiuc.edu,
followed by a password to protect the generated decryption key. The same
password is also used to encrypt the email to the Subscriber. Please
choose a strong password and give it to the Subscriber using secure means
(e.g., in person, over the phone).
You will also need to provide your passwords for List Moderator's
decryption and signing keys, established earlier. If you are wondering
what those keys are use the following command to list the keys associated
with your list:
gpg --homedir=<sels-install-path>/sels-x.x/lists/mylist --list-secret-keys
The key with name starting with LM(mylist) is your decryption
key, which you generated earlier in the step Generating and Installing
Keys to secure the List above. The other key is your signing key,
which you installed in the step Creating a List above.
This script generates the List Subscriber, test-subscriber's, decryption and
encryption key pair associated with the list mylist. The script sends (as List
Moderator) an encrypted and signed email containing test-subscriber's key pair and
mylist encryption key to
test-subscriber. The script
(as List Moderator) also sends the test-subscriber's parameters to the
List Server via email.
For mass subscription of users execute the following command.
python SELSModerator.py -l mylist --subscribeUser --batch "inFile.txt"
For creating input file "inFile.txt" , send an email with
subject "who <list password>" to your mailman list, for
e.g. mylist-request@pkirack1.ncsa.uiuc.edu
You will receive an email containing email addresses and names of
users' subscribed to your list. Save this information to a text file. A
sample of what this file should look like is shown here.
cd ~sels-x.x/LM/bin/lists/mylist>
Locate the file SELS-mylist.txt This file contains random
passwords assigned to each user. Convey this password to the user by some
secure means , ex. a phone call.
The List Moderator will see a signed email from the List Server with
subject "Corresponding keys
generated for user test-subscriber (mylist)
<test-subscriber@pkirack1.ncsa.uiuc.edu> of list mylist" in
his inbox, once the List Subscriber test-subscriber's corresponding
keys have been generated
Last modified 02/07/08
.
Copyright 2000-2008 Board of Trustees of the University of Illinois.
|