[PREVIOUS CHAPTER] [NEXT CHAPTER]

4 PGP (Pretty Good Privacy) for authenticatoin of admin commands

    4.1	PGP (Pretty Good Privacy)

    Caution:
    I assume you know PGP well. I checked a combination of FML and PGP
    2.6.3ui but not PGP 5. Also I do not consider PGP/MIME, OpenBGP,
    etc....

    4.2	PGP Authenticated Remote Administration

    Apparent answers based on PGP are as follows:

    1	authentication using clear signed PGP

    Administrators are people whose public keys the server knows.

    The merit of this method is that the server does not require the
    server key generation.

    2	Prepare the PGP secret key of the server.
    	You encrypt the mail by server public key

    Administrators are people whose knows the server public keys.  This
    method requires the assumption "a ML machine is not broken" since the
    machine has the PGP private/secret and public key on the local
    disk. This assumption is very bad.

    FML uses the former method as an authentication method.

    [KNOWN BUGS] encrypted distribution and remote administration with PGP
    authentication shares pgp key directory. So you cannot use both
    simultaneously. I will fix this after fml 3.0.

    4.3	Register PGP Public Keys

    Each ML has each PGPPATH (environment variable). You should always use
    "makefml" in the following way:

    	makefml pgp <ML> pgp's options

    Let a public key be

    	public.asc

    It is the key of a remote administrator. Add the public key,

    	makefml pgp elena -ka public.asc

    	makefml pgp <ML> PGP's options

    PGP's options are the same as options of original program "pgp".

    Example: show the public key list of elena ML.

    	makefml pgp elena -kv

    4.4	Remote Administration Based On PGP

    1	write "admin commands"
    2	sign PGP clear sign to it
    	e.g. C-c /s if you use mailcrypt.el

    3	send the mail to the server

    4 	ML server checks public keys in ML's pgp pubrings (under
    	$DIR/etc/pgp/). If the mail is from the author (authenticated),
    	the server runs commands.

[PREVIOUS CHAPTER] [NEXT CHAPTER]