목록전체 글 (29)
개발자라면 한번쯤은 보러오는 곳
ARP spoofing - 공격자는 LAN에서 데이터 프레임을 스니핑 하거나 트래픽을 수정하거나 트래픽을 완전히 중지 할 수 있다. - ARP poisoning, ARP flooding, ARP poison routing Man-in-the-middle-attack(MITM) - 양쪽 클라이언트의 대리인 역할을 하는 중간 당사자의 존재로 인해 발생하는 일반적인 문제 - Diffie-Hellman이 이 공격에 약하다 대책 PKI -> 공인인증서 One-time pad Strong mutual authentication Second channel verification Smurf attack == ARP - 공격 대상자에게 많은 ICMP 에코 응답 메세지를 발행 - 집계된 메세지를 통해 피해자의 정상적인 작..
Spring 도전...! 시험이 끝나고 기말고사 전까지 기획을 마무리하고 개발을 시작 하기 위해 회의를 했다. 이번 회의에서는 백앤드 쪽에서 대대적인 변화가 있었다. 바로 프레임워크를 Django에서 Spring Boot로 바꾼것. 백앤드 개발자들이 모두 프로젝트를 해본 Django 를 하지 않고 Spring Boot로 도전을 한 이유는 이번 인턴을 지원하면서 대부분의 회사가 원하는 기술 스택이 Spring이 대부분이었고 Django는 없었기 때문이었다. 아무리 Django를 잘하고, 프로젝트가 많다고 하더라도 Django를 잘하는 사람을 뽑는 회사는 없었다. 이러한 현실의 벽을 마주치고 프레임 워크를 바꾸기로 하였다. 백앤드 개발자 모두 Spring을 배우고 싶어했지만 평소에는 시간이 없고, 프로젝트를..
Certificate - Public Key - 키 소유의 식별자 - 신뢰할 수 있는 제3자가 서명한 전체 블록 당사자(인증기관) X.509 Certificate Public Key Infrastructure(PKI) 인증서 인증서 검색을 위한 저장소 인증서를 취소하는 방법 신뢰 앵커에서 대상 이름에 이르는 인증서 체인을 평가하는 방법 적임자 확인 방법 Certification revocation - CA(Certification Authority) and RA(Ragistration Authority) 인증기관과 등록기관 - 인증기관에 유효 기간이 있다. - 만료전에 취소해야 할 수 있음 사용자의 개인키가 손상되었을 때 사용자가 더이상 이 CA의 인증을 받지 않을 때 CA 인증서가 훼손되었을 때 - C..
Secure Socket Layer(SSL) 전송 계층 보안 서비스 == TLS(Transport Layer Security) 신뢰 할 수 있는 end-to-end 서비스를 제공하기 위해 TCP를 사용한다. SSL은 두개의 프로토콜 계층을 가지고 있다 Run on top of TCP 헤더와 페이로드들로 구성된 레코드라는 자체 유닛이 있다. user data, handshake messages, alerts, change cipher spec 등 4가지 record가 있다. TLS seesion 클라이언트와 서버간의 연결 핸드세이크 프로토콜에 의해 생성 일련의 암호화 매개변수 정의 여러 TSL 연결을 통해 공유 가능 message integrity 공유 비밀 키가 있는 MAC 사용 HMAC과 유사하지만 패..
Secret sharing algorithms - 참가자 그룹간에 비밀을 배포하는 방법 - 각 참가자에게 비밀의 몫이 할당됨 - 공유된 것들이 함께 결합되어야만 비밀 재구성이 가능해진다. - 개별은 그 자체로 아무런 쓸모가 없다. 왜 필요할까? - 엄격한 제어기능 제공 및 단일 지점 취약성 제거 - 개별 키 공유자가 데이터 변경 / 액세스 할 수 없음 - k 개 이상의 조각이 모여 S를 만든다. - k-1이하의 조각으로는 S를 만들 수 없음 Blind signatures - 발신자의 프라이버시가 중요한 프로그램에서 많이 사용 - ex) 전자 투표 프로토콜 Kerberos - 대칭 기반 인증 시스템
Classification - 지도 학습의 한종류 - Regression은 연속적인값, Classification은 분류 - Binary Classification, mulit-class Classification Binary Classification - 0과 1, 양성과 음성 등 두개의 결과로 나눌 수 있는 분류를 말한다. - Training examples with t = 1 are called positive examples, and training examples with t = 0 are called negative examples. - Binary Classification은 데이터의 bias 가 너무 크다면 정확한 모델 학습이 되지 않을 수 있다. 때문에 SIgmoid라는 함수를 이용해 L..
Symmetric key cryptography 대칭키 암호화 발신자와 수신자가 공유하는 비밀키가 필요함 O(n^2), 키 관리와 유통이 어렵다. Asymmetric key cryptography 비대칭키 암호화 == 공개키 암호화라고도 함 근본적으로 다른 접근 방식 발신자와 수신자가 비밀키를 공유하지 않는다. 모두에게 알려진 공개 암호화 키 수신자에게만 알려진 개인 암호 해독키 O(n) 공개키 암호화 사용의 목적 암호화 복호화 가믕 -> confidentially 기밀성을 지킨다. -> encryption 전자 서명 -> non-repudiation 부인봉쇄 -> digital signature 공개키 암호화 Encryption - Bob에게 m을 주기 위해선 Bob의 public키로 encrytion..
Cryptographic hash function - 임의의 길이 메시지 매핑 고정 길이 출력(message digest) - message digest function - one-way function -> H(m)으로 m을 추측 할 수 없다. - 임력의 임의적인 변경의 경우, 출력의 모든 비트는 50%의 변경 가능성을 가진다. - 계산상으로는 같은 다이제스트의 두 메세지를 찾을 수 없음 MD5(Message digest5) -> 현재 사용 X Input: arbitrary number of bits Output: 128 bits SHA-1 -> Secure Hash Algorithm-1 Input: arbitrary number of bits Output : 160 bits SHA-256 Step 1..