728x90

실제 내용은 contents에 있다. 이 안에는 handshake 프로토콜에서 전달하는 메시지가 될 수도 있겠고( handshake 프로토콜 과정이라는 가정에) 모든게 다 끝났을 경우에는 application data를 쪼개서 [TLS record 생성]에서 봤듯이 그 쪼갠 것들을 안에 넣어서 전달할 수 있다. 그 외에도 alert, changecipherspec도 있다. contens와 MAC 부분이 세션 키로 암호화 되어서 전달된다. 

 

그리고 TLS의 경우에는 record를 보낼 때마다 카운터를 동작한다. 그래서 record를 보낼 때 마다 0부터 시작해서 하나씩 증가시킨다. 실제적으로 TLS는 일련번호(sequence number)가 있다. 그런데 헤더에는 sequence number field가 없다. 그렇지만 내부적으로 동작 할 때는 갖는다. MAC을 계산 할 때는 data, MAC key를 가지고 계산을 하는데 이 때 sequence number를 같이 넣어서 MAC을 넣는다. 그래서 내부적으로는 어떤 record에 해당되는 sequence number가 있는 것이다. 받는 쪽에서도 sequence number를 넣어서 MAC을 계산한다. 만약에 서버와 클라이언트의 sequence number가 일치하지 않으면 중간에 빠졌거나 변경된 걸로 간주할 수 있다. 그러면 올바른 값의 MAC이 안나온다. (이 부분은 몰론 TCP가 segment 단위에서 하지만 TCP segment check만 가지고는 불충분하기 때문에 TLS 에서 record sequence number를 내부적으로 운영하고 있고 이것으로 MAC을 계산한다)

 

'서버 > 암호' 카테고리의 다른 글

익스플로잇 (exploit)  (0) 2021.07.27
멀웨어(malware)  (0) 2021.07.27
TLS record 생성  (0) 2021.03.24
TLS Layer  (0) 2021.03.23
키(🔑 "key") 계산  (0) 2021.03.22
728x90

TLS record로 만들기 위해서 framentation을 통해 쪼갠다. (Application data가 긴 경우) 그리고 압축 할 수 있으면 압축한다. 그 다음으로 Handshake 프로토콜에서 정해진 세션 키와 MAC키 가 있을 거니깐. 

이렇게 내려 온것을 HMAC을 이용해서 MAC키를 붙인다. 

그리고 이것을 암호화 시킨다. 이때는 세션키를 가지고 MAC키 까지 포함해서 암호화 시킨다. 

그리고 TLS record를 만들기 위해서 header를 붙인다. 그러므로 이것이 TLS에서 최종 output이 된다. 고로 이것이 record 이다.

이 TLS record로 만들어 졌고 이게 TCP에 내려가서는 TCP segment로 전달이 이루어지게 된다. 

 

 

 

'서버 > 암호' 카테고리의 다른 글

멀웨어(malware)  (0) 2021.07.27
TLS 내부  (0) 2021.03.25
TLS Layer  (0) 2021.03.23
키(🔑 "key") 계산  (0) 2021.03.22
키 교환 방법  (0) 2021.03.21
728x90

인터넷 구조에 대해 살펴보면 네트워크들에 네트워크이다.

 

access ISPs를 통해 end systems(단말, host)를 연결 할 수 있다.    *access ISPs에는 reesidential, company, university ISPs가 있다.

 

이제 access ISPs에 end system을 연결했으면 access ISPs들을 상호 연결을 해야한다. 그렇게 해야지만 서로다른 access ISPs에 있는 어느 두개의 호스트들이라도 각각에 패킷을 전송할 수 있게된다. 그래서 묶어줘야 한다. 그렇게 되면 네트워크가 복잡한 형태를 띄게 된다. 그래서 네트워크에 네트워크 발전은 경제 상황이라든가 국가정책에 의해서 개선이 된다.

 

계속 인터넷 구조를 살펴보자 (다음으로)

 

 

첫번째로 각 엑세스 아이에스피를 나머지 엑세스 아이에스피에게 전부 다 연결하는 방법이다.

 

규모를 키웠다 줄였다 하는게 원활하지가 않다. 왜냐하면 O(N^2)의 연결이 필요로 하여 많은 연결이 필요하기 때문이다. 게다가 access ISPs 하나가 추가되면 또 다 연결해야하기 때문이다.

 

각 엑세스 아이에스피를 하나의 글로벌 ISP에 access net을 연결해주는 것이다. 그러면 원활하게 묶을 수가 있다. 

문제는 Customer ISP와 provide ISP간의 경제적 동의가 있어야 하는점이다.

만약 하나의 글로벌 아이에스피가 독립적으로 비지니스를 운영하면 금방 경쟁자들이 발생하게 된다. 그러면 이러한 경쟁자들을 또 묶어줘야 한다. 그렇게 되면 글로벌 아이에스피 간에 peering link를 만들던가 아니면 internet exchange point를 제3의 조직이 만들어가지고 각각의 ISP들이 연결 가능한 기기들을 삽입해 각각을 연결해야한다.

 

각 지역별로 묶어 글로벌 아이에스피로 뿌려주는 것도 있다.

 

그리고 자기 자신의 네트워크를 운영하는 content provide network 같은것들도 운영되고있다.

 

인터넷 구조를 정리해보면 이러한 모양이 된다.

 

Tier 1 ISP는 글로벌 아이에스피가 표현되고 구글로 표현된 것이 content provider network를 표현된다. 그다음에 IXP는 Internet Exchange Point라고 해서 제3의 사업자 또는 공공기관같은곳에서 서로다른 ISP를 연결할 수 있도록 장비를 갖추고 회선을 끌어다가 연결해주는 곳이다.

 

그래서 인터넷은 작은 숫자의 잘 연결된 커다란 네트워크를 중심으로 해서 연결되는데 tier-1은 commercial ISP가 되겠다. 우리나라로 치면 skt, kt LG 이런 사업자들이다.

Content provider network는 aws같은 곳이다.

+ Recent posts