Cryptanalysis

반응형


  암호 분석 또는 암호 해독이란 암호 시스템을 무력화시키려는 과학 또는 기술이다. 즉, 합법적인 송수신자가 아닌 제3자가 암호문으로부터 평문을 찾으려는 시도를 말다. 영어로는 Cryptanalysis라고 다. 이때, 제3자는 암호 해독자 또는 침해자라고 칭한다. 이 암호 해독자는 정규적이고 합법적인 수신자가 아니기 때문에 키가 없는 상태에서 평문을 얻으려고 다. 다만 현재 사용되고 있는 암호 방식을 알고 있다는 전제하에 암호 해독을 시도하는 것으로 간주한다. 이것을 케르히호프의 원리라고 다. 이 케르히호프의 원리에 따르면, 암호 방식 또는 암호 알고리즘의 비밀을 지키는 것만으로 시스템이 안전하다고 간주해서는 안 되고, 키의 비밀을 지키는데 시스템의 안전성이 의존해야 다. 암호 분석 또는 암호 해독의 종류에는 COA, KPA, CPA, CCA 등이 있다.


  COA(Ciphertext Only Attack)은 암호문 단독 공격으로서, 침해자가 특정 암호문만 가지고 이에 대응되는 평문과 키를 찾으려는 것이다. 이때, 침해자는 암호 알고리즘을 알고 있으며 암호문을 가로챌 수 있다고 가정다. KPA(Known Plaintext Attack)은 기지 평문 공격으로서, 침해자가 특정 암호문과 별개로, 여러 개의 평문/암호문 쌍을 얻는다. CPA(Chosen Plaintext Attack)은 선택 평문 공격으로서, KPA와 유사하지만, 침해자에게 주어지는 평문/암호문 쌍을 침해자가 선택할 수 있는 것이다. 침해자가 송신자의 컴퓨터에 접속할 수 있다면 이 공격을 할 수 있다. 침해자가 원하는 평문을 선택하고 이에 대응되는 암호문을 얻을 수 있는 것이다. CCA(Chosen Ciphertext Attack)은 선택 암호문 공격으로서, 침해자가 원하는 암호문을 선택하고 이에 대응되는 평문을 얻는다는 것이다. 이 공격은 침해자가 수신자의 컴퓨터에 접속할 수 있다면 가능하다.


  암호 알고리즘을 평가할 때, 안전성에 대한 두 가지 관점이 있다. 하나는, 암호 시스템을 공격하기 위해 필요한 계산량이 매우 커서 현실적으로 공격할 수 없는 경우, 계산적으로 안전하다고 다. 또 다른 하나는, 무한한 계산 능력이 있어도 공격할 수 없는 경우를 무조건적으로 안전하다고 다. 암호 알고리즘을 만들 때, 암호 해독 비용이 암호화된 정보의 가치를 초과하거나 암호 해독 시간이 정보의 유효 기간을 초과하는 알고리즘을 개발해야 다. 암호 제품의 안전성 평가에는 CC(Common Criteria) 기반의 정보보호제품 평가가 대표적으로 있다. 암호 모듈에 대한 안정성 평가로 가장 많이 참조되는 것은 미국의 NIST가 수행하는 CMVP(Cryptographic Module Validation Program)이다. 암호 기술의 평가에는 암호 알고리즘 평가, 암호모듈 평가, 정보보호제품 평가, 응용시스템 평가가 있다. 암호 알고리즘 평가란, 이름 그대로 정보보호제품에 탑재된 암호 알고리즘에 대한 안정성 평가를 의미다. 알고리즘 자체만의 이론적 안정성만을 평가하며, 해당 알고리즘이 탑재된 제품이나 시스템과는 독립적으로 평가된다. 암호모듈 평가는 암호 알고리즘을 이용하여 제공되는 암호 서비스에 대한 안전성 평가이다. 암호 알고리즘 자체의 이론적 안정성과 별개로, 암호 서비스 기능을 제공하는 암호모듈의 안정성에 대한 평가이다. 정보보호제품 평가는 암호모듈을 탑재한 정보보호 제품에 대한 안정성을 평가하는 것이고, 응용시스템 평가는 각 제품을 연동하여 구성되는 시스템에 대한 안정성 평가를 의미다. 이 4가지 평가를 모두 수행하는 것이 좋다.

반응형

+ Recent posts