FaceWinUnlock-Tauri — TauriベースのWindows顔認証ログイン拡張

Security

概要

FaceWinUnlock-Tauri は、Tauri(Rust+Web UI)を核にしたWindows向けの顔認証ログイン拡張プロジェクトです。カスタムの Credential Provider を Windows ログインフローに組み込み(DLL 注入)、ログイン画面上で Vue 3 を使ったモダンな UI を表示します。バックエンドは Rust を使用し、OpenCV による顔認識アルゴリズムで認証を行います。顔の特徴データやシステム資格情報はローカルの SQLite に保存し、クラウド送信は行わない設計でプライバシーを重視しています。ローカルアカウントと Microsoft アカウント(MSA)の両対応を謳っており、最終的にはインストーラ付きの配布を目指しています。

GitHub

リポジトリの統計情報

  • スター数: 64
  • フォーク数: 1
  • ウォッチャー数: 64
  • コミット数: 2
  • ファイル数: 6
  • メインの言語: Rust

主な特徴

  • モダンなフロントエンド(Vue 3 + Element Plus)をログイン UI に組み込み
  • カスタム Credential Provider(DLL)で WinLogon のログイン画面と統合
  • Rust と OpenCV による軽量で高速な顔認識バックエンド
  • ローカル SQLite による顔特徴データ保存でクラウド非依存・プライバシー重視

技術的なポイント

本プロジェクトはシステムレベルの統合とモダンなデスクトップ UI の両立を目指しています。Tauri を採用することで、フロントエンドは Vue 3/Element Plus による軽快でカスタマイズしやすい UI を持ち、バックエンドは Rust の安全性と高速な IO 性能を活かしてファイル操作やレジストリ操作、ネイティブ DLL 呼び出しなどを担います。Windows ログイン画面と連携するために用いる Credential Provider(CP)は、通常 Winlogon/LogonUI の文脈で動作するため、プロセス境界・権限の問題や UI レンダリング制約(セキュリティコンテキストで動く等)を考慮する必要があります。

顔認識部分は OpenCV ベースと説明され、顔検出→特徴抽出→照合の流れを通じてローカルに保存したテンプレートと比較して認証します。テンプレートや資格情報は SQLite に保存され、README によればクラウドへアップロードしない方針です。ただし、システム統合を行う以上、Credential Provider の導入や DLL の注入には管理者権限と適切なコード署名が求められる点、Win32 のログオンフローを壊さないよう慎重な実装とテストが必要な点は特に重要です。

Tauri の IPC と Rust の組み合わせは、フロントエンドから認証要求を安全にバックエンドに渡し、結果を受け取る設計に適していますが、ログイン画面という高いセキュリティ境界で動作させる際は追加の検討(プロセス分離、メモリ上のテンプレート保護、SQLite ファイルの暗号化やアクセス制御、署名とインストーラの扱いなど)が必要です。さらに、MSA(Microsoft アカウント)対応はオンライン認証フローとの統合が絡むため、追加の API 認可やトークン取扱いの実装・検証が今後の課題になります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • .vscode: dir
  • LICENSE: file
  • README.md: file
  • Server: dir

…他 1 ファイル

Server ディレクトリには Rust 側のコード(バックエンドロジック、OpenCV 呼び出し、SQLite 操作、レジストリ操作やインストールスクリプトのフック等)が置かれている想定です。フロントエンドは Vue 3 と Element Plus を用いた UI 層、Tauri がそれらをまとめる役割を果たします。

まとめ

Windowsログインに統合する顔認証をTauriで実現する野心的なプロジェクト。実運用には署名・権限・暗号化の検討が不可欠です。

リポジトリ情報:

READMEの抜粋:

FaceWinUnlock-Tauri

FaceWinUnlock-Tauri 是一款基于 Tauri 框架开发的现代化 Windows 面容识别解锁增强软件。它通过自定义 Credential Provider (DLL) 注入 Windows 登录界面,结合前端 Vue 3 和后端 OpenCV 人脸识别算法,为用户提供类似 Windows Hello 的解锁体验。

通知

开发完成作者会构建发行版,建议点个star关注进度

✨ 特性

  • 现代化 UI: 基于 Element Plus 构建。
  • 系统级集成: 自动注册 WinLogon 凭据提供程序 (Credential Provider)。
  • 双账户支持: 同时支持本地账户 (Local Account) 与微软联机账户 (MSA) 解锁(联机账户未测试)。
  • 轻量级后端: Rust 后端确保了高效的文件 IO 处理与注册表操作安全性。
  • 隐私保护: 所有面容特征数据与系统凭据均通过 SQLite 本地存储,不上传云端。