공격 전략 (Attack Strategies)

중급보안수정일

공격 전략은 암호를 무력화하거나 블록체인을 오작동시키기 위해 공격자가 쓰는 방법을 통틀어 이르는 말입니다. 가장 잘 알려진 것으로는 무차별 대입 공격, 51% 공격, 생일 공격 등이 있습니다. 공격 전략은 크게 암호 알고리즘 자체를 겨냥하는 공격과 블록체인 네트워크·합의를 겨냥하는 공격으로 나눌 수 있으며, 보안 설계는 어떤 공격자를 가정하는지(공격 모델)에서 출발합니다.

암호 알고리즘에 대한 공격

  • 무차별 대입 공격: 정확한 조합을 찾을 때까지 가능한 모든 키나 비밀번호를 체계적으로 시도합니다. 거대한 열쇠 꾸러미의 열쇠를 하나씩 꽂아 보는 것과 같습니다. 키 길이가 1비트 늘 때마다 시도 횟수가 두 배가 되므로, 128비트 이상의 키는 현실적으로 이 방법으로 찾을 수 없습니다.
  • 생일 공격: 방에 23명만 있어도 생일이 같은 두 사람이 있을 확률이 50%를 넘는다는 생일 역설을 이용합니다. 출력이 n비트인 해시 함수에서는 약 2n/2번만 계산해도 같은 해시를 내는 두 입력(충돌)을 찾을 가능성이 높습니다. 충돌을 찾으면 공격자는 디지털 서명을 위조하거나 데이터 무결성을 손상시킬 수 있으므로, 해시 함수의 출력 길이는 이 공격을 기준으로 정합니다.
  • 알려진 평문·선택 평문 공격: 공격자가 평문과 그에 대응하는 암호문 쌍을 알고 있거나(알려진 평문), 원하는 평문을 암호화해 볼 수 있다고(선택 평문) 가정하고 키를 알아내려는 공격입니다. 현대 암호는 이런 조건에서도 키가 드러나지 않도록 설계됩니다.

블록체인 네트워크에 대한 공격

  • 51% 공격: 어디에서 식사할지 투표할 때 한 사람이 표의 절반 이상을 쥐면 결과를 정할 수 있는 것처럼, 누군가 네트워크 해시 파워(또는 지분)의 과반을 제어하면 블록 순서를 바꿔 트랜잭션을 되돌리고 이중 지불을 할 수 있습니다. 잘 확립된 대형 블록체인에서는 비용이 매우 커서 성공하기 어렵습니다.
  • 이클립스 공격: 공격자가 특정 노드의 연결을 모두 장악해 그 노드가 공격자가 보여 주는 체인만 보게 만듭니다.
  • 시빌 공격: 공격자가 수많은 가짜 신원(노드)을 만들어 네트워크에서 영향력을 키우려는 공격입니다. 작업 증명과 지분 증명은 영향력을 신원의 수가 아니라 연산 능력이나 지분에 묶어 이 공격을 막습니다.
  • 라우팅 공격: 인터넷 경로(BGP)를 조작해 노드를 고립시키거나 블록 전달을 지연시킵니다.

이것들은 암호 시스템과 블록체인에 쓰이는 공격 전략의 대표적인 예일 뿐이며, 각 공격은 별도 용어 항목에서 자세히 다룹니다. 암호 연구자와 블록체인 개발자는 이러한 공격을 가정해 키 길이, 해시 출력 길이, 합의 방식, 네트워크 연결 구조를 정하고, 새로운 공격 방법을 계속 연구합니다.

이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.