목록🎃 기타/상식 ❗ (41)
코딩마을방범대
원래 웹에서의 데이터는 가로채면 누구나 읽을 수 있는 일반 텍스트 형태로 전송되었음 SSL (Secure Scokets Layer) 암호화 기반 인터넷 보안 프로토콜 개인정보 보호, 인증, 데이터 무결성을 보장하기 위해 Netscape가 1995년에 개발 전달되는 모든 데이터를 암호화하고 특정한 유형의 사이버 공격도 차단 TLS(Transport Layer Security) 암호화의 전신이기도 함 SSL/TLS 를 사용하는 웹사이트 URL은 HTTP 대신 HTTPS을 사용 SSL은 1996년 SSL 3.0 이후 업데이트되지 않았으며, 알려진 취약성이 여러가지가 있어 보안 전문가들은 SSL 사용 중단을 권장 SSL의 대안으로는 TLS가 있음 TLS 최신 암호화 프로토콜 SSL 암호화로 혼용해서 부르는 경우..
X.509 공개 키 인증방식의 형식을 정의하는 표준 HTTPS의 기초가 되는 TLS/SSL을 포함한 많은 인터넷 프로토콜에서 사용 인증서 디지털 서명으로 내용 변경과 위장 행위를 검출하고, 부인을 방지할 수 있음 인증서의 표준 규격 버전(Verion Number) 인증서의 버전 시리얼 번호(Serial Number) CA가 할당한 정수로 된 고유 번호 CRL에서는 이 번호로 폐지한 인증서를 구별 서명 알고리즘(Signature Algorithm ID) 인증기관이 사용한 서명 알고리즘 발행자(Issuer Name) 인증서를 발행한 인증기관의 이름 Name(DN) 형식으로 기술됨 (사용자는 이 발행자와 시리얼 번호로 인증서를 구별) 유효기간(Validaty period) Not Before, Not Afte..
RSA 암호화 SSL/TLS에 가장 많이 사용되는 공개키 암호화 알고리즘 소인수분해 문제에 기반하여 알고리즘이 만들어졌음 암호화 뿐만 아니라 전자서명이 가능한 최초의 알고리즘 큰 정수의 소인수 분해의 난해함에 기반하여, 공개키만을 가지고는 개인키를 쉽게 짐작할 수 없도록 디자인되어 있음 RSA-2048 전에는 숫자가 number of digits 를 의미했으나 RSA-2048 부터는 bit 을 의미 RSA-2048 617 자리 숫자를 Key 로 사용 Bouncy Castle란 경량 암호화에 사용되는 API 모음 Java 및 C# 프로그래밍 언어 모두에 대한 API가 포함 JCE(Java Cryptography Extension) 및 JCA(Java Cryptography Architecture), JSS..
소켓(Socket)이란 프로세스들은 데이터 송수신을 위해 반드시 소켓을 거쳐 전송 계층으로 데이터를 전달해야 함 전송 계층과 응용 프로그램 사이의 인터페이스 역할을 하며 떨어져 있는 두 호스트를 연결해줌 프로토콜, IP, Port 3요소로 정의됨 일반적인 소켓 통신의 흐름 소켓 생성 서버 바인딩 (ip, port번호 설정) listen()으로 클라이언트 요청에 대기열을 만들어 몇개의 클라이언트를 대기시킬지 결정 accept()로 클라이언트와 연결 클라이언트 서버에 설정된 ip, port로 연결 시도 accept()로 클라이언트의 socket descriptor 반환 마지막. 데이터 송수신 후 소켓 닫기 소켓 종류 (1) 스트림 소켓 TCP(Transmission Control Protocol)을 사용하는..
참고 사이트 = tistory-AreYou준비 컴퓨터는 두 가지 상태(2진수의 0과 1)만 이해하고 사용할 수 있다. 2진수(binary) or 비트(Bit) 대개 1은 전원 on, 0은 전원 off 상태로 표현 컴퓨터에서 사용하는 가장 작은 데이터 단위 데이터를 처리, 저장, 전송 할 때 사용 바이트(Byte) 컴퓨터는 일반적으로 8개 단위의 비트(8bit)를 하나의 그룹으로 사용 1바이트는 8개의 on/off 상태를 조합하여 나타낼수 있는 수는 총 256 (2^8)가지 데이터 파일의 크기, 디스크 또는 그 외 저장 매체의 공간 1byte = 8bit = 1캐릭터(Character) 바이트코드 = 바이너리코드(컴퓨터 언어) 단위 바이트(B) 비트(b) 비트(bit) 1/8 바이트 1비트 바이트(Byte..
서버 '제공한다'는 뜻을 가진 'serve'에 사람이라는 뜻을 나타내는 'er'을 붙인 단어 클라이언트의 요청을 받으면 서비스, 데이터를 제공하는 컴퓨터 혹은 프로그램 SaaS(Software as a Service) 사용자 클라우드 서비스 서비스 소프트웨어, 클라우드 환경에서 운영되는 어플리케이션 Paas(Platform as a Service) 개발자 클라우드 서비스 운영을 위한 플랫폼 서비스를 제공 IaaS(Infrastructure as a Service) 개발자 클라우드 서비스 서버, 스토리지, 네트워크 장비 등 IT 인프라 대여 MOU(Memorandum Of Understanding) 정식 계약을 체결하기 전에 당사자들끼리 논의한 내용을 문서화한 것 IT용어 컴파일 작성한 소스코드를 바이너리..
포트(Port)란 하드웨어 컴퓨터의 주변 장치와 연결하기 위한 연결단 (물리적 통로) 소프트웨어 네트워크 서비스나 특정 프로세스를 식별하는 논리적 단위 (논리적 통로) 호스트 내부적으로 프로세스가 할당받는 고유한 값 소프트웨어적 의미 NIC(Network Interface Card) 이더넷 카드 및 네트워크 어댑터라고도 하며, 응용프로그램에서 받은 데이터를 네트워크 형식에 맞게 변환하여 전송해 주는 기능을 하는 하드웨어 장치 데이터 송수신시, Datalink 계층에서는 호스트의 NIC로 MAC Address를 판별하고, Network 계층에서는 IP Address로 목적지를 판별함. Mac Address와 IP Address를 통해 목적지 호스트까지 도달한 후에는 포트 번호를 이용해 어떤 프로세스에서 데..
개발 환경 local(로컬 개발 환경) -> dev(서버 개발 환경) -> Integration(통합 개발 환경) -> QA(테스팅 환경) -> staging(스테이징 환경) -> production(운영 환경) 1. local (로컬 개발 환경) 각 개발자마다 설치된 서버 환경을 local 환경이라고 함 ex) MySQL 등의 DB, Tomcat, Eclipse와 같은 개발 툴, 컴파일러 등 개발 환경을 표준화 하는 방법은 여러가지가 있지만, 전체 개발 환경 (JDK,Eclipse,library)을 zip파일 형태로 묶어서 사용하는 방법이 가장 일반적 1과 2 사이의 🎇 PoC (Proof of Concept) 새로운 프로젝트가 실제로 실현 가능성이 있는지, 효과와 효용, 기술적인 관점에서 검증 하는 ..