2014-11-06 3 views
0

내 응용 프로그램은 공통 채널을 통해 여러 클라이언트에 파일을 게시해야합니다. 나는 아래의 암호화 과정을 수행하고있다.Java의 공개 키를 사용하여 데이터를 암호화하는 표준 방법

  1. 데이터를 암호화하기 위해 대칭 키를 생성한다.
  2. 이 키를 RSA 공개 키로 암호화하여 게시합니다.

이 응용 프로그램의 모든 클라이언트가 응용 프로그램의 RSA 공개 키를 가지고 있다고 생각할 때 파일을 게시하기 전에 파일을 암호화하는 표준 형식이 있습니까?

+1

설명이 이상합니다. # 2는 "공통"채널에있는 모든 클라이언트가 동일한 개인 키를 갖는다는 것을 의미합니다. 이것은 대개 완료되지 않습니다. 그런 다음 모든 사람이 응용 프로그램의 RSA 공개 키 *를 가지고 있다고 말합니다. 당신은 당신의 시스템에 대해 자세히 설명 할 수 있습니까? 또한 메시지 인코딩에 대해 정말로 묻고 있습니까? –

+1

@ArtjomB. 너무에 대한 암호화 질문에 관심을 가져 주셔서 감사합니다, 당신의 공헌은 (저에 의해 어쨌든) 매우 중요합니다. –

답변

1

분명히 암호화에는 몇 가지 표준 형식이 있습니다. 가장 널리 사용되는 표준 형식 중 하나가 Cryptographic Message Syntax (CMS)입니다. CMS의 사양은 Internet Standard을 참조하십시오. 이 형식은 메일 메시지 보안 S/MIME에 널리 사용됩니다.

Bouncy Castle API은 이에 대한 훌륭한 지원을 제공합니다. BC의 bcmail-jdkNN-MMM.jar은 Bouncy Castle SMIME/CMS 라이브러리입니다. 이는 PKCS#7 (이전 RFC 2630, 3369)이라고도하며 S/MIME 개체 (RFC 3851)를 처리하는 RFC 3852 CMS (암호화 메시지 구문) 개체를 처리하기위한 패키지입니다.

다른 일반적인 표준 형식 인 XML Encryption format. 구조화 된 데이터의 안전한 교환이 필요한 응용 프로그램의 종단 간 보안. XML 자체는 데이터 구조화에 가장 널리 사용되는 기술이므로 XML 기반 암호화는 데이터 교환 응용 프로그램의 보안 요구 사항을 처리하는 자연스러운 방법입니다.

+0

하나만 추가할까요? 예를 들어 PGP는 어떻습니까? XML을 암호화에 사용하는 것은 자신이하는 일을 알지 못하면 매우 위험합니다. –

+0

XML과 마찬가지입니다. 어쨌든 XML 암호화 형식을 도입하기 위해 표현을 변경했습니다. :) –

관련 문제