SEOSiri-Official/biometric_iot_bridge

GitHub: SEOSiri-Official/biometric_iot_bridge

将设备生物识别与 IoT 远程控制串联的 Flutter 安全插件,用于构建「身份验证-令牌签发-设备信令」的信任链路。

Stars: 0 | Forks: 0

# biometric_iot_bridge Flutter 生物识别认证与安全 MQTT IoT 桥接器。利用平台生物识别技术验证用户身份,生成加密令牌,并通过硬件级安全机制触发受信任的设备操作。 [![Pub Version](https://img.shields.io/pub/v/biometric_iot_bridge)](https://pub.dev/packages/biometric_iot_bridge) [![Pub Points](https://img.shields.io/pub/points/biometric_iot_bridge)](https://pub.dev/packages/biometric_iot_bridge/score) [![Popularity](https://img.shields.io/pub/popularity/biometric_iot_bridge)](https://pub.dev/packages/biometric_iot_bridge/score) [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE) [![Platform](https://img.shields.io/badge/platform-Flutter-blue)](https://flutter.dev) [![Security Focus](https://img.shields.io/badge/focus-Security-critical)](https://pub.dev/packages/biometric_iot_bridge) [![Build Status](https://dev.azure.com/seosiri/SEOSiri/_apis/build/status%2FSEOSiri-Official.biometric_iot_bridge?branchName=main)](https://dev.azure.com/seosiri/SEOSiri/_build/latest?definitionId=1&branchName=main) ![Stars](https://img.shields.io/github/stars/SEOSiri-Official/biometric_iot_bridge) ![CI](https://dev.azure.com/...) 生物识别 IoT 设备与开发者集成的桥接层。 ## ✨ 什么是 biometric_iot_bridge? `biometric_iot_bridge` 是一个 Flutter 插件,用于连接**设备生物识别**、**安全令牌生成**与 **IoT 设备信令**。 它允许 Flutter 应用安全地: - 使用指纹 / 面部 / 设备凭据验证用户 - 生成加密安全的令牌 - 通过 MQTT 向 IoT 设备发送受信任的命令 该包专为**安全敏感**、**设备感知**和**远程控制**的工作流而设计。 ## 🚀 核心功能 | 功能 | 描述 | |---|---| | ✅ 生物识别认证 | 原生平台 API(指纹、面部、设备 PIN) | | ✅ 安全令牌 | 加密哈希 — 不存储原始生物识别数据 | | ✅ MQTT 信令 | 通过 MQTT 将令牌发布到 IoT 主题 | | ✅ Flutter 优先 | 简洁、极简的 Dart API | | ✅ 多平台 | Android, iOS, Windows, macOS | ## 🏗 架构概览 ``` ┌───────────────────────┐ │ Flutter App │ │ (Dart / UI Layer) │ └──────────┬────────────┘ │ │ verifyBiometrics() ▼ ┌───────────────────────┐ │ local_auth Plugin │ │ (Platform Biometrics) │ └──────────┬────────────┘ │ Success / Failure ▼ ┌───────────────────────┐ │ Token Generation │ │ (SHA-256 via crypto) │ └──────────┬────────────┘ │ │ sendRemoteSignal() ▼ ┌───────────────────────┐ │ MQTT Client │ │ (mqtt_client) │ └──────────┬────────────┘ │ ▼ ┌───────────────────────┐ │ IoT / Backend │ │ (Broker / Device) │ └───────────────────────┘ ``` ## 📦 安装 添加到您的 `pubspec.yaml`: ``` dependencies: biometric_iot_bridge: ^0.1.4 ``` 然后获取依赖包: ``` flutter pub get ``` ## ⚙️ 平台设置 ### Android 添加到 `android/app/src/main/AndroidManifest.xml`: ``` ``` ### iOS 添加到 `ios/Runner/Info.plist`: ``` NSFaceIDUsageDescription This app uses Face ID / Touch ID to verify your identity. ``` ### Windows / macOS 无需额外设置。使用原生设备认证 API。 ## 🛠 快速开始 ### 1. 导入 ``` import 'package:biometric_iot_bridge/biometric_iot_bridge.dart'; ``` ### 2. 初始化 ``` final bridge = BiometricIotBridge(); ``` ### 3. 验证生物识别 ``` final authenticated = await bridge.verifyBiometrics(); if (!authenticated) { print("Authentication failed"); return; } ``` ### 4. 生成安全令牌 ``` final token = bridge.generateSecureToken("my_secret_key"); ``` ### 5. 向 IoT 设备发送信号 ``` await bridge.sendRemoteSignal("iot/unlock", token); ``` ## 🔄 完整的端到端示例 ``` final bridge = BiometricIotBridge(); final authenticated = await bridge.verifyBiometrics(); if (!authenticated) return; final token = bridge.generateSecureToken("your_secret_key"); await bridge.sendRemoteSignal("iot/device/action", token); ``` ## 🔐 安全设计 本包遵循**非侵入式安全模型**: * 使用平台原生的生物识别 API — 不访问原始生物识别数据 * **不**存储指纹 / 面部数据 * 通过 SHA-256 生成加密令牌 * 为**信任信令**设计,而非身份存储 ## 🛡 威胁模型与安全说明 `biometric_iot_bridge` 假定: **受信任的组件** * OS 生物识别子系统 * Secure enclave / TEE(如果可用) * MQTT 传输安全(开发者责任) **不在范围内** * Broker 被入侵 * 无 nonce/过期时间的重放攻击 * 密钥管理 **建议的加固措施** * 使用 TLS MQTT(端口 8883) * 添加令牌过期时间 / nonce * 定期轮换密钥 * 验证主题权限 ## 🧩 示例用例 * 智能锁 / 物理门禁系统 * IoT 设备授权 * 硬件绑定的信任流程 * 安全远程触发器 * 多因素安全流水线 ## ⚙️ 支持的平台 | 平台 | 状态 | | -------- | ----------- | | Android | ✅ 支持 | | iOS | ✅ 支持 | | Windows | ✅ 支持 | | macOS | ✅ 支持 | ## 📖 API 参考 ### `verifyBiometrics()` ``` Future verifyBiometrics() ``` 触发平台生物识别认证。 ### `generateSecureToken(String secret)` ``` String generateSecureToken(String secret) ``` 返回 SHA-256 哈希令牌。 ### `sendRemoteSignal(String topic, String token)` ``` Future sendRemoteSignal(String topic, String token) ``` 将令牌发布到 MQTT 主题。 ## 📦 依赖项 | 包 | 用途 | | ----------- | ------------------------ | | local_auth | 生物识别认证 | | crypto | 安全哈希 | | mqtt_client | MQTT 通信 | ## 🏗 设计目标 * 可预测的 API 行为 * 最小化抽象 * 安全感知的默认设置 * 与 Broker 无关的设计 ## 📈 pub.dev 评分优化 本包遵循 pub.dev 最佳实践: * ✅ 记录了平台设置 * ✅ 提供了示例用法 * ✅ Null-safe Dart * ✅ 启用了 Lints * ✅ 包含许可证 * ✅ 定义了仓库元数据 ## 🤝 贡献 欢迎提交 PR 和改进建议。 仓库:[https://github.com/SEOSiri-Official/biometric_iot_bridge](https://github.com/SEOSiri-Official/biometric_iot_bridge) ## 📜 许可证 MIT 许可证。详见 [LICENSE](LICENSE)。 ## 🌍 署名与维护 开发与维护者: **Momenul Ahmad** SEOSiri — [https://www.seosiri.com](https://www.seosiri.com) ## ⭐ 支持 如果这个包对您有用: * ⭐ 在 GitHub 仓库加星 * 👍 在 pub.dev 点赞 * 🐛 报告问题
标签:C2日志可视化, Dart, Flutter插件, IoT安全网桥, Keychain, Keystore, SEOSiri, 人脸识别, 信号加密, 加密令牌, 安全通信, 开发工具包, 指纹识别, 智能家居, 物联网, 生物识别认证, 目录枚举, 硬件密钥库, 硬件级安全, 移动安全, 设备凭证, 跨平台开发, 远程控制, 零信任架构