난수화토큰인증기술 Randomized Token Authentication sultan@joongbu.ac.kr 2017. 9. 중부대학교정보보호학과이병천교수
목차 2 1. 개요 인증기술의중요성 초기인증기술, 인증유지기술 현재의표준기술 (JSON Web Token) 2. 난수화토큰인증기술 기술개발내용 데모서비스 개발기술의기대효과 3. 적용분야 웹서비스, 모바일, 사물인터넷 4. 향후계획
인증기술의중요성 3 안전한인증기술은모든보안의출발점 상대방의신분을확인한후다양한보안기술을추가적용가능
초기인증기술 vs. 인증유지기술 4 처음접속시의사용자신분인증 ID/pass, 인증서, 고유주소, Biometrics, 멀티팩터인증등엄밀한인증절차필요서버측에서는사용자계정 DB 확인필요 초기인증기술 인증유지기술 초기인증완료된사용자의인증상태를유지하는기술쿠키, 세션, 토큰등사용자계정 DB 확인이필요없는무상태서비스 (stateless service) 요구많은사용자를위한확장성, 효율성이있는기술필요 OAuth, JSON Web Token 기술
인증유지기술의현재 5 한번로그인하면인증정보를더이상요구하지않고로그인상태를오랜기간유지. 사용자편의성향상. 자주이용하는 SNS 등의로그인정보를이용하여로그인가능. 사이트별계정등록의불편함개선. 현재사용되는표준기술 - OAuth, JWT(JSON Web Token)
JSON Web Token 기술 https://jwt.io/ 6 Server s secret 초기인증패스워드인증에성공하면서버가인증토큰을발급해줌. 브라우저에인증토큰저장. 인증유지초기인증이후서비스요청시인증토큰을첨부하여요청. 서버는토큰의유효성을검증하여인증을유지하고서비스제공
JSON Web Token 의구조 7 토큰디코딩및사용자정보획득가능 서명은서버비밀값을이용한 HMAC 계산으로서버만계산및검증가능. 제 3 자의위조불가. Server s secret
JWT 토큰인증의장단점 8 장점 브라우저에서전송해온토큰에사용자정보가포함되어있어서서버는계정DB 접근이필요없이인증가능토큰은서버가서명한값으로남이위조할수없음 취약점 고정된인증토큰이오랜시간 ( 유효기간 ) 동안반복전송됨공격자가도청으로타인의인증토큰을획득하면타인신분으로로그인가능 ( 재전송공격 ) HTTPS 보안통신적용필수. 비용발생. 보안통신세션의설정 / 유지 / 통신에시간, 비용소요 서버측은접속된사용자의보안세션정보를유지해야함. 무상태서비스어려움. 클라이언트측은서버의신분 ( 인증서 ) 확인필요. 중간자도청공격방지.
난수화토큰인증기술 9 JWT 토큰인증의문제점을해결할수있는난수화토큰인증 (Randomized Token Authentication) 기술개발 논문발표 : 2017. 4. 특허출원 : 2017. 7. 데모서비스개발 : 2017. 8. 데모서비스 http://isweb.joongbu.ac.kr:3000/ ( 한글 ) http://isweb.joongbu.ac.kr:3001/ ( 영문 )
난수화토큰인증기술의목표 10 1. 서버의 DB 접근이필요없는무상태토큰인증 토큰을이용한자동로그인, 인증유지 2. 고정된 bearer token 사용의취약점개선 난수화된인증정보계산에시간기반난수화적용. 3. 보안통신채널이불필요한토큰인증 시간기반난수화적용으로인증정보를도청해도재사용불가 4. 널리확산된 JWT 의기본메커니즘을활용 JWT 인증과함께시간기반난수화를부가인증으로사용 5. Https 적용하지않고도필요시보안통신채널제공 시간기반난수화인증정보를공유된비밀키로사용하여메시지암호화, 메시지인증기능제공
방법론 11 서버는로그인된사용자에게두개의토큰을발급 공개토큰 : 공개가능, 개인정보전달용 비밀토큰 : 공개불가, 인증정보계산용 요구사항 토큰은서버만이계산할수있어야함 ( 서버의비밀정보 K 이용 ) 서버는공개토큰으로부터비밀토큰을언제든지계산가능함 토큰계산방법 공개토큰 t P = HMAC 사용자정보, K 공개토큰은사용자정보에대한서버의서명값 비밀토큰 t S = HMAC t P, K 비밀토큰은사용자공개토큰에대한서버의서명값
난수화토큰인증구성도 12 클라이언트 서버 DB ID, hpass 저장 암호화 채널 초기인증 ID/Pass 입력 공개토큰, 비밀토큰저장 < ID, pass > 토큰발급 DB 검색, 사용자인증 인증된사용자에게토큰발급 평문채널 인증유지 비밀토큰, 현재시간을이용하여난수화인증정보계산 현재시간난수화인증정보 공개토큰에서사용자정보확인공개토큰이용하여비밀토큰계산난수화인증정보검증시간정보검증
기술개발내용 13 1. 난수화토큰인증 https 통신보안필요없는안전한인증유지기술 https 통신보안은초기인증시에만적용. 오랜기간사용하게되는인증유지시에는 https 미적용가능 2. 선택적메시지암호화 https 사용하지않고도필요시선택된메시지에대한암호화적용가능 3. 선택적메시지인증 https 사용하지않고도필요시선택된메시지에대한메시지인증적용가능
데모서비스 http://isweb.joongbu.ac.kr:3000/ 14
데모서비스 http://isweb.joongbu.ac.kr:3000/ 15 기술소개 대쉬보드토큰인증적용안함 블로그 (JWT) JWT 토큰인증적용 프로필 (RTA) 난수화토큰인증적용 메시지암호화난수화토큰인증을이용한선택적메시지암호화기술적용 메시지인증난수화토큰인증을이용한선택적메시지인증기술적용
난수화된토큰인증의효과 16 서버측면 서버의계정 DB 검색필요없는무상태 (stateless) 인증유지 대규모분산서비스등서버의확장성에효과 https 통신보안은초기로그인시에만적용하고대부분의인증유지단계에서는 https 를사용할필요가없음 https 세션정보관리불필요. 서버의운영비용감소. 동일사용자수대비서버설비용량을절반이하로절감가능 클라이언트측면 https 세션을이용할필요가없음. 빠른응답속도. 성능이제약되는 IoT 디바이스에도적합 공격자측면 도청정보재사용불가, 통신도청이쓸모없음
적용가능분야 17 대규모웹서비스에서의인증 https 보안통신은초기인증시에만적용하고대부분의사용기간동안 https 를적용하지않음 서버운영비용감소 ( 동일동시접속자수대비서버용량절반이하로절감 ) https 보안통신과함께적용시도청공격에강한이중보안제공 모바일앱에서의인증 패스워드입력이불편한모바일앱에서토큰인증은필수 https 미적용시서버운영비용감소 IoT 디바이스인증 성능이제약되는 IoT 디바이스에서 https 보안통신적용은부담 사람의개입없이이벤트기반의간헐적통신으로자동동작하는사물인터넷환경에서의 https/dtls 보안통신부담해제
효율성분석 18 https 보안통신을적게사용함으로인해대규모웹서비스의서버설비용량을절반이하로감축가능 초기인증시 ( 간헐적이용 ) 인증유지시 ( 오랜기간지속적이용 )
IoT 인증시나리오 19 로컬통신 보안성강화 암호화통신 기기등록 사용자로그인 토큰발급 사물인터넷플랫폼 토큰발급 인증 Server HTTP Database HTTP CoAP IoT Device 난수화토큰인증인증유지 MQTT MQTT Server CoAP Server 난수화토큰인증인증유지 Application Service 평문채널원격통신 효율성향상 평문채널원격통신
20 난수화토큰인증은미래사회의필수인증기술 sultan@joongbu.ac.kr