| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Spring Data JPA
- Transaction
- Adapter
- Spring
- JPA
- 실무
- hexagonal architecture
- Layered Architecture
- springboot
- JDBC
- simplejpaRepository
- transactional
- Hexagonal
- Today
- Total
Ezcho
[2장] 암호의 세계 본문
1장. 암호에서 사용하는 이름
앨리스와 밥: 엘리스는 메시지를 전송하고 밥은 메시지를 수신하는 모델에서 사용된다.
이브: Eavesdroper 이라는 뜻으로 소극적인 공격자를 의미한다.
멜로리: Malicious, 악의를 가진 공격자를 의미한다..
트렌트: Trent, 신뢰할 수 있는 중재자 이며, 중립적인 위치에 있는 제 3자이다.
빅터: Victor, Pat, Peggy라는 이름을 사용하기도 한다. 의도된 거래나 통신이 실제로 발생했다는 것을 검증할 때 등장한다.
1-2 송신자, 수신자, 도청자
예시) 엘리스가 밥에게 메일을 보낸다.
예시) 도청자가 추가된 경우 이브가 둘의 메시지를 도청한다. (소극적)
예시) 멜로리는 둘 사이의 메일을 수정한다. (적극적, 악의를 가진)
1-3 암호화와 복호화
평문: 암호화 하기 전의 메시지
암호문: 암호화한 후의 메시지
암호 기술: 중간에서 도청자가 암호문을 가로채더라도 특정 비밀값(키) 를 모른다면 암호문을 평문으로 복호화 하지 못한다.
암호화의 과정
평문 -> 키 + 평문 -> 암호문
복호화의 과정
암호문 ->키 + 암호문 -> 평문
이렇듯 암호 기술을 사용해서 비밀로 유지하는것을 기밀성, 비밀성 이라고 한다.
1-5 암호의 해독
복호화: 정당한 수신자가 암호문을 평문으로 바꾸는것,
암호 해독: 수신자 이외의 사람이 암호문으로부터 평문을 복원하려고 시도하는것
그리고 이런사람들을 암호해독자라고 한다.
2절 암호화 복호화의 기호적 표현
암호문: C
평문: P
키값: k
암호화 함수: E
복호화 함수: D
암호화 과정을 아래와 같이 표현할 수 있다.
C = Ek(P) = E(K,P)
복호화 과정을 아래와 같이 표현할 수 있다.
P = Dk(C) = D(K, C)
3절 대칭 암호와 공개키 암호
3-1 암호화와 복호화, 암호 알고리즘
암호화 알고리즘: 평문을 암호문으로 만드는 절차
복호화 알고리즘: 암호문을 평문으로 만드는 절차
둘을 합친것을 암호 알고리즘이라고 부른다
3-2 키
암호 알고리즘에서 키값은 매우 긴 숫자이다. 이진화된 숫자로 사용한다.
3-3 대칭암호와 비대칭 암호
대칭암호: 암호화를 할때 사용하는 키와 복호화를 할때 사용하는 키가 같은 경우이다.
비대칭 암호: 암호화를 할때 사용하는 키와 복호화를 할때 사용하는 키가 다른 경우이다.
비대칭 암호의 요소
송신자: 한 쌍의 키
수신자: 한 쌍의 키
한쌍의 키는 공개키와 개인키로 구성되어있다.
3-4 하이브리드 암호 시스템
대칭 암호와 공개키 암호를 조합한 암호방식, 둘의 장점을 조합해서 탄생하였다.
4절 그밖의 암호 기술
일방향 해시 함수: 해시값이란 일방향 해시 함수 를 사용하여 계산한 값(무결성 점검)
메시지 인증 코드: 메시지가 생각했던 통신 상대로부터 온 것임을 확인하는 코드
디지털 서명: 거짓 행세, 변경, 부인같은 위협을 방지하는 기술
의사 난수 생성기: 난수열을 생성하는 알고리즘
5절 암호학자의 도구 상자
- 대칭 암호
- 공개키 암호
- 일방향 해시 함수
- 메시지 인증 코드
- 디지털 서명
- 의사난수 생성기
와 같은 기술들이 사용된다.
각각의 기술들이 어떤것을 방지하는지는 아래와 같다.

먼저 암호화의 경우 도청과 메시지 변경, 위장 같은 경우에 방지 될 수 있다.
일방향 해시 함수의 경우 메시지의 길이를 계산해 고정길이의 해시값을 보내는것을 의미하는데.
이의경우 메시지가 달라졌는지 아닌지를 알 수 있다. 메시지가 달라지면 해시값도 다르기 때문에 이는 무결성 검증에 용이하다.
메시지 인증 코드의 경우 해시 함수를 통해 메시지가 변경되었는가를 검출할수는 있지만, 거짓 행세를 검출하는 것은 불가능하기 때문에 무결성 외에 인증이라는 절차가 필요하게 되었다. 메시지 인증 코드는 데이터가 변조(수정, 삭제, 삽입 등) 되었는지를 검증할 수 있도록 데이터에 덧붙이는 코드이다.
디지털 서명은 무결성, 인증, 부인을 봉쇄한다. 자세히는 나중에 알아보자
6절 스테가노 그라피와 디지털 워터마킹
크립토 그래피(암호화): 메시지의 내용을 읽지 못하게 하는 기법
스테가노 그래피: 메시지의 내용을 읽지못하는것이 아니라, 메시지의 존재 자체를 숨기는 기법
스테가노 그래피의 경우 이미지에 메시지를 숨기는 방법등이 있다.
디지털 워터마킹: 지폐, 미술품, 저작물등에 사용되며 파일내에 저작권자나 구입자의 정보를 집어넣는 기술
육안으로는 잘 보이지 않는다. 첨단 복사기나 스캐너로도 재생이 힘들다.
7절 암호와 보안 상식
1. 비밀 알고리즘은 사용하지 말것: 비밀 암호 알고리즘 보다는 공개되어 있는 강한 암호 알고리즘을 사용해야 한다.
숨기는 것에 의한 보안: 암호 알고리즘을 비밀로 해서 보안을 유지하려고 하는 행위, 이는 매우 어리석다. 암호알고리즘의 비밀은 반드시 폭로되기 때문이다.
2. 약한 암호는 암호화 하지 않는 것보다 위험: 암호의 강도와 상관없이 사용자는 암호화되어있다는 것으로 안심하는 경향이 있다. 그래서 약한 암호를 사용하려면 그냥 사용하지 않는것이 더 낫다.
3. 어떤 암호라도 언젠가는 해독: 모든 키를 하나도 빠짐없이 시도해봄으로써 언젠가는 반드시 해독된다.
암호가 해독되기 까지 시간과 암호를 사용하여 지키고 싶은 평문의 가치와의 밸런스가 중요하다.
일회용 패드: 절대로 해독되지 못할 암호 알고리즘, 현실적으로는 활용하기 힘들다.
4. 암호는 보안의 아주 작은 부분이다: 사회공학적인 공격방법은 암호랑은 별개이다. 보안 시스템의 강도는 보안 시스템을 구성하는 여러 링크중 가장 약한 링크의 강도와 같다.
'Lecture > 정보보호론' 카테고리의 다른 글
| [5장]블록 암호 모드 (0) | 2023.04.09 |
|---|---|
| [3장] 암호의 역사 (0) | 2023.04.09 |