- 암호학이란 평문을 다른 사람이 알아볼 수 없는 형태의 암호문을 만들고 특정한 비밀키를 알고 있는 사람만이 다시 평문으로 복원시킬 수 있도록 하는 암호기술과 이를 제3자(도청자)가 해독하는 방법을 분석하는 암호해독에 관하여 연구하는 학문이다.
- 암호는 약속된 당사자 또는 집단에서만 암호문에 내포된 내용을 알 수 있게 하는 일종의 문서이다.
- 메일을보낼때 적힌 평문을 암호하는 과정을 암호화라고한다. 이과정은 송신자가 한다.
- 암호라는 기술은 메일의 기밀성을 유지한다.
- 암호화는 평문을 암호문으로 바꾸는 과정이다. 이때 키와 알고리즘을 통해서 평문을 암호문으로, 암호문을 평문으로 변경할 수 있다. 이렇게 암호화와 복호화를 수행하는 시스템을 암호시스템이라고 한다.
- 암호화된 평문을 해독하는 것을 복호화 라고하며 수신자가 해야한다.
- 평문 : M 또는 P
- 암호문 : C
- 암호 알고리즘 : E
- 복호화 알고리즘 : D
- 키 : K
ex) C = E(K,P) 또는 P = D(K,C)
- 비밀 암호 알고리즘을 사용하지 말 것
- 약한 암호는 암호화하지 않는 것보다 위험하다.
- 가장 큰 이유는 사용자가 [암호]라고 하는 말로 인해 [잘못된 안심]을 하기 때문이다. - 어떤 암호라도 언젠가는 해독된다.
- 암호는 보안의 아주 작은 부분이다.
- 요즘은 피싱(Phising), 트로이목마(Trojan Horse), 키로거(Keylogger) 등의 다양한 공격이 있기때문이다.
- 치환 암호(대치 암호, Substitution Cipher)
- 비트, 문자 또는 문자의 블록을 다른 비트, 문자 또는 블록으로 대체한다. (참고 : https://ko.wikipedia.org/wiki/%EC%B9%98%ED%99%98_%EC%95%94%ED%98%B8)
- 전치 암호(Transposition Cipher)
- 원문을 다른 문서로 대체하지 않지만 원문을 여기저기 움직이게 한다. 그것은 비트, 문자 또는 블록이 원래 의미를 감추도록 재배열한다.(참고 : https://m.blog.naver.com/wnrjsxo/221705557143)
- 자리를 바꾸는 규칙
- 블록 암호 (Block Cipher)
- 평문을 일정한 크기의 블록으로 잘라낸 후 암호화 알고리즘을 적용하여 암호화한다. (참고 : https://www.secmem.org/blog/2019/02/06/block-cipher/)
- 스트림 암호 (Stream Cipher)
- 한번에 1비트 혹은 1바이트 데이터 흐름(스트림)을 순차적으로 처리해가는 암호 알고리즘의 총칭
- 암호방식은 평문과 키스트림을 XOR하여 생성
- 스트림 암호는 군사 및 외교용으로 널리 사용됨
구분 | 스트림 암호 | 블록 암호 |
---|---|---|
장점 | 암호화 속도가 빠름, 에러 전파현상 없음 | 높은 확산, 기밀성, 해시함수 등 다양 |
단점 | 낮은 확산 | 느린 암호화, 에러 전달 |
사례 | LSFR, MUX generator | DES, IDEA, SEED, RC5, AES |
암호화 단위 | 비트 | 블록 |
주요 대상 | 음성, 오디오/비디오 스트리밍 | 일반 데이터 전송, 스토리지 저장 |
- 링크 암호화(Link Encryption)
- 종단간 암호화(End-to-End Encryption)
구분 | 링크 암호화 | 종단간 암호화 |
---|---|---|
특징 | 유저가 알고리즘을 통제할 수 없으며 모든 데이터를 암호화한다. |
사용자가 암호화 하며 사용자가 알고리즘을 통제 할 수 있다. |
장점 | 트래픽 분석 공격을 어렵게 만들고 운영이 간단하다. |
높은 수준의 서비스를 제공할 수 있다. |
단점 | 비용이 비싸고 서비스 제공에 한계가 있다. |
트래픽 분석 공격에 취약하다. |
- 하드웨어 암호시스템
- 컴퓨터와 통신기기의 내부버스와 외부 인터페이스에 전용 암호처리용 하드웨어를 설치하여 데이터를 암호화한다.
- 전용 하드웨어로 암호화함으로써 컴퓨터 CPU에 부담을 주지 않고 빠른 속도로 암호화가 가능하며, 이는 보안성 확보를 위해 바람직하다.
- 소프트웨어 암호 시스템
- 소프트웨어에 의한 실현은 암호처리용 소프트웨어를 사용한 데이터 암호화로 가능하다.
- 소프트웨어에 의한 암호화는 저렴한 비용으로 실현이 가능
- 개인용 컴퓨터 CPU의 처리가 무척 빨라져 소프트웨어에 의한 암호화를 행해도 처리속도가 문제되지 않기 때문에 최근에는 소프트웨어에 의한 처리가 주류를 이루고 있다.
- 대칭키 암호(symmetric cryptography) : 암호화할 때 사용하는 키와 복호화할 때 사용하는 키가 동일한 암호 알고리즘 방식
- 비대칭키 암호(asymmetric cryptography) : 암호화할때 사용하는 키와 복호화할 때 사용하는 키가 서로 다른 암호 알고리즘 방식 (=공개키 암호)
- 대칭키 암호 + 공개키암호 장점을 조합
- 해시값은 일방향 해시함수(one-way hash function)를 사용하여 계산한 값이다.
- 일방향 해시함수를 통해 확인할 수 있는 것은 문서의 기밀성이 아니라 무결성(integrity)이다. 무결성이라는 것은 수신한 데이터가 웹 사이트의 원래 데이터와 동일하다는 것을 의미한다. 무결성은 완전성이라고 하기도 한다.
- 매시지가 생각했던 통신 상대로부터 온 것임을 확인하기 위해서 메시지 인증코드(message authentication code)라는 기술을 사용한다.
- 메시지 인증코드를 사용하면 그 메시지가 전송 도중에 변경이 되지 않았다는 것과 생각했던 통신 상대로부터 왔다는 것을 확인할 수 있다.
- 메시지 인증코드는 "무결성"과 "인증"을 제공하는 암호 기술이다.
- 전자서명이란 오프라인(off-line)세계에서 사용하는 도장이나 종이 위에 하는 서명,날인의 개념을 온라인(on-line)세계에 적용을 한 것이다.
- 거짓행세(spoofing ), 변경, 부인이라는 위협을 방지하는 기술이 전자서명이다.
- 전자서명은 무결성을 확인하고, 인증과 부인방지를 하기 위한 암호 기술이다.
- 의사난수 생성기(PRNG, pseudo random number generator)는 난수열을 생성하는 알고리즘이다.
- 난수는 키 생성(key generator)이라는 매우 중요한 역할을 담당하고 있다.
- 암호 방식의 정규 참여자가 아닌 제 3자가 암호문으로부터 평문을 찾으려는 시도를 암호 해독(cryptanalysis) 또는 공격이라 하며 암호 해독에 참여하는 사람들을 암호 해독자, 제 3자 또는 침해자 라고 한다.
- 암호문 단독 공격 (COA, Ciphertext Only Attack)
- 암호공격할때 공격자가 가장 불리한 공격방식으로 [ 단지 암호문만을 가지고 이걸로 평문이나 키를 찾아내는 것 ]이다. 대다수 사람들이 암호 시스템을 깬다고 얘기할 때 쓰는 의미이기도 하다.
- 기지 평문 공격(알려진 평문 공격, KPA, Known Plaintext Attack)
- 암호문에 대응하는 [ 일부 평문이 사용가능한 상황 ]에서의 공격이다.
- 키와 전체평문을 추정하여 해독하는 방법으로 결국에는 복호키를 찾는 공격이다.
- 선택 평문 공격(CPA, Chosen Plaintext Attack)
- [ 평문을 선택하면 대응하는 암호문을 얻을 수 있는 상황 ]에서의 공격이다.
- 선택 암호문 공격 (CCA, Chosen Ciphertext Attack)
- [ 암호문을 선택하면 대응하는 평문을 얻을 수 있는 상황 ]에서의 공격이다.
- 선택 암호문 공격에서는 평문 값과 암호문 값 모두를 선택한다.
-
주어진 암호 시스템의 안전성을 말할 때는 두 가지 관점이 있다.
-
첫 번째는 암호시스템을 공격하기 위해 필요한 계산량이 매우 커 현실적으로 공격할 수 없는 경우를 계산적으로 안전하다고 한다.
-
두 번째는 무한한 계산능력이 있어도 공격할 수 없는 경우를 무조건적으로 안전하다고 말한다. 암호 알고리즘 사용자가 해야 할 일은 다음 두 기준 중의 하나 또는 전부를 만족하는 알고리즘을 개발하는 것이다.
- 암호 해독 비용이 암호화된 정보의 가치를 초과
- 암호 해독 시간이 암호화된 정보의 유효기간을 초과
-
정보보호제품의 안전한 선택 및 사용을 위한 기본적인 선택기준은 신뢰기관의 안정성평가 결과일 것이다. 이러한 안정성 평가는 현재 세계적으로 공통 평가를 위한 체계를 준비 중에 있으며, 가장 대표적인 것이 CC(Common Criteria) 기반의 정보보호제품 평가이다. (참고 : https://ko.wikipedia.org/wiki/%EA%B3%B5%ED%86%B5%ED%8F%89%EA%B0%80%EA%B8%B0%EC%A4%80)
-
그러나 CC기반의 평가기준에서는 정보보호분야의 핵심기술인 암호 알고리즘에 대한 평가기준을 따로 명시하지 않고 각국이 독자적으로 하도록 규정하고 있다. 이를 구현한 암호모듈에 대한 평가 또한 독자적으로 하도록 규정하고 있다.
-
암호모듈에 대한 안정성평가로 가장 널리 참조되는 것은 미국의 NIST가 수행하는 CMVP(Cryptographic Module Validation Program)이며, 세계적으로 인정받고 있다.
- 평가 종류
- 암호 알고리즘 평가
- 정보보호제품에 탑재된 암호 알고리즘에 대한 안정성 평가.
- 알고리즘 자체의이론적 안정성만을 평가
- 암호모듈 평가
- 암호 알고리즘을 이용하여 제공되는 암호서비스(기밀성 기능 모듈, 무결성 기능 모듈)에 대한 안정성 평가.
- 알고리즘 자체의 이론적 안정성과는 별도로 암호서비스 기능을 제공하는 암호모듈의 안전성에 대한 평가이다.
- 정보보호제품 평가
- 암호모듈을 탑재한 정보보호 제품(예 : 침입차단시스템, 침입탐지시스템)에 대한 안정성을 평가.
- 응용시스템 평가
- 각 제품을 상호 연동하여 구성되는 시스템(예 : 국가기관망의 네트워크에 대한 보안성 평가, 항공관제센터의 안전성 평가)에 대한 안전성 평가.
- 평가 과정
- 안정성 평가는 응용시스템의 안정성을 평가하는 것이 가장 바람직하나 이에 대한 평가 기준, 방법, 체계를 마련하고, 시스템에 탑재된 기술을 개별적으로 평가하기가 상당히 어렵다는 문제가 있다.
- 그러므로 응용시스템의 가장 기본이 되는 암호 알고리즘에 대한 안정성 평가가 우선되어야 한다.
- 결국 암호 알고리즘에 대한 이론적 안전성 평가 -> 검증된 암호모듈에 탑재한 정보보호 제품의 안정성 평가 -> 각각의 제품으로 구성된 응용시스템의 안전성 평가 순으로 응용시스템의 안전성 평가를 수행하는 것이 바람직하다.
-
암호모듈의 안전성 평가 CMVP는 1995년 7월 미국 NIST와 캐나다 주정부의 CSE(Communications Security Establishment)가 공동으로 개발한 암호 모듈의 안전성 검증을 위한 프로그램이다.
-
CMVP에서 요구하는 암호모듈의 안전성 평가는 크게 암호기술의 구현 적합성 평가, 암호키 운용 및 관리, 물리적 보안으로 나눌 수 있으며, 각 항목에 대한 안전성 등급을 설정하여 기준으로 마련하고 이에 대한 평가를 수행한다.
- 최초의 암호 유형은 고대 그리스에서 사용한 방식으로, 암호화라기보다는 스테가노그래피(Steganography)에 가까운 방법이다.
- 암호화가 "비밀을 기록" 하는 것을 의미 하는 반면, 스테가노그래피(Steganography)는 "감추어진 기록"을 의미한다. 암호화는 메시지의 내용을 은폐하는 것을 의미하며, 스테가노그래피는 다른 무언가(mp3파일,이미지파일 등)로 감추어 메시지 자체를 은폐하는 것을 말한다.
- "일반적으로 사진파일에 인간이 인지하지 못할 정도의 미세한 부분에 변화를 주어 정보를 입력하는 방식"이 많이 사용된다.
- 워터마킹이란 용어는 지폐의 제조과정에서 위조지폐를 가려내기 위해 물에 젖은 상태에서 특정 그림을 인쇄하고 말린 후 불빛에 비추었을 때 그림이 보이도록 하는 기술에서 유래했다.
- 현재는 원본의 내용을 왜곡하지 않는 범위 내에서 혹은 사용자가 인식하지 못하도록 저작권 정보를 디지털 콘텐츠에 삽입하는 기술을 말한다.
- 즉, 이미지, 오디오, 또는 비디오의 일부 비트 대신 저작권 정보 등 다른 정보를 추가하더라도 사용자는 원래 미디어의 품질 손상을 인지하지 못하는 성질을 이용한다.
- 디지털 워터마킹의 분류
- 강한(강성) 워터마킹 : 공격을 받아도 쉽게 파괴되거나 손상을 입지 않음.
- 약한(연성) 워터마킹 : 공격을 받으면 쉽게 파괴되거나 손상을 입음.
- 디지털 콘텐츠를 구매할 때 구매자의 정보를 삽입하여 불법 배포 발견 시 최초의 배포자를 추적할 수 있게 하는 기술이다.
- 판매되는 콘텐츠마다 구매자의 정보가 들어가므로 불법적으로 재배포된 콘텐츠 내에서 핑거프린팅된 정보를 추출하여 구매자를 식별하고, 법적인 조치를 가할 수 있게 된다.
항목 | 스테가노그래피 | 워터마크 | 핑거프린트 |
---|---|---|---|
은닉정보 | 메시지 | 판매자 정보 | 구매자 추적정보 |
관심 | 은닉메시지 검출 | 저작권 표시 | 구매자 추적 |
트래킹 | 불가 | 가능 | 가능 |
불법예방 효과 | 하 | 중 | 상 |
저작권증명 효과 | 하 | 중 | 상 |
공격 강인성 | 상대적 약함 | 상대적 강함 | 상대적 강함 |
(참고 : https://m.blog.naver.com/mmee2/221956553392)
- (가) 개요
-
DRM은 디지털 콘텐츠 소유자가 자신의 콘텐츠에 대한 접근을 자신 또는 자신의 위임자가 지정하는 다양한 방식으로 제어할 수 있게 하는 기술적인 방법 또는 방법의 집합을 의미한다.
-
DRM이 제어하는 콘텐츠 접근은 실행(executing), 보기(viewing), 복제(copying), 출력(printing), 변경(altering) 등을 포함
-
디지털 콘텐츠는 오디오, 비디오, 이미지, 텍스트, 멀티미디어, 컴퓨터 소프트웨어 등을 포함
- (나) DRM 구성요소
- 메타데이터(Metadata) : 콘텐츠 생명주기 범위 내에서 관리되어야 할 각종 데이터의 구조 및 정보이다.
- 패키저(Packager) : 보호 대상인 콘텐츠를 메타데이터와 함께 Secure Container 포맷으로 패키징 하는 모듈이다.
- 시큐어 컨테이너(Secure Container) : DRM의 보호 범위 내에서 유통되는 콘텐츠의 배포 단위이다.
- 식별자(Identifier) : 콘텐츠를 식별하기 위한 식별자이다.
- DRM 제어기(DRM Controller) : 콘텐츠를 이용하는 사용자의 PC 또는 디바이스 플랫폼에서 콘텐츠가 라이선스에 명시된 범위 내에서 지속적으로 보호될 수 있도록 프로세스를 제어한다.
- (다)DRM 모델
- DRM의 사용자를 그룹으로 분류하면 콘텐츠 제공자(Content Provider), 콘텐츠 배포자(Distributer), 콘텐츠 소비자(Content Consumer) 그리고 클리어링하우스(ClearingHouse)로 나눌 수 있고, 이들 간의
- 콘텐츠 제공자 (Content Provider)
- 콘텐츠에 대한 디지털 권리를 가지고 권리 보호를 원하는 DRM 사용자이다.
- 콘텐츠 사용 규칙을 표현하는 언어를 권리 표현 언어(REL, Rights Expression Language)라 하고, 대표적인 REL은 ODRL(Open Digital Rights Language)과 MPEG(Moving Picture Expert Group) REL 이다.
- 콘텐츠 배포자(Distributer)
- 온라인 쇼핑몰과 같은 콘텐츠 유통 채널을 제공하는 DRM 사용자이다.
- 정당한 콘텐츠 소비자에게 안전하게 콘텐츠를 전달하고, 클리어링하우스로 부터 합당한 대금을 분배 받는다.
- 콘텐츠 소비자(Content Consumer)
- 클리어링하우스를 통해 콘텐츠에 대한 권리를 요청하고 합당한 대금을 지불한다.
- 클리어링하우스(Clearinghouse)
- 디지털 허가를 소비자에게 발급해주고 콘텐츠 제공자에게 로열티 수수료를 지불하며 배급자에게 해당되는 배급 수수료를 지불하는 재정적 거래를 취급한다. 또한 클리어링하우스는 모든 소비자에게 허가된 사용을 기록하는 책임을 진다.
암호학 핵심요약정리 : https://beatsloth.tistory.com/1247
암호학 핵심요약정리2 : https://www.pentasecurity.co.kr/encryption/