이미 소장하고 있다면 판매해 보세요.
|
1장. API 규칙
__API 경제 ____아마존 ____세일즈포스 ____우버 ____페이스북 ____넷플릭스 ____월그린스 ____정부 ____IBM 왓슨 ____오픈 뱅킹 ____헬스케어 ____웨어러블 ____사업 모델 __API의 변화 __API 관리 __마이크로서비스에서 API의 역할 __요약 2장. API 보안 설계 __문제의 삼위일체 __설계 도전 과제 ____사용자 경험 ____성능 ____가장 취약한 연결고리 ____심층 방어 ____내부자 공격 ____감추는 것을 통한 보안 __설계 원칙 ____최소 권한 ____고장 안전 디폴트 ____메커니즘의 경제성 ____완전한 중재 ____개방형 설계 ____권한 분리 ____최소 공통 메커니즘 ____심리적 수용 __보안 3 요소 ____기밀성 ____무결성 ____가용성 __보안 제어 ____인증 ____인가 ____부인 방지 ____감사 __요약 3장. 전송 계층 보안을 이용한 API 보안 __환경 설정 __Order API의 배포 __전송 계층 보안을 이용한 Order API 보안 __TLS 상호 인증을 이용한 Order API 보호 __도커에서 OpenSSL 실행 __요약 4장. OAuth 2.0 기초 __OAuth 2.0 이해 __OAuth 2.0 구성 요소 __승인 방식 ____인가 코드 승인 방식 ____암시적 승인 유형 ____자원 소유자 패스워드 자격증명 승인 유형 ____클라이언트 자격증명 승인 유형 ____갱신 승인 유형 ____적절한 승인 유형을 선택하는 방법 __OAuth 2.0 토큰 유형 ____OAuth 2.0 베어러 토큰 프로필 __OAuth 2.0 클라이언트 유형 __JWT 보안 인가 요청(JAR) __푸시된 인가 요청 __요약 5장. API 게이트웨이를 이용한 에지 보안 __Zuul API 게이트웨이 설정 ____Order API 실행 ____Zuul API 게이트웨이 실행 ____배후에서 벌어지는 일 __Zuul API 게이트웨이에서 TLS 활성화 __Zuul API 게이트웨이에서 OAuth 2.0 토큰 유효성 검사 시행 ____OAuth 2.0 보안 토큰 서비스 설정 ____OAuth 2.0 보안 토큰 서비스 테스트 ____OAuth 2.0 토큰 유효성 검사를 위한 Zuul API 게이트웨이 설정 __Zuul API 게이트웨이와 주문 서비스 사이에서 상호 TLS 활성화 __독립형 액세스 토큰을 이용한 Order API 보안 ____JWT를 발행하기 위한 인가 서버 설정 ____JWT를 이용한 Zuul API 게이트웨이 보호 __웹 애플리케이션 방화벽의 역할 __요약 6장. OpenID 커넥트(OIDC) __OpenID부터 OIDC까지 __아마존은 여전히 OpenID 2.0을 사용한다 __OpenID 커넥트 이해 __ID 토큰 분석 __OpenID 커넥트 요청 __사용자 속성 요청 __OpenID 커넥트 흐름 __사용자 정의 사용자 속성 요청 __OpenID 커넥트 디스커버리 __OpenID 커넥트 ID 공급자 메타데이터 __동적 클라이언트 등록 __보안 API를 위한 OpenID 커넥트 __요약 7장. JSON 웹 서명을 이용한 메시지 수준 보안 __JSON 웹 토큰의 이해 ____JOSE 헤더 ____JWT 클레임 세트 ____JWT 서명 __JSON 웹 서명(JWS) ____JWS 콤팩트 직렬화 ____콤팩트 직렬화의 서명 절차 ____JWS JSON 직렬화 ____JSON 직렬화의 서명 절차 __요약 8장. JSON 웹 암호화를 이용한 메시지 수준 보안 __JWE 콤팩트 직렬화 ____JOSE 헤더 ____JWE 암호화 키 ____JWE 초기화 벡터 ____JWE 암호문 ____JWE 인증 태그 ____암호화 절차(콤팩트 직렬화) __JSON 직렬화 ____JWE Protected 헤더 ____JWE Shared Unprotected 헤더 ____JWE Per-Recipient Unprotected 헤더 ____JWE 초기화 벡터 ____JWE 암호문 ____JWE 인증 태그 __암호화 절차(JSON 직렬화) __Nested JWTs __요약 9장. OAuth 2.0 프로파일 __토큰 내부 검사 __체인 승인 방식 __토큰 교환 __동적 클라이언트 등록 프로파일 __토큰 폐지 프로파일 __요약 10장. 네이티브 모바일 앱을 통한 API 접근 __모바일 싱글 사인온(SSO) ____자격증명을 직접 이용한 로그인 ____WebView를 이용한 로그인 ____시스템 브라우저를 이용한 로그인 __네이티브 모바일 앱에서 OAuth 2.0 사용 ____앱 간 통신 ____PKCE __브라우저리스(Browser-less) 앱 ____OAuth 2.0 디바이스 인가 승인 __요약 11장. OAuth 2.0 토큰 바인딩 __토큰 바인딩의 이해 ____토큰 바인딩 협상 __토큰 바인딩 프로토콜 협상을 위한 TLS 확장 __키 생성 __소유 증명 __OAuth 2.0 리프레시 토큰을 위한 토큰 바인딩 __OAuth 2.0 인가 코드/액세스 토큰을 위한 토큰 바인딩 __TLS 종료 __요약 12장. API 접근 페더레이팅 __페더레이션 활성화 __브로커 인증 __보안 어써션 마크업 언어(SAML) __SAML 2.0 클라이언트 인증 __OAuth 2.0을 위한 SAML 승인 유형 __OAuth 2.0을 위한 JWT 승인 유형 __JWT 승인 유형 애플리케이션 __JWT 클라이언트 인증 __JWT 클라이언트 인증 애플리케이션 __JWT 파싱과 검증 __요약 13장. 사용자 관리 액세스 __사용 예 __UMA 2.0 역할 __UMA 프로토콜 __대화형 클레임 수집 __요약 14장. OAuth 2.0 보안 __ID 제공자 혼합 __사이트 간 요청 위조(CSRF) __토큰 재사용 __토큰 노출/export __오픈 리다이렉트 __코드 차단 공격 __암시적 승인 유형에서의 보안 결함 __구글 문서 피싱 공격 __요약 15장. 패턴과 연습 __신뢰할 수 있는 서브시스템을 통한 직접 인증 __위임된 접근 통제를 통한 단일 사용자 인증 __위임된 윈도우 인증을 통한 단일 사용자 인증 __위임된 접근 통제를 통한 자격증명 프록시 __위임된 접근 통제를 통한 JSON 웹 토큰 __JSON 웹 서명을 통한 부인 방지 __사슬로 연결된 접근 위임 __신뢰할 수 있는 마스터 접근 위임 __위임된 접근 통제를 통한 자원 보안 토큰 서비스 __유선으로 인증 정보를 전달하지 않는 위임된 접근 권한 __요약 부록A. 인증 위임의 진화 __직접 위임과 중개 위임 __진화 ____Google ClientLogin ____Google AuthSub ____플리커 인증 API ____야후! 브라우저 기반 인증(BBAuth) ____OAuth 부록B. OAuth 1.0 __토큰 댄스 ____임시 인증 정보 요청 단계 ____자원 소유자 권한 부여 단계 ____토큰 인증 정보 요청 단계 ____OAuth 1.0을 사용하는 보호된 비즈니스 API 호출 __oauth_signature 이해 ____임시 인증 정보 요청 단계에서 기본 문자열 생성 ____토큰 인증 정보 요청 단계에서 기본 문자열 생성 ____서명 생성 ____API 호출에서 기본 문자열 생성 __삼각 OAuth와 이각 OAuth __OAuth WRAP ____클라이언트 계정과 패스워드 프로파일 ____증명 프로파일 ____사용자 이름과 패스워드 프로파일 ____웹 앱 프로파일 ____리치 앱 프로파일 ____WRAP로 보호된 API 접근 ____OAuth 2.0에 WRAP 부록C. TLS의 동작 방식 __TLS의 변화 __전송 제어 프로토콜 __TLS는 어떻게 동작하는가 ____TLS 핸드셰이크 ____애플리케이션 데이터 전송 부록D. UMA의 발전 __서비스 제공 보호 규약 ____UMA와 OAuth __UMA 1.0 구조 __UMA 1.0의 진행 단계 ____UMA 1단계: 자원 보호 ____UMA 2단계: 인증 획득 ____UMA 3단계: 보호된 자원 접근 __UMA API ____Protection API ____Authorization API 부록E. Base64 URL 인코딩 부록F. 기본/다이제스트 인증 __HTTP 기본 인증 __HTTP 다이제스트 인증 부록G. OAuth 2.0 MAC 토큰 프로필 __베어러 토큰과 MAC 토큰 __MAC 토큰 획득 __OAuth 2.0 MAC 토큰 프로필로 보호된 API 호출 __MAC 계산 __자원 서버에 의한 MAC 유효성 검사 __OAuth 승인 유형과 MAC 토큰 프로필 __OAuth 1.0과 OAuth 2.0 MAC 토큰 프로필 |
Prabath Siriwardena
프라바스 시리와데나의 다른 상품
|
이 책에서 다루는 내용
- 엔터프라이즈 API의 안전한 설계, 개발, 배포 - 비즈니스 요구 사항에 맞는 보안 표준 및 프로토콜 선택 - OAuth 2.0 위협 환경을 이해해 보안 악용 완화 - 인증을 통합해 기업 방화벽을 넘어 비즈니스 API 확장 - API를 보호를 통해 엣지에서 마이크로서비스 보호 - API에 안전하게 액세스하기 위한 네이티브 모바일 애플리케이션 개발 - OAuth 2.0으로 보호되는 SaaS API와 애플리케이션 통합 지은이의 말 이제 기업용 API는 비즈니스 기능을 외부에 노출하는 일반적인 방법이다. 기능을 노출하는 것은 편리하지만 악용의 위험이 있다. 이 책은 중요한 비즈니스 자산을 보호하는 방법과 API의 보안을 설명한다. 소프트웨어 시스템 설계의 경우와 마찬가지로, 사람들은 API 설계 단계에서 보안 요소를 무시하는 경향이 있다. 그리고 배포나 통합 시에만 보안을 걱정하기 시작한다. 보안은 사후에 고려해서는 안 된다. 보안은 모든 소프트웨어 시스템 설계의 필수 요소로 설계 초기부터 신중하게 고려해야 한다. 이 책을 통해 보안의 필요성과 API 보안을 위해 사용할 수 있는 옵션을 알려주는 것을 목표로 집필했다. 이 책에서는 프로세스를 안내하고 더 나은 보안을 위해 API를 설계하는 모범 사례를 공유한다. API 보안은 지난 몇 년 동안 많이 발전해 왔으며, API 보안 표준은 기하급수적으로 성장했다. OAuth 2.0은 가장 널리 채택된 표준이자, 그 위에 솔루션을 구축할 수 있는 프레임워크다. 기존의 HTTP Basic 인증에서 OAuth 2.0까지 API를 보호하는 방법과 OpenID Connect, 사용자 관리 액세스(UMA, User-Managed Access) 등과 같은 OAuth를 기반으로 구축된 프로파일을 자세히 설명한다. JSON은 API 통신에서 중요한 역할을 한다. 오늘날 개발된 대부분의 API는 XML이 아닌 JSON만 지원하므로 여기에서는 JSON 보안에 중점을 두고 설명한다. JSON 웹 암호화(JWE), JSON Web Encryption, JSON 웹 서명(JWS), JSON Web Signature은 JSON 메시지 보안을 위해 점점 더 널리 사용되는 두 가지 표준이다. 후반부에서는 JWE와 JWS를 자세히 다룬다. 또 다른 주요 목적은 개념과 이론을 제시하는 것뿐만 아니라 구체적인 예를 통해 개념과 이론을 설명하는 것이다. 이론을 실제로 적용하는 방법을 보여주는 포괄적인 예시를 제공한다. OAuth 2.0과 관련 프로파일을 사용해 웹 애플리케이션, 단일 페이지 애플리케이션, 네이티브 모바일 애플리케이션, 브라우저가 없는 애플리케이션으로 API에 안전하게 액세스하는 방법을 배울 것이다. API 개발자에게 절실히 필요한 주제를 효과적으로 다루기를 바라며, 즐겁게 읽기를 바란다. 옮긴이의 말 지금 시대에서 API는 선택이 아닌 필수다. 많은 기업이 앞 다투어 ‘API화’에 총력을 기울이고 있다. 그에 따라 중요한 자산들이 자연스럽게 노출되고 있으며, 설계 단계에서부터의 보안이 대두되고 있다. 이 책은 개념과 이론을 단순히 제시하는 것뿐만 아니라 구체적인 예시를 통해 API를 안전하게 관리하고 사용하는 방법을 설명한다. API 개발자에게 필수 서적이 될 것이다. - 강병윤 요즘 앱을 포함한 거의 모든 사이트에 ‘구글’, ‘페이스북’, ‘카카오톡’ 등으로 로그인하는 기능이 있다. 또한 인터넷 시장이 커지면서 각 사이트끼리 정보를 교류하며 동작하는 애플리케이션이 많아졌다. 이 기능을 OAuth가 해결해 줄 수 있는데, 이를 잘못 이용하면 큰 취약점이 생기게 된다. 요즘 보안 사고가 발생해 해당 애플리케이션뿐 아니라 기업의 이미지가 심각하게 손상을 입는 경우를 쉽게 볼 수 있다. 이제 개발자에게 보안 코딩은 필수 역량이 됐다. 이 책은 OAuth에 대한 개념이 없는 사람도 이해할 수 있게 OAuth에 대한 설명부터 시작한다. 그리고 공격자가 어떻게 공격하는지, 공격을 어떻게 막을 수 있는지 설명했다. OAuth를 사용하려는 개발자에게 굉장히 훌륭한 지침서가 될 것이고, 정보 보안 일을 하고 있는 사람도 단순한 해킹 기술이 아닌 OAuth의 지식도 쌓을 수 있다. OAuth의 기초부터 해킹, 보안 코딩까지 OAuth 보안과 관련된 폭넓은 주제를 깊이 있게 다뤄 OAuth 보안과 관련 실무 담당자에게 훌륭한 안내서가 될 것이다. -김한수 |