← 전체 글

태그: cryptography

Security

암호는 튼튼했는데 주사위가 32비트였다 — Trust Wallet 확장 지갑의 예측 가능한 개인키

Ledger의 보안 연구팀 Donjon은 Trust Wallet 브라우저 확장에서, 지갑을 만들 때 쓰는 무작위성(엔트로피)이 사실상 32비트밖에 안 된다는 결함을 발견했습니다. 그 결과 이 확장으로 만든 지갑은 **주소만 알면 개인키를 즉시 계산해낼 수 있었습니다.** 표준 암호 알고리즘은 하나도 깨지지 않았습니다. 깨진 것은 그 알고리즘에 넣는 "주사위"의 품질이었습니다.

Security

"패딩이 틀렸다"는 에러 한 줄이 암호문을 통째로 풀어준다 — CBC 패딩 오라클

서버가 암호를 아무리 튼튼하게 걸어놨어도, "네가 보낸 암호문은 채움값(패딩) 규칙에 안 맞아"라는 에러 하나만 흘리면 공격자는 그 실마리만으로 평문을 한 바이트씩 복원할 수 있습니다. 열쇠를 훔치는 게 아니라, 서버에게 "이거 규칙 맞아?"만 반복해 물어보는 고전 암호 공격입니다. 연구자 Bruno Rocha Moura가 정리한 이 공격의 원리를, 실행 코드 없이 개념으로만 짚어봅니다.