125638cf4SSascha Wildner.\"- 225638cf4SSascha Wildner.\" Copyright (c) 2003 Sam Leffler, Errno Consulting 325638cf4SSascha Wildner.\" All rights reserved. 425638cf4SSascha Wildner.\" 525638cf4SSascha Wildner.\" Redistribution and use in source and binary forms, with or without 625638cf4SSascha Wildner.\" modification, are permitted provided that the following conditions 725638cf4SSascha Wildner.\" are met: 825638cf4SSascha Wildner.\" 1. Redistributions of source code must retain the above copyright 925638cf4SSascha Wildner.\" notice, this list of conditions and the following disclaimer. 1025638cf4SSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright 1125638cf4SSascha Wildner.\" notice, this list of conditions and the following disclaimer in the 1225638cf4SSascha Wildner.\" documentation and/or other materials provided with the distribution. 1325638cf4SSascha Wildner.\" 1425638cf4SSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1525638cf4SSascha Wildner.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1625638cf4SSascha Wildner.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1725638cf4SSascha Wildner.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 1825638cf4SSascha Wildner.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1925638cf4SSascha Wildner.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2025638cf4SSascha Wildner.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2125638cf4SSascha Wildner.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2225638cf4SSascha Wildner.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2325638cf4SSascha Wildner.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2425638cf4SSascha Wildner.\" SUCH DAMAGE. 2525638cf4SSascha Wildner.\" 2625638cf4SSascha Wildner.\" $FreeBSD: src/share/man/man4/safe.4,v 1.7 2006/04/01 10:56:36 brueffer Exp $ 2725638cf4SSascha Wildner.\" 28*755d70b8SSascha Wildner.Dd April 21, 2018 2925638cf4SSascha Wildner.Dt SAFE 4 3025638cf4SSascha Wildner.Os 3125638cf4SSascha Wildner.Sh NAME 3225638cf4SSascha Wildner.Nm safe 3325638cf4SSascha Wildner.Nd SafeNet crypto accelerator 3425638cf4SSascha Wildner.Sh SYNOPSIS 3525638cf4SSascha WildnerTo compile this driver into the kernel, 3625638cf4SSascha Wildnerplace the following lines in your 3725638cf4SSascha Wildnerkernel configuration file: 3825638cf4SSascha Wildner.Bd -ragged -offset indent 3925638cf4SSascha Wildner.Cd "device crypto" 4025638cf4SSascha Wildner.Cd "device cryptodev" 4125638cf4SSascha Wildner.Cd "device safe" 4225638cf4SSascha Wildner.Ed 4325638cf4SSascha Wildner.Pp 4425638cf4SSascha WildnerAlternatively, to load the driver as a 4525638cf4SSascha Wildnermodule at boot time, place the following line in 4625638cf4SSascha Wildner.Xr loader.conf 5 : 4725638cf4SSascha Wildner.Bd -literal -offset indent 4825638cf4SSascha Wildnersafe_load="YES" 4925638cf4SSascha Wildner.Ed 5025638cf4SSascha Wildner.Pp 5125638cf4SSascha Wildner.Nm sysctl Va hw.safe.debug 5225638cf4SSascha Wildner.Nm sysctl Va hw.safe.dump 5325638cf4SSascha Wildner.Nm sysctl Va hw.safe.rnginterval 5425638cf4SSascha Wildner.Nm sysctl Va hw.safe.rngbufsize 5525638cf4SSascha Wildner.Nm sysctl Va hw.safe.rngmaxalarm 5625638cf4SSascha Wildner.Sh DESCRIPTION 5725638cf4SSascha WildnerThe 5825638cf4SSascha Wildner.Nm 5925638cf4SSascha Wildnerdriver supports cards containing SafeNet crypto accelerator chips. 6025638cf4SSascha Wildner.Pp 6125638cf4SSascha WildnerThe 6225638cf4SSascha Wildner.Nm 6325638cf4SSascha Wildnerdriver registers itself to accelerate DES, Triple-DES, AES, MD5-HMAC, 6425638cf4SSascha WildnerSHA1-HMAC, and NULL operations for 6525638cf4SSascha Wildner.Xr crypto 4 . 6625638cf4SSascha Wildner.Pp 6725638cf4SSascha WildnerOn all models, the driver registers itself to provide random data to the 6825638cf4SSascha Wildner.Xr random 4 6925638cf4SSascha Wildnersubsystem. 7025638cf4SSascha WildnerPeriodically the driver will poll the hardware RNG and retrieve 7125638cf4SSascha Wildnerdata for use by the system. 7225638cf4SSascha WildnerIf the driver detects that the hardware RNG is resonating with any local 7325638cf4SSascha Wildnersignal, it will reset the oscillators that generate random data. 7425638cf4SSascha WildnerThree 7525638cf4SSascha Wildner.Xr sysctl 8 7625638cf4SSascha Wildnersettings control this procedure: 7725638cf4SSascha Wildner.Va hw.safe.rnginterval 7825638cf4SSascha Wildnerspecifies the time, in seconds, between polling operations, 7925638cf4SSascha Wildner.Va hw.safe.rngbufsize 8025638cf4SSascha Wildnerspecifies the number of 32-bit words to retrieve on each poll, 8125638cf4SSascha Wildnerand 8225638cf4SSascha Wildner.Va hw.safe.rngmaxalarm 8325638cf4SSascha Wildnerspecifies the threshold for resetting the oscillators. 8425638cf4SSascha Wildner.Pp 8525638cf4SSascha WildnerWhen the driver is compiled with 8625638cf4SSascha Wildner.Dv SAFE_DEBUG 8725638cf4SSascha Wildnerdefined, two 8825638cf4SSascha Wildner.Xr sysctl 8 8925638cf4SSascha Wildnervariables are provided for debugging purposes: 9025638cf4SSascha Wildner.Va hw.safe.debug 9125638cf4SSascha Wildnercan be set to a non-zero value to enable debugging messages to be sent 9225638cf4SSascha Wildnerto the console for each cryptographic operation, 9325638cf4SSascha Wildner.Va hw.safe.dump 9425638cf4SSascha Wildneris a write-only variable that can be used to force driver state to be sent 9525638cf4SSascha Wildnerto the console. 9625638cf4SSascha WildnerSet this variable to 9725638cf4SSascha Wildner.Dq Li ring 9825638cf4SSascha Wildnerto dump the current state of the descriptor ring, 9925638cf4SSascha Wildnerto 10025638cf4SSascha Wildner.Dq Li dma 10125638cf4SSascha Wildnerto dump the hardware DMA registers, 10225638cf4SSascha Wildneror 10325638cf4SSascha Wildnerto 10425638cf4SSascha Wildner.Dq Li int 10525638cf4SSascha Wildnerto dump the hardware interrupt registers. 10625638cf4SSascha Wildner.Sh HARDWARE 10725638cf4SSascha WildnerThe 10825638cf4SSascha Wildner.Nm 10925638cf4SSascha Wildnerdriver supports cards containing any of the following chips: 11025638cf4SSascha Wildner.Bl -tag -width "SafeNet 1141" -offset indent 11125638cf4SSascha Wildner.It SafeNet 1141 11225638cf4SSascha WildnerThe original chipset. 11325638cf4SSascha WildnerSupports DES, Triple-DES, AES, MD5, and SHA-1 11425638cf4SSascha Wildnersymmetric crypto operations, RNG, public key operations, and full IPsec 11525638cf4SSascha Wildnerpacket processing. 11625638cf4SSascha Wildner.It SafeNet 1741 11725638cf4SSascha WildnerA faster version of the 1141. 11825638cf4SSascha Wildner.El 11925638cf4SSascha Wildner.Sh SEE ALSO 12025638cf4SSascha Wildner.Xr crypt 3 , 12125638cf4SSascha Wildner.Xr crypto 4 , 12225638cf4SSascha Wildner.Xr intro 4 , 12325638cf4SSascha Wildner.Xr random 4 , 12425638cf4SSascha Wildner.Xr crypto 9 12525638cf4SSascha Wildner.Sh BUGS 12625638cf4SSascha WildnerPublic key support is not implemented. 127