https://github.com/kiva/guardian-bio-auth
Plugin for using biometric fingerprint authentication with the aries-key-guardian
https://github.com/kiva/guardian-bio-auth
protocol protocol-backend
Last synced: 26 days ago
JSON representation
Plugin for using biometric fingerprint authentication with the aries-key-guardian
- Host: GitHub
- URL: https://github.com/kiva/guardian-bio-auth
- Owner: kiva
- License: apache-2.0
- Created: 2020-06-23T20:51:47.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2022-04-21T18:28:27.000Z (about 4 years ago)
- Last Synced: 2025-12-25T16:29:24.567Z (6 months ago)
- Topics: protocol, protocol-backend
- Language: Kotlin
- Homepage:
- Size: 30.6 MB
- Stars: 1
- Watchers: 4
- Forks: 3
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
- Security: SECURITY.txt
Awesome Lists containing this project
README
# guardian-bio-auth
This repo contains services and tools for using biometric fingerprint authentication with the aries-key-guardian.
Specifically, the main contents are a Bioanalyzer Service, Identity Service, Fingerprint Desktop Tool, and scripts for
the two databases that are used by Identity Service - `identity_intelligence_db` and `identity_template_db`.
## Bioanalyzer Service
The job of this service is to perform common analyses on biometric images. At the moment, it only supports fingerprint
images. The main job it performs is to determine the quality of the image provided, returning a score from 0 to 100, as
defined by ISO/IEC 29794-1:2016.
For more information, please take a look at [Bioanalyzer Service's README](bioanalyzer_service/README.md).
## Bio Auth Service
The job of this service is to manage access to generified biometric information. At the moment, that means fingerprint
templates. Given a fingerprint image (or several images), Bio Auth Service will generate templates based on those images
and store them in `identity_template_db`. If provided ANSI-378, ISO-19794-2, or SourceAFIS v3 templates, Bio Auth Service
will convert them into a SourceAFIS v3 template and store it in `identity_template_db`. Later, when presented with a
candidate fingerprint template, Bio Auth Service can verify that it does or does not match some fingerprint template that
it has previously stored.
For more information, please take a look at [Identity Service's README](bio_auth_service/README.md).
## Fingerprint Desktop Tool
The job of this tool is to provide a CLI for generating fingerprint templates based on a provided image.
For more information, please take a look at [Fingerprint Desktop Tool's README](fingerprint_desktop_tool/README.md).
## Running Guardian Bio Auth Locally
1. Make sure you have the Gradle installed. The easiest way to do this if you're on mac is to use homebrew:
`brew install gradle`. But if homebrew isn't an option, or you'd just prefer an alternate approach, check out
[their installation page](https://gradle.org/install/).
2. Make sure you have docker-compose installed. If you're running on a Mac, it should already be installed. But for full
installation instructions for all environments, see [Docker's documentation](https://docs.docker.com/compose/install/).
3. Generate `.env` files for each repository. You can execute `./scripts/useDummyEnvFiles.sh` to use the default dummy
values we provide, or manually create `.env` files with custom values. If you choose to take the manual approach, check
out the `dummy.env` files in each sub-project for the list of required environment variables.
4. Build Identity Service. From the identity_service directory, execute: `./gradlew build`
5. Build Bioanalyzer Service. From the bioanalyzer_service directory, execute: `./gradlew build`
6. Run the docker-compose. This will spin up a local network that the services and databases can communicate with each
other on. From the top-level guardian-bio-auth directory, execute: `docker-compose up`.
## Running Guardian Bio Auth Elsewhere
Bioanalyzer Service and Identity Service both have public images available in the kivaprotocol
[Dockerhub account](https://hub.docker.com/orgs/kivaprotocol/repositories). They are called
[bioanalyzer](https://hub.docker.com/repository/docker/kivaprotocol/bioanalyzer) and
[identity](https://hub.docker.com/repository/docker/kivaprotocol/identity), respectively. Feel free to pull them down
and use them in your own deployments as you see fit.
## Running Tests
Assuming you have gradle installed, running the tests is as simple as:
cd identity_service
./gradlew test
and
cd bioanalyzer_service
./gradlew test