feat(sec): 二期签名鉴权 2A 最小闭环 (agent-185) — meow_verify(Ed25519验签CLI,公钥固化,TweetNaCl+SHA256单文件) + meow_sign(宿主keygen/sign,尾部180B footer签名块,私钥仅.keys/不入库) + nyai/meow_pkg_install 验签分级(有签必验/os.meow.*无签拒装/第三方直装告警/三重绑定/原签存.mpk.src导出保留) + svc_power IPC鉴权(SO_PEERCRED→/proc/pid/exe→包名/系统身份allowlist,系统动作仅os.meow.*或系统身份) + cmd_upgrade同步签名分级防绕过
meow_verify 37e50606; nyai f2938d28; svc_power e0494eb7; launcher 24c9ee5d(含热重载) 宿主验证12项全过(正例/篡负载/篡包名/无签系统包拒/第三方直装/降级拒/导出round-trip byte-identical/verify缺失宁缺勿装/footer容忍/E2E PERM/鉴权分类) 出入: TweetNaCl替orlp/ed25519(任务允许同等实现); 读级暂仍uid==0(用户随后定案放宽到任意调用者,待改); 系统身份allowlist为启发式
This commit is contained in:
1 parent
f50abae02a
commit
3f57d7fd4f
22 files changed
+1978
-15
No files matched your search
@@ -0,0 +1,17 @@
|
||||
/* meow_signing_pub.h — 固件公钥(Ed25519 32B,编译期固化进 meow_verify)。
|
||||
* 由 `meow_sign keygen` 生成(.keys/signing.key.pub),本头只含【公钥】,可入库;
|
||||
* 私钥仅在 .keys/(已加入 .gitignore,绝不入库/报告)。轮换公钥=重生成本头+重编 meow_verify。 */
|
||||
#ifndef MEOW_SIGNING_PUB_H
|
||||
#define MEOW_SIGNING_PUB_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
static const uint8_t g_meow_pub[32] =
|
||||
{
|
||||
0x22, 0xa7, 0x83, 0xac, 0x28, 0xd3, 0x25, 0x6d,
|
||||
0x3f, 0x84, 0x72, 0x72, 0x50, 0x5b, 0x2c, 0x61,
|
||||
0x60, 0x97, 0xff, 0xc3, 0x98, 0x78, 0x14, 0x9d,
|
||||
0xc7, 0x37, 0x8c, 0x58, 0x72, 0x26, 0x37, 0xf2
|
||||
};
|
||||
|
||||
#endif /* MEOW_SIGNING_PUB_H */
|
||||
Reference in new issue
Block a user