이 공개 키를 사용하여 서버에 의해 암호화 된 일회용 암호를 해독하여, 자신의 휴대 전화를 통해 사용자를 인증 할 수있는 애플리케이션이다. 응용 프로그램은 인증이 방법을 구현하는 웹 서비스를 사용할 수 있습니다.
(서버 측에서이 인증을 구현하는 방법에 대한 자세한 내용은 GitHub의 추적을 참조하십시오)
같은 공개 키는 모든 당사자와 함께 사용되는 앱은, 의존 당사자의 무제한 사용할 수 있습니다. 앱이 등록되면, 응용 프로그램은 (는 제거 된 때까지) 응용 프로그램의 전체 수명에 대한 존재하는 장치 특정 키 쌍을 생성합니다. 응용 프로그램을 업데이트하지만 키를 삭제하지 않습니다.
GitHub의 트래커 : https://github.com/sebastiannielsen/QRSA
응용 프로그램을 실행하기위한 전제 조건 :
1. 전화가 하드웨어 기반 스토리지를 지원해야합니다. 이것은 불가능 전화 오프 키를 복사 할 수있어 휴대 전화 내부의 "보안 칩"을 사용하여 저장된다.
2. 저장소를 초기화해야합니다. 때로는 그 수는 PIN 잠금 화면을 설정하여 저장소를 초기화하고 단지 키를 생성하는 단계. 잠금 화면을 제거하면 일반적으로 키 속성 화면 잠금을 필요로하는 설정이었다 않는 한 키를 유지합니다.
어떤 경우 3. 보안 잠금 화면이 사용되어야한다. 이 휴대 전화 모델에 따라 다릅니다.
4. 전화 내부의 보안 칩은 2048 비트 RSA / ECB / PKCS1.5에 따라 작업을 지원해야합니다
5. 어떤 경우에는 루팅 전화 영구적 보안을위한 보안 칩을 사용하지 않도록 할 수있다.
브라우저 또는 비슷한로부터 // E : 등록하려면 URL의 qrsa를 시작해야합니다. // U를 : 당신은 또한 qrsa 사용하여 콜백 URL을 통해 등록 할 수 있습니다. 당신이 HTTPS 또는 HTTP에 대한 다른 것을 사용하려면 U를 사용하려면 먼저 "s"를 추가해야합니다. 그런 다음 전체 URL은 URLSafe를 Base64 형식으로, 계획도없이 호출 할 수 있습니다. 공개 키는 URL의 끝에 추가됩니다. 장치가 호환되지 않는 경우, 사용자에게 의미있는 에러 메시지를 반환 INCOMPATIBLE_DEVICE와 책임을 반환한다.
인증하려면, 당신은 URL qrsa을 시작 : // s 또는 qrsa : // C 형식 패딩 :: OTP : 메시지 : HASH :: 패딩의 RSA 공개 키 암호화 된 텍스트의 URLSafe Base64로 인코딩 된 데이터 하였다. 은 "의"작업 스캔 이벤트에 대한 설계 및 화면에 OTP 텍스트로 표시됩니다. 은 "C"작업이 클릭 이벤트를 위해 설계되었습니다. 차이는 클릭 이벤트가 사용자가 바로 OTP 영역 내부 코드를 붙여 진행 수 있도록 OTP 코드 대신에 사용자의 클립 보드에 배치되도록 할 것이다.
HASH는 +는 문자열 연결을 의미 OTP +의 메시지 + OTP, 밖으로 MD5를 작성하여 구성된다. 이 해시는 암호화 된 텍스트에 전성 공격의 거친 형태의 보호합니다. 샌드위치 된 구조는 OTP와 메시지 사이의 구분을 이동에서 공격자를 방지 할 수 있습니다.
응용 프로그램의 상호 작용이 호출의 상단에 표시되는 대화 상자를 통해 제공 될 때 응용 프로그램의 스크린 샷은 의도적으로, 상표 및 / 또는 저작권 침해 (안드로이드 및 기타 앱의 UI 저작권 보호)을 방지하기 위해 검열되어 있습니다 인증이 발생하는 원인 응용 프로그램.
응용 프로그램에 문제가있는 경우이 응용 프로그램은 오픈 소스이기 때문에, 당신은, 예제 코드 및 공공 GitHub의 페이지에 대한 자세한 지침을 확인할 수 있습니다.
또한, 공공 GitHub의 추적에서 문제를 만들어 주시기 바랍니다.