Certificate Authority (인증기관)

Certificate Authority (인증기관) 1.인증기관(CA)의 필요성 공용키 암호화가 어떻게 동작하는지 앞에서 설명했다. 앨리스가 보내는 데이터를 암호화하기 위해서는 먼저 밥의 공용키를 얻어야 한다고 했는데, 이때 앨리스는 밥으로부터 공용키를 얻고 나서 한가지 의문이 생긴다. 자신이 받은 공용키가 “진짜 밥의 공용키일까? 밥을 가장한 이브의 공용키는 아닐까?” 하는 의문이 들 것이다. 실제 환경에 적용시켜 보자. 여기서 밥은 웹서버에 해당하고, 앨리스는 […]

Certificate Authority (인증기관) 더 읽기"

Public Key Infrastructure

Public Key Infrastructure (1) Public Key Infrastructure ? 보통 줄여서 PKI라고 부르는 Public Key 구조는 앞에서 설명한 대칭키 기법과는 다른 알고리즘을 가지고 있다. 물론 암호화를 하겠다는 기본적인 생각은 차이가 없다. 대칭키를 사용하는데 있어서의 문제점으로 2가지를 거론했는데 Public Key는 이것을 해결해 주고 있다. Public Key를 다른 용어로 표현한다면 비대칭키, 페어키(Pair Key)라는 용어를 들 수 있다. 용어에서

Public Key Infrastructure 더 읽기"

Symmetric Key (대칭키)

Symmetric Key (대칭키) 오래된 암호화 방법이다. 대칭키 알고리즘을 흔히 비밀키 알고리즘이라고도 부른다. A와 B만이 아는 비밀키를 이용해서 암호화 통신을 한다는데서 기인한다. 여기에서 핵심은 대칭키라는데 있다. 키가 대칭을 이룬다? 이것은 암호화키와 복호화키가 동일하다(대칭이다)라는 데서 정답을 얻을 수 있다. 위의 그림에서 보듯이 대칭키 알고리즘에서는 암호화를 할 때 사용하는 키와 복호화를 할 때 사용하는 키가 동일해야 한다. Alice가

Symmetric Key (대칭키) 더 읽기"

암호화의 역할

Public Key Infrastructure (PKI)   요즘 IT관련지를 들여다 보면 빠지지 않고 등장하는 것이 VPN, 무선네트워크, PKI 등의 용어일 것이다. 하지만 대부분의 독자들은 그러한 용어들에 대해서는 약간의 거부감을 가지고 있을 것이다. 불과 몇 년전까지만 하더라도 신경도 쓰지 않았을 뿐더러 관련업체들도 상당수는 불과 2~3년 정도의 신생기업인 경우가 많다. 그만큼 국내에서는 짧은 시간을 두고 급속도로 시장이 활성화되고 있는

암호화의 역할 더 읽기"

[HTML] div 용법 정리

출처 : http://binnamoo.com/626   공간지정태그에는 DIV, SPAN, FIELDSET 3가지 종류가 있다. 비슷한 태그로서는 TABLE 태그가 있다.하지만 TABLE은 하나의 공간을 표현하기 위해 TR, TD로 나누어 표현하지만, DIV, SPAN, FIELDSET은 바로 보여지고 표현되는 것이 특징이다. DIV, SPAN, FIELDSET 태그 모두 특별한 속성은 없으며, style속성에 따라 형태가 달라진다. ▶ DIV, SPAN, FIELDSET 공통점  – 특별한 태그 속성이 없음 

[HTML] div 용법 정리 더 읽기"

UNIX Socket FAQ

일반 정보와 개념 이 FAQ에 대하여 누구를 위한 FAQ 인가? 소켓은 무엇인가? 소켓은 어떻게 작동하는가? 책에 있는 소스코드를 구할 수 있는데가 있는가? 또 다른 정보들은 어디에서 구할 수 있는가? 클라이언트와 서버 양쪽에 관한 질문 (TCP/SOCK_STREAM) 언제 상대방쪽 소켓이 끊겼는지 알 수 있는 방법이 있는가? bind()의 두 번째 파라메터는 무엇인가? 주어진 서비스의 port번호를 얻는 방법은? bind()

UNIX Socket FAQ 더 읽기"

네트워크 바이트 순서

네트워크 스택과 통신 프로토콜 역시 엔디안 방식을 정의해야 한다. 두 노드가 엔디안 방식이 다르면 서로 통신하지 못하기 때문이다. 그래서 임베디드 프로그래머는 특히 엔디안 방식에 신경 써야 한다. TCP/IP(Transmission Control Protocol and the Internet Protocol) 내 모든 프로토콜 계층은 빅 엔디안 방식을 따른다. 즉 (IP 주소, 패킷 길이, 체크섬 등) 계층 헤더에 들어 있는 16비트 값이나

네트워크 바이트 순서 더 읽기"

PE 파일포맷

개요  윈도우 시스템 프로그래밍한다는 사람치고 PE 파일에 대해서 모르는 사람은 아마 거의 없을 것이다. 윈도우 실행 파일 및 DLL, 그리고 드라이버 파일까지도 PE 파일 형태를 따르고 있으니 뭘 해도 따라다니는게 이 PE(Portable Executable) 파일 포맷이니까 말이다. PE 파일 포맷은 크게 헤더, 섹션, 데이터의 세부분으로 나뉘는데 기존 DOS 시절 사용하던 COFF(Common Object File Format)과 거의 비슷한

PE 파일포맷 더 읽기"

MFC 모든 헤더와 라이브러리 설명

다음글은 하이텔  MFC소모임의 시삽이신 권정혁님의 글을 정혁님의 허락하에다음과 같이 기재합니다. 허락해주신 정혁님께 감사드립니다.****************************************************************************이 글은 Mike Blaszczak 의 책 “Professional MFC” 의 Appendix D 에 들어있는내용을 번역한 글입니다. 제 허락없이는 다른 어떤게시판에도 옮기실수 없습니다. 물론 글의 원 소유자는 Mike 입니다.                                          

MFC 모든 헤더와 라이브러리 설명 더 읽기"

__cdecl,__stdcall__fastcall 호출규약

__cdecl C언어 표준 호출 규약이다. 파라미터는 오른쪽에서 왼쪽으로 스택을 통해 전달되며, 호출한 곳에서 스택을 정리한다. 특징적인건 호출한 쪽에서 스택을 정리하기 때문에 가변 인자를 지원한다는 것이다.  extern “C” int __cdecl CdeclFunc(int a, int b, int c)   {       printf(“%d %d %d\n”, a, b, c);   }  위 함수를 호출하기 위한 어셈블리 코드는 아래와 같다. add 명령어를 통해서 호출 한

__cdecl,__stdcall__fastcall 호출규약 더 읽기"

OpenSSL API를 이용한 보안 프로그래밍

보안 통신용 오픈 라이브러리인 OpenSSL용 API를 사용하는 방법을 배운다는 것은 힘든 일입니다. 문서화가 아직 덜 되어있기 때문입니다. 이 글을 통해서 이를 극복해 봅시다. 기본 연결을 설정한 후에, OpenSSL의 BIO 라이브러리를 사용하여 보안/비보안 연결을 구축하는 방법을 배워봅시다. 에러 탐지에 대한 부분도 설명합니다. OpenSSL API와 관련한 문서는 약간 모호하다. OpenSSL의 사용법에 대한 튜토리얼도 많지 않으므로, 애플리케이션에서 이를

OpenSSL API를 이용한 보안 프로그래밍 더 읽기"

[VC] #pragma

VC++에서 #pragma 사용법 설명.. MSDN에 최적화 관련 #pragma 용법은 아래와 같다. http://msdn.microsoft.com/ko-kr/library/h7k3a0bw.aspx   #pragma auto_inline #pragma check_stack #pragma function #pragma inline_depth #pragma inline_recursion #pragma intrinsic #pragma optimize   이중에서 일단, #pragma function #pragma intrinsic #pragma optimize 에 대해서 정리하고 다음것은 나중에 정리하자.   1. #pragma function <사용법> #pragma function( function1 [, function2, …] ) intrinsic

[VC] #pragma 더 읽기"

[VC] #pragma pack

메모리 패킹1.요약 #pragma pack을 이용하여 메모리를 특정 align으로 packing할 수 있다. 2.본문 데브피아에 다음과 같은 팁이 올라왔다. —————————————————————– 구조체 / 공용체 도는 클래스를 바이트 스트림으로 변화시켜야한다면 메모리를 패킹하자. – 사용하는 구조체 또는 공용체 / 클래스를 바이트 스트림으로 변화시켜야한다면, 메모리를 1 바이트 정열을 시켜야 정확한 바이트 단위 크기를 갔습니다. 주로 통신 프로그램을 만드는 경우에 해당하겠군요 예

[VC] #pragma pack 더 읽기"

[VC] #pragma warning

#pragma warning( warning-specifier : warning-number-list [; warning-specifier : warning-number-list…] )#pragma warning( push[ ,n ] )#pragma warning( pop )컴파일러 경고 메시지 관련 동작에 대한 선택적 수정을 허용해준다.경고-지시어(warning-specifier)는 다음의 것들 가운데 하나일 수 있다. 경고-지시어의 의미once지정한 메시지(들)을 오직 한 번만 표시한다. default경고 동작을 그것의 디폴트값으로 재설정(reset)한다. 이것은 디폴트로 꺼져 있는 경고를 켜는 효과도 가지고 있다. 이제 그

[VC] #pragma warning 더 읽기"

CVS 이야기

CVS 이야기 장우현 louis (at) mizi.co.kr 박용주     $Date: 2001/08/21 13:01:41 $ 여 러명이 어떤 공동의 작업을 수행할 때 유용하게 쓸 수 있는 CVS에 관한 이야기를 하고 있습니다. 이 글에서는 아직 CVS 관리에 관한 얘기는 없으며, 순수하게 사용하는 방법만 설명하고 있습니다. 글에 대한 문의사항이 있으면 언제라도 저에게 메일주시기 바랍니다. (참고로 앞으로는 어떻게 될지 모르겠지만,

CVS 이야기 더 읽기"

UML의 기초: 클래스 다이어그램

Donald Bell, IT Specialist, IBM  2007 년 5 월 22 일 The Rational Edge 발췌: UML 2의 새로운 구조 다이어그램 유형 중 가장 중요한 클래스 다이어그램은 소프트웨어 개발 사이클 동안 분석가, 비즈니스 모델러, 개발자, 테스터에 의해 사용됩니다. 이 글은 Unified Modeling Language(UML)에서 사용되었던 필수 다이어그램에 관한 기술자료 시리즈입니다. 시퀀스 다이어그램에 대해 설명했던 이전 기술자료에서는, UML

UML의 기초: 클래스 다이어그램 더 읽기"

[UML]시퀀스 다이어그램

  본 기사에서는 UML 시퀀스 다이어그램에 대한 자세한 소개와 UML 2.0 스펙에 포함된 몇가지 새로운 표기법을 소개한다. 그동안 여러분들이 들어왔던 UML의 새로운 스팩인 UML 2.0의 변경 사항들을 설명할 때가 되었다. 이 새로운 스팩은 중요하기 때문에, OMG의 UML 1.4 스팩에서 UML (UML 2)의 Adopted 2.0 Draft Specification으로 관심의 초점도 옮겨야 할 것이다. UML 2.0 Draft Specification은

[UML]시퀀스 다이어그램 더 읽기"

NSIS-Labels and Relative Jumps

1. Label Label의 경우 조건문에 의해서 실행되는 흐름을 바꿀때 Label이 붙어 있는 곳으로 보낼 수 있다. 주로 IfErrors, IfFileExists, StrCmp 등의 명령어를 사용할때 많이 사용한다. Label의 경우 지역적으로만 인식되므로 같은 function이나 section 내부에서만 사용할 수 있다. 또한 Label은 -, +, !, $ 또는 0-9 로 시작할 수는 없다. Label 을 사용하는 것은 다음과 같이 한다.

NSIS-Labels and Relative Jumps 더 읽기"

NSIS-Variables

1. 변수란? NSIS에서 변수는 항상 전역적인 범위를 가진다. 즉 지역 변수라는게 없다는 얘기다. 그리고 변수명의 길이는 최대 1024 로 제한된다. 이 보다 큰 길이의 변수명이 필요하면 NSIS 소스를 새로 빌드하면 된다. 하지만 일반인이 이 보다 긴 길이의 이름을 쓴다는 것은 의미가 없다. 10자 이상만 길어져도 타이핑 하기가 귀찮은데 말이다… ㅋㅋㅋ 사용자가 변수를 선언할때는 Var 이라는

NSIS-Variables 더 읽기"

NSIS-Sections

지금까지 이용했던 예제를 보면 전부 Section 이라는 항목이 있었을 것이다. function이나 page 처럼 이것도 마찬가지로 SectionEnd로 끝이 나는데, NSIS로 스크립트를 만들게 되면 무조건 한 개 이상의 section이 있어야 한다. 각 section은 명령어를 하나도 포함하지 않아도 되며, 스크립트에 있는 순서데로 실제로 실행이 된다. 그리고 ComponentText가 셋팅되어 있으면, 사용자가 각각의 section을 보여줄 것인지의 여부를 결정할 수 있다.

NSIS-Sections 더 읽기"

위로 스크롤