가끔 오픈하고 싶지 않은 파일을 누군가에게 보내야 하는 경우가 있습니다. 그럴려면 문서 자체 암호를 사용할 수도 있지만 적당한 유틸리티를 사용하여 암호화 할 수도 있습니다. 인터넷에 많은 유틸리티가 있지만 오늘은 AXCRYPT 라는 유틸에 대하여 소개해 드립니다.

다운로드 http://www.axantum.com/AxCrypt/Downloads.html


오픈소프파일로 암호화 할때 유용하게 사용 할 수 있겠습니다.


Posted by 엔시스


암호이용,패스워드 이용 가이드 라인입니다..
참고 하시어 유용하게 사용하시기 바랍니다....

출처는 KISA입니다..






Posted by 엔시스
윈도우 2000/2003의 암호를 잊어버렸을때~
Anil John의 블로그에 안전한 패스워드와 인간의 기억력의 관계에 대한 흥미로운 기사가 올라왔다. 결론적으로 볼 때는 자신이 기억하기 쉬운 단어들의 조합으로 이루어진 복잡한 패스워드를 구성해서 사용하는 것이 바람직하다는 소리지만... 첫 구절에 나오는 인간의 기억력에 대한 서술이 보다 흥미롭게 다가왔다.

"Human memory for sequences is temporally limited, with a short term capacity of around seven, plus or minus two items. In addition, when humans do remember a sequence of items, those items be familiar chunks such as words or familiar symbols. Finally, human memory thrives on redundancy-we're much better at remembering information we can encode in multiple ways"

본래부터 가진 인간의 기억력의 한계인 건지, 나이들면서 술,담배에 찌들어 머리가 나빠진 탓인지 모르지만 매번 사용하던 패스워드를 갑작스레 잊어버린다던지, 매일 사용하는 툴의 사용법이 갑자기 생각나지 않는다던지... 치매로밖에는 볼 수 없는 증상을 겪는 경우가 있다.

본의 아니게 윈도우 2000이나 윈도우 서버 2003의 패스워드를 잊어버렸을 때는 다음과 같은 절차에 따라 복구하면 매우 손쉽다.

1. 복구용 툴 다운로드
돈이 많다면야 LostPassword.com의 툴을 정식 구매하는 것도 방법이다. 하지만 돈없는 우리네 같은 사람이야 어쩌다 한번 일어나는 불의의 사고를 해결하기 위해 20만원이 넘는 돈을 지불하기는 억울하다.
다행히 비슷한 경험을 한 사람이 많아서인지 무료로 해결할 수 있는 도구가 나와있다. 관리자 패스워드 복구 정보를 모아놓은 사이트에 보면 EBCD – Emergency Boot CD라는 도구가 있다. 이 도구는 시스템 복구 목적으로 사용할 수 있도록 리눅스를 패키징한 도구로, 디스크 에디트, 패스워드 복구 등 다양한 기능을 지원하고 있다. 사용하기 따라서는 Forensic 목적으로도 충분한 가치가 있을 듯...

2. EBCD 이미지 굽기
EBCD를 다운받아 안에 있는 makeebcd.exe 를 실행시키면 약 60메가 정도되는 ISO 이미지가 생긴다. 이 이미지를 네로 버닝롬 등의 CD 굽는 프로그램을 사용하여 CD로 만든다.

3. EBCD로 부팅
만들어진 CD로 부팅하면 부팅 초기 화면에 영어로 복잡하게 메뉴가 많이 나온다. 5번을 자세히 보면 윈도우 패스워드를 복구하는 기능임을 알 수 있다.

4. 윈도우 패스워드 복구
이제 윈도우 패스워드 복구 프로그램이 묻는 말에 충실히 답변해주기만 하면 알아서 윈도우 패스워드를 복구해준다.
출처:헐랭이 IT보안 블로그

'Security Utility' 카테고리의 다른 글

VNC 윈도우 프로그램  (0) 2006.03.14
CCNA 시뮬레이션  (0) 2006.03.14
Advanced PDF Password Recovery  (2) 2006.03.14
윈도우 2000/2003의 암호를 잊어버렸을때  (3) 2006.03.14
원격 접속 툴 - PUTTY  (5) 2006.03.14
PDF2PPT 프로그램  (0) 2006.03.13
Posted by 엔시스
TAG 복구, 암호

1. 서론

통신을 하는 두 사람이 서로의 통신 내용을 비밀로 하고 싶어하는 것은 매우 자연스러운 현상이다. 이를위해 통신내용을 암호화(Encryption)하여 전달하는 것은 매우 오래전부터 사용되어왔다. 암호의 시작은 기원전 2000년 이전으로 거슬러 올라간다고 추정하기도 한다. 예를들어 다음과 같이 영문 알파벳에서 각 글자를 3글자씩 옆으로 옮겨서 만드는 암호는 로마시대의 Julius Caeser에 의해 사용되었다는 주장이 있고, Caesar 암호라고 블린다.

FUTURE SYSTEM ---- 암호화 ----> IXWXUH VBVWHP

이와같이 암호화는 평문(Plaintext)을 사용자의 암호화키(Encryption Key: 잠금 열쇠)를 사용하여 암호문(Ciphertext)으로 변환하는 과정이다. 암호문으로부터 복호화키(Decryption Key: 풀림 열쇠)를 사용하여 원래의 평문으로 변환하는 과정은 복호화(Decryption)라고 한다. 그러나 키를 사용하지 않고 단지 문자를 다른 기호로 변환하는 것은 변환 규칙을 모르면 변환된 데이타를 읽을 수 없을지라도 암호문이라고는 부르지 않는다 (예: 모오스 부호, 깃발 신호, ASCII 코드 등).

암호를 사용하는 목적으로는 기본적으로 통신하는 당사자 이외의 다른 사람에게 메시지를 알려주지 않기 위한 것이지만 그밖에 다음과 같은 목적으로 암호를 사용한다.

  • 기밀성(Confidentiality) : 암호를 사용하는 1 차적인 목적이다. 허가된 사람 이외에는 그 내용을 알아볼 수 없도록 한다.
  • 무결성(Integrity) : 외부의 요인으로 인해 데이타가 변조(변경, 삽입, 삭제 등) 되었는지를 알 수 있도록 한다.
  • 인증(Authentication) : 통신하고 있는 상대방이 실제로 맞는지를 확인하고, 서로에게 전송한 데이타가 위조되지 않았음을 확인할 수 있도록 한다.
  • 부인방지(Non-repudation) : 이전의 통신내용을 보낸적이 없다고 속일 수 없도록 한다. 즉, 데이타를 받은 사람은 나중이라도 보낸 사람이 실제로 데이타를 보냈다는 것을 증명할 수 있도록 한다.
이외에 세부적으로 다양한 보안 서비스/프로토콜을 가능하게 만드는 것이 암호라고 볼 수 있다.

1.1 암호의 종류

일반적으로 암호화를 하기 위해서는 사용자의 암호화키가 필요하다 (Caeser 암호에 있어서는 ``3"을 암호화키라고 볼 수 있다). 복호화를 하기 위해서는 암호문으로 변환하는 방법(키 만큼 알파벳을 옆으로 옮김)을 알아야 하고 또한 복호화키가 필요하다. Caeser 암호의 경우는 암호화키와 복호화키가 서로 같다. 즉, 같은 키를 사용하여 반대방향으로 알파벳을 옮기면 원래의 평문을 얻을 수가 있다. 이와같이 암호화키와 복호화키가 서로 같은 암호대칭키 암호(Symmetric Cryptosystem)라고 한다. 반면에 암호화키와 복호화키가 서로 다른 암호비대칭키 암호(Asymmetric Cryptosystem)라고 한다.

그림 1 : 암호시스템의 종류

대칭키 암호를 사용하여 통신을 하고자 할때는 그림 1 과 같이 송신자와 수신자가 서로 공유하고 있는 키가 필요하다. 이 키는 암/복호화에 모두 사용되므로 제 삼자에게 노출되어서는 안되는 비밀키이다. 이런의미에서 대칭키 암호를 비밀키 암호라고도 부른다. 비밀키 암호는 어떤 두사람 사이에도 하나의 비밀키가 필요하므로 그림 2 와 같이 n명의 구성원에서 1명이 증가하면 n개의 키가 필요하게 된다.

그림 2 : 비밀키 암호에 구성원이 증가하는 경우

비밀키 암호를 사용하기 위해서는 무엇보다도 통신하고자 하는 두 사람이 서로만 알고있는 비밀키를 공유하는 지에 대한 방법이 있어야 한다. 구성원이 많을수록 비밀키의 공유가 어려워질 수 밖에 없다.

비대칭키 암호의 가장 큰 특징은 암복호화에 사용되는 키가 다를뿐만아니라 이중 암호화키는 누구에게나 공개하고 복호화키는 자신만이 간직하는 비밀키로 사용하는 것이다. 이때 공개된 암호화키로부터 복호화키를 알아낼 수는 없어야 한다. 그러면 사용자 A가 사용자 B에게 메세지를 전송하고자 할때, 공개된 A의 암호화키를 이용하여 메세지를 암호화하여 A에게 전송할 수가 있고, A는 자신만이 알고있는 복호화키를 사용하여 암호문을 복호화할 수가 있다. 이런의미에서 비대칭키 암호를 공개키 암호라고도 부른다.

따라서 비밀키 암호화 달리 공개키 암호는 각 사용자마다 1쌍(공개키-비밀키)의 키만 가지고 있으므로 1명이 증가하면 2개의 키만 추가로 필요하다. 구성원의 수가 많을수록 비밀키 암호의 키의 개수가 공개키 암호의 키의 개수보다 훨씬 많이 필요하다.

인원수 비밀키 암호 공개키 암호
n n(n-1)/2 2n
10 45 20
10000 49995000 20000

표 1 : 필요한 키의 개수

비밀키 암호인 경우 암호화/복호화를 같은 키를 비밀로 하면 되므로 암호화 방법으로 사용할 수 있는 방법들이 매우 다양하다. 그러나 공개키 암호인 경우 암호화키와 복호화키가 서로 다르고 암호화키는 공개되므로 암호화키로부터 복호화키를 알아낼 수 없도록 해야하는 제약이 있다. 비밀키 암호는 그 기원을 알 수 없을 정도로 오래되었지만 공개키 암호는 최근(1970년대)에 수학적으로 어려운 문제를 기반하여 고안되었다. 대표적으로 합성수의 소인수분해 문제를 이용한 RSA를 예로 들 수 있다. 일반적으로 비밀키 암호의 암복호화 속도는 매우 빠르지만, 공개키 암호는 어려운 수학연산을 이용해야 하므로 암복호화 속도가 매우 느리다.

2. 고전 암호

고전적으로 사용된 암호는 모두 비밀키 암호에 속한다. 즉, 통신을 원하는 양쪽은 미리 암호문을 생성하는 방법과 다시 암호문으로부터 평문을 얻는 방법을 알고있어야하고 이때 필요한 비밀키를 서로 공유하고 있다고 가정한다. 고전적인 암호로는 크게 대입(Substitution) 암호, 치환(Permutation) 암호등이 있다. 두가지 방법을 혼합하여 분석이 어려운 암호를 생성하기도 한다.

  • 대입 암호 : 각각의 글자를 다른 글자에 대응시키는 방법.

    서론에서 예를 든 Caesar 암호는 대입 암호의 특수한 예로 볼 수 있다. Caesar 암호는 알파벳에서 오른쪽으로 3글자 옆에 있는 글자에 대응시키는 방법이고, 그 밖에 다양한 방법으로 각 글자를 다른 글자에 대응시킬 수 있다.

    평문 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
    암호문 Q A Z W S X E D C R F V T G B Y H N U J M I K O L P

    표 2 : 대입 암호의 예

    표 2 의 방법으로 다음과 같이 암호화 할 수 있다.

    FUTURE SYSTEM ---- 암호화 ----> XMJMNS ULUJST

    그러나 일정길이 이상의 암호문을 알고 있을때, 각각의 글자가 쓰인 개수를 통계적으로 분석하면 많은 정보를 얻을 수가 있다. 예를 들면 영문에서 가장 많이 쓰이는 글자는 `E', `T'이므로 암호문에서 가장 많이 쓰인 글자를 `E' 혹은 `T'로 간주하는 것은 매우 자연스럽다. 또한 `TH', `THE'등과 같이 두글자 세글자중 빈도수가 높은 것들을 이용하면 암호문에서 많은 글자에 대한 정보를 알 수 있다.

  • 치환 암호 : 글자를 바꾸지 않고 놓인 위치를 변경하는 방법. 교환(Transposition) 암호라고도 불린다.

    이 방법은 문장을 일정 단위의 블럭으로 나누어서 배열한 뒤에 평문을 정해진 방법에 따라서 읽어서 암호문을 얻는다. 이런 종류의 암호는 평문을 읽는 방법에 따라 매우 다양한 방법으로 암호문을 생성할 수가 있다.

    예를 들면 블럭의 크기를 6이라고 하고, 암호화에 필요한 키를 'HOTDOG'라고 하자 (HOTDOG는 알파벳순서로 346152에 대응된다).

                        HOTDOG                    346152                    ------                    FUTURE      --- 암호화 --->     UEFURT                    SYSTEM                          TMSYES

    위의 방법은 평문의 각 블럭마다 키의 순서대로 읽는 방법으로써 암호문 'UEFURT TMSYES'를 얻는다.

    또다른 방법으로는 배열된 평문을 블럭 단위로 읽지 않고 열(column) 단위로 읽는데 순서는 키에서 정의한 순서대로 읽는 방법도 있다. 그러면 암호문 'UTEMFS UYRETS'를 얻는다.

    출처: 퓨쳐시스템

~

'Security Skill&Trend' 카테고리의 다른 글

해쉬함수  (0) 2006.03.12
대칭키 운영모드  (0) 2006.03.12
암호의 종류  (0) 2006.03.12
zone-transfer 문제점과 대응방안  (0) 2006.03.12
VPN 프로토콜정리  (0) 2006.03.11
SYN/ACK 공격  (0) 2006.03.08
Posted by 엔시스