피드로 돌아가기
Dev.toSecurity
원문 읽기
ZK-Proof 기반의 비밀 정보 노출 없는 온체인 인증 시스템 설계
Certifying something on-chain without revealing it: privacy attestation on Midnight
AI 요약
Context
공개 원장에서 감사 보고서의 내용을 숨기면서도 인증된 감사인에 의한 검증 사실을 증명해야 하는 기술적 요구사항 발생. 기존 투명 체인 방식의 보고서 전체 공개 또는 오프체인 서버 의존성으로 인한 신뢰성 저하 문제를 해결하기 위한 설계 필요.
Technical Solution
- Witness와 Commitment 개념을 도입하여 민감 데이터의 직접 노출을 차단한 아키텍처 설계
- auditorSecret의 Hash 값을 on-chain Commitment로 저장하여 Secret 자체의 유출 방지
- in-circuit 상에서 Secret을 재계산하여 저장된 Commitment와 비교하는 방식으로 권한 인증을 구현한 Zero Knowledge Proof 패턴 적용
- ownPublicKey()의 스푸핑 가능성을 배제하고 Secret knowledge 증명을 통한 신원 검증 체계 구축
- reportFingerprint에 대한 Double Hashing 구조를 통해 보고서 원문 없이도 데이터 무결성을 검증하는 Commit-and-Verify 메커니즘 구현
- High-entropy 입력을 전제로 한 persistentHash 적용으로 Brute-force 공격 가능성을 원천 차단
실천 포인트
1. Midnight 체인 설계 시 caller의 Public Key 기반 인증 대신 in-circuit Secret Knowledge 증명 패턴을 적용했는가?
2. 온체인에 저장되는 Hash 대상 데이터가 충분한 엔트로피를 가지며, 부족할 경우 Salt를 추가한 Commitment 구조를 채택했는가?
3. 데이터 원문 대신 Fingerprint(Hash)만 저장하여 Privacy와 Verifiability를 동시에 확보했는가?
태그