영권's
대칭 키, 비 대칭키 암호화 방식 본문
대칭키 암호화 방식
대칭 키 암호(symmetric-key algorithm)는 암호화 알고리즘의 한 종류로, 암호화와 복호화에 같은 암호 키를 쓰는 알고리즘을 의미한다.
어떤 데이터가 대칭키를 통해 암호화가 되었다면, 똑같은 키를 갖고 있는 사용자가 아니면 해당 정보를 확인할 수 없습니다.
그래서 암호화된 정보를 전달하고 확인하기 위해서는 송/수신자가 같은 키를 가지고 있어야 합니다.
대칭키 암호화 방식은 키가 없다면 누구도 정보를 확인할 수 없어서 안전하지만 수신자에게 해당 키를 안전하게 전송하는 것이 핵심입니다.
비대칭키 암호화 방식
비대칭키 암호화 방식은 어떤 정보를 암호화, 복호화 할 때 사용되는 키가 다른 경우를 이야기합니다.
비대칭키 암호화 방식에는 공개키, 개인키 두가지 암호화 키를 사용합니다.
- 공개키(Public Key) : 사람들에게 공개된 키
- 개인키(Private Key) : 사용자만 알고 있는 암호를 풀 수 있는 키
- 공개키로 정보를 암호화 하는 경우
공개키는 누구나 알 수 있도록 공개된 키이므로, 어떤 정보를 특정 사용자에게 보낼 때 해당 사용자의 공개키를 통해 정보를 암호화하여 전송합니다.
보내야 하는 데이터를 송신자가 수신자의 공개키로 암호화를 걸고 데이터를 받은 수신자가 자신의 개인키로 복호화를 하는 방법입니다.
개인키는 한쪽(수신자)만 가지고 있어도 되며 개인키는 교환할 필요가 없기 때문에 보안에 상대적으로 안전하다.
2) 개인키로 정보를 암호화 하는 경우
개인키는 자신만이 가지고 있는 키이므로, 어떤 정보를 특정 사용자에게 보낼 때 자기자신의 개인키를 통해 정보를 암호화 하여 전송합니다.
송신자가 자신의 개인키를 통해 데이터를 암호화 하고, 수신자는 송신자의 공개키를 통해 복호화 할 수 있습니다.
그럼 누구나 열어보는 것 아닌가? 맞습니다. 누구나 열어 볼 수 있는 방식이며 이 방법은 해당 데이터를 보호하는 목적보다는 데이터를 보낸 송신자의 신원을 확인하기 위해 사용할 수 있습니다.
예를 들면, '전자 서명'등의 공인인증체계의 기본이 됩니다.
공개키 암호체계는 키 캡슐화에 사용되고, 개인키 암호체계는 데이터 캡슐화에 사용된다.
ex) A가 B에게 메시지를 보낼때
- A는 데이터 캡슐화를 위해 임의의 A_Private Key를 생성한다. 이 키를 A_Session Key라고 보면 된다.
- A가 A_Session Key를 사용해 데이터 캡슐화 스킴(Scheme)에 따라 메시지를 암호화 한다.
- A가 B의 B_Public Key를 사용해 A_Session Key를 암호화 한다.
- A는 암호화된 메시지와 암호화된 Key(A_Session Key)를 B에게 전송한다.
- B는 그들의 B_Private Key로 A_Session Key를 복호화하고, 그런 다음 그 A_Session Key를 사용해 메시지를 복호화한다.
참고 :
https://universitytomorrow.com/22
'기타 개발 상식' 카테고리의 다른 글
URL,URI 와 URN 차이 (0) | 2020.10.23 |
---|---|
REST, REST API , RESTful (0) | 2020.10.16 |