Network Security DAY_002 정보보안전문가가 갖춰야할것 , 네트워크 보안 ,Network Security , 암호알고리즘, 대칭키 비대칭키, 관용암호 공개키 , 양방향 암호 알고리즘 ,단방향 암호 알고리즘 , 정보..

2024. 1. 9. 15:20Information Security 정보보안/Network Security 네트워크 보안

728x90

배울 내용: 

정보보안전문가가 갖춰야할것

네트워크 보안

Network Security

암호알고리즘

대칭키 비대칭키

관용암호 공개키

양방향 암호 알고리즘

단방향 암호 알고리즘

정보보안통신법

개인정보 보호법 

정보통신 기반 보호법 

 

 

 

 

 

 

 

제가 지금 부터 작성하는 모든글은 제가 공부기록용이기 때문에 정확하지 않을수 있음을 알려드립니다.

틀린게 있으면 댓글로 써주시면 고치겠습니다.

 

 

지난마지막 암호 알고리즘을 공부했다 

그러나 자세히는 알지못해서 이번시간에 조금더 자세히 공부할것이다 .

 

지난시간엔 이렇게 알려줬다 


암호 시스템(Cryptosystem) 키 , 암호알고리즘을 합한걸 전체
암호알고리즘을 암호시스템이라고 부르기도함



암호알고리즘 : 공개함 , (key는 공개 X) 
양방향 암호 알고리즘 : 암호화 복호화 가능 (Key를 가지고 )

 


단방향 암호 알고리즘 : 암호화 가능 (Key가 없음) , 

(ex: key없이 암호화하는건 Hash 함수)

 

 

 

 

 

 

 

양방향 암호 알고리즘


P/T (평문,plain text)   >>>    C/T(암호문, cyper text) 
평문을 암호문 만들려면 Key 가 필요 

 

 

 

 

평문의 메세지를 암호문으로 바꾼걸 키로통해 다시 평문으로 바꾼다

 

 

 

여기에는 또 2가지의 키로 나뉘는데 

 

 

 

대칭키비대칭키로 나뉜다 

 

 


대칭키  암호 알고리즘 (관용암호)


암호문으로 되있는걸 평문으로 만들수있음. (이때도 키가 필요함(복호화할떄 키도 같음)
속도가 빠르고 단순함
데이터를 암호화 할때 사용
메세지를 보낼떄씀

 

 

 

 

비대칭키 (공개키) 암호 알고리즘 

 

키가 암호화 할떄의 키와 복호화 할때의 키가 틀리다 

키교환의 문제점 해결할때 사용한다 

2키 방식이다 ( 개인키와 비대칭키를 가지기 때문) 

키교환시 사용 

 

 

 

 

 

 

 

 

그럼 우리는 어떤키를 많이 쓸까? 

 

 

 

 

 

 

이러한대답은 둘다 혼용해서 쓴다고 말할수있다. 

 

왜냐고 위와 같은 키들의 장단점이 뚜렷하기 때문이다 

 


현재는 대칭키와 공개키를 함께 사용함 ( Hybrid 시스템) 


대전과 서울에 집이 있다면 대전에 집키를 천안에 와서 서울에 집키를 들고있는사람하고
키를 교환함 그러나 이때 중간에 공격자가 나타나 C/T를 캡쳐함 


(이때 kEY또한 같이 캡쳐되서 대칭키로 된 암호는 열어버리는 문제점이 생김(키교환의 문제점)) 


그래서 발신자에서 중간에 메시지같은걸 보낼때 대칭키를 비대칭키로 바꿔서 메세지를 암호화시킴


하나의 예시를 들면

A에서 B로 메세지(평문)를 보낼떄 대칭키로 암호화 시켜서 ,

B의 공개키로 암호화로 또 시키고 B에보냄 이때 2개가 B에게 오는데 C/T 와 Key(개인키(암호화된))

,B에는 개인키(비밀번호) 로 Key(암호화된)것을 복호화 시킴 A에도 개인키(비밀번호)를 가짐

 

좀더 쉽게 풀어서 예기하면 

 

  1. A에서 B로 메시지 보내기:
    • 단계 1: A는 메시지(평문)를 대칭키를 사용하여 암호화. 이제 이 메시지는 암호문(Ciphertext, C/T)임 
    • 단계 2: A는 이 대칭키도 B의 공개키를 사용하여 암호화. 이렇게 하면, 이 대칭키는 B만이 접근가능
  2. B가 메시지를 받음:
    • B에게 도착하는 것들:
      • 암호문(C/T): 이것은 원래의 메시지가 대칭키로 암호화된 것 
      • 암호화된 대칭키: 이것은 A가 B의 공개키를 사용하여 암호화한 대칭키 
    • B의 작업:
      • B는 자신의 개인키(비밀번호)를 사용하여 암호화된 대칭키를 복호화. 이제 B는 메시지를 복호화할 수 있는 대칭키를 가지게 된다.
      • 그 다음, B는 이 대칭키를 사용하여 암호문(C/T)을 복호화하여 원래의 메시지(평문)을 얻는다.
  3. A의 개인키:
    • A에게도 개인키가 있지만, 이 시나리오에서는 A의 개인키가 사용되지 않는다. A의 개인키는 다른 사람들이 A에게 안전하게 메시지를 보낼 때 사용되기때문에 
    •  

즉, 이 과정은 A가 메시지를 안전하게 B에게 보내기 위해 대칭키와 B의 공개키를 사용하는 것

 

B는 자신의 개인키를 사용하여 이 대칭키를 얻고, 그 대칭키로 메시지를 복호화

 

이 방식은 메시지의 안전한 전송을 보장하면서도, 효율적인 암호화와 복호화 과정을 제공.

 

 

 

 

 

수업해주신 강사님 키관련 이야기중 하나로 공인 인증서와 공동인증서가 있다 


공인인증서란 
 개인이 공개한 공개키를 공인 인증기관에 개인키로 암호화한 것 


은행은 공인인증 대행기관 , 증권 , 거기서 공인 인증을 받음
CA에 개인키를 암호화 하고 그건 그 인증기관밖에 모름 그래서 안전함

 


그러나 옛날에는 공인인증서 (3년전에, 2024년 기준 ) 있었는데 공동 인증서로 바뀌어서

비록 공인인증서가 보안에는 훨씬더 좋지만 외국인들이 우리나라에서 물건을 사려할때

공인인증서 발급이 안되서 그걸 풀어주기위해 사라졌다는 이야기가 있다..

 

 

 

 

 

대칭키 알고리즘 

 

다른나라에서 만든 

 DES, AES , IDEA

가있다

 

한국에선 아래의 것들을 만들었다 

 SEED , ARIA , LEA , HIGHT  

 

 

 

   블록 암호 알고리즘
비트단위를 묶어서 암호화 (32/64)
대부분 많이 씀

 

 

   스트림 암호 알고리즘 (거이사용하지않음)
비트단위로 암호화 
RC4 ,A6를 쓸때만 씀 

( RC4 ,A6 - 스트림 암호의 예시 , 무선 통신과 일부 구형 시스템에서 사용)

 


공개키 알고리즘(대표적인게 RSA)

 


  
   소인수 분해 기반 
RABIN, RSA
ex)21321402 x 03235394342 = 이것처럼 
엄청큰 소수 2개를 이용하여 암호화를 함 

   이산대수 기반    
    ECC, Elgamal, DSA , Diffie-Hellman
ex) 3= 10 ^n mod 13  이때 n을 찾아라 (모듈러 연산 들어감, 규칙성을 무시하기위해서)

 

 

 

 

 

 

 

 

단방향 암호 알고리즘(해시함수)

 

   암호학적 해시함수 MD5(128) , SHA-1 (160), SHA-2(SHA-224, 256, 384 , 512)

해쉬함수의 충돌성 때문에 만들어짐 

 

 


해쉬값은 동일한 입력값은 동일한 출력값이 나온다 


예를들면 입력값이 1개일때는 MD5 를 거쳐 asdafsad 나오는데
입력값이  2개일때는 1개말고 2번째꺼에서 MD5를 거쳣는데 asdafsad  나올수있음

((같은게 나옴) 이게 충돌이라고함 )

작은곳에서 충돌이 나기쉽기때문에 더 길게 만듬 

 

MD5에서는 랜덤하게 만들기 때문에 랜덤성때문에 충돌만들수있음
해시함수는 무결성 을 확인함( 지문을 확인함)
password 는 일방향 해시함수로 암호화가 됨 (법적으로그렇게 되어있음) 

 

 

 

 

 

 

이런것 떄문에  은 확률론에서 흥미로운 현상으로,

"생일 역설(Birthday Paradox)" 

가 있다 이건 

상당히 적은 수의 사람들만 모여도 두 사람이 같은 생일을 가질 확률이 놀랍도록 높다는 것을 의미하는데 

이 역설의 이름은 직관적으로 생각했을 때 예상과 달리 확률이 높다는 점에서 '역설(paradox)'이라 불린다.

 

 

 

 

23명이 같이있으면 동일한 생일이 있을 확률이 50%임 
 90명있을때  거이 100 퍼

 

 

 

   비암호학적 해시함수


해시함수는 일반적으로 오류와 관련이 많음 

헤더안에는 오류가있나 없나 확인할수있는 Checksum, CRC-32 이 있음

 

 

 

 

 

 

 

 

 

 

 

 

 

 


법률 / 정책


1 정보통신망법(정보통신망 이용촉진 및 정보보호등에 관한 법률) ★
2 개인정보 보호법 ★
3 정보통신기반 보호법
4 전자 서명법
5  전자 정부법 

 

 

6, 7, 8, .. 9 도있다 클라우드사용정보법이나 위치정보 보안법 

 

그러나 중요한거는 1, 2 번이니 시간날때마다 검색해서 읽어보자 그렇게 많지는않다 

 

 

아래는 궁금하면 타고 들어가서 보면된다 

 

https://www.law.go.kr/%EB%B2%95%EB%A0%B9/%EC%A0%95%EB%B3%B4%ED%86%B5%EC%8B%A0%EB%A7%9D%EC%9D%B4%EC%9A%A9%EC%B4%89%EC%A7%84%EB%B0%8F%EC%A0%95%EB%B3%B4%EB%B3%B4%ED%98%B8%EB%93%B1%EC%97%90%EA%B4%80%ED%95%9C%EB%B2%95%EB%A5%A0

 

 

 

 

 

 

 

 

그리고 보안에는 3가지의 보안이있다

 



관리적 보안 - 정보보호 체계나 절차, 감시조직, 사고대책등의 활동 
정보보안실무에 나가면 반절이상이 관리적 보안임 

예시 : 

 

  • 정보보호 정책과 절차: 조직의 보안 정책, 절차, 지침을 설정하고 유지 
  • 감시 조직: 보안 감시팀이나 담당자를 두어 보안 관리를 수행 
  • 사고 대응 계획: 보안 사고 발생 시 대응 절차와 계획을 마련하고 실행 

 


물리적 보안 - 물리적 정보 시스템 자산과 같은 물리적인 위협으로 부터 보호하는 방법

예시:

  • 접근 제어: 데이터 센터나 서버실에 대한 접근을 제한하고 감시 
  • 보안 잠금 장치: 보안을 위한 잠금 장치를 설치 
  • 감시 카메라 및 경보 시스템: 보안 카메라와 경보 시스템으로 물리적 위협을 감시 

 


기술적 보안 - 전산환경에서 정보자산을 자산의 유출/파괴 등으로부터 보호하기 위한 기술적 통제 방법

 

예시:

  • 방화벽과 침입 탐지 시스템: 외부로부터의 불법 접근을 차단하고 감시 
  • 암호화: 데이터를 암호화하여 정보의 기밀성을 유지 
  • 백신 소프트웨어 및 보안 패치: 바이러스, 맬웨어로부터 시스템을 보호하고 보안 취약점을 해결 

 

 

 

 

 

아무리 방어 든 뭘 만들었다 하더라도 법에서 정한것들을 설정해야한다 

그런데도 뚫리면 그 업체에서 책임을 지지않는데 

침해 사고가 나서 분석했더니 법률에 어긋난게 1개 라도있으면 모든걸 책임져야한다

기술적 안정성 보호조치를 하지않았기 떄문에 ! 그래서 법률이 엄청 중요함 

 

 

법률 / 정책


1 정보통신망법(정보통신망 이용촉진 및 정보보호등에 관한 법률) ★
2 개인정보 보호법 ★
3 정보통신기반 보호법 ( 이게쫌쏌)
4 전자 서명법
5  전자 정부법 

 

다른건 몰라도 1, 2 까지는 알고 있어야한다고 생각한다. 라고하더라 

 

필자도 아직 읽는중..이다 

 

 

 

 

 

 

 

 

마지막으로는 



보안의 3요소 
CIA 

가있다

미국의 연방 어쩌구 그거말고 

 

 

Confidentiality 기밀성 


-> 허가받은 인자는 통과 허가받지 않는자는 허가하지않는다 

- sniffing , Eavesdropping  --> Encryption

 


Integrity  무결성 


-> 수정또는 변경삭제 되었는가 확인가능 

정보가 정확하고 완전하며, 권한이 있는 사람에 의해서만 수정되는 것을 보장하는 것

- Malware , Modification   --> Hash Function 

 


Availability  가용성  

 

정보가 필요할 때 사용자가 신뢰할 수 있고, 시기적절하게 접근할 수 있는 상태를 유지하는 것
- Dos / DDos --> Firewall IDS/IPS ( UTM 방화벽 )

 

 

 

 

정보보안은 CIA를 보장하는 활동이다

 

 

 

 

 

 

 

 

그럼 20000 

 

 

 

 

 

 

728x90