tkeeper-org/tkeeper
GitHub: tkeeper-org/tkeeper
TKeeper 是一个密码学身份治理层,通过门限签名和策略审核机制,为机器、AI agent 和服务的敏感操作提供受治理的密钥授权。
Stars: 12 | Forks: 0

# TKeeper
[TKeeper Labs](https://tkeeper.org) • [exploit.org](https://exploit.org) • [文档](docs/README.md) • [OpenAPI](openapi.yaml)
TKeeper 是一个为机器、agent、服务和工作流设计的受治理的密码学身份层。
每个密钥代表一个身份。它的 authority 定义了该身份可以授权哪些操作、TKeeper 如何解释这些操作,以及在生成证明之前必须通过哪些策略。
对于类型化的 authority,执行合约如下:
```
No understood and approved intent -> no cryptographic proof -> no effect.
```
## TKeeper 治理什么
TKeeper 控制一个身份何时可以生成密码学证明或更改其自身的密钥状态:
- 受治理操作的签名
- 证书签名
- 密钥生命周期操作
- 可选的密码学操作,例如 ECIES 解密
对于外部操作,执行取决于验证器:下游系统必须拒绝那些没有为确切接受的意图提供证明支持的效果。
## 使用场景
| 使用场景 | TKeeper 治理的内容 |
| --- | --- |
| AI agent | 类型化的工具/操作意图、支出、生产操作、已签名决策 |
| 加密资产 | EVM 和 Bitcoin 交易签名、金库工作流 |
| 证书 | X.509 签发和工作负载身份操作 |
| 内部系统 | 类型化命令、特权自动化、break-glass 流程 |
参见 [使用场景](docs/use-cases/README.md)。
## Authority 路径
```
request
-> key identity
-> authority
-> understood intent
-> policy and audit controls
-> mono or threshold cryptographic operation
-> proof
-> downstream verification
-> effect
```
如果操作可以绕过受治理的身份,TKeeper 无法自行执行该边界。
## Quorum 模式
| 模式 | 适用场景 |
| --- | --- |
| `mono` | 一个节点即可接受,但仍需要 TKeeper 的策略/审计/authority 控制 |
| `threshold` | 一个被入侵的节点不足以作为该身份进行授权 |
在 threshold 模式下,私钥 authority 被拆分给各个 peer。协调器可以启动操作,但在参与之前,peer 必须验证相同的意图。
参见 [Quorum 模式](docs/security-model/quorum-modes.md)。
## Authority
Authority 定义了密钥身份可以授权什么。
| Authority 类型 | 用途 |
| --- | --- |
| `arbitrary` | 原始签名;高风险,在 TKeeper 中无语义意图 |
| `custom` | 类型化的 JSON 命令、内部系统、AI agent 操作 |
| `evm.transaction` | 受治理的 EVM 交易签名 |
| `bitcoin.transaction` | 受治理的 Bitcoin 交易签名 |
| `x509.tbs-certificate` | 受治理的证书签发 |
具体的 authority 使用摘要锁定的 authority 文档。TKeeper 将命令实体化为意图,评估策略,并且仅在最终决策为 `ALLOW` 时才进行签名。
参见 [签名与 Authority](docs/signing-and-authorities/README.md)。
## 加密平台
加密实现在构建时选择。
| 平台 | 提供 |
| --- | --- |
| `ecc` | `SECP256K1`、`P256`、`ED25519`、ECDSA、FROST、BIP-340/Taproot、ECIES 支持 |
| `pqc` | `MLDSA44`、`MLDSA65`、`MLDSA87`、threshold ML-DSA DKG 和签名 |
一个可部署的制品必须至少包含一个平台。
构建所有生产功能和平台:
```
./gradlew :build -Pkeeper.features=all -Pkeeper.platforms=all
```
只构建你需要的内容:
```
./gradlew :build -Pkeeper.features=authority-evm -Pkeeper.platforms=ecc
```
参见 [构建与功能](docs/deployment/build-and-features.md)。
## 文档
- [概述](docs/overview/README.md)
- [快速入门](docs/getting-started/README.md)
- [部署](docs/deployment/README.md)
- [安全模型](docs/security-model/README.md)
- [密码学身份](docs/key-management/README.md)
- [签名与 Authority](docs/signing-and-authorities/README.md)
- [加密平台](docs/crypto-platforms/README.md)
- [API 参考](docs/api-reference/README.md)
- [运维](docs/operations/README.md)
## 安全参考
- [TKeeper 威胁模型](docs/security-model/threat-model.md)
- [Anvil](https://github.com/exploit-org/anvil) 用于协议级密码学组件
## API
HTTP 合约由 [openapi.yaml](openapi.yaml) 描述。
Java 集成可以使用 [`org.exploit:tkeeper-sdk:2.2.0`](sdk/README.md)。
如果 SDK 助手与 OpenAPI 不一致,请以 OpenAPI 为准。
## 测试
集成测试通过 Testcontainers 在本地集群上运行。
构建集成镜像:
```
./gradlew dockerBuildIntegration
```
该集成镜像包含所有生产功能、所有平台以及仅用于测试的故障注入模块。请勿将其部署为生产 runtime。
参见 [integration-tests](integration-tests/README.md)。
## 许可证
Apache License 2.0。参见 [LICENSE.md](LICENSE.md)。标签:JS文件枚举, Web3, 后台面板检测, 基础设施, 密码学, 手动系统调用, 权限控制, 请求拦截