Tech develop/인증 (5) 썸네일형 리스트형 HMAC(Hash-based Message Authentication Code) HMAC(Hash-based Message Authentication Code) 메시지 인증 코드(Message Authentication Code, MAC)는 메시지의 인증에 쓰이는 정보(코드)이다. 메시지의 무결성 및 신뢰성을 보장하는 용도로 MAC을 사용한다. 무결성이란, 서버 입장에서 클라이언트로부터 API 요청을 받았을 때, 이 요청이 신뢰할 수 있는 것인지 (정보가 중간에 변경없이 그대로 전달된 것인지)에 대한 성질을 말한다. HMAC은 인증을 위한 Secret Key와 임의의 길이를 가진 Message를 해시 함수(알고리즘)을 사용해서 생성한다. 해시 함수로는 MD5, SHA-256과 같은 일반적인 해시 함수를 그대로 사용할 수 있으며 각 알고리즘에 따라 다른 고정길이의 MAC(Hash va.. RSA 암호 알고리즘이란? RSA 암호 알고리즘이란? Rivet, Shamir, Adelman 세사람의 첫이름을 따 RSA라고 만든 암호 알고리즘이다. RSA 암호 체계는 미국 MIT에서 개발한 공개키 암호 시스템이다. 이 암호 알고리즘의 핵심은 큰 정수의 소인수 분해가 어렵다는 점을 이용하여 암호화를 시킨다. 이러한 RSA 암호 알고리즘은 전자상거래에서 가장 흔히 쓰고있는 공개키 알고리즘이다. 주로 적은 양의 데이터나 전자서명에 사용한다.또한 RSA 암호는 대칭키인 DES나 AES보다 속도가 느리므로 메시지 암호화에는 쓰이지 않고 주로 키를 암호화하는데 쓰인다. RSA 암호 알고리즘 방식 1. A가 B에게 정보를 안전하게 보내고 싶어한다. 이때 RSA 알고리즘을 이용하고자 한다. 2. B가 공개키와 개인키를 만들어 A에게 공개키.. 블록 암호화에서의 운영 모드 및 패딩 블록 암호화에서의 운영 모드 및 패딩 암호화 할때, 운영 모드를 어떤 것을 할지 고민 일때 참고용. ex> AES/CBC/PKCS7Padding 1. ECB (Electronic Code Block) Mode - 가장 단순한 모드로 블록단위로 순차적으로 암호화 하는 구조이다. - 한개의 블록만 해독되면 나머지 블록도 해독이 되는 단점이 있다. (Brute-Force Arttack, Dictionary Attack) - 암호문이 블록의 배수가 되기 때문에 복호화 후 평문을 알기 위해서 Padding을 해야한다. - error propagation : 각 블록이 독립적으로 동작하므로 한블록에서 에러가 난다고 해도 다른 블록에 영향을 주지 않는다. 해당 블록까지 에러 전파. 2. CBC(Cipher Block.. [Android] WhiteBox Android 에서 사용하는 WhiteBox라고 불리는 것은 무엇이며, 어떻게 동작, 사용하는지 알아봅시다. 먼저 WhiteBox에 대해 알아보기 전에 암호키 탈취 공격 유형에는 어떠한 것들이 있는지 알면 좋습니다. 암호키 탈취 공격의 유형 먼저 암호키를 탈취하려는 공격 기법을 보면, 아래 3가지 기법으로 구분하고 있다 Black-box(블랙박스) 공격 : 암호문과 평문을 가지고, 비대칭알고리즘인 경우는 공개키(Public-key)를 가지고, 암호키(Secret-key 또는 Private-key)를 유추해 내는 공격이다. 즉 암호 알고리즘이 동작되는 내부 정보 및 과정을 볼 수 없기 때문에 Black-box란 용어를 사용한다. 보안 강도는 사용되는 "암호 알고리즘"과 "암호키 길이"에 따라 결정되어지는데.. Android KeyStore 와 Keystore 의 차이 Android KeyStore 와 Keystore 의 차이? KeyStore 와 Keystore 는 한글로 읽으면 둘 다 '키스토어'이기 때문에, 동일한 단어로 들리지만, 실제로 다른 의미를 가지고 있다. Android KeyStore Service 안드로이드 앱을 Google Play에 배포하기 위해서는 해당 앱을 서명하여 생성한 APK를 업로드하여 배포해야 하는데, 이 때, 서명에 사용되는 키 및 키저장소를 KeyStore라 한다. 해당 KeyStore는 AndroidStudio tool에서 생성 할 수 있으며, Google Play에 배포를 하게되면 같은 패키지로 업데이트를 진행 할 때, 반드시 최초에 APK를 서명했던 키스토어로 서명한 APK를 업로드 해야합니다. 만약, 최초에 서명한 키스토어를 .. 이전 1 다음