본문 바로가기
개발자 일지/기타

[TIL]학습내용 정리(nslookup, AES256)

by 네빌링 2022. 6. 25.
반응형

- 오늘 배운 건 아니지만 기록이 밀린 것들을 정리한다.
- nslookup 명령어로 도메인의 ip 찾는 법을 소개한다.
-AES-256 암호화 방식을 소개한다.


1.nslookup

외부 API 연동 개발이 거의 끝나고, 운영 api URL을 받았다. ip를 찾아서 outbound 방화벽을 열어야 하는데, 이 때 사용할 수 있다. nslookup 명령어와 도메인명을 입력하면 DNS서버와 해당 도메인의 ip를 확인할 수 있다.


위의 서버와 Address는 ISP의 DNS 서버와 ip이다. KT를 사용해서 kns.kornet.net이 나오고 있다. 회사에서는 자체 dns를 사용해서 일반적인 ISP의 dns 주소가 안 나왔다.

그리고 밑에 '권한 없는 응답' 쪽이 쿼리한 도메인의 주소다. ip를 그대로 입력하면 네이버로 이동하는 것을 확인할 수 있다.


2.AES256 암호화

1)개요

외부 API 연동시 보통 연동규격서 같은 것이나 연동 방법을 전달해주는데 요청 데이터를 암호화 하는 방식을 같이 보내준다. 'AES256으로 요청데이터를 해당 키로 암호화 해서 보내주세요' 같은 느낌이랄까?

어쨋뜬 겉핥기로 알던 것을 이번 기회에 좀 더 딥하게 공부하게 되어서 한 번 정리해본다.

암호화는 크게 암호화된 정보가 복호화되지 않아야 하는 경우, 암호화된 정보가 다시 복호화되어야 하는 경우 2가지로 나뉜다.

전자는 비밀번호와 같은 경우다. 해쉬함수방식인 SHA-256 같은 것이 있고, 후자는 계좌번호나 위에서 언급한 요청데이터 등이다. AES-256 같은 것을 사용한다.

AES-256은 대칭키 방식의 블록암호 알고리즘이다. 대칭키라는 단어 그대로 암호화 키와 복호화 키가 같다.
그리고 AES-256의 256은 키의 길이다. 256비트(32바이트)의 키를 사용한다.

2)Block Cipher(블록 암호)

암호화 수행시 128비트(16바이트)의 고정된 블록단위 암호화를 수행한다. 키 길이와 무관하다. AES-128, AES-256 모두 16바이트씩 암호화를 수행한다는 의미이다. Block Cipher Mode는 CBC, ECB가 있고 권장 방식은 CBC라고 한다.

128비트씩 암호화 수행 중에 128비트보다 작은 블록이 생길 경우 특정 값으로 채워주는 작업이 필요하다. 이 작업을 패딩이라고 부르고 PKCS5, PKCS7 방식이 있다.

3)CBC(Cipher Block Chaining, 암호 블록 체인)

암호화 방식 CBC는 이전 암호화했던 블록과 XOR 연산을 한 다음 암호화를 수행한다. 이 때, 첫번째 블록은 이전 암호화 블록이 없기 때문에 IV(initialization vector)가 필요하다.

128비트 단위 암호화를 하니 IV도 128비트다. IV를 암호화하고 다음 블록과 XOR연산 수행후 암호화, 이 암호화와 다음 블록과 암호화..

위, 아래 둘 중 위가 암호화, 아래가 복호화 과정 그림(그림 출처 : https://ko.wikipedia.org/wiki/블록_암호_운용_방식)








출처 : https://m.blog.naver.com/biud436/222230379631, https://bamdule.tistory.com/234

반응형