모바일 보안
플랫폼의 ServiceNow 모바일 보안 기능에 대해 알아봅니다.
ServiceNow 모바일 아키텍처
ServiceNow 모바일앱은 서버 인스턴스와 및 Android용 네이티브 앱 iOS 으로 ServiceNow 구성됩니다. 앱은 완전한 네이티브 코드를 사용하며 하이브리드 접근 방식이 아닙니다. 모바일 앱은 무선 네트워크를 통해 서버와 데이터를 송수신합니다.
플랫폼 보안의 ServiceNow 모바일 주요 기능 개요
- 모바일 앱은 보안 ServiceNow 플랫폼과 API를 사용하여 사용자에게 원활한 모바일 경험을 제공합니다.
- 앱/서버 상호작용은 OAuth 인증 부여 프레임워크를 통해 보호됩니다.
- 앱의 ServiceNow 사용자 인터페이스 대부분은 플랫폼에서 제공하는 메타데이터를 통해 구동됩니다.ServiceNow
- ServiceNow 모바일 앱은 ServiceNow 플랫폼에서 모든 데이터를 가져와 앱 클라이언트 계층의 로컬 캐시에 저장합니다.
- 인스턴스와 ServiceNow 주고받는 데이터와 로컬에 저장된 데이터는 암호화됩니다.
- 앱의 ServiceNow 경우 iOS 장치 수준 PIN 또는 생체 인식 보안을 강제 적용하여 Core Data에서 OS 수준 FIPS 140-2 확인 디스크 암호화를 사용합니다. iOS 운영 체제 업데이트를 통해 FIPS 호환 암호 제품군을 최신 상태로 유지합니다.
- Android 앱의 경우 ServiceNow는 SQLCipher SDK를 사용합니다. 이 SDK는 룸 DB에 저장된 모든 앱 데이터에 대해 FIPS 140-2 인증 암호화 모듈을 사용하여 암호화를 제공합니다.앱의 클라이언트 버전 20.1.0 Android 에서는 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 암호 제품군이 추가되었으며 아래 CBC 암호에 대한 지원이 중단되었습니다.
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
암호 불일치로 인해 SSL 핸드셰이크 문제가 발생하는 경우 인스턴스에서 지원되는 암호를 검토하고 지원되는 암호를 하나 더 추가합니다.
다음은 다음에서 지원되는 암호 목록입니다.Android- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
앱 플로우 개요
ServiceNow 모바일 앱은 로그인에 성공하면 초기 사용자 경험을 가져오기 시작합니다. 모바일 앱은 메타데이터를 가져와 인스턴스에서 방문 홈 화면을 렌더링합니다. 그런 다음 앱은 이 메타데이터를 사용하여 홈 화면을 렌더링합니다.
데이터 검색
- 데이터 읽기
- 사용자가 모바일 앱에서 정보를 보도록 요청하면 다음 단계가 수행됩니다.
- 모바일 앱은 인스턴스의 데이터에 액세스하기 위한 요청을 보냅니다. 요청에는 토큰과 요청에 필요한 관련 데이터 필드가 포함됩니다.
- 인스턴스가 요청을 수신하고 토큰이 유효한지 검사합니다.
- 토큰이 유효하면 인스턴스는 정보를 가져오기 위해 관련 API에 요청을 리디렉션합니다.
- 인스턴스가 정보를 모바일 앱에 반환합니다.
- 문서 다운로드 중
- 사용자가 앱에서 문서 다운로드를 요청하면 다음 단계가 수행됩니다.
- 모바일 앱이 문서에 액세스하기 위한 요청을 보냅니다. 요청에 토큰이 포함됩니다.
- 인스턴스가 요청을 수신하고 토큰이 유효한지 확인합니다.
- 인스턴스가 접근 제어 목록(ACL) 규칙을 확인합니다.
- 유효한 경우 문서를 볼 수 있습니다.
- 필드 업데이트를 위한 쓰기 저장
- 사용자가 모바일 앱에서 필드를 업데이트하면 다음 단계가 수행됩니다.
- 모바일 앱은 토큰과 작업 메타데이터를 인스턴스로 보냅니다. 예를 들어 업데이트할 ID 또는 필드입니다.
- 인스턴스는 관련 API를 기반으로 작업을 지시합니다.
- 인스턴스가 작업을 완료하고 모바일 앱에 응답을 보냅니다.
- 응답에 따라 모바일 앱은 필드 변경 내용과 작업 가용성을 UI에 반영합니다.
- 파일 첨부를 위한 쓰기 저장
- 파일을 첨부할 때 다음 단계가 수행됩니다.
- 모바일 앱은 사용자에게 이미지와 같은 파일을 첨부하라는 메시지를 표시합니다.
- 모바일 앱은 파일과 토큰을 인스턴스로 보냅니다.
- 인스턴스는 관련 API를 기반으로 파일을 배치합니다.
- 인스턴스가 모바일 앱에 응답을 다시 보냅니다.
모바일 인증
ServiceNow 모바일 앱은 OAuth 2.0을 사용한 플랫폼 인증을 지원합니다. 인증 메커니즘에는 다중 제공자 SSO, MFA, LDAP, 로컬 DB 및 다이제스트가 포함됩니다. ServiceNow 모바일 앱은 AppAuth라는 인증 방법을 사용합니다. AppAuth는 외부 모바일 브라우저를 사용하여 사용자를 로그인합니다.
- 인증 플로우
사용자가 모바일 장치에서 앱에 로그인하면 앱에서 사용자의 자격 증명을 사용하여 인스턴스와 OAuth 토큰을 협상합니다. 키체인은 iOS 장치에 대한 토큰을 저장합니다 iOS . Android 장치에서 KeyStore를 사용합니다. 키체인 암호화는 GCM(갈루아/카운터 모드)에서 AES 256입니다.
최초 로그인 시, 인스턴스는 사용자에게 접근 토큰과 새로 고침 토큰을 제공합니다. 이러한 토큰은 인스턴스에서 구성할 수 있는 기간 동안 유효합니다. 사용자가 모바일 앱을 열면 클라이언트는 접근 토큰이 유효한지 확인합니다. 유효한 경우 사용자는 세션을 계속할 수 있습니다. 유효하지 않은 경우 클라이언트는 새로 고침 토큰이 유효한지 확인합니다. 유효한 경우 새로 고침 토큰은 사용자에 대한 유효한 새 액세스 토큰을 가져오는 데 사용되며 세션을 계속할 수 있습니다. 새로 고침 토큰이 유효하지 않은 경우 사용자는 다시 인증해야 합니다.
- 접근 및 새로 고침 토큰
- 모바일 앱은 사용자 암호를 저장하지 않습니다.
- 모바일 앱은 인증 플로우의 일부로 OAuth 토큰을 가져오는 데 필요한 클라이언트 ID를 저장합니다.
- 사용자 종료
- 관리자가 인스턴스에서 사용자를 삭제하거나 제거하면 접근 토큰이 더 이상 유효하지 않으며 모든 작업이 사용자를 로그아웃합니다.
- 복수 제공자 SSO
- 다중 제공자 SSO 플러그인 [com.snc.integration.sso.multi.installer]은 SAML 인증 지원을 제공합니다. 로그인 프로세스(AppAuth)는 SAML을 사용할 때 이 플러그인을 사용하여 사용자를 IDP(SAML 제공자) 로그인 페이지로 리디렉션합니다.
- Multifactor Authentication
- 사용자는 MFA 플러그인 [com.snc.integration.multifactor.authentication]을 사용하여 Multifactor Authentication을 통해 인스턴스에 액세스할 수 있습니다. 모바일 앱은 모바일 앱에서 인스턴스를 선택한 후 사용자를 로그인 페이지로 안내합니다.
- LDAP
- LDAP 자격 증명을 사용하여 액세스하려면 LDAP 인증을 사용하십시오. 사용자는 로컬 로그인(DB 기반)과 동일한 로그인 페이지를 보지만 LDAP 서버의 백엔드는 인증을 삭제합니다.
데이터 보안
ServiceNow 모바일 앱은 데이터 보안을 위해 SSL/TLS 무선(OTA) 통신 암호화를 사용합니다. OAuth 권한 부여 엔드포인트는 HTTPS입니다.
- 저장 데이터(DAR)
즐겨찾기, 홈 화면, 모바일 네비게이터 항목과 같은 애플리케이션 기본 설정 데이터는 장치에 로컬로 저장 및 캐시됩니다. 조직에서 현장 서비스에 대해 오프라인 동기화를 특별히 활성화하지 않는 한, 모바일 앱은 인시던트 및 문제와 같은 기록 데이터를 장치에 저장하지 않습니다. 오프라인 모드에서 저장된 레코드 데이터는 FIPS 140-2 검증 모듈로 암호화됩니다. (iOS 암호화에 이 암호화 모듈을 사용하는 암호화 모듈 및 SQL 암호 Android ).
- 모션 데이터
- 이동 중인 데이터는 보안 SSL/TLS 채널을 통해 이루어지며 FIPS 140-2 검증 모듈로 암호화됩니다.
- 데이터 손실 방지
- ServiceNow 는 EMM(Enterprise Mobility Management) 제품군에서 장치 및 애플리케이션을 관리할 필요 없이 데이터 손실 방지 기능을 제공합니다. 이러한 기능에는 복사/붙여넣기 제한, PIN 강제 적용, 첨부 파일 차단 및/또는 흐림 기능이 포함됩니다.
- 복사/붙여넣기 제한
- 복사/붙여넣기 제한은 시스템 속성 테이블의 속성으로 정의됩니다.
- 앱 PIN 필요
- 사용자가 모바일 장치에서 로그인할 때마다 또는 애플리케이션이 5분 동안 비활성 상태인 경우 6자리 PIN을 입력하도록 요구합니다. 앱 PIN을 요구하는 것은 시스템 속성 테이블의 속성으로 제어됩니다.
- 모바일 장치에서 첨부 파일 비활성화
- 특히 모바일 장치에서 첨부 파일을 차단하도록 ACL 규칙을 구성할 수 있습니다.
isMobile메서드를 사용하여 요청이 모바일 장치에서 왔는지 확인합니다. 예를 들어 읽기 및 쓰기 스크립트된 ACL에 다음 검사가 포함된 첨부 파일 [sys_attachment] 테이블에 대한 ACL 규칙을 추가할 수 있습니다. - 앱 흐리게 표시 옵션 활성화
- 시스템 속성 테이블의 다음 시스템 속성을 사용하여 모바일 장치에 초점을 맞추지 않을 때 모바일 앱을 흐리게 합니다.
- 침투 테스트
ServiceNow 는 외부 공급업체와 협력하여 모바일 앱의 침투 테스트를 수행합니다. 이는 일반적으로 매년 발생하지만 때로는 더 자주 발생합니다. 이러한 테스트 결과는 고객이 사용할 수 있습니다. 보안 테스트에 대한 자세한 내용은 다음을 참조하십시오. KB0538598: 고객 인스턴스 보안 테스트 | 정책 및 절차
- 보안 패치 적용
- 보안 패치가 필요한 경우 모바일 개발 팀은 패치를 적용하기 위해 표준 SDLC 속성에 맞춰 패치를 적용합니다.
- 사용자 데이터 수집
모바일 앱은 특별히 사용자 데이터를 수집하지 않습니다.
앱 내에서의 사용자 트랜잭션 또는 사용량은 웹에서와 마찬가지로 인스턴스에서도 ServiceNow 추적됩니다. 사용자 자격 증명의 경우 사용자가 로그인한 후 모바일 앱은 키체인 또는 Android 키 스토어에 저장된 OAuth 토큰을 협상합니다.Apple 사용자 자격 증명은 절대 저장되지 않습니다. 사용자가 옵트인하면 다음 정보가 수집됩니다.
- 위치
- 카메라에 대한 액세스
- 알림