精华内容
下载资源
问答
  • 多屏共享 显示安全加密
    千次阅读
    2020-02-28 23:25:58

    这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步。前文分享了Procmon软件基本用法及文件进程、注册表查看,这是一款微软推荐的系统监视工具,功能非常强大可用来检测恶意软件。这篇文章将讲解虚拟机基础知识,包括XP操作系统安装、文件共享设置、网络快照及网络设置等,最后分享虚拟机中安装安全软件进行BBS密码抓取的实验。基础性文章,希望对您有所帮助。

    写这篇文章您可能会疑问“为什么连虚拟机安装系统这么简单的内容都要分享呢?”,其实安全这块,作者真是小白。可能对于熟悉虚拟机或安全大佬来说,这些知识可以默认都会,但是之前自己对这块就模棱两可的,为了更好地、更系统的分享这系列文章,所以作者也会详细讲解每一个基础知识点,希望您喜欢或海涵~

    作者作为网络安全的小白,分享一些自学基础教程给大家,主要是关于安全工具和实践操作的在线笔记,希望您们喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔~

    PS:本文参考了安全网站和参考文献中的文章(详见参考文献),并结合自己的经验和实践进行撰写,也推荐大家阅读参考文献。

    下载地址:https://github.com/eastmountyxz/NetworkSec

    更多相关内容
  • 基于新一代多媒体加密技术,更高安全性、支持XP、Vista、Win7、WIN8、Win10;支持各种视频的高速编码加密与高速解码播放;可以加密各种视频音频格式文件(wmv, avi, asf, mpg, rm, rmvb, mp4, flv, mp3, vob, mov, ...
  • 网络安全加密技术、数字签名、证书

    网络通信中面临的4种安全威胁

    • 截获:窃听通信内容
    • 中断:中断网络通信
    • 篡改:篡改通信内容
    • 伪造:伪造通信内容

    网络层 -- ARP欺骗

    ARP欺骗(ARP spoofing),又称ARP毒化(ARP poisoning)、ARP病毒、ARP攻击

    ARP欺骗可以造成的效果:

    • 可让攻击者获取局域网上的数据包甚至可篡改数据包
    • 可让网络上的特定电脑之间无法正常通信(例如网络执法官这样的软件)
    • 让送至特定的IP地址的流量被错误送到攻击者所取代的地方
    • ……

    ARP欺骗 —— 核心步骤举例

    假设主机C是攻击者,主机A、 B是被攻击者

    • C只要收到过A、 B发送的ARP请求,就会拥有A、 B的IP、 MAC地址,就可以进行欺骗活动
    • C发送一个ARP响应给B,把响应包里的源IP设为A的IP地址,源MAC设为C的MAC地址
    • B收到ARP响应后,更新它的ARP表,把A的MAC地址(IP_A, MAC_A)改为(IP_A, MAC_C)
    • 当B要发送数据包给A时,它根据ARP表来封装数据包的头部,把目标MAC地址设为MAC_C,而非MAC_A
    • 当交换机收到B发送给A的数据包时,根据此包的目标MAC地址(MAC_C)而把数据包转发给C
    • C收到数据包后,可以把它存起来后再发送给A,达到窃听效果。 C也可以篡改数据后才发送数据包给A
       

    ARP欺骗  - 防护

    • 静态ARP
    • DHCP Snooping

            网络设备可借由DHCP保留网络上各台电脑的MAC地址,在伪造的ARP数据包发出时即可侦测到

    • 利用一些软件监听ARP的不正常变动
    •  ……

    Dos、DDos

    • Dos攻击(拒绝服务攻击,Denial-of-Service attack)

            使目标电脑的网络或系统资源耗尽,是服务暂时中断或停止,导致其无法正常访问

    • DDos攻击(分布式拒绝服务攻击,Distributed Denial-of Service attack)

            黑客使用网络上两个或两个以上被攻陷的电脑作为“僵尸”向特定的目标发动DoS攻击

            2018年3月,GitHub遭到迄今为止规模最大的DDos攻击

    Dos攻击可以分为2大类:

    • 带宽消耗型:UDP洪水攻击、ICMP洪水攻击
    • 资源消耗型:SYN洪水攻击、LAND攻击

    Dos、DDos防御

    ◼ 防御方式通常为:入侵检测、流量控制、多重验证

    • 堵塞网络带宽的流量将被过滤、而正常的流浪可正常通过

    ◼ 防火墙

    • 防火墙可以设置规则,例如允许或拒绝特定通讯协议,端口或IP地址
    • 当攻击从少数不正常的IP地址发出时,可以简单的使用拒绝规则阻止一切从攻击源IP发出的通信
    • 复杂攻击难以用简单规则来阻止,例如80端口遭受攻击时不可能拒绝端口所有的通信,因为同时会阻止合法流量
    • 防火墙可能处于网络架构中过后的位置,路由器可能在恶意流量达到防火墙前即被攻击影响

    ◼ 交换机:大多数交换机有一定的速度限制和访问控制能力

    ◼ 路由器:和交换机类似,路由器也有一定的速度限制和访问控制能力

    ◼ 黑洞引导

    • 将所有受攻击计算机的通信全部发送至一个“黑洞”(空接口或不存在的计算机地址)或者有足够能力处理洪流的网络设备商,以避免网络受到较大影响

    ◼ 流量清洗

    • 当流量被送到DDoS防护清洗中心时,通过采用抗DDoS软件处理,将正常流量和恶意流量区分开来
    • 正常流量则回注回客户网站

    传输层 - SYN洪水攻击

    SYN洪水攻击(SYN flooding attack)

    • 攻击者发送一系列的SYN请求到目标,然后然目标因收不到ACK(第三次握手)而进行等待、消耗资源

    攻击方法

    • 跳过最后发送的ACK信息
    • 修改源IP地址,让目标送SYN-ACK到伪造的IP地址,因此目标永远不可能收到ACK(第三次握手)

    防护

    参考:RFC 4987

    传输层 - LAND攻击

    ◼ LAND攻击(局域网拒绝服务攻击, Local Area Network Denial attack)

    • 通过持续发送相同源地址和目标地址的欺骗数据包,使目标试图与自己建立连接,消耗系统资源直至崩溃

    ◼ 有些系统存在设计上的缺陷,允许设备接受并响应来自网络、却宣称来自于设备自身的数据包,导致循环应答

    防护

    • 大多数防火墙都能拦截类似的攻击包,以保护系统
    • 部分操作系统通过发布安全补丁修复了这一漏洞
    • 路由器应同时配置上行与下行筛选器,屏蔽所有源地址与目标地址相同的数据包

    应用层 - DNS劫持

    DNS劫持,又称为域名劫持

    • 攻击者篡改了某个域名的解析结果,使得指向该域名的IP变成了另一个IP
    • 导致对相应网址的访问被劫持到另一个不可达的或者假冒的网址
    • 从而实现非法窃取用户信息或者破坏正常网络服务的目的

    为防止DNS劫持,可以考虑使用更靠谱的DNS服务器,比如:114.114.114.114

    • 谷歌: 8.8.8.8、 8.8.4.4
    • 微软: 4.2.2.1、 4.2.2.2
    • 百度: 180.76.76.76
    • 阿里: 223.5.5.5、 223.6.6.6

    HTTP劫持:对HTTP数据包进行拦截处理,比如插入JS代码

    • 比如你访问某些网站时,在右下角多了个莫名其妙的弹窗广告

    HTTP协议的安全问题

    HTTP协议默认是采取文明传输的,因此会有很大的安全隐患

    • 常见的提高安全性的方法是:对通信内容进行加密后,在进行传输

    常见的加密方式有

    不可逆

    • 单向散列函数:MD5、SHA等

    可逆

    • 对称加密:DES、3DES、AES等
    • 非对称加密:RSA等

    其它

    • 混合密码系统
    • 数字签名
    • 证书

    常见英文

    • encrypt:加密
    • decrypt:解密
    • plaintext:明文
    • ciphertext:密文

    先了解4个虚拟人物 

    • Alice、Bob:互相通信
    • Eve:窃听者
    • Mallory:主动攻击

    如何防止被窃听?

    单向散列函数(One-way hash function)

    • 单向散列函数,可以根据消息内容计算出散列值
    • 散列值的长度和消息的长度无关,无论消息是1bit,10M,100G,单向散列函数都会计算出固定长度的散列值

    单向散列函数 - 特点

    • 根据任意长度的消息,计算出固定长度的散列值
    • 计算速度快,能快速计算出散列值
    • 消息不同,散列值也不同
    • 具备单向性 

    (哪怕消息只有1比特的区别,也会产生完全不同的散列值)

    单向散列函数 - 称呼

    单向散列函数,也被称为

    • 消息摘要函数(message digest function)
    • 哈希函数(hash function)

    输出的散列值也被称为

    • 消息摘要(message digest)
    • 指纹(fingerprint)

    单向散列函数 - 常见的几种单向散列函数

    • MD4、MD5:产生128bit的散列值,MD就是Message Digest的缩写,目前已经不安全
    • SHA-1:产生160bit的散列值,目前已经不安全
    • SHA-2:SHA-256、SHA-384、SHA-512,散列值长度分别是256bit 384bit 512bit
    • SHA-3:全新标准

    单向散列函数 -  几个网站 

    ◼ MD5加密:md5加密,sha1加密--md5在线解密

    ◼ MD5解密:md5在线解密破解,md5解密加密

    ◼ 其它加密:

    单向散列函数 - 如何防止数据被篡改

    单向散列函数 - 应用:防止数据被篡改

    单向散列函数 - 应用:密码加密 

    就像你登入一个网站,然后忘记了密码,就点忘记密码,通过验证之后,也不会告诉你的旧密码,基本上都是重置密码(所以这个加密方法是不可逆的),如果有告诉你旧密码的,说明这个网站不安全。 

    如何加密解密?

    对称加密(对称密码) 

    非对称加密(公钥密码)

    对称加密(Symmetric Cryptography) 

    ◼ 在对称加密中,加密、解密时使用的是同一个密钥

    (对称加密、非对称加密都有:加密算法 + 密钥)
    ◼ 常见的对称加密算法有

    • DES
    • 3DES
    • AES

    DES(Data Encryption Standard) 

    • DES是一种将64bit明文加密成64bit密文的对称加密算法,密钥长度是56bit
    • 规格上来说,密钥长度是64bit,但每隔7bit会设置一个用于错误检查的bit,因此密钥长度实质上是56bit
    • 由于DES每次只能加密64bit的数据,遇到比较大的数据,需要对DES加密进行迭代(反复)
    • 目前已经可以在短时间内被破解,所以不建议使用

    3DES(Triple Data Encryption Algorithm)

    ◼ 3DES,将DES重复3次所得到的一种密码算法,也叫做3重DES

    • 三重DES并不是进行三次加密(加密——>加密——>加密)
    • 而是加密(Encryption )——>解密(Decryption)——>加密(Encryption )的过程

    ◼ 目前还被一些银行等机构使用,但处理速度不高,安全性逐渐暴露出问题

    • 3个密钥都是不同的,也称DES-EDE3 

    ◼ 如果所有密钥都使用同一个,则结果与普通的 是等价的

    ◼ 如果密钥1、密钥3相同,密钥2不同,称为DES-EDE2

    AES(Advance Encryption Standard)

    • 取代DES成为新标准的一种对称加密算法,又称Rijndael加密法
    • AES的密钥长度有128、192、256bit 三种
    • 目前AES已经逐步取代DES、3DES,成为首选的对称加密算法
    • 一般来说,我们也不应该去使用任何自制的加密算法,而是应该使用AES,它经过了全世界密码学家所进行的高品质验证工作

    密钥配送问题

    ◼ 在使用对称加密时,一定会遇到密钥配送密钥问题

    • 如果Alice将使用对称加密过的消息发送给了Bob,只有将密钥发送给Bob,Bob才能完成解密,在密钥发送过程中,可能会被Eve窃取密钥,最后Eve也能完成解密。

    如何解决密钥配送问题

    ◼ 有以下几种解决密钥配送的方法

    • 事先共享密钥(比如私下共享)
    • 密钥分配中心(Key Distribution Center,简称KDC)
    • Diffie-Hellman密钥交换
    • 非对称加密 

    非对称加密(Asymmetric Cryptography)

    • 非对称加密中,密钥分为加密密钥解密密钥2种,它们并不是同一个密钥。
    • 加密密钥:一般是公开的,因此该密钥称为公钥(public key),因此,非对称加密也被称为公钥加密(Public-key Cryptography)
    • 解密密钥:由消息接收者自己保管,不能公开,因此也称为私钥(private key)

     

    公钥、私钥 

    ◼ 公钥和私钥是一一对应的,不能单独生成
            一对公钥和私钥统称为密钥对(key pair)
    ◼ 由公钥加密的密文,必须使用与该公钥对应的私钥才能解密
    ◼ 由私钥加密的密文,必须使用与该私钥对应的公钥才能解密

    解决非对称密钥配送问题

    • 由消息的接收者,生成一对公钥、私钥
    • 将公钥发给消息的发送者
    • 消息的发送者使用公钥加密消息
    • 非对称加密的加密解密速度比对称加密要慢

    RSA 

    • 目前使用最广泛的非对称加密算法是RSA
    • RSA的名字,由它的3位开发者,即 Ron Rivest、Adi Shamir、Leonard Adleman的姓氏首字母组成

    混合密码系统(Hybrid Cryptosystem) 

    非对称加密:复杂 -> 安全 -> 加密解密速度慢

    对称加密:简单 -> 不安全 -> 加密解密速度快

    对称加密的缺点

    • 不能很好地解决密钥配送问题(密钥会被窃听)

    非对称加密的缺点

    • 加密解密速度比较慢

    ◼ 混合密码系统:是将对称加密非对称加密的优势相结合的方法

    • 解决了非对称加密速度慢的问题
    • 并通过非对称加密解决了对称加密的密钥配送问题

    ◼ 网络上的密码通信所用的 都运用了混合密码系统

    混合密码 - 加密 

    ◼ 会话密钥(session key)

    • 为本次通信随机产生的临时密钥
    • 作为对称加密的密钥,用于加密消息,提高速度

    加密步骤(发送消息)

    1. 首先,消息发送者要拥有消息接收者的公钥
    2. 生成会话密钥,作为对称加密的密钥
    3. 用消息接受者的公钥,加密会话密钥
    4. 将前2步生成的加密结果,一并发送给接收者

    发送出去的内容包括:

    • 用会话密钥加密的消息(加密方法:对称加密)
    • 用公钥加密的会话密钥(加密方法:非对称加密)

    混合密码 - 解密 

    解密步骤(收到消息)

    • 消息接收者用自己的私钥解密出会话密钥
    • 在用第一步解密出来的会话密钥,解密消息

    混合密码  - 加密解密流程 

    ◼ Alice >>>>>> Bob

    发送过程(加密过程):

    1. Bob先生成一对公钥、私钥
    2. Bob把公钥共享给Alice
    3. Alice随机生成一个会话密钥(临时密钥)
    4. Alice用会话密钥加密需要发送的消息(使用的是对称加密
    5. Alice用Bob的公钥加密会话密钥(使用的是非对称加密
    6. Alice把第4、5步的加密结果,一并发送给Bob

    接受过程(解密过程):

    1. Bob利用自己的私钥解密会话密钥(使用的是非对称加密算法进行解密
    2. Bob利用会话密钥解密发送过来的信息(使用的是对称加密算法进行解密)

    但是,,,,想象一下以下场景

    • 发的内容有可能是被篡改的,或者有人伪装成Alice发消息,或者就是Alice发的,但她可以否认
    • 问题来了:Bob如何确定这段消息的真实性?如何识别篡改、伪装、否认?

     解决方案:

    • 数字签名(不是来加密的,是用来保证数据的可靠)

    数字签名

    在数字签名技术中,有以下2种行为:

    • 生成签名:由消息的发送者完成,通过“签名密钥”生成
    • 验证签名:由消息的接收者完成,通过“验证密钥”验证

    如何能保证这个签名是消息发送者自己签的?

    • 用消息发送者的私钥进行签名

    数字签名 - 过程

    篡改这可以篡改发送的消息和发送的签名,如果篡改了发送的消息,到时候接收者通过解密得到的明文和发送的消息一对比不一样,那么就说明被篡改了。

    如果改了发送的签名,因为发送者使用自己的私钥对签名加密,那么篡改者就可以利用发送者的公钥对签名进行解密篡改发送的消息,那么接收者接收到消息后进行解密出来的明文肯定也对不上没有加密发送过来的信息。

    如果两者都被改了,那通过解密出来的明文和直接发送过来的消息也肯定对不上,那么就可以直到接收的消息被篡改了,对的上的概率是非常小的。

    以上方法因为可能要发送的消息很长,但是非对称加密算法速度比较慢,那么效率就会很低。

    数字签名 -- 改进过程

    数字签名 - 疑惑

    如果有人篡改了消息内容或签名内容,会是什么结果

    • 签名验证失败,证明内容被篡改了

    数字签名不能保证机密性?

    • 数字签名不是为了保证机密性,仅仅是为了能够识别内容有没有被篡改

    数字签名的作用

    • 确认消息的完整性
    • 识别消息是否被篡改
    • 防止消息发送人否认

    非对称加密 -- 公钥、私钥再总结 

    • 在非对称加密中,任何人都可以使用公钥进行加密
    • 在数字签名中,任何人都可以使用公钥验证签名

    数字签名,其实就是将非对称加密反过来使用

    既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密

    • 公钥负责加密,私钥负责解密

    既然是签名,那肯定是不希望有人冒充我发的消息,所以只有我才能签名

    • 私钥负责签名,公钥负责验签

    公钥的合法性 

    如果遭遇到了中间人攻击,那么,公钥可能是伪造

    如何验证公钥的合法性?

    • 证书(那能不能用签名呢,签名还是避免不了一个操作,还是要把公钥发给别人。

    证书(Certificate)

    ◼ 说到证书,首先想到的是驾驶证、毕业证、英语四六级证等等,都是由权威机构认证的。

    ◼ 密码学中的证书,全称叫公钥证书(Public-key Certificate,PCK),跟驾驶证类似

    •  里面有姓名、邮箱等个人信息,以及此人的公钥
    •  并由认证机构(Certificate Authority,CA)施加数字签名

    ◼ CA就是能够认定“公钥确实属于此人”并能够生成数字签名的个人或者组织

    • 有国际性组织、政府设立的组织
    • 又通过提供认证服务来盈利的企业
    • 个人也可以成立认证机构

    证书 - 使用 

    • 各大CA的公钥,默认已经内置在浏览器和操作系统中

    证书 - 注册和下载 

    证书 - 查看Windows已经信任的证书 

    1. Windows键 + R >>> 输入mmc
    2. 文件 >>> 添加/删除管理单元
    3. 证书 >>> 添加 >>> 我的用户账户 >>> 完成 >>> 确定

    推荐好文:http://t.csdn.cn/JyqzZ

    展开全文
  • Android屏幕共享-基于WebRTC实现

    千次阅读 2022-03-14 11:00:41
    名词解释 offer、answer和SDP offer、answer都属于SDP(Session Description Protocol),是用于描述连接的多媒体内容的标准,例如分辨率、格式、编解码器、加密等,以便在数据传输时双方都可以相互理解。...

    WebRTC简介

    WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。
    WebRTC的实现是完全开源的,其核心代码用C++编写,实现了WebRTC标准里定义的API。代码库里包含了Android和iOS/macOS平台的SDK封装,分别提供Java和Objective-C接口,便于这些平台的开发者调用,Windows和Linux平台则可以直接调用WebRTC的C++接口进行开发。

    基本流程

    架构图

    在这里插入图片描述
    2. 基础概念

    • Signaling Servier:用于实现用户的管理,以及WebSocket连接消息。
    • ICE Server:用于下发STUN/TURN Server的url、用户名、密码信息。
    • TURN Server:ICE协议里的TURN Server,供客户端获取公网IP,也能提供媒体数据中转服务。

    客户端会依次访问这3中服务器,完成加入会话、获取TURN Server配置、执行ICE协议过程。

    通话过程

    在这里插入图片描述

    步骤1:发起端创建本地PeerConnection(简称PC)对象,并创建offer
    步骤2:发起端通过Signaling Server把offer发送到应答端
    步骤3:应答端创建本地PC对象,把发起端的offer设置给PC,然后获得answer
    步骤4:应答端通过Signaling Server把answer发给发起端
    步骤5:发起端把应答端的answer设置给PC
    步骤6:两端都收集本地PC的ICE Candidate(包括访问TURN Server),通过Signaling Server发送给对端,对端把ICE Candidate设置给本地的PC
    步骤7:两端开始建立P2P的socket,并首发音视频和数据。

    名词解释

    • offer、answer和SDP
      offer、answer都属于SDP(Session Description Protocol),是用于描述连接的多媒体内容的标准,例如分辨率、格式、编解码器、加密等,以便在数据传输时双方都可以相互理解。这本质上是描述内容的元数据,而不是媒体内容本身。

    一个典型的SDP消息:

    v=0
    o=- 2883690436762308021 2 IN IP4 127.0.0.1
    s=-
    t=0 0
    a=group:BUNDLE video data
    a=msid-semantic: WMS
    m=video 9 UDP/TLS/RTP/SAVPF 96 98 100 127 97 99 101
    c=IN IP4 0.0.0.0
    a=rtcp:9 IN IP4 0.0.0.0
    a=ice-ufrag:fj2x
    a=ice-pwd:GmiInyo0PRBeJcP+KU6PkmQS
    a=ice-options:trickle
    a=fingerprint:sha-256 23:AF:7C:FC:03:36:50:93:E2:A4:B7:9F:85:2A:FC:0B:A0:69:F1:67:81:73:10:E8:A4:C3:51:CB:83:2E:2A:4C
    a=setup:active
    a=mid:video
    a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
    a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
    a=extmap:4 urn:3gpp:video-orientation
    a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
    a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
    a=recvonly
    a=rtcp-mux
    a=rtcp-rsize
    a=rtpmap:96 VP8/90000
    a=rtcp-fb:96 goog-remb
    a=rtcp-fb:96 transport-cc
    a=rtcp-fb:96 ccm fir
    a=rtcp-fb:96 nack
    a=rtcp-fb:96 nack pli
    a=rtpmap:98 VP9/90000
    a=rtcp-fb:98 goog-remb
    a=rtcp-fb:98 transport-cc
    a=rtcp-fb:98 ccm fir
    a=rtcp-fb:98 nack
    a=rtcp-fb:98 nack pli
    a=fmtp:98 profile-id=0
    a=rtpmap:100 red/90000
    a=rtpmap:127 ulpfec/90000
    a=rtpmap:97 rtx/90000
    a=fmtp:97 apt=96
    a=rtpmap:99 rtx/90000
    a=fmtp:99 apt=98
    a=rtpmap:101 rtx/90000
    a=fmtp:101 apt=100
    m=application 9 DTLS/SCTP 5000
    c=IN IP4 0.0.0.0
    a=ice-ufrag:fj2x
    a=ice-pwd:GmiInyo0PRBeJcP+KU6PkmQS
    a=ice-options:trickle
    a=fingerprint:sha-256 23:AF:7C:FC:03:36:50:93:E2:A4:B7:9F:85:2A:FC:0B:A0:69:F1:67:81:73:10:E8:A4:C3:51:CB:83:2E:2A:4C
    a=setup:active
    a=mid:data
    a=sctpmap:5000 webrtc-datachannel 1024

    • ICE
      Interactive Connectivity Establishment,是一个实现P2P连接的框架。由于Peer A与Peer B的直连需要绕过防火墙,如果设备没有公共IP,它会提供一个唯一的IP。如果路由器不支持直接与对等方连接,则需要通过服务器中继数据。ICE使用STUN和/或TURN完成此操作。
    • STUN
      Session Traversal Utilities for NAT,是一种协议,用于发现您的公共地址并确定路由器中任何会阻止与对等方直接连接的限制。客户端将向 Internet 上的 STUN 服务器发送请求,该服务器将回复客户端的公共地址以及客户端是否可以通过路由器的 NAT 访问。

    在这里插入图片描述

    • NAT
      Network Address Translation,用于为您的设备提供公共 IP 地址。路由器将有一个公共 IP 地址,连接到路由器的每个设备都将有一个私有 IP 地址。请求将从设备的私有 IP 转换为具有唯一端口的路由器的公共 IP。这样您就不需要为每台设备设置一个唯一的公共 IP,但仍然可以在 Internet 上被发现。
    • TURN
      Traversal Using Relays around NAT,一些使用 NAT 的路由器采用称为“对称 NAT”的限制。这意味着路由器将只接受来自您之前连接的对等方的连接。通过打开与 TURN 服务器的连接并通过该服务器中继所有信息来绕过对称 NAT 限制。终端将创建与 TURN 服务器的连接,并告诉所有对等方将数据包发送到服务器,然后将其转发给终端。这会带来一些开销,因此只有在没有其他选择的情况下才使用它。

    在这里插入图片描述

    数据示例

    offer:

    {
    	"from": "JX121110700032_APP",
    	"to": "JX121110700032_WEB",
    	"message": {
    		"data": {
    				"description": "v=0\r\no=- 578772191408603257 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE video\r\na=msid-semantic: WMS ARDAMS\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 98 100 127 97 99 101\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:9dh8\r\na=ice-pwd:+NzqON1cRjJfJ0Sdf9AP2hn5\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 32:2D:6D:0B:FF:96:01:88:40:4A:D4:7F:74:82:4D:54:B2:D6:BF:9F:C6:44:7E:75:91:50:85:B3:AB:4A:24:D1\r\na=setup:actpass\r\na=mid:video\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 urn:3gpp:video-orientation\r\na=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=sendrecv\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtpmap:100 red/90000\r\na=rtpmap:127 ulpfec/90000\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=100\r\na=ssrc-group:FID 2579110363 988490045\r\na=ssrc:2579110363 cname:XnDr/Jk7DTRP7WWu\r\na=ssrc:2579110363 msid:ARDAMS ARDAMSv0\r\na=ssrc:2579110363 mslabel:ARDAMS\r\na=ssrc:2579110363 label:ARDAMSv0\r\na=ssrc:988490045 cname:XnDr/Jk7DTRP7WWu\r\na=ssrc:988490045 msid:ARDAMS ARDAMSv0\r\na=ssrc:988490045 mslabel:ARDAMS\r\na=ssrc:988490045 label:ARDAMSv0\r\n",
    				"label": 0,
    				"type": "offer"
    		},
    		"type": "offer"
    	}
    }
    

    answer:

    {
    	"from": "JX121110700032_WEB",
    	"to": "JX121110700032_APP",
    	"message": {
    		"data": {
    				"description": "v=0\r\no=- 7563495410314281449 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE video\r\na=msid-semantic: WMS\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 98 100 127 97 99 101\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:2G/F\r\na=ice-pwd:oUee5+4N4Dzg3bXWOEtMGZIR\r\na=ice-options:trickle\r\na=fingerprint:sha-256 7F:A7:28:67:77:F2:F4:C3:54:69:E8:3C:61:1B:7F:C2:A4:D5:1E:38:DC:86:F5:CB:8A:24:B8:87:25:DE:E6:0A\r\na=setup:active\r\na=mid:video\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 urn:3gpp:video-orientation\r\na=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=recvonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=fmtp:98 profile-id=0\r\na=rtpmap:100 red/90000\r\na=rtpmap:127 ulpfec/90000\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=100\r\n",
    				"type": "answer"
    		},
    		"type": "answer"
    	}
    }
    

    candidate:

    {
    	"from": "JX121110700032_WEB",
    	"to": "JX121110700032_APP",
    	"message": {
    		"data": {
    				"candidate": "candidate:369914011 1 udp 2122260223 10.13.159.140 62792 typ host generation 0 ufrag 3y6A network-id 1 network-cost 10",
    				"label": 0,
    				"id": "video"
    		},
    		"type": "candidate"
    	}
    }
    

    应用实践

    架构图

    在这里插入图片描述

    模块说明

    MainActivity:App主页,通过Binder与录屏Service和悬浮Service通信

    录屏Service:是一个前台服务,用于实现录屏、socket通信、P2P连接,包含VideoCapture、WebSocket、Peer、多个RTC流程模块。

    悬浮Service:用于承载悬浮窗,app退出时,仍可悬浮于其他应用之上。

    P2P连接时序图

    在这里插入图片描述

    WebRTC的使用

    1. WebRTC配置
      gradle dependencies配置:
      implementation "org.java-websocket:Java-WebSocket:1.5.2"
      implementation files('libs/audio_device_java.jar')
      implementation files('libs/autobanh.jar')
      implementation files('libs/base_java.jar')
      implementation files('libs/libjingle_peerconnection.jar')
    

    混淆配置:

    -keep class org.webrtc.** { *; }
    

    权限配置:

    <uses-permission android:name="android.permission.INTERNET" />
    
    • WebRTC的使用
      客户端和服务端通信,采用WebSocket,wss协议。

    • 创建WebSocket

    	String host = "ws://ws.xx.com/server/xx";
        URI serverURI = URI.create(host);
        mWebSocketClient = new WebSocketClient(serverURI) {
            @Override public void onOpen(ServerHandshake handshakedata) {
                Log.d(TAG, "socket state connect");
            }
    
            @Override public void onMessage(String message) {
                Log.d(TAG, "web socket onMessage:" + message);
                try {
                    TestBean bean = new Gson().fromJson(message, TestBean.class);
                    if (bean != null && bean.message != null) {
                        if ("init".equals(bean.message.type)) {
                            Log.d(TAG, "初始化成功");
                            if (!mIsReady) {
                                mIsTerminalEnd = false;
                                mIsReady = true;
                                messageHandler.onMessage("ready", id, payload);
                            }
                        } else if ("answer".equals(bean.message.type)) {
                            Log.d("收到answer");
                            if (bean.message.data != null) {
                                JSONObject payload = new JSONObject();
                                payload.put("type", bean.message.data.type);
                                payload.put("description", bean.message.data.description);
                                messageHandler.onMessage("answer", id, payload);
                            }
                        } else if ("candidate".equals(bean.message.type)) {
                            Log.d("收到candidate");
                            if (bean.message.data != null) {
                                JSONObject payload = new JSONObject();
                                payload.put("id", bean.message.data.id);
                                payload.put("label", bean.message.data.label);
                                payload.put("candidate", bean.message.data.candidate);
                                messageHandler.onMessage("candidate", id, payload);
                            }
                        }
                    }
                } catch (Exception e) {
                    Log.e(TAG, "WebSocket连接异常:" + e.getLocalizedMessage());
                }
            }
    
            @Override public void onClose(int code, String reason, boolean remote) {
                Log.d(TAG, "web socket onClose code:" + code + " reason:" + reason + " remote:" + remote);
            }
    
            @Override public void onError(Exception ex) {
                Log.d(TAG, "web socket onError:" + ex.getLocalizedMessage());
            }
        };
        mWebSocketClient.connect();
    
    • 创建PeerConnectionFactory
    	PeerConnectionFactory.initializeAndroidGlobals(mContext, params.videoCodecHwAcceleration);
    	factory = new PeerConnectionFactory(null);
    
    • 初始化音视频
      WebScoket建立连接,接收到Web端连接成功的消息后,初始化本地音视频,并开始录屏。
    private void initScreenCaptureStream() {
            mLocalMediaStream = factory.createLocalMediaStream("ARDAMS");
            mVideoSource = factory.createVideoSource(videoCapturer);
            // 开始录屏
            videoCapturer.startCapture(mPeerConnParams.videoWidth, mPeerConnParams.videoHeight, mPeerConnParams.videoFps);
            // 添加VideoTrack
            mLocalMediaStream.addTrack(factory.createVideoTrack("ARDAMSv0", mVideoSource));
            // 添加AudioTrack
            //AudioSource audioSource = factory.createAudioSource(new MediaConstraints());
            //mLocalMediaStream.addTrack(factory.createAudioTrack("ARDAMSa0", audioSource));
        }
    
    • 创建DataChannel
      P2P连接建立后,两端通过DataChannel通信,不再依赖WebSocket。收到Web端连接成功的消息后,客户端创建Peer,并创建DataChannel。
    public Peer(String id, int endPoint) {
    	   Log.d(TAG, "new Peer: " + id + " " + endPoint);
    	   this.pc = factory.createPeerConnection(iceServers, mPeerConnConstraints, this);
    	   this.dataChannel = pc.createDataChannel("testDataChannel", new DataChannel.Init());
    	   this.dataChannel.registerObserver(dataObserver);
    	   this.id = id;
    	   this.endPoint = endPoint;
    	   pc.addStream(mLocalMediaStream); //, new MediaConstraints()
    }
    
    DataChannel.Observer dataObserver = new DataChannel.Observer() {
           @Override public void onBufferedAmountChange(long l) {
    
           }
    
           @Override public void onStateChange() {
           }
    
           @Override public void onMessage(DataChannel.Buffer buffer) {
               Charset charset = StandardCharsets.UTF_8;
               CharBuffer charBuffer = charset.decode(buffer.data);
               String data = charBuffer.toString();
    
               try {
                   JSONObject jsonObject = new JSONObject(data);
                   String type = jsonObject.optString("key");
                   String operate = jsonObject.optString("value");
                   // TODO 执行adb命令
                   ... ...
               } catch (JSONException e) {
                   e.printStackTrace();
               }
           }
       };
    

    业务指令

    建立P2P连接后,Web端的操作,通过DataChannel发送事件。客户端通过adb命令模拟点击、触屏、滑动事件。

    点击事件:

    示例:

    客户端响应:adb shell input keyevent 3

    触摸事件:

    示例:

    客户端响应:adb shell input tap 100 200

    滑动事件:

    示例:

    客户端响应:adb shell input swipe 100 200 300 200

    注:客户端执行adb命令,需系统签名,否则无权限。

    展开全文
  • 文本文件专用加密器永久注册版 文本文件加密器: 1、可以控制是否允许用户打印文档 2、可以控制是否允许客户复制文字,并可以精确控制允许复制的字符数 3、可以指定产品编号,以便用户可以管理个...9、可以防止拷
  • 金盾视频加密器支持各种视频的高速编码加密与高速解码播放;可以加密各种视频音频格式文件(wmv、avi、asf、mpg、rm、rmvb、mp4、flv等),加密后的文件可以通过离线方式授权播放,也可以通过网络方式授权播放;只...
  • js 发送参数加密As handy as email is for both personal and corporate communications, it's often not very secure. Your private data can be used by service providers for various purposes, such as ...

    js 发送参数加密

    As handy as email is for both personal and corporate communications, it's often not very secure. Your private data can be used by service providers for various purposes, such as targeted advertising, and is at a risk of being exposed to government agencies upon request.

    尽管电子邮件既可用于个人通信,也可用于企业通信,但它通常也不是很安全。 服务提供商可以将您的私人数据用于各种目的,例如有针对性的广告 ,并且有应要求暴露给政府机构的风险。

    Whether you're transmitting important documents such as confidential memos, patent designs, or even personal information, it's worth considering ways to better protect your privacy. One very interesting option is ProtonMail.

    无论您是要传输重要文档(例如机密备忘录,专利外观设计,甚至是个人信息),都应考虑采用各种方法来更好地保护您的隐私。 一个非常有趣的选项是ProtonMail

    ProtonMail Logo

    ProtonMail is a web-based, encrypted email service that was founded in 2013 at the CERN research facility. It's a free and open-source service, the code of which is available on GitHub.

    ProtonMail是基于网络的加密电子邮件服务,于2013年在CERN研究机构成立。 这是一项免费的开源服务,其代码可在GitHub上获得

    ProtonMail uses client-side encryption to establish a zero-knowledge system, in order to enforce strict data privacy and protection for its users.

    ProtonMail使用客户端加密来建立零知识系统,以便对其用户实施严格的数据保密和保护。

    ProtonMail的安全机制 (Security Mechanisms of ProtonMail)

    安全电子邮件服务器 (Secure Email Servers)

    The ProtonMail email servers are located in Switzerland, and your data is protected by the Swiss Federal Data Protection Act, as well as the Swiss Federal Data Protection Ordinance. These laws are some of the strongest privacy protection laws in the world.

    ProtonMail电子邮件服务器位于瑞士,您的数据受《瑞士联邦数据保护法》以及《瑞士联邦数据保护条例》的保护。 这些法律是世界上最强大的隐私保护法律。

    ProtonMail states:

    ProtonMail 指出

    As ProtonMail is outside of US and EU jurisdiction, only a court order from the Cantonal Court of Geneva or the Swiss Federal Supreme Court can compel us to release the extremely limited user information we have.

    由于ProtonMail不在美国和欧盟管辖范围内,因此只有日内瓦州法院或瑞士联邦最高法院的法院命令才能迫使我们发布我们拥有的极为有限的用户信息。

    In addition to this, ProtonMail ensures that your data stays on its servers, so that it is never exposed on the cloud. ProtonMail claims that its primary datacenter (which itself is guarded by multiple passwords on a system level) is located under 1000 meters of granite rock, in a heavily guarded bunker that can survive a nuclear attack. Apart from the fact that your data may survive a nuclear holocaust, this also ensures an extra layer of hardware security.

    除此之外,ProtonMail还可以确保您的数据保留在其服务器上,从而永远不会暴露在云中。 ProtonMail 声称其主要数据中心(本身由系统级别的多个密码保护)位于1000米高的花岗岩岩石中,该岩石处于一个受到严格保护的掩体中,可以幸免于核攻击。 除了您的数据可能遭受核大屠杀之外,这还确保了额外的硬件安全层。

    端到端加密 (End-to-end Encryption)

    ProtonMail uses SSL for communication between its servers and your computer. Although message data is already encrypted before being sent, SSL adds an extra layer of security, preventing man in the middle attacks. ProtonMail requires two passwords — one for signing in and one for decrypting your mailbox. The latter cannot be recovered if you forget it.

    ProtonMail使用SSL进行服务器与计算机之间的通信。 尽管消息数据在发送之前已经被加密,但SSL却增加了一层额外的安全保护,防止了中间人的攻击。 ProtonMail需要两个密码-一个用于登录,另一个用于解密邮箱。 如果忘记了后者,则无法恢复。

    匿名 (Anonymity)

    ProtonMail doesn't require any information that can be used to personally identify an account holder while signing up. Also, it doesn't track or record information such as the user's IP address. Since your emails are encrypted, there's no way even for the staff to read your emails.

    ProtonMail在注册时不需要任何可用于个人识别帐户持有人的信息。 此外,它不会跟踪或记录诸如用户IP地址之类的信息。 由于您的电子邮件是加密的,因此甚至员工也无法读取您的电子邮件。

    与其他电子邮件提供商的安全通信 (Secure Communication With Other Email Providers)

    Communication between ProtonMail users is encrypted by default, which is denoted by the presence of a blue-colored lock icon. In addition to this, ProtonMail also supports sending encrypted emails to other email providers such as Gmail, Yahoo and AOL via symmetric encryption. This is sent in the form of a hyperlink, which the recipient receives in an email. Here is a screenshot of the encrypted mail that I've sent from my ProtonMail account to Google Inbox:

    默认情况下,ProtonMail用户之间的通信是加密的,这由蓝色锁定图标表示。 除此之外,ProtonMail还支持通过对称加密将加密的电子邮件发送到其他电子邮件提供商,例如Gmail,Yahoo和AOL。 该消息以超链接的形式发送,收件人通过电子邮件接收该超链接。 这是我从ProtonMail帐户发送到Google收件箱的加密邮件的屏幕截图:

    The recipients are asked for a passphrase (to be shared via a secure channel) which is used to decrypt the encrypted message:

    要求收件人提供密码短语(将通过安全通道共享),该密码短语用于解密加密的消息:

    Upon correctly entering the passphrase, the message gets decrypted and is displayed as shown in the following screenshot:

    正确输入密码后,消息将被解密并显示,如以下屏幕截图所示:

    自毁电子邮件 (Self-destructing Emails)

    There's an additional feature that distinguishes this secure email service from its competitors. Encrypted emails can be set to automatically self-destruct in the recipient's mailbox after a certain amount of time. This feature only applies to the encrypted emails sent to the non-users of ProtonMail (regular emails sent to non-ProtonMail users cannot be marked for self-destruction).

    还有一个附加功能可将这种安全电子邮件服务与竞争对手区分开来。 可以将加密的电子邮件设置为在一定时间后自动在收件人的邮箱中自毁。 此功能仅适用于发送给ProtonMail非用户的加密电子邮件(发送给非ProtonMail用户的常规电子邮件无法标记为自毁)。

    产品演练 (Product Walkthrough)

    使用ProtonMail设置帐户 (Setting up an Account with ProtonMail)

    Currently, invitations have to be requested for setting up a new account at ProtonMail. The signup page says:

    当前,必须请求邀请才能在ProtonMail上设置新帐户。 注册页面显示:

    Due to high demand, we have hit our capacity limit. We are adding servers constantly and will send you an invitation as soon as possible.

    由于需求量大,我们已经达到了产能极限。 我们会不断添加服务器,并将尽快向您发送邀请。

    I got a reply to the invitation request within a week. It asked me to set up two passwords. One password was for logging in to the account. In case you forget this password, a password reset link can be sent to your alternative email. Then it asked me for a password for encrypting my mailbox. This password cannot be recovered if you lose it, so take care.

    我在一周内收到了对邀请请求的回复。 它要求我设置两个密码。 一个密码用于登录该帐户。 如果您忘记了此密码,可以将密码重置链接发送到您的备用电子邮件。 然后它要求我提供用于加密我的邮箱的密码。 如果丢失该密码,将无法恢复,请当心。

    Once you decrypt your mailbox and log in, you have a number for utilities available for jump starting your regular work. You can import your contact book to ProtonMail in either .vcf or .csv format. I was a Gmail user, so I was able to export my contact list via Google Contacts and import it to ProtonMail.

    解密邮箱并登录后,您将获得一些实用程序编号,可用于快速启动常规工作。 您可以将.vcf.csv格式的通讯录导入ProtonMail。 我是Gmail用户,因此可以通过Google通讯录导出我的联系人列表,并将其导入到ProtonMail中。

    In the settings section, you can set your signature as well as your display name via the Account Settings tab. The Security tab allows you to keep records of the Authentication Logs for your mailbox, so this helps you to monitor who has accessed your account and from which IP address. The Appearance tab helps you to tweak various options, including a field to set up a custom CSS theme for a tailored look.

    在设置部分中,您可以通过“帐户设置”标签设置签名和显示名称。 通过“安全性”选项卡,您可以保留邮箱身份验证日志的记录,因此这可以帮助您监视谁访问了您的帐户以及从哪个IP地址访问。 “外观”选项卡可帮助您调整各种选项,包括一个字段,用于为定制外观设置自定义CSS主题。

    新发展 (New Developments)

    On November 3rd, 2015, ProtonMail was hit by a very powerful DDOS attack that took the service offline for a few days.

    2015年11月3日,ProtonMail遭受了非常强大的DDOS攻击,该攻击使该服务离线了几天。

    ProtonMail recently started a GoFundMe crowdfunding campaign to raise $50,000 to help pay for systems to defend it against future attacks of large scale.

    ProtonMail最近启动了GoFundMe众筹活动,筹集了50,000美元,以帮助支付系统防御未来大规模攻击的费用。

    According to its Transparency Report (September, 2015), five out of five requests to access user data have been denied by ProtonMail. It was even featured in the highly popular television show, Mr. Robot (Season 1 Episode 8). ProtonMail is all set to launch its Android and iOS applications by the end of 2015, and invites for the beta versions of the mobile applications are available for $29 each.

    根据其透明度报告 (2015年9月),ProtonMail拒绝了五分之五的访问用户数据的请求。 它甚至出现在广受欢迎的电视节目《机器人先生》中(第1季第8集)。 ProtonMail都准备在2015年底前推出其Android和iOS应用程序,并邀请移动应用程序的Beta版以29美元的价格提供。

    结论 (Conclusion)

    ProtonMail has been widely appreciated in the popular media for its efforts to establish a secure, private and open-source messaging platform. I believe that end-to-end encrypted messaging services with open-source infrastructure like ProtonMail will form the basis of future professional communication systems.

    ProtonMail在建立安全,私有和开源消息传递平台方面所做的努力已在流行媒体中广受赞赏。 我相信,具有像ProtonMail这样的开源基础结构的端到端加密消息传递服务将构成未来专业通信系统的基础。

    Having said that, I feel that it's difficult for individual users to leave a familiar email ecosystem for a more secure one, and for the corporate users to shift from Google for Work. Let's see which side wins: Security/Privacy or Feature-Completeness/Familiarity.

    话虽如此,我觉得个人用户很难离开一个熟悉的电子邮件生态系统来获得更安全的环境,而企业用户则很难从Google for Work转移。 让我们看看哪一方胜出:安全性/隐私性或功能完善性/熟悉性。

    Have you used ProtonMail so far? If yes, will you continue to use your old email account? If no, what are your concerns for not switching to ProtonMail?

    到目前为止,您是否使用过ProtonMail? 如果是,您将继续使用旧的电子邮件帐户吗? 如果不是,您对不切换到ProtonMail有什么担心?

    翻译自: https://www.sitepoint.com/sending-secure-encrypted-email-with-protonmail/

    js 发送参数加密

    展开全文
  •  对3G移动通信系统的网络安全问题进行了探讨,国内开展的4G系统及工程的建设已经开始安全性改造的工程,此举具有特别重要的意义。  安全性问题自移动通信技术问世以来就已产生。第一代移动通信的模拟蜂窝移动通信...
  • ubuntu系统共享桌面的使用和配置

    千次阅读 2021-02-27 17:00:48
    内容转载自我的博客 ... 安装xrdp实现用户登录远程桌面 1. ubuntu共享桌面 在ubuntu桌面发行版打开屏幕共享功能,步骤如下: 设置-->共享-->屏幕共享 打开总开关 允许连接控制屏幕 需要密码(自己设置.
  • * 支持分区硬盘的模式共享,即可将特定分区设置为“开放共享”或者“加密共享”; * 支持屏幕上随意修改加密共享的密码; 使用方法 * 图文说明:http://bbs.modouwifi.cn/thread-8611-1-1.html 开发计划 * 更好地...
  • HMAC-based One-Time Password 简写,表示基于 HMAC 算法加密的一次性密码。是事件同步,通过某一特定的事件次序及相同的种子值作为输入,通过 HASH 算法运算出一致的密码。 1.3、TOTP Time-based One-Ti...
  • 金盾视频加密

    2014-01-07 22:52:05
     屏幕翻录一直是视频产品被盗版的最大威胁之一,China-DRM推出的智能防录功能可以有效避免视频被翻录盗版的危险,加密视频播放时会智能分析客户电脑内所有进程的动态行为和操作,在播放后的3-10分钟内即可做出...
  • 代理重加密
  • 飓风视频加密8.08版

    2014-07-19 10:11:41
    2、可以设置播放时断开网络,禁止用户通过远程共享或者远程翻录; 3、可以设置播放时禁止开启其他窗口,以便学员可以专心学习; 4、可以为视频部分增加水印; 5、可以指定是否可以提供免费试看试听 6、可以指定产品...
  • 1、金盾视频加密器 - 强调安全性,适合各种视频加密安全性高,经测试最高支持到1.5G视频文件加密安全性要求高的场合使用。 2、Video2exe V2010A型 - 强调安全性,适合各种视频加密安全性高,生成单一exe格式;...
  • 文件加密解密 免费工具
  • 功能强大安全性最好的视频加密工具。 支持各种视频的高速编码加密与高速解码播放,加密后的文件自带解码器和播放器;可以加密各种视频音频格式文件(wmv,avi,mpg,rm,rmvb,mp4,flv,vob等),加密后的文件可以通过离线...
  • 12.1 系统安全的基本概念 1.系统安全的内容 系统安全性包括三个方面的内容,即物理安全、逻辑安全安全管理。物理安全是指系统设备及相关设施受到物理保护,使之免遭破坏或丢失;安全管理包括各种安全管理的政策...
  • 基于新一代多媒体加密技术,更高安全性、支持WIN7;通过国内某安全组织三防一免认证: 防破解: 加密后的视频,用户无法绕过播放密码! 防提取: 加密后的视频用户无法提取到原始视频文件; 防劫持: 防止各种Dll...
  • 密码学与网络安全—知识点总结

    千次阅读 2021-12-23 16:33:34
    本文为期末考试后结合一些资料整理完成的,涵盖山东大学软件学院信息安全导论的课程主要内容,参考书为《密码编码学与网络安全》。我列居了80个名词概念,20道经典问答题。 先附上所有知识点的word版与pdf版,并...
  • 这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。前文分享了威胁情报分析,通过Python抓取FreeBuf网站“APT”主题的相关文章。这篇文章将...
  • ubuntu20.10设置桌面共享的三种方式

    万次阅读 2020-12-14 14:26:37
    关闭远程连接加密请求,否则提示"vnc连接提示不支持安全类型",关闭远程连接请求需安装dconf-editor软件包,安装好后在terminal中输入dconf-editor即可打开: # 安装dconf-editor sudo apt install dconf-editor 4....
  • 主要措施:数据加密保护机密性和完整性 开始标志:香农的《保密系统的信息理论》 2.信息安全的阶段 四个阶段:通信安全、计算机安全、信息安全、信息保障 3.信息系统安全保障蕴含: 生命周期、保障要素、安全特征 4....
  • 可以加密各种视频格式文件(wmv,avi,asf,mpg,rm,rmvb,mp4,flv,vob等),加密后的文件可以通过离线方式授权播放,也可以通过网络方式授权播放;支持500M以上大型视频文件的高效加密与解码播放; 1、可以进行...
  • 备考信息安全工程师的过程中整理的一些笔记,个人认为一些难记的和易混淆的知识点,很遗憾这次的考试我们这里因为疫情取消了,花了三个月时间准备却没能参加这次的考试,现在将这些笔记分享出来一起学习交流,因为事件...
  • 这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步。前面三篇文章详细分享了WannaCry勒索病毒,包括病毒复现、IDA和OD逆向分析蠕虫传播、...
  • 本文重点介绍了DSP集成的安全产品(安全技术能力)和差距分析,DSP是以数据安全为核心的保护方案,以数据发现和数据分类分级为基础,混合了多种技术来实现数据安全防护。例如:数据访问控制,数据脱敏,文件加密等,...
  • 网络安全教程(2)

    千次阅读 2022-03-15 14:29:12
    4-计算机病毒 4-1认识计算机病毒 4-1-1计算机病毒的概念 ...1983年11月,在国际计算机安全学术研讨会上,美国计算机专家首次将病毒程序在VAX/750计算机上进行了实验,世界上第一个计算机病毒就这样出生...
  • 【期末复习】网络空间安全导论

    千次阅读 2021-12-31 17:11:54
    1、TCP/IP安全结构各个层次可采取的安全措施: 网络空间安全体系结构: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2ZTYBA6d-1640941886524)...
  • 作为Web渗透的初学者,Linux基础知识和常用命令是我们的必备技能,本文详细讲解了Linux相关知识点及Web...安全领域通常分为网络安全(Web渗透)和系统安全(PWN逆向)两个方向。非常基础的一篇文章,希望能够帮助到您!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,826
精华内容 12,330
热门标签
关键字:

多屏共享 显示安全加密