OAuth 2.0 API 보안 (엔터프라이즈 API를 보호하는 OAuth 2.0 해킹 & 방어 | 2 판)

OAuth 2.0 API 보안 (엔터프라이즈 API를 보호하는 OAuth 2.0 해킹 & 방어 | 2 판)

$41.58
Description
[요약]
엔터프라이즈 API는 비즈니스 기능을 외부에 노출하는 일반적인 방법이 됐다. 기능을 노출하는 것은 편리하지만, 물론 악용의 위험이 있다. 소프트웨어 시스템 설계의 경우와 마찬가지로, 사람들은 API 설계 단계에서 보안 요소를 무시하는 경향이 있다. 배포나 통합 시에만 보안을 걱정하기 시작한다. 보안은 사후에 고려해서는 안 된다. 보안은 모든 소프트웨어 시스템 설계의 필수 요소로 설계 초기부터 신중하게 고려해야 한다.
이 책은 중요한 비즈니스 자산을 보호하고 API를 보안하는 방법에 대한 내용으로, 보안의 필요성과 API 보안을 위해 사용할 수 있는 옵션에 대해 알려주는 것을 목표로 한다.

[이 책에서 다루는 내용]

■ 엔터프라이즈 API의 안전한 설계, 개발, 배포
■ 비즈니스 요구 사항에 맞는 보안 표준 및 프로토콜 선택
■ OAuth 2.0 위협 환경을 이해해 보안 악용 완화
■ 인증을 통합해 기업 방화벽을 넘어 비즈니스 API 확장
■ API를 보호를 통해 엣지에서 마이크로서비스 보호
■ API에 안전하게 액세스하기 위한 네이티브 모바일 애플리케이션 개발
■ OAuth 2.0으로 보호되는 SaaS API와 애플리케이션 통합
저자

프라바스시리와데나

PrabathSiriwardena
신원전도사,저자,블로거,WSO2에서신원관리및보안부사장이다.〈Fortune〉이선정한100/500기업을포함해글로벌기업을위한중요한신원및액세스관리(IAM)인프라를설계하고구축하는데12년이상의업계경험이있다.기술전도사로서7권의책을썼다.블록체인,PSD2,GDPR,IAM부터마이크로서비스보안에이르기까지다양한주제로블로그글을작성한다.또한유튜브(YouTube)채널을운영한다.RSA콘퍼런스,KNOWIdentity,Identiverse,EuropeanIdentityConference,ConsumerIdentityWorldUSA,APIWorld,APIStrategyandPracticeConference,QCon,OSCON,WSO2Con을비롯한많은콘퍼런스에서발표했다.IAM커뮤니티를전파하려고전세계를여행하며워크숍과밋업을진행하고있다.샌프란시스코베이지역에서가장큰IAM밋업인‘SiliconValleyIAMUserGroup’의창립자다.

목차

지은이소개
감사의글
옮긴이소개
옮긴이의말
들어가며

1장.API규칙
__API경제
____아마존
____세일즈포스
____우버
____페이스북
____넷플릭스
____월그린스
____정부
____IBM왓슨
____오픈뱅킹
____헬스케어
____웨어러블
____사업모델
__API의변화
__API관리
__마이크로서비스에서API의역할
__요약

2장.API보안설계
__문제의삼위일체
__설계도전과제
____사용자경험
____성능
____가장취약한연결고리
____심층방어
____내부자공격
____감추는것을통한보안
__설계원칙
____최소권한
____고장안전디폴트
____메커니즘의경제성
____완전한중재
____개방형설계
____권한분리
____최소공통메커니즘
____심리적수용
__보안3요소
____기밀성
____무결성
____가용성
__보안제어
____인증
____인가
____부인방지
____감사
__요약

3장.전송계층보안을이용한API보안
__환경설정
__OrderAPI의배포
__전송계층보안을이용한OrderAPI보안
__TLS상호인증을이용한OrderAPI보호
__도커에서OpenSSL실행
__요약

4장.OAuth2.0기초
__OAuth2.0이해
__OAuth2.0구성요소
__승인방식
____인가코드승인방식
____암시적승인유형
____자원소유자패스워드자격증명승인유형
____클라이언트자격증명승인유형
____갱신승인유형
____적절한승인유형을선택하는방법
__OAuth2.0토큰유형
____OAuth2.0베어러토큰프로필
__OAuth2.0클라이언트유형
__JWT보안인가요청(JAR)
__푸시된인가요청
__요약

5장.API게이트웨이를이용한에지보안
__ZuulAPI게이트웨이설정
____OrderAPI실행
____ZuulAPI게이트웨이실행
____배후에서벌어지는일
__ZuulAPI게이트웨이에서TLS활성화
__ZuulAPI게이트웨이에서OAuth2.0토큰유효성검사시행
____OAuth2.0보안토큰서비스설정
____OAuth2.0보안토큰서비스테스트
____OAuth2.0토큰유효성검사를위한ZuulAPI게이트웨이설정
__ZuulAPI게이트웨이와주문서비스사이에서상호TLS활성화
__독립형액세스토큰을이용한OrderAPI보안
____JWT를발행하기위한인가서버설정
____JWT를이용한ZuulAPI게이트웨이보호
__웹애플리케이션방화벽의역할
__요약

6장.OpenID커넥트(OIDC)
__OpenID부터OIDC까지
__아마존은여전히OpenID2.0을사용한다
__OpenID커넥트이해
__ID토큰분석
__OpenID커넥트요청
__사용자속성요청
__OpenID커넥트흐름
__사용자정의사용자속성요청
__OpenID커넥트디스커버리
__OpenID커넥트ID공급자메타데이터
__동적클라이언트등록
__보안API를위한OpenID커넥트
__요약

7장.JSON웹서명을이용한메시지수준보안
__JSON웹토큰의이해
____JOSE헤더
____JWT클레임세트
____JWT서명
__JSON웹서명(JWS)
____JWS콤팩트직렬화
____콤팩트직렬화의서명절차
____JWSJSON직렬화
____JSON직렬화의서명절차
__요약

8장.JSON웹암호화를이용한메시지수준보안
__JWE콤팩트직렬화
____JOSE헤더
____JWE암호화키
____JWE초기화벡터
____JWE암호문
____JWE인증태그
____암호화절차(콤팩트직렬화)
__JSON직렬화
____JWEProtected헤더
____JWESharedUnprotected헤더
____JWEPer-RecipientUnprotected헤더
____JWE초기화벡터
____JWE암호문
____JWE인증태그
__암호화절차(JSON직렬화)
__NestedJWTs
__요약

9장.OAuth2.0프로파일
__토큰내부검사
__체인승인방식
__토큰교환
__동적클라이언트등록프로파일
__토큰폐지프로파일
__요약

10장.네이티브모바일앱을통한API접근
__모바일싱글사인온(SSO)
____자격증명을직접이용한로그인
____WebView를이용한로그인
____시스템브라우저를이용한로그인
__네이티브모바일앱에서OAuth2.0사용
____앱간통신
____PKCE
__브라우저리스(Browser-less)앱
____OAuth2.0디바이스인가승인
__요약

11장.OAuth2.0토큰바인딩
__토큰바인딩의이해
____토큰바인딩협상
__토큰바인딩프로토콜협상을위한TLS확장
__키생성
__소유증명
__OAuth2.0리프레시토큰을위한토큰바인딩
__OAuth2.0인가코드/액세스토큰을위한토큰바인딩
__TLS종료
__요약

12장.API접근페더레이팅
__페더레이션활성화
__브로커인증
__보안어써션마크업언어(SAML)
__SAML2.0클라이언트인증
__OAuth2.0을위한SAML승인유형
__OAuth2.0을위한JWT승인유형
__JWT승인유형애플리케이션
__JWT클라이언트인증
__JWT클라이언트인증애플리케이션
__JWT파싱과검증
__요약

13장.사용자관리액세스
__사용예
__UMA2.0역할
__UMA프로토콜
__대화형클레임수집
__요약

14장.OAuth2.0보안
__ID제공자혼합
__사이트간요청위조(CSRF)
__토큰재사용
__토큰노출/export
__오픈리다이렉트
__코드차단공격
__암시적승인유형에서의보안결함
__구글문서피싱공격
__요약

15장.패턴과연습
__신뢰할수있는서브시스템을통한직접인증
__위임된접근통제를통한단일사용자인증
__위임된윈도우인증을통한단일사용자인증
__위임된접근통제를통한자격증명프록시
__위임된접근통제를통한JSON웹토큰
__JSON웹서명을통한부인방지
__사슬로연결된접근위임
__신뢰할수있는마스터접근위임
__위임된접근통제를통한자원보안토큰서비스
__유선으로인증정보를전달하지않는위임된접근권한
__요약

부록A.인증위임의진화
__직접위임과중개위임
__진화
____GoogleClientLogin
____GoogleAuthSub
____플리커인증API
____야후!브라우저기반인증(BBAuth)
____OAuth

부록B.OAuth1.0
__토큰댄스
____임시인증정보요청단계
____자원소유자권한부여단계
____토큰인증정보요청단계
____OAuth1.0을사용하는보호된비즈니스API호출
__oauth_signature이해
____임시인증정보요청단계에서기본문자열생성
____토큰인증정보요청단계에서기본문자열생성
____서명생성
____API호출에서기본문자열생성
__삼각OAuth와이각OAuth
__OAuthWRAP
____클라이언트계정과패스워드프로파일
____증명프로파일
____사용자이름과패스워드프로파일
____웹앱프로파일
____리치앱프로파일
____WRAP로보호된API접근
____OAuth2.0에WRAP
부록C.TLS의동작방식
__TLS의변화
__전송제어프로토콜
__TLS는어떻게동작하는가
____TLS핸드셰이크
____애플리케이션데이터전송

부록D.UMA의발전
__서비스제공보호규약
____UMA와OAuth
__UMA1.0구조
__UMA1.0의진행단계
____UMA1단계:자원보호
____UMA2단계:인증획득
____UMA3단계:보호된자원접근
__UMAAPI
____ProtectionAPI
____AuthorizationAPI

부록E.Base64URL인코딩

부록F.기본/다이제스트인증
__HTTP기본인증
__HTTP다이제스트인증

부록G.OAuth2.0MAC토큰프로필
__베어러토큰과MAC토큰
__MAC토큰획득
__OAuth2.0MAC토큰프로필로보호된API호출
__MAC계산
__자원서버에의한MAC유효성검사
__OAuth승인유형과MAC토큰프로필
__OAuth1.0과OAuth2.0MAC토큰프로필

찾아보기

출판사 서평

[옮긴이의말]
지금시대에서API는선택이아닌필수다.많은기업이앞다투어‘API화’에총력을기울이고있다.그에따라중요한자산들이자연스럽게노출되고있으며,설계단계에서부터의보안이대두되고있다.
이책은개념과이론을단순히제시하는것뿐만아니라구체적인예시를통해API를안전하게관리하고사용하는방법을설명한다.API개발자에게필수서적이될것이다.
-강병윤

요즘앱을포함한거의모든사이트에‘구글’,‘페이스북’,‘카카오톡’등으로로그인하는기능이있다.또한인터넷시장이커지면서각사이트끼리정보를교류하며동작하는애플리케이션이많아졌다.이기능을OAuth가해결해줄수있는데,이를잘못이용하면큰취약점이생기게된다.요즘보안사고가발생해해당애플리케이션뿐아니라기업의이미지가심각하게손상을입는경우를쉽게볼수있다.이제개발자에게보안코딩은필수역량이됐다.
이책은OAuth에대한개념이없는사람도이해할수있게OAuth에대한설명부터시작한다.그리고공격자가어떻게공격하는지,공격을어떻게막을수있는지설명했다.OAuth를사용하려는개발자에게굉장히훌륭한지침서가될것이고,정보보안일을하고있는사람도단순한해킹기술이아닌OAuth의지식도쌓을수있다.OAuth의기초부터해킹,보안코딩까지OAuth보안과관련된폭넓은주제를깊이있게다뤄OAuth보안과관련실무담당자에게훌륭한안내서가될것이다.
-김한수