네트워크를 관통하는 큰, 전산쪽 공부를 하는 사람이라면 누구나 처음에 7계층 순서를 외우려 노력했을 OSI 7계층에 대해 간략히 정리해보려 한다. 물리 계층 (Physical Layer, L1) - 비트 물리 계층은 디지털 데이터를 전기적 신호로 변환해 입출력을 담당하는 계층으로 전기적인 신호(비트열)만을 연결된 모든 노드에게 전달하는 계층이다. 아래 그림에서 더미 허브의 동작 방식을 보면, Host-A에서 Host-C로 패킷 C를 보냈다고 했을 때, 연결된 모든 노드에게 해당 패킷이 전송된다. 그리고 Host-C를 제외한 나머지 호스트들은 자신에게 온 패킷이 아니므로 모두 폐기한다. 그렇다면, 모든 노드가 스니핑이 용이하게 되는데 네트워크 카드(NIC)의 기본 동작모드가 자신을 목적지 주소로 하는 패킷..
양방향 암호화 vs 단방향 암호화 양방향 암호화는 암호화된 데이터에 대한 복호화가 가능한 암호화 방식을 말한다. 지난 포스팅에서 살펴본 대칭키, 공개키 암호화 방식이 양방향 암호화에 속한다. 단방향 암호화는 양방향 암호화와는 다르게 암호화된 데이터에 대한 복호화가 불가능한 암호화 방식을 말한다. 대표적으로 해시(Hash)나 메시지 인증코드(MAC)가 있다. 일방향 해시함수(Hash) 일방향 해시함수는 임의의 길이 메시지로부터 고정길이의 해시값을 계산한다. 단방향 암호화이기 때문에 해시값으로부터 메시지를 역산할 수는 없으며 이것을 일방향성을 갖는다고 한다. 또한, 메시지가 다르면 해시값도 다르다는 특징이 있는데 해당 특징으로 인해 해시함수를 무결성을 확인하기 위한 방안으로 사용하기도 한다. 메시지가 1비트..
코로나19 확진자 관련 스미싱이 한동안 들끓었는데 이젠 긴급재닌지원금 안내문자 관련 스미싱까지 떠올랐다. 행정안전부, 긴급재난지원금 스미싱 관련 보도자료 배포 긴급재난지원금 안내문자 관련 스미싱 피해가 발생하자, 행정안전부에서는 '긴급재난지원금 안내문자, URL 누르지 마세요'라는 제목으로 보도자료를 발행했다. 행정안전부 보도자료, '긴급재난지원금, 안내문자 URL 누르지 마세요' 「긴급재난지원금」안내 문자, URL 누르지 마세요 | 행정안전부> 뉴스·소식> 보도자료> 보도자료 행정안전부 홈페이지에 오신것을 환영합니다. www.mois.go.kr 내용을 살펴보면, 행정안전부가 긴급재난지원금을 사칭한 스미싱(문자메시지 해킹 사기) 등에 따른 피해방지를 위해 주의를 당부한다는 내용과 함께 첨부파일이 포함되어..
스택/큐 - 쇠막대기, 문제 확인 처음보는 신기한 유형의 문제이다. 문제 설명은 아래와 같다. 쇠막대기를 아래에서 위로 겹쳐놓고 레이저를 위에서 수직으로 발사해 쇠막대기를 자르려 함 짧은 쇠막대기가 긴 쇠막대기 위에 오도록 배치 각 쇠막대기를 자르는 레이저는 적어도 하나 존재 레이저는 어떤 쇠막대기의 양끝점과도 겹치지 않음 레이저는 ()로 표현함 쇠막대기의 왼쪽 끝은 (로, 오른쪽 끝은 )로 표현 쇠막대기, 레이저의 배치를 표현한 문자열 arrangement가 주어질 때, 잘린 쇠막대기 조각의 총 개수를 return 스택/큐 - 쇠막대기, 문제 풀이 먼저 레이저 ()를 전부 *값으로 변경해주었다. def solution(arrangement): answer = 0 arrangement = arrangem..
침입탐지시스템(IDS)/침입방지시스템(IPS)/방화벽 정의 침입탐지시스템(IDS)/침입방지시스템(IPS)는 거의 동일한 탐지엔진을 갖고 있고 검사 영역도 거의 동일한데, 탐지기능만 수행하는지 탐지+차단기능까지 수행하는지의 여부에 차이가 있다(이 외의 차이는 하단에 추가 설명). 이름을 보면 알 수 있듯이, IDS는 침입 발생 시 관리자에게 경고창을 띄우는 등의 방식으로 탐지 사실만 알리고 IPS는 침입 발생 전 실시간으로 침입을 차단하는 시스템이다. 방화벽 또한 미리 정해진 룰에 기반해 트래픽을 모니터링하고 제어하는 보안시스템인 것은 거의 동일하지만 IDS/IPS와는 검사 영역에서 큰 차이를 보인다. 침입탐지시스템(IDS)/침입방지시스템(IPS) vs 방화벽 차이 시기적으로 보면 IDS가 먼저 나왔고 차..
스택/큐 - 프린터, 문제 확인 문제 설명은 아래와 같다. 대기목록의 가장 앞에 있는 문서의 중요도보다 높은 문서가 있다면, 해당 문서를 대기목록의 맨뒤로 보냄 없다면, 인쇄함 priorities : 대기목록에 있는 문서의 중요도가 담긴 배열 lcoation: 인쇄를 요청한 문서가 대기목록의 어떤 위치에 있는지 내가 요청한 문서가 몇 번째로 인쇄되는지 return 예를 보면, [2,1,3,2]의 경우 아래의 순서대로 인쇄가 진행되고 lcoation이 2인 경우, 3을 의미하므로 가장 첫번째로 뽑히는 것을 알 수 있다. 따라서 return 값은 1이다. 초기) priorities=[2,1,3,2] 1) priorities=[1,3,2,2] 2) priorities=[3,2,2,1] 3) priorities..
공개키는 이해하고 있다고 생각하면서도, 막상 이자리에서 설명해보라고 하면 갑자기 헷갈리는 경우가 있다. 대칭키의 장단점은 무엇인지, 어떤 단점을 해결하기 위해 공개키가 등장하게 됐는지, 그러한 공개키의 장단점은 무엇인지 등, 이 포스팅에서 제대로 정리해 앞으로 헷갈리는 일이 없도록 하려 한다. 개요 큰틀에서의 차이를 보면, 대칭키 암호화 방식은 암복호화에 사용하는 키가 동일한 암호화 방식을 말한다. 그와 달리, 공개키 암호화 방식은 암복호화에 사용하는 키가 서로 다르며 따라서 비대칭키 암호화라고도 한다. 따라서 공개키 암호화 에서는 송수신자 모두 한쌍의 키(개인키, 공개키)를 갖고있게 된다. 대칭키란, 장단점 대칭키는 위에서 설명한대로 암복호화키가 동일하며 해당 키를 아는 사람만이 문서를 복호화해 볼 수..
프로그래머스 스택/큐 - 기능개발, 문제 확인 문제 설명은 아래와 같다. 각 기능은 진도가 100%일 때, 서비스에 반영할 수 있음 각 기능의 개발속도는 모두 다름 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발되면, 앞에 있는 기능이 배포될 때 함께 배포됨 progress : 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 speeds : 각 작업의 개발 속도가 적힌 정수 배열 배포는 하루에 한번 할 수 있음 예를 들어 진도율이 95%인 작업의 개발속도가 4%라면 배포는 2일 뒤에 이루어짐 각 배포마다 몇개의 기능이 배포되는지를 리턴 문제 설명만 봐서는 잘 이해가 가지 않으니 예시를 함께 보자. 첫 기능의 경우 93% 완료되어있고 하루에 1%씩 작업이 가능하므로 7일간 작업 후 배포가 된다..
프로그래머스 스택/큐 - 다리를 지나는 트럭, 문제 확인 문제 설명은 아래와 같다. 트럭 여러대가 일차선 다리를 정해진 순서대로 건넘 모든 트럭이 다리를 건너려면 몇초가 걸리는지 알아내야 함 트럭은 1초에 1만큼 움직임 다리길이 : bridge_length, 다리무게: weight (까지 견딤) 예를들어, 길이가 2이고 10kg 무게를 견디는 다리 있을 때, 무게가 [7,4,5,6]인 트럭이 순서대로 최단시간안에 다리를 건너려면 다음과 같고 모든 트럭이 다리를 지나기 위해 최소 8초가 걸린다. 경과시간 다리를 지난 트럭 다리를 건너는 트럭 대기 트럭 0 [] [] [7,4,5,6] 1~2 [] [7] [4,5,6] 3 [7] [4] [5,6] 4 [7] [4,5] [6] 5 [7,4] [5] [6] 6~..
지난 포스팅에서 프로그래머스 해시문제 4개를 모두 마치고 오늘은 스택/큐 문제를 시작하도록 하겠다. 프로그래머스 스택/큐 - 탑, 문제 확인 문제 설명은 아래와 같다. 수평 직선에 탑 N대를 세움 모든 탑의 꼭대기에 신호를 송수신하는 장치를 설치 신호는 신호를 보낸 탑보다 높은 탑에서만 수신 가능 한번 수신된 신호는 다른 탑으로 송신되지 않음 탑의 높이를 담은 배열 heights 주어질 때 각 탑이 쏜 신호를 어떤 탑에서 받았는지 기록한 배열을 리턴 신호를 수신하는 탑이 없으면 0으로 표기 예를 들어, 아래와 같이 높이가 6,9,5,7,4인 다섯개의 탑이 있을 때 왼쪽으로 동시에 레이저 신호를 발사하면 다음과 같이 신호를 주고받게 된다. 즉, 높이가 5(4)가 보낸 신호는 4(7)이 받고, 4(7)이 보..
프로그래머스 해시 - 베스트앨범, 문제 확인 프로그래머스 해시 마지막 문제이다. 문제 설명은 아래와 같다. 장르별로 가장 많이 재생된 노래 두개를 뽑으려 함 노래는 고유번호로 구분되며 수록 기준은 아래와 같음 1) 속한 노래가 많이 재생된 장르 먼저 수록 2) 장르 내에서 많이 재생된 노래 먼저 수록 3) 장르 내에서 재생횟수가 같은 노래 중에서는 고유번호가 낮은 노래를 먼저 수록 genres : 노래의 장르를 나타내는 문자열 배열 (genres[i]가 노래 장르, i가 고유번호) plays: 노래별 재생 횟수를 나타내는 정수 배열 (plays[i]는 고유번호가 i인 노래가 재생된 횟수) 장르에 속한 곡이 하나라면, 하나의 곡만 선택함 뽑을 노래 두개의 고유번호를 순서대로 리턴하도록 solution 함수..
프로그래머스 해시 - 위장, 문제 확인 문제 설명은 아래와 같다. 스파이들은 매일 다른 옷을 조합해 자신을 위장함 clothes는 스파이가 가진 의상들이 담긴 2차원 배열, 각 행은 [의상이름, 종류]로 이루어져 있음 의상 수는 1개 이상, 30개 이하 같은 이름을 가진 의상은 없음 하루에 최소 한개의 의상은 입어야 함 서로 다른 옷의 조합 수를 리턴하도록 solution 함수를 작성 프로그래머스 해시 - 위장, 문제 풀이 (파이썬) [[yellow_hat, headgear], [blue_sunglasses, eyewear], [green_turban, headgear]] 최소 한개 이상은 입게 하면서 모든 옷 조합 수를 구하려면 (의상종류+1)을 모두 곱한 후 -1(반드시 하나는 선택)을 해주면 된다...