Microsoft Go 1.24がFIPS 140-3対応とmacOSサポートを追加、暗号化機能が大幅に強化

text: XEXEQ編集部
(記事は執筆時の情報に基づいており、現在では異なる場合があります)


記事の要約

  • Microsoft Go 1.24がFIPS 140-3対応のための大規模な改修を実施
  • macOSのプレビューサポートを導入しFIPS準拠ライブラリに対応
  • Azure Linux 3のサポートを強化しSymCryptプロバイダーに対応

Microsoft Go 1.24のFIPS対応と新プラットフォーム追加

MicrosoftはFIPS 140-3準拠を目指し、Microsoft Go 1.24を2024年2月6日にリリースした。従来のGo 1.23ではGoogleのBoringCryptoライブラリを使用していたが、Microsoft Go 1.24ではLinuxではOpenSSLWindowsではCNGを活用する独自のアプローチを継続することが決定している。[1]

Microsoft Go 1.24では新たにFIPS設定に関する環境変数が導入され、GODEBUG=fips140=onによるFIPS 140-3準拠の暗号化モジュールの有効化やGODEBUG=fips140=onlyによる非準拠アルゴリズムの使用制限が可能になった。これらの設定はMicrosoft Go 1.25で完全サポートされる予定だ。

また、macOSプラットフォームのプレビューサポートが追加され、Common CryptoやCryptoKitなどのFIPS認証済みライブラリの利用が可能になった。Azure Linux 3においてもSCOSSLプロバイダーを活用したFIPS 140-3準拠が強化されている。

Microsoft Go 1.24の新機能まとめ

項目 詳細
FIPS設定 GODEBUG=fips140=on、GODEBUG=fips140=only、GOFIPS140=latestの導入
macOSサポート Common CryptoとCryptoKitライブラリのプレビュー対応
Azure Linux対応 SCOSSLプロバイダーによるFIPS 140-3準拠の強化
システムライブラリ LinuxではOpenSSL、WindowsではCNGを継続使用

FIPS 140-3について

FIPS 140-3とは、暗号化モジュールのセキュリティ要件を定める米国連邦標準規格のことを指す。主な特徴として以下のような点が挙げられる。

  • 暗号化モジュールの安全性評価基準を規定
  • 政府機関での使用が義務付けられている重要な規格
  • 暗号化アルゴリズムの実装方法や検証方法を標準化

Microsoft Go 1.24では、このFIPS 140-3規格に準拠するため、システムライブラリを活用したアプローチを採用している。特にAzure LinuxではSCOSSLプロバイダーを通じてSymCryptを利用することで、標準でFIPS 140-3準拠を実現することが可能になった。

Microsoft Go 1.24のFIPS対応に関する考察

Microsoft Go 1.24によるFIPS 140-3対応は、政府機関や規制産業向けのアプリケーション開発において重要な進展となっている。特にmacOSサポートの追加により、クロスプラットフォーム開発におけるFIPS準拠の選択肢が広がり、開発者のワークフローの効率化が期待できるだろう。

今後の課題として、各プラットフォーム固有の暗号化ライブラリを使用することによる互換性の問題が考えられる。この解決策として、抽象化レイヤーの強化やテストスイートの充実化により、プラットフォーム間の差異を最小限に抑える取り組みが重要となってくるだろう。

将来的には、Azure Linux以外のLinuxディストリビューションにおけるFIPS対応の拡充や、macOSサポートの正式版リリースなど、さらなる進化が期待される。Microsoft Goチームには、セキュリティと開発効率のバランスを保ちながら、エコシステムの発展を継続してほしい。

参考サイト

  1. ^ Microsoft Visual Studio. 「Microsoft Go 1.24 FIPS changes | Microsoft for Go Developers」. https://devblogs.microsoft.com/go/go-1-24-fips-update/, (参照 25-02-08).
  2. Microsoft. https://www.microsoft.com/ja-jp
  3. Google. https://blog.google/intl/ja-jp/

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「プログラミング」に関するコラム一覧「プログラミング」に関するニュース一覧
アーカイブ一覧
プログラミングに関する人気タグ
プログラミングに関するカテゴリ
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。