密码学基础知识

  • 五、数字签名
    • 5.1 单向散列函数(哈希函数)
    • 5.2 数字签名
      • 5.2.1 RSA 数字签名
      • 5.2.2 椭圆曲线DSA(ECDSA)
      • 5.2.3 群签名
      • 5.2.4 DSS
  • 六、密钥管理
    • 6.1 密钥生成
    • 6.2 密钥分发
    • 6.3 密钥验证
    • 6.4 密钥更新
    • 6.5 密钥存储
    • 6.6 密钥备份
    • 6.7 密钥有效期
    • 6.8 密钥销毁
  • 七、公钥基础设施PKI
    • 7.1 数字证书
    • 7.2 CA机构
    • 7.3 RA机构
  • 八、研究热点
  • 九、国家规定
    • 9.1 SM系列国密算法
      • 9.1.1 SM1对称密码
      • 9.1.2 SM2椭圆曲线公钥密码算法
      • 9.1.3 SM3杂凑算法
      • 9.1.4 SM4对称算法
      • 9.1.5 SM7对称密码
      • 9.1.6 SM9标识密码算法
      • 9.1.7 ZUC祖冲之算法
    • 9.2 机构
      • 9.2.1 国家密码管理局
    • 9.3 法律法规

五、数字签名

5.1 单向散列函数(哈希函数)

单向散列函数 H(M) 作用于一个任意长度的消息 M,它返回一个固定长度的散列值 h,其中 h 的长度为 m 。
特点

  • 给定 M ,很容易计算 h ;
  • 给定 h ,根据 H(M) = h 计算 M 很难(单向性) ;
  • 给定 M ,要找到另一个消息 M‘ 并满足 H(M) = H(M’) 很难;
  • 在许多应用中,仅有单向性是不够的,还需要称之为“抗碰撞”的条件:要找出两个随机的消息 M 和 M‘,使 H(M) = H(M’) 满足很难。
  • 单向散列函数只能识别出消息是否被篡改,无法识别发送消息的人是否伪装。

常见的哈希函数有:MD5,SHA1,HMAC。

  • MD5是不安全的,因此不应该使用。
  • SHA-1除了对过去生成的散列值进行校验之外,不应该被用于新的用途,而是应该迁移到SHA-2.
  • SHA-2有效应对了针对SHA-1的攻击方法,因此是安全的,可以使用。
  • SHA-3是安全的,可以使用。
    由于散列函数的这些特性,由于公开密码算法的计算速度往往很慢,所以,在一些密码协议中,它可以作为一个消息 M 的摘要,代替原始消息 M,让发送者为 H(M) 签名而不是对 M 签名 。

攻击方式

  • 暴力破解:寻找与原消息产生同一散列值的不同消息(一种试图破解单向散列函数的弱抗碰撞性的攻击);
  • 生日攻击:并非寻找生成特定散列值的消息,而是找到散列值相同的两条消息,而散列值可为任意(一种试图破解单向散列函数的强抗碰撞性的攻击)。

5.2 数字签名

有几种公钥算法能用作数字签名。在一些算法中,例如RSA,公钥或者私钥都可用作加密。用你的私钥加密文件,你就拥有安全的数字签名。在其它情况下,如DSA,算法便区分开来了??数字签名算法不能用于加密。这种思想首先由Diffie和Hellman提出 。
基本协议

  1. A 用她的私钥对文件加密,从而对文件签名。
  2. A 将签名的文件传给B。
  3. B用A的公钥解密文件,从而验证签名。
    这个协议中,只需要证明A的公钥的确是她的。如果B不能完成第(3)步,那么他知道签名是无效的。
    特点
  • 签名是可信的。当B用A的公钥验证信息时,他知道是由A签名的。
  • 签名是不可伪造的。只有A知道她的私钥。
  • 签名是不可重用的。签名是文件的函数,并且不可能转换成另外的文件。
  • 被签名的文件是不可改变的。如果文件有任何改变,文件就不可能用A的公钥验证。
  • 签名是不可抵赖的。B不用A的帮助就能验证A的签名。
    在实际应用中,因为公共密码算法的速度太慢,签名者往往是对消息的散列签名而不是对消息本身签名。这样做并不会降低签名的可信性。
    分类
  • 盲签名:签名者不知道签名的消息就可以对这个消息进行签名。盲签名最早出现在电子银行和电子现金的设计中,目的是防止银行知道资金的流向,现在很多公平交易协议都是用盲签名来做的。盲签名具有匿名性、不可追踪性、不可否认性。
  • 环签名:一种特殊的群签名方式,在一个签名群体中,任意某个人的签名会隐匿在这个群体当中,外人只能看到这个群体里的成员对这个信息进行签名,但并不知道来自具体的哪个成员,RingCT 和门罗币中就是运用环签名技术来保护用户隐私,Intel 的 SGX 也使用了群签名技术。
  • 聚合签名:多个签名和多个私钥来对不同的信息进行签名,最后聚合成一个签名,这样的好处是加快验证速度,减少存储空间。
  • 多重签名:多个签名者对同一条消息进行签名,最终生成一个签名。
  • 门限签名:在一个签名群体中,超过门限门槛的签名者对消息进行签名后,会公布出代表这个群体的一个确定性的签名,Dfinity 的 VRF 就是使用门限签名实现的。
  • 一次性签名:只能对消息进行一次签名,如果第二次签的话,私钥就会暴露,计算快速,一般使用于传感器之类的计算资源有限的场景中。

5.2.1 RSA 数字签名

生成数字签名:

  1. client提取消息m的消息摘要h(m),并使用自己的私钥对摘要h(m)进行加密,生成签名s。
  2. client将签名s和消息m一起,使用server发过来的公钥进行加密,获得密文c,发送给server。
    验证签名:
  3. server接受到密文后,用自己的私钥对其解密,获得明文消息m和签名s。
  4. server使用client的公钥解密数字签名s,获得消息摘要h(m)。
  5. server使用相同的方法提取消息m的消息摘要h(m)与上一步解密得到的h(m)进行比较,如果相同则验签成功。

5.2.2 椭圆曲线DSA(ECDSA)

假设Alice要发布公开文件,并对此文件进行数字签名。Bob需要验证该签名。
生成数字签名:

  1. Alice根据随机数 r 和基点 G 求出点 rG = (x,y);
  2. Alice根据随机数 r 、消息 m 的散列值 h 、私钥 a 计算s = (h+ax)/r;
  3. 最后,Alice将消息 m 、点 rG 和 s 发送给Bob,其中点 rG 和 s 就是数字签名。
    验证数字签名:
  4. Bob接收到消息 m 、点 rG 和 s;
  5. Bob根据消息 m 求出散列值 h;
  6. Bob进行以下计算:R=Gh/s+Ax/s(A是Alice的公钥);
  7. 最后把R和rG进行比较,如果相等,则验证签名正确,否则说明是错误的数字签名。

关键的一点是Alice签名的时候引入了随机数 r ,而利用公钥A=aG的特性,在算式中只有A可以消除随机变量r的因素。引入随机数也提高了安全性,即便对于同一条消息,只要改变随机数R,所得到的签名也会随之改变。

5.2.3 群签名

定义:在1991年 有Chaum和van Heyst提出的一个比较新的签名概念。在一个群签名方案中,一个群体中的任意一个成员可以以匿名的方式代表整个群体对消息进行签名。与其他数字签名一样,群签名是可以公开验证的,而且可以只用单个群公钥来验证。也可以作为群标志来展示群的主要用途,种类等。
步骤

  1. 创建:一个用以产生群公钥和私钥的概率多项式时间算法。
  2. 加入:一个用户和群管理员之间的使用户成为群管理员的交互式协议。执行该协议可以产生群员的私钥和成员证书,并使群管理员得到群成员的私有密钥。
  3. 签名:一个概率算法,当输入一个消息和一个群成员的私钥后,输出对消息的签名。
  4. 验证:一个概率算法,当输入一个坏消息和一个群成员的私钥后,输出对消息的签名。
  5. 打开:一个在给定一个签名及群私钥的条件下确认签名人的合法身份的算法

5.2.4 DSS

原理:安全性是建立在求离散对数问题上,至今虽未证明破解DS与求解q阶乘法群的离散对数等价,但也未找到其他可绕开求离散对数的解法。整数分解与求离散对数的计算复杂度是近似的,因而两种签名算法的安全性大体相当。
特点

  • DSS算法参数的选择比RSA算法要容易。RSA算法出于安全性考虑,对参数p、q的选择有一些较严格的要求,如 (k为较小自然数)应足够大、gcd(p-1,q-1)应比较小、p 1和q 1都应至少含有一个充分大的素数因子等;DSS算法安全性的关键参数是q,可比前两种算法中的n值略小,但应远大于单独的p和q。
  • RSA 算法无法共享参数;DSS算法可以共享参数,因为它可以对k有不同选择,所以p、q、g,参数共享时至今尚未发现用户之间可以互相伤害的途径。
  • DSS算法签名速度较慢。RSA算法签名时耗费时间的主要部分都是mod p、mod q的指数运算,DSS 算法签名时mod p(p>q)的指数运算所耗费的时间要比RSA算法长。
  • DSS算法验证速度较慢。RSA算法验证时需进行一次mod n的e次指数运算,DSS算法验证时需要进行2次mod p的指数运算,因此DSS算法验证速度较慢。
  • DSS算法签名印记较长。RSA算法签名印记是一个mod n 数,DSS算法的签名印记是两个mod q数r 、s,比RSA算法的印记要长。
  • DSS算法签名印记具有不重复特性。文件m和h(m)完全相同,用DSS算法签名时因每次可以选择不同的k产生签名印记,故DSS算法的签名印记每次可以不同;RSA算法无此特性,但可以对算法作适当改进,以增加1个随机数加长传送的数据为代价,使算法具有签名印记不重复的特性。

六、密钥管理

6.1 密钥生成

密钥生成可以通过在线或离线的交互协商方式实现,如密码协议等 。密钥长度应该足够长。一般来说,密钥长度越大,对应的密钥空间就越大,攻击者使用穷举猜测密码的难度就越大。选择密钥时,应该避免选择弱密钥,大部分密钥生成算法采用随机过程或伪随机过程生成密钥。

6.2 密钥分发

采用对称加密算法进行保密通信,需要共享同一密钥。通常是系统中的一个成员先选择一个秘密密钥,然后将它传送另一个成员或别的成员。X9.17标准描述了两种密钥:密钥加密密钥和数据密钥。密钥加密密钥加密其它需要分发的密钥;而数据密钥只对信息流进行加密。密钥加密密钥一般通过手工分发。为增强保密性,也可以将密钥分成许多不同的部分然后用不同的信道发送出去。

6.3 密钥验证

密钥附着一些检错和纠错位来传输,当密钥在传输中发生错误时,能很容易地被检查出来,并且如果需要,密钥可被重传。接收端也可以验证接收的密钥是否正确。发送方用密钥加密一个常量,然后把密文的前2-4字节与密钥一起发送。在接收端,做同样的工作,如果接收端解密后的常数能与发端常数匹配,则传输无错。

6.4 密钥更新

当密钥需要频繁的改变时,频繁进行新的密钥分发的确是困难的事,一种更容易的解决办法是从旧的密钥中产生新的密钥,有时称为密钥更新。可以使用单向函数进行更新密钥。如果双方共享同一密钥,并用同一个单向函数进行操作,就会得到相同的结果。

6.5 密钥存储

密钥可以存储在脑子、磁条卡、智能卡中。也可以把密钥平分成两部分,一半存入终端一半存入ROM。还可采用类似于密钥加密密钥的方法对难以记忆的密钥进行加密保存。

6.6 密钥备份

  • 密钥托管:密钥托管要求所有用户将自己的密钥交给密钥托管中心,由密钥托管中心备份保管密钥(如锁在某个地方的保险柜里或用主密钥对它们进行加密保存),一旦用户的密钥丢失(如用户遗忘了密钥或用户意外死亡),按照一定的规章制度,可从密钥托管中心索取该用户的密钥。另一个备份方案是用智能卡作为临时密钥托管。如Alice把密钥存入智能卡,当Alice不在时就把它交给Bob,Bob可以利用该卡进行Alice的工作,当Alice回来后,Bob交还该卡,由于密钥存放在卡中,所以Bob不知道密钥是什么。
  • 密钥分割:密钥分割把密钥分割成许多碎片,每一片本身并不代表什么,但把这些碎片放到一块,密钥就会重现出来。
  • 密钥共享:将密钥K分成n块,每部分叫做它的“影子”,知道任意m个或更多的块就能够计算出密钥K,知道任意m-1个或更少的块都不能够计算出密钥K。密钥共享解决了两个问题:一是若密钥偶然或有意地被暴露,整个系统就易受攻击;二是若密钥丢失或损坏,系统中的所有信息就不能用了。

6.7 密钥有效期

加密密钥不能无限期使用,有以下有几个原因:密钥使用时间越长,它泄露的机会就越大;如果密钥已泄露,那么密钥使用越久,损失就越大;密钥使用越久,人们花费精力破译它的诱惑力就越大——甚至采用穷举攻击法。

​ 不同密钥应有不同有效期。数据密钥的有效期主要依赖数据的价值和给定时间里加密数据的数量。价值与数据传送率越大所用的密钥更换越频繁。如密钥加密密钥无需频繁更换,因为它们只是偶尔地用作密钥交换,密钥加密密钥要么被记忆下来,要么保存在一个安全地点,丢失该密钥意味着丢失所有的文件加密密钥。

​ 公开密钥密码应用中的私钥的有效期是根据应用的不同而变化的。用作数字签名和身份识别的私钥必须持续数年(甚至终身),用作抛掷硬币协议的私钥在协议完成之后就应该立即销毁。即使期望密钥的安全性持续终身,两年更换一次密钥也是要考虑的。旧密钥仍需保密,以防用户需要验证从前的签名。但是新密钥将用作新文件签名,以减少密码分析者所能攻击的签名文件数目。

6.8 密钥销毁

如果密钥必须替换,旧钥就必须销毁,密钥必须物理地销毁。

七、公钥基础设施PKI

定义:PKI是一个利用公钥加密技术为密钥和证书的管理,所设计的组件、功能子系统、操作规程等的集合,它的主要任务是管理密钥和证书,为网络用户建立安全通信信任机制。

7.1 数字证书

定义:数字证书是一个包含用户身份信息、公钥信息、证书认证中心(CA)数字签名的文件。
作用:数字证书是各类终端实体和最终用户在网上进行信息交流及商业活动的身份证明,在电子交易的各个缓解,交易的各方都需要验证对方数字证书的有效性,从而解决相互间的信任问题。

7.2 CA机构

定义:Certificate Authentication,是具备权威性的数字证书申请及签发机构。CA作为PKI的核心部分,主要由注册服务器组、证书申请受理和审核机构、认证中心服务器三者组成。

  • 注册服务器:通过 Web Server 建立的站点,可为客户提供24×7 不间断的服务。客户在网上提出证书申请和填写相应的证书申请表。
  • 证书申请受理和审核机构:负责证书的申请和审核。
  • 认证中心服务器:是数字证书生成、发放的运行实体,同时提供发放证书的管理、证书废止列表(CRL)的生成和处理等服务。
    功能:​
  • 接收验证最终用户数字证书的申请;
  • 确定是否接受最终用户数字证书的申请和审批;
  • 向申请者颁发、拒绝颁发数字证书;
  • 接收、处理最终用户数字证书的更新;
  • 接受最终用户数字证书的查询、撤销;
  • 产生和发布CRL(证书废止列表);
  • 数字证书的归档;
  • 密钥归档;
  • 历史数据归档。

7.3 RA机构

定义:注册机构RA提供用户和CA之间的一个接口,它获取并认证用户的身份,向CA提出证书请求。
功能:它主要完成收集用户信息和确认用户身份的功能。这里指的用户,是指将要向认证中心(即CA)申请数字证书的客户,可以是个人,也可以是集团或团体、某政府机构等。它接受用户的注册申请,审查用户的申请资格,并决定是否同意CA给其签发数字证书。

RA可以设置在直接面对客户的业务部门,如银行的营业部、机构认识部门等。PKI国际标准推荐由一个独立的RA来完成注册管理的任务,可以增强应用系统的安全。对于一个规模较小的PKI应用系统来说,可把注册管理的职能由认证中心CA来完成,而不设立独立运行的RA。

八、研究热点

  • 后量子密码算法:当量子计算机理论逐渐成熟,好多像基于离散对数问题、大数分解困难问题的公钥密码学算法都因为量子计算机的出现而被攻破,为了应对这种情况的发生,就出现了后量子密码算法。现在一般是基于格或 hash、超奇异椭圆曲线的同源问题来设计后量子密码算法。
  • 生物密码学:生物密码是 RSA 里的 A,阿德尔曼在 1994 年提出的利用生物的生化特性来做 DNA 计算,可以破解 DES 加密,有人利用生物的加密特性来设计一次性密码本的加密技术。
  • 同态加密:现在主要是 Intel 在研究,现在已经有全同态加密算法了,缺点是效率比较低,但是同态加密在云计算中还是很有用的。
  • 区块链:今年欧密会(密码学三大顶级会议之一)就有 5 篇关于区块链的论文。这表明了许多密码学者开始研究密码学在区块链中的应用,区块链为密码学的发展带来新的活力,密码学也为区块链的发展提供了有力保障。
  • 安全协议:零知识证明协议,安全多方计算协议等。
  • 基于双线性对的密码学:这个是近年研究的一个热点。像属性基加密就是基于双线性对的公钥密码算法,另外配合秘密分享方案也可以用来设计门限签名算法。

九、国家规定

9.1 SM系列国密算法

为了保障商用密码的安全性,国家商用密码管理办公室制定了一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)那等等。其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。

9.1.1 SM1对称密码

SM1 算法是分组密码算法,分组长度为128位,密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与 AES 相当,算法不公开,仅以IP核的形式存在于芯片中。

采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。

9.1.2 SM2椭圆曲线公钥密码算法

由国家密码管理局于2010年12月17日发布.SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。另外,SM2推荐了一条256位的曲线作为标准曲线。

SM2标准包括总则,数字签名算法,密钥交换协议,公钥加密算法四个部分。SM2算法在很多方面都优于RSA算法(RSA发展得早应用普遍,SM2领先也很自然)。

9.1.3 SM3杂凑算法

中国国家密码管理局2010年公布的中国商用密码杂凑算法标准。SM3密码杂凑(哈希、散列)算法。此算法适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。在SM2,SM9标准中使用。

此算法对输入长度小于2的64次方的比特消息,经过填充和迭代压缩,生成长度为256比特的杂凑值,其中使用了异或,模,模加,移位,与,或,非运算,由填充,迭代过程,消息扩展和压缩函数所构成。

9.1.4 SM4对称算法

此算法是一个分组算法,用于无线局域网产品。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。

此算法采用非线性迭代结构,每次迭代由一个轮函数给出,其中轮函数由一个非线性变换和线性变换复合而成,非线性变换由S盒所给出。其中rki为轮密钥,合成置换T组成轮函数。轮密钥的产生与上图流程类似,由加密密钥作为输入生成,轮函数中的线性变换不同,还有些参数的区别。

SM4算法的线性变换中,循环左移运算的移位数包括2.0、10.0、18.0、24.0。
SM4算法的S盒为固定的8比特输入8比特输出的置换

9.1.5 SM7对称密码

是一种分组密码算法,分组长度为128比特,密钥长度为128比特。SM7适用于非接触式IC卡,应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通等)。

9.1.6 SM9标识密码算法

为了降低公开密钥系统中密钥和证书管理的复杂性,以色列科学家、RSA算法发明人之一Adi Shamir在1984年提出了标识密码(Identity-Based Cryptography)的理念。标识密码将用户的标识(如邮件地址、手机号码、QQ号码等)作为公钥,省略了交换数字证书和公钥过程,使得安全系统变得易于部署和管理,非常适合端对端离线安全通讯、云端数据加密、基于属性加密、基于策略加密的各种场合。2008年标识密码算法正式获得国家密码管理局颁发的商密算法型号:SM9(商密九号算法),为我国标识密码技术的应用奠定了坚实的基础。

SM9算法不需要申请数字证书,适用于互联网应用的各种新兴应用的安全保障。如基于云技术的密码服务、电子邮件安全、智能终端保护、物联网安全、云存储安全等等。这些安全应用可采用手机号码或邮件地址作为公钥,实现数据加密、身份认证、通话加密、通道加密等安全应用,并具有使用方便,易于部署的特点,从而开启了普及密码算法的大门。

SM9密码算法KGC是负责选择系统参数、生成主密钥、生成用户私钥的可信机构。

9.1.7 ZUC祖冲之算法

中国自主研究的流密码算法,运用于移动通信4G网络中的国际标准密码算法。中国第一个成为国际密码标准的密码算法。本质上是一种非线性序列产生器。

该算法包括祖冲之算法(ZUC)、加密算法(128-EEA3)和完整性算法(128-EIA3)三个部分。目前已有对ZUC算法的优化实现,有专门针对128-EEA3和128-EIA3的硬件实现与优化。

密钥装入过程,将会把初始密钥 k(128 bits) 和 iv(128 bits) 扩展成 16 个 31 位整数,作为 LFSR 的初始状态。

9.2 机构

9.2.1 国家密码管理局

组织贯彻落实党和国家关于密码工作的方针、政策,研究提出解决密码工作发展中重大问题的建议; 拟订密码工作发展规划,起草密码工作法规并负责密码法规的解释,组织拟订密码相关标准; 依法履行密码行政管理职能,管理密码科研、生产、装备(销售),测评认证及使用,查处密码失泄密事件和违法违规研制、使用密码行为,负责有关密码的涉外事宜; 对密码工作部门实施业务领导;负责网络与信息系统中密码保障体系的规划和管理,规划、建设和管理国家密码基础设施; 指导密码专业教育和密码学术交流,组织密码专业人才教育培训,对高等院校、科研机构、学术团体开展密码基础理论与应用技术研究、交流进行指导

9.3 法律法规

我国现行保密法律制度体系主要包括:

  • 宪法 我国宪法第五十三条中关于公民保守国家秘密的义务和国家机构具体职能的规定,是全部保密法律制度的基本依据。
  • 保密法律 保密法律主要是指全国人大及其常委会制定的有关法律中涉及保密的法律条款,和全国人大常委会制定的专门的保密法律。保密法是我国保密法律体系的主干,此外,在我国刑法、刑事诉讼法、国家安全法、公务员法等法律中涉及国家秘密的条款,都属于保密法律体系的重要内容。
  • 保密法规 保密法规包括保密行政法规和地方性保密法规。保密行政法规主要包括经国务院批准颁布的保密法实施条例,其他相关法律实施条例、办法和细则中有关保密条款的规定。地方性保密法规包括省、自治区、直辖市和省、自治区人民政府所在地的市以及国务院批准的较大的市人民代表大会及其常务委员会制定的保密法实施细则,或在其他地方性法规中规定的保密管理制度等。
  • 保密规章 保密行政规章主要由国家保密行政主管部门、中央国家机关各部门和省、自治区、直辖市以及省、自治区人民政府所在地的市和国务院批准的较大的市的人民政府制定的保密规章、规范性文件,也包括其他规章中的保密条款和法律授权部门对保密法律规定的解释。
  • 国家保密标准 国家保密标准是经授权由国家保密行政管理部门组织制定、发布实施,在国家秘密信息的产生、处理、传输、存储和载体销毁的全过程中都应严格执行的标准。国家保密标准适用于全国各行各业、各单位对国家秘密的保护工作,是特殊的强制性国家标准,是国家信息安全标准的重要组成部分。
  • 相关司法解释 最高司法机关在司法实践中,对保密法律、法规的具体适用标准作出了详细的司法解释,对司法实践具有较强的指导意义,构成了广义保密法律制度的有效组成部分。
  • 国际公约或政府间协定的相关规定 在国际交往中,根据国际公约的规定,在我国承担公约义务的范围内,我国政府也会承担相关保守秘密的义务,这成为我国保密法律法规的另一重要法律渊源。

国家秘密是指关系国家的安全和利益,依照法定程序确定,在一定时间内只限一定范围的人员知悉的事项。保守国家秘密是中国公民的基本义务之一。《中华人民共和国保守国家秘密法》对有关的问题作了规定。国家秘密的密级分为“绝密”、“机密”、“秘密”。

  • 绝密”是最重要的国家秘密,泄露会使国家的安全和利益遭受特别严重的损害。保密期限不超过三十年;
  • 机密”是重要的国家秘密,泄露会使国家的安全和利益遭受到严重损害。 保密期限不超过二十年;
  • 秘密”是一般的国家秘密,泄露会使国家的安全和利益遭受损害。保密期限不超过十年。

泄露国家秘密”是指违反保密法律、法规和规章的下列行为之一:
1)使国家秘密被不应知悉者知悉的;
2)使国家秘密超出了限定的接触范围,而不能证明未被不应知悉者知悉的。
构成犯罪的,依法追究刑事责任。

涉密人员脱密期内不得违规就业。建议增加规定:“涉密人员应当具有良好的政治素质和品行,具有胜任涉密岗位所要求的工作能力。”建议增加规定:“涉密人员在脱密期内,应当按照规定履行保密义务,不得违反规定就业,不得以任何方式泄露知悉的国家秘密。”
涉密人员严禁在申请手机号码、注册手机邮箱、开通其他功能时填写机关、单位名称和地址等信息。

定密权是指机关、单位对某一事项是否属于国家秘密和属于何种密级进行确定,以及变更和解除国家秘密事项的权力。定密权有两种类型:即法定的定密权和授予的定密权。法定的定密权是指依据保密法直接享有的确定、变更和解除国家秘密的权力。授予的定密权,是指通过授权途径获得的确定、变更和解除国家秘密的权力。根据保密法及其实施条例,没有定密权或者没有相应定密权限的机关、单位,可以向有关中央国家机关、省级机关以及设区的市、自治州一级机关申请定密授权。同时,具有法定定密权的机关也可以根据工作需要,主动作出定密授权。中央国家机关、省级机关及其授权的机关、单位可以确定绝密级、机密级和秘密级国家秘密;设区的市、自治州一级的机关及其授权的机关、单位可以确定机密级和秘密级国家秘密。定密授权的方式包括主动授权和依申请授权。定密授权期限一般最长不超过不超过三十年。

制定中华人民共和国保守国家秘密法的意义在于保守国家秘密、维护国家安全和利益、保障改革开放和社会主义建设事业的顺利进行。

密码学基础知识(二)相关推荐

  1. 密码学系列(三):区块链+密码学基础知识

    密码学系列(三):区块链+密码学基础知识 一.区块链的概念 区块链概述 区块链的特点 区块链变化 市场现状 二.区块链政策与标准 区块链的特点与发展 三.区块链的定义 区块链的价值 四.区块链开发语言 ...

  2. CV:计算机视觉技术之图像基础知识(二)—图像内核的可视化解释

    CV:计算机视觉技术之图像基础知识(二)-图像内核的可视化解释 目录 图像内核的可视化解释 测试九种卷积核 官方Demo DIY图片测试 DIY实时视频测试 相关文章 CV:计算机视觉技术之图像基础知 ...

  3. CV:计算机视觉技术之图像基础知识(二)—以python的skimage和numpy库来了解计算机视觉图像基础(图像存储原理-模糊核-锐化核-边缘检测核,进阶卷积神经网络(CNN)的必备基础)

    CV:计算机视觉技术之图像基础知识(二)-以python的skimage和numpy库来了解计算机视觉图像基础(图像存储原理-模糊核-锐化核-边缘检测核,进阶卷积神经网络(CNN)的必备基础) 目录 ...

  4. (五)JS基础知识二(通过图理解原型和原型链)【三座大山之一,必考!!!】

    JS基础知识二(原型和原型链) 提问 class 继承 类型判断(instanceof) 原型 原型关系 基于原型的执行规则 原型链 说明 提问 如何准确判断一个变量是不是数组 class的原型本质 ...

  5. 重力传感器 测重力代码_“重力瀑布”如何帮助您教授孩子的密码学基础知识...

    重力传感器 测重力代码 by Kamil Tustanowski 通过卡米尔·图斯坦诺夫斯基 "重力瀑布"如何帮助您教授孩子的密码学基础知识 (How "Gravity ...

  6. oracle:oracle基础知识(二)

    oracle基础知识(二)笔记:高级查询 文章目录 分组查询 多属性分组语法: 过滤查询 group by 语句增强 sqlplus报表功能 多表查询 等值连接 外连接 自连接 子查询 子查询中的空值 ...

  7. 网络基础知识(二) HTTP

    网络基础知识(二) HTTP 黑发不知勤学早,白首方悔读书迟. 内容参考:https://www.runoob.com/http/http-content-type.html HTTP协议是Hyper ...

  8. CV:计算机视觉技术之图像基础知识(二)—图像内核的九种卷积核可视化解释(blur/bottom sobel /emboss/identity /sobel /outline/sharpen)

    CV:计算机视觉技术之图像基础知识(二)-图像内核的九种卷积核可视化解释(blur/bottom sobel /emboss/identity /left sobel /outline/right s ...

  9. scikit-learn学习基础知识二

    scikit-learn学习基础知识二 文章目录 scikit-learn学习基础知识二 一.介绍 二.代码实现 三.运行结果 四.总结 一.介绍 本文我们学习scikit-learn中的KNeigh ...

  10. 密码学基础知识-数论(从入门到放弃)

    数论知识 本文主要介绍整除.质数和合数.同余定理.模逆元素.欧几里得除法.欧拉函数.欧拉定理.费马小定理.中国剩余定理(孙子定理). 文章目录 数论知识 简介 一.整除 二.质数和合数 三.同余定理 ...

最新文章

  1. Hadoop_23_MapReduce倒排索引实现
  2. 在VC中 改变List列表中一行的颜色
  3. An Introduction to Our Code Breaking Team
  4. 【Trie】阅读理解(luogu 3879/ybtoj Trie-4)
  5. HTTP 错误500.19 -Internal Server Error
  6. erlang OTP中的四大behaviour fsm的例子
  7. mysql 语句检查_mysql查询语句
  8. flash传值给javascript,并在html页面输出,javascript向flash swf文件传递参数值注意细节...
  9. Apache2.4 根目录修改
  10. layer code 200转码 写一个后台封装通用实体类
  11. 一个简单的搜索应用程序(http://www.ibm.com/developerworks/cn/java/j-lo-lucene1/)
  12. 一篇文章教你用matlab求定积分广义/变限积分
  13. html5类库,javascript类库有哪些?
  14. 苹果手机图片如何同步鸿蒙,教你如何在两台iPhone之间传照片
  15. WinEdt 9 如何与pdf打开软件(Acrobat)关联
  16. 给网页添加背景图片1
  17. FMDB與SQLite 數據庫應用示範:打做一隻簡單的電影資料庫 App
  18. 【自我管理】我们应该如何对待工作
  19. 随着攻击媒介的多样化,与赎金相关的 DDoS 攻击从死里复活
  20. 从GMT时间转换到当地时间(北京时间)

热门文章

  1. Python输入关键词批量得到电商商品信息
  2. 微信域名跳转防封跳转系统 微信域名跳转防封跳转技术
  3. 历史重演?元宇宙会走上世纪交替时的互联网老路么?
  4. Promise中then的返回值
  5. 支付宝首页搜索栏淡出效果HTML,jQuery实现仿Alipay支付宝首页全屏焦点图切换特效...
  6. [poj 1741]Tree 点分治
  7. Oracle怎么清除视图数据,oracle如何删除视图?
  8. word 的使用 —— 快捷键(分节符、分页符、分栏符)
  9. kotlin serialization 使用指南(一)
  10. 《微信小程序》音乐播放器项目