분류 전체보기 51

optee (QEMU를 이용하여)

QEMU란?QEMU (Quick Emulator)는 다양한 기능을 제공하는 오픈소스 가상화 소프트웨어로, 여러 운영 체제나 아키텍처에서 실행할 수 있다. 즉, QEMU는 x86, ARM, PowerPC, MIPS, SPARC 등 다양한 CPU 아키텍처를 에뮬레이션할 수 있어, 다른 아키텍처의 가상 머신을 실행할 수있다. 예를 들면, 거의 20년전에 나는 PC로 별의 커비 거울속의 대미궁이라는 게임을 즐겨했었다. 이뿐만 아니라 친구에 의해 포켓몬스터 골드버전 등 정말 많은 게임을 플레이 해봤다.  그런데 이 게임은 PC용으로 만들어진게 아니다. 원래는 아래와 같은 게임보이 기기에서 할 수 있는 게임이다.  그렇다면 의문이 생긴다. 게임보이도 아닌데 PC 환경에서 어떻게 저런 게임들이 실행이 되었을까?? 바..

카테고리 없음 2024.11.30

[rootme] Side Channel - AES : first round

https://www.root-me.org/ Bienvenue [Root Me : plateforme d'apprentissage dédiée au Hacking et à la SécuritéPlusieurs centaines de challenges sont à votre disposition pour vous entrainer dans des environnements variés, réalistes et maitriser un grand nombre de techniques de hack !www.root-me.orgrootme 라는 war game 사이트가 있다 여기서 Side Channel 관련 문제를 예전에 풀었었는데 이를 지금에서야 올린다.Side Channel CTFroot-me에 있는 문..

SoftHSMv2 사용해보기 with Linux, OpenSSL, pkcs11 provider, OpenSC

SoftHSM은 소프트웨어 기반의 하드웨어 보안 모듈(HSM)이다. 즉, SoftHSM은 실제 하드웨어 장비 대신 소프트웨어로 암호화 작업을 수행할 수 있도록 설계되어 있다. 모두 소프트웨어로 구현되어 있는데 HSM이란 말을 쓰기는 좀 그렇지만 PKCS#11 인터페이스를 구현하여, 암호화 키와 인증서 같은 민감한 데이터를 안전하게 저장하고 관리하는 데 사용하기 때문에 기본적인 기능상의 차이는 크게 없을 것이다. 내 추측으로 실제 판매되는 HSM들 중에 절반 이상은 SoftHSM을 참고 또는 이용했을 거다. HSM이 왜 필요한지는 해당 영상으로 이해 가능하다. https://youtu.be/szagwwSLbXo?si=WJQKj4yAo1YFwUye 여기서는 SoftHSM2, OpenSSL, OpenSC, p..

HSM 관련 2024.10.26

PKCS#11이란?

PKCS#11(암호화 표준 #11)은 암호화 장치(예: 하드웨어 보안 모듈, 스마트카드, USB 토큰 등)와 소프트웨어 애플리케이션 간에 암호화 작업을 표준화된 방법으로 수행할 수 있도록 하는 API 규격이다. 이 표준은 RSA Security에서 개발한 Public Key Cryptography Standards (PKCS) 시리즈 중 하나이며, "Cryptographic Token Interface Standard"라고도 불린다. PKCS#11를 Cryptoki라고도 부르는데 Cryptographic Token Interface를 줄여서 만든 글자다. PKCS#11은 암호화 토큰(crypto tokens, HSM, 스마트카드 등)이 제공하는 보안 서비스에 접근하는 방법을 정의하는데, 주로 키 관리, ..

HSM 관련 2024.10.23

OpenSSL provider(oqs provider 예제로 이해)

OpenSSL Provider는 OpenSSL 3.0 이상에서 도입된 기능으로, Provider를 사용하면 OpenSSL의 기능을 확장하고, 특정 요구 사항이나 알고리즘을 구현할 수 있다. 간단하게 말하자면 기존의 OpenSSL이 제공했던 기능들 외에 다른 기능을 사용하고 싶다면 OpenSSL에서 제공하는 C언어 API로 내가 구현한 코드(or open source 등)를 감싸서 사용하는 거다. 이게 기존에 Engine이라는 기능으로 제공되었다고한다. 2023년에 발표한 기능이라 2024년도 기준으로 자료도 별로 없고 OpenSSL 공식 사이트에서 사용법 접하니까 이해가 하나도 안 가더라. 코드 한 줄 짜기 힘들었다. https://docs.openssl.org/3.0/man7/provider/ 좀 더 ..

Network/OpenSSL 2024.10.18

Chrome 키 교환 알고리즘, X25519Kyber768 (유해사이트 차단 뚫림)

키 교환 과정에 대해 너무나 잘 정리해 둔 글이 있어 올린다. 키 교환 과정에 대한 지식이 없다면 해당 글들을 읽어보길 바란다. 아래에서 설명할 유해사이트 차단이 뚫리는 이유에 대해 먼저 TLS 1.3 임이 이유 중 하나임을 알고 가길 바란다.https://aws-hyoh.tistory.com/m/113https://eunhyee.tistory.com/205Kyber768 이란?NIST에서 2022년에 선정한 양자컴퓨터의 공격에도 안전한(안전하다고 여겨지는) 알고리즘이다. 이런 알고리즘을 양자내성알고리즘 줄여서 PQC라고 한다. 그중 Key 교환에 사용되는 알고리즘이고, 풀 네임은 CRYSTALS-KYBER이다. 768은 보안 강도라고 보면 된다. 같은 알고리즘에서 일반적으로 뒤에 오는 숫자가 클수록 보..

Network 2024.05.12

Side Channel Analysis(Attack) 부채널 분석(공격)

Side Channel Attack 이란?컴퓨터 시스템 또는 암호화 장치에서 발생하는 부가적인 정보(Side Information과 같은)를 수집하여 공격하는 기술입니다. 부가적인 정보는 주로 전력 소비, 전자기파 방출, 시간, 소리 또는 기타 물리적인 특성을 통해 암호화된 데이터나 시스템의 정보를 유추하거나 해독하는 데 사용됩니다. 예를 들면, 컴퓨터나 노트북으로 사양이 매우 큰 게임을 할 때, 쿨러 돌아가는 소리가 커졌다 작아졌다 하는 경험이 있으실 수 있습니다. 그럼 소리만 들을 수 있는 공격자 입장에서는 어떻게 판단할 수 있을까요?? 적어도 "아 컴퓨터에 무리가 가는 프로그램을 실행시키고 있는 것 같네"라는 정보를 얻을 수 있을 것입니다. 또 다른 비슷한 예시로는 스마트폰 발열 같은 경우를 들을 ..

암호학 강의 2024.05.04

netcat windows 다운로드, 바이러스 조심

netcat 이란? 네트워크 상에서 특정한 컴퓨터와와 통신하기 위한 유틸리티(Utility)로 Netcat을 사용할 수 있다. 줄여서 NC(Network Connection)라고도 부른다. TCP/UDP 프로토콜을 이용하는 환경에서는 범용적으로 적용이 가능하다는 점에서 간단한 네트워크 통신을 위한 목적으로 간단히 사용할 수 있다. 윈도우 공식 다운로드 방법에 앞서... 리눅스 운영체제에서는 Netcat을 사용하기 어렵지 않지만 윈도우(Windows) 운영체제를 사용하는 사람들은 별도의 소프트웨어를 설치해야 한다. 사실 나도 windows에서 netcat으로 간단한 테스트를 위해 다운로드 받기 위해 구글링을 시도했었는데 연관 검색어에 netcat virus라는 키워드가 계속 눈에 띄었다. 왜 저런 키워드가..

Network 2024.03.11