(RADIATOR) Server and Client verification in RADSEC

Jan Tomasek jan at tomasek.cz
Tue Nov 22 04:39:19 CST 2005


Hello,

sorry for being that straightforward, but actual code code in Radiator
handling RADSEC server/client verification is completly wrong.

It's needed to start use subjectAltName certificate at first place and
forgot any hostlookup by DNS. I will try to describe how it should be done:

Server side
===========
 - server trust to it's store of certs and verify client by one
   of posible ways:
     - no verification (not all client's necesary need cert)
     - accept client if it has certificate signed by one
       of trusted CA's (most common way)
     - accept only client whith certificate stored in cert store

that above is minimum set of needed features. Note here is no reverse
lookup in insecure DNS. It's not needed trust lay on PKI!

Client side
===========
 - client has also it's store of certs and has same options to verify
   server's certificate as server itself.
 - BUT! client knows to what server it is connecting (given from admin
   by Host directive in <AuthBy RADSEC> section, or by an <unspecified>
   peer location service), so client can check if server has in
   certificate expected name.

   That check is done against values in dNSName of subjectAltName
   extension. There is posible that in dNSName is also * as wild card.
   For example: *.cesnet.cz is good for www.cesnet.cz, foo.cesnet.cz but
   not for cesnet.cz.

   If there is no subjAltName than you do check agains CN, but using CN
   for this purpose is deprecated!

   If there is iPAddress in subjAltName you have check that IP address
   too. This apply to server also.

Maybe some variaton to "TLS_ExpectedPeerName" might be interesting. But
that regular expression should be better to applied to whole normalized
subject. But I suggest just to drop this and provide hook to SSL
verication callback from OpenSSL.

Of course both client and server have to check CRL - I know there is
posibility of providing TLS_CRLFile to Radiator, so this seams to be
good enouht. I will maybe provide coments about this later.

For exact informations about this I suggest to reading RFC 2595 and 2818:
	http://www.faqs.org/rfcs/rfc2595.html
	http://www.faqs.org/rfcs/rfc2818.html

If you will need more info, feel free to ask. Will do my best to help
you implement it in better way.

Best regards
-- 
--------------------------------------------------------------
Jan Tomasek aka Semik           work: CESNET, z.s.p.o.
http://www.tomasek.cz/                Zikova 4, 160 00 Praha 6
                                      Czech Republic
phone(work): +420 2 2435 5279         http://www.cesnet.cz/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: OpenPGP digital signature
URL: <http://www.open.com.au/pipermail/radiator/attachments/20051122/3988109c/attachment.bin>


More information about the radiator mailing list