security - Server to Client SSL Encryption w/o SSL Authentication - Tomcat & Spring -
scenario: sensitive information exchanged (1) client server , (2) server client.
problem: data exchanged not encrypted, sniffing easy (it's theoretically possible, right?)
solution: encrypt data transmitted in either direction (server-to-client , client-to-server).
implementation:
(1) client server - generate certificate, install private key on server , configure tomcat work on https (many tutorials online).
(2) server client - private key goes (or generated by) clients, seems tutorials emphasize that every client should have own certificate sake of authentication.
question: if authenticating users through database username/password (hashed salt) combo, still need encrypt server-to-client data transmissions reduce chance of sniffing, can generate 1 private key clients? there other ways of achieving need tomcat/spring?
it seems you're mixing up:
regular https includes encryption in both directions, , private key + certificate on server side. once client requests resources through https, answer encrypted. you'll need enforce https connection (e.g. redirecting requests https no delivery of data through http)
if want client certificates, these purely used client authentication, sharing common client key/certificate possible clients defeat purpose. having client keys/certs not add more encryption data transfer.
answering follow-up question in comment:
for https, server keeps private key, public key shared client. on typical https, client can reasonably sure server (authentication, done through trustworthy signature on server's public key. pay trustcenters for) however, server has no clue client (here client certificates come play, purely authentication, not encryption)
server , client negotiate common session key. purpose there many different implementations of key-exchange protocol. forum not right place describe session negotiation , ssl handshake again, can sure need server side key purpose describe above: take website example: if go google mail, https encryption works through them having private key , certified (signed) public key: have no client side certification, provide username , password through encrypted connection them. otherwise you'd have install client side key/certificate lot of services - , of burden average internet user.
hope helps.
Comments
Post a Comment