Getting started with Bluetooth Low Energy - 4.7. 보안

목록

Security

보안

“Security Modes and Procedures” on page 46 discusses how the GAP authentication procedure can be used to transition from one security mode to a higher, more secure one by using the different means available within the Security Manager and GAP.

46페이지의 "보안 모드 및 절차"에서는 보안 관리자 및 GAP 내에서 사용할 수 있는 다양한 수단을 사용하여 GAP 인증 절차를 사용하여 하나의 보안 모드에서 보다 높고 안전한 보안 모드로 전환하는 방법을 설명합니다.

GATT transactions can act as triggers of such an authentication procedure.

GATT 트랜잭션/거래는 그러한 인증 절차의 트리거 역할을 할 수 있습니다.

As discussed in “Permissions” on page 54, each attribute within a GATT server has fine-grained, independent permissions for both reading and writing, and these permissions are enforced at the ATT level.

54페이지의 "권한"에서 설명한 대로 GATT 서버 내의 각 속성은 읽기 및 쓰기 모두에 대해 세분화되고 독립적인 권한을 가지며 이러한 권한은 ATT 수준에서 적용됩니다.

Generally speaking, attributes that are declarations require no special security to be accessed.

일반적으로 선언된 속성에는 액세스하는 데 특별한 보안이 필요하지 않습니다.

This is true for both service and characteristic declarations, but not for descriptor declarations, which contain the relevant data directly in them, rather than in a separate attribute.

이는 서비스 및 특성 선언 모두에 적용되지만 별도의 속성이 아닌 관련 데이터를 직접 포함하는 설명자 선언에는 적용되지 않습니다.

This is done so that clients that have not yet paired or bonded with a server can at least perform basic service and characteristic discovery, without having to resort to performing security procedures.

이는 아직 서버와 페어링되거나 결합되지 않은 클라이언트가 보안 절차를 수행하지 않고도 최소한 기본 서비스 및 특성 검색을 수행할 수 있도록 하기 위한 것입니다.

The attribute layout and data hierarchy of a server is not considered to be sensitive information and is therefore freely available to all clients.

서버의 속성 레이아웃 및 데이터 계층 구조는 민감한 정보로 간주되지 않으므로 모든 클라이언트가 자유롭게 사용할 수 있습니다.

When accessing a characteristic value or a descriptor declaration (also called service request), however, a client can receive an error response ATT packet (see “ATT operations” on page 26), indicating that the connection’s current security level is not high enough for the request to be executed.

하지만 특성 값이나 설명자 선언(서비스 요청이라고도 함)에 액세스할 때 클라이언트는 오류 응답 ATT 패킷을 수신할 수 있습니다 (26페이지의 "ATT 작업" 참조). 이는 연결의 현재 보안 수준이 요청을 실행하기에 충분히 높지 않음을 나타냅니다.

The following two error codes are commonly used for this purpose and placed in the error response packet:

다음 두 오류 코드는 일반적으로 이 목적으로 사용되며 오류 응답 패킷에 배치됩니다.

Insufficient Authentication

부족족한 인증

Denotes that the link is not encrypted and that the server does not have a long-term key (LTK, first introduced in “Security Keys” on page 31) available to encrypt the link, or that the link is indeed encrypted, but the LTK used to perform the encryption procedure is not authenticated (generated with man-in-the-middle protection; see “Authentication” on page 45) while the permissions required authenticated encryption.

링크가 암호화되지 않았고 서버에 링크를 암호화하는 데 사용할 수 있는 장기 키 (LTK, 31페이지의 "보안 키"에서 처음 소개)가 없거나, 링크가 실제로 암호화되었지만 암호화 절차를 수행하는 데 사용된 LTK가 인증되지 않았음을 나타냅니다 (중간자 보호 기능으로 생성됨, 45페이지의 "인증" 참조). 반면 권한은 인증된 암호화를 필요로 합니다.

Insufficient Encryption

불충분한 암호화

Denotes that the link is not encrypted but a suitable LTK is available.

링크가 암호화되지 않았지만 적합한 LTK를 사용할 수 있음을 나타냅니다.

GAP and GATT roles are not linked in any way and can be mixed and matched freely, but security procedures are always initiated by the GAP central (see “Security Manager (SM)” on page 28).

GAP 및 GATT 역할은 어떤 방식으로도 연결되지 않으며 자유롭게 혼합 및 일치될 수 있지만 보안 절차는 항상 GAP 중앙에 의해 시작됩니다(28페이지의 "보안 관리자(SM)" 참조).

Therefore, depending on which peer is acting as a central and which as a peripheral, it can be up to either the GATT client or the GATT server to initiate the pairing, bonding, or encryption procedure in order to raise the security level of the connection.

따라서 어느 피어가 중앙 피어이고 어느 피어가 주변 피어인지에 따라, 연결의 보안 수준을 높이기 위해 페어링, 본딩 또는 암호화 절차를 시작하는 것은 GATT 클라이언트나 GATT 서버의 몫이 될 수 있습니다.

Once the security level matches the one required by the attribute’s permissions, the client can send the request again to be executed on the server.

보안 수준이 속성의 권한에 필요한 수준과 일치하면 클라이언트는 서버에서 실행되도록 요청을 다시 보낼 수 있습니다.