inblog logo
|
harimmon
    컴퓨터 사이언스

    [컴퓨터 사이언스] 4. 신뢰성 있는 통신

    백하림's avatar
    백하림
    Jan 27, 2025
    [컴퓨터 사이언스] 4. 신뢰성 있는 통신
    Contents
    신뢰성 있는 통신과 보안 개념 정리1. 신뢰성 있는 통신2. 신뢰성 있는 통신의 특징3. 보안의 3요소 (CIA)4. 보안 위협 및 해결 방법5. 보안 해결 방법6. 신뢰성 있는 통신 환경에서 계좌이체 예제
    notion image
    💡
    • 3-way handshake를 통한 TCP 통신 과정이 설명되어 있으며, 이는 전송 제어 프로토콜(Transmission Control Protocol)입니다.
    • Confidentiality (기밀성)
    • Integrity (무결성)
    • Availability (가용성)
    • 트랜잭션 : 일의 최소 단위
    💡

    신뢰성 있는 통신과 보안 개념 정리

    1. 신뢰성 있는 통신

    • A와 B 간 Byte Stream을 통한 데이터 전송.
    • TCP (Transmission Control Protocol) 사용하여 신뢰성을 보장.
    • 3-way handshake(3단계 핸드셰이크) 과정으로 연결 확립:
        1. 클라이언트(A) → 서버(B) : SYN 요청
        1. 서버(B) → 클라이언트(A) : SYN-ACK 응답
        1. 클라이언트(A) → 서버(B) : ACK 전송 후 연결 확립

    2. 신뢰성 있는 통신의 특징

    1. 순서 보장 (Ordered Delivery)
        • 패킷이 전송된 순서대로 도착하도록 순서 번호(Sequence Number) 사용.
    1. 데이터 손실 방지 (Reliability)
        • 수신 확인 응답(ACK, Acknowledgment) 메커니즘 사용.
        • 손실된 패킷이 감지되면 재전송 요청(Retransmission).
    1. 오류 검출 및 복구 (Error Detection & Correction)
        • 데이터가 손상되었는지 확인하는 체크섬(Checksum) 사용.
        • 오류 발생 시 재전송을 요청하여 데이터의 무결성 보장.
    1. 흐름 제어 (Flow Control)
        • 송신자가 너무 많은 데이터를 한 번에 보내는 것을 방지.
        • 윈도우 크기(Window Size) 조정을 통해 수신자의 처리 속도에 맞춤.
    1. 혼잡 제어 (Congestion Control)
        • 네트워크 과부하를 방지하기 위해 송신 속도를 조절.
        • TCP 슬라이딩 윈도우(Sliding Window) 방식 사용.

    3. 보안의 3요소 (CIA)

    • Confidentiality (기밀성): 데이터가 인가된 사용자만 접근 가능해야 함.
    • Integrity (무결성): 데이터가 변조되지 않고 원래 상태를 유지해야 함.
    • Availability (가용성): 필요한 순간에 데이터를 사용할 수 있어야 함.

    4. 보안 위협 및 해결 방법

    보안 위협
    영향 받는 요소
    해결 방법
    도청 (Eavesdropping)
    기밀성(C)
    암호화(Encryption) 사용
    데이터 변조 (Tampering)
    무결성(I)
    해시(Hash), 디지털 서명 활용
    서비스 거부 공격 (DoS)
    가용성(A)
    방화벽(Firewall), 트래픽 필터링 적용

    5. 보안 해결 방법

    (1) 암호화 기법

    • 공개키 암호화 (Public Key Cryptography)
      • RSA 알고리즘 사용.
      • A가 B에게 데이터를 보낼 때:
          1. B의 공개키(Public Key) 로 데이터를 암호화하여 전송.
          1. B는 자신의 개인키(Private Key) 로 복호화하여 데이터를 확인.

    (2) 데이터 무결성 보장

    • 메시지 다이제스트 (Message Digest): 해시 함수(SHA-256 등)로 데이터 변조 감지.
    • 디지털 서명 (Digital Signature): 전송된 데이터가 변조되지 않았음을 증명.

    6. 신뢰성 있는 통신 환경에서 계좌이체 예제

    • A가 B에게 800원을 전송한다고 가정.
      • A 계좌: 500 → 잔액 부족 (오류 발생)
      • B 계좌: 2000 → 변경 불가 (트랜잭션 롤백)

    트랜잭션 처리 (Transaction Processing)

    • 원자성 (Atomicity): 하나의 작업 단위가 완벽하게 실행되거나, 실패 시 전부 롤백.
    • 일관성 (Consistency): 데이터베이스의 일관성을 유지.
    • 격리성 (Isolation): 여러 트랜잭션이 독립적으로 수행.
    • 지속성 (Durability): 트랜잭션이 완료되면 결과가 저장됨.

    트랜잭션 처리 방식

    1. A의 계좌에서 800원 인출 요청.
    1. A 계좌의 잔액이 부족하면 거래 취소(rollback).
    1. 잔액이 충분하면 B의 계좌에 800원 입금 후 거래 확정(commit).
     
     
     
     
     
     
     
    AI가 정리해준 신뢰성 있는 통신
    AI가 정리해준 신뢰성 있는 통신
    Share article

    harimmon

    RSS·Powered by Inblog