soft IT life

정보처리기사 2024 필기 대비 본문

자격증

정보처리기사 2024 필기 대비

softPattern 2024. 5. 20. 21:10

소프트웨어 설계

요구사항 개발

  • 요구공학 : 이해관계자 사이의 요구사항 관련 의사소통
  • 요구사항 : 도출 -> 분석 -> 명세 -> 확인
  • 미들웨어의 종류
    • RPC - 원격프로시저 호출
    • MOM - 메세지 지향 미들웨어(빠른 응답속도 필요하지 않음)
    • ORB - 다른 시스템의 프로그램을 네트워크를 통해 호출 가능하게 해줌
    • DB - JDBC ...
    • TP모니터
    • WAS - 웹 서버의 동적 기능 수행
    • ESB
  • 방법론
    • 애자일 방법론
      • XP - 의사소통, 피드백, 존중, 용기, 단순성
      • 스크럼
    • 구조적 방법론
  • Use Case 다이어그램
    • 사용자(Actor)의 관점에서 기능과 상호작용 등의 관계를 표현
    • 구성요소 - 시스템, 액터, 유즈케이스(기능), 관계
    • 관계
      • 연관 
      • 포함 - 하나의 기능이 실행될 때 포함 관계의 케이스는 반드시 실행되어야 함
      • 확장 - " 특정상황에서 실행되어야 함
      • 일반화 - 상위 클래스로 갈 수록 일반적인 관계가 된다.
      • (구체화X -> 클래스 다이어그램)

모듈

  • 공통모듈 명세기법 - 정확성, 명확성, 완전성, 일관성

응집도

우연적 모듈간 연관이 없음
논리적 유사한 성격을 갖거나하는 것을 한 모듈에서 처리
시간적 특정 시간에 처리되어야 하는 것을 한 모듈에서 처리
절차적 모듈 안 구성 요소들이 기능을 순차적으로 수행
통신적 동일한 입 출력을 사용하여 다른 기능을 사용
순차적 모듈 내에서 한 활동으로붙너 나온 값을 다른 활동에 사용
기능적 모든 기능이 단일한 목적을 위해 수행 (가장 높음)

결합도

자료 모듈간 값(자료)만 전달
스탬프 모듈간 객체나, 배열 등을 전달
제어 모듈간 값+제어요소(if문)
외부 외부로 선언한 변수를 다른 모듈에서 참조
공통 전역변수를 참조
내용 다른 모듈의 변수나 기능을 사용 (가장 높음)

 

소프트웨어 아키텍처

  • 아키텍쳐 패턴 
    • 계층(Layered) 
    • 클라이언트-서버
    • 마스터-슬레이브
    • Pipe-Filter : 데이터 흐름을 생성->처리를 위한 시스템 구조, 노드와 간선으로 이루어짐
    • Peer to Peer : 분산컴퓨팅 구축 시, 컴포넌트 대칭 구조
    • MVC
    • Interpreter

객체지향 설계

  • 구조적 프로그래밍 (순차 구조, 반복 구조, 선택 구조)
  • 절차적 프로그래밍                            
  • 객체지향 프로그래밍
    • 구성 : Class(속성 및 행위 정의), Object(Class에서 만들어진 instance), Message
    • Object는 message를 주고 받는다.
    • 객체지향 특징
      • 캡슐화 : 결합도 낮춤, 관련성이 높은 속성과 메소드를 하나로 묶는 것, 정보은닉을 통해 메세지 교환 시 인터페이스가 단순해짐
      • 정보은닉 : 객체 내부의 속성과 메소드를 숨김 -> 인터페이스 단순화
      • 추상화(Abstraction) : 현실 세계의 것을 성질 추출 및 시스템에 표현 (종류 - 기능 추상화, 제어 추상화, 자료 추상화)
      • 상속성(ingeritance)
      • 다형성(Polymorphism) : 오버로딩, 오버라이딩
    • 객체지향 설계 원칙 
      • 단일 책임의 원칙(SRP) : 하나의 클래스는 하나의 책임
      • 개방-폐쇄의 원칙(OCP) : 확장에 대해선 열려있고, 수정은 closed
      • 리스코프치환 원칙(LSP) : 상위를 하위가 대체할 수 있어야함
      • 인터페이스 분리 원칙(ISP) : 필요없는 인터페이스 영향 x
      • 의존 역전 원칙(DIP) : 자주 변경되는 것을 의존하지 말 것
    • 객체지향 분석 방법론
      • Rumbaugh(럼바우) - 객체 모델(객체), 동적 모델(상태), 기능 모델(DFD)
      • Booch(부치) - 미시적, 거시적 개발 프로세스
      • Jacobson - Use Case 사용
      • Coad&Yourdon - ERD

디자인 패턴

  • 구성 요소 : 패턴, 문제, 해법, 결과
  • GoF(Gangs of Four) 디자인 패턴 - 객체지향 설계 단계 중 재사용에 유용한 설계 디자인 패턴화
    • 생성 - 객체 생성 (Factory Method, Singleton, Prototype, Builder, Abstract Factory)
    • 구조 - 객체 조합 (Adaptor, Bridge, Composite, Decorator, Facade, Flyweight, Proxy)
    • 행위 - 객체 간 행위 (Observer, Strategy, Command, State, Iterator, Interpreter, Memento, Template Method, Mediator)

인터페이스 요구사항

  • 기능적/비기능적 요구사항
  • 인터페이스 요구사항 검증 방법
    • 프로토타이핑 - 시제품
    • 테스트 설계 - Test Case 생성
    • CASE - Computer Aid Software Engineering
    • 요구사항 검토 - 동료검토, 워크스루(검토전 자료 배포, 짧은 회의, 결함발견), 인스펙션(개발자 외 전문가가 감사)
  • 인터페이스 연계 기술
    • DB Link 
    • DB Connection - WAS에서 connection pool 이용
    • API, Open API
    • JDBC
    • Socket - 서버 통신을 위한 소켓 생성, 포트 할당 -> 클라이언트와 연결
    • Web Service
  • 시스템 연계 기술
    • API, WSDL (Web Service Decription Language), UDDI (Universal Description, Discoverry, Integration), SOAP(Simple Object Access Protocol, 웹 서비스를 이용하기 위한 객체 간 통신 규약)

미들웨어

  • 서버 간 통신 담당
  • 종류 
    • DB - DBMS를 이용해 자료 교환
    • TP-Monitor(Trasaction Processing Monitor)
    • ORB
    • RPC(Remote Procedure Call) - 분산처리 시스템 구현
    • MOM(Message 기반 미들웨어) - 비동기식, 속도 필요없음
    • WAS - 동적인 웹 서비스 제공, HTTP
    • OTM(객체트랜젝션 모니터)

기술검토

  • 동료검토, 워크스루(팀회의), 인스펙션(계획-사전교육-준비-회의-수정-후속조치)(ex 정형기술검토FTR)
  • 정형기술검토 FTR
    • 검토에만 집중, 바로해결필요x, 반박 제한, 논쟁 제한, 참가자 수 제한   

프로그램 설계도

  • NS Chart - 도형을 이용함. 이해하기 쉬움. 제어 논리 구조(연속, 선택, 반복)를 표현 but 화살표나 GOTO를 사용하진 않았음.

소프트웨어 개발

제품 소프트웨어 저작권

  • DRM(Digital Rights Management)
    • 디지털 컨텐츠의 생성부터 사용까지 모든 과정에 걸쳐 안전하게 관리 및 보호 + 접근 제한 기술
    • 기술 요소 - 암호화, 키 관리, 암호화 파일 생성, 식별 기술, 저작권 표현, 정책 관리, 크랙 방지, 인증, 인터페이스, 이벤트 보고   

제품 소프트웨어 메뉴얼 작성

  • 작성 프로세스 - 작성 지침 정의 - 구성 요소 정의 - 내용 작성 - 검토

소프트웨어 국제 표준 품질 특성

  • ISO/IEC 9126 - 품질 특성
  • ISO/IEC 12119 - 테스트
  • ISO/IEC 12207 - 체계적 프레임워크/ 생명주기 프로세스: 획득 - 공급 - 개발 - 운영 - 유지보수
  • ISO/IEC 15504 - SPICE(Software Process Improvement and Capability determination) : 품질 및 생산성 향상
  • ISO 9001 - 전 과정에 대한 인증
  • CMM : 조직의 업무 능력(소프트웨어 개발 프로세스) 평가 기준 (초보 - 반복 - 정의 - 관리 - 최적)
  • CMMI : 소프트웨어, 시스템, 프로덕트 포함 CMM의 발전

소프트웨어 품질 측정 시 관점별 분류

  • 사용자 - 제품 신뢰성, 효율성, 용이성, 간결성
  • 개발자 - 유지보수성, 이식성, 무결성, 사용성, 검증 가능성
  • PM - 생산성, 제어 용이성

어플리케이션 테스트

  • 소프트웨어 테스트 - 품질 향상, 오류 발견, 오류 예방
  • 파레토 법칙 - 80:20 전체의 결과 80%가 원인 20%에 의해서 일어난다.
  • 테스트 케이스
    • 작성절차 : 테스트 계획 - 요구사항 정의 - 테스트 방법 결정 - 테스트 케이스 정의 - 테스트 케이스 타당성 확인
    • 구성요소 : 식별자, 테스트 항목, 입력 명세, 출력 명세, 환경 설정, 특수 절차 요구, 의존성 기술
  • 테스트 프로세스 : 계획 및 제어 - 분석 및 설계 - 구현 및 실현 - 평가 - 완료
  • 클린코드 작성원칙 : 추상화, 의존성을 낮추고 독립성을 높인다, 가독성, 중복된 코드 제거, 단순성
  • 하향식 : Stub(값을 넘겨주는 역할) / 상향식 : Driver(값을 받는 역할)

테스트 단계

  • 단위 테스트 - 정적, 동적
  • 통합 테스트 - 상향식, 하향식, 빅뱅, 백
  • 시스템 테스트 - 기능/비기능 테스트
  • 인수 테스트 - 알파(사용자+개발자)/베타(개발자)

테스트 케이스

  • 테스트의 목표 및 테스트 방법을 결정하기 전에 테스트 케이스를 작성해야한다.(X)
  • 서비스 요구 사항을 준수하는지 확인하기 위해 '입력 값', '실행 조건', '예상 결과'의 집합

Test 기법(동적 테스트)

  • white box test
    • 프로그램 내부 구조, 동작을 디테일 하게 검사
    • 내부 소스코드 테스트, 개발자 관점
    • 문장검증, 선택검증, 경로검증, 조건검증
  • black box test
    • 소프트웨어 내부 구조나 작동 원리를 모르는 상테에서 동작 테스트
    • 사용자 관점
    • 동등 분할 기법, 경계값 분석 기법, 오류 예측 기법, 원인 결과 그래프 기법, 의사결정 테이블 테스팅

알고리즘

  • 분할정복법 : 퀵, 병합 정렬
  • 동적계획법 : 플로이드, 피보나치
  • 시간 복잡도 : 알고리즘이 문제를 해결하기 위한 시간(연산의 횟수) (자료가 n이 증가할 때 증가하는 시간 계산)
  • 순환 복잡도 : 복잡도 = 화살표 수 - 노드 수 + 2
  • 정렬 종류
    • 내부 정렬
      • 삽입 정렬 : 두번째 값을 키값으로 설정하고 앞에 것과 비교하여 적절한 위치에 삽입(그 다음것이 키값이 됨 키값 아니었던 것)
        • 59341 : 35941 -> 34591 ->13459
      • 버블 정렬 : 인접한 데이터 비교하여 위치 변경 (1회전에 끝까지 입접한 값 비교. 1회전 끝나면 가장 큰값이 마지막으로 감)
        • 34159 : 31459 -> 13459
      • 선택 정렬 : n개의 레코드 중에서 최소값을 찾아 제일 앞의 값과 자리를 교체한다
        • 69432 : 29436 -> 23496 -> 23469 
    • 선형 검색 - 검색을 수행하기 전에 반드시 집합이 정렬되어 있어야한다.(X)
    • 시간복잡도 O(n2) - 선택정렬, 삽입정렬, 버블정렬
    • 시간복잡도 O(n log 2 n) - 퀵정렬, 힙정렬, 병합정렬 -> 더 빠름

자료구조

  • 선형구조 
    • 리스트
      • 선형 리스트
      • 연결 리스트
    • Stack : LIFO, 인터럽트 처리/서브루틴 호출 작업 등에 응용
    • Queue : FIFO
    • 데크 : 선형리스트 양쪽 끝에서 삽입과 삭제가 모두 가능
  • 비선형구조
    • 트리
      • 구성요소
        • 근노드 : 최상위 노드
        • level : 근노드를 기준으로 특정 노드까지 경로의 길이
        • depth : 근노드부터 최하위까지 노드 총 갯수
        • 차수 : 노드에 연결된 차식 노드 총 갯수 (트리의 차수:트리의 노드 중 가장 큰 차수)
        • 단말노드: 트리의 제일 마지막에 위치한 노드
      • 트리 구조 순회
        • PreOrder(전위순회) Root Left Right
        • InOrder(중위순회) Left Root Right
        • PostOrder(후위순회) Left Right Root
    • 그래프
      • 최대 간선 수 = n(n-1)/2

데이터베이스 구축

설계 단계

  • 개념 - ERD 그림
  • 논리 - 정규화, 스키마 정제, Transaction Interface
  • 물리 - 저장 공간 및 성능 고려, 반정규화

트랜잭션 성질

  • 원자성 - 모두 반영되거나 모두 반영 되지 않아야함
  • 일관성 - 저장이되면 일관적으로 유지되어야 함 Consistency
  • 영속성 - 트랜잭션 결과는 영구히 보존 Durability 
  • 격리성 - 트랜잭션끼리 영향이 없어야함 

트랜잭션 마지막 연산이 실행된 직후, 모든 연산의 처리는 끝났지만 아직 DB에 반영하지 않은 상태는 ? -> Partially Commited (부분 커밋)

 

데이터 사전

  • 시스템 카탈로그, 시스템데이터베이스
  • 사용자가 생성, 유지, 수정 가능함(X)
  • DB의 메타데이터 저장
  • 데이터에 접근하기 위해 필요한 위치정보는 데이터 디렉토리에 저장

정규화

  • 1 정규화 - 도메인이 원자성
  • 2 정규화 - 부분 종속 제거
  • 3 정규화(완전 함수적 종속 상태) - 이행 종속 제거
  • BCNF - 결정자이면서 후보키가 아닌 것 제거(모든 결정자가 후보키인 것)
  • 4 정규화 - 다치 종속 제거
  • 5 정규화 - 조인 종속

  • 슈퍼키 - 유일성(0), 최소성(x) 
  • 후보키, 기본키, 대체키 - 유일성(0), 최소성(0) 

무결성의 종류

  • 개체 무결성 - 기본키는 null 값을 가질 수 없고, 중복 불가
  • 참조 무결성 - 기본키에 존재하지 않는 값을 참조할 순 없다. null값을 가질 순 있음
  • 도메인 무결성 - 정해진 범위 내의 데이터 값만 가질 수 있다.

이상

  • 삽입 이상, 삭제 이상, 갱신 이상

관계 대수

  • 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 방법
  • 순수 관계 연산자
    • Select(시그마) - 튜플의 집합 검색
    • Project(파이) - 속성 집합 검색
    • Join(><) 공통 속성 연결
    • Division(나누기) - 특정 속성을 제외한 속성만 검색
  • 집합 연산자
    • U : 튜플의 합집합
    • n : 튜플의 교집합
    • - : 차집합
    • X : 교차곱

View

  • 가상의 테이블
  • 뷰 위에 또 다른 뷰를 정의할 수 있음
  • 보안성 측면에서 뷰를 활용할 수 있음, 수정 불가(creat, drop만 가능)

분산데이터베이스 시스템

  • 논리적으로는 하나의 시스템이지만 물리적으로는 여러 개의 컴퓨터에 분산
  • 목적
    • 위치 투명성 : 물리적 위치를 사용자가 알 필요가 없다
    • 중복 투명성 : 사용자에게 통지할 필요 없이 시스템 내의 자원을 자유롭게 복사할 수 있다
    • 병행 투명성 : 다중 사용자들이 자원을 공유할 수 있다
    • 장애 투명성 : 어느 시스템에 장애가 발생했는지 알 필요가 없다
  • 개발 비용, 처리 비용 높음
  • 주요 구성 요소 - 분산 처리기, 분산 데이터베이스, 통신 네트워크

병행제어

  • 동시에 수행되는 트랜젝션들을 일관성 있게 처리하기 위해 제어하는 것 (ex) Locking
  • 목적 -> 공유 최대화, 일관성 최대화, 활용도 최대화, 응답 시간 최소화
  • 문제점 -> 비완료의존성, 연쇄 복귀, 모순성, 갱신분실

프로그래밍언어 활용

IP 주소체계

  • IPv4
    • 32bit(4byte) - 10진수 - 8bit씩 4부분
    • 유니캐스트, 멀티캐스트, 브로드캐스트
    • IPsec 프로토콜 별도 설치, SSL, SHTTP(보안기능이 없어서)
    • 클래스 단위의 비순차적 할당(비효율적)
    • 헤더 크기 가변
  • IPv6
    • 128bit(16byte) - 16진수 - 16bit씩 8부분
    • 유니캐스트, 멀티캐스트, 애니캐스트
    • 순차적 할당, 호스트 주소 자동 설정, 보안기능, 품질보장
    • 헤더크기 고정

주소변환 기술 - 듀얼스택, 터널링, 변환

 

IP 프로토콜

  • 비연결성, 비신뢰성
  • Best Effort 원칙에 따른 전송 기능
  • 패킷을 분할, 병합하는 기능을 수행하기도 함

OSI 7계층

계층 역할 및 특징 장비 데이터 단위 기타 및 프로토콜
7. Application 정보 교환, 인터페이스   Data HTTP, FTP, POP, SMTP, telnet, DHCP, SNMP, DNS
6. Presentation 데이터 암호화, 복호화, 압축   Data
5. Session 통신 장치 간 상호작용 및 동기화, 세션 생성   Data
4. Transport 오류검출 및 복구, 흐름제어, 중복검사, TCP/UDP(양종단간(End to End) 신뢰성 있는 정보 전달) 포트번호 Segment TCP, UDP
3. Network 중계 노드를 통해 최적의 경로 설정, IP 주소 설정, 전달 라우터 Packet IP, ICMP(전송오류 정보 전송), ARP(IP->Mac), RARP(Mac->IP), X.25
2. Data Link 물리적 연결로 두 장치간 신뢰성 있는 정보 전송
(Point-to-Point), Mac주소
브릿지, 스위치 Frame HDLC, PPP
1. Physical 물리적 데이터 전송(bit) 케이블, 리피터, 허브 bit X.21

 

TCP/IP 프로토콜

  • 인터넷에 연결된 서로 다른 기종의 컴퓨터 간에 데이터 송-수신이 가능하도록 도와주는 표준 프로토콜(TCP프로토콜(전송계층)+IP프로토콜(네트워크계층))

프로토콜의 3요소 - 구문, 의미, 타이밍

정보보안의 3요소 - 기밀성, 무결성, 가용성

 

기억장치 배치 전략

  • First Fit - 적재할 용량이 담길 수 있는 공간이 있으면 바로 적재해버림
  • Best Fit - 내부단편화가 가장 적게 생기는 공간을 계산하여 적재
  • Worst Fit - 가장 큰 공간에 적재
  • 내부단편화란? 적재 후 남는 자투리 공간 18 -> 20 = 2 / 외부단편화? 적재하지 못했을 때 못한 공간의 크기 21 -> 20 = 20

UNIX 시스템

  • 쉘 - 명령어 해석기, 사용자와 인터페이스 역할, 반복적인 명령 프로그램(스크립트) 프로그래밍 기능 제공, 초기화 파일을 이용해 사용자 환경 설정
  • 커널 - 명령어를 기반으로 동작 수행, 프로세스와 메모리 관리

TCP

  • 3 way HandShaking - 연결형 서비스, 신뢰성
  • 주소를 지정하고 경로를 설정함
  • 트랜스포트 계층

UDP 

  • 비연결형 서비스(보내기만 하는 역할), 비신뢰성 단순한 헤더 구조
  • 트랜스포트 계층에 존재

데이터 타입 중 시퀀스 타입, 순서에 따라 저장 가능 but 저장된 내용을 변경할 수 없는 타입 -> 튜플 타입

페이지 교체 알고리즘

  • FIFO : 제일 먼저 추가 했던 페이지 교체
  • LRU(Least Recently Used) - 가장 오래전에 참조한 페이지 교체(아래를 보면 5를 넣어야하는데 가장 오래전에 참조한 3과 교체)
  • LFU(Least Frequently Used) - 가장 적게 참조한 페이지 교체
1 2 3 1 2 4 1 2 5
1 1 1 1 1 1 1 1 1
  2 2 2 2 2 2 2 2
    3 3 3 3 3 3 5
          4 4 4 4
0 0 0 x x o x x o

 

변수명 작성 규칙

  • C언어 : 대소문자, 숫자, _ (첫 글자에 숫자 불가)
  • Python : 대소문자, 숫자, _ (첫 글자에 숫자 불가)
  • Java : 대소문자, 숫자, _, $ (첫 글자에 숫자 불가)

정보시스템 구축관리

소프트웨어 생명주기

  • 나선형 모델 
    • 계획 / 위험/ 개발 / 평가
    • 반복하며 개발, 위험관리 측면에서 본 모델
  • V 모델
    1. 개발단계-단위테스트(정적/동적)
    2. 설계-통합테스트(상/하향식/빅뱅/백본)
    3. 기능명세-시스템테스트(기능/비기능)
    4. 요구사항-인수테스트(알파/베타)

네트워크 신기술

  • RIP Routing Information Protocol: 최단 경로 탐색, 벡터 라우팅 프로토콜, 홉(거릿값)_15홉 이하
  • OSPF Open Shortedt Path First Protocol : 89번 프로토콜 사용, ICP, 링크 상태 라우팅 알고리즘
  • MQTT(Message Queuing ...) 경량 메세지 전송 프로토콜. IoT 환경에서 사용
  • 스마트 그리드 : 전령망 효율적으로 사용

정보시스템

  • 고가용성 - 사용하고 싶을 때 사용해야한다. 다수의 시스템 동시 연결하여 각각 업무 수행
  • 스턱스넷 - 대단히 정교한 웜

스토리지 시스템

  • DAS : Direct Attach System, 데이터 저장장치를 어댑터에 직접 연결(네트워크 디바이스 없이)
  • NAS : Network 네트워크 이용 
  • SAM : 네트워크 광채널을 이용

블루투스 관련 공격

  • 블루버그 - 블투 장비사이의 취약한 연결 관리를 악용
  • 블루스나프 - 블투의 취약점을 활용하여 장비의 파일에 접근
  • 블루재킹 - 블투를 이용하여 스팸메일처럼 메시지를 익명으로 퍼트림
  • 블루프린팅 - 블투 공격장치의 검색 활동

DoS 공격 - 정보보안 3요소중 가용성을 떨어트리는 공격이다. 사용자들이 서비스를 이용할 수 없게끔 만드는 것

  • Smurf Attack - IP & ICMP 특성을 이용한 공격
  • Ping of Death - 규정 이상의 ICMP 패킷으로 시스템 마비
  • Land Attack - 출발지 IP & 목적지 IP가 같은 패킷을 만들어 보냄
  • TearDrop Attack - 재조합 가능한 fragement number 조작 
  • SYN Flooding - TCP 연경과정의 취약점 이용
  • UDP Flooding - 다량의 UDP 패킷 전송
  • Ping Flooding - 특정사이트에 매우 많은 IMCP echo를 보냄

간트 차트

  • Work Break Structure, 시간선 차트
  • PERT/CPM 네트워크
  • 임계경로
  • 수평막대 - 각 작업에 필요한 시간 및 날짜

PERT 차트

  • 작업들 간의 상호 관련성, 결정경로, 경계시간, 자원 할당 등을 제시한다.

Secure 코딩

  • SQL Injection - SQL 쿼리 삽입
  • 크로스사이트 스크립트 - CSS 검증되지 않은 스크립트 입력값으로 인해 브라우저에서 악의적인 코드 실행
  • 운영체제 명령어 삽입 - OS 명령어 조작
  • 자원 삽입 - 스크립트 라이브러리 등을 삽입하여 다른 브라우저를 바라보게 하는것(자원을 과도하게 저장시키거나 하는 등의 공격이 아님)

암호화 알고리즘

  • 대칭키 알고리즘 (많은 양 가능, 속도 빠름, 키만 있으면 복화하가 가능하기에 위험, 키 교환 필요)
    • DES - 64bit, 
    • AES - 128bit
  • 비대칭키 알고리즘 (적은 양, 속도 느림, 공개키/개인키)

암호화 방식

  • 단방향
    • 해시 - 입력데이터를 고정 길이의 해쉬 값으로 변환 (SHA, MD4. MD5, N-NASH)
  • 양방향
    • 대칭키(개인키, 비밀키) - 암호화, 복호화 시 동일한 개인키 사용(빠름, 알고리즘 단순, 키 교환 필요) (DES, AES, SEED, RC4)
    • 비대칭키(공개키) - 암호화 시 사용자에게 공개된 공개키 사용, 복호화 시 비밀키 사용(속도 느림) (RSA, ECC)

리눅스 권한 

  • read:4/write:2/excute:0
  • 파일 - 666 
  • 디렉토리 - 777

상향식 비용 산정 기법 중 LOC 기법에서 예측치를 구하기 위해 사용하는 항목 -> 기대치, 낙관치, 비관치 (모형치X)

 

소프트웨어 공학의 3R -> 재공학, 역공학, 재사용 (재개발X)

 

tcp wrapper - 접속 인가 여부를 점검해서 인가된 경우 접속 허용, 그 반대는 거부할 수 있는 접근 제어 유틸리티

 

보안적 취약점 점검

  • 관리적 관점 - 보안 체계가 존재하는지 점검
  • 기술적 관점 - 서버, 네트워크, PC 보안 점검 등
  • 물리적 관점 - 출입 통제 관리, 화재 등

보안 솔루션

  • IDS : 침입 탐지 시스템 (HIDS:호스트 기반 / NIDS:네트워크 기반. 모든 패킷 탐지)

접근 통제 정책

  • MAC(Mandatory Access Control) 강제적 접근 통제 - 중앙에서 자원의 보안 레벨을 주고 사용자의 보안 취급 인자를 비교
  • DAC(Discretionary Access Control) 임의적 접근 통제 - 자원의 소유자가 타인의 접근을 허용
  • RBAC(Role Based Access Control) 역할기반 접근 통제 - 조직 내 개인 역할에 따라 허용

접근 제어 모델

  • BLP 모델 - 기밀성, 최초의 수학모델, No Read Up, No Write Down
  • BIBA 모델 - 무결성, No Write Up, No Read Down

비용산정 모델

  • 전문가 감정 기법, 델파이 기법(전문가+조정자)
  • LOC(Line of Code)
    • 원시 코드 라인 수의 비관치(1), 낙관치(1), 기대치(4)를 측정하여 예측치를 구하여 비용을 산정함
    • 예측치 = 비관치+낙관치+기대치*4 / 6
  • COCOMO(Constructive Cost Model)모형
    • 프로젝트를 완성하는데 필요한 man-month로 산정 결과 나타냄
    • 보헴이 제안, 원시 코드 라인 수
    • 비교적 작은 규모의 프로젝트의 비용 추정
    • 유형 : 5만 라인 이하 -> 단순형(Organic) / 30만 라인 이하 -> 중간형(Semi-detached) / 30라인 이상 -> Embeded
    • 개발유형에 따라 object, dynamic, function 3가지로 구분(X)

인증 - Authentication 시스템 접근 허용 전에 사용자의 신원 검증

인가 - Authorization 검증된 사용자에게 권한과 서비스 허용

계정관리 - Accountion 사용자의 자원에 대한 사용 정보를 모아서 과금, 감사 등에 사용

'자격증' 카테고리의 다른 글

NCP 시험 준비 - Compute  (0) 2023.08.01
NCA 자격증 시험 요약  (0) 2023.07.25
정보처리기사  (0) 2023.04.21