2010년 8월 10일 화요일

TLS와 WTLS(Wireless Transport Layer Security)

  • 개요
    • WTLS

      WAP(Wireless Application Protocol)에서 안전한 통신을 위해 정의한 보안 프로토콜로, 인터넷의 TCP/IP 위의 TLS(Transport Layer Security)를 바탕으로 무선 환경에 최적화 된 프로토콜

    • TLS와 WTLS는 보안 서비스를 제공
      • 기밀성 : 무선 터미널과 WAP 게이트웨이 간에 송.수신 데이터의 외부 유출 방지
      • 무결성 : 무선 터미널과 WAP 게이트웨이 간에 송.수신 데이터가 바뀌거나 손상되지 않았음을 보장
      • 사용자 인증 : 무선 터미널과 WAP 게이트웨이 간의 상호 인증을 보장


    WAP의 구조

     
     

  • WTLS의 고려 사항
    • WTLS는 TLS를 기반으로 했지만, 무선 환경으로 인하여 TLS와는 다른 몇 가지 고려 사항/특징을 가지고 있음
    • SSL/TLS는 TCP/IP 상의 연결 중심 전송(Connection Oriented Transport) 프로토콜 위에서 동작하지만, WTLS는 WDP(Wireless Datagram Protocol) 위에서 동작하므로 데이터그램의 유실, 중복, 순서 바뀜 등을 고려해야 함(즉, 순서 번호(Sequence Number)를 활용)
    • 통신 속도에 제한이 있으므로 가능한 한 프로토콜에서 사용하는 통신 데이터를 최소화하여야 함(예를 들어, 사용자 인증을 위한 인증서의 경우 X.509형식의 인증서도 지원하지만 DER 인코딩이 되지 않은 WTLS 인증서를 사용할 수도 있음)
      • X.509
        • X.509는 공개키 인증서와 인증알고리즘의 표준 가운데서 공개키 기반(PKI)의 ITU-T 표준이다.
        • X.509 인증서는 외부 인증 기간(CA)에서 승인 과정을 통해 발행됨
      • DER 인코딩
        • ISO ASN.1 표준에서 정한 부호화 규칙에는 기본 부호화 규칙, 정규 부호화 규칙, 식별 부호화 규칙, XML 부호화 규칙, 묶음 부호화 규칙 등이 있음
        • DER은 한정 길이 형식으로 데이터의 길이가 0 ~ 127bit인 경우에는 짧은 길이를, 128bit 이상인 경우에는 긴 길이 형식을 사용하되 그 길이는 최소 옥텟 숫자로 부호화 됨
        • 디지털 서명과 같이 유일한 옥텟의 부호화가 필요한 응용 프로그램에서 사용되며, ITU 권고 X.509, X.690과 ISO 8825-1에 정의되어 있음
    • 무선 단말기의 메모리와 프로세서의 파워가 제한적이므로, 연산이 많이 소요되는 암호 알고리즘 등은 적용되기 어려울 수 있음

       
       

  • TLS/WTLS의 구조


    • 핸드셰이크 프로토콜

      3개의 프로토콜로 구성되며, 레코드 프로토콜에서 사용될 보안 파라미터 결정, 클라이언트/서버 인증, 오루 처리 등을 수행

      • 핸드셰이크 프로토콜
        • 클라이언트와 서버가 WTLS를 이용해 연결을 할 경우 한 세션 동안 보안 서비스에 사용되는 세션키, 암호 알고리즘, 인증서 등과 같은 암호 매개변수를 서로 결정하기 위해 사용
        • TLS에서는 완전-핸드셰이크(Full-Handshake), 단축-핸드셰이크(Abbreviated-Handshake)가 사용되며, WTLS에서는 최적화된 완전-핸드셰이크(Optimized Full-Handshake)가 추가 되어 사용
          • 완전-핸드세이크 : 새로운 세션을 시작할 때 사용

          • 단축-핸드셰이크 : 기존의 세션을 재개해서 다시 이용할 경우에 사용하며, 인증서 교환과 같은 서버와 클라이언트 인증을 위한 정보는 교환되지 않고, 이전 세션에서 사용한 암호 매개변수로부터 새로운 세션에서 사용될 매개변수들을 생성
          • 최적화된 완전-핸드세이크 : WTLS에서 새롭게 추가된 것으로, 서버는 클라이언트 인증을 위해 클라이언트의 인증서를 요청하지 않고, 서버 내에 보관된 클라이언트 인증서를 통해서 클라이언트의 인증을 수행
      • 경보(Alert) 프로토콜
        • 오류 메시지가 정의되며, 클라이언트나 서버에서 오류가 발생했을 때 오류 메시지를 보내 오류가 발생한 사실을 상대방에게 알리는 역할을 수행
        • TLS의 경보에는 경고성(Warning) 수준과 치명적(Fatal) 수준이 정의되어 있고, WTLS에는 중대한(Critical) 수준이 추가되어 있음
      • 변경 암호 스펙(Change Cipher Spec) 프로토콜
        • 변경 암호 스펙 메시지를 보내거나 받아서 핸드셰이크로 설정된 계류 상태(Pending State)룰 현대 상태(Current State)로 바꾸며, 상대에게 바뀐 상태로 데이터를 보호화겠다는 것을 알리는 일을 수행
        • TLS/WTLS의 상태는 계류 상태와 현재 상태로 나누어져 있음
          • 계류 상태 : 서버와 클라이언트가 협상 과정에서 설정된 알고리즘과 키 블록을 임시 저장해 놓은 상태
          • 현재 상태 : 레코드 계층에서 실제 데이터를 처리할 때는 항상 현재 상태의 알고리즘과 키 블록을 사용
    • 레코드 프로토콜
      • 데이터를 압축하고, 해시 및 암호화를 수행하여 전송하거나 수신한 데이터를 복호화 및 검사하는 역할을 수행하며, 그 동작 과정은 같음
      • 데이터의 단편화(Fragmentation)는 WTLS에서는 수행되지 않는데, 이는 WTLS 하위에 위치하는 UDP 혹은 WDP 계층에서 데이터에 대한 단편화가 이미 이루어지기 때문임


         
         

  • WTLS의 취약성
    • WTLS 프로토콜

      WTLS는 TLS를 무선 환경에 최적화하여 수정한 프로토콜이며, 무선환경의 제약된 환경으로 인해 일부 알고리즘의 채택이 안정성에 있어 취약점으로 작용됨

    • WAP 종단간 안정성
      • WTLS의 가장 큰 취약점으로 여겨지며, 무선 환경에서 무선 단말기와 실제 데이터가 있는 서버 사이의 종단간 안정성을 보장 할 수 없음
      • 이 취약성은 WAP이 사용하는 프로토콜과 인터넷 프로토콜이 서로 다르기 때문에 두 프로토콜의 연결을 위한 스택(WAP 게이트웨이)의 사용으로 인해 발생하는 취약성임
      • WAP 게이트웨이에서의 평문 추출시 평문의 노출 가능성이 존재할 수 있음

해커(Hacker)

  • 해킹(Hacking)
    • 넓은 의미에서는 해커들의 모든 불법적인 행위들을 해킹이라고 하고 하며, 좁은 의미에서는 정보 시스템 전산망에서의 보안 침해 사고를 발생시키는 행위들을 의미
      • 불법 침입 : 인가받지 않은 다른 정보시스템에 불법으로 접근
      • 불법 자료 열람 : 허가되지 않은 불법 접근을 통해 주요 정보를 열람
      • 불법 자료 유출 : 개인이나 조직의 주요 정보를 불법으로 유출
      • 불법 자료 변조 : 시스템 내의 자료나 개인의 자료를 변조
      • 불법 자료 파괴 : 시스템의 자료를 불법으로 파괴하는 행위
      • 정상 동작 방해 : 시스템의 정상적인 동작을 방해하거나 정지
    • 다음은 실제 정보 통신 환경에서 해킹 유형과 대상으로 구분하여 어떠한 피해를 입을 수 있는지에 대해 설명함

유형

불법 삽입

불법 유출

불법 변조

파괴.거부

데이터

개인의 신상에 대한 그릇된 정보 등의 제공

주요 비밀 정보, 개인 신상 정보 등의 유출

일반 자료 변조, 불법 금융거래를 노린 변조 등

일반 , 중요 정보의 파괴

시스템/소프트웨어

바이러스, 웜 백도어, 트로이 목마

주요 시스템 파일의 유출

악의적으로 이용하기 위한 프로그램/파일이 변조

프로그램 파괴, 고장 유발 행위

정보 통신망

시스템 과부하를 노린 행위

시스템 제어 정보의 유출

통신 지연, 잘못된 라우팅 유도

접근 방해, 망 운영 방행

▶ 해킹과 해킹 사고의 유형

 
 

  • 해커(Hacker)
    • 고전적 의미의 해커(Hacker)와 크래커(cracker)의 정의
      • 해커

        컴퓨터 시스템 내부 구조와 동작 등에 심취하여 이를 알고자 노력하는 사람으로, 대부분 뛰어난 컴퓨터 및 통신 실력을 갖추고 있는 사람

      • 크래커

        침입자(Intruder) 또는 공격자(Invader)라고도 하며, 다른 사람의 컴퓨터 시스템에 무단으로 침입하여 정보를 훔치거나 프로그램을 훼손하는 등의 불법 행위를 하는 사람

    • 일반적으로 해커라고 하면 다른 컴퓨터에 불법으로 침입하여 자료의 불법 열람.변조.파괴 등의 행위를 하는 침입자,파괴자를 통칭하는 부정적인 의미로 더 많이 사용되는데, 침입자.파괴자라는 점에서 해커는 크래커와 혼동되기도 함

       
       

  • Gilbert Alaverdian의 분류 기법 : 해커의 수준에 따른 분류
    • Elite
      • 엘리트 해커는 해킹하고자 하는 시스템에 존재하는 취약점을 찾아내고 그것을 이용해 해킹에 성공하는 최고 수준의 해커
      • 해킹을 시도하는 목적은 단지 자신이 해당 시스템을 아무런 흔적 없이 해킹할 수 있다는 것을 확인하기 위함
    • Semi Elite
      • 세미 엘리트 해커들은 컴퓨터에 대한 포괄적인 지식을 갖추고 있고, 운영체제 시스템을 이해하고 있으며, 운영체제에 존재하는 특정한 취약점을 알고, 그 취약점을 공격할 수 있는 코드를 만들 수 있을 정도의 최소한의 지식으로 무장되어 있음
      • 이들은 해킹 흔적을 남겨서 추적 당하기도 함
    • Developed Kiddie
      • 보통 십대 후반의 학생들로 대부분의 해킹 기법들을 파악하고 있으며, 해킹 수행 코드가 적용될 수 있을 만한 취약점을 발견할 때까지 여러 번 시도해 일단 시스템 침투에 성공하는 경우도 있음
      • 보안산 취약점을 새로 발견하거나 최근 발견된 취약점을 주어진 상황에 맞게 바꿀만한 실력은 없음
    • Script Kiddie

      네트워킹이나 운영체제에 관한 약간의 기술적인 지식이 부족한 이들은 GUI 운영체제 바깥세상으로 나와본 적이 없으며, 이들의 해킹은 보통 잘 알려진 트로이 목마를 사용해 평범한 인터넷 사용자를 공격하고 괴롭히는 것

    • Lamer
      • 헤커는 되고 싶지만 경험도 기술도 없는 사람들로, 네트워크나 운영체제와 관련해 기술적인 지식이 없으며, 컴퓨터를 사용하는 유일한 목적으로는 게임과 IRC 채팅, 와레즈 사이트를 찾거나 신용카드 사기 등을 하는 것
      • 트로이 소프트웨어, 누킹, DoS(Denial of Service) 툴만 있으면 크래킹을 할 수 있다는 생각에 트로이 목마나 GUI 운영체제용 해킹 도우글 사용

        출처 <한국정보보호진흥원, 해킹.바이러스 대응 요령>

공통 평가 기준(CC; Common Criteria)

  • 개요
    • 1980년대부터 시행된 국가별 상이한 평가 기준을 단일 평가 기준으로 대체하기 위하여 개발
    • 현존하는 평가 기준의 조화를 통해 평가 결과의 상호인증 추진과 보안 요구사항의 유연성 부여, 평가의 상호인증을 위한 골격 제시, 평가 기준의 향후 발전 방향의 정립
  • 공통 평가 기준 구조
    • Part 1 : 소개 및 일반 모델
      • 일반 모델은 정보 보호 시스템의 평가 원칙과 일반 개념을 정의하고, 평가의 일반 모델을 표현하는 공통평가 기준의 소개 부분
      • 정보 보호 시스템의 보안 목적을 표현하고, 정보 보호 시스템의 보안 요구사항을 선택하여 정의하며, 정보 보호 시스템의 상위 수준 명세를 작성하기 위한 구조를 소개
      • 각 이용자 집단에 대해 공통 평가 기준의 각 부분의 유용성을 서술
    • Part 2 : 보안 기능 요구 사항

      TOE(Target of Evaluation)의 기능 요구사항을 표준화된 방법으로 표현한 것으로, 기능 컴포넌트들의 집합으로 구성되고, 11개의 클래스로 이루어져 있음

    • Part 3 : 보증 요구사항
      • TOE의 보증 요구사항을 표준화된 방법으로 표현한 것으로, 보증 컴포넌트들의 집합으로 이루어져 있음
      • Part 3은 보호 프로파일과 보안 목표 명세서에 대한 평가 기준을 정의
      • TOE의 보증 수준에 대해 공통 평가 기준에서 미리 정의된 척도를 소개하는데, 이를 평가 보증 등급이라 함
    • CC의 핵심

      Part 2와 Part 3로 정보 보호 시스템이 구비해야 하는 기능 및 보증 요구사항을 기술하고 있으며, 개발자는 기술된 요구사항을 참조하여 정보 보호 시스템을 개발

     
     

  • 평가 기준 상호 인정 협정

    공통 평가 기준과 유럽 평가 기준의 경우 평가 기준의 국가 간 상호인정을 위한 협정을 체결하여 타국에서 평가받은 제품을 일정 등급까지 자국 내에서 평가 받은 제품과 동일한 효력이 발생되도록 인정

     
     

  • 기타
    • 보호 프로파일(Protection Profile)
      • IT 제품 및 시스템을 분류하고 각 특성에 맞는 보안 목표를 유용하고 효과적으로 표현하고 기준의 보안 기능 요구사항을 선택하여 보호 프로파일을 작성
      • 같은 분류에 속하는 IT 제품이나 시스템은 보호 프로파일을 새로 작성할 필요 없이 기존에 작성되어 있는 보호 프로파일을 활용할 수 있게 하기 위한 것
      • 표준화된 기준을 제시하고 명세서를 공식화하려는 의도로 보호 프로파일을 개발
    • 보안 목표 명세서(ST; Security Target)
      • 평가 활동의 기초 자료로서 TOE에서 요구되는 보안 요구사항과 객체들을 포함하며, 요구사항을 만족시키기 위해 TOE가 제공하는 기능과 보증 평가를 정의한 것
      • 보안 목표 명세서 작성자는 한 개 이상의 보호 프로파일에 적합하도록 보안 목표명세서를 작성

2010년 8월 9일 월요일

" 정신 이상이란 계속 같은 행동을 되풀이하면서 다른 결과를 기대하는 것이다. "
아이슈타인이 한말이라는데

반성하게 만드는 말이다.

2010년 8월 8일 일요일

무강이 기술사 공부를 시작하다

이 바닥에서 일을 시작할 때 35전에는 기술사가 되어 야지 하는 막연한 희망이 있었는데
벌써, 40을 바라 보게되는데도 여전히 희망으로만 남아 있다.

이제야 복격적으로 기술사 시험을 공부하려고 한다.

나와의 싸움이 이제 시작이다.

나자신에게 힘과 내공이 필요하다.

2007년 10월 25일 목요일

Ernesto Guevara de la serna

누군들 힘겹고 고단하지 않겠는가
누군들 별빛 같은 그리움이 없겠는가
그대들이 한때
신처럼 경배했던 민중들에게
거꾸로 칼끝을 겨누는 일만은 없게 해다오'

Ernesto Guevara de la serna

2007년 10월 5일 금요일

주왕산 전설 첫번째 이야기

주왕산은 역사적으로 신라시대에는 석병산, 신라말부터 주왕산으로 불리었으며 조선시대에는 주방산 또는 대둔산(시증동국여지승람1530, 대동여지도1861,청송군읍지1861), 주왕산(양양기구록1757, 주왕산지1833)으로 불리었다. 이러한 기록은 관에서 발간된 문헌들은 주방산, 대둔산으로 불렀으나, 민간에서 발간되 문헌에서는 주왕산으로 불린 것을 알 수 있으며 이는 주왕전설에서 그 유래를 찾을 수 있다. 그 후 청송군지(1937)에서 공식적으로 주왕산으로 기록한 후 정식적으로 지명을 가지게 되었다.
신라 선덕왕의 후손인 김주원이 이곳에 와 있었다 하여 주방산이라 하였고 , 신라말엽 중국 당나라 사람 주도가 자칭 주왕이라 칭하고 반란을 일으켰다가 패한뒤 이곳에서 은거하였다하여 주왕산으로 불리고 있다.
주왕전설의 내용은 다음과 같다. 주왕은 진나라에서 복야상서 벼슬을 지낸 주으라는 사람의 9대손으로 태어났으며, 이름이 주도였던 그는 어려서부터 천품이 범상치 않았을 뿐 아니라, 5세때 이미 글을 배워 11세 때에는 육도삼략(六韜三略)을 통달하였고 천문지리에도 능했다고 한다.주도는 이때부터 왕후장성을 꿈꾸면서 “황하강의 물을 들이마시고 태산을 갈아 없애겠다”고 말했다 한다. 그러나 주도는 진나라의 후손 중에 큰인물이 없음을 한탄했는데, 그는 성인이 되자 장사 1백명을 거느리고 웅이산에 들어가 1만여 명의 군중을 모와 남양땅에 웅거하며, 이때가 당나라 덕종15년(799년, 신라 소성왕1년)이었다.진나라의 후예인 주도가 후주의 천황임을 자청하며, 반기를 들고, 당나라의 수도 장안을 쳐들어가 대패하였다. 싸움에 패배한 주도는 숨을 곳을 찾아 요동을 통하여 신라로 도망을 왔다고 한다. 그때 주도를 따르는 군사는 1천여명에 불과할 뿐이었다.
그 후 관동지역을 거쳐 진성(지금의 청송군 진보면)에 다다른 주왕은 석병산(주왕산의 옛이름)이 매우 깊고 험준하다는 말을 듣고 이곳에 숨어들었으나, 식량이 없었으므로 인근 주민의 식량을 약탈하는 등 노략질을 일삼게 되자 석병산에 많은 산적이 살고 있다는 소문이 온 나라안에 퍼졌다. 이때 당나라 조정에서 주도가 신라땅으로 도망갔음을 알고 신라에 주도를 잡아 줄 것을 부탁해 왔다. 당나라로부터 주도를 잡아달라는 부탁을 받은 신라황제는 석병산 일대의 산적들이 주도와 그의 군사들임을 뒤늦게 알아차리고 마일성 장군과 그의 5형제들에게 명하여 주도를 잡아들이라고 명령하였다. 결국 마일성 장군에게 패한 주도는 화살을 맞아 죽었다.