feat: E2EE 암호화 유틸리티 구현 (#28) #29
No reviewers
SPMS/Owners
Labels
No Label
Priority
High
Priority
Low
Priority
Medium
Priority
Non
Priority
Urgent
Status
Available
Status
Done
Status
In Progress
Type
Bug
Type
Chore
Type
Design
Type
Documentation
Type
Feature
Type
Improvement
Type
Refactor
Type
Research
Type
Task
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: SPMS/SPMS_API#29
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "feature/#28-e2ee-crypto"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 작업 요약
🔗 관련 이슈 (Related Issues)
Closes #28
🛠️ 작업 내용 (Changes)
SPMS.Infrastructure/Security/AesEncryption.cs— AES-256-CBC 암호화/복호화, Key/IV 생성SPMS.Infrastructure/Security/RsaEncryption.cs— RSA-2048 OAEP-SHA256 암복호화, 키 쌍 생성SPMS.Application/Interfaces/IE2EEService.cs— E2EE 서비스 인터페이스 및 DecryptResult 정의SPMS.Infrastructure/Security/E2EEService.cs— 하이브리드 암복호화 구현 (Security.md §4 패킹 구조 준수)SPMS.Infrastructure/Security/TimestampValidator.cs— Unix timestamp ±30초 검증SPMS.API/Filters/SecureTransportAttribute.cs— IAsyncResourceFilter 기반 요청 복호화/응답 암호화SPMS.Infrastructure/DependencyInjection.cs— IE2EEService DI 등록 (Singleton)📢 리뷰어 참고 사항 (To Reviewers)
[EncryptedKey(256B)] + [IV(16B)] + [EncryptedBody], 응답[IV(16B)] + [EncryptedBody]E2EE:PrivateKeyPath(파일 경로) 또는E2EE:PrivateKeyPem(직접 PEM)으로 설정[SecureTransport]적용 엔드포인트 호출 시 에러 반환[SecureTransport]어트리뷰트를 L3/L4 보안등급 엔드포인트(로그인, 비밀번호 변경 등)에 적용 예정✅ 체크리스트 (Self Checklist)
📸 스크린샷 / 테스트 로그 (Screenshots/Logs)