LoginSignup
1
1

More than 5 years have passed since last update.

PKCS#1、改定される

Last updated at Posted at 2016-12-24

PKCS#1を改定するRFCが出ました。

2016年11月、RFC8017が発行され、PKCS#1 v2.2になりました。PKCS#1といえば公開鍵・秘密鍵のファイルフォーマットですが、今回変わったのはそこではなく、署名のフォーマットであるRSASSA-PKCS-v1_5です。

改定の内容

旧規格RFC3447と新規格RFC8017それぞれのAppendix A.2.4を見比べると分かりますが、ハッシュ方式にSHA-224、SHA-512/224、SHA-512/256の3者が追加されています。SHA-2ファミリーのハッシュ関数としては、従来のv2.1にもSHA-256、SHA-384、SHA-512が定義されていましたので、旧規格の暗号強度が不足だったわけではありません。FIPS 180-4に合わせるための改定のようです。

EMC社(旧RSA社)のPKCS#1規格としては、既に2012年の段階でPKCS#1 v2.2が出ていましたので、4年遅れでRFCに反映されたことになります。

互換性

今回の改定で削除されたハッシュ方式はありませんので、互換性としては、従来のv2.1と上位互換を保っています。RSASSA-PKCS-v1_5にはバージョン番号フィールドといったものはありませんので、新しいハッシュ方式を使わなければ、v2.1形式の署名とv2.2形式の署名は全く同じです。

心の叫び

ああまったく余計なことをしてくれた!!

改定されてしまったものは仕方がないので、今後どう対応するかですが、RFC791のいう「送信は厳密に、受信は寛容に」というポステルの原則に従うならば、署名生成ではSHA-224, SHA-512/224, SHA-512/256を使わず、署名検証側ではなるべく受け入れる、という方向で考えるしかなさそうです。

参考文献

RFC8017 (新規格)
PKCS #1: RSA Cryptography Specifications Version 2.2
https://tools.ietf.org/html/rfc8017 (Google翻訳)

RFC3447 (旧規格)
Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1
https://tools.ietf.org/html/rfc3447 (Google翻訳)

RSA Laboratories (2012)
PKCS #1 v2.2: RSA Cryptography Standard
https://www.emc.com/collateral/white-papers/h11300-pkcs-1v2-2-rsa-cryptography-standard-wp.pdf (Google翻訳)

FIPS PUB 180-4
Secure Hash Standard (SHS)
http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf (Google翻訳)

RFC791
INTERNET PROTOCOL
https://tools.ietf.org/html/rfc791 (Google翻訳)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1