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
13       message that has been cryptographically signed using the signcontrol
14       program (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,
17       pgpverify prints (to stdout) the user ID of the key that signed the
18       message.  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.
23       Otherwise, all of those parameters can be set by editing the beginning
24       of 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
33       INN, when using GnuPG, configures pgpverify to use gpgv, which by
34       default expects keys to be in a keyring named trustedkeys.gpg, since it
35       doesn't implement trust checking directly.  pgpverify uses that file if
36       present but falls back to pubring.gpg if it's not found.  This bypasses
37       the trust model for checking keys, but is compatible with the way that
38       pgpverify used to behave.  Of course, if a keyring is found in
39       pathetc/pgp or configured at the top of the script, that overrides all
40       of this behavior.
41

OPTIONS

43       The -test flag causes pgpverify to print out the input that it is
44       passing to PGP (which is a reconstructed version of the input that
45       supposedly created the control message) as well as the output from
46       PGP's analysis of the message.
47

EXIT STATUS

49       pgpverify may exit with the following statuses:
50
51       0   The control message had a good PGP signature.
52
53       1   The control message had no PGP signature.
54
55       2   The control message had an unknown PGP signature.
56
57       3   The control message had a bad PGP signature.
58
59       255 A problem occurred not directly related to PGP analysis of
60           signature.
61

ENVIRONMENT

63       pgpverify does not modify or otherwise alter the environment before
64       invoking the pgp or gpgv program.  It is the responsibility of the
65       person who installs pgpverify to ensure that when pgp or gpgv runs, it
66       has the ability to locate and read a PGP key file that contains the PGP
67       public keys for the appropriate Usenet hierarchy administrators.
68       pgpverify can be pointed to an appropriate key ring by editing
69       variables at the beginning of this script.
70

NOTES

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

HISTORY

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

SEE ALSO

157       gpgv(1), pgp(1).
158
159       <ftp://ftp.isc.org/pub/pgpcontrol/> is where the most recent versions
160       of signcontrol and pgpverify live, along with PGP public keys used for
161       hierarchy administration.
162
163
164
165INN 2.5.2                         2009-05-21                      PGPVERIFY(1)
Impressum