Computer Science

    [CS][알기 쉬운 정보보호개론 3판] Chapter07. 하이브리드 암호 시스템

    대칭 암호와 공개키 암호 (Review) 대칭 암호 기밀성을 유지한 통신이 가능 키 배송 문제 해결 필요 → 공개키가 해결 속도가 빠름 공개키 암호 키 배송 문제 해결 가능 대칭키 암호화에 비해 느림 → 대칭키가 해결 메세지가 아닌 대칭키를 암호화하는 데에 사용 중간자 공격에 취약 → 하이브리드 시스템을 이용해도 해결 X 하이브리드 암호 시스템 대칭키 암호화 공개키 암호의 장점만을 이용 데이터는 대칭키로 암호화 대칭키는 공개키로 암호화 과정 송신자는 대칭키(K)를 의사 난수 생성기로 생성하여 세션키로 삼는다 송신자는 메세지(M)를 세션키를 이용하여 대칭키 암호 시스템으로 암호화 한다 (C1 = E(K, M)) = 암호화된 메세지 송신자는 세션키를 수신자의 공개키로 암호화 한다 (C2 = (E(pk, K)..

    [CS][알기 쉬운 정보보호개론 3판] Chapter06. 공개키 암호

    키의 배송 문제 키를 안전하게 공유하지 않고 그냥 보낸다면 (telnet) 공격자가 도청했을 때 그 키로 메세지를 풀 수 있다 → 이후에 암호화 해도 소용 X 대칭키를 사전에 공유해야 하는데.. 키를 안전하게 보내는 방법 키의 사전 공유에 의한 해결 키 배포 센터(Key Distribution Center, KDC)에 의한 해결 : 믿을 수 있는 제 3자와 미리 공유한 key가 있어야 함 Diffie-Hellman 키 교환 공개 키 암호에 의한 해결 키의 사전 공유에 의한 해결 쌍방이 사전에 공유해놓은 키를 이용해 새로운 키를 공유하는 방식 새로운 키 : Session key를 뜻함 데이터 통로가 만들어지는 격 Enigma, CDMA가 채택하는 방식 문제점 준비해야 하는 사전 공유 키의 수가 폭발적으로 ..

    [CS][알기 쉬운 정보보호개론 3판] Chapter05. 블록 암호 모드

    블록 암호 (Block Cipher) 평문을 블록 단위로 암호화하는 기법 사이즈가 커서 사용 Stream Cipher와 비교 Stram Cipher란 데이터 흐름을 순차적으로 처리해 가는 알고리즘의 총체 (XOR) 통상적으로 1bit, 8bit, 32bit 등의 단위로 암호화 (or 워드 단위) 블록 크기는 사용되는 알고리즘에 따라 결정 DES, 3DES : 64bit 단윈 AES : 128bit 단위 연속된 블록을 암호화하는 방법 전자 코드북 모드 (ECB: Electronic Codebook Mode) 암호 블록 체인 모드 (CBC: Cipher Block Chain Mode) 출력 피드백 모드 (OFB: Output Feedback Mode) 암호 피드백 모드 (CFB: Cipher Feedback..

    [CS][소프트웨어공학] 객체지향방법론, UML, 유스케이스 다이어그램

    [1] 객체지향 개념 객체지향 방법론 현실세계의 개체(Entity)를 속성과 메소드를 결합시킨 객체 형태로 표현하는 개념 객체 간의 메시지 통신을 통해 시스템을 구현하는 개발 방법 객체지향의 핵심개념은 객체와 "클래스"이다. 객체지향의 기본원리 캡슐화(Encapsulation) 정보은닉(Information hiding) 상속(Inheritance) 다형성(Polymorphism) 객체(Object)는 현실세계에 존재하거나 생각할 수 있는 개념을 표현한 것이다. 물리적 객체, 개념적 객체가 있다. 객체가 되려면 상태를 가져야 한다. 객체가 가지는 자료 값이 상태를 표현한다. 시간이 흐르면서 변화할 수 있어야 한다. Ex. 강좌의 상태 : open & close 객체는 잘 정의된 오퍼레이션이 있어야 한다...

    [CS][소프트웨어공학] SW 요구사항, SW 개발 방법론, DFD, 자료사전

    [1] 요구사항의 정의 요구사항 (requirements) 시스템이 제공해야 할 역량 (capability) 외형적으로 나타내는 기능이나 성능 SW 시스템이 수행해야 할 것과 SW 시스템에 있어야 할 특성을 명시적으로 기술한 문장 SW 개발 기준 여러 이해 당사자 (stakeholder)의 이해 관계와 관련되어 있다. SW가 무엇을 해야 하는가를 표현해야 한다. 프로젝트 실패의 가장 중요한 이유는 명확하지 못한 요구사항 정의이다. 요구 사항은 각각의 position에서 해석해도 문제가 없게끔 정의해야 한다. [2] 요구사항의 분류 기능 요구 고객이 요구하는 시스템이 처리할 기능 업무 절차나 기계 동작을 실현한 것 동사로 표현된다. 쉽게 파악된다. 제품 기능을 의미한다. 사용 사례로 정리할 수 있다. UM..

    [CS][알기 쉬운 정보보호개론 3판] Chapter04. 대칭 암호

    대칭키 암호의 예 대부분의 고전 암호들 Caesar's Cipher Substitution Cipher Vigenère Cipher ... 현대 암호들 일회용 패드 DES 3DES AES 현재 많이 사용되고 있는, 강력하다고 알려져 있는 암호화 알고리즘. 키의 크기는 128, 192, 256, 384 비트 등이고, 키의 크기가 커질 수록 안전하다. 자세한 알고리즘은 추후 설명 예정 RC4 대칭키 암호의 구성 요소 대치 (Substitution) 기본 단위가 정해진 다른 것으로 바뀌는 것 기본 단위가 바이트가 될 수도, 비트가 될 수도 1:1 대응 Ex. A → C, B → D 등 일 때, ILOVEYOU → KNQXGAQW 재배열 (치환 or Permutation or Transposition) 각 평문..

    [CS][소프트웨어공학] SW 기능 산정 (기능점수, 간이법)

    [1] 기능 점수 (FP, FunctionPoint) 과거의 소프트웨어 비용 산정 LOC(Lines of Codes)로 SW의 규모를 파악했다. 문제점 : 사용하는 프로그래밍 언어마다 기능 구현을 위한 코드 라인 수가 달라진다. 기능 점수 (Function Point) 방법 SW의 기능과 복잡한 정도를 기준으로 규모를 산정한다. IFPUG 모델을 이용하며 2003년 국제표준을 채택하였다. (ISO/IEC 20926:2003) 현재 모든 SW 개발 프로젝트의 규모 및 비용 산정의 표준이 된다. SW 시스템의 구성 요소를 2가지로 정의할 수 있다. 처리 기능 : Transaction Function, 외부입력/외부출력/외부질의 데이터 기능 : Data Function, 내부논리파일/외부인터페이스파일 그 구성..

    [CS][소프트웨어공학] SW 개발 프로젝트 관리 기법(일정/비용/위험 관리), SW 개발 프로젝트 조직 유형

    [1] SW 개발 프로젝트 실패 원인 부족한 SW 마인드 : 언제든 변경이 가능하다는 오만함 SW 공학 기술의 활용 미흡 : 공학 기법 적용을 미룸 부족한 프로젝트 관리 기술 : 수행 시 고려해야 할 요소가 기하급수적으로 증가 [2] SW 개발 프로젝트 관리 SW 개발 프로젝트의 목표 최소의 비용으로 최고의 품질을 유지하는 SW를 성공적으로 개발하는 것 프로젝트 관리의 목적 작업 수행에 필요한 여러 가지 자원, 인력, 비용, 재료, 기술 등을 가장 효과적으로 사용하여 프로젝트의 목표를 달성하는 것 SW개발 프로젝트 관리를 어렵게 하는 요인 보이지 않는 SW, 빠르게 변하는 기술, 조직마다 다른 프로세스 [3] SW 개발 프로젝트 관리 단계 계획 수립 프로젝트 목표의 이해와 문서화 스케줄, 예산, 기타 자..

    [CS][네트워크보안] Chapter03. 암호의 역사

    Caesar Cipher (Shift Cipher) 기원전 100년경의 로마장군이었던 Julius Ceasar가 사용하였다는 암호 26개의 알파벳에 대해 일정한 개수씩 밀어서 변환하는 방법 키의 값이 K일 때 암호화는 해당 알파벳의 K개 뒤에 있는 알파벳으로 바꿈 복호화는 해당 알파벳의 K개 앞에 있는 알파벳으로 바꿈 깨기 쉬움, Cipher Text Attack으로 깨기 쉬움 단일 치환 암호의 특수한 경우 가능한 K의 수가 적기 때문에 Brute force attack (전사 공격, 무작위 공격)에 취약 모든 키 중에서 바른 키를 찾는 방법 : Brute force attack, Exhaustive search, Round Robin Substitution Cipher 단일 치환 암호 평문을 구성하는 ..