본문 바로가기

nCipher HSM (Thales-HSM )

HSM이란(하드웨어 암호화 키 관리 장비) - 오픈백과 인용

HSM : 하드웨어 보안 모듈 (Hardware Security Module, HSM)






암호알고리즘의 안전성

1. 안전한 설계

    - 충분한 분석 설계를 통한 안전한 암호 알고리즘의 설계

2. 안전한 사용

    - 사용자의 부주의 등으로 인한 키 노출 및 사용권한 도용 방지

    ※ 암호 알고리즘의 안전도는 키 관리에 의해 좌우됨. 아무리 안전하게 설계된 암호라 할지라도 키가 유출되면, 해당 키로 암호화된 자료는 모두 공개되어 버림.


암호알고리즘에 대한 공격

1. 학문적 분석

    - 알고리즘을 분석하여 패턴이나 약점을 찾아 공격

    - 많은 시간과 노력(학문적 바탕)이 필요

    - 이렇게 공격된 암호 알고리즘은 사용 불가

2. 암호화 키에 대한 공격

    - 사용자의 부주의 등으로 인한 암호화 키의 노출

    - 노출된 키를 획득하여 해당 키로 암호화된 자료 열람 및 도청

    - 학문적 분석에 비해 비교적 쉽게 공격가능

 

키 관리의 중요성

1. 암호 알고리즘을 학문적 분석에 비해 비교적 쉽게 공격 가능한 방법이 바로 키에 대한 공격

2. 키가 공격되어 유출될 경우, 해당키로 암호화된 자료는 모두 공개되고, 전자서명된 경우라면, 위조된 전자서명이나 문서에 대한 변조가 가능하여 경제적, 법적 피해를 초래할 수 있음.

3. 키가 공격되어 훼손된 경우, 해당 암호화 키로 암호화된 자료는 모두 열람이 불가능하여 폐기되고, 다시 백업해야 하는 등, 기업 전반에 걸쳐 커다란 피해를 초래할 수 있고, 전자서명 생성이 불가능하여, 신원 및 문서에 대한 인증, 부인방지가 불가능함. 또한, 인증키를 다시 발급받아야 하는 번거로운 절차와 재발급을 위한 비용문제 발생.

 

키 관리 유형

1. 암호화 기능을 가진 프로그램에 하드코딩하여 관리

   - 대칭키의 경우, 오랫동안 사용할 경우, 암호문-평문 간의 관계를 통한 알고리즘 공격에 쉽게 무너질 수 있음. 따라서, 주기적으로 바꾸어 줘야 하지만, 프로그램 내에 하드코딩이 되어 있어 수정에 따르는 업무 부담이 증가. 

   - 키를 수정할 경우, 키 담당자 뿐만 아니라 소스코드를 관리하는 개발자에게까지 키가 노출되어 잠재 공격자가 필요이상으로 증가(‘잠재공격자’라 함은 어떠한 정보에 대한 접근이 가능하여 이를 조직의 이익에 반하여 사용할 수 있는 사람)

 

2. 암호화하여 파일 시스템에서 관리

- 키 저장 시엔 암호화되어 보관되기 때문에 키 파일만으로는 키의 내용 해독이 불가능하지만, 실제 키가 사용될 때에는 서버의 메모리로 암호가 풀린 평문형태의 키가 로딩됨.

- 이 때, 공격자가 서버의 메모리의 내용을 덤프 등의 시도로 키를 찾으면 노출될 가능성이 있음.

- 서버의 파일에 접근할 수 있는 권한이 있으면서, 해당 업무엔 관련되지 않은 시스템관리자에 의해 업무에 대한 인식 부족으로 인한 키 파일의 손상이 예상됨.

- 키파일이 삭제되어 버리면, 해당 키를 사용하는 업무는 마비됨.

 

서버와 별개의 하드웨어에서 암호관련 작업처리 -> HSM

1. 물리적 보안

- FIPS 140-2 Level2 혹은 Level3의 보안 수준을 만족하는 물리적 보안 체계를 갖춘 HSM내에서 암호관련 연산 처리

2. 접근 제어

- 서버와 HSM과의 인증, 사용자와 HSM과의 인증을 통해 키에 대한 접근 제어

3. 안전한 메모리 및 전용 CPU

- HSM은 안전한 메모리를 탑재하여, 그 안에서 키를 보관하고 관리

- HSM은 전용 CPU를 통해 암호키 혹은 전자서명 키를 사용하는 작업은 전적으로 처리

4. 안전한 백업

- 실제 사용되는 키는 안전한 메모리에 저장되어 관리되므로 외부로 키가 유출되는 것을 막을 수 있지만, 백업되는 키에 대한 보호까지도 생각해야 함.

- HSM 내부의 유일한 모듈키와 기타 스마트카드 등의 부가 정보를 통해 백업되는 키를 HSM에서만 확인하고 사용할 수 있도록 관리