1PGPVERIFY(1)              InterNetNews Documentation              PGPVERIFY(1)
2
3
4

NAME

6       pgpverify - Cryptographically verify Usenet control messages
7

SYNOPSIS

9       pgpverify [-test] < message
10

DESCRIPTION

12       The pgpverify program reads (on standard input) a Usenet control mes‐
13       sage that has been cryptographically signed using the signcontrol pro‐
14       gram (or some other program that produces a compatible format).
15       pgpverify then uses a PGP implementation to determine who signed the
16       control message.  If the control message has a valid signature, pgpver‐
17       ify prints (to stdout) the user ID of the key that signed the message.
18       Otherwise, it exits with a non-zero exit status.
19
20       If pgpverify is installed as part of INN, it uses INN's configuration
21       to determine what signature verification program to use, how to log
22       errors, what temporary directory to use, and what keyring to use.  Oth‐
23       erwise, all of those parameters can be set by editing the beginning of
24       this script.
25
26       By default, when running as part of INN, pgpverify expects the PGP key
27       ring to be found in pathetc/pgp (as either pubring.pgp or pubring.gpg
28       depending on whether PGP or GnuPG is used to verify signatures).  If
29       that directory doesn't exist, it will fall back on using the default
30       key ring, which is in a .pgp or .gnupg subdirectory of the running
31       user's home directory.
32

OPTIONS

34       The -test flag causes pgpverify to print out the input that it is pass‐
35       ing to PGP (which is a reconstructed version of the input that suppos‐
36       edly created the control message) as well as the output from PGP's
37       analysis of the message.
38

EXIT STATUS

40       pgpverify may exit with the following statuses:
41
42       0    The control message had a good PGP signature.
43
44       1    The control message had no PGP signature.
45
46       2    The control message had an unknown PGP signature.
47
48       3    The control message had a bad PGP signature.
49
50       255  A problem occurred not directly related to PGP analysis of signa‐
51            ture.
52

ENVIRONMENT

54       pgpverify does not modify or otherwise alter the environment before
55       invoking the pgp or gpgv program.  It is the responsibility of the per‐
56       son who installs pgpverify to ensure that when pgp or gpgv runs, it has
57       the ability to locate and read a PGP key file that contains the PGP
58       public keys for the appropriate Usenet hierarchy administrators.
59       pgpverify can be pointed to an appropriate key ring by editing vari‐
60       ables at the beginning of this script.
61

NOTES

63       Historically, Usenet news server administrators have configured their
64       news servers to automatically honor Usenet control messages based on
65       the originator of the control messages and the hierarchies for which
66       the control messages applied.  For example, in the past, David Lawrence
67       always issued control messages for the "Big 8" hierarchies (comp,
68       humanities, misc, news, rec, sci, soc, talk).  Usenet news administra‐
69       tors would configure their news server software to automatically honor
70       newgroup and rmgroup control messages that originated from David
71       Lawrence and applied to any of the Big 8 hierarchies.
72
73       Unfortunately, Usenet news articles (including control messages) are
74       notoriously easy to forge.  Soon, malicious users realized they could
75       create or remove (at least temporarily) any Big 8 newsgroup they wanted
76       by simply forging an appropriate control message in David Lawrence's
77       name.  As Usenet became more widely used, forgeries became more common.
78
79       The pgpverify program was designed to allow Usenet news administrators
80       to configure their servers to cryptographically verify control messages
81       before automatically acting on them.  Under the pgpverify system, a
82       Usenet hierarchy maintainer creates a PGP public/private key pair and
83       disseminates the public key.  Whenever the hierarchy maintainer issues
84       a control message, he uses the signcontrol program to sign the control
85       message with the PGP private key.  Usenet news administrators configure
86       their news servers to run the pgpverify program on the appropriate con‐
87       trol messages, and take action based on the PGP key User ID that signed
88       the control message, not the name and address that appear in the con‐
89       trol message's From or Sender headers.
90
91       Thus, appropriate use of the signcontrol and pgpverify programs essen‐
92       tially eliminates the possibility of malicious users forging Usenet
93       control messages that sites will act upon, as such users would have to
94       obtain the PGP private key in order to forge a control message that
95       would pass the cryptographic verification step.  If the hierarchy
96       administrators properly protect their PGP private keys, the only way a
97       malicious user could forge a validly-signed control message would be by
98       breaking the public key encryption algorithm, which (at least at this
99       time) is believed to be prohibitively difficult for PGP keys of a suf‐
100       ficient bit length.
101

SEE ALSO

103       gpgv(1), pgp(1)
104
105       <ftp://ftp.isc.org/pub/pgpcontrol/> is where the most recent versions
106       of signcontrol and pgpverify live, along with PGP public keys used for
107       hierarchy administration.
108

HISTORY

110       pgpverify was written by David C Lawrence <tale@isc.org>.  Manual page
111       provided by James Ralston.  It is currently maintained by Russ Allbery
112       <rra@stanford.edu>.
113
115       David Lawrence wrote:  "Our lawyer told me to include the following.
116       The upshot of it is that you can use the software for free as much as
117       you like."
118
119       Copyright (c) 1996 UUNET Technologies, Inc.  All rights reserved.
120
121       Redistribution and use in source and binary forms, with or without mod‐
122       ification, are permitted provided that the following conditions are
123       met:
124
125       1. Redistributions of source code must retain the above copyright
126          notice, this list of conditions and the following disclaimer.
127
128       2. Redistributions in binary form must reproduce the above copyright
129          notice, this list of conditions and the following disclaimer in the
130          documentation and/or other materials provided with the distribution.
131
132       3. All advertising materials mentioning features or use of this soft‐
133          ware must display the following acknowledgement:
134
135            This product includes software developed by UUNET Technologies, Inc.
136
137       4. The name of UUNET Technologies ("UUNET") may not be used to endorse
138          or promote products derived from this software without specific
139          prior written permission.
140
141       THIS SOFTWARE IS PROVIDED BY UUNET "AS IS" AND ANY EXPRESS OR IMPLIED
142       WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
143       MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
144       IN NO EVENT SHALL UUNET BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
145       SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIM‐
146       ITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
147       DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
148       THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
149       (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
150       OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
151
152
153
154INN 2.4.1                         2004-01-11                      PGPVERIFY(1)
Impressum