IT/Cryptography(암호)2011. 12. 30. 18:10

한 해가 저물어 가네요. 저는 2011년도 한해가 정말 빠르게 지나간 것 같습니다. 그렇게 한 것도 많지 않은 것 같은데요. --!!!
다음 한해도 저 자신에게 부끄럽지 않도록 열심히 살겠습니다. ^^

오늘은 하이브리드 암호에 대해서 설명하도록 하죠.
자 그럼 여러분에게 제가 하이브리드 암호을 이용해서 인터넷을 이용해서 '새해 복 많이 받으세요 ^^' 라는 메세지를 보낸다고 가정하고 아래 그림을 보고 이해해 보세요. 
보안상 암호화해서 보냅니다. ^^ 


그림은 책을 보고 공부하면서 참조해서 그린 그림입니다.

하이브리드란 복합이란 뜻을 가지고 대칭키
(공유키 방식)과 비대칭키(공개키 방식)을 조합해서 사용하는 것을 말합니다.

앞에서 살펴본 바처럼 공유키 암호 방식는 처리 속도가 빠르지만 키를 공유하기에 만약 키가 노출되면 암호문이 해독이 가능한 상태가 되기 때문에 공격에 취약합니다. 그리고 공개키 암호는 암호화 방식과 복호화 방식이 복잡한 방식을 취하기에 안전성이 좋지만 암호화하는데 계산 시간이 오래 걸린다는 점이 있죠. 그래서 등장한 것이 바로 하이브리드 암호입니다.

하이브리드는 머리가 좋아서 속도도 안정성도 확보하겠다는 것이죠.
 

,
1단계 
메시지(새해 복 많이 받으세요^^)는 공유키로 암호화해서 보내고, 사용한 공유키(평문을 암호화 할때 사용)를 수신자에게 받은 공개키로 암호화해서 보냅니다.(완벽하게 암호화 시키겠다는 이야기네요.)

2단계 수신자는 비밀키를 이용해서 앞에서 암호화했던 암호화된 공유키를 복호를 수행합니다. 그리고 난 후 복호되면 공유키를 이용해서 앞에서 보낸 암호문을 평문 메세지로 복호를 수행하면 평문메세지를 수신자는 확인할 수 있다는 것이죠.

전체적으로 살펴보면 평문 메세지를 암호화하는 것은 대칭키(공유키)방식을 이용하고,
암호문과 복호에 사용하는 공유키를 암복호화 할때는 비대칭키(공개키)방식을 이용한다는 것이네요.

공유키 A,B는 동일한 키입니다.
공개키와 비밀키는 수신자가 미리 만들어 둔 한 쌍의 키입니다. 


활용

하이브리드 암호는 실제로 인터넷 등에서 사용되고 있습니다. 메일 등에 사용되는 PGP나 웹 브라우저에 사용되는 SSL/TLS등은 하이브리드 암호 형식을 이용한 것이죠.

혹시 설명이 부실했다면 이해하시고 좀 더 필요한 부분은 개별 학습을 부탁드리겠습니다. 
저는 이만 실례하겠습니다.

 

Posted by 예영교육연구소
IT/Cryptography(암호)2011. 12. 27. 16:17


블록 암호란?

기밀성 있는 정보를 정해진 블록 단위로 암호화 하는 대칭키 암호 시스템입니다.

만약 암호화하려는 정보가 블록 길이보다 길 경우에는 특정한 운용 모드가 사용됩니다.(ECB, CBC, OFB, CFB, CTR) 운용 모드는 나중에 살펴보도록 하겠습니다.

 

장점

Block단위 암호화로 인해 기호를 삽입하거나 제거가 불가능하고 다양한 운영 방법에 의해 혼돈과 확산의 이론을 기반으로 설계될 수 있는 것이 장점.

 

단점

블록 단위로 암호화가 이루어지기 때문에 평문 비트들이 완전한 하나의 블록으로 구성한 다음에 암호화 되므로 암호화 과정이 블록의 크기에 따라 지연된다. (암호화 시간이 느리다는 이야기죠.)



대칭키 방식의 블록 암호의 암호화와 복호화를 그림을 통해 알아보죠.

 
그림 설명
t는 t번째라는 의미입니다.
즉 일정 비트가 되어 블록이 되면 Key와 암호화 함수를 이용하여 암호문 블록이 생성됩니다. 그리고 생성된 암호화 블록을 전송하고 이를 받은 측에서는 암호문 블럭을 다시 Key와 복호 함수를 사용하여 평문 블럭으로 만듭니다.

Ct Pt의 사이의 관계는 각각 Ct=E(Pt,K) Pt=D(Ct,K)입니다. 이해하시겠죠.
왼쪽이 암호화가 이루어지는 과정이고 오른쪽이 복호화가 이루어지는 과정입니다.
암호화와 복호화에 사용되는 열쇠는 K로 같습니다.

블록의 길이
(Pt)
블록의 길이(Pt가 해당)는 대표적으로 64비트와 128비트가 있습니다. 블록의 길이는 변수에 의해 지정 가능하고, 블록의 길이를 변경할 수 있는 것도 있습니다.

K(Key)

키의 길이는 40, 56, 64, 80, 128, 192, 256비트가 있습니다.


안전성

블록 암호는 N비트의 키 길이에 대해 2이상의 안정성을 가지지 않습니다. , 키의 전수 검색으로 반드시 해독이 가능합니다. 이것은 블록 암호를 정하는 경우, 매우 중요한 요소의 하나입니다. 그래서 최근에 짧은 키의 길이를 가지는 DES(56비트)가 채용되지 않는 이유 중에 하나입니다.
 

라운드 함수의 구성 방법에 따라 분류

Feistel : DES, 3DES

SPN   : AES

 

비트별 블록 암호 종류(이런 것이 있다고 알고 계시면 됩니다.)

64bit

TDEA-ISO/IEC_18033, CRYPTREC

MISTY1-ISO/IEC_18033, CRYPTREC, NESSIE

CAST-128-ISO/IEC_18033

CIPHERUNICORN-E – CRYPTREC

Hierocrypt-L1 –CRYPTREC

MULTI2-ARIB한정 수신 방식

KASUMI

 

128bit

 AES

 Camellia

 SEED우리나라에서 개발되었죠.^^

 CIPHERUNICORN-A-CRYPTREC

 Hierocrypt-3-CRYPTREC

 SC2000 – CRYPTREC

256bit

 SHACAL-2-NESSIE

 

다음 글에는 블록 암호 시스템의 'Feistel' 구조에 대해 알아보도록 하겠습니다.

 
<위키 백과 참조> 

Posted by 예영교육연구소
IT/Wireless Security2011. 12. 22. 19:31


오늘은 무선랜 프로토콜의 구조에 대해 함께 살펴보도록 하겠습니다. 이번 글에서도 전체적인 그림을 그리는 것을 목적으로 설명을 하도록 하겠습니다. 세부적인 사항은 하나씩 나중에 살펴보도록 하겠습니다.

보시는 바와 같이 OSI 7계층은 웬만한 분들은 다 아시니 이 부분은 안다고 생각하겠습니다. ^^


무선랜은 IEEE 802.11
규격을 사용합니다. IEEE 802.11규격은 위와 같이 데이터 링크 계층(DataLink Layer)과 물리 계층(Physical Layer)을 다루고 있습니다. 위의 설명에서와 같이 물리계층은 신호를 검출해서 데이터를 전송하는 역할을 하고 데이터 링크 계층에서는 다양한 방법으로 데이터가 정확하게 전송되었는지를 확인하게 되죠.

 

앞으로 무선랜을 하게 되면 많이 등장하게 될 용어 일 것 같은데요. 기억해야 할 용어가 있습니다. 간단하게 설명하겠습니다.

 

<용어 몇가지>

CSMA/CA : 무선 LAN용의 규격으로 IEEE802.11a, 802.11b, IEEE 802.11g에 기본적으로 사용되는 통신 프로토콜. CSMA/CD을 무선 환경에 맞추어 발전된 형태

FHSS 방식 : 동일지역에서 주파수를 일정한 대역으로 나누고 이를 고속으로 옮겨 다니면서 전송되는 방식

DSSS 방식 : 일정 대역폭( 22MHz)을 하나의 주파수로 하여 채널을 나누고 이를 사용하는 방식.

PLCP부계층 : 802.11 MAC부계층과 무선 전송 프레임을 연결하는 역할. 자신만의 헤더를 붙임

PMD부계층 :

가.   PLCP부계층으로부터 넘겨받은 정보를 안테나를 통해 무선 매체(공기)에 전송합니다.

나.   신호의 변조 및 인코딩/디코딩을 수행합니다.

 
위의 그림을 보면 알 수 있듯이 
물리계층은 실제 무선 주파수 대역에 데이터를 실어 보내는 기능을 하고데이터 링크 계층은 전송이 정확하게 되는지 보장을 하죠.  

먼저 물리계층에 대해 알아보겠습니다.

 
 
A.   물리계층

물리계층의 역할

들어오는 신호를 검출합니다. 그리고 무선매체가 사용 중인지 아닌지(busy or idle)의 여부를 자신의 위에 계층인 MAC부 계층에게 알려주지요(보고 체계가 명확 ^^).

그리고 데이터 프레임의 개별 옥텟을 송수신합니다.

(옥텟이란? 8비트의 배열을 말하며 옥텟 한 개는 일반적으로 8비트로 구성된 한 바이트와 같습니다.)

정리하면 3가지 기능을 가집니다.

반송파 감지, 송신, 수신

 

B.   데이터 링크 계층

데이터 링크 계층은 위에서 보는 바와 LLC MAC로 나누어 집니다MAC 계층 부분이 매체에 따라 다른 특징을 갖기에 무선랜에 맞추어 이 계층에 대해 자세히 살펴보도록 하겠습니다.

MAC(Medial Access Control) 계층

CSMA/CA

유선랜 일때는 CSMA/CD를 사용하시는 것은 아시죠.(--!) 무선랜에서는 다음의 프로토콜을 사용합니다. CSMA/CA를 사용합니다. 유선랜 일 때 사용하는 CSMA/CD는 무선 랜일 경우에 그대로 적용하기에 몇 가지 문제점(2가지)이 있다고 해서 CSMA/CD가 등장하게 되었습니다. 나중에 자세한 설명을 하겠습니다.


MAC
부 계층의 역할(802.11에서)

스테이션 서비스 : 무선 스테이션 사이의 교신에 필요한 기능을 제공합니다.

분배시스템 서비스 : 기본적으로 AP가 제공하며, MSDU의 전달 분배 기능을 말합니다.

 

MAC부계층에서 동작 형태

무선 매체에 대한 접근 제어 : CSMA/CA

네트워크의 참가

      스테이션이 최초로 전원이 켜지고 탐색/합류하는 과정을 말합니다.

    인증 및 보안(3개의 상태)

      상태 1(인증, 결합 모두 안됩니다.),

상태2(인증은 됐지만 결합이 안됩니다),

상태3(인증, 결합 모두 됩니다.)

 

무선 MAC부계층에서의 주요 프레임

    관리 프레임  : 무선 노드와 AP사이의 초기 통신을 확립합니다.

    제어 프레임  : 스테이션 사이의 신뢰성 있는 데이터 전송을 위해 데이터 프레임과 함께 사용됩니다. 채널 확보, 반송파 감지 및 유지, 수신 데이터의 확인, 긍정 응답 등을 수행합니다.

    데이터 프레임 : 실제 정보가 들어가 있습니다.


이번 글에서 너무 많은 내용을 다루려다 보니 조금 무리가 있었네요.
앞으로 이를 중심으로 하나씩 하나씩 알아보도록 하겠습니다. 

 

 

Posted by 예영교육연구소
IT/Cryptography(암호)2011. 12. 21. 17:59

 

비대칭키에 대해 알아보도록 하겠습니다.
 


1단계, Bob은 한 쌍의 키를 만듭니다. 그리고 Bob공개키를 어딘가에 공개하죠.

2단계, Jane Bob에게 암호화를 해서 문서를 보내고 싶습니다. Bob에게 보내려면 Bob의 공개키를 가지고 옵니다.

3단계, Jane Bob의 공개키로 암호화를 수행한 후, Bob에게 암호문을 송신합니다.

4단계, Bob은 자신만이 가진 개인키를 이용해서 받은 문서를 Bob의 개인키로 해독합니다.

 

정리하면 다음과 같죠.

누군가에게 암호문을 보내려면 누군가의 공개키가 필요합니다. ^^

그리고 한 쌍의 키가 존재합니다. 개인키와 공개키

Jane과 같은 사람이 많아지면 어떻게 해야 할까요?
공개키를 n명만큼 늘리면 되겠죠.

그리고 한번의 송수신에서 개인키, 공개키 한번씩만 사용이 가능합니다.

 

그러면 비 대칭키가 더 안전하겠네요?(여기서는 Bob으로 설명할께요)
당근이죠. 왜냐하면 대칭키에 비해 Bob개인키는 Bob만이 가지고 있으니까요 암호문을 중간에 가로채더라도 Bob의 개인키를 가지고 있지 않으면 암호문을 해독할 수 없죠. 그래서 상대적으로 공유되어지는 대칭키에 비해 안전 ^^~~~ 

그러면 대칭키 말고 비대칭키를 사용합시다~~

잠시만요. 여기서 비대칭키는 안전하지만 암호화 복호화 할때 함수 사용으로 인해 속도가 무지 느려요.(들은 이야기로는 1000배정도 느리다고 하네요.와우~~~) 그래서 정말 필요한 인증이나 디지털 서명에서 보조적인(보안 강화)역할로 대칭키와 함께 사용합니다.죠. 좀 이해가 되시죠. ^^
알고 보면 악어와 악어새와 같이 공생하는 존재죠.

공개키(비대칭키의 종류)
RSA, ECC, EL Gamal, DSA, Knapsack, Diffie-Hellman 
설명은 이 글에서는 여기까지만 하겠습니다. 기회가 될 때 하나 하나 살펴보도록 하겠습니다.

보안 위협
만약 공격자가 공개키 저장소를 공격하여 중간자 공격을 수행한다면 조금 위험해 질 수 있습니다.
혹시 중간자 공격을 모르는시는 분을 위해 나중에 포스팅 한후 링크를 하도록 하겠습니다.
 

그럼 저는 이만 실례하겠습니다.

Posted by 예영교육연구소
IT/Cryptography(암호)2011. 12. 21. 17:00

오늘은 대칭키 암호화 방식에 대해 알아보도록 하겠습니다.

암호화 방식의 하나 하나의 자세한 설명은 후일을 기약하며 여기서는 전체적인 밑그림을 그려보는 것을 목표로 합니다.

 


암호화 방식은 크게 2가지로 구분되는 것은 앞에서 보셨죠.
 

대칭키 방식은 또한 크게 2가지로 구분됩니다.

 

스트림 암호와 블록 암호

스트림 암호 :  하드웨어 구현에 용이하며 다른 암호시스템과 비교할 때 알고리즘 구현속도가 매우 빠르고 실용적이기 때문에 군사적인 목적으로 널리 사용되고 있습니다. 2진 표현된 평문과 이진 의사난수열(Key)을 택한 결과를 암호문으로 출력합니다. 속도는 빠르지만 상당한 비용과 자원이 소모됩니다. (왜냐하면 10비트 암호화 하려면 10, 1000비트 암호화 하려면 1000번을 연산해야 하니까요~)

블록 암호  : 블록 암호는 평문을 일정한 블록으로 나누고, 고정된 크기를 가지는 블록 단위의 암호문을 생산한다. 여러 번의 회전(round)에 걸치 함수 F를 반복 수행하는 과정을 거쳐 평문으로부터 암호문이 생성됩니다.

 

스트림 암호의 A5/1 RC4

A5/1 GSM 휴대폰에서 사용되고 있고, RC4 SSL protocol에 포함한 여러 곳에서 사용됩니다.

다만 RC4도 스트림 암호이지만 A5/1과는 현저하게 다른 개념의 암호입니다. A5/1이 하드웨어로 구현되도록 설계되어 있는 것에 반해, RC4는 소프트웨어로 구현되도록 설계되어 있습니다. RC4 알고리즘은 바이트 단위로 실행됩니다.

 

블록 암호는 몇가지 구조로 나눌 수 있습니다.

Feistel구조 : DES, 3DES

블록 암호의 선구자인 호스트 페이스텔의 이름을 빌어 명명했습니다장점은 안전성 문제가 회전 함수 문제로 귀결된다는 것.(???)

가.  DES : 1970년대에 개발되었습니다.

나.  3DES : DES가 크랙된 후, 개발된 알고리즘. 속도 문제로 인해 AES로 대체되는 경향.

 

떠오르는 샛별 AES(SPN구조)

AES알고리즘은 고난도의 수학적 구조를 갖습니다. AES의 모든 것에 대한 자료는 방대하며, 역사적으로 AES만큼 짧은 시간 내에 그렇게 많은 검토 및 시험이 이루어진 알고리즘은 없습니다.

 가장 최근에 강력한 암호 방식에 사용되어지고 있는 것은 AES입니다. 초기에는 DES가 많이 쓰이다가 크랙당해서 3DES가 등장했죠. 3DES DES보다 256배 정도 강하다고 하지만 DES에 비해 너무 느려진 암호화 속도로 인해서 AES가 등장하게 되었고 최근에 많이 사용되고 있습니다.

 

나는 AES이다. .^^

하나, 저는 하드웨어와 소프트웨어 관계없이 구현이 가능합니다.

, 저는 SMART CARD에도 적용이 되구요.

, 저는 SPN구조를 사용하죠.

 
기타 암호 알고리즘 

유럽에 강자 IDEA(International Data Encryption Algorithm)

아시다시피 블록 암호 방식이죠. 그리고 저는 64비트의 블록의 데이터에 작동됩니다.

128비트의 키를 가집니다. 그리고 어디에 쓰이냐? PGP암호화 소프트웨어에 많이 사용되죠.

 

그외 암호화 방식(RC6, Blowfish,TEA)가 있습니다.
설명해야 할 것들이 너무 많지만 오늘의 목적인 밑그림을 그리는 데에 목적을 두고 여기서 마무리를 짓도록 하겠습니다.

Reference
암호학의 이해, 교우사
정보 보안 이론과 실제, 한빛 미디어 
위키 백과 

Posted by 예영교육연구소
IT/C_C++_Assembly2011. 12. 20. 18:10

  

이번글에서는 레지스터의 종류와 스택에 대해서 알아보도록 하겠습니다.

레지스터는 CPU내부의 대표적인 저장장치입니다. 레지스터는 CPU의 설계에 따라,또는 사용하는 용도와 목적에 따라 종류가 다양합니다. 이외에 스택이라는 저장장치가 있는데 일반적인 저장장치와 다르게 주소를 지정하는 방법과 읽고 쓰는 방법이 간단하다는 특징이 있습니다.

 
[표] 레지스터의 이름과 종류 

  

약 어

 

Accumulator(어큐뮬레이터)

Base Register(베이스 레지스터)

Count Register(카운트 레지스터)

Data Register(데이터 레지스터)

Base Pointer(베이스 포인터)

Instruction Pointer(인스트럭션 포인터)

Stack Pointer(스택 포인터)

Destination index

Source Index(소스 인덱스)

Data Segment Register(데이터 세그먼트 레지스터)

Extra Segment Register(엑스트라 세그먼트 레지스터)

Stack Segment Register(스택 세그먼트 레지스터)

Code Segment Register(코드 세그먼트 레지스터)

Flags Register(플래그 레지스터)

EAX

EBX

ECX

EDX

EBP

EIP

ESP

EDI

ESI

DS

ES

SS

CS

none

범용 레지스터

범용 레지스터

범용 레지스터

범용 레지스터

오프셋 레지스터

오프셋 레지스터

오프셋 레지스터

오프셋 레지스터

오프셋 레지스터

세그먼트 레지스터

세그먼트 레지스터

세그먼트 레지스터

세그먼트 레지스터

none

 

. EAX연산 결과를 저장하는 용도로 사용될 뿐만 아니라 데이터의 이동과 데이터의 일시적 저장 등 범용 레지스터의 기능을 담당.

. EBX데이터의 이동, 일시적 저장 등 범용 레지스터의 기능을 갖는다. 또한 간접 번지 지정에 사용. 베이스를 지정해 주는 레지스터

. ECX데이터의 이동, 일시적 저장 등 범용 레지스터의 기능을 갖는다. 반복적인 데이터의 연산, 논리 명령 등에 많이 사용.

. EDX데이터의 이동, 일시적 저장 등 범용 레지스터의 기능을 갖는다. 곱셈과 나눗셈에서 AX 레지스터의 범위를 초과할 경우에 많이 사용.

. ESI소스 색인을 위한 레지스터.

. EDI – ES(엑스트라 세그먼트 레지스터)와 조합을 이루어 사용되고 그 외에 연산에도 활용이 가능합니다. EDI역시 ESI와 같이 간접 주소 지정 방식에 많이 사용.

. EIP명령 포인터(Instruction Pointer)의 약자로서, 이 레지스터는 실행할 다음 명령의 번지를 가르키는데 사용됩니다.

. EBP레지스터는 스택에서 데이터를 다루기 위해 사용되는 레지스터. EBP레지스터는 스택 내에서 상대 주소 값(변위 또는 오프셋)을 저장하는데 많이 사용됩니다.

. ESP – SP(Stack Pointer) 스택 내의 포인터를 설정하기 위한 레지스터.

. 플래그 레지스터 플래그란 컴퓨터에서의 연산결과에 대한 정보를 얻기 위해서 마련한 표시판입니다. 플래그 레지스터에는 처리 결과(상태)에 대한 16가지 정보를 표시하는 비트가 있습니다. 즉 플래그 레지스터는 2바이트의 레지스터로 각 비트는 해당 연산 결과에 대한 정보 또는 상태를 보여줍니다.

 

그리고 스택에 대해 알아볼까요?

스택(Stack) CPU내부의 레지스터 집합에 존재하는 저장장치입니다. 레지스터와는 다른 특징이 있습니다. 우선 데이터가 순차적으로 저장되며, 요소의 개수와 스택의 길이는 가변적입니다. 그리고 한번에 하나의 요소에만 액세스가 가능합니다. 결과적으로 데이터 접근 방법은 나중 입력 먼저 출력(LIFO)의 특징을 갖습니다.

 

PUSH & POP

스택의 동작에서 데이터가 입력되고 출력되는 부분을 스택의 TOP이라고 합니다.

PUSH : 스택의 TOP에 새로운 요소를 추가 저장하는 동작을 PUSH라고 합니다.

POP  : 스택의 TOP에서 하나의 요소를 꺼내는 동작을 POP이라고 합니다.

Posted by 예영교육연구소
IT/C_C++_Assembly2011. 12. 20. 14:59

이 글을 쓰는 이유는 어셈블러를 학습하기 전에 컴퓨터에 대한 기본적인 지식을 쌓기 위함입니다.

짧은 글로서 방대한 내용을 다 표현하기 보다 어셈블러를 학습하기 위한 기초적인 이해를 쌓는 것이 저의 가장 큰 목표입니다.

이 글에서 다룰 내용은 다음과 같습니다.

가.   컴퓨터 구조에 대해 이해합니다.

나.   CPU에 대해서 기본적인 이해를 합니다.

 


함께 그럼 가 보겠습니다.

컴퓨터는 무엇으로 구성되어 있을까요?



다음과 같이 하드웨어 + 소프트웨어로 구성되어 있습니다.

그럼 하드웨어의 소프트웨어는 이해는 가시지만 하드웨어에 대해서 간단하게 설명하고 넘어가겠습니다.

 

중앙처리장치(CPU) : 컴퓨터 시스템 전체를 제어하는 장치로서 입력장치에서 입력받은 데이터를 처리한 후 출력장치와 기억장치로 보내는 과정을 수행합니다.

기억장치 : 필요한 데이터를 저장하기 위해 기억장치를 이용합니다. 주기억장치로는 현재 RAM를 이용합니다. 보조기억장치로는 하드디스크, 플로피 디스크, CD-ROM등을 이용합니다.

입출력장치 : 컴퓨터에서 처리할 데이터를 외부에서 입력 받을 수 있게 해 줍니다.(입력장치), 컴퓨터 내부에서 처리된 데이터를 사용자가 보거나 할 수 있도록 출력매체를 이용해서 보냅니다. 마우스, 키보드, 스캐너, 모니터, 스피커 등이 여기에 해당됩니다.

 

자 그럼 여기까지는 문제없이 이해하셨죠.

 

자 그럼 이제 핵심이 되는 CPU에 대한 기초 지식을 쌓아보겠습니다.

CPU종류 : 속도를 더 높이기 위해 하나의 기판에 CPU 1(싱글), 듀얼(2), 쿼드(4)를 구현하고 있습니다. 최근에는 8개가지 하나의 기판 위에 구현하여 속도를 높이고 있습니다.(참고로 쿼드는 인텔과 AMD가 차이가 있습니다. 그리고 AMD에는 CPU 3,6,8개를 구현한 제품도 있습니다.)

쉽게 설명하면 일을 할 때 사람을 한 명을 둔 것을 2,3,…, 여러명으로 늘린 것으로 생각하면 되겠네요. 그만큼 속도는 빨리지겠죠.

 

컴퓨터 구조를 이해하기 쉽게 여러 권을 참고해서 그림을 그려보았습니다. 혹시 잘못된 부분이 있다면 과감한 지적을 부탁드리며 참고해 주세요.


CPU 내부에는 ALU(산술 논리연산장치), 제어장치, 레지스터로 구성됩니다. 그리고 CPU와 주기억장치(RAM), 기타 I/O장치는 Bus라 불리는 것에 의해 연결됩니다. 더 자세히 들어가면 좀 복잡해 질 듯 해서 여기까지 마무리짓겠습니다.

우리가 여기서 어셈블리어를 통해 다룰 부분은 CPU의 레지스터를 많이 다룰 것 같습니다. 이런 형식으로 컴퓨터가 되어 있다고 이해가 되면 다음 단계로 넘어가기가 수월해 지리라 믿습니다. 저는 처음에 어떻게 되는 건지 하나도 모르겠더라구요. 그래서 나름 학습하며 정리해 봅니다.

Posted by 예영교육연구소
IT/information2011. 12. 20. 13:48
온라인 진단 서비스를 이용하면 20~30가지의 유명 백신을 이용하여 바이러스 진단이 가능합니다.
최근에는 하나의 백신만으로 잡을 수 없는 바이러스가 등장하기 때문에 의심이 가는 파일은 아래의 온라인 사이트를 이용해서 체크해 보는 것도 좋은 방법 중의 하나일 것입니다.

온라인 바이러스 진단 사이트는 다음과 같습니다.
VirSCAN.org(http://www.virscan.org)

Virustotal(http://www.virustotal.com)
Jotti's malware scan(http://virusscan.jotti.org) 


간단한 사용방법(VirScan.org 기준,36개의 백신이 있네요.)
가. [파일선택] 버튼을 클릭합니다. 의심이 가는 파일을 선택한 후 [열기]버튼 클릭합니다.
나. 옆에 있는 [업로드] 합니다.
다. 업로드가 끝나면 파일을 체크합니다.
라. 바이러스 발견되면 빨간색으로 기록이 뜹니다.

 

[그림] 초기화면

[그림] 바이러스 체크후 결과

Posted by 예영교육연구소
IT/C_C++_Assembly2011. 12. 19. 17:20
용어 간단 정리
BUS(버스)?
자료나 주소, 제어신호를 송수신하기 위한 병렬 전선
  DATA BUS : 자료나 프로그램을 송수신하는 버스
  Adderss Bus : 주소만을 송수신 하는 버스

Intel 80X86의 개요
Intel 8086 16비트의 프로세스. Intel 계열의 어셈블리어 8086부터 시작
Intel 8088
> 8086의 변형으로 등장. 외부적으로 8비트를 액세스
> IBM사는 8088에 기초하여 첫 세대 개인용 컴퓨터를 제작.

Intel 80286
16비트 프로세스지만 8086보다 빠르고 매우 중요한 기능을 상당수 보완.
중요 기능들
 (1) 동작 모드 : 실제주소모드 하에서 80286은 8086과 동일하게 동작하며, 8086의 프로그램도 수정하지 않은 채 실행될 수 있다. 보호가상주소모드는 보호모드라고도 불린다. 보호모드 하에서 80286은 다중작업(Multitasking)과 메모리보호(memory protection)기능을 지원

 (2) 확장된 메모리 주소 공간
  8086/8088에서는 1메가 바이트 한도의 메모리 공간 지원하지만, 80286은 보호모드 하에서 16메가바이트(22바이트)의 메모리 공간을 지원한다. 

 (3) 가상메모리(Virtual memory)
 가상 메모리란 실제의 RAM 또는 ROM 메모리공간을 초월하여 외부보조기억 장치의 공간까지 확대하여 실제의 메모리 공간처럼 이용할 수 있도록 한 기법

 (4) 80286은 8086/8088과 동일한 주소지정방식을 사용함. 기본적 명령군을 포함하기 때문에  8086/8088의 소프트웨어 그대로 수용

 동적 메모리 기능과 기가바이트의 가상주소공간을 이용하여 다수 사용자 시스템, 재 프로그램 기능, 실시간 처리, 실시간 다중처리 기법의 응용프로그램에 적용될 수 있다.

Intel 80386
32비트 마이크로 프로세서. 80286보다 훨씬 빠르다. 32비트의 내부 버스에 의해 프로그램이나 자료가 단위 시간당 더 많이 이동 가능하며, 클럭 사이클 33MHz로서 80286의 명령 처리 속도보다도 빠르다.

보호 모드하에서 80386은 4기가 바이트 실제 메모리 주소 이용. 보호모드 하에서 또한 가상메모리 기능을 발휘 이 경우에는 64테라바이트의 가상 메모리 주소공간을 이용 가능.

Intel 80486
1989년에 발표. 32비트 마이크로프로세서. 80486은 80386기능과 실수 연산 보조 프로세서인 80387등의 기능을 총집합 시킨 것이다. 80486은 8킬로바이트의 캐시메모리를 포함하고 있어서 더 빠른 자료조작을 할 수 있다.캐시 메모리란 메모리보다 더 빠르지만 레지스터는 아니다.

 
Posted by 예영교육연구소
IT/Wireless Security2011. 12. 19. 14:35

이번 글에서는 IEEE 802.11에 대한 기본 접속 절차에 대해 알아보도록 하겠습니다. 

먼저 기본적인 용어에 대한 학습을 한 이후에 넘어가면 더 쉽게 이해가 될 것 같습니다.

Beacon이란?
Beacon : 특정한 주파수를 가지고 일정 주기로 전송되는 비 지향성 단속형 신호,
Beacon Frame : 자신의 존재를 알리고, 찾기 쉽도록 하고, 상호 교신에 참여할 수 있게 하는 등 다용도로 사용되는 일정 주기를 갖는 무선 전송 프레임 신호

무선 LAN802.11에서의 Beacon프레임
802.11에서 비콘 프레임은, 802.11관리 프레임 중 하나로써, 무선 네트워크의 존재를 알리고, 이동 노드로 하여금 무선 네트으워크를 찾아서(802.11 Scanning), 무선 네트워크에 참여 할 수 있도록 주기적으로 전송하는 프레임이다.

무선 LAN 802.11의 비콘 프레임 구조


이제 본격적으로 살펴보겠습니다. 참고로 이번 부분은 학술 논문을 참고합니다.
그림은 제가 직접 조금 알아보기 쉽게 그렸습니다. 알아보기 쉬워야 할텐데요. ^^아 혹시 가지고 가신다면 출처를.. ^^


1,2,3단계 (Beacon, Probe Request/Response)
Station이 AP에 접속하기 위해 해당 AP가 사용하는 채널을 탐색과정을 수행합니다.

탐색 : Beacon이나 Probe메세지를 사용하여 주변의 AP를 찾습니다. AP가 주기적으로 송신하는 Beacon Frame으로부터 해당 AP를 찾는 과정을 수동탐색과정이라고 하는 반면에, 단말이 각 채널별로 Probe요청 프레임을 사용하여 AP를 탐색하는 것을 능동 탐색이라 합니다.
JOIN : 탐색된 AP중에서 적당한 것을 내부적으로 선택합니다. 선택한 AP로부터의 Beacon메세지를 수신하여 이 AP가 지원하고 있는 동작값(속도, 변조방법, 암호방법 등)들을 추출 합니다.

4,5 단계
(Authentication Request/Response)
채널 탐색 과정에서 수신된 메세지들 중 수신 강도가 가장 센 채널을 선택하여 인증하는 과정을 수행합니다.

인증 : AP와 인증 절차의 암호 방식을 협상하는 과정.
6,7 단계  (Association Request/Response)
해당 AP에 대한 연결 설정 과정을 수행하는 과정을 수행합니다.
결합 : 해당 AP와의 연결 절차 수행과 다른 AP로의 이동시 재결합 과정을 수행합니다. 여기에서 결합은 AP와 단말간의 식별 가능한 연결을 설정합니다. 결합이 완료된 단말만이 AP를 경유하여 다른 단말과의 통신에 참여할 수 있습니다.

기타 설명
이 과정에서 Probe Response나 Beacon프레임의 항목정보, 예를 들면 Capability, SSID(Service Set Identifier), Supported Rate등을 이용하여 현재 AP에 연결되어 있는 Station수와 처리중인 트래픽 양을 알아냅니다.
Station에서는 이를 토대로 연결 가능한 여러개의 AP들에 대한 BSS(Basic Service Set) Description테이블을 생성한 이후, 수신 감도 및 AP에 연결된 Station수와 처리 중인 트래픽 등을 종합적으로 검토하여 효율면에서 가장 유리한 AP를 선택하여 Association 과정을 수행합니다.
이 연결이 가능하려면 먼저 인증 절차의 수행이 필요합니다. 이에 대한 인증 절차가 성공하면 마지막으로 Station는 해당 AP에게 자신이 AP의 한 멤버로 참여하고자 하는 의미의 Association과정을 수행합니다.

< Reference >
정보통신기술용어해설
 
http://www.ktword.co.kr/abbr_view.php?nav=&m_temp1=2319&mgid=148
'무선랜(IEEE 802.11)에서 접속 시간 단축을 위한 사용자 인증 및 데이터 암호 기법에 관한 연구'(홍경식)
'Wireless LAN 환경 보안 강화를 위한 연구'(2011 전해성)
 
 


 
Posted by 예영교육연구소