After billions of Google searches I finally found where to begin. What I want to do is write a custom GINA. I found this article on MSDN that explains the process.
Edit: Credential Providers have replaced GINA in Windows Vista and above. An overview is found here.