Docs Menu
Docs Home
/ /
Realm 파일

Realm 암호화 - .NET SDK

Realm을 암호화하여 디스크에 저장된 데이터를 애플리케이션 외부에서 읽을 수 없도록 할 수 있습니다. Realm을 열 때 64바이트 암호화 키를 제공하여 AES-256 + SHA-2로 디스크의 Realm 파일을 암호화합니다.

Realm 지정된 비트256 암호화 키 의 처음 256 비트를 사용하여 표준 AES- 암호화 로 데이터를 투명하게 암호화하고 512해독합니다. Realm 비트 256 512암호화 키 의 다른 비트를 사용하여 해시 기반 메시지 인증 코드(HMAC)를 통해 무결성을 검증합니다.

경고

영역 암호화 키에 암호화가 취약한 해시를 사용하지 마십시오. 최적의 보안을 위해 파생된 암호화 키가 아닌 임의의 암호화 키를 생성하는 것이 좋습니다.

참고

암호화되지 않은 기존 Realm을 암호화할 수 없습니다.

영역을 처음 열 때 영역을 암호화해야 합니다. 암호화 키가 포함된 구성을 사용하여 암호화되지 않은 기존 영역을 열려고 하면 Realm에서 오류가 발생합니다.

다음은 영역을 암호화할 때 고려해야 할 주요 영향입니다.

암호화된 영역을 열 때마다 반드시 동일한 암호화 키를 전달해야 합니다. 키를 제공하지 않거나 암호화된 영역에 잘못된 키를 지정하면 Realm SDK에서 오류가 발생합니다.

앱은 다른 앱이 키를 읽을 수 없도록 암호화 키 일반적으로 대상 플랫폼의 보안 키/값 저장 에 안전하게 저장 해야 합니다. 예시를 들어, Maui 보안 저장소 또는 Xamarin 보안 저장소 를 사용하여 기본 저장에 대한 액세스를 간소화할 수 있습니다. 궁극적으로 공격자가 키 액세스 할 수 없도록 하는 것은 개발자의 책임입니다.

암호화된 영역의 읽기 및 쓰기 속도는 암호화되지 않은 영역보다 최대 10% 느릴 수 있습니다.

중요

Realm 인스턴스를 얻을 때마다 동일한 암호화 키를 제공해야 합니다. 암호화된 Realm에 대해 키를 제공하지 않거나 잘못된 키를 지정하면 GetInstance 를 호출할 때 RealmFileAccessErrorException 이 발생합니다.

동기화된 영역을 암호화할 수 있습니다.

애플리케이션의 각 사용자에 대해 고유 키가 필요한 경우 OAuth 제공자 (예: MAUI.Auth) 및 Xamarin.Auth를 사용하거나 Realm 인증 제공자인증 트리거 중 하나를 사용하여 64-비트 키를 입력하고 해당 키를 사용자 객체에 저장.

버전 11.0.0에서 변경되었습니다.

Realm .NET SDK 버전 11.0.0부터 Realm은 여러 프로세스에서 동일한 암호화된 영역을 열 수 있도록 지원합니다.

이전 버전의 Realm .NET SDK에서는 여러 프로세스에서 동일한 암호화된 Realm을 열 수 없습니다. 이를 시도하면 "암호화된 프로세스 간 공유는 현재 지원되지 않습니다."라는 오류가 발생합니다.

경고

영역 암호화 키에 암호화가 취약한 해시를 사용하지 마십시오. 최적의 보안을 위해 파생된 암호화 키가 아닌 임의의 암호화 키를 생성하는 것이 좋습니다.

다음 코드는 암호화 키를 생성하고 암호화된 영역을 여는 방법을 보여 줍니다.

// Check if we already have a key stored in the platform's secure storage.
// If we don't, generate a new one:
var encryptionKey = new byte[64];
using var rng = RandomNumberGenerator.Create();
rng.GetBytes(encryptionKey);
// Store the key securely to be used next time we want to open the Realm.
// Create configuration.
var config = new RealmConfiguration
{
EncryptionKey = encryptionKey
};
// Open or create a realm with the encryption key.
var realm = Realm.GetInstance(config);

돌아가기

Realm 파일 크기 줄이기

이 페이지의 내용