일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 공격그래프
- recon-ng
- 계정 탈취
- Mimikatz
- 넷크래프트
- Mac
- cgroups
- 강의
- decap
- AttackGraph
- 화이트해커
- 프로젝트
- Kublet
- Social Network in Game
- Container
- NMAP
- Chrome 작업관리자
- 대학원
- OpenID Connect
- 액티브스캐닝
- ip forwarding
- 무선채널
- airdecap-ng
- Shift + ESC
- 보안
- dnsenum
- 패시브스캐닝
- SecurityMetric
- OIDC
- davtest
- Today
- Total
네른
[정보보안] 1. 공인인증서 본문
[정보보안] 1. 공인인증서
본래 정보보안개론 이라는 책을 읽고, 그 내용을 찬찬히 정리 해 보려 했는데,
내용을 전부 정리하기보다는, 궁금해서 찾아본 혹은 나중에 다시 열어 볼 것 같은 주제들을 찾아 정리해 보려 한다.
물론 내가 틀린 부분도 있을테지만, 우선은 찾아본 바를 바탕으로 글을 써내려갈 것이고 틀린 부분이 발견되거나 피드백을 받는다면 즉시 수정할 계획이다.
그래서, 오늘 처음으로 쓰게 될 내용은 우리가 주로 사용하는 '공인인증서' 에 대한 이야기다.
공인인증서가 비대칭 키 방식을 사용하고, PKI 기반이다~ 와 같은 내용들은 이미 잘 정리되어 있는 이야기이다.
그런 것 들 보다 나는, 이 공인인증서가 증명되는 방식이 궁금했다.
인증서 안에는 어떠한 것들이 포함되어 있고, 그것들로부터 우리는 무결성 따위를 어떻게 얻어낼 것인가?
다행히도 우리의 영원한 친구 네이버에 이에 대한 답이 있었다.
우리가 공인인증서를 발급받으면, 두 개의 파일이 우리의 기기에 저장된다.
NPKI 폴더를 열어보면 그 두 파일에 대해 알 수 있는데, 각각은 '인증서'와 'key 파일' 이다.
여기서 '인증서'는 말 그대로 우리가 정상적인 사용자임을 증명하는 데 필요한 인증용 파일이다.
해당 파일에는 다양한 정보들이 삽입되어 있는데 그 정보들은 다음과 같다.
1. 일련번호
2. 버전
3. 서명 알고리즘
4. 발급자
5. 발급 대상
6. 발급 대상의 Public Key
7. 확장 정보
8. 발급자의 전자서명
9. 등등
전자 서명이 뭔지, PKI 가 뭔지, 대칭 키는 뭔지 따위의 것들은 설명하지 않도록 하겠다.
내가 궁금한 점은 이런 것들이 아니라 저 정보들이 어떠한 정보이고, 어떻게 사용되는지 이기 때문에!
일련번호, 버전, 서명 알고리즘 같은건 넘기도록 하고 우선 '발급자' 부터 살펴보자.
발급자 정보는 말 그대로 해당 인증서를 발급해 준 주체를 의미한다. 우리가 은행에서 계좌를 바탕으로 한 공인인증서를 발급하게 되면,
해당 인증서에는 yessign과 같은 "인증 기관"이 발급자 로 쓰여 있다.
이는 CA( Certification Authority ) 라는 개념, 그리고 RootCA 라는 개념과 연관지어 생각해 볼 수 있는데,
쉽게 말하자면 "개인 키와 공개 키 (쉽게 인증서라고 생각하자)"를 발급 해 주는 기관들을 "CA" 라고 지칭하고, 이러한 CA 들을 검증해주는 기관이 또 존재하며, (PCA)
이 기관을 다시 한번 검증 해 주는 최상위 기관이 존재 하는 것이다. 이를 통해 CA는 최상위 기관으로부터 그 존재가 검증되었기에 CA가 발급하는 인증서와 Key는 "제대로 된" 것들임이 증명되는 것이다.
이러한 개념을 바탕으로, 은행은 CA로부터 인증서를 발급받아 우리에게 건네주게 되는 것이다!
다음으로 발급 대상에 대해 살펴보면, 당연하게도 내가 발급 받고자 하므로 발급 대상은 나다.
그렇다면 내 Public Key는 왜 저기 있는가? 위에서 말했듯이 CA는 정확히 이야기하자면, "Public / Secret Key"쌍을 발급하는 기관이다.
나한테 해당 Key를 발급 해 주어야 하고, Public Key는 모두에게 공개되어야 하는 Key 이므로, 노출된 정보들인 "인증서" 안에 존재하게 되는 것이다.
그렇다면 다른 쌍인 Private Key는 어디있는가?
NPKI 폴더 내에 존재하는 다른 파일인 .key 파일이 우리의 Private Key이다. 즉, 우리는 우리의 거래 내역을 Device에 저장되어 있는 Private Key로 암호화하여 전송하고, 은행은 이를 Public Key를 바탕으로 복호화하여 이를 받게 되는 것이다.
여기서 한 가지 궁금한 점은, 우리가 공인인증서에 입력하는 비밀번호가 무엇인가 에 대한 점이다.
우리의 Private Key를 암호화 해 둔 비밀번호인 것이다. 해커가 우리의 공인인증서를 탈취할 수 있고, 짧은 비밀번호는 알아낼 수 있기에 공인인증서의 비밀번호는 길고 어려워야 하는 것이다. 여타 비밀번호들이 그렇듯이!
이러한 과정을 통해 우리는 Private Key를 발급받고, 은행은 우리의 거래내역을 받아 Public Key로 복호화 하여 해당 거래내역이 위,변조 되지 않았음을 알 수 있고, 인증서를 CA의 Public Key로 복호화하여 우리가 인가된 사용자임을 알 수 있는것이다.
많은 설명들이 Key의 주체에 대한 설명을 정확히 하지 않아 헷갈리는 부분이 많은데, 찬찬히 생각해보면 알 수 있는 것들이었다.
오늘은 카페에서 커피마시다가 갑자기 궁금해진 공인인증서에 대해 알아보았다.
다음에는 뭐가 궁금할 지는 모르겠지만, 궁금하게 되면 찾아보고 정리하여 올리도록 할 것이다.
- 끝 -
'궁금 > 정보보안' 카테고리의 다른 글
6. OAuth / OIDC(OpenID Connect) (0) | 2020.06.17 |
---|---|
[정보보안] 5. Mimikatz - sekurlsa (0) | 2019.05.21 |
[정보보안] 4. CPU Meltdown (0) | 2018.01.11 |
[정보보안] 3. Encoding vs Encryption vs Hashing vs Obfuscation (0) | 2018.01.11 |
[정보보안] 2. 2FA ( Two-Factor Authentication ) (0) | 2017.09.25 |