
컴퓨팅 스토리지 가속화를 위한 Eideticom의 쿼리 처리 장치 IP 코어
비트웨어 파트너 IP 쿼리 처리 장치(QPU) PCIe Gen4 속도로 저장된 데이터 또는 스트리밍 데이터를 쿼리, 분석 또는 재포맷하는 FPGA 기반 가속기를 구축하세요! Eideticom의 쿼리
FPGA 가속을 통해 암호화된 데이터를 해독하거나 키를 공유하지 않고도 계산할 수 있는 이 특별한 솔루션을 지원합니다.
데이터 암호화는 기하급수적으로 증가하는 의료 파일이나 금융 정보와 같은 민감한 정보에 필수적입니다. 이러한 데이터는 데이터베이스에서 기록을 조회하는 등의 처리 기능을 포함하여 경제적인 퍼블릭 클라우드 인프라에 저장하는 것이 이상적입니다. 하지만 암호화로 인해 클라우드 스토리지 제공업체는 개인 키가 필요하고 검색어와 결과를 볼 수 있어야 합니다. 이러한 키 공유와 개인 정보 노출은 심각한 보안 위험을 초래합니다.
위의 예에서는 암호화된 데이터베이스가 퍼블릭 클라우드 서버에 저장되어 있습니다. 검색과 같은 데이터를 검색하려면 클라우드 시스템에서 데이터베이스의 암호화를 해제할 수 있는 개인 키를 보유하고 있어야 할 뿐만 아니라 검색어와 결과에 대한 가시성도 확보해야 합니다. 이러한 데이터는 보안되지 않은 링크를 통해 전달되기 전에 암호화되지만, 클라우드 제공업체가 개인 키를 가지고 있고 보안이 손상되지 않도록 클라우드 제공업체의 시스템에 의존한다는 위험이 있습니다.
이러한 제한으로 인해 의료 기록과 같이 보안성이 높은 데이터의 경우 퍼블릭 클라우드 인프라를 활용할 수 없는 경우가 많습니다.
하지만 수십 년 전에 개발된 기술을 사용하면 개인 키에 대한 암호 해독이나 액세스 권한 제공 없이도 텍스트 검색과 같은 암호화된 데이터를 처리할 수 있습니다. 또한 처리 요청(예: 검색어)과 결과도 암호화할 수 있습니다. 스토리지 제공업체는 민감한 암호화된 데이터를 위험 없이 저장하고 처리할 수 있습니다.
이 기술을 동형 암호화(HE) 라고 하며, 컴퓨팅 요구 사항이 증가하는 몇 가지 수준에서 사용할 수 있습니다. 사실 BittWare의 IA-440i와 같은 강력한 FPGA 카드가 나오기 전까지는 동형 암호화에 필요한 컴퓨팅으로 인해 실제 사용 사례가 심각하게 제한되었습니다.
데이터베이스 검색에 대해 언급했지만 동형 암호화의 다른 잠재적 용도는 많습니다:
동형 암호화 체계는 일반적으로 두 가지 접근 방식 중 하나를 따릅니다:
이 접근 방식을 사용하면 모든 HE 스키마에 존재하는 내부 오류가 너무 커지기 전에 일정량의 처리를 수행할 수 있습니다. 필요한 처리의 깊이를 미리 알면 사용자는 적절한 허용 오차를 가진 HE 스키마를 만들 수 있습니다. 이렇게 하면 최소한의 처리량만 수행하여 처리량을 늘릴 수 있다는 장점이 있습니다.
이 방식 역시 노이즈 증가로 어려움을 겪지만 "부스트래핑"이라는 기술을 사용하여 오류가 너무 커지기 전에 제거합니다. 부스트래핑은 매우 느리지만, 최근 이 성능 병목 현상을 가속화하는 데 일부 진전이 있었습니다.
사용할 HE 체계의 선택은 사용자의 문제 사례에 따라 매우 달라집니다. 따라서 하나의 솔루션이 모든 경우에 적합할 가능성은 거의 없습니다. 또한 HE에서 암호화된 데이터를 처리하는 것은 매우 느리며 유용하게 사용하려면 상당한 가속화가 필요합니다. 다행히도 FPGA는 암호화 체계에 필요한 계산 유형에 매우 능숙하며 어떤 HE 체계가 적합하든 효율적으로 처리할 수 있을 만큼 유연합니다.
동형 암호화는 텍스트 기반 데이터베이스 애플리케이션에만 국한되지 않습니다. 위에서 설명한 것과 동일한 FPGA 가속 시스템은 머신 러닝(ML) 추론과 같은 계산을 위한 서비스로서의 가속화를 제공할 수 있습니다. 예를 들어 의료 분야에서는 환자의 엑스레이를 이미지로 전송하여 클라우드 기반 ML 모델이 이상 징후를 감지하도록 할 수 있습니다. 그러나 데이터베이스 예시와 마찬가지로 이러한 조회를 위해서는 개인 의료 정보(엑스레이 이미지)를 공유 ML 모델 제공업체에 보내야 하며, 추론을 수행하기 위해서는 이미지의 암호화를 해제해야 합니다. 대신 다음 다이어그램에서 여러 사용자에게 안전한 조회를 제공하는 FPGA 가속 HE 및 추론 시스템을 통해 어떤 것이 가능한지 살펴보세요:
이 HE 보안 시스템에서는 환자의 엑스레이, 학습된 ML 모델 및 결과가 공유 의료진의 시스템에서 암호화된 상태로 유지됩니다. 데이터베이스 검색 예시와 마찬가지로, 이상적인 호스트는 공유 리소스에서 많은 사용자와 조회를 처리할 것입니다. 이러한 시스템을 보호하기 위한 동형 암호화의 경우, 레이아웃은 데이터베이스 검색 예시와 매우 유사합니다.
오늘날의 성능 제한
FPGA의 고성능 가속화를 사용하더라도 오늘날의 HE 시스템은 암호화되지 않은 동급 제품보다 암호화되지 않은 동급 시스템보다 훨씬 느립니다. 따라서 광범위한 채택을 위해서는 이러한 성능 격차를 줄이기 위한 더 많은 작업이 필요합니다.
완전 동형 암호화(FHE)가 실현되기 전에 일부 잘 알려진 암호화 체계는 이미 부분 동형화 기능을 일부 보여주었습니다. 암호화 체계 RSA는 두 개의 암호화된 암호 텍스트를 함께 곱하고 해독 시 동등한 일반 텍스트 곱셈 결과를 반환할 수 있다는 점에서 곱셈 동형성을 나타냅니다.
Paillier 암호화 시스템은 추가 암호화 체계의 한 예입니다. 이는 다음과 같이 작성할 수 있습니다...
앞서 언급했듯이 완전 동형 암호화(FHE) 방식은 덧셈과 곱셈 연산을 모두 수행할 수 있는 방식입니다. 이 경우 암호 텍스트의 반복적인 곱셈 또는 덧셈이 허용되는 동시에 원본 평문 텍스트는 복구할 수 있습니다.
HE 방식이 곱셈과 덧셈을 모두 허용하면 논리적 NAND 게이트와 모든 논리 회로를 수행할 수 있습니다.
최초의 FHE 방식 중 하나는 DGHV 방식이었습니다. 이는 우수한 보안을 보장하기 위해 매우 큰 암호 텍스트에 의존했습니다. 암호화 및 암호 해독 체계는 다음 방정식으로 표현됩니다.
좋은 암호화를 위해서는 암호 텍스트가 수천만 비트의 비밀 키와 큰 노이즈 값으로 수천만 비트의 매우 큰 크기여야 합니다. 암호화 체계가 선형 대수 공격에 취약하지 않도록 하려면 노이즈(r)를 신중하게 도입해야 합니다. 이는 아래에 설명되어 있습니다.
이렇게 큰 암호 텍스트를 사용하는 것은 분명히 성능 문제가 있으며, 평문 텍스트 한 비트가 수백만 개의 암호 텍스트 비트로 확장되어 실제 사용 사례에서는 비실용적입니다. 그러나 이것은 최초로 만들어진 기능적 HE 체계 중 하나이며 HE에 대한 학술 연구를 재부팅했습니다.
DGHV 체계의 또 다른 문제점은 암호화에 필요한 무작위 인자가 추가되어 발생하는 노이즈 증가입니다. 이 경우 암호 텍스트를 추가하면 이 노이즈가 1비트 증가하지만, 곱셈을 하면 적용될 때마다 노이즈가 두 배로 증가합니다.
그림은 비밀 키 크기 q에 비해 곱셈 노이즈 ρ가 두 배로 증가하는 것을 보여줍니다. 노이즈가 q를 초과하면 더 이상 오류 없이 평문 텍스트를 복구할 수 없습니다. 즉, 프로세스가 중단되기 전까지 제한된 수의 연산만 처리할 수 있습니다.
이러한 오류 증가를 해결하기 위해 부트스트래핑이라는 기술이 사용됩니다. 부트스트래핑은 암호화 로직을 통해 암호 텍스트를 전달하고 공유 공개 키를 사용하여 암호화함으로써 노이즈를 제거할 수 있습니다. 이는 암호화 텍스트를 복호화(노이즈 제거)하고 다시 암호화하는 것과 동일하지만, 공개 키를 사용하여 원본 평문 텍스트를 복구할 수 없으므로 데이터는 전체적으로 비공개로 유지됩니다. 이 프로세스는 계산 비용이 많이 들지만 노이즈를 제거하여 암호화된 계산을 무제한으로 수행할 수 있는 완전 동형 암호화(FHE) 방식입니다.
오류를 이용한 학습(LWE) 방식은 다항식 평가에 기반하며, 여기서 암호화 키는 이제 N차 다항식의 계수입니다. 다항식의 계수는 단어 크기가 소수인 유한 필드에 있습니다. 보안을 강화하려면 시스템에 노이즈(e)를 추가해야 하는데, 이 방식은 선형 대수를 사용하여 쉽게 풀 수 있습니다.
두 다항식을 더하면 같은 차수의 세 번째 다항식이 생성되지만, 두 다항식을 곱하면 (n+1)2 계수의 이차 다항식이 생성됩니다. 이러한 다항식 항의 수 증가를 보정하기 위해 재선형화라는 기술이 사용됩니다. 다항식의 이차 항을 공개한 다음 이진 분해를 사용하여 결과에서 차감하여 확장된 다항식을 다시 (n+1) 계수로 줄일 수 있습니다. 이 곱셈은 DGHV와 동일한 노이즈 증가 문제를 겪지만, 모듈러스 스위칭이라는 기술을 사용하여 그 효과를 줄일 수 있습니다.
계수를 새로운 소수로 스케일링하여 새로운 계수 "c"가 cnew = c mod 2가 되도록 하면 복호화 결과가 동일하게 유지된다는 것을 알 수 있습니다. 이 관계를 사용하면 노이즈의 기하급수적 증가를 선형적 증가로 전환하여 노이즈 증가가 너무 커지기 전에 암호 텍스트에 대해 더 많은 연산을 수행할 수 있습니다(아래 그림 참조).
이를 평준화된 FHE라고 합니다. 계산의 깊이를 알고 있다면 주어진 문제에 대해 초기 계수의 크기를 충분히 크게 선택할 수 있으므로 비용이 많이 드는 부트스트랩 단계를 피할 수 있습니다.
LWE 방식의 확장은 다항식 링을 사용하는 것입니다. 여기서 N은 2의 거듭제곱입니다. 이제 다항식은 링에 존재합니다. . 이 경우 두 다항식을 더하거나 곱해도 계수는 여전히 소인수 계수만큼 줄어듭니다. 곱셈 후 2N 계수는 (X로 나눌 때 나머지를 취하여 줄어듭니다.N + 1).
계수의 수가 일반적으로 N = [210,214] 범위라는 점을 고려할 때 다항식의 곱셈은 이 HE 구현의 주요 병목 현상입니다. 다항식 곱셈을 최적화하는 방법은 음수 이론 변환(NTT)입니다. 이 변환은 계산 횟수를 NN에서 Nlog(N)으로 줄입니다. NTT는 정수의 유한 필드에 대한 고속 푸리에 변환(FFT)입니다.
두 다항식 f(x)와 g(x)를 곱하면 다음과 같이 됩니다.
InvNTT (FwdNTT(f(x)) * FwdNTT(g(x)))
퍼블릭 도메인에서 사용할 수 있는 여러 HE API가 있으며, 대부분 CPU에 최적화되어 있습니다. 다음은 몇 가지 예시입니다:
인텔은 또한 HEXL 라이브러리에 병렬 FPGA 브랜치를 보유하고 있습니다. FPGA용 인텔 동형 암호화 가속 라이브러리(HEXL-fpga)는 HE 기능의 FPGA 구현 예제를 제공하는 오픈 소스 라이브러리입니다.
현재 FPGA API에 포함된 연산자는 다음과 같습니다:
이를 통해 사용자는 FPGA에서 다양한 HE 워크플로우를 실험할 수 있습니다. BittWare USM(통합 공유 메모리) BSP는 이 라이브러리와 호환됩니다.
동형 암호화의 잠재적 이점은 의료 및 금융 분야에서 사용되는 고위험 데이터에 대한 공공의 공유 리소스를 훨씬 더 잘 활용할 수 있게 해준다는 점에서 매우 중요합니다. HE는 새로운 기술로 성능 문제를 해결하기 위해 진화하고 있습니다.
FPGA는 매우 유연하고 성능이 뛰어난 아키텍처로 인해 HE 도입을 지원하는 이상적인 기술입니다. IA-440i와 같은 비트웨어 카드는 고객이 학술 연구부터 실제 배포까지 동형 암호화를 위한 전환을 추진하는 데 매우 적합합니다.
HE: 동형 암호화
RSA: 리베스트, 샤미르, 아들레만
FHE: 완전 동형 암호화
DGHV: 디지 젠트리 할레비 바이쿤타나탄
RLWE: 오류를 동반한 링 학습
비트웨어 파트너 IP 쿼리 처리 장치(QPU) PCIe Gen4 속도로 저장된 데이터 또는 스트리밍 데이터를 쿼리, 분석 또는 재포맷하는 FPGA 기반 가속기를 구축하세요! Eideticom의 쿼리
비트웨어 파트너 IP 타임서보 IP 코어 고성능 시스템 타이머 IP Atomic Rules의 타임서보 IP 코어는 다음과 같은 역할을 하는 RTL IP 코어입니다.
IP & 솔루션으로 돌아가기 동적 신경 가속기 ML 프레임워크 엣지코어텍스 동적 신경 가속기(DNA)는 딥러닝 추론을 위한 유연한 IP 코어입니다.
PCIe FPGA 카드 XUP-PL4 울트라스케일+ FPGA 로우프로파일 PCIe 카드 듀얼 QSFP28 및 DDR4 가격 견적이 필요하십니까? 가격 책정 양식으로 이동 구매하실 준비가 되셨나요? 확인