# 대칭키 알고리즘 (=비공개키 알고리즘)
- 정의 : 암호화와 복호화 각각을 "똑같은" 키를 이용해서 한다는 의미에서 "대칭키" 보안기법이라 한다.
- 키의 갯수 : 1개
1) 비밀 키
- 매커니즘 :
1) A 가 B 에게 정보를 전달하고 싶을때
2) A 가 가진 비밀키를 이용해서 암호화를 한 뒤
3) B 에게 A 의 비밀키를 전달한다
4) B 는 전달받은 비밀키를 이용해서 복호화를 한다
> 쉽게 말하자면, 자전거를 전달하고 싶을때,
a 의 모양과 일치하는 자물쇠로 자전거를 잠근 뒤
전달하고싶은 사람에게 해당 자물쇠와 맞는 a의 열쇠를 전달한다
> 자물쇠와 열쇠를 동시에 전달하는 기법이라고 보면 제일 쉽다
- 의의 :
1) 암호학의 시초. 초기버전
2) 암호화, 전달, 복호화 과정을 모두 고려했을때, 걸리는 시간이 짧다 (공개키의 1000배 속도)
- 단점 :
1) 비밀키를 전달하는 과정 중에서 탈취가 일어날 가능성이 높다
> 꼬리가 길면 밟힌다! 당연한 이유.
- 활용 : 대부분의 간단한 보안 프로그램들이 대칭키 방식을 활용한다 (간단하고 빠르기 때문)
# 공개키 알고리즘 (=비대칭키 알고리즘)
- 정의 : 말 그대로, 키를 전체적으로 "공개" 하는 보안 기법이다.
- 키의 갯수 : 2개
1) 공개키
2) 개인키 (=보안키) : 본인(나) 만 갖고 있는 암호 키
> 이런 성질때문에 안정성이 급증.
타인에게 나의 비밀키를 전달해줄 필요가 없다.
> 또한, 개인키가 자기 자신을 의미하는 증명 수단으로 사용될 수도 있다.
그 어떠한 타인도 나의 비밀키를 소유할 수 없기 때문.
- [타인 -> 나] 매커니즘 :
1) 처음 알고리즘을 구현할때, 여러 사람들에게 공개키를 알려준다
2) 전달받은 공개키를 이용해서, 타인은 본인이 전달하고싶은 내용을 암호화 하여 나에게 전달한다
3) 나는 개인키를 이용해서, 전달받은 내용을 복호화 한다
> 의의 :
- 처음 이 알고리즘이 실행될떄, 나는 여러 명의 타인에게 공개키를 전달해야 한다
- 이 과정에서 해커가 공개키를 탈취했다고 하자
- 그럴 경우, 타인이 내게 전달하는 과정에서 공개키로 암호화한 내용을 훔쳐보고싶다 하더라도
해커는 개인키를 갖고있지 않기 때문에, 문서를 해독 불가능하다(복호화 불가)
- [나 -> 타인] 매커니즘 :
1) 내가 갖고 있는 개인키를 이용, 전달하고싶은 내용을 암호화한다
2) 해당 내용을 공개하면, 나의 공개키를 갖고 있는 사람들이 내용을 복호화 하여 판단한다
> 의의 :
- 만약에 어떤 사람이 나 라고 사기를 친다고 하자
- 이 사람은 나 인것처럼 위장해서 본인의 정보를 전달한다
- 그러나, 이 해커가 어떤 정보를 보내든지, 공개키로 복호화를 해보면 모두 엉뚱한 내용으로 복호화 된다
- 결국, 이 성질을 이용해서, 전달된 내용이 "진짜 나"로부터 온 것인지를 정확하게 판별할 수 있다.
> 이런 성질을 이용해서 공인인증서나 은행 전자 거래가 가능하게 됐다.
'정보 보안 > 보안 기본 개념' 카테고리의 다른 글
디피 헬만 보안 기법 - 대칭키 생성 알고리즘 (0) | 2020.03.09 |
---|---|
ECC 암호화 기법 - 공개키 생성 알고리즘 (0) | 2020.03.09 |
RSA 알고리즘 - 공개키 암호화 방식 (0) | 2020.03.09 |