목록전체 글 (208)
각진 세상에 둥근 춤을 추자
NAVER SMS API 사용이 개인 회원은 불가능하다고 해 타 사이트 API를 사용하기로 했다. https://coolsms.co.kr/ 세상에서 가장 안정적이고 빠른 메시지 발송 플랫폼 - 쿨에스엠에스손쉬운 결제 전용계좌, 신용카드, 계좌이체 등 국내 결제 뿐만 아니라 해용신용카드로 한번의 카드번호 등록으로 자동충전까지 지원합니다. 전용계좌, 신용카드, 계좌이체 등 다양한 결제 방식coolsms.co.kr 회원 가입 후 본인인증을 하면 환경설정 > 발신번호 관리에 나의 번호가 등록된다. 개발/연동 > API Key 관리에서 새로운 API KEY를 생성한다. build.gradle에 CoolSMS API의 의존성을 추가한다.implementation 'net.nurigo:sdk:4.3.0' 단..
1. Visual Studio Code 설치https://code.visualstudio.com/Download Download Visual Studio Code - Mac, Linux, WindowsVisual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications.code.visualstudio.com 2. C/C++ 확장 플러그 설치 3. Mingw..
암호 키 생성 방법으로는 다음과 같이 나눌 수 있다. 1. 난수발생기(RBG)의 이용2. 비대칭키 알고리즘의 키 생성3. 대칭키 알고리즘의 키 생성 난수는 암호화 키, 인증 토큰, 디지털 서명 등 다양한 보안 요소를 안전하게 보호하는 핵심 요소로 사용된다.난수 생성기는 이와 같은 난수를 생성하는 장치나 알고리즘으로, 보안 시스템에서 필수적인 구성 요소 중 하나이다.난수 생성기는 크게 진정한 난수발생기(TRNG)와 결정론적 난수발생기(DRBG)로 나눌 수 있다.그 중 결정론적 난수발생기(DRBG)에 대해 알아본다. 국내 표준인 KS X ISO/IEC 18031은 이러한 결정론적 난수발생기에 대해 다루고 있으며, 이는 NIST SP 800-90에서 정의한 DRBG와 동일한 기법을 사용한다. 용어설..
암호화 알고리즘 (Encryption Algorithm) 암호 알고리즘은 데이터를 암호화하고 복호화하여 외부의 공격이나 도청으로부터 보호하는 수단이다.암호 알고리즘을 사용하면 평문(Plaintext)을 읽을 수 없는 암호문(Ciphertext)로 변환하여 허가된 사용자만이 해당 데이터를 복호화할 수 있도록 만든다. 이를 통해 데이터의 기밀성(Confidentiality), 무결성(Integrity), 출처 인증(Authentication)을 보장한다. 먼저, 암호화와 관련된 용어 중에서 양방향, 단방향, 대칭, 비대칭은 암호화 방식의 특성과 목적을 이해하는 데 중요한 개념이다. 개념설명양방향 암호화암호화한 데이터를 복호화할 수 있는 방식. 보안이 필요한 데이터를 주고받을 때 사용된다. 단방향 암호화암호..
암호 키 관리 암호 키 관리는 암호화 시스템의 핵심 요소로 암호화 및 복호화를 위한 대칭키와 비대칭키 생성, 저장, 배포, 교체, 폐기 등의 전체 과정을 포함한다. 암호화 시스템의 보안성은 암호 알고리즘 자체 뿐만 아니라 암호 키를 안전하게 관리하는 방법에 크게 의존한다. 암호 키 관리에는 다음과 같은 주요 단계들이 포함된다. 1. 키 생성: 안전한 암호화를 위해 암호키를 생성하는 과정이다. 주로 난수 발생기를 사용해 예측 불가능한 키를 생성하며, 대칭키 또는 비대칭키로 사용할 수 있다. 2. 키 저장: 생성된 키를 안전하게 저장하는 과정이다. 키는 일반적으로 보안성이 높은 저장소에 저장하거나, 암호화된 형태로 파일에 저장된다. 3. 키 배포: 암호화 통신을 위해 키를 각 당사자에게 안전하게 전달하는..
암호키 생성 과정 1. 사용자 입력: 사용자가 저장하고자 하는 정보, 예를 들어 '12345'를 입력한다.2. 데이터 전송: 사용자는 입력한 정보를 서버로 전송한다. 이때 전송되는 정보는 원본 '12345'이다.3. 서버 암호화 처리: 서버는 수신한 원본 데이터 암호화 작업을 진행한다. 암호화 알고리즘을 통해 '12345'를 보안성이 높은 형태(예시: '$%^#@!@#!')로 변환한다.4. 암호화된 데이터 저장: 서버는 암호화된 값을 생성한 후, 해당 암호화된 값과 사용자를 식별할 수 있는 식별자를 함께 데이터베이스로 전송한다.5. 데이터베이스 저장: 데이터베이스는 암호화된 값과 사용자 식별자를 저장한다. 암호키 생성 방식 1. 난수발생기(Random Big Generator, RGB)를 사용하여 키를..
[이전 게시글 요약]2024.08.22 - [Java] - 개발자 도구 페이로드 평문 패스워드 노출: 클라이언트 측 RSA 암호화를 활용한 로그인 (1) 개발자 도구 페이로드 평문 패스워드 노출: 클라이언트 측 RSA 암호화를 활용한 로그인 (1)스프링 시큐리티 로그인 시 패스워드 노출 문제와 보안 위험성 웹 애플리케이션에서 스프링 시큐리티를 사용해 로그인 기능을 구현할 때, 사용자가 입력한 패스워드가 서버로 전송되기 전에 페this-circle-jeong.tistory.com 로그인 시 클라이언트 측에서 패스워드를 RSA로 암호화하여 서버에 전송하는 방식은 개발자 도구의 네트워크 탭에서 평문 패스워드가 노출되는 것을 방지하는 효과적인 방법이다. 이때 클라이언트가 서버에 공개키를 요청하는 시점은 "로그인..
스프링 시큐리티 로그인 시 패스워드 노출 문제와 보안 위험성 웹 애플리케이션에서 스프링 시큐리티를 사용해 로그인 기능을 구현할 때, 사용자가 입력한 패스워드가 서버로 전송되기 전에 페이로드에서 평문으로 노출되는 문제가 발생한다. 이는 개발환경에서 테스트나 디버깅을 하다 보면 쉽게 확인할 수 있는 부분인데,이러한 평문 패스워드의 노출은 보안에 있어 잠재적인 위험 요소가 될 수 있다. 패스워드 평문 노출 문제점 패스워드가 평문으로 전송된다는 점은, 만약 해당 패킷이 악의적인 접근에 의해 탈취될 경우 사용자의 민감한 정보가 쉽게 유출될 수 있음을 의미한다. 특히, 네트워크 중간에서 패킷을 가로채는 MITM(Man-In-The-Middle) 공격이나 악성 스니핑 도구를 통해 이러한 정보가 악용될 가능성이 있다...
쉘 스크립트(Shell Script)란?리눅스, 유닉스 등과 같은 운영 체제에서 명령어들을 자동으로 실행하기 위해 작성된 스크립트 파일이다. 해당 스크립트 파일은 사용자가 직접 터미널에 입력하는 명령어를 모아놓은 것으로, 한꺼번에 여러 명령어를 실행하거나 반복적인 작업을 자동화할 때 유용하다.쉘 스크립트 파일은 일반적으로 .sh 확장자를 사용한다.예를 들어, 간단한 쉘 스크립트 파일은 다음과 같다.#!/bin/bashecho "Hello, World!""#!/bin/bash" - 스크립트가 bash 쉘에서 실행될 것임을 명시'echo' - "Hello, World!" 라는 문자열을 출력하는 명령어 기본 커맨드 1. 'echo'- 메시지 또는 변수 값을 출력한다.echo "Hello, World!"echo..