Fingerprint verification is an important biometric technique for personal identification. In this paper, we describe the design and implementation of a prototype automatic identity authentication system which uses fingerprints to authenticate the identity of an individual. We have developed an improved minutiae extraction algorithm which is faster and more accurate than our earlier algorithm. An alignmentbased minutiae matching algorithm has been proposed. This algorithm is capable of finding the correspondences between input minutiae and the stored template without resorting to exhaustive search and has the ability to adaptively compensate for the nonlinear deformations and inexact transformations between an input and a template. To establish an objective assessment of our system, both the MSU and the NIST 9 fingerprint databases have been used to estimate the performance numbers. The experimental results reveal that our system can achieve a good performance on these databases. We have also demonstrated that our system satisfies the response time requirement. A complete authentication procedure, on average, takes about 1.4 seconds on a Sun ULTRA 1 workstation.