본문 바로가기

전체

(242)
안전한 서명 (Security Model for Signature) 안전한 서명이 되려면? 1) Strong Unforgeability - 어떠한 공격자도 유효한 (메시지, 시그니처)의 쌍을 생성할 수 없다. 2) 만약 forgery가 성공하려면? - 이 게임은 공개키로 자신이 원하는 메시지의 전자 서명을 알 수 있다.- 이때 서명 오라클(signing oracle)을 사용하지 않고 인증이 가능한 (메시지, 시그니처) 쌍을 생성해야 한다.- 또는 높은 확률로 forgery가 성공하면 게임에서 승리 한다.- 역으로 말하면 안전함을 보여주려면 어떠한 공격도 성공하지 못함을 보여주면 된다. Blind Signature 다음과 같은 조건이 성립하면 된다. 은행을 예제로 들어 설명한다. 1) Unforgeabiligy - 이 코인은 누구나 만들 수 없다.-> 은행에서 coin을 ..
Discrete Logarithm Based Problem 0. 시작하기전에 이 문제를 이해하기 전에 알아야할 것이 있다. 문제 A(하위)를 풀 수 없으면 다른 문제 B(상위)도 풀 수 없다. -> 안전 (명제)다른 문제 B를 풀 수 있으면 문제 A를 풀 수 있다. -> 안전 (대우) 예를들어 RSA(B)를 깨는 공격자가 그 알고리즘을 이용해 Factorization문제(A)를 깨는 것을 보여주면 이 문제는 안전하다고 말할 수 있다. 어렵게 들릴지 모르겠지만 다음 내용만 이해하면된다. 어떠한 난제가 안전함을 보여주기 위해선 polynomial time reduction을 보여주면 된다.이는 한문제를 다항식 시간 안에 다른 문제로 바꾸고 그 문제의 해를 다른 문제의 해로 바꾸는 방법이나 과정을 말한다. Discrete Logarithm Based Problem이 ..
RSA (Rivest, shamir, adelman) 0. RSA 정리 위의 증명에서 사용한 오일러 법칙은 다음과 같다. 1. 수치로 계산해보는 RSA encryption 1) 문제 풀이 2) 문제풀이 계산과정 2. 중국인 나머지 정리(CRT : Chinese Remainder Theorem)을 사용한 복호화 이 결과는 mod n에서 계산하는 것 보다 mod p 와 mod q계산이 더 효율적임을 보여준다. 이를 이해할려면 중국인 나머지 정리부터 이해해야 한다. 3. RSA 공격 1) Chosen Ciphertext Attack 2) small e with the same small message and different 3) circular encryption attack 적긴 했지만...사실 이해가 안간다. 4) OAEP (optimal Asymmetri..
DiD (Defense in Depth) DiD (Defense in Depth) 군대용어이고 직역하면 중심방어, 다계층, 다단계 방어를 의미한다. 아래와 같이 다계층 방식의 방어 방법을 사용한다. 간단히 성을 보호하는 예제를 통해 쉽게 이해할 수 있다. 위키피디아 설명 castle approach라고도 알려진 Defense in Depth는 정보 보증 개념이다. 이때 보안 컨트롤(방어)의 다수의 계층은 정보 기술(IT) 시스템 전반에 배치되어있다. Defense in Depth는 몇가지의 독립적인 방법을 사용하여 특정 시스템의 공격에 대한 방어를 목적으로 한다. 이것은 전자, 정보 보안을 위한 포괄적인 접근으로서 National Security Agency (NSA)으로 부터 고안되었다. 이 방어기법은 본래 시간을 벌기 위해 공간을 제공함으로..
공개키 (Public Key) 1. 대칭키의 문제점 1) 키 분배 문제2) 서로 모르는 사이의 경우 보안 커뮤니케이션이 불가능하다.3) 키 관리 문제점 2. 공개키 암호 시스템 - x는 개인키이고 y는 공개키이다. - 누군가가 모두 공개키를 알 수 있도록 등록을 해놓는다. - 이것을 관리하는 방법은 이 카테고리 마지막 게시글에서 설명한다. - A 는 B와 모르는 사이라고 가정한다. - A는 B의 공개키를 가지고 암호화 해서 B에게 보낸다. - A는 B에게 안전하게 메시지를 보낼 수 있고 - B는 본인만 그 내용을 확인할 수 있다. 3. 일방향 함수 - 해쉬 함수와 같이 - x --> f(x) 는 쉽지만 - f(x) --> x 는 어려워야 한다. - 단 private key를 가지고 있을 경우 쉽게 f(x) --> x 가 가능해진다. ..
IDS (Intrusion Detection System) 와 IPS (Intrusion Prevention System) IDS (Intrusion Detection System) 0. 침입 탐지 모델 구분 종류 설명 침입 탐지 모델에 의한 구분 오용탐지(misuse detection) 이미 알려진 패턴을 이용 -> 침입 탐지 알람이 규칙화 -> 이해하기 쉽고 오탐이 적음 새로운 패턴 탐지X -> 지속적인 관리 요구 변칙 탐지(Anomaly Detection) 사용자 패턴 수집 및 분석 -> 통계분석을 이용 새로운 패턴 탐지O -> 관리 용이 오탐 上 사용자의 패턴이 불규칙이면 구현이 어려움 데이터 소스에 따른 구분 호스트기반 침입 탐지 해당 시스템 파일들에 대한 무결성을 점검 네트워크 환경 구애X 시스템 별로 호환성의 문제 발생 네트워크 기반 침입 탐지 네트워크의 모든 패킷 검사 및 분석 호스트 공격 전에 탐지를 지원 대..
방화벽 (FireWall) 방화벽 1. 내부 시스템과 외부 시스템 간 필터링 기능을 수행하는 프로세스 2. 보안 정책 구현 1) 외부에서 내부로의 접근 통제 2) 내부에서 외부로의 접근 통제(허용) 3) 외부의 특정사이트로만, 특정사이트에서 접근만 허용 4) 인터넷 서비스를 선별적으로 지원 등 통제 3. 요구사항 1) 접근 통제 : - 사내넷으로부터 모든 인터넷 접속은 방화벽에 있는 프록시를 통해 발생- 디폴트로 명시되지 않은 모든 서비스는 금지 2) 보증 :- 방화벽과 프록시는 민감한 호스트로 설치- 사용자의 직접적인 로그인 방지- 정책과 구성은 정확하게 문서화, 정기적인 모니터링 3) 로깅 :- 상세 로그를 보존- 치명적 에러는 경고음 4) 가용성- 가용성을 제공하면서 이에 필요한 일(백업/복원) 수행 4. 기능 1) 접근 통..
JAVA 자바 기반 채팅프로그램 네트워크로 과제로 구현했던 자바 기반 채팅프로그램이다. 파자마시(PaJamasI) 블로그의 인터넷 강의를 보면서 따라했고 추가적으로 파일전송기능까지 추가했다. (파일 전송의 경우 급 제작하여 안 될 수도 있다.)아래에 프로그램 및 소스 코드 를 첨부하였다. 1. 서버 스크린샷 서버 폴더의 server.vbs 를 실행시키면 된다. 포트를 입력하고 START 버튼을 누르면 서버가 가동된다. 2. 클라이언트 스크린샷 여기서도 폴더의 client.vbs 를 실행시키면 된다. 실행시키면 다음과 같은 창이 뜬다. 시작시키면 아래와 같은 프로그램이 실행된다. 3. 실행파일 4. 코드