이 저장소에는 SDM(Secure Debug Manager)에 대한 API 정의가 포함되어 있습니다.
SDM은 보안 디버그 프로토콜을 구현하는 호스트 측 구성 요소입니다. 보안 디버그를 위한 추상 시스템 아키텍처는 다음과 같습니다.
디버그 클라이언트는 잠긴 대상에 대한 디버그 액세스를 요청하는 프로세스입니다. 일반적으로 이는 개발자나 기술자가 사용하는 IDE 또는 독립 실행형 디버거이지만 대상에 대한 디버그 액세스가 필요한 모든 종류의 도구일 수 있습니다. SDM은 디버그 클라이언트가 디버그 액세스를 안전하게 잠금 해제하는 데 사용됩니다.
SDM API에 대한 요구 사항은 다음과 같습니다.
SDM API를 사용하면 도구에서 단일 API를 사용하여 다양한 보안 디버그 구현을 지원할 수 있습니다. 도구 공급업체는 이 API를 사용하여 실리콘 및 소프트웨어 공급업체는 물론 자체에 대한 지원 부담을 완화하고 사용자에게 간단하고 사용하기 쉬운 보안 디버그 통합을 제공하는 것이 좋습니다.
목표는 실리콘 또는 소프트웨어 공급업체가 장치 지원의 일부로 도구에 포함된 공유 라이브러리로 API 구현을 제공하는 것입니다.
SDM API는 디버그 아키텍처에 구애받지 않도록 설계되었으므로 Arm ADI 이외의 디버그 아키텍처에서 사용할 수 있습니다. 그러나 특정 API 구현은 해당 API가 작성된 디버그 아키텍처만 지원합니다. 또한 현재는 Arm ADI용 API만 지정되어 있습니다.
SDM API는 모든 보안 디버그 프로토콜을 지원합니다. PSA ADAC(Authenticated Debug Access Control) 프로토콜에 대한 참조 구현이 제공됩니다. 이 참조 구현의 일부로 추가 하위 수준 API가 계획되어 있습니다. 이는 자격 증명 공급자 및 디버그 사서함 인터페이스와 같은 계층을 정의합니다.
기본 secure_debug_manager.h
헤더 파일은 include/
디렉터리에 있습니다.
API에 대한 문서를 생성하는 데 doxygen 구성 파일을 사용할 수 있습니다.
XML 매니페스트 파일은 SDM 공유 라이브러리에 포함됩니다. 포함된 xml/example-manifest.xml
파일은 실험용 매니페스트 예시입니다.
매니페스트는 여러 가지 용도로 사용됩니다.
결국 매니페스트에 대한 스키마가 생성됩니다.
API의 전체 구조는 잘 정의되어 있으며 일부 세부 사항이 진행 중입니다. 모든 피드백에 감사드립니다.
PSA ADAC 관련 하위 수준 API는 아직 정의되지 않았습니다.
파일에는 BSD 3-Clause 라이센스가 적용됩니다.
저작권 © 2020-2022 Arm Ltd.