IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 傲然技術有限公司の特許一覧

特表2024-511683国産暗号化アルゴリズムに基づく安全なファイル共有方法およびシステム
<>
  • 特表-国産暗号化アルゴリズムに基づく安全なファイル共有方法およびシステム 図1
  • 特表-国産暗号化アルゴリズムに基づく安全なファイル共有方法およびシステム 図2
  • 特表-国産暗号化アルゴリズムに基づく安全なファイル共有方法およびシステム 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-14
(54)【発明の名称】国産暗号化アルゴリズムに基づく安全なファイル共有方法およびシステム
(51)【国際特許分類】
   H04L 9/08 20060101AFI20240307BHJP
   H04L 9/30 20060101ALI20240307BHJP
   G06F 21/60 20130101ALI20240307BHJP
   G06F 21/62 20130101ALI20240307BHJP
   G06F 21/64 20130101ALI20240307BHJP
【FI】
H04L9/08 B
H04L9/30 A
G06F21/60 320
G06F21/60 360
G06F21/62 318
G06F21/64
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024502244
(86)(22)【出願日】2022-11-04
(85)【翻訳文提出日】2023-09-27
(86)【国際出願番号】 CN2022129708
(87)【国際公開番号】W WO2023098390
(87)【国際公開日】2023-06-08
(31)【優先権主張番号】202111438791.2
(32)【優先日】2021-11-30
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】523369732
【氏名又は名称】傲然技術有限公司
(74)【代理人】
【識別番号】100207561
【弁理士】
【氏名又は名称】柳元 八大
(72)【発明者】
【氏名】陳 洪
(72)【発明者】
【氏名】劉 中奎
(72)【発明者】
【氏名】張 亜斌
(57)【要約】
国産暗号化アルゴリズムに基づく安全なファイル共有方法およびシステムは、コンピュータ技術セキュリティの分野に属し、ユーザーがファイルを共有する際のセキュリティと権限制御の問題を解決するために使用される。ファイル共有方法は、ユーザーがファイル共有クライアントAとファイル受信クライアントBに登録し、ユーザーの登録情報を秘密鍵管理センターに送信するステップと、秘密鍵管理センターがダイジェストアルゴリズムSM3を使用して、ユーザー名aとユーザー名bのダイジェスト値を計算し、ダイジェスト値とプライベート鍵行列を複合してユーザーのプライベート鍵saとsbを算出し、ファイル共有クライアントAとファイル受信クライアントBに送信するステップと、ユーザーは、ファイル共有クライアントAで共有されるファイルfを指定し、暗号化して共有ファイルFを生成して、ファイル受信クライアントBと共有するステップと、ファイル受信クライアントBが共有ファイルFを受信した後、それを復号化してファイルfを取得するステップとを含む。本発明の有益な効果は、秘密鍵の漏洩を防止し、ファイル送信際のセキュリティを確保したことである。
【選択図】図1
【特許請求の範囲】
【請求項1】
ファイル共有クライアントA、ファイル受信クライアントBおよび秘密鍵管理センターを含む通信システムに適用される、国産暗号化アルゴリズムに基づく安全なファイル共有方法は、
S1、ユーザーは、ファイル共有クライアントAとファイル受信クライアントBにそれぞれ登録し、対応するユーザー名aとbを生成し、前記ファイル共有クライアントAとファイル受信クライアントBは、ユーザーの登録情報を秘密鍵管理センターに送信するステップにおいて、前記ファイル共有クライアントAとファイル受信クライアントBには、32x32の公開鍵行列を形成するように、1024個の公開鍵が事前に作成され、前記秘密鍵管理センターには、32x32のプライベート鍵行列を形成するように、1024個のプライベート鍵が事前に作成され、前記秘密鍵管理センターの1024個のプライベート鍵は、ファイル共有クライアントAおよびファイル受信クライアントBの1024個の公開鍵と1対1に対応し、合計1024個の非対称暗号化アルゴリズムSM2公開鍵とプライベート鍵のペアを形成するステップと、
S2、前記秘密鍵管理センターは、ダイジェストアルゴリズムSM3を使用してユーザー名aおよびbのダイジェスト値を計算し、そのダイジェスト値とプライベート鍵行列を複合し、複合アルゴリズムによってユーザーのプライベート鍵sa、sbを算出し、ユーザーのプライベート鍵saとプライベート鍵sbを、ファイル共有クライアントAとファイル受信クライアントBにそれぞれ送信するステップと、
S3、ユーザーがファイル共有クライアントAで共有されるファイルfを指定して暗号化し、暗号化された共有ファイルFを生成して、ファイル受信クライアントBと共有するステップと、
S4、ファイル受信クライアントBは、共有ファイルFを受信した後、復号化して、指定された共有ファイルfを取得するステップとを含む、ことを特徴とする国産暗号化アルゴリズムに基づく安全なファイル共有方法。
【請求項2】
前記複合アルゴリズムは、具体的には、長さが32バイトのユーザー名のダイジェスト値を分解し、各バイトの2進数を整数に変換し、その整数が合計32個あり、各整数を32で割ってその余りを求め、0~31の合計32個の整数値を得、当該整数値に1を加えた値を行列の列成分として使用し、その列成分が合計32個あり、列成分に対応する秘密鍵を公開鍵行列またはプライベート鍵行列から順番に取り出し、合計32個あり、32個の秘密鍵を加算して新しい秘密鍵を取得する、ことを特徴とする請求項1に記載の国産暗号化アルゴリズムに基づく安全なファイル共有方法。
【請求項3】
前記ステップS3における暗号化操作は、
S3.1、ファイル共有クライアントAで、共有されるファイルfを指定するステップと、
S3.2、ファイル共有クライアントAに16桁以下のデジタルパスワードcを入力し、ダイジェストアルゴリズムSM3を使用してデジタルパスワードダイジェストを計算し、ダイジェストの先頭の16バイトをc’として取得するステップと、
S3.3、ファイル共有クライアントAは、対称暗号化アルゴリズムSM4の秘密鍵としてc’を使用し、対称暗号化アルゴリズムSM4を使用してファイルfを暗号化し、暗号文f’を取得するステップと、
S3.5、暗号文f’の長さLを計算し、L値を4バイトの長さで表すステップと、
S3.6、ユーザーがファイル受信クライアントBに登録したユーザー名bを、ファイル共有クライアントAに入力し、複合アルゴリズムを使用してユーザー名bの公開鍵pbを計算し、その公開鍵pbでc’を暗号化して暗号文c”を取得するステップと、
S3.7、L、暗号文f’、および暗号文c”を組み合わせて、ファイル共有クライアントAは、ダイジェストアルゴリズムSM3を使用してL+f’+c”のダイジェスト計算を実行し、ダイジェストを取得するステップと、
S3.8、ファイル共有クライアントAは、非対称暗号化アルゴリズムSM2とプライベート鍵saを使用して、ダイジェストにデジタル署名し、署名値sを取得するステップと、
S3.9、ファイル共有クライアントAは、L+f’+r”+sを組み合わせて新しい共有ファイルFを作成し、その共有ファイルFをファイル受信クライアントBと共有するステップと、
S3.10、ファイル共有クライアントAは、他のオフライン方法を通じてデジタルパスワードcを共有ユーザーに通知するステップとを含む、ことを特徴とする請求項2に記載の国産暗号化アルゴリズムに基づく安全なファイル共有方法。
【請求項4】
前記ステップ4における復号化操作は、
S4.1、ファイル受信クライアントBは、共有ファイルFを受信した後、ファイルFを指定してファイル共有クライアントAに登録したユーザー名aを入力し、ファイル受信クライアントBは、入力されたユーザー名aを使用して複合アルゴリズムで公開鍵paを算出するステップと、
S4.2、ファイル受信クライアントBは、ダイジェストアルゴリズムSM3を使用してL+f’+c”のダイジェスト計算を実行し、ダイジェスト値、非対称暗号化アルゴリズムSM2および公開鍵paを使用して署名値sに対して署名の検証を実行し、検証が成功した場合、次の操作を行い、検証が失敗した場合、ファイルにセキュリティ上のリスクがあることを意味し、検証失敗回数が所定の回数に達すると、ファイルFを再暗号化し、ユーザーに警告を通知するステップと、
S4.3、ファイル受信クライアントBは、デジタルパスワードを入力し、ダイジェストを計算し、ダイジェストの先頭の16バイトを取得し、同時に、ファイルFのL+1バイト目からc”を取り出し、プライベート鍵sbを使用してc”を復号化し、ファイル内のc’を取得し、ダイジェストの先頭の16バイトとc’の値を比較し、一致すると、次のステップに進み、一致しないと、デジタルパスワードの再入力をユーザーに提示し、デジタルパスワードの入力間違え回数が所定回数に達すると、ファイルFを再暗号化してユーザーに警告を通知する。
S4.4、ファイル受信クライアントBは、対称暗号化アルゴリズムSM4の対称鍵としてc’を使用してf’の内容を復号化し、復号化された平文ファイルfを生成してファイルfの共有を完了するステップとを含む、ことを特徴とする請求項2に記載の国産暗号化アルゴリズムに基づく安全なファイル共有方法。
【請求項5】
前記ステップS4.2およびステップS4.3における再暗号化動作は、具体的には、検証失敗回数またはデジタルパスワードの入力間違え回数が所定回数に達すると、ファイルが破損していることをユーザーに警告を通知し、復号を続けることができず、ファイル受信クライアントBは、乱数Rを生成し、Rを対称暗号化アルゴリズムSM4の秘密鍵として使用し、対称暗号化アルゴリズムSM4を使用してファイルFを暗号化し、それにより、ファイルFがもはや復号化できなくなる、ことを特徴とする請求項4に記載の国産暗号化アルゴリズムに基づく安全なファイル共有方法。
【請求項6】
前記ファイル受信クライアントBが複数あり、前記ファイル共有クライアントAは、指定されたファイルを複数のファイル受信クライアントBと共有し、複数の前記ファイル受信クライアントBのユーザー名がそれぞれb1、...bnであり、ここで、n>1であり、ステップS3の暗号化処理において、ユーザー名b1、…bnをファイル共有クライアントAにそれぞれ入力し、複合アルゴリズムを使用してユーザー名b1、…bnの公開鍵pb1、...pbnをそれぞれ算出し、公開鍵pb1、...pbnを使用してc’をそれぞれ暗号化し、暗号文cb1’、...cbn’を取得し、cb1’、...cbnを共有ファイルFに追加し、ファイルヘッダーでファイルを共有するユーザーの数を指定し、つまり、F=n+L+f’+cB’+sであり、ここで、cB’=cb1’+...+cbn’である、ことを特徴とする請求項3に記載の国産暗号化アルゴリズムに基づく安全なファイル共有方法。
【請求項7】
国産暗号化アルゴリズムに基づく安全なファイル共有システムであって、前記ファイル共有システムは、ファイル共有クライアントA、ファイル受信クライアントB、秘密鍵管理センターを含み、前記ファイル共有クライアントAとファイル受信クライアントBには、32x32の公開鍵行列を形成するように、1024個の公開鍵が事前に作成され、前記秘密鍵管理センターには、32x32のプライベート鍵を形成するように、1024個のプライベート鍵が事前に作成され、前記秘密鍵管理センターの1024個のプライベート鍵は、ファイル共有クライアントAおよびファイル受信クライアントBの1024個の公開鍵と1対1に対応し、合計1024個の非対称暗号化アルゴリズムSM2公開鍵とプライベート鍵のペアを形成し、前記共有システムは、請求項1~6のいずれか一項に記載のファイル共有方法を使用して、指定されたファイルを共有する、ことを特徴とする国産暗号化アルゴリズムに基づく安全なファイル共有システム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ技術セキュリティの分野に属し、具体的には、国産暗号化アルゴリズムに基づく安全なファイル共有方法およびシステムに関する。
【背景技術】
【0002】
ネットワーク技術の発展に伴い、ネットワークを介してファイルをアップロードまたはダウンロードすることがより一般的になり、パーソナルコンピュータまたはモバイル端末でファイルをアップロードまたはダウンロードする技術も比較的成熟しているため、ファイル共有技術も成長している。ただし、一般的な共有技術を使用して暗号化されたファイルを共有者に送信する場合には、まだ多くの問題があり、例えば、ユーザーAがファイルfをユーザーBと共有すると、次のような欠点がある。
(1)ユーザーAは、暗号化されたファイルの秘密鍵を記録する必要がある。
(2)ユーザーAは、電話、メッセージ、電子メールなどの他の方法で秘密鍵をユーザーBに送信する必要がある。
(3)ユーザーAが複数人で共有する必要がある場合、ファイルfを複数回暗号化する必要があり、手間がかかる。または、ファイルを1回暗号化すると、秘密鍵を複数のユーザーで共有すると、秘密鍵の漏洩のリスクが高まる。
【発明の概要】
【0003】
ユーザーがファイルを共有する際のセキュリティおよび権限制御の問題を解決するために、本発明は、国産暗号化アルゴリズムに基づく安全なファイル共有方法およびシステムを提供する。
【0004】
本発明は、次の技術的解決手段を採用する。
【0005】
国産暗号化アルゴリズムに基づく安全なファイル共有方法は、ファイル共有クライアントA、ファイル受信クライアントB、および秘密鍵管理センターを含む通信システムに適用され、前記ファイル共有方法は、
S1、ユーザーは、ファイル共有クライアントAとファイル受信クライアントBにそれぞれ登録し、対応するユーザー名aとbを生成し、前記ファイル共有クライアントAとファイル受信クライアントBは、ユーザーの登録情報を秘密鍵管理センターに送信するステップにおいて、前記ファイル共有クライアントAとファイル受信クライアントBには、32x32の公開鍵行列を形成するように、1024個の公開鍵が事前に作成され、前記秘密鍵管理センターには、32x32のプライベート鍵行列を形成するように、1024個の秘密鍵が事前に作成され、前記秘密鍵管理センターの1024個の秘密鍵は、ファイル共有クライアントAおよびファイル受信クライアントBの1024個の公開鍵と1対1に対応し、合計1024個の非対称暗号化アルゴリズムSM2公開鍵とプライベート鍵のペアを形成するステップと、
S2、前記秘密鍵管理センターは、ダイジェストアルゴリズムSM3を使用してユーザー名aおよびbのダイジェスト値を計算し、そのダイジェスト値とプライベート鍵行列を複合し、複合アルゴリズムによってユーザーのプライベート鍵sa、sbを算出し、ユーザーのプライベート鍵saとプライベート鍵sbをファイル共有クライアントAとファイル受信クライアントBにそれぞれ送信するステップと、
S3、ユーザーがファイル共有クライアントAで共有されるファイルfを指定して暗号化し、暗号化された共有ファイルFを生成し、ファイル受信クライアントBと共有するステップと、
S4、ファイル受信クライアントBは、共有ファイルFを受信した後、復号化して、指定された共有ファイルfを取得するステップとを含む。
【0006】
選択可能に、前記複合アルゴリズムは、具体的には、長さが32バイトのユーザー名のダイジェスト値を分解し、各バイトの2進数を整数に変換し、整数が合計32個あり、各整数を32で割ってその余りを求め、0~31の合計32個の整数値を得、当該整数値に1を加えた値を行列の列成分として使用し、列成分が合計32個あり、列成分に対応する秘密鍵を公開鍵行列またはプライベート鍵行列から順番に取り出し、合計32個の秘密鍵を加算して新しい秘密鍵を取得する。
【0007】
選択可能に、前記ステップS3における暗号化操作は、
S3.1、ファイル共有クライアントAで共有されるファイルfを指定するステップと、
S3.2、ファイル共有クライアントAに16桁以下のデジタルパスワードcを入力し、ダイジェストアルゴリズムSM3を使用してデジタルパスワードダイジェストを計算し、ダイジェストの先頭の16バイトをc’として取得するステップと、
S3.3、ファイル共有クライアントAは、対称暗号化アルゴリズムSM4の秘密鍵としてc’を使用し、対称暗号化アルゴリズムSM4を使用してファイルfを暗号化し、暗号文f’を取得するステップと、
S3.5、暗号文f’の長さLを計算し、L値を4バイトの長さで表すステップと、
S3.6、ユーザーがファイル受信クライアントBに登録したユーザー名bを、ファイル共有クライアントAに入力し、複合アルゴリズムを使用してユーザー名bの公開鍵pbを算出し、その公開鍵pbでc’を暗号化して暗号文r”を取得するステップと、
S3.7、L、暗号文f’、および暗号文r”を組み合わせて、ファイル共有クライアントAは、ダイジェストアルゴリズムSM3を使用してL+f’+r”のダイジェスト計算を実行し、ダイジェストを取得するステップと、
S3.8、ファイル共有クライアントAは、非対称暗号化アルゴリズムSM2およびプライベート鍵saを使用して、ダイジェストにデジタル署名し、署名値sを取得するステップと、
S3.9、ファイル共有クライアントAは、L+f’+r”+sを組み合わせて新しい共有ファイルFを作成し、その共有ファイルFをファイル受信クライアントBと共有するステップと、
S3.10、ファイル共有クライアントAは、他のオフライン方法を通じてデジタルパスワードcを共有ユーザーに通知するステップとを含む。
【0008】
選択可能に、前記ステップ4における復号化操作は、
S4.1、ファイル受信クライアントBは、共有ファイルFを受信した後、ファイルFを指定してファイル共有クライアントAに登録したユーザー名aを入力し、ファイル受信クライアントBは、入力されたユーザー名aを使用して複合アルゴリズムで公開鍵paを算出するステップと、
S4.2、ファイル受信クライアントBは、ダイジェストアルゴリズムSM3を使用してL+f’+r”のダイジェスト計算を実行し、ダイジェスト値、非対称暗号化アルゴリズムSM2および公開鍵paを使用して、署名値sに対して署名の検証を実行し、検証が成功した場合、次の操作を行い、検証が失敗した場合、ファイルにセキュリティ上のリスクがあることを意味し、検証失敗の回数が所定の回数に達すると、ファイルFを再暗号化し、ユーザーに警告を通知するステップと、
S4.3、ファイル受信クライアントBは、デジタルパスワードを入力し、ダイジェストを計算し、ダイジェストの先頭の16バイトを取得し、同時に、ファイルFのL+1バイト目からc”を取り出し、プライベート鍵sbを使用してc”を復号化し、ファイル内のc’を取得し、ダイジェストの先頭の16バイトとc’の値を比較し、一致すると、次のステップに進み、一致しないと、デジタルパスワードの再入力をユーザーに提示し、デジタルパスワードの入力間違え回数が所定回数に達すると、ファイルFを再暗号化してユーザーに警告を通知する。
S4.4、ファイル受信クライアントBは、c’を対称暗号化アルゴリズムSM4の対称秘密鍵として使用してf’の内容を復号化し、復号化された平文ファイルfを生成してファイルfの共有を完了するステップとを含む。
【0009】
選択可能に、前記ステップS4.2およびステップS4.3における再暗号化操作は、具体的には、検証失敗回数またはデジタルパスワードの入力間違え回数が所定回数に達すると、ファイルが破損していることをユーザーに警告を通知し、復号を続けることができず、ファイル受信クライアントBは、乱数Rを生成し、Rを対称暗号化アルゴリズムSM4の秘密鍵として使用し、対称暗号化アルゴリズムSM4を使用してファイルFを暗号化し、それにより、ファイルFがもはや復号化できなくなる。
【0010】
選択可能に、前記ファイル受信クライアントBが複数あり、前記ファイル共有クライアントAは、指定されたファイルを複数のファイル受信クライアントBと共有し、複数の前記ファイル受信クライアントBのユーザー名がb1、...bnであり、ここで、n>1であり、ステップS3の暗号化操作において、ファイル共有クライアントAにユーザー名b1、…bnをそれぞれ入力し、複合アルゴリズムを使用してユーザー名b1、…bnの公開鍵pb1、...pbnをそれぞれ算出し、公開鍵pb1、...pbnを使用してc’をそれぞれ暗号化し、暗号文cb1’、...cbn’を取得し、cb1’、...cbnを共有ファイルFに追加し、ファイルヘッダーでファイルを共有するユーザーの数を指定し、つまり、F=n+L+f’+cB’+sであり、ここで、cB’=cb1’+...+cbn’である。
【0011】
国産暗号化アルゴリズムに基づく安全なファイル共有システムであって、ファイル共有クライアントA、ファイル受信クライアントB、秘密鍵管理センターを含み、前記ファイル共有クライアントAとファイル受信クライアントBには、32x32の公開鍵行列を形成するように、1024個の公開鍵が事前に作成され、前記秘密鍵管理センターには、32x32のプライベート鍵を形成するように、1024個のプライベート鍵が事前に作成され、前記秘密鍵管理センターの1024個のプライベート鍵は、ファイル共有クライアントAおよびファイル受信クライアントBのうちの1024個の公開鍵と1対1に対応し、合計1024個の非対称暗号化アルゴリズムSM2公開鍵とプライベート鍵のペアを形成し、前記共有システムは、上記のいずれか一項に記載のファイル共有方法を使用して、指定されたファイルを共有する。
【0012】
本発明の有利な効果は、以下のとおりである。ファイル共有クライアントAは、自ら暗号秘密鍵を指定する必要がなく、暗号秘密鍵を記憶したり他の手段を通じてファイル受信クライアントBに伝達したりする必要がなく、秘密鍵の漏洩を防止し、ファイルの内容が盗まれたり改ざんされたりしないように、ファイル送信際のセキュリティを確保し、共有ファイルが改ざんされ、またはファイルソースが不正な場合でも、ファイル受信クライアントBは、それを知ることができ、対応する判断を下し、改ざんされたことやソースが不正なことを発見する信頼性は、非対称アルゴリズムとダイジェストアルゴリズムの特性によって決まられ、非共有ユーザーが共有ファイルFを取得した後は、それを復号化してファイルの内容を取得することはできない。ファイル共有クライアントAは、複数のユーザーに同時に暗号秘密鍵を伝送する必要がなく、同時に複数のユーザーと共有でき、指定された共有者のみがファイルの内容を閲覧でき、他人は、ファイルを取得した後、ファイルの内容を閲覧できない。
【図面の簡単な説明】
【0013】
図1図1は、本発明におけるファイル共有クライアントA、ファイル受信クライアントB、秘密鍵管理センター間の通信関係を示す概略図である。
図2図2は、本発明の公開鍵行列の概略図である。
図3図3は、本発明のプライベート鍵行列の概略図である。
【発明を実施するための形態】
【0014】
本発明の目的、技術的解決手段および利点をより明確にするために、添付の図面および実施例を参照して、本発明を以下にさらに詳細に説明する。ここで説明される具体的な実施例は、本発明を説明するためにのみ使用され、本発明を限定するものではないことを理解されたい。
【実施例1】
【0015】
図1に示すように、ファイル共有クライアントA、ファイル受信クライアントBおよび秘密鍵管理センターを含む通信システムに適用される、国産暗号化アルゴリズムに基づく安全なファイル共有方法は、以下のステップを含む。
【0016】
S1、ユーザーは、ファイル共有クライアントAとファイル受信クライアントBにそれぞれ登録し、対応するユーザー名aとbを生成し、前記ファイル共有クライアントAとファイル受信クライアントBは、ユーザーの登録情報を秘密鍵管理センターに送信するステップにおいて、図2に示すように、前記ファイル共有クライアントAとファイル受信クライアントBには、32x32の公開鍵行列を形成するように、1024個の公開鍵が事前に作成され、図3に示すように、前記秘密鍵管理センターには、32x32のプライベート鍵行列を形成するように、1024個のプライベート鍵が事前に作成され、前記秘密鍵管理センターの1024個のプライベート鍵は、ファイル共有クライアントAおよびファイル受信クライアントBの1024個の公開鍵と1対1に対応し、合計1024個の非対称暗号化アルゴリズムSM2公開鍵とプライベート鍵のペアを形成する。
【0017】
S2、前記秘密鍵管理センターは、ダイジェストアルゴリズムSM3を使用してユーザー名aおよびbのユーザー名のダイジェスト値(長さが32ビット)を計算し、そのダイジェスト値とプライベート鍵行列を複合し、複合アルゴリズムによってユーザーのプライベート鍵sa、sbを算出し、ユーザーのプライベート鍵saとプライベート鍵sbをファイル共有クライアントAとファイル受信クライアントBにそれぞれ送信する。
【0018】
前記複合アルゴリズムは、具体的には、長さが32バイトのユーザー名のダイジェスト値を分解し、各バイトの2進数を整数(0~255)に変換し、その整数が合計32個あり、各整数を32で割ってその余りを求め、0~31の合計32個の整数値を得、当該整数値に1を加えた値を行列の列成分として使用し、列成分が合計32個あり、列成分に対応する秘密鍵を公開鍵行列またはプライベート鍵行列から順番に取り出し、合計32個あり、32個の秘密鍵を加算して新しい秘密鍵を取得する。
【0019】
S3、ユーザーは、ファイル共有クライアントAで共有されるファイルfを指定して暗号化し、暗号化された共有ファイルFを生成して、ファイル受信クライアントBと共有する。
【0020】
S4、ファイル受信クライアントBは、共有ファイルFを受信した後、それを復号化して、指定された共有ファイルfを取得する。
【0021】
前記ステップS3における暗号化操作は、
S3.1、ファイル共有クライアントAで、共有されるファイルfを指定するステップと、
S3.2、ファイル共有クライアントAに16桁以下のデジタルパスワードcを入力し、ダイジェストアルゴリズムSM3を使用してデジタルパスワードダイジェストを計算し、ダイジェストの先頭の16バイトをc’として取得するステップと、
S3.3、ファイル共有クライアントAは、対称暗号化アルゴリズムSM4の秘密鍵としてc’を使用し、対称暗号化アルゴリズムSM4を使用してファイルfを暗号化し、暗号文f’を取得するステップと、
S3.5、暗号文f’の長さLを計算し、L値を4バイトの長さで表すステップと、
S3.6、ユーザーがファイル受信クライアントBに登録したユーザー名bを、ファイル共有クライアントAに入力し、複合アルゴリズムを使用してユーザー名bの公開鍵pbを算出し、その公開鍵pbでc’を暗号化して暗号文c”を取得するステップと、
S3.7、L、暗号文f’、および暗号文c”を組み合わせて、ファイル共有クライアントAは、ダイジェストアルゴリズムSM3を使用してL+f’+c”のダイジェスト計算を実行し、ダイジェストを取得するステップと、
S3.8、ファイル共有クライアントAは、非対称暗号化アルゴリズムSM2とプライベート鍵saを使用して、ダイジェストにデジタル署名し、署名値sを取得するステップと、
S3.9、ファイル共有クライアントAは、L+f’+r”+sを組み合わせて新しい共有ファイルFを作成し、その共有ファイルFをネットワーク送信または読み取り可能な媒体によるコピーでファイル受信クライアントBと共有するステップと、
S3.10、ファイル共有クライアントAは、他のオフライン方法を通じてデジタルパスワードcを共有ユーザーに通知するステップとを含む。
【0022】
前記ステップ4における復号化操作は、
S4.1、ファイル受信クライアントBは、共有ファイルFを受信した後、ファイルFを指定して、ファイル共有クライアントAに登録したユーザー名aを入力し、ファイル受信クライアントBは、入力されたユーザー名aを使用して複合アルゴリズムで公開鍵paを算出するステップと、
S4.2、ファイル受信クライアントBは、ダイジェストアルゴリズムSM3を使用してL+f’+c”のダイジェスト計算を実行し、ダイジェスト値、非対称暗号化アルゴリズムSM2および公開鍵paを使用して署名値sに対して署名の検証を実行し、検証が成功した場合、次の操作を行い、検証が失敗した場合、ファイルにセキュリティ上のリスクがあることを意味し、検証失敗回数が所定の回数に達すると、ファイルFを再暗号化し、ユーザーに警告を通知するステップと、
S4.3、ファイル受信クライアントBは、デジタルパスワードを入力し、ダイジェストを計算し、ダイジェストの先頭の16バイトを取得し、同時に、ファイルFのL+1バイト目からc”を取り出し、プライベート鍵sbを使用してc”を復号化し、ファイル内のc’を取得し、ダイジェストの先頭の16バイトとc’の値を比較し、一致すると、次のステップに進み、一致しないと、デジタルパスワードの再入力をユーザーに提示し、デジタルパスワードの入力間違え回数が所定回数に達すると、ファイルFを再暗号化してユーザーに警告を通知するステップと、
S4.4、ファイル受信クライアントBは、c’を対称暗号化アルゴリズムSM4の対称秘密鍵として使用してf’の内容を復号化し、復号化された平文ファイルfを生成してファイルfの共有を完了するステップとを含む。
【0023】
前記ステップS4.2およびステップS4.3における再暗号化操作は、具体的には、検証失敗回数またはデジタルパスワードの入力間違え回数が所定回数(回数は、秘密鍵管理センターから遠隔設定可能)に達すると、ファイルが破損していることをユーザーに警告を通知し、復号を続けることができず、ファイル受信クライアントBは、乱数Rを生成し、Rを対称暗号化アルゴリズムSM4の秘密鍵として使用し、対称暗号化アルゴリズムSM4を使用してファイルFを暗号化し、それにより、ファイルFがもはや復号化できなくなる。
【0024】
別の実施例において、前記ファイル受信クライアントBが複数あり、前記ファイル共有クライアントAは、指定されたファイルを複数のファイル受信クライアントBと共有し、複数の前記ファイル受信クライアントBのユーザー名がそれぞれb1、...bnであり、ここで、n>1であり、ステップS3の暗号化操作において、ユーザー名b1、…bnをファイル共有クライアントAにそれぞれ入力し、複合アルゴリズムを使用してユーザー名b1、…bnの公開鍵pb1、...pbnをそれぞれ計算し、公開鍵pb1、...pbnを使用してc’をそれぞれ暗号化し、暗号文cb1’、...cbn’を取得し、cb1’、...cbnを共有ファイルFに追加し、ファイルヘッダーでファイルを共有するユーザーの数を指定し、つまり、F=n+L+f’+cB’+sであり、ここで、cB’=cb1’+...+cbn’である。
【0025】
図1に示すように、国産暗号化アルゴリズムに基づく安全なファイル共有システムであって、ファイル共有クライアントA、ファイル受信クライアントB、秘密鍵管理センターを含み、前記ファイル共有クライアントAとファイル受信クライアントBには、32x32の公開鍵行列を形成するように、1024個の公開鍵が事前に作成され、前記秘密鍵管理センターには、32x32のプライベート鍵を形成するように、1024個のプライベート鍵が事前に作成され、前記秘密鍵管理センターの1024個のプライベート鍵は、ファイル共有クライアントAおよびファイル受信クライアントBの1024個の公開鍵と1対1に対応し、合計1024個の非対称暗号化アルゴリズムSM2公開鍵とプライベート鍵のペアを形成し、前記共有システムは、上記のファイル共有方法を使用して、指定されたファイルを共有する。
【0026】
上記のファイル共有クライアントAおよびファイル受信クライアントBの名称は、本発明の技術的解決手段を説明するためにのみ使用され、ファイル共有クライアントAおよびファイル受信クライアントB自体は、同じタイプのクライアント装置であってもよく、実際の操作中に、ファイル受信クライアントBも上記のファイル共有方法を使用して、指定されたファイルをファイル共有クライアントAまたは他のファイル受信クライアントBと共有することができることが理解されたい。
【0027】
本発明で使用される非対称暗号化アルゴリズムSM2、対称暗号化アルゴリズムSM4、ダイジェストアルゴリズムSM3という3つのタイプの暗号化アルゴリズムは、国産暗号化アルゴリズムであり、ここでは説明を省略する。
【0028】
本発明の有利な効果は、以下のとおりである。ファイル共有クライアントAは、自ら暗号秘密鍵を指定する必要がなく、暗号秘密鍵を記憶したり他の手段を通じてファイル受信クライアントBに伝達したりする必要がなく、秘密鍵の漏洩を防止し、ファイルの内容が盗まれたり改ざんされたりしないように、ファイル送信際のセキュリティを確保し、共有ファイルが改ざんされたり、ファイルソースが不正な場合でも、ファイル受信クライアントBは、それを知ることができ、対応する判断を下し、改ざんやソースが不正なことを発見する信頼性は、非対称アルゴリズムとダイジェストアルゴリズムの特性によって決まられ、非共有ユーザーが共有ファイルFを取得した後、それを復号化してファイルの内容を取得することはできない。ファイル共有クライアントAは、複数のユーザーに同時に暗号秘密鍵を伝送する必要がなく、同時に複数のユーザーと共有でき、指定された共有者のみがファイルの内容を閲覧でき、他のユーザーは、ファイルを取得した後も、ファイルの内容を閲覧できない。
図1
図2
図3
【国際調査報告】