Hacking Arts
해쉬와 암호화 본문
<암호화>
1)hello의 문자에서 ㅗ디ㅣㅐ 이런식으로 암호화 할 수 있음.
2)키보드를 다시 한글을 영어 자판대로 쓰면 hello가 됨(복원은 복호화)
-특징 : key에 따라 결과값(암호문)이 다름
정상적인 사용자는 키를 이용하여 복호화가 가능
알고리즘(공개), 키(비공개)
키를 모를 경우 암호문을 유추하기가 매우 힘듬
<해쉬>
1)123456789같은 특정 숫자가 해쉬 알고리즘을 이용하면 11111 이런식으로 변함
2)해쉬의 경우는 앞의 5자리를 뒤의 5자리 이런식으로 나누고 소수에서 몇부분만 특별히 뽑아낸다.
-특징 : 단방향(One-Way) -> 예로는 믹서기가 있다. 갈아버린 후 되돌리지 못한다.
손실 압축 -> 결과 값을 통해 원문을 유추하기 어려움
Input Size에 상관없이 고정된 Output Size를 가짐
Collistion-Free (1:1관계) -> 원문==원문 : 해쉬==해쉬 / 원문 != 원문 : 해쉬!=해쉬 (즉 input:output은 1:1 관계이다.)
해쉬의 종류:
<해쉬 크래킹 방법>
1)사전 대입 공격(Dictionary Attack) - 사전 대입 공격은 미리 들어갈 만한 것들은 목록화해서 목록에서 먼저 찾아보는 기법
2)무작위 대입 공격(Brute Force Attack) - 사전 대입에서 실패한 후 범위내에서 일일이 하나씩 만들어서 비교해서 찾아보는 기법
3)레인보우 테이블을 이용한 공격(Rainvow Attack) - 이전 공격은 만들어서 비교하는 것에 비해 이건 미리 만들어놓고 비교만
4)사회 공학적 기법을 이용한 공격(Guessing Attack) - 사람들이 자주 사용하는 것 위주로 검색
※대게 크래커들은 크래킹을 하더라도 보통 몇 일 간은 안전한 이유는 암호화를 하고 뚫는데 오래 걸리기 때문이다.
해킹 보도를 듣는 즉시 암호를 바꾸는 것이 좋다.
<SALT>
해쉬 값은 1:1대응 된다고 했다. 즉 이말은 만약 어떠한 사람과 암호가 같다면 해쉬값도 같을 수 있다는 것이다.
이렇게 되면 암호화에 굉장히 취약해진다. 그래서 SALT라는 것을 사용한다.
SALT란? 위에 말했듯이 저 문제점을 보강하기 위해 나온 방법으로 특별한 문자를 생성 그다음 앞이나 뒤에 붙이고 다시 해쉬값을 돌린다.
이때 특별한 문자는 계정마다 틀리게 가져가며, SALT의 특별한 문자는 암호를 저장할 때 특별히 표시 해놓는다.
ex)/etc/shadow가 될 수 있다.
대게 해쉬는 데이터의 무결성 체크,사용자 인증에 이용이 되고 암호 알고리즘은 데이터를 암호화 하는데 이용된다.
'Computer & ETC > ETC' 카테고리의 다른 글
Payload (0) | 2014.08.23 |
---|---|
DMA(Direct Memory Access) (0) | 2014.08.23 |
Hot Swap (0) | 2014.08.23 |
ACPI(Advanced Configuration and Power Interface) and BIOS(Basic Input Output System) (0) | 2014.08.23 |
Pharming(파밍) (0) | 2014.08.23 |