본문 바로가기
반응형

📄Document20

[IT 지식] S/MIME란? S/MIME 개요 전자 우편 보안 SMTP(Simple Mail Transfer Protocol) E-mail 전송 Plaintext Form(Only ASCII text data) binary file은 전송하지 못함 암호화된 메시지 전송 인터넷 전자 메일의 구성 헤더: 메시지 전송과 관련된 주요 정보 본문: 메시지 내용 MIME(Multipurpose Internet Mail Extension) 본문 구성에 대한 정의 텍스트 및 음성, 영상, 문서, 첨부파일 등 메일의 형태로 구성하는 방법에 대한 정의 MIME 객체 S/MIME 기본 구조 및 동작 MIME 헤더 필드 헤더필드 설명 MIME-버전(MIME-version) 메시지가 RFC2045와 2046을 준수(파라미터 값 1.0) 내용-타입(Cont.. 2022. 11. 27.
[IT 지식] FTP(File Transfer Protocol)란? (파일 전송 프로토콜의 역사, FTP의 구조에 대한 이해, 데이터 전송용 연결(능동 모드, 수동 모드), FTP의 특징) FTP란? FTP(File Transfer Protocol) 컴퓨터 프로그램이나 데이터의 공유 원격으로 컴퓨터를 사용할 수 있도록 함 다수의 사용자들 간의 파일 공유를 원할하게 함 안정적이고 효과적으로 데이터를 전송 파일 전송 프로토콜의 역사 TCP/IP 이전 NCP 기반에서 구현 (RFC 114) 1980년 TCP/IP 기반 버전 정의 (RFC 765) 1985년 현재의 FTP로 대체됨 (RFC 959) 1994년 방화벽 친화 FTP 수동 모드 활성화 (RFC 1579) 1997년 보안 모드 확장 제한 (RFC 222) 1998년 IPv6지원 추가, 새로운 수동 모드 추가 FTP의 보안 보안 프로토콜로 계획되지 않았음 1999년 RFC 2577에서 취약점 나열 무차별 대입 공격 패킷 가로채기 포트 훔치.. 2022. 11. 25.
[IT 지식] TLS(TLS개요, TLS 주요기능, TLS의 진화과정) TLS TLS 개요 SSL(Secure Socket Layer) 배경: 1993년 웹서버와 브라우저간의 안전한 통신을 위해 Netscape사에 의해 개발됨 특징: 세션 계층에서 적용되며, 응용 계층의 FTP, Telnet, Http 등의 프로토콜의 안전성 보장 지원 프로토콜 HTTP(HTTPS:443), TELNET(TELNET:992), POP3(POPS:995), FTP, NNTP, etc 주요 기능: 서버 인증, 클라이언트 인증, 기밀성 보장 TLS(Transport Layer Security)의 배경 및 특징 배경: SSL 3.0이 표준화된 이후 IETF는 1996년 6월부터 TLS 프로토콜에 대한 표준화(SSL v3.1) 특징: SSL 3.0을 기반으로 한 업그레이드 프로토콜 TLS 주요기능 신.. 2022. 11. 9.
[IT 지식] ICMP(Internet Control Message Protocol)란? (WireShark, ICMP 용도) ICMP(Internet Control Message Protocol) ICMP란? 인터넷 프로토콜 스위트에 기록된 주요 프로토콜 가운데 하나이다. 네트워크 컴퓨터 위에서 돌아가는 운영체제에서 오류 메시지를 전송받는 데 주로 쓰이며 인터넷 프로토콜의 주요 구성원 중 하나로 프로토콜에 의존하여 작업을 수행한다. 프로토콜 번호 1로 할당되고 시스템 사이에 데이터를 교환하지 않거나 최종 사용자에 적용되지 않는다는 점에서 TCP와 UDP와는 다르다. ICMP 용도 IP(Internet Protocol) 동작에 추가적 기능 제공 진단과 제어 오류에 대한 응답 오류에 대한 정보는 소스 IP 주소로 전송 0 ~ 3 3 ~ 7 7 ~ 15 15 ~ 31 Version Number Header Length Service.. 2022. 11. 7.
[IT 지식] 소스코드의 취약점(Black Box Testin, White Box Testing, Gray Box Testing) 소스코드의 취약점 Black Box Testing 방식 소스코드를 보지 않고 웹 애플리케이션의 외부 인터페이스나 구조를 분석하여 취약점을 발견 White Box Testing에 비해 취약점을 찾는 속도가 빠르며 다양한 취약점 찾기 시도 가능 인터페이스 간의 상관관계를 분석하여 취약점이 발생하는 부분 식별 가능(내부가 보이지 않음) 블랙박스 검사는 소프트웨어 검사 방법 줌 하나로 어떤 소프트웨어를 내부 구조나 작동 원리를 모르는 상태에서 소프트웨어의 동작을 검사하는 방법을 이르는 말임 주로 올바를 입력과 올바르지 않은 입력을 일일이 다 동원하여 올바른 출력을 판별하는 방식으로 검사가 이루어지기 때문에 검사의 진행에 있어 대상이 되는 소프트웨어의 코드나 내부 구조 및 개발 노하우에 대한 정보는 기본적으로 필.. 2022. 11. 2.
[IT 지식] SSL(SSL 개요, SSL 기능, SSL 기본 구조, SSL 세부 구조, Handshake Protocol, Change Cipher Spec. Protocol, Alert Protocol, Record Protocol) SSL SSL 개요 SSL 배경 1993년 웹 서버와 브라우저간의 안정한 통신을 위해 Netscape 사에 의해 개발 특징 세션계층에서 적용되며, 응용계층의 FTP, TELNET, HTTP등의 프로토콜의 안전성 보장 서버 인증, 클라이언트 인증, 기밀성 보장 현황 및 전망 현재 많은 전자 쇼핑 몰 업체에서 채택, 운영 TSL 배경 SSL 3.0이 표준화된 이후 IETF는 1996년 6월부터 TLS 프로토콜에 대한 표준화 (SSLv3.1) Backward compatible with SSLv3 특징 SSL 3.0을 기반으로 한 업그레이드 프로토콜 현황 및 전망 현재 TLS 1.0이 발표, 지속적 개발 예상 SSL 기능 서버 인증 기능 사용자는 서버의 신원을 확인 서버의 certificate와 public .. 2022. 11. 2.
[IT 지식]공개키 인증서(공개키 인증서, 공개키 인증서의 구조, 인증서 취소 목록, CRL의 확장자 영역, 기본 확장자, 개체 확장자) 공개키 인증서 공개키 인증서의 중요성 사용자 식별(인증) 제공 공개키 암호를 이용하는 전자서명 본인 인증 송신자는 자신만이 가지고 있는 개인키와 인증기관에서 인증 받은 공개키, 즉 인증서를 통해 본인임을 입증 무결성 보장 원문의 해쉬값과 전자서명값을 복호화한 해쉬값을 비교함으로서 위,변조 여부를 판단 부인 봉쇄 송신자는 자신만이 가지고 있는 개인키를 이용하여 전자서명을 하였으므로 문서를 전송하지 않았다고 부인 불가 공개키 인증서(Certificate) 사용자의 공개키와 사용자의 ID정보를 결합하여 인증기관이 서명한 문서, 공개키의 인증서를 제공 사용자 확인, 특정한 권한, 능력을 허가하는데 이용, 개인의 신분증 역할 인증기관(CA)은 자신의 개인키를 사용하여 전자서명을 생성하여 인증서에 첨부, CA의 공.. 2022. 11. 2.
[IT 지식] 암호 알고리즘(암호학, 암호의 3대 기능, 대칭키, 공개키, 해쉬함수, 디지털 서명, 전자 서명, DES, RSA, SEED) 암호학 암호학이란 정보를 보호하기 위해 사용할 수 있는 모든 수학적인 원리, 수단, 방법 등의 기반기술을 말함 암호를 사용하지 않고 궁극적인 정보보호를 성취하는 것은 불가능 암호의 3대 기능 기밀성 암호화 송신자가 데이터의 정보를 보내려고 하는 수신자 이외의 어느 누구도 그 데이터의 정보를 알지 못한다는 것을 보장 무결성 메시지 다이제스트(해쉬) 데이터의 정보가 변경되지 않는 것을 보장 가용성 인증, 접근제어, 보안관리 송신자가 지정한 수신자 외 에 지정되지 않는 수신자는 데이터의 정보에 대한 접근하지 못하게(읽기/쓰기/변경하지 못하게) 하는 것을 보장 암호 프로토콜의 기본 구성/동작 암호프로토콜의 기본 구성 암호화 키와 복호화 키 그리고 데이터 통신을 위한 환경으로 구성 데이터 통신은 프로토콜(통신규약.. 2022. 10. 24.
[IT 지식] 네트워크 OSI7 Layer의 각 계층별 기능과 Layer별 Switch OSI 7 Layer의 각 계층별 기능 물리계층(Physical Layer) - Layer 1 하드웨어적 전송 규약(물리적 신호) 데이터의 오류 확인 등은 상위 계층에서 진행 기능적 정의는 단순하지만, 정교한 설계가 필요 데이터 링크 계층(Data Link Layer) - Layer 2 point to point간의 신뢰성 있는 전송 보장 MAC Address를 통해 통신 주체간의 결정 전기적 신호에 발생할 수 있는 오류 처리(수정 혹은 재전송 요구 등) 데이터의 흐름 제어 데이터 단위를 Frame 네트워크 계층(Network Layer) - Layer 3 라우팅 기능: 데이터를 목적지까지 빠르고 안정적으로 전송하는 기능(최적 경로) 이 계층에서는 IP 주소를 사용하게 됨(TCP/IP) 데이터 단위는 P.. 2022. 10. 8.
[IT 지식] 물리 서버와 논리 서버의 차이 물리서버란? 물리서버란 논리적인 서버들이 동작할 수 있는 장소를 제공할 수 있는 것으로 하드웨어를 예로 들을 수 있습니다. 논리서버란? 논리서버란 물리적인서버가 제공할 수 있는 장소 위에서 특정 역할을 위하여 동작되어질 수 있는 서버를 말합니다. 물리 서버와 논리 서버의 차이 물리서버와 논리서버는 꼭 1:1관계는 아니며 하나의 물리서버 위에 여러개의 논리서버를 동작시킬 수 있습니다. 분할형 아키텍처에서 이용되는 컴퓨터를 '서버'라고 합니다. 서버라는 용어는 컴퓨터 자체(하드웨어)를 가리키는 경우도 있고, 컴퓨터에서 동작하고 있는 소프트웨어를 가리키는 경우도 있습니다. 서버라는 용어는 원래 '특정 역할에 특화된 것'을 의미합니다. 레스토랑의 웨이터를 서버라고 부르는 경우도 있습니다. 웨이터의 역할은 주문.. 2021. 12. 28.
[IT 지식] IT 인프라의 집약형과 분할형 아키텍처 IT 인프라의 집약형 아키텍처와 분할형 아키텍처 집약형 아키텍처 IT 인프라는 컴퓨터로 구성됩니다. 기본적인 구성 방식에는 '집약형'과 '분할형'이 있습니다. IT 시스템의 여명기에는 대형 컴퓨터를 이용해서 모든 업무를 처리하는 형태가 대부분이었습니다. 이런 대형 컴퓨터는 '범용 장비', '호스트', '메인 프레임'등 으로 불리었습니다. 시스템 아키텍처라는 관점에서는 하나의 컴퓨터로 모든 것을 처리를 하기 때문에 '집약형'이라고 할 수 있습니다. 집약형의 최대 장점은 구성이 간단하다는 것입니다. 집약형 아키텍처에서는 해당 기업의 주요 업무를 모두 한 대로 처리하기 때문에 장비 고장 등으로 업무가 멈출것을 대비하여 컴퓨터를 구성하는 주요 부품은 모두 다중화하여 하나가 고장 나더라도 업무를 계속할 수 있도록.. 2021. 12. 23.
[Linux] 리다이렉션, 파이프, 정규표현식(정규식) Cent OS 7 / Linux kernel / bash 리다이렉션(redirection) 표준 입력과 표준 출력의 방향을 재지정하는 것 표준 입력/출력/에러가 화면이 아닌 파일로 대체. 즉, 모니터로 출력(에러)될 것을 파일로 재지정 표준 입력 장치는 키보드, 표준 출력 장치와 표준 에러 장치는 모니터 연산자 설명 > 명령을 화면에 출력하는 것이 아니라 프린터나 파일에 출력하도록 전송 파일이 존재하지 않으면 새로운 파일을 만들고 같은 파일이 존재하면 덮어씀 >> 파일이 있는 경우 지정된 파일에 결과를 추가 파일이 존재하지 않으면 지정된 이름으로 파일 생성 & 명령의 출력을 다른 명령의 입력으로 보냄 2021. 12. 21.
[Linux] 리눅스 기본/기본명령어 모음 Cent OS 7 / Linux kernel / bash 환경변수 PATH echo $PATH -------------------- PATH는 실행 파일들의 디렉터리 위치를 저장해 놓은 환경 변수이다. 명령어 입력자의 현재 작업 디렉터리와 상관없이 특정 명령어를 입력하면 PATH 변수에 저장되어 있는 경로에서 해당 명령어를 찾아 실행한다. 명령어 echo $PATH는 지정된 PATH 값을 확인할 수 있다. 명령어 printenv printenv [옵션] 명령어 -0 or --null : 개행하지않고 출력, 아무값도 없다면 개행해서 출력 -명령어 : 명령어(키값)에 해당하는 값만 출력 -------------------- 환경의 전체 또는 일부를 출력하는 명령어이다. 명령어 which which 명령어 -.. 2021. 11. 22.
[Linux] LINUX 디렉터리 종류와 특징 LINUX 디렉터리 종류와 특징 디렉터리란 파일 저장소를 의미하며, 리눅스 디렉터리는 최상위 디렉터리(/)를 기준으로 하위 디렉터리들이 존재하는 계층적 트리 구조로 구성되어 있다. 디렉터리별 내용 / : 루트 디렉터리 파일 시스템이 있는 최상위 디렉터리로 루트 디렉터리라고도 함 모든 디렉터리의 출발점인 동시에 다름 시스템과의 연결점이 되는 디렉터리 /boot : 정적 부트 파일 부트 디렉터리로 부팅 시 커널 이미지와 부팅 파일 저장 /proc : 커널 및 프로세스 파일(process) 시스템 정보 디렉터리이며 커널 기능을 제어하는 역할 현재 실행되는 프로세스와 실제 사용되는 장치, 하드웨어 정보 저장 가상 파일 시스템 시스템에서 운영되고 있는 다양한 프로세스들에 관한 내용과 프로그램에 대한 정보를 포함 .. 2021. 11. 20.
[Linux] 리눅스, 유닉스, GNU, 리눅스배포판이란? 리눅스란? 유닉스란? 유닉스 계열이란? GNU란? 리눅스 배포판이란? 정리 리눅스이란? 리눅스는 운영체제 커널인 리눅스 커널에 기반을 둔 오픈소스 유닉스 계열 운영체제이다. 리눅스는 일반적으로 리눅스 배포판 안에 패키지 처리된다. 소스코드 운영체제이다. 소스코드 및 모든 관련 자료가 공개되어 있는 운영체제이다. 멀티유저(다중 사용자), 멀티태스킹(다중 작업) 운영체제이다. 멀티유저 기능은 여러 사용자가 동시에 동일한 시스템에 접근이 가능한 것을 의미한다. 멀티태스킹은 여러 개의 태스크를 동시에 실행하고, 교대로 컴퓨터의 자원을 사용할 수 있는 기능이다. 가상 터미널 환경으로 하나의 모니터에 여러 개의 가상 화면(가상 콘솔)을 두어 화면마다 다른 작업을 실행할 수 있다. 다중 스레드를 지원하는 네트워크 운.. 2021. 11. 20.
[기초] Git이란? Git이란? Git은 컴퓨터 파일의 변경사항을 추적하고 여려 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템입니다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있습니다. 기하학적 불변 이론을 바탕으로 설계됐고, 분산 버전 관리 시스템으로서 빠른 수행 속도에 중점을 두고 있는 것이 특징이며 데이터 무결성, 분산, 비선형 워크플로를 지원합니다. Git은 현재 가장 널리 쓰이는 분산형 버전 컨트롤 프로그램(Distributed Version Control System, DVCS)중 하나이다. 저장소에서 프로젝트를 꺼내오면 내 컴퓨터에 저장소가 만들어지고 모든 변경 이력이 저장된다. 그리고 여러 곳의 원.. 2021. 1. 21.
트랜잭션(Transaction)이란? 트랜잭션 (Transaction)이란 데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위를 뜻한다. 데이터이스의 상태를 변화시킨다는것은 SIDU(CRUD)를 이용하여 데이터베이스에 접근하는것을 말한다. 여기서 하나 알고가야하는 것은 SIDU 명령문을 하나만 실행했다고 하여 트랜잭션을 수행했다고 말하기는 좀 그렇다는 것이다. 게시글을 올리고 (INSERT) 올린게시글이 목록에 추가된것을 보여주는(SELECT)것은 isert문과 select가 합쳐진 작업단위이기 때문에 위 작업단위를 하나의 트랜잭션이라고 말한다. 관리자나 개발자가 하나의 트랜잭션 설계를 잘하는 것이 데이터를 다루는 것에 많은 이점이 있다. 트랜잭션의 특징은 크게 4가지 로 구분된다. Atomicity(원자성) 1. 트랜잭션의 연산은.. 2020. 6. 8.
OAuth란? OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다.[1] 이 매커니즘은 여러 기업들에 의해 사용되는데, 이를테면 아마존,[2] 구글, 페이스북, 마이크로소프트, 트위터가 있으며 사용자들이 타사 애플리케이션이나 웹사이트의 계정에 관한 정보를 공유할 수 있게 허용한다. OAuth가 사용되기 전에는 인증방식의 표준이 없었기 때문에 기존의 기본인증인 아이디와 비밀번호를 사용하였는데, 이는 보안상 취약한 구조이다. 기본인증이 아닐 경우는 각 애플리케이션들이 각자의 개발한 회사의 방법대로 사용자를 확인하였다. 예를 들면 구글의 AuthSub, AOL의 .. 2020. 6. 4.
URI이란? URL이란? URN이란? URI는 통합자원식별자이다. URI ( Uniform Resource Identifier) 통합 자원 식별자 인터넷에 있는 자원을 나타내는 유일한 주소이다. URI의 존재는 인터넷에서 요구되는 기본조건으로서, 인터넷 프로토콜에 항상 붙어다님 - ex) http://www.naver.com (http프로토콜임을 명시하고 있음) URI의 하위개념에 URL,URN이 포함되어 있다. URI의 보편적인 형태가 URL인데, URI의 부분집합으로 볼 수 있다. - 자원에 접근하기 위해 사용되는 절차 어떤 자원을 가지고 있는 특정한 컴퓨터 컴퓨터 상의 유니크한 자원의 이름(파일명) http://test.com/test.pdf?docid=111 이라는 주소는 URI이지만 URL은 아니다. - http://test.com.. 2020. 5. 14.
애플릿(Applet)이란? 애플릿(Applet)은 플러그인의 하나로서 전용 위젯 엔진이나 더 큰 프로그램 범위 내에서 실행되는 특정한 작업을 수행하는 조그마한 응용프로그램을 말한다. 웹브라우저, 제어판과 같은 다른 프로그램에서 실행되는 소프트웨어 구성 요소로 볼 수 있다. 애플릿은 독립적으로 사용되지 않으며 작은 기능을 가지고 있다. 이것은 1993년 애플스크립트에서 처음 도입된 용어이다. 애플릿은 "서브루틴"과 기능이 많이 다르다. 먼저, "서블릿" 같은 한 종류의 클라이언트 플랫폼에서만 동작한다. 또한 서브루틴과 달리 애플릿의 컨테이너에 의해 기능이 제한된다. 애플릿은 스크립트 언어가 아닌 컴파일 가능 언어로 작성되므로 성능 향상이나 다양한 기능을 가져 올 수 있다. 서브루틴과 달리, 완전한 웹 구성 요소를 애플릿을 가지고 작.. 2020. 5. 6.
반응형