전체 글
[Script] Ping Test
[Script] Ping Test
2023.05.22#!/bin/bash HOST=./host.web for LST in `cat ${HOST}` do CHK=`echo ${LST} | cut -c 1` if [[ ${CHK} != '#' ]] ; then ping -c 1 -w 1 ${LST} &> /dev/null if [ "$?" == "0" ] ; then echo "${LST} .. bb" else echo "${LST} .. Hmm.." fi fi done 핑 테스트 스크립트니깐,, 썸네일은 핑구로
[Networks] Protocol Layers and Their Service Models
[Networks] Protocol Layers and Their Service Models
2023.05.21인터넷에는 여러 개의 애플리케이션, 프로토콜, 여러 종류의 종단 시스템, 패킷 스위치, 그리고 여러 종류의 link-level 미디어가 있습니다. 이 복잡한 인터넷을 네트워크 구조로 표현해보고자 합니다. Layered Architecture 먼저, 인간과의 유사성을 살펴보겠습니다. 우리는 매일매일 복잡한 신체 시스템과 함께 살아갑니다. 누군가가 당신에게 항공 시스템에 대해서 설명을 부탁했다고 상상해보겠습니다. 항공기 체크인/체크아웃, 수화물, 게이트 직원, 조종사, 항공기, 그리고 항공 시스템 등으로 엮인 이 복잡한 시스템을 어떻게 설명할 수 있을까요? 이 시스템을 설명하는 방법 중 하나는 당신이 항공기를 타고 목적지에 도착하는 일련의 과정을 설명하는 방법입니다. 대부분의 사람은 위 그림과 같은 과정을 ..
[Networks] Delay in Packet-Switched Networks
[Networks] Delay in Packet-Switched Networks
2023.05.18패킷들은 하나의 호스트(Source) 로부터 출발하여 여러 개의 라우터를 거치며, 마지막에는 또다른 호스트(Destination) 에서 멈춥니다. 이런 과정에서, 패킷은 이동하며 거치는 노드들에서 여러 종류의 지연을 경험할 것입니다. 발생하는 지연들 중 대표적인 것은 아래와 같습니다. Nodal processing delay Queuing delay Transmission delay Propagation delay 이러한 지연들이 누적되어 Total Nodal Delay가 발생합니다. 검색, 웹 브라우징, 이메일, 지도, 네트워크를 이용하는 메시지, VOIP 등과 같은 많은 인터넷 애플리케이션들의 성능은 이런 네트워크 지연에 굉장히 많은 영향을 받습니다. Types of Delay 위 그림에서, 패킷은 ..
[Networks] Circuit Switching
[Networks] Circuit Switching
2023.05.16스위치나 링크 네트워크를 통하여 데이터를 옮기는 데에는, 크게 두가지 접근 방식이 존재합니다. 그 두가지 방식은 Packet Switching 와 Circuit Switching 입니다. 이번 글은 Circuit Switching 에 대하여 작성한 글입니다. Circuit Switching 방식을 사용하는 네트워크에서는, end system 사이에서 이루어지는 통신에 필요한 자원을 예약하여 사용하는 것이 특징입니다. Packet Switched Network 에서는 이런 자원들을 예약하지 않고, 필요에 따라 사용합니다. 그렇기에 통신 링크를 사용하기 위해서는 앞에 먼저 링크를 사용하고 있는 통신이 있을 때, Queue에 잠시 대기해야 하는 상황이 발생하기도 합니다. 책에서는 Packet Switched ..
[Networks] Store and Forward Transmission
[Networks] Store and Forward Transmission
2023.05.15대부분의 패킷 스위치(라우터)들은 store-and-forward transmission을 사용합니다. 이는 패킷 스위치가 Source로부터 모든 패킷을 받고 난 후에, Outbound Link로 전송을 시작하는 방식을 의미합니다. * Source : 패킷을 보내는 출발지 * Destination : 패킷을 받아야하는 목적지 * Outbound Link : Destination 쪽으로 가는 링크입니다. 다른 스위치와 이어져있습니다. 만약 Source가 각각 L bits 인 패킷 3개를 Destination에게 전송한다면, 패킷 스위치가 첫번째 패킷을 먼저 수신합니다. 그럼 패킷 스위치의 '모든 패킷을 수신하고 나서, Outbound Link로 패킷 전송을 시작한다' 라는 특성 때문에, 먼저 받은 패킷을 ..
[컴퓨터보안] Web Security
[컴퓨터보안] Web Security
2023.04.26이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
[컴퓨터보안] Feistel Cipher(파이스텔 암호) 동작 방식
[컴퓨터보안] Feistel Cipher(파이스텔 암호) 동작 방식
2023.04.25위의 동작 그림을 기반으로 Feistel Cipher의 동작 방식을 설명하겠습니다. Block Cipher 기반의 암호화 방식이기 때문에, Feistel Cipher 또한 암호화 되어야 하는 Plain Text를 여러개의 Block 으로 나누고, Block 하나와 키를 Encryption Algorithm에 Input 합니다. 이때 한 Block의 길이를 2w bits, key를 K, 진행되는 round의 횟수(Number of rounds)를 n 이라고 하겠습니다. 위의 그림은 n=16 일 때입니다. n은 몇이든 가능합니다. Encryption Algorithm에 들어온 2w bits의 Plain Text Block은 1w bits 두 개로 나누어, 왼쪽과 오른쪽을 각각 $$ LE_{0} \quad R..
[컴퓨터보안] Stream Ciphers | Block Ciphers
[컴퓨터보안] Stream Ciphers | Block Ciphers
2023.04.24Stream Ciphers One-Time Pad 는 아주 안전하지만, 실용적이지는 않은 방법이였습니다. One-Time Pad의 강점인 Plain Text와 같은 길이의 아주 긴 랜덤 키를 사용하는 Stream Cipher 가 One-Time Pad의 대안책으로 많이 사용됩니다. Stream Cipher는 짧은 길이의 키만 공유하고, 이를 Bit-Stream Generator 라는 알고리즘을 사용해 bit-stream을 생성합니다. 이 방식을 통해, One-Time Pad의 단점 중 하나였던 아주 긴 랜덤 키를 어떻게 공유할까 에 대해서 고민하지 않아도 됩니다. 암호화/복호화를 하는 사용자는 같은 짧은 Key를 Bit-Stream Generation Algorithm 에 넣으면 같은 bit-stream..
[컴퓨터보안] Transposition Techniques(전치 기술)
[컴퓨터보안] Transposition Techniques(전치 기술)
2023.04.241. Rail Fence Cipher 가장 간단한 전치 암호화 방식입니다. 암호화 할 Plain Text를 위 아래 지그재그로 나열하고, 이를 Left-To-Right 로 읽는 방법으로 transposition 합니다. meet me after the toga party 라는 Plain Text를 지그재그로 나열하면 아래와 같습니다. 이를 Left-to-Right 로 그대로 읽으면, mematrhtgpryetefeteoaat 와 같이 알아볼 수 없는 텍스트가 나오게 됩니다. 예시에서는 2줄만 이용하였지만, key(정해지지 않은 값) 줄로 나열할 수도 있습니다. 2. Row Transposition Cipher Write the message in a rectangle, row by row Read the..
[컴퓨터보안] Substitution Technique(치환 기술)
[컴퓨터보안] Substitution Technique(치환 기술)
2023.04.241. Caesar Cipher - 카이사르 암호 Plain Text의 각 알파벳을 알파벳 상 3개 뒤의 알파벳으로 치환하는 방식 Plain Text가 meet 일 때, 아래의 과정을 거치게 됩니다. 1. m(12) -> p(12 + 3) 2. e(4) -> h(4 + 3) 3. t(19) -> w(19 + 3) meet을 Caesar Cipher 로 암호화 한 결과, phhw 라는 Cipher Text가 완성됩니다. 이를 식으로 나타내면 아래와 같습니다(k=3) C = E(k, p) = (p + k) mod 26 p = D(k, c) = (c - k) mod 26 k에 대해서 25개의 가능성 밖에 없기에 위 사진과 같이 Brute-Force Attack을 진행할 때, 뚫리기 너무 쉬운 암호화 방식입니다...
[Networks] URI와 PURL
[Networks] URI와 PURL
2023.03.09URI(Uniform Resource Identifier) 웹 서버 리소스는 각자 이름을 갖고있다. www/index.html image/caputdraconis.png와 같다. 이러한 리소스의 이름을 사용해 클라이언트는 관심 있는 리소스를 지목할 수 있다. 이러한 서버 리소스 이름을 통합 자원 식별자, URI(Uniform Resource Identifier) 라고 부른다. http://www.caput.dev/images/chewchewkim.jpg 위와 같은 URI는 HTTP 프로토콜에서 아래의 그림과 같이 해석된다. HTTP는 주어진 URI로 클라이언트가 찾고자 하는 객체를 찾아온다. 이러한 URI에는 URL과 URN 두 가지가 있다. URL(Uniform Resource Locator) 통합 자..
[AWS Certification] AWS SAA(Solution Architect Associate)-C03 자격증 취득
[AWS Certification] AWS SAA(Solution Architect Associate)-C03 자격증 취득
2023.03.05Solution Architect Associate 시험을 보게 된 계기 AWS 서비스들을 많이 알고 있고 사용도 해봤는데, 이 서비스들 각자의 개념, 특성, 그리고 활용 방안에 대해서 알고있나? 위와 같은 내 자신에게 질문을 해봤었다. "어.. EC2는 그냥 컴퓨팅,, S3는 오브젝트 스토리지,, VPC는 그냥 여러개 묶는 수단 아닌가?" 나의 예상보다 굉장히 심각한 수준이였다. AWS 서비스들에 대해서 공부하고 사용해볼 수 있는 단계가 필요했다. Solution Architect Associate(이하 SAA) 시험은 이런 내게 아주 적합한 시험이였다. 이 자격증을 취득하면, 어디 가서 'AWS를 조금은 써봤다' 라고 할 수 있을 것 같았다. 그래서,, 17만원을 바로 긁고, 재시험이 두려워 바로 공..