Hi, my pseudo code solution would look about like
the following:

Legend: E...encryption function
        D...decryption funtion
         S...signing function
         pubK[x]...public key party "x"
         privK[x]...private key party "x"
------------------
ListContribution:
E(message+S[message,privK[contributor]], pubK[server])

let's introduce
message+S[message,privK[contributor]] -> "signed message" :-)

ListServer Receive:
D(E("signed message", privK[server])) = "signed message"

note: valid conributors signature intact, since only net message was signed.
---------------------------------
ListServer Redistribute message:

let's introduce
"signed message"+S["signed message",privK[server]] ->
'server signed "signed message"'

for each listmember do

  if (listmember trusts Listserver)
  then
  # keep listmembers from validating each others members signature
  E('server signed "signed message"', pubK[listmember])

  else
   # just let alone the signed message and every listmember who wishes to
   # checks the validity of the signature on his/her own
  E("signed message", pubK[listmember])
  endif
next
---------------------------------
Listmember Reception of message:

if (Listmember trusts Listserver)
  then
  D(E('server signed "signed message"', 
pubK[listmember]),privK[listmember]) =
'server signed "signed message"'

  Check only trusted servers signature.

  else
  D(E("signed message", pubK[listmember]),privK[listmember]) =
"signed message"

  Check senders signature.
endif.
--------------------------------------------------------------

As I see it nobody needs to hold anybodies elses private key !

regards
Roman




Damian Hesse wrote:

> Jörn,
> 
> 
>>>The task: now we want to set up mailinglists (server side)
>>>like "[EMAIL PROTECTED]" where some users of our company and
>>>some from a customer should be able to write signed and
>>>encryted emails and everybody on the list should be able to
>>>read it.
>>>
>>>The question is how should this be done? The only solution I can
>>>imagine is to generate a certificate for the list and send the p12-file
>>>to everybody on the list. But does it really work with all mail
>>>programs, because for example: user A send an encrypted mail to
>>>[EMAIL PROTECTED] which is expanded to user B, but its not originally
>>>encrypted for B...
>>>
>>>
>>Message senders encrypt the message with the public key of the
>>mailinglist. The mailinglist server decrypts the message using the
>>private key for the mailinglist and encrypts it again individually
>>for every recipient. The problematic part is the signature, I guess.
>>Would it be possible to keep the original signature?
>>Or does the server have to check the sender's signature and sign
>>it again with it's private key if the original signature is correct?
>>
>>The email programs would handle the encryption part nicely,
>>but I fear that you cannot keep the original signature..
>>
>>Jörn Sierwald
>>
> 
> No the signature is not the (main) problem. The problem are the 
> private keys of the users of the list. I don´t think thats a good idea 
> to have private keys of users on a central mail server. They should 
> remain on the client computers with password requests for every 
> access to make sure that nobody except the user itself have 
> access to the usage of their own certificates. Keep in mind that 
> in your model even the customer needs to give us their private keys 
> which is hardly possible, isn´t it?
> 
> Damian
> 
> 


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to