I use openvpn, it uses PKI so only hosts with keys that you've signed will be able to access your vpn. I found an article (http://blog.innerewut.de/articles/2005/07/04/openvpn-2-0-on-openbsd) that helped me get it set up. openvpn also has client + server versions for windows, so it might be useful to you.
Mike