본문 바로가기

FIDO 인증 1. FIDO 클라이언트 : 등록요청2. FIDO 서버 : Registration Request, 등록가능한 인증장치 관련 정책 회신 (제조사, 모델, 인증 수단 제한)3. FIDO 클라이언트 : 바이오 인증 요청4. FIDO 인증장치 : 바이오 인증 후 공개키 쌍 생성5. FIDO 클라이언트 : Registration Response, 사용자 공개키, 인증장치 Attestation Certification 등 Assertion을 FIDO 서버로 전송6. FIDO 서버 : 공개키 입증정보를 인증장치 메타데이터로 확인후 등록- 메타데이터 검증 구조- 메타데이터 샘플 1. FIDO 클라이언트 : 인증요청2. FIDO 서버 : Authentication Request, 거래정보 회신(Challenge 포함)3.. 더보기
PKCS 표준 [출처 : http://www.nexpert.net/438] X.509 인증서 확장자 .CER - CER 암호화 된 인증서. 복수의 인증서도 가능..DER - DER 암호화 된 인증서..PEM - (Privacy Enhanced Mail) Base64로 암호화 된 인증서. "-----BEGIN CERTIFICATE-----"와 "-----END CERTIFICATE-----" 가운데에 들어간다..P7B - .p7c 참조..P7C - PKCS#7 서명 자료 구조(자료는 제외), 인증서이거나 CRL(복수도 가능)..PFX - .p12 참조..P12 - PKCS#12, 공개 인증서와 암호로 보호되는 개인 키를 가질 수 있다(복수도 가능). PKCS#7는 데이터를 서명하거나 암호화 할 때 쓰이는(envelopi.. 더보기
안드로이드 난독화 솔루션 정보 Proguard 적용 기능- Shrinking : 사용되지 않는 클래스 혹은 메소드, 필드를 찾아 삭제- Optimization : 최적화- Renaming : 식별자 변환 Proguard 미적용 기능- String encryption : 문자열 암호화- Class encryption : 클래스 암호화- API hiding : API 은닉- Native library encryption : 네이티비 라이브러리 암호화 더보기
std:random_device의 난수 안전성 TL;DR: only use std::random_device to generate seeds for the defined PRNG's within this library. Otherwise use a cryptographic library such as Crypto++, Bothan, OpenSSL etc. to generate secure random numbers.To have an idea why std::random_device is required it is important to see it in the light of the context for which it was defined.std::random_device is part of a set of classes and methods t.. 더보기
RSA Key 파일 구조 RSA Key 파일은 DER, PEM 2개 구조가 있음Distinguished Encoding Rules (DER)을 Base64 encoding한 정보가 PEM으로 인지하면 됨 X.509 인증서 확장자 .CER - CER 암호화 된 인증서. 복수의 인증서도 가능..DER - DER 암호화 된 인증서..PEM - (Privacy Enhanced Mail) Base64로 암호화 된 인증서. "-----BEGIN CERTIFICATE-----"와 "-----END CERTIFICATE-----" 가운데에 들어간다..P7B - .p7c 참조..P7C - PKCS#7 서명 자료 구조(자료는 제외), 인증서이거나 CRL(복수도 가능)..PFX - .p12 참조..P12 - PKCS#12, 공개 인증서와 암호로 보.. 더보기
RSA 공개키 비밀키 생성 과정 https://www.cs.drexel.edu/~jpopyack/IntroCS/HW/RSAWorksheet.html http://blog.naver.com/at3650/40200115609 a ≡ b (mod d) => a= kd + b => a-b = kd => a-b ≡ 0 (mod d) 두 수 a,b,c 가 모두 법 d에(mod d) 대해 합동이라 하면 (1) 반사성(Refiexible) : a ≡ a (2) 대칭성(Symmetric) : a ≡ b 이면 b ≡ a(3) 추이성(Transtive) : a ≡ b 이고 b ≡ c 이면 a≡c가 성립한다. (1),(2),(3)이 모두 성립하므로 합동식은 동치관계라고 볼 수 있다. 두 수 a,b,c 가 모두 법 d에(mod d) 대해 합동이라 하면(1) .. 더보기
IOS 취약점 점검시 파일 변화 비교 cd app_oldfind . -type f -exec md5sum {} \; | sed "s/*\.\//\.\//" > ../app_old.md5cd ../app_newfind . -type f -exec md5sum {} \; | sed "s/*\.\//\.\//" > ../app_new.md5cd ../bundle_oldfind . -type f -exec md5sum {} \; | sed "s/*\.\//\.\//" > ../bundle_old.md5cd ../bundle_newfind . -type f -exec md5sum {} \; | sed "s/*\.\//\.\//" > ../bundle_new.md5 mkdir app_newfilediff app_old.md5 app_new.md5 | .. 더보기
IMEI, IMSI, UDID IMEI(International Mobile Equipment Identity) : 단말기 고유 번호AA-BBBBBB-CCCCCCD or EEOld IMEITACFACSerial number(Optional) Luhn checksumNew IMEITACOld IMEISVTACFACSoftware Version Number (SVN).New IMEISVTAC IMSI(International mobile subscriber identity) : 범용개인식별모듈(USIM) 카드의 고유번호IMSI:410072821393853MCC410PakistanMNC07Warid PakistanMSIN2821393853IMSI:310150123456789MCC310USAMNC150AT&T MobilityMSIN12345.. 더보기
우분투 16.04 LTS 64bit에서 안드로이드 4.4 커널 컴파일 관련 트러블슈팅 1. 관련 패키지 설치sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \ libgl1-mesa-dev libxml2-utils xsltproc unzip 2. make 4.1 관련 스크립트 추가 vi ./build/core/main.mk 에서 4.1 관련 스크립트 추가 42 ifeq (,$(findstring CYGWIN,$(shell uname -sm))) 43 ifeq (0,$(shell expr .. 더보기
HMAC 구성 방법 HMAC과 MAC의 차이- HMAC는 다양한 해쉬 함수를 사용 가능 HMAC 구성방법 사진 출처: https://en.wikipedia.org/wiki/Hash-based_message_authentication_code 1. key에 대한 패딩: hash함수의 block 길이 만큼 0으로 padding2. 패딩한 key와 ipad의 XOR 함 (ipad는 00110110(0x36) 의 hash함수의 block 길이 만큼 반복 된 값)3. 메세지와 XOR한 값을 결합4. sha1 (1st pass) hash값 계산5. 패딩한 key와 opad의 XOR 함 (opad는 01011100(0x5c) 의 hash함수의 block길이 만큼 반복 된 값)6. 5에서 수행한 값을 hash sum1과의 결함 7. sh.. 더보기