En lösning är ju att enbart använda mjuka klientcertifikat. Blir troligen billigast. Nackdelen är hanteringen av certifikaten. Måste installeras på varje dator som användaren vill kunna logga in från, och ligger då (oftast) på hårddisken, åtkomligt om någon tar sig in i datorn. Handelsbanken använder en något modifierad form (kräver extra programvara, men i botten ligger ändå ett mjukvarucertifikat) av denna metod, och jag tror även det finns andra banker som använder en "ren" form av digitala certifikat (utan extra programvara). Så säkerheten när det gäller själva förbindelsen får nog anses vara säker nog för de flesta.
En annan lösning är engångslösenord. Antingen får varje användare en bunt engångslösenord utskrivna (tror t.ex. nordbanken kör med den metoden), eller så får de en dosa som genererar ett nytt engångslösenord vid varje användning (enligt en förutbestämd algoritm, som kan variera för varje användare genom att använda smarta kort). Ett exempel på sådana produkter är ActivCard (stor aktör) som har produkter både med och utan smarta kort (svenska återförsäljare finns på hemsidan). Tror att även RSA SecurID faller in under denna kategori (har dock inte använt produkten). Sök på "one time password" i Google för att hitta mer information och produkter. Bör väl nämnas att det även finns helt mjukvarubaserade "dosor", men dessa är inte så vanliga enligt min uppfattning (kanske för att de inte innebär någon avsevärd förbättring jämfört med mjuka certifikat).
En variant på denna metod går ut på att servern skickar en kod till användaren som denne matar in i sin dosa (eller "mjukvarudosa"). Dosan genererar då ett lösenord baserad på denna kod som användaren sedan loggar in med.
Sedan finns det det kombinationer av ovanstående. Finns lösningar med fingeravtrycksavläsare, och t.o.m. enheter som läser av ögats iris, i bästa James Bond-stil. :)
Om ni verkligen menar allvar med säkerheten så kanske ni skulle fundera på att anlita någon som kan detta bra. D.v.s. någon av de etablerade säkerhetskonsulterna. Blir kanske något dyrare, men förhoppningsvis innebär det även färre fallgropar.
edit/ Du skriver att du vill "digitalt signera klienter". Innebär att du säger att du vill säkerställa att klienten är den den utger sig för att vara. Men det är väl ändå så att det är användaren du vill autentisiera (mitt resonemang ovan bygger på det antagandet, bör väl nämnas)? Eller?